refine chat stream request

This commit is contained in:
Jicheng Lu 2025-07-11 10:15:09 -05:00
parent 21e92f46a1
commit 2ec304b83c
2 changed files with 15 additions and 6 deletions

View file

@ -82,8 +82,8 @@ public class ChatStreamMiddleware
var (eventType, data) = MapEvents(conn, receivedText); var (eventType, data) = MapEvents(conn, receivedText);
if (eventType == "start") if (eventType == "start")
{ {
var states = InitStates(data); var request = InitRequest(data);
await ConnectToModel(hub, webSocket, states); await ConnectToModel(hub, webSocket, request?.States);
} }
else if (eventType == "media") else if (eventType == "media")
{ {
@ -157,16 +157,15 @@ public class ChatStreamMiddleware
}); });
} }
private List<MessageState> InitStates(string data) private ChatStreamRequest? InitRequest(string data)
{ {
try try
{ {
var states = JsonSerializer.Deserialize<List<MessageState>>(data, BotSharpOptions.defaultJsonOptions); return JsonSerializer.Deserialize<ChatStreamRequest>(data, BotSharpOptions.defaultJsonOptions);
return states ?? [];
} }
catch catch
{ {
return []; return null;
} }
} }
} }

View file

@ -0,0 +1,10 @@
using BotSharp.Abstraction.Models;
using System.Text.Json.Serialization;
namespace BotSharp.Plugin.ChatHub.Models.Stream;
public class ChatStreamRequest
{
[JsonPropertyName("states")]
public List<MessageState> States { get; set; } = [];
}