n8n 2.33.2 → 2.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/active-executions.d.ts +2 -2
- package/dist/active-executions.js +18 -13
- package/dist/active-executions.js.map +1 -1
- package/dist/agent-library-bundle.js +158 -137
- package/dist/auth/auth.service.d.ts +1 -0
- package/dist/auth/auth.service.js +8 -1
- package/dist/auth/auth.service.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/chat/chat-execution-manager.js +8 -5
- package/dist/chat/chat-execution-manager.js.map +1 -1
- package/dist/commands/base-command.js +3 -2
- package/dist/commands/base-command.js.map +1 -1
- package/dist/commands/import/workflow.js +1 -1
- package/dist/commands/import/workflow.js.map +1 -1
- package/dist/commands/start.d.ts +0 -1
- package/dist/commands/start.js +4 -32
- package/dist/commands/start.js.map +1 -1
- package/dist/constants/oauth2-triggers.d.ts +2 -0
- package/dist/constants/oauth2-triggers.js +11 -0
- package/dist/constants/oauth2-triggers.js.map +1 -0
- package/dist/controllers/api-keys.controller.js +0 -3
- package/dist/controllers/api-keys.controller.js.map +1 -1
- package/dist/controllers/e2e.controller.d.ts +7 -0
- package/dist/controllers/e2e.controller.js +12 -1
- package/dist/controllers/e2e.controller.js.map +1 -1
- package/dist/crash-journal.js +2 -2
- package/dist/crash-journal.js.map +1 -1
- package/dist/credentials/credentials.controller.d.ts +2 -0
- package/dist/credentials/credentials.controller.js +23 -4
- package/dist/credentials/credentials.controller.js.map +1 -1
- package/dist/credentials/credentials.service.d.ts +5 -1
- package/dist/credentials/credentials.service.js +45 -8
- package/dist/credentials/credentials.service.js.map +1 -1
- package/dist/credentials-helper.d.ts +3 -1
- package/dist/credentials-helper.js +39 -1
- package/dist/credentials-helper.js.map +1 -1
- package/dist/credentials-overwrites.d.ts +2 -1
- package/dist/credentials-overwrites.js +4 -5
- package/dist/credentials-overwrites.js.map +1 -1
- package/dist/environments.ee/variables/variables.service.ee.d.ts +4 -0
- package/dist/environments.ee/variables/variables.service.ee.js +10 -6
- package/dist/environments.ee/variables/variables.service.ee.js.map +1 -1
- package/dist/errors/http-error-serializers.js +10 -1
- package/dist/errors/http-error-serializers.js.map +1 -1
- package/dist/errors/response-errors/workflow-publish-blocked.error.d.ts +6 -0
- package/dist/errors/response-errors/workflow-publish-blocked.error.js +19 -0
- package/dist/errors/response-errors/workflow-publish-blocked.error.js.map +1 -0
- package/dist/errors/webhook-response-too-large.error.d.ts +7 -0
- package/dist/errors/webhook-response-too-large.error.js +11 -0
- package/dist/errors/webhook-response-too-large.error.js.map +1 -0
- package/dist/eventbus/event-message-classes/event-message-mcp.d.ts +33 -0
- package/dist/eventbus/event-message-classes/event-message-mcp.js +29 -0
- package/dist/eventbus/event-message-classes/event-message-mcp.js.map +1 -0
- package/dist/eventbus/event-message-classes/index.d.ts +6 -3
- package/dist/eventbus/event-message-classes/index.js +7 -1
- package/dist/eventbus/event-message-classes/index.js.map +1 -1
- package/dist/eventbus/message-event-bus/message-event-bus.d.ts +2 -0
- package/dist/eventbus/message-event-bus/message-event-bus.js +4 -0
- package/dist/eventbus/message-event-bus/message-event-bus.js.map +1 -1
- package/dist/eventbus/message-event-bus-writer/message-event-bus-log-writer.js +3 -0
- package/dist/eventbus/message-event-bus-writer/message-event-bus-log-writer.js.map +1 -1
- package/dist/events/maps/relay.event-map.d.ts +18 -1
- package/dist/events/maps/workflow-publication-metrics.event-map.d.ts +5 -0
- package/dist/events/relays/log-streaming.event-relay.d.ts +3 -0
- package/dist/events/relays/log-streaming.event-relay.js +33 -0
- package/dist/events/relays/log-streaming.event-relay.js.map +1 -1
- package/dist/events/relays/telemetry.event-relay.js +10 -0
- package/dist/events/relays/telemetry.event-relay.js.map +1 -1
- package/dist/execution-lifecycle/execution-lifecycle-hooks.js +46 -18
- package/dist/execution-lifecycle/execution-lifecycle-hooks.js.map +1 -1
- package/dist/executions/enqueued-execution-recovery.service.d.ts +21 -0
- package/dist/executions/enqueued-execution-recovery.service.js +79 -0
- package/dist/executions/enqueued-execution-recovery.service.js.map +1 -0
- package/dist/executions/execution-data/execution-data-json-store.d.ts +3 -6
- package/dist/executions/execution-data/execution-data-json-store.js +2 -15
- package/dist/executions/execution-data/execution-data-json-store.js.map +1 -1
- package/dist/executions/execution-persistence.js.map +1 -1
- package/dist/executions/execution-recovery.service.js +23 -12
- package/dist/executions/execution-recovery.service.js.map +1 -1
- package/dist/external-hooks.d.ts +3 -2
- package/dist/external-hooks.js.map +1 -1
- package/dist/instance-settings-loader/loaders/sso/oidc.instance-settings-loader.js +4 -0
- package/dist/instance-settings-loader/loaders/sso/oidc.instance-settings-loader.js.map +1 -1
- package/dist/interfaces.d.ts +6 -0
- package/dist/metrics/prometheus/scheduler-metrics.service.d.ts +7 -2
- package/dist/metrics/prometheus/scheduler-metrics.service.js +29 -1
- package/dist/metrics/prometheus/scheduler-metrics.service.js.map +1 -1
- package/dist/metrics/prometheus/workflow-publication-metrics.service.d.ts +1 -0
- package/dist/metrics/prometheus/workflow-publication-metrics.service.js +22 -1
- package/dist/metrics/prometheus/workflow-publication-metrics.service.js.map +1 -1
- package/dist/modules/agent-evals/agent-eval-case-generation.service.d.ts +25 -0
- package/dist/modules/agent-evals/agent-eval-case-generation.service.js +192 -0
- package/dist/modules/agent-evals/agent-eval-case-generation.service.js.map +1 -0
- package/dist/modules/agent-evals/agent-eval-rating.service.d.ts +23 -0
- package/dist/modules/agent-evals/agent-eval-rating.service.js +124 -0
- package/dist/modules/agent-evals/agent-eval-rating.service.js.map +1 -0
- package/dist/modules/agent-evals/agent-eval-record-mappers.d.ts +5 -0
- package/dist/modules/agent-evals/agent-eval-record-mappers.js +68 -0
- package/dist/modules/agent-evals/agent-eval-record-mappers.js.map +1 -0
- package/dist/modules/agent-evals/agent-eval-runner.service.d.ts +42 -0
- package/dist/modules/agent-evals/agent-eval-runner.service.js +409 -0
- package/dist/modules/agent-evals/agent-eval-runner.service.js.map +1 -0
- package/dist/modules/agent-evals/agent-eval.service.d.ts +31 -0
- package/dist/modules/agent-evals/agent-eval.service.js +138 -0
- package/dist/modules/agent-evals/agent-eval.service.js.map +1 -0
- package/dist/modules/agent-evals/agent-evals-flag-gate.d.ts +8 -0
- package/dist/{services/trigger-auth-identity-seeder-proxy.service.js → modules/agent-evals/agent-evals-flag-gate.js} +18 -16
- package/dist/modules/agent-evals/agent-evals-flag-gate.js.map +1 -0
- package/dist/modules/agent-evals/agent-evals-required-modules.d.ts +2 -0
- package/dist/modules/agent-evals/agent-evals-required-modules.js +12 -0
- package/dist/modules/agent-evals/agent-evals-required-modules.js.map +1 -0
- package/dist/modules/agent-evals/agent-evals.controller.d.ts +33 -0
- package/dist/modules/agent-evals/agent-evals.controller.js +172 -0
- package/dist/modules/agent-evals/agent-evals.controller.js.map +1 -0
- package/dist/modules/agent-evals/agent-evals.module.d.ts +4 -0
- package/dist/modules/agent-evals/agent-evals.module.js +24 -0
- package/dist/modules/agent-evals/agent-evals.module.js.map +1 -0
- package/dist/modules/agent-evals/case-generation/case-generation-prompt.d.ts +37 -0
- package/dist/modules/agent-evals/case-generation/case-generation-prompt.js +87 -0
- package/dist/modules/agent-evals/case-generation/case-generation-prompt.js.map +1 -0
- package/dist/modules/agent-evals/case-generation/dimensions.d.ts +11 -0
- package/dist/modules/agent-evals/case-generation/dimensions.js +54 -0
- package/dist/modules/agent-evals/case-generation/dimensions.js.map +1 -0
- package/dist/modules/agents/adapters/agents-credential-provider.d.ts +3 -1
- package/dist/modules/agents/adapters/agents-credential-provider.js +15 -0
- package/dist/modules/agents/adapters/agents-credential-provider.js.map +1 -1
- package/dist/modules/agents/agent-chat-attachment.service.d.ts +46 -0
- package/dist/modules/agents/agent-chat-attachment.service.js +144 -0
- package/dist/modules/agents/agent-chat-attachment.service.js.map +1 -0
- package/dist/modules/agents/agent-chat.controller.d.ts +15 -1
- package/dist/modules/agents/agent-chat.controller.js +177 -34
- package/dist/modules/agents/agent-chat.controller.js.map +1 -1
- package/dist/modules/agents/agent-config.service.d.ts +10 -3
- package/dist/modules/agents/agent-config.service.js +44 -5
- package/dist/modules/agents/agent-config.service.js.map +1 -1
- package/dist/modules/agents/agent-custom-tools.service.d.ts +7 -3
- package/dist/modules/agents/agent-custom-tools.service.js +44 -7
- package/dist/modules/agents/agent-custom-tools.service.js.map +1 -1
- package/dist/modules/agents/agent-execution-orchestrator.service.d.ts +14 -2
- package/dist/modules/agents/agent-execution-orchestrator.service.js +85 -9
- package/dist/modules/agents/agent-execution-orchestrator.service.js.map +1 -1
- package/dist/modules/agents/agent-execution.service.d.ts +4 -1
- package/dist/modules/agents/agent-execution.service.js +7 -2
- package/dist/modules/agents/agent-execution.service.js.map +1 -1
- package/dist/modules/agents/agent-integration-persistence.service.d.ts +14 -7
- package/dist/modules/agents/agent-integration-persistence.service.js +35 -7
- package/dist/modules/agents/agent-integration-persistence.service.js.map +1 -1
- package/dist/modules/agents/agent-integrations.controller.d.ts +1 -9
- package/dist/modules/agents/agent-integrations.controller.js +12 -16
- package/dist/modules/agents/agent-integrations.controller.js.map +1 -1
- package/dist/modules/agents/agent-knowledge-file-store.d.ts +24 -0
- package/dist/modules/agents/agent-knowledge-file-store.js +100 -0
- package/dist/modules/agents/agent-knowledge-file-store.js.map +1 -0
- package/dist/modules/agents/agent-knowledge-retrieval.d.ts +3 -1
- package/dist/modules/agents/agent-knowledge-retrieval.js +1 -1
- package/dist/modules/agents/agent-knowledge-retrieval.js.map +1 -1
- package/dist/modules/agents/agent-knowledge-sandbox.service.d.ts +4 -3
- package/dist/modules/agents/agent-knowledge-sandbox.service.js +17 -8
- package/dist/modules/agents/agent-knowledge-sandbox.service.js.map +1 -1
- package/dist/modules/agents/agent-knowledge-storage.d.ts +0 -1
- package/dist/modules/agents/agent-knowledge-storage.js +0 -10
- package/dist/modules/agents/agent-knowledge-storage.js.map +1 -1
- package/dist/modules/agents/agent-knowledge.service.d.ts +3 -4
- package/dist/modules/agents/agent-knowledge.service.js +25 -27
- package/dist/modules/agents/agent-knowledge.service.js.map +1 -1
- package/dist/modules/agents/agent-mcp-access.controller.d.ts +14 -0
- package/dist/modules/agents/agent-mcp-access.controller.js +49 -0
- package/dist/modules/agents/agent-mcp-access.controller.js.map +1 -0
- package/dist/modules/agents/agent-mcp-access.service.d.ts +22 -0
- package/dist/modules/agents/agent-mcp-access.service.js +83 -0
- package/dist/modules/agents/agent-mcp-access.service.js.map +1 -0
- package/dist/modules/agents/agent-message-mapper.js +9 -0
- package/dist/modules/agents/agent-message-mapper.js.map +1 -1
- package/dist/modules/agents/agent-model-catalog.service.d.ts +1 -1
- package/dist/modules/agents/agent-model-catalog.service.js +22 -7
- package/dist/modules/agents/agent-model-catalog.service.js.map +1 -1
- package/dist/modules/agents/agent-modification-telemetry.service.d.ts +25 -0
- package/dist/modules/agents/agent-modification-telemetry.service.js +119 -0
- package/dist/modules/agents/agent-modification-telemetry.service.js.map +1 -0
- package/dist/modules/agents/agent-publish.controller.js +4 -4
- package/dist/modules/agents/agent-publish.controller.js.map +1 -1
- package/dist/modules/agents/agent-publish.service.d.ts +23 -9
- package/dist/modules/agents/agent-publish.service.js +146 -33
- package/dist/modules/agents/agent-publish.service.js.map +1 -1
- package/dist/modules/agents/agent-runtime-cache.service.js +1 -1
- package/dist/modules/agents/agent-runtime-cache.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 +16 -6
- package/dist/modules/agents/agent-runtime-reconstruction.service.js.map +1 -1
- package/dist/modules/agents/agent-setup-completion.service.d.ts +19 -0
- package/dist/modules/agents/agent-setup-completion.service.js +79 -0
- package/dist/modules/agents/agent-setup-completion.service.js.map +1 -0
- package/dist/modules/agents/agent-skills.service.d.ts +8 -6
- package/dist/modules/agents/agent-skills.service.js +55 -12
- package/dist/modules/agents/agent-skills.service.js.map +1 -1
- package/dist/modules/agents/agent-sse-stream.js +35 -0
- package/dist/modules/agents/agent-sse-stream.js.map +1 -1
- package/dist/modules/agents/agent-task.service.d.ts +7 -5
- package/dist/modules/agents/agent-task.service.js +56 -21
- package/dist/modules/agents/agent-task.service.js.map +1 -1
- package/dist/modules/agents/agent-tasks.controller.js +18 -6
- package/dist/modules/agents/agent-tasks.controller.js.map +1 -1
- package/dist/modules/agents/agent-test-chat.service.d.ts +3 -1
- package/dist/modules/agents/agent-test-chat.service.js +7 -3
- package/dist/modules/agents/agent-test-chat.service.js.map +1 -1
- package/dist/modules/agents/agent-validation.service.d.ts +5 -2
- package/dist/modules/agents/agent-validation.service.js +22 -4
- package/dist/modules/agents/agent-validation.service.js.map +1 -1
- package/dist/modules/agents/agent-workflow-execution.service.d.ts +1 -1
- package/dist/modules/agents/agent-workflow-execution.service.js +13 -7
- package/dist/modules/agents/agent-workflow-execution.service.js.map +1 -1
- package/dist/modules/agents/agents-config.controller.d.ts +1 -5
- package/dist/modules/agents/agents-config.controller.js +7 -2
- package/dist/modules/agents/agents-config.controller.js.map +1 -1
- package/dist/modules/agents/agents-skills.controller.js +12 -3
- package/dist/modules/agents/agents-skills.controller.js.map +1 -1
- package/dist/modules/agents/agents-tools.service.js +1 -5
- package/dist/modules/agents/agents-tools.service.js.map +1 -1
- package/dist/modules/agents/agents.controller.js +3 -1
- 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 +10 -11
- package/dist/modules/agents/agents.module.js.map +1 -1
- package/dist/modules/agents/agents.service.d.ts +12 -4
- package/dist/modules/agents/agents.service.js +52 -4
- package/dist/modules/agents/agents.service.js.map +1 -1
- package/dist/modules/agents/builder/agents-builder-prompts.d.ts +2 -2
- package/dist/modules/agents/builder/agents-builder-prompts.js +13 -11
- package/dist/modules/agents/builder/agents-builder-prompts.js.map +1 -1
- package/dist/modules/agents/builder/agents-builder-tools.service.d.ts +3 -6
- package/dist/modules/agents/builder/agents-builder-tools.service.js +37 -84
- package/dist/modules/agents/builder/agents-builder-tools.service.js.map +1 -1
- package/dist/modules/agents/builder/agents-builder.service.d.ts +3 -7
- package/dist/modules/agents/builder/agents-builder.service.js +27 -34
- package/dist/modules/agents/builder/agents-builder.service.js.map +1 -1
- package/dist/modules/agents/builder/builder-config-telemetry.d.ts +1 -10
- package/dist/modules/agents/builder/builder-config-telemetry.js +0 -64
- package/dist/modules/agents/builder/builder-config-telemetry.js.map +1 -1
- package/dist/modules/agents/builder/builder-model-live-lookup.service.d.ts +5 -1
- package/dist/modules/agents/builder/builder-model-live-lookup.service.js +23 -2
- package/dist/modules/agents/builder/builder-model-live-lookup.service.js.map +1 -1
- package/dist/modules/agents/builder/format-preview-context.js +3 -0
- package/dist/modules/agents/builder/format-preview-context.js.map +1 -1
- package/dist/modules/agents/builder/get-resource-locator-options.tool.d.ts +2 -2
- package/dist/modules/agents/builder/interactive/configure-channel.tool.js +6 -5
- package/dist/modules/agents/builder/interactive/configure-channel.tool.js.map +1 -1
- package/dist/modules/agents/builder/interactive/finish-setup.tool.d.ts +0 -5
- package/dist/modules/agents/builder/interactive/finish-setup.tool.js +28 -45
- package/dist/modules/agents/builder/interactive/finish-setup.tool.js.map +1 -1
- package/dist/modules/agents/builder/interactive/resolve-llm.tool.d.ts +1 -0
- package/dist/modules/agents/builder/interactive/resolve-llm.tool.js +88 -8
- package/dist/modules/agents/builder/interactive/resolve-llm.tool.js.map +1 -1
- package/dist/modules/agents/builder/prompts/config-mutation.prompt.js +1 -1
- package/dist/modules/agents/builder/prompts/initial-build.prompt.d.ts +1 -1
- package/dist/modules/agents/builder/prompts/initial-build.prompt.js +8 -15
- package/dist/modules/agents/builder/prompts/initial-build.prompt.js.map +1 -1
- package/dist/modules/agents/builder/prompts/llm-selection.prompt.js +2 -2
- package/dist/modules/agents/builder/skills/external-services.skill.js +10 -11
- package/dist/modules/agents/builder/skills/external-services.skill.js.map +1 -1
- package/dist/modules/agents/entities/agent-chat-attachment.entity.d.ts +16 -0
- package/dist/modules/agents/entities/agent-chat-attachment.entity.js +70 -0
- package/dist/modules/agents/entities/agent-chat-attachment.entity.js.map +1 -0
- package/dist/modules/agents/entities/agent-execution.entity.d.ts +6 -0
- package/dist/modules/agents/entities/agent-execution.entity.js +4 -0
- package/dist/modules/agents/entities/agent-execution.entity.js.map +1 -1
- package/dist/modules/agents/entities/agent-file.entity.d.ts +3 -2
- package/dist/modules/agents/entities/agent-file.entity.js +6 -3
- package/dist/modules/agents/entities/agent-file.entity.js.map +1 -1
- package/dist/modules/agents/entities/agent.entity.d.ts +2 -0
- package/dist/modules/agents/entities/agent.entity.js +8 -0
- package/dist/modules/agents/entities/agent.entity.js.map +1 -1
- package/dist/modules/agents/execution-log/agent-execution-log-store.d.ts +3 -6
- package/dist/modules/agents/execution-log/agent-execution-log-store.js +2 -15
- package/dist/modules/agents/execution-log/agent-execution-log-store.js.map +1 -1
- package/dist/modules/agents/execution-recorder.d.ts +11 -0
- package/dist/modules/agents/execution-recorder.js +69 -0
- package/dist/modules/agents/execution-recorder.js.map +1 -1
- package/dist/modules/agents/instance-ai-builder-delegate.adapter.js +6 -2
- package/dist/modules/agents/instance-ai-builder-delegate.adapter.js.map +1 -1
- package/dist/modules/agents/integrations/agent-chat-bridge.d.ts +8 -2
- package/dist/modules/agents/integrations/agent-chat-bridge.js +114 -16
- package/dist/modules/agents/integrations/agent-chat-bridge.js.map +1 -1
- package/dist/modules/agents/integrations/agent-chat-hitl-resume-handler.d.ts +4 -1
- package/dist/modules/agents/integrations/agent-chat-hitl-resume-handler.js +40 -7
- package/dist/modules/agents/integrations/agent-chat-hitl-resume-handler.js.map +1 -1
- package/dist/modules/agents/integrations/agent-chat-integration.d.ts +16 -1
- package/dist/modules/agents/integrations/agent-chat-integration.js +1 -0
- package/dist/modules/agents/integrations/agent-chat-integration.js.map +1 -1
- package/dist/modules/agents/integrations/agent-chat-message-context.d.ts +2 -1
- package/dist/modules/agents/integrations/agent-chat-message-context.js +1 -0
- package/dist/modules/agents/integrations/agent-chat-message-context.js.map +1 -1
- package/dist/modules/agents/integrations/agent-chat-stream-consumer.d.ts +2 -0
- package/dist/modules/agents/integrations/agent-chat-stream-consumer.js +27 -12
- package/dist/modules/agents/integrations/agent-chat-stream-consumer.js.map +1 -1
- package/dist/modules/agents/integrations/agent-chat-suspension-cards.d.ts +7 -0
- package/dist/modules/agents/integrations/agent-chat-suspension-cards.js +1 -0
- package/dist/modules/agents/integrations/agent-chat-suspension-cards.js.map +1 -1
- package/dist/modules/agents/integrations/callback-store.d.ts +4 -1
- package/dist/modules/agents/integrations/callback-store.js +11 -3
- package/dist/modules/agents/integrations/callback-store.js.map +1 -1
- package/dist/modules/agents/integrations/chat-integration.service.d.ts +10 -4
- package/dist/modules/agents/integrations/chat-integration.service.js +108 -35
- package/dist/modules/agents/integrations/chat-integration.service.js.map +1 -1
- package/dist/modules/agents/integrations/integration-action-executor.d.ts +2 -0
- package/dist/modules/agents/integrations/integration-action-executor.js +52 -1
- package/dist/modules/agents/integrations/integration-action-executor.js.map +1 -1
- package/dist/modules/agents/integrations/integration-context-query-executor.js +2 -1
- package/dist/modules/agents/integrations/integration-context-query-executor.js.map +1 -1
- package/dist/modules/agents/integrations/integration-error-codes.d.ts +1 -0
- package/dist/modules/agents/integrations/integration-error-codes.js +1 -0
- package/dist/modules/agents/integrations/integration-error-codes.js.map +1 -1
- package/dist/modules/agents/integrations/integration-tool-definitions.js +20 -0
- package/dist/modules/agents/integrations/integration-tool-definitions.js.map +1 -1
- package/dist/modules/agents/integrations/integration-tool-descriptions.js +6 -0
- package/dist/modules/agents/integrations/integration-tool-descriptions.js.map +1 -1
- package/dist/modules/agents/integrations/integration-tool-execution.js +5 -0
- package/dist/modules/agents/integrations/integration-tool-execution.js.map +1 -1
- package/dist/modules/agents/integrations/integration-tool-factory.d.ts +7 -7
- package/dist/modules/agents/integrations/integration-tool-factory.js +1 -1
- package/dist/modules/agents/integrations/integration-tool-factory.js.map +1 -1
- package/dist/modules/agents/integrations/integration-tool-schema.d.ts +11 -8
- package/dist/modules/agents/integrations/integration-tool-schema.js +7 -7
- package/dist/modules/agents/integrations/integration-tool-schema.js.map +1 -1
- package/dist/modules/agents/integrations/integration-tool-types.d.ts +3 -1
- package/dist/modules/agents/integrations/n8n-checkpoint-storage.d.ts +8 -6
- package/dist/modules/agents/integrations/n8n-checkpoint-storage.js +39 -14
- package/dist/modules/agents/integrations/n8n-checkpoint-storage.js.map +1 -1
- package/dist/modules/agents/integrations/n8n-memory.js +2 -1
- package/dist/modules/agents/integrations/n8n-memory.js.map +1 -1
- package/dist/modules/agents/integrations/platforms/slack-bridge-behavior.d.ts +6 -1
- package/dist/modules/agents/integrations/platforms/slack-bridge-behavior.js +36 -24
- package/dist/modules/agents/integrations/platforms/slack-bridge-behavior.js.map +1 -1
- package/dist/modules/agents/integrations/platforms/slack-integration.d.ts +6 -1
- package/dist/modules/agents/integrations/platforms/slack-integration.js +3 -0
- package/dist/modules/agents/integrations/platforms/slack-integration.js.map +1 -1
- package/dist/modules/agents/integrations/platforms/slack-tool-definitions.d.ts +15 -2
- package/dist/modules/agents/integrations/platforms/slack-tool-definitions.js +9 -0
- package/dist/modules/agents/integrations/platforms/slack-tool-definitions.js.map +1 -1
- package/dist/modules/agents/integrations/platforms/telegram-integration.d.ts +4 -1
- package/dist/modules/agents/integrations/platforms/telegram-integration.js +22 -2
- package/dist/modules/agents/integrations/platforms/telegram-integration.js.map +1 -1
- package/dist/modules/agents/integrations/slack-app-setup.service.d.ts +1 -3
- package/dist/modules/agents/integrations/slack-app-setup.service.js +9 -10
- package/dist/modules/agents/integrations/slack-app-setup.service.js.map +1 -1
- package/dist/modules/agents/json-config/from-json-config.js +4 -3
- package/dist/modules/agents/json-config/from-json-config.js.map +1 -1
- package/dist/modules/agents/json-config/mcp-client-factory.d.ts +4 -0
- package/dist/modules/agents/json-config/mcp-client-factory.js +12 -0
- package/dist/modules/agents/json-config/mcp-client-factory.js.map +1 -1
- package/dist/modules/agents/json-config/model-config.d.ts +5 -2
- package/dist/modules/agents/json-config/model-config.js +15 -1
- package/dist/modules/agents/json-config/model-config.js.map +1 -1
- package/dist/modules/agents/json-config/sanitize-unknown-agent-credentials.js +22 -3
- package/dist/modules/agents/json-config/sanitize-unknown-agent-credentials.js.map +1 -1
- package/dist/modules/agents/register-blob-byte-stores.d.ts +8 -0
- package/dist/modules/agents/register-blob-byte-stores.js +21 -0
- package/dist/modules/agents/register-blob-byte-stores.js.map +1 -0
- package/dist/modules/agents/repositories/agent-chat-attachment.repository.d.ts +19 -0
- package/dist/modules/agents/repositories/agent-chat-attachment.repository.js +38 -0
- package/dist/modules/agents/repositories/agent-chat-attachment.repository.js.map +1 -0
- package/dist/modules/agents/repositories/agent-checkpoint.repository.d.ts +6 -1
- package/dist/modules/agents/repositories/agent-checkpoint.repository.js +22 -3
- package/dist/modules/agents/repositories/agent-checkpoint.repository.js.map +1 -1
- package/dist/modules/agents/repositories/agent.repository.d.ts +23 -1
- package/dist/modules/agents/repositories/agent.repository.js +85 -5
- package/dist/modules/agents/repositories/agent.repository.js.map +1 -1
- package/dist/modules/agents/sub-agents/delegate-sub-agent-tool.js +60 -1
- package/dist/modules/agents/sub-agents/delegate-sub-agent-tool.js.map +1 -1
- package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.d.ts +12 -3
- package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.js +124 -60
- package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.js.map +1 -1
- package/dist/modules/agents/tools/workflow-tool-factory.js +30 -1
- package/dist/modules/agents/tools/workflow-tool-factory.js.map +1 -1
- package/dist/modules/agents/utils/agent-capabilities.d.ts +14 -0
- package/dist/modules/agents/utils/agent-capabilities.js +35 -0
- package/dist/modules/agents/utils/agent-capabilities.js.map +1 -0
- package/dist/modules/agents/utils/agent-config-hash.d.ts +2 -0
- package/dist/modules/agents/utils/agent-config-hash.js +23 -0
- package/dist/modules/agents/utils/agent-config-hash.js.map +1 -0
- package/dist/modules/agents/utils/agent-execution-counter.d.ts +3 -1
- package/dist/modules/agents/utils/agent-execution-counter.js +4 -1
- package/dist/modules/agents/utils/agent-execution-counter.js.map +1 -1
- package/dist/modules/agents/utils/execution-to-message-mapper.d.ts +1 -1
- package/dist/modules/agents/utils/execution-to-message-mapper.js +33 -16
- package/dist/modules/agents/utils/execution-to-message-mapper.js.map +1 -1
- package/dist/modules/agents/utils/inbound-attachments.d.ts +4 -0
- package/dist/modules/agents/utils/inbound-attachments.js +50 -0
- package/dist/modules/agents/utils/inbound-attachments.js.map +1 -0
- package/dist/modules/agents/utils/messages-envelope.js +5 -1
- package/dist/modules/agents/utils/messages-envelope.js.map +1 -1
- package/dist/modules/breaking-changes/breaking-changes.controller.d.ts +5 -2
- package/dist/modules/breaking-changes/breaking-changes.controller.js +16 -2
- package/dist/modules/breaking-changes/breaking-changes.controller.js.map +1 -1
- package/dist/modules/breaking-changes/breaking-changes.migration-registry.service.d.ts +10 -0
- package/dist/modules/breaking-changes/breaking-changes.migration-registry.service.js +42 -0
- package/dist/modules/breaking-changes/breaking-changes.migration-registry.service.js.map +1 -0
- package/dist/modules/breaking-changes/breaking-changes.migration.service.d.ts +31 -0
- package/dist/modules/breaking-changes/breaking-changes.migration.service.js +120 -0
- package/dist/modules/breaking-changes/breaking-changes.migration.service.js.map +1 -0
- package/dist/modules/breaking-changes/breaking-changes.module.js +2 -0
- package/dist/modules/breaking-changes/breaking-changes.module.js.map +1 -1
- package/dist/modules/breaking-changes/breaking-changes.service.d.ts +3 -2
- package/dist/modules/breaking-changes/breaking-changes.service.js +9 -13
- package/dist/modules/breaking-changes/breaking-changes.service.js.map +1 -1
- package/dist/modules/breaking-changes/group-nodes-by-type.d.ts +2 -0
- package/dist/modules/breaking-changes/group-nodes-by-type.js +15 -0
- package/dist/modules/breaking-changes/group-nodes-by-type.js.map +1 -0
- package/dist/modules/breaking-changes/migrations/ai-transform-to-code.migration.d.ts +2 -0
- package/dist/modules/breaking-changes/migrations/ai-transform-to-code.migration.js +24 -0
- package/dist/modules/breaking-changes/migrations/ai-transform-to-code.migration.js.map +1 -0
- package/dist/modules/breaking-changes/migrations/index.d.ts +2 -0
- package/dist/modules/breaking-changes/migrations/index.js +6 -0
- package/dist/modules/breaking-changes/migrations/index.js.map +1 -0
- package/dist/modules/breaking-changes/migrations/node-migration.d.ts +10 -0
- package/dist/modules/breaking-changes/migrations/node-migration.js +3 -0
- package/dist/modules/breaking-changes/migrations/node-migration.js.map +1 -0
- package/dist/modules/breaking-changes/rules/index.d.ts +2 -0
- package/dist/modules/breaking-changes/rules/index.js +2 -0
- package/dist/modules/breaking-changes/rules/index.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v3/ai-transform-deprecated.rule.d.ts +11 -0
- package/dist/modules/breaking-changes/rules/v3/ai-transform-deprecated.rule.js +53 -0
- package/dist/modules/breaking-changes/rules/v3/ai-transform-deprecated.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v3/execute-workflow-source-modes.rule.d.ts +10 -0
- package/dist/modules/breaking-changes/rules/v3/execute-workflow-source-modes.rule.js +62 -0
- package/dist/modules/breaking-changes/rules/v3/execute-workflow-source-modes.rule.js.map +1 -0
- package/dist/modules/chat-hub/chat-hub-execution.service.js +2 -1
- package/dist/modules/chat-hub/chat-hub-execution.service.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.module.js +0 -3
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.module.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/services/credential-check-proxy.service.d.ts +4 -2
- package/dist/modules/dynamic-credentials.ee/services/credential-check-proxy.service.js +7 -4
- package/dist/modules/dynamic-credentials.ee/services/credential-check-proxy.service.js.map +1 -1
- package/dist/modules/external-secrets.ee/external-secrets-manager.ee.d.ts +2 -4
- package/dist/modules/external-secrets.ee/external-secrets-manager.ee.js +27 -20
- package/dist/modules/external-secrets.ee/external-secrets-manager.ee.js.map +1 -1
- package/dist/modules/external-secrets.ee/external-secrets-provider-connection-manager.ee.d.ts +24 -6
- package/dist/modules/external-secrets.ee/external-secrets-provider-connection-manager.ee.js +184 -43
- package/dist/modules/external-secrets.ee/external-secrets-provider-connection-manager.ee.js.map +1 -1
- package/dist/modules/insights/insights-collection.service.js +3 -0
- package/dist/modules/insights/insights-collection.service.js.map +1 -1
- package/dist/modules/insights/insights-compaction.service.js +2 -2
- package/dist/modules/insights/insights-compaction.service.js.map +1 -1
- package/dist/modules/instance-ai/eval/agent-execution.service.d.ts +1 -1
- package/dist/modules/instance-ai/eval/agent-execution.service.js +16 -7
- package/dist/modules/instance-ai/eval/agent-execution.service.js.map +1 -1
- package/dist/modules/instance-ai/eval/execution.service.d.ts +6 -1
- package/dist/modules/instance-ai/eval/execution.service.js +45 -3
- package/dist/modules/instance-ai/eval/execution.service.js.map +1 -1
- package/dist/modules/instance-ai/eval/ledger-snapshot.d.ts +1 -0
- package/dist/modules/instance-ai/eval/ledger-snapshot.js +11 -0
- package/dist/modules/instance-ai/eval/ledger-snapshot.js.map +1 -0
- package/dist/modules/instance-ai/eval/llm-wire-server.js +26 -2
- package/dist/modules/instance-ai/eval/llm-wire-server.js.map +1 -1
- package/dist/modules/instance-ai/eval/mock-handler.d.ts +3 -1
- package/dist/modules/instance-ai/eval/mock-handler.js +60 -2
- package/dist/modules/instance-ai/eval/mock-handler.js.map +1 -1
- package/dist/modules/instance-ai/eval/mock-quirks.js +5 -4
- package/dist/modules/instance-ai/eval/mock-quirks.js.map +1 -1
- package/dist/modules/instance-ai/eval/openai-responses-envelope.js +11 -2
- package/dist/modules/instance-ai/eval/openai-responses-envelope.js.map +1 -1
- package/dist/modules/instance-ai/eval/pin-data-generator.d.ts +2 -1
- package/dist/modules/instance-ai/eval/pin-data-generator.js +28 -12
- package/dist/modules/instance-ai/eval/pin-data-generator.js.map +1 -1
- package/dist/modules/instance-ai/eval/provider-shapes.js +101 -8
- package/dist/modules/instance-ai/eval/provider-shapes.js.map +1 -1
- package/dist/modules/instance-ai/eval/thread-credential-allowlist.service.d.ts +3 -1
- package/dist/modules/instance-ai/eval/thread-credential-allowlist.service.js +8 -1
- package/dist/modules/instance-ai/eval/thread-credential-allowlist.service.js.map +1 -1
- package/dist/modules/instance-ai/eval/workflow-analysis.d.ts +2 -0
- package/dist/modules/instance-ai/eval/workflow-analysis.js +9 -0
- package/dist/modules/instance-ai/eval/workflow-analysis.js.map +1 -1
- package/dist/modules/instance-ai/event-bus/interrupted-run-sweeper.js +3 -1
- package/dist/modules/instance-ai/event-bus/interrupted-run-sweeper.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai-credit.service.js +2 -1
- package/dist/modules/instance-ai/instance-ai-credit.service.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai-error-reporter.service.d.ts +9 -2
- package/dist/modules/instance-ai/instance-ai-error-reporter.service.js +25 -11
- package/dist/modules/instance-ai/instance-ai-error-reporter.service.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.adapter.service.d.ts +1 -1
- package/dist/modules/instance-ai/instance-ai.adapter.service.js +33 -21
- package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.controller.js +1 -1
- package/dist/modules/instance-ai/instance-ai.controller.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.service.js +160 -38
- package/dist/modules/instance-ai/instance-ai.service.js.map +1 -1
- package/dist/modules/instance-ai/node-definition-resolver.js +1 -5
- package/dist/modules/instance-ai/node-definition-resolver.js.map +1 -1
- package/dist/modules/instance-ai/repositories/instance-ai-checkpoint.repository.d.ts +2 -0
- package/dist/modules/instance-ai/repositories/instance-ai-checkpoint.repository.js +20 -0
- package/dist/modules/instance-ai/repositories/instance-ai-checkpoint.repository.js.map +1 -1
- package/dist/modules/instance-ai/sandbox/instance-ai-sandbox.service.js +5 -1
- package/dist/modules/instance-ai/sandbox/instance-ai-sandbox.service.js.map +1 -1
- package/dist/modules/instance-ai/storage/typeorm-agent-checkpoint-store.d.ts +1 -0
- package/dist/modules/instance-ai/storage/typeorm-agent-checkpoint-store.js +3 -0
- package/dist/modules/instance-ai/storage/typeorm-agent-checkpoint-store.js.map +1 -1
- package/dist/modules/instance-ai/tracing/instance-ai-tracing.service.d.ts +2 -0
- package/dist/modules/instance-ai/tracing/instance-ai-tracing.service.js +7 -2
- package/dist/modules/instance-ai/tracing/instance-ai-tracing.service.js.map +1 -1
- package/dist/modules/ldap.ee/helpers.ee.d.ts +2 -1
- package/dist/modules/ldap.ee/helpers.ee.js +11 -2
- package/dist/modules/ldap.ee/helpers.ee.js.map +1 -1
- package/dist/modules/ldap.ee/ldap.errors.d.ts +5 -0
- package/dist/modules/ldap.ee/ldap.errors.js +11 -0
- package/dist/modules/ldap.ee/ldap.errors.js.map +1 -0
- package/dist/modules/ldap.ee/ldap.service.ee.d.ts +2 -2
- package/dist/modules/ldap.ee/ldap.service.ee.js +29 -7
- package/dist/modules/ldap.ee/ldap.service.ee.js.map +1 -1
- package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-webhook.ee.d.ts +1 -1
- package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-webhook.ee.js +10 -2
- package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-webhook.ee.js.map +1 -1
- package/dist/modules/mcp/mcp-protected-resource.d.ts +4 -2
- package/dist/modules/mcp/mcp-protected-resource.js +17 -5
- package/dist/modules/mcp/mcp-protected-resource.js.map +1 -1
- package/dist/modules/mcp/mcp-scopes.d.ts +1 -0
- package/dist/modules/mcp/mcp-scopes.js +35 -7
- package/dist/modules/mcp/mcp-scopes.js.map +1 -1
- package/dist/modules/mcp/mcp-tool-availability.d.ts +3 -0
- package/dist/modules/mcp/mcp-tool-availability.js +7 -0
- package/dist/modules/mcp/mcp-tool-availability.js.map +1 -0
- package/dist/modules/mcp/mcp.constants.d.ts +1 -0
- package/dist/modules/mcp/mcp.constants.js +2 -1
- package/dist/modules/mcp/mcp.constants.js.map +1 -1
- package/dist/modules/mcp/mcp.controller.d.ts +1 -1
- package/dist/modules/mcp/mcp.controller.js +10 -18
- package/dist/modules/mcp/mcp.controller.js.map +1 -1
- package/dist/modules/mcp/mcp.service.d.ts +6 -2
- package/dist/modules/mcp/mcp.service.js +72 -4
- package/dist/modules/mcp/mcp.service.js.map +1 -1
- package/dist/modules/mcp/mcp.settings.controller.d.ts +4 -2
- package/dist/modules/mcp/mcp.settings.controller.js +6 -3
- package/dist/modules/mcp/mcp.settings.controller.js.map +1 -1
- package/dist/modules/mcp/mcp.types.d.ts +2 -1
- package/dist/modules/mcp/mcp.types.js.map +1 -1
- package/dist/modules/mcp/tools/agents/agent-reference.d.ts +9 -0
- package/dist/modules/mcp/tools/agents/agent-reference.js +169 -0
- package/dist/modules/mcp/tools/agents/agent-reference.js.map +1 -0
- package/dist/modules/mcp/tools/agents/agent-tools.service.d.ts +87 -0
- package/dist/modules/mcp/tools/agents/agent-tools.service.js +1157 -0
- package/dist/modules/mcp/tools/agents/agent-tools.service.js.map +1 -0
- package/dist/modules/mcp/tools/get-execution.tool.js +4 -4
- package/dist/modules/mcp/tools/get-execution.tool.js.map +1 -1
- package/dist/modules/mcp/tools/get-workflow-details.tool.d.ts +1 -1
- package/dist/modules/mcp/tools/get-workflow-details.tool.js +7 -4
- package/dist/modules/mcp/tools/get-workflow-details.tool.js.map +1 -1
- package/dist/modules/mcp/tools/get-workflow-version.tool.js +1 -1
- package/dist/modules/mcp/tools/get-workflow-version.tool.js.map +1 -1
- package/dist/modules/mcp/tools/list-credentials.tool.js +1 -1
- package/dist/modules/mcp/tools/list-credentials.tool.js.map +1 -1
- package/dist/modules/mcp/tools/list-tags.tool.js +3 -3
- package/dist/modules/mcp/tools/list-tags.tool.js.map +1 -1
- package/dist/modules/mcp/tools/prepare-workflow-pin-data.tool.js +3 -3
- package/dist/modules/mcp/tools/prepare-workflow-pin-data.tool.js.map +1 -1
- package/dist/modules/mcp/tools/publish-workflow.tool.js +14 -2
- package/dist/modules/mcp/tools/publish-workflow.tool.js.map +1 -1
- package/dist/modules/mcp/tools/schemas.d.ts +381 -0
- package/dist/modules/mcp/tools/schemas.js +25 -1
- package/dist/modules/mcp/tools/schemas.js.map +1 -1
- package/dist/modules/mcp/tools/search-executions.tool.js +3 -3
- package/dist/modules/mcp/tools/search-executions.tool.js.map +1 -1
- package/dist/modules/mcp/tools/search-projects.tool.js +1 -1
- package/dist/modules/mcp/tools/search-projects.tool.js.map +1 -1
- package/dist/modules/mcp/tools/test-workflow.tool.js +2 -2
- package/dist/modules/mcp/tools/test-workflow.tool.js.map +1 -1
- package/dist/modules/mcp/tools/webhook-utils.d.ts +1 -1
- package/dist/modules/mcp/tools/webhook-utils.js +5 -1
- package/dist/modules/mcp/tools/webhook-utils.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js +12 -1
- package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/credentials-auto-assign.js +55 -29
- package/dist/modules/mcp/tools/workflow-builder/credentials-auto-assign.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-best-practices.tool.js +1 -1
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-best-practices.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-node-types.tool.js +1 -1
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-node-types.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-sdk-reference.tool.js +1 -1
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-sdk-reference.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/mcp-instructions.d.ts +1 -0
- package/dist/modules/mcp/tools/workflow-builder/mcp-instructions.js +27 -3
- package/dist/modules/mcp/tools/workflow-builder/mcp-instructions.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/search-workflow-nodes.tool.d.ts +10 -1
- package/dist/modules/mcp/tools/workflow-builder/search-workflow-nodes.tool.js +14 -4
- package/dist/modules/mcp/tools/workflow-builder/search-workflow-nodes.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js +119 -15
- package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.js +1 -1
- package/dist/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/workflow-operations.d.ts +15 -1
- package/dist/modules/mcp/tools/workflow-builder/workflow-operations.js +46 -18
- package/dist/modules/mcp/tools/workflow-builder/workflow-operations.js.map +1 -1
- package/dist/modules/mcp-registry/registry/mcp-registry-search.d.ts +1 -0
- package/dist/modules/mcp-registry/registry/mcp-registry-search.js +8 -6
- package/dist/modules/mcp-registry/registry/mcp-registry-search.js.map +1 -1
- package/dist/modules/mcp-registry/registry/mcp-registry.service.d.ts +1 -0
- package/dist/modules/mcp-registry/registry/mcp-registry.service.js +3 -0
- package/dist/modules/mcp-registry/registry/mcp-registry.service.js.map +1 -1
- package/dist/modules/n8n-packages/engine/import-blocked.error.js +3 -1
- package/dist/modules/n8n-packages/engine/import-blocked.error.js.map +1 -1
- package/dist/modules/n8n-packages/engine/import-gates.d.ts +11 -0
- package/dist/modules/n8n-packages/engine/import-gates.js +34 -0
- package/dist/modules/n8n-packages/engine/import-gates.js.map +1 -0
- package/dist/modules/n8n-packages/engine/import-orchestrator.d.ts +17 -8
- package/dist/modules/n8n-packages/engine/import-orchestrator.js +42 -24
- package/dist/modules/n8n-packages/engine/import-orchestrator.js.map +1 -1
- package/dist/modules/n8n-packages/engine/import-result.d.ts +16 -4
- package/dist/modules/n8n-packages/engine/import-result.js +56 -20
- package/dist/modules/n8n-packages/engine/import-result.js.map +1 -1
- package/dist/modules/n8n-packages/engine/import-telemetry.d.ts +4 -2
- package/dist/modules/n8n-packages/engine/import-telemetry.js +25 -5
- package/dist/modules/n8n-packages/engine/import-telemetry.js.map +1 -1
- package/dist/modules/n8n-packages/engine/n8n-package-parser.js +4 -0
- package/dist/modules/n8n-packages/engine/n8n-package-parser.js.map +1 -1
- package/dist/modules/n8n-packages/engine/package-layout.d.ts +1 -0
- package/dist/modules/n8n-packages/engine/package-layout.js +9 -0
- package/dist/modules/n8n-packages/engine/package-layout.js.map +1 -1
- package/dist/modules/n8n-packages/engine/project-package-importer.d.ts +3 -1
- package/dist/modules/n8n-packages/engine/project-package-importer.js +68 -25
- package/dist/modules/n8n-packages/engine/project-package-importer.js.map +1 -1
- package/dist/modules/n8n-packages/engine/workflow-package-importer.d.ts +3 -1
- package/dist/modules/n8n-packages/engine/workflow-package-importer.js +54 -16
- package/dist/modules/n8n-packages/engine/workflow-package-importer.js.map +1 -1
- package/dist/modules/n8n-packages/entities/folder/folder.exporter.d.ts +1 -0
- package/dist/modules/n8n-packages/entities/folder/folder.exporter.js +1 -0
- package/dist/modules/n8n-packages/entities/folder/folder.exporter.js.map +1 -1
- package/dist/modules/n8n-packages/entities/project/project-import.types.d.ts +2 -0
- package/dist/modules/n8n-packages/entities/project/project-importer.js +9 -1
- package/dist/modules/n8n-packages/entities/project/project-importer.js.map +1 -1
- package/dist/modules/n8n-packages/entities/project/project.exporter.d.ts +1 -0
- package/dist/modules/n8n-packages/entities/project/project.exporter.js +2 -0
- package/dist/modules/n8n-packages/entities/project/project.exporter.js.map +1 -1
- package/dist/modules/n8n-packages/entities/project/project.serializer.js +3 -0
- package/dist/modules/n8n-packages/entities/project/project.serializer.js.map +1 -1
- package/dist/modules/n8n-packages/entities/reference.d.ts +6 -0
- package/dist/modules/n8n-packages/entities/reference.js +3 -0
- package/dist/modules/n8n-packages/entities/reference.js.map +1 -0
- package/dist/modules/n8n-packages/entities/requirements.types.d.ts +2 -0
- package/dist/modules/n8n-packages/entities/requirements.types.js +1 -0
- package/dist/modules/n8n-packages/entities/requirements.types.js.map +1 -1
- package/dist/modules/n8n-packages/entities/tag/tag-import-decision.d.ts +24 -0
- package/dist/modules/n8n-packages/entities/tag/tag-import-decision.js +69 -0
- package/dist/modules/n8n-packages/entities/tag/tag-import-decision.js.map +1 -0
- package/dist/modules/n8n-packages/entities/tag/tag-importer.d.ts +14 -0
- package/dist/modules/n8n-packages/entities/tag/tag-importer.js +142 -0
- package/dist/modules/n8n-packages/entities/tag/tag-importer.js.map +1 -0
- package/dist/modules/n8n-packages/entities/tag/tag-requirements.extractor.d.ts +6 -0
- package/dist/modules/n8n-packages/entities/tag/tag-requirements.extractor.js +23 -0
- package/dist/modules/n8n-packages/entities/tag/tag-requirements.extractor.js.map +1 -0
- package/dist/modules/n8n-packages/entities/tag/tag.exporter.d.ts +15 -0
- package/dist/modules/n8n-packages/entities/tag/tag.exporter.js +45 -0
- package/dist/modules/n8n-packages/entities/tag/tag.exporter.js.map +1 -0
- package/dist/modules/n8n-packages/entities/tag/tag.types.d.ts +48 -0
- package/dist/modules/n8n-packages/entities/tag/tag.types.js +10 -0
- package/dist/modules/n8n-packages/entities/tag/tag.types.js.map +1 -0
- package/dist/modules/n8n-packages/entities/variable/variable-importer.d.ts +8 -2
- package/dist/modules/n8n-packages/entities/variable/variable-importer.js +82 -6
- package/dist/modules/n8n-packages/entities/variable/variable-importer.js.map +1 -1
- package/dist/modules/n8n-packages/entities/variable/variable-missing-mode.d.ts +1 -0
- package/dist/modules/n8n-packages/entities/variable/variable-missing-mode.js +9 -4
- package/dist/modules/n8n-packages/entities/variable/variable-missing-mode.js.map +1 -1
- package/dist/modules/n8n-packages/entities/variable/variable.types.d.ts +31 -1
- package/dist/modules/n8n-packages/entities/variable/variable.types.js +36 -0
- package/dist/modules/n8n-packages/entities/variable/variable.types.js.map +1 -1
- package/dist/modules/n8n-packages/entities/workflow/auto-included-workflow-resolver.d.ts +1 -0
- package/dist/modules/n8n-packages/entities/workflow/auto-included-workflow-resolver.js +4 -3
- package/dist/modules/n8n-packages/entities/workflow/auto-included-workflow-resolver.js.map +1 -1
- package/dist/modules/n8n-packages/entities/workflow/auto-included-workflow.exporter.d.ts +4 -1
- package/dist/modules/n8n-packages/entities/workflow/auto-included-workflow.exporter.js +10 -6
- package/dist/modules/n8n-packages/entities/workflow/auto-included-workflow.exporter.js.map +1 -1
- package/dist/modules/n8n-packages/entities/workflow/references/caller-ids.reference.d.ts +3 -0
- package/dist/modules/n8n-packages/entities/workflow/references/caller-ids.reference.js +20 -0
- package/dist/modules/n8n-packages/entities/workflow/references/caller-ids.reference.js.map +1 -0
- package/dist/modules/n8n-packages/entities/workflow/references/error-workflow.reference.d.ts +3 -0
- package/dist/modules/n8n-packages/entities/workflow/references/error-workflow.reference.js +25 -0
- package/dist/modules/n8n-packages/entities/workflow/references/error-workflow.reference.js.map +1 -0
- package/dist/modules/n8n-packages/entities/workflow/references/extract-workflow-requirements.d.ts +3 -0
- package/dist/modules/n8n-packages/entities/workflow/references/extract-workflow-requirements.js +16 -0
- package/dist/modules/n8n-packages/entities/workflow/references/extract-workflow-requirements.js.map +1 -0
- package/dist/modules/n8n-packages/entities/workflow/references/sub-workflow-node.reference.d.ts +6 -0
- package/dist/modules/n8n-packages/entities/workflow/references/sub-workflow-node.reference.js +55 -0
- package/dist/modules/n8n-packages/entities/workflow/references/sub-workflow-node.reference.js.map +1 -0
- package/dist/modules/n8n-packages/entities/workflow/references/workflow-references.d.ts +3 -0
- package/dist/modules/n8n-packages/entities/workflow/references/workflow-references.js +12 -0
- package/dist/modules/n8n-packages/entities/workflow/references/workflow-references.js.map +1 -0
- package/dist/modules/n8n-packages/entities/workflow/sub-workflow-ordering.d.ts +4 -0
- package/dist/modules/n8n-packages/entities/workflow/sub-workflow-ordering.js +45 -0
- package/dist/modules/n8n-packages/entities/workflow/sub-workflow-ordering.js.map +1 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-dependency-resolver.d.ts +2 -3
- package/dist/modules/n8n-packages/entities/workflow/workflow-dependency-resolver.js +7 -5
- package/dist/modules/n8n-packages/entities/workflow/workflow-dependency-resolver.js.map +1 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow-import.types.d.ts +14 -3
- package/dist/modules/n8n-packages/entities/workflow/workflow-importer.d.ts +5 -6
- package/dist/modules/n8n-packages/entities/workflow/workflow-importer.js +25 -19
- package/dist/modules/n8n-packages/entities/workflow/workflow-importer.js.map +1 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow-publisher.d.ts +11 -2
- package/dist/modules/n8n-packages/entities/workflow/workflow-publisher.js +17 -2
- package/dist/modules/n8n-packages/entities/workflow/workflow-publisher.js.map +1 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow-requirement.exporter.d.ts +7 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow-requirement.exporter.js +28 -7
- package/dist/modules/n8n-packages/entities/workflow/workflow-requirement.exporter.js.map +1 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow.exporter.d.ts +4 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow.exporter.js +11 -5
- package/dist/modules/n8n-packages/entities/workflow/workflow.exporter.js.map +1 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow.serializer.d.ts +3 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow.serializer.js +6 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow.serializer.js.map +1 -1
- package/dist/modules/n8n-packages/n8n-packages.service.d.ts +5 -1
- package/dist/modules/n8n-packages/n8n-packages.service.js +32 -9
- package/dist/modules/n8n-packages/n8n-packages.service.js.map +1 -1
- package/dist/modules/n8n-packages/n8n-packages.types.d.ts +49 -4
- package/dist/modules/n8n-packages/n8n-packages.types.js +15 -1
- package/dist/modules/n8n-packages/n8n-packages.types.js.map +1 -1
- package/dist/modules/n8n-packages/spec/manifest.schema.d.ts +95 -11
- package/dist/modules/n8n-packages/spec/manifest.schema.js +2 -0
- package/dist/modules/n8n-packages/spec/manifest.schema.js.map +1 -1
- package/dist/modules/n8n-packages/spec/requirements.schema.d.ts +52 -7
- package/dist/modules/n8n-packages/spec/requirements.schema.js +10 -1
- package/dist/modules/n8n-packages/spec/requirements.schema.js.map +1 -1
- package/dist/modules/n8n-packages/spec/serialized/project.schema.d.ts +18 -0
- package/dist/modules/n8n-packages/spec/serialized/project.schema.js +5 -0
- package/dist/modules/n8n-packages/spec/serialized/project.schema.js.map +1 -1
- package/dist/modules/n8n-packages/spec/serialized/tag.schema.d.ts +12 -0
- package/dist/modules/n8n-packages/spec/serialized/tag.schema.js +11 -0
- package/dist/modules/n8n-packages/spec/serialized/tag.schema.js.map +1 -0
- package/dist/modules/n8n-packages/spec/serialized/workflow.schema.d.ts +3 -0
- package/dist/modules/n8n-packages/spec/serialized/workflow.schema.js +1 -0
- package/dist/modules/n8n-packages/spec/serialized/workflow.schema.js.map +1 -1
- package/dist/modules/oauth-server/database/entities/oauth-client.entity.d.ts +1 -0
- package/dist/modules/oauth-server/database/entities/oauth-client.entity.js +4 -0
- package/dist/modules/oauth-server/database/entities/oauth-client.entity.js.map +1 -1
- package/dist/modules/oauth-server/database/repositories/oauth-user-consent.repository.d.ts +1 -0
- package/dist/modules/oauth-server/database/repositories/oauth-user-consent.repository.js +13 -1
- package/dist/modules/oauth-server/database/repositories/oauth-user-consent.repository.js.map +1 -1
- package/dist/modules/oauth-server/oauth-flow.service.d.ts +17 -0
- package/dist/modules/oauth-server/oauth-flow.service.js +100 -0
- package/dist/modules/oauth-server/oauth-flow.service.js.map +1 -0
- package/dist/modules/oauth-server/oauth-server.module.js +5 -5
- package/dist/modules/oauth-server/oauth-server.module.js.map +1 -1
- package/dist/modules/oauth-server/oauth-server.service.d.ts +8 -2
- package/dist/modules/oauth-server/oauth-server.service.js +64 -11
- package/dist/modules/oauth-server/oauth-server.service.js.map +1 -1
- package/dist/modules/oauth-server/oauth.controller.js +3 -1
- package/dist/modules/oauth-server/oauth.controller.js.map +1 -1
- package/dist/modules/oauth-server/protected-resource-resolvers/form-trigger-resource.resolver.d.ts +38 -0
- package/dist/modules/oauth-server/protected-resource-resolvers/form-trigger-resource.resolver.js +95 -0
- package/dist/modules/oauth-server/protected-resource-resolvers/form-trigger-resource.resolver.js.map +1 -0
- package/dist/modules/oauth-server/protected-resource-resolvers/form-trigger-test-resource.resolver.d.ts +37 -0
- package/dist/modules/oauth-server/protected-resource-resolvers/form-trigger-test-resource.resolver.js +88 -0
- package/dist/modules/oauth-server/protected-resource-resolvers/form-trigger-test-resource.resolver.js.map +1 -0
- package/dist/modules/oauth-server/protected-resource-resolvers/index.d.ts +1 -0
- package/dist/modules/oauth-server/protected-resource-resolvers/index.js +20 -0
- package/dist/modules/oauth-server/protected-resource-resolvers/index.js.map +1 -0
- package/dist/modules/oauth-server/protected-resource-resolvers/utils.d.ts +5 -0
- package/dist/modules/oauth-server/protected-resource-resolvers/utils.js +16 -1
- package/dist/modules/oauth-server/protected-resource-resolvers/utils.js.map +1 -1
- package/dist/modules/oauth-server/protected-resource-resolvers/workflow-webhook-test-trigger-resource.resolver.d.ts +19 -0
- package/dist/modules/oauth-server/protected-resource-resolvers/workflow-webhook-test-trigger-resource.resolver.js +107 -0
- package/dist/modules/oauth-server/protected-resource-resolvers/workflow-webhook-test-trigger-resource.resolver.js.map +1 -0
- package/dist/modules/oauth-server/protected-resource-resolvers/workflow-webhook-trigger-resource.resolver.d.ts +21 -0
- package/dist/modules/oauth-server/protected-resource-resolvers/workflow-webhook-trigger-resource.resolver.js +109 -0
- package/dist/modules/oauth-server/protected-resource-resolvers/workflow-webhook-trigger-resource.resolver.js.map +1 -0
- package/dist/modules/otel/otel-lifecycle-handler.d.ts +0 -1
- package/dist/modules/otel/otel-lifecycle-handler.js +1 -4
- package/dist/modules/otel/otel-lifecycle-handler.js.map +1 -1
- package/dist/modules/provisioning.ee/provisioning.service.ee.d.ts +4 -0
- package/dist/modules/provisioning.ee/provisioning.service.ee.js +102 -20
- package/dist/modules/provisioning.ee/provisioning.service.ee.js.map +1 -1
- package/dist/modules/provisioning.ee/role-deletion-checker.ee.d.ts +3 -1
- package/dist/modules/provisioning.ee/role-deletion-checker.ee.js +13 -5
- package/dist/modules/provisioning.ee/role-deletion-checker.ee.js.map +1 -1
- package/dist/modules/source-control.ee/source-control-import.service.ee.d.ts +7 -1
- package/dist/modules/source-control.ee/source-control-import.service.ee.js +33 -7
- 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 +8 -0
- package/dist/modules/source-control.ee/source-control.service.ee.d.ts +4 -0
- package/dist/modules/source-control.ee/source-control.service.ee.js +5 -2
- package/dist/modules/source-control.ee/source-control.service.ee.js.map +1 -1
- package/dist/modules/source-control.ee/types/import-result.d.ts +2 -0
- package/dist/modules/sso-oidc/constants.d.ts +2 -0
- package/dist/modules/sso-oidc/constants.js +3 -1
- package/dist/modules/sso-oidc/constants.js.map +1 -1
- package/dist/modules/sso-oidc/oidc.controller.ee.d.ts +4 -1
- package/dist/modules/sso-oidc/oidc.controller.ee.js +54 -1
- package/dist/modules/sso-oidc/oidc.controller.ee.js.map +1 -1
- package/dist/modules/sso-oidc/oidc.service.ee.d.ts +9 -2
- package/dist/modules/sso-oidc/oidc.service.ee.js +44 -15
- package/dist/modules/sso-oidc/oidc.service.ee.js.map +1 -1
- package/dist/modules/sso-saml/saml-helpers.js +2 -3
- package/dist/modules/sso-saml/saml-helpers.js.map +1 -1
- package/dist/modules/sso-saml/saml.service.ee.js +2 -3
- package/dist/modules/sso-saml/saml.service.ee.js.map +1 -1
- package/dist/modules/workflow-reviews.ee/workflow-review-feature-gate.service.d.ts +10 -0
- package/dist/modules/workflow-reviews.ee/workflow-review-feature-gate.service.js +54 -0
- package/dist/modules/workflow-reviews.ee/workflow-review-feature-gate.service.js.map +1 -0
- package/dist/modules/workflow-reviews.ee/workflow-review-inbox.service.d.ts +31 -0
- package/dist/modules/workflow-reviews.ee/workflow-review-inbox.service.js +219 -0
- package/dist/modules/workflow-reviews.ee/workflow-review-inbox.service.js.map +1 -0
- package/dist/modules/workflow-reviews.ee/workflow-review-publish-guard.service.d.ts +9 -0
- package/dist/modules/workflow-reviews.ee/workflow-review-publish-guard.service.js +40 -0
- package/dist/modules/workflow-reviews.ee/workflow-review-publish-guard.service.js.map +1 -0
- package/dist/modules/workflow-reviews.ee/workflow-review-request.service.d.ts +19 -18
- package/dist/modules/workflow-reviews.ee/workflow-review-request.service.js +163 -155
- package/dist/modules/workflow-reviews.ee/workflow-review-request.service.js.map +1 -1
- package/dist/modules/workflow-reviews.ee/workflow-review-requests.controller.d.ts +6 -2
- package/dist/modules/workflow-reviews.ee/workflow-review-requests.controller.js +29 -4
- package/dist/modules/workflow-reviews.ee/workflow-review-requests.controller.js.map +1 -1
- package/dist/modules/workflow-reviews.ee/workflow-review.mapper.d.ts +3 -0
- package/dist/modules/workflow-reviews.ee/workflow-review.mapper.js +12 -0
- package/dist/modules/workflow-reviews.ee/workflow-review.mapper.js.map +1 -0
- package/dist/modules/workflow-reviews.ee/workflow-reviews.module.js +4 -0
- package/dist/modules/workflow-reviews.ee/workflow-reviews.module.js.map +1 -1
- package/dist/node-catalog/node-catalog.service.d.ts +1 -0
- package/dist/node-catalog/node-catalog.service.js +11 -3
- package/dist/node-catalog/node-catalog.service.js.map +1 -1
- package/dist/node-execution/ephemeral-node-executor.js.map +1 -1
- package/dist/permissions.ee/project-scope.service.d.ts +9 -0
- package/dist/permissions.ee/project-scope.service.js +34 -0
- package/dist/permissions.ee/project-scope.service.js.map +1 -0
- package/dist/public-api/types.d.ts +11 -1
- package/dist/public-api/v1/handlers/ldap/ldap.handler.d.ts +10 -0
- package/dist/public-api/v1/handlers/ldap/ldap.handler.js +76 -0
- package/dist/public-api/v1/handlers/ldap/ldap.handler.js.map +1 -0
- package/dist/public-api/v1/handlers/ldap/ldap.mapper.d.ts +17 -0
- package/dist/public-api/v1/handlers/ldap/ldap.mapper.js +35 -0
- package/dist/public-api/v1/handlers/ldap/ldap.mapper.js.map +1 -0
- package/dist/public-api/v1/handlers/n8n-packages/n8n-packages.handler.d.ts +1 -0
- package/dist/public-api/v1/handlers/n8n-packages/n8n-packages.handler.js +4 -0
- package/dist/public-api/v1/handlers/n8n-packages/n8n-packages.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/sso-oidc/sso-oidc.handler.d.ts +8 -0
- package/dist/public-api/v1/handlers/sso-oidc/sso-oidc.handler.js +38 -0
- package/dist/public-api/v1/handlers/sso-oidc/sso-oidc.handler.js.map +1 -0
- package/dist/public-api/v1/handlers/sso-oidc/sso-oidc.mapper.d.ts +5 -0
- package/dist/public-api/v1/handlers/sso-oidc/sso-oidc.mapper.js +12 -0
- package/dist/public-api/v1/handlers/sso-oidc/sso-oidc.mapper.js.map +1 -0
- package/dist/public-api/v1/openapi.yml +789 -9
- package/dist/push/index.js +1 -1
- package/dist/push/index.js.map +1 -1
- package/dist/push/origin-validator.d.ts +2 -1
- package/dist/push/origin-validator.js +15 -2
- package/dist/push/origin-validator.js.map +1 -1
- package/dist/push/sse.push.js +2 -0
- package/dist/push/sse.push.js.map +1 -1
- package/dist/scaling/job-processor.d.ts +3 -2
- package/dist/scaling/job-processor.js +17 -14
- package/dist/scaling/job-processor.js.map +1 -1
- package/dist/scaling/scaling.service.d.ts +3 -2
- package/dist/scaling/scaling.service.js +19 -16
- package/dist/scaling/scaling.service.js.map +1 -1
- package/dist/scaling/webhook-response-relay.d.ts +34 -0
- package/dist/scaling/webhook-response-relay.js +323 -0
- package/dist/scaling/webhook-response-relay.js.map +1 -0
- package/dist/scheduling/durable-job-provisioner.d.ts +2 -1
- package/dist/scheduling/durable-job-provisioner.js +21 -3
- package/dist/scheduling/durable-job-provisioner.js.map +1 -1
- package/dist/scheduling/durable-scheduler.js +22 -0
- package/dist/scheduling/durable-scheduler.js.map +1 -1
- package/dist/scheduling/poll-trigger-node/poll-trigger-job-registrar.js +2 -1
- package/dist/scheduling/poll-trigger-node/poll-trigger-job-registrar.js.map +1 -1
- package/dist/scheduling/schedule-trigger-node/schedule-trigger-job-registrar.js +11 -4
- package/dist/scheduling/schedule-trigger-node/schedule-trigger-job-registrar.js.map +1 -1
- package/dist/security-audit/security-audit.service.js +1 -1
- package/dist/security-audit/security-audit.service.js.map +1 -1
- package/dist/services/ai-gateway.service.d.ts +3 -0
- package/dist/services/ai-gateway.service.js +16 -0
- package/dist/services/ai-gateway.service.js.map +1 -1
- package/dist/services/credentials-tester.service.d.ts +7 -0
- package/dist/services/credentials-tester.service.js +69 -9
- package/dist/services/credentials-tester.service.js.map +1 -1
- package/dist/services/frontend.service.js +14 -0
- package/dist/services/frontend.service.js.map +1 -1
- package/dist/services/oauth2-flow-proxy.service.d.ts +11 -0
- package/dist/services/oauth2-flow-proxy.service.js +34 -0
- package/dist/services/oauth2-flow-proxy.service.js.map +1 -0
- package/dist/services/ownership-transfer/ownership-transfer.manifest.json +5 -0
- package/dist/services/project.service.ee.d.ts +5 -0
- package/dist/services/project.service.ee.js +15 -1
- package/dist/services/project.service.ee.js.map +1 -1
- package/dist/services/protected-resource.registry.d.ts +2 -1
- package/dist/services/protected-resource.registry.js +7 -2
- package/dist/services/protected-resource.registry.js.map +1 -1
- package/dist/services/pruning/workflow-history-compaction.service.js +3 -2
- package/dist/services/pruning/workflow-history-compaction.service.js.map +1 -1
- package/dist/services/tag.service.d.ts +2 -1
- package/dist/services/tag.service.js +14 -31
- package/dist/services/tag.service.js.map +1 -1
- package/dist/sso.ee/sso-helpers.d.ts +1 -0
- package/dist/sso.ee/sso-helpers.js +8 -0
- package/dist/sso.ee/sso-helpers.js.map +1 -1
- package/dist/task-runners/errors/task-request-timeout.error.d.ts +2 -2
- package/dist/task-runners/errors/task-request-timeout.error.js +3 -3
- package/dist/task-runners/errors/task-request-timeout.error.js.map +1 -1
- package/dist/task-runners/task-broker/errors/task-requester-accept-timeout.error.d.ts +4 -0
- package/dist/task-runners/task-broker/errors/task-requester-accept-timeout.error.js +11 -0
- package/dist/task-runners/task-broker/errors/task-requester-accept-timeout.error.js.map +1 -0
- package/dist/task-runners/task-broker/errors/task-runner-unreachable.error.d.ts +4 -0
- package/dist/task-runners/task-broker/errors/task-runner-unreachable.error.js +11 -0
- package/dist/task-runners/task-broker/errors/task-runner-unreachable.error.js.map +1 -0
- package/dist/task-runners/task-broker/task-broker-ws-server.d.ts +9 -1
- package/dist/task-runners/task-broker/task-broker-ws-server.js +61 -32
- package/dist/task-runners/task-broker/task-broker-ws-server.js.map +1 -1
- package/dist/task-runners/task-broker/task-broker.service.d.ts +18 -1
- package/dist/task-runners/task-broker/task-broker.service.js +134 -63
- package/dist/task-runners/task-broker/task-broker.service.js.map +1 -1
- package/dist/task-runners/task-managers/task-requester.d.ts +1 -0
- package/dist/task-runners/task-managers/task-requester.js +4 -1
- package/dist/task-runners/task-managers/task-requester.js.map +1 -1
- package/dist/task-runners/task-runner-module.js +2 -2
- package/dist/task-runners/task-runner-module.js.map +1 -1
- package/dist/telemetry/index.d.ts +3 -1
- package/dist/telemetry/index.js +15 -8
- package/dist/telemetry/index.js.map +1 -1
- package/dist/utils/ai-service-retry.js +2 -4
- package/dist/utils/ai-service-retry.js.map +1 -1
- package/dist/wait-tracker.js +6 -2
- package/dist/wait-tracker.js.map +1 -1
- package/dist/webhooks/test-webhooks.d.ts +1 -0
- package/dist/webhooks/test-webhooks.js +14 -9
- package/dist/webhooks/test-webhooks.js.map +1 -1
- package/dist/webhooks/webhook-helpers.js +69 -16
- package/dist/webhooks/webhook-helpers.js.map +1 -1
- package/dist/webhooks/webhook.service.d.ts +4 -0
- package/dist/webhooks/webhook.service.js +40 -12
- package/dist/webhooks/webhook.service.js.map +1 -1
- package/dist/workflow-execute-additional-data.js +2 -0
- package/dist/workflow-execute-additional-data.js.map +1 -1
- package/dist/workflow-helpers.d.ts +4 -1
- package/dist/workflow-helpers.js +22 -0
- package/dist/workflow-helpers.js.map +1 -1
- package/dist/workflow-runner.d.ts +2 -1
- package/dist/workflow-runner.js +4 -4
- package/dist/workflow-runner.js.map +1 -1
- package/dist/workflows/publication/published-workflow-trigger-deactivator.d.ts +11 -3
- package/dist/workflows/publication/published-workflow-trigger-deactivator.js +66 -23
- package/dist/workflows/publication/published-workflow-trigger-deactivator.js.map +1 -1
- package/dist/workflows/publication/workflow-publication-lifecycle-lock.d.ts +0 -5
- package/dist/workflows/publication/workflow-publication-lifecycle-lock.js +0 -44
- package/dist/workflows/publication/workflow-publication-lifecycle-lock.js.map +1 -1
- package/dist/workflows/publication/workflow-publication-outbox-consumer.js +3 -0
- package/dist/workflows/publication/workflow-publication-outbox-consumer.js.map +1 -1
- package/dist/workflows/publication/workflow-publication-reconciler.service.d.ts +4 -2
- package/dist/workflows/publication/workflow-publication-reconciler.service.js +43 -30
- package/dist/workflows/publication/workflow-publication-reconciler.service.js.map +1 -1
- package/dist/workflows/triggers/trigger-activation-retry.js +2 -1
- package/dist/workflows/triggers/trigger-activation-retry.js.map +1 -1
- package/dist/workflows/triggers/workflow-trigger-activator.js +8 -1
- package/dist/workflows/triggers/workflow-trigger-activator.js.map +1 -1
- package/dist/workflows/workflow-finder.service.d.ts +1 -0
- package/dist/workflows/workflow-finder.service.js +3 -1
- package/dist/workflows/workflow-finder.service.js.map +1 -1
- package/dist/workflows/workflow-publish-guard-proxy.service.d.ts +8 -0
- package/dist/workflows/workflow-publish-guard-proxy.service.js +26 -0
- package/dist/workflows/workflow-publish-guard-proxy.service.js.map +1 -0
- package/dist/workflows/workflow-validation.service.d.ts +1 -0
- package/dist/workflows/workflow-validation.service.js +23 -8
- package/dist/workflows/workflow-validation.service.js.map +1 -1
- package/dist/workflows/workflow.service.d.ts +7 -3
- package/dist/workflows/workflow.service.ee.d.ts +4 -1
- package/dist/workflows/workflow.service.js +75 -30
- package/dist/workflows/workflow.service.js.map +1 -1
- package/dist/workflows/workflows.controller.d.ts +4 -1
- package/package.json +39 -39
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/index.d.ts +0 -2
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/index.js +0 -19
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/index.js.map +0 -1
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/metadata.d.ts +0 -20
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/metadata.js +0 -12
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/metadata.js.map +0 -1
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-extractor.d.ts +0 -12
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-extractor.js +0 -85
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-extractor.js.map +0 -1
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-seeder.d.ts +0 -10
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-seeder.js +0 -77
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-seeder.js.map +0 -1
- package/dist/modules/n8n-packages/entities/workflow/static-sub-workflow-id.d.ts +0 -2
- package/dist/modules/n8n-packages/entities/workflow/static-sub-workflow-id.js +0 -23
- package/dist/modules/n8n-packages/entities/workflow/static-sub-workflow-id.js.map +0 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow-requirements.extractor.d.ts +0 -7
- package/dist/modules/n8n-packages/entities/workflow/workflow-requirements.extractor.js +0 -41
- package/dist/modules/n8n-packages/entities/workflow/workflow-requirements.extractor.js.map +0 -1
- package/dist/services/trigger-auth-identity-seeder-proxy.service.d.ts +0 -10
- package/dist/services/trigger-auth-identity-seeder-proxy.service.js.map +0 -1
- package/dist/workflows/publication/published-workflow-enqueuer.d.ts +0 -13
- package/dist/workflows/publication/published-workflow-enqueuer.js +0 -50
- package/dist/workflows/publication/published-workflow-enqueuer.js.map +0 -1
|
@@ -14,6 +14,7 @@ const backend_common_1 = require("@n8n/backend-common");
|
|
|
14
14
|
const config_1 = require("@n8n/config");
|
|
15
15
|
const constants_1 = require("@n8n/constants");
|
|
16
16
|
const di_1 = require("@n8n/di");
|
|
17
|
+
const sleep_1 = require("@n8n/utils/sleep");
|
|
17
18
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
18
19
|
const constants_2 = require("../../constants");
|
|
19
20
|
const default_task_runner_disconnect_analyzer_1 = require("../../task-runners/default-task-runner-disconnect-analyzer");
|
|
@@ -40,17 +41,27 @@ let TaskBrokerWsServer = class TaskBrokerWsServer {
|
|
|
40
41
|
if (heartbeatInterval <= 0) {
|
|
41
42
|
throw new n8n_workflow_1.UserError('Heartbeat interval must be greater than 0');
|
|
42
43
|
}
|
|
43
|
-
this.heartbeatTimer = setInterval(() =>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
44
|
+
this.heartbeatTimer = setInterval(() => this.checkConnectionLiveness(), heartbeatInterval * constants_1.Time.seconds.toMilliseconds);
|
|
45
|
+
}
|
|
46
|
+
checkConnectionLiveness() {
|
|
47
|
+
let anyDead = false;
|
|
48
|
+
for (const [runnerId, connection] of this.runnerConnections) {
|
|
49
|
+
if (connection.isAlive) {
|
|
50
50
|
connection.isAlive = false;
|
|
51
51
|
connection.ping();
|
|
52
52
|
}
|
|
53
|
-
|
|
53
|
+
else {
|
|
54
|
+
anyDead = true;
|
|
55
|
+
void this.removeConnection(runnerId, {
|
|
56
|
+
reason: 'failed-heartbeat-check',
|
|
57
|
+
code: constants_2.WsStatusCodes.CloseProtocolError,
|
|
58
|
+
expectedConnection: connection,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (anyDead) {
|
|
63
|
+
this.runnerLifecycleEvents.emit('runner:failed-heartbeat-check');
|
|
64
|
+
}
|
|
54
65
|
}
|
|
55
66
|
async stop() {
|
|
56
67
|
if (this.heartbeatTimer) {
|
|
@@ -80,23 +91,23 @@ let TaskBrokerWsServer = class TaskBrokerWsServer {
|
|
|
80
91
|
? Buffer.from(data)
|
|
81
92
|
: data;
|
|
82
93
|
const message = JSON.parse(buffer.toString('utf8'));
|
|
83
|
-
if (!isConnected
|
|
84
|
-
|
|
94
|
+
if (!isConnected) {
|
|
95
|
+
if (message.type === 'runner:info') {
|
|
96
|
+
await this.removeConnection(id);
|
|
97
|
+
isConnected = true;
|
|
98
|
+
this.runnerConnections.set(id, connection);
|
|
99
|
+
this.taskBroker.registerRunner({
|
|
100
|
+
id,
|
|
101
|
+
taskTypes: message.types,
|
|
102
|
+
lastSeen: new Date(),
|
|
103
|
+
name: message.name,
|
|
104
|
+
}, this.sendMessage.bind(this, id), () => this.isRunnerReachable(id, connection));
|
|
105
|
+
this.logger.info(`Registered runner "${message.name}" (${id}) `);
|
|
106
|
+
}
|
|
85
107
|
}
|
|
86
|
-
else if (
|
|
87
|
-
|
|
88
|
-
isConnected = true;
|
|
89
|
-
this.runnerConnections.set(id, connection);
|
|
90
|
-
this.taskBroker.registerRunner({
|
|
91
|
-
id,
|
|
92
|
-
taskTypes: message.types,
|
|
93
|
-
lastSeen: new Date(),
|
|
94
|
-
name: message.name,
|
|
95
|
-
}, this.sendMessage.bind(this, id));
|
|
96
|
-
this.logger.info(`Registered runner "${message.name}" (${id}) `);
|
|
97
|
-
return;
|
|
108
|
+
else if (this.isCurrentConnection(id, connection)) {
|
|
109
|
+
void this.taskBroker.onRunnerMessage(id, message);
|
|
98
110
|
}
|
|
99
|
-
void this.taskBroker.onRunnerMessage(id, message);
|
|
100
111
|
}
|
|
101
112
|
catch (error) {
|
|
102
113
|
this.logger.error(`Couldn't parse message from runner "${id}"`, {
|
|
@@ -109,31 +120,49 @@ let TaskBrokerWsServer = class TaskBrokerWsServer {
|
|
|
109
120
|
connection.once('close', async () => {
|
|
110
121
|
connection.off('pong', heartbeat);
|
|
111
122
|
connection.off('message', onMessage);
|
|
112
|
-
await this.removeConnection(id);
|
|
123
|
+
await this.removeConnection(id, { expectedConnection: connection });
|
|
113
124
|
});
|
|
114
125
|
connection.on('message', onMessage);
|
|
115
126
|
connection.send(JSON.stringify({ type: 'broker:inforequest' }));
|
|
116
127
|
}
|
|
117
|
-
async removeConnection(id, reason = 'unknown', code = constants_2.WsStatusCodes.CloseNormal) {
|
|
128
|
+
async removeConnection(id, { reason = 'unknown', code = constants_2.WsStatusCodes.CloseNormal, expectedConnection, } = {}) {
|
|
118
129
|
const connection = this.runnerConnections.get(id);
|
|
119
|
-
|
|
130
|
+
const isStaleRemoval = expectedConnection !== undefined && !this.isCurrentConnection(id, expectedConnection);
|
|
131
|
+
if (connection && !isStaleRemoval) {
|
|
132
|
+
this.runnerConnections.delete(id);
|
|
133
|
+
connection.close(code);
|
|
134
|
+
const inFlightTaskIds = this.taskBroker.getInFlightTaskIds(id);
|
|
120
135
|
const disconnectError = await this.disconnectAnalyzer.toDisconnectError({
|
|
121
136
|
runnerId: id,
|
|
122
137
|
reason,
|
|
123
138
|
heartbeatInterval: this.taskRunnersConfig.heartbeatInterval,
|
|
124
139
|
});
|
|
125
|
-
this.
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
140
|
+
const hasReconnected = this.runnerConnections.has(id);
|
|
141
|
+
if (hasReconnected) {
|
|
142
|
+
this.taskBroker.failTasks(inFlightTaskIds, disconnectError);
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
this.taskBroker.deregisterRunner(id, disconnectError);
|
|
146
|
+
this.logger.debug(`Deregistered runner "${id}"`);
|
|
147
|
+
}
|
|
129
148
|
}
|
|
130
149
|
}
|
|
131
150
|
handleRequest(req, _res) {
|
|
132
151
|
this.add(req.query.id, req.ws);
|
|
133
152
|
}
|
|
153
|
+
isCurrentConnection(id, connection) {
|
|
154
|
+
return this.runnerConnections.get(id) === connection;
|
|
155
|
+
}
|
|
156
|
+
isRunnerReachable(id, connection) {
|
|
157
|
+
return this.isCurrentConnection(id, connection) && connection.readyState === connection.OPEN;
|
|
158
|
+
}
|
|
134
159
|
async stopConnectedRunners() {
|
|
135
160
|
await this.drainActiveTasks();
|
|
136
|
-
await Promise.all(Array.from(this.runnerConnections.
|
|
161
|
+
await Promise.all(Array.from(this.runnerConnections.entries()).map(async ([id, connection]) => await this.removeConnection(id, {
|
|
162
|
+
reason: 'shutting-down',
|
|
163
|
+
code: constants_2.WsStatusCodes.CloseGoingAway,
|
|
164
|
+
expectedConnection: connection,
|
|
165
|
+
})));
|
|
137
166
|
}
|
|
138
167
|
async drainActiveTasks() {
|
|
139
168
|
const drainTimeout = Math.floor(this.globalConfig.generic.gracefulShutdownTimeout * 0.8);
|
|
@@ -148,7 +177,7 @@ let TaskBrokerWsServer = class TaskBrokerWsServer {
|
|
|
148
177
|
}
|
|
149
178
|
const start = Date.now();
|
|
150
179
|
while (this.taskBroker.hasActiveTasks() && Date.now() - start < drainTimeoutMs) {
|
|
151
|
-
await (0,
|
|
180
|
+
await (0, sleep_1.sleep)(100);
|
|
152
181
|
}
|
|
153
182
|
if (this.taskBroker.hasActiveTasks()) {
|
|
154
183
|
this.logger.warn(`Drain timeout reached after ${drainTimeout}s, will force-shutdown with active tasks...`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-broker-ws-server.js","sourceRoot":"","sources":["../../../src/task-runners/task-broker/task-broker-ws-server.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wDAA6C;AAC7C,wCAA8D;AAC9D,8CAAsC;AACtC,gCAAkC;AAElC,+
|
|
1
|
+
{"version":3,"file":"task-broker-ws-server.js","sourceRoot":"","sources":["../../../src/task-runners/task-broker/task-broker-ws-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,11 +30,14 @@ export interface TaskRequest {
|
|
|
30
30
|
taskType: string;
|
|
31
31
|
timeout?: NodeJS.Timeout;
|
|
32
32
|
acceptInProgress?: boolean;
|
|
33
|
+
timeoutRefreshes?: number;
|
|
33
34
|
}
|
|
34
35
|
export type MessageCallback = (message: BrokerMessage.ToRunner.All) => Promise<void> | void;
|
|
35
36
|
export type RequesterMessageCallback = (message: BrokerMessage.ToRequester.All) => Promise<void> | void;
|
|
36
37
|
type RunnerAcceptCallback = () => void;
|
|
38
|
+
type RequesterAcceptCallback = (settings: RequesterMessage.ToBroker.TaskSettings['settings']) => void;
|
|
37
39
|
type TaskRejectCallback = (reason: TaskRejectError | TaskDeferredError) => void;
|
|
40
|
+
export type RunnerReachabilityCheck = () => boolean;
|
|
38
41
|
export declare class TaskBroker {
|
|
39
42
|
private readonly logger;
|
|
40
43
|
private readonly taskRunnersConfig;
|
|
@@ -51,10 +54,16 @@ export declare class TaskBroker {
|
|
|
51
54
|
private mismatchWarned;
|
|
52
55
|
constructor(logger: Logger, taskRunnersConfig: TaskRunnersConfig, taskRunnerLifecycleEvents: TaskRunnerLifecycleEvents, globalConfig: GlobalConfig);
|
|
53
56
|
private createRequestTimeout;
|
|
57
|
+
private refreshRequestTimeout;
|
|
54
58
|
private handleRequestTimeout;
|
|
59
|
+
private discardOffers;
|
|
55
60
|
expireTasks(): void;
|
|
56
|
-
|
|
61
|
+
private discardOffersFrom;
|
|
62
|
+
private discardOffersFromUnreachableRunners;
|
|
63
|
+
registerRunner(runner: TaskRunner, messageCallback: MessageCallback, isRunnerReachable?: RunnerReachabilityCheck): void;
|
|
57
64
|
deregisterRunner(runnerId: string, error: Error): void;
|
|
65
|
+
getInFlightTaskIds(runnerId: TaskRunner['id']): Array<Task['id']>;
|
|
66
|
+
failTasks(taskIds: Array<Task['id']>, error: Error): void;
|
|
58
67
|
registerRequester(requesterId: string, messageCallback: RequesterMessageCallback): void;
|
|
59
68
|
deregisterRequester(requesterId: string): void;
|
|
60
69
|
private messageRunner;
|
|
@@ -73,6 +82,7 @@ export declare class TaskBroker {
|
|
|
73
82
|
handleRequesterNodeTypesResponse(taskId: Task['id'], requestId: RequesterMessage.ToBroker.NodeTypesResponse['requestId'], nodeTypes: RequesterMessage.ToBroker.NodeTypesResponse['nodeTypes']): Promise<void>;
|
|
74
83
|
handleRequesterAccept(taskId: Task['id'], settings: RequesterMessage.ToBroker.TaskSettings['settings']): void;
|
|
75
84
|
handleRequesterReject(taskId: Task['id'], reason: string): void;
|
|
85
|
+
private untrackTask;
|
|
76
86
|
private cancelTask;
|
|
77
87
|
private failTask;
|
|
78
88
|
private getRunnerOrFailTask;
|
|
@@ -94,11 +104,17 @@ export declare class TaskBroker {
|
|
|
94
104
|
getKnownRunners(): Map<string, {
|
|
95
105
|
runner: TaskRunner;
|
|
96
106
|
messageCallback: MessageCallback;
|
|
107
|
+
isRunnerReachable: RunnerReachabilityCheck;
|
|
97
108
|
}>;
|
|
98
109
|
getKnownRequesters(): Map<string, RequesterMessageCallback>;
|
|
99
110
|
getRunnerAcceptRejects(): Map<string, {
|
|
100
111
|
accept: RunnerAcceptCallback;
|
|
101
112
|
reject: TaskRejectCallback;
|
|
113
|
+
runnerId: TaskRunner['id'];
|
|
114
|
+
}>;
|
|
115
|
+
getRequesterAcceptRejects(): Map<string, {
|
|
116
|
+
accept: RequesterAcceptCallback;
|
|
117
|
+
reject: TaskRejectCallback;
|
|
102
118
|
}>;
|
|
103
119
|
setTasks(tasks: Record<string, Task>): void;
|
|
104
120
|
setPendingTaskOffers(pendingTaskOffers: TaskOffer[]): void;
|
|
@@ -106,6 +122,7 @@ export declare class TaskBroker {
|
|
|
106
122
|
setRunnerAcceptRejects(runnerAcceptRejects: Record<string, {
|
|
107
123
|
accept: RunnerAcceptCallback;
|
|
108
124
|
reject: TaskRejectCallback;
|
|
125
|
+
runnerId: TaskRunner['id'];
|
|
109
126
|
}>): void;
|
|
110
127
|
}
|
|
111
128
|
export {};
|
|
@@ -18,9 +18,12 @@ const n8n_workflow_1 = require("n8n-workflow");
|
|
|
18
18
|
const nanoid_1 = require("nanoid");
|
|
19
19
|
const task_deferred_error_1 = require("../../task-runners/task-broker/errors/task-deferred.error");
|
|
20
20
|
const task_reject_error_1 = require("../../task-runners/task-broker/errors/task-reject.error");
|
|
21
|
+
const task_requester_accept_timeout_error_1 = require("../../task-runners/task-broker/errors/task-requester-accept-timeout.error");
|
|
21
22
|
const task_runner_accept_timeout_error_1 = require("../../task-runners/task-broker/errors/task-runner-accept-timeout.error");
|
|
22
23
|
const task_runner_execution_timeout_error_1 = require("../../task-runners/task-broker/errors/task-runner-execution-timeout.error");
|
|
24
|
+
const task_runner_unreachable_error_1 = require("../../task-runners/task-broker/errors/task-runner-unreachable.error");
|
|
23
25
|
const task_runner_lifecycle_events_1 = require("../../task-runners/task-runner-lifecycle-events");
|
|
26
|
+
const MAX_REQUEST_TIMEOUT_REFRESHES = 3;
|
|
24
27
|
let TaskBroker = class TaskBroker {
|
|
25
28
|
constructor(logger, taskRunnersConfig, taskRunnerLifecycleEvents, globalConfig) {
|
|
26
29
|
this.logger = logger;
|
|
@@ -39,12 +42,27 @@ let TaskBroker = class TaskBroker {
|
|
|
39
42
|
if (this.taskRunnersConfig.taskTimeout <= 0) {
|
|
40
43
|
throw new n8n_workflow_1.UserError('Task timeout must be greater than 0');
|
|
41
44
|
}
|
|
45
|
+
if (this.taskRunnersConfig.taskRequestTimeout <= 0) {
|
|
46
|
+
throw new n8n_workflow_1.UserError('Task request timeout must be greater than 0');
|
|
47
|
+
}
|
|
48
|
+
if (this.taskRunnersConfig.taskAcceptTimeout <= 0) {
|
|
49
|
+
throw new n8n_workflow_1.UserError('Task accept timeout must be greater than 0');
|
|
50
|
+
}
|
|
42
51
|
}
|
|
43
52
|
createRequestTimeout(requestId) {
|
|
44
53
|
return setTimeout(() => {
|
|
45
54
|
this.handleRequestTimeout(requestId);
|
|
46
55
|
}, this.taskRunnersConfig.taskRequestTimeout * constants_1.Time.seconds.toMilliseconds);
|
|
47
56
|
}
|
|
57
|
+
refreshRequestTimeout(request) {
|
|
58
|
+
const isPending = this.pendingTaskRequests.some((r) => r.requestId === request.requestId);
|
|
59
|
+
const refreshes = request.timeoutRefreshes ?? 0;
|
|
60
|
+
if (isPending && refreshes < MAX_REQUEST_TIMEOUT_REFRESHES) {
|
|
61
|
+
request.timeoutRefreshes = refreshes + 1;
|
|
62
|
+
clearTimeout(request.timeout);
|
|
63
|
+
request.timeout = this.createRequestTimeout(request.requestId);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
48
66
|
handleRequestTimeout(requestId) {
|
|
49
67
|
const requestIndex = this.pendingTaskRequests.findIndex((r) => r.requestId === requestId);
|
|
50
68
|
if (requestIndex === -1)
|
|
@@ -59,33 +77,45 @@ let TaskBroker = class TaskBroker {
|
|
|
59
77
|
reason: 'timeout',
|
|
60
78
|
});
|
|
61
79
|
}
|
|
62
|
-
|
|
63
|
-
const now = process.hrtime.bigint();
|
|
80
|
+
discardOffers(shouldDiscard) {
|
|
64
81
|
for (let i = this.pendingTaskOffers.length - 1; i >= 0; i--) {
|
|
65
|
-
|
|
66
|
-
if (offer.validFor === -1)
|
|
67
|
-
continue;
|
|
68
|
-
if (offer.validUntil < now) {
|
|
82
|
+
if (shouldDiscard(this.pendingTaskOffers[i])) {
|
|
69
83
|
this.pendingTaskOffers.splice(i, 1);
|
|
70
84
|
}
|
|
71
85
|
}
|
|
72
86
|
}
|
|
73
|
-
|
|
74
|
-
|
|
87
|
+
expireTasks() {
|
|
88
|
+
const now = process.hrtime.bigint();
|
|
89
|
+
this.discardOffers(({ validFor, validUntil }) => validFor !== -1 && validUntil < now);
|
|
90
|
+
}
|
|
91
|
+
discardOffersFrom(runnerId) {
|
|
92
|
+
this.discardOffers((offer) => offer.runnerId === runnerId);
|
|
93
|
+
}
|
|
94
|
+
discardOffersFromUnreachableRunners() {
|
|
95
|
+
this.discardOffers((offer) => this.knownRunners.get(offer.runnerId)?.isRunnerReachable() === false);
|
|
96
|
+
}
|
|
97
|
+
registerRunner(runner, messageCallback, isRunnerReachable = () => true) {
|
|
98
|
+
this.knownRunners.set(runner.id, { runner, messageCallback, isRunnerReachable });
|
|
75
99
|
void this.knownRunners.get(runner.id).messageCallback({ type: 'broker:runnerregistered' });
|
|
76
100
|
}
|
|
77
101
|
deregisterRunner(runnerId, error) {
|
|
78
102
|
this.knownRunners.delete(runnerId);
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
103
|
+
this.discardOffersFrom(runnerId);
|
|
104
|
+
for (const [taskId, acceptReject] of this.runnerAcceptRejects) {
|
|
105
|
+
if (acceptReject.runnerId === runnerId) {
|
|
106
|
+
this.handleRunnerReject(taskId, `The Task Runner (${runnerId}) has disconnected: ${error.message}`);
|
|
82
107
|
}
|
|
83
108
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
109
|
+
this.failTasks(this.getInFlightTaskIds(runnerId), error);
|
|
110
|
+
}
|
|
111
|
+
getInFlightTaskIds(runnerId) {
|
|
112
|
+
return [...this.tasks.values()]
|
|
113
|
+
.filter((task) => task.runnerId === runnerId)
|
|
114
|
+
.map((task) => task.id);
|
|
115
|
+
}
|
|
116
|
+
failTasks(taskIds, error) {
|
|
117
|
+
for (const taskId of taskIds) {
|
|
118
|
+
void this.failTask(taskId, error);
|
|
89
119
|
}
|
|
90
120
|
}
|
|
91
121
|
registerRequester(requesterId, messageCallback) {
|
|
@@ -290,29 +320,33 @@ let TaskBroker = class TaskBroker {
|
|
|
290
320
|
this.requesterAcceptRejects.delete(taskId);
|
|
291
321
|
}
|
|
292
322
|
}
|
|
293
|
-
|
|
323
|
+
untrackTask(taskId) {
|
|
294
324
|
const task = this.tasks.get(taskId);
|
|
295
|
-
if (
|
|
296
|
-
|
|
325
|
+
if (task) {
|
|
326
|
+
clearTimeout(task.timeout);
|
|
327
|
+
this.tasks.delete(taskId);
|
|
328
|
+
}
|
|
329
|
+
return task;
|
|
330
|
+
}
|
|
331
|
+
async cancelTask(taskId, reason) {
|
|
332
|
+
const task = this.untrackTask(taskId);
|
|
333
|
+
if (task) {
|
|
334
|
+
await this.messageRunner(task.runnerId, {
|
|
335
|
+
type: 'broker:taskcancel',
|
|
336
|
+
taskId,
|
|
337
|
+
reason,
|
|
338
|
+
});
|
|
297
339
|
}
|
|
298
|
-
this.tasks.delete(taskId);
|
|
299
|
-
await this.messageRunner(task.runnerId, {
|
|
300
|
-
type: 'broker:taskcancel',
|
|
301
|
-
taskId,
|
|
302
|
-
reason,
|
|
303
|
-
});
|
|
304
340
|
}
|
|
305
341
|
async failTask(taskId, error) {
|
|
306
|
-
const task = this.
|
|
307
|
-
if (
|
|
308
|
-
|
|
342
|
+
const task = this.untrackTask(taskId);
|
|
343
|
+
if (task) {
|
|
344
|
+
await this.messageRequester(task.requesterId, {
|
|
345
|
+
type: 'broker:taskerror',
|
|
346
|
+
taskId,
|
|
347
|
+
error,
|
|
348
|
+
});
|
|
309
349
|
}
|
|
310
|
-
this.tasks.delete(taskId);
|
|
311
|
-
await this.messageRequester(task.requesterId, {
|
|
312
|
-
type: 'broker:taskerror',
|
|
313
|
-
taskId,
|
|
314
|
-
error,
|
|
315
|
-
});
|
|
316
350
|
}
|
|
317
351
|
async getRunnerOrFailTask(taskId) {
|
|
318
352
|
const task = this.tasks.get(taskId);
|
|
@@ -325,6 +359,11 @@ let TaskBroker = class TaskBroker {
|
|
|
325
359
|
await this.failTask(taskId, error);
|
|
326
360
|
throw error;
|
|
327
361
|
}
|
|
362
|
+
if (!runner.isRunnerReachable()) {
|
|
363
|
+
const error = new task_runner_unreachable_error_1.TaskRunnerUnreachableError(taskId, task.runnerId);
|
|
364
|
+
await this.failTask(taskId, error);
|
|
365
|
+
throw error;
|
|
366
|
+
}
|
|
328
367
|
return runner.runner;
|
|
329
368
|
}
|
|
330
369
|
async sendTaskSettings(taskId, settings) {
|
|
@@ -365,37 +404,38 @@ let TaskBroker = class TaskBroker {
|
|
|
365
404
|
}));
|
|
366
405
|
}
|
|
367
406
|
async taskDoneHandler(taskId, data) {
|
|
368
|
-
const task = this.
|
|
369
|
-
if (
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
});
|
|
377
|
-
this.tasks.delete(task.id);
|
|
407
|
+
const task = this.untrackTask(taskId);
|
|
408
|
+
if (task) {
|
|
409
|
+
await this.requesters.get(task.requesterId)?.({
|
|
410
|
+
type: 'broker:taskdone',
|
|
411
|
+
taskId: task.id,
|
|
412
|
+
data,
|
|
413
|
+
});
|
|
414
|
+
}
|
|
378
415
|
}
|
|
379
416
|
async taskErrorHandler(taskId, error) {
|
|
380
|
-
const task = this.
|
|
381
|
-
if (
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
});
|
|
389
|
-
this.tasks.delete(task.id);
|
|
417
|
+
const task = this.untrackTask(taskId);
|
|
418
|
+
if (task) {
|
|
419
|
+
await this.requesters.get(task.requesterId)?.({
|
|
420
|
+
type: 'broker:taskerror',
|
|
421
|
+
taskId: task.id,
|
|
422
|
+
error,
|
|
423
|
+
});
|
|
424
|
+
}
|
|
390
425
|
}
|
|
391
426
|
async acceptOffer(offer, request) {
|
|
392
427
|
const taskId = (0, nanoid_1.nanoid)(8);
|
|
428
|
+
let runnerAcceptTimer;
|
|
393
429
|
try {
|
|
394
430
|
const acceptPromise = new Promise((resolve, reject) => {
|
|
395
|
-
this.runnerAcceptRejects.set(taskId, {
|
|
396
|
-
|
|
431
|
+
this.runnerAcceptRejects.set(taskId, {
|
|
432
|
+
accept: resolve,
|
|
433
|
+
reject,
|
|
434
|
+
runnerId: offer.runnerId,
|
|
435
|
+
});
|
|
436
|
+
runnerAcceptTimer = setTimeout(() => {
|
|
397
437
|
reject(new task_runner_accept_timeout_error_1.TaskRunnerAcceptTimeoutError(taskId, offer.runnerId));
|
|
398
|
-
},
|
|
438
|
+
}, this.taskRunnersConfig.taskAcceptTimeout * constants_1.Time.seconds.toMilliseconds);
|
|
399
439
|
});
|
|
400
440
|
await this.messageRunner(offer.runnerId, {
|
|
401
441
|
type: 'broker:taskofferaccept',
|
|
@@ -408,20 +448,32 @@ let TaskBroker = class TaskBroker {
|
|
|
408
448
|
request.acceptInProgress = false;
|
|
409
449
|
if (e instanceof task_reject_error_1.TaskRejectError) {
|
|
410
450
|
this.logger.info(`Task (${taskId}) rejected by Runner with reason "${e.reason}"`);
|
|
451
|
+
this.settleTasks();
|
|
411
452
|
return;
|
|
412
453
|
}
|
|
413
454
|
if (e instanceof task_deferred_error_1.TaskDeferredError) {
|
|
414
455
|
this.logger.debug(`Task (${taskId}) deferred until runner is ready`);
|
|
415
|
-
|
|
416
|
-
request.timeout = this.createRequestTimeout(request.requestId);
|
|
456
|
+
this.refreshRequestTimeout(request);
|
|
417
457
|
return;
|
|
418
458
|
}
|
|
419
459
|
if (e instanceof task_runner_accept_timeout_error_1.TaskRunnerAcceptTimeoutError) {
|
|
420
460
|
this.logger.warn(e.message);
|
|
461
|
+
this.runnerAcceptRejects.delete(taskId);
|
|
462
|
+
this.refreshRequestTimeout(request);
|
|
463
|
+
await this.messageRunner(offer.runnerId, {
|
|
464
|
+
type: 'broker:taskcancel',
|
|
465
|
+
taskId,
|
|
466
|
+
reason: 'Acknowledgement window elapsed',
|
|
467
|
+
});
|
|
468
|
+
this.discardOffersFrom(offer.runnerId);
|
|
469
|
+
this.settleTasks();
|
|
421
470
|
return;
|
|
422
471
|
}
|
|
423
472
|
throw e;
|
|
424
473
|
}
|
|
474
|
+
finally {
|
|
475
|
+
clearTimeout(runnerAcceptTimer);
|
|
476
|
+
}
|
|
425
477
|
clearTimeout(request.timeout);
|
|
426
478
|
const task = {
|
|
427
479
|
id: taskId,
|
|
@@ -432,19 +484,21 @@ let TaskBroker = class TaskBroker {
|
|
|
432
484
|
this.tasks.set(taskId, task);
|
|
433
485
|
const requestIndex = this.pendingTaskRequests.findIndex((r) => r.requestId === request.requestId);
|
|
434
486
|
if (requestIndex === -1) {
|
|
435
|
-
this.logger.
|
|
487
|
+
this.logger.warn(`Task request (${request.requestId}) expired while runner (${offer.runnerId}) was accepting task (${taskId}), canceling task`);
|
|
488
|
+
await this.cancelTask(taskId, 'Task request expired');
|
|
436
489
|
return;
|
|
437
490
|
}
|
|
438
491
|
this.pendingTaskRequests.splice(requestIndex, 1);
|
|
492
|
+
let requesterAcceptTimer;
|
|
439
493
|
try {
|
|
440
494
|
const acceptPromise = new Promise((resolve, reject) => {
|
|
441
495
|
this.requesterAcceptRejects.set(taskId, {
|
|
442
496
|
accept: resolve,
|
|
443
497
|
reject,
|
|
444
498
|
});
|
|
445
|
-
setTimeout(() => {
|
|
446
|
-
reject(
|
|
447
|
-
},
|
|
499
|
+
requesterAcceptTimer = setTimeout(() => {
|
|
500
|
+
reject(new task_requester_accept_timeout_error_1.TaskRequesterAcceptTimeoutError(taskId, request.requesterId));
|
|
501
|
+
}, this.taskRunnersConfig.taskAcceptTimeout * constants_1.Time.seconds.toMilliseconds);
|
|
448
502
|
});
|
|
449
503
|
await this.messageRequester(request.requesterId, {
|
|
450
504
|
type: 'broker:taskready',
|
|
@@ -460,12 +514,26 @@ let TaskBroker = class TaskBroker {
|
|
|
460
514
|
this.logger.info(`Task (${taskId}) rejected by Requester with reason "${e.reason}"`);
|
|
461
515
|
return;
|
|
462
516
|
}
|
|
517
|
+
if (e instanceof task_runner_unreachable_error_1.TaskRunnerUnreachableError) {
|
|
518
|
+
this.logger.warn(e.message);
|
|
519
|
+
return;
|
|
520
|
+
}
|
|
521
|
+
if (e instanceof task_requester_accept_timeout_error_1.TaskRequesterAcceptTimeoutError) {
|
|
522
|
+
this.logger.warn(e.message);
|
|
523
|
+
this.requesterAcceptRejects.delete(taskId);
|
|
524
|
+
await this.cancelTask(task.id, 'Requester took too long to acknowledge the task');
|
|
525
|
+
return;
|
|
526
|
+
}
|
|
463
527
|
await this.cancelTask(task.id, 'Unknown reason');
|
|
464
528
|
throw e;
|
|
465
529
|
}
|
|
530
|
+
finally {
|
|
531
|
+
clearTimeout(requesterAcceptTimer);
|
|
532
|
+
}
|
|
466
533
|
}
|
|
467
534
|
settleTasks() {
|
|
468
535
|
this.expireTasks();
|
|
536
|
+
this.discardOffersFromUnreachableRunners();
|
|
469
537
|
for (const request of this.pendingTaskRequests) {
|
|
470
538
|
if (request.acceptInProgress) {
|
|
471
539
|
continue;
|
|
@@ -535,6 +603,9 @@ let TaskBroker = class TaskBroker {
|
|
|
535
603
|
getRunnerAcceptRejects() {
|
|
536
604
|
return this.runnerAcceptRejects;
|
|
537
605
|
}
|
|
606
|
+
getRequesterAcceptRejects() {
|
|
607
|
+
return this.requesterAcceptRejects;
|
|
608
|
+
}
|
|
538
609
|
setTasks(tasks) {
|
|
539
610
|
this.tasks = new Map(Object.entries(tasks));
|
|
540
611
|
}
|