Decode Client Frame • AI Agent SDK
decode_client_frame: Validate a raw inbound frame into a typed, discriminated client frame.
decode_client_frame
Function
</div>
This function is defined in the protocols module.
Validate a raw inbound frame into a typed, discriminated client frame.
This is the single source of truth for the gateway wire contract: it decodes every advertised inbound method (`hello, message, leave) and the legacy join handshake into a validated dataclass, or raises :class:FrameDecodeError carrying a structured :class:HelloError` for the transport to reject with. Field coercion/validation happens once, here, at the WebSocket boundary — handlers receive already-typed objects.
Signature
def decode_client_frame(data: Dict[str, Any]) -> ClientFrameParameters
Dict[str, Any]The raw, JSON-decoded inbound frame (discriminated on `type`).
Returns
ClientFrameclass:HelloParams, :class:MessageParams, :class:LeaveParams, or :class:JoinParams.
Exceptions
FrameDecodeError
When `data` is not a mapping, carries an unknown /
Uses
FrameDecodeErrorHelloErrorMessageParams.from_frameLeaveParams.from_frameJoinParams.from_frame
Source
View on GitHubpraisonaiagents/gateway/protocols.py at line 1053