n8n 2.27.4 → 2.28.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.
Files changed (638) hide show
  1. package/dist/active-workflow-manager.js +4 -1
  2. package/dist/active-workflow-manager.js.map +1 -1
  3. package/dist/agent-library-bundle.js +7 -3
  4. package/dist/build.tsbuildinfo +1 -1
  5. package/dist/commands/audit.js +6 -0
  6. package/dist/commands/audit.js.map +1 -1
  7. package/dist/commands/base-command.d.ts +1 -0
  8. package/dist/commands/base-command.js +36 -2
  9. package/dist/commands/base-command.js.map +1 -1
  10. package/dist/commands/start.js +18 -9
  11. package/dist/commands/start.js.map +1 -1
  12. package/dist/commands/worker.js +2 -0
  13. package/dist/commands/worker.js.map +1 -1
  14. package/dist/constants.d.ts +1 -0
  15. package/dist/constants.js +5 -1
  16. package/dist/constants.js.map +1 -1
  17. package/dist/controllers/api-keys.controller.d.ts +17 -0
  18. package/dist/controllers/api-keys.controller.js +19 -0
  19. package/dist/controllers/api-keys.controller.js.map +1 -1
  20. package/dist/controllers/e2e.controller.js +1 -0
  21. package/dist/controllers/e2e.controller.js.map +1 -1
  22. package/dist/controllers/telemetry.controller.d.ts +3 -1
  23. package/dist/controllers/telemetry.controller.js +17 -7
  24. package/dist/controllers/telemetry.controller.js.map +1 -1
  25. package/dist/controllers/users.controller.d.ts +1 -1
  26. package/dist/credentials/credentials.service.d.ts +5 -0
  27. package/dist/credentials/credentials.service.js +17 -3
  28. package/dist/credentials/credentials.service.js.map +1 -1
  29. package/dist/evaluation.ee/evaluation-config.controller.d.ts +7 -1
  30. package/dist/evaluation.ee/evaluation-config.controller.js +30 -1
  31. package/dist/evaluation.ee/evaluation-config.controller.js.map +1 -1
  32. package/dist/evaluation.ee/evaluation-dataset.service.d.ts +24 -0
  33. package/dist/evaluation.ee/evaluation-dataset.service.js +185 -0
  34. package/dist/evaluation.ee/evaluation-dataset.service.js.map +1 -0
  35. package/dist/evaluation.ee/test-runner/test-runner.service.ee.js +6 -6
  36. package/dist/evaluation.ee/test-runner/test-runner.service.ee.js.map +1 -1
  37. package/dist/evaluation.ee/test-runner/workflow-compiler.service.d.ts +2 -0
  38. package/dist/evaluation.ee/test-runner/workflow-compiler.service.js +27 -0
  39. package/dist/evaluation.ee/test-runner/workflow-compiler.service.js.map +1 -1
  40. package/dist/eventbus/event-message-classes/index.d.ts +2 -2
  41. package/dist/eventbus/event-message-classes/index.js +2 -0
  42. package/dist/eventbus/event-message-classes/index.js.map +1 -1
  43. package/dist/events/event.service.d.ts +2 -1
  44. package/dist/events/event.service.js.map +1 -1
  45. package/dist/events/maps/instance-ai.event-map.d.ts +15 -0
  46. package/dist/events/maps/instance-ai.event-map.js +3 -0
  47. package/dist/events/maps/instance-ai.event-map.js.map +1 -0
  48. package/dist/events/maps/relay.event-map.d.ts +8 -1
  49. package/dist/events/relays/log-streaming.event-relay.d.ts +2 -0
  50. package/dist/events/relays/log-streaming.event-relay.js +26 -0
  51. package/dist/events/relays/log-streaming.event-relay.js.map +1 -1
  52. package/dist/events/relays/telemetry.event-relay.d.ts +1 -0
  53. package/dist/events/relays/telemetry.event-relay.js +11 -0
  54. package/dist/events/relays/telemetry.event-relay.js.map +1 -1
  55. package/dist/execution-lifecycle/execution-lifecycle-hooks.js +1 -0
  56. package/dist/execution-lifecycle/execution-lifecycle-hooks.js.map +1 -1
  57. package/dist/execution-lifecycle/shared/shared-hook-functions.d.ts +2 -1
  58. package/dist/execution-lifecycle/shared/shared-hook-functions.js +8 -3
  59. package/dist/execution-lifecycle/shared/shared-hook-functions.js.map +1 -1
  60. package/dist/executions/execution-data/azure-store.ee.d.ts +15 -0
  61. package/dist/executions/execution-data/azure-store.ee.js +116 -0
  62. package/dist/executions/execution-data/azure-store.ee.js.map +1 -0
  63. package/dist/executions/execution-data/db-store.d.ts +7 -0
  64. package/dist/executions/execution-data/db-store.js +21 -0
  65. package/dist/executions/execution-data/db-store.js.map +1 -1
  66. package/dist/executions/execution-data/types.d.ts +3 -0
  67. package/dist/executions/execution-persistence.d.ts +17 -3
  68. package/dist/executions/execution-persistence.js +121 -18
  69. package/dist/executions/execution-persistence.js.map +1 -1
  70. package/dist/executions/execution.service.d.ts +3 -1
  71. package/dist/executions/execution.service.js +10 -4
  72. package/dist/executions/execution.service.js.map +1 -1
  73. package/dist/executions/sum-binary-data-bytes.d.ts +2 -0
  74. package/dist/executions/sum-binary-data-bytes.js +46 -0
  75. package/dist/executions/sum-binary-data-bytes.js.map +1 -0
  76. package/dist/interfaces.d.ts +22 -0
  77. package/dist/license/license.service.d.ts +3 -1
  78. package/dist/license/license.service.js +36 -51
  79. package/dist/license/license.service.js.map +1 -1
  80. package/dist/metrics/prometheus/execution-data-metrics.service.js +2 -1
  81. package/dist/metrics/prometheus/execution-data-metrics.service.js.map +1 -1
  82. package/dist/metrics/prometheus/instance-ai-metrics.service.d.ts +12 -0
  83. package/dist/metrics/prometheus/instance-ai-metrics.service.js +101 -0
  84. package/dist/metrics/prometheus/instance-ai-metrics.service.js.map +1 -0
  85. package/dist/metrics/prometheus/instance-role-metrics.service.js +2 -2
  86. package/dist/metrics/prometheus/instance-role-metrics.service.js.map +1 -1
  87. package/dist/metrics/prometheus/prometheus.service.d.ts +4 -1
  88. package/dist/metrics/prometheus/prometheus.service.js +11 -2
  89. package/dist/metrics/prometheus/prometheus.service.js.map +1 -1
  90. package/dist/metrics/prometheus/webhook-and-form-metrics.service.d.ts +23 -0
  91. package/dist/metrics/prometheus/webhook-and-form-metrics.service.js +72 -0
  92. package/dist/metrics/prometheus/webhook-and-form-metrics.service.js.map +1 -0
  93. package/dist/metrics/prometheus/workflow-info-metrics.service.d.ts +12 -0
  94. package/dist/metrics/prometheus/workflow-info-metrics.service.js +66 -0
  95. package/dist/metrics/prometheus/workflow-info-metrics.service.js.map +1 -0
  96. package/dist/middlewares/list-query/dtos/workflow.filter.dto.d.ts +2 -0
  97. package/dist/middlewares/list-query/dtos/workflow.filter.dto.js +12 -0
  98. package/dist/middlewares/list-query/dtos/workflow.filter.dto.js.map +1 -1
  99. package/dist/modules/agents/agent-execution.service.d.ts +8 -1
  100. package/dist/modules/agents/agent-execution.service.js +26 -2
  101. package/dist/modules/agents/agent-execution.service.js.map +1 -1
  102. package/dist/modules/agents/agent-knowledge-commands.d.ts +27 -0
  103. package/dist/modules/agents/agent-knowledge-commands.js +415 -0
  104. package/dist/modules/agents/agent-knowledge-commands.js.map +1 -0
  105. package/dist/modules/agents/agent-knowledge-gate.d.ts +2 -0
  106. package/dist/modules/agents/agent-knowledge-gate.js +9 -0
  107. package/dist/modules/agents/agent-knowledge-gate.js.map +1 -0
  108. package/dist/modules/agents/agent-knowledge-retrieval.d.ts +184 -0
  109. package/dist/modules/agents/agent-knowledge-retrieval.js +172 -0
  110. package/dist/modules/agents/agent-knowledge-retrieval.js.map +1 -0
  111. package/dist/modules/agents/agent-knowledge-sandbox.service.d.ts +40 -0
  112. package/dist/modules/agents/agent-knowledge-sandbox.service.js +591 -0
  113. package/dist/modules/agents/agent-knowledge-sandbox.service.js.map +1 -0
  114. package/dist/modules/agents/agent-knowledge-storage.d.ts +21 -0
  115. package/dist/modules/agents/agent-knowledge-storage.js +89 -0
  116. package/dist/modules/agents/agent-knowledge-storage.js.map +1 -0
  117. package/dist/modules/agents/agent-knowledge.service.d.ts +25 -5
  118. package/dist/modules/agents/agent-knowledge.service.js +230 -7
  119. package/dist/modules/agents/agent-knowledge.service.js.map +1 -1
  120. package/dist/modules/agents/agent-runtime-reconstruction.service.d.ts +6 -2
  121. package/dist/modules/agents/agent-runtime-reconstruction.service.js +43 -10
  122. package/dist/modules/agents/agent-runtime-reconstruction.service.js.map +1 -1
  123. package/dist/modules/agents/agent-sandbox.controller.d.ts +18 -0
  124. package/dist/modules/agents/agent-sandbox.controller.js +71 -0
  125. package/dist/modules/agents/agent-sandbox.controller.js.map +1 -0
  126. package/dist/modules/agents/agent-telemetry.d.ts +5 -0
  127. package/dist/modules/agents/agent-telemetry.js +60 -0
  128. package/dist/modules/agents/agent-telemetry.js.map +1 -0
  129. package/dist/modules/agents/agents.controller.d.ts +4 -4
  130. package/dist/modules/agents/agents.controller.js +24 -23
  131. package/dist/modules/agents/agents.controller.js.map +1 -1
  132. package/dist/modules/agents/agents.module.d.ts +1 -1
  133. package/dist/modules/agents/agents.module.js +7 -1
  134. package/dist/modules/agents/agents.module.js.map +1 -1
  135. package/dist/modules/agents/agents.service.d.ts +5 -2
  136. package/dist/modules/agents/agents.service.js +68 -15
  137. package/dist/modules/agents/agents.service.js.map +1 -1
  138. package/dist/modules/agents/builder/agents-builder-prompts.d.ts +1 -1
  139. package/dist/modules/agents/builder/agents-builder-prompts.js +7 -0
  140. package/dist/modules/agents/builder/agents-builder-prompts.js.map +1 -1
  141. package/dist/modules/agents/builder/agents-builder-settings.service.d.ts +12 -6
  142. package/dist/modules/agents/builder/agents-builder-settings.service.js +29 -12
  143. package/dist/modules/agents/builder/agents-builder-settings.service.js.map +1 -1
  144. package/dist/modules/agents/builder/agents-builder-tools.service.d.ts +7 -1
  145. package/dist/modules/agents/builder/agents-builder-tools.service.js +105 -6
  146. package/dist/modules/agents/builder/agents-builder-tools.service.js.map +1 -1
  147. package/dist/modules/agents/builder/agents-builder.service.d.ts +7 -0
  148. package/dist/modules/agents/builder/agents-builder.service.js +24 -6
  149. package/dist/modules/agents/builder/agents-builder.service.js.map +1 -1
  150. package/dist/modules/agents/builder/builder-tool-names.d.ts +1 -0
  151. package/dist/modules/agents/builder/builder-tool-names.js +1 -0
  152. package/dist/modules/agents/builder/builder-tool-names.js.map +1 -1
  153. package/dist/modules/agents/builder/from-ai-node-parameters.d.ts +7 -0
  154. package/dist/modules/agents/builder/from-ai-node-parameters.js +43 -0
  155. package/dist/modules/agents/builder/from-ai-node-parameters.js.map +1 -0
  156. package/dist/modules/agents/builder/get-resource-locator-options.tool.d.ts +10 -0
  157. package/dist/modules/agents/builder/get-resource-locator-options.tool.js +148 -0
  158. package/dist/modules/agents/builder/get-resource-locator-options.tool.js.map +1 -0
  159. package/dist/modules/agents/builder/prompts/tools.prompt.d.ts +1 -1
  160. package/dist/modules/agents/builder/prompts/tools.prompt.js +11 -0
  161. package/dist/modules/agents/builder/prompts/tools.prompt.js.map +1 -1
  162. package/dist/modules/agents/builder/skills/index.js +2 -0
  163. package/dist/modules/agents/builder/skills/index.js.map +1 -1
  164. package/dist/modules/agents/builder/skills/resource-locators.skill.d.ts +2 -0
  165. package/dist/modules/agents/builder/skills/resource-locators.skill.js +107 -0
  166. package/dist/modules/agents/builder/skills/resource-locators.skill.js.map +1 -0
  167. package/dist/modules/agents/entities/agent-file.entity.d.ts +11 -0
  168. package/dist/modules/agents/entities/agent-file.entity.js +50 -0
  169. package/dist/modules/agents/entities/agent-file.entity.js.map +1 -0
  170. package/dist/modules/agents/execution-recorder.js +4 -7
  171. package/dist/modules/agents/execution-recorder.js.map +1 -1
  172. package/dist/modules/agents/integrations/agent-chat-bridge.d.ts +1 -1
  173. package/dist/modules/agents/integrations/agent-chat-bridge.js +7 -9
  174. package/dist/modules/agents/integrations/agent-chat-bridge.js.map +1 -1
  175. package/dist/modules/agents/integrations/agent-chat-integration.d.ts +7 -3
  176. package/dist/modules/agents/integrations/agent-chat-integration.js +5 -0
  177. package/dist/modules/agents/integrations/agent-chat-integration.js.map +1 -1
  178. package/dist/modules/agents/integrations/integration-action-executor.d.ts +704 -0
  179. package/dist/modules/agents/integrations/integration-action-executor.js +36 -22
  180. package/dist/modules/agents/integrations/integration-action-executor.js.map +1 -1
  181. package/dist/modules/agents/integrations/integration-context-query-executor.js +23 -4
  182. package/dist/modules/agents/integrations/integration-context-query-executor.js.map +1 -1
  183. package/dist/modules/agents/integrations/integration-helpers.d.ts +12 -1
  184. package/dist/modules/agents/integrations/integration-helpers.js +17 -8
  185. package/dist/modules/agents/integrations/integration-helpers.js.map +1 -1
  186. package/dist/modules/agents/integrations/integration-message-context.service.js +2 -4
  187. package/dist/modules/agents/integrations/integration-message-context.service.js.map +1 -1
  188. package/dist/modules/agents/integrations/integration-tools.d.ts +11 -3
  189. package/dist/modules/agents/integrations/integration-tools.js +19 -118
  190. package/dist/modules/agents/integrations/integration-tools.js.map +1 -1
  191. package/dist/modules/agents/integrations/platforms/linear-integration.d.ts +3 -1
  192. package/dist/modules/agents/integrations/platforms/linear-integration.js +22 -6
  193. package/dist/modules/agents/integrations/platforms/linear-integration.js.map +1 -1
  194. package/dist/modules/agents/integrations/platforms/linear-operations.js +19 -29
  195. package/dist/modules/agents/integrations/platforms/linear-operations.js.map +1 -1
  196. package/dist/modules/agents/integrations/platforms/n8n-chat-integration.d.ts +20 -0
  197. package/dist/modules/agents/integrations/platforms/n8n-chat-integration.js +99 -0
  198. package/dist/modules/agents/integrations/platforms/n8n-chat-integration.js.map +1 -0
  199. package/dist/modules/agents/integrations/platforms/slack-integration.d.ts +2 -1
  200. package/dist/modules/agents/integrations/platforms/slack-integration.js +5 -0
  201. package/dist/modules/agents/integrations/platforms/slack-integration.js.map +1 -1
  202. package/dist/modules/agents/integrations/platforms/slack-operations.js +3 -2
  203. package/dist/modules/agents/integrations/platforms/slack-operations.js.map +1 -1
  204. package/dist/modules/agents/integrations/platforms/telegram-integration.d.ts +11 -2
  205. package/dist/modules/agents/integrations/platforms/telegram-integration.js +43 -14
  206. package/dist/modules/agents/integrations/platforms/telegram-integration.js.map +1 -1
  207. package/dist/modules/agents/integrations/slack-app-setup.service.d.ts +3 -1
  208. package/dist/modules/agents/integrations/slack-app-setup.service.js +19 -11
  209. package/dist/modules/agents/integrations/slack-app-setup.service.js.map +1 -1
  210. package/dist/modules/agents/json-config/from-json-config.d.ts +2 -1
  211. package/dist/modules/agents/json-config/from-json-config.js +11 -1
  212. package/dist/modules/agents/json-config/from-json-config.js.map +1 -1
  213. package/dist/modules/agents/repositories/agent-file.repository.d.ts +8 -0
  214. package/dist/modules/agents/repositories/agent-file.repository.js +38 -0
  215. package/dist/modules/agents/repositories/agent-file.repository.js.map +1 -0
  216. package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.js +5 -0
  217. package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.js.map +1 -1
  218. package/dist/modules/agents/tools/knowledge/search-knowledge.tool.d.ts +90 -0
  219. package/dist/modules/agents/tools/knowledge/search-knowledge.tool.js +209 -0
  220. package/dist/modules/agents/tools/knowledge/search-knowledge.tool.js.map +1 -0
  221. package/dist/modules/agents/tools/workflow-tool-factory.js +6 -8
  222. package/dist/modules/agents/tools/workflow-tool-factory.js.map +1 -1
  223. package/dist/modules/agents/tracing/builder-telemetry.d.ts +6 -1
  224. package/dist/modules/agents/tracing/builder-telemetry.js +26 -5
  225. package/dist/modules/agents/tracing/builder-telemetry.js.map +1 -1
  226. package/dist/modules/agents/utils/agent-memory-scope.d.ts +1 -0
  227. package/dist/modules/agents/utils/agent-memory-scope.js +6 -1
  228. package/dist/modules/agents/utils/agent-memory-scope.js.map +1 -1
  229. package/dist/modules/agents/utils/execution-to-message-mapper.js +54 -5
  230. package/dist/modules/agents/utils/execution-to-message-mapper.js.map +1 -1
  231. package/dist/modules/agents/utils/messages-envelope.d.ts +7 -0
  232. package/dist/modules/agents/utils/messages-envelope.js +97 -0
  233. package/dist/modules/agents/utils/messages-envelope.js.map +1 -0
  234. package/dist/modules/community-packages/community-packages.service.d.ts +3 -1
  235. package/dist/modules/community-packages/community-packages.service.js +17 -9
  236. package/dist/modules/community-packages/community-packages.service.js.map +1 -1
  237. package/dist/modules/community-packages/npm-utils.js +13 -6
  238. package/dist/modules/community-packages/npm-utils.js.map +1 -1
  239. package/dist/modules/data-table/multer-upload-middleware.d.ts +8 -1
  240. package/dist/modules/data-table/multer-upload-middleware.js +79 -30
  241. package/dist/modules/data-table/multer-upload-middleware.js.map +1 -1
  242. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/index.d.ts +2 -0
  243. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/index.js +19 -0
  244. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/index.js.map +1 -0
  245. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/metadata.d.ts +20 -0
  246. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/metadata.js +12 -0
  247. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/metadata.js.map +1 -0
  248. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-extractor.d.ts +12 -0
  249. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-extractor.js +85 -0
  250. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-extractor.js.map +1 -0
  251. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-seeder.d.ts +10 -0
  252. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-seeder.js +78 -0
  253. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-seeder.js.map +1 -0
  254. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/n8n-identifier.d.ts +3 -1
  255. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/n8n-identifier.js +17 -2
  256. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/n8n-identifier.js.map +1 -1
  257. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-introspection-identifier.d.ts +4 -2
  258. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-introspection-identifier.js +20 -40
  259. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-introspection-identifier.js.map +1 -1
  260. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-metadata-http-client.d.ts +21 -0
  261. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-metadata-http-client.js +77 -0
  262. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-metadata-http-client.js.map +1 -0
  263. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-userinfo-identifier.d.ts +3 -1
  264. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-userinfo-identifier.js +18 -39
  265. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-userinfo-identifier.js.map +1 -1
  266. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.d.ts +4 -2
  267. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.js +46 -2
  268. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.js.map +1 -1
  269. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.module.js +3 -0
  270. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.module.js.map +1 -1
  271. package/dist/modules/dynamic-credentials.ee/services/authorize-intent.service.d.ts +14 -0
  272. package/dist/modules/dynamic-credentials.ee/services/authorize-intent.service.js +39 -0
  273. package/dist/modules/dynamic-credentials.ee/services/authorize-intent.service.js.map +1 -0
  274. package/dist/modules/dynamic-credentials.ee/services/credential-check-proxy.service.d.ts +7 -3
  275. package/dist/modules/dynamic-credentials.ee/services/credential-check-proxy.service.js +23 -21
  276. package/dist/modules/dynamic-credentials.ee/services/credential-check-proxy.service.js.map +1 -1
  277. package/dist/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.d.ts +4 -0
  278. package/dist/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.js +111 -63
  279. package/dist/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.js.map +1 -1
  280. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-storage.service.js +0 -1
  281. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-storage.service.js.map +1 -1
  282. package/dist/modules/dynamic-credentials.ee/services/index.d.ts +1 -0
  283. package/dist/modules/dynamic-credentials.ee/services/index.js +1 -0
  284. package/dist/modules/dynamic-credentials.ee/services/index.js.map +1 -1
  285. package/dist/modules/external-secrets.ee/providers/aws-secrets-manager.d.ts +3 -1
  286. package/dist/modules/external-secrets.ee/providers/aws-secrets-manager.js +4 -1
  287. package/dist/modules/external-secrets.ee/providers/aws-secrets-manager.js.map +1 -1
  288. package/dist/modules/external-secrets.ee/providers/azure-key-vault/azure-key-vault.js.map +1 -1
  289. package/dist/modules/external-secrets.ee/providers/gcp-secrets-manager/gcp-secrets-manager.js.map +1 -1
  290. package/dist/modules/external-secrets.ee/providers/infisical.d.ts +4 -1
  291. package/dist/modules/external-secrets.ee/providers/infisical.js +45 -30
  292. package/dist/modules/external-secrets.ee/providers/infisical.js.map +1 -1
  293. package/dist/modules/external-secrets.ee/providers/one-password.js.map +1 -1
  294. package/dist/modules/external-secrets.ee/providers/vault.d.ts +5 -1
  295. package/dist/modules/external-secrets.ee/providers/vault.js +66 -61
  296. package/dist/modules/external-secrets.ee/providers/vault.js.map +1 -1
  297. package/dist/modules/insights/database/repositories/insights-by-period.repository.d.ts +2 -2
  298. package/dist/modules/insights/insights.service.d.ts +2 -2
  299. package/dist/modules/instance-ai/entities/index.d.ts +1 -0
  300. package/dist/modules/instance-ai/entities/index.js +3 -1
  301. package/dist/modules/instance-ai/entities/index.js.map +1 -1
  302. package/dist/modules/instance-ai/entities/instance-ai-thread-grant.entity.d.ts +9 -0
  303. package/dist/modules/instance-ai/entities/instance-ai-thread-grant.entity.js +45 -0
  304. package/dist/modules/instance-ai/entities/instance-ai-thread-grant.entity.js.map +1 -0
  305. package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.d.ts +3 -3
  306. package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.js +2 -2
  307. package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.js.map +1 -1
  308. package/dist/modules/instance-ai/eval/llm-wire-server.d.ts +2 -2
  309. package/dist/modules/instance-ai/eval/llm-wire-server.js +5 -5
  310. package/dist/modules/instance-ai/eval/llm-wire-server.js.map +1 -1
  311. package/dist/modules/instance-ai/eval/thread-credential-allowlist.service.d.ts +6 -0
  312. package/dist/modules/instance-ai/eval/thread-credential-allowlist.service.js +29 -0
  313. package/dist/modules/instance-ai/eval/thread-credential-allowlist.service.js.map +1 -0
  314. package/dist/modules/instance-ai/instance-ai-credit.service.d.ts +26 -0
  315. package/dist/modules/instance-ai/instance-ai-credit.service.js +210 -0
  316. package/dist/modules/instance-ai/instance-ai-credit.service.js.map +1 -0
  317. package/dist/modules/instance-ai/instance-ai-model.service.d.ts +20 -0
  318. package/dist/modules/instance-ai/instance-ai-model.service.js +135 -0
  319. package/dist/modules/instance-ai/instance-ai-model.service.js.map +1 -0
  320. package/dist/modules/instance-ai/instance-ai-run-probe.d.ts +5 -0
  321. package/dist/modules/instance-ai/instance-ai-run-probe.js +26 -0
  322. package/dist/modules/instance-ai/instance-ai-run-probe.js.map +1 -0
  323. package/dist/modules/instance-ai/instance-ai-settings.service.d.ts +2 -0
  324. package/dist/modules/instance-ai/instance-ai-settings.service.js +12 -1
  325. package/dist/modules/instance-ai/instance-ai-settings.service.js.map +1 -1
  326. package/dist/modules/instance-ai/instance-ai-temporary-workflow.service.d.ts +15 -0
  327. package/dist/modules/instance-ai/instance-ai-temporary-workflow.service.js +140 -0
  328. package/dist/modules/instance-ai/instance-ai-temporary-workflow.service.js.map +1 -0
  329. package/dist/modules/instance-ai/instance-ai.adapter.service.d.ts +4 -2
  330. package/dist/modules/instance-ai/instance-ai.adapter.service.js +70 -28
  331. package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -1
  332. package/dist/modules/instance-ai/instance-ai.controller.d.ts +20 -2
  333. package/dist/modules/instance-ai/instance-ai.controller.js +62 -4
  334. package/dist/modules/instance-ai/instance-ai.controller.js.map +1 -1
  335. package/dist/modules/instance-ai/instance-ai.module.d.ts +2 -1
  336. package/dist/modules/instance-ai/instance-ai.module.js +3 -0
  337. package/dist/modules/instance-ai/instance-ai.module.js.map +1 -1
  338. package/dist/modules/instance-ai/instance-ai.service.d.ts +42 -22
  339. package/dist/modules/instance-ai/instance-ai.service.js +411 -380
  340. package/dist/modules/instance-ai/instance-ai.service.js.map +1 -1
  341. package/dist/modules/instance-ai/internal-messages.d.ts +4 -0
  342. package/dist/modules/instance-ai/internal-messages.js +24 -3
  343. package/dist/modules/instance-ai/internal-messages.js.map +1 -1
  344. package/dist/modules/instance-ai/mcp/instance-ai-mcp-connection.controller.d.ts +1 -1
  345. package/dist/modules/instance-ai/mcp/instance-ai-mcp-connection.controller.js +2 -6
  346. package/dist/modules/instance-ai/mcp/instance-ai-mcp-connection.controller.js.map +1 -1
  347. package/dist/modules/instance-ai/mcp/instance-ai-mcp-registry.service.d.ts +3 -0
  348. package/dist/modules/instance-ai/mcp/instance-ai-mcp-registry.service.js +44 -0
  349. package/dist/modules/instance-ai/mcp/instance-ai-mcp-registry.service.js.map +1 -1
  350. package/dist/modules/instance-ai/message-parser.js +2 -0
  351. package/dist/modules/instance-ai/message-parser.js.map +1 -1
  352. package/dist/modules/instance-ai/observability.d.ts +13 -0
  353. package/dist/modules/instance-ai/observability.js +23 -0
  354. package/dist/modules/instance-ai/observability.js.map +1 -0
  355. package/dist/modules/instance-ai/repositories/index.d.ts +1 -0
  356. package/dist/modules/instance-ai/repositories/index.js +3 -1
  357. package/dist/modules/instance-ai/repositories/index.js.map +1 -1
  358. package/dist/modules/instance-ai/repositories/instance-ai-thread-grant.repository.d.ts +7 -0
  359. package/dist/modules/instance-ai/repositories/instance-ai-thread-grant.repository.js +40 -0
  360. package/dist/modules/instance-ai/repositories/instance-ai-thread-grant.repository.js.map +1 -0
  361. package/dist/modules/instance-ai/sandbox/instance-ai-sandbox.service.js +2 -1
  362. package/dist/modules/instance-ai/sandbox/instance-ai-sandbox.service.js.map +1 -1
  363. package/dist/modules/instance-ai/storage/typeorm-agent-memory.js +4 -6
  364. package/dist/modules/instance-ai/storage/typeorm-agent-memory.js.map +1 -1
  365. package/dist/modules/instance-ai/trigger-run-data.d.ts +8 -0
  366. package/dist/modules/instance-ai/trigger-run-data.js +28 -0
  367. package/dist/modules/instance-ai/trigger-run-data.js.map +1 -0
  368. package/dist/modules/instance-ai/web-research/fetch-and-extract.d.ts +2 -3
  369. package/dist/modules/instance-ai/web-research/fetch-and-extract.js +34 -44
  370. package/dist/modules/instance-ai/web-research/fetch-and-extract.js.map +1 -1
  371. package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-from-db.d.ts +2 -1
  372. package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-from-db.js +2 -2
  373. package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-from-db.js.map +1 -1
  374. package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-webhook.ee.d.ts +8 -8
  375. package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-webhook.ee.js +43 -60
  376. package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-webhook.ee.js.map +1 -1
  377. package/dist/modules/log-streaming.ee/log-streaming-destination.service.d.ts +3 -1
  378. package/dist/modules/log-streaming.ee/log-streaming-destination.service.js +6 -3
  379. package/dist/modules/log-streaming.ee/log-streaming-destination.service.js.map +1 -1
  380. package/dist/modules/log-streaming.ee/log-streaming.controller.d.ts +3 -1
  381. package/dist/modules/log-streaming.ee/log-streaming.controller.js +6 -3
  382. package/dist/modules/log-streaming.ee/log-streaming.controller.js.map +1 -1
  383. package/dist/modules/mcp/dto/update-allowed-redirect-uris.dto.d.ts +9 -0
  384. package/dist/modules/mcp/dto/update-allowed-redirect-uris.dto.js +35 -0
  385. package/dist/modules/mcp/dto/update-allowed-redirect-uris.dto.js.map +1 -0
  386. package/dist/modules/mcp/mcp-protected-resource.d.ts +4 -1
  387. package/dist/modules/mcp/mcp-protected-resource.js +9 -3
  388. package/dist/modules/mcp/mcp-protected-resource.js.map +1 -1
  389. package/dist/modules/mcp/mcp.service.d.ts +5 -2
  390. package/dist/modules/mcp/mcp.service.js +8 -3
  391. package/dist/modules/mcp/mcp.service.js.map +1 -1
  392. package/dist/modules/mcp/mcp.settings.controller.d.ts +7 -0
  393. package/dist/modules/mcp/mcp.settings.controller.js +24 -0
  394. package/dist/modules/mcp/mcp.settings.controller.js.map +1 -1
  395. package/dist/modules/mcp/mcp.settings.service.d.ts +2 -0
  396. package/dist/modules/mcp/mcp.settings.service.js +15 -0
  397. package/dist/modules/mcp/mcp.settings.service.js.map +1 -1
  398. package/dist/modules/mcp/mcp.typeguards.d.ts +0 -1
  399. package/dist/modules/mcp/mcp.typeguards.js +9 -12
  400. package/dist/modules/mcp/mcp.typeguards.js.map +1 -1
  401. package/dist/modules/mcp/mcp.utils.js +2 -1
  402. package/dist/modules/mcp/mcp.utils.js.map +1 -1
  403. package/dist/modules/mcp/tools/execute-workflow.tool.d.ts +10 -8
  404. package/dist/modules/mcp/tools/execute-workflow.tool.js +25 -13
  405. package/dist/modules/mcp/tools/execute-workflow.tool.js.map +1 -1
  406. package/dist/modules/mcp/tools/get-workflow-details.tool.js +2 -0
  407. package/dist/modules/mcp/tools/get-workflow-details.tool.js.map +1 -1
  408. package/dist/modules/mcp/tools/schemas.d.ts +128 -0
  409. package/dist/modules/mcp/tools/schemas.js +9 -0
  410. package/dist/modules/mcp/tools/schemas.js.map +1 -1
  411. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js +15 -4
  412. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js.map +1 -1
  413. package/dist/modules/mcp/tools/workflow-builder/credential-validation.d.ts +13 -2
  414. package/dist/modules/mcp/tools/workflow-builder/credential-validation.js +144 -23
  415. package/dist/modules/mcp/tools/workflow-builder/credential-validation.js.map +1 -1
  416. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js +23 -6
  417. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js.map +1 -1
  418. package/dist/modules/mcp/tools/workflow-builder/workflow-operations.d.ts +31 -1
  419. package/dist/modules/mcp/tools/workflow-builder/workflow-operations.js +22 -0
  420. package/dist/modules/mcp/tools/workflow-builder/workflow-operations.js.map +1 -1
  421. package/dist/modules/n8n-packages/engine/import-pipeline.js +40 -19
  422. package/dist/modules/n8n-packages/engine/import-pipeline.js.map +1 -1
  423. package/dist/modules/n8n-packages/entities/credential/credential-importer.d.ts +8 -4
  424. package/dist/modules/n8n-packages/entities/credential/credential-importer.js +40 -6
  425. package/dist/modules/n8n-packages/entities/credential/credential-importer.js.map +1 -1
  426. package/dist/modules/n8n-packages/entities/credential/credential-matcher.d.ts +7 -3
  427. package/dist/modules/n8n-packages/entities/credential/credential-matcher.js +30 -5
  428. package/dist/modules/n8n-packages/entities/credential/credential-matcher.js.map +1 -1
  429. package/dist/modules/n8n-packages/entities/credential/credential-missing-mode.d.ts +3 -0
  430. package/dist/modules/n8n-packages/entities/credential/credential-missing-mode.js +17 -0
  431. package/dist/modules/n8n-packages/entities/credential/credential-missing-mode.js.map +1 -1
  432. package/dist/modules/n8n-packages/entities/credential/credential.types.d.ts +10 -4
  433. package/dist/modules/n8n-packages/entities/credential/credential.types.js +2 -0
  434. package/dist/modules/n8n-packages/entities/credential/credential.types.js.map +1 -1
  435. package/dist/modules/n8n-packages/entities/credential/id-based-credential-matcher.d.ts +3 -4
  436. package/dist/modules/n8n-packages/entities/credential/id-based-credential-matcher.js +10 -11
  437. package/dist/modules/n8n-packages/entities/credential/id-based-credential-matcher.js.map +1 -1
  438. package/dist/modules/n8n-packages/entities/workflow/workflow-import.types.d.ts +6 -6
  439. package/dist/modules/n8n-packages/entities/workflow/workflow-importer.d.ts +3 -3
  440. package/dist/modules/n8n-packages/entities/workflow/workflow-importer.js +12 -10
  441. package/dist/modules/n8n-packages/entities/workflow/workflow-importer.js.map +1 -1
  442. package/dist/modules/n8n-packages/entities/workflow/workflow-publisher.d.ts +6 -2
  443. package/dist/modules/n8n-packages/entities/workflow/workflow-publisher.js +33 -11
  444. package/dist/modules/n8n-packages/entities/workflow/workflow-publisher.js.map +1 -1
  445. package/dist/modules/n8n-packages/entities/workflow/workflow-publishing-policy.types.d.ts +8 -0
  446. package/dist/modules/n8n-packages/n8n-packages.types.d.ts +23 -3
  447. package/dist/modules/n8n-packages/n8n-packages.types.js.map +1 -1
  448. package/dist/modules/oauth-jwe/oauth-jwe.schemas.d.ts +12 -12
  449. package/dist/modules/oauth-server/oauth-consent.controller.js +1 -0
  450. package/dist/modules/oauth-server/oauth-consent.controller.js.map +1 -1
  451. package/dist/modules/oauth-server/oauth-consent.service.d.ts +1 -0
  452. package/dist/modules/oauth-server/oauth-consent.service.js +2 -0
  453. package/dist/modules/oauth-server/oauth-consent.service.js.map +1 -1
  454. package/dist/modules/oauth-server/oauth-server.module.js +1 -1
  455. package/dist/modules/oauth-server/oauth-server.module.js.map +1 -1
  456. package/dist/modules/oauth-server/oauth-server.service.d.ts +2 -0
  457. package/dist/modules/oauth-server/oauth-server.service.js +48 -1
  458. package/dist/modules/oauth-server/oauth-server.service.js.map +1 -1
  459. package/dist/modules/oauth-server/oauth.controller.js +4 -1
  460. package/dist/modules/oauth-server/oauth.controller.js.map +1 -1
  461. package/dist/modules/otel/otel.service.d.ts +3 -1
  462. package/dist/modules/otel/otel.service.js +6 -3
  463. package/dist/modules/otel/otel.service.js.map +1 -1
  464. package/dist/modules/quick-connect/handlers/firecrawl.handler.d.ts +3 -0
  465. package/dist/modules/quick-connect/handlers/firecrawl.handler.js +20 -7
  466. package/dist/modules/quick-connect/handlers/firecrawl.handler.js.map +1 -1
  467. package/dist/modules/quick-connect/quick-connect.config.d.ts +17 -17
  468. package/dist/modules/quick-connect/quick-connect.module.d.ts +3 -3
  469. package/dist/modules/source-control.ee/source-control-import.service.ee.js +1 -1
  470. package/dist/modules/source-control.ee/source-control-import.service.ee.js.map +1 -1
  471. package/dist/modules/source-control.ee/source-control.controller.ee.d.ts +4 -4
  472. package/dist/modules/source-control.ee/source-control.service.ee.d.ts +2 -2
  473. package/dist/modules/sso-oidc/oidc.service.ee.d.ts +3 -1
  474. package/dist/modules/sso-oidc/oidc.service.ee.js +15 -25
  475. package/dist/modules/sso-oidc/oidc.service.ee.js.map +1 -1
  476. package/dist/modules/sso-saml/saml.service.ee.d.ts +3 -1
  477. package/dist/modules/sso-saml/saml.service.ee.js +15 -15
  478. package/dist/modules/sso-saml/saml.service.ee.js.map +1 -1
  479. package/dist/modules/token-exchange/services/jwks-resolver.d.ts +3 -1
  480. package/dist/modules/token-exchange/services/jwks-resolver.js +11 -3
  481. package/dist/modules/token-exchange/services/jwks-resolver.js.map +1 -1
  482. package/dist/oauth/oauth.service.d.ts +8 -3
  483. package/dist/oauth/oauth.service.js +106 -47
  484. package/dist/oauth/oauth.service.js.map +1 -1
  485. package/dist/oauth/types.d.ts +1 -1
  486. package/dist/oauth/types.js.map +1 -1
  487. package/dist/posthog/index.js +4 -3
  488. package/dist/posthog/index.js.map +1 -1
  489. package/dist/public-api/index.js +46 -3
  490. package/dist/public-api/index.js.map +1 -1
  491. package/dist/public-api/swagger-theme.css +14 -0
  492. package/dist/public-api/types.d.ts +2 -0
  493. package/dist/public-api/v1/handlers/credentials/credentials.handler.js +1 -1
  494. package/dist/public-api/v1/handlers/credentials/credentials.handler.js.map +1 -1
  495. package/dist/public-api/v1/handlers/data-tables/data-tables.handler.js +4 -3
  496. package/dist/public-api/v1/handlers/data-tables/data-tables.handler.js.map +1 -1
  497. package/dist/public-api/v1/handlers/discover/discover.service.js +9 -11
  498. package/dist/public-api/v1/handlers/discover/discover.service.js.map +1 -1
  499. package/dist/public-api/v1/handlers/executions/executions.handler.js +8 -4
  500. package/dist/public-api/v1/handlers/executions/executions.handler.js.map +1 -1
  501. package/dist/public-api/v1/handlers/workflows/workflows.handler.js +3 -1
  502. package/dist/public-api/v1/handlers/workflows/workflows.handler.js.map +1 -1
  503. package/dist/public-api/v1/handlers/workflows/workflows.service.d.ts +1 -2
  504. package/dist/public-api/v1/handlers/workflows/workflows.service.js +3 -2
  505. package/dist/public-api/v1/handlers/workflows/workflows.service.js.map +1 -1
  506. package/dist/public-api/v1/openapi.yml +124 -2
  507. package/dist/response-helper.d.ts +2 -1
  508. package/dist/response-helper.js +2 -17
  509. package/dist/response-helper.js.map +1 -1
  510. package/dist/scaling/constants.d.ts +2 -2
  511. package/dist/scaling/constants.js +3 -0
  512. package/dist/scaling/constants.js.map +1 -1
  513. package/dist/scaling/execution-stop.service.d.ts +15 -0
  514. package/dist/scaling/execution-stop.service.js +59 -0
  515. package/dist/scaling/execution-stop.service.js.map +1 -0
  516. package/dist/scaling/job-processor.js +8 -2
  517. package/dist/scaling/job-processor.js.map +1 -1
  518. package/dist/scaling/multi-main-setup.ee.d.ts +1 -0
  519. package/dist/scaling/multi-main-setup.ee.js +6 -6
  520. package/dist/scaling/multi-main-setup.ee.js.map +1 -1
  521. package/dist/scaling/pubsub/pubsub.event-map.d.ts +4 -0
  522. package/dist/scaling/pubsub/pubsub.types.d.ts +3 -1
  523. package/dist/security-audit/risk-reporters/instance-risk-reporter.d.ts +3 -1
  524. package/dist/security-audit/risk-reporters/instance-risk-reporter.js +27 -20
  525. package/dist/security-audit/risk-reporters/instance-risk-reporter.js.map +1 -1
  526. package/dist/services/ai-gateway.service.d.ts +5 -1
  527. package/dist/services/ai-gateway.service.js +53 -32
  528. package/dist/services/ai-gateway.service.js.map +1 -1
  529. package/dist/services/ai-workflow-builder.service.d.ts +4 -3
  530. package/dist/services/ai-workflow-builder.service.js +9 -5
  531. package/dist/services/ai-workflow-builder.service.js.map +1 -1
  532. package/dist/services/credentials-tester.service.js +16 -15
  533. package/dist/services/credentials-tester.service.js.map +1 -1
  534. package/dist/services/dynamic-templates.service.d.ts +3 -1
  535. package/dist/services/dynamic-templates.service.js +13 -9
  536. package/dist/services/dynamic-templates.service.js.map +1 -1
  537. package/dist/services/frontend.service.d.ts +6 -1
  538. package/dist/services/frontend.service.js +39 -2
  539. package/dist/services/frontend.service.js.map +1 -1
  540. package/dist/services/node-resource-explorer.service.js +4 -22
  541. package/dist/services/node-resource-explorer.service.js.map +1 -1
  542. package/dist/services/project.service.ee.d.ts +3 -2
  543. package/dist/services/project.service.ee.js +14 -3
  544. package/dist/services/project.service.ee.js.map +1 -1
  545. package/dist/services/protected-resource.registry.d.ts +1 -0
  546. package/dist/services/protected-resource.registry.js.map +1 -1
  547. package/dist/services/public-api-key.service.d.ts +6 -2
  548. package/dist/services/public-api-key.service.js +56 -10
  549. package/dist/services/public-api-key.service.js.map +1 -1
  550. package/dist/services/role.service.d.ts +2 -2
  551. package/dist/services/role.service.js.map +1 -1
  552. package/dist/services/trigger-auth-identity-seeder-proxy.service.d.ts +10 -0
  553. package/dist/services/trigger-auth-identity-seeder-proxy.service.js +33 -0
  554. package/dist/services/trigger-auth-identity-seeder-proxy.service.js.map +1 -0
  555. package/dist/services/workflow-statistics.service.d.ts +3 -13
  556. package/dist/services/workflow-statistics.service.js +77 -64
  557. package/dist/services/workflow-statistics.service.js.map +1 -1
  558. package/dist/task-runners/task-broker/task-broker-server.js +2 -1
  559. package/dist/task-runners/task-broker/task-broker-server.js.map +1 -1
  560. package/dist/task-runners/task-runner-module.js +2 -0
  561. package/dist/task-runners/task-runner-module.js.map +1 -1
  562. package/dist/telemetry/index.d.ts +25 -2
  563. package/dist/telemetry/index.js +80 -12
  564. package/dist/telemetry/index.js.map +1 -1
  565. package/dist/utils/strapi-utils.d.ts +8 -4
  566. package/dist/utils/strapi-utils.js +25 -9
  567. package/dist/utils/strapi-utils.js.map +1 -1
  568. package/dist/webhooks/live-webhooks.js +1 -0
  569. package/dist/webhooks/live-webhooks.js.map +1 -1
  570. package/dist/webhooks/webhook-form-data.js +9 -1
  571. package/dist/webhooks/webhook-form-data.js.map +1 -1
  572. package/dist/webhooks/webhook-helpers.js +16 -0
  573. package/dist/webhooks/webhook-helpers.js.map +1 -1
  574. package/dist/webhooks/webhook-request-handler.js +35 -0
  575. package/dist/webhooks/webhook-request-handler.js.map +1 -1
  576. package/dist/workflow-execute-additional-data.js +15 -0
  577. package/dist/workflow-execute-additional-data.js.map +1 -1
  578. package/dist/workflow-helpers.d.ts +7 -2
  579. package/dist/workflow-helpers.js +50 -1
  580. package/dist/workflow-helpers.js.map +1 -1
  581. package/dist/workflows/publication/publication-result.d.ts +2 -0
  582. package/dist/workflows/publication/publication-status-reporter.d.ts +1 -0
  583. package/dist/workflows/publication/publication-status-reporter.js +22 -1
  584. package/dist/workflows/publication/publication-status-reporter.js.map +1 -1
  585. package/dist/workflows/publication/published-workflow-enqueuer.d.ts +13 -0
  586. package/dist/workflows/publication/published-workflow-enqueuer.js +53 -0
  587. package/dist/workflows/publication/published-workflow-enqueuer.js.map +1 -0
  588. package/dist/workflows/publication/published-workflow-trigger-deactivator.d.ts +16 -0
  589. package/dist/workflows/publication/published-workflow-trigger-deactivator.js +79 -0
  590. package/dist/workflows/publication/published-workflow-trigger-deactivator.js.map +1 -0
  591. package/dist/workflows/publication/workflow-publication-applier.d.ts +6 -1
  592. package/dist/workflows/publication/workflow-publication-applier.js +39 -3
  593. package/dist/workflows/publication/workflow-publication-applier.js.map +1 -1
  594. package/dist/workflows/publication/workflow-publication-lifecycle-lock.d.ts +13 -0
  595. package/dist/workflows/publication/workflow-publication-lifecycle-lock.js +104 -0
  596. package/dist/workflows/publication/workflow-publication-lifecycle-lock.js.map +1 -0
  597. package/dist/workflows/publication/workflow-publication-outbox-cleanup.service.d.ts +19 -0
  598. package/dist/workflows/publication/workflow-publication-outbox-cleanup.service.js +109 -0
  599. package/dist/workflows/publication/workflow-publication-outbox-cleanup.service.js.map +1 -0
  600. package/dist/workflows/publication/workflow-publication-outbox-consumer.d.ts +11 -4
  601. package/dist/workflows/publication/workflow-publication-outbox-consumer.js +105 -45
  602. package/dist/workflows/publication/workflow-publication-outbox-consumer.js.map +1 -1
  603. package/dist/workflows/triggers/non-webhook-trigger-registrar.d.ts +4 -5
  604. package/dist/workflows/triggers/non-webhook-trigger-registrar.js +30 -9
  605. package/dist/workflows/triggers/non-webhook-trigger-registrar.js.map +1 -1
  606. package/dist/workflows/triggers/trigger-activation-retry.d.ts +2 -0
  607. package/dist/workflows/triggers/trigger-activation-retry.js +23 -0
  608. package/dist/workflows/triggers/trigger-activation-retry.js.map +1 -0
  609. package/dist/workflows/triggers/webhook-trigger-registrar.d.ts +3 -2
  610. package/dist/workflows/triggers/webhook-trigger-registrar.js +60 -32
  611. package/dist/workflows/triggers/webhook-trigger-registrar.js.map +1 -1
  612. package/dist/workflows/triggers/workflow-trigger-activator.d.ts +6 -3
  613. package/dist/workflows/triggers/workflow-trigger-activator.js +126 -60
  614. package/dist/workflows/triggers/workflow-trigger-activator.js.map +1 -1
  615. package/dist/workflows/workflow-creation.service.d.ts +1 -0
  616. package/dist/workflows/workflow-creation.service.js +17 -8
  617. package/dist/workflows/workflow-creation.service.js.map +1 -1
  618. package/dist/workflows/workflow-entity-mapper.d.ts +5 -0
  619. package/dist/workflows/workflow-entity-mapper.js +22 -0
  620. package/dist/workflows/workflow-entity-mapper.js.map +1 -0
  621. package/dist/workflows/workflow-execution.service.d.ts +6 -2
  622. package/dist/workflows/workflow-execution.service.js +36 -13
  623. package/dist/workflows/workflow-execution.service.js.map +1 -1
  624. package/dist/workflows/workflow-history/workflow-history.service.js +1 -0
  625. package/dist/workflows/workflow-history/workflow-history.service.js.map +1 -1
  626. package/dist/workflows/workflow-published-data.service.d.ts +1 -3
  627. package/dist/workflows/workflow-published-data.service.js +2 -9
  628. package/dist/workflows/workflow-published-data.service.js.map +1 -1
  629. package/dist/workflows/workflow-validation.service.js +2 -1
  630. package/dist/workflows/workflow-validation.service.js.map +1 -1
  631. package/dist/workflows/workflow.service.d.ts +4 -3
  632. package/dist/workflows/workflow.service.js +72 -33
  633. package/dist/workflows/workflow.service.js.map +1 -1
  634. package/dist/workflows/workflows.controller.d.ts +3 -2
  635. package/dist/workflows/workflows.controller.js +12 -23
  636. package/dist/workflows/workflows.controller.js.map +1 -1
  637. package/package.json +55 -37
  638. package/templates/form-trigger.handlebars +8 -1
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.WorkflowPublicationOutboxCleanupService = void 0;
13
+ const backend_common_1 = require("@n8n/backend-common");
14
+ const config_1 = require("@n8n/config");
15
+ const constants_1 = require("@n8n/constants");
16
+ const db_1 = require("@n8n/db");
17
+ const decorators_1 = require("@n8n/decorators");
18
+ const di_1 = require("@n8n/di");
19
+ const n8n_core_1 = require("n8n-core");
20
+ let WorkflowPublicationOutboxCleanupService = class WorkflowPublicationOutboxCleanupService {
21
+ constructor(logger, workflowsConfig, outboxRepository, instanceSettings, tracing) {
22
+ this.workflowsConfig = workflowsConfig;
23
+ this.outboxRepository = outboxRepository;
24
+ this.instanceSettings = instanceSettings;
25
+ this.tracing = tracing;
26
+ this.isShuttingDown = false;
27
+ this.logger = logger.scoped('workflow-publication');
28
+ }
29
+ init() {
30
+ if (!this.instanceSettings.isLeader)
31
+ return;
32
+ this.startCleanup();
33
+ if (this.cleanupInterval)
34
+ void this.cleanup();
35
+ }
36
+ startCleanup() {
37
+ if (!this.workflowsConfig.useWorkflowPublicationService)
38
+ return;
39
+ if (this.isShuttingDown || this.cleanupInterval)
40
+ return;
41
+ const intervalSeconds = this.workflowsConfig.publicationOutboxCleanupIntervalSeconds;
42
+ this.cleanupInterval = setInterval(async () => await this.cleanup(), intervalSeconds * constants_1.Time.seconds.toMilliseconds);
43
+ this.logger.debug(`Outbox cleanup scheduled every ${intervalSeconds}s`);
44
+ }
45
+ stopCleanup() {
46
+ clearInterval(this.cleanupInterval);
47
+ this.cleanupInterval = undefined;
48
+ }
49
+ shutdown() {
50
+ this.isShuttingDown = true;
51
+ this.stopCleanup();
52
+ }
53
+ async cleanup() {
54
+ const completedRetentionSeconds = this.workflowsConfig.publicationOutboxCompletedRetentionHours * constants_1.Time.hours.toSeconds;
55
+ const failedRetentionSeconds = this.workflowsConfig.publicationOutboxFailedRetentionHours * constants_1.Time.hours.toSeconds;
56
+ const batchSize = this.workflowsConfig.publicationOutboxCleanupBatchSize;
57
+ await this.tracing.startSpan({ name: 'Publication outbox cleanup', op: 'publication.outbox.cleanup' }, async (span) => {
58
+ let totalDeleted = 0;
59
+ try {
60
+ let deleted;
61
+ do {
62
+ deleted = await this.outboxRepository.deleteTerminalOlderThan(completedRetentionSeconds, failedRetentionSeconds, batchSize);
63
+ totalDeleted += deleted;
64
+ } while (deleted >= batchSize && !this.isShuttingDown);
65
+ span.setStatus({ code: 1 });
66
+ if (totalDeleted > 0) {
67
+ this.logger.debug('Cleaned up terminal workflow publication outbox records', {
68
+ count: totalDeleted,
69
+ });
70
+ }
71
+ }
72
+ catch (error) {
73
+ span.setStatus({ code: 2 });
74
+ this.logger.error('Failed to clean up workflow publication outbox records', { error });
75
+ }
76
+ finally {
77
+ span.setAttribute('n8n.publication.records_deleted', totalDeleted);
78
+ }
79
+ });
80
+ }
81
+ };
82
+ exports.WorkflowPublicationOutboxCleanupService = WorkflowPublicationOutboxCleanupService;
83
+ __decorate([
84
+ (0, decorators_1.OnLeaderTakeover)(),
85
+ __metadata("design:type", Function),
86
+ __metadata("design:paramtypes", []),
87
+ __metadata("design:returntype", void 0)
88
+ ], WorkflowPublicationOutboxCleanupService.prototype, "startCleanup", null);
89
+ __decorate([
90
+ (0, decorators_1.OnLeaderStepdown)(),
91
+ __metadata("design:type", Function),
92
+ __metadata("design:paramtypes", []),
93
+ __metadata("design:returntype", void 0)
94
+ ], WorkflowPublicationOutboxCleanupService.prototype, "stopCleanup", null);
95
+ __decorate([
96
+ (0, decorators_1.OnShutdown)(),
97
+ __metadata("design:type", Function),
98
+ __metadata("design:paramtypes", []),
99
+ __metadata("design:returntype", void 0)
100
+ ], WorkflowPublicationOutboxCleanupService.prototype, "shutdown", null);
101
+ exports.WorkflowPublicationOutboxCleanupService = WorkflowPublicationOutboxCleanupService = __decorate([
102
+ (0, di_1.Service)(),
103
+ __metadata("design:paramtypes", [backend_common_1.Logger,
104
+ config_1.WorkflowsConfig,
105
+ db_1.WorkflowPublicationOutboxRepository,
106
+ n8n_core_1.InstanceSettings,
107
+ n8n_core_1.Tracing])
108
+ ], WorkflowPublicationOutboxCleanupService);
109
+ //# sourceMappingURL=workflow-publication-outbox-cleanup.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-publication-outbox-cleanup.service.js","sourceRoot":"","sources":["../../../src/workflows/publication/workflow-publication-outbox-cleanup.service.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import { Logger } from '@n8n/backend-common';
2
2
  import { WorkflowsConfig } from '@n8n/config';
