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;
}
}