add routing context

This commit is contained in:
Jicheng Lu 2025-09-18 19:38:03 -05:00
parent 18cb4edbf7
commit fd558b900f
3 changed files with 13 additions and 9 deletions

View file

@ -15,9 +15,6 @@
******************************************************************************/ ******************************************************************************/
using BotSharp.Core.Infrastructures; using BotSharp.Core.Infrastructures;
using NetTopologySuite.Index.KdTree;
using Newtonsoft.Json.Linq;
using static System.Runtime.InteropServices.JavaScript.JSType;
namespace BotSharp.Core.SideCar.Services; namespace BotSharp.Core.SideCar.Services;

View file

@ -30,6 +30,8 @@ public class ConversationObserver : BotSharpObserverBase<HubObserveData<RoleDial
public override void OnNext(HubObserveData<RoleDialogModel> value) public override void OnNext(HubObserveData<RoleDialogModel> value)
{ {
var conv = _services.GetRequiredService<IConversationService>(); var conv = _services.GetRequiredService<IConversationService>();
var storage = _services.GetRequiredService<IConversationStorage>();
var routeCtx = _services.GetRequiredService<IRoutingContext>();
if (value.EventName == ChatEvent.OnIndicationReceived) if (value.EventName == ChatEvent.OnIndicationReceived)
{ {
@ -41,5 +43,16 @@ public class ConversationObserver : BotSharpObserverBase<HubObserveData<RoleDial
func(value).ConfigureAwait(false).GetAwaiter().GetResult(); func(value).ConfigureAwait(false).GetAwaiter().GetResult();
} }
} }
else if (value.EventName == ChatEvent.OnIntermediateMessageReceivedFromAssistant)
{
var dialogs = routeCtx.GetDialogs();
dialogs.Add(value.Data);
routeCtx.SetDialogs(dialogs);
if (value.SaveDataToDb)
{
storage.Append(conv.ConversationId, value.Data);
}
}
} }
} }

View file

@ -140,12 +140,6 @@ public class ChatHubObserver : BotSharpObserverBase<HubObserveData<RoleDialogMod
Role = AgentRole.Assistant Role = AgentRole.Assistant
} }
}; };
if (value.SaveDataToDb)
{
var storage = _services.GetRequiredService<IConversationStorage>();
storage.Append(conv.ConversationId, message);
}
break; break;
} }