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
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildAskQuestionsTool = buildAskQuestionsTool;
4
+ const tool_1 = require("@n8n/agents/tool");
5
+ const api_types_1 = require("@n8n/api-types");
6
+ const nanoid_1 = require("nanoid");
7
+ const n8n_workflow_1 = require("n8n-workflow");
8
+ const zod_1 = require("zod");
9
+ const askQuestionsQuestionSchema = zod_1.z.object({
10
+ id: zod_1.z.string().optional().describe('Unique question identifier; defaults to q1, q2, ...'),
11
+ question: zod_1.z.string().describe('The question text to display to the user'),
12
+ type: zod_1.z
13
+ .enum(['single', 'multi', 'text'])
14
+ .describe('single = pick one option, multi = pick many, text = free-form input'),
15
+ options: zod_1.z
16
+ .array(zod_1.z.string())
17
+ .optional()
18
+ .describe('Suggested answers (required for single/multi, ignored for text)'),
19
+ });
20
+ const askQuestionsInputSchema = zod_1.z.object({
21
+ questions: zod_1.z
22
+ .array(askQuestionsQuestionSchema)
23
+ .min(1)
24
+ .describe('All questions to ask the user, batched into a single card'),
25
+ introMessage: zod_1.z.string().optional().describe('Brief intro text shown above the questions'),
26
+ });
27
+ function withDefaultIds(questions) {
28
+ const explicitIds = questions.map((q) => q.id).filter((id) => id !== undefined);
29
+ if (new Set(explicitIds).size !== explicitIds.length) {
30
+ throw new n8n_workflow_1.UserError('ask_questions: question ids must be unique');
31
+ }
32
+ const usedIds = new Set(explicitIds);
33
+ return questions.map((question, index) => {
34
+ if (question.id)
35
+ return { ...question, id: question.id };
36
+ let candidate = index + 1;
37
+ let id = `q${candidate}`;
38
+ while (usedIds.has(id)) {
39
+ candidate++;
40
+ id = `q${candidate}`;
41
+ }
42
+ usedIds.add(id);
43
+ return { ...question, id };
44
+ });
45
+ }
46
+ function isAutoResolvable(questions) {
47
+ return (questions.length === 1 &&
48
+ questions[0].type === 'single' &&
49
+ (questions[0].options?.length ?? 0) === 1);
50
+ }
51
+ function autoResolvedAnswer(question) {
52
+ return {
53
+ questionId: question.id,
54
+ selectedOptions: [question.options[0]],
55
+ };
56
+ }
57
+ function enrichAnswers(answers, questions) {
58
+ return answers.map((answer) => {
59
+ const question = questions.find((q) => q.id === answer.questionId);
60
+ return { ...answer, question: question?.question ?? answer.questionId };
61
+ });
62
+ }
63
+ function usableAnswers(resumeData) {
64
+ if (resumeData.approved === false)
65
+ return undefined;
66
+ if (!resumeData.answers || resumeData.answers.length === 0)
67
+ return undefined;
68
+ if (resumeData.answers.every((answer) => answer.skipped === true))
69
+ return undefined;
70
+ return resumeData.answers;
71
+ }
72
+ function buildAskQuestionsTool() {
73
+ return new tool_1.Tool(api_types_1.ASK_QUESTIONS_TOOL_NAME)
74
+ .description('Ask the user one or more questions in a single batched card; the run suspends until ' +
75
+ 'they respond. ALWAYS use this instead of calling it multiple times when you have more ' +
76
+ 'than one question — batch them into one call. Questions are single-select, ' +
77
+ 'multi-select, or free-text. A question is asked at most once — a dismissal or empty ' +
78
+ 'answer means "proceed without this": assume a sensible default and never re-present ' +
79
+ 'it. Returns { answered: false } on dismissal, or { answered: true, answers } otherwise. ' +
80
+ 'A single single-select question with exactly one option auto-resolves to that option ' +
81
+ 'without showing a card.')
82
+ .input(askQuestionsInputSchema)
83
+ .suspend(api_types_1.questionsSuspendPayloadSchema)
84
+ .resume(api_types_1.questionsResumeSchema)
85
+ .handler(async (input, ctx) => {
86
+ const questions = withDefaultIds(input.questions);
87
+ if (ctx.resumeData === undefined || ctx.resumeData === null) {
88
+ if (isAutoResolvable(questions)) {
89
+ const answers = enrichAnswers([autoResolvedAnswer(questions[0])], questions);
90
+ return { answered: true, answers };
91
+ }
92
+ return await ctx.suspend({
93
+ requestId: (0, nanoid_1.nanoid)(),
94
+ message: input.introMessage ?? 'The agent builder has questions',
95
+ severity: 'info',
96
+ inputType: 'questions',
97
+ questions,
98
+ ...(input.introMessage ? { introMessage: input.introMessage } : {}),
99
+ });
100
+ }
101
+ const answers = usableAnswers(ctx.resumeData);
102
+ if (!answers)
103
+ return { answered: false };
104
+ return { answered: true, answers: enrichAnswers(answers, questions) };
105
+ })
106
+ .build();
107
+ }
108
+ //# sourceMappingURL=ask-questions.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ask-questions.tool.js","sourceRoot":"","sources":["../../../../../src/modules/agents/builder/interactive/ask-questions.tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { BuiltTool } from '@n8n/agents';
2
+ export interface ConfigureChannelToolDeps {
3
+ agentId: string;
4
+ projectId: string;
5
+ listChatIntegrationTypes: () => string[];
6
+ }
7
+ export declare function buildConfigureChannelTool(deps: ConfigureChannelToolDeps): BuiltTool;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildConfigureChannelTool = buildConfigureChannelTool;
4
+ const tool_1 = require("@n8n/agents/tool");
5
+ const api_types_1 = require("@n8n/api-types");
6
+ const nanoid_1 = require("nanoid");
7
+ const zod_1 = require("zod");
8
+ const configureChannelInputSchema = zod_1.z.object({
9
+ integrationType: zod_1.z.string().describe('Chat platform type from list_integration_types'),
10
+ });
11
+ function buildConfigureChannelTool(deps) {
12
+ return new tool_1.Tool(api_types_1.CONFIGURE_CHANNEL_TOOL_NAME)
13
+ .description('Connect one available chat channel to the target agent. First call ' +
14
+ 'list_integration_types and pass a returned `type` as `integrationType`; do not infer ' +
15
+ 'channel names. Shows setup UI in chat where the user creates a new channel credential ' +
16
+ 'or skips. The setup UI persists the connection, so use this for channel credentials ' +
17
+ 'instead of the credentials tool or config writes. Returns { connected: boolean }; if ' +
18
+ 'false, continue without the channel and do not re-prompt.')
19
+ .input(configureChannelInputSchema)
20
+ .suspend(api_types_1.channelSuspendPayloadSchema)
21
+ .resume(api_types_1.channelResumeSchema)
22
+ .handler(async ({ integrationType }, ctx) => {
23
+ if (ctx.resumeData !== undefined && ctx.resumeData !== null) {
24
+ return { connected: ctx.resumeData.approved };
25
+ }
26
+ const availableTypes = deps.listChatIntegrationTypes();
27
+ if (!availableTypes.includes(integrationType)) {
28
+ const availableMessage = availableTypes.length
29
+ ? ` Available: ${availableTypes.join(', ')}.`
30
+ : ' No chat channels are currently available.';
31
+ return {
32
+ ok: false,
33
+ errors: [
34
+ {
35
+ message: `Unsupported chat channel "${integrationType}". Call list_integration_types ` +
36
+ 'and choose a returned type.' +
37
+ availableMessage,
38
+ },
39
+ ],
40
+ };
41
+ }
42
+ return await ctx.suspend({
43
+ requestId: (0, nanoid_1.nanoid)(),
44
+ message: `Set up the ${integrationType} channel`,
45
+ severity: 'info',
46
+ channelConfig: { integrationType, agentId: deps.agentId },
47
+ projectId: deps.projectId,
48
+ });
49
+ })
50
+ .build();
51
+ }
52
+ //# sourceMappingURL=configure-channel.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configure-channel.tool.js","sourceRoot":"","sources":["../../../../../src/modules/agents/builder/interactive/configure-channel.tool.ts"],"names":[],"mappings":";;AAyBA,8DAuDC;AA/ED,2CAAwC;AACxC,8CAMwB;AACxB,mCAAgC;AAChC,6BAAwB;AAExB,MAAM,2BAA2B,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;CACtF,CAAC,CAAC;AAWH,SAAgB,yBAAyB,CAAC,IAA8B;IACvE,OAAO,IAAI,WAAI,CAAC,uCAA2B,CAAC;SAC1C,WAAW,CACX,qEAAqE;QACpE,uFAAuF;QACvF,wFAAwF;QACxF,sFAAsF;QACtF,uFAAuF;QACvF,2DAA2D,CAC5D;SACA,KAAK,CAAC,2BAA2B,CAAC;SAClC,OAAO,CAAC,uCAA2B,CAAC;SACpC,MAAM,CAAC,+BAAmB,CAAC;SAC3B,OAAO,CACP,KAAK,EACJ,EAAE,eAAe,EAAyB,EAC1C,GAAuE,EACtE,EAAE;QAMH,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC7D,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC/C,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACvD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YAC/C,MAAM,gBAAgB,GAAG,cAAc,CAAC,MAAM;gBAC7C,CAAC,CAAC,eAAe,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBAC7C,CAAC,CAAC,4CAA4C,CAAC;YAChD,OAAO;gBACN,EAAE,EAAE,KAAc;gBAClB,MAAM,EAAE;oBACP;wBACC,OAAO,EACN,6BAA6B,eAAe,iCAAiC;4BAC7E,6BAA6B;4BAC7B,gBAAgB;qBACjB;iBACD;aACD,CAAC;QACH,CAAC;QAED,OAAO,MAAM,GAAG,CAAC,OAAO,CAAC;YACxB,SAAS,EAAE,IAAA,eAAM,GAAE;YACnB,OAAO,EAAE,cAAc,eAAe,UAAU;YAChD,QAAQ,EAAE,MAAe;YACzB,aAAa,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YACzD,SAAS,EAAE,IAAI,CAAC,SAAS;SACzB,CAAC,CAAC;IACJ,CAAC,CACD;SACA,KAAK,EAAE,CAAC;AACX,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export { buildAskCredentialTool, buildAskEmbeddingCredentialTool } from './ask-credential.tool';
2
- export { buildAskLlmTool } from './ask-llm.tool';
3
- export { buildAskQuestionTool } from './ask-question.tool';
2
+ export { buildAskQuestionsTool } from './ask-questions.tool';
3
+ export { buildConfigureChannelTool } from './configure-channel.tool';
4
4
  export { buildResolveLlmTool } from './resolve-llm.tool';
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildResolveLlmTool = exports.buildAskQuestionTool = exports.buildAskLlmTool = exports.buildAskEmbeddingCredentialTool = exports.buildAskCredentialTool = void 0;
3
+ exports.buildResolveLlmTool = exports.buildConfigureChannelTool = exports.buildAskQuestionsTool = exports.buildAskEmbeddingCredentialTool = exports.buildAskCredentialTool = void 0;
4
4
  var ask_credential_tool_1 = require("./ask-credential.tool");
