@arnilo/prism-office
v0.7.0
Published
Prism office capabilities: documents (docx/xlsx/pptx generate/parse/patch/preview), sheets (CSV/XLSX inference), and diagrams (draw.io embed) as gated subpaths.
Maintainers
Readme
@arnilo/prism-office
Prism office capabilities as one family package with explicit subpaths. Import only what you use; no subpath activates a browser or loads another subpath's parser peers.
| Subpath | Contents |
| --- | --- |
| @arnilo/prism-office/documents | Prism Document Model (kinds doc/sheet/deck), generateDocument (docx/xlsx/pptx), parseDocument + patchDocument round-trip, renderPreviewBlocks/renderPreviewHtml, patch history, fail-closed ERR_PRISM_DOCUMENTS_* namespace. |
| @arnilo/prism-office/sheets | CSV/XLSX ingest with dialect sniffing, exact-decimal safety, bounded schema inference. |
| @arnilo/prism-office/diagrams | draw.io embed model: canonical XML, origin validation, bounded postMessage protocol. |
Install
npm i @arnilo/prism-office@^0.3.0import { generateDocument } from "@arnilo/prism-office/documents";
import { parseCsv } from "@arnilo/prism-office/sheets";Dependencies and trust boundaries
- The
@office-open/{docx,xlsx,pptx,xml}internals are exact-pinned regular dependencies of this manifest; bytes/JSON in and out, no filesystem, no network, noprocess.env. /diagramsis peer-free at runtime:createDrawioEmbeddrives a host-supplied iframe (DrawioEmbedFrame), and the XML/canonicalization API needs nothing else.playwright-coreis only a devDependency for the gated live draw.io conformance test (PRISM_LIVE_DRAWIO_URL), never a host install requirement.- The document parser peers (
mammoth,pdf-parse) belong to@arnilo/prism-coding-tools/document-reader, not to this package. - Caps are enforced before any bytes are produced: oversize models fail closed with
ERR_PRISM_DOCUMENTS_CAP/ sheets caps / diagrams caps, never with partial output.
History
Plans 051–053 drafted three separate packages; the maintainer amendment (plan 054 Task 8)
ships them as one family. See docs/migrate-to-0.4.md for the full 0.4 package map.
