n8n 2.35.4 → 2.36.2

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 (733) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/commands/start.js +4 -2
  3. package/dist/commands/start.js.map +1 -1
  4. package/dist/config/index.js +0 -1
  5. package/dist/config/index.js.map +1 -1
  6. package/dist/constants/oauth2-triggers.d.ts +0 -1
  7. package/dist/constants/oauth2-triggers.js +0 -4
  8. package/dist/constants/oauth2-triggers.js.map +1 -1
  9. package/dist/constants.js +1 -0
  10. package/dist/constants.js.map +1 -1
  11. package/dist/controllers/ai.controller.d.ts +2 -5
  12. package/dist/controllers/ai.controller.js.map +1 -1
  13. package/dist/controllers/api-keys.controller.d.ts +1 -1
  14. package/dist/controllers/api-keys.controller.js +10 -10
  15. package/dist/controllers/api-keys.controller.js.map +1 -1
  16. package/dist/controllers/dynamic-node-parameters.controller.d.ts +6 -1
  17. package/dist/controllers/dynamic-node-parameters.controller.js +21 -2
  18. package/dist/controllers/dynamic-node-parameters.controller.js.map +1 -1
  19. package/dist/controllers/e2e.controller.d.ts +21 -2
  20. package/dist/controllers/e2e.controller.js +40 -2
  21. package/dist/controllers/e2e.controller.js.map +1 -1
  22. package/dist/controllers/role.controller.js +3 -5
  23. package/dist/controllers/role.controller.js.map +1 -1
  24. package/dist/credentials/credential-connection-status-provider.interface.d.ts +4 -1
  25. package/dist/credentials/credential-connection-status-proxy.d.ts +2 -2
  26. package/dist/credentials/credential-connection-status-proxy.js +3 -3
  27. package/dist/credentials/credential-connection-status-proxy.js.map +1 -1
  28. package/dist/credentials/credentials-finder.service.d.ts +2 -1
  29. package/dist/credentials/credentials-finder.service.js +2 -1
  30. package/dist/credentials/credentials-finder.service.js.map +1 -1
  31. package/dist/credentials/credentials.controller.d.ts +8 -6
  32. package/dist/credentials/credentials.controller.js +3 -12
  33. package/dist/credentials/credentials.controller.js.map +1 -1
  34. package/dist/credentials/credentials.service.d.ts +38 -30
  35. package/dist/credentials/credentials.service.ee.d.ts +6 -4
  36. package/dist/credentials/credentials.service.ee.js +2 -1
  37. package/dist/credentials/credentials.service.ee.js.map +1 -1
  38. package/dist/credentials/credentials.service.js +93 -45
  39. package/dist/credentials/credentials.service.js.map +1 -1
  40. package/dist/credentials-overwrites.d.ts +1 -0
  41. package/dist/credentials-overwrites.js +17 -0
  42. package/dist/credentials-overwrites.js.map +1 -1
  43. package/dist/deprecation/deprecation.service.js +5 -0
  44. package/dist/deprecation/deprecation.service.js.map +1 -1
  45. package/dist/errors/http-error-classifier.d.ts +4 -1
  46. package/dist/errors/http-error-classifier.js +4 -1
  47. package/dist/errors/http-error-classifier.js.map +1 -1
  48. package/dist/evaluation.ee/evaluation-dataset.service.d.ts +3 -3
  49. package/dist/evaluation.ee/evaluation-dataset.service.js +5 -6
  50. package/dist/evaluation.ee/evaluation-dataset.service.js.map +1 -1
  51. package/dist/events/event.service.d.ts +2 -1
  52. package/dist/events/event.service.js.map +1 -1
  53. package/dist/events/maps/poll-trigger-metrics.event-map.d.ts +9 -0
  54. package/dist/events/maps/poll-trigger-metrics.event-map.js +3 -0
  55. package/dist/events/maps/poll-trigger-metrics.event-map.js.map +1 -0
  56. package/dist/executions/enqueued-execution-recovery.service.js +7 -1
  57. package/dist/executions/enqueued-execution-recovery.service.js.map +1 -1
  58. package/dist/executions/execution-persistence.d.ts +7 -2
  59. package/dist/executions/execution-persistence.js +27 -6
  60. package/dist/executions/execution-persistence.js.map +1 -1
  61. package/dist/executions/execution.service.d.ts +4 -1
  62. package/dist/executions/execution.service.js +2 -2
  63. package/dist/executions/execution.service.js.map +1 -1
  64. package/dist/load-nodes-and-credentials.d.ts +1 -0
  65. package/dist/load-nodes-and-credentials.js +31 -16
  66. package/dist/load-nodes-and-credentials.js.map +1 -1
  67. package/dist/metrics/prometheus/poll-trigger-metrics.service.d.ts +13 -0
  68. package/dist/metrics/prometheus/poll-trigger-metrics.service.js +81 -0
  69. package/dist/metrics/prometheus/poll-trigger-metrics.service.js.map +1 -0
  70. package/dist/metrics/prometheus/prometheus.service.d.ts +2 -1
  71. package/dist/metrics/prometheus/prometheus.service.js +4 -2
  72. package/dist/metrics/prometheus/prometheus.service.js.map +1 -1
  73. package/dist/metrics/prometheus/scheduler-metrics.service.d.ts +2 -0
  74. package/dist/metrics/prometheus/scheduler-metrics.service.js +10 -0
  75. package/dist/metrics/prometheus/scheduler-metrics.service.js.map +1 -1
  76. package/dist/modules/agent-evals/agent-eval-case-generation.service.d.ts +3 -3
  77. package/dist/modules/agent-evals/agent-eval-case-generation.service.js +5 -5
  78. package/dist/modules/agent-evals/agent-eval-case-generation.service.js.map +1 -1
  79. package/dist/modules/agent-evals/agent-eval-rating.service.js +5 -6
  80. package/dist/modules/agent-evals/agent-eval-rating.service.js.map +1 -1
  81. package/dist/modules/agents/adapters/agents-credential-provider.d.ts +1 -0
  82. package/dist/modules/agents/adapters/agents-credential-provider.js +11 -2
  83. package/dist/modules/agents/adapters/agents-credential-provider.js.map +1 -1
  84. package/dist/modules/agents/agent-config.service.js +9 -0
  85. package/dist/modules/agents/agent-config.service.js.map +1 -1
  86. package/dist/modules/agents/agent-default-model-resolver.service.d.ts +19 -0
  87. package/dist/modules/agents/agent-default-model-resolver.service.js +106 -0
  88. package/dist/modules/agents/agent-default-model-resolver.service.js.map +1 -0
  89. package/dist/modules/agents/agent-execution-orchestrator.service.d.ts +7 -1
  90. package/dist/modules/agents/agent-execution-orchestrator.service.js +200 -108
  91. package/dist/modules/agents/agent-execution-orchestrator.service.js.map +1 -1
  92. package/dist/modules/agents/agent-integration-management.service.d.ts +24 -6
  93. package/dist/modules/agents/agent-integration-management.service.js +175 -34
  94. package/dist/modules/agents/agent-integration-management.service.js.map +1 -1
  95. package/dist/modules/agents/agent-integration-persistence.service.d.ts +21 -6
  96. package/dist/modules/agents/agent-integration-persistence.service.js +61 -50
  97. package/dist/modules/agents/agent-integration-persistence.service.js.map +1 -1
  98. package/dist/modules/agents/agent-integrations.controller.d.ts +3 -5
  99. package/dist/modules/agents/agent-integrations.controller.js +11 -6
  100. package/dist/modules/agents/agent-integrations.controller.js.map +1 -1
  101. package/dist/modules/agents/agent-knowledge-commands.d.ts +3 -3
  102. package/dist/modules/agents/agent-knowledge-commands.js +16 -22
  103. package/dist/modules/agents/agent-knowledge-commands.js.map +1 -1
  104. package/dist/modules/agents/{agent-knowledge-sandbox.service.d.ts → agent-knowledge-mirror.service.d.ts} +6 -22
  105. package/dist/modules/agents/agent-knowledge-mirror.service.js +442 -0
  106. package/dist/modules/agents/agent-knowledge-mirror.service.js.map +1 -0
  107. package/dist/modules/agents/agent-knowledge-storage.d.ts +7 -3
  108. package/dist/modules/agents/agent-knowledge-storage.js +11 -4
  109. package/dist/modules/agents/agent-knowledge-storage.js.map +1 -1
  110. package/dist/modules/agents/agent-knowledge.controller.d.ts +3 -5
  111. package/dist/modules/agents/agent-knowledge.controller.js +5 -8
  112. package/dist/modules/agents/agent-knowledge.controller.js.map +1 -1
  113. package/dist/modules/agents/agent-knowledge.service.d.ts +8 -6
  114. package/dist/modules/agents/agent-knowledge.service.js +20 -14
  115. package/dist/modules/agents/agent-knowledge.service.js.map +1 -1
  116. package/dist/modules/agents/agent-model-catalog.service.d.ts +4 -1
  117. package/dist/modules/agents/agent-model-catalog.service.js +24 -13
  118. package/dist/modules/agents/agent-model-catalog.service.js.map +1 -1
  119. package/dist/modules/agents/agent-runtime-cache.service.d.ts +9 -1
  120. package/dist/modules/agents/agent-runtime-cache.service.js +50 -17
  121. package/dist/modules/agents/agent-runtime-cache.service.js.map +1 -1
  122. package/dist/modules/agents/agent-runtime-reconstruction.service.d.ts +11 -6
  123. package/dist/modules/agents/agent-runtime-reconstruction.service.js +35 -18
  124. package/dist/modules/agents/agent-runtime-reconstruction.service.js.map +1 -1
  125. package/dist/modules/agents/agent-sandbox-principal.d.ts +34 -0
  126. package/dist/modules/agents/agent-sandbox-principal.js +64 -0
  127. package/dist/modules/agents/agent-sandbox-principal.js.map +1 -0
  128. package/dist/modules/agents/agent-sandbox-runtime.service.d.ts +42 -0
  129. package/dist/modules/agents/agent-sandbox-runtime.service.js +290 -0
  130. package/dist/modules/agents/agent-sandbox-runtime.service.js.map +1 -0
  131. package/dist/modules/agents/agent-sandbox.controller.d.ts +3 -6
  132. package/dist/modules/agents/agent-sandbox.controller.js +6 -14
  133. package/dist/modules/agents/agent-sandbox.controller.js.map +1 -1
  134. package/dist/modules/agents/agent-session-langsmith-export.service.d.ts +27 -0
  135. package/dist/modules/agents/agent-session-langsmith-export.service.js +390 -0
  136. package/dist/modules/agents/agent-session-langsmith-export.service.js.map +1 -0
  137. package/dist/modules/agents/agent-skills.service.js +4 -0
  138. package/dist/modules/agents/agent-skills.service.js.map +1 -1
  139. package/dist/modules/agents/agent-slack-integrations.controller.d.ts +22 -2
  140. package/dist/modules/agents/agent-slack-integrations.controller.js +108 -9
  141. package/dist/modules/agents/agent-slack-integrations.controller.js.map +1 -1
  142. package/dist/modules/agents/agent-sse-stream.js +10 -3
  143. package/dist/modules/agents/agent-sse-stream.js.map +1 -1
  144. package/dist/modules/agents/agent-threads.controller.d.ts +8 -1
  145. package/dist/modules/agents/agent-threads.controller.js +20 -2
  146. package/dist/modules/agents/agent-threads.controller.js.map +1 -1
  147. package/dist/modules/agents/agent-validation.service.js +9 -0
  148. package/dist/modules/agents/agent-validation.service.js.map +1 -1
  149. package/dist/modules/agents/agent-workflow-execution.service.d.ts +8 -2
  150. package/dist/modules/agents/agent-workflow-execution.service.js +43 -7
  151. package/dist/modules/agents/agent-workflow-execution.service.js.map +1 -1
  152. package/dist/modules/agents/agent-workspace.service.d.ts +16 -0
  153. package/dist/modules/agents/agent-workspace.service.js +65 -0
  154. package/dist/modules/agents/agent-workspace.service.js.map +1 -0
  155. package/dist/modules/agents/agents.controller.d.ts +3 -1
  156. package/dist/modules/agents/agents.controller.js +6 -2
  157. package/dist/modules/agents/agents.controller.js.map +1 -1
  158. package/dist/modules/agents/agents.module.d.ts +1 -1
  159. package/dist/modules/agents/agents.module.js +6 -2
  160. package/dist/modules/agents/agents.module.js.map +1 -1
  161. package/dist/modules/agents/agents.service.d.ts +5 -1
  162. package/dist/modules/agents/agents.service.js +3 -2
  163. package/dist/modules/agents/agents.service.js.map +1 -1
  164. package/dist/modules/agents/builder/agents-builder-prompts.d.ts +3 -3
  165. package/dist/modules/agents/builder/agents-builder-prompts.js +23 -11
  166. package/dist/modules/agents/builder/agents-builder-prompts.js.map +1 -1
  167. package/dist/modules/agents/builder/agents-builder-settings.service.d.ts +3 -1
  168. package/dist/modules/agents/builder/agents-builder-settings.service.js +38 -29
  169. package/dist/modules/agents/builder/agents-builder-settings.service.js.map +1 -1
  170. package/dist/modules/agents/builder/agents-builder-tools.service.js +209 -2
  171. package/dist/modules/agents/builder/agents-builder-tools.service.js.map +1 -1
  172. package/dist/modules/agents/builder/agents-builder.service.js +5 -2
  173. package/dist/modules/agents/builder/agents-builder.service.js.map +1 -1
  174. package/dist/modules/agents/builder/builder-model-live-lookup.service.js +1 -1
  175. package/dist/modules/agents/builder/builder-model-live-lookup.service.js.map +1 -1
  176. package/dist/modules/agents/builder/builder-tool-names.d.ts +5 -0
  177. package/dist/modules/agents/builder/builder-tool-names.js +5 -0
  178. package/dist/modules/agents/builder/builder-tool-names.js.map +1 -1
  179. package/dist/modules/agents/builder/format-preview-context.js +3 -0
  180. package/dist/modules/agents/builder/format-preview-context.js.map +1 -1
  181. package/dist/modules/agents/builder/interactive/ask-credential.tool.d.ts +1 -0
  182. package/dist/modules/agents/builder/interactive/ask-credential.tool.js +5 -2
  183. package/dist/modules/agents/builder/interactive/ask-credential.tool.js.map +1 -1
  184. package/dist/modules/agents/builder/interactive/finish-setup.tool.js +1 -0
  185. package/dist/modules/agents/builder/interactive/finish-setup.tool.js.map +1 -1
  186. package/dist/modules/agents/builder/interactive/resolve-llm.tool.js +7 -3
  187. package/dist/modules/agents/builder/interactive/resolve-llm.tool.js.map +1 -1
  188. package/dist/modules/agents/builder/prompts/llm-selection.prompt.js +1 -1
  189. package/dist/modules/agents/builder/prompts/tools.prompt.d.ts +1 -1
  190. package/dist/modules/agents/builder/prompts/tools.prompt.js +11 -7
  191. package/dist/modules/agents/builder/prompts/tools.prompt.js.map +1 -1
  192. package/dist/modules/agents/builder/resolve-integration.tool.js +1 -1
  193. package/dist/modules/agents/builder/resolve-integration.tool.js.map +1 -1
  194. package/dist/modules/agents/builder/skills/external-services.skill.js +13 -94
  195. package/dist/modules/agents/builder/skills/external-services.skill.js.map +1 -1
  196. package/dist/modules/agents/builder/skills/index.js +2 -0
  197. package/dist/modules/agents/builder/skills/index.js.map +1 -1
  198. package/dist/modules/agents/builder/skills/node-tools.skill.d.ts +2 -0
  199. package/dist/modules/agents/builder/skills/node-tools.skill.js +132 -0
  200. package/dist/modules/agents/builder/skills/node-tools.skill.js.map +1 -0
  201. package/dist/modules/agents/builder/skills/target-skills.skill.js +62 -21
  202. package/dist/modules/agents/builder/skills/target-skills.skill.js.map +1 -1
  203. package/dist/modules/agents/builder/skills/target-tasks.skill.js +34 -17
  204. package/dist/modules/agents/builder/skills/target-tasks.skill.js.map +1 -1
  205. package/dist/modules/agents/builder/task-objective-template.d.ts +2 -2
  206. package/dist/modules/agents/builder/task-objective-template.js +11 -9
  207. package/dist/modules/agents/builder/task-objective-template.js.map +1 -1
  208. package/dist/modules/agents/execution-recorder.d.ts +25 -0
  209. package/dist/modules/agents/execution-recorder.js +47 -0
  210. package/dist/modules/agents/execution-recorder.js.map +1 -1
  211. package/dist/modules/agents/integrations/agent-chat-bridge.d.ts +3 -1
  212. package/dist/modules/agents/integrations/agent-chat-bridge.js +10 -2
  213. package/dist/modules/agents/integrations/agent-chat-bridge.js.map +1 -1
  214. package/dist/modules/agents/integrations/agent-chat-integration.d.ts +10 -1
  215. package/dist/modules/agents/integrations/agent-chat-integration.js.map +1 -1
  216. package/dist/modules/agents/integrations/agent-chat-suspension-cards.d.ts +0 -1
  217. package/dist/modules/agents/integrations/agent-chat-suspension-cards.js +0 -24
  218. package/dist/modules/agents/integrations/agent-chat-suspension-cards.js.map +1 -1
  219. package/dist/modules/agents/integrations/chat-integration.service.d.ts +0 -1
  220. package/dist/modules/agents/integrations/chat-integration.service.js +1 -4
  221. package/dist/modules/agents/integrations/chat-integration.service.js.map +1 -1
  222. package/dist/modules/agents/integrations/integration-tool-descriptions.js +1 -0
  223. package/dist/modules/agents/integrations/integration-tool-descriptions.js.map +1 -1
  224. package/dist/modules/agents/integrations/n8n-checkpoint-storage.d.ts +3 -0
  225. package/dist/modules/agents/integrations/n8n-checkpoint-storage.js +26 -1
  226. package/dist/modules/agents/integrations/n8n-checkpoint-storage.js.map +1 -1
  227. package/dist/modules/agents/integrations/platforms/slack/assets/n8n-bot-icon.png +0 -0
  228. package/dist/modules/agents/integrations/platforms/slack/slack-integration.d.ts +5 -4
  229. package/dist/modules/agents/integrations/platforms/slack/slack-integration.js +5 -3
  230. package/dist/modules/agents/integrations/platforms/slack/slack-integration.js.map +1 -1
  231. package/dist/modules/agents/integrations/platforms/slack/slack-managed-setup.service.d.ts +78 -0
  232. package/dist/modules/agents/integrations/platforms/slack/slack-managed-setup.service.js +620 -0
  233. package/dist/modules/agents/integrations/platforms/slack/slack-managed-setup.service.js.map +1 -0
  234. package/dist/modules/agents/integrations/platforms/slack/slack-manual-setup.service.d.ts +6 -6
  235. package/dist/modules/agents/integrations/platforms/slack/slack-manual-setup.service.js +31 -24
  236. package/dist/modules/agents/integrations/platforms/slack/slack-manual-setup.service.js.map +1 -1
  237. package/dist/modules/agents/integrations/platforms/slack/slack-methods.service.d.ts +19 -10
  238. package/dist/modules/agents/integrations/platforms/slack/slack-methods.service.js +85 -54
  239. package/dist/modules/agents/integrations/platforms/slack/slack-methods.service.js.map +1 -1
  240. package/dist/modules/agents/integrations/platforms/slack/slack-setup.types.d.ts +16 -0
  241. package/dist/modules/agents/integrations/platforms/slack/slack-setup.types.js +36 -0
  242. package/dist/modules/agents/integrations/platforms/slack/slack-setup.types.js.map +1 -0
  243. package/dist/modules/agents/json-config/from-json-config.d.ts +2 -2
  244. package/dist/modules/agents/json-config/from-json-config.js +5 -0
  245. package/dist/modules/agents/json-config/from-json-config.js.map +1 -1
  246. package/dist/modules/agents/json-config/mcp-client-factory.js +17 -12
  247. package/dist/modules/agents/json-config/mcp-client-factory.js.map +1 -1
  248. package/dist/modules/agents/llm-provider-defaults.js +8 -8
  249. package/dist/modules/agents/llm-provider-defaults.js.map +1 -1
  250. package/dist/modules/agents/register-favorite-resolver.d.ts +1 -0
  251. package/dist/modules/agents/register-favorite-resolver.js +18 -0
  252. package/dist/modules/agents/register-favorite-resolver.js.map +1 -0
  253. package/dist/modules/agents/repositories/agent-checkpoint.repository.d.ts +1 -0
  254. package/dist/modules/agents/repositories/agent-checkpoint.repository.js +7 -0
  255. package/dist/modules/agents/repositories/agent-checkpoint.repository.js.map +1 -1
  256. package/dist/modules/agents/repositories/agent-credential-dependency.repository.js +1 -1
  257. package/dist/modules/agents/repositories/agent-credential-dependency.repository.js.map +1 -1
  258. package/dist/modules/agents/repositories/agent-execution-thread.repository.d.ts +1 -0
  259. package/dist/modules/agents/repositories/agent-execution-thread.repository.js +6 -0
  260. package/dist/modules/agents/repositories/agent-execution-thread.repository.js.map +1 -1
  261. package/dist/modules/agents/repositories/agent.repository.d.ts +4 -1
  262. package/dist/modules/agents/repositories/agent.repository.js +14 -0
  263. package/dist/modules/agents/repositories/agent.repository.js.map +1 -1
  264. package/dist/modules/agents/runtime/agent-secure-runtime.d.ts +2 -0
  265. package/dist/modules/agents/runtime/agent-secure-runtime.js +72 -30
  266. package/dist/modules/agents/runtime/agent-secure-runtime.js.map +1 -1
  267. package/dist/modules/agents/sub-agents/delegate-sub-agent-tool.js +5 -0
  268. package/dist/modules/agents/sub-agents/delegate-sub-agent-tool.js.map +1 -1
  269. package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.d.ts +1 -0
  270. package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.js +33 -0
  271. package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.js.map +1 -1
  272. package/dist/modules/agents/tools/input-data-tool.js +2 -1
  273. package/dist/modules/agents/tools/input-data-tool.js.map +1 -1
  274. package/dist/modules/agents/tools/knowledge/search-knowledge.tool.d.ts +3 -3
  275. package/dist/modules/agents/tools/knowledge/search-knowledge.tool.js +4 -4
  276. package/dist/modules/agents/tools/knowledge/search-knowledge.tool.js.map +1 -1
  277. package/dist/modules/agents/tools/workflow-tool-factory.js +11 -70
  278. package/dist/modules/agents/tools/workflow-tool-factory.js.map +1 -1
  279. package/dist/modules/agents/tools/workflow-tool-workflow-loader.service.d.ts +2 -6
  280. package/dist/modules/agents/tools/workflow-tool-workflow-loader.service.js +6 -25
  281. package/dist/modules/agents/tools/workflow-tool-workflow-loader.service.js.map +1 -1
  282. package/dist/modules/agents/utils/execution-to-message-mapper.js +9 -0
  283. package/dist/modules/agents/utils/execution-to-message-mapper.js.map +1 -1
  284. package/dist/modules/agents/utils/model-snapshot-alias.d.ts +2 -0
  285. package/dist/modules/agents/utils/model-snapshot-alias.js +9 -0
  286. package/dist/modules/agents/utils/model-snapshot-alias.js.map +1 -0
  287. package/dist/modules/agents/utils/node-tool-validation.d.ts +6 -0
  288. package/dist/modules/agents/utils/node-tool-validation.js +28 -0
  289. package/dist/modules/agents/utils/node-tool-validation.js.map +1 -1
  290. package/dist/modules/data-table/data-table-proxy.service.d.ts +3 -3
  291. package/dist/modules/data-table/data-table-proxy.service.js +5 -6
  292. package/dist/modules/data-table/data-table-proxy.service.js.map +1 -1
  293. package/dist/modules/data-table/data-table.controller.d.ts +3 -3
  294. package/dist/modules/data-table/data-table.controller.js +5 -6
  295. package/dist/modules/data-table/data-table.controller.js.map +1 -1
  296. package/dist/modules/data-table/data-table.module.js +2 -0
  297. package/dist/modules/data-table/data-table.module.js.map +1 -1
  298. package/dist/modules/data-table/data-table.repository.d.ts +1 -1
  299. package/dist/modules/data-table/data-table.repository.js +10 -6
  300. package/dist/modules/data-table/data-table.repository.js.map +1 -1
  301. package/dist/modules/data-table/middleware/branch-write-access-middleware.js +2 -3
  302. package/dist/modules/data-table/middleware/branch-write-access-middleware.js.map +1 -1
  303. package/dist/modules/data-table/register-favorite-resolver.d.ts +1 -0
  304. package/dist/modules/data-table/register-favorite-resolver.js +18 -0
  305. package/dist/modules/data-table/register-favorite-resolver.js.map +1 -0
  306. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/n8n-identifier.d.ts +52 -0
  307. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/n8n-identifier.js +25 -7
  308. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/n8n-identifier.js.map +1 -1
  309. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.js +1 -1
  310. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.js.map +1 -1
  311. package/dist/modules/dynamic-credentials.ee/errors/n8n-identity-not-supported.error.d.ts +4 -0
  312. package/dist/modules/dynamic-credentials.ee/errors/n8n-identity-not-supported.error.js +12 -0
  313. package/dist/modules/dynamic-credentials.ee/errors/n8n-identity-not-supported.error.js.map +1 -0
  314. package/dist/modules/dynamic-credentials.ee/services/credential-check-proxy.service.d.ts +8 -1
  315. package/dist/modules/dynamic-credentials.ee/services/credential-check-proxy.service.js +49 -2
  316. package/dist/modules/dynamic-credentials.ee/services/credential-check-proxy.service.js.map +1 -1
  317. package/dist/modules/dynamic-credentials.ee/services/credential-connection-status.service.d.ts +8 -3
  318. package/dist/modules/dynamic-credentials.ee/services/credential-connection-status.service.js +29 -6
  319. package/dist/modules/dynamic-credentials.ee/services/credential-connection-status.service.js.map +1 -1
  320. package/dist/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.js +3 -0
  321. package/dist/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.js.map +1 -1
  322. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-web.service.d.ts +3 -1
  323. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-web.service.js +9 -12
  324. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-web.service.js.map +1 -1
  325. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential.service.js +11 -0
  326. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential.service.js.map +1 -1
  327. package/dist/modules/favorites/favorite-resource-resolver.registry.d.ts +17 -0
  328. package/dist/modules/favorites/favorite-resource-resolver.registry.js +26 -0
  329. package/dist/modules/favorites/favorite-resource-resolver.registry.js.map +1 -0
  330. package/dist/modules/favorites/favorites.service.d.ts +4 -7
  331. package/dist/modules/favorites/favorites.service.js +18 -34
  332. package/dist/modules/favorites/favorites.service.js.map +1 -1
  333. package/dist/modules/insights/database/repositories/insights-by-period.repository.d.ts +0 -1
  334. package/dist/modules/insights/database/repositories/insights-by-period.repository.js +1 -5
  335. package/dist/modules/insights/database/repositories/insights-by-period.repository.js.map +1 -1
  336. package/dist/modules/instance-ai/canvas-node-context-flag-gate.d.ts +7 -0
  337. package/dist/modules/instance-ai/canvas-node-context-flag-gate.js +35 -0
  338. package/dist/modules/instance-ai/canvas-node-context-flag-gate.js.map +1 -0
  339. package/dist/modules/instance-ai/drop-rejected-attachments.d.ts +18 -0
  340. package/dist/modules/instance-ai/drop-rejected-attachments.js +49 -0
  341. package/dist/modules/instance-ai/drop-rejected-attachments.js.map +1 -0
  342. package/dist/modules/instance-ai/eval/agent-execution.service.js +2 -1
  343. package/dist/modules/instance-ai/eval/agent-execution.service.js.map +1 -1
  344. package/dist/modules/instance-ai/instance-ai-error-reporter.service.d.ts +1 -0
  345. package/dist/modules/instance-ai/instance-ai-error-reporter.service.js +9 -0
  346. package/dist/modules/instance-ai/instance-ai-error-reporter.service.js.map +1 -1
  347. package/dist/modules/instance-ai/instance-ai-model.service.d.ts +3 -3
  348. package/dist/modules/instance-ai/instance-ai-model.service.js +15 -21
  349. package/dist/modules/instance-ai/instance-ai-model.service.js.map +1 -1
  350. package/dist/modules/instance-ai/instance-ai-settings.service.d.ts +9 -4
  351. package/dist/modules/instance-ai/instance-ai-settings.service.js +119 -98
  352. package/dist/modules/instance-ai/instance-ai-settings.service.js.map +1 -1
  353. package/dist/modules/instance-ai/instance-ai-terminal-outcome.service.d.ts +4 -0
  354. package/dist/modules/instance-ai/instance-ai-terminal-outcome.service.js +11 -0
  355. package/dist/modules/instance-ai/instance-ai-terminal-outcome.service.js.map +1 -1
  356. package/dist/modules/instance-ai/instance-ai.adapter.service.d.ts +16 -14
  357. package/dist/modules/instance-ai/instance-ai.adapter.service.js +143 -79
  358. package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -1
  359. package/dist/modules/instance-ai/instance-ai.controller.js +9 -0
  360. package/dist/modules/instance-ai/instance-ai.controller.js.map +1 -1
  361. package/dist/modules/instance-ai/instance-ai.module.js +3 -3
  362. package/dist/modules/instance-ai/instance-ai.module.js.map +1 -1
  363. package/dist/modules/instance-ai/instance-ai.service.d.ts +19 -6
  364. package/dist/modules/instance-ai/instance-ai.service.js +288 -27
  365. package/dist/modules/instance-ai/instance-ai.service.js.map +1 -1
  366. package/dist/modules/instance-ai/internal-messages.js +1 -1
  367. package/dist/modules/instance-ai/internal-messages.js.map +1 -1
  368. package/dist/modules/instance-ai/repositories/instance-ai-thread-grant.repository.d.ts +1 -0
  369. package/dist/modules/instance-ai/repositories/instance-ai-thread-grant.repository.js +3 -0
  370. package/dist/modules/instance-ai/repositories/instance-ai-thread-grant.repository.js.map +1 -1
  371. package/dist/modules/instance-ai/stream-transport-error.d.ts +1 -0
  372. package/dist/modules/instance-ai/stream-transport-error.js +9 -0
  373. package/dist/modules/instance-ai/stream-transport-error.js.map +1 -0
  374. package/dist/modules/instance-ai/workflow-verification-task-projector.js +4 -1
  375. package/dist/modules/instance-ai/workflow-verification-task-projector.js.map +1 -1
  376. package/dist/modules/mcp/dto/update-mcp-settings.dto.d.ts +32 -2
  377. package/dist/modules/mcp/dto/update-mcp-settings.dto.js +17 -3
  378. package/dist/modules/mcp/dto/update-mcp-settings.dto.js.map +1 -1
  379. package/dist/modules/mcp/mcp-protected-resource.d.ts +3 -2
  380. package/dist/modules/mcp/mcp-protected-resource.js +6 -3
  381. package/dist/modules/mcp/mcp-protected-resource.js.map +1 -1
  382. package/dist/modules/mcp/mcp-scopes.d.ts +1 -0
  383. package/dist/modules/mcp/mcp-scopes.js +12 -2
  384. package/dist/modules/mcp/mcp-scopes.js.map +1 -1
  385. package/dist/modules/mcp/mcp.controller.js +1 -1
  386. package/dist/modules/mcp/mcp.controller.js.map +1 -1
  387. package/dist/modules/mcp/mcp.module.d.ts +1 -0
  388. package/dist/modules/mcp/mcp.module.js +4 -2
  389. package/dist/modules/mcp/mcp.module.js.map +1 -1
  390. package/dist/modules/mcp/mcp.service.d.ts +6 -3
  391. package/dist/modules/mcp/mcp.service.js +24 -5
  392. package/dist/modules/mcp/mcp.service.js.map +1 -1
  393. package/dist/modules/mcp/mcp.settings.controller.d.ts +2 -0
  394. package/dist/modules/mcp/mcp.settings.controller.js +24 -10
  395. package/dist/modules/mcp/mcp.settings.controller.js.map +1 -1
  396. package/dist/modules/mcp/mcp.settings.service.d.ts +4 -3
  397. package/dist/modules/mcp/mcp.settings.service.js +20 -2
  398. package/dist/modules/mcp/mcp.settings.service.js.map +1 -1
  399. package/dist/modules/mcp/mcp.types.d.ts +4 -3
  400. package/dist/modules/mcp/mcp.utils.d.ts +4 -1
  401. package/dist/modules/mcp/mcp.utils.js +14 -4
  402. package/dist/modules/mcp/mcp.utils.js.map +1 -1
  403. package/dist/modules/mcp/tools/agents/agent-tools.service.js +10 -1
  404. package/dist/modules/mcp/tools/agents/agent-tools.service.js.map +1 -1
  405. package/dist/modules/mcp/tools/create-folder.tool.d.ts +13 -0
  406. package/dist/modules/mcp/tools/create-folder.tool.js +68 -0
  407. package/dist/modules/mcp/tools/create-folder.tool.js.map +1 -0
  408. package/dist/modules/mcp/tools/data-table/add-data-table-rows.tool.js +1 -1
  409. package/dist/modules/mcp/tools/data-table/add-data-table-rows.tool.js.map +1 -1
  410. package/dist/modules/mcp/tools/data-table/get-data-table-rows.tool.d.ts +44 -0
  411. package/dist/modules/mcp/tools/data-table/get-data-table-rows.tool.js +134 -0
  412. package/dist/modules/mcp/tools/data-table/get-data-table-rows.tool.js.map +1 -0
  413. package/dist/modules/mcp/tools/data-table/index.d.ts +1 -0
  414. package/dist/modules/mcp/tools/data-table/index.js +3 -1
  415. package/dist/modules/mcp/tools/data-table/index.js.map +1 -1
  416. package/dist/modules/mcp/tools/execute-workflow.tool.d.ts +11 -21
  417. package/dist/modules/mcp/tools/execute-workflow.tool.js +113 -76
  418. package/dist/modules/mcp/tools/execute-workflow.tool.js.map +1 -1
  419. package/dist/modules/mcp/tools/folder-error.utils.d.ts +13 -0
  420. package/dist/modules/mcp/tools/folder-error.utils.js +25 -0
  421. package/dist/modules/mcp/tools/folder-error.utils.js.map +1 -0
  422. package/dist/modules/mcp/tools/get-workflow-details.tool.js +1 -1
  423. package/dist/modules/mcp/tools/get-workflow-details.tool.js.map +1 -1
  424. package/dist/modules/mcp/tools/get-workflow-versions-diff.tool.d.ts +81 -0
  425. package/dist/modules/mcp/tools/get-workflow-versions-diff.tool.js +218 -0
  426. package/dist/modules/mcp/tools/get-workflow-versions-diff.tool.js.map +1 -0
  427. package/dist/modules/mcp/tools/move-workflows-to-folder.tool.d.ts +13 -0
  428. package/dist/modules/mcp/tools/move-workflows-to-folder.tool.js +122 -0
  429. package/dist/modules/mcp/tools/move-workflows-to-folder.tool.js.map +1 -0
  430. package/dist/modules/mcp/tools/schemas.d.ts +7 -0
  431. package/dist/modules/mcp/tools/schemas.js +15 -1
  432. package/dist/modules/mcp/tools/schemas.js.map +1 -1
  433. package/dist/modules/mcp/tools/search-folders.tool.d.ts +3 -2
  434. package/dist/modules/mcp/tools/search-folders.tool.js +14 -8
  435. package/dist/modules/mcp/tools/search-folders.tool.js.map +1 -1
  436. package/dist/modules/mcp/tools/test-workflow.tool.js +10 -18
  437. package/dist/modules/mcp/tools/test-workflow.tool.js.map +1 -1
  438. package/dist/modules/mcp/tools/update-folder.tool.d.ts +14 -0
  439. package/dist/modules/mcp/tools/update-folder.tool.js +74 -0
  440. package/dist/modules/mcp/tools/update-folder.tool.js.map +1 -0
  441. package/dist/modules/mcp/tools/webhook-utils.js +6 -4
  442. package/dist/modules/mcp/tools/webhook-utils.js.map +1 -1
  443. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js +18 -5
  444. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js.map +1 -1
  445. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.d.ts +4 -4
  446. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js +467 -397
  447. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js.map +1 -1
  448. package/dist/modules/mcp/tools/workflow-inputs.d.ts +111 -0
  449. package/dist/modules/mcp/tools/workflow-inputs.js +81 -0
  450. package/dist/modules/mcp/tools/workflow-inputs.js.map +1 -0
  451. package/dist/modules/mcp/tools/workflow-validation.utils.d.ts +2 -0
  452. package/dist/modules/mcp/tools/workflow-validation.utils.js +7 -6
  453. package/dist/modules/mcp/tools/workflow-validation.utils.js.map +1 -1
  454. package/dist/modules/mcp-registry/registry/mcp-registry.service.d.ts +1 -0
  455. package/dist/modules/mcp-registry/registry/mcp-registry.service.js +4 -0
  456. package/dist/modules/mcp-registry/registry/mcp-registry.service.js.map +1 -1
  457. package/dist/modules/n8n-packages/entities/credential/credential.serializer.js +4 -2
  458. package/dist/modules/n8n-packages/entities/credential/credential.serializer.js.map +1 -1
  459. package/dist/modules/n8n-packages/entities/data-table/data-table.serializer.js +13 -9
  460. package/dist/modules/n8n-packages/entities/data-table/data-table.serializer.js.map +1 -1
  461. package/dist/modules/n8n-packages/entities/folder/folder.exporter.d.ts +2 -0
  462. package/dist/modules/n8n-packages/entities/folder/folder.exporter.js +1 -0
  463. package/dist/modules/n8n-packages/entities/folder/folder.exporter.js.map +1 -1
  464. package/dist/modules/n8n-packages/entities/folder/folder.serializer.js +4 -2
  465. package/dist/modules/n8n-packages/entities/folder/folder.serializer.js.map +1 -1
  466. package/dist/modules/n8n-packages/entities/package-serialization.types.d.ts +17 -0
  467. package/dist/modules/n8n-packages/entities/package-serialization.types.js +7 -0
  468. package/dist/modules/n8n-packages/entities/package-serialization.types.js.map +1 -0
  469. package/dist/modules/n8n-packages/entities/project/project.exporter.d.ts +2 -0
  470. package/dist/modules/n8n-packages/entities/project/project.exporter.js +2 -0
  471. package/dist/modules/n8n-packages/entities/project/project.exporter.js.map +1 -1
  472. package/dist/modules/n8n-packages/entities/project/project.serializer.js +4 -2
  473. package/dist/modules/n8n-packages/entities/project/project.serializer.js.map +1 -1
  474. package/dist/modules/n8n-packages/entities/tag/tag.exporter.js +3 -1
  475. package/dist/modules/n8n-packages/entities/tag/tag.exporter.js.map +1 -1
  476. package/dist/modules/n8n-packages/entities/variable/variable.serializer.js +6 -3
  477. package/dist/modules/n8n-packages/entities/variable/variable.serializer.js.map +1 -1
  478. package/dist/modules/n8n-packages/entities/workflow/auto-included-workflow-resolver.d.ts +2 -0
  479. package/dist/modules/n8n-packages/entities/workflow/auto-included-workflow-resolver.js +21 -4
  480. package/dist/modules/n8n-packages/entities/workflow/auto-included-workflow-resolver.js.map +1 -1
  481. package/dist/modules/n8n-packages/entities/workflow/workflow-dependency-resolver.d.ts +2 -0
  482. package/dist/modules/n8n-packages/entities/workflow/workflow-dependency-resolver.js +4 -1
  483. package/dist/modules/n8n-packages/entities/workflow/workflow-dependency-resolver.js.map +1 -1
  484. package/dist/modules/n8n-packages/entities/workflow/workflow-version-policy.d.ts +4 -0
  485. package/dist/modules/n8n-packages/entities/workflow/workflow-version-policy.js +48 -0
  486. package/dist/modules/n8n-packages/entities/workflow/workflow-version-policy.js.map +1 -0
  487. package/dist/modules/n8n-packages/entities/workflow/workflow.exporter.d.ts +2 -0
  488. package/dist/modules/n8n-packages/entities/workflow/workflow.exporter.js +7 -2
  489. package/dist/modules/n8n-packages/entities/workflow/workflow.exporter.js.map +1 -1
  490. package/dist/modules/n8n-packages/entities/workflow/workflow.serializer.js +5 -3
  491. package/dist/modules/n8n-packages/entities/workflow/workflow.serializer.js.map +1 -1
  492. package/dist/modules/n8n-packages/n8n-packages.service.js +6 -0
  493. package/dist/modules/n8n-packages/n8n-packages.service.js.map +1 -1
  494. package/dist/modules/n8n-packages/n8n-packages.types.d.ts +8 -0
  495. package/dist/modules/n8n-packages/n8n-packages.types.js +7 -1
  496. package/dist/modules/n8n-packages/n8n-packages.types.js.map +1 -1
  497. package/dist/modules/oauth-server/database/repositories/oauth-access-token.repository.d.ts +2 -2
  498. package/dist/modules/oauth-server/database/repositories/oauth-access-token.repository.js +3 -3
  499. package/dist/modules/oauth-server/database/repositories/oauth-access-token.repository.js.map +1 -1
  500. package/dist/modules/oauth-server/database/repositories/oauth-refresh-token.repository.d.ts +2 -2
  501. package/dist/modules/oauth-server/database/repositories/oauth-refresh-token.repository.js +3 -3
  502. package/dist/modules/oauth-server/database/repositories/oauth-refresh-token.repository.js.map +1 -1
  503. package/dist/modules/oauth-server/oauth-consent.controller.js +2 -0
  504. package/dist/modules/oauth-server/oauth-consent.controller.js.map +1 -1
  505. package/dist/modules/oauth-server/oauth-consent.service.d.ts +8 -1
  506. package/dist/modules/oauth-server/oauth-consent.service.js +33 -0
  507. package/dist/modules/oauth-server/oauth-consent.service.js.map +1 -1
  508. package/dist/modules/oauth-server/oauth-server.service.d.ts +6 -1
  509. package/dist/modules/oauth-server/oauth-server.service.js +36 -4
  510. package/dist/modules/oauth-server/oauth-server.service.js.map +1 -1
  511. package/dist/modules/oauth-server/oauth-token.service.d.ts +6 -2
  512. package/dist/modules/oauth-server/oauth-token.service.js +19 -7
  513. package/dist/modules/oauth-server/oauth-token.service.js.map +1 -1
  514. package/dist/modules/oauth-server/protected-resource-resolvers/form-trigger-resource.resolver.d.ts +7 -3
  515. package/dist/modules/oauth-server/protected-resource-resolvers/form-trigger-resource.resolver.js +8 -7
  516. package/dist/modules/oauth-server/protected-resource-resolvers/form-trigger-resource.resolver.js.map +1 -1
  517. package/dist/modules/oauth-server/protected-resource-resolvers/form-trigger-test-resource.resolver.d.ts +6 -3
  518. package/dist/modules/oauth-server/protected-resource-resolvers/form-trigger-test-resource.resolver.js +8 -7
  519. package/dist/modules/oauth-server/protected-resource-resolvers/form-trigger-test-resource.resolver.js.map +1 -1
  520. package/dist/modules/oauth-server/protected-resource-resolvers/utils.d.ts +2 -0
  521. package/dist/modules/oauth-server/protected-resource-resolvers/utils.js +5 -1
  522. package/dist/modules/oauth-server/protected-resource-resolvers/utils.js.map +1 -1
  523. package/dist/modules/oauth-server/protected-resource-resolvers/workflow-mcp-test-trigger-resource.resolver.d.ts +4 -3
  524. package/dist/modules/oauth-server/protected-resource-resolvers/workflow-mcp-test-trigger-resource.resolver.js +7 -7
  525. package/dist/modules/oauth-server/protected-resource-resolvers/workflow-mcp-test-trigger-resource.resolver.js.map +1 -1
  526. package/dist/modules/oauth-server/protected-resource-resolvers/workflow-mcp-trigger-resource.resolver.d.ts +5 -3
  527. package/dist/modules/oauth-server/protected-resource-resolvers/workflow-mcp-trigger-resource.resolver.js +7 -7
  528. package/dist/modules/oauth-server/protected-resource-resolvers/workflow-mcp-trigger-resource.resolver.js.map +1 -1
  529. package/dist/modules/oauth-server/protected-resource-resolvers/workflow-webhook-test-trigger-resource.resolver.js +7 -11
  530. package/dist/modules/oauth-server/protected-resource-resolvers/workflow-webhook-test-trigger-resource.resolver.js.map +1 -1
  531. package/dist/modules/oauth-server/protected-resource-resolvers/workflow-webhook-trigger-resource.resolver.js +7 -11
  532. package/dist/modules/oauth-server/protected-resource-resolvers/workflow-webhook-trigger-resource.resolver.js.map +1 -1
  533. package/dist/modules/oauth-server/resource-gate.d.ts +6 -0
  534. package/dist/modules/oauth-server/resource-gate.js +17 -0
  535. package/dist/modules/oauth-server/resource-gate.js.map +1 -0
  536. package/dist/modules/provisioning.ee/role-mapping-rule.controller.ee.js +1 -9
  537. package/dist/modules/provisioning.ee/role-mapping-rule.controller.ee.js.map +1 -1
  538. package/dist/modules/provisioning.ee/role-mapping-rule.service.ee.d.ts +5 -2
  539. package/dist/modules/provisioning.ee/role-mapping-rule.service.ee.js +14 -4
  540. package/dist/modules/provisioning.ee/role-mapping-rule.service.ee.js.map +1 -1
  541. package/dist/modules/source-control.ee/source-control-preferences.service.ee.d.ts +3 -1
  542. package/dist/modules/source-control.ee/source-control-preferences.service.ee.js +5 -2
  543. package/dist/modules/source-control.ee/source-control-preferences.service.ee.js.map +1 -1
  544. package/dist/modules/workflow-reviews.ee/workflow-review-access.service.d.ts +27 -0
  545. package/dist/modules/workflow-reviews.ee/workflow-review-access.service.js +108 -0
  546. package/dist/modules/workflow-reviews.ee/workflow-review-access.service.js.map +1 -0
  547. package/dist/modules/workflow-reviews.ee/workflow-review-activity.service.d.ts +23 -0
  548. package/dist/modules/workflow-reviews.ee/workflow-review-activity.service.js +99 -0
  549. package/dist/modules/workflow-reviews.ee/workflow-review-activity.service.js.map +1 -0
  550. package/dist/modules/workflow-reviews.ee/workflow-review-auto-close.service.d.ts +4 -2
  551. package/dist/modules/workflow-reviews.ee/workflow-review-auto-close.service.js +30 -11
  552. package/dist/modules/workflow-reviews.ee/workflow-review-auto-close.service.js.map +1 -1
  553. package/dist/modules/workflow-reviews.ee/workflow-review-eligibility.service.d.ts +18 -0
  554. package/dist/modules/workflow-reviews.ee/workflow-review-eligibility.service.js +77 -0
  555. package/dist/modules/workflow-reviews.ee/workflow-review-eligibility.service.js.map +1 -0
  556. package/dist/modules/workflow-reviews.ee/workflow-review-inbox.service.d.ts +8 -11
  557. package/dist/modules/workflow-reviews.ee/workflow-review-inbox.service.js +52 -71
  558. package/dist/modules/workflow-reviews.ee/workflow-review-inbox.service.js.map +1 -1
  559. package/dist/modules/workflow-reviews.ee/workflow-review-request.service.d.ts +6 -4
  560. package/dist/modules/workflow-reviews.ee/workflow-review-request.service.js +157 -40
  561. package/dist/modules/workflow-reviews.ee/workflow-review-request.service.js.map +1 -1
  562. package/dist/modules/workflow-reviews.ee/workflow-review-requests.controller.d.ts +6 -2
  563. package/dist/modules/workflow-reviews.ee/workflow-review-requests.controller.js +30 -2
  564. package/dist/modules/workflow-reviews.ee/workflow-review-requests.controller.js.map +1 -1
  565. package/dist/modules/workflow-reviews.ee/workflow-review.mapper.d.ts +4 -2
  566. package/dist/modules/workflow-reviews.ee/workflow-review.mapper.js +69 -0
  567. package/dist/modules/workflow-reviews.ee/workflow-review.mapper.js.map +1 -1
  568. package/dist/oauth/account-identifier.d.ts +2 -0
  569. package/dist/oauth/account-identifier.js +38 -0
  570. package/dist/oauth/account-identifier.js.map +1 -0
  571. package/dist/oauth/oauth.service.d.ts +0 -1
  572. package/dist/oauth/oauth.service.js +7 -39
  573. package/dist/oauth/oauth.service.js.map +1 -1
  574. package/dist/posthog/index.js +3 -0
  575. package/dist/posthog/index.js.map +1 -1
  576. package/dist/public-api/index.d.ts +1 -1
  577. package/dist/public-api/index.js +8 -4
  578. package/dist/public-api/index.js.map +1 -1
  579. package/dist/public-api/types.d.ts +0 -16
  580. package/dist/public-api/v1/controllers/index.d.ts +1 -0
  581. package/dist/public-api/v1/controllers/index.js +1 -0
  582. package/dist/public-api/v1/controllers/index.js.map +1 -1
  583. package/dist/public-api/v1/controllers/role-mapping-rules.public.controller.d.ts +11 -0
  584. package/dist/public-api/v1/controllers/role-mapping-rules.public.controller.js +61 -0
  585. package/dist/public-api/v1/controllers/role-mapping-rules.public.controller.js.map +1 -0
  586. package/dist/public-api/v1/controllers/roles.public.controller.d.ts +4 -1
  587. package/dist/public-api/v1/controllers/roles.public.controller.js +95 -10
  588. package/dist/public-api/v1/controllers/roles.public.controller.js.map +1 -1
  589. package/dist/public-api/v1/controllers/workflows.public.controller.d.ts +11 -2
  590. package/dist/public-api/v1/controllers/workflows.public.controller.js +159 -3
  591. package/dist/public-api/v1/controllers/workflows.public.controller.js.map +1 -1
  592. package/dist/public-api/v1/handlers/credentials/credentials.handler.js +111 -43
  593. package/dist/public-api/v1/handlers/credentials/credentials.handler.js.map +1 -1
  594. package/dist/public-api/v1/handlers/credentials/credentials.middleware.js +13 -6
  595. package/dist/public-api/v1/handlers/credentials/credentials.middleware.js.map +1 -1
  596. package/dist/public-api/v1/handlers/credentials/credentials.utils.d.ts +12 -0
  597. package/dist/public-api/v1/handlers/credentials/credentials.utils.js +182 -0
  598. package/dist/public-api/v1/handlers/credentials/credentials.utils.js.map +1 -0
  599. package/dist/public-api/v1/handlers/n8n-packages/n8n-packages.handler.d.ts +1 -0
  600. package/dist/public-api/v1/handlers/n8n-packages/n8n-packages.handler.js +1 -0
  601. package/dist/public-api/v1/handlers/n8n-packages/n8n-packages.handler.js.map +1 -1
  602. package/dist/public-api/v1/handlers/workflows/workflows.handler.d.ts +0 -3
  603. package/dist/public-api/v1/handlers/workflows/workflows.handler.js +0 -76
  604. package/dist/public-api/v1/handlers/workflows/workflows.handler.js.map +1 -1
  605. package/dist/public-api/v1/openapi.yml +678 -126
  606. package/dist/public-api/v1/public-api-error-response.d.ts +2 -1
  607. package/dist/public-api/v1/public-api-error-response.js +2 -2
  608. package/dist/public-api/v1/public-api-error-response.js.map +1 -1
  609. package/dist/scaling/constants.js +1 -0
  610. package/dist/scaling/constants.js.map +1 -1
  611. package/dist/scaling/job-processor.js +15 -11
  612. package/dist/scaling/job-processor.js.map +1 -1
  613. package/dist/scaling/scaling.types.d.ts +2 -1
  614. package/dist/scheduling/durable-job-provisioner.d.ts +3 -2
  615. package/dist/scheduling/durable-job-provisioner.js +42 -8
  616. package/dist/scheduling/durable-job-provisioner.js.map +1 -1
  617. package/dist/scheduling/durable-scheduler.js +5 -1
  618. package/dist/scheduling/durable-scheduler.js.map +1 -1
  619. package/dist/scheduling/owner-key.d.ts +14 -0
  620. package/dist/scheduling/owner-key.js +17 -0
  621. package/dist/scheduling/owner-key.js.map +1 -0
  622. package/dist/scheduling/poll-trigger-node/poll-job-provider.d.ts +3 -1
  623. package/dist/scheduling/poll-trigger-node/poll-job-provider.js +7 -3
  624. package/dist/scheduling/poll-trigger-node/poll-job-provider.js.map +1 -1
  625. package/dist/scheduling/poll-trigger-node/poll-trigger-task-handler.d.ts +5 -2
  626. package/dist/scheduling/poll-trigger-node/poll-trigger-task-handler.js +60 -33
  627. package/dist/scheduling/poll-trigger-node/poll-trigger-task-handler.js.map +1 -1
  628. package/dist/scheduling/schedule-trigger-node/schedule-trigger-job-registrar.js +35 -6
  629. package/dist/scheduling/schedule-trigger-node/schedule-trigger-job-registrar.js.map +1 -1
  630. package/dist/security-audit/risk-reporters/instance-risk-reporter.js +1 -1
  631. package/dist/security-audit/risk-reporters/instance-risk-reporter.js.map +1 -1
  632. package/dist/server.js +8 -9
  633. package/dist/server.js.map +1 -1
  634. package/dist/services/ai-gateway.service.d.ts +3 -7
  635. package/dist/services/ai-gateway.service.js +31 -8
  636. package/dist/services/ai-gateway.service.js.map +1 -1
  637. package/dist/services/api-key-auth.strategy.js +3 -0
  638. package/dist/services/api-key-auth.strategy.js.map +1 -1
  639. package/dist/services/dynamic-node-parameters.service.d.ts +4 -2
  640. package/dist/services/dynamic-node-parameters.service.js +17 -3
  641. package/dist/services/dynamic-node-parameters.service.js.map +1 -1
  642. package/dist/services/folder.service.d.ts +1 -1
  643. package/dist/services/folder.service.js.map +1 -1
  644. package/dist/services/frontend.service.js +2 -1
  645. package/dist/services/frontend.service.js.map +1 -1
  646. package/dist/services/instance-write-access.service.d.ts +5 -0
  647. package/dist/services/instance-write-access.service.js +26 -0
  648. package/dist/services/instance-write-access.service.js.map +1 -0
  649. package/dist/services/oauth-token-verifier-proxy.service.d.ts +4 -2
  650. package/dist/services/oauth-token-verifier-proxy.service.js +2 -2
  651. package/dist/services/oauth-token-verifier-proxy.service.js.map +1 -1
  652. package/dist/services/ownership-transfer/ownership-transfer.manifest.json +1 -1
  653. package/dist/services/project.service.ee.js +12 -5
  654. package/dist/services/project.service.ee.js.map +1 -1
  655. package/dist/services/protected-resource.registry.d.ts +4 -0
  656. package/dist/services/protected-resource.registry.js.map +1 -1
  657. package/dist/services/pruning/workflow-history-compaction.service.js +9 -6
  658. package/dist/services/pruning/workflow-history-compaction.service.js.map +1 -1
  659. package/dist/services/role.service.d.ts +13 -3
  660. package/dist/services/role.service.js +13 -5
  661. package/dist/services/role.service.js.map +1 -1
  662. package/dist/services/sandbox-settings.service.d.ts +29 -0
  663. package/dist/services/sandbox-settings.service.js +144 -0
  664. package/dist/services/sandbox-settings.service.js.map +1 -0
  665. package/dist/services/session-cookie-auth.strategy.d.ts +11 -0
  666. package/dist/services/session-cookie-auth.strategy.js +61 -0
  667. package/dist/services/session-cookie-auth.strategy.js.map +1 -0
  668. package/dist/utils/ai-proxy-language-model.d.ts +13 -0
  669. package/dist/utils/ai-proxy-language-model.js +48 -0
  670. package/dist/utils/ai-proxy-language-model.js.map +1 -0
  671. package/dist/utils/ttl-map.d.ts +3 -1
  672. package/dist/utils/ttl-map.js +13 -17
  673. package/dist/utils/ttl-map.js.map +1 -1
  674. package/dist/webhooks/webhook-helpers.js +12 -2
  675. package/dist/webhooks/webhook-helpers.js.map +1 -1
  676. package/dist/workflow-execute-additional-data.js +17 -1
  677. package/dist/workflow-execute-additional-data.js.map +1 -1
  678. package/dist/workflow-runner.d.ts +4 -1
  679. package/dist/workflow-runner.js +6 -1
  680. package/dist/workflow-runner.js.map +1 -1
  681. package/dist/workflows/publication/trigger-diff.js +10 -1
  682. package/dist/workflows/publication/trigger-diff.js.map +1 -1
  683. package/dist/workflows/publication/workflow-publication-outbox-consumer.d.ts +3 -4
  684. package/dist/workflows/publication/workflow-publication-outbox-consumer.js +46 -50
  685. package/dist/workflows/publication/workflow-publication-outbox-consumer.js.map +1 -1
  686. package/dist/workflows/publication/workflow-publication-outbox-worker-pool.d.ts +16 -0
  687. package/dist/workflows/publication/workflow-publication-outbox-worker-pool.js +50 -0
  688. package/dist/workflows/publication/workflow-publication-outbox-worker-pool.js.map +1 -0
  689. package/dist/workflows/triggers/durable-poller-gate.service.d.ts +19 -0
  690. package/dist/workflows/triggers/durable-poller-gate.service.js +78 -0
  691. package/dist/workflows/triggers/durable-poller-gate.service.js.map +1 -0
  692. package/dist/workflows/triggers/enabled-trigger-nodes.d.ts +6 -0
  693. package/dist/workflows/triggers/enabled-trigger-nodes.js +18 -0
  694. package/dist/workflows/triggers/enabled-trigger-nodes.js.map +1 -0
  695. package/dist/workflows/triggers/poll-cursor.service.d.ts +39 -0
  696. package/dist/workflows/triggers/poll-cursor.service.js +100 -0
  697. package/dist/workflows/triggers/poll-cursor.service.js.map +1 -0
  698. package/dist/workflows/triggers/trigger-execution-context.factory.d.ts +6 -4
  699. package/dist/workflows/triggers/trigger-execution-context.factory.js +56 -7
  700. package/dist/workflows/triggers/trigger-execution-context.factory.js.map +1 -1
  701. package/dist/workflows/triggers/workflow-trigger-activator.d.ts +3 -5
  702. package/dist/workflows/triggers/workflow-trigger-activator.js +2 -11
  703. package/dist/workflows/triggers/workflow-trigger-activator.js.map +1 -1
  704. package/dist/workflows/workflow-creation.service.d.ts +4 -1
  705. package/dist/workflows/workflow-creation.service.js +20 -2
  706. package/dist/workflows/workflow-creation.service.js.map +1 -1
  707. package/dist/workflows/workflow-entity-mapper.js.map +1 -1
  708. package/dist/workflows/workflow-execution.service.d.ts +9 -4
  709. package/dist/workflows/workflow-execution.service.js +93 -2
  710. package/dist/workflows/workflow-execution.service.js.map +1 -1
  711. package/dist/workflows/workflow-finder.service.d.ts +1 -0
  712. package/dist/workflows/workflow-finder.service.js +5 -1
  713. package/dist/workflows/workflow-finder.service.js.map +1 -1
  714. package/dist/workflows/workflow-validation.service.d.ts +1 -0
  715. package/dist/workflows/workflow-validation.service.js +32 -11
  716. package/dist/workflows/workflow-validation.service.js.map +1 -1
  717. package/dist/workflows/workflow.service.d.ts +1 -0
  718. package/dist/workflows/workflow.service.js +18 -4
  719. package/dist/workflows/workflow.service.js.map +1 -1
  720. package/package.json +42 -41
  721. package/templates/form-shell.handlebars +155 -86
  722. package/templates/form-trigger.handlebars +97 -2
  723. package/dist/modules/agents/agent-knowledge-gate.d.ts +0 -2
  724. package/dist/modules/agents/agent-knowledge-gate.js +0 -7
  725. package/dist/modules/agents/agent-knowledge-gate.js.map +0 -1
  726. package/dist/modules/agents/agent-knowledge-sandbox.service.js +0 -693
  727. package/dist/modules/agents/agent-knowledge-sandbox.service.js.map +0 -1
  728. package/dist/modules/workflow-reviews.ee/workflow-review-decision-eligibility.service.d.ts +0 -15
  729. package/dist/modules/workflow-reviews.ee/workflow-review-decision-eligibility.service.js +0 -52
  730. package/dist/modules/workflow-reviews.ee/workflow-review-decision-eligibility.service.js.map +0 -1
  731. package/dist/public-api/v1/handlers/credentials/credentials.service.d.ts +0 -36
  732. package/dist/public-api/v1/handlers/credentials/credentials.service.js +0 -330
  733. package/dist/public-api/v1/handlers/credentials/credentials.service.js.map +0 -1
