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, List dialogs);
Task AgentExecuting(Agent router, FunctionCallFromLlm inst, RoleDialogModel message);
Task AgentExecuted(Agent router, FunctionCallFromLlm inst, RoleDialogModel message);
int MaxLoopCount => 5;
}