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
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.EvaluationCollectionsController = void 0;
16
+ const api_types_1 = require("@n8n/api-types");
17
+ const backend_common_1 = require("@n8n/backend-common");
18
+ const decorators_1 = require("@n8n/decorators");
19
+ const bad_request_error_1 = require("../errors/response-errors/bad-request.error");
20
+ const not_found_error_1 = require("../errors/response-errors/not-found.error");
21
+ const posthog_1 = require("../posthog");
22
+ const evaluation_collection_service_1 = require("./evaluation-collection.service");
23
+ let EvaluationCollectionsController = class EvaluationCollectionsController {
24
+ constructor(service, postHogClient, logger) {
25
+ this.service = service;
26
+ this.postHogClient = postHogClient;
27
+ this.logger = logger;
28
+ }
29
+ async assertFlagEnabled(user) {
30
+ let enabled = false;
31
+ try {
32
+ const flags = await this.postHogClient.getFeatureFlags(user);
33
+ enabled = flags?.[api_types_1.EVAL_COLLECTIONS_FLAG] === true;
34
+ }
35
+ catch (error) {
36
+ this.logger.warn('Failed to resolve eval-collections flag', {
37
+ error: error instanceof Error ? error.message : String(error),
38
+ });
39
+ }
40
+ if (!enabled)
41
+ throw new not_found_error_1.NotFoundError('Not found');
42
+ }
43
+ async list(req) {
44
+ await this.assertFlagEnabled(req.user);
45
+ return await this.service.listCollections(req.params.workflowId);
46
+ }
47
+ async get(req) {
48
+ await this.assertFlagEnabled(req.user);
49
+ return await this.service.getCollectionDetail(req.params.workflowId, req.params.collectionId);
50
+ }
51
+ async create(req, _res, payload) {
52
+ await this.assertFlagEnabled(req.user);
53
+ const { record, runsStartedIds } = await this.service.createCollection(req.user, req.params.workflowId, payload);
54
+ return { ...record, runsStartedIds };
55
+ }
56
+ async update(req, _res, payload) {
57
+ await this.assertFlagEnabled(req.user);
58
+ return await this.service.updateCollectionMeta(req.params.workflowId, req.params.collectionId, payload);
59
+ }
60
+ async delete(req) {
61
+ await this.assertFlagEnabled(req.user);
62
+ const { runsUnlinked } = await this.service.deleteCollection(req.user, req.params.workflowId, req.params.collectionId);
63
+ return { success: true, runsUnlinked };
64
+ }
65
+ async addRun(req, _res, payload) {
66
+ await this.assertFlagEnabled(req.user);
67
+ return await this.service.addRunToCollection(req.params.workflowId, req.params.collectionId, payload.testRunId);
68
+ }
69
+ async removeRun(req) {
70
+ await this.assertFlagEnabled(req.user);
71
+ return await this.service.removeRunFromCollection(req.params.workflowId, req.params.collectionId, req.params.runId);
72
+ }
73
+ async listVersions(req) {
74
+ await this.assertFlagEnabled(req.user);
75
+ const { evaluationConfigId } = req.query;
76
+ if (!evaluationConfigId) {
77
+ throw new bad_request_error_1.BadRequestError('Missing required query parameter: evaluationConfigId');
78
+ }
79
+ return await this.service.getEvalVersions(req.params.workflowId, evaluationConfigId);
80
+ }
81
+ };
82
+ exports.EvaluationCollectionsController = EvaluationCollectionsController;
83
+ __decorate([
84
+ (0, decorators_1.Get)('/:workflowId/eval-collections'),
85
+ (0, decorators_1.ProjectScope)('workflow:read'),
86
+ __metadata("design:type", Function),
87
+ __metadata("design:paramtypes", [Object]),
88
+ __metadata("design:returntype", Promise)
89
+ ], EvaluationCollectionsController.prototype, "list", null);
90
+ __decorate([
91
+ (0, decorators_1.Get)('/:workflowId/eval-collections/:collectionId'),
92
+ (0, decorators_1.ProjectScope)('workflow:read'),
93
+ __metadata("design:type", Function),
94
+ __metadata("design:paramtypes", [Object]),
95
+ __metadata("design:returntype", Promise)
96
+ ], EvaluationCollectionsController.prototype, "get", null);
97
+ __decorate([
98
+ (0, decorators_1.Post)('/:workflowId/eval-collections'),
99
+ (0, decorators_1.ProjectScope)('workflow:execute'),
100
+ __param(2, decorators_1.Body),
101
+ __metadata("design:type", Function),
102
+ __metadata("design:paramtypes", [Object, Object, api_types_1.CreateEvaluationCollectionDto]),
103
+ __metadata("design:returntype", Promise)
104
+ ], EvaluationCollectionsController.prototype, "create", null);
105
+ __decorate([
106
+ (0, decorators_1.Patch)('/:workflowId/eval-collections/:collectionId'),
107
+ (0, decorators_1.ProjectScope)('workflow:update'),
108
+ __param(2, decorators_1.Body),
109
+ __metadata("design:type", Function),
110
+ __metadata("design:paramtypes", [Object, Object, api_types_1.UpdateEvaluationCollectionDto]),
111
+ __metadata("design:returntype", Promise)
112
+ ], EvaluationCollectionsController.prototype, "update", null);
113
+ __decorate([
114
+ (0, decorators_1.Delete)('/:workflowId/eval-collections/:collectionId'),
115
+ (0, decorators_1.ProjectScope)('workflow:update'),
116
+ __metadata("design:type", Function),
117
+ __metadata("design:paramtypes", [Object]),
118
+ __metadata("design:returntype", Promise)
119
+ ], EvaluationCollectionsController.prototype, "delete", null);
120
+ __decorate([
121
+ (0, decorators_1.Post)('/:workflowId/eval-collections/:collectionId/runs'),
122
+ (0, decorators_1.ProjectScope)('workflow:update'),
123
+ __param(2, decorators_1.Body),
124
+ __metadata("design:type", Function),
125
+ __metadata("design:paramtypes", [Object, Object, api_types_1.AddRunToCollectionDto]),
126
+ __metadata("design:returntype", Promise)
127
+ ], EvaluationCollectionsController.prototype, "addRun", null);
128
+ __decorate([
129
+ (0, decorators_1.Delete)('/:workflowId/eval-collections/:collectionId/runs/:runId'),
130
+ (0, decorators_1.ProjectScope)('workflow:update'),
131
+ __metadata("design:type", Function),
132
+ __metadata("design:paramtypes", [Object]),
133
+ __metadata("design:returntype", Promise)
134
+ ], EvaluationCollectionsController.prototype, "removeRun", null);
135
+ __decorate([
136
+ (0, decorators_1.Get)('/:workflowId/eval-versions'),
137
+ (0, decorators_1.ProjectScope)('workflow:read'),
138
+ __metadata("design:type", Function),
139
+ __metadata("design:paramtypes", [Object]),
140
+ __metadata("design:returntype", Promise)
141
+ ], EvaluationCollectionsController.prototype, "listVersions", null);
142
+ exports.EvaluationCollectionsController = EvaluationCollectionsController = __decorate([
143
+ (0, decorators_1.RestController)('/workflows'),
144
+ __metadata("design:paramtypes", [evaluation_collection_service_1.EvaluationCollectionService,
145
+ posthog_1.PostHogClient,
146
+ backend_common_1.Logger])
147
+ ], EvaluationCollectionsController);
148
+ //# sourceMappingURL=evaluation-collections.controller.ee.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluation-collections.controller.ee.js","sourceRoot":"","sources":["../../src/evaluation.ee/evaluation-collections.controller.ee.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { ExecutionsConfig } from '@n8n/config';
2
+ import type { License } from '../license';
3
+ export declare const EVALUATION_TIER_DEFAULTS: {
4
+ readonly Community: 1;
5
+ readonly Pro: 1;
6
+ readonly Business: 3;
7
+ readonly Enterprise: 5;
8
+ };
9
+ export type EvaluationConcurrencyLimitSource = 'env' | 'license' | 'tier';
10
+ export declare function resolveEvaluationConcurrencyLimit(executionsConfig: ExecutionsConfig, license: License): number;
11
+ export declare function getEvaluationConcurrencyLimitSource(license: License): EvaluationConcurrencyLimitSource;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EVALUATION_TIER_DEFAULTS = void 0;
4
+ exports.resolveEvaluationConcurrencyLimit = resolveEvaluationConcurrencyLimit;
5
+ exports.getEvaluationConcurrencyLimitSource = getEvaluationConcurrencyLimitSource;
6
+ exports.EVALUATION_TIER_DEFAULTS = {
7
+ Community: 1,
8
+ Pro: 1,
9
+ Business: 3,
10
+ Enterprise: 5,
11
+ };
12
+ const EVALUATION_CONCURRENCY_ENV_VAR = 'N8N_CONCURRENCY_EVALUATION_LIMIT';
13
+ const EVALUATION_CONCURRENCY_QUOTA = 'quota:evaluations:concurrencyLimit';
14
+ const isPlanTier = (name) => name in exports.EVALUATION_TIER_DEFAULTS;
15
+ function readLicenseQuota(license) {
16
+ const raw = license.getValue(EVALUATION_CONCURRENCY_QUOTA);
17
+ if (typeof raw !== 'number')
18
+ return undefined;
19
+ if (raw === 0)
20
+ return undefined;
21
+ return raw;
22
+ }
23
+ function resolveEvaluationConcurrencyLimit(executionsConfig, license) {
24
+ if (process.env[EVALUATION_CONCURRENCY_ENV_VAR] !== undefined) {
25
+ return executionsConfig.concurrency.evaluationLimit;
26
+ }
27
+ const fromLicense = readLicenseQuota(license);
28
+ if (fromLicense !== undefined)
29
+ return fromLicense;
30
+ const planName = license.getPlanName();
31
+ return isPlanTier(planName) ? exports.EVALUATION_TIER_DEFAULTS[planName] : 1;
32
+ }
33
+ function getEvaluationConcurrencyLimitSource(license) {
34
+ if (process.env[EVALUATION_CONCURRENCY_ENV_VAR] !== undefined)
35
+ return 'env';
36
+ if (readLicenseQuota(license) !== undefined)
37
+ return 'license';
38
+ return 'tier';
39
+ }
40
+ //# sourceMappingURL=evaluation-concurrency.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluation-concurrency.helper.js","sourceRoot":"","sources":["../../src/evaluation.ee/evaluation-concurrency.helper.ts"],"names":[],"mappings":";;;AA+DA,8EAaC;AAOD,kFAMC;AA/EY,QAAA,wBAAwB,GAAG;IACvC,SAAS,EAAE,CAAC;IACZ,GAAG,EAAE,CAAC;IACN,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE,CAAC;CACJ,CAAC;AAEX,MAAM,8BAA8B,GAAG,kCAAkC,CAAC;AAC1E,MAAM,4BAA4B,GAAG,oCAAoC,CAAC;AAS1E,MAAM,UAAU,GAAG,CAAC,IAAY,EAAiD,EAAE,CAClF,IAAI,IAAI,gCAAwB,CAAC;AAWlC,SAAS,gBAAgB,CAAC,OAAgB;IACzC,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;IAC3D,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC9C,IAAI,GAAG,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAChC,OAAO,GAAG,CAAC;AACZ,CAAC;AAmBD,SAAgB,iCAAiC,CAChD,gBAAkC,EAClC,OAAgB;IAEhB,IAAI,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,KAAK,SAAS,EAAE,CAAC;QAC/D,OAAO,gBAAgB,CAAC,WAAW,CAAC,eAAe,CAAC;IACrD,CAAC;IAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC;IAElD,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACvC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gCAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC;AAOD,SAAgB,mCAAmC,CAClD,OAAgB;IAEhB,IAAI,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC5E,IAAI,gBAAgB,CAAC,OAAO,CAAC,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC9D,OAAO,MAAM,CAAC;AACf,CAAC"}
@@ -1,13 +1,15 @@
1
1
  import { Logger } from '@n8n/backend-common';
