n8n 1.120.4 → 1.121.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/abstract-server.d.ts +1 -1
- package/dist/abstract-server.js +4 -4
- package/dist/abstract-server.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/chat/utils.js +5 -3
- package/dist/chat/utils.js.map +1 -1
- package/dist/commands/base-command.js +2 -2
- package/dist/commands/base-command.js.map +1 -1
- package/dist/commands/execute-batch.d.ts +1 -1
- package/dist/commands/execute.d.ts +2 -2
- package/dist/commands/export/credentials.d.ts +2 -2
- package/dist/commands/export/entities.d.ts +3 -0
- package/dist/commands/export/entities.js +9 -2
- package/dist/commands/export/entities.js.map +1 -1
- package/dist/commands/export/workflow.d.ts +2 -2
- package/dist/commands/import/credentials.d.ts +2 -2
- package/dist/commands/import/entities.d.ts +3 -0
- package/dist/commands/import/entities.js +10 -2
- package/dist/commands/import/entities.js.map +1 -1
- package/dist/commands/import/workflow.d.ts +2 -2
- package/dist/commands/ttwf/generate.d.ts +3 -3
- package/dist/constants.js +1 -0
- package/dist/constants.js.map +1 -1
- package/dist/controllers/auth.controller.js +4 -0
- package/dist/controllers/auth.controller.js.map +1 -1
- package/dist/controllers/e2e.controller.js +0 -1
- package/dist/controllers/e2e.controller.js.map +1 -1
- package/dist/controllers/invitation.controller.js +8 -4
- package/dist/controllers/invitation.controller.js.map +1 -1
- package/dist/credentials/credentials.service.d.ts +2 -0
- package/dist/credentials/credentials.service.js +33 -10
- package/dist/credentials/credentials.service.js.map +1 -1
- package/dist/evaluation.ee/test-runner/test-runner.service.ee.js +11 -23
- package/dist/evaluation.ee/test-runner/test-runner.service.ee.js.map +1 -1
- package/dist/eventbus/message-event-bus-destination/message-event-bus-destination-sentry.ee.js +1 -0
- package/dist/eventbus/message-event-bus-destination/message-event-bus-destination-sentry.ee.js.map +1 -1
- package/dist/eventbus/message-event-bus-destination/message-event-bus-destination-syslog.ee.js +1 -0
- package/dist/eventbus/message-event-bus-destination/message-event-bus-destination-syslog.ee.js.map +1 -1
- package/dist/eventbus/message-event-bus-destination/message-event-bus-destination-webhook.ee.d.ts +4 -2
- package/dist/eventbus/message-event-bus-destination/message-event-bus-destination-webhook.ee.js +55 -29
- package/dist/eventbus/message-event-bus-destination/message-event-bus-destination-webhook.ee.js.map +1 -1
- package/dist/eventbus/message-event-bus-destination/message-event-bus-destination.ee.d.ts +2 -0
- package/dist/eventbus/message-event-bus-destination/message-event-bus-destination.ee.js +23 -1
- package/dist/eventbus/message-event-bus-destination/message-event-bus-destination.ee.js.map +1 -1
- package/dist/execution-lifecycle/execute-error-workflow.js +1 -0
- package/dist/execution-lifecycle/execute-error-workflow.js.map +1 -1
- package/dist/execution-lifecycle/save-execution-progress.d.ts +1 -1
- package/dist/execution-lifecycle/save-execution-progress.js +2 -13
- package/dist/execution-lifecycle/save-execution-progress.js.map +1 -1
- package/dist/executions/execution.service.js +1 -45
- package/dist/executions/execution.service.js.map +1 -1
- package/dist/interfaces.d.ts +2 -1
- package/dist/ldap.ee/constants.d.ts +3 -0
- package/dist/ldap.ee/constants.js +4 -0
- package/dist/ldap.ee/constants.js.map +1 -1
- package/dist/ldap.ee/ldap.service.ee.d.ts +1 -0
- package/dist/ldap.ee/ldap.service.ee.js +26 -0
- package/dist/ldap.ee/ldap.service.ee.js.map +1 -1
- package/dist/license.d.ts +0 -1
- package/dist/license.js +2 -4
- package/dist/license.js.map +1 -1
- package/dist/manual-execution.service.js +6 -5
- package/dist/manual-execution.service.js.map +1 -1
- package/dist/modules/breaking-changes/breaking-changes.controller.d.ts +1 -2
- package/dist/modules/breaking-changes/breaking-changes.controller.js +1 -1
- package/dist/modules/breaking-changes/breaking-changes.controller.js.map +1 -1
- package/dist/modules/breaking-changes/breaking-changes.service.d.ts +3 -3
- package/dist/modules/breaking-changes/breaking-changes.service.js +16 -11
- package/dist/modules/breaking-changes/breaking-changes.service.js.map +1 -1
- package/dist/modules/breaking-changes/rules/index.d.ts +1 -1
- package/dist/modules/breaking-changes/rules/v2/binary-data-storage.rule.d.ts +9 -0
- package/dist/modules/breaking-changes/rules/v2/binary-data-storage.rule.js +70 -0
- package/dist/modules/breaking-changes/rules/v2/binary-data-storage.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/cli-activate-all-workflows.rule.d.ts +6 -0
- package/dist/modules/breaking-changes/rules/v2/cli-activate-all-workflows.rule.js +53 -0
- package/dist/modules/breaking-changes/rules/v2/cli-activate-all-workflows.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/disabled-nodes.rule.d.ts +11 -0
- package/dist/modules/breaking-changes/rules/v2/disabled-nodes.rule.js +64 -0
- package/dist/modules/breaking-changes/rules/v2/disabled-nodes.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/dotenv-upgrade.rule.d.ts +7 -0
- package/dist/modules/breaking-changes/rules/v2/dotenv-upgrade.rule.js +74 -0
- package/dist/modules/breaking-changes/rules/v2/dotenv-upgrade.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/file-access.rule.d.ts +4 -4
- package/dist/modules/breaking-changes/rules/v2/file-access.rule.js +3 -2
- package/dist/modules/breaking-changes/rules/v2/file-access.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v2/git-node-bare-repos.rule.d.ts +10 -0
- package/dist/modules/breaking-changes/rules/v2/git-node-bare-repos.rule.js +66 -0
- package/dist/modules/breaking-changes/rules/v2/git-node-bare-repos.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/index.d.ts +8 -2
- package/dist/modules/breaking-changes/rules/v2/index.js +35 -1
- package/dist/modules/breaking-changes/rules/v2/index.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v2/oauth-callback-auth.rule.d.ts +6 -0
- package/dist/modules/breaking-changes/rules/v2/oauth-callback-auth.rule.js +51 -0
- package/dist/modules/breaking-changes/rules/v2/oauth-callback-auth.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/process-env-access.rule.js +8 -1
- package/dist/modules/breaking-changes/rules/v2/process-env-access.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v2/pyodide-removed.rule.d.ts +10 -0
- package/dist/modules/breaking-changes/rules/v2/pyodide-removed.rule.js +65 -0
- package/dist/modules/breaking-changes/rules/v2/pyodide-removed.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/queue-worker-max-stalled-count.rule.d.ts +6 -0
- package/dist/modules/breaking-changes/rules/v2/queue-worker-max-stalled-count.rule.js +51 -0
- package/dist/modules/breaking-changes/rules/v2/queue-worker-max-stalled-count.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/removed-database-types.rule.d.ts +9 -0
- package/dist/modules/breaking-changes/rules/v2/removed-database-types.rule.js +57 -0
- package/dist/modules/breaking-changes/rules/v2/removed-database-types.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/removed-nodes.rule.d.ts +3 -3
- package/dist/modules/breaking-changes/rules/v2/removed-nodes.rule.js +3 -2
- package/dist/modules/breaking-changes/rules/v2/removed-nodes.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v2/settings-file-permissions.rule.d.ts +9 -0
- package/dist/modules/breaking-changes/rules/v2/settings-file-permissions.rule.js +70 -0
- package/dist/modules/breaking-changes/rules/v2/settings-file-permissions.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/sqlite-legacy-driver.rule.d.ts +9 -0
- package/dist/modules/breaking-changes/rules/v2/sqlite-legacy-driver.rule.js +75 -0
- package/dist/modules/breaking-changes/rules/v2/sqlite-legacy-driver.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/task-runner-docker-image.rule.d.ts +6 -0
- package/dist/modules/breaking-changes/rules/v2/task-runner-docker-image.rule.js +57 -0
- package/dist/modules/breaking-changes/rules/v2/task-runner-docker-image.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/task-runners.rule.d.ts +9 -0
- package/dist/modules/breaking-changes/rules/v2/task-runners.rule.js +64 -0
- package/dist/modules/breaking-changes/rules/v2/task-runners.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/tunnel-option.rule.d.ts +6 -0
- package/dist/modules/breaking-changes/rules/v2/tunnel-option.rule.js +44 -0
- package/dist/modules/breaking-changes/rules/v2/tunnel-option.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/wait-node-subworkflow.rule.d.ts +12 -0
- package/dist/modules/breaking-changes/rules/v2/wait-node-subworkflow.rule.js +112 -0
- package/dist/modules/breaking-changes/rules/v2/wait-node-subworkflow.rule.js.map +1 -0
- package/dist/modules/breaking-changes/types/rule.types.d.ts +1 -2
- package/dist/modules/breaking-changes/types/rule.types.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-agent.entity.d.ts +2 -0
- package/dist/modules/chat-hub/chat-hub-agent.entity.js +4 -0
- package/dist/modules/chat-hub/chat-hub-agent.entity.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-agent.service.d.ts +3 -0
- package/dist/modules/chat-hub/chat-hub-agent.service.js +3 -0
- package/dist/modules/chat-hub/chat-hub-agent.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-session.entity.d.ts +2 -0
- package/dist/modules/chat-hub/chat-hub-session.entity.js +4 -0
- package/dist/modules/chat-hub/chat-hub-session.entity.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-workflow.service.d.ts +3 -2
- package/dist/modules/chat-hub/chat-hub-workflow.service.js +64 -30
- package/dist/modules/chat-hub/chat-hub-workflow.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.controller.d.ts +1 -1
- package/dist/modules/chat-hub/chat-hub.controller.js +2 -2
- package/dist/modules/chat-hub/chat-hub.controller.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.service.d.ts +8 -7
- package/dist/modules/chat-hub/chat-hub.service.js +65 -70
- package/dist/modules/chat-hub/chat-hub.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.types.d.ts +3 -10
- package/dist/modules/data-table/data-table-rows.repository.d.ts +2 -1
- package/dist/modules/data-table/data-table-rows.repository.js +38 -3
- package/dist/modules/data-table/data-table-rows.repository.js.map +1 -1
- package/dist/modules/data-table/data-table.service.d.ts +1 -1
- package/dist/modules/data-table/data-table.service.js +2 -2
- package/dist/modules/data-table/data-table.service.js.map +1 -1
- package/dist/modules/mcp/mcp.constants.d.ts +6 -0
- package/dist/modules/mcp/mcp.constants.js +8 -1
- package/dist/modules/mcp/mcp.constants.js.map +1 -1
- package/dist/modules/mcp/mcp.errors.d.ts +6 -0
- package/dist/modules/mcp/mcp.errors.js +16 -0
- package/dist/modules/mcp/mcp.errors.js.map +1 -0
- package/dist/modules/mcp/mcp.service.d.ts +5 -1
- package/dist/modules/mcp/mcp.service.js +11 -2
- package/dist/modules/mcp/mcp.service.js.map +1 -1
- package/dist/modules/mcp/mcp.settings.controller.js +5 -4
- package/dist/modules/mcp/mcp.settings.controller.js.map +1 -1
- package/dist/modules/mcp/mcp.types.d.ts +18 -0
- package/dist/modules/mcp/mcp.utils.d.ts +3 -1
- package/dist/modules/mcp/mcp.utils.js +7 -1
- package/dist/modules/mcp/mcp.utils.js.map +1 -1
- package/dist/modules/mcp/tools/execute-workflow.tool.d.ts +107 -0
- package/dist/modules/mcp/tools/execute-workflow.tool.js +308 -0
- package/dist/modules/mcp/tools/execute-workflow.tool.js.map +1 -0
- package/dist/modules/mcp/tools/get-workflow-details.tool.js +11 -5
- package/dist/modules/mcp/tools/get-workflow-details.tool.js.map +1 -1
- package/dist/modules/mcp/tools/schemas.d.ts +5 -0
- package/dist/modules/mcp/tools/schemas.js +1 -0
- package/dist/modules/mcp/tools/schemas.js.map +1 -1
- package/dist/modules/mcp/tools/search-workflows.tool.js +24 -8
- package/dist/modules/mcp/tools/search-workflows.tool.js.map +1 -1
- package/dist/modules/mcp/tools/webhook-utils.d.ts +2 -1
- package/dist/modules/mcp/tools/webhook-utils.js +68 -4
- package/dist/modules/mcp/tools/webhook-utils.js.map +1 -1
- package/dist/public-api/v1/handlers/workflows/workflows.handler.js +3 -3
- package/dist/public-api/v1/handlers/workflows/workflows.handler.js.map +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.js +1 -1
- package/dist/server.js.map +1 -1
- package/dist/services/credentials-tester.service.js +1 -5
- package/dist/services/credentials-tester.service.js.map +1 -1
- package/dist/services/dynamic-node-parameters.service.js +1 -1
- package/dist/services/dynamic-node-parameters.service.js.map +1 -1
- package/dist/services/export.service.d.ts +1 -1
- package/dist/services/export.service.js +16 -5
- package/dist/services/export.service.js.map +1 -1
- package/dist/services/frontend.service.js +3 -11
- package/dist/services/frontend.service.js.map +1 -1
- package/dist/services/import.service.d.ts +4 -4
- package/dist/services/import.service.js +20 -9
- package/dist/services/import.service.js.map +1 -1
- package/dist/sso.ee/oidc/oidc.service.ee.d.ts +1 -1
- package/dist/sso.ee/oidc/oidc.service.ee.js +5 -0
- package/dist/sso.ee/oidc/oidc.service.ee.js.map +1 -1
- package/dist/sso.ee/oidc/routes/oidc.controller.ee.d.ts +1 -1
- package/dist/sso.ee/sso-helpers.d.ts +1 -0
- package/dist/sso.ee/sso-helpers.js +6 -0
- package/dist/sso.ee/sso-helpers.js.map +1 -1
- package/dist/task-runners/errors/task-request-timeout.error.d.ts +8 -0
- package/dist/task-runners/errors/task-request-timeout.error.js +19 -0
- package/dist/task-runners/errors/task-request-timeout.error.js.map +1 -0
- package/dist/task-runners/task-broker/task-broker.service.d.ts +3 -0
- package/dist/task-runners/task-broker/task-broker.service.js +22 -0
- package/dist/task-runners/task-broker/task-broker.service.js.map +1 -1
- package/dist/task-runners/task-managers/local-task-requester.d.ts +3 -1
- package/dist/task-runners/task-managers/local-task-requester.js +9 -3
- package/dist/task-runners/task-managers/local-task-requester.js.map +1 -1
- package/dist/task-runners/task-managers/task-requester.d.ts +8 -2
- package/dist/task-runners/task-managers/task-requester.js +34 -2
- package/dist/task-runners/task-managers/task-requester.js.map +1 -1
- package/dist/utils/circuit-breaker.d.ts +36 -0
- package/dist/utils/circuit-breaker.js +118 -0
- package/dist/utils/circuit-breaker.js.map +1 -0
- package/dist/utils/sliding-window.d.ts +13 -0
- package/dist/utils/sliding-window.js +27 -0
- package/dist/utils/sliding-window.js.map +1 -0
- package/dist/webhooks/webhook-helpers.js +5 -17
- package/dist/webhooks/webhook-helpers.js.map +1 -1
- package/dist/webhooks/webhook.service.js +26 -3
- package/dist/webhooks/webhook.service.js.map +1 -1
- package/dist/workflow-execute-additional-data.d.ts +1 -1
- package/dist/workflow-execute-additional-data.js +4 -13
- package/dist/workflow-execute-additional-data.js.map +1 -1
- package/dist/workflows/workflow-execution.service.js +12 -25
- package/dist/workflows/workflow-execution.service.js.map +1 -1
- package/dist/workflows/{workflow-history.ee/workflow-history-helper.ee.d.ts → workflow-history/workflow-history-helper.d.ts} +0 -2
- package/dist/workflows/{workflow-history.ee/workflow-history-helper.ee.js → workflow-history/workflow-history-helper.js} +1 -10
- package/dist/workflows/workflow-history/workflow-history-helper.js.map +1 -0
- package/dist/workflows/{workflow-history.ee/workflow-history-manager.ee.js → workflow-history/workflow-history-manager.js} +4 -7
- package/dist/workflows/workflow-history/workflow-history-manager.js.map +1 -0
- package/dist/workflows/{workflow-history.ee/workflow-history.controller.ee.d.ts → workflow-history/workflow-history.controller.d.ts} +1 -4
- package/dist/workflows/{workflow-history.ee/workflow-history.controller.ee.js → workflow-history/workflow-history.controller.js} +4 -33
- package/dist/workflows/workflow-history/workflow-history.controller.js.map +1 -0
- package/dist/workflows/{workflow-history.ee/workflow-history.service.ee.js → workflow-history/workflow-history.service.js} +18 -18
- package/dist/workflows/workflow-history/workflow-history.service.js.map +1 -0
- package/dist/workflows/workflow.service.d.ts +1 -1
- package/dist/workflows/workflow.service.js +15 -8
- package/dist/workflows/workflow.service.js.map +1 -1
- package/dist/workflows/workflows.controller.d.ts +1 -1
- package/dist/workflows/workflows.controller.js +2 -2
- package/dist/workflows/workflows.controller.js.map +1 -1
- package/package.json +16 -16
- package/templates/form-trigger.handlebars +2 -3
- package/dist/workflows/workflow-history.ee/workflow-history-helper.ee.js.map +0 -1
- package/dist/workflows/workflow-history.ee/workflow-history-manager.ee.js.map +0 -1
- package/dist/workflows/workflow-history.ee/workflow-history.controller.ee.js.map +0 -1
- package/dist/workflows/workflow-history.ee/workflow-history.service.ee.js.map +0 -1
- /package/dist/workflows/{workflow-history.ee/workflow-history-manager.ee.d.ts → workflow-history/workflow-history-manager.d.ts} +0 -0
- /package/dist/workflows/{workflow-history.ee/workflow-history.service.ee.d.ts → workflow-history/workflow-history.service.d.ts} +0 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.TaskRunnerDockerImageRule = void 0;
|
|
10
|
+
const di_1 = require("@n8n/di");
|
|
11
|
+
let TaskRunnerDockerImageRule = class TaskRunnerDockerImageRule {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.id = 'task-runner-docker-image-v2';
|
|
14
|
+
}
|
|
15
|
+
getMetadata() {
|
|
16
|
+
return {
|
|
17
|
+
version: 'v2',
|
|
18
|
+
title: 'Remove task runner from n8nio/n8n docker image',
|
|
19
|
+
description: 'Task runners are no longer included in the n8nio/n8n docker image and must use the separate n8nio/runners image',
|
|
20
|
+
category: "infrastructure",
|
|
21
|
+
severity: 'medium',
|
|
22
|
+
documentationUrl: 'https://docs.n8n.io/2-0-breaking-changes/#remove-task-runner-from-n8nion8n-docker-image',
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
async detect() {
|
|
26
|
+
const result = {
|
|
27
|
+
isAffected: true,
|
|
28
|
+
instanceIssues: [
|
|
29
|
+
{
|
|
30
|
+
title: 'Task runner removed from main Docker image',
|
|
31
|
+
description: 'The task runner is no longer bundled with the n8nio/n8n Docker image. If you are using task runners in Docker, you must use the separate n8nio/runners image.',
|
|
32
|
+
level: 'warning',
|
|
33
|
+
},
|
|
34
|
+
],
|
|
35
|
+
recommendations: [
|
|
36
|
+
{
|
|
37
|
+
action: 'Update Docker configuration',
|
|
38
|
+
description: 'Change the task runner Docker image from n8nio/n8n to n8nio/runners in your docker-compose.yml or Kubernetes configuration',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
action: 'Configure external task runners',
|
|
42
|
+
description: 'Set up external task runners using the n8nio/runners image and configure n8n to connect to them using N8N_RUNNERS_MODE=external',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
action: 'Review task runner documentation',
|
|
46
|
+
description: 'Consult the updated task runner documentation for migration steps and configuration examples',
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
};
|
|
50
|
+
return result;
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
exports.TaskRunnerDockerImageRule = TaskRunnerDockerImageRule;
|
|
54
|
+
exports.TaskRunnerDockerImageRule = TaskRunnerDockerImageRule = __decorate([
|
|
55
|
+
(0, di_1.Service)()
|
|
56
|
+
], TaskRunnerDockerImageRule);
|
|
57
|
+
//# sourceMappingURL=task-runner-docker-image.rule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-runner-docker-image.rule.js","sourceRoot":"","sources":["../../../../../src/modules/breaking-changes/rules/v2/task-runner-docker-image.rule.ts"],"names":[],"mappings":";;;;;;;;;AAAA,gCAAkC;AAU3B,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAA/B;QACN,OAAE,GAAW,6BAA6B,CAAC;IA+C5C,CAAC;IA7CA,WAAW;QACV,OAAO;YACN,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,gDAAgD;YACvD,WAAW,EACV,iHAAiH;YAClH,QAAQ,kBAAuC;YAC/C,QAAQ,EAAE,QAAQ;YAClB,gBAAgB,EACf,yFAAyF;SAC1F,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM;QACX,MAAM,MAAM,GAA4B;YACvC,UAAU,EAAE,IAAI;YAChB,cAAc,EAAE;gBACf;oBACC,KAAK,EAAE,4CAA4C;oBACnD,WAAW,EACV,+JAA+J;oBAChK,KAAK,EAAE,SAAS;iBAChB;aACD;YACD,eAAe,EAAE;gBAChB;oBACC,MAAM,EAAE,6BAA6B;oBACrC,WAAW,EACV,4HAA4H;iBAC7H;gBACD;oBACC,MAAM,EAAE,iCAAiC;oBACzC,WAAW,EACV,iIAAiI;iBAClI;gBACD;oBACC,MAAM,EAAE,kCAAkC;oBAC1C,WAAW,EACV,8FAA8F;iBAC/F;aACD;SACD,CAAC;QAEF,OAAO,MAAM,CAAC;IACf,CAAC;CACD,CAAA;AAhDY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,YAAO,GAAE;GACG,yBAAyB,CAgDrC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TaskRunnersConfig } from '@n8n/config';
|
|
2
|
+
import type { BreakingChangeRuleMetadata, IBreakingChangeInstanceRule, InstanceDetectionReport } from '../../types';
|
|
3
|
+
export declare class TaskRunnersRule implements IBreakingChangeInstanceRule {
|
|
4
|
+
private readonly taskRunnersConfig;
|
|
5
|
+
constructor(taskRunnersConfig: TaskRunnersConfig);
|
|
6
|
+
id: string;
|
|
7
|
+
getMetadata(): BreakingChangeRuleMetadata;
|
|
8
|
+
detect(): Promise<InstanceDetectionReport>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.TaskRunnersRule = void 0;
|
|
13
|
+
const config_1 = require("@n8n/config");
|
|
14
|
+
const di_1 = require("@n8n/di");
|
|
15
|
+
let TaskRunnersRule = class TaskRunnersRule {
|
|
16
|
+
constructor(taskRunnersConfig) {
|
|
17
|
+
this.taskRunnersConfig = taskRunnersConfig;
|
|
18
|
+
this.id = 'task-runners-v2';
|
|
19
|
+
}
|
|
20
|
+
getMetadata() {
|
|
21
|
+
return {
|
|
22
|
+
version: 'v2',
|
|
23
|
+
title: 'Enable Task Runners by default',
|
|
24
|
+
description: 'Task Runners are now enabled by default, changing execution model and resource usage',
|
|
25
|
+
category: "infrastructure",
|
|
26
|
+
severity: 'medium',
|
|
27
|
+
documentationUrl: 'https://docs.n8n.io/2-0-breaking-changes/#enable-task-runners-by-default',
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
async detect() {
|
|
31
|
+
const result = {
|
|
32
|
+
isAffected: false,
|
|
33
|
+
instanceIssues: [],
|
|
34
|
+
recommendations: [],
|
|
35
|
+
};
|
|
36
|
+
if (!this.taskRunnersConfig.enabled) {
|
|
37
|
+
result.isAffected = true;
|
|
38
|
+
result.instanceIssues.push({
|
|
39
|
+
title: 'Task Runners will be enabled by default',
|
|
40
|
+
description: 'Task Runners change the execution model to use separate processes for workflow execution. This may affect memory footprint and execution latency. N8N_RUNNERS_MAX_CONCURRENCY will default to 5 (previously 10).',
|
|
41
|
+
level: 'warning',
|
|
42
|
+
});
|
|
43
|
+
result.recommendations.push({
|
|
44
|
+
action: 'Review concurrency settings',
|
|
45
|
+
description: 'Keep concurrency at 5 or raise back to 10 with N8N_RUNNERS_MAX_CONCURRENCY if your environment permits',
|
|
46
|
+
});
|
|
47
|
+
result.recommendations.push({
|
|
48
|
+
action: 'Configure runner memory limits',
|
|
49
|
+
description: 'Set N8N_RUNNERS_MAX_OLD_SPACE_SIZE to limit runner memory usage as needed for your infrastructure',
|
|
50
|
+
});
|
|
51
|
+
result.recommendations.push({
|
|
52
|
+
action: 'Consider external task runners',
|
|
53
|
+
description: 'For better scalability, consider migrating to external task runner mode',
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
return result;
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
exports.TaskRunnersRule = TaskRunnersRule;
|
|
60
|
+
exports.TaskRunnersRule = TaskRunnersRule = __decorate([
|
|
61
|
+
(0, di_1.Service)(),
|
|
62
|
+
__metadata("design:paramtypes", [config_1.TaskRunnersConfig])
|
|
63
|
+
], TaskRunnersRule);
|
|
64
|
+
//# sourceMappingURL=task-runners.rule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-runners.rule.js","sourceRoot":"","sources":["../../../../../src/modules/breaking-changes/rules/v2/task-runners.rule.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wCAAgD;AAChD,gCAAkC;AAU3B,IAAM,eAAe,GAArB,MAAM,eAAe;IAC3B,YAA6B,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;QAEjE,OAAE,GAAW,iBAAiB,CAAC;IAFqC,CAAC;IAIrE,WAAW;QACV,OAAO;YACN,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,gCAAgC;YACvC,WAAW,EACV,sFAAsF;YACvF,QAAQ,kBAAuC;YAC/C,QAAQ,EAAE,QAAQ;YAClB,gBAAgB,EAAE,0EAA0E;SAC5F,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM;QACX,MAAM,MAAM,GAA4B;YACvC,UAAU,EAAE,KAAK;YACjB,cAAc,EAAE,EAAE;YAClB,eAAe,EAAE,EAAE;SACnB,CAAC;QAIF,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;YACzB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC;gBAC1B,KAAK,EAAE,yCAAyC;gBAChD,WAAW,EACV,kNAAkN;gBACnN,KAAK,EAAE,SAAS;aAChB,CAAC,CAAC;YAEH,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC;gBAC3B,MAAM,EAAE,6BAA6B;gBACrC,WAAW,EACV,wGAAwG;aACzG,CAAC,CAAC;YAEH,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC;gBAC3B,MAAM,EAAE,gCAAgC;gBACxC,WAAW,EACV,mGAAmG;aACpG,CAAC,CAAC;YAEH,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC;gBAC3B,MAAM,EAAE,gCAAgC;gBACxC,WAAW,EAAE,yEAAyE;aACtF,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IACf,CAAC;CACD,CAAA;AAvDY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,YAAO,GAAE;qCAEuC,0BAAiB;GADrD,eAAe,CAuD3B"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { BreakingChangeRuleMetadata, IBreakingChangeInstanceRule, InstanceDetectionReport } from '../../types';
|
|
2
|
+
export declare class TunnelOptionRule implements IBreakingChangeInstanceRule {
|
|
3
|
+
id: string;
|
|
4
|
+
getMetadata(): BreakingChangeRuleMetadata;
|
|
5
|
+
detect(): Promise<InstanceDetectionReport>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.TunnelOptionRule = void 0;
|
|
10
|
+
const di_1 = require("@n8n/di");
|
|
11
|
+
let TunnelOptionRule = class TunnelOptionRule {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.id = 'tunnel-option-v2';
|
|
14
|
+
}
|
|
15
|
+
getMetadata() {
|
|
16
|
+
return {
|
|
17
|
+
version: 'v2',
|
|
18
|
+
title: 'Remove n8n --tunnel option',
|
|
19
|
+
description: 'The --tunnel CLI option has been removed and will be ignored',
|
|
20
|
+
category: "instance",
|
|
21
|
+
severity: 'low',
|
|
22
|
+
documentationUrl: 'https://docs.n8n.io/2-0-breaking-changes/#remove-n8n-tunnel-option',
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
async detect() {
|
|
26
|
+
const result = {
|
|
27
|
+
isAffected: true,
|
|
28
|
+
instanceIssues: [
|
|
29
|
+
{
|
|
30
|
+
title: '--tunnel option removed',
|
|
31
|
+
description: 'The --tunnel CLI option is no longer available. If you were using this feature, calls with the --tunnel flag will ignore the flag and not run the tunnel system.',
|
|
32
|
+
level: 'info',
|
|
33
|
+
},
|
|
34
|
+
],
|
|
35
|
+
recommendations: [],
|
|
36
|
+
};
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
exports.TunnelOptionRule = TunnelOptionRule;
|
|
41
|
+
exports.TunnelOptionRule = TunnelOptionRule = __decorate([
|
|
42
|
+
(0, di_1.Service)()
|
|
43
|
+
], TunnelOptionRule);
|
|
44
|
+
//# sourceMappingURL=tunnel-option.rule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tunnel-option.rule.js","sourceRoot":"","sources":["../../../../../src/modules/breaking-changes/rules/v2/tunnel-option.rule.ts"],"names":[],"mappings":";;;;;;;;;AAAA,gCAAkC;AAU3B,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAAtB;QACN,OAAE,GAAW,kBAAkB,CAAC;IA6BjC,CAAC;IA3BA,WAAW;QACV,OAAO;YACN,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,4BAA4B;YACnC,WAAW,EAAE,8DAA8D;YAC3E,QAAQ,YAAiC;YACzC,QAAQ,EAAE,KAAK;YACf,gBAAgB,EAAE,oEAAoE;SACtF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM;QACX,MAAM,MAAM,GAA4B;YACvC,UAAU,EAAE,IAAI;YAChB,cAAc,EAAE;gBACf;oBACC,KAAK,EAAE,yBAAyB;oBAChC,WAAW,EACV,kKAAkK;oBACnK,KAAK,EAAE,MAAM;iBACb;aACD;YACD,eAAe,EAAE,EAAE;SACnB,CAAC;QAEF,OAAO,MAAM,CAAC;IACf,CAAC;CACD,CAAA;AA9BY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,YAAO,GAAE;GACG,gBAAgB,CA8B5B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { BreakingChangeAffectedWorkflow, BreakingChangeRecommendation } from '@n8n/api-types';
|
|
2
|
+
import type { WorkflowEntity } from '@n8n/db';
|
|
3
|
+
import type { INode } from 'n8n-workflow';
|
|
4
|
+
import type { BreakingChangeRuleMetadata, IBreakingChangeWorkflowRule, WorkflowDetectionReport } from '../../types';
|
|
5
|
+
export declare class WaitNodeSubworkflowRule implements IBreakingChangeWorkflowRule {
|
|
6
|
+
id: string;
|
|
7
|
+
private readonly waitingNodeConfig;
|
|
8
|
+
getMetadata(): BreakingChangeRuleMetadata;
|
|
9
|
+
getRecommendations(_workflowResults: BreakingChangeAffectedWorkflow[]): Promise<BreakingChangeRecommendation[]>;
|
|
10
|
+
private hasWaitingOperation;
|
|
11
|
+
detectWorkflow(_workflow: WorkflowEntity, nodesGroupedByType: Map<string, INode[]>): Promise<WorkflowDetectionReport>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.WaitNodeSubworkflowRule = void 0;
|
|
10
|
+
const di_1 = require("@n8n/di");
|
|
11
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
12
|
+
let WaitNodeSubworkflowRule = class WaitNodeSubworkflowRule {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.id = 'wait-node-subworkflow-v2';
|
|
15
|
+
this.waitingNodeConfig = [
|
|
16
|
+
{
|
|
17
|
+
nodeTypes: [
|
|
18
|
+
'n8n-nodes-base.wait',
|
|
19
|
+
'n8n-nodes-base.form',
|
|
20
|
+
'@n8n/n8n-nodes-langchain.chat',
|
|
21
|
+
'n8n-nodes-base.respondToWebhook',
|
|
22
|
+
],
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
nodeTypes: [
|
|
26
|
+
'n8n-nodes-base.slack',
|
|
27
|
+
'n8n-nodes-base.telegram',
|
|
28
|
+
'n8n-nodes-base.googleChat',
|
|
29
|
+
'n8n-nodes-base.gmail',
|
|
30
|
+
'n8n-nodes-base.emailSend',
|
|
31
|
+
'n8n-nodes-base.whatsApp',
|
|
32
|
+
'n8n-nodes-base.microsoftTeams',
|
|
33
|
+
'n8n-nodes-base.microsoftOutlook',
|
|
34
|
+
'n8n-nodes-base.discord',
|
|
35
|
+
],
|
|
36
|
+
operation: n8n_workflow_1.SEND_AND_WAIT_OPERATION,
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
nodeTypes: ['n8n-nodes-base.github'],
|
|
40
|
+
operation: 'dispatchAndWait',
|
|
41
|
+
},
|
|
42
|
+
];
|
|
43
|
+
}
|
|
44
|
+
getMetadata() {
|
|
45
|
+
return {
|
|
46
|
+
version: 'v2',
|
|
47
|
+
title: 'Waiting node behavior change in sub-workflows',
|
|
48
|
+
description: 'Waiting nodes (Wait, Form, and HITL nodes) in sub-workflows now return data from the last node instead of the node before the waiting node',
|
|
49
|
+
category: "workflow",
|
|
50
|
+
severity: 'medium',
|
|
51
|
+
documentationUrl: 'https://docs.n8n.io/2-0-breaking-changes/#return-expected-sub-workflow-data-when-it-contains-a-wait-node',
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
async getRecommendations(_workflowResults) {
|
|
55
|
+
return [
|
|
56
|
+
{
|
|
57
|
+
action: 'Review sub-workflow output handling',
|
|
58
|
+
description: 'Check workflows that use Execute Workflow node to call sub-workflows containing waiting nodes (Wait, Form, or HITL nodes). The output data structure may have changed.',
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
action: 'Update downstream logic',
|
|
62
|
+
description: 'Adjust any logic in parent workflows that depends on the data returned from sub-workflows with waiting nodes, as it now returns the last node data instead of the node before the waiting node.',
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
action: 'Test affected workflows',
|
|
66
|
+
description: 'Test all workflows with Execute Workflow nodes calling sub-workflows that contain waiting nodes to ensure the new behavior works as expected.',
|
|
67
|
+
},
|
|
68
|
+
];
|
|
69
|
+
}
|
|
70
|
+
hasWaitingOperation(node, requiredOperation) {
|
|
71
|
+
const operation = node.parameters.operation;
|
|
72
|
+
return operation === requiredOperation;
|
|
73
|
+
}
|
|
74
|
+
async detectWorkflow(_workflow, nodesGroupedByType) {
|
|
75
|
+
const foundWaitingNodes = [];
|
|
76
|
+
for (const { nodeTypes, operation } of this.waitingNodeConfig) {
|
|
77
|
+
for (const nodeType of nodeTypes) {
|
|
78
|
+
const nodes = nodesGroupedByType.get(nodeType) ?? [];
|
|
79
|
+
const waitingNodes = operation
|
|
80
|
+
? nodes.filter((node) => this.hasWaitingOperation(node, operation))
|
|
81
|
+
: nodes;
|
|
82
|
+
for (const node of waitingNodes) {
|
|
83
|
+
const nodeTypeName = nodeType.split('.').pop() ?? nodeType;
|
|
84
|
+
foundWaitingNodes.push({ node, nodeTypeName });
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
if (foundWaitingNodes.length === 0) {
|
|
89
|
+
return { isAffected: false, issues: [] };
|
|
90
|
+
}
|
|
91
|
+
const executeWorkflowTriggerNodes = nodesGroupedByType.get('n8n-nodes-base.executeWorkflowTrigger') ?? [];
|
|
92
|
+
if (executeWorkflowTriggerNodes.length === 0) {
|
|
93
|
+
return { isAffected: false, issues: [] };
|
|
94
|
+
}
|
|
95
|
+
const issues = foundWaitingNodes.map(({ node, nodeTypeName }) => ({
|
|
96
|
+
title: 'Sub-workflow with waiting node has changed output behavior',
|
|
97
|
+
description: `This workflow is a sub-workflow (contains Execute Workflow Trigger) with a waiting node (${nodeTypeName}). The data returned to the parent workflow from sub-workflows containing waiting nodes has changed. Previously, the child workflow returned data from the node before the waiting node. Now they return data from the last node in the workflow.`,
|
|
98
|
+
level: 'warning',
|
|
99
|
+
nodeId: node.id,
|
|
100
|
+
nodeName: node.name,
|
|
101
|
+
}));
|
|
102
|
+
return {
|
|
103
|
+
isAffected: true,
|
|
104
|
+
issues,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
exports.WaitNodeSubworkflowRule = WaitNodeSubworkflowRule;
|
|
109
|
+
exports.WaitNodeSubworkflowRule = WaitNodeSubworkflowRule = __decorate([
|
|
110
|
+
(0, di_1.Service)()
|
|
111
|
+
], WaitNodeSubworkflowRule);
|
|
112
|
+
//# sourceMappingURL=wait-node-subworkflow.rule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait-node-subworkflow.rule.js","sourceRoot":"","sources":["../../../../../src/modules/breaking-changes/rules/v2/wait-node-subworkflow.rule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BreakingChangeAffectedWorkflow, BreakingChangeRecommendation, BreakingChangeRuleSeverity } from '@n8n/api-types';
|
|
1
|
+
import type { BreakingChangeAffectedWorkflow, BreakingChangeRecommendation, BreakingChangeRuleSeverity, BreakingChangeVersion } from '@n8n/api-types';
|
|
2
2
|
import type { WorkflowEntity } from '@n8n/db';
|
|
3
3
|
import type { INode } from 'n8n-workflow';
|
|
4
4
|
import type { InstanceDetectionReport, WorkflowDetectionReport } from './detection.types';
|
|
@@ -9,7 +9,6 @@ export declare const enum BreakingChangeCategory {
|
|
|
9
9
|
database = "database",
|
|
10
10
|
infrastructure = "infrastructure"
|
|
11
11
|
}
|
|
12
|
-
export type BreakingChangeVersion = 'v2';
|
|
13
12
|
export interface BreakingChangeRuleMetadata {
|
|
14
13
|
version: BreakingChangeVersion;
|
|
15
14
|
title: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule.types.js","sourceRoot":"","sources":["../../../../src/modules/breaking-changes/types/rule.types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"rule.types.js","sourceRoot":"","sources":["../../../../src/modules/breaking-changes/types/rule.types.ts"],"names":[],"mappings":";;;AAWA,IAAkB,sBAMjB;AAND,WAAkB,sBAAsB;IACvC,+CAAqB,CAAA;IACrB,+CAAqB,CAAA;IACrB,qDAA2B,CAAA;IAC3B,+CAAqB,CAAA;IACrB,2DAAiC,CAAA;AAClC,CAAC,EANiB,sBAAsB,sCAAtB,sBAAsB,QAMvC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ChatHubProvider } from '@n8n/api-types';
|
|
2
2
|
import { WithTimestamps, User, CredentialsEntity } from '@n8n/db';
|
|
3
|
+
import { INode } from 'n8n-workflow';
|
|
3
4
|
export declare class ChatHubAgent extends WithTimestamps {
|
|
4
5
|
id: string;
|
|
5
6
|
name: string;
|
|
@@ -11,4 +12,5 @@ export declare class ChatHubAgent extends WithTimestamps {
|
|
|
11
12
|
credential?: CredentialsEntity | null;
|
|
12
13
|
provider: ChatHubProvider;
|
|
13
14
|
model: string;
|
|
15
|
+
tools: INode[];
|
|
14
16
|
}
|
|
@@ -57,6 +57,10 @@ __decorate([
|
|
|
57
57
|
(0, typeorm_1.Column)({ type: 'varchar', length: 64, nullable: true }),
|
|
58
58
|
__metadata("design:type", String)
|
|
59
59
|
], ChatHubAgent.prototype, "model", void 0);
|
|
60
|
+
__decorate([
|
|
61
|
+
(0, db_1.JsonColumn)({ default: '[]' }),
|
|
62
|
+
__metadata("design:type", Array)
|
|
63
|
+
], ChatHubAgent.prototype, "tools", void 0);
|
|
60
64
|
exports.ChatHubAgent = ChatHubAgent = __decorate([
|
|
61
65
|
(0, typeorm_1.Entity)({ name: 'chat_hub_agents' })
|
|
62
66
|
], ChatHubAgent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-hub-agent.entity.js","sourceRoot":"","sources":["../../../src/modules/chat-hub/chat-hub-agent.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"chat-hub-agent.entity.js","sourceRoot":"","sources":["../../../src/modules/chat-hub/chat-hub-agent.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,gCAA8E;AAC9E,0CAA6F;AAItF,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,mBAAc;CAiE/C,CAAA;AAjEY,oCAAY;AAExB;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;wCACpB;AAMX;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;0CAC5B;AAMb;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDAC9B;AAM3B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;kDACJ;AAMrB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;6CACT;AAOhB;IAFC,IAAA,mBAAS,EAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC1C,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;8BACxB,SAAI;2CAAC;AAMb;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDAC5B;AAO5B;IAFC,IAAA,mBAAS,EAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxE,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;;gDACC;AAMtC;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CAC9B;AAM1B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CAC1C;AAMd;IADC,IAAA,eAAU,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;2CACf;uBAhEH,YAAY;IADxB,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;GACvB,YAAY,CAiExB"}
|
|
@@ -4,6 +4,7 @@ import type { User } from '@n8n/db';
|
|
|
4
4
|
import type { ChatHubAgent } from './chat-hub-agent.entity';
|
|
5
5
|
import { ChatHubAgentRepository } from './chat-hub-agent.repository';
|
|
6
6
|
import { ChatHubCredentialsService } from './chat-hub-credentials.service';
|
|
7
|
+
import { INode } from 'n8n-workflow';
|
|
7
8
|
export declare class ChatHubAgentService {
|
|
8
9
|
private readonly logger;
|
|
9
10
|
private readonly chatAgentRepository;
|
|
@@ -19,6 +20,7 @@ export declare class ChatHubAgentService {
|
|
|
19
20
|
credentialId: string;
|
|
20
21
|
provider: ChatHubAgent['provider'];
|
|
21
22
|
model: string;
|
|
23
|
+
tools: INode[];
|
|
22
24
|
}): Promise<ChatHubAgent>;
|
|
23
25
|
updateAgent(id: string, user: User, updates: {
|
|
24
26
|
name?: string;
|
|
@@ -27,6 +29,7 @@ export declare class ChatHubAgentService {
|
|
|
27
29
|
credentialId?: string;
|
|
28
30
|
provider?: string;
|
|
29
31
|
model?: string;
|
|
32
|
+
tools?: INode[];
|
|
30
33
|
}): Promise<ChatHubAgent>;
|
|
31
34
|
deleteAgent(id: string, userId: string): Promise<void>;
|
|
32
35
|
}
|
|
@@ -59,6 +59,7 @@ let ChatHubAgentService = class ChatHubAgentService {
|
|
|
59
59
|
credentialId: data.credentialId,
|
|
60
60
|
provider: data.provider,
|
|
61
61
|
model: data.model,
|
|
62
|
+
tools: data.tools,
|
|
62
63
|
});
|
|
63
64
|
this.logger.info(`Chat agent created: ${id} by user ${user.id}`);
|
|
64
65
|
return agent;
|
|
@@ -84,6 +85,8 @@ let ChatHubAgentService = class ChatHubAgentService {
|
|
|
84
85
|
updateData.provider = updates.provider;
|
|
85
86
|
if (updates.model !== undefined)
|
|
86
87
|
updateData.model = updates.model ?? null;
|
|
88
|
+
if (updates.tools !== undefined)
|
|
89
|
+
updateData.tools = updates.tools;
|
|
87
90
|
const agent = await this.chatAgentRepository.updateAgent(id, updateData);
|
|
88
91
|
this.logger.info(`Chat agent updated: ${id} by user ${user.id}`);
|
|
89
92
|
return agent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-hub-agent.service.js","sourceRoot":"","sources":["../../../src/modules/chat-hub/chat-hub-agent.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,wDAA6C;AAE7C,gCAAkC;AAClC,+BAAoC;AAEpC,8EAAyE;AAGzE,2EAAqE;AACrE,iFAA2E;
|
|
1
|
+
{"version":3,"file":"chat-hub-agent.service.js","sourceRoot":"","sources":["../../../src/modules/chat-hub/chat-hub-agent.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ChatHubProvider } from '@n8n/api-types';
|
|
2
2
|
import { WithTimestamps, User, CredentialsEntity, WorkflowEntity } from '@n8n/db';
|
|
3
3
|
import { type Relation } from '@n8n/typeorm';
|
|
4
|
+
import type { INode } from 'n8n-workflow';
|
|
4
5
|
import type { ChatHubMessage } from './chat-hub-message.entity';
|
|
5
6
|
export declare class ChatHubSession extends WithTimestamps {
|
|
6
7
|
id: string;
|
|
@@ -17,4 +18,5 @@ export declare class ChatHubSession extends WithTimestamps {
|
|
|
17
18
|
agentId: string | null;
|
|
18
19
|
agentName: string | null;
|
|
19
20
|
messages?: Array<Relation<ChatHubMessage>>;
|
|
21
|
+
tools: INode[];
|
|
20
22
|
}
|
|
@@ -74,6 +74,10 @@ __decorate([
|
|
|
74
74
|
(0, typeorm_1.OneToMany)('ChatHubMessage', 'session'),
|
|
75
75
|
__metadata("design:type", Array)
|
|
76
76
|
], ChatHubSession.prototype, "messages", void 0);
|
|
77
|
+
__decorate([
|
|
78
|
+
(0, db_1.JsonColumn)({ default: '[]' }),
|
|
79
|
+
__metadata("design:type", Array)
|
|
80
|
+
], ChatHubSession.prototype, "tools", void 0);
|
|
77
81
|
exports.ChatHubSession = ChatHubSession = __decorate([
|
|
78
82
|
(0, typeorm_1.Entity)({ name: 'chat_hub_sessions' })
|
|
79
83
|
], ChatHubSession);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-hub-session.entity.js","sourceRoot":"","sources":["../../../src/modules/chat-hub/chat-hub-session.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"chat-hub-session.entity.js","sourceRoot":"","sources":["../../../src/modules/chat-hub/chat-hub-session.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,gCAOiB;AACjB,0CAQsB;AAMf,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,mBAAc;CA+FjD,CAAA;AA/FY,wCAAc;AAE1B;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;0CACpB;AAOX;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;6CAC3B;AAMd;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;+CACT;AAOhB;IAFC,IAAA,mBAAS,EAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC1C,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;6CACT;AAOvB;IADC,IAAA,mBAAc,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACR;AAM3B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDAC5B;AAO5B;IAFC,IAAA,mBAAS,EAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxE,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;;kDACW;AAMhD;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACvB;AAMjC;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACnC;AAMrB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDAC9B;AAO1B;IAFC,IAAA,mBAAS,EAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACrE,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;;gDACQ;AAO3C;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACjC;AAQvB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDAChC;AAMzB;IADC,IAAA,mBAAS,EAAC,gBAAgB,EAAE,SAAS,CAAC;8BAC5B,KAAK;gDAA2B;AAM3C;IADC,IAAA,eAAU,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;6CACf;yBA9FH,cAAc;IAD1B,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;GACzB,cAAc,CA+F1B"}
|
|
@@ -2,14 +2,14 @@ import { ChatHubConversationModel, ChatSessionId } from '@n8n/api-types';
|
|
|
2
2
|
import { Logger } from '@n8n/backend-common';
|
|
3
3
|
import { SharedWorkflowRepository, WorkflowRepository } from '@n8n/db';
|
|
4
4
|
import { EntityManager } from '@n8n/typeorm';
|
|
5
|
-
import { INodeCredentials, IRunExecutionData, IWorkflowBase } from 'n8n-workflow';
|
|
5
|
+
import { INode, INodeCredentials, IRunExecutionData, IWorkflowBase } from 'n8n-workflow';
|
|
6
6
|
import { ChatHubMessage } from './chat-hub-message.entity';
|
|
7
7
|
export declare class ChatHubWorkflowService {
|
|
8
8
|
private readonly logger;
|
|
9
9
|
private readonly workflowRepository;
|
|
10
10
|
private readonly sharedWorkflowRepository;
|
|
11
11
|
constructor(logger: Logger, workflowRepository: WorkflowRepository, sharedWorkflowRepository: SharedWorkflowRepository);
|
|
12
|
-
createChatWorkflow(userId: string, sessionId: ChatSessionId, projectId: string, history: ChatHubMessage[], humanMessage: string, credentials: INodeCredentials, model: ChatHubConversationModel, systemMessage
|
|
12
|
+
createChatWorkflow(userId: string, sessionId: ChatSessionId, projectId: string, history: ChatHubMessage[], humanMessage: string, credentials: INodeCredentials, model: ChatHubConversationModel, systemMessage: string | undefined, tools: INode[], trx?: EntityManager): Promise<{
|
|
13
13
|
workflowData: IWorkflowBase;
|
|
14
14
|
executionData: IRunExecutionData;
|
|
15
15
|
}>;
|
|
@@ -17,6 +17,7 @@ export declare class ChatHubWorkflowService {
|
|
|
17
17
|
workflowData: IWorkflowBase;
|
|
18
18
|
executionData: IRunExecutionData;
|
|
19
19
|
}>;
|
|
20
|
+
private getUniqueNodeName;
|
|
20
21
|
private buildChatWorkflow;
|
|
21
22
|
private buildTitleGenerationWorkflow;
|
|
22
23
|
private buildChatTriggerNode;
|