Ahmed Ibrahim
b11e96fb04
Act on reasoning-included per turn ( #9402 )
...
- Reset reasoning-included flag each turn and update compaction test
2026-01-19 11:23:25 -08:00
Fouad Matin
93a5e0fe1c
fix(codex-api): treat invalid_prompt as non-retryable ( #9400 )
...
**Goal**: Prevent response.failed events with `invalid_prompt` from
being treated as retryable errors so the UI shows the actual error
message instead of continually retrying.
**Before**: Codex would continue to retry despite the prompt being
marked as disallowed
**After**: Codex will stop retrying once prompt is marked disallowed
2026-01-16 22:22:08 -08:00
Ahmed Ibrahim
ebdd8795e9
Turn-state sticky routing per turn ( #9332 )
...
- capture the header from SSE/WS handshakes, store it per
ModelClientSession using `Oncelock`, echo it on turn-scoped requests,
and add SSE+WS integration tests for within-turn persistence +
cross-turn reset.
- keep `x-codex-turn-state` sticky within a user turn to maintain
routing continuity for retries/tool follow-ups.
2026-01-16 09:30:11 -08:00
Michael Bolin
3728db11b8
fix: eliminate unnecessary clone() for each SSE event ( #9238 )
...
Given how many SSE events we get, seems worth fixing.
2026-01-15 00:06:09 +00:00
Celia Chen
02f67bace8
fix: Emit response.completed immediately for Responses SSE ( #9170 )
...
we see windows test failures like this:
https://github.com/openai/codex/actions/runs/20930055601/job/60138344260 .
The issue is that SSE connections sometimes remain open after the
completion event esp. for windows. We should emit the completion event
and return immediately. this is consistent with the protocol:
> The Model streams responses back in an SSE, which are collected until
"completed" message and the SSE terminates
from
https://github.com/openai/codex/blob/dev/cc/fix-windows-test/codex-rs/docs/protocol_v1.md#L37 .
this helps us achieve parity with responses websocket logic here:
https://github.com/openai/codex/blob/dev/cc/fix-windows-test/codex-rs/codex-api/src/endpoint/responses_websocket.rs#L220-L227 .
2026-01-14 10:05:00 -08:00
pakrym-oai
2d56519ecd
Support response.done and add integration tests ( #9129 )
...
The agent loop using a persistent incremental web socket connection.
2026-01-13 16:12:30 +00:00
pakrym-oai
490c1c1fdd
Add model client sessions ( #9102 )
...
Maintain a long-running session.
2026-01-13 01:15:56 +00:00
pakrym-oai
3a6a43ff5c
Extract single responses SSE event parsing ( #9114 )
...
To be reused in WebSockets parsing.
2026-01-12 13:59:51 -08:00
pakrym-oai
cabf85aa18
Log unhandled sse events ( #8949 )
2026-01-09 12:36:07 -08:00
Ahmed Ibrahim
66b7c673e9
Refresh on models etag mismatch ( #8491 )
...
- Send models etag
- Refresh models on 412
- This wires `ModelsManager` to `ModelFamily` so we don't mutate it
mid-turn
2026-01-01 11:41:16 -08:00
jif-oai
4502b1b263
chore: proper client extraction ( #6996 )
2025-11-25 18:06:12 +00:00