@@ -24,65 +24,69 @@ exports.formatExecutionError = formatExecutionError;
24
24
  exports.truncateNodeOutput = truncateNodeOutput;
25
25
  exports.extractNodeOutput = extractNodeOutput;
26
26
  exports.extractExecutionDebugInfo = extractExecutionDebugInfo;
27
- const node_crypto_1 = require("node:crypto");
28
- const promises_1 = require("node:fs/promises");
29
- const node_path_1 = __importDefault(require("node:path"));
30
27
  const ai_utilities_1 = require("@n8n/ai-utilities");
31
- const instance_ai_1 = require("@n8n/instance-ai");
32
28
  const api_types_1 = require("@n8n/api-types");
29
+ const backend_common_1 = require("@n8n/backend-common");
30
+ const backend_network_1 = require("@n8n/backend-network");
33
31
  const config_1 = require("@n8n/config");
34
32
  const constants_1 = require("@n8n/constants");
35
- const nanoid_1 = require("nanoid");
36
- const extract_resolved_node_parameters_1 = require("./extract-resolved-node-parameters");
37
- const instance_ai_settings_service_1 = require("./instance-ai-settings.service");
38
- const mcp_1 = require("./mcp");
39
- const workflow_templates_service_1 = require("./workflow-templates.service");
40
- const instance_ai_run_pin_data_1 = require("./instance-ai-run-pin-data");
41
- const node_definition_resolver_1 = require("./node-definition-resolver");
42
- const web_research_1 = require("./web-research");
43
33
  const db_1 = require("@n8n/db");
