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