n8n 2.40.4 → 2.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (817) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/commands/import/credentials.js +12 -3
  3. package/dist/commands/import/credentials.js.map +1 -1
  4. package/dist/commands/import/workflow.js +4 -4
  5. package/dist/commands/import/workflow.js.map +1 -1
  6. package/dist/commands/start.js +5 -2
  7. package/dist/commands/start.js.map +1 -1
  8. package/dist/constants.d.ts +1 -0
  9. package/dist/constants.js +2 -1
  10. package/dist/constants.js.map +1 -1
  11. package/dist/controllers/ai-preference.controller.js +1 -1
  12. package/dist/controllers/ai-preference.controller.js.map +1 -1
  13. package/dist/controllers/ai.controller.d.ts +1 -0
  14. package/dist/controllers/dev.controller.d.ts +8 -0
  15. package/dist/controllers/dev.controller.js +35 -0
  16. package/dist/controllers/dev.controller.js.map +1 -0
  17. package/dist/controllers/me.controller.d.ts +2 -4
  18. package/dist/controllers/me.controller.js +9 -24
  19. package/dist/controllers/me.controller.js.map +1 -1
  20. package/dist/controllers/role.controller.js +1 -0
  21. package/dist/controllers/role.controller.js.map +1 -1
  22. package/dist/crash-journal.js +1 -1
  23. package/dist/crash-journal.js.map +1 -1
  24. package/dist/credentials/credential-dependency.service.d.ts +2 -2
  25. package/dist/credentials/credential-dependency.service.js +5 -4
  26. package/dist/credentials/credential-dependency.service.js.map +1 -1
  27. package/dist/credentials/credentials-finder.service.d.ts +1 -0
  28. package/dist/credentials/credentials.controller.d.ts +4 -0
  29. package/dist/credentials/credentials.controller.js +5 -0
  30. package/dist/credentials/credentials.controller.js.map +1 -1
  31. package/dist/credentials/credentials.service.d.ts +16 -3
  32. package/dist/credentials/credentials.service.ee.d.ts +2 -0
  33. package/dist/credentials/credentials.service.js +112 -30
  34. package/dist/credentials/credentials.service.js.map +1 -1
  35. package/dist/credentials/validation.d.ts +1 -0
  36. package/dist/credentials/validation.js +11 -0
  37. package/dist/credentials/validation.js.map +1 -1
  38. package/dist/credentials-helper.d.ts +3 -2
  39. package/dist/credentials-helper.js +39 -19
  40. package/dist/credentials-helper.js.map +1 -1
  41. package/dist/credentials-overwrites.js +2 -0
  42. package/dist/credentials-overwrites.js.map +1 -1
  43. package/dist/errors/response-errors/incompatible-nodes-api-version.error.d.ts +11 -0
  44. package/dist/errors/response-errors/incompatible-nodes-api-version.error.js +13 -0
  45. package/dist/errors/response-errors/incompatible-nodes-api-version.error.js.map +1 -0
  46. package/dist/errors/unsupported-end-user-credential-trigger.error.d.ts +4 -0
  47. package/dist/errors/unsupported-end-user-credential-trigger.error.js +13 -0
  48. package/dist/errors/unsupported-end-user-credential-trigger.error.js.map +1 -0
  49. package/dist/eventbus/event-message-classes/abstract-event-message.d.ts +1 -1
  50. package/dist/eventbus/event-message-classes/abstract-event-message.js +8 -0
  51. package/dist/eventbus/event-message-classes/abstract-event-message.js.map +1 -1
  52. package/dist/eventbus/event-message-classes/event-message-ai-node.d.ts +0 -2
  53. package/dist/eventbus/event-message-classes/event-message-ai-node.js +0 -8
  54. package/dist/eventbus/event-message-classes/event-message-ai-node.js.map +1 -1
  55. package/dist/eventbus/event-message-classes/event-message-audit.d.ts +1 -2
  56. package/dist/eventbus/event-message-classes/event-message-audit.js +0 -8
  57. package/dist/eventbus/event-message-classes/event-message-audit.js.map +1 -1
  58. package/dist/eventbus/event-message-classes/event-message-execution.d.ts +0 -2
  59. package/dist/eventbus/event-message-classes/event-message-execution.js +0 -8
  60. package/dist/eventbus/event-message-classes/event-message-execution.js.map +1 -1
  61. package/dist/eventbus/event-message-classes/event-message-generic.d.ts +0 -2
  62. package/dist/eventbus/event-message-classes/event-message-generic.js +0 -8
  63. package/dist/eventbus/event-message-classes/event-message-generic.js.map +1 -1
  64. package/dist/eventbus/event-message-classes/event-message-mcp.d.ts +0 -2
  65. package/dist/eventbus/event-message-classes/event-message-mcp.js +0 -8
  66. package/dist/eventbus/event-message-classes/event-message-mcp.js.map +1 -1
  67. package/dist/eventbus/event-message-classes/event-message-node.d.ts +0 -2
  68. package/dist/eventbus/event-message-classes/event-message-node.js +0 -8
  69. package/dist/eventbus/event-message-classes/event-message-node.js.map +1 -1
  70. package/dist/eventbus/event-message-classes/event-message-queue.d.ts +0 -2
  71. package/dist/eventbus/event-message-classes/event-message-queue.js +0 -8
  72. package/dist/eventbus/event-message-classes/event-message-queue.js.map +1 -1
  73. package/dist/eventbus/event-message-classes/event-message-runner.d.ts +0 -2
  74. package/dist/eventbus/event-message-classes/event-message-runner.js +0 -8
  75. package/dist/eventbus/event-message-classes/event-message-runner.js.map +1 -1
  76. package/dist/eventbus/event-message-classes/event-message-workflow.d.ts +1 -2
  77. package/dist/eventbus/event-message-classes/event-message-workflow.js +0 -8
  78. package/dist/eventbus/event-message-classes/event-message-workflow.js.map +1 -1
  79. package/dist/events/event.service.d.ts +3 -2
  80. package/dist/events/event.service.js.map +1 -1
  81. package/dist/events/maps/mcp-post-save-metrics.event-map.d.ts +7 -0
  82. package/dist/events/maps/mcp-post-save-metrics.event-map.js +3 -0
  83. package/dist/events/maps/mcp-post-save-metrics.event-map.js.map +1 -0
  84. package/dist/events/maps/relay.event-map.d.ts +3 -0
  85. package/dist/events/maps/system-task-metrics.event-map.d.ts +45 -0
  86. package/dist/events/maps/system-task-metrics.event-map.js +3 -0
  87. package/dist/events/maps/system-task-metrics.event-map.js.map +1 -0
  88. package/dist/events/relays/activity.event-relay.d.ts +9 -3
  89. package/dist/events/relays/activity.event-relay.js +33 -4
  90. package/dist/events/relays/activity.event-relay.js.map +1 -1
  91. package/dist/events/relays/telemetry.event-relay.js +34 -14
  92. package/dist/events/relays/telemetry.event-relay.js.map +1 -1
  93. package/dist/execution-lifecycle/execution-lifecycle-hooks.js +10 -6
  94. package/dist/execution-lifecycle/execution-lifecycle-hooks.js.map +1 -1
  95. package/dist/execution-lifecycle/shared/shared-hook-functions.d.ts +1 -1
  96. package/dist/execution-lifecycle/shared/shared-hook-functions.js +2 -1
  97. package/dist/execution-lifecycle/shared/shared-hook-functions.js.map +1 -1
  98. package/dist/executions/engine-v2-execution-reader.service.d.ts +26 -0
  99. package/dist/executions/engine-v2-execution-reader.service.js +58 -13
  100. package/dist/executions/engine-v2-execution-reader.service.js.map +1 -1
  101. package/dist/executions/engine-v2-mapping.d.ts +5 -0
  102. package/dist/executions/engine-v2-mapping.js +30 -0
  103. package/dist/executions/engine-v2-mapping.js.map +1 -0
  104. package/dist/executions/execution-cursor.d.ts +51 -0
  105. package/dist/executions/execution-cursor.js +39 -0
  106. package/dist/executions/execution-cursor.js.map +1 -0
  107. package/dist/executions/execution-id.js +2 -2
  108. package/dist/executions/execution-id.js.map +1 -1
  109. package/dist/executions/execution-list-v1.service.d.ts +27 -0
  110. package/dist/executions/execution-list-v1.service.js +98 -0
  111. package/dist/executions/execution-list-v1.service.js.map +1 -0
  112. package/dist/executions/execution-list-v2.service.d.ts +25 -0
  113. package/dist/executions/execution-list-v2.service.js +168 -0
  114. package/dist/executions/execution-list-v2.service.js.map +1 -0
  115. package/dist/executions/execution-list.service.d.ts +19 -0
  116. package/dist/executions/execution-list.service.js +67 -0
  117. package/dist/executions/execution-list.service.js.map +1 -0
  118. package/dist/executions/execution-recovery.service.d.ts +1 -2
  119. package/dist/executions/execution-recovery.service.js +1 -2
  120. package/dist/executions/execution-recovery.service.js.map +1 -1
  121. package/dist/executions/execution.service.d.ts +1 -34
  122. package/dist/executions/execution.service.js +4 -73
  123. package/dist/executions/execution.service.js.map +1 -1
  124. package/dist/executions/execution.types.d.ts +4 -2
  125. package/dist/executions/executions.controller.d.ts +4 -1
  126. package/dist/executions/executions.controller.js +12 -23
  127. package/dist/executions/executions.controller.js.map +1 -1
  128. package/dist/executions/merge-execution-pages.d.ts +10 -0
  129. package/dist/executions/merge-execution-pages.js +30 -0
  130. package/dist/executions/merge-execution-pages.js.map +1 -0
  131. package/dist/executions/parse-range-query.middleware.d.ts +2 -3
  132. package/dist/executions/parse-range-query.middleware.js +27 -21
  133. package/dist/executions/parse-range-query.middleware.js.map +1 -1
  134. package/dist/external-hooks.d.ts +6 -2
  135. package/dist/load-nodes-and-credentials.d.ts +3 -0
  136. package/dist/load-nodes-and-credentials.js +37 -15
  137. package/dist/load-nodes-and-credentials.js.map +1 -1
  138. package/dist/metrics/prometheus/constant.d.ts +1 -0
  139. package/dist/metrics/prometheus/constant.js +4 -1
  140. package/dist/metrics/prometheus/constant.js.map +1 -1
  141. package/dist/metrics/prometheus/mcp-post-save-metrics.service.d.ts +10 -0
  142. package/dist/metrics/prometheus/mcp-post-save-metrics.service.js +44 -0
  143. package/dist/metrics/prometheus/mcp-post-save-metrics.service.js.map +1 -0
  144. package/dist/metrics/prometheus/prometheus.service.d.ts +3 -1
  145. package/dist/metrics/prometheus/prometheus.service.js +6 -2
  146. package/dist/metrics/prometheus/prometheus.service.js.map +1 -1
  147. package/dist/metrics/prometheus/system-task-metrics.service.d.ts +12 -0
  148. package/dist/metrics/prometheus/system-task-metrics.service.js +157 -0
  149. package/dist/metrics/prometheus/system-task-metrics.service.js.map +1 -0
  150. package/dist/middlewares/list-query/dtos/credentials.select.dto.js +1 -0
  151. package/dist/middlewares/list-query/dtos/credentials.select.dto.js.map +1 -1
  152. package/dist/modules/agents/adapters/agents-credential-provider.d.ts +2 -1
  153. package/dist/modules/agents/adapters/agents-credential-provider.js +3 -1
  154. package/dist/modules/agents/adapters/agents-credential-provider.js.map +1 -1
  155. package/dist/modules/agents/agent-chat.controller.js +32 -37
  156. package/dist/modules/agents/agent-chat.controller.js.map +1 -1
  157. package/dist/modules/agents/agent-config.service.js +1 -1
  158. package/dist/modules/agents/agent-config.service.js.map +1 -1
  159. package/dist/modules/agents/agent-conversation-state.service.d.ts +12 -0
  160. package/dist/modules/agents/agent-conversation-state.service.js +34 -0
  161. package/dist/modules/agents/agent-conversation-state.service.js.map +1 -0
  162. package/dist/modules/agents/agent-custom-tools.service.js +2 -2
  163. package/dist/modules/agents/agent-custom-tools.service.js.map +1 -1
  164. package/dist/modules/agents/agent-execution-orchestrator.service.d.ts +13 -6
  165. package/dist/modules/agents/agent-execution-orchestrator.service.js +284 -417
  166. package/dist/modules/agents/agent-execution-orchestrator.service.js.map +1 -1
  167. package/dist/modules/agents/agent-execution-recording.error.d.ts +21 -0
  168. package/dist/modules/agents/agent-execution-recording.error.js +17 -0
  169. package/dist/modules/agents/agent-execution-recording.error.js.map +1 -0
  170. package/dist/modules/agents/agent-execution.service.d.ts +1 -1
  171. package/dist/modules/agents/agent-execution.service.js +51 -20
  172. package/dist/modules/agents/agent-execution.service.js.map +1 -1
  173. package/dist/modules/agents/agent-integration-management.service.d.ts +5 -3
  174. package/dist/modules/agents/agent-integration-management.service.js +9 -6
  175. package/dist/modules/agents/agent-integration-management.service.js.map +1 -1
  176. package/dist/modules/agents/agent-integrations.controller.d.ts +1 -3
  177. package/dist/modules/agents/agent-integrations.controller.js +4 -6
  178. package/dist/modules/agents/agent-integrations.controller.js.map +1 -1
  179. package/dist/modules/agents/agent-message-mapper.d.ts +1 -1
  180. package/dist/modules/agents/agent-message-mapper.js +3 -0
  181. package/dist/modules/agents/agent-message-mapper.js.map +1 -1
  182. package/dist/modules/agents/agent-modification-telemetry.service.d.ts +2 -2
  183. package/dist/modules/agents/agent-modification-telemetry.service.js.map +1 -1
  184. package/dist/modules/agents/agent-publish.service.js +5 -5
  185. package/dist/modules/agents/agent-publish.service.js.map +1 -1
  186. package/dist/modules/agents/agent-runnable-state.service.js +1 -1
  187. package/dist/modules/agents/agent-runnable-state.service.js.map +1 -1
  188. package/dist/modules/agents/agent-runtime-cache.service.js +1 -1
  189. package/dist/modules/agents/agent-runtime-cache.service.js.map +1 -1
  190. package/dist/modules/agents/agent-runtime-reconstruction.service.js +1 -1
  191. package/dist/modules/agents/agent-runtime-reconstruction.service.js.map +1 -1
  192. package/dist/modules/agents/agent-skills.service.js +3 -3
  193. package/dist/modules/agents/agent-skills.service.js.map +1 -1
  194. package/dist/modules/agents/agent-sse-stream.d.ts +4 -1
  195. package/dist/modules/agents/agent-sse-stream.js +46 -33
  196. package/dist/modules/agents/agent-sse-stream.js.map +1 -1
  197. package/dist/modules/agents/agent-task.service.js +3 -3
  198. package/dist/modules/agents/agent-task.service.js.map +1 -1
  199. package/dist/modules/agents/agent-test-run.service.d.ts +24 -41
  200. package/dist/modules/agents/agent-test-run.service.js +83 -59
  201. package/dist/modules/agents/agent-test-run.service.js.map +1 -1
  202. package/dist/modules/agents/agent-turn-execution.service.d.ts +49 -0
  203. package/dist/modules/agents/agent-turn-execution.service.js +212 -0
  204. package/dist/modules/agents/agent-turn-execution.service.js.map +1 -0
  205. package/dist/modules/agents/agent-workflow-execution.service.d.ts +6 -3
  206. package/dist/modules/agents/agent-workflow-execution.service.js +77 -105
  207. package/dist/modules/agents/agent-workflow-execution.service.js.map +1 -1
  208. package/dist/modules/agents/agent-workflow-tool-resume.service.d.ts +0 -1
  209. package/dist/modules/agents/agent-workflow-tool-resume.service.js +46 -20
  210. package/dist/modules/agents/agent-workflow-tool-resume.service.js.map +1 -1
  211. package/dist/modules/agents/agents-config.controller.js +1 -1
  212. package/dist/modules/agents/agents-config.controller.js.map +1 -1
  213. package/dist/modules/agents/background/agent-wake.service.d.ts +3 -5
  214. package/dist/modules/agents/background/agent-wake.service.js +6 -10
  215. package/dist/modules/agents/background/agent-wake.service.js.map +1 -1
  216. package/dist/modules/agents/builder/agents-builder-prompts.d.ts +1 -1
  217. package/dist/modules/agents/builder/agents-builder-prompts.js +21 -0
  218. package/dist/modules/agents/builder/agents-builder-prompts.js.map +1 -1
  219. package/dist/modules/agents/builder/get-resource-locator-options.tool.d.ts +2 -2
  220. package/dist/modules/agents/builder/skills/external-services.skill.js +4 -1
  221. package/dist/modules/agents/builder/skills/external-services.skill.js.map +1 -1
  222. package/dist/modules/agents/entities/agent-checkpoint.entity.d.ts +1 -0
  223. package/dist/modules/agents/entities/agent-checkpoint.entity.js +10 -1
  224. package/dist/modules/agents/entities/agent-checkpoint.entity.js.map +1 -1
  225. package/dist/modules/agents/instance-ai-builder-delegate.adapter.d.ts +1 -1
  226. package/dist/modules/agents/instance-ai-builder-delegate.adapter.js +3 -3
  227. package/dist/modules/agents/instance-ai-builder-delegate.adapter.js.map +1 -1
  228. package/dist/modules/agents/integrations/agent-chat-bridge.d.ts +11 -24
  229. package/dist/modules/agents/integrations/agent-chat-bridge.js +58 -28
  230. package/dist/modules/agents/integrations/agent-chat-bridge.js.map +1 -1
  231. package/dist/modules/agents/integrations/agent-chat-hitl-resume-handler.d.ts +5 -12
  232. package/dist/modules/agents/integrations/agent-chat-hitl-resume-handler.js +8 -3
  233. package/dist/modules/agents/integrations/agent-chat-hitl-resume-handler.js.map +1 -1
  234. package/dist/modules/agents/integrations/agent-chat-integration.d.ts +2 -1
  235. package/dist/modules/agents/integrations/agent-chat-integration.js.map +1 -1
  236. package/dist/modules/agents/integrations/agent-chat-message-context.d.ts +4 -4
  237. package/dist/modules/agents/integrations/agent-chat-message-context.js +4 -37
  238. package/dist/modules/agents/integrations/agent-chat-message-context.js.map +1 -1
  239. package/dist/modules/agents/integrations/integration-message-context.d.ts +7 -0
  240. package/dist/modules/agents/integrations/integration-message-context.js +115 -0
  241. package/dist/modules/agents/integrations/integration-message-context.js.map +1 -0
  242. package/dist/modules/agents/integrations/integration-message-context.service.d.ts +8 -3
  243. package/dist/modules/agents/integrations/integration-message-context.service.js +36 -58
  244. package/dist/modules/agents/integrations/integration-message-context.service.js.map +1 -1
  245. package/dist/modules/agents/integrations/integration-tool-definitions.js +1 -1
  246. package/dist/modules/agents/integrations/integration-tool-definitions.js.map +1 -1
  247. package/dist/modules/agents/integrations/integration-tool-execution.d.ts +0 -1
  248. package/dist/modules/agents/integrations/integration-tool-execution.js +19 -42
  249. package/dist/modules/agents/integrations/integration-tool-execution.js.map +1 -1
  250. package/dist/modules/agents/integrations/integration-tool-factory.d.ts +0 -1
  251. package/dist/modules/agents/integrations/integration-tool-factory.js +1 -3
  252. package/dist/modules/agents/integrations/integration-tool-factory.js.map +1 -1
  253. package/dist/modules/agents/integrations/integration-tool-types.d.ts +13 -0
  254. package/dist/modules/agents/integrations/n8n-checkpoint-storage.js +4 -2
  255. package/dist/modules/agents/integrations/n8n-checkpoint-storage.js.map +1 -1
  256. package/dist/modules/agents/integrations/platforms/telegram-bridge-behavior.d.ts +2 -0
  257. package/dist/modules/agents/integrations/platforms/telegram-bridge-behavior.js +40 -0
  258. package/dist/modules/agents/integrations/platforms/telegram-bridge-behavior.js.map +1 -1
  259. package/dist/modules/agents/integrations/platforms/telegram-integration.d.ts +1 -0
  260. package/dist/modules/agents/integrations/platforms/telegram-integration.js +4 -0
  261. package/dist/modules/agents/integrations/platforms/telegram-integration.js.map +1 -1
  262. package/dist/modules/agents/repositories/agent-checkpoint.repository.d.ts +1 -1
  263. package/dist/modules/agents/repositories/agent-checkpoint.repository.js +2 -2
  264. package/dist/modules/agents/repositories/agent-checkpoint.repository.js.map +1 -1
  265. package/dist/modules/agents/repositories/agent-execution.repository.d.ts +2 -1
  266. package/dist/modules/agents/repositories/agent-execution.repository.js +7 -4
  267. package/dist/modules/agents/repositories/agent-execution.repository.js.map +1 -1
  268. package/dist/modules/agents/sub-agents/delegate-sub-agent-tool.js +3 -0
  269. package/dist/modules/agents/sub-agents/delegate-sub-agent-tool.js.map +1 -1
  270. package/dist/modules/agents/sub-agents/sub-agent-runner.d.ts +3 -4
  271. package/dist/modules/agents/sub-agents/sub-agent-runner.js +95 -151
  272. package/dist/modules/agents/sub-agents/sub-agent-runner.js.map +1 -1
  273. package/dist/modules/agents/tools/workflow-tool-factory.js +1 -1
  274. package/dist/modules/agents/tools/workflow-tool-factory.js.map +1 -1
  275. package/dist/modules/agents/utils/agent-credential-provider.d.ts +1 -1
  276. package/dist/modules/agents/utils/agent-credential-provider.js +2 -2
  277. package/dist/modules/agents/utils/agent-credential-provider.js.map +1 -1
  278. package/dist/modules/agents/utils/execution-to-message-mapper.d.ts +1 -1
  279. package/dist/modules/agents/utils/execution-to-message-mapper.js +3 -0
  280. package/dist/modules/agents/utils/execution-to-message-mapper.js.map +1 -1
  281. package/dist/modules/agents/utils/mcp-attribution.js +3 -1
  282. package/dist/modules/agents/utils/mcp-attribution.js.map +1 -1
  283. package/dist/modules/breaking-changes/breaking-changes.migration-registry.service.d.ts +2 -2
  284. package/dist/modules/breaking-changes/breaking-changes.migration-registry.service.js.map +1 -1
  285. package/dist/modules/breaking-changes/breaking-changes.migration.service.d.ts +4 -11
  286. package/dist/modules/breaking-changes/breaking-changes.migration.service.js +52 -28
  287. package/dist/modules/breaking-changes/breaking-changes.migration.service.js.map +1 -1
  288. package/dist/modules/breaking-changes/detection-report.d.ts +5 -0
  289. package/dist/modules/breaking-changes/detection-report.js +18 -0
  290. package/dist/modules/breaking-changes/detection-report.js.map +1 -0
  291. package/dist/modules/breaking-changes/migrations/execute-workflow-each-to-loop.migration.d.ts +2 -0
  292. package/dist/modules/breaking-changes/migrations/execute-workflow-each-to-loop.migration.js +159 -0
  293. package/dist/modules/breaking-changes/migrations/execute-workflow-each-to-loop.migration.js.map +1 -0
  294. package/dist/modules/breaking-changes/migrations/index.d.ts +2 -2
  295. package/dist/modules/breaking-changes/migrations/index.js +2 -1
  296. package/dist/modules/breaking-changes/migrations/index.js.map +1 -1
  297. package/dist/modules/breaking-changes/migrations/node-migration.d.ts +30 -1
  298. package/dist/modules/breaking-changes/migrations/node-migration.js +12 -0
  299. package/dist/modules/breaking-changes/migrations/node-migration.js.map +1 -1
  300. package/dist/modules/breaking-changes/rules/v2/oauth-callback-auth.rule.js +2 -1
  301. package/dist/modules/breaking-changes/rules/v2/oauth-callback-auth.rule.js.map +1 -1
  302. package/dist/modules/breaking-changes/rules/v2/pyodide-removed.rule.js +6 -12
  303. package/dist/modules/breaking-changes/rules/v2/pyodide-removed.rule.js.map +1 -1
  304. package/dist/modules/breaking-changes/rules/v3/agent-node-version.rule.js +6 -12
  305. package/dist/modules/breaking-changes/rules/v3/agent-node-version.rule.js.map +1 -1
  306. package/dist/modules/breaking-changes/rules/v3/agent-removed-modes.rule.js +7 -13
  307. package/dist/modules/breaking-changes/rules/v3/agent-removed-modes.rule.js.map +1 -1
  308. package/dist/modules/breaking-changes/rules/v3/ai-transform-deprecated.rule.js +6 -12
  309. package/dist/modules/breaking-changes/rules/v3/ai-transform-deprecated.rule.js.map +1 -1
  310. package/dist/modules/breaking-changes/rules/v3/always-output-data-multi-output.rule.js +6 -13
  311. package/dist/modules/breaking-changes/rules/v3/always-output-data-multi-output.rule.js.map +1 -1
  312. package/dist/modules/breaking-changes/rules/v3/caller-policy-default-any.rule.js +2 -1
  313. package/dist/modules/breaking-changes/rules/v3/caller-policy-default-any.rule.js.map +1 -1
  314. package/dist/modules/breaking-changes/rules/v3/chat-hub-deprecated.rule.js +2 -1
  315. package/dist/modules/breaking-changes/rules/v3/chat-hub-deprecated.rule.js.map +1 -1
  316. package/dist/modules/breaking-changes/rules/v3/chat-trigger-embedded-json.rule.js +6 -12
  317. package/dist/modules/breaking-changes/rules/v3/chat-trigger-embedded-json.rule.js.map +1 -1
  318. package/dist/modules/breaking-changes/rules/v3/compression-node-limits.rule.js +2 -1
  319. package/dist/modules/breaking-changes/rules/v3/compression-node-limits.rule.js.map +1 -1
  320. package/dist/modules/breaking-changes/rules/v3/docker-only-deployment.rule.js +2 -1
  321. package/dist/modules/breaking-changes/rules/v3/docker-only-deployment.rule.js.map +1 -1
  322. package/dist/modules/breaking-changes/rules/v3/execute-workflow-each-mode.rule.js +6 -12
  323. package/dist/modules/breaking-changes/rules/v3/execute-workflow-each-mode.rule.js.map +1 -1
  324. package/dist/modules/breaking-changes/rules/v3/execute-workflow-source-modes.rule.js +6 -12
  325. package/dist/modules/breaking-changes/rules/v3/execute-workflow-source-modes.rule.js.map +1 -1
  326. package/dist/modules/breaking-changes/rules/v3/external-secrets-project-roles-default.rule.js +3 -2
  327. package/dist/modules/breaking-changes/rules/v3/external-secrets-project-roles-default.rule.js.map +1 -1
  328. package/dist/modules/breaking-changes/rules/v3/get-paired-item.rule.js +6 -12
  329. package/dist/modules/breaking-changes/rules/v3/get-paired-item.rule.js.map +1 -1
  330. package/dist/modules/breaking-changes/rules/v3/gmail-trigger-version.rule.js +6 -12
  331. package/dist/modules/breaking-changes/rules/v3/gmail-trigger-version.rule.js.map +1 -1
  332. package/dist/modules/breaking-changes/rules/v3/in-memory-binary-data.rule.js +2 -1
  333. package/dist/modules/breaking-changes/rules/v3/in-memory-binary-data.rule.js.map +1 -1
  334. package/dist/modules/breaking-changes/rules/v3/offload-manual-executions.rule.js +2 -1
  335. package/dist/modules/breaking-changes/rules/v3/offload-manual-executions.rule.js.map +1 -1
  336. package/dist/modules/breaking-changes/rules/v3/pre-execute-error-creates-execution.rule.js +2 -1
  337. package/dist/modules/breaking-changes/rules/v3/pre-execute-error-creates-execution.rule.js.map +1 -1
  338. package/dist/modules/breaking-changes/rules/v3/ssrf-default-blocked-ranges.rule.js +2 -1
  339. package/dist/modules/breaking-changes/rules/v3/ssrf-default-blocked-ranges.rule.js.map +1 -1
  340. package/dist/modules/breaking-changes/rules/v3/task-runner-task-timeout.rule.js +2 -1
  341. package/dist/modules/breaking-changes/rules/v3/task-runner-task-timeout.rule.js.map +1 -1
  342. package/dist/modules/breaking-changes/rules/v3/unverified-packages.rule.js +2 -1
  343. package/dist/modules/breaking-changes/rules/v3/unverified-packages.rule.js.map +1 -1
  344. package/dist/modules/chat-hub/chat-hub-workflow.service.d.ts +1 -0
  345. package/dist/modules/chat-hub/chat-hub-workflow.service.js +7 -2
  346. package/dist/modules/chat-hub/chat-hub-workflow.service.js.map +1 -1
  347. package/dist/modules/chat-hub/chat-hub.attachment.service.js +3 -1
  348. package/dist/modules/chat-hub/chat-hub.attachment.service.js.map +1 -1
  349. package/dist/modules/community-packages/community-node-types-utils.d.ts +2 -2
  350. package/dist/modules/community-packages/community-node-types-utils.js +4 -2
  351. package/dist/modules/community-packages/community-node-types-utils.js.map +1 -1
  352. package/dist/modules/community-packages/community-node-types.service.d.ts +1 -0
  353. package/dist/modules/community-packages/community-node-types.service.js +12 -6
  354. package/dist/modules/community-packages/community-node-types.service.js.map +1 -1
  355. package/dist/modules/community-packages/community-packages.config.d.ts +1 -0
  356. package/dist/modules/community-packages/community-packages.config.js +2 -0
  357. package/dist/modules/community-packages/community-packages.config.js.map +1 -1
  358. package/dist/modules/community-packages/community-packages.lifecycle.service.d.ts +2 -1
  359. package/dist/modules/community-packages/community-packages.lifecycle.service.js +23 -18
  360. package/dist/modules/community-packages/community-packages.lifecycle.service.js.map +1 -1
  361. package/dist/modules/community-packages/community-packages.service.d.ts +1 -0
  362. package/dist/modules/community-packages/community-packages.service.js +33 -2
  363. package/dist/modules/community-packages/community-packages.service.js.map +1 -1
  364. package/dist/modules/engine-v2/engine-data-plane-client.d.ts +2 -1
  365. package/dist/modules/engine-v2/engine-data-plane-client.js +14 -0
  366. package/dist/modules/engine-v2/engine-data-plane-client.js.map +1 -1
  367. package/dist/modules/engine-v2/engine-v2.module.d.ts +1 -0
  368. package/dist/modules/engine-v2/engine-v2.module.js +11 -2
  369. package/dist/modules/engine-v2/engine-v2.module.js.map +1 -1
  370. package/dist/modules/engine-v2/engine-v2.runtime.d.ts +11 -2
  371. package/dist/modules/engine-v2/engine-v2.runtime.js +29 -11
  372. package/dist/modules/engine-v2/engine-v2.runtime.js.map +1 -1
  373. package/dist/modules/external-secrets.ee/constants.d.ts +0 -1
  374. package/dist/modules/external-secrets.ee/constants.js +1 -2
  375. package/dist/modules/external-secrets.ee/constants.js.map +1 -1
  376. package/dist/modules/external-secrets.ee/external-secrets-provider-connection-manager.ee.d.ts +1 -2
  377. package/dist/modules/external-secrets.ee/external-secrets-provider-connection-manager.ee.js +28 -29
  378. package/dist/modules/external-secrets.ee/external-secrets-provider-connection-manager.ee.js.map +1 -1
  379. package/dist/modules/external-secrets.ee/external-secrets.config.d.ts +2 -0
  380. package/dist/modules/external-secrets.ee/external-secrets.config.js +12 -0
  381. package/dist/modules/external-secrets.ee/external-secrets.config.js.map +1 -1
  382. package/dist/modules/external-secrets.ee/provider-lifecycle.service.js +1 -1
  383. package/dist/modules/external-secrets.ee/provider-lifecycle.service.js.map +1 -1
  384. package/dist/modules/external-secrets.ee/providers/infisical.js +6 -2
  385. package/dist/modules/external-secrets.ee/providers/infisical.js.map +1 -1
  386. package/dist/modules/external-secrets.ee/providers/vault.d.ts +1 -0
  387. package/dist/modules/external-secrets.ee/providers/vault.js +43 -13
  388. package/dist/modules/external-secrets.ee/providers/vault.js.map +1 -1
  389. package/dist/modules/external-secrets.ee/retry-manager.service.js +9 -1
  390. package/dist/modules/external-secrets.ee/retry-manager.service.js.map +1 -1
  391. package/dist/modules/external-secrets.ee/secrets-cache.service.d.ts +5 -2
  392. package/dist/modules/external-secrets.ee/secrets-cache.service.js +23 -20
  393. package/dist/modules/external-secrets.ee/secrets-cache.service.js.map +1 -1
  394. package/dist/modules/external-secrets.ee/types.d.ts +1 -0
  395. package/dist/modules/external-secrets.ee/types.js +7 -1
  396. package/dist/modules/external-secrets.ee/types.js.map +1 -1
  397. package/dist/modules/external-secrets.ee/with-timeout.d.ts +4 -0
  398. package/dist/modules/external-secrets.ee/with-timeout.js +21 -0
  399. package/dist/modules/external-secrets.ee/with-timeout.js.map +1 -0
  400. package/dist/modules/insights/database/repositories/insights-by-period.repository.d.ts +3 -2
  401. package/dist/modules/insights/database/repositories/insights-by-period.repository.js +4 -3
  402. package/dist/modules/insights/database/repositories/insights-by-period.repository.js.map +1 -1
  403. package/dist/modules/insights/insights-collection.service.js +10 -2
  404. package/dist/modules/insights/insights-collection.service.js.map +1 -1
  405. package/dist/modules/insights/insights.module.d.ts +1 -1
  406. package/dist/modules/instance-ai/computer-use-availability.d.ts +14 -0
  407. package/dist/modules/instance-ai/computer-use-availability.js +42 -0
  408. package/dist/modules/instance-ai/computer-use-availability.js.map +1 -0
  409. package/dist/modules/instance-ai/eval/agent-execution.service.js +1 -1
  410. package/dist/modules/instance-ai/eval/agent-execution.service.js.map +1 -1
  411. package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.d.ts +4 -2
  412. package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.js +17 -3
  413. package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.js.map +1 -1
  414. package/dist/modules/instance-ai/eval/execution.service.js +14 -4
  415. package/dist/modules/instance-ai/eval/execution.service.js.map +1 -1
  416. package/dist/modules/instance-ai/eval/thread-restore.service.d.ts +9 -3
  417. package/dist/modules/instance-ai/eval/thread-restore.service.js +75 -7
  418. package/dist/modules/instance-ai/eval/thread-restore.service.js.map +1 -1
  419. package/dist/modules/instance-ai/eval/workflow-analysis.d.ts +3 -1
  420. package/dist/modules/instance-ai/eval/workflow-analysis.js +16 -2
  421. package/dist/modules/instance-ai/eval/workflow-analysis.js.map +1 -1
  422. package/dist/modules/instance-ai/instance-ai-conversation-history.service.js +1 -1
  423. package/dist/modules/instance-ai/instance-ai-conversation-history.service.js.map +1 -1
  424. package/dist/modules/instance-ai/instance-ai-execution-wait.d.ts +14 -0
  425. package/dist/modules/instance-ai/instance-ai-execution-wait.js +66 -0
  426. package/dist/modules/instance-ai/instance-ai-execution-wait.js.map +1 -0
  427. package/dist/modules/instance-ai/instance-ai-settings.service.js +1 -4
  428. package/dist/modules/instance-ai/instance-ai-settings.service.js.map +1 -1
  429. package/dist/modules/instance-ai/instance-ai-step-run.d.ts +32 -0
  430. package/dist/modules/instance-ai/instance-ai-step-run.js +135 -0
  431. package/dist/modules/instance-ai/instance-ai-step-run.js.map +1 -0
  432. package/dist/modules/instance-ai/instance-ai.adapter.service.d.ts +9 -2
  433. package/dist/modules/instance-ai/instance-ai.adapter.service.js +305 -92
  434. package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -1
  435. package/dist/modules/instance-ai/instance-ai.controller.d.ts +1 -0
  436. package/dist/modules/instance-ai/instance-ai.controller.js +17 -4
  437. package/dist/modules/instance-ai/instance-ai.controller.js.map +1 -1
  438. package/dist/modules/instance-ai/instance-ai.service.d.ts +4 -4
  439. package/dist/modules/instance-ai/instance-ai.service.js +85 -121
  440. package/dist/modules/instance-ai/instance-ai.service.js.map +1 -1
  441. package/dist/modules/instance-ai/instance-context.service.d.ts +39 -10
  442. package/dist/modules/instance-ai/instance-context.service.js +283 -69
  443. package/dist/modules/instance-ai/instance-context.service.js.map +1 -1
  444. package/dist/modules/instance-ai/internal-messages.d.ts +11 -2
  445. package/dist/modules/instance-ai/internal-messages.js +183 -16
  446. package/dist/modules/instance-ai/internal-messages.js.map +1 -1
  447. package/dist/modules/instance-ai/message-parser.js.map +1 -1
  448. package/dist/modules/instance-registry/instance-registry.module.d.ts +2 -2
  449. package/dist/modules/instance-registry/instance-registry.module.js +5 -1
  450. package/dist/modules/instance-registry/instance-registry.module.js.map +1 -1
  451. package/dist/modules/instance-registry/stale-member-cleanup.task.d.ts +1 -1
  452. package/dist/modules/instance-registry/stale-member-cleanup.task.js +1 -1
  453. package/dist/modules/instance-registry/stale-member-cleanup.task.js.map +1 -1
  454. package/dist/modules/instance-registry/storage/redis-instance-storage.js +2 -10
  455. package/dist/modules/instance-registry/storage/redis-instance-storage.js.map +1 -1
  456. package/dist/modules/mcp/mcp-post-save-metrics.service.d.ts +10 -0
  457. package/dist/modules/mcp/mcp-post-save-metrics.service.js +40 -0
  458. package/dist/modules/mcp/mcp-post-save-metrics.service.js.map +1 -0
  459. package/dist/modules/mcp/mcp-protected-resource.d.ts +5 -2
  460. package/dist/modules/mcp/mcp-protected-resource.js +25 -4
  461. package/dist/modules/mcp/mcp-protected-resource.js.map +1 -1
  462. package/dist/modules/mcp/mcp-scopes.d.ts +3 -0
  463. package/dist/modules/mcp/mcp-scopes.js +21 -1
  464. package/dist/modules/mcp/mcp-scopes.js.map +1 -1
  465. package/dist/modules/mcp/mcp-tool-availability.d.ts +7 -0
  466. package/dist/modules/mcp/mcp-tool-availability.js +11 -0
  467. package/dist/modules/mcp/mcp-tool-availability.js.map +1 -1
  468. package/dist/modules/mcp/mcp.config.d.ts +1 -0
  469. package/dist/modules/mcp/mcp.config.js +5 -0
  470. package/dist/modules/mcp/mcp.config.js.map +1 -1
  471. package/dist/modules/mcp/mcp.constants.d.ts +6 -0
  472. package/dist/modules/mcp/mcp.constants.js +7 -1
  473. package/dist/modules/mcp/mcp.constants.js.map +1 -1
  474. package/dist/modules/mcp/mcp.controller.js +3 -6
  475. package/dist/modules/mcp/mcp.controller.js.map +1 -1
  476. package/dist/modules/mcp/mcp.service.d.ts +11 -7
  477. package/dist/modules/mcp/mcp.service.js +116 -43
  478. package/dist/modules/mcp/mcp.service.js.map +1 -1
  479. package/dist/modules/mcp/mcp.types.d.ts +0 -1
  480. package/dist/modules/mcp/tools/get-instance-context.tool.d.ts +29 -0
  481. package/dist/modules/mcp/tools/get-instance-context.tool.js +109 -0
  482. package/dist/modules/mcp/tools/get-instance-context.tool.js.map +1 -0
  483. package/dist/modules/mcp/tools/get-node-usage.tool.d.ts +13 -0
  484. package/dist/modules/mcp/tools/get-node-usage.tool.js +117 -0
  485. package/dist/modules/mcp/tools/get-node-usage.tool.js.map +1 -0
  486. package/dist/modules/mcp/tools/get-user-preferences.tool.d.ts +10 -0
  487. package/dist/modules/mcp/tools/get-user-preferences.tool.js +108 -0
  488. package/dist/modules/mcp/tools/get-user-preferences.tool.js.map +1 -0
  489. package/dist/modules/mcp/tools/instance-activity.tool.d.ts +27 -0
  490. package/dist/modules/mcp/tools/instance-activity.tool.js +205 -0
  491. package/dist/modules/mcp/tools/instance-activity.tool.js.map +1 -0
  492. package/dist/modules/mcp/tools/list-credentials.tool.d.ts +63 -13
  493. package/dist/modules/mcp/tools/list-credentials.tool.js +8 -1
  494. package/dist/modules/mcp/tools/list-credentials.tool.js.map +1 -1
  495. package/dist/modules/mcp/tools/search-executions.tool.d.ts +3 -3
  496. package/dist/modules/mcp/tools/search-executions.tool.js +22 -14
  497. package/dist/modules/mcp/tools/search-executions.tool.js.map +1 -1
  498. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.d.ts +8 -4
  499. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js +128 -70
  500. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js.map +1 -1
  501. package/dist/modules/mcp/tools/workflow-builder/error-code.utils.d.ts +1 -0
  502. package/dist/modules/mcp/tools/workflow-builder/error-code.utils.js +22 -0
  503. package/dist/modules/mcp/tools/workflow-builder/error-code.utils.js.map +1 -0
  504. package/dist/modules/mcp/tools/workflow-builder/get-workflow-best-practices.tool.d.ts +1 -3
  505. package/dist/modules/mcp/tools/workflow-builder/get-workflow-best-practices.tool.js +5 -6
  506. package/dist/modules/mcp/tools/workflow-builder/get-workflow-best-practices.tool.js.map +1 -1
  507. package/dist/modules/mcp/tools/workflow-builder/get-workflow-node-types.tool.d.ts +1 -1
  508. package/dist/modules/mcp/tools/workflow-builder/get-workflow-node-types.tool.js +2 -2
  509. package/dist/modules/mcp/tools/workflow-builder/get-workflow-node-types.tool.js.map +1 -1
  510. package/dist/modules/mcp/tools/workflow-builder/get-workflow-sdk-reference.tool.d.ts +2 -5
  511. package/dist/modules/mcp/tools/workflow-builder/get-workflow-sdk-reference.tool.js +10 -16
  512. package/dist/modules/mcp/tools/workflow-builder/get-workflow-sdk-reference.tool.js.map +1 -1
  513. package/dist/modules/mcp/tools/workflow-builder/install-community-node.tool.d.ts +12 -0
  514. package/dist/modules/mcp/tools/workflow-builder/install-community-node.tool.js +140 -0
  515. package/dist/modules/mcp/tools/workflow-builder/install-community-node.tool.js.map +1 -0
  516. package/dist/modules/mcp/tools/workflow-builder/mcp-instructions.d.ts +2 -2
  517. package/dist/modules/mcp/tools/workflow-builder/mcp-instructions.js +17 -9
  518. package/dist/modules/mcp/tools/workflow-builder/mcp-instructions.js.map +1 -1
  519. package/dist/modules/mcp/tools/workflow-builder/sdk-reference-content.d.ts +1 -3
  520. package/dist/modules/mcp/tools/workflow-builder/sdk-reference-content.js +2 -6
  521. package/dist/modules/mcp/tools/workflow-builder/sdk-reference-content.js.map +1 -1
  522. package/dist/modules/mcp/tools/workflow-builder/search-workflow-nodes.tool.d.ts +1 -1
  523. package/dist/modules/mcp/tools/workflow-builder/search-workflow-nodes.tool.js +9 -8
  524. package/dist/modules/mcp/tools/workflow-builder/search-workflow-nodes.tool.js.map +1 -1
  525. package/dist/modules/mcp/tools/workflow-builder/uninstalled-node-warnings.d.ts +13 -0
  526. package/dist/modules/mcp/tools/workflow-builder/uninstalled-node-warnings.js +23 -0
  527. package/dist/modules/mcp/tools/workflow-builder/uninstalled-node-warnings.js.map +1 -0
  528. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.d.ts +18 -14
  529. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js +200 -87
  530. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js.map +1 -1
  531. package/dist/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.d.ts +1 -4
  532. package/dist/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.js +3 -5
  533. package/dist/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.js.map +1 -1
  534. package/dist/modules/mcp/tools/workflow-builder/workflow-operations.d.ts +1 -3
  535. package/dist/modules/mcp/tools/workflow-builder/workflow-operations.js +2 -2
  536. package/dist/modules/mcp/tools/workflow-builder/workflow-operations.js.map +1 -1
  537. package/dist/modules/mcp-registry/node-description-transform.js +3 -0
  538. package/dist/modules/mcp-registry/node-description-transform.js.map +1 -1
  539. package/dist/modules/mcp-registry/registry/mcp-registry-api.client.js +1 -1
  540. package/dist/modules/mcp-registry/registry/mcp-registry-api.client.js.map +1 -1
  541. package/dist/modules/mcp-registry/registry/mcp-registry-capabilities.d.ts +6 -0
  542. package/dist/modules/mcp-registry/registry/mcp-registry-capabilities.js +34 -0
  543. package/dist/modules/mcp-registry/registry/mcp-registry-capabilities.js.map +1 -0
  544. package/dist/modules/mcp-registry/registry/mcp-registry-server.entity.d.ts +1 -0
  545. package/dist/modules/mcp-registry/registry/mcp-registry-server.entity.js.map +1 -1
  546. package/dist/modules/mcp-registry/registry/mcp-registry.service.d.ts +4 -1
  547. package/dist/modules/mcp-registry/registry/mcp-registry.service.js +20 -9
  548. package/dist/modules/mcp-registry/registry/mcp-registry.service.js.map +1 -1
  549. package/dist/modules/mcp-registry/registry/mcp-registry.types.d.ts +3 -0
  550. package/dist/modules/mcp-registry/registry/mcp-registry.types.js +1 -0
  551. package/dist/modules/mcp-registry/registry/mcp-registry.types.js.map +1 -1
  552. package/dist/modules/n8n-packages/engine/n8n-package-parser.js +1 -1
  553. package/dist/modules/n8n-packages/engine/n8n-package-parser.js.map +1 -1
  554. package/dist/modules/n8n-packages/entities/credential/credential.serializer.js.map +1 -1
  555. package/dist/modules/n8n-packages/entities/variable/variable-requirements.extractor.d.ts +8 -2
  556. package/dist/modules/n8n-packages/entities/variable/variable-requirements.extractor.js.map +1 -1
  557. package/dist/modules/n8n-packages/entities/workflow/workflow-published-state.d.ts +1 -1
  558. package/dist/modules/n8n-packages/entities/workflow/workflow-published-state.js +2 -2
  559. package/dist/modules/n8n-packages/entities/workflow/workflow-published-state.js.map +1 -1
  560. package/dist/modules/n8n-packages/entities/workflow/workflow.serializer.d.ts +1 -2
  561. package/dist/modules/n8n-packages/entities/workflow/workflow.serializer.js +4 -2
  562. package/dist/modules/n8n-packages/entities/workflow/workflow.serializer.js.map +1 -1
  563. package/dist/modules/n8n-packages/io/directory/package-directory-inventory-reader.d.ts +43 -0
  564. package/dist/modules/n8n-packages/io/directory/package-directory-inventory-reader.js +177 -0
  565. package/dist/modules/n8n-packages/io/directory/package-directory-inventory-reader.js.map +1 -0
  566. package/dist/modules/n8n-packages/spec/serialized/workflow-metadata.schema.d.ts +3 -0
  567. package/dist/modules/n8n-packages/spec/serialized/workflow-metadata.schema.js +1 -0
  568. package/dist/modules/n8n-packages/spec/serialized/workflow-metadata.schema.js.map +1 -1
  569. package/dist/modules/n8n-packages/spec/serialized/workflow.schema.d.ts +0 -3
  570. package/dist/modules/n8n-packages/spec/serialized/workflow.schema.js +0 -1
  571. package/dist/modules/n8n-packages/spec/serialized/workflow.schema.js.map +1 -1
  572. package/dist/modules/oauth-jwe/oauth-jwe-key.service.d.ts +1 -0
  573. package/dist/modules/oauth-jwe/oauth-jwe-key.service.js +10 -3
  574. package/dist/modules/oauth-jwe/oauth-jwe-key.service.js.map +1 -1
  575. package/dist/modules/oauth-server/oauth-clients.controller.js +1 -1
  576. package/dist/modules/oauth-server/oauth-clients.controller.js.map +1 -1
  577. package/dist/modules/oauth-server/oauth-consent.service.d.ts +1 -0
  578. package/dist/modules/oauth-server/oauth-consent.service.js +21 -10
  579. package/dist/modules/oauth-server/oauth-consent.service.js.map +1 -1
  580. package/dist/modules/oauth-server/oauth-server.service.d.ts +1 -1
  581. package/dist/modules/oauth-server/oauth-server.service.js +2 -2
  582. package/dist/modules/oauth-server/oauth-server.service.js.map +1 -1
  583. package/dist/modules/oauth-server/oauth-token.service.d.ts +3 -1
  584. package/dist/modules/oauth-server/oauth-token.service.js +10 -2
  585. package/dist/modules/oauth-server/oauth-token.service.js.map +1 -1
  586. package/dist/modules/policy-infrastructure/policy-decision-audit.d.ts +1 -1
  587. package/dist/modules/policy-infrastructure/policy-decision-audit.js +8 -1
  588. package/dist/modules/policy-infrastructure/policy-decision-audit.js.map +1 -1
  589. package/dist/modules/policy-infrastructure/policy-decision.service.js +1 -0
  590. package/dist/modules/policy-infrastructure/policy-decision.service.js.map +1 -1
  591. package/dist/modules/promotions.ee/base-branch-files.d.ts +2 -2
  592. package/dist/modules/promotions.ee/base-branch-files.js +2 -3
  593. package/dist/modules/promotions.ee/base-branch-files.js.map +1 -1
  594. package/dist/modules/promotions.ee/constants.d.ts +1 -0
  595. package/dist/modules/promotions.ee/constants.js +2 -1
  596. package/dist/modules/promotions.ee/constants.js.map +1 -1
  597. package/dist/modules/promotions.ee/database/repositories/promotion-provider.repository.js +1 -14
  598. package/dist/modules/promotions.ee/database/repositories/promotion-provider.repository.js.map +1 -1
  599. package/dist/modules/promotions.ee/promotion-binding-preflight.service.d.ts +22 -0
  600. package/dist/modules/promotions.ee/promotion-binding-preflight.service.js +264 -0
  601. package/dist/modules/promotions.ee/promotion-binding-preflight.service.js.map +1 -0
  602. package/dist/modules/promotions.ee/promotion-change.service.d.ts +8 -3
  603. package/dist/modules/promotions.ee/promotion-change.service.js +133 -24
  604. package/dist/modules/promotions.ee/promotion-change.service.js.map +1 -1
  605. package/dist/modules/promotions.ee/promotion-changes.controller.d.ts +2 -2
  606. package/dist/modules/promotions.ee/promotion-changes.controller.js +10 -12
  607. package/dist/modules/promotions.ee/promotion-changes.controller.js.map +1 -1
  608. package/dist/modules/promotions.ee/promotion-connections.service.d.ts +48 -2
  609. package/dist/modules/promotions.ee/promotion-connections.service.js +66 -14
  610. package/dist/modules/promotions.ee/promotion-connections.service.js.map +1 -1
  611. package/dist/modules/promotions.ee/promotions-git.service.d.ts +8 -1
  612. package/dist/modules/promotions.ee/promotions-git.service.js +27 -9
  613. package/dist/modules/promotions.ee/promotions-git.service.js.map +1 -1
  614. package/dist/modules/promotions.ee/promotions-git.utils.d.ts +8 -2
  615. package/dist/modules/promotions.ee/promotions-git.utils.js +10 -0
  616. package/dist/modules/promotions.ee/promotions-git.utils.js.map +1 -1
  617. package/dist/modules/promotions.ee/promotions.service.d.ts +9 -5
  618. package/dist/modules/promotions.ee/promotions.service.js +78 -21
  619. package/dist/modules/promotions.ee/promotions.service.js.map +1 -1
  620. package/dist/modules/promotions.ee/promotions.types.d.ts +6 -0
  621. package/dist/modules/promotions.ee/promotions.types.js.map +1 -1
  622. package/dist/modules/token-exchange/database/repositories/token-exchange-jti.repository.js +1 -0
  623. package/dist/modules/token-exchange/database/repositories/token-exchange-jti.repository.js.map +1 -1
  624. package/dist/modules/token-exchange/services/jti-cleanup.task.d.ts +1 -1
  625. package/dist/modules/token-exchange/services/jti-cleanup.task.js +1 -1
  626. package/dist/modules/token-exchange/services/jti-cleanup.task.js.map +1 -1
  627. package/dist/modules/type-availability-policies/constants.d.ts +1 -0
  628. package/dist/modules/type-availability-policies/constants.js +2 -1
  629. package/dist/modules/type-availability-policies/constants.js.map +1 -1
  630. package/dist/modules/type-availability-policies/database/entities/type-availability-policy.entity.js +2 -1
  631. package/dist/modules/type-availability-policies/database/entities/type-availability-policy.entity.js.map +1 -1
  632. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy-scope.repository.d.ts +2 -1
  633. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy-scope.repository.js +12 -0
  634. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy-scope.repository.js.map +1 -1
  635. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy.repository.d.ts +5 -1
  636. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy.repository.js +11 -2
  637. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy.repository.js.map +1 -1
  638. package/dist/modules/type-availability-policies/node-type-policy.check.d.ts +17 -0
  639. package/dist/modules/type-availability-policies/node-type-policy.check.js +87 -0
  640. package/dist/modules/type-availability-policies/node-type-policy.check.js.map +1 -0
  641. package/dist/modules/type-availability-policies/package-resolver.d.ts +4 -0
  642. package/dist/modules/type-availability-policies/package-resolver.js +26 -0
  643. package/dist/modules/type-availability-policies/package-resolver.js.map +1 -0
  644. package/dist/modules/type-availability-policies/policy-evaluator.d.ts +6 -4
  645. package/dist/modules/type-availability-policies/policy-evaluator.js +16 -13
  646. package/dist/modules/type-availability-policies/policy-evaluator.js.map +1 -1
  647. package/dist/modules/type-availability-policies/policy-rule.types.d.ts +4 -0
  648. package/dist/modules/type-availability-policies/policy-shadow-lint.d.ts +2 -1
  649. package/dist/modules/type-availability-policies/policy-shadow-lint.js +7 -5
  650. package/dist/modules/type-availability-policies/policy-shadow-lint.js.map +1 -1
  651. package/dist/modules/type-availability-policies/type-availability-policies.module.d.ts +1 -1
  652. package/dist/modules/type-availability-policies/type-availability-policies.module.js +1 -0
  653. package/dist/modules/type-availability-policies/type-availability-policies.module.js.map +1 -1
  654. package/dist/modules/type-availability-policies/type-availability-policy-instance.controller.js +3 -3
  655. package/dist/modules/type-availability-policies/type-availability-policy-instance.controller.js.map +1 -1
  656. package/dist/modules/type-availability-policies/type-availability-policy.service.d.ts +33 -4
  657. package/dist/modules/type-availability-policies/type-availability-policy.service.js +189 -28
  658. package/dist/modules/type-availability-policies/type-availability-policy.service.js.map +1 -1
  659. package/dist/modules/workflow-index/workflow-index.service.js +5 -2
  660. package/dist/modules/workflow-index/workflow-index.service.js.map +1 -1
  661. package/dist/node-catalog/index.d.ts +1 -1
  662. package/dist/node-catalog/index.js.map +1 -1
  663. package/dist/node-catalog/node-catalog.service.d.ts +28 -4
  664. package/dist/node-catalog/node-catalog.service.js +202 -7
  665. package/dist/node-catalog/node-catalog.service.js.map +1 -1
  666. package/dist/node-catalog/registry-lookup.d.ts +12 -0
  667. package/dist/node-catalog/registry-lookup.js +68 -0
  668. package/dist/node-catalog/registry-lookup.js.map +1 -0
  669. package/dist/node-execution/execute-node.service.d.ts +72 -0
  670. package/dist/node-execution/execute-node.service.js +297 -0
  671. package/dist/node-execution/execute-node.service.js.map +1 -0
  672. package/dist/node-execution/index.d.ts +2 -0
  673. package/dist/node-execution/index.js +5 -1
  674. package/dist/node-execution/index.js.map +1 -1
  675. package/dist/oauth/dcr-managed-fields.d.ts +1 -1
  676. package/dist/oauth/dcr-managed-fields.js +4 -2
  677. package/dist/oauth/dcr-managed-fields.js.map +1 -1
  678. package/dist/policy/policy-enforcement-backend.d.ts +2 -1
  679. package/dist/policy/policy-enforcement.service.d.ts +3 -1
  680. package/dist/policy/policy-enforcement.service.js +9 -0
  681. package/dist/policy/policy-enforcement.service.js.map +1 -1
  682. package/dist/posthog/index.d.ts +1 -0
  683. package/dist/posthog/index.js +35 -14
  684. package/dist/posthog/index.js.map +1 -1
  685. package/dist/public-api/constants.d.ts +1 -0
  686. package/dist/public-api/constants.js +5 -0
  687. package/dist/public-api/constants.js.map +1 -0
  688. package/dist/public-api/public-api-controller.registry.d.ts +1 -0
  689. package/dist/public-api/public-api-controller.registry.js +15 -0
  690. package/dist/public-api/public-api-controller.registry.js.map +1 -1
  691. package/dist/public-api/types.d.ts +2 -27
  692. package/dist/public-api/v1/controllers/credentials.public.controller.d.ts +3 -1
  693. package/dist/public-api/v1/controllers/credentials.public.controller.js +52 -1
  694. package/dist/public-api/v1/controllers/credentials.public.controller.js.map +1 -1
  695. package/dist/public-api/v1/controllers/executions.public.controller.js +3 -3
  696. package/dist/public-api/v1/controllers/executions.public.controller.js.map +1 -1
  697. package/dist/public-api/v1/controllers/folders.public.controller.d.ts +10 -0
  698. package/dist/public-api/v1/controllers/folders.public.controller.js +121 -0
  699. package/dist/public-api/v1/controllers/folders.public.controller.js.map +1 -0
  700. package/dist/public-api/v1/controllers/index.d.ts +2 -0
  701. package/dist/public-api/v1/controllers/index.js +2 -0
  702. package/dist/public-api/v1/controllers/index.js.map +1 -1
  703. package/dist/public-api/v1/controllers/insights.public.controller.d.ts +9 -0
  704. package/dist/public-api/v1/controllers/insights.public.controller.js +69 -0
  705. package/dist/public-api/v1/controllers/insights.public.controller.js.map +1 -0
  706. package/dist/public-api/v1/controllers/node-type-policies.public.controller.d.ts +11 -5
  707. package/dist/public-api/v1/controllers/node-type-policies.public.controller.js +152 -4
  708. package/dist/public-api/v1/controllers/node-type-policies.public.controller.js.map +1 -1
  709. package/dist/public-api/v1/controllers/promotions.public.controller.d.ts +5 -2
  710. package/dist/public-api/v1/controllers/promotions.public.controller.js +60 -4
  711. package/dist/public-api/v1/controllers/promotions.public.controller.js.map +1 -1
  712. package/dist/public-api/v1/controllers/roles.public.controller.js +1 -0
  713. package/dist/public-api/v1/controllers/roles.public.controller.js.map +1 -1
  714. package/dist/public-api/v1/controllers/tags.public.controller.d.ts +3 -1
  715. package/dist/public-api/v1/controllers/tags.public.controller.js +61 -0
  716. package/dist/public-api/v1/controllers/tags.public.controller.js.map +1 -1
  717. package/dist/public-api/v1/handlers/credentials/credentials.utils.d.ts +3 -3
  718. package/dist/public-api/v1/handlers/credentials/credentials.utils.js +1 -6
  719. package/dist/public-api/v1/handlers/credentials/credentials.utils.js.map +1 -1
  720. package/dist/public-api/v1/handlers/folders/folders.handler.d.ts +0 -7
  721. package/dist/public-api/v1/handlers/folders/folders.handler.js +0 -29
  722. package/dist/public-api/v1/handlers/folders/folders.handler.js.map +1 -1
  723. package/dist/public-api/v1/openapi.yml +4051 -2008
  724. package/dist/public-api/v1/shared/middlewares/global.middleware.d.ts +1 -1
  725. package/dist/public-api/v1/shared/middlewares/global.middleware.js +4 -3
  726. package/dist/public-api/v1/shared/middlewares/global.middleware.js.map +1 -1
  727. package/dist/requests.d.ts +1 -0
  728. package/dist/scheduling/durable-job-provisioner.d.ts +10 -1
  729. package/dist/scheduling/durable-job-provisioner.js +26 -9
  730. package/dist/scheduling/durable-job-provisioner.js.map +1 -1
  731. package/dist/scheduling/durable-scheduler.d.ts +2 -1
  732. package/dist/scheduling/durable-scheduler.js +4 -3
  733. package/dist/scheduling/durable-scheduler.js.map +1 -1
  734. package/dist/scheduling/scheduled-job-owner-registry.d.ts +2 -1
  735. package/dist/scheduling/scheduled-job-owner-registry.js +2 -1
  736. package/dist/scheduling/scheduled-job-owner-registry.js.map +1 -1
  737. package/dist/scheduling/system-tasks/emit-system-task-metric.d.ts +3 -0
  738. package/dist/scheduling/system-tasks/emit-system-task-metric.js +11 -0
  739. package/dist/scheduling/system-tasks/emit-system-task-metric.js.map +1 -0
  740. package/dist/scheduling/system-tasks/system-task-handler.d.ts +5 -1
  741. package/dist/scheduling/system-tasks/system-task-handler.js +9 -8
  742. package/dist/scheduling/system-tasks/system-task-handler.js.map +1 -1
  743. package/dist/scheduling/system-tasks/system-task-job-registrar.d.ts +28 -0
  744. package/dist/scheduling/system-tasks/system-task-job-registrar.js +130 -0
  745. package/dist/scheduling/system-tasks/system-task-job-registrar.js.map +1 -0
  746. package/dist/scheduling/system-tasks/system-task-run-observer.d.ts +13 -0
  747. package/dist/scheduling/system-tasks/system-task-run-observer.js +54 -0
  748. package/dist/scheduling/system-tasks/system-task-run-observer.js.map +1 -0
  749. package/dist/scheduling/system-tasks/system-task-runner.d.ts +13 -3
  750. package/dist/scheduling/system-tasks/system-task-runner.js +85 -15
  751. package/dist/scheduling/system-tasks/system-task-runner.js.map +1 -1
  752. package/dist/scheduling/system-tasks/system-task-scheduled-job-owner.d.ts +13 -0
  753. package/dist/scheduling/system-tasks/system-task-scheduled-job-owner.js +51 -0
  754. package/dist/scheduling/system-tasks/system-task-scheduled-job-owner.js.map +1 -0
  755. package/dist/scheduling/system-tasks/system-task-timer.d.ts +3 -1
  756. package/dist/scheduling/system-tasks/system-task-timer.js +33 -9
  757. package/dist/scheduling/system-tasks/system-task-timer.js.map +1 -1
  758. package/dist/scheduling/system-tasks/system-task-version-stamp.d.ts +5 -0
  759. package/dist/scheduling/system-tasks/system-task-version-stamp.js +14 -0
  760. package/dist/scheduling/system-tasks/system-task-version-stamp.js.map +1 -0
  761. package/dist/server.d.ts +0 -1
  762. package/dist/server.js +4 -2
  763. package/dist/server.js.map +1 -1
  764. package/dist/services/ai-gateway.service.d.ts +2 -1
  765. package/dist/services/ai-gateway.service.js +7 -4
  766. package/dist/services/ai-gateway.service.js.map +1 -1
  767. package/dist/services/ai-preference.service.d.ts +29 -5
  768. package/dist/services/ai-preference.service.js +119 -20
  769. package/dist/services/ai-preference.service.js.map +1 -1
  770. package/dist/services/credentials-tester.service.js +12 -0
  771. package/dist/services/credentials-tester.service.js.map +1 -1
  772. package/dist/services/engine-data-plane-proxy.service.d.ts +3 -1
  773. package/dist/services/engine-data-plane-proxy.service.js +5 -0
  774. package/dist/services/engine-data-plane-proxy.service.js.map +1 -1
  775. package/dist/services/free-ai-credits.service.d.ts +1 -0
  776. package/dist/services/frontend.service.js +2 -1
  777. package/dist/services/frontend.service.js.map +1 -1
  778. package/dist/services/protected-resource.registry.d.ts +2 -1
  779. package/dist/services/protected-resource.registry.js.map +1 -1
  780. package/dist/services/role.service.js +5 -4
  781. package/dist/services/role.service.js.map +1 -1
  782. package/dist/utils/strapi-utils.d.ts +1 -0
  783. package/dist/utils/strapi-utils.js.map +1 -1
  784. package/dist/wait-tracker.d.ts +5 -0
  785. package/dist/wait-tracker.js +130 -20
  786. package/dist/wait-tracker.js.map +1 -1
  787. package/dist/webhooks/live-webhooks.js +2 -2
  788. package/dist/webhooks/live-webhooks.js.map +1 -1
  789. package/dist/webhooks/test-webhook-registrations.service.d.ts +3 -1
  790. package/dist/webhooks/test-webhook-registrations.service.js +24 -11
  791. package/dist/webhooks/test-webhook-registrations.service.js.map +1 -1
  792. package/dist/webhooks/test-webhooks.d.ts +1 -0
  793. package/dist/webhooks/test-webhooks.js +9 -4
  794. package/dist/webhooks/test-webhooks.js.map +1 -1
  795. package/dist/webhooks/webhook-helpers.d.ts +1 -1
  796. package/dist/webhooks/webhook-helpers.js +113 -92
  797. package/dist/webhooks/webhook-helpers.js.map +1 -1
  798. package/dist/workflow-helpers.d.ts +1 -1
  799. package/dist/workflow-helpers.js +10 -3
  800. package/dist/workflow-helpers.js.map +1 -1
  801. package/dist/workflow-runner.js +104 -7
  802. package/dist/workflow-runner.js.map +1 -1
  803. package/dist/workflows/workflow.service.d.ts +1 -1
  804. package/package.json +42 -36
  805. package/dist/controllers/instance-ai-examples.controller.d.ts +0 -31
  806. package/dist/controllers/instance-ai-examples.controller.js +0 -104
  807. package/dist/controllers/instance-ai-examples.controller.js.map +0 -1
  808. package/dist/instance-ai-examples.data.json +0 -277957
  809. package/dist/public-api/v1/handlers/credentials/credentials.handler.d.ts +0 -8
  810. package/dist/public-api/v1/handlers/credentials/credentials.handler.js +0 -45
  811. package/dist/public-api/v1/handlers/credentials/credentials.handler.js.map +0 -1
  812. package/dist/public-api/v1/handlers/insights/insights.handler.d.ts +0 -7
  813. package/dist/public-api/v1/handlers/insights/insights.handler.js +0 -62
  814. package/dist/public-api/v1/handlers/insights/insights.handler.js.map +0 -1
  815. package/dist/public-api/v1/handlers/tags/tags.handler.d.ts +0 -8
  816. package/dist/public-api/v1/handlers/tags/tags.handler.js +0 -46
  817. package/dist/public-api/v1/handlers/tags/tags.handler.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-task-job-registrar.js","sourceRoot":"","sources":["../../../src/scheduling/system-tasks/system-task-job-registrar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { SystemTask } from '@n8n/decorators';