44
- const backend_common_1 = require("@n8n/backend-common");
45
- const backend_network_1 = require("@n8n/backend-network");
46
34
  const di_1 = require("@n8n/di");
35
+ const instance_ai_1 = require("@n8n/instance-ai");
47
36
  const permissions_1 = require("@n8n/permissions");
48
37
  const typeorm_1 = require("@n8n/typeorm");
38
+ const n8n_core_1 = require("n8n-core");
49
39
  const n8n_workflow_1 = require("n8n-workflow");
40
+ const nanoid_1 = require("nanoid");
41
+ const node_crypto_1 = require("node:crypto");
42
+ const promises_1 = require("node:fs/promises");
43
+ const node_path_1 = __importDefault(require("node:path"));
50
44
  const active_executions_1 = require("../../active-executions");
51
- const conflict_error_1 = require("../../errors/response-errors/conflict.error");
45
+ const collaboration_service_1 = require("../../collaboration/collaboration.service");
46
+ const credentials_overwrites_1 = require("../../credentials-overwrites");
52
47
  const credentials_finder_service_1 = require("../../credentials/credentials-finder.service");
53
48
  const credentials_service_1 = require("../../credentials/credentials.service");
49
+ const conflict_error_1 = require("../../errors/response-errors/conflict.error");
50
+ const locked_error_1 = require("../../errors/response-errors/locked.error");
51
+ const not_found_error_1 = require("../../errors/response-errors/not-found.error");
54
52
  const evaluation_config_service_1 = require("../../evaluation.ee/evaluation-config.service");
