n8n 2.27.4 → 2.28.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/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/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/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 +6 -2
- package/dist/modules/agents/agent-runtime-reconstruction.service.js +43 -10
- 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 +7 -1
- package/dist/modules/agents/builder/agents-builder-tools.service.js +105 -6
- 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/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/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 +70 -28
- 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 +411 -380
- 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 +3 -0
- package/dist/modules/instance-ai/mcp/instance-ai-mcp-registry.service.js +44 -0
- 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/trigger-run-data.d.ts +8 -0
- package/dist/modules/instance-ai/trigger-run-data.js +28 -0
- package/dist/modules/instance-ai/trigger-run-data.js.map +1 -0
- 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/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/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/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 +55 -37
- package/templates/form-trigger.handlebars +8 -1
|
@@ -0,0 +1,109 @@
|
|
|
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.WorkflowPublicationOutboxCleanupService = void 0;
|
|
13
|
+
const backend_common_1 = require("@n8n/backend-common");
|
|
14
|
+
const config_1 = require("@n8n/config");
|
|
15
|
+
const constants_1 = require("@n8n/constants");
|
|
16
|
+
const db_1 = require("@n8n/db");
|
|
17
|
+
const decorators_1 = require("@n8n/decorators");
|
|
18
|
+
const di_1 = require("@n8n/di");
|
|
19
|
+
const n8n_core_1 = require("n8n-core");
|
|
20
|
+
let WorkflowPublicationOutboxCleanupService = class WorkflowPublicationOutboxCleanupService {
|
|
21
|
+
constructor(logger, workflowsConfig, outboxRepository, instanceSettings, tracing) {
|
|
22
|
+
this.workflowsConfig = workflowsConfig;
|
|
23
|
+
this.outboxRepository = outboxRepository;
|
|
24
|
+
this.instanceSettings = instanceSettings;
|
|
25
|
+
this.tracing = tracing;
|
|
26
|
+
this.isShuttingDown = false;
|
|
27
|
+
this.logger = logger.scoped('workflow-publication');
|
|
28
|
+
}
|
|
29
|
+
init() {
|
|
30
|
+
if (!this.instanceSettings.isLeader)
|
|
31
|
+
return;
|
|
32
|
+
this.startCleanup();
|
|
33
|
+
if (this.cleanupInterval)
|
|
34
|
+
void this.cleanup();
|
|
35
|
+
}
|
|
36
|
+
startCleanup() {
|
|
37
|
+
if (!this.workflowsConfig.useWorkflowPublicationService)
|
|
38
|
+
return;
|
|
39
|
+
if (this.isShuttingDown || this.cleanupInterval)
|
|
40
|
+
return;
|
|
41
|
+
const intervalSeconds = this.workflowsConfig.publicationOutboxCleanupIntervalSeconds;
|
|
42
|
+
this.cleanupInterval = setInterval(async () => await this.cleanup(), intervalSeconds * constants_1.Time.seconds.toMilliseconds);
|
|
43
|
+
this.logger.debug(`Outbox cleanup scheduled every ${intervalSeconds}s`);
|
|
44
|
+
}
|
|
45
|
+
stopCleanup() {
|
|
46
|
+
clearInterval(this.cleanupInterval);
|
|
47
|
+
this.cleanupInterval = undefined;
|
|
48
|
+
}
|
|
49
|
+
shutdown() {
|
|
50
|
+
this.isShuttingDown = true;
|
|
51
|
+
this.stopCleanup();
|
|
52
|
+
}
|
|
53
|
+
async cleanup() {
|
|
54
|
+
const completedRetentionSeconds = this.workflowsConfig.publicationOutboxCompletedRetentionHours * constants_1.Time.hours.toSeconds;
|
|
55
|
+
const failedRetentionSeconds = this.workflowsConfig.publicationOutboxFailedRetentionHours * constants_1.Time.hours.toSeconds;
|
|
56
|
+
const batchSize = this.workflowsConfig.publicationOutboxCleanupBatchSize;
|
|
57
|
+
await this.tracing.startSpan({ name: 'Publication outbox cleanup', op: 'publication.outbox.cleanup' }, async (span) => {
|
|
58
|
+
let totalDeleted = 0;
|
|
59
|
+
try {
|
|
60
|
+
let deleted;
|
|
61
|
+
do {
|
|
62
|
+
deleted = await this.outboxRepository.deleteTerminalOlderThan(completedRetentionSeconds, failedRetentionSeconds, batchSize);
|
|
63
|
+
totalDeleted += deleted;
|
|
64
|
+
} while (deleted >= batchSize && !this.isShuttingDown);
|
|
65
|
+
span.setStatus({ code: 1 });
|
|
66
|
+
if (totalDeleted > 0) {
|
|
67
|
+
this.logger.debug('Cleaned up terminal workflow publication outbox records', {
|
|
68
|
+
count: totalDeleted,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
span.setStatus({ code: 2 });
|
|
74
|
+
this.logger.error('Failed to clean up workflow publication outbox records', { error });
|
|
75
|
+
}
|
|
76
|
+
finally {
|
|
77
|
+
span.setAttribute('n8n.publication.records_deleted', totalDeleted);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
exports.WorkflowPublicationOutboxCleanupService = WorkflowPublicationOutboxCleanupService;
|
|
83
|
+
__decorate([
|
|
84
|
+
(0, decorators_1.OnLeaderTakeover)(),
|
|
85
|
+
__metadata("design:type", Function),
|
|
86
|
+
__metadata("design:paramtypes", []),
|
|
87
|
+
__metadata("design:returntype", void 0)
|
|
88
|
+
], WorkflowPublicationOutboxCleanupService.prototype, "startCleanup", null);
|
|
89
|
+
__decorate([
|
|
90
|
+
(0, decorators_1.OnLeaderStepdown)(),
|
|
91
|
+
__metadata("design:type", Function),
|
|
92
|
+
__metadata("design:paramtypes", []),
|
|
93
|
+
__metadata("design:returntype", void 0)
|
|
94
|
+
], WorkflowPublicationOutboxCleanupService.prototype, "stopCleanup", null);
|
|
95
|
+
__decorate([
|
|
96
|
+
(0, decorators_1.OnShutdown)(),
|
|
97
|
+
__metadata("design:type", Function),
|
|
98
|
+
__metadata("design:paramtypes", []),
|
|
99
|
+
__metadata("design:returntype", void 0)
|
|
100
|
+
], WorkflowPublicationOutboxCleanupService.prototype, "shutdown", null);
|
|
101
|
+
exports.WorkflowPublicationOutboxCleanupService = WorkflowPublicationOutboxCleanupService = __decorate([
|
|
102
|
+
(0, di_1.Service)(),
|
|
103
|
+
__metadata("design:paramtypes", [backend_common_1.Logger,
|
|
104
|
+
config_1.WorkflowsConfig,
|
|
105
|
+
db_1.WorkflowPublicationOutboxRepository,
|
|
106
|
+
n8n_core_1.InstanceSettings,
|
|
107
|
+
n8n_core_1.Tracing])
|
|
108
|
+
], WorkflowPublicationOutboxCleanupService);
|
|
109
|
+
//# sourceMappingURL=workflow-publication-outbox-cleanup.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-publication-outbox-cleanup.service.js","sourceRoot":"","sources":["../../../src/workflows/publication/workflow-publication-outbox-cleanup.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Logger } from '@n8n/backend-common';
|
|
2
2
|
import { WorkflowsConfig } from '@n8n/config';
|
|
3
3
|
import { WorkflowPublicationOutbox, WorkflowPublicationOutboxRepository } from '@n8n/db';
|
|
4
|
-
import { ErrorReporter, InstanceSettings } from 'n8n-core';
|
|
4
|
+
import { ErrorReporter, InstanceSettings, Tracing } from 'n8n-core';
|
|
5
5
|
import { PublicationStatusReporter } from '../../workflows/publication/publication-status-reporter';
|
|
6
|
+
import { WorkflowPublicationLifecycleLock } from '../../workflows/publication/workflow-publication-lifecycle-lock';
|
|
6
7
|
import { WorkflowPublicationApplier } from '../../workflows/publication/workflow-publication-applier';
|
|
7
8
|
export declare class WorkflowPublicationOutboxConsumer {
|
|
8
9
|
private readonly logger;
|
|
@@ -12,16 +13,22 @@ export declare class WorkflowPublicationOutboxConsumer {
|
|
|
12
13
|
private readonly applier;
|
|
13
14
|
private readonly reporter;
|
|
14
15
|
private readonly instanceSettings;
|
|
16
|
+
private readonly lifecycleLock;
|
|
17
|
+
private readonly tracing;
|
|
15
18
|
private pollTimeout;
|
|
16
19
|
private isPolling;
|
|
17
20
|
private isShuttingDown;
|
|
18
|
-
|
|
19
|
-
|
|
21
|
+
private activeDrain;
|
|
22
|
+
constructor(logger: Logger, workflowsConfig: WorkflowsConfig, errorReporter: ErrorReporter, outboxRepository: WorkflowPublicationOutboxRepository, applier: WorkflowPublicationApplier, reporter: PublicationStatusReporter, instanceSettings: InstanceSettings, lifecycleLock: WorkflowPublicationLifecycleLock, tracing: Tracing);
|
|
23
|
+
init(): Promise<void>;
|
|
20
24
|
startPolling(): void;
|
|
21
25
|
stopPolling(): void;
|
|
22
|
-
shutdown(): void
|
|
26
|
+
shutdown(): Promise<void>;
|
|
27
|
+
wakeUp(): Promise<void>;
|
|
23
28
|
private schedulePollCycle;
|
|
24
29
|
private pollCycle;
|
|
30
|
+
drainPending(): Promise<number>;
|
|
31
|
+
private runDrain;
|
|
25
32
|
private shouldKeepPolling;
|
|
26
33
|
processRecord(record: WorkflowPublicationOutbox): Promise<void>;
|
|
27
34
|
}
|
|
@@ -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":";;;;;;;;;;;;AAAA,wDAA6C;AAC7C,wCAA8C;AAC9C,gCAAyF;AACzF,gDAA4D;AAC5D,gCAAkC;AAClC,uCAAgF;AAChF,+CAA4D;AAG5D,qGAAgG;AAChG,qHAA+G;AAC/G,uGAAkG;AAY3F,IAAM,iCAAiC,GAAvC,MAAM,iCAAiC;IAS7C,YACkB,MAAc,EACd,eAAgC,EAChC,aAA4B,EAC5B,gBAAqD,EACrD,OAAmC,EACnC,QAAmC,EACnC,gBAAkC,EAClC,aAA+C,EAC/C,OAAgB;QARhB,WAAM,GAAN,MAAM,CAAQ;QACd,oBAAe,GAAf,eAAe,CAAiB;QAChC,kBAAa,GAAb,aAAa,CAAe;QAC5B,qBAAgB,GAAhB,gBAAgB,CAAqC;QACrD,YAAO,GAAP,OAAO,CAA4B;QACnC,aAAQ,GAAR,QAAQ,CAA2B;QACnC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,kBAAa,GAAb,aAAa,CAAkC;QAC/C,YAAO,GAAP,OAAO,CAAS;QAf1B,cAAS,GAAG,KAAK,CAAC;QAElB,mBAAc,GAAG,KAAK,CAAC;QAEvB,gBAAW,GAA2B,IAAI,CAAC;QAalD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,IAAI;QACT,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ;YAAE,OAAO;QAE5C,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;IAC3B,CAAC;IAED,YAAY;QACX,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,6BAA6B,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO;QACvF,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAE3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC7C,CAAC;IAED,WAAW;QACV,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC7C,CAAC;IACF,CAAC;IAGK,AAAN,KAAK,CAAC,QAAQ;QACb,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,MAAM,IAAI,CAAC,WAAW,CAAC;IACxB,CAAC;IASK,AAAN,KAAK,CAAC,MAAM;QACX,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,6BAA6B;YAAE,OAAO;QAEhE,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;IAC3B,CAAC;IAKO,iBAAiB;QACxB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAAE,OAAO;QAEtC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;YACxC,IAAI,CAAC;gBACJ,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACxB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3D,CAAC;YAED,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACxD,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,+BAA+B,CAAC,CAAC;IAC1D,CAAC;IAEO,KAAK,CAAC,SAAS;QACtB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAG5C,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,SAAS,oDAAoD,CAAC,CAAC;QAC/F,CAAC;IACF,CAAC;IAWD,KAAK,CAAC,YAAY;QACjB,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC;QAEpD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC;YACJ,OAAO,MAAM,KAAK,CAAC;QACpB,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACzB,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,QAAQ;QACrB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAClC,EAAE,IAAI,EAAE,0BAA0B,EAAE,EAAE,EAAE,0BAA0B,EAAE,EACpE,KAAK,EAAE,IAAI,EAAE,EAAE;YACd,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,OAAO,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,CAAC;gBACpE,IAAI,CAAC,MAAM;oBAAE,MAAM;gBAEnB,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACjC,SAAS,EAAE,CAAC;YACb,CAAC;YAED,IAAI,CAAC,YAAY,CAAC,mCAAmC,EAAE,SAAS,CAAC,CAAC;YAClE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,GAAe,EAAE,CAAC,CAAC;YACxC,OAAO,SAAS,CAAC;QAClB,CAAC,CACD,CAAC;IACH,CAAC;IAEO,iBAAiB;QACxB,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;IAC/C,CAAC;IAeD,KAAK,CAAC,aAAa,CAAC,MAAiC;QACpD,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAC3B;YACC,IAAI,EAAE,2BAA2B;YACjC,EAAE,EAAE,mCAAmC;YACvC,UAAU,EAAE;gBACX,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;gBACjE,2BAA2B,EAAE,MAAM,CAAC,EAAE;gBACtC,sCAAsC,EAAE,MAAM,CAAC,kBAAkB;aACjE;SACD,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACd,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;gBAInE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;oBACrC,MAAM,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+DAA+D,EAAE;wBAClF,QAAQ,EAAE,MAAM,CAAC,EAAE;wBACnB,UAAU,EAAE,MAAM,CAAC,UAAU;qBAC7B,CAAC,CAAC;oBACH,OAAO;gBACR,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uDAAuD,EAAE;oBAC1E,QAAQ,EAAE,MAAM,CAAC,EAAE;oBACnB,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;iBAC7C,CAAC,CAAC;gBAEH,IAAI,MAAyB,CAAC;gBAE9B,IAAI,CAAC;oBACJ,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC3C,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,MAAM,KAAK,GAAG,IAAA,0BAAW,EAAC,KAAK,CAAC,CAAC;oBACjC,MAAM,GAAG;wBACR,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,IAAI,8BAAe,CAAC,eAAe,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;qBACrE,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC;oBACJ,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC5C,CAAC;gBAAC,OAAO,WAAW,EAAE,CAAC;oBACtB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;gBACjE,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wDAAwD,EAAE;oBAC3E,QAAQ,EAAE,MAAM,CAAC,EAAE;oBACnB,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,MAAM,EAAE,MAAM,CAAC,IAAI;iBACnB,CAAC,CAAC;gBAEH,IAAI,CAAC,YAAY,CAAC,wBAAwB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,GAAe,EAAE,CAAC,CAAC;QACzC,CAAC,CACD,CAAC;IACH,CAAC;CACD,CAAA;AA3NY,8EAAiC;AAmDvC;IADL,IAAA,uBAAU,GAAE;;;;iEAMZ;AASK;IADL,IAAA,0BAAa,EAAC,0BAA0B,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;;;;+DAM3F;4CAtEW,iCAAiC;IAD7C,IAAA,YAAO,GAAE;qCAWiB,uBAAM;QACG,wBAAe;QACjB,wBAAa;QACV,wCAAmC;QAC5C,yDAA0B;QACzB,uDAAyB;QACjB,2BAAgB;QACnB,sEAAgC;QACtC,kBAAO;GAlBtB,iCAAiC,CA2N7C"}
|
|
@@ -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":"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"}
|
|
@@ -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>;
|