@intellectif/lk-core 0.16.0 → 0.17.0

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.
Files changed (43) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/dist/{activity-DcxtpX7Z.d.cts → activity-BmjBjXVJ.d.cts} +213 -2
  3. package/dist/{activity-DcxtpX7Z.d.ts → activity-BmjBjXVJ.d.ts} +213 -2
  4. package/dist/{chunk-FJJ2GVBA.cjs → chunk-2CV6NU32.cjs} +19 -19
  5. package/dist/{chunk-FJJ2GVBA.cjs.map → chunk-2CV6NU32.cjs.map} +1 -1
  6. package/dist/{chunk-IRUD73IQ.js → chunk-D3GP5MET.js} +683 -638
  7. package/dist/chunk-D3GP5MET.js.map +1 -0
  8. package/dist/{chunk-F7UOLKWV.cjs → chunk-D4TOPSHV.cjs} +518 -473
  9. package/dist/chunk-D4TOPSHV.cjs.map +1 -0
  10. package/dist/{chunk-VFTVZJO5.cjs → chunk-EOFWSGLU.cjs} +4 -4
  11. package/dist/{chunk-VFTVZJO5.cjs.map → chunk-EOFWSGLU.cjs.map} +1 -1
  12. package/dist/{chunk-S63IOKFP.js → chunk-WXS5EB65.js} +2 -2
  13. package/dist/{chunk-OXF7VT7S.js → chunk-X5DAXBJI.js} +2 -2
  14. package/dist/{chunk-6P6XK2LI.cjs → chunk-XNMKDFPW.cjs} +31 -31
  15. package/dist/{chunk-6P6XK2LI.cjs.map → chunk-XNMKDFPW.cjs.map} +1 -1
  16. package/dist/{chunk-GOZGBVJP.js → chunk-Z7QQZ53L.js} +2 -2
  17. package/dist/{chunk-GOZGBVJP.js.map → chunk-Z7QQZ53L.js.map} +1 -1
  18. package/dist/{index-BWpwZRQw.d.cts → index-CvfeD_cU.d.cts} +144 -86
  19. package/dist/{index-DRJqwO2y.d.ts → index-G_KusUcK.d.ts} +144 -86
  20. package/dist/index.cjs +542 -127
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.d.cts +122 -5
  23. package/dist/index.d.ts +122 -5
  24. package/dist/index.js +422 -7
  25. package/dist/index.js.map +1 -1
  26. package/dist/schemas.cjs +5 -3
  27. package/dist/schemas.cjs.map +1 -1
  28. package/dist/schemas.d.cts +2 -2
  29. package/dist/schemas.d.ts +2 -2
  30. package/dist/schemas.js +4 -2
  31. package/dist/scoring.cjs +3 -3
  32. package/dist/scoring.d.cts +2 -2
  33. package/dist/scoring.d.ts +2 -2
  34. package/dist/scoring.js +2 -2
  35. package/dist/xapi.cjs +3 -3
  36. package/dist/xapi.d.cts +1 -1
  37. package/dist/xapi.d.ts +1 -1
  38. package/dist/xapi.js +2 -2
  39. package/package.json +1 -1
  40. package/dist/chunk-F7UOLKWV.cjs.map +0 -1
  41. package/dist/chunk-IRUD73IQ.js.map +0 -1
  42. /package/dist/{chunk-S63IOKFP.js.map → chunk-WXS5EB65.js.map} +0 -0
  43. /package/dist/{chunk-OXF7VT7S.js.map → chunk-X5DAXBJI.js.map} +0 -0
@@ -1,4 +1,4 @@
1
- import { A as ActivityData, c as ActivityMedia, $ as ValidationResult, e as ActivityType, a as ActivityDataMap } from './activity-DcxtpX7Z.cjs';
1
+ import { a as ActivityData, d as ActivityMedia, aj as ValidationResult, f as ActivityType, b as ActivityDataMap } from './activity-BmjBjXVJ.cjs';
2
2
  import { z } from 'zod/v4';
3
3
 
4
4
  /** What a stimulus primarily is. Drives validation and layout, never scoring. */
@@ -214,6 +214,16 @@ interface SequenceSlot<TItem = ActivityData> {
214
214
  group?: SequenceSlotGroup;
215
215
  }
216
216
 
