n8n 2.21.4 → 2.22.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 (336) hide show
  1. package/dist/active-workflow-manager.js +4 -0
  2. package/dist/active-workflow-manager.js.map +1 -1
  3. package/dist/build.tsbuildinfo +1 -1
  4. package/dist/commands/base-command.js +2 -1
  5. package/dist/commands/base-command.js.map +1 -1
  6. package/dist/commands/export/entities.d.ts +3 -0
  7. package/dist/commands/export/entities.js +8 -1
  8. package/dist/commands/export/entities.js.map +1 -1
  9. package/dist/concurrency/concurrency-control.service.d.ts +7 -2
  10. package/dist/concurrency/concurrency-control.service.js +72 -47
  11. package/dist/concurrency/concurrency-control.service.js.map +1 -1
  12. package/dist/constants.js +3 -0
  13. package/dist/constants.js.map +1 -1
  14. package/dist/controllers/e2e.controller.js +2 -0
  15. package/dist/controllers/e2e.controller.js.map +1 -1
  16. package/dist/controllers/users.controller.d.ts +1 -1
  17. package/dist/credentials/credentials.service.js.map +1 -1
  18. package/dist/evaluation.ee/evaluation-collection.service.d.ts +38 -0
  19. package/dist/evaluation.ee/evaluation-collection.service.js +327 -0
  20. package/dist/evaluation.ee/evaluation-collection.service.js.map +1 -0
  21. package/dist/evaluation.ee/evaluation-collections.controller.ee.d.ts +50 -0
  22. package/dist/evaluation.ee/evaluation-collections.controller.ee.js +148 -0
  23. package/dist/evaluation.ee/evaluation-collections.controller.ee.js.map +1 -0
  24. package/dist/evaluation.ee/evaluation-concurrency.helper.d.ts +11 -0
  25. package/dist/evaluation.ee/evaluation-concurrency.helper.js +40 -0
  26. package/dist/evaluation.ee/evaluation-concurrency.helper.js.map +1 -0
  27. package/dist/evaluation.ee/test-runner/test-runner.service.ee.d.ts +22 -6
  28. package/dist/evaluation.ee/test-runner/test-runner.service.ee.js +105 -15
  29. package/dist/evaluation.ee/test-runner/test-runner.service.ee.js.map +1 -1
  30. package/dist/evaluation.ee/test-runs.controller.ee.d.ts +5 -6
  31. package/dist/evaluation.ee/test-runs.controller.ee.js +4 -24
  32. package/dist/evaluation.ee/test-runs.controller.ee.js.map +1 -1
  33. package/dist/interfaces.d.ts +6 -0
  34. package/dist/modules/agents/adapters/agents-credential-provider.d.ts +2 -1
  35. package/dist/modules/agents/adapters/agents-credential-provider.js +25 -24
  36. package/dist/modules/agents/adapters/agents-credential-provider.js.map +1 -1
  37. package/dist/modules/agents/agent-execution.service.js +0 -1
  38. package/dist/modules/agents/agent-execution.service.js.map +1 -1
  39. package/dist/modules/agents/agent-skills.service.d.ts +1 -2
  40. package/dist/modules/agents/agent-skills.service.js.map +1 -1
  41. package/dist/modules/agents/agent-sse-stream.d.ts +1 -1
  42. package/dist/modules/agents/agent-sse-stream.js +0 -31
  43. package/dist/modules/agents/agent-sse-stream.js.map +1 -1
  44. package/dist/modules/agents/agents.controller.d.ts +64 -37
  45. package/dist/modules/agents/agents.controller.js +54 -40
  46. package/dist/modules/agents/agents.controller.js.map +1 -1
  47. package/dist/modules/agents/agents.service.d.ts +15 -5
  48. package/dist/modules/agents/agents.service.js +79 -71
  49. package/dist/modules/agents/agents.service.js.map +1 -1
  50. package/dist/modules/agents/builder/agent-builder-preview-path.d.ts +1 -0
  51. package/dist/modules/agents/builder/agent-builder-preview-path.js +9 -0
  52. package/dist/modules/agents/builder/agent-builder-preview-path.js.map +1 -0
  53. package/dist/modules/agents/builder/agents-builder-model-recommendations.d.ts +3 -0
  54. package/dist/modules/agents/builder/agents-builder-model-recommendations.js +106 -0
  55. package/dist/modules/agents/builder/agents-builder-model-recommendations.js.map +1 -0
  56. package/dist/modules/agents/builder/agents-builder-prompts.d.ts +12 -11
  57. package/dist/modules/agents/builder/agents-builder-prompts.js +61 -32
  58. package/dist/modules/agents/builder/agents-builder-prompts.js.map +1 -1
  59. package/dist/modules/agents/builder/agents-builder-tools.service.d.ts +1 -1
  60. package/dist/modules/agents/builder/agents-builder-tools.service.js +7 -8
  61. package/dist/modules/agents/builder/agents-builder-tools.service.js.map +1 -1
  62. package/dist/modules/agents/builder/agents-builder.service.js +6 -3
  63. package/dist/modules/agents/builder/agents-builder.service.js.map +1 -1
  64. package/dist/modules/agents/builder/interactive/ask-llm.tool.js +1 -1
  65. package/dist/modules/agents/builder/interactive/ask-llm.tool.js.map +1 -1
  66. package/dist/modules/agents/builder/interactive/resolve-llm.tool.js +1 -1
  67. package/dist/modules/agents/builder/interactive/resolve-llm.tool.js.map +1 -1
  68. package/dist/modules/agents/entities/agent-execution.entity.d.ts +0 -1
  69. package/dist/modules/agents/entities/agent-execution.entity.js +0 -4
  70. package/dist/modules/agents/entities/agent-execution.entity.js.map +1 -1
  71. package/dist/modules/agents/entities/agent-observation-lock.entity.d.ts +2 -0
  72. package/dist/modules/agents/entities/agent-observation-lock.entity.js +4 -0
  73. package/dist/modules/agents/entities/agent-observation-lock.entity.js.map +1 -1
  74. package/dist/modules/agents/entities/agent-observation.entity.d.ts +9 -5
  75. package/dist/modules/agents/entities/agent-observation.entity.js +21 -11
  76. package/dist/modules/agents/entities/agent-observation.entity.js.map +1 -1
  77. package/dist/modules/agents/entities/agent-published-version.entity.d.ts +1 -2
  78. package/dist/modules/agents/entities/agent-published-version.entity.js.map +1 -1
  79. package/dist/modules/agents/entities/agent.entity.d.ts +2 -3
  80. package/dist/modules/agents/entities/agent.entity.js.map +1 -1
  81. package/dist/modules/agents/execution-recorder.d.ts +1 -8
  82. package/dist/modules/agents/execution-recorder.js +67 -42
  83. package/dist/modules/agents/execution-recorder.js.map +1 -1
  84. package/dist/modules/agents/integrations/agent-chat-bridge.d.ts +6 -4
  85. package/dist/modules/agents/integrations/agent-chat-bridge.js +22 -13
  86. package/dist/modules/agents/integrations/agent-chat-bridge.js.map +1 -1
  87. package/dist/modules/agents/integrations/agent-chat-integration.d.ts +4 -1
  88. package/dist/modules/agents/integrations/agent-chat-integration.js.map +1 -1
  89. package/dist/modules/agents/integrations/chat-integration.service.d.ts +17 -8
  90. package/dist/modules/agents/integrations/chat-integration.service.js +53 -37
  91. package/dist/modules/agents/integrations/chat-integration.service.js.map +1 -1
  92. package/dist/modules/agents/integrations/integrations-sync.d.ts +2 -2
  93. package/dist/modules/agents/integrations/integrations-sync.js +1 -1
  94. package/dist/modules/agents/integrations/integrations-sync.js.map +1 -1
  95. package/dist/modules/agents/integrations/n8n-memory.d.ts +31 -35
  96. package/dist/modules/agents/integrations/n8n-memory.js +121 -127
  97. package/dist/modules/agents/integrations/n8n-memory.js.map +1 -1
  98. package/dist/modules/agents/integrations/platforms/telegram-integration.d.ts +9 -2
  99. package/dist/modules/agents/integrations/platforms/telegram-integration.js +51 -6
  100. package/dist/modules/agents/integrations/platforms/telegram-integration.js.map +1 -1
  101. package/dist/modules/agents/json-config/agent-config-composition.d.ts +2 -3
  102. package/dist/modules/agents/json-config/agent-config-composition.js.map +1 -1
  103. package/dist/modules/agents/json-config/from-json-config.d.ts +1 -2
  104. package/dist/modules/agents/json-config/from-json-config.js +31 -34
  105. package/dist/modules/agents/json-config/from-json-config.js.map +1 -1
  106. package/dist/modules/agents/observation-log-observer.d.ts +2 -0
  107. package/dist/modules/agents/observation-log-observer.js +10 -0
  108. package/dist/modules/agents/observation-log-observer.js.map +1 -0
  109. package/dist/modules/agents/observation-log-reflector.d.ts +2 -0
  110. package/dist/modules/agents/observation-log-reflector.js +9 -0
  111. package/dist/modules/agents/observation-log-reflector.js.map +1 -0
  112. package/dist/modules/agents/repositories/agent-published-version.repository.d.ts +1 -1
  113. package/dist/modules/agents/repositories/agent.repository.js +1 -1
  114. package/dist/modules/agents/repositories/agent.repository.js.map +1 -1
  115. package/dist/modules/agents/tools/node-tool-factory.d.ts +1 -1
  116. package/dist/modules/agents/tools/workflow-tool-factory.d.ts +1 -1
  117. package/dist/modules/agents/tools/workflow-tool-factory.js +40 -2
  118. package/dist/modules/agents/tools/workflow-tool-factory.js.map +1 -1
  119. package/dist/modules/agents/utils/execution-to-message-mapper.d.ts +6 -0
  120. package/dist/modules/agents/utils/execution-to-message-mapper.js +133 -0
  121. package/dist/modules/agents/utils/execution-to-message-mapper.js.map +1 -0
  122. package/dist/modules/chat-hub/chat-hub-workflow.service.js +9 -0
  123. package/dist/modules/chat-hub/chat-hub-workflow.service.js.map +1 -1
  124. package/dist/modules/chat-hub/chat-hub.constants.js +4 -0
  125. package/dist/modules/chat-hub/chat-hub.constants.js.map +1 -1
  126. package/dist/modules/chat-hub/chat-hub.models.service.d.ts +1 -0
  127. package/dist/modules/chat-hub/chat-hub.models.service.js +43 -0
  128. package/dist/modules/chat-hub/chat-hub.models.service.js.map +1 -1
  129. package/dist/modules/chat-hub/chat-hub.module.d.ts +3 -3
  130. package/dist/modules/chat-hub/chat-hub.settings.controller.d.ts +7 -7
  131. package/dist/modules/chat-hub/context-limits.js +1 -0
  132. package/dist/modules/chat-hub/context-limits.js.map +1 -1
  133. package/dist/modules/chat-hub/dto/chat-models-request.dto.d.ts +2 -2
  134. package/dist/modules/community-packages/community-node-types-utils.d.ts +1 -1
  135. package/dist/modules/community-packages/community-node-types-utils.js +1 -1
  136. package/dist/modules/community-packages/community-node-types-utils.js.map +1 -1
  137. package/dist/modules/community-packages/community-node-types.service.js +1 -1
  138. package/dist/modules/community-packages/community-node-types.service.js.map +1 -1
  139. package/dist/modules/data-table/utils/sql-utils.d.ts +2 -0
  140. package/dist/modules/data-table/utils/sql-utils.js +26 -9
  141. package/dist/modules/data-table/utils/sql-utils.js.map +1 -1
  142. package/dist/modules/inbound-secrets/inbound-secrets-context-hook.d.ts +10 -0
  143. package/dist/modules/inbound-secrets/inbound-secrets-context-hook.js +55 -0
  144. package/dist/modules/inbound-secrets/inbound-secrets-context-hook.js.map +1 -0
  145. package/dist/modules/inbound-secrets/inbound-secrets.config.d.ts +3 -0
  146. package/dist/modules/inbound-secrets/inbound-secrets.config.js +27 -0
  147. package/dist/modules/inbound-secrets/inbound-secrets.config.js.map +1 -0
  148. package/dist/modules/inbound-secrets/inbound-secrets.module.d.ts +4 -0
  149. package/dist/modules/inbound-secrets/inbound-secrets.module.js +61 -0
  150. package/dist/modules/inbound-secrets/inbound-secrets.module.js.map +1 -0
  151. package/dist/modules/inbound-secrets/inbound-secrets.schemas.d.ts +3 -0
  152. package/dist/modules/inbound-secrets/inbound-secrets.schemas.js +6 -0
  153. package/dist/modules/inbound-secrets/inbound-secrets.schemas.js.map +1 -0
  154. package/dist/modules/inbound-secrets/inbound-secrets.service.d.ts +17 -0
  155. package/dist/modules/inbound-secrets/inbound-secrets.service.js +76 -0
  156. package/dist/modules/inbound-secrets/inbound-secrets.service.js.map +1 -0
  157. package/dist/modules/inbound-secrets/path-traversal.d.ts +4 -0
  158. package/dist/modules/inbound-secrets/path-traversal.js +51 -0
  159. package/dist/modules/inbound-secrets/path-traversal.js.map +1 -0
  160. package/dist/modules/insights/database/repositories/insights-by-period.repository.d.ts +1 -0
  161. package/dist/modules/insights/database/repositories/insights-by-period.repository.js +19 -4
  162. package/dist/modules/insights/database/repositories/insights-by-period.repository.js.map +1 -1
  163. package/dist/modules/insights/database/repositories/insights-raw.repository.js +1 -0
  164. package/dist/modules/insights/database/repositories/insights-raw.repository.js.map +1 -1
  165. package/dist/modules/insights/insights-compaction.service.d.ts +5 -0
  166. package/dist/modules/insights/insights-compaction.service.js +93 -18
  167. package/dist/modules/insights/insights-compaction.service.js.map +1 -1
  168. package/dist/modules/insights/insights.config.d.ts +3 -0
  169. package/dist/modules/insights/insights.config.js +15 -0
  170. package/dist/modules/insights/insights.config.js.map +1 -1
  171. package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.d.ts +17 -0
  172. package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.js +61 -0
  173. package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.js.map +1 -0
  174. package/dist/modules/instance-ai/eval/execution.service.js +8 -2
  175. package/dist/modules/instance-ai/eval/execution.service.js.map +1 -1
  176. package/dist/modules/instance-ai/eval/mock-handler.d.ts +1 -0
  177. package/dist/modules/instance-ai/eval/mock-handler.js +116 -72
  178. package/dist/modules/instance-ai/eval/mock-handler.js.map +1 -1
  179. package/dist/modules/instance-ai/eval/mock-quirks.d.ts +10 -0
  180. package/dist/modules/instance-ai/eval/mock-quirks.js +25 -0
  181. package/dist/modules/instance-ai/eval/mock-quirks.js.map +1 -0
  182. package/dist/modules/instance-ai/instance-ai-settings.service.js +14 -0
  183. package/dist/modules/instance-ai/instance-ai-settings.service.js.map +1 -1
  184. package/dist/modules/instance-ai/instance-ai.adapter.service.js +25 -5
  185. package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -1
  186. package/dist/modules/instance-ai/instance-ai.controller.d.ts +10 -3
  187. package/dist/modules/instance-ai/instance-ai.controller.js +34 -2
  188. package/dist/modules/instance-ai/instance-ai.controller.js.map +1 -1
  189. package/dist/modules/instance-ai/instance-ai.service.d.ts +2 -1
  190. package/dist/modules/instance-ai/instance-ai.service.js +75 -29
  191. package/dist/modules/instance-ai/instance-ai.service.js.map +1 -1
  192. package/dist/modules/instance-ai/liveness/index.d.ts +1 -1
  193. package/dist/modules/instance-ai/liveness/index.js.map +1 -1
  194. package/dist/modules/instance-ai/liveness/instance-ai-liveness.service.d.ts +12 -3
  195. package/dist/modules/instance-ai/liveness/instance-ai-liveness.service.js +21 -11
  196. package/dist/modules/instance-ai/liveness/instance-ai-liveness.service.js.map +1 -1
  197. package/dist/modules/instance-ai/run-timeout-details.d.ts +8 -0
  198. package/dist/modules/instance-ai/run-timeout-details.js +3 -0
  199. package/dist/modules/instance-ai/run-timeout-details.js.map +1 -0
  200. package/dist/modules/instance-ai/run-trace-metadata.d.ts +15 -0
  201. package/dist/modules/instance-ai/run-trace-metadata.js +63 -0
  202. package/dist/modules/instance-ai/run-trace-metadata.js.map +1 -0
  203. package/dist/modules/instance-version-history/instance-version-history.controller.d.ts +5 -3
  204. package/dist/modules/instance-version-history/instance-version-history.controller.js +9 -9
  205. package/dist/modules/instance-version-history/instance-version-history.controller.js.map +1 -1
  206. package/dist/modules/mcp/mcp-api-key.service.js +1 -0
  207. package/dist/modules/mcp/mcp-api-key.service.js.map +1 -1
  208. package/dist/modules/mcp/mcp-oauth-token.service.d.ts +7 -2
  209. package/dist/modules/mcp/mcp-oauth-token.service.js +16 -6
  210. package/dist/modules/mcp/mcp-oauth-token.service.js.map +1 -1
  211. package/dist/modules/mcp/mcp-server-middleware.service.js +2 -0
  212. package/dist/modules/mcp/mcp-server-middleware.service.js.map +1 -1
  213. package/dist/modules/mcp/mcp.controller.js +1 -0
  214. package/dist/modules/mcp/mcp.controller.js.map +1 -1
  215. package/dist/modules/mcp/mcp.types.d.ts +2 -0
  216. package/dist/modules/mcp/tools/workflow-builder/credential-validation.d.ts +15 -0
  217. package/dist/modules/mcp/tools/workflow-builder/credential-validation.js +91 -0
  218. package/dist/modules/mcp/tools/workflow-builder/credential-validation.js.map +1 -0
  219. package/dist/modules/mcp/tools/workflow-builder/mcp-instructions.js +1 -1
  220. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.d.ts +228 -3
  221. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js +74 -60
  222. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js.map +1 -1
  223. package/dist/modules/mcp/tools/workflow-builder/workflow-operations.d.ts +251 -0
  224. package/dist/modules/mcp/tools/workflow-builder/workflow-operations.js +447 -0
  225. package/dist/modules/mcp/tools/workflow-builder/workflow-operations.js.map +1 -0
  226. package/dist/modules/mcp-registry/mcp-registry-node-loader.d.ts +4 -3
  227. package/dist/modules/mcp-registry/mcp-registry-node-loader.js +6 -3
  228. package/dist/modules/mcp-registry/mcp-registry-node-loader.js.map +1 -1
  229. package/dist/modules/mcp-registry/mcp-registry-test.controller.d.ts +12 -0
  230. package/dist/modules/mcp-registry/mcp-registry-test.controller.js +49 -0
  231. package/dist/modules/mcp-registry/mcp-registry-test.controller.js.map +1 -0
  232. package/dist/modules/mcp-registry/mcp-registry.module.d.ts +2 -0
  233. package/dist/modules/mcp-registry/mcp-registry.module.js +12 -2
  234. package/dist/modules/mcp-registry/mcp-registry.module.js.map +1 -1
  235. package/dist/modules/mcp-registry/node-description-transform.js +16 -2
  236. package/dist/modules/mcp-registry/node-description-transform.js.map +1 -1
  237. package/dist/modules/mcp-registry/registry/mcp-registry-api.client.d.ts +8 -0
  238. package/dist/modules/mcp-registry/registry/mcp-registry-api.client.js +58 -0
  239. package/dist/modules/mcp-registry/registry/mcp-registry-api.client.js.map +1 -0
  240. package/dist/modules/mcp-registry/registry/mcp-registry-server.entity.d.ts +36 -0
  241. package/dist/modules/mcp-registry/registry/mcp-registry-server.entity.js +46 -0
  242. package/dist/modules/mcp-registry/registry/mcp-registry-server.entity.js.map +1 -0
  243. package/dist/modules/mcp-registry/registry/mcp-registry-server.repository.d.ts +5 -0
  244. package/dist/modules/mcp-registry/registry/mcp-registry-server.repository.js +26 -0
  245. package/dist/modules/mcp-registry/registry/mcp-registry-server.repository.js.map +1 -0
  246. package/dist/modules/mcp-registry/registry/mcp-registry.service.d.ts +37 -4
  247. package/dist/modules/mcp-registry/registry/mcp-registry.service.js +196 -12
  248. package/dist/modules/mcp-registry/registry/mcp-registry.service.js.map +1 -1
  249. package/dist/modules/mcp-registry/registry/mcp-registry.types.d.ts +9 -1
  250. package/dist/modules/mcp-registry/registry/mcp-registry.types.js +29 -0
  251. package/dist/modules/mcp-registry/registry/mcp-registry.types.js.map +1 -1
  252. package/dist/modules/mcp-registry/registry/mock-servers.js +2 -0
  253. package/dist/modules/mcp-registry/registry/mock-servers.js.map +1 -1
  254. package/dist/modules/otel/execution-level-tracer.js +4 -2
  255. package/dist/modules/otel/execution-level-tracer.js.map +1 -1
  256. package/dist/modules/otel/otel.constants.d.ts +1 -0
  257. package/dist/modules/otel/otel.constants.js +1 -0
  258. package/dist/modules/otel/otel.constants.js.map +1 -1
  259. package/dist/modules/otel/otel.module.d.ts +3 -0
  260. package/dist/modules/otel/otel.module.js +5 -0
  261. package/dist/modules/otel/otel.module.js.map +1 -1
  262. package/dist/modules/redaction/executions/execution-redaction.service.js +8 -3
  263. package/dist/modules/redaction/executions/execution-redaction.service.js.map +1 -1
  264. package/dist/modules/redaction/instance-redaction-enforcement.service.d.ts +14 -0
  265. package/dist/modules/redaction/instance-redaction-enforcement.service.js +91 -0
  266. package/dist/modules/redaction/instance-redaction-enforcement.service.js.map +1 -0
  267. package/dist/modules/redaction/redaction-enforcement.feature-flag.d.ts +2 -0
  268. package/dist/modules/redaction/redaction-enforcement.feature-flag.js +9 -0
  269. package/dist/modules/redaction/redaction-enforcement.feature-flag.js.map +1 -0
  270. package/dist/modules/redaction/redaction-enforcement.service.d.ts +8 -0
  271. package/dist/modules/redaction/redaction-enforcement.service.js +38 -0
  272. package/dist/modules/redaction/redaction-enforcement.service.js.map +1 -0
  273. package/dist/modules/redaction/redaction.config.d.ts +3 -0
  274. package/dist/modules/redaction/redaction.config.js +27 -0
  275. package/dist/modules/redaction/redaction.config.js.map +1 -0
  276. package/dist/modules/source-control.ee/source-control-import.service.ee.d.ts +3 -1
  277. package/dist/modules/source-control.ee/source-control-import.service.ee.js +14 -6
  278. package/dist/modules/source-control.ee/source-control-import.service.ee.js.map +1 -1
  279. package/dist/modules/source-control.ee/source-control.controller.ee.d.ts +2 -2
  280. package/dist/modules/source-control.ee/source-control.service.ee.d.ts +1 -1
  281. package/dist/modules/workflow-index/workflow-index.service.js.map +1 -1
  282. package/dist/oauth/oauth.service.js +1 -0
  283. package/dist/oauth/oauth.service.js.map +1 -1
  284. package/dist/posthog/index.d.ts +0 -1
  285. package/dist/posthog/index.js +2 -10
  286. package/dist/posthog/index.js.map +1 -1
  287. package/dist/public-api/v1/handlers/workflows/workflows.handler.js +2 -1
  288. package/dist/public-api/v1/handlers/workflows/workflows.handler.js.map +1 -1
  289. package/dist/scaling/constants.d.ts +2 -2
  290. package/dist/scaling/pubsub/pubsub.event-map.d.ts +6 -3
  291. package/dist/scaling/pubsub/pubsub.types.d.ts +3 -1
  292. package/dist/scaling/scaling.service.js +3 -2
  293. package/dist/scaling/scaling.service.js.map +1 -1
  294. package/dist/server.d.ts +1 -0
  295. package/dist/server.js +1 -0
  296. package/dist/server.js.map +1 -1
  297. package/dist/services/export.service.d.ts +6 -1
  298. package/dist/services/export.service.js +97 -1
  299. package/dist/services/export.service.js.map +1 -1
  300. package/dist/services/frontend.service.js +3 -1
  301. package/dist/services/frontend.service.js.map +1 -1
  302. package/dist/services/import.service.d.ts +2 -1
  303. package/dist/services/import.service.js +70 -22
  304. package/dist/services/import.service.js.map +1 -1
  305. package/dist/telemetry/index.d.ts +13 -1
  306. package/dist/telemetry/index.js +54 -18
  307. package/dist/telemetry/index.js.map +1 -1
  308. package/dist/{modules/community-packages → utils}/strapi-utils.js +2 -2
  309. package/dist/utils/strapi-utils.js.map +1 -0
  310. package/dist/workflows/workflow-history/workflow-history.controller.d.ts +9 -0
  311. package/dist/workflows/workflow-history/workflow-history.controller.js +17 -0
  312. package/dist/workflows/workflow-history/workflow-history.controller.js.map +1 -1
  313. package/dist/workflows/workflow-history/workflow-history.service.d.ts +16 -2
  314. package/dist/workflows/workflow-history/workflow-history.service.js +55 -1
  315. package/dist/workflows/workflow-history/workflow-history.service.js.map +1 -1
  316. package/dist/workflows/workflow.service.d.ts +3 -1
  317. package/dist/workflows/workflow.service.js +6 -2
  318. package/dist/workflows/workflow.service.js.map +1 -1
  319. package/package.json +37 -37
  320. package/dist/modules/agents/json-config/agent-json-config.d.ts +0 -1022
  321. package/dist/modules/agents/json-config/agent-json-config.js +0 -128
  322. package/dist/modules/agents/json-config/agent-json-config.js.map +0 -1
  323. package/dist/modules/agents/json-config/integration-config.d.ts +0 -61
  324. package/dist/modules/agents/json-config/integration-config.js +0 -33
  325. package/dist/modules/agents/json-config/integration-config.js.map +0 -1
  326. package/dist/modules/community-packages/strapi-utils.js.map +0 -1
  327. package/dist/modules/mcp-registry/mcp-registry-node-loader.test.d.ts +0 -1
  328. package/dist/modules/mcp-registry/mcp-registry-node-loader.test.js +0 -244
  329. package/dist/modules/mcp-registry/mcp-registry-node-loader.test.js.map +0 -1
  330. package/dist/modules/mcp-registry/node-description-transform.test.d.ts +0 -1
  331. package/dist/modules/mcp-registry/node-description-transform.test.js +0 -286
  332. package/dist/modules/mcp-registry/node-description-transform.test.js.map +0 -1
  333. package/dist/modules/mcp-registry/registry/mcp-registry.service.test.d.ts +0 -1
  334. package/dist/modules/mcp-registry/registry/mcp-registry.service.test.js +0 -41
  335. package/dist/modules/mcp-registry/registry/mcp-registry.service.test.js.map +0 -1
  336. /package/dist/{modules/community-packages → utils}/strapi-utils.d.ts +0 -0
