n8n 2.32.6 → 2.33.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/active-workflow-manager.d.ts +4 -1
- package/dist/active-workflow-manager.js +18 -16
- package/dist/active-workflow-manager.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/collaboration/collaboration.service.d.ts +1 -0
- package/dist/collaboration/collaboration.service.js +12 -1
- package/dist/collaboration/collaboration.service.js.map +1 -1
- package/dist/commands/base-command.d.ts +3 -2
- package/dist/commands/base-command.js +31 -23
- package/dist/commands/base-command.js.map +1 -1
- package/dist/commands/db/revert.js.map +1 -1
- package/dist/commands/import/credentials.d.ts +1 -1
- package/dist/commands/import/credentials.js +91 -25
- package/dist/commands/import/credentials.js.map +1 -1
- package/dist/commands/ldap/reset.js.map +1 -1
- package/dist/commands/start.d.ts +1 -0
- package/dist/commands/start.js +3 -1
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/user-management/reset.js +1 -5
- package/dist/commands/user-management/reset.js.map +1 -1
- package/dist/commands/webhook.d.ts +1 -0
- package/dist/commands/webhook.js +1 -1
- package/dist/commands/webhook.js.map +1 -1
- package/dist/commands/worker.d.ts +1 -0
- package/dist/commands/worker.js +1 -1
- package/dist/commands/worker.js.map +1 -1
- package/dist/constants.js +19 -0
- package/dist/constants.js.map +1 -1
- package/dist/controllers/ai.controller.d.ts +4 -5
- package/dist/controllers/ai.controller.js +5 -22
- package/dist/controllers/ai.controller.js.map +1 -1
- package/dist/controllers/e2e.controller.d.ts +15 -2
- package/dist/controllers/e2e.controller.js +25 -2
- package/dist/controllers/e2e.controller.js.map +1 -1
- package/dist/controllers/oauth/oauth2-credential.controller.js +5 -1
- package/dist/controllers/oauth/oauth2-credential.controller.js.map +1 -1
- package/dist/controllers/project.controller.js.map +1 -1
- package/dist/controllers/role.controller.d.ts +2 -2
- package/dist/controllers/role.controller.js +4 -3
- package/dist/controllers/role.controller.js.map +1 -1
- package/dist/controllers/users.controller.d.ts +5 -0
- package/dist/controllers/users.controller.js +1 -0
- package/dist/controllers/users.controller.js.map +1 -1
- package/dist/credentials/credential-connection-status-proxy.js.map +1 -1
- package/dist/credentials/credential-dependency.service.js.map +1 -1
- package/dist/credentials/credentials-finder.service.d.ts +7 -2
- package/dist/credentials/credentials-finder.service.js +33 -8
- package/dist/credentials/credentials-finder.service.js.map +1 -1
- package/dist/credentials/credentials.controller.d.ts +6 -0
- package/dist/credentials/credentials.controller.js +44 -5
- package/dist/credentials/credentials.controller.js.map +1 -1
- package/dist/credentials/credentials.service.d.ts +38 -5
- package/dist/credentials/credentials.service.ee.d.ts +4 -2
- package/dist/credentials/credentials.service.ee.js +8 -7
- package/dist/credentials/credentials.service.ee.js.map +1 -1
- package/dist/credentials/credentials.service.js +227 -21
- package/dist/credentials/credentials.service.js.map +1 -1
- package/dist/credentials/instance-credential-broker.d.ts +24 -0
- package/dist/credentials/instance-credential-broker.js +80 -0
- package/dist/credentials/instance-credential-broker.js.map +1 -0
- package/dist/credentials/instance-credential-use.registry.d.ts +14 -0
- package/dist/credentials/instance-credential-use.registry.js +43 -0
- package/dist/credentials/instance-credential-use.registry.js.map +1 -0
- package/dist/credentials-helper.js +4 -0
- package/dist/credentials-helper.js.map +1 -1
- package/dist/credentials-overwrites.js +2 -1
- package/dist/credentials-overwrites.js.map +1 -1
- package/dist/errors/response-errors/workflow-deactivation-bad-request.error.d.ts +9 -0
- package/dist/errors/response-errors/workflow-deactivation-bad-request.error.js +13 -0
- package/dist/errors/response-errors/workflow-deactivation-bad-request.error.js.map +1 -0
- package/dist/evaluation.ee/evaluation-collection.service.d.ts +12 -2
- package/dist/evaluation.ee/evaluation-collection.service.js +132 -20
- package/dist/evaluation.ee/evaluation-collection.service.js.map +1 -1
- package/dist/evaluation.ee/evaluation-collections.controller.ee.d.ts +12 -0
- package/dist/evaluation.ee/evaluation-collections.controller.ee.js +12 -0
- package/dist/evaluation.ee/evaluation-collections.controller.ee.js.map +1 -1
- package/dist/evaluation.ee/insights/eval-insights.service.d.ts +11 -4
- package/dist/evaluation.ee/insights/eval-insights.service.js +136 -30
- package/dist/evaluation.ee/insights/eval-insights.service.js.map +1 -1
- package/dist/evaluation.ee/insights/insights-context-builder.d.ts +59 -0
- package/dist/evaluation.ee/insights/insights-context-builder.js +179 -0
- package/dist/evaluation.ee/insights/insights-context-builder.js.map +1 -0
- package/dist/evaluation.ee/insights/insights-model-resolver.d.ts +16 -0
- package/dist/evaluation.ee/insights/insights-model-resolver.js +65 -0
- package/dist/evaluation.ee/insights/insights-model-resolver.js.map +1 -0
- package/dist/evaluation.ee/metric-scales.d.ts +4 -0
- package/dist/evaluation.ee/metric-scales.js +13 -0
- package/dist/evaluation.ee/metric-scales.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 +40 -4
- 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 +6 -1
- package/dist/evaluation.ee/test-runner/workflow-compiler.service.js +53 -4
- package/dist/evaluation.ee/test-runner/workflow-compiler.service.js.map +1 -1
- package/dist/evaluation.ee/test-runs.controller.ee.d.ts +4 -2
- package/dist/evaluation.ee/test-runs.controller.ee.js +26 -6
- package/dist/evaluation.ee/test-runs.controller.ee.js.map +1 -1
- package/dist/eventbus/message-event-bus/message-event-bus.js.map +1 -1
- package/dist/events/maps/workflow-publication-metrics.event-map.d.ts +2 -0
- package/dist/events/relays/telemetry.event-relay.js +5 -0
- package/dist/events/relays/telemetry.event-relay.js.map +1 -1
- package/dist/execution-lifecycle/execution-lifecycle-hooks.js +1 -0
- package/dist/execution-lifecycle/execution-lifecycle-hooks.js.map +1 -1
- package/dist/executions/execution-data/execution-data-json-store.d.ts +6 -4
- package/dist/executions/execution-data/execution-data-json-store.js +17 -5
- package/dist/executions/execution-data/execution-data-json-store.js.map +1 -1
- package/dist/executions/pre-execution-checks/credentials-permission-checker.d.ts +1 -0
- package/dist/executions/pre-execution-checks/credentials-permission-checker.js +17 -5
- package/dist/executions/pre-execution-checks/credentials-permission-checker.js.map +1 -1
- package/dist/external-hooks.d.ts +44 -10
- package/dist/external-hooks.js +13 -0
- package/dist/external-hooks.js.map +1 -1
- package/dist/license.d.ts +2 -0
- package/dist/license.js +13 -1
- package/dist/license.js.map +1 -1
- package/dist/metrics/prometheus/workflow-info-metrics.service.d.ts +4 -1
- package/dist/metrics/prometheus/workflow-info-metrics.service.js +27 -8
- package/dist/metrics/prometheus/workflow-info-metrics.service.js.map +1 -1
- package/dist/metrics/prometheus/workflow-publication-metrics.service.js +11 -1
- package/dist/metrics/prometheus/workflow-publication-metrics.service.js.map +1 -1
- package/dist/modules/agents/agent-chat.controller.js +10 -2
- package/dist/modules/agents/agent-chat.controller.js.map +1 -1
- package/dist/modules/agents/agent-config.service.js +1 -1
- package/dist/modules/agents/agent-config.service.js.map +1 -1
- package/dist/modules/agents/agent-execution-orchestrator.service.d.ts +7 -1
- package/dist/modules/agents/agent-execution-orchestrator.service.js +84 -43
- package/dist/modules/agents/agent-execution-orchestrator.service.js.map +1 -1
- package/dist/modules/agents/agent-execution.service.d.ts +12 -1
- package/dist/modules/agents/agent-execution.service.js +82 -7
- package/dist/modules/agents/agent-execution.service.js.map +1 -1
- package/dist/modules/agents/agent-integration-persistence.service.js +2 -2
- package/dist/modules/agents/agent-integration-persistence.service.js.map +1 -1
- package/dist/modules/agents/agent-integrations.controller.js +4 -2
- package/dist/modules/agents/agent-integrations.controller.js.map +1 -1
- package/dist/modules/agents/agent-knowledge-sandbox.service.js +5 -3
- package/dist/modules/agents/agent-knowledge-sandbox.service.js.map +1 -1
- package/dist/modules/agents/agent-knowledge.service.d.ts +0 -1
- package/dist/modules/agents/agent-knowledge.service.js +2 -9
- package/dist/modules/agents/agent-knowledge.service.js.map +1 -1
- package/dist/modules/agents/agent-model-catalog.service.js +1 -1
- package/dist/modules/agents/agent-model-catalog.service.js.map +1 -1
- package/dist/modules/agents/agent-publish.controller.js +2 -2
- package/dist/modules/agents/agent-publish.controller.js.map +1 -1
- package/dist/modules/agents/agent-publish.service.d.ts +7 -3
- package/dist/modules/agents/agent-publish.service.js +31 -8
- package/dist/modules/agents/agent-publish.service.js.map +1 -1
- package/dist/modules/agents/agent-run-tracing.service.d.ts +30 -0
- package/dist/modules/agents/agent-run-tracing.service.js +63 -0
- package/dist/modules/agents/agent-run-tracing.service.js.map +1 -0
- package/dist/modules/agents/agent-runtime-instrumentation.d.ts +26 -0
- package/dist/{blob-storage/types.js → modules/agents/agent-runtime-instrumentation.js} +1 -1
- package/dist/modules/agents/agent-runtime-instrumentation.js.map +1 -0
- package/dist/modules/agents/agent-runtime-reconstruction.service.d.ts +3 -1
- package/dist/modules/agents/agent-runtime-reconstruction.service.js +31 -8
- package/dist/modules/agents/agent-runtime-reconstruction.service.js.map +1 -1
- package/dist/modules/agents/agent-sse-stream.js +31 -6
- package/dist/modules/agents/agent-sse-stream.js.map +1 -1
- package/dist/modules/agents/agent-validation.service.d.ts +2 -1
- package/dist/modules/agents/agent-validation.service.js +21 -6
- package/dist/modules/agents/agent-validation.service.js.map +1 -1
- package/dist/modules/agents/agent-workflow-execution.service.d.ts +5 -3
- package/dist/modules/agents/agent-workflow-execution.service.js +31 -9
- package/dist/modules/agents/agent-workflow-execution.service.js.map +1 -1
- package/dist/modules/agents/agents-tools.service.js +12 -0
- package/dist/modules/agents/agents-tools.service.js.map +1 -1
- package/dist/modules/agents/agents.module.js +13 -0
- package/dist/modules/agents/agents.module.js.map +1 -1
- package/dist/modules/agents/agents.service.d.ts +3 -1
- package/dist/modules/agents/agents.service.js +5 -2
- package/dist/modules/agents/agents.service.js.map +1 -1
- package/dist/modules/agents/builder/agents-builder-model-recommendations.js +6 -4
- package/dist/modules/agents/builder/agents-builder-model-recommendations.js.map +1 -1
- package/dist/modules/agents/builder/agents-builder-prompts.d.ts +5 -4
- package/dist/modules/agents/builder/agents-builder-prompts.js +109 -34
- package/dist/modules/agents/builder/agents-builder-prompts.js.map +1 -1
- package/dist/modules/agents/builder/agents-builder-tools.service.d.ts +16 -2
- package/dist/modules/agents/builder/agents-builder-tools.service.js +201 -39
- package/dist/modules/agents/builder/agents-builder-tools.service.js.map +1 -1
- package/dist/modules/agents/builder/agents-builder.service.js +7 -2
- package/dist/modules/agents/builder/agents-builder.service.js.map +1 -1
- package/dist/modules/agents/builder/builder-config-telemetry.d.ts +12 -0
- package/dist/modules/agents/builder/builder-config-telemetry.js +67 -0
- package/dist/modules/agents/builder/builder-config-telemetry.js.map +1 -0
- package/dist/modules/agents/builder/builder-tool-names.d.ts +2 -0
- package/dist/modules/agents/builder/builder-tool-names.js +2 -0
- package/dist/modules/agents/builder/builder-tool-names.js.map +1 -1
- package/dist/modules/agents/builder/interactive/ask-credential.tool.d.ts +3 -0
- package/dist/modules/agents/builder/interactive/ask-credential.tool.js +35 -7
- package/dist/modules/agents/builder/interactive/ask-credential.tool.js.map +1 -1
- package/dist/modules/agents/builder/interactive/ask-questions.tool.d.ts +4 -1
- package/dist/modules/agents/builder/interactive/ask-questions.tool.js +13 -1
- package/dist/modules/agents/builder/interactive/ask-questions.tool.js.map +1 -1
- package/dist/modules/agents/builder/interactive/configure-channel.tool.d.ts +2 -0
- package/dist/modules/agents/builder/interactive/configure-channel.tool.js +7 -1
- package/dist/modules/agents/builder/interactive/configure-channel.tool.js.map +1 -1
- package/dist/modules/agents/builder/interactive/finish-setup.tool.d.ts +17 -0
- package/dist/modules/agents/builder/interactive/finish-setup.tool.js +316 -0
- package/dist/modules/agents/builder/interactive/finish-setup.tool.js.map +1 -0
- package/dist/modules/agents/builder/interactive/index.d.ts +1 -0
- package/dist/modules/agents/builder/interactive/index.js +3 -1
- package/dist/modules/agents/builder/interactive/index.js.map +1 -1
- package/dist/modules/agents/builder/interactive/resolve-llm.tool.d.ts +8 -0
- package/dist/modules/agents/builder/interactive/resolve-llm.tool.js +87 -6
- package/dist/modules/agents/builder/interactive/resolve-llm.tool.js.map +1 -1
- package/dist/modules/agents/builder/prompts/config-mutation.prompt.js +6 -5
- package/dist/modules/agents/builder/prompts/config-mutation.prompt.js.map +1 -1
- package/dist/modules/agents/builder/prompts/config-rules.prompt.js +6 -5
- package/dist/modules/agents/builder/prompts/config-rules.prompt.js.map +1 -1
- package/dist/modules/agents/builder/prompts/initial-build.prompt.d.ts +2 -0
- package/dist/modules/agents/builder/prompts/initial-build.prompt.js +56 -0
- package/dist/modules/agents/builder/prompts/initial-build.prompt.js.map +1 -0
- package/dist/modules/agents/builder/prompts/llm-selection.prompt.js +6 -3
- package/dist/modules/agents/builder/prompts/llm-selection.prompt.js.map +1 -1
- package/dist/modules/agents/builder/prompts/memory.prompt.d.ts +1 -1
- package/dist/modules/agents/builder/prompts/memory.prompt.js +2 -2
- package/dist/modules/agents/builder/prompts/memory.prompt.js.map +1 -1
- package/dist/modules/agents/builder/prompts/planner-todos.prompt.d.ts +2 -0
- package/dist/modules/agents/builder/prompts/planner-todos.prompt.js +22 -0
- package/dist/modules/agents/builder/prompts/planner-todos.prompt.js.map +1 -0
- package/dist/modules/agents/builder/prompts/tools.prompt.d.ts +1 -1
- package/dist/modules/agents/builder/prompts/tools.prompt.js +12 -12
- package/dist/modules/agents/builder/resolve-integration.tool.js +1 -1
- package/dist/modules/agents/builder/resolve-integration.tool.js.map +1 -1
- package/dist/modules/agents/builder/skills/external-services.skill.d.ts +2 -0
- package/dist/modules/agents/builder/skills/external-services.skill.js +361 -0
- package/dist/modules/agents/builder/skills/external-services.skill.js.map +1 -0
- package/dist/modules/agents/builder/skills/index.js +2 -6
- package/dist/modules/agents/builder/skills/index.js.map +1 -1
- package/dist/modules/agents/builder/skills/memory.skill.js +2 -1
- package/dist/modules/agents/builder/skills/memory.skill.js.map +1 -1
- package/dist/modules/agents/builder/skills/resource-locators.skill.js +17 -3
- package/dist/modules/agents/builder/skills/resource-locators.skill.js.map +1 -1
- package/dist/modules/agents/builder/skills/target-skills.skill.js +12 -9
- package/dist/modules/agents/builder/skills/target-skills.skill.js.map +1 -1
- package/dist/modules/agents/builder/skills/target-tasks.skill.js +14 -10
- package/dist/modules/agents/builder/skills/target-tasks.skill.js.map +1 -1
- package/dist/modules/agents/builder/verify-mcp-server.tool.d.ts +4 -0
- package/dist/modules/agents/builder/verify-mcp-server.tool.js +30 -5
- package/dist/modules/agents/builder/verify-mcp-server.tool.js.map +1 -1
- package/dist/modules/agents/entities/agent-execution.entity.d.ts +2 -1
- package/dist/modules/agents/entities/agent-execution.entity.js +4 -0
- package/dist/modules/agents/entities/agent-execution.entity.js.map +1 -1
- package/dist/modules/agents/execution-log/agent-execution-log-store.d.ts +17 -0
- package/dist/modules/agents/execution-log/agent-execution-log-store.js +58 -0
- package/dist/modules/agents/execution-log/agent-execution-log-store.js.map +1 -0
- package/dist/modules/agents/execution-log/agent-execution-log-write.error.d.ts +5 -0
- package/dist/modules/agents/execution-log/agent-execution-log-write.error.js +11 -0
- package/dist/modules/agents/execution-log/agent-execution-log-write.error.js.map +1 -0
- package/dist/modules/agents/execution-log/corrupted-agent-execution-log.error.d.ts +5 -0
- package/dist/modules/agents/execution-log/corrupted-agent-execution-log.error.js +11 -0
- package/dist/modules/agents/execution-log/corrupted-agent-execution-log.error.js.map +1 -0
- package/dist/modules/agents/instance-ai-builder-delegate.adapter.d.ts +1 -1
- package/dist/modules/agents/instance-ai-builder-delegate.adapter.js +4 -2
- package/dist/modules/agents/instance-ai-builder-delegate.adapter.js.map +1 -1
- package/dist/modules/agents/integrations/agent-chat-bridge.js +8 -4
- package/dist/modules/agents/integrations/agent-chat-bridge.js.map +1 -1
- package/dist/modules/agents/integrations/agent-chat-stream-consumer.d.ts +4 -2
- package/dist/modules/agents/integrations/agent-chat-stream-consumer.js +62 -6
- package/dist/modules/agents/integrations/agent-chat-stream-consumer.js.map +1 -1
- package/dist/modules/agents/integrations/integration-tool-factory.d.ts +7 -7
- package/dist/modules/agents/integrations/integration-tool-factory.js +13 -10
- package/dist/modules/agents/integrations/integration-tool-factory.js.map +1 -1
- package/dist/modules/agents/integrations/integration-tool-schema.d.ts +7 -7
- package/dist/modules/agents/integrations/integration-tool-schema.js +7 -7
- package/dist/modules/agents/integrations/integration-tool-schema.js.map +1 -1
- package/dist/modules/agents/integrations/slack-app-setup.service.js +2 -1
- package/dist/modules/agents/integrations/slack-app-setup.service.js.map +1 -1
- package/dist/modules/agents/json-config/from-json-config.d.ts +21 -0
- package/dist/modules/agents/json-config/from-json-config.js +16 -4
- package/dist/modules/agents/json-config/from-json-config.js.map +1 -1
- package/dist/modules/agents/json-config/mcp-client-factory.d.ts +4 -0
- package/dist/modules/agents/json-config/mcp-client-factory.js +6 -1
- package/dist/modules/agents/json-config/mcp-client-factory.js.map +1 -1
- package/dist/modules/agents/json-config/sanitize-unknown-agent-credentials.js +14 -1
- package/dist/modules/agents/json-config/sanitize-unknown-agent-credentials.js.map +1 -1
- package/dist/modules/agents/{builder/interactive/llm-provider-defaults.d.ts → llm-provider-defaults.d.ts} +1 -0
- package/dist/modules/agents/{builder/interactive/llm-provider-defaults.js → llm-provider-defaults.js} +14 -1
- package/dist/modules/agents/llm-provider-defaults.js.map +1 -0
- package/dist/modules/agents/repositories/agent-execution.repository.d.ts +4 -0
- package/dist/modules/agents/repositories/agent-execution.repository.js +31 -0
- package/dist/modules/agents/repositories/agent-execution.repository.js.map +1 -1
- package/dist/modules/agents/sub-agents/delegate-sub-agent-tool.js +1 -0
- package/dist/modules/agents/sub-agents/delegate-sub-agent-tool.js.map +1 -1
- package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.d.ts +4 -1
- package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.js +7 -1
- package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.js.map +1 -1
- package/dist/modules/agents/tools/node-tool-factory.d.ts +2 -0
- package/dist/modules/agents/tools/node-tool-factory.js +8 -0
- package/dist/modules/agents/tools/node-tool-factory.js.map +1 -1
- package/dist/modules/agents/tools/workflow-tool-factory.d.ts +3 -1
- package/dist/modules/agents/tools/workflow-tool-factory.js +9 -3
- package/dist/modules/agents/tools/workflow-tool-factory.js.map +1 -1
- package/dist/modules/agents/utils/execution-to-message-mapper.js +4 -2
- package/dist/modules/agents/utils/execution-to-message-mapper.js.map +1 -1
- package/dist/modules/agents/utils/node-tool-validation.js +6 -0
- package/dist/modules/agents/utils/node-tool-validation.js.map +1 -1
- package/dist/modules/breaking-changes/rules/index.d.ts +3 -0
- package/dist/modules/breaking-changes/rules/index.js +3 -0
- package/dist/modules/breaking-changes/rules/index.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v3/chat-trigger-embedded-json.rule.d.ts +10 -0
- package/dist/modules/breaking-changes/rules/v3/chat-trigger-embedded-json.rule.js +58 -0
- package/dist/modules/breaking-changes/rules/v3/chat-trigger-embedded-json.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v3/removed-nodes-with-replacements.rule.d.ts +239 -0
- package/dist/modules/breaking-changes/rules/v3/removed-nodes-with-replacements.rule.js +445 -0
- package/dist/modules/breaking-changes/rules/v3/removed-nodes-with-replacements.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v3/removed-nodes.rule.d.ts +11 -0
- package/dist/modules/breaking-changes/rules/v3/removed-nodes.rule.js +61 -0
- package/dist/modules/breaking-changes/rules/v3/removed-nodes.rule.js.map +1 -0
- package/dist/modules/community-packages/installed-nodes.entity.js +1 -1
- package/dist/modules/community-packages/installed-nodes.entity.js.map +1 -1
- package/dist/modules/data-table/data-table-proxy.service.js +13 -0
- package/dist/modules/data-table/data-table-proxy.service.js.map +1 -1
- package/dist/modules/data-table/data-table.controller.js +1 -1
- package/dist/modules/data-table/data-table.controller.js.map +1 -1
- package/dist/modules/data-table/data-table.service.d.ts +1 -1
- package/dist/modules/data-table/data-table.service.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/database/repositories/dynamic-credential-user-entry.repository.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.js.map +1 -1
- package/dist/modules/instance-ai/eval/agent-execution.service.d.ts +26 -0
- package/dist/modules/instance-ai/eval/agent-execution.service.js +508 -0
- package/dist/modules/instance-ai/eval/agent-execution.service.js.map +1 -0
- package/dist/modules/instance-ai/eval/agent-model-turn-recorder.d.ts +9 -0
- package/dist/modules/instance-ai/eval/agent-model-turn-recorder.js +110 -0
- package/dist/modules/instance-ai/eval/agent-model-turn-recorder.js.map +1 -0
- package/dist/modules/instance-ai/eval/agent-scenario-seed.d.ts +14 -0
- package/dist/modules/instance-ai/eval/agent-scenario-seed.js +98 -0
- package/dist/modules/instance-ai/eval/agent-scenario-seed.js.map +1 -0
- package/dist/modules/instance-ai/eval/execution.service.js +3 -3
- package/dist/modules/instance-ai/eval/execution.service.js.map +1 -1
- package/dist/modules/instance-ai/eval/mcp-mock-fetch.d.ts +28 -0
- package/dist/modules/instance-ai/eval/mcp-mock-fetch.js +265 -0
- package/dist/modules/instance-ai/eval/mcp-mock-fetch.js.map +1 -0
- package/dist/modules/instance-ai/eval/mock-utils.d.ts +4 -0
- package/dist/modules/instance-ai/eval/mock-utils.js +41 -0
- package/dist/modules/instance-ai/eval/mock-utils.js.map +1 -0
- package/dist/modules/instance-ai/eval/request-sanitizer.d.ts +1 -0
- package/dist/modules/instance-ai/eval/request-sanitizer.js +26 -0
- package/dist/modules/instance-ai/eval/request-sanitizer.js.map +1 -1
- package/dist/modules/instance-ai/eval/web-search-mock.d.ts +26 -0
- package/dist/modules/instance-ai/eval/web-search-mock.js +122 -0
- package/dist/modules/instance-ai/eval/web-search-mock.js.map +1 -0
- package/dist/modules/instance-ai/event-bus/interrupted-run-sweeper.d.ts +8 -0
- package/dist/modules/instance-ai/event-bus/interrupted-run-sweeper.js +85 -11
- package/dist/modules/instance-ai/event-bus/interrupted-run-sweeper.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai-error-reporter.service.js +13 -0
- package/dist/modules/instance-ai/instance-ai-error-reporter.service.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai-memory.service.d.ts +3 -3
- package/dist/modules/instance-ai/instance-ai-memory.service.js +5 -11
- package/dist/modules/instance-ai/instance-ai-memory.service.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai-settings.service.d.ts +42 -14
- package/dist/modules/instance-ai/instance-ai-settings.service.js +650 -174
- package/dist/modules/instance-ai/instance-ai-settings.service.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai-test.controller.js +4 -1
- package/dist/modules/instance-ai/instance-ai-test.controller.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.adapter.service.d.ts +2 -1
- package/dist/modules/instance-ai/instance-ai.adapter.service.js +26 -2
- package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.controller.d.ts +14 -6
- package/dist/modules/instance-ai/instance-ai.controller.js +84 -29
- package/dist/modules/instance-ai/instance-ai.controller.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.module.js +9 -2
- package/dist/modules/instance-ai/instance-ai.module.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.service.d.ts +10 -1
- package/dist/modules/instance-ai/instance-ai.service.js +146 -45
- package/dist/modules/instance-ai/instance-ai.service.js.map +1 -1
- package/dist/modules/instance-ai/repositories/instance-ai-event-log.repository.d.ts +1 -1
- package/dist/modules/instance-ai/repositories/instance-ai-event-log.repository.js +6 -5
- package/dist/modules/instance-ai/repositories/instance-ai-event-log.repository.js.map +1 -1
- package/dist/modules/instance-ai/sandbox/instance-ai-sandbox.service.d.ts +6 -2
- package/dist/modules/instance-ai/sandbox/instance-ai-sandbox.service.js +55 -14
- package/dist/modules/instance-ai/sandbox/instance-ai-sandbox.service.js.map +1 -1
- package/dist/modules/mcp/mcp-protected-resource.d.ts +1 -0
- package/dist/modules/mcp/mcp-protected-resource.js +4 -0
- package/dist/modules/mcp/mcp-protected-resource.js.map +1 -1
- package/dist/modules/mcp/mcp-server-middleware.service.js +2 -1
- package/dist/modules/mcp/mcp-server-middleware.service.js.map +1 -1
- package/dist/modules/mcp/mcp.controller.d.ts +3 -1
- package/dist/modules/mcp/mcp.controller.js +15 -11
- package/dist/modules/mcp/mcp.controller.js.map +1 -1
- package/dist/modules/mcp/mcp.service.d.ts +7 -2
- package/dist/modules/mcp/mcp.service.js +63 -43
- package/dist/modules/mcp/mcp.service.js.map +1 -1
- package/dist/modules/mcp/mcp.types.d.ts +1 -0
- package/dist/modules/mcp/tools/execution-utils.d.ts +3 -1
- package/dist/modules/mcp/tools/execution-utils.js +6 -4
- package/dist/modules/mcp/tools/execution-utils.js.map +1 -1
- package/dist/modules/mcp/tools/get-workflow-details.tool.d.ts +3 -2
- package/dist/modules/mcp/tools/get-workflow-details.tool.js +6 -6
- package/dist/modules/mcp/tools/get-workflow-details.tool.js.map +1 -1
- package/dist/modules/mcp/tools/get-workflow-version.tool.d.ts +3 -2
- package/dist/modules/mcp/tools/get-workflow-version.tool.js +1 -1
- package/dist/modules/mcp/tools/get-workflow-version.tool.js.map +1 -1
- package/dist/modules/mcp/tools/schemas.d.ts +34 -32
- package/dist/modules/mcp/tools/schemas.js +14 -2
- package/dist/modules/mcp/tools/schemas.js.map +1 -1
- package/dist/modules/mcp/tools/test-workflow.tool.d.ts +4 -1
- package/dist/modules/mcp/tools/test-workflow.tool.js +13 -5
- package/dist/modules/mcp/tools/test-workflow.tool.js.map +1 -1
- package/dist/modules/mcp/tools/webhook-utils.d.ts +3 -3
- package/dist/modules/mcp/tools/webhook-utils.js +17 -6
- package/dist/modules/mcp/tools/webhook-utils.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.d.ts +4 -1
- package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js +5 -1
- package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-best-practices.tool.d.ts +3 -1
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-best-practices.tool.js +16 -3
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-best-practices.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-sdk-reference.tool.d.ts +5 -2
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-sdk-reference.tool.js +17 -10
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-sdk-reference.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/mcp-instructions.d.ts +6 -1
- package/dist/modules/mcp/tools/workflow-builder/mcp-instructions.js +8 -2
- 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 +4 -2
- package/dist/modules/mcp/tools/workflow-builder/sdk-reference-content.js +8 -1
- package/dist/modules/mcp/tools/workflow-builder/sdk-reference-content.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.d.ts +280 -2
- package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js +54 -17
- package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.d.ts +4 -1
- package/dist/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.js +58 -1
- package/dist/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/workflow-operations.d.ts +51 -5
- package/dist/modules/mcp/tools/workflow-builder/workflow-operations.js +414 -233
- package/dist/modules/mcp/tools/workflow-builder/workflow-operations.js.map +1 -1
- package/dist/modules/mcp-registry/mcp-registry-test.controller.js +2 -2
- package/dist/modules/mcp-registry/mcp-registry-test.controller.js.map +1 -1
- package/dist/modules/mcp-registry/mcp-registry.module.js +1 -1
- package/dist/modules/mcp-registry/mcp-registry.module.js.map +1 -1
- package/dist/modules/n8n-packages/engine/import-orchestrator.d.ts +11 -1
- package/dist/modules/n8n-packages/engine/import-orchestrator.js +36 -7
- package/dist/modules/n8n-packages/engine/import-orchestrator.js.map +1 -1
- package/dist/modules/n8n-packages/engine/import-result.d.ts +3 -2
- package/dist/modules/n8n-packages/engine/import-result.js +2 -1
- package/dist/modules/n8n-packages/engine/import-result.js.map +1 -1
- package/dist/modules/n8n-packages/engine/import-telemetry.d.ts +2 -0
- package/dist/modules/n8n-packages/engine/import-telemetry.js +11 -0
- package/dist/modules/n8n-packages/engine/import-telemetry.js.map +1 -1
- package/dist/modules/n8n-packages/engine/project-package-importer.js +11 -0
- package/dist/modules/n8n-packages/engine/project-package-importer.js.map +1 -1
- package/dist/modules/n8n-packages/engine/workflow-package-importer.js +10 -1
- package/dist/modules/n8n-packages/engine/workflow-package-importer.js.map +1 -1
- package/dist/modules/n8n-packages/entities/requirements.types.d.ts +2 -0
- package/dist/modules/n8n-packages/entities/requirements.types.js +1 -0
- package/dist/modules/n8n-packages/entities/requirements.types.js.map +1 -1
- package/dist/modules/n8n-packages/entities/variable/variable-importer.d.ts +9 -0
- package/dist/modules/n8n-packages/entities/variable/variable-importer.js +55 -0
- package/dist/modules/n8n-packages/entities/variable/variable-importer.js.map +1 -0
- package/dist/modules/n8n-packages/entities/variable/variable-missing-mode.d.ts +3 -0
- package/dist/modules/n8n-packages/entities/variable/variable-missing-mode.js +12 -0
- package/dist/modules/n8n-packages/entities/variable/variable-missing-mode.js.map +1 -0
- package/dist/modules/n8n-packages/entities/variable/variable.types.d.ts +14 -0
- package/dist/modules/n8n-packages/entities/variable/variable.types.js +7 -0
- package/dist/modules/n8n-packages/entities/variable/variable.types.js.map +1 -1
- package/dist/modules/n8n-packages/entities/workflow/auto-included-workflow-resolver.d.ts +37 -0
- package/dist/modules/n8n-packages/entities/workflow/auto-included-workflow-resolver.js +165 -0
- package/dist/modules/n8n-packages/entities/workflow/auto-included-workflow-resolver.js.map +1 -0
- package/dist/modules/n8n-packages/entities/workflow/auto-included-workflow.exporter.d.ts +39 -0
- package/dist/modules/n8n-packages/entities/workflow/auto-included-workflow.exporter.js +198 -0
- package/dist/modules/n8n-packages/entities/workflow/auto-included-workflow.exporter.js.map +1 -0
- package/dist/modules/n8n-packages/entities/workflow/missing-node-type-mode.d.ts +7 -0
- package/dist/modules/n8n-packages/entities/workflow/missing-node-type-mode.js +30 -0
- package/dist/modules/n8n-packages/entities/workflow/missing-node-type-mode.js.map +1 -0
- package/dist/modules/n8n-packages/entities/workflow/node-type-usage.d.ts +11 -0
- package/dist/modules/n8n-packages/entities/workflow/node-type-usage.js +27 -0
- package/dist/modules/n8n-packages/entities/workflow/node-type-usage.js.map +1 -0
- package/dist/modules/n8n-packages/entities/workflow/static-sub-workflow-id.d.ts +2 -0
- package/dist/modules/n8n-packages/entities/workflow/static-sub-workflow-id.js +23 -0
- package/dist/modules/n8n-packages/entities/workflow/static-sub-workflow-id.js.map +1 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-import.types.d.ts +2 -2
- package/dist/modules/n8n-packages/entities/workflow/workflow-importer.js +1 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow-importer.js.map +1 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow-publisher.d.ts +2 -2
- package/dist/modules/n8n-packages/entities/workflow/workflow-publisher.js +5 -4
- package/dist/modules/n8n-packages/entities/workflow/workflow-publisher.js.map +1 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow-publishing-policy.types.d.ts +1 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow-requirements.extractor.js +2 -2
- package/dist/modules/n8n-packages/entities/workflow/workflow-requirements.extractor.js.map +1 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow.exporter.js +3 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow.exporter.js.map +1 -1
- package/dist/modules/n8n-packages/io/unique-filename-allocator.d.ts +1 -0
- package/dist/modules/n8n-packages/io/unique-filename-allocator.js +9 -0
- package/dist/modules/n8n-packages/io/unique-filename-allocator.js.map +1 -1
- package/dist/modules/n8n-packages/n8n-packages.service.d.ts +8 -4
- package/dist/modules/n8n-packages/n8n-packages.service.js +81 -36
- package/dist/modules/n8n-packages/n8n-packages.service.js.map +1 -1
- package/dist/modules/n8n-packages/n8n-packages.types.d.ts +40 -3
- package/dist/modules/n8n-packages/n8n-packages.types.js +9 -1
- package/dist/modules/n8n-packages/n8n-packages.types.js.map +1 -1
- package/dist/modules/n8n-packages/spec/manifest.schema.d.ts +51 -0
- package/dist/modules/n8n-packages/spec/requirements.schema.d.ts +45 -0
- package/dist/modules/n8n-packages/spec/requirements.schema.js +10 -1
- package/dist/modules/n8n-packages/spec/requirements.schema.js.map +1 -1
- package/dist/modules/n8n-packages/spec/serialized/workflow.schema.js +1 -1
- package/dist/modules/n8n-packages/spec/serialized/workflow.schema.js.map +1 -1
- package/dist/modules/oauth-server/database/repositories/oauth-access-token.repository.d.ts +10 -2
- package/dist/modules/oauth-server/database/repositories/oauth-access-token.repository.js +5 -1
- package/dist/modules/oauth-server/database/repositories/oauth-access-token.repository.js.map +1 -1
- package/dist/modules/oauth-server/database/repositories/oauth-refresh-token.repository.d.ts +14 -2
- package/dist/modules/oauth-server/database/repositories/oauth-refresh-token.repository.js +16 -1
- package/dist/modules/oauth-server/database/repositories/oauth-refresh-token.repository.js.map +1 -1
- package/dist/modules/oauth-server/oauth-token.service.d.ts +3 -2
- package/dist/modules/oauth-server/oauth-token.service.js +13 -33
- package/dist/modules/oauth-server/oauth-token.service.js.map +1 -1
- package/dist/modules/oauth-server/oauth.controller.d.ts +3 -0
- package/dist/modules/oauth-server/oauth.controller.js +45 -1
- package/dist/modules/oauth-server/oauth.controller.js.map +1 -1
- package/dist/modules/oauth-server/oauth.helpers.d.ts +1 -0
- package/dist/modules/oauth-server/oauth.helpers.js +7 -0
- package/dist/modules/oauth-server/oauth.helpers.js.map +1 -1
- package/dist/modules/otel/otel-settings.controller.d.ts +2 -2
- package/dist/modules/otel/otel-settings.controller.js +1 -1
- package/dist/modules/otel/otel-settings.controller.js.map +1 -1
- package/dist/modules/redaction/redaction-context-hook.js +4 -2
- package/dist/modules/redaction/redaction-context-hook.js.map +1 -1
- package/dist/modules/source-control.ee/source-control-export.service.ee.js +3 -3
- package/dist/modules/source-control.ee/source-control-export.service.ee.js.map +1 -1
- package/dist/modules/source-control.ee/source-control-import.service.ee.d.ts +1 -0
- package/dist/modules/source-control.ee/source-control-import.service.ee.js +51 -22
- package/dist/modules/source-control.ee/source-control-import.service.ee.js.map +1 -1
- package/dist/modules/source-control.ee/source-control-scoped.service.js +1 -1
- package/dist/modules/source-control.ee/source-control-scoped.service.js.map +1 -1
- package/dist/modules/source-control.ee/types/exportable-credential.d.ts +2 -0
- package/dist/modules/workflow-index/workflow-dependency-query.service.js +1 -1
- package/dist/modules/workflow-index/workflow-dependency-query.service.js.map +1 -1
- package/dist/modules/workflow-reviews.ee/workflow-review-request.service.d.ts +44 -0
- package/dist/modules/workflow-reviews.ee/workflow-review-request.service.js +373 -0
- package/dist/modules/workflow-reviews.ee/workflow-review-request.service.js.map +1 -0
- package/dist/modules/workflow-reviews.ee/workflow-review-requests.controller.d.ts +14 -0
- package/dist/modules/workflow-reviews.ee/workflow-review-requests.controller.js +97 -0
- package/dist/modules/workflow-reviews.ee/workflow-review-requests.controller.js.map +1 -0
- package/dist/modules/workflow-reviews.ee/workflow-reviews.module.d.ts +4 -0
- package/dist/modules/workflow-reviews.ee/workflow-reviews.module.js +24 -0
- package/dist/modules/workflow-reviews.ee/workflow-reviews.module.js.map +1 -0
- package/dist/node-execution/ephemeral-node-executor.d.ts +5 -1
- package/dist/node-execution/ephemeral-node-executor.js +7 -4
- package/dist/node-execution/ephemeral-node-executor.js.map +1 -1
- package/dist/node-execution/index.d.ts +1 -0
- package/dist/node-execution/index.js +4 -1
- package/dist/node-execution/index.js.map +1 -1
- package/dist/node-execution/node-tool-operation-support.d.ts +2 -0
- package/dist/node-execution/node-tool-operation-support.js +12 -0
- package/dist/node-execution/node-tool-operation-support.js.map +1 -0
- package/dist/node-types.d.ts +5 -1
- package/dist/node-types.js +53 -20
- package/dist/node-types.js.map +1 -1
- package/dist/oauth/oauth.service.d.ts +5 -1
- package/dist/oauth/oauth.service.js +57 -28
- package/dist/oauth/oauth.service.js.map +1 -1
- package/dist/permissions.ee/check-access.js +18 -0
- package/dist/permissions.ee/check-access.js.map +1 -1
- package/dist/posthog/index.js +6 -0
- package/dist/posthog/index.js.map +1 -1
- package/dist/public-api/index.d.ts +1 -1
- package/dist/public-api/index.js +40 -11
- package/dist/public-api/index.js.map +1 -1
- package/dist/public-api/types.d.ts +7 -1
- package/dist/public-api/v1/controllers/index.d.ts +2 -0
- package/dist/public-api/v1/controllers/index.js +5 -0
- package/dist/public-api/v1/controllers/index.js.map +1 -0
- package/dist/public-api/v1/controllers/workflows.public.controller.d.ts +9 -0
- package/dist/public-api/v1/controllers/workflows.public.controller.js +81 -0
- package/dist/public-api/v1/controllers/workflows.public.controller.js.map +1 -0
- package/dist/public-api/v1/handlers/credentials/credentials.handler.js +1 -0
- package/dist/public-api/v1/handlers/credentials/credentials.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/credentials/credentials.service.d.ts +1 -0
- package/dist/public-api/v1/handlers/credentials/credentials.service.js +9 -2
- package/dist/public-api/v1/handlers/credentials/credentials.service.js.map +1 -1
- package/dist/public-api/v1/handlers/discover/discover.service.d.ts +1 -0
- package/dist/public-api/v1/handlers/discover/discover.service.js +39 -34
- package/dist/public-api/v1/handlers/discover/discover.service.js.map +1 -1
- package/dist/public-api/v1/handlers/executions/executions.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/n8n-packages/n8n-packages.handler.js +8 -3
- package/dist/public-api/v1/handlers/n8n-packages/n8n-packages.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/otel/otel.handler.d.ts +9 -0
- package/dist/public-api/v1/handlers/otel/otel.handler.js +57 -0
- package/dist/public-api/v1/handlers/otel/otel.handler.js.map +1 -0
- package/dist/public-api/v1/handlers/otel/otel.mapper.d.ts +3 -0
- package/dist/public-api/v1/handlers/otel/otel.mapper.js +18 -0
- package/dist/public-api/v1/handlers/otel/otel.mapper.js.map +1 -0
- package/dist/public-api/v1/handlers/tags/tags.handler.d.ts +0 -1
- package/dist/public-api/v1/handlers/tags/tags.handler.js +0 -8
- package/dist/public-api/v1/handlers/tags/tags.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/users/users.service.ee.js.map +1 -1
- package/dist/public-api/v1/handlers/workflows/workflows.handler.d.ts +2 -0
- package/dist/public-api/v1/handlers/workflows/workflows.handler.js +47 -34
- package/dist/public-api/v1/handlers/workflows/workflows.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/workflows/workflows.service.js +6 -0
- package/dist/public-api/v1/handlers/workflows/workflows.service.js.map +1 -1
- package/dist/public-api/v1/openapi.yml +491 -19
- package/dist/public-api/v1/shared/middlewares/global.middleware.d.ts +4 -0
- package/dist/public-api/v1/shared/middlewares/global.middleware.js +9 -1
- package/dist/public-api/v1/shared/middlewares/global.middleware.js.map +1 -1
- package/dist/public-api/v1/shared/public-api-scope-lookup.d.ts +5 -0
- package/dist/public-api/v1/shared/public-api-scope-lookup.js +60 -0
- package/dist/public-api/v1/shared/public-api-scope-lookup.js.map +1 -0
- package/dist/scaling/constants.d.ts +2 -2
- package/dist/scaling/pubsub/pubsub.event-map.d.ts +1 -0
- package/dist/scaling/pubsub/pubsub.types.d.ts +2 -1
- package/dist/scheduling/durable-job-provisioner.d.ts +1 -0
- package/dist/scheduling/durable-job-provisioner.js +2 -0
- package/dist/scheduling/durable-job-provisioner.js.map +1 -1
- package/dist/scheduling/durable-scheduler.d.ts +2 -1
- package/dist/scheduling/durable-scheduler.js +4 -2
- package/dist/scheduling/durable-scheduler.js.map +1 -1
- package/dist/scheduling/poll-trigger-node/poll-job-provider.d.ts +11 -0
- package/dist/scheduling/poll-trigger-node/poll-job-provider.js +41 -0
- package/dist/scheduling/poll-trigger-node/poll-job-provider.js.map +1 -0
- package/dist/scheduling/poll-trigger-node/poll-trigger-job-registrar.d.ts +19 -0
- package/dist/scheduling/poll-trigger-node/poll-trigger-job-registrar.js +111 -0
- package/dist/scheduling/poll-trigger-node/poll-trigger-job-registrar.js.map +1 -0
- package/dist/scheduling/poll-trigger-node/poll-trigger-task-handler.d.ts +16 -0
- package/dist/scheduling/poll-trigger-node/poll-trigger-task-handler.js +100 -0
- package/dist/scheduling/poll-trigger-node/poll-trigger-task-handler.js.map +1 -0
- package/dist/scheduling/poll-trigger-node/poll-trigger-task.d.ts +6 -0
- package/dist/scheduling/poll-trigger-node/poll-trigger-task.js +8 -0
- package/dist/scheduling/poll-trigger-node/poll-trigger-task.js.map +1 -0
- package/dist/scheduling/schedule-trigger-node/schedule-trigger-job-registrar.d.ts +1 -0
- package/dist/scheduling/schedule-trigger-node/schedule-trigger-job-registrar.js +7 -1
- package/dist/scheduling/schedule-trigger-node/schedule-trigger-job-registrar.js.map +1 -1
- package/dist/security-audit/risk-reporters/credentials-risk-reporter.d.ts +4 -6
- package/dist/security-audit/risk-reporters/credentials-risk-reporter.js +17 -23
- package/dist/security-audit/risk-reporters/credentials-risk-reporter.js.map +1 -1
- package/dist/security-audit/security-audit.repository.js.map +1 -1
- package/dist/services/export.service.js.map +1 -1
- package/dist/services/folder-finder.service.d.ts +1 -0
- package/dist/services/folder-finder.service.js +30 -0
- package/dist/services/folder-finder.service.js.map +1 -1
- package/dist/services/folder.service.js.map +1 -1
- package/dist/services/free-ai-credits.service.d.ts +32 -0
- package/dist/services/free-ai-credits.service.js +55 -0
- package/dist/services/free-ai-credits.service.js.map +1 -0
- package/dist/services/frontend.service.js +2 -0
- package/dist/services/frontend.service.js.map +1 -1
- package/dist/services/hooks.service.js.map +1 -1
- package/dist/services/import.service.js +3 -1
- package/dist/services/import.service.js.map +1 -1
- package/dist/services/ownership-transfer/ownership-transfer-handler.registry.js.map +1 -1
- package/dist/services/ownership-transfer/ownership-transfer.manifest.json +5 -0
- package/dist/services/project.service.ee.d.ts +1 -0
- package/dist/services/project.service.ee.js +6 -1
- package/dist/services/project.service.ee.js.map +1 -1
- package/dist/services/public-api-key.service.js.map +1 -1
- package/dist/services/role.service.d.ts +2 -1
- package/dist/services/role.service.js +21 -3
- package/dist/services/role.service.js.map +1 -1
- package/dist/services/tag.service.js.map +1 -1
- package/dist/telemetry/index.d.ts +3 -2
- package/dist/telemetry/index.js +7 -1
- package/dist/telemetry/index.js.map +1 -1
- package/dist/utils.d.ts +1 -0
- package/dist/utils.js +4 -0
- package/dist/utils.js.map +1 -1
- package/dist/webhooks/live-webhooks.js +1 -1
- package/dist/webhooks/live-webhooks.js.map +1 -1
- package/dist/webhooks/waiting-forms.js +2 -7
- package/dist/webhooks/waiting-forms.js.map +1 -1
- package/dist/webhooks/waiting-webhooks.d.ts +7 -2
- package/dist/webhooks/waiting-webhooks.js +32 -2
- package/dist/webhooks/waiting-webhooks.js.map +1 -1
- package/dist/workflow-helpers.js +8 -62
- package/dist/workflow-helpers.js.map +1 -1
- package/dist/workflow-hook-context.service.d.ts +4 -1
- package/dist/workflow-hook-context.service.js +14 -2
- package/dist/workflow-hook-context.service.js.map +1 -1
- package/dist/workflows/publication/workflow-publication-reconciler.service.d.ts +10 -3
- package/dist/workflows/publication/workflow-publication-reconciler.service.js +49 -13
- package/dist/workflows/publication/workflow-publication-reconciler.service.js.map +1 -1
- package/dist/workflows/triggers/non-webhook-trigger-registrar.d.ts +3 -1
- package/dist/workflows/triggers/non-webhook-trigger-registrar.js +5 -2
- package/dist/workflows/triggers/non-webhook-trigger-registrar.js.map +1 -1
- package/dist/workflows/triggers/trigger-execution-context.factory.d.ts +13 -4
- package/dist/workflows/triggers/trigger-execution-context.factory.js +62 -4
- package/dist/workflows/triggers/trigger-execution-context.factory.js.map +1 -1
- package/dist/workflows/workflow-creation.service.d.ts +3 -1
- package/dist/workflows/workflow-creation.service.js +14 -4
- package/dist/workflows/workflow-creation.service.js.map +1 -1
- package/dist/workflows/workflow-finder.service.js +1 -0
- package/dist/workflows/workflow-finder.service.js.map +1 -1
- package/dist/workflows/workflow-history/workflow-history.service.js.map +1 -1
- package/dist/workflows/workflow-sharing.service.js.map +1 -1
- package/dist/workflows/workflow-validation.service.js +1 -1
- package/dist/workflows/workflow-validation.service.js.map +1 -1
- package/dist/workflows/workflow.service.d.ts +7 -2
- package/dist/workflows/workflow.service.ee.js +1 -0
- package/dist/workflows/workflow.service.ee.js.map +1 -1
- package/dist/workflows/workflow.service.js +70 -15
- package/dist/workflows/workflow.service.js.map +1 -1
- package/dist/workflows/workflows.controller.js.map +1 -1
- package/package.json +34 -33
- package/dist/blob-storage/azure-byte-store.ee.d.ts +0 -10
- package/dist/blob-storage/azure-byte-store.ee.js +0 -42
- package/dist/blob-storage/azure-byte-store.ee.js.map +0 -1
- package/dist/blob-storage/fs-byte-store.d.ts +0 -14
- package/dist/blob-storage/fs-byte-store.js +0 -96
- package/dist/blob-storage/fs-byte-store.js.map +0 -1
- package/dist/blob-storage/json-store.d.ts +0 -18
- package/dist/blob-storage/json-store.js +0 -128
- package/dist/blob-storage/json-store.js.map +0 -1
- package/dist/blob-storage/s3-byte-store.ee.d.ts +0 -10
- package/dist/blob-storage/s3-byte-store.ee.js +0 -37
- package/dist/blob-storage/s3-byte-store.ee.js.map +0 -1
- package/dist/blob-storage/skipped-entry-deletion.error.d.ts +0 -5
- package/dist/blob-storage/skipped-entry-deletion.error.js +0 -13
- package/dist/blob-storage/skipped-entry-deletion.error.js.map +0 -1
- package/dist/blob-storage/types.d.ts +0 -23
- package/dist/blob-storage/types.js.map +0 -1
- package/dist/modules/agents/builder/interactive/llm-provider-defaults.js.map +0 -1
- package/dist/modules/agents/builder/skills/integrations.skill.d.ts +0 -2
- package/dist/modules/agents/builder/skills/integrations.skill.js +0 -128
- package/dist/modules/agents/builder/skills/integrations.skill.js.map +0 -1
- package/dist/modules/agents/builder/skills/mcp.skill.d.ts +0 -2
- package/dist/modules/agents/builder/skills/mcp.skill.js +0 -172
- package/dist/modules/agents/builder/skills/mcp.skill.js.map +0 -1
- package/dist/modules/agents/builder/skills/node-tools.skill.d.ts +0 -2
- package/dist/modules/agents/builder/skills/node-tools.skill.js +0 -90
- package/dist/modules/agents/builder/skills/node-tools.skill.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const INITIAL_BUILD_SECTION = "## Initial Build\n\n\"Initial build\" means the first build pass on a fresh agent. Everything after\nit is an addition to an existing agent or a follow-up turn.\n\nDuring an initial build:\n\n- NEVER suspend mid-build on an interactive tool (`ask_questions`,\n `ask_credential`, `ask_embedding_credential`, `configure_channel`). Build\n everything as a draft first; the only allowed suspends are the single\n trailing `finish_setup` call and, when it reports a blocked channel, the\n immediate `configure_channel` follow-up described below.\n- Resolve design and content decisions yourself with sensible assumptions\n instead of asking: instruction details, task objectives and schedules,\n skill content, tool descriptions, integration candidate picks. Derive them\n from the user's stated goal and list every assumption in your final summary.\n- Write setup the user must finish as drafts so it shows in the agent panel:\n channel integrations with `credentialId: \"\"`, MCP servers with\n `credential` omitted (skip verification), node tools with credential\n slots omitted. Leave Episodic Memory disabled while its credential is\n missing.\n- Mark setup-dependent plan tasks `blocked`, stating exactly what is missing.\n- When only blocked tasks remain, call `finish_setup` ONCE with everything\n pending: the model choice and open decisions as `questions`, one\n `credentialRequests` entry per credential slot, and one `channels` entry\n per drafted channel integration \u2014 it connects or skips each channel itself,\n always as the last cards in the flow. Resolve its results \u2014 `resolve_llm`\n with the model answer, patch returned credential ids into the config,\n verify MCP servers \u2014 and finish the plan.\n- If `finish_setup` reports a channel as `'blocked'` (its\n `publishBlockedIssues` field lists why \u2014 the agent could not be published\n yet, so the card never showed), first apply everything `finish_setup`\n already collected: patch returned credential ids into the config and\n resolve the model with `resolve_llm`. If that resolves every reported\n issue (nothing was skipped), call `configure_channel` once per blocked\n channel as an immediate follow-up. If anything remains skipped or\n unresolved, do not call `configure_channel`; leave it for the closing\n checklist instead.\n- After `finish_setup` and any follow-up `configure_channel` calls, end\n your reply with a short setup checklist for whatever remains \u2014 any\n skipped, dismissed, or still-blocked items only \u2014 one line per item naming\n where to complete it in the agent panel (channels: the channel chip opens\n the setup modal), plus the offer to do it here in chat.\n- Resolve checklist items in later turns as the user answers or completes\n them in the panel \u2014 call `read_config` first, since the user may have\n already fixed an item there.\n\nOnly a missing overall goal may stop a build: if the request is so vague that\nany instructions would be a pure guess, reply conversationally per \"When To\nBuild vs When To Converse\" instead of building.";
|
|
2
|
+
export declare const INITIAL_BUILD_NOTE = "During an initial build, never suspend mid-build: defer pending setup to the end of the build, per the Initial Build rules in your system prompt.";
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.INITIAL_BUILD_NOTE = exports.INITIAL_BUILD_SECTION = void 0;
|
|
4
|
+
exports.INITIAL_BUILD_SECTION = `\
|
|
5
|
+
## Initial Build
|
|
6
|
+
|
|
7
|
+
"Initial build" means the first build pass on a fresh agent. Everything after
|
|
8
|
+
it is an addition to an existing agent or a follow-up turn.
|
|
9
|
+
|
|
10
|
+
During an initial build:
|
|
11
|
+
|
|
12
|
+
- NEVER suspend mid-build on an interactive tool (\`ask_questions\`,
|
|
13
|
+
\`ask_credential\`, \`ask_embedding_credential\`, \`configure_channel\`). Build
|
|
14
|
+
everything as a draft first; the only allowed suspends are the single
|
|
15
|
+
trailing \`finish_setup\` call and, when it reports a blocked channel, the
|
|
16
|
+
immediate \`configure_channel\` follow-up described below.
|
|
17
|
+
- Resolve design and content decisions yourself with sensible assumptions
|
|
18
|
+
instead of asking: instruction details, task objectives and schedules,
|
|
19
|
+
skill content, tool descriptions, integration candidate picks. Derive them
|
|
20
|
+
from the user's stated goal and list every assumption in your final summary.
|
|
21
|
+
- Write setup the user must finish as drafts so it shows in the agent panel:
|
|
22
|
+
channel integrations with \`credentialId: ""\`, MCP servers with
|
|
23
|
+
\`credential\` omitted (skip verification), node tools with credential
|
|
24
|
+
slots omitted. Leave Episodic Memory disabled while its credential is
|
|
25
|
+
missing.
|
|
26
|
+
- Mark setup-dependent plan tasks \`blocked\`, stating exactly what is missing.
|
|
27
|
+
- When only blocked tasks remain, call \`finish_setup\` ONCE with everything
|
|
28
|
+
pending: the model choice and open decisions as \`questions\`, one
|
|
29
|
+
\`credentialRequests\` entry per credential slot, and one \`channels\` entry
|
|
30
|
+
per drafted channel integration — it connects or skips each channel itself,
|
|
31
|
+
always as the last cards in the flow. Resolve its results — \`resolve_llm\`
|
|
32
|
+
with the model answer, patch returned credential ids into the config,
|
|
33
|
+
verify MCP servers — and finish the plan.
|
|
34
|
+
- If \`finish_setup\` reports a channel as \`'blocked'\` (its
|
|
35
|
+
\`publishBlockedIssues\` field lists why — the agent could not be published
|
|
36
|
+
yet, so the card never showed), first apply everything \`finish_setup\`
|
|
37
|
+
already collected: patch returned credential ids into the config and
|
|
38
|
+
resolve the model with \`resolve_llm\`. If that resolves every reported
|
|
39
|
+
issue (nothing was skipped), call \`configure_channel\` once per blocked
|
|
40
|
+
channel as an immediate follow-up. If anything remains skipped or
|
|
41
|
+
unresolved, do not call \`configure_channel\`; leave it for the closing
|
|
42
|
+
checklist instead.
|
|
43
|
+
- After \`finish_setup\` and any follow-up \`configure_channel\` calls, end
|
|
44
|
+
your reply with a short setup checklist for whatever remains — any
|
|
45
|
+
skipped, dismissed, or still-blocked items only — one line per item naming
|
|
46
|
+
where to complete it in the agent panel (channels: the channel chip opens
|
|
47
|
+
the setup modal), plus the offer to do it here in chat.
|
|
48
|
+
- Resolve checklist items in later turns as the user answers or completes
|
|
49
|
+
them in the panel — call \`read_config\` first, since the user may have
|
|
50
|
+
already fixed an item there.
|
|
51
|
+
|
|
52
|
+
Only a missing overall goal may stop a build: if the request is so vague that
|
|
53
|
+
any instructions would be a pure guess, reply conversationally per "When To
|
|
54
|
+
Build vs When To Converse" instead of building.`;
|
|
55
|
+
exports.INITIAL_BUILD_NOTE = 'During an initial build, never suspend mid-build: defer pending setup to the end of the build, per the Initial Build rules in your system prompt.';
|
|
56
|
+
//# sourceMappingURL=initial-build.prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initial-build.prompt.js","sourceRoot":"","sources":["../../../../../src/modules/agents/builder/prompts/initial-build.prompt.ts"],"names":[],"mappings":";;;AAKa,QAAA,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gDAkDW,CAAC;AAUpC,QAAA,kBAAkB,GAC9B,mJAAmJ,CAAC"}
|
|
@@ -14,14 +14,17 @@ Use this to resolve the target agent's main \`model\` and \`credential\`.
|
|
|
14
14
|
|
|
15
15
|
### Workflow
|
|
16
16
|
|
|
17
|
-
1.
|
|
18
|
-
2. If \`resolve_llm\` succeeds, persist \`model = "{provider}/{model}"\` and \`credential = credentialId\`.
|
|
17
|
+
1. For fresh agents, call \`resolve_llm\` once, silently, before the first config write — with provider/model when the user named them, otherwise with no arguments.
|
|
18
|
+
2. If \`resolve_llm\` succeeds, persist \`model = "{provider}/{model}"\` and \`credential = credentialId\`. If the result has \`claimedFreeOpenAiCredits: true\`, tell the user you set them up with free OpenAI credits. If it has \`autoPicked: true\`, tell the user which provider and model you picked and that they can ask to change it — do not ask for confirmation and do not raise a trailing model question.
|
|
19
19
|
3. If the user asks to pick, change, confirm, or configure a model or main credential, ask via \`ask_questions\`; do not ask in prose.
|
|
20
|
-
4.
|
|
20
|
+
4. During an initial build, if \`resolve_llm\` reports missing or ambiguous credentials/provider, do not ask: mark the model task \`blocked\`, keep building with \`model: ""\` and no \`credential\`, and include the model choice as a question in the trailing \`finish_setup\` call — for ambiguity between multiple credentials of one provider, use the credential names from the resolve_llm result as the question's options — when it resolves, call \`resolve_llm\` with the answer (pass \`credentialId\` when the user picked a specific credential) and patch \`/model\` and \`/credential\` — after \`read_config\`, since the user may have already set the model in the panel. For a model change on an existing agent, ask immediately instead, and never write \`model: ""\` over an existing model — keep the current model and credential until the new one is resolved.
|
|
21
21
|
5. If \`resolve_llm\` reports \`unknown_model\`, retry with a plausible returned model value or ask via \`ask_questions\`.
|
|
22
|
+
6. If the model is still unresolved when the user asks to run or publish the agent, leave the draft with \`model: ""\`, do not guess a model, and tell the user the agent needs a model and credential first — in the panel or here in chat. If they dismiss a model-change question on an existing agent, keep the current model and credential unchanged.
|
|
22
23
|
|
|
23
24
|
### Rules
|
|
24
25
|
|
|
26
|
+
- Do not enable \`config.webSearch\` before the model is resolved; set it in
|
|
27
|
+
the same mutation that writes the resolved model.
|
|
25
28
|
- Only OpenAI and Anthropic models support native web search. Use native web
|
|
26
29
|
search by default for those providers only, and only for
|
|
27
30
|
fresh agents or agents with no existing \`config.webSearch\`. Persist
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-selection.prompt.js","sourceRoot":"","sources":["../../../../../src/modules/agents/builder/prompts/llm-selection.prompt.ts"],"names":[],"mappings":";;;AAAA,+BAAsC,2BAA0C;IAC/E,MAAM,sBAAsB,GAAG,2BAA2B;QACzD,CAAC,CAAC,OAAO,2BAA2B,EAAE;QACtC,CAAC,CAAC,8MAA8M,CAAC;IAElN,OAAO
|
|
1
|
+
{"version":3,"file":"llm-selection.prompt.js","sourceRoot":"","sources":["../../../../../src/modules/agents/builder/prompts/llm-selection.prompt.ts"],"names":[],"mappings":";;;AAAA,+BAAsC,2BAA0C;IAC/E,MAAM,sBAAsB,GAAG,2BAA2B;QACzD,CAAC,CAAC,OAAO,2BAA2B,EAAE;QACtC,CAAC,CAAC,8MAA8M,CAAC;IAElN,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iJAoDyI,sBAAsB,EAAE,CAAC;AAC1K,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const MEMORY_PROMPT = "## Memory Guidance\n\n### Purpose\n\nUse this to configure the target agent's memory behavior.\n\n### Workflow\n\nFresh agents must include this default memory config unless the user explicitly asks to disable or change memory:\n```json\n{\n \"enabled\": true,\n \"storage\": \"n8n\",\n \"observationalMemory\": {\n \"enabled\": true\n }\n}\n```\n\nThis is the configurable agent's session memory. The runtime-managed\n`observationalMemory` settings tune that memory behavior; they are not a\nseparate user-facing memory product.\n\nLoad `agent-builder-memory` for Episodic/long-term/cross-session memory,\nobserver/reflector/extractor worker models, threshold/budget tuning, or\ndisabling memory. Do not load it for ordinary fresh-agent creation.\n\n### Rules\n\n- When creating a new agent, always write the exact default `memory` object above.\n- Set `storage` to \"n8n\".\n- Set `observationalMemory.enabled` to `true` for new agents unless the user explicitly asks to disable observational memory.\n- Preserve existing memory tuning unless the user asked to change it.\n\n### Verify\n\n- Fresh
|
|
1
|
+
export declare const MEMORY_PROMPT = "## Memory Guidance\n\n### Purpose\n\nUse this to configure the target agent's memory behavior.\n\n### Workflow\n\nFresh agents must include this default memory config unless the user explicitly asks to disable or change memory:\n```json\n{\n \"enabled\": true,\n \"storage\": \"n8n\",\n \"observationalMemory\": {\n \"enabled\": true\n }\n}\n```\n\nThis is the configurable agent's session memory. The runtime-managed\n`observationalMemory` settings tune that memory behavior; they are not a\nseparate user-facing memory product.\n\nLoad `agent-builder-memory` for Episodic/long-term/cross-session memory,\nobserver/reflector/extractor worker models, threshold/budget tuning, or\ndisabling memory. Do not load it for ordinary fresh-agent creation.\n\n### Rules\n\n- When creating a new agent, always write the exact default `memory` object above.\n- Set `storage` to \"n8n\".\n- Set `observationalMemory.enabled` to `true` for new agents unless the user explicitly asks to disable observational memory.\n- Preserve existing memory tuning unless the user asked to change it.\n\n### Verify\n\n- Fresh agents have enabled n8n memory unless explicitly disabled.\n- Fresh agents set `observationalMemory.enabled` to `true` unless explicitly disabled.";
|
|
@@ -38,6 +38,6 @@ disabling memory. Do not load it for ordinary fresh-agent creation.
|
|
|
38
38
|
|
|
39
39
|
### Verify
|
|
40
40
|
|
|
41
|
-
- Fresh
|
|
42
|
-
- Fresh
|
|
41
|
+
- Fresh agents have enabled n8n memory unless explicitly disabled.
|
|
42
|
+
- Fresh agents set \`observationalMemory.enabled\` to \`true\` unless explicitly disabled.`;
|
|
43
43
|
//# sourceMappingURL=memory.prompt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.prompt.js","sourceRoot":"","sources":["../../../../../src/modules/agents/builder/prompts/memory.prompt.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"memory.prompt.js","sourceRoot":"","sources":["../../../../../src/modules/agents/builder/prompts/memory.prompt.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2FAsC8D,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BUILDER_PLANNER_TODOS_SYSTEM_INSTRUCTION = exports.BUILDER_PLANNER_TODOS_DESCRIPTION = void 0;
|
|
4
|
+
exports.BUILDER_PLANNER_TODOS_DESCRIPTION = 'Create or update a structured task list for the current build. Use it to decompose the work, ' +
|
|
5
|
+
'track progress, and record which tasks are blocked on user input. Use it for every build or ' +
|
|
6
|
+
'change request. This tool only updates the task list; it does not perform work or ask the user.';
|
|
7
|
+
exports.BUILDER_PLANNER_TODOS_SYSTEM_INSTRUCTION = [
|
|
8
|
+
'write_todos maintains your plan for the current build. It never asks the user or performs work itself.',
|
|
9
|
+
'WHEN TO USE write_todos:',
|
|
10
|
+
'- Every request that builds or changes the agent, before other tool calls.',
|
|
11
|
+
'- You need to track progress or record tasks blocked on user input.',
|
|
12
|
+
'WHEN NOT TO USE write_todos:',
|
|
13
|
+
'- Purely conversational replies with no build work.',
|
|
14
|
+
'HOW TO USE write_todos:',
|
|
15
|
+
'- Write concrete, self-contained tasks; mark the first active task in_progress immediately.',
|
|
16
|
+
'- Mark a task blocked when it cannot proceed without user input, and state exactly what input is missing in the task content.',
|
|
17
|
+
'- Marking a task blocked IS the action for now. Do not ask the user about it while any non-blocked task remains; continue with unblocked tasks.',
|
|
18
|
+
'- When only blocked tasks remain: during an initial build, follow the Initial Build rules (call finish_setup); otherwise end your turn with a summary of what is missing, and unblock and finish the tasks in later turns as the user provides input.',
|
|
19
|
+
'- Update task status as soon as work completes; do not batch completions at the end.',
|
|
20
|
+
'- Do not call write_todos multiple times in parallel; send one full list update at a time.',
|
|
21
|
+
].join('\n');
|
|
22
|
+
//# sourceMappingURL=planner-todos.prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planner-todos.prompt.js","sourceRoot":"","sources":["../../../../../src/modules/agents/builder/prompts/planner-todos.prompt.ts"],"names":[],"mappings":";;;AAMa,QAAA,iCAAiC,GAC7C,+FAA+F;IAC/F,8FAA8F;IAC9F,iGAAiG,CAAC;AAEtF,QAAA,wCAAwC,GAAG;IACvD,wGAAwG;IACxG,0BAA0B;IAC1B,4EAA4E;IAC5E,qEAAqE;IACrE,8BAA8B;IAC9B,qDAAqD;IACrD,yBAAyB;IACzB,6FAA6F;IAC7F,+HAA+H;IAC/H,iJAAiJ;IACjJ,uPAAuP;IACvP,sFAAsF;IACtF,4FAA4F;CAC5F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const TOOLS_PROMPT = "## Tool Guidance\n\n### Purpose\n\nUse this to give the target agent callable capabilities through MCP servers,\nworkflows, nodes, custom code tools, or provider tools.\n\n### Workflow\n\nUse this guidance before calling `resolve_integration`, `search_nodes`,\n`search_mcp_servers`, `get_node_types`, `build_custom_tool`, or adding,\nchanging, or removing entries in `tools[]` / `mcpServers` / `providerTools`.\n\nFor an external product,
|
|
1
|
+
export declare const TOOLS_PROMPT = "## Tool Guidance\n\n### Purpose\n\nUse this to give the target agent callable capabilities through MCP servers,\nworkflows, nodes, custom code tools, or provider tools.\n\n### Workflow\n\nUse this guidance before calling `resolve_integration`, `search_nodes`,\n`search_mcp_servers`, `get_node_types`, `build_custom_tool`, or adding,\nchanging, or removing entries in `tools[]` / `mcpServers` / `providerTools`.\n\nFor an external product, load `agent-builder-external-services` once and\nfollow it. It covers the chat-integration-versus-callable-tool decision, chat\nintegration setup, MCP servers, and node tools.\n\n- Chat/trigger integration: call `list_integration_types`, then\n `configure_channel` with a returned type. Do not call `resolve_integration`\n for chat/trigger integrations.\n- Callable external service: the conversation or trigger happens elsewhere and\n the agent only operates on the product. For each requested non-chat callable\n service, call `resolve_integration` separately, using `queries` as\n alternative search terms for that one service. Do not infer MCP availability\n from memory.\n - `kind: \"mcp\"`: follow the skill's MCP Servers section \u2014 credential,\n verification, and config workflow.\n - `kind: \"node\"`: follow the skill's Node Tools section, use the returned\n node results, and continue with `get_node_types`.\n\nUse `search_nodes` directly only when the user explicitly asks for an n8n node,\nwhen refining node results, or when a verified MCP server lacks the requested\ncapability. Use `search_mcp_servers` directly only when refining MCP results or\nwhen the user explicitly asks to browse the MCP registry.\n\nPreference order for non-chat callable services:\n1. MCP servers selected by `resolve_integration`\n2. Node tools returned by `resolve_integration`\n3. Workflow tools (`list_workflows`)\n4. Custom tools (`build_custom_tool`) \u2014 last resort\n\nCustom tools are for pure computation, validation, formatting, or planning logic;\nthey cannot perform live network, filesystem, process, timer, or host I/O.\n\n#### Workflow Tools\n\n- Call `list_workflows`; reference supported workflows by name with `{ \"type\": \"workflow\", \"workflow\": \"<name>\" }`. Always use the workflow name, never its id.\n\n#### Node Tools\n\nLoad `agent-builder-external-services` when the user explicitly requests an\nn8n node, and follow its Node Tools section before adding, changing, or\nremoving node-backed tools, `nodeParameters`, `$fromAI` usage, or n8n\nexpressions.\n\n#### MCP Servers\n\nLoad `agent-builder-external-services` when the user explicitly requests a\ncustom MCP server, and follow its MCP Servers section.\n\n#### Custom Tools\n\nCustom tools are last resort and only for pure computation. Load\n`agent-builder-custom-tools` before calling `build_custom_tool`.\n\n#### Provider Tools\n\n- Match provider tools to the configured model provider.\n- Anthropic: `providerTools[\"anthropic.web_search\"]`.\n- OpenAI: `providerTools[\"openai.web_search\"]` or `providerTools[\"openai.image_generation\"]`, only for compatible OpenAI models.\n\n### Gotchas\n\n- Live crawling, fetching, and API integrations need MCP, workflow, or node tools, not custom tools.\n- Do not invent MCP servers, node type names, workflow names, credential ids, or provider tool keys.\n\n### Verify\n\n- Chat/trigger integrations bypassed `resolve_integration` and were set up\n through `configure_channel`.\n- Each non-chat callable service was resolved separately through\n `resolve_integration` unless the user explicitly requested an n8n node or\n custom MCP server.\n- Workflow tools reference discovered workflow names.\n- Provider tool keys match the configured model provider and the valid key list.";
|
|
@@ -15,9 +15,9 @@ Use this guidance before calling \`resolve_integration\`, \`search_nodes\`,
|
|
|
15
15
|
\`search_mcp_servers\`, \`get_node_types\`, \`build_custom_tool\`, or adding,
|
|
16
16
|
changing, or removing entries in \`tools[]\` / \`mcpServers\` / \`providerTools\`.
|
|
17
17
|
|
|
18
|
-
For an external product,
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
For an external product, load \`agent-builder-external-services\` once and
|
|
19
|
+
follow it. It covers the chat-integration-versus-callable-tool decision, chat
|
|
20
|
+
integration setup, MCP servers, and node tools.
|
|
21
21
|
|
|
22
22
|
- Chat/trigger integration: call \`list_integration_types\`, then
|
|
23
23
|
\`configure_channel\` with a returned type. Do not call \`resolve_integration\`
|
|
@@ -27,10 +27,10 @@ mean that the product is where people invoke or converse with the agent.
|
|
|
27
27
|
service, call \`resolve_integration\` separately, using \`queries\` as
|
|
28
28
|
alternative search terms for that one service. Do not infer MCP availability
|
|
29
29
|
from memory.
|
|
30
|
-
- \`kind: "mcp"\`:
|
|
30
|
+
- \`kind: "mcp"\`: follow the skill's MCP Servers section — credential,
|
|
31
31
|
verification, and config workflow.
|
|
32
|
-
- \`kind: "node"\`:
|
|
33
|
-
results, and continue with \`get_node_types\`.
|
|
32
|
+
- \`kind: "node"\`: follow the skill's Node Tools section, use the returned
|
|
33
|
+
node results, and continue with \`get_node_types\`.
|
|
34
34
|
|
|
35
35
|
Use \`search_nodes\` directly only when the user explicitly asks for an n8n node,
|
|
36
36
|
when refining node results, or when a verified MCP server lacks the requested
|
|
@@ -52,15 +52,15 @@ they cannot perform live network, filesystem, process, timer, or host I/O.
|
|
|
52
52
|
|
|
53
53
|
#### Node Tools
|
|
54
54
|
|
|
55
|
-
Load \`agent-builder-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
Load \`agent-builder-external-services\` when the user explicitly requests an
|
|
56
|
+
n8n node, and follow its Node Tools section before adding, changing, or
|
|
57
|
+
removing node-backed tools, \`nodeParameters\`, \`$fromAI\` usage, or n8n
|
|
58
|
+
expressions.
|
|
59
59
|
|
|
60
60
|
#### MCP Servers
|
|
61
61
|
|
|
62
|
-
Load \`agent-builder-
|
|
63
|
-
|
|
62
|
+
Load \`agent-builder-external-services\` when the user explicitly requests a
|
|
63
|
+
custom MCP server, and follow its MCP Servers section.
|
|
64
64
|
|
|
65
65
|
#### Custom Tools
|
|
66
66
|
|
|
@@ -12,7 +12,7 @@ const resolveIntegrationInputSchema = zod_1.z.object({
|
|
|
12
12
|
});
|
|
13
13
|
function buildResolveIntegrationTool(deps) {
|
|
14
14
|
return new tool_1.Tool(builder_tool_names_1.BUILDER_TOOLS.RESOLVE_INTEGRATION)
|
|
15
|
-
.description('Resolve external services to MCP servers or n8n node tools. Searches the MCP registry first and returns kind: "mcp" when a match exists; only searches agent-eligible n8n node tools and returns kind: "node" when no MCP server matches. For kind
|
|
15
|
+
.description('Resolve external services to MCP servers or n8n node tools. Searches the MCP registry first and returns kind: "mcp" when a match exists; only searches agent-eligible n8n node tools and returns kind: "node" when no MCP server matches. For either kind, load agent-builder-external-services and follow its matching section, using the returned results.')
|
|
16
16
|
.input(resolveIntegrationInputSchema)
|
|
17
17
|
.handler(async ({ queries }) => {
|
|
18
18
|
const mcpResults = await deps.mcpRegistryService.search(queries);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-integration.tool.js","sourceRoot":"","sources":["../../../../src/modules/agents/builder/resolve-integration.tool.ts"],"names":[],"mappings":";;;AACA,2CAAwC;AACxC,6BAAwB;AAKxB,6DAAqD;AAOrD,MAAM,6BAA6B,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9C,OAAO,EAAE,OAAC;SACR,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;SACjB,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,2DAA2D,CAAC;CACvE,CAAC,CAAC;AAEH,qCAA4C,IAA4B;IACvE,OAAO,IAAI,WAAI,CAAC,kCAAa,CAAC,mBAAmB,CAAC;SAChD,WAAW,CACX,
|
|
1
|
+
{"version":3,"file":"resolve-integration.tool.js","sourceRoot":"","sources":["../../../../src/modules/agents/builder/resolve-integration.tool.ts"],"names":[],"mappings":";;;AACA,2CAAwC;AACxC,6BAAwB;AAKxB,6DAAqD;AAOrD,MAAM,6BAA6B,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9C,OAAO,EAAE,OAAC;SACR,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;SACjB,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,2DAA2D,CAAC;CACvE,CAAC,CAAC;AAEH,qCAA4C,IAA4B;IACvE,OAAO,IAAI,WAAI,CAAC,kCAAa,CAAC,mBAAmB,CAAC;SAChD,WAAW,CACX,8VAA8V,CAC9V;SACA,KAAK,CAAC,6BAA6B,CAAC;SACpC,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,EAAyB,EAAE,EAAE;QACrD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,EAAE,IAAI,EAAE,KAAc,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;QACtD,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAChF,OAAO;YACN,IAAI,EAAE,MAAe;YACrB,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,oBAAoB,EAAE,WAAW,CAAC,oBAAoB;SACtD,CAAC;IACH,CAAC,CAAC;SACD,KAAK,EAAE,CAAC;AACX,CAAC"}
|
|
@@ -0,0 +1,361 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.externalServicesSkill = externalServicesSkill;
|
|
4
|
+
const api_types_1 = require("@n8n/api-types");
|
|
5
|
+
const zod_to_json_schema_1 = require("zod-to-json-schema");
|
|
6
|
+
const schema_text_serializer_1 = require("../../json-config/schema-text-serializer");
|
|
7
|
+
const initial_build_prompt_1 = require("../prompts/initial-build.prompt");
|
|
8
|
+
const mcpServerSchemaText = (0, schema_text_serializer_1.jsonSchemaToCompactText)((0, zod_to_json_schema_1.zodToJsonSchema)(api_types_1.McpServerConfigSchema));
|
|
9
|
+
function externalServicesSkill() {
|
|
10
|
+
return {
|
|
11
|
+
id: 'agent-builder-external-services',
|
|
12
|
+
name: 'Agent Builder External Services',
|
|
13
|
+
description: 'Use when connecting the target agent to any external product: deciding whether Slack, Linear, Telegram, or another platform is a chat integration/trigger versus an MCP, node, or workflow tool; adding, removing, or updating chat integrations or MCP servers; and wiring n8n node-backed tools (search_nodes/get_node_types discovery, nodeParameters, node credential slots, $fromAI usage, n8n expressions).',
|
|
14
|
+
recommendedTools: [
|
|
15
|
+
'resolve_integration',
|
|
16
|
+
'list_integration_types',
|
|
17
|
+
'configure_channel',
|
|
18
|
+
'search_nodes',
|
|
19
|
+
'get_node_types',
|
|
20
|
+
'ask_credential',
|
|
21
|
+
'verify_mcp_server',
|
|
22
|
+
'read_config',
|
|
23
|
+
'patch_config',
|
|
24
|
+
],
|
|
25
|
+
allowedTools: [
|
|
26
|
+
'resolve_integration',
|
|
27
|
+
'list_integration_types',
|
|
28
|
+
'configure_channel',
|
|
29
|
+
'search_mcp_servers',
|
|
30
|
+
'search_nodes',
|
|
31
|
+
'get_node_types',
|
|
32
|
+
'ask_credential',
|
|
33
|
+
'verify_mcp_server',
|
|
34
|
+
'get_resource_locator_options',
|
|
35
|
+
'ask_questions',
|
|
36
|
+
'read_config',
|
|
37
|
+
'patch_config',
|
|
38
|
+
'write_config',
|
|
39
|
+
'load_skill',
|
|
40
|
+
],
|
|
41
|
+
instructions: `\
|
|
42
|
+
## Purpose
|
|
43
|
+
|
|
44
|
+
Use this to connect the target agent to external products across all three
|
|
45
|
+
surfaces: chat integrations (the \`integrations\` array), MCP servers
|
|
46
|
+
(\`mcpServers\`), and n8n node tools (entries in \`tools[]\` with
|
|
47
|
+
\`nodeParameters\`). Decide the right surface first, then follow that
|
|
48
|
+
section.
|
|
49
|
+
|
|
50
|
+
## Integration vs Callable Tool Decision
|
|
51
|
+
|
|
52
|
+
Use an integration when the product is the agent's conversation or trigger
|
|
53
|
+
surface: humans will mention, message, comment to, or resume the agent there,
|
|
54
|
+
or the agent needs to respond in that same platform conversation context.
|
|
55
|
+
|
|
56
|
+
Use an MCP, node, or workflow tool when the product is only something the agent
|
|
57
|
+
operates on: searching records, creating tickets, updating objects, or sending a
|
|
58
|
+
business-process notification while the conversation happens elsewhere.
|
|
59
|
+
|
|
60
|
+
Examples:
|
|
61
|
+
|
|
62
|
+
- Slack integration: the agent should be chatted with in Slack, respond in
|
|
63
|
+
Slack threads, DM users, message channels, add reactions, or render rich UI
|
|
64
|
+
to Slack users.
|
|
65
|
+
- Linear integration: the agent should be triggered from Linear issues/comments,
|
|
66
|
+
understand the current Linear subject, or reply in the same Linear
|
|
67
|
+
conversation.
|
|
68
|
+
- Linear callable tools: the agent is triggered from Slack, Preview, a task, or a
|
|
69
|
+
workflow and only needs to search/create/update Linear tickets via MCP or node
|
|
70
|
+
tools.
|
|
71
|
+
|
|
72
|
+
For callable (non-chat) services, call \`resolve_integration\` separately per
|
|
73
|
+
service and follow the returned \`kind\`: \`"mcp"\` -> MCP Servers section
|
|
74
|
+
below, \`"node"\` -> Node Tools section below.
|
|
75
|
+
|
|
76
|
+
## Chat Integrations
|
|
77
|
+
|
|
78
|
+
The \`integrations\` array controls how the target agent is triggered.
|
|
79
|
+
|
|
80
|
+
- These are connected external chat platforms, not built-in Preview chat.
|
|
81
|
+
- Call \`list_integration_types\` first.
|
|
82
|
+
- Read the returned \`capabilities\`, \`useIntegrationWhen\`, and
|
|
83
|
+
\`useNodeToolWhen\` fields before deciding to add an integration.
|
|
84
|
+
- Pick one returned \`type\` and pass it to \`configure_channel\` as
|
|
85
|
+
\`integrationType\`. ALWAYS use \`configure_channel\` for chat-channel
|
|
86
|
+
credentials — never \`ask_credential\` or a raw config write. The setup UI it
|
|
87
|
+
shows creates and persists the credential/connection itself; do not follow up
|
|
88
|
+
with \`patch_config\`/\`write_config\` to write the credential.
|
|
89
|
+
- ${initial_build_prompt_1.INITIAL_BUILD_NOTE} Instead of \`configure_channel\`: after
|
|
90
|
+
\`list_integration_types\` returns the matching type, \`read_config()\` then
|
|
91
|
+
\`patch_config\` adding \`{ "type": "<integrationType>", "credentialId": "" }\`
|
|
92
|
+
to \`/integrations/-\` (include a minimal valid draft \`settings\` object for
|
|
93
|
+
telegram) so the channel appears in the agent panel as needing setup. Pass
|
|
94
|
+
the same \`integrationType\` in the trailing \`finish_setup\` call's
|
|
95
|
+
\`channels\` array — its card connects or skips the channel itself; if
|
|
96
|
+
skipped, list it in the closing setup checklist pointing at the channel
|
|
97
|
+
chip in the agent panel. If \`finish_setup\` instead reports the channel as
|
|
98
|
+
\`'blocked'\` (the agent could not be published yet), patch in the
|
|
99
|
+
credentials/model it collected first; if that resolves every reported
|
|
100
|
+
issue, call \`configure_channel\` directly for that channel as a follow-up.
|
|
101
|
+
Otherwise leave it for the closing checklist.
|
|
102
|
+
- Preserve existing chat integrations unless the user asked to remove them.
|
|
103
|
+
- To remove an existing chat integration, call \`read_config\` and inspect
|
|
104
|
+
\`config.integrations\`.
|
|
105
|
+
- If exactly one existing integration matches the requested platform, remove
|
|
106
|
+
that entry with \`patch_config\` by index (or replace \`/integrations\` with a
|
|
107
|
+
filtered array when clearer).
|
|
108
|
+
- If multiple existing integrations match the requested platform, ask which one
|
|
109
|
+
to remove before editing \`integrations\`.
|
|
110
|
+
- Removing a chat integration means deleting its entry from
|
|
111
|
+
\`integrations[]\`. Do not call \`configure_channel\` to remove a channel.
|
|
112
|
+
|
|
113
|
+
### Gotchas
|
|
114
|
+
|
|
115
|
+
- Chat integration types must come from \`list_integration_types\`.
|
|
116
|
+
- Do not add a chat integration just because the agent needs CRUD or notifications
|
|
117
|
+
for that product. Resolve the callable capability through \`resolve_integration\`
|
|
118
|
+
unless the product itself is the chat/trigger context.
|
|
119
|
+
- For recurring or scheduled runs, create a task (\`create_tasks\`), not an
|
|
120
|
+
integration.
|
|
121
|
+
- Omitting \`integrations\` from a config write preserves the current channels.
|
|
122
|
+
To remove one, write an explicit filtered array or remove the exact array
|
|
123
|
+
entry.
|
|
124
|
+
|
|
125
|
+
## MCP Servers
|
|
126
|
+
|
|
127
|
+
MCP servers expose external tool catalogs to the target agent over HTTP. They
|
|
128
|
+
live on the top-level \`mcpServers\` array, and each entry maps 1:1 to a
|
|
129
|
+
connected MCP server. Use this section when \`resolve_integration\` returned
|
|
130
|
+
\`kind: "mcp"\`, the user explicitly asks to add or edit an MCP server, or the
|
|
131
|
+
user provides or asks to configure a custom MCP server.
|
|
132
|
+
|
|
133
|
+
### Discovery and setup
|
|
134
|
+
|
|
135
|
+
For a generic external-service request, \`resolve_integration\` must select the
|
|
136
|
+
integration type before MCP setup. If no resolver result is available yet,
|
|
137
|
+
call \`resolve_integration\` with queries matching the requested service.
|
|
138
|
+
Resolve one requested service per call; use \`queries\` only for alternative
|
|
139
|
+
search terms for that service.
|
|
140
|
+
|
|
141
|
+
- If it returns \`kind: "node"\` for a generic service request, follow the Node
|
|
142
|
+
Tools section with the returned node results. Stop this MCP workflow.
|
|
143
|
+
- If it returns \`kind: "node"\` but the user explicitly requested an MCP server,
|
|
144
|
+
do not silently substitute a node tool. Continue with manual MCP setup by
|
|
145
|
+
asking for the URL and transport/authentication decision through
|
|
146
|
+
\`${api_types_1.ASK_QUESTIONS_TOOL_NAME}\`.
|
|
147
|
+
- \`resolve_integration\` returns \`{ kind: "mcp", results: [...] }\` for MCP
|
|
148
|
+
matches. Never read server fields from the wrapper; select a result first:
|
|
149
|
+
- If \`results[]\` contains one entry, use it as \`selectedResult\`.
|
|
150
|
+
- If the request uniquely identifies one entry by \`name\` or \`title\`, use
|
|
151
|
+
that entry as \`selectedResult\`.
|
|
152
|
+
- If multiple candidates remain, call \`ask_questions\` with the candidate
|
|
153
|
+
titles and descriptions; never choose by array order. During an initial
|
|
154
|
+
build, do not call \`ask_questions\` for this: pick the best candidate by
|
|
155
|
+
title/description relevance yourself, and list the pick as an assumption
|
|
156
|
+
in your summary. Use the chosen entry as \`selectedResult\`. If
|
|
157
|
+
\`ask_questions\` returns \`{ answered: false }\`, stop MCP setup without
|
|
158
|
+
selecting a server, asking for credentials, verifying a connection, or
|
|
159
|
+
mutating config. Do not re-present the question.
|
|
160
|
+
- Use \`name\`, \`url\`, \`transport\`, \`authentication\`, \`credentialType\`,
|
|
161
|
+
\`tools\`, and optional \`metadata\` only from \`selectedResult\`.
|
|
162
|
+
|
|
163
|
+
Follow these steps for the selected MCP result:
|
|
164
|
+
|
|
165
|
+
1. Credential: call \`ask_credential\` with a short \`purpose\`, using
|
|
166
|
+
\`selectedResult.credentialType\` as \`credentialType\`. Never invent
|
|
167
|
+
credential IDs.
|
|
168
|
+
2. Verify: call \`verify_mcp_server\` with the selected result's \`name\`, \`url\`,
|
|
169
|
+
\`transport\`, and \`authentication\`, plus the returned \`credentialId\` as
|
|
170
|
+
\`credential\` when authentication is required.
|
|
171
|
+
3. Capability check: confirm the verified tool names and descriptions cover the
|
|
172
|
+
capability the user requested.
|
|
173
|
+
4. Write config: call \`read_config\`, then \`patch_config\` to add the entry to
|
|
174
|
+
\`mcpServers[]\` using the patch pattern below. When the entry already
|
|
175
|
+
exists and verify returned \`credentialApplied: true\`, skip this step — the
|
|
176
|
+
credential is already persisted.
|
|
177
|
+
|
|
178
|
+
${initial_build_prompt_1.INITIAL_BUILD_NOTE} For MCP that means: pick the best candidate as an
|
|
179
|
+
assumption (above), then \`read_config()\` and \`patch_config\` a draft
|
|
180
|
+
\`/mcpServers/-\` entry using \`name\`, \`url\`, \`transport\`,
|
|
181
|
+
\`authentication\`, and \`metadata.nodeTypeName\` from \`selectedResult\` with
|
|
182
|
+
\`credential\` omitted, and skip \`verify_mcp_server\` — there is nothing to
|
|
183
|
+
authenticate yet. Include the credential in the trailing \`finish_setup\` call;
|
|
184
|
+
verify with the returned credential id — on success the tool writes the
|
|
185
|
+
credential into the matching entry itself (\`credentialApplied: true\`); no
|
|
186
|
+
\`read_config\`/\`patch_config\` follow-up for the credential. Existing-agent
|
|
187
|
+
additions keep the immediate ask + verify flow above unchanged.
|
|
188
|
+
|
|
189
|
+
If verification succeeds but the tools do not cover the requested capability
|
|
190
|
+
for a generic service request, switch to the Node Tools section, call
|
|
191
|
+
\`search_nodes\` with the same service queries, and continue with node setup. Do
|
|
192
|
+
not add the MCP server merely because its registry entry matched.
|
|
193
|
+
|
|
194
|
+
Full schema reference:
|
|
195
|
+
|
|
196
|
+
${mcpServerSchemaText}
|
|
197
|
+
|
|
198
|
+
### Tool exposure and approval
|
|
199
|
+
|
|
200
|
+
- Expose every available MCP tool by default: omit \`toolFilter\` unless the user
|
|
201
|
+
explicitly asks to restrict which tools are exposed. Do not infer an allowlist
|
|
202
|
+
from the requested capability.
|
|
203
|
+
- For an explicit filter or selected approval list, use only exact, unprefixed
|
|
204
|
+
\`name\` values from \`selectedResult.tools\` or a successful
|
|
205
|
+
\`verify_mcp_server\` result.
|
|
206
|
+
- Never prepend the server name. Never invent MCP tool names. \`toolFilter.tools\`
|
|
207
|
+
and \`approval.tools\` match original MCP names; the SDK adds the server prefix
|
|
208
|
+
only when exposing tools to the model.
|
|
209
|
+
|
|
210
|
+
### Credential flow
|
|
211
|
+
|
|
212
|
+
- For \`bearerAuth\`, call \`ask_credential\` with
|
|
213
|
+
\`credentialType: "httpBearerAuth"\`.
|
|
214
|
+
- For \`headerAuth\`, call \`ask_credential\` with
|
|
215
|
+
\`credentialType: "httpHeaderAuth"\`.
|
|
216
|
+
- For \`multipleHeadersAuth\`, call \`ask_credential\` with
|
|
217
|
+
\`credentialType: "httpMultipleHeadersAuth"\`.
|
|
218
|
+
- For \`mcpOAuth2Api\`, call \`ask_credential\` with
|
|
219
|
+
\`credentialType: "mcpOAuth2Api"\`.
|
|
220
|
+
|
|
221
|
+
### Testing the connection
|
|
222
|
+
|
|
223
|
+
Before writing to config, call \`verify_mcp_server\` with server \`name\`,
|
|
224
|
+
\`url\`, \`transport\`, and (if applicable) the credential id from
|
|
225
|
+
\`ask_credential\`.
|
|
226
|
+
|
|
227
|
+
- Success returns \`{ ok: true, tools: [{ name, description }] }\`, and when a
|
|
228
|
+
matching \`mcpServers\` entry exists, also \`credentialApplied: true,
|
|
229
|
+
configMutated: true, agentId\` — the credential is written automatically; do
|
|
230
|
+
not follow with \`read_config\`/\`patch_config\` for the credential.
|
|
231
|
+
- When verify succeeds but \`credentialApplied: false\` and the entry already
|
|
232
|
+
exists, fall back to \`read_config\` then \`patch_config\` for the credential.
|
|
233
|
+
- For an explicitly requested filter or selected approval list, copy exact names
|
|
234
|
+
from the returned tool list following Tool exposure and approval above.
|
|
235
|
+
- Failure returns \`{ ok: false, error: "..." }\`.
|
|
236
|
+
- If verification fails, explain the error and ask the user to check the URL
|
|
237
|
+
or credentials before proceeding.
|
|
238
|
+
|
|
239
|
+
### Incomplete setup
|
|
240
|
+
|
|
241
|
+
The user can skip the credential prompt, the URL question, or both. Never
|
|
242
|
+
invent a credential ID or a placeholder URL to fill the gap, and never abort
|
|
243
|
+
the server addition — always persist what is known and let the user finish
|
|
244
|
+
setup later:
|
|
245
|
+
|
|
246
|
+
- Credential skipped (\`ask_credential\` returned \`{ skipped: true }\`): omit
|
|
247
|
+
only the \`credential\` field.
|
|
248
|
+
- URL skipped: persist \`url: ""\`.
|
|
249
|
+
- Either case: skip \`verify_mcp_server\` (there is nothing to authenticate or
|
|
250
|
+
connect to), then \`read_config\` and \`patch_config\` the entry, preserving
|
|
251
|
+
every other known field — \`name\`, \`transport\`, \`authentication\`, an
|
|
252
|
+
already-selected credential, and registry \`metadata\`.
|
|
253
|
+
|
|
254
|
+
### Selecting credentials
|
|
255
|
+
|
|
256
|
+
When using a registry-backed server, always use the \`credentialType\` returned
|
|
257
|
+
by \`selectedResult\`.
|
|
258
|
+
|
|
259
|
+
For custom MCP servers, if credential type is unknown, ask the user which
|
|
260
|
+
credential type to use (OAuth2, Bearer Token, Header Auth, Multiple Headers
|
|
261
|
+
Auth, or None) via \`${api_types_1.ASK_QUESTIONS_TOOL_NAME}\`. Then map to:
|
|
262
|
+
|
|
263
|
+
- \`bearerAuth\` -> \`ask_credential\` with \`credentialType: "httpBearerAuth"\`
|
|
264
|
+
- \`headerAuth\` -> \`ask_credential\` with \`credentialType: "httpHeaderAuth"\`
|
|
265
|
+
- \`multipleHeadersAuth\` -> \`ask_credential\` with
|
|
266
|
+
\`credentialType: "httpMultipleHeadersAuth"\`
|
|
267
|
+
- \`mcpOAuth2Api\` -> \`ask_credential\` with \`credentialType: "mcpOAuth2Api"\`
|
|
268
|
+
|
|
269
|
+
### Patch pattern
|
|
270
|
+
|
|
271
|
+
1. Initialize the array if missing:
|
|
272
|
+
\`{ "op": "add", "path": "/mcpServers", "value": [] }\`
|
|
273
|
+
2. Append each server:
|
|
274
|
+
\`{ "op": "add", "path": "/mcpServers/-", "value": { ... } }\`
|
|
275
|
+
|
|
276
|
+
### Gotchas
|
|
277
|
+
|
|
278
|
+
- Server \`name\` must be unique across \`mcpServers\` within an agent.
|
|
279
|
+
- Never fabricate \`metadata.nodeTypeName\`.
|
|
280
|
+
- When \`selectedResult\` includes \`metadata.nodeTypeName\`, include
|
|
281
|
+
\`metadata: { nodeTypeName: <selectedResult.metadata.nodeTypeName> }\` in the
|
|
282
|
+
entry so the UI can render the correct server form.
|
|
283
|
+
- A registry match proves server availability, not support for the requested
|
|
284
|
+
capability; use the verified live tool list for that decision.
|
|
285
|
+
|
|
286
|
+
## Node Tools
|
|
287
|
+
|
|
288
|
+
Use this section to discover, configure, and wire node tools into the target
|
|
289
|
+
agent's \`tools[]\`, including \`nodeParameters\` and n8n expressions.
|
|
290
|
+
|
|
291
|
+
### Workflow
|
|
292
|
+
|
|
293
|
+
- For a generic external-service request, call \`resolve_integration\` before
|
|
294
|
+
node discovery unless a resolver result is already available.
|
|
295
|
+
- If it returns \`kind: "mcp"\`, follow the MCP Servers section instead and stop
|
|
296
|
+
this node-tool workflow.
|
|
297
|
+
- If it returns \`kind: "node"\`, use its returned node results and call
|
|
298
|
+
\`get_node_types\`; do not repeat the same search with \`search_nodes\`.
|
|
299
|
+
- Call \`search_nodes\` directly only when the user explicitly requests an n8n
|
|
300
|
+
node, when refining node results, or when a verified MCP server lacks the
|
|
301
|
+
requested capability.
|
|
302
|
+
- Never guess node type names.
|
|
303
|
+
- Use the tool node id from discovery, usually ending in \`Tool\`.
|
|
304
|
+
- Put fixed values in \`nodeParameters\`; use complete n8n expressions for values the agent should decide at runtime:
|
|
305
|
+
\`={{ $fromAI('url', 'The URL to inspect', 'string') }}\`.
|
|
306
|
+
- For stable dynamic selectors, load \`agent-builder-resource-locators\` and
|
|
307
|
+
follow it.
|
|
308
|
+
- Never write literal \`"$fromAI"\` or bare \`$fromAI\`; the node will treat it as the actual value.
|
|
309
|
+
- Do not pipe AI-chosen fields through \`$json\`.
|
|
310
|
+
- Do not include \`inputSchema\` or \`toolDescription\` for node tools.
|
|
311
|
+
- For each required credential slot, call \`ask_credential\` once before the config mutation for an addition to an existing agent. ${initial_build_prompt_1.INITIAL_BUILD_NOTE} Add the tool with that credential slot omitted; after the trailing \`finish_setup\` resolves the credential, copy the returned credentials into \`node.credentials\` via \`patch_config\`; for resource-locator resolution follow \`agent-builder-resource-locators\` then. Pass the node's credential key as \`credentialSlot\`. On success, copy the returned \`credentials\` object directly to \`node.credentials\`. If skipped, still add the tool and omit only that credential slot.
|
|
312
|
+
- When the agent already has a chat channel configured and the tool needs the same
|
|
313
|
+
credential type, \`ask_credential\` reuses the channel's credential automatically —
|
|
314
|
+
do not ask the user to pick a different one.
|
|
315
|
+
|
|
316
|
+
### n8n Expressions
|
|
317
|
+
|
|
318
|
+
Node tool parameters inside \`nodeParameters\` can use n8n expressions.
|
|
319
|
+
Prefer \`$fromAI\` whenever the target agent should decide a value at runtime.
|
|
320
|
+
Do not use \`$fromAI\` for stable resource IDs that the target agent cannot know
|
|
321
|
+
at runtime, such as Linear \`teamId\`, project IDs, channel IDs, calendar IDs,
|
|
322
|
+
database IDs, table IDs, or other dynamic "Name or ID" selectors. Resolve those
|
|
323
|
+
with the \`agent-builder-resource-locators\` skill, \`ask_credential\`, and
|
|
324
|
+
\`get_resource_locator_options\`; write the returned \`parameterValue\` into
|
|
325
|
+
\`nodeParameters\`.
|
|
326
|
+
|
|
327
|
+
- \`={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('fieldName', 'What value to provide', 'string') }}\`
|
|
328
|
+
- \`={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('count', 'How many items', 'number') }}\`
|
|
329
|
+
- \`={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('enabled', 'Whether to enable this option', 'boolean') }}\`
|
|
330
|
+
- \`={{ $now.toISO() }}\` for current date/time.
|
|
331
|
+
- \`={{ $today }}\` for the start of today.
|
|
332
|
+
|
|
333
|
+
Always wrap expressions in \`={{ }}\`. Never pipe AI-chosen node-tool fields
|
|
334
|
+
through \`$json\`; use \`$fromAI\` for those fields instead.
|
|
335
|
+
|
|
336
|
+
### Gotchas
|
|
337
|
+
|
|
338
|
+
- Do not include \`inputSchema\` or \`toolDescription\` for node tools.
|
|
339
|
+
- \`$fromAI(...)\` placeholders define the node tool input schema; do not add it manually.
|
|
340
|
+
- Follow \`agent-builder-resource-locators\` for dynamic selector lookup,
|
|
341
|
+
credentials, and \`parameterValue\` handling.
|
|
342
|
+
- If a required node-tool credential is skipped, add the tool and omit only that credential slot.
|
|
343
|
+
- Node tools execute inline, so never use waiting operations such as \`sendAndWait\`
|
|
344
|
+
or \`dispatchAndWait\`. When the user requests human approval, configure the
|
|
345
|
+
intended non-waiting operation and set \`requireApproval: true\` on the tool.
|
|
346
|
+
|
|
347
|
+
## Verify
|
|
348
|
+
|
|
349
|
+
- Connected chat integrations were set up through \`configure_channel\`, not
|
|
350
|
+
\`ask_credential\` or a manual config write.
|
|
351
|
+
- The chosen integration matches \`useIntegrationWhen\`; otherwise resolve the
|
|
352
|
+
callable capability through \`resolve_integration\` and use MCP, node, or
|
|
353
|
+
workflow tools.
|
|
354
|
+
- Generic non-chat external services were routed through \`resolve_integration\`
|
|
355
|
+
before MCP or node setup.
|
|
356
|
+
- The final \`integrations\` array keeps unrelated integrations intact and
|
|
357
|
+
removes only the requested channel entries.
|
|
358
|
+
- Node tools use discovered tool node ids and valid node parameters.`,
|
|
359
|
+
};
|
|
360
|
+
}
|
|
361
|
+
//# sourceMappingURL=external-services.skill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-services.skill.js","sourceRoot":"","sources":["../../../../../src/modules/agents/builder/skills/external-services.skill.ts"],"names":[],"mappings":";;;AACA,8CAAgF;AAEhF,2DAAqD;AAErD,qFAAmF;AACnF,0EAAqE;AAErE,MAAM,mBAAmB,GAAG,IAAA,gDAAuB,EAClD,IAAA,oCAAe,EAAC,iCAAqB,CAAgB,CACrD,CAAC;AAEF;IACC,OAAO;QACN,EAAE,EAAE,iCAAiC;QACrC,IAAI,EAAE,iCAAiC;QACvC,WAAW,EACV,mZAAmZ;QACpZ,gBAAgB,EAAE;YACjB,qBAAqB;YACrB,wBAAwB;YACxB,mBAAmB;YACnB,cAAc;YACd,gBAAgB;YAChB,gBAAgB;YAChB,mBAAmB;YACnB,aAAa;YACb,cAAc;SACd;QACD,YAAY,EAAE;YACb,qBAAqB;YACrB,wBAAwB;YACxB,mBAAmB;YACnB,oBAAoB;YACpB,cAAc;YACd,gBAAgB;YAChB,gBAAgB;YAChB,mBAAmB;YACnB,8BAA8B;YAC9B,eAAe;YACf,aAAa;YACb,cAAc;YACd,cAAc;YACd,YAAY;SACZ;QACD,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgDZ,yCAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAyDhB,mCAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgC3B,yCAAkB;;;;;;;;;;;;;;;;;;EAkBlB,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAiEE,mCAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qIAkDuF,yCAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qEA+ClF;KACnE,CAAC;AACH,CAAC"}
|