55
53
  const llm_judge_provider_registry_1 = require("../../evaluation.ee/llm-judge-provider-registry");
56
54
  const event_service_1 = require("../../events/event.service");
57
55
  const execution_persistence_1 = require("../../executions/execution-persistence");
58
56
  const license_1 = require("../../license");
59
- const posthog_1 = require("../../posthog");
60
57
  const load_nodes_and_credentials_1 = require("../../load-nodes-and-credentials");
61
- const node_types_1 = require("../../node-types");
62
58
  const agents_credential_provider_1 = require("../../modules/agents/adapters/agents-credential-provider");
63
59
  const instance_ai_builder_delegate_adapter_1 = require("../../modules/agents/instance-ai-builder-delegate.adapter");
64
- const node_catalog_1 = require("../../node-catalog");
65
60
  const data_table_repository_1 = require("../../modules/data-table/data-table.repository");
66
61
  const data_table_service_1 = require("../../modules/data-table/data-table.service");
67
62
  const node_description_transform_1 = require("../../modules/mcp-registry/node-description-transform");
68
63
  const mcp_registry_service_1 = require("../../modules/mcp-registry/registry/mcp-registry.service");
69
- const source_control_preferences_service_ee_1 = require("../../modules/source-control.ee/source-control-preferences.service.ee");
64
+ const node_catalog_1 = require("../../node-catalog");
65
+ const node_types_1 = require("../../node-types");
70
66
  const check_access_1 = require("../../permissions.ee/check-access");