2
2
  import { ExecutionsConfig } from '@n8n/config';
3
- import type { User, TestRun } from '@n8n/db';
4
- import { TestCaseExecutionRepository, TestRunRepository, WorkflowRepository } from '@n8n/db';
3
+ import type { User } from '@n8n/db';
4
+ import { TestCaseExecutionRepository, TestRun, TestRunRepository, WorkflowRepository } from '@n8n/db';
5
5
  import { ErrorReporter, InstanceSettings } from 'n8n-core';
6
6
  import { ConcurrencyControlService } from '../../concurrency/concurrency-control.service';
7
7
  import { Publisher } from '../../scaling/pubsub/publisher.service';
8
- import type { IRun, IWorkflowBase } from 'n8n-workflow';
8
+ import { WorkflowHistoryService } from '../../workflows/workflow-history/workflow-history.service';
9
+ import type { IDataObject, IRun, IWorkflowBase } from 'n8n-workflow';
9
10
  import { ActiveExecutions } from '../../active-executions';
10
11
  import { EventService } from '../../events/event.service';
12
+ import { License } from '../../license';
11
13
  import { Telemetry } from '../../telemetry';
12
14
  import { WorkflowRunner } from '../../workflow-runner';
13
15
  export interface TestRunMetadata {
@@ -32,8 +34,10 @@ export declare class TestRunnerService {
32
34
  private readonly publisher;
33
35
  private readonly instanceSettings;
34
36
  private readonly concurrencyControlService;
37
+ private readonly license;
38
+ private readonly workflowHistoryService;
35
39
  private abortControllers;
36
- constructor(logger: Logger, telemetry: Telemetry, workflowRepository: WorkflowRepository, workflowRunner: WorkflowRunner, activeExecutions: ActiveExecutions, testRunRepository: TestRunRepository, testCaseExecutionRepository: TestCaseExecutionRepository, errorReporter: ErrorReporter, executionsConfig: ExecutionsConfig, eventService: EventService, publisher: Publisher, instanceSettings: InstanceSettings, concurrencyControlService: ConcurrencyControlService);
40
+ constructor(logger: Logger, telemetry: Telemetry, workflowRepository: WorkflowRepository, workflowRunner: WorkflowRunner, activeExecutions: ActiveExecutions, testRunRepository: TestRunRepository, testCaseExecutionRepository: TestCaseExecutionRepository, errorReporter: ErrorReporter, executionsConfig: ExecutionsConfig, eventService: EventService, publisher: Publisher, instanceSettings: InstanceSettings, concurrencyControlService: ConcurrencyControlService, license: License, workflowHistoryService: WorkflowHistoryService);
37
41
  private findEvaluationTriggerNode;
38
42
  private validateEvaluationTriggerNode;
39
43
  private hasModelNodeConnected;
@@ -51,8 +55,13 @@ export declare class TestRunnerService {
51
55
  private getEvaluationData;
52
56
  private extractUserDefinedMetrics;
53
57
  private extractPredefinedMetrics;
54
- runTest(user: User, workflowId: string, concurrency?: number, flagEnabledForUser?: boolean): Promise<void>;
55
- startTestRun(user: User, workflowId: string, concurrency?: number, flagEnabledForUser?: boolean): Promise<{
58
+ runTest(user: User, workflowId: string, concurrency?: number): Promise<void>;
59
+ startTestRun(user: User, workflowId: string, concurrency?: number, options?: {
60
+ collectionId?: string;
61
+ workflowVersionId?: string;
62
+ evaluationConfigId?: string;
63
+ evaluationConfigSnapshot?: IDataObject;
64
+ }): Promise<{
56
65
  testRun: TestRun;
57
66
  finished: Promise<void>;
58
67
  }>;
@@ -62,5 +71,12 @@ export declare class TestRunnerService {
62
71
  handleCancelTestRunCommand({ testRunId }: {
63
72
  testRunId: string;
64
73
  }): void;
74
+ handleCancelCollectionCommand({ collectionId }: {
75
+ collectionId: string;
76
+ }): Promise<void>;
77
+ private cancelCollectionLocally;
78
+ cancelCollection(collectionId: string): Promise<{
79
+ cancelledRunIds: string[];
80
+ }>;
65
81
  cancelTestRun(testRunId: string): Promise<void>;
66
82
  }
@@ -19,21 +19,25 @@ const config_1 = require("@n8n/config");
19
19
  const db_1 = require("@n8n/db");
20
20
  const decorators_1 = require("@n8n/decorators");
21
21
  const di_1 = require("@n8n/di");
22
+ const typeorm_1 = require("@n8n/typeorm");
22
23
  const n8n_core_1 = require("n8n-core");
23
24
  const concurrency_control_service_1 = require("../../concurrency/concurrency-control.service");
24
25
  const publisher_service_1 = require("../../scaling/pubsub/publisher.service");
26
+ const workflow_history_service_1 = require("../../workflows/workflow-history/workflow-history.service");
25
27
  const n8n_workflow_1 = require("n8n-workflow");
26
28
  const node_assert_1 = __importDefault(require("node:assert"));
27
29
  const p_limit_1 = __importDefault(require("p-limit"));
28
30
  const active_executions_1 = require("../../active-executions");
29
31
  const event_service_1 = require("../../events/event.service");
32
+ const evaluation_concurrency_helper_1 = require("../../evaluation.ee/evaluation-concurrency.helper");
30
33
  const errors_ee_1 = require("../../evaluation.ee/test-runner/errors.ee");
31
34
  const utils_ee_1 = require("../../evaluation.ee/test-runner/utils.ee");
35
+ const license_1 = require("../../license");
32
36
  const telemetry_1 = require("../../telemetry");
33
37
  const workflow_runner_1 = require("../../workflow-runner");
34
38
  const evaluation_metrics_ee_1 = require("./evaluation-metrics.ee");
35
39
  let TestRunnerService = TestRunnerService_1 = class TestRunnerService {
36
- constructor(logger, telemetry, workflowRepository, workflowRunner, activeExecutions, testRunRepository, testCaseExecutionRepository, errorReporter, executionsConfig, eventService, publisher, instanceSettings, concurrencyControlService) {
40
+ constructor(logger, telemetry, workflowRepository, workflowRunner, activeExecutions, testRunRepository, testCaseExecutionRepository, errorReporter, executionsConfig, eventService, publisher, instanceSettings, concurrencyControlService, license, workflowHistoryService) {
37
41
  this.logger = logger;
38
42
  this.telemetry = telemetry;
39
43
  this.workflowRepository = workflowRepository;
@@ -47,6 +51,8 @@ let TestRunnerService = TestRunnerService_1 = class TestRunnerService {
47
51
  this.publisher = publisher;
48
52
  this.instanceSettings = instanceSettings;
49
53
  this.concurrencyControlService = concurrencyControlService;
54
+ this.license = license;
55
+ this.workflowHistoryService = workflowHistoryService;
50
56
  this.abortControllers = new Map();
51
57
  }
52
58
  findEvaluationTriggerNode(workflow) {
@@ -300,21 +306,41 @@ let TestRunnerService = TestRunnerService_1 = class TestRunnerService {
300
306
  }
301
307
  return metricValues;
302
308
  }
303
- async runTest(user, workflowId, concurrency = 1, flagEnabledForUser = false) {
304
- const { finished } = await this.startTestRun(user, workflowId, concurrency, flagEnabledForUser);
309
+ async runTest(user, workflowId, concurrency = 1) {
310
+ const { finished } = await this.startTestRun(user, workflowId, concurrency);
305
311
  await finished;
306
312
  }
307
- async startTestRun(user, workflowId, concurrency = 1, flagEnabledForUser = false) {
313
+ async startTestRun(user, workflowId, concurrency = 1, options) {
308
314
  const requestedConcurrency = Math.max(1, Math.min(10, Math.floor(concurrency)));
309
- const evaluationLimit = this.executionsConfig.concurrency.evaluationLimit;
315
+ const evaluationLimit = (0, evaluation_concurrency_helper_1.resolveEvaluationConcurrencyLimit)(this.executionsConfig, this.license);
310
316
  const concurrencyLimitedByConfig = evaluationLimit > 0 && requestedConcurrency > evaluationLimit;
311
317
  const effectiveConcurrency = concurrencyLimitedByConfig
312
318
  ? evaluationLimit
313
319
  : requestedConcurrency;
314
- this.logger.debug(`[Eval] runTest called: requestedConcurrency=${requestedConcurrency} effectiveConcurrency=${effectiveConcurrency} evaluationLimit=${evaluationLimit} flagEnabledForUser=${flagEnabledForUser}`, { workflowId });
315
- const workflow = await this.workflowRepository.findById(workflowId);
316
- (0, node_assert_1.default)(workflow, 'Workflow not found');
317
- const testRun = await this.testRunRepository.createTestRun(workflowId);
320
+ this.logger.debug(`[Eval] runTest called: requestedConcurrency=${requestedConcurrency} effectiveConcurrency=${effectiveConcurrency} evaluationLimit=${evaluationLimit}`, {
321
+ workflowId,
322
+ collectionId: options?.collectionId,
323
+ workflowVersionId: options?.workflowVersionId,
324
+ });
325
+ const baseWorkflow = await this.workflowRepository.findById(workflowId);
326
+ (0, node_assert_1.default)(baseWorkflow, 'Workflow not found');
327
+ let workflow = baseWorkflow;
328
+ if (options?.workflowVersionId) {
329
+ const history = await this.workflowHistoryService.findVersion(workflowId, options.workflowVersionId);
330
+ (0, node_assert_1.default)(history, `Workflow version ${options.workflowVersionId} not found`);
331
+ workflow = {
332
+ ...baseWorkflow,
333
+ versionId: history.versionId,
334
+ nodes: history.nodes,
335
+ connections: history.connections,
336
+ };
337
+ }
338
+ const testRun = await this.testRunRepository.createTestRun(workflowId, {
339
+ collectionId: options?.collectionId ?? null,
340
+ workflowVersionId: options?.workflowVersionId ?? null,
341
+ evaluationConfigId: options?.evaluationConfigId ?? null,
342
+ evaluationConfigSnapshot: options?.evaluationConfigSnapshot ?? null,
343
+ });
318
344
  (0, node_assert_1.default)(testRun, 'Unable to create a test run');
319
345
  const finished = this.executeTestRun({
320
346
  user,
@@ -323,11 +349,10 @@ let TestRunnerService = TestRunnerService_1 = class TestRunnerService {
323
349
  testRun,
324
350
  effectiveConcurrency,
325
351
  concurrencyLimitedByConfig,
326
- flagEnabledForUser,
327
352
  });
328
353
  return { testRun, finished };
329
354
  }
330
- async executeTestRun({ user, workflowId, workflow, testRun, effectiveConcurrency, concurrencyLimitedByConfig, flagEnabledForUser, }) {
355
+ async executeTestRun({ user, workflowId, workflow, testRun, effectiveConcurrency, concurrencyLimitedByConfig, }) {
331
356
  const telemetryMeta = {
332
357
  workflow_id: workflowId,
333
358
  test_type: 'evaluation',
@@ -342,7 +367,7 @@ let TestRunnerService = TestRunnerService_1 = class TestRunnerService {
342
367
  concurrency: effectiveConcurrency,
343
368
  parallel_enabled: effectiveConcurrency > 1,
344
369
  concurrency_limited_by_config: concurrencyLimitedByConfig,
345
- flag_enabled_for_user: flagEnabledForUser,
370
+ concurrency_limit_source: (0, evaluation_concurrency_helper_1.getEvaluationConcurrencyLimitSource)(this.license),
346
371
  cases_started: 0,
347
372
  peak_in_flight: 0,
348
373
  };
@@ -585,6 +610,8 @@ let TestRunnerService = TestRunnerService_1 = class TestRunnerService {
585
610
  await this.testRunRepository.clearInstanceTracking(testRun.id);
586
611
  const telemetryPayload = {
587
612
  ...telemetryMeta,
613
+ collection_id: testRun.collectionId ?? null,
614
+ is_part_of_collection: testRun.collectionId !== null,
588
615
  };
589
616
  if (telemetryMeta.status === 'success') {
590
617
  telemetryPayload.test_case_count = telemetryMeta.test_case_count;
@@ -614,6 +641,59 @@ let TestRunnerService = TestRunnerService_1 = class TestRunnerService {
614
641
  this.logger.debug('Received cancel-test-run command via pub/sub', { testRunId });
615
642
  this.cancelTestRunLocally(testRunId);
616
643
  }
644
+ async handleCancelCollectionCommand({ collectionId }) {
645
+ this.logger.debug('Received cancel-collection command via pub/sub', { collectionId });
646
+ await this.cancelCollectionLocally(collectionId);
647
+ }
648
+ async cancelCollectionLocally(collectionId) {
649
+ const runs = await this.testRunRepository.find({
650
+ where: [
651
+ { collectionId, status: 'running' },
652
+ { collectionId, status: 'new' },
653
+ ],
654
+ select: ['id'],
655
+ });
656
+ const cancelledLocally = [];
657
+ for (const { id } of runs) {
658
+ if (this.cancelTestRunLocally(id))
659
+ cancelledLocally.push(id);
660
+ }
661
+ return cancelledLocally;
662
+ }
663
+ async cancelCollection(collectionId) {
664
+ const activeRuns = await this.testRunRepository.find({
665
+ where: [
666
+ { collectionId, status: 'running' },
667
+ { collectionId, status: 'new' },
668
+ ],
669
+ select: ['id'],
670
+ });
671
+ for (const { id } of activeRuns) {
672
+ await this.testRunRepository.requestCancellation(id);
673
+ }
674
+ const cancelledLocally = await this.cancelCollectionLocally(collectionId);
675
+ if (this.instanceSettings.isMultiMain || this.executionsConfig.mode === 'queue') {
676
+ this.logger.debug('Broadcasting cancel-collection command via pub/sub', { collectionId });
677
+ await this.publisher.publishCommand({
678
+ command: 'cancel-collection',
679
+ payload: { collectionId },
680
+ });
681
+ }
682
+ const localSet = new Set(cancelledLocally);
683
+ const fallbackRunIds = activeRuns.map((r) => r.id).filter((id) => !localSet.has(id));
684
+ if (fallbackRunIds.length > 0) {
685
+ const { manager: dbManager } = this.testRunRepository;
686
+ await dbManager.transaction(async (trx) => {
687
+ for (const runId of fallbackRunIds) {
688
+ const result = await trx.update(db_1.TestRun, { id: runId, status: (0, typeorm_1.In)(['new', 'running']) }, { status: 'cancelled', completedAt: new Date() });
689
+ if (result.affected) {
690
+ await this.testCaseExecutionRepository.markAllPendingAsCancelled(runId, trx);
691
+ }
692
+ }
693
+ });
694
+ }
695
+ return { cancelledRunIds: activeRuns.map((r) => r.id) };
696
+ }
617
697
  async cancelTestRun(testRunId) {
618
698
  await this.testRunRepository.requestCancellation(testRunId);
619
699
  const cancelledLocally = this.cancelTestRunLocally(testRunId);
@@ -627,8 +707,10 @@ let TestRunnerService = TestRunnerService_1 = class TestRunnerService {
627
707
  if (!cancelledLocally) {
628
708
  const { manager: dbManager } = this.testRunRepository;
629
709
  await dbManager.transaction(async (trx) => {
630
- await this.testRunRepository.markAsCancelled(testRunId, trx);
631
- await this.testCaseExecutionRepository.markAllPendingAsCancelled(testRunId, trx);
710
+ const result = await trx.update(db_1.TestRun, { id: testRunId, status: (0, typeorm_1.In)(['new', 'running']) }, { status: 'cancelled', completedAt: new Date() });
711
+ if (result.affected) {
712
+ await this.testCaseExecutionRepository.markAllPendingAsCancelled(testRunId, trx);
713
+ }
632
714
  });
633
715
  }
634
716
  }
@@ -640,6 +722,12 @@ __decorate([
640
722
  __metadata("design:paramtypes", [Object]),
641
723
  __metadata("design:returntype", void 0)
642
724
  ], TestRunnerService.prototype, "handleCancelTestRunCommand", null);
725
+ __decorate([
726
+ (0, decorators_1.OnPubSubEvent)('cancel-collection', { instanceType: 'main' }),
727
+ __metadata("design:type", Function),
728
+ __metadata("design:paramtypes", [Object]),
729
+ __metadata("design:returntype", Promise)
730
+ ], TestRunnerService.prototype, "handleCancelCollectionCommand", null);
643
731
  exports.TestRunnerService = TestRunnerService = TestRunnerService_1 = __decorate([
644
732
  (0, di_1.Service)(),
645
733
  __metadata("design:paramtypes", [backend_common_1.Logger,
@@ -654,6 +742,8 @@ exports.TestRunnerService = TestRunnerService = TestRunnerService_1 = __decorate
654
742
  event_service_1.EventService,
655
743
  publisher_service_1.Publisher,
656
744
  n8n_core_1.InstanceSettings,
657
- concurrency_control_service_1.ConcurrencyControlService])
745
+ concurrency_control_service_1.ConcurrencyControlService,
746
+ license_1.License,
747
+ workflow_history_service_1.WorkflowHistoryService])
658
748
  ], TestRunnerService);
659
749
  //# sourceMappingURL=test-runner.service.ee.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-runner.service.ee.js","sourceRoot":"","sources":["../../../src/evaluation.ee/test-runner/test-runner.service.ee.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-runner.service.ee.js","sourceRoot":"","sources":["../../../src/evaluation.ee/test-runner/test-runner.service.ee.ts"],"names":[],"mappings":"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"}