@longsightgroup/qti3-core 0.10.5 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/README.md +153 -4
  2. package/dist/adaptive-turn-materializer.js +4 -5
  3. package/dist/adaptive-turn-materializer.js.map +1 -1
  4. package/dist/adaptive-turn.d.ts.map +1 -1
  5. package/dist/adaptive-turn.js +1 -0
  6. package/dist/adaptive-turn.js.map +1 -1
  7. package/dist/attempt-state.d.ts.map +1 -1
  8. package/dist/attempt-state.js +41 -1
  9. package/dist/attempt-state.js.map +1 -1
  10. package/dist/catalog.d.ts +8 -0
  11. package/dist/catalog.d.ts.map +1 -1
  12. package/dist/catalog.js +10 -0
  13. package/dist/catalog.js.map +1 -1
  14. package/dist/diagnostics.d.ts +13 -0
  15. package/dist/diagnostics.d.ts.map +1 -0
  16. package/dist/diagnostics.js +28 -0
  17. package/dist/diagnostics.js.map +1 -0
  18. package/dist/index.d.ts +5 -3
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +3 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/item-scoring-expectation.d.ts +2 -0
  23. package/dist/item-scoring-expectation.d.ts.map +1 -1
  24. package/dist/item-scoring-expectation.js +8 -0
  25. package/dist/item-scoring-expectation.js.map +1 -1
  26. package/dist/item-submission-materialization.d.ts.map +1 -1
  27. package/dist/item-submission-materialization.js +2 -0
  28. package/dist/item-submission-materialization.js.map +1 -1
  29. package/dist/parser-processing.d.ts.map +1 -1
  30. package/dist/parser-processing.js +8 -18
  31. package/dist/parser-processing.js.map +1 -1
  32. package/dist/parser-values.d.ts.map +1 -1
  33. package/dist/parser-values.js +1 -3
  34. package/dist/parser-values.js.map +1 -1
  35. package/dist/parser.js +36 -6
  36. package/dist/parser.js.map +1 -1
  37. package/dist/processing-equality.d.ts +10 -0
  38. package/dist/processing-equality.d.ts.map +1 -0
  39. package/dist/processing-equality.js +78 -0
  40. package/dist/processing-equality.js.map +1 -0
  41. package/dist/processing-evaluator-comparison.d.ts.map +1 -1
  42. package/dist/processing-evaluator-comparison.js +14 -9
  43. package/dist/processing-evaluator-comparison.js.map +1 -1
  44. package/dist/processing-evaluator-numeric.d.ts.map +1 -1
  45. package/dist/processing-evaluator-numeric.js +2 -1
  46. package/dist/processing-evaluator-numeric.js.map +1 -1
  47. package/dist/processing-evaluator-string.d.ts.map +1 -1
  48. package/dist/processing-evaluator-string.js +26 -10
  49. package/dist/processing-evaluator-string.js.map +1 -1
  50. package/dist/processing-evaluator-variable.d.ts.map +1 -1
  51. package/dist/processing-evaluator-variable.js +9 -3
  52. package/dist/processing-evaluator-variable.js.map +1 -1
  53. package/dist/processing-evaluator.d.ts +5 -1
  54. package/dist/processing-evaluator.d.ts.map +1 -1
  55. package/dist/processing-evaluator.js +13 -4
  56. package/dist/processing-evaluator.js.map +1 -1
  57. package/dist/processing-expression-children.d.ts.map +1 -1
  58. package/dist/processing-expression-children.js +2 -3
  59. package/dist/processing-expression-children.js.map +1 -1
  60. package/dist/processing-expression-tags.d.ts +2 -1
  61. package/dist/processing-expression-tags.d.ts.map +1 -1
  62. package/dist/processing-expression-tags.js +2 -1
  63. package/dist/processing-expression-tags.js.map +1 -1
  64. package/dist/processing-mapping.d.ts.map +1 -1
  65. package/dist/processing-mapping.js +26 -16
  66. package/dist/processing-mapping.js.map +1 -1
  67. package/dist/processing-state.d.ts +2 -2
  68. package/dist/processing-state.d.ts.map +1 -1
  69. package/dist/processing-state.js +5 -2
  70. package/dist/processing-state.js.map +1 -1
  71. package/dist/processing-values.d.ts +1 -2
  72. package/dist/processing-values.d.ts.map +1 -1
  73. package/dist/processing-values.js +1 -3
  74. package/dist/processing-values.js.map +1 -1
  75. package/dist/processing-variables.d.ts.map +1 -1
  76. package/dist/processing-variables.js +10 -5
  77. package/dist/processing-variables.js.map +1 -1
  78. package/dist/qti-package-assets.d.ts.map +1 -1
  79. package/dist/qti-package-assets.js +16 -10
  80. package/dist/qti-package-assets.js.map +1 -1
  81. package/dist/qti-package-manifest.d.ts +1 -0
  82. package/dist/qti-package-manifest.d.ts.map +1 -1
  83. package/dist/qti-package-manifest.js +1 -0
  84. package/dist/qti-package-manifest.js.map +1 -1
  85. package/dist/qti-package-metadata.d.ts.map +1 -1
  86. package/dist/qti-package-metadata.js +11 -0
  87. package/dist/qti-package-metadata.js.map +1 -1
  88. package/dist/qti-package-plan.d.ts +1 -1
  89. package/dist/qti-package-plan.d.ts.map +1 -1
  90. package/dist/qti-package-types.d.ts +9 -0
  91. package/dist/qti-package-types.d.ts.map +1 -1
  92. package/dist/qti-package-xml.d.ts +6 -1
  93. package/dist/qti-package-xml.d.ts.map +1 -1
  94. package/dist/qti-package-xml.js +11 -6
  95. package/dist/qti-package-xml.js.map +1 -1
  96. package/dist/qti-package-zip.d.ts +13 -1
  97. package/dist/qti-package-zip.d.ts.map +1 -1
  98. package/dist/qti-package-zip.js +185 -54
  99. package/dist/qti-package-zip.js.map +1 -1
  100. package/dist/qti-package.d.ts +12 -5
  101. package/dist/qti-package.d.ts.map +1 -1
  102. package/dist/qti-package.js +63 -8
  103. package/dist/qti-package.js.map +1 -1
  104. package/dist/response-validation-policy.d.ts +3 -1
  105. package/dist/response-validation-policy.d.ts.map +1 -1
  106. package/dist/response-validation-policy.js +66 -6
  107. package/dist/response-validation-policy.js.map +1 -1
  108. package/dist/response-validation.d.ts +3 -1
  109. package/dist/response-validation.d.ts.map +1 -1
  110. package/dist/response-validation.js +32 -10
  111. package/dist/response-validation.js.map +1 -1
  112. package/dist/scoring-disposition-policy.d.ts.map +1 -1
  113. package/dist/scoring-disposition-policy.js +6 -2
  114. package/dist/scoring-disposition-policy.js.map +1 -1
  115. package/dist/serializer-processing-expressions.d.ts.map +1 -1
  116. package/dist/serializer-processing-expressions.js +2 -10
  117. package/dist/serializer-processing-expressions.js.map +1 -1
  118. package/dist/server-scoring.d.ts.map +1 -1
  119. package/dist/server-scoring.js +1 -0
  120. package/dist/server-scoring.js.map +1 -1
  121. package/dist/session-builtins.d.ts +16 -0
  122. package/dist/session-builtins.d.ts.map +1 -0
  123. package/dist/session-builtins.js +58 -0
  124. package/dist/session-builtins.js.map +1 -0
  125. package/dist/session.d.ts +5 -1
  126. package/dist/session.d.ts.map +1 -1
  127. package/dist/session.js +63 -11
  128. package/dist/session.js.map +1 -1
  129. package/dist/support-evidence.d.ts.map +1 -1
  130. package/dist/support-evidence.js +16 -3
  131. package/dist/support-evidence.js.map +1 -1
  132. package/dist/support.d.ts.map +1 -1
  133. package/dist/support.js +72 -24
  134. package/dist/support.js.map +1 -1
  135. package/dist/text-response.d.ts +9 -0
  136. package/dist/text-response.d.ts.map +1 -0
  137. package/dist/text-response.js +102 -0
  138. package/dist/text-response.js.map +1 -0
  139. package/dist/trusted-item-session.d.ts +4 -1
  140. package/dist/trusted-item-session.d.ts.map +1 -1
  141. package/dist/trusted-item-session.js +12 -6
  142. package/dist/trusted-item-session.js.map +1 -1
  143. package/dist/types.d.ts +23 -3
  144. package/dist/types.d.ts.map +1 -1
  145. package/dist/validation-declaration-entries.d.ts.map +1 -1
  146. package/dist/validation-declaration-entries.js +11 -1
  147. package/dist/validation-declaration-entries.js.map +1 -1
  148. package/dist/validation-interactions.d.ts.map +1 -1
  149. package/dist/validation-interactions.js +102 -12
  150. package/dist/validation-interactions.js.map +1 -1
  151. package/dist/validation-item-children.d.ts +4 -0
  152. package/dist/validation-item-children.d.ts.map +1 -0
  153. package/dist/validation-item-children.js +45 -0
  154. package/dist/validation-item-children.js.map +1 -0
  155. package/dist/validation-processing.d.ts.map +1 -1
  156. package/dist/validation-processing.js +45 -12
  157. package/dist/validation-processing.js.map +1 -1
  158. package/dist/validation.d.ts.map +1 -1
  159. package/dist/validation.js +12 -0
  160. package/dist/validation.js.map +1 -1
  161. package/dist/value-guards.d.ts +4 -0
  162. package/dist/value-guards.d.ts.map +1 -0
  163. package/dist/value-guards.js +5 -0
  164. package/dist/value-guards.js.map +1 -0
  165. package/dist/xml-schema-regex-data.d.ts +48 -0
  166. package/dist/xml-schema-regex-data.d.ts.map +1 -0
  167. package/dist/xml-schema-regex-data.js +403 -0
  168. package/dist/xml-schema-regex-data.js.map +1 -0
  169. package/dist/xml-schema-regex-parser.d.ts +31 -0
  170. package/dist/xml-schema-regex-parser.d.ts.map +1 -0
  171. package/dist/xml-schema-regex-parser.js +245 -0
  172. package/dist/xml-schema-regex-parser.js.map +1 -0
  173. package/dist/xml-schema-regex.d.ts +14 -0
  174. package/dist/xml-schema-regex.d.ts.map +1 -0
  175. package/dist/xml-schema-regex.js +114 -0
  176. package/dist/xml-schema-regex.js.map +1 -0
  177. package/package.json +1 -1
  178. package/src/adaptive-turn-materializer.ts +4 -3
  179. package/src/adaptive-turn.ts +1 -0
  180. package/src/attempt-state.ts +54 -1
  181. package/src/catalog.ts +29 -0
  182. package/src/diagnostics.ts +29 -0
  183. package/src/index.ts +16 -0
  184. package/src/item-scoring-expectation.ts +8 -0
  185. package/src/item-submission-materialization.ts +2 -0
  186. package/src/parser-processing.ts +15 -18
  187. package/src/parser-values.ts +1 -5
  188. package/src/parser.ts +38 -6
  189. package/src/processing-equality.ts +104 -0
  190. package/src/processing-evaluator-comparison.ts +19 -14
  191. package/src/processing-evaluator-numeric.ts +2 -6
  192. package/src/processing-evaluator-string.ts +25 -18
  193. package/src/processing-evaluator-variable.ts +8 -3
  194. package/src/processing-evaluator.ts +20 -7
  195. package/src/processing-expression-children.ts +2 -3
  196. package/src/processing-expression-tags.ts +2 -1
  197. package/src/processing-mapping.ts +31 -25
  198. package/src/processing-state.ts +6 -1
  199. package/src/processing-values.ts +2 -11
  200. package/src/processing-variables.ts +9 -7
  201. package/src/qti-package-assets.ts +20 -13
  202. package/src/qti-package-manifest.ts +1 -0
  203. package/src/qti-package-metadata.ts +11 -0
  204. package/src/qti-package-plan.ts +1 -1
  205. package/src/qti-package-types.ts +10 -0
  206. package/src/qti-package-xml.ts +11 -6
  207. package/src/qti-package-zip.ts +330 -97
  208. package/src/qti-package.ts +106 -7
  209. package/src/response-validation-policy.ts +76 -4
  210. package/src/response-validation.ts +51 -5
  211. package/src/scoring-disposition-policy.ts +7 -2
  212. package/src/serializer-processing-expressions.ts +8 -25
  213. package/src/server-scoring.ts +1 -0
  214. package/src/session-builtins.ts +75 -0
  215. package/src/session.ts +64 -8
  216. package/src/support-evidence.ts +16 -3
  217. package/src/support.ts +94 -24
  218. package/src/text-response.ts +106 -0
  219. package/src/trusted-item-session.ts +17 -5
  220. package/src/types.ts +32 -4
  221. package/src/validation-declaration-entries.ts +11 -1
  222. package/src/validation-interactions.ts +139 -14
  223. package/src/validation-item-children.ts +48 -0
  224. package/src/validation-processing.ts +47 -10
  225. package/src/validation.ts +14 -0
  226. package/src/value-guards.ts +6 -0
  227. package/src/xml-schema-regex-data.ts +404 -0
  228. package/src/xml-schema-regex-parser.ts +234 -0
  229. package/src/xml-schema-regex.ts +115 -0