71
- const node_definition_dirs_1 = require("../../utils/node-definition-dirs");
67
+ const posthog_1 = require("../../posthog");
72
68
  const ai_gateway_service_1 = require("../../services/ai-gateway.service");
73
69
  const folder_service_1 = require("../../services/folder.service");
70
+ const instance_write_access_service_1 = require("../../services/instance-write-access.service");
74
71
  const node_resource_explorer_service_1 = require("../../services/node-resource-explorer.service");
75
72
  const project_service_ee_1 = require("../../services/project.service.ee");
76
73
  const role_service_1 = require("../../services/role.service");
77
- const n8n_core_1 = require("n8n-core");
78
74
  const tag_service_1 = require("../../services/tag.service");
75
+ const telemetry_1 = require("../../telemetry");
76
+ const node_definition_dirs_1 = require("../../utils/node-definition-dirs");
77
+ const workflow_runner_1 = require("../../workflow-runner");
78
+ const utils_1 = require("../../workflows/utils");
79
79
  const workflow_finder_service_1 = require("../../workflows/workflow-finder.service");
80
80
  const workflow_history_service_1 = require("../../workflows/workflow-history/workflow-history.service");
81
81
  const workflow_service_1 = require("../../workflows/workflow.service");
82
- const utils_1 = require("../../workflows/utils");
83
82
  const workflow_service_ee_1 = require("../../workflows/workflow.service.ee");
