n8n 2.23.2 → 2.25.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 (559) hide show
  1. package/dist/active-workflow-manager.d.ts +8 -4
  2. package/dist/active-workflow-manager.js +26 -9
  3. package/dist/active-workflow-manager.js.map +1 -1
  4. package/dist/auth/auth.service.d.ts +1 -1
  5. package/dist/auth/auth.service.js +2 -1
  6. package/dist/auth/auth.service.js.map +1 -1
  7. package/dist/build.tsbuildinfo +1 -1
  8. package/dist/controllers/ai.controller.js +1 -1
  9. package/dist/controllers/ai.controller.js.map +1 -1
  10. package/dist/controllers/api-keys.controller.d.ts +20 -15
  11. package/dist/controllers/api-keys.controller.js +7 -4
  12. package/dist/controllers/api-keys.controller.js.map +1 -1
  13. package/dist/controllers/oauth/oauth1-credential.controller.d.ts +4 -2
  14. package/dist/controllers/oauth/oauth1-credential.controller.js +15 -5
  15. package/dist/controllers/oauth/oauth1-credential.controller.js.map +1 -1
  16. package/dist/controllers/oauth/oauth2-credential.controller.d.ts +4 -2
  17. package/dist/controllers/oauth/oauth2-credential.controller.js +15 -6
  18. package/dist/controllers/oauth/oauth2-credential.controller.js.map +1 -1
  19. package/dist/controllers/project.controller.d.ts +8 -0
  20. package/dist/controllers/project.controller.js +2 -1
  21. package/dist/controllers/project.controller.js.map +1 -1
  22. package/dist/controllers/security-settings.controller.js +18 -1
  23. package/dist/controllers/security-settings.controller.js.map +1 -1
  24. package/dist/controllers/telemetry.controller.js +4 -1
  25. package/dist/controllers/telemetry.controller.js.map +1 -1
  26. package/dist/credentials/credential-connection-status-provider.interface.d.ts +3 -0
  27. package/dist/credentials/credential-connection-status-proxy.d.ts +3 -0
  28. package/dist/credentials/credential-connection-status-proxy.js +10 -0
  29. package/dist/credentials/credential-connection-status-proxy.js.map +1 -1
  30. package/dist/credentials/credentials.controller.d.ts +6 -0
  31. package/dist/credentials/credentials.controller.js +39 -2
  32. package/dist/credentials/credentials.controller.js.map +1 -1
  33. package/dist/credentials/credentials.service.d.ts +29 -13
  34. package/dist/credentials/credentials.service.ee.d.ts +2 -0
  35. package/dist/credentials/credentials.service.ee.js +3 -0
  36. package/dist/credentials/credentials.service.ee.js.map +1 -1
  37. package/dist/credentials/credentials.service.js +27 -6
  38. package/dist/credentials/credentials.service.js.map +1 -1
  39. package/dist/credentials-helper.d.ts +1 -0
  40. package/dist/credentials-helper.js +14 -4
  41. package/dist/credentials-helper.js.map +1 -1
  42. package/dist/errors/credential-missing-id.error.d.ts +4 -0
  43. package/dist/errors/credential-missing-id.error.js +14 -0
  44. package/dist/errors/credential-missing-id.error.js.map +1 -0
  45. package/dist/eventbus/event-message-classes/index.d.ts +2 -2
  46. package/dist/eventbus/event-message-classes/index.js +3 -0
  47. package/dist/eventbus/event-message-classes/index.js.map +1 -1
  48. package/dist/events/maps/relay.event-map.d.ts +54 -2
  49. package/dist/events/relays/log-streaming.event-relay.d.ts +3 -0
  50. package/dist/events/relays/log-streaming.event-relay.js +39 -1
  51. package/dist/events/relays/log-streaming.event-relay.js.map +1 -1
  52. package/dist/events/relays/telemetry.event-relay.d.ts +6 -0
  53. package/dist/events/relays/telemetry.event-relay.js +74 -3
  54. package/dist/events/relays/telemetry.event-relay.js.map +1 -1
  55. package/dist/execution-lifecycle/execution-lifecycle-hooks.js +6 -5
  56. package/dist/execution-lifecycle/execution-lifecycle-hooks.js.map +1 -1
  57. package/dist/executions/execution-data/db-store.d.ts +1 -0
  58. package/dist/executions/execution-data/db-store.js +26 -0
  59. package/dist/executions/execution-data/db-store.js.map +1 -1
  60. package/dist/executions/execution-data/fs-store.d.ts +2 -0
  61. package/dist/executions/execution-data/fs-store.js +27 -0
  62. package/dist/executions/execution-data/fs-store.js.map +1 -1
  63. package/dist/executions/execution-data/types.d.ts +1 -0
  64. package/dist/executions/execution-persistence.d.ts +38 -4
  65. package/dist/executions/execution-persistence.js +127 -2
  66. package/dist/executions/execution-persistence.js.map +1 -1
  67. package/dist/expression-observability/expression-observability.provider.d.ts +3 -1
  68. package/dist/expression-observability/expression-observability.provider.js +48 -46
  69. package/dist/expression-observability/expression-observability.provider.js.map +1 -1
  70. package/dist/interfaces.d.ts +3 -1
  71. package/dist/modules/agents/agent-execution.service.d.ts +4 -2
  72. package/dist/modules/agents/agent-execution.service.js +3 -3
  73. package/dist/modules/agents/agent-execution.service.js.map +1 -1
  74. package/dist/modules/agents/agent-knowledge-command.service.d.ts +40 -0
  75. package/dist/modules/agents/agent-knowledge-command.service.js +221 -0
  76. package/dist/modules/agents/agent-knowledge-command.service.js.map +1 -0
  77. package/dist/modules/agents/agent-knowledge.service.d.ts +42 -0
  78. package/dist/modules/agents/agent-knowledge.service.js +300 -0
  79. package/dist/modules/agents/agent-knowledge.service.js.map +1 -0
  80. package/dist/modules/agents/agent-task.service.d.ts +52 -0
  81. package/dist/modules/agents/agent-task.service.js +487 -0
  82. package/dist/modules/agents/agent-task.service.js.map +1 -0
  83. package/dist/modules/agents/agent-upload.middleware.d.ts +7 -0
  84. package/dist/modules/agents/agent-upload.middleware.js +62 -0
  85. package/dist/modules/agents/agent-upload.middleware.js.map +1 -0
  86. package/dist/modules/agents/agents-tools.service.d.ts +1 -1
  87. package/dist/modules/agents/agents-tools.service.js +12 -3
  88. package/dist/modules/agents/agents-tools.service.js.map +1 -1
  89. package/dist/modules/agents/agents.controller.d.ts +138 -45
  90. package/dist/modules/agents/agents.controller.js +176 -48
  91. package/dist/modules/agents/agents.controller.js.map +1 -1
  92. package/dist/modules/agents/agents.module.d.ts +2 -2
  93. package/dist/modules/agents/agents.module.js +13 -5
  94. package/dist/modules/agents/agents.module.js.map +1 -1
  95. package/dist/modules/agents/agents.service.d.ts +43 -7
  96. package/dist/modules/agents/agents.service.js +341 -57
  97. package/dist/modules/agents/agents.service.js.map +1 -1
  98. package/dist/modules/agents/builder/agents-builder-prompts.d.ts +6 -5
  99. package/dist/modules/agents/builder/agents-builder-prompts.js +92 -18
  100. package/dist/modules/agents/builder/agents-builder-prompts.js.map +1 -1
  101. package/dist/modules/agents/builder/agents-builder-tools.service.d.ts +11 -1
  102. package/dist/modules/agents/builder/agents-builder-tools.service.js +164 -26
  103. package/dist/modules/agents/builder/agents-builder-tools.service.js.map +1 -1
  104. package/dist/modules/agents/builder/agents-builder.service.d.ts +3 -1
  105. package/dist/modules/agents/builder/agents-builder.service.js +8 -3
  106. package/dist/modules/agents/builder/agents-builder.service.js.map +1 -1
  107. package/dist/modules/agents/builder/builder-tool-names.d.ts +3 -0
  108. package/dist/modules/agents/builder/builder-tool-names.js +3 -0
  109. package/dist/modules/agents/builder/builder-tool-names.js.map +1 -1
  110. package/dist/modules/agents/builder/interactive/ask-credential.tool.d.ts +1 -0
  111. package/dist/modules/agents/builder/interactive/ask-credential.tool.js +25 -4
  112. package/dist/modules/agents/builder/interactive/ask-credential.tool.js.map +1 -1
  113. package/dist/modules/agents/builder/interactive/ask-question.tool.js +6 -5
  114. package/dist/modules/agents/builder/interactive/ask-question.tool.js.map +1 -1
  115. package/dist/modules/agents/builder/prompts/config-mutation.prompt.js +20 -5
  116. package/dist/modules/agents/builder/prompts/config-mutation.prompt.js.map +1 -1
  117. package/dist/modules/agents/builder/prompts/config-rules.prompt.js +23 -4
  118. package/dist/modules/agents/builder/prompts/config-rules.prompt.js.map +1 -1
  119. package/dist/modules/agents/builder/prompts/llm-selection.prompt.js +18 -1
  120. package/dist/modules/agents/builder/prompts/llm-selection.prompt.js.map +1 -1
  121. package/dist/modules/agents/builder/prompts/memory.prompt.d.ts +1 -1
  122. package/dist/modules/agents/builder/prompts/memory.prompt.js +5 -3
  123. package/dist/modules/agents/builder/prompts/memory.prompt.js.map +1 -1
  124. package/dist/modules/agents/builder/prompts/tools.prompt.d.ts +1 -1
  125. package/dist/modules/agents/builder/prompts/tools.prompt.js +11 -2
  126. package/dist/modules/agents/builder/prompts/tools.prompt.js.map +1 -1
  127. package/dist/modules/agents/builder/search-mcp-servers.tool.d.ts +6 -0
  128. package/dist/modules/agents/builder/search-mcp-servers.tool.js +85 -0
  129. package/dist/modules/agents/builder/search-mcp-servers.tool.js.map +1 -0
  130. package/dist/modules/agents/builder/skill-body-template.d.ts +4 -0
  131. package/dist/modules/agents/builder/skill-body-template.js +31 -0
  132. package/dist/modules/agents/builder/skill-body-template.js.map +1 -0
  133. package/dist/modules/agents/builder/skills/index.js +6 -1
  134. package/dist/modules/agents/builder/skills/index.js.map +1 -1
  135. package/dist/modules/agents/builder/skills/integrations.skill.js +39 -18
  136. package/dist/modules/agents/builder/skills/integrations.skill.js.map +1 -1
  137. package/dist/modules/agents/builder/skills/mcp.skill.d.ts +2 -0
  138. package/dist/modules/agents/builder/skills/mcp.skill.js +110 -0
  139. package/dist/modules/agents/builder/skills/mcp.skill.js.map +1 -0
  140. package/dist/modules/agents/builder/skills/research.skill.js +8 -5
  141. package/dist/modules/agents/builder/skills/research.skill.js.map +1 -1
  142. package/dist/modules/agents/builder/skills/target-skills.skill.js +41 -13
  143. package/dist/modules/agents/builder/skills/target-skills.skill.js.map +1 -1
  144. package/dist/modules/agents/builder/skills/target-tasks.skill.d.ts +2 -0
  145. package/dist/modules/agents/builder/skills/target-tasks.skill.js +82 -0
  146. package/dist/modules/agents/builder/skills/target-tasks.skill.js.map +1 -0
  147. package/dist/modules/agents/builder/task-objective-template.d.ts +3 -0
  148. package/dist/modules/agents/builder/task-objective-template.js +27 -0
  149. package/dist/modules/agents/builder/task-objective-template.js.map +1 -0
  150. package/dist/modules/agents/builder/verify-mcp-server.tool.d.ts +8 -0
  151. package/dist/modules/agents/builder/verify-mcp-server.tool.js +79 -0
  152. package/dist/modules/agents/builder/verify-mcp-server.tool.js.map +1 -0
  153. package/dist/modules/agents/entities/agent-execution-thread.entity.d.ts +4 -0
  154. package/dist/modules/agents/entities/agent-execution-thread.entity.js +26 -0
  155. package/dist/modules/agents/entities/agent-execution-thread.entity.js.map +1 -1
  156. package/dist/modules/agents/entities/agent-file.entity.d.ts +11 -0
  157. package/dist/modules/agents/entities/agent-file.entity.js +48 -0
  158. package/dist/modules/agents/entities/agent-file.entity.js.map +1 -0
  159. package/dist/modules/agents/entities/agent-task-run-lock.entity.d.ts +10 -0
  160. package/dist/modules/agents/entities/agent-task-run-lock.entity.js +54 -0
  161. package/dist/modules/agents/entities/agent-task-run-lock.entity.js.map +1 -0
  162. package/dist/modules/agents/entities/agent-task-snapshot.entity.d.ts +12 -0
  163. package/dist/modules/agents/entities/agent-task-snapshot.entity.js +70 -0
  164. package/dist/modules/agents/entities/agent-task-snapshot.entity.js.map +1 -0
  165. package/dist/modules/agents/entities/agent-task.entity.d.ts +11 -0
  166. package/dist/modules/agents/entities/agent-task.entity.js +64 -0
  167. package/dist/modules/agents/entities/agent-task.entity.js.map +1 -0
  168. package/dist/modules/agents/execution-recorder.d.ts +1 -0
  169. package/dist/modules/agents/execution-recorder.js +9 -5
  170. package/dist/modules/agents/execution-recorder.js.map +1 -1
  171. package/dist/modules/agents/integrations/agent-chat-bridge.d.ts +16 -4
  172. package/dist/modules/agents/integrations/agent-chat-bridge.js +372 -116
  173. package/dist/modules/agents/integrations/agent-chat-bridge.js.map +1 -1
  174. package/dist/modules/agents/integrations/agent-chat-integration.d.ts +27 -2
  175. package/dist/modules/agents/integrations/agent-chat-integration.js +5 -0
  176. package/dist/modules/agents/integrations/agent-chat-integration.js.map +1 -1
  177. package/dist/modules/agents/integrations/chat-integration.service.d.ts +15 -6
  178. package/dist/modules/agents/integrations/chat-integration.service.js +9 -10
  179. package/dist/modules/agents/integrations/chat-integration.service.js.map +1 -1
  180. package/dist/modules/agents/integrations/component-mapper.d.ts +14 -0
  181. package/dist/modules/agents/integrations/component-mapper.js +9 -1
  182. package/dist/modules/agents/integrations/component-mapper.js.map +1 -1
  183. package/dist/modules/agents/integrations/integration-action-executor.d.ts +22 -0
  184. package/dist/modules/agents/integrations/integration-action-executor.js +171 -0
  185. package/dist/modules/agents/integrations/integration-action-executor.js.map +1 -0
  186. package/dist/modules/agents/integrations/integration-context-query-executor.d.ts +18 -0
  187. package/dist/modules/agents/integrations/integration-context-query-executor.js +58 -0
  188. package/dist/modules/agents/integrations/integration-context-query-executor.js.map +1 -0
  189. package/dist/modules/agents/integrations/integration-error-codes.d.ts +13 -0
  190. package/dist/modules/agents/integrations/integration-error-codes.js +16 -0
  191. package/dist/modules/agents/integrations/integration-error-codes.js.map +1 -0
  192. package/dist/modules/agents/integrations/integration-helpers.d.ts +21 -0
  193. package/dist/modules/agents/integrations/integration-helpers.js +72 -0
  194. package/dist/modules/agents/integrations/integration-helpers.js.map +1 -0
  195. package/dist/modules/agents/integrations/integration-message-context.service.d.ts +13 -0
  196. package/dist/modules/agents/integrations/integration-message-context.service.js +129 -0
  197. package/dist/modules/agents/integrations/integration-message-context.service.js.map +1 -0
  198. package/dist/modules/agents/integrations/integration-tools.d.ts +205 -0
  199. package/dist/modules/agents/integrations/integration-tools.js +955 -0
  200. package/dist/modules/agents/integrations/integration-tools.js.map +1 -0
  201. package/dist/modules/agents/integrations/integrations-sync.d.ts +1 -1
  202. package/dist/modules/agents/integrations/integrations-sync.js +1 -29
  203. package/dist/modules/agents/integrations/integrations-sync.js.map +1 -1
  204. package/dist/modules/agents/integrations/n8n-memory.d.ts +2 -0
  205. package/dist/modules/agents/integrations/n8n-memory.js +18 -11
  206. package/dist/modules/agents/integrations/n8n-memory.js.map +1 -1
  207. package/dist/modules/agents/integrations/platforms/linear-integration.d.ts +13 -2
  208. package/dist/modules/agents/integrations/platforms/linear-integration.js +70 -15
  209. package/dist/modules/agents/integrations/platforms/linear-integration.js.map +1 -1
  210. package/dist/modules/agents/integrations/platforms/linear-operations.d.ts +18 -0
  211. package/dist/modules/agents/integrations/platforms/linear-operations.js +679 -0
  212. package/dist/modules/agents/integrations/platforms/linear-operations.js.map +1 -0
  213. package/dist/modules/agents/integrations/platforms/slack-integration.d.ts +11 -1
  214. package/dist/modules/agents/integrations/platforms/slack-integration.js +53 -1
  215. package/dist/modules/agents/integrations/platforms/slack-integration.js.map +1 -1
  216. package/dist/modules/agents/integrations/platforms/slack-operations.d.ts +17 -0
  217. package/dist/modules/agents/integrations/platforms/slack-operations.js +288 -0
  218. package/dist/modules/agents/integrations/platforms/slack-operations.js.map +1 -0
  219. package/dist/modules/agents/integrations/platforms/telegram-integration.d.ts +9 -2
  220. package/dist/modules/agents/integrations/platforms/telegram-integration.js +17 -0
  221. package/dist/modules/agents/integrations/platforms/telegram-integration.js.map +1 -1
  222. package/dist/modules/agents/integrations/slack-app-setup.service.js +7 -1
  223. package/dist/modules/agents/integrations/slack-app-setup.service.js.map +1 -1
  224. package/dist/modules/agents/json-config/from-json-config.d.ts +4 -2
  225. package/dist/modules/agents/json-config/from-json-config.js +88 -11
  226. package/dist/modules/agents/json-config/from-json-config.js.map +1 -1
  227. package/dist/modules/agents/json-config/mcp-client-factory.d.ts +16 -0
  228. package/dist/modules/agents/json-config/mcp-client-factory.js +155 -0
  229. package/dist/modules/agents/json-config/mcp-client-factory.js.map +1 -0
  230. package/dist/modules/agents/json-config/native-web-search-provider-tools.d.ts +8 -0
  231. package/dist/modules/agents/json-config/native-web-search-provider-tools.js +59 -0
  232. package/dist/modules/agents/json-config/native-web-search-provider-tools.js.map +1 -0
  233. package/dist/modules/agents/json-config/schema-text-serializer.js +12 -2
  234. package/dist/modules/agents/json-config/schema-text-serializer.js.map +1 -1
  235. package/dist/modules/agents/repositories/agent-execution-thread.repository.d.ts +1 -1
  236. package/dist/modules/agents/repositories/agent-execution-thread.repository.js +5 -3
  237. package/dist/modules/agents/repositories/agent-execution-thread.repository.js.map +1 -1
  238. package/dist/modules/agents/repositories/agent-file.repository.d.ts +7 -0
  239. package/dist/modules/agents/repositories/agent-file.repository.js +35 -0
  240. package/dist/modules/agents/repositories/agent-file.repository.js.map +1 -0
  241. package/dist/modules/agents/repositories/agent-history.repository.d.ts +2 -0
  242. package/dist/modules/agents/repositories/agent-history.repository.js +18 -0
  243. package/dist/modules/agents/repositories/agent-history.repository.js.map +1 -1
  244. package/dist/modules/agents/repositories/agent-task-run-lock.repository.d.ts +12 -0
  245. package/dist/modules/agents/repositories/agent-task-run-lock.repository.js +72 -0
  246. package/dist/modules/agents/repositories/agent-task-run-lock.repository.js.map +1 -0
  247. package/dist/modules/agents/repositories/agent-task-snapshot.repository.d.ts +11 -0
  248. package/dist/modules/agents/repositories/agent-task-snapshot.repository.js +45 -0
  249. package/dist/modules/agents/repositories/agent-task-snapshot.repository.js.map +1 -0
  250. package/dist/modules/agents/repositories/agent-task.repository.d.ts +7 -0
  251. package/dist/modules/agents/repositories/agent-task.repository.js +32 -0
  252. package/dist/modules/agents/repositories/agent-task.repository.js.map +1 -0
  253. package/dist/modules/agents/repositories/agent.repository.js +1 -2
  254. package/dist/modules/agents/repositories/agent.repository.js.map +1 -1
  255. package/dist/modules/agents/tools/knowledge/csv-helpers.d.ts +73 -0
  256. package/dist/modules/agents/tools/knowledge/csv-helpers.js +341 -0
  257. package/dist/modules/agents/tools/knowledge/csv-helpers.js.map +1 -0
  258. package/dist/modules/agents/tools/knowledge/csv.operation.d.ts +61 -0
  259. package/dist/modules/agents/tools/knowledge/csv.operation.js +207 -0
  260. package/dist/modules/agents/tools/knowledge/csv.operation.js.map +1 -0
  261. package/dist/modules/agents/tools/knowledge/file-references.d.ts +16 -0
  262. package/dist/modules/agents/tools/knowledge/file-references.js +35 -0
  263. package/dist/modules/agents/tools/knowledge/file-references.js.map +1 -0
  264. package/dist/modules/agents/tools/knowledge/read.operation.d.ts +8 -0
  265. package/dist/modules/agents/tools/knowledge/read.operation.js +38 -0
  266. package/dist/modules/agents/tools/knowledge/read.operation.js.map +1 -0
  267. package/dist/modules/agents/tools/knowledge/schemas.d.ts +1505 -0
  268. package/dist/modules/agents/tools/knowledge/schemas.js +441 -0
  269. package/dist/modules/agents/tools/knowledge/schemas.js.map +1 -0
  270. package/dist/modules/agents/tools/knowledge/search.operation.d.ts +9 -0
  271. package/dist/modules/agents/tools/knowledge/search.operation.js +332 -0
  272. package/dist/modules/agents/tools/knowledge/search.operation.js.map +1 -0
  273. package/dist/modules/agents/tools/knowledge/tool.d.ts +8 -0
  274. package/dist/modules/agents/tools/knowledge/tool.js +121 -0
  275. package/dist/modules/agents/tools/knowledge/tool.js.map +1 -0
  276. package/dist/modules/agents/utils/agent-memory-scope.d.ts +1 -1
  277. package/dist/modules/agents/utils/agent-memory-scope.js +4 -4
  278. package/dist/modules/agents/utils/agent-memory-scope.js.map +1 -1
  279. package/dist/modules/agents/utils/agent-resource-id.d.ts +1 -1
  280. package/dist/modules/chat-hub/chat-hub.module.d.ts +2 -2
  281. package/dist/modules/chat-hub/chat-hub.settings.controller.d.ts +4 -4
  282. package/dist/modules/chat-hub/chat-hub.types.d.ts +5 -5
  283. package/dist/modules/chat-hub/dto/chat-models-request.dto.d.ts +1 -1
  284. package/dist/modules/dynamic-credentials.ee/constants.d.ts +1 -1
  285. package/dist/modules/dynamic-credentials.ee/constants.js +2 -1
  286. package/dist/modules/dynamic-credentials.ee/constants.js.map +1 -1
  287. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.d.ts +9 -2
  288. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.js +45 -14
  289. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.js.map +1 -1
  290. package/dist/modules/dynamic-credentials.ee/services/credential-connection-status.service.d.ts +4 -0
  291. package/dist/modules/dynamic-credentials.ee/services/credential-connection-status.service.js +16 -0
  292. package/dist/modules/dynamic-credentials.ee/services/credential-connection-status.service.js.map +1 -1
  293. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential.service.js +6 -2
  294. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential.service.js.map +1 -1
  295. package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.d.ts +1 -0
  296. package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.js +21 -2
  297. package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.js.map +1 -1
  298. package/dist/modules/instance-ai/eval/execution.service.d.ts +4 -1
  299. package/dist/modules/instance-ai/eval/execution.service.js +118 -24
  300. package/dist/modules/instance-ai/eval/execution.service.js.map +1 -1
  301. package/dist/modules/instance-ai/eval/llm-wire-server.d.ts +8 -3
  302. package/dist/modules/instance-ai/eval/llm-wire-server.js +147 -50
  303. package/dist/modules/instance-ai/eval/llm-wire-server.js.map +1 -1
  304. package/dist/modules/instance-ai/eval/mock-handler.js +45 -8
  305. package/dist/modules/instance-ai/eval/mock-handler.js.map +1 -1
  306. package/dist/modules/instance-ai/eval/mock-quirks.d.ts +4 -2
  307. package/dist/modules/instance-ai/eval/mock-quirks.js +83 -4
  308. package/dist/modules/instance-ai/eval/mock-quirks.js.map +1 -1
  309. package/dist/modules/instance-ai/eval/openai-envelope.d.ts +8 -0
  310. package/dist/modules/instance-ai/eval/openai-envelope.js +121 -8
  311. package/dist/modules/instance-ai/eval/openai-envelope.js.map +1 -1
  312. package/dist/modules/instance-ai/eval/openai-responses-envelope.d.ts +11 -0
  313. package/dist/modules/instance-ai/eval/openai-responses-envelope.js +238 -0
  314. package/dist/modules/instance-ai/eval/openai-responses-envelope.js.map +1 -0
  315. package/dist/modules/instance-ai/eval/request-binary-redactor.d.ts +1 -0
  316. package/dist/modules/instance-ai/eval/request-binary-redactor.js +74 -0
  317. package/dist/modules/instance-ai/eval/request-binary-redactor.js.map +1 -0
  318. package/dist/modules/instance-ai/eval/workflow-analysis.d.ts +19 -1
  319. package/dist/modules/instance-ai/eval/workflow-analysis.js +159 -76
  320. package/dist/modules/instance-ai/eval/workflow-analysis.js.map +1 -1
  321. package/dist/modules/instance-ai/extract-resolved-node-parameters.d.ts +7 -0
  322. package/dist/modules/instance-ai/extract-resolved-node-parameters.js +221 -0
  323. package/dist/modules/instance-ai/extract-resolved-node-parameters.js.map +1 -0
  324. package/dist/modules/instance-ai/instance-ai-memory.service.d.ts +7 -1
  325. package/dist/modules/instance-ai/instance-ai-memory.service.js +80 -3
  326. package/dist/modules/instance-ai/instance-ai-memory.service.js.map +1 -1
  327. package/dist/modules/instance-ai/instance-ai-settings.service.js +1 -16
  328. package/dist/modules/instance-ai/instance-ai-settings.service.js.map +1 -1
  329. package/dist/modules/instance-ai/instance-ai.adapter.service.d.ts +1 -1
  330. package/dist/modules/instance-ai/instance-ai.adapter.service.js +67 -7
  331. package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -1
  332. package/dist/modules/instance-ai/instance-ai.module.d.ts +1 -1
  333. package/dist/modules/instance-ai/instance-ai.service.d.ts +24 -1
  334. package/dist/modules/instance-ai/instance-ai.service.js +400 -26
  335. package/dist/modules/instance-ai/instance-ai.service.js.map +1 -1
  336. package/dist/modules/instance-ai/liveness/instance-ai-liveness.service.d.ts +1 -0
  337. package/dist/modules/instance-ai/liveness/instance-ai-liveness.service.js +1 -0
  338. package/dist/modules/instance-ai/liveness/instance-ai-liveness.service.js.map +1 -1
  339. package/dist/modules/instance-ai/message-parser.d.ts +2 -0
  340. package/dist/modules/instance-ai/message-parser.js +165 -36
  341. package/dist/modules/instance-ai/message-parser.js.map +1 -1
  342. package/dist/modules/instance-ai/repositories/instance-ai-checkpoint.repository.d.ts +2 -0
  343. package/dist/modules/instance-ai/repositories/instance-ai-checkpoint.repository.js +13 -0
  344. package/dist/modules/instance-ai/repositories/instance-ai-checkpoint.repository.js.map +1 -1
  345. package/dist/modules/instance-ai/repositories/instance-ai-pending-confirmation.repository.d.ts +12 -0
  346. package/dist/modules/instance-ai/repositories/instance-ai-pending-confirmation.repository.js +80 -0
  347. package/dist/modules/instance-ai/repositories/instance-ai-pending-confirmation.repository.js.map +1 -0
  348. package/dist/modules/instance-ai/storage/db-snapshot-storage.d.ts +1 -0
  349. package/dist/modules/instance-ai/storage/db-snapshot-storage.js +23 -0
  350. package/dist/modules/instance-ai/storage/db-snapshot-storage.js.map +1 -1
  351. package/dist/modules/instance-ai/storage/typeorm-agent-checkpoint-store.d.ts +10 -4
  352. package/dist/modules/instance-ai/storage/typeorm-agent-checkpoint-store.js +49 -37
  353. package/dist/modules/instance-ai/storage/typeorm-agent-checkpoint-store.js.map +1 -1
  354. package/dist/modules/instance-ai/web-research/index.d.ts +0 -2
  355. package/dist/modules/instance-ai/web-research/index.js +1 -5
  356. package/dist/modules/instance-ai/web-research/index.js.map +1 -1
  357. package/dist/modules/ldap.ee/helpers.ee.js +6 -2
  358. package/dist/modules/ldap.ee/helpers.ee.js.map +1 -1
  359. package/dist/modules/mcp/mcp.controller.js +13 -6
  360. package/dist/modules/mcp/mcp.controller.js.map +1 -1
  361. package/dist/modules/mcp/mcp.service.d.ts +10 -2
  362. package/dist/modules/mcp/mcp.service.js +39 -6
  363. package/dist/modules/mcp/mcp.service.js.map +1 -1
  364. package/dist/modules/mcp/mcp.settings.controller.d.ts +2 -0
  365. package/dist/modules/mcp/mcp.settings.service.d.ts +2 -0
  366. package/dist/modules/mcp/mcp.settings.service.js +6 -5
  367. package/dist/modules/mcp/mcp.settings.service.js.map +1 -1
  368. package/dist/modules/mcp/mcp.types.d.ts +6 -0
  369. package/dist/modules/mcp/mcp.types.js +9 -0
  370. package/dist/modules/mcp/mcp.types.js.map +1 -1
  371. package/dist/modules/mcp/tools/execute-workflow.tool.d.ts +6 -6
  372. package/dist/modules/mcp/tools/search-workflows.tool.d.ts +2 -1
  373. package/dist/modules/mcp/tools/search-workflows.tool.js +12 -4
  374. package/dist/modules/mcp/tools/search-workflows.tool.js.map +1 -1
  375. package/dist/modules/mcp/tools/workflow-builder/constants.d.ts +1 -1
  376. package/dist/modules/mcp/tools/workflow-builder/constants.js +2 -1
  377. package/dist/modules/mcp/tools/workflow-builder/constants.js.map +1 -1
  378. package/dist/modules/mcp/tools/workflow-builder/mcp-instructions.js +6 -4
  379. package/dist/modules/mcp/tools/workflow-builder/mcp-instructions.js.map +1 -1
  380. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.d.ts +67 -6
  381. package/dist/modules/mcp/tools/workflow-builder/validate-node.tool.d.ts +30 -0
  382. package/dist/modules/mcp/tools/workflow-builder/validate-node.tool.js +161 -0
  383. package/dist/modules/mcp/tools/workflow-builder/validate-node.tool.js.map +1 -0
  384. package/dist/modules/mcp/tools/workflow-builder/workflow-operations.d.ts +67 -6
  385. package/dist/modules/mcp/tools/workflow-builder/workflow-operations.js +51 -0
  386. package/dist/modules/mcp/tools/workflow-builder/workflow-operations.js.map +1 -1
  387. package/dist/modules/mcp-registry/registry/mcp-registry.types.js.map +1 -1
  388. package/dist/modules/mcp-registry/synthesize-type-def.d.ts +2 -0
  389. package/dist/modules/mcp-registry/synthesize-type-def.js +35 -0
  390. package/dist/modules/mcp-registry/synthesize-type-def.js.map +1 -0
  391. package/dist/modules/n8n-packages/engine/import-pipeline.d.ts +24 -0
  392. package/dist/modules/n8n-packages/engine/import-pipeline.js +206 -0
  393. package/dist/modules/n8n-packages/engine/import-pipeline.js.map +1 -0
  394. package/dist/modules/n8n-packages/entities/credential/credential-requirements.extractor.d.ts +6 -0
  395. package/dist/modules/n8n-packages/entities/credential/credential-requirements.extractor.js +33 -0
  396. package/dist/modules/n8n-packages/entities/credential/credential-requirements.extractor.js.map +1 -0
  397. package/dist/modules/n8n-packages/entities/credential/credential.exporter.d.ts +23 -0
  398. package/dist/modules/n8n-packages/entities/credential/credential.exporter.js +68 -0
  399. package/dist/modules/n8n-packages/entities/credential/credential.exporter.js.map +1 -0
  400. package/dist/modules/n8n-packages/entities/credential/credential.serializer.d.ts +5 -0
  401. package/dist/modules/n8n-packages/entities/credential/credential.serializer.js +25 -0
  402. package/dist/modules/n8n-packages/entities/credential/credential.serializer.js.map +1 -0
  403. package/dist/modules/n8n-packages/entities/credential/credential.types.d.ts +6 -0
  404. package/dist/modules/n8n-packages/entities/credential/credential.types.js +3 -0
  405. package/dist/modules/n8n-packages/entities/credential/credential.types.js.map +1 -0
  406. package/dist/modules/n8n-packages/entities/requirements-extractor.d.ts +4 -0
  407. package/dist/modules/n8n-packages/entities/requirements-extractor.js +3 -0
  408. package/dist/modules/n8n-packages/entities/requirements-extractor.js.map +1 -0
  409. package/dist/modules/n8n-packages/entities/workflow/workflow.exporter.d.ts +12 -3
  410. package/dist/modules/n8n-packages/entities/workflow/workflow.exporter.js +11 -20
  411. package/dist/modules/n8n-packages/entities/workflow/workflow.exporter.js.map +1 -1
  412. package/dist/modules/n8n-packages/entities/workflow/workflow.serializer.d.ts +3 -0
  413. package/dist/modules/n8n-packages/entities/workflow/workflow.serializer.js +10 -0
  414. package/dist/modules/n8n-packages/entities/workflow/workflow.serializer.js.map +1 -1
  415. package/dist/modules/n8n-packages/io/package-reader.d.ts +6 -0
  416. package/dist/modules/n8n-packages/io/package-reader.js +3 -0
  417. package/dist/modules/n8n-packages/io/package-reader.js.map +1 -0
  418. package/dist/modules/n8n-packages/io/slug.utils.d.ts +1 -1
  419. package/dist/modules/n8n-packages/io/slug.utils.js +3 -3
  420. package/dist/modules/n8n-packages/io/slug.utils.js.map +1 -1
  421. package/dist/modules/n8n-packages/io/tar/tar-package-reader.d.ts +13 -0
  422. package/dist/modules/n8n-packages/io/tar/tar-package-reader.js +84 -0
  423. package/dist/modules/n8n-packages/io/tar/tar-package-reader.js.map +1 -0
  424. package/dist/modules/n8n-packages/io/unique-filename-allocator.d.ts +7 -0
  425. package/dist/modules/n8n-packages/io/unique-filename-allocator.js +27 -0
  426. package/dist/modules/n8n-packages/io/unique-filename-allocator.js.map +1 -0
  427. package/dist/modules/n8n-packages/n8n-packages.service.d.ts +7 -2
  428. package/dist/modules/n8n-packages/n8n-packages.service.js +21 -3
  429. package/dist/modules/n8n-packages/n8n-packages.service.js.map +1 -1
  430. package/dist/modules/n8n-packages/n8n-packages.types.d.ts +22 -0
  431. package/dist/modules/n8n-packages/spec/manifest.schema.d.ts +121 -4
  432. package/dist/modules/n8n-packages/spec/manifest.schema.js +22 -3
  433. package/dist/modules/n8n-packages/spec/manifest.schema.js.map +1 -1
  434. package/dist/modules/n8n-packages/spec/requirements.schema.d.ts +51 -0
  435. package/dist/modules/n8n-packages/spec/requirements.schema.js +14 -0
  436. package/dist/modules/n8n-packages/spec/requirements.schema.js.map +1 -0
  437. package/dist/modules/n8n-packages/spec/serialized/credential.schema.d.ts +15 -0
  438. package/dist/modules/n8n-packages/spec/serialized/credential.schema.js +12 -0
  439. package/dist/modules/n8n-packages/spec/serialized/credential.schema.js.map +1 -0
  440. package/dist/modules/n8n-packages/spec/serialized/workflow.schema.d.ts +4 -4
  441. package/dist/modules/n8n-packages/utils/import-package-upload.d.ts +13 -0
  442. package/dist/modules/n8n-packages/utils/import-package-upload.js +59 -0
  443. package/dist/modules/n8n-packages/utils/import-package-upload.js.map +1 -0
  444. package/dist/modules/otel/execution-level-tracer.js +15 -6
  445. package/dist/modules/otel/execution-level-tracer.js.map +1 -1
  446. package/dist/modules/otel/execution-level-tracer.types.d.ts +3 -0
  447. package/dist/modules/otel/execution-level-tracer.types.js.map +1 -1
  448. package/dist/modules/otel/otel-lifecycle-handler.d.ts +4 -2
  449. package/dist/modules/otel/otel-lifecycle-handler.js +69 -4
  450. package/dist/modules/otel/otel-lifecycle-handler.js.map +1 -1
  451. package/dist/modules/otel/otel.config.d.ts +1 -0
  452. package/dist/modules/otel/otel.config.js +5 -0
  453. package/dist/modules/otel/otel.config.js.map +1 -1
  454. package/dist/modules/otel/otel.constants.d.ts +2 -0
  455. package/dist/modules/otel/otel.constants.js +2 -0
  456. package/dist/modules/otel/otel.constants.js.map +1 -1
  457. package/dist/modules/redaction/instance-redaction-enforcement.service.d.ts +4 -0
  458. package/dist/modules/redaction/instance-redaction-enforcement.service.js +8 -0
  459. package/dist/modules/redaction/instance-redaction-enforcement.service.js.map +1 -1
  460. package/dist/modules/redaction/redaction-context-hook.d.ts +9 -0
  461. package/dist/modules/redaction/redaction-context-hook.js +57 -0
  462. package/dist/modules/redaction/redaction-context-hook.js.map +1 -0
  463. package/dist/modules/redaction/redaction.module.js +1 -0
  464. package/dist/modules/redaction/redaction.module.js.map +1 -1
  465. package/dist/modules/source-control.ee/constants.d.ts +1 -0
  466. package/dist/modules/source-control.ee/constants.js +2 -1
  467. package/dist/modules/source-control.ee/constants.js.map +1 -1
  468. package/dist/modules/source-control.ee/source-control-status.service.ee.js +5 -0
  469. package/dist/modules/source-control.ee/source-control-status.service.ee.js.map +1 -1
  470. package/dist/modules/source-control.ee/source-control.controller.ee.d.ts +4 -2
  471. package/dist/modules/source-control.ee/source-control.controller.ee.js +32 -5
  472. package/dist/modules/source-control.ee/source-control.controller.ee.js.map +1 -1
  473. package/dist/modules/source-control.ee/source-control.service.ee.js +2 -0
  474. package/dist/modules/source-control.ee/source-control.service.ee.js.map +1 -1
  475. package/dist/modules/workflow-builder/workflow-builder-session.repository.js +2 -1
  476. package/dist/modules/workflow-builder/workflow-builder-session.repository.js.map +1 -1
  477. package/dist/node-catalog/node-catalog.service.d.ts +2 -0
  478. package/dist/node-catalog/node-catalog.service.js +38 -2
  479. package/dist/node-catalog/node-catalog.service.js.map +1 -1
  480. package/dist/oauth/oauth-browser-binding.service.d.ts +18 -0
  481. package/dist/oauth/oauth-browser-binding.service.js +68 -0
  482. package/dist/oauth/oauth-browser-binding.service.js.map +1 -0
  483. package/dist/oauth/oauth.service.d.ts +10 -4
  484. package/dist/oauth/oauth.service.js +87 -4
  485. package/dist/oauth/oauth.service.js.map +1 -1
  486. package/dist/oauth/types.d.ts +1 -0
  487. package/dist/oauth/types.js.map +1 -1
  488. package/dist/public-api/index.js +5 -1
  489. package/dist/public-api/index.js.map +1 -1
  490. package/dist/public-api/types.d.ts +6 -0
  491. package/dist/public-api/v1/handlers/credentials/credentials.service.js +1 -0
  492. package/dist/public-api/v1/handlers/credentials/credentials.service.js.map +1 -1
  493. package/dist/public-api/v1/handlers/n8n-packages/n8n-packages.handler.d.ts +5 -0
  494. package/dist/public-api/v1/handlers/n8n-packages/n8n-packages.handler.js +22 -0
  495. package/dist/public-api/v1/handlers/n8n-packages/n8n-packages.handler.js.map +1 -1
  496. package/dist/public-api/v1/openapi.yml +207 -59
  497. package/dist/requests.d.ts +4 -0
  498. package/dist/scaling/constants.d.ts +2 -2
  499. package/dist/scaling/pubsub/pubsub.event-map.d.ts +5 -2
  500. package/dist/scaling/pubsub/pubsub.types.d.ts +2 -1
  501. package/dist/services/ai-workflow-builder.service.d.ts +6 -3
  502. package/dist/services/ai-workflow-builder.service.js +13 -5
  503. package/dist/services/ai-workflow-builder.service.js.map +1 -1
  504. package/dist/services/api-key-auth.strategy.d.ts +4 -1
  505. package/dist/services/api-key-auth.strategy.js +18 -2
  506. package/dist/services/api-key-auth.strategy.js.map +1 -1
  507. package/dist/services/ownership.service.d.ts +1 -0
  508. package/dist/services/ownership.service.js +7 -0
  509. package/dist/services/ownership.service.js.map +1 -1
  510. package/dist/services/project.service.ee.d.ts +6 -2
  511. package/dist/services/project.service.ee.js +30 -8
  512. package/dist/services/project.service.ee.js.map +1 -1
  513. package/dist/services/public-api-key.service.d.ts +21 -14
  514. package/dist/services/public-api-key.service.js +14 -9
  515. package/dist/services/public-api-key.service.js.map +1 -1
  516. package/dist/telemetry/index.d.ts +6 -9
  517. package/dist/telemetry/index.js +23 -9
  518. package/dist/telemetry/index.js.map +1 -1
  519. package/dist/webhooks/constants.js +5 -1
  520. package/dist/webhooks/constants.js.map +1 -1
  521. package/dist/webhooks/live-webhooks.d.ts +8 -1
  522. package/dist/webhooks/live-webhooks.js +37 -22
  523. package/dist/webhooks/live-webhooks.js.map +1 -1
  524. package/dist/webhooks/waiting-forms.js +8 -1
  525. package/dist/webhooks/waiting-forms.js.map +1 -1
  526. package/dist/webhooks/webhook-helpers.d.ts +1 -1
  527. package/dist/webhooks/webhook-helpers.js +20 -10
  528. package/dist/webhooks/webhook-helpers.js.map +1 -1
  529. package/dist/webhooks/webhook-request-handler.js +1 -1
  530. package/dist/webhooks/webhook-request-handler.js.map +1 -1
  531. package/dist/workflow-helpers.d.ts +6 -1
  532. package/dist/workflow-helpers.js +9 -1
  533. package/dist/workflow-helpers.js.map +1 -1
  534. package/dist/workflows/workflow-creation.service.d.ts +4 -1
  535. package/dist/workflows/workflow-creation.service.js +12 -3
  536. package/dist/workflows/workflow-creation.service.js.map +1 -1
  537. package/dist/workflows/workflow-execution.service.js +2 -0
  538. package/dist/workflows/workflow-execution.service.js.map +1 -1
  539. package/dist/workflows/workflow-finder.service.d.ts +1 -0
  540. package/dist/workflows/workflow-published-data.service.d.ts +11 -0
  541. package/dist/workflows/workflow-published-data.service.js +39 -0
  542. package/dist/workflows/workflow-published-data.service.js.map +1 -0
  543. package/dist/workflows/workflow-validation.service.d.ts +5 -1
  544. package/dist/workflows/workflow-validation.service.js +55 -2
  545. package/dist/workflows/workflow-validation.service.js.map +1 -1
  546. package/dist/workflows/workflow.service.js +4 -0
  547. package/dist/workflows/workflow.service.js.map +1 -1
  548. package/dist/workflows/workflows.controller.d.ts +8 -0
  549. package/package.json +45 -37
  550. package/templates/form-trigger-completion.handlebars +12 -1
  551. package/dist/modules/agents/integrations/agent-schedule.service.d.ts +0 -30
  552. package/dist/modules/agents/integrations/agent-schedule.service.js +0 -331
  553. package/dist/modules/agents/integrations/agent-schedule.service.js.map +0 -1
  554. package/dist/modules/instance-ai/web-research/brave-search.d.ts +0 -10
  555. package/dist/modules/instance-ai/web-research/brave-search.js +0 -44
  556. package/dist/modules/instance-ai/web-research/brave-search.js.map +0 -1
  557. package/dist/modules/instance-ai/web-research/searxng-search.d.ts +0 -6
  558. package/dist/modules/instance-ai/web-research/searxng-search.js +0 -39
  559. package/dist/modules/instance-ai/web-research/searxng-search.js.map +0 -1
