using BotSharp.Abstraction.Functions.Models; namespace BotSharp.Abstraction.Loggers; /// /// Model content generating hook, it can be used for logging, metrics and tracing. /// public interface IContentGeneratingHook { /// /// Before content generating. /// /// Task BeforeGenerating(Agent agent, List conversations) => Task.CompletedTask; /// /// Before function is invoked /// /// Task BeforeFunctionInvoked(RoleDialogModel message, TokenStatsModel tokenStats) => Task.CompletedTask; /// /// After function is invoked /// /// Task AfterFunctionInvoked(RoleDialogModel message, TokenStatsModel tokenStats) => Task.CompletedTask; /// /// After content generated. /// /// Task AfterGenerated(RoleDialogModel message, TokenStatsModel tokenStats) => Task.CompletedTask; /// /// Rdndering template /// /// /// /// /// Task OnRenderingTemplate(Agent agent, string name, string content) => Task.CompletedTask; /// /// Realtime session updated /// /// /// /// /// Task OnSessionUpdated(Agent agent, string instruction, FunctionDef[] functions, bool isInit = false) => Task.CompletedTask; }