mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-15 23:32:46 +00:00
Fabro-sandbox carried its own SandboxEvent enum and a callback for it. The run sandbox wrapped every lifecycle call to emit a start, completed, or failed variant with its own clock, and re-described the driver's create-time progress as snapshot events through an observer that lived next to the run sandbox. The workflow then converted that enum to the wire. The driver already reports every operation it performs, so the enum was a second, hand-maintained copy of that stream. The workflow now observes the driver's events directly. A run's sandbox is created or attached with a driver EventContext whose observer is the new SandboxEventBridge in the workflow's event module. The bridge turns the driver's start, stop, and delete operations, its image pull inside a create, and its snapshot builds into the workflow's SandboxLifecycle events, stamping fabro's provider name so the run keeps recording `local` rather than the driver's `host`. The pipeline emits the initializing, ready, and failed events itself around bringing the sandbox up, since that composite step — create, activate, prepare the workspace — is the pipeline's, not the driver's. Fabro-sandbox emits no events of its own any more; the run sandbox gained console_url for the ready event, and a local sandbox can be created with an event context. The wire keeps every name the CLI reads. Two families go: the cleanup events, which only the server's manifest validation could have produced and it passed no callback, and the git clone events, which nothing read and whose facts the sandbox.initialized event and tracing already carry. The ready event drops the cpu and memory fields no provider ever populated. Daytona snapshot events now come from the driver's ensure call, so a snapshot that already exists and is active reports nothing rather than a creating-and-ready pair that did no work. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| fabro-cli | ||
| fabro-mcp-server | ||
| fabro-server | ||
| fabro-spa | ||