Commit Graph

6645 Commits

Author SHA1 Message Date
Eric Traut
5015aa97bf Merge branch 'etraut/next-turn-state-core' into etraut/next-turn-state-app-server 2026-05-18 15:21:02 -07:00
Eric Traut
0f483dd5d4 Use queued turn context op in tests 2026-05-18 15:20:43 -07:00
Eric Traut
9bb0e0f578 Simplify turn context update tests 2026-05-16 18:34:08 -07:00
Eric Traut
2f1591db16 Fix argument comment lint 2026-05-16 18:25:23 -07:00
Eric Traut
aea47290fd Wait before resolving turn start context 2026-05-16 18:12:46 -07:00
Eric Traut
eb533c3616 Merge branch 'etraut/next-turn-state-core' into etraut/next-turn-state-app-server 2026-05-16 18:06:00 -07:00
Eric Traut
98c38ee9bf Simplify turn context handler 2026-05-16 18:05:35 -07:00
Eric Traut
bb41cb44cf Merge branch 'etraut/next-turn-state-core' into etraut/next-turn-state-app-server 2026-05-16 17:58:43 -07:00
Eric Traut
529c16f268 Merge branch 'etraut/next-turn-state-remove-override-context' into etraut/next-turn-state-core 2026-05-16 17:58:11 -07:00
Eric Traut
5b41df2613 Simplify turn context update cleanup 2026-05-16 17:57:42 -07:00
Eric Traut
28f6e90082 Merge branch 'etraut/next-turn-state-core' into etraut/next-turn-state-app-server
# Conflicts:
#	codex-rs/app-server/src/request_processors/turn_processor.rs
2026-05-16 17:43:32 -07:00
Eric Traut
91e427f9f4 Merge branch 'etraut/next-turn-state-remove-override-context' into etraut/next-turn-state-core 2026-05-16 17:42:54 -07:00
Eric Traut
5aeec5fa05 Merge branch 'etraut/next-turn-state-input-op-consolidation' into etraut/next-turn-state-remove-override-context 2026-05-16 17:42:40 -07:00
Eric Traut
db6e9bfaa9 Merge branch 'etraut/next-turn-state-remove-user-input-with-context' into etraut/next-turn-state-input-op-consolidation 2026-05-16 17:42:27 -07:00
Eric Traut
cd69441b5b Simplify turn start context overrides 2026-05-16 17:42:10 -07:00
Eric Traut
a5f2e7f68f Merge branch 'etraut/next-turn-state-input-op-consolidation' into etraut/next-turn-state-remove-override-context 2026-05-16 17:39:28 -07:00
Eric Traut
9d5a0e2b5d Trim redundant turn context defaults 2026-05-16 17:39:09 -07:00
Eric Traut
d2b614b545 Merge branch 'etraut/next-turn-state-core' into etraut/next-turn-state-app-server 2026-05-16 17:27:34 -07:00
Eric Traut
b2445a9bcc Merge branch 'etraut/next-turn-state-remove-override-context' into etraut/next-turn-state-core 2026-05-16 17:27:17 -07:00
Eric Traut
532a6d07bb Merge branch 'etraut/next-turn-state-input-op-consolidation' into etraut/next-turn-state-remove-override-context 2026-05-16 17:27:02 -07:00
Eric Traut
8f6825e572 Merge branch 'etraut/next-turn-state-remove-user-input-with-context' into etraut/next-turn-state-input-op-consolidation 2026-05-16 17:26:53 -07:00
Eric Traut
73ad0c2463 Merge branch 'etraut/next-turn-state-user-input-context' into etraut/next-turn-state-remove-user-input-with-context
# Conflicts:
#	codex-rs/core/src/session/handlers.rs
2026-05-16 17:26:44 -07:00
Eric Traut
c6fe81d803 Simplify turn context update handling 2026-05-16 17:23:39 -07:00
Eric Traut
f5943e0fd9 Merge remote-tracking branch 'origin/main' into etraut/next-turn-state-user-input-context 2026-05-16 17:21:08 -07:00
Eric Traut
579abe122b Fix turn context update ordering 2026-05-16 17:07:08 -07:00
Eric Traut
9af52a593b Merge branch 'etraut/next-turn-state-core' into etraut/next-turn-state-app-server 2026-05-16 16:00:50 -07:00
Eric Traut
a31c4cd218 Merge branch 'etraut/next-turn-state-remove-override-context' into etraut/next-turn-state-core
# Conflicts:
#	codex-rs/core/src/codex_thread.rs
2026-05-16 16:00:41 -07:00
Eric Traut
5b47db287d Fix OverrideTurnContext removal split 2026-05-16 16:00:11 -07:00
Eric Traut
f3703798ee Merge branch 'etraut/next-turn-state-core' into etraut/next-turn-state-app-server 2026-05-16 15:49:24 -07:00
Eric Traut
9393c2647b Add queued core turn context op 2026-05-16 15:49:05 -07:00
Eric Traut
875b846721 Remove core OverrideTurnContext op 2026-05-16 15:47:40 -07:00
Eric Traut
e3bb6dad55 Merge branch 'etraut/next-turn-state-core' into etraut/next-turn-state-app-server 2026-05-16 14:43:58 -07:00
Eric Traut
b2fa7ac1d0 Document direct turn context override ordering 2026-05-16 14:43:36 -07:00
Eric Traut
0445b290fe [1 of 4] tui: route primary settings writes through app server (#22913)
## Why
The TUI can run against a remote app server, but several high-traffic
settings still persisted by editing the local config file. That sends
remote sessions' preference writes to the wrong machine and lets local
disk state drift from the app-server-owned config.

This is **[1 of 4]** in a stacked series that moves TUI-owned config
mutations onto app-server APIs.

## What changed
- Added a small TUI helper for typed app-server config writes.
- Routed primary interactive preference writes through
`config/batchWrite`.
- Preserved existing profile scoping for settings that already support
`profiles.<profile>.*` overrides.

## Config keys affected
- `model`
- `model_reasoning_effort`
- `personality`
- `service_tier`
- `plan_mode_reasoning_effort`
- `approvals_reviewer`
- `notice.fast_default_opt_out`
- Profile-scoped equivalents under `profiles.<profile>.*`

## Suggested manual validation
- Connect the TUI to a remote app server, change `model` and
`model_reasoning_effort`, reconnect, and confirm the remote config
retained both values while the local `config.toml` did not change.
- Change `personality`, `plan_mode_reasoning_effort`, and the explicit
auto-review selection, then reconnect and confirm those choices persist
through the app server.
- Clear the service tier back to default and confirm `service_tier` is
cleared while `notice.fast_default_opt_out = true` is persisted
remotely.
- Repeat one setting change with an active profile and confirm the write
lands under `profiles.<profile>.*`.

## Stack
1. [#22913](https://github.com/openai/codex/pull/22913) `[1 of 4]`
primary settings writes
2. [#22914](https://github.com/openai/codex/pull/22914) `[2 of 4]` app
and skill enablement
3. [#22915](https://github.com/openai/codex/pull/22915) `[3 of 4]`
feature and memory toggles
4. [#22916](https://github.com/openai/codex/pull/22916) `[4 of 4]`
startup and onboarding bookkeeping
2026-05-16 14:27:02 -07:00
Eric Traut
49bcf51b7f Merge branch 'etraut/next-turn-state-core' into etraut/next-turn-state-app-server
# Conflicts:
#	codex-rs/app-server/src/request_processors/turn_processor.rs
2026-05-16 14:22:05 -07:00
Eric Traut
1320847a37 Merge branch 'etraut/next-turn-state-input-op-consolidation' into etraut/next-turn-state-core 2026-05-16 14:21:21 -07:00
Eric Traut
1c10a91853 Merge branch 'etraut/next-turn-state-remove-user-input-with-context' into etraut/next-turn-state-input-op-consolidation
# Conflicts:
#	codex-rs/app-server/src/request_processors/turn_processor.rs
#	codex-rs/core/src/session/handlers.rs
#	codex-rs/protocol/src/protocol.rs
2026-05-16 14:21:06 -07:00
Eric Traut
cb528adace Remove UserInputWithTurnContext op 2026-05-16 14:20:00 -07:00
Eric Traut
3b1b54ace7 Add turn context to UserInput 2026-05-16 14:16:20 -07:00
Eric Traut
6e0bf085f3 Merge branch 'etraut/next-turn-state-core' into etraut/next-turn-state-app-server 2026-05-16 13:51:38 -07:00
Eric Traut
745fb81766 Merge branch 'etraut/next-turn-state-input-op-consolidation' into etraut/next-turn-state-core 2026-05-16 13:51:28 -07:00
Eric Traut
e1b60da6fc Fix clippy field shorthand in core tests 2026-05-16 13:51:13 -07:00
sayan-oai
061a614d85 multiagent: trim model-visible description, cap to 5 models (#23069)
## Why

The `spawn_agent` model override guidance is uncapped and bloating
context. We need to trim down each entry and cap total entries.

picked 5 as cap, we can change

## What changed

- Cap the model override summaries shown in `spawn_agent` to the first 5
picker-visible models, preserving the existing priority ordering from
the models manager.
- Condense each rendered entry to the actionable pieces the model needs:
  - use the model slug as the label
  - render compact reasoning effort lists with the default marked inline
- render only service tier IDs, and omit the clause when no tiers are
available
- Update coverage so the compact formatter shape and the top-5 cap are
exercised, and keep the end-to-end request assertion aligned with real
model metadata.

## Example

Before:

`- gpt-5.4 ('gpt-5.4\'): Strong model for everyday coding. Default
reasoning effort: medium. Supported reasoning efforts: low (Fast
responses with lighter reasoning), medium (Balances speed and reasoning
depth for everyday tasks), high (Greater reasoning depth for complex
problems), xhigh (Extra high reasoning depth for complex problems).
Supported service tiers: priority (Fast: 1.5x speed, increased usage).`

After:

`- 'gpt-5.4': Strong model for everyday coding. Reasoning efforts: low,
medium (default), high, xhigh. Service tiers: priority.`
2026-05-16 13:43:30 -07:00
Eric Traut
744ed740f1 Merge branch 'etraut/next-turn-state-core' into etraut/next-turn-state-app-server
# Conflicts:
#	codex-rs/app-server/src/request_processors.rs
#	codex-rs/app-server/src/request_processors/turn_processor.rs
2026-05-16 13:31:59 -07:00
Eric Traut
e3d8a8e412 Merge branch 'etraut/next-turn-state-input-op-consolidation' into etraut/next-turn-state-core
# Conflicts:
#	codex-rs/app-server/src/request_processors/turn_processor.rs
#	codex-rs/core/src/session/handlers.rs
#	codex-rs/core/src/session/tests.rs
#	codex-rs/protocol/src/protocol.rs
2026-05-16 13:28:33 -07:00
Miaolin Min
6941f5c2c5 [codex] preserve MCP result meta in McpToolCallItemResult (#22946)
## Summary

https://openai.slack.com/archives/C0ARA9UAQEA/p1778890981647319?thread_ts=1778888537.934319&cid=C0ARA9UAQEA


- Add `_meta` to exec JSONL MCP tool call result events.
- Copy MCP result metadata through the JSONL event conversion.
- Add a focused test that verifies `_meta` is serialized as `_meta` and
not `meta`.


## Verification

https://www.notion.so/openai/Miaolin-0516-_meta-population-debug-3628e50b62b08074b365e0ce1ffb8f74
2026-05-16 13:27:44 -07:00
Eric Traut
30f6ab2372 Consolidate core input ops 2026-05-16 13:19:04 -07:00
Michael Zeng
b200dd1b6f exec-server: support auth-backed remote executor registration (#22769)
This updates remote `exec-server` registration to use normal Codex auth
instead of a registry-issued credential. The registry request is built
from the existing auth-provider path, which preserves the biscuit-only
registry contract introduced in
[openai/openai#924101](https://github.com/openai/openai/pull/924101)
while removing the old remote registry bearer env var and its direct
transport assumptions.

The default remote flow uses persisted ChatGPT auth from the normal
Codex config/storage path. This PR also includes the containerized Agent
Identity path needed by
[openai/openai#924260](https://github.com/openai/openai/pull/924260):
remote `exec-server` accepts `--allow-agent-identity-auth`, permits
Agent Identity auth loaded from `CODEX_ACCESS_TOKEN` only when that flag
is present, and reuses the existing Agent task registration plus derived
`AgentAssertion` header generation. API-key auth remains unsupported,
and Agent Identity stays opt-in.

Validation performed beyond normal presubmit coverage:
- `cargo fmt --all --check`
- `cargo check -p codex-cli`
- `cargo test -p codex-exec-server`
- `cargo test -p codex-cli exec_server_agent_identity_auth_flag_`
- `cargo test -p codex-cli remote_exec_server_auth_mode_`

I also attempted `cargo test -p codex-cli`. The new CLI tests passed
inside that run, but the suite ended on an unrelated local
marketplace-state failure in
`plugin_list_excludes_unconfigured_repo_local_marketplaces`.
2026-05-16 12:48:28 -07:00
Eric Traut
95307a58ca Merge branch 'etraut/next-turn-state-core' into etraut/next-turn-state-app-server
# Conflicts:
#	codex-rs/app-server/README.md
#	codex-rs/app-server/src/request_processors.rs
#	codex-rs/app-server/src/request_processors/turn_processor.rs
2026-05-16 12:35:41 -07:00
Eric Traut
34263f13ca Merge remote-tracking branch 'origin/main' into etraut/next-turn-state-core
# Conflicts:
#	codex-rs/core/src/session/handlers.rs
#	codex-rs/core/src/session/tests.rs
#	codex-rs/protocol/src/protocol.rs
2026-05-16 12:29:40 -07:00