fabro/lib
Bryan Helmkamp 8771ef6d8e
Move the Read tool's line numbering and the shell quoting wrapper out of fabro-sandbox
format_lines_numbered renders a file the way the agent's Read tool shows
it: every line prefixed with its number, from an offset for a limit. That
is the agent's presentation, not a sandbox concern, and it only lived in
fabro-sandbox so RunSandbox::read_file(path, offset, limit) could call
it. The function now lives in fabro-agent next to the Read tool, with its
tests, and the Read, ReadManyFiles, and Kimi ReadFile tools number the
text they get from read_file_text themselves. RunSandbox::read_file goes
away; the sandbox returns bytes or text and nothing else.

fabro-sandbox also re-exported shell_quote through a one-line wrapper so
callers could reach it from the sandbox crate or from fabro-agent. The
audited implementation is fabro_util:🐚:shell_quote; the six
importers now use it directly and the wrapper and both re-exports are
gone.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-11 15:00:17 -06:00
..
apps Move the Read tool's line numbering and the shell quoting wrapper out of fabro-sandbox 2026-09-11 15:00:17 -06:00
components Move the Read tool's line numbering and the shell quoting wrapper out of fabro-sandbox 2026-09-11 15:00:17 -06:00
foundation Redact the driver's event ids in CLI snapshots and leave a local sandbox unnamed 2026-09-11 13:55:45 -06:00
packages/fabro-api-client Run the agent's MCP servers and the service listing through the driver's services facet 2026-09-11 13:18:02 -06:00