@intellectif/lk-core 0.22.0 → 1.0.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 (64) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +5 -5
  3. package/dist/{activity-CYc7SD3d.d.cts → activity-DgpBJeBc.d.cts} +11 -15
  4. package/dist/{activity-CYc7SD3d.d.ts → activity-DgpBJeBc.d.ts} +11 -15
  5. package/dist/ai-check.cjs +8 -8
  6. package/dist/ai-check.d.cts +1 -1
  7. package/dist/ai-check.d.ts +1 -1
  8. package/dist/ai-check.js +3 -3
  9. package/dist/{chunk-2CV6NU32.cjs → chunk-2JT2WUQ2.cjs} +77 -39
  10. package/dist/chunk-2JT2WUQ2.cjs.map +1 -0
  11. package/dist/{chunk-D4TOPSHV.cjs → chunk-DSDXL3JO.cjs} +1216 -1105
  12. package/dist/chunk-DSDXL3JO.cjs.map +1 -0
  13. package/dist/{chunk-D3GP5MET.js → chunk-FBKTION6.js} +1093 -982
  14. package/dist/chunk-FBKTION6.js.map +1 -0
  15. package/dist/{chunk-Q7MV3IXJ.js → chunk-IARLJ5MW.js} +15 -16
  16. package/dist/chunk-IARLJ5MW.js.map +1 -0
  17. package/dist/{chunk-5UCR4UNR.js → chunk-RCZCP5OE.js} +12 -7
  18. package/dist/chunk-RCZCP5OE.js.map +1 -0
  19. package/dist/{chunk-X5DAXBJI.js → chunk-SJVRUPJT.js} +2 -2
  20. package/dist/{chunk-EOFWSGLU.cjs → chunk-TJJFKKH2.cjs} +4 -4
  21. package/dist/{chunk-EOFWSGLU.cjs.map → chunk-TJJFKKH2.cjs.map} +1 -1
  22. package/dist/{chunk-WQVZPIN7.cjs → chunk-VSH7ECQL.cjs} +44 -45
  23. package/dist/chunk-VSH7ECQL.cjs.map +1 -0
  24. package/dist/{chunk-OPMY2MNS.cjs → chunk-W5KB3DNT.cjs} +19 -14
  25. package/dist/chunk-W5KB3DNT.cjs.map +1 -0
  26. package/dist/{chunk-Z7QQZ53L.js → chunk-XS6U2ARZ.js} +70 -32
  27. package/dist/chunk-XS6U2ARZ.js.map +1 -0
  28. package/dist/index-BVNeSCWC.d.ts +548 -0
  29. package/dist/index-BlOLlwOi.d.cts +548 -0
  30. package/dist/index.cjs +129 -206
  31. package/dist/index.cjs.map +1 -1
  32. package/dist/index.d.cts +115 -15
  33. package/dist/index.d.ts +115 -15
  34. package/dist/index.js +26 -103
  35. package/dist/index.js.map +1 -1
  36. package/dist/schemas.cjs +3 -94
  37. package/dist/schemas.cjs.map +1 -1
  38. package/dist/schemas.d.cts +2 -3
  39. package/dist/schemas.d.ts +2 -3
  40. package/dist/schemas.js +6 -97
  41. package/dist/scoring.cjs +3 -3
  42. package/dist/scoring.d.cts +2 -2
  43. package/dist/scoring.d.ts +2 -2
  44. package/dist/scoring.js +2 -2
  45. package/dist/xapi.cjs +3 -3
  46. package/dist/xapi.d.cts +1 -1
  47. package/dist/xapi.d.ts +1 -1
  48. package/dist/xapi.js +2 -2
  49. package/package.json +4 -4
  50. package/vectors/README.md +32 -2
  51. package/vectors/scoring.json +1 -498
  52. package/vectors/validation.json +6742 -0
  53. package/vectors/validation.mjs +195 -0
  54. package/dist/chunk-2CV6NU32.cjs.map +0 -1
  55. package/dist/chunk-5UCR4UNR.js.map +0 -1
  56. package/dist/chunk-D3GP5MET.js.map +0 -1
  57. package/dist/chunk-D4TOPSHV.cjs.map +0 -1
  58. package/dist/chunk-OPMY2MNS.cjs.map +0 -1
  59. package/dist/chunk-Q7MV3IXJ.js.map +0 -1
  60. package/dist/chunk-WQVZPIN7.cjs.map +0 -1
  61. package/dist/chunk-Z7QQZ53L.js.map +0 -1
  62. package/dist/index-0Z3-nnAP.d.ts +0 -2303
  63. package/dist/index-CxxiNSSH.d.cts +0 -2303
  64. /package/dist/{chunk-X5DAXBJI.js.map → chunk-SJVRUPJT.js.map} +0 -0
package/dist/schemas.cjs CHANGED
@@ -12,12 +12,13 @@
12
12
 
13
13
 
14
14
 
15
+ var _chunk2JT2WUQ2cjs = require('./chunk-2JT2WUQ2.cjs');
16
+ require('./chunk-DSDXL3JO.cjs');
15
17
 
16
18
 
17
19
 
18
20
 
19
21
 
20
- var _chunk2CV6NU32cjs = require('./chunk-2CV6NU32.cjs');
21
22
 
22
23
 
23
24
 
@@ -27,97 +28,5 @@ var _chunk2CV6NU32cjs = require('./chunk-2CV6NU32.cjs');
27
28
 
28
29
 
