Skip to content

mcp-v0.16.0

Latest

Choose a tag to compare

@superdoc-bot superdoc-bot released this 05 Jul 19:32

What's New

Core preset for AI agents β€” Ships superdoc_inspect and superdoc_perform_action with 40 LLM-safe actions: insert/replace/delete text, add comments, create tables, format content, accept/reject changes, and more. All verbs mapped to document operations.

Tracked paragraph-property changes β€” Numbering and alignment changes now round-trip as w:pPrChange. Track it, export to Word, re-import, and accept or reject in the review UI.

Comment threading β€” reply_to_comment action with proper parentId wiring so conversations survive export/import.

Citation hyperlinks with tracked changes β€” Hyperlinks now preserve w:ins/w:del marks through DOCX export and re-import.

MCP core preset support β€” Serve the core preset tools over Model Context Protocol with MCP_PRESET=core.

createAgentToolkit β€” Single options object returns {tools, systemPrompt, dispatch} with preset and exclusions applied to all three β€” no more forgetting to pass excludeActions to every function.

Provider-native tool formats β€” getTools supports 'vercel' (flat), 'openai' (Chat-Completions-nested), and 'anthropic' (with cache_control).

Improvements

Large-document performance β€” 50s β†’ 16s on 38-page redlines. Headless editor skips whole-doc linked-style CSS. blocks.list returns visible text (skips tracked-deleted runs) so re-editing resolves offsets correctly.

Tracked-change decision interface β€” Side-targeted reject: pass side: 'inserted' | 'deleted' to trackChanges.decide and resolve only half a replacement.

System prompt narrowing β€” excludeActions parameter shrinks both tool enum and prompt documentation β€” model sees no phantom actions.

Receipt token hygiene β€” Per-item lists capped at 8 entries; full counts in executedOperationCount and selectedTargetCount. Stops 200-paragraph font changes from costing thousands of prompt tokens.

Python SDK parity β€” Core preset, 40 actions, dispatch with exclusion guards, create_agent_toolkit, full ActionArgs types.

Fixes

Cell shading on export β€” tables.setShading({ color: null }) now deletes background attr on both table-scoped and cell-scoped paths.

Tracked pPrChange edge cases β€” One-sided replacement survivors downgrade to plain insert/delete. pPrChange inside kept tracked tables resolves via id, not mark-based planner. Tracked numbering attach guards against blank authors.

Border rendering β€” Thick borders paint at authored width (no 2x multiplier).

Native CLI binary prompt assets β€” Bun-compiled binaries now embed system-prompt.md and serve get-system-prompt without TOOLS_ASSET_NOT_FOUND.

Hyperlink round-trip β€” Final-doc export flattens tracked pPrChange so .docx carries only accepted numbering. Accepting a tracked table by id cascades to resolve contained pPr changes.

Prompt asset errors β€” readPromptFile now distinguishes ENOENT (missing asset) from permission/IO failures.

CLI tracked mode transport β€” attach_numbering, add_list_items, lists.setType in changeMode:'tracked' now pass the flag in both input and options dialects so tracked changes survive transport.

move_range safety β€” Refuses ranges containing tables, lists, or images before mutating.

reply_to_comment contract β€” Sends only {text, parentId, parentCommentId} with no target so threads inherit parent's anchor per spec.

Comment export cleanup β€” Synthetic tracked-change rows for the sidebar no longer fabricate spurious w:comment elements on export.