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);
}