document
document
The document worker converts office documents on the machine. A .docx or a
.pptx is a ZIP of XML: reading one with a file-reading function returns
compressed noise and spends the context on it, so every office document goes
through document::* instead. Conversion is local, needs no credential, and
sends nothing anywhere.
One serializer sits behind every format, so a .doc from 2003 and a .pptx
from yesterday come out with the same heading, table and list conventions. That
sameness is the point: a conversation handling a mixed bag of attachments reads
one shape, not fourteen.
The one thing markdown cannot carry is the pictures. An embedded image renders
as its alt text, which is right for prose and wrong for a deck of diagrams — a
deck whose content is images converts to a page of titles and reads as an empty
document. document::to-markdown reports how many images it dropped, and
document::extract-assets returns their bytes for a model that can see them.