217
+ /**
218
+ * What an author allows AI to do for one item: see `ActivityAiPermissions`.
219
+ * Loose like every content schema, so a key a later release adds survives an
220
+ * older one's validation (B7).
221
+ */
222
+ declare const AiPermissionsSchema: z.ZodObject<{
223
+ explanations: z.ZodOptional<z.ZodBoolean>;
224
+ hints: z.ZodOptional<z.ZodBoolean>;
225
+ }, z.core.$loose>;
226
+
217
227
  /**
218
228
  * Zod schema for the slower second recording of a dictation. Loose like every
219
229
  * content schema (a sidecar survives), audio only, and — deliberately — with no
@@ -250,9 +260,9 @@ declare const DictationDataSchema: z.ZodObject<{
250
260
  acceptedTranscripts: z.ZodOptional<z.ZodArray<z.ZodString>>;
251
261
  media: z.ZodOptional<z.ZodObject<{
252
262
  type: z.ZodEnum<{
253
- image: "image";
254
- audio: "audio";
255
263
  video: "video";
264
+ audio: "audio";
265
+ image: "image";
256
266
  embed: "embed";
257
267
  }>;
258
268
  url: z.ZodUnion<readonly [z.ZodURL, z.ZodString]>;
@@ -276,8 +286,8 @@ declare const DictationDataSchema: z.ZodObject<{
276
286
  }>>;
277
287
  maxPlays: z.ZodOptional<z.ZodNumber>;
278
288
  seek: z.ZodOptional<z.ZodEnum<{
279
- none: "none";
280
289
  allow: "allow";
290
+ none: "none";
281
291
  }>>;
282
292
  rate: z.ZodOptional<z.ZodEnum<{
283
293
  allow: "allow";
@@ -310,7 +320,11 @@ declare const DictationDataSchema: z.ZodObject<{
310
320
  passThreshold: z.ZodOptional<z.ZodNumber>;
311
321
  locale: z.ZodOptional<z.ZodString>;
312
322
  learningObjectives: z.ZodOptional<z.ZodArray<z.ZodString>>;
313
- difficultyLevel: z.ZodOptional<z.ZodLiteral<2 | 1 | 3 | 4 | 5>>;
323
+ difficultyLevel: z.ZodOptional<z.ZodLiteral<1 | 2 | 4 | 3 | 5>>;
324
+ ai: z.ZodOptional<z.ZodObject<{
325
+ explanations: z.ZodOptional<z.ZodBoolean>;
326
+ hints: z.ZodOptional<z.ZodBoolean>;
327
+ }, z.core.$loose>>;
314
328
  }, z.core.$loose>;
315
329
 
316
330
  /**
@@ -409,14 +423,14 @@ declare const FillInTheBlanksDataSchema: z.ZodObject<{
409
423
  feedback: z.ZodOptional<z.ZodString>;
410
424
  }, z.core.$loose>>;
411
425
  scoringStrategy: z.ZodEnum<{
412
- "all-or-nothing": "all-or-nothing";
413
426
  partial: "partial";
427
+ "all-or-nothing": "all-or-nothing";
414
428
  }>;
415
429
  media: z.ZodOptional<z.ZodObject<{
416
430
  type: z.ZodEnum<{
417
- image: "image";
418
- audio: "audio";
419
431
  video: "video";
432
+ audio: "audio";
433
+ image: "image";
420
434
  embed: "embed";
421
435
  }>;
422
436
  url: z.ZodUnion<readonly [z.ZodURL, z.ZodString]>;
@@ -440,8 +454,8 @@ declare const FillInTheBlanksDataSchema: z.ZodObject<{
440
454
  }>>;
441
455
  maxPlays: z.ZodOptional<z.ZodNumber>;
442
456
  seek: z.ZodOptional<z.ZodEnum<{
443
- none: "none";
444
457
  allow: "allow";
458
+ none: "none";
445
459
  }>>;
446
460
  rate: z.ZodOptional<z.ZodEnum<{
447
461
  allow: "allow";
@@ -460,7 +474,11 @@ declare const FillInTheBlanksDataSchema: z.ZodObject<{
460
474
  passThreshold: z.ZodOptional<z.ZodNumber>;
461
475
  locale: z.ZodOptional<z.ZodString>;
462
476
  learningObjectives: z.ZodOptional<z.ZodArray<z.ZodString>>;
463
- difficultyLevel: z.ZodOptional<z.ZodLiteral<2 | 1 | 3 | 4 | 5>>;
477
+ difficultyLevel: z.ZodOptional<z.ZodLiteral<1 | 2 | 4 | 3 | 5>>;
478
+ ai: z.ZodOptional<z.ZodObject<{
479
+ explanations: z.ZodOptional<z.ZodBoolean>;
480
+ hints: z.ZodOptional<z.ZodBoolean>;
481
+ }, z.core.$loose>>;
464
482
  }, z.core.$loose>;
465
483
 
466
484
  /**
@@ -537,16 +555,16 @@ declare const GapSelectDataSchema: z.ZodObject<{
537
555
  }, z.core.$loose>>;
538
556
  }, z.core.$loose>>>;
539
557
  scoringStrategy: z.ZodEnum<{
540
- "all-or-nothing": "all-or-nothing";
541
558
  partial: "partial";
559
+ "all-or-nothing": "all-or-nothing";
542
560
  }>;
543
561
  presentation: z.ZodOptional<z.ZodLiteral<"dropdown">>;
544
562
  shuffleChoices: z.ZodOptional<z.ZodBoolean>;
545
563
  media: z.ZodOptional<z.ZodObject<{
546
564
  type: z.ZodEnum<{
547
- image: "image";
548
- audio: "audio";
549
565
  video: "video";
566
+ audio: "audio";
567
+ image: "image";
550
568
  embed: "embed";
551
569
  }>;
552
570
  url: z.ZodUnion<readonly [z.ZodURL, z.ZodString]>;
@@ -570,8 +588,8 @@ declare const GapSelectDataSchema: z.ZodObject<{
570
588
  }>>;
571
589
  maxPlays: z.ZodOptional<z.ZodNumber>;
572
590
  seek: z.ZodOptional<z.ZodEnum<{
573
- none: "none";
574
591
  allow: "allow";
592
+ none: "none";
575
593
  }>>;
576
594
  rate: z.ZodOptional<z.ZodEnum<{
577
595
  allow: "allow";
@@ -590,7 +608,11 @@ declare const GapSelectDataSchema: z.ZodObject<{
590
608
  passThreshold: z.ZodOptional<z.ZodNumber>;
591
609
  locale: z.ZodOptional<z.ZodString>;
592
610
  learningObjectives: z.ZodOptional<z.ZodArray<z.ZodString>>;
593
- difficultyLevel: z.ZodOptional<z.ZodLiteral<2 | 1 | 3 | 4 | 5>>;
611
+ difficultyLevel: z.ZodOptional<z.ZodLiteral<1 | 2 | 4 | 3 | 5>>;
612
+ ai: z.ZodOptional<z.ZodObject<{
613
+ explanations: z.ZodOptional<z.ZodBoolean>;
614
+ hints: z.ZodOptional<z.ZodBoolean>;
615
+ }, z.core.$loose>>;
594
616
  }, z.core.$loose>;
595
617
 
596
618
  /**
@@ -605,9 +627,9 @@ declare const GapSelectDataSchema: z.ZodObject<{
605
627
  declare const StimulusSchema: z.ZodObject<{
606
628
  id: z.ZodString;
607
629
  kind: z.ZodEnum<{
608
- image: "image";
609
- audio: "audio";
610
630
  video: "video";
631
+ audio: "audio";
632
+ image: "image";
611
633
  text: "text";
612
634
  mixed: "mixed";
613
635
  }>;
@@ -616,9 +638,9 @@ declare const StimulusSchema: z.ZodObject<{
616
638
  bodyHtml: z.ZodOptional<z.ZodString>;
617
639
  media: z.ZodOptional<z.ZodObject<{
618
640
  type: z.ZodEnum<{
619
- image: "image";
620
- audio: "audio";
621
641
  video: "video";
642
+ audio: "audio";
643
+ image: "image";
622
644
  embed: "embed";
623
645
  }>;
624
646
  url: z.ZodUnion<readonly [z.ZodURL, z.ZodString]>;
@@ -642,8 +664,8 @@ declare const StimulusSchema: z.ZodObject<{
642
664
  }>>;
643
665
  maxPlays: z.ZodOptional<z.ZodNumber>;
644
666
  seek: z.ZodOptional<z.ZodEnum<{
645
- none: "none";
646
667
  allow: "allow";
668
+ none: "none";
647
669
  }>>;
648
670
  rate: z.ZodOptional<z.ZodEnum<{
649
671
  allow: "allow";
@@ -712,9 +734,9 @@ declare const ItemGroupSchema: z.ZodObject<{
712
734
  stimulus: z.ZodObject<{
713
735
  id: z.ZodString;
714
736
  kind: z.ZodEnum<{
715
- image: "image";
716
- audio: "audio";
717
737
  video: "video";
738
+ audio: "audio";
739
+ image: "image";
718
740
  text: "text";
719
741
  mixed: "mixed";
720
742
  }>;
@@ -723,9 +745,9 @@ declare const ItemGroupSchema: z.ZodObject<{
723
745
  bodyHtml: z.ZodOptional<z.ZodString>;
724
746
  media: z.ZodOptional<z.ZodObject<{
725
747
  type: z.ZodEnum<{
726
- image: "image";
727
- audio: "audio";
728
748
  video: "video";
749
+ audio: "audio";
750
+ image: "image";
729
751
  embed: "embed";
730
752
  }>;
731
753
  url: z.ZodUnion<readonly [z.ZodURL, z.ZodString]>;
@@ -749,8 +771,8 @@ declare const ItemGroupSchema: z.ZodObject<{
749
771
  }>>;
750
772
  maxPlays: z.ZodOptional<z.ZodNumber>;
751
773
  seek: z.ZodOptional<z.ZodEnum<{
752
- none: "none";
753
774
  allow: "allow";
775
+ none: "none";
754
776
  }>>;
755
777
  rate: z.ZodOptional<z.ZodEnum<{
756
778
  allow: "allow";
@@ -799,9 +821,9 @@ type RedactedStimulus = z.infer<typeof RedactedStimulusSchema>;
799
821
  declare const RedactedStimulusSchema: z.ZodObject<{
800
822
  id: z.ZodString;
801
823
  kind: z.ZodEnum<{
802
- image: "image";
803
- audio: "audio";
804
824
  video: "video";
825
+ audio: "audio";
826
+ image: "image";
805
827
  text: "text";
806
828
  mixed: "mixed";
807
829
  }>;
@@ -810,9 +832,9 @@ declare const RedactedStimulusSchema: z.ZodObject<{
810
832
  bodyHtml: z.ZodOptional<z.ZodString>;
811
833
  media: z.ZodOptional<z.ZodObject<{
812
834
  type: z.ZodEnum<{
813
- image: "image";
814
- audio: "audio";
815
835
  video: "video";
836
+ audio: "audio";
837
+ image: "image";
816
838
  embed: "embed";
817
839
  }>;
818
840
  url: z.ZodUnion<readonly [z.ZodURL, z.ZodString]>;
@@ -836,8 +858,8 @@ declare const RedactedStimulusSchema: z.ZodObject<{
836
858
  }>>;
837
859
  maxPlays: z.ZodOptional<z.ZodNumber>;
838
860
  seek: z.ZodOptional<z.ZodEnum<{
839
- none: "none";
840
861
  allow: "allow";
862
+ none: "none";
841
863
  }>>;
842
864
  rate: z.ZodOptional<z.ZodEnum<{
843
865
  allow: "allow";
@@ -870,9 +892,9 @@ declare const RedactedItemGroupSchema: z.ZodObject<{
870
892
  stimulus: z.ZodObject<{
871
893
  id: z.ZodString;
872
894
  kind: z.ZodEnum<{
873
- image: "image";
874
- audio: "audio";
875
895
  video: "video";
896
+ audio: "audio";
897
+ image: "image";
876
898
  text: "text";
877
899
  mixed: "mixed";
878
900
  }>;
@@ -881,9 +903,9 @@ declare const RedactedItemGroupSchema: z.ZodObject<{
881
903
  bodyHtml: z.ZodOptional<z.ZodString>;
882
904
  media: z.ZodOptional<z.ZodObject<{
883
905
  type: z.ZodEnum<{
884
- image: "image";
885
- audio: "audio";
886
906
  video: "video";
907
+ audio: "audio";
908
+ image: "image";
887
909
  embed: "embed";
888
910
  }>;
889
911
  url: z.ZodUnion<readonly [z.ZodURL, z.ZodString]>;
@@ -907,8 +929,8 @@ declare const RedactedItemGroupSchema: z.ZodObject<{
907
929
  }>>;
908
930
  maxPlays: z.ZodOptional<z.ZodNumber>;
909
931
  seek: z.ZodOptional<z.ZodEnum<{
910
- none: "none";
911
932
  allow: "allow";
933
+ none: "none";
912
934
  }>>;
913
935
  rate: z.ZodOptional<z.ZodEnum<{
914
936
  allow: "allow";
@@ -1107,8 +1129,8 @@ declare const MediaPlaybackSchema: z.ZodObject<{
1107
1129
  maxPlays: z.ZodOptional<z.ZodNumber>;
1108
1130
  /** `none` renders no scrubber and reverts an out-of-band seek to the high-water mark. */
