n8n 2.22.4 → 2.23.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 (626) hide show
  1. package/dist/auth/auth.service.d.ts +2 -0
  2. package/dist/auth/auth.service.js +15 -4
  3. package/dist/auth/auth.service.js.map +1 -1
  4. package/dist/build.tsbuildinfo +1 -1
  5. package/dist/chat/chat-service.types.d.ts +4 -4
  6. package/dist/commands/execute.d.ts +2 -2
  7. package/dist/commands/export/workflow.js +1 -0
  8. package/dist/commands/export/workflow.js.map +1 -1
  9. package/dist/commands/license/info.js +4 -4
  10. package/dist/commands/license/info.js.map +1 -1
  11. package/dist/commands/start.js +21 -1
  12. package/dist/commands/start.js.map +1 -1
  13. package/dist/constants.js +1 -0
  14. package/dist/constants.js.map +1 -1
  15. package/dist/controllers/annotation-tags.controller.ee.d.ts +1 -1
  16. package/dist/controllers/e2e.controller.js +1 -0
  17. package/dist/controllers/e2e.controller.js.map +1 -1
  18. package/dist/controllers/oauth/oauth1-credential.controller.d.ts +1 -1
  19. package/dist/controllers/oauth/oauth1-credential.controller.js +4 -7
  20. package/dist/controllers/oauth/oauth1-credential.controller.js.map +1 -1
  21. package/dist/controllers/oauth/oauth2-credential.controller.js +3 -6
  22. package/dist/controllers/oauth/oauth2-credential.controller.js.map +1 -1
  23. package/dist/controllers/redaction-enforcement-mapper.d.ts +3 -0
  24. package/dist/controllers/redaction-enforcement-mapper.js +27 -0
  25. package/dist/controllers/redaction-enforcement-mapper.js.map +1 -0
  26. package/dist/controllers/security-settings.controller.d.ts +8 -2
  27. package/dist/controllers/security-settings.controller.js +35 -25
  28. package/dist/controllers/security-settings.controller.js.map +1 -1
  29. package/dist/credentials/credential-connection-status-provider.interface.d.ts +3 -0
  30. package/dist/credentials/credential-connection-status-provider.interface.js +3 -0
  31. package/dist/credentials/credential-connection-status-provider.interface.js.map +1 -0
  32. package/dist/credentials/credential-connection-status-proxy.d.ts +6 -0
  33. package/dist/credentials/credential-connection-status-proxy.js +25 -0
  34. package/dist/credentials/credential-connection-status-proxy.js.map +1 -0
  35. package/dist/credentials/credential-resolution-provider.interface.d.ts +1 -0
  36. package/dist/credentials/credentials.controller.d.ts +2 -0
  37. package/dist/credentials/credentials.service.d.ts +10 -1
  38. package/dist/credentials/credentials.service.ee.d.ts +2 -0
  39. package/dist/credentials/credentials.service.ee.js +13 -3
  40. package/dist/credentials/credentials.service.ee.js.map +1 -1
  41. package/dist/credentials/credentials.service.js +34 -7
  42. package/dist/credentials/credentials.service.js.map +1 -1
  43. package/dist/credentials/dynamic-credentials-proxy.d.ts +2 -0
  44. package/dist/credentials/dynamic-credentials-proxy.js +9 -0
  45. package/dist/credentials/dynamic-credentials-proxy.js.map +1 -1
  46. package/dist/credentials-helper.js +2 -1
  47. package/dist/credentials-helper.js.map +1 -1
  48. package/dist/errors/feature-not-licensed.error.d.ts +3 -1
  49. package/dist/errors/feature-not-licensed.error.js +2 -2
  50. package/dist/errors/feature-not-licensed.error.js.map +1 -1
  51. package/dist/evaluation.ee/evaluation-collection.service.js +2 -0
  52. package/dist/evaluation.ee/evaluation-collection.service.js.map +1 -1
  53. package/dist/evaluation.ee/insights/eval-insights.controller.ee.d.ts +41 -0
  54. package/dist/evaluation.ee/insights/eval-insights.controller.ee.js +62 -0
  55. package/dist/evaluation.ee/insights/eval-insights.controller.ee.js.map +1 -0
  56. package/dist/evaluation.ee/insights/eval-insights.service.d.ts +25 -0
  57. package/dist/evaluation.ee/insights/eval-insights.service.js +206 -0
  58. package/dist/evaluation.ee/insights/eval-insights.service.js.map +1 -0
  59. package/dist/evaluation.ee/test-runner/test-runner.service.ee.d.ts +3 -2
  60. package/dist/evaluation.ee/test-runner/test-runner.service.ee.js +16 -2
  61. package/dist/evaluation.ee/test-runner/test-runner.service.ee.js.map +1 -1
  62. package/dist/events/relays/telemetry.event-relay.d.ts +3 -1
  63. package/dist/events/relays/telemetry.event-relay.js +9 -3
  64. package/dist/events/relays/telemetry.event-relay.js.map +1 -1
  65. package/dist/execution-lifecycle/execution-lifecycle-hooks.d.ts +1 -1
  66. package/dist/execution-lifecycle/execution-lifecycle-hooks.js +4 -2
  67. package/dist/execution-lifecycle/execution-lifecycle-hooks.js.map +1 -1
  68. package/dist/executions/execution-data/db-store.d.ts +4 -2
  69. package/dist/executions/execution-data/db-store.js +9 -4
  70. package/dist/executions/execution-data/db-store.js.map +1 -1
  71. package/dist/executions/execution-data/missing-execution-data.error.d.ts +5 -0
  72. package/dist/executions/execution-data/missing-execution-data.error.js +11 -0
  73. package/dist/executions/execution-data/missing-execution-data.error.js.map +1 -0
  74. package/dist/executions/execution-data/types.d.ts +3 -2
  75. package/dist/executions/execution-data/types.js.map +1 -1
  76. package/dist/executions/execution-persistence.d.ts +12 -3
  77. package/dist/executions/execution-persistence.js +102 -26
  78. package/dist/executions/execution-persistence.js.map +1 -1
  79. package/dist/external-hooks.d.ts +6 -1
  80. package/dist/external-hooks.js.map +1 -1
  81. package/dist/instance-settings-loader/loaders/sso/provisioning.instance-settings-loader.d.ts +3 -2
  82. package/dist/instance-settings-loader/loaders/sso/provisioning.instance-settings-loader.js +17 -12
  83. package/dist/instance-settings-loader/loaders/sso/provisioning.instance-settings-loader.js.map +1 -1
  84. package/dist/interfaces.d.ts +1 -0
  85. package/dist/license.d.ts +2 -0
  86. package/dist/license.js +6 -0
  87. package/dist/license.js.map +1 -1
  88. package/dist/load-nodes-and-credentials.d.ts +32 -4
  89. package/dist/manual-execution.service.js +3 -0
  90. package/dist/manual-execution.service.js.map +1 -1
  91. package/dist/modules/agents/agent-execution.service.js +5 -5
  92. package/dist/modules/agents/agent-execution.service.js.map +1 -1
  93. package/dist/modules/agents/agent-sse-stream.js +17 -1
  94. package/dist/modules/agents/agent-sse-stream.js.map +1 -1
  95. package/dist/modules/agents/agents-tools.service.js +7 -5
  96. package/dist/modules/agents/agents-tools.service.js.map +1 -1
  97. package/dist/modules/agents/agents.controller.d.ts +29 -3
  98. package/dist/modules/agents/agents.controller.js +88 -7
  99. package/dist/modules/agents/agents.controller.js.map +1 -1
  100. package/dist/modules/agents/agents.module.d.ts +1 -1
  101. package/dist/modules/agents/agents.module.js +12 -6
  102. package/dist/modules/agents/agents.module.js.map +1 -1
  103. package/dist/modules/agents/agents.service.d.ts +7 -8
  104. package/dist/modules/agents/agents.service.js +120 -65
  105. package/dist/modules/agents/agents.service.js.map +1 -1
  106. package/dist/modules/agents/builder/agents-builder-model-recommendations.d.ts +1 -1
  107. package/dist/modules/agents/builder/agents-builder-model-recommendations.js +3 -3
  108. package/dist/modules/agents/builder/agents-builder-model-recommendations.js.map +1 -1
  109. package/dist/modules/agents/builder/agents-builder-prompts.d.ts +9 -17
  110. package/dist/modules/agents/builder/agents-builder-prompts.js +145 -549
  111. package/dist/modules/agents/builder/agents-builder-prompts.js.map +1 -1
  112. package/dist/modules/agents/builder/agents-builder-settings.service.js +2 -2
  113. package/dist/modules/agents/builder/agents-builder-settings.service.js.map +1 -1
  114. package/dist/modules/agents/builder/agents-builder-tools.service.js +10 -10
  115. package/dist/modules/agents/builder/agents-builder-tools.service.js.map +1 -1
  116. package/dist/modules/agents/builder/agents-builder.service.d.ts +3 -1
  117. package/dist/modules/agents/builder/agents-builder.service.js +58 -9
  118. package/dist/modules/agents/builder/agents-builder.service.js.map +1 -1
  119. package/dist/modules/agents/builder/interactive/ask-credential.tool.js +2 -2
  120. package/dist/modules/agents/builder/interactive/ask-credential.tool.js.map +1 -1
  121. package/dist/modules/agents/builder/interactive/ask-llm.tool.js +2 -2
  122. package/dist/modules/agents/builder/interactive/ask-llm.tool.js.map +1 -1
  123. package/dist/modules/agents/builder/interactive/ask-question.tool.js +2 -2
  124. package/dist/modules/agents/builder/interactive/ask-question.tool.js.map +1 -1
  125. package/dist/modules/agents/builder/interactive/resolve-llm.tool.js +2 -2
  126. package/dist/modules/agents/builder/interactive/resolve-llm.tool.js.map +1 -1
  127. package/dist/modules/agents/builder/prompts/config-mutation.prompt.d.ts +1 -0
  128. package/dist/modules/agents/builder/prompts/config-mutation.prompt.js +132 -0
  129. package/dist/modules/agents/builder/prompts/config-mutation.prompt.js.map +1 -0
  130. package/dist/modules/agents/builder/prompts/config-rules.prompt.d.ts +2 -0
  131. package/dist/modules/agents/builder/prompts/config-rules.prompt.js +63 -0
  132. package/dist/modules/agents/builder/prompts/config-rules.prompt.js.map +1 -0
  133. package/dist/modules/agents/builder/prompts/llm-selection.prompt.d.ts +1 -0
  134. package/dist/modules/agents/builder/prompts/llm-selection.prompt.js +47 -0
  135. package/dist/modules/agents/builder/prompts/llm-selection.prompt.js.map +1 -0
  136. package/dist/modules/agents/builder/prompts/memory.prompt.d.ts +1 -0
  137. package/dist/modules/agents/builder/prompts/memory.prompt.js +60 -0
  138. package/dist/modules/agents/builder/prompts/memory.prompt.js.map +1 -0
  139. package/dist/modules/agents/builder/prompts/tools.prompt.d.ts +1 -0
  140. package/dist/modules/agents/builder/prompts/tools.prompt.js +81 -0
  141. package/dist/modules/agents/builder/prompts/tools.prompt.js.map +1 -0
  142. package/dist/modules/agents/builder/skills/index.d.ts +2 -0
  143. package/dist/modules/agents/builder/skills/index.js +12 -0
  144. package/dist/modules/agents/builder/skills/index.js.map +1 -0
  145. package/dist/modules/agents/builder/skills/integrations.skill.d.ts +2 -0
  146. package/dist/modules/agents/builder/skills/integrations.skill.js +53 -0
  147. package/dist/modules/agents/builder/skills/integrations.skill.js.map +1 -0
  148. package/dist/modules/agents/builder/skills/research.skill.d.ts +2 -0
  149. package/dist/modules/agents/builder/skills/research.skill.js +42 -0
  150. package/dist/modules/agents/builder/skills/research.skill.js.map +1 -0
  151. package/dist/modules/agents/builder/skills/target-skills.skill.d.ts +2 -0
  152. package/dist/modules/agents/builder/skills/target-skills.skill.js +59 -0
  153. package/dist/modules/agents/builder/skills/target-skills.skill.js.map +1 -0
  154. package/dist/modules/agents/entities/{agent-published-version.entity.d.ts → agent-history.entity.d.ts} +4 -7
  155. package/dist/modules/agents/entities/{agent-published-version.entity.js → agent-history.entity.js} +22 -34
  156. package/dist/modules/agents/entities/agent-history.entity.js.map +1 -0
  157. package/dist/modules/agents/entities/agent-memory-entry-cursor.entity.d.ts +7 -0
  158. package/dist/modules/agents/entities/agent-memory-entry-cursor.entity.js +38 -0
  159. package/dist/modules/agents/entities/agent-memory-entry-cursor.entity.js.map +1 -0
  160. package/dist/modules/agents/entities/agent-memory-entry-lock.entity.d.ts +7 -0
  161. package/dist/modules/{instance-ai/entities/instance-ai-workflow-snapshot.entity.js → agents/entities/agent-memory-entry-lock.entity.js} +16 -19
  162. package/dist/modules/agents/entities/agent-memory-entry-lock.entity.js.map +1 -0
  163. package/dist/modules/agents/entities/agent-memory-entry-source.entity.d.ts +9 -0
  164. package/dist/modules/agents/entities/agent-memory-entry-source.entity.js +49 -0
  165. package/dist/modules/agents/entities/agent-memory-entry-source.entity.js.map +1 -0
  166. package/dist/modules/agents/entities/agent-memory-entry.entity.d.ts +15 -0
  167. package/dist/modules/agents/entities/agent-memory-entry.entity.js +65 -0
  168. package/dist/modules/agents/entities/agent-memory-entry.entity.js.map +1 -0
  169. package/dist/modules/agents/entities/agent-observation-cursor.entity.d.ts +2 -3
  170. package/dist/modules/agents/entities/agent-observation-cursor.entity.js +5 -4
  171. package/dist/modules/agents/entities/agent-observation-cursor.entity.js.map +1 -1
  172. package/dist/modules/agents/entities/agent-observation-lock.entity.d.ts +2 -3
  173. package/dist/modules/agents/entities/agent-observation-lock.entity.js +5 -4
  174. package/dist/modules/agents/entities/agent-observation-lock.entity.js.map +1 -1
  175. package/dist/modules/agents/entities/agent-observation.entity.d.ts +2 -3
  176. package/dist/modules/agents/entities/agent-observation.entity.js +6 -5
  177. package/dist/modules/agents/entities/agent-observation.entity.js.map +1 -1
  178. package/dist/modules/agents/entities/agent.entity.d.ts +3 -5
  179. package/dist/modules/agents/entities/agent.entity.js +7 -14
  180. package/dist/modules/agents/entities/agent.entity.js.map +1 -1
  181. package/dist/modules/agents/episodic-memory.d.ts +2 -0
  182. package/dist/modules/agents/episodic-memory.js +12 -0
  183. package/dist/modules/agents/episodic-memory.js.map +1 -0
  184. package/dist/modules/agents/integrations/agent-chat-bridge.d.ts +2 -1
  185. package/dist/modules/agents/integrations/agent-chat-bridge.js +19 -5
  186. package/dist/modules/agents/integrations/agent-chat-bridge.js.map +1 -1
  187. package/dist/modules/agents/integrations/agent-schedule.service.js +10 -6
  188. package/dist/modules/agents/integrations/agent-schedule.service.js.map +1 -1
  189. package/dist/modules/agents/integrations/chat-integration.service.js +1 -1
  190. package/dist/modules/agents/integrations/chat-integration.service.js.map +1 -1
  191. package/dist/modules/agents/integrations/n8n-memory.d.ts +41 -18
  192. package/dist/modules/agents/integrations/n8n-memory.js +519 -77
  193. package/dist/modules/agents/integrations/n8n-memory.js.map +1 -1
  194. package/dist/modules/agents/integrations/platforms/slack-integration.js +2 -12
  195. package/dist/modules/agents/integrations/platforms/slack-integration.js.map +1 -1
  196. package/dist/modules/agents/integrations/rich-interaction-tool.d.ts +1 -1
  197. package/dist/modules/agents/integrations/rich-interaction-tool.js +2 -2
  198. package/dist/modules/agents/integrations/rich-interaction-tool.js.map +1 -1
  199. package/dist/modules/agents/integrations/slack-app-setup.service.d.ts +52 -0
  200. package/dist/modules/agents/integrations/slack-app-setup.service.js +316 -0
  201. package/dist/modules/agents/integrations/slack-app-setup.service.js.map +1 -0
  202. package/dist/modules/agents/json-config/from-json-config.d.ts +2 -3
  203. package/dist/modules/agents/json-config/from-json-config.js +76 -61
  204. package/dist/modules/agents/json-config/from-json-config.js.map +1 -1
  205. package/dist/modules/agents/json-config/schema-text-serializer.js +2 -1
  206. package/dist/modules/agents/json-config/schema-text-serializer.js.map +1 -1
  207. package/dist/modules/agents/repositories/agent-history.repository.d.ts +19 -0
  208. package/dist/modules/agents/repositories/agent-history.repository.js +51 -0
  209. package/dist/modules/agents/repositories/agent-history.repository.js.map +1 -0
  210. package/dist/modules/agents/repositories/agent-memory-entry-cursor.repository.d.ts +5 -0
  211. package/dist/modules/{instance-ai/repositories/instance-ai-workflow-snapshot.repository.js → agents/repositories/agent-memory-entry-cursor.repository.js} +8 -8
  212. package/dist/modules/agents/repositories/agent-memory-entry-cursor.repository.js.map +1 -0
  213. package/dist/modules/agents/repositories/agent-memory-entry-lock.repository.d.ts +5 -0
  214. package/dist/modules/{instance-ai/repositories/instance-ai-observational-memory.repository.js → agents/repositories/agent-memory-entry-lock.repository.js} +8 -8
  215. package/dist/modules/agents/repositories/agent-memory-entry-lock.repository.js.map +1 -0
  216. package/dist/modules/agents/repositories/agent-memory-entry-source.repository.d.ts +5 -0
  217. package/dist/modules/agents/repositories/agent-memory-entry-source.repository.js +26 -0
  218. package/dist/modules/agents/repositories/agent-memory-entry-source.repository.js.map +1 -0
  219. package/dist/modules/agents/repositories/agent-memory-entry.repository.d.ts +5 -0
  220. package/dist/modules/agents/repositories/agent-memory-entry.repository.js +26 -0
  221. package/dist/modules/agents/repositories/agent-memory-entry.repository.js.map +1 -0
  222. package/dist/modules/agents/repositories/agent.repository.js +3 -3
  223. package/dist/modules/agents/repositories/agent.repository.js.map +1 -1
  224. package/dist/modules/agents/runtime/agent-secure-runtime.js +5 -5
  225. package/dist/modules/agents/runtime/agent-secure-runtime.js.map +1 -1
  226. package/dist/modules/agents/tools/environment-tool.d.ts +1 -1
  227. package/dist/modules/agents/tools/environment-tool.js +3 -3
  228. package/dist/modules/agents/tools/environment-tool.js.map +1 -1
  229. package/dist/modules/agents/tools/node-tool-factory.js +5 -5
  230. package/dist/modules/agents/tools/node-tool-factory.js.map +1 -1
  231. package/dist/modules/agents/tools/workflow-tool-factory.js +3 -3
  232. package/dist/modules/agents/tools/workflow-tool-factory.js.map +1 -1
  233. package/dist/modules/agents/tracing/builder-telemetry.d.ts +2 -3
  234. package/dist/modules/agents/tracing/builder-telemetry.js +36 -3
  235. package/dist/modules/agents/tracing/builder-telemetry.js.map +1 -1
  236. package/dist/modules/agents/utils/agent-draft.utils.js +1 -2
  237. package/dist/modules/agents/utils/agent-draft.utils.js.map +1 -1
  238. package/dist/modules/agents/utils/agent-memory-scope.d.ts +3 -0
  239. package/dist/modules/agents/utils/agent-memory-scope.js +15 -0
  240. package/dist/modules/agents/utils/agent-memory-scope.js.map +1 -0
  241. package/dist/modules/chat-hub/chat-hub.constants.js +4 -0
  242. package/dist/modules/chat-hub/chat-hub.constants.js.map +1 -1
  243. package/dist/modules/chat-hub/context-limits.js +1 -0
  244. package/dist/modules/chat-hub/context-limits.js.map +1 -1
  245. package/dist/modules/dynamic-credentials.ee/constants.d.ts +3 -0
  246. package/dist/modules/dynamic-credentials.ee/constants.js +7 -0
  247. package/dist/modules/dynamic-credentials.ee/constants.js.map +1 -0
  248. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/n8n-identifier.js +14 -2
  249. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/n8n-identifier.js.map +1 -1
  250. package/dist/modules/dynamic-credentials.ee/credential-resolvers.controller.d.ts +2 -2
  251. package/dist/modules/dynamic-credentials.ee/credential-resolvers.controller.js +18 -4
  252. package/dist/modules/dynamic-credentials.ee/credential-resolvers.controller.js.map +1 -1
  253. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.module.d.ts +1 -1
  254. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.module.js +4 -1
  255. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.module.js.map +1 -1
  256. package/dist/modules/dynamic-credentials.ee/errors/system-resolver-modification.error.d.ts +4 -0
  257. package/dist/modules/dynamic-credentials.ee/errors/system-resolver-modification.error.js +11 -0
  258. package/dist/modules/dynamic-credentials.ee/errors/system-resolver-modification.error.js.map +1 -0
  259. package/dist/modules/dynamic-credentials.ee/services/credential-connection-status.service.d.ts +7 -0
  260. package/dist/modules/dynamic-credentials.ee/services/credential-connection-status.service.js +40 -0
  261. package/dist/modules/dynamic-credentials.ee/services/credential-connection-status.service.js.map +1 -0
  262. package/dist/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.d.ts +3 -1
  263. package/dist/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.js +6 -3
  264. package/dist/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.js.map +1 -1
  265. package/dist/modules/dynamic-credentials.ee/services/credential-resolver.service.d.ts +2 -0
  266. package/dist/modules/dynamic-credentials.ee/services/credential-resolver.service.js +22 -0
  267. package/dist/modules/dynamic-credentials.ee/services/credential-resolver.service.js.map +1 -1
  268. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-storage.service.d.ts +3 -1
  269. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-storage.service.js +7 -3
  270. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-storage.service.js.map +1 -1
  271. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential.service.d.ts +4 -1
  272. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential.service.js +11 -3
  273. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential.service.js.map +1 -1
  274. package/dist/modules/dynamic-credentials.ee/services/index.d.ts +2 -0
  275. package/dist/modules/dynamic-credentials.ee/services/index.js +2 -0
  276. package/dist/modules/dynamic-credentials.ee/services/index.js.map +1 -1
  277. package/dist/modules/dynamic-credentials.ee/services/n8n-resolver-seeder.service.d.ts +14 -0
  278. package/dist/modules/dynamic-credentials.ee/services/n8n-resolver-seeder.service.js +70 -0
  279. package/dist/modules/dynamic-credentials.ee/services/n8n-resolver-seeder.service.js.map +1 -0
  280. package/dist/modules/insights/insights-collection.service.js +1 -1
  281. package/dist/modules/insights/insights-collection.service.js.map +1 -1
  282. package/dist/modules/instance-ai/entities/index.d.ts +6 -2
  283. package/dist/modules/instance-ai/entities/index.js +9 -5
  284. package/dist/modules/instance-ai/entities/index.js.map +1 -1
  285. package/dist/modules/instance-ai/entities/instance-ai-checkpoint.entity.d.ts +12 -0
  286. package/dist/modules/instance-ai/entities/instance-ai-checkpoint.entity.js +54 -0
  287. package/dist/modules/instance-ai/entities/instance-ai-checkpoint.entity.js.map +1 -0
  288. package/dist/modules/instance-ai/entities/instance-ai-observation-cursor.entity.d.ts +6 -0
  289. package/dist/modules/instance-ai/entities/instance-ai-observation-cursor.entity.js +33 -0
  290. package/dist/modules/instance-ai/entities/instance-ai-observation-cursor.entity.js.map +1 -0
  291. package/dist/modules/instance-ai/entities/instance-ai-observation-lock.entity.d.ts +8 -0
  292. package/dist/modules/instance-ai/entities/instance-ai-observation-lock.entity.js +37 -0
  293. package/dist/modules/instance-ai/entities/instance-ai-observation-lock.entity.js.map +1 -0
  294. package/dist/modules/instance-ai/entities/instance-ai-observation.entity.d.ts +12 -0
  295. package/dist/modules/instance-ai/entities/instance-ai-observation.entity.js +52 -0
  296. package/dist/modules/instance-ai/entities/instance-ai-observation.entity.js.map +1 -0
  297. package/dist/modules/instance-ai/entities/instance-ai-pending-confirmation.entity.d.ts +19 -0
  298. package/dist/modules/instance-ai/entities/instance-ai-pending-confirmation.entity.js +82 -0
  299. package/dist/modules/instance-ai/entities/instance-ai-pending-confirmation.entity.js.map +1 -0
  300. package/dist/modules/instance-ai/entities/instance-ai-run-snapshot.entity.d.ts +2 -0
  301. package/dist/modules/instance-ai/entities/instance-ai-run-snapshot.entity.js +8 -0
  302. package/dist/modules/instance-ai/entities/instance-ai-run-snapshot.entity.js.map +1 -1
  303. package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.d.ts +12 -2
  304. package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.js +40 -4
  305. package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.js.map +1 -1
  306. package/dist/modules/instance-ai/eval/execution.service.d.ts +8 -2
  307. package/dist/modules/instance-ai/eval/execution.service.js +137 -47
  308. package/dist/modules/instance-ai/eval/execution.service.js.map +1 -1
  309. package/dist/modules/instance-ai/eval/llm-wire-server.d.ts +31 -0
  310. package/dist/modules/instance-ai/eval/llm-wire-server.js +127 -0
  311. package/dist/modules/instance-ai/eval/llm-wire-server.js.map +1 -0
  312. package/dist/modules/instance-ai/eval/openai-envelope.d.ts +6 -0
  313. package/dist/modules/instance-ai/eval/openai-envelope.js +96 -0
  314. package/dist/modules/instance-ai/eval/openai-envelope.js.map +1 -0
  315. package/dist/modules/instance-ai/eval/proxy-loopback.d.ts +1 -0
  316. package/dist/modules/instance-ai/eval/proxy-loopback.js +44 -0
  317. package/dist/modules/instance-ai/eval/proxy-loopback.js.map +1 -0
  318. package/dist/modules/instance-ai/eval/sub-agent-eval.service.js +29 -7
  319. package/dist/modules/instance-ai/eval/sub-agent-eval.service.js.map +1 -1
  320. package/dist/modules/instance-ai/eval/workflow-analysis.d.ts +7 -1
  321. package/dist/modules/instance-ai/eval/workflow-analysis.js +178 -3
  322. package/dist/modules/instance-ai/eval/workflow-analysis.js.map +1 -1
  323. package/dist/modules/instance-ai/instance-ai-memory.service.d.ts +6 -6
  324. package/dist/modules/instance-ai/instance-ai-memory.service.js +44 -85
  325. package/dist/modules/instance-ai/instance-ai-memory.service.js.map +1 -1
  326. package/dist/modules/instance-ai/instance-ai-settings.service.d.ts +2 -1
  327. package/dist/modules/instance-ai/instance-ai-settings.service.js +11 -22
  328. package/dist/modules/instance-ai/instance-ai-settings.service.js.map +1 -1
  329. package/dist/modules/instance-ai/instance-ai.adapter.service.d.ts +2 -0
  330. package/dist/modules/instance-ai/instance-ai.adapter.service.js +105 -13
  331. package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -1
  332. package/dist/modules/instance-ai/instance-ai.module.d.ts +1 -1
  333. package/dist/modules/instance-ai/instance-ai.module.js +10 -6
  334. package/dist/modules/instance-ai/instance-ai.module.js.map +1 -1
  335. package/dist/modules/instance-ai/instance-ai.service.d.ts +34 -12
  336. package/dist/modules/instance-ai/instance-ai.service.js +724 -264
  337. package/dist/modules/instance-ai/instance-ai.service.js.map +1 -1
  338. package/dist/modules/instance-ai/liveness/instance-ai-liveness.service.d.ts +4 -1
  339. package/dist/modules/instance-ai/liveness/instance-ai-liveness.service.js +3 -1
  340. package/dist/modules/instance-ai/liveness/instance-ai-liveness.service.js.map +1 -1
  341. package/dist/modules/instance-ai/message-parser.d.ts +3 -3
  342. package/dist/modules/instance-ai/message-parser.js +65 -61
  343. package/dist/modules/instance-ai/message-parser.js.map +1 -1
  344. package/dist/modules/instance-ai/node-definition-resolver.js +12 -48
  345. package/dist/modules/instance-ai/node-definition-resolver.js.map +1 -1
  346. package/dist/modules/instance-ai/repositories/index.d.ts +4 -2
  347. package/dist/modules/instance-ai/repositories/index.js +9 -5
  348. package/dist/modules/instance-ai/repositories/index.js.map +1 -1
  349. package/dist/modules/instance-ai/repositories/instance-ai-checkpoint.repository.d.ts +5 -0
  350. package/dist/modules/instance-ai/repositories/instance-ai-checkpoint.repository.js +26 -0
  351. package/dist/modules/instance-ai/repositories/instance-ai-checkpoint.repository.js.map +1 -0
  352. package/dist/modules/instance-ai/repositories/instance-ai-observation-cursor.repository.d.ts +5 -0
  353. package/dist/modules/instance-ai/repositories/instance-ai-observation-cursor.repository.js +26 -0
  354. package/dist/modules/instance-ai/repositories/instance-ai-observation-cursor.repository.js.map +1 -0
  355. package/dist/modules/instance-ai/repositories/instance-ai-observation-lock.repository.d.ts +5 -0
  356. package/dist/modules/instance-ai/repositories/instance-ai-observation-lock.repository.js +26 -0
  357. package/dist/modules/instance-ai/repositories/instance-ai-observation-lock.repository.js.map +1 -0
  358. package/dist/modules/instance-ai/repositories/instance-ai-observation.repository.d.ts +5 -0
  359. package/dist/modules/{agents/repositories/agent-published-version.repository.js → instance-ai/repositories/instance-ai-observation.repository.js} +8 -17
  360. package/dist/modules/instance-ai/repositories/instance-ai-observation.repository.js.map +1 -0
  361. package/dist/modules/instance-ai/storage/db-snapshot-storage.d.ts +2 -0
  362. package/dist/modules/instance-ai/storage/db-snapshot-storage.js +12 -2
  363. package/dist/modules/instance-ai/storage/db-snapshot-storage.js.map +1 -1
  364. package/dist/modules/instance-ai/storage/index.d.ts +2 -3
  365. package/dist/modules/instance-ai/storage/index.js +5 -7
  366. package/dist/modules/instance-ai/storage/index.js.map +1 -1
  367. package/dist/modules/instance-ai/storage/typeorm-agent-checkpoint-store.d.ts +15 -0
  368. package/dist/modules/instance-ai/storage/typeorm-agent-checkpoint-store.js +94 -0
  369. package/dist/modules/instance-ai/storage/typeorm-agent-checkpoint-store.js.map +1 -0
  370. package/dist/modules/instance-ai/storage/typeorm-agent-memory.d.ts +94 -0
  371. package/dist/modules/instance-ai/storage/typeorm-agent-memory.js +324 -0
  372. package/dist/modules/instance-ai/storage/typeorm-agent-memory.js.map +1 -0
  373. package/dist/modules/instance-ai/storage/typeorm-observation-log-store.d.ts +37 -0
  374. package/dist/modules/instance-ai/storage/typeorm-observation-log-store.js +212 -0
  375. package/dist/modules/instance-ai/storage/typeorm-observation-log-store.js.map +1 -0
  376. package/dist/modules/instance-ai/web-research/fetch-and-extract.js +34 -11
  377. package/dist/modules/instance-ai/web-research/fetch-and-extract.js.map +1 -1
  378. package/dist/modules/mcp/mcp.service.js +5 -5
  379. package/dist/modules/mcp/mcp.service.js.map +1 -1
  380. package/dist/modules/mcp/tools/schemas.d.ts +24 -24
  381. package/dist/modules/mcp/tools/search-projects.tool.js +59 -13
  382. package/dist/modules/mcp/tools/search-projects.tool.js.map +1 -1
  383. package/dist/modules/mcp/tools/test-workflow.tool.d.ts +2 -2
  384. package/dist/modules/mcp/tools/workflow-builder/connection-structure-check.d.ts +35 -0
  385. package/dist/modules/mcp/tools/workflow-builder/connection-structure-check.js +88 -0
  386. package/dist/modules/mcp/tools/workflow-builder/connection-structure-check.js.map +1 -0
  387. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.d.ts +3 -2
  388. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js +41 -9
  389. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js.map +1 -1
  390. package/dist/modules/mcp/tools/workflow-builder/data-table-validation.d.ts +13 -0
  391. package/dist/modules/mcp/tools/workflow-builder/data-table-validation.js +87 -0
  392. package/dist/modules/mcp/tools/workflow-builder/data-table-validation.js.map +1 -0
  393. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.d.ts +2 -1
  394. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js +42 -6
  395. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js.map +1 -1
  396. package/dist/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.d.ts +2 -1
  397. package/dist/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.js +5 -1
  398. package/dist/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.js.map +1 -1
  399. package/dist/modules/mcp/tools/workflow-validation.utils.js +1 -1
  400. package/dist/modules/mcp/tools/workflow-validation.utils.js.map +1 -1
  401. package/dist/modules/mcp-registry/mcp-registry-test.controller.js +5 -1
  402. package/dist/modules/mcp-registry/mcp-registry-test.controller.js.map +1 -1
  403. package/dist/modules/n8n-packages/entities/workflow/workflow.exporter.d.ts +18 -0
  404. package/dist/modules/n8n-packages/entities/workflow/workflow.exporter.js +73 -0
  405. package/dist/modules/n8n-packages/entities/workflow/workflow.exporter.js.map +1 -0
  406. package/dist/modules/n8n-packages/entities/workflow/workflow.serializer.d.ts +5 -0
  407. package/dist/modules/n8n-packages/entities/workflow/workflow.serializer.js +31 -0
  408. package/dist/modules/n8n-packages/entities/workflow/workflow.serializer.js.map +1 -0
  409. package/dist/modules/n8n-packages/io/package-writer.d.ts +6 -0
  410. package/dist/{scaling/multi-main-setup.types.js → modules/n8n-packages/io/package-writer.js} +1 -1
  411. package/dist/modules/n8n-packages/io/package-writer.js.map +1 -0
  412. package/dist/modules/n8n-packages/io/slug.utils.d.ts +1 -0
  413. package/dist/modules/n8n-packages/io/slug.utils.js +16 -0
  414. package/dist/modules/n8n-packages/io/slug.utils.js.map +1 -0
  415. package/dist/modules/n8n-packages/io/tar/tar-package-writer.d.ts +9 -0
  416. package/dist/modules/n8n-packages/io/tar/tar-package-writer.js +71 -0
  417. package/dist/modules/n8n-packages/io/tar/tar-package-writer.js.map +1 -0
  418. package/dist/modules/n8n-packages/n8n-packages.controller.d.ts +10 -0
  419. package/dist/modules/n8n-packages/n8n-packages.controller.js +45 -0
  420. package/dist/modules/n8n-packages/n8n-packages.controller.js.map +1 -0
  421. package/dist/modules/{inbound-secrets/inbound-secrets.module.d.ts → n8n-packages/n8n-packages.module.d.ts} +1 -1
  422. package/dist/modules/{inbound-secrets/inbound-secrets.module.js → n8n-packages/n8n-packages.module.js} +12 -16
  423. package/dist/modules/n8n-packages/n8n-packages.module.js.map +1 -0
  424. package/dist/modules/n8n-packages/n8n-packages.service.d.ts +10 -0
  425. package/dist/modules/n8n-packages/n8n-packages.service.js +49 -0
  426. package/dist/modules/n8n-packages/n8n-packages.service.js.map +1 -0
  427. package/dist/modules/n8n-packages/n8n-packages.types.d.ts +5 -0
  428. package/dist/modules/n8n-packages/n8n-packages.types.js +3 -0
  429. package/dist/modules/n8n-packages/n8n-packages.types.js.map +1 -0
  430. package/dist/modules/n8n-packages/spec/constants.d.ts +1 -0
  431. package/dist/modules/n8n-packages/spec/constants.js +5 -0
  432. package/dist/modules/n8n-packages/spec/constants.js.map +1 -0
  433. package/dist/modules/n8n-packages/spec/manifest.schema.d.ts +55 -0
  434. package/dist/modules/n8n-packages/spec/manifest.schema.js +17 -0
  435. package/dist/modules/n8n-packages/spec/manifest.schema.js.map +1 -0
  436. package/dist/modules/n8n-packages/spec/serialized/workflow.schema.d.ts +169 -0
  437. package/dist/modules/n8n-packages/spec/serialized/workflow.schema.js +46 -0
  438. package/dist/modules/n8n-packages/spec/serialized/workflow.schema.js.map +1 -0
  439. package/dist/modules/oauth-jwe/oauth-jwe-decrypt.service.d.ts +5 -1
  440. package/dist/modules/oauth-jwe/oauth-jwe-decrypt.service.js +18 -2
  441. package/dist/modules/oauth-jwe/oauth-jwe-decrypt.service.js.map +1 -1
  442. package/dist/modules/oauth-jwe/oauth-jwe.utils.js +27 -2
  443. package/dist/modules/oauth-jwe/oauth-jwe.utils.js.map +1 -1
  444. package/dist/modules/otel/execution-level-tracer.js +1 -0
  445. package/dist/modules/otel/execution-level-tracer.js.map +1 -1
  446. package/dist/modules/otel/execution-level-tracer.types.d.ts +11 -6
  447. package/dist/modules/otel/execution-level-tracer.types.js.map +1 -1
  448. package/dist/modules/otel/otel-lifecycle-handler.d.ts +5 -1
  449. package/dist/modules/otel/otel-lifecycle-handler.js +30 -2
  450. package/dist/modules/otel/otel-lifecycle-handler.js.map +1 -1
  451. package/dist/modules/otel/otel.constants.d.ts +1 -0
  452. package/dist/modules/otel/otel.constants.js +1 -0
  453. package/dist/modules/otel/otel.constants.js.map +1 -1
  454. package/dist/modules/runtime-credentials/path-traversal.js.map +1 -0
  455. package/dist/modules/runtime-credentials/runtime-credentials-access.service.d.ts +8 -0
  456. package/dist/modules/runtime-credentials/runtime-credentials-access.service.js +35 -0
  457. package/dist/modules/runtime-credentials/runtime-credentials-access.service.js.map +1 -0
  458. package/dist/modules/{inbound-secrets/inbound-secrets-context-hook.d.ts → runtime-credentials/runtime-credentials-context-hook.d.ts} +4 -5
  459. package/dist/modules/{inbound-secrets/inbound-secrets-context-hook.js → runtime-credentials/runtime-credentials-context-hook.js} +14 -22
  460. package/dist/modules/runtime-credentials/runtime-credentials-context-hook.js.map +1 -0
  461. package/dist/modules/runtime-credentials/runtime-credentials.config.d.ts +3 -0
  462. package/dist/modules/{inbound-secrets/inbound-secrets.config.js → runtime-credentials/runtime-credentials.config.js} +7 -7
  463. package/dist/modules/runtime-credentials/runtime-credentials.config.js.map +1 -0
  464. package/dist/modules/runtime-credentials/runtime-credentials.module.d.ts +4 -0
  465. package/dist/modules/runtime-credentials/runtime-credentials.module.js +65 -0
  466. package/dist/modules/runtime-credentials/runtime-credentials.module.js.map +1 -0
  467. package/dist/modules/runtime-credentials/runtime-credentials.schemas.d.ts +23 -0
  468. package/dist/modules/runtime-credentials/runtime-credentials.schemas.js +10 -0
  469. package/dist/modules/runtime-credentials/runtime-credentials.schemas.js.map +1 -0
  470. package/dist/modules/runtime-credentials/runtime-credentials.service.d.ts +18 -0
  471. package/dist/modules/{inbound-secrets/inbound-secrets.service.js → runtime-credentials/runtime-credentials.service.js} +31 -28
  472. package/dist/modules/runtime-credentials/runtime-credentials.service.js.map +1 -0
  473. package/dist/modules/source-control.ee/source-control-export.service.ee.d.ts +1 -1
  474. package/dist/modules/source-control.ee/source-control-export.service.ee.js +3 -1
  475. package/dist/modules/source-control.ee/source-control-export.service.ee.js.map +1 -1
  476. package/dist/modules/source-control.ee/source-control-import.service.ee.d.ts +2 -2
  477. package/dist/modules/source-control.ee/source-control-import.service.ee.js +29 -8
  478. package/dist/modules/source-control.ee/source-control-import.service.ee.js.map +1 -1
  479. package/dist/modules/source-control.ee/source-control-status.service.ee.js +4 -4
  480. package/dist/modules/source-control.ee/source-control-status.service.ee.js.map +1 -1
  481. package/dist/modules/source-control.ee/source-control.controller.ee.d.ts +2 -2
  482. package/dist/modules/source-control.ee/source-control.service.ee.d.ts +1 -1
  483. package/dist/modules/source-control.ee/types/exportable-workflow.d.ts +2 -1
  484. package/dist/modules/sso-saml/saml.service.ee.js +5 -1
  485. package/dist/modules/sso-saml/saml.service.ee.js.map +1 -1
  486. package/dist/modules/workflow-index/workflow-dependency.controller.d.ts +1 -4
  487. package/dist/modules/workflow-index/workflow-dependency.controller.js +2 -13
  488. package/dist/modules/workflow-index/workflow-dependency.controller.js.map +1 -1
  489. package/dist/node-catalog/node-catalog.service.d.ts +1 -2
  490. package/dist/node-catalog/node-catalog.service.js +6 -10
  491. package/dist/node-catalog/node-catalog.service.js.map +1 -1
  492. package/dist/node-execution/ephemeral-node-executor.js +19 -11
  493. package/dist/node-execution/ephemeral-node-executor.js.map +1 -1
  494. package/dist/oauth/oauth-jwe-service.proxy.d.ts +12 -2
  495. package/dist/oauth/oauth-jwe-service.proxy.js +5 -0
  496. package/dist/oauth/oauth-jwe-service.proxy.js.map +1 -1
  497. package/dist/oauth/oauth.service.d.ts +6 -1
  498. package/dist/oauth/oauth.service.js +42 -4
  499. package/dist/oauth/oauth.service.js.map +1 -1
  500. package/dist/permissions.ee/check-access.d.ts +2 -2
  501. package/dist/permissions.ee/check-access.js +15 -11
  502. package/dist/permissions.ee/check-access.js.map +1 -1
  503. package/dist/posthog/index.d.ts +2 -0
  504. package/dist/posthog/index.js +28 -6
  505. package/dist/posthog/index.js.map +1 -1
  506. package/dist/public-api/v1/handlers/n8n-packages/n8n-packages.handler.d.ts +10 -0
  507. package/dist/public-api/v1/handlers/n8n-packages/n8n-packages.handler.js +42 -0
  508. package/dist/public-api/v1/handlers/n8n-packages/n8n-packages.handler.js.map +1 -0
  509. package/dist/public-api/v1/openapi.yml +55 -0
  510. package/dist/requests.d.ts +1 -1
  511. package/dist/scaling/constants.js +3 -0
  512. package/dist/scaling/constants.js.map +1 -1
  513. package/dist/scaling/multi-main-setup.ee.d.ts +12 -7
  514. package/dist/scaling/multi-main-setup.ee.js +125 -22
  515. package/dist/scaling/multi-main-setup.ee.js.map +1 -1
  516. package/dist/server.d.ts +1 -0
  517. package/dist/server.js +3 -4
  518. package/dist/server.js.map +1 -1
  519. package/dist/services/dynamic-node-parameters.service.d.ts +0 -1
  520. package/dist/services/dynamic-node-parameters.service.js +6 -14
  521. package/dist/services/dynamic-node-parameters.service.js.map +1 -1
  522. package/dist/services/frontend.service.js +1 -1
  523. package/dist/services/frontend.service.js.map +1 -1
  524. package/dist/services/import.service.js +3 -1
  525. package/dist/services/import.service.js.map +1 -1
  526. package/dist/services/proxy-token-manager.js +2 -13
  527. package/dist/services/proxy-token-manager.js.map +1 -1
  528. package/dist/services/runtime-credential-proxy.service.d.ts +9 -0
  529. package/dist/services/runtime-credential-proxy.service.js +29 -0
  530. package/dist/services/runtime-credential-proxy.service.js.map +1 -0
  531. package/dist/services/url.service.d.ts +1 -0
  532. package/dist/services/url.service.js +3 -0
  533. package/dist/services/url.service.js.map +1 -1
  534. package/dist/telemetry/index.d.ts +4 -1
  535. package/dist/telemetry/index.js +16 -8
  536. package/dist/telemetry/index.js.map +1 -1
  537. package/dist/utils.d.ts +2 -1
  538. package/dist/utils.js +10 -0
  539. package/dist/utils.js.map +1 -1
  540. package/dist/webhooks/live-webhooks.js +2 -2
  541. package/dist/webhooks/live-webhooks.js.map +1 -1
  542. package/dist/webhooks/webhook-helpers.js +1 -1
  543. package/dist/webhooks/webhook-helpers.js.map +1 -1
  544. package/dist/workflow-execute-additional-data.d.ts +3 -1
  545. package/dist/workflow-execute-additional-data.js +26 -3
  546. package/dist/workflow-execute-additional-data.js.map +1 -1
  547. package/dist/workflow-helpers.d.ts +3 -1
  548. package/dist/workflow-helpers.js +39 -5
  549. package/dist/workflow-helpers.js.map +1 -1
  550. package/dist/workflow-hook-context.service.d.ts +6 -0
  551. package/dist/workflow-hook-context.service.js +32 -0
  552. package/dist/workflow-hook-context.service.js.map +1 -0
  553. package/dist/workflow-runner.js +2 -1
  554. package/dist/workflow-runner.js.map +1 -1
  555. package/dist/workflows/utils.d.ts +3 -0
  556. package/dist/workflows/utils.js +19 -0
  557. package/dist/workflows/utils.js.map +1 -1
  558. package/dist/workflows/workflow-creation.service.js +4 -2
  559. package/dist/workflows/workflow-creation.service.js.map +1 -1
  560. package/dist/workflows/workflow-execution.service.d.ts +4 -3
  561. package/dist/workflows/workflow-execution.service.js +8 -3
  562. package/dist/workflows/workflow-execution.service.js.map +1 -1
  563. package/dist/workflows/workflow-finder.service.d.ts +6 -2
  564. package/dist/workflows/workflow-finder.service.js +18 -0
  565. package/dist/workflows/workflow-finder.service.js.map +1 -1
  566. package/dist/workflows/workflow-history/workflow-history.controller.d.ts +1 -1
  567. package/dist/workflows/workflow-history/workflow-history.service.d.ts +2 -1
  568. package/dist/workflows/workflow-history/workflow-history.service.js +1 -0
  569. package/dist/workflows/workflow-history/workflow-history.service.js.map +1 -1
  570. package/dist/workflows/workflow-validation.service.d.ts +3 -1
  571. package/dist/workflows/workflow-validation.service.js +6 -3
  572. package/dist/workflows/workflow-validation.service.js.map +1 -1
  573. package/dist/workflows/workflow.service.d.ts +3 -3
  574. package/dist/workflows/workflow.service.js +26 -4
  575. package/dist/workflows/workflow.service.js.map +1 -1
  576. package/dist/workflows/workflows.controller.d.ts +31 -21
  577. package/dist/workflows/workflows.controller.js +6 -2
  578. package/dist/workflows/workflows.controller.js.map +1 -1
  579. package/package.json +36 -34
  580. package/dist/modules/agents/entities/agent-published-version.entity.js.map +0 -1
  581. package/dist/modules/agents/repositories/agent-published-version.repository.d.ts +0 -20
  582. package/dist/modules/agents/repositories/agent-published-version.repository.js.map +0 -1
  583. package/dist/modules/inbound-secrets/inbound-secrets-context-hook.js.map +0 -1
  584. package/dist/modules/inbound-secrets/inbound-secrets.config.d.ts +0 -3
  585. package/dist/modules/inbound-secrets/inbound-secrets.config.js.map +0 -1
  586. package/dist/modules/inbound-secrets/inbound-secrets.module.js.map +0 -1
  587. package/dist/modules/inbound-secrets/inbound-secrets.schemas.d.ts +0 -3
  588. package/dist/modules/inbound-secrets/inbound-secrets.schemas.js +0 -6
  589. package/dist/modules/inbound-secrets/inbound-secrets.schemas.js.map +0 -1
  590. package/dist/modules/inbound-secrets/inbound-secrets.service.d.ts +0 -17
  591. package/dist/modules/inbound-secrets/inbound-secrets.service.js.map +0 -1
  592. package/dist/modules/inbound-secrets/path-traversal.js.map +0 -1
  593. package/dist/modules/instance-ai/compaction.service.d.ts +0 -24
  594. package/dist/modules/instance-ai/compaction.service.js +0 -213
  595. package/dist/modules/instance-ai/compaction.service.js.map +0 -1
  596. package/dist/modules/instance-ai/entities/instance-ai-observational-memory.entity.d.ts +0 -33
  597. package/dist/modules/instance-ai/entities/instance-ai-observational-memory.entity.js +0 -145
  598. package/dist/modules/instance-ai/entities/instance-ai-observational-memory.entity.js.map +0 -1
  599. package/dist/modules/instance-ai/entities/instance-ai-workflow-snapshot.entity.d.ts +0 -8
  600. package/dist/modules/instance-ai/entities/instance-ai-workflow-snapshot.entity.js.map +0 -1
  601. package/dist/modules/instance-ai/repositories/instance-ai-observational-memory.repository.d.ts +0 -5
  602. package/dist/modules/instance-ai/repositories/instance-ai-observational-memory.repository.js.map +0 -1
  603. package/dist/modules/instance-ai/repositories/instance-ai-workflow-snapshot.repository.d.ts +0 -5
  604. package/dist/modules/instance-ai/repositories/instance-ai-workflow-snapshot.repository.js.map +0 -1
  605. package/dist/modules/instance-ai/snapshot-pruning.service.d.ts +0 -17
  606. package/dist/modules/instance-ai/snapshot-pruning.service.js +0 -89
  607. package/dist/modules/instance-ai/snapshot-pruning.service.js.map +0 -1
  608. package/dist/modules/instance-ai/storage/typeorm-composite-store.d.ts +0 -9
  609. package/dist/modules/instance-ai/storage/typeorm-composite-store.js +0 -33
  610. package/dist/modules/instance-ai/storage/typeorm-composite-store.js.map +0 -1
  611. package/dist/modules/instance-ai/storage/typeorm-memory-storage.d.ts +0 -96
  612. package/dist/modules/instance-ai/storage/typeorm-memory-storage.js +0 -864
  613. package/dist/modules/instance-ai/storage/typeorm-memory-storage.js.map +0 -1
  614. package/dist/modules/instance-ai/storage/typeorm-workflows-storage.d.ts +0 -44
  615. package/dist/modules/instance-ai/storage/typeorm-workflows-storage.js +0 -156
  616. package/dist/modules/instance-ai/storage/typeorm-workflows-storage.js.map +0 -1
  617. package/dist/scaling/multi-main-setup-legacy.d.ts +0 -25
  618. package/dist/scaling/multi-main-setup-legacy.js +0 -75
  619. package/dist/scaling/multi-main-setup-legacy.js.map +0 -1
  620. package/dist/scaling/multi-main-setup-v2.d.ts +0 -25
  621. package/dist/scaling/multi-main-setup-v2.js +0 -143
  622. package/dist/scaling/multi-main-setup-v2.js.map +0 -1
  623. package/dist/scaling/multi-main-setup.types.d.ts +0 -6
  624. package/dist/scaling/multi-main-setup.types.js.map +0 -1
  625. /package/dist/modules/{inbound-secrets → runtime-credentials}/path-traversal.d.ts +0 -0
  626. /package/dist/modules/{inbound-secrets → runtime-credentials}/path-traversal.js +0 -0
@@ -39,10 +39,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.createCreateWorkflowFromCodeTool = void 0;
40
40
  const db_1 = require("@n8n/db");
41
41
  const zod_1 = __importDefault(require("zod"));
42
+ const connection_structure_check_1 = require("./connection-structure-check");
42
43
  const constants_1 = require("./constants");
43
44
  const credentials_auto_assign_1 = require("./credentials-auto-assign");
45
+ const data_table_validation_1 = require("./data-table-validation");
44
46
  const mcp_constants_1 = require("../../mcp.constants");
45
47
  const workflow_validation_utils_1 = require("../workflow-validation.utils");
48
+ const not_found_error_1 = require("../../../../errors/response-errors/not-found.error");
46
49
  const workflow_helpers_1 = require("../../../../workflow-helpers");
47
50
  const inputSchema = {
48
51
  code: zod_1.default
@@ -61,7 +64,7 @@ const inputSchema = {
61
64
  projectId: zod_1.default
62
65
  .string()
63
66
  .optional()
64
- .describe("Optional project ID to create the workflow in. Use search_projects to find a project by name. Defaults to the user's personal project."),
67
+ .describe("Project ID to create the workflow in. If the user named a project (e.g. 'in my Marketing project'), you MUST call search_projects first to resolve the name to an ID and pass it here — do not guess. If search_projects returns multiple partial matches with no exact match, ask the user to clarify before creating the workflow. Only omit this field when the user did not mention a project at all; in that case it defaults to the user's personal project."),
65
68
  folderId: zod_1.default
66
69
  .string()
67
70
  .optional()
@@ -79,6 +82,15 @@ const outputSchema = {
79
82
  credentialType: zod_1.default.string().describe('The credential type that was auto-assigned'),
80
83
  }))
