document-ingest-provider-office
Enterprise Part of the commercial Kumiko Enterprise offering — not in the open framework.
mammoth/word-extractor-backed DOCX/DOC text provider for document-ingest-foundation. A worker-lane job reacts to documentIngest.requested — text extraction never runs inline in the dispatcher transaction. Verifies DOCX bytes structurally (ZIP Central-Directory word/document.xml entry) with a zip-bomb guard, and DOC bytes via their OLE2 Compound-File header, before ever calling into mammoth/word-extractor — never trusts the client-declared mimeType. Converts DOCX via mammoth with a table-preserving HTML→text walker (one line per row, cells joined with ” | ”); DOC via word-extractor’s plain-text body. Persists documentExtract and fires documentExtract.ready/.failed.
Build it yourself
Section titled “Build it yourself”This Enterprise implementation is optional. If you need a narrower or domain-specific version, you can build an app-owned feature, handler, or job with Kumiko’s public extension points.
Use this package when you want the maintained implementation, its existing contracts, and the surrounding operational behavior. A custom implementation is not drop-in compatible automatically: your app owns its authorization, validation, integrations, tests, security review, and production operations.
Start with Features and composition and Custom write handlers.
How it fits
Section titled “How it fits”What this feature needs to run (Requires).
flowchart TB
n_document_ingest_provider_office["document-ingest-provider-office"]
subgraph how_reqs["Requires"]
n_document_ingest_foundation["document-ingest-foundation"]
end
n_document_ingest_foundation --> n_document_ingest_provider_office
Dependencies
Section titled “Dependencies”- Requires:
document-ingest-foundation - Activation: always on (not toggleable)
Extensions & cross-feature APIs
Section titled “Extensions & cross-feature APIs”- Registers extension:
documentIngestProvider→office