using BotSharp.Abstraction.Functions.Models; using BotSharp.Abstraction.Routing.Models; namespace BotSharp.Abstraction.Routing.Planning; /// /// Task breakdown and execution plan /// https://www.promptingguide.ai/techniques/cot /// public interface IPlaner { Task GetNextInstruction(Agent router, string messageId); Task AgentExecuting(Agent router, FunctionCallFromLlm inst, RoleDialogModel message); Task AgentExecuted(Agent router, FunctionCallFromLlm inst, RoleDialogModel message); bool HideDialogContext => false; Task GetDecomposedStepAsync(Agent router, string messageId, List dialogs) => throw new NotImplementedException(""); int MaxLoopCount => 5; }