feat(sandbox-adapter): add sandbox providers for agentOS, E2B, and Daytona - #5799
eersnington wants to merge 3 commits into
Conversation
|
This PR was not deployed automatically as @eersnington does not have access to the Railway project. In order to get automatic PR deploys, please add @eersnington to your workspace on Railway. |
Review:
|
| const kill = () => void handle.kill(); | ||
| options.signal?.addEventListener("abort", kill, { once: true }); |
There was a problem hiding this comment.
🟠 Medium · Handle signals that abort before the listener is attached
AbortSignal.addEventListener does not replay an abort that already happened. If the signal is pre-aborted, or aborts while commands.run is awaiting startup, this listener never kills the handle; exec waits for the command to finish and only then throws. Check signal.aborted before launching and again immediately after acquiring the handle (killing it in the latter case) before installing the listener.
0dbd4fe to
e89e085
Compare
e89e085 to
c791b5c
Compare
Adds
@rivet-dev/sandbox-adapter, where an agent's file and shell tools run.SandboxProvidercreates, connects, suspends, and destroys one sandbox per actor.Sandboxisexecplus file operations.SandboxProvider.This is part 1 of 3 in a stack: