using BotSharp.Abstraction.Functions.Models; namespace BotSharp.Abstraction.Routing; public interface IRoutingHook { /// /// Routing instruction is received from Router /// /// routing instruction /// message /// Task OnRoutingInstructionReceived(FunctionCallFromLlm instruct, RoleDialogModel message); Task OnAgentEnqueued(string agentId, string preAgentId, string? reason = null); Task OnAgentDequeued(string agentId, string currentAgentId, string? reason = null); Task OnAgentReplaced(string fromAgentId, string toAgentId, string? reason = null); Task OnAgentQueueEmptied(string agentId, string? reason = null); }