Skip to content

v0.11.0 — direct OOXML XML editing (read_doc_xml / set_doc_xml)

Choose a tag to compare

@CocoRoF CocoRoF released this 14 Jul 04:56
· 18 commits to main since this release

Documents ARE XML. New universal deterministic primitive (no LLM, no key) on contextifier's byte-preserving raw layer:

  • list_doc_parts(doc) — map of every part (slides, charts, styles, sheets…)
  • get_doc_xml(doc, part) — a part's exact XML text
  • set_doc_xml(doc, part, edits|xml) — exact find/replace patches or whole-part replace; result must stay well-formed XML or nothing is written; untouched parts stay byte-identical

Together with the structured verbs this expresses every edit OOXML can — recolor chart bars, fonts, fills, geometry — through tools instead of raw python-pptx. Wired across all three surfaces (facade, agent_tools, MCP). Tested end-to-end: chart-series recolor via XML patch, read back as FF0000 by python-pptx.