3
3
  import { WorkflowPublicationOutbox, WorkflowPublicationOutboxRepository } from '@n8n/db';
4
- import { ErrorReporter, InstanceSettings } from 'n8n-core';
4
+ import { ErrorReporter, InstanceSettings, Tracing } from 'n8n-core';
5
5
  import { PublicationStatusReporter } from '../../workflows/publication/publication-status-reporter';
6
+ import { WorkflowPublicationLifecycleLock } from '../../workflows/publication/workflow-publication-lifecycle-lock';
6
7
  import { WorkflowPublicationApplier } from '../../workflows/publication/workflow-publication-applier';
7
8
  export declare class WorkflowPublicationOutboxConsumer {
8
9
  private readonly logger;
@@ -12,16 +13,22 @@ export declare class WorkflowPublicationOutboxConsumer {
12
13
  private readonly applier;
13
14
  private readonly reporter;
14
15
  private readonly instanceSettings;
16
+ private readonly lifecycleLock;
17
+ private readonly tracing;
15
18
  private pollTimeout;
16
19
  private isPolling;
17
20
  private isShuttingDown;
18
- constructor(logger: Logger, workflowsConfig: WorkflowsConfig, errorReporter: ErrorReporter, outboxRepository: WorkflowPublicationOutboxRepository, applier: WorkflowPublicationApplier, reporter: PublicationStatusReporter, instanceSettings: InstanceSettings);
19
- init(): void;
21
+ private activeDrain;
22
+ constructor(logger: Logger, workflowsConfig: WorkflowsConfig, errorReporter: ErrorReporter, outboxRepository: WorkflowPublicationOutboxRepository, applier: WorkflowPublicationApplier, reporter: PublicationStatusReporter, instanceSettings: InstanceSettings, lifecycleLock: WorkflowPublicationLifecycleLock, tracing: Tracing);
23
+ init(): Promise<void>;
20
24
  startPolling(): void;
21
25
  stopPolling(): void;
22
- shutdown(): void;
26
+ shutdown(): Promise<void>;
27
+ wakeUp(): Promise<void>;
23
28
  private schedulePollCycle;
24
29
  private pollCycle;
30
+ drainPending(): Promise<number>;
31
+ private runDrain;
25
32
  private shouldKeepPolling;
26
33
  processRecord(record: WorkflowPublicationOutbox): Promise<void>;
27
34
  }
@@ -18,9 +18,10 @@ const di_1 = require("@n8n/di");
18
18
  const n8n_core_1 = require("n8n-core");
19
19
  const n8n_workflow_1 = require("n8n-workflow");
20
20
  const publication_status_reporter_1 = require("../../workflows/publication/publication-status-reporter");
21
+ const workflow_publication_lifecycle_lock_1 = require("../../workflows/publication/workflow-publication-lifecycle-lock");
21
22
  const workflow_publication_applier_1 = require("../../workflows/publication/workflow-publication-applier");
22
23
  let WorkflowPublicationOutboxConsumer = class WorkflowPublicationOutboxConsumer {
23
- constructor(logger, workflowsConfig, errorReporter, outboxRepository, applier, reporter, instanceSettings) {
24
+ constructor(logger, workflowsConfig, errorReporter, outboxRepository, applier, reporter, instanceSettings, lifecycleLock, tracing) {
24
25
  this.logger = logger;
25
26
  this.workflowsConfig = workflowsConfig;
26
27
  this.errorReporter = errorReporter;
@@ -28,14 +29,18 @@ let WorkflowPublicationOutboxConsumer = class WorkflowPublicationOutboxConsumer
28
29
  this.applier = applier;
29
30
  this.reporter = reporter;
30
31
  this.instanceSettings = instanceSettings;
32
+ this.lifecycleLock = lifecycleLock;
33
+ this.tracing = tracing;
31
34
  this.isPolling = false;
32
35
  this.isShuttingDown = false;
36
+ this.activeDrain = null;
33
37
  this.logger = this.logger.scoped('workflow-publication');
34
38
  }
35
- init() {
36
- if (this.instanceSettings.isLeader) {
37
- this.startPolling();
38
- }
39
+ async init() {
40
+ if (!this.instanceSettings.isLeader)
41
+ return;
42
+ this.startPolling();
43
+ await this.drainPending();
39
44
  }
40
45
  startPolling() {
41
46
  if (!this.workflowsConfig.useWorkflowPublicationService || this.isShuttingDown)
@@ -54,9 +59,16 @@ let WorkflowPublicationOutboxConsumer = class WorkflowPublicationOutboxConsumer
54
59
  this.logger.debug('Stopped outbox polling');
55
60
  }
56
61
  }
57
- shutdown() {
62
+ async shutdown() {
58
63
  this.isShuttingDown = true;
59
64
  this.stopPolling();
65
+ await this.activeDrain;
66
+ }
67
+ async wakeUp() {
68
+ if (!this.workflowsConfig.useWorkflowPublicationService)
69
+ return;
70
+ this.startPolling();
71
+ await this.drainPending();
60
72
  }
61
73
  schedulePollCycle() {
62
74
  clearTimeout(this.pollTimeout);
@@ -74,60 +86,106 @@ let WorkflowPublicationOutboxConsumer = class WorkflowPublicationOutboxConsumer
74
86
  }, this.workflowsConfig.publicationOutboxPollIntervalMs);
75
87
  }
76
88
  async pollCycle() {
77
- let processed = 0;
78
- while (this.shouldKeepPolling()) {
79
- const record = await this.outboxRepository.claimNextPendingRecord();
80
- if (!record)
81
- break;
82
- await this.processRecord(record);
83
- processed++;
89
+ const processed = await this.drainPending();
90
+ if (processed > 1) {
91
+ this.logger.debug(`Processed ${processed} workflow publication outbox records in this cycle`);
84
92
  }
85
- if (processed > 0) {
86
- this.logger.debug(`Processed ${processed} workflow publication outbox record(s)`);
93
+ }
94
+ async drainPending() {
95
+ if (this.activeDrain)
96
+ return await this.activeDrain;
97
+ const drain = this.runDrain();
98
+ this.activeDrain = drain;
99
+ try {
100
+ return await drain;
87
101
  }
102
+ finally {
103
+ this.activeDrain = null;
104
+ }
105
+ }
106
+ async runDrain() {
107
+ return await this.tracing.startSpan({ name: 'Publication outbox drain', op: 'publication.outbox.drain' }, async (span) => {
108
+ let processed = 0;
109
+ while (this.shouldKeepPolling()) {
110
+ const record = await this.outboxRepository.claimNextPendingRecord();
111
+ if (!record)
112
+ break;
113
+ await this.processRecord(record);
114
+ processed++;
115
+ }
116
+ span.setAttribute('n8n.publication.records_processed', processed);
117
+ span.setStatus({ code: 1 });
118
+ return processed;
119
+ });
88
120
  }
89
121
  shouldKeepPolling() {
90
122
  return this.isPolling && !this.isShuttingDown;
91
123
  }
92
124
  async processRecord(record) {
93
- let result;
94
- try {
95
- result = await this.applier.apply(record);
96
- }
97
- catch (error) {
98
- const cause = (0, n8n_workflow_1.ensureError)(error);
99
- result = {
100
- type: 'failed',
101
- error: new n8n_workflow_1.UnexpectedError(`Unexpected: ${cause.message}`, { cause }),
102
- };
103
- }
104
- try {
105
- await this.reporter.report(record, result);
106
- }
107
- catch (reportError) {
108
- this.errorReporter.error(reportError, { shouldBeLogged: true });
109
- }
125
+ await this.tracing.startSpan({
126
+ name: 'Publication outbox record',
127
+ op: 'publication.outbox.process_record',
128
+ attributes: {
129
+ ...this.tracing.pickWorkflowAttributes({ id: record.workflowId }),
130
+ 'n8n.publication.outbox_id': record.id,
131
+ 'n8n.publication.published_version_id': record.publishedVersionId,
132
+ },
133
+ }, async (span) => {
134
+ await this.lifecycleLock.runExclusive(record.workflowId, async () => {
135
+ if (!this.instanceSettings.isLeader) {
136
+ await this.outboxRepository.returnToPending(record.id);
137
+ this.logger.debug('Returned publication outbox record to queue: no longer leader', {
138
+ outboxId: record.id,
139
+ workflowId: record.workflowId,
140
+ });
141
+ return;
142
+ }
143
+ this.logger.debug('Started processing workflow publication outbox record', {
144
+ outboxId: record.id,
145
+ workflowId: record.workflowId,
146
+ publishedVersionId: record.publishedVersionId,
147
+ });
148
+ let result;
149
+ try {
150
+ result = await this.applier.apply(record);
151
+ }
152
+ catch (error) {
153
+ const cause = (0, n8n_workflow_1.ensureError)(error);
154
+ result = {
155
+ type: 'failed',
156
+ error: new n8n_workflow_1.UnexpectedError(`Unexpected: ${cause.message}`, { cause }),
157
+ };
158
+ }
159
+ try {
160
+ await this.reporter.report(record, result);
161
+ }
162
+ catch (reportError) {
163
+ this.errorReporter.error(reportError, { shouldBeLogged: true });
164
+ }
165
+ this.logger.debug('Finished processing workflow publication outbox record', {
166
+ outboxId: record.id,
167
+ workflowId: record.workflowId,
168
+ result: result.type,
169
+ });
170
+ span.setAttribute('n8n.publication.result', result.type);
171
+ });
172
+ span.setStatus({ code: 1 });
173
+ });
110
174
  }
111
175
  };
112
176
  exports.WorkflowPublicationOutboxConsumer = WorkflowPublicationOutboxConsumer;
113
177
  __decorate([
114
- (0, decorators_1.OnLeaderTakeover)(),
115
- __metadata("design:type", Function),
116
- __metadata("design:paramtypes", []),
117
- __metadata("design:returntype", void 0)
118
- ], WorkflowPublicationOutboxConsumer.prototype, "startPolling", null);
119
- __decorate([
120
- (0, decorators_1.OnLeaderStepdown)(),
178
+ (0, decorators_1.OnShutdown)(),
121
179
  __metadata("design:type", Function),
122
180
  __metadata("design:paramtypes", []),
123
- __metadata("design:returntype", void 0)
124
- ], WorkflowPublicationOutboxConsumer.prototype, "stopPolling", null);
181
+ __metadata("design:returntype", Promise)
182
+ ], WorkflowPublicationOutboxConsumer.prototype, "shutdown", null);
125
183
  __decorate([
126
- (0, decorators_1.OnShutdown)(),
184
+ (0, decorators_1.OnPubSubEvent)('workflow-publish-wake-up', { instanceType: 'main', instanceRole: 'leader' }),
127
185
  __metadata("design:type", Function),
128
186
  __metadata("design:paramtypes", []),
129
- __metadata("design:returntype", void 0)
130
- ], WorkflowPublicationOutboxConsumer.prototype, "shutdown", null);
187
+ __metadata("design:returntype", Promise)
188
+ ], WorkflowPublicationOutboxConsumer.prototype, "wakeUp", null);
131
189
  exports.WorkflowPublicationOutboxConsumer = WorkflowPublicationOutboxConsumer = __decorate([
132
190
  (0, di_1.Service)(),
133
191
  __metadata("design:paramtypes", [backend_common_1.Logger,
@@ -136,6 +194,8 @@ exports.WorkflowPublicationOutboxConsumer = WorkflowPublicationOutboxConsumer =
136
194
  db_1.WorkflowPublicationOutboxRepository,
137
195
  workflow_publication_applier_1.WorkflowPublicationApplier,
138
196
  publication_status_reporter_1.PublicationStatusReporter,
139
- n8n_core_1.InstanceSettings])
197
+ n8n_core_1.InstanceSettings,
198
+ workflow_publication_lifecycle_lock_1.WorkflowPublicationLifecycleLock,
199
+ n8n_core_1.Tracing])
140
200
  ], WorkflowPublicationOutboxConsumer);
