n8n 2.34.3 → 2.35.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 (658) hide show
  1. package/dist/active-workflow-manager.js +2 -14
  2. package/dist/active-workflow-manager.js.map +1 -1
  3. package/dist/agent-library-bundle.js +6 -6
  4. package/dist/build.tsbuildinfo +1 -1
  5. package/dist/controllers/ai.controller.js +3 -0
  6. package/dist/controllers/ai.controller.js.map +1 -1
  7. package/dist/controllers/role.controller.d.ts +0 -1
  8. package/dist/controllers/role.controller.js +6 -14
  9. package/dist/controllers/role.controller.js.map +1 -1
  10. package/dist/credentials/credentials.controller.d.ts +1 -1
  11. package/dist/credentials/credentials.controller.js +7 -1
  12. package/dist/credentials/credentials.controller.js.map +1 -1
  13. package/dist/credentials/credentials.service.d.ts +2 -1
  14. package/dist/credentials/credentials.service.js +24 -0
  15. package/dist/credentials/credentials.service.js.map +1 -1
  16. package/dist/credentials-helper.js +4 -7
  17. package/dist/credentials-helper.js.map +1 -1
  18. package/dist/deprecation/deprecation.service.js +5 -0
  19. package/dist/deprecation/deprecation.service.js.map +1 -1
  20. package/dist/eventbus/event-message-classes/index.js.map +1 -1
  21. package/dist/events/maps/relay.event-map.d.ts +9 -0
  22. package/dist/events/relays/telemetry.event-relay.d.ts +4 -2
  23. package/dist/events/relays/telemetry.event-relay.js +23 -7
  24. package/dist/events/relays/telemetry.event-relay.js.map +1 -1
  25. package/dist/execution-lifecycle/execute-error-workflow.js +19 -5
  26. package/dist/execution-lifecycle/execute-error-workflow.js.map +1 -1
  27. package/dist/execution-lifecycle/execution-lifecycle-hooks.js.map +1 -1
  28. package/dist/executions/execution-persistence.d.ts +6 -4
  29. package/dist/executions/execution-persistence.js +7 -14
  30. package/dist/executions/execution-persistence.js.map +1 -1
  31. package/dist/executions/execution.service.d.ts +31 -2
  32. package/dist/executions/execution.service.js +108 -1
  33. package/dist/executions/execution.service.js.map +1 -1
  34. package/dist/middlewares/body-parser.js +3 -2
  35. package/dist/middlewares/body-parser.js.map +1 -1
  36. package/dist/middlewares/cors.js +1 -1
  37. package/dist/middlewares/cors.js.map +1 -1
  38. package/dist/modules/agent-evals/agent-eval-rating.service.d.ts +12 -15
  39. package/dist/modules/agent-evals/agent-eval-rating.service.js +33 -46
  40. package/dist/modules/agent-evals/agent-eval-rating.service.js.map +1 -1
  41. package/dist/modules/agent-evals/agent-eval-record-mappers.d.ts +3 -2
  42. package/dist/modules/agent-evals/agent-eval-record-mappers.js +13 -0
  43. package/dist/modules/agent-evals/agent-eval-record-mappers.js.map +1 -1
  44. package/dist/modules/agent-evals/agent-eval-runner.service.js +15 -7
  45. package/dist/modules/agent-evals/agent-eval-runner.service.js.map +1 -1
  46. package/dist/modules/agent-evals/agent-eval.service.d.ts +8 -3
  47. package/dist/modules/agent-evals/agent-eval.service.js +6 -6
  48. package/dist/modules/agent-evals/agent-eval.service.js.map +1 -1
  49. package/dist/modules/agent-evals/agent-evals-required-modules.js +2 -2
  50. package/dist/modules/agent-evals/agent-evals-required-modules.js.map +1 -1
  51. package/dist/modules/agent-evals/agent-evals.controller.d.ts +12 -4
  52. package/dist/modules/agent-evals/agent-evals.controller.js +50 -9
  53. package/dist/modules/agent-evals/agent-evals.controller.js.map +1 -1
  54. package/dist/modules/agents/agent-chat.controller.d.ts +3 -5
  55. package/dist/modules/agents/agent-chat.controller.js +19 -25
  56. package/dist/modules/agents/agent-chat.controller.js.map +1 -1
  57. package/dist/modules/agents/agent-config.service.d.ts +5 -1
  58. package/dist/modules/agents/agent-config.service.js +10 -3
  59. package/dist/modules/agents/agent-config.service.js.map +1 -1
  60. package/dist/modules/agents/agent-credential-index.listener.d.ts +11 -0
  61. package/dist/modules/agents/agent-credential-index.listener.js +55 -0
  62. package/dist/modules/agents/agent-credential-index.listener.js.map +1 -0
  63. package/dist/modules/agents/agent-credential-index.service.d.ts +14 -0
  64. package/dist/modules/agents/agent-credential-index.service.js +57 -0
  65. package/dist/modules/agents/agent-credential-index.service.js.map +1 -0
  66. package/dist/modules/agents/agent-execution-orchestrator.service.d.ts +5 -0
  67. package/dist/modules/agents/agent-execution-orchestrator.service.js +89 -23
  68. package/dist/modules/agents/agent-execution-orchestrator.service.js.map +1 -1
  69. package/dist/modules/agents/agent-execution-update-broadcaster.d.ts +20 -0
  70. package/dist/modules/agents/agent-execution-update-broadcaster.js +65 -0
  71. package/dist/modules/agents/agent-execution-update-broadcaster.js.map +1 -0
  72. package/dist/modules/agents/agent-execution.service.d.ts +30 -4
  73. package/dist/modules/agents/agent-execution.service.js +217 -46
  74. package/dist/modules/agents/agent-execution.service.js.map +1 -1
  75. package/dist/modules/agents/agent-integration-management.service.d.ts +33 -0
  76. package/dist/modules/agents/agent-integration-management.service.js +80 -0
  77. package/dist/modules/agents/agent-integration-management.service.js.map +1 -0
  78. package/dist/modules/agents/agent-integration-persistence.service.d.ts +3 -1
  79. package/dist/modules/agents/agent-integration-persistence.service.js +6 -2
  80. package/dist/modules/agents/agent-integration-persistence.service.js.map +1 -1
  81. package/dist/modules/agents/agent-integrations.controller.d.ts +4 -24
  82. package/dist/modules/agents/agent-integrations.controller.js +28 -114
  83. package/dist/modules/agents/agent-integrations.controller.js.map +1 -1
  84. package/dist/modules/agents/agent-interrupted-execution-sweeper.d.ts +11 -0
  85. package/dist/modules/agents/agent-interrupted-execution-sweeper.js +63 -0
  86. package/dist/modules/agents/agent-interrupted-execution-sweeper.js.map +1 -0
  87. package/dist/modules/agents/agent-model-catalog.service.d.ts +1 -0
  88. package/dist/modules/agents/agent-model-catalog.service.js +37 -8
  89. package/dist/modules/agents/agent-model-catalog.service.js.map +1 -1
  90. package/dist/modules/agents/agent-publish.service.d.ts +3 -1
  91. package/dist/modules/agents/agent-publish.service.js +8 -2
  92. package/dist/modules/agents/agent-publish.service.js.map +1 -1
  93. package/dist/modules/agents/agent-run-tracing.service.d.ts +1 -0
  94. package/dist/modules/agents/agent-run-tracing.service.js +4 -1
  95. package/dist/modules/agents/agent-run-tracing.service.js.map +1 -1
  96. package/dist/modules/agents/agent-runtime-cache.service.js +1 -1
  97. package/dist/modules/agents/agent-runtime-cache.service.js.map +1 -1
  98. package/dist/modules/agents/agent-runtime-reconstruction.service.d.ts +3 -1
  99. package/dist/modules/agents/agent-runtime-reconstruction.service.js +14 -8
  100. package/dist/modules/agents/agent-runtime-reconstruction.service.js.map +1 -1
  101. package/dist/modules/agents/agent-slack-integrations.controller.d.ts +23 -0
  102. package/dist/modules/agents/agent-slack-integrations.controller.js +98 -0
  103. package/dist/modules/agents/agent-slack-integrations.controller.js.map +1 -0
  104. package/dist/modules/agents/agent-test-run.service.d.ts +134 -0
  105. package/dist/modules/agents/agent-test-run.service.js +240 -0
  106. package/dist/modules/agents/agent-test-run.service.js.map +1 -0
  107. package/dist/modules/agents/agent-validation.service.d.ts +1 -0
  108. package/dist/modules/agents/agent-validation.service.js +32 -13
  109. package/dist/modules/agents/agent-validation.service.js.map +1 -1
  110. package/dist/modules/agents/agent-workflow-execution.service.d.ts +5 -1
  111. package/dist/modules/agents/agent-workflow-execution.service.js +137 -64
  112. package/dist/modules/agents/agent-workflow-execution.service.js.map +1 -1
  113. package/dist/modules/agents/agents-config.controller.d.ts +8 -0
  114. package/dist/modules/agents/agents.module.d.ts +3 -1
  115. package/dist/modules/agents/agents.module.js +35 -1
  116. package/dist/modules/agents/agents.module.js.map +1 -1
  117. package/dist/modules/agents/agents.service.d.ts +4 -2
  118. package/dist/modules/agents/agents.service.js +6 -2
  119. package/dist/modules/agents/agents.service.js.map +1 -1
  120. package/dist/modules/agents/attachable-workflows.service.d.ts +1 -0
  121. package/dist/modules/agents/attachable-workflows.service.js +2 -1
  122. package/dist/modules/agents/attachable-workflows.service.js.map +1 -1
  123. package/dist/modules/agents/builder/agents-builder-prompts.d.ts +2 -2
  124. package/dist/modules/agents/builder/agents-builder-prompts.js +26 -7
  125. package/dist/modules/agents/builder/agents-builder-prompts.js.map +1 -1
  126. package/dist/modules/agents/builder/agents-builder-tools.service.d.ts +4 -2
  127. package/dist/modules/agents/builder/agents-builder-tools.service.js +130 -2
  128. package/dist/modules/agents/builder/agents-builder-tools.service.js.map +1 -1
  129. package/dist/modules/agents/builder/builder-model-live-lookup.service.d.ts +16 -1
  130. package/dist/modules/agents/builder/builder-model-live-lookup.service.js +69 -22
  131. package/dist/modules/agents/builder/builder-model-live-lookup.service.js.map +1 -1
  132. package/dist/modules/agents/builder/builder-tool-names.d.ts +1 -0
  133. package/dist/modules/agents/builder/builder-tool-names.js +1 -0
  134. package/dist/modules/agents/builder/builder-tool-names.js.map +1 -1
  135. package/dist/modules/agents/builder/get-resource-locator-options.tool.d.ts +2 -2
  136. package/dist/modules/agents/builder/interactive/finish-setup.tool.d.ts +1 -0
  137. package/dist/modules/agents/builder/interactive/finish-setup.tool.js +4 -2
  138. package/dist/modules/agents/builder/interactive/finish-setup.tool.js.map +1 -1
  139. package/dist/modules/agents/builder/interactive/resolve-llm.tool.js +68 -2
  140. package/dist/modules/agents/builder/interactive/resolve-llm.tool.js.map +1 -1
  141. package/dist/modules/agents/builder/prompts/llm-selection.prompt.js +1 -0
  142. package/dist/modules/agents/builder/prompts/llm-selection.prompt.js.map +1 -1
  143. package/dist/modules/agents/builder/prompts/tools.prompt.d.ts +1 -1
  144. package/dist/modules/agents/builder/prompts/tools.prompt.js +5 -2
  145. package/dist/modules/agents/builder/prompts/tools.prompt.js.map +1 -1
  146. package/dist/modules/agents/builder/skills/external-services.skill.js +26 -2
  147. package/dist/modules/agents/builder/skills/external-services.skill.js.map +1 -1
  148. package/dist/modules/agents/entities/agent-credential-dependency.entity.d.ts +9 -0
  149. package/dist/modules/agents/entities/agent-credential-dependency.entity.js +40 -0
  150. package/dist/modules/agents/entities/agent-credential-dependency.entity.js.map +1 -0
  151. package/dist/modules/agents/entities/agent-execution.entity.d.ts +1 -1
  152. package/dist/modules/agents/entities/agent-execution.entity.js +2 -1
  153. package/dist/modules/agents/entities/agent-execution.entity.js.map +1 -1
  154. package/dist/modules/agents/execution-recorder.d.ts +7 -1
  155. package/dist/modules/agents/execution-recorder.js +64 -8
  156. package/dist/modules/agents/execution-recorder.js.map +1 -1
  157. package/dist/modules/agents/instance-ai-builder-delegate.adapter.d.ts +6 -2
  158. package/dist/modules/agents/instance-ai-builder-delegate.adapter.js +24 -3
  159. package/dist/modules/agents/instance-ai-builder-delegate.adapter.js.map +1 -1
  160. package/dist/modules/agents/integrations/agent-chat-bridge.d.ts +3 -2
  161. package/dist/modules/agents/integrations/agent-chat-bridge.js +30 -13
  162. package/dist/modules/agents/integrations/agent-chat-bridge.js.map +1 -1
  163. package/dist/modules/agents/integrations/agent-chat-hitl-resume-handler.d.ts +3 -2
  164. package/dist/modules/agents/integrations/agent-chat-hitl-resume-handler.js +25 -12
  165. package/dist/modules/agents/integrations/agent-chat-hitl-resume-handler.js.map +1 -1
  166. package/dist/modules/agents/integrations/agent-chat-integration.d.ts +38 -6
  167. package/dist/modules/agents/integrations/agent-chat-integration.js.map +1 -1
  168. package/dist/modules/agents/integrations/agent-chat-message-context.js +13 -6
  169. package/dist/modules/agents/integrations/agent-chat-message-context.js.map +1 -1
  170. package/dist/modules/agents/integrations/agent-chat-stream-consumer.js +7 -1
  171. package/dist/modules/agents/integrations/agent-chat-stream-consumer.js.map +1 -1
  172. package/dist/modules/agents/integrations/callback-store.d.ts +13 -4
  173. package/dist/modules/agents/integrations/callback-store.js +44 -18
  174. package/dist/modules/agents/integrations/callback-store.js.map +1 -1
  175. package/dist/modules/agents/integrations/chat-integration.service.d.ts +7 -3
  176. package/dist/modules/agents/integrations/chat-integration.service.js +59 -22
  177. package/dist/modules/agents/integrations/chat-integration.service.js.map +1 -1
  178. package/dist/modules/agents/integrations/component-mapper.d.ts +1 -1
  179. package/dist/modules/agents/integrations/component-mapper.js +1 -1
  180. package/dist/modules/agents/integrations/component-mapper.js.map +1 -1
  181. package/dist/modules/agents/integrations/esm-loader.d.ts +1 -0
  182. package/dist/modules/agents/integrations/esm-loader.js +4 -0
  183. package/dist/modules/agents/integrations/esm-loader.js.map +1 -1
  184. package/dist/modules/agents/integrations/integration-action-executor.d.ts +2 -0
  185. package/dist/modules/agents/integrations/integration-action-executor.js +74 -20
  186. package/dist/modules/agents/integrations/integration-action-executor.js.map +1 -1
  187. package/dist/modules/agents/integrations/integration-tool-definitions.js +35 -2
  188. package/dist/modules/agents/integrations/integration-tool-definitions.js.map +1 -1
  189. package/dist/modules/agents/integrations/integration-tool-execution.js +10 -5
  190. package/dist/modules/agents/integrations/integration-tool-execution.js.map +1 -1
  191. package/dist/modules/agents/integrations/integration-tool-schema.js +8 -2
  192. package/dist/modules/agents/integrations/integration-tool-schema.js.map +1 -1
  193. package/dist/modules/agents/integrations/integration-tool-types.d.ts +2 -0
  194. package/dist/modules/agents/integrations/n8n-memory.js +6 -7
  195. package/dist/modules/agents/integrations/n8n-memory.js.map +1 -1
  196. package/dist/modules/agents/integrations/platforms/discord-gateway.d.ts +32 -0
  197. package/dist/modules/agents/integrations/platforms/discord-gateway.js +138 -0
  198. package/dist/modules/agents/integrations/platforms/discord-gateway.js.map +1 -0
  199. package/dist/modules/agents/integrations/platforms/discord-integration.d.ts +73 -0
  200. package/dist/modules/agents/integrations/platforms/discord-integration.js +364 -0
  201. package/dist/modules/agents/integrations/platforms/discord-integration.js.map +1 -0
  202. package/dist/modules/agents/integrations/platforms/discord-operations.d.ts +64 -0
  203. package/dist/modules/agents/integrations/platforms/discord-operations.js +176 -0
  204. package/dist/modules/agents/integrations/platforms/discord-operations.js.map +1 -0
  205. package/dist/modules/agents/integrations/platforms/{slack-bridge-behavior.d.ts → slack/slack-bridge-behavior.d.ts} +3 -3
  206. package/dist/modules/agents/integrations/platforms/slack/slack-bridge-behavior.js.map +1 -0
  207. package/dist/modules/agents/integrations/platforms/{slack-integration.d.ts → slack/slack-integration.d.ts} +11 -6
  208. package/dist/modules/agents/integrations/platforms/{slack-integration.js → slack/slack-integration.js} +32 -23
  209. package/dist/modules/agents/integrations/platforms/slack/slack-integration.js.map +1 -0
  210. package/dist/modules/agents/integrations/platforms/slack/slack-manual-setup.service.d.ts +35 -0
  211. package/dist/modules/agents/integrations/platforms/slack/slack-manual-setup.service.js +150 -0
  212. package/dist/modules/agents/integrations/platforms/slack/slack-manual-setup.service.js.map +1 -0
  213. package/dist/modules/agents/integrations/platforms/slack/slack-methods.service.d.ts +36 -0
  214. package/dist/modules/agents/integrations/platforms/slack/slack-methods.service.js +193 -0
  215. package/dist/modules/agents/integrations/platforms/slack/slack-methods.service.js.map +1 -0
  216. package/dist/modules/agents/integrations/platforms/slack/slack-operations.d.ts +10 -0
  217. package/dist/modules/agents/integrations/platforms/{slack-operations.js → slack/slack-operations.js} +1 -57
  218. package/dist/modules/agents/integrations/platforms/slack/slack-operations.js.map +1 -0
  219. package/dist/modules/agents/integrations/platforms/telegram-bridge-behavior.js +6 -36
  220. package/dist/modules/agents/integrations/platforms/telegram-bridge-behavior.js.map +1 -1
  221. package/dist/modules/agents/integrations/platforms/telegram-integration.d.ts +3 -2
  222. package/dist/modules/agents/integrations/platforms/telegram-integration.js +14 -5
  223. package/dist/modules/agents/integrations/platforms/telegram-integration.js.map +1 -1
  224. package/dist/modules/agents/integrations/platforms/typing-indicator.d.ts +9 -0
  225. package/dist/modules/agents/integrations/platforms/typing-indicator.js +42 -0
  226. package/dist/modules/agents/integrations/platforms/typing-indicator.js.map +1 -0
  227. package/dist/modules/agents/integrations/recording/recording-adapter.js +11 -0
  228. package/dist/modules/agents/integrations/recording/recording-adapter.js.map +1 -1
  229. package/dist/modules/agents/json-config/node-tool-ai-gateway.service.d.ts +9 -0
  230. package/dist/modules/agents/json-config/node-tool-ai-gateway.service.js +34 -0
  231. package/dist/modules/agents/json-config/node-tool-ai-gateway.service.js.map +1 -0
  232. package/dist/modules/agents/json-config/reconcile-node-tool-gateway-credentials.d.ts +4 -0
  233. package/dist/modules/agents/json-config/reconcile-node-tool-gateway-credentials.js +152 -0
  234. package/dist/modules/agents/json-config/reconcile-node-tool-gateway-credentials.js.map +1 -0
  235. package/dist/modules/agents/repositories/agent-credential-dependency.repository.d.ts +12 -0
  236. package/dist/modules/agents/repositories/agent-credential-dependency.repository.js +92 -0
  237. package/dist/modules/agents/repositories/agent-credential-dependency.repository.js.map +1 -0
  238. package/dist/modules/agents/repositories/agent-execution.repository.d.ts +7 -0
  239. package/dist/modules/agents/repositories/agent-execution.repository.js +20 -0
  240. package/dist/modules/agents/repositories/agent-execution.repository.js.map +1 -1
  241. package/dist/modules/agents/repositories/agent.repository.d.ts +2 -0
  242. package/dist/modules/agents/repositories/agent.repository.js +18 -0
  243. package/dist/modules/agents/repositories/agent.repository.js.map +1 -1
  244. package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.d.ts +2 -0
  245. package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.js +69 -5
  246. package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.js.map +1 -1
  247. package/dist/modules/agents/tools/node-tool-factory.js +5 -1
  248. package/dist/modules/agents/tools/node-tool-factory.js.map +1 -1
  249. package/dist/modules/agents/tools/workflow-tool-factory.d.ts +7 -4
  250. package/dist/modules/agents/tools/workflow-tool-factory.js +86 -41
  251. package/dist/modules/agents/tools/workflow-tool-factory.js.map +1 -1
  252. package/dist/modules/agents/tools/workflow-tool-workflow-loader.service.d.ts +14 -0
  253. package/dist/modules/agents/tools/workflow-tool-workflow-loader.service.js +50 -0
  254. package/dist/modules/agents/tools/workflow-tool-workflow-loader.service.js.map +1 -0
  255. package/dist/modules/agents/tools/workflow-tool-workflow-resolver.d.ts +3 -3
  256. package/dist/modules/agents/tools/workflow-tool-workflow-resolver.js +28 -23
  257. package/dist/modules/agents/tools/workflow-tool-workflow-resolver.js.map +1 -1
  258. package/dist/modules/agents/utils/extract-agent-credential-ids.d.ts +1 -0
  259. package/dist/modules/agents/utils/extract-agent-credential-ids.js +41 -0
  260. package/dist/modules/agents/utils/extract-agent-credential-ids.js.map +1 -0
  261. package/dist/modules/agents/utils/node-tool-validation.js +2 -2
  262. package/dist/modules/agents/utils/node-tool-validation.js.map +1 -1
  263. package/dist/modules/breaking-changes/rules/v3/unverified-packages.rule.d.ts +6 -2
  264. package/dist/modules/breaking-changes/rules/v3/unverified-packages.rule.js +26 -3
  265. package/dist/modules/breaking-changes/rules/v3/unverified-packages.rule.js.map +1 -1
  266. package/dist/modules/data-table/data-table-permissions.d.ts +5 -0
  267. package/dist/modules/data-table/data-table-permissions.js +14 -0
  268. package/dist/modules/data-table/data-table-permissions.js.map +1 -0
  269. package/dist/modules/data-table/data-table-proxy.service.js +2 -0
  270. package/dist/modules/data-table/data-table-proxy.service.js.map +1 -1
  271. package/dist/modules/data-table/data-table.controller.d.ts +1 -1
  272. package/dist/modules/data-table/data-table.controller.js +7 -19
  273. package/dist/modules/data-table/data-table.controller.js.map +1 -1
  274. package/dist/modules/data-table/data-table.service.d.ts +3 -0
  275. package/dist/modules/data-table/data-table.service.js.map +1 -1
  276. package/dist/modules/dynamic-credentials.ee/services/credential-check-proxy.service.d.ts +1 -0
  277. package/dist/modules/dynamic-credentials.ee/services/credential-check-proxy.service.js +8 -0
  278. package/dist/modules/dynamic-credentials.ee/services/credential-check-proxy.service.js.map +1 -1
  279. package/dist/modules/external-secrets.ee/providers/azure-key-vault/azure-key-vault.d.ts +1 -0
  280. package/dist/modules/external-secrets.ee/providers/azure-key-vault/azure-key-vault.js +100 -3
  281. package/dist/modules/external-secrets.ee/providers/azure-key-vault/azure-key-vault.js.map +1 -1
  282. package/dist/modules/external-secrets.ee/providers/azure-key-vault/types.d.ts +4 -0
  283. package/dist/modules/insights/database/repositories/insights-by-period-query.helper.d.ts +2 -1
  284. package/dist/modules/insights/database/repositories/insights-by-period-query.helper.js +11 -5
  285. package/dist/modules/insights/database/repositories/insights-by-period-query.helper.js.map +1 -1
  286. package/dist/modules/insights/database/repositories/insights-by-period.repository.d.ts +6 -3
  287. package/dist/modules/insights/database/repositories/insights-by-period.repository.js +31 -11
  288. package/dist/modules/insights/database/repositories/insights-by-period.repository.js.map +1 -1
  289. package/dist/modules/insights/insights.controller.js +13 -7
  290. package/dist/modules/insights/insights.controller.js.map +1 -1
  291. package/dist/modules/insights/insights.service.d.ts +6 -3
  292. package/dist/modules/insights/insights.service.js +6 -3
  293. package/dist/modules/insights/insights.service.js.map +1 -1
  294. package/dist/modules/instance-ai/eval/agent-execution.service.js +10 -3
  295. package/dist/modules/instance-ai/eval/agent-execution.service.js.map +1 -1
  296. package/dist/modules/instance-ai/eval/execution.service.d.ts +1 -0
  297. package/dist/modules/instance-ai/eval/execution.service.js +37 -3
  298. package/dist/modules/instance-ai/eval/execution.service.js.map +1 -1
  299. package/dist/modules/instance-ai/eval/thread-restore.service.d.ts +5 -1
  300. package/dist/modules/instance-ai/eval/thread-restore.service.js +67 -9
  301. package/dist/modules/instance-ai/eval/thread-restore.service.js.map +1 -1
  302. package/dist/modules/instance-ai/instance-ai-model-catalog.service.d.ts +15 -0
  303. package/dist/modules/instance-ai/instance-ai-model-catalog.service.js +130 -0
  304. package/dist/modules/instance-ai/instance-ai-model-catalog.service.js.map +1 -0
  305. package/dist/modules/instance-ai/instance-ai-settings.service.d.ts +17 -1
  306. package/dist/modules/instance-ai/instance-ai-settings.service.js +234 -24
  307. package/dist/modules/instance-ai/instance-ai-settings.service.js.map +1 -1
  308. package/dist/modules/instance-ai/instance-ai-verification.service.d.ts +20 -0
  309. package/dist/modules/instance-ai/instance-ai-verification.service.js +232 -0
  310. package/dist/modules/instance-ai/instance-ai-verification.service.js.map +1 -0
  311. package/dist/modules/instance-ai/instance-ai.adapter.service.d.ts +4 -0
  312. package/dist/modules/instance-ai/instance-ai.adapter.service.js +78 -4
  313. package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -1
  314. package/dist/modules/instance-ai/instance-ai.controller.d.ts +9 -2
  315. package/dist/modules/instance-ai/instance-ai.controller.js +84 -2
  316. package/dist/modules/instance-ai/instance-ai.controller.js.map +1 -1
  317. package/dist/modules/instance-ai/instance-ai.module.d.ts +1 -0
  318. package/dist/modules/instance-ai/instance-ai.module.js +3 -7
  319. package/dist/modules/instance-ai/instance-ai.module.js.map +1 -1
  320. package/dist/modules/instance-ai/instance-ai.service.d.ts +5 -1
  321. package/dist/modules/instance-ai/instance-ai.service.js +231 -60
  322. package/dist/modules/instance-ai/instance-ai.service.js.map +1 -1
  323. package/dist/modules/instance-ai/node-definition-resolver.d.ts +0 -1
  324. package/dist/modules/instance-ai/node-definition-resolver.js +0 -19
  325. package/dist/modules/instance-ai/node-definition-resolver.js.map +1 -1
  326. package/dist/modules/instance-ai/sandbox/instance-ai-sandbox.service.d.ts +1 -0
  327. package/dist/modules/instance-ai/sandbox/instance-ai-sandbox.service.js +37 -2
  328. package/dist/modules/instance-ai/sandbox/instance-ai-sandbox.service.js.map +1 -1
  329. package/dist/modules/instance-ai/storage/typeorm-observation-log-store.js +6 -6
  330. package/dist/modules/instance-ai/storage/typeorm-observation-log-store.js.map +1 -1
  331. package/dist/modules/instance-ai/suspended-run-restorer.service.d.ts +1 -1
  332. package/dist/modules/instance-ai/suspended-run-restorer.service.js +9 -0
  333. package/dist/modules/instance-ai/suspended-run-restorer.service.js.map +1 -1
  334. package/dist/modules/mcp/mcp-protected-resource.d.ts +3 -4
  335. package/dist/modules/mcp/mcp-protected-resource.js +4 -4
  336. package/dist/modules/mcp/mcp-protected-resource.js.map +1 -1
  337. package/dist/modules/mcp/mcp-scopes.js +2 -0
  338. package/dist/modules/mcp/mcp-scopes.js.map +1 -1
  339. package/dist/modules/mcp/mcp-server-middleware.service.js +1 -0
  340. package/dist/modules/mcp/mcp-server-middleware.service.js.map +1 -1
  341. package/dist/modules/mcp/mcp.constants.d.ts +4 -0
  342. package/dist/modules/mcp/mcp.constants.js +5 -1
  343. package/dist/modules/mcp/mcp.constants.js.map +1 -1
  344. package/dist/modules/mcp/mcp.controller.js +14 -14
  345. package/dist/modules/mcp/mcp.controller.js.map +1 -1
  346. package/dist/modules/mcp/mcp.service.d.ts +4 -3
  347. package/dist/modules/mcp/mcp.service.js +49 -34
  348. package/dist/modules/mcp/mcp.service.js.map +1 -1
  349. package/dist/modules/mcp/mcp.types.d.ts +31 -5
  350. package/dist/modules/mcp/mcp.types.js.map +1 -1
  351. package/dist/modules/mcp/mcp.utils.d.ts +1 -0
  352. package/dist/modules/mcp/mcp.utils.js +22 -5
  353. package/dist/modules/mcp/mcp.utils.js.map +1 -1
  354. package/dist/modules/mcp/tool-schema.util.d.ts +3 -0
  355. package/dist/modules/mcp/tool-schema.util.js +32 -0
  356. package/dist/modules/mcp/tool-schema.util.js.map +1 -0
  357. package/dist/modules/mcp/tools/agents/agent-reference.d.ts +1 -1
  358. package/dist/modules/mcp/tools/agents/agent-reference.js +17 -6
  359. package/dist/modules/mcp/tools/agents/agent-reference.js.map +1 -1
  360. package/dist/modules/mcp/tools/agents/agent-tools.service.d.ts +9 -8
  361. package/dist/modules/mcp/tools/agents/agent-tools.service.js +207 -52
  362. package/dist/modules/mcp/tools/agents/agent-tools.service.js.map +1 -1
  363. package/dist/modules/mcp/tools/execute-workflow.tool.js +1 -1
  364. package/dist/modules/mcp/tools/execute-workflow.tool.js.map +1 -1
  365. package/dist/modules/mcp/tools/get-workflow-details.tool.d.ts +4 -1
  366. package/dist/modules/mcp/tools/get-workflow-details.tool.js +60 -23
  367. package/dist/modules/mcp/tools/get-workflow-details.tool.js.map +1 -1
  368. package/dist/modules/mcp/tools/list-credentials.tool.js +1 -1
  369. package/dist/modules/mcp/tools/list-credentials.tool.js.map +1 -1
  370. package/dist/modules/mcp/tools/schemas.d.ts +81 -40
  371. package/dist/modules/mcp/tools/schemas.js +31 -11
  372. package/dist/modules/mcp/tools/schemas.js.map +1 -1
  373. package/dist/modules/mcp/tools/search-workflows.tool.js +1 -9
  374. package/dist/modules/mcp/tools/search-workflows.tool.js.map +1 -1
  375. package/dist/modules/mcp/tools/workflow-builder/credentials-auto-assign.d.ts +1 -1
  376. package/dist/modules/mcp/tools/workflow-builder/credentials-auto-assign.js +2 -7
  377. package/dist/modules/mcp/tools/workflow-builder/credentials-auto-assign.js.map +1 -1
  378. package/dist/modules/mcp/tools/workflow-builder/get-workflow-best-practices.tool.js +2 -11
  379. package/dist/modules/mcp/tools/workflow-builder/get-workflow-best-practices.tool.js.map +1 -1
  380. package/dist/modules/mcp/tools/workflow-builder/mcp-instructions.js +2 -2
  381. package/dist/modules/mcp/tools/workflow-builder/sdk-reference-content.js +2 -1
  382. package/dist/modules/mcp/tools/workflow-builder/sdk-reference-content.js.map +1 -1
  383. package/dist/modules/mcp-registry/registry/mcp-registry-search.d.ts +1 -0
  384. package/dist/modules/mcp-registry/registry/mcp-registry-search.js +17 -5
  385. package/dist/modules/mcp-registry/registry/mcp-registry-search.js.map +1 -1
  386. package/dist/modules/n8n-packages/engine/import-blocked.error.js +2 -0
  387. package/dist/modules/n8n-packages/engine/import-blocked.error.js.map +1 -1
  388. package/dist/modules/n8n-packages/engine/import-gates.d.ts +3 -4
  389. package/dist/modules/n8n-packages/engine/import-gates.js +10 -8
  390. package/dist/modules/n8n-packages/engine/import-gates.js.map +1 -1
  391. package/dist/modules/n8n-packages/engine/import-orchestrator.d.ts +6 -2
  392. package/dist/modules/n8n-packages/engine/import-orchestrator.js +36 -8
  393. package/dist/modules/n8n-packages/engine/import-orchestrator.js.map +1 -1
  394. package/dist/modules/n8n-packages/engine/import-result.d.ts +2 -0
  395. package/dist/modules/n8n-packages/engine/import-result.js +13 -2
  396. package/dist/modules/n8n-packages/engine/import-result.js.map +1 -1
  397. package/dist/modules/n8n-packages/engine/import-telemetry.js +8 -2
  398. package/dist/modules/n8n-packages/engine/import-telemetry.js.map +1 -1
  399. package/dist/modules/n8n-packages/engine/n8n-package-parser.d.ts +3 -0
  400. package/dist/modules/n8n-packages/engine/n8n-package-parser.js +29 -0
  401. package/dist/modules/n8n-packages/engine/n8n-package-parser.js.map +1 -1
  402. package/dist/modules/n8n-packages/engine/package-layout.d.ts +18 -1
  403. package/dist/modules/n8n-packages/engine/package-layout.js +36 -7
  404. package/dist/modules/n8n-packages/engine/package-layout.js.map +1 -1
  405. package/dist/modules/n8n-packages/engine/project-package-importer.js +28 -16
  406. package/dist/modules/n8n-packages/engine/project-package-importer.js.map +1 -1
  407. package/dist/modules/n8n-packages/engine/workflow-package-importer.js +12 -12
  408. package/dist/modules/n8n-packages/engine/workflow-package-importer.js.map +1 -1
  409. package/dist/modules/n8n-packages/entities/project/project-conflict-policy.d.ts +7 -0
  410. package/dist/modules/n8n-packages/entities/project/project-conflict-policy.js +12 -0
  411. package/dist/modules/n8n-packages/entities/project/project-conflict-policy.js.map +1 -0
  412. package/dist/modules/n8n-packages/entities/project/project-import.types.d.ts +13 -3
  413. package/dist/modules/n8n-packages/entities/project/project-importer.d.ts +3 -3
  414. package/dist/modules/n8n-packages/entities/project/project-importer.js +58 -29
  415. package/dist/modules/n8n-packages/entities/project/project-importer.js.map +1 -1
  416. package/dist/modules/n8n-packages/entities/tag/tag-import-decision.d.ts +4 -1
  417. package/dist/modules/n8n-packages/entities/tag/tag-import-decision.js +10 -3
  418. package/dist/modules/n8n-packages/entities/tag/tag-import-decision.js.map +1 -1
  419. package/dist/modules/n8n-packages/entities/tag/tag-importer.d.ts +1 -4
  420. package/dist/modules/n8n-packages/entities/tag/tag-importer.js +22 -10
  421. package/dist/modules/n8n-packages/entities/tag/tag-importer.js.map +1 -1
  422. package/dist/modules/n8n-packages/entities/tag/tag.types.d.ts +13 -0
  423. package/dist/modules/n8n-packages/entities/tag/tag.types.js +36 -0
  424. package/dist/modules/n8n-packages/entities/tag/tag.types.js.map +1 -1
  425. package/dist/modules/n8n-packages/entities/variable/variable-importer.d.ts +6 -5
  426. package/dist/modules/n8n-packages/entities/variable/variable-importer.js +85 -21
  427. package/dist/modules/n8n-packages/entities/variable/variable-importer.js.map +1 -1
  428. package/dist/modules/n8n-packages/entities/variable/variable-missing-mode.d.ts +1 -0
  429. package/dist/modules/n8n-packages/entities/variable/variable-missing-mode.js +8 -3
  430. package/dist/modules/n8n-packages/entities/variable/variable-missing-mode.js.map +1 -1
  431. package/dist/modules/n8n-packages/entities/variable/variable.exporter.d.ts +1 -0
  432. package/dist/modules/n8n-packages/entities/variable/variable.exporter.js +18 -23
  433. package/dist/modules/n8n-packages/entities/variable/variable.exporter.js.map +1 -1
  434. package/dist/modules/n8n-packages/entities/variable/variable.types.d.ts +21 -2
  435. package/dist/modules/n8n-packages/entities/variable/variable.types.js +15 -0
  436. package/dist/modules/n8n-packages/entities/variable/variable.types.js.map +1 -1
  437. package/dist/modules/n8n-packages/entities/workflow/workflow-publisher.d.ts +6 -2
  438. package/dist/modules/n8n-packages/entities/workflow/workflow-publisher.js +33 -11
  439. package/dist/modules/n8n-packages/entities/workflow/workflow-publisher.js.map +1 -1
  440. package/dist/modules/n8n-packages/n8n-packages.types.d.ts +35 -3
  441. package/dist/modules/n8n-packages/n8n-packages.types.js +12 -1
  442. package/dist/modules/n8n-packages/n8n-packages.types.js.map +1 -1
  443. package/dist/modules/n8n-packages/spec/manifest.schema.d.ts +0 -11
  444. package/dist/modules/n8n-packages/spec/requirements.schema.d.ts +0 -10
  445. package/dist/modules/n8n-packages/spec/requirements.schema.js +0 -1
  446. package/dist/modules/n8n-packages/spec/requirements.schema.js.map +1 -1
  447. package/dist/modules/n8n-packages/spec/serialized/variable.schema.d.ts +3 -3
  448. package/dist/modules/n8n-packages/spec/serialized/variable.schema.js +3 -2
  449. package/dist/modules/n8n-packages/spec/serialized/variable.schema.js.map +1 -1
  450. package/dist/modules/oauth-server/oauth-server.service.js +2 -2
  451. package/dist/modules/oauth-server/oauth-server.service.js.map +1 -1
  452. package/dist/modules/otel/execution-level-tracer.d.ts +2 -0
  453. package/dist/modules/otel/execution-level-tracer.js +4 -0
  454. package/dist/modules/otel/execution-level-tracer.js.map +1 -1
  455. package/dist/modules/redaction/redaction-context-hook.d.ts +3 -1
  456. package/dist/modules/redaction/redaction-context-hook.js +9 -2
  457. package/dist/modules/redaction/redaction-context-hook.js.map +1 -1
  458. package/dist/modules/source-control.ee/source-control-import.service.ee.d.ts +4 -1
  459. package/dist/modules/source-control.ee/source-control-import.service.ee.js +26 -6
  460. package/dist/modules/source-control.ee/source-control-import.service.ee.js.map +1 -1
  461. package/dist/modules/workflow-index/workflow-dependency-query.service.d.ts +8 -1
  462. package/dist/modules/workflow-index/workflow-dependency-query.service.js +76 -18
  463. package/dist/modules/workflow-index/workflow-dependency-query.service.js.map +1 -1
  464. package/dist/modules/workflow-reviews.ee/workflow-review-auto-close.service.d.ts +16 -0
  465. package/dist/modules/workflow-reviews.ee/workflow-review-auto-close.service.js +95 -0
  466. package/dist/modules/workflow-reviews.ee/workflow-review-auto-close.service.js.map +1 -0
  467. package/dist/modules/workflow-reviews.ee/workflow-review-decision-eligibility.service.d.ts +15 -0
  468. package/dist/modules/workflow-reviews.ee/workflow-review-decision-eligibility.service.js +52 -0
  469. package/dist/modules/workflow-reviews.ee/workflow-review-decision-eligibility.service.js.map +1 -0
  470. package/dist/modules/workflow-reviews.ee/workflow-review-inbox.service.d.ts +3 -1
  471. package/dist/modules/workflow-reviews.ee/workflow-review-inbox.service.js +10 -4
  472. package/dist/modules/workflow-reviews.ee/workflow-review-inbox.service.js.map +1 -1
  473. package/dist/modules/workflow-reviews.ee/workflow-review-publish-guard.service.js +1 -1
  474. package/dist/modules/workflow-reviews.ee/workflow-review-publish-guard.service.js.map +1 -1
  475. package/dist/modules/workflow-reviews.ee/workflow-review-request.service.d.ts +9 -5
  476. package/dist/modules/workflow-reviews.ee/workflow-review-request.service.js +71 -40
  477. package/dist/modules/workflow-reviews.ee/workflow-review-request.service.js.map +1 -1
  478. package/dist/modules/workflow-reviews.ee/workflow-reviews.module.js +3 -0
  479. package/dist/modules/workflow-reviews.ee/workflow-reviews.module.js.map +1 -1
  480. package/dist/node-execution/ephemeral-node-executor.js +20 -13
  481. package/dist/node-execution/ephemeral-node-executor.js.map +1 -1
  482. package/dist/oauth/dcr-managed-fields.d.ts +6 -0
  483. package/dist/oauth/dcr-managed-fields.js +13 -0
  484. package/dist/oauth/dcr-managed-fields.js.map +1 -0
  485. package/dist/oauth/oauth.service.d.ts +1 -0
  486. package/dist/oauth/oauth.service.js +24 -25
  487. package/dist/oauth/oauth.service.js.map +1 -1
  488. package/dist/posthog/index.d.ts +2 -0
  489. package/dist/posthog/index.js +19 -0
  490. package/dist/posthog/index.js.map +1 -1
  491. package/dist/public-api/public-api-controller.registry.d.ts +1 -0
  492. package/dist/public-api/public-api-controller.registry.js +36 -35
  493. package/dist/public-api/public-api-controller.registry.js.map +1 -1
  494. package/dist/public-api/public-api-route-resolver.d.ts +38 -0
  495. package/dist/public-api/public-api-route-resolver.js +136 -0
  496. package/dist/public-api/public-api-route-resolver.js.map +1 -0
  497. package/dist/public-api/types.d.ts +3 -6
  498. package/dist/public-api/v1/controllers/index.d.ts +1 -0
  499. package/dist/public-api/v1/controllers/index.js +1 -0
  500. package/dist/public-api/v1/controllers/index.js.map +1 -1
  501. package/dist/public-api/v1/controllers/roles.public.controller.d.ts +11 -0
  502. package/dist/public-api/v1/controllers/roles.public.controller.js +65 -0
  503. package/dist/public-api/v1/controllers/roles.public.controller.js.map +1 -0
  504. package/dist/public-api/v1/controllers/tags.public.controller.js +9 -2
  505. package/dist/public-api/v1/controllers/tags.public.controller.js.map +1 -1
  506. package/dist/public-api/v1/controllers/workflows.public.controller.d.ts +10 -2
  507. package/dist/public-api/v1/controllers/workflows.public.controller.js +132 -4
  508. package/dist/public-api/v1/controllers/workflows.public.controller.js.map +1 -1
  509. package/dist/public-api/v1/handlers/data-tables/data-tables.rows.handler.js +7 -15
  510. package/dist/public-api/v1/handlers/data-tables/data-tables.rows.handler.js.map +1 -1
  511. package/dist/public-api/v1/handlers/decorator-routed.handler.d.ts +2 -0
  512. package/dist/public-api/v1/handlers/decorator-routed.handler.js +10 -0
  513. package/dist/public-api/v1/handlers/decorator-routed.handler.js.map +1 -0
  514. package/dist/public-api/v1/handlers/discover/discover.service.js +54 -49
  515. package/dist/public-api/v1/handlers/discover/discover.service.js.map +1 -1
  516. package/dist/public-api/v1/handlers/executions/executions.handler.js +25 -65
  517. package/dist/public-api/v1/handlers/executions/executions.handler.js.map +1 -1
  518. package/dist/public-api/v1/handlers/n8n-packages/n8n-packages.handler.js +2 -0
  519. package/dist/public-api/v1/handlers/n8n-packages/n8n-packages.handler.js.map +1 -1
  520. package/dist/public-api/v1/handlers/workflows/workflows.handler.d.ts +0 -1
  521. package/dist/public-api/v1/handlers/workflows/workflows.handler.js +44 -122
  522. package/dist/public-api/v1/handlers/workflows/workflows.handler.js.map +1 -1
  523. package/dist/public-api/v1/openapi-gen/decorator-routes.d.ts +18 -0
  524. package/dist/public-api/v1/openapi-gen/decorator-routes.js +160 -0
  525. package/dist/public-api/v1/openapi-gen/decorator-routes.js.map +1 -0
  526. package/dist/public-api/v1/openapi-gen/generate.d.ts +25 -0
  527. package/dist/public-api/v1/openapi-gen/generate.js +149 -0
  528. package/dist/public-api/v1/openapi-gen/generate.js.map +1 -0
  529. package/dist/public-api/v1/openapi-gen/zod-extend.d.ts +1 -0
  530. package/dist/public-api/v1/openapi-gen/zod-extend.js +6 -0
  531. package/dist/public-api/v1/openapi-gen/zod-extend.js.map +1 -0
  532. package/dist/public-api/v1/openapi.yml +625 -166
  533. package/dist/public-api/v1/shared/middlewares/global.middleware.d.ts +1 -3
  534. package/dist/public-api/v1/shared/middlewares/global.middleware.js.map +1 -1
  535. package/dist/scaling/constants.d.ts +2 -2
  536. package/dist/scaling/constants.js +1 -0
  537. package/dist/scaling/constants.js.map +1 -1
  538. package/dist/scaling/pubsub/pubsub.event-map.d.ts +5 -1
  539. package/dist/scaling/pubsub/pubsub.types.d.ts +2 -1
  540. package/dist/server.js +1 -0
  541. package/dist/server.js.map +1 -1
  542. package/dist/{modules/mcp/tools/workflow-builder → services}/ai-gateway-eligibility.d.ts +1 -0
  543. package/dist/{modules/mcp/tools/workflow-builder → services}/ai-gateway-eligibility.js +7 -1
  544. package/dist/services/ai-gateway-eligibility.js.map +1 -0
  545. package/dist/services/ai-gateway.service.d.ts +2 -0
  546. package/dist/services/ai-gateway.service.js +17 -3
  547. package/dist/services/ai-gateway.service.js.map +1 -1
  548. package/dist/services/cache/cache.service.d.ts +2 -0
  549. package/dist/services/cache/cache.service.js +21 -0
  550. package/dist/services/cache/cache.service.js.map +1 -1
  551. package/dist/services/cache/redis.cache-manager.d.ts +1 -0
  552. package/dist/services/cache/redis.cache-manager.js +6 -0
  553. package/dist/services/cache/redis.cache-manager.js.map +1 -1
  554. package/dist/services/credentials-tester.service.d.ts +5 -1
  555. package/dist/services/credentials-tester.service.js +9 -3
  556. package/dist/services/credentials-tester.service.js.map +1 -1
  557. package/dist/services/folder.service.js.map +1 -1
  558. package/dist/services/free-ai-credits.service.js +1 -1
  559. package/dist/services/free-ai-credits.service.js.map +1 -1
  560. package/dist/services/frontend.service.js +3 -1
  561. package/dist/services/frontend.service.js.map +1 -1
  562. package/dist/services/node-resource-explorer.service.d.ts +13 -0
  563. package/dist/services/node-resource-explorer.service.js +117 -0
  564. package/dist/services/node-resource-explorer.service.js.map +1 -1
  565. package/dist/services/ownership-transfer/ownership-transfer.manifest.json +1 -1
  566. package/dist/services/project.service.ee.d.ts +3 -3
  567. package/dist/services/project.service.ee.js +4 -7
  568. package/dist/services/project.service.ee.js.map +1 -1
  569. package/dist/services/role-authorization.d.ts +3 -0
  570. package/dist/services/role-authorization.js +14 -0
  571. package/dist/services/role-authorization.js.map +1 -0
  572. package/dist/services/tag.service.d.ts +5 -2
  573. package/dist/services/tag.service.js +9 -2
  574. package/dist/services/tag.service.js.map +1 -1
  575. package/dist/task-runners/task-broker/auth/task-broker-auth.controller.d.ts +1 -0
  576. package/dist/task-runners/task-broker/auth/task-broker-auth.controller.js +2 -2
  577. package/dist/task-runners/task-broker/auth/task-broker-auth.controller.js.map +1 -1
  578. package/dist/task-runners/task-broker/auth/task-broker-auth.service.d.ts +6 -2
  579. package/dist/task-runners/task-broker/auth/task-broker-auth.service.js +8 -4
  580. package/dist/task-runners/task-broker/auth/task-broker-auth.service.js.map +1 -1
  581. package/dist/task-runners/task-broker/task-broker-server.d.ts +1 -0
  582. package/dist/task-runners/task-broker/task-broker-server.js +13 -3
  583. package/dist/task-runners/task-broker/task-broker-server.js.map +1 -1
  584. package/dist/task-runners/task-broker/task-broker-ws-server.d.ts +1 -0
  585. package/dist/task-runners/task-broker/task-broker-ws-server.js +8 -5
  586. package/dist/task-runners/task-broker/task-broker-ws-server.js.map +1 -1
  587. package/dist/task-runners/task-broker/task-broker.service.js +2 -9
  588. package/dist/task-runners/task-broker/task-broker.service.js.map +1 -1
  589. package/dist/task-runners/task-runner-lifecycle-events.d.ts +0 -1
  590. package/dist/task-runners/task-runner-process-base.d.ts +2 -2
  591. package/dist/task-runners/task-runner-process-base.js +14 -10
  592. package/dist/task-runners/task-runner-process-base.js.map +1 -1
  593. package/dist/task-runners/task-runner-process-js.d.ts +1 -2
  594. package/dist/task-runners/task-runner-process-js.js +4 -4
  595. package/dist/task-runners/task-runner-process-js.js.map +1 -1
  596. package/dist/task-runners/task-runner-process-py.d.ts +1 -2
  597. package/dist/task-runners/task-runner-process-py.js +2 -2
  598. package/dist/task-runners/task-runner-process-py.js.map +1 -1
  599. package/dist/utils/node-definition-dirs.d.ts +1 -0
  600. package/dist/utils/node-definition-dirs.js +24 -0
  601. package/dist/utils/node-definition-dirs.js.map +1 -0
  602. package/dist/webhooks/constants.d.ts +1 -0
  603. package/dist/webhooks/constants.js +2 -1
  604. package/dist/webhooks/constants.js.map +1 -1
  605. package/dist/webhooks/live-webhooks.d.ts +4 -2
  606. package/dist/webhooks/live-webhooks.js +25 -4
  607. package/dist/webhooks/live-webhooks.js.map +1 -1
  608. package/dist/webhooks/webhook-execution-context.d.ts +5 -2
  609. package/dist/webhooks/webhook-execution-context.js +10 -0
  610. package/dist/webhooks/webhook-execution-context.js.map +1 -1
  611. package/dist/webhooks/webhook-helpers.js +9 -8
  612. package/dist/webhooks/webhook-helpers.js.map +1 -1
  613. package/dist/webhooks/webhook.service.d.ts +5 -1
  614. package/dist/webhooks/webhook.service.js +52 -9
  615. package/dist/webhooks/webhook.service.js.map +1 -1
  616. package/dist/workflow-runner.js.map +1 -1
  617. package/dist/workflows/triggers/trigger-execution-context.factory.d.ts +3 -0
  618. package/dist/workflows/triggers/trigger-execution-context.factory.js +43 -38
  619. package/dist/workflows/triggers/trigger-execution-context.factory.js.map +1 -1
  620. package/dist/workflows/triggers/webhook-trigger-registrar.d.ts +0 -1
  621. package/dist/workflows/triggers/webhook-trigger-registrar.js +1 -16
  622. package/dist/workflows/triggers/webhook-trigger-registrar.js.map +1 -1
  623. package/dist/workflows/workflow-finder.service.d.ts +20 -31
  624. package/dist/workflows/workflow-finder.service.js +42 -9
  625. package/dist/workflows/workflow-finder.service.js.map +1 -1
  626. package/dist/workflows/workflow-mutation-hooks-proxy.service.d.ts +14 -0
  627. package/dist/workflows/workflow-mutation-hooks-proxy.service.js +35 -0
  628. package/dist/workflows/workflow-mutation-hooks-proxy.service.js.map +1 -0
  629. package/dist/workflows/workflow-sharing.service.d.ts +4 -1
  630. package/dist/workflows/workflow-sharing.service.js +14 -2
  631. package/dist/workflows/workflow-sharing.service.js.map +1 -1
  632. package/dist/workflows/workflow.service.d.ts +9 -6
  633. package/dist/workflows/workflow.service.ee.d.ts +3 -3
  634. package/dist/workflows/workflow.service.ee.js +20 -7
  635. package/dist/workflows/workflow.service.ee.js.map +1 -1
  636. package/dist/workflows/workflow.service.js +33 -9
  637. package/dist/workflows/workflow.service.js.map +1 -1
  638. package/package.json +43 -39
  639. package/templates/form-shell.handlebars +418 -0
  640. package/templates/form-trigger.handlebars +30 -1
  641. package/dist/modules/agents/integrations/platforms/slack-bridge-behavior.js.map +0 -1
  642. package/dist/modules/agents/integrations/platforms/slack-integration.js.map +0 -1
  643. package/dist/modules/agents/integrations/platforms/slack-operations.d.ts +0 -17
  644. package/dist/modules/agents/integrations/platforms/slack-operations.js.map +0 -1
  645. package/dist/modules/agents/integrations/platforms/slack-tool-definitions.d.ts +0 -48
  646. package/dist/modules/agents/integrations/platforms/slack-tool-definitions.js +0 -42
  647. package/dist/modules/agents/integrations/platforms/slack-tool-definitions.js.map +0 -1
  648. package/dist/modules/agents/integrations/slack-app-setup.service.d.ts +0 -54
  649. package/dist/modules/agents/integrations/slack-app-setup.service.js +0 -326
  650. package/dist/modules/agents/integrations/slack-app-setup.service.js.map +0 -1
  651. package/dist/modules/mcp/tools/workflow-builder/ai-gateway-eligibility.js.map +0 -1
  652. package/dist/public-api/v1/handlers/executions/executions.service.d.ts +0 -14
  653. package/dist/public-api/v1/handlers/executions/executions.service.js +0 -49
  654. package/dist/public-api/v1/handlers/executions/executions.service.js.map +0 -1
  655. package/dist/public-api/v1/handlers/workflows/workflows.service.d.ts +0 -13
  656. package/dist/public-api/v1/handlers/workflows/workflows.service.js +0 -98
  657. package/dist/public-api/v1/handlers/workflows/workflows.service.js.map +0 -1
  658. /package/dist/modules/agents/integrations/platforms/{slack-bridge-behavior.js → slack/slack-bridge-behavior.js} +0 -0
