Skip to content

vllm_omni.engine.duplex.messages

Queue envelopes exchanged between DuplexOmniEngine and DuplexOrchestrator.

Sessions live inside the engine (DuplexSessionRunner on the orchestrator loop). The API layer only opens/closes/resumes/touches sessions through correlated RPC and pushes DuplexCommand objects one-way; every session output travels back as a DuplexSessionEventMessage.

CloseDuplexSessionMessage

Bases: EngineQueueMessage

control_id instance-attribute

control_id: str

reason class-attribute instance-attribute

reason: str = 'client_close'

session_id instance-attribute

session_id: str

type class-attribute instance-attribute

type: Literal["close_duplex_session"] = (
    "close_duplex_session"
)

DuplexControlResultMessage

Bases: EngineQueueMessage

capabilities class-attribute instance-attribute

capabilities: DuplexCapabilities | None = None

control_id instance-attribute

control_id: str

error_code class-attribute instance-attribute

error_code: str | None = None

error_message class-attribute instance-attribute

error_message: str | None = None

error_retryable class-attribute instance-attribute

error_retryable: bool = False

lease_generation class-attribute instance-attribute

lease_generation: int | None = None

ok instance-attribute

ok: bool

operation instance-attribute

operation: str

public_session class-attribute instance-attribute

public_session: dict[str, object] | None = None

rpc_correlation_key property

rpc_correlation_key: tuple[str, str]

session_id instance-attribute

session_id: str

type class-attribute instance-attribute

type: Literal["duplex_control_result"] = (
    "duplex_control_result"
)

DuplexSessionCommandMessage

Bases: EngineQueueMessage

One-way session command; rejections come back as ErrorEvent.

command instance-attribute

command: DuplexCommand

session_id instance-attribute

session_id: str

type class-attribute instance-attribute

type: Literal["duplex_session_command"] = (
    "duplex_session_command"
)

DuplexSessionError

Bases: RuntimeError

A session control operation was rejected by the engine.

code instance-attribute

code = code

retryable instance-attribute

retryable = retryable

session_id instance-attribute

session_id = session_id

DuplexSessionEventMessage

Bases: EngineQueueMessage

A typed session event on the engine output queue.

event instance-attribute

event: DuplexEvent

session_id instance-attribute

session_id: str

type class-attribute instance-attribute

type: Literal["duplex_session_event"] = (
    "duplex_session_event"
)

OpenDuplexSessionMessage

Bases: EngineQueueMessage

control_id instance-attribute

control_id: str

session_config instance-attribute

session_config: DuplexSessionConfig

session_id instance-attribute

session_id: str

type class-attribute instance-attribute

type: Literal["open_duplex_session"] = "open_duplex_session"

ResumeDuplexSessionMessage

Bases: EngineQueueMessage

control_id instance-attribute

control_id: str

expected_lease_generation instance-attribute

expected_lease_generation: int

session_id instance-attribute

session_id: str

type class-attribute instance-attribute

type: Literal["resume_duplex_session"] = (
    "resume_duplex_session"
)

TouchDuplexSessionMessage

Bases: EngineQueueMessage

activity instance-attribute

activity: str

control_id instance-attribute

control_id: str

expected_lease_generation class-attribute instance-attribute

expected_lease_generation: int | None = None

session_id instance-attribute

session_id: str

type class-attribute instance-attribute

type: Literal["touch_duplex_session"] = (
    "touch_duplex_session"
)