$ the-wire · showcase
Codex carries MCP App UI through history, openai-node fixes shared callback credentials
By RepoJournal · Filed · About OpenAI · Composed from the cited sources · methodology
Codex moved MCP Apps rendering data into tool-call events and history while openai-node closed a concurrency bug that let concurrent HTTP requests borrow each other's callback credentials.
Preserve MCP App UI metadata in tool-call events and history openai/codex
Tool-call events and saved history now carry `mcpToolCall.mcpAppUi` with the invoked descriptor's `resourceUri` and `preferredModelDisplayMode`, so clients can render a widget without first fetching the full MCP catalog. `fullscreen` is supported and the display mode falls back to `inline` when the preference is missing or unsupported.
fix: keep callback credentials local to each HTTP request (#2744) openai/openai-node
Concurrent requests using a callback credential could build headers from a later callback invocation's result; the fix captures each invocation's credential while constructing authentication headers for OpenAI, Azure AD, and legacy Bedrock. Resolution now happens after subclass request-option rewrites and before upload consumption, retaining retries, explicit headers, Bedrock origin checks, and...
feat(api): add compaction progress events openai/openai-node
Responses streams and WebSocket listeners gain typed compaction progress events: `response.compaction.compacting` with its item ID, output index, and sequence number. Stream helpers accept the event while preserving the response snapshot, and `credit_balance_exhausted` errors from managed agent turns are now recognized.
feat(websocket): add per-iterator incoming event limits openai/openai-node
Responses and Live WebSocket streams accept `stream({ maxBufferedEvents })` for a per-iterator backlog limit; overflow discards that iterator's queued records, removes its listeners, and rejects `next()` with `WebSocketError` while the socket and other iterators stay alive. Omitting the option preserves unlimited buffering, and the limit counts events, not payload bytes.
Complete Windows sandbox uninstall cleanup openai/codex
Packaged uninstall could leave sandbox user profiles and desktop-created data behind. Cleanup now deletes sandbox profiles before their accounts, keeping accounts around for retry when profile deletion fails, and defers retained runtime accounts and the sandbox group until runtime registrations are removed.
fix(examples): refresh chat streaming examples (#2974) openai/openai-python
The long tail was documentation and examples: chat streaming samples dropped their `poetry` shebangs and legacy Completions API usage, `module_client.py` moved to the `gpt-5.6` alias for GPT-5.6 Sol, and the Python SDK docs clarified explicit filename tuples for in-memory uploads and corrected the README's Responses API reference link.
Action items
- → Upgrade openai to 7.16.0 to pick up the per-request callback credential fix in openai-node openai/openai-node [plan]