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