using BotSharp.Abstraction.Functions.Models; using BotSharp.Abstraction.Plugins.Models; using BotSharp.Abstraction.Repositories.Filters; namespace BotSharp.Abstraction.Agents; /// /// Agent management service /// public interface IAgentService { Task CreateAgent(Agent agent); Task RefreshAgents(); Task> GetAgents(AgentFilter filter); /// /// Load agent configurations and trigger hooks /// /// /// Task LoadAgent(string id); string RenderedInstruction(Agent agent); string RenderedTemplate(Agent agent, string templateName); bool RenderFunction(Agent agent, FunctionDef def); /// /// Get agent detail without trigger any hook. /// /// /// Original agent information Task GetAgent(string id); Task DeleteAgent(string id); Task UpdateAgent(Agent agent, AgentField updateField); Task UpdateAgentFromFile(string id); string GetDataDir(); string GetAgentDataDir(string agentId); PluginDef GetPlugin(string agentId); }