n8n
Version:
n8n Workflow Automation Tool
59 lines • 2.96 kB
JavaScript
;
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);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.AgentExecutionRepository = void 0;
const di_1 = require("@n8n/di");
const typeorm_1 = require("@n8n/typeorm");
const agent_execution_entity_1 = require("../entities/agent-execution.entity");
let AgentExecutionRepository = class AgentExecutionRepository extends typeorm_1.Repository {
constructor(dataSource) {
super(agent_execution_entity_1.AgentExecution, dataSource.manager);
}
async findByThreadIdOrdered(threadId) {
return await this.find({ where: { threadId }, order: { createdAt: 'ASC' } });
}
async findFirstUserMessageByThreadIds(threadIds) {
if (threadIds.length === 0)
return new Map();
const tableName = this.metadata.tablePath;
const rows = await this.createQueryBuilder('e')
.select(['e."threadId" AS "threadId"', 'e."userMessage" AS "userMessage"'])
.where('e."threadId" IN (:...threadIds)', { threadIds })
.andWhere('e."userMessage" != \'\'')
.andWhere(`e."createdAt" = (SELECT MIN(e2."createdAt") FROM ${tableName} e2 ` +
'WHERE e2."threadId" = e."threadId" AND e2."userMessage" != \'\')')
.getRawMany();
return new Map(rows.map((r) => [r.threadId, r.userMessage]));
}
async findSuspendedWithoutModel(threadId) {
return await this.find({
where: { threadId, hitlStatus: 'suspended', model: (0, typeorm_1.IsNull)() },
});
}
async backfillModel(executionIds, model) {
if (executionIds.length === 0)
return;
await this.createQueryBuilder()
.update(agent_execution_entity_1.AgentExecution)
.set({ model })
.whereInIds(executionIds)
.execute();
}
async deleteByThreadId(threadId) {
await this.delete({ threadId });
}
};
exports.AgentExecutionRepository = AgentExecutionRepository;
exports.AgentExecutionRepository = AgentExecutionRepository = __decorate([
(0, di_1.Service)(),
__metadata("design:paramtypes", [typeorm_1.DataSource])
], AgentExecutionRepository);
//# sourceMappingURL=agent-execution.repository.js.map