diff --git a/src/Plugins/BotSharp.Plugin.GoogleAI/Providers/Realtime/RealTimeCompletionProvider.cs b/src/Plugins/BotSharp.Plugin.GoogleAI/Providers/Realtime/RealTimeCompletionProvider.cs index f9ef590a..cdebc5f6 100644 --- a/src/Plugins/BotSharp.Plugin.GoogleAI/Providers/Realtime/RealTimeCompletionProvider.cs +++ b/src/Plugins/BotSharp.Plugin.GoogleAI/Providers/Realtime/RealTimeCompletionProvider.cs @@ -119,17 +119,18 @@ public class GoogleRealTimeProvider : IRealTimeCompletion { client.Connected += (sender, e) => { - _logger.LogInformation("Google Realtime Client connected"); + _logger.LogInformation("Google Realtime Client connected."); onModelReady(); }; client.Disconnected += (sender, e) => { - _logger.LogInformation("Google Realtime Client disconnected"); + _logger.LogInformation("Google Realtime Client disconnected."); }; client.MessageReceived += async (sender, e) => { + _logger.LogInformation("User message received."); if (e.Payload.SetupComplete != null) { onConversationItemCreated(_client.ConnectionId.ToString()); @@ -156,12 +157,14 @@ public class GoogleRealTimeProvider : IRealTimeCompletion }; client.GenerationInterrupted += (sender, e) => - { + { + _logger.LogInformation("Audio generation interrupted."); onUserInterrupted(); }; client.AudioReceiveCompleted += (sender, e) => - { + { + _logger.LogInformation("Audio receive completed."); onModelAudioResponseDone(); }; diff --git a/src/Plugins/BotSharp.Plugin.OpenAI/Providers/Realtime/Session/AiWebsocketPipelineResponse.cs b/src/Plugins/BotSharp.Plugin.OpenAI/Providers/Realtime/Session/AiWebsocketPipelineResponse.cs index 4f179d5d..2a62cdc9 100644 --- a/src/Plugins/BotSharp.Plugin.OpenAI/Providers/Realtime/Session/AiWebsocketPipelineResponse.cs +++ b/src/Plugins/BotSharp.Plugin.OpenAI/Providers/Realtime/Session/AiWebsocketPipelineResponse.cs @@ -46,7 +46,7 @@ public class AiWebsocketPipelineResponse : PipelineResponse public bool IsComplete { get; private set; } = false; - public void HandleReceivedResult(WebSocketReceiveResult receivedResult, BinaryData receivedBytes) + public void CollectReceivedResult(WebSocketReceiveResult receivedResult, BinaryData receivedBytes) { if (ContentStream.Length == 0) { diff --git a/src/Plugins/BotSharp.Plugin.OpenAI/Providers/Realtime/Session/AsyncWebsocketDataResultEnumerator.cs b/src/Plugins/BotSharp.Plugin.OpenAI/Providers/Realtime/Session/AsyncWebsocketDataResultEnumerator.cs index 3dfc291b..1d0a3da2 100644 --- a/src/Plugins/BotSharp.Plugin.OpenAI/Providers/Realtime/Session/AsyncWebsocketDataResultEnumerator.cs +++ b/src/Plugins/BotSharp.Plugin.OpenAI/Providers/Realtime/Session/AsyncWebsocketDataResultEnumerator.cs @@ -43,7 +43,7 @@ public class AsyncWebsocketDataResultEnumerator : IAsyncEnumerator var receivedBytes = _buffer.AsMemory(0, receivedResult.Count); var receivedData = BinaryData.FromBytes(receivedBytes); - response.HandleReceivedResult(receivedResult, receivedData); + response.CollectReceivedResult(receivedResult, receivedData); } Current = ClientResult.FromResponse(response); diff --git a/tests/BotSharp.Test.RealtimeVoice/Program.cs b/tests/BotSharp.Test.RealtimeVoice/Program.cs index b86d6aae..1e6c94f5 100644 --- a/tests/BotSharp.Test.RealtimeVoice/Program.cs +++ b/tests/BotSharp.Test.RealtimeVoice/Program.cs @@ -55,14 +55,14 @@ conn.OnModelUserInterrupted = () => conn.OnUserSpeechDetected = () => JsonSerializer.Serialize(new { - @event = "speech-detected" + @event = "speech_detected" }); await hub.ConnectToModel(async data => { var response = JsonSerializer.Deserialize(data); - if (response.Event == "speech-detected") + if (response.Event == "speech_detected") { channel.ClearBuffer(); } @@ -131,5 +131,5 @@ void DisplayAudioLevel(int level) // Display audio level as a bar Console.Write("\rMicrophone: ["); Console.Write(new string('#', displayLevel).PadRight(sep, ' ')); - Console.Write("]"); + Console.Write("]\r"); }