Skip to content

feat(agent): office tools + v2 sandboxed code-canvas - #356

Merged
slaveofcode merged 2 commits into
developfrom
feat/agent-office-tools
Aug 28, 2026
Merged

feat(agent): office tools + v2 sandboxed code-canvas#356
slaveofcode merged 2 commits into
developfrom
feat/agent-office-tools

Conversation

@slaveofcode

@slaveofcode slaveofcode commented Aug 28, 2026

Copy link
Copy Markdown
Owner

Two agent additions:

  1. Office executors — csv-dedupe, spreadsheet-convert (CSV↔xlsx), word-count. They chain.
  2. v2 code-canvas — canvas-draw: the LLM writes JS that draws on a 2D ctx; runs in a locked-down Web Worker (no DOM, no network — fetch/XHR/WS/importScripts/indexedDB/caches neutered; OffscreenCanvas only) with a 6s timeout → PNG. For charts/plots/procedural graphics SVG can't express.

Executor function-name decoupled from page-ref (optional 'page') + duplicate-name guard.

… word count

Add csv-dedupe (remove duplicate rows), spreadsheet-convert (CSV<->xlsx via
SheetJS, auto-detects direction), and word-count (words/chars/reading time). They
chain: 'remove duplicate rows from this csv and give me an Excel file' runs
csv-dedupe -> spreadsheet-convert on the piped output. Decouples executor function
name from its page ref (new optional 'page' field) so several ops can map to one
tool page; adds a duplicate-name guard.
New canvas-draw executor: the LLM writes JS that draws on a 2D ctx; it runs in a
locked-down Web Worker (no DOM, no network — fetch/XHR/WebSocket/importScripts/
indexedDB/caches neutered; OffscreenCanvas only) with a 6s timeout enforced by
the main thread terminating the worker → returns a PNG. For charts, plots and
procedural/pixel graphics SVG can't express. extractCode/runCanvasCode/blobToDataUrl
in canvas-run.lib; sandbox in canvas-sandbox.worker.
@slaveofcode slaveofcode changed the title feat(agent): office/productivity executors (CSV dedupe, CSV↔Excel, word count) feat(agent): office tools + v2 sandboxed code-canvas Aug 28, 2026
@slaveofcode
slaveofcode merged commit b3f0f47 into develop Aug 28, 2026
1 check passed
@slaveofcode
slaveofcode deleted the feat/agent-office-tools branch August 28, 2026 18:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant