@longsightgroup/qti3-core 0.10.4 → 0.10.6

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.
Files changed (89) hide show
  1. package/README.md +62 -4
  2. package/dist/catalog.d.ts +8 -0
  3. package/dist/catalog.d.ts.map +1 -1
  4. package/dist/catalog.js +10 -0
  5. package/dist/catalog.js.map +1 -1
  6. package/dist/index.d.ts +3 -1
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +2 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/item-scoring-expectation.d.ts +2 -0
  11. package/dist/item-scoring-expectation.d.ts.map +1 -1
  12. package/dist/item-scoring-expectation.js +8 -0
  13. package/dist/item-scoring-expectation.js.map +1 -1
  14. package/dist/parser.js +4 -6
  15. package/dist/parser.js.map +1 -1
  16. package/dist/qti-package-assets.d.ts +3 -2
  17. package/dist/qti-package-assets.d.ts.map +1 -1
  18. package/dist/qti-package-assets.js.map +1 -1
  19. package/dist/qti-package-items.d.ts +1 -0
  20. package/dist/qti-package-items.d.ts.map +1 -1
  21. package/dist/qti-package-items.js +36 -32
  22. package/dist/qti-package-items.js.map +1 -1
  23. package/dist/qti-package-manifest.d.ts +3 -2
  24. package/dist/qti-package-manifest.d.ts.map +1 -1
  25. package/dist/qti-package-manifest.js.map +1 -1
  26. package/dist/qti-package-metadata.d.ts +3 -2
  27. package/dist/qti-package-metadata.d.ts.map +1 -1
  28. package/dist/qti-package-metadata.js +5 -2
  29. package/dist/qti-package-metadata.js.map +1 -1
  30. package/dist/qti-package-plan.d.ts +41 -0
  31. package/dist/qti-package-plan.d.ts.map +1 -0
  32. package/dist/qti-package-plan.js +85 -0
  33. package/dist/qti-package-plan.js.map +1 -0
  34. package/dist/qti-package-stream.d.ts +38 -0
  35. package/dist/qti-package-stream.d.ts.map +1 -0
  36. package/dist/qti-package-stream.js +149 -0
  37. package/dist/qti-package-stream.js.map +1 -0
  38. package/dist/qti-package.d.ts.map +1 -1
  39. package/dist/qti-package.js +21 -51
  40. package/dist/qti-package.js.map +1 -1
  41. package/dist/response-validation-policy.d.ts +3 -1
  42. package/dist/response-validation-policy.d.ts.map +1 -1
  43. package/dist/response-validation-policy.js +63 -5
  44. package/dist/response-validation-policy.js.map +1 -1
  45. package/dist/response-validation.d.ts +3 -1
  46. package/dist/response-validation.d.ts.map +1 -1
  47. package/dist/response-validation.js +30 -9
  48. package/dist/response-validation.js.map +1 -1
  49. package/dist/scoring-disposition-policy.d.ts.map +1 -1
  50. package/dist/scoring-disposition-policy.js +6 -2
  51. package/dist/scoring-disposition-policy.js.map +1 -1
  52. package/dist/support-evidence.d.ts.map +1 -1
  53. package/dist/support-evidence.js +14 -3
  54. package/dist/support-evidence.js.map +1 -1
  55. package/dist/support.js +9 -2
  56. package/dist/support.js.map +1 -1
  57. package/dist/text-response.d.ts +9 -0
  58. package/dist/text-response.d.ts.map +1 -0
  59. package/dist/text-response.js +102 -0
  60. package/dist/text-response.js.map +1 -0
  61. package/dist/trusted-item-session.d.ts.map +1 -1
  62. package/dist/trusted-item-session.js +4 -3
  63. package/dist/trusted-item-session.js.map +1 -1
  64. package/dist/types.d.ts +2 -0
  65. package/dist/types.d.ts.map +1 -1
  66. package/dist/validation-interactions.d.ts.map +1 -1
  67. package/dist/validation-interactions.js +102 -12
  68. package/dist/validation-interactions.js.map +1 -1
  69. package/package.json +1 -1
  70. package/src/catalog.ts +29 -0
  71. package/src/index.ts +15 -0
  72. package/src/item-scoring-expectation.ts +8 -0
  73. package/src/parser.ts +4 -6
  74. package/src/qti-package-assets.ts +3 -4
  75. package/src/qti-package-items.ts +50 -40
  76. package/src/qti-package-manifest.ts +2 -3
  77. package/src/qti-package-metadata.ts +16 -4
  78. package/src/qti-package-plan.ts +168 -0
  79. package/src/qti-package-stream.ts +254 -0
  80. package/src/qti-package.ts +27 -87
  81. package/src/response-validation-policy.ts +71 -3
  82. package/src/response-validation.ts +49 -4
  83. package/src/scoring-disposition-policy.ts +7 -2
  84. package/src/support-evidence.ts +14 -3
  85. package/src/support.ts +11 -2
  86. package/src/text-response.ts +106 -0
  87. package/src/trusted-item-session.ts +4 -3
  88. package/src/types.ts +2 -0
  89. package/src/validation-interactions.ts +139 -14
@@ -1,10 +1,8 @@
1
1
  import { pushPackageDiagnostic } from "./qti-package-paths.js";
2
- import { collectPackageAssets } from "./qti-package-assets.js";
3
- import { detectPackageShape, diagnoseManifestDependencyReferences, diagnosePrimaryResourceHrefs, indexManifestResources, isQtiAssessmentTestResource, isQtiItemResource, parseManifestResources, QTI_PACKAGE_MANIFEST_PATH, } from "./qti-package-manifest.js";
2
+ import { QTI_PACKAGE_MANIFEST_PATH } from "./qti-package-manifest.js";
3
+ import { buildPackageSummary, inspectPackageManifest } from "./qti-package-plan.js";
4
4
  import { itemReferencesForPackageShape, parseAssessmentTestPackageModel, parsePackageItems, } from "./qti-package-items.js";
