@intellectif/lk-core 0.21.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.
- package/CHANGELOG.md +31 -0
- package/README.md +6 -5
- package/dist/{activity-xhGV-Aeh.d.cts → activity-DgpBJeBc.d.cts} +137 -22
- package/dist/{activity-xhGV-Aeh.d.ts → activity-DgpBJeBc.d.ts} +137 -22
- package/dist/ai-check.cjs +104 -16
- package/dist/ai-check.cjs.map +1 -1
- package/dist/ai-check.d.cts +9 -5
- package/dist/ai-check.d.ts +9 -5
- package/dist/ai-check.js +103 -15
- package/dist/ai-check.js.map +1 -1
- package/dist/{chunk-2CV6NU32.cjs → chunk-2JT2WUQ2.cjs} +77 -39
- package/dist/chunk-2JT2WUQ2.cjs.map +1 -0
- package/dist/{chunk-D4TOPSHV.cjs → chunk-DSDXL3JO.cjs} +1216 -1105
- package/dist/chunk-DSDXL3JO.cjs.map +1 -0
- package/dist/{chunk-D3GP5MET.js → chunk-FBKTION6.js} +1093 -982
- package/dist/chunk-FBKTION6.js.map +1 -0
- package/dist/{chunk-Q7MV3IXJ.js → chunk-IARLJ5MW.js} +15 -16
- package/dist/chunk-IARLJ5MW.js.map +1 -0
- package/dist/{chunk-IHOEP4EB.js → chunk-RCZCP5OE.js} +311 -25
- package/dist/chunk-RCZCP5OE.js.map +1 -0
- package/dist/{chunk-X5DAXBJI.js → chunk-SJVRUPJT.js} +2 -2
- package/dist/{chunk-EOFWSGLU.cjs → chunk-TJJFKKH2.cjs} +4 -4
- package/dist/{chunk-EOFWSGLU.cjs.map → chunk-TJJFKKH2.cjs.map} +1 -1
- package/dist/{chunk-WQVZPIN7.cjs → chunk-VSH7ECQL.cjs} +44 -45
- package/dist/chunk-VSH7ECQL.cjs.map +1 -0
- package/dist/{chunk-NRTP7WCW.cjs → chunk-W5KB3DNT.cjs} +315 -29
- package/dist/chunk-W5KB3DNT.cjs.map +1 -0
- package/dist/{chunk-Z7QQZ53L.js → chunk-XS6U2ARZ.js} +70 -32
- package/dist/chunk-XS6U2ARZ.js.map +1 -0
- package/dist/index-BVNeSCWC.d.ts +548 -0
- package/dist/index-BlOLlwOi.d.cts +548 -0
- package/dist/index.cjs +129 -198
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +175 -18
- package/dist/index.d.ts +175 -18
- package/dist/index.js +34 -103
- package/dist/index.js.map +1 -1
- package/dist/schemas.cjs +3 -94
- package/dist/schemas.cjs.map +1 -1
- package/dist/schemas.d.cts +2 -3
- package/dist/schemas.d.ts +2 -3
- package/dist/schemas.js +6 -97
- package/dist/scoring.cjs +3 -3
- package/dist/scoring.d.cts +2 -2
- package/dist/scoring.d.ts +2 -2
- package/dist/scoring.js +2 -2
- package/dist/xapi.cjs +3 -3
- package/dist/xapi.d.cts +1 -1
- package/dist/xapi.d.ts +1 -1
- package/dist/xapi.js +2 -2
- package/package.json +4 -4
- package/vectors/README.md +32 -2
- package/vectors/scoring.json +1 -498
- package/vectors/validation.json +6742 -0
- package/vectors/validation.mjs +195 -0
- package/dist/chunk-2CV6NU32.cjs.map +0 -1
- package/dist/chunk-D3GP5MET.js.map +0 -1
- package/dist/chunk-D4TOPSHV.cjs.map +0 -1
- package/dist/chunk-IHOEP4EB.js.map +0 -1
- package/dist/chunk-NRTP7WCW.cjs.map +0 -1
- package/dist/chunk-Q7MV3IXJ.js.map +0 -1
- package/dist/chunk-WQVZPIN7.cjs.map +0 -1
- package/dist/chunk-Z7QQZ53L.js.map +0 -1
- package/dist/index-BuD8Hc8o.d.cts +0 -2303
- package/dist/index-DnJ_PI4d.d.ts +0 -2303
- /package/dist/{chunk-X5DAXBJI.js.map → chunk-SJVRUPJT.js.map} +0 -0
package/dist/index.cjs
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _chunkTJJFKKH2cjs = require('./chunk-TJJFKKH2.cjs');
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
@@ -27,10 +27,10 @@ var _chunkEOFWSGLUcjs = require('./chunk-EOFWSGLU.cjs');
|
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
|
|
30
|
+
var _chunk2JT2WUQ2cjs = require('./chunk-2JT2WUQ2.cjs');
|
|
30
31
|
|
|
31
32
|
|
|
32
33
|
|
|
33
|
-
var _chunk2CV6NU32cjs = require('./chunk-2CV6NU32.cjs');
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
|
|
@@ -45,8 +45,8 @@ var _chunk2CV6NU32cjs = require('./chunk-2CV6NU32.cjs');
|
|
|
45
45
|
|
|
46
46
|
|
|
47
47
|
|
|
48
|
-
var _chunkNRTP7WCWcjs = require('./chunk-NRTP7WCW.cjs');
|
|
49
48
|
|
|
49
|
+
var _chunkW5KB3DNTcjs = require('./chunk-W5KB3DNT.cjs');
|
|
50
50
|
|
|
51
51
|
|
|
52
52
|
|
|
@@ -70,8 +70,8 @@ var _chunkNRTP7WCWcjs = require('./chunk-NRTP7WCW.cjs');
|
|
|
70
70
|
|
|
71
71
|
|
|
72
72
|
|
|
73
|
-
var _chunkWQVZPIN7cjs = require('./chunk-WQVZPIN7.cjs');
|
|
74
73
|
|
|
74
|
+
var _chunkVSH7ECQLcjs = require('./chunk-VSH7ECQL.cjs');
|
|
75
75
|
|
|
76
76
|
|
|
77
77
|
|
|
@@ -118,45 +118,7 @@ var _chunkWQVZPIN7cjs = require('./chunk-WQVZPIN7.cjs');
|
|
|
118
118
|
|
|
119
119
|
|
|
120
120
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
var _chunkD4TOPSHVcjs = require('./chunk-D4TOPSHV.cjs');
|
|
121
|
+
var _chunkDSDXL3JOcjs = require('./chunk-DSDXL3JO.cjs');
|
|
160
122
|
|
|
161
123
|
// src/content-hash.ts
|
|
162
124
|
function canonicalJson(value, seen = /* @__PURE__ */ new Set()) {
|
|
@@ -719,14 +681,14 @@ function frozenScoring(policy) {
|
|
|
719
681
|
if (policy === void 0 || policy === null) {
|
|
720
682
|
return void 0;
|
|
721
683
|
}
|
|
722
|
-
const checked =
|
|
684
|
+
const checked = _chunkVSH7ECQLcjs.validateItemScoringPolicy.call(void 0, policy);
|
|
723
685
|
if (!checked.success) {
|
|
724
686
|
const first = checked.issues[0];
|
|
725
687
|
throw new Error(
|
|
726
688
|
`planAttempt: the scoring policy is not one to record \u2014 ${_nullishCoalesce(_optionalChain([first, 'optionalAccess', _24 => _24.message]), () => ( "invalid"))}` + (checked.issues.length > 1 ? ` (and ${checked.issues.length - 1} more)` : "")
|
|
727
689
|
);
|
|
728
690
|
}
|
|
729
|
-
return
|
|
691
|
+
return _chunkVSH7ECQLcjs.resolveItemScoringPolicy.call(void 0, checked.data);
|
|
730
692
|
}
|
|
731
693
|
function missingOutcome(slot, policy) {
|
|
732
694
|
if (typeof policy === "function") {
|
|
@@ -880,22 +842,22 @@ function createInteractiveVideoDraft(context) {
|
|
|
880
842
|
};
|
|
881
843
|
}
|
|
882
844
|
function validateItemGroupDraft(draft) {
|
|
883
|
-
return
|
|
845
|
+
return _chunkDSDXL3JOcjs.withValidationScope.call(void 0, () => validateItemGroupDraftInScope(draft));
|
|
884
846
|
}
|
|
885
847
|
function validateItemGroupDraftInScope(draft) {
|
|
886
848
|
const issues = [];
|
|
887
|
-
if (!
|
|
849
|
+
if (!_chunkDSDXL3JOcjs.isRecord.call(void 0, draft)) {
|
|
888
850
|
issues.push(
|
|
889
|
-
|
|
851
|
+
_chunkDSDXL3JOcjs.issue.call(void 0, "ig_not_an_object", [], "A group must be an object with a stimulus and its items.")
|
|
890
852
|
);
|
|
891
853
|
return { status: "invalid", issues };
|
|
892
854
|
}
|
|
893
855
|
issues.push(...checkGroupIdentity(draft));
|
|
894
|
-
if (
|
|
856
|
+
if (_chunkDSDXL3JOcjs.isRecord.call(void 0, draft.stimulus)) {
|
|
895
857
|
issues.push(...checkStimulus(draft.stimulus));
|
|
896
|
-
} else if (
|
|
858
|
+
} else if (_chunkDSDXL3JOcjs.isUnset.call(void 0, draft.stimulus)) {
|
|
897
859
|
issues.push(
|
|
898
|
-
|
|
860
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
899
861
|
"ig_stimulus_required",
|
|
900
862
|
["stimulus"],
|
|
901
863
|
"Add the passage, recording or image the questions are about."
|
|
@@ -906,26 +868,26 @@ function validateItemGroupDraftInScope(draft) {
|
|
|
906
868
|
if (draft.timeline !== void 0 && draft.timeline !== null) {
|
|
907
869
|
issues.push(...checkTimeline(draft));
|
|
908
870
|
}
|
|
909
|
-
const captions =
|
|
871
|
+
const captions = _chunkDSDXL3JOcjs.groupCaptionsField.call(void 0, draft, (captionsUrl) => !_chunkDSDXL3JOcjs.isUnwritten.call(void 0, captionsUrl));
|
|
910
872
|
if (captions !== void 0) {
|
|
911
873
|
issues.push(
|
|
912
|
-
|
|
874
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
913
875
|
"dc_captions_not_allowed",
|
|
914
876
|
["stimulus", "media", captions],
|
|
915
|
-
|
|
877
|
+
_chunkDSDXL3JOcjs.GROUP_CAPTIONS_REVEAL_DICTATION
|
|
916
878
|
)
|
|
917
879
|
);
|
|
918
880
|
}
|
|
919
|
-
const parsed =
|
|
881
|
+
const parsed = _chunk2JT2WUQ2cjs.ItemGroupSchema.safeParse(draft, { reportInput: true });
|
|
920
882
|
if (!parsed.success) {
|
|
921
883
|
for (const schemaIssue of parsed.error.issues) {
|
|
922
884
|
const path = schemaIssue.path.map(String);
|
|
923
|
-
if (issues.some((known) =>
|
|
885
|
+
if (issues.some((known) => _chunkDSDXL3JOcjs.covers.call(void 0, known.path, path))) {
|
|
924
886
|
continue;
|
|
925
887
|
}
|
|
926
|
-
if (path.length > 0 &&
|
|
888
|
+
if (path.length > 0 && _chunkDSDXL3JOcjs.refusesEmpty.call(void 0, draft, schemaIssue)) {
|
|
927
889
|
issues.push(
|
|
928
|
-
|
|
890
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
929
891
|
"null_not_allowed",
|
|
930
892
|
path,
|
|
931
893
|
"This field cannot be null. Leave it out if it is optional, or give it a value."
|
|
@@ -941,7 +903,7 @@ function validateItemGroupDraftInScope(draft) {
|
|
|
941
903
|
});
|
|
942
904
|
}
|
|
943
905
|
}
|
|
944
|
-
const stored =
|
|
906
|
+
const stored = _chunk2JT2WUQ2cjs.validateItemGroup.call(void 0, draft);
|
|
945
907
|
if (issues.length === 0 && stored.success) {
|
|
946
908
|
return { status: "complete", data: stored.data, issues };
|
|
947
909
|
}
|
|
@@ -956,21 +918,21 @@ function validateItemGroupDraftInScope(draft) {
|
|
|
956
918
|
function checkTimeline(draft) {
|
|
957
919
|
const issues = [];
|
|
958
920
|
const timeline = draft.timeline;
|
|
959
|
-
if (!
|
|
921
|
+
if (!_chunkDSDXL3JOcjs.isRecord.call(void 0, timeline)) {
|
|
960
922
|
return issues;
|
|
961
923
|
}
|
|
962
|
-
const stimulus =
|
|
963
|
-
if (stimulus !== void 0 && !
|
|
924
|
+
const stimulus = _chunkDSDXL3JOcjs.isRecord.call(void 0, draft.stimulus) ? draft.stimulus : void 0;
|
|
925
|
+
if (stimulus !== void 0 && !_chunkDSDXL3JOcjs.isUnwritten.call(void 0, stimulus.kind) && stimulus.kind !== "video") {
|
|
964
926
|
issues.push(
|
|
965
|
-
|
|
927
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
966
928
|
"ig_timeline_stimulus_kind",
|
|
967
929
|
["stimulus", "kind"],
|
|
968
930
|
"An interactive video needs a video: quizzes open at moments of it."
|
|
969
931
|
)
|
|
970
932
|
);
|
|
971
|
-
} else if (stimulus !== void 0 &&
|
|
933
|
+
} else if (stimulus !== void 0 && _chunkDSDXL3JOcjs.isRecord.call(void 0, stimulus.media) && !_chunkDSDXL3JOcjs.isUnwritten.call(void 0, stimulus.media.type) && stimulus.media.type !== "video") {
|
|
972
934
|
issues.push(
|
|
973
|
-
|
|
935
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
974
936
|
"ig_timeline_stimulus_kind",
|
|
975
937
|
["stimulus", "media", "type"],
|
|
976
938
|
"Upload a video file. An embedded player from another site cannot be paused when a quiz opens."
|
|
@@ -979,7 +941,7 @@ function checkTimeline(draft) {
|
|
|
979
941
|
}
|
|
980
942
|
if (draft.shuffle === "within-group") {
|
|
981
943
|
issues.push(
|
|
982
|
-
|
|
944
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
983
945
|
"ig_timeline_shuffle",
|
|
984
946
|
["shuffle"],
|
|
985
947
|
"The questions of an interactive video appear in the order their quizzes open, so they cannot be shuffled."
|
|
@@ -989,25 +951,25 @@ function checkTimeline(draft) {
|
|
|
989
951
|
const items = Array.isArray(draft.items) ? draft.items : [];
|
|
990
952
|
const itemIndexById = /* @__PURE__ */ new Map();
|
|
991
953
|
items.forEach((item, index) => {
|
|
992
|
-
if (!
|
|
954
|
+
if (!_chunkDSDXL3JOcjs.isRecord.call(void 0, item)) {
|
|
993
955
|
return;
|
|
994
956
|
}
|
|
995
957
|
if (typeof item.id === "string" && item.id !== "") {
|
|
996
958
|
itemIndexById.set(item.id, index);
|
|
997
959
|
}
|
|
998
960
|
const type = item.type;
|
|
999
|
-
if (typeof type === "string" && type !== "" && type !== "item-group" && !
|
|
961
|
+
if (typeof type === "string" && type !== "" && type !== "item-group" && !_chunk2JT2WUQ2cjs.isInteractiveVideoItemType.call(void 0, type) && _chunkDSDXL3JOcjs.getActivityTypeDescriptor.call(void 0, type) !== void 0) {
|
|
1000
962
|
issues.push(
|
|
1001
|
-
|
|
963
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1002
964
|
"ig_timeline_item_type",
|
|
1003
965
|
["items", index, "type"],
|
|
1004
|
-
`An interactive video can hold ${
|
|
966
|
+
`An interactive video can hold ${_chunk2JT2WUQ2cjs.INTERACTIVE_VIDEO_ITEM_TYPES.join(", ")} questions only.`
|
|
1005
967
|
)
|
|
1006
968
|
);
|
|
1007
969
|
}
|
|
1008
|
-
if (type === "dictation" &&
|
|
970
|
+
if (type === "dictation" && _chunkDSDXL3JOcjs.isUnset.call(void 0, item.media)) {
|
|
1009
971
|
issues.push(
|
|
1010
|
-
|
|
972
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1011
973
|
"ig_timeline_dictation_media",
|
|
1012
974
|
["items", index, "media"],
|
|
1013
975
|
"Add the recording this dictation plays: inside a video it cannot play the video."
|
|
@@ -1019,7 +981,7 @@ function checkTimeline(draft) {
|
|
|
1019
981
|
const quizIds = /* @__PURE__ */ new Set();
|
|
1020
982
|
const placed = /* @__PURE__ */ new Set();
|
|
1021
983
|
cues.forEach((cue, cueIndex) => {
|
|
1022
|
-
if (!
|
|
984
|
+
if (!_chunkDSDXL3JOcjs.isRecord.call(void 0, cue)) {
|
|
1023
985
|
return;
|
|
1024
986
|
}
|
|
1025
987
|
const at = (field, ...rest) => [
|
|
@@ -1029,19 +991,19 @@ function checkTimeline(draft) {
|
|
|
1029
991
|
field,
|
|
1030
992
|
...rest
|
|
1031
993
|
];
|
|
1032
|
-
if (
|
|
1033
|
-
issues.push(
|
|
994
|
+
if (_chunkDSDXL3JOcjs.isMissingId.call(void 0, cue.id)) {
|
|
995
|
+
issues.push(_chunkDSDXL3JOcjs.issue.call(void 0, "ig_timeline_quiz_id_required", at("id"), "This quiz has no id."));
|
|
1034
996
|
} else if (typeof cue.id === "string") {
|
|
1035
997
|
if (quizIds.has(cue.id)) {
|
|
1036
998
|
issues.push(
|
|
1037
|
-
|
|
999
|
+
_chunkDSDXL3JOcjs.issue.call(void 0, "ig_timeline_quiz_id_duplicate", at("id"), `Two quizzes share the id "${cue.id}".`)
|
|
1038
1000
|
);
|
|
1039
1001
|
}
|
|
1040
1002
|
quizIds.add(cue.id);
|
|
1041
1003
|
}
|
|
1042
|
-
if (
|
|
1004
|
+
if (_chunkDSDXL3JOcjs.isUnset.call(void 0, cue.at)) {
|
|
1043
1005
|
issues.push(
|
|
1044
|
-
|
|
1006
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1045
1007
|
"ig_timeline_quiz_time_required",
|
|
1046
1008
|
at("at"),
|
|
1047
1009
|
"Choose when in the video this quiz opens."
|
|
@@ -1049,16 +1011,16 @@ function checkTimeline(draft) {
|
|
|
1049
1011
|
);
|
|
1050
1012
|
} else if (typeof cue.at !== "number" || !Number.isFinite(cue.at) || cue.at < 0) {
|
|
1051
1013
|
issues.push(
|
|
1052
|
-
|
|
1014
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1053
1015
|
"ig_timeline_quiz_time_invalid",
|
|
1054
1016
|
at("at"),
|
|
1055
1017
|
"A quiz opens at a number of seconds, 0 or more."
|
|
1056
1018
|
)
|
|
1057
1019
|
);
|
|
1058
1020
|
}
|
|
1059
|
-
if (
|
|
1021
|
+
if (_chunkDSDXL3JOcjs.isUnset.call(void 0, cue.itemIds) || Array.isArray(cue.itemIds) && cue.itemIds.length === 0) {
|
|
1060
1022
|
issues.push(
|
|
1061
|
-
|
|
1023
|
+
_chunkDSDXL3JOcjs.issue.call(void 0, "ig_timeline_quiz_empty", at("itemIds"), "Add at least one question to this quiz.")
|
|
1062
1024
|
);
|
|
1063
1025
|
return;
|
|
1064
1026
|
}
|
|
@@ -1071,7 +1033,7 @@ function checkTimeline(draft) {
|
|
|
1071
1033
|
}
|
|
1072
1034
|
if (!itemIndexById.has(itemId)) {
|
|
1073
1035
|
issues.push(
|
|
1074
|
-
|
|
1036
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1075
1037
|
"ig_timeline_quiz_unknown_item",
|
|
1076
1038
|
at("itemIds", position),
|
|
1077
1039
|
`This quiz names a question that is not in the video ("${itemId}").`
|
|
@@ -1079,7 +1041,7 @@ function checkTimeline(draft) {
|
|
|
1079
1041
|
);
|
|
1080
1042
|
} else if (placed.has(itemId)) {
|
|
1081
1043
|
issues.push(
|
|
1082
|
-
|
|
1044
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1083
1045
|
"ig_timeline_item_duplicate",
|
|
1084
1046
|
at("itemIds", position),
|
|
1085
1047
|
"This question is already in a quiz: each question belongs to one quiz."
|
|
@@ -1092,7 +1054,7 @@ function checkTimeline(draft) {
|
|
|
1092
1054
|
for (const [itemId, index] of itemIndexById) {
|
|
1093
1055
|
if (!placed.has(itemId)) {
|
|
1094
1056
|
issues.push(
|
|
1095
|
-
|
|
1057
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1096
1058
|
"ig_timeline_item_unplaced",
|
|
1097
1059
|
["items", index],
|
|
1098
1060
|
"Add this question to a quiz, or the video never shows it."
|
|
@@ -1103,12 +1065,12 @@ function checkTimeline(draft) {
|
|
|
1103
1065
|
const chapters = Array.isArray(timeline.chapters) ? timeline.chapters : [];
|
|
1104
1066
|
let previousAt;
|
|
1105
1067
|
chapters.forEach((chapter, index) => {
|
|
1106
|
-
if (!
|
|
1068
|
+
if (!_chunkDSDXL3JOcjs.isRecord.call(void 0, chapter)) {
|
|
1107
1069
|
return;
|
|
1108
1070
|
}
|
|
1109
|
-
if (
|
|
1071
|
+
if (_chunkDSDXL3JOcjs.isUnwritten.call(void 0, chapter.title)) {
|
|
1110
1072
|
issues.push(
|
|
1111
|
-
|
|
1073
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1112
1074
|
"ig_timeline_chapter_title",
|
|
1113
1075
|
["timeline", "chapters", index, "title"],
|
|
1114
1076
|
"Give this chapter a title."
|
|
@@ -1118,7 +1080,7 @@ function checkTimeline(draft) {
|
|
|
1118
1080
|
if (typeof chapter.at === "number" && Number.isFinite(chapter.at)) {
|
|
1119
1081
|
if (previousAt !== void 0 && chapter.at <= previousAt) {
|
|
1120
1082
|
issues.push(
|
|
1121
|
-
|
|
1083
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1122
1084
|
"ig_timeline_chapter_order",
|
|
1123
1085
|
["timeline", "chapters", index, "at"],
|
|
1124
1086
|
"Chapters must start in order, each after the one before it."
|
|
@@ -1134,7 +1096,7 @@ function checkGroupIdentity(draft) {
|
|
|
1134
1096
|
const issues = [];
|
|
1135
1097
|
if (draft.schemaVersion !== "1.0") {
|
|
1136
1098
|
issues.push(
|
|
1137
|
-
|
|
1099
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1138
1100
|
"schema_version_invalid",
|
|
1139
1101
|
["schemaVersion"],
|
|
1140
1102
|
'The draft must have schemaVersion "1.0". A draft from createItemGroupDraft has it.'
|
|
@@ -1142,14 +1104,14 @@ function checkGroupIdentity(draft) {
|
|
|
1142
1104
|
);
|
|
1143
1105
|
}
|
|
1144
1106
|
if (draft.type !== "item-group") {
|
|
1145
|
-
issues.push(
|
|
1107
|
+
issues.push(_chunkDSDXL3JOcjs.issue.call(void 0, "type_mismatch", ["type"], `The draft's type must be "item-group".`));
|
|
1146
1108
|
}
|
|
1147
|
-
if (
|
|
1148
|
-
issues.push(
|
|
1109
|
+
if (_chunkDSDXL3JOcjs.isMissingId.call(void 0, draft.id)) {
|
|
1110
|
+
issues.push(_chunkDSDXL3JOcjs.issue.call(void 0, "id_required", ["id"], "The group has no id."));
|
|
1149
1111
|
}
|
|
1150
|
-
if (!
|
|
1112
|
+
if (!_chunkDSDXL3JOcjs.isUnset.call(void 0, draft.shuffle) && draft.shuffle !== "none" && draft.shuffle !== "within-group") {
|
|
1151
1113
|
issues.push(
|
|
1152
|
-
|
|
1114
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1153
1115
|
"ig_shuffle_invalid",
|
|
1154
1116
|
["shuffle"],
|
|
1155
1117
|
'Shuffling is either "none" or "within-group". Leave it out to keep the authored order.'
|
|
@@ -1168,13 +1130,13 @@ var MEDIA_FOR_KIND = {
|
|
|
1168
1130
|
function checkStimulus(stimulus) {
|
|
1169
1131
|
const issues = [];
|
|
1170
1132
|
const at = (...rest) => ["stimulus", ...rest];
|
|
1171
|
-
if (
|
|
1172
|
-
issues.push(
|
|
1133
|
+
if (_chunkDSDXL3JOcjs.isMissingId.call(void 0, stimulus.id)) {
|
|
1134
|
+
issues.push(_chunkDSDXL3JOcjs.issue.call(void 0, "ig_stimulus_id_required", at("id"), "The stimulus has no id."));
|
|
1173
1135
|
}
|
|
1174
1136
|
const kind = stimulus.kind;
|
|
1175
|
-
if (
|
|
1137
|
+
if (_chunkDSDXL3JOcjs.isUnwritten.call(void 0, kind)) {
|
|
1176
1138
|
issues.push(
|
|
1177
|
-
|
|
1139
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1178
1140
|
"ig_stimulus_kind_required",
|
|
1179
1141
|
at("kind"),
|
|
1180
1142
|
"Choose what the questions are about: a text, a recording, a video, an image, or a mix."
|
|
@@ -1183,71 +1145,71 @@ function checkStimulus(stimulus) {
|
|
|
1183
1145
|
} else if (typeof kind !== "string" || !KINDS.has(kind)) {
|
|
1184
1146
|
if (typeof kind === "string") {
|
|
1185
1147
|
issues.push(
|
|
1186
|
-
|
|
1148
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1187
1149
|
"ig_stimulus_kind_invalid",
|
|
1188
1150
|
at("kind"),
|
|
1189
1151
|
`"${kind}" is not a stimulus kind. Use text, audio, video, image or mixed.`
|
|
1190
1152
|
)
|
|
1191
1153
|
);
|
|
1192
1154
|
}
|
|
1193
|
-
if (
|
|
1194
|
-
issues.push(...
|
|
1155
|
+
if (_chunkDSDXL3JOcjs.isRecord.call(void 0, stimulus.media)) {
|
|
1156
|
+
issues.push(..._chunkDSDXL3JOcjs.checkMedia.call(void 0, stimulus.media, at("media")));
|
|
1195
1157
|
}
|
|
1196
1158
|
return issues;
|
|
1197
1159
|
}
|
|
1198
1160
|
const hasBody = typeof stimulus.body === "string" && stimulus.body.trim() !== "";
|
|
1199
|
-
const htmlPresent = !
|
|
1161
|
+
const htmlPresent = !_chunkDSDXL3JOcjs.isUnset.call(void 0, stimulus.bodyHtml);
|
|
1200
1162
|
if (!hasBody && (kind === "text" || kind === "mixed" || htmlPresent)) {
|
|
1201
1163
|
issues.push(
|
|
1202
|
-
|
|
1164
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1203
1165
|
"ig_stimulus_body_required",
|
|
1204
1166
|
at("body"),
|
|
1205
|
-
|
|
1167
|
+
_chunkDSDXL3JOcjs.isUnwritten.call(void 0, stimulus.bodyHtml) ? "Write the passage." : "Write the passage as plain text too. The rich-text version is shown only where a sanitiser is supplied."
|
|
1206
1168
|
)
|
|
1207
1169
|
);
|
|
1208
1170
|
}
|
|
1209
|
-
if (kind !== "text" &&
|
|
1171
|
+
if (kind !== "text" && _chunkDSDXL3JOcjs.isUnset.call(void 0, stimulus.media)) {
|
|
1210
1172
|
issues.push(
|
|
1211
|
-
|
|
1173
|
+
_chunkDSDXL3JOcjs.issue.call(void 0, "ig_stimulus_media_required", at("media"), "Add the recording, video or image.")
|
|
1212
1174
|
);
|
|
1213
|
-
} else if (
|
|
1175
|
+
} else if (_chunkDSDXL3JOcjs.isRecord.call(void 0, stimulus.media)) {
|
|
1214
1176
|
const allowed = MEDIA_FOR_KIND[kind];
|
|
1215
1177
|
const mediaType = stimulus.media.type;
|
|
1216
1178
|
if (allowed !== void 0 && typeof mediaType === "string" && !allowed.includes(mediaType)) {
|
|
1217
1179
|
issues.push(
|
|
1218
|
-
|
|
1180
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1219
1181
|
"ig_stimulus_media_kind",
|
|
1220
1182
|
at("media", "type"),
|
|
1221
1183
|
`A "${kind}" stimulus cannot carry ${mediaType} media. Use ${allowed.join(" or ")}.`
|
|
1222
1184
|
)
|
|
1223
1185
|
);
|
|
1224
1186
|
}
|
|
1225
|
-
issues.push(...
|
|
1187
|
+
issues.push(..._chunkDSDXL3JOcjs.checkMedia.call(void 0, stimulus.media, at("media")));
|
|
1226
1188
|
}
|
|
1227
1189
|
return issues;
|
|
1228
1190
|
}
|
|
1229
1191
|
function checkItems(draft) {
|
|
1230
1192
|
const issues = [];
|
|
1231
|
-
const items =
|
|
1193
|
+
const items = _chunkDSDXL3JOcjs.isUnset.call(void 0, draft.items) ? [] : draft.items;
|
|
1232
1194
|
if (!Array.isArray(items)) {
|
|
1233
1195
|
return issues;
|
|
1234
1196
|
}
|
|
1235
1197
|
if (items.length === 0) {
|
|
1236
1198
|
issues.push(
|
|
1237
|
-
|
|
1199
|
+
_chunkDSDXL3JOcjs.issue.call(void 0, "ig_items_required", ["items"], "Add at least one question about this material.")
|
|
1238
1200
|
);
|
|
1239
1201
|
return issues;
|
|
1240
1202
|
}
|
|
1241
1203
|
const seen = /* @__PURE__ */ new Set();
|
|
1242
1204
|
const repeated = /* @__PURE__ */ new Set();
|
|
1243
1205
|
for (const [index, item] of items.entries()) {
|
|
1244
|
-
if (!
|
|
1206
|
+
if (!_chunkDSDXL3JOcjs.isRecord.call(void 0, item)) {
|
|
1245
1207
|
continue;
|
|
1246
1208
|
}
|
|
1247
1209
|
const ordinal = index + 1;
|
|
1248
|
-
if (
|
|
1210
|
+
if (_chunkDSDXL3JOcjs.isMissingId.call(void 0, item.id)) {
|
|
1249
1211
|
issues.push(
|
|
1250
|
-
|
|
1212
|
+
_chunkDSDXL3JOcjs.issue.call(void 0, "ig_item_id_required", ["items", index, "id"], `Question ${ordinal} has no id.`)
|
|
1251
1213
|
);
|
|
1252
1214
|
} else if (typeof item.id === "string") {
|
|
1253
1215
|
if (seen.has(item.id)) {
|
|
@@ -1257,7 +1219,7 @@ function checkItems(draft) {
|
|
|
1257
1219
|
}
|
|
1258
1220
|
if (item.type === "item-group") {
|
|
1259
1221
|
issues.push(
|
|
1260
|
-
|
|
1222
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1261
1223
|
"ig_item_nested_group",
|
|
1262
1224
|
["items", index, "type"],
|
|
1263
1225
|
"Groups do not nest: every item must be an activity."
|
|
@@ -1265,9 +1227,9 @@ function checkItems(draft) {
|
|
|
1265
1227
|
);
|
|
1266
1228
|
continue;
|
|
1267
1229
|
}
|
|
1268
|
-
if (
|
|
1230
|
+
if (_chunkDSDXL3JOcjs.isUnwritten.call(void 0, item.type)) {
|
|
1269
1231
|
issues.push(
|
|
1270
|
-
|
|
1232
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1271
1233
|
"ig_item_type_required",
|
|
1272
1234
|
["items", index, "type"],
|
|
1273
1235
|
`Choose what kind of question ${ordinal} is.`
|
|
@@ -1282,11 +1244,11 @@ function checkItems(draft) {
|
|
|
1282
1244
|
try {
|
|
1283
1245
|
result = validateDraft(item.type, item);
|
|
1284
1246
|
} catch (error) {
|
|
1285
|
-
if (!(error instanceof
|
|
1247
|
+
if (!(error instanceof _chunkDSDXL3JOcjs.UnknownActivityTypeError) || error.activityType !== item.type) {
|
|
1286
1248
|
throw error;
|
|
1287
1249
|
}
|
|
1288
1250
|
issues.push(
|
|
1289
|
-
|
|
1251
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1290
1252
|
"ig_item_type_unknown",
|
|
1291
1253
|
["items", index, "type"],
|
|
1292
1254
|
`"${item.type}" is not a registered activity type.`
|
|
@@ -1300,7 +1262,7 @@ function checkItems(draft) {
|
|
|
1300
1262
|
}
|
|
1301
1263
|
for (const id of repeated) {
|
|
1302
1264
|
issues.push(
|
|
1303
|
-
|
|
1265
|
+
_chunkDSDXL3JOcjs.issue.call(void 0, "ig_item_id_duplicate", ["items"], `More than one question has the id "${id}".`)
|
|
1304
1266
|
);
|
|
1305
1267
|
}
|
|
1306
1268
|
return issues;
|
|
@@ -1308,30 +1270,32 @@ function checkItems(draft) {
|
|
|
1308
1270
|
|
|
1309
1271
|
// src/authoring/index.ts
|
|
1310
1272
|
function validateDraft(type, draft) {
|
|
1311
|
-
return
|
|
1273
|
+
return _chunkDSDXL3JOcjs.withValidationScope.call(void 0, () => validateDraftInScope(type, draft));
|
|
1312
1274
|
}
|
|
1313
1275
|
function validateDraftInScope(type, draft) {
|
|
1314
|
-
const descriptor =
|
|
1276
|
+
const descriptor = _chunkDSDXL3JOcjs.getActivityTypeDescriptor.call(void 0, type);
|
|
1315
1277
|
if (descriptor === void 0) {
|
|
1316
|
-
throw new (0,
|
|
1278
|
+
throw new (0, _chunkDSDXL3JOcjs.UnknownActivityTypeError)(String(type));
|
|
1317
1279
|
}
|
|
1318
|
-
const reported =
|
|
1280
|
+
const reported = _chunkDSDXL3JOcjs.isRecord.call(void 0, draft) && _optionalChain([descriptor, 'access', _25 => _25.authoring, 'optionalAccess', _26 => _26.checkDraft]) !== void 0 ? descriptor.authoring.checkDraft(draft).map(normalise) : [];
|
|
1319
1281
|
const issues = [...reported];
|
|
1320
|
-
const parsed = descriptor.schema
|
|
1282
|
+
const parsed = _chunkDSDXL3JOcjs.readSchema.call(void 0, descriptor.schema, draft, `Activity type "${descriptor.type}"`, {
|
|
1283
|
+
reportInput: true
|
|
1284
|
+
});
|
|
1321
1285
|
if (!parsed.success) {
|
|
1322
|
-
const covered =
|
|
1286
|
+
const covered = _chunkDSDXL3JOcjs.coveredPathsOf.call(void 0, reported);
|
|
1323
1287
|
const reportedEmpty = /* @__PURE__ */ new Set();
|
|
1324
|
-
for (const schemaIssue of parsed.
|
|
1288
|
+
for (const schemaIssue of parsed.issues) {
|
|
1325
1289
|
const path = schemaIssue.path.map(String);
|
|
1326
|
-
if (covered.has(
|
|
1290
|
+
if (covered.has(_chunkDSDXL3JOcjs.pathKey.call(void 0, path))) {
|
|
1327
1291
|
continue;
|
|
1328
1292
|
}
|
|
1329
|
-
if (path.length > 0 &&
|
|
1293
|
+
if (path.length > 0 && _chunkDSDXL3JOcjs.refusesEmpty.call(void 0, draft, schemaIssue)) {
|
|
1330
1294
|
const key = JSON.stringify(path);
|
|
1331
1295
|
if (!reportedEmpty.has(key)) {
|
|
1332
1296
|
reportedEmpty.add(key);
|
|
1333
1297
|
issues.push(
|
|
1334
|
-
|
|
1298
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1335
1299
|
"null_not_allowed",
|
|
1336
1300
|
path,
|
|
1337
1301
|
typeof schemaIssue.path.at(-1) === "number" ? "This entry has no value. Remove it, or fill it in." : "This field cannot be null. Leave it out if it is optional, or give it a value."
|
|
@@ -1355,9 +1319,9 @@ function validateDraftInScope(type, draft) {
|
|
|
1355
1319
|
return { status: invalid ? "invalid" : "incomplete", issues };
|
|
1356
1320
|
}
|
|
1357
1321
|
function createDraft(type, context) {
|
|
1358
|
-
const descriptor =
|
|
1322
|
+
const descriptor = _chunkDSDXL3JOcjs.getActivityTypeDescriptor.call(void 0, type);
|
|
1359
1323
|
if (descriptor === void 0) {
|
|
1360
|
-
throw new (0,
|
|
1324
|
+
throw new (0, _chunkDSDXL3JOcjs.UnknownActivityTypeError)(String(type));
|
|
1361
1325
|
}
|
|
1362
1326
|
const create = _optionalChain([descriptor, 'access', _27 => _27.authoring, 'optionalAccess', _28 => _28.createDraft]);
|
|
1363
1327
|
if (create === void 0) {
|
|
@@ -1382,7 +1346,7 @@ function createDraft(type, context) {
|
|
|
1382
1346
|
return create({ newId });
|
|
1383
1347
|
}
|
|
1384
1348
|
function normalise(found) {
|
|
1385
|
-
const documented = Object.hasOwn(
|
|
1349
|
+
const documented = Object.hasOwn(_chunkDSDXL3JOcjs.DRAFT_ISSUE_SEVERITY, found.code) ? _chunkDSDXL3JOcjs.DRAFT_ISSUE_SEVERITY[found.code] : void 0;
|
|
1386
1350
|
return {
|
|
1387
1351
|
...found,
|
|
1388
1352
|
path: found.path.map(String),
|
|
@@ -1446,9 +1410,9 @@ function redactValue(value, policy, reveal) {
|
|
|
1446
1410
|
}
|
|
1447
1411
|
function redact(data, options = {}) {
|
|
1448
1412
|
const reveal = _nullishCoalesce(options.reveal, () => ( "none"));
|
|
1449
|
-
const descriptor =
|
|
1413
|
+
const descriptor = _chunkDSDXL3JOcjs.getActivityTypeDescriptor.call(void 0, data.type);
|
|
1450
1414
|
if (descriptor === void 0) {
|
|
1451
|
-
throw new (0,
|
|
1415
|
+
throw new (0, _chunkDSDXL3JOcjs.UnknownActivityTypeError)(String(data.type));
|
|
1452
1416
|
}
|
|
1453
1417
|
if (descriptor.fieldPolicy === void 0) {
|
|
1454
1418
|
throw new Error(
|
|
@@ -1459,11 +1423,15 @@ function redact(data, options = {}) {
|
|
|
1459
1423
|
const projected = redactValue(data, effectivePolicy, reveal);
|
|
1460
1424
|
const result = { ...projected, redacted: true };
|
|
1461
1425
|
if (reveal === "none" && descriptor.redactedSchema !== void 0) {
|
|
1462
|
-
const parsed =
|
|
1426
|
+
const parsed = _chunkDSDXL3JOcjs.readSchema.call(void 0,
|
|
1427
|
+
descriptor.redactedSchema,
|
|
1428
|
+
result,
|
|
1429
|
+
`Activity type "${descriptor.type}"`
|
|
1430
|
+
);
|
|
1463
1431
|
if (!parsed.success) {
|
|
1464
|
-
throw new (0,
|
|
1432
|
+
throw new (0, _chunkDSDXL3JOcjs.ActivitySchemaError)(
|
|
1465
1433
|
descriptor.type,
|
|
1466
|
-
parsed.
|
|
1434
|
+
parsed.issues.map((issue2) => ({
|
|
1467
1435
|
path: issue2.path.map(String),
|
|
1468
1436
|
message: issue2.message,
|
|
1469
1437
|
code: issue2.code
|
|
@@ -1475,13 +1443,13 @@ function redact(data, options = {}) {
|
|
|
1475
1443
|
}
|
|
1476
1444
|
function assertRedacted(data) {
|
|
1477
1445
|
if (typeof data !== "object" || data === null) {
|
|
1478
|
-
throw new (0,
|
|
1446
|
+
throw new (0, _chunkDSDXL3JOcjs.ActivitySchemaError)("unknown", [
|
|
1479
1447
|
{ path: [], message: "Redacted activity data must be an object.", code: "invalid_type" }
|
|
1480
1448
|
]);
|
|
1481
1449
|
}
|
|
1482
1450
|
const candidate = data;
|
|
1483
1451
|
if (candidate.redacted !== true) {
|
|
1484
|
-
throw new (0,
|
|
1452
|
+
throw new (0, _chunkDSDXL3JOcjs.ActivitySchemaError)(String(_nullishCoalesce(candidate.type, () => ( "unknown"))), [
|
|
1485
1453
|
{
|
|
1486
1454
|
path: ["redacted"],
|
|
1487
1455
|
message: "Missing redacted marker \u2014 this payload is not a redact() projection.",
|
|
@@ -1490,12 +1458,12 @@ function assertRedacted(data) {
|
|
|
1490
1458
|
]);
|
|
1491
1459
|
}
|
|
1492
1460
|
const type = typeof candidate.type === "string" ? candidate.type : "";
|
|
1493
|
-
const descriptor =
|
|
1461
|
+
const descriptor = _chunkDSDXL3JOcjs.getActivityTypeDescriptor.call(void 0, type);
|
|
1494
1462
|
if (descriptor === void 0) {
|
|
1495
|
-
throw new (0,
|
|
1463
|
+
throw new (0, _chunkDSDXL3JOcjs.UnknownActivityTypeError)(type);
|
|
1496
1464
|
}
|
|
1497
1465
|
if (descriptor.redactedSchema === void 0) {
|
|
1498
|
-
throw new (0,
|
|
1466
|
+
throw new (0, _chunkDSDXL3JOcjs.ActivitySchemaError)(descriptor.type, [
|
|
1499
1467
|
{
|
|
1500
1468
|
path: [],
|
|
1501
1469
|
message: `Activity type "${descriptor.type}" registers no redactedSchema; assertRedacted cannot prove this payload is learner-safe.`,
|
|
@@ -1503,11 +1471,15 @@ function assertRedacted(data) {
|
|
|
1503
1471
|
}
|
|
1504
1472
|
]);
|
|
1505
1473
|
}
|
|
1506
|
-
const parsed =
|
|
1474
|
+
const parsed = _chunkDSDXL3JOcjs.readSchema.call(void 0,
|
|
1475
|
+
descriptor.redactedSchema,
|
|
1476
|
+
candidate,
|
|
1477
|
+
`Activity type "${descriptor.type}"`
|
|
1478
|
+
);
|
|
1507
1479
|
if (!parsed.success) {
|
|
1508
|
-
throw new (0,
|
|
1480
|
+
throw new (0, _chunkDSDXL3JOcjs.ActivitySchemaError)(
|
|
1509
1481
|
descriptor.type,
|
|
1510
|
-
parsed.
|
|
1482
|
+
parsed.issues.map((issue2) => ({
|
|
1511
1483
|
path: issue2.path.map(String),
|
|
1512
1484
|
message: issue2.message,
|
|
1513
1485
|
code: issue2.code
|
|
@@ -1521,7 +1493,7 @@ var STIMULUS_FIELD_POLICY = {
|
|
|
1521
1493
|
title: "public",
|
|
1522
1494
|
body: "public",
|
|
1523
1495
|
bodyHtml: "public",
|
|
1524
|
-
media:
|
|
1496
|
+
media: _chunkDSDXL3JOcjs.MEDIA_FIELD_POLICY,
|
|
1525
1497
|
locale: "public",
|
|
1526
1498
|
attribution: "public",
|
|
1527
1499
|
transcript: "author-only"
|
|
@@ -1565,9 +1537,9 @@ function redactItemGroup(group, options = {}) {
|
|
|
1565
1537
|
redacted: true
|
|
1566
1538
|
};
|
|
1567
1539
|
if (reveal === "none") {
|
|
1568
|
-
const parsed =
|
|
1540
|
+
const parsed = _chunk2JT2WUQ2cjs.RedactedItemGroupSchema.safeParse(result);
|
|
1569
1541
|
if (!parsed.success) {
|
|
1570
|
-
throw new (0,
|
|
1542
|
+
throw new (0, _chunkDSDXL3JOcjs.ActivitySchemaError)(
|
|
1571
1543
|
"item-group",
|
|
1572
1544
|
parsed.error.issues.map((issue2) => ({
|
|
1573
1545
|
path: issue2.path.map(String),
|
|
@@ -1581,13 +1553,13 @@ function redactItemGroup(group, options = {}) {
|
|
|
1581
1553
|
}
|
|
1582
1554
|
function assertRedactedItemGroup(data) {
|
|
1583
1555
|
if (typeof data !== "object" || data === null) {
|
|
1584
|
-
throw new (0,
|
|
1556
|
+
throw new (0, _chunkDSDXL3JOcjs.ActivitySchemaError)("item-group", [
|
|
1585
1557
|
{ path: [], message: "Redacted item group must be an object.", code: "invalid_type" }
|
|
1586
1558
|
]);
|
|
1587
1559
|
}
|
|
1588
1560
|
const candidate = data;
|
|
1589
1561
|
if (candidate.redacted !== true) {
|
|
1590
|
-
throw new (0,
|
|
1562
|
+
throw new (0, _chunkDSDXL3JOcjs.ActivitySchemaError)("item-group", [
|
|
1591
1563
|
{
|
|
1592
1564
|
path: ["redacted"],
|
|
1593
1565
|
message: "Missing redacted marker \u2014 this payload is not a redactItemGroup() projection.",
|
|
@@ -1595,9 +1567,9 @@ function assertRedactedItemGroup(data) {
|
|
|
1595
1567
|
}
|
|
1596
1568
|
]);
|
|
1597
1569
|
}
|
|
1598
|
-
const parsed =
|
|
1570
|
+
const parsed = _chunk2JT2WUQ2cjs.RedactedItemGroupSchema.safeParse(candidate);
|
|
1599
1571
|
if (!parsed.success) {
|
|
1600
|
-
throw new (0,
|
|
1572
|
+
throw new (0, _chunkDSDXL3JOcjs.ActivitySchemaError)(
|
|
1601
1573
|
"item-group",
|
|
1602
1574
|
parsed.error.issues.map((issue2) => ({
|
|
1603
1575
|
path: issue2.path.map(String),
|
|
@@ -1610,8 +1582,8 @@ function assertRedactedItemGroup(data) {
|
|
|
1610
1582
|
try {
|
|
1611
1583
|
assertRedacted(item);
|
|
1612
1584
|
} catch (error) {
|
|
1613
|
-
if (error instanceof
|
|
1614
|
-
throw new (0,
|
|
1585
|
+
if (error instanceof _chunkDSDXL3JOcjs.ActivitySchemaError) {
|
|
1586
|
+
throw new (0, _chunkDSDXL3JOcjs.ActivitySchemaError)(
|
|
1615
1587
|
"item-group",
|
|
1616
1588
|
error.errors.map((issue2) => ({
|
|
1617
1589
|
...issue2,
|
|
@@ -1656,7 +1628,7 @@ function composeTimelineScore(entryKey, items, policy) {
|
|
|
1656
1628
|
`composeTimelineScore: no scored item belongs to entry "${entryKey}". Pass the video's slotKey (or its position in the sequence), and the items of the attempt that holds it.`
|
|
1657
1629
|
);
|
|
1658
1630
|
}
|
|
1659
|
-
return
|
|
1631
|
+
return _chunkVSH7ECQLcjs.composeAssessmentScore.call(void 0, [{ id: entryKey, weight: 1, items: own }], policy);
|
|
1660
1632
|
}
|
|
1661
1633
|
|
|
1662
1634
|
|
|
@@ -1787,46 +1759,5 @@ function composeTimelineScore(entryKey, items, policy) {
|
|
|
1787
1759
|
|
|
1788
1760
|
|
|
1789
1761
|
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
exports.AI_EXPLANATION_TYPES = _chunkNRTP7WCWcjs.AI_EXPLANATION_TYPES; exports.AI_HINT_TYPES = _chunkNRTP7WCWcjs.AI_HINT_TYPES; exports.AI_TEXT_MAX_LENGTH = _chunkNRTP7WCWcjs.AI_TEXT_MAX_LENGTH; exports.ActivitySchemaError = _chunkD4TOPSHVcjs.ActivitySchemaError; exports.AiPermissionsSchema = _chunkD4TOPSHVcjs.AiPermissionsSchema; exports.BlankConfigSchema = _chunkD4TOPSHVcjs.BlankConfigSchema; 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.DeferredScoringError = _chunkD4TOPSHVcjs.DeferredScoringError; 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.INTERACTIVE_VIDEO_ITEM_TYPES = _chunk2CV6NU32cjs.INTERACTIVE_VIDEO_ITEM_TYPES; exports.ITEM_SCORING_MAX_RETRIES = _chunkWQVZPIN7cjs.ITEM_SCORING_MAX_RETRIES; 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.OPEN_DELIVERY_POLICY = OPEN_DELIVERY_POLICY; 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.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.RedactedScoringError = _chunkD4TOPSHVcjs.RedactedScoringError; exports.RedactedStimulusSchema = _chunk2CV6NU32cjs.RedactedStimulusSchema; exports.RedactedWrittenResponseDataSchema = _chunkD4TOPSHVcjs.RedactedWrittenResponseDataSchema; exports.SPEECH_ASSESSMENT_MAX_WORDS = _chunkD4TOPSHVcjs.SPEECH_ASSESSMENT_MAX_WORDS; exports.StimulusSchema = _chunk2CV6NU32cjs.StimulusSchema; exports.TIMELINE_MAX_CHAPTERS = _chunk2CV6NU32cjs.TIMELINE_MAX_CHAPTERS; exports.TIMELINE_MAX_ITEMS = _chunk2CV6NU32cjs.TIMELINE_MAX_ITEMS; exports.TIMELINE_MAX_QUIZZES = _chunk2CV6NU32cjs.TIMELINE_MAX_QUIZZES; exports.TIMELINE_MAX_TITLE_LENGTH = _chunk2CV6NU32cjs.TIMELINE_MAX_TITLE_LENGTH; exports.TextMatchPolicySchema = _chunkD4TOPSHVcjs.TextMatchPolicySchema; exports.TimelineChapterSchema = _chunk2CV6NU32cjs.TimelineChapterSchema; exports.TimelineCueSchema = _chunk2CV6NU32cjs.TimelineCueSchema; exports.UnknownActivityTypeError = _chunkD4TOPSHVcjs.UnknownActivityTypeError; exports.WrittenResponseDataSchema = _chunkD4TOPSHVcjs.WrittenResponseDataSchema; exports.WrittenResponseRubricCriterionSchema = _chunkD4TOPSHVcjs.WrittenResponseRubricCriterionSchema; exports.WrittenResponseRubricSchema = _chunkD4TOPSHVcjs.WrittenResponseRubricSchema; exports.XAPIVerb = _chunkEOFWSGLUcjs.XAPIVerb; exports.XAPI_VERB_DISPLAY = _chunkEOFWSGLUcjs.XAPI_VERB_DISPLAY; exports.aiAllowedByContent = _chunkNRTP7WCWcjs.aiAllowedByContent; exports.aiExplanationRequest = _chunkNRTP7WCWcjs.aiExplanationRequest; exports.aiGradeOf = _chunkNRTP7WCWcjs.aiGradeOf; exports.aiHintRequest = _chunkNRTP7WCWcjs.aiHintRequest; exports.aiSupports = _chunkNRTP7WCWcjs.aiSupports; exports.alignDictation = _chunkD4TOPSHVcjs.alignDictation; exports.alignReadAloud = _chunkWQVZPIN7cjs.alignReadAloud; exports.assertRedacted = assertRedacted; exports.assertRedactedItemGroup = assertRedactedItemGroup; exports.buildAiFacts = _chunkNRTP7WCWcjs.buildAiFacts; exports.canonicalJson = canonicalJson; exports.checkAiExplanation = _chunkNRTP7WCWcjs.checkAiExplanation; exports.checkAiHint = _chunkNRTP7WCWcjs.checkAiHint; exports.classifyBand = _chunkWQVZPIN7cjs.classifyBand; exports.combineDeliveryPolicies = combineDeliveryPolicies; exports.composeAssessmentScore = _chunkWQVZPIN7cjs.composeAssessmentScore; exports.composeTimelineScore = composeTimelineScore; exports.computePassThreshold = _chunkWQVZPIN7cjs.computePassThreshold; exports.contentHash = contentHash; exports.countWords = _chunkD4TOPSHVcjs.countWords; exports.createDraft = createDraft; exports.createInteractiveVideoDraft = createInteractiveVideoDraft; exports.createItemGroupDraft = createItemGroupDraft; exports.defineActivityType = _chunkD4TOPSHVcjs.defineActivityType; exports.dictationJsonSchema = _chunk2CV6NU32cjs.dictationJsonSchema; exports.dictationReferenceWords = _chunkD4TOPSHVcjs.dictationReferenceWords; exports.dictationType = _chunkD4TOPSHVcjs.dictationType; exports.diffDictationChars = _chunkWQVZPIN7cjs.diffDictationChars; exports.diffResponses = diffResponses; exports.entryKeyOf = entryKeyOf; exports.evaluate = _chunkWQVZPIN7cjs.evaluate; exports.evaluateTries = _chunkWQVZPIN7cjs.evaluateTries; exports.fillInTheBlanksJsonSchema = _chunk2CV6NU32cjs.fillInTheBlanksJsonSchema; exports.fillInTheBlanksType = _chunkD4TOPSHVcjs.fillInTheBlanksType; exports.fingerprint = fingerprint; exports.flattenSequence = flattenSequence; exports.gapSelectJsonSchema = _chunk2CV6NU32cjs.gapSelectJsonSchema; exports.gapSelectType = _chunkD4TOPSHVcjs.gapSelectType; exports.getActivityTypeDescriptor = _chunkD4TOPSHVcjs.getActivityTypeDescriptor; exports.gradeFromRubric = _chunkWQVZPIN7cjs.gradeFromRubric; exports.gradeReadAloud = _chunkWQVZPIN7cjs.gradeReadAloud; exports.gte = _chunkWQVZPIN7cjs.gte; exports.hasGrade = _chunkWQVZPIN7cjs.hasGrade; exports.hashSeed = hashSeed; exports.hintRevealsAnswer = _chunkNRTP7WCWcjs.hintRevealsAnswer; exports.inspectWav = _chunkWQVZPIN7cjs.inspectWav; exports.isInteractiveVideoItemType = _chunk2CV6NU32cjs.isInteractiveVideoItemType; exports.isItemGroup = isItemGroup; exports.itemGroupJsonSchema = _chunk2CV6NU32cjs.itemGroupJsonSchema; exports.jsonSchemaFor = _chunk2CV6NU32cjs.jsonSchemaFor; exports.levenshteinDistance = _chunkD4TOPSHVcjs.levenshteinDistance; exports.matchText = _chunkD4TOPSHVcjs.matchText; exports.multipleChoiceJsonSchema = _chunk2CV6NU32cjs.multipleChoiceJsonSchema; exports.multipleChoiceType = _chunkD4TOPSHVcjs.multipleChoiceType; exports.outcomeFromGrade = _chunkWQVZPIN7cjs.outcomeFromGrade; exports.outcomeFromUnscorable = _chunkWQVZPIN7cjs.outcomeFromUnscorable; exports.planAttempt = planAttempt; exports.planMediaBudgets = planMediaBudgets; exports.readAiTextResult = _chunkNRTP7WCWcjs.readAiTextResult; exports.readAloudJsonSchema = _chunk2CV6NU32cjs.readAloudJsonSchema; exports.readAloudType = _chunkD4TOPSHVcjs.readAloudType; exports.readMediaProgress = readMediaProgress; exports.redact = redact; exports.redactItemGroup = redactItemGroup; exports.registerActivityType = _chunkD4TOPSHVcjs.registerActivityType; exports.registeredActivityTypes = _chunkD4TOPSHVcjs.registeredActivityTypes; exports.resolveDeliveryPolicy = resolveDeliveryPolicy; exports.resolveItemScoringPolicy = _chunkWQVZPIN7cjs.resolveItemScoringPolicy; exports.resolvePlaybackPolicy = resolvePlaybackPolicy; exports.restoreAttemptState = restoreAttemptState; exports.restoreMediaPlayLedger = restoreMediaPlayLedger; exports.roundGrade = _chunkWQVZPIN7cjs.roundGrade; exports.score = _chunkWQVZPIN7cjs.score; exports.scoreTries = _chunkWQVZPIN7cjs.scoreTries; exports.scoredItemsFromPlan = scoredItemsFromPlan; exports.seededShuffle = seededShuffle; exports.serializeAttemptState = serializeAttemptState; exports.serializeMediaPlayLedger = serializeMediaPlayLedger; exports.slotMediaKey = slotMediaKey; exports.stimulusJsonSchema = _chunk2CV6NU32cjs.stimulusJsonSchema; exports.stimulusMediaKey = stimulusMediaKey; exports.validateActivity = _chunk2CV6NU32cjs.validateActivity; exports.validateDeliveryPolicy = validateDeliveryPolicy; exports.validateDraft = validateDraft; exports.validateItemGroup = _chunk2CV6NU32cjs.validateItemGroup; exports.validateItemGroupDraft = validateItemGroupDraft; exports.validateItemScoringPolicy = _chunkWQVZPIN7cjs.validateItemScoringPolicy; exports.validateSpeechAssessment = _chunkWQVZPIN7cjs.validateSpeechAssessment; exports.validateXAPIStatement = _chunkEOFWSGLUcjs.validateXAPIStatement; exports.verifyAttemptPlan = verifyAttemptPlan; exports.writtenResponseJsonSchema = _chunk2CV6NU32cjs.writtenResponseJsonSchema; exports.writtenResponseType = _chunkD4TOPSHVcjs.writtenResponseType; exports.xAPIBuilder = _chunkEOFWSGLUcjs.xAPIBuilder; exports.xapiDefinitionFor = _chunkEOFWSGLUcjs.xapiDefinitionFor;
|
|
1762
|
+
exports.AI_EXPLANATION_TYPES = _chunkW5KB3DNTcjs.AI_EXPLANATION_TYPES; exports.AI_HINT_TYPES = _chunkW5KB3DNTcjs.AI_HINT_TYPES; exports.AI_TEXT_MAX_LENGTH = _chunkW5KB3DNTcjs.AI_TEXT_MAX_LENGTH; exports.AI_WRITING_MAX_CORRECTIONS = _chunkW5KB3DNTcjs.AI_WRITING_MAX_CORRECTIONS; exports.AI_WRITING_MAX_FIELD_LENGTH = _chunkW5KB3DNTcjs.AI_WRITING_MAX_FIELD_LENGTH; exports.ActivitySchemaError = _chunkDSDXL3JOcjs.ActivitySchemaError; 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.DeferredScoringError = _chunkDSDXL3JOcjs.DeferredScoringError; exports.INTERACTIVE_VIDEO_ITEM_TYPES = _chunk2JT2WUQ2cjs.INTERACTIVE_VIDEO_ITEM_TYPES; exports.ITEM_SCORING_MAX_RETRIES = _chunkVSH7ECQLcjs.ITEM_SCORING_MAX_RETRIES; exports.OPEN_DELIVERY_POLICY = OPEN_DELIVERY_POLICY; 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.RedactedScoringError = _chunkDSDXL3JOcjs.RedactedScoringError; exports.SPEECH_ASSESSMENT_MAX_WORDS = _chunkDSDXL3JOcjs.SPEECH_ASSESSMENT_MAX_WORDS; exports.TIMELINE_MAX_CHAPTERS = _chunk2JT2WUQ2cjs.TIMELINE_MAX_CHAPTERS; exports.TIMELINE_MAX_ITEMS = _chunk2JT2WUQ2cjs.TIMELINE_MAX_ITEMS; exports.TIMELINE_MAX_QUIZZES = _chunk2JT2WUQ2cjs.TIMELINE_MAX_QUIZZES; exports.TIMELINE_MAX_TITLE_LENGTH = _chunk2JT2WUQ2cjs.TIMELINE_MAX_TITLE_LENGTH; exports.UnknownActivityTypeError = _chunkDSDXL3JOcjs.UnknownActivityTypeError; exports.XAPIVerb = _chunkTJJFKKH2cjs.XAPIVerb; exports.XAPI_VERB_DISPLAY = _chunkTJJFKKH2cjs.XAPI_VERB_DISPLAY; exports.aiAllowedByContent = _chunkW5KB3DNTcjs.aiAllowedByContent; exports.aiExplanationRequest = _chunkW5KB3DNTcjs.aiExplanationRequest; exports.aiGradeOf = _chunkW5KB3DNTcjs.aiGradeOf; exports.aiHintRequest = _chunkW5KB3DNTcjs.aiHintRequest; exports.aiSupports = _chunkW5KB3DNTcjs.aiSupports; exports.aiWritingFeedbackRequest = _chunkW5KB3DNTcjs.aiWritingFeedbackRequest; exports.alignDictation = _chunkDSDXL3JOcjs.alignDictation; exports.alignReadAloud = _chunkVSH7ECQLcjs.alignReadAloud; exports.assertRedacted = assertRedacted; exports.assertRedactedItemGroup = assertRedactedItemGroup; exports.buildAiFacts = _chunkW5KB3DNTcjs.buildAiFacts; exports.canonicalJson = canonicalJson; exports.checkAiExplanation = _chunkW5KB3DNTcjs.checkAiExplanation; exports.checkAiHint = _chunkW5KB3DNTcjs.checkAiHint; exports.checkAiWritingFeedback = _chunkW5KB3DNTcjs.checkAiWritingFeedback; exports.classifyBand = _chunkVSH7ECQLcjs.classifyBand; exports.combineDeliveryPolicies = combineDeliveryPolicies; exports.composeAssessmentScore = _chunkVSH7ECQLcjs.composeAssessmentScore; exports.composeTimelineScore = composeTimelineScore; exports.computePassThreshold = _chunkVSH7ECQLcjs.computePassThreshold; exports.contentHash = contentHash; exports.countWords = _chunkDSDXL3JOcjs.countWords; exports.createDraft = createDraft; exports.createInteractiveVideoDraft = createInteractiveVideoDraft; exports.createItemGroupDraft = createItemGroupDraft; exports.defineActivityType = _chunkDSDXL3JOcjs.defineActivityType; exports.dictationJsonSchema = _chunk2JT2WUQ2cjs.dictationJsonSchema; exports.dictationReferenceWords = _chunkDSDXL3JOcjs.dictationReferenceWords; exports.dictationType = _chunkDSDXL3JOcjs.dictationType; exports.diffDictationChars = _chunkVSH7ECQLcjs.diffDictationChars; exports.diffResponses = diffResponses; exports.entryKeyOf = entryKeyOf; exports.evaluate = _chunkVSH7ECQLcjs.evaluate; exports.evaluateTries = _chunkVSH7ECQLcjs.evaluateTries; exports.fillInTheBlanksJsonSchema = _chunk2JT2WUQ2cjs.fillInTheBlanksJsonSchema; exports.fillInTheBlanksType = _chunkDSDXL3JOcjs.fillInTheBlanksType; exports.fingerprint = fingerprint; exports.flattenSequence = flattenSequence; exports.gapSelectJsonSchema = _chunk2JT2WUQ2cjs.gapSelectJsonSchema; exports.gapSelectType = _chunkDSDXL3JOcjs.gapSelectType; exports.getActivityTypeDescriptor = _chunkDSDXL3JOcjs.getActivityTypeDescriptor; exports.gradeFromRubric = _chunkVSH7ECQLcjs.gradeFromRubric; exports.gradeReadAloud = _chunkVSH7ECQLcjs.gradeReadAloud; exports.gte = _chunkVSH7ECQLcjs.gte; exports.hasGrade = _chunkVSH7ECQLcjs.hasGrade; exports.hashSeed = hashSeed; exports.hintRevealsAnswer = _chunkW5KB3DNTcjs.hintRevealsAnswer; exports.inspectWav = _chunkVSH7ECQLcjs.inspectWav; exports.isInteractiveVideoItemType = _chunk2JT2WUQ2cjs.isInteractiveVideoItemType; exports.isItemGroup = isItemGroup; exports.itemGroupJsonSchema = _chunk2JT2WUQ2cjs.itemGroupJsonSchema; exports.jsonSchemaFor = _chunk2JT2WUQ2cjs.jsonSchemaFor; exports.levenshteinDistance = _chunkDSDXL3JOcjs.levenshteinDistance; exports.matchText = _chunkDSDXL3JOcjs.matchText; exports.multipleChoiceJsonSchema = _chunk2JT2WUQ2cjs.multipleChoiceJsonSchema; exports.multipleChoiceType = _chunkDSDXL3JOcjs.multipleChoiceType; exports.outcomeFromGrade = _chunkVSH7ECQLcjs.outcomeFromGrade; exports.outcomeFromUnscorable = _chunkVSH7ECQLcjs.outcomeFromUnscorable; exports.planAttempt = planAttempt; exports.planMediaBudgets = planMediaBudgets; exports.readAiTextResult = _chunkW5KB3DNTcjs.readAiTextResult; exports.readAloudJsonSchema = _chunk2JT2WUQ2cjs.readAloudJsonSchema; exports.readAloudType = _chunkDSDXL3JOcjs.readAloudType; exports.readMediaProgress = readMediaProgress; exports.redact = redact; exports.redactItemGroup = redactItemGroup; exports.registerActivityType = _chunkDSDXL3JOcjs.registerActivityType; exports.registeredActivityTypes = _chunkDSDXL3JOcjs.registeredActivityTypes; exports.resolveDeliveryPolicy = resolveDeliveryPolicy; exports.resolveItemScoringPolicy = _chunkVSH7ECQLcjs.resolveItemScoringPolicy; exports.resolvePlaybackPolicy = resolvePlaybackPolicy; exports.restoreAttemptState = restoreAttemptState; exports.restoreMediaPlayLedger = restoreMediaPlayLedger; exports.roundGrade = _chunkVSH7ECQLcjs.roundGrade; exports.score = _chunkVSH7ECQLcjs.score; exports.scoreTries = _chunkVSH7ECQLcjs.scoreTries; exports.scoredItemsFromPlan = scoredItemsFromPlan; exports.seededShuffle = seededShuffle; exports.serializeAttemptState = serializeAttemptState; exports.serializeMediaPlayLedger = serializeMediaPlayLedger; exports.slotMediaKey = slotMediaKey; exports.stimulusJsonSchema = _chunk2JT2WUQ2cjs.stimulusJsonSchema; exports.stimulusMediaKey = stimulusMediaKey; exports.validateActivity = _chunk2JT2WUQ2cjs.validateActivity; exports.validateDeliveryPolicy = validateDeliveryPolicy; exports.validateDraft = validateDraft; exports.validateItemGroup = _chunk2JT2WUQ2cjs.validateItemGroup; exports.validateItemGroupDraft = validateItemGroupDraft; exports.validateItemScoringPolicy = _chunkVSH7ECQLcjs.validateItemScoringPolicy; exports.validateMedia = _chunk2JT2WUQ2cjs.validateMedia; exports.validateOptionMedia = _chunk2JT2WUQ2cjs.validateOptionMedia; exports.validateSpeechAssessment = _chunkVSH7ECQLcjs.validateSpeechAssessment; exports.validateXAPIStatement = _chunkTJJFKKH2cjs.validateXAPIStatement; exports.verifyAttemptPlan = verifyAttemptPlan; exports.writtenResponseJsonSchema = _chunk2JT2WUQ2cjs.writtenResponseJsonSchema; exports.writtenResponseType = _chunkDSDXL3JOcjs.writtenResponseType; exports.xAPIBuilder = _chunkTJJFKKH2cjs.xAPIBuilder; exports.xapiDefinitionFor = _chunkTJJFKKH2cjs.xapiDefinitionFor;
|
|
1832
1763
|
//# sourceMappingURL=index.cjs.map
|