n8n 2.30.4 → 2.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (518) hide show
  1. package/dist/agent-library-bundle.js +9 -0
  2. package/dist/blob-storage/azure-byte-store.ee.d.ts +1 -1
  3. package/dist/blob-storage/azure-byte-store.ee.js +3 -18
  4. package/dist/blob-storage/azure-byte-store.ee.js.map +1 -1
  5. package/dist/blob-storage/json-store.js +3 -0
  6. package/dist/blob-storage/json-store.js.map +1 -1
  7. package/dist/blob-storage/s3-byte-store.ee.d.ts +1 -1
  8. package/dist/blob-storage/s3-byte-store.ee.js +2 -17
  9. package/dist/blob-storage/s3-byte-store.ee.js.map +1 -1
  10. package/dist/build.tsbuildinfo +1 -1
  11. package/dist/commands/base-command.d.ts +2 -2
  12. package/dist/commands/base-command.js +5 -5
  13. package/dist/commands/base-command.js.map +1 -1
  14. package/dist/commands/start.js +2 -0
  15. package/dist/commands/start.js.map +1 -1
  16. package/dist/constants/workflow-reviews.d.ts +4 -0
  17. package/dist/constants/workflow-reviews.js +14 -0
  18. package/dist/constants/workflow-reviews.js.map +1 -0
  19. package/dist/constants.js +2 -0
  20. package/dist/constants.js.map +1 -1
  21. package/dist/controllers/e2e.controller.js +1 -0
  22. package/dist/controllers/e2e.controller.js.map +1 -1
  23. package/dist/controllers/security-settings.controller.d.ts +15 -10
  24. package/dist/controllers/security-settings.controller.js +41 -65
  25. package/dist/controllers/security-settings.controller.js.map +1 -1
  26. package/dist/controllers/users.controller.d.ts +2 -2
  27. package/dist/credentials/credential-connection-status-provider.interface.d.ts +2 -1
  28. package/dist/credentials/credential-connection-status-proxy.d.ts +2 -1
  29. package/dist/credentials/credential-connection-status-proxy.js +7 -2
  30. package/dist/credentials/credential-connection-status-proxy.js.map +1 -1
  31. package/dist/credentials/credentials.controller.js +5 -5
  32. package/dist/credentials/credentials.controller.js.map +1 -1
  33. package/dist/credentials/credentials.service.d.ts +1 -0
  34. package/dist/credentials/credentials.service.ee.d.ts +3 -1
  35. package/dist/credentials/credentials.service.ee.js +10 -2
  36. package/dist/credentials/credentials.service.ee.js.map +1 -1
  37. package/dist/credentials/credentials.service.js +14 -0
  38. package/dist/credentials/credentials.service.js.map +1 -1
  39. package/dist/eventbus/event-message-classes/index.d.ts +2 -2
  40. package/dist/eventbus/event-message-classes/index.js +4 -2
  41. package/dist/eventbus/event-message-classes/index.js.map +1 -1
  42. package/dist/events/maps/relay.event-map.d.ts +19 -2
  43. package/dist/events/relays/log-streaming.event-relay.d.ts +2 -0
  44. package/dist/events/relays/log-streaming.event-relay.js +30 -2
  45. package/dist/events/relays/log-streaming.event-relay.js.map +1 -1
  46. package/dist/events/relays/telemetry.event-relay.d.ts +3 -0
  47. package/dist/events/relays/telemetry.event-relay.js +88 -10
  48. package/dist/events/relays/telemetry.event-relay.js.map +1 -1
  49. package/dist/execution-lifecycle/execution-lifecycle-hooks.js +21 -4
  50. package/dist/execution-lifecycle/execution-lifecycle-hooks.js.map +1 -1
  51. package/dist/executions/execution-data/db-store.d.ts +8 -15
  52. package/dist/executions/execution-data/db-store.js +12 -25
  53. package/dist/executions/execution-data/db-store.js.map +1 -1
  54. package/dist/executions/execution-data/execution-data-json-store.d.ts +7 -0
  55. package/dist/executions/execution-data/execution-data-json-store.js +45 -0
  56. package/dist/executions/execution-data/execution-data-json-store.js.map +1 -0
  57. package/dist/executions/execution-data/types.d.ts +3 -14
  58. package/dist/executions/execution-data/types.js.map +1 -1
  59. package/dist/executions/execution-persistence.d.ts +7 -14
  60. package/dist/executions/execution-persistence.js +40 -88
  61. package/dist/executions/execution-persistence.js.map +1 -1
  62. package/dist/interfaces.d.ts +4 -1
  63. package/dist/load-nodes-and-credentials.js +1 -1
  64. package/dist/load-nodes-and-credentials.js.map +1 -1
  65. package/dist/metrics/prometheus/prometheus.service.d.ts +2 -1
  66. package/dist/metrics/prometheus/prometheus.service.js +5 -2
  67. package/dist/metrics/prometheus/prometheus.service.js.map +1 -1
  68. package/dist/metrics/prometheus/scheduler-metrics.service.d.ts +35 -0
  69. package/dist/metrics/prometheus/scheduler-metrics.service.js +187 -0
  70. package/dist/metrics/prometheus/scheduler-metrics.service.js.map +1 -0
  71. package/dist/modules/agents/adapters/agents-credential-provider.d.ts +1 -0
  72. package/dist/modules/agents/adapters/agents-credential-provider.js +13 -3
  73. package/dist/modules/agents/adapters/agents-credential-provider.js.map +1 -1
  74. package/dist/modules/agents/agent-config.service.js +11 -1
  75. package/dist/modules/agents/agent-config.service.js.map +1 -1
  76. package/dist/modules/agents/agent-knowledge.controller.js +1 -1
  77. package/dist/modules/agents/agent-knowledge.controller.js.map +1 -1
  78. package/dist/modules/agents/agent-upload.middleware.d.ts +2 -0
  79. package/dist/modules/agents/agent-upload.middleware.js +11 -0
  80. package/dist/modules/agents/agent-upload.middleware.js.map +1 -1
  81. package/dist/modules/agents/agent-validation.service.js +19 -2
  82. package/dist/modules/agents/agent-validation.service.js.map +1 -1
  83. package/dist/modules/agents/agent-vector-stores.controller.d.ts +11 -0
  84. package/dist/modules/agents/agent-vector-stores.controller.js +41 -0
  85. package/dist/modules/agents/agent-vector-stores.controller.js.map +1 -0
  86. package/dist/modules/agents/agent-vector-stores.service.d.ts +9 -0
  87. package/dist/modules/agents/agent-vector-stores.service.js +195 -0
  88. package/dist/modules/agents/agent-vector-stores.service.js.map +1 -0
  89. package/dist/modules/agents/agents-config.controller.d.ts +112 -69
  90. package/dist/modules/agents/agents.controller.d.ts +5 -1
  91. package/dist/modules/agents/agents.controller.js +11 -0
  92. package/dist/modules/agents/agents.controller.js.map +1 -1
  93. package/dist/modules/agents/agents.module.js +1 -0
  94. package/dist/modules/agents/agents.module.js.map +1 -1
  95. package/dist/modules/agents/agents.service.d.ts +7 -2
  96. package/dist/modules/agents/agents.service.js +65 -2
  97. package/dist/modules/agents/agents.service.js.map +1 -1
  98. package/dist/modules/agents/attachable-workflows.service.d.ts +12 -0
  99. package/dist/modules/agents/attachable-workflows.service.js +58 -0
  100. package/dist/modules/agents/attachable-workflows.service.js.map +1 -0
  101. package/dist/modules/agents/builder/agents-builder-model-recommendations.js +3 -2
  102. package/dist/modules/agents/builder/agents-builder-model-recommendations.js.map +1 -1
  103. package/dist/modules/agents/builder/agents-builder-prompts.d.ts +4 -4
  104. package/dist/modules/agents/builder/agents-builder-prompts.js +40 -27
  105. package/dist/modules/agents/builder/agents-builder-prompts.js.map +1 -1
  106. package/dist/modules/agents/builder/agents-builder-tools.service.d.ts +3 -5
  107. package/dist/modules/agents/builder/agents-builder-tools.service.js +48 -194
  108. package/dist/modules/agents/builder/agents-builder-tools.service.js.map +1 -1
  109. package/dist/modules/agents/builder/agents-builder.service.d.ts +10 -3
  110. package/dist/modules/agents/builder/agents-builder.service.js +22 -12
  111. package/dist/modules/agents/builder/agents-builder.service.js.map +1 -1
  112. package/dist/modules/agents/builder/builder-tool-names.js.map +1 -1
  113. package/dist/modules/agents/builder/errors.d.ts +3 -2
  114. package/dist/modules/agents/builder/errors.js +3 -2
  115. package/dist/modules/agents/builder/errors.js.map +1 -1
  116. package/dist/modules/agents/builder/get-resource-locator-options.tool.d.ts +99 -2
  117. package/dist/modules/agents/builder/get-resource-locator-options.tool.js +103 -101
  118. package/dist/modules/agents/builder/get-resource-locator-options.tool.js.map +1 -1
  119. package/dist/modules/agents/builder/interactive/ask-credential.tool.js +48 -32
  120. package/dist/modules/agents/builder/interactive/ask-credential.tool.js.map +1 -1
  121. package/dist/modules/agents/builder/interactive/ask-questions.tool.d.ts +2 -0
  122. package/dist/modules/agents/builder/interactive/ask-questions.tool.js +108 -0
  123. package/dist/modules/agents/builder/interactive/ask-questions.tool.js.map +1 -0
  124. package/dist/modules/agents/builder/interactive/configure-channel.tool.d.ts +7 -0
  125. package/dist/modules/agents/builder/interactive/configure-channel.tool.js +52 -0
  126. package/dist/modules/agents/builder/interactive/configure-channel.tool.js.map +1 -0
  127. package/dist/modules/agents/builder/interactive/index.d.ts +2 -2
  128. package/dist/modules/agents/builder/interactive/index.js +5 -5
  129. package/dist/modules/agents/builder/interactive/index.js.map +1 -1
  130. package/dist/modules/agents/builder/interactive/resolve-llm.tool.js +2 -2
  131. package/dist/modules/agents/builder/interactive/resolve-llm.tool.js.map +1 -1
  132. package/dist/modules/agents/builder/prompts/config-mutation.prompt.js +1 -1
  133. package/dist/modules/agents/builder/prompts/config-rules.prompt.js +2 -2
  134. package/dist/modules/agents/builder/prompts/llm-selection.prompt.js +10 -10
  135. package/dist/modules/agents/builder/prompts/llm-selection.prompt.js.map +1 -1
  136. package/dist/modules/agents/builder/prompts/memory.prompt.d.ts +1 -1
  137. package/dist/modules/agents/builder/prompts/memory.prompt.js +1 -1
  138. package/dist/modules/agents/builder/search-mcp-servers.tool.js +1 -63
  139. package/dist/modules/agents/builder/search-mcp-servers.tool.js.map +1 -1
  140. package/dist/modules/agents/builder/skills/index.d.ts +1 -1
  141. package/dist/modules/agents/builder/skills/index.js +5 -1
  142. package/dist/modules/agents/builder/skills/index.js.map +1 -1
  143. package/dist/modules/agents/builder/skills/integrations.skill.js +15 -6
  144. package/dist/modules/agents/builder/skills/integrations.skill.js.map +1 -1
  145. package/dist/modules/agents/builder/skills/mcp.skill.js +2 -2
  146. package/dist/modules/agents/builder/skills/mcp.skill.js.map +1 -1
  147. package/dist/modules/agents/builder/skills/resource-locators.skill.js +2 -2
  148. package/dist/modules/agents/builder/skills/resource-locators.skill.js.map +1 -1
  149. package/dist/modules/agents/builder/skills/sub-agents.skill.js +7 -5
  150. package/dist/modules/agents/builder/skills/sub-agents.skill.js.map +1 -1
  151. package/dist/modules/agents/builder/skills/target-skills.skill.js +5 -4
  152. package/dist/modules/agents/builder/skills/target-skills.skill.js.map +1 -1
  153. package/dist/modules/agents/builder/skills/target-tasks.skill.js +5 -5
  154. package/dist/modules/agents/builder/skills/target-tasks.skill.js.map +1 -1
  155. package/dist/modules/agents/instance-ai-builder-delegate.adapter.d.ts +14 -0
  156. package/dist/modules/agents/instance-ai-builder-delegate.adapter.js +96 -0
  157. package/dist/modules/agents/instance-ai-builder-delegate.adapter.js.map +1 -0
  158. package/dist/modules/agents/integrations/integration-action-executor.d.ts +72 -72
  159. package/dist/modules/agents/integrations/integration-tool-definitions.d.ts +574 -574
  160. package/dist/modules/agents/json-config/embedding-credential.d.ts +4 -0
  161. package/dist/modules/agents/json-config/embedding-credential.js +25 -0
  162. package/dist/modules/agents/json-config/embedding-credential.js.map +1 -0
  163. package/dist/modules/agents/json-config/from-json-config.d.ts +2 -6
  164. package/dist/modules/agents/json-config/from-json-config.js +16 -16
  165. package/dist/modules/agents/json-config/from-json-config.js.map +1 -1
  166. package/dist/modules/agents/json-config/model-config.js +2 -2
  167. package/dist/modules/agents/json-config/model-config.js.map +1 -1
  168. package/dist/modules/agents/json-config/vector-store-factory.d.ts +5 -0
  169. package/dist/modules/agents/json-config/vector-store-factory.js +138 -0
  170. package/dist/modules/agents/json-config/vector-store-factory.js.map +1 -0
  171. package/dist/modules/breaking-changes/rules/index.d.ts +8 -0
  172. package/dist/modules/breaking-changes/rules/index.js +8 -0
  173. package/dist/modules/breaking-changes/rules/index.js.map +1 -1
  174. package/dist/modules/breaking-changes/rules/v3/compression-node-limits.rule.d.ts +6 -0
  175. package/dist/modules/breaking-changes/rules/v3/compression-node-limits.rule.js +59 -0
  176. package/dist/modules/breaking-changes/rules/v3/compression-node-limits.rule.js.map +1 -0
  177. package/dist/modules/breaking-changes/rules/v3/docker-only-deployment.rule.d.ts +9 -0
  178. package/dist/modules/breaking-changes/rules/v3/docker-only-deployment.rule.js +57 -0
  179. package/dist/modules/breaking-changes/rules/v3/docker-only-deployment.rule.js.map +1 -0
  180. package/dist/modules/breaking-changes/rules/v3/get-paired-item.rule.d.ts +10 -0
  181. package/dist/modules/breaking-changes/rules/v3/get-paired-item.rule.js +53 -0
  182. package/dist/modules/breaking-changes/rules/v3/get-paired-item.rule.js.map +1 -0
  183. package/dist/modules/breaking-changes/rules/v3/in-memory-binary-data.rule.d.ts +9 -0
  184. package/dist/modules/breaking-changes/rules/v3/in-memory-binary-data.rule.js +56 -0
  185. package/dist/modules/breaking-changes/rules/v3/in-memory-binary-data.rule.js.map +1 -0
  186. package/dist/modules/breaking-changes/rules/v3/offload-manual-executions.rule.d.ts +9 -0
  187. package/dist/modules/breaking-changes/rules/v3/offload-manual-executions.rule.js +57 -0
  188. package/dist/modules/breaking-changes/rules/v3/offload-manual-executions.rule.js.map +1 -0
  189. package/dist/modules/breaking-changes/rules/v3/task-runner-task-timeout.rule.d.ts +6 -0
  190. package/dist/modules/breaking-changes/rules/v3/task-runner-task-timeout.rule.js +50 -0
  191. package/dist/modules/breaking-changes/rules/v3/task-runner-task-timeout.rule.js.map +1 -0
  192. package/dist/modules/breaking-changes/rules/v3/unverified-packages.rule.d.ts +9 -0
  193. package/dist/modules/breaking-changes/rules/v3/unverified-packages.rule.js +57 -0
  194. package/dist/modules/breaking-changes/rules/v3/unverified-packages.rule.js.map +1 -0
  195. package/dist/modules/breaking-changes/rules/v3/workflow-import-url-removed.rule.d.ts +6 -0
  196. package/dist/modules/breaking-changes/rules/v3/workflow-import-url-removed.rule.js +47 -0
  197. package/dist/modules/breaking-changes/rules/v3/workflow-import-url-removed.rule.js.map +1 -0
  198. package/dist/modules/chat-hub/chat-hub.module.d.ts +1 -1
  199. package/dist/modules/chat-hub/chat-hub.settings.controller.d.ts +3 -3
  200. package/dist/modules/data-table/data-table-ddl.service.d.ts +2 -0
  201. package/dist/modules/data-table/data-table-ddl.service.js +16 -0
  202. package/dist/modules/data-table/data-table-ddl.service.js.map +1 -1
  203. package/dist/modules/data-table/data-table.service.d.ts +6 -3
  204. package/dist/modules/data-table/data-table.service.js +19 -0
  205. package/dist/modules/data-table/data-table.service.js.map +1 -1
  206. package/dist/modules/data-table/utils/sql-utils.d.ts +1 -0
  207. package/dist/modules/data-table/utils/sql-utils.js +4 -0
  208. package/dist/modules/data-table/utils/sql-utils.js.map +1 -1
  209. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.module.d.ts +0 -2
  210. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.module.js +0 -13
  211. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.module.js.map +1 -1
  212. package/dist/modules/dynamic-credentials.ee/services/credential-connection-status.service.d.ts +5 -3
  213. package/dist/modules/dynamic-credentials.ee/services/credential-connection-status.service.js +19 -7
  214. package/dist/modules/dynamic-credentials.ee/services/credential-connection-status.service.js.map +1 -1
  215. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-storage.service.js +1 -1
  216. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential.service.js +1 -1
  217. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential.service.js.map +1 -1
  218. package/dist/modules/favorites/dto/add-favorite.dto.d.ts +2 -2
  219. package/dist/modules/favorites/favorites.event-relay.js +2 -3
  220. package/dist/modules/favorites/favorites.event-relay.js.map +1 -1
  221. package/dist/modules/favorites/favorites.service.d.ts +4 -1
  222. package/dist/modules/favorites/favorites.service.js +28 -3
  223. package/dist/modules/favorites/favorites.service.js.map +1 -1
  224. package/dist/modules/instance-ai/eval/execution.service.d.ts +4 -1
  225. package/dist/modules/instance-ai/eval/execution.service.js +26 -3
  226. package/dist/modules/instance-ai/eval/execution.service.js.map +1 -1
  227. package/dist/modules/instance-ai/eval/mock-handler.js +1 -1
  228. package/dist/modules/instance-ai/eval/mock-handler.js.map +1 -1
  229. package/dist/modules/instance-ai/eval/mock-quirks.js +7 -0
  230. package/dist/modules/instance-ai/eval/mock-quirks.js.map +1 -1
  231. package/dist/modules/instance-ai/eval/pin-data-generator.js +17 -17
  232. package/dist/modules/instance-ai/eval/pin-data-generator.js.map +1 -1
  233. package/dist/modules/instance-ai/event-bus/in-process-event-bus.d.ts +17 -6
  234. package/dist/modules/instance-ai/event-bus/in-process-event-bus.js +153 -30
  235. package/dist/modules/instance-ai/event-bus/in-process-event-bus.js.map +1 -1
  236. package/dist/modules/instance-ai/instance-ai-memory.service.d.ts +7 -2
  237. package/dist/modules/instance-ai/instance-ai-memory.service.js +12 -1
  238. package/dist/modules/instance-ai/instance-ai-memory.service.js.map +1 -1
  239. package/dist/modules/instance-ai/instance-ai-settings.service.js +0 -7
  240. package/dist/modules/instance-ai/instance-ai-settings.service.js.map +1 -1
  241. package/dist/modules/instance-ai/instance-ai.adapter.service.d.ts +89 -3
  242. package/dist/modules/instance-ai/instance-ai.adapter.service.js +264 -29
  243. package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -1
  244. package/dist/modules/instance-ai/instance-ai.controller.js +9 -2
  245. package/dist/modules/instance-ai/instance-ai.controller.js.map +1 -1
  246. package/dist/modules/instance-ai/instance-ai.service.d.ts +0 -1
  247. package/dist/modules/instance-ai/instance-ai.service.js +45 -107
  248. package/dist/modules/instance-ai/instance-ai.service.js.map +1 -1
  249. package/dist/modules/instance-ai/workflow-templates.service.d.ts +17 -0
  250. package/dist/modules/instance-ai/workflow-templates.service.js +63 -0
  251. package/dist/modules/instance-ai/workflow-templates.service.js.map +1 -0
  252. package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination.ee.d.ts +1 -0
  253. package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination.ee.js +2 -0
  254. package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination.ee.js.map +1 -1
  255. package/dist/modules/mcp/dto/update-workflows-availability.dto.d.ts +2 -0
  256. package/dist/modules/mcp/dto/update-workflows-availability.dto.js +1 -0
  257. package/dist/modules/mcp/dto/update-workflows-availability.dto.js.map +1 -1
  258. package/dist/modules/mcp/mcp-protected-resource.d.ts +4 -1
  259. package/dist/modules/mcp/mcp-protected-resource.js +13 -3
  260. package/dist/modules/mcp/mcp-protected-resource.js.map +1 -1
  261. package/dist/modules/mcp/mcp.config.d.ts +1 -0
  262. package/dist/modules/mcp/mcp.config.js +20 -0
  263. package/dist/modules/mcp/mcp.config.js.map +1 -1
  264. package/dist/modules/mcp/mcp.module.d.ts +1 -0
  265. package/dist/modules/mcp/mcp.module.js +3 -1
  266. package/dist/modules/mcp/mcp.module.js.map +1 -1
  267. package/dist/modules/mcp/mcp.settings.service.d.ts +1 -1
  268. package/dist/modules/mcp/mcp.settings.service.js +33 -18
  269. package/dist/modules/mcp/mcp.settings.service.js.map +1 -1
  270. package/dist/modules/mcp/tools/search-workflows.tool.js +4 -2
  271. package/dist/modules/mcp/tools/search-workflows.tool.js.map +1 -1
  272. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.d.ts +2 -0
  273. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js +10 -5
  274. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js.map +1 -1
  275. package/dist/modules/mcp/tools/workflow-builder/restore-workflow-version.tool.js +4 -0
  276. package/dist/modules/mcp/tools/workflow-builder/restore-workflow-version.tool.js.map +1 -1
  277. package/dist/modules/mcp/tools/workflow-builder/skills-used.d.ts +1 -0
  278. package/dist/modules/mcp/tools/workflow-builder/skills-used.js +5 -1
  279. package/dist/modules/mcp/tools/workflow-builder/skills-used.js.map +1 -1
  280. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js +10 -5
  281. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js.map +1 -1
  282. package/dist/modules/mcp/tools/workflow-builder/version-metadata.d.ts +27 -0
  283. package/dist/modules/mcp/tools/workflow-builder/version-metadata.js +109 -0
  284. package/dist/modules/mcp/tools/workflow-builder/version-metadata.js.map +1 -0
  285. package/dist/modules/mcp-registry/registry/mcp-registry-search.d.ts +18 -0
  286. package/dist/modules/mcp-registry/registry/mcp-registry-search.js +64 -0
  287. package/dist/modules/mcp-registry/registry/mcp-registry-search.js.map +1 -0
  288. package/dist/modules/mcp-registry/registry/mcp-registry.service.d.ts +2 -0
  289. package/dist/modules/mcp-registry/registry/mcp-registry.service.js +4 -0
  290. package/dist/modules/mcp-registry/registry/mcp-registry.service.js.map +1 -1
  291. package/dist/modules/n8n-packages/engine/import-blocked.error.js +2 -1
  292. package/dist/modules/n8n-packages/engine/import-blocked.error.js.map +1 -1
  293. package/dist/modules/n8n-packages/engine/import-orchestrator.d.ts +30 -0
  294. package/dist/modules/n8n-packages/engine/import-orchestrator.js +86 -0
  295. package/dist/modules/n8n-packages/engine/import-orchestrator.js.map +1 -0
  296. package/dist/modules/n8n-packages/engine/import-result.d.ts +14 -0
  297. package/dist/modules/n8n-packages/engine/import-result.js +43 -0
  298. package/dist/modules/n8n-packages/engine/import-result.js.map +1 -0
  299. package/dist/modules/n8n-packages/engine/n8n-package-parser.d.ts +7 -0
  300. package/dist/modules/n8n-packages/engine/n8n-package-parser.js +72 -13
  301. package/dist/modules/n8n-packages/engine/n8n-package-parser.js.map +1 -1
  302. package/dist/modules/n8n-packages/engine/package-layout.d.ts +11 -0
  303. package/dist/modules/n8n-packages/engine/package-layout.js +21 -0
  304. package/dist/modules/n8n-packages/engine/package-layout.js.map +1 -0
  305. package/dist/modules/n8n-packages/engine/project-package-importer.d.ts +11 -0
  306. package/dist/modules/n8n-packages/engine/project-package-importer.js +44 -0
  307. package/dist/modules/n8n-packages/engine/project-package-importer.js.map +1 -0
  308. package/dist/modules/n8n-packages/engine/workflow-package-importer.d.ts +24 -0
  309. package/dist/modules/n8n-packages/engine/workflow-package-importer.js +168 -0
  310. package/dist/modules/n8n-packages/engine/workflow-package-importer.js.map +1 -0
  311. package/dist/modules/n8n-packages/entities/credential/credential-matcher-factory.d.ts +3 -1
  312. package/dist/modules/n8n-packages/entities/credential/credential-matcher-factory.js +8 -2
  313. package/dist/modules/n8n-packages/entities/credential/credential-matcher-factory.js.map +1 -1
  314. package/dist/modules/n8n-packages/entities/credential/credential-matcher.d.ts +6 -6
  315. package/dist/modules/n8n-packages/entities/credential/credential-matcher.js +34 -4
  316. package/dist/modules/n8n-packages/entities/credential/credential-matcher.js.map +1 -1
  317. package/dist/modules/n8n-packages/entities/credential/credential-tier-selection.d.ts +3 -0
  318. package/dist/modules/n8n-packages/entities/credential/credential-tier-selection.js +27 -0
  319. package/dist/modules/n8n-packages/entities/credential/credential-tier-selection.js.map +1 -0
  320. package/dist/modules/n8n-packages/entities/credential/credential.exporter.d.ts +2 -0
  321. package/dist/modules/n8n-packages/entities/credential/credential.exporter.js +18 -2
  322. package/dist/modules/n8n-packages/entities/credential/credential.exporter.js.map +1 -1
  323. package/dist/modules/n8n-packages/entities/credential/id-based-credential-matcher.d.ts +3 -7
  324. package/dist/modules/n8n-packages/entities/credential/id-based-credential-matcher.js +8 -23
  325. package/dist/modules/n8n-packages/entities/credential/id-based-credential-matcher.js.map +1 -1
  326. package/dist/modules/n8n-packages/entities/credential/name-and-type-credential-matcher.d.ts +8 -0
  327. package/dist/modules/n8n-packages/entities/credential/name-and-type-credential-matcher.js +31 -0
  328. package/dist/modules/n8n-packages/entities/credential/name-and-type-credential-matcher.js.map +1 -0
  329. package/dist/modules/n8n-packages/entities/credential/type-only-credential-matcher.d.ts +8 -0
  330. package/dist/modules/n8n-packages/entities/credential/type-only-credential-matcher.js +31 -0
  331. package/dist/modules/n8n-packages/entities/credential/type-only-credential-matcher.js.map +1 -0
  332. package/dist/modules/n8n-packages/entities/data-table/data-table-requirements.extractor.d.ts +6 -0
  333. package/dist/modules/n8n-packages/entities/data-table/data-table-requirements.extractor.js +38 -0
  334. package/dist/modules/n8n-packages/entities/data-table/data-table-requirements.extractor.js.map +1 -0
  335. package/dist/modules/n8n-packages/entities/data-table/data-table.exporter.d.ts +26 -0
  336. package/dist/modules/n8n-packages/entities/data-table/data-table.exporter.js +97 -0
  337. package/dist/modules/n8n-packages/entities/data-table/data-table.exporter.js.map +1 -0
  338. package/dist/modules/n8n-packages/entities/data-table/data-table.serializer.d.ts +5 -0
  339. package/dist/modules/n8n-packages/entities/data-table/data-table.serializer.js +31 -0
  340. package/dist/modules/n8n-packages/entities/data-table/data-table.serializer.js.map +1 -0
  341. package/dist/modules/n8n-packages/entities/data-table/data-table.types.d.ts +4 -0
  342. package/dist/modules/n8n-packages/entities/data-table/data-table.types.js +3 -0
  343. package/dist/modules/n8n-packages/entities/data-table/data-table.types.js.map +1 -0
  344. package/dist/modules/n8n-packages/entities/folder/folder-conflict-policy.d.ts +5 -0
  345. package/dist/modules/n8n-packages/entities/folder/folder-conflict-policy.js +11 -0
  346. package/dist/modules/n8n-packages/entities/folder/folder-conflict-policy.js.map +1 -0
  347. package/dist/modules/n8n-packages/entities/folder/folder-import.types.d.ts +20 -0
  348. package/dist/modules/n8n-packages/entities/folder/folder-import.types.js +3 -0
  349. package/dist/modules/n8n-packages/entities/folder/folder-import.types.js.map +1 -0
  350. package/dist/modules/n8n-packages/entities/folder/folder-importer.d.ts +10 -0
  351. package/dist/modules/n8n-packages/entities/folder/folder-importer.js +140 -0
  352. package/dist/modules/n8n-packages/entities/folder/folder-importer.js.map +1 -0
  353. package/dist/modules/n8n-packages/entities/folder/folder.exporter.d.ts +5 -2
  354. package/dist/modules/n8n-packages/entities/folder/folder.exporter.js +48 -44
  355. package/dist/modules/n8n-packages/entities/folder/folder.exporter.js.map +1 -1
  356. package/dist/modules/n8n-packages/entities/folder/folder.serializer.js.map +1 -1
  357. package/dist/modules/n8n-packages/entities/package-export.errors.d.ts +8 -0
  358. package/dist/modules/n8n-packages/entities/package-export.errors.js +27 -0
  359. package/dist/modules/n8n-packages/entities/package-export.errors.js.map +1 -0
  360. package/dist/modules/n8n-packages/entities/project/project-import.types.d.ts +15 -0
  361. package/dist/modules/n8n-packages/entities/project/project-import.types.js +3 -0
  362. package/dist/modules/n8n-packages/entities/project/project-import.types.js.map +1 -0
  363. package/dist/modules/n8n-packages/entities/project/project-importer.d.ts +13 -0
  364. package/dist/modules/n8n-packages/entities/project/project-importer.js +97 -0
  365. package/dist/modules/n8n-packages/entities/project/project-importer.js.map +1 -0
  366. package/dist/modules/n8n-packages/entities/project/project.exporter.d.ts +22 -4
  367. package/dist/modules/n8n-packages/entities/project/project.exporter.js +71 -26
  368. package/dist/modules/n8n-packages/entities/project/project.exporter.js.map +1 -1
  369. package/dist/modules/n8n-packages/entities/requirements.types.d.ts +2 -0
  370. package/dist/modules/n8n-packages/entities/requirements.types.js +1 -0
  371. package/dist/modules/n8n-packages/entities/requirements.types.js.map +1 -1
  372. package/dist/modules/n8n-packages/entities/workflow/workflow.exporter.d.ts +4 -3
  373. package/dist/modules/n8n-packages/entities/workflow/workflow.exporter.js +11 -17
  374. package/dist/modules/n8n-packages/entities/workflow/workflow.exporter.js.map +1 -1
  375. package/dist/modules/n8n-packages/n8n-packages.service.d.ts +12 -3
  376. package/dist/modules/n8n-packages/n8n-packages.service.js +51 -11
  377. package/dist/modules/n8n-packages/n8n-packages.service.js.map +1 -1
  378. package/dist/modules/n8n-packages/n8n-packages.types.d.ts +47 -22
  379. package/dist/modules/n8n-packages/n8n-packages.types.js +5 -1
  380. package/dist/modules/n8n-packages/n8n-packages.types.js.map +1 -1
  381. package/dist/modules/n8n-packages/package-failure-classifier.d.ts +2 -0
  382. package/dist/modules/n8n-packages/package-failure-classifier.js +29 -0
  383. package/dist/modules/n8n-packages/package-failure-classifier.js.map +1 -0
  384. package/dist/modules/n8n-packages/spec/manifest.schema.d.ts +62 -0
  385. package/dist/modules/n8n-packages/spec/requirements.schema.d.ts +55 -0
  386. package/dist/modules/n8n-packages/spec/requirements.schema.js +26 -15
  387. package/dist/modules/n8n-packages/spec/requirements.schema.js.map +1 -1
  388. package/dist/modules/n8n-packages/spec/serialized/data-table.schema.d.ts +49 -0
  389. package/dist/modules/n8n-packages/spec/serialized/data-table.schema.js +20 -0
  390. package/dist/modules/n8n-packages/spec/serialized/data-table.schema.js.map +1 -0
  391. package/dist/modules/redaction/executions/execution-redaction.service.js +1 -1
  392. package/dist/modules/redaction/executions/execution-redaction.service.js.map +1 -1
  393. package/dist/modules/source-control.ee/constants.d.ts +1 -0
  394. package/dist/modules/source-control.ee/constants.js +2 -1
  395. package/dist/modules/source-control.ee/constants.js.map +1 -1
  396. package/dist/modules/source-control.ee/source-control-git.service.ee.d.ts +0 -1
  397. package/dist/modules/source-control.ee/source-control-git.service.ee.js +0 -22
  398. package/dist/modules/source-control.ee/source-control-git.service.ee.js.map +1 -1
  399. package/dist/modules/source-control.ee/source-control-helper.ee.d.ts +3 -1
  400. package/dist/modules/source-control.ee/source-control-helper.ee.js +13 -0
  401. package/dist/modules/source-control.ee/source-control-helper.ee.js.map +1 -1
  402. package/dist/modules/source-control.ee/source-control-import.service.ee.d.ts +10 -2
  403. package/dist/modules/source-control.ee/source-control-import.service.ee.js +94 -59
  404. package/dist/modules/source-control.ee/source-control-import.service.ee.js.map +1 -1
  405. package/dist/modules/source-control.ee/source-control-status.service.ee.d.ts +0 -1
  406. package/dist/modules/source-control.ee/source-control-status.service.ee.js +30 -30
  407. package/dist/modules/source-control.ee/source-control-status.service.ee.js.map +1 -1
  408. package/dist/modules/source-control.ee/source-control.controller.ee.d.ts +6 -6
  409. package/dist/modules/source-control.ee/source-control.service.ee.d.ts +3 -3
  410. package/dist/modules/source-control.ee/source-control.service.ee.js +8 -1
  411. package/dist/modules/source-control.ee/source-control.service.ee.js.map +1 -1
  412. package/dist/public-api/types.d.ts +5 -1
  413. package/dist/public-api/v1/handlers/credentials/credentials.handler.js +9 -0
  414. package/dist/public-api/v1/handlers/credentials/credentials.handler.js.map +1 -1
  415. package/dist/public-api/v1/handlers/n8n-packages/n8n-packages.handler.js +87 -38
  416. package/dist/public-api/v1/handlers/n8n-packages/n8n-packages.handler.js.map +1 -1
  417. package/dist/public-api/v1/handlers/security-policy/security-policy.handler.d.ts +8 -0
  418. package/dist/public-api/v1/handlers/security-policy/security-policy.handler.js +39 -0
  419. package/dist/public-api/v1/handlers/security-policy/security-policy.handler.js.map +1 -0
  420. package/dist/public-api/v1/openapi.yml +243 -12
  421. package/dist/scaling/job-processor.js +44 -6
  422. package/dist/scaling/job-processor.js.map +1 -1
  423. package/dist/scaling/pubsub/pubsub.event-map.d.ts +4 -1
  424. package/dist/scheduling/durable-job-provisioner.d.ts +16 -0
  425. package/dist/scheduling/durable-job-provisioner.js +135 -0
  426. package/dist/scheduling/durable-job-provisioner.js.map +1 -0
  427. package/dist/scheduling/durable-scheduler.d.ts +16 -0
  428. package/dist/scheduling/durable-scheduler.js +117 -0
  429. package/dist/scheduling/durable-scheduler.js.map +1 -0
  430. package/dist/scheduling/schedule-trigger-node/schedule-trigger-task-handler.d.ts +23 -0
  431. package/dist/scheduling/schedule-trigger-node/schedule-trigger-task-handler.js +149 -0
  432. package/dist/scheduling/schedule-trigger-node/schedule-trigger-task-handler.js.map +1 -0
  433. package/dist/scheduling/schedule-trigger-node/schedule-trigger-task.d.ts +10 -0
  434. package/dist/scheduling/schedule-trigger-node/schedule-trigger-task.js +33 -0
  435. package/dist/scheduling/schedule-trigger-node/schedule-trigger-task.js.map +1 -0
  436. package/dist/scheduling/scheduler-tracer.d.ts +3 -0
  437. package/dist/scheduling/scheduler-tracer.js +11 -0
  438. package/dist/scheduling/scheduler-tracer.js.map +1 -0
  439. package/dist/services/folder-finder.service.d.ts +2 -0
  440. package/dist/services/folder-finder.service.js +16 -0
  441. package/dist/services/folder-finder.service.js.map +1 -1
  442. package/dist/services/folder.service.d.ts +3 -2
  443. package/dist/services/folder.service.js +11 -1
  444. package/dist/services/folder.service.js.map +1 -1
  445. package/dist/services/frontend.service.d.ts +3 -1
  446. package/dist/services/frontend.service.js +14 -2
  447. package/dist/services/frontend.service.js.map +1 -1
  448. package/dist/services/project.service.ee.d.ts +7 -1
  449. package/dist/services/project.service.ee.js +21 -4
  450. package/dist/services/project.service.ee.js.map +1 -1
  451. package/dist/services/protected-resource.registry.d.ts +1 -0
  452. package/dist/services/protected-resource.registry.js +11 -7
  453. package/dist/services/protected-resource.registry.js.map +1 -1
  454. package/dist/services/security-settings.service.d.ts +31 -1
  455. package/dist/services/security-settings.service.js +75 -2
  456. package/dist/services/security-settings.service.js.map +1 -1
  457. package/dist/services/workflow-review-policy.service.d.ts +11 -0
  458. package/dist/services/workflow-review-policy.service.js +52 -0
  459. package/dist/services/workflow-review-policy.service.js.map +1 -0
  460. package/dist/telemetry/index.js +2 -2
  461. package/dist/telemetry/index.js.map +1 -1
  462. package/dist/workflow-execute-additional-data.js +5 -4
  463. package/dist/workflow-execute-additional-data.js.map +1 -1
  464. package/dist/workflow-helpers.js +26 -0
  465. package/dist/workflow-helpers.js.map +1 -1
  466. package/dist/workflows/triggers/webhook-trigger-registrar.js +22 -15
  467. package/dist/workflows/triggers/webhook-trigger-registrar.js.map +1 -1
  468. package/dist/workflows/triggers/workflow-trigger-activator.js +1 -7
  469. package/dist/workflows/triggers/workflow-trigger-activator.js.map +1 -1
  470. package/dist/workflows/workflow-creation.service.d.ts +2 -0
  471. package/dist/workflows/workflow-creation.service.js +4 -2
  472. package/dist/workflows/workflow-creation.service.js.map +1 -1
  473. package/dist/workflows/workflow-execution.service.js +8 -5
  474. package/dist/workflows/workflow-execution.service.js.map +1 -1
  475. package/dist/workflows/workflow-finder.service.d.ts +5 -2
  476. package/dist/workflows/workflow-finder.service.js +25 -2
  477. package/dist/workflows/workflow-finder.service.js.map +1 -1
  478. package/dist/workflows/workflow-history/workflow-history.service.d.ts +4 -1
  479. package/dist/workflows/workflow-history/workflow-history.service.js +3 -1
  480. package/dist/workflows/workflow-history/workflow-history.service.js.map +1 -1
  481. package/dist/workflows/workflow-validation.service.js +3 -3
  482. package/dist/workflows/workflow-validation.service.js.map +1 -1
  483. package/dist/workflows/workflow.request.d.ts +7 -22
  484. package/dist/workflows/workflow.service.d.ts +2 -0
  485. package/dist/workflows/workflow.service.js +4 -2
  486. package/dist/workflows/workflow.service.js.map +1 -1
  487. package/dist/workflows/workflows.controller.d.ts +1 -1
  488. package/dist/workflows/workflows.controller.js +8 -3
  489. package/dist/workflows/workflows.controller.js.map +1 -1
  490. package/package.json +43 -38
  491. package/templates/form-trigger-completion.handlebars +6 -6
  492. package/dist/executions/execution-data/azure-store.ee.d.ts +0 -15
  493. package/dist/executions/execution-data/azure-store.ee.js +0 -117
  494. package/dist/executions/execution-data/azure-store.ee.js.map +0 -1
  495. package/dist/executions/execution-data/fs-store.d.ts +0 -16
  496. package/dist/executions/execution-data/fs-store.js +0 -118
  497. package/dist/executions/execution-data/fs-store.js.map +0 -1
  498. package/dist/executions/execution-data/s3-store.ee.d.ts +0 -15
  499. package/dist/executions/execution-data/s3-store.ee.js +0 -116
  500. package/dist/executions/execution-data/s3-store.ee.js.map +0 -1
  501. package/dist/modules/agents/builder/from-ai-node-parameters.d.ts +0 -7
  502. package/dist/modules/agents/builder/from-ai-node-parameters.js +0 -43
  503. package/dist/modules/agents/builder/from-ai-node-parameters.js.map +0 -1
  504. package/dist/modules/agents/builder/interactive/ask-llm.tool.d.ts +0 -2
  505. package/dist/modules/agents/builder/interactive/ask-llm.tool.js +0 -25
  506. package/dist/modules/agents/builder/interactive/ask-llm.tool.js.map +0 -1
  507. package/dist/modules/agents/builder/interactive/ask-question.tool.d.ts +0 -2
  508. package/dist/modules/agents/builder/interactive/ask-question.tool.js +0 -27
  509. package/dist/modules/agents/builder/interactive/ask-question.tool.js.map +0 -1
  510. package/dist/modules/agents/json-config/model-id.d.ts +0 -1
  511. package/dist/modules/agents/json-config/model-id.js +0 -8
  512. package/dist/modules/agents/json-config/model-id.js.map +0 -1
  513. package/dist/modules/agents/json-config/native-web-search-provider-tools.d.ts +0 -7
  514. package/dist/modules/agents/json-config/native-web-search-provider-tools.js +0 -55
  515. package/dist/modules/agents/json-config/native-web-search-provider-tools.js.map +0 -1
  516. package/dist/modules/n8n-packages/engine/import-pipeline.d.ts +0 -28
  517. package/dist/modules/n8n-packages/engine/import-pipeline.js +0 -204
  518. package/dist/modules/n8n-packages/engine/import-pipeline.js.map +0 -1
