@speakableio/core 1.0.18 → 1.0.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,5 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import React from 'react';
3
- import * as _tanstack_react_query from '@tanstack/react-query';
4
- import { QueryClient } from '@tanstack/react-query';
5
1
  import { FirebaseFirestoreTypes, Timestamp } from '@react-native-firebase/firestore';
6
- import { Firestore, getDoc, getDocs, addDoc, setDoc, updateDoc, deleteDoc, runTransaction, writeBatch, doc, collection, query, serverTimestamp, orderBy, limit, startAt, startAfter, endAt, endBefore, where, increment, Timestamp as Timestamp$1, FieldValue } from 'firebase/firestore';
2
+ import { Firestore, getDoc, getDocs, addDoc, setDoc, updateDoc, deleteDoc, runTransaction, writeBatch, doc, collection, query, serverTimestamp, orderBy, limit, startAt, startAfter, endAt, endBefore, where, increment, Timestamp as Timestamp$1 } from 'firebase/firestore';
7
3
 
8
4
  type FirebaseInstance = FirebaseFirestoreTypes.Module | Firestore;
9
5
  interface FirestoreHelpers {
@@ -31,45 +27,6 @@ interface FirestoreHelpers {
31
27
  type CustomTimestamp = Timestamp | Timestamp$1;
32
28
  type CallableFunction<T = any, R = any> = (data: T) => Promise<R>;
33
29
 
34
- declare enum FeedbackTypesCard {
35
- SuggestedResponse = "suggested_response",
36
- Wida = "wida",
37
- GrammarInsights = "grammar_insights",
38
- Actfl = "actfl",
39
- ProficiencyLevel = "proficiency_level"
40
- }
41
- declare enum LeniencyCard {
42
- CONFIDENCE = "confidence",
43
- EASY = "easy",
44
- NORMAL = "normal",
45
- HARD = "hard"
46
- }
47
- declare const LENIENCY_OPTIONS: {
48
- label: string;
49
- value: LeniencyCard;
50
- }[];
51
- declare const STUDENT_LEVELS_OPTIONS: {
52
- label: string;
53
- description: string;
54
- value: string;
55
- }[];
56
- declare const BASE_RESPOND_FIELD_VALUES: {
57
- title: string;
58
- allowRetries: boolean;
59
- respondTime: number;
60
- maxCharacters: number;
61
- };
62
- declare const BASE_REPEAT_FIELD_VALUES: {
63
- repeat: number;
64
- };
65
- declare const BASE_MULTIPLE_CHOICE_FIELD_VALUES: {
66
- MCQType: string;
67
- answer: string[];
68
- choices: {
69
- option: string;
70
- value: string;
71
- }[];
72
- };
73
30
  declare enum VerificationCardStatus {
74
31
  VERIFIED = "VERIFIED",
75
32
  WARNING = "WARNING",
@@ -77,16 +34,7 @@ declare enum VerificationCardStatus {
77
34
  NOT_WORKING = "NOT_WORKING",
78
35
  NOT_CHECKED = "NOT_CHECKED"
79
36
  }
80
- declare const CARDS_COLLECTION = "flashcards";
81
- type RefsCardsFiresotre = `${typeof CARDS_COLLECTION}/${string}`;
82
- declare const refsCardsFiresotre: {
83
- allCards: string;
84
- card: (id: string) => `flashcards/${string}`;
85
- };
86
37
 
87
- interface PageActivityWithId extends PageActivity {
88
- id: string;
89
- }
90
38
  interface PageActivity {
91
39
  owners: string[];
92
40
  checked?: boolean;
@@ -164,428 +112,6 @@ declare const enum ActivityPageType {
164
112
  MEDIA_PAGE = "MEDIA_PAGE",
165
113
  SHORT_ANSWER = "SHORT_ANSWER"
166
114
  }
167
- declare const RESPOND_PAGE_ACTIVITY_TYPES: ActivityPageType[];
168
- declare const MULTIPLE_CHOICE_PAGE_ACTIVITY_TYPES: ActivityPageType[];
169
- declare const REPEAT_PAGE_ACTIVITY_TYPES: ActivityPageType[];
170
- declare const RESPOND_WRITE_PAGE_ACTIVITY_TYPES: ActivityPageType[];
171
- declare const RESPOND_AUDIO_PAGE_ACTIVITY_TYPES: ActivityPageType[];
172
-
173
- declare const cardsQueryKeys: {
174
- all: string[];
175
- one: (params: {
176
- cardId: string;
177
- }) => string[];
178
- };
179
- declare function useCards({ cardIds, enabled, asObject, }: {
180
- cardIds: string[];
181
- enabled: boolean;
182
- asObject?: boolean;
183
- }): {
184
- cards: PageActivityWithId[];
185
- cardsObject: Record<string, PageActivityWithId> | null;
186
- cardsQueries: _tanstack_react_query.UseQueryResult<{
187
- type: ActivityPageType;
188
- id: string;
189
- owners: string[];
190
- checked?: boolean;
191
- completed?: boolean;
192
- media_area_id?: string | null;
193
- media_area_layout?: "left" | "right" | null;
194
- score?: number;
195
- verificationStatus?: VerificationCardStatus;
196
- native_text?: string;
197
- repeat?: number;
198
- language?: string | null;
199
- image?: {
200
- path?: string | null;
201
- url?: string;
202
- };
203
- audio?: {
204
- path?: string | null;
205
- url?: string;
206
- } | null;
207
- notes?: string;
208
- difficulty?: string;
209
- default_language?: string;
210
- target_text?: string;
211
- grading_criteria?: string;
212
- scoring_type?: string;
213
- grading_method?: "simple" | "rubric" | "manual" | "standards_based";
214
- feedback_types?: string[];
215
- rubricId?: string;
216
- prompt?: string;
217
- title?: string;
218
- passing_score?: number;
219
- maxCharacters?: number;
220
- answer?: string[];
221
- choices?: {
222
- value: string;
223
- option: string;
224
- }[];
225
- MCQType?: string;
226
- multipleAttemptsAllowed?: boolean;
227
- allowRetries?: boolean;
228
- question?: string;
229
- respondTime?: number;
230
- hidePrompt?: boolean;
231
- videoUrl?: string;
232
- link?: string;
233
- text?: string;
234
- isListenAloud?: boolean;
235
- embedCode?: string;
236
- attempt?: number;
237
- correct?: number;
238
- autoGrade?: boolean;
239
- points?: number;
240
- shuffle?: boolean;
241
- translation?: string;
242
- includeAIContext?: boolean;
243
- media_area_context_ref?: string | null;
244
- standardId?: string;
245
- target_proficiency_level?: string;
246
- allowTTS?: boolean;
247
- feedback_language?: string | null;
248
- correct_answer?: string | null;
249
- limit_attempts?: boolean;
250
- max_attempts?: number;
251
- rich_text?: string;
252
- } | null, Error>[];
253
- };
254
- declare function useCreateCard(): {
255
- mutationCreateCard: _tanstack_react_query.UseMutationResult<{
256
- id: string;
257
- } & Partial<PageActivity>, Error, {
258
- data: Partial<PageActivity>;
259
- }, unknown>;
260
- };
261
- declare function useCreateCards(): {
262
- mutationCreateCards: _tanstack_react_query.UseMutationResult<{
263
- id: string;
264
- owners: string[];
265
- checked?: boolean;
266
- completed?: boolean;
267
- media_area_id?: string | null;
268
- media_area_layout?: "left" | "right" | null;
269
- score?: number;
270
- verificationStatus?: VerificationCardStatus;
271
- native_text?: string;
272
- repeat?: number;
273
- language?: string | null;
274
- image?: {
275
- path?: string | null;
276
- url?: string;
277
- };
278
- audio?: {
279
- path?: string | null;
280
- url?: string;
281
- } | null;
282
- notes?: string;
283
- difficulty?: string;
284
- default_language?: string;
285
- target_text?: string;
286
- type: ActivityPageType;
287
- grading_criteria?: string;
288
- scoring_type?: string;
289
- grading_method?: "simple" | "rubric" | "manual" | "standards_based";
290
- feedback_types?: string[];
291
- rubricId?: string;
292
- prompt?: string;
293
- title?: string;
294
- passing_score?: number;
295
- maxCharacters?: number;
296
- answer?: string[];
297
- choices?: {
298
- value: string;
299
- option: string;
300
- }[];
301
- MCQType?: string;
302
- multipleAttemptsAllowed?: boolean;
303
- allowRetries?: boolean;
304
- question?: string;
305
- respondTime?: number;
306
- hidePrompt?: boolean;
307
- videoUrl?: string;
308
- link?: string;
309
- text?: string;
310
- isListenAloud?: boolean;
311
- embedCode?: string;
312
- attempt?: number;
313
- correct?: number;
314
- autoGrade?: boolean;
315
- points?: number;
316
- shuffle?: boolean;
317
- translation?: string;
318
- includeAIContext?: boolean;
319
- media_area_context_ref?: string | null;
320
- standardId?: string;
321
- target_proficiency_level?: string;
322
- allowTTS?: boolean;
323
- feedback_language?: string | null;
324
- correct_answer?: string | null;
325
- limit_attempts?: boolean;
326
- max_attempts?: number;
327
- rich_text?: string;
328
- }[], Error, {
329
- cards: PageActivity[];
330
- }, unknown>;
331
- };
332
- declare function getCardFromCache({ cardId, queryClient, }: {
333
- cardId: string;
334
- queryClient: QueryClient;
335
- }): PageActivityWithId | undefined;
336
- declare function updateCardInCache({ cardId, card, queryClient, }: {
337
- cardId: string;
338
- card: PageActivityWithId | null;
339
- queryClient: QueryClient;
340
- }): void;
341
- declare function useGetCard({ cardId, enabled }: {
342
- cardId: string;
343
- enabled?: boolean;
344
- }): _tanstack_react_query.UseQueryResult<{
345
- type: ActivityPageType;
346
- id: string;
347
- owners: string[];
348
- checked?: boolean;
349
- completed?: boolean;
350
- media_area_id?: string | null;
351
- media_area_layout?: "left" | "right" | null;
352
- score?: number;
353
- verificationStatus?: VerificationCardStatus;
354
- native_text?: string;
355
- repeat?: number;
356
- language?: string | null;
357
- image?: {
358
- path?: string | null;
359
- url?: string;
360
- };
361
- audio?: {
362
- path?: string | null;
363
- url?: string;
364
- } | null;
365
- notes?: string;
366
- difficulty?: string;
367
- default_language?: string;
368
- target_text?: string;
369
- grading_criteria?: string;
370
- scoring_type?: string;
371
- grading_method?: "simple" | "rubric" | "manual" | "standards_based";
372
- feedback_types?: string[];
373
- rubricId?: string;
374
- prompt?: string;
375
- title?: string;
376
- passing_score?: number;
377
- maxCharacters?: number;
378
- answer?: string[];
379
- choices?: {
380
- value: string;
381
- option: string;
382
- }[];
383
- MCQType?: string;
384
- multipleAttemptsAllowed?: boolean;
385
- allowRetries?: boolean;
386
- question?: string;
387
- respondTime?: number;
388
- hidePrompt?: boolean;
389
- videoUrl?: string;
390
- link?: string;
391
- text?: string;
392
- isListenAloud?: boolean;
393
- embedCode?: string;
394
- attempt?: number;
395
- correct?: number;
396
- autoGrade?: boolean;
397
- points?: number;
398
- shuffle?: boolean;
399
- translation?: string;
400
- includeAIContext?: boolean;
401
- media_area_context_ref?: string | null;
402
- standardId?: string;
403
- target_proficiency_level?: string;
404
- allowTTS?: boolean;
405
- feedback_language?: string | null;
406
- correct_answer?: string | null;
407
- limit_attempts?: boolean;
408
- max_attempts?: number;
409
- rich_text?: string;
410
- } | null, Error>;
411
-
412
- declare const createCardRepo: () => {
413
- createCard: (args_0: {
414
- data: Partial<PageActivity>;
415
- }) => Promise<{
416
- id: string;
417
- } & Partial<PageActivity>>;
418
- createCards: (args_0: {
419
- cards: PageActivity[];
420
- }) => Promise<{
421
- id: string;
422
- owners: string[];
423
- checked?: boolean;
424
- completed?: boolean;
425
- media_area_id?: string | null;
426
- media_area_layout?: "left" | "right" | null;
427
- score?: number;
428
- verificationStatus?: VerificationCardStatus;
429
- native_text?: string;
430
- repeat?: number;
431
- language?: string | null;
432
- image?: {
433
- path?: string | null;
434
- url?: string;
435
- };
436
- audio?: {
437
- path?: string | null;
438
- url?: string;
439
- } | null;
440
- notes?: string;
441
- difficulty?: string;
442
- default_language?: string;
443
- target_text?: string;
444
- type: ActivityPageType;
445
- grading_criteria?: string;
446
- scoring_type?: string;
447
- grading_method?: "simple" | "rubric" | "manual" | "standards_based";
448
- feedback_types?: string[];
449
- rubricId?: string;
450
- prompt?: string;
451
- title?: string;
452
- passing_score?: number;
453
- maxCharacters?: number;
454
- answer?: string[];
455
- choices?: {
456
- value: string;
457
- option: string;
458
- }[];
459
- MCQType?: string;
460
- multipleAttemptsAllowed?: boolean;
461
- allowRetries?: boolean;
462
- question?: string;
463
- respondTime?: number;
464
- hidePrompt?: boolean;
465
- videoUrl?: string;
466
- link?: string;
467
- text?: string;
468
- isListenAloud?: boolean;
469
- embedCode?: string;
470
- attempt?: number;
471
- correct?: number;
472
- autoGrade?: boolean;
473
- points?: number;
474
- shuffle?: boolean;
475
- translation?: string;
476
- includeAIContext?: boolean;
477
- media_area_context_ref?: string | null;
478
- standardId?: string;
479
- target_proficiency_level?: string;
480
- allowTTS?: boolean;
481
- feedback_language?: string | null;
482
- correct_answer?: string | null;
483
- limit_attempts?: boolean;
484
- max_attempts?: number;
485
- rich_text?: string;
486
- }[]>;
487
- getCard: (params: {
488
- cardId: string;
489
- }) => Promise<{
490
- type: ActivityPageType;
491
- id: string;
492
- owners: string[];
493
- checked?: boolean;
494
- completed?: boolean;
495
- media_area_id?: string | null;
496
- media_area_layout?: "left" | "right" | null;
497
- score?: number;
498
- verificationStatus?: VerificationCardStatus;
499
- native_text?: string;
500
- repeat?: number;
501
- language?: string | null;
502
- image?: {
503
- path?: string | null;
504
- url?: string;
505
- };
506
- audio?: {
507
- path?: string | null;
508
- url?: string;
509
- } | null;
510
- notes?: string;
511
- difficulty?: string;
512
- default_language?: string;
513
- target_text?: string;
514
- grading_criteria?: string;
515
- scoring_type?: string;
516
- grading_method?: "simple" | "rubric" | "manual" | "standards_based";
517
- feedback_types?: string[];
518
- rubricId?: string;
519
- prompt?: string;
520
- title?: string;
521
- passing_score?: number;
522
- maxCharacters?: number;
523
- answer?: string[];
524
- choices?: {
525
- value: string;
526
- option: string;
527
- }[];
528
- MCQType?: string;
529
- multipleAttemptsAllowed?: boolean;
530
- allowRetries?: boolean;
531
- question?: string;
532
- respondTime?: number;
533
- hidePrompt?: boolean;
534
- videoUrl?: string;
535
- link?: string;
536
- text?: string;
537
- isListenAloud?: boolean;
538
- embedCode?: string;
539
- attempt?: number;
540
- correct?: number;
541
- autoGrade?: boolean;
542
- points?: number;
543
- shuffle?: boolean;
544
- translation?: string;
545
- includeAIContext?: boolean;
546
- media_area_context_ref?: string | null;
547
- standardId?: string;
548
- target_proficiency_level?: string;
549
- allowTTS?: boolean;
550
- feedback_language?: string | null;
551
- correct_answer?: string | null;
552
- limit_attempts?: boolean;
553
- max_attempts?: number;
554
- rich_text?: string;
555
- } | null>;
556
- };
557
-
558
- declare function checkIsRepeatPage(cardType: ActivityPageType | undefined): boolean;
559
- declare function checkIsMCPage(cardType: ActivityPageType | undefined): boolean;
560
- declare function checkIsRespondPage(cardType: ActivityPageType | undefined): boolean;
561
- declare function checkIsRespondWrittenPage(cardType: ActivityPageType | undefined): boolean;
562
- declare function checkIsRespondAudioPage(cardType: ActivityPageType | undefined): boolean;
563
- declare const checkIsMediaPage: (cardType: ActivityPageType | undefined) => boolean;
564
- declare const checkIsShortAnswerPage: (cardType: ActivityPageType | undefined) => boolean;
565
- declare const checkTypePageActivity: (cardType: ActivityPageType | undefined) => {
566
- isRespondAudio: boolean;
567
- isRespondWritten: boolean;
568
- isRespond: boolean;
569
- isMC: boolean;
570
- isRepeat: boolean;
571
- isMediaPage: boolean;
572
- isShortAnswer: boolean;
573
- hasSomeType: boolean;
574
- };
575
-
576
- declare function getPagePrompt(card: PageActivityWithId | undefined): {
577
- has: boolean;
578
- text: string;
579
- rich_text: string;
580
- isTextEqualToRichText: boolean;
581
- };
582
-
583
- declare const getTotalCompletedCards: (pageScores: Score["cards"] | undefined) => number;
584
-
585
- declare const getLabelPage: (pageType: ActivityPageType | undefined) => {
586
- short: string;
587
- long: string;
588
- };
589
115
 
590
116
  interface Assignment {
591
117
  name: string;
@@ -633,151 +159,11 @@ interface Assignment {
633
159
  chat_experience?: boolean;
634
160
  showScores?: boolean;
635
161
  }
636
- type AssignmentAnalyticsType$1 = 'macro' | 'gradebook' | 'cards' | 'student' | 'student_summary';
637
162
  interface AssignmentWithId extends Assignment {
638
163
  id: string;
639
164
  isAvailable: boolean;
640
165
  scores?: unknown;
641
166
  }
642
- interface Score {
643
- userId: string;
644
- owners: string[];
645
- progress: number;
646
- score: number;
647
- cards?: {
648
- [cardId: string]: PageScore;
649
- };
650
- courseId?: string;
651
- firstLoad?: boolean;
652
- googleClassroomUserId?: string;
653
- skippedCards?: number;
654
- lastPlayed?: CustomTimestamp;
655
- startDate?: CustomTimestamp;
656
- submissionDate?: CustomTimestamp;
657
- status?: 'SUBMITTED' | 'PENDING_REVIEW' | 'IN_PROGRESS' | 'FINALIZED';
658
- submitted?: boolean;
659
- successfulCards?: number;
660
- total_voiceSuccess?: number;
661
- total_voice_attempts?: number;
662
- total_words_spoken?: number;
663
- history?: PageScore[];
664
- attempts?: number;
665
- assignmentId?: string;
666
- setId?: string;
667
- score_is_overridden?: boolean;
668
- reviewed?: boolean;
669
- triage?: {
670
- version?: string;
671
- improvements?: string[];
672
- reasons?: string[];
673
- updatedAt?: CustomTimestamp;
674
- confidence?: number;
675
- category?: 'excellent' | 'doing_ok' | 'needs_attention' | 'unknown';
676
- by?: string;
677
- summary?: string;
678
- strengths?: string[];
679
- };
680
- }
681
- interface ScoreWithId extends Score {
682
- id: string;
683
- }
684
- interface PageScore {
685
- voiceSuccess?: number;
686
- voiceAttempts?: number;
687
- voiceFail?: number;
688
- completed?: boolean;
689
- attempts?: number;
690
- correct?: number;
691
- success?: boolean;
692
- aiSuccess?: boolean;
693
- grading_method?: 'simple' | 'rubric' | 'manual' | 'standards_based' | null;
694
- grammar_insights?: {
695
- type?: string;
696
- justification?: string;
697
- error?: boolean;
698
- correction?: string;
699
- }[];
700
- promptSuccess?: boolean;
701
- score?: number;
702
- simple_grading?: {
703
- justification?: string;
704
- success?: boolean;
705
- };
706
- suggested_response?: string;
707
- summary?: string;
708
- transcript?: string | null;
709
- errors?: any;
710
- improvedResponse?: string;
711
- audio?: string | null;
712
- actfl?: {
713
- justification: string;
714
- level: string;
715
- key_indicators?: string[];
716
- };
717
- wida?: {
718
- justification: string;
719
- level: string;
720
- key_indicators?: string[];
721
- };
722
- earned_points?: number;
723
- fileName?: string | null;
724
- max_points?: number;
725
- passing_score?: number;
726
- rubric?: {
727
- description: string;
728
- justification: string;
729
- maxPoints: number;
730
- score: number;
731
- score_title: string;
732
- title: string;
733
- }[] | null;
734
- scoring_type?: string;
735
- history?: PageScore[];
736
- media_area_opened?: boolean;
737
- noFeedbackAvailable?: boolean;
738
- proficiency_level?: {
739
- standardId: string;
740
- level: string;
741
- justification: string;
742
- key_indicators?: string[];
743
- };
744
- status?: string | null;
745
- transcriptError?: boolean;
746
- feedbackError?: boolean;
747
- totalTrys?: {
748
- markedCorrect?: boolean;
749
- selectedOption?: string | string[];
750
- attemptedAt?: CustomTimestamp;
751
- messageAttemptId?: string;
752
- }[];
753
- tryAgain?: boolean;
754
- updatedAt?: CustomTimestamp;
755
- messageAttemptId?: string;
756
- unmetCriteria?: {
757
- criterion: string;
758
- suggestion: string;
759
- explanation: string;
760
- }[];
761
- meetsCriteria?: boolean;
762
- actionableSteps?: string[];
763
- rubric_results?: {
764
- title: string;
765
- score: number;
766
- score_title: string;
767
- justification: string;
768
- maxPoints: number;
769
- description: string;
770
- }[];
771
- target_proficiency_level?: string;
772
- hint?: string[];
773
- reviewed?: boolean;
774
- error?: ('feedback_error' | 'transcript_error' | 'summary_error' | 'audio_upload_error' | 'unknown' | null)[];
775
- stagedResponse?: {
776
- audio?: string | null;
777
- fileName?: string | null;
778
- transcript?: string | null;
779
- } | null;
780
- }
781
167
 
782
168
  declare enum AssignmentAnalyticsType {
783
169
  Macro = "macro",
@@ -788,397 +174,6 @@ declare enum AssignmentAnalyticsType {
788
174
  All = "all"
789
175
  }
790
176
 
791
- declare const createAssignmentRepo: () => {
792
- getAssignment: (params: {
793
- assignmentId: string;
794
- currentUserId: string;
795
- analyticType?: AssignmentAnalyticsType;
796
- studentId?: string;
797
- }) => Promise<AssignmentWithId | {
798
- scores: any;
799
- id: string;
800
- isAvailable: boolean;
801
- name: string;
802
- description: string;
803
- scheduledTime?: string | null;
804
- dueTime?: {
805
- hours: number;
806
- minutes: number;
807
- nanos: number;
808
- };
809
- speakableio: boolean;
810
- owners: string[];
811
- image: {
812
- path: string | null;
813
- url: string;
814
- };
815
- dueDate: {
816
- day: number;
817
- month: number;
818
- year: number;
819
- };
820
- teacherName: string;
821
- courseWorkId: string | null;
822
- dueDateTimestamp: CustomTimestamp;
823
- scheduledTimeTimestamp: number;
824
- active: boolean;
825
- voice: string | null;
826
- setId: string;
827
- dateMade: {
828
- seconds: number;
829
- nanoseconds: number;
830
- };
831
- maxPoints: number;
832
- courseId: string;
833
- isAssessment: boolean;
834
- ltiDeeplink?: string;
835
- content?: string[];
836
- weights?: Record<string, number>;
837
- language?: string;
838
- types?: { [key in ActivityPageType]?: number; };
839
- aiEnabled?: boolean;
840
- chat_experience?: boolean;
841
- showScores?: boolean;
842
- } | null>;
843
- attachScoresAssignment: (args_0: {
844
- assignments: AssignmentWithId[];
845
- analyticType: AssignmentAnalyticsType;
846
- studentId?: string;
847
- currentUserId: string;
848
- }) => Promise<{
849
- scores: any;
850
- id: string;
851
- isAvailable: boolean;
852
- name: string;
853
- description: string;
854
- scheduledTime?: string | null;
855
- dueTime?: {
856
- hours: number;
857
- minutes: number;
858
- nanos: number;
859
- };
860
- speakableio: boolean;
861
- owners: string[];
862
- image: {
863
- path: string | null;
864
- url: string;
865
- };
866
- dueDate: {
867
- day: number;
868
- month: number;
869
- year: number;
870
- };
871
- teacherName: string;
872
- courseWorkId: string | null;
873
- dueDateTimestamp: CustomTimestamp;
874
- scheduledTimeTimestamp: number;
875
- active: boolean;
876
- voice: string | null;
877
- setId: string;
878
- dateMade: {
879
- seconds: number;
880
- nanoseconds: number;
881
- };
882
- maxPoints: number;
883
- courseId: string;
884
- isAssessment: boolean;
885
- ltiDeeplink?: string;
886
- content?: string[];
887
- weights?: Record<string, number>;
888
- language?: string;
889
- types?: { [key in ActivityPageType]?: number; };
890
- aiEnabled?: boolean;
891
- chat_experience?: boolean;
892
- showScores?: boolean;
893
- }[]>;
894
- getAssignmentScores: (args_0: {
895
- assignmentId: string;
896
- currentUserId: string;
897
- analyticType?: AssignmentAnalyticsType;
898
- studentId?: string;
899
- }) => Promise<{
900
- scores: unknown;
901
- id: string;
902
- } | undefined>;
903
- getAllAssignments: () => Promise<(AssignmentWithId & {
904
- id: string;
905
- })[]>;
906
- };
907
-
908
- declare const assignmentQueryKeys: {
909
- all: readonly ["assignments"];
910
- byId: (id: string) => readonly ["assignments", string];
911
- list: () => readonly ["assignments", "list"];
912
- };
913
- declare function useAssignment({ assignmentId, enabled, analyticType, userId, }: {
914
- assignmentId: string;
915
- enabled?: boolean;
916
- analyticType?: AssignmentAnalyticsType;
917
- userId: string;
918
- }): _tanstack_react_query.UseQueryResult<AssignmentWithId | {
919
- scores: any;
920
- id: string;
921
- isAvailable: boolean;
922
- name: string;
923
- description: string;
924
- scheduledTime?: string | null;
925
- dueTime?: {
926
- hours: number;
927
- minutes: number;
928
- nanos: number;
929
- };
930
- speakableio: boolean;
931
- owners: string[];
932
- image: {
933
- path: string | null;
934
- url: string;
935
- };
936
- dueDate: {
937
- day: number;
938
- month: number;
939
- year: number;
940
- };
941
- teacherName: string;
942
- courseWorkId: string | null;
943
- dueDateTimestamp: CustomTimestamp;
944
- scheduledTimeTimestamp: number;
945
- active: boolean;
946
- voice: string | null;
947
- setId: string;
948
- dateMade: {
949
- seconds: number;
950
- nanoseconds: number;
951
- };
952
- maxPoints: number;
953
- courseId: string;
954
- isAssessment: boolean;
955
- ltiDeeplink?: string;
956
- content?: string[];
957
- weights?: Record<string, number>;
958
- language?: string;
959
- types?: { [key in ActivityPageType]?: number; };
960
- aiEnabled?: boolean;
961
- chat_experience?: boolean;
962
- showScores?: boolean;
963
- } | null, Error>;
964
-
965
- declare const scoreQueryKeys: {
966
- all: readonly ["scores"];
967
- byId: (id: string) => readonly ["scores", string];
968
- list: () => readonly ["scores", "list"];
969
- };
970
- declare function useScore({ isAssignment, activityId, userId, courseId, enabled, googleClassroomUserId, }: {
971
- userId: string;
972
- isAssignment: boolean;
973
- activityId: string;
974
- courseId?: string;
975
- enabled?: boolean;
976
- googleClassroomUserId?: string;
977
- }): _tanstack_react_query.UseQueryResult<ScoreWithId, Error>;
978
- declare function useUpdateScore(): {
979
- mutationUpdateScore: _tanstack_react_query.UseMutationResult<Promise<void>, Error, {
980
- userId: string;
981
- data: Partial<Score>;
982
- isAssignment: boolean;
983
- activityId: string;
984
- }, {
985
- previousData: Partial<Score> | undefined;
986
- }>;
987
- };
988
- declare function useUpdateCardScore({ isAssignment, activityId, userId, cardIds, weights, }: {
989
- isAssignment: boolean;
990
- userId: string;
991
- activityId: string;
992
- cardIds: string[];
993
- weights: Record<string, number>;
994
- }): {
995
- mutationUpdateCardScore: _tanstack_react_query.UseMutationResult<{
996
- cardId: string;
997
- scoresUpdated: Score;
998
- }, Error, {
999
- cardId: string;
1000
- cardScore: PageScore;
1001
- }, {
1002
- previousData: Score | undefined;
1003
- }>;
1004
- };
1005
- declare function useClearScore(): {
1006
- mutationClearScore: _tanstack_react_query.UseMutationResult<{
1007
- update: Partial<Score>;
1008
- activityId: string;
1009
- }, Error, {
1010
- isAssignment: boolean;
1011
- cardId: string;
1012
- cardScores: PageScore;
1013
- userId: string;
1014
- activityId: string;
1015
- }, unknown>;
1016
- };
1017
- declare function useClearScoreV2(): {
1018
- mutationClearScore: _tanstack_react_query.UseMutationResult<{
1019
- update: Partial<Score>;
1020
- activityId: string;
1021
- }, Error, {
1022
- isAssignment: boolean;
1023
- cardId: string;
1024
- cardScores: PageScore;
1025
- userId: string;
1026
- activityId: string;
1027
- }, unknown>;
1028
- };
1029
- declare function useSubmitAssignmentScore({ onAssignmentSubmitted, studentName, }: {
1030
- onAssignmentSubmitted: (assignmentId: string) => void;
1031
- studentName: string;
1032
- }): {
1033
- submitAssignmentScore: _tanstack_react_query.UseMutateAsyncFunction<{
1034
- success: boolean;
1035
- message: string;
1036
- error?: undefined;
1037
- } | {
1038
- success: boolean;
1039
- error: unknown;
1040
- message?: undefined;
1041
- }, Error, {
1042
- assignment: {
1043
- id: string;
1044
- name: string;
1045
- owners: string[];
1046
- courseId: string;
1047
- courseWorkId: string;
1048
- isAssessment: boolean;
1049
- maxPoints: number;
1050
- };
1051
- userId: string;
1052
- cardIds: string[];
1053
- weights: Record<string, number>;
1054
- scores: Score;
1055
- status: Score["status"];
1056
- }, unknown>;
1057
- isLoading: boolean;
1058
- };
1059
- declare function useSubmitPracticeScore(): {
1060
- submitPracticeScore: _tanstack_react_query.UseMutateAsyncFunction<{
1061
- success: boolean;
1062
- message: string;
1063
- error?: undefined;
1064
- } | {
1065
- success: boolean;
1066
- error: unknown;
1067
- message?: undefined;
1068
- }, Error, {
1069
- setId: string;
1070
- userId: string;
1071
- scores: Score;
1072
- }, unknown>;
1073
- isLoading: boolean;
1074
- };
1075
-
1076
- interface SetWithId extends Set {
1077
- id: string;
1078
- }
1079
- interface Set {
1080
- id: string;
1081
- language: string;
1082
- ownerName: string;
1083
- weights: Record<string, number>;
1084
- repeat?: number;
1085
- voice?: string;
1086
- averagePhraseLength?: number;
1087
- passing_score?: number;
1088
- organizations?: string[];
1089
- description: string;
1090
- image: {
1091
- url: string;
1092
- path: null | string;
1093
- };
1094
- additionalLanguages?: string[];
1095
- owners: string[];
1096
- name: string;
1097
- content: string[];
1098
- types: {
1099
- [key in ActivityPageType]?: number;
1100
- };
1101
- defaultLanguage: string;
1102
- createdAt: FieldValue;
1103
- public: boolean;
1104
- defaultRubricId?: string;
1105
- difficulty?: string;
1106
- end_screen?: {
1107
- variant: 0 | 1 | 2;
1108
- title: string;
1109
- description: string;
1110
- };
1111
- mcAllowRetries?: boolean;
1112
- welcome_screen?: {
1113
- variant: 'colored' | 'blank';
1114
- };
1115
- poorFunctionalityWarning?: boolean;
1116
- status?: 'draft' | 'published';
1117
- subjects?: any[];
1118
- respondAllowRetries?: boolean;
1119
- respondAllowTTS?: boolean;
1120
- feedbackLanguage?: string;
1121
- respondMaxCharacters?: number;
1122
- respondMaxTime?: number;
1123
- }
1124
-
1125
- declare const setsQueryKeys: {
1126
- all: string[];
1127
- one: (params: {
1128
- setId: string;
1129
- }) => string[];
1130
- };
1131
- declare const useSet: ({ setId, enabled }: {
1132
- setId: string;
1133
- enabled?: boolean;
1134
- }) => _tanstack_react_query.UseQueryResult<SetWithId | null, Error>;
1135
- declare function getSetFromCache({ setId, queryClient, }: {
1136
- setId: string | undefined;
1137
- queryClient: QueryClient;
1138
- }): SetWithId | null | undefined;
1139
- declare function updateSetInCache({ set, queryClient, }: {
1140
- set: SetWithId;
1141
- queryClient: QueryClient;
1142
- }): void;
1143
-
1144
- declare const SETS_COLLECTION = "sets";
1145
- type RefsSetsFirestore = `${typeof SETS_COLLECTION}/${string}`;
1146
- declare const refsSetsFirestore: {
1147
- allSets: string;
1148
- set: (id: string) => `sets/${string}`;
1149
- };
1150
-
1151
- declare const createSetRepo: () => {
1152
- getSet: (args_0: {
1153
- setId: string;
1154
- }) => Promise<SetWithId | null>;
1155
- };
1156
-
1157
- declare const SPEAKABLE_NOTIFICATIONS: {
1158
- readonly NEW_ASSIGNMENT: "new_assignment";
1159
- readonly ASSESSMENT_SUBMITTED: "assessment_submitted";
1160
- readonly ASSESSMENT_SCORED: "assessment_scored";
1161
- readonly NEW_COMMENT: "NEW_COMMENT";
1162
- };
1163
- type SpeakableNotificationType = (typeof SPEAKABLE_NOTIFICATIONS)[keyof typeof SPEAKABLE_NOTIFICATIONS];
1164
- declare const SpeakableNotificationTypes: {
1165
- NEW_ASSIGNMENT: string;
1166
- FEEDBACK_FROM_TEACHER: string;
1167
- MESSAGE_FROM_STUDENT: string;
1168
- PHRASE_MARKED_CORRECT: string;
1169
- STUDENT_PROGRESS: string;
1170
- PLAYLIST_FOLLOWERS: string;
1171
- PLAYLIST_PLAYS: string;
1172
- ASSESSMENT_SUBMITTED: string;
1173
- ASSESSMENT_SCORED: string;
1174
- NEW_COMMENT: string;
1175
- };
1176
-
1177
- declare const useCreateNotification: () => {
1178
- createNotification: (type: SpeakableNotificationType, data: any) => Promise<any>;
1179
- };
1180
-
1181
- type FsClient = ReturnType<typeof createFsClientBase>;
1182
177
  type FsClientParams = Omit<Parameters<typeof createFsClientBase>[0], 'helpers'>;
1183
178
  declare function createFsClientBase({ db, helpers, httpsCallable, logEvent, }: {
1184
179
  db: FirebaseInstance;
@@ -1449,1555 +444,6 @@ declare function createFsClientBase({ db, helpers, httpsCallable, logEvent, }: {
1449
444
  };
1450
445
  };
1451
446
 
1452
- interface UserProfile {
1453
- googleClassroomUserId: string;
1454
- image: {
1455
- url: string;
1456
- path: string;
1457
- };
1458
- displayName: string;
1459
- isTeacher?: boolean;
1460
- isStudent?: boolean;
1461
- roles?: string[];
1462
- }
1463
- interface UserAuth {
1464
- uid: string;
1465
- email: string;
1466
- displayName: string | null;
1467
- }
1468
- interface Lti {
1469
- data: {
1470
- services: {
1471
- serviceKey: string;
1472
- };
1473
- };
1474
- }
1475
- interface User {
1476
- profile: UserProfile;
1477
- auth: UserAuth;
1478
- lti: Lti;
1479
- roles: string[];
1480
- }
1481
-
1482
- declare const SpeakablePlanTypes: {
1483
- readonly basic: "basic";
1484
- readonly teacher_pro: "teacher_pro";
1485
- readonly school_starter: "school_starter";
1486
- readonly organization: "organization";
1487
- readonly starter: "starter";
1488
- readonly growth: "growth";
1489
- readonly professional: "professional";
1490
- };
1491
-
1492
- interface Permissions {
1493
- loaded: boolean;
1494
- loading: boolean;
1495
- permissions: string[];
1496
- plan: keyof typeof SpeakablePlanTypes;
1497
- subscriptionId: string;
1498
- isInstitutionPlan: boolean;
1499
- type: string;
1500
- contact: string;
1501
- hasStudentPortfolios?: boolean;
1502
- refreshDate: string;
1503
- isStripePlan: boolean;
1504
- freeOrgTrialExpired?: boolean;
1505
- }
1506
-
1507
- interface FsContext {
1508
- speakableApi: Awaited<FsClient>;
1509
- queryClient: QueryClient;
1510
- user: User;
1511
- permissions: Permissions;
1512
- }
1513
- declare const FsCtx: React.Context<FsContext | null>;
1514
- declare function SpeakableProvider({ user, children, queryClient, permissions, fsClient, }: {
1515
- children: React.ReactNode;
1516
- fsClient: FsClient;
1517
- permissions: Permissions;
1518
- queryClient: QueryClient;
1519
- user: User;
1520
- }): react_jsx_runtime.JSX.Element | null;
1521
- declare function useSpeakableApi(): FsContext;
1522
-
1523
- declare const getRespondCardTool: ({ language, standard, }: {
1524
- language: string;
1525
- standard: string;
1526
- }) => {
1527
- tool_choice: {
1528
- type: string;
1529
- function: {
1530
- name: string;
1531
- };
1532
- };
1533
- tools: {
1534
- type: string;
1535
- function: {
1536
- name: string;
1537
- description: string;
1538
- parameters: {
1539
- type: string;
1540
- required: string[];
1541
- properties: {
1542
- success: {
1543
- type: string;
1544
- description: string;
1545
- };
1546
- errors: {
1547
- type: string;
1548
- items: {
1549
- type: string;
1550
- required: string[];
1551
- properties: {
1552
- error: {
1553
- type: string;
1554
- description: string;
1555
- };
1556
- correction: {
1557
- type: string;
1558
- description: string;
1559
- };
1560
- justification: {
1561
- type: string;
1562
- description: string;
1563
- };
1564
- grammar_error_type: {
1565
- type: string;
1566
- enum: string[];
1567
- description: string;
1568
- };
1569
- };
1570
- };
1571
- description: string;
1572
- };
1573
- compliments: {
1574
- type: string;
1575
- items: {
1576
- type: string;
1577
- };
1578
- description: string;
1579
- };
1580
- improvedResponse: {
1581
- type: string;
1582
- description: string;
1583
- };
1584
- score: {
1585
- type: string;
1586
- description: string;
1587
- };
1588
- score_justification: {
1589
- type: string;
1590
- description: string;
1591
- };
1592
- };
1593
- };
1594
- };
1595
- }[];
1596
- };
1597
-
1598
- declare function debounce<T extends (...args: any[]) => Promise<any>>(func: T, waitFor: number): (...args: Parameters<T>) => Promise<ReturnType<T>>;
1599
-
1600
- declare const purify: (word: string) => string;
1601
- declare const cleanString: (words: string) => string | string[];
1602
- declare const getWordHash: (word: string, language: string) => string;
1603
- declare function getPhraseLength(phrase: string, input?: string): number;
1604
-
1605
- declare function useActivity({ id, isAssignment, onAssignmentSubmitted, ltiData, }: {
1606
- id: string;
1607
- isAssignment: boolean;
1608
- onAssignmentSubmitted: (assignmentId: string) => void;
1609
- ltiData?: {
1610
- lineItemId?: string;
1611
- lti_id?: string;
1612
- serviceKey?: string;
1613
- };
1614
- }): {
1615
- set: {
1616
- data: SetWithId | null | undefined;
1617
- query: _tanstack_react_query.UseQueryResult<SetWithId | null, Error>;
1618
- };
1619
- cards: {
1620
- data: Record<string, PageActivityWithId> | null;
1621
- query: _tanstack_react_query.UseQueryResult<{
1622
- type: ActivityPageType;
1623
- id: string;
1624
- owners: string[];
1625
- checked?: boolean;
1626
- completed?: boolean;
1627
- media_area_id?: string | null;
1628
- media_area_layout?: "left" | "right" | null;
1629
- score?: number;
1630
- verificationStatus?: VerificationCardStatus;
1631
- native_text?: string;
1632
- repeat?: number;
1633
- language?: string | null;
1634
- image?: {
1635
- path?: string | null;
1636
- url?: string;
1637
- };
1638
- audio?: {
1639
- path?: string | null;
1640
- url?: string;
1641
- } | null;
1642
- notes?: string;
1643
- difficulty?: string;
1644
- default_language?: string;
1645
- target_text?: string;
1646
- grading_criteria?: string;
1647
- scoring_type?: string;
1648
- grading_method?: "simple" | "rubric" | "manual" | "standards_based";
1649
- feedback_types?: string[];
1650
- rubricId?: string;
1651
- prompt?: string;
1652
- title?: string;
1653
- passing_score?: number;
1654
- maxCharacters?: number;
1655
- answer?: string[];
1656
- choices?: {
1657
- value: string;
1658
- option: string;
1659
- }[];
1660
- MCQType?: string;
1661
- multipleAttemptsAllowed?: boolean;
1662
- allowRetries?: boolean;
1663
- question?: string;
1664
- respondTime?: number;
1665
- hidePrompt?: boolean;
1666
- videoUrl?: string;
1667
- link?: string;
1668
- text?: string;
1669
- isListenAloud?: boolean;
1670
- embedCode?: string;
1671
- attempt?: number;
1672
- correct?: number;
1673
- autoGrade?: boolean;
1674
- points?: number;
1675
- shuffle?: boolean;
1676
- translation?: string;
1677
- includeAIContext?: boolean;
1678
- media_area_context_ref?: string | null;
1679
- standardId?: string;
1680
- target_proficiency_level?: string;
1681
- allowTTS?: boolean;
1682
- feedback_language?: string | null;
1683
- correct_answer?: string | null;
1684
- limit_attempts?: boolean;
1685
- max_attempts?: number;
1686
- rich_text?: string;
1687
- } | null, Error>[];
1688
- cardsArray: PageActivityWithId[];
1689
- };
1690
- assignment: {
1691
- data: AssignmentWithId | {
1692
- scores: any;
1693
- id: string;
1694
- isAvailable: boolean;
1695
- name: string;
1696
- description: string;
1697
- scheduledTime?: string | null;
1698
- dueTime?: {
1699
- hours: number;
1700
- minutes: number;
1701
- nanos: number;
1702
- };
1703
- speakableio: boolean;
1704
- owners: string[];
1705
- image: {
1706
- path: string | null;
1707
- url: string;
1708
- };
1709
- dueDate: {
1710
- day: number;
1711
- month: number;
1712
- year: number;
1713
- };
1714
- teacherName: string;
1715
- courseWorkId: string | null;
1716
- dueDateTimestamp: CustomTimestamp;
1717
- scheduledTimeTimestamp: number;
1718
- active: boolean;
1719
- voice: string | null;
1720
- setId: string;
1721
- dateMade: {
1722
- seconds: number;
1723
- nanoseconds: number;
1724
- };
1725
- maxPoints: number;
1726
- courseId: string;
1727
- isAssessment: boolean;
1728
- ltiDeeplink?: string;
1729
- content?: string[];
1730
- weights?: Record<string, number>;
1731
- language?: string;
1732
- types?: { [key in ActivityPageType]?: number; };
1733
- aiEnabled?: boolean;
1734
- chat_experience?: boolean;
1735
- showScores?: boolean;
1736
- } | null | undefined;
1737
- query: _tanstack_react_query.UseQueryResult<AssignmentWithId | {
1738
- scores: any;
1739
- id: string;
1740
- isAvailable: boolean;
1741
- name: string;
1742
- description: string;
1743
- scheduledTime?: string | null;
1744
- dueTime?: {
1745
- hours: number;
1746
- minutes: number;
1747
- nanos: number;
1748
- };
1749
- speakableio: boolean;
1750
- owners: string[];
1751
- image: {
1752
- path: string | null;
1753
- url: string;
1754
- };
1755
- dueDate: {
1756
- day: number;
1757
- month: number;
1758
- year: number;
1759
- };
1760
- teacherName: string;
1761
- courseWorkId: string | null;
1762
- dueDateTimestamp: CustomTimestamp;
1763
- scheduledTimeTimestamp: number;
1764
- active: boolean;
1765
- voice: string | null;
1766
- setId: string;
1767
- dateMade: {
1768
- seconds: number;
1769
- nanoseconds: number;
1770
- };
1771
- maxPoints: number;
1772
- courseId: string;
1773
- isAssessment: boolean;
1774
- ltiDeeplink?: string;
1775
- content?: string[];
1776
- weights?: Record<string, number>;
1777
- language?: string;
1778
- types?: { [key in ActivityPageType]?: number; };
1779
- aiEnabled?: boolean;
1780
- chat_experience?: boolean;
1781
- showScores?: boolean;
1782
- } | null, Error>;
1783
- };
1784
- scores: {
1785
- data: ScoreWithId | undefined;
1786
- query: _tanstack_react_query.UseQueryResult<ScoreWithId, Error>;
1787
- actions: {
1788
- update: (data: Partial<Score>) => void;
1789
- clear: ({ cardId, wasCompleted, }: {
1790
- cardId: string;
1791
- wasCompleted?: boolean;
1792
- }) => void;
1793
- submit: () => Promise<{
1794
- success: boolean;
1795
- message: string;
1796
- error?: undefined;
1797
- } | {
1798
- success: boolean;
1799
- error: unknown;
1800
- message?: undefined;
1801
- }>;
1802
- updateCard: (cardId: string, cardScore: PageScore) => void;
1803
- logGradingStandardEntry: ({ cardId, gradingStandard, type, }: {
1804
- cardId: string;
1805
- gradingStandard: {
1806
- level: string;
1807
- justification: string;
1808
- };
1809
- type: "actfl" | "wida" | "custom";
1810
- }) => void;
1811
- };
1812
- };
1813
- };
1814
-
1815
- interface CreditContract {
1816
- allocationSource: string;
1817
- createdAt: string;
1818
- creditsAllocatedThisPeriod: number;
1819
- effectivePlanId: string;
1820
- email: string;
1821
- isUnlimited: boolean;
1822
- lastUpdatedAt: string;
1823
- ownerType: string;
1824
- periodStart: string;
1825
- periodEnd: string;
1826
- planTermEndTimestamp: string | null;
1827
- sourceDetails: Record<string, unknown>;
1828
- creditsAvailable?: number;
1829
- topOffCreditsAvailable?: number;
1830
- }
1831
- declare const creditQueryKeys: {
1832
- userCredits: (uid: string) => readonly ["userCredits", string];
1833
- };
1834
- declare const useUserCredits: () => {
1835
- data: {
1836
- id: string;
1837
- userId: string;
1838
- email: string;
1839
- effectivePlanId: string;
1840
- status: string;
1841
- isUnlimited: boolean;
1842
- creditsAvailable: number;
1843
- creditsAllocatedThisPeriod: number;
1844
- topOffCreditsAvailable: number;
1845
- topOffCreditsTotal: number;
1846
- allocationSource: string;
1847
- sourceDetails: {};
1848
- periodStart: null;
1849
- periodEnd: null;
1850
- planTermEndTimestamp: null;
1851
- ownerType: string;
1852
- createdAt: string;
1853
- lastUpdatedAt: string;
1854
- } | {
1855
- totalCreditsAvailable: number;
1856
- allocationSource: string;
1857
- createdAt: string;
1858
- creditsAllocatedThisPeriod: number;
1859
- effectivePlanId: string;
1860
- email: string;
1861
- isUnlimited: boolean;
1862
- lastUpdatedAt: string;
1863
- ownerType: string;
1864
- periodStart: string;
1865
- periodEnd: string;
1866
- planTermEndTimestamp: string | null;
1867
- sourceDetails: Record<string, unknown>;
1868
- creditsAvailable?: number;
1869
- topOffCreditsAvailable?: number;
1870
- id: string;
1871
- userId?: undefined;
1872
- status?: undefined;
1873
- topOffCreditsTotal?: undefined;
1874
- };
1875
- error: Error;
1876
- isError: true;
1877
- isPending: false;
1878
- isLoading: false;
1879
- isLoadingError: false;
1880
- isRefetchError: true;
1881
- isSuccess: false;
1882
- isPlaceholderData: false;
1883
- status: "error";
1884
- dataUpdatedAt: number;
1885
- errorUpdatedAt: number;
1886
- failureCount: number;
1887
- failureReason: Error | null;
1888
- errorUpdateCount: number;
1889
- isFetched: boolean;
1890
- isFetchedAfterMount: boolean;
1891
- isFetching: boolean;
1892
- isInitialLoading: boolean;
1893
- isPaused: boolean;
1894
- isRefetching: boolean;
1895
- isStale: boolean;
1896
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<{
1897
- id: string;
1898
- userId: string;
1899
- email: string;
1900
- effectivePlanId: string;
1901
- status: string;
1902
- isUnlimited: boolean;
1903
- creditsAvailable: number;
1904
- creditsAllocatedThisPeriod: number;
1905
- topOffCreditsAvailable: number;
1906
- topOffCreditsTotal: number;
1907
- allocationSource: string;
1908
- sourceDetails: {};
1909
- periodStart: null;
1910
- periodEnd: null;
1911
- planTermEndTimestamp: null;
1912
- ownerType: string;
1913
- createdAt: string;
1914
- lastUpdatedAt: string;
1915
- } | {
1916
- totalCreditsAvailable: number;
1917
- allocationSource: string;
1918
- createdAt: string;
1919
- creditsAllocatedThisPeriod: number;
1920
- effectivePlanId: string;
1921
- email: string;
1922
- isUnlimited: boolean;
1923
- lastUpdatedAt: string;
1924
- ownerType: string;
1925
- periodStart: string;
1926
- periodEnd: string;
1927
- planTermEndTimestamp: string | null;
1928
- sourceDetails: Record<string, unknown>;
1929
- creditsAvailable?: number;
1930
- topOffCreditsAvailable?: number;
1931
- id: string;
1932
- userId?: undefined;
1933
- status?: undefined;
1934
- topOffCreditsTotal?: undefined;
1935
- }, Error>>;
1936
- fetchStatus: _tanstack_react_query.FetchStatus;
1937
- promise: Promise<{
1938
- id: string;
1939
- userId: string;
1940
- email: string;
1941
- effectivePlanId: string;
1942
- status: string;
1943
- isUnlimited: boolean;
1944
- creditsAvailable: number;
1945
- creditsAllocatedThisPeriod: number;
1946
- topOffCreditsAvailable: number;
1947
- topOffCreditsTotal: number;
1948
- allocationSource: string;
1949
- sourceDetails: {};
1950
- periodStart: null;
1951
- periodEnd: null;
1952
- planTermEndTimestamp: null;
1953
- ownerType: string;
1954
- createdAt: string;
1955
- lastUpdatedAt: string;
1956
- } | {
1957
- totalCreditsAvailable: number;
1958
- allocationSource: string;
1959
- createdAt: string;
1960
- creditsAllocatedThisPeriod: number;
1961
- effectivePlanId: string;
1962
- email: string;
1963
- isUnlimited: boolean;
1964
- lastUpdatedAt: string;
1965
- ownerType: string;
1966
- periodStart: string;
1967
- periodEnd: string;
1968
- planTermEndTimestamp: string | null;
1969
- sourceDetails: Record<string, unknown>;
1970
- creditsAvailable?: number;
1971
- topOffCreditsAvailable?: number;
1972
- id: string;
1973
- userId?: undefined;
1974
- status?: undefined;
1975
- topOffCreditsTotal?: undefined;
1976
- }>;
1977
- } | {
1978
- data: {
1979
- id: string;
1980
- userId: string;
1981
- email: string;
1982
- effectivePlanId: string;
1983
- status: string;
1984
- isUnlimited: boolean;
1985
- creditsAvailable: number;
1986
- creditsAllocatedThisPeriod: number;
1987
- topOffCreditsAvailable: number;
1988
- topOffCreditsTotal: number;
1989
- allocationSource: string;
1990
- sourceDetails: {};
1991
- periodStart: null;
1992
- periodEnd: null;
1993
- planTermEndTimestamp: null;
1994
- ownerType: string;
1995
- createdAt: string;
1996
- lastUpdatedAt: string;
1997
- } | {
1998
- totalCreditsAvailable: number;
1999
- allocationSource: string;
2000
- createdAt: string;
2001
- creditsAllocatedThisPeriod: number;
2002
- effectivePlanId: string;
2003
- email: string;
2004
- isUnlimited: boolean;
2005
- lastUpdatedAt: string;
2006
- ownerType: string;
2007
- periodStart: string;
2008
- periodEnd: string;
2009
- planTermEndTimestamp: string | null;
2010
- sourceDetails: Record<string, unknown>;
2011
- creditsAvailable?: number;
2012
- topOffCreditsAvailable?: number;
2013
- id: string;
2014
- userId?: undefined;
2015
- status?: undefined;
2016
- topOffCreditsTotal?: undefined;
2017
- };
2018
- error: null;
2019
- isError: false;
2020
- isPending: false;
2021
- isLoading: false;
2022
- isLoadingError: false;
2023
- isRefetchError: false;
2024
- isSuccess: true;
2025
- isPlaceholderData: false;
2026
- status: "success";
2027
- dataUpdatedAt: number;
2028
- errorUpdatedAt: number;
2029
- failureCount: number;
2030
- failureReason: Error | null;
2031
- errorUpdateCount: number;
2032
- isFetched: boolean;
2033
- isFetchedAfterMount: boolean;
2034
- isFetching: boolean;
2035
- isInitialLoading: boolean;
2036
- isPaused: boolean;
2037
- isRefetching: boolean;
2038
- isStale: boolean;
2039
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<{
2040
- id: string;
2041
- userId: string;
2042
- email: string;
2043
- effectivePlanId: string;
2044
- status: string;
2045
- isUnlimited: boolean;
2046
- creditsAvailable: number;
2047
- creditsAllocatedThisPeriod: number;
2048
- topOffCreditsAvailable: number;
2049
- topOffCreditsTotal: number;
2050
- allocationSource: string;
2051
- sourceDetails: {};
2052
- periodStart: null;
2053
- periodEnd: null;
2054
- planTermEndTimestamp: null;
2055
- ownerType: string;
2056
- createdAt: string;
2057
- lastUpdatedAt: string;
2058
- } | {
2059
- totalCreditsAvailable: number;
2060
- allocationSource: string;
2061
- createdAt: string;
2062
- creditsAllocatedThisPeriod: number;
2063
- effectivePlanId: string;
2064
- email: string;
2065
- isUnlimited: boolean;
2066
- lastUpdatedAt: string;
2067
- ownerType: string;
2068
- periodStart: string;
2069
- periodEnd: string;
2070
- planTermEndTimestamp: string | null;
2071
- sourceDetails: Record<string, unknown>;
2072
- creditsAvailable?: number;
2073
- topOffCreditsAvailable?: number;
2074
- id: string;
2075
- userId?: undefined;
2076
- status?: undefined;
2077
- topOffCreditsTotal?: undefined;
2078
- }, Error>>;
2079
- fetchStatus: _tanstack_react_query.FetchStatus;
2080
- promise: Promise<{
2081
- id: string;
2082
- userId: string;
2083
- email: string;
2084
- effectivePlanId: string;
2085
- status: string;
2086
- isUnlimited: boolean;
2087
- creditsAvailable: number;
2088
- creditsAllocatedThisPeriod: number;
2089
- topOffCreditsAvailable: number;
2090
- topOffCreditsTotal: number;
2091
- allocationSource: string;
2092
- sourceDetails: {};
2093
- periodStart: null;
2094
- periodEnd: null;
2095
- planTermEndTimestamp: null;
2096
- ownerType: string;
2097
- createdAt: string;
2098
- lastUpdatedAt: string;
2099
- } | {
2100
- totalCreditsAvailable: number;
2101
- allocationSource: string;
2102
- createdAt: string;
2103
- creditsAllocatedThisPeriod: number;
2104
- effectivePlanId: string;
2105
- email: string;
2106
- isUnlimited: boolean;
2107
- lastUpdatedAt: string;
2108
- ownerType: string;
2109
- periodStart: string;
2110
- periodEnd: string;
2111
- planTermEndTimestamp: string | null;
2112
- sourceDetails: Record<string, unknown>;
2113
- creditsAvailable?: number;
2114
- topOffCreditsAvailable?: number;
2115
- id: string;
2116
- userId?: undefined;
2117
- status?: undefined;
2118
- topOffCreditsTotal?: undefined;
2119
- }>;
2120
- } | {
2121
- data: undefined;
2122
- error: Error;
2123
- isError: true;
2124
- isPending: false;
2125
- isLoading: false;
2126
- isLoadingError: true;
2127
- isRefetchError: false;
2128
- isSuccess: false;
2129
- isPlaceholderData: false;
2130
- status: "error";
2131
- dataUpdatedAt: number;
2132
- errorUpdatedAt: number;
2133
- failureCount: number;
2134
- failureReason: Error | null;
2135
- errorUpdateCount: number;
2136
- isFetched: boolean;
2137
- isFetchedAfterMount: boolean;
2138
- isFetching: boolean;
2139
- isInitialLoading: boolean;
2140
- isPaused: boolean;
2141
- isRefetching: boolean;
2142
- isStale: boolean;
2143
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<{
2144
- id: string;
2145
- userId: string;
2146
- email: string;
2147
- effectivePlanId: string;
2148
- status: string;
2149
- isUnlimited: boolean;
2150
- creditsAvailable: number;
2151
- creditsAllocatedThisPeriod: number;
2152
- topOffCreditsAvailable: number;
2153
- topOffCreditsTotal: number;
2154
- allocationSource: string;
2155
- sourceDetails: {};
2156
- periodStart: null;
2157
- periodEnd: null;
2158
- planTermEndTimestamp: null;
2159
- ownerType: string;
2160
- createdAt: string;
2161
- lastUpdatedAt: string;
2162
- } | {
2163
- totalCreditsAvailable: number;
2164
- allocationSource: string;
2165
- createdAt: string;
2166
- creditsAllocatedThisPeriod: number;
2167
- effectivePlanId: string;
2168
- email: string;
2169
- isUnlimited: boolean;
2170
- lastUpdatedAt: string;
2171
- ownerType: string;
2172
- periodStart: string;
2173
- periodEnd: string;
2174
- planTermEndTimestamp: string | null;
2175
- sourceDetails: Record<string, unknown>;
2176
- creditsAvailable?: number;
2177
- topOffCreditsAvailable?: number;
2178
- id: string;
2179
- userId?: undefined;
2180
- status?: undefined;
2181
- topOffCreditsTotal?: undefined;
2182
- }, Error>>;
2183
- fetchStatus: _tanstack_react_query.FetchStatus;
2184
- promise: Promise<{
2185
- id: string;
2186
- userId: string;
2187
- email: string;
2188
- effectivePlanId: string;
2189
- status: string;
2190
- isUnlimited: boolean;
2191
- creditsAvailable: number;
2192
- creditsAllocatedThisPeriod: number;
2193
- topOffCreditsAvailable: number;
2194
- topOffCreditsTotal: number;
2195
- allocationSource: string;
2196
- sourceDetails: {};
2197
- periodStart: null;
2198
- periodEnd: null;
2199
- planTermEndTimestamp: null;
2200
- ownerType: string;
2201
- createdAt: string;
2202
- lastUpdatedAt: string;
2203
- } | {
2204
- totalCreditsAvailable: number;
2205
- allocationSource: string;
2206
- createdAt: string;
2207
- creditsAllocatedThisPeriod: number;
2208
- effectivePlanId: string;
2209
- email: string;
2210
- isUnlimited: boolean;
2211
- lastUpdatedAt: string;
2212
- ownerType: string;
2213
- periodStart: string;
2214
- periodEnd: string;
2215
- planTermEndTimestamp: string | null;
2216
- sourceDetails: Record<string, unknown>;
2217
- creditsAvailable?: number;
2218
- topOffCreditsAvailable?: number;
2219
- id: string;
2220
- userId?: undefined;
2221
- status?: undefined;
2222
- topOffCreditsTotal?: undefined;
2223
- }>;
2224
- } | {
2225
- data: undefined;
2226
- error: null;
2227
- isError: false;
2228
- isPending: true;
2229
- isLoading: true;
2230
- isLoadingError: false;
2231
- isRefetchError: false;
2232
- isSuccess: false;
2233
- isPlaceholderData: false;
2234
- status: "pending";
2235
- dataUpdatedAt: number;
2236
- errorUpdatedAt: number;
2237
- failureCount: number;
2238
- failureReason: Error | null;
2239
- errorUpdateCount: number;
2240
- isFetched: boolean;
2241
- isFetchedAfterMount: boolean;
2242
- isFetching: boolean;
2243
- isInitialLoading: boolean;
2244
- isPaused: boolean;
2245
- isRefetching: boolean;
2246
- isStale: boolean;
2247
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<{
2248
- id: string;
2249
- userId: string;
2250
- email: string;
2251
- effectivePlanId: string;
2252
- status: string;
2253
- isUnlimited: boolean;
2254
- creditsAvailable: number;
2255
- creditsAllocatedThisPeriod: number;
2256
- topOffCreditsAvailable: number;
2257
- topOffCreditsTotal: number;
2258
- allocationSource: string;
2259
- sourceDetails: {};
2260
- periodStart: null;
2261
- periodEnd: null;
2262
- planTermEndTimestamp: null;
2263
- ownerType: string;
2264
- createdAt: string;
2265
- lastUpdatedAt: string;
2266
- } | {
2267
- totalCreditsAvailable: number;
2268
- allocationSource: string;
2269
- createdAt: string;
2270
- creditsAllocatedThisPeriod: number;
2271
- effectivePlanId: string;
2272
- email: string;
2273
- isUnlimited: boolean;
2274
- lastUpdatedAt: string;
2275
- ownerType: string;
2276
- periodStart: string;
2277
- periodEnd: string;
2278
- planTermEndTimestamp: string | null;
2279
- sourceDetails: Record<string, unknown>;
2280
- creditsAvailable?: number;
2281
- topOffCreditsAvailable?: number;
2282
- id: string;
2283
- userId?: undefined;
2284
- status?: undefined;
2285
- topOffCreditsTotal?: undefined;
2286
- }, Error>>;
2287
- fetchStatus: _tanstack_react_query.FetchStatus;
2288
- promise: Promise<{
2289
- id: string;
2290
- userId: string;
2291
- email: string;
2292
- effectivePlanId: string;
2293
- status: string;
2294
- isUnlimited: boolean;
2295
- creditsAvailable: number;
2296
- creditsAllocatedThisPeriod: number;
2297
- topOffCreditsAvailable: number;
2298
- topOffCreditsTotal: number;
2299
- allocationSource: string;
2300
- sourceDetails: {};
2301
- periodStart: null;
2302
- periodEnd: null;
2303
- planTermEndTimestamp: null;
2304
- ownerType: string;
2305
- createdAt: string;
2306
- lastUpdatedAt: string;
2307
- } | {
2308
- totalCreditsAvailable: number;
2309
- allocationSource: string;
2310
- createdAt: string;
2311
- creditsAllocatedThisPeriod: number;
2312
- effectivePlanId: string;
2313
- email: string;
2314
- isUnlimited: boolean;
2315
- lastUpdatedAt: string;
2316
- ownerType: string;
2317
- periodStart: string;
2318
- periodEnd: string;
2319
- planTermEndTimestamp: string | null;
2320
- sourceDetails: Record<string, unknown>;
2321
- creditsAvailable?: number;
2322
- topOffCreditsAvailable?: number;
2323
- id: string;
2324
- userId?: undefined;
2325
- status?: undefined;
2326
- topOffCreditsTotal?: undefined;
2327
- }>;
2328
- } | {
2329
- data: undefined;
2330
- error: null;
2331
- isError: false;
2332
- isPending: true;
2333
- isLoadingError: false;
2334
- isRefetchError: false;
2335
- isSuccess: false;
2336
- isPlaceholderData: false;
2337
- status: "pending";
2338
- dataUpdatedAt: number;
2339
- errorUpdatedAt: number;
2340
- failureCount: number;
2341
- failureReason: Error | null;
2342
- errorUpdateCount: number;
2343
- isFetched: boolean;
2344
- isFetchedAfterMount: boolean;
2345
- isFetching: boolean;
2346
- isLoading: boolean;
2347
- isInitialLoading: boolean;
2348
- isPaused: boolean;
2349
- isRefetching: boolean;
2350
- isStale: boolean;
2351
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<{
2352
- id: string;
2353
- userId: string;
2354
- email: string;
2355
- effectivePlanId: string;
2356
- status: string;
2357
- isUnlimited: boolean;
2358
- creditsAvailable: number;
2359
- creditsAllocatedThisPeriod: number;
2360
- topOffCreditsAvailable: number;
2361
- topOffCreditsTotal: number;
2362
- allocationSource: string;
2363
- sourceDetails: {};
2364
- periodStart: null;
2365
- periodEnd: null;
2366
- planTermEndTimestamp: null;
2367
- ownerType: string;
2368
- createdAt: string;
2369
- lastUpdatedAt: string;
2370
- } | {
2371
- totalCreditsAvailable: number;
2372
- allocationSource: string;
2373
- createdAt: string;
2374
- creditsAllocatedThisPeriod: number;
2375
- effectivePlanId: string;
2376
- email: string;
2377
- isUnlimited: boolean;
2378
- lastUpdatedAt: string;
2379
- ownerType: string;
2380
- periodStart: string;
2381
- periodEnd: string;
2382
- planTermEndTimestamp: string | null;
2383
- sourceDetails: Record<string, unknown>;
2384
- creditsAvailable?: number;
2385
- topOffCreditsAvailable?: number;
2386
- id: string;
2387
- userId?: undefined;
2388
- status?: undefined;
2389
- topOffCreditsTotal?: undefined;
2390
- }, Error>>;
2391
- fetchStatus: _tanstack_react_query.FetchStatus;
2392
- promise: Promise<{
2393
- id: string;
2394
- userId: string;
2395
- email: string;
2396
- effectivePlanId: string;
2397
- status: string;
2398
- isUnlimited: boolean;
2399
- creditsAvailable: number;
2400
- creditsAllocatedThisPeriod: number;
2401
- topOffCreditsAvailable: number;
2402
- topOffCreditsTotal: number;
2403
- allocationSource: string;
2404
- sourceDetails: {};
2405
- periodStart: null;
2406
- periodEnd: null;
2407
- planTermEndTimestamp: null;
2408
- ownerType: string;
2409
- createdAt: string;
2410
- lastUpdatedAt: string;
2411
- } | {
2412
- totalCreditsAvailable: number;
2413
- allocationSource: string;
2414
- createdAt: string;
2415
- creditsAllocatedThisPeriod: number;
2416
- effectivePlanId: string;
2417
- email: string;
2418
- isUnlimited: boolean;
2419
- lastUpdatedAt: string;
2420
- ownerType: string;
2421
- periodStart: string;
2422
- periodEnd: string;
2423
- planTermEndTimestamp: string | null;
2424
- sourceDetails: Record<string, unknown>;
2425
- creditsAvailable?: number;
2426
- topOffCreditsAvailable?: number;
2427
- id: string;
2428
- userId?: undefined;
2429
- status?: undefined;
2430
- topOffCreditsTotal?: undefined;
2431
- }>;
2432
- } | {
2433
- data: {
2434
- id: string;
2435
- userId: string;
2436
- email: string;
2437
- effectivePlanId: string;
2438
- status: string;
2439
- isUnlimited: boolean;
2440
- creditsAvailable: number;
2441
- creditsAllocatedThisPeriod: number;
2442
- topOffCreditsAvailable: number;
2443
- topOffCreditsTotal: number;
2444
- allocationSource: string;
2445
- sourceDetails: {};
2446
- periodStart: null;
2447
- periodEnd: null;
2448
- planTermEndTimestamp: null;
2449
- ownerType: string;
2450
- createdAt: string;
2451
- lastUpdatedAt: string;
2452
- } | {
2453
- totalCreditsAvailable: number;
2454
- allocationSource: string;
2455
- createdAt: string;
2456
- creditsAllocatedThisPeriod: number;
2457
- effectivePlanId: string;
2458
- email: string;
2459
- isUnlimited: boolean;
2460
- lastUpdatedAt: string;
2461
- ownerType: string;
2462
- periodStart: string;
2463
- periodEnd: string;
2464
- planTermEndTimestamp: string | null;
2465
- sourceDetails: Record<string, unknown>;
2466
- creditsAvailable?: number;
2467
- topOffCreditsAvailable?: number;
2468
- id: string;
2469
- userId?: undefined;
2470
- status?: undefined;
2471
- topOffCreditsTotal?: undefined;
2472
- };
2473
- isError: false;
2474
- error: null;
2475
- isPending: false;
2476
- isLoading: false;
2477
- isLoadingError: false;
2478
- isRefetchError: false;
2479
- isSuccess: true;
2480
- isPlaceholderData: true;
2481
- status: "success";
2482
- dataUpdatedAt: number;
2483
- errorUpdatedAt: number;
2484
- failureCount: number;
2485
- failureReason: Error | null;
2486
- errorUpdateCount: number;
2487
- isFetched: boolean;
2488
- isFetchedAfterMount: boolean;
2489
- isFetching: boolean;
2490
- isInitialLoading: boolean;
2491
- isPaused: boolean;
2492
- isRefetching: boolean;
2493
- isStale: boolean;
2494
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<{
2495
- id: string;
2496
- userId: string;
2497
- email: string;
2498
- effectivePlanId: string;
2499
- status: string;
2500
- isUnlimited: boolean;
2501
- creditsAvailable: number;
2502
- creditsAllocatedThisPeriod: number;
2503
- topOffCreditsAvailable: number;
2504
- topOffCreditsTotal: number;
2505
- allocationSource: string;
2506
- sourceDetails: {};
2507
- periodStart: null;
2508
- periodEnd: null;
2509
- planTermEndTimestamp: null;
2510
- ownerType: string;
2511
- createdAt: string;
2512
- lastUpdatedAt: string;
2513
- } | {
2514
- totalCreditsAvailable: number;
2515
- allocationSource: string;
2516
- createdAt: string;
2517
- creditsAllocatedThisPeriod: number;
2518
- effectivePlanId: string;
2519
- email: string;
2520
- isUnlimited: boolean;
2521
- lastUpdatedAt: string;
2522
- ownerType: string;
2523
- periodStart: string;
2524
- periodEnd: string;
2525
- planTermEndTimestamp: string | null;
2526
- sourceDetails: Record<string, unknown>;
2527
- creditsAvailable?: number;
2528
- topOffCreditsAvailable?: number;
2529
- id: string;
2530
- userId?: undefined;
2531
- status?: undefined;
2532
- topOffCreditsTotal?: undefined;
2533
- }, Error>>;
2534
- fetchStatus: _tanstack_react_query.FetchStatus;
2535
- promise: Promise<{
2536
- id: string;
2537
- userId: string;
2538
- email: string;
2539
- effectivePlanId: string;
2540
- status: string;
2541
- isUnlimited: boolean;
2542
- creditsAvailable: number;
2543
- creditsAllocatedThisPeriod: number;
2544
- topOffCreditsAvailable: number;
2545
- topOffCreditsTotal: number;
2546
- allocationSource: string;
2547
- sourceDetails: {};
2548
- periodStart: null;
2549
- periodEnd: null;
2550
- planTermEndTimestamp: null;
2551
- ownerType: string;
2552
- createdAt: string;
2553
- lastUpdatedAt: string;
2554
- } | {
2555
- totalCreditsAvailable: number;
2556
- allocationSource: string;
2557
- createdAt: string;
2558
- creditsAllocatedThisPeriod: number;
2559
- effectivePlanId: string;
2560
- email: string;
2561
- isUnlimited: boolean;
2562
- lastUpdatedAt: string;
2563
- ownerType: string;
2564
- periodStart: string;
2565
- periodEnd: string;
2566
- planTermEndTimestamp: string | null;
2567
- sourceDetails: Record<string, unknown>;
2568
- creditsAvailable?: number;
2569
- topOffCreditsAvailable?: number;
2570
- id: string;
2571
- userId?: undefined;
2572
- status?: undefined;
2573
- topOffCreditsTotal?: undefined;
2574
- }>;
2575
- };
2576
-
2577
- interface OrganizationAccess {
2578
- hasUnlimitedAccess: boolean;
2579
- subscriptionId: string | null;
2580
- organizationId: string | null;
2581
- organizationName: string | null;
2582
- subscriptionEndDate: Date | null;
2583
- accessType: 'organization' | 'individual' | 'institution_subscriptions';
2584
- }
2585
- interface InstitutionSubscription {
2586
- id: string;
2587
- institutionId: string;
2588
- name: string;
2589
- plan: string;
2590
- endDate: Date;
2591
- }
2592
- interface Organization {
2593
- id: string;
2594
- name: string;
2595
- members: string[];
2596
- masterSubscriptionStatus: string;
2597
- masterSubscriptionId: string;
2598
- masterSubscriptionEndDate: Date;
2599
- }
2600
- declare const useOrganizationAccess: () => {
2601
- data: OrganizationAccess;
2602
- error: Error;
2603
- isError: true;
2604
- isPending: false;
2605
- isLoading: false;
2606
- isLoadingError: false;
2607
- isRefetchError: true;
2608
- isSuccess: false;
2609
- isPlaceholderData: false;
2610
- status: "error";
2611
- dataUpdatedAt: number;
2612
- errorUpdatedAt: number;
2613
- failureCount: number;
2614
- failureReason: Error | null;
2615
- errorUpdateCount: number;
2616
- isFetched: boolean;
2617
- isFetchedAfterMount: boolean;
2618
- isFetching: boolean;
2619
- isInitialLoading: boolean;
2620
- isPaused: boolean;
2621
- isRefetching: boolean;
2622
- isStale: boolean;
2623
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<OrganizationAccess, Error>>;
2624
- fetchStatus: _tanstack_react_query.FetchStatus;
2625
- promise: Promise<OrganizationAccess>;
2626
- } | {
2627
- data: OrganizationAccess;
2628
- error: null;
2629
- isError: false;
2630
- isPending: false;
2631
- isLoading: false;
2632
- isLoadingError: false;
2633
- isRefetchError: false;
2634
- isSuccess: true;
2635
- isPlaceholderData: false;
2636
- status: "success";
2637
- dataUpdatedAt: number;
2638
- errorUpdatedAt: number;
2639
- failureCount: number;
2640
- failureReason: Error | null;
2641
- errorUpdateCount: number;
2642
- isFetched: boolean;
2643
- isFetchedAfterMount: boolean;
2644
- isFetching: boolean;
2645
- isInitialLoading: boolean;
2646
- isPaused: boolean;
2647
- isRefetching: boolean;
2648
- isStale: boolean;
2649
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<OrganizationAccess, Error>>;
2650
- fetchStatus: _tanstack_react_query.FetchStatus;
2651
- promise: Promise<OrganizationAccess>;
2652
- } | {
2653
- data: undefined;
2654
- error: Error;
2655
- isError: true;
2656
- isPending: false;
2657
- isLoading: false;
2658
- isLoadingError: true;
2659
- isRefetchError: false;
2660
- isSuccess: false;
2661
- isPlaceholderData: false;
2662
- status: "error";
2663
- dataUpdatedAt: number;
2664
- errorUpdatedAt: number;
2665
- failureCount: number;
2666
- failureReason: Error | null;
2667
- errorUpdateCount: number;
2668
- isFetched: boolean;
2669
- isFetchedAfterMount: boolean;
2670
- isFetching: boolean;
2671
- isInitialLoading: boolean;
2672
- isPaused: boolean;
2673
- isRefetching: boolean;
2674
- isStale: boolean;
2675
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<OrganizationAccess, Error>>;
2676
- fetchStatus: _tanstack_react_query.FetchStatus;
2677
- promise: Promise<OrganizationAccess>;
2678
- } | {
2679
- data: undefined;
2680
- error: null;
2681
- isError: false;
2682
- isPending: true;
2683
- isLoading: true;
2684
- isLoadingError: false;
2685
- isRefetchError: false;
2686
- isSuccess: false;
2687
- isPlaceholderData: false;
2688
- status: "pending";
2689
- dataUpdatedAt: number;
2690
- errorUpdatedAt: number;
2691
- failureCount: number;
2692
- failureReason: Error | null;
2693
- errorUpdateCount: number;
2694
- isFetched: boolean;
2695
- isFetchedAfterMount: boolean;
2696
- isFetching: boolean;
2697
- isInitialLoading: boolean;
2698
- isPaused: boolean;
2699
- isRefetching: boolean;
2700
- isStale: boolean;
2701
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<OrganizationAccess, Error>>;
2702
- fetchStatus: _tanstack_react_query.FetchStatus;
2703
- promise: Promise<OrganizationAccess>;
2704
- } | {
2705
- data: undefined;
2706
- error: null;
2707
- isError: false;
2708
- isPending: true;
2709
- isLoadingError: false;
2710
- isRefetchError: false;
2711
- isSuccess: false;
2712
- isPlaceholderData: false;
2713
- status: "pending";
2714
- dataUpdatedAt: number;
2715
- errorUpdatedAt: number;
2716
- failureCount: number;
2717
- failureReason: Error | null;
2718
- errorUpdateCount: number;
2719
- isFetched: boolean;
2720
- isFetchedAfterMount: boolean;
2721
- isFetching: boolean;
2722
- isLoading: boolean;
2723
- isInitialLoading: boolean;
2724
- isPaused: boolean;
2725
- isRefetching: boolean;
2726
- isStale: boolean;
2727
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<OrganizationAccess, Error>>;
2728
- fetchStatus: _tanstack_react_query.FetchStatus;
2729
- promise: Promise<OrganizationAccess>;
2730
- } | {
2731
- data: OrganizationAccess;
2732
- isError: false;
2733
- error: null;
2734
- isPending: false;
2735
- isLoading: false;
2736
- isLoadingError: false;
2737
- isRefetchError: false;
2738
- isSuccess: true;
2739
- isPlaceholderData: true;
2740
- status: "success";
2741
- dataUpdatedAt: number;
2742
- errorUpdatedAt: number;
2743
- failureCount: number;
2744
- failureReason: Error | null;
2745
- errorUpdateCount: number;
2746
- isFetched: boolean;
2747
- isFetchedAfterMount: boolean;
2748
- isFetching: boolean;
2749
- isInitialLoading: boolean;
2750
- isPaused: boolean;
2751
- isRefetching: boolean;
2752
- isStale: boolean;
2753
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<OrganizationAccess, Error>>;
2754
- fetchStatus: _tanstack_react_query.FetchStatus;
2755
- promise: Promise<OrganizationAccess>;
2756
- };
2757
-
2758
- declare const useUpdateStudentVocab: (page: PageActivityWithId | null) => {
2759
- studentVocabMarkVoiceSuccess: undefined;
2760
- studentVocabMarkVoiceFail: undefined;
2761
- } | {
2762
- studentVocabMarkVoiceSuccess: () => Promise<void>;
2763
- studentVocabMarkVoiceFail: () => Promise<void>;
2764
- };
2765
-
2766
- declare const useBaseOpenAI: ({ onTranscriptSuccess, onTranscriptError, onCompletionSuccess, onCompletionError, aiEnabled, submitAudioResponse, uploadAudioAndGetTranscript, onGetAudioUrlAndTranscript, }: {
2767
- onTranscriptSuccess: (transcript: string) => void;
2768
- onTranscriptError: ({ type, message }: {
2769
- type: string;
2770
- message: string;
2771
- }) => void;
2772
- onCompletionSuccess: (completion: any) => void;
2773
- onCompletionError: ({ type, message }: {
2774
- type: string;
2775
- message: string;
2776
- }) => void;
2777
- aiEnabled: boolean;
2778
- submitAudioResponse: (audio: string) => Promise<{
2779
- url: string;
2780
- fileName: string;
2781
- }>;
2782
- uploadAudioAndGetTranscript: (audio: string, language: string, pagePrompt: string | null) => Promise<{
2783
- transcript: string;
2784
- audioUrl: string;
2785
- }>;
2786
- onGetAudioUrlAndTranscript?: (args: {
2787
- transcript?: string;
2788
- audioUrl?: string;
2789
- }) => void;
2790
- }) => {
2791
- submitAudioResponse: (audio: string) => Promise<{
2792
- url: string;
2793
- fileName: string;
2794
- }>;
2795
- uploadAudioAndGetTranscript: (audio: string, language: string, pagePrompt: string | null) => Promise<{
2796
- transcript: string;
2797
- audioUrl: string;
2798
- }>;
2799
- getTranscript: (audioUrl: string, language: string, prompt?: string) => Promise<any>;
2800
- getFreeResponseCompletion: (messages: string[], isFreeResponse: boolean, feedbackLanguage: string, gradingStandard?: string) => Promise<any>;
2801
- getFeedback: ({ cardId, language, writtenResponse, audio, autoGrade, file, pagePrompt, }: {
2802
- cardId: string;
2803
- language: string;
2804
- writtenResponse: string | null;
2805
- audio: string | null;
2806
- autoGrade: boolean;
2807
- file: string | null;
2808
- pagePrompt: string | null;
2809
- }) => Promise<{
2810
- noFeedbackAvailable: boolean;
2811
- success: boolean;
2812
- reason: string;
2813
- accessType: "ai_enabled" | "teacher_preview" | "student_with_teacher_plan" | "none";
2814
- } | {
2815
- noFeedbackAvailable: boolean;
2816
- success: boolean;
2817
- reason: string;
2818
- accessType: string;
2819
- aiSuccess: boolean;
2820
- }>;
2821
- };
2822
-
2823
- interface ActivityFeedbackAccess {
2824
- canAccessFeedback: boolean;
2825
- reason?: string;
2826
- isUnlimited: boolean;
2827
- accessType: 'ai_enabled' | 'teacher_preview' | 'student_with_teacher_plan' | 'none';
2828
- }
2829
- /**
2830
- * Hook to check feedback permissions for both students and teachers
2831
- *
2832
- * Permission Logic:
2833
- * 1. aiEnabled: true → Allow feedback access always (highest priority)
2834
- * 2. Teachers on /activity route → Always allowed (ADMIN role)
2835
- * 3. Students on /activity route → Need teacher with active plan (team/org)
2836
- *
2837
- * @param params - Parameters for permission checking
2838
- * @returns Feedback permissions information
2839
- */
2840
- declare const useActivityFeedbackAccess: ({ aiEnabled, isActivityRoute, }: {
2841
- aiEnabled?: boolean;
2842
- isActivityRoute?: boolean;
2843
- }) => {
2844
- data: ActivityFeedbackAccess;
2845
- error: Error;
2846
- isError: true;
2847
- isPending: false;
2848
- isLoading: false;
2849
- isLoadingError: false;
2850
- isRefetchError: true;
2851
- isSuccess: false;
2852
- isPlaceholderData: false;
2853
- status: "error";
2854
- dataUpdatedAt: number;
2855
- errorUpdatedAt: number;
2856
- failureCount: number;
2857
- failureReason: Error | null;
2858
- errorUpdateCount: number;
2859
- isFetched: boolean;
2860
- isFetchedAfterMount: boolean;
2861
- isFetching: boolean;
2862
- isInitialLoading: boolean;
2863
- isPaused: boolean;
2864
- isRefetching: boolean;
2865
- isStale: boolean;
2866
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<ActivityFeedbackAccess, Error>>;
2867
- fetchStatus: _tanstack_react_query.FetchStatus;
2868
- promise: Promise<ActivityFeedbackAccess>;
2869
- } | {
2870
- data: ActivityFeedbackAccess;
2871
- error: null;
2872
- isError: false;
2873
- isPending: false;
2874
- isLoading: false;
2875
- isLoadingError: false;
2876
- isRefetchError: false;
2877
- isSuccess: true;
2878
- isPlaceholderData: false;
2879
- status: "success";
2880
- dataUpdatedAt: number;
2881
- errorUpdatedAt: number;
2882
- failureCount: number;
2883
- failureReason: Error | null;
2884
- errorUpdateCount: number;
2885
- isFetched: boolean;
2886
- isFetchedAfterMount: boolean;
2887
- isFetching: boolean;
2888
- isInitialLoading: boolean;
2889
- isPaused: boolean;
2890
- isRefetching: boolean;
2891
- isStale: boolean;
2892
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<ActivityFeedbackAccess, Error>>;
2893
- fetchStatus: _tanstack_react_query.FetchStatus;
2894
- promise: Promise<ActivityFeedbackAccess>;
2895
- } | {
2896
- data: undefined;
2897
- error: Error;
2898
- isError: true;
2899
- isPending: false;
2900
- isLoading: false;
2901
- isLoadingError: true;
2902
- isRefetchError: false;
2903
- isSuccess: false;
2904
- isPlaceholderData: false;
2905
- status: "error";
2906
- dataUpdatedAt: number;
2907
- errorUpdatedAt: number;
2908
- failureCount: number;
2909
- failureReason: Error | null;
2910
- errorUpdateCount: number;
2911
- isFetched: boolean;
2912
- isFetchedAfterMount: boolean;
2913
- isFetching: boolean;
2914
- isInitialLoading: boolean;
2915
- isPaused: boolean;
2916
- isRefetching: boolean;
2917
- isStale: boolean;
2918
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<ActivityFeedbackAccess, Error>>;
2919
- fetchStatus: _tanstack_react_query.FetchStatus;
2920
- promise: Promise<ActivityFeedbackAccess>;
2921
- } | {
2922
- data: undefined;
2923
- error: null;
2924
- isError: false;
2925
- isPending: true;
2926
- isLoading: true;
2927
- isLoadingError: false;
2928
- isRefetchError: false;
2929
- isSuccess: false;
2930
- isPlaceholderData: false;
2931
- status: "pending";
2932
- dataUpdatedAt: number;
2933
- errorUpdatedAt: number;
2934
- failureCount: number;
2935
- failureReason: Error | null;
2936
- errorUpdateCount: number;
2937
- isFetched: boolean;
2938
- isFetchedAfterMount: boolean;
2939
- isFetching: boolean;
2940
- isInitialLoading: boolean;
2941
- isPaused: boolean;
2942
- isRefetching: boolean;
2943
- isStale: boolean;
2944
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<ActivityFeedbackAccess, Error>>;
2945
- fetchStatus: _tanstack_react_query.FetchStatus;
2946
- promise: Promise<ActivityFeedbackAccess>;
2947
- } | {
2948
- data: undefined;
2949
- error: null;
2950
- isError: false;
2951
- isPending: true;
2952
- isLoadingError: false;
2953
- isRefetchError: false;
2954
- isSuccess: false;
2955
- isPlaceholderData: false;
2956
- status: "pending";
2957
- dataUpdatedAt: number;
2958
- errorUpdatedAt: number;
2959
- failureCount: number;
2960
- failureReason: Error | null;
2961
- errorUpdateCount: number;
2962
- isFetched: boolean;
2963
- isFetchedAfterMount: boolean;
2964
- isFetching: boolean;
2965
- isLoading: boolean;
2966
- isInitialLoading: boolean;
2967
- isPaused: boolean;
2968
- isRefetching: boolean;
2969
- isStale: boolean;
2970
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<ActivityFeedbackAccess, Error>>;
2971
- fetchStatus: _tanstack_react_query.FetchStatus;
2972
- promise: Promise<ActivityFeedbackAccess>;
2973
- } | {
2974
- data: ActivityFeedbackAccess;
2975
- isError: false;
2976
- error: null;
2977
- isPending: false;
2978
- isLoading: false;
2979
- isLoadingError: false;
2980
- isRefetchError: false;
2981
- isSuccess: true;
2982
- isPlaceholderData: true;
2983
- status: "success";
2984
- dataUpdatedAt: number;
2985
- errorUpdatedAt: number;
2986
- failureCount: number;
2987
- failureReason: Error | null;
2988
- errorUpdateCount: number;
2989
- isFetched: boolean;
2990
- isFetchedAfterMount: boolean;
2991
- isFetching: boolean;
2992
- isInitialLoading: boolean;
2993
- isPaused: boolean;
2994
- isRefetching: boolean;
2995
- isStale: boolean;
2996
- refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<ActivityFeedbackAccess, Error>>;
2997
- fetchStatus: _tanstack_react_query.FetchStatus;
2998
- promise: Promise<ActivityFeedbackAccess>;
2999
- };
3000
-
3001
447
  declare const createFsClientNative: ({ db, httpsCallable, logEvent }: FsClientParams) => {
3002
448
  assignmentRepo: {
3003
449
  getAssignment: (params: {
@@ -3262,4 +708,4 @@ declare const createFsClientNative: ({ db, httpsCallable, logEvent }: FsClientPa
3262
708
  };
3263
709
  };
3264
710
 
3265
- export { ActivityPageType, type Assignment, type AssignmentAnalyticsType$1 as AssignmentAnalyticsType, type AssignmentWithId, BASE_MULTIPLE_CHOICE_FIELD_VALUES, BASE_REPEAT_FIELD_VALUES, BASE_RESPOND_FIELD_VALUES, type CreditContract, FeedbackTypesCard, FsCtx, type InstitutionSubscription, LENIENCY_OPTIONS, LeniencyCard, MULTIPLE_CHOICE_PAGE_ACTIVITY_TYPES, type Organization, type OrganizationAccess, type PageActivity, type PageActivityWithId, type PageScore, REPEAT_PAGE_ACTIVITY_TYPES, RESPOND_AUDIO_PAGE_ACTIVITY_TYPES, RESPOND_PAGE_ACTIVITY_TYPES, RESPOND_WRITE_PAGE_ACTIVITY_TYPES, type RefsCardsFiresotre, type RefsSetsFirestore, SPEAKABLE_NOTIFICATIONS, STUDENT_LEVELS_OPTIONS, type Score, type ScoreWithId, type Set, type SetWithId, type SpeakableNotificationType, SpeakableNotificationTypes, SpeakableProvider, VerificationCardStatus, assignmentQueryKeys, cardsQueryKeys, checkIsMCPage, checkIsMediaPage, checkIsRepeatPage, checkIsRespondAudioPage, checkIsRespondPage, checkIsRespondWrittenPage, checkIsShortAnswerPage, checkTypePageActivity, cleanString, createAssignmentRepo, createCardRepo, createFsClientNative as createFsClient, createSetRepo, creditQueryKeys, debounce, getCardFromCache, getLabelPage, getPagePrompt, getPhraseLength, getRespondCardTool, getSetFromCache, getTotalCompletedCards, getWordHash, purify, refsCardsFiresotre, refsSetsFirestore, scoreQueryKeys, setsQueryKeys, updateCardInCache, updateSetInCache, useActivity, useActivityFeedbackAccess, useAssignment, useBaseOpenAI, useCards, useClearScore, useClearScoreV2, useCreateCard, useCreateCards, useCreateNotification, useGetCard, useOrganizationAccess, useScore, useSet, useSpeakableApi, useSubmitAssignmentScore, useSubmitPracticeScore, useUpdateCardScore, useUpdateScore, useUpdateStudentVocab, useUserCredits };
711
+ export { createFsClientNative as createFsClient };