@longsightgroup/qti3-core 0.10.6 → 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 +126 -0
- 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/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 +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.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 +32 -0
- 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.map +1 -1
- package/dist/response-validation-policy.js +3 -1
- package/dist/response-validation-policy.js.map +1 -1
- package/dist/response-validation.d.ts.map +1 -1
- package/dist/response-validation.js +2 -1
- package/dist/response-validation.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 +2 -0
- package/dist/support-evidence.js.map +1 -1
- package/dist/support.d.ts.map +1 -1
- package/dist/support.js +64 -23
- package/dist/support.js.map +1 -1
- 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 +8 -3
- package/dist/trusted-item-session.js.map +1 -1
- package/dist/types.d.ts +21 -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-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/diagnostics.ts +29 -0
- package/src/index.ts +9 -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 +34 -0
- 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 +5 -1
- package/src/response-validation.ts +2 -1
- 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 +2 -0
- package/src/support.ts +84 -23
- package/src/trusted-item-session.ts +13 -2
- package/src/types.ts +30 -4
- package/src/validation-declaration-entries.ts +11 -1
- 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/README.md
CHANGED
|
@@ -38,6 +38,20 @@ console.log(result.outcomes);
|
|
|
38
38
|
console.log(result.state);
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
+
`uniqueDiagnostics(diagnostics)` accepts a readonly array and returns the first occurrence
|
|
42
|
+
of each diagnostic in input order, without modifying the input. Identity uses `code`,
|
|
43
|
+
`severity`, `message`, and `path`; absent and empty paths are equivalent. Source locations
|
|
44
|
+
do not distinguish duplicates, so the first object's metadata is retained. Use
|
|
45
|
+
`diagnosticKey(diagnostic)` when grouping diagnostics across reports; treat its result as
|
|
46
|
+
an opaque key. Newlines within fields cannot collide with field boundaries.
|
|
47
|
+
|
|
48
|
+
`scopeDiagnosticToPackagePath(packagePath, diagnostic)` prefixes an item or archive
|
|
49
|
+
path to the diagnostic's location and keeps `path` and `source.path` aligned. It
|
|
50
|
+
uses `path`, falling back to `source.path` when absent, and preserves severity and
|
|
51
|
+
source coordinates. For example, `items/a.xml` plus `/qti-assessment-item` becomes
|
|
52
|
+
`items/a.xml/qti-assessment-item`. The function returns a copy without filtering
|
|
53
|
+
diagnostics or changing the input.
|
|
54
|
+
|
|
41
55
|
### Text responses
|
|
42
56
|
|
|
43
57
|
Text Entry supports single string, integer, and float values, plus numeric records. Extended Text
|
|
@@ -83,6 +97,56 @@ container, so the core conservatively returns `null` for that case.
|
|
|
83
97
|
Persist the returned `qti3.attempt-state.v1` state for resume. Once an attempt exists,
|
|
84
98
|
saved `templateValues` are authoritative; they are restored before generated correct
|
|
85
99
|
responses are derived, so resuming does not depend on the original seed.
|
|
100
|
+
Graphic gap-match restoration preserves repeated placements and incomplete responses,
|
|
101
|
+
but rejects unknown source/target identifiers and responses exceeding `match-max` or
|
|
102
|
+
`max-associations`. It does not trim or move saved pairs to make them fit.
|
|
103
|
+
|
|
104
|
+
### XML Schema patterns
|
|
105
|
+
|
|
106
|
+
`qti-pattern-match` uses XML Schema 1.0 Appendix F syntax and matches the whole string.
|
|
107
|
+
It supports XML name escapes (`\i`, `\c` and their complements), Unicode general categories,
|
|
108
|
+
Unicode blocks (`\p{IsBasicLatin}`), character-class subtraction, groups, alternation,
|
|
109
|
+
and quantifiers. `^` and `$` are literal characters. JavaScript-only constructs such as
|
|
110
|
+
lookaround, backreferences, and lazy quantifiers are authoring errors.
|
|
111
|
+
|
|
112
|
+
Use `pattern="{PATTERN}"` to read a string variable; `pattern="PATTERN"` matches that literal
|
|
113
|
+
text. NULL operands or NULL pattern variables return NULL. Invalid runtime patterns return
|
|
114
|
+
NULL with `processing.pattern.syntax`; no other dialect is used as a fallback.
|
|
115
|
+
|
|
116
|
+
Name escapes use the XML 1.0 Second Edition character productions referenced by Appendix F.
|
|
117
|
+
Unicode categories follow the JavaScript runtime's Unicode database; block ranges use
|
|
118
|
+
Unicode 17.0.0 with the Appendix F legacy names. The bundled Unicode data and its permissive
|
|
119
|
+
license are in `src/xml-schema-regex-data.ts`; no runtime dependency is added.
|
|
120
|
+
|
|
121
|
+
Matching uses memoized position sets, with limits of 16,384 pattern code units, 64 nested
|
|
122
|
+
groups/classes, 100,000 input code units, and 1,000,000 evaluation steps. Finite quantifier
|
|
123
|
+
counts must be safe integers. Exceeding a limit returns `processing.pattern.limit`, never a
|
|
124
|
+
partial boolean result. These limits are resource constraints, not a different regex dialect.
|
|
125
|
+
|
|
126
|
+
### Built-in variables
|
|
127
|
+
|
|
128
|
+
`qti-variable` resolves `completionStatus`, `numAttempts`, and the `QTI_CONTEXT` record
|
|
129
|
+
without declarations. Context contains `candidateIdentifier`, `testIdentifier`, and
|
|
130
|
+
`environmentIdentifier`; pass their string values in `createItemSession` options `context`
|
|
131
|
+
before template processing runs. Unspecified fields are empty strings. Explicit declarations
|
|
132
|
+
of these reserved identifiers are rejected.
|
|
133
|
+
|
|
134
|
+
`beginAttempt()` starts an attempt without a response. Responding or entering the interacting
|
|
135
|
+
state also starts one; repeated edits and suspension/resume keep its count. Each `score()`
|
|
136
|
+
ends the current attempt, and the next starts a new count. Scoring an untouched non-adaptive
|
|
137
|
+
item keeps zero attempts and `not_attempted` completion status.
|
|
138
|
+
|
|
139
|
+
For time-dependent items, `duration` is accumulated **float seconds**. Supply either
|
|
140
|
+
`duration` for a scoring operation or `now: () => performance.now()` for live delivery.
|
|
141
|
+
The clock must return monotonic milliseconds; the engine excludes suspended and completed
|
|
142
|
+
time and truncates expression readings to milliseconds while retaining clock precision in saved state. Missing or invalid time produces NULL and a typed
|
|
143
|
+
diagnostic when duration is read. Non-timed expressions cannot read duration. Server scoring,
|
|
144
|
+
adaptive turns, and submission materialization accept the same inputs in `sessionEnvironment`.
|
|
145
|
+
These values come from the trusted host, not candidate response fields.
|
|
146
|
+
|
|
147
|
+
Saved `builtInVariables` retains the count, open-attempt flag, accumulated duration, and context;
|
|
148
|
+
restoring a timed session starts the supplied clock afresh from the saved duration. Keep this
|
|
149
|
+
record when persisting `qti3.attempt-state.v1`; state validation checks its field types and ranges.
|
|
86
150
|
|
|
87
151
|
### Candidate-safe delivery XML
|
|
88
152
|
|
|
@@ -330,6 +394,38 @@ The registry models authoring-level fields such as `labels-style`, `choices-posi
|
|
|
330
394
|
`media-player-controls`; downstream products should keep UI labels, editor layout, and draft
|
|
331
395
|
property names in their own adapter layer.
|
|
332
396
|
|
|
397
|
+
## Batch import from extracted entries
|
|
398
|
+
|
|
399
|
+
`parseQtiPackageFromEntries(entries, { limits })` imports original or restored
|
|
400
|
+
`{ path, bytes }` entries into the same `QtiPackageParseResult` returned by
|
|
401
|
+
`parseQtiPackage`. It preserves all entry bytes and applies the same manifest,
|
|
402
|
+
assessment-test ordering, item, asset, and diagnostic semantics. No ZIP rebuilding
|
|
403
|
+
or stream-event collection is needed when the entries are already in memory.
|
|
404
|
+
|
|
405
|
+
Both batch parsers return `xmlFiles`, an inventory of `QtiPackageXmlFileSummary`
|
|
406
|
+
objects in entry order. Each summary contains its path, root local name, namespace,
|
|
407
|
+
and XML syntax diagnostics, including unreferenced files. Callers can classify
|
|
408
|
+
those files without parsing their XML again. Errors in unreferenced files remain
|
|
409
|
+
in the inventory; they do not change the selected package graph or its `ok` result.
|
|
410
|
+
No XML trees or source text are retained in this inventory. The streaming parser
|
|
411
|
+
does not scan unreferenced files or return this inventory.
|
|
412
|
+
|
|
413
|
+
The batch entry boundary rejects duplicate or noncanonical paths and enforces
|
|
414
|
+
entry-count, per-entry, and total byte limits before parsing XML. Compression
|
|
415
|
+
ratio limits apply only during ZIP extraction. Check `result.ok` before saving or
|
|
416
|
+
delivering items: parsing can return partial models with error diagnostics.
|
|
417
|
+
|
|
418
|
+
```ts
|
|
419
|
+
import { parseQtiPackageFromEntries } from "@longsightgroup/qti3-core";
|
|
420
|
+
|
|
421
|
+
const result = parseQtiPackageFromEntries(savedEntries);
|
|
422
|
+
if (result.ok) {
|
|
423
|
+
showPackage(result);
|
|
424
|
+
} else {
|
|
425
|
+
showDiagnostics(result.diagnostics);
|
|
426
|
+
}
|
|
427
|
+
```
|
|
428
|
+
|
|
333
429
|
## Incremental package parsing
|
|
334
430
|
|
|
335
431
|
`parseQtiPackageStream(source, limits)` reads an immutable package entry inventory
|
|
@@ -364,3 +460,33 @@ bounded diagnostics remain in memory; item bodies and parsed models do not.
|
|
|
364
460
|
Choose entry and total budgets for the host runtime and enforce archive integrity
|
|
365
461
|
at the host's extraction boundary. The synchronous `parseQtiPackage` API still
|
|
366
462
|
returns a complete in-memory package for callers that need that representation.
|
|
463
|
+
|
|
464
|
+
## ZIP extraction in browsers and other async runtimes
|
|
465
|
+
|
|
466
|
+
`readQtiPackageZipEntriesAsync(bytes, { inflateRaw, limits }, diagnostics)` uses the
|
|
467
|
+
same archive reader as `readQtiPackageZipEntries`. Its inflater returns a promise;
|
|
468
|
+
the existing synchronous API is unchanged. Both readers validate central/local
|
|
469
|
+
headers, canonical paths, duplicate entries, overlapping bodies, and resource
|
|
470
|
+
budgets. Multi-disk archives, ZIP64, encryption, and unsupported compression
|
|
471
|
+
methods produce typed diagnostics. CRC checks are not currently performed.
|
|
472
|
+
|
|
473
|
+
The host inflater must enforce `context.maxOutputLength` **during** expansion.
|
|
474
|
+
The browser example uses a bounded `DecompressionStream` reader and cancels it
|
|
475
|
+
when output exceeds that budget. Entries returned by either reader are
|
|
476
|
+
provisional: reject the archive when `diagnostics` contains an error, even when
|
|
477
|
+
some entries were extracted. Limits must be positive safe integers; `Infinity`
|
|
478
|
+
explicitly disables a budget and should be reserved for trusted input.
|
|
479
|
+
|
|
480
|
+
`isQtiItemResource(type)` classifies manifest item resource types. Package content
|
|
481
|
+
uses `isResolvableAssetUrl` for relative references; external URLs and fragments
|
|
482
|
+
are not package inventory entries. Root-absolute content paths such as `/media/a.png`
|
|
483
|
+
produce `package.path.absolute` instead of being rebased beneath an item's directory.
|
|
484
|
+
|
|
485
|
+
`parseQtiXml` retains authored top-level child names and locations in
|
|
486
|
+
`item.sourceChildren`. `validateAssessmentItem` uses that source metadata to check
|
|
487
|
+
the QTI 3.0.1 assessment-item sequence and reject unsupported direct children with
|
|
488
|
+
`assessmentItem.child.order` and `assessmentItem.child.unsupported` diagnostics.
|
|
489
|
+
These checks apply to ordinary item parsing, package import, CLI inspection, and
|
|
490
|
+
fixture validation. Programmatically created items without source metadata have
|
|
491
|
+
no authored XML order to check. This is an explicit structural check, not runtime
|
|
492
|
+
XSD validation.
|
|
@@ -22,16 +22,15 @@ export function materializeAdaptiveCandidateView(input) {
|
|
|
22
22
|
return redactDeliveryXml(templateMaterialization.xml, policy);
|
|
23
23
|
}
|
|
24
24
|
function shouldPreserveFeedback(node, outcomes) {
|
|
25
|
-
if (node.attributes["show-hide"] === "hide")
|
|
26
|
-
return false;
|
|
27
25
|
const identifier = node.attributes.identifier;
|
|
28
26
|
const outcomeIdentifier = node.attributes["outcome-identifier"];
|
|
29
27
|
if (!identifier || !outcomeIdentifier)
|
|
30
28
|
return false;
|
|
31
29
|
const outcome = outcomes[outcomeIdentifier] ?? null;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
const matches = Array.isArray(outcome)
|
|
31
|
+
? outcome.includes(identifier)
|
|
32
|
+
: qtiValueToString(outcome) === identifier;
|
|
33
|
+
return node.attributes["show-hide"] === "hide" ? !matches : matches;
|
|
35
34
|
}
|
|
36
35
|
function isFeedbackElement(normalizedName) {
|
|
37
36
|
return FEEDBACK_ELEMENT_NAMES.has(normalizedName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adaptive-turn-materializer.js","sourceRoot":"","sources":["../src/adaptive-turn-materializer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uCAAuC,EACvC,kBAAkB,EAClB,yBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,GAIlB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,+BAA+B,EAAE,MAAM,yCAAyC,CAAC;AAE1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGrD,MAAM,iCAAiC,GAAG,IAAI,GAAG,CAAC,CAAC,qBAAqB,EAAE,sBAAsB,CAAC,CAAC,CAAC;AAEnG,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAgBhG,MAAM,UAAU,gCAAgC,CAC9C,KAA+C;IAE/C,MAAM,MAAM,GAAG,6BAA6B,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,uBAAuB,GAAG,+BAA+B,CAAC,KAAK,CAAC,OAAO,EAAE;QAC7E,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,EAAE;QAC1C,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC,CAAC;IACH,IAAI,CAAC,uBAAuB,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;QAC7E,MAAM,WAAW,GAAG,CAAC,GAAG,uBAAuB,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QACtF,OAAO;YACL,EAAE,EAAE,KAAK;YACT,WAAW;YACX,QAAQ;SACT,CAAC;IACJ,CAAC;IACD,OAAO,iBAAiB,CAAC,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAa,EAAE,QAAkC;IAC/E,
|
|
1
|
+
{"version":3,"file":"adaptive-turn-materializer.js","sourceRoot":"","sources":["../src/adaptive-turn-materializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adaptive-turn.d.ts","sourceRoot":"","sources":["../src/adaptive-turn.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAGL,KAAK,+BAA+B,EACpC,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EAClC,KAAK,8BAA8B,EACpC,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,4BAA4B,GAAG,uBAAuB,CAAC;AAEnE,MAAM,WAAW,oBACf,SAAQ,0BAA0B,EAAE,6BAA6B;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,4BAA6B,SAAQ,oBAAoB;IACxE,UAAU,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAChD,gBAAgB,EAAE,+BAA+B,CAAC;IAClD,oBAAoB,CAAC,EAAE,8BAA8B,GAAG,SAAS,CAAC;IAClE,wBAAwB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChD;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,OAAO,CAAC;IACZ,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACnC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,gBAAgB,EAAE,QAAQ,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,oBAAoB,GAAG,qBAAqB,CAE7F;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,4BAA4B,GAClC,qBAAqB,
|
|
1
|
+
{"version":3,"file":"adaptive-turn.d.ts","sourceRoot":"","sources":["../src/adaptive-turn.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAGL,KAAK,+BAA+B,EACpC,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EAClC,KAAK,8BAA8B,EACpC,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,4BAA4B,GAAG,uBAAuB,CAAC;AAEnE,MAAM,WAAW,oBACf,SAAQ,0BAA0B,EAAE,6BAA6B;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,4BAA6B,SAAQ,oBAAoB;IACxE,UAAU,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAChD,gBAAgB,EAAE,+BAA+B,CAAC;IAClD,oBAAoB,CAAC,EAAE,8BAA8B,GAAG,SAAS,CAAC;IAClE,wBAAwB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChD;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,OAAO,CAAC;IACZ,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACnC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,gBAAgB,EAAE,QAAQ,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,oBAAoB,GAAG,qBAAqB,CAE7F;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,4BAA4B,GAClC,qBAAqB,CAkEvB"}
|
package/dist/adaptive-turn.js
CHANGED
|
@@ -14,6 +14,7 @@ export function runTrustedAdaptiveItemTurn(input) {
|
|
|
14
14
|
parsedItem: input.parsedItem,
|
|
15
15
|
diagnosticPrefix,
|
|
16
16
|
allowedUndeclaredResponseIdentifiers: input.allowedUndeclaredResponseIdentifiers,
|
|
17
|
+
sessionEnvironment: input.sessionEnvironment,
|
|
17
18
|
priorState: priorStateResult.state,
|
|
18
19
|
submission: {
|
|
19
20
|
trustedResponses: input.trustedResponses,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adaptive-turn.js","sourceRoot":"","sources":["../src/adaptive-turn.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adaptive-turn.js","sourceRoot":"","sources":["../src/adaptive-turn.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attempt-state.d.ts","sourceRoot":"","sources":["../src/attempt-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAGjB,WAAW,EAKZ,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"attempt-state.d.ts","sourceRoot":"","sources":["../src/attempt-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAGjB,WAAW,EAKZ,MAAM,YAAY,CAAC;AAcpB,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAE9E;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,iBAAiB,CAG1F;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,WAAW,EACrB,UAAU,EAAE,iBAAiB,GAAG,SAAS,GACxC,IAAI,CA2DN"}
|
package/dist/attempt-state.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { ATTEMPT_STATE_SCHEMA, COMPLETION_COMPLETED, COMPLETION_NOT_ATTEMPTED, COMPLETION_STATUS, COMPLETION_UNKNOWN, } from "./attempt-state-constants.js";
|
|
2
2
|
import { isQtiPortableCustomStateValue, isQtiValue, qtiValueToString } from "./value-format.js";
|
|
3
|
-
import { isRecordValue } from "./
|
|
3
|
+
import { isRecordValue } from "./value-guards.js";
|
|
4
4
|
import { parseQtiSliderDefinition, parseQtiSliderValue } from "./slider-definition.js";
|
|
5
5
|
import { qtiScalarMatchesBaseType } from "./validation-primitives.js";
|
|
6
|
+
import { validateQtiResponseVariables } from "./response-validation.js";
|
|
6
7
|
export function isQtiAttemptStateV1(value) {
|
|
7
8
|
return attemptStateErrors(value).length === 0;
|
|
8
9
|
}
|
|
@@ -41,6 +42,7 @@ export function assertCompatiblePriorState(document, priorState) {
|
|
|
41
42
|
assertRestoredValueMatchesDeclaration("response", declaration, priorState.responses);
|
|
42
43
|
}
|
|
43
44
|
assertRestoredSliderResponses(document, priorState.responses);
|
|
45
|
+
assertRestoredGraphicGapResponses(document, priorState.responses);
|
|
44
46
|
for (const declaration of document.item.outcomeDeclarations) {
|
|
45
47
|
assertRestoredValueMatchesDeclaration("outcome", declaration, priorState.outcomes);
|
|
46
48
|
}
|
|
@@ -56,6 +58,27 @@ export function assertCompatiblePriorState(document, priorState) {
|
|
|
56
58
|
throw new Error(`Cannot restore unsupported completionStatus ${qtiValueToString(completionStatus)}.`);
|
|
57
59
|
}
|
|
58
60
|
}
|
|
61
|
+
function assertRestoredGraphicGapResponses(document, responses) {
|
|
62
|
+
const responseIdentifiers = document.item.interactions.flatMap((interaction) => interaction.type === "graphicGapMatch" && interaction.responseIdentifier
|
|
63
|
+
? [interaction.responseIdentifier]
|
|
64
|
+
: []);
|
|
65
|
+
if (responseIdentifiers.length === 0)
|
|
66
|
+
return;
|
|
67
|
+
// Restore may resume an incomplete attempt, but cannot invent placements outside
|
|
68
|
+
// the authored domain or silently discard pairs to fit the interaction limits.
|
|
69
|
+
const result = validateQtiResponseVariables({
|
|
70
|
+
item: document.item,
|
|
71
|
+
responses,
|
|
72
|
+
responseIdentifiers,
|
|
73
|
+
allowIncompleteResponses: true,
|
|
74
|
+
});
|
|
75
|
+
const failure = result.diagnostics.find((diagnostic) => diagnostic.severity === "error");
|
|
76
|
+
if (failure) {
|
|
77
|
+
// Preserve the existing session-constructor assertion contract; player and
|
|
78
|
+
// trusted delivery boundaries translate this failure into typed diagnostics.
|
|
79
|
+
throw new Error(`Cannot restore response ${failure.identifier}: ${failure.message}`);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
59
82
|
function assertRestoredSliderResponses(document, responses) {
|
|
60
83
|
for (const interaction of document.item.interactions) {
|
|
61
84
|
if (interaction.type !== "slider" || !interaction.responseIdentifier)
|
|
@@ -145,6 +168,23 @@ function attemptStateErrors(value) {
|
|
|
145
168
|
if (!isQtiValueRecord(value.outcomes)) {
|
|
146
169
|
errors.push("QTI attempt state outcomes must be a record of QTI values.");
|
|
147
170
|
}
|
|
171
|
+
if (value.builtInVariables !== undefined) {
|
|
172
|
+
const builtIns = value.builtInVariables;
|
|
173
|
+
if (!isRecord(builtIns) ||
|
|
174
|
+
typeof builtIns.numAttempts !== "number" ||
|
|
175
|
+
!Number.isSafeInteger(builtIns.numAttempts) ||
|
|
176
|
+
builtIns.numAttempts < 0 ||
|
|
177
|
+
typeof builtIns.attemptInProgress !== "boolean" ||
|
|
178
|
+
(builtIns.attemptInProgress && builtIns.numAttempts === 0) ||
|
|
179
|
+
!(builtIns.duration === null ||
|
|
180
|
+
(typeof builtIns.duration === "number" &&
|
|
181
|
+
Number.isFinite(builtIns.duration) &&
|
|
182
|
+
builtIns.duration >= 0)) ||
|
|
183
|
+
!isRecord(builtIns.context) ||
|
|
184
|
+
!["candidateIdentifier", "testIdentifier", "environmentIdentifier"].every((key) => isRecord(builtIns.context) && typeof builtIns.context[key] === "string")) {
|
|
185
|
+
errors.push("QTI attempt state builtInVariables requires a non-negative integer attempt count, attempt flag, finite non-negative duration or null, and three string context fields.");
|
|
186
|
+
}
|
|
187
|
+
}
|
|
148
188
|
if (value.templateValues !== undefined && !isQtiValueRecord(value.templateValues)) {
|
|
149
189
|
errors.push("QTI attempt state templateValues must be a record of QTI values.");
|
|
150
190
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attempt-state.js","sourceRoot":"","sources":["../src/attempt-state.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,6BAA6B,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAChG,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"attempt-state.js","sourceRoot":"","sources":["../src/attempt-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { QtiDiagnostic } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Return a new array containing the first diagnostic for each diagnosticKey, in input order.
|
|
4
|
+
* Source locations do not distinguish duplicates; the first object's metadata is retained.
|
|
5
|
+
* The input array and diagnostic objects are not modified or cloned.
|
|
6
|
+
*/
|
|
7
|
+
export declare function uniqueDiagnostics(diagnostics: readonly QtiDiagnostic[]): QtiDiagnostic[];
|
|
8
|
+
/**
|
|
9
|
+
* Identify a diagnostic by code, severity, message, and path, excluding source location.
|
|
10
|
+
* Absent and empty paths are equivalent. Treat the returned string as an opaque key.
|
|
11
|
+
*/
|
|
12
|
+
export declare function diagnosticKey(diagnostic: QtiDiagnostic): string;
|
|
13
|
+
//# sourceMappingURL=diagnostics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,SAAS,aAAa,EAAE,GAAG,aAAa,EAAE,CAQxF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,aAAa,GAAG,MAAM,CAO/D"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Return a new array containing the first diagnostic for each diagnosticKey, in input order.
|
|
3
|
+
* Source locations do not distinguish duplicates; the first object's metadata is retained.
|
|
4
|
+
* The input array and diagnostic objects are not modified or cloned.
|
|
5
|
+
*/
|
|
6
|
+
export function uniqueDiagnostics(diagnostics) {
|
|
7
|
+
const seen = new Set();
|
|
8
|
+
return diagnostics.filter((diagnostic) => {
|
|
9
|
+
const key = diagnosticKey(diagnostic);
|
|
10
|
+
if (seen.has(key))
|
|
11
|
+
return false;
|
|
12
|
+
seen.add(key);
|
|
13
|
+
return true;
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Identify a diagnostic by code, severity, message, and path, excluding source location.
|
|
18
|
+
* Absent and empty paths are equivalent. Treat the returned string as an opaque key.
|
|
19
|
+
*/
|
|
20
|
+
export function diagnosticKey(diagnostic) {
|
|
21
|
+
return JSON.stringify([
|
|
22
|
+
diagnostic.code,
|
|
23
|
+
diagnostic.severity,
|
|
24
|
+
diagnostic.message,
|
|
25
|
+
diagnostic.path ?? "",
|
|
26
|
+
]);
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=diagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAqC;IACrE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE;QACvC,MAAM,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,UAAyB;IACrD,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,UAAU,CAAC,IAAI;QACf,UAAU,CAAC,QAAQ;QACnB,UAAU,CAAC,OAAO;QAClB,UAAU,CAAC,IAAI,IAAI,EAAE;KACtB,CAAC,CAAC;AACL,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { processQtiAdaptiveItemTurn, type QtiAdaptiveTurnInput, type QtiAdaptiveTurnResponseInput, type QtiAdaptiveTurnResult, } from "./adaptive-turn.js";
|
|
2
2
|
export { assertNever } from "./assert-never.js";
|
|
3
|
+
export { diagnosticKey, uniqueDiagnostics } from "./diagnostics.js";
|
|
3
4
|
export { createCatalogSupportResolution, type QtiCatalogSupportResolution, type QtiCatalogSupportResolutionOptions, type QtiCatalogSupportSelection, type QtiCatalogSelectionReason, type QtiResolvedCatalogReference, type QtiResolvedCatalogSupport, } from "./catalog.js";
|
|
4
5
|
export { createCompanionMaterialsResolution, type QtiCompanionMaterialsResolution, type QtiCompanionMaterialsResolutionOptions, type QtiResolvedCompanionMaterialUnparsedChild, type QtiResolvedDigitalCompanionMaterial, type QtiResolvedPhysicalCompanionMaterial, } from "./companion-materials-resolution.js";
|
|
5
6
|
export { isResolvableAssetUrl } from "./asset-url.js";
|
|
@@ -8,7 +9,7 @@ export { prepareQtiDeliveryXml, type QtiDeliveryPreparationMode, type QtiDeliver
|
|
|
8
9
|
export { analyzeQtiDeliverySecurity, buildQtiDeliverySafeXml, type QtiDeliverySafeXmlResult, type QtiDeliverySecurityAnalysis, type QtiDeliverySecurityFinding, type QtiDeliverySecurityFindingKind, } from "./delivery-security.js";
|
|
9
10
|
export { compileQtiPatternMask, isValidQtiPatternMask } from "./pattern-mask.js";
|
|
10
11
|
export { parseQtiPackageXmlTree, type QtiPackageXmlNode, type QtiPackageXmlTree, } from "./package-xml.js";
|
|
11
|
-
export { decodeUtf8, DEFAULT_QTI_PACKAGE_RESOURCE_LIMITS, discoverQtiPackageContentAssets, normalizePackagePath, QTI_ITEM_RESOURCE_TYPE, QTI_PACKAGE_MANIFEST_PATH, parseQtiPackage, readQtiPackageZipEntries, type QtiAssessmentSectionPackageModel, type QtiAssessmentTestItemRef, type QtiAssessmentTestPackageModel, type QtiManifestFile, type QtiManifestResource, type QtiPackageAsset, type QtiPackageContentAssetDiscovery, type QtiPackageAssetSource, type QtiPackageEntry, type QtiPackageInflateContext, type QtiPackageInflateRaw, type QtiItemSessionControl, type QtiPackageItem, type QtiPackageItemSource, type QtiPackageParseOptions, type QtiPackageParseResult, type QtiPackageResourceLimits, type QtiPackageShape, type QtiStandardAlignment, type QtiTestPartNavigationMode, type QtiTestPartPackageModel, type QtiTestPartSubmissionMode, type QtiTimeLimits, type QtiTimingMetadata, } from "./qti-package.js";
|
|
12
|
+
export { decodeUtf8, DEFAULT_QTI_PACKAGE_RESOURCE_LIMITS, discoverQtiPackageContentAssets, normalizePackagePath, QTI_ITEM_RESOURCE_TYPE, isQtiItemResource, QTI_PACKAGE_MANIFEST_PATH, parseQtiPackage, parseQtiPackageFromEntries, readQtiPackageZipEntries, readQtiPackageZipEntriesAsync, scopeDiagnosticToPackagePath, type QtiAssessmentSectionPackageModel, type QtiAssessmentTestItemRef, type QtiAssessmentTestPackageModel, type QtiManifestFile, type QtiManifestResource, type QtiPackageAsset, type QtiPackageContentAssetDiscovery, type QtiPackageAssetSource, type QtiPackageEntry, type QtiPackageInflateContext, type QtiPackageInflateRaw, type QtiPackageInflateRawAsync, type QtiPackageZipAsyncOptions, type QtiItemSessionControl, type QtiPackageItem, type QtiPackageItemSource, type QtiPackageParseOptions, type QtiPackageParseResult, type QtiPackageXmlFileSummary, type QtiPackageResourceLimits, type QtiPackageShape, type QtiStandardAlignment, type QtiTestPartNavigationMode, type QtiTestPartPackageModel, type QtiTestPartSubmissionMode, type QtiTimeLimits, type QtiTimingMetadata, } from "./qti-package.js";
|
|
12
13
|
export { detectPackageMediaType } from "./qti-package-assets.js";
|
|
13
14
|
export { parseQtiXml } from "./parser.js";
|
|
14
15
|
export { numericTuple3, numericTuple4, parseXmlBoolean } from "./parser-values.js";
|
|
@@ -24,7 +25,7 @@ export { associationMaximumResponses, choiceMatchLimitExceeded, choiceMatchMaxim
|
|
|
24
25
|
export { validateQtiResponseVariables, type QtiResponseValidationDiagnostic, type QtiResponseValidationDiagnosticCode, type QtiResponseValidationInput, type QtiResponseValidationResult, type QtiResponseVariableInput, type QtiResponseVariablesInput, } from "./response-validation.js";
|
|
25
26
|
export { serializeResponseProcessing, type QtiSerializeResponseProcessingResult, } from "./serializer-processing.js";
|
|
26
27
|
export { createTextToSpeechTraversal, parseQtiDataSsml, validateQtiDataSsmlMetadata, type QtiDataSsml, type QtiDataSsmlBreak, type QtiDataSsmlBreakStrength, type QtiDataSsmlParseResult, type QtiDataSsmlPhoneme, type QtiDataSsmlProsody, type QtiDataSsmlSayAs, type QtiDataSsmlSub, type QtiTextToSpeechSegment, type QtiTextToSpeechSegmentKind, type QtiTextToSpeechTraversal, } from "./tts.js";
|
|
27
|
-
export { assertQtiAttemptStateV1, createItemSession, isQtiAttemptStateV1, visibleModalFeedback, type QtiCustomOperatorContext, type QtiCustomOperatorHandler, type QtiCustomOperatorRegistry, type QtiItemSession, type QtiItemSessionOptions, } from "./session.js";
|
|
28
|
+
export { assertQtiAttemptStateV1, createItemSession, isQtiAttemptStateV1, visibleModalFeedback, type QtiCustomOperatorContext, type QtiCustomOperatorHandler, type QtiCustomOperatorRegistry, type QtiItemSession, type QtiItemSessionOptions, type QtiSessionEnvironment, } from "./session.js";
|
|
28
29
|
export { deprecatedInteractionSupport, elementSupport, getInteractionSupport, interactionRegistryStatus, interactionNameToType, interactionSupport, itemMetadataSupport, processingSupport, } from "./support.js";
|
|
29
30
|
export { sharedVocabularyClassSupport } from "./shared-vocabulary-support.js";
|
|
30
31
|
export { findSharedVocabularyCoverageViolations, type SharedVocabularyCoverageViolation, } from "./shared-vocabulary-coverage-policy.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { processQtiAdaptiveItemTurn, } from "./adaptive-turn.js";
|
|
2
2
|
export { assertNever } from "./assert-never.js";
|
|
3
|
+
export { diagnosticKey, uniqueDiagnostics } from "./diagnostics.js";
|
|
3
4
|
export { createCatalogSupportResolution, } from "./catalog.js";
|
|
4
5
|
export { createCompanionMaterialsResolution, } from "./companion-materials-resolution.js";
|
|
5
6
|
export { isResolvableAssetUrl } from "./asset-url.js";
|
|
@@ -8,7 +9,7 @@ export { prepareQtiDeliveryXml, } from "./delivery-preparation.js";
|
|
|
8
9
|
export { analyzeQtiDeliverySecurity, buildQtiDeliverySafeXml, } from "./delivery-security.js";
|
|
9
10
|
export { compileQtiPatternMask, isValidQtiPatternMask } from "./pattern-mask.js";
|
|
10
11
|
export { parseQtiPackageXmlTree, } from "./package-xml.js";
|
|
11
|
-
export { decodeUtf8, DEFAULT_QTI_PACKAGE_RESOURCE_LIMITS, discoverQtiPackageContentAssets, normalizePackagePath, QTI_ITEM_RESOURCE_TYPE, QTI_PACKAGE_MANIFEST_PATH, parseQtiPackage, readQtiPackageZipEntries, } from "./qti-package.js";
|
|
12
|
+
export { decodeUtf8, DEFAULT_QTI_PACKAGE_RESOURCE_LIMITS, discoverQtiPackageContentAssets, normalizePackagePath, QTI_ITEM_RESOURCE_TYPE, isQtiItemResource, QTI_PACKAGE_MANIFEST_PATH, parseQtiPackage, parseQtiPackageFromEntries, readQtiPackageZipEntries, readQtiPackageZipEntriesAsync, scopeDiagnosticToPackagePath, } from "./qti-package.js";
|
|
12
13
|
export { detectPackageMediaType } from "./qti-package-assets.js";
|
|
13
14
|
export { parseQtiXml } from "./parser.js";
|
|
14
15
|
export { numericTuple3, numericTuple4, parseXmlBoolean } from "./parser-values.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,GAI3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,8BAA8B,GAO/B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,kCAAkC,GAMnC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EACL,4BAA4B,GAM7B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,qBAAqB,GAItB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,GAKxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EACL,sBAAsB,GAGvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,UAAU,EACV,mCAAmC,EACnC,+BAA+B,EAC/B,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,EACzB,eAAe,EACf,wBAAwB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,GAI3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EACL,8BAA8B,GAO/B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,kCAAkC,GAMnC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EACL,4BAA4B,GAM7B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,qBAAqB,GAItB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,GAKxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EACL,sBAAsB,GAGvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,UAAU,EACV,mCAAmC,EACnC,+BAA+B,EAC/B,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,yBAAyB,EACzB,eAAe,EACf,0BAA0B,EAC1B,wBAAwB,EACxB,6BAA6B,EAC7B,4BAA4B,GA4B7B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,mCAAmC,GAMpC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,kBAAkB,GAOnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,uCAAuC,EAAE,MAAM,uCAAuC,CAAC;AAChG,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EACL,sBAAsB,GAIvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EACxB,kBAAkB,EAClB,0BAA0B,EAC1B,mBAAmB,EACnB,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,cAAc,EACd,iBAAiB,EACjB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,0BAA0B,EAC1B,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,wBAAwB,EACxB,6BAA6B,GAG9B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,4BAA4B,GAO7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,2BAA2B,GAE5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,2BAA2B,EAC3B,gBAAgB,EAChB,2BAA2B,GAY5B,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,GAOrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,4BAA4B,EAC5B,cAAc,EACd,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EACL,sCAAsC,GAEvC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,kCAAkC,EAClC,qCAAqC,EACrC,iCAAiC,EACjC,eAAe,EACf,mBAAmB,EACnB,+BAA+B,EAC/B,4BAA4B,EAC5B,mCAAmC,EACnC,mCAAmC,EACnC,kCAAkC,EAClC,yBAAyB,EACzB,oCAAoC,EACpC,8BAA8B,EAC9B,iCAAiC,GAMlC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,+CAA+C,EAC/C,qCAAqC,EACrC,6CAA6C,EAC7C,oCAAoC,EACpC,qDAAqD,GACtD,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,4BAA4B,EAC5B,6CAA6C,EAC7C,oCAAoC,EACpC,wCAAwC,EACxC,0CAA0C,EAC1C,8CAA8C,EAC9C,iCAAiC,EACjC,uCAAuC,EACvC,uCAAuC,EACvC,0CAA0C,EAC1C,qCAAqC,EACrC,sCAAsC,GACvC,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,+BAA+B,GAEhC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,2BAA2B,EAC3B,yCAAyC,EACzC,wBAAwB,EACxB,sCAAsC,EACtC,yBAAyB,EACzB,wCAAwC,EACxC,uBAAuB,EACvB,qCAAqC,EACrC,kCAAkC,EAClC,yCAAyC,EACzC,6CAA6C,EAC7C,mCAAmC,EACnC,gCAAgC,EAChC,wCAAwC,EACxC,2BAA2B,EAC3B,uCAAuC,EACvC,2CAA2C,EAC3C,wBAAwB,EACxB,8BAA8B,EAC9B,mCAAmC,EACnC,yBAAyB,EACzB,mCAAmC,EACnC,kCAAkC,EAClC,+CAA+C,EAC/C,4CAA4C,EAC5C,kCAAkC,EAClC,8BAA8B,EAC9B,8BAA8B,EAC9B,gCAAgC,EAChC,uCAAuC,EACvC,8BAA8B,EAC9B,iCAAiC,EACjC,0BAA0B,EAC1B,sCAAsC,EACtC,0CAA0C,EAC1C,gCAAgC,EAChC,6BAA6B,EAC7B,oCAAoC,GAIrC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAqEzD,OAAO,EACL,6BAA6B,EAC7B,UAAU,EACV,iBAAiB,EACjB,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,+BAA+B,EAC/B,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,qBAAqB,GAKtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-submission-materialization.d.ts","sourceRoot":"","sources":["../src/item-submission-materialization.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,iCAAiC,CAAC;AAK3F,OAAO,EAKL,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EACnC,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,MAAM,MAAM,8BAA8B,GAAG,uBAAuB,CAAC;AACrE,YAAY,EAAE,mCAAmC,EAAE,MAAM,iCAAiC,CAAC;AAC3F,YAAY,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,MAAM,WAAW,qCACf,SAAQ,0BAA0B,EAAE,6BAA6B;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wBAAwB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChD;AAED,MAAM,WAAW,sCAAsC;IACrD,EAAE,EAAE,OAAO,CAAC;IACZ,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACtC,iBAAiB,EAAE,mBAAmB,EAAE,CAAC;IACzC,gBAAgB,EAAE,mBAAmB,EAAE,CAAC;IACxC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,kBAAkB,EAAE,mCAAmC,CAAC;IACxD,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAED,6FAA6F;AAC7F,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,qCAAqC,GAC3C,sCAAsC,
|
|
1
|
+
{"version":3,"file":"item-submission-materialization.d.ts","sourceRoot":"","sources":["../src/item-submission-materialization.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,iCAAiC,CAAC;AAK3F,OAAO,EAKL,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EACnC,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,MAAM,MAAM,8BAA8B,GAAG,uBAAuB,CAAC;AACrE,YAAY,EAAE,mCAAmC,EAAE,MAAM,iCAAiC,CAAC;AAC3F,YAAY,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,MAAM,WAAW,qCACf,SAAQ,0BAA0B,EAAE,6BAA6B;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wBAAwB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChD;AAED,MAAM,WAAW,sCAAsC;IACrD,EAAE,EAAE,OAAO,CAAC;IACZ,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACtC,iBAAiB,EAAE,mBAAmB,EAAE,CAAC;IACzC,gBAAgB,EAAE,mBAAmB,EAAE,CAAC;IACxC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,kBAAkB,EAAE,mCAAmC,CAAC;IACxD,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAED,6FAA6F;AAC7F,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,qCAAqC,GAC3C,sCAAsC,CA+CxC"}
|
|
@@ -20,6 +20,7 @@ export function materializeQtiItemSubmission(input) {
|
|
|
20
20
|
parsedItem: parsedResult.parsed,
|
|
21
21
|
diagnosticPrefix: "itemSubmission",
|
|
22
22
|
allowedUndeclaredResponseIdentifiers: input.allowedUndeclaredResponseIdentifiers,
|
|
23
|
+
sessionEnvironment: input.sessionEnvironment,
|
|
23
24
|
priorState: priorState.state,
|
|
24
25
|
submission: {
|
|
25
26
|
trustedResponses: input.trustedResponses,
|
|
@@ -47,6 +48,7 @@ function materializeAdaptiveSubmission(input, parsedItem) {
|
|
|
47
48
|
parsedItem,
|
|
48
49
|
diagnosticPrefix: "itemSubmission",
|
|
49
50
|
allowedUndeclaredResponseIdentifiers: input.allowedUndeclaredResponseIdentifiers,
|
|
51
|
+
sessionEnvironment: input.sessionEnvironment,
|
|
50
52
|
priorState: input.existingState,
|
|
51
53
|
trustedResponses: input.trustedResponses,
|
|
52
54
|
trustedInteractionStates: input.trustedInteractionStates,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-submission-materialization.js","sourceRoot":"","sources":["../src/item-submission-materialization.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"item-submission-materialization.js","sourceRoot":"","sources":["../src/item-submission-materialization.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser-processing.d.ts","sourceRoot":"","sources":["../src/parser-processing.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parser-processing.d.ts","sourceRoot":"","sources":["../src/parser-processing.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAIV,qBAAqB,EAGrB,qBAAqB,EAEtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAA8B,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AAEpE,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,OAAO,GAAG,SAAS,GACxB,qBAAqB,GAAG,SAAS,CAYnC;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,OAAO,GAAG,SAAS,GACxB,qBAAqB,GAAG,SAAS,CAKnC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { coerceValue, parseCoords, parseShape, parseXmlBoolean } from "./parser-values.js";
|
|
1
|
+
import { coerceValue, parseCoords, parseInteger, parseShape, parseXmlBoolean, } from "./parser-values.js";
|
|
2
2
|
import { responseConditionsFromRules } from "./processing-rules.js";
|
|
3
3
|
import { childElements, textContent } from "./xml.js";
|
|
4
4
|
export function parseResponseProcessing(node) {
|
|
@@ -187,12 +187,8 @@ function parseExpression(node) {
|
|
|
187
187
|
return { type: "null", source: node.source };
|
|
188
188
|
}
|
|
189
189
|
if (node.localName === "qti-is-null") {
|
|
190
|
-
const
|
|
191
|
-
return {
|
|
192
|
-
type: "isNull",
|
|
193
|
-
identifier: variable?.attributes.identifier ?? "",
|
|
194
|
-
source: node.source,
|
|
195
|
-
};
|
|
190
|
+
const expression = parseFirstExpression(node);
|
|
191
|
+
return expression ? { type: "isNull", expression, source: node.source } : undefined;
|
|
196
192
|
}
|
|
197
193
|
if (node.localName === "qti-map-response") {
|
|
198
194
|
return {
|
|
@@ -245,14 +241,8 @@ function parseExpression(node) {
|
|
|
245
241
|
};
|
|
246
242
|
}
|
|
247
243
|
if (node.localName === "qti-random") {
|
|
248
|
-
const
|
|
249
|
-
return {
|
|
250
|
-
type: "random",
|
|
251
|
-
values: childElements(multiple ?? node)
|
|
252
|
-
.map(parseExpression)
|
|
253
|
-
.filter((expression) => expression !== undefined),
|
|
254
|
-
source: node.source,
|
|
255
|
-
};
|
|
244
|
+
const expression = parseFirstExpression(node);
|
|
245
|
+
return expression ? { type: "random", expression, source: node.source } : undefined;
|
|
256
246
|
}
|
|
257
247
|
if (node.localName === "qti-multiple") {
|
|
258
248
|
return {
|
|
@@ -424,14 +414,14 @@ function parseExpression(node) {
|
|
|
424
414
|
.map(parseExpression)
|
|
425
415
|
.filter((expression) => expression !== undefined);
|
|
426
416
|
if (left && right)
|
|
427
|
-
return { type: "equal", left, right, source: node.source };
|
|
417
|
+
return { type: "equal", left, right, attributes: node.attributes, source: node.source };
|
|
428
418
|
}
|
|
429
419
|
if (node.localName === "qti-equal-rounded") {
|
|
430
420
|
const [left, right] = childElements(node)
|
|
431
421
|
.map(parseExpression)
|
|
432
422
|
.filter((expression) => expression !== undefined);
|
|
433
|
-
const roundingMode = node.attributes["rounding-mode"] ?? "";
|
|
434
|
-
const figures =
|
|
423
|
+
const roundingMode = node.attributes["rounding-mode"] ?? "significantFigures";
|
|
424
|
+
const figures = parseInteger(node.attributes.figures) ?? node.attributes.figures ?? "";
|
|
435
425
|
if (left && right) {
|
|
436
426
|
return { type: "equalRounded", left, right, roundingMode, figures, source: node.source };
|
|
437
427
|
}
|