141
201
  //# sourceMappingURL=workflow-publication-outbox-consumer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-publication-outbox-consumer.js","sourceRoot":"","sources":["../../../src/workflows/publication/workflow-publication-outbox-consumer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-publication-outbox-consumer.js","sourceRoot":"","sources":["../../../src/workflows/publication/workflow-publication-outbox-consumer.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Logger } from '@n8n/backend-common';
2
2
  import type { WorkflowEntity } from '@n8n/db';
3
- import { ActiveWorkflowTriggers, type IGetExecutePollFunctions, type IGetExecuteTriggerFunctions } from 'n8n-core';
3
+ import { ActiveWorkflowTriggers, Tracing, type IGetExecutePollFunctions, type IGetExecuteTriggerFunctions } from 'n8n-core';
4
4
  import type { INode, IWorkflowBase, IWorkflowExecuteAdditionalData, Workflow, WorkflowActivateMode, WorkflowExecuteMode, WorkflowId } from 'n8n-workflow';
5
5
  import type { TriggerFailureHandler } from '../../workflows/triggers/trigger-execution-context.factory';
6
6
  import { TriggerExecutionContextFactory } from '../../workflows/triggers/trigger-execution-context.factory';
@@ -12,7 +12,6 @@ export interface NonWebhookTriggerRegistrationContext {
12
12
  onTriggerFailure: TriggerFailureHandler;
13
13
  }