2
+ import { type Tracing } from 'n8n-core';
3
+ import type { EventService } from '../../events/event.service';
4
+ import type { SystemTaskMode } from '../../events/maps/system-task-metrics.event-map';
5
+ export type SystemTaskRunOutcome = {
6
+ result: 'success' | 'aborted';
7
+ rejected: false;
8
+ } | {
9
+ result: 'failure' | 'aborted';
10
+ rejected: true;
11
+ error: unknown;
12
+ };
13
+ export declare function observeSystemTaskRun(eventService: EventService, tracing: Tracing, task: Pick<SystemTask, 'name' | 'run'>, mode: SystemTaskMode, signal: AbortSignal): Promise<SystemTaskRunOutcome>;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.observeSystemTaskRun = observeSystemTaskRun;
4
+ const ensure_error_1 = require("@n8n/utils/errors/ensure-error");
5
+ const emit_system_task_metric_1 = require("./emit-system-task-metric");
6
+ const SYSTEM_TASK_ATTRIBUTES = {
7
+ name: 'n8n.system_task.name',
8
+ mode: 'n8n.system_task.mode',
9
+ result: 'n8n.system_task.result',
10
+ };
11
+ async function startRun(task, signal) {
12
+ await task.run(signal);
13
+ }
14
+ async function observeSystemTaskRun(eventService, tracing, task, mode, signal) {
15
+ const { name } = task;
16
+ const spanOptions = {
17
+ name: 'System task run',
18
+ op: 'system_task.run',
19
+ attributes: {
20
+ [SYSTEM_TASK_ATTRIBUTES.name]: name,
21
+ [SYSTEM_TASK_ATTRIBUTES.mode]: mode,
22
+ },
23
+ };
24
+ const startSpan = mode === 'in_memory'
25
+ ? tracing.startNewTraceSpan.bind(tracing)
26
+ : tracing.startSpan.bind(tracing);
27
+ return await startSpan(spanOptions, async (span) => {
28
+ const startedAt = performance.now();
29
+ (0, emit_system_task_metric_1.emitSystemTaskMetric)(eventService, 'system-task-run-started', { name, mode });
30
+ const outcome = await startRun(task, signal).then(() => ({
31
+ result: signal.aborted ? 'aborted' : 'success',
32
+ rejected: false,
33
+ }), (error) => ({
34
+ result: signal.aborted ? 'aborted' : 'failure',
35
+ rejected: true,
36
+ error,
37
+ }));
38
+ (0, emit_system_task_metric_1.emitSystemTaskMetric)(eventService, 'system-task-run-settled', {
39
+ name,
40
+ mode,
41
+ result: outcome.result,
42
+ durationMs: performance.now() - startedAt,
43
+ });
44
+ span.setAttribute(SYSTEM_TASK_ATTRIBUTES.result, outcome.result);
45
+ if (outcome.result === 'failure') {
46
+ span.setStatus({ code: 2, message: (0, ensure_error_1.ensureError)(outcome.error).message });
47
+ }
48
+ else {
49
+ span.setStatus({ code: 1 });
50
+ }
51
+ return outcome;
52
+ });
53
+ }
54
+ //# sourceMappingURL=system-task-run-observer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-task-run-observer.js","sourceRoot":"","sources":["../../../src/scheduling/system-tasks/system-task-run-observer.ts"],"names":[],"mappings":";;;AACA,iEAA6D;AAM7D,uEAAiE;AAGjE,MAAM,sBAAsB,GAAG;IAC9B,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE,sBAAsB;IAC5B,MAAM,EAAE,wBAAwB;CACvB,CAAC;AAOX,KAAK,UAAU,QAAQ,CAAC,IAA6B,EAAE,MAAmB;IACzE,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAaM,KAAK,+BACX,YAA0B,EAC1B,OAAgB,EAChB,IAAsC,EACtC,IAAoB,EACpB,MAAmB;IAEnB,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACtB,MAAM,WAAW,GAAG;QACnB,IAAI,EAAE,iBAAiB;QACvB,EAAE,EAAE,iBAAiB;QACrB,UAAU,EAAE;YACX,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,IAAI;YACnC,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,IAAI;SACnC;KACD,CAAC;IAIF,MAAM,SAAS,GACd,IAAI,KAAK,WAAW;QACnB,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;QACzC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEpC,OAAO,MAAM,SAAS,CAAC,WAAW,EAAE,KAAK,EAAE,IAAU,EAAE,EAAE;QACxD,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACpC,IAAA,8CAAoB,EAAC,YAAY,EAAE,yBAAyB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAChD,GAAyB,EAAE,CAAC,CAAC;YAC5B,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAC9C,QAAQ,EAAE,KAAK;SACf,CAAC,EACF,CAAC,KAAc,EAAwB,EAAE,CAAC,CAAC;YAC1C,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAC9C,QAAQ,EAAE,IAAI;YACd,KAAK;SACL,CAAC,CACF,CAAC;QACF,IAAA,8CAAoB,EAAC,YAAY,EAAE,yBAAyB,EAAE;YAC7D,IAAI;YACJ,IAAI;YACJ,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;SACzC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAEjE,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,GAAkB,EAAE,OAAO,EAAE,IAAA,0BAAW,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACzF,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,GAAe,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,OAAO,CAAC;IAChB,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -1,26 +1,35 @@
1
1
  import { Logger } from '@n8n/backend-common';
