diff --git a/.gitignore b/.gitignore index 866918b1..aed4005f 100644 --- a/.gitignore +++ b/.gitignore @@ -248,3 +248,6 @@ web.config app.config settings.json project.lock.json + +# Log +log.txt \ No newline at end of file diff --git a/Deepgram.Dev.sln b/Deepgram.Dev.sln index d0f59b96..08497041 100644 --- a/Deepgram.Dev.sln +++ b/Deepgram.Dev.sln @@ -177,6 +177,14 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Streaming", "tests\edge_cas EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Speak", "tests\edge_cases\tts_v1_client_example\Speak.csproj", "{AB053DDA-2487-476C-9793-A50C37F10CCA}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "agent", "agent", "{B7C828E2-1CDB-4F78-9AB7-CA2180795DF4}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "websocket", "websocket", "{B254E451-B210-4A01-8854-DA03AC2A1065}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "simple", "simple", "{FB6A2238-DD9A-4A47-B723-C173F2D2E31C}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Agent", "examples\agent\websocket\simple\Agent.csproj", "{332347AC-E1D8-4B5D-A26F-50975AEF1F4F}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -327,6 +335,10 @@ Global {AB053DDA-2487-476C-9793-A50C37F10CCA}.Debug|Any CPU.Build.0 = Debug|Any CPU {AB053DDA-2487-476C-9793-A50C37F10CCA}.Release|Any CPU.ActiveCfg = Release|Any CPU {AB053DDA-2487-476C-9793-A50C37F10CCA}.Release|Any CPU.Build.0 = Release|Any CPU + {332347AC-E1D8-4B5D-A26F-50975AEF1F4F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {332347AC-E1D8-4B5D-A26F-50975AEF1F4F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {332347AC-E1D8-4B5D-A26F-50975AEF1F4F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {332347AC-E1D8-4B5D-A26F-50975AEF1F4F}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -412,6 +424,10 @@ Global {5CEEB2F0-F284-4BB3-8999-6E91151C0C06} = {1280E66D-A375-422A-ACB4-48F17E9C190E} {964A87B4-31F8-4D68-AE64-64E66C9959FD} = {0BF29CA2-1CD6-4FF0-BC7B-B33C6B41E9A1} {AB053DDA-2487-476C-9793-A50C37F10CCA} = {5CEEB2F0-F284-4BB3-8999-6E91151C0C06} + {B7C828E2-1CDB-4F78-9AB7-CA2180795DF4} = {C673DFD1-528A-4BAE-94E6-02EF058AC363} + {B254E451-B210-4A01-8854-DA03AC2A1065} = {B7C828E2-1CDB-4F78-9AB7-CA2180795DF4} + {FB6A2238-DD9A-4A47-B723-C173F2D2E31C} = {B254E451-B210-4A01-8854-DA03AC2A1065} + {332347AC-E1D8-4B5D-A26F-50975AEF1F4F} = {FB6A2238-DD9A-4A47-B723-C173F2D2E31C} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {8D4ABC6D-7126-4EE2-9303-43A954616B2A} diff --git a/Deepgram/AgentWebSocketClient.cs b/Deepgram/AgentWebSocketClient.cs new file mode 100644 index 00000000..eb84a76a --- /dev/null +++ b/Deepgram/AgentWebSocketClient.cs @@ -0,0 +1,18 @@ +// Copyright 2021-2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +using Deepgram.Clients.Agent.v2.WebSocket; +using Deepgram.Models.Authenticate.v1; + +namespace Deepgram; + +/// +/// Implements the latest supported version of the Agent Client. +/// +public class AgentWebSocketClient : Client +{ + public AgentWebSocketClient(string apiKey = "", DeepgramWsClientOptions? deepgramClientOptions = null) : base(apiKey, deepgramClientOptions) + { + } +} diff --git a/Deepgram/ClientFactory.cs b/Deepgram/ClientFactory.cs index 9eb46e2d..18c5bb65 100644 --- a/Deepgram/ClientFactory.cs +++ b/Deepgram/ClientFactory.cs @@ -15,6 +15,17 @@ namespace Deepgram; public static class ClientFactory { + /// + /// Create a new AgentWebSocketClient using the latest version + /// + /// + /// + /// + public static V2.IAgentWebSocketClient CreateAgentWebSocketClient(string apiKey = "", DeepgramWsClientOptions? options = null) + { + return new AgentWebSocketClient(apiKey, options); + } + /// /// Create a new AnalyzeClient /// @@ -108,6 +119,15 @@ public static V2.ISpeakWebSocketClient CreateSpeakWebSocketClient(string apiKey /// and the latest version will be renamed to v1. /// + /// + /// This method allows you to create an AgentClient with a specific version of the client. + /// TODO: this should be revisited at a later time. Opportunity to use reflection to get the type of the client + /// + public static object CreateAgentWebSocketClient(int version, string apiKey = "", DeepgramWsClientOptions? options = null) + { + return new AgentWebSocketClient(apiKey, options); + } + /// /// This method allows you to create an AnalyzeClient with a specific version of the client. /// TODO: this should be revisited at a later time. Opportunity to use reflection to get the type of the client diff --git a/Deepgram/Clients/Agent/v2/Websocket/Client.cs b/Deepgram/Clients/Agent/v2/Websocket/Client.cs new file mode 100644 index 00000000..39b3ac2a --- /dev/null +++ b/Deepgram/Clients/Agent/v2/Websocket/Client.cs @@ -0,0 +1,860 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +using Deepgram.Abstractions.v2; +using Deepgram.Models.Authenticate.v1; +using Deepgram.Models.Agent.v2.WebSocket; +using Common = Deepgram.Models.Common.v2.WebSocket; +using Deepgram.Clients.Interfaces.v2; + +namespace Deepgram.Clients.Agent.v2.WebSocket; + +/// +/// Implements version 2 of the Listen WebSocket Client. +/// +public class Client : AbstractWebSocketClient, IAgentWebSocketClient +{ + /// Required DeepgramApiKey + /// for HttpClient Configuration + public Client(string? apiKey = null, IDeepgramClientOptions? options = null) : base(apiKey, options) + { + Log.Verbose("AgentWSClient", "ENTER"); + Log.Debug("AgentWSClient", $"KeepAlive: {_deepgramClientOptions.KeepAlive}"); + Log.Verbose("AgentWSClient", "LEAVE"); + } + + #region Event Handlers + /// + /// Fires when an event is received from the Deepgram API + /// + private event EventHandler? _audioReceived; + private event EventHandler? _agentAudioDoneReceived; + private event EventHandler? _agentStartedSpeakingReceived; + private event EventHandler? _agentThinkingReceived; + private event EventHandler? _conversationTextReceived; + private event EventHandler? _functionCallingReceived; + private event EventHandler? _functionCallRequestReceived; + private event EventHandler? _userStartedSpeakingReceived; + private event EventHandler? _welcomeReceived; + private event EventHandler? _settingsAppliedReceived; + private event EventHandler? _injectionRefusedReceived; + private event EventHandler? _instructionsUpdatedReceived; + private event EventHandler? _speakUpdatedReceived; + #endregion + + /// + /// Connect to a Deepgram API Web Socket to begin transcribing audio + /// + /// Options to use when transcribing audio + /// The task object representing the asynchronous operation. + public async Task Connect(SettingsConfigurationSchema options, CancellationTokenSource? cancelToken = null, Dictionary? addons = null, + Dictionary? headers = null) + { + Log.Verbose("AgentWSClient.Connect", "ENTER"); + Log.Information("Connect", $"options:\n{JsonSerializer.Serialize(options, JsonSerializeOptions.DefaultOptions)}"); + Log.Debug("Connect", $"addons: {addons}"); + + try + { + var myURI = GetUri(_deepgramClientOptions); + Log.Debug("Connect", $"uri: {myURI}"); + bool bConnected = await base.Connect(myURI.ToString(), cancelToken, headers); + if (!bConnected) + { + Log.Warning("Connect", "Connect failed"); + Log.Verbose("AgentWSClient.Connect", "LEAVE"); + return false; + } + + // send the settings configuration + var bytes = Encoding.UTF8.GetBytes(options.ToString()); + await SendMessageImmediately(bytes); + + // keepalive thread + if (_deepgramClientOptions.KeepAlive) + { + Log.Debug("Connect", "Starting KeepAlive Thread..."); + StartKeepAliveBackgroundThread(); + } + + Log.Debug("Connect", "Connect Succeeded"); + Log.Verbose("AgentWSClient.Connect", "LEAVE"); + + return true; + } + catch (TaskCanceledException ex) + { + Log.Debug("Connect", "Connect cancelled."); + Log.Verbose("Connect", $"Connect cancelled. Info: {ex}"); + Log.Verbose("AgentWSClient.Connect", "LEAVE"); + + return false; + } + catch (Exception ex) + { + Log.Error("Connect", $"{ex.GetType()} thrown {ex.Message}"); + Log.Verbose("Connect", $"Exception: {ex}"); + Log.Verbose("AgentWSClient.Connect", "LEAVE"); + throw; + } + + void StartKeepAliveBackgroundThread() => Task.Run(async () => await ProcessKeepAlive()); + } + + #region Subscribe Event + /// + /// Subscribe to an Open event from the Deepgram API + /// + /// + /// True if successful + public async Task Subscribe(EventHandler eventHandler) + { + // Create a new event handler that wraps the original one + EventHandler wrappedHandler = (sender, args) => + { + // Cast the event arguments to the desired type + var castedArgs = new OpenResponse(); + castedArgs.Copy(args); + if (castedArgs != null) + { + // Invoke the original event handler with the casted arguments + eventHandler(sender, castedArgs); + } + }; + + // Pass the new event handler to the base Subscribe method + return await base.Subscribe(wrappedHandler); + } + + /// + /// Subscribe to a Audio event from the Deepgram API + /// + /// + /// True if successful + public async Task Subscribe(EventHandler eventHandler) + { + await _mutexSubscribe.WaitAsync(); + try + { + _audioReceived += (sender, e) => eventHandler(sender, e); + } + finally + { + _mutexSubscribe.Release(); + } + return true; + } + + /// + /// Subscribe to a AgentAudioDone event from the Deepgram API + /// + /// + /// True if successful + public async Task Subscribe(EventHandler eventHandler) + { + await _mutexSubscribe.WaitAsync(); + try + { + _agentAudioDoneReceived += (sender, e) => eventHandler(sender, e); + } + finally + { + _mutexSubscribe.Release(); + } + return true; + } + + /// + /// Subscribe to a AgentStartedSpeaking event from the Deepgram API + /// + /// True if successful + public async Task Subscribe(EventHandler eventHandler) + { + await _mutexSubscribe.WaitAsync(); + try + { + _agentStartedSpeakingReceived += (sender, e) => eventHandler(sender, e); + } + finally + { + _mutexSubscribe.Release(); + } + return true; + } + + /// + /// Subscribe to an AgentThinking event from the Deepgram API + /// + /// True if successful + public async Task Subscribe(EventHandler eventHandler) + { + await _mutexSubscribe.WaitAsync(); + try + { + _agentThinkingReceived += (sender, e) => eventHandler(sender, e); + } + finally + { + _mutexSubscribe.Release(); + } + return true; + } + + /// + /// Subscribe to a ConversationText event from the Deepgram API + /// + /// True if successful + public async Task Subscribe(EventHandler eventHandler) + { + await _mutexSubscribe.WaitAsync(); + try + { + _conversationTextReceived += (sender, e) => eventHandler(sender, e); + } + finally + { + _mutexSubscribe.Release(); + } + return true; + } + + /// + /// Subscribe to a FunctionCalling event from the Deepgram API + /// + /// True if successful + public async Task Subscribe(EventHandler eventHandler) + { + await _mutexSubscribe.WaitAsync(); + try + { + _functionCallingReceived += (sender, e) => eventHandler(sender, e); + } + finally + { + _mutexSubscribe.Release(); + } + return true; + } + + /// + /// Subscribe to a FunctionCallRequest event from the Deepgram API + /// + /// True if successful + public async Task Subscribe(EventHandler eventHandler) + { + await _mutexSubscribe.WaitAsync(); + try + { + _functionCallRequestReceived += (sender, e) => eventHandler(sender, e); + } + finally + { + _mutexSubscribe.Release(); + } + return true; + } + + /// + /// Subscribe to a UserStartedSpeaking event from the Deepgram API + /// + /// True if successful + public async Task Subscribe(EventHandler eventHandler) + { + await _mutexSubscribe.WaitAsync(); + try + { + _userStartedSpeakingReceived += (sender, e) => eventHandler(sender, e); + } + finally + { + _mutexSubscribe.Release(); + } + return true; + } + + /// + /// Subscribe to a Welcome event from the Deepgram API + /// + /// True if successful + public async Task Subscribe(EventHandler eventHandler) + { + await _mutexSubscribe.WaitAsync(); + try + { + _welcomeReceived += (sender, e) => eventHandler(sender, e); + } + finally + { + _mutexSubscribe.Release(); + } + return true; + } + + /// + /// Subscribe to a SettingsApplied event from the Deepgram API + /// + /// True if successful + public async Task Subscribe(EventHandler eventHandler) + { + await _mutexSubscribe.WaitAsync(); + try + { + _settingsAppliedReceived += (sender, e) => eventHandler(sender, e); + } + finally + { + _mutexSubscribe.Release(); + } + return true; + } + + /// + /// Subscribe to an InjectionRefused event from the Deepgram API + /// + /// True if successful + public async Task Subscribe(EventHandler eventHandler) + { + await _mutexSubscribe.WaitAsync(); + try + { + _injectionRefusedReceived += (sender, e) => eventHandler(sender, e); + } + finally + { + _mutexSubscribe.Release(); + } + return true; + } + + /// + /// Subscribe to a InstructionsUpdated event from the Deepgram API + /// + /// True if successful + public async Task Subscribe(EventHandler eventHandler) + { + await _mutexSubscribe.WaitAsync(); + try + { + _instructionsUpdatedReceived += (sender, e) => eventHandler(sender, e); + } + finally + { + _mutexSubscribe.Release(); + } + return true; + } + + /// + /// Subscribe to a SpeakUpdated event from the Deepgram API + /// + /// True if successful + public async Task Subscribe(EventHandler eventHandler) + { + await _mutexSubscribe.WaitAsync(); + try + { + _speakUpdatedReceived += (sender, e) => eventHandler(sender, e); + } + finally + { + _mutexSubscribe.Release(); + } + return true; + } + + /// + /// Subscribe to an Close event from the Deepgram API + /// + /// + /// True if successful + public async Task Subscribe(EventHandler eventHandler) + { + // Create a new event handler that wraps the original one + EventHandler wrappedHandler = (sender, args) => + { + // Cast the event arguments to the desired type + var castedArgs = new CloseResponse(); + castedArgs.Copy(args); + if (castedArgs != null) + { + // Invoke the original event handler with the casted arguments + eventHandler(sender, castedArgs); + } + }; + + return await base.Subscribe(wrappedHandler); + } + + /// + /// Subscribe to an Error event from the Deepgram API + /// + /// + /// True if successful + public async Task Subscribe(EventHandler eventHandler) + { + // Create a new event handler that wraps the original one + EventHandler wrappedHandler = (sender, args) => + { + // Cast the event arguments to the desired type + var castedArgs = new ErrorResponse(); + castedArgs.Copy(args); + if (castedArgs != null) + { + // Invoke the original event handler with the casted arguments + eventHandler(sender, castedArgs); + } + }; + + return await base.Subscribe(wrappedHandler); + } + + /// + /// Subscribe to an Unhandled event from the Deepgram API + /// + /// + /// True if successful + public async Task Subscribe(EventHandler eventHandler) + { + // Create a new event handler that wraps the original one + EventHandler wrappedHandler = (sender, args) => + { + // Cast the event arguments to the desired type + var castedArgs = new UnhandledResponse(); + castedArgs.Copy(args); + if (castedArgs != null) + { + // Invoke the original event handler with the casted arguments + eventHandler(sender, castedArgs); + } + }; + + return await base.Subscribe(wrappedHandler); + } + #endregion + + #region Send Functions + /// + /// Sends a KeepAlive message to Deepgram + /// + public async Task SendKeepAlive() + { + ControlMessage message = new ControlMessage(AgentClientTypes.KeepAlive); + byte[] data = Encoding.ASCII.GetBytes(message.ToString()); + await SendMessageImmediately(data); + } + /// + /// Sends a Close message to Deepgram + /// + public override async Task SendClose(bool nullByte = false, CancellationTokenSource? _cancellationToken = null) + { + if (_clientWebSocket == null || !IsConnected()) + { + Log.Warning("SendClose", "ClientWebSocket is null or not connected. Skipping..."); + return; + } + + // provide a cancellation token, or use the one in the class + var _cancelToken = _cancellationToken ?? _cancellationTokenSource; + + Log.Debug("SendClose", "Sending Close Message Immediately..."); + if (nullByte) + { + // send a close to Deepgram + await _mutexSend.WaitAsync(_cancelToken.Token); + try + { + await _clientWebSocket.SendAsync(new ArraySegment(new byte[1] { 0 }), WebSocketMessageType.Binary, true, _cancellationTokenSource.Token) + .ConfigureAwait(false); + } + finally + { + _mutexSend.Release(); + } + return; + } + + ControlMessage message = new ControlMessage(AgentClientTypes.Close); + byte[] data = Encoding.ASCII.GetBytes(message.ToString()); + await SendMessageImmediately(data); + } + #endregion + + internal async Task ProcessKeepAlive() + { + Log.Verbose("AgentWSClient.ProcessKeepAlive", "ENTER"); + + try + { + while (true) + { + Log.Verbose("ProcessKeepAlive", "Waiting for KeepAlive..."); + await Task.Delay(5000, _cancellationTokenSource.Token); + + if (_cancellationTokenSource.Token.IsCancellationRequested) + { + Log.Information("ProcessKeepAlive", "KeepAliveThread cancelled"); + break; + } + if (!IsConnected()) + { + Log.Debug("ProcessAutoFlush", "WebSocket is not connected. Exiting..."); + break; + } + + await SendKeepAlive(); + } + + Log.Verbose("ProcessKeepAlive", "Exit"); + Log.Verbose("AgentWSClient.ProcessKeepAlive", "LEAVE"); + } + catch (TaskCanceledException ex) + { + Log.Debug("ProcessKeepAlive", "KeepAliveThread cancelled."); + Log.Verbose("ProcessKeepAlive", $"KeepAliveThread cancelled. Info: {ex}"); + Log.Verbose("AgentWSClient.ProcessKeepAlive", "LEAVE"); + } + catch (Exception ex) + { + Log.Error("ProcessKeepAlive", $"{ex.GetType()} thrown {ex.Message}"); + Log.Verbose("ProcessKeepAlive", $"Exception: {ex}"); + Log.Verbose("AgentWSClient.ProcessKeepAlive", "LEAVE"); + } + } + + internal override void ProcessBinaryMessage(WebSocketReceiveResult result, MemoryStream ms) + { + try + { + Log.Debug("ProcessBinaryMessage", "Received WebSocketMessageType.Binary"); + + if (_audioReceived == null) + { + Log.Debug("ProcessBinaryMessage", "_audioReceived has no listeners"); + Log.Verbose("ProcessBinaryMessage", "LEAVE"); + return; + } + + var audioResponse = new AudioResponse() + { + Stream = ms + }; + + Log.Debug("ProcessBinaryMessage", "Invoking AudioResponse"); + InvokeParallel(_audioReceived, audioResponse); + } + catch (JsonException ex) + { + Log.Error("ProcessDataReceived", $"{ex.GetType()} thrown {ex.Message}"); + Log.Verbose("ProcessDataReceived", $"Exception: {ex}"); + Log.Verbose("SpeakWSClient.ProcessDataReceived", "LEAVE"); + } + catch (Exception ex) + { + Log.Error("ProcessDataReceived", $"{ex.GetType()} thrown {ex.Message}"); + Log.Verbose("ProcessDataReceived", $"Excepton: {ex}"); + Log.Verbose("SpeakWSClient.ProcessDataReceived", "LEAVE"); + } + } + + internal override void ProcessTextMessage(WebSocketReceiveResult result, MemoryStream ms) + { + Log.Verbose("AgentWSClient.ProcessTextMessage", "ENTER"); + + ms.Seek(0, SeekOrigin.Begin); + + var response = Encoding.UTF8.GetString(ms.ToArray()); + if (response == null) + { + Log.Warning("ProcessTextMessage", "Response is null"); + Log.Verbose("AgentWSClient.ProcessTextMessage", "LEAVE"); + return; + } + + try + { + Log.Verbose("ProcessTextMessage", $"raw response: {response}"); + var data = JsonDocument.Parse(response); + var val = Enum.Parse(typeof(AgentType), data.RootElement.GetProperty("type").GetString()!); + + Log.Verbose("ProcessTextMessage", $"Type: {val}"); + + switch (val) + { + case AgentType.Open: + case AgentType.Close: + case AgentType.Error: + Log.Debug("ProcessTextMessage", "Calling base.ProcessTextMessage..."); + base.ProcessTextMessage(result, ms); + break; + case AgentType.AgentAudioDone: + var agentAudioDoneResponse = data.Deserialize(); + if (_agentAudioDoneReceived == null) + { + Log.Debug("ProcessTextMessage", "_agentAudioDoneReceived has no listeners"); + Log.Verbose("ProcessTextMessage", "LEAVE"); + return; + } + if (agentAudioDoneResponse == null) + { + Log.Warning("ProcessTextMessage", "AgentAudioDoneResponse is invalid"); + Log.Verbose("ProcessTextMessage", "LEAVE"); + return; + } + + Log.Debug("ProcessTextMessage", $"Invoking AgentAudioDoneResponse. event: {agentAudioDoneResponse}"); + InvokeParallel(_agentAudioDoneReceived, agentAudioDoneResponse); + break; + case AgentType.AgentStartedSpeaking: + var agentStartedSpeakingResponse = data.Deserialize(); + if (_agentStartedSpeakingReceived == null) + { + Log.Debug("ProcessTextMessage", "_agentStartedSpeakingReceived has no listeners"); + Log.Verbose("ProcessTextMessage", "LEAVE"); + return; + } + if (agentStartedSpeakingResponse == null) + { + Log.Warning("ProcessTextMessage", "AgentStartedSpeakingResponse is invalid"); + Log.Verbose("ProcessTextMessage", "LEAVE"); + return; + } + + Log.Debug("ProcessTextMessage", $"Invoking AgentStartedSpeakingResponse. event: {agentStartedSpeakingResponse}"); + InvokeParallel(_agentStartedSpeakingReceived, agentStartedSpeakingResponse); + break; + case AgentType.AgentThinking: + var agentThinkingResponse = data.Deserialize(); + if (_agentThinkingReceived == null) + { + Log.Debug("ProcessTextMessage", "_agentThinkingReceived has no listeners"); + Log.Verbose("ProcessTextMessage", "LEAVE"); + return; + } + if (agentThinkingResponse == null) + { + Log.Warning("ProcessTextMessage", "AgentThinkingResponse is invalid"); + Log.Verbose("ProcessTextMessage", "LEAVE"); + return; + } + + Log.Debug("ProcessTextMessage", $"Invoking AgentThinkingResponse. event: {agentThinkingResponse}"); + InvokeParallel(_agentThinkingReceived, agentThinkingResponse); + break; + case AgentType.ConversationText: + var conversationTextResponse = data.Deserialize(); + if (_conversationTextReceived == null) + { + Log.Debug("ProcessTextMessage", "_conversationTextReceived has no listeners"); + Log.Verbose("ProcessTextMessage", "LEAVE"); + return; + } + if (conversationTextResponse == null) + { + Log.Warning("ProcessTextMessage", "ConversationTextResponse is invalid"); + Log.Verbose("ProcessTextMessage", "LEAVE"); + return; + } + + Log.Debug("ProcessTextMessage", $"Invoking ConversationTextResponse. event: {conversationTextResponse}"); + InvokeParallel(_conversationTextReceived, conversationTextResponse); + break; + case AgentType.FunctionCalling: + var functionCallingResponse = data.Deserialize(); + if (_functionCallingReceived == null) + { + Log.Debug("ProcessTextMessage", "_functionCallingReceived has no listeners"); + Log.Verbose("ProcessTextMessage", "LEAVE"); + return; + } + if (functionCallingResponse == null) + { + Log.Warning("ProcessTextMessage", "FunctionCallingResponse is invalid"); + Log.Verbose("ProcessTextMessage", "LEAVE"); + return; + } + + Log.Debug("ProcessTextMessage", $"Invoking FunctionCallingResponse. event: {functionCallingResponse}"); + InvokeParallel(_functionCallingReceived, functionCallingResponse); + break; + case AgentType.FunctionCallRequest: + var functionCallRequestResponse = data.Deserialize(); + if (_functionCallRequestReceived == null) + { + Log.Debug("ProcessTextMessage", "_functionCallRequestReceived has no listeners"); + Log.Verbose("ProcessTextMessage", "LEAVE"); + return; + } + if (functionCallRequestResponse == null) + { + Log.Warning("ProcessTextMessage", "FunctionCallRequestResponse is invalid"); + Log.Verbose("ProcessTextMessage", "LEAVE"); + return; + } + + Log.Debug("ProcessTextMessage", $"Invoking FunctionCallRequestResponse. event: {functionCallRequestResponse}"); + InvokeParallel(_functionCallRequestReceived, functionCallRequestResponse); + break; + case AgentType.UserStartedSpeaking: + var userStartedSpeakingResponse = data.Deserialize(); + if (_userStartedSpeakingReceived == null) + { + Log.Debug("ProcessTextMessage", "_userStartedSpeakingReceived has no listeners"); + Log.Verbose("ProcessTextMessage", "LEAVE"); + return; + } + if (userStartedSpeakingResponse == null) + { + Log.Warning("ProcessTextMessage", "UserStartedSpeakingResponse is invalid"); + Log.Verbose("ProcessTextMessage", "LEAVE"); + return; + } + + Log.Debug("ProcessTextMessage", $"Invoking UserStartedSpeakingResponse. event: {userStartedSpeakingResponse}"); + InvokeParallel(_userStartedSpeakingReceived, userStartedSpeakingResponse); + break; + case AgentType.Welcome: + var welcomeResponse = data.Deserialize(); + if (_welcomeReceived == null) + { + Log.Debug("ProcessTextMessage", "_welcomeReceived has no listeners"); + Log.Verbose("ProcessTextMessage", "LEAVE"); + return; + } + if (welcomeResponse == null) + { + Log.Warning("ProcessTextMessage", "WelcomeResponse is invalid"); + Log.Verbose("ProcessTextMessage", "LEAVE"); + return; + } + + Log.Debug("ProcessTextMessage", $"Invoking WelcomeResponse. event: {welcomeResponse}"); + InvokeParallel(_welcomeReceived, welcomeResponse); + break; + case AgentType.SettingsApplied: + var settingsAppliedResponse = data.Deserialize(); + if (_settingsAppliedReceived == null) + { + Log.Debug("ProcessTextMessage", "_settingsAppliedReceived has no listeners"); + Log.Verbose("ProcessTextMessage", "LEAVE"); + return; + } + if (settingsAppliedResponse == null) + { + Log.Warning("ProcessTextMessage", "SettingsAppliedResponse is invalid"); + Log.Verbose("ProcessTextMessage", "LEAVE"); + return; + } + + Log.Debug("ProcessTextMessage", $"Invoking SettingsAppliedResponse. event: {settingsAppliedResponse}"); + InvokeParallel(_settingsAppliedReceived, settingsAppliedResponse); + break; + case AgentType.InjectionRefused: + var injectionRefusedResponse = data.Deserialize(); + if (_injectionRefusedReceived == null) + { + Log.Debug("ProcessTextMessage", "_injectionRefusedReceived has no listeners"); + Log.Verbose("ProcessTextMessage", "LEAVE"); + return; + } + if (injectionRefusedResponse == null) + { + Log.Warning("ProcessTextMessage", "InjectionRefusedResponse is invalid"); + Log.Verbose("ProcessTextMessage", "LEAVE"); + return; + } + + Log.Debug("ProcessTextMessage", $"Invoking InjectionRefusedResponse. event: {injectionRefusedResponse}"); + InvokeParallel(_injectionRefusedReceived, injectionRefusedResponse); + break; + case AgentType.InstructionsUpdated: + var instructionsUpdatedResponse = data.Deserialize(); + if (_instructionsUpdatedReceived == null) + { + Log.Debug("ProcessTextMessage", "_instructionsUpdatedReceived has no listeners"); + Log.Verbose("ProcessTextMessage", "LEAVE"); + return; + } + if (instructionsUpdatedResponse == null) + { + Log.Warning("ProcessTextMessage", "InstructionsUpdatedResponse is invalid"); + Log.Verbose("ProcessTextMessage", "LEAVE"); + return; + } + + Log.Debug("ProcessTextMessage", $"Invoking InstructionsUpdatedResponse. event: {instructionsUpdatedResponse}"); + InvokeParallel(_instructionsUpdatedReceived, instructionsUpdatedResponse); + break; + case AgentType.SpeakUpdated: + var speakUpdatedResponse = data.Deserialize(); + if (_speakUpdatedReceived == null) + { + Log.Debug("ProcessTextMessage", "_speakUpdatedReceived has no listeners"); + Log.Verbose("ProcessTextMessage", "LEAVE"); + return; + } + if (speakUpdatedResponse == null) + { + Log.Warning("ProcessTextMessage", "SpeakUpdatedResponse is invalid"); + Log.Verbose("ProcessTextMessage", "LEAVE"); + return; + } + + Log.Debug("ProcessTextMessage", $"Invoking SpeakUpdatedResponse. event: {speakUpdatedResponse}"); + InvokeParallel(_speakUpdatedReceived, speakUpdatedResponse); + break; + default: + Log.Debug("ProcessTextMessage", "Calling base.ProcessTextMessage..."); + base.ProcessTextMessage(result, ms); + break; + } + + Log.Debug("ProcessTextMessage", "Succeeded"); + Log.Verbose("AgentWSClient.ProcessTextMessage", "LEAVE"); + } + catch (JsonException ex) + { + Log.Error("ProcessTextMessage", $"{ex.GetType()} thrown {ex.Message}"); + Log.Verbose("ProcessTextMessage", $"Exception: {ex}"); + Log.Verbose("AgentWSClient.ProcessTextMessage", "LEAVE"); + } + catch (Exception ex) + { + Log.Error("ProcessTextMessage", $"{ex.GetType()} thrown {ex.Message}"); + Log.Verbose("ProcessTextMessage", $"Exception: {ex}"); + Log.Verbose("AgentWSClient.ProcessTextMessage", "LEAVE"); + } + } + + #region Helpers + /// + /// Get the URI for the WebSocket connection + /// + internal static Uri GetUri(IDeepgramClientOptions options) + { + var baseAddress = options.BaseAddress; + + // if base address contains "api.deepgram.com", then replace with "agent.deepgram.com" + // which is the default URI for the Agent API. This will preserve the wss or ws prefix. + // If this is a custom URI, then the we don't need to modify anything because DeepgramWSClientOptions + // will attach the protocol to the URI and the URI will be used as is. + if (baseAddress.Contains("api.deepgram.com")) + { + Log.Debug("GetUri", "Replacing baseAddress with agent.deepgram.com"); + baseAddress = baseAddress.Replace("api.deepgram.com", UriSegments.AGENT_URI); + } + Log.Debug("GetUri", $"baseAddress: {baseAddress}"); + + // if the base address has an v1, v2, etc remove it from the URI + Regex regex = new Regex(@"\b(\/v[0-9]+)\b", RegexOptions.IgnoreCase); + if (regex.IsMatch(baseAddress)) + { + Log.Information("GetUri", $"BaseAddress contains API version: {baseAddress}"); + baseAddress = regex.Replace(baseAddress, ""); + Log.Debug("GetUri", $"BaseAddress: {baseAddress}"); + } + + return new Uri($"{baseAddress}/{UriSegments.AGENT}"); + } + #endregion +} diff --git a/Deepgram/Clients/Agent/v2/Websocket/Constants.cs b/Deepgram/Clients/Agent/v2/Websocket/Constants.cs new file mode 100644 index 00000000..3af39379 --- /dev/null +++ b/Deepgram/Clients/Agent/v2/Websocket/Constants.cs @@ -0,0 +1,15 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Clients.Agent.v2.WebSocket; + +/// +/// Headers of interest in the return values from the Deepgram Speak API. +/// +public static class Constants +{ + // Default flush period + public const int DefaultFlushPeriodInMs = 500; +} + diff --git a/Deepgram/Clients/Agent/v2/Websocket/ResponseEvent.cs b/Deepgram/Clients/Agent/v2/Websocket/ResponseEvent.cs new file mode 100644 index 00000000..a09c315c --- /dev/null +++ b/Deepgram/Clients/Agent/v2/Websocket/ResponseEvent.cs @@ -0,0 +1,11 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Clients.Agent.v2.WebSocket; + +public class ResponseEvent(T? response) : EventArgs +{ + public T? Response { get; set; } = response; +} + diff --git a/Deepgram/Clients/Agent/v2/Websocket/UriSegments.cs b/Deepgram/Clients/Agent/v2/Websocket/UriSegments.cs new file mode 100644 index 00000000..36ea03ff --- /dev/null +++ b/Deepgram/Clients/Agent/v2/Websocket/UriSegments.cs @@ -0,0 +1,16 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Clients.Agent.v2.WebSocket; + +public static class UriSegments +{ + // overriding the default uri segments which is typically api.deepgram.com + // this is special for agent api for some odd reason + public const string AGENT_URI = "agent.deepgram.com"; + + //using constants instead of inline value(magic strings) make consistence + //across SDK And Test Projects Simpler and Easier to change + public const string AGENT = "agent"; +} diff --git a/Deepgram/Clients/Interfaces/v2/IAgentWebSocketClient.cs b/Deepgram/Clients/Interfaces/v2/IAgentWebSocketClient.cs new file mode 100644 index 00000000..1c2fdb23 --- /dev/null +++ b/Deepgram/Clients/Interfaces/v2/IAgentWebSocketClient.cs @@ -0,0 +1,189 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +using Deepgram.Models.Agent.v2.WebSocket; + +namespace Deepgram.Clients.Interfaces.v2; + +/// +/// Implements version 2 of the Agent Client. +/// +public interface IAgentWebSocketClient +{ + #region Connect and Disconnect + /// + /// Connects to the Deepgram WebSocket API + /// + public Task Connect(SettingsConfigurationSchema options, CancellationTokenSource? cancelToken = null, Dictionary? addons = null, + Dictionary? headers = null); + + /// + /// Disconnects from the Deepgram WebSocket API + /// + public Task Stop(CancellationTokenSource? cancelToken = null, bool nullByte = false); + #endregion + + #region Subscribe Event + /// + /// Subscribe to an Open event from the Deepgram API + /// + /// + /// True if successful + public Task Subscribe(EventHandler eventHandler); + + /// + /// Subscribe to an Audio Binary event from the Deepgram API + /// + /// + /// True if successful + public Task Subscribe(EventHandler eventHandler); + + /// + /// Subscribe to a AgentAudioDone event from the Deepgram API + /// + /// + /// True if successful + public Task Subscribe(EventHandler eventHandler); + + /// + /// Subscribe to a AgentStartedSpeaking event from the Deepgram API + /// + /// True if successful + public Task Subscribe(EventHandler eventHandler) +; + /// + /// Subscribe to an AgentThinking event from the Deepgram API + /// + /// True if successful + public Task Subscribe(EventHandler eventHandler); + + /// + /// Subscribe to a ConversationText event from the Deepgram API + /// + /// True if successful + public Task Subscribe(EventHandler eventHandler); + + /// + /// Subscribe to a FunctionCalling event from the Deepgram API + /// + /// True if successful + public Task Subscribe(EventHandler eventHandler); + + /// + /// Subscribe to a FunctionCallRequest event from the Deepgram API + /// + /// True if successful + public Task Subscribe(EventHandler eventHandler); + + /// + /// Subscribe to a UserStartedSpeaking event from the Deepgram API + /// + /// True if successful + public Task Subscribe(EventHandler eventHandler); + + /// + /// Subscribe to a Welcome event from the Deepgram API + /// + /// True if successful + public Task Subscribe(EventHandler eventHandler); + + /// + /// Subscribe to a Close event from the Deepgram API + /// + /// True if successful + public Task Subscribe(EventHandler eventHandler); + + /// + /// Subscribe to an Unhandled event from the Deepgram API + /// + /// True if successful + public Task Subscribe(EventHandler eventHandler); + + /// + /// Subscribe to an Error event from the Deepgram API + /// + /// True if successful + public Task Subscribe(EventHandler eventHandler); + + /// + /// Subscribe to a SettingsApplied event from the Deepgram API + /// + /// True if successful + public Task Subscribe(EventHandler eventHandler); + + /// + /// Subscribe to an InjectionRefused event from the Deepgram API + /// + /// True if successful + public Task Subscribe(EventHandler eventHandler); + + /// + /// Subscribe to an InstructionsUpdated event from the Deepgram API + /// + /// True if successful + public Task Subscribe(EventHandler eventHandler); + + /// + /// Subscribe to a SpeakUpdated event from the Deepgram API + /// + /// True if successful + public Task Subscribe(EventHandler eventHandler); + #endregion + + #region Send Functions + /// + /// Sends a KeepAlive message to Deepgram + /// + public Task SendKeepAlive(); + + /// + /// Sends a Close message to Deepgram + /// + public Task SendClose(bool nullByte = false, CancellationTokenSource? _cancellationToken = null); + + /// + /// This method sends a binary message over the WebSocket connection. + /// + /// + /// The number of bytes from the data to send. Use `Constants.UseArrayLengthForSend` to send the entire array. + public void SendBinary(byte[] data, int length = Constants.UseArrayLengthForSend); + + /// + /// This method sends a text message over the WebSocket connection. + /// + /// + /// The number of bytes from the data to send. Use `Constants.UseArrayLengthForSend` to send the entire array. + public void SendMessage(byte[] data, int length = Constants.UseArrayLengthForSend); + + /// + /// This method sends a binary message over the WebSocket connection immediately without queueing. + /// + /// + /// The number of bytes from the data to send. Use `Constants.UseArrayLengthForSend` to send the entire array. + /// /// Provide a cancel token to be used for the send function or use the internal one + public Task SendBinaryImmediately(byte[] data, int length = Constants.UseArrayLengthForSend, CancellationTokenSource? _cancellationToken = null); + + /// + /// This method sends a text message over the WebSocket connection immediately without queueing. + /// + /// + /// The number of bytes from the data to send. Use `Constants.UseArrayLengthForSend` to send the entire array. + /// /// Provide a cancel token to be used for the send function or use the internal one + public Task SendMessageImmediately(byte[] data, int length = Constants.UseArrayLengthForSend, CancellationTokenSource? _cancellationToken = null); + #endregion + + #region Helpers + /// + /// Retrieves the connection state of the WebSocket + /// + /// Returns the connection state of the WebSocket + public WebSocketState State(); + + /// + /// Indicates whether the WebSocket is connected + /// + /// Returns true if the WebSocket is connected + public bool IsConnected(); + #endregion +} diff --git a/Deepgram/Deepgram.csproj b/Deepgram/Deepgram.csproj index a4126885..327d216c 100644 --- a/Deepgram/Deepgram.csproj +++ b/Deepgram/Deepgram.csproj @@ -83,6 +83,12 @@ + + + + + + diff --git a/Deepgram/Models/Agent/v2/WebSocket/Agent.cs b/Deepgram/Models/Agent/v2/WebSocket/Agent.cs new file mode 100644 index 00000000..4635b17b --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/Agent.cs @@ -0,0 +1,28 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public record Agent +{ + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("listen")] + public Listen Listen { get; set; } = new Listen(); + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("think")] + public Think Think { get; set; } = new Think(); + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("speak")] + public Speak Speak { get; set; } = new Speak(); + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/AgentAudioDoneResponse.cs b/Deepgram/Models/Agent/v2/WebSocket/AgentAudioDoneResponse.cs new file mode 100644 index 00000000..14f32020 --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/AgentAudioDoneResponse.cs @@ -0,0 +1,24 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public record AgentAudioDoneResponse +{ + /// + /// SettingsConfiguration event type. + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("type")] + [JsonConverter(typeof(JsonStringEnumConverter))] + public AgentType? Type { get; } = AgentType.AgentAudioDone; + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/AgentStartedSpeakingResponse.cs b/Deepgram/Models/Agent/v2/WebSocket/AgentStartedSpeakingResponse.cs new file mode 100644 index 00000000..829efe9e --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/AgentStartedSpeakingResponse.cs @@ -0,0 +1,36 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public record AgentStartedSpeakingResponse +{ + /// + /// SettingsConfiguration event type. + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("type")] + [JsonConverter(typeof(JsonStringEnumConverter))] + public AgentType? Type { get; } = AgentType.AgentStartedSpeaking; + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("total_latency")] + public decimal? TotalLatency { get; set; } + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("tts_latency")] + public decimal? TtsLatency { get; set; } + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("ttt_latency")] + public decimal? TttLatency { get; set; } + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/AgentThinkingResponse.cs b/Deepgram/Models/Agent/v2/WebSocket/AgentThinkingResponse.cs new file mode 100644 index 00000000..79edcfc7 --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/AgentThinkingResponse.cs @@ -0,0 +1,28 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public record AgentThinkingResponse +{ + /// + /// SettingsConfiguration event type. + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("type")] + [JsonConverter(typeof(JsonStringEnumConverter))] + public AgentType? Type { get; } = AgentType.AgentThinking; + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("content")] + public string? Content { get; set; } + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/AgentType.cs b/Deepgram/Models/Agent/v2/WebSocket/AgentType.cs new file mode 100644 index 00000000..1b6496c0 --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/AgentType.cs @@ -0,0 +1,40 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +using Deepgram.Models.Common.v2.WebSocket; + +public enum AgentType +{ + Open = WebSocketType.Open, + Close = WebSocketType.Close, + Unhandled = WebSocketType.Unhandled, + Error = WebSocketType.Error, + Welcome, + ConversationText, + UserStartedSpeaking, + AgentThinking, + FunctionCallRequest, + FunctionCalling, + AgentStartedSpeaking, + AgentAudioDone, + Audio, + InjectionRefused, + SettingsApplied, + InstructionsUpdated, + SpeakUpdated, +} + +public static class AgentClientTypes +{ + // user message types + public const string SettingsConfiguration = "SettingsConfiguration"; + public const string UpdateInstructions = "UpdateInstructions"; + public const string UpdateSpeak = "UpdateSpeak"; + public const string InjectAgentMessage = "InjectAgentMessage"; + public const string FunctionCallResponse = "FunctionCallResponse"; + public const string KeepAlive = "KeepAlive"; + public const string Close = "Close"; +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/Audio.cs b/Deepgram/Models/Agent/v2/WebSocket/Audio.cs new file mode 100644 index 00000000..f1405cf7 --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/Audio.cs @@ -0,0 +1,25 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public record Audio +{ + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("input")] + public Input Input { get; set; } = new Input(); + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("output")] + public Output Output { get; set; } = new Output(); + + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/AudioResponse.cs b/Deepgram/Models/Agent/v2/WebSocket/AudioResponse.cs new file mode 100644 index 00000000..dd7377bb --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/AudioResponse.cs @@ -0,0 +1,30 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public record AudioResponse : IDisposable +{ + /// + /// The type of speak response, defaults to Audio. + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("type")] + [JsonConverter(typeof(JsonStringEnumConverter))] + public AgentType? Type { get; set; } = AgentType.Audio; + + /// + /// A stream of the audio file + /// + public MemoryStream? Stream { get; set; } + + // NOTE: There isn't a ToString() function because this will cause an odd Exception to be thrown: + // InvalidOperationException: "Timeouts are not supported on this stream." + + public void Dispose() + { + Stream?.Dispose(); + Stream = null; + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/CloseResponse.cs b/Deepgram/Models/Agent/v2/WebSocket/CloseResponse.cs new file mode 100644 index 00000000..3652b178 --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/CloseResponse.cs @@ -0,0 +1,11 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +using Common = Deepgram.Models.Common.v2.WebSocket; + +public record CloseResponse : Common.CloseResponse +{ +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/Context.cs b/Deepgram/Models/Agent/v2/WebSocket/Context.cs new file mode 100644 index 00000000..d1535358 --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/Context.cs @@ -0,0 +1,25 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public record Context +{ + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("messages")] + public List? Messages { get; set; } + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("replay")] + public bool? Replay { get; set; } + + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/ControlMessage.cs b/Deepgram/Models/Agent/v2/WebSocket/ControlMessage.cs new file mode 100644 index 00000000..e24ee041 --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/ControlMessage.cs @@ -0,0 +1,24 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public class ControlMessage(string text) +{ + /// + /// Gets or sets the type of control message. + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("type")] + public string? Type { get; set; } = text; + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} + diff --git a/Deepgram/Models/Agent/v2/WebSocket/ConversationTextResponse.cs b/Deepgram/Models/Agent/v2/WebSocket/ConversationTextResponse.cs new file mode 100644 index 00000000..5088a233 --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/ConversationTextResponse.cs @@ -0,0 +1,32 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public record ConversationTextResponse +{ + /// + /// SettingsConfiguration event type. + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("type")] + [JsonConverter(typeof(JsonStringEnumConverter))] + public AgentType? Type { get; } = AgentType.ConversationText; + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("role")] + public string? Role { get; set; } + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("content")] + public string? Content { get; set; } + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/ErrorResponse.cs b/Deepgram/Models/Agent/v2/WebSocket/ErrorResponse.cs new file mode 100644 index 00000000..11e562b6 --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/ErrorResponse.cs @@ -0,0 +1,11 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +using Common = Deepgram.Models.Common.v2.WebSocket; + +public record ErrorResponse : Common.ErrorResponse +{ +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/Function.cs b/Deepgram/Models/Agent/v2/WebSocket/Function.cs new file mode 100644 index 00000000..25920de7 --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/Function.cs @@ -0,0 +1,40 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public record Function +{ + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("name")] + public string? Name { get; set; } + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("description")] + public string? Description { get; set; } + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("parameters")] + public Parameters? Parameters { get; set; } + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("url")] + public string? Url { get; set; } + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("headers")] + public List
? Headers { get; set; } + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("method")] + public string? Method { get; set; } + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/FunctionCallRequestResponse.cs b/Deepgram/Models/Agent/v2/WebSocket/FunctionCallRequestResponse.cs new file mode 100644 index 00000000..0e67a4b8 --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/FunctionCallRequestResponse.cs @@ -0,0 +1,26 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public record FunctionCallRequestResponse +{ + /// + /// SettingsConfiguration event type. + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("type")] + [JsonConverter(typeof(JsonStringEnumConverter))] + public AgentType? Type { get; } = AgentType.FunctionCallRequest; + + // TODO: this needs to be defined + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/FunctionCallResponseSchema.cs b/Deepgram/Models/Agent/v2/WebSocket/FunctionCallResponseSchema.cs new file mode 100644 index 00000000..5b5b66ee --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/FunctionCallResponseSchema.cs @@ -0,0 +1,31 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public class FunctionCallResponseSchema +{ + /// + /// SettingsConfiguration event type. + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("type")] + public string? Type { get; } = AgentClientTypes.FunctionCallResponse; + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("function_call_id")] + public string? FunctionCallId { get; set; } + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("output")] + public string? Output { get; set; } + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/FunctionCallingResponse.cs b/Deepgram/Models/Agent/v2/WebSocket/FunctionCallingResponse.cs new file mode 100644 index 00000000..59012439 --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/FunctionCallingResponse.cs @@ -0,0 +1,28 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public record FunctionCallingResponse +{ + /// + /// SettingsConfiguration event type. + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("type")] + [JsonConverter(typeof(JsonStringEnumConverter))] + public AgentType? Type { get; } = AgentType.FunctionCalling; + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("session_id")] + public string? SessionId { get; set; } + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/Header.cs b/Deepgram/Models/Agent/v2/WebSocket/Header.cs new file mode 100644 index 00000000..7e9413e2 --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/Header.cs @@ -0,0 +1,24 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public record Header +{ + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("key")] + public string? Key { get; set; } + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("value")] + public string? Value { get; set; } + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/InjectAgentMessageSchema.cs b/Deepgram/Models/Agent/v2/WebSocket/InjectAgentMessageSchema.cs new file mode 100644 index 00000000..7133e015 --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/InjectAgentMessageSchema.cs @@ -0,0 +1,27 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public class InjectAgentMessageSchema +{ + /// + /// SettingsConfiguration event type. + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("type")] + public string? Type { get; } = AgentClientTypes.InjectAgentMessage; + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("message")] + public string? Message { get; set; } + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/InjectionRefusedResponse.cs b/Deepgram/Models/Agent/v2/WebSocket/InjectionRefusedResponse.cs new file mode 100644 index 00000000..aa5a68ca --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/InjectionRefusedResponse.cs @@ -0,0 +1,24 @@ +// Copyright 2025 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public record InjectionRefusedResponse +{ + /// + /// SettingsConfiguration event type. + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("type")] + [JsonConverter(typeof(JsonStringEnumConverter))] + public AgentType? Type { get; } = AgentType.InjectionRefused; + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/Input.cs b/Deepgram/Models/Agent/v2/WebSocket/Input.cs new file mode 100644 index 00000000..8687537f --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/Input.cs @@ -0,0 +1,24 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public record Input +{ + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("encoding")] + public string Encoding { get; set; } = "linear16"; + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("sample_rate")] + public long? SampleRate { get; set; } = 24000; + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/InstructionsUpdatedResponse.cs b/Deepgram/Models/Agent/v2/WebSocket/InstructionsUpdatedResponse.cs new file mode 100644 index 00000000..e2515b48 --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/InstructionsUpdatedResponse.cs @@ -0,0 +1,24 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public record InstructionsUpdatedResponse +{ + /// + /// SettingsConfiguration event type. + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("type")] + [JsonConverter(typeof(JsonStringEnumConverter))] + public AgentType? Type { get; } = AgentType.InstructionsUpdated; + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/Item.cs b/Deepgram/Models/Agent/v2/WebSocket/Item.cs new file mode 100644 index 00000000..c68b5fb5 --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/Item.cs @@ -0,0 +1,24 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public record Item +{ + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("type")] + public string? Type { get; set; } + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("description")] + public string? Description { get; set; } + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/KeepAliveSchema.cs b/Deepgram/Models/Agent/v2/WebSocket/KeepAliveSchema.cs new file mode 100644 index 00000000..d99f0fae --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/KeepAliveSchema.cs @@ -0,0 +1,23 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public class KeepAliveSchema +{ + /// + /// SettingsConfiguration event type. + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("type")] + public string? Type { get; } = AgentClientTypes.KeepAlive; + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/Listen.cs b/Deepgram/Models/Agent/v2/WebSocket/Listen.cs new file mode 100644 index 00000000..26e461e2 --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/Listen.cs @@ -0,0 +1,20 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public record Listen +{ + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("model")] + public string Model { get; set; } = "nova-2"; + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/OpenResponse.cs b/Deepgram/Models/Agent/v2/WebSocket/OpenResponse.cs new file mode 100644 index 00000000..2a6f06c6 --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/OpenResponse.cs @@ -0,0 +1,11 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +using Common = Deepgram.Models.Common.v2.WebSocket; + +public record OpenResponse : Common.OpenResponse +{ +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/Output.cs b/Deepgram/Models/Agent/v2/WebSocket/Output.cs new file mode 100644 index 00000000..1febfc7e --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/Output.cs @@ -0,0 +1,32 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public record Output +{ + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("encoding")] + public string Encoding { get; set; } = "linear16"; + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("sample_rate")] + public long? SampleRate { get; set; } = 24000; + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("bitrate")] + public long? Bitrate { get; set; } + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("container")] + public string? Container { get; set; } + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/Parameters.cs b/Deepgram/Models/Agent/v2/WebSocket/Parameters.cs new file mode 100644 index 00000000..92e02953 --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/Parameters.cs @@ -0,0 +1,30 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public record Parameters +{ + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("type")] + public string Type { get; set; } + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("properties")] + public Properties? Properties { get; set; } + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("required")] + public List? ParametersRequired { get; set; } + + + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/Properties.cs b/Deepgram/Models/Agent/v2/WebSocket/Properties.cs new file mode 100644 index 00000000..12e48595 --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/Properties.cs @@ -0,0 +1,21 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public record Properties +{ + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("item")] + public Item? Item { get; set; } + + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/Provider.cs b/Deepgram/Models/Agent/v2/WebSocket/Provider.cs new file mode 100644 index 00000000..4b4b0382 --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/Provider.cs @@ -0,0 +1,20 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public record Provider +{ + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("type")] + public string Type { get; set; } + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/SettingsAppliedResponse.cs b/Deepgram/Models/Agent/v2/WebSocket/SettingsAppliedResponse.cs new file mode 100644 index 00000000..b82d2a0c --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/SettingsAppliedResponse.cs @@ -0,0 +1,24 @@ +// Copyright 2025 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public record SettingsAppliedResponse +{ + /// + /// SettingsConfiguration event type. + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("type")] + [JsonConverter(typeof(JsonStringEnumConverter))] + public AgentType? Type { get; } = AgentType.SettingsApplied; + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/SettingsConfigurationSchema.cs b/Deepgram/Models/Agent/v2/WebSocket/SettingsConfigurationSchema.cs new file mode 100644 index 00000000..bd63d13b --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/SettingsConfigurationSchema.cs @@ -0,0 +1,35 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public class SettingsConfigurationSchema +{ + /// + /// SettingsConfiguration event type. + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("type")] + public string? Type { get; } = AgentClientTypes.SettingsConfiguration; + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("audio")] + public Audio Audio { get; set; } = new Audio(); + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("agent")] + public Agent Agent { get; set; } = new Agent(); + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("context")] + public Context Context { get; set; } = new Context(); + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/Speak.cs b/Deepgram/Models/Agent/v2/WebSocket/Speak.cs new file mode 100644 index 00000000..86d7e722 --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/Speak.cs @@ -0,0 +1,20 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public record Speak +{ + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("model")] + public string Model { get; set; } = "aura-asteria-en"; + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/SpeakUpdatedResponse.cs b/Deepgram/Models/Agent/v2/WebSocket/SpeakUpdatedResponse.cs new file mode 100644 index 00000000..ee983386 --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/SpeakUpdatedResponse.cs @@ -0,0 +1,24 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public record SpeakUpdatedResponse +{ + /// + /// SettingsConfiguration event type. + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("type")] + [JsonConverter(typeof(JsonStringEnumConverter))] + public AgentType? Type { get; } = AgentType.SpeakUpdated; + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/Think.cs b/Deepgram/Models/Agent/v2/WebSocket/Think.cs new file mode 100644 index 00000000..16f23986 --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/Think.cs @@ -0,0 +1,34 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public record Think +{ + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("provider")] + public Provider? Provider { get; set; } = new Provider(); + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("model")] + public string? Model { get; set; } + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("instructions")] + public string? Instructions { get; set; } + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("functions")] + public List? Functions { get; set; } + + + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/UnhandledResponse.cs b/Deepgram/Models/Agent/v2/WebSocket/UnhandledResponse.cs new file mode 100644 index 00000000..0dc6481e --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/UnhandledResponse.cs @@ -0,0 +1,11 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +using Common = Deepgram.Models.Common.v2.WebSocket; + +public record UnhandledResponse : Common.UnhandledResponse +{ +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/UpdateInstructionsSchema.cs b/Deepgram/Models/Agent/v2/WebSocket/UpdateInstructionsSchema.cs new file mode 100644 index 00000000..a7752479 --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/UpdateInstructionsSchema.cs @@ -0,0 +1,27 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public class UpdateInstructionsSchema +{ + /// + /// SettingsConfiguration event type. + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("type")] + public string? Type { get; } = AgentClientTypes.UpdateInstructions; + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("instructions")] + public string? Instructions { get; set; } + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/UpdateSpeakSchema.cs b/Deepgram/Models/Agent/v2/WebSocket/UpdateSpeakSchema.cs new file mode 100644 index 00000000..78eb8ff2 --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/UpdateSpeakSchema.cs @@ -0,0 +1,27 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public class UpdateSpeakSchema +{ + /// + /// SettingsConfiguration event type. + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("type")] + public string? Type { get; } = AgentClientTypes.UpdateSpeak; + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("model")] + public string? Model { get; set; } + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/UserStartedSpeakingResponse.cs b/Deepgram/Models/Agent/v2/WebSocket/UserStartedSpeakingResponse.cs new file mode 100644 index 00000000..6aebbc90 --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/UserStartedSpeakingResponse.cs @@ -0,0 +1,24 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public record UserStartedSpeakingResponse +{ + /// + /// SettingsConfiguration event type. + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("type")] + [JsonConverter(typeof(JsonStringEnumConverter))] + public AgentType? Type { get; } = AgentType.UserStartedSpeaking; + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/Deepgram/Models/Agent/v2/WebSocket/WelcomeResponse.cs b/Deepgram/Models/Agent/v2/WebSocket/WelcomeResponse.cs new file mode 100644 index 00000000..3d8f712c --- /dev/null +++ b/Deepgram/Models/Agent/v2/WebSocket/WelcomeResponse.cs @@ -0,0 +1,28 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +namespace Deepgram.Models.Agent.v2.WebSocket; + +public record WelcomeResponse +{ + /// + /// SettingsConfiguration event type. + /// + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("type")] + [JsonConverter(typeof(JsonStringEnumConverter))] + public AgentType? Type { get; } = AgentType.Welcome; + + [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] + [JsonPropertyName("session_id")] + public string? SessionId { get; set; } + + /// + /// Override ToString method to serialize the object + /// + public override string ToString() + { + return Regex.Unescape(JsonSerializer.Serialize(this, JsonSerializeOptions.DefaultOptions)); + } +} diff --git a/README.md b/README.md index 00d7ba20..e9ba2a32 100644 --- a/README.md +++ b/README.md @@ -195,6 +195,9 @@ These examples provide: - Projects - [examples/manage/projects](https://github.com/deepgram/deepgram-dotnet-sdk/blob/main/examples/manage/projects/Program.cs) - Scopes - [examples/manage/scopes](https://github.com/deepgram/deepgram-dotnet-sdk/blob/main/examples/manage/scopes/Program.cs) - Usage - [examples/manage/usage](https://github.com/deepgram/deepgram-dotnet-sdk/blob/main/examples/manage/usage/Program.cs) + +- Voice Agent API + - From a Microphone - [examples/agent/websocket/simple](https://github.com/deepgram/deepgram-dotnet-sdk/blob/main/examples/agent/websocket/simple/Program.cs) To run each example, set the `DEEPGRAM_API_KEY` as an environment variable, then `cd` into each example folder and execute the example: `dotnet run .csproj`. diff --git a/examples/agent/websocket/simple/Agent.csproj b/examples/agent/websocket/simple/Agent.csproj new file mode 100644 index 00000000..ecd2a096 --- /dev/null +++ b/examples/agent/websocket/simple/Agent.csproj @@ -0,0 +1,19 @@ + + + + Exe + net8.0 + enable + enable + + + + + + + + + + + + diff --git a/examples/agent/websocket/simple/Program.cs b/examples/agent/websocket/simple/Program.cs new file mode 100644 index 00000000..d7e9787b --- /dev/null +++ b/examples/agent/websocket/simple/Program.cs @@ -0,0 +1,228 @@ +// Copyright 2024 Deepgram .NET SDK contributors. All Rights Reserved. +// Use of this source code is governed by a MIT license that can be found in the LICENSE file. +// SPDX-License-Identifier: MIT + +using Deepgram.Logger; +using Deepgram.Microphone; +using Deepgram.Models.Authenticate.v1; +using Deepgram.Models.Agent.v2.WebSocket; + +namespace SampleApp +{ + class Program + { + static async Task Main(string[] args) + { + try + { + // Initialize Library with default logging + // Normal logging is "Info" level + Deepgram.Library.Initialize(); + // OR very chatty logging + //Deepgram.Library.Initialize(LogLevel.Verbose); // LogLevel.Default, LogLevel.Debug, LogLevel.Verbose + + // Initialize the microphone library + Deepgram.Microphone.Library.Initialize(); + + Console.WriteLine("\n\nPress any key to stop and exit...\n\n\n"); + + // Set "DEEPGRAM_API_KEY" environment variable to your Deepgram API Key + DeepgramWsClientOptions options = new DeepgramWsClientOptions(null, null, true); + var agentClient = ClientFactory.CreateAgentWebSocketClient(apiKey: "", options: options); + + // current time + var lastAudioTime = DateTime.Now; + var audioFileCount = 0; + + // Subscribe to the EventResponseReceived event + await agentClient.Subscribe(new EventHandler((sender, e) => + { + Console.WriteLine($"----> {e.Type} received"); + })); + await agentClient.Subscribe(new EventHandler((sender, e) => + { + Console.WriteLine($"----> {e.Type} received"); + + // if the last audio response is more than 5 seconds ago, add a wav header + if (DateTime.Now.Subtract(lastAudioTime).TotalSeconds > 7) + { + audioFileCount = audioFileCount + 1; // increment the audio file count + + // delete the file if it exists + if (File.Exists($"output_{audioFileCount}.wav")) + { + File.Delete($"output_{audioFileCount}.wav"); + } + + using (BinaryWriter writer = new BinaryWriter(File.Open($"output_{audioFileCount}.wav", FileMode.Append))) + { + Console.WriteLine("Adding WAV header to output.wav"); + byte[] wavHeader = new byte[44]; + int sampleRate = 48000; + short bitsPerSample = 16; + short channels = 1; + int byteRate = sampleRate * channels * (bitsPerSample / 8); + short blockAlign = (short)(channels * (bitsPerSample / 8)); + + wavHeader[0] = 0x52; // R + wavHeader[1] = 0x49; // I + wavHeader[2] = 0x46; // F + wavHeader[3] = 0x46; // F + wavHeader[4] = 0x00; // Placeholder for file size (will be updated later) + wavHeader[5] = 0x00; // Placeholder for file size (will be updated later) + wavHeader[6] = 0x00; // Placeholder for file size (will be updated later) + wavHeader[7] = 0x00; // Placeholder for file size (will be updated later) + wavHeader[8] = 0x57; // W + wavHeader[9] = 0x41; // A + wavHeader[10] = 0x56; // V + wavHeader[11] = 0x45; // E + wavHeader[12] = 0x66; // f + wavHeader[13] = 0x6D; // m + wavHeader[14] = 0x74; // t + wavHeader[15] = 0x20; // Space + wavHeader[16] = 0x10; // Subchunk1Size (16 for PCM) + wavHeader[17] = 0x00; // Subchunk1Size + wavHeader[18] = 0x00; // Subchunk1Size + wavHeader[19] = 0x00; // Subchunk1Size + wavHeader[20] = 0x01; // AudioFormat (1 for PCM) + wavHeader[21] = 0x00; // AudioFormat + wavHeader[22] = (byte)channels; // NumChannels + wavHeader[23] = 0x00; // NumChannels + wavHeader[24] = (byte)(sampleRate & 0xFF); // SampleRate + wavHeader[25] = (byte)((sampleRate >> 8) & 0xFF); // SampleRate + wavHeader[26] = (byte)((sampleRate >> 16) & 0xFF); // SampleRate + wavHeader[27] = (byte)((sampleRate >> 24) & 0xFF); // SampleRate + wavHeader[28] = (byte)(byteRate & 0xFF); // ByteRate + wavHeader[29] = (byte)((byteRate >> 8) & 0xFF); // ByteRate + wavHeader[30] = (byte)((byteRate >> 16) & 0xFF); // ByteRate + wavHeader[31] = (byte)((byteRate >> 24) & 0xFF); // ByteRate + wavHeader[32] = (byte)blockAlign; // BlockAlign + wavHeader[33] = 0x00; // BlockAlign + wavHeader[34] = (byte)bitsPerSample; // BitsPerSample + wavHeader[35] = 0x00; // BitsPerSample + wavHeader[36] = 0x64; // d + wavHeader[37] = 0x61; // a + wavHeader[38] = 0x74; // t + wavHeader[39] = 0x61; // a + wavHeader[40] = 0x00; // Placeholder for data chunk size (will be updated later) + wavHeader[41] = 0x00; // Placeholder for data chunk size (will be updated later) + wavHeader[42] = 0x00; // Placeholder for data chunk size (will be updated later) + wavHeader[43] = 0x00; // Placeholder for data chunk size (will be updated later) + + writer.Write(wavHeader); + } + } + + if (e.Stream != null) + { + using (BinaryWriter writer = new BinaryWriter(File.Open($"output_{audioFileCount}.wav", FileMode.Append))) + { + writer.Write(e.Stream.ToArray()); + } + } + + // record the last audio time + lastAudioTime = DateTime.Now; + })); + await agentClient.Subscribe(new EventHandler((sender, e) => + { + Console.WriteLine($"----> {e} received"); + })); + await agentClient.Subscribe(new EventHandler((sender, e) => + { + Console.WriteLine($"----> {e} received"); + })); + await agentClient.Subscribe(new EventHandler((sender, e) => + { + Console.WriteLine($"----> {e} received"); + })); + await agentClient.Subscribe(new EventHandler((sender, e) => + { + Console.WriteLine($"----> {e} received"); + })); + await agentClient.Subscribe(new EventHandler((sender, e) => + { + Console.WriteLine($"----> {e} received"); + })); + await agentClient.Subscribe(new EventHandler((sender, e) => + { + Console.WriteLine($"----> {e} received"); + })); + await agentClient.Subscribe(new EventHandler((sender, e) => + { + Console.WriteLine($"----> {e} received"); + })); + await agentClient.Subscribe(new EventHandler((sender, e) => + { + Console.WriteLine($"----> {e} received"); + })); + await agentClient.Subscribe(new EventHandler((sender, e) => + { + Console.WriteLine($"----> {e} received"); + })); + await agentClient.Subscribe(new EventHandler((sender, e) => + { + Console.WriteLine($"----> {e} received"); + })); + await agentClient.Subscribe(new EventHandler((sender, e) => + { + Console.WriteLine($"----> {e} received"); + })); + await agentClient.Subscribe(new EventHandler((sender, e) => + { + Console.WriteLine($"----> {e} received"); + })); + await agentClient.Subscribe(new EventHandler((sender, e) => + { + Console.WriteLine($"----> {e} received."); + })); + await agentClient.Subscribe(new EventHandler((sender, e) => + { + Console.WriteLine($"----> {e} received"); + })); + await agentClient.Subscribe(new EventHandler((sender, e) => + { + Console.WriteLine($"----> {e} received. Error: {e.Message}"); + })); + + // Start the connection + var settingsConfiguration = new SettingsConfigurationSchema(); + settingsConfiguration.Agent.Think.Provider.Type = "open_ai"; + settingsConfiguration.Agent.Think.Model = "gpt-4o-mini"; + settingsConfiguration.Audio.Output.SampleRate = 16000; + settingsConfiguration.Audio.Output.Container = "wav"; + settingsConfiguration.Audio.Input.SampleRate = 44100; + settingsConfiguration.Context.Messages = new List {}; + settingsConfiguration.Context.Replay = false; + + bool bConnected = await agentClient.Connect(settingsConfiguration); + if (!bConnected) + { + Console.WriteLine("Failed to connect to Deepgram WebSocket server."); + return; + } + + // Microphone streaming + var microphone = new Microphone(agentClient.SendBinary); + microphone.Start(); + + // Wait for the user to press a key + Console.ReadKey(); + + // Stop the microphone + microphone.Stop(); + + // Stop the connection + await agentClient.Stop(); + + // Terminate Libraries + Deepgram.Microphone.Library.Terminate(); + Deepgram.Library.Terminate(); + } + catch (Exception ex) + { + Console.WriteLine($"Exception: {ex.Message}"); + } + } + } +} diff --git a/log.txt b/log.txt deleted file mode 100644 index 6d666afb..00000000 --- a/log.txt +++ /dev/null @@ -1,2406 +0,0 @@ -2024-12-19 11:47:24.315 [Verbose] AbstractWebSocketClient: ENTER -2024-12-19 11:47:24.375 [Verbose] DeepgramWsClientOptions: ENTER -2024-12-19 11:47:24.375 [Debug] DeepgramWsClientOptions: API KEY provided -2024-12-19 11:47:24.375 [Debug] DeepgramWsClientOptions: BaseAddress is null -2024-12-19 11:47:24.375 [Debug] DeepgramWsClientOptions: KeepAlive is null -2024-12-19 11:47:24.375 [Debug] DeepgramWsClientOptions: OnPrem is null -2024-12-19 11:47:24.375 [Debug] DeepgramWsClientOptions: Headers is null -2024-12-19 11:47:24.376 [Debug] DeepgramWsClientOptions: Addons is null -2024-12-19 11:47:24.377 [Information] DeepgramWsClientOptions: KeepAlive: False -2024-12-19 11:47:24.377 [Information] DeepgramWsClientOptions: OnPrem: False -2024-12-19 11:47:24.378 [Information] DeepgramWsClientOptions: APIVersion: v1 -2024-12-19 11:47:24.378 [Debug] DeepgramWsClientOptions: WS BaseAddress: api.deepgram.com -2024-12-19 11:47:24.393 [Information] DeepgramWsClientOptions: WS BaseAddress does not contain API version: api.deepgram.com -2024-12-19 11:47:24.393 [Debug] DeepgramWsClientOptions: BaseAddress: api.deepgram.com/v1 -2024-12-19 11:47:24.393 [Information] DeepgramWsClientOptions: BaseAddress does not contain protocol: api.deepgram.com/v1 -2024-12-19 11:47:24.393 [Debug] DeepgramWsClientOptions: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 11:47:24.394 [Information] DeepgramWsClientOptions: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 11:47:24.394 [Verbose] DeepgramWsClientOptions: LEAVE -2024-12-19 11:47:24.394 [Debug] AbstractWebSocketClient: APIVersion: v1 -2024-12-19 11:47:24.394 [Debug] AbstractWebSocketClient: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 11:47:24.394 [Debug] AbstractWebSocketClient: OnPrem: False -2024-12-19 11:47:24.394 [Verbose] AbstractWebSocketClient: LEAVE -2024-12-19 11:47:24.394 [Verbose] SpeakWSClient: ENTER -2024-12-19 11:47:24.395 [Debug] SpeakWSClient: Autoflush: 0 -2024-12-19 11:47:24.395 [Verbose] SpeakWSClient: LEAVE -2024-12-19 11:47:24.399 [Verbose] SpeakWSClient.Connect: ENTER -2024-12-19 11:47:24.517 [Information] Connect: options: -{ - "model": "aura-asteria-en", - "encoding": "linear16", - "sample_rate": 48000 -} -2024-12-19 11:47:24.517 [Debug] Connect: addons: -2024-12-19 11:47:24.522 [Debug] Connect: uri: wss://api.deepgram.com/v1/speak?model=aura-asteria-en&encoding=linear16&sample_rate=48000 -2024-12-19 11:47:24.526 [Verbose] AbstractWebSocketClient.Connect: ENTER -2024-12-19 11:47:24.526 [Debug] Connect: headers: -2024-12-19 11:47:24.526 [Information] Connect: Using default connect cancellation token -2024-12-19 11:47:24.531 [Debug] Connect: uri: wss://api.deepgram.com/v1/speak?model=aura-asteria-en&encoding=linear16&sample_rate=48000 -2024-12-19 11:47:24.532 [Debug] Connect: Connecting to Deepgram API... -2024-12-19 11:47:25.103 [Error] Connect: System.Net.WebSockets.WebSocketException thrown The server returned status code '401' when status code '101' was expected. -2024-12-19 11:47:25.123 [Verbose] Connect: Exception: System.Net.WebSockets.WebSocketException (2): The server returned status code '401' when status code '101' was expected. - at System.Net.WebSockets.WebSocketHandle.ConnectAsync(Uri uri, CancellationToken cancellationToken, ClientWebSocketOptions options) - at System.Net.WebSockets.ClientWebSocket.ConnectAsyncCore(Uri uri, CancellationToken cancellationToken) - at Deepgram.Abstractions.v2.AbstractWebSocketClient.Connect(String uri, CancellationTokenSource cancelToken, Dictionary`2 headers) in /home/naomi/code/deepgram/deepgram-dotnet-sdk/Deepgram/Abstractions/v2/AbstractWebSocketClient.cs:line 117 -2024-12-19 11:47:25.123 [Verbose] AbstractWebSocketClient.Connect: LEAVE -2024-12-19 11:47:25.123 [Error] Connect: System.Net.WebSockets.WebSocketException thrown The server returned status code '401' when status code '101' was expected. -2024-12-19 11:47:25.124 [Verbose] Connect: Excepton: System.Net.WebSockets.WebSocketException (2): The server returned status code '401' when status code '101' was expected. - at System.Net.WebSockets.WebSocketHandle.ConnectAsync(Uri uri, CancellationToken cancellationToken, ClientWebSocketOptions options) - at System.Net.WebSockets.ClientWebSocket.ConnectAsyncCore(Uri uri, CancellationToken cancellationToken) - at Deepgram.Abstractions.v2.AbstractWebSocketClient.Connect(String uri, CancellationTokenSource cancelToken, Dictionary`2 headers) in /home/naomi/code/deepgram/deepgram-dotnet-sdk/Deepgram/Abstractions/v2/AbstractWebSocketClient.cs:line 117 - at Deepgram.Clients.Speak.v2.WebSocket.Client.Connect(SpeakSchema options, CancellationTokenSource cancelToken, Dictionary`2 addons, Dictionary`2 headers) in /home/naomi/code/deepgram/deepgram-dotnet-sdk/Deepgram/Clients/Speak/v2/WebSocket/Client.cs:line 61 -2024-12-19 11:47:25.124 [Verbose] SpeakWSClient.Connect: LEAVE -2024-12-19 11:48:18.873 [Verbose] AbstractWebSocketClient: ENTER -2024-12-19 11:48:18.934 [Verbose] DeepgramWsClientOptions: ENTER -2024-12-19 11:48:18.935 [Debug] DeepgramWsClientOptions: API KEY provided -2024-12-19 11:48:18.935 [Debug] DeepgramWsClientOptions: BaseAddress is null -2024-12-19 11:48:18.935 [Debug] DeepgramWsClientOptions: KeepAlive is null -2024-12-19 11:48:18.936 [Debug] DeepgramWsClientOptions: OnPrem is null -2024-12-19 11:48:18.936 [Debug] DeepgramWsClientOptions: Headers is null -2024-12-19 11:48:18.936 [Debug] DeepgramWsClientOptions: Addons is null -2024-12-19 11:48:18.938 [Information] DeepgramWsClientOptions: KeepAlive: False -2024-12-19 11:48:18.938 [Information] DeepgramWsClientOptions: OnPrem: False -2024-12-19 11:48:18.939 [Information] DeepgramWsClientOptions: APIVersion: v1 -2024-12-19 11:48:18.940 [Debug] DeepgramWsClientOptions: WS BaseAddress: api.deepgram.com -2024-12-19 11:48:18.955 [Information] DeepgramWsClientOptions: WS BaseAddress does not contain API version: api.deepgram.com -2024-12-19 11:48:18.956 [Debug] DeepgramWsClientOptions: BaseAddress: api.deepgram.com/v1 -2024-12-19 11:48:18.958 [Information] DeepgramWsClientOptions: BaseAddress does not contain protocol: api.deepgram.com/v1 -2024-12-19 11:48:18.959 [Debug] DeepgramWsClientOptions: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 11:48:18.960 [Information] DeepgramWsClientOptions: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 11:48:18.960 [Verbose] DeepgramWsClientOptions: LEAVE -2024-12-19 11:48:18.961 [Debug] AbstractWebSocketClient: APIVersion: v1 -2024-12-19 11:48:18.961 [Debug] AbstractWebSocketClient: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 11:48:18.962 [Debug] AbstractWebSocketClient: OnPrem: False -2024-12-19 11:48:18.962 [Verbose] AbstractWebSocketClient: LEAVE -2024-12-19 11:48:18.962 [Verbose] SpeakWSClient: ENTER -2024-12-19 11:48:18.963 [Debug] SpeakWSClient: Autoflush: 0 -2024-12-19 11:48:18.964 [Verbose] SpeakWSClient: LEAVE -2024-12-19 11:48:18.967 [Verbose] SpeakWSClient.Connect: ENTER -2024-12-19 11:48:19.035 [Information] Connect: options: -{ - "model": "aura-asteria-en", - "encoding": "linear16", - "sample_rate": 48000 -} -2024-12-19 11:48:19.035 [Debug] Connect: addons: -2024-12-19 11:48:19.039 [Debug] Connect: uri: wss://api.deepgram.com/v1/speak?model=aura-asteria-en&encoding=linear16&sample_rate=48000 -2024-12-19 11:48:19.041 [Verbose] AbstractWebSocketClient.Connect: ENTER -2024-12-19 11:48:19.042 [Debug] Connect: headers: -2024-12-19 11:48:19.042 [Information] Connect: Using default connect cancellation token -2024-12-19 11:48:19.044 [Debug] Connect: uri: wss://api.deepgram.com/v1/speak?model=aura-asteria-en&encoding=linear16&sample_rate=48000 -2024-12-19 11:48:19.045 [Debug] Connect: Connecting to Deepgram API... -2024-12-19 11:48:19.534 [Debug] State: WebSocket State: Open -2024-12-19 11:48:19.535 [Debug] Connect: Starting Sender Thread... -2024-12-19 11:48:19.536 [Debug] Connect: Starting Receiver Thread... -2024-12-19 11:48:19.536 [Debug] Connect: Connect Succeeded -2024-12-19 11:48:19.537 [Verbose] AbstractWebSocketClient.Connect: LEAVE -2024-12-19 11:48:19.538 [Debug] Connect: Connect Succeeded -2024-12-19 11:48:19.538 [Verbose] SpeakWSClient.Connect: LEAVE -2024-12-19 11:48:19.540 [Verbose] AbstractWebSocketClient.ProcessReceiveQueue: ENTER -2024-12-19 11:48:19.541 [Debug] State: WebSocket State: Open -2024-12-19 11:48:19.542 [Verbose] AbstractWebSocketClient.ProcessSendQueue: ENTER -2024-12-19 11:48:19.549 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:48:19.550 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:48:19.553 [Debug] State: WebSocket State: Open -2024-12-19 11:48:19.553 [Verbose] ProcessSendQueue: Reading message off queue... -2024-12-19 11:48:19.554 [Debug] ProcessDataReceived: Received WebSocketMessageType.Text -2024-12-19 11:48:19.554 [Verbose] ProcessDataReceived: raw response: {"type":"Metadata","request_id":"5c9ad493-468c-47ba-8548-78bb57a0a628","model_name":"aura-asteria-en","model_version":"2024-11-19.0","model_uuid":"ecb76e9d-f2db-4127-8060-79b05590d22f"} -2024-12-19 11:48:19.555 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 11:48:19.561 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 11:48:19.591 [Verbose] ProcessDataReceived: Type: Metadata -2024-12-19 11:48:19.617 [Debug] ProcessDataReceived: _metadataReceived has no listeners -2024-12-19 11:48:19.617 [Verbose] ProcessDataReceived: LEAVE -2024-12-19 11:48:19.617 [Debug] State: WebSocket State: Open -2024-12-19 11:48:19.618 [Information] ProcessReceiveQueue: Received WebSocket Close. Trigger cancel... -2024-12-19 11:48:19.619 [Verbose] AbstractWebSocketClient.Stop: ENTER -2024-12-19 11:48:19.619 [Information] Stop: Using default disconnect cancellation token -2024-12-19 11:48:19.720 [Debug] Stop: Closing WebSocket connection... -2024-12-19 11:48:19.729 [Debug] Stop: Disposing internal token... -2024-12-19 11:48:19.730 [Debug] Stop: Disposing WebSocket socket... -2024-12-19 11:48:19.730 [Debug] Stop: Succeeded -2024-12-19 11:48:19.730 [Verbose] AbstractWebSocketClient.Stop: LEAVE -2024-12-19 11:48:19.730 [Verbose] ProcessReceiveQueue: LEAVE -2024-12-19 11:48:45.810 [Verbose] AbstractWebSocketClient.Stop: ENTER -2024-12-19 11:48:45.810 [Information] Stop: Client has already been disposed -2024-12-19 11:48:45.810 [Verbose] AbstractWebSocketClient.Stop: LEAVE -2024-12-19 11:49:38.431 [Verbose] AbstractWebSocketClient: ENTER -2024-12-19 11:49:38.505 [Verbose] DeepgramWsClientOptions: ENTER -2024-12-19 11:49:38.506 [Debug] DeepgramWsClientOptions: API KEY provided -2024-12-19 11:49:38.506 [Debug] DeepgramWsClientOptions: BaseAddress is null -2024-12-19 11:49:38.506 [Debug] DeepgramWsClientOptions: KeepAlive is null -2024-12-19 11:49:38.506 [Debug] DeepgramWsClientOptions: OnPrem is null -2024-12-19 11:49:38.506 [Debug] DeepgramWsClientOptions: Headers is null -2024-12-19 11:49:38.507 [Debug] DeepgramWsClientOptions: Addons is null -2024-12-19 11:49:38.508 [Information] DeepgramWsClientOptions: KeepAlive: False -2024-12-19 11:49:38.508 [Information] DeepgramWsClientOptions: OnPrem: False -2024-12-19 11:49:38.509 [Information] DeepgramWsClientOptions: APIVersion: v1 -2024-12-19 11:49:38.509 [Debug] DeepgramWsClientOptions: WS BaseAddress: api.deepgram.com -2024-12-19 11:49:38.524 [Information] DeepgramWsClientOptions: WS BaseAddress does not contain API version: api.deepgram.com -2024-12-19 11:49:38.524 [Debug] DeepgramWsClientOptions: BaseAddress: api.deepgram.com/v1 -2024-12-19 11:49:38.525 [Information] DeepgramWsClientOptions: BaseAddress does not contain protocol: api.deepgram.com/v1 -2024-12-19 11:49:38.525 [Debug] DeepgramWsClientOptions: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 11:49:38.525 [Information] DeepgramWsClientOptions: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 11:49:38.525 [Verbose] DeepgramWsClientOptions: LEAVE -2024-12-19 11:49:38.525 [Debug] AbstractWebSocketClient: APIVersion: v1 -2024-12-19 11:49:38.525 [Debug] AbstractWebSocketClient: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 11:49:38.525 [Debug] AbstractWebSocketClient: OnPrem: False -2024-12-19 11:49:38.525 [Verbose] AbstractWebSocketClient: LEAVE -2024-12-19 11:49:38.525 [Verbose] SpeakWSClient: ENTER -2024-12-19 11:49:38.526 [Debug] SpeakWSClient: Autoflush: 0 -2024-12-19 11:49:38.526 [Verbose] SpeakWSClient: LEAVE -2024-12-19 11:49:38.531 [Verbose] SpeakWSClient.Connect: ENTER -2024-12-19 11:49:38.609 [Information] Connect: options: -{ - "model": "aura-asteria-en", - "encoding": "linear16", - "sample_rate": 48000 -} -2024-12-19 11:49:38.609 [Debug] Connect: addons: -2024-12-19 11:49:38.613 [Debug] Connect: uri: wss://api.deepgram.com/v1/speak?model=aura-asteria-en&encoding=linear16&sample_rate=48000 -2024-12-19 11:49:38.616 [Verbose] AbstractWebSocketClient.Connect: ENTER -2024-12-19 11:49:38.617 [Debug] Connect: headers: -2024-12-19 11:49:38.617 [Information] Connect: Using default connect cancellation token -2024-12-19 11:49:38.620 [Debug] Connect: uri: wss://api.deepgram.com/v1/speak?model=aura-asteria-en&encoding=linear16&sample_rate=48000 -2024-12-19 11:49:38.620 [Debug] Connect: Connecting to Deepgram API... -2024-12-19 11:49:39.082 [Debug] State: WebSocket State: Open -2024-12-19 11:49:39.082 [Debug] Connect: Starting Sender Thread... -2024-12-19 11:49:39.082 [Debug] Connect: Starting Receiver Thread... -2024-12-19 11:49:39.082 [Debug] Connect: Connect Succeeded -2024-12-19 11:49:39.082 [Verbose] AbstractWebSocketClient.Connect: LEAVE -2024-12-19 11:49:39.083 [Debug] Connect: Connect Succeeded -2024-12-19 11:49:39.083 [Verbose] SpeakWSClient.Connect: LEAVE -2024-12-19 11:49:39.085 [Verbose] AbstractWebSocketClient.ProcessSendQueue: ENTER -2024-12-19 11:49:39.085 [Verbose] AbstractWebSocketClient.ProcessReceiveQueue: ENTER -2024-12-19 11:49:39.085 [Debug] State: WebSocket State: Open -2024-12-19 11:49:39.090 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:49:39.090 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:49:39.092 [Debug] ProcessDataReceived: Received WebSocketMessageType.Text -2024-12-19 11:49:39.092 [Verbose] ProcessDataReceived: raw response: {"type":"Metadata","request_id":"58ca89fa-6fa0-4472-b35c-ec986f89ad3a","model_name":"aura-asteria-en","model_version":"2024-11-19.0","model_uuid":"ecb76e9d-f2db-4127-8060-79b05590d22f"} -2024-12-19 11:49:39.096 [Debug] State: WebSocket State: Open -2024-12-19 11:49:39.096 [Verbose] ProcessSendQueue: Reading message off queue... -2024-12-19 11:49:39.097 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 11:49:39.099 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 11:49:39.123 [Verbose] ProcessDataReceived: Type: Metadata -2024-12-19 11:49:39.148 [Debug] ProcessDataReceived: _metadataReceived has no listeners -2024-12-19 11:49:39.148 [Verbose] ProcessDataReceived: LEAVE -2024-12-19 11:49:39.148 [Debug] State: WebSocket State: Open -2024-12-19 11:49:39.245 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:49:39.245 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:49:39.245 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:49:39.246 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:49:39.266 [Debug] State: WebSocket State: Open -2024-12-19 11:49:39.285 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:49:39.285 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:49:39.285 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:49:39.285 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:49:39.286 [Debug] State: WebSocket State: Open -2024-12-19 11:49:39.286 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:49:39.286 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:49:39.286 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:49:39.286 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:49:39.286 [Debug] State: WebSocket State: Open -2024-12-19 11:49:39.306 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:49:39.306 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:49:39.306 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:49:39.306 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:49:39.306 [Debug] State: WebSocket State: Open -2024-12-19 11:49:39.324 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:49:39.325 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:49:39.325 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:49:39.325 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:49:39.325 [Debug] State: WebSocket State: Open -2024-12-19 11:49:39.325 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:49:39.325 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:49:39.326 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:49:39.326 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:49:39.326 [Debug] State: WebSocket State: Open -2024-12-19 11:49:39.345 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:49:39.345 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:49:39.345 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:49:39.345 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:49:39.345 [Debug] State: WebSocket State: Open -2024-12-19 11:49:39.347 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:49:39.347 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:49:39.347 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:49:39.347 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:49:39.347 [Debug] State: WebSocket State: Open -2024-12-19 11:49:39.365 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:49:39.365 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:49:39.365 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:49:39.365 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:49:39.365 [Debug] State: WebSocket State: Open -2024-12-19 11:49:39.366 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:49:39.366 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:49:39.367 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:49:39.367 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:49:39.367 [Debug] State: WebSocket State: Open -2024-12-19 11:49:39.369 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:49:39.369 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:49:39.370 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:49:39.370 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:49:39.370 [Debug] State: WebSocket State: Open -2024-12-19 11:49:39.370 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:49:39.370 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:49:39.370 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:49:39.370 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:49:39.370 [Debug] State: WebSocket State: Open -2024-12-19 11:49:39.376 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:49:39.376 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:49:39.376 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:49:39.376 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:49:39.377 [Debug] State: WebSocket State: Open -2024-12-19 11:49:39.384 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:49:39.385 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:49:39.385 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:49:39.385 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:49:39.385 [Debug] State: WebSocket State: Open -2024-12-19 11:49:39.390 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:49:39.391 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:49:39.391 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:49:39.391 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:49:39.391 [Debug] State: WebSocket State: Open -2024-12-19 11:49:39.391 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:49:39.391 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:49:39.391 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:49:39.391 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:49:39.391 [Debug] State: WebSocket State: Open -2024-12-19 11:49:39.392 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:49:39.392 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:49:39.392 [Debug] ProcessDataReceived: Received WebSocketMessageType.Text -2024-12-19 11:49:39.392 [Verbose] ProcessDataReceived: raw response: {"type":"Flushed","sequence_id":0} -2024-12-19 11:49:39.393 [Verbose] ProcessDataReceived: Type: Flushed -2024-12-19 11:49:39.395 [Debug] ProcessDataReceived: _flushedReceived has no listeners -2024-12-19 11:49:39.395 [Verbose] ProcessDataReceived: LEAVE -2024-12-19 11:49:39.395 [Debug] State: WebSocket State: Open -2024-12-19 11:50:22.366 [Verbose] AbstractWebSocketClient: ENTER -2024-12-19 11:50:22.418 [Verbose] DeepgramWsClientOptions: ENTER -2024-12-19 11:50:22.418 [Debug] DeepgramWsClientOptions: API KEY provided -2024-12-19 11:50:22.419 [Debug] DeepgramWsClientOptions: BaseAddress is null -2024-12-19 11:50:22.419 [Debug] DeepgramWsClientOptions: KeepAlive is null -2024-12-19 11:50:22.419 [Debug] DeepgramWsClientOptions: OnPrem is null -2024-12-19 11:50:22.419 [Debug] DeepgramWsClientOptions: Headers is null -2024-12-19 11:50:22.419 [Debug] DeepgramWsClientOptions: Addons is null -2024-12-19 11:50:22.420 [Information] DeepgramWsClientOptions: KeepAlive: False -2024-12-19 11:50:22.420 [Information] DeepgramWsClientOptions: OnPrem: False -2024-12-19 11:50:22.421 [Information] DeepgramWsClientOptions: APIVersion: v1 -2024-12-19 11:50:22.421 [Debug] DeepgramWsClientOptions: WS BaseAddress: api.deepgram.com -2024-12-19 11:50:22.433 [Information] DeepgramWsClientOptions: WS BaseAddress does not contain API version: api.deepgram.com -2024-12-19 11:50:22.433 [Debug] DeepgramWsClientOptions: BaseAddress: api.deepgram.com/v1 -2024-12-19 11:50:22.434 [Information] DeepgramWsClientOptions: BaseAddress does not contain protocol: api.deepgram.com/v1 -2024-12-19 11:50:22.434 [Debug] DeepgramWsClientOptions: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 11:50:22.434 [Information] DeepgramWsClientOptions: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 11:50:22.434 [Verbose] DeepgramWsClientOptions: LEAVE -2024-12-19 11:50:22.434 [Debug] AbstractWebSocketClient: APIVersion: v1 -2024-12-19 11:50:22.434 [Debug] AbstractWebSocketClient: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 11:50:22.434 [Debug] AbstractWebSocketClient: OnPrem: False -2024-12-19 11:50:22.434 [Verbose] AbstractWebSocketClient: LEAVE -2024-12-19 11:50:22.434 [Verbose] SpeakWSClient: ENTER -2024-12-19 11:50:22.435 [Debug] SpeakWSClient: Autoflush: 0 -2024-12-19 11:50:22.435 [Verbose] SpeakWSClient: LEAVE -2024-12-19 11:50:22.438 [Verbose] SpeakWSClient.Connect: ENTER -2024-12-19 11:50:22.500 [Information] Connect: options: -{ - "model": "aura-asteria-en", - "encoding": "linear16", - "sample_rate": 48000 -} -2024-12-19 11:50:22.500 [Debug] Connect: addons: -2024-12-19 11:50:22.504 [Debug] Connect: uri: wss://api.deepgram.com/v1/speak?model=aura-asteria-en&encoding=linear16&sample_rate=48000 -2024-12-19 11:50:22.506 [Verbose] AbstractWebSocketClient.Connect: ENTER -2024-12-19 11:50:22.506 [Debug] Connect: headers: -2024-12-19 11:50:22.506 [Information] Connect: Using default connect cancellation token -2024-12-19 11:50:22.508 [Debug] Connect: uri: wss://api.deepgram.com/v1/speak?model=aura-asteria-en&encoding=linear16&sample_rate=48000 -2024-12-19 11:50:22.508 [Debug] Connect: Connecting to Deepgram API... -2024-12-19 11:50:22.906 [Debug] State: WebSocket State: Open -2024-12-19 11:50:22.907 [Debug] Connect: Starting Sender Thread... -2024-12-19 11:50:22.907 [Debug] Connect: Starting Receiver Thread... -2024-12-19 11:50:22.907 [Debug] Connect: Connect Succeeded -2024-12-19 11:50:22.907 [Verbose] AbstractWebSocketClient.Connect: LEAVE -2024-12-19 11:50:22.908 [Debug] Connect: Connect Succeeded -2024-12-19 11:50:22.908 [Verbose] SpeakWSClient.Connect: LEAVE -2024-12-19 11:50:22.909 [Verbose] AbstractWebSocketClient.ProcessSendQueue: ENTER -2024-12-19 11:50:22.909 [Verbose] AbstractWebSocketClient.ProcessReceiveQueue: ENTER -2024-12-19 11:50:22.909 [Debug] State: WebSocket State: Open -2024-12-19 11:50:22.911 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:50:22.912 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:50:22.913 [Debug] ProcessDataReceived: Received WebSocketMessageType.Text -2024-12-19 11:50:22.913 [Verbose] ProcessDataReceived: raw response: {"type":"Metadata","request_id":"48eeda8c-2d4c-4854-8c5c-d61ca171c444","model_name":"aura-asteria-en","model_version":"2024-11-19.0","model_uuid":"ecb76e9d-f2db-4127-8060-79b05590d22f"} -2024-12-19 11:50:22.918 [Debug] State: WebSocket State: Open -2024-12-19 11:50:22.918 [Verbose] ProcessSendQueue: Reading message off queue... -2024-12-19 11:50:22.919 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 11:50:22.921 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 11:50:22.943 [Verbose] ProcessDataReceived: Type: Metadata -2024-12-19 11:50:22.969 [Debug] ProcessDataReceived: _metadataReceived has no listeners -2024-12-19 11:50:22.969 [Verbose] ProcessDataReceived: LEAVE -2024-12-19 11:50:22.969 [Debug] State: WebSocket State: Open -2024-12-19 11:50:23.047 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:50:23.047 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:50:23.047 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:50:23.048 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:50:23.053 [Debug] State: WebSocket State: Open -2024-12-19 11:50:23.077 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:50:23.077 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:50:23.077 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:50:23.077 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:50:23.078 [Debug] State: WebSocket State: Open -2024-12-19 11:50:23.078 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:50:23.078 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:50:23.078 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:50:23.078 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:50:23.079 [Debug] State: WebSocket State: Open -2024-12-19 11:50:23.096 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:50:23.096 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:50:23.097 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:50:23.097 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:50:23.097 [Debug] State: WebSocket State: Open -2024-12-19 11:50:23.114 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:50:23.115 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:50:23.115 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:50:23.115 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:50:23.115 [Debug] State: WebSocket State: Open -2024-12-19 11:50:23.115 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:50:23.115 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:50:23.115 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:50:23.115 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:50:23.116 [Debug] State: WebSocket State: Open -2024-12-19 11:50:23.126 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:50:23.127 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:50:23.127 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:50:23.127 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:50:23.127 [Debug] State: WebSocket State: Open -2024-12-19 11:50:23.132 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:50:23.132 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:50:23.133 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:50:23.133 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:50:23.133 [Debug] State: WebSocket State: Open -2024-12-19 11:50:23.141 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:50:23.142 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:50:23.142 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:50:23.142 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:50:23.142 [Debug] State: WebSocket State: Open -2024-12-19 11:50:23.151 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:50:23.152 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:50:23.152 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:50:23.152 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:50:23.152 [Debug] State: WebSocket State: Open -2024-12-19 11:50:23.159 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:50:23.159 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:50:23.160 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:50:23.160 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:50:23.160 [Debug] State: WebSocket State: Open -2024-12-19 11:50:23.161 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:50:23.161 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:50:23.161 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:50:23.161 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:50:23.161 [Debug] State: WebSocket State: Open -2024-12-19 11:50:23.161 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:50:23.161 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:50:23.161 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:50:23.161 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:50:23.162 [Debug] State: WebSocket State: Open -2024-12-19 11:50:23.165 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:50:23.165 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:50:23.165 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:50:23.165 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:50:23.166 [Debug] State: WebSocket State: Open -2024-12-19 11:50:23.169 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:50:23.170 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:50:23.170 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:50:23.170 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:50:23.170 [Debug] State: WebSocket State: Open -2024-12-19 11:50:23.172 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:50:23.172 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:50:23.172 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:50:23.172 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:50:23.173 [Debug] State: WebSocket State: Open -2024-12-19 11:50:23.173 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:50:23.174 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:50:23.174 [Debug] ProcessDataReceived: Received WebSocketMessageType.Text -2024-12-19 11:50:23.174 [Verbose] ProcessDataReceived: raw response: {"type":"Flushed","sequence_id":0} -2024-12-19 11:50:23.176 [Verbose] ProcessDataReceived: Type: Flushed -2024-12-19 11:50:23.179 [Debug] ProcessDataReceived: _flushedReceived has no listeners -2024-12-19 11:50:23.179 [Verbose] ProcessDataReceived: LEAVE -2024-12-19 11:50:23.179 [Debug] State: WebSocket State: Open -2024-12-19 11:51:06.050 [Verbose] AbstractWebSocketClient: ENTER -2024-12-19 11:51:06.105 [Verbose] DeepgramWsClientOptions: ENTER -2024-12-19 11:51:06.105 [Debug] DeepgramWsClientOptions: API KEY provided -2024-12-19 11:51:06.106 [Debug] DeepgramWsClientOptions: BaseAddress is null -2024-12-19 11:51:06.106 [Debug] DeepgramWsClientOptions: KeepAlive is null -2024-12-19 11:51:06.106 [Debug] DeepgramWsClientOptions: OnPrem is null -2024-12-19 11:51:06.106 [Debug] DeepgramWsClientOptions: Headers is null -2024-12-19 11:51:06.106 [Debug] DeepgramWsClientOptions: Addons is null -2024-12-19 11:51:06.107 [Information] DeepgramWsClientOptions: KeepAlive: False -2024-12-19 11:51:06.108 [Information] DeepgramWsClientOptions: OnPrem: False -2024-12-19 11:51:06.108 [Information] DeepgramWsClientOptions: APIVersion: v1 -2024-12-19 11:51:06.108 [Debug] DeepgramWsClientOptions: WS BaseAddress: api.deepgram.com -2024-12-19 11:51:06.121 [Information] DeepgramWsClientOptions: WS BaseAddress does not contain API version: api.deepgram.com -2024-12-19 11:51:06.121 [Debug] DeepgramWsClientOptions: BaseAddress: api.deepgram.com/v1 -2024-12-19 11:51:06.122 [Information] DeepgramWsClientOptions: BaseAddress does not contain protocol: api.deepgram.com/v1 -2024-12-19 11:51:06.122 [Debug] DeepgramWsClientOptions: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 11:51:06.122 [Information] DeepgramWsClientOptions: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 11:51:06.122 [Verbose] DeepgramWsClientOptions: LEAVE -2024-12-19 11:51:06.123 [Debug] AbstractWebSocketClient: APIVersion: v1 -2024-12-19 11:51:06.123 [Debug] AbstractWebSocketClient: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 11:51:06.123 [Debug] AbstractWebSocketClient: OnPrem: False -2024-12-19 11:51:06.123 [Verbose] AbstractWebSocketClient: LEAVE -2024-12-19 11:51:06.123 [Verbose] SpeakWSClient: ENTER -2024-12-19 11:51:06.124 [Debug] SpeakWSClient: Autoflush: 0 -2024-12-19 11:51:06.124 [Verbose] SpeakWSClient: LEAVE -2024-12-19 11:51:06.127 [Verbose] SpeakWSClient.Connect: ENTER -2024-12-19 11:51:06.195 [Information] Connect: options: -{ - "model": "aura-asteria-en", - "encoding": "linear16", - "sample_rate": 48000 -} -2024-12-19 11:51:06.195 [Debug] Connect: addons: -2024-12-19 11:51:06.198 [Debug] Connect: uri: wss://api.deepgram.com/v1/speak?model=aura-asteria-en&encoding=linear16&sample_rate=48000 -2024-12-19 11:51:06.201 [Verbose] AbstractWebSocketClient.Connect: ENTER -2024-12-19 11:51:06.201 [Debug] Connect: headers: -2024-12-19 11:51:06.201 [Information] Connect: Using default connect cancellation token -2024-12-19 11:51:06.204 [Debug] Connect: uri: wss://api.deepgram.com/v1/speak?model=aura-asteria-en&encoding=linear16&sample_rate=48000 -2024-12-19 11:51:06.204 [Debug] Connect: Connecting to Deepgram API... -2024-12-19 11:51:06.737 [Debug] State: WebSocket State: Open -2024-12-19 11:51:06.737 [Debug] Connect: Starting Sender Thread... -2024-12-19 11:51:06.737 [Debug] Connect: Starting Receiver Thread... -2024-12-19 11:51:06.737 [Debug] Connect: Connect Succeeded -2024-12-19 11:51:06.737 [Verbose] AbstractWebSocketClient.Connect: LEAVE -2024-12-19 11:51:06.738 [Debug] Connect: Connect Succeeded -2024-12-19 11:51:06.738 [Verbose] SpeakWSClient.Connect: LEAVE -2024-12-19 11:51:06.739 [Verbose] AbstractWebSocketClient.ProcessSendQueue: ENTER -2024-12-19 11:51:06.740 [Verbose] AbstractWebSocketClient.ProcessReceiveQueue: ENTER -2024-12-19 11:51:06.740 [Debug] State: WebSocket State: Open -2024-12-19 11:51:06.744 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:51:06.744 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:51:06.745 [Debug] ProcessDataReceived: Received WebSocketMessageType.Text -2024-12-19 11:51:06.746 [Verbose] ProcessDataReceived: raw response: {"type":"Metadata","request_id":"0770b4f7-b1f7-4155-8454-0480eaa94b53","model_name":"aura-asteria-en","model_version":"2024-11-19.0","model_uuid":"ecb76e9d-f2db-4127-8060-79b05590d22f"} -2024-12-19 11:51:06.750 [Debug] State: WebSocket State: Open -2024-12-19 11:51:06.750 [Verbose] ProcessSendQueue: Reading message off queue... -2024-12-19 11:51:06.751 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 11:51:06.753 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 11:51:06.753 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 11:51:06.753 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 11:51:06.753 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 11:51:06.753 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 11:51:06.778 [Verbose] ProcessDataReceived: Type: Metadata -2024-12-19 11:51:06.806 [Debug] ProcessDataReceived: _metadataReceived has no listeners -2024-12-19 11:51:06.806 [Verbose] ProcessDataReceived: LEAVE -2024-12-19 11:51:06.806 [Debug] State: WebSocket State: Open -2024-12-19 11:51:06.842 [Information] ProcessReceiveQueue: Received WebSocket Close. Trigger cancel... -2024-12-19 11:51:06.843 [Verbose] AbstractWebSocketClient.Stop: ENTER -2024-12-19 11:51:06.844 [Information] Stop: Using default disconnect cancellation token -2024-12-19 11:51:06.944 [Debug] Stop: Closing WebSocket connection... -2024-12-19 11:51:06.980 [Error] Stop: System.Net.WebSockets.WebSocketException thrown The remote party closed the WebSocket connection without completing the close handshake. -2024-12-19 11:51:06.981 [Verbose] Stop: Exception: System.Net.WebSockets.WebSocketException (2): The remote party closed the WebSocket connection without completing the close handshake. ---> System.IO.IOException: Unable to write data to the transport connection: Broken pipe. - ---> System.Net.Sockets.SocketException (32): Broken pipe - at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.CreateException(SocketError error, Boolean forAsyncThrow) - at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.SendAsyncForNetworkStream(Socket socket, CancellationToken cancellationToken) - at System.Net.Sockets.Socket.SendAsyncForNetworkStream(ReadOnlyMemory`1 buffer, SocketFlags socketFlags, CancellationToken cancellationToken) - at System.Net.Sockets.NetworkStream.WriteAsync(ReadOnlyMemory`1 buffer, CancellationToken cancellationToken) - at System.Net.Security.SslStream.WriteSingleChunk[TIOAdapter](TIOAdapter writeAdapter, ReadOnlyMemory`1 buffer) - at System.Net.Security.SslStream.WriteAsyncInternal[TIOAdapter](TIOAdapter writeAdapter, ReadOnlyMemory`1 buffer) - at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) - at System.Net.Security.SslStream.WriteAsyncInternal[TIOAdapter](TIOAdapter writeAdapter, ReadOnlyMemory`1 buffer) - at System.Net.Security.SslStream.WriteAsync(ReadOnlyMemory`1 buffer, CancellationToken cancellationToken) - at System.Net.Http.HttpConnection.WriteToStreamAsync(ReadOnlyMemory`1 source, Boolean async) - at System.Net.Http.HttpConnection.WriteWithoutBufferingAsync(ReadOnlyMemory`1 source, Boolean async) - at System.Net.Http.HttpConnection.RawConnectionStream.WriteAsync(ReadOnlyMemory`1 buffer, CancellationToken cancellationToken) - at System.Net.WebSockets.ManagedWebSocket.SendFrameFallbackAsync(MessageOpcode opcode, Boolean endOfMessage, Boolean disableCompression, ReadOnlyMemory`1 payloadBuffer, Task lockTask, CancellationToken cancellationToken) - at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) - at System.Net.WebSockets.ManagedWebSocket.SendFrameFallbackAsync(MessageOpcode opcode, Boolean endOfMessage, Boolean disableCompression, ReadOnlyMemory`1 payloadBuffer, Task lockTask, CancellationToken cancellationToken) - at System.Net.WebSockets.ManagedWebSocket.SendFrameAsync(MessageOpcode opcode, Boolean endOfMessage, Boolean disableCompression, ReadOnlyMemory`1 payloadBuffer, CancellationToken cancellationToken) - at System.Net.WebSockets.ManagedWebSocket.SendCloseFrameAsync(WebSocketCloseStatus closeStatus, String closeStatusDescription, CancellationToken cancellationToken) - at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) - at System.Net.WebSockets.ManagedWebSocket.SendCloseFrameAsync(WebSocketCloseStatus closeStatus, String closeStatusDescription, CancellationToken cancellationToken) - at System.Net.WebSockets.ManagedWebSocket.CloseOutputAsyncCore(WebSocketCloseStatus closeStatus, String statusDescription, CancellationToken cancellationToken) - at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) - at System.Net.WebSockets.ManagedWebSocket.CloseOutputAsyncCore(WebSocketCloseStatus closeStatus, String statusDescription, CancellationToken cancellationToken) - at System.Net.WebSockets.ManagedWebSocket.CloseOutputAsync(WebSocketCloseStatus closeStatus, String statusDescription, CancellationToken cancellationToken) - at System.Net.WebSockets.ClientWebSocket.CloseOutputAsync(WebSocketCloseStatus closeStatus, String statusDescription, CancellationToken cancellationToken) - at Deepgram.Abstractions.v2.AbstractWebSocketClient.Stop(CancellationTokenSource cancelToken, Boolean nullByte) in /home/naomi/code/deepgram/deepgram-dotnet-sdk/Deepgram/Abstractions/v2/AbstractWebSocketClient.cs:line 635 - at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.ExecutionContextCallback(Object s) - at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) - at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread) - at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext() - at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining) - at System.Threading.Tasks.Task.RunContinuations(Object continuationObject) - at System.Threading.Tasks.Task.FinishContinuations() - at System.Threading.Tasks.Task.TrySetResult() - at System.Threading.Tasks.Task.DelayPromise.CompleteTimedOut() - at System.Threading.Tasks.Task.DelayPromise.TimerCallback(Object state) - at System.Threading.TimerQueueTimer.CallCallback(Boolean isThreadPool) - at System.Threading.TimerQueueTimer.Fire(Boolean isThreadPool) - at System.Threading.TimerQueue.FireNextTimers() - at System.Threading.TimerQueue.AppDomainTimerCallback(Int32 id) - at System.Threading.UnmanagedThreadPoolWorkItem.System.Threading.IThreadPoolWorkItem.Execute() - at System.Threading.ThreadPoolWorkQueue.Dispatch() - at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart() - at System.Threading.Thread.StartCallback() ---- End of stack trace from previous location --- - - --- End of inner exception stack trace --- - at System.Net.Security.SslStream.g__CompleteWriteAsync|182_1[TIOAdapter](ValueTask writeTask, Byte[] bufferToReturn) - at System.Net.Security.SslStream.WriteAsyncInternal[TIOAdapter](TIOAdapter writeAdapter, ReadOnlyMemory`1 buffer) - at System.Net.WebSockets.ManagedWebSocket.SendFrameFallbackAsync(MessageOpcode opcode, Boolean endOfMessage, Boolean disableCompression, ReadOnlyMemory`1 payloadBuffer, Task lockTask, CancellationToken cancellationToken) - at System.Net.WebSockets.ManagedWebSocket.SendFrameFallbackAsync(MessageOpcode opcode, Boolean endOfMessage, Boolean disableCompression, ReadOnlyMemory`1 payloadBuffer, Task lockTask, CancellationToken cancellationToken) - at System.Net.WebSockets.ManagedWebSocket.SendCloseFrameAsync(WebSocketCloseStatus closeStatus, String closeStatusDescription, CancellationToken cancellationToken) - at System.Net.WebSockets.ManagedWebSocket.CloseOutputAsyncCore(WebSocketCloseStatus closeStatus, String statusDescription, CancellationToken cancellationToken) - at Deepgram.Abstractions.v2.AbstractWebSocketClient.Stop(CancellationTokenSource cancelToken, Boolean nullByte) in /home/naomi/code/deepgram/deepgram-dotnet-sdk/Deepgram/Abstractions/v2/AbstractWebSocketClient.cs:line 635 -2024-12-19 11:51:06.981 [Verbose] AbstractWebSocketClient.Stop: LEAVE -2024-12-19 11:51:06.981 [Error] ProcessReceiveQueue: System.Net.WebSockets.WebSocketException thrown The remote party closed the WebSocket connection without completing the close handshake. -2024-12-19 11:51:06.982 [Verbose] ProcessReceiveQueue: Exception: System.Net.WebSockets.WebSocketException (2): The remote party closed the WebSocket connection without completing the close handshake. ---> System.IO.IOException: Unable to write data to the transport connection: Broken pipe. - ---> System.Net.Sockets.SocketException (32): Broken pipe - at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.CreateException(SocketError error, Boolean forAsyncThrow) - at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.SendAsyncForNetworkStream(Socket socket, CancellationToken cancellationToken) - at System.Net.Sockets.Socket.SendAsyncForNetworkStream(ReadOnlyMemory`1 buffer, SocketFlags socketFlags, CancellationToken cancellationToken) - at System.Net.Sockets.NetworkStream.WriteAsync(ReadOnlyMemory`1 buffer, CancellationToken cancellationToken) - at System.Net.Security.SslStream.WriteSingleChunk[TIOAdapter](TIOAdapter writeAdapter, ReadOnlyMemory`1 buffer) - at System.Net.Security.SslStream.WriteAsyncInternal[TIOAdapter](TIOAdapter writeAdapter, ReadOnlyMemory`1 buffer) - at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) - at System.Net.Security.SslStream.WriteAsyncInternal[TIOAdapter](TIOAdapter writeAdapter, ReadOnlyMemory`1 buffer) - at System.Net.Security.SslStream.WriteAsync(ReadOnlyMemory`1 buffer, CancellationToken cancellationToken) - at System.Net.Http.HttpConnection.WriteToStreamAsync(ReadOnlyMemory`1 source, Boolean async) - at System.Net.Http.HttpConnection.WriteWithoutBufferingAsync(ReadOnlyMemory`1 source, Boolean async) - at System.Net.Http.HttpConnection.RawConnectionStream.WriteAsync(ReadOnlyMemory`1 buffer, CancellationToken cancellationToken) - at System.Net.WebSockets.ManagedWebSocket.SendFrameFallbackAsync(MessageOpcode opcode, Boolean endOfMessage, Boolean disableCompression, ReadOnlyMemory`1 payloadBuffer, Task lockTask, CancellationToken cancellationToken) - at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) - at System.Net.WebSockets.ManagedWebSocket.SendFrameFallbackAsync(MessageOpcode opcode, Boolean endOfMessage, Boolean disableCompression, ReadOnlyMemory`1 payloadBuffer, Task lockTask, CancellationToken cancellationToken) - at System.Net.WebSockets.ManagedWebSocket.SendFrameAsync(MessageOpcode opcode, Boolean endOfMessage, Boolean disableCompression, ReadOnlyMemory`1 payloadBuffer, CancellationToken cancellationToken) - at System.Net.WebSockets.ManagedWebSocket.SendCloseFrameAsync(WebSocketCloseStatus closeStatus, String closeStatusDescription, CancellationToken cancellationToken) - at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) - at System.Net.WebSockets.ManagedWebSocket.SendCloseFrameAsync(WebSocketCloseStatus closeStatus, String closeStatusDescription, CancellationToken cancellationToken) - at System.Net.WebSockets.ManagedWebSocket.CloseOutputAsyncCore(WebSocketCloseStatus closeStatus, String statusDescription, CancellationToken cancellationToken) - at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) - at System.Net.WebSockets.ManagedWebSocket.CloseOutputAsyncCore(WebSocketCloseStatus closeStatus, String statusDescription, CancellationToken cancellationToken) - at System.Net.WebSockets.ManagedWebSocket.CloseOutputAsync(WebSocketCloseStatus closeStatus, String statusDescription, CancellationToken cancellationToken) - at System.Net.WebSockets.ClientWebSocket.CloseOutputAsync(WebSocketCloseStatus closeStatus, String statusDescription, CancellationToken cancellationToken) - at Deepgram.Abstractions.v2.AbstractWebSocketClient.Stop(CancellationTokenSource cancelToken, Boolean nullByte) in /home/naomi/code/deepgram/deepgram-dotnet-sdk/Deepgram/Abstractions/v2/AbstractWebSocketClient.cs:line 635 - at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.ExecutionContextCallback(Object s) - at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) - at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread) - at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext() - at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining) - at System.Threading.Tasks.Task.RunContinuations(Object continuationObject) - at System.Threading.Tasks.Task.FinishContinuations() - at System.Threading.Tasks.Task.TrySetResult() - at System.Threading.Tasks.Task.DelayPromise.CompleteTimedOut() - at System.Threading.Tasks.Task.DelayPromise.TimerCallback(Object state) - at System.Threading.TimerQueueTimer.CallCallback(Boolean isThreadPool) - at System.Threading.TimerQueueTimer.Fire(Boolean isThreadPool) - at System.Threading.TimerQueue.FireNextTimers() - at System.Threading.TimerQueue.AppDomainTimerCallback(Int32 id) - at System.Threading.UnmanagedThreadPoolWorkItem.System.Threading.IThreadPoolWorkItem.Execute() - at System.Threading.ThreadPoolWorkQueue.Dispatch() - at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart() - at System.Threading.Thread.StartCallback() ---- End of stack trace from previous location --- - - --- End of inner exception stack trace --- - at System.Net.Security.SslStream.g__CompleteWriteAsync|182_1[TIOAdapter](ValueTask writeTask, Byte[] bufferToReturn) - at System.Net.Security.SslStream.WriteAsyncInternal[TIOAdapter](TIOAdapter writeAdapter, ReadOnlyMemory`1 buffer) - at System.Net.WebSockets.ManagedWebSocket.SendFrameFallbackAsync(MessageOpcode opcode, Boolean endOfMessage, Boolean disableCompression, ReadOnlyMemory`1 payloadBuffer, Task lockTask, CancellationToken cancellationToken) - at System.Net.WebSockets.ManagedWebSocket.SendFrameFallbackAsync(MessageOpcode opcode, Boolean endOfMessage, Boolean disableCompression, ReadOnlyMemory`1 payloadBuffer, Task lockTask, CancellationToken cancellationToken) - at System.Net.WebSockets.ManagedWebSocket.SendCloseFrameAsync(WebSocketCloseStatus closeStatus, String closeStatusDescription, CancellationToken cancellationToken) - at System.Net.WebSockets.ManagedWebSocket.CloseOutputAsyncCore(WebSocketCloseStatus closeStatus, String statusDescription, CancellationToken cancellationToken) - at Deepgram.Abstractions.v2.AbstractWebSocketClient.Stop(CancellationTokenSource cancelToken, Boolean nullByte) in /home/naomi/code/deepgram/deepgram-dotnet-sdk/Deepgram/Abstractions/v2/AbstractWebSocketClient.cs:line 635 - at Deepgram.Abstractions.v2.AbstractWebSocketClient.ProcessReceiveQueue() in /home/naomi/code/deepgram/deepgram-dotnet-sdk/Deepgram/Abstractions/v2/AbstractWebSocketClient.cs:line 453 -2024-12-19 11:51:06.982 [Verbose] AbstractWebSocketClient.ProcessReceiveQueue: LEAVE -2024-12-19 11:54:24.443 [Verbose] AbstractWebSocketClient: ENTER -2024-12-19 11:54:24.496 [Verbose] DeepgramWsClientOptions: ENTER -2024-12-19 11:54:24.496 [Debug] DeepgramWsClientOptions: API KEY provided -2024-12-19 11:54:24.496 [Debug] DeepgramWsClientOptions: BaseAddress is null -2024-12-19 11:54:24.496 [Debug] DeepgramWsClientOptions: KeepAlive is null -2024-12-19 11:54:24.496 [Debug] DeepgramWsClientOptions: OnPrem is null -2024-12-19 11:54:24.496 [Debug] DeepgramWsClientOptions: Headers is null -2024-12-19 11:54:24.496 [Debug] DeepgramWsClientOptions: Addons is null -2024-12-19 11:54:24.498 [Information] DeepgramWsClientOptions: KeepAlive: False -2024-12-19 11:54:24.498 [Information] DeepgramWsClientOptions: OnPrem: False -2024-12-19 11:54:24.498 [Information] DeepgramWsClientOptions: APIVersion: v1 -2024-12-19 11:54:24.498 [Debug] DeepgramWsClientOptions: WS BaseAddress: api.deepgram.com -2024-12-19 11:54:24.514 [Information] DeepgramWsClientOptions: WS BaseAddress does not contain API version: api.deepgram.com -2024-12-19 11:54:24.514 [Debug] DeepgramWsClientOptions: BaseAddress: api.deepgram.com/v1 -2024-12-19 11:54:24.514 [Information] DeepgramWsClientOptions: BaseAddress does not contain protocol: api.deepgram.com/v1 -2024-12-19 11:54:24.515 [Debug] DeepgramWsClientOptions: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 11:54:24.515 [Information] DeepgramWsClientOptions: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 11:54:24.515 [Verbose] DeepgramWsClientOptions: LEAVE -2024-12-19 11:54:24.515 [Debug] AbstractWebSocketClient: APIVersion: v1 -2024-12-19 11:54:24.515 [Debug] AbstractWebSocketClient: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 11:54:24.515 [Debug] AbstractWebSocketClient: OnPrem: False -2024-12-19 11:54:24.515 [Verbose] AbstractWebSocketClient: LEAVE -2024-12-19 11:54:24.515 [Verbose] SpeakWSClient: ENTER -2024-12-19 11:54:24.516 [Debug] SpeakWSClient: Autoflush: 0 -2024-12-19 11:54:24.516 [Verbose] SpeakWSClient: LEAVE -2024-12-19 11:54:24.519 [Verbose] SpeakWSClient.Connect: ENTER -2024-12-19 11:54:24.587 [Information] Connect: options: -{ - "model": "aura-asteria-en", - "encoding": "linear16", - "sample_rate": 48000 -} -2024-12-19 11:54:24.587 [Debug] Connect: addons: -2024-12-19 11:54:24.590 [Debug] Connect: uri: wss://api.deepgram.com/v1/speak?model=aura-asteria-en&encoding=linear16&sample_rate=48000 -2024-12-19 11:54:24.593 [Verbose] AbstractWebSocketClient.Connect: ENTER -2024-12-19 11:54:24.593 [Debug] Connect: headers: -2024-12-19 11:54:24.594 [Information] Connect: Using default connect cancellation token -2024-12-19 11:54:24.596 [Debug] Connect: uri: wss://api.deepgram.com/v1/speak?model=aura-asteria-en&encoding=linear16&sample_rate=48000 -2024-12-19 11:54:24.596 [Debug] Connect: Connecting to Deepgram API... -2024-12-19 11:54:24.999 [Debug] State: WebSocket State: Open -2024-12-19 11:54:24.999 [Debug] Connect: Starting Sender Thread... -2024-12-19 11:54:24.999 [Debug] Connect: Starting Receiver Thread... -2024-12-19 11:54:24.999 [Debug] Connect: Connect Succeeded -2024-12-19 11:54:24.999 [Verbose] AbstractWebSocketClient.Connect: LEAVE -2024-12-19 11:54:25.000 [Debug] Connect: Connect Succeeded -2024-12-19 11:54:25.000 [Verbose] SpeakWSClient.Connect: LEAVE -2024-12-19 11:54:25.003 [Verbose] AbstractWebSocketClient.ProcessSendQueue: ENTER -2024-12-19 11:54:25.003 [Verbose] AbstractWebSocketClient.ProcessReceiveQueue: ENTER -2024-12-19 11:54:25.004 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.007 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.008 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.010 [Debug] ProcessDataReceived: Received WebSocketMessageType.Text -2024-12-19 11:54:25.010 [Verbose] ProcessDataReceived: raw response: {"type":"Metadata","request_id":"d8919e68-627b-4247-88f6-6767c8554599","model_name":"aura-asteria-en","model_version":"2024-11-19.0","model_uuid":"ecb76e9d-f2db-4127-8060-79b05590d22f"} -2024-12-19 11:54:25.013 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.014 [Verbose] ProcessSendQueue: Reading message off queue... -2024-12-19 11:54:25.015 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 11:54:25.018 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 11:54:25.018 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 11:54:25.018 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 11:54:25.018 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 11:54:25.018 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 11:54:25.048 [Verbose] ProcessDataReceived: Type: Metadata -2024-12-19 11:54:25.077 [Debug] ProcessDataReceived: _metadataReceived has no listeners -2024-12-19 11:54:25.077 [Verbose] ProcessDataReceived: LEAVE -2024-12-19 11:54:25.077 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.158 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.159 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.159 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.160 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.166 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.192 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.192 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.192 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.192 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.193 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.193 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.193 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.193 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.193 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.193 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.205 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.205 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.205 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.205 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.206 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.228 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.228 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.229 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.229 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.229 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.229 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.229 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.230 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.230 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.230 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.245 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.245 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.245 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.245 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.246 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.255 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.255 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.255 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.256 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.258 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.280 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.280 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.280 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.280 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.281 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.281 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.281 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.281 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.281 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.282 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.288 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.288 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.288 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.288 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.289 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.289 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.289 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.290 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.290 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.290 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.303 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.303 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.303 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.303 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.304 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.304 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.304 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.304 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.304 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.304 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.306 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.307 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.307 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.307 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.307 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.317 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.317 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.317 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.317 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.317 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.318 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.318 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.318 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.318 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.318 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.345 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.345 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.345 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.345 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.345 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.346 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.346 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.346 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.346 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.346 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.346 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.346 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.346 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.346 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.347 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.347 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.347 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.347 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.347 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.347 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.347 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.347 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.347 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.347 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.348 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.351 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.351 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.351 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.351 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.351 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.352 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.352 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.352 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.352 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.353 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.353 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.353 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.353 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.354 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.354 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.356 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.356 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.356 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.356 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.357 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.359 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.360 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.360 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.360 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.362 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.362 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.362 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.362 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.362 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.363 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.371 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.371 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.371 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.372 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.372 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.372 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.372 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.372 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.372 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.372 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.373 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.373 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.373 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.373 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.373 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.373 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.373 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.373 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.373 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.373 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.389 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.390 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.390 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.390 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.391 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.391 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.391 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.391 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.391 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.391 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.403 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.403 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.403 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.403 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.404 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.404 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.404 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.404 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.404 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.404 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.404 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.405 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.405 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.405 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.405 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.405 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.406 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.406 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.406 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.406 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.406 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.407 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.407 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.407 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.407 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.411 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.411 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.412 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.412 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.412 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.413 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.413 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.413 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.413 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.413 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.414 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.414 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.414 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.414 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.414 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.414 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.414 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.414 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.414 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.414 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.414 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.415 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.415 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.415 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.415 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.415 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.415 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.415 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.416 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.417 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.417 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.417 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.417 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.417 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.418 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.418 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.418 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.418 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.418 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.418 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.418 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.419 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.419 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.419 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.419 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.419 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.419 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.419 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.419 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.419 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.419 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.420 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.420 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.420 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.420 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.420 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.420 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.420 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.420 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.420 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.421 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.421 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.421 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.421 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.422 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.422 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.422 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.422 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.423 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.423 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.423 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.423 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.423 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.423 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.423 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.423 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.423 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.423 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.424 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.424 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.424 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.424 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.424 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.424 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.424 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.425 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.425 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.425 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.425 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.425 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.425 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.425 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.425 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.426 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.426 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.426 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.426 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.426 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.426 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.427 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.427 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.427 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.427 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.427 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.428 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.428 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.429 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.429 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.429 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.429 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.429 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.430 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.430 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.430 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.430 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.430 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.430 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.430 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.430 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.431 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.431 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.431 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.431 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.431 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.431 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.432 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.432 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.432 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.432 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.432 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.433 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.433 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.433 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.433 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.433 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.433 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.433 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.433 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.433 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.434 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.434 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.434 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.434 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.434 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.434 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.434 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.434 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.434 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.434 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.434 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.435 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.435 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.435 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.435 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.435 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.435 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.435 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.435 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 11:54:25.435 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 11:54:25.436 [Debug] State: WebSocket State: Open -2024-12-19 11:54:25.436 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 11:54:25.436 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 11:54:25.436 [Debug] ProcessDataReceived: Received WebSocketMessageType.Text -2024-12-19 11:54:25.436 [Verbose] ProcessDataReceived: raw response: {"type":"Flushed","sequence_id":0} -2024-12-19 11:54:25.438 [Verbose] ProcessDataReceived: Type: Flushed -2024-12-19 11:54:25.440 [Debug] ProcessDataReceived: _flushedReceived has no listeners -2024-12-19 11:54:25.440 [Verbose] ProcessDataReceived: LEAVE -2024-12-19 11:54:25.440 [Debug] State: WebSocket State: Open -2024-12-19 12:35:01.906 [Verbose] AbstractWebSocketClient: ENTER -2024-12-19 12:35:01.981 [Verbose] DeepgramWsClientOptions: ENTER -2024-12-19 12:35:01.981 [Debug] DeepgramWsClientOptions: API KEY provided -2024-12-19 12:35:01.982 [Debug] DeepgramWsClientOptions: BaseAddress is null -2024-12-19 12:35:01.982 [Debug] DeepgramWsClientOptions: KeepAlive is null -2024-12-19 12:35:01.982 [Debug] DeepgramWsClientOptions: OnPrem is null -2024-12-19 12:35:01.983 [Debug] DeepgramWsClientOptions: Headers is null -2024-12-19 12:35:01.983 [Debug] DeepgramWsClientOptions: Addons is null -2024-12-19 12:35:01.985 [Information] DeepgramWsClientOptions: KeepAlive: False -2024-12-19 12:35:01.985 [Information] DeepgramWsClientOptions: OnPrem: False -2024-12-19 12:35:01.985 [Information] DeepgramWsClientOptions: APIVersion: v1 -2024-12-19 12:35:01.986 [Debug] DeepgramWsClientOptions: WS BaseAddress: api.deepgram.com -2024-12-19 12:35:02.000 [Information] DeepgramWsClientOptions: WS BaseAddress does not contain API version: api.deepgram.com -2024-12-19 12:35:02.001 [Debug] DeepgramWsClientOptions: BaseAddress: api.deepgram.com/v1 -2024-12-19 12:35:02.002 [Information] DeepgramWsClientOptions: BaseAddress does not contain protocol: api.deepgram.com/v1 -2024-12-19 12:35:02.002 [Debug] DeepgramWsClientOptions: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 12:35:02.002 [Information] DeepgramWsClientOptions: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 12:35:02.003 [Verbose] DeepgramWsClientOptions: LEAVE -2024-12-19 12:35:02.003 [Debug] AbstractWebSocketClient: APIVersion: v1 -2024-12-19 12:35:02.003 [Debug] AbstractWebSocketClient: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 12:35:02.003 [Debug] AbstractWebSocketClient: OnPrem: False -2024-12-19 12:35:02.004 [Verbose] AbstractWebSocketClient: LEAVE -2024-12-19 12:35:02.004 [Verbose] SpeakWSClient: ENTER -2024-12-19 12:35:02.005 [Debug] SpeakWSClient: Autoflush: 0 -2024-12-19 12:35:02.006 [Verbose] SpeakWSClient: LEAVE -2024-12-19 12:35:02.011 [Verbose] SpeakWSClient.Connect: ENTER -2024-12-19 12:35:02.091 [Information] Connect: options: -{ - "model": "aura-asteria-en", - "encoding": "linear16", - "sample_rate": 48000 -} -2024-12-19 12:35:02.093 [Debug] Connect: addons: -2024-12-19 12:35:02.100 [Debug] Connect: uri: wss://api.deepgram.com/v1/speak?model=aura-asteria-en&encoding=linear16&sample_rate=48000 -2024-12-19 12:35:02.107 [Verbose] AbstractWebSocketClient.Connect: ENTER -2024-12-19 12:35:02.109 [Debug] Connect: headers: -2024-12-19 12:35:02.111 [Information] Connect: Using default connect cancellation token -2024-12-19 12:35:02.116 [Debug] Connect: uri: wss://api.deepgram.com/v1/speak?model=aura-asteria-en&encoding=linear16&sample_rate=48000 -2024-12-19 12:35:02.117 [Debug] Connect: Connecting to Deepgram API... -2024-12-19 12:35:02.665 [Debug] State: WebSocket State: Open -2024-12-19 12:35:02.665 [Debug] Connect: Starting Sender Thread... -2024-12-19 12:35:02.665 [Debug] Connect: Starting Receiver Thread... -2024-12-19 12:35:02.667 [Debug] Connect: Connect Succeeded -2024-12-19 12:35:02.667 [Verbose] AbstractWebSocketClient.Connect: LEAVE -2024-12-19 12:35:02.667 [Verbose] AbstractWebSocketClient.ProcessReceiveQueue: ENTER -2024-12-19 12:35:02.668 [Debug] State: WebSocket State: Open -2024-12-19 12:35:02.668 [Debug] Connect: Connect Succeeded -2024-12-19 12:35:02.668 [Verbose] AbstractWebSocketClient.ProcessSendQueue: ENTER -2024-12-19 12:35:02.668 [Verbose] SpeakWSClient.Connect: LEAVE -2024-12-19 12:35:02.671 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:02.671 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:02.674 [Debug] ProcessDataReceived: Received WebSocketMessageType.Text -2024-12-19 12:35:02.674 [Verbose] ProcessDataReceived: raw response: {"type":"Metadata","request_id":"0a3600a1-189a-4020-b93b-eb908484ec54","model_name":"aura-asteria-en","model_version":"2024-11-19.0","model_uuid":"ecb76e9d-f2db-4127-8060-79b05590d22f"} -2024-12-19 12:35:02.688 [Debug] State: WebSocket State: Open -2024-12-19 12:35:02.690 [Verbose] ProcessSendQueue: Reading message off queue... -2024-12-19 12:35:02.693 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 12:35:02.697 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 12:35:02.698 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 12:35:02.698 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 12:35:02.698 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 12:35:02.698 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 12:35:02.699 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 12:35:02.719 [Verbose] ProcessDataReceived: Type: Metadata -2024-12-19 12:35:02.755 [Debug] ProcessDataReceived: _metadataReceived has no listeners -2024-12-19 12:35:02.755 [Verbose] ProcessDataReceived: LEAVE -2024-12-19 12:35:02.756 [Debug] State: WebSocket State: Open -2024-12-19 12:35:02.757 [Information] ProcessReceiveQueue: Received WebSocket Close. Trigger cancel... -2024-12-19 12:35:02.758 [Verbose] AbstractWebSocketClient.Stop: ENTER -2024-12-19 12:35:02.758 [Information] Stop: Using default disconnect cancellation token -2024-12-19 12:35:02.859 [Debug] Stop: Closing WebSocket connection... -2024-12-19 12:35:02.867 [Debug] Stop: Disposing internal token... -2024-12-19 12:35:02.867 [Debug] Stop: Disposing WebSocket socket... -2024-12-19 12:35:02.867 [Debug] Stop: Succeeded -2024-12-19 12:35:02.867 [Verbose] AbstractWebSocketClient.Stop: LEAVE -2024-12-19 12:35:02.868 [Verbose] ProcessReceiveQueue: LEAVE -2024-12-19 12:35:09.017 [Verbose] AbstractWebSocketClient.Stop: ENTER -2024-12-19 12:35:09.017 [Information] Stop: Client has already been disposed -2024-12-19 12:35:09.017 [Verbose] AbstractWebSocketClient.Stop: LEAVE -2024-12-19 12:35:35.481 [Verbose] AbstractWebSocketClient: ENTER -2024-12-19 12:35:35.565 [Verbose] DeepgramWsClientOptions: ENTER -2024-12-19 12:35:35.566 [Debug] DeepgramWsClientOptions: API KEY provided -2024-12-19 12:35:35.566 [Debug] DeepgramWsClientOptions: BaseAddress is null -2024-12-19 12:35:35.566 [Debug] DeepgramWsClientOptions: KeepAlive is null -2024-12-19 12:35:35.566 [Debug] DeepgramWsClientOptions: OnPrem is null -2024-12-19 12:35:35.566 [Debug] DeepgramWsClientOptions: Headers is null -2024-12-19 12:35:35.566 [Debug] DeepgramWsClientOptions: Addons is null -2024-12-19 12:35:35.568 [Information] DeepgramWsClientOptions: KeepAlive: False -2024-12-19 12:35:35.568 [Information] DeepgramWsClientOptions: OnPrem: False -2024-12-19 12:35:35.568 [Information] DeepgramWsClientOptions: APIVersion: v1 -2024-12-19 12:35:35.569 [Debug] DeepgramWsClientOptions: WS BaseAddress: api.deepgram.com -2024-12-19 12:35:35.587 [Information] DeepgramWsClientOptions: WS BaseAddress does not contain API version: api.deepgram.com -2024-12-19 12:35:35.587 [Debug] DeepgramWsClientOptions: BaseAddress: api.deepgram.com/v1 -2024-12-19 12:35:35.588 [Information] DeepgramWsClientOptions: BaseAddress does not contain protocol: api.deepgram.com/v1 -2024-12-19 12:35:35.588 [Debug] DeepgramWsClientOptions: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 12:35:35.589 [Information] DeepgramWsClientOptions: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 12:35:35.589 [Verbose] DeepgramWsClientOptions: LEAVE -2024-12-19 12:35:35.589 [Debug] AbstractWebSocketClient: APIVersion: v1 -2024-12-19 12:35:35.590 [Debug] AbstractWebSocketClient: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 12:35:35.590 [Debug] AbstractWebSocketClient: OnPrem: False -2024-12-19 12:35:35.590 [Verbose] AbstractWebSocketClient: LEAVE -2024-12-19 12:35:35.590 [Verbose] SpeakWSClient: ENTER -2024-12-19 12:35:35.591 [Debug] SpeakWSClient: Autoflush: 0 -2024-12-19 12:35:35.592 [Verbose] SpeakWSClient: LEAVE -2024-12-19 12:35:35.598 [Verbose] SpeakWSClient.Connect: ENTER -2024-12-19 12:35:35.682 [Information] Connect: options: -{ - "model": "aura-asteria-en", - "encoding": "linear16", - "sample_rate": 48000 -} -2024-12-19 12:35:35.682 [Debug] Connect: addons: -2024-12-19 12:35:35.687 [Debug] Connect: uri: wss://api.deepgram.com/v1/speak?model=aura-asteria-en&encoding=linear16&sample_rate=48000 -2024-12-19 12:35:35.690 [Verbose] AbstractWebSocketClient.Connect: ENTER -2024-12-19 12:35:35.690 [Debug] Connect: headers: -2024-12-19 12:35:35.691 [Information] Connect: Using default connect cancellation token -2024-12-19 12:35:35.695 [Debug] Connect: uri: wss://api.deepgram.com/v1/speak?model=aura-asteria-en&encoding=linear16&sample_rate=48000 -2024-12-19 12:35:35.698 [Debug] Connect: Connecting to Deepgram API... -2024-12-19 12:35:36.164 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.165 [Debug] Connect: Starting Sender Thread... -2024-12-19 12:35:36.165 [Debug] Connect: Starting Receiver Thread... -2024-12-19 12:35:36.165 [Debug] Connect: Connect Succeeded -2024-12-19 12:35:36.165 [Verbose] AbstractWebSocketClient.Connect: LEAVE -2024-12-19 12:35:36.166 [Debug] Connect: Connect Succeeded -2024-12-19 12:35:36.166 [Verbose] SpeakWSClient.Connect: LEAVE -2024-12-19 12:35:36.167 [Verbose] AbstractWebSocketClient.ProcessSendQueue: ENTER -2024-12-19 12:35:36.167 [Verbose] AbstractWebSocketClient.ProcessReceiveQueue: ENTER -2024-12-19 12:35:36.168 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.170 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.171 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.174 [Debug] ProcessDataReceived: Received WebSocketMessageType.Text -2024-12-19 12:35:36.175 [Verbose] ProcessDataReceived: raw response: {"type":"Metadata","request_id":"c07b5769-9899-419c-8eea-3a3a3beb160d","model_name":"aura-asteria-en","model_version":"2024-11-19.0","model_uuid":"ecb76e9d-f2db-4127-8060-79b05590d22f"} -2024-12-19 12:35:36.183 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.184 [Verbose] ProcessSendQueue: Reading message off queue... -2024-12-19 12:35:36.186 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 12:35:36.193 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 12:35:36.193 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 12:35:36.193 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 12:35:36.193 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 12:35:36.193 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 12:35:36.218 [Verbose] ProcessDataReceived: Type: Metadata -2024-12-19 12:35:36.249 [Debug] ProcessDataReceived: _metadataReceived has no listeners -2024-12-19 12:35:36.249 [Verbose] ProcessDataReceived: LEAVE -2024-12-19 12:35:36.249 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.310 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.312 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.314 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.316 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.322 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.347 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.348 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.348 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.348 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.349 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.349 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.349 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.349 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.349 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.350 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.356 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.356 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.356 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.356 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.357 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.379 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.380 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.380 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.380 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.381 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.381 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.381 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.381 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.382 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.382 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.389 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.389 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.389 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.389 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.389 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.410 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.410 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.410 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.411 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.411 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.421 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.421 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.421 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.421 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.421 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.421 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.422 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.422 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.422 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.422 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.432 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.432 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.432 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.432 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.433 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.438 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.438 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.438 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.439 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.439 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.446 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.447 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.447 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.447 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.447 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.447 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.447 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.447 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.447 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.447 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.455 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.455 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.455 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.455 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.455 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.459 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.460 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.460 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.460 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.460 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.460 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.460 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.460 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.460 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.461 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.471 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.471 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.471 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.472 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.472 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.475 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.476 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.476 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.476 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.476 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.477 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.477 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.477 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.477 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.478 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.482 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.483 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.483 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.483 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.484 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.486 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.486 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.486 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.486 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.487 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.487 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.487 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.487 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.487 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.487 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.490 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.490 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.490 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.490 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.490 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.493 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.494 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.494 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.494 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.494 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.496 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.496 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.496 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.497 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.497 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.500 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.500 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.501 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.501 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.501 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.503 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.503 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.503 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.504 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.504 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.508 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.509 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.509 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.509 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.509 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.509 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.509 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.509 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.509 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.510 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.510 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.510 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.510 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.510 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.510 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.510 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.510 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.510 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.510 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.511 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.514 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.514 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.515 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.515 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.515 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.515 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.515 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.516 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.516 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.516 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.516 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.516 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.516 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.516 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.518 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.518 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.518 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.518 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.519 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.519 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.519 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.519 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.519 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.519 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.520 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.520 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.520 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.520 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.521 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.521 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.521 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.521 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.521 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.521 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.522 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.523 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.524 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.524 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.524 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.524 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.526 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.527 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.527 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.527 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.527 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.528 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.529 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.529 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.529 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.529 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.530 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.530 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.530 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.530 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.531 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.531 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.531 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.531 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.531 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.532 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.532 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.532 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.532 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.532 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.532 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.532 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.533 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.533 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.533 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.533 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.533 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.533 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.533 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.533 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.533 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.533 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.533 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.534 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.534 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.534 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.534 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.535 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.535 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.535 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.535 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.535 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.535 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.535 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.536 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.536 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.536 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.536 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.536 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.536 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.537 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.537 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.537 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.537 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.537 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.537 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.537 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.537 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.537 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.537 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.538 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.538 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.538 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.538 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.538 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.539 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.542 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.542 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.542 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.542 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.542 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.543 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.543 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.544 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.544 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.544 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.544 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.544 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.544 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.544 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.545 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.545 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.545 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.545 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.545 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.545 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.546 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.546 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.546 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.546 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.546 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.549 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.549 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.549 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.549 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.550 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.550 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.550 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.550 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:35:36.550 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:35:36.551 [Debug] State: WebSocket State: Open -2024-12-19 12:35:36.551 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:35:36.551 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:35:36.551 [Debug] ProcessDataReceived: Received WebSocketMessageType.Text -2024-12-19 12:35:36.551 [Verbose] ProcessDataReceived: raw response: {"type":"Flushed","sequence_id":0} -2024-12-19 12:35:36.553 [Verbose] ProcessDataReceived: Type: Flushed -2024-12-19 12:35:36.556 [Debug] ProcessDataReceived: _flushedReceived has no listeners -2024-12-19 12:35:36.556 [Verbose] ProcessDataReceived: LEAVE -2024-12-19 12:35:36.557 [Debug] State: WebSocket State: Open -2024-12-19 12:36:17.171 [Verbose] AbstractWebSocketClient: ENTER -2024-12-19 12:36:17.226 [Verbose] DeepgramWsClientOptions: ENTER -2024-12-19 12:36:17.226 [Debug] DeepgramWsClientOptions: API KEY provided -2024-12-19 12:36:17.226 [Debug] DeepgramWsClientOptions: BaseAddress is null -2024-12-19 12:36:17.226 [Debug] DeepgramWsClientOptions: KeepAlive is null -2024-12-19 12:36:17.226 [Debug] DeepgramWsClientOptions: OnPrem is null -2024-12-19 12:36:17.226 [Debug] DeepgramWsClientOptions: Headers is null -2024-12-19 12:36:17.226 [Debug] DeepgramWsClientOptions: Addons is null -2024-12-19 12:36:17.228 [Information] DeepgramWsClientOptions: KeepAlive: False -2024-12-19 12:36:17.228 [Information] DeepgramWsClientOptions: OnPrem: False -2024-12-19 12:36:17.228 [Information] DeepgramWsClientOptions: APIVersion: v1 -2024-12-19 12:36:17.229 [Debug] DeepgramWsClientOptions: WS BaseAddress: api.deepgram.com -2024-12-19 12:36:17.242 [Information] DeepgramWsClientOptions: WS BaseAddress does not contain API version: api.deepgram.com -2024-12-19 12:36:17.242 [Debug] DeepgramWsClientOptions: BaseAddress: api.deepgram.com/v1 -2024-12-19 12:36:17.243 [Information] DeepgramWsClientOptions: BaseAddress does not contain protocol: api.deepgram.com/v1 -2024-12-19 12:36:17.243 [Debug] DeepgramWsClientOptions: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 12:36:17.243 [Information] DeepgramWsClientOptions: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 12:36:17.243 [Verbose] DeepgramWsClientOptions: LEAVE -2024-12-19 12:36:17.243 [Debug] AbstractWebSocketClient: APIVersion: v1 -2024-12-19 12:36:17.243 [Debug] AbstractWebSocketClient: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 12:36:17.243 [Debug] AbstractWebSocketClient: OnPrem: False -2024-12-19 12:36:17.243 [Verbose] AbstractWebSocketClient: LEAVE -2024-12-19 12:36:17.243 [Verbose] SpeakWSClient: ENTER -2024-12-19 12:36:17.244 [Debug] SpeakWSClient: Autoflush: 0 -2024-12-19 12:36:17.244 [Verbose] SpeakWSClient: LEAVE -2024-12-19 12:36:17.248 [Verbose] SpeakWSClient.Connect: ENTER -2024-12-19 12:36:17.315 [Information] Connect: options: -{ - "model": "aura-asteria-en", - "encoding": "linear16", - "sample_rate": 48000 -} -2024-12-19 12:36:17.315 [Debug] Connect: addons: -2024-12-19 12:36:17.319 [Debug] Connect: uri: wss://api.deepgram.com/v1/speak?model=aura-asteria-en&encoding=linear16&sample_rate=48000 -2024-12-19 12:36:17.322 [Verbose] AbstractWebSocketClient.Connect: ENTER -2024-12-19 12:36:17.322 [Debug] Connect: headers: -2024-12-19 12:36:17.322 [Information] Connect: Using default connect cancellation token -2024-12-19 12:36:17.325 [Debug] Connect: uri: wss://api.deepgram.com/v1/speak?model=aura-asteria-en&encoding=linear16&sample_rate=48000 -2024-12-19 12:36:17.325 [Debug] Connect: Connecting to Deepgram API... -2024-12-19 12:36:17.903 [Debug] State: WebSocket State: Open -2024-12-19 12:36:17.904 [Debug] Connect: Starting Sender Thread... -2024-12-19 12:36:17.904 [Debug] Connect: Starting Receiver Thread... -2024-12-19 12:36:17.904 [Debug] Connect: Connect Succeeded -2024-12-19 12:36:17.905 [Verbose] AbstractWebSocketClient.Connect: LEAVE -2024-12-19 12:36:17.905 [Debug] Connect: Connect Succeeded -2024-12-19 12:36:17.905 [Verbose] SpeakWSClient.Connect: LEAVE -2024-12-19 12:36:17.906 [Verbose] AbstractWebSocketClient.ProcessSendQueue: ENTER -2024-12-19 12:36:17.906 [Verbose] AbstractWebSocketClient.ProcessReceiveQueue: ENTER -2024-12-19 12:36:17.907 [Debug] State: WebSocket State: Open -2024-12-19 12:36:17.909 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:17.910 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:17.911 [Debug] ProcessDataReceived: Received WebSocketMessageType.Text -2024-12-19 12:36:17.912 [Verbose] ProcessDataReceived: raw response: {"type":"Metadata","request_id":"c76060a4-9a1d-456a-bad2-42eb897e1492","model_name":"aura-asteria-en","model_version":"2024-11-19.0","model_uuid":"ecb76e9d-f2db-4127-8060-79b05590d22f"} -2024-12-19 12:36:17.918 [Debug] State: WebSocket State: Open -2024-12-19 12:36:17.918 [Verbose] ProcessSendQueue: Reading message off queue... -2024-12-19 12:36:17.919 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 12:36:17.922 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 12:36:17.923 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 12:36:17.923 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 12:36:17.923 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 12:36:17.923 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 12:36:17.923 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 12:36:17.948 [Verbose] ProcessDataReceived: Type: Metadata -2024-12-19 12:36:17.974 [Debug] ProcessDataReceived: _metadataReceived has no listeners -2024-12-19 12:36:17.974 [Verbose] ProcessDataReceived: LEAVE -2024-12-19 12:36:17.974 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.109 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.109 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.110 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.110 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.115 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.182 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.182 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.182 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.182 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.183 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.183 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.183 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.183 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.183 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.183 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.192 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.192 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.192 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.192 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.192 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.193 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.193 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.193 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.193 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.193 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.201 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.201 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.201 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.201 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.201 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.282 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.282 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.282 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.282 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.282 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.282 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.283 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.283 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.283 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.283 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.283 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.283 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.283 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.283 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.284 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.284 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.284 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.284 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.284 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.284 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.351 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.351 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.351 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.351 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.351 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.356 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.356 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.356 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.356 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.356 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.356 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.356 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.356 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.356 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.357 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.367 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.367 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.367 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.367 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.367 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.369 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.369 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.369 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.369 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.370 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.371 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.371 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.371 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.371 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.372 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.372 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.373 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.373 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.373 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.373 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.374 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.374 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.374 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.374 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.374 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.441 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.442 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.442 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.442 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.442 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.442 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.442 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.442 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.442 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.443 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.451 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.452 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.452 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.452 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.453 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.453 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.453 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.454 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.454 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.454 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.454 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.454 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.454 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.454 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.455 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.456 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.457 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.457 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.457 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.457 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.457 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.457 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.457 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.457 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.457 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.458 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.458 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.458 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.458 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.460 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.460 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.460 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.460 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.460 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.460 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.460 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.460 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.460 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.460 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.461 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.462 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.462 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.462 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.462 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.463 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.463 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.463 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.463 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.463 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.463 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.463 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.464 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.464 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.464 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.464 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.464 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.464 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.464 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.464 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.464 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.465 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.465 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.465 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.465 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.465 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.527 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.527 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.527 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.527 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.527 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.527 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.528 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.528 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.528 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.528 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.531 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.531 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.531 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.531 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.531 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.531 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.531 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.531 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.532 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.532 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.532 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.532 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.532 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.532 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.532 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.533 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.533 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.533 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.533 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.533 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.533 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.533 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.533 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.533 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.533 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.534 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.534 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.534 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.534 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.534 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.536 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.536 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.536 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.537 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.537 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.537 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.538 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.538 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.538 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.539 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.539 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.540 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.541 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.541 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.541 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.541 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.542 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.542 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.542 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.542 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.542 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.542 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.542 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.542 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.542 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.542 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.543 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.543 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.543 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.543 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.543 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.543 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.543 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.543 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.543 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.543 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.543 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.544 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.544 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.545 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.545 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.546 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.546 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.546 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.546 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.556 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.556 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.556 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.556 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.557 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.557 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.557 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.557 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.557 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.557 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.557 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.557 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.557 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.558 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.559 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.559 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.559 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.560 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.560 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.561 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.561 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.562 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.562 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.562 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.562 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.563 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.563 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.563 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.563 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.564 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.564 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.564 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.564 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.565 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.565 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.565 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.566 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.566 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.566 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.566 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.567 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.567 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.567 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.567 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.567 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.568 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.568 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.568 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.568 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.569 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.569 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.570 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.570 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.570 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.570 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.570 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.570 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.570 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.570 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.570 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.571 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.573 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.573 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.573 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.573 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.573 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.574 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.574 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.574 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.575 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.575 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.575 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.575 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.576 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.576 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.577 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.577 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.577 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.577 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.577 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.577 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.577 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.580 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.580 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.581 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.581 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.582 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.583 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.583 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.583 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.583 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.583 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.584 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.584 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.584 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.584 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.584 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.585 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.585 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.585 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.585 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.585 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.586 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.586 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.586 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.587 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.587 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.587 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.587 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.588 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.617 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.617 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.618 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.618 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.618 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.619 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.620 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.620 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.620 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.621 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.621 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.621 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.621 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.621 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.622 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.622 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.622 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.622 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.622 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.622 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.623 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.623 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.623 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.623 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.623 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.623 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.623 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.623 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:36:18.623 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:36:18.624 [Debug] State: WebSocket State: Open -2024-12-19 12:36:18.624 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:36:18.624 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:36:18.624 [Debug] ProcessDataReceived: Received WebSocketMessageType.Text -2024-12-19 12:36:18.624 [Verbose] ProcessDataReceived: raw response: {"type":"Flushed","sequence_id":0} -2024-12-19 12:36:18.626 [Verbose] ProcessDataReceived: Type: Flushed -2024-12-19 12:36:18.630 [Debug] ProcessDataReceived: _flushedReceived has no listeners -2024-12-19 12:36:18.630 [Verbose] ProcessDataReceived: LEAVE -2024-12-19 12:36:18.630 [Debug] State: WebSocket State: Open -2024-12-19 12:36:44.164 [Verbose] AbstractWebSocketClient.Stop: ENTER -2024-12-19 12:36:44.164 [Information] Stop: Using default disconnect cancellation token -2024-12-19 12:36:44.164 [Debug] Stop: Sending Close message... -2024-12-19 12:36:44.165 [Debug] State: WebSocket State: Open -2024-12-19 12:36:44.165 [Debug] SendClose: Sending Close Message Immediately... -2024-12-19 12:36:44.167 [Debug] State: WebSocket State: Open -2024-12-19 12:36:44.167 [Verbose] SendMessageImmediately: Sending text message immediately... -2024-12-19 12:36:44.267 [Debug] Stop: Closing WebSocket connection... -2024-12-19 12:36:44.269 [Debug] Stop: Disposing internal token... -2024-12-19 12:36:44.269 [Debug] Stop: Disposing WebSocket socket... -2024-12-19 12:36:44.269 [Debug] Stop: Succeeded -2024-12-19 12:36:44.269 [Verbose] AbstractWebSocketClient.Stop: LEAVE -2024-12-19 12:37:02.701 [Verbose] AbstractWebSocketClient: ENTER -2024-12-19 12:37:02.754 [Verbose] DeepgramWsClientOptions: ENTER -2024-12-19 12:37:02.754 [Debug] DeepgramWsClientOptions: API KEY provided -2024-12-19 12:37:02.755 [Debug] DeepgramWsClientOptions: BaseAddress is null -2024-12-19 12:37:02.755 [Debug] DeepgramWsClientOptions: KeepAlive is null -2024-12-19 12:37:02.755 [Debug] DeepgramWsClientOptions: OnPrem is null -2024-12-19 12:37:02.755 [Debug] DeepgramWsClientOptions: Headers is null -2024-12-19 12:37:02.755 [Debug] DeepgramWsClientOptions: Addons is null -2024-12-19 12:37:02.756 [Information] DeepgramWsClientOptions: KeepAlive: False -2024-12-19 12:37:02.756 [Information] DeepgramWsClientOptions: OnPrem: False -2024-12-19 12:37:02.756 [Information] DeepgramWsClientOptions: APIVersion: v1 -2024-12-19 12:37:02.757 [Debug] DeepgramWsClientOptions: WS BaseAddress: api.deepgram.com -2024-12-19 12:37:02.769 [Information] DeepgramWsClientOptions: WS BaseAddress does not contain API version: api.deepgram.com -2024-12-19 12:37:02.770 [Debug] DeepgramWsClientOptions: BaseAddress: api.deepgram.com/v1 -2024-12-19 12:37:02.770 [Information] DeepgramWsClientOptions: BaseAddress does not contain protocol: api.deepgram.com/v1 -2024-12-19 12:37:02.770 [Debug] DeepgramWsClientOptions: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 12:37:02.770 [Information] DeepgramWsClientOptions: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 12:37:02.770 [Verbose] DeepgramWsClientOptions: LEAVE -2024-12-19 12:37:02.770 [Debug] AbstractWebSocketClient: APIVersion: v1 -2024-12-19 12:37:02.771 [Debug] AbstractWebSocketClient: BaseAddress: wss://api.deepgram.com/v1 -2024-12-19 12:37:02.771 [Debug] AbstractWebSocketClient: OnPrem: False -2024-12-19 12:37:02.771 [Verbose] AbstractWebSocketClient: LEAVE -2024-12-19 12:37:02.771 [Verbose] SpeakWSClient: ENTER -2024-12-19 12:37:02.772 [Debug] SpeakWSClient: Autoflush: 0 -2024-12-19 12:37:02.772 [Verbose] SpeakWSClient: LEAVE -2024-12-19 12:37:02.775 [Verbose] SpeakWSClient.Connect: ENTER -2024-12-19 12:37:02.834 [Information] Connect: options: -{ - "model": "aura-asteria-en", - "encoding": "linear16", - "sample_rate": 48000 -} -2024-12-19 12:37:02.835 [Debug] Connect: addons: -2024-12-19 12:37:02.838 [Debug] Connect: uri: wss://api.deepgram.com/v1/speak?model=aura-asteria-en&encoding=linear16&sample_rate=48000 -2024-12-19 12:37:02.840 [Verbose] AbstractWebSocketClient.Connect: ENTER -2024-12-19 12:37:02.840 [Debug] Connect: headers: -2024-12-19 12:37:02.840 [Information] Connect: Using default connect cancellation token -2024-12-19 12:37:02.842 [Debug] Connect: uri: wss://api.deepgram.com/v1/speak?model=aura-asteria-en&encoding=linear16&sample_rate=48000 -2024-12-19 12:37:02.842 [Debug] Connect: Connecting to Deepgram API... -2024-12-19 12:37:03.346 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.346 [Debug] Connect: Starting Sender Thread... -2024-12-19 12:37:03.347 [Debug] Connect: Starting Receiver Thread... -2024-12-19 12:37:03.347 [Debug] Connect: Connect Succeeded -2024-12-19 12:37:03.347 [Verbose] AbstractWebSocketClient.Connect: LEAVE -2024-12-19 12:37:03.347 [Debug] Connect: Connect Succeeded -2024-12-19 12:37:03.347 [Verbose] SpeakWSClient.Connect: LEAVE -2024-12-19 12:37:03.348 [Verbose] AbstractWebSocketClient.ProcessSendQueue: ENTER -2024-12-19 12:37:03.348 [Verbose] AbstractWebSocketClient.ProcessReceiveQueue: ENTER -2024-12-19 12:37:03.349 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.351 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.352 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.353 [Debug] ProcessDataReceived: Received WebSocketMessageType.Text -2024-12-19 12:37:03.353 [Verbose] ProcessDataReceived: raw response: {"type":"Metadata","request_id":"187ffe5f-6cce-4f3d-8484-934b94b8c3c2","model_name":"aura-asteria-en","model_version":"2024-11-19.0","model_uuid":"ecb76e9d-f2db-4127-8060-79b05590d22f"} -2024-12-19 12:37:03.357 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.357 [Verbose] ProcessSendQueue: Reading message off queue... -2024-12-19 12:37:03.358 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 12:37:03.361 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 12:37:03.361 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 12:37:03.361 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 12:37:03.361 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 12:37:03.361 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 12:37:03.361 [Verbose] ProcessSendQueue: Sending message... -2024-12-19 12:37:03.382 [Verbose] ProcessDataReceived: Type: Metadata -2024-12-19 12:37:03.405 [Debug] ProcessDataReceived: _metadataReceived has no listeners -2024-12-19 12:37:03.406 [Verbose] ProcessDataReceived: LEAVE -2024-12-19 12:37:03.406 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.524 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.524 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.524 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.525 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.529 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.609 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.609 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.609 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.609 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.609 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.609 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.610 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.610 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.610 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.610 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.610 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.610 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.610 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.610 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.610 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.698 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.698 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.699 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.699 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.699 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.699 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.699 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.699 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.699 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.700 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.706 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.707 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.707 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.707 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.707 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.707 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.707 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.708 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.708 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.708 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.786 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.786 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.786 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.787 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.787 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.787 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.787 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.787 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.788 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.788 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.788 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.788 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.788 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.788 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.789 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.789 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.789 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.789 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.789 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.789 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.794 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.794 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.794 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.794 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.794 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.796 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.796 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.796 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.796 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.797 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.797 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.797 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.797 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.797 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.797 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.872 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.872 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.872 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.872 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.873 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.877 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.877 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.877 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.877 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.878 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.878 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.878 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.878 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.878 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.878 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.883 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.883 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.883 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.883 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.883 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.883 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.884 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.884 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.884 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.884 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.889 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.889 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.889 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.889 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.890 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.890 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.890 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.890 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.890 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.890 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.890 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.891 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.891 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.891 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.891 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.891 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.891 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.891 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.892 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.892 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.892 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.892 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.892 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.892 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.893 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.894 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.894 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.894 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.894 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.895 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.895 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.895 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.896 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.896 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.896 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.896 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.896 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.896 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.896 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.896 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.897 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.897 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.897 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.897 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.897 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.922 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.922 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.922 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.922 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.923 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.923 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.923 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.923 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.923 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.923 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.961 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.961 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.961 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.962 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.962 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.962 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.962 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.962 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.962 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.962 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.966 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.967 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.967 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.967 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.967 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.967 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.967 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.967 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.967 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.968 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.968 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.968 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.968 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.968 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.968 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.968 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.968 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.969 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.969 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.969 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.969 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.969 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.970 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.970 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.970 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.970 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.970 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.970 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.970 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.970 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.970 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.970 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.971 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.971 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.971 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.972 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.972 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.973 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.973 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.973 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.974 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.974 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.974 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.974 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.975 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.977 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.977 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.977 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.977 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.978 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.978 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.978 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.978 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.978 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.979 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.979 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.979 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.979 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.979 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.979 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.980 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.980 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.980 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.980 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.980 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.986 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.986 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.986 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.986 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.986 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.986 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.986 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.986 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.986 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.986 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.987 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.987 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.987 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.987 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.987 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.987 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.987 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.987 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.987 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.987 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.988 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.988 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.988 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.988 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.988 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.988 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.988 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.988 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.988 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.988 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.988 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.988 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.989 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.989 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.989 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.989 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.989 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.989 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.989 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.989 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.989 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.989 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.990 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.990 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.990 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.990 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.990 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.990 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.990 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.991 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.991 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.991 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.991 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.992 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.992 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.992 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.993 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.994 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.994 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.994 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.995 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.995 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.995 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.995 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.995 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.996 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.996 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.996 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.996 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.996 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.996 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.996 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.996 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.996 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.996 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.996 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.997 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.997 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.997 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.997 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.997 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.997 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.997 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.997 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.997 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.997 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.997 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.997 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.997 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.998 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.998 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.998 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.998 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.998 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.998 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.998 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.998 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.998 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.998 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.998 [Debug] State: WebSocket State: Open -2024-12-19 12:37:03.999 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:03.999 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:03.999 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:03.999 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:03.999 [Debug] State: WebSocket State: Open -2024-12-19 12:37:04.046 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:04.046 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:04.046 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:04.047 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:04.047 [Debug] State: WebSocket State: Open -2024-12-19 12:37:04.047 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:04.047 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:04.047 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:04.047 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:04.047 [Debug] State: WebSocket State: Open -2024-12-19 12:37:04.055 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:04.056 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:04.056 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:04.056 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:04.056 [Debug] State: WebSocket State: Open -2024-12-19 12:37:04.056 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:04.056 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:04.056 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:04.056 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:04.057 [Debug] State: WebSocket State: Open -2024-12-19 12:37:04.057 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:04.057 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:04.057 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:04.057 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:04.057 [Debug] State: WebSocket State: Open -2024-12-19 12:37:04.058 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:04.058 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:04.058 [Debug] ProcessBinaryMessage: Received WebSocketMessageType.Binary -2024-12-19 12:37:04.058 [Debug] ProcessBinaryMessage: Invoking AudioResponse -2024-12-19 12:37:04.058 [Debug] State: WebSocket State: Open -2024-12-19 12:37:04.058 [Verbose] ProcessReceiveQueue: Received message: System.Net.WebSockets.WebSocketReceiveResult / System.IO.MemoryStream -2024-12-19 12:37:04.058 [Verbose] AbstractWebSocketClient.ProcessDataReceived: ENTER -2024-12-19 12:37:04.058 [Debug] ProcessDataReceived: Received WebSocketMessageType.Text -2024-12-19 12:37:04.058 [Verbose] ProcessDataReceived: raw response: {"type":"Flushed","sequence_id":0} -2024-12-19 12:37:04.060 [Verbose] ProcessDataReceived: Type: Flushed -2024-12-19 12:37:04.062 [Debug] ProcessDataReceived: _flushedReceived has no listeners -2024-12-19 12:37:04.062 [Verbose] ProcessDataReceived: LEAVE -2024-12-19 12:37:04.062 [Debug] State: WebSocket State: Open