n8n 2.27.3 → 2.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/abstract-server.js +0 -4
- package/dist/abstract-server.js.map +1 -1
- package/dist/active-workflow-manager.js +4 -1
- package/dist/active-workflow-manager.js.map +1 -1
- package/dist/agent-library-bundle.js +7 -3
- package/dist/build.tsbuildinfo +1 -1
- package/dist/commands/audit.js +6 -0
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/base-command.d.ts +1 -0
- package/dist/commands/base-command.js +36 -2
- package/dist/commands/base-command.js.map +1 -1
- package/dist/commands/start.js +18 -9
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/worker.js +2 -0
- package/dist/commands/worker.js.map +1 -1
- package/dist/constants.d.ts +1 -0
- package/dist/constants.js +5 -1
- package/dist/constants.js.map +1 -1
- package/dist/controllers/api-keys.controller.d.ts +17 -0
- package/dist/controllers/api-keys.controller.js +19 -0
- package/dist/controllers/api-keys.controller.js.map +1 -1
- package/dist/controllers/e2e.controller.js +1 -0
- package/dist/controllers/e2e.controller.js.map +1 -1
- package/dist/controllers/telemetry.controller.d.ts +3 -1
- package/dist/controllers/telemetry.controller.js +17 -7
- package/dist/controllers/telemetry.controller.js.map +1 -1
- package/dist/controllers/users.controller.d.ts +1 -1
- package/dist/credentials/credentials.service.d.ts +5 -0
- package/dist/credentials/credentials.service.js +17 -3
- package/dist/credentials/credentials.service.js.map +1 -1
- package/dist/evaluation.ee/evaluation-config.controller.d.ts +7 -1
- package/dist/evaluation.ee/evaluation-config.controller.js +30 -1
- package/dist/evaluation.ee/evaluation-config.controller.js.map +1 -1
- package/dist/evaluation.ee/evaluation-dataset.service.d.ts +24 -0
- package/dist/evaluation.ee/evaluation-dataset.service.js +185 -0
- package/dist/evaluation.ee/evaluation-dataset.service.js.map +1 -0
- package/dist/evaluation.ee/llm-judge-provider-registry.js +2 -2
- package/dist/evaluation.ee/llm-judge-provider-registry.js.map +1 -1
- package/dist/evaluation.ee/test-runner/test-runner.service.ee.js +6 -6
- 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 +2 -0
- package/dist/evaluation.ee/test-runner/workflow-compiler.service.js +27 -0
- package/dist/evaluation.ee/test-runner/workflow-compiler.service.js.map +1 -1
- package/dist/eventbus/event-message-classes/index.d.ts +2 -2
- package/dist/eventbus/event-message-classes/index.js +2 -0
- package/dist/eventbus/event-message-classes/index.js.map +1 -1
- package/dist/events/event.service.d.ts +2 -1
- package/dist/events/event.service.js.map +1 -1
- package/dist/events/maps/instance-ai.event-map.d.ts +15 -0
- package/dist/events/maps/instance-ai.event-map.js +3 -0
- package/dist/events/maps/instance-ai.event-map.js.map +1 -0
- package/dist/events/maps/relay.event-map.d.ts +8 -1
- package/dist/events/relays/log-streaming.event-relay.d.ts +2 -0
- package/dist/events/relays/log-streaming.event-relay.js +26 -0
- package/dist/events/relays/log-streaming.event-relay.js.map +1 -1
- package/dist/events/relays/telemetry.event-relay.d.ts +1 -0
- package/dist/events/relays/telemetry.event-relay.js +11 -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/execution-lifecycle/shared/shared-hook-functions.d.ts +2 -1
- package/dist/execution-lifecycle/shared/shared-hook-functions.js +8 -3
- package/dist/execution-lifecycle/shared/shared-hook-functions.js.map +1 -1
- package/dist/executions/execution-data/azure-store.ee.d.ts +15 -0
- package/dist/executions/execution-data/azure-store.ee.js +116 -0
- package/dist/executions/execution-data/azure-store.ee.js.map +1 -0
- package/dist/executions/execution-data/db-store.d.ts +7 -0
- package/dist/executions/execution-data/db-store.js +21 -0
- package/dist/executions/execution-data/db-store.js.map +1 -1
- package/dist/executions/execution-data/types.d.ts +3 -0
- package/dist/executions/execution-persistence.d.ts +17 -3
- package/dist/executions/execution-persistence.js +121 -18
- package/dist/executions/execution-persistence.js.map +1 -1
- package/dist/executions/execution.service.d.ts +3 -1
- package/dist/executions/execution.service.js +10 -4
- package/dist/executions/execution.service.js.map +1 -1
- package/dist/executions/sum-binary-data-bytes.d.ts +2 -0
- package/dist/executions/sum-binary-data-bytes.js +46 -0
- package/dist/executions/sum-binary-data-bytes.js.map +1 -0
- package/dist/interfaces.d.ts +22 -0
- package/dist/license/license.service.d.ts +3 -1
- package/dist/license/license.service.js +36 -51
- package/dist/license/license.service.js.map +1 -1
- package/dist/metrics/prometheus/execution-data-metrics.service.js +2 -1
- package/dist/metrics/prometheus/execution-data-metrics.service.js.map +1 -1
- package/dist/metrics/prometheus/instance-ai-metrics.service.d.ts +12 -0
- package/dist/metrics/prometheus/instance-ai-metrics.service.js +101 -0
- package/dist/metrics/prometheus/instance-ai-metrics.service.js.map +1 -0
- package/dist/metrics/prometheus/instance-role-metrics.service.js +2 -2
- package/dist/metrics/prometheus/instance-role-metrics.service.js.map +1 -1
- package/dist/metrics/prometheus/prometheus.service.d.ts +4 -1
- package/dist/metrics/prometheus/prometheus.service.js +11 -2
- package/dist/metrics/prometheus/prometheus.service.js.map +1 -1
- package/dist/metrics/prometheus/webhook-and-form-metrics.service.d.ts +23 -0
- package/dist/metrics/prometheus/webhook-and-form-metrics.service.js +72 -0
- package/dist/metrics/prometheus/webhook-and-form-metrics.service.js.map +1 -0
- package/dist/metrics/prometheus/workflow-info-metrics.service.d.ts +12 -0
- package/dist/metrics/prometheus/workflow-info-metrics.service.js +66 -0
- package/dist/metrics/prometheus/workflow-info-metrics.service.js.map +1 -0
- package/dist/middlewares/body-parser.js +2 -2
- package/dist/middlewares/body-parser.js.map +1 -1
- package/dist/middlewares/list-query/dtos/workflow.filter.dto.d.ts +2 -0
- package/dist/middlewares/list-query/dtos/workflow.filter.dto.js +12 -0
- package/dist/middlewares/list-query/dtos/workflow.filter.dto.js.map +1 -1
- package/dist/modules/agents/agent-execution.service.d.ts +8 -1
- package/dist/modules/agents/agent-execution.service.js +26 -2
- package/dist/modules/agents/agent-execution.service.js.map +1 -1
- package/dist/modules/agents/agent-knowledge-commands.d.ts +27 -0
- package/dist/modules/agents/agent-knowledge-commands.js +415 -0
- package/dist/modules/agents/agent-knowledge-commands.js.map +1 -0
- package/dist/modules/agents/agent-knowledge-gate.d.ts +2 -0
- package/dist/modules/agents/agent-knowledge-gate.js +9 -0
- package/dist/modules/agents/agent-knowledge-gate.js.map +1 -0
- package/dist/modules/agents/agent-knowledge-retrieval.d.ts +184 -0
- package/dist/modules/agents/agent-knowledge-retrieval.js +172 -0
- package/dist/modules/agents/agent-knowledge-retrieval.js.map +1 -0
- package/dist/modules/agents/agent-knowledge-sandbox.service.d.ts +40 -0
- package/dist/modules/agents/agent-knowledge-sandbox.service.js +591 -0
- package/dist/modules/agents/agent-knowledge-sandbox.service.js.map +1 -0
- package/dist/modules/agents/agent-knowledge-storage.d.ts +21 -0
- package/dist/modules/agents/agent-knowledge-storage.js +89 -0
- package/dist/modules/agents/agent-knowledge-storage.js.map +1 -0
- package/dist/modules/agents/agent-knowledge.service.d.ts +25 -5
- package/dist/modules/agents/agent-knowledge.service.js +230 -7
- package/dist/modules/agents/agent-knowledge.service.js.map +1 -1
- package/dist/modules/agents/agent-runtime-reconstruction.service.d.ts +8 -2
- package/dist/modules/agents/agent-runtime-reconstruction.service.js +49 -11
- package/dist/modules/agents/agent-runtime-reconstruction.service.js.map +1 -1
- package/dist/modules/agents/agent-sandbox.controller.d.ts +18 -0
- package/dist/modules/agents/agent-sandbox.controller.js +71 -0
- package/dist/modules/agents/agent-sandbox.controller.js.map +1 -0
- package/dist/modules/agents/agent-telemetry.d.ts +5 -0
- package/dist/modules/agents/agent-telemetry.js +60 -0
- package/dist/modules/agents/agent-telemetry.js.map +1 -0
- package/dist/modules/agents/agents.controller.d.ts +4 -4
- package/dist/modules/agents/agents.controller.js +24 -23
- package/dist/modules/agents/agents.controller.js.map +1 -1
- package/dist/modules/agents/agents.module.d.ts +1 -1
- package/dist/modules/agents/agents.module.js +7 -1
- package/dist/modules/agents/agents.module.js.map +1 -1
- package/dist/modules/agents/agents.service.d.ts +5 -2
- package/dist/modules/agents/agents.service.js +68 -15
- package/dist/modules/agents/agents.service.js.map +1 -1
- package/dist/modules/agents/builder/agents-builder-prompts.d.ts +1 -1
- package/dist/modules/agents/builder/agents-builder-prompts.js +7 -0
- package/dist/modules/agents/builder/agents-builder-prompts.js.map +1 -1
- package/dist/modules/agents/builder/agents-builder-settings.service.d.ts +12 -6
- package/dist/modules/agents/builder/agents-builder-settings.service.js +29 -12
- package/dist/modules/agents/builder/agents-builder-settings.service.js.map +1 -1
- package/dist/modules/agents/builder/agents-builder-tools.service.d.ts +12 -4
- package/dist/modules/agents/builder/agents-builder-tools.service.js +118 -14
- package/dist/modules/agents/builder/agents-builder-tools.service.js.map +1 -1
- package/dist/modules/agents/builder/agents-builder.service.d.ts +7 -0
- package/dist/modules/agents/builder/agents-builder.service.js +24 -6
- package/dist/modules/agents/builder/agents-builder.service.js.map +1 -1
- package/dist/modules/agents/builder/builder-tool-names.d.ts +1 -0
- package/dist/modules/agents/builder/builder-tool-names.js +1 -0
- package/dist/modules/agents/builder/builder-tool-names.js.map +1 -1
- package/dist/modules/agents/builder/from-ai-node-parameters.d.ts +7 -0
- package/dist/modules/agents/builder/from-ai-node-parameters.js +43 -0
- package/dist/modules/agents/builder/from-ai-node-parameters.js.map +1 -0
- package/dist/modules/agents/builder/get-resource-locator-options.tool.d.ts +10 -0
- package/dist/modules/agents/builder/get-resource-locator-options.tool.js +148 -0
- package/dist/modules/agents/builder/get-resource-locator-options.tool.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 +11 -0
- package/dist/modules/agents/builder/prompts/tools.prompt.js.map +1 -1
- package/dist/modules/agents/builder/skills/index.js +2 -0
- package/dist/modules/agents/builder/skills/index.js.map +1 -1
- package/dist/modules/agents/builder/skills/resource-locators.skill.d.ts +2 -0
- package/dist/modules/agents/builder/skills/resource-locators.skill.js +107 -0
- package/dist/modules/agents/builder/skills/resource-locators.skill.js.map +1 -0
- package/dist/modules/agents/builder/verify-mcp-server.tool.d.ts +2 -0
- package/dist/modules/agents/builder/verify-mcp-server.tool.js +1 -1
- package/dist/modules/agents/builder/verify-mcp-server.tool.js.map +1 -1
- package/dist/modules/agents/entities/agent-file.entity.d.ts +11 -0
- package/dist/modules/agents/entities/agent-file.entity.js +50 -0
- package/dist/modules/agents/entities/agent-file.entity.js.map +1 -0
- package/dist/modules/agents/execution-recorder.js +4 -7
- package/dist/modules/agents/execution-recorder.js.map +1 -1
- package/dist/modules/agents/integrations/agent-chat-bridge.d.ts +1 -1
- package/dist/modules/agents/integrations/agent-chat-bridge.js +7 -9
- package/dist/modules/agents/integrations/agent-chat-bridge.js.map +1 -1
- package/dist/modules/agents/integrations/agent-chat-integration.d.ts +7 -3
- package/dist/modules/agents/integrations/agent-chat-integration.js +5 -0
- package/dist/modules/agents/integrations/agent-chat-integration.js.map +1 -1
- package/dist/modules/agents/integrations/integration-action-executor.d.ts +704 -0
- package/dist/modules/agents/integrations/integration-action-executor.js +36 -22
- package/dist/modules/agents/integrations/integration-action-executor.js.map +1 -1
- package/dist/modules/agents/integrations/integration-context-query-executor.js +23 -4
- package/dist/modules/agents/integrations/integration-context-query-executor.js.map +1 -1
- package/dist/modules/agents/integrations/integration-helpers.d.ts +12 -1
- package/dist/modules/agents/integrations/integration-helpers.js +17 -8
- package/dist/modules/agents/integrations/integration-helpers.js.map +1 -1
- package/dist/modules/agents/integrations/integration-message-context.service.js +2 -4
- package/dist/modules/agents/integrations/integration-message-context.service.js.map +1 -1
- package/dist/modules/agents/integrations/integration-tools.d.ts +11 -3
- package/dist/modules/agents/integrations/integration-tools.js +19 -118
- package/dist/modules/agents/integrations/integration-tools.js.map +1 -1
- package/dist/modules/agents/integrations/platforms/linear-integration.d.ts +3 -1
- package/dist/modules/agents/integrations/platforms/linear-integration.js +22 -6
- package/dist/modules/agents/integrations/platforms/linear-integration.js.map +1 -1
- package/dist/modules/agents/integrations/platforms/linear-operations.js +19 -29
- package/dist/modules/agents/integrations/platforms/linear-operations.js.map +1 -1
- package/dist/modules/agents/integrations/platforms/n8n-chat-integration.d.ts +20 -0
- package/dist/modules/agents/integrations/platforms/n8n-chat-integration.js +99 -0
- package/dist/modules/agents/integrations/platforms/n8n-chat-integration.js.map +1 -0
- package/dist/modules/agents/integrations/platforms/slack-integration.d.ts +2 -1
- package/dist/modules/agents/integrations/platforms/slack-integration.js +5 -0
- package/dist/modules/agents/integrations/platforms/slack-integration.js.map +1 -1
- package/dist/modules/agents/integrations/platforms/slack-operations.js +3 -2
- package/dist/modules/agents/integrations/platforms/slack-operations.js.map +1 -1
- package/dist/modules/agents/integrations/platforms/telegram-integration.d.ts +11 -2
- package/dist/modules/agents/integrations/platforms/telegram-integration.js +43 -14
- package/dist/modules/agents/integrations/platforms/telegram-integration.js.map +1 -1
- package/dist/modules/agents/integrations/slack-app-setup.service.d.ts +3 -1
- package/dist/modules/agents/integrations/slack-app-setup.service.js +19 -11
- package/dist/modules/agents/integrations/slack-app-setup.service.js.map +1 -1
- package/dist/modules/agents/json-config/from-json-config.d.ts +2 -1
- package/dist/modules/agents/json-config/from-json-config.js +11 -1
- package/dist/modules/agents/json-config/from-json-config.js.map +1 -1
- package/dist/modules/agents/json-config/mcp-client-factory.d.ts +2 -0
- package/dist/modules/agents/json-config/mcp-client-factory.js +2 -2
- package/dist/modules/agents/json-config/mcp-client-factory.js.map +1 -1
- package/dist/modules/agents/repositories/agent-file.repository.d.ts +8 -0
- package/dist/modules/agents/repositories/agent-file.repository.js +38 -0
- package/dist/modules/agents/repositories/agent-file.repository.js.map +1 -0
- package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.js +5 -0
- package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.js.map +1 -1
- package/dist/modules/agents/tools/knowledge/search-knowledge.tool.d.ts +90 -0
- package/dist/modules/agents/tools/knowledge/search-knowledge.tool.js +209 -0
- package/dist/modules/agents/tools/knowledge/search-knowledge.tool.js.map +1 -0
- package/dist/modules/agents/tools/workflow-tool-factory.js +6 -8
- package/dist/modules/agents/tools/workflow-tool-factory.js.map +1 -1
- package/dist/modules/agents/tracing/builder-telemetry.d.ts +6 -1
- package/dist/modules/agents/tracing/builder-telemetry.js +26 -5
- package/dist/modules/agents/tracing/builder-telemetry.js.map +1 -1
- package/dist/modules/agents/utils/agent-memory-scope.d.ts +1 -0
- package/dist/modules/agents/utils/agent-memory-scope.js +6 -1
- package/dist/modules/agents/utils/agent-memory-scope.js.map +1 -1
- package/dist/modules/agents/utils/execution-to-message-mapper.js +54 -5
- package/dist/modules/agents/utils/execution-to-message-mapper.js.map +1 -1
- package/dist/modules/agents/utils/messages-envelope.d.ts +7 -0
- package/dist/modules/agents/utils/messages-envelope.js +97 -0
- package/dist/modules/agents/utils/messages-envelope.js.map +1 -0
- package/dist/modules/community-packages/community-packages.service.d.ts +3 -1
- package/dist/modules/community-packages/community-packages.service.js +17 -9
- package/dist/modules/community-packages/community-packages.service.js.map +1 -1
- package/dist/modules/community-packages/npm-utils.js +13 -6
- package/dist/modules/community-packages/npm-utils.js.map +1 -1
- package/dist/modules/data-table/multer-upload-middleware.d.ts +8 -1
- package/dist/modules/data-table/multer-upload-middleware.js +79 -30
- package/dist/modules/data-table/multer-upload-middleware.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/index.d.ts +2 -0
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/index.js +19 -0
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/index.js.map +1 -0
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/metadata.d.ts +20 -0
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/metadata.js +12 -0
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/metadata.js.map +1 -0
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-extractor.d.ts +12 -0
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-extractor.js +85 -0
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-extractor.js.map +1 -0
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-seeder.d.ts +10 -0
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-seeder.js +78 -0
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-seeder.js.map +1 -0
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/n8n-identifier.d.ts +3 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/n8n-identifier.js +17 -2
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/n8n-identifier.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-introspection-identifier.d.ts +4 -2
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-introspection-identifier.js +20 -40
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-introspection-identifier.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-metadata-http-client.d.ts +21 -0
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-metadata-http-client.js +77 -0
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-metadata-http-client.js.map +1 -0
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-userinfo-identifier.d.ts +3 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-userinfo-identifier.js +18 -39
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-userinfo-identifier.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.d.ts +4 -2
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.js +46 -2
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.module.js +3 -0
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.module.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/services/authorize-intent.service.d.ts +14 -0
- package/dist/modules/dynamic-credentials.ee/services/authorize-intent.service.js +39 -0
- package/dist/modules/dynamic-credentials.ee/services/authorize-intent.service.js.map +1 -0
- package/dist/modules/dynamic-credentials.ee/services/credential-check-proxy.service.d.ts +7 -3
- package/dist/modules/dynamic-credentials.ee/services/credential-check-proxy.service.js +23 -21
- package/dist/modules/dynamic-credentials.ee/services/credential-check-proxy.service.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.d.ts +4 -0
- package/dist/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.js +111 -63
- package/dist/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-storage.service.js +0 -1
- package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-storage.service.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/services/index.d.ts +1 -0
- package/dist/modules/dynamic-credentials.ee/services/index.js +1 -0
- package/dist/modules/dynamic-credentials.ee/services/index.js.map +1 -1
- package/dist/modules/external-secrets.ee/providers/aws-secrets-manager.d.ts +3 -1
- package/dist/modules/external-secrets.ee/providers/aws-secrets-manager.js +4 -1
- package/dist/modules/external-secrets.ee/providers/aws-secrets-manager.js.map +1 -1
- package/dist/modules/external-secrets.ee/providers/azure-key-vault/azure-key-vault.js.map +1 -1
- package/dist/modules/external-secrets.ee/providers/gcp-secrets-manager/gcp-secrets-manager.js.map +1 -1
- package/dist/modules/external-secrets.ee/providers/infisical.d.ts +4 -1
- package/dist/modules/external-secrets.ee/providers/infisical.js +45 -30
- package/dist/modules/external-secrets.ee/providers/infisical.js.map +1 -1
- package/dist/modules/external-secrets.ee/providers/one-password.js.map +1 -1
- package/dist/modules/external-secrets.ee/providers/vault.d.ts +5 -1
- package/dist/modules/external-secrets.ee/providers/vault.js +66 -61
- package/dist/modules/external-secrets.ee/providers/vault.js.map +1 -1
- package/dist/modules/insights/database/repositories/insights-by-period.repository.d.ts +2 -2
- package/dist/modules/insights/insights.service.d.ts +2 -2
- package/dist/modules/instance-ai/entities/index.d.ts +1 -0
- package/dist/modules/instance-ai/entities/index.js +3 -1
- package/dist/modules/instance-ai/entities/index.js.map +1 -1
- package/dist/modules/instance-ai/entities/instance-ai-thread-grant.entity.d.ts +9 -0
- package/dist/modules/instance-ai/entities/instance-ai-thread-grant.entity.js +45 -0
- package/dist/modules/instance-ai/entities/instance-ai-thread-grant.entity.js.map +1 -0
- package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.d.ts +3 -3
- package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.js +2 -2
- package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.js.map +1 -1
- package/dist/modules/instance-ai/eval/llm-wire-server.d.ts +2 -2
- package/dist/modules/instance-ai/eval/llm-wire-server.js +5 -5
- package/dist/modules/instance-ai/eval/llm-wire-server.js.map +1 -1
- package/dist/modules/instance-ai/eval/thread-credential-allowlist.service.d.ts +6 -0
- package/dist/modules/instance-ai/eval/thread-credential-allowlist.service.js +29 -0
- package/dist/modules/instance-ai/eval/thread-credential-allowlist.service.js.map +1 -0
- package/dist/modules/instance-ai/instance-ai-credit.service.d.ts +26 -0
- package/dist/modules/instance-ai/instance-ai-credit.service.js +210 -0
- package/dist/modules/instance-ai/instance-ai-credit.service.js.map +1 -0
- package/dist/modules/instance-ai/instance-ai-model.service.d.ts +20 -0
- package/dist/modules/instance-ai/instance-ai-model.service.js +135 -0
- package/dist/modules/instance-ai/instance-ai-model.service.js.map +1 -0
- package/dist/modules/instance-ai/instance-ai-run-probe.d.ts +5 -0
- package/dist/modules/instance-ai/instance-ai-run-probe.js +26 -0
- package/dist/modules/instance-ai/instance-ai-run-probe.js.map +1 -0
- package/dist/modules/instance-ai/instance-ai-settings.service.d.ts +2 -0
- package/dist/modules/instance-ai/instance-ai-settings.service.js +12 -1
- package/dist/modules/instance-ai/instance-ai-settings.service.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai-temporary-workflow.service.d.ts +15 -0
- package/dist/modules/instance-ai/instance-ai-temporary-workflow.service.js +140 -0
- package/dist/modules/instance-ai/instance-ai-temporary-workflow.service.js.map +1 -0
- package/dist/modules/instance-ai/instance-ai.adapter.service.d.ts +4 -2
- package/dist/modules/instance-ai/instance-ai.adapter.service.js +69 -10
- package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.controller.d.ts +20 -2
- package/dist/modules/instance-ai/instance-ai.controller.js +62 -4
- package/dist/modules/instance-ai/instance-ai.controller.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.module.d.ts +2 -1
- package/dist/modules/instance-ai/instance-ai.module.js +3 -0
- package/dist/modules/instance-ai/instance-ai.module.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.service.d.ts +42 -22
- package/dist/modules/instance-ai/instance-ai.service.js +408 -379
- package/dist/modules/instance-ai/instance-ai.service.js.map +1 -1
- package/dist/modules/instance-ai/internal-messages.d.ts +4 -0
- package/dist/modules/instance-ai/internal-messages.js +24 -3
- package/dist/modules/instance-ai/internal-messages.js.map +1 -1
- package/dist/modules/instance-ai/mcp/instance-ai-mcp-connection.controller.d.ts +1 -1
- package/dist/modules/instance-ai/mcp/instance-ai-mcp-connection.controller.js +2 -6
- package/dist/modules/instance-ai/mcp/instance-ai-mcp-connection.controller.js.map +1 -1
- package/dist/modules/instance-ai/mcp/instance-ai-mcp-registry.service.d.ts +6 -1
- package/dist/modules/instance-ai/mcp/instance-ai-mcp-registry.service.js +52 -2
- package/dist/modules/instance-ai/mcp/instance-ai-mcp-registry.service.js.map +1 -1
- package/dist/modules/instance-ai/message-parser.js +2 -0
- package/dist/modules/instance-ai/message-parser.js.map +1 -1
- package/dist/modules/instance-ai/observability.d.ts +13 -0
- package/dist/modules/instance-ai/observability.js +23 -0
- package/dist/modules/instance-ai/observability.js.map +1 -0
- package/dist/modules/instance-ai/repositories/index.d.ts +1 -0
- package/dist/modules/instance-ai/repositories/index.js +3 -1
- package/dist/modules/instance-ai/repositories/index.js.map +1 -1
- package/dist/modules/instance-ai/repositories/instance-ai-thread-grant.repository.d.ts +7 -0
- package/dist/modules/instance-ai/repositories/instance-ai-thread-grant.repository.js +40 -0
- package/dist/modules/instance-ai/repositories/instance-ai-thread-grant.repository.js.map +1 -0
- package/dist/modules/instance-ai/sandbox/instance-ai-sandbox.service.js +2 -1
- package/dist/modules/instance-ai/sandbox/instance-ai-sandbox.service.js.map +1 -1
- package/dist/modules/instance-ai/storage/typeorm-agent-memory.js +4 -6
- package/dist/modules/instance-ai/storage/typeorm-agent-memory.js.map +1 -1
- package/dist/modules/instance-ai/web-research/fetch-and-extract.d.ts +2 -3
- package/dist/modules/instance-ai/web-research/fetch-and-extract.js +34 -44
- package/dist/modules/instance-ai/web-research/fetch-and-extract.js.map +1 -1
- package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-from-db.d.ts +2 -1
- package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-from-db.js +2 -2
- package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-from-db.js.map +1 -1
- package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-webhook.ee.d.ts +8 -8
- package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-webhook.ee.js +43 -60
- package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-webhook.ee.js.map +1 -1
- package/dist/modules/log-streaming.ee/log-streaming-destination.service.d.ts +3 -1
- package/dist/modules/log-streaming.ee/log-streaming-destination.service.js +6 -3
- package/dist/modules/log-streaming.ee/log-streaming-destination.service.js.map +1 -1
- package/dist/modules/log-streaming.ee/log-streaming.controller.d.ts +3 -1
- package/dist/modules/log-streaming.ee/log-streaming.controller.js +6 -3
- package/dist/modules/log-streaming.ee/log-streaming.controller.js.map +1 -1
- package/dist/modules/mcp/dto/update-allowed-redirect-uris.dto.d.ts +9 -0
- package/dist/modules/mcp/dto/update-allowed-redirect-uris.dto.js +35 -0
- package/dist/modules/mcp/dto/update-allowed-redirect-uris.dto.js.map +1 -0
- package/dist/modules/mcp/mcp-protected-resource.d.ts +4 -1
- package/dist/modules/mcp/mcp-protected-resource.js +9 -3
- package/dist/modules/mcp/mcp-protected-resource.js.map +1 -1
- package/dist/modules/mcp/mcp.service.d.ts +5 -2
- package/dist/modules/mcp/mcp.service.js +8 -3
- package/dist/modules/mcp/mcp.service.js.map +1 -1
- package/dist/modules/mcp/mcp.settings.controller.d.ts +7 -0
- package/dist/modules/mcp/mcp.settings.controller.js +24 -0
- package/dist/modules/mcp/mcp.settings.controller.js.map +1 -1
- package/dist/modules/mcp/mcp.settings.service.d.ts +2 -0
- package/dist/modules/mcp/mcp.settings.service.js +15 -0
- package/dist/modules/mcp/mcp.settings.service.js.map +1 -1
- package/dist/modules/mcp/mcp.typeguards.d.ts +0 -1
- package/dist/modules/mcp/mcp.typeguards.js +9 -12
- package/dist/modules/mcp/mcp.typeguards.js.map +1 -1
- package/dist/modules/mcp/mcp.utils.js +2 -1
- package/dist/modules/mcp/mcp.utils.js.map +1 -1
- package/dist/modules/mcp/tools/execute-workflow.tool.d.ts +10 -8
- package/dist/modules/mcp/tools/execute-workflow.tool.js +25 -13
- package/dist/modules/mcp/tools/execute-workflow.tool.js.map +1 -1
- package/dist/modules/mcp/tools/get-workflow-details.tool.js +2 -0
- package/dist/modules/mcp/tools/get-workflow-details.tool.js.map +1 -1
- package/dist/modules/mcp/tools/schemas.d.ts +128 -0
- package/dist/modules/mcp/tools/schemas.js +9 -0
- package/dist/modules/mcp/tools/schemas.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js +15 -4
- package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/credential-validation.d.ts +13 -2
- package/dist/modules/mcp/tools/workflow-builder/credential-validation.js +144 -23
- package/dist/modules/mcp/tools/workflow-builder/credential-validation.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js +23 -6
- package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/workflow-operations.d.ts +31 -1
- package/dist/modules/mcp/tools/workflow-builder/workflow-operations.js +22 -0
- package/dist/modules/mcp/tools/workflow-builder/workflow-operations.js.map +1 -1
- package/dist/modules/n8n-packages/engine/import-pipeline.js +40 -19
- package/dist/modules/n8n-packages/engine/import-pipeline.js.map +1 -1
- package/dist/modules/n8n-packages/entities/credential/credential-importer.d.ts +8 -4
- package/dist/modules/n8n-packages/entities/credential/credential-importer.js +40 -6
- package/dist/modules/n8n-packages/entities/credential/credential-importer.js.map +1 -1
- package/dist/modules/n8n-packages/entities/credential/credential-matcher.d.ts +7 -3
- package/dist/modules/n8n-packages/entities/credential/credential-matcher.js +30 -5
- package/dist/modules/n8n-packages/entities/credential/credential-matcher.js.map +1 -1
- package/dist/modules/n8n-packages/entities/credential/credential-missing-mode.d.ts +3 -0
- package/dist/modules/n8n-packages/entities/credential/credential-missing-mode.js +17 -0
- package/dist/modules/n8n-packages/entities/credential/credential-missing-mode.js.map +1 -1
- package/dist/modules/n8n-packages/entities/credential/credential.types.d.ts +10 -4
- package/dist/modules/n8n-packages/entities/credential/credential.types.js +2 -0
- package/dist/modules/n8n-packages/entities/credential/credential.types.js.map +1 -1
- package/dist/modules/n8n-packages/entities/credential/id-based-credential-matcher.d.ts +3 -4
- package/dist/modules/n8n-packages/entities/credential/id-based-credential-matcher.js +10 -11
- package/dist/modules/n8n-packages/entities/credential/id-based-credential-matcher.js.map +1 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow-import.types.d.ts +6 -6
- package/dist/modules/n8n-packages/entities/workflow/workflow-importer.d.ts +3 -3
- package/dist/modules/n8n-packages/entities/workflow/workflow-importer.js +12 -10
- package/dist/modules/n8n-packages/entities/workflow/workflow-importer.js.map +1 -1
- package/dist/modules/n8n-packages/entities/workflow/workflow-publisher.d.ts +6 -2
- package/dist/modules/n8n-packages/entities/workflow/workflow-publisher.js +33 -11
- 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 +8 -0
- package/dist/modules/n8n-packages/n8n-packages.types.d.ts +23 -3
- package/dist/modules/n8n-packages/n8n-packages.types.js.map +1 -1
- package/dist/modules/oauth-jwe/oauth-jwe.schemas.d.ts +12 -12
- package/dist/modules/oauth-server/oauth-consent.controller.js +1 -0
- package/dist/modules/oauth-server/oauth-consent.controller.js.map +1 -1
- package/dist/modules/oauth-server/oauth-consent.service.d.ts +1 -0
- package/dist/modules/oauth-server/oauth-consent.service.js +2 -0
- package/dist/modules/oauth-server/oauth-consent.service.js.map +1 -1
- package/dist/modules/oauth-server/oauth-server.module.js +1 -1
- package/dist/modules/oauth-server/oauth-server.module.js.map +1 -1
- package/dist/modules/oauth-server/oauth-server.service.d.ts +2 -0
- package/dist/modules/oauth-server/oauth-server.service.js +48 -1
- package/dist/modules/oauth-server/oauth-server.service.js.map +1 -1
- package/dist/modules/oauth-server/oauth.controller.js +4 -1
- package/dist/modules/oauth-server/oauth.controller.js.map +1 -1
- package/dist/modules/otel/otel.service.d.ts +3 -1
- package/dist/modules/otel/otel.service.js +6 -3
- package/dist/modules/otel/otel.service.js.map +1 -1
- package/dist/modules/quick-connect/handlers/firecrawl.handler.d.ts +3 -0
- package/dist/modules/quick-connect/handlers/firecrawl.handler.js +20 -7
- package/dist/modules/quick-connect/handlers/firecrawl.handler.js.map +1 -1
- package/dist/modules/quick-connect/quick-connect.config.d.ts +17 -17
- package/dist/modules/quick-connect/quick-connect.module.d.ts +3 -3
- package/dist/modules/source-control.ee/source-control-import.service.ee.js +1 -1
- package/dist/modules/source-control.ee/source-control-import.service.ee.js.map +1 -1
- package/dist/modules/source-control.ee/source-control.controller.ee.d.ts +4 -4
- package/dist/modules/source-control.ee/source-control.service.ee.d.ts +2 -2
- package/dist/modules/sso-oidc/oidc.service.ee.d.ts +3 -1
- package/dist/modules/sso-oidc/oidc.service.ee.js +15 -25
- package/dist/modules/sso-oidc/oidc.service.ee.js.map +1 -1
- package/dist/modules/sso-saml/saml.service.ee.d.ts +3 -1
- package/dist/modules/sso-saml/saml.service.ee.js +15 -15
- package/dist/modules/sso-saml/saml.service.ee.js.map +1 -1
- package/dist/modules/token-exchange/services/jwks-resolver.d.ts +3 -1
- package/dist/modules/token-exchange/services/jwks-resolver.js +11 -3
- package/dist/modules/token-exchange/services/jwks-resolver.js.map +1 -1
- package/dist/oauth/oauth.service.d.ts +8 -3
- package/dist/oauth/oauth.service.js +106 -47
- package/dist/oauth/oauth.service.js.map +1 -1
- package/dist/oauth/types.d.ts +1 -1
- package/dist/oauth/types.js.map +1 -1
- package/dist/posthog/index.js +4 -3
- package/dist/posthog/index.js.map +1 -1
- package/dist/public-api/index.js +46 -3
- package/dist/public-api/index.js.map +1 -1
- package/dist/public-api/swagger-theme.css +14 -0
- package/dist/public-api/types.d.ts +2 -0
- package/dist/public-api/v1/handlers/credentials/credentials.handler.js +1 -1
- package/dist/public-api/v1/handlers/credentials/credentials.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/data-tables/data-tables.handler.js +4 -3
- package/dist/public-api/v1/handlers/data-tables/data-tables.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/discover/discover.service.js +9 -11
- package/dist/public-api/v1/handlers/discover/discover.service.js.map +1 -1
- package/dist/public-api/v1/handlers/executions/executions.handler.js +8 -4
- package/dist/public-api/v1/handlers/executions/executions.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/workflows/workflows.handler.js +3 -1
- package/dist/public-api/v1/handlers/workflows/workflows.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/workflows/workflows.service.d.ts +1 -2
- package/dist/public-api/v1/handlers/workflows/workflows.service.js +3 -2
- package/dist/public-api/v1/handlers/workflows/workflows.service.js.map +1 -1
- package/dist/public-api/v1/openapi.yml +124 -2
- package/dist/response-helper.d.ts +2 -1
- package/dist/response-helper.js +2 -17
- package/dist/response-helper.js.map +1 -1
- package/dist/scaling/constants.d.ts +2 -2
- package/dist/scaling/constants.js +3 -0
- package/dist/scaling/constants.js.map +1 -1
- package/dist/scaling/execution-stop.service.d.ts +15 -0
- package/dist/scaling/execution-stop.service.js +59 -0
- package/dist/scaling/execution-stop.service.js.map +1 -0
- package/dist/scaling/job-processor.js +8 -2
- package/dist/scaling/job-processor.js.map +1 -1
- package/dist/scaling/multi-main-setup.ee.d.ts +1 -0
- package/dist/scaling/multi-main-setup.ee.js +6 -6
- package/dist/scaling/multi-main-setup.ee.js.map +1 -1
- package/dist/scaling/pubsub/pubsub.event-map.d.ts +4 -0
- package/dist/scaling/pubsub/pubsub.types.d.ts +3 -1
- package/dist/security-audit/risk-reporters/instance-risk-reporter.d.ts +3 -1
- package/dist/security-audit/risk-reporters/instance-risk-reporter.js +27 -20
- package/dist/security-audit/risk-reporters/instance-risk-reporter.js.map +1 -1
- package/dist/server.d.ts +1 -0
- package/dist/server.js +1 -0
- package/dist/server.js.map +1 -1
- package/dist/services/ai-gateway.service.d.ts +5 -1
- package/dist/services/ai-gateway.service.js +53 -32
- package/dist/services/ai-gateway.service.js.map +1 -1
- package/dist/services/ai-workflow-builder.service.d.ts +4 -3
- package/dist/services/ai-workflow-builder.service.js +9 -5
- package/dist/services/ai-workflow-builder.service.js.map +1 -1
- package/dist/services/credentials-tester.service.js +16 -15
- package/dist/services/credentials-tester.service.js.map +1 -1
- package/dist/services/dynamic-templates.service.d.ts +3 -1
- package/dist/services/dynamic-templates.service.js +13 -9
- package/dist/services/dynamic-templates.service.js.map +1 -1
- package/dist/services/frontend.service.d.ts +6 -1
- package/dist/services/frontend.service.js +39 -2
- package/dist/services/frontend.service.js.map +1 -1
- package/dist/services/node-resource-explorer.service.js +4 -22
- package/dist/services/node-resource-explorer.service.js.map +1 -1
- package/dist/services/project.service.ee.d.ts +3 -2
- package/dist/services/project.service.ee.js +14 -3
- package/dist/services/project.service.ee.js.map +1 -1
- package/dist/services/protected-resource.registry.d.ts +1 -0
- package/dist/services/protected-resource.registry.js.map +1 -1
- package/dist/services/public-api-key.service.d.ts +6 -2
- package/dist/services/public-api-key.service.js +56 -10
- package/dist/services/public-api-key.service.js.map +1 -1
- package/dist/services/role.service.d.ts +2 -2
- package/dist/services/role.service.js.map +1 -1
- package/dist/services/trigger-auth-identity-seeder-proxy.service.d.ts +10 -0
- package/dist/services/trigger-auth-identity-seeder-proxy.service.js +33 -0
- package/dist/services/trigger-auth-identity-seeder-proxy.service.js.map +1 -0
- package/dist/services/workflow-statistics.service.d.ts +3 -13
- package/dist/services/workflow-statistics.service.js +77 -64
- package/dist/services/workflow-statistics.service.js.map +1 -1
- package/dist/task-runners/task-broker/task-broker-server.js +2 -1
- package/dist/task-runners/task-broker/task-broker-server.js.map +1 -1
- package/dist/task-runners/task-runner-module.js +2 -0
- package/dist/task-runners/task-runner-module.js.map +1 -1
- package/dist/telemetry/index.d.ts +25 -2
- package/dist/telemetry/index.js +80 -12
- package/dist/telemetry/index.js.map +1 -1
- package/dist/utils/ai-proxy-fetch.d.ts +3 -0
- package/dist/utils/ai-proxy-fetch.js +27 -0
- package/dist/utils/ai-proxy-fetch.js.map +1 -0
- package/dist/utils/auth-fetch.d.ts +3 -1
- package/dist/utils/auth-fetch.js +3 -4
- package/dist/utils/auth-fetch.js.map +1 -1
- package/dist/utils/strapi-utils.d.ts +8 -4
- package/dist/utils/strapi-utils.js +25 -9
- package/dist/utils/strapi-utils.js.map +1 -1
- package/dist/webhooks/live-webhooks.js +1 -0
- package/dist/webhooks/live-webhooks.js.map +1 -1
- package/dist/webhooks/test-webhooks.controller.d.ts +8 -0
- package/dist/webhooks/test-webhooks.controller.js +39 -0
- package/dist/webhooks/test-webhooks.controller.js.map +1 -0
- package/dist/webhooks/webhook-form-data.js +9 -1
- package/dist/webhooks/webhook-form-data.js.map +1 -1
- package/dist/webhooks/webhook-helpers.js +16 -0
- package/dist/webhooks/webhook-helpers.js.map +1 -1
- package/dist/webhooks/webhook-request-handler.js +35 -0
- package/dist/webhooks/webhook-request-handler.js.map +1 -1
- package/dist/workflow-execute-additional-data.js +15 -0
- package/dist/workflow-execute-additional-data.js.map +1 -1
- package/dist/workflow-helpers.d.ts +7 -2
- package/dist/workflow-helpers.js +50 -1
- package/dist/workflow-helpers.js.map +1 -1
- package/dist/workflows/publication/publication-result.d.ts +2 -0
- package/dist/workflows/publication/publication-status-reporter.d.ts +1 -0
- package/dist/workflows/publication/publication-status-reporter.js +22 -1
- package/dist/workflows/publication/publication-status-reporter.js.map +1 -1
- package/dist/workflows/publication/published-workflow-enqueuer.d.ts +13 -0
- package/dist/workflows/publication/published-workflow-enqueuer.js +53 -0
- package/dist/workflows/publication/published-workflow-enqueuer.js.map +1 -0
- package/dist/workflows/publication/published-workflow-trigger-deactivator.d.ts +16 -0
- package/dist/workflows/publication/published-workflow-trigger-deactivator.js +79 -0
- package/dist/workflows/publication/published-workflow-trigger-deactivator.js.map +1 -0
- package/dist/workflows/publication/workflow-publication-applier.d.ts +6 -1
- package/dist/workflows/publication/workflow-publication-applier.js +39 -3
- package/dist/workflows/publication/workflow-publication-applier.js.map +1 -1
- package/dist/workflows/publication/workflow-publication-lifecycle-lock.d.ts +13 -0
- package/dist/workflows/publication/workflow-publication-lifecycle-lock.js +104 -0
- package/dist/workflows/publication/workflow-publication-lifecycle-lock.js.map +1 -0
- package/dist/workflows/publication/workflow-publication-outbox-cleanup.service.d.ts +19 -0
- package/dist/workflows/publication/workflow-publication-outbox-cleanup.service.js +109 -0
- package/dist/workflows/publication/workflow-publication-outbox-cleanup.service.js.map +1 -0
- package/dist/workflows/publication/workflow-publication-outbox-consumer.d.ts +11 -4
- package/dist/workflows/publication/workflow-publication-outbox-consumer.js +105 -45
- package/dist/workflows/publication/workflow-publication-outbox-consumer.js.map +1 -1
- package/dist/workflows/triggers/non-webhook-trigger-registrar.d.ts +4 -5
- package/dist/workflows/triggers/non-webhook-trigger-registrar.js +30 -9
- package/dist/workflows/triggers/non-webhook-trigger-registrar.js.map +1 -1
- package/dist/workflows/triggers/trigger-activation-retry.d.ts +2 -0
- package/dist/workflows/triggers/trigger-activation-retry.js +23 -0
- package/dist/workflows/triggers/trigger-activation-retry.js.map +1 -0
- package/dist/workflows/triggers/webhook-trigger-registrar.d.ts +3 -2
- package/dist/workflows/triggers/webhook-trigger-registrar.js +60 -32
- package/dist/workflows/triggers/webhook-trigger-registrar.js.map +1 -1
- package/dist/workflows/triggers/workflow-trigger-activator.d.ts +6 -3
- package/dist/workflows/triggers/workflow-trigger-activator.js +126 -60
- package/dist/workflows/triggers/workflow-trigger-activator.js.map +1 -1
- package/dist/workflows/workflow-creation.service.d.ts +1 -0
- package/dist/workflows/workflow-creation.service.js +17 -8
- package/dist/workflows/workflow-creation.service.js.map +1 -1
- package/dist/workflows/workflow-entity-mapper.d.ts +5 -0
- package/dist/workflows/workflow-entity-mapper.js +22 -0
- package/dist/workflows/workflow-entity-mapper.js.map +1 -0
- package/dist/workflows/workflow-execution.service.d.ts +6 -2
- package/dist/workflows/workflow-execution.service.js +36 -13
- package/dist/workflows/workflow-execution.service.js.map +1 -1
- package/dist/workflows/workflow-history/workflow-history.service.js +1 -0
- package/dist/workflows/workflow-history/workflow-history.service.js.map +1 -1
- package/dist/workflows/workflow-published-data.service.d.ts +1 -3
- package/dist/workflows/workflow-published-data.service.js +2 -9
- package/dist/workflows/workflow-published-data.service.js.map +1 -1
- package/dist/workflows/workflow-validation.service.js +2 -1
- package/dist/workflows/workflow-validation.service.js.map +1 -1
- package/dist/workflows/workflow.service.d.ts +4 -3
- package/dist/workflows/workflow.service.js +72 -33
- package/dist/workflows/workflow.service.js.map +1 -1
- package/dist/workflows/workflows.controller.d.ts +3 -2
- package/dist/workflows/workflows.controller.js +12 -23
- package/dist/workflows/workflows.controller.js.map +1 -1
- package/package.json +55 -37
- package/templates/form-trigger.handlebars +8 -1
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.KNOWLEDGE_FILES_DIR = exports.AGENT_KNOWLEDGE_VOLUME_MOUNT_PATH = void 0;
|
|
7
|
+
exports.hasControlCharacter = hasControlCharacter;
|
|
8
|
+
exports.buildKnowledgeVolumeSubpath = buildKnowledgeVolumeSubpath;
|
|
9
|
+
exports.assertKnowledgePathSegment = assertKnowledgePathSegment;
|
|
10
|
+
exports.toVolumeStorageReference = toVolumeStorageReference;
|
|
11
|
+
exports.fromVolumeStorageReference = fromVolumeStorageReference;
|
|
12
|
+
exports.storageFileNameForOriginalFileName = storageFileNameForOriginalFileName;
|
|
13
|
+
exports.toAgentFileDto = toAgentFileDto;
|
|
14
|
+
exports.isFilesystemNotFoundError = isFilesystemNotFoundError;
|
|
15
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
16
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
17
|
+
const bad_request_error_1 = require("../../errors/response-errors/bad-request.error");
|
|
18
|
+
exports.AGENT_KNOWLEDGE_VOLUME_MOUNT_PATH = '/home/daytona/workspace/agent-knowledge';
|
|
19
|
+
exports.KNOWLEDGE_FILES_DIR = `${exports.AGENT_KNOWLEDGE_VOLUME_MOUNT_PATH}/files`;
|
|
20
|
+
const AGENT_KNOWLEDGE_VOLUME_SUBPATH_PREFIX = 'agent-knowledge';
|
|
21
|
+
const DAYTONA_VOLUME_STORAGE_PREFIX = 'daytona-volume:';
|
|
22
|
+
function hasControlCharacter(value) {
|
|
23
|
+
for (const character of value) {
|
|
24
|
+
if (character.charCodeAt(0) < 32) {
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
function sanitizePathCharacter(character) {
|
|
31
|
+
if (character === '/' || character === '\\' || character.charCodeAt(0) < 32) {
|
|
32
|
+
return '_';
|
|
33
|
+
}
|
|
34
|
+
return character;
|
|
35
|
+
}
|
|
36
|
+
function buildKnowledgeVolumeSubpath(instanceId, projectId, agentId) {
|
|
37
|
+
return `${instanceId}/${AGENT_KNOWLEDGE_VOLUME_SUBPATH_PREFIX}/projects/${projectId}/agents/${agentId}/knowledge`;
|
|
38
|
+
}
|
|
39
|
+
function assertKnowledgePathSegment(segment, label) {
|
|
40
|
+
if (!segment ||
|
|
41
|
+
segment === '.' ||
|
|
42
|
+
segment === '..' ||
|
|
43
|
+
/[\\/]/.test(segment) ||
|
|
44
|
+
hasControlCharacter(segment)) {
|
|
45
|
+
throw new Error(`Invalid ${label} for agent knowledge storage`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
function sanitizeStorageFileName(originalName) {
|
|
49
|
+
const basename = node_path_1.default.basename(originalName);
|
|
50
|
+
const sanitized = Array.from(basename, sanitizePathCharacter).join('');
|
|
51
|
+
if (!sanitized || sanitized === '.' || sanitized === '..') {
|
|
52
|
+
throw new bad_request_error_1.BadRequestError(`Invalid knowledge file name "${originalName}"`);
|
|
53
|
+
}
|
|
54
|
+
return sanitized;
|
|
55
|
+
}
|
|
56
|
+
function toVolumeStorageReference(storageFileName) {
|
|
57
|
+
return `${DAYTONA_VOLUME_STORAGE_PREFIX}${storageFileName}`;
|
|
58
|
+
}
|
|
59
|
+
function fromVolumeStorageReference(binaryDataId) {
|
|
60
|
+
if (!binaryDataId.startsWith(DAYTONA_VOLUME_STORAGE_PREFIX)) {
|
|
61
|
+
throw new n8n_workflow_1.OperationalError('Unknown agent file storage reference');
|
|
62
|
+
}
|
|
63
|
+
return binaryDataId.slice(DAYTONA_VOLUME_STORAGE_PREFIX.length);
|
|
64
|
+
}
|
|
65
|
+
function storageFileNameForOriginalFileName(originalFileName) {
|
|
66
|
+
const sanitizedName = sanitizeStorageFileName(originalFileName);
|
|
67
|
+
const extension = node_path_1.default.extname(sanitizedName).toLowerCase();
|
|
68
|
+
if (extension === '.pdf') {
|
|
69
|
+
const baseName = node_path_1.default.basename(sanitizedName, node_path_1.default.extname(sanitizedName));
|
|
70
|
+
return `${baseName}.txt`;
|
|
71
|
+
}
|
|
72
|
+
return sanitizedName;
|
|
73
|
+
}
|
|
74
|
+
function toAgentFileDto(file) {
|
|
75
|
+
return {
|
|
76
|
+
id: file.id,
|
|
77
|
+
agentId: file.agentId,
|
|
78
|
+
fileName: file.fileName,
|
|
79
|
+
mimeType: file.mimeType,
|
|
80
|
+
fileSizeBytes: file.fileSizeBytes,
|
|
81
|
+
createdAt: file.createdAt.toISOString(),
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
function isFilesystemNotFoundError(error) {
|
|
85
|
+
return (error instanceof Error &&
|
|
86
|
+
'statusCode' in error &&
|
|
87
|
+
error.statusCode === 404);
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=agent-knowledge-storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-knowledge-storage.js","sourceRoot":"","sources":["../../../src/modules/agents/agent-knowledge-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,32 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type AgentFileDto } from '@n8n/api-types';
|
|
2
|
+
import { Logger } from '@n8n/backend-common';
|
|
3
|
+
import { AgentKnowledgeSandboxService } from './agent-knowledge-sandbox.service';
|
|
4
|
+
import { AgentFileRepository } from './repositories/agent-file.repository';
|
|
2
5
|
import { AgentRepository } from './repositories/agent.repository';
|
|
3
6
|
export declare class AgentKnowledgeService {
|
|
4
7
|
private readonly agentRepository;
|
|
5
|
-
|
|
6
|
-
|
|
8
|
+
private readonly agentFileRepository;
|
|
9
|
+
private readonly agentKnowledgeSandboxService;
|
|
10
|
+
private readonly logger;
|
|
11
|
+
constructor(agentRepository: AgentRepository, agentFileRepository: AgentFileRepository, agentKnowledgeSandboxService: AgentKnowledgeSandboxService, logger: Logger);
|
|
12
|
+
uploadFiles(agentId: string, projectId: string, files: Express.Multer.File[], userId: string): Promise<AgentFileDto[]>;
|
|
7
13
|
listFiles(agentId: string, projectId: string): Promise<AgentFileDto[]>;
|
|
8
|
-
|
|
9
|
-
|
|
14
|
+
warmSandbox(agentId: string, projectId: string, userId: string): Promise<void>;
|
|
15
|
+
deleteFile(agentId: string, projectId: string, fileId: string, userId: string): Promise<void>;
|
|
16
|
+
deleteAllFilesForAgent(projectId: string, agentId: string, userId: string): Promise<void>;
|
|
17
|
+
private reserveAgentFile;
|
|
18
|
+
private prepareVolumeUpload;
|
|
19
|
+
private cleanupUploadedFiles;
|
|
20
|
+
private extractPdfText;
|
|
21
|
+
private deleteVolumeFile;
|
|
22
|
+
private deleteVolumeFileInBackground;
|
|
23
|
+
private deleteKnowledgeDirectoryInBackground;
|
|
24
|
+
private deleteKnowledgeDirectory;
|
|
25
|
+
private storagePathFor;
|
|
26
|
+
private validateUploadMetadata;
|
|
27
|
+
private validateUploadBatch;
|
|
28
|
+
private duplicateFileNameError;
|
|
29
|
+
private validateMetadataLength;
|
|
10
30
|
private ensureAgentBelongsToProject;
|
|
11
31
|
private cleanupUploadTempFiles;
|
|
12
32
|
private cleanupUploadTempFile;
|
|
@@ -8,20 +8,73 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
15
|
exports.AgentKnowledgeService = void 0;
|
|
16
|
+
const api_types_1 = require("@n8n/api-types");
|
|
17
|
+
const ai_utilities_1 = require("@n8n/ai-utilities");
|
|
18
|
+
const backend_common_1 = require("@n8n/backend-common");
|
|
13
19
|
const di_1 = require("@n8n/di");
|
|
20
|
+
const typeorm_1 = require("@n8n/typeorm");
|
|
21
|
+
const utils_1 = require("@n8n/utils");
|
|
14
22
|
const promises_1 = require("node:fs/promises");
|
|
23
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
24
|
+
const bad_request_error_1 = require("../../errors/response-errors/bad-request.error");
|
|
15
25
|
const not_found_error_1 = require("../../errors/response-errors/not-found.error");
|
|
26
|
+
const agent_knowledge_storage_1 = require("./agent-knowledge-storage");
|
|
27
|
+
const agent_knowledge_sandbox_service_1 = require("./agent-knowledge-sandbox.service");
|
|
28
|
+
const agent_file_repository_1 = require("./repositories/agent-file.repository");
|
|
16
29
|
const agent_repository_1 = require("./repositories/agent.repository");
|
|
30
|
+
const MAX_AGENT_FILE_METADATA_LENGTH = 255;
|
|
31
|
+
function isUniqueConstraintError(error) {
|
|
32
|
+
if (!(error instanceof typeorm_1.QueryFailedError))
|
|
33
|
+
return false;
|
|
34
|
+
const driverError = error.driverError;
|
|
35
|
+
if (!driverError || typeof driverError !== 'object')
|
|
36
|
+
return false;
|
|
37
|
+
const code = 'code' in driverError && typeof driverError.code === 'string' ? driverError.code : undefined;
|
|
38
|
+
if (code === '23505')
|
|
39
|
+
return true;
|
|
40
|
+
if (code === 'SQLITE_CONSTRAINT_UNIQUE')
|
|
41
|
+
return true;
|
|
42
|
+
if (code === 'SQLITE_CONSTRAINT' && /UNIQUE constraint/i.test(error.message))
|
|
43
|
+
return true;
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
17
46
|
let AgentKnowledgeService = class AgentKnowledgeService {
|
|
18
|
-
constructor(agentRepository) {
|
|
47
|
+
constructor(agentRepository, agentFileRepository, agentKnowledgeSandboxService, logger) {
|
|
19
48
|
this.agentRepository = agentRepository;
|
|
49
|
+
this.agentFileRepository = agentFileRepository;
|
|
50
|
+
this.agentKnowledgeSandboxService = agentKnowledgeSandboxService;
|
|
51
|
+
this.logger = logger;
|
|
20
52
|
}
|
|
21
|
-
async uploadFiles(agentId, projectId, files) {
|
|
53
|
+
async uploadFiles(agentId, projectId, files, userId) {
|
|
22
54
|
try {
|
|
23
55
|
await this.ensureAgentBelongsToProject(agentId, projectId);
|
|
24
|
-
|
|
56
|
+
this.validateUploadMetadata(files);
|
|
57
|
+
await this.validateUploadBatch(agentId, files);
|
|
58
|
+
const uploadedFiles = [];
|
|
59
|
+
await this.agentKnowledgeSandboxService.withKnowledgeFilesystem(projectId, agentId, userId, async (filesystem) => {
|
|
60
|
+
const volumeUploads = [];
|
|
61
|
+
try {
|
|
62
|
+
for (const file of files) {
|
|
63
|
+
const storageFileName = (0, agent_knowledge_storage_1.storageFileNameForOriginalFileName)(file.originalname);
|
|
64
|
+
const agentFile = await this.reserveAgentFile(agentId, file, storageFileName);
|
|
65
|
+
uploadedFiles.push(agentFile);
|
|
66
|
+
const upload = await this.prepareVolumeUpload(file, storageFileName);
|
|
67
|
+
volumeUploads.push(upload);
|
|
68
|
+
}
|
|
69
|
+
await filesystem.ensureDir(agent_knowledge_storage_1.KNOWLEDGE_FILES_DIR);
|
|
70
|
+
await filesystem.uploadFiles(volumeUploads);
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
await this.cleanupUploadedFiles(filesystem, uploadedFiles);
|
|
74
|
+
throw error;
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
return uploadedFiles.map((file) => (0, agent_knowledge_storage_1.toAgentFileDto)(file));
|
|
25
78
|
}
|
|
26
79
|
finally {
|
|
27
80
|
await this.cleanupUploadTempFiles(files);
|
|
@@ -29,12 +82,179 @@ let AgentKnowledgeService = class AgentKnowledgeService {
|
|
|
29
82
|
}
|
|
30
83
|
async listFiles(agentId, projectId) {
|
|
31
84
|
await this.ensureAgentBelongsToProject(agentId, projectId);
|
|
32
|
-
|
|
85
|
+
const files = await this.agentFileRepository.findByAgentId(agentId);
|
|
86
|
+
return files.map((file) => (0, agent_knowledge_storage_1.toAgentFileDto)(file));
|
|
87
|
+
}
|
|
88
|
+
async warmSandbox(agentId, projectId, userId) {
|
|
89
|
+
await this.ensureAgentBelongsToProject(agentId, projectId);
|
|
90
|
+
await this.agentKnowledgeSandboxService.warmSandbox(projectId, agentId, userId);
|
|
33
91
|
}
|
|
34
|
-
async deleteFile(agentId, projectId,
|
|
92
|
+
async deleteFile(agentId, projectId, fileId, userId) {
|
|
35
93
|
await this.ensureAgentBelongsToProject(agentId, projectId);
|
|
94
|
+
const file = await this.agentFileRepository.findByIdAndAgentId(fileId, agentId);
|
|
95
|
+
if (!file) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
await this.agentFileRepository.delete({ id: fileId, agentId });
|
|
99
|
+
this.deleteVolumeFileInBackground(projectId, agentId, userId, file);
|
|
100
|
+
}
|
|
101
|
+
async deleteAllFilesForAgent(projectId, agentId, userId) {
|
|
102
|
+
await this.agentFileRepository.delete({ agentId });
|
|
103
|
+
this.deleteKnowledgeDirectoryInBackground(projectId, agentId, userId);
|
|
104
|
+
}
|
|
105
|
+
async reserveAgentFile(agentId, file, storageFileName) {
|
|
106
|
+
const fileId = (0, utils_1.generateNanoId)();
|
|
107
|
+
const agentFile = this.agentFileRepository.create({
|
|
108
|
+
id: fileId,
|
|
109
|
+
agentId,
|
|
110
|
+
binaryDataId: (0, agent_knowledge_storage_1.toVolumeStorageReference)(storageFileName),
|
|
111
|
+
fileName: file.originalname,
|
|
112
|
+
mimeType: file.mimetype,
|
|
113
|
+
fileSizeBytes: file.size,
|
|
114
|
+
});
|
|
115
|
+
try {
|
|
116
|
+
return await this.agentFileRepository.save(agentFile);
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
if (isUniqueConstraintError(error)) {
|
|
120
|
+
throw this.duplicateFileNameError(file.originalname);
|
|
121
|
+
}
|
|
122
|
+
throw error;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
async prepareVolumeUpload(file, storageFileName) {
|
|
126
|
+
if (!file.path) {
|
|
127
|
+
throw new bad_request_error_1.BadRequestError('Uploaded file path is missing');
|
|
128
|
+
}
|
|
129
|
+
const extension = node_path_1.default.extname(file.originalname).toLowerCase();
|
|
130
|
+
if (extension === '.pdf') {
|
|
131
|
+
const extractedText = await this.extractPdfText(file.path);
|
|
132
|
+
return {
|
|
133
|
+
source: Buffer.from(extractedText, 'utf-8'),
|
|
134
|
+
destination: this.storagePathFor(storageFileName),
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
return {
|
|
138
|
+
source: file.path,
|
|
139
|
+
destination: this.storagePathFor(storageFileName),
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
async cleanupUploadedFiles(filesystem, files) {
|
|
143
|
+
for (const file of files) {
|
|
144
|
+
await this.deleteVolumeFile(filesystem, file).catch(() => { });
|
|
145
|
+
await this.agentFileRepository.delete({ id: file.id, agentId: file.agentId }).catch(() => { });
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
async extractPdfText(filePath) {
|
|
149
|
+
const loader = new ai_utilities_1.N8nPdfLoader(filePath, { splitPages: false });
|
|
150
|
+
const documents = await loader.load();
|
|
151
|
+
const extractedText = documents
|
|
152
|
+
.map((document) => document.pageContent)
|
|
153
|
+
.join('\n\n')
|
|
154
|
+
.trim();
|
|
155
|
+
if (!extractedText) {
|
|
156
|
+
throw new bad_request_error_1.BadRequestError('PDF contains no extractable text and cannot be added to knowledge');
|
|
157
|
+
}
|
|
158
|
+
return extractedText;
|
|
159
|
+
}
|
|
160
|
+
async deleteVolumeFile(filesystem, file) {
|
|
161
|
+
const storageFileName = (0, agent_knowledge_storage_1.fromVolumeStorageReference)(file.binaryDataId);
|
|
162
|
+
try {
|
|
163
|
+
await filesystem.deleteFile(this.storagePathFor(storageFileName));
|
|
164
|
+
}
|
|
165
|
+
catch (error) {
|
|
166
|
+
if (!(0, agent_knowledge_storage_1.isFilesystemNotFoundError)(error)) {
|
|
167
|
+
throw error;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
deleteVolumeFileInBackground(projectId, agentId, userId, file) {
|
|
172
|
+
void this.agentKnowledgeSandboxService
|
|
173
|
+
.withKnowledgeFilesystem(projectId, agentId, userId, async (filesystem) => {
|
|
174
|
+
await this.deleteVolumeFile(filesystem, file);
|
|
175
|
+
})
|
|
176
|
+
.catch((error) => {
|
|
177
|
+
this.logger.warn('Failed to delete knowledge file from volume', {
|
|
178
|
+
agentId,
|
|
179
|
+
fileId: file.id,
|
|
180
|
+
error: error instanceof Error ? error.message : error,
|
|
181
|
+
});
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
deleteKnowledgeDirectoryInBackground(projectId, agentId, userId) {
|
|
185
|
+
void this.agentKnowledgeSandboxService
|
|
186
|
+
.withKnowledgeFilesystem(projectId, agentId, userId, async (filesystem) => {
|
|
187
|
+
await this.deleteKnowledgeDirectory(filesystem);
|
|
188
|
+
})
|
|
189
|
+
.catch((error) => {
|
|
190
|
+
this.logger.warn('Failed to delete knowledge files from volume', {
|
|
191
|
+
agentId,
|
|
192
|
+
error: error instanceof Error ? error.message : error,
|
|
193
|
+
});
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
async deleteKnowledgeDirectory(filesystem) {
|
|
197
|
+
try {
|
|
198
|
+
await filesystem.deleteFile(agent_knowledge_storage_1.KNOWLEDGE_FILES_DIR, true);
|
|
199
|
+
}
|
|
200
|
+
catch (error) {
|
|
201
|
+
if (!(0, agent_knowledge_storage_1.isFilesystemNotFoundError)(error)) {
|
|
202
|
+
throw error;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
36
205
|
}
|
|
37
|
-
|
|
206
|
+
storagePathFor(storageFileName) {
|
|
207
|
+
return `${agent_knowledge_storage_1.KNOWLEDGE_FILES_DIR}/${storageFileName}`;
|
|
208
|
+
}
|
|
209
|
+
validateUploadMetadata(files) {
|
|
210
|
+
for (const file of files) {
|
|
211
|
+
this.validateMetadataLength('File name', file.originalname);
|
|
212
|
+
this.validateMetadataLength('MIME type', file.mimetype);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
async validateUploadBatch(agentId, files) {
|
|
216
|
+
const existingFiles = await this.agentFileRepository.findByAgentId(agentId);
|
|
217
|
+
const existingTotalSizeBytes = existingFiles.reduce((total, file) => total + file.fileSizeBytes, 0);
|
|
218
|
+
const uploadTotalSizeBytes = files.reduce((total, file) => total + file.size, 0);
|
|
219
|
+
if (existingTotalSizeBytes + uploadTotalSizeBytes > api_types_1.MAX_AGENT_KNOWLEDGE_BASE_SIZE_BYTES) {
|
|
220
|
+
throw new bad_request_error_1.BadRequestError(`Knowledge base limit reached. The total size can't be larger than ${api_types_1.MAX_AGENT_KNOWLEDGE_BASE_SIZE_GB} GB.`);
|
|
221
|
+
}
|
|
222
|
+
const existingFileNames = new Set(existingFiles.map((file) => file.fileName));
|
|
223
|
+
const existingStorageNames = new Set();
|
|
224
|
+
for (const file of existingFiles) {
|
|
225
|
+
try {
|
|
226
|
+
existingStorageNames.add((0, agent_knowledge_storage_1.fromVolumeStorageReference)(file.binaryDataId));
|
|
227
|
+
}
|
|
228
|
+
catch {
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
const batchFileNames = new Set();
|
|
232
|
+
const batchStorageNames = new Set();
|
|
233
|
+
for (const file of files) {
|
|
234
|
+
if (batchFileNames.has(file.originalname)) {
|
|
235
|
+
throw this.duplicateFileNameError(file.originalname);
|
|
236
|
+
}
|
|
237
|
+
batchFileNames.add(file.originalname);
|
|
238
|
+
if (existingFileNames.has(file.originalname)) {
|
|
239
|
+
throw this.duplicateFileNameError(file.originalname);
|
|
240
|
+
}
|
|
241
|
+
const storageFileName = (0, agent_knowledge_storage_1.storageFileNameForOriginalFileName)(file.originalname);
|
|
242
|
+
if (batchStorageNames.has(storageFileName)) {
|
|
243
|
+
throw this.duplicateFileNameError(file.originalname);
|
|
244
|
+
}
|
|
245
|
+
batchStorageNames.add(storageFileName);
|
|
246
|
+
if (existingStorageNames.has(storageFileName)) {
|
|
247
|
+
throw this.duplicateFileNameError(file.originalname);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
duplicateFileNameError(fileName) {
|
|
252
|
+
return new bad_request_error_1.BadRequestError(`A knowledge file named "${fileName}" already exists for this agent`);
|
|
253
|
+
}
|
|
254
|
+
validateMetadataLength(label, value) {
|
|
255
|
+
if (value.length > MAX_AGENT_FILE_METADATA_LENGTH) {
|
|
256
|
+
throw new bad_request_error_1.BadRequestError(`${label} must be ${MAX_AGENT_FILE_METADATA_LENGTH} characters or less`);
|
|
257
|
+
}
|
|
38
258
|
}
|
|
39
259
|
async ensureAgentBelongsToProject(agentId, projectId) {
|
|
40
260
|
const agent = await this.agentRepository.findByIdAndProjectId(agentId, projectId);
|
|
@@ -54,6 +274,9 @@ let AgentKnowledgeService = class AgentKnowledgeService {
|
|
|
54
274
|
exports.AgentKnowledgeService = AgentKnowledgeService;
|
|
55
275
|
exports.AgentKnowledgeService = AgentKnowledgeService = __decorate([
|
|
56
276
|
(0, di_1.Service)(),
|
|
57
|
-
__metadata("design:paramtypes", [agent_repository_1.AgentRepository
|
|
277
|
+
__metadata("design:paramtypes", [agent_repository_1.AgentRepository,
|
|
278
|
+
agent_file_repository_1.AgentFileRepository,
|
|
279
|
+
agent_knowledge_sandbox_service_1.AgentKnowledgeSandboxService,
|
|
280
|
+
backend_common_1.Logger])
|
|
58
281
|
], AgentKnowledgeService);
|
|
59
282
|
//# sourceMappingURL=agent-knowledge.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-knowledge.service.js","sourceRoot":"","sources":["../../../src/modules/agents/agent-knowledge.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent-knowledge.service.js","sourceRoot":"","sources":["../../../src/modules/agents/agent-knowledge.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type Agent as RuntimeAgent, CredentialProvider, ToolDescriptor } from '@n8n/agents';
|
|
2
2
|
import { type AgentIntegrationConfig, type AgentJsonConfig, type AgentSkill, type SubAgentSource } from '@n8n/api-types';
|
|
3
3
|
import { Logger } from '@n8n/backend-common';
|
|
4
|
+
import { OutboundHttp } from '@n8n/backend-network';
|
|
4
5
|
import { AgentsConfig } from '@n8n/config';
|
|
5
6
|
import { UserRepository, WorkflowRepository } from '@n8n/db';
|
|
6
7
|
import { ActiveExecutions } from '../../active-executions';
|
|
@@ -9,13 +10,15 @@ import { OauthService } from '../../oauth/oauth.service';
|
|
|
9
10
|
import { UrlService } from '../../services/url.service';
|
|
10
11
|
import { WorkflowRunner } from '../../workflow-runner';
|
|
11
12
|
import { WorkflowFinderService } from '../../workflows/workflow-finder.service';
|
|
13
|
+
import { AgentsToolsService } from './agents-tools.service';
|
|
12
14
|
import { Agent } from './entities/agent.entity';
|
|
13
15
|
import { N8NCheckpointStorage } from './integrations/n8n-checkpoint-storage';
|
|
14
16
|
import { N8nMemory } from './integrations/n8n-memory';
|
|
17
|
+
import { AgentFileRepository } from './repositories/agent-file.repository';
|
|
15
18
|
import { AgentRepository } from './repositories/agent.repository';
|
|
16
19
|
import { AgentSecureRuntime } from './runtime/agent-secure-runtime';
|
|
20
|
+
import { AgentKnowledgeSandboxService } from './agent-knowledge-sandbox.service';
|
|
17
21
|
import { type ToolRegistry } from './tool-registry';
|
|
18
|
-
import { AgentsToolsService } from './agents-tools.service';
|
|
19
22
|
export type AgentRuntimeProfile = 'top-level' | 'sub-agent';
|
|
20
23
|
export interface SubAgentDelegationConfig {
|
|
21
24
|
sourcesById: Record<string, SubAgentSource>;
|
|
@@ -42,6 +45,7 @@ export interface ReconstructAgentRuntimeParams {
|
|
|
42
45
|
export declare class AgentRuntimeReconstructionService {
|
|
43
46
|
private readonly logger;
|
|
44
47
|
private readonly agentRepository;
|
|
48
|
+
private readonly agentFileRepository;
|
|
45
49
|
private readonly workflowRunner;
|
|
46
50
|
private readonly activeExecutions;
|
|
47
51
|
private readonly workflowRepository;
|
|
@@ -55,7 +59,9 @@ export declare class AgentRuntimeReconstructionService {
|
|
|
55
59
|
private readonly n8nMemory;
|
|
56
60
|
private readonly oauthService;
|
|
57
61
|
private readonly agentsConfig;
|
|
58
|
-
|
|
62
|
+
private readonly outboundHttp;
|
|
63
|
+
private readonly agentKnowledgeSandboxService;
|
|
64
|
+
constructor(logger: Logger, agentRepository: AgentRepository, agentFileRepository: AgentFileRepository, workflowRunner: WorkflowRunner, activeExecutions: ActiveExecutions, workflowRepository: WorkflowRepository, userRepository: UserRepository, workflowFinderService: WorkflowFinderService, urlService: UrlService, n8nCheckpointStorage: N8NCheckpointStorage, secureRuntime: AgentSecureRuntime, ephemeralNodeExecutor: EphemeralNodeExecutor, agentsToolsService: AgentsToolsService, n8nMemory: N8nMemory, oauthService: OauthService, agentsConfig: AgentsConfig, outboundHttp: OutboundHttp, agentKnowledgeSandboxService: AgentKnowledgeSandboxService);
|
|
59
65
|
reconstructFromAgentEntity(agentEntity: Agent, credentialProvider: CredentialProvider, userId: string, integrationType?: string): Promise<{
|
|
60
66
|
agent: RuntimeAgent;
|
|
61
67
|
toolRegistry: ToolRegistry;
|
|
@@ -46,6 +46,7 @@ exports.AgentRuntimeReconstructionService = void 0;
|
|
|
46
46
|
const agents_1 = require("@n8n/agents");
|
|
47
47
|
const api_types_1 = require("@n8n/api-types");
|
|
48
48
|
const backend_common_1 = require("@n8n/backend-common");
|
|
49
|
+
const backend_network_1 = require("@n8n/backend-network");
|
|
49
50
|
const config_1 = require("@n8n/config");
|
|
50
51
|
const db_1 = require("@n8n/db");
|
|
51
52
|
const di_1 = require("@n8n/di");
|
|
@@ -54,8 +55,10 @@ const active_executions_1 = require("../../active-executions");
|
|
|
54
55
|
const node_execution_1 = require("../../node-execution");
|
|
55
56
|
const oauth_service_1 = require("../../oauth/oauth.service");
|
|
56
57
|
const url_service_1 = require("../../services/url.service");
|
|
58
|
+
const ai_proxy_fetch_1 = require("../../utils/ai-proxy-fetch");
|
|
57
59
|
const workflow_runner_1 = require("../../workflow-runner");
|
|
58
60
|
const workflow_finder_service_1 = require("../../workflows/workflow-finder.service");
|
|
61
|
+
const agents_tools_service_1 = require("./agents-tools.service");
|
|
59
62
|
const agent_chat_integration_1 = require("./integrations/agent-chat-integration");
|
|
60
63
|
const integration_action_executor_1 = require("./integrations/integration-action-executor");
|
|
61
64
|
const integration_context_query_executor_1 = require("./integrations/integration-context-query-executor");
|
|
@@ -63,20 +66,23 @@ const integration_message_context_service_1 = require("./integrations/integratio
|
|
|
63
66
|
const integration_tools_1 = require("./integrations/integration-tools");
|
|
64
67
|
const n8n_checkpoint_storage_1 = require("./integrations/n8n-checkpoint-storage");
|
|
65
68
|
const n8n_memory_1 = require("./integrations/n8n-memory");
|
|
66
|
-
const environment_tool_1 = require("./tools/environment-tool");
|
|
67
69
|
const from_json_config_1 = require("./json-config/from-json-config");
|
|
68
70
|
const mcp_client_factory_1 = require("./json-config/mcp-client-factory");
|
|
69
71
|
const model_config_1 = require("./json-config/model-config");
|
|
72
|
+
const agent_file_repository_1 = require("./repositories/agent-file.repository");
|
|
70
73
|
const agent_repository_1 = require("./repositories/agent.repository");
|
|
71
74
|
const agent_secure_runtime_1 = require("./runtime/agent-secure-runtime");
|
|
72
|
-
const
|
|
73
|
-
const
|
|
75
|
+
const agent_knowledge_gate_1 = require("./agent-knowledge-gate");
|
|
76
|
+
const agent_knowledge_sandbox_service_1 = require("./agent-knowledge-sandbox.service");
|
|
74
77
|
const delegate_sub_agent_tool_1 = require("./sub-agents/delegate-sub-agent-tool");
|
|
75
78
|
const sub_agent_foreground_runner_1 = require("./sub-agents/sub-agent-foreground-runner");
|
|
79
|
+
const tool_registry_1 = require("./tool-registry");
|
|
80
|
+
const environment_tool_1 = require("./tools/environment-tool");
|
|
76
81
|
let AgentRuntimeReconstructionService = class AgentRuntimeReconstructionService {
|
|
77
|
-
constructor(logger, agentRepository, workflowRunner, activeExecutions, workflowRepository, userRepository, workflowFinderService, urlService, n8nCheckpointStorage, secureRuntime, ephemeralNodeExecutor, agentsToolsService, n8nMemory, oauthService, agentsConfig) {
|
|
82
|
+
constructor(logger, agentRepository, agentFileRepository, workflowRunner, activeExecutions, workflowRepository, userRepository, workflowFinderService, urlService, n8nCheckpointStorage, secureRuntime, ephemeralNodeExecutor, agentsToolsService, n8nMemory, oauthService, agentsConfig, outboundHttp, agentKnowledgeSandboxService) {
|
|
78
83
|
this.logger = logger;
|
|
79
84
|
this.agentRepository = agentRepository;
|
|
85
|
+
this.agentFileRepository = agentFileRepository;
|
|
80
86
|
this.workflowRunner = workflowRunner;
|
|
81
87
|
this.activeExecutions = activeExecutions;
|
|
82
88
|
this.workflowRepository = workflowRepository;
|
|
@@ -90,6 +96,8 @@ let AgentRuntimeReconstructionService = class AgentRuntimeReconstructionService
|
|
|
90
96
|
this.n8nMemory = n8nMemory;
|
|
91
97
|
this.oauthService = oauthService;
|
|
92
98
|
this.agentsConfig = agentsConfig;
|
|
99
|
+
this.outboundHttp = outboundHttp;
|
|
100
|
+
this.agentKnowledgeSandboxService = agentKnowledgeSandboxService;
|
|
93
101
|
}
|
|
94
102
|
async reconstructFromAgentEntity(agentEntity, credentialProvider, userId, integrationType) {
|
|
95
103
|
const config = agentEntity.schema;
|
|
@@ -132,10 +140,12 @@ let AgentRuntimeReconstructionService = class AgentRuntimeReconstructionService
|
|
|
132
140
|
const toolExecutor = this.secureRuntime.createToolExecutor(toolCodeByName);
|
|
133
141
|
const toolResolver = this.makeToolResolver(projectId, userId);
|
|
134
142
|
const resolvedTools = [];
|
|
143
|
+
const aiProxyFetch = (0, ai_proxy_fetch_1.createAiProxyFetch)(this.outboundHttp);
|
|
135
144
|
const buildMcpClient = async (server) => await (0, mcp_client_factory_1.buildMcpClientForServer)(server, {
|
|
136
145
|
credentialProvider,
|
|
137
146
|
oauthService: this.oauthService,
|
|
138
147
|
projectId,
|
|
148
|
+
proxyFetch: aiProxyFetch,
|
|
139
149
|
});
|
|
140
150
|
const reconstructed = await (0, from_json_config_1.buildFromJson)(config, toolDescriptors, {
|
|
141
151
|
toolExecutor,
|
|
@@ -149,6 +159,7 @@ let AgentRuntimeReconstructionService = class AgentRuntimeReconstructionService
|
|
|
149
159
|
skills,
|
|
150
160
|
memoryFactory: this.getMemoryFactory(memoryOwnerAgentId),
|
|
151
161
|
buildMcpClient,
|
|
162
|
+
modelFetch: aiProxyFetch,
|
|
152
163
|
});
|
|
153
164
|
await this.injectRuntimeDependencies({
|
|
154
165
|
agent: reconstructed,
|
|
@@ -234,21 +245,45 @@ let AgentRuntimeReconstructionService = class AgentRuntimeReconstructionService
|
|
|
234
245
|
};
|
|
235
246
|
}
|
|
236
247
|
async injectRuntimeDependencies(params) {
|
|
237
|
-
const { agent, agentId, projectId, credentialProvider, userId, runtimeProfile, config, nodeToolsEnabled, subAgentDelegation, parentAgentIdForDelegation, credentialIntegrations, } = params;
|
|
248
|
+
const { agent, agentId, projectId, credentialProvider, userId, runtimeProfile, config, nodeToolsEnabled, subAgentDelegation, parentAgentIdForDelegation, integrationType, credentialIntegrations, } = params;
|
|
238
249
|
agent.tool((0, environment_tool_1.createGetEnvironmentTool)());
|
|
250
|
+
if ((0, agent_knowledge_gate_1.isAgentKnowledgeBaseEnabled)(this.agentsConfig) &&
|
|
251
|
+
(await this.agentFileRepository.hasFilesForAgent(agentId))) {
|
|
252
|
+
const { createKnowledgeRetrievalTools } = await Promise.resolve().then(() => __importStar(require('./tools/knowledge/search-knowledge.tool')));
|
|
253
|
+
agent.tool(createKnowledgeRetrievalTools({
|
|
254
|
+
projectId,
|
|
255
|
+
agentId,
|
|
256
|
+
userId,
|
|
257
|
+
sandboxService: this.agentKnowledgeSandboxService,
|
|
258
|
+
}));
|
|
259
|
+
}
|
|
239
260
|
if (runtimeProfile === 'top-level') {
|
|
240
|
-
const
|
|
241
|
-
if (credentialIntegrations.length > 0) {
|
|
261
|
+
const includeN8nChat = integrationType === api_types_1.N8N_CHAT_INTEGRATION_TYPE;
|
|
262
|
+
if (credentialIntegrations.length > 0 || includeN8nChat) {
|
|
263
|
+
const integrationRegistry = di_1.Container.get(agent_chat_integration_1.ChatIntegrationRegistry);
|
|
242
264
|
const messageContextStore = di_1.Container.get(integration_message_context_service_1.IntegrationMessageContextService);
|
|
243
265
|
const actionExecutor = di_1.Container.get(integration_action_executor_1.ChatIntegrationActionExecutor);
|
|
244
266
|
const queryExecutor = di_1.Container.get(integration_context_query_executor_1.ChatIntegrationContextQueryExecutor);
|
|
245
|
-
|
|
267
|
+
const descriptors = (0, integration_tools_1.getIntegrationToolConnectionDescriptors)(credentialIntegrations, agentId, (integrationConfig) => {
|
|
246
268
|
const integrationDef = integrationRegistry.get(integrationConfig.type);
|
|
247
269
|
return {
|
|
248
270
|
contextQueries: integrationDef?.contextQueries,
|
|
249
271
|
actions: integrationDef?.actions,
|
|
250
272
|
};
|
|
251
|
-
})
|
|
273
|
+
});
|
|
274
|
+
if (includeN8nChat) {
|
|
275
|
+
const n8nChat = integrationRegistry.require(api_types_1.N8N_CHAT_INTEGRATION_TYPE);
|
|
276
|
+
descriptors.push({
|
|
277
|
+
agentId,
|
|
278
|
+
integration: { type: api_types_1.N8N_CHAT_INTEGRATION_TYPE },
|
|
279
|
+
integrationConnectionId: api_types_1.N8N_CHAT_INTEGRATION_TYPE,
|
|
280
|
+
contextToolName: api_types_1.N8N_CHAT_CONTEXT_TOOL_NAME,
|
|
281
|
+
actionToolName: api_types_1.N8N_CHAT_ACTION_TOOL_NAME,
|
|
282
|
+
contextQueries: [...n8nChat.contextQueries],
|
|
283
|
+
actions: [...n8nChat.actions],
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
for (const descriptor of descriptors) {
|
|
252
287
|
agent.tool((0, integration_tools_1.createIntegrationContextTool)({ descriptor, messageContextStore, queryExecutor }));
|
|
253
288
|
agent.tool((0, integration_tools_1.createIntegrationActionTool)({ descriptor, messageContextStore, actionExecutor }));
|
|
254
289
|
}
|
|
@@ -270,7 +305,7 @@ let AgentRuntimeReconstructionService = class AgentRuntimeReconstructionService
|
|
|
270
305
|
this.attachWriteTodosTool(agent, agentId);
|
|
271
306
|
}
|
|
272
307
|
if (!agent.hasCheckpointStorage()) {
|
|
273
|
-
agent.checkpoint(this.n8nCheckpointStorage);
|
|
308
|
+
agent.checkpoint(this.n8nCheckpointStorage.getStorage(agentId));
|
|
274
309
|
}
|
|
275
310
|
}
|
|
276
311
|
async attachSubAgentDelegationTool(params) {
|
|
@@ -319,6 +354,7 @@ exports.AgentRuntimeReconstructionService = AgentRuntimeReconstructionService =
|
|
|
319
354
|
(0, di_1.Service)(),
|
|
320
355
|
__metadata("design:paramtypes", [backend_common_1.Logger,
|
|
321
356
|
agent_repository_1.AgentRepository,
|
|
357
|
+
agent_file_repository_1.AgentFileRepository,
|
|
322
358
|
workflow_runner_1.WorkflowRunner,
|
|
323
359
|
active_executions_1.ActiveExecutions,
|
|
324
360
|
db_1.WorkflowRepository,
|
|
@@ -331,6 +367,8 @@ exports.AgentRuntimeReconstructionService = AgentRuntimeReconstructionService =
|
|
|
331
367
|
agents_tools_service_1.AgentsToolsService,
|
|
332
368
|
n8n_memory_1.N8nMemory,
|
|
333
369
|
oauth_service_1.OauthService,
|
|
334
|
-
config_1.AgentsConfig
|
|
370
|
+
config_1.AgentsConfig,
|
|
371
|
+
backend_network_1.OutboundHttp,
|
|
372
|
+
agent_knowledge_sandbox_service_1.AgentKnowledgeSandboxService])
|
|
335
373
|
], AgentRuntimeReconstructionService);
|
|
336
374
|
//# sourceMappingURL=agent-runtime-reconstruction.service.js.map
|