Diagnostics helpers for OpenAI Realtime sessions.
The direct Realtime API occasionally returns generic server_error payloads
that are hard to distinguish from SDK bugs when all you see is an example
failure. This module provides:
- a minimal raw WebSocket text-turn probe that exercises the upstream service before higher-level example logic runs
- error classification helpers for known skip conditions
- session-id extraction so callers can report concrete upstream evidence
Summary
Functions
Extracts a Realtime session id (sess_...) from a message, map, or inspected term.
Returns a human-readable summary for a failed probe.
Runs a minimal raw-WebSocket text probe against the Realtime API.
Maps known direct-API Realtime failures to example skip reasons.
Types
Functions
Extracts a Realtime session id (sess_...) from a message, map, or inspected term.
@spec format_probe_failure(probe_result()) :: String.t()
Returns a human-readable summary for a failed probe.
@spec probe_text_turn(keyword()) :: {:ok, probe_result()} | {:error, term()}
Runs a minimal raw-WebSocket text probe against the Realtime API.
The probe intentionally bypasses Codex.Realtime.Session so callers can tell
whether a failure is in the upstream Realtime service or in higher-level SDK
logic such as examples, tools, or handoffs.
Maps known direct-API Realtime failures to example skip reasons.