import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../services/gemini_service.dart'; /// GeminiService のシングルトンプロバイダー /// /// アプリ全体で同一インスタンスを共有し、依存関係の注入を明示化する。 /// レート制限の状態(_lastApiCallTime)は GeminiService の static フィールドの /// ため、Provider を経由しなくても共有される。しかし Provider を通じて注入する /// ことで「誰が GeminiService を使うか」を追跡可能にし、将来の static 除去時に /// 安全にリファクタリングできる設計を維持する。 /// /// 使用例: /// ```dart /// final geminiService = ref.read(geminiServiceProvider); /// final result = await geminiService.analyzeSakeLabel(paths); /// ``` final geminiServiceProvider = Provider((ref) { return GeminiService(); });