Commit Graph
14913 Commits
Author SHA1 Message Date
Michael Bolin 8201c91846 merge commit for archive created by Sapling 2026-05-05 16:34:51 -07:00
Michael Bolin 4912a1f26c npm: bundle standalone bwrap on Linux 2026-05-05 16:34:41 -07:00
Michael Bolin f7eb9d90e3 release: publish standalone bwrap artifacts 2026-05-05 16:34:41 -07:00
Michael Bolin 2aa43ecc9a linux-sandbox: use standalone bundled bwrap 2026-05-05 16:34:41 -07:00
Michael Bolin 2196d2790f merge commit for archive created by Sapling 2026-05-05 16:27:02 -07:00
Michael Bolin 0661b5fa3d npm: bundle standalone bwrap on Linux 2026-05-05 16:26:30 -07:00
Michael Bolin 14c1da7441 release: publish standalone bwrap artifacts 2026-05-05 16:26:30 -07:00
Michael Bolin f1dbc71e45 linux-sandbox: use standalone bundled bwrap 2026-05-05 16:26:30 -07:00
Michael Bolin 3ebff23711 Merge 1cf571b200 into sapling-pr-archive-bolinfest 2026-05-05 16:25:43 -07:00
Michael Bolin 1cf571b200 Move workspace roots onto thread/session state and stop using active permission profile modifications as an overlay for writable roots. Existing app-server threads now preserve their persisted PermissionProfile value across resume, fork, and turn updates; permissions requests on existing threads only update the active named profile after validating it exists. Workspace roots can be updated independently, and SandboxPolicy::WorkspaceWrite no longer stores its own writable_roots. 2026-05-05 16:25:36 -07:00
Michael Bolin 5a3457adf7 Merge 3c80d7da71 into sapling-pr-archive-bolinfest 2026-05-05 16:13:24 -07:00
Michael Bolin 3c80d7da71 npm: bundle standalone bwrap on Linux 2026-05-05 16:13:10 -07:00
Michael Bolin 236dec2624 release: publish standalone bwrap artifacts 2026-05-05 16:13:10 -07:00
Michael Bolin 74039c1cbc linux-sandbox: use standalone bundled bwrap 2026-05-05 16:13:10 -07:00
Michael Bolin 4ae685418a merge commit for archive created by Sapling 2026-05-05 16:07:28 -07:00
Michael Bolin 9537f26268 npm: bundle standalone bwrap on Linux 2026-05-05 16:06:53 -07:00
Michael Bolin 0010611d3a release: publish standalone bwrap artifacts 2026-05-05 16:06:53 -07:00
Michael Bolin 1a8cae26af linux-sandbox: use standalone bundled bwrap 2026-05-05 16:06:53 -07:00
Michael Bolin 332b8b2c74 fix build (#21261)
I believe a merge race in https://github.com/openai/codex/pull/20689
broke the build, so this is a quick fix.

`cargo check --tests` passed locally.
2026-05-05 16:02:06 -07:00
Michael Bolin 50e71e275c Merge b450042d45 into sapling-pr-archive-bolinfest 2026-05-05 16:01:50 -07:00
Michael Bolin b450042d45 Move workspace roots onto thread/session state and stop using active permission profile modifications as an overlay for writable roots. Existing app-server threads now preserve their persisted PermissionProfile value across resume, fork, and turn updates; permissions requests on existing threads only update the active named profile after validating it exists. Workspace roots can be updated independently, and SandboxPolicy::WorkspaceWrite no longer stores its own writable_roots. 2026-05-05 16:01:43 -07:00
Michael Bolin 8384ab5cd4 Merge 2d8e9c99f2 into sapling-pr-archive-bolinfest 2026-05-05 15:58:15 -07:00
Michael Bolin 2d8e9c99f2 fix build 2026-05-05 15:58:05 -07:00
Michael Bolin f9b489543c merge commit for archive created by Sapling 2026-05-05 15:55:12 -07:00
Michael Bolin 023f8b5a6a npm: bundle standalone bwrap on Linux 2026-05-05 15:54:54 -07:00
Michael Bolin e8ae0816fd release: publish standalone bwrap artifacts 2026-05-05 15:54:54 -07:00
Michael Bolin ad6216b5d3 linux-sandbox: use standalone bundled bwrap 2026-05-05 15:54:54 -07:00
Michael Bolin a4bb052e1c Merge 9630e3613a into sapling-pr-archive-bolinfest 2026-05-05 15:49:46 -07:00
Michael Bolin 9630e3613a npm: bundle standalone bwrap on Linux 2026-05-05 15:49:38 -07:00
Michael Bolin 3ef40b7282 release: publish standalone bwrap artifacts 2026-05-05 15:49:38 -07:00
Michael Bolin 84fadf8959 linux-sandbox: use standalone bundled bwrap 2026-05-05 15:49:38 -07:00
Michael Bolin 58c174bb55 merge commit for archive created by Sapling 2026-05-05 15:38:30 -07:00
Michael Bolin e4e09fd081 npm: bundle standalone bwrap on Linux 2026-05-05 15:38:23 -07:00
Michael Bolin 638222a909 release: publish standalone bwrap artifacts 2026-05-05 15:38:23 -07:00
Michael Bolin 1d58319bf8 linux-sandbox: use standalone bundled bwrap 2026-05-05 15:38:23 -07:00
Michael Bolin f3bd568a05 merge commit for archive created by Sapling 2026-05-05 15:35:13 -07:00
Michael Bolin f301b2d3ba npm: bundle standalone bwrap on Linux 2026-05-05 15:34:51 -07:00
Michael Bolin 07d262749d release: publish standalone bwrap artifacts 2026-05-05 15:34:51 -07:00
Michael Bolin 6e7259e822 linux-sandbox: use standalone bundled bwrap 2026-05-05 15:34:51 -07:00
Michael Bolin d067768d6b Merge 581dfce1ea into sapling-pr-archive-bolinfest 2026-05-05 15:26:46 -07:00
Michael Bolin 581dfce1ea npm: bundle standalone bwrap on Linux 2026-05-05 15:26:35 -07:00
Michael Bolin aa28450c87 release: publish standalone bwrap artifacts 2026-05-05 15:26:35 -07:00
Michael Bolin 3477832001 linux-sandbox: use standalone bundled bwrap 2026-05-05 15:26:35 -07:00
Tom ee02cf26d6 codex: use ThreadStore history for core review forks (#20577)
- fork loaded parent threads from `ThreadStore` history in core agent
control paths
- migrate guardian review fork history to loaded session history instead
of rereading rollout files

## Verification
- `cargo test -p codex-core spawn_agent_fork`
2026-05-05 15:25:19 -07:00
Michael Bolin 00199b9b8a Merge 95686245c8 into sapling-pr-archive-bolinfest 2026-05-05 15:21:06 -07:00
Michael Bolin 95686245c8 npm: bundle standalone bwrap on Linux 2026-05-05 15:20:49 -07:00
Michael Bolin 7d9f2f68f7 release: publish standalone bwrap artifacts 2026-05-05 15:20:44 -07:00
Michael Bolin 4b14af6f79 linux-sandbox: use standalone bundled bwrap 2026-05-05 15:20:38 -07:00
Michael Zeng d0f9d5eba2 Add cloud executor registration to exec-server (#19575)
## Summary
This PR adds the first `codex-rs` milestone for remote-exec e2e: a local
`codex exec-server` can now register itself with
`codex-cloud-environments` and attach to the returned rendezvous
websocket.

At a high level, `codex exec-server --cloud ...` now:
- loads ChatGPT auth from normal Codex config
- registers an executor with `codex-cloud-environments`
- receives a signed rendezvous websocket URL
- serves the existing exec-server JSON-RPC protocol over that websocket

## What Changed
- Added `--cloud`, `--cloud-base-url`, `--cloud-environment-id`, and
`--cloud-name` to `codex exec-server`
- Added a new `exec-server/src/cloud.rs` module that handles:
  - registration requests
  - auth/header setup
  - bounded auth retry on `401/403`
  - reconnect/backoff after websocket disconnects
- Reused the existing `ConnectionProcessor` / `ExecServerHandler` path
so cloud mode serves the same exec/filesystem RPC surface as local
websocket mode
- Added cloud-specific error variants and minimal docs for the new mode

## Testing
Manual e2e test that fully goes through exec server flow with our codex
cloud agent as orchestrator
2026-05-05 22:01:48 +00:00
Rasmus Rygaard 7e310bc7f3 Inject state DB, agent graph store (#20689)
## Why

We want the agent graph store to be passed down the stack as a real
dependency, the same way we already treat the thread store.

This will let us inject the agent graph store as a real dependency and
support implementations other than the local SQLite-backed one. Right
now most code instantiates a state DB and an agent graph store
just-in-time. Ideally, we would not depend on the state DB directly but
only read through the higher-level interfaces.

This change makes the dependency boundaries explicit and moves state DB
initialization to process bootstrap instead of hiding it inside local
store implementations.

## What changed

- `ThreadManager` now requires a `StateDbHandle` and an
`AgentGraphStore` at construction time instead of treating them as
optional internals.
- The local store constructors no longer lazily initialize SQLite.
Callers now initialize the state DB once per process and use that shared
handle to build:
  - `LocalThreadStore`
  - `LocalAgentGraphStore`
- App bootstraps (`app-server`, `mcp-server`, `prompt_debug`, and the
thread-manager sample) now initialize the state DB up front and inject
the resulting handle down the stack.
- `app-server` now consistently uses its process-scoped state DB handle
instead of reopening SQLite or trying to recover it from loaded threads.
- Device-key storage now reuses the shared state DB handle instead of
maintaining its own lazy opener.
- The thread archive / descendant traversal paths now use the injected
`AgentGraphStore` instead of reaching through local
thread-store-specific state.

## Verification

- `cargo check -p codex-core -p codex-thread-store -p codex-app-server
-p codex-mcp-server -p codex-thread-manager-sample --tests`
- `cargo test -p codex-thread-store`
- `cargo test -p codex-core
thread_manager_accepts_separate_agent_graph_store_and_thread_store --
--nocapture`
- `cargo test -p codex-app-server
thread_archive_archives_spawned_descendants -- --nocapture`
2026-05-05 21:45:29 +00:00