2
2
  import { GlobalConfig } from '@n8n/config';
3
3
  import { SystemTaskMetadata } from '@n8n/decorators';
4
- import { ErrorReporter, InstanceSettings } from 'n8n-core';
4
+ import { ErrorReporter, InstanceSettings, Tracing } from 'n8n-core';
5
+ import { EventService } from '../../events/event.service';
5
6
  import { DurableScheduler } from '../durable-scheduler';
7
+ import { SystemTaskJobRegistrar } from './system-task-job-registrar';
8
+ import { SystemTaskScheduledJobOwner } from './system-task-scheduled-job-owner';
6
9
  export declare class SystemTaskRunner {
7
10
  private readonly metadata;
8
11
  private readonly durableScheduler;
12
+ private readonly jobRegistrar;
13
+ private readonly systemTaskOwner;
9
14
  private readonly globalConfig;
10
15
  private readonly instanceSettings;
11
16
  private readonly errorReporter;
17
+ private readonly eventService;
18
+ private readonly tracing;
12
19
  private readonly routedTasksByName;
13
20
  private readonly logger;
14
21
  private initialized;
15
22
  private timersStarted;
23
+ private timerGeneration;
16
24
  private isShuttingDown;
17
25
  private inMemoryRunsController;
18
26
  private readonly shutdownController;
19
- constructor(logger: Logger, metadata: SystemTaskMetadata, durableScheduler: DurableScheduler, globalConfig: GlobalConfig, instanceSettings: InstanceSettings, errorReporter: ErrorReporter);
20
- init(): void;
27
+ constructor(logger: Logger, metadata: SystemTaskMetadata, durableScheduler: DurableScheduler, jobRegistrar: SystemTaskJobRegistrar, systemTaskOwner: SystemTaskScheduledJobOwner, globalConfig: GlobalConfig, instanceSettings: InstanceSettings, errorReporter: ErrorReporter, eventService: EventService, tracing: Tracing);
28
+ init(): Promise<void>;
21
29
  startTimers(): void;
22
30
  stopTimers(): Promise<void>;
23
31
  private inMemoryTasks;
32
+ private durableTasks;
24
33
  private inFlightRuns;
25
34
  shutdown(): Promise<void>;
26
35
  private route;
@@ -29,5 +38,6 @@ export declare class SystemTaskRunner {
29
38
  private run;
30
39
  private runOnce;
31
40
  private scheduleRetry;
41
+ private emitSkipped;
32
42
  private reportFailure;
33
43
  }
@@ -19,27 +19,37 @@ const scheduler_1 = require("@n8n/scheduler");
19
19
  const n8n_core_1 = require("n8n-core");
20
20
  const n8n_workflow_1 = require("n8n-workflow");
21
21
  const node_assert_1 = require("node:assert");
22
+ const event_service_1 = require("../../events/event.service");
22
23
  const durable_scheduler_1 = require("../durable-scheduler");
24
+ const emit_system_task_metric_1 = require("./emit-system-task-metric");
23
25
  const system_task_handler_1 = require("./system-task-handler");
26
+ const system_task_job_registrar_1 = require("./system-task-job-registrar");
27
+ const system_task_run_observer_1 = require("./system-task-run-observer");
28
+ const system_task_scheduled_job_owner_1 = require("./system-task-scheduled-job-owner");
24
29
  const system_task_timer_1 = require("./system-task-timer");
25
30
  const system_task_type_1 = require("./system-task-type");
26
31
  const MAX_RETRY_DELAY_SECONDS = Math.floor((2 ** 31 - 1) / constants_1.Time.seconds.toMilliseconds);
27
32
  let SystemTaskRunner = class SystemTaskRunner {
28
- constructor(logger, metadata, durableScheduler, globalConfig, instanceSettings, errorReporter) {
33
+ constructor(logger, metadata, durableScheduler, jobRegistrar, systemTaskOwner, globalConfig, instanceSettings, errorReporter, eventService, tracing) {
29
34
  this.metadata = metadata;
30
35
  this.durableScheduler = durableScheduler;
36
+ this.jobRegistrar = jobRegistrar;
37
+ this.systemTaskOwner = systemTaskOwner;
31
38
  this.globalConfig = globalConfig;
32
39
  this.instanceSettings = instanceSettings;
33
40
  this.errorReporter = errorReporter;
41
+ this.eventService = eventService;
42
+ this.tracing = tracing;
34
43
  this.routedTasksByName = new Map();
35
44
  this.initialized = false;
36
45
  this.timersStarted = false;
46
+ this.timerGeneration = 0;
37
47
  this.isShuttingDown = false;
38
48
  this.inMemoryRunsController = new AbortController();
39
49
  this.shutdownController = new AbortController();
40
50
  this.logger = logger.scoped('system-tasks');
41
51
  }
42
- init() {
52
+ async init() {
43
53
  (0, node_assert_1.strict)(this.instanceSettings.instanceRole !== 'unset', 'Instance role is not set');
44
54
  if (!this.initialized) {
45
55
  this.initialized = true;
@@ -47,12 +57,18 @@ let SystemTaskRunner = class SystemTaskRunner {
47
57
  if (this.instanceSettings.isLeader) {
48
58
  this.startTimers();
49
59
  }
60
+ for (const { task } of this.durableTasks()) {
61
+ await this.jobRegistrar.provision(task);
62
+ }
63
+ await this.jobRegistrar.removeStale();
50
64
  }
51
65
  }
52
66
  startTimers() {
53
- if (!this.isShuttingDown && !this.timersStarted) {
67
+ if (this.initialized && !this.isShuttingDown && !this.timersStarted) {
54
68
  this.timersStarted = true;
69
+ this.timerGeneration++;
55
70
  this.inMemoryRunsController = new AbortController();
71
+ (0, emit_system_task_metric_1.emitSystemTaskMetric)(this.eventService, 'system-task-timers-started', {});
56
72
  const from = new Date();
57
73
  const inMemoryTasks = this.inMemoryTasks();
58
74
  for (const routed of inMemoryTasks) {
@@ -67,6 +83,7 @@ let SystemTaskRunner = class SystemTaskRunner {
67
83
  }
68
84
  }
69
85
  async stopTimers() {
86
+ const generation = ++this.timerGeneration;
70
87
  this.timersStarted = false;
71
88
  this.inMemoryRunsController.abort();
72
89
  for (const routed of this.inMemoryTasks()) {
@@ -76,10 +93,16 @@ let SystemTaskRunner = class SystemTaskRunner {
76
93
  }
77
94
  this.logger.debug('Stopped the in-memory system task timers');
78
95
  await Promise.all(this.inFlightRuns());
96
+ if (generation === this.timerGeneration) {
97
+ (0, emit_system_task_metric_1.emitSystemTaskMetric)(this.eventService, 'system-task-timers-stopped', {});
98
+ }
79
99
  }
80
100
  inMemoryTasks() {
81
101
  return [...this.routedTasksByName.values()].filter((routed) => routed.timer !== undefined);
82
102
  }
103
+ durableTasks() {
104
+ return [...this.routedTasksByName.values()].filter((routed) => this.runsDurably(routed.task));
105
+ }
83
106
  inFlightRuns() {
84
107
  return [...this.routedTasksByName.values()].flatMap(({ inFlightRun }) => inFlightRun ? [inFlightRun.promise] : []);
85
108
  }
@@ -104,11 +127,19 @@ let SystemTaskRunner = class SystemTaskRunner {
104
127
  extra: { name: task.name, retryDelaySeconds },
105
128
  });
106
129
  }
130
+ (0, decorators_1.resolveSystemTaskRunOptions)(task);
107
131
  const routed = { task, schedule: (0, decorators_1.resolveSystemTaskSchedule)(task) };
108
132
  this.routedTasksByName.set(task.name, routed);
133
+ const intervalSeconds = routed.schedule.kind === 'interval' ? routed.schedule.intervalSeconds : undefined;
109
134
  if (this.runsDurably(task)) {
110
- this.durableScheduler.registerTaskHandler((0, system_task_type_1.systemTaskType)(task.name), new system_task_handler_1.SystemTaskHandler(task, this.shutdownController.signal, this.logger, (error) => this.reportFailure('A durable system task run failed', task, error)));
111
- this.logger.warn('System task handed to the durable scheduler, which does not provision its occurrences yet, so it will not run', { name: task.name });
135
+ this.systemTaskOwner.declareDurable(task.name);
136
+ this.durableScheduler.registerTaskHandler((0, system_task_type_1.systemTaskType)(task.name), new system_task_handler_1.SystemTaskHandler(task, this.shutdownController.signal, this.logger, this.eventService, this.tracing, (error) => this.reportFailure('A durable system task run failed', task, error)));
137
+ this.logger.debug('System task will run on the durable scheduler', { name: task.name });
138
+ (0, emit_system_task_metric_1.emitSystemTaskMetric)(this.eventService, 'system-task-routed', {
139
+ name: task.name,
140
+ mode: 'durable',
141
+ intervalSeconds,
142
+ });
112
143
  }
113
144
  else {
114
145
  routed.timer = this.createTimer(routed);
@@ -116,6 +147,11 @@ let SystemTaskRunner = class SystemTaskRunner {
116
147
  name: task.name,
117
148
  schedule: routed.schedule,
118
149
  });
150
+ (0, emit_system_task_metric_1.emitSystemTaskMetric)(this.eventService, 'system-task-routed', {
151
+ name: task.name,
152
+ mode: 'in_memory',
153
+ intervalSeconds,
154
+ });
119
155
  if (this.timersStarted) {
120
156
  routed.timer.start(new Date());
121
157
  if (task.runOnTakeover) {
@@ -132,9 +168,24 @@ let SystemTaskRunner = class SystemTaskRunner {
132
168
  createTimer(routed) {
133
169
  const { task } = routed;
134
170
  const schedule = (0, scheduler_1.scheduleFromDefinition)(routed.schedule, this.globalConfig.generic.timezone);
135
- return new system_task_timer_1.SystemTaskTimer(schedule, () => {
171
+ return new system_task_timer_1.SystemTaskTimer(schedule, (lagMs, coalesced) => {
172
+ (0, emit_system_task_metric_1.emitSystemTaskMetric)(this.eventService, 'system-task-fired', { name: task.name, lagMs });
173
+ if (coalesced > 0) {
174
+ this.emitSkipped(task, 'coalesced', coalesced);
175
+ }
136
176
  void this.run(routed);
137
- }, (error) => this.reportFailure('Could not plan a system task schedule, so the task will not run', task, error));
177
+ }, (error) => {
178
+ this.reportFailure('Could not plan a system task schedule, so the task will not run', task, error);
179
+ (0, emit_system_task_metric_1.emitSystemTaskMetric)(this.eventService, 'system-task-scheduling-failed', {
180
+ name: task.name,
181
+ mode: 'in_memory',
182
+ });
183
+ }, (fireAt) => {
184
+ (0, emit_system_task_metric_1.emitSystemTaskMetric)(this.eventService, 'system-task-next-run-planned', {
185
+ name: task.name,
186
+ nextRunAtMs: fireAt.getTime(),
187
+ });
188
+ });
138
189
  }
139
190
  async run(routed) {
140
191
  const { task } = routed;
@@ -145,6 +196,7 @@ let SystemTaskRunner = class SystemTaskRunner {
145
196
  name: task.name,
146
197
  });
147
198
  }
199
+ this.emitSkipped(task, 'overlap');
148
200
  }
149
201
  else {
150
202
  clearTimeout(routed.retryTimer);
@@ -162,15 +214,23 @@ let SystemTaskRunner = class SystemTaskRunner {
162
214
  }
163
215
  }
164
216
  async runOnce(routed) {
217
+ const { task } = routed;
218
+ if (task.durable && (await this.jobRegistrar.isProvisioned(task.name))) {
219
+ this.logger.debug('Skipped an in-memory system task run, its durable job is provisioned', {
220
+ name: task.name,
221
+ });
222
+ this.emitSkipped(task, 'provisioned_elsewhere');
223
+ return;
224
+ }
165
225
  const { signal } = this.inMemoryRunsController;
166
- try {
167
- await routed.task.run(signal);
226
+ if (signal.aborted) {
227
+ this.emitSkipped(task, 'aborted');
228
+ return;
168
229
  }
169
- catch (error) {
170
- if (!signal.aborted) {
171
- this.reportFailure('A system task run failed', routed.task, error);
172
- this.scheduleRetry(routed);
173
- }
230
+ const outcome = await (0, system_task_run_observer_1.observeSystemTaskRun)(this.eventService, this.tracing, task, 'in_memory', signal);
231
+ if (outcome.result === 'failure') {
232
+ this.reportFailure('A system task run failed', task, outcome.error);
233
+ this.scheduleRetry(routed);
174
234
  }
175
235
  }
176
236
  scheduleRetry(routed) {
@@ -183,6 +243,16 @@ let SystemTaskRunner = class SystemTaskRunner {
183
243
  void this.run(routed);
184
244
  }, retryDelaySeconds * constants_1.Time.seconds.toMilliseconds);
185
245
  routed.retryTimer.unref();
246
+ (0, emit_system_task_metric_1.emitSystemTaskMetric)(this.eventService, 'system-task-retry-scheduled', {
247
+ name: routed.task.name,
248
+ });
249
+ }
250
+ emitSkipped(task, reason, count) {
251
+ (0, emit_system_task_metric_1.emitSystemTaskMetric)(this.eventService, 'system-task-run-skipped', {
252
+ name: task.name,
253
+ reason,
254
+ ...(count === undefined ? {} : { count }),
255
+ });
186
256
  }
187
257
  reportFailure(message, task, error) {
188
258
  this.logger.error(message, { name: task.name, error });
@@ -214,6 +284,6 @@ __decorate([
214
284
  ], SystemTaskRunner.prototype, "shutdown", null);
215
285
  exports.SystemTaskRunner = SystemTaskRunner = __decorate([
216
286
  (0, di_1.Service)(),
217
- __metadata("design:paramtypes", [backend_common_1.Logger, decorators_1.SystemTaskMetadata, durable_scheduler_1.DurableScheduler, config_1.GlobalConfig, n8n_core_1.InstanceSettings, n8n_core_1.ErrorReporter])
287
+ __metadata("design:paramtypes", [backend_common_1.Logger, decorators_1.SystemTaskMetadata, durable_scheduler_1.DurableScheduler, system_task_job_registrar_1.SystemTaskJobRegistrar, system_task_scheduled_job_owner_1.SystemTaskScheduledJobOwner, config_1.GlobalConfig, n8n_core_1.InstanceSettings, n8n_core_1.ErrorReporter, event_service_1.EventService, n8n_core_1.Tracing])
218
288
  ], SystemTaskRunner);
219
289
  //# sourceMappingURL=system-task-runner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"system-task-runner.js","sourceRoot":"","sources":["../../../src/scheduling/system-tasks/system-task-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-task-runner.js","sourceRoot":"","sources":["../../../src/scheduling/system-tasks/system-task-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { ScheduledJobOwner } from '@n8n/db';
2
+ import { ScheduledJobRepository } from '@n8n/db';
3
+ import type { ScheduledJobOwnerResolver } from '@n8n/scheduler';
4
+ export declare class SystemTaskScheduledJobOwner implements ScheduledJobOwnerResolver {
5
+ private readonly jobs;
6
+ readonly ownerType: "system-task";
7
+ private readonly durableTaskNames;
8
+ constructor(jobs: ScheduledJobRepository);
9
+ owner(taskName: string): ScheduledJobOwner;
10
+ declareDurable(taskName: string): void;
11
+ findExisting(ownerIds: string[]): Promise<Set<string>>;
12
+ isAlive(ownerId: string, payload: Record<string, unknown>): boolean;
13
+ }
@@ -0,0 +1,51 @@
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.SystemTaskScheduledJobOwner = void 0;
13
+ const constants_1 = require("@n8n/constants");
14
+ const db_1 = require("@n8n/db");
15
+ const di_1 = require("@n8n/di");
16
+ const system_task_version_stamp_1 = require("./system-task-version-stamp");
17
+ let SystemTaskScheduledJobOwner = class SystemTaskScheduledJobOwner {
18
+ constructor(jobs) {
19
+ this.jobs = jobs;
20
+ this.ownerType = constants_1.ScheduledJobOwnerType.SystemTask;
21
+ this.durableTaskNames = new Set();
22
+ }
23
+ owner(taskName) {
24
+ return { ownerType: this.ownerType, ownerId: taskName, ownerMemberId: null };
25
+ }
26
+ declareDurable(taskName) {
27
+ this.durableTaskNames.add(taskName);
28
+ }
29
+ async findExisting(ownerIds) {
30
+ const existing = new Set(ownerIds.filter((name) => this.durableTaskNames.has(name)));
31
+ const undeclared = ownerIds.filter((name) => !existing.has(name));
32
+ if (undeclared.length > 0) {
33
+ const rows = await this.jobs.findPayloadsByOwnerIds(this.ownerType, undeclared);
34
+ for (const { ownerId, payload } of rows) {
35
+ if (this.isAlive(ownerId, payload)) {
36
+ existing.add(ownerId);
37
+ }
38
+ }
39
+ }
40
+ return existing;
41
+ }
42
+ isAlive(ownerId, payload) {
43
+ return this.durableTaskNames.has(ownerId) || (0, system_task_version_stamp_1.stampedByNewerVersion)(payload);
44
+ }
45
+ };
46
+ exports.SystemTaskScheduledJobOwner = SystemTaskScheduledJobOwner;
47
+ exports.SystemTaskScheduledJobOwner = SystemTaskScheduledJobOwner = __decorate([
48
+ (0, di_1.Service)(),
49
+ __metadata("design:paramtypes", [db_1.ScheduledJobRepository])
50
+ ], SystemTaskScheduledJobOwner);
51
+ //# sourceMappingURL=system-task-scheduled-job-owner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-task-scheduled-job-owner.js","sourceRoot":"","sources":["../../../src/scheduling/system-tasks/system-task-scheduled-job-owner.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAAuD;AAEvD,gCAAiD;AACjD,gCAAkC;AAGlC,2EAAoE;AAS7D,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IAKvC,YAA6B,IAA4B;QAA5B,SAAI,GAAJ,IAAI,CAAwB;QAJhD,cAAS,GAAG,iCAAqB,CAAC,UAAU,CAAC;QAErC,qBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAEM,CAAC;IAG7D,KAAK,CAAC,QAAgB;QACrB,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IAC9E,CAAC;IAGD,cAAc,CAAC,QAAgB;QAC9B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAkB;QACpC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrF,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAChF,KAAK,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC;gBACzC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;oBACpC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACvB,CAAC;YACF,CAAC;QACF,CAAC;QACD,OAAO,QAAQ,CAAC;IACjB,CAAC;IAGD,OAAO,CAAC,OAAe,EAAE,OAAgC;QACxD,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAA,iDAAqB,EAAC,OAAO,CAAC,CAAC;IAC7E,CAAC;CACD,CAAA;;sCAnCY,2BAA2B;IADvC,IAAA,YAAO,GAAE;qCAM0B,2BAAsB;GAL7C,2BAA2B,CAmCvC"}
@@ -3,11 +3,13 @@ export declare class SystemTaskTimer {
3
3
  private readonly schedule;
4
4
  private readonly onFire;
5
5
  private readonly onPlanError;
6
+ private readonly onPlan;
6
7
  private readonly now;
7
8
  private timer;
8
- constructor(schedule: Schedule, onFire: () => void, onPlanError: (error: Error) => void, now?: () => number);
9
+ constructor(schedule: Schedule, onFire: (lagMs: number, coalesced: number) => void, onPlanError: (error: Error) => void, onPlan: (fireAt: Date) => void, now?: () => number);
9
10
  start(from: Date): void;
10
11
  stop(): void;
11
12
  private arm;
13
+ private countOccurrencesUpTo;
12
14
  private waitFor;
13
15
  }
@@ -1,15 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SystemTaskTimer = void 0;
4
+ const constants_1 = require("@n8n/constants");
4
5
  const scheduler_1 = require("@n8n/scheduler");
5
6
  const ensure_error_1 = require("@n8n/utils/errors/ensure-error");
6
7
  const n8n_workflow_1 = require("n8n-workflow");
7
8
  const MAX_TIMEOUT_MS = 2 ** 31 - 1;
9
+ const MAX_WALKED_OCCURRENCES = 1_000;
8
10
  class SystemTaskTimer {
9
- constructor(schedule, onFire, onPlanError, now = Date.now) {
11
+ constructor(schedule, onFire, onPlanError, onPlan, now = Date.now) {
10
12
  this.schedule = schedule;
11
13
  this.onFire = onFire;
12
14
  this.onPlanError = onPlanError;
15
+ this.onPlan = onPlan;
13
16
  this.now = now;
14
17
  }
15
18
  start(from) {
@@ -30,24 +33,44 @@ class SystemTaskTimer {
30
33
  catch (error) {
31
34
  this.timer = undefined;
32
35
  this.onPlanError((0, ensure_error_1.ensureError)(error));
33
- return;
36
+ return 0;
34
37
  }
35
38
  if (next === null) {
36
39
  this.timer = undefined;
37
- return;
40
+ this.onPlanError(new n8n_workflow_1.UnexpectedError('A system task schedule has no next occurrence'));
41
+ return 0;
38
42
  }
39
43
  const fireAtMs = next.getTime();
40
44
  if (!Number.isFinite(fireAtMs)) {
41
45
  this.timer = undefined;
42
46
  this.onPlanError(new n8n_workflow_1.UnexpectedError('A system task schedule plans past the representable date range'));
43
- return;
47
+ return 0;
44
48
  }
45
- const delayMs = fireAtMs - this.now();
49
+ const nowMs = this.now();
50
+ const delayMs = fireAtMs - nowMs;
46
51
  if (delayMs < 0) {
47
- this.arm(new Date(this.now()), true);
48
- return;
52
+ const coalesced = this.countOccurrencesUpTo(next, nowMs);
53
+ this.arm(new Date(nowMs), true);
54
+ return coalesced;
49
55
  }
50
56
  this.waitFor(next, delayMs);
57
+ this.onPlan(next);
58
+ return 0;
59
+ }
60
+ countOccurrencesUpTo(first, untilMs) {
61
+ const firstMs = first.getTime();
62
+ if (untilMs < firstMs) {
63
+ return 0;
64
+ }
65
+ if (this.schedule.kind === 'interval') {
66
+ const intervalMs = this.schedule.intervalSeconds * constants_1.Time.seconds.toMilliseconds;
67
+ return Math.floor((untilMs - firstMs) / intervalMs) + 1;
68
+ }
69
+ let count = 0;
70
+ for (let next = first; next !== null && next.getTime() <= untilMs && count < MAX_WALKED_OCCURRENCES; next = (0, scheduler_1.computeNextRunAt)(this.schedule, next)) {
71
+ count++;
72
+ }
73
+ return count;
51
74
  }
52
75
  waitFor(fireAt, delayMs) {
53
76
  if (delayMs > MAX_TIMEOUT_MS) {
@@ -55,8 +78,9 @@ class SystemTaskTimer {
55
78
  }
56
79
  else {
57
80
  this.timer = setTimeout(() => {
58
- this.arm(fireAt, false);
59
- this.onFire();
81
+ const lagMs = Math.max(0, this.now() - fireAt.getTime());
82
+ const coalesced = this.arm(fireAt, false);
83
+ this.onFire(lagMs, coalesced);
60
84
  }, Math.max(0, delayMs));
61
85
  }
62
86
  this.timer.unref();
@@ -1 +1 @@
1
- {"version":3,"file":"system-task-timer.js","sourceRoot":"","sources":["../../../src/scheduling/system-tasks/system-task-timer.ts"],"names":[],"mappings":";;;AACA,8CAAqE;AACrE,iEAA6D;AAC7D,+CAA+C;AAM/C,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAanC;IAGC,YACkB,QAAkB,EAClB,MAAkB,EAClB,WAAmC,EACnC,GAAG,GAAiB,IAAI,CAAC,GAAG;wBAH5B,QAAQ;sBACR,MAAM;2BACN,WAAW;mBACX,GAAG;IAClB,CAAC;IAEJ,KAAK,CAAC,IAAU;QACf,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,IAAI;QACH,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IACxB,CAAC;IAEO,GAAG,CAAC,KAAW,EAAE,OAAgB;QACxC,IAAI,IAAiB,CAAC;QACtB,IAAI,CAAC;YACJ,IAAI,GAAG,OAAO;gBACb,CAAC,CAAC,IAAA,6BAAiB,EAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC;gBACzC,CAAC,CAAC,IAAA,4BAAgB,EAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YACvB,IAAI,CAAC,WAAW,CAAC,IAAA,0BAAW,EAAC,KAAK,CAAC,CAAC,CAAC;YACrC,OAAO;QACR,CAAC;QAED,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YACvB,OAAO;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAEhC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YACvB,IAAI,CAAC,WAAW,CACf,IAAI,8BAAe,CAAC,gEAAgE,CAAC,CACrF,CAAC;YACF,OAAO;QACR,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEtC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YACrC,OAAO;QACR,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;IAEO,OAAO,CAAC,MAAY,EAAE,OAAe;QAC5C,IAAI,OAAO,GAAG,cAAc,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG,UAAU,CACtB,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,EACzD,cAAc,CACd,CAAC;QACH,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,KAAK,GAAG,UAAU,CACtB,GAAG,EAAE;gBACJ,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACxB,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CACpB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;CACD"}
1
+ {"version":3,"file":"system-task-timer.js","sourceRoot":"","sources":["../../../src/scheduling/system-tasks/system-task-timer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export type SystemTaskJobPayload = {
2
+ n8nVersion: string;
3
+ };
4
+ export declare function versionStamp(): SystemTaskJobPayload;
5
+ export declare function stampedByNewerVersion(payload: Record<string, unknown>): boolean;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.versionStamp = versionStamp;
4
+ exports.stampedByNewerVersion = stampedByNewerVersion;
5
+ const semver_1 = require("semver");
6
+ const constants_1 = require("../../constants");
7
+ function versionStamp() {
8
+ return { n8nVersion: constants_1.N8N_VERSION };
9
+ }
10
+ function stampedByNewerVersion(payload) {
11
+ const { n8nVersion } = payload;
12
+ return (typeof n8nVersion === 'string' && (0, semver_1.valid)(n8nVersion) !== null && (0, semver_1.gt)(n8nVersion, constants_1.N8N_VERSION));
13
+ }
14
+ //# sourceMappingURL=system-task-version-stamp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-task-version-stamp.js","sourceRoot":"","sources":["../../../src/scheduling/system-tasks/system-task-version-stamp.ts"],"names":[],"mappings":";;;;AAAA,mCAAmC;AAEnC,2CAA0C;AAK1C;IACC,OAAO,EAAE,UAAU,EAAE,uBAAW,EAAE,CAAC;AACpC,CAAC;AAGD,+BAAsC,OAAgC;IACrE,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC/B,OAAO,CACN,OAAO,UAAU,KAAK,QAAQ,IAAI,IAAA,cAAK,EAAC,UAAU,CAAC,KAAK,IAAI,IAAI,IAAA,WAAE,EAAC,UAAU,EAAE,uBAAW,CAAC,CAC3F,CAAC;AACH,CAAC"}
package/dist/server.d.ts CHANGED
@@ -11,7 +11,6 @@ import './controllers/change-email.controller';
11
11
  import './controllers/ai.controller';
12
12
  import './controllers/ai-preference.controller';
13
13
  import './controllers/dynamic-node-parameters.controller';
14
- import './controllers/instance-ai-examples.controller';
15
14
  import './controllers/invitation.controller';
16
15
  import './controllers/me.controller';
17
16
  import './controllers/node-types.controller';
package/dist/server.js CHANGED
@@ -82,7 +82,6 @@ require("./controllers/change-email.controller");
82
82
  require("./controllers/ai.controller");
83
83
  require("./controllers/ai-preference.controller");
84
84
  require("./controllers/dynamic-node-parameters.controller");
85
- require("./controllers/instance-ai-examples.controller");
86
85
  require("./controllers/invitation.controller");
87
86
  require("./controllers/me.controller");
88
87
  require("./controllers/node-types.controller");
@@ -144,7 +143,7 @@ let Server = class Server extends abstract_server_1.AbstractServer {
144
143
  this.endpointPresetCredentials = this.globalConfig.credentials.overwrite.endpoint;
145
144
  await super.start();
146
145
  this.logger.debug(`Server ID: ${this.instanceSettings.hostId}`);
147
- if (backend_common_1.inDevelopment && process.env.N8N_DEV_RELOAD === 'true') {
146
+ if (process.env.N8N_DEV_RELOAD === 'true') {
148
147
  void this.loadNodesAndCredentials.setupHotReload();
149
148
  }
150
149
  this.markAsReady();
@@ -157,6 +156,9 @@ let Server = class Server extends abstract_server_1.AbstractServer {
157
156
  if (constants_2.inE2ETests) {
158
157
  await import('./controllers/e2e.controller.js');
159
158
  }
159
+ if (process.env.N8N_DEV_RELOAD === 'true') {
160
+ await import('./controllers/dev.controller.js');
161
+ }
160
162
  if ((0, helpers_1.isMfaFeatureEnabled)()) {
161
163
  await di_1.Container.get(mfa_service_1.MfaService).init();
162
164
  await import('./controllers/mfa.controller.js');