Skip to content

[codex] Expose neutral QTI package parser#22

Merged
ottenhoff merged 1 commit into
mainfrom
codex/issue-18-package-parse-model
Jun 30, 2026
Merged

[codex] Expose neutral QTI package parser#22
ottenhoff merged 1 commit into
mainfrom
codex/issue-18-package-parse-model

Conversation

@ottenhoff

Copy link
Copy Markdown
Member

What changed

Closes #18.

  • Added a framework-neutral parseQtiPackage API in qti3-core for reading QTI package ZIP bytes into typed package, manifest, item, asset, timing, and standard-alignment models.
  • Added a zero-third-party-runtime ZIP reader path with caller-supplied raw DEFLATE inflation so core can parse stored packages by default and deflated packages when hosts provide inflation.
  • Split package parsing across focused core modules for ZIP reading, XML parsing, manifest extraction, item/test materialization, metadata, assets, and path/diagnostic helpers.
  • Added package parser coverage and public API export assertions.

Impact

Consumers can now inspect QTI packages server-side or browser-side without binding to a player, DOM renderer, or framework adapter. Normal package failures are surfaced as structured diagnostics rather than silent fallbacks.

Validation

  • CI=true pnpm verify
  • Focused package parser and public API tests
  • Typecheck and raw lint

@ottenhoff ottenhoff marked this pull request as ready for review June 30, 2026 00:58
@ottenhoff ottenhoff merged commit 2b6a48b into main Jun 30, 2026
3 checks passed
@ottenhoff ottenhoff deleted the codex/issue-18-package-parse-model branch June 30, 2026 01:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Expose neutral QTI package manifest parse model

1 participant