decodeServerMap static method
Implementation
static RealtimeServerMessage decodeServerMap(Map<String, Object?> map) {
String type = map["type"]?.toString() ?? "";
return switch (type) {
RealtimeMessageType.connectionReady =>
$RealtimeConnectionReadyEvent.fromMap(map),
RealtimeMessageType.sessionStarted =>
$RealtimeSessionStartedEvent.fromMap(map),
RealtimeMessageType.sessionState => $RealtimeSessionStateEvent.fromMap(
map,
),
RealtimeMessageType.sessionStopped =>
$RealtimeSessionStoppedEvent.fromMap(map),
RealtimeMessageType.pong => $RealtimePongEvent.fromMap(map),
RealtimeMessageType.error => $RealtimeErrorEvent.fromMap(map),
RealtimeMessageType.inputSpeechStarted =>
$RealtimeInputSpeechStartedEvent.fromMap(map),
RealtimeMessageType.inputSpeechStopped =>
$RealtimeInputSpeechStoppedEvent.fromMap(map),
RealtimeMessageType.transcriptUserDelta =>
$RealtimeTranscriptUserDeltaEvent.fromMap(map),
RealtimeMessageType.transcriptUserFinal =>
$RealtimeTranscriptUserFinalEvent.fromMap(map),
RealtimeMessageType.transcriptAssistantDelta =>
$RealtimeTranscriptAssistantDeltaEvent.fromMap(map),
RealtimeMessageType.transcriptAssistantFinal =>
$RealtimeTranscriptAssistantFinalEvent.fromMap(map),
RealtimeMessageType.transcriptAssistantDiscard =>
$RealtimeTranscriptAssistantDiscardEvent.fromMap(map),
RealtimeMessageType.assistantOutputCompleted =>
$RealtimeAssistantOutputCompletedEvent.fromMap(map),
RealtimeMessageType.toolStarted => $RealtimeToolStartedEvent.fromMap(map),
RealtimeMessageType.toolCompleted => $RealtimeToolCompletedEvent.fromMap(
map,
),
RealtimeMessageType.toolCall => $RealtimeToolCallEvent.fromMap(map),
_ => throw FormatException("Unsupported realtime server message: $type"),
};
}