ReadonlydtmfTrue if the adapter can transmit DTMF tones (telephony).
ReadonlyinputWire formats the adapter accepts from the SDK for outgoing user audio
(e.g. ["pcm16/24000", "mulaw/8000"]).
ReadonlyinterruptionTrue if the adapter can send a first-class interrupt signal to the
agent under test (e.g. Twilio clear, OpenAI Realtime
response.cancel). When True, scenario.interrupt() uses the signal
path; when False, it falls back to timing-based barge-in (audio sent
over the wire while the agent is speaking, which the SUT detects via
VAD).
ReadonlynativeTrue if the adapter itself provides voice-activity-detection events
(user_start_speaking / user_stop_speaking). When False, the SDK
falls back to webrtcvad on the incoming audio stream.
ReadonlyoutputWire formats the adapter emits for incoming agent audio. The SDK converts these to internal PCM16/24000 mono.
ReadonlystreamingTrue if the adapter emits incremental transcript updates as the agent
speaks. Required for interrupt(afterWords: N).
Declaration of what a voice adapter can and cannot do.
readonlyeverywhere — the Python@dataclass(frozen=True)analogue in TS. Concrete adapters declare this once as a class-level constant.