presentation/providers/providers library
Classes
- Chat
- ChatFamily
- See also Chat.
- ChatMessage
- ChatParams
- Parameters for identifying a chat session.
- ChatProvider
- See also Chat.
- ChatState
- CurriculumLevelsFamily
- See also curriculumLevels.
- CurriculumLevelsProvider
- See also curriculumLevels.
- DomainBySlugFamily
- Resolve a domain slug to its entity from the already-loaded domains list.
- DomainBySlugProvider
- Resolve a domain slug to its entity from the already-loaded domains list.
- DomainProgressFamily
- Map of topicId -> mastery level string for all topics in a domain.
- DomainProgressProvider
- Map of topicId -> mastery level string for all topics in a domain.
- MasteryOverridesFamily
- See also masteryOverrides.
- MasteryOverridesProvider
- See also masteryOverrides.
- ReadingQuestionsFamily
- Reading questions for active reading in the lesson viewer.
- ReadingQuestionsProvider
- Reading questions for active reading in the lesson viewer.
- RecommendedStep
- TopicChunksFamily
- See also topicChunks.
- TopicChunksProvider
- See also topicChunks.
- TopicIdsWithContentFamily
- See also topicIdsWithContent.
- TopicIdsWithContentProvider
- See also topicIdsWithContent.
- TopicNameFamily
- Resolve a topic's title by ID (used as fallback when title isn't passed via route).
- TopicNameProvider
- Resolve a topic's title by ID (used as fallback when title isn't passed via route).
- TopicNotesFamily
- See also topicNotes.
- TopicNotesProvider
- See also topicNotes.
- TopicProgressFamily
- Single topic progress (used by lesson viewer to show read state).
- TopicProgressProvider
- Single topic progress (used by lesson viewer to show read state).
- TopicTreeFamily
- See also topicTree.
- TopicTreeProvider
- See also topicTree.
Mixins
Constants
- chatProvider → const ChatFamily
- See also Chat.
- curriculumLevelsProvider → const CurriculumLevelsFamily
- See also curriculumLevels.
- domainBySlugProvider → const DomainBySlugFamily
- Resolve a domain slug to its entity from the already-loaded domains list.
- domainProgressProvider → const DomainProgressFamily
- Map of topicId -> mastery level string for all topics in a domain.
- masteryOverridesProvider → const MasteryOverridesFamily
- See also masteryOverrides.
- readingQuestionsProvider → const ReadingQuestionsFamily
- Reading questions for active reading in the lesson viewer.
- topicChunksProvider → const TopicChunksFamily
- See also topicChunks.
- topicIdsWithContentProvider → const TopicIdsWithContentFamily
- See also topicIdsWithContent.
- topicNameProvider → const TopicNameFamily
- Resolve a topic's title by ID (used as fallback when title isn't passed via route).
- topicNotesProvider → const TopicNotesFamily
- See also topicNotes.
- topicProgressProvider → const TopicProgressFamily
- Single topic progress (used by lesson viewer to show read state).
- topicTreeProvider → const TopicTreeFamily
- See also topicTree.
Properties
-
aiDatasourceProvider
→ Provider<
AiDatasource> -
The active AI datasource, based on the user's selected provider.
final
-
allProgressProvider
→ AutoDisposeFutureProvider<
List< UserTopicProgressModel> > -
All progress rows for the current user (used by progress dashboard).
final
-
chunkSyncServiceProvider
→ Provider<
ChunkSyncService?> -
See also chunkSyncService.
final
-
contentRetrieverProvider
→ Provider<
ContentRetriever> -
See also contentRetriever.
final
-
domainsProvider
→ AutoDisposeFutureProvider<
List< DomainEntity> > -
See also domains.
final
-
dueCardsProvider
→ AutoDisposeFutureProvider<
List< ReviewCard> > -
See also dueCards.
final
-
goalsProvider
→ AutoDisposeFutureProvider<
List< LearningGoal> > -
See also goals.
final
-
googleAuthServiceProvider
→ Provider<
GoogleAuthService> -
See also googleAuthService.
final
-
localEmbeddingProvider
→ Provider<
LocalEmbeddingDatasource?> -
See also localEmbedding.
final
-
localVectorStoreProvider
→ Provider<
LocalVectorStore?> -
See also localVectorStore.
final
-
myCurriculumDomainsProvider
→ AutoDisposeFutureProvider<
List< DomainEntity> > -
Domains the user has personal access to: owned + shared + assigned
(via curriculum_assignments). Does NOT include public-visibility domains
the user hasn't engaged with. Used by progress-focused screens (home
card, progress dashboard, domain browse) so "no curriculum" means
"no domains shown".
final
-
myDomainsProvider
→ AutoDisposeFutureProvider<
List< DomainEntity> > -
See also myDomains.
final
-
nextReviewDateProvider
→ AutoDisposeFutureProvider<
DateTime?> -
See also nextReviewDate.
final
-
notesCountProvider
→ AutoDisposeFutureProvider<
int> -
See also notesCount.
final
-
openAiAuthServiceProvider
→ Provider<
OpenAiAuthService> -
Auth service providers for OAuth-based AI providers.
final
-
preferredVariantsProvider
→ AutoDisposeFutureProvider<
Map< String, String> > -
Preferred curriculum variant per domain family, persisted in profiles.settings.
final
-
recentSessionsProvider
→ AutoDisposeFutureProvider<
List< LearningSession> > -
See also recentSessions.
final
-
recommendedNextStepProvider
→ AutoDisposeFutureProvider<
RecommendedStep?> -
See also recommendedNextStep.
final
-
secureStorageProvider
→ Provider<
FlutterSecureStorage> -
See also secureStorage.
final
-
selectedAiProviderProvider
→ AutoDisposeFutureProvider<
AiProvider> -
Which AI provider the user has selected (persisted in secure storage).
final
-
See also sharedWithMe.
final
-
supabaseDatasourceProvider
→ Provider<
SupabaseDatasource> Providers -
Root SupabaseDatasource singleton. Every screen/provider that reads
Supabase data watches this provider — it's the one-and-only instance
wired to
Supabase.instance.client. Kept alive for the app lifetime.final -
totalCardCountProvider
→ AutoDisposeFutureProvider<
int> -
See also totalCardCount.
final
-
useAiProxyProvider
→ AutoDisposeFutureProvider<
bool> -
Whether the AI proxy is enabled (routes calls through Supabase Edge Function).
final
-
userNotesProvider
→ AutoDisposeFutureProvider<
List< UserNote> > -
See also userNotes.
final
-
userPersonaProvider
→ AutoDisposeFutureProvider<
String?> -
User persona ('solo' or 'team_lead'), persisted in profiles.settings.
Null means the user hasn't chosen yet (triggers persona selection).
final
Functions
-
aiDatasource(
Ref< Object?> ref) → AiDatasource - The active AI datasource, based on the user's selected provider.
-
allProgress(
Ref< Object?> ref) → Future<List< UserTopicProgressModel> > - All progress rows for the current user (used by progress dashboard).
-
chunkSyncService(
Ref< Object?> ref) → ChunkSyncService? -
contentRetriever(
Ref< Object?> ref) → ContentRetriever -
curriculumLevels(
Ref< Object?> ref, String domainId) → Future<List< CurriculumLevel> > -
domainBySlug(
Ref< Object?> ref, String slug) → DomainEntity? - Resolve a domain slug to its entity from the already-loaded domains list.
-
domainProgress(
Ref< Object?> ref, String domainId) → Future<Map< String, String> > - Map of topicId -> mastery level string for all topics in a domain.
-
domains(
Ref< Object?> ref) → Future<List< DomainEntity> > -
dueCards(
Ref< Object?> ref) → Future<List< ReviewCard> > -
getProviderCredential(
Ref< Object?> ref, AiProvider provider) → Future<String?> - Read the user's credential for the given provider. API key for Claude, OAuth access token for OpenAI/Gemini.
-
goals(
Ref< Object?> ref) → Future<List< LearningGoal> > -
googleAuthService(
Ref< Object?> ref) → GoogleAuthService -
localEmbedding(
Ref< Object?> ref) → LocalEmbeddingDatasource? -
localVectorStore(
Ref< Object?> ref) → LocalVectorStore? -
masteryOverrides(
Ref< Object?> ref, String? topicId) → Future<List< MasteryOverride> > -
myCurriculumDomains(
Ref< Object?> ref) → Future<List< DomainEntity> > - Domains the user has personal access to: owned + shared + assigned (via curriculum_assignments). Does NOT include public-visibility domains the user hasn't engaged with. Used by progress-focused screens (home card, progress dashboard, domain browse) so "no curriculum" means "no domains shown".
-
myDomains(
Ref< Object?> ref) → Future<List< DomainEntity> > -
nextReviewDate(
Ref< Object?> ref) → Future<DateTime?> -
notesCount(
Ref< Object?> ref) → Future<int> -
openAiAuthService(
Ref< Object?> ref) → OpenAiAuthService - Auth service providers for OAuth-based AI providers.
-
preferredVariants(
Ref< Object?> ref) → Future<Map< String, String> > - Preferred curriculum variant per domain family, persisted in profiles.settings.
-
readingQuestions(
Ref< Object?> ref, String topicId) → Future<List< ReadingQuestion> > - Reading questions for active reading in the lesson viewer.
-
recentSessions(
Ref< Object?> ref) → Future<List< LearningSession> > -
recommendedNextStep(
Ref< Object?> ref) → Future<RecommendedStep?> -
secureStorage(
Ref< Object?> ref) → FlutterSecureStorage -
selectedAiProvider(
Ref< Object?> ref) → Future<AiProvider> - Which AI provider the user has selected (persisted in secure storage).
-
supabaseDatasource(
Ref< ProvidersObject?> ref) → SupabaseDatasource -
Root SupabaseDatasource singleton. Every screen/provider that reads
Supabase data watches this provider — it's the one-and-only instance
wired to
Supabase.instance.client. Kept alive for the app lifetime. -
topicChunks(
Ref< Object?> ref, String topicId) → Future<List< ContentChunk> > -
topicIdsWithContent(
Ref< Object?> ref, String domainId) → Future<Set< String> > -
topicName(
Ref< Object?> ref, String topicId) → Future<String?> - Resolve a topic's title by ID (used as fallback when title isn't passed via route).
-
topicNotes(
Ref< Object?> ref, String topicId) → Future<List< UserNote> > -
topicProgress(
Ref< Object?> ref, String topicId) → Future<UserTopicProgressModel?> - Single topic progress (used by lesson viewer to show read state).
-
topicTree(
Ref< Object?> ref, String domainId) → Future<List< Topic> > -
totalCardCount(
Ref< Object?> ref) → Future<int> -
useAiProxy(
Ref< Object?> ref) → Future<bool> - Whether the AI proxy is enabled (routes calls through Supabase Edge Function).
-
userNotes(
Ref< Object?> ref) → Future<List< UserNote> > -
userPersona(
Ref< Object?> ref) → Future<String?> - User persona ('solo' or 'team_lead'), persisted in profiles.settings. Null means the user hasn't chosen yet (triggers persona selection).
Typedefs
-
AiDatasourceRef
= ProviderRef<
AiDatasource> -
AllProgressRef
= AutoDisposeFutureProviderRef<
List< UserTopicProgressModel> > -
ChunkSyncServiceRef
= ProviderRef<
ChunkSyncService?> -
ContentRetrieverRef
= ProviderRef<
ContentRetriever> -
DomainsRef
= AutoDisposeFutureProviderRef<
List< DomainEntity> > -
DueCardsRef
= AutoDisposeFutureProviderRef<
List< ReviewCard> > -
GoalsRef
= AutoDisposeFutureProviderRef<
List< LearningGoal> > -
GoogleAuthServiceRef
= ProviderRef<
GoogleAuthService> -
LocalEmbeddingRef
= ProviderRef<
LocalEmbeddingDatasource?> -
LocalVectorStoreRef
= ProviderRef<
LocalVectorStore?> -
MyCurriculumDomainsRef
= AutoDisposeFutureProviderRef<
List< DomainEntity> > -
MyDomainsRef
= AutoDisposeFutureProviderRef<
List< DomainEntity> > -
NextReviewDateRef
= AutoDisposeFutureProviderRef<
DateTime?> -
NotesCountRef
= AutoDisposeFutureProviderRef<
int> -
OpenAiAuthServiceRef
= ProviderRef<
OpenAiAuthService> -
PreferredVariantsRef
= AutoDisposeFutureProviderRef<
Map< String, String> > -
RecentSessionsRef
= AutoDisposeFutureProviderRef<
List< LearningSession> > -
RecommendedNextStepRef
= AutoDisposeFutureProviderRef<
RecommendedStep?> -
SecureStorageRef
= ProviderRef<
FlutterSecureStorage> -
SelectedAiProviderRef
= AutoDisposeFutureProviderRef<
AiProvider> -
SupabaseDatasourceRef
= ProviderRef<
SupabaseDatasource> -
TotalCardCountRef
= AutoDisposeFutureProviderRef<
int> -
UseAiProxyRef
= AutoDisposeFutureProviderRef<
bool> -
UserNotesRef
= AutoDisposeFutureProviderRef<
List< UserNote> > -
UserPersonaRef
= AutoDisposeFutureProviderRef<
String?>