84
- const telemetry_1 = require("../../telemetry");
85
- const workflow_runner_1 = require("../../workflow-runner");
83
+ const extract_resolved_node_parameters_1 = require("./extract-resolved-node-parameters");
84
+ const instance_ai_run_pin_data_1 = require("./instance-ai-run-pin-data");
85
+ const instance_ai_settings_service_1 = require("./instance-ai-settings.service");
86
+ const mcp_1 = require("./mcp");
87
+ const node_definition_resolver_1 = require("./node-definition-resolver");
88
+ const web_research_1 = require("./web-research");
89
+ const workflow_templates_service_1 = require("./workflow-templates.service");
86
90
  function resolveDisplayedDefaults(nodeProperties, parameters, nodeType, typeVersion, desc) {
87
91
  const stubNode = {
88
92
  id: '',
@@ -109,7 +113,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
109
113
  });
110
114
  return await promise;
111
115
  }
112
- constructor(logger, globalConfig, workflowService, workflowFinderService, workflowRepository, sharedWorkflowRepository, projectRepository, executionRepository, credentialsService, credentialsFinderService, activeExecutions, workflowRunner, loadNodesAndCredentials, nodeTypes, instanceSettings, dataTableService, dataTableRepository, nodeResourceExplorerService, folderService, projectService, tagService, sourceControlPreferencesService, settingsService, workflowHistoryService, enterpriseWorkflowService, license, executionPersistence, eventService, roleService, telemetry, aiBuilderTemporaryWorkflowRepository, ssrfProtectionService, outboundHttp, aiGatewayService, workflowTemplatesService, nodeCatalogService, evaluationConfigService, llmJudgeProviderRegistry) {
116
+ constructor(logger, globalConfig, workflowService, workflowFinderService, workflowRepository, sharedWorkflowRepository, projectRepository, executionRepository, credentialsService, credentialsFinderService, activeExecutions, workflowRunner, loadNodesAndCredentials, nodeTypes, instanceSettings, dataTableService, dataTableRepository, nodeResourceExplorerService, folderService, projectService, tagService, instanceWriteAccess, settingsService, workflowHistoryService, enterpriseWorkflowService, license, executionPersistence, eventService, roleService, telemetry, aiBuilderTemporaryWorkflowRepository, ssrfProtectionService, outboundHttp, aiGatewayService, workflowTemplatesService, collaborationService, nodeCatalogService, evaluationConfigService, llmJudgeProviderRegistry) {
113
117
  this.globalConfig = globalConfig;
114
118
  this.workflowService = workflowService;
115
119
  this.workflowFinderService = workflowFinderService;
@@ -130,7 +134,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
130
134
  this.folderService = folderService;
131
135
  this.projectService = projectService;
132
136
  this.tagService = tagService;
133
- this.sourceControlPreferencesService = sourceControlPreferencesService;
137
+ this.instanceWriteAccess = instanceWriteAccess;
134
138
  this.settingsService = settingsService;
135
139
  this.workflowHistoryService = workflowHistoryService;
136
140
  this.enterpriseWorkflowService = enterpriseWorkflowService;
@@ -144,6 +148,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
144
148
  this.outboundHttp = outboundHttp;
145
149
  this.aiGatewayService = aiGatewayService;
146
150
  this.workflowTemplatesService = workflowTemplatesService;
151
+ this.collaborationService = collaborationService;
147
152
  this.nodeCatalogService = nodeCatalogService;
148
153
  this.evaluationConfigService = evaluationConfigService;
149
154
  this.llmJudgeProviderRegistry = llmJudgeProviderRegistry;
@@ -236,35 +241,31 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
236
241
  return (flags?.[api_types_1.INSTANCE_AI_MCP_CONNECTIONS_FLAG] === api_types_1.INSTANCE_AI_MCP_CONNECTIONS_ENABLED_VARIANT);
237
242
  }
238
243
  createMcpAdapter(user) {
244
+ const toSummaries = (servers) => servers.map((server) => ({
245
+ slug: server.slug,
246
+ title: server.title,
247
+ description: server.description,
248
+ credentialType: server.credentialType,
249
+ tools: server.tools.map((tool) => tool.name),
250
+ }));
239
251
  return {
240
252
  search: async (queries) => {
241
- const [servers, connectedSlugs] = await Promise.all([
253
+ const [servers, connections] = await Promise.all([
242
254
  di_1.Container.get(mcp_registry_service_1.McpRegistryService).search(queries),
243
- this.listConnectedMcpRegistrySlugs(user),
255
+ this.listMcpRegistryConnections(user),
244
256
  ]);
245
- return servers
246
- .filter((server) => !connectedSlugs.has(server.slug))
247
- .map((server) => ({
248
- slug: server.slug,
249
- title: server.title,
250
- description: server.description,
251
- tools: server.tools.map((tool) => tool.name),
252
- }));
257
+ const connected = new Set(connections.map((connection) => connection.slug));
258
+ return toSummaries(servers.filter((server) => !connected.has(server.slug)));
253
259
  },
260
+ getServers: async (slugs) => toSummaries(await di_1.Container.get(mcp_registry_service_1.McpRegistryService).resolveBySlugs(slugs)),
261
+ listConnections: async () => await this.listMcpRegistryConnections(user),
254
262
  };
255
263
  }
256
- async listConnectedMcpRegistrySlugs(user) {
257
- try {
258
- const connections = await di_1.Container.get(mcp_1.InstanceAiMcpRegistryService).listConnectionsForUser(user);
259
- return new Set(connections.map((connection) => connection.serverSlug));
260
- }
261
- catch (error) {
262
- this.logger.warn('Failed to list connected MCP registry servers for registry search', {
263
- userId: user.id,
264
- error: error instanceof Error ? error.message : String(error),
265
- });
266
- return new Set();
267
- }
264
+ async listMcpRegistryConnections(user) {
265
+ const connections = await di_1.Container.get(mcp_1.InstanceAiMcpRegistryService).listConnectionsForUser(user);
266
+ return [...new Set(connections.map((connection) => connection.serverSlug))].map((slug) => ({
267
+ slug,
268
+ }));
268
269
  }
269
270
  buildAiGatewayNodeMeta(config, nodeName) {
270
271
  if (!config)
@@ -321,7 +322,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
321
322
  });
322
323
  }
323
324
  assertInstanceNotReadOnly(resourceType) {
324
- if (this.sourceControlPreferencesService.getPreferences().branchReadOnly) {
325
+ if (this.instanceWriteAccess.isReadOnly()) {
325
326
  throw new Error(`Cannot modify ${resourceType} on a protected instance. This instance is in read-only mode.`);
326
327
  }
327
328
  }
@@ -355,11 +356,33 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
355
356
  return { getPersonalProjectId, assertProjectScope, resolveProjectId, resolveBoundProjectId };
356
357
  }
357
358
  createWorkflowAdapter(user, threadId, boundProjectId) {
358
- const { workflowService, workflowFinderService, workflowRepository, sharedWorkflowRepository, aiBuilderTemporaryWorkflowRepository, workflowHistoryService, enterpriseWorkflowService, executionRepository, executionPersistence, license, allowSendingParameterValues, telemetry, } = this;
359
+ const { workflowService, workflowFinderService, workflowRepository, sharedWorkflowRepository, aiBuilderTemporaryWorkflowRepository, workflowHistoryService, enterpriseWorkflowService, executionRepository, executionPersistence, license, allowSendingParameterValues, telemetry, collaborationService, } = this;
359
360
  const logger = this.logger;
360
361
  const assertNotReadOnly = () => this.assertInstanceNotReadOnly('workflows');
361
362
  const { resolveBoundProjectId } = this.createProjectScopeHelpers(user, boundProjectId);
362
363
  const redactParameters = !allowSendingParameterValues;
364
+ const assertNotLockedByEditor = async (workflowId) => {
365
+ try {
366
+ await collaborationService.ensureWorkflowEditable(workflowId);
367
+ }
368
+ catch (error) {
369
+ if (error instanceof locked_error_1.LockedError)
370
+ throw new instance_ai_1.WorkflowEditorLockedError(workflowId);
371
+ throw error;
372
+ }
373
+ };
374
+ const notifyWorkflowUpdated = async (workflowId) => {
375
+ try {
376
+ await collaborationService.broadcastWorkflowUpdate(workflowId, user.id);
377
+ }
378
+ catch (error) {
379
+ logger.warn('Failed to notify open editors of an AI workflow update', {
380
+ threadId,
381
+ workflowId,
382
+ error: error instanceof Error ? error.message : String(error),
383
+ });
384
+ }
385
+ };
363
386
  return {
364
387
  async list(options) {
365
388
  const filter = {
@@ -388,22 +411,24 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
388
411
  'workflow:read',
389
412
  ]);
390
413
  if (!workflow) {
391
- throw new Error(`Workflow ${workflowId} not found or not accessible`);
414
+ throw new instance_ai_1.WorkflowNotFoundError(workflowId);
392
415
  }
393
416
  return await toWorkflowDetailWithChecksum(workflow, { redactParameters });
394
417
  },
395
418
  async archive(workflowId) {
396
419
  assertNotReadOnly();
420
+ await assertNotLockedByEditor(workflowId);
397
421
  const result = await workflowService.archive(user, workflowId, { skipArchived: true });
398
422
  if (!result) {
399
- throw new Error(`Workflow ${workflowId} not found or not accessible`);
423
+ throw new instance_ai_1.WorkflowNotFoundError(workflowId);
400
424
  }
425
+ await notifyWorkflowUpdated(workflowId);
401
426
  },
402
427
  async unarchive(workflowId) {
403
428
  assertNotReadOnly();
404
429
  const result = await workflowService.unarchive(user, workflowId);
405
430
  if (!result) {
406
- throw new Error(`Workflow ${workflowId} not found or not accessible`);
431
+ throw new instance_ai_1.WorkflowNotFoundError(workflowId);
407
432
  }
408
433
  },
409
434
  async clearAiTemporary(workflowId) {
@@ -436,6 +461,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
436
461
  return true;
437
462
  },
438
463
  async publish(workflowId, options) {
464
+ await assertNotLockedByEditor(workflowId);
439
465
  const wf = await workflowService.activateWorkflow(user, workflowId, {
440
466
  versionId: options?.versionId,
441
467
  name: options?.name,
@@ -453,19 +479,22 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
453
479
  executed_by: 'ai',
454
480
  });
455
481
  }
482
+ await notifyWorkflowUpdated(workflowId);
456
483
  return { activeVersionId: wf.activeVersionId };
457
484
  },
458
485
  async unpublish(workflowId) {
486
+ await assertNotLockedByEditor(workflowId);
459
487
  await workflowService.deactivateWorkflow(user, workflowId, {
460
488
  source: 'n8n-ai',
461
489
  });
490
+ await notifyWorkflowUpdated(workflowId);
462
491
  },
463
492
  async getAsWorkflowJSON(workflowId, versionId) {
464
493
  const wf = await workflowFinderService.findWorkflowForUser(workflowId, user, [
465
494
  'workflow:read',
466
495
  ]);
467
496
  if (!wf)
468
- throw new Error(`Workflow ${workflowId} not found or not accessible`);
497
+ throw new instance_ai_1.WorkflowNotFoundError(workflowId);
469
498
  if (!versionId)
470
499
  return toWorkflowJSON(wf, { redactParameters });
471
500
  const version = await workflowHistoryService.getVersion(user, workflowId, versionId);
@@ -476,7 +505,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
476
505
  'workflow:read',
477
506
  ]);
478
507
  if (!head)
479
- throw new Error(`Workflow ${workflowId} not found or not accessible`);
508
+ throw new instance_ai_1.WorkflowNotFoundError(workflowId);
480
509
  return { versionId: head.versionId, updatedAt: head.updatedAt.getTime() };
481
510
  },
