mirror of
https://github.com/rowboatlabs/rowboat.git
synced 2026-07-12 21:02:17 +02:00
The 2,091-line BuiltinTools object literal becomes 15 domain modules (files, parsing, mcp, shell, code, browser, app, web, memory, composio, models, live-note, background-tasks, notifications, agent-analysis) plus a shared support module; the root builtin-tools.ts keeps the same public path and exports and shrinks to loadSkill + spawn-agent (catalog infrastructure) and the ordered merge. Catalog key order is provider-payload bytes (tool declarations sit in the cached prompt prefix), and the historical order interleaves domains — so the spread order preserves it verbatim, with code/app/web each contributing two fragments at their original positions. Entries were moved by script, not retyped. Two proofs pin the order: a HISTORICAL_KEY_ORDER test on the merged catalog, and a pre/post runtime key dump compared during the split (byte-identical). Adding a tool now means editing its domain module; adding a domain means one fragment in the ordered merge list. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| core | ||
| shared | ||