n8n 2.37.6 → 2.38.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (744) hide show
  1. package/dist/active-executions.js +2 -1
  2. package/dist/active-executions.js.map +1 -1
  3. package/dist/active-workflow-manager.d.ts +5 -1
  4. package/dist/active-workflow-manager.js +64 -33
  5. package/dist/active-workflow-manager.js.map +1 -1
  6. package/dist/binary-data/binary-data-access.service.d.ts +11 -0
  7. package/dist/binary-data/binary-data-access.service.js +50 -0
  8. package/dist/binary-data/binary-data-access.service.js.map +1 -0
  9. package/dist/build.tsbuildinfo +1 -1
  10. package/dist/commands/base-command.d.ts +2 -0
  11. package/dist/commands/base-command.js +8 -0
  12. package/dist/commands/base-command.js.map +1 -1
  13. package/dist/commands/import/workflow.d.ts +1 -0
  14. package/dist/commands/import/workflow.js +12 -3
  15. package/dist/commands/import/workflow.js.map +1 -1
  16. package/dist/commands/start.d.ts +1 -0
  17. package/dist/commands/start.js +2 -1
  18. package/dist/commands/start.js.map +1 -1
  19. package/dist/constants.d.ts +2 -0
  20. package/dist/constants.js +3 -1
  21. package/dist/constants.js.map +1 -1
  22. package/dist/controllers/binary-data.controller.d.ts +5 -2
  23. package/dist/controllers/binary-data.controller.js +11 -3
  24. package/dist/controllers/binary-data.controller.js.map +1 -1
  25. package/dist/controllers/e2e.controller.d.ts +1 -6
  26. package/dist/controllers/e2e.controller.js +7 -20
  27. package/dist/controllers/e2e.controller.js.map +1 -1
  28. package/dist/controllers/invitation.controller.d.ts +1 -5
  29. package/dist/controllers/invitation.controller.js +3 -32
  30. package/dist/controllers/invitation.controller.js.map +1 -1
  31. package/dist/controllers/project.controller.d.ts +4 -10
  32. package/dist/controllers/project.controller.js +14 -114
  33. package/dist/controllers/project.controller.js.map +1 -1
  34. package/dist/controllers/telemetry.controller.js +1 -1
  35. package/dist/controllers/telemetry.controller.js.map +1 -1
  36. package/dist/controllers/users.controller.d.ts +2 -27
  37. package/dist/controllers/users.controller.js +6 -132
  38. package/dist/controllers/users.controller.js.map +1 -1
  39. package/dist/credentials/credentials-finder.service.d.ts +2 -0
  40. package/dist/credentials/credentials-finder.service.js +46 -12
  41. package/dist/credentials/credentials-finder.service.js.map +1 -1
  42. package/dist/credentials/credentials.service.d.ts +5 -2
  43. package/dist/credentials/credentials.service.js +4 -1
  44. package/dist/credentials/credentials.service.js.map +1 -1
  45. package/dist/credentials-helper.d.ts +3 -1
  46. package/dist/credentials-helper.js +10 -2
  47. package/dist/credentials-helper.js.map +1 -1
  48. package/dist/deprecation/deprecation.service.js +5 -0
  49. package/dist/deprecation/deprecation.service.js.map +1 -1
  50. package/dist/errors/http-error-serializers.js +3 -0
  51. package/dist/errors/http-error-serializers.js.map +1 -1
  52. package/dist/errors/variable-validation.error.d.ts +2 -2
  53. package/dist/errors/variable-validation.error.js +1 -1
  54. package/dist/errors/variable-validation.error.js.map +1 -1
  55. package/dist/evaluation.ee/evaluation-config-validator.js +3 -2
  56. package/dist/evaluation.ee/evaluation-config-validator.js.map +1 -1
  57. package/dist/evaluation.ee/evaluation-dataset.service.js +8 -1
  58. package/dist/evaluation.ee/evaluation-dataset.service.js.map +1 -1
  59. package/dist/evaluation.ee/evaluation-test-run.service.d.ts +46 -0
  60. package/dist/evaluation.ee/evaluation-test-run.service.js +65 -0
  61. package/dist/evaluation.ee/evaluation-test-run.service.js.map +1 -0
  62. package/dist/evaluation.ee/insights/insights-context-builder.js +4 -2
  63. package/dist/evaluation.ee/insights/insights-context-builder.js.map +1 -1
  64. package/dist/evaluation.ee/test-runner/workflow-compiler.service.js +96 -45
  65. package/dist/evaluation.ee/test-runner/workflow-compiler.service.js.map +1 -1
  66. package/dist/evaluation.ee/test-runs.controller.ee.d.ts +1 -1
  67. package/dist/evaluation.ee/test-runs.controller.ee.js +5 -2
  68. package/dist/evaluation.ee/test-runs.controller.ee.js.map +1 -1
  69. package/dist/execution-lifecycle/execute-error-workflow.js +3 -0
  70. package/dist/execution-lifecycle/execute-error-workflow.js.map +1 -1
  71. package/dist/executions/engine-v2-execution-reader.service.d.ts +11 -0
  72. package/dist/executions/engine-v2-execution-reader.service.js +68 -0
  73. package/dist/executions/engine-v2-execution-reader.service.js.map +1 -0
  74. package/dist/executions/execution-id.d.ts +5 -0
  75. package/dist/executions/execution-id.js +10 -0
  76. package/dist/executions/execution-id.js.map +1 -0
  77. package/dist/executions/execution.service.d.ts +3 -1
  78. package/dist/executions/execution.service.js +16 -8
  79. package/dist/executions/execution.service.js.map +1 -1
  80. package/dist/executions/executions.controller.d.ts +1 -0
  81. package/dist/executions/executions.controller.js +12 -6
  82. package/dist/executions/executions.controller.js.map +1 -1
  83. package/dist/expression-observability/expression-observability.provider.js +3 -2
  84. package/dist/expression-observability/expression-observability.provider.js.map +1 -1
  85. package/dist/license/license.service.js +1 -1
  86. package/dist/license/license.service.js.map +1 -1
  87. package/dist/metrics/prometheus/instance-ai-metrics.service.js.map +1 -1
  88. package/dist/middlewares/content-security-policy.d.ts +10 -0
  89. package/dist/middlewares/content-security-policy.js +53 -0
  90. package/dist/middlewares/content-security-policy.js.map +1 -0
  91. package/dist/middlewares/index.d.ts +1 -0
  92. package/dist/middlewares/index.js +1 -0
  93. package/dist/middlewares/index.js.map +1 -1
  94. package/dist/modules/agents/agent-config.service.js +0 -3
  95. package/dist/modules/agents/agent-config.service.js.map +1 -1
  96. package/dist/modules/agents/agent-default-model-resolver.service.js +2 -4
  97. package/dist/modules/agents/agent-default-model-resolver.service.js.map +1 -1
  98. package/dist/modules/agents/agent-execution-orchestrator.service.js +13 -6
  99. package/dist/modules/agents/agent-execution-orchestrator.service.js.map +1 -1
  100. package/dist/modules/agents/agent-execution.service.d.ts +1 -0
  101. package/dist/modules/agents/agent-execution.service.js +3 -0
  102. package/dist/modules/agents/agent-execution.service.js.map +1 -1
  103. package/dist/modules/agents/agent-integrations.controller.d.ts +7 -5
  104. package/dist/modules/agents/agent-integrations.controller.js +10 -17
  105. package/dist/modules/agents/agent-integrations.controller.js.map +1 -1
  106. package/dist/modules/agents/agent-interrupted-execution-sweeper.d.ts +5 -1
  107. package/dist/modules/agents/agent-interrupted-execution-sweeper.js +14 -2
  108. package/dist/modules/agents/agent-interrupted-execution-sweeper.js.map +1 -1
  109. package/dist/modules/agents/agent-model-catalog.service.js +6 -12
  110. package/dist/modules/agents/agent-model-catalog.service.js.map +1 -1
  111. package/dist/modules/agents/agent-publish.service.d.ts +2 -3
  112. package/dist/modules/agents/agent-publish.service.js +12 -5
  113. package/dist/modules/agents/agent-publish.service.js.map +1 -1
  114. package/dist/modules/agents/agent-runtime-cache.service.d.ts +5 -0
  115. package/dist/modules/agents/agent-runtime-cache.service.js +57 -3
  116. package/dist/modules/agents/agent-runtime-cache.service.js.map +1 -1
  117. package/dist/modules/agents/agent-runtime-reconstruction.service.d.ts +15 -7
  118. package/dist/modules/agents/agent-runtime-reconstruction.service.js +123 -37
  119. package/dist/modules/agents/agent-runtime-reconstruction.service.js.map +1 -1
  120. package/dist/modules/agents/agent-sandbox-runtime.service.d.ts +4 -2
  121. package/dist/modules/agents/agent-sandbox-runtime.service.js +21 -11
  122. package/dist/modules/agents/agent-sandbox-runtime.service.js.map +1 -1
  123. package/dist/modules/agents/agent-validation.service.js +0 -4
  124. package/dist/modules/agents/agent-validation.service.js.map +1 -1
  125. package/dist/modules/agents/agent-workflow-execution.service.js +1 -1
  126. package/dist/modules/agents/agent-workflow-execution.service.js.map +1 -1
  127. package/dist/modules/agents/agent-workflow-tool-resume.service.d.ts +32 -0
  128. package/dist/modules/agents/agent-workflow-tool-resume.service.js +168 -0
  129. package/dist/modules/agents/agent-workflow-tool-resume.service.js.map +1 -0
  130. package/dist/modules/agents/agent-workspace.service.d.ts +8 -2
  131. package/dist/modules/agents/agent-workspace.service.js +15 -4
  132. package/dist/modules/agents/agent-workspace.service.js.map +1 -1
  133. package/dist/modules/agents/agents.module.d.ts +1 -1
  134. package/dist/modules/agents/agents.module.js +11 -7
  135. package/dist/modules/agents/agents.module.js.map +1 -1
  136. package/dist/modules/agents/background/agent-background-job.service.d.ts +34 -0
  137. package/dist/modules/agents/background/agent-background-job.service.js +168 -0
  138. package/dist/modules/agents/background/agent-background-job.service.js.map +1 -0
  139. package/dist/modules/agents/background/background-job-tools.d.ts +21 -0
  140. package/dist/modules/agents/background/background-job-tools.js +157 -0
  141. package/dist/modules/agents/background/background-job-tools.js.map +1 -0
  142. package/dist/modules/agents/background/sub-agent-background-runner.d.ts +27 -0
  143. package/dist/modules/agents/background/sub-agent-background-runner.js +123 -0
  144. package/dist/modules/agents/background/sub-agent-background-runner.js.map +1 -0
  145. package/dist/modules/agents/builder/agents-builder-tools.service.d.ts +4 -6
  146. package/dist/modules/agents/builder/agents-builder-tools.service.js +16 -21
  147. package/dist/modules/agents/builder/agents-builder-tools.service.js.map +1 -1
  148. package/dist/modules/agents/builder/agents-builder.service.d.ts +5 -7
  149. package/dist/modules/agents/builder/agents-builder.service.js +27 -36
  150. package/dist/modules/agents/builder/agents-builder.service.js.map +1 -1
  151. package/dist/modules/agents/builder/call-agent-failure.d.ts +5 -0
  152. package/dist/modules/agents/builder/call-agent-failure.js +28 -0
  153. package/dist/modules/agents/builder/call-agent-failure.js.map +1 -0
  154. package/dist/modules/agents/builder/get-resource-locator-options.tool.d.ts +2 -2
  155. package/dist/modules/agents/builder/interactive/ask-credential.tool.d.ts +3 -2
  156. package/dist/modules/agents/builder/interactive/ask-credential.tool.js +8 -9
  157. package/dist/modules/agents/builder/interactive/ask-credential.tool.js.map +1 -1
  158. package/dist/modules/agents/builder/interactive/finish-setup.tool.d.ts +3 -2
  159. package/dist/modules/agents/builder/interactive/finish-setup.tool.js +16 -6
  160. package/dist/modules/agents/builder/interactive/finish-setup.tool.js.map +1 -1
  161. package/dist/modules/agents/builder/interactive/resolve-llm.tool.js +57 -44
  162. package/dist/modules/agents/builder/interactive/resolve-llm.tool.js.map +1 -1
  163. package/dist/modules/agents/builder/prompts/llm-selection.prompt.js +3 -2
  164. package/dist/modules/agents/builder/prompts/llm-selection.prompt.js.map +1 -1
  165. package/dist/modules/agents/builder/prompts/tools.prompt.d.ts +1 -1
  166. package/dist/modules/agents/builder/prompts/tools.prompt.js +6 -0
  167. package/dist/modules/agents/builder/prompts/tools.prompt.js.map +1 -1
  168. package/dist/modules/agents/builder/skills/external-services.skill.js +51 -8
  169. package/dist/modules/agents/builder/skills/external-services.skill.js.map +1 -1
  170. package/dist/modules/agents/builder/skills/sub-agents.skill.js +15 -12
  171. package/dist/modules/agents/builder/skills/sub-agents.skill.js.map +1 -1
  172. package/dist/modules/agents/builder/skills/target-tasks.skill.js +16 -5
  173. package/dist/modules/agents/builder/skills/target-tasks.skill.js.map +1 -1
  174. package/dist/modules/agents/entities/agent-background-job.entity.d.ts +18 -0
  175. package/dist/modules/agents/entities/agent-background-job.entity.js +78 -0
  176. package/dist/modules/agents/entities/agent-background-job.entity.js.map +1 -0
  177. package/dist/modules/agents/entities/agent-channel-status.entity.d.ts +16 -0
  178. package/dist/modules/agents/entities/agent-channel-status.entity.js +99 -0
  179. package/dist/modules/agents/entities/agent-channel-status.entity.js.map +1 -0
  180. package/dist/modules/agents/instance-ai-builder-delegate.adapter.d.ts +3 -3
  181. package/dist/modules/agents/instance-ai-builder-delegate.adapter.js +17 -7
  182. package/dist/modules/agents/instance-ai-builder-delegate.adapter.js.map +1 -1
  183. package/dist/modules/agents/integrations/agent-channel-reconciler.service.d.ts +38 -0
  184. package/dist/modules/agents/integrations/agent-channel-reconciler.service.js +260 -0
  185. package/dist/modules/agents/integrations/agent-channel-reconciler.service.js.map +1 -0
  186. package/dist/modules/agents/integrations/agent-channel-status-reporter.d.ts +23 -0
  187. package/dist/modules/agents/integrations/agent-channel-status-reporter.js +114 -0
  188. package/dist/modules/agents/integrations/agent-channel-status-reporter.js.map +1 -0
  189. package/dist/modules/agents/integrations/agent-chat-bridge.d.ts +9 -0
  190. package/dist/modules/agents/integrations/agent-chat-bridge.js +53 -1
  191. package/dist/modules/agents/integrations/agent-chat-bridge.js.map +1 -1
  192. package/dist/modules/agents/integrations/agent-chat-hitl-resume-handler.d.ts +1 -1
  193. package/dist/modules/agents/integrations/agent-chat-hitl-resume-handler.js +3 -2
  194. package/dist/modules/agents/integrations/agent-chat-hitl-resume-handler.js.map +1 -1
  195. package/dist/modules/agents/integrations/agent-chat-integration.d.ts +5 -2
  196. package/dist/modules/agents/integrations/agent-chat-integration.js.map +1 -1
  197. package/dist/modules/agents/integrations/channel-status-report.d.ts +4 -0
  198. package/dist/modules/agents/integrations/channel-status-report.js +58 -0
  199. package/dist/modules/agents/integrations/channel-status-report.js.map +1 -0
  200. package/dist/modules/agents/integrations/chat-integration.service.d.ts +17 -2
  201. package/dist/modules/agents/integrations/chat-integration.service.js +63 -35
  202. package/dist/modules/agents/integrations/chat-integration.service.js.map +1 -1
  203. package/dist/modules/agents/integrations/credential-claim.d.ts +3 -0
  204. package/dist/modules/agents/integrations/credential-claim.js +12 -0
  205. package/dist/modules/agents/integrations/credential-claim.js.map +1 -0
  206. package/dist/modules/agents/integrations/n8n-checkpoint-storage.d.ts +2 -0
  207. package/dist/modules/agents/integrations/n8n-checkpoint-storage.js +25 -0
  208. package/dist/modules/agents/integrations/n8n-checkpoint-storage.js.map +1 -1
  209. package/dist/modules/agents/integrations/platforms/discord-integration.d.ts +2 -1
  210. package/dist/modules/agents/integrations/platforms/discord-integration.js +9 -6
  211. package/dist/modules/agents/integrations/platforms/discord-integration.js.map +1 -1
  212. package/dist/modules/agents/integrations/platforms/linear-integration.js +1 -1
  213. package/dist/modules/agents/integrations/platforms/linear-integration.js.map +1 -1
  214. package/dist/modules/agents/integrations/platforms/slack/slack-integration.d.ts +2 -1
  215. package/dist/modules/agents/integrations/platforms/slack/slack-integration.js +7 -6
  216. package/dist/modules/agents/integrations/platforms/slack/slack-integration.js.map +1 -1
  217. package/dist/modules/agents/integrations/platforms/slack/slack-methods.service.js +1 -1
  218. package/dist/modules/agents/integrations/platforms/slack/slack-methods.service.js.map +1 -1
  219. package/dist/modules/agents/integrations/platforms/telegram-integration.d.ts +4 -6
  220. package/dist/modules/agents/integrations/platforms/telegram-integration.js +11 -14
  221. package/dist/modules/agents/integrations/platforms/telegram-integration.js.map +1 -1
  222. package/dist/modules/agents/json-config/credential-field-mapping.js +3 -0
  223. package/dist/modules/agents/json-config/credential-field-mapping.js.map +1 -1
  224. package/dist/modules/agents/llm-provider-defaults.js +16 -1
  225. package/dist/modules/agents/llm-provider-defaults.js.map +1 -1
  226. package/dist/modules/agents/repositories/agent-background-job.repository.d.ts +37 -0
  227. package/dist/modules/agents/repositories/agent-background-job.repository.js +61 -0
  228. package/dist/modules/agents/repositories/agent-background-job.repository.js.map +1 -0
  229. package/dist/modules/agents/repositories/agent-channel-status.repository.d.ts +29 -0
  230. package/dist/modules/agents/repositories/agent-channel-status.repository.js +63 -0
  231. package/dist/modules/agents/repositories/agent-channel-status.repository.js.map +1 -0
  232. package/dist/modules/agents/repositories/agent-execution.repository.d.ts +1 -0
  233. package/dist/modules/agents/repositories/agent-execution.repository.js +4 -0
  234. package/dist/modules/agents/repositories/agent-execution.repository.js.map +1 -1
  235. package/dist/modules/agents/sub-agents/delegate-sub-agent-tool.d.ts +4 -5
  236. package/dist/modules/agents/sub-agents/delegate-sub-agent-tool.js +32 -32
  237. package/dist/modules/agents/sub-agents/delegate-sub-agent-tool.js.map +1 -1
  238. package/dist/modules/agents/sub-agents/format-sub-agent-tool-output.d.ts +3 -0
  239. package/dist/modules/agents/sub-agents/format-sub-agent-tool-output.js +14 -0
  240. package/dist/modules/agents/sub-agents/format-sub-agent-tool-output.js.map +1 -0
  241. package/dist/modules/agents/sub-agents/sub-agent-cleanup.service.js.map +1 -1
  242. package/dist/modules/agents/sub-agents/{sub-agent-foreground-runner.d.ts → sub-agent-runner.d.ts} +10 -7
  243. package/dist/modules/agents/sub-agents/{sub-agent-foreground-runner.js → sub-agent-runner.js} +51 -27
  244. package/dist/modules/agents/sub-agents/sub-agent-runner.js.map +1 -0
  245. package/dist/modules/agents/sub-agents/sub-agent-source-resolver.d.ts +1 -0
  246. package/dist/modules/agents/sub-agents/sub-agent-source-resolver.js +18 -6
  247. package/dist/modules/agents/sub-agents/sub-agent-source-resolver.js.map +1 -1
  248. package/dist/modules/agents/tools/workflow-tool-factory.d.ts +24 -13
  249. package/dist/modules/agents/tools/workflow-tool-factory.js +147 -9
  250. package/dist/modules/agents/tools/workflow-tool-factory.js.map +1 -1
  251. package/dist/modules/agents/tools/workflow-tool-workflow-loader.service.d.ts +10 -2
  252. package/dist/modules/agents/tools/workflow-tool-workflow-loader.service.js +23 -4
  253. package/dist/modules/agents/tools/workflow-tool-workflow-loader.service.js.map +1 -1
  254. package/dist/modules/agents/utils/provider-model-id.d.ts +2 -0
  255. package/dist/modules/agents/utils/provider-model-id.js +21 -0
  256. package/dist/modules/agents/utils/provider-model-id.js.map +1 -0
  257. package/dist/modules/community-packages/community-packages.service.d.ts +4 -0
  258. package/dist/modules/community-packages/community-packages.service.js +96 -92
  259. package/dist/modules/community-packages/community-packages.service.js.map +1 -1
  260. package/dist/modules/community-packages/npm-utils.js +1 -5
  261. package/dist/modules/community-packages/npm-utils.js.map +1 -1
  262. package/dist/modules/data-table/data-table-aggregate.service.d.ts +1 -1
  263. package/dist/modules/data-table/data-table-aggregate.service.js +1 -1
  264. package/dist/modules/data-table/data-table-aggregate.service.js.map +1 -1
  265. package/dist/modules/data-table/data-table.service.d.ts +9 -4
  266. package/dist/modules/data-table/data-table.service.js +34 -4
  267. package/dist/modules/data-table/data-table.service.js.map +1 -1
  268. package/dist/modules/data-table/errors/data-table-access-denied.error.d.ts +4 -0
  269. package/dist/modules/data-table/errors/data-table-access-denied.error.js +13 -0
  270. package/dist/modules/data-table/errors/data-table-access-denied.error.js.map +1 -0
  271. package/dist/modules/dynamic-credentials.ee/config-redaction.d.ts +5 -0
  272. package/dist/modules/dynamic-credentials.ee/config-redaction.js +81 -0
  273. package/dist/modules/dynamic-credentials.ee/config-redaction.js.map +1 -0
  274. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-metadata-http-client.d.ts +2 -3
  275. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-metadata-http-client.js +2 -4
  276. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-metadata-http-client.js.map +1 -1
  277. package/dist/modules/dynamic-credentials.ee/credential-resolvers.controller.d.ts +1 -0
  278. package/dist/modules/dynamic-credentials.ee/credential-resolvers.controller.js +18 -4
  279. package/dist/modules/dynamic-credentials.ee/credential-resolvers.controller.js.map +1 -1
  280. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.js +3 -2
  281. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.js.map +1 -1
  282. package/dist/modules/dynamic-credentials.ee/services/credential-connection-status.service.js +22 -4
  283. package/dist/modules/dynamic-credentials.ee/services/credential-connection-status.service.js.map +1 -1
  284. package/dist/modules/dynamic-credentials.ee/services/credential-resolver.service.d.ts +1 -0
  285. package/dist/modules/dynamic-credentials.ee/services/credential-resolver.service.js +12 -2
  286. package/dist/modules/dynamic-credentials.ee/services/credential-resolver.service.js.map +1 -1
  287. package/dist/modules/encryption-key-manager/key-manager.service.d.ts +7 -2
  288. package/dist/modules/encryption-key-manager/key-manager.service.js +27 -8
  289. package/dist/modules/encryption-key-manager/key-manager.service.js.map +1 -1
  290. package/dist/modules/engine-v2/engine-control-plane-auth.middleware.d.ts +6 -0
  291. package/dist/modules/engine-v2/engine-control-plane-auth.middleware.js +31 -0
  292. package/dist/modules/engine-v2/engine-control-plane-auth.middleware.js.map +1 -0
  293. package/dist/modules/engine-v2/engine-control-plane-client.d.ts +9 -0
  294. package/dist/modules/engine-v2/engine-control-plane-client.js +51 -0
  295. package/dist/modules/engine-v2/engine-control-plane-client.js.map +1 -0
  296. package/dist/modules/engine-v2/engine-control-plane-server.d.ts +14 -0
  297. package/dist/modules/engine-v2/engine-control-plane-server.js +84 -0
  298. package/dist/modules/engine-v2/engine-control-plane-server.js.map +1 -0
  299. package/dist/modules/engine-v2/engine-data-plane-client.d.ts +3 -1
  300. package/dist/modules/engine-v2/engine-data-plane-client.js +16 -1
  301. package/dist/modules/engine-v2/engine-data-plane-client.js.map +1 -1
  302. package/dist/modules/engine-v2/engine-lifecycle-event-push-relay.d.ts +18 -0
  303. package/dist/modules/engine-v2/engine-lifecycle-event-push-relay.js +150 -0
  304. package/dist/modules/engine-v2/engine-lifecycle-event-push-relay.js.map +1 -0
  305. package/dist/modules/engine-v2/engine-lifecycle-event.controller.d.ts +7 -0
  306. package/dist/modules/engine-v2/engine-lifecycle-event.controller.js +34 -0
  307. package/dist/modules/engine-v2/engine-lifecycle-event.controller.js.map +1 -0
  308. package/dist/modules/engine-v2/engine-v2.constants.d.ts +2 -0
  309. package/dist/modules/engine-v2/engine-v2.constants.js +6 -0
  310. package/dist/modules/engine-v2/engine-v2.constants.js.map +1 -0
  311. package/dist/modules/engine-v2/engine-v2.module.js +4 -0
  312. package/dist/modules/engine-v2/engine-v2.module.js.map +1 -1
  313. package/dist/modules/engine-v2/engine-v2.runtime.d.ts +3 -1
  314. package/dist/modules/engine-v2/engine-v2.runtime.js +6 -2
  315. package/dist/modules/engine-v2/engine-v2.runtime.js.map +1 -1
  316. package/dist/modules/external-secrets.ee/providers/aws-secrets-manager.js +1 -1
  317. package/dist/modules/external-secrets.ee/providers/aws-secrets-manager.js.map +1 -1
  318. package/dist/modules/external-secrets.ee/providers/infisical.js +1 -1
  319. package/dist/modules/external-secrets.ee/providers/infisical.js.map +1 -1
  320. package/dist/modules/external-secrets.ee/providers/vault.js +1 -1
  321. package/dist/modules/external-secrets.ee/providers/vault.js.map +1 -1
  322. package/dist/modules/git-connections.ee/database/repositories/git-connection-project.repository.d.ts +5 -3
  323. package/dist/modules/git-connections.ee/database/repositories/git-connection-project.repository.js +16 -4
  324. package/dist/modules/git-connections.ee/database/repositories/git-connection-project.repository.js.map +1 -1
  325. package/dist/modules/git-connections.ee/git-connections.service.d.ts +4 -2
  326. package/dist/modules/git-connections.ee/git-connections.service.js +87 -4
  327. package/dist/modules/git-connections.ee/git-connections.service.js.map +1 -1
  328. package/dist/modules/instance-ai/browser/browser-local-mcp-server.d.ts +3 -2
  329. package/dist/modules/instance-ai/browser/browser-local-mcp-server.js +48 -30
  330. package/dist/modules/instance-ai/browser/browser-local-mcp-server.js.map +1 -1
  331. package/dist/modules/instance-ai/event-bus/durable-event-log.js.map +1 -1
  332. package/dist/modules/instance-ai/event-bus/in-process-event-bus.d.ts +2 -28
  333. package/dist/modules/instance-ai/event-bus/in-process-event-bus.js +5 -228
  334. package/dist/modules/instance-ai/event-bus/in-process-event-bus.js.map +1 -1
  335. package/dist/modules/instance-ai/event-bus/interrupted-run-sweeper.d.ts +1 -3
  336. package/dist/modules/instance-ai/event-bus/interrupted-run-sweeper.js +2 -8
  337. package/dist/modules/instance-ai/event-bus/interrupted-run-sweeper.js.map +1 -1
  338. package/dist/modules/instance-ai/instance-ai-memory.service.js +1 -3
  339. package/dist/modules/instance-ai/instance-ai-memory.service.js.map +1 -1
  340. package/dist/modules/instance-ai/instance-ai-settings.service.d.ts +2 -0
  341. package/dist/modules/instance-ai/instance-ai-settings.service.js +10 -2
  342. package/dist/modules/instance-ai/instance-ai-settings.service.js.map +1 -1
  343. package/dist/modules/instance-ai/instance-ai-terminal-outcome.service.d.ts +0 -2
  344. package/dist/modules/instance-ai/instance-ai-terminal-outcome.service.js +1 -2
  345. package/dist/modules/instance-ai/instance-ai-terminal-outcome.service.js.map +1 -1
  346. package/dist/modules/instance-ai/instance-ai.adapter.service.d.ts +2 -3
  347. package/dist/modules/instance-ai/instance-ai.adapter.service.js +101 -44
  348. package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -1
  349. package/dist/modules/instance-ai/instance-ai.controller.d.ts +1 -1
  350. package/dist/modules/instance-ai/instance-ai.controller.js +75 -83
  351. package/dist/modules/instance-ai/instance-ai.controller.js.map +1 -1
  352. package/dist/modules/instance-ai/instance-ai.module.js +8 -16
  353. package/dist/modules/instance-ai/instance-ai.module.js.map +1 -1
  354. package/dist/modules/instance-ai/instance-ai.service.d.ts +2 -0
  355. package/dist/modules/instance-ai/instance-ai.service.js +55 -11
  356. package/dist/modules/instance-ai/instance-ai.service.js.map +1 -1
  357. package/dist/modules/instance-ai/internal-messages.d.ts +7 -0
  358. package/dist/modules/instance-ai/internal-messages.js +32 -2
  359. package/dist/modules/instance-ai/internal-messages.js.map +1 -1
  360. package/dist/modules/instance-ai/mcp/instance-ai-mcp-registry.service.d.ts +2 -5
  361. package/dist/modules/instance-ai/mcp/instance-ai-mcp-registry.service.js +4 -7
  362. package/dist/modules/instance-ai/mcp/instance-ai-mcp-registry.service.js.map +1 -1
  363. package/dist/modules/instance-ai/repositories/instance-ai-event-log.repository.js.map +1 -1
  364. package/dist/modules/instance-ai/tracing/instance-ai-tracing.service.js.map +1 -1
  365. package/dist/modules/instance-ai/workflow-templates.service.js +1 -1
  366. package/dist/modules/instance-ai/workflow-templates.service.js.map +1 -1
  367. package/dist/modules/ldap.ee/ldap.controller.ee.d.ts +4 -2
  368. package/dist/modules/ldap.ee/ldap.controller.ee.js +9 -2
  369. package/dist/modules/ldap.ee/ldap.controller.ee.js.map +1 -1
  370. package/dist/modules/ldap.ee/ldap.service.ee.js +4 -0
  371. package/dist/modules/ldap.ee/ldap.service.ee.js.map +1 -1
  372. package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-webhook.ee.js +1 -1
  373. package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-webhook.ee.js.map +1 -1
  374. package/dist/modules/mcp/mcp-server-middleware.service.js +1 -0
  375. package/dist/modules/mcp/mcp-server-middleware.service.js.map +1 -1
  376. package/dist/modules/mcp/mcp.constants.d.ts +2 -0
  377. package/dist/modules/mcp/mcp.constants.js +3 -1
  378. package/dist/modules/mcp/mcp.constants.js.map +1 -1
  379. package/dist/modules/mcp/mcp.controller.js +20 -6
  380. package/dist/modules/mcp/mcp.controller.js.map +1 -1
  381. package/dist/modules/mcp/mcp.types.d.ts +1 -0
  382. package/dist/modules/mcp/tools/agents/agent-reference.d.ts +1 -1
  383. package/dist/modules/mcp/tools/agents/agent-reference.js +2 -2
  384. package/dist/modules/mcp/tools/agents/agent-tools.service.d.ts +2 -5
  385. package/dist/modules/mcp/tools/agents/agent-tools.service.js +5 -9
  386. package/dist/modules/mcp/tools/agents/agent-tools.service.js.map +1 -1
  387. package/dist/modules/n8n-packages/engine/import-result.d.ts +2 -1
  388. package/dist/modules/n8n-packages/engine/import-result.js +1 -0
  389. package/dist/modules/n8n-packages/engine/import-result.js.map +1 -1
  390. package/dist/modules/n8n-packages/engine/import-telemetry.d.ts +5 -1
  391. package/dist/modules/n8n-packages/engine/import-telemetry.js.map +1 -1
  392. package/dist/modules/n8n-packages/engine/project-package-importer.d.ts +4 -5
  393. package/dist/modules/n8n-packages/engine/project-package-importer.js +9 -7
  394. package/dist/modules/n8n-packages/engine/project-package-importer.js.map +1 -1
  395. package/dist/modules/n8n-packages/engine/workflow-package-importer.d.ts +4 -5
  396. package/dist/modules/n8n-packages/engine/workflow-package-importer.js +18 -20
  397. package/dist/modules/n8n-packages/engine/workflow-package-importer.js.map +1 -1
  398. package/dist/modules/n8n-packages/entities/credential/credential-importer.js +1 -0
  399. package/dist/modules/n8n-packages/entities/credential/credential-importer.js.map +1 -1
  400. package/dist/modules/n8n-packages/entities/credential/credential-requirements.extractor.js +12 -12
  401. package/dist/modules/n8n-packages/entities/credential/credential-requirements.extractor.js.map +1 -1
  402. package/dist/modules/n8n-packages/entities/credential/workflow-credential-references.d.ts +4 -0
  403. package/dist/modules/n8n-packages/entities/credential/workflow-credential-references.js +34 -0
  404. package/dist/modules/n8n-packages/entities/credential/workflow-credential-references.js.map +1 -0
  405. package/dist/modules/n8n-packages/entities/project/project-importer.js +1 -1
  406. package/dist/modules/n8n-packages/entities/project/project-importer.js.map +1 -1
  407. package/dist/modules/n8n-packages/entities/workflow/workflow-importer.js +22 -14
  408. package/dist/modules/n8n-packages/entities/workflow/workflow-importer.js.map +1 -1
  409. package/dist/modules/n8n-packages/io/directory/directory-package-reader.d.ts +21 -0
  410. package/dist/modules/n8n-packages/io/directory/directory-package-reader.js +146 -0
  411. package/dist/modules/n8n-packages/io/directory/directory-package-reader.js.map +1 -0
  412. package/dist/modules/n8n-packages/n8n-packages.service.d.ts +5 -1
  413. package/dist/modules/n8n-packages/n8n-packages.service.js +36 -0
  414. package/dist/modules/n8n-packages/n8n-packages.service.js.map +1 -1
  415. package/dist/modules/n8n-packages/n8n-packages.types.d.ts +10 -2
  416. package/dist/modules/n8n-packages/n8n-packages.types.js.map +1 -1
  417. package/dist/modules/oauth-server/database/entities/oauth-refresh-token.entity.d.ts +1 -0
  418. package/dist/modules/oauth-server/database/entities/oauth-refresh-token.entity.js +4 -0
  419. package/dist/modules/oauth-server/database/entities/oauth-refresh-token.entity.js.map +1 -1
  420. package/dist/modules/oauth-server/database/repositories/oauth-refresh-token.repository.d.ts +1 -0
  421. package/dist/modules/oauth-server/database/repositories/oauth-refresh-token.repository.js.map +1 -1
  422. package/dist/modules/oauth-server/oauth-server.service.d.ts +1 -1
  423. package/dist/modules/oauth-server/oauth-server.service.js +12 -16
  424. package/dist/modules/oauth-server/oauth-server.service.js.map +1 -1
  425. package/dist/modules/oauth-server/oauth-token.service.d.ts +2 -1
  426. package/dist/modules/oauth-server/oauth-token.service.js +15 -3
  427. package/dist/modules/oauth-server/oauth-token.service.js.map +1 -1
  428. package/dist/modules/oauth-server/protected-resource-resolvers/chat-trigger-resource.base.d.ts +22 -0
  429. package/dist/modules/oauth-server/protected-resource-resolvers/chat-trigger-resource.base.js +60 -0
  430. package/dist/modules/oauth-server/protected-resource-resolvers/chat-trigger-resource.base.js.map +1 -0
  431. package/dist/modules/oauth-server/protected-resource-resolvers/chat-trigger-resource.resolver.d.ts +24 -0
  432. package/dist/modules/oauth-server/protected-resource-resolvers/chat-trigger-resource.resolver.js +62 -0
  433. package/dist/modules/oauth-server/protected-resource-resolvers/chat-trigger-resource.resolver.js.map +1 -0
  434. package/dist/modules/oauth-server/protected-resource-resolvers/chat-trigger-test-resource.resolver.d.ts +22 -0
  435. package/dist/modules/oauth-server/protected-resource-resolvers/chat-trigger-test-resource.resolver.js +56 -0
  436. package/dist/modules/oauth-server/protected-resource-resolvers/chat-trigger-test-resource.resolver.js.map +1 -0
  437. package/dist/modules/oauth-server/protected-resource-resolvers/index.js +4 -0
  438. package/dist/modules/oauth-server/protected-resource-resolvers/index.js.map +1 -1
  439. package/dist/modules/oauth-server/protected-resource-resolvers/utils.d.ts +4 -0
  440. package/dist/modules/oauth-server/protected-resource-resolvers/utils.js +17 -1
  441. package/dist/modules/oauth-server/protected-resource-resolvers/utils.js.map +1 -1
  442. package/dist/modules/oauth-server/resource-identity.d.ts +2 -0
  443. package/dist/modules/oauth-server/resource-identity.js +15 -0
  444. package/dist/modules/oauth-server/resource-identity.js.map +1 -0
  445. package/dist/modules/otel/otel.service.js +14 -7
  446. package/dist/modules/otel/otel.service.js.map +1 -1
  447. package/dist/modules/policy-infrastructure/policy-decision.service.d.ts +1 -0
  448. package/dist/modules/policy-infrastructure/policy-decision.service.js +3 -0
  449. package/dist/modules/policy-infrastructure/policy-decision.service.js.map +1 -1
  450. package/dist/modules/policy-infrastructure/policy-infrastructure.module.js +1 -0
  451. package/dist/modules/policy-infrastructure/policy-infrastructure.module.js.map +1 -1
  452. package/dist/modules/policy-infrastructure/policy-lifecycle-handler.d.ts +9 -0
  453. package/dist/modules/policy-infrastructure/policy-lifecycle-handler.js +45 -0
  454. package/dist/modules/policy-infrastructure/policy-lifecycle-handler.js.map +1 -0
  455. package/dist/modules/quick-connect/handlers/firecrawl.handler.js +1 -1
  456. package/dist/modules/quick-connect/handlers/firecrawl.handler.js.map +1 -1
  457. package/dist/modules/source-control.ee/source-control-import.service.ee.d.ts +18 -1
  458. package/dist/modules/source-control.ee/source-control-import.service.ee.js +11 -3
  459. package/dist/modules/source-control.ee/source-control-import.service.ee.js.map +1 -1
  460. package/dist/modules/source-control.ee/source-control-status.service.ee.js +2 -0
  461. package/dist/modules/source-control.ee/source-control-status.service.ee.js.map +1 -1
  462. package/dist/modules/source-control.ee/source-control.controller.ee.d.ts +32 -0
  463. package/dist/modules/source-control.ee/source-control.service.ee.d.ts +16 -0
  464. package/dist/modules/source-control.ee/source-control.service.ee.js +11 -2
  465. package/dist/modules/source-control.ee/source-control.service.ee.js.map +1 -1
  466. package/dist/modules/source-control.ee/types/import-result.d.ts +2 -1
  467. package/dist/modules/sso-oidc/oidc.controller.ee.js +2 -2
  468. package/dist/modules/sso-oidc/oidc.controller.ee.js.map +1 -1
  469. package/dist/modules/sso-oidc/oidc.service.ee.js +1 -1
  470. package/dist/modules/sso-oidc/oidc.service.ee.js.map +1 -1
  471. package/dist/modules/sso-oidc/views/oidc-test-result.d.ts +2 -2
  472. package/dist/modules/sso-oidc/views/oidc-test-result.js +10 -4
  473. package/dist/modules/sso-oidc/views/oidc-test-result.js.map +1 -1
  474. package/dist/modules/sso-saml/saml.controller.ee.js +2 -2
  475. package/dist/modules/sso-saml/saml.controller.ee.js.map +1 -1
  476. package/dist/modules/sso-saml/saml.service.ee.js +1 -1
  477. package/dist/modules/sso-saml/saml.service.ee.js.map +1 -1
  478. package/dist/modules/sso-saml/views/init-sso-post.d.ts +1 -1
  479. package/dist/modules/sso-saml/views/init-sso-post.js +2 -2
  480. package/dist/modules/sso-saml/views/init-sso-post.js.map +1 -1
  481. package/dist/modules/token-exchange/services/jwks-resolver.js +1 -1
  482. package/dist/modules/token-exchange/services/jwks-resolver.js.map +1 -1
  483. package/dist/modules/type-availability-policies/database/entities/type-availability-policy-attachment.entity.d.ts +7 -0
  484. package/dist/modules/type-availability-policies/database/entities/type-availability-policy-attachment.entity.js +38 -0
  485. package/dist/modules/type-availability-policies/database/entities/type-availability-policy-attachment.entity.js.map +1 -0
  486. package/dist/modules/type-availability-policies/database/entities/type-availability-policy-scope.entity.d.ts +9 -0
  487. package/dist/modules/type-availability-policies/database/entities/type-availability-policy-scope.entity.js +41 -0
  488. package/dist/modules/type-availability-policies/database/entities/type-availability-policy-scope.entity.js.map +1 -0
  489. package/dist/modules/type-availability-policies/database/entities/type-availability-policy.entity.d.ts +8 -0
  490. package/dist/modules/type-availability-policies/database/entities/type-availability-policy.entity.js +37 -0
  491. package/dist/modules/type-availability-policies/database/entities/type-availability-policy.entity.js.map +1 -0
  492. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy-attachment.repository.d.ts +17 -0
  493. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy-attachment.repository.js +96 -0
  494. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy-attachment.repository.js.map +1 -0
  495. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy-scope.repository.d.ts +20 -0
  496. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy-scope.repository.js +69 -0
  497. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy-scope.repository.js.map +1 -0
  498. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy.repository.d.ts +18 -0
  499. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy.repository.js +63 -0
  500. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy.repository.js.map +1 -0
  501. package/dist/modules/type-availability-policies/type-availability-policies.module.d.ts +1 -0
  502. package/dist/modules/type-availability-policies/type-availability-policies.module.js +6 -0
  503. package/dist/modules/type-availability-policies/type-availability-policies.module.js.map +1 -1
  504. package/dist/modules/workflow-reviews.ee/workflow-review-activity.service.d.ts +3 -5
  505. package/dist/modules/workflow-reviews.ee/workflow-review-activity.service.js +7 -9
  506. package/dist/modules/workflow-reviews.ee/workflow-review-activity.service.js.map +1 -1
  507. package/dist/modules/workflow-reviews.ee/{workflow-review-access.service.d.ts → workflow-review-authorization.service.d.ts} +12 -3
  508. package/dist/modules/workflow-reviews.ee/{workflow-review-access.service.js → workflow-review-authorization.service.js} +52 -17
  509. package/dist/modules/workflow-reviews.ee/workflow-review-authorization.service.js.map +1 -0
  510. package/dist/modules/workflow-reviews.ee/workflow-review-decision-policy.d.ts +14 -0
  511. package/dist/modules/workflow-reviews.ee/workflow-review-decision-policy.js +17 -0
  512. package/dist/modules/workflow-reviews.ee/workflow-review-decision-policy.js.map +1 -0
  513. package/dist/modules/workflow-reviews.ee/workflow-review-inbox.service.d.ts +8 -12
  514. package/dist/modules/workflow-reviews.ee/workflow-review-inbox.service.js +28 -82
  515. package/dist/modules/workflow-reviews.ee/workflow-review-inbox.service.js.map +1 -1
  516. package/dist/modules/workflow-reviews.ee/workflow-review-lifecycle.service.d.ts +7 -6
  517. package/dist/modules/workflow-reviews.ee/workflow-review-lifecycle.service.js +80 -110
  518. package/dist/modules/workflow-reviews.ee/workflow-review-lifecycle.service.js.map +1 -1
  519. package/dist/modules/workflow-reviews.ee/workflow-review-participant.resolver.d.ts +17 -0
  520. package/dist/modules/workflow-reviews.ee/workflow-review-participant.resolver.js +69 -0
  521. package/dist/modules/workflow-reviews.ee/workflow-review-participant.resolver.js.map +1 -0
  522. package/dist/modules/workflow-reviews.ee/workflow-review-request-decision.service.d.ts +34 -0
  523. package/dist/modules/workflow-reviews.ee/workflow-review-request-decision.service.js +237 -0
  524. package/dist/modules/workflow-reviews.ee/workflow-review-request-decision.service.js.map +1 -0
  525. package/dist/modules/workflow-reviews.ee/workflow-review-request-mutation-guard.service.d.ts +10 -0
  526. package/dist/modules/workflow-reviews.ee/workflow-review-request-mutation-guard.service.js +57 -0
  527. package/dist/modules/workflow-reviews.ee/workflow-review-request-mutation-guard.service.js.map +1 -0
  528. package/dist/modules/workflow-reviews.ee/workflow-review-request-status.service.d.ts +17 -0
  529. package/dist/modules/workflow-reviews.ee/workflow-review-request-status.service.js +93 -0
  530. package/dist/modules/workflow-reviews.ee/workflow-review-request-status.service.js.map +1 -0
  531. package/dist/modules/workflow-reviews.ee/workflow-review-request-submission.service.d.ts +34 -0
  532. package/dist/modules/workflow-reviews.ee/workflow-review-request-submission.service.js +268 -0
  533. package/dist/modules/workflow-reviews.ee/workflow-review-request-submission.service.js.map +1 -0
  534. package/dist/modules/workflow-reviews.ee/workflow-review-requests.controller.d.ts +7 -3
  535. package/dist/modules/workflow-reviews.ee/workflow-review-requests.controller.js +13 -9
  536. package/dist/modules/workflow-reviews.ee/workflow-review-requests.controller.js.map +1 -1
  537. package/dist/modules/workflow-reviews.ee/workflow-review-state-notifier.service.d.ts +9 -0
  538. package/dist/modules/workflow-reviews.ee/workflow-review-state-notifier.service.js +37 -0
  539. package/dist/modules/workflow-reviews.ee/workflow-review-state-notifier.service.js.map +1 -0
  540. package/dist/oauth/oauth.service.js +0 -1
  541. package/dist/oauth/oauth.service.js.map +1 -1
  542. package/dist/permissions.ee/check-access.js +11 -7
  543. package/dist/permissions.ee/check-access.js.map +1 -1
  544. package/dist/permissions.ee/project-scope.service.d.ts +1 -0
  545. package/dist/permissions.ee/project-scope.service.js +7 -2
  546. package/dist/permissions.ee/project-scope.service.js.map +1 -1
  547. package/dist/policy/evaluate-content-import-safely.d.ts +5 -0
  548. package/dist/policy/evaluate-content-import-safely.js +18 -0
  549. package/dist/policy/evaluate-content-import-safely.js.map +1 -0
  550. package/dist/policy/policy-enforcement-backend.d.ts +1 -0
  551. package/dist/policy/policy-enforcement.service.d.ts +2 -2
  552. package/dist/policy/policy-enforcement.service.js +10 -14
  553. package/dist/policy/policy-enforcement.service.js.map +1 -1
  554. package/dist/policy/policy-violation.error.d.ts +2 -0
  555. package/dist/policy/policy-violation.error.js +10 -0
  556. package/dist/policy/policy-violation.error.js.map +1 -1
  557. package/dist/public-api/types.d.ts +1 -14
  558. package/dist/public-api/v1/controllers/git-connections.public.controller.d.ts +2 -1
  559. package/dist/public-api/v1/controllers/git-connections.public.controller.js +24 -3
  560. package/dist/public-api/v1/controllers/git-connections.public.controller.js.map +1 -1
  561. package/dist/public-api/v1/controllers/workflows.public.controller.d.ts +8 -1
  562. package/dist/public-api/v1/controllers/workflows.public.controller.js +151 -14
  563. package/dist/public-api/v1/controllers/workflows.public.controller.js.map +1 -1
  564. package/dist/public-api/v1/handlers/credentials/credentials.handler.js +1 -0
  565. package/dist/public-api/v1/handlers/credentials/credentials.handler.js.map +1 -1
  566. package/dist/public-api/v1/handlers/data-tables/data-tables.handler.js +33 -44
  567. package/dist/public-api/v1/handlers/data-tables/data-tables.handler.js.map +1 -1
  568. package/dist/public-api/v1/handlers/discover/discover.handler.d.ts +1 -1
  569. package/dist/public-api/v1/handlers/discover/discover.handler.js +3 -13
  570. package/dist/public-api/v1/handlers/discover/discover.handler.js.map +1 -1
  571. package/dist/public-api/v1/handlers/discover/discover.service.d.ts +2 -3
  572. package/dist/public-api/v1/handlers/discover/discover.service.js.map +1 -1
  573. package/dist/public-api/v1/handlers/evaluations/evaluations.handler.js +11 -35
  574. package/dist/public-api/v1/handlers/evaluations/evaluations.handler.js.map +1 -1
  575. package/dist/public-api/v1/handlers/projects/projects.handler.d.ts +1 -1
  576. package/dist/public-api/v1/handlers/projects/projects.handler.js +23 -21
  577. package/dist/public-api/v1/handlers/projects/projects.handler.js.map +1 -1
  578. package/dist/public-api/v1/handlers/users/users.handler.ee.d.ts +1 -1
  579. package/dist/public-api/v1/handlers/users/users.handler.ee.js +16 -18
  580. package/dist/public-api/v1/handlers/users/users.handler.ee.js.map +1 -1
  581. package/dist/public-api/v1/handlers/users/users.mapper.d.ts +12 -0
  582. package/dist/public-api/v1/handlers/users/users.mapper.js +27 -0
  583. package/dist/public-api/v1/handlers/users/users.mapper.js.map +1 -0
  584. package/dist/public-api/v1/handlers/variables/variables.handler.d.ts +1 -1
  585. package/dist/public-api/v1/handlers/variables/variables.handler.js +5 -6
  586. package/dist/public-api/v1/handlers/variables/variables.handler.js.map +1 -1
  587. package/dist/public-api/v1/handlers/workflows/workflows.handler.d.ts +0 -4
  588. package/dist/public-api/v1/handlers/workflows/workflows.handler.js +0 -102
  589. package/dist/public-api/v1/handlers/workflows/workflows.handler.js.map +1 -1
  590. package/dist/public-api/v1/openapi.yml +4779 -2848
  591. package/dist/response-helper.js +3 -0
  592. package/dist/response-helper.js.map +1 -1
  593. package/dist/scaling/constants.d.ts +2 -2
  594. package/dist/scaling/constants.js +2 -0
  595. package/dist/scaling/constants.js.map +1 -1
  596. package/dist/scaling/pubsub/pubsub.event-map.d.ts +8 -1
  597. package/dist/scaling/pubsub/pubsub.types.d.ts +3 -1
  598. package/dist/scheduling/poll-trigger-node/poll-trigger-task-handler.js +2 -7
  599. package/dist/scheduling/poll-trigger-node/poll-trigger-task-handler.js.map +1 -1
  600. package/dist/security/content-security-policy.d.ts +8 -0
  601. package/dist/security/content-security-policy.js +18 -0
  602. package/dist/security/content-security-policy.js.map +1 -0
  603. package/dist/security-audit/risk-reporters/instance-risk-reporter.js +1 -1
  604. package/dist/security-audit/risk-reporters/instance-risk-reporter.js.map +1 -1
  605. package/dist/server.js +22 -21
  606. package/dist/server.js.map +1 -1
  607. package/dist/services/active-workflows.service.d.ts +3 -1
  608. package/dist/services/active-workflows.service.js +11 -9
  609. package/dist/services/active-workflows.service.js.map +1 -1
  610. package/dist/services/ai-gateway.service.js +1 -1
  611. package/dist/services/ai-gateway.service.js.map +1 -1
  612. package/dist/services/credentials-tester.service.js +7 -1
  613. package/dist/services/credentials-tester.service.js.map +1 -1
  614. package/dist/services/engine-data-plane-proxy.service.d.ts +4 -1
  615. package/dist/services/engine-data-plane-proxy.service.js +5 -0
  616. package/dist/services/engine-data-plane-proxy.service.js.map +1 -1
  617. package/dist/services/engine-v2-dispatcher.service.d.ts +5 -2
  618. package/dist/services/engine-v2-dispatcher.service.js +46 -24
  619. package/dist/services/engine-v2-dispatcher.service.js.map +1 -1
  620. package/dist/services/engine-v2-push-registry.service.d.ts +8 -0
  621. package/dist/services/engine-v2-push-registry.service.js +51 -0
  622. package/dist/services/engine-v2-push-registry.service.js.map +1 -0
  623. package/dist/services/engine-v2-push-session.d.ts +23 -0
  624. package/dist/services/engine-v2-push-session.js +24 -0
  625. package/dist/services/engine-v2-push-session.js.map +1 -0
  626. package/dist/services/folder-finder.service.js +10 -8
  627. package/dist/services/folder-finder.service.js.map +1 -1
  628. package/dist/services/folder.service.d.ts +1 -1
  629. package/dist/services/folder.service.js +1 -7
  630. package/dist/services/folder.service.js.map +1 -1
  631. package/dist/services/import.service.d.ts +14 -3
  632. package/dist/services/import.service.js +27 -2
  633. package/dist/services/import.service.js.map +1 -1
  634. package/dist/services/ownership-transfer/ownership-transfer.manifest.json +5 -0
  635. package/dist/services/project.service.ee.d.ts +48 -9
  636. package/dist/services/project.service.ee.js +131 -17
  637. package/dist/services/project.service.ee.js.map +1 -1
  638. package/dist/services/role.service.js +10 -5
  639. package/dist/services/role.service.js.map +1 -1
  640. package/dist/services/user.service.d.ts +41 -8
  641. package/dist/services/user.service.js +174 -8
  642. package/dist/services/user.service.js.map +1 -1
  643. package/dist/task-runners/task-runner-process-py.d.ts +1 -1
  644. package/dist/task-runners/task-runner-process-py.js.map +1 -1
  645. package/dist/telemetry/index.js +1 -1
  646. package/dist/telemetry/index.js.map +1 -1
  647. package/dist/utils/ai-proxy-fetch.d.ts +3 -4
  648. package/dist/utils/ai-proxy-fetch.js +3 -5
  649. package/dist/utils/ai-proxy-fetch.js.map +1 -1
  650. package/dist/utils/strapi-utils.js +1 -1
  651. package/dist/utils/strapi-utils.js.map +1 -1
  652. package/dist/utils/ttl-map.d.ts +1 -0
  653. package/dist/utils/ttl-map.js +9 -0
  654. package/dist/utils/ttl-map.js.map +1 -1
  655. package/dist/webhooks/constants.d.ts +2 -0
  656. package/dist/webhooks/constants.js +2 -1
  657. package/dist/webhooks/constants.js.map +1 -1
  658. package/dist/webhooks/live-webhooks.js +1 -1
  659. package/dist/webhooks/live-webhooks.js.map +1 -1
  660. package/dist/webhooks/test-webhook-registrations.service.d.ts +1 -0
  661. package/dist/webhooks/test-webhook-registrations.service.js.map +1 -1
  662. package/dist/webhooks/test-webhooks.d.ts +6 -2
  663. package/dist/webhooks/test-webhooks.js +29 -6
  664. package/dist/webhooks/test-webhooks.js.map +1 -1
  665. package/dist/webhooks/waiting-forms.js +3 -4
  666. package/dist/webhooks/waiting-forms.js.map +1 -1
  667. package/dist/webhooks/waiting-webhooks.js +4 -0
  668. package/dist/webhooks/waiting-webhooks.js.map +1 -1
  669. package/dist/webhooks/webhook-helpers.d.ts +3 -1
  670. package/dist/webhooks/webhook-helpers.js +24 -1
  671. package/dist/webhooks/webhook-helpers.js.map +1 -1
  672. package/dist/webhooks/webhook-response-headers.d.ts +1 -0
  673. package/dist/webhooks/webhook-response-headers.js +6 -0
  674. package/dist/webhooks/webhook-response-headers.js.map +1 -1
  675. package/dist/workflow-execute-additional-data.js +5 -0
  676. package/dist/workflow-execute-additional-data.js.map +1 -1
  677. package/dist/workflow-helpers.d.ts +3 -2
  678. package/dist/workflow-helpers.js +35 -24
  679. package/dist/workflow-helpers.js.map +1 -1
  680. package/dist/workflows/publication/publication-result.d.ts +5 -0
  681. package/dist/workflows/publication/publication-status-reporter.d.ts +1 -0
  682. package/dist/workflows/publication/publication-status-reporter.js +23 -5
  683. package/dist/workflows/publication/publication-status-reporter.js.map +1 -1
  684. package/dist/workflows/publication/workflow-publication-applier.d.ts +6 -1
  685. package/dist/workflows/publication/workflow-publication-applier.js +63 -10
  686. package/dist/workflows/publication/workflow-publication-applier.js.map +1 -1
  687. package/dist/workflows/triggers/poll-backoff.service.d.ts +2 -2
  688. package/dist/workflows/triggers/poll-backoff.service.js +3 -3
  689. package/dist/workflows/triggers/poll-backoff.service.js.map +1 -1
  690. package/dist/workflows/triggers/poll-cursor.service.d.ts +2 -2
  691. package/dist/workflows/triggers/poll-cursor.service.js +4 -1
  692. package/dist/workflows/triggers/poll-cursor.service.js.map +1 -1
  693. package/dist/workflows/triggers/trigger-execution-context.factory.d.ts +6 -4
  694. package/dist/workflows/triggers/trigger-execution-context.factory.js +13 -7
  695. package/dist/workflows/triggers/trigger-execution-context.factory.js.map +1 -1
  696. package/dist/workflows/triggers/webhook-trigger-registrar.d.ts +1 -0
  697. package/dist/workflows/triggers/webhook-trigger-registrar.js +3 -0
  698. package/dist/workflows/triggers/webhook-trigger-registrar.js.map +1 -1
  699. package/dist/workflows/triggers/workflow-trigger-activator.d.ts +10 -1
  700. package/dist/workflows/triggers/workflow-trigger-activator.js +78 -38
  701. package/dist/workflows/triggers/workflow-trigger-activator.js.map +1 -1
  702. package/dist/workflows/workflow-creation.service.d.ts +17 -4
  703. package/dist/workflows/workflow-creation.service.js +96 -16
  704. package/dist/workflows/workflow-creation.service.js.map +1 -1
  705. package/dist/workflows/workflow-execution.service.js +2 -0
  706. package/dist/workflows/workflow-execution.service.js.map +1 -1
  707. package/dist/workflows/workflow-finder.service.js +67 -56
  708. package/dist/workflows/workflow-finder.service.js.map +1 -1
  709. package/dist/workflows/workflow-validation.service.js +3 -2
  710. package/dist/workflows/workflow-validation.service.js.map +1 -1
  711. package/dist/workflows/workflow.service.d.ts +4 -1
  712. package/dist/workflows/workflow.service.ee.d.ts +9 -3
  713. package/dist/workflows/workflow.service.ee.js +16 -2
  714. package/dist/workflows/workflow.service.ee.js.map +1 -1
  715. package/dist/workflows/workflow.service.js +25 -4
  716. package/dist/workflows/workflow.service.js.map +1 -1
  717. package/dist/workflows/workflows.controller.d.ts +3 -5
  718. package/dist/workflows/workflows.controller.js +3 -7
  719. package/dist/workflows/workflows.controller.js.map +1 -1
  720. package/package.json +37 -37
  721. package/templates/oauth-callback.handlebars +1 -1
  722. package/templates/oauth-error-callback.handlebars +1 -1
  723. package/templates/saml-connection-test-failed.handlebars +4 -1
  724. package/templates/saml-connection-test-success.handlebars +4 -1
  725. package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.js.map +0 -1
  726. package/dist/modules/instance-ai/output-redaction-config.d.ts +0 -3
  727. package/dist/modules/instance-ai/output-redaction-config.js +0 -21
  728. package/dist/modules/instance-ai/output-redaction-config.js.map +0 -1
  729. package/dist/modules/workflow-reviews.ee/workflow-review-access.service.js.map +0 -1
  730. package/dist/modules/workflow-reviews.ee/workflow-review-eligibility.service.d.ts +0 -18
  731. package/dist/modules/workflow-reviews.ee/workflow-review-eligibility.service.js +0 -77
  732. package/dist/modules/workflow-reviews.ee/workflow-review-eligibility.service.js.map +0 -1
  733. package/dist/modules/workflow-reviews.ee/workflow-review-request.service.d.ts +0 -51
  734. package/dist/modules/workflow-reviews.ee/workflow-review-request.service.js +0 -538
  735. package/dist/modules/workflow-reviews.ee/workflow-review-request.service.js.map +0 -1
  736. package/dist/policy/policy-cleared.d.ts +0 -20
  737. package/dist/policy/policy-cleared.js +0 -22
  738. package/dist/policy/policy-cleared.js.map +0 -1
  739. package/dist/public-api/v1/handlers/data-tables/data-tables.service.d.ts +0 -4
  740. package/dist/public-api/v1/handlers/data-tables/data-tables.service.js +0 -44
  741. package/dist/public-api/v1/handlers/data-tables/data-tables.service.js.map +0 -1
  742. package/dist/public-api/v1/handlers/users/users.service.ee.d.ts +0 -21
  743. package/dist/public-api/v1/handlers/users/users.service.ee.js +0 -68
  744. package/dist/public-api/v1/handlers/users/users.service.ee.js.map +0 -1