@@ -45,7 +45,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
45
45
  exports.AgentsService = void 0;
46
46
  exports.chatThreadId = chatThreadId;
47
47
  const api_types_1 = require("@n8n/api-types");
48
- const agents = __importStar(require("@n8n/agents"));
49
48
  const ai_utilities_1 = require("@n8n/ai-utilities");
50
49
  const backend_common_1 = require("@n8n/backend-common");
51
50
  const config_1 = require("@n8n/config");
@@ -53,7 +52,6 @@ const constants_1 = require("@n8n/constants");
53
52
  const db_1 = require("@n8n/db");
54
53
  const decorators_1 = require("@n8n/decorators");
55
54
  const di_1 = require("@n8n/di");
56
- const typeorm_1 = require("@n8n/typeorm");
57
55
  const n8n_workflow_1 = require("n8n-workflow");
58
56
  const uuid_1 = require("uuid");
59
57
  const active_executions_1 = require("../../active-executions");
@@ -64,11 +62,13 @@ const node_definition_resolver_1 = require("../../modules/instance-ai/node-defin
64
62
  const node_execution_1 = require("../../node-execution");
65
63
  const publisher_service_1 = require("../../scaling/pubsub/publisher.service");
66
64
  const url_service_1 = require("../../services/url.service");
65
+ const telemetry_1 = require("../../telemetry");
67
66
  const ttl_map_1 = require("../../utils/ttl-map");
68
67
  const workflow_runner_1 = require("../../workflow-runner");
69
68
  const workflow_finder_service_1 = require("../../workflows/workflow-finder.service");
70
69
  const agents_credential_provider_1 = require("./adapters/agents-credential-provider");
71
70
  const agent_draft_utils_1 = require("./utils/agent-draft.utils");
71
+ const execution_to_message_mapper_1 = require("./utils/execution-to-message-mapper");
72
72
  const agent_resource_id_1 = require("./utils/agent-resource-id");
73
73
  const agent_execution_service_1 = require("./agent-execution.service");
74
74
  const agent_skills_service_1 = require("./agent-skills.service");
@@ -80,12 +80,12 @@ const integrations_sync_1 = require("./integrations/integrations-sync");
80
80
  const n8n_checkpoint_storage_1 = require("./integrations/n8n-checkpoint-storage");
81
81
  const n8n_memory_1 = require("./integrations/n8n-memory");
82
82
  const agent_config_composition_1 = require("./json-config/agent-config-composition");
83
- const agent_json_config_1 = require("./json-config/agent-json-config");
84
83
  const from_json_config_1 = require("./json-config/from-json-config");
85
84
  const agent_published_version_repository_1 = require("./repositories/agent-published-version.repository");
86
85
  const agent_repository_1 = require("./repositories/agent.repository");
87
86
  const agent_secure_runtime_1 = require("./runtime/agent-secure-runtime");
88
87
  const tool_registry_1 = require("./tool-registry");
88
+ const chat_integration_service_1 = require("./integrations/chat-integration.service");
89
89
  function chatThreadId(agentId, userId) {
90
90
  const baseThreadId = `${builder_tool_names_1.AGENT_THREAD_PREFIX.TEST}${agentId}`;
91
91
  return userId ? `${baseThreadId}:${userId}` : baseThreadId;
@@ -127,7 +127,7 @@ let AgentsService = class AgentsService {
127
127
  handleAgentConfigChanged(payload) {
128
128
  this.clearRuntimes(payload.agentId, { skipBroadcast: true });
129
129
  }
130
- constructor(logger, agentRepository, projectRelationRepository, workflowRunner, activeExecutions, executionRepository, workflowRepository, userRepository, workflowFinderService, urlService, n8nCheckpointStorage, secureRuntime, ephemeralNodeExecutor, agentsToolsService, n8nMemory, agentExecutionService, agentPublishedVersionRepository, agentSkillsService, publisher, agentsConfig, globalConfig) {
130
+ constructor(logger, agentRepository, projectRelationRepository, workflowRunner, activeExecutions, executionRepository, workflowRepository, userRepository, workflowFinderService, urlService, n8nCheckpointStorage, secureRuntime, ephemeralNodeExecutor, agentsToolsService, n8nMemory, agentExecutionService, agentPublishedVersionRepository, agentSkillsService, publisher, agentsConfig, globalConfig, telemetry, chatIntegrationService) {
131
131
  this.logger = logger;
132
132
  this.agentRepository = agentRepository;
133
133
  this.projectRelationRepository = projectRelationRepository;
@@ -149,13 +149,22 @@ let AgentsService = class AgentsService {
149
149
  this.publisher = publisher;
150
150
  this.agentsConfig = agentsConfig;
151
151
  this.globalConfig = globalConfig;
152
+ this.telemetry = telemetry;
153
+ this.chatIntegrationService = chatIntegrationService;
152
154
  this.runtimes = new ttl_map_1.TtlMap(30 * constants_1.Time.minutes.toMilliseconds);
153
155
  }
154
156
  isNodeToolsModuleEnabled() {
155
157
  return this.agentsConfig.modules.includes('node-tools-searcher');
156
158
  }
159
+ createAgentExecutionCounter(agentId) {
160
+ return {
161
+ incrementMessageCount: () => this.telemetry.trackAgentExecution({ agent_id: agentId, message_count: 1 }),
162
+ incrementTokenCount: (tokenCount) => this.telemetry.trackAgentExecution({ agent_id: agentId, token_count: tokenCount }),
163
+ incrementToolCallCount: () => this.telemetry.trackAgentExecution({ agent_id: agentId, tool_call_count: 1 }),
164
+ };
165
+ }
157
166
  shouldAttachNodeTools(config) {
158
- return this.isNodeToolsModuleEnabled() && (0, agent_json_config_1.isNodeToolsEnabled)(config);
167
+ return this.isNodeToolsModuleEnabled() && (0, api_types_1.isNodeToolsEnabled)(config);
159
168
  }
160
169
  listChatIntegrations() {
161
170
  return di_1.Container.get(agent_chat_integration_1.ChatIntegrationRegistry)
@@ -170,8 +179,7 @@ let AgentsService = class AgentsService {
170
179
  async create(projectId, name) {
171
180
  const defaultConfig = {
172
181
  name,
173
- model: 'anthropic/claude-sonnet-4-5',
174
- credential: '',
182
+ model: '',
175
183
  instructions: '',
176
184
  tools: [],
177
185
  skills: [],
@@ -229,7 +237,7 @@ let AgentsService = class AgentsService {
229
237
  if (projectIds.length === 0)
230
238
  return [];
231
239
  return await this.agentRepository.find({
232
- where: { projectId: (0, typeorm_1.In)(projectIds) },
240
+ where: { projectId: (0, db_1.In)(projectIds) },
233
241
  order: { updatedAt: 'DESC' },
234
242
  });
235
243
  }
@@ -239,7 +247,7 @@ let AgentsService = class AgentsService {
239
247
  if (projectIds.length === 0)
240
248
  return [];
241
249
  const agents = await this.agentRepository.find({
242
- where: { projectId: (0, typeorm_1.In)(projectIds) },
250
+ where: { projectId: (0, db_1.In)(projectIds) },
243
251
  relations: { publishedVersion: true },
244
252
  order: { updatedAt: 'DESC' },
245
253
  });
@@ -359,19 +367,15 @@ let AgentsService = class AgentsService {
359
367
  this.logger.debug('Deleted SDK agent', { agentId, projectId });
360
368
  return true;
361
369
  }
362
- async getChatMessages(threadId) {
363
- return await this.n8nMemory.getMessages(threadId);
370
+ async getConversationHistory(params) {
371
+ const { threadId, projectId, agentId } = params;
372
+ const detail = await this.agentExecutionService.getThreadDetail(threadId, projectId, agentId);
373
+ if (!detail)
374
+ return null;
375
+ return (0, execution_to_message_mapper_1.executionsToMessagesDto)(detail.executions);
364
376
  }
365
377
  getMemoryFactory() {
366
- return (params) => {
367
- if (params.storage === 'n8n') {
368
- return this.n8nMemory;
369
- }
370
- if (params.storage === 'sqlite') {
371
- return new agents.SqliteMemory(agents.SqliteMemoryConfigSchema.parse(params));
372
- }
373
- throw new Error(`Unsupported memory storage: ${params.storage}`);
374
- };
378
+ return (_params) => this.n8nMemory;
375
379
  }
376
380
  createCredentialProvider(projectId) {
377
381
  return new agents_credential_provider_1.AgentsCredentialProvider(di_1.Container.get(credentials_service_1.CredentialsService), projectId);
@@ -502,6 +506,7 @@ let AgentsService = class AgentsService {
502
506
  const resultStream = await agentInstance.resume('stream', resumeData, {
503
507
  runId,
504
508
  toolCallId,
509
+ executionCounter: this.createAgentExecutionCounter(agentId),
505
510
  });
506
511
  const reader = resultStream.stream.getReader();
507
512
  try {
@@ -543,20 +548,22 @@ let AgentsService = class AgentsService {
543
548
  const config = agentEntity.schema;
544
549
  const missing = [];
545
550
  if (!config) {
546
- return { missing: ['instructions', 'model'] };
551
+ return { missing: ['instructions', 'model', 'credential'] };
547
552
  }
548
553
  if (!config.instructions?.trim()) {
549
554
  missing.push('instructions');
550
555
  }
551
- const modelSchema = agent_json_config_1.AgentJsonConfigSchema.shape.model;
552
- if (!config.model || !modelSchema.safeParse(config.model).success) {
556
+ if (!config.model?.trim() || !api_types_1.AgentModelSchema.safeParse(config.model).success) {
553
557
  missing.push('model');
554
558
  }
555
- if (config.credential) {
559
+ if (!config.credential?.trim()) {
560
+ missing.push('credential');
561
+ }
562
+ else {
556
563
  try {
557
- const credentialName = config.credential;
564
+ const credentialId = config.credential.trim();
558
565
  const creds = await credentialProvider.list();
559
- const exists = creds.some((c) => c.id === credentialName || c.name.toLowerCase() === credentialName.toLowerCase());
566
+ const exists = creds.some((c) => c.id === credentialId);
560
567
  if (!exists)
561
568
  missing.push('credential');
562
569
  }
@@ -636,6 +643,7 @@ let AgentsService = class AgentsService {
636
643
  const recorder = new execution_recorder_1.ExecutionRecorder(toolRegistry);
637
644
  const resultStream = await agentInstance.stream(message, {
638
645
  persistence: { threadId, resourceId },
646
+ executionCounter: this.createAgentExecutionCounter(agentId),
639
647
  });
640
648
  const reader = resultStream.stream.getReader();
641
649
  try {
@@ -712,6 +720,7 @@ let AgentsService = class AgentsService {
712
720
  const toolInputs = new Map();
713
721
  const resultStream = await agentInstance.stream(message, {
714
722
  persistence: { resourceId: executionId, threadId },
723
+ executionCounter: this.createAgentExecutionCounter(agentId),
715
724
  });
716
725
  const reader = resultStream.stream.getReader();
717
726
  try {
@@ -798,12 +807,12 @@ let AgentsService = class AgentsService {
798
807
  return config;
799
808
  }
800
809
  async validateConfig(raw) {
801
- const parsed = agent_json_config_1.AgentJsonConfigSchema.safeParse(raw);
810
+ const parsed = api_types_1.AgentJsonConfigSchema.safeParse(raw);
802
811
  if (!parsed.success) {
803
812
  return { valid: false, error: parsed.error.message };
804
813
  }
805
814
  const config = parsed.data;
806
- if ((0, agent_json_config_1.isNodeToolsEnabled)(config.config) && !this.isNodeToolsModuleEnabled()) {
815
+ if ((0, api_types_1.isNodeToolsEnabled)(config.config) && !this.isNodeToolsModuleEnabled()) {
807
816
  return {
808
817
  valid: false,
809
818
  error: 'config.nodeTools.enabled requires the node-tools-searcher agents module to be enabled.',
@@ -832,48 +841,11 @@ let AgentsService = class AgentsService {
832
841
  (0, ai_utilities_1.extractFromAIParameters)((tool.node.nodeParameters ?? {}));
833
842
  }
834
843
  }
835
- async healIntegrationCredentialNames(rawConfig) {
836
- if (!rawConfig || typeof rawConfig !== 'object')
837
- return rawConfig;
838
- const cfg = rawConfig;
839
- if (!Array.isArray(cfg.integrations))
840
- return rawConfig;
841
- const missingIds = new Set();
842
- for (const integration of cfg.integrations) {
843
- if (!integration || typeof integration !== 'object')
844
- continue;
845
- const i = integration;
846
- if (typeof i.credentialId === 'string' && i.credentialName === undefined) {
847
- missingIds.add(i.credentialId);
848
- }
849
- }
850
- if (missingIds.size === 0)
851
- return rawConfig;
852
- const credentials = await di_1.Container.get(db_1.CredentialsRepository).findBy({
853
- id: (0, typeorm_1.In)(Array.from(missingIds)),
854
- });
855
- const namesById = new Map(credentials.map((c) => [c.id, c.name]));
856
- const integrations = cfg.integrations;
857
- return {
858
- ...cfg,
859
- integrations: integrations.map((integration) => {
860
- if (!integration || typeof integration !== 'object')
861
- return integration;
862
- const i = integration;
863
- if (typeof i.credentialId !== 'string' || i.credentialName !== undefined) {
864
- return integration;
865
- }
866
- const name = namesById.get(i.credentialId);
867
- return name ? { ...integration, credentialName: name } : integration;
868
- }),
869
- };
870
- }
871
844
  async updateConfig(agentId, projectId, config) {
872
845
  const entity = await this.agentRepository.findByIdAndProjectId(agentId, projectId);
873
846
  if (!entity)
874
847
  throw new not_found_error_1.NotFoundError('Agent not found');
875
- const healedConfig = await this.healIntegrationCredentialNames(config);
876
- const result = await this.validateConfig(healedConfig);
848
+ const result = await this.validateConfig(config);
877
849
  if (!result.valid) {
878
850
  throw new n8n_workflow_1.UserError(`Invalid agent config: ${result.error}`);
879
851
  }
@@ -937,6 +909,43 @@ let AgentsService = class AgentsService {
937
909
  versionId: saved.versionId,
938
910
  };
939
911
  }
912
+ async saveCredentialIntegration(agent, integration) {
913
+ const parseResult = api_types_1.AgentCredentialIntegrationSchema.safeParse(integration);
914
+ if (!parseResult.success) {
915
+ throw new n8n_workflow_1.UserError(`Invalid credential integration: ${parseResult.error.message}`);
916
+ }
917
+ const validated = parseResult.data;
918
+ const { type, credentialId } = validated;
919
+ const existing = agent.integrations ?? [];
920
+ const alreadyExists = existing.some((i) => (0, api_types_1.isAgentCredentialIntegration)(i) && i.type === type && i.credentialId === credentialId);
921
+ agent.integrations = alreadyExists
922
+ ? existing.map((existingIntegration) => (0, api_types_1.isAgentCredentialIntegration)(existingIntegration) &&
923
+ existingIntegration.type === type &&
924
+ existingIntegration.credentialId === credentialId
925
+ ? validated
926
+ : existingIntegration)
927
+ : [...existing, validated];
928
+ const result = await this.agentRepository.save(agent);
929
+ await this.chatIntegrationService.broadcastIntegrationChange(agent.id, integration, 'connect');
930
+ return result;
931
+ }
932
+ async removeCredentialIntegration(agent, type, credentialId) {
933
+ if (!agent.integrations?.length)
934
+ return agent;
935
+ const integration = agent.integrations.find((i) => (0, api_types_1.isAgentCredentialIntegration)(i) && i.type === type && i.credentialId === credentialId);
936
+ if (!integration)
937
+ return agent;
938
+ agent.integrations = agent.integrations.filter((i) => i !== integration);
939
+ const result = await this.agentRepository.save(agent);
940
+ await this.chatIntegrationService.broadcastIntegrationChange(agent.id, integration, 'disconnect');
941
+ return result;
942
+ }
943
+ validateIntegrationRefs(integrations, agent) {
944
+ const activeUnpublishedSchedule = integrations.some((integration) => (0, api_types_1.isAgentScheduleIntegration)(integration) && integration.active);
945
+ if (activeUnpublishedSchedule && !agent.publishedVersion) {
946
+ throw new n8n_workflow_1.UserError('Invalid agent config: schedule integration cannot be active until the agent is published');
947
+ }
948
+ }
940
949
  async buildCustomTool(agentId, projectId, code, descriptor) {
941
950
  const entity = await this.agentRepository.findByIdAndProjectId(agentId, projectId);
942
951
  if (!entity)
@@ -1025,10 +1034,7 @@ let AgentsService = class AgentsService {
1025
1034
  if (missingToolIds.length > 0) {
1026
1035
  throw new n8n_workflow_1.UserError(`Invalid agent config: Missing custom tool definitions: ${missingToolIds.join(', ')}`);
1027
1036
  }
1028
- const activeUnpublishedSchedule = (config.integrations ?? []).some((integration) => (0, api_types_1.isAgentScheduleIntegration)(integration) && integration.active);
1029
- if (activeUnpublishedSchedule && !entity.publishedVersion) {
1030
- throw new n8n_workflow_1.UserError('Invalid agent config: schedule integration cannot be active until the agent is published');
1031
- }
1037
+ this.validateIntegrationRefs(config.integrations ?? [], entity);
1032
1038
  }
1033
1039
  getMissingCustomToolIds(config, tools) {
1034
1040
  const refs = (config?.tools ?? []).filter((ref) => ref.type === 'custom');
@@ -1129,6 +1135,8 @@ exports.AgentsService = AgentsService = __decorate([
1129
1135
  agent_skills_service_1.AgentSkillsService,
1130
1136
  publisher_service_1.Publisher,
1131
1137
  config_1.AgentsConfig,
1132
- config_1.GlobalConfig])
1138
+ config_1.GlobalConfig,
1139
+ telemetry_1.Telemetry,
1140
+ chat_integration_service_1.ChatIntegrationService])
1133
1141
  ], AgentsService);
1134
1142
  //# 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 @@
1
+ export declare function buildAgentPreviewPath(projectId: string, agentId: string): string;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildAgentPreviewPath = buildAgentPreviewPath;
4
+ function buildAgentPreviewPath(projectId, agentId) {
5
+ const encodedProjectId = encodeURIComponent(projectId);
6
+ const encodedAgentId = encodeURIComponent(agentId);
7
+ return `/projects/${encodedProjectId}/agents/${encodedAgentId}/preview`;
8
+ }
9
+ //# sourceMappingURL=agent-builder-preview-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-builder-preview-path.js","sourceRoot":"","sources":["../../../../src/modules/agents/builder/agent-builder-preview-path.ts"],"names":[],"mappings":";;AAAA,sDAKC;AALD,SAAgB,qBAAqB,CAAC,SAAiB,EAAE,OAAe;IACvE,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAEnD,OAAO,aAAa,gBAAgB,WAAW,cAAc,UAAU,CAAC;AACzE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type ProviderCatalog } from '@n8n/agents';
2
+ export declare function buildModelRecommendationsSection(catalog: ProviderCatalog): string | null;
3
+ export declare function getModelRecommendationsSection(): Promise<string | null>;
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildModelRecommendationsSection = buildModelRecommendationsSection;
4
+ exports.getModelRecommendationsSection = getModelRecommendationsSection;
5
+ const agents_1 = require("@n8n/agents");
6
+ const MODEL_RECOMMENDATION_FETCH_TIMEOUT_MS = 5000;
7
+ const MAX_RECOMMENDED_MODELS_PER_PROVIDER = 3;
8
+ const RECOMMENDED_PROVIDERS = [
9
+ { id: 'anthropic', label: 'Anthropic' },
10
+ { id: 'openai', label: 'OpenAI' },
11
+ { id: 'mistral', label: 'Mistral' },
12
+ { id: 'xai', label: 'xAI' },
13
+ { id: 'google', label: 'Gemini' },
14
+ ];
15
+ let modelRecommendationsSection;
16
+ let modelRecommendationsPromise;
17
+ function getReleaseTime(model) {
18
+ if (!model.releaseDate)
19
+ return null;
20
+ const releaseTime = Date.parse(model.releaseDate);
21
+ return Number.isNaN(releaseTime) ? null : releaseTime;
22
+ }
23
+ function compareByReleaseDateDesc(a, b) {
24
+ const aReleaseTime = getReleaseTime(a);
25
+ const bReleaseTime = getReleaseTime(b);
26
+ if (aReleaseTime !== null && bReleaseTime !== null && aReleaseTime !== bReleaseTime) {
27
+ return bReleaseTime - aReleaseTime;
28
+ }
29
+ if (aReleaseTime !== null && bReleaseTime === null)
30
+ return -1;
31
+ if (aReleaseTime === null && bReleaseTime !== null)
32
+ return 1;
33
+ return a.id.localeCompare(b.id);
34
+ }
35
+ function getProviderModels(catalog, providerId) {
36
+ const provider = catalog[providerId];
37
+ if (!provider)
38
+ return [];
39
+ const models = Object.values(provider.models);
40
+ const toolCapableModels = models.filter((model) => model.toolCall);
41
+ return toolCapableModels.length > 0 ? toolCapableModels : models;
42
+ }
43
+ function formatModel(model, providerId) {
44
+ const flags = [
45
+ model.releaseDate ? `released ${model.releaseDate}` : null,
46
+ model.reasoning ? 'reasoning' : null,
47
+ model.toolCall ? 'tools' : null,
48
+ model.limits?.context ? `${Math.round(model.limits.context / 1000)}k context` : null,
49
+ ].filter((flag) => flag !== null);
50
+ const suffix = flags.length > 0 ? ` (${flags.join(', ')})` : '';
51
+ return `\`${providerId}/${model.id}\` ${model.name}${suffix}`;
52
+ }
53
+ function buildModelRecommendationsSection(catalog) {
54
+ const rows = RECOMMENDED_PROVIDERS.flatMap((provider) => {
55
+ const models = getProviderModels(catalog, provider.id)
56
+ .sort(compareByReleaseDateDesc)
57
+ .slice(0, MAX_RECOMMENDED_MODELS_PER_PROVIDER)
58
+ .map((model) => formatModel(model, provider.id));
59
+ return models.length > 0 ? [`- ${provider.label}: ${models.join('; ')}`] : [];
60
+ });
61
+ if (rows.length === 0)
62
+ return null;
63
+ return `\
64
+ ## Recommended LLM models
65
+
66
+ These recommendations are derived from the live models.dev catalog exposed by the agents SDK.
67
+ The provider lists are selected by newest release_date first, limited to
68
+ tool-capable models when the catalog marks any models for that provider as
69
+ tool-capable.
70
+ Treat this list as authoritative for model recommendations. Use these models
71
+ when the user does not know what model to pick. Prefer a recommended model for
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.
74
+ Do not mention models outside this list unless the user explicitly names one
75
+ and resolve_llm validates it. Do not write a model or credential directly
76
+ without a resolve_llm or ask_llm result.
77
+
78
+ ${rows.join('\n')}`;
79
+ }
80
+ async function fetchProviderCatalogWithTimeout() {
81
+ let timeout;
82
+ const timeoutPromise = new Promise((resolve) => {
83
+ timeout = setTimeout(() => resolve(null), MODEL_RECOMMENDATION_FETCH_TIMEOUT_MS);
84
+ });
85
+ const catalogPromise = (0, agents_1.fetchProviderCatalog)();
86
+ void catalogPromise.catch(() => undefined);
87
+ const result = await Promise.race([catalogPromise, timeoutPromise]);
88
+ if (timeout)
89
+ clearTimeout(timeout);
90
+ return result;
91
+ }
92
+ async function getModelRecommendationsSection() {
93
+ if (modelRecommendationsSection !== undefined)
94
+ return modelRecommendationsSection;
95
+ modelRecommendationsPromise ??= fetchProviderCatalogWithTimeout()
96
+ .then((catalog) => (catalog ? buildModelRecommendationsSection(catalog) : null))
97
+ .catch(() => null)
98
+ .finally(() => {
99
+ modelRecommendationsPromise = undefined;
100
+ });
101
+ const section = await modelRecommendationsPromise;
102
+ if (section)
103
+ modelRecommendationsSection = section;
104
+ return section;
105
+ }
106
+ //# sourceMappingURL=agents-builder-model-recommendations.js.map