482
511
  async getWorkflowSnapshot(workflowId) {
@@ -484,7 +513,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
484
513
  'workflow:read',
485
514
  ]);
486
515
  if (!wf)
487
- throw new Error(`Workflow ${workflowId} not found or not accessible`);
516
+ throw new instance_ai_1.WorkflowNotFoundError(workflowId);
488
517
  return {
489
518
  json: toWorkflowJSON(wf, { redactParameters }),
490
519
  versionId: wf.versionId,
@@ -593,6 +622,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
593
622
  },
594
623
  async updateFromWorkflowJSON(workflowId, json, options) {
595
624
  assertNotReadOnly();
625
+ await assertNotLockedByEditor(workflowId);
596
626
  const settings = (json.settings ?? {});
597
627
  if (settings.redactionPolicy !== undefined) {
598
628
  const [existingWorkflow, ownerProject] = await Promise.all([
@@ -632,6 +662,9 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
632
662
  if (error instanceof conflict_error_1.ConflictError) {
633
663
  throw new instance_ai_1.WorkflowSaveConflictError(workflowId);
634
664
  }
665
+ if (error instanceof not_found_error_1.NotFoundError) {
666
+ throw new instance_ai_1.WorkflowNotFoundError(workflowId);
667
+ }
635
668
  logger.warn('AI-builder workflow save failed', {
636
669
  threadId,
637
670
  workflowId,
@@ -646,6 +679,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
646
679
  workflow_id: workflowId,
647
680
  });
648
681
  }
682
+ await notifyWorkflowUpdated(workflowId);
649
683
  return await toWorkflowDetailWithChecksum(updated, { redactParameters });
650
684
  },
651
685
  async listVersions(workflowId, options) {
@@ -695,6 +729,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
695
729
  };
696
730
  },
697
731
  async restoreVersion(workflowId, versionId) {
732
+ await assertNotLockedByEditor(workflowId);
698
733
  const version = await workflowHistoryService.getVersion(user, workflowId, versionId);
699
734
  const updateData = workflowRepository.create({
700
735
  nodes: version.nodes,
@@ -704,6 +739,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
704
739
  await workflowService.update(user, updateData, workflowId, {
705
740
  source: 'n8n-ai',
706
741
  });
742
+ await notifyWorkflowUpdated(workflowId);
707
743
  },
708
744
  ...(this.license.isLicensed('feat:namedVersions')
709
745
  ? {
@@ -772,11 +808,11 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
772
808
  'workflow:execute',
773
809
  ]);
774
810
  if (!workflow) {
775
- throw new Error(`Workflow ${workflowId} not found or not accessible`);
811
+ throw new instance_ai_1.WorkflowNotFoundError(workflowId);
776
812
  }
777
813
  const nodes = workflow.nodes ?? [];
778
814
  const triggerNode = options?.triggerNodeName
779
- ? (nodes.find((n) => n.name === options.triggerNodeName) ?? findTriggerNode(nodes))
815
+ ? resolveRequestedTriggerNode(nodes, options.triggerNodeName)
780
816
  : findTriggerNode(nodes);
781
817
  const timeoutMs = Math.min(options?.timeout ?? DEFAULT_TIMEOUT_MS, MAX_TIMEOUT_MS);
782
818
  const connections = options?.omitConnections?.length
@@ -1134,10 +1170,10 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
1134
1170
  try {
1135
1171
  const loaded = loadNodesAndCredentials.getNode(nodeName);
1136
1172
  const nodeInstance = loaded.type;
1137
- const nodeDesc = 'nodeVersions' in nodeInstance
1138
- ? Object.values(nodeInstance.nodeVersions).pop()?.description
1139
- : nodeInstance.description;
1140
- const hasTestedBy = nodeDesc?.credentials?.some((cred) => cred.name === credentialType && cred.testedBy);
1173
+ const nodeDescriptions = 'nodeVersions' in nodeInstance
1174
+ ? Object.values(nodeInstance.nodeVersions).map((version) => version.description)
1175
+ : [nodeInstance.description];
1176
+ const hasTestedBy = nodeDescriptions.some((nodeDesc) => nodeDesc?.credentials?.some((cred) => cred.name === credentialType && cred.testedBy));
1141
1177
  if (hasTestedBy)
1142
1178
  return true;
1143
1179
  }
@@ -1288,13 +1324,10 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
1288
1324
  }
1289
1325
  }
1290
1326
  const raw = await credentialsService.decrypt(credential, true);
1291
- const tokenData = raw.oauthTokenData;
1292
- if (tokenData && typeof tokenData === 'object') {
1293
- const { OauthService } = await import('../../oauth/oauth.service.js');
1294
- const identifier = OauthService.extractAccountIdentifier(tokenData);
1295
- if (identifier) {
1296
- return { accountIdentifier: mask(identifier) };
1297
- }
1327
+ const { extractAccountIdentifierFromData } = await import('../../oauth/account-identifier.js');
1328
+ const identifier = extractAccountIdentifierFromData(raw);
1329
+ if (identifier) {
1330
+ return { accountIdentifier: mask(identifier) };
1298
1331
  }
1299
1332
  return { accountIdentifier: undefined };
1300
1333
  }
@@ -1310,6 +1343,14 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
1310
1343
  const config = await getGatewayConfig();
1311
1344
  return config?.credentialTypes ?? [];
1312
1345
  },
