fabro/lib/apps
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
..
fabro-cli Expect the driver's stop event in the stored event history snapshot 2026-09-11 13:58:09 -06:00
fabro-mcp-server Expose lithos request and response shapes through the API, server, CLI, and web 2026-09-09 17:26:57 -06:00
fabro-server Move the Read tool's line numbering and the shell quoting wrapper out of fabro-sandbox 2026-09-11 15:00:17 -06:00
fabro-spa refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00