n8n 2.47.3 → 2.48.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/active-workflow-manager.d.ts +4 -2
- package/dist/active-workflow-manager.js +29 -4
- package/dist/active-workflow-manager.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/commands/engine.d.ts +1 -1
- package/dist/commands/engine.js +7 -4
- package/dist/commands/engine.js.map +1 -1
- package/dist/commands/start.js +4 -6
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/webhook.js +2 -4
- package/dist/commands/webhook.js.map +1 -1
- package/dist/commands/worker.js +2 -4
- package/dist/commands/worker.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.controller.js +8 -8
- package/dist/controllers/ai.controller.js.map +1 -1
- package/dist/controllers/api-keys.controller.d.ts +2 -2
- package/dist/controllers/auth.controller.js +1 -0
- package/dist/controllers/auth.controller.js.map +1 -1
- package/dist/controllers/project.controller.d.ts +3 -3
- package/dist/controllers/project.controller.js +7 -8
- package/dist/controllers/project.controller.js.map +1 -1
- package/dist/credentials-overwrites.js +1 -1
- package/dist/credentials-overwrites.js.map +1 -1
- package/dist/environments.ee/variables/variables.service.ee.js +4 -21
- package/dist/environments.ee/variables/variables.service.ee.js.map +1 -1
- package/dist/evaluation.ee/test-runner/test-runner.service.ee.d.ts +1 -2
- package/dist/evaluation.ee/test-runner/test-runner.service.ee.js +1 -2
- package/dist/evaluation.ee/test-runner/test-runner.service.ee.js.map +1 -1
- package/dist/eventbus/event-message-classes/index.d.ts +2 -2
- package/dist/eventbus/event-message-classes/index.js +1 -0
- package/dist/eventbus/event-message-classes/index.js.map +1 -1
- package/dist/events/maps/relay.event-map.d.ts +6 -1
- package/dist/events/relays/log-streaming.event-relay.d.ts +1 -0
- package/dist/events/relays/log-streaming.event-relay.js +27 -4
- package/dist/events/relays/log-streaming.event-relay.js.map +1 -1
- package/dist/events/relays/telemetry.event-relay.d.ts +10 -0
- package/dist/events/relays/telemetry.event-relay.js +98 -1
- package/dist/events/relays/telemetry.event-relay.js.map +1 -1
- package/dist/executions/execution.service.js +3 -14
- package/dist/executions/execution.service.js.map +1 -1
- package/dist/external-hooks.js +4 -3
- package/dist/external-hooks.js.map +1 -1
- package/dist/idempotency/idempotency-request.js +3 -2
- package/dist/idempotency/idempotency-request.js.map +1 -1
- package/dist/license.js +1 -1
- package/dist/license.js.map +1 -1
- package/dist/middlewares/body-parser.js +40 -6
- package/dist/middlewares/body-parser.js.map +1 -1
- package/dist/modules/agents/agent-change-publisher.service.d.ts +1 -2
- package/dist/modules/agents/agent-change-publisher.service.js +2 -2
- package/dist/modules/agents/agent-change-publisher.service.js.map +1 -1
- package/dist/modules/agents/agent-chat-attachment.service.d.ts +20 -2
- package/dist/modules/agents/agent-chat-attachment.service.js +85 -3
- package/dist/modules/agents/agent-chat-attachment.service.js.map +1 -1
- package/dist/modules/agents/agent-chat-execution.service.d.ts +2 -2
- package/dist/modules/agents/agent-chat-execution.service.js +2 -2
- package/dist/modules/agents/agent-chat-execution.service.js.map +1 -1
- package/dist/modules/agents/agent-chat-relay.service.js +7 -2
- package/dist/modules/agents/agent-chat-relay.service.js.map +1 -1
- package/dist/modules/agents/agent-chat.controller.d.ts +12 -1
- package/dist/modules/agents/agent-chat.controller.js +55 -10
- package/dist/modules/agents/agent-chat.controller.js.map +1 -1
- package/dist/modules/agents/agent-execution-orchestrator.service.d.ts +1 -0
- package/dist/modules/agents/agent-execution-orchestrator.service.js +8 -0
- package/dist/modules/agents/agent-execution-orchestrator.service.js.map +1 -1
- package/dist/modules/agents/agent-execution-update-broadcaster.d.ts +2 -2
- package/dist/modules/agents/agent-execution-update-broadcaster.js +2 -2
- package/dist/modules/agents/agent-execution-update-broadcaster.js.map +1 -1
- package/dist/modules/agents/agent-file-bridge.service.d.ts +3 -1
- package/dist/modules/agents/agent-file-bridge.service.js +29 -9
- package/dist/modules/agents/agent-file-bridge.service.js.map +1 -1
- package/dist/modules/agents/agent-knowledge-mirror.service.d.ts +2 -2
- package/dist/modules/agents/agent-knowledge-mirror.service.js +2 -2
- package/dist/modules/agents/agent-knowledge-mirror.service.js.map +1 -1
- package/dist/modules/agents/agent-knowledge-snapshot.service.d.ts +5 -2
- package/dist/modules/agents/agent-knowledge-snapshot.service.js +12 -4
- package/dist/modules/agents/agent-knowledge-snapshot.service.js.map +1 -1
- package/dist/modules/agents/agent-knowledge-storage.d.ts +2 -2
- package/dist/modules/agents/agent-knowledge-storage.js.map +1 -1
- package/dist/modules/agents/agent-knowledge.service.d.ts +2 -2
- package/dist/modules/agents/agent-knowledge.service.js +6 -2
- package/dist/modules/agents/agent-knowledge.service.js.map +1 -1
- package/dist/modules/agents/agent-publish.service.d.ts +4 -2
- package/dist/modules/agents/agent-publish.service.js +8 -3
- package/dist/modules/agents/agent-publish.service.js.map +1 -1
- package/dist/modules/agents/agent-queued-test-stream.service.d.ts +2 -3
- package/dist/modules/agents/agent-queued-test-stream.service.js +2 -3
- package/dist/modules/agents/agent-queued-test-stream.service.js.map +1 -1
- package/dist/modules/agents/agent-runtime-cache.service.d.ts +1 -1
- package/dist/modules/agents/agent-runtime-cache.service.js.map +1 -1
- package/dist/modules/agents/agent-runtime-reconstruction.service.d.ts +6 -2
- package/dist/modules/agents/agent-runtime-reconstruction.service.js +41 -22
- package/dist/modules/agents/agent-runtime-reconstruction.service.js.map +1 -1
- package/dist/modules/agents/agent-sandbox-files.service.d.ts +58 -0
- package/dist/modules/agents/agent-sandbox-files.service.js +266 -0
- package/dist/modules/agents/agent-sandbox-files.service.js.map +1 -0
- package/dist/modules/agents/agent-session-stop.service.d.ts +2 -2
- package/dist/modules/agents/agent-session-stop.service.js +2 -2
- package/dist/modules/agents/agent-session-stop.service.js.map +1 -1
- package/dist/modules/agents/agent-task.service.d.ts +1 -1
- package/dist/modules/agents/agent-task.service.js.map +1 -1
- package/dist/modules/agents/agent-turn-execution.service.d.ts +4 -1
- package/dist/modules/agents/agent-turn-execution.service.js +19 -2
- package/dist/modules/agents/agent-turn-execution.service.js.map +1 -1
- package/dist/modules/agents/agent-update-broadcaster.d.ts +2 -2
- package/dist/modules/agents/agent-update-broadcaster.js +2 -2
- package/dist/modules/agents/agent-update-broadcaster.js.map +1 -1
- package/dist/modules/agents/agent-workflow-execution.service.d.ts +1 -0
- package/dist/modules/agents/agent-workflow-execution.service.js +21 -4
- package/dist/modules/agents/agent-workflow-execution.service.js.map +1 -1
- package/dist/modules/agents/agent-workflow-tool-resume.service.d.ts +1 -1
- package/dist/modules/agents/agent-workflow-tool-resume.service.js +2 -2
- package/dist/modules/agents/agent-workflow-tool-resume.service.js.map +1 -1
- package/dist/modules/agents/agents-settings.controller.d.ts +1 -1
- package/dist/modules/agents/agents-settings.controller.js +2 -2
- package/dist/modules/agents/agents-settings.controller.js.map +1 -1
- package/dist/modules/agents/agents.module.d.ts +1 -1
- package/dist/modules/agents/agents.module.js +0 -2
- package/dist/modules/agents/agents.module.js.map +1 -1
- package/dist/modules/agents/background/agent-background-job.service.d.ts +1 -1
- package/dist/modules/agents/background/agent-background-job.service.js +2 -2
- package/dist/modules/agents/background/agent-background-job.service.js.map +1 -1
- package/dist/modules/agents/background/agent-wake.service.d.ts +1 -1
- package/dist/modules/agents/background/agent-wake.service.js +2 -2
- package/dist/modules/agents/background/agent-wake.service.js.map +1 -1
- package/dist/modules/agents/background/background-job-tools.js +9 -1
- package/dist/modules/agents/background/background-job-tools.js.map +1 -1
- package/dist/modules/agents/budget-guardrail.d.ts +1 -0
- package/dist/modules/agents/budget-guardrail.js +19 -10
- package/dist/modules/agents/budget-guardrail.js.map +1 -1
- package/dist/modules/agents/entities/agent-chat-attachment.entity.d.ts +1 -0
- package/dist/modules/agents/entities/agent-chat-attachment.entity.js +4 -0
- package/dist/modules/agents/entities/agent-chat-attachment.entity.js.map +1 -1
- package/dist/modules/agents/integrations/agent-chat-bridge.js +3 -1
- package/dist/modules/agents/integrations/agent-chat-bridge.js.map +1 -1
- package/dist/modules/agents/integrations/agent-chat-integration.d.ts +0 -1
- package/dist/modules/agents/integrations/agent-chat-integration.js +1 -2
- package/dist/modules/agents/integrations/agent-chat-integration.js.map +1 -1
- package/dist/modules/agents/integrations/agent-chat-stream-consumer.js +3 -1
- package/dist/modules/agents/integrations/agent-chat-stream-consumer.js.map +1 -1
- package/dist/modules/agents/integrations/agent-chat-subscription-state.adapter.d.ts +1 -1
- package/dist/modules/agents/integrations/agent-chat-subscription-state.service.d.ts +1 -1
- package/dist/modules/agents/integrations/agent-chat-subscription-state.service.js.map +1 -1
- package/dist/modules/agents/integrations/agent-outbound-files.service.d.ts +3 -1
- package/dist/modules/agents/integrations/agent-outbound-files.service.js +21 -6
- package/dist/modules/agents/integrations/agent-outbound-files.service.js.map +1 -1
- package/dist/modules/agents/integrations/chat-integration.service.d.ts +1 -1
- package/dist/modules/agents/integrations/chat-integration.service.js.map +1 -1
- package/dist/modules/agents/integrations/integration-tool-descriptions.d.ts +1 -1
- package/dist/modules/agents/integrations/integration-tool-descriptions.js +2 -2
- package/dist/modules/agents/integrations/integration-tool-descriptions.js.map +1 -1
- package/dist/modules/agents/integrations/leader-channel-relay.service.d.ts +2 -2
- package/dist/modules/agents/integrations/leader-channel-relay.service.js +2 -2
- package/dist/modules/agents/integrations/leader-channel-relay.service.js.map +1 -1
- package/dist/modules/agents/integrations/platforms/telegram/telegram-integration.js +14 -1
- package/dist/modules/agents/integrations/platforms/telegram/telegram-integration.js.map +1 -1
- package/dist/modules/agents/repositories/agent-chat-attachment.repository.d.ts +17 -0
- package/dist/modules/agents/repositories/agent-chat-attachment.repository.js +30 -0
- package/dist/modules/agents/repositories/agent-chat-attachment.repository.js.map +1 -1
- package/dist/modules/agents/repositories/agent-history.repository.js +2 -1
- package/dist/modules/agents/repositories/agent-history.repository.js.map +1 -1
- package/dist/modules/agents/sub-agents/delegate-sub-agent-tool.js +11 -1
- 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 +4 -1
- package/dist/modules/agents/sub-agents/sub-agent-runner.js +34 -4
- package/dist/modules/agents/sub-agents/sub-agent-runner.js.map +1 -1
- package/dist/modules/agents/system-agents/system-agent-execution.service.d.ts +1 -0
- package/dist/modules/agents/system-agents/system-agent-execution.service.js +21 -9
- package/dist/modules/agents/system-agents/system-agent-execution.service.js.map +1 -1
- package/dist/modules/agents/system-agents/system-agent.types.d.ts +7 -0
- package/dist/modules/agents/tools/import-files.tool.d.ts +16 -0
- package/dist/modules/agents/tools/import-files.tool.js +28 -0
- package/dist/modules/agents/tools/import-files.tool.js.map +1 -0
- package/dist/modules/agents/tools/read-binary-data.tool.js +3 -1
- package/dist/modules/agents/tools/read-binary-data.tool.js.map +1 -1
- package/dist/modules/agents/utils/gateway-error-classifier.d.ts +2 -0
- package/dist/modules/agents/utils/gateway-error-classifier.js +19 -0
- package/dist/modules/agents/utils/gateway-error-classifier.js.map +1 -0
- package/dist/modules/breaking-changes/notifications/migration-finding-notification.service.js +3 -2
- package/dist/modules/breaking-changes/notifications/migration-finding-notification.service.js.map +1 -1
- package/dist/modules/breaking-changes/owners/migration-owner-assignment.service.js +1 -3
- package/dist/modules/breaking-changes/owners/migration-owner-assignment.service.js.map +1 -1
- package/dist/modules/breaking-changes/owners/migration-owner-suggestion.service.js +1 -1
- package/dist/modules/breaking-changes/owners/migration-owner-suggestion.service.js.map +1 -1
- package/dist/modules/breaking-changes/owners/workflow-owner.d.ts +3 -3
- package/dist/modules/breaking-changes/owners/workflow-owner.js +3 -8
- package/dist/modules/breaking-changes/owners/workflow-owner.js.map +1 -1
- package/dist/modules/chat-hub/chat-message.repository.js +1 -1
- package/dist/modules/chat-hub/chat-message.repository.js.map +1 -1
- package/dist/modules/chat-hub/chat-stream.service.d.ts +1 -1
- package/dist/modules/chat-hub/chat-stream.service.js +2 -2
- package/dist/modules/chat-hub/chat-stream.service.js.map +1 -1
- package/dist/modules/community-packages/community-packages.service.d.ts +1 -1
- package/dist/modules/community-packages/community-packages.service.js +2 -2
- package/dist/modules/community-packages/community-packages.service.js.map +1 -1
- package/dist/modules/engine-v2/engine-additional-data.d.ts +2 -2
- package/dist/modules/engine-v2/engine-additional-data.js +2 -1
- package/dist/modules/engine-v2/engine-additional-data.js.map +1 -1
- package/dist/modules/engine-v2/engine-data-plane-client.d.ts +3 -2
- package/dist/modules/engine-v2/engine-data-plane-client.js +5 -2
- package/dist/modules/engine-v2/engine-data-plane-client.js.map +1 -1
- package/dist/modules/engine-v2/engine-data-tables.contract.d.ts +388 -0
- package/dist/modules/engine-v2/engine-data-tables.contract.js +61 -1
- package/dist/modules/engine-v2/engine-data-tables.contract.js.map +1 -1
- package/dist/modules/engine-v2/engine-data-tables.controller.js +2 -1
- package/dist/modules/engine-v2/engine-data-tables.controller.js.map +1 -1
- package/dist/modules/engine-v2/engine-v2.constants.d.ts +1 -0
- package/dist/modules/engine-v2/engine-v2.constants.js +2 -1
- package/dist/modules/engine-v2/engine-v2.constants.js.map +1 -1
- package/dist/modules/engine-v2/engine-v2.module.d.ts +2 -2
- package/dist/modules/engine-v2/engine-v2.module.js +20 -14
- package/dist/modules/engine-v2/engine-v2.module.js.map +1 -1
- package/dist/modules/engine-v2/engine-v2.runtime.d.ts +4 -2
- package/dist/modules/engine-v2/engine-v2.runtime.js +15 -7
- package/dist/modules/engine-v2/engine-v2.runtime.js.map +1 -1
- package/dist/modules/engine-v2/execution-channel/execution-channel-receiver.d.ts +20 -0
- package/dist/modules/engine-v2/execution-channel/execution-channel-receiver.js +62 -0
- package/dist/modules/engine-v2/execution-channel/execution-channel-receiver.js.map +1 -0
- package/dist/modules/engine-v2/execution-channel/execution-channel-sender.d.ts +18 -0
- package/dist/modules/engine-v2/execution-channel/execution-channel-sender.js +40 -0
- package/dist/modules/engine-v2/execution-channel/execution-channel-sender.js.map +1 -0
- package/dist/modules/engine-v2/{response-channel → execution-channel}/execution-response-frame.d.ts +2 -9
- package/dist/modules/engine-v2/{response-channel → execution-channel}/execution-response-frame.js +9 -0
- package/dist/modules/engine-v2/execution-channel/execution-response-frame.js.map +1 -0
- package/dist/modules/engine-v2/{response-channel → execution-channel}/execution-response-receiver.d.ts +2 -2
- package/dist/modules/engine-v2/execution-channel/execution-response-receiver.js.map +1 -0
- package/dist/modules/engine-v2/execution-channel/in-memory-execution-channel.d.ts +12 -0
- package/dist/modules/engine-v2/execution-channel/in-memory-execution-channel.js +32 -0
- package/dist/modules/engine-v2/execution-channel/in-memory-execution-channel.js.map +1 -0
- package/dist/modules/engine-v2/execution-channel/redis-execution-channel-publisher.d.ts +19 -0
- package/dist/modules/engine-v2/{response-channel/redis-execution-response-sender.js → execution-channel/redis-execution-channel-publisher.js} +12 -17
- package/dist/modules/engine-v2/execution-channel/redis-execution-channel-publisher.js.map +1 -0
- package/dist/modules/engine-v2/{response-channel/redis-execution-response-receiver.d.ts → execution-channel/redis-execution-channel-subscriber.d.ts} +6 -7
- package/dist/modules/engine-v2/{response-channel/redis-execution-response-receiver.js → execution-channel/redis-execution-channel-subscriber.js} +16 -20
- package/dist/modules/engine-v2/execution-channel/redis-execution-channel-subscriber.js.map +1 -0
- package/dist/modules/engine-v2/execution-channel/redis-execution-channel.d.ts +5 -0
- package/dist/modules/engine-v2/execution-channel/redis-execution-channel.js +30 -0
- package/dist/modules/engine-v2/execution-channel/redis-execution-channel.js.map +1 -0
- package/dist/modules/engine-v2/remote-data-table-proxy-provider.d.ts +12 -0
- package/dist/modules/engine-v2/remote-data-table-proxy-provider.js +143 -0
- package/dist/modules/engine-v2/remote-data-table-proxy-provider.js.map +1 -0
- package/dist/modules/engine-v2/webhook-response/webhook-response-registry.service.d.ts +1 -1
- package/dist/modules/external-secrets.ee/external-secrets-manager.ee.d.ts +1 -2
- package/dist/modules/external-secrets.ee/external-secrets-manager.ee.js +1 -2
- package/dist/modules/external-secrets.ee/external-secrets-manager.ee.js.map +1 -1
- package/dist/modules/inbound-auth-core/constants.d.ts +2 -2
- package/dist/modules/inbound-auth-core/constants.js +2 -2
- package/dist/modules/inbound-auth-core/constants.js.map +1 -1
- package/dist/modules/inbound-auth-core/database/repositories/trusted-source.repository.d.ts +2 -0
- package/dist/modules/inbound-auth-core/database/repositories/trusted-source.repository.js +11 -0
- package/dist/modules/inbound-auth-core/database/repositories/trusted-source.repository.js.map +1 -1
- package/dist/modules/inbound-auth-core/identity/trusted-source-identity.service.js +1 -1
- package/dist/modules/inbound-auth-core/identity/trusted-source-identity.service.js.map +1 -1
- package/dist/modules/inbound-auth-core/inbound-auth-core.module.js +6 -0
- package/dist/modules/inbound-auth-core/inbound-auth-core.module.js.map +1 -1
- package/dist/modules/inbound-auth-core/trusted-source.controller.js +1 -2
- package/dist/modules/inbound-auth-core/trusted-source.controller.js.map +1 -1
- package/dist/modules/inbound-auth-core/trusted-source.store.d.ts +3 -2
- package/dist/modules/inbound-auth-core/trusted-source.store.js +51 -13
- package/dist/modules/inbound-auth-core/trusted-source.store.js.map +1 -1
- package/dist/modules/instance-ai/assistant-agent/assistant-agent.provider.d.ts +1 -1
- package/dist/modules/instance-ai/assistant-agent/assistant-agent.provider.js +13 -24
- package/dist/modules/instance-ai/assistant-agent/assistant-agent.provider.js.map +1 -1
- package/dist/modules/instance-ai/assistant-agent/assistant-turn-trace.d.ts +3 -2
- package/dist/modules/instance-ai/assistant-agent/assistant-turn-trace.js.map +1 -1
- package/dist/modules/instance-ai/assistant.controller.d.ts +1 -1
- package/dist/modules/instance-ai/assistant.controller.js +2 -2
- package/dist/modules/instance-ai/assistant.controller.js.map +1 -1
- package/dist/modules/instance-ai/event-bus/in-process-event-bus.d.ts +1 -1
- package/dist/modules/instance-ai/event-bus/in-process-event-bus.js +4 -5
- package/dist/modules/instance-ai/event-bus/in-process-event-bus.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.adapter.service.d.ts +0 -2
- package/dist/modules/instance-ai/instance-ai.adapter.service.js +11 -14
- package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.module.d.ts +1 -1
- package/dist/modules/instance-ai/instance-ai.service.d.ts +3 -3
- package/dist/modules/instance-ai/instance-ai.service.js +30 -10
- package/dist/modules/instance-ai/instance-ai.service.js.map +1 -1
- package/dist/modules/instance-ai/internal-messages.js +15 -0
- package/dist/modules/instance-ai/internal-messages.js.map +1 -1
- package/dist/modules/instance-ai/onboarding.js +2 -1
- package/dist/modules/instance-ai/onboarding.js.map +1 -1
- package/dist/modules/instance-ai/repositories/instance-ai-observation-lock.repository.d.ts +10 -4
- package/dist/modules/instance-ai/repositories/instance-ai-observation-lock.repository.js +47 -4
- package/dist/modules/instance-ai/repositories/instance-ai-observation-lock.repository.js.map +1 -1
- package/dist/modules/instance-ai/self-healing/self-healing-trigger.service.d.ts +2 -3
- package/dist/modules/instance-ai/self-healing/self-healing-trigger.service.js +2 -2
- package/dist/modules/instance-ai/self-healing/self-healing-trigger.service.js.map +1 -1
- package/dist/modules/instance-ai/storage/typeorm-observation-log-store.js +5 -38
- package/dist/modules/instance-ai/storage/typeorm-observation-log-store.js.map +1 -1
- package/dist/modules/instance-ai/turn-setup/assistant-turn-environment.factory.d.ts +0 -1
- package/dist/modules/instance-ai/turn-setup/assistant-turn-environment.factory.js +5 -4
- package/dist/modules/instance-ai/turn-setup/assistant-turn-environment.factory.js.map +1 -1
- package/dist/modules/instance-ai/turn-setup/assistant-turn-input.builder.js +3 -3
- package/dist/modules/instance-ai/turn-setup/assistant-turn-input.builder.js.map +1 -1
- package/dist/modules/instance-ai/turn-setup/assistant-turn-trace-input.d.ts +5 -1
- package/dist/modules/instance-ai/turn-setup/assistant-turn-trace-input.js +7 -1
- package/dist/modules/instance-ai/turn-setup/assistant-turn-trace-input.js.map +1 -1
- package/dist/modules/instance-ai/web-research/fetch-and-extract.js +6 -1
- package/dist/modules/instance-ai/web-research/fetch-and-extract.js.map +1 -1
- package/dist/modules/{agents/entities/agent-file.entity.d.ts → knowledge/entities/knowledge-file.entity.d.ts} +1 -4
- package/dist/modules/{agents/entities/agent-file.entity.js → knowledge/entities/knowledge-file.entity.js} +12 -18
- package/dist/modules/knowledge/entities/knowledge-file.entity.js.map +1 -0
- package/dist/modules/knowledge/knowledge.module.js +2 -1
- package/dist/modules/knowledge/knowledge.module.js.map +1 -1
- package/dist/modules/{agents/repositories/agent-file.repository.d.ts → knowledge/repositories/knowledge-file.repository.d.ts} +5 -5
- package/dist/modules/{agents/repositories/agent-file.repository.js → knowledge/repositories/knowledge-file.repository.js} +18 -18
- package/dist/modules/knowledge/repositories/knowledge-file.repository.js.map +1 -0
- package/dist/modules/log-streaming.ee/log-streaming-destination.service.d.ts +1 -1
- package/dist/modules/log-streaming.ee/log-streaming-destination.service.js +2 -2
- package/dist/modules/log-streaming.ee/log-streaming-destination.service.js.map +1 -1
- package/dist/modules/mcp/mcp-protected-resource.d.ts +0 -1
- package/dist/modules/mcp/mcp-protected-resource.js +1 -12
- package/dist/modules/mcp/mcp-protected-resource.js.map +1 -1
- package/dist/modules/mcp/mcp-tool-availability.d.ts +0 -2
- package/dist/modules/mcp/mcp-tool-availability.js +0 -5
- package/dist/modules/mcp/mcp-tool-availability.js.map +1 -1
- package/dist/modules/mcp/mcp.service.d.ts +0 -1
- package/dist/modules/mcp/mcp.service.js +5 -9
- package/dist/modules/mcp/mcp.service.js.map +1 -1
- package/dist/modules/mcp/tools/agents/agent-slack-setup.d.ts +1 -1
- package/dist/modules/mcp-registry/registry/mcp-registry.service.d.ts +1 -1
- package/dist/modules/mcp-registry/registry/mcp-registry.service.js +2 -2
- package/dist/modules/mcp-registry/registry/mcp-registry.service.js.map +1 -1
- package/dist/modules/modules.manifest.js +1 -0
- package/dist/modules/modules.manifest.js.map +1 -1
- package/dist/modules/n8n-packages/engine/import-orchestrator.js.map +1 -1
- package/dist/modules/n8n-packages/entities/agent/agent.serializer.js +5 -1
- package/dist/modules/n8n-packages/entities/agent/agent.serializer.js.map +1 -1
- package/dist/modules/oauth-server/database/repositories/oauth-client.repository.d.ts +14 -3
- package/dist/modules/oauth-server/database/repositories/oauth-client.repository.js +43 -4
- package/dist/modules/oauth-server/database/repositories/oauth-client.repository.js.map +1 -1
- package/dist/modules/oauth-server/database/repositories/oauth-user-consent.repository.js +3 -2
- package/dist/modules/oauth-server/database/repositories/oauth-user-consent.repository.js.map +1 -1
- package/dist/modules/oauth-server/oauth-clients.controller.js +2 -1
- package/dist/modules/oauth-server/oauth-clients.controller.js.map +1 -1
- package/dist/modules/oauth-server/oauth-consent.service.js +1 -3
- package/dist/modules/oauth-server/oauth-consent.service.js.map +1 -1
- package/dist/modules/oauth-server/oauth-server.service.d.ts +2 -2
- package/dist/modules/oauth-server/oauth-server.service.js +19 -32
- package/dist/modules/oauth-server/oauth-server.service.js.map +1 -1
- package/dist/modules/oauth-server/oauth-signing-key.service.js +25 -10
- package/dist/modules/oauth-server/oauth-signing-key.service.js.map +1 -1
- package/dist/modules/otel/otel.service.d.ts +1 -1
- package/dist/modules/otel/otel.service.js +2 -2
- package/dist/modules/otel/otel.service.js.map +1 -1
- package/dist/modules/promotions.ee/database/repositories/promotion-review.repository.js +2 -0
- package/dist/modules/promotions.ee/database/repositories/promotion-review.repository.js.map +1 -1
- package/dist/modules/promotions.ee/promotion-review-changes.service.js +6 -3
- package/dist/modules/promotions.ee/promotion-review-changes.service.js.map +1 -1
- package/dist/modules/promotions.ee/promotion-review-inbox.service.js +2 -3
- package/dist/modules/promotions.ee/promotion-review-inbox.service.js.map +1 -1
- package/dist/modules/promotions.ee/promotion-review.utils.js +5 -1
- package/dist/modules/promotions.ee/promotion-review.utils.js.map +1 -1
- package/dist/modules/promotions.ee/promotions.service.js +2 -0
- package/dist/modules/promotions.ee/promotions.service.js.map +1 -1
- package/dist/modules/provisioning.ee/provisioning.service.ee.d.ts +1 -2
- package/dist/modules/provisioning.ee/provisioning.service.ee.js +1 -2
- package/dist/modules/provisioning.ee/provisioning.service.ee.js.map +1 -1
- package/dist/modules/provisioning.ee/role-mapping-rule.controller.ee.js +4 -3
- package/dist/modules/provisioning.ee/role-mapping-rule.controller.ee.js.map +1 -1
- package/dist/modules/redaction/executions/strategies/full-item-redaction.strategy.d.ts +0 -1
- package/dist/modules/redaction/executions/strategies/full-item-redaction.strategy.js +4 -11
- package/dist/modules/redaction/executions/strategies/full-item-redaction.strategy.js.map +1 -1
- package/dist/modules/redaction/instance-redaction-enforcement.service.d.ts +1 -2
- package/dist/modules/redaction/instance-redaction-enforcement.service.js +1 -2
- package/dist/modules/redaction/instance-redaction-enforcement.service.js.map +1 -1
- package/dist/modules/scim/scim-body-parser.js +2 -1
- package/dist/modules/scim/scim-body-parser.js.map +1 -1
- package/dist/modules/skills/services/skill.service.js +1 -9
- package/dist/modules/skills/services/skill.service.js.map +1 -1
- package/dist/modules/source-control.ee/source-control-context.factory.js +1 -1
- package/dist/modules/source-control.ee/source-control-context.factory.js.map +1 -1
- package/dist/modules/source-control.ee/source-control-git.service.ee.js +2 -3
- package/dist/modules/source-control.ee/source-control-git.service.ee.js.map +1 -1
- package/dist/modules/source-control.ee/source-control-helper.ee.d.ts +5 -1
- package/dist/modules/source-control.ee/source-control-helper.ee.js +12 -0
- package/dist/modules/source-control.ee/source-control-helper.ee.js.map +1 -1
- package/dist/modules/source-control.ee/source-control-preferences.service.ee.js +1 -1
- package/dist/modules/source-control.ee/source-control-preferences.service.ee.js.map +1 -1
- package/dist/modules/source-control.ee/source-control.service.ee.js +2 -3
- package/dist/modules/source-control.ee/source-control.service.ee.js.map +1 -1
- package/dist/modules/source-control.ee/types/source-control-context.d.ts +1 -1
- package/dist/modules/source-control.ee/types/source-control-context.js +3 -1
- package/dist/modules/source-control.ee/types/source-control-context.js.map +1 -1
- package/dist/modules/sso-oidc/oidc.controller.ee.js +1 -0
- package/dist/modules/sso-oidc/oidc.controller.ee.js.map +1 -1
- package/dist/modules/sso-oidc/oidc.service.ee.js +1 -1
- package/dist/modules/sso-oidc/oidc.service.ee.js.map +1 -1
- package/dist/modules/sso-saml/saml.service.ee.js +1 -1
- package/dist/modules/sso-saml/saml.service.ee.js.map +1 -1
- package/dist/modules/type-availability-policies/type-availability-policy-snapshot.d.ts +1 -1
- package/dist/modules/type-availability-policies/type-availability-policy-snapshot.js +2 -2
- package/dist/modules/type-availability-policies/type-availability-policy-snapshot.js.map +1 -1
- package/dist/modules/workflow-reviews.ee/workflow-review.mapper.js +2 -9
- package/dist/modules/workflow-reviews.ee/workflow-review.mapper.js.map +1 -1
- package/dist/posthog/index.js +6 -3
- package/dist/posthog/index.js.map +1 -1
- package/dist/public-api/public-api-rate-limit-settings.service.d.ts +1 -2
- package/dist/public-api/public-api-rate-limit-settings.service.js +1 -2
- package/dist/public-api/public-api-rate-limit-settings.service.js.map +1 -1
- package/dist/public-api/v1/controllers/projects.public.controller.js +6 -4
- package/dist/public-api/v1/controllers/projects.public.controller.js.map +1 -1
- package/dist/public-api/v1/controllers/role-mapping-rules.public.controller.js +4 -3
- package/dist/public-api/v1/controllers/role-mapping-rules.public.controller.js.map +1 -1
- package/dist/push/index.d.ts +1 -1
- package/dist/push/index.js +4 -5
- package/dist/push/index.js.map +1 -1
- package/dist/scaling/constants.d.ts +0 -8
- package/dist/scaling/constants.js +1 -44
- package/dist/scaling/constants.js.map +1 -1
- package/dist/scaling/execution-stop.service.d.ts +1 -1
- package/dist/scaling/execution-stop.service.js +2 -2
- package/dist/scaling/execution-stop.service.js.map +1 -1
- package/dist/scaling/pubsub/pubsub.registry.d.ts +1 -1
- package/dist/scaling/pubsub/pubsub.registry.js +2 -2
- package/dist/scaling/pubsub/pubsub.registry.js.map +1 -1
- package/dist/scaling/scaling.service.js +1 -1
- package/dist/scaling/scaling.service.js.map +1 -1
- package/dist/scaling/worker-status.service.ee.d.ts +1 -1
- package/dist/scaling/worker-status.service.ee.js +2 -2
- package/dist/scaling/worker-status.service.ee.js.map +1 -1
- package/dist/services/dynamic-node-parameters.service.js +3 -2
- package/dist/services/dynamic-node-parameters.service.js.map +1 -1
- package/dist/services/engine-data-plane-proxy.service.d.ts +5 -3
- package/dist/services/engine-data-plane-proxy.service.js +5 -2
- package/dist/services/engine-data-plane-proxy.service.js.map +1 -1
- package/dist/services/engine-v2-dispatcher.service.js +1 -0
- package/dist/services/engine-v2-dispatcher.service.js.map +1 -1
- package/dist/services/ownership-transfer/ownership-transfer.manifest.json +5 -0
- package/dist/services/public-api-key.service.d.ts +2 -2
- package/dist/services/public-api-key.service.js +10 -9
- package/dist/services/public-api-key.service.js.map +1 -1
- package/dist/user-management/email/user-management-mailer.js +4 -3
- package/dist/user-management/email/user-management-mailer.js.map +1 -1
- package/dist/utils/sub-workflow-error.d.ts +5 -0
- package/dist/utils/sub-workflow-error.js +40 -0
- package/dist/utils/sub-workflow-error.js.map +1 -0
- package/dist/utils/to-user-like.d.ts +3 -0
- package/dist/utils/to-user-like.js +12 -0
- package/dist/utils/to-user-like.js.map +1 -0
- package/dist/webhooks/hitl-interaction-webhooks.d.ts +3 -2
- package/dist/webhooks/hitl-interaction-webhooks.js +34 -13
- package/dist/webhooks/hitl-interaction-webhooks.js.map +1 -1
- package/dist/webhooks/slack-interaction-webhooks.d.ts +1 -2
- package/dist/webhooks/slack-interaction-webhooks.js +3 -3
- package/dist/webhooks/slack-interaction-webhooks.js.map +1 -1
- package/dist/webhooks/telegram-interaction-webhooks.d.ts +1 -2
- package/dist/webhooks/telegram-interaction-webhooks.js +2 -2
- package/dist/webhooks/telegram-interaction-webhooks.js.map +1 -1
- package/dist/webhooks/test-webhooks.d.ts +1 -1
- package/dist/webhooks/test-webhooks.js +2 -2
- package/dist/webhooks/test-webhooks.js.map +1 -1
- package/dist/webhooks/waiting-forms.d.ts +1 -1
- package/dist/webhooks/waiting-forms.js +2 -2
- package/dist/webhooks/waiting-forms.js.map +1 -1
- package/dist/webhooks/waiting-webhooks.d.ts +8 -3
- package/dist/webhooks/waiting-webhooks.js +45 -16
- package/dist/webhooks/waiting-webhooks.js.map +1 -1
- package/dist/webhooks/webhook-helpers.js +2 -4
- package/dist/webhooks/webhook-helpers.js.map +1 -1
- package/dist/workflow-execute-additional-data.js +10 -17
- package/dist/workflow-execute-additional-data.js.map +1 -1
- package/dist/workflow-runner.js +5 -2
- package/dist/workflow-runner.js.map +1 -1
- package/dist/workflows/publication/publication-status-reporter.d.ts +1 -1
- package/dist/workflows/publication/publication-status-reporter.js +2 -2
- package/dist/workflows/publication/publication-status-reporter.js.map +1 -1
- package/dist/workflows/publication/workflow-publication-notifier.d.ts +1 -1
- package/dist/workflows/publication/workflow-publication-notifier.js +2 -2
- package/dist/workflows/publication/workflow-publication-notifier.js.map +1 -1
- package/dist/workflows/workflow-history/workflow-history.service.js +2 -7
- package/dist/workflows/workflow-history/workflow-history.service.js.map +1 -1
- package/dist/workflows/workflows.controller.js +2 -7
- package/dist/workflows/workflows.controller.js.map +1 -1
- package/package.json +42 -41
- package/dist/modules/agents/entities/agent-file.entity.js.map +0 -1
- package/dist/modules/agents/repositories/agent-file.repository.js.map +0 -1
- package/dist/modules/engine-v2/response-channel/execution-response-frame.js.map +0 -1
- package/dist/modules/engine-v2/response-channel/execution-response-receiver.js.map +0 -1
- package/dist/modules/engine-v2/response-channel/in-memory-execution-response-channel.d.ts +0 -6
- package/dist/modules/engine-v2/response-channel/in-memory-execution-response-channel.js +0 -18
- package/dist/modules/engine-v2/response-channel/in-memory-execution-response-channel.js.map +0 -1
- package/dist/modules/engine-v2/response-channel/in-memory-execution-response-receiver.d.ts +0 -13
- package/dist/modules/engine-v2/response-channel/in-memory-execution-response-receiver.js +0 -45
- package/dist/modules/engine-v2/response-channel/in-memory-execution-response-receiver.js.map +0 -1
- package/dist/modules/engine-v2/response-channel/in-memory-execution-response-sender.d.ts +0 -13
- package/dist/modules/engine-v2/response-channel/in-memory-execution-response-sender.js +0 -27
- package/dist/modules/engine-v2/response-channel/in-memory-execution-response-sender.js.map +0 -1
- package/dist/modules/engine-v2/response-channel/redis-execution-response-channel.d.ts +0 -4
- package/dist/modules/engine-v2/response-channel/redis-execution-response-channel.js +0 -31
- package/dist/modules/engine-v2/response-channel/redis-execution-response-channel.js.map +0 -1
- package/dist/modules/engine-v2/response-channel/redis-execution-response-receiver.js.map +0 -1
- package/dist/modules/engine-v2/response-channel/redis-execution-response-sender.d.ts +0 -20
- package/dist/modules/engine-v2/response-channel/redis-execution-response-sender.js.map +0 -1
- package/dist/scaling/pubsub/publisher.service.d.ts +0 -29
- package/dist/scaling/pubsub/publisher.service.js +0 -97
- package/dist/scaling/pubsub/publisher.service.js.map +0 -1
- package/dist/scaling/pubsub/pubsub.event-map.d.ts +0 -228
- package/dist/scaling/pubsub/pubsub.event-map.js +0 -3
- package/dist/scaling/pubsub/pubsub.event-map.js.map +0 -1
- package/dist/scaling/pubsub/pubsub.eventbus.d.ts +0 -4
- package/dist/scaling/pubsub/pubsub.eventbus.js +0 -18
- package/dist/scaling/pubsub/pubsub.eventbus.js.map +0 -1
- package/dist/scaling/pubsub/pubsub.types.d.ts +0 -91
- package/dist/scaling/pubsub/pubsub.types.js +0 -3
- package/dist/scaling/pubsub/pubsub.types.js.map +0 -1
- package/dist/scaling/pubsub/subscriber.service.d.ts +0 -42
- package/dist/scaling/pubsub/subscriber.service.js +0 -214
- package/dist/scaling/pubsub/subscriber.service.js.map +0 -1
- package/dist/utils/object-to-error.d.ts +0 -2
- package/dist/utils/object-to-error.js +0 -37
- package/dist/utils/object-to-error.js.map +0 -1
- /package/dist/modules/engine-v2/{response-channel → execution-channel}/execution-response-receiver.js +0 -0
|
@@ -7,6 +7,7 @@ import { CredentialsHelper } from '../../credentials-helper';
|
|
|
7
7
|
import { NodeTypes } from '../../node-types';
|
|
8
8
|
import { EngineAdditionalDataBuilder } from './engine-additional-data';
|
|
9
9
|
import { EngineControlPlaneClient } from './engine-control-plane-client';
|
|
10
|
+
import { EngineControlPlaneTransport } from './engine-control-plane-transport';
|
|
10
11
|
import { EngineCredentialsClient } from './engine-credentials-client';
|
|
11
12
|
import { EngineSubWorkflowClient } from './engine-sub-workflow-client';
|
|
12
13
|
export declare class EngineV2Runtime {
|
|
@@ -24,11 +25,12 @@ export declare class EngineV2Runtime {
|
|
|
24
25
|
private engine?;
|
|
25
26
|
private server?;
|
|
26
27
|
private stopping?;
|
|
27
|
-
|
|
28
|
+
private readonly dataTablesHttp;
|
|
29
|
+
constructor(engineConfig: EngineConfig, nodeTypes: NodeTypes, logger: Logger, controlPlaneClient: EngineControlPlaneClient, credentialsClient: EngineCredentialsClient, transport: EngineControlPlaneTransport, subWorkflowClient: EngineSubWorkflowClient, credentialsHelper: CredentialsHelper, credentialTypes: CredentialTypes, additionalDataBuilder: EngineAdditionalDataBuilder, binaryDataService: BinaryDataService);
|
|
28
30
|
init(responseSender?: ExecutionResponseSender): Promise<void>;
|
|
29
31
|
private initDb;
|
|
30
32
|
private initEngine;
|
|
31
|
-
private
|
|
33
|
+
private resumeMinters;
|
|
32
34
|
private buildAdditionalData;
|
|
33
35
|
private initServer;
|
|
34
36
|
shutdown(): Promise<void>;
|
|
@@ -26,11 +26,13 @@ const credentials_helper_1 = require("../../credentials-helper");
|
|
|
26
26
|
const node_types_1 = require("../../node-types");
|
|
27
27
|
const engine_additional_data_1 = require("./engine-additional-data");
|
|
28
28
|
const engine_control_plane_client_1 = require("./engine-control-plane-client");
|
|
29
|
+
const engine_control_plane_transport_1 = require("./engine-control-plane-transport");
|
|
29
30
|
const engine_credentials_client_1 = require("./engine-credentials-client");
|
|
30
31
|
const engine_sub_workflow_client_1 = require("./engine-sub-workflow-client");
|
|
31
32
|
const remote_credentials_helper_1 = require("./remote-credentials-helper");
|
|
33
|
+
const remote_data_table_proxy_provider_1 = require("./remote-data-table-proxy-provider");
|
|
32
34
|
let EngineV2Runtime = class EngineV2Runtime {
|
|
33
|
-
constructor(engineConfig, nodeTypes, logger, controlPlaneClient, credentialsClient, subWorkflowClient, credentialsHelper, credentialTypes, additionalDataBuilder, binaryDataService) {
|
|
35
|
+
constructor(engineConfig, nodeTypes, logger, controlPlaneClient, credentialsClient, transport, subWorkflowClient, credentialsHelper, credentialTypes, additionalDataBuilder, binaryDataService) {
|
|
34
36
|
this.engineConfig = engineConfig;
|
|
35
37
|
this.nodeTypes = nodeTypes;
|
|
36
38
|
this.logger = logger;
|
|
@@ -42,6 +44,7 @@ let EngineV2Runtime = class EngineV2Runtime {
|
|
|
42
44
|
this.additionalDataBuilder = additionalDataBuilder;
|
|
43
45
|
this.binaryDataService = binaryDataService;
|
|
44
46
|
this.logger = this.logger.scoped('engine-v2');
|
|
47
|
+
this.dataTablesHttp = transport.forScope('data-tables:use');
|
|
45
48
|
}
|
|
46
49
|
async init(responseSender = engine_1.noopExecutionResponseSender) {
|
|
47
50
|
try {
|
|
@@ -87,7 +90,7 @@ let EngineV2Runtime = class EngineV2Runtime {
|
|
|
87
90
|
nodeTypes: this.nodeTypes,
|
|
88
91
|
additionalDataFactory: async (context) => this.buildAdditionalData(context, stopping),
|
|
89
92
|
loadStepData: (0, node_engine_compatibility_1.createEngineStepDataLoader)(executionStore, stepStore),
|
|
90
|
-
|
|
93
|
+
...this.resumeMinters(),
|
|
91
94
|
resolveSubWorkflow: async (request) => await this.subWorkflowClient.resolve(request, stopping.signal),
|
|
92
95
|
}),
|
|
93
96
|
}),
|
|
@@ -95,15 +98,20 @@ let EngineV2Runtime = class EngineV2Runtime {
|
|
|
95
98
|
engine.start();
|
|
96
99
|
this.engine = engine;
|
|
97
100
|
}
|
|
98
|
-
|
|
101
|
+
resumeMinters() {
|
|
99
102
|
const { resumeSecret } = this.engineConfig;
|
|
100
103
|
if (!resumeSecret)
|
|
101
|
-
return
|
|
102
|
-
return
|
|
104
|
+
return {};
|
|
105
|
+
return {
|
|
106
|
+
resumeToken: ({ executionId }) => (0, engine_1.mintResumeToken)(resumeSecret, executionId),
|
|
107
|
+
stepBoundResumeToken: ({ stepId, binding }) => (0, engine_1.mintStepBoundResumeToken)(resumeSecret, stepId, binding),
|
|
108
|
+
approvalCallback: ({ stepId, decision }) => (0, engine_1.mintApprovalCallback)(resumeSecret, stepId, decision),
|
|
109
|
+
};
|
|
103
110
|
}
|
|
104
111
|
buildAdditionalData(context, stopping) {
|
|
105
112
|
const credentialsHelper = new remote_credentials_helper_1.RemoteCredentialsHelper(this.credentialsClient, this.credentialsHelper, this.credentialTypes, context, stopping.signal);
|
|
106
|
-
|
|
113
|
+
const dataTableProxyProvider = new remote_data_table_proxy_provider_1.RemoteDataTableProxyProvider(this.dataTablesHttp, context, stopping.signal);
|
|
114
|
+
return this.additionalDataBuilder.build(context, credentialsHelper, dataTableProxyProvider);
|
|
107
115
|
}
|
|
108
116
|
async initServer() {
|
|
109
117
|
const { host, port } = this.engineConfig;
|
|
@@ -159,6 +167,6 @@ let EngineV2Runtime = class EngineV2Runtime {
|
|
|
159
167
|
exports.EngineV2Runtime = EngineV2Runtime;
|
|
160
168
|
exports.EngineV2Runtime = EngineV2Runtime = __decorate([
|
|
161
169
|
(0, di_1.Service)(),
|
|
162
|
-
__metadata("design:paramtypes", [config_1.EngineConfig, node_types_1.NodeTypes, backend_common_1.Logger, engine_control_plane_client_1.EngineControlPlaneClient, engine_credentials_client_1.EngineCredentialsClient, engine_sub_workflow_client_1.EngineSubWorkflowClient, credentials_helper_1.CredentialsHelper, credential_types_1.CredentialTypes, engine_additional_data_1.EngineAdditionalDataBuilder, n8n_core_1.BinaryDataService])
|
|
170
|
+
__metadata("design:paramtypes", [config_1.EngineConfig, node_types_1.NodeTypes, backend_common_1.Logger, engine_control_plane_client_1.EngineControlPlaneClient, engine_credentials_client_1.EngineCredentialsClient, engine_control_plane_transport_1.EngineControlPlaneTransport, engine_sub_workflow_client_1.EngineSubWorkflowClient, credentials_helper_1.CredentialsHelper, credential_types_1.CredentialTypes, engine_additional_data_1.EngineAdditionalDataBuilder, n8n_core_1.BinaryDataService])
|
|
163
171
|
], EngineV2Runtime);
|
|
164
172
|
//# sourceMappingURL=engine-v2.runtime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine-v2.runtime.js","sourceRoot":"","sources":["../../../src/modules/engine-v2/engine-v2.runtime.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"engine-v2.runtime.js","sourceRoot":"","sources":["../../../src/modules/engine-v2/engine-v2.runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Logger } from '@n8n/backend-common';
|
|
2
|
+
import type { ExecutionChannelCodec, ExecutionChannelFrameHandler, ExecutionChannelSubscriber, ExecutionChannelTopic, UnsubscribeFromExecutionChannel } from '@n8n/engine';
|
|
3
|
+
import type { InMemoryExecutionChannel } from './in-memory-execution-channel';
|
|
4
|
+
export declare class ExecutionChannelReceiver<T> {
|
|
5
|
+
private readonly subscriber;
|
|
6
|
+
private readonly codec;
|
|
7
|
+
private readonly logger;
|
|
8
|
+
private stopped;
|
|
9
|
+
constructor(subscriber: ExecutionChannelSubscriber, codec: ExecutionChannelCodec<T>, logger: Logger);
|
|
10
|
+
receive(executionId: string, handler: (message: T) => void): Promise<UnsubscribeFromExecutionChannel>;
|
|
11
|
+
stop(): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
export declare class InMemoryExecutionChannelSubscriber implements ExecutionChannelSubscriber {
|
|
14
|
+
private readonly channel;
|
|
15
|
+
private readonly subscriptions;
|
|
16
|
+
private stopped;
|
|
17
|
+
constructor(channel: InMemoryExecutionChannel);
|
|
18
|
+
subscribe(topic: ExecutionChannelTopic, executionId: string, handler: ExecutionChannelFrameHandler): Promise<UnsubscribeFromExecutionChannel>;
|
|
19
|
+
stop(): Promise<void>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InMemoryExecutionChannelSubscriber = exports.ExecutionChannelReceiver = void 0;
|
|
4
|
+
class ExecutionChannelReceiver {
|
|
5
|
+
constructor(subscriber, codec, logger) {
|
|
6
|
+
this.subscriber = subscriber;
|
|
7
|
+
this.codec = codec;
|
|
8
|
+
this.logger = logger;
|
|
9
|
+
this.stopped = false;
|
|
10
|
+
}
|
|
11
|
+
async receive(executionId, handler) {
|
|
12
|
+
if (this.stopped)
|
|
13
|
+
return () => { };
|
|
14
|
+
const { topic } = this.codec;
|
|
15
|
+
return await this.subscriber.subscribe(topic, executionId, (frame) => {
|
|
16
|
+
if (this.stopped)
|
|
17
|
+
return;
|
|
18
|
+
const messageResult = this.codec.deserialize(frame);
|
|
19
|
+
if (!messageResult.ok)
|
|
20
|
+
return;
|
|
21
|
+
try {
|
|
22
|
+
handler(messageResult.result);
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
this.logger.error('An execution channel message handler failed', {
|
|
26
|
+
topic,
|
|
27
|
+
executionId,
|
|
28
|
+
error,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
async stop() {
|
|
34
|
+
this.stopped = true;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.ExecutionChannelReceiver = ExecutionChannelReceiver;
|
|
38
|
+
class InMemoryExecutionChannelSubscriber {
|
|
39
|
+
constructor(channel) {
|
|
40
|
+
this.channel = channel;
|
|
41
|
+
this.subscriptions = new Set();
|
|
42
|
+
this.stopped = false;
|
|
43
|
+
}
|
|
44
|
+
async subscribe(topic, executionId, handler) {
|
|
45
|
+
if (this.stopped)
|
|
46
|
+
return () => { };
|
|
47
|
+
const unsubscribeFromChannel = this.channel.subscribe(topic, executionId, handler);
|
|
48
|
+
const unsubscribe = () => {
|
|
49
|
+
unsubscribeFromChannel();
|
|
50
|
+
this.subscriptions.delete(unsubscribe);
|
|
51
|
+
};
|
|
52
|
+
this.subscriptions.add(unsubscribe);
|
|
53
|
+
return unsubscribe;
|
|
54
|
+
}
|
|
55
|
+
async stop() {
|
|
56
|
+
this.stopped = true;
|
|
57
|
+
for (const unsubscribe of this.subscriptions)
|
|
58
|
+
unsubscribe();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.InMemoryExecutionChannelSubscriber = InMemoryExecutionChannelSubscriber;
|
|
62
|
+
//# sourceMappingURL=execution-channel-receiver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-channel-receiver.js","sourceRoot":"","sources":["../../../../src/modules/engine-v2/execution-channel/execution-channel-receiver.ts"],"names":[],"mappings":";;;AAYA;IAGC,YACkB,UAAsC,EACtC,KAA+B,EAC/B,MAAc;QAFd,eAAU,GAAV,UAAU,CAA4B;QACtC,UAAK,GAAL,KAAK,CAA0B;QAC/B,WAAM,GAAN,MAAM,CAAQ;QALxB,YAAO,GAAG,KAAK,CAAC;IAMrB,CAAC;IAEJ,KAAK,CAAC,OAAO,CACZ,WAAmB,EACnB,OAA6B;QAE7B,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;QAElC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;YACpE,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO;YAEzB,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACpD,IAAI,CAAC,aAAa,CAAC,EAAE;gBAAE,OAAO;YAE9B,IAAI,CAAC;gBACJ,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE;oBAChE,KAAK;oBACL,WAAW;oBACX,KAAK;iBACL,CAAC,CAAC;YACJ,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAGD,KAAK,CAAC,IAAI;QACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACrB,CAAC;CACD;;AAED;IAKC,YAA6B,OAAiC;QAAjC,YAAO,GAAP,OAAO,CAA0B;QAJ7C,kBAAa,GAAG,IAAI,GAAG,EAAmC,CAAC;QAEpE,YAAO,GAAG,KAAK,CAAC;IAEyC,CAAC;IAElE,KAAK,CAAC,SAAS,CACd,KAA4B,EAC5B,WAAmB,EACnB,OAAqC;QAErC,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;QAElC,MAAM,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QACnF,MAAM,WAAW,GAAG,GAAG,EAAE;YACxB,sBAAsB,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAEpC,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,IAAI;QACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,aAAa;YAAE,WAAW,EAAE,CAAC;IAC7D,CAAC;CACD"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ExecutionChannelCodec, ExecutionChannelPublisher, ExecutionChannelTopic } from '@n8n/engine';
|
|
2
|
+
import { type Result } from '@n8n/utils/result';
|
|
3
|
+
import type { InMemoryExecutionChannel } from './in-memory-execution-channel';
|
|
4
|
+
export declare class ExecutionChannelSender<T> {
|
|
5
|
+
private readonly publisher;
|
|
6
|
+
private readonly codec;
|
|
7
|
+
private stopped;
|
|
8
|
+
constructor(publisher: ExecutionChannelPublisher, codec: ExecutionChannelCodec<T>);
|
|
9
|
+
send(message: T): Result<void, Error>;
|
|
10
|
+
stop(): Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
export declare class InMemoryExecutionChannelPublisher implements ExecutionChannelPublisher {
|
|
13
|
+
private readonly channel;
|
|
14
|
+
private stopped;
|
|
15
|
+
constructor(channel: InMemoryExecutionChannel);
|
|
16
|
+
publish(topic: ExecutionChannelTopic, executionId: string, frame: string): void;
|
|
17
|
+
stop(): Promise<void>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InMemoryExecutionChannelPublisher = exports.ExecutionChannelSender = void 0;
|
|
4
|
+
const result_1 = require("@n8n/utils/result");
|
|
5
|
+
const errors_1 = require("@n8n/errors");
|
|
6
|
+
class ExecutionChannelSender {
|
|
7
|
+
constructor(publisher, codec) {
|
|
8
|
+
this.publisher = publisher;
|
|
9
|
+
this.codec = codec;
|
|
10
|
+
this.stopped = false;
|
|
11
|
+
}
|
|
12
|
+
send(message) {
|
|
13
|
+
if (this.stopped) {
|
|
14
|
+
return (0, result_1.createResultError)(new errors_1.UnexpectedError('The execution channel sender has stopped.'));
|
|
15
|
+
}
|
|
16
|
+
const frameResult = this.codec.serialize(message);
|
|
17
|
+
this.publisher.publish(this.codec.topic, this.codec.executionIdOf(message), frameResult.frame);
|
|
18
|
+
return frameResult.ok ? (0, result_1.createResultOk)(undefined) : (0, result_1.createResultError)(frameResult.error);
|
|
19
|
+
}
|
|
20
|
+
async stop() {
|
|
21
|
+
this.stopped = true;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.ExecutionChannelSender = ExecutionChannelSender;
|
|
25
|
+
class InMemoryExecutionChannelPublisher {
|
|
26
|
+
constructor(channel) {
|
|
27
|
+
this.channel = channel;
|
|
28
|
+
this.stopped = false;
|
|
29
|
+
}
|
|
30
|
+
publish(topic, executionId, frame) {
|
|
31
|
+
if (this.stopped)
|
|
32
|
+
return;
|
|
33
|
+
this.channel.publish(topic, executionId, frame);
|
|
34
|
+
}
|
|
35
|
+
async stop() {
|
|
36
|
+
this.stopped = true;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.InMemoryExecutionChannelPublisher = InMemoryExecutionChannelPublisher;
|
|
40
|
+
//# sourceMappingURL=execution-channel-sender.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-channel-sender.js","sourceRoot":"","sources":["../../../../src/modules/engine-v2/execution-channel/execution-channel-sender.ts"],"names":[],"mappings":";;;AAKA,8CAAmF;AACnF,wCAA8C;AAK9C;IAGC,YACkB,SAAoC,EACpC,KAA+B;QAD/B,cAAS,GAAT,SAAS,CAA2B;QACpC,UAAK,GAAL,KAAK,CAA0B;QAJzC,YAAO,GAAG,KAAK,CAAC;IAKrB,CAAC;IAEJ,IAAI,CAAC,OAAU;QACd,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,IAAA,0BAAiB,EAAC,IAAI,wBAAe,CAAC,2CAA2C,CAAC,CAAC,CAAC;QAC5F,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;QAE/F,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAA,uBAAc,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAA,0BAAiB,EAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1F,CAAC;IAGD,KAAK,CAAC,IAAI;QACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACrB,CAAC;CACD;;AAED;IAGC,YAA6B,OAAiC;QAAjC,YAAO,GAAP,OAAO,CAA0B;QAFtD,YAAO,GAAG,KAAK,CAAC;IAEyC,CAAC;IAElE,OAAO,CAAC,KAA4B,EAAE,WAAmB,EAAE,KAAa;QACvE,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QAEzB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,IAAI;QACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACrB,CAAC;CACD"}
|
package/dist/modules/engine-v2/{response-channel → execution-channel}/execution-response-frame.d.ts
RENAMED
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
import type { Logger } from '@n8n/backend-common';
|
|
2
|
-
import { type ExecutionResponse } from '@n8n/engine';
|
|
2
|
+
import { type ExecutionChannelCodec, type ExecutionResponse, type FrameResult } from '@n8n/engine';
|
|
3
3
|
import { type Result } from '@n8n/utils/result';
|
|
4
|
-
export
|
|
5
|
-
ok: true;
|
|
6
|
-
frame: string;
|
|
7
|
-
} | {
|
|
8
|
-
ok: false;
|
|
9
|
-
frame: string;
|
|
10
|
-
error: Error;
|
|
11
|
-
};
|
|
4
|
+
export declare function createExecutionResponseCodec(logger: Logger, maxFrameBytes?: number): ExecutionChannelCodec<ExecutionResponse>;
|
|
12
5
|
export declare function serializeExecutionResponse(response: ExecutionResponse, logger: Logger, maxFrameBytes?: number): FrameResult;
|
|
13
6
|
export declare function deserializeExecutionResponse(frame: string, logger: Logger): Result<ExecutionResponse, Error>;
|
package/dist/modules/engine-v2/{response-channel → execution-channel}/execution-response-frame.js
RENAMED
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createExecutionResponseCodec = createExecutionResponseCodec;
|
|
3
4
|
exports.serializeExecutionResponse = serializeExecutionResponse;
|
|
4
5
|
exports.deserializeExecutionResponse = deserializeExecutionResponse;
|
|
5
6
|
const engine_1 = require("@n8n/engine");
|
|
6
7
|
const result_1 = require("@n8n/utils/result");
|
|
7
8
|
const errors_1 = require("@n8n/errors");
|
|
8
9
|
const MAX_FRAME_BYTES = 5 * 1024 * 1024;
|
|
10
|
+
function createExecutionResponseCodec(logger, maxFrameBytes = MAX_FRAME_BYTES) {
|
|
11
|
+
return {
|
|
12
|
+
topic: 'responses',
|
|
13
|
+
executionIdOf: (response) => response.executionId,
|
|
14
|
+
serialize: (response) => serializeExecutionResponse(response, logger, maxFrameBytes),
|
|
15
|
+
deserialize: (frame) => deserializeExecutionResponse(frame, logger),
|
|
16
|
+
};
|
|
17
|
+
}
|
|
9
18
|
function serializeExecutionResponse(response, logger, maxFrameBytes = MAX_FRAME_BYTES) {
|
|
10
19
|
const serialized = (0, result_1.toResult)(() => JSON.stringify(response));
|
|
11
20
|
if (!serialized.ok) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-response-frame.js","sourceRoot":"","sources":["../../../../src/modules/engine-v2/execution-channel/execution-response-frame.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ExecutionResponse } from '@n8n/engine';
|
|
2
|
-
export type UnsubscribeExecutionResponse =
|
|
1
|
+
import type { ExecutionResponse, UnsubscribeFromExecutionChannel } from '@n8n/engine';
|
|
2
|
+
export type UnsubscribeExecutionResponse = UnsubscribeFromExecutionChannel;
|
|
3
3
|
export interface ExecutionResponseReceiver {
|
|
4
4
|
receive(executionId: string, handler: (response: ExecutionResponse) => void): Promise<UnsubscribeExecutionResponse>;
|
|
5
5
|
stop(): Promise<void>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-response-receiver.js","sourceRoot":"","sources":["../../../../src/modules/engine-v2/execution-channel/execution-response-receiver.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ExecutionChannelFrameHandler, ExecutionChannelTopic, UnsubscribeFromExecutionChannel } from '@n8n/engine';
|
|
2
|
+
import { InMemoryExecutionChannelSubscriber } from './execution-channel-receiver';
|
|
3
|
+
import { InMemoryExecutionChannelPublisher } from './execution-channel-sender';
|
|
4
|
+
export declare class InMemoryExecutionChannel {
|
|
5
|
+
private readonly emitter;
|
|
6
|
+
publish(topic: ExecutionChannelTopic, executionId: string, frame: string): void;
|
|
7
|
+
subscribe(topic: ExecutionChannelTopic, executionId: string, handler: ExecutionChannelFrameHandler): UnsubscribeFromExecutionChannel;
|
|
8
|
+
}
|
|
9
|
+
export declare function createInMemoryExecutionChannel(): {
|
|
10
|
+
publisher: InMemoryExecutionChannelPublisher;
|
|
11
|
+
subscriber: InMemoryExecutionChannelSubscriber;
|
|
12
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InMemoryExecutionChannel = void 0;
|
|
4
|
+
exports.createInMemoryExecutionChannel = createInMemoryExecutionChannel;
|
|
5
|
+
const node_events_1 = require("node:events");
|
|
6
|
+
const execution_channel_receiver_1 = require("./execution-channel-receiver");
|
|
7
|
+
const execution_channel_sender_1 = require("./execution-channel-sender");
|
|
8
|
+
class InMemoryExecutionChannel {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.emitter = new node_events_1.EventEmitter();
|
|
11
|
+
}
|
|
12
|
+
publish(topic, executionId, frame) {
|
|
13
|
+
this.emitter.emit(eventName(topic, executionId), frame);
|
|
14
|
+
}
|
|
15
|
+
subscribe(topic, executionId, handler) {
|
|
16
|
+
const event = eventName(topic, executionId);
|
|
17
|
+
this.emitter.on(event, handler);
|
|
18
|
+
return () => this.emitter.off(event, handler);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.InMemoryExecutionChannel = InMemoryExecutionChannel;
|
|
22
|
+
function createInMemoryExecutionChannel() {
|
|
23
|
+
const channel = new InMemoryExecutionChannel();
|
|
24
|
+
return {
|
|
25
|
+
publisher: new execution_channel_sender_1.InMemoryExecutionChannelPublisher(channel),
|
|
26
|
+
subscriber: new execution_channel_receiver_1.InMemoryExecutionChannelSubscriber(channel),
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function eventName(topic, executionId) {
|
|
30
|
+
return `${topic}:${executionId}`;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=in-memory-execution-channel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"in-memory-execution-channel.js","sourceRoot":"","sources":["../../../../src/modules/engine-v2/execution-channel/in-memory-execution-channel.ts"],"names":[],"mappings":";;;;AAKA,6CAA2C;AAE3C,6EAAkF;AAClF,yEAA+E;AAG/E;IAAA;QACkB,YAAO,GAAG,IAAI,0BAAY,EAAE,CAAC;IAe/C,CAAC;IAbA,OAAO,CAAC,KAA4B,EAAE,WAAmB,EAAE,KAAa;QACvE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAED,SAAS,CACR,KAA4B,EAC5B,WAAmB,EACnB,OAAqC;QAErC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAChC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;CACD;;AAGD;IACC,MAAM,OAAO,GAAG,IAAI,wBAAwB,EAAE,CAAC;IAE/C,OAAO;QACN,SAAS,EAAE,IAAI,4DAAiC,CAAC,OAAO,CAAC;QACzD,UAAU,EAAE,IAAI,+DAAkC,CAAC,OAAO,CAAC;KAC3D,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,KAA4B,EAAE,WAAmB;IACnE,OAAO,GAAG,KAAK,IAAI,WAAW,EAAE,CAAC;AAClC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Logger } from '@n8n/backend-common';
|
|
2
|
+
import type { ExecutionChannelPublisher, ExecutionChannelTopic } from '@n8n/engine';
|
|
3
|
+
import type { RedisExecutionChannelNameGenerator } from './redis-execution-channel';
|
|
4
|
+
export declare const SHUTDOWN_DRAIN_TIMEOUT_MS = 5000;
|
|
5
|
+
export interface RedisChannelPublisher {
|
|
6
|
+
publish(channel: string, message: string): Promise<unknown>;
|
|
7
|
+
disconnect(): void;
|
|
8
|
+
}
|
|
9
|
+
export declare class RedisExecutionChannelPublisher implements ExecutionChannelPublisher {
|
|
10
|
+
private readonly publisher;
|
|
11
|
+
private readonly getChannelName;
|
|
12
|
+
private readonly logger;
|
|
13
|
+
private stopped;
|
|
14
|
+
private readonly inFlightPublishes;
|
|
15
|
+
constructor(publisher: RedisChannelPublisher, getChannelName: RedisExecutionChannelNameGenerator, logger: Logger);
|
|
16
|
+
publish(topic: ExecutionChannelTopic, executionId: string, frame: string): void;
|
|
17
|
+
stop(): Promise<void>;
|
|
18
|
+
private drainInFlightPublishes;
|
|
19
|
+
}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const result_1 = require("@n8n/utils/result");
|
|
5
|
-
const errors_1 = require("@n8n/errors");
|
|
6
|
-
const execution_response_frame_1 = require("./execution-response-frame");
|
|
3
|
+
exports.RedisExecutionChannelPublisher = exports.SHUTDOWN_DRAIN_TIMEOUT_MS = void 0;
|
|
7
4
|
exports.SHUTDOWN_DRAIN_TIMEOUT_MS = 5_000;
|
|
8
|
-
class
|
|
5
|
+
class RedisExecutionChannelPublisher {
|
|
9
6
|
constructor(publisher, getChannelName, logger) {
|
|
10
7
|
this.publisher = publisher;
|
|
11
8
|
this.getChannelName = getChannelName;
|
|
@@ -13,22 +10,20 @@ class RedisExecutionResponseSender {
|
|
|
13
10
|
this.stopped = false;
|
|
14
11
|
this.inFlightPublishes = new Set();
|
|
15
12
|
}
|
|
16
|
-
|
|
17
|
-
if (this.stopped)
|
|
18
|
-
return
|
|
19
|
-
}
|
|
20
|
-
const frameResult = (0, execution_response_frame_1.serializeExecutionResponse)(response, this.logger);
|
|
13
|
+
publish(topic, executionId, frame) {
|
|
14
|
+
if (this.stopped)
|
|
15
|
+
return;
|
|
21
16
|
const publishTask = this.publisher
|
|
22
|
-
.publish(this.getChannelName(
|
|
17
|
+
.publish(this.getChannelName(topic, executionId), frame)
|
|
23
18
|
.catch((error) => {
|
|
24
|
-
this.logger.error('Failed to publish
|
|
25
|
-
|
|
19
|
+
this.logger.error('Failed to publish to the execution channel', {
|
|
20
|
+
topic,
|
|
21
|
+
executionId,
|
|
26
22
|
error,
|
|
27
23
|
});
|
|
28
24
|
})
|
|
29
25
|
.finally(() => this.inFlightPublishes.delete(publishTask));
|
|
30
26
|
this.inFlightPublishes.add(publishTask);
|
|
31
|
-
return frameResult.ok ? (0, result_1.createResultOk)(undefined) : (0, result_1.createResultError)(frameResult.error);
|
|
32
27
|
}
|
|
33
28
|
async stop() {
|
|
34
29
|
if (this.stopped)
|
|
@@ -51,11 +46,11 @@ class RedisExecutionResponseSender {
|
|
|
51
46
|
clearTimeout(timer);
|
|
52
47
|
}
|
|
53
48
|
if (this.inFlightPublishes.size > 0) {
|
|
54
|
-
this.logger.warn('Execution
|
|
49
|
+
this.logger.warn('Execution channel frames were still being published at shutdown', {
|
|
55
50
|
count: this.inFlightPublishes.size,
|
|
56
51
|
});
|
|
57
52
|
}
|
|
58
53
|
}
|
|
59
54
|
}
|
|
60
|
-
exports.
|
|
61
|
-
//# sourceMappingURL=redis-execution-
|
|
55
|
+
exports.RedisExecutionChannelPublisher = RedisExecutionChannelPublisher;
|
|
56
|
+
//# sourceMappingURL=redis-execution-channel-publisher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redis-execution-channel-publisher.js","sourceRoot":"","sources":["../../../../src/modules/engine-v2/execution-channel/redis-execution-channel-publisher.ts"],"names":[],"mappings":";;;AASa,QAAA,yBAAyB,GAAG,KAAK,CAAC;AAQ/C;IAKC,YACkB,SAAgC,EAChC,cAAkD,EAClD,MAAc;QAFd,cAAS,GAAT,SAAS,CAAuB;QAChC,mBAAc,GAAd,cAAc,CAAoC;QAClD,WAAM,GAAN,MAAM,CAAQ;QAPxB,YAAO,GAAG,KAAK,CAAC;QAEP,sBAAiB,GAAG,IAAI,GAAG,EAAoB,CAAC;IAM9D,CAAC;IAEJ,OAAO,CAAC,KAA4B,EAAE,WAAmB,EAAE,KAAa;QACvE,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QAEzB,MAAM,WAAW,GAAqB,IAAI,CAAC,SAAS;aAClD,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,KAAK,CAAC;aACvD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE;gBAC/D,KAAK;gBACL,WAAW;gBACX,KAAK;aACL,CAAC,CAAC;QACJ,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,IAAI;QACT,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QAEzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACpC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IAGO,KAAK,CAAC,sBAAsB;QACnC,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QAE9C,IAAI,KAAiC,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC7C,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,QAAA,yBAAyB,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC;YACJ,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3E,CAAC;gBAAS,CAAC;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAED,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iEAAiE,EAAE;gBACnF,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI;aAClC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;CACD"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import type { Logger } from '@n8n/backend-common';
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import type { RedisExecutionResponseChannelNameGenerator } from './redis-execution-response-channel';
|
|
2
|
+
import type { ExecutionChannelFrameHandler, ExecutionChannelSubscriber, ExecutionChannelTopic, UnsubscribeFromExecutionChannel } from '@n8n/engine';
|
|
3
|
+
import type { RedisExecutionChannelNameGenerator } from './redis-execution-channel';
|
|
5
4
|
type RedisMessageHandler = (channel: string, message: string) => void;
|
|
6
5
|
type RedisConnectionHandler = () => void;
|
|
7
|
-
export interface
|
|
6
|
+
export interface RedisChannelSubscriber {
|
|
8
7
|
subscribe(...channels: string[]): Promise<unknown>;
|
|
9
8
|
unsubscribe(channel: string): Promise<unknown>;
|
|
10
9
|
on(event: 'close' | 'ready', handler: RedisConnectionHandler): unknown;
|
|
@@ -13,7 +12,7 @@ export interface RedisResponseSubscriber {
|
|
|
13
12
|
off(event: 'message', handler: RedisMessageHandler): unknown;
|
|
14
13
|
disconnect(): void;
|
|
15
14
|
}
|
|
16
|
-
export declare class
|
|
15
|
+
export declare class RedisExecutionChannelSubscriber implements ExecutionChannelSubscriber {
|
|
17
16
|
private readonly subscriber;
|
|
18
17
|
private readonly getChannelName;
|
|
19
18
|
private readonly logger;
|
|
@@ -21,9 +20,9 @@ export declare class RedisExecutionResponseReceiver implements ExecutionResponse
|
|
|
21
20
|
private started;
|
|
22
21
|
private stopped;
|
|
23
22
|
private lostConnection;
|
|
24
|
-
constructor(subscriber:
|
|
23
|
+
constructor(subscriber: RedisChannelSubscriber, getChannelName: RedisExecutionChannelNameGenerator, logger: Logger);
|
|
25
24
|
start(): Promise<void>;
|
|
26
|
-
|
|
25
|
+
subscribe(topic: ExecutionChannelTopic, executionId: string, handler: ExecutionChannelFrameHandler): Promise<UnsubscribeFromExecutionChannel>;
|
|
27
26
|
private unsubscribeHandler;
|
|
28
27
|
stop(): Promise<void>;
|
|
29
28
|
private readonly handleClose;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.RedisExecutionChannelSubscriber = void 0;
|
|
4
4
|
const errors_1 = require("@n8n/errors");
|
|
5
|
-
|
|
6
|
-
class RedisExecutionResponseReceiver {
|
|
5
|
+
class RedisExecutionChannelSubscriber {
|
|
7
6
|
constructor(subscriber, getChannelName, logger) {
|
|
8
7
|
this.subscriber = subscriber;
|
|
9
8
|
this.getChannelName = getChannelName;
|
|
@@ -25,17 +24,13 @@ class RedisExecutionResponseReceiver {
|
|
|
25
24
|
const subscription = this.subscriptionsByChannel.get(channel);
|
|
26
25
|
if (subscription === undefined)
|
|
27
26
|
return;
|
|
28
|
-
const responseResult = (0, execution_response_frame_1.deserializeExecutionResponse)(frame, this.logger);
|
|
29
|
-
if (!responseResult.ok)
|
|
30
|
-
return;
|
|
31
|
-
const response = responseResult.result;
|
|
32
27
|
try {
|
|
33
|
-
subscription.handler(
|
|
28
|
+
subscription.handler(frame);
|
|
34
29
|
}
|
|
35
30
|
catch (error) {
|
|
36
|
-
this.logger.error('An execution
|
|
37
|
-
|
|
38
|
-
|
|
31
|
+
this.logger.error('An execution channel frame handler failed', {
|
|
32
|
+
topic: subscription.topic,
|
|
33
|
+
executionId: subscription.executionId,
|
|
39
34
|
error,
|
|
40
35
|
});
|
|
41
36
|
}
|
|
@@ -49,17 +44,17 @@ class RedisExecutionResponseReceiver {
|
|
|
49
44
|
this.subscriber.on('ready', this.handleReady);
|
|
50
45
|
this.started = true;
|
|
51
46
|
}
|
|
52
|
-
async
|
|
47
|
+
async subscribe(topic, executionId, handler) {
|
|
53
48
|
if (this.stopped)
|
|
54
49
|
return () => { };
|
|
55
50
|
if (!this.started) {
|
|
56
|
-
throw new errors_1.UnexpectedError('The execution
|
|
51
|
+
throw new errors_1.UnexpectedError('The execution channel subscriber has not started');
|
|
57
52
|
}
|
|
58
|
-
const channel = this.getChannelName(executionId);
|
|
53
|
+
const channel = this.getChannelName(topic, executionId);
|
|
59
54
|
if (this.subscriptionsByChannel.has(channel)) {
|
|
60
|
-
throw new errors_1.UnexpectedError(`
|
|
55
|
+
throw new errors_1.UnexpectedError(`The execution channel already has a subscriber for "${topic}" of execution "${executionId}"`);
|
|
61
56
|
}
|
|
62
|
-
const subscription = { executionId, handler };
|
|
57
|
+
const subscription = { topic, executionId, handler };
|
|
63
58
|
this.subscriptionsByChannel.set(channel, subscription);
|
|
64
59
|
try {
|
|
65
60
|
await this.subscriber.subscribe(channel);
|
|
@@ -79,7 +74,8 @@ class RedisExecutionResponseReceiver {
|
|
|
79
74
|
}
|
|
80
75
|
this.subscriptionsByChannel.delete(channel);
|
|
81
76
|
void this.subscriber.unsubscribe(channel).catch((error) => {
|
|
82
|
-
this.logger.error('Failed to unsubscribe from execution
|
|
77
|
+
this.logger.error('Failed to unsubscribe from the execution channel', {
|
|
78
|
+
topic: subscription.topic,
|
|
83
79
|
executionId: subscription.executionId,
|
|
84
80
|
error,
|
|
85
81
|
});
|
|
@@ -105,11 +101,11 @@ class RedisExecutionResponseReceiver {
|
|
|
105
101
|
}
|
|
106
102
|
catch (error) {
|
|
107
103
|
this.lostConnection = true;
|
|
108
|
-
this.logger.error('Failed to resubscribe to execution
|
|
104
|
+
this.logger.error('Failed to resubscribe to the execution channel after Redis reconnect', {
|
|
109
105
|
error,
|
|
110
106
|
});
|
|
111
107
|
}
|
|
112
108
|
}
|
|
113
109
|
}
|
|
114
|
-
exports.
|
|
115
|
-
//# sourceMappingURL=redis-execution-
|
|
110
|
+
exports.RedisExecutionChannelSubscriber = RedisExecutionChannelSubscriber;
|
|
111
|
+
//# sourceMappingURL=redis-execution-channel-subscriber.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redis-execution-channel-subscriber.js","sourceRoot":"","sources":["../../../../src/modules/engine-v2/execution-channel/redis-execution-channel-subscriber.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Logger } from '@n8n/backend-common';
|
|
2
|
+
import type { ExecutionChannelTopic } from '@n8n/engine';
|
|
3
|
+
export type RedisExecutionChannelNameGenerator = (topic: ExecutionChannelTopic, executionId: string) => string;
|
|
4
|
+
export declare function createRedisExecutionChannelPublisher(logger: Logger): Promise<import("./redis-execution-channel-publisher.js").RedisExecutionChannelPublisher>;
|
|
5
|
+
export declare function startRedisExecutionChannelSubscriber(logger: Logger): Promise<import("./redis-execution-channel-subscriber.js").RedisExecutionChannelSubscriber>;
|