diff --git a/lib/core/providers/app_providers.dart b/lib/core/providers/app_providers.dart index 3c53a35..ebe9aef 100644 --- a/lib/core/providers/app_providers.dart +++ b/lib/core/providers/app_providers.dart @@ -1201,10 +1201,8 @@ class SearchQuery extends _$SearchQuery { } // Server-side search provider for chats -final serverSearchProvider = FutureProvider.family, String>(( - ref, - query, -) async { +@riverpod +Future> serverSearch(Ref ref, String query) async { if (query.trim().isEmpty) { // Return empty list for empty query instead of all conversations return []; @@ -1312,7 +1310,7 @@ final serverSearchProvider = FutureProvider.family, String>(( )); }).toList(); } -}); +} final filteredConversationsProvider = Provider>((ref) { final conversations = ref.watch(conversationsProvider); @@ -1566,10 +1564,8 @@ Future> userFiles(Ref ref) async { } // File content provider -final fileContentProvider = FutureProvider.family(( - ref, - fileId, -) async { +@riverpod +Future fileContent(Ref ref, String fileId) async { // Protected: require authentication if (!ref.read(isAuthenticatedProvider2)) { DebugLogger.log('skip-unauthed', scope: 'files/content'); @@ -1589,7 +1585,7 @@ final fileContentProvider = FutureProvider.family(( ); throw Exception('Failed to load file content: $e'); } -}); +} // Knowledge Base providers @riverpod @@ -1611,30 +1607,31 @@ Future> knowledgeBases(Ref ref) async { } } -final knowledgeBaseItemsProvider = - FutureProvider.family, String>((ref, kbId) async { - // Protected: require authentication - if (!ref.read(isAuthenticatedProvider2)) { - DebugLogger.log('skip-unauthed', scope: 'knowledge/items'); - return []; - } - final api = ref.watch(apiServiceProvider); - if (api == null) return []; +@riverpod +Future> knowledgeBaseItems( + Ref ref, + String kbId, +) async { + // Protected: require authentication + if (!ref.read(isAuthenticatedProvider2)) { + DebugLogger.log('skip-unauthed', scope: 'knowledge/items'); + return []; + } + final api = ref.watch(apiServiceProvider); + if (api == null) return []; - try { - final itemsData = await api.getKnowledgeBaseItems(kbId); - return itemsData - .map((data) => KnowledgeBaseItem.fromJson(data)) - .toList(); - } catch (e) { - DebugLogger.error( - 'knowledge-items-failed', - scope: 'knowledge', - error: e, - ); - return []; - } - }); + try { + final itemsData = await api.getKnowledgeBaseItems(kbId); + return itemsData.map((data) => KnowledgeBaseItem.fromJson(data)).toList(); + } catch (e) { + DebugLogger.error( + 'knowledge-items-failed', + scope: 'knowledge', + error: e, + ); + return []; + } +} // Audio providers @riverpod