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
@@ -25,7 +25,9 @@ const agent_runtime_cache_service_1 = require("./agent-runtime-cache.service");
25
25
  const agent_sandbox_principal_1 = require("./agent-sandbox-principal");
26
26
  const agent_sandbox_runtime_service_1 = require("./agent-sandbox-runtime.service");
27
27
  const agent_telemetry_1 = require("./agent-telemetry");
28
- const execution_recorder_1 = require("./execution-recorder");
28
+ const agent_turn_execution_service_1 = require("./agent-turn-execution.service");
29
+ const agent_execution_recording_error_1 = require("./agent-execution-recording.error");
30
+ const integration_message_context_1 = require("./integrations/integration-message-context");
29
31
  const integration_message_context_service_1 = require("./integrations/integration-message-context.service");
30
32
  const n8n_checkpoint_storage_1 = require("./integrations/n8n-checkpoint-storage");
31
33
  const model_stream_stall_options_1 = require("./model-stream-stall-options");
@@ -33,42 +35,7 @@ const agent_repository_1 = require("./repositories/agent.repository");
33
35
  const agent_execution_counter_1 = require("./utils/agent-execution-counter");
34
36
  const agent_published_snapshot_1 = require("./utils/agent-published-snapshot");
35
37
  const inbound_attachments_1 = require("./utils/inbound-attachments");
36
- const agent_stream_1 = require("./utils/agent-stream");
37
- const mcp_attribution_1 = require("./utils/mcp-attribution");
38
38
  const execution_to_message_mapper_1 = require("./utils/execution-to-message-mapper");