@@ -21,6 +21,7 @@ const db_1 = require("@n8n/db");
21
21
  const decorators_1 = require("@n8n/decorators");
22
22
  const di_1 = require("@n8n/di");
23
23
  const instance_ai_1 = require("@n8n/instance-ai");
24
+ const telemetry_1 = require("@n8n/telemetry");
24
25
  const lazy_import_1 = require("@n8n/utils/lazy-import");
25
26
  const workflow_sdk_1 = require("@n8n/workflow-sdk");
26
27
  const n8n_core_1 = require("n8n-core");
@@ -36,7 +37,8 @@ const publisher_service_1 = require("../../scaling/pubsub/publisher.service");
36
37
  const ai_service_1 = require("../../services/ai.service");
37
38
  const proxy_token_manager_1 = require("../../services/proxy-token-manager");
38
39
  const url_service_1 = require("../../services/url.service");
39
- const telemetry_1 = require("../../telemetry");
40
+ const telemetry_2 = require("../../telemetry");
41
+ const utils_1 = require("../../utils");
40
42
  const agent_preview_handoff_1 = require("./agent-preview-handoff");
41
43
  const composite_local_mcp_server_1 = require("./browser/composite-local-mcp-server");
42
44
  const instance_ai_browser_session_service_1 = require("./browser/instance-ai-browser-session.service");
