using BotSharp.Abstraction.Functions.Models; namespace BotSharp.Abstraction.Routing; public interface IRoutingHook { /// /// Conversation is redirected to another agent /// /// /// /// Task OnConversationRedirected(string toAgentId, RoleDialogModel message); /// /// Routing instruction is received from Router /// /// routing instruction /// message /// Task OnConversationRouting(FunctionCallFromLlm instruct, RoleDialogModel message); Task OnAgentEnqueued(string agentId, string preAgentId); Task OnAgentDequeued(string agentId, string currentAgentId); Task OnAgentReplaced(string fromAgentId, string toAgentId); Task OnAgentQueueEmptied(string agentId); }