Michael Bolin
c9b2febde8
merge commit for archive created by Sapling
2026-02-08 15:58:54 -08:00
Michael Bolin
b615c4a7c2
chore: reverse the codex-network-proxy -> codex-core dependency
2026-02-08 15:58:00 -08:00
Michael Bolin
181b721ba5
feat: include [experimental_network] in <environment_context> ( #11044 )
...
If `NetworkConstraints` is set, then include the relevant settings on `<environment_context>`. Example:
```xml
<environment_context>
<cwd>/repo</cwd>
<shell>bash</shell>
<network enabled="true">
<allowed>api.example.com</allowed>
<allowed>*.openai.com</allowed>
<denied>blocked.example.com</denied>
</network>
</environment_context>
```
2026-02-08 15:16:50 -08:00
Matthew Zeng
9f1009540b
Upgrade rmcp to 0.14 ( #10718 )
...
- [x] Upgrade rmcp to 0.14
2026-02-08 15:07:53 -08:00
Michael Bolin
a2de4e4f6f
merge commit for archive created by Sapling
2026-02-08 15:03:20 -08:00
Michael Bolin
22930e0bae
chore: reverse the codex-network-proxy -> codex-core dependency
2026-02-08 15:02:44 -08:00
Michael Bolin
22140791cb
merge commit for archive created by Sapling
2026-02-08 15:00:18 -08:00
Michael Bolin
41c8e49d8a
feat: include [experimental_network] in <environment_context>
2026-02-08 15:00:11 -08:00
Michael Bolin
860f3c5705
merge commit for archive created by Sapling
2026-02-08 14:55:07 -08:00
Michael Bolin
51292e7415
feat: include [experimental_network] in <environment_context>
2026-02-08 14:51:54 -08:00
Michael Bolin
c897987511
merge commit for archive created by Sapling
2026-02-08 14:30:31 -08:00
Michael Bolin
fa577c0cf1
feat: include [experimental_network] in <environment_context>
2026-02-08 14:30:20 -08:00
Michael Bolin
ef5d26e586
chore: refactor network-proxy so that ConfigReloader is injectable behavior ( #11114 )
...
Currently, `codex-network-proxy` depends on `codex-core`, but this
should be the other way around. As a first step, refactor out
`ConfigReloader`, which should make it easier to move
`codex-rs/network-proxy/src/state.rs` to `codex-core` in a subsequent
commit.
2026-02-08 22:28:20 +00:00
Michael Bolin
ae6f71646f
merge commit for archive created by Sapling
2026-02-08 14:25:46 -08:00
Michael Bolin
081dc2a050
feat: include [experimental_network] in <environment_context>
2026-02-08 14:25:36 -08:00
Michael Bolin
2dab9e9741
merge commit for archive created by Sapling
2026-02-08 14:14:40 -08:00
Michael Bolin
c2b786e38e
feat: include [experimental_network] in <environment_context>
2026-02-08 14:14:23 -08:00
Michael Bolin
a8e029a92d
Merge 1497ff720b into sapling-pr-archive-bolinfest
2026-02-08 14:10:27 -08:00
Michael Bolin
1497ff720b
chore: refactor network-proxy so that ConfigReloader is injectable behavior
2026-02-08 14:10:18 -08:00
Michael Bolin
39eeb8903a
Merge 09053f7629 into sapling-pr-archive-bolinfest
2026-02-08 14:09:17 -08:00
Michael Bolin
09053f7629
feat: include [experimental_network] in <environment_context>
2026-02-08 14:09:10 -08:00
zbarsky-openai
44a1355133
[bazel] Upgrade some rulesets in preparation for enabling windows ( #11109 )
2026-02-08 13:40:32 -08:00
Michael Bolin
ce427b767b
merge commit for archive created by Sapling
2026-02-08 13:35:58 -08:00
Michael Bolin
954e0d1639
feat: include NetworkConfig through ExecParams
2026-02-08 13:35:51 -08:00
Michael Bolin
67d55e48ba
Merge a26207bc61 into sapling-pr-archive-bolinfest
2026-02-08 13:34:52 -08:00
Michael Bolin
a26207bc61
feat: include NetworkConfig through ExecParams
2026-02-08 13:34:45 -08:00
Michael Bolin
8e5395b911
Merge 1e16ff1fef into sapling-pr-archive-bolinfest
2026-02-08 13:31:44 -08:00
Michael Bolin
1e16ff1fef
feat: include NetworkConfig through ExecParams
2026-02-08 13:31:38 -08:00
Michael Bolin
b3f8f66c22
merge commit for archive created by Sapling
2026-02-08 12:47:20 -08:00
Michael Bolin
cf69024b04
feat: include NetworkConfig through ExecParams
2026-02-08 12:47:15 -08:00
Michael Bolin
83bbef48e7
merge commit for archive created by Sapling
2026-02-08 11:04:16 -08:00
Michael Bolin
00d16e154d
feat: include NetworkConfig through ExecParams
2026-02-08 11:03:46 -08:00
Tom
409ec76fbc
Gate view_image tool by model input_modalities ( #11051 )
...
- Plumb input modalities from model catalog through the openai model
protocol. Default to text and image.
- Conditionally add the view_image tool only if input modalities support
image.
2026-02-08 10:45:26 -08:00
Michael Bolin
5cdab05326
Merge fa48061df3 into sapling-pr-archive-bolinfest
2026-02-08 10:36:59 -08:00
Michael Bolin
fa48061df3
feat: include NetworkConfig through ExecParams
2026-02-08 10:36:49 -08:00
Michael Bolin
7d8dd1cd46
merge commit for archive created by Sapling
2026-02-08 09:43:12 -08:00
Michael Bolin
c620d63c61
feat: include [experimental_network] in <environment_context>
2026-02-08 09:43:06 -08:00
Michael Bolin
4e6faadeb4
merge commit for archive created by Sapling
2026-02-08 09:03:25 -08:00
Michael Bolin
2de015434e
feat: include [experimental_network] in <environment_context>
2026-02-08 09:03:17 -08:00
Michael Bolin
91a3e17960
fix: remove config.schema.json from tag check ( #10980 )
...
Given that we have https://github.com/openai/codex/pull/10977 , the
existing "Verify config schema fixture" step seems unnecessary. Further,
because it happens as part of the `tag-check` job (which is meant to be
fast), it slows down the entire build process because it delays the more
expensive steps from starting.
2026-02-08 08:49:43 -08:00
Eric Traut
b3de6c7f2b
Defer persistence of rollout file ( #11028 )
...
- Defer rollout persistence for fresh threads (`InitialHistory::New`):
keep rollout events in memory and only materialize rollout file + state
DB row on first `EventMsg::UserMessage`.
- Keep precomputed rollout path available before materialization.
- Change `thread/start` to build thread response from live config
snapshot and optional precomputed path.
- Improve pre-materialization behavior in app-server/TUI: clearer
invalid-request errors for file-backed ops and a friendlier `/fork` “not
ready yet” UX.
- Update tests to match deferred semantics across
start/read/archive/unarchive/fork/resume/review flows.
- Improved resilience of user_shell test, which should be unrelated to
this change but must be affected by timing changes
For Reviewers:
* The primary change is in recorder.rs
* Most of the other changes were to fix up broken assumptions in
existing tests
Testing:
* Manually tested CLI
* Exercised app server paths by manually running IDE Extension with
rebuilt CLI binary
* Only user-visible change is that `/fork` in TUI generates visible
error if used prior to first turn
2026-02-07 23:05:03 -08:00
pakrym-oai
6d08298f4e
Fallback to HTTP on UPGRADE_REQUIRED ( #10824 )
...
Allow the server to trigger a connection downgrade in case the protocol
changes in incompatible ways.
2026-02-08 05:06:33 +00:00
Chriss4123 and Eric Traut
d68e9c0f19
fix(tui): rehydrate drafts and restore image placeholders ( #9040 )
...
Fixes #9050
When a draft is stashed with Ctrl+C, we now persist the full draft state
(text elements, local image paths, and pending paste payloads) in local
history. Up/Down recall rehydrates placeholder elements and attachments
so styling remains correct and large pastes still expand on submit.
Persistent (cross‑session) history remains text‑only.
Backtrack prefills now reuse the selected user message’s text elements
and local image paths, so image placeholders/attachments rehydrate when
rolling back.
External editor replacements keep only attachments whose placeholders
remain and then normalize image placeholders to `[Image #1 ]..[Image #N]`
to keep the attachment mapping consistent.
Docs:
- docs/tui-chat-composer.md
Testing:
- just fix -p codex-tui
- cargo test -p codex-tui
Co-authored-by: Eric Traut <etraut@openai.com >
2026-02-07 20:08:45 -08:00
Anton Panasenko
a94505a92a
feat: enable premessage-deflate for websockets ( #10966 )
...
note:
unfortunately, tokio-tungstenite / tungstenite upgrade triggers some
problems with linker of rama-tls-boring with openssl:
```
error: linking with `/Users/apanasenko/Library/Caches/cargo-zigbuild/0.20.1/zigcc-x86_64-unknown-linux-musl-ff6a.sh` failed: exit status: 1
|
= note: "/Users/apanasenko/Library/Caches/cargo-zigbuild/0.20.1/zigcc-x86_64-unknown-linux-musl-ff6a.sh" "-m64" "<sysroot>/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/rcrt1.o" "<sysroot>/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crti.o" "<sysroot>/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtbeginS.o" "<1 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/var/folders/kt/52y_g75x3ng8ktvk3rfwm6400000gp/T/rustcyGQdYm/{liblzma_sys-662a82316f96ec30,libbzip2_sys-bf78a2d58d5cbce6,liblibsqlite3_sys-6c004987fd67a36a,libtree_sitter_bash-220b99a97d331ab7,libtree_sitter-858f0a1dbfea58bd,libzstd_sys-6eb237deec748c5b,libring-2a87376483bf916f,libopenssl_sys-7c189e68b37fe2bb,liblibz_sys-4344eef4345520b1,librama_boring_sys-0414e98115015ee0}.rlib" "-lc++" "-lc++abi" "-lunwind" "-lc" "<sysroot>/lib/rustlib/x86_64-unknown-linux-musl/lib/libcompiler_builtins-*.rlib" "-L" "/var/folders/kt/52y_g75x3ng8ktvk3rfwm6400000gp/T/rustcyGQdYm/raw-dylibs" "-Wl,-Bdynamic" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-nostartfiles" "-L" "/Users/apanasenko/code/codex/codex-rs/target/x86_64-unknown-linux-musl/release/build/libz-sys-ff5ea50d88c28ffb/out/lib" "-L" "/Users/apanasenko/code/codex/codex-rs/target/x86_64-unknown-linux-musl/release/build/ring-bdec3dddc19f5a5e/out" "-L" "/Users/apanasenko/code/codex/codex-rs/target/x86_64-unknown-linux-musl/release/build/openssl-sys-96e0870de3ca22bc/out/openssl-build/install/lib" "-L" "/Users/apanasenko/code/codex/codex-rs/target/x86_64-unknown-linux-musl/release/build/zstd-sys-0cc37a5da1481740/out" "-L" "/Users/apanasenko/code/codex/codex-rs/target/x86_64-unknown-linux-musl/release/build/tree-sitter-72d2418073317c0f/out" "-L" "/Users/apanasenko/code/codex/codex-rs/target/x86_64-unknown-linux-musl/release/build/tree-sitter-bash-bfd293a9f333ce6a/out" "-L" "/Users/apanasenko/code/codex/codex-rs/target/x86_64-unknown-linux-musl/release/build/libsqlite3-sys-b78b2cfb81a330fc/out" "-L" "/Users/apanasenko/code/codex/codex-rs/target/x86_64-unknown-linux-musl/release/build/bzip2-sys-69a145cc859ef275/out/lib" "-L" "/Users/apanasenko/code/codex/codex-rs/target/x86_64-unknown-linux-musl/release/build/lzma-sys-07e92d0b6baa6fd4/out" "-L" "/Users/apanasenko/code/codex/codex-rs/target/x86_64-unknown-linux-musl/release/build/rama-boring-sys-0bc2dfbf669addc4/out/build/crypto/" "-L" "/Users/apanasenko/code/codex/codex-rs/target/x86_64-unknown-linux-musl/release/build/rama-boring-sys-0bc2dfbf669addc4/out/build/ssl/" "-L" "/Users/apanasenko/code/codex/codex-rs/target/x86_64-unknown-linux-musl/release/build/rama-boring-sys-0bc2dfbf669addc4/out/build/" "-L" "/Users/apanasenko/code/codex/codex-rs/target/x86_64-unknown-linux-musl/release/build/rama-boring-sys-0bc2dfbf669addc4/out/build" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-musl/lib" "-o" "/Users/apanasenko/code/codex/codex-rs/target/x86_64-unknown-linux-musl/release/deps/codex_network_proxy-d08268b863517761" "-Wl,--gc-sections" "-static-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-Wl,--strip-all" "-nodefaultlibs" "<sysroot>/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtendS.o" "<sysroot>/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtn.o"
= note: some arguments are omitted. use `--verbose` to show all linker arguments
= note: warning: ignoring deprecated linker optimization setting '1'
warning: unable to open library directory '/Users/apanasenko/code/codex/codex-rs/target/x86_64-unknown-linux-musl/release/build/rama-boring-sys-0bc2dfbf669addc4/out/build/crypto/': FileNotFound
ld.lld: error: duplicate symbol: SSL_export_keying_material
>>> defined at ssl_lib.c:3816 (ssl/ssl_lib.c:3816)
>>> libssl-lib-ssl_lib.o:(SSL_export_keying_material) in archive /var/folders/kt/52y_g75x3ng8ktvk3rfwm6400000gp/T/rustcyGQdYm/libopenssl_sys-7c189e68b37fe2bb.rlib
>>> defined at t1_enc.cc:205 (/Users/apanasenko/code/codex/codex-rs/target/x86_64-unknown-linux-musl/release/build/rama-boring-sys-0bc2dfbf669addc4/out/boringssl/ssl/t1_enc.cc:205)
>>> t1_enc.cc.o:(.text.SSL_export_keying_material+0x0) in archive /var/folders/kt/52y_g75x3ng8ktvk3rfwm6400000gp/T/rustcyGQdYm/librama_boring_sys-0414e98115015ee0.rlib
ld.lld: error: duplicate symbol: d2i_ASN1_TIME
>>> defined at a_time.c:27 (crypto/asn1/a_time.c:27)
>>> libcrypto-lib-a_time.o:(d2i_ASN1_TIME) in archive /var/folders/kt/52y_g75x3ng8ktvk3rfwm6400000gp/T/rustcyGQdYm/libopenssl_sys-7c189e68b37fe2bb.rlib
>>> defined at a_time.cc:34 (/Users/apanasenko/code/codex/codex-rs/target/x86_64-unknown-linux-musl/release/build/rama-boring-sys-0bc2dfbf669addc4/out/boringssl/crypto/asn1/a_time.cc:34)
>>> a_time.cc.o:(.text.d2i_ASN1_TIME+0x0) in archive /var/folders/kt/52y_g75x3ng8ktvk3rfwm6400000gp/T/rustcyGQdYm/librama_boring_sys-0414e98115015ee0.rlib
```
that force me to migrate away from rama-tls-boring to rama-tls-rustls
and pin `ring` for rustls.
2026-02-07 17:59:34 -08:00
pakrym-oai
8fe5066bcc
Simplify pre-connect ( #11040 )
2026-02-07 15:52:03 -08:00
Michael Bolin
90cbe24e63
Merge 3ba4bf3545 into sapling-pr-archive-bolinfest
2026-02-07 13:48:09 -08:00
Michael Bolin
3ba4bf3545
feat: include [experimental_network] in <environment_context>
2026-02-07 13:47:53 -08:00
Michael Bolin
2e89cb9117
feat: include state of [experimental_network] in /debug-config output ( #11039 )
...
#10958 introduced experimental support for a network config in
`/etc/codex/requirements.toml`, so this extends `/debug-config` to
surface this information, if set, which should make it easier to debug.
2026-02-07 21:38:12 +00:00
Michael Bolin
25e2a56152
Merge ba16f4bfb1 into sapling-pr-archive-bolinfest
2026-02-07 13:23:23 -08:00
Michael Bolin
ba16f4bfb1
feat: include state of [experimental_network] in /debug-config output
2026-02-07 13:23:14 -08:00