81
84
  .describe('List of credentials that were automatically assigned to nodes'),
85
+ targetProject: zod_1.default
86
+ .object({
87
+ id: zod_1.default.string().describe('The ID of the project the workflow was created in'),
88
+ name: zod_1.default.string().describe('The display name of the project the workflow was created in'),
89
+ type: zod_1.default
90
+ .enum(['personal', 'team'])
91
+ .describe('Whether the workflow landed in a personal or team project'),
92
+ })
93
+ .describe('The project the workflow was actually created in.'),
82
94
  note: zod_1.default
83
95
  .string()
84
96
  .optional()
@@ -88,10 +100,10 @@ const outputSchema = {
88
100
  .optional()
89
101
  .describe('Actionable hint for recovering from the error. When present, follow the suggested action before retrying.'),
90
102
  };
91
- const createCreateWorkflowFromCodeTool = (user, workflowCreationService, workflowFinderService, urlService, telemetry, nodeTypes, credentialsService, projectRepository) => ({
103
+ const createCreateWorkflowFromCodeTool = (user, workflowCreationService, workflowFinderService, urlService, telemetry, nodeTypes, credentialsService, projectRepository, dataTableOps) => ({
92
104
  name: constants_1.MCP_CREATE_WORKFLOW_FROM_CODE_TOOL.toolName,
93
105
  config: {
94
- description: `Create a workflow in n8n from validated SDK code. This tool expects code that already follows the n8n Workflow SDK patterns and has passed ${constants_1.CODE_BUILDER_VALIDATE_TOOL.toolName}. If code fails to parse, call get_sdk_reference, rewrite the code using the reference, validate again, then retry creation.`,
106
+ description: `Create a workflow in n8n from validated SDK code. This tool expects code that already follows the n8n Workflow SDK patterns and has passed ${constants_1.CODE_BUILDER_VALIDATE_TOOL.toolName}. If code fails to parse, call get_sdk_reference, rewrite the code using the reference, validate again, then retry creation. If the user named a target project, resolve it via search_projects before calling this tool; when projectId is omitted, the workflow is created in the user's personal project. After creation, always tell the user which project the workflow landed in (see the targetProject field in the response).`,
95
107
  inputSchema,
96
108
  outputSchema,
97
109
  annotations: {
@@ -124,12 +136,16 @@ const createCreateWorkflowFromCodeTool = (user, workflowCreationService, workflo
124
136
  };
125
137
  }
126
138
  let newWorkflow;
139
+ let landingProject = null;
127
140
  try {
128
141
  const { ParseValidateHandler, stripImportStatements } = await Promise.resolve().then(() => __importStar(require('@n8n/ai-workflow-builder')));
129
142
  const handler = new ParseValidateHandler({ generatePinData: false });
130
143
  const strippedCode = stripImportStatements(code);
131
144
  const result = await handler.parseAndValidate(strippedCode);
132
145
  const workflowJson = result.workflow;
146
+ const invalidToolSourceResponse = (0, connection_structure_check_1.buildInvalidAiToolSourceErrorResponse)(workflowJson, nodeTypes, (errorMessage) => ({ error: errorMessage }), telemetryPayload, telemetry);
147
+ if (invalidToolSourceResponse)
148
+ return invalidToolSourceResponse;
133
149
  newWorkflow = new db_1.WorkflowEntity();
134
150
  Object.assign(newWorkflow, {
135
151
  name: name ?? workflowJson.name ?? 'Untitled Workflow',
@@ -142,14 +158,20 @@ const createCreateWorkflowFromCodeTool = (user, workflowCreationService, workflo
142
158
  });
143
159
  (0, workflow_helpers_1.resolveNodeWebhookIds)(newWorkflow, nodeTypes);
144
160
  (0, credentials_auto_assign_1.stripNullCredentialStubs)(newWorkflow.nodes);
145
- let effectiveProjectId = projectId;
146
- if (!effectiveProjectId) {
147
- const personalProject = await projectRepository.getPersonalProjectForUserOrFail(user.id);
148
- effectiveProjectId = personalProject.id;
161
+ landingProject = projectId
162
+ ? await projectRepository.findOneBy({ id: projectId })
163
+ : await projectRepository.getPersonalProjectForUserOrFail(user.id);
164
+ if (!landingProject) {
165
+ throw new not_found_error_1.NotFoundError(`Project with id "${projectId}" was not found. Use search_projects to look up a valid project id.`);
166
+ }
167
+ const effectiveProjectId = landingProject.id;
168
+ const dataTableCheck = await (0, data_table_validation_1.validateDataTableReferencesForWorkflow)(newWorkflow.nodes, effectiveProjectId, dataTableOps);
169
+ if (!dataTableCheck.ok) {
170
+ throw new Error(dataTableCheck.error);
149
171
  }
150
172
  const { assignments: credentialAssignments, skippedHttpNodes } = await (0, credentials_auto_assign_1.autoPopulateNodeCredentials)(newWorkflow, user, nodeTypes, credentialsService, effectiveProjectId);
151
173
  const savedWorkflow = await workflowCreationService.createWorkflow(user, newWorkflow, {
152
- projectId,
174
+ projectId: effectiveProjectId,
153
175
  parentFolderId: folderId,
154
176
  source: 'n8n-mcp',
155
177
  });
@@ -169,6 +191,11 @@ const createCreateWorkflowFromCodeTool = (user, workflowCreationService, workflo
169
191
  nodeCount: savedWorkflow.nodes.length,
170
192
  url: workflowUrl,
171
193
  autoAssignedCredentials: credentialAssignments,
194
+ targetProject: {
195
+ id: landingProject.id,
196
+ name: landingProject.name,
197
+ type: landingProject.type,
198
+ },
172
199
  note: skippedHttpNodes.length
173
200
  ? `HTTP Request nodes (${skippedHttpNodes.join(', ')}) were skipped during credential auto-assignment. Their credentials must be configured manually.`
174
201
  : undefined,
@@ -189,7 +216,7 @@ const createCreateWorkflowFromCodeTool = (user, workflowCreationService, workflo
189
216
  }
190
217
  catch {
191
218
  }
192
- if (persisted) {
219
+ if (persisted && landingProject) {
193
220
  const baseUrl = urlService.getInstanceBaseUrl();
194
221
  const workflowUrl = `${baseUrl}/workflow/${persisted.id}`;
195
222
  telemetryPayload.results = {
@@ -207,6 +234,11 @@ const createCreateWorkflowFromCodeTool = (user, workflowCreationService, workflo
207
234
  nodeCount: persisted.nodes.length,
208
235
  url: workflowUrl,
209
236
  autoAssignedCredentials: [],
237
+ targetProject: {
238
+ id: landingProject.id,
239
+ name: landingProject.name,
240
+ type: landingProject.type,
241
+ },
210
242
  note: `Workflow was created successfully, but a post-save operation failed: ${errorMessage}`,
211
243
  };
212
244
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"create-workflow-from-code.tool.js","sourceRoot":"","sources":["../../../../../src/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gCAA4E;AAC5E,8CAAoB;AAEpB,2CAA6F;AAC7F,uEAAkG;AAClG,uDAAiE;AAEjE,4EAAmE;AAMnE,yDAA2D;AAI3D,MAAM,WAAW,GAAG;IACnB,IAAI,EAAE,aAAC;SACL,MAAM,EAAE;SACR,QAAQ,CACR,qGAAqG,sCAA0B,CAAC,QAAQ,GAAG,CAC3I;IACF,IAAI,EAAE,aAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uEAAuE,CAAC;IACnF,WAAW,EAAE,aAAC;SACZ,MAAM,EAAE;SACR,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CACR,qFAAqF,CACrF;IACF,SAAS,EAAE,aAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACR,wIAAwI,CACxI;IACF,QAAQ,EAAE,aAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACR,2IAA2I,CAC3I;CACsB,CAAC;AAE1B,MAAM,YAAY,GAAG;IACpB,UAAU,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACjE,IAAI,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IAC7D,SAAS,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IACrE,GAAG,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAC/D,uBAAuB,EAAE,aAAC;SACxB,KAAK,CACL,aAAC,CAAC,MAAM,CAAC;QACR,QAAQ,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;QACxF,cAAc,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;QACxF,cAAc,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;KACjF,CAAC,CACF;SACA,QAAQ,CAAC,+DAA+D,CAAC;IAC3E,IAAI,EAAE,aAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACR,sHAAsH,CACtH;IACF,IAAI,EAAE,aAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACR,2GAA2G,CAC3G;CACsB,CAAC;AAMnB,MAAM,gCAAgC,GAAG,CAC/C,IAAU,EACV,uBAAgD,EAChD,qBAA4C,EAC5C,UAAsB,EACtB,SAAoB,EACpB,SAAoB,EACpB,kBAAsC,EACtC,iBAAoC,EACC,EAAE,CAAC,CAAC;IACzC,IAAI,EAAE,8CAAkC,CAAC,QAAQ;IACjD,MAAM,EAAE;QACP,WAAW,EAAE,8IAA8I,sCAA0B,CAAC,QAAQ,8HAA8H;QAC5T,WAAW;QACX,YAAY;QACZ,WAAW,EAAE;YACZ,KAAK,EAAE,8CAAkC,CAAC,YAAY;YACtD,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,KAAK;SACpB;KACD;IACD,OAAO,EAAE,KAAK,EAAE,EACf,IAAI,EACJ,IAAI,EACJ,WAAW,EACX,SAAS,EACT,QAAQ,GAOR,EAAE,EAAE;QACJ,MAAM,gBAAgB,GAAkC;YACvD,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,SAAS,EAAE,8CAAkC,CAAC,QAAQ;YACtD,UAAU,EAAE;gBACX,UAAU,EAAE,IAAI,CAAC,MAAM;gBACvB,OAAO,EAAE,CAAC,CAAC,IAAI;gBACf,YAAY,EAAE,CAAC,CAAC,SAAS;gBACzB,WAAW,EAAE,CAAC,CAAC,QAAQ;aACvB;SACD,CAAC;QAEF,IAAI,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5B,MAAM,YAAY,GAAG,iDAAiD,CAAC;YACvE,gBAAgB,CAAC,OAAO,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;YACnE,SAAS,CAAC,KAAK,CAAC,0CAA0B,EAAE,gBAAgB,CAAC,CAAC;YAC9D,OAAO;gBACN,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBACnF,iBAAiB,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;gBAC1C,OAAO,EAAE,IAAI;aACb,CAAC;QACH,CAAC;QAED,IAAI,WAAuC,CAAC;QAE5C,IAAI,CAAC;YACJ,MAAM,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,GAAG,wDACvD,0BAA0B,GAC1B,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,oBAAoB,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;YACrE,MAAM,YAAY,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YAE5D,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC;YAErC,WAAW,GAAG,IAAI,mBAAc,EAAE,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;gBAC1B,IAAI,EAAE,IAAI,IAAI,YAAY,CAAC,IAAI,IAAI,mBAAmB;gBACtD,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvC,KAAK,EAAE,YAAY,CAAC,KAAK;gBACzB,WAAW,EAAE,YAAY,CAAC,WAAW;gBACrC,QAAQ,EAAE,EAAE,GAAG,YAAY,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;gBAClF,OAAO,EAAE,YAAY,CAAC,OAAO;gBAC7B,IAAI,EAAE,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE;aAC9E,CAAC,CAAC;YAEH,IAAA,wCAAqB,EAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAE9C,IAAA,kDAAwB,EAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAG5C,IAAI,kBAAkB,GAAG,SAAS,CAAC;YACnC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACzB,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,+BAA+B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACzF,kBAAkB,GAAG,eAAe,CAAC,EAAE,CAAC;YACzC,CAAC;YAED,MAAM,EAAE,WAAW,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,GAC7D,MAAM,IAAA,qDAA2B,EAChC,WAAW,EACX,IAAI,EACJ,SAAS,EACT,kBAAkB,EAClB,kBAAkB,CAClB,CAAC;YAEH,MAAM,aAAa,GAAG,MAAM,uBAAuB,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE;gBACrF,SAAS;gBACT,cAAc,EAAE,QAAQ;gBACxB,MAAM,EAAE,SAAS;aACjB,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,EAAE,CAAC;YAChD,MAAM,WAAW,GAAG,GAAG,OAAO,aAAa,aAAa,CAAC,EAAE,EAAE,CAAC;YAE9D,gBAAgB,CAAC,OAAO,GAAG;gBAC1B,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACL,UAAU,EAAE,aAAa,CAAC,EAAE;oBAC5B,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM;iBACrC;aACD,CAAC;YACF,SAAS,CAAC,KAAK,CAAC,0CAA0B,EAAE,gBAAgB,CAAC,CAAC;YAE9D,MAAM,MAAM,GAAG;gBACd,UAAU,EAAE,aAAa,CAAC,EAAE;gBAC5B,IAAI,EAAE,aAAa,CAAC,IAAI;gBACxB,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM;gBACrC,GAAG,EAAE,WAAW;gBAChB,uBAAuB,EAAE,qBAAqB;gBAC9C,IAAI,EAAE,gBAAgB,CAAC,MAAM;oBAC5B,CAAC,CAAC,uBAAuB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,kGAAkG;oBACtJ,CAAC,CAAC,SAAS;aACZ,CAAC;YAEF,OAAO;gBACN,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAClE,iBAAiB,EAAE,MAAM;aACzB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAM5E,IAAI,WAAW,EAAE,EAAE,EAAE,CAAC;gBACrB,IAAI,SAAS,GACZ,IAAI,CAAC;gBACN,IAAI,CAAC;oBACJ,SAAS,GAAG,MAAM,qBAAqB,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE;wBACjF,eAAe;qBACf,CAAC,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;gBAET,CAAC;gBAED,IAAI,SAAS,EAAE,CAAC;oBACf,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,EAAE,CAAC;oBAChD,MAAM,WAAW,GAAG,GAAG,OAAO,aAAa,SAAS,CAAC,EAAE,EAAE,CAAC;oBAE1D,gBAAgB,CAAC,OAAO,GAAG;wBAC1B,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE;4BACL,UAAU,EAAE,SAAS,CAAC,EAAE;4BACxB,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM;4BACjC,aAAa,EAAE,YAAY;yBAC3B;qBACD,CAAC;oBACF,SAAS,CAAC,KAAK,CAAC,0CAA0B,EAAE,gBAAgB,CAAC,CAAC;oBAE9D,MAAM,MAAM,GAAG;wBACd,UAAU,EAAE,SAAS,CAAC,EAAE;wBACxB,IAAI,EAAE,SAAS,CAAC,IAAI;wBACpB,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM;wBACjC,GAAG,EAAE,WAAW;wBAChB,uBAAuB,EAAE,EAAE;wBAC3B,IAAI,EAAE,wEAAwE,YAAY,EAAE;qBAC5F,CAAC;oBAEF,OAAO;wBACN,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;wBAClE,iBAAiB,EAAE,MAAM;qBACzB,CAAC;gBACH,CAAC;YACF,CAAC;YAED,gBAAgB,CAAC,OAAO,GAAG;gBAC1B,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,YAAY;aACnB,CAAC;YACF,SAAS,CAAC,KAAK,CAAC,0CAA0B,EAAE,gBAAgB,CAAC,CAAC;YAE9D,MAAM,IAAI,GAAG,IAAA,+CAAmB,EAAC,KAAK,EAAE;gBACvC,cAAc,EAAE,0BAA0B,sCAA0B,CAAC,QAAQ,2CAA2C,8CAAkC,CAAC,QAAQ,SAAS;aAC5K,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YAElE,OAAO;gBACN,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAClE,iBAAiB,EAAE,MAAM;gBACzB,OAAO,EAAE,IAAI;aACb,CAAC;QACH,CAAC;IACF,CAAC;CACD,CAAC,CAAC;AAzMU,QAAA,gCAAgC,oCAyM1C"}
1
+ {"version":3,"file":"create-workflow-from-code.tool.js","sourceRoot":"","sources":["../../../../../src/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { INode } from 'n8n-workflow';
2
+ import { type DataTableUserOperations } from '../../../../modules/data-table/data-table-proxy.service';
3
+ export interface DataTableValidationFailure {
4
+ ok: false;
5
+ error: string;
6
+ opIndex?: number;
7
+ }
8
+ export interface DataTableValidationSuccess {
9
+ ok: true;
10
+ }
11
+ export type DataTableValidationResult = DataTableValidationSuccess | DataTableValidationFailure;
12
+ export declare function validateDataTableReferencesForWorkflow(nodes: INode[], projectId: string, dataTableOps: DataTableUserOperations): Promise<DataTableValidationResult>;
13
+ export declare function validateDataTableReferencesForUpdate(nodesAfterApply: INode[], touchedNodes: Map<string, number>, projectId: string, dataTableOps: DataTableUserOperations): Promise<DataTableValidationResult>;
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateDataTableReferencesForWorkflow = validateDataTableReferencesForWorkflow;
4
+ exports.validateDataTableReferencesForUpdate = validateDataTableReferencesForUpdate;
5
+ const n8n_workflow_1 = require("n8n-workflow");
6
+ const data_table_proxy_service_1 = require("../../../../modules/data-table/data-table-proxy.service");
7
+ const isResourceLocatorMode = (v) => v === 'list' || v === 'id' || v === 'name';
8
+ function extractDataTableReference(node) {
9
+ if (!(0, data_table_proxy_service_1.isAllowedNode)(node.type))
10
+ return null;
11
+ const rl = node.parameters?.dataTableId;
12
+ if (!(0, n8n_workflow_1.isResourceLocatorValue)(rl))
13
+ return null;
14
+ if (typeof rl.value !== 'string' || rl.value === '')
15
+ return null;
16
+ if ((0, n8n_workflow_1.isExpression)(rl.value))
17
+ return null;
18
+ const mode = isResourceLocatorMode(rl.mode) ? rl.mode : 'id';
19
+ return { mode, value: rl.value };
20
+ }
21
+ async function checkDataTableReference(ref, projectId, dataTableOps, cache) {
22
+ const cacheKey = `${ref.mode}:${ref.value}:${projectId}`;
23
+ const cached = cache.get(cacheKey);
24
+ if (cached === true)
25
+ return null;
26
+ if (cached === false)
27
+ return buildNotFoundError(ref);
28
+ const filter = ref.mode === 'name' ? { name: ref.value, projectId } : { id: ref.value, projectId };
29
+ try {
30
+ const result = await dataTableOps.getManyAndCount({
31
+ filter,
32
+ take: 1,
33
+ });
34
+ if (result.data.length === 0) {
35
+ cache.set(cacheKey, false);
36
+ return buildNotFoundError(ref);
37
+ }
38
+ cache.set(cacheKey, true);
39
+ return null;
40
+ }
41
+ catch (error) {
42
+ cache.set(cacheKey, false);
43
+ const message = error instanceof Error ? error.message : String(error);
44
+ return `${buildNotFoundError(ref)} (lookup failed: ${message})`;
45
+ }
46
+ }
47
+ function buildNotFoundError(ref) {
48
+ const lookupBy = ref.mode === 'name' ? 'name' : 'id';
49
+ return (`data table with ${lookupBy} '${ref.value}' not found or not accessible in this project. ` +
50
+ 'Use `create_data_table` to create it first, or `search_data_tables` to find an existing one.');
51
+ }
52
+ async function validateDataTableReferencesForWorkflow(nodes, projectId, dataTableOps) {
53
+ const cache = new Map();
54
+ for (const node of nodes) {
55
+ const ref = extractDataTableReference(node);
56
+ if (!ref)
57
+ continue;
58
+ const error = await checkDataTableReference(ref, projectId, dataTableOps, cache);
59
+ if (error) {
60
+ return { ok: false, error: `node '${node.name}': ${error}` };
61
+ }
62
+ }
63
+ return { ok: true };
64
+ }
65
+ async function validateDataTableReferencesForUpdate(nodesAfterApply, touchedNodes, projectId, dataTableOps) {
66
+ if (touchedNodes.size === 0)
67
+ return { ok: true };
68
+ const cache = new Map();
69
+ for (const node of nodesAfterApply) {
70
+ const opIndex = touchedNodes.get(node.name);
71
+ if (opIndex === undefined)
72
+ continue;
73
+ const ref = extractDataTableReference(node);
74
+ if (!ref)
75
+ continue;
76
+ const error = await checkDataTableReference(ref, projectId, dataTableOps, cache);
77
+ if (error) {
78
+ return {
79
+ ok: false,
80
+ opIndex,
81
+ error: `Operation ${opIndex} failed: node '${node.name}': ${error}`,
82
+ };
83
+ }
84
+ }
85
+ return { ok: true };
86
+ }
87
+ //# sourceMappingURL=data-table-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table-validation.js","sourceRoot":"","sources":["../../../../../src/modules/mcp/tools/workflow-builder/data-table-validation.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import z from 'zod';
3
3
  import type { ToolDefinition } from '../../mcp.types';
4
4
  import type { CollaborationService } from '../../../../collaboration/collaboration.service';
5
5
  import type { CredentialsService } from '../../../../credentials/credentials.service';
6
+ import type { DataTableUserOperations } from '../../../../modules/data-table/data-table-proxy.service';
6
7
  import type { NodeTypes } from '../../../../node-types';
7
8
  import type { UrlService } from '../../../../services/url.service';
8
9
  import type { Telemetry } from '../../../../telemetry';
@@ -239,5 +240,5 @@ declare const inputSchema: {
239
240
  name?: string | undefined;
240
241
  }>]>, "many">;
241
242
  };
242
- export declare const createUpdateWorkflowTool: (user: User, workflowFinderService: WorkflowFinderService, workflowService: WorkflowService, urlService: UrlService, telemetry: Telemetry, nodeTypes: NodeTypes, credentialsService: CredentialsService, sharedWorkflowRepository: SharedWorkflowRepository, collaborationService: CollaborationService) => ToolDefinition<typeof inputSchema>;
243
+ export declare const createUpdateWorkflowTool: (user: User, workflowFinderService: WorkflowFinderService, workflowService: WorkflowService, urlService: UrlService, telemetry: Telemetry, nodeTypes: NodeTypes, credentialsService: CredentialsService, sharedWorkflowRepository: SharedWorkflowRepository, collaborationService: CollaborationService, dataTableOps: DataTableUserOperations) => ToolDefinition<typeof inputSchema>;
243
244
  export {};
@@ -40,13 +40,42 @@ exports.createUpdateWorkflowTool = void 0;
40
40
  const db_1 = require("@n8n/db");
41
41
  const zod_1 = __importDefault(require("zod"));
42
42
  const mcp_constants_1 = require("../../mcp.constants");
43
+ const connection_structure_check_1 = require("./connection-structure-check");
43
44
  const constants_1 = require("./constants");
44
45
  const credential_validation_1 = require("./credential-validation");
45
46
  const credentials_auto_assign_1 = require("./credentials-auto-assign");
47
+ const data_table_validation_1 = require("./data-table-validation");
46
48
  const workflow_operations_1 = require("./workflow-operations");
47
49
  const workflow_helpers_1 = require("../../../../workflow-helpers");
48
50
  const workflow_validation_utils_1 = require("../workflow-validation.utils");
49
51
  const MAX_OPERATIONS_PER_CALL = 100;
52
+ function collectTouchedNodes(operations) {
53
+ const touched = new Map();
54
+ const recordTouch = (name, opIndex) => {
55
+ if (!touched.has(name))
56
+ touched.set(name, opIndex);
57
+ };
58
+ for (let i = 0; i < operations.length; i++) {
59
+ const op = operations[i];
60
+ if (op.type === 'addNode') {
61
+ recordTouch(op.node.name, i);
62
+ }
63
+ else if (op.type === 'updateNodeParameters' || op.type === 'setNodeParameter') {
64
+ recordTouch(op.nodeName, i);
65
+ }
66
+ else if (op.type === 'renameNode') {
67
+ const idx = touched.get(op.oldName);
68
+ if (idx !== undefined) {
69
+ touched.delete(op.oldName);
70
+ touched.set(op.newName, idx);
71
+ }
72
+ }
73
+ else if (op.type === 'removeNode') {
74
+ touched.delete(op.nodeName);
75
+ }
76
+ }
77
+ return touched;
78
+ }
50
79
  const inputSchema = {
51
80
  workflowId: zod_1.default.string().describe('The ID of the workflow to update.'),
52
81
  operations: zod_1.default
@@ -77,7 +106,7 @@ const outputSchema = {
77
106
  .describe('Graph and JSON validation warnings on the resulting workflow. Use these to self-correct on the next call.'),
78
107
  note: zod_1.default.string().optional(),
79
108
  };
80
- const createUpdateWorkflowTool = (user, workflowFinderService, workflowService, urlService, telemetry, nodeTypes, credentialsService, sharedWorkflowRepository, collaborationService) => ({
109
+ const createUpdateWorkflowTool = (user, workflowFinderService, workflowService, urlService, telemetry, nodeTypes, credentialsService, sharedWorkflowRepository, collaborationService, dataTableOps) => ({
81
110
  name: constants_1.MCP_UPDATE_WORKFLOW_TOOL.toolName,
82
111
  config: {
83
112
  description: 'Apply a small list of operations to an existing workflow (see the operations input schema for the supported op types). The whole batch is atomic: if any op fails the workflow is left unchanged.',
@@ -112,6 +141,17 @@ const createUpdateWorkflowTool = (user, workflowFinderService, workflowService,
112
141
  if (!credentialCheck.ok) {
113
142
  throw new Error(credentialCheck.error);
114
143
  }
144
+ const invalidToolSourceResponse = (0, connection_structure_check_1.buildInvalidAiToolSourceErrorResponse)({ nodes: result.workflow.nodes, connections: result.workflow.connections }, nodeTypes, (errorMessage) => ({ error: errorMessage }), telemetryPayload, telemetry);
145
+ if (invalidToolSourceResponse)
146
+ return invalidToolSourceResponse;
147
+ const { projectId: workflowProjectId } = await sharedWorkflowRepository.findOneOrFail({
148
+ where: { workflowId, role: 'workflow:owner' },
149
+ select: ['projectId'],
150
+ });
151
+ const dataTableCheck = await (0, data_table_validation_1.validateDataTableReferencesForUpdate)(result.workflow.nodes, collectTouchedNodes(operations), workflowProjectId, dataTableOps);
152
+ if (!dataTableCheck.ok) {
153
+ throw new Error(dataTableCheck.error);
154
+ }
115
155
  const workflowUpdateData = new db_1.WorkflowEntity();
116
156
  Object.assign(workflowUpdateData, {
117
157
  name: result.workflow.name,
@@ -132,11 +172,7 @@ const createUpdateWorkflowTool = (user, workflowFinderService, workflowService,
132
172
  if (result.addedNodeNames.length > 0) {
133
173
  const addedNodeSet = new Set(result.addedNodeNames);
134
174
  const addedNodes = workflowUpdateData.nodes.filter((n) => addedNodeSet.has(n.name));
135
- const sharedWorkflow = await sharedWorkflowRepository.findOneOrFail({
136
- where: { workflowId, role: 'workflow:owner' },
137
- select: ['projectId'],
138
- });
139
- const autoAssign = await (0, credentials_auto_assign_1.autoPopulateNodeCredentials)({ ...workflowUpdateData, nodes: addedNodes }, user, nodeTypes, credentialsService, sharedWorkflow.projectId);
175
+ const autoAssign = await (0, credentials_auto_assign_1.autoPopulateNodeCredentials)({ ...workflowUpdateData, nodes: addedNodes }, user, nodeTypes, credentialsService, workflowProjectId);
140
176
  credentialAssignments = autoAssign.assignments;
141
177
  skippedHttpNodes = autoAssign.skippedHttpNodes;
142
178
  }
@@ -1 +1 @@
1
- {"version":3,"file":"update-workflow.tool.js","sourceRoot":"","sources":["../../../../../src/modules/mcp/tools/workflow-builder/update-workflow.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gCAAmF;AAEnF,8CAAoB;AAEpB,uDAAiE;AAEjE,2CAAuD;AACvD,mEAAuE;AACvE,uEAAwE;AACxE,+DAK+B;AAO/B,yDAA2D;AAI3D,4EAA8D;AAE9D,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAEpC,MAAM,WAAW,GAAG;IACnB,UAAU,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACpE,UAAU,EAAE,aAAC;SACX,KAAK,CAAC,kDAA4B,CAAC;SACnC,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,uBAAuB,CAAC;SAC5B,QAAQ,CACR,4CAA4C,uBAAuB,2JAA2J,CAC9N;CACsB,CAAC;AAE1B,MAAM,YAAY,GAAG;IACpB,UAAU,EAAE,aAAC,CAAC,MAAM,EAAE;IACtB,IAAI,EAAE,aAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,aAAC,CAAC,MAAM,EAAE;IACrB,GAAG,EAAE,aAAC,CAAC,MAAM,EAAE;IACf,iBAAiB,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACvE,uBAAuB,EAAE,aAAC;SACxB,KAAK,CACL,aAAC,CAAC,MAAM,CAAC;QACR,QAAQ,EAAE,aAAC,CAAC,MAAM,EAAE;QACpB,cAAc,EAAE,aAAC,CAAC,MAAM,EAAE;QAC1B,cAAc,EAAE,aAAC,CAAC,MAAM,EAAE;KAC1B,CAAC,CACF;SACA,QAAQ,CAAC,oEAAoE,CAAC;IAChF,kBAAkB,EAAE,aAAC;SACnB,KAAK,CACL,aAAC,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,aAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,aAAC,CAAC,MAAM,EAAE;QACnB,QAAQ,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC/B,CAAC,CACF;SACA,QAAQ,CACR,2GAA2G,CAC3G;IACF,IAAI,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACH,CAAC;AAYnB,MAAM,wBAAwB,GAAG,CACvC,IAAU,EACV,qBAA4C,EAC5C,eAAgC,EAChC,UAAsB,EACtB,SAAoB,EACpB,SAAoB,EACpB,kBAAsC,EACtC,wBAAkD,EAClD,oBAA0C,EACL,EAAE,CAAC,CAAC;IACzC,IAAI,EAAE,oCAAwB,CAAC,QAAQ;IACvC,MAAM,EAAE;QACP,WAAW,EACV,mMAAmM;QACpM,WAAW;QACX,YAAY;QACZ,WAAW,EAAE;YACZ,KAAK,EAAE,oCAAwB,CAAC,YAAY;YAC5C,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI;YACrB,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,KAAK;SACpB;KACD;IACD,OAAO,EAAE,KAAK,EAAE,EACf,UAAU,EACV,UAAU,GAIV,EAAE,EAAE;QACJ,MAAM,gBAAgB,GAAkC;YACvD,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,SAAS,EAAE,oCAAwB,CAAC,QAAQ;YAC5C,UAAU,EAAE;gBACX,UAAU;gBACV,OAAO,EAAE,UAAU,CAAC,MAAM;gBAC1B,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;aACxC;SACD,CAAC;QAEF,IAAI,CAAC;YACJ,MAAM,gBAAgB,GAAG,MAAM,IAAA,0CAAc,EAC5C,UAAU,EACV,IAAI,EACJ,CAAC,iBAAiB,CAAC,EACnB,qBAAqB,CACrB,CAAC;YAEF,MAAM,oBAAoB,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAEvE,MAAM,MAAM,GAAG,IAAA,qCAAe,EAAC,IAAA,qCAAe,EAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC,CAAC;YAE9E,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;YAED,MAAM,eAAe,GAAG,MAAM,IAAA,oDAA4B,EACzD,UAAU,EACV,gBAAgB,EAChB,IAAI,EACJ,kBAAkB,EAClB,SAAS,CACT,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;YAED,MAAM,kBAAkB,GAAG,IAAI,mBAAc,EAAE,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE;gBACjC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;gBAC1B,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,KAAK,SAAS;oBAC5C,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE;oBAC9C,CAAC,CAAC,EAAE,CAAC;gBACN,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK;gBAC5B,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW;gBACxC,IAAI,EAAE;oBACL,GAAG,CAAC,gBAAgB,CAAC,IAAI,IAAI,EAAE,CAAC;oBAChC,iBAAiB,EAAE,IAAI;oBACvB,cAAc,EAAE,KAAK;iBACrB;aACD,CAAC,CAAC;YAEH,IAAA,wCAAqB,EAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;YAErD,IAAI,qBAAqB,GAIpB,EAAE,CAAC;YACR,IAAI,gBAAgB,GAAa,EAAE,CAAC;YAEpC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBACpD,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpF,MAAM,cAAc,GAAG,MAAM,wBAAwB,CAAC,aAAa,CAAC;oBACnE,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE;oBAC7C,MAAM,EAAE,CAAC,WAAW,CAAC;iBACrB,CAAC,CAAC;gBAEH,MAAM,UAAU,GAAG,MAAM,IAAA,qDAA2B,EACnD,EAAE,GAAG,kBAAkB,EAAE,KAAK,EAAE,UAAU,EAAE,EAC5C,IAAI,EACJ,SAAS,EACT,kBAAkB,EAClB,cAAc,CAAC,SAAS,CACxB,CAAC;gBACF,qBAAqB,GAAG,UAAU,CAAC,WAAW,CAAC;gBAC/C,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;YAChD,CAAC;YAED,MAAM,EAAE,oBAAoB,EAAE,GAAG,wDAAa,0BAA0B,GAAC,CAAC;YAC1E,MAAM,SAAS,GAAG,IAAI,oBAAoB,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;YACvE,MAAM,kBAAkB,GAAG,SAAS,CAAC,YAAY,CAAC;gBACjD,IAAI,EAAE,kBAAkB,CAAC,IAAI;gBAC7B,KAAK,EAAE,kBAAkB,CAAC,KAAK;gBAC/B,WAAW,EAAE,kBAAkB,CAAC,WAAW;aAChB,CAAC,CAAC;YAE9B,MAAM,eAAe,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE;gBAC1F,iBAAiB,EAAE,IAAI;gBACvB,MAAM,EAAE,SAAS;aACjB,CAAC,CAAC;YAEH,KAAK,oBAAoB,CAAC,uBAAuB,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAEvF,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,EAAE,CAAC;YAChD,MAAM,WAAW,GAAG,GAAG,OAAO,aAAa,eAAe,CAAC,EAAE,EAAE,CAAC;YAEhE,gBAAgB,CAAC,OAAO,GAAG;gBAC1B,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACL,UAAU,EAAE,eAAe,CAAC,EAAE;oBAC9B,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,MAAM;iBACvC;aACD,CAAC;YACF,SAAS,CAAC,KAAK,CAAC,0CAA0B,EAAE,gBAAgB,CAAC,CAAC;YAE9D,MAAM,MAAM,GAAG;gBACd,UAAU,EAAE,eAAe,CAAC,EAAE;gBAC9B,IAAI,EAAE,eAAe,CAAC,IAAI;gBAC1B,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,MAAM;gBACvC,GAAG,EAAE,WAAW;gBAChB,iBAAiB,EAAE,UAAU,CAAC,MAAM;gBACpC,uBAAuB,EAAE,qBAAqB;gBAC9C,kBAAkB;gBAClB,IAAI,EAAE,gBAAgB,CAAC,MAAM;oBAC5B,CAAC,CAAC,uBAAuB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,kGAAkG;oBACtJ,CAAC,CAAC,SAAS;aACZ,CAAC;YAEF,OAAO;gBACN,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAClE,iBAAiB,EAAE,MAAM;aACzB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE5E,gBAAgB,CAAC,OAAO,GAAG;gBAC1B,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,YAAY;aACnB,CAAC;YACF,SAAS,CAAC,KAAK,CAAC,0CAA0B,EAAE,gBAAgB,CAAC,CAAC;YAE9D,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;YAEvC,OAAO;gBACN,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAClE,iBAAiB,EAAE,MAAM;gBACzB,OAAO,EAAE,IAAI;aACb,CAAC;QACH,CAAC;IACF,CAAC;CACD,CAAC,CAAC;AA9KU,QAAA,wBAAwB,4BA8KlC"}
1
+ {"version":3,"file":"update-workflow.tool.js","sourceRoot":"","sources":["../../../../../src/modules/mcp/tools/workflow-builder/update-workflow.tool.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import type { User } from '@n8n/db';
2
2
  import z from 'zod';
3
3
  import type { ToolDefinition } from '../../mcp.types';
4
+ import type { NodeTypes } from '../../../../node-types';
4
5
  import type { Telemetry } from '../../../../telemetry';
5
6
  declare const inputSchema: {
6
7
  code: z.ZodString;
7
8
  };
8
- export declare const createValidateWorkflowCodeTool: (user: User, telemetry: Telemetry) => ToolDefinition<typeof inputSchema>;
9
+ export declare const createValidateWorkflowCodeTool: (user: User, telemetry: Telemetry, nodeTypes: NodeTypes) => ToolDefinition<typeof inputSchema>;
9
10
  export {};
@@ -40,6 +40,7 @@ exports.createValidateWorkflowCodeTool = void 0;
40
40
  const zod_1 = __importDefault(require("zod"));
41
41
  const mcp_constants_1 = require("../../mcp.constants");
42
42
  const workflow_validation_utils_1 = require("../workflow-validation.utils");
43
+ const connection_structure_check_1 = require("./connection-structure-check");
43
44
  const constants_1 = require("./constants");
44
45
  const inputSchema = {
45
46
  code: zod_1.default
@@ -67,7 +68,7 @@ const outputSchema = {
67
68
  .optional()
68
69
  .describe('Actionable hint for recovering from the error. When present, follow the suggested action before retrying.'),
69
70
  };
70
- const createValidateWorkflowCodeTool = (user, telemetry) => ({
71
+ const createValidateWorkflowCodeTool = (user, telemetry, nodeTypes) => ({
71
72
  name: constants_1.CODE_BUILDER_VALIDATE_TOOL.toolName,
72
73
  config: {
73
74
  description: 'Validate n8n Workflow SDK code. Required before creating or updating workflows from code. If you have not already read get_sdk_reference, call that first; guessing SDK syntax commonly creates invalid workflows.',
@@ -92,6 +93,9 @@ const createValidateWorkflowCodeTool = (user, telemetry) => ({
92
93
  const handler = new ParseValidateHandler({ generatePinData: false });
93
94
  const strippedCode = stripImportStatements(code);
94
95
  const result = await handler.parseAndValidate(strippedCode);
96
+ const invalidToolSourceResponse = (0, connection_structure_check_1.buildInvalidAiToolSourceErrorResponse)(result.workflow, nodeTypes, (errorMessage) => ({ valid: false, errors: [errorMessage] }), telemetryPayload, telemetry);
97
+ if (invalidToolSourceResponse)
98
+ return invalidToolSourceResponse;
95
99
  telemetryPayload.results = {
96
100
  success: true,
97
101
  data: {
@@ -1 +1 @@
1
- {"version":3,"file":"validate-workflow-code.tool.js","sourceRoot":"","sources":["../../../../../src/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate-workflow-code.tool.js","sourceRoot":"","sources":["../../../../../src/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ async function getMcpWorkflow(workflowId, user, scopes, workflowFinderService, o
24
24
  throw new mcp_errors_1.WorkflowAccessError(`Workflow '${workflowId}' is archived and cannot be accessed.`, 'workflow_archived');
25
25
  }
26
26
  if (!workflow.settings?.availableInMCP) {
27
- throw new mcp_errors_1.WorkflowAccessError('Workflow is not available in MCP. Enable MCP access in workflow settings.', 'not_available_in_mcp');
27
+ throw new mcp_errors_1.WorkflowAccessError('Workflow is not available in MCP. Enable MCP access from the workflow card in the workflows list, or from the workflow settings.', 'not_available_in_mcp');
28
28
  }
29
29
  return workflow;
30
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-validation.utils.js","sourceRoot":"","sources":["../../../../src/modules/mcp/tools/workflow-validation.utils.ts"],"names":[],"mappings":";;AAmBA,kDAcC;AAgBD,wCAiCC;AA7ED,8CAAoD;AACpD,4DAGsC;AAUtC,SAAgB,mBAAmB,CAClC,KAAc,EACd,UAAmC,EAAE;IAErC,MAAM,YAAY,GACjB,KAAK,YAAY,KAAK;QACtB,CAAC,KAAK,CAAC,IAAI,KAAK,wBAAwB,IAAI,KAAK,YAAY,WAAW,CAAC,CAAC;IAC3E,IAAI,CAAC,YAAY;QAAE,OAAO,SAAS,CAAC;IAEpC,MAAM,cAAc,GACnB,OAAO,CAAC,cAAc;QACtB,6DAA6D,sCAA0B,CAAC,QAAQ,gDAAgD,CAAC;IAElJ,OAAO,6IAA6I,sCAA0B,CAAC,QAAQ,2IAA2I,cAAc,EAAE,CAAC;AACpV,CAAC;AAgBM,KAAK,UAAU,cAAc,CACnC,UAAkB,EAClB,IAAU,EACV,MAAe,EACf,qBAA4C,EAC5C,OAA+B;IAE/B,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE;QAC1F,oBAAoB,EAAE,OAAO,EAAE,oBAAoB;KACnD,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,IAAI,gCAAmB,CAC5B,+DAA+D,EAC/D,eAAe,CACf,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACzB,MAAM,IAAI,gCAAmB,CAC5B,aAAa,UAAU,uCAAuC,EAC9D,mBAAmB,CACnB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;QACxC,MAAM,IAAI,gCAAmB,CAC5B,2EAA2E,EAC3E,sBAAsB,CACtB,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"workflow-validation.utils.js","sourceRoot":"","sources":["../../../../src/modules/mcp/tools/workflow-validation.utils.ts"],"names":[],"mappings":";;AAmBA,kDAcC;AAgBD,wCAiCC;AA7ED,8CAAoD;AACpD,4DAGsC;AAUtC,SAAgB,mBAAmB,CAClC,KAAc,EACd,UAAmC,EAAE;IAErC,MAAM,YAAY,GACjB,KAAK,YAAY,KAAK;QACtB,CAAC,KAAK,CAAC,IAAI,KAAK,wBAAwB,IAAI,KAAK,YAAY,WAAW,CAAC,CAAC;IAC3E,IAAI,CAAC,YAAY;QAAE,OAAO,SAAS,CAAC;IAEpC,MAAM,cAAc,GACnB,OAAO,CAAC,cAAc;QACtB,6DAA6D,sCAA0B,CAAC,QAAQ,gDAAgD,CAAC;IAElJ,OAAO,6IAA6I,sCAA0B,CAAC,QAAQ,2IAA2I,cAAc,EAAE,CAAC;AACpV,CAAC;AAgBM,KAAK,UAAU,cAAc,CACnC,UAAkB,EAClB,IAAU,EACV,MAAe,EACf,qBAA4C,EAC5C,OAA+B;IAE/B,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE;QAC1F,oBAAoB,EAAE,OAAO,EAAE,oBAAoB;KACnD,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,IAAI,gCAAmB,CAC5B,+DAA+D,EAC/D,eAAe,CACf,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACzB,MAAM,IAAI,gCAAmB,CAC5B,aAAa,UAAU,uCAAuC,EAC9D,mBAAmB,CACnB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;QACxC,MAAM,IAAI,gCAAmB,CAC5B,kIAAkI,EAClI,sBAAsB,CACtB,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC"}
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.McpRegistryTestController = void 0;
13
13
  const decorators_1 = require("@n8n/decorators");
14
14
  const forbidden_error_1 = require("../../errors/response-errors/forbidden.error");
15
+ const mcp_registry_server_entity_1 = require("./registry/mcp-registry-server.entity");
15
16
  const mcp_registry_server_repository_1 = require("./registry/mcp-registry-server.repository");
16
17
  const mcp_registry_service_1 = require("./registry/mcp-registry.service");
17
18
  const mcp_registry_types_1 = require("./registry/mcp-registry.types");
@@ -24,7 +25,10 @@ let McpRegistryTestController = class McpRegistryTestController {
24
25
  async seed() {
25
26
  this.assertE2ETestsEnabled();
26
27
  const entities = [mock_servers_1.notionMockServer, mock_servers_1.linearMockServer].map(mcp_registry_types_1.toEntity);
27
- await this.repository.upsert(entities, ['id']);
28
+ await this.repository.manager.transaction(async (manager) => {
29
+ await manager.createQueryBuilder().delete().from(mcp_registry_server_entity_1.McpRegistryServerEntity).execute();
30
+ await manager.insert(mcp_registry_server_entity_1.McpRegistryServerEntity, entities);
31
+ });
28
32
  await this.service.handleReloadMcpRegistry();
29
33
  return { ok: true, count: entities.length };
30
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-registry-test.controller.js","sourceRoot":"","sources":["../../../src/modules/mcp-registry/mcp-registry-test.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAAuD;AAEvD,8EAA0E;AAE1E,8FAAwF;AACxF,0EAAqE;AACrE,sEAAyD;AACzD,0DAA6E;AAOtE,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IACrC,YACkB,UAAuC,EACvC,OAA2B;QAD3B,eAAU,GAAV,UAAU,CAA6B;QACvC,YAAO,GAAP,OAAO,CAAoB;IAC1C,CAAC;IAGE,AAAN,KAAK,CAAC,IAAI;QACT,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,MAAM,QAAQ,GAAG,CAAC,+BAAgB,EAAE,+BAAgB,CAAC,CAAC,GAAG,CAAC,6BAAQ,CAAC,CAAC;QACpE,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,MAAM,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC;QAE7C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC7C,CAAC;IAEO,qBAAqB;QAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC/E,MAAM,IAAI,gCAAc,CAAC,6CAA6C,CAAC,CAAC;QACzE,CAAC;IACF,CAAC;CACD,CAAA;AAtBY,8DAAyB;AAO/B;IADL,IAAA,iBAAI,EAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;;;qDAStC;oCAfW,yBAAyB;IADrC,IAAA,2BAAc,EAAC,eAAe,CAAC;qCAGD,4DAA2B;QAC9B,yCAAkB;GAHjC,yBAAyB,CAsBrC"}
1
+ {"version":3,"file":"mcp-registry-test.controller.js","sourceRoot":"","sources":["../../../src/modules/mcp-registry/mcp-registry-test.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAAuD;AAEvD,8EAA0E;AAE1E,sFAAgF;AAChF,8FAAwF;AACxF,0EAAqE;AACrE,sEAAyD;AACzD,0DAA6E;AAOtE,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IACrC,YACkB,UAAuC,EACvC,OAA2B;QAD3B,eAAU,GAAV,UAAU,CAA6B;QACvC,YAAO,GAAP,OAAO,CAAoB;IAC1C,CAAC;IAGE,AAAN,KAAK,CAAC,IAAI;QACT,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,MAAM,QAAQ,GAAG,CAAC,+BAAgB,EAAE,+BAAgB,CAAC,CAAC,GAAG,CAAC,6BAAQ,CAAC,CAAC;QAGpE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC3D,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,oDAAuB,CAAC,CAAC,OAAO,EAAE,CAAC;YACpF,MAAM,OAAO,CAAC,MAAM,CAAC,oDAAuB,EAAE,QAAQ,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC;QAE7C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC7C,CAAC;IAEO,qBAAqB;QAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC/E,MAAM,IAAI,gCAAc,CAAC,6CAA6C,CAAC,CAAC;QACzE,CAAC;IACF,CAAC;CACD,CAAA;AA3BY,8DAAyB;AAO/B;IADL,IAAA,iBAAI,EAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;;;qDActC;oCApBW,yBAAyB;IADrC,IAAA,2BAAc,EAAC,eAAe,CAAC;qCAGD,4DAA2B;QAC9B,yCAAkB;GAHjC,yBAAyB,CA2BrC"}
@@ -0,0 +1,18 @@
1
+ import type { User } from '@n8n/db';
2
+ import { WorkflowFinderService } from '../../../../workflows/workflow-finder.service';
3
+ import { WorkflowSerializer } from './workflow.serializer';
4
+ import type { PackageWriter } from '../../io/package-writer';
5
+ import type { ManifestEntry } from '../../spec/manifest.schema';
6
+ export interface WorkflowExportRequest {
7
+ user: User;
8
+ workflowIds: string[];
9
+ writer: PackageWriter;
10
+ }
11
+ export declare class WorkflowExporter {
12
+ private readonly workflowFinder;
13
+ private readonly workflowSerializer;
14
+ constructor(workflowFinder: WorkflowFinderService, workflowSerializer: WorkflowSerializer);
15
+ export(request: WorkflowExportRequest): Promise<ManifestEntry[]>;
16
+ private allocateUniqueFileName;
17
+ private assertAllRequestedWorkflowsFound;
18
+ }
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.WorkflowExporter = void 0;
13
+ const di_1 = require("@n8n/di");
14
+ const n8n_workflow_1 = require("n8n-workflow");
15
+ const workflow_finder_service_1 = require("../../../../workflows/workflow-finder.service");
16
+ const workflow_serializer_1 = require("./workflow.serializer");
17
+ const slug_utils_1 = require("../../io/slug.utils");
18
+ let WorkflowExporter = class WorkflowExporter {
19
+ constructor(workflowFinder, workflowSerializer) {
20
+ this.workflowFinder = workflowFinder;
21
+ this.workflowSerializer = workflowSerializer;
22
+ }
23
+ async export(request) {
24
+ const workflows = await this.workflowFinder.findWorkflowsByIdsForUser(request.workflowIds, request.user, ['workflow:export'], { includeParentFolder: true });
25
+ this.assertAllRequestedWorkflowsFound(request.workflowIds, workflows);
26
+ const entries = [];
27
+ const usedTargets = new Set();
28
+ for (const workflow of workflows) {
29
+ const target = this.allocateUniqueFileName(workflow.name, usedTargets);
30
+ const serialized = this.workflowSerializer.serialize(workflow);
31
+ request.writer.writeDirectory(target);
32
+ request.writer.writeFile(`${target}/workflow.json`, JSON.stringify(serialized, null, '\t'));
33
+ entries.push({
34
+ id: workflow.id,
35
+ name: workflow.name,
36
+ target,
37
+ });
38
+ }
39
+ return entries;
40
+ }
41
+ allocateUniqueFileName(name, used) {
42
+ const base = `workflows/${(0, slug_utils_1.generateSlug)(name)}`;
43
+ if (!used.has(base)) {
44
+ used.add(base);
45
+ return base;
46
+ }
47
+ for (let suffix = 2;; suffix++) {
48
+ const candidate = `${base}-${suffix}`;
49
+ if (!used.has(candidate)) {
50
+ used.add(candidate);
51
+ return candidate;
52
+ }
53
+ }
54
+ }
55
+ assertAllRequestedWorkflowsFound(requestedWorkflowIds, foundWorkflows) {
56
+ const foundWorkflowIds = new Set(foundWorkflows.map(({ id }) => id));
57
+ const missingWorkflowIds = requestedWorkflowIds.filter((id) => !foundWorkflowIds.has(id));
58
+ if (missingWorkflowIds.length > 0) {
59
+ const displayedWorkflowIds = missingWorkflowIds.slice(0, 20);
60
+ const omittedCount = missingWorkflowIds.length - displayedWorkflowIds.length;
61
+ throw new n8n_workflow_1.UserError(`${missingWorkflowIds.length} workflow(s) not found or not accessible. Export aborted.`, {
62
+ description: `Missing workflow IDs: ${displayedWorkflowIds.join(', ')}${omittedCount > 0 ? `, and ${omittedCount} more` : ''}`,
63
+ });
64
+ }
65
+ }
66
+ };
67
+ exports.WorkflowExporter = WorkflowExporter;
68
+ exports.WorkflowExporter = WorkflowExporter = __decorate([
69
+ (0, di_1.Service)(),
70
+ __metadata("design:paramtypes", [workflow_finder_service_1.WorkflowFinderService,
71
+ workflow_serializer_1.WorkflowSerializer])
72
+ ], WorkflowExporter);
73
+ //# sourceMappingURL=workflow.exporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.exporter.js","sourceRoot":"","sources":["../../../../../src/modules/n8n-packages/entities/workflow/workflow.exporter.ts"],"names":[],"mappings":"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"}