n8n 2.14.2 → 2.16.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 +1 -1
- package/dist/abstract-server.js.map +1 -1
- package/dist/active-workflow-manager.js +25 -12
- package/dist/active-workflow-manager.js.map +1 -1
- package/dist/auth/auth.service.js +1 -0
- package/dist/auth/auth.service.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/commands/base-command.d.ts +1 -0
- package/dist/commands/base-command.js +15 -7
- package/dist/commands/base-command.js.map +1 -1
- package/dist/commands/execute-batch.js +2 -0
- package/dist/commands/execute-batch.js.map +1 -1
- package/dist/commands/execute.js +2 -0
- package/dist/commands/execute.js.map +1 -1
- package/dist/commands/start.js +1 -0
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/webhook.js +1 -0
- package/dist/commands/webhook.js.map +1 -1
- package/dist/commands/worker.js +1 -0
- package/dist/commands/worker.js.map +1 -1
- package/dist/constants.js +1 -0
- package/dist/constants.js.map +1 -1
- package/dist/controllers/ai.controller.js +2 -2
- package/dist/controllers/ai.controller.js.map +1 -1
- package/dist/controllers/binary-data.controller.js +1 -1
- package/dist/controllers/binary-data.controller.js.map +1 -1
- package/dist/controllers/e2e.controller.js +2 -0
- package/dist/controllers/e2e.controller.js.map +1 -1
- package/dist/controllers/me.controller.d.ts +3 -1
- package/dist/controllers/me.controller.js +6 -3
- package/dist/controllers/me.controller.js.map +1 -1
- package/dist/controllers/project.controller.d.ts +2 -0
- package/dist/credentials/credentials.controller.js +1 -1
- package/dist/credentials/credentials.controller.js.map +1 -1
- package/dist/credentials/credentials.service.d.ts +7 -4
- package/dist/credentials/credentials.service.js +78 -17
- package/dist/credentials/credentials.service.js.map +1 -1
- package/dist/credentials-helper.js +7 -1
- package/dist/credentials-helper.js.map +1 -1
- package/dist/errors/http-error-classifier.d.ts +31 -0
- package/dist/errors/http-error-classifier.js +60 -0
- package/dist/errors/http-error-classifier.js.map +1 -0
- package/dist/errors/http-error-serializers.d.ts +18 -0
- package/dist/errors/http-error-serializers.js +64 -0
- package/dist/errors/http-error-serializers.js.map +1 -0
- package/dist/eventbus/event-message-classes/index.d.ts +2 -2
- package/dist/eventbus/event-message-classes/index.js +3 -0
- package/dist/eventbus/event-message-classes/index.js.map +1 -1
- package/dist/events/maps/relay.event-map.d.ts +22 -0
- package/dist/events/relays/log-streaming.event-relay.d.ts +3 -0
- package/dist/events/relays/log-streaming.event-relay.js +21 -0
- package/dist/events/relays/log-streaming.event-relay.js.map +1 -1
- package/dist/execution-lifecycle/execution-lifecycle-hooks.js +11 -8
- package/dist/execution-lifecycle/execution-lifecycle-hooks.js.map +1 -1
- package/dist/executions/execution-persistence.d.ts +4 -1
- package/dist/executions/execution-persistence.js +16 -2
- package/dist/executions/execution-persistence.js.map +1 -1
- package/dist/executions/execution.service.js +2 -1
- package/dist/executions/execution.service.js.map +1 -1
- package/dist/executions/executions.controller.d.ts +3 -5
- package/dist/executions/executions.controller.js +17 -9
- package/dist/executions/executions.controller.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-workflow.service.d.ts +1 -0
- package/dist/modules/chat-hub/chat-hub-workflow.service.js +18 -2
- package/dist/modules/chat-hub/chat-hub-workflow.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.types.d.ts +5 -0
- package/dist/modules/chat-hub/chat-hub.types.js +1 -0
- package/dist/modules/chat-hub/chat-hub.types.js.map +1 -1
- package/dist/modules/chat-hub/context-limits.js +10 -0
- package/dist/modules/chat-hub/context-limits.js.map +1 -1
- package/dist/modules/community-packages/community-node-types-utils.d.ts +2 -2
- package/dist/modules/community-packages/community-node-types-utils.js +4 -4
- package/dist/modules/community-packages/community-node-types-utils.js.map +1 -1
- package/dist/modules/community-packages/community-packages.controller.d.ts +6 -19
- package/dist/modules/community-packages/community-packages.controller.js +8 -231
- package/dist/modules/community-packages/community-packages.controller.js.map +1 -1
- package/dist/modules/community-packages/community-packages.lifecycle.service.d.ts +32 -0
- package/dist/modules/community-packages/community-packages.lifecycle.service.js +282 -0
- package/dist/modules/community-packages/community-packages.lifecycle.service.js.map +1 -0
- package/dist/modules/community-packages/community-packages.service.js +8 -8
- package/dist/modules/community-packages/community-packages.service.js.map +1 -1
- package/dist/modules/community-packages/npm-utils.d.ts +4 -0
- package/dist/modules/community-packages/npm-utils.js +4 -0
- package/dist/modules/community-packages/npm-utils.js.map +1 -1
- package/dist/modules/community-packages/strapi-utils.d.ts +1 -1
- package/dist/modules/data-table/data-table-proxy.service.d.ts +44 -2
- package/dist/modules/data-table/data-table-proxy.service.js +86 -2
- package/dist/modules/data-table/data-table-proxy.service.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/index.d.ts +1 -0
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/index.js +1 -0
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/index.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/slack-signature-extractor.d.ts +11 -0
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/slack-signature-extractor.js +88 -0
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/slack-signature-extractor.js.map +1 -0
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/slack-signature-identifier.d.ts +28 -0
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/slack-signature-identifier.js +158 -0
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/slack-signature-identifier.js.map +1 -0
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/index.d.ts +1 -0
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/index.js +1 -0
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/index.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/slack-credential-resolver.d.ts +50 -0
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/slack-credential-resolver.js +118 -0
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/slack-credential-resolver.js.map +1 -0
- package/dist/modules/dynamic-credentials.ee/services/resolver-config-expression.service.js +10 -4
- package/dist/modules/dynamic-credentials.ee/services/resolver-config-expression.service.js.map +1 -1
- package/dist/modules/instance-ai/compaction.service.d.ts +19 -0
- package/dist/modules/instance-ai/compaction.service.js +213 -0
- package/dist/modules/instance-ai/compaction.service.js.map +1 -0
- package/dist/modules/instance-ai/entities/index.d.ts +7 -0
- package/dist/modules/instance-ai/entities/index.js +18 -0
- package/dist/modules/instance-ai/entities/index.js.map +1 -0
- package/dist/modules/instance-ai/entities/instance-ai-iteration-log.entity.d.ts +7 -0
- package/dist/modules/instance-ai/entities/instance-ai-iteration-log.entity.js +38 -0
- package/dist/modules/instance-ai/entities/instance-ai-iteration-log.entity.js.map +1 -0
- package/dist/modules/instance-ai/entities/instance-ai-message.entity.d.ts +9 -0
- package/dist/modules/instance-ai/entities/instance-ai-message.entity.js +47 -0
- package/dist/modules/instance-ai/entities/instance-ai-message.entity.js.map +1 -0
- package/dist/modules/instance-ai/entities/instance-ai-observational-memory.entity.d.ts +33 -0
- package/dist/modules/instance-ai/entities/instance-ai-observational-memory.entity.js +145 -0
- package/dist/modules/instance-ai/entities/instance-ai-observational-memory.entity.js.map +1 -0
- package/dist/modules/instance-ai/entities/instance-ai-resource.entity.d.ts +6 -0
- package/dist/modules/instance-ai/entities/instance-ai-resource.entity.js +33 -0
- package/dist/modules/instance-ai/entities/instance-ai-resource.entity.js.map +1 -0
- package/dist/modules/instance-ai/entities/instance-ai-run-snapshot.entity.d.ts +8 -0
- package/dist/modules/instance-ai/entities/instance-ai-run-snapshot.entity.js +43 -0
- package/dist/modules/instance-ai/entities/instance-ai-run-snapshot.entity.js.map +1 -0
- package/dist/modules/instance-ai/entities/instance-ai-thread.entity.d.ts +7 -0
- package/dist/modules/instance-ai/entities/instance-ai-thread.entity.js +38 -0
- package/dist/modules/instance-ai/entities/instance-ai-thread.entity.js.map +1 -0
- package/dist/modules/instance-ai/entities/instance-ai-workflow-snapshot.entity.d.ts +8 -0
- package/dist/modules/instance-ai/entities/instance-ai-workflow-snapshot.entity.js +41 -0
- package/dist/modules/instance-ai/entities/instance-ai-workflow-snapshot.entity.js.map +1 -0
- package/dist/modules/instance-ai/event-bus/in-process-event-bus.d.ts +19 -0
- package/dist/modules/instance-ai/event-bus/in-process-event-bus.js +98 -0
- package/dist/modules/instance-ai/event-bus/in-process-event-bus.js.map +1 -0
- package/dist/modules/instance-ai/filesystem/index.d.ts +4 -0
- package/dist/modules/instance-ai/filesystem/index.js +10 -0
- package/dist/modules/instance-ai/filesystem/index.js.map +1 -0
- package/dist/modules/instance-ai/filesystem/local-fs-provider.d.ts +26 -0
- package/dist/modules/instance-ai/filesystem/local-fs-provider.js +321 -0
- package/dist/modules/instance-ai/filesystem/local-fs-provider.js.map +1 -0
- package/dist/modules/instance-ai/filesystem/local-gateway-registry.d.ts +29 -0
- package/dist/modules/instance-ai/filesystem/local-gateway-registry.js +137 -0
- package/dist/modules/instance-ai/filesystem/local-gateway-registry.js.map +1 -0
- package/dist/modules/instance-ai/filesystem/local-gateway.d.ts +35 -0
- package/dist/modules/instance-ai/filesystem/local-gateway.js +99 -0
- package/dist/modules/instance-ai/filesystem/local-gateway.js.map +1 -0
- package/dist/modules/instance-ai/instance-ai-memory.service.d.ts +36 -0
- package/dist/modules/instance-ai/instance-ai-memory.service.js +265 -0
- package/dist/modules/instance-ai/instance-ai-memory.service.js.map +1 -0
- package/dist/modules/instance-ai/instance-ai-settings.service.d.ts +55 -0
- package/dist/modules/instance-ai/instance-ai-settings.service.js +430 -0
- package/dist/modules/instance-ai/instance-ai-settings.service.js.map +1 -0
- package/dist/modules/instance-ai/instance-ai.adapter.service.d.ts +86 -0
- package/dist/modules/instance-ai/instance-ai.adapter.service.js +1731 -0
- package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -0
- package/dist/modules/instance-ai/instance-ai.controller.d.ts +102 -0
- package/dist/modules/instance-ai/instance-ai.controller.js +613 -0
- package/dist/modules/instance-ai/instance-ai.controller.js.map +1 -0
- package/dist/modules/instance-ai/instance-ai.module.d.ts +13 -0
- package/dist/modules/instance-ai/instance-ai.module.js +119 -0
- package/dist/modules/instance-ai/instance-ai.module.js.map +1 -0
- package/dist/modules/instance-ai/instance-ai.service.d.ts +132 -0
- package/dist/modules/instance-ai/instance-ai.service.js +1674 -0
- package/dist/modules/instance-ai/instance-ai.service.js.map +1 -0
- package/dist/modules/instance-ai/internal-messages.d.ts +2 -0
- package/dist/modules/instance-ai/internal-messages.js +11 -0
- package/dist/modules/instance-ai/internal-messages.js.map +1 -0
- package/dist/modules/instance-ai/message-parser.d.ts +12 -0
- package/dist/modules/instance-ai/message-parser.js +171 -0
- package/dist/modules/instance-ai/message-parser.js.map +1 -0
- package/dist/modules/instance-ai/node-definition-resolver.d.ts +19 -0
- package/dist/modules/instance-ai/node-definition-resolver.js +290 -0
- package/dist/modules/instance-ai/node-definition-resolver.js.map +1 -0
- package/dist/modules/instance-ai/repositories/index.d.ts +7 -0
- package/dist/modules/instance-ai/repositories/index.js +18 -0
- package/dist/modules/instance-ai/repositories/index.js.map +1 -0
- package/dist/modules/instance-ai/repositories/instance-ai-iteration-log.repository.d.ts +5 -0
- package/dist/modules/instance-ai/repositories/instance-ai-iteration-log.repository.js +26 -0
- package/dist/modules/instance-ai/repositories/instance-ai-iteration-log.repository.js.map +1 -0
- package/dist/modules/instance-ai/repositories/instance-ai-message.repository.d.ts +5 -0
- package/dist/modules/instance-ai/repositories/instance-ai-message.repository.js +26 -0
- package/dist/modules/instance-ai/repositories/instance-ai-message.repository.js.map +1 -0
- package/dist/modules/instance-ai/repositories/instance-ai-observational-memory.repository.d.ts +5 -0
- package/dist/modules/instance-ai/repositories/instance-ai-observational-memory.repository.js +26 -0
- package/dist/modules/instance-ai/repositories/instance-ai-observational-memory.repository.js.map +1 -0
- package/dist/modules/instance-ai/repositories/instance-ai-resource.repository.d.ts +5 -0
- package/dist/modules/instance-ai/repositories/instance-ai-resource.repository.js +26 -0
- package/dist/modules/instance-ai/repositories/instance-ai-resource.repository.js.map +1 -0
- package/dist/modules/instance-ai/repositories/instance-ai-run-snapshot.repository.d.ts +5 -0
- package/dist/modules/instance-ai/repositories/instance-ai-run-snapshot.repository.js +26 -0
- package/dist/modules/instance-ai/repositories/instance-ai-run-snapshot.repository.js.map +1 -0
- package/dist/modules/instance-ai/repositories/instance-ai-thread.repository.d.ts +5 -0
- package/dist/modules/instance-ai/repositories/instance-ai-thread.repository.js +26 -0
- package/dist/modules/instance-ai/repositories/instance-ai-thread.repository.js.map +1 -0
- package/dist/modules/instance-ai/repositories/instance-ai-workflow-snapshot.repository.d.ts +5 -0
- package/dist/modules/instance-ai/repositories/instance-ai-workflow-snapshot.repository.js +26 -0
- package/dist/modules/instance-ai/repositories/instance-ai-workflow-snapshot.repository.js.map +1 -0
- package/dist/modules/instance-ai/snapshot-pruning.service.d.ts +14 -0
- package/dist/modules/instance-ai/snapshot-pruning.service.js +77 -0
- package/dist/modules/instance-ai/snapshot-pruning.service.js.map +1 -0
- package/dist/modules/instance-ai/storage/db-iteration-log-storage.d.ts +9 -0
- package/dist/modules/instance-ai/storage/db-iteration-log-storage.js +45 -0
- package/dist/modules/instance-ai/storage/db-iteration-log-storage.js.map +1 -0
- package/dist/modules/instance-ai/storage/db-snapshot-storage.d.ts +10 -0
- package/dist/modules/instance-ai/storage/db-snapshot-storage.js +74 -0
- package/dist/modules/instance-ai/storage/db-snapshot-storage.js.map +1 -0
- package/dist/modules/instance-ai/storage/index.d.ts +5 -0
- package/dist/modules/instance-ai/storage/index.js +14 -0
- package/dist/modules/instance-ai/storage/index.js.map +1 -0
- package/dist/modules/instance-ai/storage/typeorm-composite-store.d.ts +9 -0
- package/dist/modules/instance-ai/storage/typeorm-composite-store.js +33 -0
- package/dist/modules/instance-ai/storage/typeorm-composite-store.js.map +1 -0
- package/dist/modules/instance-ai/storage/typeorm-memory-storage.d.ts +96 -0
- package/dist/modules/instance-ai/storage/typeorm-memory-storage.js +853 -0
- package/dist/modules/instance-ai/storage/typeorm-memory-storage.js.map +1 -0
- package/dist/modules/instance-ai/storage/typeorm-workflows-storage.d.ts +44 -0
- package/dist/modules/instance-ai/storage/typeorm-workflows-storage.js +156 -0
- package/dist/modules/instance-ai/storage/typeorm-workflows-storage.js.map +1 -0
- package/dist/modules/instance-ai/web-research/brave-search.d.ts +10 -0
- package/dist/modules/instance-ai/web-research/brave-search.js +43 -0
- package/dist/modules/instance-ai/web-research/brave-search.js.map +1 -0
- package/dist/modules/instance-ai/web-research/cache.d.ts +13 -0
- package/dist/modules/instance-ai/web-research/cache.js +43 -0
- package/dist/modules/instance-ai/web-research/cache.js.map +1 -0
- package/dist/modules/instance-ai/web-research/fetch-and-extract.d.ts +8 -0
- package/dist/modules/instance-ai/web-research/fetch-and-extract.js +231 -0
- package/dist/modules/instance-ai/web-research/fetch-and-extract.js.map +1 -0
- package/dist/modules/instance-ai/web-research/index.d.ts +7 -0
- package/dist/modules/instance-ai/web-research/index.js +16 -0
- package/dist/modules/instance-ai/web-research/index.js.map +1 -0
- package/dist/modules/instance-ai/web-research/searxng-search.d.ts +6 -0
- package/dist/modules/instance-ai/web-research/searxng-search.js +39 -0
- package/dist/modules/instance-ai/web-research/searxng-search.js.map +1 -0
- package/dist/modules/instance-ai/web-research/ssrf-guard.d.ts +1 -0
- package/dist/modules/instance-ai/web-research/ssrf-guard.js +85 -0
- package/dist/modules/instance-ai/web-research/ssrf-guard.js.map +1 -0
- package/dist/modules/instance-ai/web-research/summarize-content.d.ts +4 -0
- package/dist/modules/instance-ai/web-research/summarize-content.js +34 -0
- package/dist/modules/instance-ai/web-research/summarize-content.js.map +1 -0
- package/dist/modules/instance-registry/instance-registry.types.d.ts +1 -0
- package/dist/modules/instance-registry/instance-registry.types.js +2 -1
- package/dist/modules/instance-registry/instance-registry.types.js.map +1 -1
- package/dist/modules/instance-registry/storage/instance-storage.interface.d.ts +1 -0
- package/dist/modules/instance-registry/storage/lua-scripts.d.ts +4 -0
- package/dist/modules/instance-registry/storage/lua-scripts.js +39 -0
- package/dist/modules/instance-registry/storage/lua-scripts.js.map +1 -0
- package/dist/modules/instance-registry/storage/memory-storage.d.ts +16 -0
- package/dist/modules/instance-registry/storage/memory-storage.js +42 -0
- package/dist/modules/instance-registry/storage/memory-storage.js.map +1 -0
- package/dist/modules/instance-registry/storage/redis-instance-storage.d.ts +25 -0
- package/dist/modules/instance-registry/storage/redis-instance-storage.js +185 -0
- package/dist/modules/instance-registry/storage/redis-instance-storage.js.map +1 -0
- package/dist/modules/log-streaming.ee/log-streaming.controller.js.map +1 -1
- package/dist/modules/mcp/mcp-oauth-service.d.ts +1 -1
- package/dist/modules/mcp/mcp-oauth-service.js +5 -1
- package/dist/modules/mcp/mcp-oauth-service.js.map +1 -1
- package/dist/modules/mcp/mcp.errors.js +1 -1
- package/dist/modules/mcp/mcp.oauth-clients.controller.js +1 -1
- package/dist/modules/mcp/mcp.oauth-clients.controller.js.map +1 -1
- package/dist/modules/mcp/mcp.service.d.ts +5 -1
- package/dist/modules/mcp/mcp.service.js +33 -5
- package/dist/modules/mcp/mcp.service.js.map +1 -1
- package/dist/modules/mcp/mcp.types.d.ts +1 -1
- package/dist/modules/mcp/tools/data-table/add-data-table-column.tool.d.ts +13 -0
- package/dist/modules/mcp/tools/data-table/add-data-table-column.tool.js +69 -0
- package/dist/modules/mcp/tools/data-table/add-data-table-column.tool.js.map +1 -0
- package/dist/modules/mcp/tools/data-table/add-data-table-rows.tool.d.ts +12 -0
- package/dist/modules/mcp/tools/data-table/add-data-table-rows.tool.js +77 -0
- package/dist/modules/mcp/tools/data-table/add-data-table-rows.tool.js.map +1 -0
- package/dist/modules/mcp/tools/data-table/create-data-table.tool.d.ts +21 -0
- package/dist/modules/mcp/tools/data-table/create-data-table.tool.js +92 -0
- package/dist/modules/mcp/tools/data-table/create-data-table.tool.js.map +1 -0
- package/dist/modules/mcp/tools/data-table/delete-data-table-column.tool.d.ts +12 -0
- package/dist/modules/mcp/tools/data-table/delete-data-table-column.tool.js +60 -0
- package/dist/modules/mcp/tools/data-table/delete-data-table-column.tool.js.map +1 -0
- package/dist/modules/mcp/tools/data-table/index.d.ts +7 -0
- package/dist/modules/mcp/tools/data-table/index.js +18 -0
- package/dist/modules/mcp/tools/data-table/index.js.map +1 -0
- package/dist/modules/mcp/tools/data-table/rename-data-table-column.tool.d.ts +13 -0
- package/dist/modules/mcp/tools/data-table/rename-data-table-column.tool.js +70 -0
- package/dist/modules/mcp/tools/data-table/rename-data-table-column.tool.js.map +1 -0
- package/dist/modules/mcp/tools/data-table/rename-data-table.tool.d.ts +12 -0
- package/dist/modules/mcp/tools/data-table/rename-data-table.tool.js +60 -0
- package/dist/modules/mcp/tools/data-table/rename-data-table.tool.js.map +1 -0
- package/dist/modules/mcp/tools/data-table/search-data-tables.tool.d.ts +12 -0
- package/dist/modules/mcp/tools/data-table/search-data-tables.tool.js +93 -0
- package/dist/modules/mcp/tools/data-table/search-data-tables.tool.js.map +1 -0
- package/dist/modules/mcp/tools/execute-workflow.tool.d.ts +3 -4
- package/dist/modules/mcp/tools/execute-workflow.tool.js +15 -66
- package/dist/modules/mcp/tools/execute-workflow.tool.js.map +1 -1
- package/dist/modules/mcp/tools/execution-utils.d.ts +5 -0
- package/dist/modules/mcp/tools/execution-utils.js +45 -0
- package/dist/modules/mcp/tools/execution-utils.js.map +1 -0
- package/dist/modules/mcp/tools/get-execution.tool.js +4 -8
- package/dist/modules/mcp/tools/get-execution.tool.js.map +1 -1
- package/dist/modules/mcp/tools/prepare-workflow-pin-data.tool.d.ts +31 -0
- package/dist/modules/mcp/tools/prepare-workflow-pin-data.tool.js +165 -0
- package/dist/modules/mcp/tools/prepare-workflow-pin-data.tool.js.map +1 -0
- package/dist/modules/mcp/tools/schemas.d.ts +73 -2
- package/dist/modules/mcp/tools/schemas.js +41 -1
- package/dist/modules/mcp/tools/schemas.js.map +1 -1
- package/dist/modules/mcp/tools/search-folders.tool.js +2 -7
- package/dist/modules/mcp/tools/search-folders.tool.js.map +1 -1
- package/dist/modules/mcp/tools/search-projects.tool.js +2 -7
- package/dist/modules/mcp/tools/search-projects.tool.js.map +1 -1
- package/dist/modules/mcp/tools/search-workflows.tool.js +2 -7
- package/dist/modules/mcp/tools/search-workflows.tool.js.map +1 -1
- package/dist/modules/mcp/tools/test-workflow.tool.d.ts +31 -0
- package/dist/modules/mcp/tools/test-workflow.tool.js +178 -0
- package/dist/modules/mcp/tools/test-workflow.tool.js.map +1 -0
- package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js +1 -0
- package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/credentials-auto-assign.d.ts +2 -1
- package/dist/modules/mcp/tools/workflow-builder/credentials-auto-assign.js +15 -0
- package/dist/modules/mcp/tools/workflow-builder/credentials-auto-assign.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/get-suggested-workflow-nodes.tool.js +1 -37
- package/dist/modules/mcp/tools/workflow-builder/get-suggested-workflow-nodes.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-node-types.tool.js +1 -37
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-node-types.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/search-workflow-nodes.tool.js +1 -37
- package/dist/modules/mcp/tools/workflow-builder/search-workflow-nodes.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js +1 -0
- package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/workflow-builder-tools.service.d.ts +17 -0
- package/dist/modules/mcp/tools/workflow-builder/workflow-builder-tools.service.js +48 -0
- package/dist/modules/mcp/tools/workflow-builder/workflow-builder-tools.service.js.map +1 -1
- package/dist/modules/otel/handlers/interfaces.d.ts +5 -0
- package/dist/modules/otel/handlers/interfaces.js +3 -0
- package/dist/modules/otel/handlers/interfaces.js.map +1 -0
- package/dist/modules/otel/handlers/node-end.handler.d.ts +8 -0
- package/dist/modules/otel/handlers/node-end.handler.js +71 -0
- package/dist/modules/otel/handlers/node-end.handler.js.map +1 -0
- package/dist/modules/otel/handlers/node-start.handler.d.ts +7 -0
- package/dist/modules/otel/handlers/node-start.handler.js +37 -0
- package/dist/modules/otel/handlers/node-start.handler.js.map +1 -0
- package/dist/modules/otel/handlers/workflow-end.handler.d.ts +8 -0
- package/dist/modules/otel/handlers/workflow-end.handler.js +73 -0
- package/dist/modules/otel/handlers/workflow-end.handler.js.map +1 -0
- package/dist/modules/otel/handlers/workflow-start.handler.d.ts +7 -0
- package/dist/modules/otel/handlers/workflow-start.handler.js +29 -0
- package/dist/modules/otel/handlers/workflow-start.handler.js.map +1 -0
- package/dist/modules/otel/n8n-instrumentation.d.ts +21 -0
- package/dist/modules/otel/n8n-instrumentation.js +103 -0
- package/dist/modules/otel/n8n-instrumentation.js.map +1 -0
- package/dist/modules/otel/otel.config.d.ts +10 -0
- package/dist/modules/otel/otel.config.js +62 -0
- package/dist/modules/otel/otel.config.js.map +1 -0
- package/dist/modules/otel/otel.constants.d.ts +22 -0
- package/dist/modules/otel/otel.constants.js +27 -0
- package/dist/modules/otel/otel.constants.js.map +1 -0
- package/dist/modules/otel/otel.module.d.ts +5 -0
- package/dist/modules/otel/otel.module.js +80 -0
- package/dist/modules/otel/otel.module.js.map +1 -0
- package/dist/modules/otel/otel.service.d.ts +18 -0
- package/dist/modules/otel/otel.service.js +120 -0
- package/dist/modules/otel/otel.service.js.map +1 -0
- package/dist/modules/otel/span-registry.d.ts +14 -0
- package/dist/modules/otel/span-registry.js +58 -0
- package/dist/modules/otel/span-registry.js.map +1 -0
- package/dist/modules/provisioning.ee/provisioning.module.js +1 -0
- package/dist/modules/provisioning.ee/provisioning.module.js.map +1 -1
- package/dist/modules/provisioning.ee/provisioning.service.ee.d.ts +13 -2
- package/dist/modules/provisioning.ee/provisioning.service.ee.js +145 -2
- package/dist/modules/provisioning.ee/provisioning.service.ee.js.map +1 -1
- package/dist/modules/provisioning.ee/role-mapping-rule.controller.ee.d.ts +18 -0
- package/dist/modules/provisioning.ee/role-mapping-rule.controller.ee.js +105 -0
- package/dist/modules/provisioning.ee/role-mapping-rule.controller.ee.js.map +1 -0
- package/dist/modules/provisioning.ee/role-mapping-rule.service.ee.d.ts +34 -0
- package/dist/modules/provisioning.ee/role-mapping-rule.service.ee.js +221 -0
- package/dist/modules/provisioning.ee/role-mapping-rule.service.ee.js.map +1 -0
- package/dist/modules/provisioning.ee/role-mapping-rule.validation.d.ts +3 -0
- package/dist/modules/provisioning.ee/role-mapping-rule.validation.js +29 -0
- package/dist/modules/provisioning.ee/role-mapping-rule.validation.js.map +1 -0
- package/dist/modules/redaction/executions/execution-redaction.service.d.ts +3 -2
- package/dist/modules/redaction/executions/execution-redaction.service.js +5 -1
- package/dist/modules/redaction/executions/execution-redaction.service.js.map +1 -1
- package/dist/modules/redaction/redaction.module.js +0 -6
- package/dist/modules/redaction/redaction.module.js.map +1 -1
- package/dist/modules/source-control.ee/source-control-import.service.ee.js +6 -0
- package/dist/modules/source-control.ee/source-control-import.service.ee.js.map +1 -1
- package/dist/modules/source-control.ee/types/source-control-preferences.js +3 -0
- package/dist/modules/source-control.ee/types/source-control-preferences.js.map +1 -1
- package/dist/modules/sso-oidc/oidc.controller.ee.d.ts +4 -1
- package/dist/modules/sso-oidc/oidc.controller.ee.js +39 -3
- package/dist/modules/sso-oidc/oidc.controller.ee.js.map +1 -1
- package/dist/modules/sso-oidc/oidc.service.ee.d.ts +14 -2
- package/dist/modules/sso-oidc/oidc.service.ee.js +86 -8
- package/dist/modules/sso-oidc/oidc.service.ee.js.map +1 -1
- package/dist/modules/sso-oidc/views/oidc-test-result.d.ts +5 -0
- package/dist/modules/sso-oidc/views/oidc-test-result.js +58 -0
- package/dist/modules/sso-oidc/views/oidc-test-result.js.map +1 -0
- package/dist/modules/sso-saml/saml-helpers.d.ts +1 -0
- package/dist/modules/sso-saml/saml-helpers.js +2 -0
- package/dist/modules/sso-saml/saml-helpers.js.map +1 -1
- package/dist/modules/sso-saml/saml.service.ee.d.ts +4 -1
- package/dist/modules/sso-saml/saml.service.ee.js +13 -7
- package/dist/modules/sso-saml/saml.service.ee.js.map +1 -1
- package/dist/modules/token-exchange/controllers/embed-auth.controller.d.ts +15 -0
- package/dist/modules/token-exchange/controllers/embed-auth.controller.js +67 -0
- package/dist/modules/token-exchange/controllers/embed-auth.controller.js.map +1 -0
- package/dist/modules/token-exchange/database/entities/token-exchange-jti.entity.d.ts +5 -0
- package/dist/modules/token-exchange/database/entities/token-exchange-jti.entity.js +33 -0
- package/dist/modules/token-exchange/database/entities/token-exchange-jti.entity.js.map +1 -0
- package/dist/modules/token-exchange/database/repositories/token-exchange-jti.repository.d.ts +10 -0
- package/dist/modules/token-exchange/database/repositories/token-exchange-jti.repository.js +106 -0
- package/dist/modules/token-exchange/database/repositories/token-exchange-jti.repository.js.map +1 -0
- package/dist/modules/token-exchange/services/identity-resolution.service.d.ts +5 -0
- package/dist/modules/token-exchange/services/identity-resolution.service.js +21 -0
- package/dist/modules/token-exchange/services/identity-resolution.service.js.map +1 -0
- package/dist/modules/token-exchange/services/jti-cleanup.service.d.ts +18 -0
- package/dist/modules/token-exchange/services/jti-cleanup.service.js +90 -0
- package/dist/modules/token-exchange/services/jti-cleanup.service.js.map +1 -0
- package/dist/modules/token-exchange/services/jti-store.service.d.ts +6 -0
- package/dist/modules/token-exchange/services/jti-store.service.js +30 -0
- package/dist/modules/token-exchange/services/jti-store.service.js.map +1 -0
- package/dist/modules/token-exchange/services/token-exchange.service.d.ts +17 -0
- package/dist/modules/token-exchange/services/token-exchange.service.js +93 -0
- package/dist/modules/token-exchange/services/token-exchange.service.js.map +1 -0
- package/dist/modules/token-exchange/services/trusted-key.service.d.ts +13 -0
- package/dist/modules/token-exchange/services/trusted-key.service.js +123 -0
- package/dist/modules/token-exchange/services/trusted-key.service.js.map +1 -0
- package/dist/modules/token-exchange/token-exchange.config.d.ts +7 -0
- package/dist/modules/token-exchange/token-exchange.config.js +47 -0
- package/dist/modules/token-exchange/token-exchange.config.js.map +1 -0
- package/dist/modules/token-exchange/token-exchange.controller.d.ts +9 -0
- package/dist/modules/token-exchange/token-exchange.controller.js +103 -0
- package/dist/modules/token-exchange/token-exchange.controller.js.map +1 -0
- package/dist/modules/token-exchange/token-exchange.module.d.ts +5 -0
- package/dist/modules/token-exchange/token-exchange.module.js +74 -0
- package/dist/modules/token-exchange/token-exchange.module.js.map +1 -0
- package/dist/modules/token-exchange/token-exchange.schemas.d.ts +131 -0
- package/dist/modules/token-exchange/token-exchange.schemas.js +60 -0
- package/dist/modules/token-exchange/token-exchange.schemas.js.map +1 -0
- package/dist/modules/token-exchange/token-exchange.service.d.ts +9 -0
- package/dist/modules/token-exchange/token-exchange.service.js +66 -0
- package/dist/modules/token-exchange/token-exchange.service.js.map +1 -0
- package/dist/modules/token-exchange/token-exchange.types.d.ts +50 -0
- package/dist/modules/token-exchange/token-exchange.types.js +3 -0
- package/dist/modules/token-exchange/token-exchange.types.js.map +1 -0
- package/dist/modules/workflow-builder/workflow-builder-session.entity.d.ts +4 -0
- package/dist/modules/workflow-builder/workflow-builder-session.entity.js +8 -0
- package/dist/modules/workflow-builder/workflow-builder-session.entity.js.map +1 -1
- package/dist/modules/workflow-builder/workflow-builder-session.repository.js +14 -2
- package/dist/modules/workflow-builder/workflow-builder-session.repository.js.map +1 -1
- package/dist/modules/workflow-index/workflow-dependency-query.service.js +26 -3
- package/dist/modules/workflow-index/workflow-dependency-query.service.js.map +1 -1
- package/dist/modules/workflow-index/workflow-index.service.d.ts +1 -0
- package/dist/modules/workflow-index/workflow-index.service.js +15 -3
- package/dist/modules/workflow-index/workflow-index.service.js.map +1 -1
- package/dist/posthog/index.d.ts +1 -0
- package/dist/posthog/index.js +32 -8
- package/dist/posthog/index.js.map +1 -1
- package/dist/public-api/index.js +5 -5
- package/dist/public-api/index.js.map +1 -1
- package/dist/public-api/types.d.ts +17 -0
- package/dist/public-api/v1/handlers/community-packages/community-packages.handler.d.ts +18 -0
- package/dist/public-api/v1/handlers/community-packages/community-packages.handler.js +71 -0
- package/dist/public-api/v1/handlers/community-packages/community-packages.handler.js.map +1 -0
- package/dist/public-api/v1/handlers/community-packages/community-packages.mapper.d.ts +27 -0
- package/dist/public-api/v1/handlers/community-packages/community-packages.mapper.js +35 -0
- package/dist/public-api/v1/handlers/community-packages/community-packages.mapper.js.map +1 -0
- package/dist/public-api/v1/handlers/credentials/credentials.handler.js +6 -5
- package/dist/public-api/v1/handlers/credentials/credentials.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/credentials/credentials.service.d.ts +2 -2
- package/dist/public-api/v1/handlers/credentials/credentials.service.js +3 -6
- package/dist/public-api/v1/handlers/credentials/credentials.service.js.map +1 -1
- package/dist/public-api/v1/handlers/executions/executions.handler.js +48 -4
- package/dist/public-api/v1/handlers/executions/executions.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/workflows/workflows.handler.d.ts +8 -0
- package/dist/public-api/v1/handlers/workflows/workflows.handler.js +44 -0
- package/dist/public-api/v1/handlers/workflows/workflows.handler.js.map +1 -1
- package/dist/public-api/v1/openapi.yml +262 -3
- package/dist/public-api/v1/public-api-error-response.d.ts +2 -0
- package/dist/public-api/v1/public-api-error-response.js +11 -0
- package/dist/public-api/v1/public-api-error-response.js.map +1 -0
- package/dist/push/abstract.push.d.ts +1 -0
- package/dist/push/abstract.push.js +3 -0
- package/dist/push/abstract.push.js.map +1 -1
- package/dist/push/sse.push.js +5 -1
- package/dist/push/sse.push.js.map +1 -1
- package/dist/push/websocket.push.js +3 -1
- package/dist/push/websocket.push.js.map +1 -1
- package/dist/response-helper.js +6 -29
- package/dist/response-helper.js.map +1 -1
- package/dist/scaling/job-processor.js +3 -0
- package/dist/scaling/job-processor.js.map +1 -1
- package/dist/scaling/pubsub/subscriber.service.d.ts +2 -0
- package/dist/scaling/pubsub/subscriber.service.js +17 -8
- package/dist/scaling/pubsub/subscriber.service.js.map +1 -1
- package/dist/scaling/redis/redis.types.d.ts +1 -1
- package/dist/scaling/scaling.service.js +1 -2
- package/dist/scaling/scaling.service.js.map +1 -1
- package/dist/scaling/worker-server.js +1 -1
- package/dist/scaling/worker-server.js.map +1 -1
- package/dist/services/ai-workflow-builder.service.d.ts +2 -2
- package/dist/services/ai-workflow-builder.service.js +5 -8
- package/dist/services/ai-workflow-builder.service.js.map +1 -1
- package/dist/services/ai.service.d.ts +4 -0
- package/dist/services/ai.service.js +20 -18
- package/dist/services/ai.service.js.map +1 -1
- package/dist/services/auth-strategy.registry.d.ts +7 -0
- package/dist/services/auth-strategy.registry.js +32 -0
- package/dist/services/auth-strategy.registry.js.map +1 -0
- package/dist/services/auth-strategy.types.d.ts +4 -0
- package/dist/services/auth-strategy.types.js +3 -0
- package/dist/services/auth-strategy.types.js.map +1 -0
- package/dist/services/credentials-tester.service.js +2 -0
- package/dist/services/credentials-tester.service.js.map +1 -1
- package/dist/services/db-clock.service.d.ts +10 -0
- package/dist/services/db-clock.service.js +48 -0
- package/dist/services/db-clock.service.js.map +1 -0
- package/dist/services/frontend.service.js +4 -1
- package/dist/services/frontend.service.js.map +1 -1
- package/dist/utils/health-endpoint.util.d.ts +2 -1
- package/dist/utils/health-endpoint.util.js +11 -3
- package/dist/utils/health-endpoint.util.js.map +1 -1
- package/dist/wait-tracker.d.ts +6 -2
- package/dist/wait-tracker.js +94 -63
- package/dist/wait-tracker.js.map +1 -1
- package/dist/webhooks/live-webhooks.js +24 -18
- package/dist/webhooks/live-webhooks.js.map +1 -1
- package/dist/webhooks/test-webhooks.js +96 -78
- package/dist/webhooks/test-webhooks.js.map +1 -1
- package/dist/webhooks/waiting-forms.js +3 -1
- package/dist/webhooks/waiting-forms.js.map +1 -1
- package/dist/webhooks/waiting-webhooks.js +27 -21
- package/dist/webhooks/waiting-webhooks.js.map +1 -1
- package/dist/webhooks/webhook-helpers.js +21 -6
- package/dist/webhooks/webhook-helpers.js.map +1 -1
- package/dist/webhooks/webhook-last-node-response-extractor.d.ts +5 -2
- package/dist/webhooks/webhook-last-node-response-extractor.js +5 -8
- package/dist/webhooks/webhook-last-node-response-extractor.js.map +1 -1
- package/dist/webhooks/webhook-request-handler.js +1 -1
- package/dist/webhooks/webhook-request-handler.js.map +1 -1
- package/dist/workflows/workflow-creation.service.js +4 -0
- package/dist/workflows/workflow-creation.service.js.map +1 -1
- package/dist/workflows/workflow-execution.service.js +1 -1
- 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-validation.service.js +3 -3
- package/dist/workflows/workflow-validation.service.js.map +1 -1
- package/dist/workflows/workflow.service.d.ts +6 -1
- package/dist/workflows/workflow.service.js +34 -7
- package/dist/workflows/workflow.service.js.map +1 -1
- package/dist/workflows/workflows.controller.d.ts +2 -2
- package/package.json +39 -29
|
@@ -13,7 +13,11 @@ exports.DataTableProxyService = void 0;
|
|
|
13
13
|
exports.isAllowedNode = isAllowedNode;
|
|
14
14
|
const backend_common_1 = require("@n8n/backend-common");
|
|
15
15
|
const di_1 = require("@n8n/di");
|
|
16
|
+
const data_table_aggregate_service_1 = require("./data-table-aggregate.service");
|
|
16
17
|
const data_table_service_1 = require("./data-table.service");
|
|
18
|
+
const forbidden_error_1 = require("../../errors/response-errors/forbidden.error");
|
|
19
|
+
const check_access_1 = require("../../permissions.ee/check-access");
|
|
20
|
+
const source_control_preferences_service_ee_1 = require("../../modules/source-control.ee/source-control-preferences.service.ee");
|
|
17
21
|
const ownership_service_1 = require("../../services/ownership.service");
|
|
18
22
|
const ALLOWED_NODES = [
|
|
19
23
|
'n8n-nodes-base.dataTable',
|
|
@@ -25,12 +29,20 @@ function isAllowedNode(s) {
|
|
|
25
29
|
return ALLOWED_NODES.includes(s);
|
|
26
30
|
}
|
|
27
31
|
let DataTableProxyService = class DataTableProxyService {
|
|
28
|
-
constructor(dataTableService, ownershipService, logger) {
|
|
32
|
+
constructor(dataTableService, dataTableAggregateService, ownershipService, logger, sourceControlPreferencesService) {
|
|
29
33
|
this.dataTableService = dataTableService;
|
|
34
|
+
this.dataTableAggregateService = dataTableAggregateService;
|
|
30
35
|
this.ownershipService = ownershipService;
|
|
31
36
|
this.logger = logger;
|
|
37
|
+
this.sourceControlPreferencesService = sourceControlPreferencesService;
|
|
32
38
|
this.logger = this.logger.scoped('data-table');
|
|
33
39
|
}
|
|
40
|
+
checkInstanceWriteAccess() {
|
|
41
|
+
const preferences = this.sourceControlPreferencesService.getPreferences();
|
|
42
|
+
if (preferences.branchReadOnly) {
|
|
43
|
+
throw new forbidden_error_1.ForbiddenError('Cannot modify data tables on a protected instance. This instance is in read-only mode.');
|
|
44
|
+
}
|
|
45
|
+
}
|
|
34
46
|
validateRequest(node) {
|
|
35
47
|
if (!isAllowedNode(node.type)) {
|
|
36
48
|
throw new Error('This proxy is only available for Data table nodes');
|
|
@@ -50,6 +62,76 @@ let DataTableProxyService = class DataTableProxyService {
|
|
|
50
62
|
projectId = projectId ?? (await this.getProjectId(workflow));
|
|
51
63
|
return this.makeDataTableOperations(projectId, dataTableId);
|
|
52
64
|
}
|
|
65
|
+
async requireScope(user, scope, projectId) {
|
|
66
|
+
const hasScope = await (0, check_access_1.userHasScopes)(user, [scope], false, { projectId });
|
|
67
|
+
if (!hasScope) {
|
|
68
|
+
throw new Error(`User does not have '${scope}' access on project '${projectId}'`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
makeDataTableOperationsForUser(user) {
|
|
72
|
+
const dataTableService = this.dataTableService;
|
|
73
|
+
const dataTableAggregateService = this.dataTableAggregateService;
|
|
74
|
+
const requireScope = async (scope, projectId) => await this.requireScope(user, scope, projectId);
|
|
75
|
+
const checkInstanceWriteAccess = () => this.checkInstanceWriteAccess();
|
|
76
|
+
return {
|
|
77
|
+
async getManyAndCount(options) {
|
|
78
|
+
return await dataTableAggregateService.getManyAndCount(user, options);
|
|
79
|
+
},
|
|
80
|
+
async createDataTable(projectId, options) {
|
|
81
|
+
checkInstanceWriteAccess();
|
|
82
|
+
await requireScope('dataTable:create', projectId);
|
|
83
|
+
return await dataTableService.createDataTable(projectId, options);
|
|
84
|
+
},
|
|
85
|
+
async getColumns(dataTableId, projectId) {
|
|
86
|
+
await requireScope('dataTable:read', projectId);
|
|
87
|
+
return await dataTableService.getColumns(dataTableId, projectId);
|
|
88
|
+
},
|
|
89
|
+
async updateDataTable(dataTableId, projectId, options) {
|
|
90
|
+
checkInstanceWriteAccess();
|
|
91
|
+
await requireScope('dataTable:update', projectId);
|
|
92
|
+
return await dataTableService.updateDataTable(dataTableId, projectId, options);
|
|
93
|
+
},
|
|
94
|
+
async addColumn(dataTableId, projectId, options) {
|
|
95
|
+
checkInstanceWriteAccess();
|
|
96
|
+
await requireScope('dataTable:update', projectId);
|
|
97
|
+
return await dataTableService.addColumn(dataTableId, projectId, options);
|
|
98
|
+
},
|
|
99
|
+
async deleteColumn(dataTableId, projectId, columnId) {
|
|
100
|
+
checkInstanceWriteAccess();
|
|
101
|
+
await requireScope('dataTable:update', projectId);
|
|
102
|
+
return await dataTableService.deleteColumn(dataTableId, projectId, columnId);
|
|
103
|
+
},
|
|
104
|
+
async renameColumn(dataTableId, projectId, columnId, options) {
|
|
105
|
+
checkInstanceWriteAccess();
|
|
106
|
+
await requireScope('dataTable:update', projectId);
|
|
107
|
+
return await dataTableService.renameColumn(dataTableId, projectId, columnId, options);
|
|
108
|
+
},
|
|
109
|
+
async deleteDataTable(dataTableId, projectId) {
|
|
110
|
+
checkInstanceWriteAccess();
|
|
111
|
+
await requireScope('dataTable:delete', projectId);
|
|
112
|
+
return await dataTableService.deleteDataTable(dataTableId, projectId);
|
|
113
|
+
},
|
|
114
|
+
async getManyRowsAndCount(dataTableId, projectId, options) {
|
|
115
|
+
await requireScope('dataTable:readRow', projectId);
|
|
116
|
+
return await dataTableService.getManyRowsAndCount(dataTableId, projectId, options);
|
|
117
|
+
},
|
|
118
|
+
async insertRows(dataTableId, projectId, rows, returnType) {
|
|
119
|
+
checkInstanceWriteAccess();
|
|
120
|
+
await requireScope('dataTable:writeRow', projectId);
|
|
121
|
+
return await dataTableService.insertRows(dataTableId, projectId, rows, returnType);
|
|
122
|
+
},
|
|
123
|
+
async updateRows(dataTableId, projectId, options) {
|
|
124
|
+
checkInstanceWriteAccess();
|
|
125
|
+
await requireScope('dataTable:writeRow', projectId);
|
|
126
|
+
return await dataTableService.updateRows(dataTableId, projectId, { filter: options.filter, data: options.data }, true, options.dryRun);
|
|
127
|
+
},
|
|
128
|
+
async deleteRows(dataTableId, projectId, options) {
|
|
129
|
+
checkInstanceWriteAccess();
|
|
130
|
+
await requireScope('dataTable:writeRow', projectId);
|
|
131
|
+
return await dataTableService.deleteRows(dataTableId, projectId, { filter: options.filter }, true, options.dryRun);
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
}
|
|
53
135
|
makeAggregateOperations(projectId) {
|
|
54
136
|
const dataTableService = this.dataTableService;
|
|
55
137
|
return {
|
|
@@ -114,7 +196,9 @@ exports.DataTableProxyService = DataTableProxyService;
|
|
|
114
196
|
exports.DataTableProxyService = DataTableProxyService = __decorate([
|
|
115
197
|
(0, di_1.Service)(),
|
|
116
198
|
__metadata("design:paramtypes", [data_table_service_1.DataTableService,
|
|
199
|
+
data_table_aggregate_service_1.DataTableAggregateService,
|
|
117
200
|
ownership_service_1.OwnershipService,
|
|
118
|
-
backend_common_1.Logger
|
|
201
|
+
backend_common_1.Logger,
|
|
202
|
+
source_control_preferences_service_ee_1.SourceControlPreferencesService])
|
|
119
203
|
], DataTableProxyService);
|
|
120
204
|
//# sourceMappingURL=data-table-proxy.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-table-proxy.service.js","sourceRoot":"","sources":["../../../src/modules/data-table/data-table-proxy.service.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"data-table-proxy.service.js","sourceRoot":"","sources":["../../../src/modules/data-table/data-table-proxy.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/dynamic-credentials.ee/context-establishment-hooks/index.ts"],"names":[],"mappings":";;AAAA,mCAAiC;AACjC,oCAAkC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/dynamic-credentials.ee/context-establishment-hooks/index.ts"],"names":[],"mappings":";;AAAA,mCAAiC;AACjC,oCAAkC;AAClC,uCAAqC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Logger } from '@n8n/backend-common';
|
|
2
|
+
import { type ContextEstablishmentOptions, type ContextEstablishmentResult, type HookDescription, type IContextEstablishmentHook } from '@n8n/decorators';
|
|
3
|
+
export declare class SlackSignatureExtractor implements IContextEstablishmentHook {
|
|
4
|
+
private readonly logger;
|
|
5
|
+
constructor(logger: Logger);
|
|
6
|
+
hookDescription: HookDescription;
|
|
7
|
+
isApplicableToTriggerNode(nodeType: string): boolean;
|
|
8
|
+
execute(options: ContextEstablishmentOptions): Promise<ContextEstablishmentResult>;
|
|
9
|
+
private getHeader;
|
|
10
|
+
private getRawBody;
|
|
11
|
+
}
|
package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/slack-signature-extractor.js
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.SlackSignatureExtractor = void 0;
|
|
13
|
+
const backend_common_1 = require("@n8n/backend-common");
|
|
14
|
+
const zod_1 = require("zod");
|
|
15
|
+
const decorators_1 = require("@n8n/decorators");
|
|
16
|
+
function isHeaderObject(obj) {
|
|
17
|
+
return obj !== null && obj !== undefined && typeof obj === 'object' && !Array.isArray(obj);
|
|
18
|
+
}
|
|
19
|
+
let SlackSignatureExtractor = class SlackSignatureExtractor {
|
|
20
|
+
constructor(logger) {
|
|
21
|
+
this.logger = logger;
|
|
22
|
+
this.hookDescription = {
|
|
23
|
+
name: 'SlackSignatureExtractor',
|
|
24
|
+
displayName: 'Slack Identity Extractor',
|
|
25
|
+
options: [],
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
isApplicableToTriggerNode(nodeType) {
|
|
29
|
+
return nodeType === 'n8n-nodes-base.webhook' || nodeType === 'webhook';
|
|
30
|
+
}
|
|
31
|
+
async execute(options) {
|
|
32
|
+
if (!options.triggerItems || options.triggerItems.length === 0) {
|
|
33
|
+
this.logger.error('No trigger items found for Slack identity extraction');
|
|
34
|
+
throw new Error('No trigger items found for Slack identity extraction');
|
|
35
|
+
}
|
|
36
|
+
const [triggerItem] = options.triggerItems;
|
|
37
|
+
const headers = triggerItem.json['headers'];
|
|
38
|
+
if (!isHeaderObject(headers)) {
|
|
39
|
+
this.logger.error('No headers found in trigger item for Slack identity extraction');
|
|
40
|
+
throw new Error('No headers found in trigger item for Slack identity extraction');
|
|
41
|
+
}
|
|
42
|
+
const timestamp = this.getHeader(headers, 'x-slack-request-timestamp');
|
|
43
|
+
const signature = this.getHeader(headers, 'x-slack-signature');
|
|
44
|
+
if (!timestamp) {
|
|
45
|
+
this.logger.error('Missing X-Slack-Request-Timestamp header');
|
|
46
|
+
throw new Error('Missing X-Slack-Request-Timestamp header');
|
|
47
|
+
}
|
|
48
|
+
if (!signature) {
|
|
49
|
+
this.logger.error('Missing X-Slack-Signature header');
|
|
50
|
+
throw new Error('Missing X-Slack-Signature header');
|
|
51
|
+
}
|
|
52
|
+
const rawBody = this.getRawBody(triggerItem);
|
|
53
|
+
headers['x-slack-signature'] = '**********';
|
|
54
|
+
headers['x-slack-request-timestamp'] = '**********';
|
|
55
|
+
return {
|
|
56
|
+
triggerItems: options.triggerItems,
|
|
57
|
+
contextUpdate: {
|
|
58
|
+
credentials: {
|
|
59
|
+
identity: rawBody,
|
|
60
|
+
version: 1,
|
|
61
|
+
metadata: {
|
|
62
|
+
source: 'slack-signature',
|
|
63
|
+
timestamp,
|
|
64
|
+
signature,
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
getHeader(headers, name) {
|
|
71
|
+
const value = headers[name] ?? headers[name.toLowerCase()];
|
|
72
|
+
return typeof value === 'string' ? value : undefined;
|
|
73
|
+
}
|
|
74
|
+
getRawBody(triggerItem) {
|
|
75
|
+
const result = zod_1.z.record(zod_1.z.string(), zod_1.z.string()).safeParse(triggerItem.json['body']);
|
|
76
|
+
if (!result.success) {
|
|
77
|
+
this.logger.error('Could not retrieve raw body for Slack signature verification');
|
|
78
|
+
throw new Error('Could not retrieve raw body for Slack signature verification.');
|
|
79
|
+
}
|
|
80
|
+
return new URLSearchParams(result.data).toString();
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
exports.SlackSignatureExtractor = SlackSignatureExtractor;
|
|
84
|
+
exports.SlackSignatureExtractor = SlackSignatureExtractor = __decorate([
|
|
85
|
+
(0, decorators_1.ContextEstablishmentHook)(),
|
|
86
|
+
__metadata("design:paramtypes", [backend_common_1.Logger])
|
|
87
|
+
], SlackSignatureExtractor);
|
|
88
|
+
//# sourceMappingURL=slack-signature-extractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slack-signature-extractor.js","sourceRoot":"","sources":["../../../../src/modules/dynamic-credentials.ee/context-establishment-hooks/slack-signature-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Logger } from '@n8n/backend-common';
|
|
2
|
+
import type { ICredentialContext } from 'n8n-workflow';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { type ITokenIdentifier } from './identifier-interface';
|
|
5
|
+
export declare const SlackSignatureOptionsSchema: z.ZodObject<{
|
|
6
|
+
signingSecret: z.ZodString;
|
|
7
|
+
subjectClaim: z.ZodDefault<z.ZodEnum<["user_id", "team_user"]>>;
|
|
8
|
+
}, "strip", z.ZodTypeAny, {
|
|
9
|
+
subjectClaim: "user_id" | "team_user";
|
|
10
|
+
signingSecret: string;
|
|
11
|
+
}, {
|
|
12
|
+
signingSecret: string;
|
|
13
|
+
subjectClaim?: "user_id" | "team_user" | undefined;
|
|
14
|
+
}>;
|
|
15
|
+
export declare class SlackSignatureIdentifier implements ITokenIdentifier {
|
|
16
|
+
private readonly logger;
|
|
17
|
+
constructor(logger: Logger);
|
|
18
|
+
validateOptions(identifierOptions: Record<string, unknown>): Promise<void>;
|
|
19
|
+
resolve(context: ICredentialContext, identifierOptions: Record<string, unknown>): Promise<string>;
|
|
20
|
+
resolveKey(context: ICredentialContext, identifierOptions: Record<string, unknown>): string;
|
|
21
|
+
private deriveKey;
|
|
22
|
+
private parseOptions;
|
|
23
|
+
private verifySlackSignature;
|
|
24
|
+
private extractSlackIdentity;
|
|
25
|
+
private extractFlatFieldBody;
|
|
26
|
+
private extractInteractivePayloadBody;
|
|
27
|
+
private extractEventPayloadBody;
|
|
28
|
+
}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.SlackSignatureIdentifier = exports.SlackSignatureOptionsSchema = void 0;
|
|
13
|
+
const crypto_1 = require("crypto");
|
|
14
|
+
const backend_common_1 = require("@n8n/backend-common");
|
|
15
|
+
const di_1 = require("@n8n/di");
|
|
16
|
+
const zod_1 = require("zod");
|
|
17
|
+
const identifier_interface_1 = require("./identifier-interface");
|
|
18
|
+
const querystring_1 = require("querystring");
|
|
19
|
+
const MAX_TIMESTAMP_AGE_SECONDS = 300;
|
|
20
|
+
const SlackIdentitySchema = zod_1.z.object({
|
|
21
|
+
identity: zod_1.z.string(),
|
|
22
|
+
version: zod_1.z.number(),
|
|
23
|
+
metadata: zod_1.z.object({
|
|
24
|
+
source: zod_1.z.literal('slack-signature'),
|
|
25
|
+
timestamp: zod_1.z.string(),
|
|
26
|
+
signature: zod_1.z.string(),
|
|
27
|
+
}),
|
|
28
|
+
});
|
|
29
|
+
exports.SlackSignatureOptionsSchema = zod_1.z.object({
|
|
30
|
+
signingSecret: zod_1.z.string().min(1, 'Slack signing secret is required'),
|
|
31
|
+
subjectClaim: zod_1.z.enum(['user_id', 'team_user']).default('user_id'),
|
|
32
|
+
});
|
|
33
|
+
const FlatPayloadSchema = zod_1.z.object({
|
|
34
|
+
user_id: zod_1.z.string(),
|
|
35
|
+
team_id: zod_1.z.string().optional(),
|
|
36
|
+
enterprise_id: zod_1.z.string().optional(),
|
|
37
|
+
});
|
|
38
|
+
const InteractivePayloadSchema = zod_1.z.object({
|
|
39
|
+
user: zod_1.z.object({ id: zod_1.z.string().optional() }),
|
|
40
|
+
team: zod_1.z.object({ id: zod_1.z.string() }).optional(),
|
|
41
|
+
enterprise: zod_1.z.object({ id: zod_1.z.string() }).optional(),
|
|
42
|
+
});
|
|
43
|
+
const EventPayloadSchema = zod_1.z.object({
|
|
44
|
+
event: zod_1.z.object({ user: zod_1.z.string().optional() }),
|
|
45
|
+
team_id: zod_1.z.string().optional(),
|
|
46
|
+
enterprise_id: zod_1.z.string().optional(),
|
|
47
|
+
});
|
|
48
|
+
let SlackSignatureIdentifier = class SlackSignatureIdentifier {
|
|
49
|
+
constructor(logger) {
|
|
50
|
+
this.logger = logger;
|
|
51
|
+
}
|
|
52
|
+
async validateOptions(identifierOptions) {
|
|
53
|
+
const result = exports.SlackSignatureOptionsSchema.safeParse(identifierOptions);
|
|
54
|
+
if (!result.success) {
|
|
55
|
+
throw new identifier_interface_1.IdentifierValidationError(`Invalid Slack identifier options: ${result.error.message}`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
async resolve(context, identifierOptions) {
|
|
59
|
+
const options = this.parseOptions(identifierOptions);
|
|
60
|
+
const result = SlackIdentitySchema.safeParse(context);
|
|
61
|
+
if (!result.success) {
|
|
62
|
+
throw new identifier_interface_1.IdentifierValidationError('Missing Slack signature verification data');
|
|
63
|
+
}
|
|
64
|
+
this.verifySlackSignature(options.signingSecret, result.data.metadata.timestamp, result.data.identity, result.data.metadata.signature);
|
|
65
|
+
this.logger.debug('Slack signature verified');
|
|
66
|
+
return this.deriveKey(result.data.identity, options);
|
|
67
|
+
}
|
|
68
|
+
resolveKey(context, identifierOptions) {
|
|
69
|
+
const options = this.parseOptions(identifierOptions);
|
|
70
|
+
const result = SlackIdentitySchema.safeParse(context);
|
|
71
|
+
if (!result.success) {
|
|
72
|
+
throw new identifier_interface_1.IdentifierValidationError('Missing Slack signature verification data');
|
|
73
|
+
}
|
|
74
|
+
return this.deriveKey(result.data.identity, options);
|
|
75
|
+
}
|
|
76
|
+
deriveKey(identity, options) {
|
|
77
|
+
const { userId, teamId } = this.extractSlackIdentity(identity);
|
|
78
|
+
if (!userId) {
|
|
79
|
+
throw new identifier_interface_1.IdentifierValidationError('Slack user_id not found in identity');
|
|
80
|
+
}
|
|
81
|
+
if (options.subjectClaim === 'team_user') {
|
|
82
|
+
if (!teamId) {
|
|
83
|
+
throw new identifier_interface_1.IdentifierValidationError('Slack team_id not found for team_user claim');
|
|
84
|
+
}
|
|
85
|
+
return `${teamId}:${userId}`;
|
|
86
|
+
}
|
|
87
|
+
return userId;
|
|
88
|
+
}
|
|
89
|
+
parseOptions(options) {
|
|
90
|
+
const result = exports.SlackSignatureOptionsSchema.safeParse(options);
|
|
91
|
+
if (!result.success) {
|
|
92
|
+
this.logger.error('Invalid Slack identifier options', { error: result.error });
|
|
93
|
+
throw new identifier_interface_1.IdentifierValidationError(`Invalid Slack identifier options: ${result.error.message}`);
|
|
94
|
+
}
|
|
95
|
+
return result.data;
|
|
96
|
+
}
|
|
97
|
+
verifySlackSignature(signingSecret, timestamp, rawBody, providedSignature) {
|
|
98
|
+
const timestampNum = parseInt(timestamp, 10);
|
|
99
|
+
if (isNaN(timestampNum)) {
|
|
100
|
+
throw new identifier_interface_1.IdentifierValidationError('Invalid Slack request timestamp');
|
|
101
|
+
}
|
|
102
|
+
const currentTimeSec = Math.floor(Date.now() / 1000);
|
|
103
|
+
if (Math.abs(currentTimeSec - timestampNum) > MAX_TIMESTAMP_AGE_SECONDS) {
|
|
104
|
+
throw new identifier_interface_1.IdentifierValidationError('Slack request timestamp is too old');
|
|
105
|
+
}
|
|
106
|
+
const hmac = (0, crypto_1.createHmac)('sha256', signingSecret);
|
|
107
|
+
hmac.update(`v0:${timestamp}:${rawBody}`);
|
|
108
|
+
const expectedSignature = `v0=${hmac.digest('hex')}`;
|
|
109
|
+
const expectedBuffer = Buffer.from(expectedSignature);
|
|
110
|
+
const actualBuffer = Buffer.from(providedSignature);
|
|
111
|
+
if (expectedBuffer.length !== actualBuffer.length ||
|
|
112
|
+
!(0, crypto_1.timingSafeEqual)(expectedBuffer, actualBuffer)) {
|
|
113
|
+
throw new identifier_interface_1.IdentifierValidationError('Slack signature verification failed');
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
extractSlackIdentity(body) {
|
|
117
|
+
const parsedBody = (0, querystring_1.parse)(body);
|
|
118
|
+
return (this.extractFlatFieldBody(parsedBody) ??
|
|
119
|
+
this.extractInteractivePayloadBody(parsedBody) ??
|
|
120
|
+
this.extractEventPayloadBody(parsedBody) ?? {
|
|
121
|
+
userId: undefined,
|
|
122
|
+
teamId: undefined,
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
extractFlatFieldBody(body) {
|
|
126
|
+
const result = FlatPayloadSchema.safeParse(body);
|
|
127
|
+
if (!result.success)
|
|
128
|
+
return undefined;
|
|
129
|
+
return {
|
|
130
|
+
userId: result.data.user_id,
|
|
131
|
+
teamId: result.data.team_id,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
extractInteractivePayloadBody(body) {
|
|
135
|
+
const result = InteractivePayloadSchema.safeParse(body);
|
|
136
|
+
if (!result.success)
|
|
137
|
+
return undefined;
|
|
138
|
+
return {
|
|
139
|
+
userId: result.data.user.id,
|
|
140
|
+
teamId: result.data.team?.id,
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
extractEventPayloadBody(body) {
|
|
144
|
+
const result = EventPayloadSchema.safeParse(body);
|
|
145
|
+
if (!result.success)
|
|
146
|
+
return undefined;
|
|
147
|
+
return {
|
|
148
|
+
userId: result.data.event.user,
|
|
149
|
+
teamId: result.data.team_id,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
exports.SlackSignatureIdentifier = SlackSignatureIdentifier;
|
|
154
|
+
exports.SlackSignatureIdentifier = SlackSignatureIdentifier = __decorate([
|
|
155
|
+
(0, di_1.Service)(),
|
|
156
|
+
__metadata("design:paramtypes", [backend_common_1.Logger])
|
|
157
|
+
], SlackSignatureIdentifier);
|
|
158
|
+
//# sourceMappingURL=slack-signature-identifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slack-signature-identifier.js","sourceRoot":"","sources":["../../../../../src/modules/dynamic-credentials.ee/credential-resolvers/identifiers/slack-signature-identifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/dynamic-credentials.ee/credential-resolvers/index.ts"],"names":[],"mappings":";;AAAA,uCAAqC;AACrC,qCAAmC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/dynamic-credentials.ee/credential-resolvers/index.ts"],"names":[],"mappings":";;AAAA,uCAAqC;AACrC,qCAAmC;AACnC,uCAAqC"}
|
package/dist/modules/dynamic-credentials.ee/credential-resolvers/slack-credential-resolver.d.ts
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Logger } from '@n8n/backend-common';
|
|
2
|
+
import { type CredentialResolverConfiguration, type CredentialResolverHandle, type ICredentialResolver } from '@n8n/decorators';
|
|
3
|
+
import { Cipher } from 'n8n-core';
|
|
4
|
+
import { type ICredentialContext, type ICredentialDataDecryptedObject } from 'n8n-workflow';
|
|
5
|
+
import { SlackSignatureIdentifier } from './identifiers/slack-signature-identifier';
|
|
6
|
+
import { DynamicCredentialEntryStorage } from './storage/dynamic-credential-entry-storage';
|
|
7
|
+
export declare class SlackCredentialResolver implements ICredentialResolver {
|
|
8
|
+
private readonly logger;
|
|
9
|
+
private readonly slackSignatureIdentifier;
|
|
10
|
+
private readonly storage;
|
|
11
|
+
private readonly cipher;
|
|
12
|
+
constructor(logger: Logger, slackSignatureIdentifier: SlackSignatureIdentifier, storage: DynamicCredentialEntryStorage, cipher: Cipher);
|
|
13
|
+
metadata: {
|
|
14
|
+
name: string;
|
|
15
|
+
description: string;
|
|
16
|
+
displayName: string;
|
|
17
|
+
options: ({
|
|
18
|
+
displayName: string;
|
|
19
|
+
name: string;
|
|
20
|
+
type: "string";
|
|
21
|
+
typeOptions: {
|
|
22
|
+
password: boolean;
|
|
23
|
+
};
|
|
24
|
+
required: boolean;
|
|
25
|
+
default: string;
|
|
26
|
+
description: string;
|
|
27
|
+
options?: undefined;
|
|
28
|
+
} | {
|
|
29
|
+
displayName: string;
|
|
30
|
+
name: string;
|
|
31
|
+
type: "options";
|
|
32
|
+
options: {
|
|
33
|
+
name: string;
|
|
34
|
+
value: string;
|
|
35
|
+
description: string;
|
|
36
|
+
}[];
|
|
37
|
+
default: string;
|
|
38
|
+
description: string;
|
|
39
|
+
typeOptions?: undefined;
|
|
40
|
+
required?: undefined;
|
|
41
|
+
})[];
|
|
42
|
+
};
|
|
43
|
+
getSecret(credentialId: string, context: ICredentialContext, handle: CredentialResolverHandle): Promise<ICredentialDataDecryptedObject>;
|
|
44
|
+
setSecret(credentialId: string, context: ICredentialContext, data: ICredentialDataDecryptedObject, handle: CredentialResolverHandle): Promise<void>;
|
|
45
|
+
deleteSecret(credentialId: string, context: ICredentialContext, handle: CredentialResolverHandle): Promise<void>;
|
|
46
|
+
deleteAllSecrets(handle: CredentialResolverHandle): Promise<void>;
|
|
47
|
+
validateOptions(options: CredentialResolverConfiguration): Promise<void>;
|
|
48
|
+
validateIdentity(context: ICredentialContext, handle: CredentialResolverHandle): Promise<void>;
|
|
49
|
+
private parseOptions;
|
|
50
|
+
}
|