Commit Graph
5860 Commits
Author SHA1 Message Date
Michael Bolin 1b0ccbcdf6 Merge 402f9c67c9 into sapling-pr-archive-bolinfest 2025-12-19 10:20:49 -08:00
Michael Bolin 402f9c67c9 feat: make ConstraintError an enum 2025-12-19 10:18:23 -08:00
GalaxyDetective 014235f533 Fix: /undo destructively interacts with git staging (#8214) (#8303)
Fixes #8214 by removing the '--staged' flag from the undo git restore
command. This ensures that while the working tree is reverted to the
snapshot state, the user's staged changes (index) are preserved,
preventing data loss. Also adds a regression test.
2025-12-19 10:07:41 -08:00
jdijk-deventit b15b5082c6 Fix link to contributing.md in experimental.md (#8311)
# External (non-OpenAI) Pull Request Requirements

Before opening this Pull Request, please read the dedicated
"Contributing" markdown file or your PR may be closed:
https://github.com/openai/codex/blob/main/docs/contributing.md

If your PR conforms to our contribution guidelines, replace this text
with a detailed and high quality description of your changes.

Include a link to a bug report or enhancement request.
2025-12-19 09:42:56 -08:00
Michael Bolin b1a0a60555 merge commit for archive created by Sapling 2025-12-19 09:35:59 -08:00
Michael Bolin 159b0d088b feat: support allowed_sandbox_modes in requirements.toml 2025-12-19 09:35:51 -08:00
Gav Verma 37071e7e5c Update system skills from OSS repo (#8328)
https://github.com/openai/skills/tree/main/skills/.system
2025-12-19 09:31:04 -08:00
xl-openai eeda6a5004 Revert "Keep skills feature flag default OFF for windows." (#8325)
Reverts openai/codex#8308
2025-12-19 16:22:14 +00:00
xl-openai 6f94a90797 Keep skills feature flag default OFF for windows. (#8308)
Keep windows OFF first.
2025-12-18 21:57:15 -08:00
xl-openai 339b052d68 Fix admin skills. (#8305)
We were assembling the skill roots in two different places, and the
admin root was missing in one of them. This change centralizes root
selection into a helper so both paths stay in sync.
2025-12-19 04:10:19 +00:00
Gav Verma f4371d2f6c Add short descriptions to system skills (#8301) 2025-12-19 02:44:53 +00:00
xl-openai 8120c8765b Support admin scope skills. (#8296)
a new scope reads from /etc/codex
2025-12-19 02:28:56 +00:00
xl-openai d35337227a skills feature default on. (#8297)
skills default on.
2025-12-18 18:26:46 -08:00
xl-openai ba835c3c36 Fix tests (#8299)
Fix broken tests.
2025-12-19 02:07:23 +00:00
Michael Bolin 3a005dccee merge commit for archive created by Sapling 2025-12-18 18:05:55 -08:00
Michael Bolin 41db2f6ea5 feat: support allowed_sandbox_modes in requirements.toml 2025-12-18 18:05:46 -08:00
Michael Bolin 587f9861a4 merge commit for archive created by Sapling 2025-12-18 18:02:11 -08:00
Michael Bolin 03ffbd6d17 feat: support allowed_sandbox_modes in requirements.toml 2025-12-18 18:02:02 -08:00
Michael Bolin 62e0140ddf Merge c0e54e78ec into sapling-pr-archive-bolinfest 2025-12-18 17:48:24 -08:00
Michael Bolin c0e54e78ec feat: support allowed_sandbox_modes in requirements.toml 2025-12-18 17:48:09 -08:00
xl-openai dcc01198e2 UI tweaks on skills popup. (#8250)
Only display the skill name (not the folder), and truncate the skill
description to a maximum of two lines.
2025-12-19 01:16:51 +00:00
jif-oai 6c76d17713 feat: collapse "waiting" of unified_exec (#8257)
Screenshots here but check the snapshot files to see it better
<img width="712" height="408" alt="Screenshot 2025-12-18 at 11 58 02"
src="https://github.com/user-attachments/assets/84a2c410-0767-4870-84d1-ae1c0d4c445e"
/>
<img width="523" height="352" alt="Screenshot 2025-12-18 at 11 17 41"
src="https://github.com/user-attachments/assets/d029c7ea-0feb-4493-9dca-af43a0c70c52"
/>
2025-12-18 17:03:43 -08:00
Anton Panasenko 3429de21b3 feat: introduce ExternalSandbox policy (#8290)
## Description

Introduced `ExternalSandbox` policy to cover use case when sandbox
defined by outside environment, effectively it translates to
`SandboxMode#DangerFullAccess` for file system (since sandbox configured
on container level) and configurable `network_access` (either Restricted
or Enabled by outside environment).

as example you can configure `ExternalSandbox` policy as part of
`sendUserTurn` v1 app_server API:

```
 {
            "conversationId": <id>,
            "cwd": <cwd>,
            "approvalPolicy": "never",
            "sandboxPolicy": {
                  "type": ""external-sandbox",
                  "network_access": "enabled"/"restricted"
            },
            "model": <model>,
            "effort": <effort>,
            ....
        }
```
2025-12-18 17:02:03 -08:00
Michael Bolin 3d4ced3ff5 chore: migrate from Config::load_from_base_config_with_overrides to ConfigBuilder (#8276)
https://github.com/openai/codex/pull/8235 introduced `ConfigBuilder` and
this PR updates all call non-test call sites to use it instead of
`Config::load_from_base_config_with_overrides()`.

This is important because `load_from_base_config_with_overrides()` uses
an empty `ConfigRequirements`, which is a reasonable default for testing
so the tests are not influenced by the settings on the host. This method
is now guarded by `#[cfg(test)]` so it cannot be used by business logic.

Because `ConfigBuilder::build()` is `async`, many of the test methods
had to be migrated to be `async`, as well. On the bright side, this made
it possible to eliminate a bunch of `block_on_future()` stuff.
2025-12-18 16:12:52 -08:00
Koichi Shiraishi 2d9826098e fix: remove duplicate shell_snapshot FeatureSpec (#8274)
regression: #8199

Signed-off-by: Koichi Shiraishi <zchee.io@gmail.com>
2025-12-18 15:55:47 -08:00
Michael Bolin 27e609460c Merge 67d011f22a into sapling-pr-archive-bolinfest 2025-12-18 15:37:41 -08:00
Michael Bolin 67d011f22a chore: migrate from Config::load_from_base_config_with_overrides to ConfigBuilder 2025-12-18 15:34:15 -08:00
Michael Bolin 46baedd7cb fix: change codex/sandbox-state/update from a notification to a request (#8142)
Historically, `accept_elicitation_for_prompt_rule()` was flaky because
we were using a notification to update the sandbox followed by a `shell`
tool request that we expected to be subject to the new sandbox config,
but because [rmcp](https://crates.io/crates/rmcp) MCP servers delegate
each incoming message to a new Tokio task, messages are not guaranteed
to be processed in order, so sometimes the `shell` tool call would run
before the notification was processed.

Prior to this PR, we relied on a generous `sleep()` between the
notification and the request to reduce the change of the test flaking
out.

This PR implements a proper fix, which is to use a _request_ instead of
a notification for the sandbox update so that we can wait for the
response to the sandbox request before sending the request to the
`shell` tool call. Previously, `rmcp` did not support custom requests,
but I fixed that in
https://github.com/modelcontextprotocol/rust-sdk/pull/590, which made it
into the `0.12.0` release (see #8288).

This PR updates `shell-tool-mcp` to expect
`"codex/sandbox-state/update"` as a _request_ instead of a notification
and sends the appropriate ack. Note this behavior is tied to our custom
`codex/sandbox-state` capability, which Codex honors as an MCP client,
which is why `core/src/mcp_connection_manager.rs` had to be updated as
part of this PR, as well.

This PR also updates the docs at `shell-tool-mcp/README.md`.
2025-12-18 15:32:01 -08:00
xl-openai 358a5baba0 Support skills shortDescription. (#8278)
Allow SKILL.md to specify a more human-readable short description as
skill metadata.
2025-12-18 23:13:18 +00:00
Michael Bolin 4b28537620 merge commit for archive created by Sapling 2025-12-18 15:09:03 -08:00
Michael Bolin 51ae192d03 fix: change codex/sandbox-state/update from a notification to a request 2025-12-18 15:08:56 -08:00
Michael Bolin 3aeeb2c10f Merge 3897f6662a into sapling-pr-archive-bolinfest 2025-12-18 14:53:23 -08:00
Michael Bolin 3897f6662a chore: migrate from Config::load_from_base_config_with_overrides to ConfigBuilder 2025-12-18 14:50:04 -08:00
Michael Bolin b19c6a211c merge commit for archive created by Sapling 2025-12-18 14:50:01 -08:00
Michael Bolin b6ec022b83 fix: change codex/sandbox-state/update from a notification to a request 2025-12-18 14:46:57 -08:00
Gav Verma 1cd1cf17c6 Update system skills bundled with codex-rs (#8253)
Synced with https://github.com/openai/skills/tree/main/skills/.system
2025-12-18 14:30:00 -08:00
Michael Bolin 9997430251 merge commit for archive created by Sapling 2025-12-18 14:29:31 -08:00
Michael Bolin fd3608287c fix: change codex/sandbox-state/update from a notification to a request 2025-12-18 14:29:15 -08:00
Michael Bolin 53f53173a8 chore: upgrade rmcp crate from 0.10.0 to 0.12.0 (#8288)
Version `0.12.0` includes
https://github.com/modelcontextprotocol/rust-sdk/pull/590, which I will
use in https://github.com/openai/codex/pull/8142.

Changes:

- `rmcp::model::CustomClientNotification` was renamed to
`rmcp::model::CustomNotification`
- a bunch of types have a `meta` field now, but it is `Option`, so I
added `meta: None` to a bunch of things
2025-12-18 14:28:46 -08:00
Andrew Ambrosino 9fb9ed6cea Set exclude to true by default in app server (#8281) 2025-12-18 14:28:30 -08:00
pakrym-oai 8f0b383621 model list (#8286)
<img width="200" alt="7ff2254b-e96f-42fc-8232-b4e76cb26248"
src="https://github.com/user-attachments/assets/1f56799d-e2cd-4b69-9290-854943f7c6b6"
/>
2025-12-18 14:13:49 -08:00
Michael Bolin cafc3fec00 merge commit for archive created by Sapling 2025-12-18 14:11:37 -08:00
Michael Bolin aea7a3c73f chore: upgrade rmcp crate from 0.10.0 to 0.12.0 2025-12-18 14:11:25 -08:00
Michael Bolin d7dad5486a Merge 8da6cfe74e into sapling-pr-archive-bolinfest 2025-12-18 14:07:57 -08:00
Michael Bolin 8da6cfe74e chore: migrate from Config::load_from_base_config_with_overrides to ConfigBuilder 2025-12-18 14:07:52 -08:00
Owen Lin d7ae342ff4 feat(app-server): add v2 deprecation notice (#8285)
Add a v2 event for deprecation notices so we can get rid of
`codex/event/deprecation_notice`.
2025-12-18 21:45:36 +00:00
Michael Bolin 8b497108cb Merge 122a308b3f into sapling-pr-archive-bolinfest 2025-12-18 13:45:16 -08:00
Michael Bolin 122a308b3f fix: change codex/sandbox-state/update from a notification to a request 2025-12-18 13:44:52 -08:00
Michael Bolin 0f005f82ce merge commit for archive created by Sapling 2025-12-18 13:39:57 -08:00
Michael Bolin de19943ba0 chore: migrate from Config::load_from_base_config_with_overrides to ConfigBuilder 2025-12-18 13:39:46 -08:00