1109
1131
  seek: z.ZodOptional<z.ZodEnum<{
1110
- none: "none";
1111
1132
  allow: "allow";
1133
+ none: "none";
1112
1134
  }>>;
1113
1135
  /** `fixed` renders no speed control and snaps `playbackRate` back to 1. */
1114
1136
  rate: z.ZodOptional<z.ZodEnum<{
@@ -1138,9 +1160,9 @@ declare const MediaTrackSchema: z.ZodObject<{
1138
1160
  }, z.core.$strict>;
1139
1161
  declare const MediaSchema: z.ZodObject<{
1140
1162
  type: z.ZodEnum<{
1141
- image: "image";
1142
- audio: "audio";
1143
1163
  video: "video";
1164
+ audio: "audio";
1165
+ image: "image";
1144
1166
  embed: "embed";
1145
1167
  }>;
1146
1168
  url: z.ZodUnion<readonly [z.ZodURL, z.ZodString]>;
@@ -1178,8 +1200,8 @@ declare const MediaSchema: z.ZodObject<{
1178
1200
  maxPlays: z.ZodOptional<z.ZodNumber>;
1179
1201
  /** `none` renders no scrubber and reverts an out-of-band seek to the high-water mark. */
1180
1202
  seek: z.ZodOptional<z.ZodEnum<{
1181
- none: "none";
1182
1203
  allow: "allow";
1204
+ none: "none";
1183
1205
  }>>;
1184
1206
  /** `fixed` renders no speed control and snaps `playbackRate` back to 1. */
1185
1207
  rate: z.ZodOptional<z.ZodEnum<{
@@ -1204,9 +1226,9 @@ declare const MediaSchema: z.ZodObject<{
1204
1226
  */
1205
1227
  declare const RedactedMediaSchema: z.ZodObject<{
1206
1228
  type: z.ZodEnum<{
1207
- image: "image";
1208
- audio: "audio";
1209
1229
  video: "video";
1230
+ audio: "audio";
1231
+ image: "image";
1210
1232
  embed: "embed";
1211
1233
  }>;
1212
1234
  url: z.ZodUnion<readonly [z.ZodURL, z.ZodString]>;
@@ -1244,8 +1266,8 @@ declare const RedactedMediaSchema: z.ZodObject<{
1244
1266
  maxPlays: z.ZodOptional<z.ZodNumber>;
1245
1267
  /** `none` renders no scrubber and reverts an out-of-band seek to the high-water mark. */
1246
1268
  seek: z.ZodOptional<z.ZodEnum<{
1247
- none: "none";
1248
1269
  allow: "allow";
1270
+ none: "none";
1249
1271
  }>>;
1250
1272
  /** `fixed` renders no speed control and snaps `playbackRate` back to 1. */
1251
1273
  rate: z.ZodOptional<z.ZodEnum<{
@@ -1284,8 +1306,8 @@ declare const RedactedMediaSchema: z.ZodObject<{
1284
1306
  */
1285
1307
  declare const MultipleChoiceOptionMediaSchema: z.ZodObject<{
1286
1308
  type: z.ZodEnum<{
1287
- image: "image";
1288
1309
  audio: "audio";
1310
+ image: "image";
1289
1311
  }>;
1290
1312
  url: z.ZodUnion<readonly [z.ZodURL, z.ZodString]>;
1291
1313
  alt: z.ZodOptional<z.ZodString>;
@@ -1298,8 +1320,8 @@ declare const MultipleChoiceOptionSchema: z.ZodObject<{
1298
1320
  feedback: z.ZodOptional<z.ZodString>;
1299
1321
  media: z.ZodOptional<z.ZodObject<{
1300
1322
  type: z.ZodEnum<{
1301
- image: "image";
1302
1323
  audio: "audio";
1324
+ image: "image";
1303
1325
  }>;
1304
1326
  url: z.ZodUnion<readonly [z.ZodURL, z.ZodString]>;
1305
1327
  alt: z.ZodOptional<z.ZodString>;
@@ -1339,8 +1361,8 @@ declare const MultipleChoiceDataSchema: z.ZodObject<{
1339
1361
  feedback: z.ZodOptional<z.ZodString>;
1340
1362
  media: z.ZodOptional<z.ZodObject<{
1341
1363
  type: z.ZodEnum<{
1342
- image: "image";
1343
1364
  audio: "audio";
1365
+ image: "image";
1344
1366
  }>;
1345
1367
  url: z.ZodUnion<readonly [z.ZodURL, z.ZodString]>;
1346
1368
  alt: z.ZodOptional<z.ZodString>;
@@ -1348,14 +1370,14 @@ declare const MultipleChoiceDataSchema: z.ZodObject<{
1348
1370
  }, z.core.$loose>>;
1349
1371
  }, z.core.$loose>>;
1350
1372
  scoringStrategy: z.ZodEnum<{
1351
- "all-or-nothing": "all-or-nothing";
1352
1373
  partial: "partial";
1374
+ "all-or-nothing": "all-or-nothing";
1353
1375
  }>;
1354
1376
  media: z.ZodOptional<z.ZodObject<{
1355
1377
  type: z.ZodEnum<{
1356
- image: "image";
1357
- audio: "audio";
1358
1378
  video: "video";
1379
+ audio: "audio";
1380
+ image: "image";
1359
1381
  embed: "embed";
1360
1382
  }>;
1361
1383
  url: z.ZodUnion<readonly [z.ZodURL, z.ZodString]>;
@@ -1379,8 +1401,8 @@ declare const MultipleChoiceDataSchema: z.ZodObject<{
1379
1401
  }>>;
1380
1402
  maxPlays: z.ZodOptional<z.ZodNumber>;
1381
1403
  seek: z.ZodOptional<z.ZodEnum<{
1382
- none: "none";
1383
1404
  allow: "allow";
1405
+ none: "none";
1384
1406
  }>>;
1385
1407
  rate: z.ZodOptional<z.ZodEnum<{
1386
1408
  allow: "allow";
@@ -1400,7 +1422,11 @@ declare const MultipleChoiceDataSchema: z.ZodObject<{
1400
1422
  shuffle: z.ZodOptional<z.ZodBoolean>;
1401
1423
  locale: z.ZodOptional<z.ZodString>;
1402
1424
  learningObjectives: z.ZodOptional<z.ZodArray<z.ZodString>>;
1403
- difficultyLevel: z.ZodOptional<z.ZodLiteral<2 | 1 | 3 | 4 | 5>>;
1425
+ difficultyLevel: z.ZodOptional<z.ZodLiteral<1 | 2 | 4 | 3 | 5>>;
1426
+ ai: z.ZodOptional<z.ZodObject<{
1427
+ explanations: z.ZodOptional<z.ZodBoolean>;
1428
+ hints: z.ZodOptional<z.ZodBoolean>;
1429
+ }, z.core.$loose>>;
1404
1430
  }, z.core.$loose>;
1405
1431
 
1406
1432
  /**
@@ -1469,9 +1495,9 @@ declare const ReadAloudDataSchema: z.ZodObject<{
1469
1495
  locale: z.ZodString;
1470
1496
  media: z.ZodOptional<z.ZodObject<{
1471
1497
  type: z.ZodEnum<{
1472
- image: "image";
1473
- audio: "audio";
1474
1498
  video: "video";
1499
+ audio: "audio";
1500
+ image: "image";
1475
1501
  embed: "embed";
1476
1502
  }>;
1477
1503
  url: z.ZodUnion<readonly [z.ZodURL, z.ZodString]>;
@@ -1495,8 +1521,8 @@ declare const ReadAloudDataSchema: z.ZodObject<{
1495
1521
  }>>;
1496
1522
  maxPlays: z.ZodOptional<z.ZodNumber>;
1497
1523
  seek: z.ZodOptional<z.ZodEnum<{
1498
- none: "none";
1499
1524
  allow: "allow";
1525
+ none: "none";
1500
1526
  }>>;
1501
1527
  rate: z.ZodOptional<z.ZodEnum<{
1502
1528
  allow: "allow";
@@ -1535,14 +1561,18 @@ declare const ReadAloudDataSchema: z.ZodObject<{
1535
1561
  incorrect: z.ZodOptional<z.ZodString>;
1536
1562
  }, z.core.$loose>>;
1537
1563
  learningObjectives: z.ZodOptional<z.ZodArray<z.ZodString>>;
1538
- difficultyLevel: z.ZodOptional<z.ZodLiteral<2 | 1 | 3 | 4 | 5>>;
1564
+ difficultyLevel: z.ZodOptional<z.ZodLiteral<1 | 2 | 4 | 3 | 5>>;
1565
+ ai: z.ZodOptional<z.ZodObject<{
1566
+ explanations: z.ZodOptional<z.ZodBoolean>;
1567
+ hints: z.ZodOptional<z.ZodBoolean>;
1568
+ }, z.core.$loose>>;
1539
1569
  }, z.core.$loose>;
1540
1570
 
1541
1571
  /** A redacted Multiple Choice option: id and display text only — no `isCorrect`, no feedback. */
1542
1572
  declare const RedactedMultipleChoiceOptionMediaSchema: z.ZodObject<{
1543
1573
  type: z.ZodEnum<{
1544
- image: "image";
1545
1574
  audio: "audio";
1575
+ image: "image";
1546
1576
  }>;
1547
1577
  url: z.ZodString;
1548
1578
  alt: z.ZodOptional<z.ZodString>;
@@ -1562,8 +1592,8 @@ declare const RedactedMultipleChoiceOptionSchema: z.ZodObject<{
1562
1592
  text: z.ZodString;
1563
1593
  media: z.ZodOptional<z.ZodObject<{
1564
1594
  type: z.ZodEnum<{
1565
- image: "image";
1566
1595
  audio: "audio";
1596
+ image: "image";
1567
1597
  }>;
1568
1598
  url: z.ZodString;
1569
1599
  alt: z.ZodOptional<z.ZodString>;
@@ -1590,8 +1620,8 @@ declare const RedactedMultipleChoiceDataSchema: z.ZodObject<{
1590
1620
  text: z.ZodString;
1591
1621
  media: z.ZodOptional<z.ZodObject<{
1592
1622
  type: z.ZodEnum<{
1593
- image: "image";
1594
1623
  audio: "audio";
1624
+ image: "image";
1595
1625
  }>;
1596
1626
  url: z.ZodString;
1597
1627
  alt: z.ZodOptional<z.ZodString>;
@@ -1608,9 +1638,9 @@ declare const RedactedMultipleChoiceDataSchema: z.ZodObject<{
1608
1638
  title: z.ZodString;
1609
1639
  media: z.ZodOptional<z.ZodObject<{
1610
1640
  type: z.ZodEnum<{
1611
- image: "image";
1612
- audio: "audio";
1613
1641
  video: "video";
1642
+ audio: "audio";
1643
+ image: "image";
1614
1644
  embed: "embed";
1615
1645
  }>;
1616
1646
  url: z.ZodUnion<readonly [z.ZodURL, z.ZodString]>;
@@ -1634,8 +1664,8 @@ declare const RedactedMultipleChoiceDataSchema: z.ZodObject<{
1634
1664
  }>>;
1635
1665
  maxPlays: z.ZodOptional<z.ZodNumber>;
1636
1666
  seek: z.ZodOptional<z.ZodEnum<{
1637
- none: "none";
1638
1667
  allow: "allow";
1668
+ none: "none";
1639
1669
  }>>;
1640
1670
  rate: z.ZodOptional<z.ZodEnum<{
1641
1671
  allow: "allow";
@@ -1650,7 +1680,11 @@ declare const RedactedMultipleChoiceDataSchema: z.ZodObject<{
1650
1680
  passThreshold: z.ZodOptional<z.ZodNumber>;
1651
1681
  locale: z.ZodOptional<z.ZodString>;
1652
1682
  learningObjectives: z.ZodOptional<z.ZodArray<z.ZodString>>;
1653
- difficultyLevel: z.ZodOptional<z.ZodLiteral<2 | 1 | 3 | 4 | 5>>;
1683
+ difficultyLevel: z.ZodOptional<z.ZodLiteral<1 | 2 | 4 | 3 | 5>>;
1684
+ ai: z.ZodOptional<z.ZodObject<{
1685
+ explanations: z.ZodOptional<z.ZodBoolean>;
1686
+ hints: z.ZodOptional<z.ZodBoolean>;
1687
+ }, z.core.$strict>>;
1654
1688
  }, z.core.$strict>;
1655
1689
  /** A redacted blank: id and hint only — no accepted answers, no matching rules, no feedback. */
1656
1690
  declare const RedactedBlankConfigSchema: z.ZodObject<{
@@ -1675,9 +1709,9 @@ declare const RedactedFillInTheBlanksDataSchema: z.ZodObject<{
1675
1709
  title: z.ZodString;
1676
1710
  media: z.ZodOptional<z.ZodObject<{
1677
1711
  type: z.ZodEnum<{
1678
- image: "image";
1679
- audio: "audio";
1680
1712
  video: "video";
1713
+ audio: "audio";
1714
+ image: "image";
1681
1715
  embed: "embed";
1682
1716
  }>;
1683
1717
  url: z.ZodUnion<readonly [z.ZodURL, z.ZodString]>;
@@ -1701,8 +1735,8 @@ declare const RedactedFillInTheBlanksDataSchema: z.ZodObject<{
1701
1735
  }>>;
1702
1736
  maxPlays: z.ZodOptional<z.ZodNumber>;
1703
1737
  seek: z.ZodOptional<z.ZodEnum<{
1704
- none: "none";
1705
1738
  allow: "allow";
1739
+ none: "none";
1706
1740
  }>>;
1707
1741
  rate: z.ZodOptional<z.ZodEnum<{
1708
1742
  allow: "allow";
@@ -1717,7 +1751,11 @@ declare const RedactedFillInTheBlanksDataSchema: z.ZodObject<{
1717
1751
  passThreshold: z.ZodOptional<z.ZodNumber>;
1718
1752
  locale: z.ZodOptional<z.ZodString>;
1719
1753
  learningObjectives: z.ZodOptional<z.ZodArray<z.ZodString>>;
1720
- difficultyLevel: z.ZodOptional<z.ZodLiteral<2 | 1 | 3 | 4 | 5>>;
1754
+ difficultyLevel: z.ZodOptional<z.ZodLiteral<1 | 2 | 4 | 3 | 5>>;
1755
+ ai: z.ZodOptional<z.ZodObject<{
1756
+ explanations: z.ZodOptional<z.ZodBoolean>;
1757
+ hints: z.ZodOptional<z.ZodBoolean>;
1758
+ }, z.core.$strict>>;
1721
1759
  }, z.core.$strict>;
1722
1760
  /** A redacted choice: exactly what it always was. Which one is correct was never stored here. */
1723
1761
  declare const RedactedGapSelectChoiceSchema: z.ZodObject<{
@@ -1786,9 +1824,9 @@ declare const RedactedGapSelectDataSchema: z.ZodObject<{
1786
1824
  title: z.ZodString;
1787
1825
  media: z.ZodOptional<z.ZodObject<{
1788
1826
  type: z.ZodEnum<{
1789
- image: "image";
1790
- audio: "audio";
1791
1827
  video: "video";
1828
+ audio: "audio";
1829
+ image: "image";
1792
1830
  embed: "embed";
1793
1831
  }>;
1794
1832
  url: z.ZodUnion<readonly [z.ZodURL, z.ZodString]>;
@@ -1812,8 +1850,8 @@ declare const RedactedGapSelectDataSchema: z.ZodObject<{
1812
1850
  }>>;
1813
1851
  maxPlays: z.ZodOptional<z.ZodNumber>;
1814
1852
  seek: z.ZodOptional<z.ZodEnum<{
1815
- none: "none";
1816
1853
  allow: "allow";
1854
+ none: "none";
1817
1855
  }>>;
1818
1856
  rate: z.ZodOptional<z.ZodEnum<{
1819
1857
  allow: "allow";
@@ -1828,7 +1866,11 @@ declare const RedactedGapSelectDataSchema: z.ZodObject<{
1828
1866
  passThreshold: z.ZodOptional<z.ZodNumber>;
1829
1867
  locale: z.ZodOptional<z.ZodString>;
1830
1868
  learningObjectives: z.ZodOptional<z.ZodArray<z.ZodString>>;
1831
- difficultyLevel: z.ZodOptional<z.ZodLiteral<2 | 1 | 3 | 4 | 5>>;
1869
+ difficultyLevel: z.ZodOptional<z.ZodLiteral<1 | 2 | 4 | 3 | 5>>;
1870
+ ai: z.ZodOptional<z.ZodObject<{
1871
+ explanations: z.ZodOptional<z.ZodBoolean>;
1872
+ hints: z.ZodOptional<z.ZodBoolean>;
1873
+ }, z.core.$strict>>;
1832
1874
  }, z.core.$strict>;
1833
1875
  /**
1834
1876
  * Redacted Written Response data: the prompt, word bounds and rubric are
@@ -1859,9 +1901,9 @@ declare const RedactedWrittenResponseDataSchema: z.ZodObject<{
1859
1901
  title: z.ZodString;
1860
1902
  media: z.ZodOptional<z.ZodObject<{
1861
1903
  type: z.ZodEnum<{
1862
- image: "image";
1863
- audio: "audio";
1864
1904
  video: "video";
1905
+ audio: "audio";
1906
+ image: "image";
1865
1907
  embed: "embed";
1866
1908
  }>;
1867
1909
  url: z.ZodUnion<readonly [z.ZodURL, z.ZodString]>;
@@ -1885,8 +1927,8 @@ declare const RedactedWrittenResponseDataSchema: z.ZodObject<{
1885
1927
  }>>;
1886
1928
  maxPlays: z.ZodOptional<z.ZodNumber>;
1887
1929
  seek: z.ZodOptional<z.ZodEnum<{
1888
- none: "none";
1889
1930
  allow: "allow";
1931
+ none: "none";
1890
1932
  }>>;
1891
1933
  rate: z.ZodOptional<z.ZodEnum<{
1892
1934
  allow: "allow";
@@ -1901,7 +1943,11 @@ declare const RedactedWrittenResponseDataSchema: z.ZodObject<{
1901
1943
  passThreshold: z.ZodOptional<z.ZodNumber>;
1902
1944
  locale: z.ZodOptional<z.ZodString>;
1903
1945
  learningObjectives: z.ZodOptional<z.ZodArray<z.ZodString>>;
1904
- difficultyLevel: z.ZodOptional<z.ZodLiteral<2 | 1 | 3 | 4 | 5>>;
1946
+ difficultyLevel: z.ZodOptional<z.ZodLiteral<1 | 2 | 4 | 3 | 5>>;
1947
+ ai: z.ZodOptional<z.ZodObject<{
1948
+ explanations: z.ZodOptional<z.ZodBoolean>;
1949
+ hints: z.ZodOptional<z.ZodBoolean>;
1950
+ }, z.core.$strict>>;
1905
1951
  }, z.core.$strict>;
1906
1952
  /** A redacted slow recording: unchanged — it is public, and it never carried captions or a policy. */
1907
1953
  declare const RedactedDictationSlowMediaSchema: z.ZodObject<{
@@ -1941,9 +1987,9 @@ declare const RedactedDictationDataSchema: z.ZodObject<{
1941
1987
  title: z.ZodString;
1942
1988
  media: z.ZodOptional<z.ZodObject<{
1943
1989
  type: z.ZodEnum<{
1944
- image: "image";
1945
- audio: "audio";
1946
1990
  video: "video";
1991
+ audio: "audio";
1992
+ image: "image";
1947
1993
  embed: "embed";
1948
1994
  }>;
1949
1995
  url: z.ZodUnion<readonly [z.ZodURL, z.ZodString]>;
@@ -1967,8 +2013,8 @@ declare const RedactedDictationDataSchema: z.ZodObject<{
1967
2013
  }>>;
1968
2014
  maxPlays: z.ZodOptional<z.ZodNumber>;
1969
2015
  seek: z.ZodOptional<z.ZodEnum<{
1970
- none: "none";
1971
2016
  allow: "allow";
2017
+ none: "none";
1972
2018
  }>>;
1973
2019
  rate: z.ZodOptional<z.ZodEnum<{
1974
2020
  allow: "allow";
@@ -1983,7 +2029,11 @@ declare const RedactedDictationDataSchema: z.ZodObject<{
1983
2029
  passThreshold: z.ZodOptional<z.ZodNumber>;
1984
2030
  locale: z.ZodOptional<z.ZodString>;
1985
2031
  learningObjectives: z.ZodOptional<z.ZodArray<z.ZodString>>;
1986
- difficultyLevel: z.ZodOptional<z.ZodLiteral<2 | 1 | 3 | 4 | 5>>;
2032
+ difficultyLevel: z.ZodOptional<z.ZodLiteral<1 | 2 | 4 | 3 | 5>>;
2033
+ ai: z.ZodOptional<z.ZodObject<{
2034
+ explanations: z.ZodOptional<z.ZodBoolean>;
2035
+ hints: z.ZodOptional<z.ZodBoolean>;
2036
+ }, z.core.$strict>>;
1987
2037
  }, z.core.$strict>;
1988
2038
  /**
1989
2039
  * Redacted Read Aloud data: everything survives, because a read-aloud item has
@@ -2035,9 +2085,9 @@ declare const RedactedReadAloudDataSchema: z.ZodObject<{
2035
2085
  title: z.ZodString;
2036
2086
  media: z.ZodOptional<z.ZodObject<{
2037
2087
  type: z.ZodEnum<{
2038
- image: "image";
2039
- audio: "audio";
2040
2088
  video: "video";
2089
+ audio: "audio";
2090
+ image: "image";
2041
2091
  embed: "embed";
2042
2092
  }>;
2043
2093
  url: z.ZodUnion<readonly [z.ZodURL, z.ZodString]>;
@@ -2061,8 +2111,8 @@ declare const RedactedReadAloudDataSchema: z.ZodObject<{
2061
2111
  }>>;
2062
2112
  maxPlays: z.ZodOptional<z.ZodNumber>;
2063
2113
  seek: z.ZodOptional<z.ZodEnum<{
2064
- none: "none";
2065
2114
  allow: "allow";
2115
+ none: "none";
2066
2116
  }>>;
2067
2117
  rate: z.ZodOptional<z.ZodEnum<{
2068
2118
  allow: "allow";
@@ -2076,7 +2126,11 @@ declare const RedactedReadAloudDataSchema: z.ZodObject<{
2076
2126
  }, z.core.$strict>>;
2077
2127
  passThreshold: z.ZodOptional<z.ZodNumber>;
2078
2128
  learningObjectives: z.ZodOptional<z.ZodArray<z.ZodString>>;
2079
- difficultyLevel: z.ZodOptional<z.ZodLiteral<2 | 1 | 3 | 4 | 5>>;
2129
+ difficultyLevel: z.ZodOptional<z.ZodLiteral<1 | 2 | 4 | 3 | 5>>;
2130
+ ai: z.ZodOptional<z.ZodObject<{
2131
+ explanations: z.ZodOptional<z.ZodBoolean>;
2132
+ hints: z.ZodOptional<z.ZodBoolean>;
2133
+ }, z.core.$strict>>;
2080
2134
  }, z.core.$strict>;
2081
2135
  /**
2082
2136
  * The learner-safe SHAPE of each built-in type, derived from the strict schema
@@ -2179,9 +2233,9 @@ declare const WrittenResponseDataSchema: z.ZodObject<{
2179
2233
  languageTarget: z.ZodOptional<z.ZodString>;
2180
2234
  media: z.ZodOptional<z.ZodObject<{
2181
2235
  type: z.ZodEnum<{
2182
- image: "image";
2183
- audio: "audio";
2184
2236
  video: "video";
2237
+ audio: "audio";
2238
+ image: "image";
2185
2239
  embed: "embed";
2186
2240
  }>;
2187
2241
  url: z.ZodUnion<readonly [z.ZodURL, z.ZodString]>;
@@ -2205,8 +2259,8 @@ declare const WrittenResponseDataSchema: z.ZodObject<{
2205
2259
  }>>;
2206
2260
  maxPlays: z.ZodOptional<z.ZodNumber>;
2207
2261
  seek: z.ZodOptional<z.ZodEnum<{
2208
- none: "none";
2209
2262
  allow: "allow";
2263
+ none: "none";
2210
2264
  }>>;
2211
2265
  rate: z.ZodOptional<z.ZodEnum<{
2212
2266
  allow: "allow";
@@ -2225,7 +2279,11 @@ declare const WrittenResponseDataSchema: z.ZodObject<{
2225
2279
  passThreshold: z.ZodOptional<z.ZodNumber>;
2226
2280
  locale: z.ZodOptional<z.ZodString>;
2227
2281
  learningObjectives: z.ZodOptional<z.ZodArray<z.ZodString>>;
2228
- difficultyLevel: z.ZodOptional<z.ZodLiteral<2 | 1 | 3 | 4 | 5>>;
2282
+ difficultyLevel: z.ZodOptional<z.ZodLiteral<1 | 2 | 4 | 3 | 5>>;
2283
+ ai: z.ZodOptional<z.ZodObject<{
2284
+ explanations: z.ZodOptional<z.ZodBoolean>;
2285
+ hints: z.ZodOptional<z.ZodBoolean>;
2286
+ }, z.core.$loose>>;
2229
2287
  }, z.core.$loose>;
2230
2288
 
2231
2289
  /**
@@ -2242,4 +2300,4 @@ declare const WrittenResponseDataSchema: z.ZodObject<{
2242
2300
  */
2243
2301
  declare function validateActivity<T extends ActivityType>(type: T, data: unknown): ValidationResult<ActivityDataMap[T]>;
2244
2302
 
2245
- export { type RedactedStimulus as $, RedactedFillInTheBlanksDataSchema as A, BlankConfigSchema as B, type RedactedGapSelectBank as C, DictationDataSchema as D, RedactedGapSelectBankSchema as E, FeedbackSchema as F, GapSelectBankSchema as G, type RedactedGapSelectChoice as H, type ItemGroup as I, RedactedGapSelectChoiceSchema as J, type RedactedGapSelectData as K, RedactedGapSelectDataSchema as L, MediaPlaybackSchema as M, NativeControlHintSchema as N, type RedactedGapSelectGap as O, RedactedGapSelectGapSchema as P, RedactedItemGroupSchema as Q, ReadAloudDataSchema as R, RedactedMediaSchema as S, type RedactedMultipleChoiceData as T, RedactedMultipleChoiceDataSchema as U, type RedactedMultipleChoiceOption as V, type RedactedMultipleChoiceOptionMedia as W, RedactedMultipleChoiceOptionMediaSchema as X, RedactedMultipleChoiceOptionSchema as Y, type RedactedReadAloudData as Z, RedactedReadAloudDataSchema as _, DictationEquivalenceSchema as a, RedactedStimulusSchema as a0, type RedactedWrittenResponseData as a1, RedactedWrittenResponseDataSchema as a2, type SequenceEntry as a3, type SequenceSlot as a4, type SequenceSlotGroup as a5, type Stimulus as a6, type StimulusKind as a7, StimulusSchema as a8, TextMatchPolicySchema as a9, type TimelineChapter as aa, TimelineChapterSchema as ab, type TimelineCue as ac, TimelineCueSchema as ad, WrittenResponseDataSchema as ae, WrittenResponseRubricCriterionSchema as af, WrittenResponseRubricSchema as ag, dictationJsonSchema as ah, fillInTheBlanksJsonSchema as ai, gapSelectJsonSchema as aj, itemGroupJsonSchema as ak, jsonSchemaFor as al, multipleChoiceJsonSchema as am, readAloudJsonSchema as an, stimulusJsonSchema as ao, validateActivity as ap, validateItemGroup as aq, writtenResponseJsonSchema as ar, DictationSlowMediaSchema as b, DictationToleranceSchema as c, FillInTheBlanksDataSchema as d, GapSelectChoiceSchema as e, GapSelectDataSchema as f, GapSelectGapSchema as g, ItemGroupSchema as h, type MediaProgress as i, MediaSchema as j, type MediaTimeline as k, MediaTimelineSchema as l, MediaTrackSchema as m, MediaUrlSchema as n, MultipleChoiceDataSchema as o, MultipleChoiceOptionMediaSchema as p, MultipleChoiceOptionSchema as q, ReadAloudSlowMediaSchema as r, type RedactedActivity as s, type RedactedBlankConfig as t, RedactedBlankConfigSchema as u, type RedactedDictationData as v, RedactedDictationDataSchema as w, type RedactedDictationSlowMedia as x, RedactedDictationSlowMediaSchema as y, type RedactedFillInTheBlanksData as z };
2303
+ export { RedactedReadAloudDataSchema as $, AiPermissionsSchema as A, BlankConfigSchema as B, RedactedFillInTheBlanksDataSchema as C, DictationDataSchema as D, type RedactedGapSelectBank as E, FeedbackSchema as F, GapSelectBankSchema as G, RedactedGapSelectBankSchema as H, type ItemGroup as I, type RedactedGapSelectChoice as J, RedactedGapSelectChoiceSchema as K, type RedactedGapSelectData as L, MediaPlaybackSchema as M, NativeControlHintSchema as N, RedactedGapSelectDataSchema as O, type RedactedGapSelectGap as P, RedactedGapSelectGapSchema as Q, ReadAloudDataSchema as R, RedactedItemGroupSchema as S, RedactedMediaSchema as T, type RedactedMultipleChoiceData as U, RedactedMultipleChoiceDataSchema as V, type RedactedMultipleChoiceOption as W, type RedactedMultipleChoiceOptionMedia as X, RedactedMultipleChoiceOptionMediaSchema as Y, RedactedMultipleChoiceOptionSchema as Z, type RedactedReadAloudData as _, DictationEquivalenceSchema as a, type RedactedStimulus as a0, RedactedStimulusSchema as a1, type RedactedWrittenResponseData as a2, RedactedWrittenResponseDataSchema as a3, type SequenceEntry as a4, type SequenceSlot as a5, type SequenceSlotGroup as a6, type Stimulus as a7, type StimulusKind as a8, StimulusSchema as a9, TextMatchPolicySchema as aa, type TimelineChapter as ab, TimelineChapterSchema as ac, type TimelineCue as ad, TimelineCueSchema as ae, WrittenResponseDataSchema as af, WrittenResponseRubricCriterionSchema as ag, WrittenResponseRubricSchema as ah, dictationJsonSchema as ai, fillInTheBlanksJsonSchema as aj, gapSelectJsonSchema as ak, itemGroupJsonSchema as al, jsonSchemaFor as am, multipleChoiceJsonSchema as an, readAloudJsonSchema as ao, stimulusJsonSchema as ap, validateActivity as aq, validateItemGroup as ar, writtenResponseJsonSchema as as, DictationSlowMediaSchema as b, DictationToleranceSchema as c, FillInTheBlanksDataSchema as d, GapSelectChoiceSchema as e, GapSelectDataSchema as f, GapSelectGapSchema as g, ItemGroupSchema as h, type MediaProgress as i, MediaSchema as j, type MediaTimeline as k, MediaTimelineSchema as l, MediaTrackSchema as m, MediaUrlSchema as n, MultipleChoiceDataSchema as o, MultipleChoiceOptionMediaSchema as p, MultipleChoiceOptionSchema as q, ReadAloudSlowMediaSchema as r, type RedactedActivity as s, type RedactedBlankConfig as t, RedactedBlankConfigSchema as u, type RedactedDictationData as v, RedactedDictationDataSchema as w, type RedactedDictationSlowMedia as x, RedactedDictationSlowMediaSchema as y, type RedactedFillInTheBlanksData as z };