BotSharp/src/Infrastructure/BotSharp.Abstraction/Routing/IRoutingHook.cs
2025-05-15 15:25:08 +08:00

32 lines
1.1 KiB
C#

using BotSharp.Abstraction.Functions.Models;
using BotSharp.Abstraction.Hooks;
namespace BotSharp.Abstraction.Routing;
public interface IRoutingHook : IHookBase
{
/// <summary>
/// Routing instruction is received from Router
/// </summary>
/// <param name="instruct">routing instruction</param>
/// <param name="message">message</param>
/// <returns></returns>
Task OnRoutingInstructionReceived(FunctionCallFromLlm instruct, RoleDialogModel message)
=> Task.CompletedTask;
Task OnRoutingInstructionRevised(FunctionCallFromLlm instruct, RoleDialogModel message)
=> Task.CompletedTask;
Task OnAgentEnqueued(string agentId, string preAgentId, string? reason = null)
=> Task.CompletedTask;
Task OnAgentDequeued(string agentId, string currentAgentId, string? reason = null)
=> Task.CompletedTask;
Task OnAgentReplaced(string fromAgentId, string toAgentId, string? reason = null)
=> Task.CompletedTask;
Task OnAgentQueueEmptied(string agentId, string? reason = null)
=> Task.CompletedTask;
}