Skip to content
Merged

pr #6

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
5f80ad6
fix: chat completion with parallel tool call (#7634)
jif-oai Dec 5, 2025
d08efb1
Wire `with_remote_overrides` to construct model families (#7621)
aibrahim-oai Dec 5, 2025
a8cbbdb
feat(core) Add login to shell_command tool (#6846)
dylan-hurd-oai Dec 5, 2025
f48d880
Fix unified_exec on windows (#7620)
pakrym Dec 5, 2025
2e4a402
cloud: status, diff, apply (#7614)
nornagon-openai Dec 5, 2025
952d6c9
Move justfile to repository root (#7652)
joshka-oai Dec 6, 2025
6c9c563
fix(apply-patch): preserve CRLF line endings on Windows (#7515)
dylan-hurd-oai Dec 6, 2025
93f61db
Also load skills from repo root. (#7645)
xl-openai Dec 6, 2025
f521d29
fix: OTEL HTTP exporter panic and mTLS support (#7651)
asm89 Dec 6, 2025
8209080
fix: exec-server stream was erroring for large requests (#7654)
bolinfest Dec 6, 2025
315b1e9
docs: fix documentation of rmcp client flag (#7665)
JaySabva Dec 6, 2025
9a74228
docs: Remove experimental_use_rmcp_client from config (#7672)
JaySabva Dec 7, 2025
b2cb05d
docs: point dev checks to just (#7673)
voctory Dec 7, 2025
7386e2e
fix: clear out space on ubuntu runners before running Rust tests (#7678)
bolinfest Dec 7, 2025
3c087e8
fix: ensure macOS CI runners for Rust tests include recent Homebrew f…
bolinfest Dec 7, 2025
3c3d3d1
fix: add integration tests for codex-exec-mcp-server with execpolicy …
bolinfest Dec 7, 2025
53a486f
Add remote models feature flag (#7648)
aibrahim-oai Dec 7, 2025
acb8ed4
Fixed regression for chat endpoint; missing tools name caused litellm…
etraut-openai Dec 8, 2025
57ba9fa
fix(doc): TOML otel exporter example — multi-line inline table is inv…
448523760 Dec 8, 2025
9892365
fix: refine the warning message and docs for deprecated tools config …
gameofby Dec 8, 2025
056c2ee
fix: update URLs to use HTTPS in model migration prompts (#7705)
rakleed Dec 8, 2025
701f42b
chore(deps): bump ts-rs from 11.0.1 to 11.1.0 in /codex-rs (#7713)
dependabot[bot] Dec 8, 2025
7a6d609
chore(deps): bump derive_more from 2.0.1 to 2.1.0 in /codex-rs (#7714)
dependabot[bot] Dec 8, 2025
9fa9e3e
chore(deps): bump insta from 1.43.2 to 1.44.3 in /codex-rs (#7715)
dependabot[bot] Dec 8, 2025
5e888ab
chore(deps): bump wildmatch from 2.5.0 to 2.6.1 in /codex-rs (#7716)
dependabot[bot] Dec 8, 2025
cfda44b
fix wrap behavior for long commands (#7655)
zhao-oai Dec 8, 2025
c2bdee0
proposing execpolicy amendment when prompting due to sandbox denial (…
zhao-oai Dec 8, 2025
da983c1
feat: add is-mutating detection for shell command handler (#7729)
jif-oai Dec 8, 2025
585f75b
Make the device auth instructions more clear. (#7745)
mzeng-openai Dec 8, 2025
28e7218
feat: linux codesign with sigstore (#7674)
shijie-oai Dec 8, 2025
4a3e9ed
fix(tui): add missing Ctrl+n/Ctrl+p support to ListSelectionView (#7629)
pppp606 Dec 8, 2025
222a491
load models from disk and set a ttl and etag (#7722)
aibrahim-oai Dec 8, 2025
0a32aca
updating app server types to support execpoilcy amendment (#7747)
zhao-oai Dec 8, 2025
71c75e6
Enhance model picker (#7709)
aibrahim-oai Dec 8, 2025
a9f566a
Restore status header after stream recovery (#7660)
joshka-oai Dec 8, 2025
cb45139
Add formatting client version to the `x.x.x` style. (#7711)
aibrahim-oai Dec 8, 2025
badda73
feat: windows codesign with Azure trusted signing (#7675)
shijie-oai Dec 8, 2025
ac5fa6b
Do not emit start/end events for write stdin (#7561)
pakrym-oai Dec 8, 2025
382f047
Remove legacy `ModelInfo` and merge it with `ModelFamily` (#7748)
aibrahim-oai Dec 8, 2025
06704b1
fix: pre-main hardening logic must tolerate non-UTF-8 env vars (#7749)
bolinfest Dec 9, 2025
0f2b589
Revert "feat: windows codesign with Azure trusted signing" (#7753)
shijie-oai Dec 9, 2025
cacfd00
override instructions using `ModelInfo` (#7754)
aibrahim-oai Dec 9, 2025
68505ab
use chatgpt provider for /models (#7756)
aibrahim-oai Dec 9, 2025
933e247
Fix transcript pager page continuity (#7363)
muyuanjin Dec 9, 2025
80140c6
Use codex-max prompt/tools for experimental models. (#7765)
cassirer-openai Dec 9, 2025
6382dc2
chore: enable parallel tc (#7589)
jif-oai Dec 9, 2025
2237b70
Fix Nix cargo output hashes for rmcp and filedescriptor (#7762)
tyleranton Dec 9, 2025
164265b
Vendor ConPtySystem (#7656)
pakrym-oai Dec 9, 2025
a7e3e37
fix: allow sendmsg(2) and recvmsg(2) syscalls in our Linux sandbox (#…
bolinfest Dec 9, 2025
9df70a0
Add vim navigation keys to transcript pager (#7550)
joshka-oai Dec 9, 2025
ac32377
Fix: gracefully error out for unsupported images (#7478)
jobchong Dec 9, 2025
7836aed
feat: shell snapshotting (#7641)
jif-oai Dec 9, 2025
05e546e
fix more typos in execpolicy.md (#7787)
zhao-oai Dec 9, 2025
225a5f7
Add vim-style navigation for CLI option selection (#7784)
brolfe-oai Dec 9, 2025
0c8828c
feat(tui2): add feature-flagged tui2 frontend (#7793)
joshka-oai Dec 10, 2025
fa4cac1
fix: introduce AbsolutePathBuf and resolve relative paths in config.t…
bolinfest Dec 10, 2025
893f526
feat: support mcp in-session login (#7751)
shijie-oai Dec 10, 2025
967d063
parse rg | head a search (#7797)
pakrym-oai Dec 10, 2025
fc42493
Elevated Sandbox 1 (#7788)
iceweasel-oai Dec 10, 2025
42e0817
Revert "Revert "feat: windows codesign with Azure trusted signing"" (…
shijie-oai Dec 10, 2025
f11520f
Revert "feat: windows codesign with Azure trusted signing" (#7804)
shijie-oai Dec 10, 2025
ab9ddcd
Revert "Revert "feat: windows codesign with Azure trusted signing"" (…
shijie-oai Dec 10, 2025
6fa24d6
Express rate limit warning as % remaining (#7795)
gverma-openai Dec 10, 2025
d1c5db5
chore: disable trusted signing pkg cache hit (#7807)
shijie-oai Dec 10, 2025
0ad5498
chore: rework unified exec events (#7775)
jif-oai Dec 10, 2025
463249e
fix: flaky test 2 (#7818)
jif-oai Dec 10, 2025
97b9009
feat: use remote branch for review is local trails (#7813)
jif-oai Dec 10, 2025
e0fb3ca
refactoring with_escalated_permissions to use SandboxPermissions inst…
zhao-oai Dec 10, 2025
c4af707
Removed experimental "command risk assessment" feature (#7799)
etraut-openai Dec 10, 2025
f677d05
fix: flaky tests 3 (#7826)
jif-oai Dec 10, 2025
bd51d1b
fix: Upgrade @modelcontextprotocol/sdk to ^1.24.0 (#7817)
Bronx83 Dec 10, 2025
9f40d6e
fix: remove duplicated parallel FeatureSpec (#7823)
zchee Dec 10, 2025
4b684c5
Remove conversation_id and bring back request ID logging (#7830)
pakrym-oai Dec 10, 2025
8a71f8b
[app-server] Make sure that config writes preserve comments & order o…
celia-oai Dec 10, 2025
cb9a189
make `model` optional in config (#7769)
aibrahim-oai Dec 10, 2025
1a58096
fix: Prevent slash command popup from activating on invalid inputs (#…
448523760 Dec 10, 2025
4953b2a
Error when trying to push a release while another release is in progr…
aibrahim-oai Dec 10, 2025
bfb4d57
[app-server-protocol] Add types for config (#7658)
celia-oai Dec 10, 2025
eb2e545
Disable ansi codes in tui log file (#7836)
pakrym-oai Dec 10, 2025
b36ecb6
Inject SKILL.md when it's explicitly mentioned. (#7763)
xl-openai Dec 10, 2025
3216250
Show the default model in model picker (#7838)
aibrahim-oai Dec 10, 2025
90f262e
feat(tui2): copy tui crate and normalize snapshots (#7833)
joshka-oai Dec 10, 2025
e2559ab
fix: thread/list returning fewer than the requested amount due to fil…
JaviSoto Dec 10, 2025
87f5b69
fix: ensure accept_elicitation_for_prompt_rule() test passes locally …
bolinfest Dec 10, 2025
c136780
fixing typo in execpolicy docs (#7847)
zhao-oai Dec 11, 2025
7cabe54
[app-server] make app server not throw error when login id is not fou…
celia-oai Dec 11, 2025
038767a
fix: add a hopefully-temporary sleep to reduce test flakiness (#7848)
bolinfest Dec 11, 2025
ce19dbb
[app-server] Update readme to include mcp endpoints (#7850)
celia-oai Dec 11, 2025
3fc8b28
fix: remove inaccurate `#[allow(dead_code)]` marker (#7851)
bolinfest Dec 11, 2025
0572500
Fixed regression that broke fuzzy matching for slash commands (#7859)
etraut-openai Dec 11, 2025
83aac0f
Only show Worked for after the final assistant message (#7854)
pakrym-oai Dec 11, 2025
13c0919
Elevated Sandbox 2 (#7792)
iceweasel-oai Dec 11, 2025
dca7f4c
fix(stuff) (#7855)
dylan-hurd-oai Dec 11, 2025
b2280d6
feat: warning for long snapshots (#7870)
jif-oai Dec 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .codespellignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
iTerm
psuedo
44 changes: 44 additions & 0 deletions .github/actions/linux-code-sign/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: linux-code-sign
description: Sign Linux artifacts with cosign.
inputs:
target:
description: Target triple for the artifacts to sign.
required: true
artifacts-dir:
description: Absolute path to the directory containing built binaries to sign.
required: true

runs:
using: composite
steps:
- name: Install cosign
uses: sigstore/[email protected]

- name: Cosign Linux artifacts
shell: bash
env:
COSIGN_EXPERIMENTAL: "1"
COSIGN_YES: "true"
COSIGN_OIDC_CLIENT_ID: "sigstore"
COSIGN_OIDC_ISSUER: "https://oauth2.sigstore.dev/auth"
run: |
set -euo pipefail

dest="${{ inputs.artifacts-dir }}"
if [[ ! -d "$dest" ]]; then
echo "Destination $dest does not exist"
exit 1
fi

for binary in codex codex-responses-api-proxy; do
artifact="${dest}/${binary}"
if [[ ! -f "$artifact" ]]; then
echo "Binary $artifact not found"
exit 1
fi

cosign sign-blob \
--yes \
--bundle "${artifact}.sigstore" \
"$artifact"
done
55 changes: 55 additions & 0 deletions .github/actions/windows-code-sign/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: windows-code-sign
description: Sign Windows binaries with Azure Trusted Signing.
inputs:
target:
description: Target triple for the artifacts to sign.
required: true
client-id:
description: Azure Trusted Signing client ID.
required: true
tenant-id:
description: Azure tenant ID for Trusted Signing.
required: true
subscription-id:
description: Azure subscription ID for Trusted Signing.
required: true
endpoint:
description: Azure Trusted Signing endpoint.
required: true
account-name:
description: Azure Trusted Signing account name.
required: true
certificate-profile-name:
description: Certificate profile name for signing.
required: true

runs:
using: composite
steps:
- name: Azure login for Trusted Signing (OIDC)
uses: azure/login@v2
with:
client-id: ${{ inputs.client-id }}
tenant-id: ${{ inputs.tenant-id }}
subscription-id: ${{ inputs.subscription-id }}

- name: Sign Windows binaries with Azure Trusted Signing
uses: azure/trusted-signing-action@v0
with:
endpoint: ${{ inputs.endpoint }}
trusted-signing-account-name: ${{ inputs.account-name }}
certificate-profile-name: ${{ inputs.certificate-profile-name }}
exclude-environment-credential: true
exclude-workload-identity-credential: true
exclude-managed-identity-credential: true
exclude-shared-token-cache-credential: true
exclude-visual-studio-credential: true
exclude-visual-studio-code-credential: true
exclude-azure-cli-credential: false
exclude-azure-powershell-credential: true
exclude-azure-developer-cli-credential: true
exclude-interactive-browser-credential: true
cache-dependencies: false
files: |
${{ github.workspace }}/codex-rs/target/${{ inputs.target }}/release/codex.exe
${{ github.workspace }}/codex-rs/target/${{ inputs.target }}/release/codex-responses-api-proxy.exe
43 changes: 43 additions & 0 deletions .github/workflows/rust-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -369,6 +369,49 @@ jobs:

steps:
- uses: actions/checkout@v6

# We have been running out of space when running this job on Linux for
# x86_64-unknown-linux-gnu, so remove some unnecessary dependencies.
- name: Remove unnecessary dependencies to save space
if: ${{ startsWith(matrix.runner, 'ubuntu') }}
shell: bash
run: |
set -euo pipefail
sudo rm -rf \
/usr/local/lib/android \
/usr/share/dotnet \
/usr/local/share/boost \
/usr/local/lib/node_modules \
/opt/ghc
sudo apt-get remove -y docker.io docker-compose podman buildah

# Ensure brew includes this fix so that brew's shellenv.sh loads
# cleanly in the Codex sandbox (it is frequently eval'd via .zprofile
# for Brew users, including the macOS runners on GitHub):
#
# https://github.com/Homebrew/brew/pull/21157
#
# Once brew 5.0.5 is released and is the default on macOS runners, this
# step can be removed.
- name: Upgrade brew
if: ${{ startsWith(matrix.runner, 'macos') }}
shell: bash
run: |
set -euo pipefail
brew --version
git -C "$(brew --repo)" fetch origin
git -C "$(brew --repo)" checkout main
git -C "$(brew --repo)" reset --hard origin/main
export HOMEBREW_UPDATE_TO_TAG=0
brew update
brew upgrade
brew --version

# Some integration tests rely on DotSlash being installed.
# See https://github.com/openai/codex/pull/7617.
- name: Install DotSlash
uses: facebook/install-dotslash@v2

- uses: dtolnay/[email protected]
with:
targets: ${{ matrix.target }}
Expand Down
32 changes: 32 additions & 0 deletions .github/workflows/rust-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,9 @@ jobs:
name: Build - ${{ matrix.runner }} - ${{ matrix.target }}
runs-on: ${{ matrix.runner }}
timeout-minutes: 30
permissions:
contents: read
id-token: write
defaults:
run:
working-directory: codex-rs
Expand Down Expand Up @@ -100,6 +103,25 @@ jobs:
- name: Cargo build
run: cargo build --target ${{ matrix.target }} --release --bin codex --bin codex-responses-api-proxy

- if: ${{ contains(matrix.target, 'linux') }}
name: Cosign Linux artifacts
uses: ./.github/actions/linux-code-sign
with:
target: ${{ matrix.target }}
artifacts-dir: ${{ github.workspace }}/codex-rs/target/${{ matrix.target }}/release

- if: ${{ contains(matrix.target, 'windows') }}
name: Sign Windows binaries with Azure Trusted Signing
uses: ./.github/actions/windows-code-sign
with:
target: ${{ matrix.target }}
client-id: ${{ secrets.AZURE_TRUSTED_SIGNING_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TRUSTED_SIGNING_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_TRUSTED_SIGNING_SUBSCRIPTION_ID }}
endpoint: ${{ secrets.AZURE_TRUSTED_SIGNING_ENDPOINT }}
account-name: ${{ secrets.AZURE_TRUSTED_SIGNING_ACCOUNT_NAME }}
certificate-profile-name: ${{ secrets.AZURE_TRUSTED_SIGNING_CERTIFICATE_PROFILE_NAME }}

- if: ${{ matrix.runner == 'macos-15-xlarge' }}
name: Configure Apple code signing
shell: bash
Expand Down Expand Up @@ -283,6 +305,11 @@ jobs:
cp target/${{ matrix.target }}/release/codex-responses-api-proxy "$dest/codex-responses-api-proxy-${{ matrix.target }}"
fi

if [[ "${{ matrix.target }}" == *linux* ]]; then
cp target/${{ matrix.target }}/release/codex.sigstore "$dest/codex-${{ matrix.target }}.sigstore"
cp target/${{ matrix.target }}/release/codex-responses-api-proxy.sigstore "$dest/codex-responses-api-proxy-${{ matrix.target }}.sigstore"
fi

- if: ${{ matrix.runner == 'windows-11-arm' }}
name: Install zstd
shell: powershell
Expand Down Expand Up @@ -321,6 +348,11 @@ jobs:
continue
fi

# Don't try to compress signature bundles.
if [[ "$base" == *.sigstore ]]; then
continue
fi

# Create per-binary tar.gz
tar -C "$dest" -czf "$dest/${base}.tar.gz" "$base"

Expand Down
1 change: 1 addition & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ If you don’t have the tool:
### Test assertions

- Tests should use pretty_assertions::assert_eq for clearer diffs. Import this at the top of the test module if it isn't already.
- Prefer deep equals comparisons whenever possible. Perform `assert_eq!()` on entire objects, rather than individual fields.

### Integration tests (core)

Expand Down
Loading