@@ -95,6 +97,9 @@ function buildContextResourcesBlock(contextAttachments) {
95
97
  const lines = contextAttachments.map((attachment) => {
96
98
  const name = attachment.name ? ` "${attachment.name}"` : '';
97
99
  if (attachment.type === 'agent') {
100
+ if (attachment.pending) {
101
+ return `- New unsaved Agent artifact${name} (pending id: \`${attachment.id}\`, in project \`${attachment.projectId}\`).`;
102
+ }
98
103
  return `- Agent${name} (id: \`${attachment.id}\`, in project \`${attachment.projectId}\`).`;
99
104
  }
100
105
  const execution = attachment.executionId
@@ -105,22 +110,35 @@ function buildContextResourcesBlock(contextAttachments) {
105
110
  const header = contextAttachments.some((attachment) => attachment.type === 'agent')
106
111
  ? 'The user opened this conversation from the agent editor, where they are looking at:'
107
112
  : 'The user opened this conversation from the workflow editor, where they are looking at:';
113
+ const pendingAgentGuidance = contextAttachments.some((attachment) => attachment.type === 'agent' && attachment.pending)
114
+ ? "Treat references such as “the agent” as this pending artifact. It has no persisted agent row yet. When the user asks to build or change it, use `build-agent`'s new-agent path with a name; do not pass its pending id as an existing `agentId`. The thread's pending target will make creation reuse that id."
115
+ : '';
108
116
  const prose = [
109
117
  header,
110
118
  ...lines,
119
+ pendingAgentGuidance,
111
120
  "Treat this purely as context. Until the user tells you what they need, don't read, inspect, run, or otherwise call tools on these resources, and don't make claims about their contents — just briefly acknowledge what they're working on and ask how you can help.",
112
- ].join('\n');
121
+ ]
122
+ .filter(Boolean)
123
+ .join('\n');
113
124
  return `${internal_messages_1.EDITOR_CONTEXT_OPEN_TAG}\n${JSON.stringify(contextAttachments)}\n\n${prose}\n${internal_messages_1.EDITOR_CONTEXT_CLOSE_TAG}`;
114
125
  }
115
126
  function buildHandoffContextBlock(context) {
116
127
  if (!context || context.source !== 'credential-modal')
117
128
  return '';
118
129
  const { credential } = context;
130
+ const placeholderTitles = credential.placeholderTitles ?? [];
119
131
  const lines = [
120
132
  `- Credential type: \`${credential.credentialType}\` (${credential.displayName}).`,
121
133
  credential.id ? `- Existing credential id: \`${credential.id}\`.` : '',
122
134
  credential.nodeName ? `- Node name: "${credential.nodeName}".` : '',
123
135
  credential.nodeType ? `- Node type: \`${credential.nodeType}\`.` : '',
136
+ placeholderTitles.length
137
+ ? `- The credential form is fully pre-filled from a recipe; the user only pastes: ${placeholderTitles.map((title) => `"${title}"`).join(', ')}.`
138
+ : '',
139
+ credential.docsUrl
140
+ ? `- The provider page where the user creates/copies the secret (verified during recipe research): ${credential.docsUrl}`
141
+ : '',
124
142
  credential.documentationUrl ? `- n8n documentation URL: ${credential.documentationUrl}` : '',
125
143
  credential.oauthRedirectUrl
126
144
  ? `- OAuth redirect/callback URL shown in the modal: ${credential.oauthRedirectUrl}`
@@ -130,7 +148,12 @@ function buildHandoffContextBlock(context) {
130
148
  'The user opened this conversation from the credential setup modal and is asking for setup guidance.',
131
149
  ...lines,
132
150
  'Use this metadata only as setup context. Never ask the user to paste credential secrets into chat. For credential setup docs, load `n8n-docs-assistant` and use `n8n-docs` with `intent: "credential-setup"`.',
133
- ].join('\n');
151
+ placeholderTitles.length
152
+ ? `Because the form is pre-filled, give step-by-step guidance on where to obtain the listed value(s) on the provider side${credential.docsUrl ? ' — direct the user to the provider page above rather than re-researching' : ' (research the provider if needed)'} — and do NOT suggest editing the auth template, test URL, or any other credential field.`
153
+ : '',
154
+ ]
155
+ .filter(Boolean)
156
+ .join('\n');
134
157
  return `${internal_messages_1.CREDENTIAL_CONTEXT_OPEN_TAG}\n${JSON.stringify(context)}\n\n${prose}\n${internal_messages_1.CREDENTIAL_CONTEXT_CLOSE_TAG}`;
135
158
  }
136
159
  function isTelemetryConfigurableAgent(agent) {
@@ -141,6 +164,7 @@ function isTelemetryConfigurableAgent(agent) {
141
164
  const INSTANCE_AI_CHECKPOINT_PRUNE_RETRY_MS = 30 * 1000;
142
165
  const WORKFLOW_SETUP_ROUTING_CLAIM_TTL_MS = 15 * 60 * 1000;
143
166
  const CONFIRMATION_EXPIRED_MESSAGE = 'This confirmation has expired. Send a new message to continue.';
167
+ const RESUME_REJECTED_MESSAGE = 'I could not apply that confirmation. Send a new message to continue.';
144
168
  const INSTANCE_AI_SHUTDOWN_DRAIN_TIMEOUT_MS = 5 * 1000;
145
169
  function isTextMessagePart(part) {
146
170
  return (typeof part === 'object' &&
@@ -157,10 +181,12 @@ function isStaleResumeError(error) {
157
181
  return error instanceof Error && error.name === 'StaleResumeError';
158
182
  }
159
183
  exports.QUOTA_EXHAUSTED_USER_MESSAGE = "You've run out of AI credits. Upgrade your plan to continue using the AI assistant.";
184
+ const OPERATIONAL_ERROR_USER_MESSAGE = 'I hit an operational error before I could finish that response. Please try again.';
185
+ const GENERIC_ERROR_USER_MESSAGE = 'Something went wrong before I could finish that response. Please try again.';
160
186
  function getUserFacingErrorCode(error) {
161
187
  return (0, instance_ai_1.isQuotaExhaustedError)(error) ? 'quota_exhausted' : undefined;
162
188
  }
163
- function getUserFacingErrorMessage(error) {
189
+ function getUserFacingErrorMessage(error, fallback = GENERIC_ERROR_USER_MESSAGE) {
164
190
  if ((0, instance_ai_1.isQuotaExhaustedError)(error)) {
165
191
  return exports.QUOTA_EXHAUSTED_USER_MESSAGE;
166
192
  }
@@ -174,12 +200,9 @@ function getUserFacingErrorMessage(error) {
174
200
  return "I couldn't finish preparing the workspace sandbox. Please try again in a moment.";
175
201
  }
176
202
  if (error instanceof n8n_workflow_1.OperationalError) {
177
- return 'I hit an operational error before I could finish that response. Please try again.';
203
+ return OPERATIONAL_ERROR_USER_MESSAGE;
178
204
  }
179
- if (error instanceof n8n_workflow_1.UnexpectedError) {
180
- return 'Something went wrong before I could finish that response. Please try again.';
181
- }
182
- return 'Something went wrong before I could finish that response. Please try again.';
205
+ return fallback;
183
206
  }
184
207
  function isMaskedStreamFailure(error) {
185
208
  if (!(error instanceof Error))
@@ -212,6 +235,18 @@ function getAbortReason(signal) {
212
235
  return reason.message;
213
236
  return typeof reason === 'string' ? reason : 'user_cancelled';
214
237
  }
238
+ function classifyUnclaimedResume(error, flags) {
239
+ if (isStaleResumeError(error))
240
+ return { kind: 'stale' };
241
+ if (flags.aborted)
242
+ return flags.preserveHitl ? { kind: 'preserve-hitl' } : { kind: 'cancelled' };
243
+ return {
244
+ kind: 'errored',
245
+ reason: getUserFacingErrorMessage(error, RESUME_REJECTED_MESSAGE),
246
+ errorCode: getUserFacingErrorCode(error),
247
+ errorMessage: getErrorMessage(error),
248
+ };
249
+ }
215
250
  const MAX_CONCURRENT_BACKGROUND_TASKS_PER_THREAD = 5;
216
251
  const MAX_CONSECUTIVE_FAILED_INTERNAL_FOLLOW_UPS = 3;
217
252
  const TITLE_REFINE_HISTORY_LIMIT = 50;
@@ -1296,6 +1331,7 @@ let InstanceAiService = class InstanceAiService {
1296
1331
  ? await this.modelService.resolveProxyModel(user, proxyBaseUrl, tokenManager)
1297
1332
  : await this.modelService.resolveAgentModelConfig(user);
1298
1333
  const configEvalsEnabled = await this.adapterService.isConfigEvalsEnabled(user);
1334
+ const mcpConnectionsEnabled = await this.adapterService.isMcpConnectionsEnabled(user);
1299
1335
  const context = this.adapterService.createContext(user, {
1300
1336
  searchProxyConfig,
1301
1337
  pushRef,
@@ -1304,6 +1340,7 @@ let InstanceAiService = class InstanceAiService {
1304
1340
  credentialIdAllowlist: this.evalCredentialAllowlists.get(threadId),
1305
1341
  shouldBypassCredentialTest: (credentialId) => this.evalCredentialAllowlists.shouldBypassTest(threadId, credentialId),
1306
1342
  configEvalsEnabled,
1343
+ mcpConnectionsEnabled,
1307
1344
  modelId,
1308
1345
  });
1309
1346
  this.gatewayService.applyToolPolicy(user.id);
@@ -1430,6 +1467,7 @@ let InstanceAiService = class InstanceAiService {
1430
1467
  }
1431
1468
  }
1432
1469
  context.workspace = runtimeWorkspace;
1470
+ context.workspaceRoot = workspaceRoot;
1433
1471
  context.threadId = threadId;
1434
1472
  context.threadMemory = memory;
1435
1473
  context.trackTelemetry = (eventName, properties) => {
@@ -2057,18 +2095,31 @@ let InstanceAiService = class InstanceAiService {
2057
2095
  try {
2058
2096
  errorReporterExecutionToken = this.instanceAiErrorReporter.beginRun(runId);
2059
2097
  messageId = (0, nanoid_1.nanoid)();
2060
- const traceInput = {
2061
- message,
2062
- ...(fileAttachments.length
2063
- ? {
2064
- attachments: fileAttachments.map((attachment) => ({
2065
- mimeType: attachment.mimeType,
2066
- size: attachment.data.length,
2067
- })),
2098
+ const traceInput = { message };
2099
+ if (fileAttachments.length) {
2100
+ traceInput.attachments = fileAttachments.map((attachment) => ({
2101
+ mimeType: attachment.mimeType,
2102
+ size: attachment.data.length,
2103
+ }));
2104
+ }
2105
+ if (contextAttachments.length) {
2106
+ traceInput.resourceAttachments = contextAttachments.map((attachment) => {
2107
+ const resource = {
2108
+ type: attachment.type,
2109
+ id: attachment.id,
2110
+ };
2111
+ if (attachment.type === 'agent') {
2112
+ resource.projectId = attachment.projectId;
2068
2113
  }
2069
- : {}),
2070
- ...(messageGroupId ? { messageGroupId } : {}),
2071
- };
2114
+ if (attachment.type === 'workflow' && attachment.executionId) {
2115
+ resource.executionId = attachment.executionId;
2116
+ }
2117
+ return resource;
2118
+ });
2119
+ }
2120
+ if (messageGroupId) {
2121
+ traceInput.messageGroupId = messageGroupId;
2122
+ }
2072
2123
  const proxyRunConfig = await this.createProxyRunConfig(user);
2073
2124
  if (resumeReason) {
2074
2125
  tracing = await this.tracing.createOrchestratorResumeTraceContext({
@@ -2192,6 +2243,7 @@ let InstanceAiService = class InstanceAiService {
2192
2243
  this.tracing.storeTraceContext(runId, threadId, tracing, messageGroupId);
2193
2244
  }
2194
2245
  }
2246
+ await this.snapshotAttachedAgents(contextAttachments, orchestrationContext, tracing);
2195
2247
  const enrichedMessage = await this.buildMessageWithRunningTasks(threadId, message);
2196
2248
  const contextResourcesBlock = buildContextResourcesBlock(contextAttachments);
2197
2249
  let handoffContextBlock = '';
@@ -3027,6 +3079,16 @@ let InstanceAiService = class InstanceAiService {
3027
3079
  const { agent, runId, agentRunId, threadId, user, toolCallId, toolName, suspendPayload, abortController, tracing, modelId, messageGroupId, checkpoint, plannedBuild, runHandoff, orchestrationContext, } = suspended;
3028
3080
  if (user.id !== requestingUserId)
3029
3081
  return null;
3082
+ const activeRun = this.runState.getActiveRun(threadId);
3083
+ if (activeRun) {
3084
+ this.logger.warn('Rejecting suspended-run confirmation: thread already has an active run', {
3085
+ requestId,
3086
+ threadId,
3087
+ suspendedRunId: runId,
3088
+ activeRunId: activeRun.runId,
3089
+ });
3090
+ return null;
3091
+ }
3030
3092
  const activeUser = await this.revalidateActiveUser(user.id);
3031
3093
  if (!activeUser) {
3032
3094
  this.logger.warn('Cancelling suspended run: user no longer authorized for AI Assistant', {
@@ -3096,12 +3158,24 @@ let InstanceAiService = class InstanceAiService {
3096
3158
  if (data.autoSetup) {
3097
3159
  const rebuilt = await this.rebuildAgentForAutoSetupResume(activeUser, threadId, runId, abortController, effectiveTracing, runHandoff, messageGroupId);
3098
3160
  if (!rebuilt) {
3161
+ const rebuildFailure = 'Agent rebuild failed';
3099
3162
  await this.tracing.finalizeDetachedTraceRun(`resume-rebuild:${runId}`, unregisteredResumeTracing, {
3100
3163
  status: 'failed',
3101
- error: 'Agent rebuild failed',
3164
+ error: rebuildFailure,
3102
3165
  metadata: { completion_source: 'resume_rebuild' },
3103
3166
  });
3104
3167
  this.cancelRun(threadId, 'agent_rebuild_failed');
3168
+ await this.emitTerminalRun({
3169
+ threadId,
3170
+ runId,
3171
+ status: 'errored',
3172
+ reason: OPERATIONAL_ERROR_USER_MESSAGE,
3173
+ errorInfo: { errorMessage: rebuildFailure, errorSource: 'exception' },
3174
+ messageGroupId,
3175
+ user: activeUser,
3176
+ snapshotStorage: this.dbSnapshotStorage,
3177
+ });
3178
+ this.runState.clearActiveRun(threadId, resumeExecutionToken);
3105
3179
  return null;
3106
3180
  }
3107
3181
  resumeAgent = rebuilt.agent;
@@ -3128,7 +3202,7 @@ let InstanceAiService = class InstanceAiService {
3128
3202
  resumeExecutionToken,
3129
3203
  messageGroupId,
3130
3204
  resumeTracing,
3131
- discardTracingOnStale: unregisteredResumeTracing,
3205
+ unregisteredResumeTracing,
3132
3206
  });
3133
3207
  return { ok: true, runId };
3134
3208
  }
@@ -3205,20 +3279,7 @@ let InstanceAiService = class InstanceAiService {
3205
3279
  if (!resumeClaimed) {
3206
3280
  skipPostRunCleanup = true;
3207
3281
  const claimError = result.error ?? new Error('Resume checkpoint claim did not complete');
3208
- this.instanceAiErrorReporter.report(claimError, {
3209
- component: 'instance-ai-resume-claim',
3210
- threadId: opts.threadId,
3211
- runId: opts.runId,
3212
- tracing: opts.tracing,
3213
- agentId: (0, instance_ai_1.orchestratorAgentId)(opts.runId),
3214
- userId: opts.user.id,
3215
- messageGroupId: opts.messageGroupId,
3216
- });
3217
- await this.tracing.finalizeDetachedTraceRun(`unclaimed-resume:${opts.runId}`, opts.discardTracingOnStale, {
3218
- status: 'failed',
3219
- error: getErrorMessage(claimError),
3220
- metadata: { completion_source: 'resume_claim' },
3221
- });
3282
+ await this.settleUnclaimedResume(opts, claimError, 'stream');
3222
3283
  return;
3223
3284
  }
3224
3285
  if (result.status === 'suspended') {
@@ -3398,31 +3459,9 @@ let InstanceAiService = class InstanceAiService {
3398
3459
  }
3399
3460
  }
3400
3461
  catch (error) {
3401
- if (!resumeClaimed && isStaleResumeError(error)) {
3402
- skipPostRunCleanup = true;
3403
- await this.tracing.finalizeDetachedTraceRun(`stale-resume:${opts.runId}`, opts.discardTracingOnStale, {
3404
- status: 'cancelled',
3405
- outputs: { runId: opts.runId },
3406
- metadata: { completion_source: 'stale_resume' },
3407
- });
3408
- return;
3409
- }
3410
3462
  if (!resumeClaimed) {
3411
3463
  skipPostRunCleanup = true;
3412
- this.instanceAiErrorReporter.report(error, {
3413
- component: 'instance-ai-resume-claim',
3414
- threadId: opts.threadId,
3415
- runId: opts.runId,
3416
- tracing: opts.tracing,
3417
- agentId: (0, instance_ai_1.orchestratorAgentId)(opts.runId),
3418
- userId: opts.user.id,
3419
- messageGroupId: opts.messageGroupId,
3420
- });
3421
- await this.tracing.finalizeDetachedTraceRun(`unclaimed-resume:${opts.runId}`, opts.discardTracingOnStale, {
3422
- status: 'failed',
3423
- error: getErrorMessage(error),
3424
- metadata: { completion_source: 'resume_claim' },
3425
- });
3464
+ await this.settleUnclaimedResume(opts, error, 'exception');
3426
3465
  return;
3427
3466
  }
3428
3467
  if (opts.signal.aborted) {
@@ -3547,6 +3586,92 @@ let InstanceAiService = class InstanceAiService {
3547
3586
  }
3548
3587
  }
3549
3588
  }
3589
+ async settleUnclaimedResume(opts, error, errorSource) {
3590
+ const outcome = classifyUnclaimedResume(error, {
3591
+ aborted: opts.signal.aborted,
3592
+ preserveHitl: this.shouldPreserveHitlOnShutdown(opts.runId),
3593
+ });
3594
+ switch (outcome.kind) {
3595
+ case 'preserve-hitl':
3596
+ return;
3597
+ case 'stale':
3598
+ await this.tracing.finalizeDetachedTraceRun(`stale-resume:${opts.runId}`, opts.unregisteredResumeTracing, {
3599
+ status: 'cancelled',
3600
+ outputs: { runId: opts.runId },
3601
+ metadata: { completion_source: 'stale_resume' },
3602
+ });
3603
+ return;
3604
+ case 'cancelled': {
3605
+ const reason = this.liveness.consumeRunTimeout(opts.runId).timedOut
3606
+ ? liveness_1.INSTANCE_AI_RUN_TIMEOUT_REASON
3607
+ : getAbortReason(opts.signal);
3608
+ await this.tracing.finalizeDetachedTraceRun(`cancelled-resume:${opts.runId}`, opts.unregisteredResumeTracing, {
3609
+ status: 'cancelled',
3610
+ outputs: { runId: opts.runId },
3611
+ metadata: { completion_source: 'resume_cancelled', cancellation_reason: reason },
3612
+ });
3613
+ await this.emitTerminalRun({
3614
+ threadId: opts.threadId,
3615
+ runId: opts.runId,
3616
+ status: 'cancelled',
3617
+ reason,
3618
+ messageGroupId: opts.messageGroupId,
3619
+ user: opts.user,
3620
+ snapshotStorage: opts.snapshotStorage,
3621
+ });
3622
+ return;
3623
+ }
3624
+ case 'errored':
3625
+ this.instanceAiErrorReporter.report(error, {
3626
+ component: 'instance-ai-resume-claim',
3627
+ threadId: opts.threadId,
3628
+ runId: opts.runId,
3629
+ tracing: opts.tracing,
3630
+ agentId: (0, instance_ai_1.orchestratorAgentId)(opts.runId),
3631
+ userId: opts.user.id,
3632
+ messageGroupId: opts.messageGroupId,
3633
+ });
3634
+ await this.tracing.finalizeDetachedTraceRun(`unclaimed-resume:${opts.runId}`, opts.unregisteredResumeTracing, {
3635
+ status: 'failed',
3636
+ error: outcome.errorMessage,
3637
+ metadata: { completion_source: 'resume_claim' },
3638
+ });
3639
+ await this.emitTerminalRun({
3640
+ threadId: opts.threadId,
3641
+ runId: opts.runId,
3642
+ status: 'errored',
3643
+ reason: outcome.reason,
3644
+ errorCode: outcome.errorCode,
3645
+ errorInfo: { errorMessage: outcome.errorMessage, errorSource },
3646
+ messageGroupId: opts.messageGroupId,
3647
+ user: opts.user,
3648
+ snapshotStorage: opts.snapshotStorage,
3649
+ });
3650
+ return;
3651
+ default:
3652
+ (0, utils_1.assertNever)(outcome);
3653
+ }
3654
+ }
3655
+ async emitTerminalRun(args) {
3656
+ const { threadId, runId, status } = args;
3657
+ const context = { threadId, runId };
3658
+ await this.bestEffort('Failed to evaluate the terminal response for a settling run', context, async () => await this.terminalOutcome.evaluateTerminalResponse(threadId, runId, status, {
3659
+ messageGroupId: args.messageGroupId,
3660
+ ...(status === 'errored' ? { errorMessage: args.reason, errorCode: args.errorCode } : {}),
3661
+ }));
3662
+ const archivedWorkflowIds = (await this.bestEffort('Failed to reap temporary workflows for a settling run', context, async () => await this.temporaryWorkflowService.reapForRun(threadId, args.user, undefined, this.backgroundTasks.getRunningTasks(threadId).length))) ?? [];
3663
+ this.publishRunFinish(threadId, runId, status, args.reason, archivedWorkflowIds, args.user.id, args.errorInfo);
3664
+ await this.bestEffort('Failed to save the agent tree snapshot for a settling run', context, async () => await this.saveAgentTreeSnapshot(threadId, runId, args.snapshotStorage));
3665
+ }
3666
+ async bestEffort(failureMessage, context, step) {
3667
+ try {
3668
+ return await step();
3669
+ }
3670
+ catch (error) {
3671
+ this.logger.warn(failureMessage, { ...context, error: getErrorMessage(error) });
3672
+ return undefined;
3673
+ }
3674
+ }
3550
3675
  spawnBackgroundTask(runId, opts, snapshotStorage, messageGroupIdOverride) {
3551
3676
  const outcome = this.backgroundTasks.spawn({
3552
3677
  taskId: opts.taskId,
@@ -3732,6 +3857,32 @@ let InstanceAiService = class InstanceAiService {
3732
3857
  }
3733
3858
  return { status: 'limit-reached' };
3734
3859
  }
3860
+ async snapshotAttachedAgents(attachments, orchestrationContext, tracing) {
3861
+ const delegate = orchestrationContext.domainContext?.builderDelegate;
3862
+ if (!delegate || !tracing)
3863
+ return;
3864
+ for (const attachment of attachments) {
3865
+ if (attachment.type !== 'agent')
3866
+ continue;
3867
+ let artifact = null;
3868
+ try {
3869
+ artifact = (await delegate.readAgentArtifact?.(attachment.id)) ?? null;
3870
+ }
3871
+ catch (error) {
3872
+ this.logger.debug(`[agent-snapshot] attached read for ${attachment.id} failed: ${error instanceof Error ? error.message : String(error)}`);
3873
+ continue;
3874
+ }
3875
+ if (!artifact)
3876
+ continue;
3877
+ await (0, instance_ai_1.emitAgentSnapshotTraceEvent)(tracing, {
3878
+ agentId: attachment.id,
3879
+ projectId: attachment.projectId,
3880
+ reason: 'attached',
3881
+ artifact,
3882
+ logger: this.logger,
3883
+ });
3884
+ }
3885
+ }
3735
3886
  async buildMessageWithRunningTasks(threadId, message) {
3736
3887
  return await (0, instance_ai_1.enrichMessageWithBackgroundTasks)(message, this.backgroundTasks.getRunningTasks(threadId), {
3737
3888
  formatTask: async (task) => `[Running task — ${task.role}]: taskId=${task.taskId}`,
@@ -3773,13 +3924,33 @@ let InstanceAiService = class InstanceAiService {
3773
3924
  numSteps = payload.planItems.length;
3774
3925
  }
3775
3926
  }
3927
+ const credentialRequests = (Array.isArray(payload.credentialRequests) ? payload.credentialRequests : []).filter((request) => typeof request === 'object' && request !== null);
3928
+ const containsTemplatedCred = credentialRequests.some((request) => request.credentialType === api_types_1.TEMPLATED_CUSTOM_AUTH_CREDENTIAL_TYPE ||
3929
+ (request.setupHint !== null && request.setupHint !== undefined));
3776
3930
  this.telemetry.track('Builder asked for input', {
3777
3931
  user_id: userId,
3778
3932
  thread_id: threadId,
3779
3933
  input_thread_id: inputThreadId,
3780
3934
  type,
3781
3935
  num_steps: numSteps,
3936
+ contains_templated_cred: containsTemplatedCred,
3782
3937
  });
3938
+ for (const request of credentialRequests) {
3939
+ const parsedHint = api_types_1.credentialSetupHintSchema.safeParse(request.setupHint);
3940
+ if (!parsedHint.success)
3941
+ continue;
3942
+ const hint = parsedHint.data;
3943
+ this.telemetry.track(telemetry_1.TELEMETRY_EVENT.INSTANCE_AI.BUILDER_SPECCED_TEMPLATED_CRED, {
3944
+ thread_id: threadId,
3945
+ input_thread_id: inputThreadId,
3946
+ template: hint.template,
3947
+ placeholders: hint.placeholders,
3948
+ test_url: hint.testUrl,
3949
+ docs_url: hint.docsUrl,
3950
+ service_host: hint.serviceHost,
3951
+ accepted_status_codes: hint.acceptedStatusCodes,
3952
+ });
3953
+ }
3783
3954
  }
3784
3955
  async finalizeCancelledSuspendedRun(suspended, reason = 'user_cancelled') {
3785
3956
  const runTimeout = reason === liveness_1.INSTANCE_AI_RUN_TIMEOUT_REASON
@@ -4067,6 +4238,6 @@ __decorate([
4067
4238
  ], InstanceAiService.prototype, "stopCheckpointPruning", null);
4068
4239
  exports.InstanceAiService = InstanceAiService = __decorate([
4069
4240
  (0, di_1.Service)(),
4070
- __metadata("design:paramtypes", [backend_common_1.Logger, config_1.GlobalConfig, n8n_core_1.InstanceSettings, instance_ai_adapter_service_1.InstanceAiAdapterService, in_process_event_bus_1.InProcessEventBus, durable_event_log_1.DurableEventLog, interrupted_run_sweeper_1.InterruptedRunSweeper, instance_ai_settings_service_1.InstanceAiSettingsService, instance_ai_gateway_service_1.InstanceAiGatewayService, instance_ai_browser_session_service_1.InstanceAiBrowserSessionService, instance_ai_memory_service_1.InstanceAiMemoryService, typeorm_agent_memory_1.TypeORMAgentMemory, typeorm_agent_checkpoint_store_1.TypeORMAgentCheckpointStore, ai_service_1.AiService, instance_ai_thread_grant_repository_1.InstanceAiThreadGrantRepository, instance_ai_pending_confirmation_repository_1.InstanceAiPendingConfirmationRepository, url_service_1.UrlService, db_snapshot_storage_1.DbSnapshotStorage, db_iteration_log_storage_1.DbIterationLogStorage, source_control_preferences_service_ee_1.SourceControlPreferencesService, telemetry_1.Telemetry, mcp_1.InstanceAiMcpRegistryService, db_1.UserRepository, instance_ai_temporary_workflow_service_1.InstanceAiTemporaryWorkflowService, n8n_core_1.ErrorReporter, config_1.SsrfProtectionConfig, backend_network_1.SsrfProtectionService, event_service_1.EventService, thread_credential_allowlist_service_1.EvalThreadCredentialAllowlistService, instance_ai_run_probe_1.InstanceAiRunProbe, instance_ai_model_service_1.InstanceAiModelService, instance_ai_credit_service_1.InstanceAiCreditService, publisher_service_1.Publisher, instance_ai_error_reporter_service_1.InstanceAiErrorReporterService])
4241
+ __metadata("design:paramtypes", [backend_common_1.Logger, config_1.GlobalConfig, n8n_core_1.InstanceSettings, instance_ai_adapter_service_1.InstanceAiAdapterService, in_process_event_bus_1.InProcessEventBus, durable_event_log_1.DurableEventLog, interrupted_run_sweeper_1.InterruptedRunSweeper, instance_ai_settings_service_1.InstanceAiSettingsService, instance_ai_gateway_service_1.InstanceAiGatewayService, instance_ai_browser_session_service_1.InstanceAiBrowserSessionService, instance_ai_memory_service_1.InstanceAiMemoryService, typeorm_agent_memory_1.TypeORMAgentMemory, typeorm_agent_checkpoint_store_1.TypeORMAgentCheckpointStore, ai_service_1.AiService, instance_ai_thread_grant_repository_1.InstanceAiThreadGrantRepository, instance_ai_pending_confirmation_repository_1.InstanceAiPendingConfirmationRepository, url_service_1.UrlService, db_snapshot_storage_1.DbSnapshotStorage, db_iteration_log_storage_1.DbIterationLogStorage, source_control_preferences_service_ee_1.SourceControlPreferencesService, telemetry_2.Telemetry, mcp_1.InstanceAiMcpRegistryService, db_1.UserRepository, instance_ai_temporary_workflow_service_1.InstanceAiTemporaryWorkflowService, n8n_core_1.ErrorReporter, config_1.SsrfProtectionConfig, backend_network_1.SsrfProtectionService, event_service_1.EventService, thread_credential_allowlist_service_1.EvalThreadCredentialAllowlistService, instance_ai_run_probe_1.InstanceAiRunProbe, instance_ai_model_service_1.InstanceAiModelService, instance_ai_credit_service_1.InstanceAiCreditService, publisher_service_1.Publisher, instance_ai_error_reporter_service_1.InstanceAiErrorReporterService])
4071
4242
  ], InstanceAiService);
4072
4243
  //# sourceMappingURL=instance-ai.service.js.map