Skip to content

Commit 05038f4

Browse files
committed
Make the Flow tool surface easier to evolve without changing its contract
The tool registry had become the next maintainability hotspot after the transition split, with raw schemas, helper wrappers, session tools, and runtime tools all concentrated in one file. This change keeps the public `createTools()` entrypoint stable while separating schemas, shared helper logic, and tool registration by category. Constraint: Must preserve tool names, raw arg shapes, and runtime response semantics Constraint: Must not add new dependencies or change the public tools facade Rejected: Refactor session persistence first | higher IO and migration sensitivity than the tools split Rejected: Split per tool file | would over-fragment the tool/runtime contract and add navigation overhead Confidence: high Scope-risk: moderate Reversibility: clean Directive: Review schemas.ts together with session-tools.ts and runtime-tools.ts when changing tool contracts Tested: bun test tests/config.test.ts; bun test tests/runtime.test.ts; bun run typecheck; bun run check; LSP diagnostics on affected files Not-tested: Manual interactive plugin usage outside automated coverage
1 parent 261eff5 commit 05038f4

7 files changed

Lines changed: 726 additions & 646 deletions

File tree

0 commit comments

Comments
 (0)