5
- import { packageTitle, parseStandardAlignments, primaryTiming, uniqueStandards, } from "./qti-package-metadata.js";
6
- import { QTI_PACKAGE_MANIFEST_NAMESPACE } from "./qti-namespaces.js";
7
- import { parseXmlFiles, pushXmlDiagnostics } from "./qti-package-xml.js";
5
+ import { parseXmlFiles } from "./qti-package-xml.js";
8
6
  import { DEFAULT_QTI_PACKAGE_RESOURCE_LIMITS, decodeUtf8, readQtiPackageZipEntries, } from "./qti-package-zip.js";
9
7
  export { DEFAULT_QTI_PACKAGE_RESOURCE_LIMITS, decodeUtf8, readQtiPackageZipEntries };
10
8
  export { discoverQtiPackageContentAssets } from "./qti-package-assets.js";
@@ -19,58 +17,30 @@ export function parseQtiPackage(bytes, options = {}) {
19
17
  function parseQtiPackageEntries(entries, options, diagnostics) {
20
18
  const entriesByPath = indexEntries(entries, diagnostics);
21
19
  const xmlFilesByPath = parseXmlFiles(entriesByPath);
22
- const manifestXml = xmlFilesByPath.get(QTI_PACKAGE_MANIFEST_PATH);
23
- if (!manifestXml) {
24
- pushPackageDiagnostic(diagnostics, "package.manifest.missing", "error", "QTI package does not contain imsmanifest.xml.", QTI_PACKAGE_MANIFEST_PATH);
25
- }
26
- else {
27
- pushXmlDiagnostics(manifestXml, diagnostics);
28
- }
29
- const manifestRoot = manifestXml?.root?.localName === "manifest" &&
30
- manifestXml.root.uri === QTI_PACKAGE_MANIFEST_NAMESPACE
31
- ? manifestXml.root
32
- : undefined;
33
- if (manifestXml?.root && !manifestRoot) {
34
- pushPackageDiagnostic(diagnostics, "package.manifest.root", "error", manifestXml.root.localName === "manifest"
35
- ? `Expected imsmanifest.xml manifest in namespace ${QTI_PACKAGE_MANIFEST_NAMESPACE}, found ${manifestXml.root.uri ?? "(none)"}.`
36
- : `Expected imsmanifest.xml root manifest, found ${manifestXml.root.localName}.`, QTI_PACKAGE_MANIFEST_PATH);
37
- }
38
- const manifestResourceRecords = manifestRoot
39
- ? parseManifestResources(manifestRoot, entriesByPath, diagnostics)
40
- : [];
41
- const manifestResources = manifestResourceRecords;
42
- const resourcesByIdentifier = indexManifestResources(manifestResourceRecords, diagnostics);
43
- diagnoseManifestDependencyReferences(manifestResourceRecords, resourcesByIdentifier, diagnostics);
44
- const itemResources = manifestResourceRecords.filter((resource) => isQtiItemResource(resource.type));
45
- const assessmentTestResources = manifestResourceRecords.filter((resource) => isQtiAssessmentTestResource(resource.type));
46
- diagnosePrimaryResourceHrefs([...itemResources, ...assessmentTestResources], diagnostics);
47
- const packageShape = detectPackageShape(itemResources, assessmentTestResources, diagnostics);
20
+ const { manifestRoot, manifestResources, resourcesByIdentifier, itemResources, assessmentTestResources, packageShape, } = inspectPackageManifest(entriesByPath, xmlFilesByPath.get(QTI_PACKAGE_MANIFEST_PATH), diagnostics);
48
21
  const assessmentTest = parseAssessmentTestPackageModel(packageShape, assessmentTestResources, entriesByPath, xmlFilesByPath, diagnostics);
49
22
  const itemReferences = itemReferencesForPackageShape(packageShape, itemResources, assessmentTest, diagnostics);
50
23
  const items = parsePackageItems(itemReferences, entriesByPath, xmlFilesByPath, diagnostics);
51
- const assets = collectPackageAssets(resourcesByIdentifier, assessmentTest, items, entriesByPath, diagnostics);
52
- const manifestStandards = manifestRoot
53
- ? parseStandardAlignments(manifestRoot, QTI_PACKAGE_MANIFEST_PATH)
54
- : [];
55
- const standards = uniqueStandards([
56
- ...manifestStandards,
57
- ...(assessmentTest?.standards ?? []),
58
- ...items.flatMap((item) => item.standards),
59
- ]);
60
- const timing = primaryTiming(assessmentTest, items);
61
- const title = packageTitle(manifestRoot, assessmentTest, items);
62
- return {
63
- ok: diagnostics.every((diagnostic) => diagnostic.severity !== "error"),
64
- title,
65
- entries,
66
- packageShape,
67
- items,
68
- assets,
24
+ const timedItems = items.filter((item) => item.timing !== undefined);
25
+ const { itemCount: _itemCount, ...summary } = buildPackageSummary({
26
+ manifestRoot,
69
27
  manifestResources,
28
+ resourcesByIdentifier,
29
+ packageShape,
70
30
  assessmentTest,
71
- timing,
72
- standards,
31
+ assetItems: items,
32
+ titleItems: items,
33
+ timedItemCount: timedItems.length,
34
+ soleItemTiming: timedItems.length === 1 ? timedItems[0]?.timing : undefined,
35
+ itemStandards: items.flatMap((item) => item.standards),
36
+ entriesByPath,
73
37
  diagnostics,
38
+ itemCount: items.length,
39
+ });
40
+ return {
41
+ ...summary,
42
+ entries,
43
+ items,
74
44
  };
75
45
  }
76
46
  function indexEntries(entries, diagnostics) {
@@ -1 +1 @@
1
- {"version":3,"file":"qti-package.js","sourceRoot":"","sources":["../src/qti-package.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EACL,kBAAkB,EAClB,oCAAoC,EACpC,4BAA4B,EAC5B,sBAAsB,EACtB,2BAA2B,EAC3B,iBAAiB,EACjB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,6BAA6B,EAC7B,+BAA+B,EAC/B,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,aAAa,EACb,eAAe,GAChB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EACL,mCAAmC,EACnC,UAAU,EACV,wBAAwB,GAGzB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,mCAAmC,EAAE,UAAU,EAAE,wBAAwB,EAAE,CAAC;AACrF,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAgC9F,0FAA0F;AAC1F,MAAM,UAAU,eAAe,CAC7B,KAAiB,EACjB,UAAkC,EAAE;IAEpC,MAAM,WAAW,GAAoB,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACtE,OAAO,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAAmC,EACnC,OAA+B,EAC/B,WAA4B;IAE5B,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAElE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,qBAAqB,CACnB,WAAW,EACX,0BAA0B,EAC1B,OAAO,EACP,+CAA+C,EAC/C,yBAAyB,CAC1B,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,YAAY,GAChB,WAAW,EAAE,IAAI,EAAE,SAAS,KAAK,UAAU;QAC3C,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,8BAA8B;QACrD,CAAC,CAAC,WAAW,CAAC,IAAI;QAClB,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,WAAW,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACvC,qBAAqB,CACnB,WAAW,EACX,uBAAuB,EACvB,OAAO,EACP,WAAW,CAAC,IAAI,CAAC,SAAS,KAAK,UAAU;YACvC,CAAC,CAAC,kDAAkD,8BAA8B,WAAW,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,QAAQ,GAAG;YAChI,CAAC,CAAC,iDAAiD,WAAW,CAAC,IAAI,CAAC,SAAS,GAAG,EAClF,yBAAyB,CAC1B,CAAC;IACJ,CAAC;IAED,MAAM,uBAAuB,GAAG,YAAY;QAC1C,CAAC,CAAC,sBAAsB,CAAC,YAAY,EAAE,aAAa,EAAE,WAAW,CAAC;QAClE,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;IAClD,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAC;IAC3F,oCAAoC,CAAC,uBAAuB,EAAE,qBAAqB,EAAE,WAAW,CAAC,CAAC;IAElG,MAAM,aAAa,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAChE,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CACjC,CAAC;IACF,MAAM,uBAAuB,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC1E,2BAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC3C,CAAC;IACF,4BAA4B,CAAC,CAAC,GAAG,aAAa,EAAE,GAAG,uBAAuB,CAAC,EAAE,WAAW,CAAC,CAAC;IAE1F,MAAM,YAAY,GAAG,kBAAkB,CAAC,aAAa,EAAE,uBAAuB,EAAE,WAAW,CAAC,CAAC;IAC7F,MAAM,cAAc,GAAG,+BAA+B,CACpD,YAAY,EACZ,uBAAuB,EACvB,aAAa,EACb,cAAc,EACd,WAAW,CACZ,CAAC;IACF,MAAM,cAAc,GAAG,6BAA6B,CAClD,YAAY,EACZ,aAAa,EACb,cAAc,EACd,WAAW,CACZ,CAAC;IACF,MAAM,KAAK,GAAG,iBAAiB,CAAC,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;IAC5F,MAAM,MAAM,GAAG,oBAAoB,CACjC,qBAAqB,EACrB,cAAc,EACd,KAAK,EACL,aAAa,EACb,WAAW,CACZ,CAAC;IACF,MAAM,iBAAiB,GAAG,YAAY;QACpC,CAAC,CAAC,uBAAuB,CAAC,YAAY,EAAE,yBAAyB,CAAC;QAClE,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,SAAS,GAAG,eAAe,CAAC;QAChC,GAAG,iBAAiB;QACpB,GAAG,CAAC,cAAc,EAAE,SAAS,IAAI,EAAE,CAAC;QACpC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;KAC3C,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,YAAY,CAAC,YAAY,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAEhE,OAAO;QACL,EAAE,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,KAAK,OAAO,CAAC;QACtE,KAAK;QACL,OAAO;QACP,YAAY;QACZ,KAAK;QACL,MAAM;QACN,iBAAiB;QACjB,cAAc;QACd,MAAM;QACN,SAAS;QACT,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,OAAmC,EACnC,WAA4B;IAE5B,MAAM,aAAa,GAAG,IAAI,GAAG,EAA2B,CAAC;IACzD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,qBAAqB,CACnB,WAAW,EACX,yBAAyB,EACzB,OAAO,EACP,wCAAwC,KAAK,CAAC,IAAI,GAAG,EACrD,KAAK,CAAC,IAAI,CACX,CAAC;YACF,SAAS;QACX,CAAC;QACD,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"qti-package.js","sourceRoot":"","sources":["../src/qti-package.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ declare function maximumMediaPlays(interaction: QtiInteraction): number | undefi
18
18
  export { maximumMediaPlays, minimumMediaPlays };
19
19
  export declare function responseValidationPolicy(declaration: {
20
20
  readonly correctResponse: QtiValue | null;
21
- }, interaction: QtiInteraction | undefined): QtiResponseValidationPolicy;
21
+ }, interaction: QtiInteraction | undefined, requireScoredResponses?: boolean): QtiResponseValidationPolicy;
22
22
  export declare function requiredResponseDiagnostic(responseIdentifier: string, interaction: QtiInteraction | undefined, minimum: number): QtiDiagnostic;
23
23
  export declare function maximumResponseDiagnostic(responseIdentifier: string, interaction: QtiInteraction | undefined, maximum: number): QtiDiagnostic;
24
24
  export declare function parseUnlimitedMaximum(value: string | undefined): number | undefined;
@@ -28,4 +28,6 @@ export declare function directedPairChoiceUseCount(choice: QtiChoice, selectedPa
28
28
  export declare function choiceMatchLimitExceeded(choice: QtiChoice, useCount: number): boolean;
29
29
  export declare function wouldExceedChoiceMatchMaximum(choice: QtiChoice, selectedPairs: string[], side?: DirectedPairUseSide): boolean;
30
30
  export declare function matchMaxDiagnostics(responseIdentifier: string, interaction: QtiInteraction, response: QtiValue): QtiDiagnostic[];
31
+ /** Enforce authored per-choice minimum uses when a response is finalized. */
32
+ export declare function matchMinDiagnostics(responseIdentifier: string, interaction: QtiInteraction, response: QtiValue): QtiDiagnostic[];
31
33
  //# sourceMappingURL=response-validation-policy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"response-validation-policy.d.ts","sourceRoot":"","sources":["../src/response-validation-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAMrF,MAAM,WAAW,2BAA2B;IAC1C,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAExD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAErD;AAED,iFAAiF;AACjF,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,cAAc,GAAG,OAAO,CAK5E;AAED,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,cAAc,EAC3B,SAAS,EAAE,aAAa,GAAG,aAAa,EACxC,cAAc,EAAE,kBAAkB,GAAG,kBAAkB,GACtD,MAAM,GAAG,SAAS,CAKpB;AAMD,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,CAMxF;AAED,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,cAAc,GAAG,SAAS,GACtC,MAAM,GAAG,SAAS,CAapB;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAE3F;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAGtD;AAED,iBAAS,iBAAiB,CAAC,WAAW,EAAE,cAAc,GAAG,MAAM,CAG9D;AAED,iBAAS,iBAAiB,CAAC,WAAW,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAG1E;AAED,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;AAEhD,wBAAgB,wBAAwB,CACtC,WAAW,EAAE;IAAE,QAAQ,CAAC,eAAe,EAAE,QAAQ,GAAG,IAAI,CAAA;CAAE,EAC1D,WAAW,EAAE,cAAc,GAAG,SAAS,GACtC,2BAA2B,CAyB7B;AAED,wBAAgB,0BAA0B,CACxC,kBAAkB,EAAE,MAAM,EAC1B,WAAW,EAAE,cAAc,GAAG,SAAS,EACvC,OAAO,EAAE,MAAM,GACd,aAAa,CAaf;AAED,wBAAgB,yBAAyB,CACvC,kBAAkB,EAAE,MAAM,EAC1B,WAAW,EAAE,cAAc,GAAG,SAAS,EACvC,OAAO,EAAE,MAAM,GACd,aAAa,CAWf;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAInF;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAExE;AAED,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEjE,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,SAAS,EACjB,aAAa,EAAE,MAAM,EAAE,EACvB,IAAI,GAAE,mBAA8B,GACnC,MAAM,CAOR;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGrF;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,SAAS,EACjB,aAAa,EAAE,MAAM,EAAE,EACvB,IAAI,GAAE,mBAA8B,GACnC,OAAO,CAKT;AAMD,wBAAgB,mBAAmB,CACjC,kBAAkB,EAAE,MAAM,EAC1B,WAAW,EAAE,cAAc,EAC3B,QAAQ,EAAE,QAAQ,GACjB,aAAa,EAAE,CAsBjB"}
1
+ {"version":3,"file":"response-validation-policy.d.ts","sourceRoot":"","sources":["../src/response-validation-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAMrF,MAAM,WAAW,2BAA2B;IAC1C,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAExD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAErD;AAED,iFAAiF;AACjF,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,cAAc,GAAG,OAAO,CAK5E;AAED,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,cAAc,EAC3B,SAAS,EAAE,aAAa,GAAG,aAAa,EACxC,cAAc,EAAE,kBAAkB,GAAG,kBAAkB,GACtD,MAAM,GAAG,SAAS,CAOpB;AAMD,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,CAMxF;AAED,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,cAAc,GAAG,SAAS,GACtC,MAAM,GAAG,SAAS,CA0CpB;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAE3F;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAGtD;AAED,iBAAS,iBAAiB,CAAC,WAAW,EAAE,cAAc,GAAG,MAAM,CAG9D;AAED,iBAAS,iBAAiB,CAAC,WAAW,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAG1E;AAED,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;AAEhD,wBAAgB,wBAAwB,CACtC,WAAW,EAAE;IAAE,QAAQ,CAAC,eAAe,EAAE,QAAQ,GAAG,IAAI,CAAA;CAAE,EAC1D,WAAW,EAAE,cAAc,GAAG,SAAS,EACvC,sBAAsB,UAAQ,GAC7B,2BAA2B,CAyB7B;AAED,wBAAgB,0BAA0B,CACxC,kBAAkB,EAAE,MAAM,EAC1B,WAAW,EAAE,cAAc,GAAG,SAAS,EACvC,OAAO,EAAE,MAAM,GACd,aAAa,CAaf;AAED,wBAAgB,yBAAyB,CACvC,kBAAkB,EAAE,MAAM,EAC1B,WAAW,EAAE,cAAc,GAAG,SAAS,EACvC,OAAO,EAAE,MAAM,GACd,aAAa,CAWf;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAInF;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAExE;AAED,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEjE,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,SAAS,EACjB,aAAa,EAAE,MAAM,EAAE,EACvB,IAAI,GAAE,mBAA8B,GACnC,MAAM,CAOR;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGrF;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,SAAS,EACjB,aAAa,EAAE,MAAM,EAAE,EACvB,IAAI,GAAE,mBAA8B,GACnC,OAAO,CAKT;AAMD,wBAAgB,mBAAmB,CACjC,kBAAkB,EAAE,MAAM,EAC1B,WAAW,EAAE,cAAc,EAC3B,QAAQ,EAAE,QAAQ,GACjB,aAAa,EAAE,CAsBjB;AAED,6EAA6E;AAC7E,wBAAgB,mBAAmB,CACjC,kBAAkB,EAAE,MAAM,EAC1B,WAAW,EAAE,cAAc,EAC3B,QAAQ,EAAE,QAAQ,GACjB,aAAa,EAAE,CA6BjB"}
@@ -14,6 +14,8 @@ export function orderSubsetLimitsActive(interaction) {
14
14
  interaction.attributes["min-choices"] !== undefined);
15
15
  }
16
16
  export function responseLimitAttribute(interaction, choiceKey, associationKey) {
17
+ if (interaction.type === "extendedText")
18
+ return interaction.attributes[choiceKey === "min-choices" ? "min-strings" : "max-strings"];
17
19
  if (interaction.type === "order" || interaction.type === "graphicOrder") {
18
20
  return interaction.attributes[choiceKey];
19
21
  }
@@ -24,7 +26,7 @@ function interactionRequiresResponse(interaction) {
24
26
  }
25
27
  export function minimumRequiredResponses(interaction) {
26
28
  if (!interaction)
27
- return 1;
29
+ return 0;
28
30
  if (interaction.type === "media")
29
31
  return minimumMediaPlays(interaction);
30
32
  const explicit = responseLimitAttribute(interaction, "min-choices", "min-associations");
@@ -37,13 +39,41 @@ export function maximumAllowedResponses(interaction) {
37
39
  return undefined;
38
40
  if (interaction.type === "media")
39
41
  return maximumMediaPlays(interaction);
42
+ if (interaction.type === "extendedText") {
43
+ const maximum = interaction.attributes["max-strings"];
44
+ return maximum === undefined ? undefined : parseNonNegativeInteger(maximum);
45
+ }
40
46
  if ((interaction.type === "order" || interaction.type === "graphicOrder") &&
41
47
  !orderSubsetLimitsActive(interaction)) {
42
48
  return undefined;
43
49
  }
44
50
  const explicit = responseLimitAttribute(interaction, "max-choices", "max-associations");
45
- if (explicit === undefined)
46
- return undefined;
51
+ if (explicit === undefined) {
52
+ switch (interaction.type) {
53
+ case "associate":
54
+ case "match":
55
+ case "gapMatch":
56
+ case "graphicAssociate":
57
+ case "graphicGapMatch":
58
+ case "choice":
59
+ case "hottext":
60
+ case "hotspot":
61
+ case "positionObject":
62
+ return 1;
63
+ case "custom":
64
+ case "drawing":
65
+ case "endAttempt":
66
+ case "graphicOrder":
67
+ case "inlineChoice":
68
+ case "order":
69
+ case "portableCustom":
70
+ case "selectPoint":
71
+ case "slider":
72
+ case "textEntry":
73
+ case "upload":
74
+ return undefined;
75
+ }
76
+ }
47
77
  const parsed = parseNonNegativeInteger(explicit);
48
78
  return parsed === undefined || parsed <= 0 ? undefined : parsed;
49
79
  }
@@ -63,12 +93,12 @@ function maximumMediaPlays(interaction) {
63
93
  return definition.ok ? definition.value.maxPlays : undefined;
64
94
  }
65
95
  export { maximumMediaPlays, minimumMediaPlays };
66
- export function responseValidationPolicy(declaration, interaction) {
96
+ export function responseValidationPolicy(declaration, interaction, requireScoredResponses = false) {
67
97
  const authoredMinimum = interaction === undefined
68
98
  ? undefined
69
99
  : responseLimitAttribute(interaction, "min-choices", "min-associations");
70
100
  const minimum = interaction === undefined ? undefined : minimumRequiredResponses(interaction);
71
- const validatesMinimum = declaration.correctResponse !== null ||
101
+ const validatesMinimum = (requireScoredResponses && declaration.correctResponse !== null) ||
72
102
  interaction?.type === "media" ||
73
103
  authoredMinimum !== undefined ||
74
104
  (minimum !== undefined && minimum > 0);
@@ -163,4 +193,32 @@ export function matchMaxDiagnostics(responseIdentifier, interaction, response) {
163
193
  }
164
194
  return diagnostics;
165
195
  }
196
+ /** Enforce authored per-choice minimum uses when a response is finalized. */
197
+ export function matchMinDiagnostics(responseIdentifier, interaction, response) {
198
+ if (!["associate", "graphicAssociate", "match", "gapMatch", "graphicGapMatch"].includes(interaction.type))
199
+ return [];
200
+ const pairs = qtiValueToIdentifierList(response);
201
+ const diagnostics = [];
202
+ for (const choice of interaction.choices) {
203
+ const minimum = parseNonNegativeInteger(choice.attributes["match-min"] ?? "0") ?? 0;
204
+ if (minimum === 0)
205
+ continue;
206
+ const side = choice.role === "matchSource" || choice.role === "gapChoice"
207
+ ? "source"
208
+ : choice.role === "matchTarget" ||
209
+ (interaction.type === "graphicGapMatch" && choice.role === "hotspot")
210
+ ? "target"
211
+ : "either";
212
+ if (directedPairChoiceUseCount(choice, pairs, side) >= minimum)
213
+ continue;
214
+ diagnostics.push({
215
+ code: "response.matchMin",
216
+ severity: "error",
217
+ message: `${choice.text || choice.identifier} must be used at least ${minimum} time${minimum === 1 ? "" : "s"}.`,
218
+ path: responseIdentifier,
219
+ source: choice.source,
220
+ });
221
+ }
222
+ return diagnostics;
223
+ }
166
224
  //# sourceMappingURL=response-validation-policy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"response-validation-policy.js","sourceRoot":"","sources":["../src/response-validation-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"response-validation-policy.js","sourceRoot":"","sources":["../src/response-validation-policy.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { QtiAssessmentItem, QtiDiagnostic, QtiValue } from "./types.js";
2
2
  import { type QtiNamedResponseInput } from "./response-input.js";
3
3
  export type { QtiNamedResponseInput as QtiResponseVariableInput } from "./response-input.js";
4
4
  export type QtiResponseVariablesInput = Record<string, unknown> | readonly QtiNamedResponseInput[];
5
- export type QtiResponseValidationDiagnosticCode = "response.required" | "response.maximum" | "response.matchMax" | "response.cardinality" | "response.baseType" | "response.domain" | "response.undeclared" | "response.identifier.required" | "response.value.invalid";
5
+ export type QtiResponseValidationDiagnosticCode = "response.required" | "response.maximum" | "response.matchMax" | "response.matchMin" | "response.cardinality" | "response.baseType" | "response.domain" | "response.undeclared" | "response.identifier.required" | "response.value.invalid";
6
6
  export interface QtiResponseValidationDiagnostic extends QtiDiagnostic {
7
7
  code: QtiResponseValidationDiagnosticCode;
8
8
  identifier?: string | undefined;
@@ -23,6 +23,8 @@ export interface QtiResponseValidationInput {
23
23
  item: QtiAssessmentItem;
24
24
  responses: QtiResponseVariablesInput;
25
25
  allowIncompleteResponses?: boolean | undefined;
26
+ /** Host policy: require a scored response when no minimum is authored; defaults to false. */
27
+ requireScoredResponses?: boolean | undefined;
26
28
  allowedUndeclaredResponseIdentifiers?: readonly string[] | undefined;
27
29
  responseIdentifiers?: Iterable<string> | undefined;
28
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"response-validation.d.ts","sourceRoot":"","sources":["../src/response-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAGjB,aAAa,EAIb,QAAQ,EACT,MAAM,YAAY,CAAC;AAGpB,OAAO,EAA2B,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAgB1F,YAAY,EAAE,qBAAqB,IAAI,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC7F,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,qBAAqB,EAAE,CAAC;AAEnG,MAAM,MAAM,mCAAmC,GAC3C,mBAAmB,GACnB,kBAAkB,GAClB,mBAAmB,GACnB,sBAAsB,GACtB,mBAAmB,GACnB,iBAAiB,GACjB,qBAAqB,GACrB,8BAA8B,GAC9B,wBAAwB,CAAC;AAE7B,MAAM,WAAW,+BAAgC,SAAQ,aAAa;IACpE,IAAI,EAAE,mCAAmC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,OAAO,CAAC;IACZ,WAAW,EAAE,+BAA+B,EAAE,CAAC;CAChD;AAED,KAAK,+BAA+B,GAChC;IACE,EAAE,EAAE,IAAI,CAAC;IACT,WAAW,EAAE,+BAA+B,EAAE,CAAC;IAC/C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACrC,GACD;IACE,EAAE,EAAE,KAAK,CAAC;IACV,WAAW,EAAE,+BAA+B,EAAE,CAAC;CAChD,CAAC;AAEN,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,yBAAyB,CAAC;IACrC,wBAAwB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/C,oCAAoC,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACrE,mBAAmB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;CACpD;AAED,kFAAkF;AAClF,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,0BAA0B,GAChC,2BAA2B,CAG7B;AAED,yFAAyF;AACzF,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,0BAA0B,GAChC,+BAA+B,CA8DjC"}
1
+ {"version":3,"file":"response-validation.d.ts","sourceRoot":"","sources":["../src/response-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAGjB,aAAa,EAIb,QAAQ,EACT,MAAM,YAAY,CAAC;AAIpB,OAAO,EAA2B,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAiB1F,YAAY,EAAE,qBAAqB,IAAI,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC7F,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,qBAAqB,EAAE,CAAC;AAEnG,MAAM,MAAM,mCAAmC,GAC3C,mBAAmB,GACnB,kBAAkB,GAClB,mBAAmB,GACnB,mBAAmB,GACnB,sBAAsB,GACtB,mBAAmB,GACnB,iBAAiB,GACjB,qBAAqB,GACrB,8BAA8B,GAC9B,wBAAwB,CAAC;AAE7B,MAAM,WAAW,+BAAgC,SAAQ,aAAa;IACpE,IAAI,EAAE,mCAAmC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,OAAO,CAAC;IACZ,WAAW,EAAE,+BAA+B,EAAE,CAAC;CAChD;AAED,KAAK,+BAA+B,GAChC;IACE,EAAE,EAAE,IAAI,CAAC;IACT,WAAW,EAAE,+BAA+B,EAAE,CAAC;IAC/C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACrC,GACD;IACE,EAAE,EAAE,KAAK,CAAC;IACV,WAAW,EAAE,+BAA+B,EAAE,CAAC;CAChD,CAAC;AAEN,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,yBAAyB,CAAC;IACrC,wBAAwB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/C,6FAA6F;IAC7F,sBAAsB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7C,oCAAoC,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACrE,mBAAmB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;CACpD;AAED,kFAAkF;AAClF,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,0BAA0B,GAChC,2BAA2B,CAG7B;AAED,yFAAyF;AACzF,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,0BAA0B,GAChC,+BAA+B,CA2EjC"}
@@ -1,7 +1,8 @@
1
+ import { isQtiTextResponseRecord, qtiTextResponseString } from "./text-response.js";
1
2
  import { assertNever } from "./assert-never.js";
2
3
  import { isNullResponse, isRecordValue, valueContainer } from "./processing-values.js";
3
4
  import { listNamedResponseInputs } from "./response-input.js";
4
- import { matchMaxDiagnostics, maximumAllowedResponses, maximumResponseDiagnostic, mediaPlayCount, minimumRequiredResponses, requiredResponseDiagnostic, responseCount, responseLimitAttribute, responseValidationPolicy, } from "./response-validation-policy.js";
5
+ import { matchMaxDiagnostics, matchMinDiagnostics, maximumAllowedResponses, maximumResponseDiagnostic, mediaPlayCount, minimumRequiredResponses, requiredResponseDiagnostic, responseCount, responseLimitAttribute, responseValidationPolicy, } from "./response-validation-policy.js";
5
6
  import { parseQtiSliderDefinition, parseQtiSliderValue } from "./slider-definition.js";
6
7
  import { qtiValueToString, readQtiJsonValue } from "./value-format.js";
7
8
  import { parseQtiScalarForBaseType } from "./validation-primitives.js";
@@ -33,14 +34,20 @@ export function parseQtiResponseVariables(input) {
33
34
  if (cardinalityMatches && parsedValue !== undefined) {
34
35
  responses.set(declaration.identifier, parsedValue);
35
36
  validateResponseDomain(declaration, interactions ?? [], parsedValue, diagnostics);
37
+ if (declaration.cardinality === "record" &&
38
+ parsedValue !== null &&
39
+ interactions?.some((interaction) => interaction.type === "textEntry" || interaction.type === "extendedText") &&
40
+ !isQtiTextResponseRecord(parsedValue)) {
41
+ pushResponseDomainDiagnostic(declaration, parsedValue, diagnostics);
42
+ }
36
43
  }
37
44
  }
38
45
  if (interactions === undefined) {
39
- validateDeclarationResponse(declaration, undefined, value, input.allowIncompleteResponses, diagnostics);
46
+ validateDeclarationResponse(declaration, undefined, value, input.allowIncompleteResponses, input.requireScoredResponses, diagnostics);
40
47
  continue;
41
48
  }
42
49
  for (const interaction of interactions) {
43
- validateDeclarationResponse(declaration, interaction, value, input.allowIncompleteResponses, diagnostics);
50
+ validateDeclarationResponse(declaration, interaction, value, input.allowIncompleteResponses, input.requireScoredResponses, diagnostics);
44
51
  }
45
52
  }
46
53
  if (diagnostics.some((diagnostic) => diagnostic.severity === "error")) {
@@ -218,14 +225,25 @@ function matchesCardinality(cardinality, value) {
218
225
  }
219
226
  return assertNever(cardinality);
220
227
  }
221
- function validateDeclarationResponse(declaration, interaction, value, allowIncompleteResponses, diagnostics) {
222
- const policy = responseValidationPolicy(declaration, interaction);
228
+ function validateDeclarationResponse(declaration, interaction, value, allowIncompleteResponses, requireScoredResponses, diagnostics) {
229
+ if (interaction && !allowIncompleteResponses) {
230
+ diagnostics.push(...matchMinDiagnostics(declaration.identifier, interaction, value ?? null).map((diagnostic) => attachResponseIdentifier(declaration.identifier, diagnostic)));
231
+ }
232
+ const policy = responseValidationPolicy(declaration, interaction, requireScoredResponses);
223
233
  if (!policy.checkMinimum && !policy.checkMaximum && !policy.checkMatchMax)
224
234
  return;
225
235
  const effectiveValue = value ?? null;
226
- const count = interaction?.type === "media" ? mediaPlayCount(effectiveValue) : responseCount(effectiveValue);
236
+ const count = interaction?.type === "extendedText" || interaction?.type === "textEntry"
237
+ ? Array.isArray(effectiveValue)
238
+ ? effectiveValue.filter((entry) => entry !== "").length
239
+ : qtiTextResponseString(effectiveValue) === ""
240
+ ? 0
241
+ : 1
242
+ : interaction?.type === "media"
243
+ ? mediaPlayCount(effectiveValue)
244
+ : responseCount(effectiveValue);
227
245
  if (policy.checkMinimum && !allowIncompleteResponses) {
228
- const minimum = effectiveMinimumRequiredResponses(declaration, interaction);
246
+ const minimum = effectiveMinimumRequiredResponses(declaration, interaction, requireScoredResponses);
229
247
  if (count < minimum) {
230
248
  diagnostics.push(attachResponseIdentifier(declaration.identifier, requiredResponseDiagnostic(declaration.identifier, interaction, minimum)));
231
249
  }
@@ -240,9 +258,11 @@ function validateDeclarationResponse(declaration, interaction, value, allowIncom
240
258
  diagnostics.push(...matchMaxDiagnostics(declaration.identifier, interaction, value).map((diagnostic) => attachResponseIdentifier(declaration.identifier, diagnostic)));
241
259
  }
242
260
  }
243
- function effectiveMinimumRequiredResponses(declaration, interaction) {
261
+ function effectiveMinimumRequiredResponses(declaration, interaction, requireScoredResponses) {
244
262
  const minimum = minimumRequiredResponses(interaction);
245
- if (declaration.correctResponse === null || hasAuthoredMinimum(interaction))
263
+ if (!requireScoredResponses ||
264
+ declaration.correctResponse === null ||
265
+ hasAuthoredMinimum(interaction))
246
266
  return minimum;
247
267
  return Math.max(minimum, 1);
248
268
  }
@@ -263,6 +283,7 @@ function isResponseValidationDiagnosticCode(code) {
263
283
  return (code === "response.required" ||
264
284
  code === "response.maximum" ||
265
285
  code === "response.matchMax" ||
286
+ code === "response.matchMin" ||
266
287
  code === "response.cardinality" ||
267
288
  code === "response.baseType" ||
268
289
  code === "response.domain" ||
@@ -1 +1 @@
1
- {"version":3,"file":"response-validation.js","sourceRoot":"","sources":["../src/response-validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"response-validation.js","sourceRoot":"","sources":["../src/response-validation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scoring-disposition-policy.d.ts","sourceRoot":"","sources":["../src/scoring-disposition-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGpD,MAAM,MAAM,mCAAmC,GAC3C,QAAQ,GACR,yBAAyB,GACzB,oBAAoB,GACpB,SAAS,CAAC;AAUd,8FAA8F;AAC9F,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAIlF;AAED,wBAAgB,oCAAoC,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAErF;AAED,gGAAgG;AAChG,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB,OAAO,CAAC,mCAAmC,EAAE,SAAS,CAAC,CAIzD"}
1
+ {"version":3,"file":"scoring-disposition-policy.d.ts","sourceRoot":"","sources":["../src/scoring-disposition-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGpD,MAAM,MAAM,mCAAmC,GAC3C,QAAQ,GACR,yBAAyB,GACzB,oBAAoB,GACpB,SAAS,CAAC;AAUd,8FAA8F;AAC9F,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAIlF;AAED,wBAAgB,oCAAoC,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAMrF;AAED,gGAAgG;AAChG,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB,OAAO,CAAC,mCAAmC,EAAE,SAAS,CAAC,CAKzD"}
@@ -1,4 +1,4 @@
1
- import { itemExpectsAutomatedScore } from "./item-scoring-expectation.js";
1
+ import { itemExpectsAutomatedScore, itemHasExternalScore } from "./item-scoring-expectation.js";
2
2
  const MANUALLY_SCORED_INTERACTION_TYPES = new Set([
3
3
  "custom",
4
4
  "drawing",
@@ -11,10 +11,14 @@ export function itemHasManuallyScoredInteractions(item) {
11
11
  return item.interactions.some((interaction) => MANUALLY_SCORED_INTERACTION_TYPES.has(interaction.type));
12
12
  }
13
13
  export function itemNeedsScoringFollowUpWhenUnscored(item) {
14
- return itemExpectsAutomatedScore(item) || itemHasManuallyScoredInteractions(item);
14
+ return (itemHasExternalScore(item) ||
15
+ itemExpectsAutomatedScore(item) ||
16
+ itemHasManuallyScoredInteractions(item));
15
17
  }
16
18
  /** Default generic disposition taxonomy shipped by qti3-core for submission materialization. */
17
19
  export function classifyQtiItemScoringDisposition(item, score) {
20
+ if (itemHasExternalScore(item))
21
+ return "manual-scoring-required";
18
22
  if (score !== null)
19
23
  return "scored";
20
24
  if (itemNeedsScoringFollowUpWhenUnscored(item))
@@ -1 +1 @@
1
- {"version":3,"file":"scoring-disposition-policy.js","sourceRoot":"","sources":["../src/scoring-disposition-policy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAQ1E,MAAM,iCAAiC,GAAG,IAAI,GAAG,CAAS;IACxD,QAAQ;IACR,SAAS;IACT,cAAc;IACd,gBAAgB;IAChB,QAAQ;CACT,CAAC,CAAC;AAEH,8FAA8F;AAC9F,MAAM,UAAU,iCAAiC,CAAC,IAAuB;IACvE,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAC5C,iCAAiC,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CACxD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,IAAuB;IAC1E,OAAO,yBAAyB,CAAC,IAAI,CAAC,IAAI,iCAAiC,CAAC,IAAI,CAAC,CAAC;AACpF,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,iCAAiC,CAC/C,IAAuB,EACvB,KAAoB;IAEpB,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,QAAQ,CAAC;IACpC,IAAI,oCAAoC,CAAC,IAAI,CAAC;QAAE,OAAO,yBAAyB,CAAC;IACjF,OAAO,oBAAoB,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"scoring-disposition-policy.js","sourceRoot":"","sources":["../src/scoring-disposition-policy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAQhG,MAAM,iCAAiC,GAAG,IAAI,GAAG,CAAS;IACxD,QAAQ;IACR,SAAS;IACT,cAAc;IACd,gBAAgB;IAChB,QAAQ;CACT,CAAC,CAAC;AAEH,8FAA8F;AAC9F,MAAM,UAAU,iCAAiC,CAAC,IAAuB;IACvE,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAC5C,iCAAiC,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CACxD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,IAAuB;IAC1E,OAAO,CACL,oBAAoB,CAAC,IAAI,CAAC;QAC1B,yBAAyB,CAAC,IAAI,CAAC;QAC/B,iCAAiC,CAAC,IAAI,CAAC,CACxC,CAAC;AACJ,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,iCAAiC,CAC/C,IAAuB,EACvB,KAAoB;IAEpB,IAAI,oBAAoB,CAAC,IAAI,CAAC;QAAE,OAAO,yBAAyB,CAAC;IACjE,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,QAAQ,CAAC;IACpC,IAAI,oCAAoC,CAAC,IAAI,CAAC;QAAE,OAAO,yBAAyB,CAAC;IACjF,OAAO,oBAAoB,CAAC;AAC9B,CAAC"}
@@ -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,CA0C7E;AAED,wBAAgB,0BAA0B,CAAC,eAAe,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAKxF;AAED,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAQrF"}
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,CAqD7E;AAED,wBAAgB,0BAA0B,CAAC,eAAe,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAKxF;AAED,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAQrF"}
@@ -44,11 +44,16 @@ export function browserTestsFor(interactionType) {
44
44
  "tests/browser/player-interaction-sweep.spec.ts",
45
45
  ];
46
46
  const extras = {
47
- associate: browserKeyboardA11yTests,
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
  ],
@@ -58,7 +63,10 @@ export function browserTestsFor(interactionType) {
58
63
  "tests/browser/player-graphic-gap-match.spec.ts",
59
64
  "tests/browser/player-graphic.spec.ts",
60
65
  ],
61
- graphicOrder: ["tests/browser/player-graphic.spec.ts"],
66
+ graphicOrder: [
67
+ "packages/core/src/graphic-image-contracts.test.ts",
68
+ "tests/browser/player-graphic.spec.ts",
69
+ ],
62
70
  hotspot: ["tests/browser/player-graphic.spec.ts"],
63
71
  hottext: ["tests/browser/player-hottext.spec.ts", "tests/browser/player-dom-behavior.spec.ts"],
64
72
  inlineChoice: ["tests/browser/player-inline-choice.spec.ts"],
@@ -74,7 +82,10 @@ export function browserTestsFor(interactionType) {
74
82
  "tests/browser/player-slider-cross-browser.spec.ts",
75
83
  ...browserKeyboardA11yTests,
76
84
  ],
77
- textEntry: ["tests/browser/player-dom-behavior.spec.ts"],
85
+ textEntry: [
86
+ "packages/core/src/text-response.test.ts",
87
+ "tests/browser/player-dom-behavior.spec.ts",
88
+ ],
78
89
  upload: ["tests/browser/player-dom-behavior.spec.ts"],
79
90
  };
80
91
  return [...base, ...(extras[interactionType] ?? [])];
@@ -1 +1 @@
1
- {"version":3,"file":"support-evidence.js","sourceRoot":"","sources":["../src/support-evidence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"support-evidence.js","sourceRoot":"","sources":["../src/support-evidence.ts"],"names":[],"mappings":"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"}
package/dist/support.js CHANGED
@@ -346,18 +346,25 @@ function entry(qtiName, interactionType) {
346
346
  process: true,
347
347
  fixtures: interactionSupportFixtures(interactionType),
348
348
  tests: interactionSupportTests(interactionType),
349
+ notes: ["associate", "graphicAssociate", "match", "gapMatch"].includes(interactionType)
350
+ ? interactionType === "associate" || interactionType === "graphicAssociate"
351
+ ? "Supports single and multiple unordered pair responses."
352
+ : "Supports single and multiple directedPair responses."
353
+ : interactionType === "graphicGapMatch"
354
+ ? "Requires multiple directedPair responses."
355
+ : undefined,
349
356
  };
350
357
  }
351
358
  function extendedTextInteractionEntry() {
352
359
  return {
353
360
  ...entry("qti-extended-text-interaction", "extendedText"),
354
- notes: "Supports plain and format=xhtml extended text.",
361
+ notes: "Supports single, multiple, ordered and numeric record responses; string/integer/float values; min-strings/max-strings; plain, preformatted and string XHTML capture.",
355
362
  };
356
363
  }
357
364
  function textEntryInteractionEntry() {
358
365
  return {
359
366
  ...entry("qti-text-entry-interaction", "textEntry"),
360
- notes: "Supports placeholder-text and pattern-mask on text-entry controls.",
367
+ 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
368
  };
362
369
  }
363
370
  function pciEntry() {