Repository navigation
feat(web): sandbox settings, open sessions and computer time on the sandbox toolkit page (#225) - #317
Merged
Merged
Conversation
ian-pascoe
enabled auto-merge (squash)
October 21, 2026 16:37
|
Preview |
…andbox toolkit page (#225) The sandbox toolkit's page gains its network and computer among the facts (members read them), and, for org admins, Sandbox settings: the org's ceiling as a network picker (none, only these hosts with the package registries preset, the internet) and "may use the computer", under a note that network access and prompt-injected tool results together leak data. Without deployment.computer admins see the computer turned off with a one-line reason and a link to DEPLOY.md's Optional pieces; members are told nothing. The price per computer hour is the existing prices field. Open sessions lists a member's own sandbox sessions (when each opened, its network, whether its computer runs) and, for org admins, the org's others, with no file details; any may be ended, which deletes the files, writes the usage record and charges the computer's last stretch. New: the sandbox sessions management routes (GET and DELETE /sandbox-sessions, contract and Tools part) and SandboxProvider.status. Usage's tool-call view words computer time as it words browser time. The agent editor's network picker is now the shared NetworkPicker.
ian-pascoe
force-pushed
the
issue-225-sandbox-panel
branch
from
October 21, 2026 16:45
365aad0 to
f8a7240
Compare
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #225
Summary
The sandbox toolkit's page (
/tools/sandbox) now has what the browser toolkit's has: its settings, the org's open sessions, and computer time in usage.truncated); a session the provider cannot be asked about is listed without network and computer, one it does not know is forgotten.endBrowserSessionhad the same gap for browser hours; fixed here.NetworkPicker: the hosts textarea sits under "Only these hosts" and carriesaria-invalidwhen an entry is wrong.browserDurationis nowmeteredDuration, as it words computer time too.Evidence
Before:
endSandboxSessionandendBrowserSessioncharged Spend limits but left the plan's hours unchanged.After: both count the last stretch (
packages/tools/test/plan-limits.test.ts; the two new cases fail without the fix):Real
SandboxSessionobjects (packages/tools/test/sandbox-sessions.test.ts): the 201-session cap, one usage record of 60 000 µ$ when a session is ended (and none more from a late alarm or a second end), a shared agent run's session (admin only), an unreachable and a vanished session, a failed end that leaves the session open.Router and Access gate (
apps/app/test/sandbox-sessions.test.ts): member and admin lists, end by the member and by an admin, 404 for another member's session.Panel models:
sandbox-settings,sandbox-sessions,usage-toolstests inapps/web/test.pnpm typecheckandpnpm lintpass; touched test files run one at a time.Merge Danger
Door: two-way
Blast Radius: sandbox toolkit page, agent editor's network picker
The app Worker's new routes call
listSandboxSessionsandendSandboxSession, which a State Worker from before lacks: both routes answer502 control plane unavailableuntil the State Worker is deployed; nothing else reads them.