@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.
- package/CHANGELOG.md +15 -0
- package/README.md +5 -5
- package/dist/{activity-CYc7SD3d.d.cts → activity-DgpBJeBc.d.cts} +11 -15
- package/dist/{activity-CYc7SD3d.d.ts → activity-DgpBJeBc.d.ts} +11 -15
- package/dist/ai-check.cjs +8 -8
- package/dist/ai-check.d.cts +1 -1
- package/dist/ai-check.d.ts +1 -1
- package/dist/ai-check.js +3 -3
- 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-5UCR4UNR.js → chunk-RCZCP5OE.js} +12 -7
- 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-OPMY2MNS.cjs → chunk-W5KB3DNT.cjs} +19 -14
- 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 -206
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +115 -15
- package/dist/index.d.ts +115 -15
- package/dist/index.js +26 -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-5UCR4UNR.js.map +0 -1
- package/dist/chunk-D3GP5MET.js.map +0 -1
- package/dist/chunk-D4TOPSHV.cjs.map +0 -1
- package/dist/chunk-OPMY2MNS.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-0Z3-nnAP.d.ts +0 -2303
- package/dist/index-CxxiNSSH.d.cts +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
|
|
|
@@ -46,10 +46,10 @@ var _chunk2CV6NU32cjs = require('./chunk-2CV6NU32.cjs');
|
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
|
|
49
|
+
var _chunkW5KB3DNTcjs = require('./chunk-W5KB3DNT.cjs');
|
|
49
50
|
|
|
50
51
|
|
|
51
52
|
|
|
52
|
-
var _chunkOPMY2MNScjs = require('./chunk-OPMY2MNS.cjs');
|
|
53
53
|
|
|
54
54
|
|
|
55
55
|
|
|
@@ -71,10 +71,10 @@ var _chunkOPMY2MNScjs = require('./chunk-OPMY2MNS.cjs');
|
|
|
71
71
|
|
|
72
72
|
|
|
73
73
|
|
|
74
|
+
var _chunkVSH7ECQLcjs = require('./chunk-VSH7ECQL.cjs');
|
|
74
75
|
|
|
75
76
|
|
|
76
77
|
|
|
77
|
-
var _chunkWQVZPIN7cjs = require('./chunk-WQVZPIN7.cjs');
|
|
78
78
|
|
|
79
79
|
|
|
80
80
|
|
|
@@ -118,49 +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
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
var _chunkD4TOPSHVcjs = require('./chunk-D4TOPSHV.cjs');
|
|
121
|
+
var _chunkDSDXL3JOcjs = require('./chunk-DSDXL3JO.cjs');
|
|
164
122
|
|
|
165
123
|
// src/content-hash.ts
|
|
166
124
|
function canonicalJson(value, seen = /* @__PURE__ */ new Set()) {
|
|
@@ -723,14 +681,14 @@ function frozenScoring(policy) {
|
|
|
723
681
|
if (policy === void 0 || policy === null) {
|
|
724
682
|
return void 0;
|
|
725
683
|
}
|
|
726
|
-
const checked =
|
|
684
|
+
const checked = _chunkVSH7ECQLcjs.validateItemScoringPolicy.call(void 0, policy);
|
|
727
685
|
if (!checked.success) {
|
|
728
686
|
const first = checked.issues[0];
|
|
729
687
|
throw new Error(
|
|
730
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)` : "")
|
|
731
689
|
);
|
|
732
690
|
}
|
|
733
|
-
return
|
|
691
|
+
return _chunkVSH7ECQLcjs.resolveItemScoringPolicy.call(void 0, checked.data);
|
|
734
692
|
}
|
|
735
693
|
function missingOutcome(slot, policy) {
|
|
736
694
|
if (typeof policy === "function") {
|
|
@@ -884,22 +842,22 @@ function createInteractiveVideoDraft(context) {
|
|
|
884
842
|
};
|
|
885
843
|
}
|
|
886
844
|
function validateItemGroupDraft(draft) {
|
|
887
|
-
return
|
|
845
|
+
return _chunkDSDXL3JOcjs.withValidationScope.call(void 0, () => validateItemGroupDraftInScope(draft));
|
|
888
846
|
}
|
|
889
847
|
function validateItemGroupDraftInScope(draft) {
|
|
890
848
|
const issues = [];
|
|
891
|
-
if (!
|
|
849
|
+
if (!_chunkDSDXL3JOcjs.isRecord.call(void 0, draft)) {
|
|
892
850
|
issues.push(
|
|
893
|
-
|
|
851
|
+
_chunkDSDXL3JOcjs.issue.call(void 0, "ig_not_an_object", [], "A group must be an object with a stimulus and its items.")
|
|
894
852
|
);
|
|
895
853
|
return { status: "invalid", issues };
|
|
896
854
|
}
|
|
897
855
|
issues.push(...checkGroupIdentity(draft));
|
|
898
|
-
if (
|
|
856
|
+
if (_chunkDSDXL3JOcjs.isRecord.call(void 0, draft.stimulus)) {
|
|
899
857
|
issues.push(...checkStimulus(draft.stimulus));
|
|
900
|
-
} else if (
|
|
858
|
+
} else if (_chunkDSDXL3JOcjs.isUnset.call(void 0, draft.stimulus)) {
|
|
901
859
|
issues.push(
|
|
902
|
-
|
|
860
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
903
861
|
"ig_stimulus_required",
|
|
904
862
|
["stimulus"],
|
|
905
863
|
"Add the passage, recording or image the questions are about."
|
|
@@ -910,26 +868,26 @@ function validateItemGroupDraftInScope(draft) {
|
|
|
910
868
|
if (draft.timeline !== void 0 && draft.timeline !== null) {
|
|
911
869
|
issues.push(...checkTimeline(draft));
|
|
912
870
|
}
|
|
913
|
-
const captions =
|
|
871
|
+
const captions = _chunkDSDXL3JOcjs.groupCaptionsField.call(void 0, draft, (captionsUrl) => !_chunkDSDXL3JOcjs.isUnwritten.call(void 0, captionsUrl));
|
|
914
872
|
if (captions !== void 0) {
|
|
915
873
|
issues.push(
|
|
916
|
-
|
|
874
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
917
875
|
"dc_captions_not_allowed",
|
|
918
876
|
["stimulus", "media", captions],
|
|
919
|
-
|
|
877
|
+
_chunkDSDXL3JOcjs.GROUP_CAPTIONS_REVEAL_DICTATION
|
|
920
878
|
)
|
|
921
879
|
);
|
|
922
880
|
}
|
|
923
|
-
const parsed =
|
|
881
|
+
const parsed = _chunk2JT2WUQ2cjs.ItemGroupSchema.safeParse(draft, { reportInput: true });
|
|
924
882
|
if (!parsed.success) {
|
|
925
883
|
for (const schemaIssue of parsed.error.issues) {
|
|
926
884
|
const path = schemaIssue.path.map(String);
|
|
927
|
-
if (issues.some((known) =>
|
|
885
|
+
if (issues.some((known) => _chunkDSDXL3JOcjs.covers.call(void 0, known.path, path))) {
|
|
928
886
|
continue;
|
|
929
887
|
}
|
|
930
|
-
if (path.length > 0 &&
|
|
888
|
+
if (path.length > 0 && _chunkDSDXL3JOcjs.refusesEmpty.call(void 0, draft, schemaIssue)) {
|
|
931
889
|
issues.push(
|
|
932
|
-
|
|
890
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
933
891
|
"null_not_allowed",
|
|
934
892
|
path,
|
|
935
893
|
"This field cannot be null. Leave it out if it is optional, or give it a value."
|
|
@@ -945,7 +903,7 @@ function validateItemGroupDraftInScope(draft) {
|
|
|
945
903
|
});
|
|
946
904
|
}
|
|
947
905
|
}
|
|
948
|
-
const stored =
|
|
906
|
+
const stored = _chunk2JT2WUQ2cjs.validateItemGroup.call(void 0, draft);
|
|
949
907
|
if (issues.length === 0 && stored.success) {
|
|
950
908
|
return { status: "complete", data: stored.data, issues };
|
|
951
909
|
}
|
|
@@ -960,21 +918,21 @@ function validateItemGroupDraftInScope(draft) {
|
|
|
960
918
|
function checkTimeline(draft) {
|
|
961
919
|
const issues = [];
|
|
962
920
|
const timeline = draft.timeline;
|
|
963
|
-
if (!
|
|
921
|
+
if (!_chunkDSDXL3JOcjs.isRecord.call(void 0, timeline)) {
|
|
964
922
|
return issues;
|
|
965
923
|
}
|
|
966
|
-
const stimulus =
|
|
967
|
-
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") {
|
|
968
926
|
issues.push(
|
|
969
|
-
|
|
927
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
970
928
|
"ig_timeline_stimulus_kind",
|
|
971
929
|
["stimulus", "kind"],
|
|
972
930
|
"An interactive video needs a video: quizzes open at moments of it."
|
|
973
931
|
)
|
|
974
932
|
);
|
|
975
|
-
} 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") {
|
|
976
934
|
issues.push(
|
|
977
|
-
|
|
935
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
978
936
|
"ig_timeline_stimulus_kind",
|
|
979
937
|
["stimulus", "media", "type"],
|
|
980
938
|
"Upload a video file. An embedded player from another site cannot be paused when a quiz opens."
|
|
@@ -983,7 +941,7 @@ function checkTimeline(draft) {
|
|
|
983
941
|
}
|
|
984
942
|
if (draft.shuffle === "within-group") {
|
|
985
943
|
issues.push(
|
|
986
|
-
|
|
944
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
987
945
|
"ig_timeline_shuffle",
|
|
988
946
|
["shuffle"],
|
|
989
947
|
"The questions of an interactive video appear in the order their quizzes open, so they cannot be shuffled."
|
|
@@ -993,25 +951,25 @@ function checkTimeline(draft) {
|
|
|
993
951
|
const items = Array.isArray(draft.items) ? draft.items : [];
|
|
994
952
|
const itemIndexById = /* @__PURE__ */ new Map();
|
|
995
953
|
items.forEach((item, index) => {
|
|
996
|
-
if (!
|
|
954
|
+
if (!_chunkDSDXL3JOcjs.isRecord.call(void 0, item)) {
|
|
997
955
|
return;
|
|
998
956
|
}
|
|
999
957
|
if (typeof item.id === "string" && item.id !== "") {
|
|
1000
958
|
itemIndexById.set(item.id, index);
|
|
1001
959
|
}
|
|
1002
960
|
const type = item.type;
|
|
1003
|
-
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) {
|
|
1004
962
|
issues.push(
|
|
1005
|
-
|
|
963
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1006
964
|
"ig_timeline_item_type",
|
|
1007
965
|
["items", index, "type"],
|
|
1008
|
-
`An interactive video can hold ${
|
|
966
|
+
`An interactive video can hold ${_chunk2JT2WUQ2cjs.INTERACTIVE_VIDEO_ITEM_TYPES.join(", ")} questions only.`
|
|
1009
967
|
)
|
|
1010
968
|
);
|
|
1011
969
|
}
|
|
1012
|
-
if (type === "dictation" &&
|
|
970
|
+
if (type === "dictation" && _chunkDSDXL3JOcjs.isUnset.call(void 0, item.media)) {
|
|
1013
971
|
issues.push(
|
|
1014
|
-
|
|
972
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1015
973
|
"ig_timeline_dictation_media",
|
|
1016
974
|
["items", index, "media"],
|
|
1017
975
|
"Add the recording this dictation plays: inside a video it cannot play the video."
|
|
@@ -1023,7 +981,7 @@ function checkTimeline(draft) {
|
|
|
1023
981
|
const quizIds = /* @__PURE__ */ new Set();
|
|
1024
982
|
const placed = /* @__PURE__ */ new Set();
|
|
1025
983
|
cues.forEach((cue, cueIndex) => {
|
|
1026
|
-
if (!
|
|
984
|
+
if (!_chunkDSDXL3JOcjs.isRecord.call(void 0, cue)) {
|
|
1027
985
|
return;
|
|
1028
986
|
}
|
|
1029
987
|
const at = (field, ...rest) => [
|
|
@@ -1033,19 +991,19 @@ function checkTimeline(draft) {
|
|
|
1033
991
|
field,
|
|
1034
992
|
...rest
|
|
1035
993
|
];
|
|
1036
|
-
if (
|
|
1037
|
-
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."));
|
|
1038
996
|
} else if (typeof cue.id === "string") {
|
|
1039
997
|
if (quizIds.has(cue.id)) {
|
|
1040
998
|
issues.push(
|
|
1041
|
-
|
|
999
|
+
_chunkDSDXL3JOcjs.issue.call(void 0, "ig_timeline_quiz_id_duplicate", at("id"), `Two quizzes share the id "${cue.id}".`)
|
|
1042
1000
|
);
|
|
1043
1001
|
}
|
|
1044
1002
|
quizIds.add(cue.id);
|
|
1045
1003
|
}
|
|
1046
|
-
if (
|
|
1004
|
+
if (_chunkDSDXL3JOcjs.isUnset.call(void 0, cue.at)) {
|
|
1047
1005
|
issues.push(
|
|
1048
|
-
|
|
1006
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1049
1007
|
"ig_timeline_quiz_time_required",
|
|
1050
1008
|
at("at"),
|
|
1051
1009
|
"Choose when in the video this quiz opens."
|
|
@@ -1053,16 +1011,16 @@ function checkTimeline(draft) {
|
|
|
1053
1011
|
);
|
|
1054
1012
|
} else if (typeof cue.at !== "number" || !Number.isFinite(cue.at) || cue.at < 0) {
|
|
1055
1013
|
issues.push(
|
|
1056
|
-
|
|
1014
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1057
1015
|
"ig_timeline_quiz_time_invalid",
|
|
1058
1016
|
at("at"),
|
|
1059
1017
|
"A quiz opens at a number of seconds, 0 or more."
|
|
1060
1018
|
)
|
|
1061
1019
|
);
|
|
1062
1020
|
}
|
|
1063
|
-
if (
|
|
1021
|
+
if (_chunkDSDXL3JOcjs.isUnset.call(void 0, cue.itemIds) || Array.isArray(cue.itemIds) && cue.itemIds.length === 0) {
|
|
1064
1022
|
issues.push(
|
|
1065
|
-
|
|
1023
|
+
_chunkDSDXL3JOcjs.issue.call(void 0, "ig_timeline_quiz_empty", at("itemIds"), "Add at least one question to this quiz.")
|
|
1066
1024
|
);
|
|
1067
1025
|
return;
|
|
1068
1026
|
}
|
|
@@ -1075,7 +1033,7 @@ function checkTimeline(draft) {
|
|
|
1075
1033
|
}
|
|
1076
1034
|
if (!itemIndexById.has(itemId)) {
|
|
1077
1035
|
issues.push(
|
|
1078
|
-
|
|
1036
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1079
1037
|
"ig_timeline_quiz_unknown_item",
|
|
1080
1038
|
at("itemIds", position),
|
|
1081
1039
|
`This quiz names a question that is not in the video ("${itemId}").`
|
|
@@ -1083,7 +1041,7 @@ function checkTimeline(draft) {
|
|
|
1083
1041
|
);
|
|
1084
1042
|
} else if (placed.has(itemId)) {
|
|
1085
1043
|
issues.push(
|
|
1086
|
-
|
|
1044
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1087
1045
|
"ig_timeline_item_duplicate",
|
|
1088
1046
|
at("itemIds", position),
|
|
1089
1047
|
"This question is already in a quiz: each question belongs to one quiz."
|
|
@@ -1096,7 +1054,7 @@ function checkTimeline(draft) {
|
|
|
1096
1054
|
for (const [itemId, index] of itemIndexById) {
|
|
1097
1055
|
if (!placed.has(itemId)) {
|
|
1098
1056
|
issues.push(
|
|
1099
|
-
|
|
1057
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1100
1058
|
"ig_timeline_item_unplaced",
|
|
1101
1059
|
["items", index],
|
|
1102
1060
|
"Add this question to a quiz, or the video never shows it."
|
|
@@ -1107,12 +1065,12 @@ function checkTimeline(draft) {
|
|
|
1107
1065
|
const chapters = Array.isArray(timeline.chapters) ? timeline.chapters : [];
|
|
1108
1066
|
let previousAt;
|
|
1109
1067
|
chapters.forEach((chapter, index) => {
|
|
1110
|
-
if (!
|
|
1068
|
+
if (!_chunkDSDXL3JOcjs.isRecord.call(void 0, chapter)) {
|
|
1111
1069
|
return;
|
|
1112
1070
|
}
|
|
1113
|
-
if (
|
|
1071
|
+
if (_chunkDSDXL3JOcjs.isUnwritten.call(void 0, chapter.title)) {
|
|
1114
1072
|
issues.push(
|
|
1115
|
-
|
|
1073
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1116
1074
|
"ig_timeline_chapter_title",
|
|
1117
1075
|
["timeline", "chapters", index, "title"],
|
|
1118
1076
|
"Give this chapter a title."
|
|
@@ -1122,7 +1080,7 @@ function checkTimeline(draft) {
|
|
|
1122
1080
|
if (typeof chapter.at === "number" && Number.isFinite(chapter.at)) {
|
|
1123
1081
|
if (previousAt !== void 0 && chapter.at <= previousAt) {
|
|
1124
1082
|
issues.push(
|
|
1125
|
-
|
|
1083
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1126
1084
|
"ig_timeline_chapter_order",
|
|
1127
1085
|
["timeline", "chapters", index, "at"],
|
|
1128
1086
|
"Chapters must start in order, each after the one before it."
|
|
@@ -1138,7 +1096,7 @@ function checkGroupIdentity(draft) {
|
|
|
1138
1096
|
const issues = [];
|
|
1139
1097
|
if (draft.schemaVersion !== "1.0") {
|
|
1140
1098
|
issues.push(
|
|
1141
|
-
|
|
1099
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1142
1100
|
"schema_version_invalid",
|
|
1143
1101
|
["schemaVersion"],
|
|
1144
1102
|
'The draft must have schemaVersion "1.0". A draft from createItemGroupDraft has it.'
|
|
@@ -1146,14 +1104,14 @@ function checkGroupIdentity(draft) {
|
|
|
1146
1104
|
);
|
|
1147
1105
|
}
|
|
1148
1106
|
if (draft.type !== "item-group") {
|
|
1149
|
-
issues.push(
|
|
1107
|
+
issues.push(_chunkDSDXL3JOcjs.issue.call(void 0, "type_mismatch", ["type"], `The draft's type must be "item-group".`));
|
|
1150
1108
|
}
|
|
1151
|
-
if (
|
|
1152
|
-
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."));
|
|
1153
1111
|
}
|
|
1154
|
-
if (!
|
|
1112
|
+
if (!_chunkDSDXL3JOcjs.isUnset.call(void 0, draft.shuffle) && draft.shuffle !== "none" && draft.shuffle !== "within-group") {
|
|
1155
1113
|
issues.push(
|
|
1156
|
-
|
|
1114
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1157
1115
|
"ig_shuffle_invalid",
|
|
1158
1116
|
["shuffle"],
|
|
1159
1117
|
'Shuffling is either "none" or "within-group". Leave it out to keep the authored order.'
|
|
@@ -1172,13 +1130,13 @@ var MEDIA_FOR_KIND = {
|
|
|
1172
1130
|
function checkStimulus(stimulus) {
|
|
1173
1131
|
const issues = [];
|
|
1174
1132
|
const at = (...rest) => ["stimulus", ...rest];
|
|
1175
|
-
if (
|
|
1176
|
-
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."));
|
|
1177
1135
|
}
|
|
1178
1136
|
const kind = stimulus.kind;
|
|
1179
|
-
if (
|
|
1137
|
+
if (_chunkDSDXL3JOcjs.isUnwritten.call(void 0, kind)) {
|
|
1180
1138
|
issues.push(
|
|
1181
|
-
|
|
1139
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1182
1140
|
"ig_stimulus_kind_required",
|
|
1183
1141
|
at("kind"),
|
|
1184
1142
|
"Choose what the questions are about: a text, a recording, a video, an image, or a mix."
|
|
@@ -1187,71 +1145,71 @@ function checkStimulus(stimulus) {
|
|
|
1187
1145
|
} else if (typeof kind !== "string" || !KINDS.has(kind)) {
|
|
1188
1146
|
if (typeof kind === "string") {
|
|
1189
1147
|
issues.push(
|
|
1190
|
-
|
|
1148
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1191
1149
|
"ig_stimulus_kind_invalid",
|
|
1192
1150
|
at("kind"),
|
|
1193
1151
|
`"${kind}" is not a stimulus kind. Use text, audio, video, image or mixed.`
|
|
1194
1152
|
)
|
|
1195
1153
|
);
|
|
1196
1154
|
}
|
|
1197
|
-
if (
|
|
1198
|
-
issues.push(...
|
|
1155
|
+
if (_chunkDSDXL3JOcjs.isRecord.call(void 0, stimulus.media)) {
|
|
1156
|
+
issues.push(..._chunkDSDXL3JOcjs.checkMedia.call(void 0, stimulus.media, at("media")));
|
|
1199
1157
|
}
|
|
1200
1158
|
return issues;
|
|
1201
1159
|
}
|
|
1202
1160
|
const hasBody = typeof stimulus.body === "string" && stimulus.body.trim() !== "";
|
|
1203
|
-
const htmlPresent = !
|
|
1161
|
+
const htmlPresent = !_chunkDSDXL3JOcjs.isUnset.call(void 0, stimulus.bodyHtml);
|
|
1204
1162
|
if (!hasBody && (kind === "text" || kind === "mixed" || htmlPresent)) {
|
|
1205
1163
|
issues.push(
|
|
1206
|
-
|
|
1164
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1207
1165
|
"ig_stimulus_body_required",
|
|
1208
1166
|
at("body"),
|
|
1209
|
-
|
|
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."
|
|
1210
1168
|
)
|
|
1211
1169
|
);
|
|
1212
1170
|
}
|
|
1213
|
-
if (kind !== "text" &&
|
|
1171
|
+
if (kind !== "text" && _chunkDSDXL3JOcjs.isUnset.call(void 0, stimulus.media)) {
|
|
1214
1172
|
issues.push(
|
|
1215
|
-
|
|
1173
|
+
_chunkDSDXL3JOcjs.issue.call(void 0, "ig_stimulus_media_required", at("media"), "Add the recording, video or image.")
|
|
1216
1174
|
);
|
|
1217
|
-
} else if (
|
|
1175
|
+
} else if (_chunkDSDXL3JOcjs.isRecord.call(void 0, stimulus.media)) {
|
|
1218
1176
|
const allowed = MEDIA_FOR_KIND[kind];
|
|
1219
1177
|
const mediaType = stimulus.media.type;
|
|
1220
1178
|
if (allowed !== void 0 && typeof mediaType === "string" && !allowed.includes(mediaType)) {
|
|
1221
1179
|
issues.push(
|
|
1222
|
-
|
|
1180
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1223
1181
|
"ig_stimulus_media_kind",
|
|
1224
1182
|
at("media", "type"),
|
|
1225
1183
|
`A "${kind}" stimulus cannot carry ${mediaType} media. Use ${allowed.join(" or ")}.`
|
|
1226
1184
|
)
|
|
1227
1185
|
);
|
|
1228
1186
|
}
|
|
1229
|
-
issues.push(...
|
|
1187
|
+
issues.push(..._chunkDSDXL3JOcjs.checkMedia.call(void 0, stimulus.media, at("media")));
|
|
1230
1188
|
}
|
|
1231
1189
|
return issues;
|
|
1232
1190
|
}
|
|
1233
1191
|
function checkItems(draft) {
|
|
1234
1192
|
const issues = [];
|
|
1235
|
-
const items =
|
|
1193
|
+
const items = _chunkDSDXL3JOcjs.isUnset.call(void 0, draft.items) ? [] : draft.items;
|
|
1236
1194
|
if (!Array.isArray(items)) {
|
|
1237
1195
|
return issues;
|
|
1238
1196
|
}
|
|
1239
1197
|
if (items.length === 0) {
|
|
1240
1198
|
issues.push(
|
|
1241
|
-
|
|
1199
|
+
_chunkDSDXL3JOcjs.issue.call(void 0, "ig_items_required", ["items"], "Add at least one question about this material.")
|
|
1242
1200
|
);
|
|
1243
1201
|
return issues;
|
|
1244
1202
|
}
|
|
1245
1203
|
const seen = /* @__PURE__ */ new Set();
|
|
1246
1204
|
const repeated = /* @__PURE__ */ new Set();
|
|
1247
1205
|
for (const [index, item] of items.entries()) {
|
|
1248
|
-
if (!
|
|
1206
|
+
if (!_chunkDSDXL3JOcjs.isRecord.call(void 0, item)) {
|
|
1249
1207
|
continue;
|
|
1250
1208
|
}
|
|
1251
1209
|
const ordinal = index + 1;
|
|
1252
|
-
if (
|
|
1210
|
+
if (_chunkDSDXL3JOcjs.isMissingId.call(void 0, item.id)) {
|
|
1253
1211
|
issues.push(
|
|
1254
|
-
|
|
1212
|
+
_chunkDSDXL3JOcjs.issue.call(void 0, "ig_item_id_required", ["items", index, "id"], `Question ${ordinal} has no id.`)
|
|
1255
1213
|
);
|
|
1256
1214
|
} else if (typeof item.id === "string") {
|
|
1257
1215
|
if (seen.has(item.id)) {
|
|
@@ -1261,7 +1219,7 @@ function checkItems(draft) {
|
|
|
1261
1219
|
}
|
|
1262
1220
|
if (item.type === "item-group") {
|
|
1263
1221
|
issues.push(
|
|
1264
|
-
|
|
1222
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1265
1223
|
"ig_item_nested_group",
|
|
1266
1224
|
["items", index, "type"],
|
|
1267
1225
|
"Groups do not nest: every item must be an activity."
|
|
@@ -1269,9 +1227,9 @@ function checkItems(draft) {
|
|
|
1269
1227
|
);
|
|
1270
1228
|
continue;
|
|
1271
1229
|
}
|
|
1272
|
-
if (
|
|
1230
|
+
if (_chunkDSDXL3JOcjs.isUnwritten.call(void 0, item.type)) {
|
|
1273
1231
|
issues.push(
|
|
1274
|
-
|
|
1232
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1275
1233
|
"ig_item_type_required",
|
|
1276
1234
|
["items", index, "type"],
|
|
1277
1235
|
`Choose what kind of question ${ordinal} is.`
|
|
@@ -1286,11 +1244,11 @@ function checkItems(draft) {
|
|
|
1286
1244
|
try {
|
|
1287
1245
|
result = validateDraft(item.type, item);
|
|
1288
1246
|
} catch (error) {
|
|
1289
|
-
if (!(error instanceof
|
|
1247
|
+
if (!(error instanceof _chunkDSDXL3JOcjs.UnknownActivityTypeError) || error.activityType !== item.type) {
|
|
1290
1248
|
throw error;
|
|
1291
1249
|
}
|
|
1292
1250
|
issues.push(
|
|
1293
|
-
|
|
1251
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1294
1252
|
"ig_item_type_unknown",
|
|
1295
1253
|
["items", index, "type"],
|
|
1296
1254
|
`"${item.type}" is not a registered activity type.`
|
|
@@ -1304,7 +1262,7 @@ function checkItems(draft) {
|
|
|
1304
1262
|
}
|
|
1305
1263
|
for (const id of repeated) {
|
|
1306
1264
|
issues.push(
|
|
1307
|
-
|
|
1265
|
+
_chunkDSDXL3JOcjs.issue.call(void 0, "ig_item_id_duplicate", ["items"], `More than one question has the id "${id}".`)
|
|
1308
1266
|
);
|
|
1309
1267
|
}
|
|
1310
1268
|
return issues;
|
|
@@ -1312,30 +1270,32 @@ function checkItems(draft) {
|
|
|
1312
1270
|
|
|
1313
1271
|
// src/authoring/index.ts
|
|
1314
1272
|
function validateDraft(type, draft) {
|
|
1315
|
-
return
|
|
1273
|
+
return _chunkDSDXL3JOcjs.withValidationScope.call(void 0, () => validateDraftInScope(type, draft));
|
|
1316
1274
|
}
|
|
1317
1275
|
function validateDraftInScope(type, draft) {
|
|
1318
|
-
const descriptor =
|
|
1276
|
+
const descriptor = _chunkDSDXL3JOcjs.getActivityTypeDescriptor.call(void 0, type);
|
|
1319
1277
|
if (descriptor === void 0) {
|
|
1320
|
-
throw new (0,
|
|
1278
|
+
throw new (0, _chunkDSDXL3JOcjs.UnknownActivityTypeError)(String(type));
|
|
1321
1279
|
}
|
|
1322
|
-
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) : [];
|
|
1323
1281
|
const issues = [...reported];
|
|
1324
|
-
const parsed = descriptor.schema
|
|
1282
|
+
const parsed = _chunkDSDXL3JOcjs.readSchema.call(void 0, descriptor.schema, draft, `Activity type "${descriptor.type}"`, {
|
|
1283
|
+
reportInput: true
|
|
1284
|
+
});
|
|
1325
1285
|
if (!parsed.success) {
|
|
1326
|
-
const covered =
|
|
1286
|
+
const covered = _chunkDSDXL3JOcjs.coveredPathsOf.call(void 0, reported);
|
|
1327
1287
|
const reportedEmpty = /* @__PURE__ */ new Set();
|
|
1328
|
-
for (const schemaIssue of parsed.
|
|
1288
|
+
for (const schemaIssue of parsed.issues) {
|
|
1329
1289
|
const path = schemaIssue.path.map(String);
|
|
1330
|
-
if (covered.has(
|
|
1290
|
+
if (covered.has(_chunkDSDXL3JOcjs.pathKey.call(void 0, path))) {
|
|
1331
1291
|
continue;
|
|
1332
1292
|
}
|
|
1333
|
-
if (path.length > 0 &&
|
|
1293
|
+
if (path.length > 0 && _chunkDSDXL3JOcjs.refusesEmpty.call(void 0, draft, schemaIssue)) {
|
|
1334
1294
|
const key = JSON.stringify(path);
|
|
1335
1295
|
if (!reportedEmpty.has(key)) {
|
|
1336
1296
|
reportedEmpty.add(key);
|
|
1337
1297
|
issues.push(
|
|
1338
|
-
|
|
1298
|
+
_chunkDSDXL3JOcjs.issue.call(void 0,
|
|
1339
1299
|
"null_not_allowed",
|
|
1340
1300
|
path,
|
|
1341
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."
|
|
@@ -1359,9 +1319,9 @@ function validateDraftInScope(type, draft) {
|
|
|
1359
1319
|
return { status: invalid ? "invalid" : "incomplete", issues };
|
|
1360
1320
|
}
|
|
1361
1321
|
function createDraft(type, context) {
|
|
1362
|
-
const descriptor =
|
|
1322
|
+
const descriptor = _chunkDSDXL3JOcjs.getActivityTypeDescriptor.call(void 0, type);
|
|
1363
1323
|
if (descriptor === void 0) {
|
|
1364
|
-
throw new (0,
|
|
1324
|
+
throw new (0, _chunkDSDXL3JOcjs.UnknownActivityTypeError)(String(type));
|
|
1365
1325
|
}
|
|
1366
1326
|
const create = _optionalChain([descriptor, 'access', _27 => _27.authoring, 'optionalAccess', _28 => _28.createDraft]);
|
|
1367
1327
|
if (create === void 0) {
|
|
@@ -1386,7 +1346,7 @@ function createDraft(type, context) {
|
|
|
1386
1346
|
return create({ newId });
|
|
1387
1347
|
}
|
|
1388
1348
|
function normalise(found) {
|
|
1389
|
-
const documented = Object.hasOwn(
|
|
1349
|
+
const documented = Object.hasOwn(_chunkDSDXL3JOcjs.DRAFT_ISSUE_SEVERITY, found.code) ? _chunkDSDXL3JOcjs.DRAFT_ISSUE_SEVERITY[found.code] : void 0;
|
|
1390
1350
|
return {
|
|
1391
1351
|
...found,
|
|
1392
1352
|
path: found.path.map(String),
|
|
@@ -1450,9 +1410,9 @@ function redactValue(value, policy, reveal) {
|
|
|
1450
1410
|
}
|
|
1451
1411
|
function redact(data, options = {}) {
|
|
1452
1412
|
const reveal = _nullishCoalesce(options.reveal, () => ( "none"));
|
|
1453
|
-
const descriptor =
|
|
1413
|
+
const descriptor = _chunkDSDXL3JOcjs.getActivityTypeDescriptor.call(void 0, data.type);
|
|
1454
1414
|
if (descriptor === void 0) {
|
|
1455
|
-
throw new (0,
|
|
1415
|
+
throw new (0, _chunkDSDXL3JOcjs.UnknownActivityTypeError)(String(data.type));
|
|
1456
1416
|
}
|
|
1457
1417
|
if (descriptor.fieldPolicy === void 0) {
|
|
1458
1418
|
throw new Error(
|
|
@@ -1463,11 +1423,15 @@ function redact(data, options = {}) {
|
|
|
1463
1423
|
const projected = redactValue(data, effectivePolicy, reveal);
|
|
1464
1424
|
const result = { ...projected, redacted: true };
|
|
1465
1425
|
if (reveal === "none" && descriptor.redactedSchema !== void 0) {
|
|
1466
|
-
const parsed =
|
|
1426
|
+
const parsed = _chunkDSDXL3JOcjs.readSchema.call(void 0,
|
|
1427
|
+
descriptor.redactedSchema,
|
|
1428
|
+
result,
|
|
1429
|
+
`Activity type "${descriptor.type}"`
|
|
1430
|
+
);
|
|
1467
1431
|
if (!parsed.success) {
|
|
1468
|
-
throw new (0,
|
|
1432
|
+
throw new (0, _chunkDSDXL3JOcjs.ActivitySchemaError)(
|
|
1469
1433
|
descriptor.type,
|
|
1470
|
-
parsed.
|
|
1434
|
+
parsed.issues.map((issue2) => ({
|
|
1471
1435
|
path: issue2.path.map(String),
|
|
1472
1436
|
message: issue2.message,
|
|
1473
1437
|
code: issue2.code
|
|
@@ -1479,13 +1443,13 @@ function redact(data, options = {}) {
|
|
|
1479
1443
|
}
|
|
1480
1444
|
function assertRedacted(data) {
|
|
1481
1445
|
if (typeof data !== "object" || data === null) {
|
|
1482
|
-
throw new (0,
|
|
1446
|
+
throw new (0, _chunkDSDXL3JOcjs.ActivitySchemaError)("unknown", [
|
|
1483
1447
|
{ path: [], message: "Redacted activity data must be an object.", code: "invalid_type" }
|
|
1484
1448
|
]);
|
|
1485
1449
|
}
|
|
1486
1450
|
const candidate = data;
|
|
1487
1451
|
if (candidate.redacted !== true) {
|
|
1488
|
-
throw new (0,
|
|
1452
|
+
throw new (0, _chunkDSDXL3JOcjs.ActivitySchemaError)(String(_nullishCoalesce(candidate.type, () => ( "unknown"))), [
|
|
1489
1453
|
{
|
|
1490
1454
|
path: ["redacted"],
|
|
1491
1455
|
message: "Missing redacted marker \u2014 this payload is not a redact() projection.",
|
|
@@ -1494,12 +1458,12 @@ function assertRedacted(data) {
|
|
|
1494
1458
|
]);
|
|
1495
1459
|
}
|
|
1496
1460
|
const type = typeof candidate.type === "string" ? candidate.type : "";
|
|
1497
|
-
const descriptor =
|
|
1461
|
+
const descriptor = _chunkDSDXL3JOcjs.getActivityTypeDescriptor.call(void 0, type);
|
|
1498
1462
|
if (descriptor === void 0) {
|
|
1499
|
-
throw new (0,
|
|
1463
|
+
throw new (0, _chunkDSDXL3JOcjs.UnknownActivityTypeError)(type);
|
|
1500
1464
|
}
|
|
1501
1465
|
if (descriptor.redactedSchema === void 0) {
|
|
1502
|
-
throw new (0,
|
|
1466
|
+
throw new (0, _chunkDSDXL3JOcjs.ActivitySchemaError)(descriptor.type, [
|
|
1503
1467
|
{
|
|
1504
1468
|
path: [],
|
|
1505
1469
|
message: `Activity type "${descriptor.type}" registers no redactedSchema; assertRedacted cannot prove this payload is learner-safe.`,
|
|
@@ -1507,11 +1471,15 @@ function assertRedacted(data) {
|
|
|
1507
1471
|
}
|
|
1508
1472
|
]);
|
|
1509
1473
|
}
|
|
1510
|
-
const parsed =
|
|
1474
|
+
const parsed = _chunkDSDXL3JOcjs.readSchema.call(void 0,
|
|
1475
|
+
descriptor.redactedSchema,
|
|
1476
|
+
candidate,
|
|
1477
|
+
`Activity type "${descriptor.type}"`
|
|
1478
|
+
);
|
|
1511
1479
|
if (!parsed.success) {
|
|
1512
|
-
throw new (0,
|
|
1480
|
+
throw new (0, _chunkDSDXL3JOcjs.ActivitySchemaError)(
|
|
1513
1481
|
descriptor.type,
|
|
1514
|
-
parsed.
|
|
1482
|
+
parsed.issues.map((issue2) => ({
|
|
1515
1483
|
path: issue2.path.map(String),
|
|
1516
1484
|
message: issue2.message,
|
|
1517
1485
|
code: issue2.code
|
|
@@ -1525,7 +1493,7 @@ var STIMULUS_FIELD_POLICY = {
|
|
|
1525
1493
|
title: "public",
|
|
1526
1494
|
body: "public",
|
|
1527
1495
|
bodyHtml: "public",
|
|
1528
|
-
media:
|
|
1496
|
+
media: _chunkDSDXL3JOcjs.MEDIA_FIELD_POLICY,
|
|
1529
1497
|
locale: "public",
|
|
1530
1498
|
attribution: "public",
|
|
1531
1499
|
transcript: "author-only"
|
|
@@ -1569,9 +1537,9 @@ function redactItemGroup(group, options = {}) {
|
|
|
1569
1537
|
redacted: true
|
|
1570
1538
|
};
|
|
1571
1539
|
if (reveal === "none") {
|
|
1572
|
-
const parsed =
|
|
1540
|
+
const parsed = _chunk2JT2WUQ2cjs.RedactedItemGroupSchema.safeParse(result);
|
|
1573
1541
|
if (!parsed.success) {
|
|
1574
|
-
throw new (0,
|
|
1542
|
+
throw new (0, _chunkDSDXL3JOcjs.ActivitySchemaError)(
|
|
1575
1543
|
"item-group",
|
|
1576
1544
|
parsed.error.issues.map((issue2) => ({
|
|
1577
1545
|
path: issue2.path.map(String),
|
|
@@ -1585,13 +1553,13 @@ function redactItemGroup(group, options = {}) {
|
|
|
1585
1553
|
}
|
|
1586
1554
|
function assertRedactedItemGroup(data) {
|
|
1587
1555
|
if (typeof data !== "object" || data === null) {
|
|
1588
|
-
throw new (0,
|
|
1556
|
+
throw new (0, _chunkDSDXL3JOcjs.ActivitySchemaError)("item-group", [
|
|
1589
1557
|
{ path: [], message: "Redacted item group must be an object.", code: "invalid_type" }
|
|
1590
1558
|
]);
|
|
1591
1559
|
}
|
|
1592
1560
|
const candidate = data;
|
|
1593
1561
|
if (candidate.redacted !== true) {
|
|
1594
|
-
throw new (0,
|
|
1562
|
+
throw new (0, _chunkDSDXL3JOcjs.ActivitySchemaError)("item-group", [
|
|
1595
1563
|
{
|
|
1596
1564
|
path: ["redacted"],
|
|
1597
1565
|
message: "Missing redacted marker \u2014 this payload is not a redactItemGroup() projection.",
|
|
@@ -1599,9 +1567,9 @@ function assertRedactedItemGroup(data) {
|
|
|
1599
1567
|
}
|
|
1600
1568
|
]);
|
|
1601
1569
|
}
|
|
1602
|
-
const parsed =
|
|
1570
|
+
const parsed = _chunk2JT2WUQ2cjs.RedactedItemGroupSchema.safeParse(candidate);
|
|
1603
1571
|
if (!parsed.success) {
|
|
1604
|
-
throw new (0,
|
|
1572
|
+
throw new (0, _chunkDSDXL3JOcjs.ActivitySchemaError)(
|
|
1605
1573
|
"item-group",
|
|
1606
1574
|
parsed.error.issues.map((issue2) => ({
|
|
1607
1575
|
path: issue2.path.map(String),
|
|
@@ -1614,8 +1582,8 @@ function assertRedactedItemGroup(data) {
|
|
|
1614
1582
|
try {
|
|
1615
1583
|
assertRedacted(item);
|
|
1616
1584
|
} catch (error) {
|
|
1617
|
-
if (error instanceof
|
|
1618
|
-
throw new (0,
|
|
1585
|
+
if (error instanceof _chunkDSDXL3JOcjs.ActivitySchemaError) {
|
|
1586
|
+
throw new (0, _chunkDSDXL3JOcjs.ActivitySchemaError)(
|
|
1619
1587
|
"item-group",
|
|
1620
1588
|
error.errors.map((issue2) => ({
|
|
1621
1589
|
...issue2,
|
|
@@ -1660,7 +1628,7 @@ function composeTimelineScore(entryKey, items, policy) {
|
|
|
1660
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.`
|
|
1661
1629
|
);
|
|
1662
1630
|
}
|
|
1663
|
-
return
|
|
1631
|
+
return _chunkVSH7ECQLcjs.composeAssessmentScore.call(void 0, [{ id: entryKey, weight: 1, items: own }], policy);
|
|
1664
1632
|
}
|
|
1665
1633
|
|
|
1666
1634
|
|
|
@@ -1791,50 +1759,5 @@ function composeTimelineScore(entryKey, items, policy) {
|
|
|
1791
1759
|
|
|
1792
1760
|
|
|
1793
1761
|
|
|
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
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
exports.AI_EXPLANATION_TYPES = _chunkOPMY2MNScjs.AI_EXPLANATION_TYPES; exports.AI_HINT_TYPES = _chunkOPMY2MNScjs.AI_HINT_TYPES; exports.AI_TEXT_MAX_LENGTH = _chunkOPMY2MNScjs.AI_TEXT_MAX_LENGTH; exports.AI_WRITING_MAX_CORRECTIONS = _chunkOPMY2MNScjs.AI_WRITING_MAX_CORRECTIONS; exports.AI_WRITING_MAX_FIELD_LENGTH = _chunkOPMY2MNScjs.AI_WRITING_MAX_FIELD_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 = _chunkOPMY2MNScjs.aiAllowedByContent; exports.aiExplanationRequest = _chunkOPMY2MNScjs.aiExplanationRequest; exports.aiGradeOf = _chunkOPMY2MNScjs.aiGradeOf; exports.aiHintRequest = _chunkOPMY2MNScjs.aiHintRequest; exports.aiSupports = _chunkOPMY2MNScjs.aiSupports; exports.aiWritingFeedbackRequest = _chunkOPMY2MNScjs.aiWritingFeedbackRequest; exports.alignDictation = _chunkD4TOPSHVcjs.alignDictation; exports.alignReadAloud = _chunkWQVZPIN7cjs.alignReadAloud; exports.assertRedacted = assertRedacted; exports.assertRedactedItemGroup = assertRedactedItemGroup; exports.buildAiFacts = _chunkOPMY2MNScjs.buildAiFacts; exports.canonicalJson = canonicalJson; exports.checkAiExplanation = _chunkOPMY2MNScjs.checkAiExplanation; exports.checkAiHint = _chunkOPMY2MNScjs.checkAiHint; exports.checkAiWritingFeedback = _chunkOPMY2MNScjs.checkAiWritingFeedback; 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 = _chunkOPMY2MNScjs.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 = _chunkOPMY2MNScjs.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;
|
|
1840
1763
|
//# sourceMappingURL=index.cjs.map
|