29
30
 
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37
-
38
-
39
-
40
-
41
-
42
-
43
-
44
-
45
-
46
-
47
-
48
-
49
-
50
-
51
-
52
-
53
-
54
-
55
-
56
-
57
-
58
-
59
-
60
-
61
-
62
- var _chunkD4TOPSHVcjs = require('./chunk-D4TOPSHV.cjs');
63
-
64
-
65
-
66
-
67
-
68
-
69
-
70
-
71
-
72
-
73
-
74
-
75
-
76
-
77
-
78
-
79
-
80
-
81
-
82
-
83
-
84
-
85
-
86
-
87
-
88
-
89
-
90
-
91
-
92
-
93
-
94
-
95
-
96
-
97
-
98
-
99
-
100
-
101
-
102
-
103
-
104
-
105
-
106
-
107
-
108
-
109
-
110
-
111
-
112
-
113
-
114
-
115
-
116
-
117
-
118
-
119
-
120
-
121
-
122
- exports.AiPermissionsSchema = _chunkD4TOPSHVcjs.AiPermissionsSchema; exports.BlankConfigSchema = _chunkD4TOPSHVcjs.BlankConfigSchema; exports.DictationDataSchema = _chunkD4TOPSHVcjs.DictationDataSchema; exports.DictationEquivalenceSchema = _chunkD4TOPSHVcjs.DictationEquivalenceSchema; exports.DictationSlowMediaSchema = _chunkD4TOPSHVcjs.DictationSlowMediaSchema; exports.DictationToleranceSchema = _chunkD4TOPSHVcjs.DictationToleranceSchema; exports.FeedbackSchema = _chunkD4TOPSHVcjs.FeedbackSchema; exports.FillInTheBlanksDataSchema = _chunkD4TOPSHVcjs.FillInTheBlanksDataSchema; exports.GapSelectBankSchema = _chunkD4TOPSHVcjs.GapSelectBankSchema; exports.GapSelectChoiceSchema = _chunkD4TOPSHVcjs.GapSelectChoiceSchema; exports.GapSelectDataSchema = _chunkD4TOPSHVcjs.GapSelectDataSchema; exports.GapSelectGapSchema = _chunkD4TOPSHVcjs.GapSelectGapSchema; exports.ItemGroupSchema = _chunk2CV6NU32cjs.ItemGroupSchema; exports.MediaPlaybackSchema = _chunkD4TOPSHVcjs.MediaPlaybackSchema; exports.MediaSchema = _chunkD4TOPSHVcjs.MediaSchema; exports.MediaTimelineSchema = _chunk2CV6NU32cjs.MediaTimelineSchema; exports.MediaTrackSchema = _chunkD4TOPSHVcjs.MediaTrackSchema; exports.MediaUrlSchema = _chunkD4TOPSHVcjs.MediaUrlSchema; exports.MultipleChoiceDataSchema = _chunkD4TOPSHVcjs.MultipleChoiceDataSchema; exports.MultipleChoiceOptionMediaSchema = _chunkD4TOPSHVcjs.MultipleChoiceOptionMediaSchema; exports.MultipleChoiceOptionSchema = _chunkD4TOPSHVcjs.MultipleChoiceOptionSchema; exports.NativeControlHintSchema = _chunkD4TOPSHVcjs.NativeControlHintSchema; exports.ReadAloudDataSchema = _chunkD4TOPSHVcjs.ReadAloudDataSchema; exports.ReadAloudSlowMediaSchema = _chunkD4TOPSHVcjs.ReadAloudSlowMediaSchema; exports.RedactedBlankConfigSchema = _chunkD4TOPSHVcjs.RedactedBlankConfigSchema; exports.RedactedDictationDataSchema = _chunkD4TOPSHVcjs.RedactedDictationDataSchema; exports.RedactedDictationSlowMediaSchema = _chunkD4TOPSHVcjs.RedactedDictationSlowMediaSchema; exports.RedactedFillInTheBlanksDataSchema = _chunkD4TOPSHVcjs.RedactedFillInTheBlanksDataSchema; exports.RedactedGapSelectBankSchema = _chunkD4TOPSHVcjs.RedactedGapSelectBankSchema; exports.RedactedGapSelectChoiceSchema = _chunkD4TOPSHVcjs.RedactedGapSelectChoiceSchema; exports.RedactedGapSelectDataSchema = _chunkD4TOPSHVcjs.RedactedGapSelectDataSchema; exports.RedactedGapSelectGapSchema = _chunkD4TOPSHVcjs.RedactedGapSelectGapSchema; exports.RedactedItemGroupSchema = _chunk2CV6NU32cjs.RedactedItemGroupSchema; exports.RedactedMediaSchema = _chunkD4TOPSHVcjs.RedactedMediaSchema; exports.RedactedMultipleChoiceDataSchema = _chunkD4TOPSHVcjs.RedactedMultipleChoiceDataSchema; exports.RedactedMultipleChoiceOptionMediaSchema = _chunkD4TOPSHVcjs.RedactedMultipleChoiceOptionMediaSchema; exports.RedactedMultipleChoiceOptionSchema = _chunkD4TOPSHVcjs.RedactedMultipleChoiceOptionSchema; exports.RedactedReadAloudDataSchema = _chunkD4TOPSHVcjs.RedactedReadAloudDataSchema; exports.RedactedStimulusSchema = _chunk2CV6NU32cjs.RedactedStimulusSchema; exports.RedactedWrittenResponseDataSchema = _chunkD4TOPSHVcjs.RedactedWrittenResponseDataSchema; exports.StimulusSchema = _chunk2CV6NU32cjs.StimulusSchema; exports.TextMatchPolicySchema = _chunkD4TOPSHVcjs.TextMatchPolicySchema; exports.TimelineChapterSchema = _chunk2CV6NU32cjs.TimelineChapterSchema; exports.TimelineCueSchema = _chunk2CV6NU32cjs.TimelineCueSchema; exports.WrittenResponseDataSchema = _chunkD4TOPSHVcjs.WrittenResponseDataSchema; exports.WrittenResponseRubricCriterionSchema = _chunkD4TOPSHVcjs.WrittenResponseRubricCriterionSchema; exports.WrittenResponseRubricSchema = _chunkD4TOPSHVcjs.WrittenResponseRubricSchema; exports.dictationJsonSchema = _chunk2CV6NU32cjs.dictationJsonSchema; exports.fillInTheBlanksJsonSchema = _chunk2CV6NU32cjs.fillInTheBlanksJsonSchema; exports.gapSelectJsonSchema = _chunk2CV6NU32cjs.gapSelectJsonSchema; exports.itemGroupJsonSchema = _chunk2CV6NU32cjs.itemGroupJsonSchema; exports.jsonSchemaFor = _chunk2CV6NU32cjs.jsonSchemaFor; exports.multipleChoiceJsonSchema = _chunk2CV6NU32cjs.multipleChoiceJsonSchema; exports.readAloudJsonSchema = _chunk2CV6NU32cjs.readAloudJsonSchema; exports.stimulusJsonSchema = _chunk2CV6NU32cjs.stimulusJsonSchema; exports.validateActivity = _chunk2CV6NU32cjs.validateActivity; exports.validateItemGroup = _chunk2CV6NU32cjs.validateItemGroup; exports.writtenResponseJsonSchema = _chunk2CV6NU32cjs.writtenResponseJsonSchema;
31
+ exports.dictationJsonSchema = _chunk2JT2WUQ2cjs.dictationJsonSchema; exports.fillInTheBlanksJsonSchema = _chunk2JT2WUQ2cjs.fillInTheBlanksJsonSchema; exports.gapSelectJsonSchema = _chunk2JT2WUQ2cjs.gapSelectJsonSchema; exports.itemGroupJsonSchema = _chunk2JT2WUQ2cjs.itemGroupJsonSchema; exports.jsonSchemaFor = _chunk2JT2WUQ2cjs.jsonSchemaFor; exports.multipleChoiceJsonSchema = _chunk2JT2WUQ2cjs.multipleChoiceJsonSchema; exports.readAloudJsonSchema = _chunk2JT2WUQ2cjs.readAloudJsonSchema; exports.stimulusJsonSchema = _chunk2JT2WUQ2cjs.stimulusJsonSchema; exports.validateActivity = _chunk2JT2WUQ2cjs.validateActivity; exports.validateItemGroup = _chunk2JT2WUQ2cjs.validateItemGroup; exports.validateMedia = _chunk2JT2WUQ2cjs.validateMedia; exports.validateOptionMedia = _chunk2JT2WUQ2cjs.validateOptionMedia; exports.writtenResponseJsonSchema = _chunk2JT2WUQ2cjs.writtenResponseJsonSchema;
123
32
  //# sourceMappingURL=schemas.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/learning-kit/learning-kit/packages/lk-core/dist/schemas.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,60IAAC","file":"/home/runner/work/learning-kit/learning-kit/packages/lk-core/dist/schemas.cjs"}
