Repository navigation
feat(sandbox): run the assistant's code on compute nodes - #572
Conversation
sandbox.register_nodes(list_fn, driver_fn) lets the mesh hand over the install's nodes and a Driver for each node's own gateway. run_python and run_bash then take a node, sandbox_nodes lists where code can run, and a conversation's sandbox stays where it last ran; moving starts a fresh one and deletes the old. Sweep, forget and clear act on each sandbox where it is. Without registered nodes nothing changes. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GbBS222wEEQgkuui6CHo6c
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GbBS222wEEQgkuui6CHo6c
…-sg6j7c # Conflicts: # CHANGELOG.md
|
Clicks on 61be512 failed with two 60 s timeouts waiting on the stand-in model's reply: Generated by Claude Code |
v0.15.0 released #400, so the requirements check fails while it stays under In progress. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GbBS222wEEQgkuui6CHo6c
|
pre-commit on fb1fc33 failed the requirements hook: v0.15.0 released #400 while the README still lists it under In progress, so main fails this too. ece8ece moves it to the built list with its Generated by Claude Code |
…-sg6j7c # Conflicts: # README.md # docs/requirements.md
…-sg6j7c # Conflicts: # CHANGELOG.md
Requested by Adeel · project thread
Description
Before: the assistant's
run_pythonandrun_bashcould only run in a sandbox on this machine's OpenShell gateway.After: the mesh (#546) can call
sandbox.register_nodes(list_fn, driver_fn)to hand over the install's nodes, plus a Driver for each node's own gateway, which is reached over the mesh. Once it does:run_pythonandrun_bashtake anode(an id or name, orhere).sandbox_nodestool lists where code can run. For each node it says whether it can run code now, and why not if it can't: it isn't a compute node, it was removed, it hasn't reported in 3 minutes, the mesh is down, or it has no gateway.Until nodes are registered, the model gets no
sandbox_nodesand nonodeparameter, and everything runs here as before.Motivation and Context
Last part of "Chat tools for Gmail, Calendar, Drive, S3 and Bash": Bash on remote VMs or microsandboxes over the Nebula mesh. The split with the mesh thread was agreed: this PR is the seam, and the mesh PR provides
driver_fntalking torow["ip"]:7443.code_sandboxis SCHEMALESS, and an absentnodemeans this machine, so no upgrade step is needed.Types of changes
!in the title)Checklist:
make hookschecks it on commit).docs/accordingly.## UnreleasedinCHANGELOG.md.Done questions (AGENTS.md)
sandbox_nodes, andnodeon the run tools) reach chat, the OpenAI-compatible endpoint and MCP chat.sandbox.*settings.nodefield oncode_sandboxmeans this machine when absent.sandbox.Driver,OpenShell,_gateway,_ready, the sweep and the activity ledger.Generated by Claude Code