@@ -1,20 +1,65 @@
1
- import { pushPackageDiagnostic } from "./qti-package-paths.js";
1
+ import { normalizePackagePath, pushPackageDiagnostic } from "./qti-package-paths.js";
2
2
  import { QTI_PACKAGE_MANIFEST_PATH } from "./qti-package-manifest.js";
3
- import { buildPackageSummary, inspectPackageManifest } from "./qti-package-plan.js";
3
+ import { buildPackageSummary, failedPackageSummary, inspectPackageManifest, } from "./qti-package-plan.js";
4
4
  import { itemReferencesForPackageShape, parseAssessmentTestPackageModel, parsePackageItems, } from "./qti-package-items.js";
5
- import { parseXmlFiles } from "./qti-package-xml.js";
6
- import { DEFAULT_QTI_PACKAGE_RESOURCE_LIMITS, decodeUtf8, readQtiPackageZipEntries, } from "./qti-package-zip.js";
7
- export { DEFAULT_QTI_PACKAGE_RESOURCE_LIMITS, decodeUtf8, readQtiPackageZipEntries };
5
+ import { parseXmlFiles, pushXmlDiagnostics } from "./qti-package-xml.js";
6
+ import { DEFAULT_QTI_PACKAGE_RESOURCE_LIMITS, decodeUtf8, readQtiPackageZipEntries, readQtiPackageZipEntriesAsync, resolveResourceLimits, } from "./qti-package-zip.js";
7
+ export { DEFAULT_QTI_PACKAGE_RESOURCE_LIMITS, decodeUtf8, readQtiPackageZipEntries, readQtiPackageZipEntriesAsync, };
8
8
  export { discoverQtiPackageContentAssets } from "./qti-package-assets.js";