@@ -0,0 +1,487 @@
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.AgentTaskService = void 0;
13
+ const backend_common_1 = require("@n8n/backend-common");
14
+ const config_1 = require("@n8n/config");
15
+ const db_1 = require("@n8n/db");
16
+ const decorators_1 = require("@n8n/decorators");
17
+ const di_1 = require("@n8n/di");
18
+ const typeorm_1 = require("@n8n/typeorm");
19
+ const cron_1 = require("cron");
20
+ const crypto_1 = require("crypto");
21
+ const luxon_1 = require("luxon");
22
+ const n8n_core_1 = require("n8n-core");
23
+ const bad_request_error_1 = require("../../errors/response-errors/bad-request.error");
24
+ const not_found_error_1 = require("../../errors/response-errors/not-found.error");
25
+ const publisher_service_1 = require("../../scaling/pubsub/publisher.service");
26
+ const agents_service_1 = require("./agents.service");
27
+ const cron_validation_1 = require("./integrations/cron-validation");
28
+ const agent_repository_1 = require("./repositories/agent.repository");
29
+ const agent_task_run_lock_repository_1 = require("./repositories/agent-task-run-lock.repository");
30
+ const agent_task_snapshot_repository_1 = require("./repositories/agent-task-snapshot.repository");
31
+ const agent_task_repository_1 = require("./repositories/agent-task.repository");
32
+ const agent_draft_utils_1 = require("./utils/agent-draft.utils");
33
+ const agent_memory_scope_1 = require("./utils/agent-memory-scope");
34
+ const agent_resource_id_1 = require("./utils/agent-resource-id");
35
+ const TASK_RUN_LOCK_TTL_MS = 5 * 60 * 1000;
36
+ const TASK_RUN_LOCK_RENEW_MS = 60 * 1000;
37
+ let AgentTaskService = class AgentTaskService {
38
+ constructor(logger, globalConfig, taskRepository, taskSnapshotRepository, taskRunLockRepository, agentRepository, projectRelationRepository, agentsService, instanceSettings, publisher) {
39
+ this.logger = logger;
40
+ this.globalConfig = globalConfig;
41
+ this.taskRepository = taskRepository;
42
+ this.taskSnapshotRepository = taskSnapshotRepository;
43
+ this.taskRunLockRepository = taskRunLockRepository;
44
+ this.agentRepository = agentRepository;
45
+ this.projectRelationRepository = projectRelationRepository;
46
+ this.agentsService = agentsService;
47
+ this.instanceSettings = instanceSettings;
48
+ this.publisher = publisher;
49
+ this.jobs = new Map();
50
+ }
51
+ async list(agentId) {
52
+ const tasks = await this.taskRepository.findByAgentId(agentId);
53
+ return tasks.map((task) => this.toDto(task));
54
+ }
55
+ async create(agentId, dto) {
56
+ this.assertValidCron(dto.cronExpression);
57
+ const agent = await this.agentRepository.findOne({ where: { id: agentId } });
58
+ if (!agent)
59
+ throw new not_found_error_1.NotFoundError(`Agent "${agentId}" not found`);
60
+ if (!agent.schema)
61
+ throw new bad_request_error_1.BadRequestError('Agent has no config yet');
62
+ const taskId = (0, agent_resource_id_1.generateAgentResourceId)('task', (agent.schema.tasks ?? []).map((ref) => ref.id));
63
+ const task = this.taskRepository.create({
64
+ id: taskId,
65
+ agentId,
66
+ name: dto.name,
67
+ objective: dto.objective,
68
+ cronExpression: dto.cronExpression,
69
+ });
70
+ this.attachTaskRef(agent, taskId, dto.enabled ?? true);
71
+ (0, agent_draft_utils_1.markAgentDraftDirty)(agent);
72
+ await this.agentRepository.manager.transaction(async (em) => {
73
+ await em.save(task);
74
+ await em.save(agent);
75
+ });
76
+ this.logger.debug('[AgentTaskService] Created task', { agentId, taskId });
77
+ return this.toDto(task);
78
+ }
79
+ async update(agentId, taskId, dto) {
80
+ const task = await this.getOrThrow(agentId, taskId);
81
+ let changed = false;
82
+ if (dto.cronExpression !== undefined) {
83
+ this.assertValidCron(dto.cronExpression);
84
+ if (dto.cronExpression !== task.cronExpression) {
85
+ task.cronExpression = dto.cronExpression;
86
+ changed = true;
87
+ }
88
+ }
89
+ if (dto.name !== undefined && dto.name !== task.name) {
90
+ task.name = dto.name;
91
+ changed = true;
92
+ }
93
+ if (dto.objective !== undefined && dto.objective !== task.objective) {
94
+ task.objective = dto.objective;
95
+ changed = true;
96
+ }
97
+ if (!changed)
98
+ return this.toDto(task);
99
+ const agent = await this.agentRepository.findOne({ where: { id: agentId } });
100
+ const saved = await this.agentRepository.manager.transaction(async (em) => {
101
+ const savedTask = await em.save(task);
102
+ if (agent) {
103
+ (0, agent_draft_utils_1.markAgentDraftDirty)(agent);
104
+ await em.save(agent);
105
+ }
106
+ return savedTask;
107
+ });
108
+ return this.toDto(saved);
109
+ }
110
+ async delete(agentId, taskId) {
111
+ const task = await this.getOrThrow(agentId, taskId);
112
+ const agent = await this.agentRepository.findOne({ where: { id: agentId } });
113
+ if (agent?.schema?.tasks) {
114
+ agent.schema.tasks = agent.schema.tasks.filter((ref) => ref.id !== taskId);
115
+ (0, agent_draft_utils_1.markAgentDraftDirty)(agent);
116
+ }
117
+ await this.agentRepository.manager.transaction(async (em) => {
118
+ await em.remove(task);
119
+ if (agent)
120
+ await em.save(agent);
121
+ });
122
+ this.logger.debug('[AgentTaskService] Deleted task', { agentId, taskId });
123
+ }
124
+ attachTaskRef(agent, taskId, enabled) {
125
+ if (!agent.schema)
126
+ throw new bad_request_error_1.BadRequestError('Agent has no config yet');
127
+ agent.schema.tasks = [
128
+ ...(agent.schema.tasks ?? []).filter((ref) => ref.id !== taskId),
129
+ { type: 'task', id: taskId, enabled },
130
+ ];
131
+ }
132
+ async requestReconcile(agentId) {
133
+ await this.registerEnabledForAgent(agentId);
134
+ this.broadcastTasksChanged(agentId);
135
+ }
136
+ async registerEnabledForAgent(agentId) {
137
+ const agent = await this.agentRepository.findOne({
138
+ where: { id: agentId },
139
+ relations: { activeVersion: true },
140
+ });
141
+ if (!agent?.activeVersionId) {
142
+ this.deregisterAgentTasks(agentId);
143
+ return;
144
+ }
145
+ await this.reconcileAgent(agent);
146
+ }
147
+ async handleTasksChanged(payload) {
148
+ await this.registerEnabledForAgent(payload.agentId);
149
+ }
150
+ broadcastTasksChanged(agentId) {
151
+ if (!this.globalConfig.multiMainSetup.enabled)
152
+ return;
153
+ void this.publisher
154
+ .publishCommand({ command: 'agent-tasks-changed', payload: { agentId } })
155
+ .catch((error) => this.logger.warn('[AgentTaskService] Failed to publish agent-tasks-changed', {
156
+ agentId,
157
+ error: error instanceof Error ? error.message : String(error),
158
+ }));
159
+ }
160
+ deregisterAgentTasks(agentId) {
161
+ const taskIds = [...this.jobs.entries()]
162
+ .filter(([, entry]) => entry.agentId === agentId)
163
+ .map(([taskId]) => taskId);
164
+ for (const taskId of taskIds)
165
+ this.deregister(taskId);
166
+ }
167
+ async reconnectAll() {
168
+ const agents = await this.agentRepository.find({
169
+ where: { activeVersionId: (0, typeorm_1.Not)((0, typeorm_1.IsNull)()) },
170
+ relations: { activeVersion: true },
171
+ });
172
+ this.logger.debug('[AgentTaskService] Reconnecting published agents', { count: agents.length });
173
+ for (const agent of agents) {
174
+ try {
175
+ await this.reconcileAgent(agent);
176
+ }
177
+ catch (error) {
178
+ this.logger.error('[AgentTaskService] Failed to reconnect agent tasks', {
179
+ agentId: agent.id,
180
+ error: error instanceof Error ? error.message : String(error),
181
+ });
182
+ }
183
+ }
184
+ }
185
+ stopAll() {
186
+ for (const taskId of [...this.jobs.keys()]) {
187
+ this.deregister(taskId);
188
+ }
189
+ }
190
+ async reconcileAgent(agent) {
191
+ if (!this.instanceSettings.isLeader)
192
+ return;
193
+ if (!agent.activeVersionId) {
194
+ this.deregisterAgentTasks(agent.id);
195
+ return;
196
+ }
197
+ const snapshots = await this.taskSnapshotRepository.findEnabledByVersionId(agent.activeVersionId);
198
+ const enabledIds = new Set(snapshots.map((snapshot) => snapshot.taskId));
199
+ for (const [taskId, entry] of this.jobs.entries()) {
200
+ if (entry.agentId === agent.id && !enabledIds.has(taskId))
201
+ this.deregister(taskId);
202
+ }
203
+ if (enabledIds.size === 0)
204
+ return;
205
+ for (const snapshot of snapshots) {
206
+ this.registerOrRefresh(snapshot.taskId, agent.id, snapshot.cronExpression);
207
+ }
208
+ }
209
+ registerOrRefresh(taskId, agentId, cronExpression) {
210
+ if (!(0, cron_validation_1.isValidCronExpression)(cronExpression)) {
211
+ this.logger.warn('[AgentTaskService] Skipping task with invalid cron', { taskId });
212
+ this.deregister(taskId);
213
+ return;
214
+ }
215
+ this.deregister(taskId);
216
+ const timezone = this.globalConfig.generic.timezone;
217
+ const job = new cron_1.CronJob(cronExpression, () => {
218
+ void this.runScheduledTask(taskId);
219
+ }, null, true, timezone);
220
+ this.jobs.set(taskId, { agentId, job });
221
+ this.logger.info('[AgentTaskService] Registered task', {
222
+ taskId,
223
+ agentId,
224
+ cronExpression,
225
+ timezone,
226
+ });
227
+ }
228
+ deregister(taskId) {
229
+ const existing = this.jobs.get(taskId);
230
+ if (!existing)
231
+ return;
232
+ void existing.job.stop();
233
+ this.jobs.delete(taskId);
234
+ this.logger.info('[AgentTaskService] Deregistered task', { taskId });
235
+ }
236
+ async runScheduledTask(taskId) {
237
+ const agentId = this.jobs.get(taskId)?.agentId;
238
+ if (!agentId) {
239
+ await this.runTask(taskId);
240
+ return;
241
+ }
242
+ const holderId = (0, crypto_1.randomUUID)();
243
+ let lock = null;
244
+ let renewInterval;
245
+ try {
246
+ lock = await this.taskRunLockRepository.acquire(agentId, taskId, {
247
+ holderId,
248
+ ttlMs: TASK_RUN_LOCK_TTL_MS,
249
+ });
250
+ if (!lock) {
251
+ this.logger.info('[AgentTaskService] Skipping task because previous run is still active', {
252
+ taskId,
253
+ agentId,
254
+ });
255
+ return;
256
+ }
257
+ renewInterval = this.startTaskRunLockRenewal(lock);
258
+ await this.runTask(taskId);
259
+ }
260
+ catch (error) {
261
+ this.logger.error('[AgentTaskService] Scheduled task lock failed', {
262
+ taskId,
263
+ agentId,
264
+ error: error instanceof Error ? error.message : String(error),
265
+ });
266
+ }
267
+ finally {
268
+ if (renewInterval)
269
+ clearInterval(renewInterval);
270
+ if (lock) {
271
+ await this.taskRunLockRepository.release(lock).catch((error) => {
272
+ this.logger.warn('[AgentTaskService] Failed to release task run lock', {
273
+ taskId,
274
+ agentId,
275
+ error: error instanceof Error ? error.message : String(error),
276
+ });
277
+ });
278
+ }
279
+ }
280
+ }
281
+ startTaskRunLockRenewal(lock) {
282
+ return setInterval(() => {
283
+ void this.taskRunLockRepository
284
+ .renew(lock, TASK_RUN_LOCK_TTL_MS)
285
+ .then((renewed) => {
286
+ if (!renewed) {
287
+ this.logger.warn('[AgentTaskService] Failed to renew task run lock', {
288
+ taskId: lock.taskId,
289
+ agentId: lock.agentId,
290
+ });
291
+ }
292
+ })
293
+ .catch((error) => {
294
+ this.logger.warn('[AgentTaskService] Failed to renew task run lock', {
295
+ taskId: lock.taskId,
296
+ agentId: lock.agentId,
297
+ error: error instanceof Error ? error.message : String(error),
298
+ });
299
+ });
300
+ }, TASK_RUN_LOCK_RENEW_MS);
301
+ }
302
+ async runTask(taskId) {
303
+ const agentId = this.jobs.get(taskId)?.agentId;
304
+ let projectId;
305
+ try {
306
+ if (!agentId) {
307
+ this.deregister(taskId);
308
+ return;
309
+ }
310
+ const agent = await this.agentRepository.findOne({
311
+ where: { id: agentId },
312
+ relations: { activeVersion: true },
313
+ });
314
+ if (!agent) {
315
+ this.deregister(taskId);
316
+ return;
317
+ }
318
+ projectId = agent.projectId;
319
+ if (!agent.activeVersionId) {
320
+ this.logger.warn('[AgentTaskService] Task fired for unpublished agent', {
321
+ taskId,
322
+ agentId,
323
+ });
324
+ this.deregister(taskId);
325
+ return;
326
+ }
327
+ const snapshot = await this.taskSnapshotRepository.findByVersionAndTaskId(agent.activeVersionId, taskId);
328
+ if (!snapshot?.enabled) {
329
+ this.logger.warn('[AgentTaskService] Task fired but has no enabled published snapshot', {
330
+ taskId,
331
+ agentId,
332
+ });
333
+ this.deregister(taskId);
334
+ return;
335
+ }
336
+ const executionUserId = await this.resolveExecutionUserId(agent);
337
+ if (!executionUserId) {
338
+ this.logger.warn('[AgentTaskService] No project member available for task run', {
339
+ taskId,
340
+ agentId,
341
+ projectId,
342
+ });
343
+ return;
344
+ }
345
+ const { message, threadId } = this.buildTaskRunMessage(taskId, snapshot.objective);
346
+ this.logger.info('[AgentTaskService] Task fired', {
347
+ taskId,
348
+ agentId,
349
+ projectId,
350
+ cronExpression: snapshot.cronExpression,
351
+ });
352
+ await this.consumeTaskRun('Task run', { taskId, agentId, projectId }, this.agentsService.executeForTaskPublished({
353
+ agentId: agent.id,
354
+ projectId: agent.projectId,
355
+ message,
356
+ memory: { threadId, resourceId: (0, agent_memory_scope_1.taskRunMemoryResourceId)(taskId) },
357
+ taskId,
358
+ taskVersionId: agent.activeVersionId,
359
+ }));
360
+ }
361
+ catch (error) {
362
+ this.logger.error('[AgentTaskService] Task run failed', {
363
+ taskId,
364
+ agentId,
365
+ projectId,
366
+ error: error instanceof Error ? error.message : String(error),
367
+ });
368
+ }
369
+ }
370
+ buildTaskRunMessage(taskId, objective) {
371
+ const timezone = this.globalConfig.generic.timezone;
372
+ const timestamp = luxon_1.DateTime.now().setZone(timezone).toISO() ?? new Date().toISOString();
373
+ const message = `${objective}\n\nCurrent date and time: ${timestamp} (timezone: ${timezone})`;
374
+ const threadId = `task-${taskId}-${(0, crypto_1.randomUUID)()}`;
375
+ return { message, threadId };
376
+ }
377
+ async consumeTaskRun(kind, context, stream) {
378
+ const startedAt = Date.now();
379
+ try {
380
+ let chunkCount = 0;
381
+ for await (const _chunk of stream) {
382
+ chunkCount += 1;
383
+ }
384
+ this.logger.info(`[AgentTaskService] ${kind} completed`, {
385
+ ...context,
386
+ chunkCount,
387
+ durationMs: Date.now() - startedAt,
388
+ });
389
+ }
390
+ catch (error) {
391
+ this.logger.error(`[AgentTaskService] ${kind} failed`, {
392
+ ...context,
393
+ error: error instanceof Error ? error.message : String(error),
394
+ });
395
+ }
396
+ }
397
+ async runNow(agentId, taskId, userId) {
398
+ const task = await this.getOrThrow(agentId, taskId);
399
+ const agent = await this.agentRepository.findOne({ where: { id: agentId } });
400
+ if (!agent) {
401
+ throw new not_found_error_1.NotFoundError(`Agent "${agentId}" not found`);
402
+ }
403
+ void this.executeNow(task, agent.projectId, userId);
404
+ }
405
+ async executeNow(task, projectId, userId) {
406
+ const { message, threadId } = this.buildTaskRunMessage(task.id, task.objective);
407
+ this.logger.info('[AgentTaskService] Manual task run started', {
408
+ taskId: task.id,
409
+ agentId: task.agentId,
410
+ projectId,
411
+ });
412
+ await this.consumeTaskRun('Manual task run', { taskId: task.id, agentId: task.agentId, projectId }, this.agentsService.executeForTaskNow({
413
+ agentId: task.agentId,
414
+ projectId,
415
+ userId,
416
+ message,
417
+ memory: { threadId, resourceId: (0, agent_memory_scope_1.taskRunMemoryResourceId)(task.id) },
418
+ taskId: task.id,
419
+ }));
420
+ }
421
+ async resolveExecutionUserId(agent) {
422
+ const userIds = await this.projectRelationRepository.findUserIdsByProjectId(agent.projectId);
423
+ if (userIds.length === 0)
424
+ return undefined;
425
+ const publishedById = agent.activeVersion?.publishedById;
426
+ if (publishedById && userIds.includes(publishedById)) {
427
+ return publishedById;
428
+ }
429
+ return undefined;
430
+ }
431
+ async getOrThrow(agentId, taskId) {
432
+ const task = await this.taskRepository.findByIdAndAgentId(taskId, agentId);
433
+ if (!task) {
434
+ throw new not_found_error_1.NotFoundError(`Task "${taskId}" not found`);
435
+ }
436
+ return task;
437
+ }
438
+ assertValidCron(cronExpression) {
439
+ if (!(0, cron_validation_1.isValidCronExpression)(cronExpression)) {
440
+ throw new bad_request_error_1.BadRequestError('Invalid cron expression');
441
+ }
442
+ }
443
+ toDto(task) {
444
+ return {
445
+ id: task.id,
446
+ name: task.name,
447
+ objective: task.objective,
448
+ cronExpression: task.cronExpression,
449
+ createdAt: task.createdAt.toISOString(),
450
+ updatedAt: task.updatedAt.toISOString(),
451
+ };
452
+ }
453
+ };
454
+ exports.AgentTaskService = AgentTaskService;
455
+ __decorate([
456
+ (0, decorators_1.OnPubSubEvent)('agent-tasks-changed', { instanceType: 'main' }),
457
+ __metadata("design:type", Function),
458
+ __metadata("design:paramtypes", [Object]),
459
+ __metadata("design:returntype", Promise)
460
+ ], AgentTaskService.prototype, "handleTasksChanged", null);
461
+ __decorate([
462
+ (0, decorators_1.OnLeaderTakeover)(),
463
+ __metadata("design:type", Function),
464
+ __metadata("design:paramtypes", []),
465
+ __metadata("design:returntype", Promise)
466
+ ], AgentTaskService.prototype, "reconnectAll", null);
467
+ __decorate([
468
+ (0, decorators_1.OnLeaderStepdown)(),
469
+ (0, decorators_1.OnShutdown)(),
470
+ __metadata("design:type", Function),
471
+ __metadata("design:paramtypes", []),
472
+ __metadata("design:returntype", void 0)
473
+ ], AgentTaskService.prototype, "stopAll", null);
474
+ exports.AgentTaskService = AgentTaskService = __decorate([
475
+ (0, di_1.Service)(),
476
+ __metadata("design:paramtypes", [backend_common_1.Logger,
477
+ config_1.GlobalConfig,
478
+ agent_task_repository_1.AgentTaskRepository,
479
+ agent_task_snapshot_repository_1.AgentTaskSnapshotRepository,
480
+ agent_task_run_lock_repository_1.AgentTaskRunLockRepository,
481
+ agent_repository_1.AgentRepository,
482
+ db_1.ProjectRelationRepository,
483
+ agents_service_1.AgentsService,
484
+ n8n_core_1.InstanceSettings,
485
+ publisher_service_1.Publisher])
486
+ ], AgentTaskService);
487
+ //# sourceMappingURL=agent-task.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-task.service.js","sourceRoot":"","sources":["../../../src/modules/agents/agent-task.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { RequestHandler } from 'express';
2
+ export declare function isAllowedAgentFile(file: Pick<Express.Multer.File, 'originalname'>): boolean;
3
+ export declare function cleanupUploadedTempFiles(files: Express.Multer.File[]): Promise<void>;
4
+ export declare class AgentUploadMiddleware {
5
+ private readonly upload;
6
+ array(fieldName: string): RequestHandler;
7
+ }
@@ -0,0 +1,62 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AgentUploadMiddleware = void 0;
13
+ exports.isAllowedAgentFile = isAllowedAgentFile;
14
+ exports.cleanupUploadedTempFiles = cleanupUploadedTempFiles;
15
+ const api_types_1 = require("@n8n/api-types");
16
+ const di_1 = require("@n8n/di");
17
+ const multer_1 = __importDefault(require("multer"));
18
+ const promises_1 = require("node:fs/promises");
19
+ const node_path_1 = __importDefault(require("node:path"));
20
+ const bad_request_error_1 = require("../../errors/response-errors/bad-request.error");
21
+ const allowedAgentFileExtensions = new Set(api_types_1.ALLOWED_AGENT_FILE_EXTENSIONS);
22
+ function isAllowedAgentFile(file) {
23
+ const extension = node_path_1.default.extname(file.originalname).toLowerCase();
24
+ return allowedAgentFileExtensions.has(extension);
25
+ }
26
+ async function cleanupUploadedTempFiles(files) {
27
+ await Promise.all(files.map(async (file) => {
28
+ if (!file.path)
29
+ return;
30
+ await (0, promises_1.unlink)(file.path).catch(() => { });
31
+ }));
32
+ }
33
+ let AgentUploadMiddleware = class AgentUploadMiddleware {
34
+ constructor() {
35
+ this.upload = (0, multer_1.default)({
36
+ storage: multer_1.default.diskStorage({}),
37
+ limits: { fileSize: api_types_1.MAX_AGENT_FILE_SIZE_BYTES },
38
+ fileFilter: (_req, file, done) => {
39
+ if (!isAllowedAgentFile(file)) {
40
+ done(new bad_request_error_1.BadRequestError('Only CSV, PDF, Markdown, and TXT files are allowed'));
41
+ return;
42
+ }
43
+ done(null, true);
44
+ },
45
+ });
46
+ }
47
+ array(fieldName) {
48
+ return (req, res, next) => {
49
+ void this.upload.array(fieldName, api_types_1.MAX_AGENT_FILES_PER_UPLOAD)(req, res, (error) => {
50
+ if (error) {
51
+ req.fileUploadError = error;
52
+ }
53
+ next();
54
+ });
55
+ };
56
+ }
57
+ };
58
+ exports.AgentUploadMiddleware = AgentUploadMiddleware;
59
+ exports.AgentUploadMiddleware = AgentUploadMiddleware = __decorate([
60
+ (0, di_1.Service)()
61
+ ], AgentUploadMiddleware);
62
+ //# sourceMappingURL=agent-upload.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-upload.middleware.js","sourceRoot":"","sources":["../../../src/modules/agents/agent-upload.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;AAeA,gDAIC;AAQD,4DAOC;AAlCD,8CAIwB;AACxB,gCAAkC;AAElC,oDAA4B;AAC5B,+CAA0C;AAC1C,0DAA6B;AAE7B,kFAA6E;AAE7E,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAS,yCAA6B,CAAC,CAAC;AAElF,SAAgB,kBAAkB,CAAC,IAA+C;IACjF,MAAM,SAAS,GAAG,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;IAEhE,OAAO,0BAA0B,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAClD,CAAC;AAQM,KAAK,UAAU,wBAAwB,CAAC,KAA4B;IAC1E,MAAM,OAAO,CAAC,GAAG,CAChB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO;QACvB,MAAM,IAAA,iBAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CACF,CAAC;AACH,CAAC;AAGM,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAA3B;QACW,WAAM,GAAkB,IAAA,gBAAM,EAAC;YAC/C,OAAO,EAAE,gBAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,MAAM,EAAE,EAAE,QAAQ,EAAE,qCAAyB,EAAE;YAC/C,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;gBAChC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/B,IAAI,CAAC,IAAI,mCAAe,CAAC,oDAAoD,CAAC,CAAC,CAAC;oBAChF,OAAO;gBACR,CAAC;gBAED,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAClB,CAAC;SACD,CAAC,CAAC;IAYJ,CAAC;IAVA,KAAK,CAAC,SAAiB;QACtB,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACzB,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,sCAA0B,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;gBACjF,IAAI,KAAK,EAAE,CAAC;oBACV,GAAgD,CAAC,eAAe,GAAG,KAAc,CAAC;gBACpF,CAAC;gBACD,IAAI,EAAE,CAAC;YACR,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC;IACH,CAAC;CACD,CAAA;AAxBY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,YAAO,GAAE;GACG,qBAAqB,CAwBjC"}
@@ -1,7 +1,7 @@
1
1
  import type { BuiltTool, CredentialProvider } from '@n8n/agents';
