Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
6baeec6
python-sdk: generated type foundation (all v2 schemas) (#13953)
shaqayeq-oai Mar 10, 2026
b90921e
Fix release-mode integration test compiler failure (#13603)
etraut-openai Mar 10, 2026
9a501dd
Fix Linux tmux segfault in user shell lookup (#13900)
etraut-openai Mar 10, 2026
e4edafe
Log ChatGPT user ID for feedback tags (#13901)
etraut-openai Mar 10, 2026
e52afd2
Expose strongly-typed result for exec_command (#14183)
pakrym-oai Mar 10, 2026
77a0290
Stabilize split PTY output on Windows (#14003)
aibrahim-oai Mar 10, 2026
46e6661
Reuse McpToolOutput in McpHandler (#14229)
pakrym-oai Mar 10, 2026
b33edeb
Mark incomplete resumed turns interrupted when idle (#14125)
guinness-oai Mar 10, 2026
027afb8
[skill-creator] Add forward-testing instructions (#13600)
ebrevdo Mar 10, 2026
01e2c3b
Add OpenAI Docs skill (#13596)
cguo-oai Mar 10, 2026
bda9e55
add(core): arc_monitor (#13936)
mzeng-openai Mar 10, 2026
2544bd0
feat: Allow sync with remote plugin status. (#14176)
xl-openai Mar 10, 2026
22d0aea
Add granular metrics for cloud requirements load (#14108)
alexsong-oai Mar 10, 2026
9b3332e
fix(python-sdk): stop checking in codex binaries; stage pinned runtim…
owenlin0 Mar 10, 2026
2895d35
Add spawn_agent model overrides (#14160)
aibrahim-oai Mar 10, 2026
2893476
unifying all image saves to /tmp to bug-proof (#14149)
won-openai Mar 10, 2026
1516305
app-server: propagate nested experimental gating for AskForApproval::…
dylan-hurd-oai Mar 10, 2026
c7e28cf
Add output schema to MCP tools and expose MCP tool results in code mo…
pakrym-oai Mar 10, 2026
e791559
Add model-controlled truncation for code mode results (#14258)
pakrym-oai Mar 10, 2026
b732287
Load agent metadata from role files (#14177)
gabec-openai Mar 10, 2026
44bfd2f
Increase sdk workflow timeout to 15 minutes (#14252)
aibrahim-oai Mar 10, 2026
bf936fa
Clarify close_agent tool description (#14269)
aibrahim-oai Mar 10, 2026
8b33485
Add code_mode output helpers for text and images (#14244)
pakrym-oai Mar 10, 2026
e4bc352
Add ephemeral flag support to thread fork (#14248)
joeytrasatti-openai Mar 10, 2026
de2a73c
feat: Add additional macOS Sandbox Permissions for Launch Services, C…
leoshimo-oai Mar 10, 2026
f8ef154
Pass more params to compaction (#14247)
rasmusrygaard Mar 10, 2026
18199d4
Add store/load support for code mode (#14259)
pakrym-oai Mar 10, 2026
295b56b
chore: add a separate reject-policy flag for skill approvals (#14271)
celia-oai Mar 10, 2026
f6e966e
Stabilize pipe process stdin round-trip test (#14013)
aibrahim-oai Mar 11, 2026
16daab6
prompt changes to guardian (#14263)
maja-openai Mar 11, 2026
37f5138
Rename code mode tool to exec (#14254)
pakrym-oai Mar 11, 2026
567ad7f
Show spawned agent model and effort in TUI (#14273)
aibrahim-oai Mar 11, 2026
3f7cb03
Stabilize websocket response.failed error delivery (#14017)
aibrahim-oai Mar 11, 2026
cec211c
render local file links from target paths (#13857)
pash-openai Mar 11, 2026
24b8d44
Prefix code mode output with success or failure message and include e…
pakrym-oai Mar 11, 2026
566897d
Make unified exec session_id numeric (#14279)
pakrym-oai Mar 11, 2026
5b10b93
Add realtime start instructions config override (#14270)
aibrahim-oai Mar 11, 2026
cc417c3
Split spawn_csv from multi_agent (#14282)
aibrahim-oai Mar 11, 2026
816e447
Add snippets annotated with types to tools when code mode enabled (#1…
pakrym-oai Mar 11, 2026
052ec62
Add keyboard based fast switching between agents in TUI (#13923)
gabec-openai Mar 11, 2026
78280f8
fix(arc_monitor): api path (#14290)
fouad-openai Mar 11, 2026
bd0096b
fix(otel): make HTTP trace export survive app-server runtimes
owenlin0 Mar 11, 2026
6644ba9
feat(app-server): keep request traces attached to async work
owenlin0 Mar 11, 2026
993fd8a
feat(tracing): break thread start and session init into smaller spans
owenlin0 Mar 11, 2026
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
4 changes: 3 additions & 1 deletion .github/workflows/sdk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ on:

jobs:
sdks:
runs-on: ubuntu-latest
runs-on:
group: codex-runners
labels: codex-linux-x64
timeout-minutes: 10
steps:
- name: Checkout repository
Expand Down
11 changes: 11 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,17 @@ In the codex-rs folder where the rust code lives:
- After dependency changes, run `just bazel-lock-check` from the repo root so lockfile drift is caught
locally before CI.
- Do not create small helper methods that are referenced only once.
- Avoid large modules:
- Prefer adding new modules instead of growing existing ones.
- Target Rust modules under 500 LoC, excluding tests.
- If a file exceeds roughly 800 LoC, add new functionality in a new module instead of extending
the existing file unless there is a strong documented reason not to.
- This rule applies especially to high-touch files that already attract unrelated changes, such
as `codex-rs/tui/src/app.rs`, `codex-rs/tui/src/bottom_pane/chat_composer.rs`,
`codex-rs/tui/src/bottom_pane/footer.rs`, `codex-rs/tui/src/chatwidget.rs`,
`codex-rs/tui/src/bottom_pane/mod.rs`, and similarly central orchestration modules.
- When extracting code from a large module, move the related tests and module/type docs toward
the new implementation so the invariants stay close to the code that owns them.

Run `just fmt` (in `codex-rs` directory) automatically after you have finished making Rust code changes; do not ask for approval to run it. Additionally, run the tests:

Expand Down
3 changes: 3 additions & 0 deletions codex-rs/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 11 additions & 0 deletions codex-rs/app-server-protocol/schema/json/ClientRequest.json
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,10 @@
},
"sandbox_approval": {
"type": "boolean"
},
"skill_approval": {
"default": false,
"type": "boolean"
}
},
"required": [
Expand Down Expand Up @@ -1131,6 +1135,10 @@
"array",
"null"
]
},
"forceRemoteSync": {
"description": "When true, reconcile the official curated marketplace against the remote plugin state before listing marketplaces.",
"type": "boolean"
}
},
"type": "object"
Expand Down Expand Up @@ -2270,6 +2278,9 @@
"null"
]
},
"ephemeral": {
"type": "boolean"
},
"model": {
"description": "Configuration overrides for the forked thread, if any.",
"type": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,27 @@
"calendar": {
"type": "boolean"
},
"contacts": {
"$ref": "#/definitions/MacOsContactsPermission"
},
"launchServices": {
"type": "boolean"
},
"preferences": {
"$ref": "#/definitions/MacOsPreferencesPermission"
},
"reminders": {
"type": "boolean"
}
},
"required": [
"accessibility",
"automations",
"calendar",
"preferences"
"contacts",
"launchServices",
"preferences",
"reminders"
],
"type": "object"
},
Expand Down Expand Up @@ -324,6 +336,14 @@
}
]
},
"MacOsContactsPermission": {
"enum": [
"none",
"read_only",
"read_write"
],
"type": "string"
},
"MacOsPreferencesPermission": {
"enum": [
"none",
Expand Down
45 changes: 45 additions & 0 deletions codex-rs/app-server-protocol/schema/json/EventMsg.json
Original file line number Diff line number Diff line change
Expand Up @@ -3015,10 +3015,16 @@
"description": "Identifier for the collab tool call.",
"type": "string"
},
"model": {
"type": "string"
},
"prompt": {
"description": "Initial prompt sent to the agent. Can be empty to prevent CoT leaking at the beginning.",
"type": "string"
},
"reasoning_effort": {
"$ref": "#/definitions/ReasoningEffort"
},
"sender_thread_id": {
"allOf": [
{
Expand All @@ -3037,7 +3043,9 @@
},
"required": [
"call_id",
"model",
"prompt",
"reasoning_effort",
"sender_thread_id",
"type"
],
Expand Down Expand Up @@ -4044,6 +4052,14 @@
}
]
},
"MacOsContactsPermission": {
"enum": [
"none",
"read_only",
"read_write"
],
"type": "string"
},
"MacOsPreferencesPermission": {
"enum": [
"none",
Expand All @@ -4070,13 +4086,29 @@
"default": false,
"type": "boolean"
},
"macos_contacts": {
"allOf": [
{
"$ref": "#/definitions/MacOsContactsPermission"
}
],
"default": "none"
},
"macos_launch_services": {
"default": false,
"type": "boolean"
},
"macos_preferences": {
"allOf": [
{
"$ref": "#/definitions/MacOsPreferencesPermission"
}
],
"default": "read_only"
},
"macos_reminders": {
"default": false,
"type": "boolean"
}
},
"type": "object"
Expand Down Expand Up @@ -4920,6 +4952,11 @@
"sandbox_approval": {
"description": "Reject approval prompts related to sandbox escalation.",
"type": "boolean"
},
"skill_approval": {
"default": false,
"description": "Reject approval prompts triggered by skill script execution.",
"type": "boolean"
}
},
"required": [
Expand Down Expand Up @@ -9115,10 +9152,16 @@
"description": "Identifier for the collab tool call.",
"type": "string"
},
"model": {
"type": "string"
},
"prompt": {
"description": "Initial prompt sent to the agent. Can be empty to prevent CoT leaking at the beginning.",
"type": "string"
},
"reasoning_effort": {
"$ref": "#/definitions/ReasoningEffort"
},
"sender_thread_id": {
"allOf": [
{
Expand All @@ -9137,7 +9180,9 @@
},
"required": [
"call_id",
"model",
"prompt",
"reasoning_effort",
"sender_thread_id",
"type"
],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,27 @@
"calendar": {
"type": "boolean"
},
"contacts": {
"$ref": "#/definitions/MacOsContactsPermission"
},
"launchServices": {
"type": "boolean"
},
"preferences": {
"$ref": "#/definitions/MacOsPreferencesPermission"
},
"reminders": {
"type": "boolean"
}
},
"required": [
"accessibility",
"automations",
"calendar",
"preferences"
"contacts",
"launchServices",
"preferences",
"reminders"
],
"type": "object"
},
Expand Down Expand Up @@ -124,6 +136,14 @@
}
]
},
"MacOsContactsPermission": {
"enum": [
"none",
"read_only",
"read_write"
],
"type": "string"
},
"MacOsPreferencesPermission": {
"enum": [
"none",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,22 @@
"null"
]
},
"contacts": {
"anyOf": [
{
"$ref": "#/definitions/MacOsContactsPermission"
},
{
"type": "null"
}
]
},
"launchServices": {
"type": [
"boolean",
"null"
]
},
"preferences": {
"anyOf": [
{
Expand All @@ -72,6 +88,12 @@
"type": "null"
}
]
},
"reminders": {
"type": [
"boolean",
"null"
]
}
},
"type": "object"
Expand Down Expand Up @@ -138,6 +160,14 @@
}
]
},
"MacOsContactsPermission": {
"enum": [
"none",
"read_only",
"read_write"
],
"type": "string"
},
"MacOsPreferencesPermission": {
"enum": [
"none",
Expand Down
22 changes: 21 additions & 1 deletion codex-rs/app-server-protocol/schema/json/ServerRequest.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,27 @@
"calendar": {
"type": "boolean"
},
"contacts": {
"$ref": "#/definitions/MacOsContactsPermission"
},
"launchServices": {
"type": "boolean"
},
"preferences": {
"$ref": "#/definitions/MacOsPreferencesPermission"
},
"reminders": {
"type": "boolean"
}
},
"required": [
"accessibility",
"automations",
"calendar",
"preferences"
"contacts",
"launchServices",
"preferences",
"reminders"
],
"type": "object"
},
Expand Down Expand Up @@ -653,6 +665,14 @@
}
]
},
"MacOsContactsPermission": {
"enum": [
"none",
"read_only",
"read_write"
],
"type": "string"
},
"MacOsPreferencesPermission": {
"enum": [
"none",
Expand Down
Loading
Loading