9
9
  export { normalizePackagePath } from "./qti-package-paths.js";
10
- export { QTI_ITEM_RESOURCE_TYPE, QTI_PACKAGE_MANIFEST_PATH } from "./qti-package-manifest.js";
10
+ export { scopeDiagnosticToPackagePath } from "./qti-package-xml.js";
11
+ export { QTI_ITEM_RESOURCE_TYPE, QTI_PACKAGE_MANIFEST_PATH, isQtiItemResource, } from "./qti-package-manifest.js";
11
12
  /** Parse a QTI ZIP package into a neutral manifest, item, asset, and diagnostic model. */
12
13
  export function parseQtiPackage(bytes, options = {}) {
13
14
  const diagnostics = [];
14
15
  const entries = readQtiPackageZipEntries(bytes, options, diagnostics);
15
- return parseQtiPackageEntries(entries, options, diagnostics);
16
+ return parseQtiPackageEntries(entries, diagnostics);
16
17
  }
17
- function parseQtiPackageEntries(entries, options, diagnostics) {
18
+ /**
19
+ * Parse already extracted or restored entries with the same package semantics as ZIP input.
20
+ * Paths must be unique and canonical. Entry count and expanded byte limits apply;
21
+ * compression-ratio limits are irrelevant after extraction. Inspect ok before use.
22
+ */
23
+ export function parseQtiPackageFromEntries(entries, options = {}) {
24
+ const diagnostics = [];
25
+ const limits = resolveResourceLimits(options.limits, diagnostics);
26
+ if (limits) {
27
+ if (entries.length > limits.maxEntries) {
28
+ pushPackageDiagnostic(diagnostics, "package.entries.limit", "error", "Package contains more entries than allowed.");
29
+ }
30
+ else {
31
+ let total = 0;
32
+ const paths = new Set();
33
+ for (const entry of entries) {
34
+ const path = normalizePackagePath(entry.path, "entry", diagnostics);
35
+ if (path === undefined)
36
+ break;
37
+ if (!path || path !== entry.path || path.includes("\\") || path.includes("\0")) {
38
+ pushPackageDiagnostic(diagnostics, "package.entry.path", "error", "Package entry paths must be canonical and package-relative.", entry.path);
39
+ break;
40
+ }
41
+ if (paths.has(path)) {
42
+ pushPackageDiagnostic(diagnostics, "package.entry.duplicate", "error", `QTI package contains duplicate entry ${path}.`, path);
43
+ break;
44
+ }
45
+ paths.add(path);
46
+ total += entry.bytes.byteLength;
47
+ if (entry.bytes.byteLength > limits.maxEntryUncompressedBytes ||
48
+ !Number.isSafeInteger(total) ||
49
+ total > limits.maxTotalUncompressedBytes) {
50
+ pushPackageDiagnostic(diagnostics, "package.bytes.limit", "error", "Package entry or total size exceeds its configured budget.", path);
51
+ break;
52
+ }
53
+ }
54
+ }
55
+ }
56
+ if (diagnostics.length) {
57
+ const { itemCount: _itemCount, ...summary } = failedPackageSummary(diagnostics);
58
+ return { ...summary, entries: [], items: [], xmlFiles: [] };
59
+ }
60
+ return parseQtiPackageEntries(entries, diagnostics);
61
+ }
62
+ function parseQtiPackageEntries(entries, diagnostics) {
18
63
  const entriesByPath = indexEntries(entries, diagnostics);
19
64
  const xmlFilesByPath = parseXmlFiles(entriesByPath);
20
65
  const { manifestRoot, manifestResources, resourcesByIdentifier, itemResources, assessmentTestResources, packageShape, } = inspectPackageManifest(entriesByPath, xmlFilesByPath.get(QTI_PACKAGE_MANIFEST_PATH), diagnostics);
@@ -41,6 +86,16 @@ function parseQtiPackageEntries(entries, options, diagnostics) {
41
86
  ...summary,
42
87
  entries,
43
88
  items,
89
+ xmlFiles: [...xmlFilesByPath.values()].map((file) => {
90
+ const xmlDiagnostics = [];
91
+ pushXmlDiagnostics(file, xmlDiagnostics);
92
+ return {
93
+ path: file.path,
94
+ rootLocalName: file.root?.localName,
95
+ rootNamespaceUri: file.root?.uri,
96
+ diagnostics: xmlDiagnostics,
97
+ };
98
+ }),
44
99
  };
45
100
  }
46
101
  function indexEntries(entries, diagnostics) {
@@ -1 +1 @@
1
- {"version":3,"file":"qti-package.js","sourceRoot":"","sources":["../src/qti-package.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qti-package.js","sourceRoot":"","sources":["../src/qti-package.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,6BAA6B,EAC7B,+BAA+B,EAC/B,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EACL,mCAAmC,EACnC,UAAU,EACV,wBAAwB,EACxB,6BAA6B,EAC7B,qBAAqB,GAGtB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,mCAAmC,EACnC,UAAU,EACV,wBAAwB,EACxB,6BAA6B,GAC9B,CAAC;AACF,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AAmCnC,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,WAAW,CAAC,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAmC,EACnC,UAAkD,EAAE;IAEpD,MAAM,WAAW,GAAoB,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClE,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YACvC,qBAAqB,CACnB,WAAW,EACX,uBAAuB,EACvB,OAAO,EACP,6CAA6C,CAC9C,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;YAChC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;gBACpE,IAAI,IAAI,KAAK,SAAS;oBAAE,MAAM;gBAC9B,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/E,qBAAqB,CACnB,WAAW,EACX,oBAAoB,EACpB,OAAO,EACP,6DAA6D,EAC7D,KAAK,CAAC,IAAI,CACX,CAAC;oBACF,MAAM;gBACR,CAAC;gBACD,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpB,qBAAqB,CACnB,WAAW,EACX,yBAAyB,EACzB,OAAO,EACP,wCAAwC,IAAI,GAAG,EAC/C,IAAI,CACL,CAAC;oBACF,MAAM;gBACR,CAAC;gBACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAChB,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC;gBAChC,IACE,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,yBAAyB;oBACzD,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;oBAC5B,KAAK,GAAG,MAAM,CAAC,yBAAyB,EACxC,CAAC;oBACD,qBAAqB,CACnB,WAAW,EACX,qBAAqB,EACrB,OAAO,EACP,4DAA4D,EAC5D,IAAI,CACL,CAAC;oBACF,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAChF,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC9D,CAAC;IACD,OAAO,sBAAsB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAAmC,EACnC,WAA4B;IAE5B,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,EACJ,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,uBAAuB,EACvB,YAAY,GACb,GAAG,sBAAsB,CACxB,aAAa,EACb,cAAc,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAC7C,WAAW,CACZ,CAAC;IACF,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,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IACrE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,GAAG,mBAAmB,CAAC;QAChE,YAAY;QACZ,iBAAiB;QACjB,qBAAqB;QACrB,YAAY;QACZ,cAAc;QACd,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,UAAU,CAAC,MAAM;QACjC,cAAc,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS;QAC3E,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;QACtD,aAAa;QACb,WAAW;QACX,SAAS,EAAE,KAAK,CAAC,MAAM;KACxB,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,OAAO;QACV,OAAO;QACP,KAAK;QACL,QAAQ,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAClD,MAAM,cAAc,GAAoB,EAAE,CAAC;YAC3C,kBAAkB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YACzC,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS;gBACnC,gBAAgB,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG;gBAChC,WAAW,EAAE,cAAc;aAC5B,CAAC;QACJ,CAAC,CAAC;KACH,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"}
@@ -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,CA6B7B;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,20 +93,22 @@ 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);
75
105
  const maximum = maximumAllowedResponses(interaction);
106
+ const hasMatchMaximum = interaction?.choices.some((choice) => choiceMatchMaximum(choice) !== undefined);
76
107
  if (declaration.correctResponse === null &&
77
108
  interaction?.type !== "media" &&
78
109
  !validatesMinimum &&
79
- maximum === undefined) {
110
+ maximum === undefined &&
111
+ !hasMatchMaximum) {
80
112
  return { checkMinimum: false, checkMaximum: false, checkMatchMax: false };
81
113
  }
82
114
  return {
@@ -163,4 +195,32 @@ export function matchMaxDiagnostics(responseIdentifier, interaction, response) {
163
195
  }
164
196
  return diagnostics;
165
197
  }
198
+ /** Enforce authored per-choice minimum uses when a response is finalized. */
199
+ export function matchMinDiagnostics(responseIdentifier, interaction, response) {
200
+ if (!["associate", "graphicAssociate", "match", "gapMatch", "graphicGapMatch"].includes(interaction.type))
201
+ return [];
202
+ const pairs = qtiValueToIdentifierList(response);
203
+ const diagnostics = [];
204
+ for (const choice of interaction.choices) {
205
+ const minimum = parseNonNegativeInteger(choice.attributes["match-min"] ?? "0") ?? 0;
206
+ if (minimum === 0)
207
+ continue;
208
+ const side = choice.role === "matchSource" || choice.role === "gapChoice"
209
+ ? "source"
210
+ : choice.role === "matchTarget" ||
211
+ (interaction.type === "graphicGapMatch" && choice.role === "hotspot")
212
+ ? "target"
213
+ : "either";
214
+ if (directedPairChoiceUseCount(choice, pairs, side) >= minimum)
215
+ continue;
216
+ diagnostics.push({
217
+ code: "response.matchMin",
218
+ severity: "error",
219
+ message: `${choice.text || choice.identifier} must be used at least ${minimum} time${minimum === 1 ? "" : "s"}.`,
220
+ path: responseIdentifier,
221
+ source: choice.source,
222
+ });
223
+ }
224
+ return diagnostics;
225
+ }
166
226
  //# 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;AAKpB,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,9 @@
1
+ import { isQtiTextResponseRecord, qtiTextResponseString } from "./text-response.js";
1
2
  import { assertNever } from "./assert-never.js";
2
- import { isNullResponse, isRecordValue, valueContainer } from "./processing-values.js";
3
+ import { isNullResponse, valueContainer } from "./processing-values.js";
4
+ import { isRecordValue } from "./value-guards.js";
3
5
  import { listNamedResponseInputs } from "./response-input.js";
4
- import { matchMaxDiagnostics, maximumAllowedResponses, maximumResponseDiagnostic, mediaPlayCount, minimumRequiredResponses, requiredResponseDiagnostic, responseCount, responseLimitAttribute, responseValidationPolicy, } from "./response-validation-policy.js";
6
+ import { matchMaxDiagnostics, matchMinDiagnostics, maximumAllowedResponses, maximumResponseDiagnostic, mediaPlayCount, minimumRequiredResponses, requiredResponseDiagnostic, responseCount, responseLimitAttribute, responseValidationPolicy, } from "./response-validation-policy.js";
5
7
  import { parseQtiSliderDefinition, parseQtiSliderValue } from "./slider-definition.js";
6
8
  import { qtiValueToString, readQtiJsonValue } from "./value-format.js";
7
9
  import { parseQtiScalarForBaseType } from "./validation-primitives.js";
@@ -33,14 +35,20 @@ export function parseQtiResponseVariables(input) {
33
35
  if (cardinalityMatches && parsedValue !== undefined) {
34
36
  responses.set(declaration.identifier, parsedValue);
35
37
  validateResponseDomain(declaration, interactions ?? [], parsedValue, diagnostics);
38
+ if (declaration.cardinality === "record" &&
39
+ parsedValue !== null &&
40
+ interactions?.some((interaction) => interaction.type === "textEntry" || interaction.type === "extendedText") &&
41
+ !isQtiTextResponseRecord(parsedValue)) {
42
+ pushResponseDomainDiagnostic(declaration, parsedValue, diagnostics);
43
+ }
36
44
  }
37
45
  }
38
46
  if (interactions === undefined) {
39
- validateDeclarationResponse(declaration, undefined, value, input.allowIncompleteResponses, diagnostics);
47
+ validateDeclarationResponse(declaration, undefined, value, input.allowIncompleteResponses, input.requireScoredResponses, diagnostics);
40
48
  continue;
41
49
  }
42
50
  for (const interaction of interactions) {
43
- validateDeclarationResponse(declaration, interaction, value, input.allowIncompleteResponses, diagnostics);
51
+ validateDeclarationResponse(declaration, interaction, value, input.allowIncompleteResponses, input.requireScoredResponses, diagnostics);
44
52
  }
45
53
  }
46
54
  if (diagnostics.some((diagnostic) => diagnostic.severity === "error")) {
@@ -218,14 +226,25 @@ function matchesCardinality(cardinality, value) {
218
226
  }
219
227
  return assertNever(cardinality);
220
228
  }
221
- function validateDeclarationResponse(declaration, interaction, value, allowIncompleteResponses, diagnostics) {
222
- const policy = responseValidationPolicy(declaration, interaction);
229
+ function validateDeclarationResponse(declaration, interaction, value, allowIncompleteResponses, requireScoredResponses, diagnostics) {
230
+ if (interaction && !allowIncompleteResponses) {
231
+ diagnostics.push(...matchMinDiagnostics(declaration.identifier, interaction, value ?? null).map((diagnostic) => attachResponseIdentifier(declaration.identifier, diagnostic)));
232
+ }
233
+ const policy = responseValidationPolicy(declaration, interaction, requireScoredResponses);
223
234
  if (!policy.checkMinimum && !policy.checkMaximum && !policy.checkMatchMax)
224
235
  return;
225
236
  const effectiveValue = value ?? null;
226
- const count = interaction?.type === "media" ? mediaPlayCount(effectiveValue) : responseCount(effectiveValue);
237
+ const count = interaction?.type === "extendedText" || interaction?.type === "textEntry"
238
+ ? Array.isArray(effectiveValue)
239
+ ? effectiveValue.filter((entry) => entry !== "").length
240
+ : qtiTextResponseString(effectiveValue) === ""
241
+ ? 0
242
+ : 1
243
+ : interaction?.type === "media"
244
+ ? mediaPlayCount(effectiveValue)
245
+ : responseCount(effectiveValue);
227
246
  if (policy.checkMinimum && !allowIncompleteResponses) {
228
- const minimum = effectiveMinimumRequiredResponses(declaration, interaction);
247
+ const minimum = effectiveMinimumRequiredResponses(declaration, interaction, requireScoredResponses);
229
248
  if (count < minimum) {
230
249
  diagnostics.push(attachResponseIdentifier(declaration.identifier, requiredResponseDiagnostic(declaration.identifier, interaction, minimum)));
231
250
  }
@@ -240,9 +259,11 @@ function validateDeclarationResponse(declaration, interaction, value, allowIncom
240
259
  diagnostics.push(...matchMaxDiagnostics(declaration.identifier, interaction, value).map((diagnostic) => attachResponseIdentifier(declaration.identifier, diagnostic)));
241
260
  }
242
261
  }
243
- function effectiveMinimumRequiredResponses(declaration, interaction) {
262
+ function effectiveMinimumRequiredResponses(declaration, interaction, requireScoredResponses) {
244
263
  const minimum = minimumRequiredResponses(interaction);
245
- if (declaration.correctResponse === null || hasAuthoredMinimum(interaction))
264
+ if (!requireScoredResponses ||
265
+ declaration.correctResponse === null ||
266
+ hasAuthoredMinimum(interaction))
246
267
  return minimum;
247
268
  return Math.max(minimum, 1);
248
269
  }
@@ -263,6 +284,7 @@ function isResponseValidationDiagnosticCode(code) {
263
284
  return (code === "response.required" ||
264
285
  code === "response.maximum" ||
265
286
  code === "response.matchMax" ||
287
+ code === "response.matchMin" ||
266
288
  code === "response.cardinality" ||
267
289
  code === "response.baseType" ||
268
290
  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":"serializer-processing-expressions.d.ts","sourceRoot":"","sources":["../src/serializer-processing-expressions.ts"],"names":[],"mappings":"AAcA,OAAO,EAKL,KAAK,oBAAoB,EAE1B,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,uBAAuB,EAA+B,MAAM,YAAY,CAAC;AAQvF;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,uBAAuB,EACnC,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,MAAM,GACb,MAAM,EAAE,CAiPV"}
1
+ {"version":3,"file":"serializer-processing-expressions.d.ts","sourceRoot":"","sources":["../src/serializer-processing-expressions.ts"],"names":[],"mappings":"AAcA,OAAO,EAKL,KAAK,oBAAoB,EAE1B,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,uBAAuB,EAA+B,MAAM,YAAY,CAAC;AAQvF;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,uBAAuB,EACnC,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,MAAM,GACb,MAAM,EAAE,CAgPV"}
@@ -25,8 +25,6 @@ export function serializeExpression(expression, context, indent) {
25
25
  return serializeBaseValue(expression, context, indent);
26
26
  case "null":
27
27
  return renderElement("qti-null", [], [], indent);
28
- case "isNull":
29
- return serializeIsNull(expression, context, indent);
30
28
  case "matchCorrect":
31
29
  return serializeMatchCorrect(expression, context, indent);
32
30
  case "randomInteger":
@@ -40,8 +38,6 @@ export function serializeExpression(expression, context, indent) {
40
38
  { name: "min", fallback: finiteNumberFallback(expression.min) },
41
39
  { name: "max", fallback: finiteNumberFallback(expression.max) },
42
40
  ]), [], indent);
43
- case "random":
44
- return renderElement("qti-random", [], expression.values.flatMap((value) => serializeExpression(value, context, indent + 1)), indent);
45
41
  case "index":
46
42
  return renderExpressionContainer("qti-index", [["n", expression.n]], [expression.expression], context, indent);
47
43
  case "roundTo":
@@ -56,6 +52,8 @@ export function serializeExpression(expression, context, indent) {
56
52
  ], expression.expressions, context, indent);
57
53
  case "not":
58
54
  return renderExpressionContainer("qti-not", [], [expression.expression], context, indent);
55
+ case "equal":
56
+ return renderExpressionContainer("qti-equal", sortedBagAttributes(expression.attributes), [expression.left, expression.right], context, indent);
59
57
  case "equalRounded":
60
58
  return renderExpressionContainer("qti-equal-rounded", [
61
59
  ["rounding-mode", expression.roundingMode],
@@ -138,12 +136,6 @@ function baseValueText(expression) {
138
136
  return undefined;
139
137
  return qtiValueToString(expression.value);
140
138
  }
141
- function serializeIsNull(expression, context, indent) {
142
- if (!requireIdentifier(expression.identifier, "qti-is-null", expression.source, context)) {
143
- return [];
144
- }
145
- return renderElement("qti-is-null", [], renderElement("qti-variable", [["identifier", expression.identifier]], [], indent + 1), indent);
146
- }
147
139
  function serializeMatchCorrect(expression, context, indent) {
148
140
  if (!requireIdentifier(expression.identifier, "qti-match", expression.source, context) ||
149
141
  !requireIdentifier(expression.correctIdentifier, "qti-match", expression.source, context)) {
@@ -1 +1 @@
1
- {"version":3,"file":"serializer-processing-expressions.js","sourceRoot":"","sources":["../src/serializer-processing-expressions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serializer-processing-expressions.js","sourceRoot":"","sources":["../src/serializer-processing-expressions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server-scoring.d.ts","sourceRoot":"","sources":["../src/server-scoring.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EAEL,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC7B,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,6BAA6B,GAAG,uBAAuB,CAAC;AAEpE,MAAM,WAAW,qBACf,SAAQ,6BAA6B,EAAE,0BAA0B;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACvC;AAED,MAAM,WAAW,sBAAsB;IACrC,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;CACtB;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,qBAAqB,GAAG,sBAAsB,CAsB3F"}
1
+ {"version":3,"file":"server-scoring.d.ts","sourceRoot":"","sources":["../src/server-scoring.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EAEL,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC7B,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,6BAA6B,GAAG,uBAAuB,CAAC;AAEpE,MAAM,WAAW,qBACf,SAAQ,6BAA6B,EAAE,0BAA0B;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACvC;AAED,MAAM,WAAW,sBAAsB;IACrC,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;CACtB;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,qBAAqB,GAAG,sBAAsB,CAuB3F"}