using BotSharp.Abstraction.Functions.Models; namespace BotSharp.Abstraction.Agents; public interface IAgentHook { /// /// Agent Id /// string SelfId { get; } Agent Agent { get; } void SetAget(Agent agent); /// /// Triggered when agent is loading. /// Return different agent for redirection purpose. /// /// Agent Id /// bool OnAgentLoading(ref string id); bool OnInstructionLoaded(string template, Dictionary dict); bool OnFunctionsLoaded(List functions); bool OnSamplesLoaded(List samples); /// /// Triggered when agent is loaded completely. /// /// /// void OnAgentLoaded(Agent agent); }