@@ -0,0 +1,34 @@
1
+ import { Logger } from '@n8n/backend-common';
2
+ import { Publisher } from '../../../scaling/pubsub/publisher.service';
3
+ import type { AgentBackgroundJob } from '../entities/agent-background-job.entity';
4
+ import { AgentBackgroundJobRepository, type AgentBackgroundJobSettlement, type NewSubAgentJob } from '../repositories/agent-background-job.repository';
5
+ import { AgentExecutionRepository } from '../repositories/agent-execution.repository';
6
+ export declare const MAX_RUNNING_JOBS_PER_THREAD = 5;
7
+ export declare const SUB_AGENT_BACKGROUND_TIMEOUT_MS: number;
8
+ export declare const SETTLED_JOB_RETENTION_MS: number;
9
+ export type BackgroundJobReceipt = {
10
+ status: 'started';
11
+ jobId: string;
12
+ } | {
13
+ status: 'limit-reached';
14
+ };
15
+ export type BackgroundJobView = Pick<AgentBackgroundJob, 'id' | 'kind' | 'title' | 'status' | 'result' | 'error' | 'createdAt' | 'timeoutAt' | 'settledAt'>;
16
+ export declare class AgentBackgroundJobService {
17
+ private readonly jobRepository;
18
+ private readonly executionRepository;
19
+ private readonly publisher;
20
+ private readonly logger;
21
+ private readonly abortControllers;
22
+ constructor(jobRepository: AgentBackgroundJobRepository, executionRepository: AgentExecutionRepository, publisher: Publisher, logger: Logger);
23
+ registerSubAgentJob(params: Omit<NewSubAgentJob, 'kind' | 'timeoutAt'>): Promise<BackgroundJobReceipt>;
24
+ settle(jobId: string, settlement: AgentBackgroundJobSettlement): Promise<boolean>;
25
+ registerAbortController(jobId: string, controller: AbortController): void;
26
+ listForThread(parentThreadId: string, ids?: string[]): Promise<BackgroundJobView[]>;
27
+ cancel(parentThreadId: string, jobId: string): Promise<'cancelled' | 'not-found' | 'already-settled'>;
28
+ handleCancelRelay({ jobId }: {
29
+ jobId: string;
30
+ }): void;
31
+ reconcile(): Promise<void>;
32
+ private failJobsPastTimeout;
33
+ private failOrphanedSubAgentJobs;
34
+ }
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AgentBackgroundJobService = exports.SETTLED_JOB_RETENTION_MS = exports.SUB_AGENT_BACKGROUND_TIMEOUT_MS = exports.MAX_RUNNING_JOBS_PER_THREAD = void 0;
13
+ const backend_common_1 = require("@n8n/backend-common");
14
+ const constants_1 = require("@n8n/constants");
15
+ const decorators_1 = require("@n8n/decorators");
16
+ const di_1 = require("@n8n/di");
17
+ const publisher_service_1 = require("../../../scaling/pubsub/publisher.service");
18
+ const agent_background_job_repository_1 = require("../repositories/agent-background-job.repository");
19
+ const agent_execution_repository_1 = require("../repositories/agent-execution.repository");
20
+ exports.MAX_RUNNING_JOBS_PER_THREAD = 5;
21
+ exports.SUB_AGENT_BACKGROUND_TIMEOUT_MS = 30 * constants_1.Time.minutes.toMilliseconds;
22
+ exports.SETTLED_JOB_RETENTION_MS = 30 * constants_1.Time.days.toMilliseconds;
23
+ let AgentBackgroundJobService = class AgentBackgroundJobService {
24
+ constructor(jobRepository, executionRepository, publisher, logger) {
25
+ this.jobRepository = jobRepository;
26
+ this.executionRepository = executionRepository;
27
+ this.publisher = publisher;
28
+ this.logger = logger;
29
+ this.abortControllers = new Map();
30
+ this.logger = this.logger.scoped('agents');
31
+ }
32
+ async registerSubAgentJob(params) {
33
+ const running = await this.jobRepository.countRunningByParentThread(params.parentThreadId);
34
+ if (running >= exports.MAX_RUNNING_JOBS_PER_THREAD)
35
+ return { status: 'limit-reached' };
36
+ await this.jobRepository.insertJob({
37
+ ...params,
38
+ kind: 'subagent',
39
+ timeoutAt: new Date(Date.now() + exports.SUB_AGENT_BACKGROUND_TIMEOUT_MS),
40
+ });
41
+ return { status: 'started', jobId: params.id };
42
+ }
43
+ async settle(jobId, settlement) {
44
+ try {
45
+ return await this.jobRepository.settleIfRunning(jobId, settlement);
46
+ }
47
+ finally {
48
+ this.abortControllers.delete(jobId);
49
+ }
50
+ }
51
+ registerAbortController(jobId, controller) {
52
+ this.abortControllers.set(jobId, controller);
53
+ }
54
+ async listForThread(parentThreadId, ids) {
55
+ let jobs = await this.jobRepository.findByParentThread(parentThreadId, ids);
56
+ const reconciled = await this.failOrphanedSubAgentJobs(jobs);
57
+ if (reconciled)
58
+ jobs = await this.jobRepository.findByParentThread(parentThreadId, ids);
59
+ return jobs.map((job) => ({
60
+ id: job.id,
61
+ kind: job.kind,
62
+ title: job.title,
63
+ status: job.status,
64
+ result: job.result,
65
+ error: job.error,
66
+ createdAt: job.createdAt,
67
+ timeoutAt: job.timeoutAt,
68
+ settledAt: job.settledAt,
69
+ }));
70
+ }
71
+ async cancel(parentThreadId, jobId) {
72
+ const [job] = await this.jobRepository.findByParentThread(parentThreadId, [jobId]);
73
+ if (!job)
74
+ return 'not-found';
75
+ const claimed = await this.jobRepository.settleIfRunning(jobId, { status: 'cancelled' });
76
+ if (!claimed)
77
+ return 'already-settled';
78
+ const controller = this.abortControllers.get(jobId);
79
+ if (controller) {
80
+ controller.abort();
81
+ this.abortControllers.delete(jobId);
82
+ }
83
+ else {
84
+ try {
85
+ await this.publisher.publishCommand({
86
+ command: 'cancel-agent-background-job',
87
+ payload: { jobId },
88
+ });
89
+ }
90
+ catch (error) {
91
+ this.logger.warn('Failed to relay background job cancellation', { jobId, error });
92
+ }
93
+ }
94
+ return 'cancelled';
95
+ }
96
+ handleCancelRelay({ jobId }) {
97
+ const controller = this.abortControllers.get(jobId);
98
+ if (!controller)
99
+ return;
100
+ controller.abort();
101
+ this.abortControllers.delete(jobId);
102
+ this.logger.debug('Aborted background job after relayed cancellation', { jobId });
103
+ }
104
+ async reconcile() {
105
+ await this.failJobsPastTimeout();
106
+ await this.failOrphanedSubAgentJobs(await this.jobRepository.findRunningJobs('subagent'));
107
+ await this.jobRepository.deleteSettledBefore(new Date(Date.now() - exports.SETTLED_JOB_RETENTION_MS));
108
+ }
109
+ async failJobsPastTimeout() {
110
+ const timedOut = await this.jobRepository.findRunningPastTimeout(new Date());
111
+ for (const job of timedOut) {
112
+ const controller = this.abortControllers.get(job.id);
113
+ try {
114
+ const settled = await this.settle(job.id, {
115
+ status: 'failed',
116
+ error: `Timed out after ${Math.round(exports.SUB_AGENT_BACKGROUND_TIMEOUT_MS / 60_000)} minutes`,
117
+ });
118
+ if (settled) {
119
+ this.logger.debug('Failed background job past its timeout', { jobId: job.id });
120
+ }
121
+ }
122
+ catch (error) {
123
+ this.logger.error('Failed to settle background job past its timeout', {
124
+ jobId: job.id,
125
+ error,
126
+ });
127
+ }
128
+ finally {
129
+ controller?.abort();
130
+ }
131
+ }
132
+ }
133
+ async failOrphanedSubAgentJobs(jobs) {
134
+ const orphans = jobs.flatMap((job) => job.kind === 'subagent' &&
135
+ job.status === 'running' &&
136
+ job.childThreadId !== null &&
137
+ !this.abortControllers.has(job.id)
138
+ ? [{ job, childThreadId: job.childThreadId }]
139
+ : []);
140
+ if (orphans.length === 0)
141
+ return false;
142
+ const statuses = await this.executionRepository.findLatestStatusesByThreadIds(orphans.map(({ childThreadId }) => childThreadId));
143
+ let settledAny = false;
144
+ for (const { job, childThreadId } of orphans) {
145
+ const childStatus = statuses.get(childThreadId);
146
+ if (childStatus !== 'interrupted' && childStatus !== 'error')
147
+ continue;
148
+ const settled = await this.settle(job.id, {
149
+ status: 'failed',
150
+ error: `Sub-agent run ended with status "${childStatus}" and its result was not recovered`,
151
+ });
152
+ settledAny ||= settled;
153
+ }
154
+ return settledAny;
155
+ }
156
+ };
157
+ exports.AgentBackgroundJobService = AgentBackgroundJobService;
158
+ __decorate([
159
+ (0, decorators_1.OnPubSubEvent)('cancel-agent-background-job', { instanceType: 'main' }),
160
+ __metadata("design:type", Function),
161
+ __metadata("design:paramtypes", [Object]),
162
+ __metadata("design:returntype", void 0)
163
+ ], AgentBackgroundJobService.prototype, "handleCancelRelay", null);
164
+ exports.AgentBackgroundJobService = AgentBackgroundJobService = __decorate([
165
+ (0, di_1.Service)(),
166
+ __metadata("design:paramtypes", [agent_background_job_repository_1.AgentBackgroundJobRepository, agent_execution_repository_1.AgentExecutionRepository, publisher_service_1.Publisher, backend_common_1.Logger])
167
+ ], AgentBackgroundJobService);
168
+ //# sourceMappingURL=agent-background-job.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-background-job.service.js","sourceRoot":"","sources":["../../../../src/modules/agents/background/agent-background-job.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wDAA6C;AAC7C,8CAAsC;AACtC,gDAAgD;AAChD,gCAAkC;AAElC,0EAA+D;AAG/D,qGAIyD;AACzD,2FAAsF;AAEzE,QAAA,2BAA2B,GAAG,CAAC,CAAC;AAChC,QAAA,+BAA+B,GAAG,EAAE,GAAG,gBAAI,CAAC,OAAO,CAAC,cAAc,CAAC;AACnE,QAAA,wBAAwB,GAAG,EAAE,GAAG,gBAAI,CAAC,IAAI,CAAC,cAAc,CAAC;AAkB/D,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAGrC,YACkB,aAA2C,EAC3C,mBAA6C,EAC7C,SAAoB,EACpB,MAAc;QAHd,kBAAa,GAAb,aAAa,CAA8B;QAC3C,wBAAmB,GAAnB,mBAAmB,CAA0B;QAC7C,cAAS,GAAT,SAAS,CAAW;QACpB,WAAM,GAAN,MAAM,CAAQ;QANf,qBAAgB,GAAG,IAAI,GAAG,EAA2B,CAAC;QAQtE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAOD,KAAK,CAAC,mBAAmB,CACxB,MAAkD;QAKlD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,0BAA0B,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAC3F,IAAI,OAAO,IAAI,QAAA,2BAA2B;YAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;QAE/E,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;YAClC,GAAG,MAAM;YACT,IAAI,EAAE,UAAU;YAChB,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAA,+BAA+B,CAAC;SACjE,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,UAAwC;QACnE,IAAI,CAAC;YACJ,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACpE,CAAC;gBAAS,CAAC;YAGV,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;IACF,CAAC;IAED,uBAAuB,CAAC,KAAa,EAAE,UAA2B;QACjE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC9C,CAAC;IAOD,KAAK,CAAC,aAAa,CAAC,cAAsB,EAAE,GAAc;QACzD,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAE5E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,UAAU;YAAE,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAExF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACzB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS,EAAE,GAAG,CAAC,SAAS;SACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAQD,KAAK,CAAC,MAAM,CACX,cAAsB,EACtB,KAAa;QAEb,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACnF,IAAI,CAAC,GAAG;YAAE,OAAO,WAAW,CAAC;QAE7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QACzF,IAAI,CAAC,OAAO;YAAE,OAAO,iBAAiB,CAAC;QAEvC,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,UAAU,EAAE,CAAC;YAChB,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YAKP,IAAI,CAAC;gBACJ,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;oBACnC,OAAO,EAAE,6BAA6B;oBACtC,OAAO,EAAE,EAAE,KAAK,EAAE;iBAClB,CAAC,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACnF,CAAC;QACF,CAAC;QACD,OAAO,WAAW,CAAC;IACpB,CAAC;IAGD,iBAAiB,CAAC,EAAE,KAAK,EAAqB;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mDAAmD,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACnF,CAAC;IAOD,KAAK,CAAC,SAAS;QACd,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;QAE1F,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAA,wBAAwB,CAAC,CAAC,CAAC;IAC/F,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC7E,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAI5B,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC;gBACJ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE;oBACzC,MAAM,EAAE,QAAQ;oBAChB,KAAK,EAAE,mBAAmB,IAAI,CAAC,KAAK,CAAC,QAAA,+BAA+B,GAAG,MAAM,CAAC,UAAU;iBACxF,CAAC,CAAC;gBACH,IAAI,OAAO,EAAE,CAAC;oBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;gBAChF,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kDAAkD,EAAE;oBACrE,KAAK,EAAE,GAAG,CAAC,EAAE;oBACb,KAAK;iBACL,CAAC,CAAC;YACJ,CAAC;oBAAS,CAAC;gBAGV,UAAU,EAAE,KAAK,EAAE,CAAC;YACrB,CAAC;QACF,CAAC;IACF,CAAC;IAQO,KAAK,CAAC,wBAAwB,CAAC,IAA0B;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CACpC,GAAG,CAAC,IAAI,KAAK,UAAU;YACvB,GAAG,CAAC,MAAM,KAAK,SAAS;YACxB,GAAG,CAAC,aAAa,KAAK,IAAI;YAC1B,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC;YAC7C,CAAC,CAAC,EAAE,CACL,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAEvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,6BAA6B,CAC5E,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,CACjD,CAAC;QACF,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,KAAK,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,OAAO,EAAE,CAAC;YAC9C,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAChD,IAAI,WAAW,KAAK,aAAa,IAAI,WAAW,KAAK,OAAO;gBAAE,SAAS;YACvE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE;gBACzC,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,oCAAoC,WAAW,oCAAoC;aAC1F,CAAC,CAAC;YACH,UAAU,KAAK,OAAO,CAAC;QACxB,CAAC;QACD,OAAO,UAAU,CAAC;IACnB,CAAC;CACD,CAAA;;AAjFA;IADC,IAAA,0BAAa,EAAC,6BAA6B,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;;;;kEAQtE;oCArHW,yBAAyB;IADrC,IAAA,YAAO,GAAE;qCAKwB,8DAA4B,EACtB,qDAAwB,EAClC,6BAAS,EACZ,uBAAM;GAPpB,yBAAyB,CA+LrC"}
@@ -0,0 +1,21 @@
1
+ import type { BuiltTool } from '@n8n/agents';
2
+ import { type SubAgentSource } from '@n8n/api-types';
3
+ import type { AgentBackgroundJobService } from './agent-background-job.service';
4
+ import type { SubAgentBackgroundRunner } from './sub-agent-background-runner';
5
+ import type { SubAgentRunContext } from '../sub-agents/sub-agent-runner';
6
+ export interface BackgroundJobToolsOptions {
7
+ jobService: AgentBackgroundJobService;
8
+ backgroundRunner: SubAgentBackgroundRunner;
9
+ sourcesById: Record<string, SubAgentSource>;
10
+ availableSubAgents: Array<{
11
+ id: string;
12
+ name: string;
13
+ useWhen?: string;
14
+ }>;
15
+ projectId: string;
16
+ parentAgentId: string;
17
+ runContext: Pick<SubAgentRunContext, 'credentialProvider' | 'runType' | 'workflowToolExecutionMode' | 'user' | 'instrumentation'>;
18
+ }
19
+ export declare function createSpawnBackgroundSubAgentTool(options: BackgroundJobToolsOptions): BuiltTool;
20
+ export declare function createCheckBackgroundJobsTool(jobService: AgentBackgroundJobService): BuiltTool;
21
+ export declare function createCancelBackgroundJobTool(jobService: AgentBackgroundJobService): BuiltTool;
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createSpawnBackgroundSubAgentTool = createSpawnBackgroundSubAgentTool;
4
+ exports.createCheckBackgroundJobsTool = createCheckBackgroundJobsTool;
5
+ exports.createCancelBackgroundJobTool = createCancelBackgroundJobTool;
6
+ const agents_1 = require("@n8n/agents");
7
+ const tool_1 = require("@n8n/agents/tool");
8
+ const api_types_1 = require("@n8n/api-types");
9
+ const zod_1 = require("zod");
10
+ const agent_sandbox_principal_1 = require("../agent-sandbox-principal");
11
+ const RESULT_ECHO_MAX_CHARS = 8000;
12
+ function threadIdOf(ctx) {
13
+ return ctx.persistence?.threadId;
14
+ }
15
+ function createSpawnBackgroundSubAgentTool(options) {
16
+ const roster = options.availableSubAgents
17
+ .map((agent) => `- ${agent.id}: ${agent.name}${agent.useWhen ? ` — ${agent.useWhen}` : ''}`)
18
+ .join('\n');
19
+ return new tool_1.Tool('spawn_background_subagent')
20
+ .description('Dispatch a sub-agent as a detached background job. Returns a receipt immediately; the ' +
21
+ 'sub-agent keeps working after your turn ends. Pass "inline" as subAgentId to spawn a ' +
22
+ 'copy of yourself for a self-contained subtask.' +
23
+ (roster ? ` Available configured sub-agents:\n${roster}` : ''))
24
+ .systemInstruction('Prefer spawn_background_subagent for independent pieces of work that can run in parallel ' +
25
+ 'while you continue. After spawning, either continue with non-overlapping work or end ' +
26
+ 'your turn telling the user that work continues in the background — never poll ' +
27
+ 'check_background_jobs in a loop waiting for jobs to finish; check once in a later turn ' +
28
+ 'instead. The final answer is the contract; never expect the full trace. Instruct ' +
29
+ 'sub-agents producing large outputs to write them to the shared workspace and return a ' +
30
+ 'summary.')
31
+ .input(zod_1.z.object({
32
+ subAgentId: zod_1.z
33
+ .string()
34
+ .describe('Id of a configured sub-agent from the roster, or "inline" for a copy of yourself'),
35
+ taskName: zod_1.z
36
+ .string()
37
+ .min(1)
38
+ .max(255)
39
+ .describe('Short label for the job, echoed in status checks'),
40
+ goal: zod_1.z.string().describe('What the sub-agent should accomplish'),
41
+ context: zod_1.z.string().optional().describe('Background information the sub-agent needs'),
42
+ expectedOutput: zod_1.z.string().optional().describe('Shape of the answer to return'),
43
+ difficulty: zod_1.z
44
+ .enum(api_types_1.SUB_AGENT_TASK_DIFFICULTIES)
45
+ .optional()
46
+ .describe('Inline spawns only: picks the model tier configured for this difficulty'),
47
+ }))
48
+ .output(zod_1.z.object({
49
+ status: zod_1.z.enum(['started', 'limit-reached', 'rejected']),
50
+ jobId: zod_1.z.string().optional(),
51
+ note: zod_1.z.string().optional(),
52
+ }))
53
+ .handler(async (input, ctx) => {
54
+ const parentThreadId = threadIdOf(ctx);
55
+ const parentResourceId = ctx.persistence?.resourceId;
56
+ if (!parentThreadId || !parentResourceId) {
57
+ return {
58
+ status: 'rejected',
59
+ note: 'Background jobs need a persisted conversation thread; none is active.',
60
+ };
61
+ }
62
+ const isSelfDelegation = input.subAgentId === agents_1.INLINE_SUB_AGENT_ID;
63
+ const source = isSelfDelegation
64
+ ? { agentId: options.parentAgentId }
65
+ : options.sourcesById[input.subAgentId];
66
+ if (!source) {
67
+ const ids = [...options.availableSubAgents.map((agent) => agent.id), 'inline'].join(', ');
68
+ return {
69
+ status: 'rejected',
70
+ note: `No sub-agent matched "${input.subAgentId}". Available: ${ids}.`,
71
+ };
72
+ }
73
+ const sandboxScope = (0, agent_sandbox_principal_1.decodeAgentSandboxHostMetadata)(ctx.persistence?.hostMetadata);
74
+ const receipt = await options.backgroundRunner.spawn({
75
+ subAgentId: source.agentId,
76
+ source,
77
+ taskName: input.taskName,
78
+ goal: input.goal,
79
+ context: input.context,
80
+ expectedOutput: input.expectedOutput,
81
+ ...(isSelfDelegation && input.difficulty !== undefined
82
+ ? { difficulty: input.difficulty }
83
+ : {}),
84
+ parentThreadId,
85
+ parentResourceId,
86
+ ...(sandboxScope?.projectId === options.projectId
87
+ ? { parentSandboxPrincipalHash: sandboxScope.principalHash }
88
+ : {}),
89
+ }, {
90
+ projectId: options.projectId,
91
+ parentAgentId: options.parentAgentId,
92
+ ...options.runContext,
93
+ });
94
+ if (receipt.status === 'started') {
95
+ return {
96
+ status: 'started',
97
+ jobId: receipt.jobId,
98
+ note: 'Job dispatched. Check on it later with check_background_jobs.',
99
+ };
100
+ }
101
+ return {
102
+ status: 'limit-reached',
103
+ note: 'This conversation already has the maximum number of running background jobs. Wait for one to finish or cancel one.',
104
+ };
105
+ })
106
+ .build();
107
+ }
108
+ function createCheckBackgroundJobsTool(jobService) {
109
+ return new tool_1.Tool('check_background_jobs')
110
+ .description('List the background jobs of this conversation with their status and, once settled, ' +
111
+ 'their result or error. Pass an empty object {} to list all jobs (required — do not pass null). ' +
112
+ 'Call this at most once per turn: when jobs are still running, tell the user and end your ' +
113
+ 'turn — repeated checks within one turn only burn time and tokens.')
114
+ .input(zod_1.z.object({
115
+ jobIds: zod_1.z.array(zod_1.z.string()).max(50).optional().describe('Limit the check to these job ids'),
116
+ }))
117
+ .handler(async (input, ctx) => {
118
+ const parentThreadId = threadIdOf(ctx);
119
+ if (!parentThreadId) {
120
+ return { jobs: [], note: 'No persisted conversation thread is active.' };
121
+ }
122
+ const jobs = await jobService.listForThread(parentThreadId, input.jobIds);
123
+ return {
124
+ jobs: jobs.map((job) => ({
125
+ jobId: job.id,
126
+ kind: job.kind,
127
+ title: job.title,
128
+ status: job.status,
129
+ ...(job.result !== null ? { result: truncateResult(job.result) } : {}),
130
+ ...(job.error !== null ? { error: truncateResult(job.error) } : {}),
131
+ startedAt: job.createdAt.toISOString(),
132
+ ...(job.timeoutAt !== null ? { timeoutAt: job.timeoutAt.toISOString() } : {}),
133
+ })),
134
+ runningCount: jobs.filter((job) => job.status === 'running').length,
135
+ };
136
+ })
137
+ .build();
138
+ }
139
+ function createCancelBackgroundJobTool(jobService) {
140
+ return new tool_1.Tool('cancel_background_job')
141
+ .description('Cancel a running background job of this conversation by its job id.')
142
+ .input(zod_1.z.object({ jobId: zod_1.z.string() }))
143
+ .output(zod_1.z.object({ status: zod_1.z.enum(['cancelled', 'not-found', 'already-settled']) }))
144
+ .handler(async (input, ctx) => {
145
+ const parentThreadId = threadIdOf(ctx);
146
+ if (!parentThreadId)
147
+ return { status: 'not-found' };
148
+ return { status: await jobService.cancel(parentThreadId, input.jobId) };
149
+ })
150
+ .build();
151
+ }
152
+ function truncateResult(result) {
153
+ if (result.length <= RESULT_ECHO_MAX_CHARS)
154
+ return result;
155
+ return `${result.slice(0, RESULT_ECHO_MAX_CHARS)}\n[... truncated, ${result.length} characters total]`;
156
+ }
157
+ //# sourceMappingURL=background-job-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"background-job-tools.js","sourceRoot":"","sources":["../../../../src/modules/agents/background/background-job-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { SubAgentSource, SubAgentTaskDifficulty } from '@n8n/api-types';
2
+ import { Logger } from '@n8n/backend-common';
3
+ import { AgentBackgroundJobService, type BackgroundJobReceipt } from './agent-background-job.service';
4
+ import { SubAgentRunner, type SubAgentRunContext } from '../sub-agents/sub-agent-runner';
5
+ export interface BackgroundSpawnRequest {
6
+ subAgentId: string;
7
+ source: SubAgentSource;
8
+ taskName: string;
9
+ goal: string;
10
+ context?: string;
11
+ expectedOutput?: string;
12
+ difficulty?: SubAgentTaskDifficulty;
13
+ parentThreadId: string;
14
+ parentResourceId: string;
15
+ parentSandboxPrincipalHash?: string;
16
+ }
17
+ export declare class SubAgentBackgroundRunner {
18
+ private readonly runner;
19
+ private readonly jobService;
20
+ private readonly logger;
21
+ private dispatchCounter;
22
+ constructor(runner: SubAgentRunner, jobService: AgentBackgroundJobService, logger: Logger);
23
+ spawn(request: BackgroundSpawnRequest, context: {
24
+ projectId: string;
25
+ parentAgentId: string;
26
+ } & Pick<SubAgentRunContext, 'credentialProvider' | 'runType' | 'workflowToolExecutionMode' | 'user' | 'instrumentation'>): Promise<BackgroundJobReceipt>;
27
+ }
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SubAgentBackgroundRunner = void 0;
13
+ const agents_1 = require("@n8n/agents");
14
+ const backend_common_1 = require("@n8n/backend-common");
15
+ const di_1 = require("@n8n/di");
16
+ const uuid_1 = require("uuid");
17
+ const agent_background_job_service_1 = require("./agent-background-job.service");
18
+ const format_sub_agent_tool_output_1 = require("../sub-agents/format-sub-agent-tool-output");
19
+ const sub_agent_runner_1 = require("../sub-agents/sub-agent-runner");
20
+ let SubAgentBackgroundRunner = class SubAgentBackgroundRunner {
21
+ constructor(runner, jobService, logger) {
22
+ this.runner = runner;
23
+ this.jobService = jobService;
24
+ this.logger = logger;
25
+ this.dispatchCounter = 0;
26
+ this.logger = this.logger.scoped('agents');
27
+ }
28
+ async spawn(request, context) {
29
+ const taskPath = (0, agents_1.createChildSubAgentTaskPath)(request.taskName, this.dispatchCounter++);
30
+ const jobId = (0, uuid_1.v4)();
31
+ const childThreadId = (0, uuid_1.v4)();
32
+ const receipt = await this.jobService.registerSubAgentJob({
33
+ id: jobId,
34
+ parentAgentId: context.parentAgentId,
35
+ parentThreadId: request.parentThreadId,
36
+ title: request.taskName,
37
+ subAgentId: request.subAgentId,
38
+ childThreadId,
39
+ });
40
+ if (receipt.status !== 'started')
41
+ return receipt;
42
+ const abortController = new AbortController();
43
+ this.jobService.registerAbortController(jobId, abortController);
44
+ const timeout = setTimeout(() => {
45
+ void this.jobService
46
+ .settle(jobId, {
47
+ status: 'failed',
48
+ error: `Timed out after ${Math.round(agent_background_job_service_1.SUB_AGENT_BACKGROUND_TIMEOUT_MS / 60_000)} minutes`,
49
+ })
50
+ .catch((error) => {
51
+ this.logger.error('Failed to settle timed-out background job', { jobId, error });
52
+ })
53
+ .finally(() => abortController.abort());
54
+ }, agent_background_job_service_1.SUB_AGENT_BACKGROUND_TIMEOUT_MS);
55
+ timeout.unref();
56
+ void this.runner
57
+ .run({
58
+ goal: request.goal,
59
+ source: request.source,
60
+ ...(request.context !== undefined ? { context: request.context } : {}),
61
+ ...(request.expectedOutput !== undefined
62
+ ? { expectedOutput: request.expectedOutput }
63
+ : {}),
64
+ parentThreadId: request.parentThreadId,
65
+ parentResourceId: request.parentResourceId,
66
+ ...(request.parentSandboxPrincipalHash !== undefined
67
+ ? { parentSandboxPrincipalHash: request.parentSandboxPrincipalHash }
68
+ : {}),
69
+ childThreadId,
70
+ taskPath,
71
+ }, {
72
+ projectId: context.projectId,
73
+ parentAgentId: context.parentAgentId,
74
+ credentialProvider: context.credentialProvider,
75
+ runType: context.runType,
76
+ workflowToolExecutionMode: context.workflowToolExecutionMode,
77
+ user: context.user,
78
+ instrumentation: context.instrumentation,
79
+ abortSignal: abortController.signal,
80
+ ...(request.difficulty !== undefined
81
+ ? { selfDelegationDifficulty: request.difficulty }
82
+ : {}),
83
+ })
84
+ .then((result) => settlementFor(result))
85
+ .catch((error) => ({
86
+ status: 'failed',
87
+ error: error instanceof Error ? error.message : String(error),
88
+ }))
89
+ .then(async (settlement) => {
90
+ const settled = await this.jobService.settle(jobId, settlement);
91
+ if (settled && settlement.status === 'failed') {
92
+ this.logger.warn('Background sub-agent job failed', { jobId, error: settlement.error });
93
+ }
94
+ })
95
+ .catch((error) => {
96
+ this.logger.error('Failed to settle background sub-agent job', { jobId, error });
97
+ })
98
+ .finally(() => clearTimeout(timeout));
99
+ return receipt;
100
+ }
101
+ };
102
+ exports.SubAgentBackgroundRunner = SubAgentBackgroundRunner;
103
+ exports.SubAgentBackgroundRunner = SubAgentBackgroundRunner = __decorate([
104
+ (0, di_1.Service)(),
105
+ __metadata("design:paramtypes", [sub_agent_runner_1.SubAgentRunner, agent_background_job_service_1.AgentBackgroundJobService, backend_common_1.Logger])
106
+ ], SubAgentBackgroundRunner);
107
+ function settlementFor(result) {
108
+ const output = (0, format_sub_agent_tool_output_1.formatSubAgentToolOutput)(result);
109
+ if (output.status === 'completed') {
110
+ return { status: 'completed', result: output.answer };
111
+ }
112
+ if (output.status === 'suspended') {
113
+ return {
114
+ status: 'failed',
115
+ error: 'Sub-agent suspended awaiting human input, which background runs do not support',
116
+ };
117
+ }
118
+ return {
119
+ status: output.status === 'cancelled' ? 'cancelled' : 'failed',
120
+ error: output.error ?? null,
121
+ };
122
+ }
123
+ //# sourceMappingURL=sub-agent-background-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sub-agent-background-runner.js","sourceRoot":"","sources":["../../../../src/modules/agents/background/sub-agent-background-runner.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { type BuiltTool, type CredentialProvider } from '@n8n/agents';
2
- import { OutboundHttp, SsrfProtectionService } from '@n8n/backend-network';
3
- import { SsrfProtectionConfig } from '@n8n/config';
2
+ import { OutboundHttp } from '@n8n/backend-network';
4
3
  import type { User } from '@n8n/db';
