Commit Graph
2955 Commits
Author SHA1 Message Date
Michael Bolin 830151f308 fix: stop building codex-exec and codex-linux-sandbox binaries 2025-08-08 13:29:45 -07:00
Michael Bolin 18eb157000 feat: include windows binaries in GitHub releases (#2035)
We should stop shipping the old TypeScript CLI to Windows users. I did
some light testing of the Rust CLI on Windows in `cmd.exe` and it works
better than I expected!
2025-08-08 13:03:11 -07:00
aibrahim-oai 6cfee15612 Moving the compact prompt near where it's used (#2031)
- Moved the prompt for compact to core
- Renamed it to be more clear
2025-08-08 12:43:43 -07:00
216e9e2ed0 Fix rust build on windows (#2019)
This pull request implements a fix from #2000, as well as fixed an
additional problem with path lengths on windows that prevents the login
from displaying.

---------

Co-authored-by: Michael Bolin <bolinfest@gmail.com>
Co-authored-by: Michael Bolin <mbolin@openai.com>
2025-08-08 10:57:16 -07:00
Gabriel Peal c3a8ab8511 Fix multiline exec command rendering (#2023)
With Ratatui, if a single line contains newlines, it increments y but
not x so each subsequent line continued from the same x position as the
previous line ended on.

Before
<img width="2010" height="376" alt="CleanShot 2025-08-08 at 09 13 13"
src="https://github.com/user-attachments/assets/09feefbd-c5ee-4631-8967-93ab108c352a"
/>
After
<img width="1002" height="364" alt="CleanShot 2025-08-08 at 09 11 54"
src="https://github.com/user-attachments/assets/a58b47cf-777f-436a-93d9-ab277046a577"
/>
2025-08-08 13:52:24 -04:00
pakrym-oai 307d9957fa Fix usage limit banner grammar (#2018)
## Summary
- fix typo in usage limit banner text
- update error message tests

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

------
https://chatgpt.com/codex/tasks/task_i_689610fc1fe4832081bdd1118779b60b
2025-08-08 08:50:44 -07:00
pakrym-oai 431c9299d4 Remove part of the error message (#1983) 2025-08-08 02:01:53 +00:00
easong-openai 52e12f2b6c Revert "Streaming markdown (#1920)" (#1981)
This reverts commit 2b7139859e.
2025-08-08 01:38:39 +00:00
easong-openai 2b7139859e Streaming markdown (#1920)
We wait until we have an entire newline, then format it with markdown and stream in to the UI. This reduces time to first token but is the right thing to do with our current rendering model IMO. Also lets us add word wrapping!
2025-08-07 18:26:47 -07:00
pakrym-oai fa0051190b Adjust error messages (#1969)
<img width="1378" height="285" alt="image"
src="https://github.com/user-attachments/assets/f0283378-f839-4a1f-8331-909694a04b1f"
/>
2025-08-07 18:24:34 -07:00
Michael Bolin cd06b28d84 fix: default to credits from ChatGPT auth, when possible (#1971)
Uses this rough strategy for authentication:

```
if auth.json
	if auth.json.API_KEY is NULL # new auth
		CHAT
	else # old auth
		if plus or pro or team
			CHAT
		else 
			API_KEY
		
else OPENAI_API_KEY
```

---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed
with [ReviewStack](https://reviewstack.dev/openai/codex/pull/1970).
* __->__ #1971
* #1970
* #1966
* #1965
* #1962
2025-08-07 18:00:31 -07:00
Michael Bolin d4c00fe8b7 merge commit for archive created by Sapling 2025-08-07 17:35:20 -07:00
Michael Bolin 6a39ceb12a fix: default to credits from ChatGPT auth, when possible 2025-08-07 17:33:07 -07:00
Michael Bolin a24bee0aa3 merge commit for archive created by Sapling 2025-08-07 17:24:12 -07:00
Michael Bolin 978036cc28 fix: default to credits from ChatGPT auth, when possible 2025-08-07 17:24:07 -07:00
Michael Bolin af6c322774 merge commit for archive created by Sapling 2025-08-07 17:22:50 -07:00
Michael Bolin f83232d444 fix: default to credits from ChatGPT auth, when possible 2025-08-07 17:22:46 -07:00
Michael Bolin 7f999fa955 merge commit for archive created by Sapling 2025-08-07 17:21:33 -07:00
Michael Bolin a473f7a75f fix: default to credits from ChatGPT auth, when possible 2025-08-07 17:21:28 -07:00
Michael Bolin 0265ea0486 merge commit for archive created by Sapling 2025-08-07 17:18:13 -07:00
Michael Bolin 08bfb12600 fix: default to credits from ChatGPT auth, when possible 2025-08-07 17:18:06 -07:00
Michael Bolin 9992db09f4 merge commit for archive created by Sapling 2025-08-07 17:17:08 -07:00
Michael Bolin 5fc9ecc601 fix: default to credits from ChatGPT auth, when possible 2025-08-07 17:17:02 -07:00
Michael Bolin 295abf3e51 chore: change CodexAuth::from_api_key() to take &str instead of String (#1970)
Good practice and simplifies some of the call sites.

---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed
with [ReviewStack](https://reviewstack.dev/openai/codex/pull/1970).
* #1971
* __->__ #1970
* #1966
* #1965
* #1962
2025-08-07 16:55:33 -07:00
Michael Bolin 52926cd1b2 merge commit for archive created by Sapling 2025-08-07 16:50:09 -07:00
Michael Bolin 3b12816016 chore: change CodexAuth::from_api_key() to take &str instead of String 2025-08-07 16:50:02 -07:00
Michael Bolin 8d2411c001 fix: default to credits from ChatGPT auth, when possible 2025-08-07 16:50:02 -07:00
Michael Bolin b991c04f86 chore: move top-level load_auth() to CodexAuth::from_codex_home() (#1966)
There are two valid ways to create an instance of `CodexAuth`:
`from_api_key()` and `from_codex_home()`. Now both are static methods of
`CodexAuth` and are listed first in the implementation.

---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed
with [ReviewStack](https://reviewstack.dev/openai/codex/pull/1966).
* #1971
* #1970
* __->__ #1966
* #1965
* #1962
2025-08-07 16:49:37 -07:00
Michael Bolin 02c9c2ecad chore: make CodexAuth::api_key a private field (#1965)
Force callers to access this information via `get_token()` rather than
messing with it directly.

---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed
with [ReviewStack](https://reviewstack.dev/openai/codex/pull/1965).
* #1971
* #1970
* #1966
* __->__ #1965
* #1962
2025-08-07 16:40:01 -07:00
Michael Bolin 5e2799a3a6 Merge 77e14c5019 into sapling-pr-archive-bolinfest 2025-08-07 16:33:53 -07:00
Michael Bolin 77e14c5019 fix: default to credits from ChatGPT auth, when possible 2025-08-07 16:33:45 -07:00
Michael Bolin c0b22b9c78 chore: change CodexAuth::from_api_key() to take &str instead of String 2025-08-07 16:33:45 -07:00
Michael Bolin 5c1bfa660c chore: move top-level load_auth() to CodexAuth::from_codex_home() 2025-08-07 16:33:45 -07:00
Michael Bolin df37e7e33d chore: make CodexAuth::api_key a private field 2025-08-07 16:33:45 -07:00
Michael Bolin db76f32888 chore: rename CodexAuth::new() to create_dummy_codex_auth_for_testing() because it is not for general consumption (#1962)
`CodexAuth::new()` was the first method listed in `CodexAuth`, but it is
only meant to be used by tests. Rename it to
`create_dummy_chatgpt_auth_for_testing()` and move it to the end of the
implementation.

---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed
with [ReviewStack](https://reviewstack.dev/openai/codex/pull/1962).
* #1971
* #1970
* #1966
* #1965
* __->__ #1962
2025-08-07 16:33:29 -07:00
Michael Bolin 81a549c685 merge commit for archive created by Sapling 2025-08-07 16:21:41 -07:00
Michael Bolin dcab238fd1 fix: default to credits from ChatGPT auth, when possible 2025-08-07 16:21:37 -07:00
Michael Bolin 280c98ed79 merge commit for archive created by Sapling 2025-08-07 16:20:54 -07:00
Michael Bolin 9cd3a45f3e fix: default to credits from ChatGPT auth, when possible 2025-08-07 16:20:48 -07:00
Michael Bolin 8631d73b4e Merge 4f2436f271 into sapling-pr-archive-bolinfest 2025-08-07 16:16:25 -07:00
Michael Bolin 4f2436f271 fix: default to credits from ChatGPT auth, when possible 2025-08-07 16:16:21 -07:00
Michael Bolin c45329f1bc merge commit for archive created by Sapling 2025-08-07 15:53:57 -07:00
Michael Bolin be1efb2575 fix: default to credits from ChatGPT auth, when possible 2025-08-07 15:53:51 -07:00
Michael Bolin ae5a78f686 Merge f464733e2d into sapling-pr-archive-bolinfest 2025-08-07 15:49:08 -07:00
Michael Bolin f464733e2d fix: default to credits from ChatGPT auth, when possible 2025-08-07 15:48:58 -07:00
Michael Bolin 5dc812d738 chore: change CodexAuth::from_api_key() to take &str instead of String 2025-08-07 15:43:11 -07:00
Dylan 548466df09 [client] Tune retries and backoff (#1956)
## Summary
10 is a bit excessive 😅 Also updates our backoff factor to space out
requests further.
2025-08-07 15:23:31 -07:00
Michael Bolin 1e9bd5af5c merge commit for archive created by Sapling 2025-08-07 15:10:24 -07:00
Michael Bolin 4366fa898a chore: move top-level load_auth() to CodexAuth::from_codex_home() 2025-08-07 15:09:00 -07:00
Michael Bolin 333c49bfe7 chore: make CodexAuth::api_key a private field 2025-08-07 15:09:00 -07:00