@longsightgroup/qti3-core 0.9.10 → 0.10.1

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 (66) hide show
  1. package/dist/attempt-state.d.ts.map +1 -1
  2. package/dist/attempt-state.js +8 -2
  3. package/dist/attempt-state.js.map +1 -1
  4. package/dist/delivery-redaction.d.ts +0 -1
  5. package/dist/delivery-redaction.d.ts.map +1 -1
  6. package/dist/delivery-redaction.js +0 -10
  7. package/dist/delivery-redaction.js.map +1 -1
  8. package/dist/delivery-security.d.ts.map +1 -1
  9. package/dist/delivery-security.js +2 -1
  10. package/dist/delivery-security.js.map +1 -1
  11. package/dist/index.d.ts +1 -1
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +1 -1
  14. package/dist/index.js.map +1 -1
  15. package/dist/parser-declarations.d.ts.map +1 -1
  16. package/dist/parser-declarations.js +2 -2
  17. package/dist/parser-declarations.js.map +1 -1
  18. package/dist/parser-item-metadata.d.ts.map +1 -1
  19. package/dist/parser-item-metadata.js +2 -1
  20. package/dist/parser-item-metadata.js.map +1 -1
  21. package/dist/parser-processing.js +4 -4
  22. package/dist/parser-processing.js.map +1 -1
  23. package/dist/parser-values.d.ts.map +1 -1
  24. package/dist/parser-values.js +9 -6
  25. package/dist/parser-values.js.map +1 -1
  26. package/dist/qti-package-items.d.ts.map +1 -1
  27. package/dist/qti-package-items.js +23 -6
  28. package/dist/qti-package-items.js.map +1 -1
  29. package/dist/qti-package-manifest.d.ts.map +1 -1
  30. package/dist/qti-package-manifest.js +0 -4
  31. package/dist/qti-package-manifest.js.map +1 -1
  32. package/dist/qti-package-zip.d.ts +0 -6
  33. package/dist/qti-package-zip.d.ts.map +1 -1
  34. package/dist/qti-package-zip.js.map +1 -1
  35. package/dist/qti-package.d.ts.map +1 -1
  36. package/dist/qti-package.js +1 -8
  37. package/dist/qti-package.js.map +1 -1
  38. package/dist/response-validation-policy.d.ts.map +1 -1
  39. package/dist/response-validation-policy.js +2 -1
  40. package/dist/response-validation-policy.js.map +1 -1
  41. package/dist/validation-primitives.d.ts.map +1 -1
  42. package/dist/validation-primitives.js +2 -1
  43. package/dist/validation-primitives.js.map +1 -1
  44. package/dist/validation-processing.d.ts.map +1 -1
  45. package/dist/validation-processing.js +2 -2
  46. package/dist/validation-processing.js.map +1 -1
  47. package/dist/validation.d.ts.map +1 -1
  48. package/dist/validation.js +18 -6
  49. package/dist/validation.js.map +1 -1
  50. package/package.json +1 -1
  51. package/src/attempt-state.ts +6 -2
  52. package/src/delivery-redaction.ts +0 -8
  53. package/src/delivery-security.ts +1 -1
  54. package/src/index.ts +1 -1
  55. package/src/parser-declarations.ts +2 -1
  56. package/src/parser-item-metadata.ts +2 -1
  57. package/src/parser-processing.ts +4 -4
  58. package/src/parser-values.ts +7 -4
  59. package/src/qti-package-items.ts +28 -6
  60. package/src/qti-package-manifest.ts +0 -11
  61. package/src/qti-package-zip.ts +0 -6
  62. package/src/qti-package.ts +2 -27
  63. package/src/response-validation-policy.ts +2 -1
  64. package/src/validation-primitives.ts +2 -1
  65. package/src/validation-processing.ts +7 -2
  66. package/src/validation.ts +22 -6
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@longsightgroup/qti3-core",
3
- "version": "0.9.10",
3
+ "version": "0.10.1",
4
4
  "description": "Framework-neutral TypeScript core for parsing, validating, scoring, and serializing QTI 3 assessment items.",
