| name | sandbox-mammoth |
| description | Read a Word document as text or HTML in a Code node or CodeAct action, with mammoth running on the host |
Word documents in the sandbox (reading)
Specifier: @nodetool-ai/sandbox-mammoth. Import it at the top of the body.
mammoth reads a .docx buffer through Node's own zip/XML stack; it will never
be a guest module. This pack is a host module: the import resolves to a
generated facade over NodeTool's own implementation.
extractRawText — docx bytes to plain text
import { extractRawText } from "@nodetool-ai/sandbox-mammoth";
const bytes = await workspace.readBytes("report.docx");
const text = await extractRawText(bytes);
Formatting is discarded — this is the fast path when you only need the words.
convertToHtml — docx bytes to HTML
import { convertToHtml } from "@nodetool-ai/sandbox-mammoth";
const html = await convertToHtml(bytes);
Headings, lists, tables, bold/italic runs, and embedded images (as base64 data
URIs) survive the conversion. Track changes, headers/footers, footnotes, and
exact visual layout do not — mammoth targets semantic HTML, not a pixel-exact
render.
Get the bytes from workspace.readBytes, or from a fetched body with
await response.bytes().
Gotchas
- Both exports are async.
- 10 MB per document. Larger input is refused by name.
- Reading only. To build a
.docx, use @nodetool-ai/sandbox-docx
instead.