0.7.0
The package root now returns typed, preserving document models through parseOle2, parseDoc, parseXls, and parsePpt. Checked expect options select a concrete format at runtime; ambiguous streams and unsupported models produce explicit errors or a compound-file inspection model with diagnostics.
DocDocument.paragraphsexposes main-body text and supported paragraph edits, including length changes outside balanced main-story fields.XlsDocument.sheetsexposes stable cells in tab order, workbook metadata, formulas, and styles. Supported numeric/string edits include preserving NUMBER/MULRK to string conversion; cached formula results are not recalculated.PptDocument.slidesexposes active slide identities and text handles with bounded in-place text setters. Shared physical atoms and unsafe edits fail.CfbDocument.stream(path).bytespreserves unknown streams and directory metadata during supported version 3 mini/regular and version 4 regular edits.- Models own their input and output bytes, expose capabilities and limitations, and update cached state only after a supported candidate has been validated. Stable detached
getStreamcallbacks remain compatible with the prior API.
The raw container parser remains available as parseCompoundFile and through the existing ole2-parser-read subpath. Existing format operation functions remain compatibility APIs. The model and format guides document the primary document API and each writer's limits.
Validation: 401 automated tests, typecheck, build, independently installed packed runtime and strict TypeScript consumers, and Pages checks. Three owned fixture edits generated through the typed setters reopened in Word, Excel, and PowerPoint 16.0: paragraph growth preserved the captured field and its relative anchor, a middle MULRK cell became a string while selected neighboring semantic properties were preserved, and active PowerPoint text changed while captured notes and geometry stayed equal. These selected assertions do not establish rendering fidelity or full format parity. Fixture generators and provenance are retained in the repository and excluded from the npm package.
Visio VSD and Publisher remain structural inspection in this release. Rich Word runs, additional BIFF cell types, PowerPoint shapes, and actual binary VSD models are subsequent work; this release does not represent them as implemented.