mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-15 23:32:46 +00:00
fabro_sandbox::exec::SandboxExec runs Bash source through a driver Exec facet with fabro's own stop policy. Fabro disables the driver's hard timeout and runs its own timer; a timeout or a caller's cancellation fires the driver's TERM token, waits the grace period, then fires KILL. The result reports why fabro stopped the command (timed out or cancelled) rather than which signal the provider observed, and a stopped command carries no exit code so a shell's 143 is never read as a program result. Output streams through the caller's callback, is drained past the retention cap, and explicit environment variables pass a fail-closed credential filter on the host and through unchanged on isolated providers. spawn_stdio wraps the driver's bidirectional process and its rolling stderr tail in fabro's existing stdio types. Driver errors now map into fabro's error type as a boxed variant with accessors for the not-found, unsupported, transport, and incomplete cases, and the redacted output tail helper reads a driver ExecFailure as well as fabro's own exec error. The Local sandbox's credential name filter moves to the exec module so both paths share one policy. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| fabro-acp | ||
| fabro-agent | ||
| fabro-automation | ||
| fabro-checkpoint | ||
| fabro-dump | ||
| fabro-environment | ||
| fabro-github | ||
| fabro-graphviz | ||
| fabro-hooks | ||
| fabro-install | ||
| fabro-interview | ||
| fabro-llm | ||
| fabro-manifest | ||
| fabro-mcp | ||
| fabro-mcp-store | ||
| fabro-sandbox | ||
| fabro-slack | ||
| fabro-store | ||
| fabro-tool | ||
| fabro-tracker | ||
| fabro-validate | ||
| fabro-variable | ||
| fabro-workflow | ||
| fabro-workflow-version | ||