5
5
  Object.defineProperty(exports, "buildAskCredentialTool", { enumerable: true, get: function () { return ask_credential_tool_1.buildAskCredentialTool; } });
6
6
  Object.defineProperty(exports, "buildAskEmbeddingCredentialTool", { enumerable: true, get: function () { return ask_credential_tool_1.buildAskEmbeddingCredentialTool; } });
7
- var ask_llm_tool_1 = require("./ask-llm.tool");
8
- Object.defineProperty(exports, "buildAskLlmTool", { enumerable: true, get: function () { return ask_llm_tool_1.buildAskLlmTool; } });
9
- var ask_question_tool_1 = require("./ask-question.tool");
10
- Object.defineProperty(exports, "buildAskQuestionTool", { enumerable: true, get: function () { return ask_question_tool_1.buildAskQuestionTool; } });
7
+ var ask_questions_tool_1 = require("./ask-questions.tool");
8
+ Object.defineProperty(exports, "buildAskQuestionsTool", { enumerable: true, get: function () { return ask_questions_tool_1.buildAskQuestionsTool; } });
9
+ var configure_channel_tool_1 = require("./configure-channel.tool");
10
+ Object.defineProperty(exports, "buildConfigureChannelTool", { enumerable: true, get: function () { return configure_channel_tool_1.buildConfigureChannelTool; } });
11
11
  var resolve_llm_tool_1 = require("./resolve-llm.tool");
