Commit Graph
196 Commits
Author SHA1 Message Date
James Peter 336a07b7e7 Merge origin/upstream-merge: reconcile rate limit snapshot schema 2025-09-25 12:19:17 +10:00
just-every-code 210ab0bee8 chore(upstream-merge): sync with upstream/main by bucket; adopt exec updates and reconcile to fork protocol\n\n- Prefer-theirs: exec crate (cli flag + event processor)\n- Reconcile protocol mismatches (StreamErrorEvent removed, WebSearchComplete, stdout/stderr, UpdatePlanArgs{name,plan})\n- Preserve fork invariants (browser/agent tools, UA/version, TUI ordering)\n\nBuild: ./build-fast.sh OK; verify.sh OK (no warnings) 2025-09-24 01:21:01 +00:00
DylanandGitHub 9ad2c371fa [exec] add include-plan-tool flag and print it nicely (#3461)
### Summary
Sometimes in exec runs, we want to allow the model to use the
`update_plan` tool, but that's not easily configurable. This change adds
a feature flag for this, and formats the output so it's human-readable

## Test Plan
<img width="1280" height="354" alt="Screenshot 2025-09-11 at 12 39
44 AM"
src="https://github.com/user-attachments/assets/72e11070-fb98-47f5-a784-5123ca7333d9"
/>
2025-09-23 16:50:59 -07:00
James Peter 13e55be8fc Merge upstream-merge: bring pro observer and readiness updates 2025-09-24 09:47:07 +10:00
just-every-code 75becf25c9 merge(upstream): incorporate openai/codex@main into upstream-merge
- Adopt upstream changes in exec, mcp-server, and common by bucket.
- Preserve fork-specific core (codex.rs, browser/agent tools, UA/version).
- Add Prompt.output_schema; keep our Text controls; adjust tests.
- Fallback to Op::UserInput for UserTurn in exec and MCP.
- Keep ours for core codex files to preserve TUI/stream ordering.

verify.sh: pass; build-fast.sh: pass (no warnings).
2025-09-23 21:30:54 +00:00
pakrym-oaiandGitHub 2804e9b73e Add exec output-schema parameter (#4079)
Adds structured output to `exec` via the `--structured-output`
parameter.
2025-09-23 13:59:16 -07:00
James Peter d2731b8b66 Merge origin/upstream-merge: adopt upstream dependency updates 2025-09-23 14:00:06 +10:00
just-every-code 18b12894d9 Merge upstream/main: adopt rate limit struct changes; keep TUI behavior
- Prefer ours for TUI conflicted files (chatwidget.rs, history_cell.rs)
- Adopt upstream protocol rate limit renames (primary/secondary)
- Update core + exec + TUI to new fields and labels
- Purge check: no reintroduced images
- verify.sh + build-fast.sh: pass (zero warnings)
2025-09-22 21:24:09 +00:00
James Peter 3f42a1eb79 feat(pro): add observer runtime and TUI controls 2025-09-23 07:22:58 +10:00
just-every-code 258bef4fd3 merge(upstream): by-bucket merge of upstream/main into upstream-merge
- Preserve TUI and core tool wiring (browser_/agent_/web_fetch, strict ordering)
- Adopt upstream in common/exec/file-search and minor fixes
- Resolve conflicts per policy; revert core files to ours to restore API compat
- verify.sh and build-fast.sh pass (no warnings)
2025-09-22 19:45:22 +00:00
jif-oaiandGitHub f2d61dd3c0 chore: clippy on redundant closure (#4058)
Add redundant closure clippy rules and let Codex fix it by minimising
FQP
2025-09-22 19:30:16 +00:00
just-every-code 7a16018855 chore(merge): upstream main -> upstream-merge (by-bucket)
- Adopt upstream for common/exec/file-search (prefer_theirs)
- Keep ours for TUI and core tool wiring (prefer_ours)
- Restore workspace profiles (dev-fast/perf/release-prod)
- Fix CLI/bin naming + MCP server crate name
- Minimal Cargo.toml fixes (tokio, agent-client-protocol, codex-version)

verify.sh: ok; ./build-fast.sh: ok (no warnings)
2025-09-22 17:37:53 +00:00
jif-oaiandGitHub 5df3e8f166 chore: unify cargo versions (#4044)
Unify cargo versions at root
2025-09-22 16:47:01 +00:00
just-every-code 4c6927f727 Merge upstream/main: adopt upstream on shared crates; keep fork invariants (browser/agent tools, UA/version). Build+verify clean. 2025-09-22 15:46:27 +00:00
pakrym-oaiandGitHub de0731685b Add non_sandbox_test helper (#3880)
Makes tests shorter
2025-09-22 14:50:41 +00:00
James Peter edccb279f1 feat(acp): integrate ACP support and rename MCP server 2025-09-22 13:17:51 +10:00
James Peter 4ca3e28613 feat(core,tui): surface rate limit snapshots in token events 2025-09-22 08:55:40 +10:00
just-every-code ac5c4bd591 merge(upstream): merge upstream/main into upstream-merge\n\n- Mode: by-bucket (prefer-ours TUI/core handlers; prefer-theirs common/exec/file-search)\n- verify.sh: PASS (build-fast ok; api check ok; guards ok)\n- Preserved fork invariants: tool exposure gating, UA/version, public re-exports\n- Purge set unchanged; no conflicts encountered 2025-09-19 14:33:18 +00:00
pakrym-oaiandGitHub 764af0341f Use helpers instead of fixtures (#3888)
Move to using test helper method everywhere.
2025-09-19 06:46:25 -07:00
James Peter 74b1da68e7 fix(exec/core): restore fork behaviors lost in merge 2025-09-19 10:22:20 +10:00
just-every-code 959a409129 merge(upstream): bring in upstream/main into upstream-merge
- Adopt upstream exec sandbox cwd parameter and wire through Session
- Keep our core codex.rs and MCP codex_message_processor to preserve UA/tool invariants
- Align CLI debug_sandbox with new sandbox_cwd APIs
- Preserve fork policies (browser/agent tools, UA/version)

Build: ./build-fast.sh ok; verify.sh passed
2025-09-18 22:04:09 +00:00
Michael BolinandGitHub f5d07b56c5 fix: ensure cwd for conversation and sandbox are separate concerns (#3874)
Previous to this PR, both of these functions take a single `cwd`:


https://github.com/openai/codex/blob/d770cd22af56aa0fab448704bd74a849c70fa1d6/codex-rs/core/src/seatbelt.rs#L19-L25


https://github.com/openai/codex/blob/d770cd22af56aa0fab448704bd74a849c70fa1d6/codex-rs/core/src/landlock.rs#L16-L23

whereas `cwd` and `sandbox_cwd` should be set independently (fixed in
this PR).

Added `sandbox_distinguishes_command_and_policy_cwds()` to
`codex-rs/exec/tests/suite/sandbox.rs` to verify this.
2025-09-18 14:37:06 -07:00
just-every-code 2811c2f365 merge: upstream main into upstream-merge (preserve core/TUI, adapt exec). build-fast ok 2025-09-18 21:33:38 +00:00
dedrisian-oaiandGitHub 36bd3c910d feat: /review (#3774)
Adds `/review` action in TUI

<img width="637" height="370" alt="Screenshot 2025-09-17 at 12 41 19 AM"
src="https://github.com/user-attachments/assets/b1979a6e-844a-4b97-ab20-107c185aec1d"
/>
2025-09-18 14:14:16 -07:00
James Peter e0c54a7769 feat: add plan names and terminal title sync 2025-09-17 15:47:52 +10:00
James Peter a4f7f44649 feat(tui/history): polish explore block labeling 2025-09-17 13:35:52 +10:00
James Peter 6b682bc62f Remove leading bullet from assistant outputs 2025-09-16 23:57:03 +10:00
just-every-code dd97910d3b merge(upstream): sync upstream/main into upstream-merge; keep forked TUI, adopt upstream rust crates\n\n- Prefer ours in TUI conflict files; preserve fork UX and tools\n- Adopt upstream in common/exec/file-search; update frames assets\n- Remove unused upstream frames module to maintain zero warnings\n\nBuild: ./build-fast.sh passed with no warnings; verify.sh guards OK 2025-09-15 08:39:02 +00:00
37c085d29e chore(deps): bump tracing-subscriber from 0.3.19 to 0.3.20 in /codex-rs (#3620)
Bumps [tracing-subscriber](https://github.com/tokio-rs/tracing) from
0.3.19 to 0.3.20.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tokio-rs/tracing/releases">tracing-subscriber's
releases</a>.</em></p>
<blockquote>
<h2>tracing-subscriber 0.3.20</h2>
<p><strong>Security Fix</strong>: ANSI Escape Sequence Injection
(CVE-TBD)</p>
<h2>Impact</h2>
<p>Previous versions of tracing-subscriber were vulnerable to ANSI
escape sequence injection attacks. Untrusted user input containing ANSI
escape sequences could be injected into terminal output when logged,
potentially allowing attackers to:</p>
<ul>
<li>Manipulate terminal title bars</li>
<li>Clear screens or modify terminal display</li>
<li>Potentially mislead users through terminal manipulation</li>
</ul>
<p>In isolation, impact is minimal, however security issues have been
found in terminal emulators that enabled an attacker to use ANSI escape
sequences via logs to exploit vulnerabilities in the terminal
emulator.</p>
<h2>Solution</h2>
<p>Version 0.3.20 fixes this vulnerability by escaping ANSI control
characters in when writing events to destinations that may be printed to
the terminal.</p>
<h2>Affected Versions</h2>
<p>All versions of tracing-subscriber prior to 0.3.20 are affected by
this vulnerability.</p>
<h2>Recommendations</h2>
<p>Immediate Action Required: We recommend upgrading to
tracing-subscriber 0.3.20 immediately, especially if your
application:</p>
<ul>
<li>Logs user-provided input (form data, HTTP headers, query parameters,
etc.)</li>
<li>Runs in environments where terminal output is displayed to
users</li>
</ul>
<h2>Migration</h2>
<p>This is a patch release with no breaking API changes. Simply update
your Cargo.toml:</p>
<pre lang="toml"><code>[dependencies]
tracing-subscriber = &quot;0.3.20&quot;
</code></pre>
<h2>Acknowledgments</h2>
<p>We would like to thank <a href="http://github.com/zefr0x">zefr0x</a>
who responsibly reported the issue at
<code>[email protected]</code>.</p>
<p>If you believe you have found a security vulnerability in any
tokio-rs project, please email us at <code>[email protected]</code>.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/tokio-rs/tracing/commit/4c52ca5266a3920fc5dfeebda2accf15ee7fb278"><code>4c52ca5</code></a>
fmt: fix ANSI escape sequence injection vulnerability (<a
href="https://redirect.github.com/tokio-rs/tracing/issues/3368">#3368</a>)</li>
<li><a
href="https://github.com/tokio-rs/tracing/commit/f71cebe41e4c12735b1d19ca804428d4ff7d905d"><code>f71cebe</code></a>
subscriber: impl Clone for EnvFilter (<a
href="https://redirect.github.com/tokio-rs/tracing/issues/3360">#3360</a>)</li>
<li><a
href="https://github.com/tokio-rs/tracing/commit/3a1f571102b38bcdca13d59f3c454989d179055d"><code>3a1f571</code></a>
Fix CI (<a
href="https://redirect.github.com/tokio-rs/tracing/issues/3361">#3361</a>)</li>
<li><a
href="https://github.com/tokio-rs/tracing/commit/e63ef57f3d686abe3727ddd586eb9af73d6715b7"><code>e63ef57</code></a>
chore: prepare tracing-attributes 0.1.30 (<a
href="https://redirect.github.com/tokio-rs/tracing/issues/3316">#3316</a>)</li>
<li><a
href="https://github.com/tokio-rs/tracing/commit/6e59a13b1a7bcdd78b8b5a7cbcf70a0b2cdd76f0"><code>6e59a13</code></a>
attributes: fix tracing::instrument regression around shadowing (<a
href="https://redirect.github.com/tokio-rs/tracing/issues/3311">#3311</a>)</li>
<li><a
href="https://github.com/tokio-rs/tracing/commit/e4df76127538aa8370d7dee32a6f84bbec6bbf10"><code>e4df761</code></a>
tracing: update core to 0.1.34 and attributes to 0.1.29 (<a
href="https://redirect.github.com/tokio-rs/tracing/issues/3305">#3305</a>)</li>
<li><a
href="https://github.com/tokio-rs/tracing/commit/643f392ebb73c4fb856f56a78c066c82582dd22c"><code>643f392</code></a>
chore: prepare tracing-attributes 0.1.29 (<a
href="https://redirect.github.com/tokio-rs/tracing/issues/3304">#3304</a>)</li>
<li><a
href="https://github.com/tokio-rs/tracing/commit/d08e7a6eea1833810ea527e18ea03b08cd402c9d"><code>d08e7a6</code></a>
chore: prepare tracing-core 0.1.34 (<a
href="https://redirect.github.com/tokio-rs/tracing/issues/3302">#3302</a>)</li>
<li><a
href="https://github.com/tokio-rs/tracing/commit/6e70c571d319a033d5f37c885ccf99aa675a9eac"><code>6e70c57</code></a>
tracing-subscriber: count numbers of enters in <code>Timings</code> (<a
href="https://redirect.github.com/tokio-rs/tracing/issues/2944">#2944</a>)</li>
<li><a
href="https://github.com/tokio-rs/tracing/commit/c01d4fd9def2fb061669a310598095c789ca0a32"><code>c01d4fd</code></a>
fix docs and enable CI on <code>main</code> branch (<a
href="https://redirect.github.com/tokio-rs/tracing/issues/3295">#3295</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/tokio-rs/tracing/compare/tracing-subscriber-0.3.19...tracing-subscriber-0.3.20">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tracing-subscriber&package-manager=cargo&previous-version=0.3.19&new-version=0.3.20)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)

</details>

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: Hanzo Dev <[email protected]>
2025-09-15 00:51:33 -07:00
just-every-code 7e82930009 Merge upstream/main: preserve TUI/tooling; adopt core updates (verify.sh ok, build-fast: zero warnings) 2025-09-15 01:30:16 +00:00
just-every-code 9c3a0b2ece merge(upstream): sync upstream/main into upstream-merge with selective reconciliation
- Prefer ours for TUI and core API invariants; adopted upstream for exec/common where safe
- Restored fork invariants (browser/agent tools, UA/version) and added missing deps
- Aligned conversation manager to session_id flow; added resume wiring via config
- Re-exported rollout helpers at crate root for exec; fixed MCP/TUI call sites
- Build passes verify.sh and ./build-fast.sh with zero errors
2025-09-15 00:11:46 +00:00
Ahmed IbrahimandGitHub 45ac09102a enable-resume (#3537)
Adding the ability to resume conversations.
we have one verb `resume`. 

Behavior:

`tui`:
`codex resume`: opens session picker
`codex resume --last`: continue last message
`codex resume <session id>`: continue conversation with `session id`

`exec`:
`codex resume --last`: continue last conversation
`codex resume <session id>`: continue conversation with `session id`

Implementation:
- I added a function to find the path in `~/.codex/sessions/` with a
`UUID`. This is helpful in resuming with session id.
- Added the above mentioned flags
- Added lots of testing
2025-09-14 19:33:19 -04:00
just-every-code 72088d84b2 merge(upstream): sync with openai/codex@main (by-bucket)\n\n- Adopt core client id propagation for input items\n- Align core EventMsg with protocol variants (no-op handling in TUI/exec)\n- Silence unused REVIEW_PROMPT per zero-warning policy\n- Verify + build fast: ok 2025-09-13 02:30:38 +00:00
just-every-code 119bb2f141 merge(upstream): incorporate openai/codex@main into upstream-merge
- Keep ours: core/codex.rs, TUI chatwidget, UA/version + tool gating
- Prefer theirs: exec/event processor, common/protocol syncs where compatible
- Reconciled: MCP tool runner match arms (preserve browser/agent events), config review_model default
- Added upstream review prompt/tests without enabling review mode features
- Verified via scripts/upstream-merge/verify.sh and ./build-fast.sh (no warnings)
2025-09-13 01:14:38 +00:00
dedrisian-oaiandGitHub 4ffd6e441d Review Mode (Core) (#3401)
## 📝 Review Mode -- Core

This PR introduces the Core implementation for Review mode:

- New op `Op::Review { prompt: String }:` spawns a child review task
with isolated context, a review‑specific system prompt, and a
`Config.review_model`.
- `EnteredReviewMode`: emitted when the child review session starts.
Every event from this point onwards reflects the review session.
- `ExitedReviewMode(Option<ReviewOutputEvent>)`: emitted when the review
finishes or is interrupted, with optional structured findings:

```json
{
  "findings": [
    {
      "title": "<≤ 80 chars, imperative>",
      "body": "<valid Markdown explaining *why* this is a problem; cite files/lines/functions>",
      "confidence_score": <float 0.0-1.0>,
      "priority": <int 0-3>,
      "code_location": {
        "absolute_file_path": "<file path>",
        "line_range": {"start": <int>, "end": <int>}
      }
    }
  ],
  "overall_correctness": "patch is correct" | "patch is incorrect",
  "overall_explanation": "<1-3 sentence explanation justifying the overall_correctness verdict>",
  "overall_confidence_score": <float 0.0-1.0>
}
```

## Questions

### Why separate out its own message history?

We want the review thread to match the training of our review models as
much as possible -- that means using a custom prompt, removing user
instructions, and starting a clean chat history.

We also want to make sure the review thread doesn't leak into the parent
thread.

### Why do this as a mode, vs. sub-agents?

1. We want review to be a synchronous task, so it's fine for now to do a
bespoke implementation.
2. We're still unclear about the final structure for sub-agents. We'd
prefer to land this quickly and then refactor into sub-agents without
rushing that implementation.
2025-09-12 23:25:10 +00:00
James Peter 3ee49e7115 ci(issue-code): add cached ripgrep+jq; hard-guard against committing protected paths; prefer GH_PAT; runtime guard in PR step; exec: allow suppressing 'turn diff' via CODE_SUPPRESS_TURN_DIFF 2025-09-13 02:12:38 +10:00
James Peter b16de3d9db fix(proxy+exec): harden proxy TLS forwarding (set servername, reset Host, normalize hop-by-hop headers) and make exec exit non-zero on agent Error events so workflows fail fast when streaming fails 2025-09-12 18:48:18 +10:00
Michael BolinandGitHub 13f8f1f56f feat: include reasoning_effort in NewConversationResponse (#3506)
`ClientRequest::NewConversation` picks up the reasoning level from the user's defaults in `config.toml`, so it should be reported in `NewConversationResponse`.
2025-09-11 21:04:40 -07:00
Michael BolinandGitHub e9d09ed68a chore: enable clippy::redundant_clone (#3489)
Created this PR by:

- adding `redundant_clone` to `[workspace.lints.clippy]` in
`cargo-rs/Cargol.toml`
- running `cargo clippy --tests --fix`
- running `just fmt`

Though I had to clean up one instance of the following that resulted:

```rust
let codex = codex;
```
2025-09-11 11:59:37 -07:00
Eric TrautandGitHub 0a982f6d27 Simplify auth flow and reconcile differences between ChatGPT and API Key auth (#3189)
This PR does the following:
* Adds the ability to paste or type an API key.
* Removes the `preferred_auth_method` config option. The last login
method is always persisted in auth.json, so this isn't needed.
* If OPENAI_API_KEY env variable is defined, the value is used to
prepopulate the new UI. The env variable is otherwise ignored by the
CLI.
* Adds a new MCP server entry point "login_api_key" so we can implement
this same API key behavior for the VS Code extension.
<img width="473" height="140" alt="Screenshot 2025-09-04 at 3 51 04 PM"
src="https://github.com/user-attachments/assets/c11bbd5b-8a4d-4d71-90fd-34130460f9d9"
/>
<img width="726" height="254" alt="Screenshot 2025-09-04 at 3 51 32 PM"
src="https://github.com/user-attachments/assets/6cc76b34-309a-4387-acbc-15ee5c756db9"
/>
2025-09-11 09:16:34 -07:00
Ahmed IbrahimandGitHub dc90446724 Change forking to read the rollout from file (#3440)
This PR changes get history op to get path. Then, forking will use a
path. This will help us have one unified codepath for resuming/forking
conversations. Will also help in having rollout history in order. It
also fixes a bug where you won't see the UI when resuming after forking.
2025-09-10 17:42:54 -07:00
James Peter 6aa5c5ce78 fix(exec/human_output): split stdout/stderr and add 'ERROR' divider on failed exec\n\nAlways compute truncated stdout and stderr.\nOn success, show dimmed stdout.\nOn failure, show dimmed stdout (if any), a visible 'ERROR' separator, then stderr without styling.\nThis keeps output readable when ANSI colors are stripped and clarifies which stream content came from. 2025-09-10 08:06:58 +10:00
Gabriel PealandGitHub 7f496aa29a Replace config.responses_originator_header_internal_override with CODEX_INTERNAL_ORIGINATOR_OVERRIDE_ENV_VAR (#3388)
The previous config approach had a few issues:
1. It is part of the config but not designed to be used externally
2. It had to be wired through many places (look at the +/- on this PR
3. It wasn't guaranteed to be set consistently everywhere because we
don't have a super well defined way that configs stack. For example, the
extension would configure during newConversation but anything that
happened outside of that (like login) wouldn't get it.

This env var approach is cleaner and also creates one less thing we have
to deal with when coming up with a better holistic story around configs.

One downside is that I removed the unit test testing for the override
because I don't want to deal with setting the global env or spawning
child processes and figuring out how to introspect their originator
header. The new code is sufficiently simple and I tested it e2e that I
feel as if this is still worth it.
2025-09-09 17:23:23 -04:00
Michael BolinandGitHub 83e90ede97 fix: include rollout_path in NewConversationResponse (#3352)
Adding the `rollout_path` to the `NewConversationResponse` makes it so a
client can perform subsequent operations on a `(ConversationId,
PathBuf)` pair. #3353 will introduce support for `ArchiveConversation`.

---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed
with [ReviewStack](https://reviewstack.dev/openai/codex/pull/3352).
* #3353
* __->__ #3352
2025-09-09 00:11:48 -07:00
just-every-code c6e4412afb merge(upstream): merge upstream/main into upstream-merge (by-bucket)
- Keep ours for TUI/CLI/workflows/docs; purge reintroduced rust-ci.yml
- Prefer theirs in protocol/deps; add serde_bytes + ICU/sys-locale/serde_with
- Keep our core codex/shell to preserve API; fix exec AuthMode import
- Make verify.sh CI-safe (no sccache; local CARGO dirs); check api_surface only

Build: ok; Verify: ok
2025-09-09 01:56:14 +00:00
jif-oaiandGitHub 3bd32af1b2 feat: Run cargo shear during CI (#3338)
Run cargo shear as part of the CI to ensure no unused dependencies
2025-09-09 01:05:08 +00:00
just-every-code 65fca1265c chore(exec): restore our exec from origin/upstream-merge to eliminate merge artifacts 2025-09-09 00:36:16 +00:00
just-every-code 8dd5a2e740 merge(upstream): merge upstream/main into upstream-merge (by-bucket)\n\n- Prefer ours: TUI, CLI, workflows, docs\n- Prefer theirs: core/common/protocol/exec/file-search\n- Purged disallowed assets; resolved conflicts per policy 2025-09-09 00:21:14 +00:00
Justin LebarandGitHub 1f5f4195ae Format large numbers in a more readable way. (#2046)
- In the bottom line of the TUI, print the number of tokens to 3 sigfigs
  with an SI suffix, e.g. "1.23K".
- Elsewhere where we print a number, I figure it's worthwhile to print
  the exact number, because e.g. it's a summary of your session. Here we print
  the numbers comma-separated.
2025-09-08 21:48:48 +00:00
Gabriel PealandGitHub 59fd77716d Use ConversationId instead of raw Uuids (#3282)
We're trying to migrate from `session_id: Uuid` to `conversation_id:
ConversationId`. Not only does this give us more type safety but it
unifies our terminology across Codex and with the implementation of
session resuming, a conversation (which can span multiple sessions) is
more appropriate.

I started this impl on https://github.com/openai/codex/pull/3219 as part
of getting resume working in the extension but it's big enough that it
should be broken out.
2025-09-07 23:22:25 -04:00