n8n 2.26.4 → 2.27.0
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/active-workflow-manager.d.ts +9 -17
- package/dist/active-workflow-manager.js +48 -159
- package/dist/active-workflow-manager.js.map +1 -1
- package/dist/binary-data/database.manager.js +2 -1
- package/dist/binary-data/database.manager.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/commands/audit.d.ts +1 -0
- package/dist/commands/audit.js +9 -0
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/base-command.d.ts +1 -0
- package/dist/commands/base-command.js +31 -10
- package/dist/commands/base-command.js.map +1 -1
- package/dist/commands/export/workflow.js +9 -0
- package/dist/commands/export/workflow.js.map +1 -1
- package/dist/commands/import/workflow.js +6 -0
- package/dist/commands/import/workflow.js.map +1 -1
- package/dist/commands/start.js +7 -3
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/worker.js +6 -3
- package/dist/commands/worker.js.map +1 -1
- package/dist/concurrency/concurrency-queue.d.ts +1 -1
- package/dist/concurrency/concurrency-queue.js +2 -2
- package/dist/concurrency/concurrency-queue.js.map +1 -1
- package/dist/controllers/api-keys.controller.js +6 -2
- package/dist/controllers/api-keys.controller.js.map +1 -1
- package/dist/controllers/e2e.controller.js +1 -1
- package/dist/controllers/e2e.controller.js.map +1 -1
- package/dist/controllers/oauth/oauth2-credential.controller.js +7 -0
- package/dist/controllers/oauth/oauth2-credential.controller.js.map +1 -1
- package/dist/controllers/security-settings.controller.d.ts +3 -3
- package/dist/controllers/security-settings.controller.js +3 -8
- package/dist/controllers/security-settings.controller.js.map +1 -1
- package/dist/credentials-helper.js +3 -0
- package/dist/credentials-helper.js.map +1 -1
- package/dist/errors/http-error-serializers.js +2 -15
- package/dist/errors/http-error-serializers.js.map +1 -1
- package/dist/errors/response-errors/bad-request.error.d.ts +1 -1
- package/dist/errors/response-errors/bad-request.error.js +2 -2
- package/dist/errors/response-errors/bad-request.error.js.map +1 -1
- package/dist/errors/response-errors/unprocessable.error.d.ts +2 -1
- package/dist/errors/response-errors/unprocessable.error.js +2 -1
- package/dist/errors/response-errors/unprocessable.error.js.map +1 -1
- package/dist/events/event.service.d.ts +1 -1
- package/dist/events/event.service.js +2 -2
- package/dist/events/event.service.js.map +1 -1
- package/dist/events/maps/execution-data.event-map.d.ts +1 -0
- package/dist/events/maps/relay.event-map.d.ts +13 -0
- package/dist/events/relays/log-streaming.event-relay.js +2 -2
- package/dist/events/relays/log-streaming.event-relay.js.map +1 -1
- package/dist/events/relays/telemetry.event-relay.d.ts +2 -0
- package/dist/events/relays/telemetry.event-relay.js +21 -2
- package/dist/events/relays/telemetry.event-relay.js.map +1 -1
- package/dist/executions/execution-data/db-store.d.ts +3 -1
- package/dist/executions/execution-data/db-store.js +14 -0
- package/dist/executions/execution-data/db-store.js.map +1 -1
- package/dist/executions/execution-data/fs-store.d.ts +1 -1
- package/dist/executions/execution-data/fs-store.js +3 -1
- package/dist/executions/execution-data/fs-store.js.map +1 -1
- package/dist/executions/execution-data/s3-store.ee.d.ts +15 -0
- package/dist/executions/execution-data/s3-store.ee.js +115 -0
- package/dist/executions/execution-data/s3-store.ee.js.map +1 -0
- package/dist/executions/execution-data/types.d.ts +1 -1
- package/dist/executions/execution-persistence.d.ts +16 -2
- package/dist/executions/execution-persistence.js +80 -22
- package/dist/executions/execution-persistence.js.map +1 -1
- package/dist/metrics/prometheus/active-workflow-metrics.service.d.ts +12 -0
- package/dist/metrics/prometheus/active-workflow-metrics.service.js +61 -0
- package/dist/metrics/prometheus/active-workflow-metrics.service.js.map +1 -0
- package/dist/metrics/prometheus/base.d.ts +5 -0
- package/dist/metrics/{types.js → prometheus/base.js} +1 -1
- package/dist/metrics/prometheus/base.js.map +1 -0
- package/dist/metrics/prometheus/cache-metrics.service.d.ts +11 -0
- package/dist/metrics/prometheus/cache-metrics.service.js +48 -0
- package/dist/metrics/prometheus/cache-metrics.service.js.map +1 -0
- package/dist/metrics/prometheus/constant.d.ts +2 -0
- package/dist/metrics/prometheus/constant.js +18 -0
- package/dist/metrics/prometheus/constant.js.map +1 -0
- package/dist/metrics/prometheus/default-metrics.service.d.ts +8 -0
- package/dist/metrics/prometheus/default-metrics.service.js +35 -0
- package/dist/metrics/prometheus/default-metrics.service.js.map +1 -0
- package/dist/metrics/prometheus/dns-cache-metrics.service.d.ts +12 -0
- package/dist/metrics/prometheus/dns-cache-metrics.service.js +58 -0
- package/dist/metrics/prometheus/dns-cache-metrics.service.js.map +1 -0
- package/dist/metrics/prometheus/event-bus-metrics.service.d.ts +15 -0
- package/dist/metrics/prometheus/event-bus-metrics.service.js +106 -0
- package/dist/metrics/prometheus/event-bus-metrics.service.js.map +1 -0
- package/dist/metrics/prometheus/execution-data-metrics.service.d.ts +12 -0
- package/dist/metrics/prometheus/execution-data-metrics.service.js +106 -0
- package/dist/metrics/prometheus/execution-data-metrics.service.js.map +1 -0
- package/dist/metrics/prometheus/index.d.ts +1 -0
- package/dist/metrics/prometheus/index.js +6 -0
- package/dist/metrics/prometheus/index.js.map +1 -0
- package/dist/metrics/prometheus/instance-role-metrics.service.d.ts +13 -0
- package/dist/metrics/prometheus/instance-role-metrics.service.js +61 -0
- package/dist/metrics/prometheus/instance-role-metrics.service.js.map +1 -0
- package/dist/metrics/prometheus/prometheus.service.d.ts +26 -0
- package/dist/metrics/prometheus/prometheus.service.js +105 -0
- package/dist/metrics/prometheus/prometheus.service.js.map +1 -0
- package/dist/metrics/prometheus/pss-metrics.service.d.ts +9 -0
- package/dist/metrics/prometheus/pss-metrics.service.js +59 -0
- package/dist/metrics/prometheus/pss-metrics.service.js.map +1 -0
- package/dist/metrics/prometheus/queue-metrics.service.d.ts +13 -0
- package/dist/metrics/prometheus/queue-metrics.service.js +71 -0
- package/dist/metrics/prometheus/queue-metrics.service.js.map +1 -0
- package/dist/metrics/prometheus/route-metrics.service.d.ts +11 -0
- package/dist/metrics/prometheus/route-metrics.service.js +69 -0
- package/dist/metrics/prometheus/route-metrics.service.js.map +1 -0
- package/dist/metrics/prometheus/ssrf-metrics.service.d.ts +11 -0
- package/dist/metrics/prometheus/ssrf-metrics.service.js +65 -0
- package/dist/metrics/prometheus/ssrf-metrics.service.js.map +1 -0
- package/dist/metrics/prometheus/token-exchange-metrics.service.d.ts +10 -0
- package/dist/metrics/prometheus/token-exchange-metrics.service.js +91 -0
- package/dist/metrics/prometheus/token-exchange-metrics.service.js.map +1 -0
- package/dist/metrics/prometheus/version-metrics.service.d.ts +8 -0
- package/dist/metrics/prometheus/version-metrics.service.js +46 -0
- package/dist/metrics/prometheus/version-metrics.service.js.map +1 -0
- package/dist/metrics/prometheus/workflow-execution-duration-metrics.service.d.ts +10 -0
- package/dist/metrics/prometheus/workflow-execution-duration-metrics.service.js +61 -0
- package/dist/metrics/prometheus/workflow-execution-duration-metrics.service.js.map +1 -0
- package/dist/metrics/prometheus/workflow-statistics-metrics.service.d.ts +17 -0
- package/dist/metrics/prometheus/workflow-statistics-metrics.service.js +130 -0
- package/dist/metrics/prometheus/workflow-statistics-metrics.service.js.map +1 -0
- package/dist/modules/agents/agent-knowledge.service.d.ts +3 -32
- package/dist/modules/agents/agent-knowledge.service.js +7 -248
- package/dist/modules/agents/agent-knowledge.service.js.map +1 -1
- package/dist/modules/agents/agent-runtime-reconstruction.service.d.ts +1 -6
- package/dist/modules/agents/agent-runtime-reconstruction.service.js +2 -28
- package/dist/modules/agents/agent-runtime-reconstruction.service.js.map +1 -1
- package/dist/modules/agents/agents-list.controller.d.ts +9 -0
- package/dist/modules/agents/agents-list.controller.js +39 -0
- package/dist/modules/agents/agents-list.controller.js.map +1 -0
- package/dist/modules/agents/agents.controller.d.ts +6 -6
- package/dist/modules/agents/agents.controller.js +12 -19
- package/dist/modules/agents/agents.controller.js.map +1 -1
- package/dist/modules/agents/agents.module.d.ts +3 -2
- package/dist/modules/agents/agents.module.js +4 -2
- package/dist/modules/agents/agents.module.js.map +1 -1
- package/dist/modules/agents/agents.service.d.ts +10 -2
- package/dist/modules/agents/agents.service.js +119 -82
- package/dist/modules/agents/agents.service.js.map +1 -1
- package/dist/modules/agents/entities/agent-chat-subscription.entity.d.ts +10 -0
- package/dist/modules/agents/entities/{agent-file.entity.js → agent-chat-subscription.entity.js} +34 -23
- package/dist/modules/agents/entities/agent-chat-subscription.entity.js.map +1 -0
- package/dist/modules/agents/execution-recorder.js +15 -2
- package/dist/modules/agents/execution-recorder.js.map +1 -1
- package/dist/modules/agents/integrations/agent-chat-subscription-state.adapter.d.ts +43 -0
- package/dist/modules/agents/integrations/agent-chat-subscription-state.adapter.js +139 -0
- package/dist/modules/agents/integrations/agent-chat-subscription-state.adapter.js.map +1 -0
- package/dist/modules/agents/integrations/agent-chat-subscription-state.service.d.ts +26 -0
- package/dist/modules/agents/integrations/agent-chat-subscription-state.service.js +88 -0
- package/dist/modules/agents/integrations/agent-chat-subscription-state.service.js.map +1 -0
- package/dist/modules/agents/integrations/chat-integration.service.d.ts +3 -1
- package/dist/modules/agents/integrations/chat-integration.service.js +47 -18
- package/dist/modules/agents/integrations/chat-integration.service.js.map +1 -1
- package/dist/modules/agents/integrations/component-mapper.js.map +1 -1
- package/dist/modules/agents/integrations/slack-app-setup.service.js +8 -8
- package/dist/modules/agents/integrations/slack-app-setup.service.js.map +1 -1
- package/dist/modules/agents/repositories/agent-chat-subscription.repository.d.ts +15 -0
- package/dist/modules/agents/repositories/agent-chat-subscription.repository.js +51 -0
- package/dist/modules/agents/repositories/agent-chat-subscription.repository.js.map +1 -0
- package/dist/modules/agents/repositories/agent.repository.d.ts +7 -0
- package/dist/modules/agents/repositories/agent.repository.js +28 -0
- package/dist/modules/agents/repositories/agent.repository.js.map +1 -1
- package/dist/modules/data-table/data-table.repository.js +1 -1
- package/dist/modules/data-table/data-table.repository.js.map +1 -1
- package/dist/modules/data-table/utils/sql-utils.js +16 -1
- package/dist/modules/data-table/utils/sql-utils.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.module.js +15 -7
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.module.js.map +1 -1
- package/dist/modules/instance-ai/eval/execution.service.js +51 -32
- package/dist/modules/instance-ai/eval/execution.service.js.map +1 -1
- package/dist/modules/instance-ai/eval/mock-handler.js +77 -13
- package/dist/modules/instance-ai/eval/mock-handler.js.map +1 -1
- package/dist/modules/instance-ai/eval/mock-quirks.js +8 -1
- package/dist/modules/instance-ai/eval/mock-quirks.js.map +1 -1
- package/dist/modules/instance-ai/eval/workflow-analysis.js +2 -0
- package/dist/modules/instance-ai/eval/workflow-analysis.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.adapter.service.d.ts +5 -4
- package/dist/modules/instance-ai/instance-ai.adapter.service.js +7 -121
- package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.controller.js +1 -1
- package/dist/modules/instance-ai/instance-ai.service.d.ts +5 -28
- package/dist/modules/instance-ai/instance-ai.service.js +58 -471
- package/dist/modules/instance-ai/instance-ai.service.js.map +1 -1
- package/dist/modules/instance-ai/output-redaction-config.d.ts +3 -0
- package/dist/modules/instance-ai/output-redaction-config.js +19 -0
- package/dist/modules/instance-ai/output-redaction-config.js.map +1 -0
- package/dist/modules/instance-ai/sandbox/index.d.ts +1 -0
- package/dist/modules/instance-ai/sandbox/index.js +6 -0
- package/dist/modules/instance-ai/sandbox/index.js.map +1 -0
- package/dist/modules/instance-ai/sandbox/instance-ai-sandbox.service.d.ts +77 -0
- package/dist/modules/instance-ai/sandbox/instance-ai-sandbox.service.js +297 -0
- package/dist/modules/instance-ai/sandbox/instance-ai-sandbox.service.js.map +1 -0
- package/dist/modules/instance-ai/suspended-run-restorer.service.d.ts +62 -0
- package/dist/modules/instance-ai/suspended-run-restorer.service.js +116 -0
- package/dist/modules/instance-ai/suspended-run-restorer.service.js.map +1 -0
- package/dist/modules/instance-ai/suspended-thread-persistence.service.d.ts +51 -0
- package/dist/modules/instance-ai/suspended-thread-persistence.service.js +106 -0
- package/dist/modules/instance-ai/suspended-thread-persistence.service.js.map +1 -0
- package/dist/modules/instance-ai/web-research/fetch-and-extract.d.ts +1 -1
- package/dist/modules/mcp/mcp-api-key.service.d.ts +3 -7
- package/dist/modules/mcp/mcp-api-key.service.js +1 -22
- package/dist/modules/mcp/mcp-api-key.service.js.map +1 -1
- package/dist/modules/mcp/mcp-protected-resource.d.ts +13 -0
- package/dist/modules/mcp/mcp-protected-resource.js +39 -0
- package/dist/modules/mcp/mcp-protected-resource.js.map +1 -0
- package/dist/modules/mcp/mcp-server-middleware.service.d.ts +5 -4
- package/dist/modules/mcp/mcp-server-middleware.service.js +9 -6
- package/dist/modules/mcp/mcp-server-middleware.service.js.map +1 -1
- package/dist/modules/mcp/mcp.errors.d.ts +0 -13
- package/dist/modules/mcp/mcp.errors.js +1 -27
- package/dist/modules/mcp/mcp.errors.js.map +1 -1
- package/dist/modules/mcp/mcp.module.d.ts +0 -1
- package/dist/modules/mcp/mcp.module.js +3 -11
- package/dist/modules/mcp/mcp.module.js.map +1 -1
- package/dist/modules/mcp/mcp.service.d.ts +5 -1
- package/dist/modules/mcp/mcp.service.js +16 -2
- package/dist/modules/mcp/mcp.service.js.map +1 -1
- package/dist/modules/mcp/mcp.types.d.ts +6 -14
- package/dist/modules/mcp/mcp.types.js.map +1 -1
- package/dist/modules/mcp/tools/get-workflow-details.tool.js +1 -1
- package/dist/modules/mcp/tools/get-workflow-details.tool.js.map +1 -1
- package/dist/modules/mcp/tools/list-tags.tool.d.ts +26 -0
- package/dist/modules/mcp/tools/list-tags.tool.js +91 -0
- package/dist/modules/mcp/tools/list-tags.tool.js.map +1 -0
- package/dist/modules/mcp/tools/schemas.d.ts +7 -0
- package/dist/modules/mcp/tools/schemas.js +3 -1
- package/dist/modules/mcp/tools/schemas.js.map +1 -1
- package/dist/modules/mcp/tools/search-workflows.tool.d.ts +2 -1
- package/dist/modules/mcp/tools/search-workflows.tool.js +14 -4
- package/dist/modules/mcp/tools/search-workflows.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/constants.d.ts +1 -1
- package/dist/modules/mcp/tools/workflow-builder/constants.js +2 -1
- package/dist/modules/mcp/tools/workflow-builder/constants.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js +24 -6
- package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/explore-node-resources.tool.d.ts +18 -0
- package/dist/modules/mcp/tools/workflow-builder/explore-node-resources.tool.js +119 -0
- package/dist/modules/mcp/tools/workflow-builder/explore-node-resources.tool.js.map +1 -0
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-node-types.tool.d.ts +2 -2
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-node-types.tool.js +4 -4
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-node-types.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/mcp-instructions.js +8 -6
- package/dist/modules/mcp/tools/workflow-builder/mcp-instructions.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/search-workflow-nodes.tool.js +1 -1
- package/dist/modules/mcp/tools/workflow-builder/search-workflow-nodes.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.d.ts +4 -294
- package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js +137 -16
- package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/workflow-operations.d.ts +23 -1
- package/dist/modules/mcp/tools/workflow-builder/workflow-operations.js +54 -2
- package/dist/modules/mcp/tools/workflow-builder/workflow-operations.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-validation.utils.d.ts +1 -0
- package/dist/modules/mcp/tools/workflow-validation.utils.js +1 -0
- package/dist/modules/mcp/tools/workflow-validation.utils.js.map +1 -1
- package/dist/modules/mcp-registry/node-description-transform.js +6 -0
- package/dist/modules/mcp-registry/node-description-transform.js.map +1 -1
- package/dist/modules/n8n-packages/engine/import-blocked.error.d.ts +4 -0
- package/dist/modules/n8n-packages/engine/import-blocked.error.js +14 -0
- package/dist/modules/n8n-packages/engine/import-blocked.error.js.map +1 -0
- package/dist/modules/n8n-packages/engine/import-pipeline.d.ts +9 -7
- package/dist/modules/n8n-packages/engine/import-pipeline.js +57 -113
- package/dist/modules/n8n-packages/engine/import-pipeline.js.map +1 -1
- package/dist/modules/n8n-packages/engine/n8n-package-parser.d.ts +11 -0
- package/dist/modules/n8n-packages/engine/n8n-package-parser.js +114 -0
- package/dist/modules/n8n-packages/engine/n8n-package-parser.js.map +1 -0
- package/dist/modules/n8n-packages/entities/credential/credential-importer.d.ts +4 -5
- package/dist/modules/n8n-packages/entities/credential/credential-importer.js +9 -12
- package/dist/modules/n8n-packages/entities/credential/credential-importer.js.map +1 -1
- package/dist/modules/n8n-packages/entities/credential/credential-matcher.d.ts +1 -0
- package/dist/modules/n8n-packages/entities/credential/credential-matcher.js +27 -2
- package/dist/modules/n8n-packages/entities/credential/credential-matcher.js.map +1 -1
- package/dist/modules/n8n-packages/entities/credential/credential-missing-mode.d.ts +3 -7
- package/dist/modules/n8n-packages/entities/credential/credential-missing-mode.js +6 -13
- package/dist/modules/n8n-packages/entities/credential/credential-missing-mode.js.map +1 -1
- package/dist/modules/n8n-packages/entities/credential/credential.types.d.ts +3 -10
- package/dist/modules/n8n-packages/entities/credential/credential.types.js +0 -4
- package/dist/modules/n8n-packages/entities/credential/credential.types.js.map +1 -1
- package/dist/modules/n8n-packages/entities/credential/id-based-credential-matcher.js +11 -6
- package/dist/modules/n8n-packages/entities/credential/id-based-credential-matcher.js.map +1 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy.d.ts +4 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy.js +12 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy.js.map +1 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-id-policy.d.ts +2 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-id-policy.js +12 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-id-policy.js.map +1 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-import-match.service.d.ts +15 -2
- package/dist/modules/n8n-packages/entities/workflow/workflow-import-match.service.js +18 -2
- package/dist/modules/n8n-packages/entities/workflow/workflow-import-match.service.js.map +1 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow-import.types.d.ts +47 -0
- package/dist/modules/n8n-packages/entities/workflow/{workflow-conflict-policy.types.js → workflow-import.types.js} +1 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow-import.types.js.map +1 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-importer.d.ts +14 -6
- package/dist/modules/n8n-packages/entities/workflow/workflow-importer.js +136 -19
- package/dist/modules/n8n-packages/entities/workflow/workflow-importer.js.map +1 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow-publisher.d.ts +16 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-publisher.js +87 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-publisher.js.map +1 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-publishing-policy.d.ts +2 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-publishing-policy.js +28 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-publishing-policy.js.map +1 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-publishing-policy.types.d.ts +14 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-publishing-policy.types.js +10 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-publishing-policy.types.js.map +1 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow.serializer.js +1 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow.serializer.js.map +1 -1
- package/dist/modules/n8n-packages/io/tar/tar-package-reader.d.ts +10 -3
- package/dist/modules/n8n-packages/io/tar/tar-package-reader.js +103 -20
- package/dist/modules/n8n-packages/io/tar/tar-package-reader.js.map +1 -1
- package/dist/modules/n8n-packages/n8n-packages.config.d.ts +6 -0
- package/dist/modules/n8n-packages/n8n-packages.config.js +43 -0
- package/dist/modules/n8n-packages/n8n-packages.config.js.map +1 -0
- package/dist/modules/n8n-packages/n8n-packages.controller.js +0 -1
- package/dist/modules/n8n-packages/n8n-packages.controller.js.map +1 -1
- package/dist/modules/n8n-packages/n8n-packages.module.js +0 -2
- package/dist/modules/n8n-packages/n8n-packages.module.js.map +1 -1
- package/dist/modules/n8n-packages/n8n-packages.types.d.ts +41 -7
- package/dist/modules/n8n-packages/n8n-packages.types.js +7 -1
- package/dist/modules/n8n-packages/n8n-packages.types.js.map +1 -1
- package/dist/modules/n8n-packages/spec/serialized/workflow.schema.d.ts +3 -3
- package/dist/modules/n8n-packages/spec/serialized/workflow.schema.js +1 -1
- package/dist/modules/n8n-packages/spec/serialized/workflow.schema.js.map +1 -1
- package/dist/modules/n8n-packages/utils/import-package-upload.js +2 -2
- package/dist/modules/n8n-packages/utils/import-package-upload.js.map +1 -1
- package/dist/modules/oauth-server/database/entities/oauth-access-token.entity.js.map +1 -0
- package/dist/modules/oauth-server/database/entities/oauth-authorization-code.entity.js.map +1 -0
- package/dist/modules/oauth-server/database/entities/oauth-client.entity.js.map +1 -0
- package/dist/modules/oauth-server/database/entities/oauth-refresh-token.entity.js.map +1 -0
- package/dist/modules/oauth-server/database/entities/oauth-user-consent.entity.js.map +1 -0
- package/dist/modules/oauth-server/database/repositories/oauth-access-token.repository.js.map +1 -0
- package/dist/modules/oauth-server/database/repositories/oauth-authorization-code.repository.js.map +1 -0
- package/dist/modules/oauth-server/database/repositories/oauth-client.repository.js.map +1 -0
- package/dist/modules/oauth-server/database/repositories/oauth-refresh-token.repository.js.map +1 -0
- package/dist/modules/oauth-server/database/repositories/oauth-user-consent.repository.js.map +1 -0
- package/dist/modules/oauth-server/dto/approve-consent-request.dto.js.map +1 -0
- package/dist/modules/{mcp/mcp-oauth-authorization-code.service.d.ts → oauth-server/oauth-authorization-code.service.d.ts} +1 -1
- package/dist/modules/{mcp/mcp-oauth-authorization-code.service.js → oauth-server/oauth-authorization-code.service.js} +12 -12
- package/dist/modules/oauth-server/oauth-authorization-code.service.js.map +1 -0
- package/dist/modules/{mcp/mcp.oauth-clients.controller.d.ts → oauth-server/oauth-clients.controller.d.ts} +4 -4
- package/dist/modules/{mcp/mcp.oauth-clients.controller.js → oauth-server/oauth-clients.controller.js} +16 -16
- package/dist/modules/oauth-server/oauth-clients.controller.js.map +1 -0
- package/dist/modules/{mcp/mcp.auth.consent.controller.d.ts → oauth-server/oauth-consent.controller.d.ts} +3 -3
- package/dist/modules/{mcp/mcp.auth.consent.controller.js → oauth-server/oauth-consent.controller.js} +16 -10
- package/dist/modules/oauth-server/oauth-consent.controller.js.map +1 -0
- package/dist/modules/{mcp/mcp-oauth-consent.service.d.ts → oauth-server/oauth-consent.service.d.ts} +16 -7
- package/dist/modules/{mcp/mcp-oauth-consent.service.js → oauth-server/oauth-consent.service.js} +28 -12
- package/dist/modules/oauth-server/oauth-consent.service.js.map +1 -0
- package/dist/modules/oauth-server/oauth-server.module.d.ts +5 -0
- package/dist/modules/oauth-server/oauth-server.module.js +75 -0
- package/dist/modules/oauth-server/oauth-server.module.js.map +1 -0
- package/dist/modules/{mcp/mcp-oauth-service.d.ts → oauth-server/oauth-server.service.d.ts} +6 -6
- package/dist/modules/{mcp/mcp-oauth-service.js → oauth-server/oauth-server.service.js} +33 -30
- package/dist/modules/oauth-server/oauth-server.service.js.map +1 -0
- package/dist/modules/oauth-server/oauth-session.service.js.map +1 -0
- package/dist/modules/{mcp/mcp-oauth-token.service.d.ts → oauth-server/oauth-token.service.d.ts} +5 -8
- package/dist/modules/{mcp/mcp-oauth-token.service.js → oauth-server/oauth-token.service.js} +29 -30
- package/dist/modules/oauth-server/oauth-token.service.js.map +1 -0
- package/dist/modules/{mcp/mcp.oauth.controller.d.ts → oauth-server/oauth.controller.d.ts} +5 -3
- package/dist/modules/{mcp/mcp.oauth.controller.js → oauth-server/oauth.controller.js} +79 -68
- package/dist/modules/oauth-server/oauth.controller.js.map +1 -0
- package/dist/modules/oauth-server/oauth.errors.d.ts +13 -0
- package/dist/modules/oauth-server/oauth.errors.js +30 -0
- package/dist/modules/oauth-server/oauth.errors.js.map +1 -0
- package/dist/modules/{mcp/mcp-oauth.helpers.d.ts → oauth-server/oauth.helpers.d.ts} +1 -1
- package/dist/modules/{mcp/mcp-oauth.helpers.js → oauth-server/oauth.helpers.js} +4 -4
- package/dist/modules/oauth-server/oauth.helpers.js.map +1 -0
- package/dist/modules/oauth-server/protected-resource-resolvers/utils.d.ts +4 -0
- package/dist/modules/oauth-server/protected-resource-resolvers/utils.js +41 -0
- package/dist/modules/oauth-server/protected-resource-resolvers/utils.js.map +1 -0
- package/dist/modules/oauth-server/protected-resource-resolvers/workflow-mcp-test-trigger-resource.resolver.d.ts +28 -0
- package/dist/modules/oauth-server/protected-resource-resolvers/workflow-mcp-test-trigger-resource.resolver.js +78 -0
- package/dist/modules/oauth-server/protected-resource-resolvers/workflow-mcp-test-trigger-resource.resolver.js.map +1 -0
- package/dist/modules/oauth-server/protected-resource-resolvers/workflow-mcp-trigger-resource.resolver.d.ts +30 -0
- package/dist/modules/oauth-server/protected-resource-resolvers/workflow-mcp-trigger-resource.resolver.js +95 -0
- package/dist/modules/oauth-server/protected-resource-resolvers/workflow-mcp-trigger-resource.resolver.js.map +1 -0
- package/dist/modules/otel/execution-level-tracer.d.ts +5 -4
- package/dist/modules/otel/execution-level-tracer.js +8 -5
- package/dist/modules/otel/execution-level-tracer.js.map +1 -1
- package/dist/modules/otel/otel-lifecycle-handler.d.ts +8 -4
- package/dist/modules/otel/otel-lifecycle-handler.js +32 -15
- package/dist/modules/otel/otel-lifecycle-handler.js.map +1 -1
- package/dist/modules/otel/otel-settings.controller.d.ts +18 -0
- package/dist/modules/otel/otel-settings.controller.js +79 -0
- package/dist/modules/otel/otel-settings.controller.js.map +1 -0
- package/dist/modules/otel/otel-settings.service.d.ts +21 -0
- package/dist/modules/otel/otel-settings.service.js +89 -0
- package/dist/modules/otel/otel-settings.service.js.map +1 -0
- package/dist/modules/otel/otel.config.js +11 -10
- package/dist/modules/otel/otel.config.js.map +1 -1
- package/dist/modules/otel/otel.constants.d.ts +14 -0
- package/dist/modules/otel/otel.constants.js +15 -1
- package/dist/modules/otel/otel.constants.js.map +1 -1
- package/dist/modules/otel/otel.module.js +9 -17
- package/dist/modules/otel/otel.module.js.map +1 -1
- package/dist/modules/otel/otel.service.d.ts +15 -4
- package/dist/modules/otel/otel.service.js +73 -17
- package/dist/modules/otel/otel.service.js.map +1 -1
- package/dist/modules/provisioning.ee/role-mapping-rule.service.ee.d.ts +1 -0
- package/dist/modules/provisioning.ee/role-mapping-rule.service.ee.js +46 -19
- package/dist/modules/provisioning.ee/role-mapping-rule.service.ee.js.map +1 -1
- package/dist/modules/redaction/instance-redaction-enforcement.service.js +0 -6
- package/dist/modules/redaction/instance-redaction-enforcement.service.js.map +1 -1
- package/dist/modules/source-control.ee/source-control-git.service.ee.js +2 -5
- package/dist/modules/source-control.ee/source-control-git.service.ee.js.map +1 -1
- package/dist/modules/sso-saml/saml.service.ee.js +3 -2
- package/dist/modules/sso-saml/saml.service.ee.js.map +1 -1
- package/dist/modules/workflow-index/workflow-dependency-query.service.js +39 -20
- package/dist/modules/workflow-index/workflow-dependency-query.service.js.map +1 -1
- package/dist/oauth/oauth.service.d.ts +14 -0
- package/dist/oauth/oauth.service.js +220 -102
- package/dist/oauth/oauth.service.js.map +1 -1
- package/dist/oauth/types.d.ts +1 -0
- package/dist/oauth/types.js.map +1 -1
- package/dist/public-api/index.js +8 -8
- package/dist/public-api/index.js.map +1 -1
- package/dist/public-api/types.d.ts +1 -6
- package/dist/public-api/v1/handlers/credentials/credentials.service.js +7 -8
- package/dist/public-api/v1/handlers/credentials/credentials.service.js.map +1 -1
- package/dist/public-api/v1/handlers/executions/executions.handler.js +1 -1
- package/dist/public-api/v1/handlers/executions/executions.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/n8n-packages/n8n-packages.handler.js +3 -3
- package/dist/public-api/v1/handlers/n8n-packages/n8n-packages.handler.js.map +1 -1
- package/dist/public-api/v1/openapi.yml +208 -51
- package/dist/push/abstract.push.d.ts +1 -2
- package/dist/push/abstract.push.js +1 -2
- package/dist/push/abstract.push.js.map +1 -1
- package/dist/push/index.d.ts +1 -2
- package/dist/push/index.js +3 -4
- package/dist/push/index.js.map +1 -1
- package/dist/scaling/constants.d.ts +2 -2
- package/dist/scaling/constants.js +1 -0
- package/dist/scaling/constants.js.map +1 -1
- package/dist/scaling/job-processor.d.ts +0 -1
- package/dist/scaling/job-processor.js +1 -23
- package/dist/scaling/job-processor.js.map +1 -1
- package/dist/scaling/multi-main-setup.ee.d.ts +1 -2
- package/dist/scaling/multi-main-setup.ee.js +1 -2
- package/dist/scaling/multi-main-setup.ee.js.map +1 -1
- package/dist/scaling/pubsub/pubsub.event-map.d.ts +7 -0
- package/dist/scaling/pubsub/pubsub.eventbus.d.ts +1 -1
- package/dist/scaling/pubsub/pubsub.eventbus.js +2 -2
- package/dist/scaling/pubsub/pubsub.eventbus.js.map +1 -1
- package/dist/scaling/pubsub/pubsub.types.d.ts +3 -1
- package/dist/scaling/worker-server.d.ts +1 -1
- package/dist/scaling/worker-server.js +5 -5
- package/dist/scaling/worker-server.js.map +1 -1
- package/dist/server.js +4 -3
- package/dist/server.js.map +1 -1
- package/dist/services/ai-workflow-builder.service.d.ts +2 -1
- package/dist/services/ai-workflow-builder.service.js +2 -1
- package/dist/services/ai-workflow-builder.service.js.map +1 -1
- package/dist/services/cache/cache.service.d.ts +1 -1
- package/dist/services/cache/cache.service.js +2 -2
- package/dist/services/cache/cache.service.js.map +1 -1
- package/dist/services/node-resource-explorer.service.d.ts +16 -0
- package/dist/services/node-resource-explorer.service.js +154 -0
- package/dist/services/node-resource-explorer.service.js.map +1 -0
- package/dist/services/oauth-token-verifier-proxy.service.d.ts +22 -0
- package/dist/services/oauth-token-verifier-proxy.service.js +36 -0
- package/dist/services/oauth-token-verifier-proxy.service.js.map +1 -0
- package/dist/services/protected-resource.registry.d.ts +31 -0
- package/dist/services/protected-resource.registry.js +115 -0
- package/dist/services/protected-resource.registry.js.map +1 -0
- package/dist/services/public-api-key.service.d.ts +8 -2
- package/dist/services/public-api-key.service.js +29 -6
- package/dist/services/public-api-key.service.js.map +1 -1
- package/dist/services/redis-client.service.d.ts +2 -2
- package/dist/services/redis-client.service.js +6 -4
- package/dist/services/redis-client.service.js.map +1 -1
- package/dist/services/tag.service.d.ts +10 -0
- package/dist/services/tag.service.js +84 -4
- package/dist/services/tag.service.js.map +1 -1
- package/dist/services/workflow-statistics.service.d.ts +1 -2
- package/dist/services/workflow-statistics.service.js +1 -2
- package/dist/services/workflow-statistics.service.js.map +1 -1
- package/dist/task-runners/sliding-window-signal.d.ts +1 -1
- package/dist/task-runners/task-runner-lifecycle-events.d.ts +1 -1
- package/dist/task-runners/task-runner-lifecycle-events.js +2 -2
- package/dist/task-runners/task-runner-lifecycle-events.js.map +1 -1
- package/dist/task-runners/task-runner-process-base.d.ts +1 -2
- package/dist/task-runners/task-runner-process-base.js +1 -2
- package/dist/task-runners/task-runner-process-base.js.map +1 -1
- package/dist/task-runners/task-runner-process-restart-loop-detector.d.ts +1 -1
- package/dist/task-runners/task-runner-process-restart-loop-detector.js +2 -2
- package/dist/task-runners/task-runner-process-restart-loop-detector.js.map +1 -1
- package/dist/user-management/email/templates/api-key-revoked.handlebars +196 -0
- package/dist/user-management/email/user-management-mailer.d.ts +6 -2
- package/dist/user-management/email/user-management-mailer.js +32 -0
- package/dist/user-management/email/user-management-mailer.js.map +1 -1
- package/dist/wait-tracker.d.ts +1 -1
- package/dist/wait-tracker.js +3 -3
- package/dist/wait-tracker.js.map +1 -1
- package/dist/webhooks/webhook-helpers.js +30 -1
- package/dist/webhooks/webhook-helpers.js.map +1 -1
- package/dist/webhooks/webhook-server.js +2 -2
- package/dist/webhooks/webhook-server.js.map +1 -1
- package/dist/webhooks/webhook.service.d.ts +4 -1
- package/dist/webhooks/webhook.service.js +19 -4
- 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 -1
- package/dist/workflow-execute-additional-data.js.map +1 -1
- package/dist/workflow-helpers.d.ts +1 -1
- package/dist/workflow-helpers.js +13 -3
- package/dist/workflow-helpers.js.map +1 -1
- package/dist/workflow-runner.js +0 -2
- package/dist/workflow-runner.js.map +1 -1
- package/dist/workflows/publication/publication-result.d.ts +17 -0
- package/dist/workflows/publication/publication-result.js +3 -0
- package/dist/workflows/publication/publication-result.js.map +1 -0
- package/dist/workflows/publication/publication-status-reporter.d.ts +19 -0
- package/dist/workflows/publication/publication-status-reporter.js +110 -0
- package/dist/workflows/publication/publication-status-reporter.js.map +1 -0
- package/dist/workflows/publication/trigger-diff.d.ts +6 -0
- package/dist/workflows/publication/trigger-diff.js +27 -0
- package/dist/workflows/publication/trigger-diff.js.map +1 -0
- package/dist/workflows/publication/workflow-publication-applier.d.ts +14 -0
- package/dist/workflows/publication/workflow-publication-applier.js +96 -0
- package/dist/workflows/publication/workflow-publication-applier.js.map +1 -0
- package/dist/workflows/{workflow-publication-outbox-consumer.d.ts → publication/workflow-publication-outbox-consumer.d.ts} +9 -13
- package/dist/workflows/{workflow-publication-outbox-consumer.js → publication/workflow-publication-outbox-consumer.js} +25 -93
- package/dist/workflows/publication/workflow-publication-outbox-consumer.js.map +1 -0
- package/dist/workflows/triggers/non-webhook-trigger-registrar.d.ts +39 -0
- package/dist/workflows/triggers/non-webhook-trigger-registrar.js +58 -0
- package/dist/workflows/triggers/non-webhook-trigger-registrar.js.map +1 -0
- package/dist/workflows/triggers/trigger-count.service.d.ts +5 -0
- package/dist/workflows/triggers/trigger-count.service.js +65 -0
- package/dist/workflows/triggers/trigger-count.service.js.map +1 -0
- package/dist/workflows/triggers/trigger-execution-context.factory.d.ts +33 -0
- package/dist/workflows/triggers/trigger-execution-context.factory.js +171 -0
- package/dist/workflows/triggers/trigger-execution-context.factory.js.map +1 -0
- package/dist/workflows/triggers/webhook-trigger-registrar.d.ts +29 -0
- package/dist/workflows/triggers/webhook-trigger-registrar.js +143 -0
- package/dist/workflows/triggers/webhook-trigger-registrar.js.map +1 -0
- package/dist/workflows/triggers/workflow-trigger-activator.d.ts +56 -0
- package/dist/workflows/triggers/workflow-trigger-activator.js +313 -0
- package/dist/workflows/triggers/workflow-trigger-activator.js.map +1 -0
- package/dist/workflows/workflow-validation.service.d.ts +3 -0
- package/dist/workflows/workflow-validation.service.js +63 -37
- package/dist/workflows/workflow-validation.service.js.map +1 -1
- package/dist/workflows/workflow.service.d.ts +5 -3
- package/dist/workflows/workflow.service.js +91 -28
- package/dist/workflows/workflow.service.js.map +1 -1
- package/dist/workflows/workflows.controller.d.ts +3 -3
- package/dist/workflows/workflows.controller.js +3 -3
- package/dist/workflows/workflows.controller.js.map +1 -1
- package/package.json +34 -33
- package/templates/oauth-callback.handlebars +3 -0
- package/templates/oauth-error-callback.handlebars +3 -0
- package/dist/metrics/prometheus-metrics.service.d.ts +0 -54
- package/dist/metrics/prometheus-metrics.service.js +0 -607
- package/dist/metrics/prometheus-metrics.service.js.map +0 -1
- package/dist/metrics/types.d.ts +0 -6
- package/dist/metrics/types.js.map +0 -1
- package/dist/modules/agents/agent-knowledge-command.service.d.ts +0 -40
- package/dist/modules/agents/agent-knowledge-command.service.js +0 -221
- package/dist/modules/agents/agent-knowledge-command.service.js.map +0 -1
- package/dist/modules/agents/entities/agent-file.entity.d.ts +0 -11
- package/dist/modules/agents/entities/agent-file.entity.js.map +0 -1
- package/dist/modules/agents/repositories/agent-file.repository.d.ts +0 -7
- package/dist/modules/agents/repositories/agent-file.repository.js +0 -35
- package/dist/modules/agents/repositories/agent-file.repository.js.map +0 -1
- package/dist/modules/agents/tools/knowledge/csv-helpers.d.ts +0 -73
- package/dist/modules/agents/tools/knowledge/csv-helpers.js +0 -341
- package/dist/modules/agents/tools/knowledge/csv-helpers.js.map +0 -1
- package/dist/modules/agents/tools/knowledge/csv.operation.d.ts +0 -61
- package/dist/modules/agents/tools/knowledge/csv.operation.js +0 -207
- package/dist/modules/agents/tools/knowledge/csv.operation.js.map +0 -1
- package/dist/modules/agents/tools/knowledge/file-references.d.ts +0 -16
- package/dist/modules/agents/tools/knowledge/file-references.js +0 -35
- package/dist/modules/agents/tools/knowledge/file-references.js.map +0 -1
- package/dist/modules/agents/tools/knowledge/read.operation.d.ts +0 -8
- package/dist/modules/agents/tools/knowledge/read.operation.js +0 -38
- package/dist/modules/agents/tools/knowledge/read.operation.js.map +0 -1
- package/dist/modules/agents/tools/knowledge/schemas.d.ts +0 -1505
- package/dist/modules/agents/tools/knowledge/schemas.js +0 -441
- package/dist/modules/agents/tools/knowledge/schemas.js.map +0 -1
- package/dist/modules/agents/tools/knowledge/search.operation.d.ts +0 -9
- package/dist/modules/agents/tools/knowledge/search.operation.js +0 -332
- package/dist/modules/agents/tools/knowledge/search.operation.js.map +0 -1
- package/dist/modules/agents/tools/knowledge/tool.d.ts +0 -8
- package/dist/modules/agents/tools/knowledge/tool.js +0 -121
- package/dist/modules/agents/tools/knowledge/tool.js.map +0 -1
- package/dist/modules/mcp/database/entities/oauth-access-token.entity.js.map +0 -1
- package/dist/modules/mcp/database/entities/oauth-authorization-code.entity.js.map +0 -1
- package/dist/modules/mcp/database/entities/oauth-client.entity.js.map +0 -1
- package/dist/modules/mcp/database/entities/oauth-refresh-token.entity.js.map +0 -1
- package/dist/modules/mcp/database/entities/oauth-user-consent.entity.js.map +0 -1
- package/dist/modules/mcp/database/repositories/oauth-access-token.repository.js.map +0 -1
- package/dist/modules/mcp/database/repositories/oauth-authorization-code.repository.js.map +0 -1
- package/dist/modules/mcp/database/repositories/oauth-client.repository.js.map +0 -1
- package/dist/modules/mcp/database/repositories/oauth-refresh-token.repository.js.map +0 -1
- package/dist/modules/mcp/database/repositories/oauth-user-consent.repository.js.map +0 -1
- package/dist/modules/mcp/dto/approve-consent-request.dto.js.map +0 -1
- package/dist/modules/mcp/mcp-oauth-authorization-code.service.js.map +0 -1
- package/dist/modules/mcp/mcp-oauth-consent.service.js.map +0 -1
- package/dist/modules/mcp/mcp-oauth-service.js.map +0 -1
- package/dist/modules/mcp/mcp-oauth-token.service.js.map +0 -1
- package/dist/modules/mcp/mcp-oauth.helpers.js.map +0 -1
- package/dist/modules/mcp/mcp.auth.consent.controller.js.map +0 -1
- package/dist/modules/mcp/mcp.oauth-clients.controller.js.map +0 -1
- package/dist/modules/mcp/mcp.oauth.controller.js.map +0 -1
- package/dist/modules/mcp/oauth-session.service.js.map +0 -1
- package/dist/modules/n8n-packages/entities/credential/credential-missing-mode-factory.d.ts +0 -7
- package/dist/modules/n8n-packages/entities/credential/credential-missing-mode-factory.js +0 -35
- package/dist/modules/n8n-packages/entities/credential/credential-missing-mode-factory.js.map +0 -1
- package/dist/modules/n8n-packages/entities/credential/credential-resolution-error.d.ts +0 -3
- package/dist/modules/n8n-packages/entities/credential/credential-resolution-error.js +0 -14
- package/dist/modules/n8n-packages/entities/credential/credential-resolution-error.js.map +0 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-fail.handler.d.ts +0 -9
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-fail.handler.js +0 -41
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-fail.handler.js.map +0 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-handler.d.ts +0 -10
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-handler.js +0 -20
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-handler.js.map +0 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-new-version.handler.d.ts +0 -11
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-new-version.handler.js +0 -42
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-new-version.handler.js.map +0 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-skip.handler.d.ts +0 -9
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-skip.handler.js +0 -33
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-skip.handler.js.map +0 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy.factory.d.ts +0 -10
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy.factory.js +0 -37
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy.factory.js.map +0 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy.types.d.ts +0 -20
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy.types.js.map +0 -1
- package/dist/modules/redaction/redaction-enforcement.feature-flag.d.ts +0 -2
- package/dist/modules/redaction/redaction-enforcement.feature-flag.js +0 -9
- package/dist/modules/redaction/redaction-enforcement.feature-flag.js.map +0 -1
- package/dist/typed-emitter.d.ts +0 -14
- package/dist/typed-emitter.js +0 -29
- package/dist/typed-emitter.js.map +0 -1
- package/dist/workflows/workflow-publication-outbox-consumer.js.map +0 -1
- /package/dist/modules/{mcp → oauth-server}/database/entities/oauth-access-token.entity.d.ts +0 -0
- /package/dist/modules/{mcp → oauth-server}/database/entities/oauth-access-token.entity.js +0 -0
- /package/dist/modules/{mcp → oauth-server}/database/entities/oauth-authorization-code.entity.d.ts +0 -0
- /package/dist/modules/{mcp → oauth-server}/database/entities/oauth-authorization-code.entity.js +0 -0
- /package/dist/modules/{mcp → oauth-server}/database/entities/oauth-client.entity.d.ts +0 -0
- /package/dist/modules/{mcp → oauth-server}/database/entities/oauth-client.entity.js +0 -0
- /package/dist/modules/{mcp → oauth-server}/database/entities/oauth-refresh-token.entity.d.ts +0 -0
- /package/dist/modules/{mcp → oauth-server}/database/entities/oauth-refresh-token.entity.js +0 -0
- /package/dist/modules/{mcp → oauth-server}/database/entities/oauth-user-consent.entity.d.ts +0 -0
- /package/dist/modules/{mcp → oauth-server}/database/entities/oauth-user-consent.entity.js +0 -0
- /package/dist/modules/{mcp → oauth-server}/database/repositories/oauth-access-token.repository.d.ts +0 -0
- /package/dist/modules/{mcp → oauth-server}/database/repositories/oauth-access-token.repository.js +0 -0
- /package/dist/modules/{mcp → oauth-server}/database/repositories/oauth-authorization-code.repository.d.ts +0 -0
- /package/dist/modules/{mcp → oauth-server}/database/repositories/oauth-authorization-code.repository.js +0 -0
- /package/dist/modules/{mcp → oauth-server}/database/repositories/oauth-client.repository.d.ts +0 -0
- /package/dist/modules/{mcp → oauth-server}/database/repositories/oauth-client.repository.js +0 -0
- /package/dist/modules/{mcp → oauth-server}/database/repositories/oauth-refresh-token.repository.d.ts +0 -0
- /package/dist/modules/{mcp → oauth-server}/database/repositories/oauth-refresh-token.repository.js +0 -0
- /package/dist/modules/{mcp → oauth-server}/database/repositories/oauth-user-consent.repository.d.ts +0 -0
- /package/dist/modules/{mcp → oauth-server}/database/repositories/oauth-user-consent.repository.js +0 -0
- /package/dist/modules/{mcp → oauth-server}/dto/approve-consent-request.dto.d.ts +0 -0
- /package/dist/modules/{mcp → oauth-server}/dto/approve-consent-request.dto.js +0 -0
- /package/dist/modules/{mcp → oauth-server}/oauth-session.service.d.ts +0 -0
- /package/dist/modules/{mcp → oauth-server}/oauth-session.service.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth-token.service.js","sourceRoot":"","sources":["../../../src/modules/oauth-server/oauth-token.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { StaticRouterMetadata } from '@n8n/decorators';
|
|
2
2
|
import type { Response, Request } from 'express';
|
|
3
|
+
import { ProtectedResourceRegistry } from '../../services/protected-resource.registry';
|
|
3
4
|
import { UrlService } from '../../services/url.service';
|
|
4
|
-
export declare class
|
|
5
|
+
export declare class OAuthController {
|
|
5
6
|
private readonly urlService;
|
|
6
|
-
|
|
7
|
+
private readonly resourceRegistry;
|
|
8
|
+
constructor(urlService: UrlService, resourceRegistry: ProtectedResourceRegistry);
|
|
7
9
|
private setCorsHeaders;
|
|
8
10
|
static routers: StaticRouterMetadata[];
|
|
9
11
|
metadataOptions(_req: Request, res: Response): void;
|
|
10
12
|
metadata(_req: Request, res: Response): void;
|
|
11
13
|
protectedResourceMetadataOptions(_req: Request, res: Response): void;
|
|
12
|
-
protectedResourceMetadata(
|
|
14
|
+
protectedResourceMetadata(req: Request, res: Response): Promise<void>;
|
|
13
15
|
}
|
|
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
12
|
+
exports.OAuthController = void 0;
|
|
13
13
|
const authorize_js_1 = require("@modelcontextprotocol/sdk/server/auth/handlers/authorize.js");
|
|
14
14
|
const register_js_1 = require("@modelcontextprotocol/sdk/server/auth/handlers/register.js");
|
|
15
15
|
const revoke_js_1 = require("@modelcontextprotocol/sdk/server/auth/handlers/revoke.js");
|
|
@@ -19,40 +19,64 @@ const config_1 = require("@n8n/config");
|
|
|
19
19
|
const constants_1 = require("@n8n/constants");
|
|
20
20
|
const decorators_1 = require("@n8n/decorators");
|
|
21
21
|
const di_1 = require("@n8n/di");
|
|
22
|
+
const protected_resource_registry_1 = require("../../services/protected-resource.registry");
|
|
22
23
|
const url_service_1 = require("../../services/url.service");
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
const
|
|
26
|
-
const mcp_settings_service_1 = require("./mcp.settings.service");
|
|
27
|
-
const mcpOAuthService = di_1.Container.get(mcp_oauth_service_1.McpOAuthService);
|
|
28
|
-
const mcpSettingsService = di_1.Container.get(mcp_settings_service_1.McpSettingsService);
|
|
24
|
+
const oauth_server_service_1 = require("./oauth-server.service");
|
|
25
|
+
const oauth_errors_1 = require("./oauth.errors");
|
|
26
|
+
const oauthServerService = di_1.Container.get(oauth_server_service_1.OAuthServerService);
|
|
29
27
|
const globalConfig = di_1.Container.get(config_1.GlobalConfig);
|
|
30
28
|
const logger = di_1.Container.get(backend_common_1.Logger);
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
if (!enabled) {
|
|
34
|
-
res.status(403).json({ error: mcp_constants_1.MCP_ACCESS_DISABLED_ERROR_MESSAGE });
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
next();
|
|
38
|
-
};
|
|
39
|
-
const mcpClientLimitGuard = async (_req, res, next) => {
|
|
40
|
-
if (await mcpOAuthService.isClientLimitReached()) {
|
|
29
|
+
const oauthClientLimitGuard = async (_req, res, next) => {
|
|
30
|
+
if (await oauthServerService.isClientLimitReached()) {
|
|
41
31
|
const limit = globalConfig.endpoints.mcpMaxRegisteredClients;
|
|
42
|
-
logger.warn('
|
|
32
|
+
logger.warn('OAuth client registration rejected: instance limit reached (pre-check)', {
|
|
43
33
|
limit,
|
|
44
34
|
});
|
|
45
35
|
res.status(503).json({
|
|
46
36
|
error: 'server_error',
|
|
47
|
-
error_description: (0,
|
|
37
|
+
error_description: (0, oauth_errors_1.buildOAuthClientLimitReachedMessage)(limit),
|
|
48
38
|
});
|
|
49
39
|
return;
|
|
50
40
|
}
|
|
51
41
|
next();
|
|
52
42
|
};
|
|
53
|
-
|
|
54
|
-
|
|
43
|
+
const registerRouter = (0, register_js_1.clientRegistrationHandler)({
|
|
44
|
+
clientsStore: oauthServerService.clientsStore,
|
|
45
|
+
});
|
|
46
|
+
const authorizeRouter = (0, authorize_js_1.authorizationHandler)({ provider: oauthServerService });
|
|
47
|
+
const tokenRouter = (0, token_js_1.tokenHandler)({ provider: oauthServerService });
|
|
48
|
+
const revokeRouter = (0, revoke_js_1.revocationHandler)({ provider: oauthServerService });
|
|
49
|
+
const sharedEndpointRouters = (basePath) => [
|
|
50
|
+
{
|
|
51
|
+
path: `${basePath}/register`,
|
|
52
|
+
router: registerRouter,
|
|
53
|
+
skipAuth: true,
|
|
54
|
+
middlewares: [oauthClientLimitGuard],
|
|
55
|
+
ipRateLimit: { limit: 10, windowMs: 5 * constants_1.Time.minutes.toMilliseconds },
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
path: `${basePath}/authorize`,
|
|
59
|
+
router: authorizeRouter,
|
|
60
|
+
skipAuth: true,
|
|
61
|
+
ipRateLimit: { limit: 50, windowMs: 5 * constants_1.Time.minutes.toMilliseconds },
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
path: `${basePath}/token`,
|
|
65
|
+
router: tokenRouter,
|
|
66
|
+
skipAuth: true,
|
|
67
|
+
ipRateLimit: { limit: 20, windowMs: 5 * constants_1.Time.minutes.toMilliseconds },
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
path: `${basePath}/revoke`,
|
|
71
|
+
router: revokeRouter,
|
|
72
|
+
skipAuth: true,
|
|
73
|
+
ipRateLimit: { limit: 30, windowMs: 5 * constants_1.Time.minutes.toMilliseconds },
|
|
74
|
+
},
|
|
75
|
+
];
|
|
76
|
+
let OAuthController = class OAuthController {
|
|
77
|
+
constructor(urlService, resourceRegistry) {
|
|
55
78
|
this.urlService = urlService;
|
|
79
|
+
this.resourceRegistry = resourceRegistry;
|
|
56
80
|
}
|
|
57
81
|
setCorsHeaders(res) {
|
|
58
82
|
res.header('Access-Control-Allow-Origin', '*');
|
|
@@ -76,7 +100,7 @@ let McpOAuthController = class McpOAuthController {
|
|
|
76
100
|
grant_types_supported: ['authorization_code', 'refresh_token'],
|
|
77
101
|
token_endpoint_auth_methods_supported: ['none', 'client_secret_post', 'client_secret_basic'],
|
|
78
102
|
code_challenge_methods_supported: ['S256'],
|
|
79
|
-
scopes_supported:
|
|
103
|
+
scopes_supported: this.resourceRegistry.getAllScopes(),
|
|
80
104
|
};
|
|
81
105
|
res.json(metadata);
|
|
82
106
|
}
|
|
@@ -84,47 +108,33 @@ let McpOAuthController = class McpOAuthController {
|
|
|
84
108
|
this.setCorsHeaders(res);
|
|
85
109
|
res.status(204).end();
|
|
86
110
|
}
|
|
87
|
-
protectedResourceMetadata(
|
|
111
|
+
async protectedResourceMetadata(req, res) {
|
|
88
112
|
this.setCorsHeaders(res);
|
|
113
|
+
const resourcePath = '/' +
|
|
114
|
+
(Array.isArray(req.params.resourcePath)
|
|
115
|
+
? req.params.resourcePath.join('/')
|
|
116
|
+
: req.params.resourcePath);
|
|
117
|
+
const resource = await this.resourceRegistry.getByResourcePath(resourcePath);
|
|
118
|
+
if (!resource) {
|
|
119
|
+
res.status(404).json({ message: 'Unknown protected resource' });
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
89
122
|
const baseUrl = this.urlService.getInstanceBaseUrl();
|
|
90
|
-
|
|
91
|
-
resource:
|
|
123
|
+
const metadata = {
|
|
124
|
+
resource: resource.getResourceUrl(),
|
|
92
125
|
bearer_methods_supported: ['header'],
|
|
93
126
|
authorization_servers: [baseUrl],
|
|
94
|
-
|
|
95
|
-
|
|
127
|
+
};
|
|
128
|
+
if (resource.scopes.length > 0) {
|
|
129
|
+
metadata.scopes_supported = resource.scopes;
|
|
130
|
+
}
|
|
131
|
+
res.json(metadata);
|
|
96
132
|
}
|
|
97
133
|
};
|
|
98
|
-
exports.
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
router: (0, register_js_1.clientRegistrationHandler)({ clientsStore: mcpOAuthService.clientsStore }),
|
|
103
|
-
skipAuth: true,
|
|
104
|
-
middlewares: [mcpEnabledGuard, mcpClientLimitGuard],
|
|
105
|
-
ipRateLimit: { limit: 10, windowMs: 5 * constants_1.Time.minutes.toMilliseconds },
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
path: '/mcp-oauth/authorize',
|
|
109
|
-
router: (0, authorize_js_1.authorizationHandler)({ provider: mcpOAuthService }),
|
|
110
|
-
skipAuth: true,
|
|
111
|
-
middlewares: [mcpEnabledGuard],
|
|
112
|
-
ipRateLimit: { limit: 50, windowMs: 5 * constants_1.Time.minutes.toMilliseconds },
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
path: '/mcp-oauth/token',
|
|
116
|
-
router: (0, token_js_1.tokenHandler)({ provider: mcpOAuthService }),
|
|
117
|
-
skipAuth: true,
|
|
118
|
-
middlewares: [mcpEnabledGuard],
|
|
119
|
-
ipRateLimit: { limit: 20, windowMs: 5 * constants_1.Time.minutes.toMilliseconds },
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
path: '/mcp-oauth/revoke',
|
|
123
|
-
router: (0, revoke_js_1.revocationHandler)({ provider: mcpOAuthService }),
|
|
124
|
-
skipAuth: true,
|
|
125
|
-
middlewares: [mcpEnabledGuard],
|
|
126
|
-
ipRateLimit: { limit: 30, windowMs: 5 * constants_1.Time.minutes.toMilliseconds },
|
|
127
|
-
},
|
|
134
|
+
exports.OAuthController = OAuthController;
|
|
135
|
+
OAuthController.routers = [
|
|
136
|
+
...sharedEndpointRouters('/mcp-oauth'),
|
|
137
|
+
...sharedEndpointRouters('/oauth'),
|
|
128
138
|
];
|
|
129
139
|
__decorate([
|
|
130
140
|
(0, decorators_1.Options)('/.well-known/oauth-authorization-server', {
|
|
@@ -135,7 +145,7 @@ __decorate([
|
|
|
135
145
|
__metadata("design:type", Function),
|
|
136
146
|
__metadata("design:paramtypes", [Object, Object]),
|
|
137
147
|
__metadata("design:returntype", void 0)
|
|
138
|
-
],
|
|
148
|
+
], OAuthController.prototype, "metadataOptions", null);
|
|
139
149
|
__decorate([
|
|
140
150
|
(0, decorators_1.Get)('/.well-known/oauth-authorization-server', {
|
|
141
151
|
skipAuth: true,
|
|
@@ -145,9 +155,9 @@ __decorate([
|
|
|
145
155
|
__metadata("design:type", Function),
|
|
146
156
|
__metadata("design:paramtypes", [Object, Object]),
|
|
147
157
|
__metadata("design:returntype", void 0)
|
|
148
|
-
],
|
|
158
|
+
], OAuthController.prototype, "metadata", null);
|
|
149
159
|
__decorate([
|
|
150
|
-
(0, decorators_1.Options)('/.well-known/oauth-protected-resource
|
|
160
|
+
(0, decorators_1.Options)('/.well-known/oauth-protected-resource/*resourcePath', {
|
|
151
161
|
skipAuth: true,
|
|
152
162
|
usesTemplates: true,
|
|
153
163
|
ipRateLimit: { limit: 100, windowMs: 5 * constants_1.Time.minutes.toMilliseconds },
|
|
@@ -155,19 +165,20 @@ __decorate([
|
|
|
155
165
|
__metadata("design:type", Function),
|
|
156
166
|
__metadata("design:paramtypes", [Object, Object]),
|
|
157
167
|
__metadata("design:returntype", void 0)
|
|
158
|
-
],
|
|
168
|
+
], OAuthController.prototype, "protectedResourceMetadataOptions", null);
|
|
159
169
|
__decorate([
|
|
160
|
-
(0, decorators_1.Get)('/.well-known/oauth-protected-resource
|
|
170
|
+
(0, decorators_1.Get)('/.well-known/oauth-protected-resource/*resourcePath', {
|
|
161
171
|
skipAuth: true,
|
|
162
172
|
usesTemplates: true,
|
|
163
173
|
ipRateLimit: { limit: 100, windowMs: 5 * constants_1.Time.minutes.toMilliseconds },
|
|
164
174
|
}),
|
|
165
175
|
__metadata("design:type", Function),
|
|
166
176
|
__metadata("design:paramtypes", [Object, Object]),
|
|
167
|
-
__metadata("design:returntype",
|
|
168
|
-
],
|
|
169
|
-
exports.
|
|
177
|
+
__metadata("design:returntype", Promise)
|
|
178
|
+
], OAuthController.prototype, "protectedResourceMetadata", null);
|
|
179
|
+
exports.OAuthController = OAuthController = __decorate([
|
|
170
180
|
(0, decorators_1.RootLevelController)('/'),
|
|
171
|
-
__metadata("design:paramtypes", [url_service_1.UrlService
|
|
172
|
-
]
|
|
173
|
-
|
|
181
|
+
__metadata("design:paramtypes", [url_service_1.UrlService,
|
|
182
|
+
protected_resource_registry_1.ProtectedResourceRegistry])
|
|
183
|
+
], OAuthController);
|
|
184
|
+
//# sourceMappingURL=oauth.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth.controller.js","sourceRoot":"","sources":["../../../src/modules/oauth-server/oauth.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ServerError } from '@modelcontextprotocol/sdk/server/auth/errors.js';
|
|
2
|
+
import { AuthError } from '../../errors/response-errors/auth.error';
|
|
3
|
+
export declare const buildOAuthClientLimitReachedMessage: (limit: number) => string;
|
|
4
|
+
export declare class OAuthClientLimitReachedError extends ServerError {
|
|
5
|
+
readonly limit: number;
|
|
6
|
+
constructor(limit: number);
|
|
7
|
+
}
|
|
8
|
+
export declare class JWTVerificationError extends AuthError {
|
|
9
|
+
constructor();
|
|
10
|
+
}
|
|
11
|
+
export declare class AccessTokenNotFoundError extends AuthError {
|
|
12
|
+
constructor();
|
|
13
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AccessTokenNotFoundError = exports.JWTVerificationError = exports.OAuthClientLimitReachedError = exports.buildOAuthClientLimitReachedMessage = void 0;
|
|
4
|
+
const errors_js_1 = require("@modelcontextprotocol/sdk/server/auth/errors.js");
|
|
5
|
+
const auth_error_1 = require("../../errors/response-errors/auth.error");
|
|
6
|
+
const buildOAuthClientLimitReachedMessage = (limit) => `This n8n instance has reached its maximum of ${limit} registered MCP clients. Ask an administrator to revoke unused clients or raise N8N_MCP_MAX_REGISTERED_CLIENTS.`;
|
|
7
|
+
exports.buildOAuthClientLimitReachedMessage = buildOAuthClientLimitReachedMessage;
|
|
8
|
+
class OAuthClientLimitReachedError extends errors_js_1.ServerError {
|
|
9
|
+
constructor(limit) {
|
|
10
|
+
super((0, exports.buildOAuthClientLimitReachedMessage)(limit));
|
|
11
|
+
this.name = 'OAuthClientLimitReachedError';
|
|
12
|
+
this.limit = limit;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.OAuthClientLimitReachedError = OAuthClientLimitReachedError;
|
|
16
|
+
class JWTVerificationError extends auth_error_1.AuthError {
|
|
17
|
+
constructor() {
|
|
18
|
+
super('JWT Verification Failed');
|
|
19
|
+
this.name = 'JWTVerificationError';
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.JWTVerificationError = JWTVerificationError;
|
|
23
|
+
class AccessTokenNotFoundError extends auth_error_1.AuthError {
|
|
24
|
+
constructor() {
|
|
25
|
+
super('Access Token Not Found in Database');
|
|
26
|
+
this.name = 'AccessTokenNotFoundError';
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.AccessTokenNotFoundError = AccessTokenNotFoundError;
|
|
30
|
+
//# sourceMappingURL=oauth.errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth.errors.js","sourceRoot":"","sources":["../../../src/modules/oauth-server/oauth.errors.ts"],"names":[],"mappings":";;;AAAA,+EAA8E;AAE9E,oEAAgE;AAKzD,MAAM,mCAAmC,GAAG,CAAC,KAAa,EAAU,EAAE,CAC5E,gDAAgD,KAAK,iHAAiH,CAAC;AAD3J,QAAA,mCAAmC,uCACwH;AAQxK,MAAa,4BAA6B,SAAQ,uBAAW;IAG5D,YAAY,KAAa;QACxB,KAAK,CAAC,IAAA,2CAAmC,EAAC,KAAK,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;CACD;AARD,oEAQC;AAED,MAAa,oBAAqB,SAAQ,sBAAS;IAClD;QACC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACpC,CAAC;CACD;AALD,oDAKC;AAED,MAAa,wBAAyB,SAAQ,sBAAS;IACtD;QACC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACxC,CAAC;CACD;AALD,4DAKC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare class
|
|
1
|
+
export declare class OAuthHelpers {
|
|
2
2
|
static buildSuccessRedirectUrl(redirectUri: string, code: string, state: string | null): string;
|
|
3
3
|
static buildErrorRedirectUrl(redirectUri: string, error: string, errorDescription: string, state: string | null): string;
|
|
4
4
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
class
|
|
3
|
+
exports.OAuthHelpers = void 0;
|
|
4
|
+
class OAuthHelpers {
|
|
5
5
|
static buildSuccessRedirectUrl(redirectUri, code, state) {
|
|
6
6
|
const targetUrl = new URL(redirectUri);
|
|
7
7
|
targetUrl.searchParams.set('code', code);
|
|
@@ -20,5 +20,5 @@ class McpOAuthHelpers {
|
|
|
20
20
|
return targetUrl.toString();
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
exports.
|
|
24
|
-
//# sourceMappingURL=
|
|
23
|
+
exports.OAuthHelpers = OAuthHelpers;
|
|
24
|
+
//# sourceMappingURL=oauth.helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth.helpers.js","sourceRoot":"","sources":["../../../src/modules/oauth-server/oauth.helpers.ts"],"names":[],"mappings":";;;AAGA,MAAa,YAAY;IAKxB,MAAM,CAAC,uBAAuB,CAAC,WAAmB,EAAE,IAAY,EAAE,KAAoB;QACrF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;QACvC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,KAAK,EAAE,CAAC;YACX,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAMD,MAAM,CAAC,qBAAqB,CAC3B,WAAmB,EACnB,KAAa,EACb,gBAAwB,EACxB,KAAoB;QAEpB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;QACvC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC3C,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;QAClE,IAAI,KAAK,EAAE,CAAC;YACX,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;CACD;AAhCD,oCAgCC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const WORKFLOW_MCP_TRIGGER_SCOPES: string[];
|
|
2
|
+
export declare function trimTrailingSlash(path: string): string;
|
|
3
|
+
export declare function trimSlashes(path: string): string;
|
|
4
|
+
export declare function resourceUrlToWebhookPath(resourceUrl: string, webhookBaseUrl: string): string | undefined;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WORKFLOW_MCP_TRIGGER_SCOPES = void 0;
|
|
4
|
+
exports.trimTrailingSlash = trimTrailingSlash;
|
|
5
|
+
exports.trimSlashes = trimSlashes;
|
|
6
|
+
exports.resourceUrlToWebhookPath = resourceUrlToWebhookPath;
|
|
7
|
+
exports.WORKFLOW_MCP_TRIGGER_SCOPES = [];
|
|
8
|
+
function trimTrailingSlash(path) {
|
|
9
|
+
if (path.endsWith('/')) {
|
|
10
|
+
path = path.slice(0, -1);
|
|
11
|
+
}
|
|
12
|
+
return path;
|
|
13
|
+
}
|
|
14
|
+
function trimSlashes(path) {
|
|
15
|
+
if (path.startsWith('/')) {
|
|
16
|
+
path = path.slice(1);
|
|
17
|
+
}
|
|
18
|
+
if (path.endsWith('/')) {
|
|
19
|
+
path = path.slice(0, -1);
|
|
20
|
+
}
|
|
21
|
+
return path;
|
|
22
|
+
}
|
|
23
|
+
function resourceUrlToWebhookPath(resourceUrl, webhookBaseUrl) {
|
|
24
|
+
let url;
|
|
25
|
+
try {
|
|
26
|
+
url = new URL(resourceUrl);
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
const base = new URL(webhookBaseUrl);
|
|
32
|
+
if (url.origin !== base.origin) {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
const basePath = trimTrailingSlash(base.pathname);
|
|
36
|
+
if (basePath && !url.pathname.startsWith(`${basePath}/`)) {
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
return url.pathname.slice(basePath.length);
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/modules/oauth-server/protected-resource-resolvers/utils.ts"],"names":[],"mappings":";;;AAOA,8CAKC;AAED,kCAQC;AAYD,4DAsBC;AAnDY,QAAA,2BAA2B,GAAa,EAAE,CAAC;AAExD,SAAgB,iBAAiB,CAAC,IAAY;IAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAgB,WAAW,CAAC,IAAY;IACvC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAYD,SAAgB,wBAAwB,CACvC,WAAmB,EACnB,cAAsB;IAEtB,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACJ,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;IACrC,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClD,IAAI,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { ProtectedResourceResolver } from '../../../services/protected-resource.registry';
|
|
2
|
+
import { UrlService } from '../../../services/url.service';
|
|
3
|
+
import { TestWebhookRegistrationsService } from '../../../webhooks/test-webhook-registrations.service';
|
|
4
|
+
import { Logger } from '@n8n/backend-common';
|
|
5
|
+
import { GlobalConfig } from '@n8n/config';
|
|
6
|
+
export declare class WorkflowMcpTestTriggerResourceResolver implements ProtectedResourceResolver {
|
|
7
|
+
private readonly config;
|
|
8
|
+
private readonly registrations;
|
|
9
|
+
private readonly urlService;
|
|
10
|
+
private readonly logger;
|
|
11
|
+
constructor(config: GlobalConfig, registrations: TestWebhookRegistrationsService, urlService: UrlService, logger: Logger);
|
|
12
|
+
readonly id = "workflow-mcp-test-trigger";
|
|
13
|
+
readonly scopes: string[];
|
|
14
|
+
resolveByUrl(resourceUrl: string): Promise<{
|
|
15
|
+
id: string;
|
|
16
|
+
getResourceUrl: () => string;
|
|
17
|
+
getAudiences: () => string[];
|
|
18
|
+
scopes: string[];
|
|
19
|
+
displayName: string;
|
|
20
|
+
} | undefined>;
|
|
21
|
+
resolveByPath(pathname: string): Promise<{
|
|
22
|
+
id: string;
|
|
23
|
+
getResourceUrl: () => string;
|
|
24
|
+
getAudiences: () => string[];
|
|
25
|
+
scopes: string[];
|
|
26
|
+
displayName: string;
|
|
27
|
+
} | undefined>;
|
|
28
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
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.WorkflowMcpTestTriggerResourceResolver = void 0;
|
|
13
|
+
const constants_1 = require("../../../constants");
|
|
14
|
+
const url_service_1 = require("../../../services/url.service");
|
|
15
|
+
const test_webhook_registrations_service_1 = require("../../../webhooks/test-webhook-registrations.service");
|
|
16
|
+
const backend_common_1 = require("@n8n/backend-common");
|
|
17
|
+
const config_1 = require("@n8n/config");
|
|
18
|
+
const di_1 = require("@n8n/di");
|
|
19
|
+
const utils_1 = require("./utils");
|
|
20
|
+
let WorkflowMcpTestTriggerResourceResolver = class WorkflowMcpTestTriggerResourceResolver {
|
|
21
|
+
constructor(config, registrations, urlService, logger) {
|
|
22
|
+
this.config = config;
|
|
23
|
+
this.registrations = registrations;
|
|
24
|
+
this.urlService = urlService;
|
|
25
|
+
this.logger = logger;
|
|
26
|
+
this.id = 'workflow-mcp-test-trigger';
|
|
27
|
+
this.scopes = utils_1.WORKFLOW_MCP_TRIGGER_SCOPES;
|
|
28
|
+
}
|
|
29
|
+
async resolveByUrl(resourceUrl) {
|
|
30
|
+
const pathname = (0, utils_1.resourceUrlToWebhookPath)(resourceUrl, this.urlService.getWebhookBaseUrl());
|
|
31
|
+
if (pathname === undefined) {
|
|
32
|
+
this.logger.debug(`Resource URL is not under the webhook base URL: ${resourceUrl}`);
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
return await this.resolveByPath(pathname);
|
|
36
|
+
}
|
|
37
|
+
async resolveByPath(pathname) {
|
|
38
|
+
if (!pathname.startsWith(`/${this.config.endpoints.mcpTest}/`)) {
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
const path = (0, utils_1.trimSlashes)(pathname.slice(this.config.endpoints.mcpTest.length + 1));
|
|
42
|
+
this.logger.debug(`Resolving workflow MCP test trigger resource for path: ${path}`);
|
|
43
|
+
const registration = await this.registrations.get(this.registrations.toKey({ httpMethod: 'POST', path }));
|
|
44
|
+
if (!registration) {
|
|
45
|
+
this.logger.debug(`No test webhook registration found for path: ${path}`);
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
const { workflowEntity, webhook } = registration;
|
|
49
|
+
const node = workflowEntity.nodes.find((n) => n.name === webhook.node);
|
|
50
|
+
if (!node) {
|
|
51
|
+
this.logger.debug(`No node found with name ${webhook.node} in test registration for workflow with ID: ${workflowEntity.id}`);
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
if (node.type === constants_1.MCP_TRIGGER_NODE_TYPE &&
|
|
55
|
+
!node.disabled &&
|
|
56
|
+
node.parameters.authentication === 'n8nOAuth2') {
|
|
57
|
+
const resourceUrl = `${(0, utils_1.trimTrailingSlash)(this.urlService.getWebhookBaseUrl())}/${this.config.endpoints.mcpTest}/${path}`;
|
|
58
|
+
return {
|
|
59
|
+
id: 'workflow-mcp-test:' + workflowEntity.id,
|
|
60
|
+
getResourceUrl: () => resourceUrl,
|
|
61
|
+
getAudiences: () => [resourceUrl],
|
|
62
|
+
scopes: utils_1.WORKFLOW_MCP_TRIGGER_SCOPES,
|
|
63
|
+
displayName: workflowEntity.name,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
this.logger.debug(`Node with name ${webhook.node} in test registration for workflow with ID: ${workflowEntity.id} is not an enabled MCP trigger with n8nOAuth2 authentication`);
|
|
67
|
+
return undefined;
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
exports.WorkflowMcpTestTriggerResourceResolver = WorkflowMcpTestTriggerResourceResolver;
|
|
71
|
+
exports.WorkflowMcpTestTriggerResourceResolver = WorkflowMcpTestTriggerResourceResolver = __decorate([
|
|
72
|
+
(0, di_1.Service)(),
|
|
73
|
+
__metadata("design:paramtypes", [config_1.GlobalConfig,
|
|
74
|
+
test_webhook_registrations_service_1.TestWebhookRegistrationsService,
|
|
75
|
+
url_service_1.UrlService,
|
|
76
|
+
backend_common_1.Logger])
|
|
77
|
+
], WorkflowMcpTestTriggerResourceResolver);
|
|
78
|
+
//# sourceMappingURL=workflow-mcp-test-trigger-resource.resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-mcp-test-trigger-resource.resolver.js","sourceRoot":"","sources":["../../../../src/modules/oauth-server/protected-resource-resolvers/workflow-mcp-test-trigger-resource.resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ProtectedResourceResolver } from '../../../services/protected-resource.registry';
|
|
2
|
+
import { UrlService } from '../../../services/url.service';
|
|
3
|
+
import { WebhookService } from '../../../webhooks/webhook.service';
|
|
4
|
+
import { Logger } from '@n8n/backend-common';
|
|
5
|
+
import { GlobalConfig } from '@n8n/config';
|
|
6
|
+
import { WorkflowRepository } from '@n8n/db';
|
|
7
|
+
export declare class WorkflowMcpTriggerResourceResolver implements ProtectedResourceResolver {
|
|
8
|
+
private readonly config;
|
|
9
|
+
private readonly webhookService;
|
|
10
|
+
private readonly workflowRepository;
|
|
11
|
+
private readonly urlService;
|
|
12
|
+
private readonly logger;
|
|
13
|
+
constructor(config: GlobalConfig, webhookService: WebhookService, workflowRepository: WorkflowRepository, urlService: UrlService, logger: Logger);
|
|
14
|
+
readonly id = "workflow-mcp-trigger";
|
|
15
|
+
readonly scopes: string[];
|
|
16
|
+
resolveByUrl(resourceUrl: string): Promise<{
|
|
17
|
+
id: string;
|
|
18
|
+
getResourceUrl: () => string;
|
|
19
|
+
getAudiences: () => string[];
|
|
20
|
+
scopes: string[];
|
|
21
|
+
displayName: string;
|
|
22
|
+
} | undefined>;
|
|
23
|
+
resolveByPath(pathname: string): Promise<{
|
|
24
|
+
id: string;
|
|
25
|
+
getResourceUrl: () => string;
|
|
26
|
+
getAudiences: () => string[];
|
|
27
|
+
scopes: string[];
|
|
28
|
+
displayName: string;
|
|
29
|
+
} | undefined>;
|
|
30
|
+
}
|