12
12
  Object.defineProperty(exports, "buildResolveLlmTool", { enumerable: true, get: function () { return resolve_llm_tool_1.buildResolveLlmTool; } });
13
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/agents/builder/interactive/index.ts"],"names":[],"mappings":";;;AAAA,6DAAgG;AAAvF,6HAAA,sBAAsB,OAAA;AAAE,sIAAA,+BAA+B,OAAA;AAChE,+CAAiD;AAAxC,+GAAA,eAAe,OAAA;AACxB,yDAA2D;AAAlD,yHAAA,oBAAoB,OAAA;AAC7B,uDAAyD;AAAhD,uHAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/agents/builder/interactive/index.ts"],"names":[],"mappings":";;;AAAA,6DAAgG;AAAvF,6HAAA,sBAAsB,OAAA;AAAE,sIAAA,+BAA+B,OAAA;AAChE,2DAA6D;AAApD,2HAAA,qBAAqB,OAAA;AAC9B,mEAAqE;AAA5D,mIAAA,yBAAyB,OAAA;AAClC,uDAAyD;AAAhD,uHAAA,mBAAmB,OAAA"}
@@ -62,8 +62,8 @@ function buildResolveLlmTool(deps) {
62
62
  'If provider is given, resolves only that provider; if model is omitted, uses the ' +
63
63
  'provider default model. For "Anthropic via OpenRouter", pass provider="openrouter" ' +
64
64
  'and omit model unless the user named a concrete OpenRouter model id. Returns ok=false ' +
65
- 'when credentials are missing, unsupported, or ambiguous; use ask_llm only when the ' +
66
- 'user must choose.')
65
+ 'when credentials are missing, unsupported, or ambiguous; use ask_questions to let the ' +
66
+ 'user choose, then call resolve_llm again with the choice.')
67
67
  .input(zod_1.z.object({
68
68
  provider: zod_1.z
69
69
  .string()
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-llm.tool.js","sourceRoot":"","sources":["../../../../../src/modules/agents/builder/interactive/resolve-llm.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-llm.tool.js","sourceRoot":"","sources":["../../../../../src/modules/agents/builder/interactive/resolve-llm.tool.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,7 @@ ${(0, config_rules_prompt_1.getSchemaReferenceSection)()}
32
32
  - Keep each feature in the schema path where it belongs.
33
33
  - Preserve unrelated existing config unless the user asked to change it.
34
34
  - Never write placeholder instructions, tool descriptions, or skill descriptions.
35
- - Never copy credential IDs from \`list_credentials\`; use \`resolve_llm\`, \`ask_llm\`, or \`ask_credential\`.
35
+ - Never copy credential IDs from \`list_credentials\`; use \`resolve_llm\` or \`ask_credential\`.
36
36
  - Valid provider tool keys are complete provider tool IDs documented in the Tool Guidance section.
37
37
  - \`providerTools\` keys must be complete provider tool IDs from the valid key list.
38
38
 
@@ -47,7 +47,7 @@ function getConfigRulesSection() {
47
47
  #### Agent Config Rules
48
48
 
49
49
  - \`model\` must be "provider/model-name".
50
- - \`credential\` must be the id returned by \`resolve_llm\` or \`ask_llm\`.
50
+ - \`credential\` must be the id returned by \`resolve_llm\`.
51
51
  - Fresh agents must include
52
52
  \`memory: { "enabled": true, "storage": "n8n" }\`
53
53
  unless the user explicitly asks to disable memory.
@@ -55,7 +55,7 @@ function getConfigRulesSection() {
55
55
  - \`memory.episodicMemory\` requires \`ask_embedding_credential\` with
56
56
  \`credentialType: "openAiApi"\`; use its returned \`credentialId\` value.
57
57
  - Memory worker model fields use \`{ "model": "provider/model-name", "credential": "<credentialId>" }\`;
58
- use only credential IDs returned by \`resolve_llm\`, \`ask_llm\`, or \`ask_credential\`.
58
+ use only credential IDs returned by \`resolve_llm\` or \`ask_credential\`.
59
59
  - Sub-agent configuration lives at top level under \`subAgents\`. Load
60
60
  \`agent-builder-sub-agents\` before adding refs or changing
61
61
  \`subAgents.maxChildren\`.
@@ -4,7 +4,7 @@ exports.getLlmSelectionPrompt = getLlmSelectionPrompt;
4
4
  function getLlmSelectionPrompt(modelRecommendationsSection) {
5
5
  const recommendationGuidance = modelRecommendationsSection
6
6
  ? `\n\n${modelRecommendationsSection}`
7
- : '\n\nNo Recommended LLM models section is available; do not recommend or name current, best, latest, or fallback model IDs from memory. Call ask_llm when the user needs model guidance or choice.';
7
+ : '\n\nNo Recommended LLM models section is available; do not recommend or name current, best, latest, or fallback model IDs from memory. Ask via `ask_questions` when the user needs model guidance or choice.';
8
8
  return `\
9
9
  ## LLM Selection Guidance
10
10
 
@@ -14,17 +14,17 @@ Use this to resolve the target agent's main \`model\` and \`credential\`.
14
14
 
15
15
  ### Workflow
16
16
 
17
- 1. Use \`resolve_llm\` when the request contains enough provider/model detail, otherwise call \`ask_llm\`.
17
+ 1. Use \`resolve_llm\` when the request contains enough provider/model detail, otherwise ask via \`ask_questions\` and call \`resolve_llm\` with the answer.
18
18
  2. If \`resolve_llm\` succeeds, persist \`model = "{provider}/{model}"\` and \`credential = credentialId\`.
19
- 3. If the user asks to pick, change, confirm, or configure a model or main credential, call \`ask_llm\`; do not ask in prose.
20
- 4. If \`resolve_llm\` reports missing or ambiguous credentials/provider, call \`ask_llm\`.
21
- 5. If \`resolve_llm\` reports \`unknown_model\`, retry with a plausible returned model value or call \`ask_llm\`.
19
+ 3. If the user asks to pick, change, confirm, or configure a model or main credential, ask via \`ask_questions\`; do not ask in prose.
20
+ 4. If \`resolve_llm\` reports missing or ambiguous credentials/provider, ask via \`ask_questions\` then retry \`resolve_llm\` with the answer.
21
+ 5. If \`resolve_llm\` reports \`unknown_model\`, retry with a plausible returned model value or ask via \`ask_questions\`.
22
22
 
23
23
  ### Rules
24
24
 
25
25
  - Fresh agents need a resolved \`model\` and \`credential\` before config is written.
26
26
  - Explicit provider/model requests go to \`resolve_llm\` first.
27
- - If the user asks to pick, change, confirm, or configure a model or main credential, call \`ask_llm\`; do not ask in prose.
27
+ - If the user asks to pick, change, confirm, or configure a model or main credential, ask via \`ask_questions\`; do not ask in prose.
28
28
  - If \`resolve_llm\` succeeds, persist \`model = "{provider}/{model}"\` and \`credential = credentialId\`.
29
29
  - Only OpenAI and Anthropic models support native web search. Use native web
30
30
  search by default for those providers only, and only for
@@ -41,15 +41,15 @@ Use this to resolve the target agent's main \`model\` and \`credential\`.
41
41
  \`provider: "searxng"\`.
42
42
  - If the user explicitly asks for Brave or SearXNG, keep that provider even
43
43
  when the selected model also supports native search.
44
- - If \`resolve_llm\` reports missing or ambiguous credentials/provider, call \`ask_llm\`.
45
- - If it reports \`unknown_model\`, retry with a plausible returned model value or call \`ask_llm\`.
44
+ - If \`resolve_llm\` reports missing or ambiguous credentials/provider, ask via \`ask_questions\` then retry \`resolve_llm\`.
45
+ - If it reports \`unknown_model\`, retry with a plausible returned model value or ask via \`ask_questions\`.
46
46
  - For "Anthropic via OpenRouter", pass \`provider: "openrouter"\`; if the user names a routed model, pass the routed id without adding another provider prefix.
47
47
  - Prefer a provider the user already has credentials for when choosing from recommendations.
48
48
  - Never copy main LLM credential IDs from \`list_credentials\`.
49
49
 
50
50
  ### Gotchas
51
51
 
52
- - Use \`resolve_llm\` or \`ask_llm\` only for the target agent's main model credential.
52
+ - Use \`resolve_llm\` only for the target agent's main model credential.
53
53
  - Use \`ask_credential\` for node tools, integrations, and Episodic Memory.
54
54
  - For OpenRouter, \`provider\` is \`"openrouter"\`; the model can be a routed id such as \`anthropic/...\`.
55
55
  - Model changes must not silently replace existing Brave or SearXNG web search with native search.
@@ -58,7 +58,7 @@ Use this to resolve the target agent's main \`model\` and \`credential\`.
58
58
  ### Verify
59
59
 
60
60
  - The persisted \`model\` is in \`provider/model\` form.
61
- - The persisted \`credential\` came from \`resolve_llm\` or \`ask_llm\`.
61
+ - The persisted \`credential\` came from \`resolve_llm\`.
62
62
  - Existing Brave or SearXNG \`config.webSearch\` is preserved on model changes unless the user explicitly requested a web-search method change.${recommendationGuidance}`;
63
63
  }
64
64
  //# sourceMappingURL=llm-selection.prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"llm-selection.prompt.js","sourceRoot":"","sources":["../../../../../src/modules/agents/builder/prompts/llm-selection.prompt.ts"],"names":[],"mappings":";;AAAA,sDA4DC;AA5DD,SAAgB,qBAAqB,CAAC,2BAA0C;IAC/E,MAAM,sBAAsB,GAAG,2BAA2B;QACzD,CAAC,CAAC,OAAO,2BAA2B,EAAE;QACtC,CAAC,CAAC,mMAAmM,CAAC;IAEvM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iJAsDyI,sBAAsB,EAAE,CAAC;AAC1K,CAAC"}
1
+ {"version":3,"file":"llm-selection.prompt.js","sourceRoot":"","sources":["../../../../../src/modules/agents/builder/prompts/llm-selection.prompt.ts"],"names":[],"mappings":";;AAAA,sDA4DC;AA5DD,SAAgB,qBAAqB,CAAC,2BAA0C;IAC/E,MAAM,sBAAsB,GAAG,2BAA2B;QACzD,CAAC,CAAC,OAAO,2BAA2B,EAAE;QACtC,CAAC,CAAC,8MAA8M,CAAC;IAElN,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iJAsDyI,sBAAsB,EAAE,CAAC;AAC1K,CAAC"}
@@ -1 +1 @@
1
- export declare const MEMORY_PROMPT = "## Memory Guidance\n\n### Purpose\n\nUse this to configure the target agent's memory behavior.\n\n### Workflow\n\nFresh agents must include this default memory config unless the user explicitly asks to disable or change memory:\n```json\n{\n \"enabled\": true,\n \"storage\": \"n8n\",\n \"observationalMemory\": {\n \"enabled\": true\n }\n}\n```\n\nThis is the configurable agent's session memory. The runtime-managed\n`observationalMemory` settings tune that memory behavior; they are not a\nseparate user-facing memory product.\n\n### Rules\n\n- When creating a new agent, always write the exact default `memory` object above.\n- Set `storage` to \"n8n\".\n- Set `observationalMemory.enabled` to `true` for new agents unless the user explicitly asks to disable observational memory.\n- Keep the rest of `observationalMemory` optional; add tuning fields only for explicit tuning or disabling.\n- Supported observational memory tuning fields: `enabled`, `observerModel`, `reflectorModel`, `observerThresholdTokens`, `reflectorThresholdTokens`, `renderTokenBudget`, `observationLogTailLimit`, and `lockTtlMs`.\n- Memory worker model fields must use object shape: `{ \"model\": \"provider/model-name\", \"credential\": \"<credentialId>\" }`.\n- Only set `observerModel`, `reflectorModel`, `extractorModel`, or `episodicMemory.reflectorModel` when the user explicitly asks to use a specific model for memory work.\n- Use only credential IDs returned by `resolve_llm`, `ask_llm`, or `ask_credential` for memory worker model fields. Do not invent IDs or copy a main-model credential unless one of those tools returned it for that worker model provider.\n\n### Episodic Memory\n\n- Enable `memory.episodicMemory` only when the user asks for Episodic Memory, long-term memory, prior conversations, remembered decisions, exact artifacts, or cross-session memory.\n- Before enabling it, call `ask_embedding_credential({ credentialType: \"openAiApi\", purpose: \"OpenAI credential for Episodic Memory embeddings\" })`.\n- On success, set `memory.episodicMemory = { \"enabled\": true, \"credential\": \"<credentialId>\" }`, using the returned `credentialId` value. This can be a real credential id or `\"managed\"` when the assistant proxy is available. Preserve existing `topK` or `maxEntriesPerRun`.\n- `memory.episodicMemory.credential` is only for OpenAI embeddings. It is separate from optional `extractorModel` and `reflectorModel` worker credentials.\n- If credential selection is skipped, do not enable Episodic Memory; explain that it needs an OpenAI credential for embeddings.\n- Do not add instructions saying the agent should remember, store, save, or decide what context matters. The runtime handles memory extraction and indexing.\n- If instructions mention Episodic Memory, phrase it as retrieval/use only, e.g. \"Use recalled prior context when relevant to the user's request.\"\n- Do not invent Episodic Memory credential IDs or reuse the main model credential unless `ask_embedding_credential` returned it for this purpose.\n\n### Gotchas\n\n- Session memory and Episodic Memory are different features; do not use one as a substitute for the other.\n- Observational memory is runtime-managed session memory behavior; do not add target-agent instructions telling it how to save observations.\n- A skipped Episodic Memory credential means Episodic Memory stays disabled.\n\n### Verify\n\n- Fresh runnable agents have enabled n8n memory unless explicitly disabled.\n- Fresh runnable agents set `observationalMemory.enabled` to `true` unless explicitly disabled.\n- Episodic Memory has an OpenAI credential or `\"managed\"` returned by `ask_embedding_credential`.\n- Existing memory tuning is preserved unless the user asked to change it.";
1
+ export declare const MEMORY_PROMPT = "## Memory Guidance\n\n### Purpose\n\nUse this to configure the target agent's memory behavior.\n\n### Workflow\n\nFresh agents must include this default memory config unless the user explicitly asks to disable or change memory:\n```json\n{\n \"enabled\": true,\n \"storage\": \"n8n\",\n \"observationalMemory\": {\n \"enabled\": true\n }\n}\n```\n\nThis is the configurable agent's session memory. The runtime-managed\n`observationalMemory` settings tune that memory behavior; they are not a\nseparate user-facing memory product.\n\n### Rules\n\n- When creating a new agent, always write the exact default `memory` object above.\n- Set `storage` to \"n8n\".\n- Set `observationalMemory.enabled` to `true` for new agents unless the user explicitly asks to disable observational memory.\n- Keep the rest of `observationalMemory` optional; add tuning fields only for explicit tuning or disabling.\n- Supported observational memory tuning fields: `enabled`, `observerModel`, `reflectorModel`, `observerThresholdTokens`, `reflectorThresholdTokens`, `renderTokenBudget`, `observationLogTailLimit`, and `lockTtlMs`.\n- Memory worker model fields must use object shape: `{ \"model\": \"provider/model-name\", \"credential\": \"<credentialId>\" }`.\n- Only set `observerModel`, `reflectorModel`, `extractorModel`, or `episodicMemory.reflectorModel` when the user explicitly asks to use a specific model for memory work.\n- Use only credential IDs returned by `resolve_llm` or `ask_credential` for memory worker model fields. Do not invent IDs or copy a main-model credential unless one of those tools returned it for that worker model provider.\n\n### Episodic Memory\n\n- Enable `memory.episodicMemory` only when the user asks for Episodic Memory, long-term memory, prior conversations, remembered decisions, exact artifacts, or cross-session memory.\n- Before enabling it, call `ask_embedding_credential({ credentialType: \"openAiApi\", purpose: \"OpenAI credential for Episodic Memory embeddings\" })`.\n- On success, set `memory.episodicMemory = { \"enabled\": true, \"credential\": \"<credentialId>\" }`, using the returned `credentialId` value. This can be a real credential id or `\"managed\"` when the assistant proxy is available. Preserve existing `topK` or `maxEntriesPerRun`.\n- `memory.episodicMemory.credential` is only for OpenAI embeddings. It is separate from optional `extractorModel` and `reflectorModel` worker credentials.\n- If credential selection is skipped, do not enable Episodic Memory; explain that it needs an OpenAI credential for embeddings.\n- Do not add instructions saying the agent should remember, store, save, or decide what context matters. The runtime handles memory extraction and indexing.\n- If instructions mention Episodic Memory, phrase it as retrieval/use only, e.g. \"Use recalled prior context when relevant to the user's request.\"\n- Do not invent Episodic Memory credential IDs or reuse the main model credential unless `ask_embedding_credential` returned it for this purpose.\n\n### Gotchas\n\n- Session memory and Episodic Memory are different features; do not use one as a substitute for the other.\n- Observational memory is runtime-managed session memory behavior; do not add target-agent instructions telling it how to save observations.\n- A skipped Episodic Memory credential means Episodic Memory stays disabled.\n\n### Verify\n\n- Fresh runnable agents have enabled n8n memory unless explicitly disabled.\n- Fresh runnable agents set `observationalMemory.enabled` to `true` unless explicitly disabled.\n- Episodic Memory has an OpenAI credential or `\"managed\"` returned by `ask_embedding_credential`.\n- Existing memory tuning is preserved unless the user asked to change it.";
@@ -34,7 +34,7 @@ separate user-facing memory product.
34
34
  - Supported observational memory tuning fields: \`enabled\`, \`observerModel\`, \`reflectorModel\`, \`observerThresholdTokens\`, \`reflectorThresholdTokens\`, \`renderTokenBudget\`, \`observationLogTailLimit\`, and \`lockTtlMs\`.
35
35
  - Memory worker model fields must use object shape: \`{ "model": "provider/model-name", "credential": "<credentialId>" }\`.
36
36
  - Only set \`observerModel\`, \`reflectorModel\`, \`extractorModel\`, or \`episodicMemory.reflectorModel\` when the user explicitly asks to use a specific model for memory work.
37
- - Use only credential IDs returned by \`resolve_llm\`, \`ask_llm\`, or \`ask_credential\` for memory worker model fields. Do not invent IDs or copy a main-model credential unless one of those tools returned it for that worker model provider.
37
+ - Use only credential IDs returned by \`resolve_llm\` or \`ask_credential\` for memory worker model fields. Do not invent IDs or copy a main-model credential unless one of those tools returned it for that worker model provider.
38
38
 
39
39
  ### Episodic Memory
40
40
 
@@ -2,9 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.buildSearchMcpServersTool = buildSearchMcpServersTool;
4
4
  const tool_1 = require("@n8n/agents/tool");
5
- const change_case_1 = require("change-case");
6
5
  const zod_1 = require("zod");
7
- const node_description_transform_1 = require("../../../modules/mcp-registry/node-description-transform");
8
6
  const builder_tool_names_1 = require("./builder-tool-names");
9
7
  const searchMcpServersInputSchema = zod_1.z.object({
10
8
  queries: zod_1.z
@@ -12,73 +10,13 @@ const searchMcpServersInputSchema = zod_1.z.object({
12
10
  .min(1)
13
11
  .describe('Search queries for MCP servers (e.g., ["github"], ["slack"])'),
14
12
  });
15
- function getMcpRegistryCredentialTypeName(server) {
16
- return `${(0, change_case_1.camelCase)(server.slug)}McpOAuth2Api`;
17
- }
18
- function pickPreferredRemote(server) {
19
- const streamable = server.remotes.find((remote) => remote.type === 'streamable-http');
20
- if (streamable)
21
- return { type: 'streamableHttp', url: streamable.url };
22
- const sse = server.remotes.find((remote) => remote.type === 'sse');
23
- if (sse)
24
- return { type: 'sse', url: sse.url };
25
- return null;
26
- }
27
- function registryServerToMcpConfig(server) {
28
- const remote = pickPreferredRemote(server);
29
- if (!remote)
30
- return null;
31
- const credentialType = getMcpRegistryCredentialTypeName(server);
32
- const nodeTypeName = `${node_description_transform_1.MCP_REGISTRY_PACKAGE_NAME}.${(0, change_case_1.camelCase)(server.slug)}`;
33
- return {
34
- name: (0, change_case_1.camelCase)(server.slug),
35
- title: server.title,
36
- description: server.tagline,
37
- url: remote.url,
38
- transport: remote.type,
39
- authentication: credentialType,
40
- credentialType,
41
- tools: server.tools.map((tool) => ({
42
- name: tool.name,
43
- ...(tool.title ? { title: tool.title } : {}),
44
- })),
45
- metadata: {
46
- nodeTypeName,
47
- },
48
- };
49
- }
50
- function normalizeQueries(queries) {
51
- return queries.map((query) => query.trim().toLowerCase()).filter((query) => query.length > 0);
52
- }
53
- function matchesServerQuery(server, normalizedQueries) {
54
- const fields = [
55
- server.slug,
56
- (0, change_case_1.camelCase)(server.slug),
57
- server.title,
58
- server.description,
59
- server.tagline,
60
- ]
61
- .map((field) => (typeof field === 'string' ? field.toLowerCase() : null))
62
- .filter((field) => field !== null);
63
- return normalizedQueries.some((query) => fields.some((field) => field.includes(query)));
64
- }
65
13
  function buildSearchMcpServersTool(deps) {
66
14
  return new tool_1.Tool(builder_tool_names_1.BUILDER_TOOLS.SEARCH_MCP_SERVERS)
67
15
  .description('Search the MCP registry for available MCP servers. Returns MCP config-ready server details, ' +
68
16
  'including credentialType for ask_credential and server metadata needed for patch_config.')
69
17
  .input(searchMcpServersInputSchema)
70
18
  .handler(async ({ queries }) => {
71
- const normalizedQueries = normalizeQueries(queries);
72
- if (normalizedQueries.length === 0)
73
- return { results: [] };
74
- const servers = await deps.mcpRegistryService.getAll();
75
- const results = servers.flatMap((server) => {
76
- if (!matchesServerQuery(server, normalizedQueries))
77
- return [];
78
- const transformed = registryServerToMcpConfig(server);
79
- return transformed ? [transformed] : [];
80
- });
81
- return { results };
19
+ return { results: await deps.mcpRegistryService.search(queries) };
82
20
  })
83
21
  .build();
84
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"search-mcp-servers.tool.js","sourceRoot":"","sources":["../../../../src/modules/agents/builder/search-mcp-servers.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-mcp-servers.tool.js","sourceRoot":"","sources":["../../../../src/modules/agents/builder/search-mcp-servers.tool.ts"],"names":[],"mappings":";;AAmBA,8DAWC;AA7BD,2CAAwC;AACxC,6BAAwB;AAIxB,6DAAqD;AAMrD,MAAM,2BAA2B,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,OAAC;SACR,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;SACjB,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,8DAA8D,CAAC;CAC1E,CAAC,CAAC;AAEH,SAAgB,yBAAyB,CAAC,IAA0B;IACnE,OAAO,IAAI,WAAI,CAAC,kCAAa,CAAC,kBAAkB,CAAC;SAC/C,WAAW,CACX,8FAA8F;QAC7F,0FAA0F,CAC3F;SACA,KAAK,CAAC,2BAA2B,CAAC;SAClC,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,EAAyB,EAAE,EAAE;QACrD,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IACnE,CAAC,CAAC;SACD,KAAK,EAAE,CAAC;AACX,CAAC"}
@@ -1,2 +1,2 @@
1
1
  import type { RuntimeSkill } from '@n8n/agents';
2
- export declare function getBuilderRuntimeSkills(): RuntimeSkill[];
2
+ export declare function getBuilderRuntimeSkills(excludeTools?: string[]): RuntimeSkill[];
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getBuilderRuntimeSkills = getBuilderRuntimeSkills;
4
+ const api_types_1 = require("@n8n/api-types");
4
5
  const integrations_skill_1 = require("./integrations.skill");
5
6
  const mcp_skill_1 = require("./mcp.skill");
6
7
  const resource_locators_skill_1 = require("./resource-locators.skill");
7
8
  const sub_agents_skill_1 = require("./sub-agents.skill");
8
9
  const target_skills_skill_1 = require("./target-skills.skill");
9
10
  const target_tasks_skill_1 = require("./target-tasks.skill");
10
- function getBuilderRuntimeSkills() {
11
+ function getBuilderRuntimeSkills(excludeTools = []) {
11
12
  const skills = [
12
13
  (0, integrations_skill_1.integrationsSkill)(),
13
14
  (0, mcp_skill_1.mcpSkill)(),
@@ -16,6 +17,9 @@ function getBuilderRuntimeSkills() {
16
17
  (0, target_skills_skill_1.targetSkillsSkill)(),
17
18
  (0, target_tasks_skill_1.targetTasksSkill)(),
18
19
  ];
20
+ if (excludeTools.includes(api_types_1.CONFIGURE_CHANNEL_TOOL_NAME)) {
21
+ return skills.filter((skill) => skill.id !== 'agent-builder-integrations');
22
+ }
19
23
  return skills;
20
24
  }
21
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/agents/builder/skills/index.ts"],"names":[],"mappings":";;AASA,0DAeC;AAtBD,6DAAyD;AACzD,2CAAuC;AACvC,uEAAkE;AAClE,yDAAoD;AACpD,+DAA0D;AAC1D,6DAAwD;AAExD,SAAgB,uBAAuB;IACtC,MAAM,MAAM,GAAmB;QAC9B,IAAA,sCAAiB,GAAE;QACnB,IAAA,oBAAQ,GAAE;QACV,IAAA,+CAAqB,GAAE;QACvB,IAAA,iCAAc,GAAE;QAChB,IAAA,uCAAiB,GAAE;QACnB,IAAA,qCAAgB,GAAE;KAKlB,CAAC;IAEF,OAAO,MAAM,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/agents/builder/skills/index.ts"],"names":[],"mappings":";;AAiBA,0DAmBC;AAnCD,8CAA6D;AAE7D,6DAAyD;AACzD,2CAAuC;AACvC,uEAAkE;AAClE,yDAAoD;AACpD,+DAA0D;AAC1D,6DAAwD;AASxD,SAAgB,uBAAuB,CAAC,eAAyB,EAAE;IAClE,MAAM,MAAM,GAAmB;QAC9B,IAAA,sCAAiB,GAAE;QACnB,IAAA,oBAAQ,GAAE;QACV,IAAA,+CAAqB,GAAE;QACvB,IAAA,iCAAc,GAAE;QAChB,IAAA,uCAAiB,GAAE;QACnB,IAAA,qCAAgB,GAAE;KAKlB,CAAC;IAEF,IAAI,YAAY,CAAC,QAAQ,CAAC,uCAA2B,CAAC,EAAE,CAAC;QACxD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,4BAA4B,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC"}
@@ -6,10 +6,15 @@ function integrationsSkill() {
6
6
  id: 'agent-builder-integrations',
7
7
  name: 'Agent Builder Integrations',
8
8
  description: 'Use when deciding whether Slack, Linear, Telegram, or another external platform should be a target-agent chat integration/trigger versus a node tool, and when adding or changing chat integrations; not for built-in Build chat or Preview chat behavior.',
9
- recommendedTools: ['list_integration_types', 'ask_credential', 'read_config', 'patch_config'],
9
+ recommendedTools: [
10
+ 'list_integration_types',
11
+ 'configure_channel',
12
+ 'read_config',
13
+ 'patch_config',
14
+ ],
10
15
  allowedTools: [
11
16
  'list_integration_types',
12
- 'ask_credential',
17
+ 'configure_channel',
13
18
  'read_config',
14
19
  'patch_config',
15
20
  'write_config',
@@ -59,13 +64,16 @@ The \`integrations\` array controls how the target agent is triggered.
59
64
  - Call \`list_integration_types\` first.
60
65
  - Read the returned \`capabilities\`, \`useIntegrationWhen\`, and
61
66
  \`useNodeToolWhen\` fields before deciding to add an integration.
62
- - Pick one returned \`credentialTypes\` entry and pass it to \`ask_credential\`.
63
- - Persist only \`type\` and \`credentialId\`; never invent credential IDs or names.
67
+ - Pick one returned \`type\` and pass it to \`configure_channel\` as
68
+ \`integrationType\`. ALWAYS use \`configure_channel\` for chat-channel
69
+ credentials — never \`ask_credential\` or a raw config write. The setup UI it
70
+ shows creates and persists the credential/connection itself; do not follow up
71
+ with \`patch_config\`/\`write_config\` to write the credential.
64
72
  - Preserve existing chat integrations unless the user asked to remove them.
65
73
 
66
74
  ## Gotchas
67
75
 
68
- - Chat integration credential types must come from \`list_integration_types\`.
76
+ - Chat integration types must come from \`list_integration_types\`.
69
77
  - Do not add a Linear integration just because the agent needs Linear issue
70
78
  CRUD. Use Linear node tools unless Linear itself is the chat/trigger context.
71
79
  - For recurring or scheduled runs, create a task (\`create_task\`), not an
@@ -73,7 +81,8 @@ The \`integrations\` array controls how the target agent is triggered.
73
81
 
74
82
  ## Verify
75
83
 
76
- - Connected chat integrations use a credential id returned by \`ask_credential\`.
84
+ - Connected chat integrations were set up through \`configure_channel\`, not
85
+ \`ask_credential\` or a manual config write.
77
86
  - The chosen integration matches \`useIntegrationWhen\`; otherwise use node or
78
87
  workflow tools.
79
88
  - The final \`integrations\` array keeps unrelated integrations intact.`,
@@ -1 +1 @@
1
- {"version":3,"file":"integrations.skill.js","sourceRoot":"","sources":["../../../../../src/modules/agents/builder/skills/integrations.skill.ts"],"names":[],"mappings":";;AAEA,8CA8EC;AA9ED,SAAgB,iBAAiB;IAChC,OAAO;QACN,EAAE,EAAE,4BAA4B;QAChC,IAAI,EAAE,4BAA4B;QAClC,WAAW,EACV,4PAA4P;QAC7P,gBAAgB,EAAE,CAAC,wBAAwB,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,CAAC;QAC7F,YAAY,EAAE;YACb,wBAAwB;YACxB,gBAAgB;YAChB,aAAa;YACb,cAAc;YACd,cAAc;SACd;QACD,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wEA8DwD;KACtE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"integrations.skill.js","sourceRoot":"","sources":["../../../../../src/modules/agents/builder/skills/integrations.skill.ts"],"names":[],"mappings":";;AAEA,8CAuFC;AAvFD,SAAgB,iBAAiB;IAChC,OAAO;QACN,EAAE,EAAE,4BAA4B;QAChC,IAAI,EAAE,4BAA4B;QAClC,WAAW,EACV,4PAA4P;QAC7P,gBAAgB,EAAE;YACjB,wBAAwB;YACxB,mBAAmB;YACnB,aAAa;YACb,cAAc;SACd;QACD,YAAY,EAAE;YACb,wBAAwB;YACxB,mBAAmB;YACnB,aAAa;YACb,cAAc;YACd,cAAc;SACd;QACD,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wEAkEwD;KACtE,CAAC;AACH,CAAC"}
@@ -21,7 +21,7 @@ function mcpSkill() {
21
21
  'search_mcp_servers',
22
22
  'ask_credential',
23
23
  'verify_mcp_server',
24
- 'ask_question',
24
+ 'ask_questions',
25
25
  'read_config',
26
26
  'patch_config',
27
27
  'write_config',
@@ -98,7 +98,7 @@ by \`search_mcp_servers\`.
98
98
 
99
99
  For custom MCP servers, if credential type is unknown, ask the user which
100
100
  credential type to use (OAuth2, Bearer Token, Header Auth, Multiple Headers
101
- Auth, or None) via \`${api_types_1.ASK_QUESTION_TOOL_NAME}\`. Then map to:
101
+ Auth, or None) via \`${api_types_1.ASK_QUESTIONS_TOOL_NAME}\`. Then map to:
102
102
 
103
103
  - \`bearerAuth\` -> \`ask_credential\` with \`credentialType: "httpBearerAuth"\`
104
104
  - \`headerAuth\` -> \`ask_credential\` with \`credentialType: "httpHeaderAuth"\`
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.skill.js","sourceRoot":"","sources":["../../../../../src/modules/agents/builder/skills/mcp.skill.ts"],"names":[],"mappings":";;AAWA,4BAsHC;AAhID,8CAA+E;AAE/E,2DAAqD;AAErD,qFAAmF;AAEnF,MAAM,mBAAmB,GAAG,IAAA,gDAAuB,EAClD,IAAA,oCAAe,EAAC,iCAAqB,CAAgB,CACrD,CAAC;AAEF,SAAgB,QAAQ;IACvB,OAAO;QACN,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,2BAA2B;QACjC,WAAW,EACV,kGAAkG;QACnG,gBAAgB,EAAE;YACjB,oBAAoB;YACpB,gBAAgB;YAChB,mBAAmB;YACnB,aAAa;YACb,cAAc;SACd;QACD,YAAY,EAAE;YACb,oBAAoB;YACpB,gBAAgB;YAChB,mBAAmB;YACnB,cAAc;YACd,aAAa;YACb,cAAc;YACd,cAAc;SACd;QACD,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCd,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAmCE,kCAAsB;;;;;;;;;;;;;;;;;;;;;;sCAsBP;KACpC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"mcp.skill.js","sourceRoot":"","sources":["../../../../../src/modules/agents/builder/skills/mcp.skill.ts"],"names":[],"mappings":";;AAWA,4BAsHC;AAhID,8CAAgF;AAEhF,2DAAqD;AAErD,qFAAmF;AAEnF,MAAM,mBAAmB,GAAG,IAAA,gDAAuB,EAClD,IAAA,oCAAe,EAAC,iCAAqB,CAAgB,CACrD,CAAC;AAEF,SAAgB,QAAQ;IACvB,OAAO;QACN,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,2BAA2B;QACjC,WAAW,EACV,kGAAkG;QACnG,gBAAgB,EAAE;YACjB,oBAAoB;YACpB,gBAAgB;YAChB,mBAAmB;YACnB,aAAa;YACb,cAAc;SACd;QACD,YAAY,EAAE;YACb,oBAAoB;YACpB,gBAAgB;YAChB,mBAAmB;YACnB,eAAe;YACf,aAAa;YACb,cAAc;YACd,cAAc;SACd;QACD,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCd,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAmCE,mCAAuB;;;;;;;;;;;;;;;;;;;;;;sCAsBR;KACpC,CAAC;AACH,CAAC"}