mirror of
https://github.com/openai/codex.git
synced 2026-10-20 17:38:45 +00:00
- The TUI now supports modal Vim editing in the composer, including `/vim`, default-mode config, and Vim-specific keymap contexts. (#18595) - TUI workflows are easier to resume and copy from with a redesigned resume/fork picker, raw scrollback mode, `/ide` context injection, and workspace-aware `/diff`. (#20065, #20819, #20294, #21001) - The status line can show theme-aware colors plus optional PR and branch-change summaries, and `/keymap debug` helps inspect terminal key events. (#19631, #20892, #20794) - Plugin management now supports workspace sharing, share access controls, source filtering, local share path tracking, marketplace removal/upgrades, remote bundle sync, and admin-disabled status handling. (#20278, #21124, #21419, #20560, #19843, #20478, #20268, #20298) - Hooks can be browsed and toggled from `/hooks`, can run before/after compaction, and can add `PreToolUse` context; Codex Apps auth and eligible MCP elicitations now surface through TUI/Guardian flows. (#19882, #19905, #20692, #19193, #19431) - Experimental goals are now discoverable, stay paused across resume unless the user opts back in, and show clearer validation and multi-day duration output. (#20083, #20790, #20746, #20558) ## Bug Fixes - `/copy` works better in tmux, Alt+Enter and modified Delete/Backspace keys behave correctly, and Windows typing/paste latency was reduced. (#20207, #20535, #21058, #18914) - Large paste placeholders and Ctrl+C-stashed drafts now survive clear/editor workflows without corrupting draft history. (#21091, #21190, #21351, #21397) - TUI startup and accessibility were tightened by bounding terminal probes, clearing the first inline viewport render, and honoring `animations = false` for live rows. (#20654, #21450, #20564) - Linux sandbox startup is more reliable across older `bwrap`, slow mount probes, symlink-protected paths, and shared `/tmp` setups. (#20628, #20111, #21127, #21234) - Windows sandbox and exec policy now handle named pipes, ConPTY teardown, PowerShell-wrapped allow rules, worktree `safe.directory`, and unsafe Git options more reliably. (#20270, #20685, #20336, #21409, #21275) - Fixed custom CA login behind TLS-inspecting proxies, Bedrock runtime endpoint reporting, dangerous project config keys, heredoc redirect approval matching, and unbounded MCP/hook output growth. (#20676, #20275, #20098, #20113, #20260, #21069) ## Documentation - Updated the embedded OpenAI Docs sample skill so API-key setup guidance stays aligned with other docs variants. (#21263) - Documented how generated git commit attribution is gated by `codex_git_commit` and configured in `config.toml`. (#21379) - Removed local-only planning/spec docs and redirected config docs toward the maintained external documentation surface. (#20896) ## Chores - Linux releases now build, publish, bundle, and verify a standalone `bwrap` fallback for npm and DotSlash installs. (#21255, #21256, #21257, #21312, #21285) - Vendored Bubblewrap was updated to 0.11.2, including upstream security changes around setuid support. (#21389) - Windows Bazel CI now uses faster cross-compilation for tests, clippy, and release-build checks, and Bazel now runs sharded Rust integration tests. (#20585, #20701, #21057) - App-server and protocol internals were split and slimmed down, including transport extraction, protocol module decomposition, thread/message history moves, and tool-handler cleanup. (#20324, #20325, #20348, #20545, #21251, #21278, #21395) - Analytics and diagnostics coverage expanded for tool lifecycles, goals, plugin skills, thread sources, service tiers, and PR issue labeling. (#17089, #17090, #20799, #20923, #20949, #20969, #20893) ## Changelog Full Changelog: https://github.com/openai/codex/compare/rust-v0.128.0...rust-v0.129.0 - #20278 feat: Add workspace plugin sharing APIs @xl-openai - #20334 Make missing config clears no-ops @etraut-openai - #20246 Gate multi-agent v2 tools independently of collab @jif-oai - #20361 realtime: rename provider session ids @aibrahim-oai - #20260 fix(core): truncate large mcp tool outputs in rollouts @owenlin0 - #20083 Mark goals feature as experimental @etraut-openai - #19843 /plugins: remove marketplace @canvrno-oai - #20458 [Extension] Allowlist Chrome Extension in the tool_suggest tool @teddywyly-oai - #20324 Remove core protocol dependency [1/2] @etraut-openai - #20299 Move item event mapping into app-server-protocol @pakrym-oai - #20325 Remove core protocol dependency [2/2] @etraut-openai - #20471 Stop emitting item/fileChange/outputDelta output delta notifications @pakrym-oai - #20245 [Codex] Add browser use external feature flag @khoi-oai - #19882 Add /hooks browser for lifecycle hooks @abhinav-oai - #20275 fix: show correct Bedrock runtime endpoint in /status @celia-oai - #20270 [codex] Fix elevated Windows sandbox named-pipe access @iceweasel-oai - #20463 feat(rollouts): store EventMsg::ApplyPatchEnd in limited history mode @owenlin0 - #20101 install WFP filters for Windows sandbox setup @iceweasel-oai - #20474 [plugin] Add Canva to suggesteable list. @mzeng-openai - #20379 Send external import completion for sync imports @alexsong-oai - #19280 [codex] Migrate thread turns list to thread store @wiltzius-openai - #20348 Move plugin out of core. @xl-openai - #19160 Make apply_patch streaming parser stateful @akshaynathan - #20504 fix flaky test falls_back_to_registered_fallback_port_when_default_po… @owenlin0 - #20098 fix: ignore dangerous project-level config keys @owenlin0 - #20268 Sync remote installed plugin bundles @xli-oai - #20502 fix(tui): set persist_extended_history: false @owenlin0 - #20069 Bypass review for always-allow MCP tools in auto-review @maja-openai - #18595 feat(tui): add vim composer mode @fcoury-oai - #20267 Emit analytics for remote plugin installs @xli-oai - #20499 fix(app-server): mark thread/turns/list and exclude_turns as experime… @owenlin0 - #20522 Alias codex_hooks feature as hooks @abhinav-oai - #20336 execpolicy: unwrap PowerShell -Command wrappers on Windows @iceweasel-oai - #20113 fix(exec_policy) heredoc parsing file_redirect @dylan-hurd-oai - #20341 app-server: switch remote control to protocol v3 segmentation @euroelessar - #20300 [codex-analytics] centralize thread analytics state @rhan-oai - #20484 [codex] Improve PR babysitter CI diagnostics and guardrails @wiltzius-openai - #20298 Surface admin-disabled remote plugin status @xli-oai - #20511 [codex] Remove unused event messages @pakrym-oai - #19474 Make thread store process-scoped @wiltzius-openai - #20558 Format multi-day goal durations in the TUI @etraut-openai - #19631 Color TUI statusline from active theme @etraut-openai - #20265 Refresh remote plugin cache on auth changes @xli-oai - #20150 Add remote plugin skill read API @xli-oai - #20560 feat: Track local paths for shared plugins @xl-openai - #20600 chore: allow memories edition @jif-oai - #20602 feat: ad-hoc instructions @jif-oai - #20610 chore: improve remember prompt @jif-oai - #20606 feat: seed ad-hoc memory extension instructions @jif-oai - #20405 feat: export and replay effective config locks @jif-oai - #20540 Move apply-patch file changes into turn items @pakrym-oai - #20564 Enforce `animations = false` for screen readers @etraut-openai - #20523 Remove no-tool goal continuation suppression @etraut-openai - #20627 fix: cargo deny @jif-oai - #20545 app-server: move transport into dedicated crate @euroelessar - #20294 Add /ide context support to the TUI @etraut-openai - #20630 [codex] Add Codex environment config @pakrym-oai - #20524 deprecate legacy notify @abhinav-oai - #20486 [codex] Migrate loaded thread/read history to ThreadStore @wiltzius-openai - #20281 Use selected turn environments for runtime context @starr-openai - #20535 fix(tui): restore alt-enter newline alias @fcoury-oai - #20650 fix: reduce ConfigBuilder::build stack usage @jif-oai - #20478 /plugins: add marketplace upgrade flow @canvrno-oai - #20512 [codex] Emit image view as core item @pakrym-oai - #20562 Use the 2025-06-18 elicitation capability shape @abhinav-oai - #20674 Clear live hook rows when turns finalize @abhinav-oai - #20646 Surface multi-environment choices in environment context @starr-openai - #20542 Prune unused code-mode globals @cconger - #20585 ci: cross-compile Windows Bazel tests @bolinfest - #20701 ci: cross-compile Windows Bazel clippy @bolinfest - #20676 Fix custom CA login behind TLS-inspecting proxies @jgershen-oai - #20654 fix(tui): bound startup terminal probes @fcoury-oai - #20566 [tool_suggest] More prompt polishes. @mzeng-openai - #20751 Bound websocket request sends with idle timeout @pakrym-oai - #20893 [codex] Add issue labeler area labels @etraut-openai - #20896 Remove local docs and specs @etraut-openai - #20897 [codex] Refactor app-server dispatch result flow @pakrym-oai - #20677 [codex] Emit MCP tool calls as turn items @pakrym-oai - #20973 feat: support template interpolation in multi-agent usage hints @jif-oai - #20622 feat: memories mcp v1 @jif-oai - #20773 feat: add remote compaction v2 Responses client path @jif-oai - #20986 feat: add line offsets to memory read MCP @jif-oai - #20991 feat: add max_lines to memories MCP read @jif-oai - #20993 feat: paginate MCP memories list @jif-oai - #20994 feat: make memories MCP list shallow @jif-oai - #20996 feat: paginate memories MCP search results @jif-oai - #20997 feat: add context lines to memories MCP search @jif-oai - #20998 nit: renaming @jif-oai - #21004 feat: support multi-query memories search @jif-oai - #21006 nit: legacy @jif-oai - #20815 Speed up /side parent restore replay @etraut-openai - #20790 Keep paused goals paused on thread resume @etraut-openai - #20940 [codex] Split app-server request processors @pakrym-oai - #21023 typo @jif-oai - #21012 memories/mcp: generate tool schemas with schemars @jif-oai - #21010 memories-mcp: reject symlink traversal in local backend @jif-oai - #20989 core: share responses request builder with compact requests @jif-oai - #20853 [mcp-apps] Persist MCP Apps specific tool call end event. @mzeng-openai - #20750 Unify skip-review handling for approval_mode = "approve" @mzeng-openai - #20682 feat(app-server): always return limited thread history @owenlin0 - #20628 fix(linux-sandbox): fall back when system bwrap lacks perms @viyatb-oai - #20794 feat(tui): add keymap debug inspector @fcoury-oai - #21034 tui: retire /approvals and rename /autoreview to /approve @won-openai - #20669 Prepare selected environment plumbing @starr-openai - #20685 Fix Windows PTY teardown by preserving ConPTY ownership @iceweasel-oai - #20663 Add stdio exec-server listener @starr-openai - #20561 state: pass state db handles through consumers @euroelessar - #21054 rollout: store web search and mcp tool calls @owenlin0 - #20892 feat(tui): add PR summary statusline items @fcoury-oai - #20798 feat(tui): improve TUI keymap coverage @fcoury-oai - #21053 Use MCP server instructions in deferred namespace descriptions @sayan-oai - #21026 core: preserve last model ids in feedback tags @sayan-oai - #21060 core: fix apply_patch request permissions test @bolinfest - #20060 Add reasoning effort to turn tracing spans @charley-openai - #21058 fix(tui): support modified backspace/delete keys @fcoury-oai - #21057 bazel: run sharded rust integration tests @bolinfest - #18914 fix(tui): use shared paste burst interval on Windows @fcoury-oai - #20715 Make realtime sideband startup async @kmeelu-oai - #20514 [codex-analytics] add item lifecycle timing @rhan-oai - #20722 Remove remote plugin uninstall prefix gate @xli-oai - #19040 [codex] Add unsandboxed process exec API @euroelessar - #21105 [network-proxy] Cover DNS timeout blocking @evawong-oai - #21059 Rename agent identity login surface to access token @shijie-oai - #20576 codex: route metadata updates through ThreadStore @wiltzius-openai - #20923 Add plugin ID to skill analytics @alexsong-oai - #21122 Add turn_id to Codex skill invocation analytics @edwardysun3 - #20575 codex: migrate (more) app-server thread history reads to ThreadStore @wiltzius-openai - #21069 Spill large hook outputs from context @abhinav-oai - #20969 1- Add model service tiers metadata @aibrahim-oai - #21170 tools: remove unused experimental `list_dir` tool @jif-oai - #21201 memories-mcp: hide dot paths from list, read, and search @jif-oai - #21204 feat: support windowed multi-query memory search @jif-oai - #21205 feat: add normalized matching to memory search @jif-oai - #20207 fix(tui): make /copy work inside tmux without passthrough @fcoury-oai - #20799 Add goal lifecycle metrics @etraut-openai - #20746 Validate /goal objective length in TUI @etraut-openai - #20708 Add Windows sandbox readiness RPC @iceweasel-oai - #20692 Support PreToolUse additionalContext @abhinav-oai - #21091 [codex] Fix TUI large paste placeholder numbering after Ctrl+C @canvrno-oai - #21089 [codex] Fix fork --last cwd filtering @canvrno-oai - #21152 revert legacy notify deprecation @abhinav-oai - #21190 fix(tui): external editor expansion for same-size large pastes @fcoury-oai - #20111 fix(sandboxing): Bound advisory system bwrap startup probe @viyatb-oai - #21220 chore: add minimal proxy egress diagnostics @viyatb-oai - #20819 feat(tui): add raw scrollback mode @fcoury-oai - #21225 app-server: ignore persist_extended_history param @owenlin0 - #17089 [codex-analytics] add tool item event schemas @rhan-oai - #20647 Route process tools to selected environments @starr-openai - #20321 hook trust metadata and enforcement @abhinav-oai - #21221 [codex] Use shared app-server JSON-RPC error helpers @pakrym-oai - #21063 add turn items view to app-server turns @rhan-oai - #21001 feat(tui): route /diff through workspace commands @fcoury-oai - #20065 feat(tui): redesign session picker @fcoury-oai - #21127 fix(linux-sandbox): avoid panic on bwrap build failures @viyatb-oai - #21234 fix(linux-sandbox): isolate Linux sandbox synthetic mount registry per user for shared codex use case @viyatb-oai - #20687 [codex] Split tool handlers by tool name @pakrym-oai - #21113 Auto-deny MCP elicitations for Xcode 26.4 clients @etraut-openai - #21243 [codex] fix TUI turn items view fixtures @fcoury-oai - #21146 Enable V8 sandboxing for source-built builds @cconger - #20689 Inject state DB, agent graph store @rasmusrygaard - #19575 Add cloud executor registration to exec-server @miz-openai - #20577 codex: use ThreadStore history for core review forks @wiltzius-openai - #21261 fix build @bolinfest - #21251 chore(app-server-protocol): split v2 API definitions into modules @owenlin0 - #21259 ci: trigger rusty-v8 releases from tags @cconger - #21255 linux-sandbox: use standalone bundled bwrap @bolinfest - #21256 release: publish standalone bwrap artifacts @bolinfest - #21260 [codex] Move thread naming to app server @pakrym-oai - #21219 Add model and reasoning effort to MCP turn metadata @mchen-oai - #21275 Share Git safe-command logic on Windows @iceweasel-oai - #21257 release/npm: bundle standalone bwrap on Linux @bolinfest - #21276 [codex] Remove unused ListModels op @pakrym-oai - #21282 [codex] Remove legacy ListSkills op @pakrym-oai - #21271 Expose plugin manifest keywords in app server @alfozan - #20949 [codex-analytics] rework thread_source for thread analytics @rhan-oai - #21124 feat: Add plugin share access controls @xl-openai - #20724 app-server: align dynamic tool identifiers with Responses API @eternal-openai - #21055 Preserve session MCP config on refresh @aaronl-openai - #21277 [mcp] Return Accept early per feedback. @mzeng-openai - #21285 fix(bwrap): emit libcap after standalone archive @viyatb-oai - #21312 release: bundle bwrap with Linux codex DotSlash artifact @bolinfest - #19193 Support Codex Apps auth elicitations @mzeng-openai - #20437 feat: add `session_id` @jif-oai - #21328 test: isolate app-server-client in-process test state @jif-oai - #21329 feat: include thread ID in MCP turn metadata @jif-oai - #21332 feat: return session ID from thread/fork @jif-oai - #21337 Revert "feat: support template interpolation in multi-agent usage hints" @jif-oai - #21249 Propagate cache key and service tiers in compact @aibrahim-oai - #21182 Move installation ID resolution out of core startup @jif-oai - #21214 chore: spawn MCP for memories @jif-oai - #21336 feat(app-server): move v2 `sessionId` onto `Thread` @jif-oai - #21350 [codex] fix builtin MCP Windows path test @jif-oai - #20971 2- Use string service tiers in session protocol @aibrahim-oai - #21278 Move message history out of core @pakrym-oai - #21284 [codex] Add response.processed websocket request @pakrym-oai - #21367 rollout: coalesce thread updated_at touches @jif-oai - #21378 feat: move auto vaccum @jif-oai - #21263 [codex] Coordinate OpenAI docs sample with API key setup @mifan-oai - #21351 fix(tui): keep Ctrl-C stashed drafts after /clear @fcoury-oai - #21389 vendor: update bubblewrap to 0.11.2 @bolinfest - #21281 Remove core MCP list tools op @pakrym-oai - #21381 [codex] Handle git pagination flags by position @iceweasel-oai - #21397 fix(tui): persist ctrl-c draft via app event @fcoury-oai - #19431 Route opted-in MCP elicitations through Guardian @cd-oai - #21107 Avoid noisy OTEL diagnostics in codex exec @cpaasch-oai - #21390 Avoid hard-coded environment context shell @starr-openai - #21090 [codex] Dedupe fallback model metadata warnings @canvrno-oai - #21395 [codex] Split tool handlers into separate files @pakrym-oai - #21401 [codex-tui] pass thread source for tui threads @rhan-oai - #17090 [codex-analytics] emit tool item events from item lifecycle @rhan-oai - #21409 [codex] Fix Windows sandbox git safe.directory for worktrees @iceweasel-oai - #21379 Document Codex git commit attribution config @henzelmann-oai - #21287 Move skills watcher to app-server @pakrym-oai - #21416 [codex] Move tool specs into core handlers @pakrym-oai - #21419 feat: Add marketplace source filtering and plugin share context @xl-openai - #19905 Add compact lifecycle hooks (started by vincentkoc - external contrib) @eternal-openai - #21460 Revert "Move skills watcher to app-server" @pakrym-oai - #21450 fix(tui): clear first inline viewport render @fcoury-oai - #21427 [codex] Delete tool handler plan indirection @pakrym-oai - #21423 [codex] Add OpenAI Developers to tool suggest allowlist @mifan-oai - #21340 [codex] allow shared config reads in app-server queue @xli-oai - #21441 [codex] Parallelize skills list cwd loading @xli-oai - #21481 Revert state DB injection and agent graph store @pakrym-oai
517 lines
15 KiB
TOML
517 lines
15 KiB
TOML
[workspace]
|
|
members = [
|
|
"aws-auth",
|
|
"analytics",
|
|
"agent-graph-store",
|
|
"agent-identity",
|
|
"backend-client",
|
|
"builtin-mcps",
|
|
"bwrap",
|
|
"ansi-escape",
|
|
"async-utils",
|
|
"app-server",
|
|
"app-server-transport",
|
|
"app-server-client",
|
|
"app-server-protocol",
|
|
"app-server-test-client",
|
|
"debug-client",
|
|
"apply-patch",
|
|
"arg0",
|
|
"feedback",
|
|
"features",
|
|
"install-context",
|
|
"codex-backend-openapi-models",
|
|
"code-mode",
|
|
"cloud-requirements",
|
|
"cloud-tasks",
|
|
"cloud-tasks-client",
|
|
"cloud-tasks-mock-client",
|
|
"cli",
|
|
"collaboration-mode-templates",
|
|
"connectors",
|
|
"config",
|
|
"device-key",
|
|
"shell-command",
|
|
"shell-escalation",
|
|
"skills",
|
|
"core",
|
|
"core-api",
|
|
"core-plugins",
|
|
"core-skills",
|
|
"hooks",
|
|
"secrets",
|
|
"exec",
|
|
"file-system",
|
|
"exec-server",
|
|
"execpolicy",
|
|
"execpolicy-legacy",
|
|
"external-agent-migration",
|
|
"external-agent-sessions",
|
|
"keyring-store",
|
|
"file-search",
|
|
"linux-sandbox",
|
|
"lmstudio",
|
|
"login",
|
|
"codex-mcp",
|
|
"mcp-server",
|
|
"memories/mcp",
|
|
"memories/read",
|
|
"memories/write",
|
|
"model-provider-info",
|
|
"models-manager",
|
|
"network-proxy",
|
|
"ollama",
|
|
"process-hardening",
|
|
"protocol",
|
|
"realtime-webrtc",
|
|
"rollout",
|
|
"rollout-trace",
|
|
"rmcp-client",
|
|
"responses-api-proxy",
|
|
"response-debug-context",
|
|
"sandboxing",
|
|
"stdio-to-uds",
|
|
"otel",
|
|
"tui",
|
|
"tools",
|
|
"v8-poc",
|
|
"utils/absolute-path",
|
|
"utils/cargo-bin",
|
|
"git-utils",
|
|
"utils/cache",
|
|
"utils/image",
|
|
"utils/json-to-toml",
|
|
"utils/home-dir",
|
|
"utils/pty",
|
|
"utils/readiness",
|
|
"utils/rustls-provider",
|
|
"utils/string",
|
|
"utils/cli",
|
|
"utils/elapsed",
|
|
"utils/sandbox-summary",
|
|
"utils/sleep-inhibitor",
|
|
"utils/approval-presets",
|
|
"utils/oss",
|
|
"utils/output-truncation",
|
|
"utils/path-utils",
|
|
"utils/plugins",
|
|
"utils/fuzzy-match",
|
|
"utils/stream-parser",
|
|
"utils/template",
|
|
"codex-client",
|
|
"codex-api",
|
|
"state",
|
|
"terminal-detection",
|
|
"test-binary-support",
|
|
"thread-manager-sample",
|
|
"thread-store",
|
|
"uds",
|
|
"codex-experimental-api-macros",
|
|
"plugin",
|
|
"model-provider",
|
|
]
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
version = "0.129.0"
|
|
# Track the edition for all workspace crates in one place. Individual
|
|
# crates can still override this value, but keeping it here means new
|
|
# crates created with `cargo new -w ...` automatically inherit the 2024
|
|
# edition.
|
|
edition = "2024"
|
|
license = "Apache-2.0"
|
|
|
|
[workspace.dependencies]
|
|
# Internal
|
|
app_test_support = { path = "app-server/tests/common" }
|
|
codex-analytics = { path = "analytics" }
|
|
codex-agent-graph-store = { path = "agent-graph-store" }
|
|
codex-agent-identity = { path = "agent-identity" }
|
|
codex-ansi-escape = { path = "ansi-escape" }
|
|
codex-api = { path = "codex-api" }
|
|
codex-aws-auth = { path = "aws-auth" }
|
|
codex-app-server = { path = "app-server" }
|
|
codex-app-server-transport = { path = "app-server-transport" }
|
|
codex-app-server-client = { path = "app-server-client" }
|
|
codex-app-server-protocol = { path = "app-server-protocol" }
|
|
codex-app-server-test-client = { path = "app-server-test-client" }
|
|
codex-apply-patch = { path = "apply-patch" }
|
|
codex-arg0 = { path = "arg0" }
|
|
codex-async-utils = { path = "async-utils" }
|
|
codex-backend-client = { path = "backend-client" }
|
|
codex-builtin-mcps = { path = "builtin-mcps" }
|
|
codex-chatgpt = { path = "chatgpt" }
|
|
codex-cli = { path = "cli" }
|
|
codex-client = { path = "codex-client" }
|
|
codex-collaboration-mode-templates = { path = "collaboration-mode-templates" }
|
|
codex-cloud-requirements = { path = "cloud-requirements" }
|
|
codex-cloud-tasks-client = { path = "cloud-tasks-client" }
|
|
codex-cloud-tasks-mock-client = { path = "cloud-tasks-mock-client" }
|
|
codex-code-mode = { path = "code-mode" }
|
|
codex-config = { path = "config" }
|
|
codex-connectors = { path = "connectors" }
|
|
codex-core = { path = "core" }
|
|
codex-core-api = { path = "core-api" }
|
|
codex-core-plugins = { path = "core-plugins" }
|
|
codex-core-skills = { path = "core-skills" }
|
|
codex-device-key = { path = "device-key" }
|
|
codex-exec = { path = "exec" }
|
|
codex-file-system = { path = "file-system" }
|
|
codex-exec-server = { path = "exec-server" }
|
|
codex-execpolicy = { path = "execpolicy" }
|
|
codex-external-agent-migration = { path = "external-agent-migration" }
|
|
codex-external-agent-sessions = { path = "external-agent-sessions" }
|
|
codex-experimental-api-macros = { path = "codex-experimental-api-macros" }
|
|
codex-features = { path = "features" }
|
|
codex-feedback = { path = "feedback" }
|
|
codex-install-context = { path = "install-context" }
|
|
codex-file-search = { path = "file-search" }
|
|
codex-git-utils = { path = "git-utils" }
|
|
codex-hooks = { path = "hooks" }
|
|
codex-keyring-store = { path = "keyring-store" }
|
|
codex-linux-sandbox = { path = "linux-sandbox" }
|
|
codex-lmstudio = { path = "lmstudio" }
|
|
codex-login = { path = "login" }
|
|
codex-message-history = { path = "message-history" }
|
|
codex-memories-mcp = { path = "memories/mcp" }
|
|
codex-memories-read = { path = "memories/read" }
|
|
codex-memories-write = { path = "memories/write" }
|
|
codex-mcp = { path = "codex-mcp" }
|
|
codex-mcp-server = { path = "mcp-server" }
|
|
codex-model-provider-info = { path = "model-provider-info" }
|
|
codex-models-manager = { path = "models-manager" }
|
|
codex-network-proxy = { path = "network-proxy" }
|
|
codex-ollama = { path = "ollama" }
|
|
codex-otel = { path = "otel" }
|
|
codex-plugin = { path = "plugin" }
|
|
codex-model-provider = { path = "model-provider" }
|
|
codex-process-hardening = { path = "process-hardening" }
|
|
codex-protocol = { path = "protocol" }
|
|
codex-realtime-webrtc = { path = "realtime-webrtc" }
|
|
codex-responses-api-proxy = { path = "responses-api-proxy" }
|
|
codex-response-debug-context = { path = "response-debug-context" }
|
|
codex-rmcp-client = { path = "rmcp-client" }
|
|
codex-rollout = { path = "rollout" }
|
|
codex-rollout-trace = { path = "rollout-trace" }
|
|
codex-sandboxing = { path = "sandboxing" }
|
|
codex-secrets = { path = "secrets" }
|
|
codex-shell-command = { path = "shell-command" }
|
|
codex-shell-escalation = { path = "shell-escalation" }
|
|
codex-skills = { path = "skills" }
|
|
codex-state = { path = "state" }
|
|
codex-stdio-to-uds = { path = "stdio-to-uds" }
|
|
codex-terminal-detection = { path = "terminal-detection" }
|
|
codex-test-binary-support = { path = "test-binary-support" }
|
|
codex-thread-store = { path = "thread-store" }
|
|
codex-tools = { path = "tools" }
|
|
codex-tui = { path = "tui" }
|
|
codex-uds = { path = "uds" }
|
|
codex-utils-absolute-path = { path = "utils/absolute-path" }
|
|
codex-utils-approval-presets = { path = "utils/approval-presets" }
|
|
codex-utils-cache = { path = "utils/cache" }
|
|
codex-utils-cargo-bin = { path = "utils/cargo-bin" }
|
|
codex-utils-cli = { path = "utils/cli" }
|
|
codex-utils-elapsed = { path = "utils/elapsed" }
|
|
codex-utils-fuzzy-match = { path = "utils/fuzzy-match" }
|
|
codex-utils-home-dir = { path = "utils/home-dir" }
|
|
codex-utils-image = { path = "utils/image" }
|
|
codex-utils-json-to-toml = { path = "utils/json-to-toml" }
|
|
codex-utils-oss = { path = "utils/oss" }
|
|
codex-utils-output-truncation = { path = "utils/output-truncation" }
|
|
codex-utils-path = { path = "utils/path-utils" }
|
|
codex-utils-plugins = { path = "utils/plugins" }
|
|
codex-utils-pty = { path = "utils/pty" }
|
|
codex-utils-readiness = { path = "utils/readiness" }
|
|
codex-utils-rustls-provider = { path = "utils/rustls-provider" }
|
|
codex-utils-sandbox-summary = { path = "utils/sandbox-summary" }
|
|
codex-utils-sleep-inhibitor = { path = "utils/sleep-inhibitor" }
|
|
codex-utils-stream-parser = { path = "utils/stream-parser" }
|
|
codex-utils-string = { path = "utils/string" }
|
|
codex-utils-template = { path = "utils/template" }
|
|
codex-v8-poc = { path = "v8-poc" }
|
|
codex-windows-sandbox = { path = "windows-sandbox-rs" }
|
|
core_test_support = { path = "core/tests/common" }
|
|
mcp_test_support = { path = "mcp-server/tests/common" }
|
|
|
|
# External
|
|
age = "0.11.1"
|
|
allocative = "0.3.3"
|
|
ansi-to-tui = "7.0.0"
|
|
anyhow = "1"
|
|
arboard = { version = "3", features = ["wayland-data-control"] }
|
|
arc-swap = "1.9.0"
|
|
assert_cmd = "2"
|
|
assert_matches = "1.5.0"
|
|
async-channel = "2.3.1"
|
|
async-io = "2.6.0"
|
|
async-stream = "0.3.6"
|
|
async-trait = "0.1.89"
|
|
aws-config = "1"
|
|
aws-credential-types = "1"
|
|
aws-sigv4 = "1"
|
|
aws-types = "1"
|
|
axum = { version = "0.8", default-features = false }
|
|
base64 = "0.22.1"
|
|
bm25 = "2.3.2"
|
|
bytes = "1.10.1"
|
|
chardetng = "0.1.17"
|
|
chrono = "0.4.43"
|
|
clap = "4"
|
|
clap_complete = "4"
|
|
color-eyre = "0.6.3"
|
|
constant_time_eq = "0.3.1"
|
|
crossbeam-channel = "0.5.15"
|
|
crypto_box = { version = "0.9.1", features = ["seal"] }
|
|
crossterm = "0.28.1"
|
|
csv = "1.3.1"
|
|
ctor = "0.6.3"
|
|
deno_core_icudata = "0.77.0"
|
|
derive_more = "2"
|
|
diffy = "0.4.2"
|
|
dirs = "6"
|
|
dns-lookup = "3.0.1"
|
|
dotenvy = "0.15.7"
|
|
dunce = "1.0.4"
|
|
ed25519-dalek = { version = "2.2.0", features = ["pkcs8"] }
|
|
encoding_rs = "0.8.35"
|
|
env-flags = "0.1.1"
|
|
env_logger = "0.11.9"
|
|
eventsource-stream = "0.2.3"
|
|
flate2 = "1.1.8"
|
|
futures = { version = "0.3", default-features = false }
|
|
gethostname = "1.1.0"
|
|
gix = { version = "0.81.0", default-features = false, features = ["sha1"] }
|
|
glob = "0.3"
|
|
globset = "0.4"
|
|
hmac = "0.12.1"
|
|
http = "1.3.1"
|
|
iana-time-zone = "0.1.64"
|
|
icu_decimal = "2.1"
|
|
icu_locale_core = "2.1"
|
|
icu_provider = { version = "2.1", features = ["sync"] }
|
|
ignore = "0.4.23"
|
|
image = { version = "^0.25.9", default-features = false }
|
|
include_dir = "0.7.4"
|
|
indexmap = "2.12.0"
|
|
insta = "1.46.3"
|
|
inventory = "0.3.19"
|
|
itertools = "0.14.0"
|
|
jsonwebtoken = "9.3.1"
|
|
keyring = { version = "3.6", default-features = false }
|
|
landlock = "0.4.4"
|
|
lazy_static = "1"
|
|
libc = "0.2.182"
|
|
log = "0.4"
|
|
lru = "0.16.3"
|
|
maplit = "1.0.2"
|
|
mime_guess = "2.0.5"
|
|
multimap = "0.10.0"
|
|
notify = "8.2.0"
|
|
nucleo = { git = "https://github.com/helix-editor/nucleo.git", rev = "4253de9faabb4e5c6d81d946a5e35a90f87347ee" }
|
|
once_cell = "1.20.2"
|
|
openssl-sys = "*"
|
|
opentelemetry = "0.31.0"
|
|
opentelemetry-appender-tracing = "0.31.0"
|
|
opentelemetry-otlp = "0.31.0"
|
|
opentelemetry-semantic-conventions = "0.31.0"
|
|
opentelemetry_sdk = "0.31.0"
|
|
os_info = "3.12.0"
|
|
owo-colors = "4.3.0"
|
|
path-absolutize = "3.1.1"
|
|
pathdiff = "0.2"
|
|
p256 = "0.13.2"
|
|
portable-pty = "0.9.0"
|
|
predicates = "3"
|
|
pretty_assertions = "1.4.1"
|
|
pulldown-cmark = "0.10"
|
|
quick-xml = "0.38.4"
|
|
rand = "0.9"
|
|
ratatui = "0.29.0"
|
|
ratatui-macros = "0.6.0"
|
|
rcgen = { version = "0.14.7", default-features = false, features = [
|
|
"aws_lc_rs",
|
|
"pem",
|
|
] }
|
|
regex = "1.12.3"
|
|
regex-lite = "0.1.8"
|
|
reqwest = { version = "0.12", features = ["cookies"] }
|
|
rmcp = { version = "0.15.0", default-features = false }
|
|
runfiles = { git = "https://github.com/dzbarsky/rules_rust", rev = "b56cbaa8465e74127f1ea216f813cd377295ad81" }
|
|
rustls = { version = "0.23", default-features = false, features = [
|
|
"ring",
|
|
"std",
|
|
] }
|
|
rustls-native-certs = "0.8.3"
|
|
rustls-pki-types = "1.14.0"
|
|
schemars = "0.8.22"
|
|
seccompiler = "0.5.0"
|
|
semver = "1.0"
|
|
sentry = "0.46.0"
|
|
serde = "1"
|
|
serde_json = "1"
|
|
serde_path_to_error = "0.1.20"
|
|
serde_with = "3.17"
|
|
serde_yaml = "0.9"
|
|
serial_test = "3.2.0"
|
|
sha1 = "0.10.6"
|
|
sha2 = "0.10"
|
|
shlex = "1.3.0"
|
|
similar = "2.7.0"
|
|
socket2 = "0.6.1"
|
|
sqlx = { version = "0.8.6", default-features = false, features = [
|
|
"chrono",
|
|
"json",
|
|
"macros",
|
|
"migrate",
|
|
"runtime-tokio-rustls",
|
|
"sqlite",
|
|
"time",
|
|
"uuid",
|
|
] }
|
|
starlark = "0.13.0"
|
|
strum = "0.27.2"
|
|
strum_macros = "0.28.0"
|
|
supports-color = "3.0.2"
|
|
syntect = "5"
|
|
sys-locale = "0.3.2"
|
|
tar = { version = "=0.4.45", default-features = false }
|
|
tempfile = "3.23.0"
|
|
test-log = "0.2.19"
|
|
textwrap = "0.16.2"
|
|
thiserror = "2.0.17"
|
|
time = "0.3.47"
|
|
tiny_http = "0.12"
|
|
tokio = "1"
|
|
tokio-stream = "0.1.18"
|
|
tokio-test = "0.4"
|
|
tokio-tungstenite = { version = "0.28.0", features = [
|
|
"proxy",
|
|
"rustls-tls-native-roots",
|
|
] }
|
|
tokio-util = "0.7.18"
|
|
toml = "0.9.5"
|
|
toml_edit = "0.24.0"
|
|
tracing = "0.1.44"
|
|
tracing-appender = "0.2.3"
|
|
tracing-opentelemetry = "0.32.0"
|
|
tracing-subscriber = "0.3.22"
|
|
tracing-test = "0.2.5"
|
|
tonic = { version = "0.14.3", default-features = false, features = ["channel", "codegen"] }
|
|
tonic-prost = "0.14.3"
|
|
tree-sitter = "0.25.10"
|
|
tree-sitter-bash = "0.25"
|
|
ts-rs = "11"
|
|
tungstenite = { version = "0.27.0", features = ["deflate", "proxy"] }
|
|
uds_windows = "1.1.0"
|
|
unicode-segmentation = "1.12.0"
|
|
unicode-width = "0.2"
|
|
url = "2"
|
|
urlencoding = "2.1"
|
|
uuid = "1"
|
|
v8 = "=146.4.0"
|
|
vt100 = "0.16.2"
|
|
walkdir = "2.5.0"
|
|
webbrowser = "1.0"
|
|
which = "8"
|
|
whoami = "1.6.1"
|
|
wildmatch = "2.6.1"
|
|
winapi-util = "0.1.11"
|
|
zip = "2.4.2"
|
|
zstd = "0.13"
|
|
|
|
wiremock = "0.6"
|
|
zeroize = "1.8.2"
|
|
|
|
[workspace.lints]
|
|
rust = {}
|
|
|
|
[workspace.lints.clippy]
|
|
await_holding_invalid_type = "deny"
|
|
await_holding_lock = "deny"
|
|
expect_used = "deny"
|
|
identity_op = "deny"
|
|
manual_clamp = "deny"
|
|
manual_filter = "deny"
|
|
manual_find = "deny"
|
|
manual_flatten = "deny"
|
|
manual_map = "deny"
|
|
manual_memcpy = "deny"
|
|
manual_non_exhaustive = "deny"
|
|
manual_ok_or = "deny"
|
|
manual_range_contains = "deny"
|
|
manual_retain = "deny"
|
|
manual_strip = "deny"
|
|
manual_try_fold = "deny"
|
|
manual_unwrap_or = "deny"
|
|
needless_borrow = "deny"
|
|
needless_borrowed_reference = "deny"
|
|
needless_collect = "deny"
|
|
needless_late_init = "deny"
|
|
needless_option_as_deref = "deny"
|
|
needless_question_mark = "deny"
|
|
needless_update = "deny"
|
|
redundant_clone = "deny"
|
|
redundant_closure = "deny"
|
|
redundant_closure_for_method_calls = "deny"
|
|
redundant_static_lifetimes = "deny"
|
|
trivially_copy_pass_by_ref = "deny"
|
|
uninlined_format_args = "deny"
|
|
unnecessary_filter_map = "deny"
|
|
unnecessary_lazy_evaluations = "deny"
|
|
unnecessary_sort_by = "deny"
|
|
unnecessary_to_owned = "deny"
|
|
unwrap_used = "deny"
|
|
|
|
# cargo-shear cannot see the platform-specific openssl-sys usage, so we
|
|
# silence the false positive here instead of deleting a real dependency.
|
|
[workspace.metadata.cargo-shear]
|
|
ignored = [
|
|
"codex-agent-graph-store",
|
|
"codex-memories-mcp",
|
|
"icu_provider",
|
|
"openssl-sys",
|
|
"codex-utils-readiness",
|
|
"codex-utils-template",
|
|
"codex-v8-poc",
|
|
]
|
|
|
|
[profile.dev]
|
|
# Keep line tables/backtraces while avoiding expensive full variable debug info
|
|
# across local dev builds.
|
|
debug = 1
|
|
|
|
[profile.dev-small]
|
|
inherits = "dev"
|
|
opt-level = 0
|
|
debug = 0
|
|
strip = true
|
|
|
|
[profile.release]
|
|
lto = "fat"
|
|
split-debuginfo = "off"
|
|
# Because we bundle some of these executables with the TypeScript CLI, we
|
|
# remove everything to make the binary as small as possible.
|
|
strip = "symbols"
|
|
|
|
# See https://github.com/openai/codex/issues/1411 for details.
|
|
codegen-units = 1
|
|
|
|
[profile.ci-test]
|
|
debug = 1 # Reduce debug symbol size
|
|
inherits = "test"
|
|
opt-level = 0
|
|
|
|
[patch.crates-io]
|
|
# Uncomment to debug local changes.
|
|
# ratatui = { path = "../../ratatui" }
|
|
crossterm = { git = "https://github.com/nornagon/crossterm", rev = "87db8bfa6dc99427fd3b071681b07fc31c6ce995" }
|
|
ratatui = { git = "https://github.com/nornagon/ratatui", rev = "9b2ad1298408c45918ee9f8241a6f95498cdbed2" }
|
|
tokio-tungstenite = { git = "https://github.com/openai-oss-forks/tokio-tungstenite", rev = "132f5b39c862e3a970f731d709608b3e6276d5f6" }
|
|
tungstenite = { git = "https://github.com/openai-oss-forks/tungstenite-rs", rev = "9200079d3b54a1ff51072e24d81fd354f085156f" }
|
|
|
|
# Uncomment to debug local changes.
|
|
# rmcp = { path = "../../rust-sdk/crates/rmcp" }
|
|
|
|
[patch."ssh://git@github.com/openai-oss-forks/tungstenite-rs.git"]
|
|
tungstenite = { git = "https://github.com/openai-oss-forks/tungstenite-rs", rev = "9200079d3b54a1ff51072e24d81fd354f085156f" }
|