@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 +1 @@
1
- {"version":3,"file":"validation-interactions.js","sourceRoot":"","sources":["../src/validation-interactions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation-interactions.js","sourceRoot":"","sources":["../src/validation-interactions.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.10.4",
3
+ "version": "0.10.6",
4
4
  "description": "Framework-neutral TypeScript core for parsing, validating, scoring, and serializing QTI 3 assessment items.",
5
5
  "keywords": [
6
6
  "assessment",
package/src/catalog.ts CHANGED
@@ -13,6 +13,15 @@ export interface QtiCatalogSupportResolutionOptions {
13
13
  supports?: string | readonly string[] | undefined;
14
14
  languages?: string | readonly string[] | undefined;
15
15
  includeDefaultFallback?: boolean | undefined;
16
+ /** Exact catalog/support/language tuples. Replaces language ranking and fallback; [] selects nothing. */
17
+ exactSelections?: readonly QtiCatalogSupportSelection[] | undefined;
18
+ }
19
+
20
+ /** An already resolved catalog selection; absent language selects only unlanguaged content. */
21
+ export interface QtiCatalogSupportSelection {
22
+ readonly catalogId: string;
23
+ readonly support: string;
24
+ readonly entryLanguage?: string | undefined;
16
25
  }
17
26
 
18
27
  export interface QtiCatalogSupportResolution {
@@ -100,6 +109,26 @@ function matchingCatalogSupports(
100
109
  ): QtiResolvedCatalogSupport[] {
101
110
  return catalog.cards.flatMap((card) => {
102
111
  if (supportFilter && !supportFilter.has(card.support.toLowerCase())) return [];
112
+ if (options.exactSelections !== undefined) {
113
+ const selections = options.exactSelections.filter(
114
+ (selection) =>
115
+ selection.catalogId === catalog.id &&
116
+ selection.support.toLowerCase() === card.support.toLowerCase(),
117
+ );
118
+ return catalogCandidates(card)
119
+ .filter((candidate) =>
120
+ selections.some(
121
+ (selection) =>
122
+ selection.entryLanguage?.toLowerCase() === candidate.language?.toLowerCase(),
123
+ ),
124
+ )
125
+ .map((candidate) =>
126
+ resolvedSupport(catalog, {
127
+ ...candidate,
128
+ selectionReason: candidate.language === undefined ? "unlanguaged" : "exact-language",
129
+ }),
130
+ );
131
+ }
103
132
  return selectedCandidates(card, languages, options).map((candidate) =>
104
133
  resolvedSupport(catalog, candidate),
105
134
  );
package/src/index.ts CHANGED
@@ -9,6 +9,7 @@ export {
9
9
  createCatalogSupportResolution,
10
10
  type QtiCatalogSupportResolution,
11
11
  type QtiCatalogSupportResolutionOptions,
12
+ type QtiCatalogSupportSelection,
12
13
  type QtiCatalogSelectionReason,
13
14
  type QtiResolvedCatalogReference,
14
15
  type QtiResolvedCatalogSupport,
@@ -368,3 +369,17 @@ export {
368
369
  readQtiJsonValue,
369
370
  unknownToDisplayString,
370
371
  } from "./value-format.js";
372
+
373
+ export {
374
+ parseQtiPackageStream,
375
+ type QtiPackageSource,
376
+ type QtiPackageStreamLimits,
377
+ type QtiPackageStreamEvent,
378
+ type QtiPackageStreamSummary,
379
+ } from "./qti-package-stream.js";
380
+
381
+ export {
382
+ captureQtiTextResponse,
383
+ formatQtiTextResponse,
384
+ qtiTextResponseString,
385
+ } from "./text-response.js";
@@ -1,7 +1,15 @@
1
1
  import type { QtiAssessmentItem } from "./types.js";
2
2
 
3
+ /** An external score cannot be inferred from an initialized or restored outcome value. */
4
+ export function itemHasExternalScore(item: QtiAssessmentItem): boolean {
5
+ const scoring = item.outcomeDeclarations.find((declaration) => declaration.identifier === "SCORE")
6
+ ?.attributes["external-scored"];
7
+ return scoring === "human" || scoring === "externalMachine";
8
+ }
9
+
3
10
  /** Items that declare automated scoring via response processing or a SCORE outcome. */
4
11
  export function itemExpectsAutomatedScore(item: QtiAssessmentItem): boolean {
12
+ if (itemHasExternalScore(item)) return false;
5
13
  return (
6
14
  Boolean(item.responseProcessing) ||
7
15
  item.outcomeDeclarations.some((declaration) => declaration.identifier === "SCORE")
package/src/parser.ts CHANGED
@@ -518,6 +518,7 @@ function parseObjectAsset(node: XmlNode | undefined): QtiObjectAsset | undefined
518
518
  const inferredSvgDimensions = inlineSvgDimensions(data);
519
519
  return {
520
520
  data,
521
+ imageAttributes: node.localName === "img" ? node.attributes : pictureImage?.attributes,
521
522
  type:
522
523
  node.attributes.type ??
523
524
  pictureImage?.attributes.type ??
@@ -655,10 +656,7 @@ function firstSourceType(sources: QtiMediaSource[]): string | undefined {
655
656
  }
656
657
 
657
658
  function firstSrcsetCandidate(srcset: string | undefined): string | undefined {
658
- return srcset
659
- ?.split(",")
660
- .map((candidate) => candidate.trim().split(/\s+/)[0])
661
- .find((candidate) => candidate && candidate.length > 0);
659
+ return srcset?.trim().split(/\s+/)[0]?.replace(/,+$/, "");
662
660
  }
663
661
 
664
662
  function assetTypeFromData(data: string | undefined): string | undefined {
@@ -760,7 +758,7 @@ function matchSetIndex(node: XmlNode): number {
760
758
  return siblings.indexOf(node);
761
759
  }
762
760
 
763
- const objectElementNames = new Set(["object", "img"]);
764
- const mediaElementNames = new Set(["audio", "video", ...objectElementNames]);
761
+ const objectElementNames = new Set(["object", "img", "picture"]);
762
+ const mediaElementNames = new Set(["audio", "video", "object", "img"]);
765
763
  const drawingElementNames = new Set(["picture", ...objectElementNames]);
766
764
  const blockBoundaryElementNames = new Set(["p", "div"]);
@@ -14,7 +14,6 @@ import {
14
14
  resolvePackageHref,
15
15
  type PackageXmlFile,
16
16
  } from "./qti-package-xml.js";
17
- import type { QtiPackageEntry } from "./qti-package-zip.js";
18
17
  import type { QtiDiagnostic } from "./types.js";
19
18
 
20
19
  interface PendingAssetReference {
@@ -87,8 +86,8 @@ export function discoverContentAssetHrefs(
87
86
  export function collectPackageAssets(
88
87
  resourcesByIdentifier: ReadonlyMap<string, QtiManifestResource>,
89
88
  assessmentTest: QtiAssessmentTestPackageModel | undefined,
90
- items: readonly QtiPackageItem[],
91
- entriesByPath: ReadonlyMap<string, QtiPackageEntry>,
89
+ items: readonly Pick<QtiPackageItem, "href" | "manifestResourceIdentifier" | "assetHrefs">[],
90
+ entriesByPath: { has(path: string): boolean },
92
91
  diagnostics: QtiDiagnostic[],
93
92
  ): QtiPackageAsset[] {
94
93
  const pending: PendingAssetReference[] = [];
@@ -220,7 +219,7 @@ function collectPackageRelativeTextRefs(
220
219
 
221
220
  function materializeAssets(
222
221
  pending: readonly PendingAssetReference[],
223
- entriesByPath: ReadonlyMap<string, QtiPackageEntry>,
222
+ entriesByPath: { has(path: string): boolean },
224
223
  ): QtiPackageAsset[] {
225
224
  const assetsByHref = new Map<string, PendingAssetReference[]>();
226
225
  for (const reference of pending) {
@@ -346,6 +346,55 @@ export function itemReferencesForPackageShape(
346
346
  return references;
347
347
  }
348
348
 
349
+ export function parsePackageItem(
350
+ reference: PackageItemReference,
351
+ entry: QtiPackageEntry,
352
+ xmlFile: PackageXmlFile | undefined,
353
+ diagnostics: QtiDiagnostic[],
354
+ ): QtiPackageItem {
355
+ const resolvedXml = xmlFile ?? parsePackageXml(entry);
356
+ // Full QTI parse for document model; lightweight tree above supplies metadata and asset refs.
357
+ const parsed = parseQtiXml(resolvedXml.xml);
358
+ const itemDiagnostics = parsed.diagnostics.map((diagnostic) =>
359
+ scopeDiagnosticToPackagePath(reference.href, diagnostic),
360
+ );
361
+ diagnostics.push(...itemDiagnostics);
362
+
363
+ const assetHrefs = resolvedXml.root ? discoverContentAssetHrefs(resolvedXml, diagnostics) : [];
364
+ const root =
365
+ resolvedXml.root?.localName === "qti-assessment-item" &&
366
+ resolvedXml.root.uri === QTI_ASI_NAMESPACE
367
+ ? resolvedXml.root
368
+ : undefined;
369
+ const item = parsed.document?.item;
370
+ const timeLimits = root
371
+ ? parseTimeLimits(qtiChildElements(root, "qti-time-limits")[0], reference.href, diagnostics)
372
+ : undefined;
373
+
374
+ return {
375
+ href: reference.href,
376
+ source: reference.source,
377
+ manifestResourceIdentifier: reference.manifestResourceIdentifier,
378
+ assessmentItemRefIdentifier: reference.assessmentItemRefIdentifier,
379
+ identifier: item?.identifier,
380
+ title: item?.title,
381
+ document: parsed.document,
382
+ timing: root ? parseTimingMetadata(root, reference.href, diagnostics, timeLimits) : undefined,
383
+ timeLimits,
384
+ standards: uniqueStandards([
385
+ ...reference.standards.filter(
386
+ (standard) =>
387
+ standard.resourcePartIdentifier === undefined ||
388
+ standard.resourcePartIdentifier === item?.identifier,
389
+ ),
390
+ ...(root ? parseStandardAlignments(root, reference.href) : []),
391
+ ]),
392
+ assetHrefs,
393
+ diagnostics: itemDiagnostics,
394
+ xml: resolvedXml.xml,
395
+ };
396
+ }
397
+
349
398
  export function parsePackageItems(
350
399
  references: readonly PackageItemReference[],
351
400
  entriesByPath: ReadonlyMap<string, QtiPackageEntry>,
@@ -380,46 +429,7 @@ export function parsePackageItems(
380
429
  continue;
381
430
  }
382
431
 
383
- const xmlFile = xmlFilesByPath.get(reference.href) ?? parsePackageXml(entry);
384
- // Full QTI parse for document model; lightweight tree above supplies metadata and asset refs.
385
- const parsed = parseQtiXml(xmlFile.xml);
386
- const itemDiagnostics = parsed.diagnostics.map((diagnostic) =>
387
- scopeDiagnosticToPackagePath(reference.href, diagnostic),
388
- );
389
- diagnostics.push(...itemDiagnostics);
390
-
391
- const assetHrefs = xmlFile.root ? discoverContentAssetHrefs(xmlFile, diagnostics) : [];
392
- const root =
393
- xmlFile.root?.localName === "qti-assessment-item" && xmlFile.root.uri === QTI_ASI_NAMESPACE
394
- ? xmlFile.root
395
- : undefined;
396
- const item = parsed.document?.item;
397
- const timeLimits = root
398
- ? parseTimeLimits(qtiChildElements(root, "qti-time-limits")[0], reference.href, diagnostics)
399
- : undefined;
400
-
401
- items.push({
402
- href: reference.href,
403
- source: reference.source,
404
- manifestResourceIdentifier: reference.manifestResourceIdentifier,
405
- assessmentItemRefIdentifier: reference.assessmentItemRefIdentifier,
406
- identifier: item?.identifier,
407
- title: item?.title,
408
- document: parsed.document,
409
- timing: root ? parseTimingMetadata(root, reference.href, diagnostics, timeLimits) : undefined,
410
- timeLimits,
411
- standards: uniqueStandards([
412
- ...reference.standards.filter(
413
- (standard) =>
414
- standard.resourcePartIdentifier === undefined ||
415
- standard.resourcePartIdentifier === item?.identifier,
416
- ),
417
- ...(root ? parseStandardAlignments(root, reference.href) : []),
418
- ]),
419
- assetHrefs,
420
- diagnostics: itemDiagnostics,
421
- xml: xmlFile.xml,
422
- });
432
+ items.push(parsePackageItem(reference, entry, xmlFilesByPath.get(reference.href), diagnostics));
423
433
  }
424
434
 
425
435
  return items;
@@ -3,7 +3,6 @@ import { normalizePackagePath, pushPackageDiagnostic } from "./qti-package-paths
3
3
  import { parseStandardAlignments } from "./qti-package-metadata.js";
4
4
  import type { QtiManifestFile, QtiManifestResource, QtiPackageShape } from "./qti-package-types.js";
5
5
  import { childPackageElements, packageDescendants, stripHrefSuffix } from "./qti-package-xml.js";
6
- import type { QtiPackageEntry } from "./qti-package-zip.js";
7
6
  import type { QtiDiagnostic } from "./types.js";
8
7
  import { QTI_PACKAGE_MANIFEST_NAMESPACE } from "./qti-namespaces.js";
9
8
 
@@ -21,7 +20,7 @@ export function isQtiAssessmentTestResource(type: string): boolean {
21
20
 
22
21
  export function parseManifestResources(
23
22
  manifestRoot: QtiPackageXmlNode,
24
- entriesByPath: ReadonlyMap<string, QtiPackageEntry>,
23
+ entriesByPath: { has(path: string): boolean },
25
24
  diagnostics: QtiDiagnostic[],
26
25
  ): QtiManifestResource[] {
27
26
  const resourceNodes = packageDescendants(
@@ -72,7 +71,7 @@ export function parseManifestResources(
72
71
 
73
72
  function parseManifestFiles(
74
73
  resourceNode: QtiPackageXmlNode,
75
- entriesByPath: ReadonlyMap<string, QtiPackageEntry>,
74
+ entriesByPath: { has(path: string): boolean },
76
75
  diagnostics: QtiDiagnostic[],
77
76
  ): QtiManifestFile[] {
78
77
  const files: QtiManifestFile[] = [];
@@ -282,19 +282,31 @@ function optionalFiniteNumber(raw: string | undefined): number | undefined {
282
282
  return Number.isFinite(value) ? value : undefined;
283
283
  }
284
284
 
285
- export function primaryTiming(
285
+ export function primaryTimingFromScan(
286
286
  assessmentTest: QtiAssessmentTestPackageModel | undefined,
287
- items: readonly QtiPackageItem[],
287
+ timedItemCount: number,
288
+ soleItemTiming: QtiTimingMetadata | undefined,
288
289
  ): QtiTimingMetadata | undefined {
289
290
  if (assessmentTest?.timing) return assessmentTest.timing;
291
+ return timedItemCount === 1 ? soleItemTiming : undefined;
292
+ }
293
+
294
+ export function primaryTiming(
295
+ assessmentTest: QtiAssessmentTestPackageModel | undefined,
296
+ items: readonly Pick<QtiPackageItem, "timing">[],
297
+ ): QtiTimingMetadata | undefined {
290
298
  const timedItems = items.filter((item) => item.timing !== undefined);
291
- return timedItems.length === 1 ? timedItems[0]?.timing : undefined;
299
+ return primaryTimingFromScan(
300
+ assessmentTest,
301
+ timedItems.length,
302
+ timedItems.length === 1 ? timedItems[0]?.timing : undefined,
303
+ );
292
304
  }
293
305
 
294
306
  export function packageTitle(
295
307
  manifestRoot: QtiPackageXmlNode | undefined,
296
308
  assessmentTest: QtiAssessmentTestPackageModel | undefined,
297
- items: readonly QtiPackageItem[],
309
+ items: readonly Pick<QtiPackageItem, "title">[],
298
310
  ): string {
299
311
  const manifestTitle = manifestRoot
300
312
  ? packageDescendants(manifestRoot, "title", QTI_PACKAGE_MANIFEST_NAMESPACE)
@@ -0,0 +1,168 @@
1
+ import type { QtiPackageXmlNode } from "./package-xml.js";
2
+ import { collectPackageAssets } from "./qti-package-assets.js";
3
+ import { QTI_PACKAGE_MANIFEST_PATH } from "./qti-package-manifest.js";
4
+ import {
5
+ packageTitle,
6
+ parseStandardAlignments,
7
+ primaryTimingFromScan,
8
+ uniqueStandards,
9
+ } from "./qti-package-metadata.js";
10
+ import { pushPackageDiagnostic } from "./qti-package-paths.js";
11
+ import {
12
+ detectPackageShape,
13
+ diagnoseManifestDependencyReferences,
14
+ diagnosePrimaryResourceHrefs,
15
+ indexManifestResources,
16
+ isQtiAssessmentTestResource,
17
+ isQtiItemResource,
18
+ parseManifestResources,
19
+ } from "./qti-package-manifest.js";
20
+ import { pushXmlDiagnostics, type PackageXmlFile } from "./qti-package-xml.js";
21
+ import type {
22
+ QtiAssessmentTestPackageModel,
23
+ QtiManifestResource,
24
+ QtiPackageItem,
25
+ QtiPackageParseResult,
26
+ QtiPackageShape,
27
+ QtiStandardAlignment,
28
+ QtiTimingMetadata,
29
+ } from "./qti-package-types.js";
30
+ import { QTI_PACKAGE_MANIFEST_NAMESPACE } from "./qti-namespaces.js";
31
+ import type { QtiDiagnostic } from "./types.js";
32
+
33
+ /** Package metadata without extracted bodies or retained item models. */
34
+ export type QtiPackageSummary = Omit<QtiPackageParseResult, "items" | "entries"> & {
35
+ readonly itemCount: number;
36
+ };
37
+
38
+ /** Inspect manifest semantics against an entry inventory without reading item bodies. */
39
+ export function inspectPackageManifest(
40
+ entriesByPath: { has(path: string): boolean },
41
+ manifestXml: PackageXmlFile | undefined,
42
+ diagnostics: QtiDiagnostic[],
43
+ ) {
44
+ if (!manifestXml) {
45
+ pushPackageDiagnostic(
46
+ diagnostics,
47
+ "package.manifest.missing",
48
+ "error",
49
+ "QTI package does not contain imsmanifest.xml.",
50
+ QTI_PACKAGE_MANIFEST_PATH,
51
+ );
52
+ } else {
53
+ pushXmlDiagnostics(manifestXml, diagnostics);
54
+ }
55
+
56
+ const manifestRoot =
57
+ manifestXml?.root?.localName === "manifest" &&
58
+ manifestXml.root.uri === QTI_PACKAGE_MANIFEST_NAMESPACE
59
+ ? manifestXml.root
60
+ : undefined;
61
+ if (manifestXml?.root && !manifestRoot) {
62
+ pushPackageDiagnostic(
63
+ diagnostics,
64
+ "package.manifest.root",
65
+ "error",
66
+ manifestXml.root.localName === "manifest"
67
+ ? `Expected imsmanifest.xml manifest in namespace ${QTI_PACKAGE_MANIFEST_NAMESPACE}, found ${manifestXml.root.uri ?? "(none)"}.`
68
+ : `Expected imsmanifest.xml root manifest, found ${manifestXml.root.localName}.`,
69
+ QTI_PACKAGE_MANIFEST_PATH,
70
+ );
71
+ }
72
+
73
+ const manifestResources = manifestRoot
74
+ ? parseManifestResources(manifestRoot, entriesByPath, diagnostics)
75
+ : [];
76
+ const resourcesByIdentifier = indexManifestResources(manifestResources, diagnostics);
77
+ diagnoseManifestDependencyReferences(manifestResources, resourcesByIdentifier, diagnostics);
78
+
79
+ const itemResources = manifestResources.filter((resource) => isQtiItemResource(resource.type));
80
+ const assessmentTestResources = manifestResources.filter((resource) =>
81
+ isQtiAssessmentTestResource(resource.type),
82
+ );
83
+ diagnosePrimaryResourceHrefs([...itemResources, ...assessmentTestResources], diagnostics);
84
+
85
+ const packageShape = detectPackageShape(itemResources, assessmentTestResources, diagnostics);
86
+ return {
87
+ manifestRoot,
88
+ manifestResources,
89
+ resourcesByIdentifier,
90
+ itemResources,
91
+ assessmentTestResources,
92
+ packageShape,
93
+ };
94
+ }
95
+
96
+ export interface BuildPackageSummaryInput {
97
+ readonly manifestRoot: QtiPackageXmlNode | undefined;
98
+ readonly manifestResources: readonly QtiManifestResource[];
99
+ readonly resourcesByIdentifier: ReadonlyMap<string, QtiManifestResource>;
100
+ readonly packageShape: QtiPackageShape;
101
+ readonly assessmentTest: QtiAssessmentTestPackageModel | undefined;
102
+ readonly assetItems: readonly Pick<
103
+ QtiPackageItem,
104
+ "href" | "manifestResourceIdentifier" | "assetHrefs"
105
+ >[];
106
+ readonly titleItems: readonly Pick<QtiPackageItem, "title">[];
107
+ readonly timedItemCount: number;
108
+ readonly soleItemTiming: QtiTimingMetadata | undefined;
109
+ readonly itemStandards: readonly QtiStandardAlignment[];
110
+ readonly entriesByPath: { has(path: string): boolean };
111
+ readonly diagnostics: QtiDiagnostic[];
112
+ readonly itemCount: number;
113
+ }
114
+
115
+ /** Build canonical package metadata shared by sync and incremental parsers. */
116
+ export function buildPackageSummary(input: BuildPackageSummaryInput): QtiPackageSummary {
117
+ const assets = collectPackageAssets(
118
+ input.resourcesByIdentifier,
119
+ input.assessmentTest,
120
+ input.assetItems,
121
+ input.entriesByPath,
122
+ input.diagnostics,
123
+ );
124
+ return {
125
+ ok: input.diagnostics.every((diagnostic) => diagnostic.severity !== "error"),
126
+ title: packageTitle(input.manifestRoot, input.assessmentTest, input.titleItems),
127
+ packageShape: input.packageShape,
128
+ manifestResources: input.manifestResources,
129
+ assessmentTest: input.assessmentTest,
130
+ assets,
131
+ standards: uniqueStandards([
132
+ ...(input.manifestRoot
133
+ ? parseStandardAlignments(input.manifestRoot, QTI_PACKAGE_MANIFEST_PATH)
134
+ : []),
135
+ ...(input.assessmentTest?.standards ?? []),
136
+ ...input.itemStandards,
137
+ ]),
138
+ timing: primaryTimingFromScan(input.assessmentTest, input.timedItemCount, input.soleItemTiming),
139
+ diagnostics: input.diagnostics,
140
+ itemCount: input.itemCount,
141
+ };
142
+ }
143
+
144
+ export function failedPackageSummary(diagnostics: QtiDiagnostic[]): QtiPackageSummary {
145
+ return {
146
+ ok: false,
147
+ title: "",
148
+ packageShape: "unknown",
149
+ manifestResources: [],
150
+ assessmentTest: undefined,
151
+ assets: [],
152
+ standards: [],
153
+ timing: undefined,
154
+ itemCount: 0,
155
+ diagnostics,
156
+ };
157
+ }
158
+
159
+ export function enforceDiagnosticLimit(diagnostics: QtiDiagnostic[], maxDiagnostics: number): void {
160
+ if (diagnostics.length < maxDiagnostics) return;
161
+ diagnostics.length = maxDiagnostics;
162
+ pushPackageDiagnostic(
163
+ diagnostics,
164
+ "package.diagnostics.limit",
165
+ "error",
166
+ "Package processing stopped at the diagnostic limit.",
167
+ );
168
+ }