n8n 2.28.4 → 2.29.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/abstract-server.js +1 -1
- package/dist/abstract-server.js.map +1 -1
- package/dist/active-executions.js +2 -2
- package/dist/active-executions.js.map +1 -1
- package/dist/active-workflow-manager.js +1 -1
- package/dist/active-workflow-manager.js.map +1 -1
- package/dist/auth/auth.service.js +12 -12
- package/dist/auth/auth.service.js.map +1 -1
- package/dist/blob-storage/azure-byte-store.ee.d.ts +10 -0
- package/dist/blob-storage/azure-byte-store.ee.js +57 -0
- package/dist/blob-storage/azure-byte-store.ee.js.map +1 -0
- package/dist/blob-storage/fs-byte-store.d.ts +14 -0
- package/dist/blob-storage/fs-byte-store.js +97 -0
- package/dist/blob-storage/fs-byte-store.js.map +1 -0
- package/dist/blob-storage/json-store.d.ts +18 -0
- package/dist/blob-storage/json-store.js +125 -0
- package/dist/blob-storage/json-store.js.map +1 -0
- package/dist/blob-storage/s3-byte-store.ee.d.ts +10 -0
- package/dist/blob-storage/s3-byte-store.ee.js +52 -0
- package/dist/blob-storage/s3-byte-store.ee.js.map +1 -0
- package/dist/blob-storage/skipped-entry-deletion.error.d.ts +5 -0
- package/dist/blob-storage/skipped-entry-deletion.error.js +13 -0
- package/dist/blob-storage/skipped-entry-deletion.error.js.map +1 -0
- package/dist/blob-storage/types.d.ts +23 -0
- package/dist/blob-storage/types.js +3 -0
- package/dist/blob-storage/types.js.map +1 -0
- package/dist/build.tsbuildinfo +1 -1
- package/dist/chat/chat-server.js +1 -1
- package/dist/chat/chat-server.js.map +1 -1
- package/dist/chat/chat-service.js +1 -1
- package/dist/chat/chat-service.js.map +1 -1
- package/dist/chat/chat-service.types.d.ts +2 -2
- package/dist/collaboration/collaboration.service.d.ts +2 -2
- package/dist/collaboration/collaboration.service.js +2 -2
- package/dist/collaboration/collaboration.service.js.map +1 -1
- package/dist/commands/base-command.d.ts +1 -1
- package/dist/commands/base-command.js +30 -4
- package/dist/commands/base-command.js.map +1 -1
- package/dist/commands/export/entities.js +3 -3
- package/dist/commands/export/entities.js.map +1 -1
- package/dist/commands/export/workflow.js.map +1 -1
- package/dist/commands/import/entities.js +3 -3
- package/dist/commands/import/entities.js.map +1 -1
- package/dist/commands/import/workflow.js +1 -1
- package/dist/commands/import/workflow.js.map +1 -1
- package/dist/commands/start.js +5 -5
- package/dist/commands/start.js.map +1 -1
- package/dist/controller.registry.d.ts +1 -1
- package/dist/controller.registry.js +8 -8
- package/dist/controller.registry.js.map +1 -1
- package/dist/controllers/ai.controller.d.ts +1 -0
- package/dist/controllers/ai.controller.js +20 -11
- package/dist/controllers/ai.controller.js.map +1 -1
- package/dist/controllers/e2e.controller.js +1 -0
- package/dist/controllers/e2e.controller.js.map +1 -1
- package/dist/controllers/folder.controller.d.ts +1 -1
- package/dist/controllers/folder.controller.js +1 -1
- package/dist/controllers/folder.controller.js.map +1 -1
- package/dist/controllers/invitation.controller.d.ts +1 -1
- package/dist/controllers/invitation.controller.js +5 -5
- package/dist/controllers/invitation.controller.js.map +1 -1
- package/dist/controllers/oauth/oauth1-credential.controller.d.ts +1 -1
- package/dist/controllers/oauth/oauth1-credential.controller.js +1 -1
- package/dist/controllers/oauth/oauth1-credential.controller.js.map +1 -1
- package/dist/controllers/oauth/oauth2-credential.controller.js +1 -1
- package/dist/controllers/oauth/oauth2-credential.controller.js.map +1 -1
- package/dist/controllers/orchestration.controller.js.map +1 -1
- package/dist/controllers/owner.controller.d.ts +1 -1
- package/dist/controllers/owner.controller.js +1 -1
- package/dist/controllers/owner.controller.js.map +1 -1
- package/dist/controllers/password-reset.controller.d.ts +1 -1
- package/dist/controllers/password-reset.controller.js +3 -3
- package/dist/controllers/password-reset.controller.js.map +1 -1
- package/dist/controllers/posthog.controller.d.ts +2 -5
- package/dist/controllers/posthog.controller.js.map +1 -1
- package/dist/controllers/role.controller.d.ts +2 -1
- package/dist/controllers/role.controller.js +12 -0
- package/dist/controllers/role.controller.js.map +1 -1
- package/dist/controllers/security-settings.controller.d.ts +1 -1
- package/dist/controllers/third-party-licenses.controller.js +1 -1
- package/dist/controllers/third-party-licenses.controller.js.map +1 -1
- package/dist/controllers/translation.controller.js +1 -1
- package/dist/controllers/translation.controller.js.map +1 -1
- package/dist/controllers/users.controller.d.ts +8 -6
- package/dist/controllers/users.controller.js +59 -9
- package/dist/controllers/users.controller.js.map +1 -1
- package/dist/credentials/credentials.service.ee.js +7 -0
- package/dist/credentials/credentials.service.ee.js.map +1 -1
- package/dist/credentials/credentials.service.js +1 -1
- package/dist/credentials/credentials.service.js.map +1 -1
- package/dist/credentials/validation.js +1 -1
- package/dist/credentials/validation.js.map +1 -1
- package/dist/credentials-helper.d.ts +3 -1
- package/dist/credentials-helper.js +33 -5
- package/dist/credentials-helper.js.map +1 -1
- package/dist/credentials-overwrites.js.map +1 -1
- package/dist/evaluation.ee/evaluation-config.service.js +1 -1
- package/dist/evaluation.ee/evaluation-config.service.js.map +1 -1
- package/dist/evaluation.ee/test-runner/test-runner.service.ee.d.ts +3 -3
- package/dist/evaluation.ee/test-runner/test-runner.service.ee.js +11 -5
- package/dist/evaluation.ee/test-runner/test-runner.service.ee.js.map +1 -1
- package/dist/evaluation.ee/test-runs.controller.ee.js.map +1 -1
- package/dist/events/relays/workflow-failure-notification.event-relay.js +1 -1
- package/dist/events/relays/workflow-failure-notification.event-relay.js.map +1 -1
- package/dist/execution-lifecycle/shared/shared-hook-functions.js +1 -0
- package/dist/execution-lifecycle/shared/shared-hook-functions.js.map +1 -1
- package/dist/executions/execution-data/azure-store.ee.js +2 -2
- package/dist/executions/execution-data/azure-store.ee.js.map +1 -1
- package/dist/executions/execution-data/types.d.ts +1 -1
- package/dist/executions/execution-persistence.js +11 -4
- package/dist/executions/execution-persistence.js.map +1 -1
- package/dist/executions/execution.service.js +5 -4
- package/dist/executions/execution.service.js.map +1 -1
- package/dist/executions/executions.controller.d.ts +2 -2
- package/dist/executions/executions.controller.js +4 -4
- package/dist/executions/executions.controller.js.map +1 -1
- package/dist/instance-settings-loader/loaders/log-streaming.instance-settings-loader.js +1 -1
- package/dist/instance-settings-loader/loaders/log-streaming.instance-settings-loader.js.map +1 -1
- package/dist/instance-settings-loader/loaders/owner.instance-settings-loader.js +1 -1
- package/dist/instance-settings-loader/loaders/owner.instance-settings-loader.js.map +1 -1
- package/dist/license/license.controller.js +1 -0
- package/dist/license/license.controller.js.map +1 -1
- package/dist/license/license.service.js +3 -4
- package/dist/license/license.service.js.map +1 -1
- package/dist/metrics/prometheus/db-pool-metrics.service.d.ts +13 -0
- package/dist/metrics/prometheus/db-pool-metrics.service.js +71 -0
- package/dist/metrics/prometheus/db-pool-metrics.service.js.map +1 -0
- package/dist/metrics/prometheus/prometheus.service.d.ts +2 -1
- package/dist/metrics/prometheus/prometheus.service.js +5 -2
- package/dist/metrics/prometheus/prometheus.service.js.map +1 -1
- package/dist/mfa/mfa.service.d.ts +1 -1
- package/dist/mfa/mfa.service.js +1 -1
- package/dist/mfa/mfa.service.js.map +1 -1
- package/dist/mfa/totp.service.js +41 -11
- package/dist/mfa/totp.service.js.map +1 -1
- package/dist/modules/agents/agent-builder.controller.d.ts +28 -0
- package/dist/modules/agents/agent-builder.controller.js +168 -0
- package/dist/modules/agents/agent-builder.controller.js.map +1 -0
- package/dist/modules/agents/agent-chat.controller.d.ts +41 -0
- package/dist/modules/agents/agent-chat.controller.js +206 -0
- package/dist/modules/agents/agent-chat.controller.js.map +1 -0
- package/dist/modules/agents/agent-config.service.d.ts +33 -0
- package/dist/modules/agents/agent-config.service.js +288 -0
- package/dist/modules/agents/agent-config.service.js.map +1 -0
- package/dist/modules/agents/agent-custom-tools.service.d.ts +22 -0
- package/dist/modules/agents/agent-custom-tools.service.js +98 -0
- package/dist/modules/agents/agent-custom-tools.service.js.map +1 -0
- package/dist/modules/agents/agent-execution-orchestrator.service.d.ts +110 -0
- package/dist/modules/agents/agent-execution-orchestrator.service.js +482 -0
- package/dist/modules/agents/agent-execution-orchestrator.service.js.map +1 -0
- package/dist/modules/agents/agent-execution.service.d.ts +4 -4
- package/dist/modules/agents/agent-execution.service.js +6 -5
- package/dist/modules/agents/agent-execution.service.js.map +1 -1
- package/dist/modules/agents/agent-integration-persistence.service.d.ts +19 -0
- package/dist/modules/agents/agent-integration-persistence.service.js +90 -0
- package/dist/modules/agents/agent-integration-persistence.service.js.map +1 -0
- package/dist/modules/agents/agent-integrations.controller.d.ts +60 -0
- package/dist/modules/agents/agent-integrations.controller.js +275 -0
- package/dist/modules/agents/agent-integrations.controller.js.map +1 -0
- package/dist/modules/agents/agent-knowledge-sandbox.service.d.ts +1 -1
- package/dist/modules/agents/agent-knowledge-sandbox.service.js +3 -3
- package/dist/modules/agents/agent-knowledge-sandbox.service.js.map +1 -1
- package/dist/modules/agents/agent-knowledge.controller.d.ts +26 -0
- package/dist/modules/agents/agent-knowledge.controller.js +112 -0
- package/dist/modules/agents/agent-knowledge.controller.js.map +1 -0
- package/dist/modules/agents/agent-publish.controller.d.ts +38 -0
- package/dist/modules/agents/agent-publish.controller.js +94 -0
- package/dist/modules/agents/agent-publish.controller.js.map +1 -0
- package/dist/modules/agents/agent-publish.service.d.ts +30 -0
- package/dist/modules/agents/agent-publish.service.js +293 -0
- package/dist/modules/agents/agent-publish.service.js.map +1 -0
- package/dist/modules/agents/agent-runnable-state.service.d.ts +15 -0
- package/dist/modules/agents/agent-runnable-state.service.js +43 -0
- package/dist/modules/agents/agent-runnable-state.service.js.map +1 -0
- package/dist/modules/agents/agent-runtime-cache.service.d.ts +44 -0
- package/dist/modules/agents/agent-runtime-cache.service.js +169 -0
- package/dist/modules/agents/agent-runtime-cache.service.js.map +1 -0
- package/dist/modules/agents/agent-runtime-reconstruction.service.d.ts +5 -9
- package/dist/modules/agents/agent-runtime-reconstruction.service.js +68 -41
- package/dist/modules/agents/agent-runtime-reconstruction.service.js.map +1 -1
- package/dist/modules/agents/agent-sandbox.controller.d.ts +3 -3
- package/dist/modules/agents/agent-sandbox.controller.js +9 -8
- package/dist/modules/agents/agent-sandbox.controller.js.map +1 -1
- package/dist/modules/agents/agent-skills.service.d.ts +3 -4
- package/dist/modules/agents/agent-skills.service.js +54 -28
- package/dist/modules/agents/agent-skills.service.js.map +1 -1
- package/dist/modules/agents/agent-task.service.d.ts +5 -5
- package/dist/modules/agents/agent-task.service.js +46 -46
- package/dist/modules/agents/agent-task.service.js.map +1 -1
- package/dist/modules/agents/agent-tasks.controller.d.ts +30 -0
- package/dist/modules/agents/agent-tasks.controller.js +106 -0
- package/dist/modules/agents/agent-tasks.controller.js.map +1 -0
- package/dist/modules/agents/agent-telemetry.js +0 -4
- package/dist/modules/agents/agent-telemetry.js.map +1 -1
- package/dist/modules/agents/agent-test-chat.service.d.ts +9 -0
- package/dist/modules/agents/agent-test-chat.service.js +49 -0
- package/dist/modules/agents/agent-test-chat.service.js.map +1 -0
- package/dist/modules/agents/agent-threads.controller.d.ts +28 -0
- package/dist/modules/agents/agent-threads.controller.js +66 -0
- package/dist/modules/agents/agent-threads.controller.js.map +1 -0
- package/dist/modules/agents/agent-validation.service.d.ts +13 -0
- package/dist/modules/agents/agent-validation.service.js +142 -0
- package/dist/modules/agents/agent-validation.service.js.map +1 -0
- package/dist/modules/agents/agents-catalog.controller.d.ts +8 -0
- package/dist/modules/agents/agents-catalog.controller.js +80 -0
- package/dist/modules/agents/agents-catalog.controller.js.map +1 -0
- package/dist/modules/agents/agents-config.controller.d.ts +181 -0
- package/dist/modules/agents/agents-config.controller.js +71 -0
- package/dist/modules/agents/agents-config.controller.js.map +1 -0
- package/dist/modules/agents/agents-skills.controller.d.ts +33 -0
- package/dist/modules/agents/agents-skills.controller.js +94 -0
- package/dist/modules/agents/agents-skills.controller.js.map +1 -0
- package/dist/modules/agents/agents-tools.service.d.ts +1 -7
- package/dist/modules/agents/agents-tools.service.js +3 -80
- package/dist/modules/agents/agents-tools.service.js.map +1 -1
- package/dist/modules/agents/agents.controller.d.ts +7 -393
- package/dist/modules/agents/agents.controller.js +6 -990
- package/dist/modules/agents/agents.controller.js.map +1 -1
- package/dist/modules/agents/agents.module.d.ts +2 -2
- package/dist/modules/agents/agents.module.js +12 -0
- package/dist/modules/agents/agents.module.js.map +1 -1
- package/dist/modules/agents/agents.service.d.ts +8 -166
- package/dist/modules/agents/agents.service.js +10 -1287
- package/dist/modules/agents/agents.service.js.map +1 -1
- package/dist/modules/agents/builder/agents-builder-prompts.d.ts +2 -2
- package/dist/modules/agents/builder/agents-builder-prompts.js +3 -5
- package/dist/modules/agents/builder/agents-builder-prompts.js.map +1 -1
- package/dist/modules/agents/builder/agents-builder-tools.service.d.ts +11 -1
- package/dist/modules/agents/builder/agents-builder-tools.service.js +60 -25
- package/dist/modules/agents/builder/agents-builder-tools.service.js.map +1 -1
- package/dist/modules/agents/builder/interactive/ask-credential.tool.d.ts +4 -0
- package/dist/modules/agents/builder/interactive/ask-credential.tool.js +36 -12
- package/dist/modules/agents/builder/interactive/ask-credential.tool.js.map +1 -1
- package/dist/modules/agents/builder/interactive/ask-llm.tool.js +1 -3
- package/dist/modules/agents/builder/interactive/ask-llm.tool.js.map +1 -1
- package/dist/modules/agents/builder/interactive/ask-question.tool.js.map +1 -1
- package/dist/modules/agents/builder/interactive/index.d.ts +1 -1
- package/dist/modules/agents/builder/interactive/index.js +2 -1
- package/dist/modules/agents/builder/interactive/index.js.map +1 -1
- package/dist/modules/agents/builder/interactive/llm-provider-defaults.js +1 -1
- package/dist/modules/agents/builder/interactive/llm-provider-defaults.js.map +1 -1
- package/dist/modules/agents/builder/interactive/resolve-llm.tool.js +3 -2
- package/dist/modules/agents/builder/interactive/resolve-llm.tool.js.map +1 -1
- package/dist/modules/agents/builder/prompts/config-mutation.prompt.js +3 -5
- package/dist/modules/agents/builder/prompts/config-mutation.prompt.js.map +1 -1
- package/dist/modules/agents/builder/prompts/config-rules.prompt.js +4 -6
- package/dist/modules/agents/builder/prompts/config-rules.prompt.js.map +1 -1
- package/dist/modules/agents/builder/prompts/llm-selection.prompt.js +1 -1
- package/dist/modules/agents/builder/prompts/memory.prompt.d.ts +1 -1
- package/dist/modules/agents/builder/prompts/memory.prompt.js +4 -4
- package/dist/modules/agents/builder/prompts/tools.prompt.d.ts +1 -1
- package/dist/modules/agents/builder/prompts/tools.prompt.js +8 -3
- package/dist/modules/agents/builder/prompts/tools.prompt.js.map +1 -1
- package/dist/modules/agents/builder/skills/integrations.skill.js +8 -0
- package/dist/modules/agents/builder/skills/integrations.skill.js.map +1 -1
- package/dist/modules/agents/builder/skills/mcp.skill.js +16 -0
- package/dist/modules/agents/builder/skills/mcp.skill.js.map +1 -1
- package/dist/modules/agents/builder/skills/resource-locators.skill.js +18 -0
- package/dist/modules/agents/builder/skills/resource-locators.skill.js.map +1 -1
- package/dist/modules/agents/builder/skills/sub-agents.skill.js +34 -8
- package/dist/modules/agents/builder/skills/sub-agents.skill.js.map +1 -1
- package/dist/modules/agents/builder/skills/target-skills.skill.js +22 -3
- package/dist/modules/agents/builder/skills/target-skills.skill.js.map +1 -1
- package/dist/modules/agents/builder/skills/target-tasks.skill.js +12 -0
- package/dist/modules/agents/builder/skills/target-tasks.skill.js.map +1 -1
- package/dist/modules/agents/entities/agent-memory-entry.entity.d.ts +1 -1
- package/dist/modules/agents/entities/agent-memory-entry.entity.js.map +1 -1
- package/dist/modules/agents/entities/agent.entity.d.ts +1 -2
- package/dist/modules/agents/entities/agent.entity.js +0 -4
- package/dist/modules/agents/entities/agent.entity.js.map +1 -1
- package/dist/modules/agents/integrations/agent-chat-bridge.d.ts +7 -23
- package/dist/modules/agents/integrations/agent-chat-bridge.js +60 -646
- package/dist/modules/agents/integrations/agent-chat-bridge.js.map +1 -1
- package/dist/modules/agents/integrations/agent-chat-hitl-resume-handler.d.ts +44 -0
- package/dist/modules/agents/integrations/agent-chat-hitl-resume-handler.js +110 -0
- package/dist/modules/agents/integrations/agent-chat-hitl-resume-handler.js.map +1 -0
- package/dist/modules/agents/integrations/agent-chat-integration.d.ts +38 -4
- package/dist/modules/agents/integrations/agent-chat-integration.js +10 -3
- package/dist/modules/agents/integrations/agent-chat-integration.js.map +1 -1
- package/dist/modules/agents/integrations/agent-chat-message-context.d.ts +22 -0
- package/dist/modules/agents/integrations/agent-chat-message-context.js +104 -0
- package/dist/modules/agents/integrations/agent-chat-message-context.js.map +1 -0
- package/dist/modules/agents/integrations/agent-chat-stream-consumer.d.ts +29 -0
- package/dist/modules/agents/integrations/agent-chat-stream-consumer.js +205 -0
- package/dist/modules/agents/integrations/agent-chat-stream-consumer.js.map +1 -0
- package/dist/modules/agents/integrations/agent-chat-suspension-cards.d.ts +10 -0
- package/dist/modules/agents/integrations/agent-chat-suspension-cards.js +90 -0
- package/dist/modules/agents/integrations/agent-chat-suspension-cards.js.map +1 -0
- package/dist/modules/agents/integrations/chat-integration.service.js +6 -3
- package/dist/modules/agents/integrations/chat-integration.service.js.map +1 -1
- package/dist/modules/agents/integrations/integration-message-context.service.d.ts +1 -1
- package/dist/modules/agents/integrations/integration-message-context.service.js.map +1 -1
- package/dist/modules/agents/integrations/integration-tool-definitions.d.ts +6037 -0
- package/dist/modules/agents/integrations/integration-tool-definitions.js +231 -0
- package/dist/modules/agents/integrations/integration-tool-definitions.js.map +1 -0
- package/dist/modules/agents/integrations/integration-tool-descriptions.d.ts +3 -0
- package/dist/modules/agents/integrations/integration-tool-descriptions.js +100 -0
- package/dist/modules/agents/integrations/integration-tool-descriptions.js.map +1 -0
- package/dist/modules/agents/integrations/integration-tool-execution.d.ts +27 -0
- package/dist/modules/agents/integrations/integration-tool-execution.js +278 -0
- package/dist/modules/agents/integrations/integration-tool-execution.js.map +1 -0
- package/dist/modules/agents/integrations/integration-tool-factory.d.ts +121 -0
- package/dist/modules/agents/integrations/integration-tool-factory.js +133 -0
- package/dist/modules/agents/integrations/integration-tool-factory.js.map +1 -0
- package/dist/modules/agents/integrations/integration-tool-schema.d.ts +107 -0
- package/dist/modules/agents/integrations/integration-tool-schema.js +140 -0
- package/dist/modules/agents/integrations/integration-tool-schema.js.map +1 -0
- package/dist/modules/agents/integrations/integration-tool-types.d.ts +105 -0
- package/dist/modules/agents/integrations/integration-tool-types.js +3 -0
- package/dist/modules/agents/integrations/integration-tool-types.js.map +1 -0
- package/dist/modules/agents/integrations/integration-tools.d.ts +3 -213
- package/dist/modules/agents/integrations/integration-tools.js +16 -998
- package/dist/modules/agents/integrations/integration-tools.js.map +1 -1
- package/dist/modules/agents/integrations/integrations-sync.d.ts +1 -1
- package/dist/modules/agents/integrations/n8n-memory.d.ts +1 -1
- package/dist/modules/agents/integrations/n8n-memory.js +2 -2
- package/dist/modules/agents/integrations/n8n-memory.js.map +1 -1
- package/dist/modules/agents/integrations/platforms/linear-integration.d.ts +3 -3
- package/dist/modules/agents/integrations/platforms/linear-integration.js +14 -19
- package/dist/modules/agents/integrations/platforms/linear-integration.js.map +1 -1
- package/dist/modules/agents/integrations/platforms/linear-tool-definitions.d.ts +473 -0
- package/dist/modules/agents/integrations/platforms/linear-tool-definitions.js +270 -0
- package/dist/modules/agents/integrations/platforms/linear-tool-definitions.js.map +1 -0
- package/dist/modules/agents/integrations/platforms/n8n-chat-integration.d.ts +4 -3
- package/dist/modules/agents/integrations/platforms/n8n-chat-integration.js +6 -2
- package/dist/modules/agents/integrations/platforms/n8n-chat-integration.js.map +1 -1
- package/dist/modules/agents/integrations/platforms/slack-bridge-behavior.d.ts +12 -0
- package/dist/modules/agents/integrations/platforms/slack-bridge-behavior.js +198 -0
- package/dist/modules/agents/integrations/platforms/slack-bridge-behavior.js.map +1 -0
- package/dist/modules/agents/integrations/platforms/slack-integration.d.ts +14 -4
- package/dist/modules/agents/integrations/platforms/slack-integration.js +20 -7
- package/dist/modules/agents/integrations/platforms/slack-integration.js.map +1 -1
- package/dist/modules/agents/integrations/platforms/slack-operations.js +1 -1
- package/dist/modules/agents/integrations/platforms/slack-operations.js.map +1 -1
- package/dist/modules/agents/integrations/platforms/slack-tool-definitions.d.ts +35 -0
- package/dist/modules/agents/integrations/platforms/slack-tool-definitions.js +33 -0
- package/dist/modules/agents/integrations/platforms/slack-tool-definitions.js.map +1 -0
- package/dist/modules/agents/integrations/platforms/telegram-integration.d.ts +1 -2
- package/dist/modules/agents/integrations/platforms/telegram-integration.js +2 -1
- package/dist/modules/agents/integrations/platforms/telegram-integration.js.map +1 -1
- package/dist/modules/agents/integrations/slack-app-setup.service.d.ts +5 -3
- package/dist/modules/agents/integrations/slack-app-setup.service.js +11 -6
- package/dist/modules/agents/integrations/slack-app-setup.service.js.map +1 -1
- package/dist/modules/agents/json-config/from-json-config.d.ts +7 -0
- package/dist/modules/agents/json-config/from-json-config.js +60 -15
- package/dist/modules/agents/json-config/from-json-config.js.map +1 -1
- package/dist/modules/agents/json-config/sanitize-unknown-agent-credentials.js +17 -6
- package/dist/modules/agents/json-config/sanitize-unknown-agent-credentials.js.map +1 -1
- package/dist/modules/agents/repositories/agent-execution-thread.repository.d.ts +1 -1
- package/dist/modules/agents/repositories/agent-execution-thread.repository.js +2 -5
- package/dist/modules/agents/repositories/agent-execution-thread.repository.js.map +1 -1
- package/dist/modules/agents/repositories/agent-history.repository.d.ts +1 -1
- package/dist/modules/agents/repositories/agent-history.repository.js.map +1 -1
- package/dist/modules/agents/sub-agents/delegate-sub-agent-tool.d.ts +1 -1
- package/dist/modules/agents/sub-agents/sub-agent-source-resolver.d.ts +1 -1
- package/dist/modules/agents/sub-agents/sub-agent-source-resolver.js.map +1 -1
- package/dist/modules/agents/tools/agent-data-utils.d.ts +22 -0
- package/dist/modules/agents/tools/agent-data-utils.js +64 -0
- package/dist/modules/agents/tools/agent-data-utils.js.map +1 -0
- package/dist/modules/agents/tools/input-data-tool.d.ts +3 -0
- package/dist/modules/agents/tools/input-data-tool.js +40 -0
- package/dist/modules/agents/tools/input-data-tool.js.map +1 -0
- package/dist/modules/agents/tools/node-tool-factory.d.ts +1 -1
- package/dist/modules/agents/tools/node-tool-factory.js +1 -1
- package/dist/modules/agents/tools/node-tool-factory.js.map +1 -1
- package/dist/modules/agents/tools/workflow-context-tool.d.ts +3 -0
- package/dist/modules/agents/tools/workflow-context-tool.js +84 -0
- package/dist/modules/agents/tools/workflow-context-tool.js.map +1 -0
- package/dist/modules/agents/utils/agent-credential-provider.d.ts +4 -0
- package/dist/modules/agents/utils/agent-credential-provider.js +8 -0
- package/dist/modules/agents/utils/agent-credential-provider.js.map +1 -0
- package/dist/modules/agents/utils/agent-missing-skill-ids.d.ts +2 -0
- package/dist/modules/agents/utils/agent-missing-skill-ids.js +17 -0
- package/dist/modules/agents/utils/agent-missing-skill-ids.js.map +1 -0
- package/dist/modules/agents/utils/agent-published-snapshot.d.ts +2 -0
- package/dist/modules/agents/utils/agent-published-snapshot.js +17 -0
- package/dist/modules/agents/utils/agent-published-snapshot.js.map +1 -0
- package/dist/modules/agents/utils/agent-resource-id.d.ts +1 -1
- package/dist/modules/agents/utils/sub-agent-resolver.d.ts +14 -0
- package/dist/modules/agents/utils/sub-agent-resolver.js +23 -0
- package/dist/modules/agents/utils/sub-agent-resolver.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/file-access.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v2/oauth-callback-auth.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v2/process-env-access.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v2/pyodide-removed.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v2/queue-worker-max-stalled-count.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v2/removed-nodes.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v2/settings-file-permissions.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v2/start-node-removed.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v2/task-runner-docker-image.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v2/tunnel-option.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v2/wait-node-subworkflow.rule.js +1 -1
- package/dist/modules/breaking-changes/rules/v2/wait-node-subworkflow.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v2/workflow-hooks-deprecated.rule.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-agent.service.d.ts +5 -5
- package/dist/modules/chat-hub/chat-hub-agent.service.js +9 -9
- package/dist/modules/chat-hub/chat-hub-agent.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-message.entity.d.ts +2 -2
- package/dist/modules/chat-hub/chat-hub-message.entity.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-session.entity.d.ts +1 -1
- package/dist/modules/chat-hub/chat-hub.controller.d.ts +5 -2
- package/dist/modules/chat-hub/chat-hub.controller.js +23 -5
- package/dist/modules/chat-hub/chat-hub.controller.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.module.d.ts +1 -1
- package/dist/modules/chat-hub/chat-hub.service.js +1 -1
- package/dist/modules/chat-hub/chat-hub.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.settings.controller.d.ts +8 -4
- package/dist/modules/chat-hub/chat-hub.settings.controller.js +28 -18
- package/dist/modules/chat-hub/chat-hub.settings.controller.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.settings.service.js +3 -3
- package/dist/modules/chat-hub/chat-hub.settings.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.types.d.ts +1 -1
- package/dist/modules/chat-hub/chat-session.repository.js +1 -1
- package/dist/modules/chat-hub/chat-session.repository.js.map +1 -1
- package/dist/modules/community-packages/community-node-types.service.js +2 -2
- package/dist/modules/community-packages/community-node-types.service.js.map +1 -1
- package/dist/modules/community-packages/community-packages.config.d.ts +2 -0
- package/dist/modules/community-packages/community-packages.config.js +10 -0
- package/dist/modules/community-packages/community-packages.config.js.map +1 -1
- package/dist/modules/community-packages/community-packages.lifecycle.service.d.ts +3 -3
- package/dist/modules/community-packages/community-packages.lifecycle.service.js +3 -3
- package/dist/modules/community-packages/community-packages.lifecycle.service.js.map +1 -1
- package/dist/modules/community-packages/community-packages.service.js +3 -3
- package/dist/modules/community-packages/community-packages.service.js.map +1 -1
- package/dist/modules/community-packages/npm-utils.js +1 -1
- package/dist/modules/community-packages/npm-utils.js.map +1 -1
- package/dist/modules/data-table/data-table-aggregate.service.js +1 -1
- package/dist/modules/data-table/data-table-aggregate.service.js.map +1 -1
- package/dist/modules/data-table/data-table-file-cleanup.service.js +1 -1
- package/dist/modules/data-table/data-table-file-cleanup.service.js.map +1 -1
- package/dist/modules/data-table/data-table-proxy.service.d.ts +2 -2
- package/dist/modules/data-table/data-table-proxy.service.js +3 -3
- package/dist/modules/data-table/data-table-proxy.service.js.map +1 -1
- package/dist/modules/data-table/data-table.controller.d.ts +2 -2
- package/dist/modules/data-table/data-table.controller.js +3 -3
- package/dist/modules/data-table/data-table.controller.js.map +1 -1
- package/dist/modules/data-table/utils/sql-utils.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/slack-signature-extractor.js +1 -1
- package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/slack-signature-extractor.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-introspection-identifier.js +0 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-introspection-identifier.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-metadata-http-client.d.ts +0 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-metadata-http-client.js +3 -3
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-metadata-http-client.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-userinfo-identifier.js +0 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-userinfo-identifier.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/slack-signature-identifier.js +2 -2
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/slack-signature-identifier.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/slack-credential-resolver.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/storage/dynamic-credential-entry-storage.d.ts +1 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/storage/dynamic-credential-entry-storage.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-cors.service.d.ts +1 -1
- package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-cors.service.js +1 -1
- package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-cors.service.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-storage.service.d.ts +2 -2
- package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-storage.service.js +2 -2
- package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-storage.service.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-web.service.d.ts +2 -2
- package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-web.service.js +2 -2
- package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-web.service.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/services/dynamic-credential.service.d.ts +1 -1
- package/dist/modules/dynamic-credentials.ee/services/dynamic-credential.service.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/services/n8n-resolver-seeder.service.d.ts +1 -1
- package/dist/modules/dynamic-credentials.ee/services/n8n-resolver-seeder.service.js +1 -1
- package/dist/modules/dynamic-credentials.ee/services/n8n-resolver-seeder.service.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/utils.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/workflow-status.controller.d.ts +3 -1
- package/dist/modules/dynamic-credentials.ee/workflow-status.controller.js +14 -2
- package/dist/modules/dynamic-credentials.ee/workflow-status.controller.js.map +1 -1
- package/dist/modules/external-secrets.ee/external-secrets-manager.ee.d.ts +3 -4
- package/dist/modules/external-secrets.ee/external-secrets-manager.ee.js +20 -46
- package/dist/modules/external-secrets.ee/external-secrets-manager.ee.js.map +1 -1
- package/dist/modules/external-secrets.ee/external-secrets-provider-connection-manager.ee.d.ts +21 -0
- package/dist/modules/external-secrets.ee/external-secrets-provider-connection-manager.ee.js +142 -0
- package/dist/modules/external-secrets.ee/external-secrets-provider-connection-manager.ee.js.map +1 -0
- package/dist/modules/external-secrets.ee/external-secrets-settings.controller.ee.d.ts +1 -1
- package/dist/modules/external-secrets.ee/external-secrets-settings.controller.ee.js +1 -1
- package/dist/modules/external-secrets.ee/external-secrets-settings.controller.ee.js.map +1 -1
- package/dist/modules/external-secrets.ee/provider-registry.service.d.ts +1 -1
- package/dist/modules/external-secrets.ee/provider-registry.service.js +1 -1
- package/dist/modules/external-secrets.ee/providers/aws-secrets-manager.js +5 -1
- package/dist/modules/external-secrets.ee/providers/aws-secrets-manager.js.map +1 -1
- package/dist/modules/external-secrets.ee/providers/infisical.js +4 -4
- package/dist/modules/external-secrets.ee/providers/infisical.js.map +1 -1
- package/dist/modules/external-secrets.ee/providers/vault.js +10 -10
- package/dist/modules/external-secrets.ee/providers/vault.js.map +1 -1
- package/dist/modules/external-secrets.ee/redaction.service.ee.js.map +1 -1
- package/dist/modules/external-secrets.ee/secrets-providers-connections.service.ee.d.ts +1 -1
- package/dist/modules/external-secrets.ee/secrets-providers-connections.service.ee.js +1 -1
- package/dist/modules/external-secrets.ee/secrets-providers-connections.service.ee.js.map +1 -1
- package/dist/modules/external-secrets.ee/secrets-providers-types.controller.ee.d.ts +1 -1
- package/dist/modules/external-secrets.ee/secrets-providers-types.controller.ee.js +2 -2
- package/dist/modules/external-secrets.ee/secrets-providers-types.controller.ee.js.map +1 -1
- package/dist/modules/favorites/favorites.controller.d.ts +1 -1
- package/dist/modules/favorites/favorites.controller.js +2 -2
- package/dist/modules/favorites/favorites.controller.js.map +1 -1
- package/dist/modules/favorites/favorites.event-relay.d.ts +1 -1
- package/dist/modules/favorites/favorites.event-relay.js +1 -1
- package/dist/modules/favorites/favorites.event-relay.js.map +1 -1
- package/dist/modules/favorites/favorites.service.d.ts +2 -2
- package/dist/modules/favorites/favorites.service.js +2 -2
- package/dist/modules/favorites/favorites.service.js.map +1 -1
- package/dist/modules/insights/database/repositories/insights-by-period.repository.d.ts +1 -0
- package/dist/modules/insights/database/repositories/insights-by-period.repository.js +6 -0
- package/dist/modules/insights/database/repositories/insights-by-period.repository.js.map +1 -1
- package/dist/modules/insights/insights.module.d.ts +1 -0
- package/dist/modules/insights/insights.module.js +1 -1
- package/dist/modules/insights/insights.module.js.map +1 -1
- package/dist/modules/insights/insights.settings.d.ts +6 -3
- package/dist/modules/insights/insights.settings.js +8 -3
- package/dist/modules/insights/insights.settings.js.map +1 -1
- package/dist/modules/instance-ai/browser/browser-local-mcp-server.d.ts +23 -0
- package/dist/modules/instance-ai/browser/browser-local-mcp-server.js +123 -0
- package/dist/modules/instance-ai/browser/browser-local-mcp-server.js.map +1 -0
- package/dist/modules/instance-ai/browser/browser-use-server.d.ts +11 -0
- package/dist/modules/instance-ai/browser/browser-use-server.js +68 -0
- package/dist/modules/instance-ai/browser/browser-use-server.js.map +1 -0
- package/dist/modules/instance-ai/browser/browser-use-ws.constants.d.ts +7 -0
- package/dist/modules/instance-ai/browser/browser-use-ws.constants.js +6 -0
- package/dist/modules/instance-ai/browser/browser-use-ws.constants.js.map +1 -0
- package/dist/modules/instance-ai/browser/composite-local-mcp-server.d.ts +14 -0
- package/dist/modules/instance-ai/browser/composite-local-mcp-server.js +57 -0
- package/dist/modules/instance-ai/browser/composite-local-mcp-server.js.map +1 -0
- package/dist/modules/instance-ai/browser/instance-ai-browser-session.service.d.ts +40 -0
- package/dist/modules/instance-ai/browser/instance-ai-browser-session.service.js +297 -0
- package/dist/modules/instance-ai/browser/instance-ai-browser-session.service.js.map +1 -0
- package/dist/modules/instance-ai/eval/execution.service.js +2 -2
- package/dist/modules/instance-ai/eval/execution.service.js.map +1 -1
- package/dist/modules/instance-ai/eval/mock-handler.js +5 -1
- package/dist/modules/instance-ai/eval/mock-handler.js.map +1 -1
- package/dist/modules/instance-ai/eval/pin-data-generator.js +1 -1
- package/dist/modules/instance-ai/eval/pin-data-generator.js.map +1 -1
- package/dist/modules/instance-ai/eval/thread-restore.service.d.ts +14 -0
- package/dist/modules/instance-ai/eval/thread-restore.service.js +149 -0
- package/dist/modules/instance-ai/eval/thread-restore.service.js.map +1 -0
- package/dist/modules/instance-ai/eval/workflow-analysis.js +1 -1
- package/dist/modules/instance-ai/event-bus/in-process-event-bus.js.map +1 -1
- package/dist/modules/instance-ai/filesystem/local-gateway-registry.js.map +1 -1
- package/dist/modules/instance-ai/filesystem/local-gateway.d.ts +3 -0
- package/dist/modules/instance-ai/filesystem/local-gateway.js +20 -3
- package/dist/modules/instance-ai/filesystem/local-gateway.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai-event-relay.service.d.ts +12 -0
- package/dist/modules/instance-ai/instance-ai-event-relay.service.js +56 -0
- package/dist/modules/instance-ai/instance-ai-event-relay.service.js.map +1 -0
- package/dist/modules/instance-ai/instance-ai-gateway.service.d.ts +5 -1
- package/dist/modules/instance-ai/instance-ai-gateway.service.js +10 -3
- package/dist/modules/instance-ai/instance-ai-gateway.service.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai-memory.service.d.ts +5 -0
- package/dist/modules/instance-ai/instance-ai-memory.service.js +38 -0
- package/dist/modules/instance-ai/instance-ai-memory.service.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai-run-pin-data.d.ts +29 -0
- package/dist/modules/instance-ai/instance-ai-run-pin-data.js +222 -0
- package/dist/modules/instance-ai/instance-ai-run-pin-data.js.map +1 -0
- package/dist/modules/instance-ai/instance-ai-settings.service.d.ts +1 -0
- package/dist/modules/instance-ai/instance-ai-settings.service.js +9 -0
- package/dist/modules/instance-ai/instance-ai-settings.service.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai-terminal-outcome.service.d.ts +72 -0
- package/dist/modules/instance-ai/instance-ai-terminal-outcome.service.js +352 -0
- package/dist/modules/instance-ai/instance-ai-terminal-outcome.service.js.map +1 -0
- package/dist/modules/instance-ai/instance-ai-test.controller.d.ts +2 -2
- package/dist/modules/instance-ai/instance-ai-test.controller.js +2 -2
- package/dist/modules/instance-ai/instance-ai-test.controller.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.adapter.service.js +78 -193
- package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.controller.d.ts +19 -2
- package/dist/modules/instance-ai/instance-ai.controller.js +96 -6
- package/dist/modules/instance-ai/instance-ai.controller.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.module.d.ts +1 -0
- package/dist/modules/instance-ai/instance-ai.module.js +4 -0
- package/dist/modules/instance-ai/instance-ai.module.js.map +1 -1
- package/dist/modules/instance-ai/instance-ai.service.d.ts +10 -33
- package/dist/modules/instance-ai/instance-ai.service.js +293 -767
- package/dist/modules/instance-ai/instance-ai.service.js.map +1 -1
- package/dist/modules/instance-ai/internal-messages.d.ts +2 -0
- package/dist/modules/instance-ai/internal-messages.js +4 -2
- package/dist/modules/instance-ai/internal-messages.js.map +1 -1
- package/dist/modules/instance-ai/liveness/index.d.ts +1 -1
- package/dist/modules/instance-ai/liveness/index.js.map +1 -1
- package/dist/modules/instance-ai/liveness/instance-ai-liveness.service.d.ts +4 -7
- package/dist/modules/instance-ai/liveness/instance-ai-liveness.service.js +2 -2
- package/dist/modules/instance-ai/liveness/instance-ai-liveness.service.js.map +1 -1
- package/dist/modules/instance-ai/mcp/instance-ai-mcp-connection.controller.js.map +1 -1
- package/dist/modules/instance-ai/message-parser.js +4 -3
- package/dist/modules/instance-ai/message-parser.js.map +1 -1
- package/dist/modules/instance-ai/node-definition-resolver.js +2 -1
- package/dist/modules/instance-ai/node-definition-resolver.js.map +1 -1
- package/dist/modules/instance-ai/planned-task-action-runner.d.ts +1 -1
- package/dist/modules/instance-ai/planned-task-action-runner.js +3 -3
- package/dist/modules/instance-ai/planned-task-action-runner.js.map +1 -1
- package/dist/modules/instance-ai/repositories/instance-ai-checkpoint.repository.js.map +1 -1
- package/dist/modules/instance-ai/storage/typeorm-agent-memory.d.ts +1 -0
- package/dist/modules/instance-ai/storage/typeorm-agent-memory.js +29 -0
- package/dist/modules/instance-ai/storage/typeorm-agent-memory.js.map +1 -1
- package/dist/modules/instance-ai/suspended-run-restorer.service.d.ts +4 -8
- package/dist/modules/instance-ai/suspended-run-restorer.service.js +2 -2
- package/dist/modules/instance-ai/suspended-run-restorer.service.js.map +1 -1
- package/dist/modules/instance-ai/suspended-thread-persistence.service.d.ts +0 -14
- package/dist/modules/instance-ai/suspended-thread-persistence.service.js +0 -26
- package/dist/modules/instance-ai/suspended-thread-persistence.service.js.map +1 -1
- package/dist/modules/instance-ai/tracing/index.d.ts +1 -0
- package/dist/modules/instance-ai/tracing/index.js +6 -0
- package/dist/modules/instance-ai/tracing/index.js.map +1 -0
- package/dist/modules/instance-ai/tracing/instance-ai-tracing.service.d.ts +81 -0
- package/dist/modules/instance-ai/tracing/instance-ai-tracing.service.js +341 -0
- package/dist/modules/instance-ai/tracing/instance-ai-tracing.service.js.map +1 -0
- package/dist/modules/instance-ai/workflow-verification-task-projector.js +1 -2
- package/dist/modules/instance-ai/workflow-verification-task-projector.js.map +1 -1
- package/dist/modules/instance-registry/instance-registry.controller.js +1 -0
- package/dist/modules/instance-registry/instance-registry.controller.js.map +1 -1
- package/dist/modules/instance-registry/instance-registry.service.js +1 -1
- package/dist/modules/instance-registry/instance-registry.service.js.map +1 -1
- package/dist/modules/instance-version-history/instance-version-history.service.d.ts +1 -1
- package/dist/modules/instance-version-history/instance-version-history.service.js +1 -1
- package/dist/modules/instance-version-history/instance-version-history.service.js.map +1 -1
- package/dist/modules/ldap.ee/ldap.service.ee.d.ts +1 -1
- package/dist/modules/ldap.ee/ldap.service.ee.js +1 -1
- package/dist/modules/ldap.ee/ldap.service.ee.js.map +1 -1
- package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-sentry.ee.js.map +1 -1
- package/dist/modules/mcp/dto/update-allowed-redirect-uris.dto.js +1 -1
- package/dist/modules/mcp/dto/update-allowed-redirect-uris.dto.js.map +1 -1
- package/dist/modules/mcp/mcp.service.d.ts +5 -1
- package/dist/modules/mcp/mcp.service.js +18 -3
- package/dist/modules/mcp/mcp.service.js.map +1 -1
- package/dist/modules/mcp/tools/data-table/add-data-table-column.tool.d.ts +1 -1
- package/dist/modules/mcp/tools/data-table/add-data-table-column.tool.js.map +1 -1
- package/dist/modules/mcp/tools/data-table/add-data-table-rows.tool.d.ts +1 -1
- package/dist/modules/mcp/tools/data-table/add-data-table-rows.tool.js.map +1 -1
- package/dist/modules/mcp/tools/data-table/create-data-table.tool.d.ts +1 -1
- package/dist/modules/mcp/tools/data-table/create-data-table.tool.js.map +1 -1
- package/dist/modules/mcp/tools/data-table/delete-data-table-column.tool.d.ts +1 -1
- package/dist/modules/mcp/tools/data-table/delete-data-table-column.tool.js.map +1 -1
- package/dist/modules/mcp/tools/data-table/rename-data-table-column.tool.d.ts +1 -1
- package/dist/modules/mcp/tools/data-table/rename-data-table-column.tool.js.map +1 -1
- package/dist/modules/mcp/tools/data-table/rename-data-table.tool.d.ts +1 -1
- package/dist/modules/mcp/tools/data-table/rename-data-table.tool.js.map +1 -1
- package/dist/modules/mcp/tools/data-table/search-data-tables.tool.d.ts +1 -1
- package/dist/modules/mcp/tools/data-table/search-data-tables.tool.js.map +1 -1
- package/dist/modules/mcp/tools/execute-workflow.tool.d.ts +2 -2
- package/dist/modules/mcp/tools/execution-utils.js.map +1 -1
- package/dist/modules/mcp/tools/get-workflow-details.tool.d.ts +3 -3
- package/dist/modules/mcp/tools/get-workflow-details.tool.js.map +1 -1
- package/dist/modules/mcp/tools/get-workflow-history.tool.d.ts +49 -0
- package/dist/modules/mcp/tools/get-workflow-history.tool.js +115 -0
- package/dist/modules/mcp/tools/get-workflow-history.tool.js.map +1 -0
- package/dist/modules/mcp/tools/get-workflow-version.tool.d.ts +30 -0
- package/dist/modules/mcp/tools/get-workflow-version.tool.js +118 -0
- package/dist/modules/mcp/tools/get-workflow-version.tool.js.map +1 -0
- package/dist/modules/mcp/tools/prepare-workflow-pin-data.tool.d.ts +2 -2
- package/dist/modules/mcp/tools/prepare-workflow-pin-data.tool.js.map +1 -1
- package/dist/modules/mcp/tools/publish-workflow.tool.d.ts +1 -1
- package/dist/modules/mcp/tools/publish-workflow.tool.js.map +1 -1
- package/dist/modules/mcp/tools/schemas.d.ts +25 -11
- package/dist/modules/mcp/tools/schemas.js +7 -4
- package/dist/modules/mcp/tools/schemas.js.map +1 -1
- package/dist/modules/mcp/tools/search-folders.tool.d.ts +1 -1
- package/dist/modules/mcp/tools/search-folders.tool.js.map +1 -1
- package/dist/modules/mcp/tools/search-projects.tool.d.ts +1 -1
- package/dist/modules/mcp/tools/search-projects.tool.js.map +1 -1
- package/dist/modules/mcp/tools/test-workflow.tool.d.ts +2 -2
- package/dist/modules/mcp/tools/test-workflow.tool.js.map +1 -1
- package/dist/modules/mcp/tools/unpublish-workflow.tool.d.ts +1 -1
- package/dist/modules/mcp/tools/unpublish-workflow.tool.js.map +1 -1
- package/dist/modules/mcp/tools/webhook-utils.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/connection-structure-check.d.ts +1 -1
- package/dist/modules/mcp/tools/workflow-builder/connection-structure-check.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js +18 -2
- package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/delete-workflow.tool.d.ts +1 -1
- package/dist/modules/mcp/tools/workflow-builder/delete-workflow.tool.js +1 -1
- package/dist/modules/mcp/tools/workflow-builder/delete-workflow.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-node-types.tool.d.ts +1 -1
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-node-types.tool.js +1 -1
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-node-types.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-sdk-reference.tool.d.ts +1 -1
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-sdk-reference.tool.js +1 -1
- package/dist/modules/mcp/tools/workflow-builder/get-workflow-sdk-reference.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/mcp-instructions.js +4 -2
- package/dist/modules/mcp/tools/workflow-builder/mcp-instructions.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/restore-workflow-version.tool.d.ts +20 -0
- package/dist/modules/mcp/tools/workflow-builder/restore-workflow-version.tool.js +108 -0
- package/dist/modules/mcp/tools/workflow-builder/restore-workflow-version.tool.js.map +1 -0
- package/dist/modules/mcp/tools/workflow-builder/search-workflow-nodes.tool.d.ts +1 -1
- package/dist/modules/mcp/tools/workflow-builder/search-workflow-nodes.tool.js +1 -1
- 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.d.ts +3 -1
- package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js +117 -4
- 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 +1 -1
- package/dist/modules/mcp/tools/workflow-builder/validate-node.tool.js +1 -1
- package/dist/modules/mcp/tools/workflow-builder/validate-node.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.d.ts +1 -1
- package/dist/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.js +4 -1
- package/dist/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-builder/workflow-operations.d.ts +195 -3
- package/dist/modules/mcp/tools/workflow-builder/workflow-operations.js +69 -1
- package/dist/modules/mcp/tools/workflow-builder/workflow-operations.js.map +1 -1
- package/dist/modules/mcp/tools/workflow-history.utils.d.ts +3 -0
- package/dist/modules/mcp/tools/workflow-history.utils.js +18 -0
- package/dist/modules/mcp/tools/workflow-history.utils.js.map +1 -0
- package/dist/modules/mcp-registry/registry/mcp-registry.service.js +4 -1
- package/dist/modules/mcp-registry/registry/mcp-registry.service.js.map +1 -1
- package/dist/modules/mcp-registry/synthesize-type-def.d.ts +1 -1
- package/dist/modules/mcp-registry/synthesize-type-def.js +3 -3
- package/dist/modules/mcp-registry/synthesize-type-def.js.map +1 -1
- package/dist/modules/n8n-packages/n8n-packages.service.d.ts +1 -1
- package/dist/modules/n8n-packages/n8n-packages.service.js +1 -1
- package/dist/modules/n8n-packages/n8n-packages.service.js.map +1 -1
- package/dist/modules/n8n-packages/utils/import-package-upload.js +1 -1
- package/dist/modules/n8n-packages/utils/import-package-upload.js.map +1 -1
- package/dist/modules/oauth-server/oauth-consent.service.d.ts +3 -1
- package/dist/modules/oauth-server/oauth-consent.service.js +8 -4
- package/dist/modules/oauth-server/oauth-consent.service.js.map +1 -1
- package/dist/modules/oauth-server/oauth.controller.js +1 -0
- package/dist/modules/oauth-server/oauth.controller.js.map +1 -1
- package/dist/modules/oauth-server/oauth.helpers.d.ts +2 -2
- package/dist/modules/oauth-server/oauth.helpers.js +4 -2
- package/dist/modules/oauth-server/oauth.helpers.js.map +1 -1
- package/dist/modules/provisioning.ee/provisioning.module.js +4 -0
- package/dist/modules/provisioning.ee/provisioning.module.js.map +1 -1
- package/dist/modules/provisioning.ee/role-deletion-checker.ee.d.ts +7 -0
- package/dist/modules/provisioning.ee/role-deletion-checker.ee.js +33 -0
- package/dist/modules/provisioning.ee/role-deletion-checker.ee.js.map +1 -0
- package/dist/modules/quick-connect/handlers/firecrawl.handler.js +3 -3
- package/dist/modules/quick-connect/handlers/firecrawl.handler.js.map +1 -1
- package/dist/modules/quick-connect/quick-connect.config.d.ts +10 -10
- package/dist/modules/quick-connect/quick-connect.module.d.ts +2 -2
- package/dist/modules/quick-connect/quick-connect.service.js +1 -1
- package/dist/modules/quick-connect/quick-connect.service.js.map +1 -1
- package/dist/modules/redaction/executions/execution-redaction.service.d.ts +1 -1
- package/dist/modules/redaction/executions/execution-redaction.service.js.map +1 -1
- package/dist/modules/runtime-credentials/runtime-credentials.service.js +1 -1
- package/dist/modules/runtime-credentials/runtime-credentials.service.js.map +1 -1
- package/dist/modules/source-control.ee/source-control-context.factory.js.map +1 -1
- package/dist/modules/source-control.ee/source-control-export.service.ee.d.ts +1 -1
- package/dist/modules/source-control.ee/source-control-export.service.ee.js +2 -2
- package/dist/modules/source-control.ee/source-control-export.service.ee.js.map +1 -1
- package/dist/modules/source-control.ee/source-control-scoped.service.d.ts +3 -2
- package/dist/modules/source-control.ee/source-control-scoped.service.js +10 -1
- package/dist/modules/source-control.ee/source-control-scoped.service.js.map +1 -1
- package/dist/modules/source-control.ee/source-control-status.service.ee.d.ts +2 -2
- package/dist/modules/source-control.ee/source-control-status.service.ee.js +3 -3
- package/dist/modules/source-control.ee/source-control-status.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.controller.ee.js +5 -4
- package/dist/modules/source-control.ee/source-control.controller.ee.js.map +1 -1
- package/dist/modules/source-control.ee/source-control.service.ee.d.ts +8 -5
- package/dist/modules/source-control.ee/source-control.service.ee.js +25 -10
- package/dist/modules/source-control.ee/source-control.service.ee.js.map +1 -1
- package/dist/modules/sso-saml/saml-helpers.js.map +1 -1
- package/dist/modules/sso-saml/saml.controller.ee.d.ts +1 -1
- package/dist/modules/sso-saml/saml.controller.ee.js +4 -3
- package/dist/modules/sso-saml/saml.controller.ee.js.map +1 -1
- package/dist/modules/token-exchange/controllers/embed-auth.controller.js +1 -1
- package/dist/modules/token-exchange/controllers/embed-auth.controller.js.map +1 -1
- package/dist/modules/token-exchange/services/jwks-resolver.js +1 -1
- package/dist/modules/token-exchange/services/jwks-resolver.js.map +1 -1
- package/dist/modules/token-exchange/services/trusted-key.service.js +1 -1
- package/dist/modules/token-exchange/services/trusted-key.service.js.map +1 -1
- package/dist/modules/token-exchange/token-exchange.schemas.d.ts +2 -2
- package/dist/modules/workflow-builder/workflow-builder-session.entity.js +1 -1
- package/dist/modules/workflow-builder/workflow-builder-session.entity.js.map +1 -1
- package/dist/modules/workflow-builder/workflow-builder-session.repository.js +1 -1
- package/dist/modules/workflow-builder/workflow-builder-session.repository.js.map +1 -1
- package/dist/node-catalog/node-catalog.service.d.ts +3 -2
- package/dist/node-catalog/node-catalog.service.js +50 -18
- package/dist/node-catalog/node-catalog.service.js.map +1 -1
- package/dist/oauth/oauth.service.d.ts +1 -1
- package/dist/oauth/oauth.service.js +7 -6
- package/dist/oauth/oauth.service.js.map +1 -1
- package/dist/permissions.ee/check-access.js +1 -1
- package/dist/permissions.ee/check-access.js.map +1 -1
- package/dist/public-api/index.js +24 -3
- package/dist/public-api/index.js.map +1 -1
- package/dist/public-api/v1/handlers/discover/discover.service.js +38 -2
- package/dist/public-api/v1/handlers/discover/discover.service.js.map +1 -1
- package/dist/public-api/v1/handlers/n8n-packages/n8n-packages.handler.js +1 -1
- package/dist/public-api/v1/handlers/n8n-packages/n8n-packages.handler.js.map +1 -1
- package/dist/scaling/job-processor.js +1 -0
- package/dist/scaling/job-processor.js.map +1 -1
- package/dist/scaling/leader-election-client.d.ts +1 -1
- package/dist/scaling/leader-election-client.js +1 -1
- package/dist/scaling/leader-election-client.js.map +1 -1
- package/dist/scaling/pubsub/subscriber.service.js +1 -1
- package/dist/scaling/pubsub/subscriber.service.js.map +1 -1
- package/dist/scaling/redis/redis.types.d.ts +1 -1
- package/dist/scaling/redis-lock.service.d.ts +15 -0
- package/dist/scaling/redis-lock.service.js +154 -0
- package/dist/scaling/redis-lock.service.js.map +1 -0
- package/dist/security-audit/risk-reporters/instance-risk-reporter.js +3 -3
- package/dist/security-audit/risk-reporters/instance-risk-reporter.js.map +1 -1
- package/dist/server.js +4 -0
- package/dist/server.js.map +1 -1
- package/dist/services/ai-gateway.service.d.ts +1 -1
- package/dist/services/ai-gateway.service.js +1 -1
- package/dist/services/ai-gateway.service.js.map +1 -1
- package/dist/services/ai-workflow-builder.service.js +5 -4
- package/dist/services/ai-workflow-builder.service.js.map +1 -1
- package/dist/services/credentials-tester.service.d.ts +1 -1
- package/dist/services/credentials-tester.service.js +3 -3
- package/dist/services/credentials-tester.service.js.map +1 -1
- package/dist/services/dynamic-node-parameters.service.d.ts +3 -3
- package/dist/services/dynamic-node-parameters.service.js +4 -4
- package/dist/services/dynamic-node-parameters.service.js.map +1 -1
- package/dist/services/dynamic-templates.service.js +3 -3
- package/dist/services/dynamic-templates.service.js.map +1 -1
- package/dist/services/export.service.js +3 -3
- package/dist/services/export.service.js.map +1 -1
- package/dist/services/frontend.service.js.map +1 -1
- package/dist/services/import.service.js.map +1 -1
- package/dist/services/ownership.service.d.ts +3 -3
- package/dist/services/ownership.service.js +5 -5
- package/dist/services/ownership.service.js.map +1 -1
- package/dist/services/project.service.ee.js +2 -2
- package/dist/services/project.service.ee.js.map +1 -1
- package/dist/services/pruning/workflow-history-compaction.service.d.ts +1 -1
- package/dist/services/pruning/workflow-history-compaction.service.js +1 -1
- package/dist/services/pruning/workflow-history-compaction.service.js.map +1 -1
- package/dist/services/rate-limit.service.d.ts +1 -1
- package/dist/services/rate-limit.service.js.map +1 -1
- package/dist/services/role-deletion-check-proxy.service.d.ts +8 -0
- package/dist/services/role-deletion-check-proxy.service.js +28 -0
- package/dist/services/role-deletion-check-proxy.service.js.map +1 -0
- package/dist/services/role.service.d.ts +5 -2
- package/dist/services/role.service.js +18 -2
- package/dist/services/role.service.js.map +1 -1
- package/dist/services/user.service.js +5 -0
- package/dist/services/user.service.js.map +1 -1
- package/dist/task-runners/task-managers/data-request-response-builder.js +1 -0
- package/dist/task-runners/task-managers/data-request-response-builder.js.map +1 -1
- package/dist/task-runners/task-runner-process-js.js +2 -0
- package/dist/task-runners/task-runner-process-js.js.map +1 -1
- package/dist/tool-generation/hitl-tools.js.map +1 -1
- package/dist/utils/compression.util.js +2 -2
- package/dist/utils/compression.util.js.map +1 -1
- package/dist/utils/health-endpoint.util.js.map +1 -1
- package/dist/utils/strapi-utils.js +2 -3
- package/dist/utils/strapi-utils.js.map +1 -1
- package/dist/webhooks/test-webhook-registrations.service.js +1 -1
- package/dist/webhooks/test-webhook-registrations.service.js.map +1 -1
- package/dist/webhooks/test-webhooks.d.ts +1 -1
- package/dist/webhooks/test-webhooks.js.map +1 -1
- package/dist/webhooks/waiting-forms.js +2 -2
- package/dist/webhooks/waiting-forms.js.map +1 -1
- package/dist/webhooks/webhook.service.d.ts +1 -0
- package/dist/webhooks/webhook.service.js +4 -1
- package/dist/webhooks/webhook.service.js.map +1 -1
- package/dist/workflow-execute-additional-data.d.ts +2 -2
- package/dist/workflow-execute-additional-data.js +5 -4
- package/dist/workflow-execute-additional-data.js.map +1 -1
- package/dist/workflow-runner.js +1 -0
- package/dist/workflow-runner.js.map +1 -1
- package/dist/workflows/publication/workflow-publication-applier.d.ts +3 -1
- package/dist/workflows/publication/workflow-publication-applier.js +10 -2
- package/dist/workflows/publication/workflow-publication-applier.js.map +1 -1
- package/dist/workflows/triggers/non-webhook-trigger-registrar.d.ts +1 -1
- package/dist/workflows/triggers/trigger-execution-context.factory.d.ts +1 -1
- package/dist/workflows/triggers/trigger-execution-context.factory.js +4 -5
- package/dist/workflows/triggers/trigger-execution-context.factory.js.map +1 -1
- package/dist/workflows/triggers/webhook-trigger-registrar.d.ts +4 -1
- package/dist/workflows/triggers/webhook-trigger-registrar.js +36 -9
- package/dist/workflows/triggers/webhook-trigger-registrar.js.map +1 -1
- package/dist/workflows/triggers/workflow-trigger-activator.d.ts +3 -0
- package/dist/workflows/triggers/workflow-trigger-activator.js +66 -32
- package/dist/workflows/triggers/workflow-trigger-activator.js.map +1 -1
- package/dist/workflows/workflow-creation.service.js +1 -1
- package/dist/workflows/workflow-creation.service.js.map +1 -1
- package/dist/workflows/workflow-history/workflow-history.service.d.ts +4 -3
- package/dist/workflows/workflow-history/workflow-history.service.js +4 -3
- package/dist/workflows/workflow-history/workflow-history.service.js.map +1 -1
- package/dist/workflows/workflow-published-data.service.d.ts +16 -6
- package/dist/workflows/workflow-published-data.service.js +42 -2
- package/dist/workflows/workflow-published-data.service.js.map +1 -1
- package/dist/workflows/workflow-validation.service.js +4 -22
- package/dist/workflows/workflow-validation.service.js.map +1 -1
- package/dist/workflows/workflow.service.d.ts +2 -2
- package/dist/workflows/workflow.service.ee.d.ts +1 -1
- package/dist/workflows/workflow.service.ee.js +1 -1
- package/dist/workflows/workflow.service.ee.js.map +1 -1
- package/dist/workflows/workflow.service.js +7 -7
- package/dist/workflows/workflow.service.js.map +1 -1
- package/dist/workflows/workflows.controller.d.ts +6 -6
- package/dist/workflows/workflows.controller.js +3 -3
- package/dist/workflows/workflows.controller.js.map +1 -1
- package/package.json +68 -56
- package/dist/modules/instance-ai/eval/proxy-loopback.d.ts +0 -1
- package/dist/modules/instance-ai/eval/proxy-loopback.js +0 -44
- package/dist/modules/instance-ai/eval/proxy-loopback.js.map +0 -1
|
@@ -2,97 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AgentChatBridge = void 0;
|
|
4
4
|
const di_1 = require("@n8n/di");
|
|
5
|
-
const utils_1 = require("@n8n/utils");
|
|
6
5
|
const agent_memory_scope_1 = require("../utils/agent-memory-scope");
|
|
7
6
|
const agent_chat_integration_1 = require("./agent-chat-integration");
|
|
7
|
+
const agent_chat_hitl_resume_handler_1 = require("./agent-chat-hitl-resume-handler");
|
|
8
|
+
const agent_chat_message_context_1 = require("./agent-chat-message-context");
|
|
9
|
+
const agent_chat_stream_consumer_1 = require("./agent-chat-stream-consumer");
|
|
10
|
+
const agent_chat_suspension_cards_1 = require("./agent-chat-suspension-cards");
|
|
8
11
|
const callback_store_1 = require("./callback-store");
|
|
9
12
|
const integration_message_context_service_1 = require("./integration-message-context.service");
|
|
10
|
-
const integration_tools_1 = require("./integration-tools");
|
|
11
13
|
const types_1 = require("./types");
|
|
12
|
-
const SLACK_THINKING_STATUS = 'Thinking...';
|
|
13
|
-
const SLACK_STATUS_RETRY_DELAY_MS = 750;
|
|
14
|
-
const APPROVAL_INPUT_MAX_LENGTH = 1500;
|
|
15
|
-
function isIntegrationActionSuspendPayload(value) {
|
|
16
|
-
return (typeof value === 'object' &&
|
|
17
|
-
value !== null &&
|
|
18
|
-
'type' in value &&
|
|
19
|
-
value.type === 'integration_action');
|
|
20
|
-
}
|
|
21
|
-
function isApprovalSuspendPayload(value) {
|
|
22
|
-
return ((0, utils_1.isRecord)(value) &&
|
|
23
|
-
value.type === 'approval' &&
|
|
24
|
-
typeof value.toolName === 'string' &&
|
|
25
|
-
value.toolName.length > 0);
|
|
26
|
-
}
|
|
27
|
-
function truncateApprovalInput(value) {
|
|
28
|
-
if (value.length <= APPROVAL_INPUT_MAX_LENGTH)
|
|
29
|
-
return value;
|
|
30
|
-
return `${value.slice(0, APPROVAL_INPUT_MAX_LENGTH)}...`;
|
|
31
|
-
}
|
|
32
|
-
function stringifyApprovalInput(value) {
|
|
33
|
-
if (value === undefined)
|
|
34
|
-
return undefined;
|
|
35
|
-
if (typeof value === 'string') {
|
|
36
|
-
return truncateApprovalInput(value);
|
|
37
|
-
}
|
|
38
|
-
try {
|
|
39
|
-
const serialized = JSON.stringify(value, null, 2);
|
|
40
|
-
return truncateApprovalInput(serialized ?? String(value));
|
|
41
|
-
}
|
|
42
|
-
catch {
|
|
43
|
-
return truncateApprovalInput(String(value));
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
function getApprovalToolLabel(payload) {
|
|
47
|
-
return typeof payload.displayName === 'string' && payload.displayName.length > 0
|
|
48
|
-
? payload.displayName
|
|
49
|
-
: payload.toolName;
|
|
50
|
-
}
|
|
51
|
-
function buildApprovalCardPayload(payload) {
|
|
52
|
-
const toolLabel = getApprovalToolLabel(payload);
|
|
53
|
-
const fields = [{ label: 'Tool', value: toolLabel }];
|
|
54
|
-
const input = stringifyApprovalInput(payload.args);
|
|
55
|
-
if (input) {
|
|
56
|
-
fields.push({ label: 'Input', value: input });
|
|
57
|
-
}
|
|
58
|
-
return {
|
|
59
|
-
title: 'Approval required',
|
|
60
|
-
components: [
|
|
61
|
-
{ type: 'section', text: `The agent wants to run this tool: ${toolLabel}` },
|
|
62
|
-
{ type: 'fields', fields },
|
|
63
|
-
{ type: 'button', label: 'Approve', value: 'true', style: 'primary' },
|
|
64
|
-
{ type: 'button', label: 'Deny', value: 'false', style: 'danger' },
|
|
65
|
-
],
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
function toIntegrationMessageSubject(subject) {
|
|
69
|
-
if (!subject || typeof subject.type !== 'string' || typeof subject.id !== 'string') {
|
|
70
|
-
return undefined;
|
|
71
|
-
}
|
|
72
|
-
const assignee = toIntegrationSubjectPerson(subject.assignee);
|
|
73
|
-
const author = toIntegrationSubjectPerson(subject.author);
|
|
74
|
-
const labels = subject.labels?.filter((label) => typeof label === 'string');
|
|
75
|
-
return {
|
|
76
|
-
type: subject.type,
|
|
77
|
-
id: subject.id,
|
|
78
|
-
...(typeof subject.title === 'string' ? { title: subject.title } : {}),
|
|
79
|
-
...(typeof subject.description === 'string' ? { description: subject.description } : {}),
|
|
80
|
-
...(typeof subject.url === 'string' ? { url: subject.url } : {}),
|
|
81
|
-
...(typeof subject.status === 'string' ? { status: subject.status } : {}),
|
|
82
|
-
...(labels && labels.length > 0 ? { labels } : {}),
|
|
83
|
-
...(assignee ? { assignee } : {}),
|
|
84
|
-
...(author ? { author } : {}),
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
function toIntegrationSubjectPerson(person) {
|
|
88
|
-
if (!person || typeof person.id !== 'string' || typeof person.name !== 'string') {
|
|
89
|
-
return undefined;
|
|
90
|
-
}
|
|
91
|
-
return {
|
|
92
|
-
id: person.id,
|
|
93
|
-
name: person.name,
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
14
|
class AgentChatBridge {
|
|
97
15
|
constructor(chat, agentId, agentService, componentMapper, logger, n8nProjectId, integration, messageContextStore) {
|
|
98
16
|
this.chat = chat;
|
|
@@ -102,13 +20,44 @@ class AgentChatBridge {
|
|
|
102
20
|
this.logger = logger;
|
|
103
21
|
this.n8nProjectId = n8nProjectId;
|
|
104
22
|
this.integration = integration;
|
|
105
|
-
this.messageContextStore = messageContextStore;
|
|
106
|
-
this.activeResumedRuns = new Set();
|
|
107
23
|
this.integrationImpl = di_1.Container.get(agent_chat_integration_1.ChatIntegrationRegistry).get(integration.type);
|
|
24
|
+
this.messageContextBridge = new agent_chat_message_context_1.AgentChatMessageContextBridge(messageContextStore, integration, agentId, logger);
|
|
108
25
|
if (this.integrationImpl?.needsShortCallbackData) {
|
|
109
26
|
this.callbackStore = new callback_store_1.CallbackStore();
|
|
110
27
|
}
|
|
111
|
-
|
|
28
|
+
const disableStreaming = this.integrationImpl?.disableStreaming ?? false;
|
|
29
|
+
this.streamConsumer = new agent_chat_stream_consumer_1.AgentChatStreamConsumer({
|
|
30
|
+
disableStreaming,
|
|
31
|
+
logger: this.logger,
|
|
32
|
+
postErrorToThread: this.postErrorToThread.bind(this),
|
|
33
|
+
handleSuspension: this.handleSuspension.bind(this),
|
|
34
|
+
handleMessage: this.handleMessage.bind(this),
|
|
35
|
+
});
|
|
36
|
+
this.hitlResumeHandler = new agent_chat_hitl_resume_handler_1.AgentChatHitlResumeHandler({
|
|
37
|
+
agentId,
|
|
38
|
+
projectId: n8nProjectId,
|
|
39
|
+
integration,
|
|
40
|
+
agentService,
|
|
41
|
+
logger,
|
|
42
|
+
callbackStore: this.callbackStore,
|
|
43
|
+
resolvePlatformThreadId: this.resolvePlatformThreadId.bind(this),
|
|
44
|
+
toAgentThreadId: this.toAgentThreadId.bind(this),
|
|
45
|
+
getPlatformAgentContext: this.getPlatformAgentContext.bind(this),
|
|
46
|
+
messageContextBridge: this.messageContextBridge,
|
|
47
|
+
streamConsumer: this.streamConsumer,
|
|
48
|
+
createResumeExecutionContext: async (thread) => {
|
|
49
|
+
const params = {
|
|
50
|
+
chat: this.chat,
|
|
51
|
+
thread,
|
|
52
|
+
logger: this.logger,
|
|
53
|
+
agentId: this.agentId,
|
|
54
|
+
};
|
|
55
|
+
const resumeExecutionContext = await this.integrationImpl?.createResumeExecutionContext?.(params);
|
|
56
|
+
if (resumeExecutionContext)
|
|
57
|
+
return resumeExecutionContext;
|
|
58
|
+
return {};
|
|
59
|
+
},
|
|
60
|
+
});
|
|
112
61
|
this.registerHandlers();
|
|
113
62
|
}
|
|
114
63
|
static create(chat, agentId, agentService, componentMapper, logger, n8nProjectId, integration) {
|
|
@@ -160,7 +109,7 @@ class AgentChatBridge {
|
|
|
160
109
|
try {
|
|
161
110
|
if (!this.canUserAccess(event.user))
|
|
162
111
|
return;
|
|
163
|
-
await this.handleAction(event);
|
|
112
|
+
await this.hitlResumeHandler.handleAction(event);
|
|
164
113
|
}
|
|
165
114
|
catch (error) {
|
|
166
115
|
await this.postErrorToThread(event.thread, error);
|
|
@@ -195,17 +144,15 @@ class AgentChatBridge {
|
|
|
195
144
|
return;
|
|
196
145
|
const platformThreadId = this.resolvePlatformThreadId(thread);
|
|
197
146
|
const threadId = this.toAgentThreadId(platformThreadId);
|
|
198
|
-
const slackThreadContext = this.getSlackThreadContext(message);
|
|
199
|
-
const useNativeSlackThreadFeatures = this.integration.type !== 'slack' || slackThreadContext?.hasRealThreadTs === true;
|
|
200
147
|
const statusRetry = new AbortController();
|
|
201
|
-
const [
|
|
202
|
-
this.
|
|
203
|
-
this.
|
|
148
|
+
const [bridgeExecutionContext, subject] = await Promise.all([
|
|
149
|
+
this.resolveBridgeExecutionContext(thread, message, platformAgentContext, statusRetry),
|
|
150
|
+
this.messageContextBridge.resolveSubject(message),
|
|
204
151
|
]);
|
|
205
|
-
await this.
|
|
152
|
+
await this.messageContextBridge.updateLatest(threadId.id, message.author.userId, thread, {
|
|
206
153
|
messageId: message.id,
|
|
207
154
|
interactingUserId: message.author.userId,
|
|
208
|
-
...platformAgentContext,
|
|
155
|
+
...bridgeExecutionContext.platformAgentContext,
|
|
209
156
|
subject,
|
|
210
157
|
});
|
|
211
158
|
const stream = this.agentService.executeForChatPublished({
|
|
@@ -219,208 +166,24 @@ class AgentChatBridge {
|
|
|
219
166
|
integrationType: this.integration.type,
|
|
220
167
|
});
|
|
221
168
|
try {
|
|
222
|
-
await this.
|
|
223
|
-
forceBuffered:
|
|
224
|
-
statusHandle,
|
|
169
|
+
await this.streamConsumer.consume(stream, thread, {
|
|
170
|
+
forceBuffered: bridgeExecutionContext.forceBuffered,
|
|
171
|
+
statusHandle: bridgeExecutionContext.statusHandle,
|
|
225
172
|
});
|
|
226
173
|
}
|
|
227
174
|
finally {
|
|
228
175
|
statusRetry.abort();
|
|
229
176
|
}
|
|
230
177
|
}
|
|
231
|
-
async
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
end: null,
|
|
241
|
-
};
|
|
242
|
-
let streamingPost = null;
|
|
243
|
-
const createTextIterable = () => {
|
|
244
|
-
const queue = [];
|
|
245
|
-
let done = false;
|
|
246
|
-
let waiting = null;
|
|
247
|
-
textStream.yield = (text) => {
|
|
248
|
-
if (waiting) {
|
|
249
|
-
const resolve = waiting;
|
|
250
|
-
waiting = null;
|
|
251
|
-
resolve({ value: text, done: false });
|
|
252
|
-
}
|
|
253
|
-
else {
|
|
254
|
-
queue.push(text);
|
|
255
|
-
}
|
|
256
|
-
};
|
|
257
|
-
textStream.end = () => {
|
|
258
|
-
done = true;
|
|
259
|
-
if (waiting) {
|
|
260
|
-
const resolve = waiting;
|
|
261
|
-
waiting = null;
|
|
262
|
-
resolve({ value: '', done: true });
|
|
263
|
-
}
|
|
264
|
-
};
|
|
265
|
-
return {
|
|
266
|
-
[Symbol.asyncIterator]() {
|
|
267
|
-
return {
|
|
268
|
-
async next() {
|
|
269
|
-
if (queue.length > 0) {
|
|
270
|
-
return { value: queue.shift(), done: false };
|
|
271
|
-
}
|
|
272
|
-
if (done) {
|
|
273
|
-
return { value: '', done: true };
|
|
274
|
-
}
|
|
275
|
-
return await new Promise((resolve) => {
|
|
276
|
-
waiting = resolve;
|
|
277
|
-
});
|
|
278
|
-
},
|
|
279
|
-
};
|
|
280
|
-
},
|
|
281
|
-
};
|
|
282
|
-
};
|
|
283
|
-
const startStreamingPost = () => {
|
|
284
|
-
const iterable = createTextIterable();
|
|
285
|
-
streamingPost = thread.post(iterable).catch((postError) => {
|
|
286
|
-
this.logger.error('[AgentChatBridge] Streaming post failed', {
|
|
287
|
-
error: postError instanceof Error ? postError.message : String(postError),
|
|
288
|
-
});
|
|
289
|
-
});
|
|
290
|
-
};
|
|
291
|
-
const endStreamingPost = async () => {
|
|
292
|
-
if (textStream.end) {
|
|
293
|
-
textStream.end();
|
|
294
|
-
textStream.end = null;
|
|
295
|
-
textStream.yield = null;
|
|
296
|
-
}
|
|
297
|
-
if (streamingPost) {
|
|
298
|
-
await streamingPost;
|
|
299
|
-
streamingPost = null;
|
|
300
|
-
}
|
|
301
|
-
};
|
|
302
|
-
const ensureStreamingPost = () => {
|
|
303
|
-
if (!streamingPost)
|
|
304
|
-
startStreamingPost();
|
|
305
|
-
};
|
|
306
|
-
const responseLifecycle = this.createResponseLifecycle({
|
|
307
|
-
statusHandle: options.statusHandle,
|
|
308
|
-
ensureStreamingPost,
|
|
309
|
-
endStreamingPost,
|
|
310
|
-
});
|
|
311
|
-
try {
|
|
312
|
-
for await (const chunk of stream) {
|
|
313
|
-
switch (chunk.type) {
|
|
314
|
-
case 'text-delta': {
|
|
315
|
-
const { delta } = chunk;
|
|
316
|
-
await responseLifecycle.startStreamingResponse();
|
|
317
|
-
textStream.yield?.(delta);
|
|
318
|
-
break;
|
|
319
|
-
}
|
|
320
|
-
case 'reasoning-delta': {
|
|
321
|
-
const { delta } = chunk;
|
|
322
|
-
await responseLifecycle.startStreamingResponse();
|
|
323
|
-
textStream.yield?.(`_${delta}_`);
|
|
324
|
-
break;
|
|
325
|
-
}
|
|
326
|
-
case 'tool-call-suspended':
|
|
327
|
-
await responseLifecycle.startDiscreteResponse();
|
|
328
|
-
await this.handleSuspension(chunk, thread);
|
|
329
|
-
break;
|
|
330
|
-
case 'message':
|
|
331
|
-
await responseLifecycle.startDiscreteResponse();
|
|
332
|
-
await this.handleMessage(chunk, thread);
|
|
333
|
-
break;
|
|
334
|
-
case 'error':
|
|
335
|
-
await responseLifecycle.startDiscreteResponse();
|
|
336
|
-
await this.postErrorToThread(thread, chunk.error);
|
|
337
|
-
break;
|
|
338
|
-
default:
|
|
339
|
-
break;
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
finally {
|
|
344
|
-
await responseLifecycle.finish();
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
createResponseLifecycle(options) {
|
|
348
|
-
let responseStarted = false;
|
|
349
|
-
const clearStatusBeforeFirstResponse = async () => {
|
|
350
|
-
if (responseStarted)
|
|
351
|
-
return;
|
|
352
|
-
responseStarted = true;
|
|
353
|
-
await options.statusHandle?.clearBeforeResponse();
|
|
354
|
-
};
|
|
355
|
-
return {
|
|
356
|
-
startStreamingResponse: async () => {
|
|
357
|
-
await clearStatusBeforeFirstResponse();
|
|
358
|
-
options.ensureStreamingPost?.();
|
|
359
|
-
},
|
|
360
|
-
startDiscreteResponse: async () => {
|
|
361
|
-
await options.endStreamingPost?.();
|
|
362
|
-
await clearStatusBeforeFirstResponse();
|
|
363
|
-
},
|
|
364
|
-
finish: async () => {
|
|
365
|
-
await options.endStreamingPost?.();
|
|
366
|
-
await clearStatusBeforeFirstResponse();
|
|
367
|
-
},
|
|
368
|
-
};
|
|
369
|
-
}
|
|
370
|
-
async consumeStreamBuffered(stream, thread, options = {}) {
|
|
371
|
-
let buffer = '';
|
|
372
|
-
const responseLifecycle = this.createResponseLifecycle({
|
|
373
|
-
statusHandle: options.statusHandle,
|
|
374
|
-
});
|
|
375
|
-
const flushBuffer = async () => {
|
|
376
|
-
const text = buffer;
|
|
377
|
-
buffer = '';
|
|
378
|
-
if (!text.trim())
|
|
379
|
-
return;
|
|
380
|
-
try {
|
|
381
|
-
await responseLifecycle.startDiscreteResponse();
|
|
382
|
-
await thread.post({ markdown: text });
|
|
383
|
-
}
|
|
384
|
-
catch (postError) {
|
|
385
|
-
await this.postErrorToThread(thread, postError);
|
|
386
|
-
this.logger.error('[AgentChatBridge] Buffered post failed', {
|
|
387
|
-
error: postError instanceof Error ? postError.message : String(postError),
|
|
388
|
-
});
|
|
389
|
-
}
|
|
390
|
-
};
|
|
391
|
-
try {
|
|
392
|
-
for await (const chunk of stream) {
|
|
393
|
-
switch (chunk.type) {
|
|
394
|
-
case 'text-delta':
|
|
395
|
-
buffer += chunk.delta;
|
|
396
|
-
break;
|
|
397
|
-
case 'reasoning-delta':
|
|
398
|
-
buffer += `_${chunk.delta}_`;
|
|
399
|
-
break;
|
|
400
|
-
case 'tool-call-suspended':
|
|
401
|
-
await flushBuffer();
|
|
402
|
-
await responseLifecycle.startDiscreteResponse();
|
|
403
|
-
await this.handleSuspension(chunk, thread);
|
|
404
|
-
break;
|
|
405
|
-
case 'message':
|
|
406
|
-
await flushBuffer();
|
|
407
|
-
await responseLifecycle.startDiscreteResponse();
|
|
408
|
-
await this.handleMessage(chunk, thread);
|
|
409
|
-
break;
|
|
410
|
-
case 'error':
|
|
411
|
-
await flushBuffer();
|
|
412
|
-
await responseLifecycle.startDiscreteResponse();
|
|
413
|
-
await this.postErrorToThread(thread, chunk.error);
|
|
414
|
-
break;
|
|
415
|
-
default:
|
|
416
|
-
break;
|
|
417
|
-
}
|
|
418
|
-
}
|
|
419
|
-
}
|
|
420
|
-
finally {
|
|
421
|
-
await flushBuffer();
|
|
422
|
-
await responseLifecycle.finish();
|
|
423
|
-
}
|
|
178
|
+
async resolveBridgeExecutionContext(thread, message, platformAgentContext, statusRetry) {
|
|
179
|
+
return ((await this.integrationImpl?.createBridgeExecutionContext?.({
|
|
180
|
+
chat: this.chat,
|
|
181
|
+
thread,
|
|
182
|
+
message,
|
|
183
|
+
logger: this.logger,
|
|
184
|
+
agentId: this.agentId,
|
|
185
|
+
statusRetry,
|
|
186
|
+
})) ?? { platformAgentContext });
|
|
424
187
|
}
|
|
425
188
|
async handleSuspension(chunk, thread) {
|
|
426
189
|
const { runId, toolCallId, suspendPayload } = chunk;
|
|
@@ -428,33 +191,9 @@ class AgentChatBridge {
|
|
|
428
191
|
this.logger.warn('[AgentChatBridge] Suspended chunk missing runId or toolCallId');
|
|
429
192
|
return;
|
|
430
193
|
}
|
|
431
|
-
const
|
|
432
|
-
if (
|
|
194
|
+
const cardPayload = (0, agent_chat_suspension_cards_1.buildSuspendCardPayload)(suspendPayload);
|
|
195
|
+
if (!cardPayload)
|
|
433
196
|
return;
|
|
434
|
-
}
|
|
435
|
-
const hasComponents = payload &&
|
|
436
|
-
'components' in payload &&
|
|
437
|
-
Array.isArray(payload.components) &&
|
|
438
|
-
payload.components.length > 0;
|
|
439
|
-
let cardPayload;
|
|
440
|
-
if (isApprovalSuspendPayload(payload)) {
|
|
441
|
-
cardPayload = buildApprovalCardPayload(payload);
|
|
442
|
-
}
|
|
443
|
-
else if (hasComponents) {
|
|
444
|
-
cardPayload = payload;
|
|
445
|
-
}
|
|
446
|
-
else {
|
|
447
|
-
const message = payload && typeof payload === 'object' && 'message' in payload
|
|
448
|
-
? String(payload.message)
|
|
449
|
-
: 'Action required — approve or deny?';
|
|
450
|
-
cardPayload = {
|
|
451
|
-
title: message,
|
|
452
|
-
components: [
|
|
453
|
-
{ type: 'button', label: 'Approve', value: 'true', style: 'primary' },
|
|
454
|
-
{ type: 'button', label: 'Deny', value: 'false', style: 'danger' },
|
|
455
|
-
],
|
|
456
|
-
};
|
|
457
|
-
}
|
|
458
197
|
try {
|
|
459
198
|
const card = await this.componentMapper.toCard(cardPayload, runId, toolCallId, chunk.resumeSchema, this.getShortenCallback(), this.integration.type);
|
|
460
199
|
await thread.post({ card });
|
|
@@ -489,296 +228,12 @@ class AgentChatBridge {
|
|
|
489
228
|
});
|
|
490
229
|
}
|
|
491
230
|
}
|
|
492
|
-
parseActionId(actionId, value) {
|
|
493
|
-
if (actionId.startsWith('ri-sel:')) {
|
|
494
|
-
const parts = actionId.split(':');
|
|
495
|
-
if (parts.length < 4) {
|
|
496
|
-
this.logger.warn('[AgentChatBridge] Malformed ri-sel action ID', { actionId });
|
|
497
|
-
return null;
|
|
498
|
-
}
|
|
499
|
-
return {
|
|
500
|
-
runId: parts[2],
|
|
501
|
-
toolCallId: parts.slice(3).join(':'),
|
|
502
|
-
resumeData: { type: 'select', id: parts[1], value },
|
|
503
|
-
};
|
|
504
|
-
}
|
|
505
|
-
if (actionId.startsWith('resume:')) {
|
|
506
|
-
const parts = actionId.split(':');
|
|
507
|
-
if (parts.length < 4) {
|
|
508
|
-
this.logger.warn('[AgentChatBridge] Malformed action ID', { actionId });
|
|
509
|
-
return null;
|
|
510
|
-
}
|
|
511
|
-
let resumeData;
|
|
512
|
-
try {
|
|
513
|
-
resumeData = JSON.parse(value ?? '');
|
|
514
|
-
}
|
|
515
|
-
catch {
|
|
516
|
-
resumeData = { value };
|
|
517
|
-
}
|
|
518
|
-
return { runId: parts[1], toolCallId: parts.slice(2, -1).join(':'), resumeData };
|
|
519
|
-
}
|
|
520
|
-
return null;
|
|
521
|
-
}
|
|
522
|
-
async resolveCallbackData(actionId, value, thread) {
|
|
523
|
-
if (!this.callbackStore)
|
|
524
|
-
return { actionId, value };
|
|
525
|
-
const resolved = await this.callbackStore.resolve(actionId);
|
|
526
|
-
if (!resolved) {
|
|
527
|
-
this.logger.warn('[AgentChatBridge] Callback key not found or expired', { actionId });
|
|
528
|
-
await thread.post('This action is no longer available. The link may have expired or already been used.');
|
|
529
|
-
return null;
|
|
530
|
-
}
|
|
531
|
-
return { actionId: resolved.actionId, value: resolved.value };
|
|
532
|
-
}
|
|
533
|
-
async cleanUpBeforeResume(event) {
|
|
534
|
-
try {
|
|
535
|
-
await event.adapter.deleteMessage(event.threadId, event.messageId);
|
|
536
|
-
}
|
|
537
|
-
catch (deleteError) {
|
|
538
|
-
this.logger.warn('[AgentChatBridge] Failed to delete card message', {
|
|
539
|
-
error: deleteError instanceof Error ? deleteError.message : String(deleteError),
|
|
540
|
-
});
|
|
541
|
-
}
|
|
542
|
-
}
|
|
543
|
-
async executeResume(thread, runId, toolCallId, resumeData) {
|
|
544
|
-
if (this.activeResumedRuns.has(runId)) {
|
|
545
|
-
this.logger.warn('[AgentChatBridge] Run is already active', { runId, toolCallId });
|
|
546
|
-
await thread.post('This action has already been handled');
|
|
547
|
-
return;
|
|
548
|
-
}
|
|
549
|
-
this.activeResumedRuns.add(runId);
|
|
550
|
-
try {
|
|
551
|
-
await this.startThinkingStatus(thread);
|
|
552
|
-
const stream = this.agentService.resumeForChat({
|
|
553
|
-
agentId: this.agentId,
|
|
554
|
-
projectId: this.n8nProjectId,
|
|
555
|
-
runId,
|
|
556
|
-
toolCallId,
|
|
557
|
-
resumeData,
|
|
558
|
-
integrationType: this.integration.type,
|
|
559
|
-
});
|
|
560
|
-
await this.consumeStream(stream, thread);
|
|
561
|
-
}
|
|
562
|
-
finally {
|
|
563
|
-
this.activeResumedRuns.delete(runId);
|
|
564
|
-
}
|
|
565
|
-
}
|
|
566
|
-
async startThinkingStatus(thread, slackThreadContext, statusRetry) {
|
|
567
|
-
if (this.integration.type !== 'slack')
|
|
568
|
-
return;
|
|
569
|
-
if (slackThreadContext && !slackThreadContext.hasRealThreadTs) {
|
|
570
|
-
const setStatus = this.setSlackAssistantStatus(slackThreadContext, statusRetry?.signal);
|
|
571
|
-
return slackThreadContext.isDm
|
|
572
|
-
? {
|
|
573
|
-
clearBeforeResponse: async () => {
|
|
574
|
-
statusRetry?.abort();
|
|
575
|
-
await setStatus;
|
|
576
|
-
await this.clearSlackAssistantStatus(slackThreadContext);
|
|
577
|
-
},
|
|
578
|
-
}
|
|
579
|
-
: undefined;
|
|
580
|
-
}
|
|
581
|
-
try {
|
|
582
|
-
await thread.startTyping(SLACK_THINKING_STATUS);
|
|
583
|
-
}
|
|
584
|
-
catch (error) {
|
|
585
|
-
this.logger.warn('[AgentChatBridge] Failed to set Slack assistant status', {
|
|
586
|
-
agentId: this.agentId,
|
|
587
|
-
threadId: thread.id,
|
|
588
|
-
error: error instanceof Error ? error.message : String(error),
|
|
589
|
-
});
|
|
590
|
-
}
|
|
591
|
-
return undefined;
|
|
592
|
-
}
|
|
593
|
-
async setSlackAssistantStatus(context, statusRetrySignal) {
|
|
594
|
-
const adapter = this.getSlackAssistantStatusAdapter();
|
|
595
|
-
if (!adapter)
|
|
596
|
-
return;
|
|
597
|
-
await this.setSlackAssistantStatusWithRetry(adapter, context, statusRetrySignal);
|
|
598
|
-
}
|
|
599
|
-
async clearSlackAssistantStatus(context) {
|
|
600
|
-
const adapter = this.getSlackAssistantStatusAdapter();
|
|
601
|
-
if (!adapter)
|
|
602
|
-
return;
|
|
603
|
-
try {
|
|
604
|
-
await adapter.setAssistantStatus(context.channelId, context.threadTs, '');
|
|
605
|
-
}
|
|
606
|
-
catch (error) {
|
|
607
|
-
this.logger.warn('[AgentChatBridge] Failed to clear Slack assistant status', {
|
|
608
|
-
agentId: this.agentId,
|
|
609
|
-
channelId: context.channelId,
|
|
610
|
-
threadTs: context.threadTs,
|
|
611
|
-
error: error instanceof Error ? error.message : String(error),
|
|
612
|
-
});
|
|
613
|
-
}
|
|
614
|
-
}
|
|
615
|
-
async setSlackAssistantStatusWithRetry(adapter, context, statusRetrySignal) {
|
|
616
|
-
try {
|
|
617
|
-
await adapter.setAssistantStatus(context.channelId, context.threadTs, SLACK_THINKING_STATUS, [
|
|
618
|
-
SLACK_THINKING_STATUS,
|
|
619
|
-
]);
|
|
620
|
-
return;
|
|
621
|
-
}
|
|
622
|
-
catch (error) {
|
|
623
|
-
if (getSlackErrorCode(error) !== 'invalid_thread_ts') {
|
|
624
|
-
this.logger.warn('[AgentChatBridge] Failed to set Slack assistant status', {
|
|
625
|
-
agentId: this.agentId,
|
|
626
|
-
channelId: context.channelId,
|
|
627
|
-
threadTs: context.threadTs,
|
|
628
|
-
error: error instanceof Error ? error.message : String(error),
|
|
629
|
-
});
|
|
630
|
-
return;
|
|
631
|
-
}
|
|
632
|
-
}
|
|
633
|
-
if (!(await sleep(SLACK_STATUS_RETRY_DELAY_MS, statusRetrySignal)))
|
|
634
|
-
return;
|
|
635
|
-
if (statusRetrySignal?.aborted)
|
|
636
|
-
return;
|
|
637
|
-
try {
|
|
638
|
-
await adapter.setAssistantStatus(context.channelId, context.threadTs, SLACK_THINKING_STATUS, [
|
|
639
|
-
SLACK_THINKING_STATUS,
|
|
640
|
-
]);
|
|
641
|
-
}
|
|
642
|
-
catch (error) {
|
|
643
|
-
const errorCode = getSlackErrorCode(error);
|
|
644
|
-
const logPayload = {
|
|
645
|
-
agentId: this.agentId,
|
|
646
|
-
channelId: context.channelId,
|
|
647
|
-
threadTs: context.threadTs,
|
|
648
|
-
error: error instanceof Error ? error.message : String(error),
|
|
649
|
-
...(errorCode ? { errorCode } : {}),
|
|
650
|
-
};
|
|
651
|
-
if (errorCode === 'invalid_thread_ts') {
|
|
652
|
-
this.logger.debug('[AgentChatBridge] Slack assistant status unavailable for thread', logPayload);
|
|
653
|
-
return;
|
|
654
|
-
}
|
|
655
|
-
this.logger.warn('[AgentChatBridge] Failed to set Slack assistant status', logPayload);
|
|
656
|
-
}
|
|
657
|
-
}
|
|
658
|
-
getSlackThreadContext(message) {
|
|
659
|
-
if (this.integration.type !== 'slack')
|
|
660
|
-
return undefined;
|
|
661
|
-
const raw = message.raw;
|
|
662
|
-
if (!(0, utils_1.isRecord)(raw))
|
|
663
|
-
return undefined;
|
|
664
|
-
const channelId = stringValue(raw.channel);
|
|
665
|
-
const channelType = stringValue(raw.channel_type);
|
|
666
|
-
const realThreadTs = stringValue(raw.thread_ts);
|
|
667
|
-
const threadTs = realThreadTs ?? stringValue(raw.ts);
|
|
668
|
-
if (!channelId || !threadTs)
|
|
669
|
-
return undefined;
|
|
670
|
-
return {
|
|
671
|
-
channelId,
|
|
672
|
-
threadTs,
|
|
673
|
-
hasRealThreadTs: realThreadTs !== undefined,
|
|
674
|
-
isDm: channelType === 'im',
|
|
675
|
-
};
|
|
676
|
-
}
|
|
677
|
-
getSlackAssistantStatusAdapter() {
|
|
678
|
-
const adapter = this.chat.getAdapter('slack');
|
|
679
|
-
return isSlackAssistantStatusAdapter(adapter) ? adapter : undefined;
|
|
680
|
-
}
|
|
681
|
-
async updateLatestMessageContext(threadId, resourceId, thread, options = {}) {
|
|
682
|
-
if (!this.messageContextStore)
|
|
683
|
-
return undefined;
|
|
684
|
-
const integrationConnectionId = (0, integration_tools_1.buildIntegrationConnectionId)(this.integration);
|
|
685
|
-
const previousContext = await this.getPreviousContext(threadId, integrationConnectionId);
|
|
686
|
-
const agentUserId = options.agentUserId ?? previousContext?.agentUserId;
|
|
687
|
-
const context = {
|
|
688
|
-
integrationConnectionId,
|
|
689
|
-
platform: this.integration.type,
|
|
690
|
-
target: {
|
|
691
|
-
type: 'thread',
|
|
692
|
-
threadId: thread.id,
|
|
693
|
-
channelId: thread.channelId,
|
|
694
|
-
},
|
|
695
|
-
...(options.messageId ? { messageId: options.messageId } : {}),
|
|
696
|
-
...(options.interactingUserId ? { interactingUserId: options.interactingUserId } : {}),
|
|
697
|
-
...(agentUserId ? { agentUserId } : {}),
|
|
698
|
-
...(options.subject ? { subject: options.subject } : {}),
|
|
699
|
-
...(!options.subject && previousContext?.subject ? { subject: previousContext.subject } : {}),
|
|
700
|
-
updatedAt: new Date().toISOString(),
|
|
701
|
-
};
|
|
702
|
-
try {
|
|
703
|
-
await this.messageContextStore.setLatest(threadId, resourceId, context);
|
|
704
|
-
return context;
|
|
705
|
-
}
|
|
706
|
-
catch (error) {
|
|
707
|
-
this.logger.warn('[AgentChatBridge] Failed to update latest message context', {
|
|
708
|
-
agentId: this.agentId,
|
|
709
|
-
threadId,
|
|
710
|
-
error: error instanceof Error ? error.message : String(error),
|
|
711
|
-
});
|
|
712
|
-
return undefined;
|
|
713
|
-
}
|
|
714
|
-
}
|
|
715
231
|
getPlatformAgentContext() {
|
|
716
|
-
|
|
717
|
-
return {};
|
|
718
|
-
const adapter = this.chat.getAdapter(this.integration.type);
|
|
719
|
-
if (!(0, utils_1.isRecord)(adapter))
|
|
720
|
-
return {};
|
|
721
|
-
const agentUserId = stringValue(adapter.botUserId);
|
|
722
|
-
return agentUserId ? { agentUserId } : {};
|
|
232
|
+
return this.integrationImpl?.getPlatformAgentContext?.(this.chat) ?? {};
|
|
723
233
|
}
|
|
724
234
|
prepareInboundText(text, context) {
|
|
725
235
|
const trimmed = text?.trim() ?? '';
|
|
726
|
-
|
|
727
|
-
return trimmed;
|
|
728
|
-
return stripSlackSelfMention(trimmed, context.agentUserId);
|
|
729
|
-
}
|
|
730
|
-
async getPreviousContext(threadId, integrationConnectionId) {
|
|
731
|
-
if (!this.messageContextStore)
|
|
732
|
-
return undefined;
|
|
733
|
-
try {
|
|
734
|
-
const previousContext = await this.messageContextStore.getLatest(threadId);
|
|
735
|
-
if (previousContext?.integrationConnectionId !== integrationConnectionId) {
|
|
736
|
-
return undefined;
|
|
737
|
-
}
|
|
738
|
-
return previousContext;
|
|
739
|
-
}
|
|
740
|
-
catch (error) {
|
|
741
|
-
this.logger.warn('[AgentChatBridge] Failed to read previous message context', {
|
|
742
|
-
agentId: this.agentId,
|
|
743
|
-
threadId,
|
|
744
|
-
error: error instanceof Error ? error.message : String(error),
|
|
745
|
-
});
|
|
746
|
-
return undefined;
|
|
747
|
-
}
|
|
748
|
-
}
|
|
749
|
-
async resolveMessageSubject(message) {
|
|
750
|
-
try {
|
|
751
|
-
return toIntegrationMessageSubject(await message.subject);
|
|
752
|
-
}
|
|
753
|
-
catch (error) {
|
|
754
|
-
this.logger.debug(`[AgentChatBridge] Failed to fetch message subject: ${error instanceof Error ? error.message : String(error)}`);
|
|
755
|
-
return undefined;
|
|
756
|
-
}
|
|
757
|
-
}
|
|
758
|
-
async handleAction(event) {
|
|
759
|
-
const { thread } = event;
|
|
760
|
-
if (!thread) {
|
|
761
|
-
this.logger.warn('[AgentChatBridge] Thread is not set for event', {
|
|
762
|
-
threadId: event.threadId,
|
|
763
|
-
actionId: event.actionId,
|
|
764
|
-
});
|
|
765
|
-
return;
|
|
766
|
-
}
|
|
767
|
-
const callbackData = await this.resolveCallbackData(event.actionId, event.value, thread);
|
|
768
|
-
if (!callbackData)
|
|
769
|
-
return;
|
|
770
|
-
const parsed = this.parseActionId(callbackData.actionId, callbackData.value);
|
|
771
|
-
if (!parsed)
|
|
772
|
-
return;
|
|
773
|
-
const platformThreadId = this.resolvePlatformThreadId(thread);
|
|
774
|
-
const threadId = this.toAgentThreadId(platformThreadId);
|
|
775
|
-
await this.updateLatestMessageContext(threadId.id, event.user.userId, thread, {
|
|
776
|
-
messageId: event.messageId,
|
|
777
|
-
interactingUserId: event.user.userId,
|
|
778
|
-
...this.getPlatformAgentContext(),
|
|
779
|
-
});
|
|
780
|
-
await this.cleanUpBeforeResume(event);
|
|
781
|
-
await this.executeResume(thread, parsed.runId, parsed.toolCallId, parsed.resumeData);
|
|
236
|
+
return this.integrationImpl?.prepareInboundText?.(trimmed, context) ?? trimmed;
|
|
782
237
|
}
|
|
783
238
|
async postErrorToThread(thread, error) {
|
|
784
239
|
const message = error instanceof Error ? error.message : 'An unexpected error occurred';
|
|
@@ -806,45 +261,4 @@ class AgentChatBridge {
|
|
|
806
261
|
}
|
|
807
262
|
}
|
|
808
263
|
exports.AgentChatBridge = AgentChatBridge;
|
|
809
|
-
function stripSlackSelfMention(text, userId) {
|
|
810
|
-
const escapedUserId = escapeRegExp(userId);
|
|
811
|
-
return text
|
|
812
|
-
.replace(new RegExp(`(^|\\s)<@!?${escapedUserId}(?:\\|[^>]+)?>`, 'gi'), '$1')
|
|
813
|
-
.replace(new RegExp(`(^|\\s)@${escapedUserId}\\b`, 'gi'), '$1')
|
|
814
|
-
.replace(/\s+/g, ' ')
|
|
815
|
-
.trim();
|
|
816
|
-
}
|
|
817
|
-
function isSlackAssistantStatusAdapter(value) {
|
|
818
|
-
return (0, utils_1.isRecord)(value) && typeof value.setAssistantStatus === 'function';
|
|
819
|
-
}
|
|
820
|
-
function stringValue(value) {
|
|
821
|
-
return typeof value === 'string' && value.length > 0 ? value : undefined;
|
|
822
|
-
}
|
|
823
|
-
function escapeRegExp(value) {
|
|
824
|
-
return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
825
|
-
}
|
|
826
|
-
function getSlackErrorCode(error) {
|
|
827
|
-
if (!(0, utils_1.isRecord)(error))
|
|
828
|
-
return undefined;
|
|
829
|
-
const data = error.data;
|
|
830
|
-
if (!(0, utils_1.isRecord)(data))
|
|
831
|
-
return undefined;
|
|
832
|
-
return stringValue(data.error);
|
|
833
|
-
}
|
|
834
|
-
async function sleep(ms, signal) {
|
|
835
|
-
if (signal?.aborted)
|
|
836
|
-
return false;
|
|
837
|
-
return await new Promise((resolve) => {
|
|
838
|
-
const timeout = setTimeout(() => {
|
|
839
|
-
signal?.removeEventListener('abort', abort);
|
|
840
|
-
resolve(true);
|
|
841
|
-
}, ms);
|
|
842
|
-
const abort = () => {
|
|
843
|
-
clearTimeout(timeout);
|
|
844
|
-
signal?.removeEventListener('abort', abort);
|
|
845
|
-
resolve(false);
|
|
846
|
-
};
|
|
847
|
-
signal?.addEventListener('abort', abort, { once: true });
|
|
848
|
-
});
|
|
849
|
-
}
|
|
850
264
|
//# sourceMappingURL=agent-chat-bridge.js.map
|