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