Rohit C Prasad
de8ce3dd5f
Docs: OpenShell sandboxes, a README tier and bullet, and the config example
...
(cherry picked from commit d77d1d8ec1 )
2026-09-24 18:04:27 -05:00
Devika Verma
3d4fdfbead
Merge pull request #684 from andrewyng/sandboxing-open-shell
...
Add support for Sandboxing using NVIDIA OpenShell
2026-09-25 04:21:58 +05:30
Devika Verma
37a09360d1
Sandbox lifetime: a dropped engine closes its sandbox; shutdown closes all; orphans reaped at start
2026-09-21 20:56:08 -07:00
Devika Verma
5ce2a18a92
Packaged app: the sidecar runs as the tool runner, and ships the runner sources
...
openworker-server sandbox-runner serve|attach loads only the runner package. The spec ships the runner and toolkit sources as data, so the zipapp can be packed from the frozen build.
2026-09-21 20:50:18 -07:00
Devika Verma
7792a417f6
Credential grants: the ssh wrapper lives in the copied home, so OpenShell carries it in
...
The runner daemon puts that folder first on PATH. Live OpenShell test for grants added; passes on the Linux VM.
2026-09-21 20:40:12 -07:00
Devika Verma
48fecdf4ca
Settings: a Sandbox page for the provider, the network allow list and shared credentials
...
Machine-level, read and written through /v1/settings/sandbox into the machine's config.toml.
Adds the sandbox_network_profile setting; strings in English and Chinese.
2026-09-21 19:54:44 -07:00
Devika Verma
f1d3711d78
Sandbox: a failed creation removes its folder, so no copied credential is left behind
2026-09-21 19:15:40 -07:00
Devika Verma
c9bbe009a1
Sandbox credential grants: chosen home files copied into the sandbox
...
A machine-level list (ssh, gh, aws, kube to start); enabled entries are copied into the sandbox's private home and their hosts join the allow list.
ssh and git are pointed at the copy, and ssh tunnels through the proxy; the agent is told what it was given.
2026-09-21 19:14:30 -07:00
Devika Verma
cc2b921b18
Merge pull request #679 from andrewyng/rp/team-view-review
...
Add Team View and harden agent-team coordination
2026-09-22 06:53:31 +05:30
Rohit C Prasad
b9a30e7978
Prevent resolved approvals from reappearing after delayed updates
...
Remember resolved calls across delayed Inbox responses and gate events without hiding newer requests.
2026-09-21 15:26:59 -07:00
Rohit C Prasad
81a01ff901
Reconcile ordinary approval cards by exact tool call identity
...
Carry exact call identities through approval events and reconcile cards on completion or resolved Inbox records.
2026-09-21 13:11:29 -07:00
Rohit C Prasad
cc728bcf7c
Fix device provenance and linked worker denial recovery
...
Exclude device sinks from file provenance and atomically resolve linked worker denials with durable recovery.
2026-09-21 12:47:21 -07:00
Rohit C Prasad
2d6bf292c9
Clarify verified revision handoff to publish branch owner
...
Require the publish-branch owner to fast-forward a clean checkout to the exact independently verified revision.
2026-09-21 12:24:13 -07:00
Rohit C Prasad
2e7b734ab2
Make team coordination event driven and quiet
...
Keep routine team updates quiet while preserving actionable wakes for questions, blockers and assignments.
2026-09-21 06:02:41 -07:00
Rohit C Prasad
a75ca94f5f
Add incremental board reads and immutable team artifacts
...
Return compact board receipts, page comments incrementally and publish shared versioned file artifacts.
2026-09-20 23:09:47 -07:00
Rohit C Prasad
9beb204159
Fail closed when the approval owner is unavailable
...
Require human review when the approval-owning session is missing instead of assuming its context.
2026-09-20 19:40:18 -07:00
Rohit C Prasad
001e2b9be9
Document approval context and refine Advanced disclosure
...
Document approval-context boundaries and keep advanced worker guidance in a compact disclosure.
2026-09-20 19:36:09 -07:00
Rohit C Prasad
3146e65594
Carry explicit approval guidance into team reviews
...
Persist user-reviewed worker guidance and pass deterministic role, assignment and workspace context to reviews.
2026-09-20 19:31:01 -07:00
Rohit C Prasad
810fcd4637
Open the account picker when adding a GitHub installation
...
Start GitHub installation selection explicitly instead of silently reusing an existing account.
2026-09-20 17:13:27 -07:00
Rohit C Prasad
89bdad221f
Let leads own repository setup and preserve configured targets
...
Let leads clone repositories and workers create their own worktrees without replacing missing configured sessions.
2026-09-20 16:59:18 -07:00
Rohit C Prasad
eef0122b24
Clarify team approvals and surface every pending request
...
Surface every pending request and review delegated actions using the original worker permission context.
2026-09-20 15:03:01 -07:00
Rohit C Prasad
4099fee5bc
Add structured outcome and staffing proposals
...
Introduce grouped work and staffing proposals with acceptance criteria and explicit external-action intent.
2026-09-20 11:42:30 -07:00
Rohit C Prasad
c0feec56dd
Make the team panel compact and searchable at large team sizes
...
Add compact team controls, bounded roster previews and a searchable, paged worker directory.
2026-09-20 08:37:49 -07:00
Rohit C Prasad
f3c5977eff
Refresh team approvals and streamline background activity and navigation
...
Refresh cached approval settings, group background updates and open workers beside the lead.
2026-09-20 07:46:14 -07:00
Rohit C Prasad
ede4320f33
Align team disclosures and simplify worker approval cards
...
Align transcript disclosure rows and sleeping strips while removing duplicate command summaries.
2026-09-20 00:01:55 -07:00
Rohit C Prasad
443e50e15f
Harden board-owned image attachments and local retention
...
Copy authorized image evidence into board-owned storage and preserve it after source-worktree removal.
2026-09-19 23:33:33 -07:00
Rohit C Prasad
4f9e79c751
Synchronize resolved team proposal cards across views
...
Use exact proposal identities and resolved Inbox records to synchronize cards across viewers.
2026-09-19 22:59:37 -07:00
Rohit C Prasad
faa047cc6c
Make idle check-ins cancellable and batch team wakes
...
Cancel idle check-ins on earlier activity, carry their reminders forward and batch ordinary board wakes.
2026-09-19 22:11:49 -07:00
Rohit C Prasad
db81e29779
Add scoped task reads and reconcile obsolete approvals
...
Scope task reads to the team and retire approvals only when the exact action already has a result.
2026-09-19 21:47:56 -07:00
Rohit C Prasad
f7fcd0d260
Fix team approval handoffs and self-wake behavior
...
Show the original worker action, retire linked approvals and yield correctly after scheduling a wake.
2026-09-19 20:47:00 -07:00
Rohit C Prasad
b7ef51c360
Add worker session navigation back to its lead
...
Link full worker sessions back to their recorded lead, including after a direct open or reload.
2026-09-19 20:09:02 -07:00
Rohit C Prasad
b20db26029
Separate task details from worker conversations
...
Keep task evidence separate from worker transcripts and reuse the composer for worker conversations.
2026-09-19 20:03:11 -07:00
Rohit C Prasad
bba6cb75ec
Build the team view and worker conversation pane
...
Add Work, Workers and Stats panes, task chips, quiet updates and the worker conversation view.
2026-09-19 18:41:10 -07:00
Rohit C Prasad
592eb7a669
Harden team accounting and shared status interfaces
...
Handle overlapping work and incomplete accounting while exposing consistent status updates across interfaces.
2026-09-19 18:39:03 -07:00
Devika Verma
58385ef02b
Seatbelt provider: the tool runner inside the macOS sandbox
...
Files limited to the session's folders, network only through the allow-list proxy, no secrets in the environment.
A folder granted while a session runs restarts the sandbox and tells the agent (both providers).
On macOS the executor finds a timed-out command's children without pgrep.
2026-09-19 18:31:35 -07:00
Devika Verma
0ab12bb4dc
Sandbox network: shared host lists and an allow-list proxy
...
The host lists per profile move out of the OpenShell policy so every provider uses them.
The proxy tunnels HTTPS to listed hosts only, for sandboxes that cannot filter by host.
2026-09-19 18:31:28 -07:00
Rohit C Prasad
9e9d7e421e
Add team progress and usage projections
...
Expose team progress, worker status and recorded time/token usage through shared projections.
2026-09-19 18:28:23 -07:00
Devika Verma
02f0b4d4c6
Sandbox provider selection, machine status line and the sandbox setup command
...
Headless: OpenShell when usable, else direct with a loud warning; an explicit setting refuses.
sandbox_provider is machine-level only, so a repository cannot switch the sandbox off.
openworker machine sandbox status|setup is served but not listed in help yet.
2026-09-19 17:16:25 -07:00
Devika Verma
4181039ac4
OpenShell provider: one sandbox per agent, with a registry and network profiles
...
Folders are bind-mounted at their real paths; the runner is a read-only mount and the main command.
The policy is rendered from the session's roots, with the owner's uid and Landlock as a hard requirement.
The runner's pipe is the gateway's gRPC exec stream; the registry caps and cleans up sandboxes.
2026-09-19 16:53:35 -07:00
Devika Verma
ced3390c07
Workspace tools run inside the tool runner when a session uses one
...
Definitions stay in the server; a proxy sends only the call (one tool.call per tool).
The packed runner carries the server's own aisuite file and git toolkits.
Parity tests run all ten tools in both modes on twin folders.
2026-09-19 16:06:09 -07:00
Devika Verma
dd448ab617
read_file, grep and git_log logic moves to standard-library-only modules
...
No behaviour change: the tool definitions stay in coworker/tools and call the moved logic.
The same code will run inside a sandbox as part of the tool runner.
2026-09-19 15:56:25 -07:00
Devika Verma
35bd530421
Tool runner: the local daemon removes its socket folder when it stops
2026-09-19 15:44:51 -07:00
Devika Verma
e70181f776
Tool runner: JSON-RPC daemon, attach relay, client and the Workspace interface
...
Direct mode stays the default and is unchanged; the runner serves the same Executor contract.
A cut stream resumes, a restarted runner fails running commands, a request id runs once.
Shell tests now run on both paths; runner-local is a developer provider with no confinement.
2026-09-19 15:40:33 -07:00
Devika Verma
f35d3723a5
Shell executor moves to a standard-library-only module
...
No behaviour change: coworker.tools.shell re-exports it and adds the managed tool path.
The tool runner will pack this module into a sandbox, so it cannot import the app.
2026-09-19 15:28:53 -07:00
Devika Verma
c79fa9b778
Merge pull request #673 from andrewyng/rp/pypi-cli
...
CLI: `openworker join`, `up` and `machine` commands; package publishes as `openworker`
2026-09-19 10:53:08 +05:30
Rohit C Prasad
e0c7b6eeb0
CLI: join and up at the top level; one spelling per command
...
openworker machine keeps status, keys, logs, service and leave.
join takes a link, or a controller's address to approve a code there (was auth join).
2026-09-18 21:58:37 -07:00
Rohit C Prasad
a15fb38c93
CLI: machine logs, status --json, launchd service on macOS; install.sh
...
The installer uses uv or pipx for the current user, and refuses the PyPI placeholder by name.
2026-09-18 21:35:04 -07:00
Rohit C Prasad
a5ed9c8937
CLI: openworker machine commands, real help and version; package publishes as openworker
...
aisuite comes from PyPI (0.2.0), so the package has no git-URL dependency.
Older top-level spellings (openworker join, up, status) keep working, unlisted.
2026-09-18 16:40:07 -07:00
Rohit Prasad
fc3417f849
Merge pull request #672 from andrewyng/rp/remote-machines
...
Remote machines, agent-team cards, and connectors across machines
2026-09-18 14:26:01 -07:00
Rohit C Prasad
4b1dd4868b
Translations: English and Chinese keys for the new screens
...
Every string on the new screens goes through t(), with keys in en.json and zh.json.
2026-09-18 12:26:00 -07:00