n8n 2.20.6 → 2.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/abstract-server.d.ts +1 -0
- package/dist/abstract-server.js +10 -3
- package/dist/abstract-server.js.map +1 -1
- package/dist/agent-library-bundle.js +5989 -0
- package/dist/auth/auth.service.js +3 -3
- package/dist/auth/auth.service.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/commands/execute-batch.d.ts +2 -2
- package/dist/commands/export/workflow.d.ts +2 -2
- package/dist/commands/import/workflow.d.ts +3 -0
- package/dist/commands/import/workflow.js +15 -1
- package/dist/commands/import/workflow.js.map +1 -1
- package/dist/commands/start.js +2 -0
- package/dist/commands/start.js.map +1 -1
- package/dist/constants.d.ts +1 -0
- package/dist/constants.js +6 -1
- package/dist/constants.js.map +1 -1
- package/dist/controller.registry.js +6 -0
- package/dist/controller.registry.js.map +1 -1
- package/dist/controllers/auth.controller.js +7 -2
- package/dist/controllers/auth.controller.js.map +1 -1
- package/dist/controllers/me.controller.d.ts +1 -0
- package/dist/controllers/me.controller.js +4 -1
- package/dist/controllers/me.controller.js.map +1 -1
- package/dist/controllers/users.controller.d.ts +2 -2
- package/dist/credentials/credentials.service.d.ts +1 -0
- package/dist/credentials/credentials.service.js +11 -4
- package/dist/credentials/credentials.service.js.map +1 -1
- package/dist/evaluation.ee/evaluation-api-error.d.ts +7 -0
- package/dist/evaluation.ee/evaluation-api-error.js +16 -0
- package/dist/evaluation.ee/evaluation-api-error.js.map +1 -0
- package/dist/evaluation.ee/evaluation-config-validator.d.ts +30 -0
- package/dist/evaluation.ee/evaluation-config-validator.js +236 -0
- package/dist/evaluation.ee/evaluation-config-validator.js.map +1 -0
- package/dist/evaluation.ee/evaluation-config.controller.d.ts +24 -0
- package/dist/evaluation.ee/evaluation-config.controller.js +94 -0
- package/dist/evaluation.ee/evaluation-config.controller.js.map +1 -0
- package/dist/evaluation.ee/evaluation-config.service.d.ts +18 -0
- package/dist/evaluation.ee/evaluation-config.service.js +74 -0
- package/dist/evaluation.ee/evaluation-config.service.js.map +1 -0
- package/dist/evaluation.ee/llm-judge-provider-registry.d.ts +13 -0
- package/dist/evaluation.ee/llm-judge-provider-registry.js +122 -0
- package/dist/evaluation.ee/llm-judge-provider-registry.js.map +1 -0
- package/dist/evaluation.ee/test-runner/test-runner.service.ee.d.ts +5 -0
- package/dist/evaluation.ee/test-runner/test-runner.service.ee.js +32 -10
- package/dist/evaluation.ee/test-runner/test-runner.service.ee.js.map +1 -1
- package/dist/evaluation.ee/test-runner/workflow-compiler.service.d.ts +22 -0
- package/dist/evaluation.ee/test-runner/workflow-compiler.service.js +285 -0
- package/dist/evaluation.ee/test-runner/workflow-compiler.service.js.map +1 -0
- package/dist/evaluation.ee/test-runs.controller.ee.d.ts +3 -0
- package/dist/evaluation.ee/test-runs.controller.ee.js +26 -9
- package/dist/evaluation.ee/test-runs.controller.ee.js.map +1 -1
- package/dist/evaluation.ee/test-runs.types.ee.d.ts +3 -0
- package/dist/eventbus/message-event-bus/message-event-bus.d.ts +2 -0
- package/dist/eventbus/message-event-bus/message-event-bus.js +54 -46
- package/dist/eventbus/message-event-bus/message-event-bus.js.map +1 -1
- package/dist/events/maps/relay.event-map.d.ts +3 -0
- package/dist/instance-settings-loader/instance-settings-loader.service.d.ts +4 -2
- package/dist/instance-settings-loader/instance-settings-loader.service.js +7 -3
- package/dist/instance-settings-loader/instance-settings-loader.service.js.map +1 -1
- package/dist/instance-settings-loader/loaders/community-packages.instance-settings-loader.d.ts +20 -0
- package/dist/instance-settings-loader/loaders/community-packages.instance-settings-loader.js +235 -0
- package/dist/instance-settings-loader/loaders/community-packages.instance-settings-loader.js.map +1 -0
- package/dist/instance-settings-loader/loaders/{sso.instance-settings-loader.d.ts → sso/oidc.instance-settings-loader.d.ts} +4 -10
- package/dist/instance-settings-loader/loaders/sso/oidc.instance-settings-loader.js +98 -0
- package/dist/instance-settings-loader/loaders/sso/oidc.instance-settings-loader.js.map +1 -0
- package/dist/instance-settings-loader/loaders/sso/provisioning.instance-settings-loader.d.ts +10 -0
- package/dist/instance-settings-loader/loaders/sso/provisioning.instance-settings-loader.js +65 -0
- package/dist/instance-settings-loader/loaders/sso/provisioning.instance-settings-loader.js.map +1 -0
- package/dist/instance-settings-loader/loaders/sso/saml.instance-settings-loader.d.ts +12 -0
- package/dist/instance-settings-loader/loaders/sso/saml.instance-settings-loader.js +75 -0
- package/dist/instance-settings-loader/loaders/sso/saml.instance-settings-loader.js.map +1 -0
- package/dist/instance-settings-loader/loaders/sso/sso.instance-settings-loader.d.ts +15 -0
- package/dist/instance-settings-loader/loaders/sso/sso.instance-settings-loader.js +75 -0
- package/dist/instance-settings-loader/loaders/sso/sso.instance-settings-loader.js.map +1 -0
- package/dist/load-nodes-and-credentials.d.ts +3 -3
- package/dist/load-nodes-and-credentials.js +25 -17
- package/dist/load-nodes-and-credentials.js.map +1 -1
- package/dist/modules/agents/adapters/agents-credential-provider.d.ts +12 -0
- package/dist/modules/agents/adapters/agents-credential-provider.js +63 -0
- package/dist/modules/agents/adapters/agents-credential-provider.js.map +1 -0
- package/dist/modules/agents/agent-execution.service.d.ts +42 -0
- package/dist/modules/agents/agent-execution.service.js +153 -0
- package/dist/modules/agents/agent-execution.service.js.map +1 -0
- package/dist/modules/agents/agent-message-mapper.d.ts +5 -0
- package/dist/modules/agents/agent-message-mapper.js +43 -0
- package/dist/modules/agents/agent-message-mapper.js.map +1 -0
- package/dist/modules/agents/agent-skills.service.d.ts +24 -0
- package/dist/modules/agents/agent-skills.service.js +166 -0
- package/dist/modules/agents/agent-skills.service.js.map +1 -0
- package/dist/modules/agents/agent-sse-stream.d.ts +15 -0
- package/dist/modules/agents/agent-sse-stream.js +194 -0
- package/dist/modules/agents/agent-sse-stream.js.map +1 -0
- package/dist/modules/agents/agents-tools.service.d.ts +18 -0
- package/dist/modules/agents/agents-tools.service.js +193 -0
- package/dist/modules/agents/agents-tools.service.js.map +1 -0
- package/dist/modules/agents/agents.controller.d.ts +260 -0
- package/dist/modules/agents/agents.controller.js +818 -0
- package/dist/modules/agents/agents.controller.js.map +1 -0
- package/dist/modules/agents/agents.module.d.ts +12 -0
- package/dist/modules/agents/agents.module.js +136 -0
- package/dist/modules/agents/agents.module.js.map +1 -0
- package/dist/modules/agents/agents.service.d.ts +151 -0
- package/dist/modules/agents/agents.service.js +1134 -0
- package/dist/modules/agents/agents.service.js.map +1 -0
- package/dist/modules/agents/builder/agents-builder-prompts.d.ts +27 -0
- package/dist/modules/agents/builder/agents-builder-prompts.js +584 -0
- package/dist/modules/agents/builder/agents-builder-prompts.js.map +1 -0
- package/dist/modules/agents/builder/agents-builder-settings.controller.d.ts +11 -0
- package/dist/modules/agents/builder/agents-builder-settings.controller.js +61 -0
- package/dist/modules/agents/builder/agents-builder-settings.controller.js.map +1 -0
- package/dist/modules/agents/builder/agents-builder-settings.service.d.ts +31 -0
- package/dist/modules/agents/builder/agents-builder-settings.service.js +199 -0
- package/dist/modules/agents/builder/agents-builder-settings.service.js.map +1 -0
- package/dist/modules/agents/builder/agents-builder-tools.service.d.ts +31 -0
- package/dist/modules/agents/builder/agents-builder-tools.service.js +420 -0
- package/dist/modules/agents/builder/agents-builder-tools.service.js.map +1 -0
- package/dist/modules/agents/builder/agents-builder.service.d.ts +26 -0
- package/dist/modules/agents/builder/agents-builder.service.js +164 -0
- package/dist/modules/agents/builder/agents-builder.service.js.map +1 -0
- package/dist/modules/agents/builder/builder-model-lookup.service.d.ts +17 -0
- package/dist/modules/agents/builder/builder-model-lookup.service.js +67 -0
- package/dist/modules/agents/builder/builder-model-lookup.service.js.map +1 -0
- package/dist/modules/agents/builder/builder-tool-names.d.ts +14 -0
- package/dist/modules/agents/builder/builder-tool-names.js +17 -0
- package/dist/modules/agents/builder/builder-tool-names.js.map +1 -0
- package/dist/modules/agents/builder/errors.d.ts +6 -0
- package/dist/modules/agents/builder/errors.js +13 -0
- package/dist/modules/agents/builder/errors.js.map +1 -0
- package/dist/modules/agents/builder/interactive/ask-credential.tool.d.ts +5 -0
- package/dist/modules/agents/builder/interactive/ask-credential.tool.js +29 -0
- package/dist/modules/agents/builder/interactive/ask-credential.tool.js.map +1 -0
- package/dist/modules/agents/builder/interactive/ask-llm.tool.d.ts +2 -0
- package/dist/modules/agents/builder/interactive/ask-llm.tool.js +27 -0
- package/dist/modules/agents/builder/interactive/ask-llm.tool.js.map +1 -0
- package/dist/modules/agents/builder/interactive/ask-question.tool.d.ts +2 -0
- package/dist/modules/agents/builder/interactive/ask-question.tool.js +26 -0
- package/dist/modules/agents/builder/interactive/ask-question.tool.js.map +1 -0
- package/dist/modules/agents/builder/interactive/index.d.ts +4 -0
- package/dist/modules/agents/builder/interactive/index.js +12 -0
- package/dist/modules/agents/builder/interactive/index.js.map +1 -0
- package/dist/modules/agents/builder/interactive/llm-provider-defaults.d.ts +17 -0
- package/dist/modules/agents/builder/interactive/llm-provider-defaults.js +60 -0
- package/dist/modules/agents/builder/interactive/llm-provider-defaults.js.map +1 -0
- package/dist/modules/agents/builder/interactive/resolve-llm.tool.d.ts +13 -0
- package/dist/modules/agents/builder/interactive/resolve-llm.tool.js +136 -0
- package/dist/modules/agents/builder/interactive/resolve-llm.tool.js.map +1 -0
- package/dist/modules/agents/entities/agent-checkpoint.entity.d.ts +9 -0
- package/dist/modules/agents/entities/agent-checkpoint.entity.js +43 -0
- package/dist/modules/agents/entities/agent-checkpoint.entity.js.map +1 -0
- package/dist/modules/agents/entities/agent-execution-thread.entity.d.ts +16 -0
- package/dist/modules/agents/entities/agent-execution-thread.entity.js +74 -0
- package/dist/modules/agents/entities/agent-execution-thread.entity.js.map +1 -0
- package/dist/modules/agents/entities/agent-execution.entity.d.ts +26 -0
- package/dist/modules/agents/entities/agent-execution.entity.js +100 -0
- package/dist/modules/agents/entities/agent-execution.entity.js.map +1 -0
- package/dist/modules/agents/entities/agent-message.entity.d.ts +10 -0
- package/dist/modules/agents/entities/agent-message.entity.js +47 -0
- package/dist/modules/agents/entities/agent-message.entity.js.map +1 -0
- package/dist/modules/agents/entities/agent-observation-cursor.entity.d.ts +8 -0
- package/dist/modules/agents/entities/agent-observation-cursor.entity.js +37 -0
- package/dist/modules/agents/entities/agent-observation-cursor.entity.js.map +1 -0
- package/dist/modules/agents/entities/agent-observation-lock.entity.d.ts +8 -0
- package/dist/modules/agents/entities/agent-observation-lock.entity.js +37 -0
- package/dist/modules/agents/entities/agent-observation-lock.entity.js.map +1 -0
- package/dist/modules/agents/entities/agent-observation.entity.d.ts +10 -0
- package/dist/modules/agents/entities/agent-observation.entity.js +47 -0
- package/dist/modules/agents/entities/agent-observation.entity.js.map +1 -0
- package/dist/modules/agents/entities/agent-published-version.entity.d.ts +22 -0
- package/dist/modules/agents/entities/agent-published-version.entity.js +67 -0
- package/dist/modules/agents/entities/agent-published-version.entity.js.map +1 -0
- package/dist/modules/agents/entities/agent-resource.entity.d.ts +5 -0
- package/dist/modules/agents/entities/agent-resource.entity.js +29 -0
- package/dist/modules/agents/entities/agent-resource.entity.js.map +1 -0
- package/dist/modules/agents/entities/agent-thread.entity.d.ts +6 -0
- package/dist/modules/agents/entities/agent-thread.entity.js +33 -0
- package/dist/modules/agents/entities/agent-thread.entity.js.map +1 -0
- package/dist/modules/agents/entities/agent.entity.d.ts +24 -0
- package/dist/modules/agents/entities/agent.entity.js +74 -0
- package/dist/modules/agents/entities/agent.entity.js.map +1 -0
- package/dist/modules/agents/execution-recorder.d.ts +82 -0
- package/dist/modules/agents/execution-recorder.js +272 -0
- package/dist/modules/agents/execution-recorder.js.map +1 -0
- package/dist/modules/agents/integrations/agent-chat-bridge.d.ts +62 -0
- package/dist/modules/agents/integrations/agent-chat-bridge.js +540 -0
- package/dist/modules/agents/integrations/agent-chat-bridge.js.map +1 -0
- package/dist/modules/agents/integrations/agent-chat-integration.d.ts +39 -0
- package/dist/modules/agents/integrations/agent-chat-integration.js +45 -0
- package/dist/modules/agents/integrations/agent-chat-integration.js.map +1 -0
- package/dist/modules/agents/integrations/agent-schedule.service.d.ts +30 -0
- package/dist/modules/agents/integrations/agent-schedule.service.js +327 -0
- package/dist/modules/agents/integrations/agent-schedule.service.js.map +1 -0
- package/dist/modules/agents/integrations/callback-store.d.ts +11 -0
- package/dist/modules/agents/integrations/callback-store.js +30 -0
- package/dist/modules/agents/integrations/callback-store.js.map +1 -0
- package/dist/modules/agents/integrations/chat-integration.service.d.ts +58 -0
- package/dist/modules/agents/integrations/chat-integration.service.js +397 -0
- package/dist/modules/agents/integrations/chat-integration.service.js.map +1 -0
- package/dist/modules/agents/integrations/component-mapper.d.ts +57 -0
- package/dist/modules/agents/integrations/component-mapper.js +223 -0
- package/dist/modules/agents/integrations/component-mapper.js.map +1 -0
- package/dist/modules/agents/integrations/cron-validation.d.ts +1 -0
- package/dist/modules/agents/integrations/cron-validation.js +8 -0
- package/dist/modules/agents/integrations/cron-validation.js.map +1 -0
- package/dist/modules/agents/integrations/esm-loader.d.ts +5 -0
- package/dist/modules/agents/integrations/esm-loader.js +24 -0
- package/dist/modules/agents/integrations/esm-loader.js.map +1 -0
- package/dist/modules/agents/integrations/integrations-sync.d.ts +4 -0
- package/dist/modules/agents/integrations/integrations-sync.js +78 -0
- package/dist/modules/agents/integrations/integrations-sync.js.map +1 -0
- package/dist/modules/agents/integrations/n8n-checkpoint-storage.d.ts +36 -0
- package/dist/modules/agents/integrations/n8n-checkpoint-storage.js +148 -0
- package/dist/modules/agents/integrations/n8n-checkpoint-storage.js.map +1 -0
- package/dist/modules/agents/integrations/n8n-memory.d.ts +76 -0
- package/dist/modules/agents/integrations/n8n-memory.js +383 -0
- package/dist/modules/agents/integrations/n8n-memory.js.map +1 -0
- package/dist/modules/agents/integrations/platforms/linear-integration.d.ts +14 -0
- package/dist/modules/agents/integrations/platforms/linear-integration.js +83 -0
- package/dist/modules/agents/integrations/platforms/linear-integration.js.map +1 -0
- package/dist/modules/agents/integrations/platforms/slack-integration.d.ts +12 -0
- package/dist/modules/agents/integrations/platforms/slack-integration.js +81 -0
- package/dist/modules/agents/integrations/platforms/slack-integration.js.map +1 -0
- package/dist/modules/agents/integrations/platforms/telegram-integration.d.ts +30 -0
- package/dist/modules/agents/integrations/platforms/telegram-integration.js +122 -0
- package/dist/modules/agents/integrations/platforms/telegram-integration.js.map +1 -0
- package/dist/modules/agents/integrations/rich-interaction-tool.d.ts +47 -0
- package/dist/modules/agents/integrations/rich-interaction-tool.js +109 -0
- package/dist/modules/agents/integrations/rich-interaction-tool.js.map +1 -0
- package/dist/modules/agents/integrations/types.d.ts +8 -0
- package/dist/modules/agents/integrations/types.js +12 -0
- package/dist/modules/agents/integrations/types.js.map +1 -0
- package/dist/modules/agents/json-config/agent-config-composition.d.ts +9 -0
- package/dist/modules/agents/json-config/agent-config-composition.js +27 -0
- package/dist/modules/agents/json-config/agent-config-composition.js.map +1 -0
- package/dist/modules/agents/json-config/agent-json-config.d.ts +1022 -0
- package/dist/modules/agents/json-config/agent-json-config.js +128 -0
- package/dist/modules/agents/json-config/agent-json-config.js.map +1 -0
- package/dist/modules/agents/json-config/credential-field-mapping.d.ts +4 -0
- package/dist/modules/agents/json-config/credential-field-mapping.js +41 -0
- package/dist/modules/agents/json-config/credential-field-mapping.js.map +1 -0
- package/dist/modules/agents/json-config/from-json-config.d.ts +18 -0
- package/dist/modules/agents/json-config/from-json-config.js +209 -0
- package/dist/modules/agents/json-config/from-json-config.js.map +1 -0
- package/dist/modules/agents/json-config/integration-config.d.ts +61 -0
- package/dist/modules/agents/json-config/integration-config.js +33 -0
- package/dist/modules/agents/json-config/integration-config.js.map +1 -0
- package/dist/modules/agents/json-config/provider-tool-aliases.d.ts +1 -0
- package/dist/modules/agents/json-config/provider-tool-aliases.js +15 -0
- package/dist/modules/agents/json-config/provider-tool-aliases.js.map +1 -0
- package/dist/modules/agents/json-config/schema-text-serializer.d.ts +2 -0
- package/dist/modules/agents/json-config/schema-text-serializer.js +205 -0
- package/dist/modules/agents/json-config/schema-text-serializer.js.map +1 -0
- package/dist/modules/agents/repositories/agent-checkpoint.repository.d.ts +6 -0
- package/dist/modules/agents/repositories/agent-checkpoint.repository.js +35 -0
- package/dist/modules/agents/repositories/agent-checkpoint.repository.js.map +1 -0
- package/dist/modules/agents/repositories/agent-execution-thread.repository.d.ts +18 -0
- package/dist/modules/agents/repositories/agent-execution-thread.repository.js +120 -0
- package/dist/modules/agents/repositories/agent-execution-thread.repository.js.map +1 -0
- package/dist/modules/agents/repositories/agent-execution.repository.d.ts +10 -0
- package/dist/modules/agents/repositories/agent-execution.repository.js +59 -0
- package/dist/modules/agents/repositories/agent-execution.repository.js.map +1 -0
- package/dist/modules/agents/repositories/agent-message.repository.d.ts +5 -0
- package/dist/modules/agents/repositories/agent-message.repository.js +26 -0
- package/dist/modules/agents/repositories/agent-message.repository.js.map +1 -0
- package/dist/modules/agents/repositories/agent-observation-cursor.repository.d.ts +5 -0
- package/dist/modules/agents/repositories/agent-observation-cursor.repository.js +26 -0
- package/dist/modules/agents/repositories/agent-observation-cursor.repository.js.map +1 -0
- package/dist/modules/agents/repositories/agent-observation-lock.repository.d.ts +5 -0
- package/dist/modules/agents/repositories/agent-observation-lock.repository.js +26 -0
- package/dist/modules/agents/repositories/agent-observation-lock.repository.js.map +1 -0
- package/dist/modules/agents/repositories/agent-observation.repository.d.ts +5 -0
- package/dist/modules/agents/repositories/agent-observation.repository.js +26 -0
- package/dist/modules/agents/repositories/agent-observation.repository.js.map +1 -0
- package/dist/modules/agents/repositories/agent-published-version.repository.d.ts +20 -0
- package/dist/modules/agents/repositories/agent-published-version.repository.js +35 -0
- package/dist/modules/agents/repositories/agent-published-version.repository.js.map +1 -0
- package/dist/modules/agents/repositories/agent-resource.repository.d.ts +5 -0
- package/dist/modules/agents/repositories/agent-resource.repository.js +26 -0
- package/dist/modules/agents/repositories/agent-resource.repository.js.map +1 -0
- package/dist/modules/agents/repositories/agent-thread.repository.d.ts +5 -0
- package/dist/modules/agents/repositories/agent-thread.repository.js +26 -0
- package/dist/modules/agents/repositories/agent-thread.repository.js.map +1 -0
- package/dist/modules/agents/repositories/agent.repository.d.ts +9 -0
- package/dist/modules/agents/repositories/agent.repository.js +50 -0
- package/dist/modules/agents/repositories/agent.repository.js.map +1 -0
- package/dist/modules/agents/runtime/agent-isolate-pool.d.ts +48 -0
- package/dist/modules/agents/runtime/agent-isolate-pool.js +246 -0
- package/dist/modules/agents/runtime/agent-isolate-pool.js.map +1 -0
- package/dist/modules/agents/runtime/agent-secure-runtime.d.ts +21 -0
- package/dist/modules/agents/runtime/agent-secure-runtime.js +281 -0
- package/dist/modules/agents/runtime/agent-secure-runtime.js.map +1 -0
- package/dist/modules/agents/runtime/sandbox-polyfills.d.ts +1 -0
- package/dist/modules/agents/runtime/sandbox-polyfills.js +74 -0
- package/dist/modules/agents/runtime/sandbox-polyfills.js.map +1 -0
- package/dist/modules/agents/tool-registry.d.ts +13 -0
- package/dist/modules/agents/tool-registry.js +42 -0
- package/dist/modules/agents/tool-registry.js.map +1 -0
- package/dist/modules/agents/tools/environment-tool.d.ts +3 -0
- package/dist/modules/agents/tools/environment-tool.js +26 -0
- package/dist/modules/agents/tools/environment-tool.js.map +1 -0
- package/dist/modules/agents/tools/node-tool-factory.d.ts +10 -0
- package/dist/modules/agents/tools/node-tool-factory.js +100 -0
- package/dist/modules/agents/tools/node-tool-factory.js.map +1 -0
- package/dist/modules/agents/tools/workflow-tool-factory.d.ts +43 -0
- package/dist/modules/agents/tools/workflow-tool-factory.js +404 -0
- package/dist/modules/agents/tools/workflow-tool-factory.js.map +1 -0
- package/dist/modules/agents/tracing/builder-telemetry.d.ts +12 -0
- package/dist/modules/agents/tracing/builder-telemetry.js +48 -0
- package/dist/modules/agents/tracing/builder-telemetry.js.map +1 -0
- package/dist/modules/agents/types/components.d.ts +71 -0
- package/dist/modules/agents/types/components.js +3 -0
- package/dist/modules/agents/types/components.js.map +1 -0
- package/dist/modules/agents/types/index.d.ts +1 -0
- package/dist/modules/agents/types/index.js +3 -0
- package/dist/modules/agents/types/index.js.map +1 -0
- package/dist/modules/agents/utils/agent-draft.utils.d.ts +2 -0
- package/dist/modules/agents/utils/agent-draft.utils.js +11 -0
- package/dist/modules/agents/utils/agent-draft.utils.js.map +1 -0
- package/dist/modules/agents/utils/agent-resource-id.d.ts +3 -0
- package/dist/modules/agents/utils/agent-resource-id.js +14 -0
- package/dist/modules/agents/utils/agent-resource-id.js.map +1 -0
- package/dist/modules/chat-hub/chat-hub.module.d.ts +2 -2
- package/dist/modules/chat-hub/chat-hub.settings.controller.d.ts +4 -4
- package/dist/modules/chat-hub/chat-hub.types.d.ts +2 -2
- package/dist/modules/chat-hub/dto/chat-models-request.dto.d.ts +1 -1
- package/dist/modules/community-packages/community-packages.config.js +2 -2
- package/dist/modules/community-packages/community-packages.config.js.map +1 -1
- package/dist/modules/community-packages/community-packages.lifecycle.service.d.ts +4 -1
- package/dist/modules/community-packages/community-packages.lifecycle.service.js +14 -2
- package/dist/modules/community-packages/community-packages.lifecycle.service.js.map +1 -1
- package/dist/modules/community-packages/community-packages.module.d.ts +1 -1
- package/dist/modules/community-packages/community-packages.module.js +10 -5
- package/dist/modules/community-packages/community-packages.module.js.map +1 -1
- package/dist/modules/data-table/data-table.service.js +6 -0
- package/dist/modules/data-table/data-table.service.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/slack-signature-identifier.d.ts +1 -1
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.config.d.ts +2 -0
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.config.js +10 -0
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.config.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.d.ts +1 -1
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.js +16 -4
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/workflow-status.controller.d.ts +3 -3
- package/dist/modules/dynamic-credentials.ee/workflow-status.controller.js +11 -3
- package/dist/modules/dynamic-credentials.ee/workflow-status.controller.js.map +1 -1
- package/dist/modules/encryption-key-manager/encryption-bootstrap.service.js +4 -2
- package/dist/modules/encryption-key-manager/encryption-bootstrap.service.js.map +1 -1
- package/dist/modules/encryption-key-manager/encryption-key-manager.module.js +5 -2
- package/dist/modules/encryption-key-manager/encryption-key-manager.module.js.map +1 -1
- package/dist/modules/encryption-key-manager/encryption-key.controller.d.ts +3 -3
- package/dist/modules/encryption-key-manager/encryption-key.controller.js +8 -2
- package/dist/modules/encryption-key-manager/encryption-key.controller.js.map +1 -1
- package/dist/modules/encryption-key-manager/key-manager.service.d.ts +5 -1
- package/dist/modules/encryption-key-manager/key-manager.service.js +11 -4
- package/dist/modules/encryption-key-manager/key-manager.service.js.map +1 -1
- package/dist/modules/insights/insights-collection.service.js +1 -0
- package/dist/modules/insights/insights-collection.service.js.map +1 -1
- package/dist/modules/instance-ai/eval/mock-handler.js +17 -49
- package/dist/modules/instance-ai/eval/mock-handler.js.map +1 -1
- package/dist/modules/instance-ai/filesystem/local-gateway-registry.d.ts +1 -0
- package/dist/modules/instance-ai/filesystem/local-gateway-registry.js +21 -3
- package/dist/modules/instance-ai/filesystem/local-gateway-registry.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai-settings.service.d.ts +3 -2
- package/dist/modules/instance-ai/instance-ai-settings.service.js +10 -9
- package/dist/modules/instance-ai/instance-ai-settings.service.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai-test.controller.d.ts +21 -2
- package/dist/modules/instance-ai/instance-ai-test.controller.js +35 -3
- package/dist/modules/instance-ai/instance-ai-test.controller.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.adapter.service.js +72 -42
- package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.controller.d.ts +2 -0
- package/dist/modules/instance-ai/instance-ai.controller.js +25 -1
- package/dist/modules/instance-ai/instance-ai.controller.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.module.d.ts +0 -1
- package/dist/modules/instance-ai/instance-ai.module.js +0 -2
- package/dist/modules/instance-ai/instance-ai.module.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.service.d.ts +34 -5
- package/dist/modules/instance-ai/instance-ai.service.js +723 -76
- package/dist/modules/instance-ai/instance-ai.service.js.map +1 -1
- package/dist/modules/instance-ai/liveness/index.d.ts +1 -0
- package/dist/modules/instance-ai/liveness/index.js +7 -0
- package/dist/modules/instance-ai/liveness/index.js.map +1 -0
- package/dist/modules/instance-ai/liveness/instance-ai-liveness.service.d.ts +72 -0
- package/dist/modules/instance-ai/liveness/instance-ai-liveness.service.js +123 -0
- package/dist/modules/instance-ai/liveness/instance-ai-liveness.service.js.map +1 -0
- package/dist/modules/instance-ai/message-parser.js +85 -6
- package/dist/modules/instance-ai/message-parser.js.map +1 -1
- package/dist/modules/instance-ai/storage/db-snapshot-storage.js +4 -0
- package/dist/modules/instance-ai/storage/db-snapshot-storage.js.map +1 -1
- package/dist/modules/instance-ai/storage/typeorm-memory-storage.js +1 -0
- package/dist/modules/instance-ai/storage/typeorm-memory-storage.js.map +1 -1
- package/dist/modules/instance-ai/web-research/fetch-and-extract.js +23 -7
- package/dist/modules/instance-ai/web-research/fetch-and-extract.js.map +1 -1
- package/dist/modules/mcp/mcp.service.d.ts +3 -3
- package/dist/modules/mcp/mcp.service.js +12 -9
- package/dist/modules/mcp/mcp.service.js.map +1 -1
- package/dist/modules/mcp/tools/get-execution.tool.js +6 -4
- package/dist/modules/mcp/tools/get-execution.tool.js.map +1 -1
- package/dist/modules/mcp/tools/list-credentials.tool.d.ts +40 -0
- package/dist/modules/mcp/tools/list-credentials.tool.js +148 -0
- package/dist/modules/mcp/tools/list-credentials.tool.js.map +1 -0
- package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js +5 -4
- package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/get-suggested-workflow-nodes.tool.d.ts +2 -2
- package/dist/modules/mcp/tools/workflow-builder/get-suggested-workflow-nodes.tool.js +3 -3
- package/dist/modules/mcp/tools/workflow-builder/get-suggested-workflow-nodes.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-node-types.tool.d.ts +2 -2
- 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.js +3 -2
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-sdk-reference.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/mcp-instructions.js +3 -3
- 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 -1
- package/dist/modules/mcp/tools/workflow-builder/sdk-reference-content.js +12 -4
- 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 +2 -2
- package/dist/modules/mcp/tools/workflow-builder/search-workflow-nodes.tool.js +12 -5
- package/dist/modules/mcp/tools/workflow-builder/search-workflow-nodes.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js +1 -2
- package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.js +1 -1
- package/dist/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-validation.utils.d.ts +5 -1
- package/dist/modules/mcp/tools/workflow-validation.utils.js +4 -2
- package/dist/modules/mcp/tools/workflow-validation.utils.js.map +1 -1
- package/dist/modules/mcp-registry/mcp-registry-node-loader.d.ts +27 -0
- package/dist/modules/mcp-registry/mcp-registry-node-loader.js +105 -0
- package/dist/modules/mcp-registry/mcp-registry-node-loader.js.map +1 -0
- package/dist/modules/mcp-registry/mcp-registry-node-loader.test.d.ts +1 -0
- package/dist/modules/mcp-registry/mcp-registry-node-loader.test.js +244 -0
- package/dist/modules/mcp-registry/mcp-registry-node-loader.test.js.map +1 -0
- package/dist/modules/mcp-registry/mcp-registry.module.d.ts +4 -0
- package/dist/modules/mcp-registry/mcp-registry.module.js +60 -0
- package/dist/modules/mcp-registry/mcp-registry.module.js.map +1 -0
- package/dist/modules/mcp-registry/node-description-transform.d.ts +8 -0
- package/dist/modules/mcp-registry/node-description-transform.js +133 -0
- package/dist/modules/mcp-registry/node-description-transform.js.map +1 -0
- package/dist/modules/mcp-registry/node-description-transform.test.d.ts +1 -0
- package/dist/modules/mcp-registry/node-description-transform.test.js +286 -0
- package/dist/modules/mcp-registry/node-description-transform.test.js.map +1 -0
- package/dist/modules/mcp-registry/registry/mcp-registry.service.d.ts +8 -0
- package/dist/modules/mcp-registry/registry/mcp-registry.service.js +31 -0
- package/dist/modules/mcp-registry/registry/mcp-registry.service.js.map +1 -0
- package/dist/modules/mcp-registry/registry/mcp-registry.service.test.d.ts +1 -0
- package/dist/modules/mcp-registry/registry/mcp-registry.service.test.js +41 -0
- package/dist/modules/mcp-registry/registry/mcp-registry.service.test.js.map +1 -0
- package/dist/modules/mcp-registry/registry/mcp-registry.types.d.ts +36 -0
- package/dist/modules/mcp-registry/registry/mcp-registry.types.js +3 -0
- package/dist/modules/mcp-registry/registry/mcp-registry.types.js.map +1 -0
- package/dist/modules/mcp-registry/registry/mock-servers.d.ts +3 -0
- package/dist/modules/mcp-registry/registry/mock-servers.js +80 -0
- package/dist/modules/mcp-registry/registry/mock-servers.js.map +1 -0
- package/dist/modules/otel/execution-level-tracer.d.ts +1 -1
- package/dist/modules/otel/execution-level-tracer.js +24 -9
- package/dist/modules/otel/execution-level-tracer.js.map +1 -1
- package/dist/modules/otel/execution-level-tracer.types.d.ts +9 -7
- package/dist/modules/otel/execution-level-tracer.types.js +14 -0
- package/dist/modules/otel/execution-level-tracer.types.js.map +1 -1
- package/dist/modules/quick-connect/quick-connect.config.d.ts +176 -0
- package/dist/modules/quick-connect/quick-connect.config.js +8 -0
- package/dist/modules/quick-connect/quick-connect.config.js.map +1 -1
- package/dist/modules/quick-connect/quick-connect.module.d.ts +15 -0
- package/dist/modules/redaction/executions/execution-redaction.service.d.ts +1 -3
- package/dist/modules/redaction/executions/execution-redaction.service.js +2 -6
- package/dist/modules/redaction/executions/execution-redaction.service.js.map +1 -1
- package/dist/modules/source-control.ee/source-control.controller.ee.d.ts +2 -2
- package/dist/modules/source-control.ee/source-control.service.ee.d.ts +1 -1
- package/dist/modules/sso-oidc/oidc.controller.ee.d.ts +3 -1
- package/dist/modules/sso-oidc/oidc.controller.ee.js +8 -1
- package/dist/modules/sso-oidc/oidc.controller.ee.js.map +1 -1
- package/dist/node-catalog/index.d.ts +1 -0
- package/dist/node-catalog/index.js +6 -0
- package/dist/node-catalog/index.js.map +1 -0
- package/dist/{modules/mcp/tools/workflow-builder/workflow-builder-tools.service.d.ts → node-catalog/node-catalog.service.d.ts} +9 -15
- package/dist/{modules/mcp/tools/workflow-builder/workflow-builder-tools.service.js → node-catalog/node-catalog.service.js} +38 -28
- package/dist/node-catalog/node-catalog.service.js.map +1 -0
- package/dist/node-execution/ephemeral-node-executor.d.ts +47 -0
- package/dist/node-execution/ephemeral-node-executor.js +289 -0
- package/dist/node-execution/ephemeral-node-executor.js.map +1 -0
- package/dist/node-execution/index.d.ts +2 -0
- package/dist/node-execution/index.js +8 -0
- package/dist/node-execution/index.js.map +1 -0
- package/dist/public-api/v1/handlers/audit/audit.handler.d.ts +5 -4
- package/dist/public-api/v1/handlers/audit/audit.handler.js +5 -9
- package/dist/public-api/v1/handlers/audit/audit.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/community-packages/community-packages.handler.d.ts +20 -17
- package/dist/public-api/v1/handlers/community-packages/community-packages.handler.js +12 -39
- package/dist/public-api/v1/handlers/community-packages/community-packages.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/credentials/credentials.handler.d.ts +12 -49
- package/dist/public-api/v1/handlers/credentials/credentials.handler.js +6 -5
- package/dist/public-api/v1/handlers/credentials/credentials.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/data-tables/data-tables.columns.handler.d.ts +8 -19
- package/dist/public-api/v1/handlers/data-tables/data-tables.columns.handler.js +11 -11
- package/dist/public-api/v1/handlers/data-tables/data-tables.columns.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/data-tables/data-tables.handler.d.ts +9 -17
- package/dist/public-api/v1/handlers/data-tables/data-tables.handler.js +19 -23
- package/dist/public-api/v1/handlers/data-tables/data-tables.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/data-tables/data-tables.rows.handler.d.ts +9 -23
- package/dist/public-api/v1/handlers/data-tables/data-tables.rows.handler.js +17 -27
- package/dist/public-api/v1/handlers/data-tables/data-tables.rows.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/discover/discover.handler.d.ts +11 -9
- package/dist/public-api/v1/handlers/discover/discover.handler.js +5 -3
- package/dist/public-api/v1/handlers/discover/discover.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/executions/executions.handler.d.ts +12 -11
- package/dist/public-api/v1/handlers/executions/executions.handler.js +46 -80
- package/dist/public-api/v1/handlers/executions/executions.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/folders/folders.handler.d.ts +12 -17
- package/dist/public-api/v1/handlers/folders/folders.handler.js +17 -20
- package/dist/public-api/v1/handlers/folders/folders.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/insights/insights.handler.d.ts +5 -4
- package/dist/public-api/v1/handlers/insights/insights.handler.js +9 -5
- package/dist/public-api/v1/handlers/insights/insights.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/projects/projects.handler.d.ts +28 -11
- package/dist/public-api/v1/handlers/projects/projects.handler.js +44 -75
- package/dist/public-api/v1/handlers/projects/projects.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/source-control/source-control.handler.d.ts +5 -6
- package/dist/public-api/v1/handlers/source-control/source-control.handler.js +3 -2
- package/dist/public-api/v1/handlers/source-control/source-control.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/tags/tags.handler.d.ts +9 -8
- package/dist/public-api/v1/handlers/tags/tags.handler.js +11 -8
- package/dist/public-api/v1/handlers/tags/tags.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/users/users.handler.ee.d.ts +14 -11
- package/dist/public-api/v1/handlers/users/users.handler.ee.js +7 -8
- package/dist/public-api/v1/handlers/users/users.handler.ee.js.map +1 -1
- package/dist/public-api/v1/handlers/variables/variables.handler.d.ts +13 -7
- package/dist/public-api/v1/handlers/variables/variables.handler.js +5 -3
- package/dist/public-api/v1/handlers/variables/variables.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/workflows/workflows.handler.d.ts +17 -49
- package/dist/public-api/v1/handlers/workflows/workflows.handler.js +27 -46
- package/dist/public-api/v1/handlers/workflows/workflows.handler.js.map +1 -1
- package/dist/public-api/v1/shared/handler.types.d.ts +7 -1
- package/dist/public-api/v1/shared/middlewares/global.middleware.d.ts +1 -2
- package/dist/public-api/v1/shared/middlewares/global.middleware.js +7 -6
- package/dist/public-api/v1/shared/middlewares/global.middleware.js.map +1 -1
- package/dist/scaling/constants.d.ts +2 -2
- package/dist/scaling/job-processor.js +2 -0
- package/dist/scaling/job-processor.js.map +1 -1
- package/dist/scaling/pubsub/pubsub.event-map.d.ts +9 -0
- package/dist/scaling/pubsub/pubsub.types.d.ts +3 -1
- package/dist/scaling/scaling.types.d.ts +1 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.js +2 -0
- package/dist/server.js.map +1 -1
- package/dist/services/frontend.service.js +7 -14
- package/dist/services/frontend.service.js.map +1 -1
- package/dist/services/import.service.d.ts +9 -3
- package/dist/services/import.service.js +72 -5
- package/dist/services/import.service.js.map +1 -1
- package/dist/services/proxy-token-manager.js.map +1 -0
- package/dist/services/workflow-statistics.service.js +1 -0
- package/dist/services/workflow-statistics.service.js.map +1 -1
- package/dist/task-runners/task-broker/task-broker.service.d.ts +2 -0
- package/dist/task-runners/task-broker/task-broker.service.js +13 -1
- package/dist/task-runners/task-broker/task-broker.service.js.map +1 -1
- package/dist/utils/ttl-map.d.ts +17 -0
- package/dist/utils/ttl-map.js +80 -0
- package/dist/utils/ttl-map.js.map +1 -0
- package/dist/webhooks/test-webhooks.d.ts +3 -1
- package/dist/webhooks/test-webhooks.js +11 -3
- package/dist/webhooks/test-webhooks.js.map +1 -1
- package/dist/workflow-execute-additional-data.d.ts +2 -1
- package/dist/workflow-execute-additional-data.js +34 -0
- package/dist/workflow-execute-additional-data.js.map +1 -1
- package/dist/workflow-helpers.d.ts +1 -0
- package/dist/workflow-helpers.js +15 -0
- package/dist/workflow-helpers.js.map +1 -1
- package/dist/workflow-runner.js +2 -0
- package/dist/workflow-runner.js.map +1 -1
- package/dist/workflows/workflow-creation.service.js +1 -0
- package/dist/workflows/workflow-creation.service.js.map +1 -1
- package/dist/workflows/workflow.service.js +4 -0
- package/dist/workflows/workflow.service.js.map +1 -1
- package/package.json +40 -25
- package/dist/instance-settings-loader/loaders/sso.instance-settings-loader.js +0 -203
- package/dist/instance-settings-loader/loaders/sso.instance-settings-loader.js.map +0 -1
- package/dist/modules/instance-ai/proxy-token-manager.js.map +0 -1
- package/dist/modules/mcp/tools/workflow-builder/workflow-builder-tools.service.js.map +0 -1
- /package/dist/{modules/instance-ai → services}/proxy-token-manager.d.ts +0 -0
- /package/dist/{modules/instance-ai → services}/proxy-token-manager.js +0 -0
|
@@ -8,11 +8,11 @@ function getMcpInstructions(isBuilderEnabled) {
|
|
|
8
8
|
|
|
9
9
|
To build n8n workflows, follow these steps in order:
|
|
10
10
|
|
|
11
|
-
1. Read the SDK reference:
|
|
11
|
+
1. Read the SDK reference: You MUST call ${constants_1.MCP_GET_SDK_REFERENCE_TOOL.toolName} (or use the n8n://workflow-sdk/reference resource) before writing workflow code. Do not guess SDK syntax.
|
|
12
12
|
|
|
13
|
-
2.
|
|
13
|
+
2. Get suggested nodes: You MUST call ${constants_1.CODE_BUILDER_GET_SUGGESTED_NODES_TOOL.toolName} with all relevant workflow technique categories before searching for nodes. Use the recommendations, pattern hints, and configuration guidance to decide which nodes and patterns to use.
|
|
14
14
|
|
|
15
|
-
3.
|
|
15
|
+
3. Discover nodes: Call ${constants_1.CODE_BUILDER_SEARCH_NODES_TOOL.toolName} with queries for services you need (e.g., ["gmail", "slack", "schedule trigger"]), utility nodes (e.g., ["set", "if", "merge", "code"]), and suggested nodes you plan to use. Note the discriminators (resource/operation/mode) in the results.
|
|
16
16
|
|
|
17
17
|
4. Get type definitions: Call ${constants_1.CODE_BUILDER_GET_NODE_TYPES_TOOL.toolName} with ALL node IDs you plan to use, including discriminators from search results. This returns the exact TypeScript parameter definitions. DO NOT skip this — guessing parameter names creates invalid workflows.
|
|
18
18
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-instructions.js","sourceRoot":"","sources":["../../../../../src/modules/mcp/tools/workflow-builder/mcp-instructions.ts"],"names":[],"mappings":";;AAmBA,gDA0BC;AArCD,2CASqB;AAErB,SAAgB,kBAAkB,CAAC,gBAAyB;IAC3D,MAAM,KAAK,GAAG,0EAA0E,CAAC;IAEzF,MAAM,oBAAoB,GAAG;;;;
|
|
1
|
+
{"version":3,"file":"mcp-instructions.js","sourceRoot":"","sources":["../../../../../src/modules/mcp/tools/workflow-builder/mcp-instructions.ts"],"names":[],"mappings":";;AAmBA,gDA0BC;AArCD,2CASqB;AAErB,SAAgB,kBAAkB,CAAC,gBAAyB;IAC3D,MAAM,KAAK,GAAG,0EAA0E,CAAC;IAEzF,MAAM,oBAAoB,GAAG;;;;2CAIa,sCAA0B,CAAC,QAAQ;;wCAEtC,iDAAqC,CAAC,QAAQ;;0BAE5D,0CAA8B,CAAC,QAAQ;;gCAEjC,4CAAgC,CAAC,QAAQ;;mOAE0J,sCAA0B,CAAC,QAAQ;;oBAElP,sCAA0B,CAAC,QAAQ;;kBAErC,8CAAkC,CAAC,QAAQ;;kBAE3C,oCAAwB,CAAC,QAAQ;;mBAEhC,qCAAyB,CAAC,QAAQ,wBAAwB,CAAC;IAE7E,OAAO,gBAAgB,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,oBAAoB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AACzE,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type SdkReferenceSection = 'patterns' | 'expressions' | 'functions' | 'rules' | 'import' | 'guidelines' | 'design' | 'all';
|
|
1
|
+
export type SdkReferenceSection = 'patterns' | 'patterns_detailed' | 'expressions' | 'functions' | 'rules' | 'import' | 'guidelines' | 'design' | 'all';
|
|
2
2
|
export declare function getSdkReferenceContent(section?: SdkReferenceSection): string;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getSdkReferenceContent = getSdkReferenceContent;
|
|
4
4
|
const ai_workflow_builder_1 = require("@n8n/ai-workflow-builder");
|
|
5
|
+
const sdk_reference_1 = require("@n8n/workflow-sdk/prompts/sdk-reference");
|
|
5
6
|
const CODING_GUIDELINES = `Rules:
|
|
6
7
|
- Use exact parameter names and structures from the type definitions.
|
|
7
8
|
- Use unique variable names — never reuse builder function names (e.g. \`node\`, \`trigger\`) as variable names
|
|
@@ -23,16 +24,21 @@ const DESIGN_GUIDANCE = `Design guidance:
|
|
|
23
24
|
- **Trace item counts**: For each connection A → B, if A returns N items, should B run N times or just once? If B doesn't need A's items (e.g., it fetches from an independent source), either set \`executeOnce: true\` on B or use parallel branches + Merge to combine results.
|
|
24
25
|
- **Handling convergence after branches**: When a node receives data from multiple paths (after Switch, IF, Merge): use optional chaining \`expr('{{ $json.data?.approved ?? $json.status }}')\`, reference a node that ALWAYS runs \`expr("{{ $('Webhook').item.json.field }}")\`, or normalize data before convergence with Set nodes.
|
|
25
26
|
- **Prefer dedicated integration nodes** over HTTP Request when search results show one is available.
|
|
27
|
+
- **Normalize webhook payloads immediately**: Webhook data often appears under \`body\`, but clients and tests may provide fields directly on \`$json\`. Add a Set node after the webhook that uses optional chaining and defaults, e.g. \`expr('{{ $json.body?.name ?? $json.name ?? "there" }}')\`, \`expr('{{ $json.body?.email ?? $json.email ?? "" }}')\`, and \`expr('{{ $json.body?.message ?? $json.message ?? "" }}')\`.
|
|
28
|
+
- **Fan out independent side effects**: For workflows that send email, notify chat, write to storage, and respond to a webhook, branch all side-effect nodes from normalized data instead of chaining them. Set \`onError: 'continueRegularOutput'\` on independent external action nodes when one failed action should not block the others.
|
|
26
29
|
- **Pay attention to @builderHint annotations** in the type definitions — they provide critical guidance on how to correctly configure node parameters.`;
|
|
27
30
|
const SDK_IMPORT_SECTION = `## SDK Import Statement\n\n\`\`\`javascript\n${ai_workflow_builder_1.SDK_IMPORT_STATEMENT}\n\`\`\``;
|
|
31
|
+
const WORKFLOW_PATTERNS_SECTION = `## Workflow Patterns\n\n${sdk_reference_1.WORKFLOW_SDK_PATTERNS}`;
|
|
32
|
+
const WORKFLOW_PATTERNS_DETAILED_SECTION = `## Workflow Patterns Detailed\n\n${sdk_reference_1.WORKFLOW_PATTERNS_DETAILED}`;
|
|
28
33
|
const CODING_GUIDELINES_SECTION = `## Coding Guidelines\n\n${CODING_GUIDELINES}`;
|
|
29
34
|
const DESIGN_GUIDANCE_SECTION = `## Design Guidance\n\n${DESIGN_GUIDANCE}`;
|
|
30
35
|
const SECTIONS = {
|
|
31
36
|
import: SDK_IMPORT_SECTION,
|
|
32
|
-
patterns:
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
37
|
+
patterns: WORKFLOW_PATTERNS_SECTION,
|
|
38
|
+
patterns_detailed: WORKFLOW_PATTERNS_DETAILED_SECTION,
|
|
39
|
+
expressions: sdk_reference_1.EXPRESSION_REFERENCE,
|
|
40
|
+
functions: sdk_reference_1.ADDITIONAL_FUNCTIONS,
|
|
41
|
+
rules: sdk_reference_1.WORKFLOW_RULES,
|
|
36
42
|
guidelines: CODING_GUIDELINES_SECTION,
|
|
37
43
|
design: DESIGN_GUIDANCE_SECTION,
|
|
38
44
|
};
|
|
@@ -47,6 +53,8 @@ function getSdkReferenceContent(section) {
|
|
|
47
53
|
'',
|
|
48
54
|
SECTIONS.patterns,
|
|
49
55
|
'',
|
|
56
|
+
SECTIONS.patterns_detailed,
|
|
57
|
+
'',
|
|
50
58
|
SECTIONS.expressions,
|
|
51
59
|
'',
|
|
52
60
|
SECTIONS.functions,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-reference-content.js","sourceRoot":"","sources":["../../../../../src/modules/mcp/tools/workflow-builder/sdk-reference-content.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"sdk-reference-content.js","sourceRoot":"","sources":["../../../../../src/modules/mcp/tools/workflow-builder/sdk-reference-content.ts"],"names":[],"mappings":";;AAqFA,wDAwBC;AArGD,kEAAgE;AAChE,2EAMiD;AAMjD,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;mHAgByF,CAAC;AAEpH,MAAM,eAAe,GAAG;;;;;;wJAMgI,CAAC;AAgBzJ,MAAM,kBAAkB,GAAG,gDAAgD,0CAAoB,UAAU,CAAC;AAE1G,MAAM,yBAAyB,GAAG,2BAA2B,qCAAqB,EAAE,CAAC;AAErF,MAAM,kCAAkC,GAAG,oCAAoC,0CAA0B,EAAE,CAAC;AAE5G,MAAM,yBAAyB,GAAG,2BAA2B,iBAAiB,EAAE,CAAC;AAEjF,MAAM,uBAAuB,GAAG,yBAAyB,eAAe,EAAE,CAAC;AAE3E,MAAM,QAAQ,GAAwD;IACrE,MAAM,EAAE,kBAAkB;IAC1B,QAAQ,EAAE,yBAAyB;IACnC,iBAAiB,EAAE,kCAAkC;IACrD,WAAW,EAAE,oCAAoB;IACjC,SAAS,EAAE,oCAAoB;IAC/B,KAAK,EAAE,8BAAc;IACrB,UAAU,EAAE,yBAAyB;IACrC,MAAM,EAAE,uBAAuB;CAC/B,CAAC;AAKF,SAAgB,sBAAsB,CAAC,OAA6B;IACnE,IAAI,OAAO,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;QACzD,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO;QACN,8BAA8B;QAC9B,EAAE;QACF,QAAQ,CAAC,MAAM;QACf,EAAE;QACF,QAAQ,CAAC,QAAQ;QACjB,EAAE;QACF,QAAQ,CAAC,iBAAiB;QAC1B,EAAE;QACF,QAAQ,CAAC,WAAW;QACpB,EAAE;QACF,QAAQ,CAAC,SAAS;QAClB,EAAE;QACF,QAAQ,CAAC,KAAK;QACd,EAAE;QACF,QAAQ,CAAC,UAAU;QACnB,EAAE;QACF,QAAQ,CAAC,MAAM;KACf,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { User } from '@n8n/db';
|
|
2
2
|
import z from 'zod';
|
|
3
3
|
import type { ToolDefinition } from '../../mcp.types';
|
|
4
|
+
import type { NodeCatalogService } from '../../../../node-catalog';
|
|
4
5
|
import type { Telemetry } from '../../../../telemetry';
|
|
5
|
-
import type { WorkflowBuilderToolsService } from './workflow-builder-tools.service';
|
|
6
6
|
declare const inputSchema: {
|
|
7
7
|
queries: z.ZodArray<z.ZodString, "many">;
|
|
8
8
|
};
|
|
9
|
-
export declare const createSearchWorkflowNodesTool: (user: User,
|
|
9
|
+
export declare const createSearchWorkflowNodesTool: (user: User, nodeCatalogService: NodeCatalogService, telemetry: Telemetry) => ToolDefinition<typeof inputSchema>;
|
|
10
10
|
export {};
|
|
@@ -18,7 +18,7 @@ const outputSchema = {
|
|
|
18
18
|
.string()
|
|
19
19
|
.describe('Search results with matching node IDs, discriminators, and related nodes'),
|
|
20
20
|
};
|
|
21
|
-
const createSearchWorkflowNodesTool = (user,
|
|
21
|
+
const createSearchWorkflowNodesTool = (user, nodeCatalogService, telemetry) => ({
|
|
22
22
|
name: constants_1.CODE_BUILDER_SEARCH_NODES_TOOL.toolName,
|
|
23
23
|
config: {
|
|
24
24
|
description: 'Search for n8n nodes by service name, trigger type, or utility function. Returns node IDs, discriminators (resource/operation/mode), and related nodes needed for get_workflow_node_types.',
|
|
@@ -39,12 +39,19 @@ const createSearchWorkflowNodesTool = (user, workflowBuilderToolsService, teleme
|
|
|
39
39
|
parameters: { queries },
|
|
40
40
|
};
|
|
41
41
|
try {
|
|
42
|
-
const
|
|
43
|
-
telemetryPayload.results = {
|
|
42
|
+
const { results, queriesWithNoResults } = await nodeCatalogService.searchNodes(queries);
|
|
43
|
+
telemetryPayload.results = {
|
|
44
|
+
success: true,
|
|
45
|
+
data: {
|
|
46
|
+
queryCount: queries.length,
|
|
47
|
+
noResultQueryCount: queriesWithNoResults.length,
|
|
48
|
+
queriesWithNoResults,
|
|
49
|
+
},
|
|
50
|
+
};
|
|
44
51
|
telemetry.track(mcp_constants_1.USER_CALLED_MCP_TOOL_EVENT, telemetryPayload);
|
|
45
52
|
return {
|
|
46
|
-
content: [{ type: 'text', text:
|
|
47
|
-
structuredContent: { results
|
|
53
|
+
content: [{ type: 'text', text: results }],
|
|
54
|
+
structuredContent: { results },
|
|
48
55
|
};
|
|
49
56
|
}
|
|
50
57
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-workflow-nodes.tool.js","sourceRoot":"","sources":["../../../../../src/modules/mcp/tools/workflow-builder/search-workflow-nodes.tool.ts"],"names":[],"mappings":";;;;;;AACA,8CAAoB;AAEpB,uDAAiE;
|
|
1
|
+
{"version":3,"file":"search-workflow-nodes.tool.js","sourceRoot":"","sources":["../../../../../src/modules/mcp/tools/workflow-builder/search-workflow-nodes.tool.ts"],"names":[],"mappings":";;;;;;AACA,8CAAoB;AAEpB,uDAAiE;AAMjE,2CAA6D;AAE7D,MAAM,WAAW,GAAG;IACnB,OAAO,EAAE,aAAC;SACR,KAAK,CAAC,aAAC,CAAC,MAAM,EAAE,CAAC;SACjB,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACR,gLAAgL,CAChL;CACsB,CAAC;AAE1B,MAAM,YAAY,GAAG;IACpB,OAAO,EAAE,aAAC;SACR,MAAM,EAAE;SACR,QAAQ,CAAC,0EAA0E,CAAC;CAC9D,CAAC;AAMnB,MAAM,6BAA6B,GAAG,CAC5C,IAAU,EACV,kBAAsC,EACtC,SAAoB,EACiB,EAAE,CAAC,CAAC;IACzC,IAAI,EAAE,0CAA8B,CAAC,QAAQ;IAC7C,MAAM,EAAE;QACP,WAAW,EACV,4LAA4L;QAC7L,WAAW;QACX,YAAY;QACZ,WAAW,EAAE;YACZ,KAAK,EAAE,0CAA8B,CAAC,YAAY;YAClD,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACpB;KACD;IACD,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAyB,EAAE,EAAE;QACrD,MAAM,gBAAgB,GAAkC;YACvD,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,SAAS,EAAE,0CAA8B,CAAC,QAAQ;YAClD,UAAU,EAAE,EAAE,OAAO,EAAE;SACvB,CAAC;QAEF,IAAI,CAAC;YACJ,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,kBAAkB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAExF,gBAAgB,CAAC,OAAO,GAAG;gBAC1B,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACL,UAAU,EAAE,OAAO,CAAC,MAAM;oBAC1B,kBAAkB,EAAE,oBAAoB,CAAC,MAAM;oBAC/C,oBAAoB;iBACpB;aACD,CAAC;YACF,SAAS,CAAC,KAAK,CAAC,0CAA0B,EAAE,gBAAgB,CAAC,CAAC;YAE9D,OAAO;gBACN,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gBAC1C,iBAAiB,EAAE,EAAE,OAAO,EAAE;aAC9B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,gBAAgB,CAAC,OAAO,GAAG;gBAC1B,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC7D,CAAC;YACF,SAAS,CAAC,KAAK,CAAC,0CAA0B,EAAE,gBAAgB,CAAC,CAAC;YAC9D,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;CACD,CAAC,CAAC;AApDU,QAAA,6BAA6B,iCAoDvC"}
|
|
@@ -38,7 +38,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.createUpdateWorkflowTool = void 0;
|
|
40
40
|
const db_1 = require("@n8n/db");
|
|
41
|
-
const workflow_sdk_1 = require("@n8n/workflow-sdk");
|
|
42
41
|
const zod_1 = __importDefault(require("zod"));
|
|
43
42
|
const mcp_constants_1 = require("../../mcp.constants");
|
|
44
43
|
const constants_1 = require("./constants");
|
|
@@ -109,7 +108,7 @@ const createUpdateWorkflowTool = (user, workflowFinderService, workflowService,
|
|
|
109
108
|
const handler = new ParseValidateHandler({ generatePinData: false });
|
|
110
109
|
const strippedCode = stripImportStatements(code);
|
|
111
110
|
const result = await handler.parseAndValidate(strippedCode);
|
|
112
|
-
const workflowJson =
|
|
111
|
+
const workflowJson = result.workflow;
|
|
113
112
|
const workflowUpdateData = new db_1.WorkflowEntity();
|
|
114
113
|
Object.assign(workflowUpdateData, {
|
|
115
114
|
name: name ?? workflowJson.name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-workflow.tool.js","sourceRoot":"","sources":["../../../../../src/modules/mcp/tools/workflow-builder/update-workflow.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gCAAmF;AACnF,
|
|
1
|
+
{"version":3,"file":"update-workflow.tool.js","sourceRoot":"","sources":["../../../../../src/modules/mcp/tools/workflow-builder/update-workflow.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,7 +70,7 @@ const outputSchema = {
|
|
|
70
70
|
const createValidateWorkflowCodeTool = (user, telemetry) => ({
|
|
71
71
|
name: constants_1.CODE_BUILDER_VALIDATE_TOOL.toolName,
|
|
72
72
|
config: {
|
|
73
|
-
description: 'Validate n8n Workflow SDK code.
|
|
73
|
+
description: 'Validate n8n Workflow SDK code. Required before creating or updating workflows from code. If you have not already read get_sdk_reference, call that first; guessing SDK syntax commonly creates invalid workflows.',
|
|
74
74
|
inputSchema,
|
|
75
75
|
outputSchema,
|
|
76
76
|
annotations: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-workflow-code.tool.js","sourceRoot":"","sources":["../../../../../src/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,8CAAoB;AAEpB,uDAAiE;AAEjE,4EAAmE;AAInE,2CAAyD;AAEzD,MAAM,WAAW,GAAG;IACnB,IAAI,EAAE,aAAC;SACL,MAAM,EAAE;SACR,QAAQ,CACR,wGAAwG,CACxG;CACsB,CAAC;AAE1B,MAAM,YAAY,GAAG;IACpB,KAAK,EAAE,aAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IACjE,SAAS,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;IAC3F,QAAQ,EAAE,aAAC;SACT,KAAK,CACL,aAAC,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;QAC7E,OAAO,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QACnD,QAAQ,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QAC/E,aAAa,EAAE,aAAC;aACd,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,+CAA+C,CAAC;KAC3D,CAAC,CACF;SACA,QAAQ,EAAE;SACV,QAAQ,CAAC,8BAA8B,CAAC;IAC1C,MAAM,EAAE,aAAC,CAAC,KAAK,CAAC,aAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACjF,IAAI,EAAE,aAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACR,2GAA2G,CAC3G;CACsB,CAAC;AAMnB,MAAM,8BAA8B,GAAG,CAC7C,IAAU,EACV,SAAoB,EACiB,EAAE,CAAC,CAAC;IACzC,IAAI,EAAE,sCAA0B,CAAC,QAAQ;IACzC,MAAM,EAAE;QACP,WAAW,EACV,
|
|
1
|
+
{"version":3,"file":"validate-workflow-code.tool.js","sourceRoot":"","sources":["../../../../../src/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import type { User } from '@n8n/db';
|
|
2
2
|
import type { Scope } from '@n8n/permissions';
|
|
3
3
|
import type { WorkflowFinderService } from '../../../workflows/workflow-finder.service';
|
|
4
|
-
|
|
4
|
+
type SdkReferenceHintOptions = {
|
|
5
|
+
afterReference?: string;
|
|
6
|
+
};
|
|
7
|
+
export declare function getSdkReferenceHint(error: unknown, options?: SdkReferenceHintOptions): string | undefined;
|
|
5
8
|
export type FoundWorkflow = NonNullable<Awaited<ReturnType<WorkflowFinderService['findWorkflowForUser']>>>;
|
|
6
9
|
export type GetMcpWorkflowOptions = {
|
|
7
10
|
includeActiveVersion?: boolean;
|
|
8
11
|
};
|
|
9
12
|
export declare function getMcpWorkflow(workflowId: string, user: User, scopes: Scope[], workflowFinderService: WorkflowFinderService, options?: GetMcpWorkflowOptions): Promise<FoundWorkflow>;
|
|
13
|
+
export {};
|
|
@@ -4,12 +4,14 @@ exports.getSdkReferenceHint = getSdkReferenceHint;
|
|
|
4
4
|
exports.getMcpWorkflow = getMcpWorkflow;
|
|
5
5
|
const mcp_errors_1 = require("../mcp.errors");
|
|
6
6
|
const constants_1 = require("./workflow-builder/constants");
|
|
7
|
-
function getSdkReferenceHint(error) {
|
|
7
|
+
function getSdkReferenceHint(error, options = {}) {
|
|
8
8
|
const isParseError = error instanceof Error &&
|
|
9
9
|
(error.name === 'WorkflowCodeParseError' || error instanceof SyntaxError);
|
|
10
10
|
if (!isParseError)
|
|
11
11
|
return undefined;
|
|
12
|
-
|
|
12
|
+
const afterReference = options.afterReference ??
|
|
13
|
+
`Rewrite the code using the documented patterns, then call ${constants_1.CODE_BUILDER_VALIDATE_TOOL.toolName} again before creating or updating a workflow.`;
|
|
14
|
+
return `The code failed to parse as n8n Workflow SDK code. This usually means it does not follow the required SDK patterns. Before retrying, call ${constants_1.MCP_GET_SDK_REFERENCE_TOOL.toolName} to read the Workflow SDK reference. Use workflow(), trigger()/node(), .add()/.to(), expr(), and newCredential() exactly as documented. ${afterReference}`;
|
|
13
15
|
}
|
|
14
16
|
async function getMcpWorkflow(workflowId, user, scopes, workflowFinderService, options) {
|
|
15
17
|
const workflow = await workflowFinderService.findWorkflowForUser(workflowId, user, scopes, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-validation.utils.js","sourceRoot":"","sources":["../../../../src/modules/mcp/tools/workflow-validation.utils.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"workflow-validation.utils.js","sourceRoot":"","sources":["../../../../src/modules/mcp/tools/workflow-validation.utils.ts"],"names":[],"mappings":";;AAmBA,kDAcC;AAgBD,wCAiCC;AA7ED,8CAAoD;AACpD,4DAGsC;AAUtC,SAAgB,mBAAmB,CAClC,KAAc,EACd,UAAmC,EAAE;IAErC,MAAM,YAAY,GACjB,KAAK,YAAY,KAAK;QACtB,CAAC,KAAK,CAAC,IAAI,KAAK,wBAAwB,IAAI,KAAK,YAAY,WAAW,CAAC,CAAC;IAC3E,IAAI,CAAC,YAAY;QAAE,OAAO,SAAS,CAAC;IAEpC,MAAM,cAAc,GACnB,OAAO,CAAC,cAAc;QACtB,6DAA6D,sCAA0B,CAAC,QAAQ,gDAAgD,CAAC;IAElJ,OAAO,6IAA6I,sCAA0B,CAAC,QAAQ,2IAA2I,cAAc,EAAE,CAAC;AACpV,CAAC;AAgBM,KAAK,UAAU,cAAc,CACnC,UAAkB,EAClB,IAAU,EACV,MAAe,EACf,qBAA4C,EAC5C,OAA+B;IAE/B,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE;QAC1F,oBAAoB,EAAE,OAAO,EAAE,oBAAoB;KACnD,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,IAAI,gCAAmB,CAC5B,+DAA+D,EAC/D,eAAe,CACf,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACzB,MAAM,IAAI,gCAAmB,CAC5B,aAAa,UAAU,uCAAuC,EAC9D,mBAAmB,CACnB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;QACxC,MAAM,IAAI,gCAAmB,CAC5B,2EAA2E,EAC3E,sBAAsB,CACtB,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { Logger } from '@n8n/backend-common';
|
|
2
|
+
import { type ICredentialType, type INodeType, type INodeTypeDescription, type IVersionedNodeType, type KnownNodesAndCredentials, type LoadedClass, type NodeLoader } from 'n8n-workflow';
|
|
3
|
+
import type { LoadNodesAndCredentials } from '../../load-nodes-and-credentials';
|
|
4
|
+
import type { McpRegistryService } from './registry/mcp-registry.service';
|
|
5
|
+
export declare class McpRegistryNodeLoader implements NodeLoader {
|
|
6
|
+
private readonly registry;
|
|
7
|
+
private readonly loadNodesAndCredentials;
|
|
8
|
+
private readonly logger;
|
|
9
|
+
packageName: string;
|
|
10
|
+
known: KnownNodesAndCredentials;
|
|
11
|
+
types: {
|
|
12
|
+
nodes: INodeTypeDescription[];
|
|
13
|
+
credentials: ICredentialType[];
|
|
14
|
+
};
|
|
15
|
+
private nodeTypes;
|
|
16
|
+
private credentialTypes;
|
|
17
|
+
private typesReleased;
|
|
18
|
+
constructor(registry: McpRegistryService, loadNodesAndCredentials: LoadNodesAndCredentials, logger: Logger);
|
|
19
|
+
loadAll(): Promise<void>;
|
|
20
|
+
getNode(nodeType: string): LoadedClass<INodeType | IVersionedNodeType>;
|
|
21
|
+
getCredential(credentialType: string): LoadedClass<ICredentialType>;
|
|
22
|
+
reset(): void;
|
|
23
|
+
releaseTypes(): void;
|
|
24
|
+
ensureTypesLoaded(): Promise<void>;
|
|
25
|
+
resolveSourcePath(sourcePath: string): string;
|
|
26
|
+
private resolveBaseNode;
|
|
27
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.McpRegistryNodeLoader = void 0;
|
|
4
|
+
const change_case_1 = require("change-case");
|
|
5
|
+
const n8n_core_1 = require("n8n-core");
|
|
6
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
7
|
+
const node_description_transform_1 = require("./node-description-transform");
|
|
8
|
+
class McpRegistryNodeLoader {
|
|
9
|
+
constructor(registry, loadNodesAndCredentials, logger) {
|
|
10
|
+
this.registry = registry;
|
|
11
|
+
this.loadNodesAndCredentials = loadNodesAndCredentials;
|
|
12
|
+
this.logger = logger;
|
|
13
|
+
this.packageName = node_description_transform_1.MCP_REGISTRY_PACKAGE_NAME;
|
|
14
|
+
this.known = { nodes: {}, credentials: {} };
|
|
15
|
+
this.types = {
|
|
16
|
+
nodes: [],
|
|
17
|
+
credentials: [],
|
|
18
|
+
};
|
|
19
|
+
this.nodeTypes = {};
|
|
20
|
+
this.credentialTypes = {};
|
|
21
|
+
this.typesReleased = true;
|
|
22
|
+
}
|
|
23
|
+
async loadAll() {
|
|
24
|
+
this.reset();
|
|
25
|
+
const baseLoaded = this.resolveBaseNode();
|
|
26
|
+
this.typesReleased = false;
|
|
27
|
+
if (!baseLoaded)
|
|
28
|
+
return;
|
|
29
|
+
const { type: baseNode, sourcePath } = baseLoaded;
|
|
30
|
+
const { description: baseDescription } = n8n_workflow_1.NodeHelpers.getVersionedNodeType(baseNode);
|
|
31
|
+
for (const server of this.registry.getAll({ includeDeprecated: true })) {
|
|
32
|
+
const nodeDescription = (0, node_description_transform_1.serverToNodeDescription)(server, baseDescription);
|
|
33
|
+
const credentialDescription = (0, node_description_transform_1.serverToCredentialDescription)(server);
|
|
34
|
+
if (!nodeDescription || !credentialDescription)
|
|
35
|
+
continue;
|
|
36
|
+
const bareName = (0, change_case_1.camelCase)(server.slug);
|
|
37
|
+
this.types.nodes.push(nodeDescription);
|
|
38
|
+
const syntheticNode = Object.create(baseNode, {
|
|
39
|
+
description: { value: nodeDescription, enumerable: true },
|
|
40
|
+
});
|
|
41
|
+
this.nodeTypes[bareName] = { type: syntheticNode, sourcePath };
|
|
42
|
+
this.known.nodes[bareName] = {
|
|
43
|
+
className: 'McpRegistryClientTool',
|
|
44
|
+
sourcePath,
|
|
45
|
+
};
|
|
46
|
+
this.types.credentials.push(credentialDescription);
|
|
47
|
+
this.credentialTypes[credentialDescription.name] = {
|
|
48
|
+
type: credentialDescription,
|
|
49
|
+
sourcePath: '',
|
|
50
|
+
};
|
|
51
|
+
this.known.credentials[credentialDescription.name] = {
|
|
52
|
+
className: 'McpRegistryApi',
|
|
53
|
+
sourcePath: '',
|
|
54
|
+
extends: credentialDescription.extends,
|
|
55
|
+
supportedNodes: [bareName],
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
getNode(nodeType) {
|
|
60
|
+
const entry = this.nodeTypes[nodeType];
|
|
61
|
+
if (!entry)
|
|
62
|
+
throw new n8n_core_1.UnrecognizedNodeTypeError(this.packageName, nodeType);
|
|
63
|
+
return entry;
|
|
64
|
+
}
|
|
65
|
+
getCredential(credentialType) {
|
|
66
|
+
const entry = this.credentialTypes[credentialType];
|
|
67
|
+
if (!entry)
|
|
68
|
+
throw new n8n_core_1.UnrecognizedCredentialTypeError(credentialType);
|
|
69
|
+
return entry;
|
|
70
|
+
}
|
|
71
|
+
reset() {
|
|
72
|
+
this.known = { nodes: {}, credentials: {} };
|
|
73
|
+
this.types = { nodes: [], credentials: [] };
|
|
74
|
+
this.nodeTypes = {};
|
|
75
|
+
this.credentialTypes = {};
|
|
76
|
+
this.typesReleased = true;
|
|
77
|
+
}
|
|
78
|
+
releaseTypes() {
|
|
79
|
+
this.types = { nodes: [], credentials: [] };
|
|
80
|
+
this.typesReleased = true;
|
|
81
|
+
}
|
|
82
|
+
async ensureTypesLoaded() {
|
|
83
|
+
if (this.typesReleased)
|
|
84
|
+
await this.loadAll();
|
|
85
|
+
}
|
|
86
|
+
resolveSourcePath(sourcePath) {
|
|
87
|
+
return sourcePath;
|
|
88
|
+
}
|
|
89
|
+
resolveBaseNode() {
|
|
90
|
+
const langchainLoader = this.loadNodesAndCredentials.loaders[node_description_transform_1.LANGCHAIN_PACKAGE_NAME];
|
|
91
|
+
if (!langchainLoader) {
|
|
92
|
+
this.logger.warn(`McpRegistryNodeLoader: langchain package "${node_description_transform_1.LANGCHAIN_PACKAGE_NAME}" is not loaded; registry nodes will not be available.`);
|
|
93
|
+
return undefined;
|
|
94
|
+
}
|
|
95
|
+
try {
|
|
96
|
+
return langchainLoader.getNode(node_description_transform_1.MCP_REGISTRY_BASE_NODE_NAME);
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
this.logger.warn(`McpRegistryNodeLoader: failed to resolve base node "${node_description_transform_1.MCP_REGISTRY_BASE_NODE_NAME}"`, { error: (0, n8n_workflow_1.ensureError)(error) });
|
|
100
|
+
return undefined;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
exports.McpRegistryNodeLoader = McpRegistryNodeLoader;
|
|
105
|
+
//# sourceMappingURL=mcp-registry-node-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-registry-node-loader.js","sourceRoot":"","sources":["../../../src/modules/mcp-registry/mcp-registry-node-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|