Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
99bcb90
chore: use proxy for encrypted summary (#7252)
jif-oai Nov 24, 2025
920239f
fix: codex delegate cancellation (#7092)
jif-oai Nov 24, 2025
b2cddec
feat: unified exec basic pruning strategy (#7239)
jif-oai Nov 24, 2025
486b1c4
consolidate world-writable-directories scanning. (#7234)
iceweasel-oai Nov 24, 2025
35d89e8
fix: flaky test (#7257)
jif-oai Nov 24, 2025
c31663d
[feedback] Add source info into feedback metadata. (#7140)
mzeng-openai Nov 24, 2025
1e832b1
fix(windows) support apply_patch parsing in powershell (#7221)
dylan-hurd-oai Nov 24, 2025
be022be
chore(deps): bump regex from 1.11.1 to 1.12.2 in /codex-rs (#7222)
dependabot[bot] Nov 24, 2025
e8b6fb7
chore(deps): bump toml_edit from 0.23.4 to 0.23.5 in /codex-rs (#7223)
dependabot[bot] Nov 24, 2025
35850ca
chore(deps): bump actions/upload-artifact from 4 to 5 (#7229)
dependabot[bot] Nov 24, 2025
6dd3606
chore(deps): bump actions/checkout from 5 to 6 (#7230)
dependabot[bot] Nov 24, 2025
481c84e
fix: Fix build process-hardening build on NetBSD (#7238)
0-wiz-0 Nov 24, 2025
207d94b
Removed `streamable_shell` from docs (#7235)
etraut-openai Nov 24, 2025
1875700
chore(deps): bump libc from 0.2.175 to 0.2.177 in /codex-rs (#7224)
dependabot[bot] Nov 24, 2025
f6f4c8f
chore(deps): bump webbrowser from 1.0.5 to 1.0.6 in /codex-rs (#7225)
dependabot[bot] Nov 24, 2025
2c885ed
Added alternate form of `dependabot` to CLA allow list (#7260)
etraut-openai Nov 24, 2025
3741f38
Allow enterprises to skip upgrade checks and messages (#7213)
gpeal Nov 24, 2025
523dabc
fix: custom prompt expansion with large pastes (#7154)
Priya-753 Nov 24, 2025
4ed4c73
chore(ci): add cargo audit workflow and policy (#7108)
joshka-oai Nov 24, 2025
ec49b56
chore: add cargo-deny configuration (#7119)
joshka-oai Nov 24, 2025
99e5340
Windows Sandbox: treat <workspace_root>/.git as read-only in workspac…
iceweasel-oai Nov 24, 2025
b897880
chore: dedup unified exec "waited" rendering (#7256)
jif-oai Nov 24, 2025
fc2ff62
fix: don't store early exit sessions (#7263)
jif-oai Nov 24, 2025
3308dc5
fix: Correct the stream error message (#7266)
CSRessel Nov 25, 2025
0dd8222
[app-server-test-client] add send-followup-v2 (#7271)
celia-oai Nov 25, 2025
523b40a
feat[app-serve]: config management (#7241)
jif-oai Nov 25, 2025
37d83e0
feat: add custom env for unified exec process (#7286)
jif-oai Nov 25, 2025
157a16c
[app-server] feat: add thread_id and turn_id to item and error notifi…
owenlin0 Nov 25, 2025
9ba27cf
feat: add compaction event (#7289)
jif-oai Nov 25, 2025
caf2749
[app-server] feat: add turn/diff/updated event (#7279)
owenlin0 Nov 25, 2025
d8a7a63
fix: Drop MacOS 13 (#7295)
jif-oai Nov 25, 2025
2845e2c
fix: drop conversation when `/new` (#7297)
jif-oai Nov 25, 2025
4502b1b
chore: proper client extraction (#6996)
jif-oai Nov 25, 2025
865e225
tmp: drop flaky ubuntu (#7300)
jif-oai Nov 25, 2025
401f94c
[app-server] add `thread/tokenUsage/updated` v2 event (#7268)
celia-oai Nov 25, 2025
981e2f7
correctly recognize WorkspaceWrite policy on /approvals (#7301)
iceweasel-oai Nov 25, 2025
28ff364
feat: update process ID for event handling (#7261)
jif-oai Nov 25, 2025
e953092
Fixed regression in experimental "sandbox command assessment" feature…
etraut-openai Nov 26, 2025
9630097
nit: drop file (#7314)
jif-oai Nov 26, 2025
8b314e2
doc: fix relative links and add tips (#7319)
lionel-oai Nov 26, 2025
fabdbfe
Fixes two bugs in example-config.md documentation (#7324)
etraut-openai Nov 26, 2025
a8ca543
Merge upstream/main into agent-workflow-followup
ScriptedAlchemy Nov 26, 2025
69e5fa2
chore: sync lockfile for native optional deps
ScriptedAlchemy Nov 26, 2025
0a336d6
fix(sdk): add @openai/agents and @openai/agents-core to dependencies
ScriptedAlchemy Dec 7, 2025
889c188
feat(sdk): enhance native SDK agent workflow support
ScriptedAlchemy Dec 7, 2025
cf073c8
chore: sync lockfile with @codex-native/sdk 0.0.5 platform packages
ScriptedAlchemy Dec 7, 2025
3ce5c1a
fix(rmcp): bump to 0.10.0 and stabilize reverie tests
Dec 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions .github/workflows/cargo-deny.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: cargo-deny

on:
pull_request:
push:
branches:
- main

jobs:
cargo-deny:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./codex-rs
steps:
- name: Checkout
uses: actions/checkout@v6

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable

- name: Run cargo-deny
uses: EmbarkStudios/cargo-deny-action@v1
with:
rust-version: stable
manifest-path: ./codex-rs/Cargo.toml
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
NODE_OPTIONS: --max-old-space-size=4096
steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Setup pnpm
uses: pnpm/action-setup@v4
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/cla.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,5 @@ jobs:
branch: cla-signatures
allowlist: |
codex
dependabot
dependabot[bot]
2 changes: 1 addition & 1 deletion .github/workflows/codespell.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Annotate locations with typos
uses: codespell-project/codespell-problem-matcher@b80729f885d32f78a716c2f107b4db1025001c42 # v1
- name: Codespell
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/issue-deduplicator.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
outputs:
codex_output: ${{ steps.codex.outputs.final-message }}
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6

- name: Prepare Codex inputs
env:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/issue-labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
outputs:
codex_output: ${{ steps.codex.outputs.final-message }}
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6

- id: codex
uses: openai/codex-action@main
Expand Down
48 changes: 33 additions & 15 deletions .github/workflows/rust-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
codex: ${{ steps.detect.outputs.codex }}
workflows: ${{ steps.detect.outputs.workflows }}
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Detect changed paths (no external action)
Expand Down Expand Up @@ -56,7 +56,7 @@ jobs:
run:
working-directory: codex-rs
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@1.90
with:
components: rustfmt
Expand All @@ -74,7 +74,7 @@ jobs:
run:
working-directory: codex-rs
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@1.90
- uses: taiki-e/install-action@44c6d64aa62cd779e873306675c7a58e86d6d532 # v2
with:
Expand Down Expand Up @@ -147,7 +147,7 @@ jobs:
profile: release

steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@1.90
with:
targets: ${{ matrix.target }}
Expand All @@ -163,6 +163,15 @@ jobs:
sudo rm -rf /usr/local/lib/android /opt/ghc /usr/share/dotnet /opt/hostedtoolcache/CodeQL || true
df -h

- name: Compute lockfile hash
id: lockhash
working-directory: codex-rs
shell: bash
run: |
set -euo pipefail
echo "hash=$(sha256sum Cargo.lock | cut -d' ' -f1)" >> "$GITHUB_OUTPUT"
echo "toolchain_hash=$(sha256sum rust-toolchain.toml | cut -d' ' -f1)" >> "$GITHUB_OUTPUT"

# Explicit cache restore: split cargo home vs target, so we can
# avoid caching the large target dir on the gnu-dev job.
- name: Restore cargo home cache
Expand All @@ -174,7 +183,7 @@ jobs:
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
key: cargo-home-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-${{ hashFiles('**/Cargo.lock') }}-${{ hashFiles('codex-rs/rust-toolchain.toml') }}
key: cargo-home-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-${{ steps.lockhash.outputs.hash }}-${{ steps.lockhash.outputs.toolchain_hash }}
restore-keys: |
cargo-home-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-

Expand Down Expand Up @@ -211,9 +220,9 @@ jobs:
uses: actions/cache/restore@v4
with:
path: ${{ github.workspace }}/.sccache/
key: sccache-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-${{ hashFiles('**/Cargo.lock') }}-${{ github.run_id }}
key: sccache-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-${{ steps.lockhash.outputs.hash }}-${{ github.run_id }}
restore-keys: |
sccache-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-${{ hashFiles('**/Cargo.lock') }}-
sccache-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-${{ steps.lockhash.outputs.hash }}-
sccache-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-

- if: ${{ matrix.target == 'x86_64-unknown-linux-musl' || matrix.target == 'aarch64-unknown-linux-musl'}}
Expand Down Expand Up @@ -288,15 +297,15 @@ jobs:
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
key: cargo-home-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-${{ hashFiles('**/Cargo.lock') }}-${{ hashFiles('codex-rs/rust-toolchain.toml') }}
key: cargo-home-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-${{ steps.lockhash.outputs.hash }}-${{ steps.lockhash.outputs.toolchain_hash }}

- name: Save sccache cache (fallback)
if: always() && !cancelled() && env.USE_SCCACHE == 'true' && env.SCCACHE_GHA_ENABLED != 'true'
continue-on-error: true
uses: actions/cache/save@v4
with:
path: ${{ github.workspace }}/.sccache/
key: sccache-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-${{ hashFiles('**/Cargo.lock') }}-${{ github.run_id }}
key: sccache-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-${{ steps.lockhash.outputs.hash }}-${{ github.run_id }}

- name: sccache stats
if: always() && env.USE_SCCACHE == 'true'
Expand Down Expand Up @@ -369,7 +378,7 @@ jobs:
profile: dev

steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@1.90
with:
targets: ${{ matrix.target }}
Expand All @@ -384,6 +393,15 @@ jobs:
sudo rm -rf /usr/local/lib/android /opt/ghc /usr/share/dotnet /opt/hostedtoolcache/CodeQL || true
df -h

- name: Compute lockfile hash
id: lockhash
working-directory: codex-rs
shell: bash
run: |
set -euo pipefail
echo "hash=$(sha256sum Cargo.lock | cut -d' ' -f1)" >> "$GITHUB_OUTPUT"
echo "toolchain_hash=$(sha256sum rust-toolchain.toml | cut -d' ' -f1)" >> "$GITHUB_OUTPUT"

- name: Restore cargo home cache
id: cache_cargo_home_restore
uses: actions/cache/restore@v4
Expand All @@ -393,7 +411,7 @@ jobs:
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
key: cargo-home-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-${{ hashFiles('**/Cargo.lock') }}-${{ hashFiles('codex-rs/rust-toolchain.toml') }}
key: cargo-home-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-${{ steps.lockhash.outputs.hash }}-${{ steps.lockhash.outputs.toolchain_hash }}
restore-keys: |
cargo-home-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-

Expand Down Expand Up @@ -429,9 +447,9 @@ jobs:
uses: actions/cache/restore@v4
with:
path: ${{ github.workspace }}/.sccache/
key: sccache-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-${{ hashFiles('**/Cargo.lock') }}-${{ github.run_id }}
key: sccache-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-${{ steps.lockhash.outputs.hash }}-${{ github.run_id }}
restore-keys: |
sccache-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-${{ hashFiles('**/Cargo.lock') }}-
sccache-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-${{ steps.lockhash.outputs.hash }}-
sccache-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-

- uses: taiki-e/install-action@44c6d64aa62cd779e873306675c7a58e86d6d532 # v2
Expand All @@ -456,15 +474,15 @@ jobs:
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
key: cargo-home-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-${{ hashFiles('**/Cargo.lock') }}-${{ hashFiles('codex-rs/rust-toolchain.toml') }}
key: cargo-home-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-${{ steps.lockhash.outputs.hash }}-${{ steps.lockhash.outputs.toolchain_hash }}

- name: Save sccache cache (fallback)
if: always() && !cancelled() && env.USE_SCCACHE == 'true' && env.SCCACHE_GHA_ENABLED != 'true'
continue-on-error: true
uses: actions/cache/save@v4
with:
path: ${{ github.workspace }}/.sccache/
key: sccache-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-${{ hashFiles('**/Cargo.lock') }}-${{ github.run_id }}
key: sccache-${{ matrix.runner }}-${{ matrix.target }}-${{ matrix.profile }}-${{ steps.lockhash.outputs.hash }}-${{ github.run_id }}

- name: sccache stats
if: always() && env.USE_SCCACHE == 'true'
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/rust-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
tag-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6

- name: Validate tag matches Cargo.toml version
shell: bash
Expand Down Expand Up @@ -76,8 +76,8 @@ jobs:
target: aarch64-pc-windows-msvc

steps:
- uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@1.91.1
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@1.90
with:
targets: ${{ matrix.target }}

Expand Down Expand Up @@ -397,7 +397,7 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6

- uses: actions/download-artifact@v6
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/sdk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
SCCACHE_CACHE_SIZE: 5G
steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Setup pnpm
uses: pnpm/action-setup@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/shell-tool-mcp-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Setup pnpm
uses: pnpm/action-setup@v4
Expand Down
23 changes: 8 additions & 15 deletions .github/workflows/shell-tool-mcp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ jobs:
install_musl: true
steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6

- uses: dtolnay/rust-toolchain@1.90
with:
Expand All @@ -113,7 +113,7 @@ jobs:
cp "target/${{ matrix.target }}/release/codex-exec-mcp-server" "$dest/"
cp "target/${{ matrix.target }}/release/codex-execve-wrapper" "$dest/"
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v5
with:
name: shell-tool-mcp-rust-${{ matrix.target }}
path: artifacts/**
Expand All @@ -138,10 +138,6 @@ jobs:
target: x86_64-unknown-linux-musl
variant: ubuntu-22.04
image: ubuntu:22.04
- runner: ubuntu-24.04
target: x86_64-unknown-linux-musl
variant: ubuntu-20.04
image: ubuntu:20.04
- runner: ubuntu-24.04
target: x86_64-unknown-linux-musl
variant: debian-12
Expand Down Expand Up @@ -196,7 +192,7 @@ jobs:
fi
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Build patched Bash
shell: bash
Expand All @@ -215,7 +211,7 @@ jobs:
mkdir -p "$dest"
cp bash "$dest/bash"
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v5
with:
name: shell-tool-mcp-bash-${{ matrix.target }}-${{ matrix.variant }}
path: artifacts/**
Expand All @@ -236,12 +232,9 @@ jobs:
- runner: macos-14
target: aarch64-apple-darwin
variant: macos-14
- runner: macos-13
target: x86_64-apple-darwin
variant: macos-13
steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Build patched Bash
shell: bash
Expand All @@ -260,7 +253,7 @@ jobs:
mkdir -p "$dest"
cp bash "$dest/bash"
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v5
with:
name: shell-tool-mcp-bash-${{ matrix.target }}-${{ matrix.variant }}
path: artifacts/**
Expand All @@ -278,7 +271,7 @@ jobs:
PACKAGE_VERSION: ${{ needs.metadata.outputs.version }}
steps:
- name: Checkout repository
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Setup pnpm
uses: pnpm/action-setup@v4
Expand Down Expand Up @@ -359,7 +352,7 @@ jobs:
filename=$(PACK_INFO="$pack_info" node -e 'const data = JSON.parse(process.env.PACK_INFO); console.log(data[0].filename);')
mv "dist/npm/${filename}" "dist/npm/codex-shell-tool-mcp-npm-${PACKAGE_VERSION}.tgz"
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v5
with:
name: codex-shell-tool-mcp-npm
path: dist/npm/codex-shell-tool-mcp-npm-${{ env.PACKAGE_VERSION }}.tgz
Expand Down
6 changes: 6 additions & 0 deletions codex-rs/.cargo/audit.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[advisories]
ignore = [
"RUSTSEC-2024-0388", # derivative 2.2.0 via starlark; upstream crate is unmaintained
"RUSTSEC-2025-0057", # fxhash 0.2.1 via starlark_map; upstream crate is unmaintained
"RUSTSEC-2024-0436", # paste 1.0.15 via starlark/ratatui; upstream crate is unmaintained
]
26 changes: 26 additions & 0 deletions codex-rs/.github/workflows/cargo-audit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Cargo audit

on:
pull_request:
push:
branches:
- main

permissions:
contents: read

jobs:
audit:
runs-on: ubuntu-latest
defaults:
run:
working-directory: codex-rs
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Install cargo-audit
uses: taiki-e/install-action@v2
with:
tool: cargo-audit
- name: Run cargo audit
run: cargo audit --deny warnings
Loading
Loading