n8n 2.27.2 → 2.28.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/abstract-server.js +0 -4
- package/dist/abstract-server.js.map +1 -1
- package/dist/active-workflow-manager.js +4 -1
- package/dist/active-workflow-manager.js.map +1 -1
- package/dist/agent-library-bundle.js +7 -3
- package/dist/build.tsbuildinfo +1 -1
- package/dist/commands/audit.js +6 -0
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/base-command.d.ts +1 -0
- package/dist/commands/base-command.js +36 -2
- package/dist/commands/base-command.js.map +1 -1
- package/dist/commands/start.js +18 -9
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/worker.js +2 -0
- package/dist/commands/worker.js.map +1 -1
- package/dist/constants.d.ts +1 -0
- package/dist/constants.js +5 -1
- package/dist/constants.js.map +1 -1
- package/dist/controllers/api-keys.controller.d.ts +17 -0
- package/dist/controllers/api-keys.controller.js +19 -0
- package/dist/controllers/api-keys.controller.js.map +1 -1
- package/dist/controllers/e2e.controller.js +1 -0
- package/dist/controllers/e2e.controller.js.map +1 -1
- package/dist/controllers/telemetry.controller.d.ts +3 -1
- package/dist/controllers/telemetry.controller.js +17 -7
- package/dist/controllers/telemetry.controller.js.map +1 -1
- package/dist/controllers/users.controller.d.ts +1 -1
- package/dist/credentials/credentials.service.d.ts +5 -0
- package/dist/credentials/credentials.service.js +17 -3
- package/dist/credentials/credentials.service.js.map +1 -1
- package/dist/evaluation.ee/evaluation-config.controller.d.ts +7 -1
- package/dist/evaluation.ee/evaluation-config.controller.js +30 -1
- package/dist/evaluation.ee/evaluation-config.controller.js.map +1 -1
- package/dist/evaluation.ee/evaluation-dataset.service.d.ts +24 -0
- package/dist/evaluation.ee/evaluation-dataset.service.js +185 -0
- package/dist/evaluation.ee/evaluation-dataset.service.js.map +1 -0
- package/dist/evaluation.ee/llm-judge-provider-registry.js +2 -2
- package/dist/evaluation.ee/llm-judge-provider-registry.js.map +1 -1
- package/dist/evaluation.ee/test-runner/test-runner.service.ee.js +6 -6
- package/dist/evaluation.ee/test-runner/test-runner.service.ee.js.map +1 -1
- package/dist/evaluation.ee/test-runner/workflow-compiler.service.d.ts +2 -0
- package/dist/evaluation.ee/test-runner/workflow-compiler.service.js +27 -0
- package/dist/evaluation.ee/test-runner/workflow-compiler.service.js.map +1 -1
- package/dist/eventbus/event-message-classes/index.d.ts +2 -2
- package/dist/eventbus/event-message-classes/index.js +2 -0
- package/dist/eventbus/event-message-classes/index.js.map +1 -1
- package/dist/events/event.service.d.ts +2 -1
- package/dist/events/event.service.js.map +1 -1
- package/dist/events/maps/instance-ai.event-map.d.ts +15 -0
- package/dist/events/maps/instance-ai.event-map.js +3 -0
- package/dist/events/maps/instance-ai.event-map.js.map +1 -0
- package/dist/events/maps/relay.event-map.d.ts +8 -1
- package/dist/events/relays/log-streaming.event-relay.d.ts +2 -0
- package/dist/events/relays/log-streaming.event-relay.js +26 -0
- package/dist/events/relays/log-streaming.event-relay.js.map +1 -1
- package/dist/events/relays/telemetry.event-relay.d.ts +1 -0
- package/dist/events/relays/telemetry.event-relay.js +11 -0
- package/dist/events/relays/telemetry.event-relay.js.map +1 -1
- package/dist/execution-lifecycle/execution-lifecycle-hooks.js +1 -0
- package/dist/execution-lifecycle/execution-lifecycle-hooks.js.map +1 -1
- package/dist/execution-lifecycle/shared/shared-hook-functions.d.ts +2 -1
- package/dist/execution-lifecycle/shared/shared-hook-functions.js +8 -3
- package/dist/execution-lifecycle/shared/shared-hook-functions.js.map +1 -1
- package/dist/executions/execution-data/azure-store.ee.d.ts +15 -0
- package/dist/executions/execution-data/azure-store.ee.js +116 -0
- package/dist/executions/execution-data/azure-store.ee.js.map +1 -0
- package/dist/executions/execution-data/db-store.d.ts +7 -0
- package/dist/executions/execution-data/db-store.js +21 -0
- package/dist/executions/execution-data/db-store.js.map +1 -1
- package/dist/executions/execution-data/types.d.ts +3 -0
- package/dist/executions/execution-persistence.d.ts +17 -3
- package/dist/executions/execution-persistence.js +121 -18
- package/dist/executions/execution-persistence.js.map +1 -1
- package/dist/executions/execution.service.d.ts +3 -1
- package/dist/executions/execution.service.js +10 -4
- package/dist/executions/execution.service.js.map +1 -1
- package/dist/executions/sum-binary-data-bytes.d.ts +2 -0
- package/dist/executions/sum-binary-data-bytes.js +46 -0
- package/dist/executions/sum-binary-data-bytes.js.map +1 -0
- package/dist/interfaces.d.ts +22 -0
- package/dist/license/license.service.d.ts +3 -1
- package/dist/license/license.service.js +36 -51
- package/dist/license/license.service.js.map +1 -1
- package/dist/metrics/prometheus/execution-data-metrics.service.js +2 -1
- package/dist/metrics/prometheus/execution-data-metrics.service.js.map +1 -1
- package/dist/metrics/prometheus/instance-ai-metrics.service.d.ts +12 -0
- package/dist/metrics/prometheus/instance-ai-metrics.service.js +101 -0
- package/dist/metrics/prometheus/instance-ai-metrics.service.js.map +1 -0
- package/dist/metrics/prometheus/instance-role-metrics.service.js +2 -2
- package/dist/metrics/prometheus/instance-role-metrics.service.js.map +1 -1
- package/dist/metrics/prometheus/prometheus.service.d.ts +4 -1
- package/dist/metrics/prometheus/prometheus.service.js +11 -2
- package/dist/metrics/prometheus/prometheus.service.js.map +1 -1
- package/dist/metrics/prometheus/webhook-and-form-metrics.service.d.ts +23 -0
- package/dist/metrics/prometheus/webhook-and-form-metrics.service.js +72 -0
- package/dist/metrics/prometheus/webhook-and-form-metrics.service.js.map +1 -0
- package/dist/metrics/prometheus/workflow-info-metrics.service.d.ts +12 -0
- package/dist/metrics/prometheus/workflow-info-metrics.service.js +66 -0
- package/dist/metrics/prometheus/workflow-info-metrics.service.js.map +1 -0
- package/dist/middlewares/body-parser.js +2 -2
- package/dist/middlewares/body-parser.js.map +1 -1
- package/dist/middlewares/list-query/dtos/workflow.filter.dto.d.ts +2 -0
- package/dist/middlewares/list-query/dtos/workflow.filter.dto.js +12 -0
- package/dist/middlewares/list-query/dtos/workflow.filter.dto.js.map +1 -1
- package/dist/modules/agents/agent-execution.service.d.ts +8 -1
- package/dist/modules/agents/agent-execution.service.js +26 -2
- package/dist/modules/agents/agent-execution.service.js.map +1 -1
- package/dist/modules/agents/agent-knowledge-commands.d.ts +27 -0
- package/dist/modules/agents/agent-knowledge-commands.js +415 -0
- package/dist/modules/agents/agent-knowledge-commands.js.map +1 -0
- package/dist/modules/agents/agent-knowledge-gate.d.ts +2 -0
- package/dist/modules/agents/agent-knowledge-gate.js +9 -0
- package/dist/modules/agents/agent-knowledge-gate.js.map +1 -0
- package/dist/modules/agents/agent-knowledge-retrieval.d.ts +184 -0
- package/dist/modules/agents/agent-knowledge-retrieval.js +172 -0
- package/dist/modules/agents/agent-knowledge-retrieval.js.map +1 -0
- package/dist/modules/agents/agent-knowledge-sandbox.service.d.ts +40 -0
- package/dist/modules/agents/agent-knowledge-sandbox.service.js +591 -0
- package/dist/modules/agents/agent-knowledge-sandbox.service.js.map +1 -0
- package/dist/modules/agents/agent-knowledge-storage.d.ts +21 -0
- package/dist/modules/agents/agent-knowledge-storage.js +89 -0
- package/dist/modules/agents/agent-knowledge-storage.js.map +1 -0
- package/dist/modules/agents/agent-knowledge.service.d.ts +25 -5
- package/dist/modules/agents/agent-knowledge.service.js +230 -7
- package/dist/modules/agents/agent-knowledge.service.js.map +1 -1
- package/dist/modules/agents/agent-runtime-reconstruction.service.d.ts +8 -2
- package/dist/modules/agents/agent-runtime-reconstruction.service.js +49 -11
- package/dist/modules/agents/agent-runtime-reconstruction.service.js.map +1 -1
- package/dist/modules/agents/agent-sandbox.controller.d.ts +18 -0
- package/dist/modules/agents/agent-sandbox.controller.js +71 -0
- package/dist/modules/agents/agent-sandbox.controller.js.map +1 -0
- package/dist/modules/agents/agent-telemetry.d.ts +5 -0
- package/dist/modules/agents/agent-telemetry.js +60 -0
- package/dist/modules/agents/agent-telemetry.js.map +1 -0
- package/dist/modules/agents/agents.controller.d.ts +4 -4
- package/dist/modules/agents/agents.controller.js +24 -23
- package/dist/modules/agents/agents.controller.js.map +1 -1
- package/dist/modules/agents/agents.module.d.ts +1 -1
- package/dist/modules/agents/agents.module.js +7 -1
- package/dist/modules/agents/agents.module.js.map +1 -1
- package/dist/modules/agents/agents.service.d.ts +5 -2
- package/dist/modules/agents/agents.service.js +68 -15
- package/dist/modules/agents/agents.service.js.map +1 -1
- package/dist/modules/agents/builder/agents-builder-prompts.d.ts +1 -1
- package/dist/modules/agents/builder/agents-builder-prompts.js +7 -0
- package/dist/modules/agents/builder/agents-builder-prompts.js.map +1 -1
- package/dist/modules/agents/builder/agents-builder-settings.service.d.ts +12 -6
- package/dist/modules/agents/builder/agents-builder-settings.service.js +29 -12
- package/dist/modules/agents/builder/agents-builder-settings.service.js.map +1 -1
- package/dist/modules/agents/builder/agents-builder-tools.service.d.ts +12 -4
- package/dist/modules/agents/builder/agents-builder-tools.service.js +118 -14
- package/dist/modules/agents/builder/agents-builder-tools.service.js.map +1 -1
- package/dist/modules/agents/builder/agents-builder.service.d.ts +7 -0
- package/dist/modules/agents/builder/agents-builder.service.js +24 -6
- package/dist/modules/agents/builder/agents-builder.service.js.map +1 -1
- package/dist/modules/agents/builder/builder-tool-names.d.ts +1 -0
- package/dist/modules/agents/builder/builder-tool-names.js +1 -0
- package/dist/modules/agents/builder/builder-tool-names.js.map +1 -1
- package/dist/modules/agents/builder/from-ai-node-parameters.d.ts +7 -0
- package/dist/modules/agents/builder/from-ai-node-parameters.js +43 -0
- package/dist/modules/agents/builder/from-ai-node-parameters.js.map +1 -0
- package/dist/modules/agents/builder/get-resource-locator-options.tool.d.ts +10 -0
- package/dist/modules/agents/builder/get-resource-locator-options.tool.js +148 -0
- package/dist/modules/agents/builder/get-resource-locator-options.tool.js.map +1 -0
- package/dist/modules/agents/builder/prompts/tools.prompt.d.ts +1 -1
- package/dist/modules/agents/builder/prompts/tools.prompt.js +11 -0
- package/dist/modules/agents/builder/prompts/tools.prompt.js.map +1 -1
- package/dist/modules/agents/builder/skills/index.js +2 -0
- package/dist/modules/agents/builder/skills/index.js.map +1 -1
- package/dist/modules/agents/builder/skills/resource-locators.skill.d.ts +2 -0
- package/dist/modules/agents/builder/skills/resource-locators.skill.js +107 -0
- package/dist/modules/agents/builder/skills/resource-locators.skill.js.map +1 -0
- package/dist/modules/agents/builder/verify-mcp-server.tool.d.ts +2 -0
- package/dist/modules/agents/builder/verify-mcp-server.tool.js +1 -1
- package/dist/modules/agents/builder/verify-mcp-server.tool.js.map +1 -1
- package/dist/modules/agents/entities/agent-file.entity.d.ts +11 -0
- package/dist/modules/agents/entities/agent-file.entity.js +50 -0
- package/dist/modules/agents/entities/agent-file.entity.js.map +1 -0
- package/dist/modules/agents/execution-recorder.js +4 -7
- package/dist/modules/agents/execution-recorder.js.map +1 -1
- package/dist/modules/agents/integrations/agent-chat-bridge.d.ts +1 -1
- package/dist/modules/agents/integrations/agent-chat-bridge.js +7 -9
- package/dist/modules/agents/integrations/agent-chat-bridge.js.map +1 -1
- package/dist/modules/agents/integrations/agent-chat-integration.d.ts +7 -3
- package/dist/modules/agents/integrations/agent-chat-integration.js +5 -0
- package/dist/modules/agents/integrations/agent-chat-integration.js.map +1 -1
- package/dist/modules/agents/integrations/integration-action-executor.d.ts +704 -0
- package/dist/modules/agents/integrations/integration-action-executor.js +36 -22
- package/dist/modules/agents/integrations/integration-action-executor.js.map +1 -1
- package/dist/modules/agents/integrations/integration-context-query-executor.js +23 -4
- package/dist/modules/agents/integrations/integration-context-query-executor.js.map +1 -1
- package/dist/modules/agents/integrations/integration-helpers.d.ts +12 -1
- package/dist/modules/agents/integrations/integration-helpers.js +17 -8
- package/dist/modules/agents/integrations/integration-helpers.js.map +1 -1
- package/dist/modules/agents/integrations/integration-message-context.service.js +2 -4
- package/dist/modules/agents/integrations/integration-message-context.service.js.map +1 -1
- package/dist/modules/agents/integrations/integration-tools.d.ts +11 -3
- package/dist/modules/agents/integrations/integration-tools.js +19 -118
- package/dist/modules/agents/integrations/integration-tools.js.map +1 -1
- package/dist/modules/agents/integrations/platforms/linear-integration.d.ts +3 -1
- package/dist/modules/agents/integrations/platforms/linear-integration.js +22 -6
- package/dist/modules/agents/integrations/platforms/linear-integration.js.map +1 -1
- package/dist/modules/agents/integrations/platforms/linear-operations.js +19 -29
- package/dist/modules/agents/integrations/platforms/linear-operations.js.map +1 -1
- package/dist/modules/agents/integrations/platforms/n8n-chat-integration.d.ts +20 -0
- package/dist/modules/agents/integrations/platforms/n8n-chat-integration.js +99 -0
- package/dist/modules/agents/integrations/platforms/n8n-chat-integration.js.map +1 -0
- package/dist/modules/agents/integrations/platforms/slack-integration.d.ts +2 -1
- package/dist/modules/agents/integrations/platforms/slack-integration.js +5 -0
- package/dist/modules/agents/integrations/platforms/slack-integration.js.map +1 -1
- package/dist/modules/agents/integrations/platforms/slack-operations.js +3 -2
- package/dist/modules/agents/integrations/platforms/slack-operations.js.map +1 -1
- package/dist/modules/agents/integrations/platforms/telegram-integration.d.ts +11 -2
- package/dist/modules/agents/integrations/platforms/telegram-integration.js +43 -14
- package/dist/modules/agents/integrations/platforms/telegram-integration.js.map +1 -1
- package/dist/modules/agents/integrations/slack-app-setup.service.d.ts +3 -1
- package/dist/modules/agents/integrations/slack-app-setup.service.js +19 -11
- package/dist/modules/agents/integrations/slack-app-setup.service.js.map +1 -1
- package/dist/modules/agents/json-config/from-json-config.d.ts +2 -1
- package/dist/modules/agents/json-config/from-json-config.js +11 -1
- package/dist/modules/agents/json-config/from-json-config.js.map +1 -1
- package/dist/modules/agents/json-config/mcp-client-factory.d.ts +2 -0
- package/dist/modules/agents/json-config/mcp-client-factory.js +2 -2
- package/dist/modules/agents/json-config/mcp-client-factory.js.map +1 -1
- package/dist/modules/agents/repositories/agent-file.repository.d.ts +8 -0
- package/dist/modules/agents/repositories/agent-file.repository.js +38 -0
- package/dist/modules/agents/repositories/agent-file.repository.js.map +1 -0
- package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.js +5 -0
- package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.js.map +1 -1
- package/dist/modules/agents/tools/knowledge/search-knowledge.tool.d.ts +90 -0
- package/dist/modules/agents/tools/knowledge/search-knowledge.tool.js +209 -0
- package/dist/modules/agents/tools/knowledge/search-knowledge.tool.js.map +1 -0
- package/dist/modules/agents/tools/workflow-tool-factory.js +6 -8
- package/dist/modules/agents/tools/workflow-tool-factory.js.map +1 -1
- package/dist/modules/agents/tracing/builder-telemetry.d.ts +6 -1
- package/dist/modules/agents/tracing/builder-telemetry.js +26 -5
- package/dist/modules/agents/tracing/builder-telemetry.js.map +1 -1
- package/dist/modules/agents/utils/agent-memory-scope.d.ts +1 -0
- package/dist/modules/agents/utils/agent-memory-scope.js +6 -1
- package/dist/modules/agents/utils/agent-memory-scope.js.map +1 -1
- package/dist/modules/agents/utils/execution-to-message-mapper.js +54 -5
- package/dist/modules/agents/utils/execution-to-message-mapper.js.map +1 -1
- package/dist/modules/agents/utils/messages-envelope.d.ts +7 -0
- package/dist/modules/agents/utils/messages-envelope.js +97 -0
- package/dist/modules/agents/utils/messages-envelope.js.map +1 -0
- package/dist/modules/community-packages/community-packages.service.d.ts +3 -1
- package/dist/modules/community-packages/community-packages.service.js +17 -9
- package/dist/modules/community-packages/community-packages.service.js.map +1 -1
- package/dist/modules/community-packages/npm-utils.js +13 -6
- package/dist/modules/community-packages/npm-utils.js.map +1 -1
- package/dist/modules/data-table/multer-upload-middleware.d.ts +8 -1
- package/dist/modules/data-table/multer-upload-middleware.js +79 -30
- package/dist/modules/data-table/multer-upload-middleware.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/index.d.ts +2 -0
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/index.js +19 -0
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/index.js.map +1 -0
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/metadata.d.ts +20 -0
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/metadata.js +12 -0
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/metadata.js.map +1 -0
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-extractor.d.ts +12 -0
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-extractor.js +85 -0
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-extractor.js.map +1 -0
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-seeder.d.ts +10 -0
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-seeder.js +78 -0
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-seeder.js.map +1 -0
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/n8n-identifier.d.ts +3 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/n8n-identifier.js +17 -2
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/n8n-identifier.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-introspection-identifier.d.ts +4 -2
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-introspection-identifier.js +20 -40
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-introspection-identifier.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-metadata-http-client.d.ts +21 -0
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-metadata-http-client.js +77 -0
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-metadata-http-client.js.map +1 -0
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-userinfo-identifier.d.ts +3 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-userinfo-identifier.js +18 -39
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-userinfo-identifier.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.d.ts +4 -2
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.js +46 -2
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.module.js +3 -0
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.module.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/services/authorize-intent.service.d.ts +14 -0
- package/dist/modules/dynamic-credentials.ee/services/authorize-intent.service.js +39 -0
- package/dist/modules/dynamic-credentials.ee/services/authorize-intent.service.js.map +1 -0
- package/dist/modules/dynamic-credentials.ee/services/credential-check-proxy.service.d.ts +7 -3
- package/dist/modules/dynamic-credentials.ee/services/credential-check-proxy.service.js +23 -21
- package/dist/modules/dynamic-credentials.ee/services/credential-check-proxy.service.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.d.ts +4 -0
- package/dist/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.js +111 -63
- package/dist/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-storage.service.js +0 -1
- package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-storage.service.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/services/index.d.ts +1 -0
- package/dist/modules/dynamic-credentials.ee/services/index.js +1 -0
- package/dist/modules/dynamic-credentials.ee/services/index.js.map +1 -1
- package/dist/modules/external-secrets.ee/providers/aws-secrets-manager.d.ts +3 -1
- package/dist/modules/external-secrets.ee/providers/aws-secrets-manager.js +4 -1
- package/dist/modules/external-secrets.ee/providers/aws-secrets-manager.js.map +1 -1
- package/dist/modules/external-secrets.ee/providers/azure-key-vault/azure-key-vault.js.map +1 -1
- package/dist/modules/external-secrets.ee/providers/gcp-secrets-manager/gcp-secrets-manager.js.map +1 -1
- package/dist/modules/external-secrets.ee/providers/infisical.d.ts +4 -1
- package/dist/modules/external-secrets.ee/providers/infisical.js +45 -30
- package/dist/modules/external-secrets.ee/providers/infisical.js.map +1 -1
- package/dist/modules/external-secrets.ee/providers/one-password.js.map +1 -1
- package/dist/modules/external-secrets.ee/providers/vault.d.ts +5 -1
- package/dist/modules/external-secrets.ee/providers/vault.js +66 -61
- package/dist/modules/external-secrets.ee/providers/vault.js.map +1 -1
- package/dist/modules/insights/database/repositories/insights-by-period.repository.d.ts +2 -2
- package/dist/modules/insights/insights.service.d.ts +2 -2
- package/dist/modules/instance-ai/entities/index.d.ts +1 -0
- package/dist/modules/instance-ai/entities/index.js +3 -1
- package/dist/modules/instance-ai/entities/index.js.map +1 -1
- package/dist/modules/instance-ai/entities/instance-ai-thread-grant.entity.d.ts +9 -0
- package/dist/modules/instance-ai/entities/instance-ai-thread-grant.entity.js +45 -0
- package/dist/modules/instance-ai/entities/instance-ai-thread-grant.entity.js.map +1 -0
- package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.d.ts +3 -3
- package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.js +2 -2
- package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.js.map +1 -1
- package/dist/modules/instance-ai/eval/llm-wire-server.d.ts +2 -2
- package/dist/modules/instance-ai/eval/llm-wire-server.js +5 -5
- package/dist/modules/instance-ai/eval/llm-wire-server.js.map +1 -1
- package/dist/modules/instance-ai/eval/thread-credential-allowlist.service.d.ts +6 -0
- package/dist/modules/instance-ai/eval/thread-credential-allowlist.service.js +29 -0
- package/dist/modules/instance-ai/eval/thread-credential-allowlist.service.js.map +1 -0
- package/dist/modules/instance-ai/instance-ai-credit.service.d.ts +26 -0
- package/dist/modules/instance-ai/instance-ai-credit.service.js +210 -0
- package/dist/modules/instance-ai/instance-ai-credit.service.js.map +1 -0
- package/dist/modules/instance-ai/instance-ai-model.service.d.ts +20 -0
- package/dist/modules/instance-ai/instance-ai-model.service.js +135 -0
- package/dist/modules/instance-ai/instance-ai-model.service.js.map +1 -0
- package/dist/modules/instance-ai/instance-ai-run-probe.d.ts +5 -0
- package/dist/modules/instance-ai/instance-ai-run-probe.js +26 -0
- package/dist/modules/instance-ai/instance-ai-run-probe.js.map +1 -0
- package/dist/modules/instance-ai/instance-ai-settings.service.d.ts +2 -0
- package/dist/modules/instance-ai/instance-ai-settings.service.js +12 -1
- package/dist/modules/instance-ai/instance-ai-settings.service.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai-temporary-workflow.service.d.ts +15 -0
- package/dist/modules/instance-ai/instance-ai-temporary-workflow.service.js +140 -0
- package/dist/modules/instance-ai/instance-ai-temporary-workflow.service.js.map +1 -0
- package/dist/modules/instance-ai/instance-ai.adapter.service.d.ts +4 -2
- package/dist/modules/instance-ai/instance-ai.adapter.service.js +69 -10
- package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.controller.d.ts +20 -2
- package/dist/modules/instance-ai/instance-ai.controller.js +62 -4
- package/dist/modules/instance-ai/instance-ai.controller.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.module.d.ts +2 -1
- package/dist/modules/instance-ai/instance-ai.module.js +3 -0
- package/dist/modules/instance-ai/instance-ai.module.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.service.d.ts +42 -22
- package/dist/modules/instance-ai/instance-ai.service.js +408 -379
- package/dist/modules/instance-ai/instance-ai.service.js.map +1 -1
- package/dist/modules/instance-ai/internal-messages.d.ts +4 -0
- package/dist/modules/instance-ai/internal-messages.js +24 -3
- package/dist/modules/instance-ai/internal-messages.js.map +1 -1
- package/dist/modules/instance-ai/mcp/instance-ai-mcp-connection.controller.d.ts +1 -1
- package/dist/modules/instance-ai/mcp/instance-ai-mcp-connection.controller.js +2 -6
- package/dist/modules/instance-ai/mcp/instance-ai-mcp-connection.controller.js.map +1 -1
- package/dist/modules/instance-ai/mcp/instance-ai-mcp-registry.service.d.ts +6 -1
- package/dist/modules/instance-ai/mcp/instance-ai-mcp-registry.service.js +52 -2
- package/dist/modules/instance-ai/mcp/instance-ai-mcp-registry.service.js.map +1 -1
- package/dist/modules/instance-ai/message-parser.js +2 -0
- package/dist/modules/instance-ai/message-parser.js.map +1 -1
- package/dist/modules/instance-ai/observability.d.ts +13 -0
- package/dist/modules/instance-ai/observability.js +23 -0
- package/dist/modules/instance-ai/observability.js.map +1 -0
- package/dist/modules/instance-ai/repositories/index.d.ts +1 -0
- package/dist/modules/instance-ai/repositories/index.js +3 -1
- package/dist/modules/instance-ai/repositories/index.js.map +1 -1
- package/dist/modules/instance-ai/repositories/instance-ai-thread-grant.repository.d.ts +7 -0
- package/dist/modules/instance-ai/repositories/instance-ai-thread-grant.repository.js +40 -0
- package/dist/modules/instance-ai/repositories/instance-ai-thread-grant.repository.js.map +1 -0
- package/dist/modules/instance-ai/sandbox/instance-ai-sandbox.service.js +2 -1
- package/dist/modules/instance-ai/sandbox/instance-ai-sandbox.service.js.map +1 -1
- package/dist/modules/instance-ai/storage/typeorm-agent-memory.js +4 -6
- package/dist/modules/instance-ai/storage/typeorm-agent-memory.js.map +1 -1
- package/dist/modules/instance-ai/web-research/fetch-and-extract.d.ts +2 -3
- package/dist/modules/instance-ai/web-research/fetch-and-extract.js +34 -44
- package/dist/modules/instance-ai/web-research/fetch-and-extract.js.map +1 -1
- package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-from-db.d.ts +2 -1
- package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-from-db.js +2 -2
- package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-from-db.js.map +1 -1
- package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-webhook.ee.d.ts +8 -8
- package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-webhook.ee.js +43 -60
- package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-webhook.ee.js.map +1 -1
- package/dist/modules/log-streaming.ee/log-streaming-destination.service.d.ts +3 -1
- package/dist/modules/log-streaming.ee/log-streaming-destination.service.js +6 -3
- package/dist/modules/log-streaming.ee/log-streaming-destination.service.js.map +1 -1
- package/dist/modules/log-streaming.ee/log-streaming.controller.d.ts +3 -1
- package/dist/modules/log-streaming.ee/log-streaming.controller.js +6 -3
- package/dist/modules/log-streaming.ee/log-streaming.controller.js.map +1 -1
- package/dist/modules/mcp/dto/update-allowed-redirect-uris.dto.d.ts +9 -0
- package/dist/modules/mcp/dto/update-allowed-redirect-uris.dto.js +35 -0
- package/dist/modules/mcp/dto/update-allowed-redirect-uris.dto.js.map +1 -0
- package/dist/modules/mcp/mcp-protected-resource.d.ts +4 -1
- package/dist/modules/mcp/mcp-protected-resource.js +9 -3
- package/dist/modules/mcp/mcp-protected-resource.js.map +1 -1
- package/dist/modules/mcp/mcp.service.d.ts +5 -2
- package/dist/modules/mcp/mcp.service.js +8 -3
- package/dist/modules/mcp/mcp.service.js.map +1 -1
- package/dist/modules/mcp/mcp.settings.controller.d.ts +7 -0
- package/dist/modules/mcp/mcp.settings.controller.js +24 -0
- package/dist/modules/mcp/mcp.settings.controller.js.map +1 -1
- package/dist/modules/mcp/mcp.settings.service.d.ts +2 -0
- package/dist/modules/mcp/mcp.settings.service.js +15 -0
- package/dist/modules/mcp/mcp.settings.service.js.map +1 -1
- package/dist/modules/mcp/mcp.typeguards.d.ts +0 -1
- package/dist/modules/mcp/mcp.typeguards.js +9 -12
- package/dist/modules/mcp/mcp.typeguards.js.map +1 -1
- package/dist/modules/mcp/mcp.utils.js +2 -1
- package/dist/modules/mcp/mcp.utils.js.map +1 -1
- package/dist/modules/mcp/tools/execute-workflow.tool.d.ts +10 -8
- package/dist/modules/mcp/tools/execute-workflow.tool.js +25 -13
- package/dist/modules/mcp/tools/execute-workflow.tool.js.map +1 -1
- package/dist/modules/mcp/tools/get-workflow-details.tool.js +2 -0
- package/dist/modules/mcp/tools/get-workflow-details.tool.js.map +1 -1
- package/dist/modules/mcp/tools/schemas.d.ts +128 -0
- package/dist/modules/mcp/tools/schemas.js +9 -0
- package/dist/modules/mcp/tools/schemas.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js +15 -4
- package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/credential-validation.d.ts +13 -2
- package/dist/modules/mcp/tools/workflow-builder/credential-validation.js +144 -23
- package/dist/modules/mcp/tools/workflow-builder/credential-validation.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js +23 -6
- 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 +31 -1
- package/dist/modules/mcp/tools/workflow-builder/workflow-operations.js +22 -0
- package/dist/modules/mcp/tools/workflow-builder/workflow-operations.js.map +1 -1
- package/dist/modules/n8n-packages/engine/import-pipeline.js +40 -19
- package/dist/modules/n8n-packages/engine/import-pipeline.js.map +1 -1
- package/dist/modules/n8n-packages/entities/credential/credential-importer.d.ts +8 -4
- package/dist/modules/n8n-packages/entities/credential/credential-importer.js +40 -6
- package/dist/modules/n8n-packages/entities/credential/credential-importer.js.map +1 -1
- package/dist/modules/n8n-packages/entities/credential/credential-matcher.d.ts +7 -3
- package/dist/modules/n8n-packages/entities/credential/credential-matcher.js +30 -5
- 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 -0
- package/dist/modules/n8n-packages/entities/credential/credential-missing-mode.js +17 -0
- 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 +10 -4
- package/dist/modules/n8n-packages/entities/credential/credential.types.js +2 -0
- package/dist/modules/n8n-packages/entities/credential/credential.types.js.map +1 -1
- package/dist/modules/n8n-packages/entities/credential/id-based-credential-matcher.d.ts +3 -4
- package/dist/modules/n8n-packages/entities/credential/id-based-credential-matcher.js +10 -11
- package/dist/modules/n8n-packages/entities/credential/id-based-credential-matcher.js.map +1 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow-import.types.d.ts +6 -6
- package/dist/modules/n8n-packages/entities/workflow/workflow-importer.d.ts +3 -3
- package/dist/modules/n8n-packages/entities/workflow/workflow-importer.js +12 -10
- package/dist/modules/n8n-packages/entities/workflow/workflow-importer.js.map +1 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow-publisher.d.ts +6 -2
- package/dist/modules/n8n-packages/entities/workflow/workflow-publisher.js +33 -11
- package/dist/modules/n8n-packages/entities/workflow/workflow-publisher.js.map +1 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow-publishing-policy.types.d.ts +8 -0
- package/dist/modules/n8n-packages/n8n-packages.types.d.ts +23 -3
- package/dist/modules/n8n-packages/n8n-packages.types.js.map +1 -1
- package/dist/modules/oauth-jwe/oauth-jwe.schemas.d.ts +12 -12
- package/dist/modules/oauth-server/oauth-consent.controller.js +1 -0
- package/dist/modules/oauth-server/oauth-consent.controller.js.map +1 -1
- package/dist/modules/oauth-server/oauth-consent.service.d.ts +1 -0
- package/dist/modules/oauth-server/oauth-consent.service.js +2 -0
- package/dist/modules/oauth-server/oauth-consent.service.js.map +1 -1
- package/dist/modules/oauth-server/oauth-server.module.js +1 -1
- package/dist/modules/oauth-server/oauth-server.module.js.map +1 -1
- package/dist/modules/oauth-server/oauth-server.service.d.ts +2 -0
- package/dist/modules/oauth-server/oauth-server.service.js +48 -1
- package/dist/modules/oauth-server/oauth-server.service.js.map +1 -1
- package/dist/modules/oauth-server/oauth.controller.js +4 -1
- package/dist/modules/oauth-server/oauth.controller.js.map +1 -1
- package/dist/modules/otel/otel.service.d.ts +3 -1
- package/dist/modules/otel/otel.service.js +6 -3
- package/dist/modules/otel/otel.service.js.map +1 -1
- package/dist/modules/quick-connect/handlers/firecrawl.handler.d.ts +3 -0
- package/dist/modules/quick-connect/handlers/firecrawl.handler.js +20 -7
- package/dist/modules/quick-connect/handlers/firecrawl.handler.js.map +1 -1
- package/dist/modules/quick-connect/quick-connect.config.d.ts +17 -17
- package/dist/modules/quick-connect/quick-connect.module.d.ts +3 -3
- package/dist/modules/source-control.ee/source-control-import.service.ee.js +1 -1
- package/dist/modules/source-control.ee/source-control-import.service.ee.js.map +1 -1
- package/dist/modules/source-control.ee/source-control.controller.ee.d.ts +4 -4
- package/dist/modules/source-control.ee/source-control.service.ee.d.ts +2 -2
- package/dist/modules/sso-oidc/oidc.service.ee.d.ts +3 -1
- package/dist/modules/sso-oidc/oidc.service.ee.js +15 -25
- package/dist/modules/sso-oidc/oidc.service.ee.js.map +1 -1
- package/dist/modules/sso-saml/saml.service.ee.d.ts +3 -1
- package/dist/modules/sso-saml/saml.service.ee.js +15 -15
- package/dist/modules/sso-saml/saml.service.ee.js.map +1 -1
- package/dist/modules/token-exchange/services/jwks-resolver.d.ts +3 -1
- package/dist/modules/token-exchange/services/jwks-resolver.js +11 -3
- package/dist/modules/token-exchange/services/jwks-resolver.js.map +1 -1
- package/dist/oauth/oauth.service.d.ts +8 -3
- package/dist/oauth/oauth.service.js +106 -47
- package/dist/oauth/oauth.service.js.map +1 -1
- package/dist/oauth/types.d.ts +1 -1
- package/dist/oauth/types.js.map +1 -1
- package/dist/posthog/index.js +4 -3
- package/dist/posthog/index.js.map +1 -1
- package/dist/public-api/index.js +46 -3
- package/dist/public-api/index.js.map +1 -1
- package/dist/public-api/swagger-theme.css +14 -0
- package/dist/public-api/types.d.ts +2 -0
- package/dist/public-api/v1/handlers/credentials/credentials.handler.js +1 -1
- package/dist/public-api/v1/handlers/credentials/credentials.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/data-tables/data-tables.handler.js +4 -3
- package/dist/public-api/v1/handlers/data-tables/data-tables.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/discover/discover.service.js +9 -11
- package/dist/public-api/v1/handlers/discover/discover.service.js.map +1 -1
- package/dist/public-api/v1/handlers/executions/executions.handler.js +8 -4
- package/dist/public-api/v1/handlers/executions/executions.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/workflows/workflows.handler.js +3 -1
- package/dist/public-api/v1/handlers/workflows/workflows.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/workflows/workflows.service.d.ts +1 -2
- package/dist/public-api/v1/handlers/workflows/workflows.service.js +3 -2
- package/dist/public-api/v1/handlers/workflows/workflows.service.js.map +1 -1
- package/dist/public-api/v1/openapi.yml +124 -2
- package/dist/response-helper.d.ts +2 -1
- package/dist/response-helper.js +2 -17
- package/dist/response-helper.js.map +1 -1
- package/dist/scaling/constants.d.ts +2 -2
- package/dist/scaling/constants.js +3 -0
- package/dist/scaling/constants.js.map +1 -1
- package/dist/scaling/execution-stop.service.d.ts +15 -0
- package/dist/scaling/execution-stop.service.js +59 -0
- package/dist/scaling/execution-stop.service.js.map +1 -0
- package/dist/scaling/job-processor.js +8 -2
- package/dist/scaling/job-processor.js.map +1 -1
- package/dist/scaling/multi-main-setup.ee.d.ts +1 -0
- package/dist/scaling/multi-main-setup.ee.js +6 -6
- package/dist/scaling/multi-main-setup.ee.js.map +1 -1
- package/dist/scaling/pubsub/pubsub.event-map.d.ts +4 -0
- package/dist/scaling/pubsub/pubsub.types.d.ts +3 -1
- package/dist/security-audit/risk-reporters/instance-risk-reporter.d.ts +3 -1
- package/dist/security-audit/risk-reporters/instance-risk-reporter.js +27 -20
- package/dist/security-audit/risk-reporters/instance-risk-reporter.js.map +1 -1
- package/dist/server.d.ts +1 -0
- package/dist/server.js +1 -0
- package/dist/server.js.map +1 -1
- package/dist/services/ai-gateway.service.d.ts +5 -1
- package/dist/services/ai-gateway.service.js +53 -32
- package/dist/services/ai-gateway.service.js.map +1 -1
- package/dist/services/ai-workflow-builder.service.d.ts +4 -3
- package/dist/services/ai-workflow-builder.service.js +9 -5
- package/dist/services/ai-workflow-builder.service.js.map +1 -1
- package/dist/services/credentials-tester.service.js +16 -15
- package/dist/services/credentials-tester.service.js.map +1 -1
- package/dist/services/dynamic-templates.service.d.ts +3 -1
- package/dist/services/dynamic-templates.service.js +13 -9
- package/dist/services/dynamic-templates.service.js.map +1 -1
- package/dist/services/frontend.service.d.ts +6 -1
- package/dist/services/frontend.service.js +39 -2
- package/dist/services/frontend.service.js.map +1 -1
- package/dist/services/node-resource-explorer.service.js +4 -22
- package/dist/services/node-resource-explorer.service.js.map +1 -1
- package/dist/services/project.service.ee.d.ts +3 -2
- package/dist/services/project.service.ee.js +14 -3
- package/dist/services/project.service.ee.js.map +1 -1
- package/dist/services/protected-resource.registry.d.ts +1 -0
- package/dist/services/protected-resource.registry.js.map +1 -1
- package/dist/services/public-api-key.service.d.ts +6 -2
- package/dist/services/public-api-key.service.js +56 -10
- package/dist/services/public-api-key.service.js.map +1 -1
- package/dist/services/role.service.d.ts +2 -2
- package/dist/services/role.service.js.map +1 -1
- package/dist/services/trigger-auth-identity-seeder-proxy.service.d.ts +10 -0
- package/dist/services/trigger-auth-identity-seeder-proxy.service.js +33 -0
- package/dist/services/trigger-auth-identity-seeder-proxy.service.js.map +1 -0
- package/dist/services/workflow-statistics.service.d.ts +3 -13
- package/dist/services/workflow-statistics.service.js +77 -64
- package/dist/services/workflow-statistics.service.js.map +1 -1
- package/dist/task-runners/task-broker/task-broker-server.js +2 -1
- package/dist/task-runners/task-broker/task-broker-server.js.map +1 -1
- package/dist/task-runners/task-runner-module.js +2 -0
- package/dist/task-runners/task-runner-module.js.map +1 -1
- package/dist/telemetry/index.d.ts +25 -2
- package/dist/telemetry/index.js +80 -12
- package/dist/telemetry/index.js.map +1 -1
- package/dist/utils/ai-proxy-fetch.d.ts +3 -0
- package/dist/utils/ai-proxy-fetch.js +27 -0
- package/dist/utils/ai-proxy-fetch.js.map +1 -0
- package/dist/utils/auth-fetch.d.ts +3 -1
- package/dist/utils/auth-fetch.js +3 -4
- package/dist/utils/auth-fetch.js.map +1 -1
- package/dist/utils/strapi-utils.d.ts +8 -4
- package/dist/utils/strapi-utils.js +25 -9
- package/dist/utils/strapi-utils.js.map +1 -1
- package/dist/webhooks/live-webhooks.js +1 -0
- package/dist/webhooks/live-webhooks.js.map +1 -1
- package/dist/webhooks/test-webhooks.controller.d.ts +8 -0
- package/dist/webhooks/test-webhooks.controller.js +39 -0
- package/dist/webhooks/test-webhooks.controller.js.map +1 -0
- package/dist/webhooks/webhook-form-data.js +9 -1
- package/dist/webhooks/webhook-form-data.js.map +1 -1
- package/dist/webhooks/webhook-helpers.js +16 -0
- package/dist/webhooks/webhook-helpers.js.map +1 -1
- package/dist/webhooks/webhook-request-handler.js +35 -0
- package/dist/webhooks/webhook-request-handler.js.map +1 -1
- package/dist/workflow-execute-additional-data.js +15 -0
- package/dist/workflow-execute-additional-data.js.map +1 -1
- package/dist/workflow-helpers.d.ts +7 -2
- package/dist/workflow-helpers.js +50 -1
- package/dist/workflow-helpers.js.map +1 -1
- package/dist/workflows/publication/publication-result.d.ts +2 -0
- package/dist/workflows/publication/publication-status-reporter.d.ts +1 -0
- package/dist/workflows/publication/publication-status-reporter.js +22 -1
- package/dist/workflows/publication/publication-status-reporter.js.map +1 -1
- package/dist/workflows/publication/published-workflow-enqueuer.d.ts +13 -0
- package/dist/workflows/publication/published-workflow-enqueuer.js +53 -0
- package/dist/workflows/publication/published-workflow-enqueuer.js.map +1 -0
- package/dist/workflows/publication/published-workflow-trigger-deactivator.d.ts +16 -0
- package/dist/workflows/publication/published-workflow-trigger-deactivator.js +79 -0
- package/dist/workflows/publication/published-workflow-trigger-deactivator.js.map +1 -0
- package/dist/workflows/publication/workflow-publication-applier.d.ts +6 -1
- package/dist/workflows/publication/workflow-publication-applier.js +39 -3
- package/dist/workflows/publication/workflow-publication-applier.js.map +1 -1
- package/dist/workflows/publication/workflow-publication-lifecycle-lock.d.ts +13 -0
- package/dist/workflows/publication/workflow-publication-lifecycle-lock.js +104 -0
- package/dist/workflows/publication/workflow-publication-lifecycle-lock.js.map +1 -0
- package/dist/workflows/publication/workflow-publication-outbox-cleanup.service.d.ts +19 -0
- package/dist/workflows/publication/workflow-publication-outbox-cleanup.service.js +109 -0
- package/dist/workflows/publication/workflow-publication-outbox-cleanup.service.js.map +1 -0
- package/dist/workflows/publication/workflow-publication-outbox-consumer.d.ts +11 -4
- package/dist/workflows/publication/workflow-publication-outbox-consumer.js +105 -45
- package/dist/workflows/publication/workflow-publication-outbox-consumer.js.map +1 -1
- package/dist/workflows/triggers/non-webhook-trigger-registrar.d.ts +4 -5
- package/dist/workflows/triggers/non-webhook-trigger-registrar.js +30 -9
- package/dist/workflows/triggers/non-webhook-trigger-registrar.js.map +1 -1
- package/dist/workflows/triggers/trigger-activation-retry.d.ts +2 -0
- package/dist/workflows/triggers/trigger-activation-retry.js +23 -0
- package/dist/workflows/triggers/trigger-activation-retry.js.map +1 -0
- package/dist/workflows/triggers/webhook-trigger-registrar.d.ts +3 -2
- package/dist/workflows/triggers/webhook-trigger-registrar.js +60 -32
- package/dist/workflows/triggers/webhook-trigger-registrar.js.map +1 -1
- package/dist/workflows/triggers/workflow-trigger-activator.d.ts +6 -3
- package/dist/workflows/triggers/workflow-trigger-activator.js +126 -60
- package/dist/workflows/triggers/workflow-trigger-activator.js.map +1 -1
- package/dist/workflows/workflow-creation.service.d.ts +1 -0
- package/dist/workflows/workflow-creation.service.js +17 -8
- package/dist/workflows/workflow-creation.service.js.map +1 -1
- package/dist/workflows/workflow-entity-mapper.d.ts +5 -0
- package/dist/workflows/workflow-entity-mapper.js +22 -0
- package/dist/workflows/workflow-entity-mapper.js.map +1 -0
- package/dist/workflows/workflow-execution.service.d.ts +6 -2
- package/dist/workflows/workflow-execution.service.js +36 -13
- package/dist/workflows/workflow-execution.service.js.map +1 -1
- package/dist/workflows/workflow-history/workflow-history.service.js +1 -0
- package/dist/workflows/workflow-history/workflow-history.service.js.map +1 -1
- package/dist/workflows/workflow-published-data.service.d.ts +1 -3
- package/dist/workflows/workflow-published-data.service.js +2 -9
- package/dist/workflows/workflow-published-data.service.js.map +1 -1
- package/dist/workflows/workflow-validation.service.js +2 -1
- package/dist/workflows/workflow-validation.service.js.map +1 -1
- package/dist/workflows/workflow.service.d.ts +4 -3
- package/dist/workflows/workflow.service.js +72 -33
- package/dist/workflows/workflow.service.js.map +1 -1
- package/dist/workflows/workflows.controller.d.ts +3 -2
- package/dist/workflows/workflows.controller.js +12 -23
- package/dist/workflows/workflows.controller.js.map +1 -1
- package/package.json +59 -41
- package/templates/form-trigger.handlebars +8 -1
|
@@ -18,9 +18,10 @@ const di_1 = require("@n8n/di");
|
|
|
18
18
|
const n8n_core_1 = require("n8n-core");
|
|
19
19
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
20
20
|
const publication_status_reporter_1 = require("../../workflows/publication/publication-status-reporter");
|
|
21
|
+
const workflow_publication_lifecycle_lock_1 = require("../../workflows/publication/workflow-publication-lifecycle-lock");
|
|
21
22
|
const workflow_publication_applier_1 = require("../../workflows/publication/workflow-publication-applier");
|
|
22
23
|
let WorkflowPublicationOutboxConsumer = class WorkflowPublicationOutboxConsumer {
|
|
23
|
-
constructor(logger, workflowsConfig, errorReporter, outboxRepository, applier, reporter, instanceSettings) {
|
|
24
|
+
constructor(logger, workflowsConfig, errorReporter, outboxRepository, applier, reporter, instanceSettings, lifecycleLock, tracing) {
|
|
24
25
|
this.logger = logger;
|
|
25
26
|
this.workflowsConfig = workflowsConfig;
|
|
26
27
|
this.errorReporter = errorReporter;
|
|
@@ -28,14 +29,18 @@ let WorkflowPublicationOutboxConsumer = class WorkflowPublicationOutboxConsumer
|
|
|
28
29
|
this.applier = applier;
|
|
29
30
|
this.reporter = reporter;
|
|
30
31
|
this.instanceSettings = instanceSettings;
|
|
32
|
+
this.lifecycleLock = lifecycleLock;
|
|
33
|
+
this.tracing = tracing;
|
|
31
34
|
this.isPolling = false;
|
|
32
35
|
this.isShuttingDown = false;
|
|
36
|
+
this.activeDrain = null;
|
|
33
37
|
this.logger = this.logger.scoped('workflow-publication');
|
|
34
38
|
}
|
|
35
|
-
init() {
|
|
36
|
-
if (this.instanceSettings.isLeader)
|
|
37
|
-
|
|
38
|
-
|
|
39
|
+
async init() {
|
|
40
|
+
if (!this.instanceSettings.isLeader)
|
|
41
|
+
return;
|
|
42
|
+
this.startPolling();
|
|
43
|
+
await this.drainPending();
|
|
39
44
|
}
|
|
40
45
|
startPolling() {
|
|
41
46
|
if (!this.workflowsConfig.useWorkflowPublicationService || this.isShuttingDown)
|
|
@@ -54,9 +59,16 @@ let WorkflowPublicationOutboxConsumer = class WorkflowPublicationOutboxConsumer
|
|
|
54
59
|
this.logger.debug('Stopped outbox polling');
|
|
55
60
|
}
|
|
56
61
|
}
|
|
57
|
-
shutdown() {
|
|
62
|
+
async shutdown() {
|
|
58
63
|
this.isShuttingDown = true;
|
|
59
64
|
this.stopPolling();
|
|
65
|
+
await this.activeDrain;
|
|
66
|
+
}
|
|
67
|
+
async wakeUp() {
|
|
68
|
+
if (!this.workflowsConfig.useWorkflowPublicationService)
|
|
69
|
+
return;
|
|
70
|
+
this.startPolling();
|
|
71
|
+
await this.drainPending();
|
|
60
72
|
}
|
|
61
73
|
schedulePollCycle() {
|
|
62
74
|
clearTimeout(this.pollTimeout);
|
|
@@ -74,60 +86,106 @@ let WorkflowPublicationOutboxConsumer = class WorkflowPublicationOutboxConsumer
|
|
|
74
86
|
}, this.workflowsConfig.publicationOutboxPollIntervalMs);
|
|
75
87
|
}
|
|
76
88
|
async pollCycle() {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
if (!record)
|
|
81
|
-
break;
|
|
82
|
-
await this.processRecord(record);
|
|
83
|
-
processed++;
|
|
89
|
+
const processed = await this.drainPending();
|
|
90
|
+
if (processed > 1) {
|
|
91
|
+
this.logger.debug(`Processed ${processed} workflow publication outbox records in this cycle`);
|
|
84
92
|
}
|
|
85
|
-
|
|
86
|
-
|
|
93
|
+
}
|
|
94
|
+
async drainPending() {
|
|
95
|
+
if (this.activeDrain)
|
|
96
|
+
return await this.activeDrain;
|
|
97
|
+
const drain = this.runDrain();
|
|
98
|
+
this.activeDrain = drain;
|
|
99
|
+
try {
|
|
100
|
+
return await drain;
|
|
87
101
|
}
|
|
102
|
+
finally {
|
|
103
|
+
this.activeDrain = null;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
async runDrain() {
|
|
107
|
+
return await this.tracing.startSpan({ name: 'Publication outbox drain', op: 'publication.outbox.drain' }, async (span) => {
|
|
108
|
+
let processed = 0;
|
|
109
|
+
while (this.shouldKeepPolling()) {
|
|
110
|
+
const record = await this.outboxRepository.claimNextPendingRecord();
|
|
111
|
+
if (!record)
|
|
112
|
+
break;
|
|
113
|
+
await this.processRecord(record);
|
|
114
|
+
processed++;
|
|
115
|
+
}
|
|
116
|
+
span.setAttribute('n8n.publication.records_processed', processed);
|
|
117
|
+
span.setStatus({ code: 1 });
|
|
118
|
+
return processed;
|
|
119
|
+
});
|
|
88
120
|
}
|
|
89
121
|
shouldKeepPolling() {
|
|
90
122
|
return this.isPolling && !this.isShuttingDown;
|
|
91
123
|
}
|
|
92
124
|
async processRecord(record) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
125
|
+
await this.tracing.startSpan({
|
|
126
|
+
name: 'Publication outbox record',
|
|
127
|
+
op: 'publication.outbox.process_record',
|
|
128
|
+
attributes: {
|
|
129
|
+
...this.tracing.pickWorkflowAttributes({ id: record.workflowId }),
|
|
130
|
+
'n8n.publication.outbox_id': record.id,
|
|
131
|
+
'n8n.publication.published_version_id': record.publishedVersionId,
|
|
132
|
+
},
|
|
133
|
+
}, async (span) => {
|
|
134
|
+
await this.lifecycleLock.runExclusive(record.workflowId, async () => {
|
|
135
|
+
if (!this.instanceSettings.isLeader) {
|
|
136
|
+
await this.outboxRepository.returnToPending(record.id);
|
|
137
|
+
this.logger.debug('Returned publication outbox record to queue: no longer leader', {
|
|
138
|
+
outboxId: record.id,
|
|
139
|
+
workflowId: record.workflowId,
|
|
140
|
+
});
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
this.logger.debug('Started processing workflow publication outbox record', {
|
|
144
|
+
outboxId: record.id,
|
|
145
|
+
workflowId: record.workflowId,
|
|
146
|
+
publishedVersionId: record.publishedVersionId,
|
|
147
|
+
});
|
|
148
|
+
let result;
|
|
149
|
+
try {
|
|
150
|
+
result = await this.applier.apply(record);
|
|
151
|
+
}
|
|
152
|
+
catch (error) {
|
|
153
|
+
const cause = (0, n8n_workflow_1.ensureError)(error);
|
|
154
|
+
result = {
|
|
155
|
+
type: 'failed',
|
|
156
|
+
error: new n8n_workflow_1.UnexpectedError(`Unexpected: ${cause.message}`, { cause }),
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
try {
|
|
160
|
+
await this.reporter.report(record, result);
|
|
161
|
+
}
|
|
162
|
+
catch (reportError) {
|
|
163
|
+
this.errorReporter.error(reportError, { shouldBeLogged: true });
|
|
164
|
+
}
|
|
165
|
+
this.logger.debug('Finished processing workflow publication outbox record', {
|
|
166
|
+
outboxId: record.id,
|
|
167
|
+
workflowId: record.workflowId,
|
|
168
|
+
result: result.type,
|
|
169
|
+
});
|
|
170
|
+
span.setAttribute('n8n.publication.result', result.type);
|
|
171
|
+
});
|
|
172
|
+
span.setStatus({ code: 1 });
|
|
173
|
+
});
|
|
110
174
|
}
|
|
111
175
|
};
|
|
112
176
|
exports.WorkflowPublicationOutboxConsumer = WorkflowPublicationOutboxConsumer;
|
|
113
177
|
__decorate([
|
|
114
|
-
(0, decorators_1.
|
|
115
|
-
__metadata("design:type", Function),
|
|
116
|
-
__metadata("design:paramtypes", []),
|
|
117
|
-
__metadata("design:returntype", void 0)
|
|
118
|
-
], WorkflowPublicationOutboxConsumer.prototype, "startPolling", null);
|
|
119
|
-
__decorate([
|
|
120
|
-
(0, decorators_1.OnLeaderStepdown)(),
|
|
178
|
+
(0, decorators_1.OnShutdown)(),
|
|
121
179
|
__metadata("design:type", Function),
|
|
122
180
|
__metadata("design:paramtypes", []),
|
|
123
|
-
__metadata("design:returntype",
|
|
124
|
-
], WorkflowPublicationOutboxConsumer.prototype, "
|
|
181
|
+
__metadata("design:returntype", Promise)
|
|
182
|
+
], WorkflowPublicationOutboxConsumer.prototype, "shutdown", null);
|
|
125
183
|
__decorate([
|
|
126
|
-
(0, decorators_1.
|
|
184
|
+
(0, decorators_1.OnPubSubEvent)('workflow-publish-wake-up', { instanceType: 'main', instanceRole: 'leader' }),
|
|
127
185
|
__metadata("design:type", Function),
|
|
128
186
|
__metadata("design:paramtypes", []),
|
|
129
|
-
__metadata("design:returntype",
|
|
130
|
-
], WorkflowPublicationOutboxConsumer.prototype, "
|
|
187
|
+
__metadata("design:returntype", Promise)
|
|
188
|
+
], WorkflowPublicationOutboxConsumer.prototype, "wakeUp", null);
|
|
131
189
|
exports.WorkflowPublicationOutboxConsumer = WorkflowPublicationOutboxConsumer = __decorate([
|
|
132
190
|
(0, di_1.Service)(),
|
|
133
191
|
__metadata("design:paramtypes", [backend_common_1.Logger,
|
|
@@ -136,6 +194,8 @@ exports.WorkflowPublicationOutboxConsumer = WorkflowPublicationOutboxConsumer =
|
|
|
136
194
|
db_1.WorkflowPublicationOutboxRepository,
|
|
137
195
|
workflow_publication_applier_1.WorkflowPublicationApplier,
|
|
138
196
|
publication_status_reporter_1.PublicationStatusReporter,
|
|
139
|
-
n8n_core_1.InstanceSettings
|
|
197
|
+
n8n_core_1.InstanceSettings,
|
|
198
|
+
workflow_publication_lifecycle_lock_1.WorkflowPublicationLifecycleLock,
|
|
199
|
+
n8n_core_1.Tracing])
|
|
140
200
|
], WorkflowPublicationOutboxConsumer);
|
|
141
201
|
//# sourceMappingURL=workflow-publication-outbox-consumer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-publication-outbox-consumer.js","sourceRoot":"","sources":["../../../src/workflows/publication/workflow-publication-outbox-consumer.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wDAA6C;AAC7C,wCAA8C;AAC9C,gCAAyF;AACzF,
|
|
1
|
+
{"version":3,"file":"workflow-publication-outbox-consumer.js","sourceRoot":"","sources":["../../../src/workflows/publication/workflow-publication-outbox-consumer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Logger } from '@n8n/backend-common';
|
|
2
2
|
import type { WorkflowEntity } from '@n8n/db';
|
|
3
|
-
import { ActiveWorkflowTriggers, type IGetExecutePollFunctions, type IGetExecuteTriggerFunctions } from 'n8n-core';
|
|
3
|
+
import { ActiveWorkflowTriggers, Tracing, type IGetExecutePollFunctions, type IGetExecuteTriggerFunctions } from 'n8n-core';
|
|
4
4
|
import type { INode, IWorkflowBase, IWorkflowExecuteAdditionalData, Workflow, WorkflowActivateMode, WorkflowExecuteMode, WorkflowId } from 'n8n-workflow';
|
|
5
5
|
import type { TriggerFailureHandler } from '../../workflows/triggers/trigger-execution-context.factory';
|
|
6
6
|
import { TriggerExecutionContextFactory } from '../../workflows/triggers/trigger-execution-context.factory';
|
|
@@ -12,7 +12,6 @@ export interface NonWebhookTriggerRegistrationContext {
|
|
|
12
12
|
onTriggerFailure: TriggerFailureHandler;
|
|
13
13
|
}
|
|
14
14
|
export interface PreparedNonWebhookTriggerRegistration {
|
|
15
|
-
dbWorkflow: WorkflowEntity;
|
|
16
15
|
activationMode: WorkflowActivateMode;
|
|
17
16
|
executionMode: WorkflowExecuteMode;
|
|
18
17
|
additionalData: IWorkflowExecuteAdditionalData;
|
|
@@ -23,17 +22,17 @@ export declare class NonWebhookTriggerRegistrar {
|
|
|
23
22
|
private readonly logger;
|
|
24
23
|
private readonly activeWorkflowTriggers;
|
|
25
24
|
private readonly triggerExecutionContextFactory;
|
|
26
|
-
|
|
25
|
+
private readonly tracing;
|
|
26
|
+
constructor(logger: Logger, activeWorkflowTriggers: ActiveWorkflowTriggers, triggerExecutionContextFactory: TriggerExecutionContextFactory, tracing: Tracing);
|
|
27
27
|
getTriggerNodeIds(workflow: Workflow): string[];
|
|
28
28
|
getRegisteredTriggerNodeIds(workflowId: WorkflowId): Set<string>;
|
|
29
29
|
createRegistrationContext(dbWorkflow: WorkflowEntity, { activationMode, executionMode, additionalData, resolveWorkflowData, onTriggerFailure, }: NonWebhookTriggerRegistrationContext): {
|
|
30
|
-
dbWorkflow: WorkflowEntity;
|
|
31
30
|
activationMode: WorkflowActivateMode;
|
|
32
31
|
executionMode: "error" | "trigger" | "webhook" | "agent" | "retry" | "manual" | "cli" | "integrated" | "internal" | "evaluation" | "chat";
|
|
33
32
|
additionalData: IWorkflowExecuteAdditionalData;
|
|
34
33
|
getTriggerFunctions: IGetExecuteTriggerFunctions;
|
|
35
34
|
getPollFunctions: IGetExecutePollFunctions;
|
|
36
35
|
};
|
|
37
|
-
register(workflow: Workflow, {
|
|
36
|
+
register(workflow: Workflow, { activationMode, executionMode, additionalData, getTriggerFunctions, getPollFunctions, }: PreparedNonWebhookTriggerRegistration, nodeId: INode['id']): Promise<void>;
|
|
38
37
|
deregister(workflowId: WorkflowId, nodeId: INode['id']): Promise<void>;
|
|
39
38
|
}
|
|
@@ -14,13 +14,13 @@ const backend_common_1 = require("@n8n/backend-common");
|
|
|
14
14
|
const di_1 = require("@n8n/di");
|
|
15
15
|
const n8n_core_1 = require("n8n-core");
|
|
16
16
|
const trigger_execution_context_factory_1 = require("../../workflows/triggers/trigger-execution-context.factory");
|
|
17
|
-
const workflow_formatter_1 = require("../../workflows/workflow.formatter");
|
|
18
17
|
let NonWebhookTriggerRegistrar = class NonWebhookTriggerRegistrar {
|
|
19
|
-
constructor(logger, activeWorkflowTriggers, triggerExecutionContextFactory) {
|
|
18
|
+
constructor(logger, activeWorkflowTriggers, triggerExecutionContextFactory, tracing) {
|
|
20
19
|
this.logger = logger;
|
|
21
20
|
this.activeWorkflowTriggers = activeWorkflowTriggers;
|
|
22
21
|
this.triggerExecutionContextFactory = triggerExecutionContextFactory;
|
|
23
|
-
this.
|
|
22
|
+
this.tracing = tracing;
|
|
23
|
+
this.logger = this.logger.scoped('workflow-publication');
|
|
24
24
|
}
|
|
25
25
|
getTriggerNodeIds(workflow) {
|
|
26
26
|
return [...workflow.getTriggerNodes(), ...workflow.getPollNodes()].map((node) => node.id);
|
|
@@ -32,7 +32,6 @@ let NonWebhookTriggerRegistrar = class NonWebhookTriggerRegistrar {
|
|
|
32
32
|
const getTriggerFunctions = this.triggerExecutionContextFactory.getExecuteTriggerFunctions(dbWorkflow, additionalData, executionMode, activationMode, resolveWorkflowData, onTriggerFailure);
|
|
33
33
|
const getPollFunctions = this.triggerExecutionContextFactory.getExecutePollFunctions(dbWorkflow, additionalData, executionMode, activationMode, resolveWorkflowData);
|
|
34
34
|
return {
|
|
35
|
-
dbWorkflow,
|
|
36
35
|
activationMode,
|
|
37
36
|
executionMode,
|
|
38
37
|
additionalData,
|
|
@@ -40,12 +39,33 @@ let NonWebhookTriggerRegistrar = class NonWebhookTriggerRegistrar {
|
|
|
40
39
|
getPollFunctions,
|
|
41
40
|
};
|
|
42
41
|
}
|
|
43
|
-
async register(workflow, {
|
|
44
|
-
await this.
|
|
45
|
-
|
|
42
|
+
async register(workflow, { activationMode, executionMode, additionalData, getTriggerFunctions, getPollFunctions, }, nodeId) {
|
|
43
|
+
await this.tracing.startSpan({
|
|
44
|
+
name: 'Non-webhook trigger register',
|
|
45
|
+
op: 'publication.non_webhook.register',
|
|
46
|
+
attributes: {
|
|
47
|
+
...this.tracing.pickWorkflowAttributes({ id: workflow.id, name: workflow.name }),
|
|
48
|
+
...this.tracing.pickNodeAttributes({ id: nodeId }),
|
|
49
|
+
'n8n.publication.activation_mode': activationMode,
|
|
50
|
+
'n8n.publication.execution_mode': executionMode,
|
|
51
|
+
},
|
|
52
|
+
}, async (span) => {
|
|
53
|
+
await this.activeWorkflowTriggers.addTriggers(workflow.id, workflow, [nodeId], additionalData, executionMode, activationMode, getTriggerFunctions, getPollFunctions);
|
|
54
|
+
span.setStatus({ code: 1 });
|
|
55
|
+
});
|
|
46
56
|
}
|
|
47
57
|
async deregister(workflowId, nodeId) {
|
|
48
|
-
await this.
|
|
58
|
+
await this.tracing.startSpan({
|
|
59
|
+
name: 'Non-webhook trigger deregister',
|
|
60
|
+
op: 'publication.non_webhook.deregister',
|
|
61
|
+
attributes: {
|
|
62
|
+
...this.tracing.pickWorkflowAttributes({ id: workflowId }),
|
|
63
|
+
...this.tracing.pickNodeAttributes({ id: nodeId }),
|
|
64
|
+
},
|
|
65
|
+
}, async (span) => {
|
|
66
|
+
await this.activeWorkflowTriggers.removeTriggers(workflowId, new Set([nodeId]));
|
|
67
|
+
span.setStatus({ code: 1 });
|
|
68
|
+
});
|
|
49
69
|
}
|
|
50
70
|
};
|
|
51
71
|
exports.NonWebhookTriggerRegistrar = NonWebhookTriggerRegistrar;
|
|
@@ -53,6 +73,7 @@ exports.NonWebhookTriggerRegistrar = NonWebhookTriggerRegistrar = __decorate([
|
|
|
53
73
|
(0, di_1.Service)(),
|
|
54
74
|
__metadata("design:paramtypes", [backend_common_1.Logger,
|
|
55
75
|
n8n_core_1.ActiveWorkflowTriggers,
|
|
56
|
-
trigger_execution_context_factory_1.TriggerExecutionContextFactory
|
|
76
|
+
trigger_execution_context_factory_1.TriggerExecutionContextFactory,
|
|
77
|
+
n8n_core_1.Tracing])
|
|
57
78
|
], NonWebhookTriggerRegistrar);
|
|
58
79
|
//# sourceMappingURL=non-webhook-trigger-registrar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-webhook-trigger-registrar.js","sourceRoot":"","sources":["../../../src/workflows/triggers/non-webhook-trigger-registrar.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wDAA6C;AAE7C,gCAAkC;AAClC,
|
|
1
|
+
{"version":3,"file":"non-webhook-trigger-registrar.js","sourceRoot":"","sources":["../../../src/workflows/triggers/non-webhook-trigger-registrar.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wDAA6C;AAE7C,gCAAkC;AAClC,uCAMkB;AAYlB,8GAAwG;AAsBjG,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IACtC,YACkB,MAAc,EACd,sBAA8C,EAC9C,8BAA8D,EAC9D,OAAgB;QAHhB,WAAM,GAAN,MAAM,CAAQ;QACd,2BAAsB,GAAtB,sBAAsB,CAAwB;QAC9C,mCAA8B,GAA9B,8BAA8B,CAAgC;QAC9D,YAAO,GAAP,OAAO,CAAS;QAEjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAC1D,CAAC;IAKD,iBAAiB,CAAC,QAAkB;QACnC,OAAO,CAAC,GAAG,QAAQ,CAAC,eAAe,EAAE,EAAE,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3F,CAAC;IAMD,2BAA2B,CAAC,UAAsB;QACjD,OAAO,IAAI,CAAC,sBAAsB,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC;IAC5E,CAAC;IAKD,yBAAyB,CACxB,UAA0B,EAC1B,EACC,cAAc,EACd,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,gBAAgB,GACsB;QAEvC,MAAM,mBAAmB,GAAG,IAAI,CAAC,8BAA8B,CAAC,0BAA0B,CACzF,UAAU,EACV,cAAc,EACd,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,gBAAgB,CAChB,CAAC;QAEF,MAAM,gBAAgB,GAAG,IAAI,CAAC,8BAA8B,CAAC,uBAAuB,CACnF,UAAU,EACV,cAAc,EACd,aAAa,EACb,cAAc,EACd,mBAAmB,CACnB,CAAC;QAEF,OAAO;YACN,cAAc;YACd,aAAa;YACb,cAAc;YACd,mBAAmB;YACnB,gBAAgB;SAChB,CAAC;IACH,CAAC;IAKD,KAAK,CAAC,QAAQ,CACb,QAAkB,EAClB,EACC,cAAc,EACd,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,gBAAgB,GACuB,EACxC,MAAmB;QAEnB,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAC3B;YACC,IAAI,EAAE,8BAA8B;YACpC,EAAE,EAAE,kCAAkC;YACtC,UAAU,EAAE;gBACX,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAChF,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;gBAClD,iCAAiC,EAAE,cAAc;gBACjD,gCAAgC,EAAE,aAAa;aAC/C;SACD,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACd,MAAM,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAC5C,QAAQ,CAAC,EAAE,EACX,QAAQ,EACR,CAAC,MAAM,CAAC,EACR,cAAc,EACd,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,gBAAgB,CAChB,CAAC;YAEF,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,GAAe,EAAE,CAAC,CAAC;QACzC,CAAC,CACD,CAAC;IACH,CAAC;IAKD,KAAK,CAAC,UAAU,CAAC,UAAsB,EAAE,MAAmB;QAC3D,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAC3B;YACC,IAAI,EAAE,gCAAgC;YACtC,EAAE,EAAE,oCAAoC;YACxC,UAAU,EAAE;gBACX,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;gBAC1D,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;aAClD;SACD,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACd,MAAM,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAEhF,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,GAAe,EAAE,CAAC,CAAC;QACzC,CAAC,CACD,CAAC;IACH,CAAC;CACD,CAAA;AA9HY,gEAA0B;qCAA1B,0BAA0B;IADtC,IAAA,YAAO,GAAE;qCAGiB,uBAAM;QACU,iCAAsB;QACd,kEAA8B;QACrD,kBAAO;GALtB,0BAA0B,CA8HtC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isTransientActivationError = void 0;
|
|
4
|
+
exports.retryTriggerActivation = retryTriggerActivation;
|
|
5
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
6
|
+
const constants_1 = require("../../constants");
|
|
7
|
+
const isTransientActivationError = (error) => !(error instanceof n8n_workflow_1.WebhookPathTakenError);
|
|
8
|
+
exports.isTransientActivationError = isTransientActivationError;
|
|
9
|
+
async function retryTriggerActivation(activate, maxAttempts) {
|
|
10
|
+
for (let attempt = 0;; attempt++) {
|
|
11
|
+
try {
|
|
12
|
+
await activate();
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
catch (error) {
|
|
16
|
+
const isLastAttempt = attempt >= maxAttempts - 1;
|
|
17
|
+
if (!(0, exports.isTransientActivationError)((0, n8n_workflow_1.ensureError)(error)) || isLastAttempt)
|
|
18
|
+
throw error;
|
|
19
|
+
await (0, n8n_workflow_1.sleep)(Math.min(constants_1.WORKFLOW_REACTIVATE_INITIAL_TIMEOUT * 2 ** attempt, constants_1.WORKFLOW_REACTIVATE_MAX_TIMEOUT));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=trigger-activation-retry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trigger-activation-retry.js","sourceRoot":"","sources":["../../../src/workflows/triggers/trigger-activation-retry.ts"],"names":[],"mappings":";;;AAiBA,wDAoBC;AArCD,+CAAyE;AAEzE,2CAAmG;AAK5F,MAAM,0BAA0B,GAAG,CAAC,KAAY,EAAW,EAAE,CACnE,CAAC,CAAC,KAAK,YAAY,oCAAqB,CAAC,CAAC;AAD9B,QAAA,0BAA0B,8BACI;AASpC,KAAK,UAAU,sBAAsB,CAC3C,QAA6B,EAC7B,WAAmB;IAEnB,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;QACnC,IAAI,CAAC;YACJ,MAAM,QAAQ,EAAE,CAAC;YACjB,OAAO;QACR,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,aAAa,GAAG,OAAO,IAAI,WAAW,GAAG,CAAC,CAAC;YACjD,IAAI,CAAC,IAAA,kCAA0B,EAAC,IAAA,0BAAW,EAAC,KAAK,CAAC,CAAC,IAAI,aAAa;gBAAE,MAAM,KAAK,CAAC;YAElF,MAAM,IAAA,oBAAK,EACV,IAAI,CAAC,GAAG,CACP,+CAAmC,GAAG,CAAC,IAAI,OAAO,EAClD,2CAA+B,CAC/B,CACD,CAAC;QACH,CAAC;IACF,CAAC;AACF,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Logger } from '@n8n/backend-common';
|
|
2
2
|
import type { IWebhookData, IWorkflowExecuteAdditionalData, WorkflowActivateMode, WorkflowExecuteMode } from 'n8n-workflow';
|
|
3
3
|
import { Workflow } from 'n8n-workflow';
|
|
4
|
-
import { ErrorReporter } from 'n8n-core';
|
|
4
|
+
import { ErrorReporter, Tracing } from 'n8n-core';
|
|
5
5
|
import { WebhookService } from '../../webhooks/webhook.service';
|
|
6
6
|
import { WorkflowStaticDataService } from '../../workflows/workflow-static-data.service';
|
|
7
7
|
export interface WebhookTriggerRegistrationOptions {
|
|
@@ -19,7 +19,8 @@ export declare class WebhookTriggerRegistrar {
|
|
|
19
19
|
private readonly errorReporter;
|
|
20
20
|
private readonly webhookService;
|
|
21
21
|
private readonly workflowStaticDataService;
|
|
22
|
-
|
|
22
|
+
private readonly tracing;
|
|
23
|
+
constructor(logger: Logger, errorReporter: ErrorReporter, webhookService: WebhookService, workflowStaticDataService: WorkflowStaticDataService, tracing: Tracing);
|
|
23
24
|
getWebhookTriggers(workflow: Workflow, additionalData: IWorkflowExecuteAdditionalData): IWebhookData[];
|
|
24
25
|
register({ workflow, webhookData, mode, activation }: WebhookTriggerRegistrationOptions): Promise<void>;
|
|
25
26
|
deregister({ workflow, webhookData }: WebhookTriggerDeregistrationOptions): Promise<string>;
|
|
@@ -57,51 +57,78 @@ function isQueryFailedError(error) {
|
|
|
57
57
|
return error instanceof Error && error.name === 'QueryFailedError';
|
|
58
58
|
}
|
|
59
59
|
let WebhookTriggerRegistrar = class WebhookTriggerRegistrar {
|
|
60
|
-
constructor(logger, errorReporter, webhookService, workflowStaticDataService) {
|
|
60
|
+
constructor(logger, errorReporter, webhookService, workflowStaticDataService, tracing) {
|
|
61
61
|
this.logger = logger;
|
|
62
62
|
this.errorReporter = errorReporter;
|
|
63
63
|
this.webhookService = webhookService;
|
|
64
64
|
this.workflowStaticDataService = workflowStaticDataService;
|
|
65
|
-
this.
|
|
65
|
+
this.tracing = tracing;
|
|
66
|
+
this.logger = this.logger.scoped('workflow-publication');
|
|
66
67
|
}
|
|
67
68
|
getWebhookTriggers(workflow, additionalData) {
|
|
68
69
|
return WebhookHelpers.getWorkflowWebhooks(workflow, additionalData, undefined, true);
|
|
69
70
|
}
|
|
70
71
|
async register({ workflow, webhookData, mode, activation }) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
72
|
+
await this.tracing.startSpan({
|
|
73
|
+
name: 'Webhook trigger register',
|
|
74
|
+
op: 'publication.webhook.register',
|
|
75
|
+
attributes: {
|
|
76
|
+
...this.tracing.pickWorkflowAttributes({ id: workflow.id, name: workflow.name }),
|
|
77
|
+
...this.tracing.pickNodeAttributes({ name: webhookData.node }),
|
|
78
|
+
'n8n.webhook.path': webhookData.path,
|
|
79
|
+
'n8n.webhook.method': webhookData.httpMethod,
|
|
80
|
+
},
|
|
81
|
+
}, async (span) => {
|
|
82
|
+
const node = workflow.getNode(webhookData.node);
|
|
83
|
+
node.name = webhookData.node;
|
|
84
|
+
const webhook = this.webhookService.createWebhook({
|
|
85
|
+
workflowId: webhookData.workflowId,
|
|
86
|
+
webhookPath: webhookData.path,
|
|
87
|
+
node: node.name,
|
|
88
|
+
method: webhookData.httpMethod,
|
|
89
|
+
});
|
|
90
|
+
this.normalizeWebhookPath(webhook, node.webhookId);
|
|
91
|
+
let isStored = false;
|
|
92
|
+
try {
|
|
93
|
+
await this.webhookService.storeWebhook(webhook);
|
|
94
|
+
isStored = true;
|
|
95
|
+
await this.webhookService.createWebhookIfNotExists(workflow, webhookData, mode, activation);
|
|
91
96
|
}
|
|
92
|
-
|
|
93
|
-
|
|
97
|
+
catch (error) {
|
|
98
|
+
if (isStored)
|
|
99
|
+
await this.clearRegisteredWebhook(workflow, webhookData);
|
|
100
|
+
if (isQueryFailedError(error)) {
|
|
101
|
+
throw new n8n_workflow_1.WebhookPathTakenError(webhook.node, error);
|
|
102
|
+
}
|
|
103
|
+
if (hasErrorDetail(error)) {
|
|
104
|
+
error.message = error.detail;
|
|
105
|
+
}
|
|
106
|
+
throw error;
|
|
94
107
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
108
|
+
this.logger.debug(`Added webhook "${webhookData.node}" for workflow "${workflow.name}"`, {
|
|
109
|
+
workflowId: workflow.id,
|
|
110
|
+
nodeName: webhookData.node,
|
|
111
|
+
});
|
|
112
|
+
span.setStatus({ code: 1 });
|
|
100
113
|
});
|
|
101
114
|
}
|
|
102
115
|
async deregister({ workflow, webhookData }) {
|
|
103
|
-
await this.
|
|
104
|
-
|
|
116
|
+
return await this.tracing.startSpan({
|
|
117
|
+
name: 'Webhook trigger deregister',
|
|
118
|
+
op: 'publication.webhook.deregister',
|
|
119
|
+
attributes: {
|
|
120
|
+
...this.tracing.pickWorkflowAttributes({ id: workflow.id, name: workflow.name }),
|
|
121
|
+
...this.tracing.pickNodeAttributes({ name: webhookData.node }),
|
|
122
|
+
},
|
|
123
|
+
}, async (span) => {
|
|
124
|
+
await this.webhookService.deleteWebhook(workflow, webhookData, 'internal', 'update');
|
|
125
|
+
this.logger.debug(`Deactivating webhook "${webhookData.node}" for workflow "${workflow.name}"`, {
|
|
126
|
+
workflow: { id: workflow.id, name: workflow.name },
|
|
127
|
+
node: { name: webhookData.node, webhookId: webhookData.webhookId },
|
|
128
|
+
});
|
|
129
|
+
span.setStatus({ code: 1 });
|
|
130
|
+
return webhookData.node;
|
|
131
|
+
});
|
|
105
132
|
}
|
|
106
133
|
async clearWorkflowWebhooksForNodes(workflowId, nodeNames) {
|
|
107
134
|
await this.webhookService.deleteWorkflowWebhooksForNodes(workflowId, nodeNames);
|
|
@@ -138,6 +165,7 @@ exports.WebhookTriggerRegistrar = WebhookTriggerRegistrar = __decorate([
|
|
|
138
165
|
__metadata("design:paramtypes", [backend_common_1.Logger,
|
|
139
166
|
n8n_core_1.ErrorReporter,
|
|
140
167
|
webhook_service_1.WebhookService,
|
|
141
|
-
workflow_static_data_service_1.WorkflowStaticDataService
|
|
168
|
+
workflow_static_data_service_1.WorkflowStaticDataService,
|
|
169
|
+
n8n_core_1.Tracing])
|
|
142
170
|
], WebhookTriggerRegistrar);
|
|
143
171
|
//# sourceMappingURL=webhook-trigger-registrar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook-trigger-registrar.js","sourceRoot":"","sources":["../../../src/workflows/triggers/webhook-trigger-registrar.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA6C;AAE7C,gCAAkC;AAQlC,+CAA4E;AAE5E,
|
|
1
|
+
{"version":3,"file":"webhook-trigger-registrar.js","sourceRoot":"","sources":["../../../src/workflows/triggers/webhook-trigger-registrar.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,9 @@ import { Logger } from '@n8n/backend-common';
|
|
|
2
2
|
import { WorkflowsConfig } from '@n8n/config';
|
|
3
3
|
import type { WorkflowEntity } from '@n8n/db';
|
|
4
4
|
import { WorkflowRepository } from '@n8n/db';
|
|
5
|
-
import { ErrorReporter } from 'n8n-core';
|
|
5
|
+
import { ErrorReporter, Tracing } from 'n8n-core';
|
|
6
6
|
import type { IConnections, INode, WorkflowId } from 'n8n-workflow';
|
|
7
|
+
import { ActivationErrorsService } from '../../activation-errors.service';
|
|
7
8
|
import { NodeTypes } from '../../node-types';
|
|
8
9
|
import { NonWebhookTriggerRegistrar } from '../../workflows/triggers/non-webhook-trigger-registrar';
|
|
9
10
|
import { TriggerCountService } from '../../workflows/triggers/trigger-count.service';
|
|
@@ -34,7 +35,9 @@ export declare class WorkflowTriggerActivator {
|
|
|
34
35
|
private readonly webhookTriggerRegistrar;
|
|
35
36
|
private readonly nonWebhookTriggerRegistrar;
|
|
36
37
|
private readonly triggerCountService;
|
|
37
|
-
|
|
38
|
+
private readonly activationErrorsService;
|
|
39
|
+
private readonly tracing;
|
|
40
|
+
constructor(logger: Logger, errorReporter: ErrorReporter, nodeTypes: NodeTypes, workflowRepository: WorkflowRepository, workflowStaticDataService: WorkflowStaticDataService, workflowsConfig: WorkflowsConfig, triggerExecutionContextFactory: TriggerExecutionContextFactory, webhookTriggerRegistrar: WebhookTriggerRegistrar, nonWebhookTriggerRegistrar: NonWebhookTriggerRegistrar, triggerCountService: TriggerCountService, activationErrorsService: ActivationErrorsService, tracing: Tracing);
|
|
38
41
|
getEnabledTriggerNodes(version: WorkflowTriggerVersion | null): INode[];
|
|
39
42
|
getUnregisteredNonWebhookTriggerNodeIds(workflowId: WorkflowId, desiredNodes: INode[]): Set<INode['id']>;
|
|
40
43
|
private getNonWebhookTriggerNodeIds;
|
|
@@ -52,5 +55,5 @@ export declare class WorkflowTriggerActivator {
|
|
|
52
55
|
private deregisterNonWebhookTriggers;
|
|
53
56
|
private getNonWebhookTriggerNodeIdsForNodeIds;
|
|
54
57
|
private createWorkflowDataResolver;
|
|
55
|
-
private
|
|
58
|
+
private recoverFromRuntimeTriggerFailure;
|
|
56
59
|
}
|