vllm_omni.protocol.realtime.commands ¶
OpenAI Realtime client events as typed commands.
A Realtime server's first job is turning a client JSON event into something typed. These are the 10 client events OpenAI's Realtime API defines, as frozen dataclasses carrying the fields that survive decoding.
vLLM-Omni's own client events (barge-in, playback acknowledgement, text append, heartbeat, explicit close, generic turn signals) are a separate vocabulary in vllm_omni.protocol.duplex.commands.
Decoding a payload into these stays with the consumer, because which command a given event becomes can depend on what that consumer supports --- see vllm_omni.engine.duplex.realtime_commands.translate_realtime_command.
AppendAudio dataclass ¶
Bases: RealtimeCommand
CancelResponse dataclass ¶
Bases: RealtimeCommand
ClearInput dataclass ¶
Bases: RealtimeCommand
ClearOutputAudio dataclass ¶
Bases: RealtimeCommand
Commit dataclass ¶
Bases: RealtimeCommand
CreateItem dataclass ¶
Bases: RealtimeCommand
conversation.item.create (history injection or function-call output).
CreateResponse dataclass ¶
DeleteItem dataclass ¶
Bases: RealtimeCommand
RealtimeCommand dataclass ¶
One decoded OpenAI Realtime client event.
wire_type is the event type the client sent; the typed fields are what survived decoding, so a consumer reads them instead of re-parsing JSON.
There is deliberately no rendering method here. A server receives commands, it does not emit them, and how a runtime represents one internally is its own business --- the duplex engine renders its mailbox dictionary in vllm_omni.engine.duplex.commands.