1
+ {"version":3,"sources":["/home/runner/work/learning-kit/learning-kit/packages/lk-core/dist/schemas.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,83BAAC","file":"/home/runner/work/learning-kit/learning-kit/packages/lk-core/dist/schemas.cjs"}
@@ -1,3 +1,2 @@
1
- import './activity-CYc7SD3d.cjs';
2
- export { A as AiPermissionsSchema, B as BlankConfigSchema, D as DictationDataSchema, a as DictationEquivalenceSchema, b as DictationSlowMediaSchema, c as DictationToleranceSchema, F as FeedbackSchema, d as FillInTheBlanksDataSchema, G as GapSelectBankSchema, e as GapSelectChoiceSchema, f as GapSelectDataSchema, g as GapSelectGapSchema, h as ItemGroupSchema, M as MediaPlaybackSchema, j as MediaSchema, l as MediaTimelineSchema, m as MediaTrackSchema, n as MediaUrlSchema, o as MultipleChoiceDataSchema, p as MultipleChoiceOptionMediaSchema, q as MultipleChoiceOptionSchema, N as NativeControlHintSchema, R as ReadAloudDataSchema, r as ReadAloudSlowMediaSchema, s as RedactedActivity, t as RedactedBlankConfig, u as RedactedBlankConfigSchema, v as RedactedDictationData, w as RedactedDictationDataSchema, x as RedactedDictationSlowMedia, y as RedactedDictationSlowMediaSchema, z as RedactedFillInTheBlanksData, C as RedactedFillInTheBlanksDataSchema, E as RedactedGapSelectBank, H as RedactedGapSelectBankSchema, J as RedactedGapSelectChoice, K as RedactedGapSelectChoiceSchema, L as RedactedGapSelectData, O as RedactedGapSelectDataSchema, P as RedactedGapSelectGap, Q as RedactedGapSelectGapSchema, S as RedactedItemGroupSchema, T as RedactedMediaSchema, U as RedactedMultipleChoiceData, V as RedactedMultipleChoiceDataSchema, W as RedactedMultipleChoiceOption, X as RedactedMultipleChoiceOptionMedia, Y as RedactedMultipleChoiceOptionMediaSchema, Z as RedactedMultipleChoiceOptionSchema, _ as RedactedReadAloudData, $ as RedactedReadAloudDataSchema, a0 as RedactedStimulus, a1 as RedactedStimulusSchema, a2 as RedactedWrittenResponseData, a3 as RedactedWrittenResponseDataSchema, a9 as StimulusSchema, aa as TextMatchPolicySchema, ac as TimelineChapterSchema, ae as TimelineCueSchema, af as WrittenResponseDataSchema, ag as WrittenResponseRubricCriterionSchema, ah as WrittenResponseRubricSchema, ai as dictationJsonSchema, aj as fillInTheBlanksJsonSchema, ak as gapSelectJsonSchema, al as itemGroupJsonSchema, am as jsonSchemaFor, an as multipleChoiceJsonSchema, ao as readAloudJsonSchema, ap as stimulusJsonSchema, aq as validateActivity, ar as validateItemGroup, as as writtenResponseJsonSchema } from './index-CxxiNSSH.cjs';
3
- import 'zod/v4';
1
+ import './activity-DgpBJeBc.cjs';
2
+ export { R as RedactedActivity, b as RedactedBlankConfig, c as RedactedDictationData, d as RedactedDictationSlowMedia, e as RedactedFillInTheBlanksData, f as RedactedGapSelectBank, g as RedactedGapSelectChoice, h as RedactedGapSelectData, i as RedactedGapSelectGap, j as RedactedMultipleChoiceData, k as RedactedMultipleChoiceOption, l as RedactedMultipleChoiceOptionMedia, m as RedactedReadAloudData, n as RedactedStimulus, o as RedactedWrittenResponseData, u as dictationJsonSchema, v as fillInTheBlanksJsonSchema, w as gapSelectJsonSchema, x as itemGroupJsonSchema, y as jsonSchemaFor, z as multipleChoiceJsonSchema, A as readAloudJsonSchema, B as stimulusJsonSchema, C as validateActivity, D as validateItemGroup, E as validateMedia, F as validateOptionMedia, G as writtenResponseJsonSchema } from './index-BlOLlwOi.cjs';
package/dist/schemas.d.ts CHANGED
@@ -1,3 +1,2 @@
1
- import './activity-CYc7SD3d.js';
2
- export { A as AiPermissionsSchema, B as BlankConfigSchema, D as DictationDataSchema, a as DictationEquivalenceSchema, b as DictationSlowMediaSchema, c as DictationToleranceSchema, F as FeedbackSchema, d as FillInTheBlanksDataSchema, G as GapSelectBankSchema, e as GapSelectChoiceSchema, f as GapSelectDataSchema, g as GapSelectGapSchema, h as ItemGroupSchema, M as MediaPlaybackSchema, j as MediaSchema, l as MediaTimelineSchema, m as MediaTrackSchema, n as MediaUrlSchema, o as MultipleChoiceDataSchema, p as MultipleChoiceOptionMediaSchema, q as MultipleChoiceOptionSchema, N as NativeControlHintSchema, R as ReadAloudDataSchema, r as ReadAloudSlowMediaSchema, s as RedactedActivity, t as RedactedBlankConfig, u as RedactedBlankConfigSchema, v as RedactedDictationData, w as RedactedDictationDataSchema, x as RedactedDictationSlowMedia, y as RedactedDictationSlowMediaSchema, z as RedactedFillInTheBlanksData, C as RedactedFillInTheBlanksDataSchema, E as RedactedGapSelectBank, H as RedactedGapSelectBankSchema, J as RedactedGapSelectChoice, K as RedactedGapSelectChoiceSchema, L as RedactedGapSelectData, O as RedactedGapSelectDataSchema, P as RedactedGapSelectGap, Q as RedactedGapSelectGapSchema, S as RedactedItemGroupSchema, T as RedactedMediaSchema, U as RedactedMultipleChoiceData, V as RedactedMultipleChoiceDataSchema, W as RedactedMultipleChoiceOption, X as RedactedMultipleChoiceOptionMedia, Y as RedactedMultipleChoiceOptionMediaSchema, Z as RedactedMultipleChoiceOptionSchema, _ as RedactedReadAloudData, $ as RedactedReadAloudDataSchema, a0 as RedactedStimulus, a1 as RedactedStimulusSchema, a2 as RedactedWrittenResponseData, a3 as RedactedWrittenResponseDataSchema, a9 as StimulusSchema, aa as TextMatchPolicySchema, ac as TimelineChapterSchema, ae as TimelineCueSchema, af as WrittenResponseDataSchema, ag as WrittenResponseRubricCriterionSchema, ah as WrittenResponseRubricSchema, ai as dictationJsonSchema, aj as fillInTheBlanksJsonSchema, ak as gapSelectJsonSchema, al as itemGroupJsonSchema, am as jsonSchemaFor, an as multipleChoiceJsonSchema, ao as readAloudJsonSchema, ap as stimulusJsonSchema, aq as validateActivity, ar as validateItemGroup, as as writtenResponseJsonSchema } from './index-0Z3-nnAP.js';
3
- import 'zod/v4';
1
+ import './activity-DgpBJeBc.js';
2
+ export { R as RedactedActivity, b as RedactedBlankConfig, c as RedactedDictationData, d as RedactedDictationSlowMedia, e as RedactedFillInTheBlanksData, f as RedactedGapSelectBank, g as RedactedGapSelectChoice, h as RedactedGapSelectData, i as RedactedGapSelectGap, j as RedactedMultipleChoiceData, k as RedactedMultipleChoiceOption, l as RedactedMultipleChoiceOptionMedia, m as RedactedReadAloudData, n as RedactedStimulus, o as RedactedWrittenResponseData, u as dictationJsonSchema, v as fillInTheBlanksJsonSchema, w as gapSelectJsonSchema, x as itemGroupJsonSchema, y as jsonSchemaFor, z as multipleChoiceJsonSchema, A as readAloudJsonSchema, B as stimulusJsonSchema, C as validateActivity, D as validateItemGroup, E as validateMedia, F as validateOptionMedia, G as writtenResponseJsonSchema } from './index-BVNeSCWC.js';
package/dist/schemas.js CHANGED
@@ -1,11 +1,4 @@
1
1
  import {
2
- ItemGroupSchema,
3
- MediaTimelineSchema,
4
- RedactedItemGroupSchema,
5
- RedactedStimulusSchema,
6
- StimulusSchema,
7
- TimelineChapterSchema,
8
- TimelineCueSchema,
9
2
  dictationJsonSchema,
10
3
  fillInTheBlanksJsonSchema,
11
4
  gapSelectJsonSchema,
@@ -16,98 +9,12 @@ import {
16
9
  stimulusJsonSchema,
17
10
  validateActivity,
18
11
  validateItemGroup,
12
+ validateMedia,
13
+ validateOptionMedia,
19
14
  writtenResponseJsonSchema
20
- } from "./chunk-Z7QQZ53L.js";
21
- import {
22
- AiPermissionsSchema,
23
- BlankConfigSchema,
24
- DictationDataSchema,
25
- DictationEquivalenceSchema,
26
- DictationSlowMediaSchema,
27
- DictationToleranceSchema,
28
- FeedbackSchema,
29
- FillInTheBlanksDataSchema,
30
- GapSelectBankSchema,
31
- GapSelectChoiceSchema,
32
- GapSelectDataSchema,
33
- GapSelectGapSchema,
34
- MediaPlaybackSchema,
35
- MediaSchema,
36
- MediaTrackSchema,
37
- MediaUrlSchema,
38
- MultipleChoiceDataSchema,
39
- MultipleChoiceOptionMediaSchema,
40
- MultipleChoiceOptionSchema,
41
- NativeControlHintSchema,
42
- ReadAloudDataSchema,
43
- ReadAloudSlowMediaSchema,
44
- RedactedBlankConfigSchema,
45
- RedactedDictationDataSchema,
46
- RedactedDictationSlowMediaSchema,
47
- RedactedFillInTheBlanksDataSchema,
48
- RedactedGapSelectBankSchema,
49
- RedactedGapSelectChoiceSchema,
50
- RedactedGapSelectDataSchema,
51
- RedactedGapSelectGapSchema,
52
- RedactedMediaSchema,
53
- RedactedMultipleChoiceDataSchema,
54
- RedactedMultipleChoiceOptionMediaSchema,
55
- RedactedMultipleChoiceOptionSchema,
56
- RedactedReadAloudDataSchema,
57
- RedactedWrittenResponseDataSchema,
58
- TextMatchPolicySchema,
59
- WrittenResponseDataSchema,
60
- WrittenResponseRubricCriterionSchema,
61
- WrittenResponseRubricSchema
62
- } from "./chunk-D3GP5MET.js";
15
+ } from "./chunk-XS6U2ARZ.js";
16
+ import "./chunk-FBKTION6.js";
63
17
  export {
64
- AiPermissionsSchema,
65
- BlankConfigSchema,
66
- DictationDataSchema,
67
- DictationEquivalenceSchema,
68
- DictationSlowMediaSchema,
69
- DictationToleranceSchema,
70
- FeedbackSchema,
71
- FillInTheBlanksDataSchema,
72
- GapSelectBankSchema,
73
- GapSelectChoiceSchema,
74
- GapSelectDataSchema,
75
- GapSelectGapSchema,
76
- ItemGroupSchema,
77
- MediaPlaybackSchema,
78
- MediaSchema,
79
- MediaTimelineSchema,
80
- MediaTrackSchema,
81
- MediaUrlSchema,
82
- MultipleChoiceDataSchema,
83
- MultipleChoiceOptionMediaSchema,
84
- MultipleChoiceOptionSchema,
85
- NativeControlHintSchema,
86
- ReadAloudDataSchema,
87
- ReadAloudSlowMediaSchema,
88
- RedactedBlankConfigSchema,
89
- RedactedDictationDataSchema,
90
- RedactedDictationSlowMediaSchema,
91
- RedactedFillInTheBlanksDataSchema,
92
- RedactedGapSelectBankSchema,
93
- RedactedGapSelectChoiceSchema,
94
- RedactedGapSelectDataSchema,
95
- RedactedGapSelectGapSchema,
96
- RedactedItemGroupSchema,
97
- RedactedMediaSchema,
98
- RedactedMultipleChoiceDataSchema,
99
- RedactedMultipleChoiceOptionMediaSchema,
100
- RedactedMultipleChoiceOptionSchema,
101
- RedactedReadAloudDataSchema,
102
- RedactedStimulusSchema,
103
- RedactedWrittenResponseDataSchema,
104
- StimulusSchema,
105
- TextMatchPolicySchema,
106
- TimelineChapterSchema,
107
- TimelineCueSchema,
108
- WrittenResponseDataSchema,
109
- WrittenResponseRubricCriterionSchema,
110
- WrittenResponseRubricSchema,
111
18
  dictationJsonSchema,
112
19
  fillInTheBlanksJsonSchema,
113
20
  gapSelectJsonSchema,
@@ -118,6 +25,8 @@ export {
118
25
  stimulusJsonSchema,
119
26
  validateActivity,
120
27
  validateItemGroup,
28
+ validateMedia,
29
+ validateOptionMedia,
121
30
  writtenResponseJsonSchema
122
31
  };
123
32
  //# sourceMappingURL=schemas.js.map
package/dist/scoring.cjs CHANGED
@@ -19,7 +19,7 @@
19
19
 
20
20
 
21
21
 
22
- var _chunkWQVZPIN7cjs = require('./chunk-WQVZPIN7.cjs');
22
+ var _chunkVSH7ECQLcjs = require('./chunk-VSH7ECQL.cjs');
23
23
 
24
24
 
25
25
 
@@ -35,7 +35,7 @@ var _chunkWQVZPIN7cjs = require('./chunk-WQVZPIN7.cjs');
35
35
 
36
36
 
37
37
 
38
- var _chunkD4TOPSHVcjs = require('./chunk-D4TOPSHV.cjs');
38
+ var _chunkDSDXL3JOcjs = require('./chunk-DSDXL3JO.cjs');
39
39
 
40
40
 
41
41
 
@@ -71,5 +71,5 @@ var _chunkD4TOPSHVcjs = require('./chunk-D4TOPSHV.cjs');
71
71
 
72
72
 
73
73
 
74
- exports.DEFAULT_ITEM_SCORING_POLICY = _chunkWQVZPIN7cjs.DEFAULT_ITEM_SCORING_POLICY; exports.DEFAULT_PASS_THRESHOLD = _chunkWQVZPIN7cjs.DEFAULT_PASS_THRESHOLD; exports.DICTATION_MAX_ACCEPTED_TRANSCRIPTS = _chunkD4TOPSHVcjs.DICTATION_MAX_ACCEPTED_TRANSCRIPTS; exports.DICTATION_MAX_EQUIVALENCES = _chunkD4TOPSHVcjs.DICTATION_MAX_EQUIVALENCES; exports.DICTATION_MAX_EQUIVALENCE_LENGTH = _chunkD4TOPSHVcjs.DICTATION_MAX_EQUIVALENCE_LENGTH; exports.DICTATION_MAX_TEXT_LENGTH = _chunkD4TOPSHVcjs.DICTATION_MAX_TEXT_LENGTH; exports.DICTATION_MAX_TRANSCRIPT_LENGTH = _chunkD4TOPSHVcjs.DICTATION_MAX_TRANSCRIPT_LENGTH; exports.ITEM_SCORING_MAX_RETRIES = _chunkWQVZPIN7cjs.ITEM_SCORING_MAX_RETRIES; exports.READ_ALOUD_MAX_DIMENSION_WEIGHT = _chunkD4TOPSHVcjs.READ_ALOUD_MAX_DIMENSION_WEIGHT; exports.READ_ALOUD_MAX_REFERENCE_LENGTH = _chunkD4TOPSHVcjs.READ_ALOUD_MAX_REFERENCE_LENGTH; exports.READ_ALOUD_MAX_SECONDS = _chunkD4TOPSHVcjs.READ_ALOUD_MAX_SECONDS; exports.READ_ALOUD_MAX_TAKES = _chunkD4TOPSHVcjs.READ_ALOUD_MAX_TAKES; exports.SPEECH_ASSESSMENT_MAX_WORDS = _chunkD4TOPSHVcjs.SPEECH_ASSESSMENT_MAX_WORDS; exports.alignDictation = _chunkD4TOPSHVcjs.alignDictation; exports.alignReadAloud = _chunkWQVZPIN7cjs.alignReadAloud; exports.classifyBand = _chunkWQVZPIN7cjs.classifyBand; exports.composeAssessmentScore = _chunkWQVZPIN7cjs.composeAssessmentScore; exports.computePassThreshold = _chunkWQVZPIN7cjs.computePassThreshold; exports.dictationReferenceWords = _chunkD4TOPSHVcjs.dictationReferenceWords; exports.diffDictationChars = _chunkWQVZPIN7cjs.diffDictationChars; exports.evaluate = _chunkWQVZPIN7cjs.evaluate; exports.evaluateTries = _chunkWQVZPIN7cjs.evaluateTries; exports.gradeReadAloud = _chunkWQVZPIN7cjs.gradeReadAloud; exports.gte = _chunkWQVZPIN7cjs.gte; exports.inspectWav = _chunkWQVZPIN7cjs.inspectWav; exports.levenshteinDistance = _chunkD4TOPSHVcjs.levenshteinDistance; exports.matchText = _chunkD4TOPSHVcjs.matchText; exports.outcomeFromUnscorable = _chunkWQVZPIN7cjs.outcomeFromUnscorable; exports.resolveItemScoringPolicy = _chunkWQVZPIN7cjs.resolveItemScoringPolicy; exports.roundGrade = _chunkWQVZPIN7cjs.roundGrade; exports.score = _chunkWQVZPIN7cjs.score; exports.scoreTries = _chunkWQVZPIN7cjs.scoreTries; exports.validateItemScoringPolicy = _chunkWQVZPIN7cjs.validateItemScoringPolicy; exports.validateSpeechAssessment = _chunkWQVZPIN7cjs.validateSpeechAssessment;
74
+ exports.DEFAULT_ITEM_SCORING_POLICY = _chunkVSH7ECQLcjs.DEFAULT_ITEM_SCORING_POLICY; exports.DEFAULT_PASS_THRESHOLD = _chunkVSH7ECQLcjs.DEFAULT_PASS_THRESHOLD; exports.DICTATION_MAX_ACCEPTED_TRANSCRIPTS = _chunkDSDXL3JOcjs.DICTATION_MAX_ACCEPTED_TRANSCRIPTS; exports.DICTATION_MAX_EQUIVALENCES = _chunkDSDXL3JOcjs.DICTATION_MAX_EQUIVALENCES; exports.DICTATION_MAX_EQUIVALENCE_LENGTH = _chunkDSDXL3JOcjs.DICTATION_MAX_EQUIVALENCE_LENGTH; exports.DICTATION_MAX_TEXT_LENGTH = _chunkDSDXL3JOcjs.DICTATION_MAX_TEXT_LENGTH; exports.DICTATION_MAX_TRANSCRIPT_LENGTH = _chunkDSDXL3JOcjs.DICTATION_MAX_TRANSCRIPT_LENGTH; exports.ITEM_SCORING_MAX_RETRIES = _chunkVSH7ECQLcjs.ITEM_SCORING_MAX_RETRIES; exports.READ_ALOUD_MAX_DIMENSION_WEIGHT = _chunkDSDXL3JOcjs.READ_ALOUD_MAX_DIMENSION_WEIGHT; exports.READ_ALOUD_MAX_REFERENCE_LENGTH = _chunkDSDXL3JOcjs.READ_ALOUD_MAX_REFERENCE_LENGTH; exports.READ_ALOUD_MAX_SECONDS = _chunkDSDXL3JOcjs.READ_ALOUD_MAX_SECONDS; exports.READ_ALOUD_MAX_TAKES = _chunkDSDXL3JOcjs.READ_ALOUD_MAX_TAKES; exports.SPEECH_ASSESSMENT_MAX_WORDS = _chunkDSDXL3JOcjs.SPEECH_ASSESSMENT_MAX_WORDS; exports.alignDictation = _chunkDSDXL3JOcjs.alignDictation; exports.alignReadAloud = _chunkVSH7ECQLcjs.alignReadAloud; exports.classifyBand = _chunkVSH7ECQLcjs.classifyBand; exports.composeAssessmentScore = _chunkVSH7ECQLcjs.composeAssessmentScore; exports.computePassThreshold = _chunkVSH7ECQLcjs.computePassThreshold; exports.dictationReferenceWords = _chunkDSDXL3JOcjs.dictationReferenceWords; exports.diffDictationChars = _chunkVSH7ECQLcjs.diffDictationChars; exports.evaluate = _chunkVSH7ECQLcjs.evaluate; exports.evaluateTries = _chunkVSH7ECQLcjs.evaluateTries; exports.gradeReadAloud = _chunkVSH7ECQLcjs.gradeReadAloud; exports.gte = _chunkVSH7ECQLcjs.gte; exports.inspectWav = _chunkVSH7ECQLcjs.inspectWav; exports.levenshteinDistance = _chunkDSDXL3JOcjs.levenshteinDistance; exports.matchText = _chunkDSDXL3JOcjs.matchText; exports.outcomeFromUnscorable = _chunkVSH7ECQLcjs.outcomeFromUnscorable; exports.resolveItemScoringPolicy = _chunkVSH7ECQLcjs.resolveItemScoringPolicy; exports.roundGrade = _chunkVSH7ECQLcjs.roundGrade; exports.score = _chunkVSH7ECQLcjs.score; exports.scoreTries = _chunkVSH7ECQLcjs.scoreTries; exports.validateItemScoringPolicy = _chunkVSH7ECQLcjs.validateItemScoringPolicy; exports.validateSpeechAssessment = _chunkVSH7ECQLcjs.validateSpeechAssessment;
75
75
  //# sourceMappingURL=scoring.cjs.map
@@ -1,5 +1,5 @@
1
- import { a3 as ItemOutcome, Y as Grader, L as DictationData, a as ActivityData, ad as ReadAloudData, aq as ValidationResult, ag as ReadAloudLearnerResponse, X as GradeRecord, a4 as LearnerResponse, f as ActivityType, am as ScoringResult } from './activity-CYc7SD3d.cjs';
2
- export { aj as RecordingRef, an as TextMatchPolicy, ao as TextMatchResult, aF as levenshteinDistance, aG as matchText } from './activity-CYc7SD3d.cjs';
1
+ import { a3 as ItemOutcome, Y as Grader, L as DictationData, a as ActivityData, ad as ReadAloudData, aq as ValidationResult, ag as ReadAloudLearnerResponse, X as GradeRecord, a4 as LearnerResponse, f as ActivityType, am as ScoringResult } from './activity-DgpBJeBc.cjs';
2
+ export { aj as RecordingRef, an as TextMatchPolicy, ao as TextMatchResult, aF as levenshteinDistance, aG as matchText } from './activity-DgpBJeBc.cjs';
3
3
 
4
4
  /**
5
5
  * Rounding for assessment scores.
package/dist/scoring.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { a3 as ItemOutcome, Y as Grader, L as DictationData, a as ActivityData, ad as ReadAloudData, aq as ValidationResult, ag as ReadAloudLearnerResponse, X as GradeRecord, a4 as LearnerResponse, f as ActivityType, am as ScoringResult } from './activity-CYc7SD3d.js';
2
- export { aj as RecordingRef, an as TextMatchPolicy, ao as TextMatchResult, aF as levenshteinDistance, aG as matchText } from './activity-CYc7SD3d.js';
1
+ import { a3 as ItemOutcome, Y as Grader, L as DictationData, a as ActivityData, ad as ReadAloudData, aq as ValidationResult, ag as ReadAloudLearnerResponse, X as GradeRecord, a4 as LearnerResponse, f as ActivityType, am as ScoringResult } from './activity-DgpBJeBc.js';
2
+ export { aj as RecordingRef, an as TextMatchPolicy, ao as TextMatchResult, aF as levenshteinDistance, aG as matchText } from './activity-DgpBJeBc.js';
3
3
 
4
4
  /**
5
5
  * Rounding for assessment scores.
package/dist/scoring.js CHANGED
@@ -19,7 +19,7 @@ import {
19
19
  scoreTries,
20
20
  validateItemScoringPolicy,
21
21
  validateSpeechAssessment
22
- } from "./chunk-Q7MV3IXJ.js";
22
+ } from "./chunk-IARLJ5MW.js";
23
23
  import {
24
24
  DICTATION_MAX_ACCEPTED_TRANSCRIPTS,
25
25
  DICTATION_MAX_EQUIVALENCES,
@@ -35,7 +35,7 @@ import {
35
35
  dictationReferenceWords,
36
36
  levenshteinDistance,
37
37
  matchText
38
- } from "./chunk-D3GP5MET.js";
38
+ } from "./chunk-FBKTION6.js";
39
39
  export {
40
40
  DEFAULT_ITEM_SCORING_POLICY,
41
41
  DEFAULT_PASS_THRESHOLD,
package/dist/xapi.cjs CHANGED
@@ -4,13 +4,13 @@
4
4
 
5
5
 
6
6
 
7
- var _chunkEOFWSGLUcjs = require('./chunk-EOFWSGLU.cjs');
8
- require('./chunk-D4TOPSHV.cjs');
7
+ var _chunkTJJFKKH2cjs = require('./chunk-TJJFKKH2.cjs');
8
+ require('./chunk-DSDXL3JO.cjs');
9
9
 
10
10
 
11
11
 
12
12
 
13
13
 
14
14
 
15
- exports.XAPIVerb = _chunkEOFWSGLUcjs.XAPIVerb; exports.XAPI_VERB_DISPLAY = _chunkEOFWSGLUcjs.XAPI_VERB_DISPLAY; exports.validateXAPIStatement = _chunkEOFWSGLUcjs.validateXAPIStatement; exports.xAPIBuilder = _chunkEOFWSGLUcjs.xAPIBuilder; exports.xapiDefinitionFor = _chunkEOFWSGLUcjs.xapiDefinitionFor;
15
+ exports.XAPIVerb = _chunkTJJFKKH2cjs.XAPIVerb; exports.XAPI_VERB_DISPLAY = _chunkTJJFKKH2cjs.XAPI_VERB_DISPLAY; exports.validateXAPIStatement = _chunkTJJFKKH2cjs.validateXAPIStatement; exports.xAPIBuilder = _chunkTJJFKKH2cjs.xAPIBuilder; exports.xapiDefinitionFor = _chunkTJJFKKH2cjs.xapiDefinitionFor;
16
16
  //# sourceMappingURL=xapi.cjs.map
package/dist/xapi.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { av as XAPIActor, am as ScoringResult, ax as XAPIContext, aB as XAPIResult, aD as XAPIStatement } from './activity-CYc7SD3d.cjs';
1
+ import { av as XAPIActor, am as ScoringResult, ax as XAPIContext, aB as XAPIResult, aD as XAPIStatement } from './activity-DgpBJeBc.cjs';
2
2
 
3
3
  /**
4
4
  * The set of xAPI verbs emitted by SDK activities, keyed by a stable
package/dist/xapi.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { av as XAPIActor, am as ScoringResult, ax as XAPIContext, aB as XAPIResult, aD as XAPIStatement } from './activity-CYc7SD3d.js';
1
+ import { av as XAPIActor, am as ScoringResult, ax as XAPIContext, aB as XAPIResult, aD as XAPIStatement } from './activity-DgpBJeBc.js';
2
2
 
3
3
  /**
4
4
  * The set of xAPI verbs emitted by SDK activities, keyed by a stable
package/dist/xapi.js CHANGED
@@ -4,8 +4,8 @@ import {
4
4
  validateXAPIStatement,
5
5
  xAPIBuilder,
6
6
  xapiDefinitionFor
7
- } from "./chunk-X5DAXBJI.js";
8
- import "./chunk-D3GP5MET.js";
7
+ } from "./chunk-SJVRUPJT.js";
8
+ import "./chunk-FBKTION6.js";
9
9
  export {
10
10
  XAPIVerb,
11
11
  XAPI_VERB_DISPLAY,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@intellectif/lk-core",
3
- "version": "0.22.0",
4
- "description": "Framework-free assessment core: Zod activity schemas, pure scoring, rubric & deferred grading, weighted assessment composition, exam attempt plans, and xAPI 1.0.3.",
3
+ "version": "1.0.0",
4
+ "description": "Framework-free assessment core: activity validation, pure scoring, rubric & deferred grading, weighted assessment composition, exam attempt plans, and xAPI 1.0.3. Custom activity types take any Standard Schema.",
5
5
  "keywords": [
6
6
  "assessment",
7
7
  "exam",
@@ -15,7 +15,7 @@
15
15
  "edtech",
16
16
  "lms",
17
17
  "h5p",
18
- "zod",
18
+ "standard-schema",
19
19
  "typescript"
20
20
  ],
21
21
  "homepage": "https://github.com/intellectif/learning-kit/tree/main/packages/lk-core#readme",
@@ -91,7 +91,7 @@
91
91
  "LICENSE"
92
92
  ],
93
93
  "dependencies": {
94
- "zod": "^3.25.1"
94
+ "zod": "4.6.5"
95
95
  },
96
96
  "devDependencies": {
97
97
  "@vitest/coverage-v8": "^4.1.6",
package/vectors/README.md CHANGED
@@ -34,9 +34,39 @@ test('lk-core still grades exactly as it did', () => {
34
34
  });
35
35
  ```
36
36
 
37
+ ## The validation corpus
38
+
39
+ `validation.json` does for validation what `scoring.json` does for grades. It
40
+ records, for over three thousand inputs, whether each validator —
41
+ `validateActivity`, `validateDraft`, `validateItemGroup`,
42
+ `validateItemGroupDraft`, `validateSpeechAssessment`, `validateMedia`,
43
+ `validateOptionMedia`, `validateXAPIStatement` — accepts, and the `path` and
44
+ `code` of every error it reports: what 1.x promises not to change outside a
45
+ major. Messages and the order of errors are not promised, so they are not
46
+ recorded. The inputs are rebuilt from the seeds in the file by
47
+ `validation.mjs`, which is why every field can be tried with a string of four
48
+ thousand emoji at little cost.
49
+
50
+ lk-core pins its validation library to one exact version and replays this
51
+ corpus before it ships a new one. If you override that pin — to take a
52
+ security fix before lk-core does, say — replay it against your install, with
53
+ `NODE_ENV` other than `production` (where `validateXAPIStatement` only warns):
54
+
55
+ ```js
56
+ const { replayValidation } = await import(pathToFileURL(join(root, 'vectors/validation.mjs')).href);
57
+ const validation = JSON.parse(readFileSync(join(root, 'vectors/validation.json'), 'utf8'));
58
+
59
+ test('lk-core still validates exactly as it did', () => {
60
+ const changed = replayValidation(core, validation).filter((result) => !result.ok);
61
+ expect(changed).toEqual([]);
62
+ });
63
+ ```
64
+
65
+ `root` and `core` are resolved as in the grade example above.
66
+
37
67
  These files are deliberately **not** package exports. An export would be new
38
- public API — a lk-core minor, which forces a lk-react major — for what is test
39
- data. They are reached by resolving `package.json`, which lk-core does export.
68
+ public API for what is test data. They are reached by resolving `package.json`,
69
+ which lk-core does export.
40
70
 
41
71
  ## If a vector fails
42
72