using BotSharp.Abstraction.ApiAdapters; using BotSharp.Abstraction.Conversations.Models; using BotSharp.Abstraction.Evaluations; using BotSharp.Abstraction.Evaluations.Models; namespace BotSharp.OpenAPI.Controllers; [Authorize] [ApiController] public class EvaluationController : ControllerBase, IApiAdapter { private readonly IServiceProvider _services; public EvaluationController(IServiceProvider services) { _services = services; } [HttpPost("/evaluation/execute/{task}")] public async Task Execute([FromRoute] string task, [FromBody] EvaluationRequest request) { var eval = _services.GetRequiredService(); return await eval.Execute(task, request); } [HttpPost("/evaluation/review/{conversationId}")] public async Task Review([FromRoute] string conversationId, [FromBody] EvaluationRequest request) { var eval = _services.GetRequiredService(); return await eval.Review(conversationId, request); } [HttpPost("/evaluation/evaluate/{conversationId}")] public async Task Evaluate([FromRoute] string conversationId, [FromBody] EvaluationRequest request) { var eval = _services.GetRequiredService(); return await eval.Evaluate(conversationId, request); } }