@@ -43,25 +43,31 @@ var __metadata = (this && this.__metadata) || function (k, v) {
43
43
  };
44
44
  Object.defineProperty(exports, "__esModule", { value: true });
45
45
  exports.AgentsService = void 0;
46
+ const agent_config_1 = require("@n8n/ai-utilities/agent-config");
46
47
  const backend_common_1 = require("@n8n/backend-common");
47
48
  const db_1 = require("@n8n/db");
48
49
  const di_1 = require("@n8n/di");
49
50
  const uuid_1 = require("uuid");
51
+ const not_found_error_1 = require("../../errors/response-errors/not-found.error");
50
52
  const agent_knowledge_service_1 = require("./agent-knowledge.service");
51
53
  const agent_runtime_cache_service_1 = require("./agent-runtime-cache.service");
52
54
  const agent_test_chat_service_1 = require("./agent-test-chat.service");
53
55
  const chat_integration_service_1 = require("./integrations/chat-integration.service");
56
+ const agent_task_repository_1 = require("./repositories/agent-task.repository");
54
57
  const agent_repository_1 = require("./repositories/agent.repository");
55
58
  const sub_agent_cleanup_service_1 = require("./sub-agents/sub-agent-cleanup.service");
59
+ const event_service_1 = require("../../events/event.service");
56
60
  let AgentsService = class AgentsService {
57
- constructor(logger, agentRepository, projectRelationRepository, agentKnowledgeService, runtimeCacheService, testChatService, subAgentCleanupService) {
61
+ constructor(logger, agentRepository, projectRelationRepository, agentKnowledgeService, runtimeCacheService, testChatService, agentTaskRepository, subAgentCleanupService, eventService) {
58
62
  this.logger = logger;
59
63
  this.agentRepository = agentRepository;
60
64
  this.projectRelationRepository = projectRelationRepository;
61
65
  this.agentKnowledgeService = agentKnowledgeService;
62
66
  this.runtimeCacheService = runtimeCacheService;
63
67
  this.testChatService = testChatService;
68
+ this.agentTaskRepository = agentTaskRepository;
64
69
  this.subAgentCleanupService = subAgentCleanupService;
70
+ this.eventService = eventService;
65
71
  }
66
72
  async create(projectId, name) {
67
73
  const defaultConfig = {
@@ -90,6 +96,60 @@ let AgentsService = class AgentsService {
90
96
  async findById(agentId, projectId) {
91
97
  return await this.agentRepository.findByIdAndProjectId(agentId, projectId);
92
98
  }
99
+ async getCapabilitySummary(agentId, projectId) {
100
+ const entity = await this.agentRepository.findByIdAndProjectId(agentId, projectId);
101
+ if (!entity)
102
+ throw new not_found_error_1.NotFoundError('Agent not found');
103
+ const schema = entity.schema;
104
+ const modelId = schema?.model ?? '';
105
+ const model = modelId ? (0, agent_config_1.splitModelId)(modelId) : null;
106
+ const channels = (entity.integrations ?? []).map((integration) => ({
107
+ type: integration.type,
108
+ }));
109
+ const tools = (schema?.tools ?? []).flatMap((tool) => {
110
+ switch (tool.type) {
111
+ case 'custom':
112
+ return [{ type: 'custom', name: entity.tools[tool.id]?.descriptor?.name ?? tool.id }];
113
+ case 'workflow':
114
+ return [{ type: 'workflow', name: tool.name ?? tool.workflow }];
115
+ case 'node':
116
+ return [
117
+ {
118
+ type: 'node',
119
+ name: tool.name,
120
+ nodeType: tool.node?.nodeType,
121
+ nodeTypeVersion: tool.node?.nodeTypeVersion,
122
+ },
123
+ ];
124
+ default:
125
+ return [];
126
+ }
127
+ });
128
+ const skills = (schema?.skills ?? []).map((skill) => ({
129
+ id: skill.id,
130
+ name: entity.skills[skill.id]?.name ?? skill.id,
131
+ }));
132
+ const taskRefs = schema?.tasks ?? [];
133
+ let taskNamesById = {};
134
+ if (taskRefs.length > 0) {
135
+ const taskBodies = await this.agentTaskRepository.findByAgentId(agentId);
136
+ taskNamesById = Object.fromEntries(taskBodies.map((task) => [task.id, task.name]));
137
+ }
138
+ const tasks = taskRefs.map((task) => ({
139
+ id: task.id,
140
+ name: taskNamesById[task.id] ?? task.id,
141
+ enabled: task.enabled,
142
+ }));
143
+ return {
144
+ id: entity.id,
145
+ name: entity.name,
146
+ model,
147
+ channels,
148
+ tools,
149
+ skills,
150
+ tasks,
151
+ };
152
+ }
93
153
  async findByUser(userId) {
94
154
  const projectRelations = await this.projectRelationRepository.findAllByUser(userId);
95
155
  const projectIds = projectRelations.map((pr) => pr.projectId);
@@ -139,6 +199,7 @@ let AgentsService = class AgentsService {
139
199
  await this.agentRepository.remove(agent);
140
200
  this.runtimeCacheService.clearRuntimes(agentId);
141
201
  await this.subAgentCleanupService.removeSubAgentFromParents(agentId, projectId);
202
+ this.eventService.emit('agent-deleted', { agentId, projectId });
142
203
  try {
143
204
  const { AgentTaskService } = await Promise.resolve().then(() => __importStar(require('./agent-task.service')));
144
205
  await di_1.Container.get(AgentTaskService).requestReconcile(agentId);
@@ -171,6 +232,8 @@ exports.AgentsService = AgentsService = __decorate([
171
232
  agent_knowledge_service_1.AgentKnowledgeService,
172
233
  agent_runtime_cache_service_1.AgentRuntimeCacheService,
173
234
  agent_test_chat_service_1.AgentTestChatService,
174
- sub_agent_cleanup_service_1.SubAgentCleanupService])
235
+ agent_task_repository_1.AgentTaskRepository,
236
+ sub_agent_cleanup_service_1.SubAgentCleanupService,
237
+ event_service_1.EventService])
175
238
  ], AgentsService);
176
239
  //# sourceMappingURL=agents.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agents.service.js","sourceRoot":"","sources":["../../../src/modules/agents/agents.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents.service.js","sourceRoot":"","sources":["../../../src/modules/agents/agents.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { User } from '@n8n/db';
2
+ import { WorkflowFinderService } from '../../workflows/workflow-finder.service';
3
+ export interface AttachableWorkflow {
4
+ name: string;
5
+ active: boolean;
6
+ triggerType: string;
7
+ }
8
+ export declare class AttachableWorkflowsService {
9
+ private readonly workflowFinderService;
10
+ constructor(workflowFinderService: WorkflowFinderService);
11
+ list(user: User, projectId: string, searchTerm?: string): Promise<AttachableWorkflow[]>;
12
+ }
@@ -0,0 +1,58 @@
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.AttachableWorkflowsService = void 0;
13
+ const di_1 = require("@n8n/di");
14
+ const workflow_finder_service_1 = require("../../workflows/workflow-finder.service");
15
+ const SUPPORTED_TRIGGERS = {
16
+ 'n8n-nodes-base.manualTrigger': 'manual',
17
+ 'n8n-nodes-base.executeWorkflowTrigger': 'executeWorkflow',
18
+ 'n8n-nodes-base.chatTrigger': 'chat',
19
+ 'n8n-nodes-base.scheduleTrigger': 'schedule',
20
+ 'n8n-nodes-base.formTrigger': 'form',
21
+ };
22
+ const MAX_ATTACHABLE_WORKFLOWS = 10;
23
+ let AttachableWorkflowsService = class AttachableWorkflowsService {
24
+ constructor(workflowFinderService) {
25
+ this.workflowFinderService = workflowFinderService;
26
+ }
27
+ async list(user, projectId, searchTerm = '') {
28
+ const workflows = await this.workflowFinderService.findAllWorkflowsForUser(user, ['workflow:read'], undefined, projectId);
29
+ const normalizedSearchTerm = searchTerm.trim().toLowerCase();
30
+ const byId = new Map();
31
+ for (const workflow of workflows) {
32
+ if (!byId.has(workflow.id))
33
+ byId.set(workflow.id, workflow);
34
+ }
35
+ return Array.from(byId.values())
36
+ .filter((workflow) => normalizedSearchTerm === '' || workflow.name.toLowerCase().includes(normalizedSearchTerm))
37
+ .sort((a, b) => b.updatedAt.getTime() - a.updatedAt.getTime())
38
+ .flatMap((workflow) => {
39
+ const triggerNode = (workflow.nodes ?? []).find((node) => SUPPORTED_TRIGGERS[node.type]);
40
+ if (!triggerNode)
41
+ return [];
42
+ return [
43
+ {
44
+ name: workflow.name,
45
+ active: workflow.active,
46
+ triggerType: SUPPORTED_TRIGGERS[triggerNode.type],
47
+ },
48
+ ];
49
+ })
50
+ .slice(0, MAX_ATTACHABLE_WORKFLOWS);
51
+ }
52
+ };
53
+ exports.AttachableWorkflowsService = AttachableWorkflowsService;
54
+ exports.AttachableWorkflowsService = AttachableWorkflowsService = __decorate([
55
+ (0, di_1.Service)(),
56
+ __metadata("design:paramtypes", [workflow_finder_service_1.WorkflowFinderService])
57
+ ], AttachableWorkflowsService);
58
+ //# sourceMappingURL=attachable-workflows.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachable-workflows.service.js","sourceRoot":"","sources":["../../../src/modules/agents/attachable-workflows.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,gCAAkC;AAElC,iFAA4E;AAW5E,MAAM,kBAAkB,GAA2B;IAClD,8BAA8B,EAAE,QAAQ;IACxC,uCAAuC,EAAE,iBAAiB;IAC1D,4BAA4B,EAAE,MAAM;IACpC,gCAAgC,EAAE,UAAU;IAC5C,4BAA4B,EAAE,MAAM;CACpC,CAAC;AAIF,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAU7B,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IACtC,YAA6B,qBAA4C;QAA5C,0BAAqB,GAArB,qBAAqB,CAAuB;IAAG,CAAC;IAE7E,KAAK,CAAC,IAAI,CAAC,IAAU,EAAE,SAAiB,EAAE,UAAU,GAAG,EAAE;QACxD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,uBAAuB,CACzE,IAAI,EACJ,CAAC,eAAe,CAAC,EACjB,SAAS,EACT,SAAS,CACT,CAAC;QACF,MAAM,oBAAoB,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAG7D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAsC,CAAC;QAC3D,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;aAC9B,MAAM,CACN,CAAC,QAAQ,EAAE,EAAE,CACZ,oBAAoB,KAAK,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAC1F;aACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;aAC7D,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACrB,MAAM,WAAW,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACzF,IAAI,CAAC,WAAW;gBAAE,OAAO,EAAE,CAAC;YAC5B,OAAO;gBACN;oBACC,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,WAAW,EAAE,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC;iBACjD;aACD,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC;IACtC,CAAC;CACD,CAAA;AArCY,gEAA0B;qCAA1B,0BAA0B;IADtC,IAAA,YAAO,GAAE;qCAE2C,+CAAqB;GAD7D,0BAA0B,CAqCtC"}
@@ -70,10 +70,11 @@ tool-capable.
70
70
  Treat this list as authoritative for model recommendations. Use these models
71
71
  when the user does not know what model to pick. Prefer a recommended model for
72
72
  a provider the user has credentials for; then call resolve_llm with that
73
- provider and model, or ask_llm if the user needs to choose a credential.
73
+ provider and model, or ask via ask_questions if the user needs to choose a
74
+ credential.
74
75
  Do not mention models outside this list unless the user explicitly names one
75
76
  and resolve_llm validates it. Do not write a model or credential directly
76
- without a resolve_llm or ask_llm result.
77
+ without a resolve_llm result.
77
78
 
78
79
  ${rows.join('\n')}`;
79
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agents-builder-model-recommendations.js","sourceRoot":"","sources":["../../../../src/modules/agents/builder/agents-builder-model-recommendations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents-builder-model-recommendations.js","sourceRoot":"","sources":["../../../../src/modules/agents/builder/agents-builder-model-recommendations.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,13 @@ export declare function getAgentStateSection(configJson: string, configHash: str
2
2
  export declare const TARGET_AGENT_SECTION = "## Builder vs Target Agent\n\nYou are the builder agent, not the target agent.\nThe target agent is the AI agent you are configuring for the user. Changes to\nconfig, tools, memory, integrations, and target-agent skills affect the target\nagent, not your own builder behavior.";
3
3
  export declare function getConversationModeSection(agentPreviewPath: string): string;
4
4
  export declare function getBuilderSkillRoutingSection(): string;
5
- export declare const INTERACTIVE_TOOLS_SECTION = "## Interactive tools\n\nThese tools render a UI card in the chat and suspend your run until the user\nresponds. Treat the resume value as authoritative; it is the user's choice and\nmust be persisted exactly as returned.\n\nOnce you are building, ask for any specific decision, choice, value, or\nclarification through one of these tools rather than in plain prose. Use\n`ask_llm` for the model/credential, `ask_credential` for node-tool credentials,\nand `ask_question` for everything else. Exception: the opening reply to a\ngreeting, a \"what do you do\", or a vague intent \u2014 there you reply\nconversationally and ask for the overall goal, per \"When To Build vs When To\nConverse\".\n\n- `ask_llm`: use when the user must choose, confirm, configure, or change the\n target agent's main provider, model, or LLM credential.\n- `ask_credential`: use once per required node-tool credential slot before\n the config mutation that introduces the tool.\n- `ask_question`: the default way to ask the user anything that isn't a model or\n credential choice. Pass discrete `options` when the answer is one or more\n choices from a known small set, or an empty `options` array for an open-ended\n question (renders a freeform card). Never add your own \"Other\" option \u2014 the card\n always includes a freeform field.\n- Never call two interactive tools in parallel. The run suspends on the first.\n- Never re-ask a question the user already answered in this thread.\n- After resume, continue with the next concrete tool action. Do not narrate the\n answer back to the user.";
5
+ export declare const INTERACTIVE_TOOLS_SECTION = "## Interactive tools\n\nThese tools render a UI card in the chat and suspend your run until the user\nresponds. Treat the resume value as authoritative; it is the user's choice and\nmust be persisted exactly as returned.\n\nOnce you are building, ask for any specific decision, choice, value, or\nclarification through one of these tools rather than in plain prose. Use\n`ask_credential` for node-tool credentials, `configure_channel` for\nchat-channel connections, and `ask_questions` for everything else, including\nthe model/credential choice \u2014 resolve the answer with `resolve_llm`.\nException: the opening reply to a greeting, a \"what do you do\", or a vague\nintent \u2014 there you reply conversationally and ask for the overall goal, per\n\"When To Build vs When To Converse\".\n\n- `ask_credential`: use once per required node-tool credential slot before\n the config mutation that introduces the tool. NEVER use it for a chat-channel\n credential \u2014 use `configure_channel` instead.\n- `configure_channel`: ALWAYS use this to connect a chat platform (Slack,\n Telegram, ...) as an agent channel, with a type from `list_integration_types`.\n The setup UI creates and persists the credential itself.\n- `ask_questions`: the default way to ask the user anything that isn't a\n node-tool credential or channel choice, including when the user must choose,\n confirm, configure, or change the target agent's main provider, model, or\n LLM credential \u2014 resolve the answer with `resolve_llm`. Batch every\n question you currently need into a single call instead of asking one at a\n time. Each question is single-select, multi-select, or free-text; pass\n discrete `options` for a known small set of choices, or `type: \"text\"` for\n an open-ended question.\n- Never call two interactive tools in parallel. The run suspends on the first.\n- Never re-ask a question the user already answered in this thread.\n- After resume, continue with the next concrete tool action. Do not narrate the\n answer back to the user.";
6
6
  export declare const N8N_EXPRESSIONS_SECTION = "## n8n expressions\n\nNode tool parameters inside `nodeParameters` can use n8n expressions.\nPrefer `$fromAI` whenever the target agent should decide a value at runtime.\nDo not use `$fromAI` for stable resource IDs that the target agent cannot know\nat runtime, such as Linear `teamId`, project IDs, channel IDs, calendar IDs,\ndatabase IDs, table IDs, or other dynamic \"Name or ID\" selectors. Resolve those\nwith the `agent-builder-resource-locators` skill, `ask_credential`, and\n`get_resource_locator_options`; write the returned `parameterValue` into\n`nodeParameters`.\n\n- `={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('fieldName', 'What value to provide', 'string') }}`\n- `={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('count', 'How many items', 'number') }}`\n- `={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('enabled', 'Whether to enable this option', 'boolean') }}`\n- `={{ $now.toISO() }}` for current date/time.\n- `={{ $today }}` for the start of today.\n\nAlways wrap expressions in `={{ }}`. Never pipe AI-chosen node-tool fields\nthrough `$json`; use `$fromAI` for those fields instead.";
7
7
  export declare const READ_CONFIG_FRESHNESS_SECTION = "## Config Freshness\n\nThe agent config can change at any time \u2014 the user can edit it directly in the UI\nbetween your turns \u2014 so your memory of it is NEVER authoritative. Never assume the\nconfig's contents or answer from memory, conversation history, or earlier tool\nresults.\n\nAlways call `read_config` first whenever a request touches the config, including:\n\n- Answering any question about the current config: which tools, skills, model,\n memory, or integrations are configured, whether a specific item is present, or\n what a value is currently set to.\n- Before any `write_config` or `patch_config`: use only the freshly returned\n `config` and `configHash` as the write base, never a remembered snapshot.\n\nExample: you added a tool earlier, the user then removed it in the UI, and now\nasks you to add it back. Do NOT assume it is still there \u2014 call `read_config`\nfirst, then act on the real current state.\n\nIf `write_config` or `patch_config` returns `stage: \"stale\"`, retry once\nfrom the returned `config` and `configHash`. For any independent later\nchange, call `read_config` again.";
8
- export declare const IMPORTANT_SECTION = "## Important\n\n- Credentials are user-controlled. Use `resolve_llm` or `ask_llm` for the\n target agent's main model, and `ask_credential` for node-tool,\n integration, or Episodic Memory credentials. Never copy credential IDs from\n `list_credentials` into config.\n- To get a specific decision, choice, or value for a build step, use\n `ask_question` (discrete options for a known set, empty options for\n open-ended), or `ask_llm`/`ask_credential` for model and credential choices \u2014\n not plain prose. Replying conversationally to a greeting or vague intent to ask\n for the overall goal is fine; see \"When To Build vs When To Converse\".\n- Tool preference order for real-world integrations:\n 1. MCP servers (`search_mcp_servers`) \u2014 always check first\n 2. Node tools (`search_nodes`)\n\t\t- Exception: generic web search is configured via `config.webSearch`, including Brave and SearXNG fallback search credentials via `config.webSearch.fallbackSearchCredentials`. Do not call `search_nodes` for web search.\n 3. Workflow tools (`list_workflows`)\n 4. Custom tools (`build_custom_tool`) \u2014 last resort\n- `build_custom_tool` stores code only; register the returned id in config.\n- `create_skill` stores a target-agent skill body only. Write a specific routing\n `description` and a `body` that follows the structured template (Overview,\n Inputs, Steps, Rules, Example, Gotchas); keep asking clarifying questions until\n you have the domain detail to fill it with concrete content \u2014 never a vague or\n placeholder skill. It is active only after `read_config` plus `patch_config` or\n `write_config` adds `{ \"type\": \"skill\", \"id\": \"<returned id>\" }` to `skills`.\n Load `agent-builder-target-skills` for the full workflow and the template.\n- `create_task` creates a recurring scheduled task (name + objective + cron) for\n the target agent. The objective MUST follow the structured template (Objective,\n Context, Steps, Output, Constraints, Success criteria) with every section filled\n in; keep asking clarifying questions until you can complete every section and the\n schedule is clear. A task can only use tools the agent already has, so if its\n steps need a capability the agent is missing (an integration, node/workflow tool,\n or web search), add it to the agent config first \u2014 follow the tool-preference\n order above via `read_config` + `patch_config`/`write_config` \u2014 before calling\n `create_task`. `create_task` adds a `{ type: \"task\", id, enabled }` ref to\n `config.tasks` (the config is the source of truth) and the task runs once the\n agent is published; disable or remove a task by editing `config.tasks`. Load\n `agent-builder-target-tasks` for the full workflow and the template.\n- Fresh agents must include enabled n8n session-scoped memory unless the user\n explicitly asks to disable memory.";
8
+ export declare const IMPORTANT_SECTION = "## Important\n\n- Credentials are user-controlled. Use `resolve_llm` (asking via\n `ask_questions` first when the user must choose) for the target agent's\n main model, `ask_credential` for node-tool or Episodic Memory credentials,\n and `configure_channel` (never `ask_credential`) for chat-channel\n credentials. Never copy credential IDs from `list_credentials` into config.\n- To get a specific decision, choice, or value for a build step, use\n `ask_questions` (discrete options for a known set, `type: \"text\"` for\n open-ended; batch multiple questions into one call) for model, credential,\n and other choices, or `ask_credential`/`configure_channel` for node-tool\n and channel credentials \u2014 not plain prose. Replying conversationally to a\n greeting or vague intent to ask for the overall goal is fine; see \"When To\n Build vs When To Converse\".\n- Tool preference order for real-world integrations:\n 1. MCP servers (`search_mcp_servers`) \u2014 always check first\n 2. Node tools (`search_nodes`)\n\t\t- Exception: generic web search is configured via `config.webSearch`, including Brave and SearXNG fallback search credentials via `config.webSearch.fallbackSearchCredentials`. Do not call `search_nodes` for web search.\n 3. Workflow tools (`list_workflows`)\n 4. Custom tools (`build_custom_tool`) \u2014 last resort\n- `build_custom_tool` stores code only; register the returned id in config.\n- `create_skill` stores a target-agent skill body only. Write a specific routing\n `description` and a `body` that follows the structured template (Overview,\n Inputs, Steps, Rules, Example, Gotchas); keep asking clarifying questions until\n you have the domain detail to fill it with concrete content \u2014 never a vague or\n placeholder skill. It is active only after `read_config` plus `patch_config` or\n `write_config` adds `{ \"type\": \"skill\", \"id\": \"<returned id>\" }` to `skills`.\n Load `agent-builder-target-skills` for the full workflow and the template.\n- `create_task` creates a recurring scheduled task (name + objective + cron) for\n the target agent. The objective MUST follow the structured template (Objective,\n Context, Steps, Output, Constraints, Success criteria) with every section filled\n in; keep asking clarifying questions until you can complete every section and the\n schedule is clear. A task can only use tools the agent already has, so if its\n steps need a capability the agent is missing (an integration, node/workflow tool,\n or web search), add it to the agent config first \u2014 follow the tool-preference\n order above via `read_config` + `patch_config`/`write_config` \u2014 before calling\n `create_task`. `create_task` adds a `{ type: \"task\", id, enabled }` ref to\n `config.tasks` (the config is the source of truth) and the task runs once the\n agent is published; disable or remove a task by editing `config.tasks`. Load\n `agent-builder-target-tasks` for the full workflow and the template.\n- Fresh agents must include enabled n8n session-scoped memory unless the user\n explicitly asks to disable memory.";
9
9
  export declare const RESPONSE_STYLE_SECTION = "## Response Style\n\nBe concise. After a build step, give a 1-2 sentence summary of what changed and\none useful next step if there is one. Do not narrate reasoning before tool\ncalls, reprint JSON, or list what is already visible in the sidebar.";
10
- export declare const WORKFLOW_SECTION = "## Workflow\n\n1. If the agent has no `instructions` and `credential` yet, call\n `resolve_llm` when the user specified a provider/model, or call `ask_llm` if user didn't specify a provider/model.\n2. Draft real target-agent `instructions`; never write empty placeholders.\n3. Use `ask_question` for clarifying questions with discrete options.\n4. Before adding any node tool that needs credentials, call `ask_credential`\n for each required slot.\n5. Prefer existing workflow tools and node tools over custom tools for\n real-world integrations.\n6. Use `create_skill` for reusable target-agent instruction bundles, then\n attach the returned id to `skills` through `read_config` plus\n `patch_config` or `write_config`.\n7. Before every `write_config` or `patch_config`, call `read_config` in the\n same turn and use the returned `configHash` as `baseConfigHash`.";
11
- export declare const FEW_SHOT_FLOWS_SECTION = "## Example flows\n\n### New agent: \"Build me a Slack triage agent\"\n1. `ask_llm({ purpose: \"Choose a model\" })` -> resolved provider, model, and credential.\n2. `search_nodes({ query: \"slack\" })`, then `get_node_types(...)`.\n3. `ask_credential(...)` for the Slack credential slot.\n4. `read_config()`.\n5. `write_config(...)` with model, credential, instructions, and Slack tool.\n\n### New agent: \"Use Anthropic via OpenRouter\"\n1. `resolve_llm({ provider: \"openrouter\" })`.\n2. `read_config()`.\n3. `write_config(...)` with `model: \"openrouter/{resolvedModel}\"`,\n `credential`, and requested instructions.\n\n### Change the existing model\n1. `ask_llm({ purpose: \"Choose a different model\" })`.\n2. `read_config()`.\n3. `patch_config(...)` replacing `/model` and `/credential`.\n\n### Add a node tool to an existing agent\n1. Search and inspect the node type.\n2. `ask_credential` for every required slot.\n3. `read_config()`.\n4. `patch_config(...)` adding the node tool to `/tools/-`.\n\n### Add a node tool when credential setup is skipped\n1. Search and inspect the node type.\n2. `ask_credential(...)` -> `{ skipped: true }`.\n3. `read_config()`.\n4. `patch_config(...)` adding the tool and omitting only the skipped\n credential slot. Do not abort the tool addition.\n\n### Add MCP integration: \"Connect Notion MCP\"\n1. `load_skill({ \"skillId\": \"agent-builder-mcp\" })`.\n2. `search_mcp_servers({ queries: [\"notion\"] })`.\n3. `ask_credential({ credentialType: \"<result.credentialType>\" })`.\n4. `verify_mcp_server({ name, url, transport, authentication, credential })`.\n5. `read_config()`.\n6. `patch_config(...)` adding a new `/mcpServers/-` entry (including\n `metadata.nodeTypeName` when returned by `search_mcp_servers`).\n\n### Ambiguous request: \"Make it post somewhere\"\n1. `ask_question(...)` with the known destination choices.\n2. Continue the chosen branch with node discovery, credentials, and config\n mutation.";
10
+ export declare const WORKFLOW_SECTION = "## Workflow\n\n1. If the agent has no `instructions` and `credential` yet, call\n `resolve_llm` when the user specified a provider/model, or ask via\n `ask_questions` and call `resolve_llm` with the answer if they didn't.\n2. Draft real target-agent `instructions`; never write empty placeholders.\n3. Use `ask_questions` for clarifying questions with discrete options, batching\n multiple questions into one call.\n4. Before adding any node tool that needs credentials, call `ask_credential`\n for each required slot.\n5. Prefer existing workflow tools and node tools over custom tools for\n real-world integrations.\n6. Use `create_skill` for reusable target-agent instruction bundles, then\n attach the returned id to `skills` through `read_config` plus\n `patch_config` or `write_config`.\n7. Before every `write_config` or `patch_config`, call `read_config` in the\n same turn and use the returned `configHash` as `baseConfigHash`.";
11
+ export declare const FEW_SHOT_FLOWS_SECTION = "## Example flows\n\n### New agent: \"Build me a Slack triage agent\"\n1. `ask_questions({ ... })` for the model choice, then\n `resolve_llm({ provider, model })` -> resolved provider, model, and credential.\n2. `search_nodes({ query: \"slack\" })`, then `get_node_types(...)`.\n3. `ask_credential(...)` for the Slack credential slot.\n4. `read_config()`.\n5. `write_config(...)` with model, credential, instructions, and Slack tool.\n\n### New agent: \"Use Anthropic via OpenRouter\"\n1. `resolve_llm({ provider: \"openrouter\" })`.\n2. `read_config()`.\n3. `write_config(...)` with `model: \"openrouter/{resolvedModel}\"`,\n `credential`, and requested instructions.\n\n### Change the existing model\n1. `ask_questions({ ... })` for the new model choice, then\n `resolve_llm({ provider, model })`.\n2. `read_config()`.\n3. `patch_config(...)` replacing `/model` and `/credential`.\n\n### Add a node tool to an existing agent\n1. Search and inspect the node type.\n2. `ask_credential` for every required slot.\n3. `read_config()`.\n4. `patch_config(...)` adding the node tool to `/tools/-`.\n\n### Add a node tool when credential setup is skipped\n1. Search and inspect the node type.\n2. `ask_credential(...)` -> `{ skipped: true }`.\n3. `read_config()`.\n4. `patch_config(...)` adding the tool and omitting only the skipped\n credential slot. Do not abort the tool addition.\n\n### Add MCP integration: \"Connect Notion MCP\"\n1. `load_skill({ \"skillId\": \"agent-builder-mcp\" })`.\n2. `search_mcp_servers({ queries: [\"notion\"] })`.\n3. `ask_credential({ credentialType: \"<result.credentialType>\" })`.\n4. `verify_mcp_server({ name, url, transport, authentication, credential })`.\n5. `read_config()`.\n6. `patch_config(...)` adding a new `/mcpServers/-` entry (including\n `metadata.nodeTypeName` when returned by `search_mcp_servers`).\n\n### Ambiguous request: \"Make it post somewhere\"\n1. `ask_questions(...)` with the known destination choices.\n2. Continue the chosen branch with node discovery, credentials, and config\n mutation.";
12
12
  export interface BuilderPromptContext {
13
13
  configJson: string;
14
14
  configHash: string | null;
@@ -93,21 +93,27 @@ must be persisted exactly as returned.
93
93
 
94
94
  Once you are building, ask for any specific decision, choice, value, or
95
95
  clarification through one of these tools rather than in plain prose. Use
96
- \`ask_llm\` for the model/credential, \`ask_credential\` for node-tool credentials,
97
- and \`ask_question\` for everything else. Exception: the opening reply to a
98
- greeting, a "what do you do", or a vague intent — there you reply
99
- conversationally and ask for the overall goal, per "When To Build vs When To
100
- Converse".
101
-
102
- - \`ask_llm\`: use when the user must choose, confirm, configure, or change the
103
- target agent's main provider, model, or LLM credential.
96
+ \`ask_credential\` for node-tool credentials, \`configure_channel\` for
97
+ chat-channel connections, and \`ask_questions\` for everything else, including
98
+ the model/credential choice resolve the answer with \`resolve_llm\`.
99
+ Exception: the opening reply to a greeting, a "what do you do", or a vague
100
+ intent — there you reply conversationally and ask for the overall goal, per
101
+ "When To Build vs When To Converse".
102
+
104
103
  - \`ask_credential\`: use once per required node-tool credential slot before
105
- the config mutation that introduces the tool.
106
- - \`ask_question\`: the default way to ask the user anything that isn't a model or
107
- credential choice. Pass discrete \`options\` when the answer is one or more
108
- choices from a known small set, or an empty \`options\` array for an open-ended
109
- question (renders a freeform card). Never add your own "Other" option — the card
110
- always includes a freeform field.
104
+ the config mutation that introduces the tool. NEVER use it for a chat-channel
105
+ credential use \`configure_channel\` instead.
106
+ - \`configure_channel\`: ALWAYS use this to connect a chat platform (Slack,
107
+ Telegram, ...) as an agent channel, with a type from \`list_integration_types\`.
108
+ The setup UI creates and persists the credential itself.
109
+ - \`ask_questions\`: the default way to ask the user anything that isn't a
110
+ node-tool credential or channel choice, including when the user must choose,
111
+ confirm, configure, or change the target agent's main provider, model, or
112
+ LLM credential — resolve the answer with \`resolve_llm\`. Batch every
113
+ question you currently need into a single call instead of asking one at a
114
+ time. Each question is single-select, multi-select, or free-text; pass
115
+ discrete \`options\` for a known small set of choices, or \`type: "text"\` for
116
+ an open-ended question.
111
117
  - Never call two interactive tools in parallel. The run suspends on the first.
112
118
  - Never re-ask a question the user already answered in this thread.
113
119
  - After resume, continue with the next concrete tool action. Do not narrate the
@@ -158,15 +164,18 @@ change, call \`read_config\` again.`;
158
164
  exports.IMPORTANT_SECTION = `\
159
165
  ## Important
160
166
 
161
- - Credentials are user-controlled. Use \`resolve_llm\` or \`ask_llm\` for the
162
- target agent's main model, and \`ask_credential\` for node-tool,
163
- integration, or Episodic Memory credentials. Never copy credential IDs from
164
- \`list_credentials\` into config.
167
+ - Credentials are user-controlled. Use \`resolve_llm\` (asking via
168
+ \`ask_questions\` first when the user must choose) for the target agent's
169
+ main model, \`ask_credential\` for node-tool or Episodic Memory credentials,
170
+ and \`configure_channel\` (never \`ask_credential\`) for chat-channel
171
+ credentials. Never copy credential IDs from \`list_credentials\` into config.
165
172
  - To get a specific decision, choice, or value for a build step, use
166
- \`ask_question\` (discrete options for a known set, empty options for
167
- open-ended), or \`ask_llm\`/\`ask_credential\` for model and credential choices —
168
- not plain prose. Replying conversationally to a greeting or vague intent to ask
169
- for the overall goal is fine; see "When To Build vs When To Converse".
173
+ \`ask_questions\` (discrete options for a known set, \`type: "text"\` for
174
+ open-ended; batch multiple questions into one call) for model, credential,
175
+ and other choices, or \`ask_credential\`/\`configure_channel\` for node-tool
176
+ and channel credentials not plain prose. Replying conversationally to a
177
+ greeting or vague intent to ask for the overall goal is fine; see "When To
178
+ Build vs When To Converse".
170
179
  - Tool preference order for real-world integrations:
171
180
  1. MCP servers (\`search_mcp_servers\`) — always check first
172
181
  2. Node tools (\`search_nodes\`)
@@ -205,9 +214,11 @@ exports.WORKFLOW_SECTION = `\
205
214
  ## Workflow
206
215
 
207
216
  1. If the agent has no \`instructions\` and \`credential\` yet, call
208
- \`resolve_llm\` when the user specified a provider/model, or call \`ask_llm\` if user didn't specify a provider/model.
217
+ \`resolve_llm\` when the user specified a provider/model, or ask via
218
+ \`ask_questions\` and call \`resolve_llm\` with the answer if they didn't.
209
219
  2. Draft real target-agent \`instructions\`; never write empty placeholders.
210
- 3. Use \`ask_question\` for clarifying questions with discrete options.
220
+ 3. Use \`ask_questions\` for clarifying questions with discrete options, batching
221
+ multiple questions into one call.
211
222
  4. Before adding any node tool that needs credentials, call \`ask_credential\`
212
223
  for each required slot.
213
224
  5. Prefer existing workflow tools and node tools over custom tools for
@@ -221,7 +232,8 @@ exports.FEW_SHOT_FLOWS_SECTION = `\
221
232
  ## Example flows
222
233
 
223
234
  ### New agent: "Build me a Slack triage agent"
224
- 1. \`ask_llm({ purpose: "Choose a model" })\` -> resolved provider, model, and credential.
235
+ 1. \`ask_questions({ ... })\` for the model choice, then
236
+ \`resolve_llm({ provider, model })\` -> resolved provider, model, and credential.
225
237
  2. \`search_nodes({ query: "slack" })\`, then \`get_node_types(...)\`.
226
238
  3. \`ask_credential(...)\` for the Slack credential slot.
227
239
  4. \`read_config()\`.
@@ -234,7 +246,8 @@ exports.FEW_SHOT_FLOWS_SECTION = `\
234
246
  \`credential\`, and requested instructions.
235
247
 
236
248
  ### Change the existing model
237
- 1. \`ask_llm({ purpose: "Choose a different model" })\`.
249
+ 1. \`ask_questions({ ... })\` for the new model choice, then
250
+ \`resolve_llm({ provider, model })\`.
238
251
  2. \`read_config()\`.
239
252
  3. \`patch_config(...)\` replacing \`/model\` and \`/credential\`.
240
253
 
@@ -261,7 +274,7 @@ exports.FEW_SHOT_FLOWS_SECTION = `\
261
274
  \`metadata.nodeTypeName\` when returned by \`search_mcp_servers\`).
262
275
 
263
276
  ### Ambiguous request: "Make it post somewhere"
264
- 1. \`ask_question(...)\` with the known destination choices.
277
+ 1. \`ask_questions(...)\` with the known destination choices.
265
278
  2. Continue the chosen branch with node discovery, credentials, and config
266
279
  mutation.`;
267
280
  function buildBuilderPrompt(ctx) {
@@ -1 +1 @@
1
- {"version":3,"file":"agents-builder-prompts.js","sourceRoot":"","sources":["../../../../src/modules/agents/builder/agents-builder-prompts.ts"],"names":[],"mappings":";;;AAKA,oDAwBC;AAUD,gEAiBC;AAMD,sEA8BC;AAuMD,gDA8BC;AAjUD,6EAA2E;AAC3E,yEAAuE;AACvE,2DAAwD;AACxD,yDAAsD;AAEtD,SAAgB,oBAAoB,CACnC,UAAkB,EAClB,UAAyB,EACzB,eAA8B,EAC9B,QAAgB;IAEhB,OAAO;;;gBAGQ,UAAU,IAAI,MAAM;eACrB,eAAe,IAAI,MAAM;;;EAGtC,UAAU;;;;;;;;;;EAUV,QAAQ,EAAE,CAAC;AACb,CAAC;AAEY,QAAA,oBAAoB,GAAG;;;;;;sCAME,CAAC;AAEvC,SAAgB,0BAA0B,CAAC,gBAAwB;IAClE,OAAO;;;;;;;;;;;yBAWiB,gBAAgB;;;;oEAI2B,CAAC;AACrE,CAAC;AAMD,SAAgB,6BAA6B;IAC5C,MAAM,KAAK,GAAa;QACvB,iFAAiF;YAChF,kFAAkF;YAClF,0DAA0D;QAC3D,0JAA0J;QAC1J,4WAA4W;QAC5W,mLAAmL;QACnL,wEAAwE;QACxE,0FAA0F;KAC1F,CAAC;IAEF,OAAO;;;;;;;;EAQN,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;2CASyB,CAAC;AAC5C,CAAC;AAEY,QAAA,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA2Bd,CAAC;AAEf,QAAA,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;6DAmBsB,CAAC;AAEjD,QAAA,6BAA6B,GAAG;;;;;;;;;;;;;;;;;;;;;;oCAsBT,CAAC;AAExB,QAAA,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAuCI,CAAC;AAEzB,QAAA,sBAAsB,GAAG;;;;;qEAK+B,CAAC;AAEzD,QAAA,gBAAgB,GAAG;;;;;;;;;;;;;;;wEAewC,CAAC;AAE5D,QAAA,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA8CzB,CAAC;AAYd,SAAgB,kBAAkB,CAAC,GAAyB;IAC3D,MAAM,EACL,UAAU,EACV,UAAU,EACV,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,2BAA2B,GAC3B,GAAG,GAAG,CAAC;IAER,MAAM,QAAQ,GAAG;QAChB,6IAA6I;QAC7I,4BAAoB;QACpB,oBAAoB,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,CAAC;QACvE,0BAA0B,CAAC,gBAAgB,CAAC;QAC5C,IAAA,gDAAuB,GAAE;QACzB,IAAA,4CAAqB,EAAC,2BAA2B,CAAC;QAClD,6BAAa;QACb,2BAAY;QACZ,6BAA6B,EAAE;QAC/B,iCAAyB;QACzB,+BAAuB;QACvB,qCAA6B;QAC7B,wBAAgB;QAChB,8BAAsB;QACtB,yBAAiB;QACjB,8BAAsB;KACtB,CAAC;IAEF,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"agents-builder-prompts.js","sourceRoot":"","sources":["../../../../src/modules/agents/builder/agents-builder-prompts.ts"],"names":[],"mappings":";;;AAKA,oDAwBC;AAUD,gEAiBC;AAMD,sEA8BC;AAoND,gDA8BC;AA9UD,6EAA2E;AAC3E,yEAAuE;AACvE,2DAAwD;AACxD,yDAAsD;AAEtD,SAAgB,oBAAoB,CACnC,UAAkB,EAClB,UAAyB,EACzB,eAA8B,EAC9B,QAAgB;IAEhB,OAAO;;;gBAGQ,UAAU,IAAI,MAAM;eACrB,eAAe,IAAI,MAAM;;;EAGtC,UAAU;;;;;;;;;;EAUV,QAAQ,EAAE,CAAC;AACb,CAAC;AAEY,QAAA,oBAAoB,GAAG;;;;;;sCAME,CAAC;AAEvC,SAAgB,0BAA0B,CAAC,gBAAwB;IAClE,OAAO;;;;;;;;;;;yBAWiB,gBAAgB;;;;oEAI2B,CAAC;AACrE,CAAC;AAMD,SAAgB,6BAA6B;IAC5C,MAAM,KAAK,GAAa;QACvB,iFAAiF;YAChF,kFAAkF;YAClF,0DAA0D;QAC3D,0JAA0J;QAC1J,4WAA4W;QAC5W,mLAAmL;QACnL,wEAAwE;QACxE,0FAA0F;KAC1F,CAAC;IAEF,OAAO;;;;;;;;EAQN,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;2CASyB,CAAC;AAC5C,CAAC;AAEY,QAAA,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAiCd,CAAC;AAEf,QAAA,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;6DAmBsB,CAAC;AAEjD,QAAA,6BAA6B,GAAG;;;;;;;;;;;;;;;;;;;;;;oCAsBT,CAAC;AAExB,QAAA,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCA0CI,CAAC;AAEzB,QAAA,sBAAsB,GAAG;;;;;qEAK+B,CAAC;AAEzD,QAAA,gBAAgB,GAAG;;;;;;;;;;;;;;;;;wEAiBwC,CAAC;AAE5D,QAAA,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAgDzB,CAAC;AAYd,SAAgB,kBAAkB,CAAC,GAAyB;IAC3D,MAAM,EACL,UAAU,EACV,UAAU,EACV,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,2BAA2B,GAC3B,GAAG,GAAG,CAAC;IAER,MAAM,QAAQ,GAAG;QAChB,6IAA6I;QAC7I,4BAAoB;QACpB,oBAAoB,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,CAAC;QACvE,0BAA0B,CAAC,gBAAgB,CAAC;QAC5C,IAAA,gDAAuB,GAAE;QACzB,IAAA,4CAAqB,EAAC,2BAA2B,CAAC;QAClD,6BAAa;QACb,2BAAY;QACZ,6BAA6B,EAAE;QAC/B,iCAAyB;QACzB,+BAAuB;QACvB,qCAA6B;QAC7B,wBAAgB;QAChB,8BAAsB;QACtB,yBAAiB;QACjB,8BAAsB;KACtB,CAAC;IAEF,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC"}
@@ -3,7 +3,6 @@ import { type AgentJsonConfig } from '@n8n/api-types';
3
3
  import { OutboundHttp, SsrfProtectionService } from '@n8n/backend-network';
4
4
  import { SsrfProtectionConfig } from '@n8n/config';
5
5
  import type { User } from '@n8n/db';
6
- import { WorkflowRepository } from '@n8n/db';
7
6
  import { CredentialTypes } from '../../../credential-types';
8
7
  import { McpRegistryService } from '../../../modules/mcp-registry/registry/mcp-registry.service';
9
8
  import { NodeTypes } from '../../../node-types';
@@ -17,6 +16,7 @@ import { AgentSkillsService } from '../agent-skills.service';
17
16
  import { AgentTaskService } from '../agent-task.service';
18
17
  import { AgentsToolsService } from '../agents-tools.service';
19
18
  import { AgentsService } from '../agents.service';
19
+ import { AttachableWorkflowsService } from '../attachable-workflows.service';
20
20
  import { BuilderModelLiveLookupService } from './builder-model-live-lookup.service';
21
21
  import { AgentRepository } from '../repositories/agent.repository';
22
22
  import { AgentSecureRuntime } from '../runtime/agent-secure-runtime';
@@ -38,7 +38,7 @@ export declare class AgentsBuilderToolsService {
38
38
  private readonly agentIntegrationPersistenceService;
39
39
  private readonly agentSkillsService;
40
40
  private readonly secureRuntime;
41
- private readonly workflowRepository;
41
+ private readonly attachableWorkflowsService;
42
42
  private readonly agentsToolsService;
43
43
  private readonly builderModelLiveLookupService;
44
44
  private readonly mcpRegistryService;
@@ -52,9 +52,7 @@ export declare class AgentsBuilderToolsService {
52
52
  private readonly nodeTypes;
53
53
  private readonly ssrfConfig;
54
54
  private readonly ssrfProtectionService;
55
- constructor(agentsService: AgentsService, agentConfigService: AgentConfigService, agentCustomToolsService: AgentCustomToolsService, agentIntegrationPersistenceService: AgentIntegrationPersistenceService, agentSkillsService: AgentSkillsService, secureRuntime: AgentSecureRuntime, workflowRepository: WorkflowRepository, agentsToolsService: AgentsToolsService, builderModelLiveLookupService: BuilderModelLiveLookupService, mcpRegistryService: McpRegistryService, oauthService: OauthService, credentialTypes: CredentialTypes, agentTaskService: AgentTaskService, agentRepository: AgentRepository, aiService: AiService, outboundHttp: OutboundHttp, dynamicNodeParametersService: DynamicNodeParametersService, nodeTypes: NodeTypes, ssrfConfig: SsrfProtectionConfig, ssrfProtectionService: SsrfProtectionService);
56
- private getDynamicSelectorPath;
57
- private rejectIfDynamicSelectorUsesFromAi;
55
+ 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, agentRepository: AgentRepository, aiService: AiService, outboundHttp: OutboundHttp, dynamicNodeParametersService: DynamicNodeParametersService, nodeTypes: NodeTypes, ssrfConfig: SsrfProtectionConfig, ssrfProtectionService: SsrfProtectionService);
58
56
  getTools(agentId: string, projectId: string, credentialProvider: CredentialProvider, user: User): BuilderTools;
59
57
  private getJsonTools;
60
58
  private getSharedTools;