2
2
  import { Logger } from '@n8n/backend-common';
3
- import { EphemeralNodeExecutor } from '../../node-execution';
4
3
  import { NodeCatalogService } from '../../node-catalog';
4
+ import { EphemeralNodeExecutor } from '../../node-execution';
5
5
  export declare const isExecutableNodeType: (nodeId: string) => boolean;
6
6
  export declare const isAgentToolNodeType: (nodeId: string) => boolean;
7
7
  export declare class AgentsToolsService {
@@ -16,13 +16,22 @@ const di_1 = require("@n8n/di");
16
16
  const workflow_sdk_1 = require("@n8n/workflow-sdk");
17
17
  const n8n_workflow_1 = require("n8n-workflow");
18
18
  const zod_1 = require("zod");
19
- const node_execution_1 = require("../../node-execution");
19
+ const node_description_transform_1 = require("../mcp-registry/node-description-transform");
20
20
  const node_catalog_1 = require("../../node-catalog");
21
+ const node_execution_1 = require("../../node-execution");
21
22
  const isExecutableNodeType = (nodeId) => !(0, n8n_workflow_1.isTriggerNodeType)(nodeId);
22
23
  exports.isExecutableNodeType = isExecutableNodeType;
23
- const isAgentToolNodeType = (nodeId) => (0, exports.isExecutableNodeType)(nodeId) &&
24
- ((0, n8n_workflow_1.isToolType)(nodeId, { includeHitl: false }) || (0, node_execution_1.isAgentProviderNode)(nodeId));
24
+ const isAgentToolNodeType = (nodeId) => {
25
+ if (!(0, exports.isExecutableNodeType)(nodeId)) {
26
+ return false;
27
+ }
28
+ const isAllowedTool = (0, n8n_workflow_1.isToolType)(nodeId, { includeHitl: false }) && !isMcpToolNodeType(nodeId);
29
+ const isAllowedProviderNode = (0, node_execution_1.isAgentProviderNode)(nodeId);
30
+ return isAllowedTool || isAllowedProviderNode;
31
+ };
25
32
  exports.isAgentToolNodeType = isAgentToolNodeType;
33
+ const MCP_CLIENT_TOOL_NODE_TYPE = '@n8n/n8n-nodes-langchain.mcpClientTool';
34
+ const isMcpToolNodeType = (nodeId) => nodeId === MCP_CLIENT_TOOL_NODE_TYPE || nodeId.startsWith(node_description_transform_1.MCP_REGISTRY_PACKAGE_NAME);
26
35
  const searchNodesInputSchema = zod_1.z.object({
27
36
  queries: zod_1.z.array(zod_1.z.string()).min(1).describe('Search queries (e.g., ["gmail", "slack", "http"])'),
28
37
  });
@@ -1 +1 @@
1
- {"version":3,"file":"agents-tools.service.js","sourceRoot":"","sources":["../../../src/modules/agents/agents-tools.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents-tools.service.js","sourceRoot":"","sources":["../../../src/modules/agents/agents-tools.service.ts"],"names":[],"mappings":"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"}