@longsightgroup/qti3-core 0.10.5 → 0.11.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/README.md +153 -4
- package/dist/adaptive-turn-materializer.js +4 -5
- package/dist/adaptive-turn-materializer.js.map +1 -1
- package/dist/adaptive-turn.d.ts.map +1 -1
- package/dist/adaptive-turn.js +1 -0
- package/dist/adaptive-turn.js.map +1 -1
- package/dist/attempt-state.d.ts.map +1 -1
- package/dist/attempt-state.js +41 -1
- package/dist/attempt-state.js.map +1 -1
- package/dist/catalog.d.ts +8 -0
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.js +10 -0
- package/dist/catalog.js.map +1 -1
- package/dist/diagnostics.d.ts +13 -0
- package/dist/diagnostics.d.ts.map +1 -0
- package/dist/diagnostics.js +28 -0
- package/dist/diagnostics.js.map +1 -0
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/item-scoring-expectation.d.ts +2 -0
- package/dist/item-scoring-expectation.d.ts.map +1 -1
- package/dist/item-scoring-expectation.js +8 -0
- package/dist/item-scoring-expectation.js.map +1 -1
- package/dist/item-submission-materialization.d.ts.map +1 -1
- package/dist/item-submission-materialization.js +2 -0
- package/dist/item-submission-materialization.js.map +1 -1
- package/dist/parser-processing.d.ts.map +1 -1
- package/dist/parser-processing.js +8 -18
- package/dist/parser-processing.js.map +1 -1
- package/dist/parser-values.d.ts.map +1 -1
- package/dist/parser-values.js +1 -3
- package/dist/parser-values.js.map +1 -1
- package/dist/parser.js +36 -6
- package/dist/parser.js.map +1 -1
- package/dist/processing-equality.d.ts +10 -0
- package/dist/processing-equality.d.ts.map +1 -0
- package/dist/processing-equality.js +78 -0
- package/dist/processing-equality.js.map +1 -0
- package/dist/processing-evaluator-comparison.d.ts.map +1 -1
- package/dist/processing-evaluator-comparison.js +14 -9
- package/dist/processing-evaluator-comparison.js.map +1 -1
- package/dist/processing-evaluator-numeric.d.ts.map +1 -1
- package/dist/processing-evaluator-numeric.js +2 -1
- package/dist/processing-evaluator-numeric.js.map +1 -1
- package/dist/processing-evaluator-string.d.ts.map +1 -1
- package/dist/processing-evaluator-string.js +26 -10
- package/dist/processing-evaluator-string.js.map +1 -1
- package/dist/processing-evaluator-variable.d.ts.map +1 -1
- package/dist/processing-evaluator-variable.js +9 -3
- package/dist/processing-evaluator-variable.js.map +1 -1
- package/dist/processing-evaluator.d.ts +5 -1
- package/dist/processing-evaluator.d.ts.map +1 -1
- package/dist/processing-evaluator.js +13 -4
- package/dist/processing-evaluator.js.map +1 -1
- package/dist/processing-expression-children.d.ts.map +1 -1
- package/dist/processing-expression-children.js +2 -3
- package/dist/processing-expression-children.js.map +1 -1
- package/dist/processing-expression-tags.d.ts +2 -1
- package/dist/processing-expression-tags.d.ts.map +1 -1
- package/dist/processing-expression-tags.js +2 -1
- package/dist/processing-expression-tags.js.map +1 -1
- package/dist/processing-mapping.d.ts.map +1 -1
- package/dist/processing-mapping.js +26 -16
- package/dist/processing-mapping.js.map +1 -1
- package/dist/processing-state.d.ts +2 -2
- package/dist/processing-state.d.ts.map +1 -1
- package/dist/processing-state.js +5 -2
- package/dist/processing-state.js.map +1 -1
- package/dist/processing-values.d.ts +1 -2
- package/dist/processing-values.d.ts.map +1 -1
- package/dist/processing-values.js +1 -3
- package/dist/processing-values.js.map +1 -1
- package/dist/processing-variables.d.ts.map +1 -1
- package/dist/processing-variables.js +10 -5
- package/dist/processing-variables.js.map +1 -1
- package/dist/qti-package-assets.d.ts.map +1 -1
- package/dist/qti-package-assets.js +16 -10
- package/dist/qti-package-assets.js.map +1 -1
- package/dist/qti-package-manifest.d.ts +1 -0
- package/dist/qti-package-manifest.d.ts.map +1 -1
- package/dist/qti-package-manifest.js +1 -0
- package/dist/qti-package-manifest.js.map +1 -1
- package/dist/qti-package-metadata.d.ts.map +1 -1
- package/dist/qti-package-metadata.js +11 -0
- package/dist/qti-package-metadata.js.map +1 -1
- package/dist/qti-package-plan.d.ts +1 -1
- package/dist/qti-package-plan.d.ts.map +1 -1
- package/dist/qti-package-types.d.ts +9 -0
- package/dist/qti-package-types.d.ts.map +1 -1
- package/dist/qti-package-xml.d.ts +6 -1
- package/dist/qti-package-xml.d.ts.map +1 -1
- package/dist/qti-package-xml.js +11 -6
- package/dist/qti-package-xml.js.map +1 -1
- package/dist/qti-package-zip.d.ts +13 -1
- package/dist/qti-package-zip.d.ts.map +1 -1
- package/dist/qti-package-zip.js +185 -54
- package/dist/qti-package-zip.js.map +1 -1
- package/dist/qti-package.d.ts +12 -5
- package/dist/qti-package.d.ts.map +1 -1
- package/dist/qti-package.js +63 -8
- package/dist/qti-package.js.map +1 -1
- package/dist/response-validation-policy.d.ts +3 -1
- package/dist/response-validation-policy.d.ts.map +1 -1
- package/dist/response-validation-policy.js +66 -6
- package/dist/response-validation-policy.js.map +1 -1
- package/dist/response-validation.d.ts +3 -1
- package/dist/response-validation.d.ts.map +1 -1
- package/dist/response-validation.js +32 -10
- package/dist/response-validation.js.map +1 -1
- package/dist/scoring-disposition-policy.d.ts.map +1 -1
- package/dist/scoring-disposition-policy.js +6 -2
- package/dist/scoring-disposition-policy.js.map +1 -1
- package/dist/serializer-processing-expressions.d.ts.map +1 -1
- package/dist/serializer-processing-expressions.js +2 -10
- package/dist/serializer-processing-expressions.js.map +1 -1
- package/dist/server-scoring.d.ts.map +1 -1
- package/dist/server-scoring.js +1 -0
- package/dist/server-scoring.js.map +1 -1
- package/dist/session-builtins.d.ts +16 -0
- package/dist/session-builtins.d.ts.map +1 -0
- package/dist/session-builtins.js +58 -0
- package/dist/session-builtins.js.map +1 -0
- package/dist/session.d.ts +5 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +63 -11
- package/dist/session.js.map +1 -1
- package/dist/support-evidence.d.ts.map +1 -1
- package/dist/support-evidence.js +16 -3
- package/dist/support-evidence.js.map +1 -1
- package/dist/support.d.ts.map +1 -1
- package/dist/support.js +72 -24
- package/dist/support.js.map +1 -1
- package/dist/text-response.d.ts +9 -0
- package/dist/text-response.d.ts.map +1 -0
- package/dist/text-response.js +102 -0
- package/dist/text-response.js.map +1 -0
- package/dist/trusted-item-session.d.ts +4 -1
- package/dist/trusted-item-session.d.ts.map +1 -1
- package/dist/trusted-item-session.js +12 -6
- package/dist/trusted-item-session.js.map +1 -1
- package/dist/types.d.ts +23 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/validation-declaration-entries.d.ts.map +1 -1
- package/dist/validation-declaration-entries.js +11 -1
- package/dist/validation-declaration-entries.js.map +1 -1
- package/dist/validation-interactions.d.ts.map +1 -1
- package/dist/validation-interactions.js +102 -12
- package/dist/validation-interactions.js.map +1 -1
- package/dist/validation-item-children.d.ts +4 -0
- package/dist/validation-item-children.d.ts.map +1 -0
- package/dist/validation-item-children.js +45 -0
- package/dist/validation-item-children.js.map +1 -0
- package/dist/validation-processing.d.ts.map +1 -1
- package/dist/validation-processing.js +45 -12
- package/dist/validation-processing.js.map +1 -1
- package/dist/validation.d.ts.map +1 -1
- package/dist/validation.js +12 -0
- package/dist/validation.js.map +1 -1
- package/dist/value-guards.d.ts +4 -0
- package/dist/value-guards.d.ts.map +1 -0
- package/dist/value-guards.js +5 -0
- package/dist/value-guards.js.map +1 -0
- package/dist/xml-schema-regex-data.d.ts +48 -0
- package/dist/xml-schema-regex-data.d.ts.map +1 -0
- package/dist/xml-schema-regex-data.js +403 -0
- package/dist/xml-schema-regex-data.js.map +1 -0
- package/dist/xml-schema-regex-parser.d.ts +31 -0
- package/dist/xml-schema-regex-parser.d.ts.map +1 -0
- package/dist/xml-schema-regex-parser.js +245 -0
- package/dist/xml-schema-regex-parser.js.map +1 -0
- package/dist/xml-schema-regex.d.ts +14 -0
- package/dist/xml-schema-regex.d.ts.map +1 -0
- package/dist/xml-schema-regex.js +114 -0
- package/dist/xml-schema-regex.js.map +1 -0
- package/package.json +1 -1
- package/src/adaptive-turn-materializer.ts +4 -3
- package/src/adaptive-turn.ts +1 -0
- package/src/attempt-state.ts +54 -1
- package/src/catalog.ts +29 -0
- package/src/diagnostics.ts +29 -0
- package/src/index.ts +16 -0
- package/src/item-scoring-expectation.ts +8 -0
- package/src/item-submission-materialization.ts +2 -0
- package/src/parser-processing.ts +15 -18
- package/src/parser-values.ts +1 -5
- package/src/parser.ts +38 -6
- package/src/processing-equality.ts +104 -0
- package/src/processing-evaluator-comparison.ts +19 -14
- package/src/processing-evaluator-numeric.ts +2 -6
- package/src/processing-evaluator-string.ts +25 -18
- package/src/processing-evaluator-variable.ts +8 -3
- package/src/processing-evaluator.ts +20 -7
- package/src/processing-expression-children.ts +2 -3
- package/src/processing-expression-tags.ts +2 -1
- package/src/processing-mapping.ts +31 -25
- package/src/processing-state.ts +6 -1
- package/src/processing-values.ts +2 -11
- package/src/processing-variables.ts +9 -7
- package/src/qti-package-assets.ts +20 -13
- package/src/qti-package-manifest.ts +1 -0
- package/src/qti-package-metadata.ts +11 -0
- package/src/qti-package-plan.ts +1 -1
- package/src/qti-package-types.ts +10 -0
- package/src/qti-package-xml.ts +11 -6
- package/src/qti-package-zip.ts +330 -97
- package/src/qti-package.ts +106 -7
- package/src/response-validation-policy.ts +76 -4
- package/src/response-validation.ts +51 -5
- package/src/scoring-disposition-policy.ts +7 -2
- package/src/serializer-processing-expressions.ts +8 -25
- package/src/server-scoring.ts +1 -0
- package/src/session-builtins.ts +75 -0
- package/src/session.ts +64 -8
- package/src/support-evidence.ts +16 -3
- package/src/support.ts +94 -24
- package/src/text-response.ts +106 -0
- package/src/trusted-item-session.ts +17 -5
- package/src/types.ts +32 -4
- package/src/validation-declaration-entries.ts +11 -1
- package/src/validation-interactions.ts +139 -14
- package/src/validation-item-children.ts +48 -0
- package/src/validation-processing.ts +47 -10
- package/src/validation.ts +14 -0
- package/src/value-guards.ts +6 -0
- package/src/xml-schema-regex-data.ts +404 -0
- package/src/xml-schema-regex-parser.ts +234 -0
- package/src/xml-schema-regex.ts +115 -0
package/dist/server-scoring.js
CHANGED
|
@@ -4,6 +4,7 @@ export function scoreQtiItemServerSide(input) {
|
|
|
4
4
|
itemXml: input.itemXml,
|
|
5
5
|
diagnosticPrefix: "serverScoring",
|
|
6
6
|
allowedUndeclaredResponseIdentifiers: input.allowedUndeclaredResponseIdentifiers,
|
|
7
|
+
sessionEnvironment: input.sessionEnvironment,
|
|
7
8
|
submission: {
|
|
8
9
|
trustedResponses: input.trustedResponses,
|
|
9
10
|
trustedInteractionStates: input.trustedInteractionStates,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-scoring.js","sourceRoot":"","sources":["../src/server-scoring.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,GAItB,MAAM,2BAA2B,CAAC;AAmBnC,MAAM,UAAU,sBAAsB,CAAC,KAA4B;IACjE,MAAM,MAAM,GAAG,qBAAqB,CAAC;QACnC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,gBAAgB,EAAE,eAAe;QACjC,oCAAoC,EAAE,KAAK,CAAC,oCAAoC;QAChF,UAAU,EAAE;YACV,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;YACxC,wBAAwB,EAAE,KAAK,CAAC,wBAAwB;SACzD;QACD,aAAa,EAAE,KAAK,CAAC,MAAM;QAC3B,OAAO,EAAE,QAAQ;QACjB,mBAAmB,EAAE,IAAI;KAC1B,CAAC,CAAC;IAEH,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"server-scoring.js","sourceRoot":"","sources":["../src/server-scoring.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,GAItB,MAAM,2BAA2B,CAAC;AAmBnC,MAAM,UAAU,sBAAsB,CAAC,KAA4B;IACjE,MAAM,MAAM,GAAG,qBAAqB,CAAC;QACnC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,gBAAgB,EAAE,eAAe;QACjC,oCAAoC,EAAE,KAAK,CAAC,oCAAoC;QAChF,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;QAC5C,UAAU,EAAE;YACV,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;YACxC,wBAAwB,EAAE,KAAK,CAAC,wBAAwB;SACzD;QACD,aAAa,EAAE,KAAK,CAAC,MAAM;QAC3B,OAAO,EAAE,QAAQ;QACjB,mBAAmB,EAAE,IAAI;KAC1B,CAAC,CAAC;IAEH,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { QtiBuiltInVariables, QtiDiagnostic, QtiSessionContext, QtiValue } from "./types.js";
|
|
2
|
+
export interface QtiSessionEnvironment {
|
|
3
|
+
/** Host context, resolved before template processing. Unspecified fields are empty strings. */
|
|
4
|
+
context?: Partial<QtiSessionContext> | undefined;
|
|
5
|
+
/** Accumulated item-session seconds supplied by a scoring host. */
|
|
6
|
+
duration?: number | undefined;
|
|
7
|
+
/** Monotonic milliseconds supplied by a delivery host; suspension time is excluded. */
|
|
8
|
+
now?: (() => number) | undefined;
|
|
9
|
+
}
|
|
10
|
+
export declare function createSessionBuiltIns(prior: QtiBuiltInVariables | undefined, options: QtiSessionEnvironment, report: (diagnostic: QtiDiagnostic) => void): {
|
|
11
|
+
state: QtiBuiltInVariables;
|
|
12
|
+
captureTime: (active: boolean) => void;
|
|
13
|
+
duration: () => QtiValue;
|
|
14
|
+
};
|
|
15
|
+
export declare function builtInVariableBaseType(identifier: string): "integer" | "float" | "identifier" | undefined;
|
|
16
|
+
//# sourceMappingURL=session-builtins.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-builtins.d.ts","sourceRoot":"","sources":["../src/session-builtins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAElG,MAAM,WAAW,qBAAqB;IACpC,+FAA+F;IAC/F,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC;IACjD,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,uFAAuF;IACvF,GAAG,CAAC,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,SAAS,CAAC;CAClC;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,mBAAmB,GAAG,SAAS,EACtC,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,CAAC,UAAU,EAAE,aAAa,KAAK,IAAI;;0BAmBd,OAAO,KAAG,IAAI;oBAmBtB,QAAQ;EAa9B;AAED,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,GACjB,SAAS,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,CAKhD"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export function createSessionBuiltIns(prior, options, report) {
|
|
2
|
+
const state = {
|
|
3
|
+
numAttempts: prior?.numAttempts ?? 0,
|
|
4
|
+
attemptInProgress: prior?.attemptInProgress ?? false,
|
|
5
|
+
duration: options.duration ?? prior?.duration ?? (options.now ? 0 : null),
|
|
6
|
+
context: {
|
|
7
|
+
candidateIdentifier: options.context?.candidateIdentifier ?? prior?.context.candidateIdentifier ?? "",
|
|
8
|
+
testIdentifier: options.context?.testIdentifier ?? prior?.context.testIdentifier ?? "",
|
|
9
|
+
environmentIdentifier: options.context?.environmentIdentifier ?? prior?.context.environmentIdentifier ?? "",
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
let previousTime = options.now?.();
|
|
13
|
+
let elapsed = state.duration;
|
|
14
|
+
let timingValid = elapsed === null || (Number.isFinite(elapsed) && elapsed >= 0);
|
|
15
|
+
if (!timingValid)
|
|
16
|
+
state.duration = elapsed = null;
|
|
17
|
+
function captureTime(active) {
|
|
18
|
+
if (!options.now)
|
|
19
|
+
return;
|
|
20
|
+
const current = options.now();
|
|
21
|
+
if (!Number.isFinite(current) ||
|
|
22
|
+
previousTime === undefined ||
|
|
23
|
+
!Number.isFinite(previousTime) ||
|
|
24
|
+
current < previousTime) {
|
|
25
|
+
timingValid = false;
|
|
26
|
+
elapsed = state.duration = null;
|
|
27
|
+
}
|
|
28
|
+
else if (active && elapsed !== null) {
|
|
29
|
+
elapsed += (current - previousTime) / 1000;
|
|
30
|
+
// Preserve clock precision across suspension and restoration.
|
|
31
|
+
state.duration = elapsed;
|
|
32
|
+
}
|
|
33
|
+
previousTime = current;
|
|
34
|
+
}
|
|
35
|
+
function duration() {
|
|
36
|
+
if (state.duration !== null && timingValid)
|
|
37
|
+
return Math.floor(state.duration * 1000) / 1000;
|
|
38
|
+
report({
|
|
39
|
+
code: timingValid ? "session.duration.unavailable" : "session.duration.invalid",
|
|
40
|
+
severity: "error",
|
|
41
|
+
message: timingValid
|
|
42
|
+
? "Reading duration requires host-supplied accumulated seconds or a monotonic clock."
|
|
43
|
+
: "Duration requires finite non-negative seconds and a monotonic finite clock.",
|
|
44
|
+
});
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
return { state, captureTime, duration };
|
|
48
|
+
}
|
|
49
|
+
export function builtInVariableBaseType(identifier) {
|
|
50
|
+
if (identifier === "numAttempts")
|
|
51
|
+
return "integer";
|
|
52
|
+
if (identifier === "duration")
|
|
53
|
+
return "float";
|
|
54
|
+
if (identifier === "completionStatus")
|
|
55
|
+
return "identifier";
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=session-builtins.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-builtins.js","sourceRoot":"","sources":["../src/session-builtins.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,qBAAqB,CACnC,KAAsC,EACtC,OAA8B,EAC9B,MAA2C;IAE3C,MAAM,KAAK,GAAwB;QACjC,WAAW,EAAE,KAAK,EAAE,WAAW,IAAI,CAAC;QACpC,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,IAAI,KAAK;QACpD,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK,EAAE,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzE,OAAO,EAAE;YACP,mBAAmB,EACjB,OAAO,CAAC,OAAO,EAAE,mBAAmB,IAAI,KAAK,EAAE,OAAO,CAAC,mBAAmB,IAAI,EAAE;YAClF,cAAc,EAAE,OAAO,CAAC,OAAO,EAAE,cAAc,IAAI,KAAK,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;YACtF,qBAAqB,EACnB,OAAO,CAAC,OAAO,EAAE,qBAAqB,IAAI,KAAK,EAAE,OAAO,CAAC,qBAAqB,IAAI,EAAE;SACvF;KACF,CAAC;IACF,IAAI,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;IACnC,IAAI,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC7B,IAAI,WAAW,GAAG,OAAO,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC;IACjF,IAAI,CAAC,WAAW;QAAE,KAAK,CAAC,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAC;IAElD,SAAS,WAAW,CAAC,MAAe;QAClC,IAAI,CAAC,OAAO,CAAC,GAAG;YAAE,OAAO;QACzB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9B,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;YACzB,YAAY,KAAK,SAAS;YAC1B,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC9B,OAAO,GAAG,YAAY,EACtB,CAAC;YACD,WAAW,GAAG,KAAK,CAAC;YACpB,OAAO,GAAG,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QAClC,CAAC;aAAM,IAAI,MAAM,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,IAAI,CAAC;YAC3C,8DAA8D;YAC9D,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC3B,CAAC;QACD,YAAY,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,SAAS,QAAQ;QACf,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,WAAW;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QAC5F,MAAM,CAAC;YACL,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,0BAA0B;YAC/E,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,WAAW;gBAClB,CAAC,CAAC,mFAAmF;gBACrF,CAAC,CAAC,6EAA6E;SAClF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,UAAkB;IAElB,IAAI,UAAU,KAAK,aAAa;QAAE,OAAO,SAAS,CAAC;IACnD,IAAI,UAAU,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC;IAC9C,IAAI,UAAU,KAAK,kBAAkB;QAAE,OAAO,YAAY,CAAC;IAC3D,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
package/dist/session.d.ts
CHANGED
|
@@ -2,7 +2,9 @@ import type { QtiAssessmentItem, QtiAttemptStatus, QtiAttemptStateV1, QtiDocumen
|
|
|
2
2
|
import type { QtiCustomOperatorRegistry } from "./custom-operators.js";
|
|
3
3
|
export type { QtiCustomOperatorContext, QtiCustomOperatorHandler, QtiCustomOperatorRegistry, } from "./custom-operators.js";
|
|
4
4
|
export { assertQtiAttemptStateV1, isQtiAttemptStateV1 } from "./attempt-state.js";
|
|
5
|
-
|
|
5
|
+
import { type QtiSessionEnvironment } from "./session-builtins.js";
|
|
6
|
+
export type { QtiSessionEnvironment } from "./session-builtins.js";
|
|
7
|
+
export interface QtiItemSessionOptions extends QtiSessionEnvironment {
|
|
6
8
|
randomSeed?: string | number | undefined;
|
|
7
9
|
customOperators?: QtiCustomOperatorRegistry | undefined;
|
|
8
10
|
allowedUndeclaredResponseIdentifiers?: readonly string[] | undefined;
|
|
@@ -10,6 +12,8 @@ export interface QtiItemSessionOptions {
|
|
|
10
12
|
export interface QtiItemSession {
|
|
11
13
|
readonly item: QtiAssessmentItem;
|
|
12
14
|
correctResponses(): Record<string, QtiValue>;
|
|
15
|
+
/** Starts an attempt without requiring a response; repeated calls and resume are idempotent. */
|
|
16
|
+
beginAttempt(): void;
|
|
13
17
|
respond(identifier: string, value: QtiValue): void;
|
|
14
18
|
setInteractionState(identifier: string, state: QtiPortableCustomStateValue): void;
|
|
15
19
|
interactionState(identifier: string): QtiPortableCustomStateValue | undefined;
|
package/dist/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EAEjB,WAAW,EACX,gBAAgB,EAChB,2BAA2B,EAI3B,cAAc,EAEd,QAAQ,EACT,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,YAAY,EACV,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EAEjB,WAAW,EACX,gBAAgB,EAChB,2BAA2B,EAI3B,cAAc,EAEd,QAAQ,EACT,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,YAAY,EACV,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAiBlF,OAAO,EAAyB,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAiBnE,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAClE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACzC,eAAe,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;IACxD,oCAAoC,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CACtE;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7C,gGAAgG;IAChG,YAAY,IAAI,IAAI,CAAC;IACrB,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACnD,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,2BAA2B,GAAG,IAAI,CAAC;IAClF,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,2BAA2B,GAAG,SAAS,CAAC;IAC9E,SAAS,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC1C,KAAK,IAAI,cAAc,CAAC;IACxB,SAAS,IAAI,iBAAiB,CAAC;CAChC;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,iBAAiB,EACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GACjC,gBAAgB,EAAE,CASpB;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,WAAW,EACrB,UAAU,CAAC,EAAE,iBAAiB,EAC9B,OAAO,GAAE,qBAA0B,GAClC,cAAc,CAsMhB"}
|
package/dist/session.js
CHANGED
|
@@ -9,15 +9,15 @@ export { assertQtiAttemptStateV1, isQtiAttemptStateV1 } from "./attempt-state.js
|
|
|
9
9
|
import { COMPLETION_COMPLETED, COMPLETION_NOT_ATTEMPTED, COMPLETION_STATUS, COMPLETION_UNKNOWN, } from "./attempt-state-constants.js";
|
|
10
10
|
import { cloneDiagnostics, clonePortableCustomState, clonePortableCustomStateRecord, cloneValue, cloneValueRecord, serialize, } from "./processing-state.js";
|
|
11
11
|
import { booleanValue, normalizeValueForCardinality, qtiMatchValues } from "./processing-values.js";
|
|
12
|
+
import { createSessionBuiltIns } from "./session-builtins.js";
|
|
12
13
|
export function visibleModalFeedback(item, outcomes) {
|
|
13
14
|
return item.modalFeedback.filter((feedback) => {
|
|
14
|
-
if (feedback.showHide === "hide")
|
|
15
|
-
return false;
|
|
16
15
|
const outcome = outcomes[feedback.outcomeIdentifier];
|
|
17
16
|
const outcomeValue = outcome === undefined ? null : outcome;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
const matches = Array.isArray(outcomeValue)
|
|
18
|
+
? outcomeValue.includes(feedback.identifier)
|
|
19
|
+
: qtiValueToString(outcomeValue) === feedback.identifier;
|
|
20
|
+
return feedback.showHide === "hide" ? !matches : matches;
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
23
|
export function createItemSession(document, priorState, options = {}) {
|
|
@@ -34,6 +34,12 @@ export function createItemSession(document, priorState, options = {}) {
|
|
|
34
34
|
const interactionStates = {};
|
|
35
35
|
const correctResponses = {};
|
|
36
36
|
let status = priorState?.status ?? "initialized";
|
|
37
|
+
const builtInDiagnostics = [];
|
|
38
|
+
const builtIns = createSessionBuiltIns(priorState?.builtInVariables, options, (diagnostic) => {
|
|
39
|
+
if (!builtInDiagnostics.some((existing) => existing.code === diagnostic.code))
|
|
40
|
+
builtInDiagnostics.push(diagnostic);
|
|
41
|
+
});
|
|
42
|
+
const captureTime = () => builtIns.captureTime(status !== "suspended" && status !== "completed");
|
|
37
43
|
const random = seededRandom(options.randomSeed ?? document.item.identifier);
|
|
38
44
|
const customOperators = options.customOperators ?? {};
|
|
39
45
|
const allowedUndeclaredResponseIdentifiers = new Set(options.allowedUndeclaredResponseIdentifiers ?? []);
|
|
@@ -51,13 +57,30 @@ export function createItemSession(document, priorState, options = {}) {
|
|
|
51
57
|
templateValues[declaration.identifier] = cloneValue(declaration.defaultValue);
|
|
52
58
|
}
|
|
53
59
|
for (const outcome of document.item.outcomeDeclarations) {
|
|
54
|
-
|
|
60
|
+
const numericSingle = outcome.cardinality === "single" &&
|
|
61
|
+
(outcome.baseType === "integer" || outcome.baseType === "float");
|
|
62
|
+
outcomes[outcome.identifier] = cloneValue(outcome.defaultValue ?? (numericSingle ? 0 : null));
|
|
55
63
|
}
|
|
56
64
|
outcomes[COMPLETION_STATUS] = COMPLETION_NOT_ATTEMPTED;
|
|
57
65
|
const baseResponses = cloneValueRecord(responses);
|
|
58
66
|
const baseResponseDefaults = cloneValueRecord(responseDefaults);
|
|
59
67
|
const baseOutcomes = cloneValueRecord(outcomes);
|
|
60
|
-
const evaluation = createEvaluationContext(document, responses, outcomes, templateValues, correctResponses, random, customOperators, {
|
|
68
|
+
const evaluation = createEvaluationContext(document, responses, outcomes, templateValues, correctResponses, random, customOperators, {
|
|
69
|
+
allowedUndeclaredResponseIdentifiers,
|
|
70
|
+
builtInVariable(identifier) {
|
|
71
|
+
if (identifier === "completionStatus")
|
|
72
|
+
return outcomes[COMPLETION_STATUS] ?? COMPLETION_NOT_ATTEMPTED;
|
|
73
|
+
if (identifier === "numAttempts")
|
|
74
|
+
return builtIns.state.numAttempts;
|
|
75
|
+
if (identifier === "QTI_CONTEXT")
|
|
76
|
+
return { ...builtIns.state.context };
|
|
77
|
+
if (identifier === "duration" && document.item.timeDependent) {
|
|
78
|
+
captureTime();
|
|
79
|
+
return builtIns.duration();
|
|
80
|
+
}
|
|
81
|
+
return undefined;
|
|
82
|
+
},
|
|
83
|
+
});
|
|
61
84
|
const processingContext = {
|
|
62
85
|
responseDefaults,
|
|
63
86
|
evaluation,
|
|
@@ -68,12 +91,14 @@ export function createItemSession(document, priorState, options = {}) {
|
|
|
68
91
|
resetCorrectResponses(document, correctResponses);
|
|
69
92
|
applyTemplateProcessing(processingContext, new Set(Object.keys(priorTemplateValues)), baseResponses, baseResponseDefaults, baseOutcomes);
|
|
70
93
|
}
|
|
94
|
+
const templateDiagnostics = [...evaluation.diagnostics, ...builtInDiagnostics];
|
|
71
95
|
const defaultOutcomes = cloneValueRecord(outcomes);
|
|
72
96
|
Object.assign(responses, priorResponses);
|
|
73
97
|
Object.assign(outcomes, priorOutcomes);
|
|
74
98
|
Object.assign(interactionStates, priorInteractionStates);
|
|
75
99
|
return {
|
|
76
100
|
item: document.item,
|
|
101
|
+
beginAttempt: startAttempt,
|
|
77
102
|
correctResponses() {
|
|
78
103
|
return cloneValueRecord(correctResponses);
|
|
79
104
|
},
|
|
@@ -95,10 +120,17 @@ export function createItemSession(document, priorState, options = {}) {
|
|
|
95
120
|
return state === undefined ? undefined : clonePortableCustomState(state);
|
|
96
121
|
},
|
|
97
122
|
setStatus(nextStatus) {
|
|
123
|
+
captureTime();
|
|
124
|
+
if (nextStatus === "interacting")
|
|
125
|
+
startAttempt();
|
|
126
|
+
if (nextStatus === "completed")
|
|
127
|
+
builtIns.state.attemptInProgress = false;
|
|
98
128
|
status = nextStatus;
|
|
99
129
|
},
|
|
100
130
|
score() {
|
|
101
|
-
|
|
131
|
+
evaluation.diagnostics.length = 0;
|
|
132
|
+
builtInDiagnostics.length = 0;
|
|
133
|
+
captureTime();
|
|
102
134
|
if (document.item.adaptive || status !== "initialized") {
|
|
103
135
|
startAttempt();
|
|
104
136
|
}
|
|
@@ -108,17 +140,31 @@ export function createItemSession(document, priorState, options = {}) {
|
|
|
108
140
|
outcomes[COMPLETION_STATUS] = completionStatus;
|
|
109
141
|
}
|
|
110
142
|
applyResponseProcessing(processingContext);
|
|
143
|
+
builtIns.state.attemptInProgress = false;
|
|
144
|
+
const diagnostics = [
|
|
145
|
+
...templateDiagnostics,
|
|
146
|
+
...evaluation.diagnostics,
|
|
147
|
+
...builtInDiagnostics,
|
|
148
|
+
];
|
|
111
149
|
if (outcomes[COMPLETION_STATUS] === COMPLETION_COMPLETED)
|
|
112
150
|
status = "completed";
|
|
113
151
|
validationMessages = diagnostics;
|
|
114
|
-
const state = serialize(document.item.identifier, status, responses, outcomes, templateValues, interactionStates, diagnostics);
|
|
152
|
+
const state = serialize(document.item.identifier, status, responses, outcomes, templateValues, interactionStates, diagnostics, builtIns.state);
|
|
115
153
|
return { outcomes: cloneValueRecord(outcomes), diagnostics, state };
|
|
116
154
|
},
|
|
117
155
|
serialize() {
|
|
118
|
-
|
|
156
|
+
captureTime();
|
|
157
|
+
return serialize(document.item.identifier, status, responses, outcomes, templateValues, interactionStates, validationMessages, builtIns.state);
|
|
119
158
|
},
|
|
120
159
|
};
|
|
121
160
|
function startAttempt() {
|
|
161
|
+
captureTime();
|
|
162
|
+
if (status === "completed")
|
|
163
|
+
return;
|
|
164
|
+
if (!builtIns.state.attemptInProgress) {
|
|
165
|
+
builtIns.state.numAttempts += 1;
|
|
166
|
+
builtIns.state.attemptInProgress = true;
|
|
167
|
+
}
|
|
122
168
|
for (const [identifier, value] of Object.entries(responseDefaults)) {
|
|
123
169
|
if (responses[identifier] === undefined)
|
|
124
170
|
responses[identifier] = cloneValue(value);
|
|
@@ -139,6 +185,8 @@ function resetRecord(target, source) {
|
|
|
139
185
|
function applyTemplateProcessing(context, preservedTemplateIdentifiers = new Set(), baseResponses = cloneValueRecord(context.evaluation.responses), baseResponseDefaults = cloneValueRecord(context.responseDefaults), baseOutcomes = cloneValueRecord(context.evaluation.outcomes)) {
|
|
140
186
|
const { evaluation } = context;
|
|
141
187
|
const rules = evaluation.document.item.templateProcessing?.rules ?? [];
|
|
188
|
+
// A retry or restored clone must derive defaults afresh from the authored declarations.
|
|
189
|
+
resetRecord(evaluation.defaultValues, {});
|
|
142
190
|
let restarts = 0;
|
|
143
191
|
for (let index = 0; index < rules.length; index += 1) {
|
|
144
192
|
const rule = rules[index];
|
|
@@ -152,6 +200,7 @@ function applyTemplateProcessing(context, preservedTemplateIdentifiers = new Set
|
|
|
152
200
|
resetRecord(evaluation.responses, cloneValueRecord(baseResponses));
|
|
153
201
|
resetRecord(context.responseDefaults, cloneValueRecord(baseResponseDefaults));
|
|
154
202
|
resetRecord(evaluation.outcomes, cloneValueRecord(baseOutcomes));
|
|
203
|
+
resetRecord(evaluation.defaultValues, {});
|
|
155
204
|
resetCorrectResponses(evaluation.document, evaluation.correctResponses);
|
|
156
205
|
restarts += 1;
|
|
157
206
|
if (restarts <= 100)
|
|
@@ -211,6 +260,7 @@ function applyTemplateRule(context, rule, preservedTemplateIdentifiers) {
|
|
|
211
260
|
const responseDeclaration = getResponseDeclaration(evaluation.document, rule.identifier);
|
|
212
261
|
if (responseDeclaration) {
|
|
213
262
|
const normalized = normalizeValueForCardinality(value, responseDeclaration.cardinality);
|
|
263
|
+
evaluation.defaultValues[rule.identifier] = cloneValue(normalized);
|
|
214
264
|
if (normalized === null) {
|
|
215
265
|
delete context.responseDefaults[rule.identifier];
|
|
216
266
|
}
|
|
@@ -221,7 +271,9 @@ function applyTemplateRule(context, rule, preservedTemplateIdentifiers) {
|
|
|
221
271
|
}
|
|
222
272
|
const outcomeDeclaration = evaluation.document.item.outcomeDeclarations.find((declaration) => declaration.identifier === rule.identifier);
|
|
223
273
|
if (outcomeDeclaration) {
|
|
224
|
-
|
|
274
|
+
const normalized = normalizeValueForCardinality(value, outcomeDeclaration.cardinality);
|
|
275
|
+
evaluation.defaultValues[rule.identifier] = cloneValue(normalized);
|
|
276
|
+
evaluation.outcomes[rule.identifier] = cloneValue(normalized);
|
|
225
277
|
}
|
|
226
278
|
return false;
|
|
227
279
|
}
|
package/dist/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"support-evidence.d.ts","sourceRoot":"","sources":["../src/support-evidence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,eAAO,MAAM,mBAAmB,mCAAmC,CAAC;AACpE,eAAO,MAAM,oBAAoB,iDAAiD,CAAC;AACnF,eAAO,MAAM,sBAAsB,kDAAkD,CAAC;AACtF,eAAO,MAAM,sBAAsB,kDAAkD,CAAC;AACtF,eAAO,MAAM,uBAAuB,mDAAmD,CAAC;AACxF,eAAO,MAAM,qBAAqB,iDAAiD,CAAC;AAEpF,eAAO,MAAM,sBAAsB,UAA8C,CAAC;AAClF,eAAO,MAAM,oBAAoB,UAA4C,CAAC;AAC9E,eAAO,MAAM,oBAAoB,UAA4C,CAAC;AAC9E,eAAO,MAAM,uBAAuB,UAAgD,CAAC;AACrF,eAAO,MAAM,mBAAmB,UAA2C,CAAC;AAC5E,eAAO,MAAM,kBAAkB,UAA0C,CAAC;AAC1E,eAAO,MAAM,wBAAwB,UAAiD,CAAC;AACvF,eAAO,MAAM,qBAAqB,UAA6C,CAAC;AAchF,2EAA2E;AAC3E,eAAO,MAAM,yBAAyB;;;;CAIgB,CAAC;AAEvD,eAAO,MAAM,wBAAwB,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC,CAM3F,CAAC;AAEF,wBAAgB,eAAe,CAAC,eAAe,EAAE,kBAAkB,GAAG,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"support-evidence.d.ts","sourceRoot":"","sources":["../src/support-evidence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,eAAO,MAAM,mBAAmB,mCAAmC,CAAC;AACpE,eAAO,MAAM,oBAAoB,iDAAiD,CAAC;AACnF,eAAO,MAAM,sBAAsB,kDAAkD,CAAC;AACtF,eAAO,MAAM,sBAAsB,kDAAkD,CAAC;AACtF,eAAO,MAAM,uBAAuB,mDAAmD,CAAC;AACxF,eAAO,MAAM,qBAAqB,iDAAiD,CAAC;AAEpF,eAAO,MAAM,sBAAsB,UAA8C,CAAC;AAClF,eAAO,MAAM,oBAAoB,UAA4C,CAAC;AAC9E,eAAO,MAAM,oBAAoB,UAA4C,CAAC;AAC9E,eAAO,MAAM,uBAAuB,UAAgD,CAAC;AACrF,eAAO,MAAM,mBAAmB,UAA2C,CAAC;AAC5E,eAAO,MAAM,kBAAkB,UAA0C,CAAC;AAC1E,eAAO,MAAM,wBAAwB,UAAiD,CAAC;AACvF,eAAO,MAAM,qBAAqB,UAA6C,CAAC;AAchF,2EAA2E;AAC3E,eAAO,MAAM,yBAAyB;;;;CAIgB,CAAC;AAEvD,eAAO,MAAM,wBAAwB,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC,CAM3F,CAAC;AAEF,wBAAgB,eAAe,CAAC,eAAe,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAuD7E;AAED,wBAAgB,0BAA0B,CAAC,eAAe,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAKxF;AAED,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAQrF"}
|
package/dist/support-evidence.js
CHANGED
|
@@ -44,21 +44,31 @@ export function browserTestsFor(interactionType) {
|
|
|
44
44
|
"tests/browser/player-interaction-sweep.spec.ts",
|
|
45
45
|
];
|
|
46
46
|
const extras = {
|
|
47
|
-
associate:
|
|
47
|
+
associate: [
|
|
48
|
+
...browserKeyboardA11yTests,
|
|
49
|
+
"packages/core/src/association-contracts.test.ts",
|
|
50
|
+
"tests/browser/player-dom-behavior.spec.ts",
|
|
51
|
+
],
|
|
48
52
|
choice: ["tests/browser/player-choice.spec.ts", "tests/browser/player-dom-behavior.spec.ts"],
|
|
49
53
|
drawing: ["tests/browser/player-graphic.spec.ts"],
|
|
50
54
|
endAttempt: ["tests/browser/player-dom-behavior.spec.ts", ...browserKeyboardA11yTests],
|
|
51
55
|
extendedText: [
|
|
56
|
+
"packages/core/src/text-response.test.ts",
|
|
52
57
|
"tests/browser/player-dom-behavior.spec.ts",
|
|
53
58
|
"tests/browser/player-extended-text-xhtml.spec.ts",
|
|
54
59
|
],
|
|
55
60
|
gapMatch: ["tests/browser/player-gap-match.spec.ts"],
|
|
56
61
|
graphicAssociate: ["tests/browser/player-graphic.spec.ts"],
|
|
57
62
|
graphicGapMatch: [
|
|
63
|
+
"packages/core/src/core-session-graphic-gap-state.test.ts",
|
|
58
64
|
"tests/browser/player-graphic-gap-match.spec.ts",
|
|
59
65
|
"tests/browser/player-graphic.spec.ts",
|
|
66
|
+
...browserLifecycleTests,
|
|
67
|
+
],
|
|
68
|
+
graphicOrder: [
|
|
69
|
+
"packages/core/src/graphic-image-contracts.test.ts",
|
|
70
|
+
"tests/browser/player-graphic.spec.ts",
|
|
60
71
|
],
|
|
61
|
-
graphicOrder: ["tests/browser/player-graphic.spec.ts"],
|
|
62
72
|
hotspot: ["tests/browser/player-graphic.spec.ts"],
|
|
63
73
|
hottext: ["tests/browser/player-hottext.spec.ts", "tests/browser/player-dom-behavior.spec.ts"],
|
|
64
74
|
inlineChoice: ["tests/browser/player-inline-choice.spec.ts"],
|
|
@@ -74,7 +84,10 @@ export function browserTestsFor(interactionType) {
|
|
|
74
84
|
"tests/browser/player-slider-cross-browser.spec.ts",
|
|
75
85
|
...browserKeyboardA11yTests,
|
|
76
86
|
],
|
|
77
|
-
textEntry: [
|
|
87
|
+
textEntry: [
|
|
88
|
+
"packages/core/src/text-response.test.ts",
|
|
89
|
+
"tests/browser/player-dom-behavior.spec.ts",
|
|
90
|
+
],
|
|
78
91
|
upload: ["tests/browser/player-dom-behavior.spec.ts"],
|
|
79
92
|
};
|
|
80
93
|
return [...base, ...(extras[interactionType] ?? [])];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"support-evidence.js","sourceRoot":"","sources":["../src/support-evidence.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAG,gCAAgC,CAAC;AACpE,MAAM,CAAC,MAAM,oBAAoB,GAAG,8CAA8C,CAAC;AACnF,MAAM,CAAC,MAAM,sBAAsB,GAAG,+CAA+C,CAAC;AACtF,MAAM,CAAC,MAAM,sBAAsB,GAAG,+CAA+C,CAAC;AACtF,MAAM,CAAC,MAAM,uBAAuB,GAAG,gDAAgD,CAAC;AACxF,MAAM,CAAC,MAAM,qBAAqB,GAAG,8CAA8C,CAAC;AAEpF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,yCAAyC,CAAC,CAAC;AAClF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,uCAAuC,CAAC,CAAC;AAC9E,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,uCAAuC,CAAC,CAAC;AAC9E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,2CAA2C,CAAC,CAAC;AACrF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,sCAAsC,CAAC,CAAC;AAC5E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,qCAAqC,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,4CAA4C,CAAC,CAAC;AACvF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,wCAAwC,CAAC,CAAC;AAEhF,MAAM,iCAAiC,GAAG;IACxC,GAAG,sBAAsB;IACzB,GAAG,uBAAuB;IAC1B,GAAG,kBAAkB;CACtB,CAAC;AACF,MAAM,iCAAiC,GAAG;IACxC,GAAG,sBAAsB;IACzB,GAAG,oBAAoB;IACvB,GAAG,oBAAoB;CACxB,CAAC;AACF,MAAM,4BAA4B,GAAG,sBAAsB,CAAC;AAE5D,2EAA2E;AAC3E,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,yBAAyB,EAAE,iCAAiC;IAC5D,yBAAyB,EAAE,iCAAiC;IAC5D,oBAAoB,EAAE,4BAA4B;CACE,CAAC;AAEvD,MAAM,CAAC,MAAM,wBAAwB,GAA2D;IAC9F,YAAY,EAAE;QACZ,2EAA2E;QAC3E,oEAAoE;KACrE;IACD,SAAS,EAAE,CAAC,+EAA+E,CAAC;CAC7F,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,eAAmC;IACjE,MAAM,IAAI,GAAG;QACX,wCAAwC;QACxC,8CAA8C;QAC9C,gCAAgC;QAChC,gDAAgD;KACjD,CAAC;IACF,MAAM,MAAM,GAAkD;QAC5D,SAAS,EAAE,wBAAwB;
|
|
1
|
+
{"version":3,"file":"support-evidence.js","sourceRoot":"","sources":["../src/support-evidence.ts"],"names":[],"mappings":"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"}
|
package/dist/support.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"support.d.ts","sourceRoot":"","sources":["../src/support.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,4BAA4B,EAC5B,4BAA4B,EAC5B,kBAAkB,EAClB,6BAA6B,EAC7B,2BAA2B,EAC3B,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAcpB,eAAO,MAAM,kBAAkB,EAAE,4BAA4B,EAsB5D,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,4BAA4B,EAetE,CAAC;AAOF,eAAO,MAAM,iBAAiB,EAAE,2BAA2B,
|
|
1
|
+
{"version":3,"file":"support.d.ts","sourceRoot":"","sources":["../src/support.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,4BAA4B,EAC5B,4BAA4B,EAC5B,kBAAkB,EAClB,6BAA6B,EAC7B,2BAA2B,EAC3B,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAcpB,eAAO,MAAM,kBAAkB,EAAE,4BAA4B,EAsB5D,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,4BAA4B,EAetE,CAAC;AAOF,eAAO,MAAM,iBAAiB,EAAE,2BAA2B,EAqN1D,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,6BAA6B,EAgH9D,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,iBAAiB,EAK7C,CAAC;AAIF,eAAO,MAAM,qBAAqB,iCAEjC,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAEpF;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,4BAA4B,CAIvF;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,iBAAiB,GACxB,aAAa,EAAE,CAyBjB"}
|
package/dist/support.js
CHANGED
|
@@ -59,7 +59,10 @@ export const processingSupport = [
|
|
|
59
59
|
"packages/fixtures/xml/random-integer-template-reference.xml",
|
|
60
60
|
"packages/fixtures/xml/template-content-reference.xml",
|
|
61
61
|
]),
|
|
62
|
-
|
|
62
|
+
{
|
|
63
|
+
...templateProcessingEntry("qti-set-default-value"),
|
|
64
|
+
notes: "Updates effective response/outcome defaults for the clone, including explicit NULL overrides; rejected template passes discard their overrides.",
|
|
65
|
+
},
|
|
63
66
|
templateProcessingEntry("qti-set-correct-response", [
|
|
64
67
|
"packages/fixtures/xml/template-processing-reference.xml",
|
|
65
68
|
"packages/fixtures/xml/random-integer-template-reference.xml",
|
|
@@ -100,28 +103,54 @@ export const processingSupport = [
|
|
|
100
103
|
operatorProcessingEntry("qti-null"),
|
|
101
104
|
mappingProcessingEntry("qti-match-table"),
|
|
102
105
|
mappingProcessingEntry("qti-match-table-entry"),
|
|
103
|
-
|
|
106
|
+
{
|
|
107
|
+
...mappingProcessingEntry("qti-interpolation-table"),
|
|
108
|
+
notes: "Selects the first authored entry whose source-value is below the input, including equality only when include-boundary permits it.",
|
|
109
|
+
},
|
|
104
110
|
mappingProcessingEntry("qti-interpolation-table-entry"),
|
|
105
|
-
|
|
111
|
+
{
|
|
112
|
+
...operatorProcessingEntry("qti-is-null"),
|
|
113
|
+
notes: "Accepts one arbitrary expression, evaluates it in the full variable context, and tests the result for NULL.",
|
|
114
|
+
},
|
|
106
115
|
mappingProcessingEntry("qti-match", [
|
|
107
116
|
"packages/fixtures/xml/generic-match-processing-reference.xml",
|
|
108
117
|
"packages/fixtures/xml/advanced-processing-reference.xml",
|
|
109
118
|
]),
|
|
110
119
|
mappingProcessingEntry("qti-correct"),
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
"
|
|
121
|
-
|
|
120
|
+
{
|
|
121
|
+
...mappingProcessingEntry("qti-default", [], [processingTemplateTest]),
|
|
122
|
+
notes: "Reads the effective authored or template-overridden default, independently of the variable's current value.",
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
...mappingProcessingEntry("qti-map-response"),
|
|
126
|
+
notes: "String map entries honor case-sensitive (default false); mapping counts each distinct response value once using QTI base-type equality, then applies bounds.",
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
...mappingProcessingEntry("qti-map-response-point"),
|
|
130
|
+
notes: "Each point selects the first matching authored area; each selected area contributes at most once.",
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
...responseProcessingEntry("qti-variable", [
|
|
134
|
+
"packages/fixtures/xml/generic-match-processing-reference.xml",
|
|
135
|
+
"packages/fixtures/xml/template-processing-reference.xml",
|
|
136
|
+
"packages/fixtures/xml/random-integer-template-reference.xml",
|
|
137
|
+
"packages/fixtures/xml/template-content-reference.xml",
|
|
138
|
+
"packages/fixtures/xml/advanced-processing-reference.xml",
|
|
139
|
+
"packages/fixtures/xml/adaptive-feedback-reference.xml",
|
|
140
|
+
]),
|
|
141
|
+
notes: "Resolves declared variables and implicit completionStatus, numAttempts, timed-item duration (float seconds), and QTI_CONTEXT; session environment is resolved before template processing.",
|
|
142
|
+
tests: [
|
|
143
|
+
processingResponseTest,
|
|
144
|
+
"packages/core/src/session-builtins.test.ts",
|
|
145
|
+
"tests/browser/player-lifecycle.spec.ts",
|
|
146
|
+
],
|
|
147
|
+
},
|
|
122
148
|
templateProcessingEntry("qti-random-integer", ["packages/fixtures/xml/random-integer-template-reference.xml"], [...processingBrowserEvidence["qti-random-integer"]]),
|
|
123
149
|
operatorProcessingEntry("qti-random-float"),
|
|
124
|
-
|
|
150
|
+
{
|
|
151
|
+
...operatorProcessingEntry("qti-random"),
|
|
152
|
+
notes: "Evaluates one multiple/ordered container expression, including variables, then selects a scalar member; NULL/empty containers return NULL and serialization retains the operand.",
|
|
153
|
+
},
|
|
125
154
|
operatorProcessingEntry("qti-multiple", [
|
|
126
155
|
"packages/fixtures/xml/advanced-processing-reference.xml",
|
|
127
156
|
]),
|
|
@@ -129,7 +158,10 @@ export const processingSupport = [
|
|
|
129
158
|
"packages/fixtures/xml/advanced-processing-reference.xml",
|
|
130
159
|
]),
|
|
131
160
|
operatorProcessingEntry("qti-index"),
|
|
132
|
-
|
|
161
|
+
{
|
|
162
|
+
...operatorProcessingEntry("qti-contains", [], ["packages/core/src/processing-containment.test.ts"]),
|
|
163
|
+
notes: "Multiple containers use multiset containment; ordered containers require a contiguous sequence and preserve duplicate counts, including variable/delete/repeat operands.",
|
|
164
|
+
},
|
|
133
165
|
operatorProcessingEntry("qti-container-size", [
|
|
134
166
|
"packages/fixtures/xml/advanced-processing-reference.xml",
|
|
135
167
|
]),
|
|
@@ -155,10 +187,14 @@ export const processingSupport = [
|
|
|
155
187
|
operatorProcessingEntry("qti-any-n"),
|
|
156
188
|
operatorProcessingEntry("qti-or"),
|
|
157
189
|
operatorProcessingEntry("qti-not"),
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
"
|
|
161
|
-
|
|
190
|
+
{
|
|
191
|
+
...operatorProcessingEntry("qti-equal", [], ["packages/core/src/processing-equality.test.ts"]),
|
|
192
|
+
notes: "Preserves and evaluates exact, absolute, and relative tolerance with asymmetric bounds, variable tolerances, and inclusive/exclusive boundaries.",
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
...operatorProcessingEntry("qti-equal-rounded", ["packages/fixtures/xml/advanced-processing-reference.xml"], ["packages/core/src/processing-equality.test.ts"]),
|
|
196
|
+
notes: "Defaults rounding-mode to significantFigures and resolves integer-or-variable-reference figures at evaluation time, preserving both through serialization.",
|
|
197
|
+
},
|
|
162
198
|
mappingProcessingEntry("qti-field-value"),
|
|
163
199
|
operatorProcessingEntry("qti-lt"),
|
|
164
200
|
operatorProcessingEntry("qti-lte"),
|
|
@@ -166,7 +202,11 @@ export const processingSupport = [
|
|
|
166
202
|
operatorProcessingEntry("qti-gte"),
|
|
167
203
|
operatorProcessingEntry("qti-string-match"),
|
|
168
204
|
operatorProcessingEntry("qti-substring"),
|
|
169
|
-
|
|
205
|
+
{
|
|
206
|
+
...operatorProcessingEntry("qti-pattern-match"),
|
|
207
|
+
tests: [processingOperatorsTest, "packages/core/src/processing-pattern.test.ts"],
|
|
208
|
+
notes: "XML Schema Appendix F whole-string matching, XML name escapes, Unicode categories/blocks and class subtraction; brace-enclosed pattern variables, NULL propagation and explicit syntax/resource diagnostics. No JavaScript-pattern fallback.",
|
|
209
|
+
},
|
|
170
210
|
operatorProcessingEntry("qti-member"),
|
|
171
211
|
operatorProcessingEntry("qti-delete"),
|
|
172
212
|
operatorProcessingEntry("qti-duration-gte"),
|
|
@@ -232,9 +272,10 @@ export const itemMetadataSupport = [
|
|
|
232
272
|
tests: [
|
|
233
273
|
processingResponseTest,
|
|
234
274
|
"packages/core/src/parser-item-metadata.test.ts",
|
|
275
|
+
"packages/core/src/adaptive-turn-materializer.test.ts",
|
|
235
276
|
...browserFeedbackTests,
|
|
236
277
|
],
|
|
237
|
-
notes: "Parsed by parser-item-metadata.ts and validated by validateModalFeedback. Response processing supplies the outcome
|
|
278
|
+
notes: "Parsed by parser-item-metadata.ts and validated by validateModalFeedback. Response processing supplies the scalar/container outcome used for show/hide visibility, including inverse hide conditions, in both player rendering and adaptive candidate XML materialization.",
|
|
238
279
|
},
|
|
239
280
|
{
|
|
240
281
|
qtiName: "qti-companion-materials-info",
|
|
@@ -346,18 +387,25 @@ function entry(qtiName, interactionType) {
|
|
|
346
387
|
process: true,
|
|
347
388
|
fixtures: interactionSupportFixtures(interactionType),
|
|
348
389
|
tests: interactionSupportTests(interactionType),
|
|
390
|
+
notes: ["associate", "graphicAssociate", "match", "gapMatch"].includes(interactionType)
|
|
391
|
+
? interactionType === "associate" || interactionType === "graphicAssociate"
|
|
392
|
+
? "Supports single and multiple unordered pair responses."
|
|
393
|
+
: "Supports single and multiple directedPair responses."
|
|
394
|
+
: interactionType === "graphicGapMatch"
|
|
395
|
+
? "Requires multiple directedPair responses; multiple and repeated placements in one hotspot preserve each association through rendering, removal, scoring, and restoration, subject to source/target match-max and max-associations."
|
|
396
|
+
: undefined,
|
|
349
397
|
};
|
|
350
398
|
}
|
|
351
399
|
function extendedTextInteractionEntry() {
|
|
352
400
|
return {
|
|
353
401
|
...entry("qti-extended-text-interaction", "extendedText"),
|
|
354
|
-
notes: "Supports plain and
|
|
402
|
+
notes: "Supports single, multiple, ordered and numeric record responses; string/integer/float values; min-strings/max-strings; plain, preformatted and string XHTML capture.",
|
|
355
403
|
};
|
|
356
404
|
}
|
|
357
405
|
function textEntryInteractionEntry() {
|
|
358
406
|
return {
|
|
359
407
|
...entry("qti-text-entry-interaction", "textEntry"),
|
|
360
|
-
notes: "Supports placeholder-text and pattern-mask
|
|
408
|
+
notes: "Supports single string/integer/float and numeric record responses, base 2–36, string-identifier, placeholder-text and pattern-mask; text-entry format is plain only.",
|
|
361
409
|
};
|
|
362
410
|
}
|
|
363
411
|
function pciEntry() {
|