n8n 2.40.5 → 2.41.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/build.tsbuildinfo +1 -1
- package/dist/commands/import/credentials.js +12 -3
- package/dist/commands/import/credentials.js.map +1 -1
- package/dist/commands/import/workflow.js +4 -4
- package/dist/commands/import/workflow.js.map +1 -1
- package/dist/commands/start.js +5 -2
- package/dist/commands/start.js.map +1 -1
- package/dist/constants.d.ts +1 -0
- package/dist/constants.js +2 -1
- package/dist/constants.js.map +1 -1
- package/dist/controllers/ai-preference.controller.js +1 -1
- package/dist/controllers/ai-preference.controller.js.map +1 -1
- package/dist/controllers/ai.controller.d.ts +1 -0
- package/dist/controllers/dev.controller.d.ts +8 -0
- package/dist/controllers/dev.controller.js +35 -0
- package/dist/controllers/dev.controller.js.map +1 -0
- package/dist/controllers/me.controller.d.ts +2 -4
- package/dist/controllers/me.controller.js +9 -24
- package/dist/controllers/me.controller.js.map +1 -1
- package/dist/controllers/role.controller.js +1 -0
- package/dist/controllers/role.controller.js.map +1 -1
- package/dist/crash-journal.js +1 -1
- package/dist/crash-journal.js.map +1 -1
- package/dist/credentials/credential-dependency.service.d.ts +2 -2
- package/dist/credentials/credential-dependency.service.js +5 -4
- package/dist/credentials/credential-dependency.service.js.map +1 -1
- package/dist/credentials/credentials-finder.service.d.ts +1 -0
- package/dist/credentials/credentials.controller.d.ts +4 -0
- package/dist/credentials/credentials.controller.js +5 -0
- package/dist/credentials/credentials.controller.js.map +1 -1
- package/dist/credentials/credentials.service.d.ts +16 -3
- package/dist/credentials/credentials.service.ee.d.ts +2 -0
- package/dist/credentials/credentials.service.js +112 -30
- package/dist/credentials/credentials.service.js.map +1 -1
- package/dist/credentials/validation.d.ts +1 -0
- package/dist/credentials/validation.js +11 -0
- package/dist/credentials/validation.js.map +1 -1
- package/dist/credentials-helper.d.ts +3 -2
- package/dist/credentials-helper.js +39 -19
- package/dist/credentials-helper.js.map +1 -1
- package/dist/credentials-overwrites.js +2 -0
- package/dist/credentials-overwrites.js.map +1 -1
- package/dist/errors/response-errors/incompatible-nodes-api-version.error.d.ts +11 -0
- package/dist/errors/response-errors/incompatible-nodes-api-version.error.js +13 -0
- package/dist/errors/response-errors/incompatible-nodes-api-version.error.js.map +1 -0
- package/dist/errors/unsupported-end-user-credential-trigger.error.d.ts +4 -0
- package/dist/errors/unsupported-end-user-credential-trigger.error.js +13 -0
- package/dist/errors/unsupported-end-user-credential-trigger.error.js.map +1 -0
- package/dist/eventbus/event-message-classes/abstract-event-message.d.ts +1 -1
- package/dist/eventbus/event-message-classes/abstract-event-message.js +8 -0
- package/dist/eventbus/event-message-classes/abstract-event-message.js.map +1 -1
- package/dist/eventbus/event-message-classes/event-message-ai-node.d.ts +0 -2
- package/dist/eventbus/event-message-classes/event-message-ai-node.js +0 -8
- package/dist/eventbus/event-message-classes/event-message-ai-node.js.map +1 -1
- package/dist/eventbus/event-message-classes/event-message-audit.d.ts +1 -2
- package/dist/eventbus/event-message-classes/event-message-audit.js +0 -8
- package/dist/eventbus/event-message-classes/event-message-audit.js.map +1 -1
- package/dist/eventbus/event-message-classes/event-message-execution.d.ts +0 -2
- package/dist/eventbus/event-message-classes/event-message-execution.js +0 -8
- package/dist/eventbus/event-message-classes/event-message-execution.js.map +1 -1
- package/dist/eventbus/event-message-classes/event-message-generic.d.ts +0 -2
- package/dist/eventbus/event-message-classes/event-message-generic.js +0 -8
- package/dist/eventbus/event-message-classes/event-message-generic.js.map +1 -1
- package/dist/eventbus/event-message-classes/event-message-mcp.d.ts +0 -2
- package/dist/eventbus/event-message-classes/event-message-mcp.js +0 -8
- package/dist/eventbus/event-message-classes/event-message-mcp.js.map +1 -1
- package/dist/eventbus/event-message-classes/event-message-node.d.ts +0 -2
- package/dist/eventbus/event-message-classes/event-message-node.js +0 -8
- package/dist/eventbus/event-message-classes/event-message-node.js.map +1 -1
- package/dist/eventbus/event-message-classes/event-message-queue.d.ts +0 -2
- package/dist/eventbus/event-message-classes/event-message-queue.js +0 -8
- package/dist/eventbus/event-message-classes/event-message-queue.js.map +1 -1
- package/dist/eventbus/event-message-classes/event-message-runner.d.ts +0 -2
- package/dist/eventbus/event-message-classes/event-message-runner.js +0 -8
- package/dist/eventbus/event-message-classes/event-message-runner.js.map +1 -1
- package/dist/eventbus/event-message-classes/event-message-workflow.d.ts +1 -2
- package/dist/eventbus/event-message-classes/event-message-workflow.js +0 -8
- package/dist/eventbus/event-message-classes/event-message-workflow.js.map +1 -1
- package/dist/events/event.service.d.ts +3 -2
- package/dist/events/event.service.js.map +1 -1
- package/dist/events/maps/mcp-post-save-metrics.event-map.d.ts +7 -0
- package/dist/events/maps/mcp-post-save-metrics.event-map.js +3 -0
- package/dist/events/maps/mcp-post-save-metrics.event-map.js.map +1 -0
- package/dist/events/maps/relay.event-map.d.ts +3 -0
- package/dist/events/maps/system-task-metrics.event-map.d.ts +45 -0
- package/dist/events/maps/system-task-metrics.event-map.js +3 -0
- package/dist/events/maps/system-task-metrics.event-map.js.map +1 -0
- package/dist/events/relays/activity.event-relay.d.ts +9 -3
- package/dist/events/relays/activity.event-relay.js +33 -4
- package/dist/events/relays/activity.event-relay.js.map +1 -1
- package/dist/events/relays/telemetry.event-relay.js +34 -14
- package/dist/events/relays/telemetry.event-relay.js.map +1 -1
- package/dist/execution-lifecycle/execution-lifecycle-hooks.js +10 -6
- package/dist/execution-lifecycle/execution-lifecycle-hooks.js.map +1 -1
- package/dist/execution-lifecycle/shared/shared-hook-functions.d.ts +1 -1
- package/dist/execution-lifecycle/shared/shared-hook-functions.js +2 -1
- package/dist/execution-lifecycle/shared/shared-hook-functions.js.map +1 -1
- package/dist/executions/engine-v2-execution-reader.service.d.ts +26 -0
- package/dist/executions/engine-v2-execution-reader.service.js +58 -13
- package/dist/executions/engine-v2-execution-reader.service.js.map +1 -1
- package/dist/executions/engine-v2-mapping.d.ts +5 -0
- package/dist/executions/engine-v2-mapping.js +30 -0
- package/dist/executions/engine-v2-mapping.js.map +1 -0
- package/dist/executions/execution-cursor.d.ts +51 -0
- package/dist/executions/execution-cursor.js +39 -0
- package/dist/executions/execution-cursor.js.map +1 -0
- package/dist/executions/execution-id.js +2 -2
- package/dist/executions/execution-id.js.map +1 -1
- package/dist/executions/execution-list-v1.service.d.ts +27 -0
- package/dist/executions/execution-list-v1.service.js +98 -0
- package/dist/executions/execution-list-v1.service.js.map +1 -0
- package/dist/executions/execution-list-v2.service.d.ts +25 -0
- package/dist/executions/execution-list-v2.service.js +168 -0
- package/dist/executions/execution-list-v2.service.js.map +1 -0
- package/dist/executions/execution-list.service.d.ts +19 -0
- package/dist/executions/execution-list.service.js +67 -0
- package/dist/executions/execution-list.service.js.map +1 -0
- package/dist/executions/execution-recovery.service.d.ts +1 -2
- package/dist/executions/execution-recovery.service.js +1 -2
- package/dist/executions/execution-recovery.service.js.map +1 -1
- package/dist/executions/execution.service.d.ts +1 -34
- package/dist/executions/execution.service.js +4 -73
- package/dist/executions/execution.service.js.map +1 -1
- package/dist/executions/execution.types.d.ts +4 -2
- package/dist/executions/executions.controller.d.ts +4 -1
- package/dist/executions/executions.controller.js +12 -23
- package/dist/executions/executions.controller.js.map +1 -1
- package/dist/executions/merge-execution-pages.d.ts +10 -0
- package/dist/executions/merge-execution-pages.js +30 -0
- package/dist/executions/merge-execution-pages.js.map +1 -0
- package/dist/executions/parse-range-query.middleware.d.ts +2 -3
- package/dist/executions/parse-range-query.middleware.js +27 -21
- package/dist/executions/parse-range-query.middleware.js.map +1 -1
- package/dist/external-hooks.d.ts +6 -2
- package/dist/load-nodes-and-credentials.d.ts +3 -0
- package/dist/load-nodes-and-credentials.js +37 -15
- package/dist/load-nodes-and-credentials.js.map +1 -1
- package/dist/metrics/prometheus/constant.d.ts +1 -0
- package/dist/metrics/prometheus/constant.js +4 -1
- package/dist/metrics/prometheus/constant.js.map +1 -1
- package/dist/metrics/prometheus/mcp-post-save-metrics.service.d.ts +10 -0
- package/dist/metrics/prometheus/mcp-post-save-metrics.service.js +44 -0
- package/dist/metrics/prometheus/mcp-post-save-metrics.service.js.map +1 -0
- package/dist/metrics/prometheus/prometheus.service.d.ts +3 -1
- package/dist/metrics/prometheus/prometheus.service.js +6 -2
- package/dist/metrics/prometheus/prometheus.service.js.map +1 -1
- package/dist/metrics/prometheus/system-task-metrics.service.d.ts +12 -0
- package/dist/metrics/prometheus/system-task-metrics.service.js +157 -0
- package/dist/metrics/prometheus/system-task-metrics.service.js.map +1 -0
- package/dist/middlewares/list-query/dtos/credentials.select.dto.js +1 -0
- package/dist/middlewares/list-query/dtos/credentials.select.dto.js.map +1 -1
- package/dist/modules/agents/adapters/agents-credential-provider.d.ts +2 -1
- package/dist/modules/agents/adapters/agents-credential-provider.js +3 -1
- package/dist/modules/agents/adapters/agents-credential-provider.js.map +1 -1
- package/dist/modules/agents/agent-chat.controller.js +32 -37
- package/dist/modules/agents/agent-chat.controller.js.map +1 -1
- package/dist/modules/agents/agent-config.service.js +1 -1
- package/dist/modules/agents/agent-config.service.js.map +1 -1
- package/dist/modules/agents/agent-conversation-state.service.d.ts +12 -0
- package/dist/modules/agents/agent-conversation-state.service.js +34 -0
- package/dist/modules/agents/agent-conversation-state.service.js.map +1 -0
- package/dist/modules/agents/agent-custom-tools.service.js +2 -2
- package/dist/modules/agents/agent-custom-tools.service.js.map +1 -1
- package/dist/modules/agents/agent-execution-orchestrator.service.d.ts +13 -6
- package/dist/modules/agents/agent-execution-orchestrator.service.js +284 -417
- package/dist/modules/agents/agent-execution-orchestrator.service.js.map +1 -1
- package/dist/modules/agents/agent-execution-recording.error.d.ts +21 -0
- package/dist/modules/agents/agent-execution-recording.error.js +17 -0
- package/dist/modules/agents/agent-execution-recording.error.js.map +1 -0
- package/dist/modules/agents/agent-execution.service.d.ts +1 -1
- package/dist/modules/agents/agent-execution.service.js +51 -20
- package/dist/modules/agents/agent-execution.service.js.map +1 -1
- package/dist/modules/agents/agent-integration-management.service.d.ts +5 -3
- package/dist/modules/agents/agent-integration-management.service.js +9 -6
- package/dist/modules/agents/agent-integration-management.service.js.map +1 -1
- package/dist/modules/agents/agent-integrations.controller.d.ts +1 -3
- package/dist/modules/agents/agent-integrations.controller.js +4 -6
- package/dist/modules/agents/agent-integrations.controller.js.map +1 -1
- package/dist/modules/agents/agent-message-mapper.d.ts +1 -1
- package/dist/modules/agents/agent-message-mapper.js +3 -0
- package/dist/modules/agents/agent-message-mapper.js.map +1 -1
- package/dist/modules/agents/agent-modification-telemetry.service.d.ts +2 -2
- package/dist/modules/agents/agent-modification-telemetry.service.js.map +1 -1
- package/dist/modules/agents/agent-publish.service.js +5 -5
- package/dist/modules/agents/agent-publish.service.js.map +1 -1
- package/dist/modules/agents/agent-runnable-state.service.js +1 -1
- package/dist/modules/agents/agent-runnable-state.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.js +1 -1
- package/dist/modules/agents/agent-runtime-reconstruction.service.js.map +1 -1
- package/dist/modules/agents/agent-skills.service.js +3 -3
- package/dist/modules/agents/agent-skills.service.js.map +1 -1
- package/dist/modules/agents/agent-sse-stream.d.ts +4 -1
- package/dist/modules/agents/agent-sse-stream.js +46 -33
- package/dist/modules/agents/agent-sse-stream.js.map +1 -1
- package/dist/modules/agents/agent-task.service.js +3 -3
- package/dist/modules/agents/agent-task.service.js.map +1 -1
- package/dist/modules/agents/agent-test-run.service.d.ts +24 -41
- package/dist/modules/agents/agent-test-run.service.js +83 -59
- package/dist/modules/agents/agent-test-run.service.js.map +1 -1
- package/dist/modules/agents/agent-turn-execution.service.d.ts +49 -0
- package/dist/modules/agents/agent-turn-execution.service.js +212 -0
- package/dist/modules/agents/agent-turn-execution.service.js.map +1 -0
- package/dist/modules/agents/agent-workflow-execution.service.d.ts +6 -3
- package/dist/modules/agents/agent-workflow-execution.service.js +77 -105
- package/dist/modules/agents/agent-workflow-execution.service.js.map +1 -1
- package/dist/modules/agents/agent-workflow-tool-resume.service.d.ts +0 -1
- package/dist/modules/agents/agent-workflow-tool-resume.service.js +46 -20
- package/dist/modules/agents/agent-workflow-tool-resume.service.js.map +1 -1
- package/dist/modules/agents/agents-config.controller.js +1 -1
- package/dist/modules/agents/agents-config.controller.js.map +1 -1
- package/dist/modules/agents/background/agent-wake.service.d.ts +3 -5
- package/dist/modules/agents/background/agent-wake.service.js +6 -10
- package/dist/modules/agents/background/agent-wake.service.js.map +1 -1
- package/dist/modules/agents/builder/agents-builder-prompts.d.ts +1 -1
- package/dist/modules/agents/builder/agents-builder-prompts.js +21 -0
- package/dist/modules/agents/builder/agents-builder-prompts.js.map +1 -1
- package/dist/modules/agents/builder/get-resource-locator-options.tool.d.ts +2 -2
- package/dist/modules/agents/builder/skills/external-services.skill.js +4 -1
- package/dist/modules/agents/builder/skills/external-services.skill.js.map +1 -1
- package/dist/modules/agents/entities/agent-checkpoint.entity.d.ts +1 -0
- package/dist/modules/agents/entities/agent-checkpoint.entity.js +10 -1
- package/dist/modules/agents/entities/agent-checkpoint.entity.js.map +1 -1
- package/dist/modules/agents/instance-ai-builder-delegate.adapter.d.ts +1 -1
- package/dist/modules/agents/instance-ai-builder-delegate.adapter.js +3 -3
- package/dist/modules/agents/instance-ai-builder-delegate.adapter.js.map +1 -1
- package/dist/modules/agents/integrations/agent-chat-bridge.d.ts +11 -24
- package/dist/modules/agents/integrations/agent-chat-bridge.js +58 -28
- package/dist/modules/agents/integrations/agent-chat-bridge.js.map +1 -1
- package/dist/modules/agents/integrations/agent-chat-hitl-resume-handler.d.ts +5 -12
- package/dist/modules/agents/integrations/agent-chat-hitl-resume-handler.js +8 -3
- package/dist/modules/agents/integrations/agent-chat-hitl-resume-handler.js.map +1 -1
- package/dist/modules/agents/integrations/agent-chat-integration.d.ts +2 -1
- package/dist/modules/agents/integrations/agent-chat-integration.js.map +1 -1
- package/dist/modules/agents/integrations/agent-chat-message-context.d.ts +4 -4
- package/dist/modules/agents/integrations/agent-chat-message-context.js +4 -37
- package/dist/modules/agents/integrations/agent-chat-message-context.js.map +1 -1
- package/dist/modules/agents/integrations/integration-message-context.d.ts +7 -0
- package/dist/modules/agents/integrations/integration-message-context.js +115 -0
- package/dist/modules/agents/integrations/integration-message-context.js.map +1 -0
- package/dist/modules/agents/integrations/integration-message-context.service.d.ts +8 -3
- package/dist/modules/agents/integrations/integration-message-context.service.js +36 -58
- package/dist/modules/agents/integrations/integration-message-context.service.js.map +1 -1
- package/dist/modules/agents/integrations/integration-tool-definitions.js +1 -1
- package/dist/modules/agents/integrations/integration-tool-definitions.js.map +1 -1
- package/dist/modules/agents/integrations/integration-tool-execution.d.ts +0 -1
- package/dist/modules/agents/integrations/integration-tool-execution.js +19 -42
- package/dist/modules/agents/integrations/integration-tool-execution.js.map +1 -1
- package/dist/modules/agents/integrations/integration-tool-factory.d.ts +0 -1
- package/dist/modules/agents/integrations/integration-tool-factory.js +1 -3
- package/dist/modules/agents/integrations/integration-tool-factory.js.map +1 -1
- package/dist/modules/agents/integrations/integration-tool-types.d.ts +13 -0
- package/dist/modules/agents/integrations/n8n-checkpoint-storage.js +4 -2
- package/dist/modules/agents/integrations/n8n-checkpoint-storage.js.map +1 -1
- package/dist/modules/agents/integrations/platforms/telegram-bridge-behavior.d.ts +2 -0
- package/dist/modules/agents/integrations/platforms/telegram-bridge-behavior.js +40 -0
- package/dist/modules/agents/integrations/platforms/telegram-bridge-behavior.js.map +1 -1
- package/dist/modules/agents/integrations/platforms/telegram-integration.d.ts +1 -0
- package/dist/modules/agents/integrations/platforms/telegram-integration.js +4 -0
- package/dist/modules/agents/integrations/platforms/telegram-integration.js.map +1 -1
- package/dist/modules/agents/repositories/agent-checkpoint.repository.d.ts +1 -1
- package/dist/modules/agents/repositories/agent-checkpoint.repository.js +2 -2
- package/dist/modules/agents/repositories/agent-checkpoint.repository.js.map +1 -1
- package/dist/modules/agents/repositories/agent-execution.repository.d.ts +2 -1
- package/dist/modules/agents/repositories/agent-execution.repository.js +7 -4
- package/dist/modules/agents/repositories/agent-execution.repository.js.map +1 -1
- package/dist/modules/agents/sub-agents/delegate-sub-agent-tool.js +3 -0
- package/dist/modules/agents/sub-agents/delegate-sub-agent-tool.js.map +1 -1
- package/dist/modules/agents/sub-agents/sub-agent-runner.d.ts +3 -4
- package/dist/modules/agents/sub-agents/sub-agent-runner.js +95 -151
- package/dist/modules/agents/sub-agents/sub-agent-runner.js.map +1 -1
- package/dist/modules/agents/tools/workflow-tool-factory.js +1 -1
- package/dist/modules/agents/tools/workflow-tool-factory.js.map +1 -1
- package/dist/modules/agents/utils/agent-credential-provider.d.ts +1 -1
- package/dist/modules/agents/utils/agent-credential-provider.js +2 -2
- package/dist/modules/agents/utils/agent-credential-provider.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 +3 -0
- package/dist/modules/agents/utils/execution-to-message-mapper.js.map +1 -1
- package/dist/modules/agents/utils/mcp-attribution.js +3 -1
- package/dist/modules/agents/utils/mcp-attribution.js.map +1 -1
- package/dist/modules/breaking-changes/breaking-changes.migration-registry.service.d.ts +2 -2
- package/dist/modules/breaking-changes/breaking-changes.migration-registry.service.js.map +1 -1
- package/dist/modules/breaking-changes/breaking-changes.migration.service.d.ts +4 -11
- package/dist/modules/breaking-changes/breaking-changes.migration.service.js +52 -28
- package/dist/modules/breaking-changes/breaking-changes.migration.service.js.map +1 -1
- package/dist/modules/breaking-changes/detection-report.d.ts +5 -0
- package/dist/modules/breaking-changes/detection-report.js +18 -0
- package/dist/modules/breaking-changes/detection-report.js.map +1 -0
- package/dist/modules/breaking-changes/migrations/execute-workflow-each-to-loop.migration.d.ts +2 -0
- package/dist/modules/breaking-changes/migrations/execute-workflow-each-to-loop.migration.js +159 -0
- package/dist/modules/breaking-changes/migrations/execute-workflow-each-to-loop.migration.js.map +1 -0
- package/dist/modules/breaking-changes/migrations/index.d.ts +2 -2
- package/dist/modules/breaking-changes/migrations/index.js +2 -1
- package/dist/modules/breaking-changes/migrations/index.js.map +1 -1
- package/dist/modules/breaking-changes/migrations/node-migration.d.ts +30 -1
- package/dist/modules/breaking-changes/migrations/node-migration.js +12 -0
- package/dist/modules/breaking-changes/migrations/node-migration.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v2/oauth-callback-auth.rule.js +2 -1
- package/dist/modules/breaking-changes/rules/v2/oauth-callback-auth.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v2/pyodide-removed.rule.js +6 -12
- package/dist/modules/breaking-changes/rules/v2/pyodide-removed.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v3/agent-node-version.rule.js +6 -12
- package/dist/modules/breaking-changes/rules/v3/agent-node-version.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v3/agent-removed-modes.rule.js +7 -13
- package/dist/modules/breaking-changes/rules/v3/agent-removed-modes.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v3/ai-transform-deprecated.rule.js +6 -12
- package/dist/modules/breaking-changes/rules/v3/ai-transform-deprecated.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v3/always-output-data-multi-output.rule.js +6 -13
- package/dist/modules/breaking-changes/rules/v3/always-output-data-multi-output.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v3/caller-policy-default-any.rule.js +2 -1
- package/dist/modules/breaking-changes/rules/v3/caller-policy-default-any.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v3/chat-hub-deprecated.rule.js +2 -1
- package/dist/modules/breaking-changes/rules/v3/chat-hub-deprecated.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v3/chat-trigger-embedded-json.rule.js +6 -12
- package/dist/modules/breaking-changes/rules/v3/chat-trigger-embedded-json.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v3/compression-node-limits.rule.js +2 -1
- package/dist/modules/breaking-changes/rules/v3/compression-node-limits.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v3/docker-only-deployment.rule.js +2 -1
- package/dist/modules/breaking-changes/rules/v3/docker-only-deployment.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v3/execute-workflow-each-mode.rule.js +6 -12
- package/dist/modules/breaking-changes/rules/v3/execute-workflow-each-mode.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v3/execute-workflow-source-modes.rule.js +6 -12
- package/dist/modules/breaking-changes/rules/v3/execute-workflow-source-modes.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v3/external-secrets-project-roles-default.rule.js +3 -2
- package/dist/modules/breaking-changes/rules/v3/external-secrets-project-roles-default.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v3/get-paired-item.rule.js +6 -12
- package/dist/modules/breaking-changes/rules/v3/get-paired-item.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v3/gmail-trigger-version.rule.js +6 -12
- package/dist/modules/breaking-changes/rules/v3/gmail-trigger-version.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v3/in-memory-binary-data.rule.js +2 -1
- package/dist/modules/breaking-changes/rules/v3/in-memory-binary-data.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v3/offload-manual-executions.rule.js +2 -1
- package/dist/modules/breaking-changes/rules/v3/offload-manual-executions.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v3/pre-execute-error-creates-execution.rule.js +2 -1
- package/dist/modules/breaking-changes/rules/v3/pre-execute-error-creates-execution.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v3/ssrf-default-blocked-ranges.rule.js +2 -1
- package/dist/modules/breaking-changes/rules/v3/ssrf-default-blocked-ranges.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v3/task-runner-task-timeout.rule.js +2 -1
- package/dist/modules/breaking-changes/rules/v3/task-runner-task-timeout.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v3/unverified-packages.rule.js +2 -1
- package/dist/modules/breaking-changes/rules/v3/unverified-packages.rule.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-workflow.service.d.ts +1 -0
- package/dist/modules/chat-hub/chat-hub-workflow.service.js +7 -2
- package/dist/modules/chat-hub/chat-hub-workflow.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.attachment.service.js +3 -1
- package/dist/modules/chat-hub/chat-hub.attachment.service.js.map +1 -1
- package/dist/modules/community-packages/community-node-types-utils.d.ts +2 -2
- package/dist/modules/community-packages/community-node-types-utils.js +4 -2
- package/dist/modules/community-packages/community-node-types-utils.js.map +1 -1
- package/dist/modules/community-packages/community-node-types.service.d.ts +1 -0
- package/dist/modules/community-packages/community-node-types.service.js +12 -6
- package/dist/modules/community-packages/community-node-types.service.js.map +1 -1
- package/dist/modules/community-packages/community-packages.config.d.ts +1 -0
- package/dist/modules/community-packages/community-packages.config.js +2 -0
- package/dist/modules/community-packages/community-packages.config.js.map +1 -1
- package/dist/modules/community-packages/community-packages.lifecycle.service.d.ts +2 -1
- package/dist/modules/community-packages/community-packages.lifecycle.service.js +23 -18
- package/dist/modules/community-packages/community-packages.lifecycle.service.js.map +1 -1
- package/dist/modules/community-packages/community-packages.service.d.ts +1 -0
- package/dist/modules/community-packages/community-packages.service.js +33 -2
- package/dist/modules/community-packages/community-packages.service.js.map +1 -1
- package/dist/modules/engine-v2/engine-data-plane-client.d.ts +2 -1
- package/dist/modules/engine-v2/engine-data-plane-client.js +14 -0
- package/dist/modules/engine-v2/engine-data-plane-client.js.map +1 -1
- package/dist/modules/engine-v2/engine-v2.module.d.ts +1 -0
- package/dist/modules/engine-v2/engine-v2.module.js +11 -2
- package/dist/modules/engine-v2/engine-v2.module.js.map +1 -1
- package/dist/modules/engine-v2/engine-v2.runtime.d.ts +11 -2
- package/dist/modules/engine-v2/engine-v2.runtime.js +29 -11
- package/dist/modules/engine-v2/engine-v2.runtime.js.map +1 -1
- package/dist/modules/external-secrets.ee/constants.d.ts +0 -1
- package/dist/modules/external-secrets.ee/constants.js +1 -2
- package/dist/modules/external-secrets.ee/constants.js.map +1 -1
- package/dist/modules/external-secrets.ee/external-secrets-provider-connection-manager.ee.d.ts +1 -2
- package/dist/modules/external-secrets.ee/external-secrets-provider-connection-manager.ee.js +28 -29
- package/dist/modules/external-secrets.ee/external-secrets-provider-connection-manager.ee.js.map +1 -1
- package/dist/modules/external-secrets.ee/external-secrets.config.d.ts +2 -0
- package/dist/modules/external-secrets.ee/external-secrets.config.js +12 -0
- package/dist/modules/external-secrets.ee/external-secrets.config.js.map +1 -1
- package/dist/modules/external-secrets.ee/provider-lifecycle.service.js +1 -1
- package/dist/modules/external-secrets.ee/provider-lifecycle.service.js.map +1 -1
- package/dist/modules/external-secrets.ee/providers/infisical.js +6 -2
- package/dist/modules/external-secrets.ee/providers/infisical.js.map +1 -1
- package/dist/modules/external-secrets.ee/providers/vault.d.ts +1 -0
- package/dist/modules/external-secrets.ee/providers/vault.js +43 -13
- package/dist/modules/external-secrets.ee/providers/vault.js.map +1 -1
- package/dist/modules/external-secrets.ee/retry-manager.service.js +9 -1
- package/dist/modules/external-secrets.ee/retry-manager.service.js.map +1 -1
- package/dist/modules/external-secrets.ee/secrets-cache.service.d.ts +5 -2
- package/dist/modules/external-secrets.ee/secrets-cache.service.js +23 -20
- package/dist/modules/external-secrets.ee/secrets-cache.service.js.map +1 -1
- package/dist/modules/external-secrets.ee/types.d.ts +1 -0
- package/dist/modules/external-secrets.ee/types.js +7 -1
- package/dist/modules/external-secrets.ee/types.js.map +1 -1
- package/dist/modules/external-secrets.ee/with-timeout.d.ts +4 -0
- package/dist/modules/external-secrets.ee/with-timeout.js +21 -0
- package/dist/modules/external-secrets.ee/with-timeout.js.map +1 -0
- package/dist/modules/insights/database/repositories/insights-by-period.repository.d.ts +3 -2
- package/dist/modules/insights/database/repositories/insights-by-period.repository.js +4 -3
- package/dist/modules/insights/database/repositories/insights-by-period.repository.js.map +1 -1
- package/dist/modules/insights/insights-collection.service.js +10 -2
- package/dist/modules/insights/insights-collection.service.js.map +1 -1
- package/dist/modules/insights/insights.module.d.ts +1 -1
- package/dist/modules/instance-ai/computer-use-availability.d.ts +14 -0
- package/dist/modules/instance-ai/computer-use-availability.js +42 -0
- package/dist/modules/instance-ai/computer-use-availability.js.map +1 -0
- package/dist/modules/instance-ai/eval/agent-execution.service.js +1 -1
- package/dist/modules/instance-ai/eval/agent-execution.service.js.map +1 -1
- package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.d.ts +4 -2
- package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.js +17 -3
- package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.js.map +1 -1
- package/dist/modules/instance-ai/eval/execution.service.js +14 -4
- package/dist/modules/instance-ai/eval/execution.service.js.map +1 -1
- package/dist/modules/instance-ai/eval/thread-restore.service.d.ts +9 -3
- package/dist/modules/instance-ai/eval/thread-restore.service.js +75 -7
- package/dist/modules/instance-ai/eval/thread-restore.service.js.map +1 -1
- package/dist/modules/instance-ai/eval/workflow-analysis.d.ts +3 -1
- package/dist/modules/instance-ai/eval/workflow-analysis.js +16 -2
- package/dist/modules/instance-ai/eval/workflow-analysis.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai-conversation-history.service.js +1 -1
- package/dist/modules/instance-ai/instance-ai-conversation-history.service.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai-execution-wait.d.ts +14 -0
- package/dist/modules/instance-ai/instance-ai-execution-wait.js +66 -0
- package/dist/modules/instance-ai/instance-ai-execution-wait.js.map +1 -0
- package/dist/modules/instance-ai/instance-ai-settings.service.js +1 -4
- package/dist/modules/instance-ai/instance-ai-settings.service.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai-step-run.d.ts +32 -0
- package/dist/modules/instance-ai/instance-ai-step-run.js +135 -0
- package/dist/modules/instance-ai/instance-ai-step-run.js.map +1 -0
- package/dist/modules/instance-ai/instance-ai.adapter.service.d.ts +9 -2
- package/dist/modules/instance-ai/instance-ai.adapter.service.js +305 -92
- package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.controller.d.ts +1 -0
- package/dist/modules/instance-ai/instance-ai.controller.js +17 -4
- package/dist/modules/instance-ai/instance-ai.controller.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.service.d.ts +4 -4
- package/dist/modules/instance-ai/instance-ai.service.js +85 -121
- package/dist/modules/instance-ai/instance-ai.service.js.map +1 -1
- package/dist/modules/instance-ai/instance-context.service.d.ts +39 -10
- package/dist/modules/instance-ai/instance-context.service.js +283 -69
- package/dist/modules/instance-ai/instance-context.service.js.map +1 -1
- package/dist/modules/instance-ai/internal-messages.d.ts +11 -2
- package/dist/modules/instance-ai/internal-messages.js +183 -16
- package/dist/modules/instance-ai/internal-messages.js.map +1 -1
- package/dist/modules/instance-ai/message-parser.js.map +1 -1
- package/dist/modules/instance-registry/instance-registry.module.d.ts +2 -2
- package/dist/modules/instance-registry/instance-registry.module.js +5 -1
- package/dist/modules/instance-registry/instance-registry.module.js.map +1 -1
- package/dist/modules/instance-registry/stale-member-cleanup.task.d.ts +1 -1
- package/dist/modules/instance-registry/stale-member-cleanup.task.js +1 -1
- package/dist/modules/instance-registry/stale-member-cleanup.task.js.map +1 -1
- package/dist/modules/instance-registry/storage/redis-instance-storage.js +2 -10
- package/dist/modules/instance-registry/storage/redis-instance-storage.js.map +1 -1
- package/dist/modules/mcp/mcp-post-save-metrics.service.d.ts +10 -0
- package/dist/modules/mcp/mcp-post-save-metrics.service.js +40 -0
- package/dist/modules/mcp/mcp-post-save-metrics.service.js.map +1 -0
- package/dist/modules/mcp/mcp-protected-resource.d.ts +5 -2
- package/dist/modules/mcp/mcp-protected-resource.js +25 -4
- package/dist/modules/mcp/mcp-protected-resource.js.map +1 -1
- package/dist/modules/mcp/mcp-scopes.d.ts +3 -0
- package/dist/modules/mcp/mcp-scopes.js +21 -1
- package/dist/modules/mcp/mcp-scopes.js.map +1 -1
- package/dist/modules/mcp/mcp-tool-availability.d.ts +7 -0
- package/dist/modules/mcp/mcp-tool-availability.js +11 -0
- package/dist/modules/mcp/mcp-tool-availability.js.map +1 -1
- package/dist/modules/mcp/mcp.config.d.ts +1 -0
- package/dist/modules/mcp/mcp.config.js +5 -0
- package/dist/modules/mcp/mcp.config.js.map +1 -1
- package/dist/modules/mcp/mcp.constants.d.ts +6 -0
- package/dist/modules/mcp/mcp.constants.js +7 -1
- package/dist/modules/mcp/mcp.constants.js.map +1 -1
- package/dist/modules/mcp/mcp.controller.js +3 -6
- package/dist/modules/mcp/mcp.controller.js.map +1 -1
- package/dist/modules/mcp/mcp.service.d.ts +11 -7
- package/dist/modules/mcp/mcp.service.js +116 -43
- package/dist/modules/mcp/mcp.service.js.map +1 -1
- package/dist/modules/mcp/mcp.types.d.ts +0 -1
- package/dist/modules/mcp/tools/get-instance-context.tool.d.ts +29 -0
- package/dist/modules/mcp/tools/get-instance-context.tool.js +109 -0
- package/dist/modules/mcp/tools/get-instance-context.tool.js.map +1 -0
- package/dist/modules/mcp/tools/get-node-usage.tool.d.ts +13 -0
- package/dist/modules/mcp/tools/get-node-usage.tool.js +117 -0
- package/dist/modules/mcp/tools/get-node-usage.tool.js.map +1 -0
- package/dist/modules/mcp/tools/get-user-preferences.tool.d.ts +10 -0
- package/dist/modules/mcp/tools/get-user-preferences.tool.js +108 -0
- package/dist/modules/mcp/tools/get-user-preferences.tool.js.map +1 -0
- package/dist/modules/mcp/tools/instance-activity.tool.d.ts +27 -0
- package/dist/modules/mcp/tools/instance-activity.tool.js +205 -0
- package/dist/modules/mcp/tools/instance-activity.tool.js.map +1 -0
- package/dist/modules/mcp/tools/list-credentials.tool.d.ts +63 -13
- package/dist/modules/mcp/tools/list-credentials.tool.js +8 -1
- package/dist/modules/mcp/tools/list-credentials.tool.js.map +1 -1
- package/dist/modules/mcp/tools/search-executions.tool.d.ts +3 -3
- package/dist/modules/mcp/tools/search-executions.tool.js +22 -14
- package/dist/modules/mcp/tools/search-executions.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.d.ts +8 -4
- package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js +128 -70
- package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/error-code.utils.d.ts +1 -0
- package/dist/modules/mcp/tools/workflow-builder/error-code.utils.js +22 -0
- package/dist/modules/mcp/tools/workflow-builder/error-code.utils.js.map +1 -0
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-best-practices.tool.d.ts +1 -3
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-best-practices.tool.js +5 -6
- 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.d.ts +1 -1
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-node-types.tool.js +2 -2
- 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.d.ts +2 -5
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-sdk-reference.tool.js +10 -16
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-sdk-reference.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/install-community-node.tool.d.ts +12 -0
- package/dist/modules/mcp/tools/workflow-builder/install-community-node.tool.js +140 -0
- package/dist/modules/mcp/tools/workflow-builder/install-community-node.tool.js.map +1 -0
- package/dist/modules/mcp/tools/workflow-builder/mcp-instructions.d.ts +2 -2
- package/dist/modules/mcp/tools/workflow-builder/mcp-instructions.js +17 -9
- package/dist/modules/mcp/tools/workflow-builder/mcp-instructions.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/sdk-reference-content.d.ts +1 -3
- package/dist/modules/mcp/tools/workflow-builder/sdk-reference-content.js +2 -6
- package/dist/modules/mcp/tools/workflow-builder/sdk-reference-content.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/search-workflow-nodes.tool.d.ts +1 -1
- package/dist/modules/mcp/tools/workflow-builder/search-workflow-nodes.tool.js +9 -8
- package/dist/modules/mcp/tools/workflow-builder/search-workflow-nodes.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/uninstalled-node-warnings.d.ts +13 -0
- package/dist/modules/mcp/tools/workflow-builder/uninstalled-node-warnings.js +23 -0
- package/dist/modules/mcp/tools/workflow-builder/uninstalled-node-warnings.js.map +1 -0
- package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.d.ts +18 -14
- package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js +200 -87
- 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.d.ts +1 -4
- package/dist/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.js +3 -5
- 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 +1 -3
- package/dist/modules/mcp/tools/workflow-builder/workflow-operations.js +2 -2
- package/dist/modules/mcp/tools/workflow-builder/workflow-operations.js.map +1 -1
- package/dist/modules/mcp-registry/node-description-transform.js +3 -0
- package/dist/modules/mcp-registry/node-description-transform.js.map +1 -1
- package/dist/modules/mcp-registry/registry/mcp-registry-api.client.js +1 -1
- package/dist/modules/mcp-registry/registry/mcp-registry-api.client.js.map +1 -1
- package/dist/modules/mcp-registry/registry/mcp-registry-capabilities.d.ts +6 -0
- package/dist/modules/mcp-registry/registry/mcp-registry-capabilities.js +34 -0
- package/dist/modules/mcp-registry/registry/mcp-registry-capabilities.js.map +1 -0
- package/dist/modules/mcp-registry/registry/mcp-registry-server.entity.d.ts +1 -0
- package/dist/modules/mcp-registry/registry/mcp-registry-server.entity.js.map +1 -1
- package/dist/modules/mcp-registry/registry/mcp-registry.service.d.ts +4 -1
- package/dist/modules/mcp-registry/registry/mcp-registry.service.js +20 -9
- package/dist/modules/mcp-registry/registry/mcp-registry.service.js.map +1 -1
- package/dist/modules/mcp-registry/registry/mcp-registry.types.d.ts +3 -0
- package/dist/modules/mcp-registry/registry/mcp-registry.types.js +1 -0
- package/dist/modules/mcp-registry/registry/mcp-registry.types.js.map +1 -1
- package/dist/modules/n8n-packages/engine/n8n-package-parser.js +1 -1
- package/dist/modules/n8n-packages/engine/n8n-package-parser.js.map +1 -1
- package/dist/modules/n8n-packages/entities/credential/credential.serializer.js.map +1 -1
- package/dist/modules/n8n-packages/entities/variable/variable-requirements.extractor.d.ts +8 -2
- package/dist/modules/n8n-packages/entities/variable/variable-requirements.extractor.js.map +1 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow-published-state.d.ts +1 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow-published-state.js +2 -2
- package/dist/modules/n8n-packages/entities/workflow/workflow-published-state.js.map +1 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow.serializer.d.ts +1 -2
- package/dist/modules/n8n-packages/entities/workflow/workflow.serializer.js +4 -2
- package/dist/modules/n8n-packages/entities/workflow/workflow.serializer.js.map +1 -1
- package/dist/modules/n8n-packages/io/directory/package-directory-inventory-reader.d.ts +43 -0
- package/dist/modules/n8n-packages/io/directory/package-directory-inventory-reader.js +177 -0
- package/dist/modules/n8n-packages/io/directory/package-directory-inventory-reader.js.map +1 -0
- package/dist/modules/n8n-packages/spec/serialized/workflow-metadata.schema.d.ts +3 -0
- package/dist/modules/n8n-packages/spec/serialized/workflow-metadata.schema.js +1 -0
- package/dist/modules/n8n-packages/spec/serialized/workflow-metadata.schema.js.map +1 -1
- package/dist/modules/n8n-packages/spec/serialized/workflow.schema.d.ts +0 -3
- package/dist/modules/n8n-packages/spec/serialized/workflow.schema.js +0 -1
- package/dist/modules/n8n-packages/spec/serialized/workflow.schema.js.map +1 -1
- package/dist/modules/oauth-jwe/oauth-jwe-key.service.d.ts +1 -0
- package/dist/modules/oauth-jwe/oauth-jwe-key.service.js +10 -3
- package/dist/modules/oauth-jwe/oauth-jwe-key.service.js.map +1 -1
- package/dist/modules/oauth-server/oauth-clients.controller.js +1 -1
- package/dist/modules/oauth-server/oauth-clients.controller.js.map +1 -1
- package/dist/modules/oauth-server/oauth-consent.service.d.ts +1 -0
- package/dist/modules/oauth-server/oauth-consent.service.js +21 -10
- package/dist/modules/oauth-server/oauth-consent.service.js.map +1 -1
- package/dist/modules/oauth-server/oauth-server.service.d.ts +1 -1
- package/dist/modules/oauth-server/oauth-server.service.js +2 -2
- package/dist/modules/oauth-server/oauth-server.service.js.map +1 -1
- package/dist/modules/oauth-server/oauth-token.service.d.ts +3 -1
- package/dist/modules/oauth-server/oauth-token.service.js +10 -2
- package/dist/modules/oauth-server/oauth-token.service.js.map +1 -1
- package/dist/modules/policy-infrastructure/policy-decision-audit.d.ts +1 -1
- package/dist/modules/policy-infrastructure/policy-decision-audit.js +8 -1
- package/dist/modules/policy-infrastructure/policy-decision-audit.js.map +1 -1
- package/dist/modules/policy-infrastructure/policy-decision.service.js +1 -0
- package/dist/modules/policy-infrastructure/policy-decision.service.js.map +1 -1
- package/dist/modules/promotions.ee/base-branch-files.d.ts +2 -2
- package/dist/modules/promotions.ee/base-branch-files.js +2 -3
- package/dist/modules/promotions.ee/base-branch-files.js.map +1 -1
- package/dist/modules/promotions.ee/constants.d.ts +1 -0
- package/dist/modules/promotions.ee/constants.js +2 -1
- package/dist/modules/promotions.ee/constants.js.map +1 -1
- package/dist/modules/promotions.ee/database/repositories/promotion-provider.repository.js +1 -14
- package/dist/modules/promotions.ee/database/repositories/promotion-provider.repository.js.map +1 -1
- package/dist/modules/promotions.ee/promotion-binding-preflight.service.d.ts +22 -0
- package/dist/modules/promotions.ee/promotion-binding-preflight.service.js +264 -0
- package/dist/modules/promotions.ee/promotion-binding-preflight.service.js.map +1 -0
- package/dist/modules/promotions.ee/promotion-change.service.d.ts +8 -3
- package/dist/modules/promotions.ee/promotion-change.service.js +133 -24
- package/dist/modules/promotions.ee/promotion-change.service.js.map +1 -1
- package/dist/modules/promotions.ee/promotion-changes.controller.d.ts +2 -2
- package/dist/modules/promotions.ee/promotion-changes.controller.js +10 -12
- package/dist/modules/promotions.ee/promotion-changes.controller.js.map +1 -1
- package/dist/modules/promotions.ee/promotion-connections.service.d.ts +48 -2
- package/dist/modules/promotions.ee/promotion-connections.service.js +66 -14
- package/dist/modules/promotions.ee/promotion-connections.service.js.map +1 -1
- package/dist/modules/promotions.ee/promotions-git.service.d.ts +8 -1
- package/dist/modules/promotions.ee/promotions-git.service.js +27 -9
- package/dist/modules/promotions.ee/promotions-git.service.js.map +1 -1
- package/dist/modules/promotions.ee/promotions-git.utils.d.ts +8 -2
- package/dist/modules/promotions.ee/promotions-git.utils.js +10 -0
- package/dist/modules/promotions.ee/promotions-git.utils.js.map +1 -1
- package/dist/modules/promotions.ee/promotions.service.d.ts +9 -5
- package/dist/modules/promotions.ee/promotions.service.js +78 -21
- package/dist/modules/promotions.ee/promotions.service.js.map +1 -1
- package/dist/modules/promotions.ee/promotions.types.d.ts +6 -0
- package/dist/modules/promotions.ee/promotions.types.js.map +1 -1
- package/dist/modules/token-exchange/database/repositories/token-exchange-jti.repository.js +1 -0
- package/dist/modules/token-exchange/database/repositories/token-exchange-jti.repository.js.map +1 -1
- package/dist/modules/token-exchange/services/jti-cleanup.task.d.ts +1 -1
- package/dist/modules/token-exchange/services/jti-cleanup.task.js +1 -1
- package/dist/modules/token-exchange/services/jti-cleanup.task.js.map +1 -1
- package/dist/modules/type-availability-policies/constants.d.ts +1 -0
- package/dist/modules/type-availability-policies/constants.js +2 -1
- package/dist/modules/type-availability-policies/constants.js.map +1 -1
- package/dist/modules/type-availability-policies/database/entities/type-availability-policy.entity.js +2 -1
- package/dist/modules/type-availability-policies/database/entities/type-availability-policy.entity.js.map +1 -1
- package/dist/modules/type-availability-policies/database/repositories/type-availability-policy-scope.repository.d.ts +2 -1
- package/dist/modules/type-availability-policies/database/repositories/type-availability-policy-scope.repository.js +12 -0
- package/dist/modules/type-availability-policies/database/repositories/type-availability-policy-scope.repository.js.map +1 -1
- package/dist/modules/type-availability-policies/database/repositories/type-availability-policy.repository.d.ts +5 -1
- package/dist/modules/type-availability-policies/database/repositories/type-availability-policy.repository.js +11 -2
- package/dist/modules/type-availability-policies/database/repositories/type-availability-policy.repository.js.map +1 -1
- package/dist/modules/type-availability-policies/node-type-policy.check.d.ts +17 -0
- package/dist/modules/type-availability-policies/node-type-policy.check.js +87 -0
- package/dist/modules/type-availability-policies/node-type-policy.check.js.map +1 -0
- package/dist/modules/type-availability-policies/package-resolver.d.ts +4 -0
- package/dist/modules/type-availability-policies/package-resolver.js +26 -0
- package/dist/modules/type-availability-policies/package-resolver.js.map +1 -0
- package/dist/modules/type-availability-policies/policy-evaluator.d.ts +6 -4
- package/dist/modules/type-availability-policies/policy-evaluator.js +16 -13
- package/dist/modules/type-availability-policies/policy-evaluator.js.map +1 -1
- package/dist/modules/type-availability-policies/policy-rule.types.d.ts +4 -0
- package/dist/modules/type-availability-policies/policy-shadow-lint.d.ts +2 -1
- package/dist/modules/type-availability-policies/policy-shadow-lint.js +7 -5
- package/dist/modules/type-availability-policies/policy-shadow-lint.js.map +1 -1
- package/dist/modules/type-availability-policies/type-availability-policies.module.d.ts +1 -1
- package/dist/modules/type-availability-policies/type-availability-policies.module.js +1 -0
- package/dist/modules/type-availability-policies/type-availability-policies.module.js.map +1 -1
- package/dist/modules/type-availability-policies/type-availability-policy-instance.controller.js +3 -3
- package/dist/modules/type-availability-policies/type-availability-policy-instance.controller.js.map +1 -1
- package/dist/modules/type-availability-policies/type-availability-policy.service.d.ts +33 -4
- package/dist/modules/type-availability-policies/type-availability-policy.service.js +189 -28
- package/dist/modules/type-availability-policies/type-availability-policy.service.js.map +1 -1
- package/dist/modules/workflow-index/workflow-index.service.js +5 -2
- package/dist/modules/workflow-index/workflow-index.service.js.map +1 -1
- package/dist/node-catalog/index.d.ts +1 -1
- package/dist/node-catalog/index.js.map +1 -1
- package/dist/node-catalog/node-catalog.service.d.ts +28 -4
- package/dist/node-catalog/node-catalog.service.js +202 -7
- package/dist/node-catalog/node-catalog.service.js.map +1 -1
- package/dist/node-catalog/registry-lookup.d.ts +12 -0
- package/dist/node-catalog/registry-lookup.js +68 -0
- package/dist/node-catalog/registry-lookup.js.map +1 -0
- package/dist/node-execution/execute-node.service.d.ts +72 -0
- package/dist/node-execution/execute-node.service.js +297 -0
- package/dist/node-execution/execute-node.service.js.map +1 -0
- package/dist/node-execution/index.d.ts +2 -0
- package/dist/node-execution/index.js +5 -1
- package/dist/node-execution/index.js.map +1 -1
- package/dist/oauth/dcr-managed-fields.d.ts +1 -1
- package/dist/oauth/dcr-managed-fields.js +4 -2
- package/dist/oauth/dcr-managed-fields.js.map +1 -1
- package/dist/policy/policy-enforcement-backend.d.ts +2 -1
- package/dist/policy/policy-enforcement.service.d.ts +3 -1
- package/dist/policy/policy-enforcement.service.js +9 -0
- package/dist/policy/policy-enforcement.service.js.map +1 -1
- package/dist/posthog/index.d.ts +1 -0
- package/dist/posthog/index.js +35 -14
- package/dist/posthog/index.js.map +1 -1
- package/dist/public-api/constants.d.ts +1 -0
- package/dist/public-api/constants.js +5 -0
- package/dist/public-api/constants.js.map +1 -0
- package/dist/public-api/public-api-controller.registry.d.ts +1 -0
- package/dist/public-api/public-api-controller.registry.js +15 -0
- package/dist/public-api/public-api-controller.registry.js.map +1 -1
- package/dist/public-api/types.d.ts +2 -27
- package/dist/public-api/v1/controllers/credentials.public.controller.d.ts +3 -1
- package/dist/public-api/v1/controllers/credentials.public.controller.js +52 -1
- package/dist/public-api/v1/controllers/credentials.public.controller.js.map +1 -1
- package/dist/public-api/v1/controllers/executions.public.controller.js +3 -3
- package/dist/public-api/v1/controllers/executions.public.controller.js.map +1 -1
- package/dist/public-api/v1/controllers/folders.public.controller.d.ts +10 -0
- package/dist/public-api/v1/controllers/folders.public.controller.js +121 -0
- package/dist/public-api/v1/controllers/folders.public.controller.js.map +1 -0
- package/dist/public-api/v1/controllers/index.d.ts +2 -0
- package/dist/public-api/v1/controllers/index.js +2 -0
- package/dist/public-api/v1/controllers/index.js.map +1 -1
- package/dist/public-api/v1/controllers/insights.public.controller.d.ts +9 -0
- package/dist/public-api/v1/controllers/insights.public.controller.js +69 -0
- package/dist/public-api/v1/controllers/insights.public.controller.js.map +1 -0
- package/dist/public-api/v1/controllers/node-type-policies.public.controller.d.ts +11 -5
- package/dist/public-api/v1/controllers/node-type-policies.public.controller.js +152 -4
- package/dist/public-api/v1/controllers/node-type-policies.public.controller.js.map +1 -1
- package/dist/public-api/v1/controllers/promotions.public.controller.d.ts +5 -2
- package/dist/public-api/v1/controllers/promotions.public.controller.js +60 -4
- package/dist/public-api/v1/controllers/promotions.public.controller.js.map +1 -1
- package/dist/public-api/v1/controllers/roles.public.controller.js +1 -0
- package/dist/public-api/v1/controllers/roles.public.controller.js.map +1 -1
- package/dist/public-api/v1/controllers/tags.public.controller.d.ts +3 -1
- package/dist/public-api/v1/controllers/tags.public.controller.js +61 -0
- package/dist/public-api/v1/controllers/tags.public.controller.js.map +1 -1
- package/dist/public-api/v1/handlers/credentials/credentials.utils.d.ts +3 -3
- package/dist/public-api/v1/handlers/credentials/credentials.utils.js +1 -6
- package/dist/public-api/v1/handlers/credentials/credentials.utils.js.map +1 -1
- package/dist/public-api/v1/handlers/folders/folders.handler.d.ts +0 -7
- package/dist/public-api/v1/handlers/folders/folders.handler.js +0 -29
- package/dist/public-api/v1/handlers/folders/folders.handler.js.map +1 -1
- package/dist/public-api/v1/openapi.yml +4051 -2008
- package/dist/public-api/v1/shared/middlewares/global.middleware.d.ts +1 -1
- package/dist/public-api/v1/shared/middlewares/global.middleware.js +4 -3
- package/dist/public-api/v1/shared/middlewares/global.middleware.js.map +1 -1
- package/dist/requests.d.ts +1 -0
- package/dist/scheduling/durable-job-provisioner.d.ts +10 -1
- package/dist/scheduling/durable-job-provisioner.js +26 -9
- package/dist/scheduling/durable-job-provisioner.js.map +1 -1
- package/dist/scheduling/durable-scheduler.d.ts +2 -1
- package/dist/scheduling/durable-scheduler.js +4 -3
- package/dist/scheduling/durable-scheduler.js.map +1 -1
- package/dist/scheduling/scheduled-job-owner-registry.d.ts +2 -1
- package/dist/scheduling/scheduled-job-owner-registry.js +2 -1
- package/dist/scheduling/scheduled-job-owner-registry.js.map +1 -1
- package/dist/scheduling/system-tasks/emit-system-task-metric.d.ts +3 -0
- package/dist/scheduling/system-tasks/emit-system-task-metric.js +11 -0
- package/dist/scheduling/system-tasks/emit-system-task-metric.js.map +1 -0
- package/dist/scheduling/system-tasks/system-task-handler.d.ts +5 -1
- package/dist/scheduling/system-tasks/system-task-handler.js +9 -8
- package/dist/scheduling/system-tasks/system-task-handler.js.map +1 -1
- package/dist/scheduling/system-tasks/system-task-job-registrar.d.ts +28 -0
- package/dist/scheduling/system-tasks/system-task-job-registrar.js +130 -0
- package/dist/scheduling/system-tasks/system-task-job-registrar.js.map +1 -0
- package/dist/scheduling/system-tasks/system-task-run-observer.d.ts +13 -0
- package/dist/scheduling/system-tasks/system-task-run-observer.js +54 -0
- package/dist/scheduling/system-tasks/system-task-run-observer.js.map +1 -0
- package/dist/scheduling/system-tasks/system-task-runner.d.ts +13 -3
- package/dist/scheduling/system-tasks/system-task-runner.js +85 -15
- package/dist/scheduling/system-tasks/system-task-runner.js.map +1 -1
- package/dist/scheduling/system-tasks/system-task-scheduled-job-owner.d.ts +13 -0
- package/dist/scheduling/system-tasks/system-task-scheduled-job-owner.js +51 -0
- package/dist/scheduling/system-tasks/system-task-scheduled-job-owner.js.map +1 -0
- package/dist/scheduling/system-tasks/system-task-timer.d.ts +3 -1
- package/dist/scheduling/system-tasks/system-task-timer.js +33 -9
- package/dist/scheduling/system-tasks/system-task-timer.js.map +1 -1
- package/dist/scheduling/system-tasks/system-task-version-stamp.d.ts +5 -0
- package/dist/scheduling/system-tasks/system-task-version-stamp.js +14 -0
- package/dist/scheduling/system-tasks/system-task-version-stamp.js.map +1 -0
- package/dist/server.d.ts +0 -1
- package/dist/server.js +4 -2
- package/dist/server.js.map +1 -1
- package/dist/services/ai-gateway.service.d.ts +2 -1
- package/dist/services/ai-gateway.service.js +7 -4
- package/dist/services/ai-gateway.service.js.map +1 -1
- package/dist/services/ai-preference.service.d.ts +29 -5
- package/dist/services/ai-preference.service.js +119 -20
- package/dist/services/ai-preference.service.js.map +1 -1
- package/dist/services/credentials-tester.service.js +12 -0
- package/dist/services/credentials-tester.service.js.map +1 -1
- package/dist/services/engine-data-plane-proxy.service.d.ts +3 -1
- package/dist/services/engine-data-plane-proxy.service.js +5 -0
- package/dist/services/engine-data-plane-proxy.service.js.map +1 -1
- package/dist/services/free-ai-credits.service.d.ts +1 -0
- package/dist/services/frontend.service.js +2 -1
- package/dist/services/frontend.service.js.map +1 -1
- package/dist/services/protected-resource.registry.d.ts +2 -1
- package/dist/services/protected-resource.registry.js.map +1 -1
- package/dist/services/role.service.js +5 -4
- package/dist/services/role.service.js.map +1 -1
- package/dist/utils/strapi-utils.d.ts +1 -0
- package/dist/utils/strapi-utils.js.map +1 -1
- package/dist/wait-tracker.d.ts +5 -0
- package/dist/wait-tracker.js +130 -20
- package/dist/wait-tracker.js.map +1 -1
- package/dist/webhooks/live-webhooks.js +2 -2
- package/dist/webhooks/live-webhooks.js.map +1 -1
- package/dist/webhooks/test-webhook-registrations.service.d.ts +3 -1
- package/dist/webhooks/test-webhook-registrations.service.js +24 -11
- package/dist/webhooks/test-webhook-registrations.service.js.map +1 -1
- package/dist/webhooks/test-webhooks.d.ts +1 -0
- package/dist/webhooks/test-webhooks.js +9 -4
- package/dist/webhooks/test-webhooks.js.map +1 -1
- package/dist/webhooks/webhook-helpers.d.ts +1 -1
- package/dist/webhooks/webhook-helpers.js +113 -92
- package/dist/webhooks/webhook-helpers.js.map +1 -1
- package/dist/workflow-helpers.d.ts +1 -1
- package/dist/workflow-helpers.js +10 -3
- package/dist/workflow-helpers.js.map +1 -1
- package/dist/workflow-runner.js +104 -7
- package/dist/workflow-runner.js.map +1 -1
- package/dist/workflows/workflow.service.d.ts +1 -1
- package/package.json +42 -36
- package/dist/controllers/instance-ai-examples.controller.d.ts +0 -31
- package/dist/controllers/instance-ai-examples.controller.js +0 -104
- package/dist/controllers/instance-ai-examples.controller.js.map +0 -1
- package/dist/instance-ai-examples.data.json +0 -277957
- package/dist/public-api/v1/handlers/credentials/credentials.handler.d.ts +0 -8
- package/dist/public-api/v1/handlers/credentials/credentials.handler.js +0 -45
- package/dist/public-api/v1/handlers/credentials/credentials.handler.js.map +0 -1
- package/dist/public-api/v1/handlers/insights/insights.handler.d.ts +0 -7
- package/dist/public-api/v1/handlers/insights/insights.handler.js +0 -62
- package/dist/public-api/v1/handlers/insights/insights.handler.js.map +0 -1
- package/dist/public-api/v1/handlers/tags/tags.handler.d.ts +0 -8
- package/dist/public-api/v1/handlers/tags/tags.handler.js +0 -46
- package/dist/public-api/v1/handlers/tags/tags.handler.js.map +0 -1
|
@@ -23,6 +23,7 @@ exports.extractExecutionResult = extractExecutionResult;
|
|
|
23
23
|
exports.extractExecutionOutcome = extractExecutionOutcome;
|
|
24
24
|
exports.formatExecutionError = formatExecutionError;
|
|
25
25
|
exports.truncateNodeOutput = truncateNodeOutput;
|
|
26
|
+
exports.redactExecuteNodeResult = redactExecuteNodeResult;
|
|
26
27
|
exports.extractNodeOutput = extractNodeOutput;
|
|
27
28
|
exports.extractExecutionDebugInfo = extractExecutionDebugInfo;
|
|
28
29
|
const ai_utilities_1 = require("@n8n/ai-utilities");
|
|
@@ -66,6 +67,7 @@ const mcp_registry_connection_1 = require("../../modules/mcp-registry/mcp-regist
|
|
|
66
67
|
const mcp_registry_service_1 = require("../../modules/mcp-registry/registry/mcp-registry.service");
|
|
67
68
|
const workflow_dependency_query_service_1 = require("../../modules/workflow-index/workflow-dependency-query.service");
|
|
68
69
|
const node_catalog_1 = require("../../node-catalog");
|
|
70
|
+
const node_execution_1 = require("../../node-execution");
|
|
69
71
|
const node_types_1 = require("../../node-types");
|
|
70
72
|
const check_access_1 = require("../../permissions.ee/check-access");
|
|
71
73
|
const policy_enforcement_service_1 = require("../../policy/policy-enforcement.service");
|
|
@@ -87,9 +89,11 @@ const workflow_history_service_1 = require("../../workflows/workflow-history/wor
|
|
|
87
89
|
const workflow_service_1 = require("../../workflows/workflow.service");
|
|
88
90
|
const workflow_service_ee_1 = require("../../workflows/workflow.service.ee");
|
|
89
91
|
const extract_resolved_node_parameters_1 = require("./extract-resolved-node-parameters");
|
|
92
|
+
const instance_ai_execution_wait_1 = require("./instance-ai-execution-wait");
|
|
90
93
|
const instance_ai_folder_scope_1 = require("./instance-ai-folder-scope");
|
|
91
94
|
const instance_ai_run_pin_data_1 = require("./instance-ai-run-pin-data");
|
|
92
95
|
const instance_ai_settings_service_1 = require("./instance-ai-settings.service");
|
|
96
|
+
const instance_ai_step_run_1 = require("./instance-ai-step-run");
|
|
93
97
|
const instance_context_service_1 = require("./instance-context.service");
|
|
94
98
|
const mcp_1 = require("./mcp");
|
|
95
99
|
const node_definition_resolver_1 = require("./node-definition-resolver");
|
|
@@ -173,7 +177,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
|
|
|
173
177
|
});
|
|
174
178
|
return await promise;
|
|
175
179
|
}
|
|
176
|
-
constructor(logger, globalConfig, workflowService, workflowFinderService, workflowRepository, sharedWorkflowRepository, projectRepository, executionRepository, credentialsService, credentialsFinderService, activeExecutions, workflowRunner, loadNodesAndCredentials, nodeTypes, instanceSettings, dataTableService, dataTableRepository, nodeResourceExplorerService, folderService, projectService, tagService, instanceWriteAccess, settingsService, workflowHistoryService, enterpriseWorkflowService, license, executionPersistence, eventService, roleService, telemetry, aiBuilderTemporaryWorkflowRepository, outboundHttp, aiGatewayService, workflowTemplatesService, collaborationService, policyEnforcementService, nodeCatalogService, evaluationConfigService, llmJudgeProviderRegistry, workflowDependencyQueryService, folderRepository, folderFinderService, instanceContext) {
|
|
180
|
+
constructor(logger, globalConfig, workflowService, workflowFinderService, workflowRepository, sharedWorkflowRepository, projectRepository, executionRepository, credentialsService, credentialsFinderService, activeExecutions, workflowRunner, loadNodesAndCredentials, nodeTypes, instanceSettings, dataTableService, dataTableRepository, nodeResourceExplorerService, folderService, projectService, tagService, instanceWriteAccess, settingsService, workflowHistoryService, enterpriseWorkflowService, license, executionPersistence, eventService, roleService, telemetry, aiBuilderTemporaryWorkflowRepository, outboundHttp, aiGatewayService, workflowTemplatesService, collaborationService, policyEnforcementService, nodeCatalogService, evaluationConfigService, llmJudgeProviderRegistry, workflowDependencyQueryService, folderRepository, folderFinderService, instanceContext, executeNodeService) {
|
|
177
181
|
this.globalConfig = globalConfig;
|
|
178
182
|
this.workflowService = workflowService;
|
|
179
183
|
this.workflowFinderService = workflowFinderService;
|
|
@@ -216,6 +220,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
|
|
|
216
220
|
this.folderRepository = folderRepository;
|
|
217
221
|
this.folderFinderService = folderFinderService;
|
|
218
222
|
this.instanceContext = instanceContext;
|
|
223
|
+
this.executeNodeService = executeNodeService;
|
|
219
224
|
this.nodesCache = null;
|
|
220
225
|
this.NODES_CACHE_TTL_MS = 5 * 60 * 1000;
|
|
221
226
|
this.webResearchCache = new web_research_1.LRUCache({
|
|
@@ -233,7 +238,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
|
|
|
233
238
|
});
|
|
234
239
|
}
|
|
235
240
|
createContext(user, options) {
|
|
236
|
-
const { searchProxyConfig, pushRef, threadId, projectId, credentialIdAllowlist, shouldBypassCredentialTest, agentId, configEvalsEnabled, mcpConnectionsEnabled, nodeUsageEnabled, conversationHistory, folderExplorationEnabled, modelId, } = options ?? {};
|
|
241
|
+
const { searchProxyConfig, pushRef, threadId, projectId, credentialIdAllowlist, shouldBypassCredentialTest, agentId, configEvalsEnabled, mcpConnectionsEnabled, nodeUsageEnabled, instanceContextEnabled, conversationHistory, folderExplorationEnabled, modelId, } = options ?? {};
|
|
237
242
|
void this.trackGatewayAvailability();
|
|
238
243
|
const builderDelegateAdapter = this.getBuilderDelegateAdapter();
|
|
239
244
|
const credentialService = this.createCredentialAdapter(user, projectId, credentialIdAllowlist, shouldBypassCredentialTest);
|
|
@@ -256,8 +261,11 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
|
|
|
256
261
|
}
|
|
257
262
|
: {}),
|
|
258
263
|
mcpService: mcpConnectionsEnabled ? this.createMcpAdapter(user) : undefined,
|
|
264
|
+
executeNodeService: this.executeNodeService
|
|
265
|
+
? this.createExecuteNodeAdapter(this.executeNodeService, user, projectId)
|
|
266
|
+
: undefined,
|
|
259
267
|
conversationHistoryService: conversationHistory,
|
|
260
|
-
...(this.instanceContext
|
|
268
|
+
...(instanceContextEnabled === true && this.instanceContext
|
|
261
269
|
? { activityService: this.createActivityAdapter(user, projectId) }
|
|
262
270
|
: {}),
|
|
263
271
|
webResearchService: this.createWebResearchAdapter(user, searchProxyConfig),
|
|
@@ -274,7 +282,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
|
|
|
274
282
|
: {}),
|
|
275
283
|
...(builderDelegateAdapter && projectId
|
|
276
284
|
? {
|
|
277
|
-
builderDelegate: builderDelegateAdapter.createDelegate(user, projectId, new agents_credential_provider_1.AgentsCredentialProvider(this.credentialsService, projectId, user), credentialService, { useEvalModelCatalog: credentialIdAllowlist !== undefined }),
|
|
285
|
+
builderDelegate: builderDelegateAdapter.createDelegate(user, projectId, (targetAgentId) => new agents_credential_provider_1.AgentsCredentialProvider(this.credentialsService, projectId, user, targetAgentId), credentialService, { useEvalModelCatalog: credentialIdAllowlist !== undefined }),
|
|
278
286
|
}
|
|
279
287
|
: {}),
|
|
280
288
|
};
|
|
@@ -303,8 +311,16 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
|
|
|
303
311
|
}
|
|
304
312
|
async resolveExperimentGates(user) {
|
|
305
313
|
let flags = {};
|
|
314
|
+
let instanceContextEnabled = false;
|
|
306
315
|
try {
|
|
307
|
-
|
|
316
|
+
const postHog = di_1.Container.get(posthog_1.PostHogClient);
|
|
317
|
+
const [userFlags, instanceFlag] = await Promise.allSettled([
|
|
318
|
+
postHog.getFeatureFlags(user),
|
|
319
|
+
postHog.getFeatureFlagForInstance(api_types_1.INSTANCE_ACTIVITY_CONTEXT_FLAG),
|
|
320
|
+
]);
|
|
321
|
+
if (userFlags.status === 'fulfilled')
|
|
322
|
+
flags = userFlags.value;
|
|
323
|
+
instanceContextEnabled = instanceFlag.status === 'fulfilled' && instanceFlag.value === true;
|
|
308
324
|
}
|
|
309
325
|
catch {
|
|
310
326
|
}
|
|
@@ -320,6 +336,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
|
|
|
320
336
|
folderExplorationEnabled: flags[api_types_1.INSTANCE_AI_FOLDER_EXPLORATION_FLAG] ===
|
|
321
337
|
api_types_1.INSTANCE_AI_FOLDER_EXPLORATION_ENABLED_VARIANT,
|
|
322
338
|
aiPreferencesEnabled: flags[api_types_1.CONTEXT_PREFERENCES_FLAG] === api_types_1.CONTEXT_PREFERENCES_ENABLED_VARIANT,
|
|
339
|
+
instanceContextEnabled,
|
|
323
340
|
};
|
|
324
341
|
}
|
|
325
342
|
mcpPreconditionsHold() {
|
|
@@ -330,20 +347,20 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
|
|
|
330
347
|
const instanceContext = this.instanceContext;
|
|
331
348
|
if (!instanceContext)
|
|
332
349
|
throw new n8n_workflow_1.UnexpectedError('Instance context service is not available');
|
|
350
|
+
const scope = {
|
|
351
|
+
surface: 'conversation',
|
|
352
|
+
...(projectId !== undefined ? { projectId } : {}),
|
|
353
|
+
};
|
|
333
354
|
return {
|
|
334
355
|
list: async (input) => await instanceContext.list({
|
|
335
356
|
user,
|
|
336
|
-
|
|
357
|
+
scope,
|
|
337
358
|
limit: input.limit,
|
|
338
359
|
...(input.category !== undefined ? { category: input.category } : {}),
|
|
339
360
|
...(input.resourceId !== undefined ? { resourceId: input.resourceId } : {}),
|
|
340
361
|
...(input.beforeId !== undefined ? { beforeId: input.beforeId } : {}),
|
|
341
362
|
}),
|
|
342
|
-
expand: async (id) => await instanceContext.expand({
|
|
343
|
-
id,
|
|
344
|
-
user,
|
|
345
|
-
...(projectId !== undefined ? { projectId } : {}),
|
|
346
|
-
}),
|
|
363
|
+
expand: async (id) => await instanceContext.expand({ id, user, scope }),
|
|
347
364
|
};
|
|
348
365
|
}
|
|
349
366
|
createMcpAdapter(user) {
|
|
@@ -384,6 +401,27 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
|
|
|
384
401
|
listConnections: async () => await this.listMcpRegistryConnections(user),
|
|
385
402
|
};
|
|
386
403
|
}
|
|
404
|
+
createExecuteNodeAdapter(executeNodeService, user, boundProjectId) {
|
|
405
|
+
const { resolveProjectId } = this.createProjectScopeHelpers(user, boundProjectId);
|
|
406
|
+
return {
|
|
407
|
+
execute: async (request) => {
|
|
408
|
+
this.assertInstanceNotReadOnly('executions');
|
|
409
|
+
const projectId = await resolveProjectId(['workflow:execute']);
|
|
410
|
+
const result = await executeNodeService.run(user, {
|
|
411
|
+
type: request.type,
|
|
412
|
+
version: request.version,
|
|
413
|
+
config: {
|
|
414
|
+
parameters: request.config.parameters,
|
|
415
|
+
credentials: request.config.credentials,
|
|
416
|
+
},
|
|
417
|
+
input: request.input,
|
|
418
|
+
timeoutMs: request.timeoutMs,
|
|
419
|
+
projectId,
|
|
420
|
+
});
|
|
421
|
+
return redactExecuteNodeResult(result, this.allowSendingParameterValues);
|
|
422
|
+
},
|
|
423
|
+
};
|
|
424
|
+
}
|
|
387
425
|
async listMcpRegistryConnections(user) {
|
|
388
426
|
const connections = await di_1.Container.get(mcp_1.InstanceAiMcpRegistryService).listConnectionsForUser(user);
|
|
389
427
|
return [...new Set(connections.map((connection) => connection.serverSlug))].map((slug) => ({
|
|
@@ -1103,10 +1141,11 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
|
|
|
1103
1141
|
connections: version.connections,
|
|
1104
1142
|
nodeGroups: version.nodeGroups,
|
|
1105
1143
|
});
|
|
1106
|
-
await workflowService.update(user, updateData, workflowId, {
|
|
1144
|
+
const updated = await workflowService.update(user, updateData, workflowId, {
|
|
1107
1145
|
source: 'n8n-ai',
|
|
1108
1146
|
});
|
|
1109
1147
|
await notifyWorkflowUpdated(workflowId);
|
|
1148
|
+
return await toWorkflowDetailWithChecksum(updated, { redactParameters });
|
|
1110
1149
|
},
|
|
1111
1150
|
...(this.license.isLicensed('feat:namedVersions')
|
|
1112
1151
|
? {
|
|
@@ -1118,7 +1157,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
|
|
|
1118
1157
|
};
|
|
1119
1158
|
}
|
|
1120
1159
|
createExecutionAdapter(user, pushRef, threadId) {
|
|
1121
|
-
const { workflowFinderService, workflowRunner, activeExecutions, executionRepository, nodeTypes, allowSendingParameterValues, roleService, telemetry, logger, globalConfig, } = this;
|
|
1160
|
+
const { workflowFinderService, workflowRunner, activeExecutions, executionRepository, executionPersistence, workflowHistoryService, nodeTypes, allowSendingParameterValues, roleService, telemetry, logger, globalConfig, } = this;
|
|
1122
1161
|
const assertNotReadOnly = () => this.assertInstanceNotReadOnly('executions');
|
|
1123
1162
|
const DEFAULT_TIMEOUT_MS = 5 * constants_1.Time.minutes.toMilliseconds;
|
|
1124
1163
|
const MAX_TIMEOUT_MS = 10 * constants_1.Time.minutes.toMilliseconds;
|
|
@@ -1147,7 +1186,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
|
|
|
1147
1186
|
};
|
|
1148
1187
|
const query = {
|
|
1149
1188
|
kind: 'range',
|
|
1150
|
-
range: { limit: options?.limit ?? 20
|
|
1189
|
+
range: { limit: options?.limit ?? 20 },
|
|
1151
1190
|
order: { startedAt: 'DESC' },
|
|
1152
1191
|
user,
|
|
1153
1192
|
sharingOptions,
|
|
@@ -1281,83 +1320,195 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
|
|
|
1281
1320
|
});
|
|
1282
1321
|
}
|
|
1283
1322
|
};
|
|
1284
|
-
const
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
: 'This operation was aborted');
|
|
1300
|
-
error.name = 'AbortError';
|
|
1301
|
-
reject(error);
|
|
1302
|
-
};
|
|
1303
|
-
if (abortSignal.aborted) {
|
|
1304
|
-
onAbort();
|
|
1305
|
-
return;
|
|
1306
|
-
}
|
|
1307
|
-
abortSignal.addEventListener('abort', onAbort, { once: true });
|
|
1308
|
-
});
|
|
1309
|
-
try {
|
|
1310
|
-
await Promise.race([
|
|
1311
|
-
activeExecutions.getPostExecutePromise(executionId),
|
|
1312
|
-
timeoutPromise,
|
|
1313
|
-
...(abortPromise ? [abortPromise] : []),
|
|
1314
|
-
]);
|
|
1315
|
-
clearTimeout(timeoutId);
|
|
1316
|
-
if (onAbort)
|
|
1317
|
-
abortSignal?.removeEventListener('abort', onAbort);
|
|
1318
|
-
}
|
|
1319
|
-
catch (error) {
|
|
1320
|
-
clearTimeout(timeoutId);
|
|
1321
|
-
if (onAbort)
|
|
1322
|
-
abortSignal?.removeEventListener('abort', onAbort);
|
|
1323
|
-
const isTimeout = error instanceof Error && error.message.includes('timed out');
|
|
1324
|
-
const isAbort = error instanceof Error &&
|
|
1325
|
-
(error.name === 'AbortError' || abortSignal?.aborted === true);
|
|
1326
|
-
if (isTimeout || isAbort) {
|
|
1327
|
-
try {
|
|
1328
|
-
activeExecutions.stopExecution(executionId, isAbort
|
|
1329
|
-
? new n8n_workflow_1.ManualExecutionCancelledError(executionId)
|
|
1330
|
-
: new n8n_workflow_1.TimeoutExecutionCancelledError(executionId));
|
|
1331
|
-
}
|
|
1332
|
-
catch {
|
|
1333
|
-
}
|
|
1334
|
-
const result = {
|
|
1335
|
-
executionId,
|
|
1336
|
-
status: 'error',
|
|
1337
|
-
error: isAbort
|
|
1338
|
-
? 'Execution was cancelled'
|
|
1339
|
-
: `Execution timed out after ${timeoutMs}ms and was cancelled`,
|
|
1340
|
-
};
|
|
1341
|
-
await pruneVerificationPins();
|
|
1342
|
-
trackBuilderExecutedWorkflow(result.status, result.error);
|
|
1343
|
-
return result;
|
|
1344
|
-
}
|
|
1345
|
-
throw error;
|
|
1346
|
-
}
|
|
1323
|
+
const waitOutcome = await (0, instance_ai_execution_wait_1.waitForInstanceAiExecution)({
|
|
1324
|
+
activeExecutions,
|
|
1325
|
+
executionId,
|
|
1326
|
+
timeoutMs,
|
|
1327
|
+
abortSignal: options?.abortSignal,
|
|
1328
|
+
});
|
|
1329
|
+
if (waitOutcome.kind === 'cancelled') {
|
|
1330
|
+
const result = {
|
|
1331
|
+
executionId,
|
|
1332
|
+
status: 'error',
|
|
1333
|
+
error: waitOutcome.message,
|
|
1334
|
+
};
|
|
1335
|
+
await pruneVerificationPins();
|
|
1336
|
+
trackBuilderExecutedWorkflow(result.status, result.error);
|
|
1337
|
+
return result;
|
|
1347
1338
|
}
|
|
1348
1339
|
const { result, telemetryError } = await extractExecutionOutcome(executionId, allowSendingParameterValues, nodeTypes);
|
|
1349
1340
|
await pruneVerificationPins(result.executedNodeNames);
|
|
1350
1341
|
trackBuilderExecutedWorkflow(result.status, telemetryError);
|
|
1351
1342
|
const workflowPinnedNodeNames = Object.keys(workflow.pinData ?? {});
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1343
|
+
const injectedTriggerNodeName = triggerNode &&
|
|
1344
|
+
(pinDataPlan.mockDataSources.includes('trigger_input') ||
|
|
1345
|
+
Object.hasOwn(pinDataPlan.verificationPinData, triggerNode.name))
|
|
1346
|
+
? triggerNode.name
|
|
1347
|
+
: undefined;
|
|
1348
|
+
return {
|
|
1349
|
+
...result,
|
|
1350
|
+
...(workflowPinnedNodeNames.length > 0 ? { workflowPinnedNodeNames } : {}),
|
|
1351
|
+
...(injectedTriggerNodeName ? { injectedTriggerNodeName } : {}),
|
|
1352
|
+
};
|
|
1355
1353
|
}
|
|
1356
1354
|
catch (error) {
|
|
1357
1355
|
trackBuilderExecutedWorkflow('error', error instanceof Error ? error.message : String(error));
|
|
1358
1356
|
throw error;
|
|
1359
1357
|
}
|
|
1360
1358
|
},
|
|
1359
|
+
async runStep(workflowId, nodeName, options) {
|
|
1360
|
+
assertNotReadOnly();
|
|
1361
|
+
const workflow = await workflowFinderService.findWorkflowForUser(workflowId, user, [
|
|
1362
|
+
'workflow:execute',
|
|
1363
|
+
]);
|
|
1364
|
+
if (!workflow) {
|
|
1365
|
+
throw new instance_ai_1.WorkflowNotFoundError(workflowId);
|
|
1366
|
+
}
|
|
1367
|
+
let nodes = workflow.nodes ?? [];
|
|
1368
|
+
let connections = workflow.connections ?? {};
|
|
1369
|
+
const versionId = options?.versionId;
|
|
1370
|
+
if (versionId !== undefined && versionId !== workflow.versionId) {
|
|
1371
|
+
const version = await workflowHistoryService.getVersion(user, workflowId, versionId);
|
|
1372
|
+
nodes = version.nodes ?? [];
|
|
1373
|
+
connections = version.connections ?? {};
|
|
1374
|
+
}
|
|
1375
|
+
const target = nodes.find((node) => node.name === nodeName);
|
|
1376
|
+
if (!target) {
|
|
1377
|
+
throw new n8n_workflow_1.UserError(`The workflow has no node named "${nodeName}". Use workflows(action="get-as-code") to see the node names.`);
|
|
1378
|
+
}
|
|
1379
|
+
if (target.disabled) {
|
|
1380
|
+
throw new n8n_workflow_1.UserError(`Node "${nodeName}" is disabled. Enable it before you run it.`);
|
|
1381
|
+
}
|
|
1382
|
+
let priorRunData;
|
|
1383
|
+
let reusedFromExecutionId;
|
|
1384
|
+
if (options?.reuseExecutionId !== undefined) {
|
|
1385
|
+
const execution = await assertExecutionAccess(options.reuseExecutionId);
|
|
1386
|
+
if (execution.workflowId !== workflowId) {
|
|
1387
|
+
throw new n8n_workflow_1.UserError(`Execution ${options.reuseExecutionId} belongs to a different workflow.`);
|
|
1388
|
+
}
|
|
1389
|
+
const stored = await executionPersistence.findSingleExecution(options.reuseExecutionId, {
|
|
1390
|
+
includeData: true,
|
|
1391
|
+
unflattenData: true,
|
|
1392
|
+
});
|
|
1393
|
+
priorRunData = stored?.data?.resultData?.runData;
|
|
1394
|
+
reusedFromExecutionId = options.reuseExecutionId;
|
|
1395
|
+
}
|
|
1396
|
+
const plan = (0, instance_ai_step_run_1.planStepRun)({
|
|
1397
|
+
nodes,
|
|
1398
|
+
connections,
|
|
1399
|
+
targetName: nodeName,
|
|
1400
|
+
mockItems: options?.mockInput ? (0, instance_ai_step_run_1.toExecutionItems)(options.mockInput) : undefined,
|
|
1401
|
+
priorRunData,
|
|
1402
|
+
});
|
|
1403
|
+
const stepPinData = (0, instance_ai_step_run_1.pinDataForStepRun)(workflow.pinData, {
|
|
1404
|
+
targetName: nodeName,
|
|
1405
|
+
mockedNodeNames: plan.mockedNodeNames,
|
|
1406
|
+
});
|
|
1407
|
+
const timeoutMs = Math.min(options?.timeout ?? DEFAULT_TIMEOUT_MS, MAX_TIMEOUT_MS);
|
|
1408
|
+
const runData = {
|
|
1409
|
+
executionMode: 'manual',
|
|
1410
|
+
workflowData: {
|
|
1411
|
+
...workflow,
|
|
1412
|
+
nodes,
|
|
1413
|
+
connections,
|
|
1414
|
+
settings: {
|
|
1415
|
+
...workflow.settings,
|
|
1416
|
+
saveManualExecutions: true,
|
|
1417
|
+
saveDataSuccessExecution: 'all',
|
|
1418
|
+
saveDataErrorExecution: 'all',
|
|
1419
|
+
executionTimeout: Math.ceil(timeoutMs / 1000),
|
|
1420
|
+
},
|
|
1421
|
+
},
|
|
1422
|
+
userId: user.id,
|
|
1423
|
+
pushRef,
|
|
1424
|
+
destinationNode: { nodeName, mode: 'inclusive' },
|
|
1425
|
+
pinData: stepPinData,
|
|
1426
|
+
runData: plan.runData,
|
|
1427
|
+
dirtyNodeNames: plan.dirtyNodeNames,
|
|
1428
|
+
source: 'instance_ai',
|
|
1429
|
+
};
|
|
1430
|
+
if ((0, n8n_workflow_1.isTriggerNodeType)(target.type)) {
|
|
1431
|
+
runData.triggerToStartFrom = { name: nodeName };
|
|
1432
|
+
}
|
|
1433
|
+
const offloadingManualExecutionsInQueueMode = globalConfig.executions?.mode === 'queue' &&
|
|
1434
|
+
process.env.OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERS === 'true';
|
|
1435
|
+
if (offloadingManualExecutionsInQueueMode) {
|
|
1436
|
+
runData.executionData = (0, n8n_workflow_1.createRunExecutionData)({
|
|
1437
|
+
startData: { destinationNode: runData.destinationNode },
|
|
1438
|
+
resultData: { pinData: stepPinData, runData: plan.runData ?? null },
|
|
1439
|
+
manualData: {
|
|
1440
|
+
userId: user.id,
|
|
1441
|
+
dirtyNodeNames: plan.dirtyNodeNames,
|
|
1442
|
+
triggerToStartFrom: runData.triggerToStartFrom,
|
|
1443
|
+
source: 'instance_ai',
|
|
1444
|
+
},
|
|
1445
|
+
executionData: null,
|
|
1446
|
+
});
|
|
1447
|
+
}
|
|
1448
|
+
const trackStepRun = (status, error) => {
|
|
1449
|
+
if (!threadId)
|
|
1450
|
+
return;
|
|
1451
|
+
telemetry.track('Builder executed workflow', {
|
|
1452
|
+
user_id: user.id,
|
|
1453
|
+
thread_id: threadId,
|
|
1454
|
+
workflow_id: workflowId,
|
|
1455
|
+
executed_by: 'ai',
|
|
1456
|
+
pinned_node_count: Object.keys(stepPinData ?? {}).length,
|
|
1457
|
+
exec_type: 'step',
|
|
1458
|
+
input_mode: plan.inputMode,
|
|
1459
|
+
status,
|
|
1460
|
+
...(error ? { error: (0, telemetry_1.redactTelemetryText)(error) } : {}),
|
|
1461
|
+
});
|
|
1462
|
+
};
|
|
1463
|
+
const offeredForReplay = priorRunData
|
|
1464
|
+
? Object.keys(priorRunData).filter((name) => name !== nodeName)
|
|
1465
|
+
: [];
|
|
1466
|
+
const describe = (result) => {
|
|
1467
|
+
const inRunData = new Set(result.executedNodeNames ?? []);
|
|
1468
|
+
const replayedNodeNames = offeredForReplay.filter((name) => inRunData.has(name));
|
|
1469
|
+
const notExecutedHere = new Set([...plan.mockedNodeNames, ...replayedNodeNames]);
|
|
1470
|
+
return {
|
|
1471
|
+
...result,
|
|
1472
|
+
...(result.executedNodeNames
|
|
1473
|
+
? {
|
|
1474
|
+
executedNodeNames: result.executedNodeNames.filter((name) => !notExecutedHere.has(name)),
|
|
1475
|
+
}
|
|
1476
|
+
: {}),
|
|
1477
|
+
nodeName,
|
|
1478
|
+
inputMode: plan.inputMode,
|
|
1479
|
+
mockedNodeNames: plan.mockedNodeNames,
|
|
1480
|
+
...(replayedNodeNames.length > 0 ? { replayedNodeNames } : {}),
|
|
1481
|
+
...(reusedFromExecutionId ? { reusedFromExecutionId } : {}),
|
|
1482
|
+
...(Object.keys(stepPinData ?? {}).length > 0
|
|
1483
|
+
? { workflowPinnedNodeNames: Object.keys(stepPinData ?? {}) }
|
|
1484
|
+
: {}),
|
|
1485
|
+
};
|
|
1486
|
+
};
|
|
1487
|
+
try {
|
|
1488
|
+
const executionId = await workflowRunner.run(runData);
|
|
1489
|
+
const waitOutcome = await (0, instance_ai_execution_wait_1.waitForInstanceAiExecution)({
|
|
1490
|
+
activeExecutions,
|
|
1491
|
+
executionId,
|
|
1492
|
+
timeoutMs,
|
|
1493
|
+
abortSignal: options?.abortSignal,
|
|
1494
|
+
});
|
|
1495
|
+
if (waitOutcome.kind === 'cancelled') {
|
|
1496
|
+
trackStepRun('error', waitOutcome.message);
|
|
1497
|
+
return describe({
|
|
1498
|
+
executionId,
|
|
1499
|
+
status: 'error',
|
|
1500
|
+
error: waitOutcome.message,
|
|
1501
|
+
});
|
|
1502
|
+
}
|
|
1503
|
+
const { result, telemetryError } = await extractExecutionOutcome(executionId, allowSendingParameterValues, nodeTypes);
|
|
1504
|
+
trackStepRun(result.status, telemetryError);
|
|
1505
|
+
return describe(result);
|
|
1506
|
+
}
|
|
1507
|
+
catch (error) {
|
|
1508
|
+
trackStepRun('error', error instanceof Error ? error.message : String(error));
|
|
1509
|
+
throw error;
|
|
1510
|
+
}
|
|
1511
|
+
},
|
|
1361
1512
|
async getStatus(executionId) {
|
|
1362
1513
|
await assertExecutionAccess(executionId);
|
|
1363
1514
|
const isRunning = activeExecutions.has(executionId);
|
|
@@ -1437,7 +1588,12 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
|
|
|
1437
1588
|
projectId: boundProjectId,
|
|
1438
1589
|
});
|
|
1439
1590
|
const filtered = options?.type ? scoped.filter((c) => c.type === options.type) : scoped;
|
|
1440
|
-
return filtered.map((c) => ({
|
|
1591
|
+
return filtered.map((c) => ({
|
|
1592
|
+
id: c.id,
|
|
1593
|
+
name: c.name,
|
|
1594
|
+
type: c.type,
|
|
1595
|
+
description: c.description,
|
|
1596
|
+
}));
|
|
1441
1597
|
}
|
|
1442
1598
|
if (options?.workflowId || options?.projectId) {
|
|
1443
1599
|
const scoped = options.workflowId
|
|
@@ -1452,6 +1608,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
|
|
|
1452
1608
|
id: c.id,
|
|
1453
1609
|
name: c.name,
|
|
1454
1610
|
type: c.type,
|
|
1611
|
+
description: c.description,
|
|
1455
1612
|
}));
|
|
1456
1613
|
}
|
|
1457
1614
|
const credentials = await credentialsService.getMany(user, {
|
|
@@ -1464,6 +1621,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
|
|
|
1464
1621
|
id: c.id,
|
|
1465
1622
|
name: c.name,
|
|
1466
1623
|
type: c.type,
|
|
1624
|
+
description: c.description,
|
|
1467
1625
|
}));
|
|
1468
1626
|
},
|
|
1469
1627
|
async get(credentialId) {
|
|
@@ -1472,6 +1630,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
|
|
|
1472
1630
|
id: credential.id,
|
|
1473
1631
|
name: credential.name,
|
|
1474
1632
|
type: credential.type,
|
|
1633
|
+
description: credential.description,
|
|
1475
1634
|
};
|
|
1476
1635
|
},
|
|
1477
1636
|
async delete(credentialId) {
|
|
@@ -2201,6 +2360,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
|
|
|
2201
2360
|
name: String(o.name),
|
|
2202
2361
|
value: o.value,
|
|
2203
2362
|
})),
|
|
2363
|
+
...(p.displayOptions ? { displayOptions: p.displayOptions } : {}),
|
|
2204
2364
|
})),
|
|
2205
2365
|
credentials: desc.credentials?.map((c) => ({
|
|
2206
2366
|
name: c.name,
|
|
@@ -2506,7 +2666,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
|
|
|
2506
2666
|
exports.InstanceAiAdapterService = InstanceAiAdapterService;
|
|
2507
2667
|
exports.InstanceAiAdapterService = InstanceAiAdapterService = __decorate([
|
|
2508
2668
|
(0, di_1.Service)(),
|
|
2509
|
-
__metadata("design:paramtypes", [backend_common_1.Logger, config_1.GlobalConfig, workflow_service_1.WorkflowService, workflow_finder_service_1.WorkflowFinderService, db_1.WorkflowRepository, db_1.SharedWorkflowRepository, db_1.ProjectRepository, db_1.ExecutionRepository, credentials_service_1.CredentialsService, credentials_finder_service_1.CredentialsFinderService, active_executions_1.ActiveExecutions, workflow_runner_1.WorkflowRunner, load_nodes_and_credentials_1.LoadNodesAndCredentials, node_types_1.NodeTypes, n8n_core_1.InstanceSettings, data_table_service_1.DataTableService, data_table_repository_1.DataTableRepository, node_resource_explorer_service_1.NodeResourceExplorerService, folder_service_1.FolderService, project_service_ee_1.ProjectService, tag_service_1.TagService, instance_write_access_service_1.InstanceWriteAccessService, instance_ai_settings_service_1.InstanceAiSettingsService, workflow_history_service_1.WorkflowHistoryService, workflow_service_ee_1.EnterpriseWorkflowService, license_1.License, execution_persistence_1.ExecutionPersistence, event_service_1.EventService, role_service_1.RoleService, telemetry_2.Telemetry, db_1.AiBuilderTemporaryWorkflowRepository, backend_network_1.OutboundHttp, ai_gateway_service_1.AiGatewayService, workflow_templates_service_1.WorkflowTemplatesService, collaboration_service_1.CollaborationService, policy_enforcement_service_1.PolicyEnforcementService, node_catalog_1.NodeCatalogService, evaluation_config_service_1.EvaluationConfigService, llm_judge_provider_registry_1.LlmJudgeProviderRegistry, workflow_dependency_query_service_1.WorkflowDependencyQueryService, db_1.FolderRepository, folder_finder_service_1.FolderFinderService, instance_context_service_1.InstanceContextService])
|
|
2669
|
+
__metadata("design:paramtypes", [backend_common_1.Logger, config_1.GlobalConfig, workflow_service_1.WorkflowService, workflow_finder_service_1.WorkflowFinderService, db_1.WorkflowRepository, db_1.SharedWorkflowRepository, db_1.ProjectRepository, db_1.ExecutionRepository, credentials_service_1.CredentialsService, credentials_finder_service_1.CredentialsFinderService, active_executions_1.ActiveExecutions, workflow_runner_1.WorkflowRunner, load_nodes_and_credentials_1.LoadNodesAndCredentials, node_types_1.NodeTypes, n8n_core_1.InstanceSettings, data_table_service_1.DataTableService, data_table_repository_1.DataTableRepository, node_resource_explorer_service_1.NodeResourceExplorerService, folder_service_1.FolderService, project_service_ee_1.ProjectService, tag_service_1.TagService, instance_write_access_service_1.InstanceWriteAccessService, instance_ai_settings_service_1.InstanceAiSettingsService, workflow_history_service_1.WorkflowHistoryService, workflow_service_ee_1.EnterpriseWorkflowService, license_1.License, execution_persistence_1.ExecutionPersistence, event_service_1.EventService, role_service_1.RoleService, telemetry_2.Telemetry, db_1.AiBuilderTemporaryWorkflowRepository, backend_network_1.OutboundHttp, ai_gateway_service_1.AiGatewayService, workflow_templates_service_1.WorkflowTemplatesService, collaboration_service_1.CollaborationService, policy_enforcement_service_1.PolicyEnforcementService, node_catalog_1.NodeCatalogService, evaluation_config_service_1.EvaluationConfigService, llm_judge_provider_registry_1.LlmJudgeProviderRegistry, workflow_dependency_query_service_1.WorkflowDependencyQueryService, db_1.FolderRepository, folder_finder_service_1.FolderFinderService, instance_context_service_1.InstanceContextService, node_execution_1.ExecuteNodeService])
|
|
2510
2670
|
], InstanceAiAdapterService);
|
|
2511
2671
|
const MAX_RESULT_CHARS = 20_000;
|
|
2512
2672
|
const MAX_NODE_OUTPUT_CHARS = 1_000;
|
|
@@ -2805,24 +2965,77 @@ function formatExecutionError(error, includeUpstreamDetails) {
|
|
|
2805
2965
|
}
|
|
2806
2966
|
const MAX_NODE_OUTPUT_BYTES = 5_000;
|
|
2807
2967
|
function truncateNodeOutput(items) {
|
|
2808
|
-
const
|
|
2809
|
-
if (
|
|
2968
|
+
const truncated = capItemsBySerializedSize(items, MAX_NODE_OUTPUT_BYTES);
|
|
2969
|
+
if (truncated === items)
|
|
2970
|
+
return items;
|
|
2971
|
+
return {
|
|
2972
|
+
items: truncated,
|
|
2973
|
+
truncated: true,
|
|
2974
|
+
totalItems: items.length,
|
|
2975
|
+
shownItems: truncated.length,
|
|
2976
|
+
message: `Output truncated: showing ${truncated.length} of ${items.length} items. Use get-node-output to retrieve full data for this node.`,
|
|
2977
|
+
};
|
|
2978
|
+
}
|
|
2979
|
+
function capItemsBySerializedSize(items, maxBytes) {
|
|
2980
|
+
if (JSON.stringify(items).length <= maxBytes)
|
|
2810
2981
|
return items;
|
|
2811
|
-
const
|
|
2982
|
+
const kept = [];
|
|
2812
2983
|
let size = 2;
|
|
2813
2984
|
for (const item of items) {
|
|
2814
2985
|
const itemStr = JSON.stringify(item);
|
|
2815
|
-
if (size + itemStr.length + 2 >
|
|
2986
|
+
if (size + itemStr.length + 2 > maxBytes)
|
|
2816
2987
|
break;
|
|
2817
|
-
|
|
2988
|
+
kept.push(item);
|
|
2818
2989
|
size += itemStr.length + 1;
|
|
2819
2990
|
}
|
|
2991
|
+
return kept;
|
|
2992
|
+
}
|
|
2993
|
+
const EXECUTE_NODE_DETAILS_SUPPRESSED = '(upstream error details suppressed by the instance AI privacy setting; ask the user to share the node error from the UI)';
|
|
2994
|
+
function redactExecuteNodeResult(result, allowSendingParameterValues) {
|
|
2995
|
+
if (result.status === 'error') {
|
|
2996
|
+
const { message, description, nodeErrorType } = result.error;
|
|
2997
|
+
const cappedDescription = description && description.length > MAX_ERROR_CHARS
|
|
2998
|
+
? `${description.slice(0, MAX_ERROR_CHARS)}…`
|
|
2999
|
+
: description;
|
|
3000
|
+
return {
|
|
3001
|
+
status: 'error',
|
|
3002
|
+
error: {
|
|
3003
|
+
message,
|
|
3004
|
+
description: allowSendingParameterValues
|
|
3005
|
+
? cappedDescription
|
|
3006
|
+
: description
|
|
3007
|
+
? EXECUTE_NODE_DETAILS_SUPPRESSED
|
|
3008
|
+
: undefined,
|
|
3009
|
+
nodeErrorType,
|
|
3010
|
+
},
|
|
3011
|
+
};
|
|
3012
|
+
}
|
|
3013
|
+
if (!allowSendingParameterValues) {
|
|
3014
|
+
return {
|
|
3015
|
+
status: 'success',
|
|
3016
|
+
output: '',
|
|
3017
|
+
outputSuppressed: 'The node executed successfully, but its output items are suppressed by the instance AI privacy setting.',
|
|
3018
|
+
};
|
|
3019
|
+
}
|
|
3020
|
+
let totalItems = 0;
|
|
3021
|
+
let shownItems = 0;
|
|
3022
|
+
const kept = result.output.map((branch) => {
|
|
3023
|
+
totalItems += branch.length;
|
|
3024
|
+
const keptBranch = capItemsBySerializedSize(branch, MAX_NODE_OUTPUT_BYTES);
|
|
3025
|
+
shownItems += keptBranch.length;
|
|
3026
|
+
return keptBranch;
|
|
3027
|
+
});
|
|
3028
|
+
const output = (0, instance_ai_1.wrapUntrustedData)(JSON.stringify(kept, null, 2), 'execution-output');
|
|
3029
|
+
if (shownItems === totalItems)
|
|
3030
|
+
return { status: 'success', output };
|
|
2820
3031
|
return {
|
|
2821
|
-
|
|
2822
|
-
|
|
2823
|
-
|
|
2824
|
-
|
|
2825
|
-
|
|
3032
|
+
status: 'success',
|
|
3033
|
+
output,
|
|
3034
|
+
truncated: {
|
|
3035
|
+
totalItems,
|
|
3036
|
+
shownItems,
|
|
3037
|
+
message: `Output truncated: showing ${shownItems} of ${totalItems} items. Re-run with fewer input items or a narrower operation to see more.`,
|
|
3038
|
+
},
|
|
2826
3039
|
};
|
|
2827
3040
|
}
|
|
2828
3041
|
const MAX_ITEM_CHARS = 50_000;
|