5
5
  "keywords": [
6
6
  "assessment",
@@ -16,6 +16,7 @@ import {
16
16
  COMPLETION_UNKNOWN,
17
17
  } from "./attempt-state-constants.js";
18
18
  import { isQtiPortableCustomStateValue, isQtiValue, qtiValueToString } from "./value-format.js";
19
+ import { parseXmlBoolean } from "./parser-values.js";
19
20
  import { isRecordValue } from "./processing-values.js";
20
21
  import { isPair, isPoint } from "./validation-primitives.js";
21
22
 
@@ -161,8 +162,11 @@ function restoredScalarMatchesBaseType(
161
162
  if (baseType === "float") {
162
163
  return typeof value === "number" ? Number.isFinite(value) : Number.isFinite(Number(value));
163
164
  }
164
- if (baseType === "boolean")
165
- return typeof value === "boolean" || value === "true" || value === "false";
165
+ if (baseType === "boolean") {
166
+ if (typeof value === "boolean") return true;
167
+ if (typeof value === "string") return parseXmlBoolean(value) !== undefined;
168
+ return false;
169
+ }
166
170
  if (baseType === "point") return isPoint(String(value));
167
171
  if (baseType === "pair" || baseType === "directedPair") return isPair(String(value));
168
172
  if (baseType === "identifier")
@@ -244,14 +244,6 @@ export function normalizedQtiElementName(localName: string): string {
244
244
  return lower.startsWith("qti-") ? lower.slice("qti-".length) : lower;
245
245
  }
246
246
 
247
- export function parseXmlBoolean(value: string | undefined): boolean | undefined {
248
- if (value === undefined) return undefined;
249
- const normalized = value.trim().toLowerCase();
250
- if (normalized === "true" || normalized === "1") return true;
251
- if (normalized === "false" || normalized === "0") return false;
252
- return undefined;
253
- }
254
-
255
247
  export function isDeclarationDefaultValue(node: XmlNode, normalizedName: string): boolean {
256
248
  return (
257
249
  normalizedName === "default-value" &&
@@ -4,12 +4,12 @@ import {
4
4
  isDeclarationDefaultValue,
5
5
  normalizedQtiElementName,
6
6
  parseDeliveryXml,
7
- parseXmlBoolean,
8
7
  redactDeliveryXml,
9
8
  type DeliveryRedactionPolicy,
10
9
  type QtiDeliverySecurityAnalysis,
11
10
  type QtiDeliverySecurityFindingKind,
12
11
  } from "./delivery-redaction.js";
12
+ import { parseXmlBoolean } from "./parser-values.js";
13
13
  import type { XmlNode } from "./xml.js";
14
14
 
15
15
  export type {
package/src/index.ts CHANGED
@@ -84,7 +84,7 @@ export {
84
84
  } from "./qti-package.js";
85
85
  export { detectPackageMediaType } from "./qti-package-assets.js";
86
86
  export { parseQtiXml } from "./parser.js";
87
- export { numericTuple3, numericTuple4 } from "./parser-values.js";
87
+ export { numericTuple3, numericTuple4, parseXmlBoolean } from "./parser-values.js";
88
88
  export { collectQtiResponseProcessingExpressions } from "./processing-expression-collection.js";
89
89
  export { isConformanceParseDiagnostic } from "./parse-diagnostics.js";
90
90
  export {
@@ -5,6 +5,7 @@ import {
5
5
  parseCardinality,
6
6
  parseCoords,
7
7
  parseShape,
8
+ parseXmlBoolean,
8
9
  } from "./parser-values.js";
9
10
  import type {
10
11
  QtiBaseType,
@@ -163,7 +164,7 @@ function parseInterpolationTable(
163
164
  entries: childElements(node, "qti-interpolation-table-entry").map((entry) => ({
164
165
  sourceValue: Number(entry.attributes["source-value"]),
165
166
  targetValue: parseLookupValue(entry.attributes["target-value"], baseType),
166
- includeBoundary: entry.attributes["include-boundary"] !== "false",
167
+ includeBoundary: parseXmlBoolean(entry.attributes["include-boundary"]) ?? true,
167
168
  attributes: entry.attributes,
168
169
  source: entry.source,
169
170
  })),
@@ -19,6 +19,7 @@ import {
19
19
  type ParsedCompanionMaterialChildQtiName,
20
20
  pushCompanionMaterialParseWarning,
21
21
  } from "./companion-materials.js";
22
+ import { parseXmlBoolean } from "./parser-values.js";
22
23
  import { childElements, descendants, textContent, type XmlNode } from "./xml.js";
23
24
 
24
25
  export function firstChildElement(
@@ -107,7 +108,7 @@ function parseCatalogCard(node: XmlNode): QtiCatalogCard {
107
108
  function parseCatalogCardEntry(node: XmlNode): QtiCatalogCardEntry {
108
109
  return {
109
110
  language: node.attributes["xml:lang"] ?? node.attributes.lang,
110
- default: node.attributes.default === "true",
111
+ default: parseXmlBoolean(node.attributes.default) === true,
111
112
  htmlContent: parseCatalogHtmlContent(childElements(node, "qti-html-content")[0]),
112
113
  fileHrefs: childElements(node, "qti-file-href").map(parseCatalogFileHref),
113
114
  attributes: node.attributes,
@@ -1,4 +1,4 @@
1
- import { coerceValue, parseCoords, parseShape } from "./parser-values.js";
1
+ import { coerceValue, parseCoords, parseShape, parseXmlBoolean } from "./parser-values.js";
2
2
  import { responseConditionsFromRules } from "./processing-rules.js";
3
3
  import type {
4
4
  QtiLookupOutcomeValue,
@@ -528,8 +528,8 @@ function parseExpression(node: XmlNode): QtiProcessingExpression | undefined {
528
528
  type: "stringMatch",
529
529
  left,
530
530
  right,
531
- caseSensitive: node.attributes["case-sensitive"] !== "false",
532
- substring: node.attributes.substring === "true",
531
+ caseSensitive: parseXmlBoolean(node.attributes["case-sensitive"]) ?? true,
532
+ substring: parseXmlBoolean(node.attributes.substring) === true,
533
533
  source: node.source,
534
534
  };
535
535
  }
@@ -544,7 +544,7 @@ function parseExpression(node: XmlNode): QtiProcessingExpression | undefined {
544
544
  type: "substring",
545
545
  left,
546
546
  right,
547
- caseSensitive: node.attributes["case-sensitive"] !== "false",
547
+ caseSensitive: parseXmlBoolean(node.attributes["case-sensitive"]) ?? true,
548
548
  source: node.source,
549
549
  };
550
550
  }
@@ -46,8 +46,9 @@ export function coerceValue(value: string, baseType: string | undefined): QtiSca
46
46
  if (baseType === "integer") return Number.parseInt(value, 10);
47
47
  if (baseType === "float") return Number.parseFloat(value);
48
48
  if (baseType === "boolean") {
49
- if (value === "true") return true;
50
- if (value === "false") return false;
49
+ const parsed = parseXmlBoolean(value);
50
+ if (parsed !== undefined) return parsed;
51
+ // Invalid boolean literals fall through to the raw string; validation rejects them separately.
51
52
  }
52
53
  return value;
53
54
  }
@@ -58,8 +59,10 @@ export function parseCardinality(value: string | undefined): QtiCardinality {
58
59
  }
59
60
 
60
61
  export function parseXmlBoolean(value: string | undefined): boolean | undefined {
61
- if (value === "true" || value === "1") return true;
62
- if (value === "false" || value === "0") return false;
62
+ if (value === undefined) return undefined;
63
+ const normalized = value.trim().toLowerCase();
64
+ if (normalized === "true" || normalized === "1") return true;
65
+ if (normalized === "false" || normalized === "0") return false;
63
66
  return undefined;
64
67
  }
65
68
 
@@ -284,12 +284,34 @@ export function itemReferencesForPackageShape(
284
284
  diagnostics: QtiDiagnostic[],
285
285
  ): PackageItemReference[] {
286
286
  if (packageShape === "assessment-test-resource") {
287
- return (assessmentTest?.itemRefs ?? []).map((itemRef) => ({
288
- href: itemRef.href,
289
- source: "assessment-test",
290
- assessmentItemRefIdentifier: itemRef.identifier,
291
- standards: assessmentTest?.standards ?? [],
292
- }));
287
+ const itemResourcesByHref = new Map<string, QtiManifestResource>();
288
+ for (const resource of itemResources) {
289
+ if (resource.href === undefined) continue;
290
+ if (itemResourcesByHref.has(resource.href)) {
291
+ pushPackageDiagnostic(
292
+ diagnostics,
293
+ "package.manifest.itemResource.href.duplicate",
294
+ "error",
295
+ `Multiple manifest item resources point to ${resource.href}.`,
296
+ resource.href,
297
+ );
298
+ continue;
299
+ }
300
+ itemResourcesByHref.set(resource.href, resource);
301
+ }
302
+ return (assessmentTest?.itemRefs ?? []).map((itemRef) => {
303
+ const itemResource = itemResourcesByHref.get(itemRef.href);
304
+ return {
305
+ href: itemRef.href,
306
+ source: "assessment-test",
307
+ manifestResourceIdentifier: itemResource?.identifier,
308
+ assessmentItemRefIdentifier: itemRef.identifier,
309
+ standards: uniqueStandards([
310
+ ...(assessmentTest?.standards ?? []),
311
+ ...(itemResource?.standards ?? []),
312
+ ]),
313
+ };
314
+ });
293
315
  }
294
316
 
295
317
  if (packageShape !== "manifest-item-resources") return [];
@@ -189,17 +189,6 @@ export function detectPackageShape(
189
189
  assessmentTestResources: readonly QtiManifestResource[],
190
190
  diagnostics: QtiDiagnostic[],
191
191
  ): QtiPackageShape {
192
- if (assessmentTestResources.length > 0 && itemResources.length > 0) {
193
- pushPackageDiagnostic(
194
- diagnostics,
195
- "package.shape.ambiguous",
196
- "error",
197
- "Manifest contains both QTI item resources and QTI assessment-test resources.",
198
- QTI_PACKAGE_MANIFEST_PATH,
199
- );
200
- return "unknown";
201
- }
202
-
203
192
  if (assessmentTestResources.length > 0) return "assessment-test-resource";
204
193
  if (itemResources.length > 0) return "manifest-item-resources";
205
194
 
@@ -18,12 +18,6 @@ export type QtiPackageInflateRaw = (
18
18
  /** Options for parsing a QTI ZIP package. */
19
19
  export interface QtiPackageParseOptions {
20
20
  readonly inflateRaw?: QtiPackageInflateRaw | undefined;
21
- /**
22
- * When both item and assessment-test manifest resources are present, strict mode
23
- * reports package.shape.ambiguous. prefer-assessment-test treats the package as a
24
- * test-structure import and resolves items from assessment-test item refs.
25
- */
26
- readonly manifestShapePolicy?: "strict" | "prefer-assessment-test" | undefined;
27
21
  }
28
22
 
29
23
  /** Decoded ZIP entry from a QTI package. */
@@ -21,11 +21,7 @@ import {
21
21
  primaryTiming,
22
22
  uniqueStandards,
23
23
  } from "./qti-package-metadata.js";
24
- import type {
25
- QtiManifestResource,
26
- QtiPackageParseResult,
27
- QtiPackageShape,
28
- } from "./qti-package-types.js";
24
+ import type { QtiPackageParseResult } from "./qti-package-types.js";
29
25
  import { parseXmlFiles, pushXmlDiagnostics } from "./qti-package-xml.js";
30
26
  import {
31
27
  decodeUtf8,
@@ -126,12 +122,7 @@ function parseQtiPackageEntries(
126
122
  );
127
123
  diagnosePrimaryResourceHrefs([...itemResources, ...assessmentTestResources], diagnostics);
128
124
 
129
- const packageShape = resolvePackageShape(
130
- itemResources,
131
- assessmentTestResources,
132
- options,
133
- diagnostics,
134
- );
125
+ const packageShape = detectPackageShape(itemResources, assessmentTestResources, diagnostics);
135
126
  const assessmentTest = parseAssessmentTestPackageModel(
136
127
  packageShape,
137
128
  assessmentTestResources,
@@ -199,19 +190,3 @@ function indexEntries(
199
190
  }
200
191
  return entriesByPath;
201
192
  }
202
-
203
- function resolvePackageShape(
204
- itemResources: readonly QtiManifestResource[],
205
- assessmentTestResources: readonly QtiManifestResource[],
206
- options: QtiPackageParseOptions,
207
- diagnostics: QtiDiagnostic[],
208
- ): QtiPackageShape {
209
- if (
210
- options.manifestShapePolicy === "prefer-assessment-test" &&
211
- assessmentTestResources.length > 0
212
- ) {
213
- return "assessment-test-resource";
214
- }
215
-
216
- return detectPackageShape(itemResources, assessmentTestResources, diagnostics);
217
- }
@@ -1,4 +1,5 @@
1
1
  import type { QtiChoice, QtiDiagnostic, QtiInteraction, QtiValue } from "./types.js";
2
+ import { parseXmlBoolean } from "./parser-values.js";
2
3
  import { parseNonNegativeInteger } from "./validation-primitives.js";
3
4
  import { qtiValueToIdentifierList } from "./value-format.js";
4
5
 
@@ -36,7 +37,7 @@ export function responseLimitAttribute(
36
37
  }
37
38
 
38
39
  function interactionRequiresResponse(interaction: QtiInteraction): boolean {
39
- return interaction.attributes.required === "true";
40
+ return parseXmlBoolean(interaction.attributes.required) === true;
40
41
  }
41
42
 
42
43
  export function minimumRequiredResponses(interaction: QtiInteraction | undefined): number {
@@ -1,4 +1,5 @@
1
1
  import type { QtiBaseType, QtiCardinality, QtiDiagnostic } from "./types.js";
2
+ import { parseXmlBoolean } from "./parser-values.js";
2
3
 
3
4
  export function requireIdentifier(
4
5
  qtiName: string,
@@ -54,7 +55,7 @@ export function parseNonNegativeInteger(value: string | undefined): number | und
54
55
  }
55
56
 
56
57
  export function isBooleanAttribute(value: string): boolean {
57
- return value === "true" || value === "false" || value === "1" || value === "0";
58
+ return parseXmlBoolean(value) !== undefined;
58
59
  }
59
60
 
60
61
  export function isPoint(value: string): boolean {
@@ -13,7 +13,12 @@ import {
13
13
  responseProcessingTemplateKind,
14
14
  type ResponseProcessingTemplateKind,
15
15
  } from "./processing-templates.js";
16
- import { isBaseType, isFiniteNumber, isInteger } from "./validation-primitives.js";
16
+ import {
17
+ isBaseType,
18
+ isBooleanAttribute,
19
+ isFiniteNumber,
20
+ isInteger,
21
+ } from "./validation-primitives.js";
17
22
  import { COMPLETION_STATUS } from "./attempt-state-constants.js";
18
23
 
19
24
  export function validateResponseProcessingTemplate(
@@ -640,7 +645,7 @@ function validateBaseValueExpression(
640
645
  source: expression.source,
641
646
  });
642
647
  }
643
- if (expression.baseType === "boolean" && value !== "true" && value !== "false") {
648
+ if (expression.baseType === "boolean" && !isBooleanAttribute(value)) {
644
649
  diagnostics.push({
645
650
  code: "processing.baseValue.boolean",
646
651
  severity: "error",
package/src/validation.ts CHANGED
@@ -23,6 +23,7 @@ import {
23
23
  } from "./validation-geometry.js";
24
24
  import {
25
25
  isBaseType,
26
+ isBooleanAttribute,
26
27
  isCardinality,
27
28
  isFiniteNumber,
28
29
  isInteger,
@@ -82,7 +83,7 @@ function validateAssessmentItemRoot(item: QtiAssessmentItem, diagnostics: QtiDia
82
83
  path: item.source?.path,
83
84
  source: item.source,
84
85
  });
85
- } else if (!isXmlBoolean(timeDependent)) {
86
+ } else if (!isBooleanAttribute(timeDependent)) {
86
87
  diagnostics.push({
87
88
  code: "assessmentItem.timeDependent.boolean",
88
89
  severity: "error",
@@ -93,10 +94,6 @@ function validateAssessmentItemRoot(item: QtiAssessmentItem, diagnostics: QtiDia
93
94
  }
94
95
  }
95
96
 
96
- function isXmlBoolean(value: string): boolean {
97
- return value === "true" || value === "false" || value === "1" || value === "0";
98
- }
99
-
100
97
  function validateItemBody(item: QtiAssessmentItem, diagnostics: QtiDiagnostic[]): void {
101
98
  if (item.itemBodySource) return;
102
99
  diagnostics.push({
@@ -219,7 +216,7 @@ function isValidDeclarationBaseValue(value: string, baseType: QtiBaseType): bool
219
216
  case "float":
220
217
  return isFiniteNumber(value);
221
218
  case "boolean":
222
- return value === "true" || value === "false";
219
+ return isBooleanAttribute(value);
223
220
  case "point":
224
221
  return isPoint(value);
225
222
  case "pair":
@@ -669,6 +666,19 @@ function validateCatalogCard(
669
666
  });
670
667
  }
671
668
 
669
+ if (isCatalogCardEntry(card)) {
670
+ const defaultAttribute = card.attributes.default;
671
+ if (defaultAttribute !== undefined && !isBooleanAttribute(defaultAttribute)) {
672
+ diagnostics.push({
673
+ code: "catalog.cardEntry.default.boolean",
674
+ severity: "error",
675
+ message: `qti-card-entry default must be an XML boolean, found ${defaultAttribute}.`,
676
+ path: card.source?.path,
677
+ source: card.source,
678
+ });
679
+ }
680
+ }
681
+
672
682
  const defaultEntries = entries.filter((entry) => entry.default);
673
683
  if (defaultEntries.length > 1) {
674
684
  diagnostics.push({
@@ -698,6 +708,12 @@ function validateCatalogCard(
698
708
  }
699
709
  }
700
710
 
711
+ function isCatalogCardEntry(
712
+ card: QtiCatalogCard | QtiCatalogCardEntry,
713
+ ): card is QtiCatalogCardEntry {
714
+ return !("entries" in card);
715
+ }
716
+
701
717
  function validateCatalogHtmlContent(nodes: QtiContentNode[], diagnostics: QtiDiagnostic[]): void {
702
718
  for (const node of nodes) {
703
719
  if (node.kind === "element") {