4
+ import type { InstanceAiCredentialService } from '@n8n/instance-ai';
5
5
  import { CredentialTypes } from '../../../credential-types';
6
6
  import { McpRegistryService } from '../../../modules/mcp-registry/registry/mcp-registry.service';
7
7
  import { NodeTypes } from '../../../node-types';
@@ -52,13 +52,11 @@ export declare class AgentsBuilderToolsService {
52
52
  private readonly outboundHttp;
53
53
  private readonly dynamicNodeParametersService;
54
54
  private readonly nodeTypes;
55
- private readonly ssrfConfig;
56
- private readonly ssrfProtectionService;
57
55
  private readonly freeAiCreditsService;
58
56
  private readonly telemetry;
59
- constructor(agentsService: AgentsService, agentConfigService: AgentConfigService, agentCustomToolsService: AgentCustomToolsService, agentIntegrationPersistenceService: AgentIntegrationPersistenceService, agentSkillsService: AgentSkillsService, secureRuntime: AgentSecureRuntime, attachableWorkflowsService: AttachableWorkflowsService, agentsToolsService: AgentsToolsService, builderModelLiveLookupService: BuilderModelLiveLookupService, mcpRegistryService: McpRegistryService, oauthService: OauthService, credentialTypes: CredentialTypes, agentTaskService: AgentTaskService, agentPublishService: AgentPublishService, agentTestRunService: AgentTestRunService, aiService: AiService, aiGatewayService: AiGatewayService, outboundHttp: OutboundHttp, dynamicNodeParametersService: DynamicNodeParametersService, nodeTypes: NodeTypes, ssrfConfig: SsrfProtectionConfig, ssrfProtectionService: SsrfProtectionService, freeAiCreditsService: FreeAiCreditsService, telemetry: Telemetry);
57
+ constructor(agentsService: AgentsService, agentConfigService: AgentConfigService, agentCustomToolsService: AgentCustomToolsService, agentIntegrationPersistenceService: AgentIntegrationPersistenceService, agentSkillsService: AgentSkillsService, secureRuntime: AgentSecureRuntime, attachableWorkflowsService: AttachableWorkflowsService, agentsToolsService: AgentsToolsService, builderModelLiveLookupService: BuilderModelLiveLookupService, mcpRegistryService: McpRegistryService, oauthService: OauthService, credentialTypes: CredentialTypes, agentTaskService: AgentTaskService, agentPublishService: AgentPublishService, agentTestRunService: AgentTestRunService, aiService: AiService, aiGatewayService: AiGatewayService, outboundHttp: OutboundHttp, dynamicNodeParametersService: DynamicNodeParametersService, nodeTypes: NodeTypes, freeAiCreditsService: FreeAiCreditsService, telemetry: Telemetry);
60
58
  private withConfigMutationMarker;
61
- getTools(agentId: string, projectId: string, credentialProvider: CredentialProvider, user: User, telemetryContext?: BuilderTelemetryContext): BuilderTools;
59
+ getTools(agentId: string, projectId: string, credentialProvider: CredentialProvider, credentialService: InstanceAiCredentialService, user: User, telemetryContext?: BuilderTelemetryContext): BuilderTools;
62
60
  private getJsonTools;
63
61
  private getSharedTools;
64
62
  private getConfigSnapshot;