34#pragma region public API
48 const TMap<FString, FSignalRValue>& serverResponseData);
51#pragma region VoxtaServer response deserialize handlers
56 static const TMap<FString, TFunction<TUniquePtr<ServerResponseBase>(
const TMap<FString, FSignalRValue>&)>> HANDLERS;
59 static TUniquePtr<ServerResponseWelcome> GetWelcomeResponse(
60 const TMap<FString, FSignalRValue>& serverResponseData);
63 static TUniquePtr<ServerResponseCharacterList> GetCharacterListLoadedResponse(
64 const TMap<FString, FSignalRValue>& serverResponseData);
67 static TUniquePtr<ServerResponseContextUpdated> GetContextUpdatedResponse(
68 const TMap<FString, FSignalRValue>& serverResponseData);
71 static TUniquePtr<ServerResponseChatStarted> GetChatStartedResponse(
72 const TMap<FString, FSignalRValue>& serverResponseData);
75 static TUniquePtr<ServerResponseChatMessageStart> GetReplyStartResponse(
76 const TMap<FString, FSignalRValue>& serverResponseData);
79 static TUniquePtr<ServerResponseChatMessageChunk> GetReplyChunkResponse(
80 const TMap<FString, FSignalRValue>& serverResponseData);
83 static TUniquePtr<ServerResponseChatMessageEnd> GetReplyEndResponse(
84 const TMap<FString, FSignalRValue>& serverResponseData);
87 static TUniquePtr<ServerResponseChatMessageCancelled> GetReplyCancelledResponse(
88 const TMap<FString, FSignalRValue>& serverResponseData);
91 static TUniquePtr<ServerResponseChatUpdate> GetChatUpdateResponse(
92 const TMap<FString, FSignalRValue>& serverResponseData);
95 static TUniquePtr<ServerResponseChatClosed> GetChatClosedResponse(
96 const TMap<FString, FSignalRValue>& serverResponseData);
99 static TUniquePtr<ServerResponseSpeechTranscription> GetSpeechRecognitionPartial(
100 const TMap<FString, FSignalRValue>& serverResponseData);
103 static TUniquePtr<ServerResponseSpeechTranscription> GetSpeechRecognitionEnd(
104 const TMap<FString, FSignalRValue>& serverResponseData);
107 static TUniquePtr<ServerResponseError> GetErrorResponse(
108 const TMap<FString, FSignalRValue>& serverResponseData);
111 static TUniquePtr<ServerResponseChatSessionError> GetChatSessionErrorResponse(
112 const TMap<FString, FSignalRValue>& serverResponseData);
115 static TUniquePtr<ServerResponseConfiguration> GetConfigurationResponse(
116 const TMap<FString, FSignalRValue>& serverResponseData);
123 static void ProcessContextData(
const TMap<FString, FSignalRValue>& contextMainObject, FString& outContextValue);
129 static TUniquePtr<ServerResponseBase> WrapHandler(TUniquePtr<T>(*handler)(
const TMap<FString, FSignalRValue>&),
130 const TMap<FString, FSignalRValue>& data)
132 return handler(data);
141 static FGuid GetStringAsGuid(
const FString& input);