@speakableio/core 0.1.64 → 0.1.65

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.
@@ -30,142 +30,492 @@ interface FirestoreHelpers {
30
30
  type CustomTimestamp = Timestamp | Timestamp$1;
31
31
  type CallableFunction<T = any, R = any> = (data: T) => Promise<R>;
32
32
 
33
- interface Assignment {
34
- name: string;
35
- description: string;
36
- scheduledTime?: string | null;
37
- dueTime?: {
38
- hours: number;
39
- minutes: number;
40
- nanos: number;
41
- };
42
- speakableio: boolean;
43
- owners: string[];
44
- image: {
45
- path: string | null;
46
- url: string;
47
- };
48
- dueDate: {
49
- day: number;
50
- month: number;
51
- year: number;
52
- };
53
- teacherName: string;
54
- courseWorkId: string | null;
55
- dueDateTimestamp: CustomTimestamp;
56
- scheduledTimeTimestamp: number;
57
- active: boolean;
58
- voice: string | null;
59
- setId: string;
60
- dateMade: {
61
- seconds: number;
62
- nanoseconds: number;
63
- };
64
- maxPoints: number;
65
- courseId: string;
66
- isAssessment: boolean;
67
- isAvailable: boolean;
68
- ltiDeeplink?: string;
69
- content?: string[];
70
- weights?: Record<string, number>;
71
- language?: string;
33
+ declare const enum FeedbackTypesCard {
34
+ SuggestedResponse = "suggested_response",
35
+ Wida = "wida",
36
+ GrammarInsights = "grammar_insights",
37
+ Actfl = "actfl",
38
+ ProficiencyLevel = "proficiency_level"
72
39
  }
73
- interface AssignmentWithId extends Assignment {
74
- id: string;
75
- isAvailable: boolean;
76
- scores?: unknown;
40
+ declare const enum LeniencyCard {
41
+ CONFIDENCE = "confidence",
42
+ EASY = "easy",
43
+ NORMAL = "normal",
44
+ HARD = "hard"
77
45
  }
78
- interface Score {
79
- userId: string;
80
- owners: string[];
81
- progress: number;
82
- score: number;
83
- cards?: {
84
- [cardId: string]: CardScore;
85
- };
86
- courseId?: string;
87
- firstLoad?: boolean;
88
- googleClassroomUserId?: string;
89
- skippedCards?: number;
90
- lastPlayed?: CustomTimestamp;
91
- startDate?: CustomTimestamp;
92
- submissionDate?: CustomTimestamp;
93
- status?: 'SUBMITTED' | 'PENDING_REVIEW' | 'IN_PROGRESS' | 'FINALIZED';
94
- submitted?: boolean;
95
- successfulCards?: number;
96
- total_voiceSuccess?: number;
97
- total_voice_attempts?: number;
98
- total_words_spoken?: number;
99
- history?: CardScore[];
100
- attempts?: number;
101
- assignmentId?: string;
102
- setId?: string;
46
+ declare const LENIENCY_OPTIONS: {
47
+ label: string;
48
+ value: LeniencyCard;
49
+ }[];
50
+ declare const STUDENT_LEVELS_OPTIONS: {
51
+ label: string;
52
+ description: string;
53
+ value: string;
54
+ }[];
55
+ declare const BASE_RESPOND_FIELD_VALUES: {
56
+ title: string;
57
+ allowRetries: boolean;
58
+ respondTime: number;
59
+ maxCharacters: number;
60
+ };
61
+ declare const BASE_REPEAT_FIELD_VALUES: {
62
+ repeat: number;
63
+ };
64
+ declare const BASE_MULTIPLE_CHOICE_FIELD_VALUES: {
65
+ MCQType: string;
66
+ answer: string[];
67
+ choices: {
68
+ option: string;
69
+ value: string;
70
+ }[];
71
+ };
72
+ declare const enum VerificationCardStatus {
73
+ VERIFIED = "VERIFIED",
74
+ WARNING = "WARNING",
75
+ NOT_RECOMMENDED = "NOT_RECOMMENDED",
76
+ NOT_WORKING = "NOT_WORKING",
77
+ NOT_CHECKED = "NOT_CHECKED"
103
78
  }
104
- interface ScoreWithId extends Score {
79
+ declare const CARDS_COLLECTION = "flashcards";
80
+ type RefsCardsFiresotre = `${typeof CARDS_COLLECTION}/${string}`;
81
+ declare const refsCardsFiresotre: {
82
+ allCards: string;
83
+ card: (id: string) => `flashcards/${string}`;
84
+ };
85
+
86
+ interface PageActivityWithId extends PageActivity {
105
87
  id: string;
106
88
  }
107
- interface CardScore {
108
- voiceSuccess?: number;
109
- voiceAttempts?: number;
110
- voiceFail?: number;
89
+ interface PageActivity {
90
+ owners: string[];
91
+ checked?: boolean;
111
92
  completed?: boolean;
112
- attempts?: number;
113
- correct?: number;
114
- success?: boolean;
115
- aiSuccess?: boolean;
116
- grading_method?: 'simple' | 'rubric' | 'manual' | 'standards_based';
117
- grammar_insights?: {
118
- type?: string;
119
- justification?: string;
120
- error?: boolean;
121
- correction?: string;
122
- }[];
123
- promptSuccess?: boolean;
93
+ media_area_id?: string | null;
94
+ media_area_layout?: 'left' | 'right' | null;
124
95
  score?: number;
125
- simple_grading?: {
126
- justification?: string;
127
- success?: boolean;
128
- };
129
- suggested_response?: string;
130
- summary?: string;
131
- transcript?: string;
132
- errors?: any;
133
- improvedResponse?: string;
134
- audio?: string;
135
- actfl?: {
136
- justification: string;
137
- level: string;
138
- };
139
- wida?: {
140
- justification: string;
141
- level: string;
96
+ verificationStatus?: VerificationCardStatus;
97
+ native_text?: string;
98
+ repeat?: number;
99
+ language?: string | null;
100
+ image?: {
101
+ path?: string | null;
102
+ url?: string;
142
103
  };
143
- earned_points?: number;
144
- fileName?: string;
145
- max_points?: number;
104
+ audio?: {
105
+ path?: string | null;
106
+ url?: string;
107
+ } | null;
108
+ notes?: string;
109
+ difficulty?: string;
110
+ default_language?: string;
111
+ target_text?: string;
112
+ type: ActivityPageType;
113
+ grading_criteria?: string;
114
+ scoring_type?: string;
115
+ grading_method?: 'simple' | 'rubric' | 'manual' | 'standards_based';
116
+ feedback_types?: string[];
117
+ rubricId?: string;
118
+ prompt?: string;
119
+ title?: string;
146
120
  passing_score?: number;
147
- rubric?: {
148
- description: string;
149
- justification: string;
150
- maxPoints: number;
151
- score: number;
152
- score_title: string;
153
- title: string;
121
+ maxCharacters?: number;
122
+ answer?: string[];
123
+ choices?: {
124
+ value: string;
125
+ option: string;
154
126
  }[];
155
- scoring_type?: string;
156
- history?: CardScore[];
157
- media_area_opened?: boolean;
158
- noFeedbackAvailable?: boolean;
159
- proficiency_level?: {
160
- standardId: string;
161
- level: string;
162
- justification: string;
163
- key_indicators?: string[];
164
- };
165
- status?: string;
127
+ MCQType?: string;
128
+ multipleAttemptsAllowed?: boolean;
129
+ allowRetries?: boolean;
130
+ question?: string;
131
+ respondTime?: number;
132
+ hidePrompt?: boolean;
133
+ videoUrl?: string;
134
+ link?: string;
135
+ text?: string;
136
+ isListenAloud?: boolean;
137
+ embedCode?: string;
138
+ attempt?: number;
139
+ correct?: number;
140
+ autoGrade?: boolean;
141
+ points?: number;
142
+ shuffle?: boolean;
143
+ translation?: string;
144
+ includeAIContext?: boolean;
145
+ media_area_context_ref?: string | null;
146
+ standardId?: string;
147
+ target_proficiency_level?: string;
148
+ allowTTS?: boolean;
149
+ }
150
+ declare const enum ActivityPageType {
151
+ READ_REPEAT = "READ_REPEAT",
152
+ VIDEO = "VIDEO",
153
+ TEXT = "TEXT",
154
+ READ_RESPOND = "READ_RESPOND",
155
+ FREE_RESPONSE = "FREE_RESPONSE",
156
+ REPEAT = "REPEAT",
157
+ RESPOND = "RESPOND",
158
+ RESPOND_WRITE = "RESPOND_WRITE",
159
+ TEXT_TO_SPEECH = "TEXT_TO_SPEECH",
160
+ MULTIPLE_CHOICE = "MULTIPLE_CHOICE",
161
+ PODCAST = "PODCAST",
162
+ MEDIA_PAGE = "MEDIA_PAGE",
163
+ WRITE = "WRITE",
164
+ SHORT_ANSWER = "SHORT_ANSWER",
165
+ SHORT_STORY = "SHORT_STORY",
166
+ SPEAK = "SPEAK",
167
+ CONVERSATION = "CONVERSATION",
168
+ CONVERSATION_WRITE = "CONVERSATION_WRITE",
169
+ DIALOGUE = "DIALOGUE",
170
+ INSTRUCTION = "INSTRUCTION",
171
+ LISTEN = "LISTEN",
172
+ READ = "READ",
173
+ ANSWER = "ANSWER"
166
174
  }
175
+ declare const RESPOND_PAGE_ACTIVITY_TYPES: ActivityPageType[];
176
+ declare const MULTIPLE_CHOICE_PAGE_ACTIVITY_TYPES: ActivityPageType[];
177
+ declare const REPEAT_PAGE_ACTIVITY_TYPES: ActivityPageType[];
178
+ declare const RESPOND_WRITE_PAGE_ACTIVITY_TYPES: ActivityPageType[];
179
+ declare const RESPOND_AUDIO_PAGE_ACTIVITY_TYPES: ActivityPageType[];
167
180
 
168
- declare const enum AssignmentAnalyticsType {
181
+ declare const cardsQueryKeys: {
182
+ all: string[];
183
+ one: (params: {
184
+ cardId: string;
185
+ }) => string[];
186
+ };
187
+ declare function useCards({ cardIds, enabled, asObject, }: {
188
+ cardIds: string[];
189
+ enabled: boolean;
190
+ asObject?: boolean;
191
+ }): {
192
+ cards: PageActivityWithId[];
193
+ cardsObject: Record<string, PageActivityWithId> | null;
194
+ cardsQueries: _tanstack_react_query.UseQueryResult<PageActivityWithId | null, Error>[];
195
+ };
196
+ declare function useCreateCard(): {
197
+ mutationCreateCard: _tanstack_react_query.UseMutationResult<{
198
+ id: string;
199
+ } & Partial<PageActivity>, Error, {
200
+ data: Partial<PageActivity>;
201
+ }, unknown>;
202
+ };
203
+ declare function useCreateCards(): {
204
+ mutationCreateCards: _tanstack_react_query.UseMutationResult<{
205
+ id: string;
206
+ owners: string[];
207
+ checked?: boolean;
208
+ completed?: boolean;
209
+ media_area_id?: string | null;
210
+ media_area_layout?: "left" | "right" | null;
211
+ score?: number;
212
+ verificationStatus?: VerificationCardStatus;
213
+ native_text?: string;
214
+ repeat?: number;
215
+ language?: string | null;
216
+ image?: {
217
+ path?: string | null;
218
+ url?: string;
219
+ };
220
+ audio?: {
221
+ path?: string | null;
222
+ url?: string;
223
+ } | null;
224
+ notes?: string;
225
+ difficulty?: string;
226
+ default_language?: string;
227
+ target_text?: string;
228
+ type: ActivityPageType;
229
+ grading_criteria?: string;
230
+ scoring_type?: string;
231
+ grading_method?: "simple" | "rubric" | "manual" | "standards_based";
232
+ feedback_types?: string[];
233
+ rubricId?: string;
234
+ prompt?: string;
235
+ title?: string;
236
+ passing_score?: number;
237
+ maxCharacters?: number;
238
+ answer?: string[];
239
+ choices?: {
240
+ value: string;
241
+ option: string;
242
+ }[];
243
+ MCQType?: string;
244
+ multipleAttemptsAllowed?: boolean;
245
+ allowRetries?: boolean;
246
+ question?: string;
247
+ respondTime?: number;
248
+ hidePrompt?: boolean;
249
+ videoUrl?: string;
250
+ link?: string;
251
+ text?: string;
252
+ isListenAloud?: boolean;
253
+ embedCode?: string;
254
+ attempt?: number;
255
+ correct?: number;
256
+ autoGrade?: boolean;
257
+ points?: number;
258
+ shuffle?: boolean;
259
+ translation?: string;
260
+ includeAIContext?: boolean;
261
+ media_area_context_ref?: string | null;
262
+ standardId?: string;
263
+ target_proficiency_level?: string;
264
+ allowTTS?: boolean;
265
+ }[], Error, {
266
+ cards: PageActivity[];
267
+ }, unknown>;
268
+ };
269
+ declare function getCardFromCache({ cardId, queryClient, }: {
270
+ cardId: string;
271
+ queryClient: QueryClient;
272
+ }): PageActivityWithId | undefined;
273
+ declare function updateCardInCache({ cardId, card, queryClient, }: {
274
+ cardId: string;
275
+ card: PageActivityWithId | null;
276
+ queryClient: QueryClient;
277
+ }): void;
278
+ declare function useGetCard({ cardId, enabled }: {
279
+ cardId: string;
280
+ enabled?: boolean;
281
+ }): _tanstack_react_query.UseQueryResult<PageActivityWithId | null, Error>;
282
+
283
+ declare const createCardRepo: () => {
284
+ createCard: (args_0: {
285
+ data: Partial<PageActivity>;
286
+ }) => Promise<{
287
+ id: string;
288
+ } & Partial<PageActivity>>;
289
+ createCards: (args_0: {
290
+ cards: PageActivity[];
291
+ }) => Promise<{
292
+ id: string;
293
+ owners: string[];
294
+ checked?: boolean;
295
+ completed?: boolean;
296
+ media_area_id?: string | null;
297
+ media_area_layout?: "left" | "right" | null;
298
+ score?: number;
299
+ verificationStatus?: VerificationCardStatus;
300
+ native_text?: string;
301
+ repeat?: number;
302
+ language?: string | null;
303
+ image?: {
304
+ path?: string | null;
305
+ url?: string;
306
+ };
307
+ audio?: {
308
+ path?: string | null;
309
+ url?: string;
310
+ } | null;
311
+ notes?: string;
312
+ difficulty?: string;
313
+ default_language?: string;
314
+ target_text?: string;
315
+ type: ActivityPageType;
316
+ grading_criteria?: string;
317
+ scoring_type?: string;
318
+ grading_method?: "simple" | "rubric" | "manual" | "standards_based";
319
+ feedback_types?: string[];
320
+ rubricId?: string;
321
+ prompt?: string;
322
+ title?: string;
323
+ passing_score?: number;
324
+ maxCharacters?: number;
325
+ answer?: string[];
326
+ choices?: {
327
+ value: string;
328
+ option: string;
329
+ }[];
330
+ MCQType?: string;
331
+ multipleAttemptsAllowed?: boolean;
332
+ allowRetries?: boolean;
333
+ question?: string;
334
+ respondTime?: number;
335
+ hidePrompt?: boolean;
336
+ videoUrl?: string;
337
+ link?: string;
338
+ text?: string;
339
+ isListenAloud?: boolean;
340
+ embedCode?: string;
341
+ attempt?: number;
342
+ correct?: number;
343
+ autoGrade?: boolean;
344
+ points?: number;
345
+ shuffle?: boolean;
346
+ translation?: string;
347
+ includeAIContext?: boolean;
348
+ media_area_context_ref?: string | null;
349
+ standardId?: string;
350
+ target_proficiency_level?: string;
351
+ allowTTS?: boolean;
352
+ }[]>;
353
+ getCard: (params: {
354
+ cardId: string;
355
+ }) => Promise<PageActivityWithId | null>;
356
+ };
357
+
358
+ declare function checkIsRepeatPage(cardType: ActivityPageType | undefined): boolean;
359
+ declare function checkIsMCPage(cardType: ActivityPageType | undefined): boolean;
360
+ declare function checkIsRespondPage(cardType: ActivityPageType | undefined): boolean;
361
+ declare function checkIsRespondWrittenPage(cardType: ActivityPageType | undefined): boolean;
362
+ declare function checkIsRespondAudioPage(cardType: ActivityPageType | undefined): boolean;
363
+ declare const checkIsMediaPage: (cardType: ActivityPageType | undefined) => boolean;
364
+ declare const checkIsShortAnswerPage: (cardType: ActivityPageType | undefined) => boolean;
365
+ declare const checkTypePageActivity: (cardType: ActivityPageType | undefined) => {
366
+ isRespondAudio: boolean;
367
+ isRespondWritten: boolean;
368
+ isRespond: boolean;
369
+ isMC: boolean;
370
+ isRepeat: boolean;
371
+ isMediaPage: boolean;
372
+ isShortAnswer: boolean;
373
+ };
374
+
375
+ declare function getPagePrompt(card: PageActivityWithId | undefined): {
376
+ has: boolean;
377
+ text: string | undefined;
378
+ };
379
+
380
+ interface Assignment {
381
+ name: string;
382
+ description: string;
383
+ scheduledTime?: string | null;
384
+ dueTime?: {
385
+ hours: number;
386
+ minutes: number;
387
+ nanos: number;
388
+ };
389
+ speakableio: boolean;
390
+ owners: string[];
391
+ image: {
392
+ path: string | null;
393
+ url: string;
394
+ };
395
+ dueDate: {
396
+ day: number;
397
+ month: number;
398
+ year: number;
399
+ };
400
+ teacherName: string;
401
+ courseWorkId: string | null;
402
+ dueDateTimestamp: CustomTimestamp;
403
+ scheduledTimeTimestamp: number;
404
+ active: boolean;
405
+ voice: string | null;
406
+ setId: string;
407
+ dateMade: {
408
+ seconds: number;
409
+ nanoseconds: number;
410
+ };
411
+ maxPoints: number;
412
+ courseId: string;
413
+ isAssessment: boolean;
414
+ isAvailable: boolean;
415
+ ltiDeeplink?: string;
416
+ content?: string[];
417
+ weights?: Record<string, number>;
418
+ language?: string;
419
+ types?: {
420
+ [key in ActivityPageType]?: number;
421
+ };
422
+ }
423
+ interface AssignmentWithId extends Assignment {
424
+ id: string;
425
+ isAvailable: boolean;
426
+ scores?: unknown;
427
+ }
428
+ interface Score {
429
+ userId: string;
430
+ owners: string[];
431
+ progress: number;
432
+ score: number;
433
+ cards?: {
434
+ [cardId: string]: PageScore;
435
+ };
436
+ courseId?: string;
437
+ firstLoad?: boolean;
438
+ googleClassroomUserId?: string;
439
+ skippedCards?: number;
440
+ lastPlayed?: CustomTimestamp;
441
+ startDate?: CustomTimestamp;
442
+ submissionDate?: CustomTimestamp;
443
+ status?: 'SUBMITTED' | 'PENDING_REVIEW' | 'IN_PROGRESS' | 'FINALIZED';
444
+ submitted?: boolean;
445
+ successfulCards?: number;
446
+ total_voiceSuccess?: number;
447
+ total_voice_attempts?: number;
448
+ total_words_spoken?: number;
449
+ history?: PageScore[];
450
+ attempts?: number;
451
+ assignmentId?: string;
452
+ setId?: string;
453
+ }
454
+ interface ScoreWithId extends Score {
455
+ id: string;
456
+ }
457
+ interface PageScore {
458
+ voiceSuccess?: number;
459
+ voiceAttempts?: number;
460
+ voiceFail?: number;
461
+ completed?: boolean;
462
+ attempts?: number;
463
+ correct?: number;
464
+ success?: boolean;
465
+ aiSuccess?: boolean;
466
+ grading_method?: 'simple' | 'rubric' | 'manual' | 'standards_based';
467
+ grammar_insights?: {
468
+ type?: string;
469
+ justification?: string;
470
+ error?: boolean;
471
+ correction?: string;
472
+ }[];
473
+ promptSuccess?: boolean;
474
+ score?: number;
475
+ simple_grading?: {
476
+ justification?: string;
477
+ success?: boolean;
478
+ };
479
+ suggested_response?: string;
480
+ summary?: string;
481
+ transcript?: string;
482
+ errors?: any;
483
+ improvedResponse?: string;
484
+ audio?: string;
485
+ actfl?: {
486
+ justification: string;
487
+ level: string;
488
+ };
489
+ wida?: {
490
+ justification: string;
491
+ level: string;
492
+ };
493
+ earned_points?: number;
494
+ fileName?: string;
495
+ max_points?: number;
496
+ passing_score?: number;
497
+ rubric?: {
498
+ description: string;
499
+ justification: string;
500
+ maxPoints: number;
501
+ score: number;
502
+ score_title: string;
503
+ title: string;
504
+ }[];
505
+ scoring_type?: string;
506
+ history?: PageScore[];
507
+ media_area_opened?: boolean;
508
+ noFeedbackAvailable?: boolean;
509
+ proficiency_level?: {
510
+ standardId: string;
511
+ level: string;
512
+ justification: string;
513
+ key_indicators?: string[];
514
+ };
515
+ status?: string;
516
+ }
517
+
518
+ declare const enum AssignmentAnalyticsType {
169
519
  Macro = "macro",
170
520
  Gradebook = "gradebook",
171
521
  Cards = "cards",
@@ -221,6 +571,7 @@ declare const createAssignmentRepo: () => {
221
571
  content?: string[];
222
572
  weights?: Record<string, number>;
223
573
  language?: string;
574
+ types?: { [key in ActivityPageType]?: number; };
224
575
  } | null>;
225
576
  attachScoresAssignment: (args_0: {
226
577
  assignments: AssignmentWithId[];
@@ -268,6 +619,7 @@ declare const createAssignmentRepo: () => {
268
619
  content?: string[];
269
620
  weights?: Record<string, number>;
270
621
  language?: string;
622
+ types?: { [key in ActivityPageType]?: number; };
271
623
  }[]>;
272
624
  getAssignmentScores: (args_0: {
273
625
  assignmentId: string;
@@ -334,6 +686,7 @@ declare function useAssignment({ assignmentId, enabled, analyticType, userId, }:
334
686
  content?: string[];
335
687
  weights?: Record<string, number>;
336
688
  language?: string;
689
+ types?: { [key in ActivityPageType]?: number; };
337
690
  } | null, Error>;
338
691
 
339
692
  declare const scoreQueryKeys: {
@@ -341,435 +694,88 @@ declare const scoreQueryKeys: {
341
694
  byId: (id: string) => readonly ["scores", string];
342
695
  list: () => readonly ["scores", "list"];
343
696
  };
344
- declare function useScore({ isAssignment, activityId, userId, courseId, enabled, googleClassroomUserId, }: {
345
- userId: string;
346
- isAssignment: boolean;
347
- activityId: string;
348
- courseId?: string;
349
- enabled?: boolean;
350
- googleClassroomUserId?: string;
351
- }): _tanstack_react_query.UseQueryResult<ScoreWithId, Error>;
352
- declare function useUpdateScore(): {
353
- mutationUpdateScore: _tanstack_react_query.UseMutationResult<Promise<void>, Error, {
354
- userId: string;
355
- data: Partial<Score>;
356
- isAssignment: boolean;
357
- activityId: string;
358
- }, {
359
- previousData: Partial<Score> | undefined;
360
- }>;
361
- };
362
- declare function useUpdateCardScore({ isAssignment, activityId, userId, cardIds, weights, }: {
363
- isAssignment: boolean;
364
- userId: string;
365
- activityId: string;
366
- cardIds: string[];
367
- weights: Record<string, number>;
368
- }): {
369
- mutationUpdateCardScore: _tanstack_react_query.UseMutationResult<{
370
- cardId: string;
371
- scoresUpdated: Score;
372
- }, Error, {
373
- cardId: string;
374
- cardScore: CardScore;
375
- }, void>;
376
- };
377
- declare function useClearScore(): {
378
- mutationClearScore: _tanstack_react_query.UseMutationResult<{
379
- update: Partial<Score>;
380
- activityId: string;
381
- }, Error, {
382
- isAssignment: boolean;
383
- cardId: string;
384
- cardScores: CardScore;
385
- userId: string;
386
- activityId: string;
387
- }, unknown>;
388
- };
389
- declare function useSubmitAssignmentScore({ onAssignmentSubmitted, studentName, }: {
390
- onAssignmentSubmitted: (assignmentId: string) => void;
391
- studentName: string;
392
- }): {
393
- submitAssignmentScore: _tanstack_react_query.UseMutateAsyncFunction<{
394
- success: boolean;
395
- message: string;
396
- error?: undefined;
397
- } | {
398
- success: boolean;
399
- error: unknown;
400
- message?: undefined;
401
- }, Error, {
402
- assignment: AssignmentWithId;
403
- userId: string;
404
- cardIds: string[];
405
- weights: Record<string, number>;
406
- scores: Score;
407
- status: "FINALIZED" | "IN_PROGRESS" | "PENDING_REVIEW";
408
- }, unknown>;
409
- isLoading: boolean;
410
- };
411
- declare function useSubmitPracticeScore(): {
412
- submitPracticeScore: _tanstack_react_query.UseMutateAsyncFunction<{
413
- success: boolean;
414
- message: string;
415
- error?: undefined;
416
- } | {
417
- success: boolean;
418
- error: unknown;
419
- message?: undefined;
420
- }, Error, {
421
- setId: string;
422
- userId: string;
423
- scores: Score;
424
- }, unknown>;
425
- isLoading: boolean;
426
- };
427
-
428
- declare const enum FeedbackTypesCard {
429
- SuggestedResponse = "suggested_response",
430
- Wida = "wida",
431
- GrammarInsights = "grammar_insights",
432
- Actfl = "actfl",
433
- ProficiencyLevel = "proficiency_level"
434
- }
435
- declare const enum LeniencyCard {
436
- CONFIDENCE = "confidence",
437
- EASY = "easy",
438
- NORMAL = "normal",
439
- HARD = "hard"
440
- }
441
- declare const LENIENCY_OPTIONS: {
442
- label: string;
443
- value: LeniencyCard;
444
- }[];
445
- declare const STUDENT_LEVELS_OPTIONS: {
446
- label: string;
447
- description: string;
448
- value: string;
449
- }[];
450
- declare const BASE_RESPOND_FIELD_VALUES: {
451
- title: string;
452
- allowRetries: boolean;
453
- respondTime: number;
454
- maxCharacters: number;
455
- };
456
- declare const BASE_REPEAT_FIELD_VALUES: {
457
- repeat: number;
458
- };
459
- declare const BASE_MULTIPLE_CHOICE_FIELD_VALUES: {
460
- MCQType: string;
461
- answer: string[];
462
- choices: {
463
- option: string;
464
- value: string;
465
- }[];
466
- };
467
- declare const enum VerificationCardStatus {
468
- VERIFIED = "VERIFIED",
469
- WARNING = "WARNING",
470
- NOT_RECOMMENDED = "NOT_RECOMMENDED",
471
- NOT_WORKING = "NOT_WORKING",
472
- NOT_CHECKED = "NOT_CHECKED"
473
- }
474
- declare const CARDS_COLLECTION = "flashcards";
475
- type RefsCardsFiresotre = `${typeof CARDS_COLLECTION}/${string}`;
476
- declare const refsCardsFiresotre: {
477
- allCards: string;
478
- card: (id: string) => `flashcards/${string}`;
479
- };
480
-
481
- interface PageActivityWithId extends PageActivity {
482
- id: string;
483
- }
484
- interface PageActivity {
485
- owners: string[];
486
- checked?: boolean;
487
- completed?: boolean;
488
- media_area_id?: string | null;
489
- media_area_layout?: 'left' | 'right' | null;
490
- score?: number;
491
- verificationStatus?: VerificationCardStatus;
492
- native_text?: string;
493
- repeat?: number;
494
- language?: string | null;
495
- image?: {
496
- path?: string | null;
497
- url?: string;
498
- };
499
- audio?: {
500
- path?: string | null;
501
- url?: string;
502
- } | null;
503
- notes?: string;
504
- difficulty?: string;
505
- default_language?: string;
506
- target_text?: string;
507
- type: ActivityPageType;
508
- grading_criteria?: string;
509
- scoring_type?: string;
510
- grading_method?: 'simple' | 'rubric' | 'manual' | 'standards_based';
511
- feedback_types?: string[];
512
- rubricId?: string;
513
- prompt?: string;
514
- title?: string;
515
- passing_score?: number;
516
- maxCharacters?: number;
517
- answer?: string[];
518
- choices?: {
519
- value: string;
520
- option: string;
521
- }[];
522
- MCQType?: string;
523
- multipleAttemptsAllowed?: boolean;
524
- allowRetries?: boolean;
525
- question?: string;
526
- respondTime?: number;
527
- hidePrompt?: boolean;
528
- videoUrl?: string;
529
- link?: string;
530
- text?: string;
531
- isListenAloud?: boolean;
532
- embedCode?: string;
533
- attempt?: number;
534
- correct?: number;
535
- autoGrade?: boolean;
536
- points?: number;
537
- shuffle?: boolean;
538
- translation?: string;
539
- includeAIContext?: boolean;
540
- media_area_context_ref?: string | null;
541
- standardId?: string;
542
- target_proficiency_level?: string;
543
- allowTTS?: boolean;
544
- }
545
- declare const enum ActivityPageType {
546
- READ_REPEAT = "READ_REPEAT",
547
- VIDEO = "VIDEO",
548
- TEXT = "TEXT",
549
- READ_RESPOND = "READ_RESPOND",
550
- FREE_RESPONSE = "FREE_RESPONSE",
551
- REPEAT = "REPEAT",
552
- RESPOND = "RESPOND",
553
- RESPOND_WRITE = "RESPOND_WRITE",
554
- TEXT_TO_SPEECH = "TEXT_TO_SPEECH",
555
- MULTIPLE_CHOICE = "MULTIPLE_CHOICE",
556
- PODCAST = "PODCAST",
557
- MEDIA_PAGE = "MEDIA_PAGE",
558
- WRITE = "WRITE",
559
- SHORT_ANSWER = "SHORT_ANSWER",
560
- SHORT_STORY = "SHORT_STORY",
561
- SPEAK = "SPEAK",
562
- CONVERSATION = "CONVERSATION",
563
- CONVERSATION_WRITE = "CONVERSATION_WRITE",
564
- DIALOGUE = "DIALOGUE",
565
- INSTRUCTION = "INSTRUCTION",
566
- LISTEN = "LISTEN",
567
- READ = "READ",
568
- ANSWER = "ANSWER"
569
- }
570
- declare const RESPOND_PAGE_ACTIVITY_TYPES: ActivityPageType[];
571
- declare const MULTIPLE_CHOICE_PAGE_ACTIVITY_TYPES: ActivityPageType[];
572
- declare const REPEAT_PAGE_ACTIVITY_TYPES: ActivityPageType[];
573
- declare const RESPOND_WRITE_PAGE_ACTIVITY_TYPES: ActivityPageType[];
574
- declare const RESPOND_AUDIO_PAGE_ACTIVITY_TYPES: ActivityPageType[];
575
-
576
- declare const cardsQueryKeys: {
577
- all: string[];
578
- one: (params: {
579
- cardId: string;
580
- }) => string[];
697
+ declare function useScore({ isAssignment, activityId, userId, courseId, enabled, googleClassroomUserId, }: {
698
+ userId: string;
699
+ isAssignment: boolean;
700
+ activityId: string;
701
+ courseId?: string;
702
+ enabled?: boolean;
703
+ googleClassroomUserId?: string;
704
+ }): _tanstack_react_query.UseQueryResult<ScoreWithId, Error>;
705
+ declare function useUpdateScore(): {
706
+ mutationUpdateScore: _tanstack_react_query.UseMutationResult<Promise<void>, Error, {
707
+ userId: string;
708
+ data: Partial<Score>;
709
+ isAssignment: boolean;
710
+ activityId: string;
711
+ }, {
712
+ previousData: Partial<Score> | undefined;
713
+ }>;
581
714
  };
582
- declare function useCards({ cardIds, enabled, asObject, }: {
715
+ declare function useUpdateCardScore({ isAssignment, activityId, userId, cardIds, weights, }: {
716
+ isAssignment: boolean;
717
+ userId: string;
718
+ activityId: string;
583
719
  cardIds: string[];
584
- enabled: boolean;
585
- asObject?: boolean;
720
+ weights: Record<string, number>;
586
721
  }): {
587
- cards: PageActivityWithId[];
588
- cardsObject: Record<string, PageActivityWithId> | null;
589
- cardsQueries: _tanstack_react_query.UseQueryResult<PageActivityWithId | null, Error>[];
722
+ mutationUpdateCardScore: _tanstack_react_query.UseMutationResult<{
723
+ cardId: string;
724
+ scoresUpdated: Score;
725
+ }, Error, {
726
+ cardId: string;
727
+ cardScore: PageScore;
728
+ }, void>;
590
729
  };
591
- declare function useCreateCard(): {
592
- mutationCreateCard: _tanstack_react_query.UseMutationResult<{
593
- id: string;
594
- } & Partial<PageActivity>, Error, {
595
- data: Partial<PageActivity>;
730
+ declare function useClearScore(): {
731
+ mutationClearScore: _tanstack_react_query.UseMutationResult<{
732
+ update: Partial<Score>;
733
+ activityId: string;
734
+ }, Error, {
735
+ isAssignment: boolean;
736
+ cardId: string;
737
+ cardScores: PageScore;
738
+ userId: string;
739
+ activityId: string;
596
740
  }, unknown>;
597
741
  };
598
- declare function useCreateCards(): {
599
- mutationCreateCards: _tanstack_react_query.UseMutationResult<{
600
- id: string;
601
- owners: string[];
602
- checked?: boolean;
603
- completed?: boolean;
604
- media_area_id?: string | null;
605
- media_area_layout?: "left" | "right" | null;
606
- score?: number;
607
- verificationStatus?: VerificationCardStatus;
608
- native_text?: string;
609
- repeat?: number;
610
- language?: string | null;
611
- image?: {
612
- path?: string | null;
613
- url?: string;
614
- };
615
- audio?: {
616
- path?: string | null;
617
- url?: string;
618
- } | null;
619
- notes?: string;
620
- difficulty?: string;
621
- default_language?: string;
622
- target_text?: string;
623
- type: ActivityPageType;
624
- grading_criteria?: string;
625
- scoring_type?: string;
626
- grading_method?: "simple" | "rubric" | "manual" | "standards_based";
627
- feedback_types?: string[];
628
- rubricId?: string;
629
- prompt?: string;
630
- title?: string;
631
- passing_score?: number;
632
- maxCharacters?: number;
633
- answer?: string[];
634
- choices?: {
635
- value: string;
636
- option: string;
637
- }[];
638
- MCQType?: string;
639
- multipleAttemptsAllowed?: boolean;
640
- allowRetries?: boolean;
641
- question?: string;
642
- respondTime?: number;
643
- hidePrompt?: boolean;
644
- videoUrl?: string;
645
- link?: string;
646
- text?: string;
647
- isListenAloud?: boolean;
648
- embedCode?: string;
649
- attempt?: number;
650
- correct?: number;
651
- autoGrade?: boolean;
652
- points?: number;
653
- shuffle?: boolean;
654
- translation?: string;
655
- includeAIContext?: boolean;
656
- media_area_context_ref?: string | null;
657
- standardId?: string;
658
- target_proficiency_level?: string;
659
- allowTTS?: boolean;
660
- }[], Error, {
661
- cards: PageActivity[];
742
+ declare function useSubmitAssignmentScore({ onAssignmentSubmitted, studentName, }: {
743
+ onAssignmentSubmitted: (assignmentId: string) => void;
744
+ studentName: string;
745
+ }): {
746
+ submitAssignmentScore: _tanstack_react_query.UseMutateAsyncFunction<{
747
+ success: boolean;
748
+ message: string;
749
+ error?: undefined;
750
+ } | {
751
+ success: boolean;
752
+ error: unknown;
753
+ message?: undefined;
754
+ }, Error, {
755
+ assignment: AssignmentWithId;
756
+ userId: string;
757
+ cardIds: string[];
758
+ weights: Record<string, number>;
759
+ scores: Score;
760
+ status: "FINALIZED" | "IN_PROGRESS" | "PENDING_REVIEW";
662
761
  }, unknown>;
762
+ isLoading: boolean;
663
763
  };
664
- declare function getCardFromCache({ cardId, queryClient, }: {
665
- cardId: string;
666
- queryClient: QueryClient;
667
- }): PageActivityWithId | undefined;
668
- declare function updateCardInCache({ cardId, card, queryClient, }: {
669
- cardId: string;
670
- card: PageActivityWithId | null;
671
- queryClient: QueryClient;
672
- }): void;
673
- declare function useGetCard({ cardId, enabled }: {
674
- cardId: string;
675
- enabled?: boolean;
676
- }): _tanstack_react_query.UseQueryResult<PageActivityWithId | null, Error>;
677
-
678
- declare const createCardRepo: () => {
679
- createCard: (args_0: {
680
- data: Partial<PageActivity>;
681
- }) => Promise<{
682
- id: string;
683
- } & Partial<PageActivity>>;
684
- createCards: (args_0: {
685
- cards: PageActivity[];
686
- }) => Promise<{
687
- id: string;
688
- owners: string[];
689
- checked?: boolean;
690
- completed?: boolean;
691
- media_area_id?: string | null;
692
- media_area_layout?: "left" | "right" | null;
693
- score?: number;
694
- verificationStatus?: VerificationCardStatus;
695
- native_text?: string;
696
- repeat?: number;
697
- language?: string | null;
698
- image?: {
699
- path?: string | null;
700
- url?: string;
701
- };
702
- audio?: {
703
- path?: string | null;
704
- url?: string;
705
- } | null;
706
- notes?: string;
707
- difficulty?: string;
708
- default_language?: string;
709
- target_text?: string;
710
- type: ActivityPageType;
711
- grading_criteria?: string;
712
- scoring_type?: string;
713
- grading_method?: "simple" | "rubric" | "manual" | "standards_based";
714
- feedback_types?: string[];
715
- rubricId?: string;
716
- prompt?: string;
717
- title?: string;
718
- passing_score?: number;
719
- maxCharacters?: number;
720
- answer?: string[];
721
- choices?: {
722
- value: string;
723
- option: string;
724
- }[];
725
- MCQType?: string;
726
- multipleAttemptsAllowed?: boolean;
727
- allowRetries?: boolean;
728
- question?: string;
729
- respondTime?: number;
730
- hidePrompt?: boolean;
731
- videoUrl?: string;
732
- link?: string;
733
- text?: string;
734
- isListenAloud?: boolean;
735
- embedCode?: string;
736
- attempt?: number;
737
- correct?: number;
738
- autoGrade?: boolean;
739
- points?: number;
740
- shuffle?: boolean;
741
- translation?: string;
742
- includeAIContext?: boolean;
743
- media_area_context_ref?: string | null;
744
- standardId?: string;
745
- target_proficiency_level?: string;
746
- allowTTS?: boolean;
747
- }[]>;
748
- getCard: (params: {
749
- cardId: string;
750
- }) => Promise<PageActivityWithId | null>;
751
- };
752
-
753
- declare function checkIsRepeatPage(cardType: ActivityPageType | undefined): boolean;
754
- declare function checkIsMCPage(cardType: ActivityPageType | undefined): boolean;
755
- declare function checkIsRespondPage(cardType: ActivityPageType | undefined): boolean;
756
- declare function checkIsRespondWrittenPage(cardType: ActivityPageType | undefined): boolean;
757
- declare function checkIsRespondAudioPage(cardType: ActivityPageType | undefined): boolean;
758
- declare const checkIsMediaPage: (cardType: ActivityPageType | undefined) => boolean;
759
- declare const checkIsShortAnswerPage: (cardType: ActivityPageType | undefined) => boolean;
760
- declare const checkTypePageActivity: (cardType: ActivityPageType | undefined) => {
761
- isRespondAudio: boolean;
762
- isRespondWritten: boolean;
763
- isRespond: boolean;
764
- isMC: boolean;
765
- isRepeat: boolean;
766
- isMediaPage: boolean;
767
- isShortAnswer: boolean;
768
- };
769
-
770
- declare function getPagePrompt(card: PageActivityWithId | undefined): {
771
- has: boolean;
772
- text: string | undefined;
764
+ declare function useSubmitPracticeScore(): {
765
+ submitPracticeScore: _tanstack_react_query.UseMutateAsyncFunction<{
766
+ success: boolean;
767
+ message: string;
768
+ error?: undefined;
769
+ } | {
770
+ success: boolean;
771
+ error: unknown;
772
+ message?: undefined;
773
+ }, Error, {
774
+ setId: string;
775
+ userId: string;
776
+ scores: Score;
777
+ }, unknown>;
778
+ isLoading: boolean;
773
779
  };
774
780
 
775
781
  interface SetWithId extends Set {
@@ -932,6 +938,7 @@ declare function createFsClientBase({ db, helpers, httpsCallable, logEvent, }: {
932
938
  content?: string[];
933
939
  weights?: Record<string, number>;
934
940
  language?: string;
941
+ types?: { [key in ActivityPageType]?: number; };
935
942
  } | null>;
936
943
  attachScoresAssignment: (args_0: {
937
944
  assignments: AssignmentWithId[];
@@ -979,6 +986,7 @@ declare function createFsClientBase({ db, helpers, httpsCallable, logEvent, }: {
979
986
  content?: string[];
980
987
  weights?: Record<string, number>;
981
988
  language?: string;
989
+ types?: { [key in ActivityPageType]?: number; };
982
990
  }[]>;
983
991
  getAssignmentScores: (args_0: {
984
992
  assignmentId: string;
@@ -1282,6 +1290,7 @@ declare function useActivity({ id, isAssignment, onAssignmentSubmitted, ltiData,
1282
1290
  content?: string[];
1283
1291
  weights?: Record<string, number>;
1284
1292
  language?: string;
1293
+ types?: { [key in ActivityPageType]?: number; };
1285
1294
  } | null | undefined;
1286
1295
  query: _tanstack_react_query.UseQueryResult<AssignmentWithId | {
1287
1296
  scores: any;
@@ -1324,6 +1333,7 @@ declare function useActivity({ id, isAssignment, onAssignmentSubmitted, ltiData,
1324
1333
  content?: string[];
1325
1334
  weights?: Record<string, number>;
1326
1335
  language?: string;
1336
+ types?: { [key in ActivityPageType]?: number; };
1327
1337
  } | null, Error>;
1328
1338
  };
1329
1339
  scores: {
@@ -1344,7 +1354,7 @@ declare function useActivity({ id, isAssignment, onAssignmentSubmitted, ltiData,
1344
1354
  error: unknown;
1345
1355
  message?: undefined;
1346
1356
  }>;
1347
- updateCard: (cardId: string, cardScore: CardScore) => void;
1357
+ updateCard: (cardId: string, cardScore: PageScore) => void;
1348
1358
  logGradingStandardEntry: ({ cardId, gradingStandard, type, }: {
1349
1359
  cardId: string;
1350
1360
  gradingStandard: {
@@ -2572,6 +2582,7 @@ declare const createFsClientWeb: ({ db, httpsCallable, logEvent }: FsClientParam
2572
2582
  content?: string[];
2573
2583
  weights?: Record<string, number>;
2574
2584
  language?: string;
2585
+ types?: { [key in ActivityPageType]?: number; };
2575
2586
  } | null>;
2576
2587
  attachScoresAssignment: (args_0: {
2577
2588
  assignments: AssignmentWithId[];
@@ -2619,6 +2630,7 @@ declare const createFsClientWeb: ({ db, httpsCallable, logEvent }: FsClientParam
2619
2630
  content?: string[];
2620
2631
  weights?: Record<string, number>;
2621
2632
  language?: string;
2633
+ types?: { [key in ActivityPageType]?: number; };
2622
2634
  }[]>;
2623
2635
  getAssignmentScores: (args_0: {
2624
2636
  assignmentId: string;
@@ -2709,4 +2721,4 @@ declare const createFsClientWeb: ({ db, httpsCallable, logEvent }: FsClientParam
2709
2721
  };
2710
2722
  };
2711
2723
 
2712
- export { ActivityPageType, type Assignment, type AssignmentWithId, BASE_MULTIPLE_CHOICE_FIELD_VALUES, BASE_REPEAT_FIELD_VALUES, BASE_RESPOND_FIELD_VALUES, type CardScore, type CreditContract, FeedbackTypesCard, FsCtx, type InstitutionSubscription, LENIENCY_OPTIONS, LeniencyCard, MULTIPLE_CHOICE_PAGE_ACTIVITY_TYPES, type Organization, type OrganizationAccess, type PageActivity, type PageActivityWithId, 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, createFsClientWeb as createFsClient, createSetRepo, creditQueryKeys, debounce, getCardFromCache, getPagePrompt, getRespondCardTool, getSetFromCache, getWordHash, purify, refsCardsFiresotre, refsSetsFirestore, scoreQueryKeys, setsQueryKeys, updateCardInCache, updateSetInCache, useActivity, useActivityFeedbackAccess, useAssignment, useBaseOpenAI, useCards, useClearScore, useCreateCard, useCreateCards, useCreateNotification, useGetCard, useOrganizationAccess, useScore, useSet, useSpeakableApi, useSubmitAssignmentScore, useSubmitPracticeScore, useUpdateCardScore, useUpdateScore, useUserCredits };
2724
+ export { ActivityPageType, type Assignment, 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, createFsClientWeb as createFsClient, createSetRepo, creditQueryKeys, debounce, getCardFromCache, getPagePrompt, getRespondCardTool, getSetFromCache, getWordHash, purify, refsCardsFiresotre, refsSetsFirestore, scoreQueryKeys, setsQueryKeys, updateCardInCache, updateSetInCache, useActivity, useActivityFeedbackAccess, useAssignment, useBaseOpenAI, useCards, useClearScore, useCreateCard, useCreateCards, useCreateNotification, useGetCard, useOrganizationAccess, useScore, useSet, useSpeakableApi, useSubmitAssignmentScore, useSubmitPracticeScore, useUpdateCardScore, useUpdateScore, useUserCredits };