using BotSharp.Abstraction.Loggers; using BotSharp.Abstraction.Repositories; using System.IO; namespace BotSharp.Plugin.SqlDriver.Hooks; public class SqlDriverContentGeneratingHook : IContentGeneratingHook { private readonly IServiceProvider _services; public SqlDriverContentGeneratingHook(IServiceProvider services) { _services = services; } /// /// Inject useful variables generated by previous SQL query. /// /// /// /// public async Task BeforeGenerating(Agent agent, List conversations) { if (agent.Id != "beda4c12-e1ec-4b4b-b328-3df4a6687c4f") { return; } var sqlDriver = _services.GetRequiredService(); agent.TemplateDict["return_variables"] = sqlDriver.Statements.Select(x => x.Return.Alias).ToArray(); await Task.CompletedTask; } }