decodeClientMap static method

RealtimeClientMessage decodeClientMap(
  1. Map<String, Object?> map
)

Implementation

static RealtimeClientMessage decodeClientMap(Map<String, Object?> map) {
  String type = map["type"]?.toString() ?? "";
  return switch (type) {
    RealtimeMessageType.sessionStart => $RealtimeSessionStartRequest.fromMap(
      map,
    ),
    RealtimeMessageType.sessionStop => $RealtimeSessionStopRequest.fromMap(
      map,
    ),
    RealtimeMessageType.sessionInterrupt =>
      $RealtimeSessionInterruptRequest.fromMap(map),
    RealtimeMessageType.textInput => $RealtimeTextInputRequest.fromMap(map),
    RealtimeMessageType.ping => $RealtimePingRequest.fromMap(map),
    RealtimeMessageType.toolResult => $RealtimeToolResultRequest.fromMap(map),
    _ => throw FormatException("Unsupported realtime client message: $type"),
  };
}