Conversation
|
Honestly, I assumed this "provider" has been explicitly omitted for safety, but your app is very useful nonetheless, with everything else it provides, but I personally don't need the sandboxing. |
9c9b886 to
0ee0d9a
Compare
|
@Karrq Hello! Sorry i completely missed this and went a slop adventure today which seemed to have added a bunch of conflicts 😅 Taking a look tomorrow, I'll also fix the conflicts when I'll test it! I can't promise I'll merge it but I approciate taking the time to make a PR here 🙏 |
|
No worries, I’ll see if I can get a model to rebase the changes in the morning :) |
0ee0d9a to
1a94650
Compare
|
Hey @Karrq, didn't have time last week but saving some time to take a look later today or tomorrow morning! |
|
No worries, thanks for keeping it mind 🫶 |
|
Hey @Karrq ! Finally, took some time to look at your pr and I love the idea! However I'm going to do it slightly differently. Working on it in the next few days is it ok if I ask you for a review to see what you think and if that works for you? Totally ok if not! Thanks again for the pr! |
|
yeah absolutely, that's fine as well. My usecase is just no sandboxing (similar to the original Pi), so I think there are more approaches that work too |
Adds a
localsandbox provider that runs pi agent sessions directly on the host machine as child processes, without requiring Docker, Cloudflare, or Gondolin VMs.What
local(server/relay/src/sandbox/local.ts) - Spawnspi --mode rpc --continueas a local child process with isolated session directories (agent config, git, workspace). Supports attach (stdin/stdout JSON-RPC), exec, and PTY vianode-pty.auth.jsoninto each sandbox's agent dir so OAuth-gated providers (e.g. Anthropic) work without re-authentication.repoIdfield is reinterpreted as a local directory path for local environments, validated at the route level.local > gondolin > docker > cloudflare), falling back on failure. Timeout increased to 30s.Changes across layers
sandboxTypeandsandboxProviderenums extended with"local"safe.directoryis now configurable (not hardcoded to/workspace)New dependency
node-ptyfor terminal/PTY support in local sandboxes