n8n 2.25.6 → 2.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/active-executions.js +1 -1
- package/dist/active-executions.js.map +1 -1
- package/dist/active-workflow-manager.d.ts +7 -7
- package/dist/active-workflow-manager.js +20 -20
- package/dist/active-workflow-manager.js.map +1 -1
- package/dist/agent-library-bundle.js +42 -10
- package/dist/build.tsbuildinfo +1 -1
- package/dist/chat/chat-execution-manager.d.ts +3 -1
- package/dist/chat/chat-execution-manager.js +6 -3
- package/dist/chat/chat-execution-manager.js.map +1 -1
- package/dist/chat/chat-service.types.d.ts +4 -4
- package/dist/commands/base-command.js +2 -2
- package/dist/commands/base-command.js.map +1 -1
- package/dist/commands/execute-batch.d.ts +2 -2
- package/dist/commands/execute.d.ts +2 -2
- package/dist/commands/export/credentials.d.ts +4 -4
- package/dist/commands/export/entities.d.ts +2 -2
- package/dist/commands/export/workflow.d.ts +4 -4
- package/dist/commands/import/credentials.d.ts +2 -2
- package/dist/commands/import/workflow.d.ts +2 -2
- package/dist/commands/start.js +1 -1
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/ttwf/generate.d.ts +2 -2
- package/dist/controllers/annotation-tags.controller.ee.d.ts +1 -1
- package/dist/controllers/api-keys.controller.d.ts +16 -4
- package/dist/controllers/api-keys.controller.js +11 -8
- package/dist/controllers/api-keys.controller.js.map +1 -1
- package/dist/controllers/e2e.controller.d.ts +15 -0
- package/dist/controllers/e2e.controller.js +60 -0
- package/dist/controllers/e2e.controller.js.map +1 -1
- package/dist/controllers/oauth/oauth1-credential.controller.js +7 -9
- package/dist/controllers/oauth/oauth1-credential.controller.js.map +1 -1
- package/dist/controllers/oauth/oauth2-credential.controller.js +3 -3
- package/dist/controllers/oauth/oauth2-credential.controller.js.map +1 -1
- package/dist/controllers/project.controller.d.ts +1 -1
- package/dist/controllers/project.controller.js +9 -1
- package/dist/controllers/project.controller.js.map +1 -1
- package/dist/controllers/security-settings.controller.d.ts +1 -1
- package/dist/controllers/security-settings.controller.js +18 -14
- package/dist/controllers/security-settings.controller.js.map +1 -1
- package/dist/controllers/telemetry.controller.d.ts +4 -1
- package/dist/controllers/telemetry.controller.js +61 -2
- package/dist/controllers/telemetry.controller.js.map +1 -1
- package/dist/controllers/users.controller.d.ts +2 -2
- package/dist/credentials/credential-connection-status-provider.interface.d.ts +1 -0
- package/dist/credentials/credential-connection-status-proxy.d.ts +1 -0
- package/dist/credentials/credential-connection-status-proxy.js +5 -0
- package/dist/credentials/credential-connection-status-proxy.js.map +1 -1
- package/dist/credentials/credential-resolution-provider.interface.d.ts +1 -0
- package/dist/credentials/credentials.controller.d.ts +3 -1
- package/dist/credentials/credentials.controller.js +23 -2
- package/dist/credentials/credentials.controller.js.map +1 -1
- package/dist/credentials-helper.js +3 -0
- package/dist/credentials-helper.js.map +1 -1
- package/dist/errors/http-error-serializers.js +22 -2
- package/dist/errors/http-error-serializers.js.map +1 -1
- package/dist/errors/response-errors/conflict.error.d.ts +2 -1
- package/dist/errors/response-errors/conflict.error.js +2 -1
- package/dist/errors/response-errors/conflict.error.js.map +1 -1
- package/dist/evaluation.ee/evaluation-config-validator.d.ts +1 -0
- package/dist/evaluation.ee/evaluation-config-validator.js +69 -0
- package/dist/evaluation.ee/evaluation-config-validator.js.map +1 -1
- package/dist/evaluation.ee/test-runner/evaluation-metrics.ee.js +2 -1
- package/dist/evaluation.ee/test-runner/evaluation-metrics.ee.js.map +1 -1
- package/dist/evaluation.ee/test-runner/test-runner.service.ee.d.ts +6 -2
- package/dist/evaluation.ee/test-runner/test-runner.service.ee.js +59 -16
- package/dist/evaluation.ee/test-runner/test-runner.service.ee.js.map +1 -1
- package/dist/evaluation.ee/test-runner/workflow-compiler.service.js +28 -1
- package/dist/evaluation.ee/test-runner/workflow-compiler.service.js.map +1 -1
- package/dist/evaluation.ee/test-runs.controller.ee.js +6 -1
- package/dist/evaluation.ee/test-runs.controller.ee.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/execution-data.event-map.d.ts +14 -0
- package/dist/events/maps/execution-data.event-map.js +3 -0
- package/dist/events/maps/execution-data.event-map.js.map +1 -0
- package/dist/events/maps/relay.event-map.d.ts +19 -5
- package/dist/events/relays/log-streaming.event-relay.js +2 -0
- package/dist/events/relays/log-streaming.event-relay.js.map +1 -1
- package/dist/events/relays/telemetry.event-relay.d.ts +3 -0
- package/dist/events/relays/telemetry.event-relay.js +47 -6
- package/dist/events/relays/telemetry.event-relay.js.map +1 -1
- package/dist/execution-lifecycle/save-execution-progress.js +3 -3
- package/dist/execution-lifecycle/save-execution-progress.js.map +1 -1
- package/dist/execution-lifecycle/shared/shared-hook-functions.js +3 -3
- package/dist/execution-lifecycle/shared/shared-hook-functions.js.map +1 -1
- package/dist/executions/execution-persistence.d.ts +8 -1
- package/dist/executions/execution-persistence.js +183 -42
- package/dist/executions/execution-persistence.js.map +1 -1
- package/dist/executions/execution-recovery.service.d.ts +3 -1
- package/dist/executions/execution-recovery.service.js +7 -4
- package/dist/executions/execution-recovery.service.js.map +1 -1
- package/dist/executions/execution.service.d.ts +1 -0
- package/dist/executions/execution.service.js +21 -7
- package/dist/executions/execution.service.js.map +1 -1
- package/dist/interfaces.d.ts +1 -1
- package/dist/load-nodes-and-credentials.js +6 -0
- package/dist/load-nodes-and-credentials.js.map +1 -1
- package/dist/metrics/prometheus-metrics.service.d.ts +5 -2
- package/dist/metrics/prometheus-metrics.service.js +74 -3
- package/dist/metrics/prometheus-metrics.service.js.map +1 -1
- package/dist/metrics/types.d.ts +1 -1
- package/dist/modules/agents/agent-execution.service.d.ts +2 -0
- package/dist/modules/agents/agent-execution.service.js +2 -2
- package/dist/modules/agents/agent-execution.service.js.map +1 -1
- package/dist/modules/agents/agent-runtime-reconstruction.service.d.ts +84 -0
- package/dist/modules/agents/agent-runtime-reconstruction.service.js +362 -0
- package/dist/modules/agents/agent-runtime-reconstruction.service.js.map +1 -0
- package/dist/modules/agents/agent-sse-stream.js +15 -1
- package/dist/modules/agents/agent-sse-stream.js.map +1 -1
- package/dist/modules/agents/agents-tools.service.js +8 -1
- package/dist/modules/agents/agents-tools.service.js.map +1 -1
- package/dist/modules/agents/agents.controller.d.ts +34 -19
- package/dist/modules/agents/agents.controller.js +39 -3
- 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.service.d.ts +13 -31
- package/dist/modules/agents/agents.service.js +154 -282
- package/dist/modules/agents/agents.service.js.map +1 -1
- package/dist/modules/agents/builder/agents-builder-prompts.js +1 -0
- package/dist/modules/agents/builder/agents-builder-prompts.js.map +1 -1
- package/dist/modules/agents/builder/agents-builder-tools.service.js +21 -2
- package/dist/modules/agents/builder/agents-builder-tools.service.js.map +1 -1
- package/dist/modules/agents/builder/agents-builder.service.js +3 -11
- 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/interactive/ask-question.tool.js +1 -1
- package/dist/modules/agents/builder/interactive/ask-question.tool.js.map +1 -1
- package/dist/modules/agents/builder/interactive/llm-provider-defaults.js +10 -0
- package/dist/modules/agents/builder/interactive/llm-provider-defaults.js.map +1 -1
- package/dist/modules/agents/builder/prompts/config-mutation.prompt.js +5 -3
- package/dist/modules/agents/builder/prompts/config-mutation.prompt.js.map +1 -1
- package/dist/modules/agents/builder/prompts/config-rules.prompt.js +7 -2
- package/dist/modules/agents/builder/prompts/config-rules.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/sub-agents.skill.d.ts +2 -0
- package/dist/modules/agents/builder/skills/sub-agents.skill.js +101 -0
- package/dist/modules/agents/builder/skills/sub-agents.skill.js.map +1 -0
- package/dist/modules/agents/entities/agent-execution-thread.entity.d.ts +2 -0
- package/dist/modules/agents/entities/agent-execution-thread.entity.js +8 -0
- package/dist/modules/agents/entities/agent-execution-thread.entity.js.map +1 -1
- package/dist/modules/agents/entities/agent-execution.entity.js +1 -1
- package/dist/modules/agents/entities/agent-execution.entity.js.map +1 -1
- package/dist/modules/agents/execution-recorder.d.ts +3 -0
- package/dist/modules/agents/execution-recorder.js +75 -10
- package/dist/modules/agents/execution-recorder.js.map +1 -1
- package/dist/modules/agents/integrations/agent-chat-bridge.d.ts +4 -7
- package/dist/modules/agents/integrations/agent-chat-bridge.js +138 -105
- package/dist/modules/agents/integrations/agent-chat-bridge.js.map +1 -1
- package/dist/modules/agents/integrations/agent-chat-integration.js.map +1 -1
- package/dist/modules/agents/integrations/chat-integration.service.d.ts +5 -0
- package/dist/modules/agents/integrations/chat-integration.service.js +5 -0
- package/dist/modules/agents/integrations/chat-integration.service.js.map +1 -1
- package/dist/modules/agents/integrations/component-mapper.d.ts +21 -11
- package/dist/modules/agents/integrations/component-mapper.js +50 -20
- package/dist/modules/agents/integrations/component-mapper.js.map +1 -1
- package/dist/modules/agents/integrations/integration-action-executor.d.ts +1 -0
- package/dist/modules/agents/integrations/integration-action-executor.js +20 -9
- package/dist/modules/agents/integrations/integration-action-executor.js.map +1 -1
- package/dist/modules/agents/integrations/integration-tools.js +176 -31
- package/dist/modules/agents/integrations/integration-tools.js.map +1 -1
- package/dist/modules/agents/integrations/platforms/slack-integration.js +1 -1
- package/dist/modules/agents/integrations/platforms/slack-integration.js.map +1 -1
- package/dist/modules/agents/integrations/platforms/telegram-integration.js +1 -1
- package/dist/modules/agents/integrations/platforms/telegram-integration.js.map +1 -1
- package/dist/modules/agents/json-config/credential-field-mapping.js +1 -0
- package/dist/modules/agents/json-config/credential-field-mapping.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 +41 -15
- package/dist/modules/agents/json-config/from-json-config.js.map +1 -1
- package/dist/modules/agents/json-config/mcp-client-factory.d.ts +0 -6
- package/dist/modules/agents/json-config/mcp-client-factory.js +2 -31
- package/dist/modules/agents/json-config/mcp-client-factory.js.map +1 -1
- package/dist/modules/agents/json-config/model-config.d.ts +2 -0
- package/dist/modules/agents/json-config/model-config.js +11 -0
- package/dist/modules/agents/json-config/model-config.js.map +1 -0
- package/dist/modules/agents/json-config/model-id.d.ts +1 -0
- package/dist/modules/agents/json-config/model-id.js +8 -0
- package/dist/modules/agents/json-config/model-id.js.map +1 -0
- package/dist/modules/agents/json-config/native-web-search-provider-tools.d.ts +0 -1
- package/dist/modules/agents/json-config/native-web-search-provider-tools.js +3 -7
- package/dist/modules/agents/json-config/native-web-search-provider-tools.js.map +1 -1
- package/dist/modules/agents/json-config/sanitize-unknown-agent-credentials.d.ts +1 -0
- package/dist/modules/agents/json-config/sanitize-unknown-agent-credentials.js +63 -0
- package/dist/modules/agents/json-config/sanitize-unknown-agent-credentials.js.map +1 -0
- package/dist/modules/agents/model-catalog.d.ts +1 -0
- package/dist/modules/agents/model-catalog.js +15 -0
- package/dist/modules/agents/model-catalog.js.map +1 -0
- package/dist/modules/agents/repositories/agent-execution-thread.repository.d.ts +5 -1
- package/dist/modules/agents/repositories/agent-execution-thread.repository.js +5 -3
- package/dist/modules/agents/repositories/agent-execution-thread.repository.js.map +1 -1
- package/dist/modules/agents/sub-agents/delegate-sub-agent-tool.d.ts +17 -0
- package/dist/modules/agents/sub-agents/delegate-sub-agent-tool.js +66 -0
- package/dist/modules/agents/sub-agents/delegate-sub-agent-tool.js.map +1 -0
- package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.d.ts +27 -0
- package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.js +235 -0
- package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.js.map +1 -0
- package/dist/modules/agents/sub-agents/sub-agent-source-resolver.d.ts +20 -0
- package/dist/modules/agents/sub-agents/sub-agent-source-resolver.js +87 -0
- package/dist/modules/agents/sub-agents/sub-agent-source-resolver.js.map +1 -0
- package/dist/modules/agents/tools/knowledge/csv.operation.d.ts +2 -2
- package/dist/modules/agents/tools/knowledge/schemas.d.ts +91 -91
- package/dist/modules/agents/tools/node-tool-factory.js +9 -12
- package/dist/modules/agents/tools/node-tool-factory.js.map +1 -1
- package/dist/modules/agents/tools/workflow-tool-factory.d.ts +2 -3
- package/dist/modules/agents/tools/workflow-tool-factory.js +6 -4
- package/dist/modules/agents/tools/workflow-tool-factory.js.map +1 -1
- package/dist/modules/agents/utils/agent-stream.d.ts +2 -0
- package/dist/modules/agents/utils/agent-stream.js +27 -0
- package/dist/modules/agents/utils/agent-stream.js.map +1 -0
- package/dist/modules/agents/utils/execution-to-message-mapper.js +2 -0
- package/dist/modules/agents/utils/execution-to-message-mapper.js.map +1 -1
- package/dist/modules/agents/utils/structured-output-error.d.ts +1 -0
- package/dist/modules/agents/utils/structured-output-error.js +34 -0
- package/dist/modules/agents/utils/structured-output-error.js.map +1 -0
- package/dist/modules/chat-hub/chat-hub-execution-watcher.service.d.ts +3 -3
- package/dist/modules/chat-hub/chat-hub-execution-watcher.service.js +5 -5
- package/dist/modules/chat-hub/chat-hub-execution-watcher.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-execution.service.d.ts +3 -1
- package/dist/modules/chat-hub/chat-hub-execution.service.js +6 -3
- package/dist/modules/chat-hub/chat-hub-execution.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-title.service.d.ts +4 -3
- package/dist/modules/chat-hub/chat-hub-title.service.js +5 -5
- package/dist/modules/chat-hub/chat-hub-title.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.module.d.ts +2 -2
- package/dist/modules/chat-hub/chat-hub.service.d.ts +4 -3
- package/dist/modules/chat-hub/chat-hub.service.js +5 -5
- package/dist/modules/chat-hub/chat-hub.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.settings.controller.d.ts +4 -4
- package/dist/modules/chat-hub/chat-hub.types.d.ts +5 -5
- package/dist/modules/chat-hub/dto/chat-models-request.dto.d.ts +1 -1
- package/dist/modules/data-table/data-table.module.d.ts +1 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-introspection-identifier.d.ts +2 -2
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/n8n-credential-resolver.d.ts +1 -0
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/n8n-credential-resolver.js +3 -0
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/n8n-credential-resolver.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/database/repositories/dynamic-credential-user-entry.repository.d.ts +5 -0
- package/dist/modules/dynamic-credentials.ee/database/repositories/dynamic-credential-user-entry.repository.js +15 -0
- 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-connection-status.service.d.ts +9 -1
- package/dist/modules/dynamic-credentials.ee/services/credential-connection-status.service.js +57 -3
- package/dist/modules/dynamic-credentials.ee/services/credential-connection-status.service.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/services/dynamic-credential.service.js +14 -3
- package/dist/modules/dynamic-credentials.ee/services/dynamic-credential.service.js.map +1 -1
- package/dist/modules/external-secrets.ee/providers/infisical.d.ts +20 -14
- package/dist/modules/external-secrets.ee/providers/infisical.js +215 -90
- package/dist/modules/external-secrets.ee/providers/infisical.js.map +1 -1
- package/dist/modules/favorites/dto/add-favorite.dto.d.ts +1 -1
- package/dist/modules/insights/database/entities/insights-shared.d.ts +1 -1
- package/dist/modules/insights/database/repositories/insights-by-period-query.helper.d.ts +2 -1
- package/dist/modules/insights/database/repositories/insights-by-period-query.helper.js +2 -3
- package/dist/modules/insights/database/repositories/insights-by-period-query.helper.js.map +1 -1
- package/dist/modules/insights/database/repositories/insights-by-period.repository.d.ts +3 -3
- package/dist/modules/insights/insights.service.d.ts +3 -3
- 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-mcp-registry-connection.entity.d.ts +12 -0
- package/dist/modules/instance-ai/entities/instance-ai-mcp-registry-connection.entity.js +42 -0
- package/dist/modules/instance-ai/entities/instance-ai-mcp-registry-connection.entity.js.map +1 -0
- package/dist/modules/instance-ai/entities/instance-ai-thread.entity.d.ts +3 -1
- package/dist/modules/instance-ai/entities/instance-ai-thread.entity.js +10 -0
- package/dist/modules/instance-ai/entities/instance-ai-thread.entity.js.map +1 -1
- package/dist/modules/instance-ai/eval/execution.service.d.ts +8 -2
- package/dist/modules/instance-ai/eval/execution.service.js +183 -40
- package/dist/modules/instance-ai/eval/execution.service.js.map +1 -1
- package/dist/modules/instance-ai/eval/workflow-analysis.js +5 -0
- package/dist/modules/instance-ai/eval/workflow-analysis.js.map +1 -1
- package/dist/modules/instance-ai/extract-resolved-node-parameters.d.ts +1 -2
- package/dist/modules/instance-ai/extract-resolved-node-parameters.js +4 -2
- package/dist/modules/instance-ai/extract-resolved-node-parameters.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai-gateway.service.d.ts +31 -0
- package/dist/modules/instance-ai/instance-ai-gateway.service.js +84 -0
- package/dist/modules/instance-ai/instance-ai-gateway.service.js.map +1 -0
- package/dist/modules/instance-ai/instance-ai-memory.service.d.ts +1 -1
- package/dist/modules/instance-ai/instance-ai-memory.service.js +5 -4
- package/dist/modules/instance-ai/instance-ai-memory.service.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai-settings.service.d.ts +10 -1
- package/dist/modules/instance-ai/instance-ai-settings.service.js +47 -5
- package/dist/modules/instance-ai/instance-ai-settings.service.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai-test.controller.d.ts +6 -2
- package/dist/modules/instance-ai/instance-ai-test.controller.js +17 -3
- package/dist/modules/instance-ai/instance-ai-test.controller.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.adapter.service.d.ts +5 -5
- package/dist/modules/instance-ai/instance-ai.adapter.service.js +104 -36
- package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.controller.d.ts +8 -6
- package/dist/modules/instance-ai/instance-ai.controller.js +31 -36
- package/dist/modules/instance-ai/instance-ai.controller.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.module.d.ts +4 -1
- package/dist/modules/instance-ai/instance-ai.module.js +7 -6
- package/dist/modules/instance-ai/instance-ai.module.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.service.d.ts +50 -41
- package/dist/modules/instance-ai/instance-ai.service.js +599 -246
- package/dist/modules/instance-ai/instance-ai.service.js.map +1 -1
- package/dist/modules/instance-ai/internal-messages.js +1 -1
- package/dist/modules/instance-ai/internal-messages.js.map +1 -1
- package/dist/modules/instance-ai/mcp/index.d.ts +1 -0
- package/dist/modules/instance-ai/mcp/index.js +18 -0
- package/dist/modules/instance-ai/mcp/index.js.map +1 -0
- package/dist/modules/instance-ai/mcp/instance-ai-mcp-connection.controller.d.ts +17 -0
- package/dist/modules/instance-ai/mcp/instance-ai-mcp-connection.controller.js +125 -0
- package/dist/modules/instance-ai/mcp/instance-ai-mcp-connection.controller.js.map +1 -0
- package/dist/modules/instance-ai/mcp/instance-ai-mcp-registry.service.d.ts +35 -0
- package/dist/modules/instance-ai/mcp/instance-ai-mcp-registry.service.js +264 -0
- package/dist/modules/instance-ai/mcp/instance-ai-mcp-registry.service.js.map +1 -0
- package/dist/modules/instance-ai/planned-task-action-runner.d.ts +91 -0
- package/dist/modules/instance-ai/planned-task-action-runner.js +138 -0
- package/dist/modules/instance-ai/planned-task-action-runner.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-checkpoint.repository.js.map +1 -1
- package/dist/modules/instance-ai/repositories/instance-ai-mcp-registry-connection.repository.d.ts +5 -0
- package/dist/modules/instance-ai/repositories/instance-ai-mcp-registry-connection.repository.js +26 -0
- package/dist/modules/instance-ai/repositories/instance-ai-mcp-registry-connection.repository.js.map +1 -0
- package/dist/modules/instance-ai/sandbox-provider.d.ts +4 -0
- package/dist/modules/instance-ai/sandbox-provider.js +19 -0
- package/dist/modules/instance-ai/sandbox-provider.js.map +1 -0
- package/dist/modules/instance-ai/storage/typeorm-agent-checkpoint-store.js.map +1 -1
- package/dist/modules/instance-ai/storage/typeorm-agent-memory.d.ts +4 -1
- package/dist/modules/instance-ai/storage/typeorm-agent-memory.js +103 -12
- package/dist/modules/instance-ai/storage/typeorm-agent-memory.js.map +1 -1
- package/dist/modules/instance-ai/trace-replay-state.d.ts +2 -0
- package/dist/modules/instance-ai/trace-replay-state.js +56 -6
- package/dist/modules/instance-ai/trace-replay-state.js.map +1 -1
- package/dist/modules/instance-ai/workflow-verification-obligation-service.d.ts +20 -0
- package/dist/modules/instance-ai/workflow-verification-obligation-service.js +59 -0
- package/dist/modules/instance-ai/workflow-verification-obligation-service.js.map +1 -0
- package/dist/modules/instance-ai/workflow-verification-task-projector.d.ts +21 -0
- package/dist/modules/instance-ai/workflow-verification-task-projector.js +323 -0
- package/dist/modules/instance-ai/workflow-verification-task-projector.js.map +1 -0
- package/dist/modules/mcp/database/entities/oauth-authorization-code.entity.d.ts +1 -0
- package/dist/modules/mcp/database/entities/oauth-authorization-code.entity.js +4 -0
- package/dist/modules/mcp/database/entities/oauth-authorization-code.entity.js.map +1 -1
- package/dist/modules/mcp/mcp-oauth-authorization-code.service.d.ts +3 -1
- package/dist/modules/mcp/mcp-oauth-authorization-code.service.js +35 -5
- package/dist/modules/mcp/mcp-oauth-authorization-code.service.js.map +1 -1
- package/dist/modules/mcp/mcp-oauth-consent.service.js +1 -1
- package/dist/modules/mcp/mcp-oauth-consent.service.js.map +1 -1
- package/dist/modules/mcp/mcp-oauth-service.d.ts +4 -2
- package/dist/modules/mcp/mcp-oauth-service.js +60 -9
- package/dist/modules/mcp/mcp-oauth-service.js.map +1 -1
- package/dist/modules/mcp/mcp-oauth-token.service.d.ts +8 -6
- package/dist/modules/mcp/mcp-oauth-token.service.js +53 -16
- package/dist/modules/mcp/mcp-oauth-token.service.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.constants.d.ts +1 -0
- package/dist/modules/mcp/mcp.constants.js +2 -1
- package/dist/modules/mcp/mcp.constants.js.map +1 -1
- package/dist/modules/mcp/mcp.controller.js +1 -1
- package/dist/modules/mcp/mcp.controller.js.map +1 -1
- package/dist/modules/mcp/mcp.service.d.ts +7 -4
- package/dist/modules/mcp/mcp.service.js +60 -9
- package/dist/modules/mcp/mcp.service.js.map +1 -1
- package/dist/modules/mcp/mcp.types.d.ts +5 -4
- package/dist/modules/mcp/mcp.utils.d.ts +2 -4
- package/dist/modules/mcp/mcp.utils.js.map +1 -1
- package/dist/modules/mcp/oauth-session.service.d.ts +1 -0
- package/dist/modules/mcp/oauth-session.service.js.map +1 -1
- package/dist/modules/mcp/tools/execute-workflow.tool.d.ts +7 -7
- package/dist/modules/mcp/tools/get-execution.tool.d.ts +1 -1
- package/dist/modules/mcp/tools/get-execution.tool.js +3 -3
- package/dist/modules/mcp/tools/get-execution.tool.js.map +1 -1
- package/dist/modules/mcp/tools/schemas.d.ts +28 -28
- package/dist/modules/mcp/tools/search-projects.tool.d.ts +2 -1
- package/dist/modules/mcp/tools/search-projects.tool.js +16 -7
- package/dist/modules/mcp/tools/search-projects.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/constants.d.ts +1 -1
- package/dist/modules/mcp/tools/workflow-builder/constants.js +2 -2
- package/dist/modules/mcp/tools/workflow-builder/constants.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.d.ts +1 -0
- package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js +9 -2
- 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 +27 -0
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-best-practices.tool.js +123 -0
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-best-practices.tool.js.map +1 -0
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-node-types.tool.d.ts +2 -2
- package/dist/modules/mcp/tools/workflow-builder/mcp-instructions.js +1 -1
- package/dist/modules/mcp/tools/workflow-builder/mcp-instructions.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/skills-used.d.ts +1 -0
- package/dist/modules/mcp/tools/workflow-builder/skills-used.js +26 -0
- package/dist/modules/mcp/tools/workflow-builder/skills-used.js.map +1 -0
- package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.d.ts +20 -19
- package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js +9 -2
- package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/validate-node.tool.d.ts +2 -2
- package/dist/modules/mcp/tools/workflow-builder/workflow-operations.d.ts +19 -19
- package/dist/modules/mcp-registry/mcp-registry-node-loader.js +3 -2
- package/dist/modules/mcp-registry/mcp-registry-node-loader.js.map +1 -1
- package/dist/modules/mcp-registry/mcp-registry.controller.d.ts +7 -0
- package/dist/modules/mcp-registry/mcp-registry.controller.js +54 -0
- package/dist/modules/mcp-registry/mcp-registry.controller.js.map +1 -0
- package/dist/modules/mcp-registry/mcp-registry.module.js +1 -0
- package/dist/modules/mcp-registry/mcp-registry.module.js.map +1 -1
- package/dist/modules/mcp-registry/node-description-transform.d.ts +5 -3
- package/dist/modules/mcp-registry/node-description-transform.js +82 -24
- package/dist/modules/mcp-registry/node-description-transform.js.map +1 -1
- package/dist/modules/mcp-registry/registry/mcp-registry-api.client.js +8 -4
- package/dist/modules/mcp-registry/registry/mcp-registry-api.client.js.map +1 -1
- package/dist/modules/mcp-registry/registry/mcp-registry.service.d.ts +1 -0
- package/dist/modules/mcp-registry/registry/mcp-registry.service.js +7 -0
- package/dist/modules/mcp-registry/registry/mcp-registry.service.js.map +1 -1
- package/dist/modules/mcp-registry/registry/mcp-registry.types.d.ts +35 -1
- package/dist/modules/mcp-registry/registry/mcp-registry.types.js +13 -0
- package/dist/modules/mcp-registry/registry/mcp-registry.types.js.map +1 -1
- package/dist/modules/mcp-registry/registry/mock-servers.d.ts +2 -0
- package/dist/modules/mcp-registry/registry/mock-servers.js +45 -1
- package/dist/modules/mcp-registry/registry/mock-servers.js.map +1 -1
- package/dist/modules/n8n-packages/engine/import-pipeline.d.ts +5 -3
- package/dist/modules/n8n-packages/engine/import-pipeline.js +36 -25
- package/dist/modules/n8n-packages/engine/import-pipeline.js.map +1 -1
- package/dist/modules/n8n-packages/entities/credential/credential-importer.d.ts +9 -0
- package/dist/modules/n8n-packages/entities/credential/credential-importer.js +41 -0
- package/dist/modules/n8n-packages/entities/credential/credential-importer.js.map +1 -0
- package/dist/modules/n8n-packages/entities/credential/credential-matcher-factory.d.ts +8 -0
- package/dist/modules/n8n-packages/entities/credential/credential-matcher-factory.js +35 -0
- package/dist/modules/n8n-packages/entities/credential/credential-matcher-factory.js.map +1 -0
- package/dist/modules/n8n-packages/entities/credential/credential-matcher.d.ts +18 -0
- package/dist/modules/n8n-packages/entities/credential/credential-matcher.js +34 -0
- package/dist/modules/n8n-packages/entities/credential/credential-matcher.js.map +1 -0
- package/dist/modules/n8n-packages/entities/credential/credential-missing-mode-factory.d.ts +7 -0
- package/dist/modules/n8n-packages/entities/credential/credential-missing-mode-factory.js +35 -0
- package/dist/modules/n8n-packages/entities/credential/credential-missing-mode-factory.js.map +1 -0
- package/dist/modules/n8n-packages/entities/credential/credential-missing-mode.d.ts +7 -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 -0
- package/dist/modules/n8n-packages/entities/credential/credential-resolution-error.d.ts +3 -0
- package/dist/modules/n8n-packages/entities/credential/credential-resolution-error.js +14 -0
- package/dist/modules/n8n-packages/entities/credential/credential-resolution-error.js.map +1 -0
- package/dist/modules/n8n-packages/entities/credential/credential.types.d.ts +30 -0
- package/dist/modules/n8n-packages/entities/credential/credential.types.js +12 -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 +13 -0
- package/dist/modules/n8n-packages/entities/credential/id-based-credential-matcher.js +47 -0
- package/dist/modules/n8n-packages/entities/credential/id-based-credential-matcher.js.map +1 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-fail.handler.d.ts +9 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-fail.handler.js +41 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-fail.handler.js.map +1 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-handler.d.ts +10 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-handler.js +20 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-handler.js.map +1 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-new-version.handler.d.ts +11 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-new-version.handler.js +42 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-new-version.handler.js.map +1 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-skip.handler.d.ts +9 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-skip.handler.js +33 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-skip.handler.js.map +1 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy.factory.d.ts +10 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy.factory.js +37 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy.factory.js.map +1 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy.types.d.ts +20 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy.types.js +3 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy.types.js.map +1 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-import-match.service.d.ts +7 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-import-match.service.js +54 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-import-match.service.js.map +1 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-importer.d.ts +14 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-importer.js +47 -0
- package/dist/modules/n8n-packages/entities/workflow/workflow-importer.js.map +1 -0
- package/dist/modules/n8n-packages/n8n-packages.types.d.ts +23 -1
- package/dist/modules/n8n-packages/n8n-packages.types.js +21 -0
- package/dist/modules/n8n-packages/n8n-packages.types.js.map +1 -1
- package/dist/modules/n8n-packages/spec/manifest.schema.d.ts +41 -31
- package/dist/modules/n8n-packages/spec/manifest.schema.js.map +1 -1
- package/dist/modules/n8n-packages/spec/requirements.schema.d.ts +17 -7
- package/dist/modules/n8n-packages/spec/requirements.schema.js +17 -1
- package/dist/modules/n8n-packages/spec/requirements.schema.js.map +1 -1
- package/dist/modules/n8n-packages/spec/serialized/credential.schema.d.ts +2 -2
- package/dist/modules/n8n-packages/spec/serialized/workflow.schema.d.ts +40 -33
- package/dist/modules/n8n-packages/spec/serialized/workflow.schema.js +2 -1
- package/dist/modules/n8n-packages/spec/serialized/workflow.schema.js.map +1 -1
- package/dist/modules/n8n-packages/utils/import-package-upload.js +1 -1
- package/dist/modules/oauth-jwe/oauth-jwe.schemas.d.ts +18 -18
- package/dist/modules/otel/otel-lifecycle-handler.d.ts +6 -2
- package/dist/modules/otel/otel-lifecycle-handler.js +30 -17
- package/dist/modules/otel/otel-lifecycle-handler.js.map +1 -1
- package/dist/modules/quick-connect/quick-connect.config.d.ts +29 -29
- package/dist/modules/quick-connect/quick-connect.module.d.ts +11 -11
- package/dist/modules/redaction/executions/execution-redaction.interfaces.d.ts +1 -1
- package/dist/modules/redaction/executions/execution-redaction.service.d.ts +1 -0
- package/dist/modules/redaction/executions/execution-redaction.service.js +25 -11
- package/dist/modules/redaction/executions/execution-redaction.service.js.map +1 -1
- package/dist/modules/redaction/executions/strategies/full-item-redaction.strategy.js +1 -1
- package/dist/modules/redaction/executions/strategies/full-item-redaction.strategy.js.map +1 -1
- package/dist/modules/redaction/instance-redaction-enforcement.service.d.ts +9 -7
- package/dist/modules/redaction/instance-redaction-enforcement.service.js +32 -14
- package/dist/modules/redaction/instance-redaction-enforcement.service.js.map +1 -1
- package/dist/modules/redaction/redaction-context-hook.js +14 -16
- package/dist/modules/redaction/redaction-context-hook.js.map +1 -1
- package/dist/modules/redaction/redaction-enforcement.service.d.ts +5 -5
- package/dist/modules/redaction/redaction-enforcement.service.js +13 -11
- package/dist/modules/redaction/redaction-enforcement.service.js.map +1 -1
- package/dist/modules/redaction/redaction-policy.d.ts +7 -0
- package/dist/modules/redaction/redaction-policy.js +31 -0
- package/dist/modules/redaction/redaction-policy.js.map +1 -0
- package/dist/modules/redaction/redaction.module.js +1 -0
- package/dist/modules/redaction/redaction.module.js.map +1 -1
- 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.controller.ee.d.ts +1 -1
- package/dist/modules/sso-oidc/oidc.service.ee.d.ts +2 -1
- package/dist/modules/sso-oidc/oidc.service.ee.js +35 -18
- package/dist/modules/sso-oidc/oidc.service.ee.js.map +1 -1
- package/dist/modules/token-exchange/token-exchange.schemas.d.ts +12 -12
- package/dist/node-execution/ephemeral-node-executor.js +3 -0
- package/dist/node-execution/ephemeral-node-executor.js.map +1 -1
- package/dist/oauth/oauth.service.d.ts +20 -6
- package/dist/oauth/oauth.service.js +80 -18
- package/dist/oauth/oauth.service.js.map +1 -1
- package/dist/public-api/v1/handlers/executions/executions.handler.js +4 -4
- 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 +3 -0
- package/dist/public-api/v1/handlers/n8n-packages/n8n-packages.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/users/users.service.ee.js +1 -0
- package/dist/public-api/v1/handlers/users/users.service.ee.js.map +1 -1
- package/dist/public-api/v1/handlers/workflows/workflows.service.js +2 -0
- package/dist/public-api/v1/handlers/workflows/workflows.service.js.map +1 -1
- package/dist/public-api/v1/openapi.yml +169 -6
- package/dist/response-helper.js +16 -1
- package/dist/response-helper.js.map +1 -1
- package/dist/scaling/constants.d.ts +2 -2
- package/dist/scaling/job-processor.d.ts +3 -1
- package/dist/scaling/job-processor.js +6 -3
- package/dist/scaling/job-processor.js.map +1 -1
- package/dist/scaling/pubsub/pubsub.event-map.d.ts +1 -0
- package/dist/scaling/pubsub/pubsub.types.d.ts +2 -1
- package/dist/scaling/scaling.service.d.ts +3 -1
- package/dist/scaling/scaling.service.js +5 -2
- package/dist/scaling/scaling.service.js.map +1 -1
- package/dist/security-audit/risk-reporters/credentials-risk-reporter.d.ts +4 -3
- package/dist/security-audit/risk-reporters/credentials-risk-reporter.js +6 -4
- package/dist/security-audit/risk-reporters/credentials-risk-reporter.js.map +1 -1
- package/dist/services/ai-workflow-builder.service.d.ts +1 -2
- package/dist/services/ai-workflow-builder.service.js +2 -3
- package/dist/services/ai-workflow-builder.service.js.map +1 -1
- package/dist/services/dynamic-node-parameters.service.js +3 -5
- package/dist/services/dynamic-node-parameters.service.js.map +1 -1
- package/dist/services/frontend.service.js +2 -0
- package/dist/services/frontend.service.js.map +1 -1
- package/dist/services/project.service.ee.d.ts +1 -0
- package/dist/services/project.service.ee.js +34 -2
- package/dist/services/project.service.ee.js.map +1 -1
- package/dist/services/public-api-key.service.d.ts +25 -7
- package/dist/services/public-api-key.service.js +93 -14
- package/dist/services/public-api-key.service.js.map +1 -1
- package/dist/services/role.service.d.ts +3 -3
- package/dist/task-runners/errors/task-cancelled.error.d.ts +4 -0
- package/dist/task-runners/errors/task-cancelled.error.js +11 -0
- package/dist/task-runners/errors/task-cancelled.error.js.map +1 -0
- package/dist/task-runners/task-managers/task-requester.js +2 -1
- package/dist/task-runners/task-managers/task-requester.js.map +1 -1
- package/dist/telemetry/index.js +2 -2
- package/dist/tool-generation/hitl-tools.js +1 -1
- package/dist/tool-generation/hitl-tools.js.map +1 -1
- package/dist/utils/auth-fetch.d.ts +6 -0
- package/dist/utils/auth-fetch.js +33 -0
- package/dist/utils/auth-fetch.js.map +1 -0
- package/dist/wait-tracker.d.ts +6 -1
- package/dist/wait-tracker.js +43 -18
- package/dist/wait-tracker.js.map +1 -1
- package/dist/webhooks/waiting-webhooks.d.ts +3 -3
- package/dist/webhooks/waiting-webhooks.js +5 -5
- package/dist/webhooks/waiting-webhooks.js.map +1 -1
- package/dist/webhooks/webhook-helpers.js +1 -19
- package/dist/webhooks/webhook-helpers.js.map +1 -1
- package/dist/webhooks/webhook-server.d.ts +1 -0
- package/dist/webhooks/webhook-server.js +39 -0
- package/dist/webhooks/webhook-server.js.map +1 -1
- package/dist/workflow-execute-additional-data.d.ts +3 -2
- package/dist/workflow-execute-additional-data.js +42 -15
- package/dist/workflow-execute-additional-data.js.map +1 -1
- package/dist/workflow-helpers.d.ts +2 -2
- package/dist/workflow-helpers.js +5 -3
- package/dist/workflow-helpers.js.map +1 -1
- package/dist/workflow-runner.d.ts +3 -1
- package/dist/workflow-runner.js +8 -2
- package/dist/workflow-runner.js.map +1 -1
- package/dist/workflows/utils.d.ts +2 -0
- package/dist/workflows/utils.js +6 -0
- package/dist/workflows/utils.js.map +1 -1
- package/dist/workflows/workflow-creation.service.d.ts +7 -3
- package/dist/workflows/workflow-creation.service.js +38 -14
- package/dist/workflows/workflow-creation.service.js.map +1 -1
- package/dist/workflows/workflow-finder.service.d.ts +9 -0
- package/dist/workflows/workflow-finder.service.js +60 -16
- package/dist/workflows/workflow-finder.service.js.map +1 -1
- package/dist/workflows/workflow-publication-outbox-consumer.d.ts +31 -0
- package/dist/workflows/workflow-publication-outbox-consumer.js +209 -0
- package/dist/workflows/workflow-publication-outbox-consumer.js.map +1 -0
- 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 +5 -5
- package/dist/workflows/workflow.service.js +1 -1
- package/dist/workflows/workflow.service.js.map +1 -1
- package/dist/workflows/workflows.controller.d.ts +29 -29
- package/dist/workflows/workflows.controller.js +3 -4
- package/dist/workflows/workflows.controller.js.map +1 -1
- package/package.json +38 -38
- package/dist/controllers/redaction-enforcement-mapper.d.ts +0 -3
- package/dist/controllers/redaction-enforcement-mapper.js +0 -27
- package/dist/controllers/redaction-enforcement-mapper.js.map +0 -1
- package/dist/modules/agents/integrations/rich-interaction-tool.d.ts +0 -47
- package/dist/modules/agents/integrations/rich-interaction-tool.js +0 -109
- package/dist/modules/agents/integrations/rich-interaction-tool.js.map +0 -1
- package/dist/modules/instance-ai/eval/sub-agent-eval.service.d.ts +0 -13
- package/dist/modules/instance-ai/eval/sub-agent-eval.service.js +0 -154
- package/dist/modules/instance-ai/eval/sub-agent-eval.service.js.map +0 -1
- package/dist/modules/instance-ai/eval/sub-agent-roles.d.ts +0 -7
- package/dist/modules/instance-ai/eval/sub-agent-roles.js +0 -21
- package/dist/modules/instance-ai/eval/sub-agent-roles.js.map +0 -1
- package/dist/modules/mcp/tools/workflow-builder/get-suggested-workflow-nodes.tool.d.ts +0 -10
- package/dist/modules/mcp/tools/workflow-builder/get-suggested-workflow-nodes.tool.js +0 -64
- package/dist/modules/mcp/tools/workflow-builder/get-suggested-workflow-nodes.tool.js.map +0 -1
- package/dist/modules/redaction/redaction.config.d.ts +0 -3
- package/dist/modules/redaction/redaction.config.js +0 -27
- package/dist/modules/redaction/redaction.config.js.map +0 -1
- package/dist/services/ssrf/dns-resolver.d.ts +0 -13
- package/dist/services/ssrf/dns-resolver.js +0 -93
- package/dist/services/ssrf/dns-resolver.js.map +0 -1
- package/dist/services/ssrf/hostname-matcher.d.ts +0 -6
- package/dist/services/ssrf/hostname-matcher.js +0 -38
- package/dist/services/ssrf/hostname-matcher.js.map +0 -1
- package/dist/services/ssrf/in-memory-dns-cache.service.d.ts +0 -11
- package/dist/services/ssrf/in-memory-dns-cache.service.js +0 -61
- package/dist/services/ssrf/in-memory-dns-cache.service.js.map +0 -1
- package/dist/services/ssrf/ip-range-builder.d.ts +0 -10
- package/dist/services/ssrf/ip-range-builder.js +0 -52
- package/dist/services/ssrf/ip-range-builder.js.map +0 -1
- package/dist/services/ssrf/ssrf-blocked-ip.error.d.ts +0 -6
- package/dist/services/ssrf/ssrf-blocked-ip.error.js +0 -21
- package/dist/services/ssrf/ssrf-blocked-ip.error.js.map +0 -1
- package/dist/services/ssrf/ssrf-protection.service.d.ts +0 -26
- package/dist/services/ssrf/ssrf-protection.service.js +0 -159
- package/dist/services/ssrf/ssrf-protection.service.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-replay-state.js","sourceRoot":"","sources":["../../../src/modules/instance-ai/trace-replay-state.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"trace-replay-state.js","sourceRoot":"","sources":["../../../src/modules/instance-ai/trace-replay-state.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;AAErF,SAAS,iBAAiB,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE1F,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACzC,OAAO,iBAAiB,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC;AAC9C,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACvC,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO,IAAI,KAAK,SAAS,IAAI,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,kBAAkB,CAAC,MAA6B;IACxD,OAAO,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC;AAChD,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAG,UAAuB;IACnD,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAEzC,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;QACjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC5B,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,IAAI,SAAS;oBAAE,SAAS;gBACxB,SAAS,GAAG,IAAI,CAAC;YAClB,CAAC;YACD,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAClC,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,SAAS;gBACtC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAUD,MAAa,gBAAgB;IAA7B;QAES,iBAAY,GAAG,IAAI,GAAG,EAAqB,CAAC;IAqHrD,CAAC;IArGA,aAAa;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,UAAU,CAAC,IAAY,EAAE,MAAiB;QACzC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,SAAS,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED,YAAY,CAAC,IAAY;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,WAAW,CAAC,IAAY;QACvB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;YACnC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;YAClC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;YAClC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QAClC,CAAC;QACD,IAAI,IAAI,CAAC,qBAAqB,KAAK,IAAI,EAAE,CAAC;YACzC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;YACnC,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;QACxC,CAAC;IACF,CAAC;IAMD,oBAAoB,CAAC,IAAY,EAAE,YAAuB;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACnD,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAMD,2BAA2B,CAC1B,IAAY,EACZ,mBAAsF;QAEtF,MAAM,WAAW,GAAc,EAAE,CAAC;QAClC,KAAK,MAAM,KAAK,IAAI,mBAAmB,EAAE,CAAC;YACzC,IACC,CAAC,KAAK,CAAC,SAAS,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC;gBAC3D,KAAK,CAAC,OAAO,CAAC,WAAW,EACxB,CAAC;gBACF,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;YAC5D,CAAC;QACF,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACxD,IAAI,kBAAkB,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QAE9C,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACpD,CAAC;IAOD,KAAK,CAAC,mBAAmB,CAAC,OAA+B;QACxD,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;YACtC,OAAO;QACR,CAAC;QAED,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,GAAG,wDAAa,kBAAkB,GAAC,CAAC;QAE7F,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9D,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC7D,IAAI,CAAC,gBAAgB,GAAG,IAAI,EAAE,CAAC,MAAsB,CAAC,CAAC;gBACvD,IAAI,CAAC,gBAAgB,GAAG,IAAI,EAAE,EAAE,CAAC;gBACjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC7B,CAAC;YACD,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC;YAC9B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAC3C,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAiB,CAAC;QAC7C,CAAC;aAAM,CAAC;YACP,IAAI,IAAI,CAAC,qBAAqB,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACpE,IAAI,CAAC,iBAAiB,GAAG,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC;gBAC7C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YACnC,CAAC;YACD,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC;YAC9B,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAC9C,CAAC;IACF,CAAC;CACD;AAvHD,4CAuHC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type PlannedTaskGraph, type PlannedWorkflowVerification, type WorkflowBuildOutcome, type WorkflowLoopWorkItemRecord, type WorkflowVerificationObligation, type WorkflowVerificationObligationSource } from '@n8n/instance-ai';
|
|
2
|
+
import type { TypeORMAgentMemory } from './storage/typeorm-agent-memory';
|
|
3
|
+
export declare function parseWorkflowBuildOutcome(outcome: Record<string, unknown> | undefined): WorkflowBuildOutcome | undefined;
|
|
4
|
+
export declare class WorkflowVerificationObligationService {
|
|
5
|
+
private readonly agentMemory;
|
|
6
|
+
constructor(agentMemory: TypeORMAgentMemory);
|
|
7
|
+
private storage;
|
|
8
|
+
isPlannedRecord(record: WorkflowLoopWorkItemRecord): boolean;
|
|
9
|
+
getObligation(threadId: string, workItemId: string, options: {
|
|
10
|
+
source: WorkflowVerificationObligationSource;
|
|
11
|
+
plannedTaskId?: string;
|
|
12
|
+
}): Promise<WorkflowVerificationObligation | undefined>;
|
|
13
|
+
obligationFromRecord(threadId: string, record: WorkflowLoopWorkItemRecord, options: {
|
|
14
|
+
source: WorkflowVerificationObligationSource;
|
|
15
|
+
plannedTaskId?: string;
|
|
16
|
+
}): WorkflowVerificationObligation;
|
|
17
|
+
findPendingPlannedWorkflowVerification(threadId: string, graph: PlannedTaskGraph): Promise<PlannedWorkflowVerification | undefined>;
|
|
18
|
+
revalidatePlannedWorkflowVerification(threadId: string, verification: PlannedWorkflowVerification): Promise<PlannedWorkflowVerification | undefined>;
|
|
19
|
+
private pendingPlannedWorkflowVerificationFromTask;
|
|
20
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WorkflowVerificationObligationService = void 0;
|
|
4
|
+
exports.parseWorkflowBuildOutcome = parseWorkflowBuildOutcome;
|
|
5
|
+
const instance_ai_1 = require("@n8n/instance-ai");
|
|
6
|
+
function parseWorkflowBuildOutcome(outcome) {
|
|
7
|
+
const parsed = instance_ai_1.workflowBuildOutcomeSchema.safeParse(outcome);
|
|
8
|
+
return parsed.success ? parsed.data : undefined;
|
|
9
|
+
}
|
|
10
|
+
class WorkflowVerificationObligationService {
|
|
11
|
+
constructor(agentMemory) {
|
|
12
|
+
this.agentMemory = agentMemory;
|
|
13
|
+
}
|
|
14
|
+
storage() {
|
|
15
|
+
return new instance_ai_1.WorkflowLoopStorage(this.agentMemory);
|
|
16
|
+
}
|
|
17
|
+
isPlannedRecord(record) {
|
|
18
|
+
return (0, instance_ai_1.isPlannedWorkflowBuildOwner)((0, instance_ai_1.resolveWorkflowBuildOwner)(record.state, record.lastBuildOutcome));
|
|
19
|
+
}
|
|
20
|
+
async getObligation(threadId, workItemId, options) {
|
|
21
|
+
const record = await this.storage().getWorkItem(threadId, workItemId);
|
|
22
|
+
if (!record)
|
|
23
|
+
return undefined;
|
|
24
|
+
return this.obligationFromRecord(threadId, record, options);
|
|
25
|
+
}
|
|
26
|
+
obligationFromRecord(threadId, record, options) {
|
|
27
|
+
return (0, instance_ai_1.deriveWorkflowVerificationObligation)(threadId, record, options);
|
|
28
|
+
}
|
|
29
|
+
async findPendingPlannedWorkflowVerification(threadId, graph) {
|
|
30
|
+
for (const task of graph.tasks) {
|
|
31
|
+
if (task.kind !== 'build-workflow' || task.status !== 'succeeded')
|
|
32
|
+
continue;
|
|
33
|
+
const verification = await this.pendingPlannedWorkflowVerificationFromTask(threadId, task);
|
|
34
|
+
if (verification)
|
|
35
|
+
return verification;
|
|
36
|
+
}
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
async revalidatePlannedWorkflowVerification(threadId, verification) {
|
|
40
|
+
return await this.pendingPlannedWorkflowVerificationFromTask(threadId, verification.task, verification.outcome);
|
|
41
|
+
}
|
|
42
|
+
async pendingPlannedWorkflowVerificationFromTask(threadId, task, fallbackOutcome) {
|
|
43
|
+
const taskOutcome = parseWorkflowBuildOutcome(task.outcome);
|
|
44
|
+
const baseOutcome = taskOutcome ?? fallbackOutcome;
|
|
45
|
+
if (!baseOutcome)
|
|
46
|
+
return undefined;
|
|
47
|
+
const options = { source: 'planned', plannedTaskId: task.id };
|
|
48
|
+
const record = await this.storage().getWorkItem(threadId, baseOutcome.workItemId);
|
|
49
|
+
const outcome = record?.lastBuildOutcome ?? baseOutcome;
|
|
50
|
+
const obligation = record?.lastBuildOutcome
|
|
51
|
+
? this.obligationFromRecord(threadId, record, options)
|
|
52
|
+
: (0, instance_ai_1.deriveWorkflowVerificationObligationFromOutcome)(threadId, outcome, options);
|
|
53
|
+
if (!(0, instance_ai_1.isWorkflowVerificationObligationUnsettled)(obligation))
|
|
54
|
+
return undefined;
|
|
55
|
+
return { task, obligation, outcome };
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.WorkflowVerificationObligationService = WorkflowVerificationObligationService;
|
|
59
|
+
//# sourceMappingURL=workflow-verification-obligation-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-verification-obligation-service.js","sourceRoot":"","sources":["../../../src/modules/instance-ai/workflow-verification-obligation-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { TaskList } from '@n8n/api-types';
|
|
2
|
+
import type { Logger } from '@n8n/backend-common';
|
|
3
|
+
import { type ManagedBackgroundTask, type PlannedTaskGraph } from '@n8n/instance-ai';
|
|
4
|
+
import type { InProcessEventBus } from './event-bus/in-process-event-bus';
|
|
5
|
+
import type { TypeORMAgentMemory } from './storage/typeorm-agent-memory';
|
|
6
|
+
import { type WorkflowVerificationObligationService } from './workflow-verification-obligation-service';
|
|
7
|
+
export declare class WorkflowVerificationTaskProjector {
|
|
8
|
+
private readonly agentMemory;
|
|
9
|
+
private readonly eventBus;
|
|
10
|
+
private readonly logger;
|
|
11
|
+
private readonly obligations;
|
|
12
|
+
constructor(agentMemory: TypeORMAgentMemory, eventBus: InProcessEventBus, logger: Logger, obligations: WorkflowVerificationObligationService);
|
|
13
|
+
projectPlannedTaskList(threadId: string, graph: PlannedTaskGraph): Promise<TaskList>;
|
|
14
|
+
private projectPlannedVerifyRow;
|
|
15
|
+
syncFromBackgroundTask(task: ManagedBackgroundTask): Promise<void>;
|
|
16
|
+
private directItemsFromTask;
|
|
17
|
+
private directItemsFromCompletedTask;
|
|
18
|
+
syncFromWorkflowLoop(threadId: string, runId: string): Promise<void>;
|
|
19
|
+
private upsertItems;
|
|
20
|
+
private saveAndPublish;
|
|
21
|
+
}
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WorkflowVerificationTaskProjector = void 0;
|
|
4
|
+
const instance_ai_1 = require("@n8n/instance-ai");
|
|
5
|
+
const workflow_verification_obligation_service_1 = require("./workflow-verification-obligation-service");
|
|
6
|
+
const ORCHESTRATOR_AGENT_ID = 'agent-001';
|
|
7
|
+
const BUILD_DESCRIPTION = 'Build workflow';
|
|
8
|
+
const VERIFY_DESCRIPTION = 'Verify workflow';
|
|
9
|
+
const DETAIL = {
|
|
10
|
+
building: 'Building workflow',
|
|
11
|
+
waitingForBuild: 'Waiting for build',
|
|
12
|
+
buildIncomplete: 'Build did not complete',
|
|
13
|
+
verificationPending: 'Verification pending',
|
|
14
|
+
verifying: 'Verifying workflow',
|
|
15
|
+
needsSetup: 'Needs setup',
|
|
16
|
+
couldNotVerify: 'Could not verify automatically',
|
|
17
|
+
noWorkflow: 'No workflow to verify',
|
|
18
|
+
submitted: 'Submitted',
|
|
19
|
+
blocked: 'Blocked',
|
|
20
|
+
cancelled: 'Cancelled',
|
|
21
|
+
};
|
|
22
|
+
function getErrorMessage(error) {
|
|
23
|
+
return error instanceof Error ? error.message : String(error);
|
|
24
|
+
}
|
|
25
|
+
function verifyRowId(buildTaskId) {
|
|
26
|
+
return `${buildTaskId}:verify`;
|
|
27
|
+
}
|
|
28
|
+
function formatVerifiedDetail(evidence) {
|
|
29
|
+
if (!evidence?.attempted || !evidence.success)
|
|
30
|
+
return 'Verified';
|
|
31
|
+
const parts = [
|
|
32
|
+
evidence.executionId ? `execution ${evidence.executionId}` : '',
|
|
33
|
+
typeof evidence.evidence?.producedOutputRows === 'number'
|
|
34
|
+
? `${evidence.evidence.producedOutputRows} output rows`
|
|
35
|
+
: '',
|
|
36
|
+
].filter((part) => part.length > 0);
|
|
37
|
+
return parts.length > 0 ? `Verified - ${parts.join(', ')}` : 'Verified';
|
|
38
|
+
}
|
|
39
|
+
function obligationDetail(obligation) {
|
|
40
|
+
switch (obligation.status) {
|
|
41
|
+
case 'pending_build':
|
|
42
|
+
return DETAIL.building;
|
|
43
|
+
case 'ready_to_verify':
|
|
44
|
+
return DETAIL.verificationPending;
|
|
45
|
+
case 'verifying':
|
|
46
|
+
return DETAIL.verifying;
|
|
47
|
+
case 'verified':
|
|
48
|
+
return formatVerifiedDetail(obligation.evidence);
|
|
49
|
+
case 'needs_setup':
|
|
50
|
+
return DETAIL.needsSetup;
|
|
51
|
+
case 'not_verifiable':
|
|
52
|
+
return DETAIL.couldNotVerify;
|
|
53
|
+
case 'blocked':
|
|
54
|
+
return obligation.blockingReason ?? DETAIL.blocked;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
function obligationStatus(obligation) {
|
|
58
|
+
switch (obligation.status) {
|
|
59
|
+
case 'pending_build':
|
|
60
|
+
case 'ready_to_verify':
|
|
61
|
+
case 'verifying':
|
|
62
|
+
return 'in_progress';
|
|
63
|
+
case 'verified':
|
|
64
|
+
case 'needs_setup':
|
|
65
|
+
case 'not_verifiable':
|
|
66
|
+
return 'done';
|
|
67
|
+
case 'blocked':
|
|
68
|
+
return 'failed';
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
function projectedPlannedStatus(status) {
|
|
72
|
+
switch (status) {
|
|
73
|
+
case 'planned':
|
|
74
|
+
return 'todo';
|
|
75
|
+
case 'running':
|
|
76
|
+
return 'in_progress';
|
|
77
|
+
case 'succeeded':
|
|
78
|
+
return 'done';
|
|
79
|
+
case 'failed':
|
|
80
|
+
return 'failed';
|
|
81
|
+
case 'cancelled':
|
|
82
|
+
return 'cancelled';
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
function plannedBuildDetail(task) {
|
|
86
|
+
if (task.kind !== 'build-workflow')
|
|
87
|
+
return undefined;
|
|
88
|
+
if (task.status === 'running')
|
|
89
|
+
return DETAIL.building;
|
|
90
|
+
if (task.status === 'failed')
|
|
91
|
+
return task.error ?? DETAIL.blocked;
|
|
92
|
+
if (task.status === 'cancelled')
|
|
93
|
+
return task.error ?? DETAIL.cancelled;
|
|
94
|
+
const outcome = (0, workflow_verification_obligation_service_1.parseWorkflowBuildOutcome)(task.outcome);
|
|
95
|
+
if (!outcome)
|
|
96
|
+
return task.status === 'succeeded' ? DETAIL.submitted : undefined;
|
|
97
|
+
return outcome.submitted || outcome.workflowId ? DETAIL.submitted : undefined;
|
|
98
|
+
}
|
|
99
|
+
function verifyRow(buildTaskId, obligation) {
|
|
100
|
+
if (obligation.status === 'pending_build') {
|
|
101
|
+
return {
|
|
102
|
+
id: verifyRowId(buildTaskId),
|
|
103
|
+
description: VERIFY_DESCRIPTION,
|
|
104
|
+
detail: DETAIL.waitingForBuild,
|
|
105
|
+
status: 'todo',
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
return {
|
|
109
|
+
id: verifyRowId(buildTaskId),
|
|
110
|
+
description: VERIFY_DESCRIPTION,
|
|
111
|
+
detail: obligationDetail(obligation),
|
|
112
|
+
status: obligationStatus(obligation),
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
function buildRow(buildTaskId, outcome, obligation) {
|
|
116
|
+
const submitted = outcome?.submitted === true || !!obligation.workflowId;
|
|
117
|
+
const blockedBeforeSubmit = obligation.status === 'blocked' && !submitted;
|
|
118
|
+
return {
|
|
119
|
+
id: buildTaskId,
|
|
120
|
+
description: BUILD_DESCRIPTION,
|
|
121
|
+
detail: submitted ? DETAIL.submitted : obligationDetail(obligation),
|
|
122
|
+
status: blockedBeforeSubmit ? 'failed' : submitted ? 'done' : 'in_progress',
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
function directTaskItems(buildTaskId, outcome, obligation) {
|
|
126
|
+
return [buildRow(buildTaskId, outcome, obligation), verifyRow(buildTaskId, obligation)];
|
|
127
|
+
}
|
|
128
|
+
function upsertTaskItemsInOrder(existingTasks, items) {
|
|
129
|
+
const tasks = [...existingTasks];
|
|
130
|
+
let changed = false;
|
|
131
|
+
for (const [itemIndex, item] of items.entries()) {
|
|
132
|
+
const existingIndex = tasks.findIndex((task) => task.id === item.id);
|
|
133
|
+
if (existingIndex >= 0) {
|
|
134
|
+
if (taskItemsEqual(tasks[existingIndex], item))
|
|
135
|
+
continue;
|
|
136
|
+
tasks[existingIndex] = item;
|
|
137
|
+
changed = true;
|
|
138
|
+
continue;
|
|
139
|
+
}
|
|
140
|
+
const previousItem = items[itemIndex - 1];
|
|
141
|
+
const previousIndex = previousItem
|
|
142
|
+
? tasks.findIndex((task) => task.id === previousItem.id)
|
|
143
|
+
: -1;
|
|
144
|
+
tasks.splice(previousIndex >= 0 ? previousIndex + 1 : tasks.length, 0, item);
|
|
145
|
+
changed = true;
|
|
146
|
+
}
|
|
147
|
+
return { tasks, changed };
|
|
148
|
+
}
|
|
149
|
+
function taskItemsEqual(first, second) {
|
|
150
|
+
return (first.id === second.id &&
|
|
151
|
+
first.description === second.description &&
|
|
152
|
+
first.detail === second.detail &&
|
|
153
|
+
first.status === second.status);
|
|
154
|
+
}
|
|
155
|
+
class WorkflowVerificationTaskProjector {
|
|
156
|
+
constructor(agentMemory, eventBus, logger, obligations) {
|
|
157
|
+
this.agentMemory = agentMemory;
|
|
158
|
+
this.eventBus = eventBus;
|
|
159
|
+
this.logger = logger;
|
|
160
|
+
this.obligations = obligations;
|
|
161
|
+
}
|
|
162
|
+
async projectPlannedTaskList(threadId, graph) {
|
|
163
|
+
const tasks = [];
|
|
164
|
+
for (const task of graph.tasks) {
|
|
165
|
+
tasks.push({
|
|
166
|
+
id: task.id,
|
|
167
|
+
description: task.title,
|
|
168
|
+
detail: plannedBuildDetail(task),
|
|
169
|
+
status: projectedPlannedStatus(task.status),
|
|
170
|
+
});
|
|
171
|
+
if (task.kind === 'build-workflow') {
|
|
172
|
+
tasks.push(await this.projectPlannedVerifyRow(threadId, task));
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
return { tasks };
|
|
176
|
+
}
|
|
177
|
+
async projectPlannedVerifyRow(threadId, task) {
|
|
178
|
+
const id = verifyRowId(task.id);
|
|
179
|
+
if (task.status === 'planned' || task.status === 'running') {
|
|
180
|
+
return {
|
|
181
|
+
id,
|
|
182
|
+
description: VERIFY_DESCRIPTION,
|
|
183
|
+
detail: DETAIL.waitingForBuild,
|
|
184
|
+
status: 'todo',
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
if (task.status === 'failed' || task.status === 'cancelled') {
|
|
188
|
+
return {
|
|
189
|
+
id,
|
|
190
|
+
description: VERIFY_DESCRIPTION,
|
|
191
|
+
detail: DETAIL.buildIncomplete,
|
|
192
|
+
status: 'cancelled',
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
const outcome = (0, workflow_verification_obligation_service_1.parseWorkflowBuildOutcome)(task.outcome);
|
|
196
|
+
if (!outcome) {
|
|
197
|
+
return {
|
|
198
|
+
id,
|
|
199
|
+
description: VERIFY_DESCRIPTION,
|
|
200
|
+
detail: DETAIL.verificationPending,
|
|
201
|
+
status: 'in_progress',
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
const options = { source: 'planned', plannedTaskId: task.id };
|
|
205
|
+
const obligation = (await this.obligations.getObligation(threadId, outcome.workItemId, options)) ??
|
|
206
|
+
(0, instance_ai_1.deriveWorkflowVerificationObligationFromOutcome)(threadId, outcome, options);
|
|
207
|
+
return verifyRow(task.id, obligation);
|
|
208
|
+
}
|
|
209
|
+
async syncFromBackgroundTask(task) {
|
|
210
|
+
if (task.plannedTaskId || task.parentCheckpointId || task.role !== 'workflow-builder')
|
|
211
|
+
return;
|
|
212
|
+
const items = await this.directItemsFromTask(task);
|
|
213
|
+
if (!items)
|
|
214
|
+
return;
|
|
215
|
+
await this.upsertItems(task.threadId, task.runId, items);
|
|
216
|
+
}
|
|
217
|
+
async directItemsFromTask(task) {
|
|
218
|
+
const build = { id: task.taskId, description: BUILD_DESCRIPTION };
|
|
219
|
+
const verify = { id: verifyRowId(task.taskId), description: VERIFY_DESCRIPTION };
|
|
220
|
+
switch (task.status) {
|
|
221
|
+
case 'running':
|
|
222
|
+
return [
|
|
223
|
+
{ ...build, detail: DETAIL.building, status: 'in_progress' },
|
|
224
|
+
{ ...verify, detail: DETAIL.waitingForBuild, status: 'todo' },
|
|
225
|
+
];
|
|
226
|
+
case 'failed':
|
|
227
|
+
return [
|
|
228
|
+
{ ...build, detail: task.error ?? DETAIL.blocked, status: 'failed' },
|
|
229
|
+
{ ...verify, detail: DETAIL.buildIncomplete, status: 'cancelled' },
|
|
230
|
+
];
|
|
231
|
+
case 'cancelled':
|
|
232
|
+
return [
|
|
233
|
+
{ ...build, detail: task.error ?? DETAIL.cancelled, status: 'cancelled' },
|
|
234
|
+
{ ...verify, detail: DETAIL.buildIncomplete, status: 'cancelled' },
|
|
235
|
+
];
|
|
236
|
+
case 'completed':
|
|
237
|
+
return await this.directItemsFromCompletedTask(task, build, verify);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
async directItemsFromCompletedTask(task, build, verify) {
|
|
241
|
+
const outcome = (0, workflow_verification_obligation_service_1.parseWorkflowBuildOutcome)(task.outcome);
|
|
242
|
+
const workItemId = task.workItemId ?? outcome?.workItemId;
|
|
243
|
+
if (!workItemId) {
|
|
244
|
+
return [
|
|
245
|
+
{ ...build, detail: DETAIL.submitted, status: 'done' },
|
|
246
|
+
{ ...verify, detail: DETAIL.noWorkflow, status: 'cancelled' },
|
|
247
|
+
];
|
|
248
|
+
}
|
|
249
|
+
const obligation = await this.obligations.getObligation(task.threadId, workItemId, {
|
|
250
|
+
source: 'direct',
|
|
251
|
+
});
|
|
252
|
+
if (!obligation)
|
|
253
|
+
return undefined;
|
|
254
|
+
return directTaskItems(task.taskId, outcome, obligation);
|
|
255
|
+
}
|
|
256
|
+
async syncFromWorkflowLoop(threadId, runId) {
|
|
257
|
+
try {
|
|
258
|
+
const taskStorage = new instance_ai_1.ThreadTaskStorage(this.agentMemory);
|
|
259
|
+
const existing = await taskStorage.get(threadId);
|
|
260
|
+
if (!existing?.tasks.length)
|
|
261
|
+
return;
|
|
262
|
+
const records = await new instance_ai_1.WorkflowLoopStorage(this.agentMemory).listWorkItems(threadId);
|
|
263
|
+
const byBuildTaskId = new Map();
|
|
264
|
+
for (const record of records) {
|
|
265
|
+
if (this.obligations.isPlannedRecord(record))
|
|
266
|
+
continue;
|
|
267
|
+
const obligation = this.obligations.obligationFromRecord(threadId, record, {
|
|
268
|
+
source: 'direct',
|
|
269
|
+
});
|
|
270
|
+
if (obligation.taskId) {
|
|
271
|
+
byBuildTaskId.set(obligation.taskId, { outcome: record.lastBuildOutcome, obligation });
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
let tasks = existing.tasks;
|
|
275
|
+
let changed = false;
|
|
276
|
+
for (const task of existing.tasks) {
|
|
277
|
+
const entry = byBuildTaskId.get(task.id);
|
|
278
|
+
if (!entry)
|
|
279
|
+
continue;
|
|
280
|
+
const update = upsertTaskItemsInOrder(tasks, directTaskItems(task.id, entry.outcome, entry.obligation));
|
|
281
|
+
changed = changed || update.changed;
|
|
282
|
+
tasks = update.tasks;
|
|
283
|
+
}
|
|
284
|
+
if (!changed)
|
|
285
|
+
return;
|
|
286
|
+
await this.saveAndPublish(taskStorage, threadId, runId, { tasks });
|
|
287
|
+
}
|
|
288
|
+
catch (error) {
|
|
289
|
+
this.logger.warn('Failed to sync direct workflow builder task checklist items', {
|
|
290
|
+
threadId,
|
|
291
|
+
error: getErrorMessage(error),
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
async upsertItems(threadId, runId, items) {
|
|
296
|
+
try {
|
|
297
|
+
const taskStorage = new instance_ai_1.ThreadTaskStorage(this.agentMemory);
|
|
298
|
+
const existing = (await taskStorage.get(threadId)) ?? { tasks: [] };
|
|
299
|
+
const { tasks, changed } = upsertTaskItemsInOrder(existing.tasks, items);
|
|
300
|
+
if (!changed)
|
|
301
|
+
return;
|
|
302
|
+
await this.saveAndPublish(taskStorage, threadId, runId, { tasks });
|
|
303
|
+
}
|
|
304
|
+
catch (error) {
|
|
305
|
+
this.logger.warn('Failed to update direct workflow builder task checklist items', {
|
|
306
|
+
threadId,
|
|
307
|
+
taskIds: items.map((item) => item.id),
|
|
308
|
+
error: getErrorMessage(error),
|
|
309
|
+
});
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
async saveAndPublish(taskStorage, threadId, runId, taskList) {
|
|
313
|
+
await taskStorage.save(threadId, taskList);
|
|
314
|
+
this.eventBus.publish(threadId, {
|
|
315
|
+
type: 'tasks-update',
|
|
316
|
+
runId,
|
|
317
|
+
agentId: ORCHESTRATOR_AGENT_ID,
|
|
318
|
+
payload: { tasks: taskList },
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
exports.WorkflowVerificationTaskProjector = WorkflowVerificationTaskProjector;
|
|
323
|
+
//# sourceMappingURL=workflow-verification-task-projector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-verification-task-projector.js","sourceRoot":"","sources":["../../../src/modules/instance-ai/workflow-verification-task-projector.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,6 +54,10 @@ __decorate([
|
|
|
54
54
|
(0, typeorm_1.Column)({ type: String, nullable: true }),
|
|
55
55
|
__metadata("design:type", Object)
|
|
56
56
|
], AuthorizationCode.prototype, "state", void 0);
|
|
57
|
+
__decorate([
|
|
58
|
+
(0, typeorm_1.Column)({ type: 'varchar', nullable: true }),
|
|
59
|
+
__metadata("design:type", Object)
|
|
60
|
+
], AuthorizationCode.prototype, "resource", void 0);
|
|
57
61
|
__decorate([
|
|
58
62
|
(0, typeorm_1.Index)(),
|
|
59
63
|
(0, typeorm_1.Column)({ type: 'int' }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-authorization-code.entity.js","sourceRoot":"","sources":["../../../../../src/modules/mcp/database/entities/oauth-authorization-code.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gCAA+C;AAC/C,0CAAgE;AAEhE,+DAAoD;AAG7C,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,mBAAc;
|
|
1
|
+
{"version":3,"file":"oauth-authorization-code.entity.js","sourceRoot":"","sources":["../../../../../src/modules/mcp/database/entities/oauth-authorization-code.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gCAA+C;AAC/C,0CAAgE;AAEhE,+DAAoD;AAG7C,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,mBAAc;CA2CpD,CAAA;AA3CY,8CAAiB;AAE7B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;+CAC9B;AAOb;IALC,IAAA,mBAAS,EACT,GAAG,EAAE,CAAC,iCAAW,EACjB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,kBAAkB,EACrC,EAAE,QAAQ,EAAE,SAAS,EAAE,CACvB;8BACO,iCAAW;iDAAC;AAIpB;IAFC,IAAA,eAAK,GAAE;IACP,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mDACR;AAGjB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,SAAI,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;8BACzC,SAAI;+CAAC;AAIX;IAFC,IAAA,eAAK,GAAE;IACP,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;iDACV;AAGf;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;sDACL;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;wDACH;AAGtB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;8DACG;AAG5B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACpB;AAGrB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACpB;AAIxB;IAFC,IAAA,eAAK,GAAE;IACP,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;oDACN;AAGlB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;+CAC5B;4BA1CF,iBAAiB;IAD7B,IAAA,gBAAM,EAAC,2BAA2B,CAAC;GACvB,iBAAiB,CA2C7B"}
|
|
@@ -4,8 +4,10 @@ export declare class McpOAuthAuthorizationCodeService {
|
|
|
4
4
|
private readonly authorizationCodeRepository;
|
|
5
5
|
private readonly AUTHORIZATION_CODE_EXPIRY_MS;
|
|
6
6
|
constructor(authorizationCodeRepository: AuthorizationCodeRepository);
|
|
7
|
-
createAuthorizationCode(clientId: string, userId: string, redirectUri: string, codeChallenge: string, state: string | null): Promise<string>;
|
|
7
|
+
createAuthorizationCode(clientId: string, userId: string, redirectUri: string, codeChallenge: string, state: string | null, resource?: string): Promise<string>;
|
|
8
8
|
findAndValidateAuthorizationCode(authorizationCode: string, clientId: string): Promise<AuthorizationCode>;
|
|
9
|
+
findAuthorizationCode(code: string, clientId: string, redirectUri?: string): Promise<AuthorizationCode | null>;
|
|
9
10
|
validateAndConsumeAuthorizationCode(authorizationCode: string, clientId: string, redirectUri?: string): Promise<AuthorizationCode>;
|
|
11
|
+
markAuthorizationCodeAsUsed(authorizationCode: string): Promise<void>;
|
|
10
12
|
getCodeChallenge(authorizationCode: string, clientId: string): Promise<string>;
|
|
11
13
|
}
|
|
@@ -14,12 +14,13 @@ const constants_1 = require("@n8n/constants");
|
|
|
14
14
|
const di_1 = require("@n8n/di");
|
|
15
15
|
const node_crypto_1 = require("node:crypto");
|
|
16
16
|
const oauth_authorization_code_repository_1 = require("./database/repositories/oauth-authorization-code.repository");
|
|
17
|
+
const errors_js_1 = require("@modelcontextprotocol/sdk/server/auth/errors.js");
|
|
17
18
|
let McpOAuthAuthorizationCodeService = class McpOAuthAuthorizationCodeService {
|
|
18
19
|
constructor(authorizationCodeRepository) {
|
|
19
20
|
this.authorizationCodeRepository = authorizationCodeRepository;
|
|
20
21
|
this.AUTHORIZATION_CODE_EXPIRY_MS = 10 * constants_1.Time.minutes.toMilliseconds;
|
|
21
22
|
}
|
|
22
|
-
async createAuthorizationCode(clientId, userId, redirectUri, codeChallenge, state) {
|
|
23
|
+
async createAuthorizationCode(clientId, userId, redirectUri, codeChallenge, state, resource) {
|
|
23
24
|
const code = (0, node_crypto_1.randomBytes)(32).toString('hex');
|
|
24
25
|
await this.authorizationCodeRepository.insert({
|
|
25
26
|
code,
|
|
@@ -29,6 +30,7 @@ let McpOAuthAuthorizationCodeService = class McpOAuthAuthorizationCodeService {
|
|
|
29
30
|
codeChallenge,
|
|
30
31
|
codeChallengeMethod: 'S256',
|
|
31
32
|
state,
|
|
33
|
+
resource: resource ?? null,
|
|
32
34
|
expiresAt: Date.now() + this.AUTHORIZATION_CODE_EXPIRY_MS,
|
|
33
35
|
used: false,
|
|
34
36
|
});
|
|
@@ -42,14 +44,32 @@ let McpOAuthAuthorizationCodeService = class McpOAuthAuthorizationCodeService {
|
|
|
42
44
|
},
|
|
43
45
|
});
|
|
44
46
|
if (!authRecord) {
|
|
45
|
-
throw new
|
|
47
|
+
throw new errors_js_1.OAuthError('invalid_grant', 'Invalid authorization code');
|
|
46
48
|
}
|
|
47
49
|
if (authRecord.expiresAt < Date.now()) {
|
|
48
50
|
await this.authorizationCodeRepository.remove(authRecord);
|
|
49
|
-
throw new
|
|
51
|
+
throw new errors_js_1.OAuthError('invalid_grant', 'Authorization code expired');
|
|
50
52
|
}
|
|
51
53
|
return authRecord;
|
|
52
54
|
}
|
|
55
|
+
async findAuthorizationCode(code, clientId, redirectUri) {
|
|
56
|
+
const authCode = await this.authorizationCodeRepository.findOne({
|
|
57
|
+
where: {
|
|
58
|
+
code,
|
|
59
|
+
clientId,
|
|
60
|
+
used: false,
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
if (!authCode)
|
|
64
|
+
return null;
|
|
65
|
+
if (authCode.expiresAt < Date.now()) {
|
|
66
|
+
await this.authorizationCodeRepository.remove(authCode);
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
if (redirectUri && authCode.redirectUri !== redirectUri)
|
|
70
|
+
return null;
|
|
71
|
+
return authCode;
|
|
72
|
+
}
|
|
53
73
|
async validateAndConsumeAuthorizationCode(authorizationCode, clientId, redirectUri) {
|
|
54
74
|
const authRecord = await this.findAndValidateAuthorizationCode(authorizationCode, clientId);
|
|
55
75
|
if (redirectUri && authRecord.redirectUri !== redirectUri) {
|
|
@@ -58,13 +78,23 @@ let McpOAuthAuthorizationCodeService = class McpOAuthAuthorizationCodeService {
|
|
|
58
78
|
const result = await this.authorizationCodeRepository.update({ code: authorizationCode, used: false }, { used: true });
|
|
59
79
|
const numAffected = result.affected ?? 0;
|
|
60
80
|
if (numAffected < 1) {
|
|
61
|
-
throw new
|
|
81
|
+
throw new errors_js_1.OAuthError('invalid_grant', 'Authorization code already used');
|
|
62
82
|
}
|
|
63
83
|
authRecord.used = true;
|
|
64
84
|
return authRecord;
|
|
65
85
|
}
|
|
86
|
+
async markAuthorizationCodeAsUsed(authorizationCode) {
|
|
87
|
+
const result = await this.authorizationCodeRepository.update({ code: authorizationCode, used: false }, { used: true });
|
|
88
|
+
const numAffected = result.affected ?? 0;
|
|
89
|
+
if (numAffected < 1) {
|
|
90
|
+
throw new errors_js_1.OAuthError('invalid_grant', 'Authorization code already used');
|
|
91
|
+
}
|
|
92
|
+
}
|
|
66
93
|
async getCodeChallenge(authorizationCode, clientId) {
|
|
67
|
-
const authRecord = await this.
|
|
94
|
+
const authRecord = await this.findAuthorizationCode(authorizationCode, clientId);
|
|
95
|
+
if (!authRecord) {
|
|
96
|
+
throw new errors_js_1.OAuthError('invalid_grant', 'Invalid authorization code');
|
|
97
|
+
}
|
|
68
98
|
return authRecord.codeChallenge;
|
|
69
99
|
}
|
|
70
100
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-oauth-authorization-code.service.js","sourceRoot":"","sources":["../../../src/modules/mcp/mcp-oauth-authorization-code.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAAsC;AACtC,gCAAkC;AAClC,6CAA0C;AAG1C,qHAA0G;
|
|
1
|
+
{"version":3,"file":"mcp-oauth-authorization-code.service.js","sourceRoot":"","sources":["../../../src/modules/mcp/mcp-oauth-authorization-code.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -66,7 +66,7 @@ let McpOAuthConsentService = class McpOAuthConsentService {
|
|
|
66
66
|
clientId: sessionPayload.clientId,
|
|
67
67
|
grantedAt: Date.now(),
|
|
68
68
|
}, ['userId', 'clientId']);
|
|
69
|
-
const code = await this.authorizationCodeService.createAuthorizationCode(sessionPayload.clientId, userId, sessionPayload.redirectUri, sessionPayload.codeChallenge, sessionPayload.state);
|
|
69
|
+
const code = await this.authorizationCodeService.createAuthorizationCode(sessionPayload.clientId, userId, sessionPayload.redirectUri, sessionPayload.codeChallenge, sessionPayload.state, sessionPayload.resource);
|
|
70
70
|
const successRedirectUrl = mcp_oauth_helpers_1.McpOAuthHelpers.buildSuccessRedirectUrl(sessionPayload.redirectUri, code, sessionPayload.state);
|
|
71
71
|
this.logger.info('Consent approved', {
|
|
72
72
|
clientId: sessionPayload.clientId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-oauth-consent.service.js","sourceRoot":"","sources":["../../../src/modules/mcp/mcp-oauth-consent.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wDAA6C;AAC7C,gCAAkC;AAClC,+CAAyC;AAEzC,6FAAwF;AACxF,yGAA8F;AAC9F,iGAA0F;AAC1F,2DAAsD;AACtD,mEAAwF;AAOjF,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAClC,YACkB,MAAc,EACd,mBAAwC,EACxC,qBAA4C,EAC5C,qBAA4C,EAC5C,wBAA0D;QAJ1D,WAAM,GAAN,MAAM,CAAQ;QACd,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,6BAAwB,GAAxB,wBAAwB,CAAkC;IACzE,CAAC;IAMJ,KAAK,CAAC,iBAAiB,CAAC,YAAoB;QAI3C,IAAI,CAAC;YACJ,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YAE5E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC;gBACvD,KAAK,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,QAAQ,EAAE;aACtC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC;YACb,CAAC;YAED,OAAO;gBACN,UAAU,EAAE,MAAM,CAAC,IAAI;gBACvB,QAAQ,EAAE,MAAM,CAAC,EAAE;aACnB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAMD,KAAK,CAAC,qBAAqB,CAC1B,YAAoB,EACpB,MAAc,EACd,QAAiB;QAEjB,IAAI,cAAmC,CAAC;QACxC,IAAI,CAAC;YACJ,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,wBAAS,CAAC,4BAA4B,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,WAAW,GAAG,mCAAe,CAAC,qBAAqB,CACxD,cAAc,CAAC,WAAW,EAC1B,eAAe,EACf,uCAAuC,EACvC,cAAc,CAAC,KAAK,CACpB,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAClC,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,MAAM;aACN,CAAC,CAAC;YAEH,OAAO,EAAE,WAAW,EAAE,CAAC;QACxB,CAAC;QAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CACtC;YACC,MAAM;YACN,QAAQ,EAAE,cAAc,CAAC,QAAQ;YACjC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACrB,EACD,CAAC,QAAQ,EAAE,UAAU,CAAC,CACtB,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CACvE,cAAc,CAAC,QAAQ,EACvB,MAAM,EACN,cAAc,CAAC,WAAW,EAC1B,cAAc,CAAC,aAAa,EAC5B,cAAc,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"mcp-oauth-consent.service.js","sourceRoot":"","sources":["../../../src/modules/mcp/mcp-oauth-consent.service.ts"],"names":[],"mappings":"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"}
|