UNPKG

n8n

Version:

n8n Workflow Automation Tool

213 lines • 10.7 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __param = (this && this.__param) || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } }; Object.defineProperty(exports, "__esModule", { value: true }); exports.AgentEvalsController = void 0; const api_types_1 = require("@n8n/api-types"); const decorators_1 = require("@n8n/decorators"); const bad_request_error_1 = require("../../errors/response-errors/bad-request.error"); const agent_eval_rating_service_1 = require("./agent-eval-rating.service"); const agent_eval_service_1 = require("./agent-eval.service"); const agent_evals_flag_gate_1 = require("./agent-evals-flag-gate"); let AgentEvalsController = class AgentEvalsController { constructor(service, ratingService, flagGate) { this.service = service; this.ratingService = ratingService; this.flagGate = flagGate; } async listDatasets(req) { await this.flagGate.assertEnabled(req.user); const { agentId, projectId } = req.params; return await this.service.listDatasets(agentId, projectId); } async createDataset(req) { await this.flagGate.assertEnabled(req.user); const { agentId, projectId } = req.params; const parsed = api_types_1.createAgentEvalDatasetSchema.safeParse(req.body); if (!parsed.success) { throw new bad_request_error_1.BadRequestError(parsed.error.issues.map((i) => i.message).join(', ')); } return await this.service.createDataset(req.user, agentId, projectId, parsed.data); } async getDataset(req) { await this.flagGate.assertEnabled(req.user); const { agentId, projectId, datasetId } = req.params; return await this.service.getDataset(agentId, projectId, datasetId); } async updateDataset(req, _res, payload) { await this.flagGate.assertEnabled(req.user); const { agentId, projectId, datasetId } = req.params; return await this.service.updateDataset(agentId, projectId, datasetId, payload); } async deleteDataset(req) { await this.flagGate.assertEnabled(req.user); const { agentId, projectId, datasetId } = req.params; await this.service.deleteDataset(agentId, projectId, datasetId); return { success: true }; } async generateDraftCases(req, _res, payload) { await this.flagGate.assertEnabled(req.user); const { agentId, projectId } = req.params; return await this.service.generateDraftCases(req.user, agentId, projectId, payload); } async startRun(req, _res, payload) { await this.flagGate.assertEnabled(req.user); const { agentId, projectId, datasetId } = req.params; return await this.service.startRun(req.user, agentId, projectId, datasetId, payload); } async listRuns(req, _res, query) { await this.flagGate.assertEnabled(req.user); const { agentId, projectId, datasetId } = req.params; return await this.service.listRuns(agentId, projectId, datasetId, query); } async getRun(req, _res, query) { await this.flagGate.assertEnabled(req.user); const { agentId, projectId, runId } = req.params; return await this.service.getRunDetail(agentId, projectId, runId, query); } async getRunSummary(req) { await this.flagGate.assertEnabled(req.user); const { agentId, projectId, runId } = req.params; return await this.service.getRunSummary(agentId, projectId, runId); } async cancelRun(req) { await this.flagGate.assertEnabled(req.user); const { agentId, projectId, runId } = req.params; return await this.service.cancelRun(agentId, projectId, runId); } async rateResult(req, _res, payload) { await this.flagGate.assertEnabled(req.user); const { agentId, projectId, resultId } = req.params; return await this.ratingService.rateResult(req.user, agentId, projectId, resultId, payload); } async listRatingsForResult(req) { await this.flagGate.assertEnabled(req.user); const { agentId, projectId, resultId } = req.params; return await this.ratingService.listRatingsForResult(agentId, projectId, resultId); } async listLatestRatingsForRun(req) { await this.flagGate.assertEnabled(req.user); const { agentId, projectId, runId } = req.params; return await this.ratingService.listLatestRatingsForRun(agentId, projectId, runId); } }; exports.AgentEvalsController = AgentEvalsController; __decorate([ (0, decorators_1.Get)('/:agentId/evals/datasets'), (0, decorators_1.ProjectScope)('agent:read'), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Promise) ], AgentEvalsController.prototype, "listDatasets", null); __decorate([ (0, decorators_1.Post)('/:agentId/evals/datasets'), (0, decorators_1.ProjectScope)('agent:update'), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Promise) ], AgentEvalsController.prototype, "createDataset", null); __decorate([ (0, decorators_1.Get)('/:agentId/evals/datasets/:datasetId'), (0, decorators_1.ProjectScope)('agent:read'), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Promise) ], AgentEvalsController.prototype, "getDataset", null); __decorate([ (0, decorators_1.Patch)('/:agentId/evals/datasets/:datasetId'), (0, decorators_1.ProjectScope)('agent:update'), __param(2, decorators_1.Body), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, Object, api_types_1.UpdateAgentEvalDatasetDto]), __metadata("design:returntype", Promise) ], AgentEvalsController.prototype, "updateDataset", null); __decorate([ (0, decorators_1.Delete)('/:agentId/evals/datasets/:datasetId'), (0, decorators_1.ProjectScope)('agent:update'), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Promise) ], AgentEvalsController.prototype, "deleteDataset", null); __decorate([ (0, decorators_1.Post)('/:agentId/evals/generate'), (0, decorators_1.ProjectScope)('agent:update'), __param(2, decorators_1.Body), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, Object, api_types_1.GenerateDraftCasesOptionsDto]), __metadata("design:returntype", Promise) ], AgentEvalsController.prototype, "generateDraftCases", null); __decorate([ (0, decorators_1.Post)('/:agentId/evals/datasets/:datasetId/runs'), (0, decorators_1.ProjectScope)('agent:execute'), __param(2, decorators_1.Body), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, Object, api_types_1.CreateAgentEvalRunDto]), __metadata("design:returntype", Promise) ], AgentEvalsController.prototype, "startRun", null); __decorate([ (0, decorators_1.Get)('/:agentId/evals/datasets/:datasetId/runs'), (0, decorators_1.ProjectScope)('agent:read'), __param(2, decorators_1.Query), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, Object, api_types_1.PaginationDto]), __metadata("design:returntype", Promise) ], AgentEvalsController.prototype, "listRuns", null); __decorate([ (0, decorators_1.Get)('/:agentId/evals/runs/:runId'), (0, decorators_1.ProjectScope)('agent:read'), __param(2, decorators_1.Query), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, Object, api_types_1.AgentEvalRunDetailQueryDto]), __metadata("design:returntype", Promise) ], AgentEvalsController.prototype, "getRun", null); __decorate([ (0, decorators_1.Get)('/:agentId/evals/runs/:runId/summary'), (0, decorators_1.ProjectScope)('agent:read'), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Promise) ], AgentEvalsController.prototype, "getRunSummary", null); __decorate([ (0, decorators_1.Post)('/:agentId/evals/runs/:runId/cancel'), (0, decorators_1.ProjectScope)('agent:update'), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Promise) ], AgentEvalsController.prototype, "cancelRun", null); __decorate([ (0, decorators_1.Post)('/:agentId/evals/results/:resultId/ratings'), (0, decorators_1.ProjectScope)('agent:update'), __param(2, decorators_1.Body), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, Object, api_types_1.CreateAgentEvalRatingDto]), __metadata("design:returntype", Promise) ], AgentEvalsController.prototype, "rateResult", null); __decorate([ (0, decorators_1.Get)('/:agentId/evals/results/:resultId/ratings'), (0, decorators_1.ProjectScope)('agent:read'), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Promise) ], AgentEvalsController.prototype, "listRatingsForResult", null); __decorate([ (0, decorators_1.Get)('/:agentId/evals/runs/:runId/ratings'), (0, decorators_1.ProjectScope)('agent:read'), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Promise) ], AgentEvalsController.prototype, "listLatestRatingsForRun", null); exports.AgentEvalsController = AgentEvalsController = __decorate([ (0, decorators_1.RestController)('/projects/:projectId/agents/v2'), __metadata("design:paramtypes", [agent_eval_service_1.AgentEvalService, agent_eval_rating_service_1.AgentEvalRatingService, agent_evals_flag_gate_1.AgentEvalsFlagGate]) ], AgentEvalsController); //# sourceMappingURL=agent-evals.controller.js.map