Commit Graph
2982 Commits
Author SHA1 Message Date
Michael Bolin a868d626bb Merge a72581ec8f into sapling-pr-archive-bolinfest 2025-08-17 13:58:40 -07:00
Michael Bolin a72581ec8f fix: async-ify login flow 2025-08-17 13:54:55 -07:00
Michael Bolin 4b8d0fda61 Merge 21816438b8 into sapling-pr-archive-bolinfest 2025-08-17 13:17:27 -07:00
Michael Bolin 21816438b8 chore: prefer returning Err to expect() 2025-08-17 13:17:21 -07:00
Michael Bolin 71cae06e66 fix: refactor login/src/server.rs so process_request() is a separate function (#2388) 2025-08-17 12:32:56 -07:00
Michael Bolin a57eb9d8fb Merge 53f893ce8c into sapling-pr-archive-bolinfest 2025-08-17 11:35:10 -07:00
Michael Bolin 53f893ce8c chore: prefer returning Err to expect() 2025-08-17 11:35:03 -07:00
Michael Bolin 19168d74fe merge commit for archive created by Sapling 2025-08-17 11:19:34 -07:00
Michael Bolin 374c1aa922 fix: refactor login/src/server.rs so process_request() is a separate function 2025-08-17 11:19:29 -07:00
Michael Bolin 5f94238199 merge commit for archive created by Sapling 2025-08-17 11:16:49 -07:00
Michael Bolin 72aacd9a9b fix: refactor login/src/server.rs so process_request() is a separate function 2025-08-17 11:14:49 -07:00
Eric Traut 350b00d54b Added MCP server command to enable authentication using ChatGPT (#2373)
This PR adds two new APIs for the MCP server: 1) loginChatGpt, and 2)
cancelLoginChatGpt. The first starts a login server and returns a local
URL that allows for browser-based authentication, and the second
provides a way to cancel the login attempt. If the login attempt
succeeds, a notification (in the form of an event) is sent to a
subscriber.

