2024-02-28 16:21:14 +00:00
|
|
|
using BotSharp.Abstraction.Functions.Models;
|
2025-05-15 07:25:08 +00:00
|
|
|
using BotSharp.Abstraction.Hooks;
|
2024-02-28 16:21:14 +00:00
|
|
|
|
|
|
|
|
namespace BotSharp.Abstraction.Routing;
|
|
|
|
|
|
2025-05-15 07:25:08 +00:00
|
|
|
public interface IRoutingHook : IHookBase
|
2024-02-28 16:21:14 +00:00
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Routing instruction is received from Router
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="instruct">routing instruction</param>
|
|
|
|
|
/// <param name="message">message</param>
|
|
|
|
|
/// <returns></returns>
|
2024-03-05 17:36:48 +00:00
|
|
|
Task OnRoutingInstructionReceived(FunctionCallFromLlm instruct, RoleDialogModel message)
|
|
|
|
|
=> Task.CompletedTask;
|
2024-02-28 16:21:14 +00:00
|
|
|
|
2024-03-05 17:36:48 +00:00
|
|
|
Task OnRoutingInstructionRevised(FunctionCallFromLlm instruct, RoleDialogModel message)
|
|
|
|
|
=> Task.CompletedTask;
|
2024-02-28 16:21:14 +00:00
|
|
|
|
2024-03-05 17:36:48 +00:00
|
|
|
Task OnAgentEnqueued(string agentId, string preAgentId, string? reason = null)
|
|
|
|
|
=> Task.CompletedTask;
|
2024-02-28 16:21:14 +00:00
|
|
|
|
2024-03-05 17:36:48 +00:00
|
|
|
Task OnAgentDequeued(string agentId, string currentAgentId, string? reason = null)
|
|
|
|
|
=> Task.CompletedTask;
|
2024-02-28 16:21:14 +00:00
|
|
|
|
2024-03-05 17:36:48 +00:00
|
|
|
Task OnAgentReplaced(string fromAgentId, string toAgentId, string? reason = null)
|
|
|
|
|
=> Task.CompletedTask;
|
|
|
|
|
|
|
|
|
|
Task OnAgentQueueEmptied(string agentId, string? reason = null)
|
|
|
|
|
=> Task.CompletedTask;
|
2024-02-28 16:21:14 +00:00
|
|
|
}
|