39
- function withApprovalToolDetails(chunk, toolRegistry) {
40
- if (chunk.type !== 'tool-call-suspended' || !(0, is_record_1.isRecord)(chunk.suspendPayload))
41
- return chunk;
42
- if (chunk.suspendPayload.type !== 'approval')
43
- return chunk;
44
- const toolName = chunk.suspendPayload.toolName;
45
- if (typeof toolName !== 'string' || toolName.length === 0)
46
- return chunk;
47
- return {
48
- ...chunk,
49
- suspendPayload: {
50
- ...chunk.suspendPayload,
51
- details: (0, execution_recorder_1.buildToolCallDetails)(toolRegistry, toolName, chunk.suspendPayload.args),
52
- },
53
- };
54
- }
55
- function getMaxIterationsChunks() {
56
- const id = crypto.randomUUID();
57
- return [
58
- { type: 'text-start', id },
59
- {
60
- type: 'text-delta',
61
- id,
62
- delta: 'The agent has reached the maximum number of iterations and has stopped.',
63
- },
64
- { type: 'text-end', id },
65
- ];
66
- }
67
- function normalizeAbortedMessageRecord(record, abortSignal) {
68
- if (!abortSignal?.aborted)
69
- return record;
70
- return { ...record, finishReason: 'cancelled', error: null };
71
- }
72
39
  function getDelegatedChildCheckpoints(checkpoint, parentAgentId) {
73
40
  const childCheckpoints = [];
74
41
  const seen = new Set();
@@ -109,10 +76,11 @@ function getDelegatedChildCheckpoints(checkpoint, parentAgentId) {
109
76
  return childCheckpoints;
110
77
  }
111
78
  let AgentExecutionOrchestratorService = class AgentExecutionOrchestratorService {
112
- constructor(logger, n8nCheckpointStorage, agentExecutionService, telemetry, runtimeCacheService, integrationMessageContextService, agentRunTracingService, externalHooks, agentSandboxRuntimeService, agentRepository, aiConfig) {
79
+ constructor(logger, n8nCheckpointStorage, agentExecutionService, turnExecutionService, telemetry, runtimeCacheService, integrationMessageContextService, agentRunTracingService, externalHooks, agentSandboxRuntimeService, agentRepository, aiConfig) {
113
80
  this.logger = logger;
114
81
  this.n8nCheckpointStorage = n8nCheckpointStorage;
115
82
  this.agentExecutionService = agentExecutionService;
83
+ this.turnExecutionService = turnExecutionService;
116
84
  this.telemetry = telemetry;
117
85
  this.runtimeCacheService = runtimeCacheService;
118
86
  this.integrationMessageContextService = integrationMessageContextService;
@@ -150,8 +118,8 @@ let AgentExecutionOrchestratorService = class AgentExecutionOrchestratorService
150
118
  await this.n8nCheckpointStorage.delete(params.runId, params.agentId);
151
119
  return true;
152
120
  }
153
- async *resumeForChat(config) {
154
- const { agentId, projectId, runId, toolCallId, resumeData, expectedMemory, source, integrationType, user, usePublishedVersion = true, onExecutionRecorded, abortSignal, } = config;
121
+ async loadResumeCheckpoint(params) {
122
+ const { agentId, projectId, runId, expectedMemory, user, usePublishedVersion } = params;
155
123
  const checkpointStatus = await this.n8nCheckpointStorage.getStatus(runId, agentId);
156
124
  if (checkpointStatus.status === 'expired') {
157
125
  throw new n8n_workflow_1.UserError(`Checkpoint ${runId} is expired and cannot be resumed`);
@@ -184,8 +152,20 @@ let AgentExecutionOrchestratorService = class AgentExecutionOrchestratorService
184
152
  (0, agent_sandbox_principal_1.hashAgentSandboxPrincipal)({ type: 'n8n-user', userId: user.id }))))) {
185
153
  throw new n8n_workflow_1.UserError(`Checkpoint ${runId} is unavailable and cannot be resumed`);
186
154
  }
155
+ return { memoryScope, sandboxPrincipalHash };
156
+ }
157
+ async *resumeForChat(config) {
158
+ const { agentId, projectId, runId, toolCallId, resumeData, expectedMemory, source, integrationType, user, usePublishedVersion = true, onExecutionRecorded, abortSignal, } = config;
159
+ const { memoryScope, sandboxPrincipalHash } = await this.loadResumeCheckpoint({
160
+ agentId,
161
+ projectId,
162
+ runId,
163
+ expectedMemory,
164
+ user,
165
+ usePublishedVersion,
166
+ });
187
167
  const threadId = memoryScope.threadId;
188
- const runtime = await this.runtimeCacheService.getRuntime({
168
+ yield* this.withRuntimeLease(async () => await this.getRuntimeOrRecordFailure({
189
169
  agentId,
190
170
  projectId,
191
171
  usePublishedVersion,
@@ -193,113 +173,78 @@ let AgentExecutionOrchestratorService = class AgentExecutionOrchestratorService
193
173
  user: usePublishedVersion ? undefined : user,
194
174
  ...(sandboxPrincipalHash ? { sandboxPrincipalHash } : {}),
195
175
  previewChat: config.previewChat,
196
- });
197
- const { agent: agentInstance, toolRegistry } = runtime;
198
- let executionId;
199
- let recorder;
200
- let startedAt;
201
- let runType;
202
- let executionSource;
203
- try {
204
- recorder = this.createRecorder(toolRegistry, () => executionId, {
205
- projectId,
206
- agentId,
207
- threadId,
208
- });
209
- startedAt = recorder.startedAt;
210
- runType = usePublishedVersion ? 'production' : 'test';
211
- executionSource = source;
212
- }
213
- catch (error) {
214
- this.runtimeCacheService.releaseRuntimeLease(agentInstance);
215
- throw error;
216
- }
217
- try {
218
- const suspendedExecution = this.agentRunTracingService.enabled && source === undefined
219
- ? await this.agentExecutionService.findLatestSuspendedRun(threadId)
220
- : undefined;
221
- executionSource ??= suspendedExecution?.source ?? undefined;
222
- const tracing = await this.agentRunTracingService.build({
223
- agentId,
224
- projectId,
225
- threadId,
226
- userId: user?.id,
227
- source: executionSource ?? 'unknown',
228
- modelId: (0, agent_run_tracing_service_1.modelIdFromSnapshot)(agentInstance.snapshot.model),
229
- });
230
- const resultStream = await agentInstance.resume('stream', resumeData, {
231
- runId,
232
- toolCallId,
233
- executionCounter: (0, agent_execution_counter_1.createAgentExecutionCounter)(this.telemetry, {
176
+ }, { threadId, userMessage: null, source, onExecutionRecorded, abortSignal }), (runtime) => this.turnExecutionService.execute({
177
+ agentInstance: runtime.agent,
178
+ toolRegistry: runtime.toolRegistry,
179
+ mcpServerAttributions: runtime.mcpServerAttributions,
180
+ context: { projectId, agentId, threadId },
181
+ includeHitlToolDetails: !usePublishedVersion,
182
+ onExecutionRecorded,
183
+ onSettled: async (suspended) => {
184
+ if (!suspended)
185
+ await this.requestPendingBackgroundWake(threadId);
186
+ },
187
+ prepare: async () => {
188
+ const suspendedExecution = this.agentRunTracingService.enabled && source === undefined
189
+ ? await this.agentExecutionService.findLatestSuspendedRun(threadId)
190
+ : undefined;
191
+ const executionSource = source ?? suspendedExecution?.source ?? undefined;
192
+ const runType = usePublishedVersion ? 'production' : 'test';
193
+ const tracing = await this.agentRunTracingService.build({
234
194
  agentId,
195
+ projectId,
196
+ threadId,
235
197
  userId: user?.id,
236
- runType,
237
- }),
238
- ...(0, model_stream_stall_options_1.modelStreamStallOptions)(this.aiConfig),
239
- ...(tracing ? { telemetry: tracing } : {}),
240
- ...(abortSignal ? { abortSignal } : {}),
241
- });
242
- recorder.recordHitlResponse(toolCallId, resumeData);
243
- const startParams = {
244
- threadId,
245
- agentId,
246
- agentName: agentInstance.name,
247
- projectId,
248
- userMessage: null,
249
- ...(executionSource !== undefined ? { source: executionSource } : {}),
250
- telemetry: {
251
- userId: user?.id,
252
- runType,
253
- configuration: runtime.telemetryConfiguration,
254
- },
255
- };
256
- executionId = await this.tryStartExecution(startParams, startedAt, 'Failed to start resumed agent execution recording');
257
- const attributionTracker = (0, mcp_attribution_1.createAttributionTracker)(runtime.mcpServerAttributions);
258
- for await (const value of (0, agent_stream_1.streamAgentChunks)(resultStream.stream)) {
259
- const chunk = usePublishedVersion ? value : withApprovalToolDetails(value, toolRegistry);
260
- recorder.record(chunk);
261
- for (const attributionChunk of attributionTracker.observe(chunk)) {
262
- recorder.record(attributionChunk);
263
- yield attributionChunk;
198
+ source: executionSource ?? 'unknown',
199
+ modelId: (0, agent_run_tracing_service_1.modelIdFromSnapshot)(runtime.agent.snapshot.model),
200
+ });
201
+ let messageContext = config.messageContext;
202
+ if (messageContext === undefined) {
203
+ messageContext =
204
+ await this.integrationMessageContextService.getForResume(memoryScope);
264
205
  }
265
- yield chunk;
266
- }
267
- }
268
- catch (error) {
269
- recorder.record({ type: 'error', error });
270
- recorder.record({ type: 'finish', finishReason: 'error' });
271
- throw error;
272
- }
273
- finally {
274
- try {
275
- const messageRecord = normalizeAbortedMessageRecord(recorder.getMessageRecord(), abortSignal);
276
- await this.persistRecordedExecution({
277
- executionId,
278
- onExecutionRecorded,
279
- failureMessage: 'Failed to record resumed agent execution',
280
- params: {
206
+ else if (messageContext && config.contextConversation) {
207
+ messageContext = (0, integration_message_context_1.inheritIntegrationMessageContext)(messageContext, await this.integrationMessageContextService.getForResume(memoryScope));
208
+ }
209
+ const selectedContext = messageContext;
210
+ const conversation = config.contextConversation;
211
+ return {
212
+ type: 'resume',
213
+ resumeData,
214
+ options: {
215
+ runId,
216
+ toolCallId,
217
+ hostMetadata: (0, integration_message_context_1.encodeIntegrationMessageContext)(selectedContext),
218
+ ...(selectedContext && conversation
219
+ ? {
220
+ onResumeClaimed: async () => await this.integrationMessageContextService.installIncoming(selectedContext, memoryScope, conversation),
221
+ }
222
+ : {}),
223
+ executionCounter: (0, agent_execution_counter_1.createAgentExecutionCounter)(this.telemetry, {
224
+ agentId,
225
+ userId: user?.id,
226
+ runType,
227
+ }),
228
+ ...(0, model_stream_stall_options_1.modelStreamStallOptions)(this.aiConfig),
229
+ ...(tracing ? { telemetry: tracing } : {}),
230
+ ...(abortSignal ? { abortSignal } : {}),
231
+ },
232
+ recording: {
281
233
  threadId,
282
234
  agentId,
283
- agentName: agentInstance.name,
235
+ agentName: runtime.agent.name,
284
236
  projectId,
285
237
  userMessage: null,
286
238
  ...(executionSource !== undefined ? { source: executionSource } : {}),
287
- record: messageRecord,
288
- hitlStatus: recorder.suspended ? 'suspended' : 'resumed',
289
239
  telemetry: {
290
240
  userId: user?.id,
291
241
  runType,
292
242
  configuration: runtime.telemetryConfiguration,
293
243
  },
294
244
  },
295
- });
296
- if (!recorder.suspended)
297
- await this.requestPendingBackgroundWake(threadId);
298
- }
299
- finally {
300
- this.runtimeCacheService.releaseRuntimeLease(agentInstance);
301
- }
302
- }
245
+ };
246
+ },
247
+ }));
303
248
  }
304
249
  async *executeForChat(config) {
305
250
  const { agentId, projectId, message, user, memory, attachments, source, previewChat, onExecutionRecorded, abortSignal, } = config;
@@ -307,23 +252,31 @@ let AgentExecutionOrchestratorService = class AgentExecutionOrchestratorService
307
252
  type: 'n8n-user',
308
253
  userId: user.id,
309
254
  });
310
- const runtime = await this.runtimeCacheService.getRuntime({
255
+ yield* this.withRuntimeLease(async () => await this.getRuntimeOrRecordFailure({
311
256
  agentId,
312
257
  projectId,
313
258
  integrationType: api_types_1.N8N_CHAT_INTEGRATION_TYPE,
314
259
  user,
315
260
  sandboxPrincipalHash,
316
261
  previewChat,
317
- });
318
- try {
319
- await this.integrationMessageContextService.setLatest(memory.threadId, memory.resourceId, {
262
+ }, {
263
+ threadId: memory.threadId,
264
+ userMessage: message,
265
+ attachments,
266
+ source,
267
+ onExecutionRecorded,
268
+ abortSignal,
269
+ }), async (runtime) => {
270
+ const messageContext = {
320
271
  integrationConnectionId: api_types_1.N8N_CHAT_INTEGRATION_TYPE,
321
272
  platform: api_types_1.N8N_CHAT_INTEGRATION_TYPE,
322
273
  target: { type: 'dm', userId: user.id, threadId: memory.threadId },
323
274
  interactingUserId: user.id,
324
275
  updatedAt: new Date().toISOString(),
325
- });
326
- yield* this.streamChatResponse({
276
+ };
277
+ await this.integrationMessageContextService.setLatest(memory.threadId, memory.resourceId, messageContext);
278
+ return this.streamChatResponse({
279
+ messageContext,
327
280
  agentInstance: runtime.agent,
328
281
  toolRegistry: runtime.toolRegistry,
329
282
  mcpServerAttributions: runtime.mcpServerAttributions,
@@ -343,15 +296,12 @@ let AgentExecutionOrchestratorService = class AgentExecutionOrchestratorService
343
296
  includeHitlToolDetails: true,
344
297
  sandboxPrincipalHash,
345
298
  });
346
- }
347
- finally {
348
- this.runtimeCacheService.releaseRuntimeLease(runtime.agent);
349
- }
299
+ });
350
300
  }
351
301
  async *executeForChatPublished(config) {
352
302
  const { agentId, projectId, message, modelMessage, author, memory, integrationType, attachments, sandboxPrincipalHash, } = config;
353
303
  await this.externalHooks.run('agent.preExecute', [agentId]);
354
- const runtime = await this.getPublishedRuntimeOrRecordFailure({
304
+ yield* this.withRuntimeLease(async () => await this.getRuntimeOrRecordFailure({
355
305
  agentId,
356
306
  projectId,
357
307
  integrationType,
@@ -363,9 +313,14 @@ let AgentExecutionOrchestratorService = class AgentExecutionOrchestratorService
363
313
  author,
364
314
  attachments,
365
315
  source: integrationType,
366
- });
367
- try {
368
- yield* this.streamChatResponse({
316
+ }), async (runtime) => {
317
+ let messageContext = config.messageContext;
318
+ if (messageContext && config.contextConversation) {
319
+ messageContext = (0, integration_message_context_1.inheritIntegrationMessageContext)(messageContext, await this.integrationMessageContextService.getLatestForIncoming(memory.threadId));
320
+ await this.integrationMessageContextService.installIncoming(messageContext, memory, config.contextConversation);
321
+ }
322
+ return this.streamChatResponse({
323
+ messageContext,
369
324
  agentInstance: runtime.agent,
370
325
  toolRegistry: runtime.toolRegistry,
371
326
  mcpServerAttributions: runtime.mcpServerAttributions,
@@ -383,45 +338,42 @@ let AgentExecutionOrchestratorService = class AgentExecutionOrchestratorService
383
338
  },
384
339
  sandboxPrincipalHash,
385
340
  });
386
- }
387
- finally {
388
- this.runtimeCacheService.releaseRuntimeLease(runtime.agent);
389
- }
341
+ });
390
342
  }
391
343
  async *executeForTaskPublished(config) {
392
344
  const { agentId, projectId, message, memory, taskId, taskVersionId } = config;
393
345
  await this.externalHooks.run('agent.preExecute', [agentId]);
394
346
  const sandboxPrincipalHash = (0, agent_sandbox_principal_1.hashAgentSandboxPrincipal)({ type: 'scheduled-task', taskId });
395
- const runtime = await this.getPublishedRuntimeOrRecordFailure({
347
+ yield* this.withRuntimeLease(async () => await this.getRuntimeOrRecordFailure({
396
348
  agentId,
397
349
  projectId,
398
350
  integrationType: 'task',
399
351
  usePublishedVersion: true,
400
352
  sandboxPrincipalHash,
401
353
  allowBackgroundTasks: false,
402
- }, { threadId: memory.threadId, userMessage: message, source: 'task', taskId, taskVersionId });
403
- try {
404
- yield* this.streamChatResponse({
405
- agentInstance: runtime.agent,
406
- toolRegistry: runtime.toolRegistry,
407
- mcpServerAttributions: runtime.mcpServerAttributions,
408
- agentId,
409
- message,
410
- memory,
411
- projectId: runtime.projectId,
412
- source: 'task',
413
- taskId,
414
- taskVersionId,
415
- telemetry: {
416
- runType: 'production',
417
- configuration: runtime.telemetryConfiguration,
418
- },
419
- sandboxPrincipalHash,
420
- });
421
- }
422
- finally {
423
- this.runtimeCacheService.releaseRuntimeLease(runtime.agent);
424
- }
354
+ }, {
355
+ threadId: memory.threadId,
356
+ userMessage: message,
357
+ source: 'task',
358
+ taskId,
359
+ taskVersionId,
360
+ }), (runtime) => this.streamChatResponse({
361
+ agentInstance: runtime.agent,
362
+ toolRegistry: runtime.toolRegistry,
363
+ mcpServerAttributions: runtime.mcpServerAttributions,
364
+ agentId,
365
+ message,
366
+ memory,
367
+ projectId: runtime.projectId,
368
+ source: 'task',
369
+ taskId,
370
+ taskVersionId,
371
+ telemetry: {
372
+ runType: 'production',
373
+ configuration: runtime.telemetryConfiguration,
374
+ },
375
+ sandboxPrincipalHash,
376
+ }));
425
377
  }
426
378
  async *executeForTaskNow(config) {
427
379
  const { agentId, projectId, user, message, memory, taskId } = config;
@@ -429,35 +381,29 @@ let AgentExecutionOrchestratorService = class AgentExecutionOrchestratorService
429
381
  type: 'n8n-user',
430
382
  userId: user.id,
431
383
  });
432
- const runtime = await this.runtimeCacheService.getRuntime({
384
+ yield* this.withRuntimeLease(async () => await this.getRuntimeOrRecordFailure({
433
385
  agentId,
434
386
  projectId,
435
387
  user,
436
388
  sandboxPrincipalHash,
437
389
  allowBackgroundTasks: false,
438
- });
439
- try {
440
- yield* this.streamChatResponse({
441
- agentInstance: runtime.agent,
442
- toolRegistry: runtime.toolRegistry,
443
- mcpServerAttributions: runtime.mcpServerAttributions,
444
- agentId,
445
- userId: user.id,
446
- message,
447
- memory,
448
- projectId: runtime.projectId,
449
- source: 'task',
450
- taskId,
451
- telemetry: {
452
- runType: 'test',
453
- configuration: runtime.telemetryConfiguration,
454
- },
455
- sandboxPrincipalHash,
456
- });
457
- }
458
- finally {
459
- this.runtimeCacheService.releaseRuntimeLease(runtime.agent);
460
- }
390
+ }, { threadId: memory.threadId, userMessage: message, source: 'task', taskId }), (runtime) => this.streamChatResponse({
391
+ agentInstance: runtime.agent,
392
+ toolRegistry: runtime.toolRegistry,
393
+ mcpServerAttributions: runtime.mcpServerAttributions,
394
+ agentId,
395
+ userId: user.id,
396
+ message,
397
+ memory,
398
+ projectId: runtime.projectId,
399
+ source: 'task',
400
+ taskId,
401
+ telemetry: {
402
+ runType: 'test',
403
+ configuration: runtime.telemetryConfiguration,
404
+ },
405
+ sandboxPrincipalHash,
406
+ }));
461
407
  }
462
408
  async executeForWake(config) {
463
409
  const { agentId, projectId, message, memory, identity, abortSignal } = config;
@@ -465,64 +411,62 @@ let AgentExecutionOrchestratorService = class AgentExecutionOrchestratorService
465
411
  if (!isDraft)
466
412
  await this.externalHooks.run('agent.preExecute', [agentId]);
467
413
  const integrationType = isDraft ? api_types_1.N8N_CHAT_INTEGRATION_TYPE : identity.integrationType;
414
+ const messageContext = await this.integrationMessageContextService.getLatest(memory.threadId);
468
415
  const delivery = isDraft
469
416
  ? undefined
470
- : await this.getWakeDelivery(agentId, integrationType, memory.threadId);
471
- const runtime = await this.runtimeCacheService.getRuntime({
417
+ : await this.getWakeDelivery(agentId, integrationType, messageContext);
418
+ const stream = this.withRuntimeLease(async () => await this.getRuntimeOrRecordFailure({
472
419
  agentId,
473
420
  projectId,
474
421
  integrationType,
475
422
  usePublishedVersion: !isDraft,
476
423
  ...(isDraft ? { user: identity.user } : {}),
477
424
  sandboxPrincipalHash: identity.principalHash,
478
- });
479
- try {
480
- const stream = this.streamChatResponse({
481
- agentInstance: runtime.agent,
482
- toolRegistry: runtime.toolRegistry,
483
- mcpServerAttributions: runtime.mcpServerAttributions,
484
- agentId,
485
- ...(isDraft ? { userId: identity.user.id } : {}),
486
- message,
487
- memory,
488
- projectId: runtime.projectId,
489
- source: integrationType,
490
- telemetry: {
491
- runType: isDraft ? 'test' : 'production',
492
- configuration: runtime.telemetryConfiguration,
493
- },
494
- abortSignal,
495
- includeHitlToolDetails: isDraft,
496
- sandboxPrincipalHash: identity.principalHash,
497
- hideUserMessageFromTranscript: true,
498
- isWakeRun: true,
499
- backgroundJobSignal: config.backgroundJobSignal,
500
- });
501
- const chunks = [];
502
- let runError;
503
- for await (const chunk of stream) {
504
- if (delivery)
505
- chunks.push(chunk);
506
- if (chunk.type === 'error')
507
- runError = chunk.error;
508
- if (chunk.type === 'finish' && chunk.finishReason === 'error')
509
- runError ??= chunk;
510
- }
511
- if (runError !== undefined) {
512
- throw new n8n_workflow_1.OperationalError('Background job wake failed', {
513
- cause: runError,
514
- });
515
- }
516
- abortSignal.throwIfAborted();
517
- if (delivery)
518
- await delivery.bridge.deliverWakeResponse(delivery.threadId, chunks);
519
- }
520
- finally {
521
- this.runtimeCacheService.releaseRuntimeLease(runtime.agent);
425
+ }, { threadId: memory.threadId, userMessage: null, source: integrationType, abortSignal }), (runtime) => this.streamWakeResponse(this.streamChatResponse({
426
+ messageContext,
427
+ agentInstance: runtime.agent,
428
+ toolRegistry: runtime.toolRegistry,
429
+ mcpServerAttributions: runtime.mcpServerAttributions,
430
+ agentId,
431
+ ...(isDraft ? { userId: identity.user.id } : {}),
432
+ message,
433
+ memory,
434
+ projectId: runtime.projectId,
435
+ source: integrationType,
436
+ telemetry: {
437
+ runType: isDraft ? 'test' : 'production',
438
+ configuration: runtime.telemetryConfiguration,
439
+ },
440
+ abortSignal,
441
+ includeHitlToolDetails: isDraft,
442
+ sandboxPrincipalHash: identity.principalHash,
443
+ hideUserMessageFromTranscript: true,
444
+ isWakeRun: true,
445
+ backgroundJobSignal: config.backgroundJobSignal,
446
+ }), abortSignal, delivery));
447
+ for await (const _chunk of stream) {
522
448
  }
523
449
  }
524
- async getWakeDelivery(agentId, integrationType, threadId) {
525
- const context = await this.integrationMessageContextService.getLatest(threadId);
450
+ async *streamWakeResponse(stream, abortSignal, delivery) {
451
+ const chunks = [];
452
+ let runError;
453
+ for await (const chunk of stream) {
454
+ if (delivery)
455
+ chunks.push(chunk);
456
+ if (chunk.type === 'error')
457
+ runError = chunk.error;
458
+ if (chunk.type === 'finish' && chunk.finishReason === 'error')
459
+ runError ??= chunk;
460
+ yield chunk;
461
+ }
462
+ if (runError !== undefined) {
463
+ throw new n8n_workflow_1.OperationalError('Background job wake failed', { cause: runError });
464
+ }
465
+ abortSignal.throwIfAborted();
466
+ if (delivery)
467
+ await delivery.bridge.deliverWakeResponse(delivery.threadId, chunks);
468
+ }
469
+ async getWakeDelivery(agentId, integrationType, context) {
526
470
  const target = context?.replyTarget ?? context?.target;
527
471
  const [platform, credentialId] = context?.integrationConnectionId.split(':') ?? [];
528
472
  if (context?.platform !== integrationType ||
@@ -541,106 +485,77 @@ let AgentExecutionOrchestratorService = class AgentExecutionOrchestratorService
541
485
  async *streamChatResponse(config) {
542
486
  const { agentInstance, toolRegistry, mcpServerAttributions, agentId, userId, message, modelMessage = message, author, attachments, memory, projectId, source, taskId, taskVersionId, telemetry, onExecutionRecorded, abortSignal, includeHitlToolDetails, sandboxPrincipalHash, hideUserMessageFromTranscript, isWakeRun, backgroundJobSignal, } = config;
543
487
  const { threadId, resourceId } = memory;
544
- let executionId;
545
- const recorder = this.createRecorder(toolRegistry, () => executionId, { projectId, agentId, threadId }, backgroundJobSignal);
546
- const startedAt = recorder.startedAt;
547
- try {
548
- const tracing = await this.agentRunTracingService.build({
549
- agentId,
550
- projectId,
551
- threadId,
552
- userId,
553
- source: source ?? 'test',
554
- modelId: (0, agent_run_tracing_service_1.modelIdFromSnapshot)(agentInstance.snapshot.model),
555
- });
556
- const input = attachments?.length
557
- ? (0, inbound_attachments_1.buildInboundUserMessage)(modelMessage, attachments)
558
- : modelMessage;
559
- const hostMetadata = (0, agent_sandbox_principal_1.encodeAgentSandboxHostMetadata)({
560
- projectId,
561
- principalHash: sandboxPrincipalHash,
562
- });
563
- const resultStream = await agentInstance.stream(input, {
564
- persistence: { threadId, resourceId, hostMetadata },
565
- executionCounter: (0, agent_execution_counter_1.createAgentExecutionCounter)(this.telemetry, {
488
+ yield* this.turnExecutionService.execute({
489
+ agentInstance,
490
+ toolRegistry,
491
+ mcpServerAttributions,
492
+ context: { projectId, agentId, threadId },
493
+ backgroundJobSignal,
494
+ includeHitlToolDetails,
495
+ onExecutionRecorded,
496
+ onSettled: isWakeRun
497
+ ? undefined
498
+ : async () => await this.requestPendingBackgroundWake(threadId),
499
+ prepare: async () => {
500
+ const tracing = await this.agentRunTracingService.build({
566
501
  agentId,
502
+ projectId,
503
+ threadId,
567
504
  userId,
568
- runType: telemetry.runType,
569
- }),
570
- ...(0, model_stream_stall_options_1.modelStreamStallOptions)(this.aiConfig),
571
- ...(tracing ? { telemetry: tracing } : {}),
572
- ...(abortSignal ? { abortSignal } : {}),
573
- });
574
- const startParams = {
575
- ...(backgroundJobSignal
576
- ? { initialTimeline: structuredClone(recorder.getMessageRecord().timeline) }
577
- : {}),
578
- threadId,
579
- agentId,
580
- agentName: agentInstance.name,
581
- projectId,
582
- userMessage: hideUserMessageFromTranscript ? null : message,
583
- author,
584
- attachments,
585
- source,
586
- taskId,
587
- taskVersionId,
588
- telemetry: { ...telemetry, userId },
589
- };
590
- executionId = await this.tryStartExecution(startParams, startedAt, 'Failed to start agent execution recording');
591
- const attributionTracker = (0, mcp_attribution_1.createAttributionTracker)(mcpServerAttributions);
592
- for await (const value of (0, agent_stream_1.streamAgentChunks)(resultStream.stream)) {
593
- const chunk = includeHitlToolDetails ? withApprovalToolDetails(value, toolRegistry) : value;
594
- recorder.record(chunk);
595
- if (chunk.type === 'tool-call-suspended') {
596
- this.logger.info('Chat: tool-call-suspended chunk received', {
505
+ source: source ?? 'test',
506
+ modelId: (0, agent_run_tracing_service_1.modelIdFromSnapshot)(agentInstance.snapshot.model),
507
+ });
508
+ const input = attachments?.length
509
+ ? (0, inbound_attachments_1.buildInboundUserMessage)(modelMessage, attachments)
510
+ : modelMessage;
511
+ const messageContext = config.messageContext === undefined
512
+ ? await this.integrationMessageContextService.getLatest(threadId)
513
+ : config.messageContext;
514
+ const hostMetadata = {
515
+ ...(0, agent_sandbox_principal_1.encodeAgentSandboxHostMetadata)({
516
+ projectId,
517
+ principalHash: sandboxPrincipalHash,
518
+ }),
519
+ ...(0, integration_message_context_1.encodeIntegrationMessageContext)(messageContext),
520
+ };
521
+ return {
522
+ type: 'start',
523
+ input,
524
+ options: {
525
+ persistence: { threadId, resourceId, hostMetadata },
526
+ executionCounter: (0, agent_execution_counter_1.createAgentExecutionCounter)(this.telemetry, {
527
+ agentId,
528
+ userId,
529
+ runType: telemetry.runType,
530
+ }),
531
+ ...(0, model_stream_stall_options_1.modelStreamStallOptions)(this.aiConfig),
532
+ ...(tracing ? { telemetry: tracing } : {}),
533
+ ...(abortSignal ? { abortSignal } : {}),
534
+ },
535
+ recording: {
536
+ threadId,
597
537
  agentId,
598
- toolCallId: chunk.toolCallId,
599
- toolName: chunk.toolName,
600
- });
601
- }
602
- if (chunk.type === 'finish' && chunk.finishReason === 'max-iterations') {
603
- for (const chunk of getMaxIterationsChunks()) {
604
- recorder.record(chunk);
605
- yield chunk;
606
- }
607
- }
608
- for (const attributionChunk of attributionTracker.observe(chunk)) {
609
- recorder.record(attributionChunk);
610
- yield attributionChunk;
611
- }
612
- yield chunk;
613
- }
614
- }
615
- catch (error) {
616
- recorder.record({ type: 'error', error });
617
- recorder.record({ type: 'finish', finishReason: 'error' });
618
- throw error;
538
+ agentName: agentInstance.name,
539
+ projectId,
540
+ userMessage: hideUserMessageFromTranscript ? null : message,
541
+ author,
542
+ attachments,
543
+ source,
544
+ taskId,
545
+ taskVersionId,
546
+ telemetry: { ...telemetry, userId },
547
+ },
548
+ };
549
+ },
550
+ });
551
+ }
552
+ async *withRuntimeLease(acquire, use) {
553
+ const runtime = await acquire();
554
+ try {
555
+ yield* await use(runtime);
619
556
  }
620
557
  finally {
621
- const messageRecord = normalizeAbortedMessageRecord(recorder.getMessageRecord(), abortSignal);
622
- await this.persistRecordedExecution({
623
- executionId,
624
- onExecutionRecorded,
625
- failureMessage: 'Failed to record agent execution',
626
- params: {
627
- threadId,
628
- agentId,
629
- agentName: agentInstance.name,
630
- projectId,
631
- userMessage: hideUserMessageFromTranscript ? null : message,
632
- author,
633
- attachments,
634
- record: messageRecord,
635
- hitlStatus: recorder.suspended ? 'suspended' : undefined,
636
- source,
637
- taskId,
638
- taskVersionId,
639
- telemetry: { ...telemetry, userId },
640
- },
641
- });
642
- if (!isWakeRun)
643
- await this.requestPendingBackgroundWake(threadId);
558
+ this.runtimeCacheService.releaseRuntimeLease(runtime.agent);
644
559
  }
645
560
  }
646
561
  async requestPendingBackgroundWake(threadId) {
@@ -652,94 +567,46 @@ let AgentExecutionOrchestratorService = class AgentExecutionOrchestratorService
652
567
  this.logger.warn('Failed to request pending background job delivery', { threadId, error });
653
568
  }
654
569
  }
655
- async getPublishedRuntimeOrRecordFailure(params, session) {
570
+ async getRuntimeOrRecordFailure(params, session) {
571
+ const { onExecutionRecorded, abortSignal, ...recording } = session;
572
+ abortSignal?.throwIfAborted();
656
573
  try {
657
574
  return await this.runtimeCacheService.getRuntime(params);
658
575
  }
659
576
  catch (error) {
577
+ abortSignal?.throwIfAborted();
578
+ const { agentId, projectId } = params;
579
+ let agent;
660
580
  try {
661
- await this.recordFailedStart(params, session, error);
581
+ agent = await this.agentRepository.findByIdAndProjectId(agentId, projectId);
662
582
  }
663
- catch (recordError) {
664
- this.logger.warn('Failed to record agent execution', {
665
- agentId: params.agentId,
666
- threadId: session.threadId,
667
- error: recordError instanceof Error ? recordError.message : String(recordError),
668
- });
583
+ catch (cause) {
584
+ throw new agent_execution_recording_error_1.AgentExecutionRecordingError({ phase: 'create', cause, executionError: error });
669
585
  }
670
- throw error;
671
- }
672
- }
673
- async recordFailedStart({ agentId, projectId }, session, error) {
674
- const agent = await this.agentRepository.findByIdAndProjectId(agentId, projectId);
675
- if (!agent)
676
- return;
677
- const published = agent.activeVersion?.schema ? (0, agent_published_snapshot_1.getPublishedAgentSnapshot)(agent) : agent;
678
- const recorder = new execution_recorder_1.ExecutionRecorder();
679
- recorder.record({ type: 'error', error });
680
- recorder.record({ type: 'finish', finishReason: 'error' });
681
- const startParams = {
682
- ...session,
683
- agentId,
684
- agentName: published.schema?.name ?? agent.name,
685
- projectId,
686
- telemetry: {
687
- runType: 'production',
688
- configuration: (0, agent_telemetry_1.buildAgentConfigurationTelemetry)(published),
689
- },
690
- };
691
- const executionId = await this.tryStartExecution(startParams, recorder.startedAt, 'Failed to start agent execution recording');
692
- await this.persistRecordedExecution({
693
- executionId,
694
- params: { ...startParams, record: recorder.getMessageRecord() },
695
- failureMessage: 'Failed to record agent execution',
696
- });
697
- }
698
- createRecorder(toolRegistry, getExecutionId, context, backgroundJobSignal) {
699
- return new execution_recorder_1.ExecutionRecorder(toolRegistry, (timeline) => {
700
- const executionId = getExecutionId();
701
- if (executionId) {
702
- this.agentExecutionService.recordTimelineSnapshot({
703
- ...context,
704
- executionId,
705
- timeline,
706
- });
586
+ abortSignal?.throwIfAborted();
587
+ if (agent) {
588
+ const selected = params.usePublishedVersion && agent.activeVersion?.schema
589
+ ? (0, agent_published_snapshot_1.getPublishedAgentSnapshot)(agent)
590
+ : agent;
591
+ await this.turnExecutionService.recordFailedStart({
592
+ ...recording,
593
+ agentId,
594
+ agentName: selected.schema?.name ?? agent.name,
595
+ projectId,
596
+ telemetry: {
597
+ userId: params.user?.id,
598
+ runType: params.usePublishedVersion ? 'production' : 'test',
599
+ configuration: (0, agent_telemetry_1.buildAgentConfigurationTelemetry)(selected),
600
+ },
601
+ }, error, onExecutionRecorded);
707
602
  }
708
- }, backgroundJobSignal);
709
- }
710
- async tryStartExecution(params, startedAt, failureMessage) {
711
- try {
712
- return await this.agentExecutionService.startExecutionRecording(params, startedAt);
713
- }
714
- catch (error) {
715
- this.logger.warn(failureMessage, {
716
- agentId: params.agentId,
717
- threadId: params.threadId,
718
- error: error instanceof Error ? error.message : String(error),
719
- });
720
- return undefined;
721
- }
722
- }
723
- async persistRecordedExecution(args) {
724
- const { executionId, onExecutionRecorded, params, failureMessage } = args;
725
- if (!executionId)
726
- return;
727
- try {
728
- const recordedId = await this.agentExecutionService.finalizeExecution(executionId, params);
729
- onExecutionRecorded?.(recordedId);
730
- }
731
- catch (error) {
732
- this.logger.warn(failureMessage, {
733
- agentId: params.agentId,
734
- threadId: params.threadId,
735
- error: error instanceof Error ? error.message : String(error),
736
- });
603
+ throw error;
737
604
  }
738
605
  }
739
606
  };
740
607
  exports.AgentExecutionOrchestratorService = AgentExecutionOrchestratorService;
741
608
  exports.AgentExecutionOrchestratorService = AgentExecutionOrchestratorService = __decorate([
742
609
  (0, di_1.Service)(),
743
- __metadata("design:paramtypes", [backend_common_1.Logger, n8n_checkpoint_storage_1.N8NCheckpointStorage, agent_execution_service_1.AgentExecutionService, telemetry_1.Telemetry, agent_runtime_cache_service_1.AgentRuntimeCacheService, integration_message_context_service_1.IntegrationMessageContextService, agent_run_tracing_service_1.AgentRunTracingService, external_hooks_1.ExternalHooks, agent_sandbox_runtime_service_1.AgentSandboxRuntimeService, agent_repository_1.AgentRepository, config_1.AiConfig])
610
+ __metadata("design:paramtypes", [backend_common_1.Logger, n8n_checkpoint_storage_1.N8NCheckpointStorage, agent_execution_service_1.AgentExecutionService, agent_turn_execution_service_1.AgentTurnExecutionService, telemetry_1.Telemetry, agent_runtime_cache_service_1.AgentRuntimeCacheService, integration_message_context_service_1.IntegrationMessageContextService, agent_run_tracing_service_1.AgentRunTracingService, external_hooks_1.ExternalHooks, agent_sandbox_runtime_service_1.AgentSandboxRuntimeService, agent_repository_1.AgentRepository, config_1.AiConfig])
744
611
  ], AgentExecutionOrchestratorService);
745
612
  //# sourceMappingURL=agent-execution-orchestrator.service.js.map