I also added a timeout mechanism for the existing login server. The
loginChatGpt code path uses a 10-minute timeout by default, so if the
user fails to complete the login flow in that timeframe, the login
server automatically shuts down. I tested the timeout code by manually
setting the timeout to a much lower number and confirming that it works
as expected when used e2e.
2025-08-17 10:03:52 -07:00
Eric Traut 1930ee720a Added launch profile for attaching to a running codex CLI process (#2372) 2025-08-15 23:35:01 -07:00
Jeremy Rose 7a80d3c96c replace /prompts with a rotating placeholder (#2314) 2025-08-15 19:37:10 -07:00
Michael Bolin 5d101561d8 Merge 8268edb987 into sapling-pr-archive-bolinfest 2025-08-15 17:41:00 -07:00
Michael Bolin 8268edb987 fix: introduce EventMsg::TurnAborted 2025-08-15 17:40:54 -07:00
Michael Bolin 4ed282c563 Merge 8fef3ae952 into sapling-pr-archive-bolinfest 2025-08-15 17:32:20 -07:00
Michael Bolin 8fef3ae952 fix: introduce EventMsg::TurnAborted 2025-08-15 17:32:14 -07:00
Michael Bolin 2b3d5d050c merge commit for archive created by Sapling 2025-08-15 17:26:51 -07:00
Michael Bolin 465175a163 fix: introduce EventMsg::TurnAborted 2025-08-15 17:26:24 -07:00
Michael Bolin 11a4eacc37 Merge f1d4640865 into sapling-pr-archive-bolinfest 2025-08-15 16:00:38 -07:00
Michael Bolin f1d4640865 remove mcp-server/src/mcp_protocol.rs and the code that depends on it 2025-08-15 16:00:32 -07:00
aibrahim-oai d3078b9adc Show progress indicator for /diff command (#2245)
## Summary
- Show a temporary Working on diff state in the bottom pan 
- Add `DiffResult` app event and dispatch git diff asynchronously

## Testing
- `just fmt`
- `just fix` *(fails: `let` expressions in this position are unstable)*
- `cargo test --all-features` *(fails: `let` expressions in this
position are unstable)*

------
https://chatgpt.com/codex/tasks/task_i_689a839f32b88321840a893551d5fbef
2025-08-15 15:32:41 -07:00
Michael Bolin 379106d3eb fix: include an entry for windows-x86_64 in the generated DotSlash file (#2361)
Now that we are improving our Windows support, we should be including an
entry for it in the DotSlash file.

Though anyone using the DotSlash file with Windows should use the new
Windows shim introduced in https://github.com/facebook/dotslash/pull/46.
For more info, see https://dotslash-cli.com/docs/windows/.
2025-08-15 14:47:36 -07:00
Michael Bolin ee253c61c2 Merge 01aeaadcfc into sapling-pr-archive-bolinfest 2025-08-15 14:34:23 -07:00
Michael Bolin 01aeaadcfc fix: include an entry for windows-x86_64 in the generated DotSlash file 2025-08-15 14:34:13 -07:00
Michael Bolin 0abd42df53 Merge eb6595ac20 into sapling-pr-archive-bolinfest 2025-08-15 13:59:39 -07:00
Michael Bolin eb6595ac20 remove mcp-server/src/mcp_protocol.rs and the code that depends on it 2025-08-15 13:59:19 -07:00
Michael Bolin 57de0099bc Merge 8b1b3f1356 into sapling-pr-archive-bolinfest 2025-08-15 13:55:09 -07:00
Michael Bolin 8b1b3f1356 remove mcp-server/src/mcp_protocol.rs and the code that depends on it 2025-08-15 13:55:03 -07:00
LongYinan b31c5033a9 chore: remove duplicated lockfile (#2336) 2025-08-15 13:54:47 -07:00
Jeremy Rose 1ad8ae2579 color the status letter in apply patch summary (#2337)
<img width="440" height="77" alt="Screenshot 2025-08-14 at 8 30 30 PM"
src="https://github.com/user-attachments/assets/c6169a3a-2e98-4ace-b7ee-918cf4368b7a"
/>
2025-08-15 20:25:48 +00:00
pakrym-oai c1156a878b Remove duplicated "Successfully logged in message" (#2357) 2025-08-15 13:01:27 -07:00
Kazuhiro Seraandpakrym-oai dcfdd2faf5 Fix #2296 Add "minimal" reasoning effort for GPT 5 models (#2326)
This pull request resolves #2296; I've confirmed if it works by:

1. Add settings to ~/.codex/config.toml:
```toml
model_reasoning_effort = "minimal"
```

2. Run the CLI:
```
cd codex-rs
cargo build && RUST_LOG=trace cargo run --bin codex
/status
tail -f ~/.codex/log/codex-tui.log
```

Co-authored-by: pakrym-oai <pakrym@openai.com>
2025-08-15 12:59:52 -07:00
Michael Bolin d262244725 fix: introduce codex-protocol crate (#2355) 2025-08-15 12:44:40 -07:00
Michael Bolin 54c598f8fe merge commit for archive created by Sapling 2025-08-15 10:56:45 -07:00
Michael Bolin 730f4be313 fix: introduce codex-protocol crate 2025-08-15 10:56:39 -07:00
Jeremy Rose 7c26c8e091 tui: skip identical consecutive entries in local composer history (#2352)
This PR avoids inserting duplicate consecutive messages into the Chat
Composer's local history.
2025-08-15 10:55:44 -07:00
Michael Bolin 3faf6a4c6a merge commit for archive created by Sapling 2025-08-15 10:54:32 -07:00
Michael Bolin 0b850fa1f6 fix: introduce codex-protocol crate 2025-08-15 10:54:26 -07:00
Michael Bolin c7026731d2 merge commit for archive created by Sapling 2025-08-15 10:51:57 -07:00
Michael Bolin 9279b9cc98 fix: introduce codex-protocol crate 2025-08-15 10:51:02 -07:00
Michael Bolin eda50d8372 feat: introduce ClientRequest::SendUserTurn (#2345)
This adds a new request type, `SendUserTurn`, that makes it possible to
submit a `Op::UserTurn` operation (introduced in #2329) to a
conversation. This PR also adds a new integration test that verifies
that changing from `AskForApproval::UnlessTrusted` to
`AskForApproval::Never` mid-conversation ensures that an elicitation is
no longer sent for running `python3 -c print(42)`.

---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed
with [ReviewStack](https://reviewstack.dev/openai/codex/pull/2345).
* __->__ #2345
* #2329
* #2343
* #2340
* #2338
2025-08-15 10:05:58 -07:00
Michael Bolin 17aa394ae7 feat: introduce Op:UserTurn (#2329)
This introduces `Op::UserTurn`, which makes it possible to override many
of the fields that were set when the `Session` was originally created
when creating a new conversation turn. This is one way we could support
changing things like `model` or `cwd` in the middle of the conversation,
though we may want to consider making each field optional, or
alternatively having a separate `Op` that mutates the `TurnContext`
associated with a `submission_loop()`.

---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed
with [ReviewStack](https://reviewstack.dev/openai/codex/pull/2329).
* #2345
* __->__ #2329
* #2343
* #2340
* #2338
2025-08-15 09:56:05 -07:00
Michael Bolin b99d9a7096 merge commit for archive created by Sapling 2025-08-15 09:40:20 -07:00
Michael Bolin 971fdee6ed feat: introduce ClientRequest::SendUserTurn 2025-08-15 09:40:09 -07:00
Michael Bolin 747be8b5c3 feat: introduce Op:UserTurn 2025-08-15 09:40:09 -07:00
Michael Bolin 13ed67cfc1 feat: introduce TurnContext (#2343)
This PR introduces `TurnContext`, which is designed to hold a set of
fields that should be constant for a turn of a conversation. Note that
the fields of `TurnContext` were previously governed by `Session`.

Ultimately, we want to enable users to change these values between turns
(changing model, approval policy, etc.), though in the current
implementation, the `TurnContext` is constant for the entire
conversation.

---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed
with [ReviewStack](https://reviewstack.dev/openai/codex/pull/2345).
* #2345
* #2329
* __->__ #2343
* #2340
* #2338
2025-08-15 09:40:02 -07:00
Jeremy Rose 45d6c74682 tui: align diff display by always showing sign char and keeping fixed gutter (#2353)
diff lines without a sign char were misaligned.
2025-08-15 09:32:45 -07:00
Michael Bolin d3a6f30510 merge commit for archive created by Sapling 2025-08-15 09:31:09 -07:00