mirror of
https://github.com/openai/codex.git
synced 2026-10-19 17:28:46 +00:00
## Why Published MCP elicitation requests could lose their response waiter without notifying the event consumer that the request was no longer answerable. ## What changed - Add `ElicitationAbandoned` with the original server name and response token for requests published through unbounded event channels. - Emit abandonment exactly once when a waiter is dropped, response delivery fails, or the MCP runtime shuts down. - Close the elicitation router during shutdown, reject new requests on unbounded sources, and wait for terminal deliveries before shutdown completes. Preserve bounded sources' request-only behavior and backpressure. ## Testing Add router tests for ordered, exactly-once abandonment, closed receivers, failed response delivery, shutdown coordination, and bounded-channel backpressure. Add a core integration scenario verifying that a pending form's abandonment precedes `ShutdownComplete`. GitOrigin-RevId: 53fe9f4a8b32f7324be180288aa492f31f4d2057
codex-protocol
This crate defines the "types" for the protocol used by Codex CLI, which includes both "internal types" for communication between codex-core and codex-tui, as well as "external types" used with codex app-server.
This crate should have minimal dependencies.
Ideally, we should avoid "material business logic" in this crate, as we can always introduce Ext-style traits to add functionality to types in other crates.