14
14
  export interface PreparedNonWebhookTriggerRegistration {
15
- dbWorkflow: WorkflowEntity;
16
15
  activationMode: WorkflowActivateMode;
17
16
  executionMode: WorkflowExecuteMode;
18
17
  additionalData: IWorkflowExecuteAdditionalData;
@@ -23,17 +22,17 @@ export declare class NonWebhookTriggerRegistrar {
23
22
  private readonly logger;
24
23
  private readonly activeWorkflowTriggers;
25
24
  private readonly triggerExecutionContextFactory;
26
- constructor(logger: Logger, activeWorkflowTriggers: ActiveWorkflowTriggers, triggerExecutionContextFactory: TriggerExecutionContextFactory);
25
+ private readonly tracing;
26
+ constructor(logger: Logger, activeWorkflowTriggers: ActiveWorkflowTriggers, triggerExecutionContextFactory: TriggerExecutionContextFactory, tracing: Tracing);
27
27
  getTriggerNodeIds(workflow: Workflow): string[];
28
28
  getRegisteredTriggerNodeIds(workflowId: WorkflowId): Set<string>;
29
29
  createRegistrationContext(dbWorkflow: WorkflowEntity, { activationMode, executionMode, additionalData, resolveWorkflowData, onTriggerFailure, }: NonWebhookTriggerRegistrationContext): {
30
- dbWorkflow: WorkflowEntity;
31
30
  activationMode: WorkflowActivateMode;
32
31
  executionMode: "error" | "trigger" | "webhook" | "agent" | "retry" | "manual" | "cli" | "integrated" | "internal" | "evaluation" | "chat";
33
32
  additionalData: IWorkflowExecuteAdditionalData;
34
33
  getTriggerFunctions: IGetExecuteTriggerFunctions;
35
34
  getPollFunctions: IGetExecutePollFunctions;
36
35
  };
37
- register(workflow: Workflow, { dbWorkflow, activationMode, executionMode, additionalData, getTriggerFunctions, getPollFunctions, }: PreparedNonWebhookTriggerRegistration, nodeId: INode['id']): Promise<void>;
36
+ register(workflow: Workflow, { activationMode, executionMode, additionalData, getTriggerFunctions, getPollFunctions, }: PreparedNonWebhookTriggerRegistration, nodeId: INode['id']): Promise<void>;
38
37
  deregister(workflowId: WorkflowId, nodeId: INode['id']): Promise<void>;
39
38
  }
@@ -14,13 +14,13 @@ const backend_common_1 = require("@n8n/backend-common");
14
14
  const di_1 = require("@n8n/di");
15
15
  const n8n_core_1 = require("n8n-core");
16
16
  const trigger_execution_context_factory_1 = require("../../workflows/triggers/trigger-execution-context.factory");
17
- const workflow_formatter_1 = require("../../workflows/workflow.formatter");
18
17
  let NonWebhookTriggerRegistrar = class NonWebhookTriggerRegistrar {
19
- constructor(logger, activeWorkflowTriggers, triggerExecutionContextFactory) {
18
+ constructor(logger, activeWorkflowTriggers, triggerExecutionContextFactory, tracing) {
20
19
  this.logger = logger;
21
20
  this.activeWorkflowTriggers = activeWorkflowTriggers;
22
21
  this.triggerExecutionContextFactory = triggerExecutionContextFactory;
23
- this.logger = this.logger.scoped(['workflow-activation']);
22
+ this.tracing = tracing;
23
+ this.logger = this.logger.scoped('workflow-publication');
24
24
  }
25
25
  getTriggerNodeIds(workflow) {
26
26
  return [...workflow.getTriggerNodes(), ...workflow.getPollNodes()].map((node) => node.id);
@@ -32,7 +32,6 @@ let NonWebhookTriggerRegistrar = class NonWebhookTriggerRegistrar {
32
32
  const getTriggerFunctions = this.triggerExecutionContextFactory.getExecuteTriggerFunctions(dbWorkflow, additionalData, executionMode, activationMode, resolveWorkflowData, onTriggerFailure);
33
33
  const getPollFunctions = this.triggerExecutionContextFactory.getExecutePollFunctions(dbWorkflow, additionalData, executionMode, activationMode, resolveWorkflowData);
34
34
  return {
35
- dbWorkflow,
36
35
  activationMode,
37
36
  executionMode,
38
37
  additionalData,
@@ -40,12 +39,33 @@ let NonWebhookTriggerRegistrar = class NonWebhookTriggerRegistrar {
40
39
  getPollFunctions,
41
40
  };
42
41
  }
43
- async register(workflow, { dbWorkflow, activationMode, executionMode, additionalData, getTriggerFunctions, getPollFunctions, }, nodeId) {
44
- await this.activeWorkflowTriggers.addTriggers(workflow.id, workflow, [nodeId], additionalData, executionMode, activationMode, getTriggerFunctions, getPollFunctions);
45
- this.logger.debug(`Added non-webhook trigger "${nodeId}" for workflow ${(0, workflow_formatter_1.formatWorkflow)(dbWorkflow)}`);
42
+ async register(workflow, { activationMode, executionMode, additionalData, getTriggerFunctions, getPollFunctions, }, nodeId) {
43
+ await this.tracing.startSpan({
44
+ name: 'Non-webhook trigger register',
45
+ op: 'publication.non_webhook.register',
46
+ attributes: {
47
+ ...this.tracing.pickWorkflowAttributes({ id: workflow.id, name: workflow.name }),
48
+ ...this.tracing.pickNodeAttributes({ id: nodeId }),
49
+ 'n8n.publication.activation_mode': activationMode,
50
+ 'n8n.publication.execution_mode': executionMode,
51
+ },
52
+ }, async (span) => {
53
+ await this.activeWorkflowTriggers.addTriggers(workflow.id, workflow, [nodeId], additionalData, executionMode, activationMode, getTriggerFunctions, getPollFunctions);
54
+ span.setStatus({ code: 1 });
55
+ });
46
56
  }
47
57
  async deregister(workflowId, nodeId) {
48
- await this.activeWorkflowTriggers.removeTriggers(workflowId, new Set([nodeId]));
58
+ await this.tracing.startSpan({
59
+ name: 'Non-webhook trigger deregister',
60
+ op: 'publication.non_webhook.deregister',
61
+ attributes: {
62
+ ...this.tracing.pickWorkflowAttributes({ id: workflowId }),
63
+ ...this.tracing.pickNodeAttributes({ id: nodeId }),
64
+ },
65
+ }, async (span) => {
66
+ await this.activeWorkflowTriggers.removeTriggers(workflowId, new Set([nodeId]));
67
+ span.setStatus({ code: 1 });
68
+ });
49
69
  }
50
70
  };
51
71
  exports.NonWebhookTriggerRegistrar = NonWebhookTriggerRegistrar;
@@ -53,6 +73,7 @@ exports.NonWebhookTriggerRegistrar = NonWebhookTriggerRegistrar = __decorate([
53
73
  (0, di_1.Service)(),
54
74
  __metadata("design:paramtypes", [backend_common_1.Logger,
55
75
  n8n_core_1.ActiveWorkflowTriggers,
56
- trigger_execution_context_factory_1.TriggerExecutionContextFactory])
76
+ trigger_execution_context_factory_1.TriggerExecutionContextFactory,
77
+ n8n_core_1.Tracing])
57
78
  ], NonWebhookTriggerRegistrar);
58
79
  //# sourceMappingURL=non-webhook-trigger-registrar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"non-webhook-trigger-registrar.js","sourceRoot":"","sources":["../../../src/workflows/triggers/non-webhook-trigger-registrar.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wDAA6C;AAE7C,gCAAkC;AAClC,uCAIkB;AAYlB,8GAAwG;AACxG,uEAAgE;AAuBzD,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IACtC,YACkB,MAAc,EACd,sBAA8C,EAC9C,8BAA8D;QAF9D,WAAM,GAAN,MAAM,CAAQ;QACd,2BAAsB,GAAtB,sBAAsB,CAAwB;QAC9C,mCAA8B,GAA9B,8BAA8B,CAAgC;QAE/E,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAC3D,CAAC;IAKD,iBAAiB,CAAC,QAAkB;QACnC,OAAO,CAAC,GAAG,QAAQ,CAAC,eAAe,EAAE,EAAE,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3F,CAAC;IAMD,2BAA2B,CAAC,UAAsB;QACjD,OAAO,IAAI,CAAC,sBAAsB,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC;IAC5E,CAAC;IAKD,yBAAyB,CACxB,UAA0B,EAC1B,EACC,cAAc,EACd,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,gBAAgB,GACsB;QAEvC,MAAM,mBAAmB,GAAG,IAAI,CAAC,8BAA8B,CAAC,0BAA0B,CACzF,UAAU,EACV,cAAc,EACd,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,gBAAgB,CAChB,CAAC;QAEF,MAAM,gBAAgB,GAAG,IAAI,CAAC,8BAA8B,CAAC,uBAAuB,CACnF,UAAU,EACV,cAAc,EACd,aAAa,EACb,cAAc,EACd,mBAAmB,CACnB,CAAC;QAEF,OAAO;YACN,UAAU;YACV,cAAc;YACd,aAAa;YACb,cAAc;YACd,mBAAmB;YACnB,gBAAgB;SAChB,CAAC;IACH,CAAC;IAKD,KAAK,CAAC,QAAQ,CACb,QAAkB,EAClB,EACC,UAAU,EACV,cAAc,EACd,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,gBAAgB,GACuB,EACxC,MAAmB;QAEnB,MAAM,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAC5C,QAAQ,CAAC,EAAE,EACX,QAAQ,EACR,CAAC,MAAM,CAAC,EACR,cAAc,EACd,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,gBAAgB,CAChB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,8BAA8B,MAAM,kBAAkB,IAAA,mCAAc,EAAC,UAAU,CAAC,EAAE,CAClF,CAAC;IACH,CAAC;IAKD,KAAK,CAAC,UAAU,CAAC,UAAsB,EAAE,MAAmB;QAC3D,MAAM,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC;CACD,CAAA;AArGY,gEAA0B;qCAA1B,0BAA0B;IADtC,IAAA,YAAO,GAAE;qCAGiB,uBAAM;QACU,iCAAsB;QACd,kEAA8B;GAJpE,0BAA0B,CAqGtC"}
1
+ {"version":3,"file":"non-webhook-trigger-registrar.js","sourceRoot":"","sources":["../../../src/workflows/triggers/non-webhook-trigger-registrar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const isTransientActivationError: (error: Error) => boolean;
2
+ export declare function retryTriggerActivation(activate: () => Promise<void>, maxAttempts: number): Promise<void>;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isTransientActivationError = void 0;
4
+ exports.retryTriggerActivation = retryTriggerActivation;
5
+ const n8n_workflow_1 = require("n8n-workflow");
6
+ const constants_1 = require("../../constants");
7
+ const isTransientActivationError = (error) => !(error instanceof n8n_workflow_1.WebhookPathTakenError);
8
+ exports.isTransientActivationError = isTransientActivationError;
9
+ async function retryTriggerActivation(activate, maxAttempts) {
10
+ for (let attempt = 0;; attempt++) {
11
+ try {
12
+ await activate();
13
+ return;
14
+ }
15
+ catch (error) {
16
+ const isLastAttempt = attempt >= maxAttempts - 1;
17
+ if (!(0, exports.isTransientActivationError)((0, n8n_workflow_1.ensureError)(error)) || isLastAttempt)
18
+ throw error;
19
+ await (0, n8n_workflow_1.sleep)(Math.min(constants_1.WORKFLOW_REACTIVATE_INITIAL_TIMEOUT * 2 ** attempt, constants_1.WORKFLOW_REACTIVATE_MAX_TIMEOUT));
20
+ }
21
+ }
22
+ }
23
+ //# sourceMappingURL=trigger-activation-retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger-activation-retry.js","sourceRoot":"","sources":["../../../src/workflows/triggers/trigger-activation-retry.ts"],"names":[],"mappings":";;;AAiBA,wDAoBC;AArCD,+CAAyE;AAEzE,2CAAmG;AAK5F,MAAM,0BAA0B,GAAG,CAAC,KAAY,EAAW,EAAE,CACnE,CAAC,CAAC,KAAK,YAAY,oCAAqB,CAAC,CAAC;AAD9B,QAAA,0BAA0B,8BACI;AASpC,KAAK,UAAU,sBAAsB,CAC3C,QAA6B,EAC7B,WAAmB;IAEnB,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;QACnC,IAAI,CAAC;YACJ,MAAM,QAAQ,EAAE,CAAC;YACjB,OAAO;QACR,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,aAAa,GAAG,OAAO,IAAI,WAAW,GAAG,CAAC,CAAC;YACjD,IAAI,CAAC,IAAA,kCAA0B,EAAC,IAAA,0BAAW,EAAC,KAAK,CAAC,CAAC,IAAI,aAAa;gBAAE,MAAM,KAAK,CAAC;YAElF,MAAM,IAAA,oBAAK,EACV,IAAI,CAAC,GAAG,CACP,+CAAmC,GAAG,CAAC,IAAI,OAAO,EAClD,2CAA+B,CAC/B,CACD,CAAC;QACH,CAAC;IACF,CAAC;AACF,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { Logger } from '@n8n/backend-common';
2
2
  import type { IWebhookData, IWorkflowExecuteAdditionalData, WorkflowActivateMode, WorkflowExecuteMode } from 'n8n-workflow';
3
3
  import { Workflow } from 'n8n-workflow';
4
- import { ErrorReporter } from 'n8n-core';
4
+ import { ErrorReporter, Tracing } from 'n8n-core';
5
5
  import { WebhookService } from '../../webhooks/webhook.service';
6
6
  import { WorkflowStaticDataService } from '../../workflows/workflow-static-data.service';
7
7
  export interface WebhookTriggerRegistrationOptions {
@@ -19,7 +19,8 @@ export declare class WebhookTriggerRegistrar {
19
19
  private readonly errorReporter;
20
20
  private readonly webhookService;
21
21
  private readonly workflowStaticDataService;
22
- constructor(logger: Logger, errorReporter: ErrorReporter, webhookService: WebhookService, workflowStaticDataService: WorkflowStaticDataService);
22
+ private readonly tracing;
23
+ constructor(logger: Logger, errorReporter: ErrorReporter, webhookService: WebhookService, workflowStaticDataService: WorkflowStaticDataService, tracing: Tracing);
23
24
  getWebhookTriggers(workflow: Workflow, additionalData: IWorkflowExecuteAdditionalData): IWebhookData[];
24
25
  register({ workflow, webhookData, mode, activation }: WebhookTriggerRegistrationOptions): Promise<void>;
25
26
  deregister({ workflow, webhookData }: WebhookTriggerDeregistrationOptions): Promise<string>;