n8n
Version:
n8n Workflow Automation Tool
154 lines • 9.22 kB
JavaScript
"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;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.AgentsModule = void 0;
const backend_common_1 = require("@n8n/backend-common");
const config_1 = require("@n8n/config");
const decorators_1 = require("@n8n/decorators");
const di_1 = require("@n8n/di");
const n8n_core_1 = require("n8n-core");
let AgentsModule = class AgentsModule {
async init() {
await import('./agents-catalog.controller.js');
await import('./agent-threads.controller.js');
await import('./agents.controller.js');
await import('./agents-config.controller.js');
await import('./agents-skills.controller.js');
await import('./agent-knowledge.controller.js');
await import('./agent-publish.controller.js');
await import('./agent-chat.controller.js');
await import('./agent-integrations.controller.js');
await import('./agent-vector-stores.controller.js');
await import('./agent-tasks.controller.js');
await import('./agent-sandbox.controller.js');
await import('./agents-list.controller.js');
await import('./builder/agents-builder-settings.controller.js');
const { AgentsService } = await import('./agents.service.js');
di_1.Container.get(AgentsService);
const { AgentsBuilderSettingsService } = await import('./builder/agents-builder-settings.service.js');
di_1.Container.get(AgentsBuilderSettingsService);
const { AgentExecutionService } = await import('./agent-execution.service.js');
di_1.Container.get(AgentExecutionService);
const { AzureByteStore, S3ByteStore } = await import('@n8n/blob-storage');
const { AgentExecutionLogStore } = await import('./execution-log/agent-execution-log-store.js');
const { ExecutionDataJsonStore } = await import('../../executions/execution-data/execution-data-json-store.js');
const agentExecutionLogStore = di_1.Container.get(AgentExecutionLogStore);
const executionDataJsonStore = di_1.Container.get(ExecutionDataJsonStore);
if (executionDataJsonStore.hasLocation('s3')) {
const { ObjectStoreService } = await import('@n8n/blob-storage/object-store');
agentExecutionLogStore.registerByteStore('s3', new S3ByteStore(di_1.Container.get(ObjectStoreService)));
}
if (executionDataJsonStore.hasLocation('az')) {
const { AzureBlobService } = await import('@n8n/blob-storage/azure-blob');
agentExecutionLogStore.registerByteStore('az', new AzureByteStore(di_1.Container.get(AzureBlobService)));
}
const { AgentRuntimeCacheService } = await import('./agent-runtime-cache.service.js');
di_1.Container.get(AgentRuntimeCacheService);
const { AgentHistoryRepository } = await import('./repositories/agent-history.repository.js');
di_1.Container.get(AgentHistoryRepository);
const { AgentSecureRuntime } = await import('./runtime/agent-secure-runtime.js');
di_1.Container.get(AgentSecureRuntime);
const { ChatIntegrationRegistry } = await import('./integrations/agent-chat-integration.js');
const { SlackIntegration } = await import('./integrations/platforms/slack-integration.js');
const { TelegramIntegration } = await import('./integrations/platforms/telegram-integration.js');
const { LinearIntegration } = await import('./integrations/platforms/linear-integration.js');
const { N8nChatIntegration } = await import('./integrations/platforms/n8n-chat-integration.js');
const registry = di_1.Container.get(ChatIntegrationRegistry);
registry.register(di_1.Container.get(SlackIntegration));
registry.register(di_1.Container.get(TelegramIntegration));
registry.register(di_1.Container.get(LinearIntegration));
registry.register(di_1.Container.get(N8nChatIntegration));
const { ChatIntegrationService } = await import('./integrations/chat-integration.service.js');
const { AgentTaskService } = await import('./agent-task.service.js');
const chatService = di_1.Container.get(ChatIntegrationService);
const taskService = di_1.Container.get(AgentTaskService);
const logger = di_1.Container.get(backend_common_1.Logger);
const instanceSettings = di_1.Container.get(n8n_core_1.InstanceSettings);
void chatService.reconnectAll().catch((error) => {
logger.error('[Agents] Failed to reconnect integrations on startup', {
error: error instanceof Error ? error.message : String(error),
});
});
if (instanceSettings.isLeader) {
void taskService.reconnectAll().catch((error) => {
logger.error('[Agents] Failed to reconnect tasks on startup', {
error: error instanceof Error ? error.message : String(error),
});
});
}
else {
logger.debug('[Agents] Skipping task reconnect on startup — not leader');
}
}
async settings() {
const config = di_1.Container.get(config_1.AgentsConfig);
const { isAgentKnowledgeBaseEnabled } = await import('./agent-knowledge-gate.js');
const { AiService } = await import('../../services/ai.service.js');
const aiService = di_1.Container.get(AiService);
const proxyEnabled = aiService.isProxyEnabled();
return {
enabled: true,
modules: [...config.modules],
knowledgeBaseEnabled: isAgentKnowledgeBaseEnabled(config, proxyEnabled),
proxyEnabled,
};
}
async entities() {
const { Agent } = await import('./entities/agent.entity.js');
const { AgentFile } = await import('./entities/agent-file.entity.js');
const { AgentChatSubscription } = await import('./entities/agent-chat-subscription.entity.js');
const { AgentCheckpoint } = await import('./entities/agent-checkpoint.entity.js');
const { AgentResourceEntity } = await import('./entities/agent-resource.entity.js');
const { AgentThreadEntity } = await import('./entities/agent-thread.entity.js');
const { AgentMessageEntity } = await import('./entities/agent-message.entity.js');
const { AgentExecutionThread } = await import('./entities/agent-execution-thread.entity.js');
const { AgentExecution } = await import('./entities/agent-execution.entity.js');
const { AgentHistory } = await import('./entities/agent-history.entity.js');
const { AgentTask } = await import('./entities/agent-task.entity.js');
const { AgentTaskRunLock } = await import('./entities/agent-task-run-lock.entity.js');
const { AgentTaskSnapshot } = await import('./entities/agent-task-snapshot.entity.js');
const { AgentObservationEntity } = await import('./entities/agent-observation.entity.js');
const { AgentObservationCursorEntity } = await import('./entities/agent-observation-cursor.entity.js');
const { AgentObservationLockEntity } = await import('./entities/agent-observation-lock.entity.js');
const { AgentMemoryEntryEntity } = await import('./entities/agent-memory-entry.entity.js');
const { AgentMemoryEntryLockEntity } = await import('./entities/agent-memory-entry-lock.entity.js');
const { AgentMemoryEntrySourceEntity } = await import('./entities/agent-memory-entry-source.entity.js');
const { AgentMemoryEntryCursorEntity } = await import('./entities/agent-memory-entry-cursor.entity.js');
return [
Agent,
AgentFile,
AgentChatSubscription,
AgentCheckpoint,
AgentResourceEntity,
AgentThreadEntity,
AgentMessageEntity,
AgentExecutionThread,
AgentExecution,
AgentHistory,
AgentTask,
AgentTaskRunLock,
AgentTaskSnapshot,
AgentObservationEntity,
AgentObservationCursorEntity,
AgentObservationLockEntity,
AgentMemoryEntryEntity,
AgentMemoryEntryLockEntity,
AgentMemoryEntrySourceEntity,
AgentMemoryEntryCursorEntity,
];
}
async context() {
const { AgentsService } = await import('./agents.service.js');
return { agentsService: di_1.Container.get(AgentsService) };
}
};
exports.AgentsModule = AgentsModule;
exports.AgentsModule = AgentsModule = __decorate([
(0, decorators_1.BackendModule)({ name: 'agents' })
], AgentsModule);
//# sourceMappingURL=agents.module.js.map