1346
+ async isManagedOAuthCredentialType(credType) {
1347
+ try {
1348
+ return await Promise.resolve(di_1.Container.get(credentials_overwrites_1.CredentialsOverwrites).isManagedOAuthType(credType));
1349
+ }
1350
+ catch {
1351
+ return false;
1352
+ }
1353
+ },
1313
1354
  };
1314
1355
  if (!credentialIdAllowlist)
1315
1356
  return adapter;
@@ -1325,7 +1366,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
1325
1366
  const findWorkflow = async (workflowId, scope) => {
1326
1367
  const workflow = await workflowFinderService.findWorkflowForUser(workflowId, user, [scope]);
1327
1368
  if (!workflow) {
1328
- throw new Error(`Workflow ${workflowId} not found or not accessible`);
1369
+ throw new instance_ai_1.WorkflowNotFoundError(workflowId);
1329
1370
  }
1330
1371
  return workflow;
1331
1372
  };
@@ -1706,7 +1747,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
1706
1747
  if (n.builderHint) {
1707
1748
  result.builderHint = {};
1708
1749
  if (n.builderHint.searchHint) {
1709
- result.builderHint.message = n.builderHint.searchHint;
1750
+ result.builderHint.searchHint = n.builderHint.searchHint;
1710
1751
  }
1711
1752
  if (n.builderHint.inputs) {
1712
1753
  const inputs = {};
@@ -1978,7 +2019,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
1978
2019
  'workflow:update',
1979
2020
  ]);
1980
2021
  if (!workflow) {
1981
- throw new Error(`Workflow ${workflowId} not found or not accessible`);
2022
+ throw new instance_ai_1.WorkflowNotFoundError(workflowId);
1982
2023
  }
1983
2024
  await workflowService.update(user, workflow, workflowId, {
1984
2025
  parentFolderId: folderId,
@@ -1993,7 +2034,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
1993
2034
  'workflow:update',
1994
2035
  ]);
1995
2036
  if (!workflow) {
1996
- throw new Error(`Workflow ${workflowId} not found or not accessible`);
2037
+ throw new instance_ai_1.WorkflowNotFoundError(workflowId);
1997
2038
  }
1998
2039
  if (!(0, permissions_1.hasGlobalScope)(user, 'tag:list')) {
1999
2040
  throw new Error('User does not have permission to list tags');
@@ -2039,7 +2080,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
2039
2080
  'workflow:execute',
2040
2081
  ]);
2041
2082
  if (!workflow) {
2042
- throw new Error(`Workflow ${workflowId} not found or not accessible`);
2083
+ throw new instance_ai_1.WorkflowNotFoundError(workflowId);
2043
2084
  }
2044
2085
  const olderThanHours = options?.olderThanHours ?? 1;
2045
2086
  const cutoff = new Date(Date.now() - olderThanHours * 60 * 60 * 1000);
@@ -2080,7 +2121,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
2080
2121
  exports.InstanceAiAdapterService = InstanceAiAdapterService;
2081
2122
  exports.InstanceAiAdapterService = InstanceAiAdapterService = __decorate([
2082
2123
  (0, di_1.Service)(),
2083
- __metadata("design:paramtypes", [backend_common_1.Logger, config_1.GlobalConfig, workflow_service_1.WorkflowService, workflow_finder_service_1.WorkflowFinderService, db_1.WorkflowRepository, db_1.SharedWorkflowRepository, db_1.ProjectRepository, db_1.ExecutionRepository, credentials_service_1.CredentialsService, credentials_finder_service_1.CredentialsFinderService, active_executions_1.ActiveExecutions, workflow_runner_1.WorkflowRunner, load_nodes_and_credentials_1.LoadNodesAndCredentials, node_types_1.NodeTypes, n8n_core_1.InstanceSettings, data_table_service_1.DataTableService, data_table_repository_1.DataTableRepository, node_resource_explorer_service_1.NodeResourceExplorerService, folder_service_1.FolderService, project_service_ee_1.ProjectService, tag_service_1.TagService, source_control_preferences_service_ee_1.SourceControlPreferencesService, instance_ai_settings_service_1.InstanceAiSettingsService, workflow_history_service_1.WorkflowHistoryService, workflow_service_ee_1.EnterpriseWorkflowService, license_1.License, execution_persistence_1.ExecutionPersistence, event_service_1.EventService, role_service_1.RoleService, telemetry_1.Telemetry, db_1.AiBuilderTemporaryWorkflowRepository, backend_network_1.SsrfProtectionService, backend_network_1.OutboundHttp, ai_gateway_service_1.AiGatewayService, workflow_templates_service_1.WorkflowTemplatesService, node_catalog_1.NodeCatalogService, evaluation_config_service_1.EvaluationConfigService, llm_judge_provider_registry_1.LlmJudgeProviderRegistry])
2124
+ __metadata("design:paramtypes", [backend_common_1.Logger, config_1.GlobalConfig, workflow_service_1.WorkflowService, workflow_finder_service_1.WorkflowFinderService, db_1.WorkflowRepository, db_1.SharedWorkflowRepository, db_1.ProjectRepository, db_1.ExecutionRepository, credentials_service_1.CredentialsService, credentials_finder_service_1.CredentialsFinderService, active_executions_1.ActiveExecutions, workflow_runner_1.WorkflowRunner, load_nodes_and_credentials_1.LoadNodesAndCredentials, node_types_1.NodeTypes, n8n_core_1.InstanceSettings, data_table_service_1.DataTableService, data_table_repository_1.DataTableRepository, node_resource_explorer_service_1.NodeResourceExplorerService, folder_service_1.FolderService, project_service_ee_1.ProjectService, tag_service_1.TagService, instance_write_access_service_1.InstanceWriteAccessService, instance_ai_settings_service_1.InstanceAiSettingsService, workflow_history_service_1.WorkflowHistoryService, workflow_service_ee_1.EnterpriseWorkflowService, license_1.License, execution_persistence_1.ExecutionPersistence, event_service_1.EventService, role_service_1.RoleService, telemetry_1.Telemetry, db_1.AiBuilderTemporaryWorkflowRepository, backend_network_1.SsrfProtectionService, backend_network_1.OutboundHttp, ai_gateway_service_1.AiGatewayService, workflow_templates_service_1.WorkflowTemplatesService, collaboration_service_1.CollaborationService, node_catalog_1.NodeCatalogService, evaluation_config_service_1.EvaluationConfigService, llm_judge_provider_registry_1.LlmJudgeProviderRegistry])
2084
2125
  ], InstanceAiAdapterService);
2085
2126
  const MAX_RESULT_CHARS = 20_000;
2086
2127
  const MAX_NODE_OUTPUT_CHARS = 1_000;
@@ -2416,10 +2457,33 @@ const KNOWN_TRIGGER_TYPES = new Set([
2416
2457
  n8n_workflow_1.SCHEDULE_TRIGGER_NODE_TYPE,
2417
2458
  ]);
2418
2459
  function findTriggerNode(nodes) {
2419
- const known = nodes.find((n) => KNOWN_TRIGGER_TYPES.has(n.type));
2420
- if (known)
2421
- return known;
2422
- return nodes.find((n) => (0, n8n_workflow_1.isTriggerNodeType)(n.type));
2460
+ const byPreference = [
2461
+ (n) => KNOWN_TRIGGER_TYPES.has(n.type),
2462
+ (n) => (0, n8n_workflow_1.isTriggerNodeType)(n.type),
2463
+ ];
2464
+ for (const isEligible of byPreference) {
2465
+ const enabled = nodes.find((n) => isEligible(n) && !n.disabled);
2466
+ if (enabled)
2467
+ return enabled;
2468
+ }
2469
+ for (const isEligible of byPreference) {
2470
+ const anyTrigger = nodes.find((n) => isEligible(n));
2471
+ if (anyTrigger)
2472
+ return anyTrigger;
2473
+ }
2474
+ return undefined;
2475
+ }
2476
+ function resolveRequestedTriggerNode(nodes, triggerNodeName) {
2477
+ const requested = nodes.find((n) => n.name === triggerNodeName);
2478
+ if (requested && (0, n8n_workflow_1.isTriggerNodeType)(requested.type))
2479
+ return requested;
2480
+ const available = nodes.filter((n) => (0, n8n_workflow_1.isTriggerNodeType)(n.type)).map((n) => `"${n.name}"`);
2481
+ const reason = requested
2482
+ ? `"${triggerNodeName}" is not a trigger node`
2483
+ : `Trigger node "${triggerNodeName}" not found in the workflow`;
2484
+ throw new n8n_workflow_1.UserError(`${reason}. ${available.length > 0
2485
+ ? `Available trigger nodes: ${available.join(', ')}.`
2486
+ : 'This workflow has no trigger nodes.'}`);
2423
2487
  }
2424
2488
  function omitWorkflowConnections(connections, omit) {
2425
2489
  const omitted = new Set(omit.map((edge) => `${edge.source}→${edge.target}`));