n8n 2.26.6 → 2.27.1

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 (660) hide show
  1. package/dist/active-workflow-manager.d.ts +9 -17
  2. package/dist/active-workflow-manager.js +48 -159
  3. package/dist/active-workflow-manager.js.map +1 -1
  4. package/dist/binary-data/database.manager.js +2 -1
  5. package/dist/binary-data/database.manager.js.map +1 -1
  6. package/dist/build.tsbuildinfo +1 -1
  7. package/dist/commands/audit.d.ts +1 -0
  8. package/dist/commands/audit.js +9 -0
  9. package/dist/commands/audit.js.map +1 -1
  10. package/dist/commands/base-command.d.ts +1 -0
  11. package/dist/commands/base-command.js +31 -10
  12. package/dist/commands/base-command.js.map +1 -1
  13. package/dist/commands/start.js +7 -3
  14. package/dist/commands/start.js.map +1 -1
  15. package/dist/commands/worker.js +6 -3
  16. package/dist/commands/worker.js.map +1 -1
  17. package/dist/concurrency/concurrency-queue.d.ts +1 -1
  18. package/dist/concurrency/concurrency-queue.js +2 -2
  19. package/dist/concurrency/concurrency-queue.js.map +1 -1
  20. package/dist/controllers/api-keys.controller.js +6 -2
  21. package/dist/controllers/api-keys.controller.js.map +1 -1
  22. package/dist/controllers/e2e.controller.js +1 -1
  23. package/dist/controllers/e2e.controller.js.map +1 -1
  24. package/dist/controllers/oauth/oauth2-credential.controller.js +7 -0
  25. package/dist/controllers/oauth/oauth2-credential.controller.js.map +1 -1
  26. package/dist/controllers/security-settings.controller.d.ts +3 -3
  27. package/dist/controllers/security-settings.controller.js +3 -8
  28. package/dist/controllers/security-settings.controller.js.map +1 -1
  29. package/dist/credentials-helper.js +3 -0
  30. package/dist/credentials-helper.js.map +1 -1
  31. package/dist/errors/http-error-serializers.js +2 -15
  32. package/dist/errors/http-error-serializers.js.map +1 -1
  33. package/dist/errors/response-errors/bad-request.error.d.ts +1 -1
  34. package/dist/errors/response-errors/bad-request.error.js +2 -2
  35. package/dist/errors/response-errors/bad-request.error.js.map +1 -1
  36. package/dist/errors/response-errors/unprocessable.error.d.ts +2 -1
  37. package/dist/errors/response-errors/unprocessable.error.js +2 -1
  38. package/dist/errors/response-errors/unprocessable.error.js.map +1 -1
  39. package/dist/events/event.service.d.ts +1 -1
  40. package/dist/events/event.service.js +2 -2
  41. package/dist/events/event.service.js.map +1 -1
  42. package/dist/events/maps/execution-data.event-map.d.ts +1 -0
  43. package/dist/events/maps/relay.event-map.d.ts +1 -0
  44. package/dist/events/relays/log-streaming.event-relay.js +2 -2
  45. package/dist/events/relays/log-streaming.event-relay.js.map +1 -1
  46. package/dist/events/relays/telemetry.event-relay.js +3 -2
  47. package/dist/events/relays/telemetry.event-relay.js.map +1 -1
  48. package/dist/executions/execution-data/db-store.d.ts +3 -1
  49. package/dist/executions/execution-data/db-store.js +14 -0
  50. package/dist/executions/execution-data/db-store.js.map +1 -1
  51. package/dist/executions/execution-data/fs-store.d.ts +1 -1
  52. package/dist/executions/execution-data/fs-store.js +3 -1
  53. package/dist/executions/execution-data/fs-store.js.map +1 -1
  54. package/dist/executions/execution-data/s3-store.ee.d.ts +15 -0
  55. package/dist/executions/execution-data/s3-store.ee.js +115 -0
  56. package/dist/executions/execution-data/s3-store.ee.js.map +1 -0
  57. package/dist/executions/execution-data/types.d.ts +1 -1
  58. package/dist/executions/execution-persistence.d.ts +16 -2
  59. package/dist/executions/execution-persistence.js +80 -22
  60. package/dist/executions/execution-persistence.js.map +1 -1
  61. package/dist/metrics/prometheus/active-workflow-metrics.service.d.ts +12 -0
  62. package/dist/metrics/prometheus/active-workflow-metrics.service.js +61 -0
  63. package/dist/metrics/prometheus/active-workflow-metrics.service.js.map +1 -0
  64. package/dist/metrics/prometheus/base.d.ts +5 -0
  65. package/dist/metrics/{types.js → prometheus/base.js} +1 -1
  66. package/dist/metrics/prometheus/base.js.map +1 -0
  67. package/dist/metrics/prometheus/cache-metrics.service.d.ts +11 -0
  68. package/dist/metrics/prometheus/cache-metrics.service.js +48 -0
  69. package/dist/metrics/prometheus/cache-metrics.service.js.map +1 -0
  70. package/dist/metrics/prometheus/constant.d.ts +2 -0
  71. package/dist/metrics/prometheus/constant.js +18 -0
  72. package/dist/metrics/prometheus/constant.js.map +1 -0
  73. package/dist/metrics/prometheus/default-metrics.service.d.ts +8 -0
  74. package/dist/metrics/prometheus/default-metrics.service.js +35 -0
  75. package/dist/metrics/prometheus/default-metrics.service.js.map +1 -0
  76. package/dist/metrics/prometheus/dns-cache-metrics.service.d.ts +12 -0
  77. package/dist/metrics/prometheus/dns-cache-metrics.service.js +58 -0
  78. package/dist/metrics/prometheus/dns-cache-metrics.service.js.map +1 -0
  79. package/dist/metrics/prometheus/event-bus-metrics.service.d.ts +15 -0
  80. package/dist/metrics/prometheus/event-bus-metrics.service.js +106 -0
  81. package/dist/metrics/prometheus/event-bus-metrics.service.js.map +1 -0
  82. package/dist/metrics/prometheus/execution-data-metrics.service.d.ts +12 -0
  83. package/dist/metrics/prometheus/execution-data-metrics.service.js +106 -0
  84. package/dist/metrics/prometheus/execution-data-metrics.service.js.map +1 -0
  85. package/dist/metrics/prometheus/index.d.ts +1 -0
  86. package/dist/metrics/prometheus/index.js +6 -0
  87. package/dist/metrics/prometheus/index.js.map +1 -0
  88. package/dist/metrics/prometheus/instance-role-metrics.service.d.ts +13 -0
  89. package/dist/metrics/prometheus/instance-role-metrics.service.js +61 -0
  90. package/dist/metrics/prometheus/instance-role-metrics.service.js.map +1 -0
  91. package/dist/metrics/prometheus/prometheus.service.d.ts +26 -0
  92. package/dist/metrics/prometheus/prometheus.service.js +105 -0
  93. package/dist/metrics/prometheus/prometheus.service.js.map +1 -0
  94. package/dist/metrics/prometheus/pss-metrics.service.d.ts +9 -0
  95. package/dist/metrics/prometheus/pss-metrics.service.js +59 -0
  96. package/dist/metrics/prometheus/pss-metrics.service.js.map +1 -0
  97. package/dist/metrics/prometheus/queue-metrics.service.d.ts +13 -0
  98. package/dist/metrics/prometheus/queue-metrics.service.js +71 -0
  99. package/dist/metrics/prometheus/queue-metrics.service.js.map +1 -0
  100. package/dist/metrics/prometheus/route-metrics.service.d.ts +11 -0
  101. package/dist/metrics/prometheus/route-metrics.service.js +69 -0
  102. package/dist/metrics/prometheus/route-metrics.service.js.map +1 -0
  103. package/dist/metrics/prometheus/ssrf-metrics.service.d.ts +11 -0
  104. package/dist/metrics/prometheus/ssrf-metrics.service.js +65 -0
  105. package/dist/metrics/prometheus/ssrf-metrics.service.js.map +1 -0
  106. package/dist/metrics/prometheus/token-exchange-metrics.service.d.ts +10 -0
  107. package/dist/metrics/prometheus/token-exchange-metrics.service.js +91 -0
  108. package/dist/metrics/prometheus/token-exchange-metrics.service.js.map +1 -0
  109. package/dist/metrics/prometheus/version-metrics.service.d.ts +8 -0
  110. package/dist/metrics/prometheus/version-metrics.service.js +46 -0
  111. package/dist/metrics/prometheus/version-metrics.service.js.map +1 -0
  112. package/dist/metrics/prometheus/workflow-execution-duration-metrics.service.d.ts +10 -0
  113. package/dist/metrics/prometheus/workflow-execution-duration-metrics.service.js +61 -0
  114. package/dist/metrics/prometheus/workflow-execution-duration-metrics.service.js.map +1 -0
  115. package/dist/metrics/prometheus/workflow-statistics-metrics.service.d.ts +17 -0
  116. package/dist/metrics/prometheus/workflow-statistics-metrics.service.js +130 -0
  117. package/dist/metrics/prometheus/workflow-statistics-metrics.service.js.map +1 -0
  118. package/dist/modules/agents/agent-knowledge.service.d.ts +3 -32
  119. package/dist/modules/agents/agent-knowledge.service.js +7 -248
  120. package/dist/modules/agents/agent-knowledge.service.js.map +1 -1
  121. package/dist/modules/agents/agent-runtime-reconstruction.service.d.ts +1 -6
  122. package/dist/modules/agents/agent-runtime-reconstruction.service.js +2 -28
  123. package/dist/modules/agents/agent-runtime-reconstruction.service.js.map +1 -1
  124. package/dist/modules/agents/agents-list.controller.d.ts +9 -0
  125. package/dist/modules/agents/agents-list.controller.js +39 -0
  126. package/dist/modules/agents/agents-list.controller.js.map +1 -0
  127. package/dist/modules/agents/agents.controller.d.ts +6 -6
  128. package/dist/modules/agents/agents.controller.js +12 -19
  129. package/dist/modules/agents/agents.controller.js.map +1 -1
  130. package/dist/modules/agents/agents.module.d.ts +3 -2
  131. package/dist/modules/agents/agents.module.js +4 -2
  132. package/dist/modules/agents/agents.module.js.map +1 -1
  133. package/dist/modules/agents/agents.service.d.ts +10 -2
  134. package/dist/modules/agents/agents.service.js +119 -82
  135. package/dist/modules/agents/agents.service.js.map +1 -1
  136. package/dist/modules/agents/entities/agent-chat-subscription.entity.d.ts +10 -0
  137. package/dist/modules/agents/entities/{agent-file.entity.js → agent-chat-subscription.entity.js} +34 -23
  138. package/dist/modules/agents/entities/agent-chat-subscription.entity.js.map +1 -0
  139. package/dist/modules/agents/execution-recorder.js +15 -2
  140. package/dist/modules/agents/execution-recorder.js.map +1 -1
  141. package/dist/modules/agents/integrations/agent-chat-subscription-state.adapter.d.ts +43 -0
  142. package/dist/modules/agents/integrations/agent-chat-subscription-state.adapter.js +139 -0
  143. package/dist/modules/agents/integrations/agent-chat-subscription-state.adapter.js.map +1 -0
  144. package/dist/modules/agents/integrations/agent-chat-subscription-state.service.d.ts +26 -0
  145. package/dist/modules/agents/integrations/agent-chat-subscription-state.service.js +88 -0
  146. package/dist/modules/agents/integrations/agent-chat-subscription-state.service.js.map +1 -0
  147. package/dist/modules/agents/integrations/chat-integration.service.d.ts +3 -1
  148. package/dist/modules/agents/integrations/chat-integration.service.js +47 -18
  149. package/dist/modules/agents/integrations/chat-integration.service.js.map +1 -1
  150. package/dist/modules/agents/integrations/component-mapper.js.map +1 -1
  151. package/dist/modules/agents/integrations/slack-app-setup.service.js +8 -8
  152. package/dist/modules/agents/integrations/slack-app-setup.service.js.map +1 -1
  153. package/dist/modules/agents/repositories/agent-chat-subscription.repository.d.ts +15 -0
  154. package/dist/modules/agents/repositories/agent-chat-subscription.repository.js +51 -0
  155. package/dist/modules/agents/repositories/agent-chat-subscription.repository.js.map +1 -0
  156. package/dist/modules/agents/repositories/agent.repository.d.ts +7 -0
  157. package/dist/modules/agents/repositories/agent.repository.js +28 -0
  158. package/dist/modules/agents/repositories/agent.repository.js.map +1 -1
  159. package/dist/modules/data-table/data-table.repository.js +1 -1
  160. package/dist/modules/data-table/data-table.repository.js.map +1 -1
  161. package/dist/modules/data-table/utils/sql-utils.js +16 -1
  162. package/dist/modules/data-table/utils/sql-utils.js.map +1 -1
  163. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.module.js +15 -7
  164. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.module.js.map +1 -1
  165. package/dist/modules/instance-ai/eval/execution.service.js +51 -32
  166. package/dist/modules/instance-ai/eval/execution.service.js.map +1 -1
  167. package/dist/modules/instance-ai/eval/mock-handler.js +77 -13
  168. package/dist/modules/instance-ai/eval/mock-handler.js.map +1 -1
  169. package/dist/modules/instance-ai/eval/mock-quirks.js +8 -1
  170. package/dist/modules/instance-ai/eval/mock-quirks.js.map +1 -1
  171. package/dist/modules/instance-ai/eval/workflow-analysis.js +2 -0
  172. package/dist/modules/instance-ai/eval/workflow-analysis.js.map +1 -1
  173. package/dist/modules/instance-ai/instance-ai.adapter.service.d.ts +5 -4
  174. package/dist/modules/instance-ai/instance-ai.adapter.service.js +7 -121
  175. package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -1
  176. package/dist/modules/instance-ai/instance-ai.controller.js +1 -1
  177. package/dist/modules/instance-ai/instance-ai.service.d.ts +5 -28
  178. package/dist/modules/instance-ai/instance-ai.service.js +58 -471
  179. package/dist/modules/instance-ai/instance-ai.service.js.map +1 -1
  180. package/dist/modules/instance-ai/output-redaction-config.d.ts +3 -0
  181. package/dist/modules/instance-ai/output-redaction-config.js +19 -0
  182. package/dist/modules/instance-ai/output-redaction-config.js.map +1 -0
  183. package/dist/modules/instance-ai/sandbox/index.d.ts +1 -0
  184. package/dist/modules/instance-ai/sandbox/index.js +6 -0
  185. package/dist/modules/instance-ai/sandbox/index.js.map +1 -0
  186. package/dist/modules/instance-ai/sandbox/instance-ai-sandbox.service.d.ts +77 -0
  187. package/dist/modules/instance-ai/sandbox/instance-ai-sandbox.service.js +297 -0
  188. package/dist/modules/instance-ai/sandbox/instance-ai-sandbox.service.js.map +1 -0
  189. package/dist/modules/instance-ai/suspended-run-restorer.service.d.ts +62 -0
  190. package/dist/modules/instance-ai/suspended-run-restorer.service.js +116 -0
  191. package/dist/modules/instance-ai/suspended-run-restorer.service.js.map +1 -0
  192. package/dist/modules/instance-ai/suspended-thread-persistence.service.d.ts +51 -0
  193. package/dist/modules/instance-ai/suspended-thread-persistence.service.js +106 -0
  194. package/dist/modules/instance-ai/suspended-thread-persistence.service.js.map +1 -0
  195. package/dist/modules/instance-ai/web-research/fetch-and-extract.d.ts +1 -1
  196. package/dist/modules/mcp/mcp-api-key.service.d.ts +3 -7
  197. package/dist/modules/mcp/mcp-api-key.service.js +1 -22
  198. package/dist/modules/mcp/mcp-api-key.service.js.map +1 -1
  199. package/dist/modules/mcp/mcp-protected-resource.d.ts +13 -0
  200. package/dist/modules/mcp/mcp-protected-resource.js +39 -0
  201. package/dist/modules/mcp/mcp-protected-resource.js.map +1 -0
  202. package/dist/modules/mcp/mcp-server-middleware.service.d.ts +5 -4
  203. package/dist/modules/mcp/mcp-server-middleware.service.js +9 -6
  204. package/dist/modules/mcp/mcp-server-middleware.service.js.map +1 -1
  205. package/dist/modules/mcp/mcp.config.d.ts +3 -0
  206. package/dist/modules/mcp/mcp.config.js +28 -0
  207. package/dist/modules/mcp/mcp.config.js.map +1 -0
  208. package/dist/modules/mcp/mcp.controller.js +4 -2
  209. package/dist/modules/mcp/mcp.controller.js.map +1 -1
  210. package/dist/modules/mcp/mcp.errors.d.ts +0 -13
  211. package/dist/modules/mcp/mcp.errors.js +1 -27
  212. package/dist/modules/mcp/mcp.errors.js.map +1 -1
  213. package/dist/modules/mcp/mcp.module.d.ts +0 -1
  214. package/dist/modules/mcp/mcp.module.js +3 -11
  215. package/dist/modules/mcp/mcp.module.js.map +1 -1
  216. package/dist/modules/mcp/mcp.service.d.ts +5 -1
  217. package/dist/modules/mcp/mcp.service.js +16 -2
  218. package/dist/modules/mcp/mcp.service.js.map +1 -1
  219. package/dist/modules/mcp/mcp.types.d.ts +6 -14
  220. package/dist/modules/mcp/mcp.types.js.map +1 -1
  221. package/dist/modules/mcp/tools/get-workflow-details.tool.js +1 -1
  222. package/dist/modules/mcp/tools/get-workflow-details.tool.js.map +1 -1
  223. package/dist/modules/mcp/tools/list-tags.tool.d.ts +26 -0
  224. package/dist/modules/mcp/tools/list-tags.tool.js +91 -0
  225. package/dist/modules/mcp/tools/list-tags.tool.js.map +1 -0
  226. package/dist/modules/mcp/tools/schemas.d.ts +7 -0
  227. package/dist/modules/mcp/tools/schemas.js +3 -1
  228. package/dist/modules/mcp/tools/schemas.js.map +1 -1
  229. package/dist/modules/mcp/tools/search-workflows.tool.d.ts +2 -1
  230. package/dist/modules/mcp/tools/search-workflows.tool.js +14 -4
  231. package/dist/modules/mcp/tools/search-workflows.tool.js.map +1 -1
  232. package/dist/modules/mcp/tools/workflow-builder/constants.d.ts +1 -1
  233. package/dist/modules/mcp/tools/workflow-builder/constants.js +2 -1
  234. package/dist/modules/mcp/tools/workflow-builder/constants.js.map +1 -1
  235. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js +24 -6
  236. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js.map +1 -1
  237. package/dist/modules/mcp/tools/workflow-builder/explore-node-resources.tool.d.ts +18 -0
  238. package/dist/modules/mcp/tools/workflow-builder/explore-node-resources.tool.js +119 -0
  239. package/dist/modules/mcp/tools/workflow-builder/explore-node-resources.tool.js.map +1 -0
  240. package/dist/modules/mcp/tools/workflow-builder/get-workflow-node-types.tool.d.ts +2 -2
  241. package/dist/modules/mcp/tools/workflow-builder/get-workflow-node-types.tool.js +4 -4
  242. package/dist/modules/mcp/tools/workflow-builder/get-workflow-node-types.tool.js.map +1 -1
  243. package/dist/modules/mcp/tools/workflow-builder/mcp-instructions.js +8 -6
  244. package/dist/modules/mcp/tools/workflow-builder/mcp-instructions.js.map +1 -1
  245. package/dist/modules/mcp/tools/workflow-builder/search-workflow-nodes.tool.js +1 -1
  246. package/dist/modules/mcp/tools/workflow-builder/search-workflow-nodes.tool.js.map +1 -1
  247. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.d.ts +4 -294
  248. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js +137 -16
  249. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js.map +1 -1
  250. package/dist/modules/mcp/tools/workflow-builder/workflow-operations.d.ts +23 -1
  251. package/dist/modules/mcp/tools/workflow-builder/workflow-operations.js +54 -2
  252. package/dist/modules/mcp/tools/workflow-builder/workflow-operations.js.map +1 -1
  253. package/dist/modules/mcp/tools/workflow-validation.utils.d.ts +1 -0
  254. package/dist/modules/mcp/tools/workflow-validation.utils.js +1 -0
  255. package/dist/modules/mcp/tools/workflow-validation.utils.js.map +1 -1
  256. package/dist/modules/mcp-registry/node-description-transform.js +6 -0
  257. package/dist/modules/mcp-registry/node-description-transform.js.map +1 -1
  258. package/dist/modules/n8n-packages/engine/import-blocked.error.d.ts +4 -0
  259. package/dist/modules/n8n-packages/engine/import-blocked.error.js +14 -0
  260. package/dist/modules/n8n-packages/engine/import-blocked.error.js.map +1 -0
  261. package/dist/modules/n8n-packages/engine/import-pipeline.d.ts +9 -7
  262. package/dist/modules/n8n-packages/engine/import-pipeline.js +57 -113
  263. package/dist/modules/n8n-packages/engine/import-pipeline.js.map +1 -1
  264. package/dist/modules/n8n-packages/engine/n8n-package-parser.d.ts +11 -0
  265. package/dist/modules/n8n-packages/engine/n8n-package-parser.js +114 -0
  266. package/dist/modules/n8n-packages/engine/n8n-package-parser.js.map +1 -0
  267. package/dist/modules/n8n-packages/entities/credential/credential-importer.d.ts +4 -5
  268. package/dist/modules/n8n-packages/entities/credential/credential-importer.js +9 -12
  269. package/dist/modules/n8n-packages/entities/credential/credential-importer.js.map +1 -1
  270. package/dist/modules/n8n-packages/entities/credential/credential-matcher.d.ts +1 -0
  271. package/dist/modules/n8n-packages/entities/credential/credential-matcher.js +27 -2
  272. package/dist/modules/n8n-packages/entities/credential/credential-matcher.js.map +1 -1
  273. package/dist/modules/n8n-packages/entities/credential/credential-missing-mode.d.ts +3 -7
  274. package/dist/modules/n8n-packages/entities/credential/credential-missing-mode.js +6 -13
  275. package/dist/modules/n8n-packages/entities/credential/credential-missing-mode.js.map +1 -1
  276. package/dist/modules/n8n-packages/entities/credential/credential.types.d.ts +3 -10
  277. package/dist/modules/n8n-packages/entities/credential/credential.types.js +0 -4
  278. package/dist/modules/n8n-packages/entities/credential/credential.types.js.map +1 -1
  279. package/dist/modules/n8n-packages/entities/credential/id-based-credential-matcher.js +11 -6
  280. package/dist/modules/n8n-packages/entities/credential/id-based-credential-matcher.js.map +1 -1
  281. package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy.d.ts +4 -0
  282. package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy.js +12 -0
  283. package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy.js.map +1 -0
  284. package/dist/modules/n8n-packages/entities/workflow/workflow-id-policy.d.ts +2 -0
  285. package/dist/modules/n8n-packages/entities/workflow/workflow-id-policy.js +12 -0
  286. package/dist/modules/n8n-packages/entities/workflow/workflow-id-policy.js.map +1 -0
  287. package/dist/modules/n8n-packages/entities/workflow/workflow-import-match.service.d.ts +15 -2
  288. package/dist/modules/n8n-packages/entities/workflow/workflow-import-match.service.js +18 -2
  289. package/dist/modules/n8n-packages/entities/workflow/workflow-import-match.service.js.map +1 -1
  290. package/dist/modules/n8n-packages/entities/workflow/workflow-import.types.d.ts +47 -0
  291. package/dist/modules/n8n-packages/entities/workflow/{workflow-conflict-policy.types.js → workflow-import.types.js} +1 -1
  292. package/dist/modules/n8n-packages/entities/workflow/workflow-import.types.js.map +1 -0
  293. package/dist/modules/n8n-packages/entities/workflow/workflow-importer.d.ts +14 -6
  294. package/dist/modules/n8n-packages/entities/workflow/workflow-importer.js +136 -19
  295. package/dist/modules/n8n-packages/entities/workflow/workflow-importer.js.map +1 -1
  296. package/dist/modules/n8n-packages/entities/workflow/workflow-publisher.d.ts +16 -0
  297. package/dist/modules/n8n-packages/entities/workflow/workflow-publisher.js +87 -0
  298. package/dist/modules/n8n-packages/entities/workflow/workflow-publisher.js.map +1 -0
  299. package/dist/modules/n8n-packages/entities/workflow/workflow-publishing-policy.d.ts +2 -0
  300. package/dist/modules/n8n-packages/entities/workflow/workflow-publishing-policy.js +28 -0
  301. package/dist/modules/n8n-packages/entities/workflow/workflow-publishing-policy.js.map +1 -0
  302. package/dist/modules/n8n-packages/entities/workflow/workflow-publishing-policy.types.d.ts +14 -0
  303. package/dist/modules/n8n-packages/entities/workflow/workflow-publishing-policy.types.js +10 -0
  304. package/dist/modules/n8n-packages/entities/workflow/workflow-publishing-policy.types.js.map +1 -0
  305. package/dist/modules/n8n-packages/entities/workflow/workflow.serializer.js +1 -1
  306. package/dist/modules/n8n-packages/entities/workflow/workflow.serializer.js.map +1 -1
  307. package/dist/modules/n8n-packages/io/tar/tar-package-reader.d.ts +10 -3
  308. package/dist/modules/n8n-packages/io/tar/tar-package-reader.js +103 -20
  309. package/dist/modules/n8n-packages/io/tar/tar-package-reader.js.map +1 -1
  310. package/dist/modules/n8n-packages/n8n-packages.config.d.ts +6 -0
  311. package/dist/modules/n8n-packages/n8n-packages.config.js +43 -0
  312. package/dist/modules/n8n-packages/n8n-packages.config.js.map +1 -0
  313. package/dist/modules/n8n-packages/n8n-packages.controller.js +0 -1
  314. package/dist/modules/n8n-packages/n8n-packages.controller.js.map +1 -1
  315. package/dist/modules/n8n-packages/n8n-packages.module.js +0 -2
  316. package/dist/modules/n8n-packages/n8n-packages.module.js.map +1 -1
  317. package/dist/modules/n8n-packages/n8n-packages.types.d.ts +41 -7
  318. package/dist/modules/n8n-packages/n8n-packages.types.js +7 -1
  319. package/dist/modules/n8n-packages/n8n-packages.types.js.map +1 -1
  320. package/dist/modules/n8n-packages/spec/serialized/workflow.schema.d.ts +3 -3
  321. package/dist/modules/n8n-packages/spec/serialized/workflow.schema.js +1 -1
  322. package/dist/modules/n8n-packages/spec/serialized/workflow.schema.js.map +1 -1
  323. package/dist/modules/n8n-packages/utils/import-package-upload.js +2 -2
  324. package/dist/modules/n8n-packages/utils/import-package-upload.js.map +1 -1
  325. package/dist/modules/oauth-server/database/entities/oauth-access-token.entity.js.map +1 -0
  326. package/dist/modules/oauth-server/database/entities/oauth-authorization-code.entity.js.map +1 -0
  327. package/dist/modules/oauth-server/database/entities/oauth-client.entity.js.map +1 -0
  328. package/dist/modules/oauth-server/database/entities/oauth-refresh-token.entity.js.map +1 -0
  329. package/dist/modules/oauth-server/database/entities/oauth-user-consent.entity.js.map +1 -0
  330. package/dist/modules/oauth-server/database/repositories/oauth-access-token.repository.js.map +1 -0
  331. package/dist/modules/oauth-server/database/repositories/oauth-authorization-code.repository.js.map +1 -0
  332. package/dist/modules/oauth-server/database/repositories/oauth-client.repository.js.map +1 -0
  333. package/dist/modules/oauth-server/database/repositories/oauth-refresh-token.repository.js.map +1 -0
  334. package/dist/modules/oauth-server/database/repositories/oauth-user-consent.repository.js.map +1 -0
  335. package/dist/modules/oauth-server/dto/approve-consent-request.dto.js.map +1 -0
  336. package/dist/modules/{mcp/mcp-oauth-authorization-code.service.d.ts → oauth-server/oauth-authorization-code.service.d.ts} +1 -1
  337. package/dist/modules/{mcp/mcp-oauth-authorization-code.service.js → oauth-server/oauth-authorization-code.service.js} +12 -12
  338. package/dist/modules/oauth-server/oauth-authorization-code.service.js.map +1 -0
  339. package/dist/modules/{mcp/mcp.oauth-clients.controller.d.ts → oauth-server/oauth-clients.controller.d.ts} +4 -4
  340. package/dist/modules/{mcp/mcp.oauth-clients.controller.js → oauth-server/oauth-clients.controller.js} +16 -16
  341. package/dist/modules/oauth-server/oauth-clients.controller.js.map +1 -0
  342. package/dist/modules/{mcp/mcp.auth.consent.controller.d.ts → oauth-server/oauth-consent.controller.d.ts} +3 -3
  343. package/dist/modules/{mcp/mcp.auth.consent.controller.js → oauth-server/oauth-consent.controller.js} +16 -10
  344. package/dist/modules/oauth-server/oauth-consent.controller.js.map +1 -0
  345. package/dist/modules/{mcp/mcp-oauth-consent.service.d.ts → oauth-server/oauth-consent.service.d.ts} +16 -7
  346. package/dist/modules/{mcp/mcp-oauth-consent.service.js → oauth-server/oauth-consent.service.js} +28 -12
  347. package/dist/modules/oauth-server/oauth-consent.service.js.map +1 -0
  348. package/dist/modules/oauth-server/oauth-server.config.d.ts +7 -0
  349. package/dist/modules/oauth-server/oauth-server.config.js +49 -0
  350. package/dist/modules/oauth-server/oauth-server.config.js.map +1 -0
  351. package/dist/modules/oauth-server/oauth-server.module.d.ts +5 -0
  352. package/dist/modules/oauth-server/oauth-server.module.js +75 -0
  353. package/dist/modules/oauth-server/oauth-server.module.js.map +1 -0
  354. package/dist/modules/{mcp/mcp-oauth-service.d.ts → oauth-server/oauth-server.service.d.ts} +6 -6
  355. package/dist/modules/{mcp/mcp-oauth-service.js → oauth-server/oauth-server.service.js} +33 -30
  356. package/dist/modules/oauth-server/oauth-server.service.js.map +1 -0
  357. package/dist/modules/oauth-server/oauth-session.service.js.map +1 -0
  358. package/dist/modules/{mcp/mcp-oauth-token.service.d.ts → oauth-server/oauth-token.service.d.ts} +5 -8
  359. package/dist/modules/{mcp/mcp-oauth-token.service.js → oauth-server/oauth-token.service.js} +29 -30
  360. package/dist/modules/oauth-server/oauth-token.service.js.map +1 -0
  361. package/dist/modules/{mcp/mcp.oauth.controller.d.ts → oauth-server/oauth.controller.d.ts} +5 -3
  362. package/dist/modules/{mcp/mcp.oauth.controller.js → oauth-server/oauth.controller.js} +86 -72
  363. package/dist/modules/oauth-server/oauth.controller.js.map +1 -0
  364. package/dist/modules/oauth-server/oauth.errors.d.ts +13 -0
  365. package/dist/modules/oauth-server/oauth.errors.js +30 -0
  366. package/dist/modules/oauth-server/oauth.errors.js.map +1 -0
  367. package/dist/modules/{mcp/mcp-oauth.helpers.d.ts → oauth-server/oauth.helpers.d.ts} +1 -1
  368. package/dist/modules/{mcp/mcp-oauth.helpers.js → oauth-server/oauth.helpers.js} +4 -4
  369. package/dist/modules/oauth-server/oauth.helpers.js.map +1 -0
  370. package/dist/modules/oauth-server/protected-resource-resolvers/utils.d.ts +4 -0
  371. package/dist/modules/oauth-server/protected-resource-resolvers/utils.js +41 -0
  372. package/dist/modules/oauth-server/protected-resource-resolvers/utils.js.map +1 -0
  373. package/dist/modules/oauth-server/protected-resource-resolvers/workflow-mcp-test-trigger-resource.resolver.d.ts +28 -0
  374. package/dist/modules/oauth-server/protected-resource-resolvers/workflow-mcp-test-trigger-resource.resolver.js +78 -0
  375. package/dist/modules/oauth-server/protected-resource-resolvers/workflow-mcp-test-trigger-resource.resolver.js.map +1 -0
  376. package/dist/modules/oauth-server/protected-resource-resolvers/workflow-mcp-trigger-resource.resolver.d.ts +30 -0
  377. package/dist/modules/oauth-server/protected-resource-resolvers/workflow-mcp-trigger-resource.resolver.js +95 -0
  378. package/dist/modules/oauth-server/protected-resource-resolvers/workflow-mcp-trigger-resource.resolver.js.map +1 -0
  379. package/dist/modules/otel/execution-level-tracer.d.ts +5 -4
  380. package/dist/modules/otel/execution-level-tracer.js +8 -5
  381. package/dist/modules/otel/execution-level-tracer.js.map +1 -1
  382. package/dist/modules/otel/otel-lifecycle-handler.d.ts +8 -4
  383. package/dist/modules/otel/otel-lifecycle-handler.js +32 -15
  384. package/dist/modules/otel/otel-lifecycle-handler.js.map +1 -1
  385. package/dist/modules/otel/otel-settings.controller.d.ts +18 -0
  386. package/dist/modules/otel/otel-settings.controller.js +79 -0
  387. package/dist/modules/otel/otel-settings.controller.js.map +1 -0
  388. package/dist/modules/otel/otel-settings.service.d.ts +21 -0
  389. package/dist/modules/otel/otel-settings.service.js +89 -0
  390. package/dist/modules/otel/otel-settings.service.js.map +1 -0
  391. package/dist/modules/otel/otel.config.js +11 -10
  392. package/dist/modules/otel/otel.config.js.map +1 -1
  393. package/dist/modules/otel/otel.constants.d.ts +14 -0
  394. package/dist/modules/otel/otel.constants.js +15 -1
  395. package/dist/modules/otel/otel.constants.js.map +1 -1
  396. package/dist/modules/otel/otel.module.js +9 -17
  397. package/dist/modules/otel/otel.module.js.map +1 -1
  398. package/dist/modules/otel/otel.service.d.ts +15 -4
  399. package/dist/modules/otel/otel.service.js +73 -17
  400. package/dist/modules/otel/otel.service.js.map +1 -1
  401. package/dist/modules/provisioning.ee/role-mapping-rule.service.ee.d.ts +1 -0
  402. package/dist/modules/provisioning.ee/role-mapping-rule.service.ee.js +46 -19
  403. package/dist/modules/provisioning.ee/role-mapping-rule.service.ee.js.map +1 -1
  404. package/dist/modules/redaction/instance-redaction-enforcement.service.js +0 -6
  405. package/dist/modules/redaction/instance-redaction-enforcement.service.js.map +1 -1
  406. package/dist/modules/source-control.ee/source-control-git.service.ee.js +2 -5
  407. package/dist/modules/source-control.ee/source-control-git.service.ee.js.map +1 -1
  408. package/dist/modules/sso-saml/saml.service.ee.js +3 -2
  409. package/dist/modules/sso-saml/saml.service.ee.js.map +1 -1
  410. package/dist/modules/workflow-index/workflow-dependency-query.service.js +39 -20
  411. package/dist/modules/workflow-index/workflow-dependency-query.service.js.map +1 -1
  412. package/dist/oauth/oauth.service.d.ts +14 -0
  413. package/dist/oauth/oauth.service.js +220 -102
  414. package/dist/oauth/oauth.service.js.map +1 -1
  415. package/dist/oauth/types.d.ts +1 -0
  416. package/dist/oauth/types.js.map +1 -1
  417. package/dist/public-api/index.js +8 -8
  418. package/dist/public-api/index.js.map +1 -1
  419. package/dist/public-api/types.d.ts +1 -6
  420. package/dist/public-api/v1/handlers/credentials/credentials.service.js +7 -8
  421. package/dist/public-api/v1/handlers/credentials/credentials.service.js.map +1 -1
  422. package/dist/public-api/v1/handlers/executions/executions.handler.js +1 -1
  423. package/dist/public-api/v1/handlers/executions/executions.handler.js.map +1 -1
  424. package/dist/public-api/v1/handlers/n8n-packages/n8n-packages.handler.js +3 -3
  425. package/dist/public-api/v1/handlers/n8n-packages/n8n-packages.handler.js.map +1 -1
  426. package/dist/public-api/v1/openapi.yml +208 -51
  427. package/dist/push/abstract.push.d.ts +1 -2
  428. package/dist/push/abstract.push.js +1 -2
  429. package/dist/push/abstract.push.js.map +1 -1
  430. package/dist/push/index.d.ts +1 -2
  431. package/dist/push/index.js +3 -4
  432. package/dist/push/index.js.map +1 -1
  433. package/dist/scaling/constants.d.ts +2 -2
  434. package/dist/scaling/constants.js +1 -0
  435. package/dist/scaling/constants.js.map +1 -1
  436. package/dist/scaling/job-processor.d.ts +0 -1
  437. package/dist/scaling/job-processor.js +1 -23
  438. package/dist/scaling/job-processor.js.map +1 -1
  439. package/dist/scaling/multi-main-setup.ee.d.ts +1 -2
  440. package/dist/scaling/multi-main-setup.ee.js +1 -2
  441. package/dist/scaling/multi-main-setup.ee.js.map +1 -1
  442. package/dist/scaling/pubsub/pubsub.event-map.d.ts +7 -0
  443. package/dist/scaling/pubsub/pubsub.eventbus.d.ts +1 -1
  444. package/dist/scaling/pubsub/pubsub.eventbus.js +2 -2
  445. package/dist/scaling/pubsub/pubsub.eventbus.js.map +1 -1
  446. package/dist/scaling/pubsub/pubsub.types.d.ts +3 -1
  447. package/dist/scaling/worker-server.d.ts +1 -1
  448. package/dist/scaling/worker-server.js +5 -5
  449. package/dist/scaling/worker-server.js.map +1 -1
  450. package/dist/server.js +4 -3
  451. package/dist/server.js.map +1 -1
  452. package/dist/services/ai-workflow-builder.service.d.ts +2 -1
  453. package/dist/services/ai-workflow-builder.service.js +2 -1
  454. package/dist/services/ai-workflow-builder.service.js.map +1 -1
  455. package/dist/services/cache/cache.service.d.ts +1 -1
  456. package/dist/services/cache/cache.service.js +2 -2
  457. package/dist/services/cache/cache.service.js.map +1 -1
  458. package/dist/services/node-resource-explorer.service.d.ts +16 -0
  459. package/dist/services/node-resource-explorer.service.js +154 -0
  460. package/dist/services/node-resource-explorer.service.js.map +1 -0
  461. package/dist/services/oauth-token-verifier-proxy.service.d.ts +22 -0
  462. package/dist/services/oauth-token-verifier-proxy.service.js +36 -0
  463. package/dist/services/oauth-token-verifier-proxy.service.js.map +1 -0
  464. package/dist/services/protected-resource.registry.d.ts +31 -0
  465. package/dist/services/protected-resource.registry.js +115 -0
  466. package/dist/services/protected-resource.registry.js.map +1 -0
  467. package/dist/services/public-api-key.service.d.ts +8 -2
  468. package/dist/services/public-api-key.service.js +29 -6
  469. package/dist/services/public-api-key.service.js.map +1 -1
  470. package/dist/services/redis-client.service.d.ts +2 -2
  471. package/dist/services/redis-client.service.js +6 -4
  472. package/dist/services/redis-client.service.js.map +1 -1
  473. package/dist/services/tag.service.d.ts +10 -0
  474. package/dist/services/tag.service.js +84 -4
  475. package/dist/services/tag.service.js.map +1 -1
  476. package/dist/services/workflow-statistics.service.d.ts +1 -2
  477. package/dist/services/workflow-statistics.service.js +1 -2
  478. package/dist/services/workflow-statistics.service.js.map +1 -1
  479. package/dist/task-runners/sliding-window-signal.d.ts +1 -1
  480. package/dist/task-runners/task-runner-lifecycle-events.d.ts +1 -1
  481. package/dist/task-runners/task-runner-lifecycle-events.js +2 -2
  482. package/dist/task-runners/task-runner-lifecycle-events.js.map +1 -1
  483. package/dist/task-runners/task-runner-process-base.d.ts +1 -2
  484. package/dist/task-runners/task-runner-process-base.js +1 -2
  485. package/dist/task-runners/task-runner-process-base.js.map +1 -1
  486. package/dist/task-runners/task-runner-process-restart-loop-detector.d.ts +1 -1
  487. package/dist/task-runners/task-runner-process-restart-loop-detector.js +2 -2
  488. package/dist/task-runners/task-runner-process-restart-loop-detector.js.map +1 -1
  489. package/dist/user-management/email/templates/api-key-revoked.handlebars +196 -0
  490. package/dist/user-management/email/user-management-mailer.d.ts +6 -2
  491. package/dist/user-management/email/user-management-mailer.js +32 -0
  492. package/dist/user-management/email/user-management-mailer.js.map +1 -1
  493. package/dist/wait-tracker.d.ts +1 -1
  494. package/dist/wait-tracker.js +3 -3
  495. package/dist/wait-tracker.js.map +1 -1
  496. package/dist/webhooks/webhook-helpers.js +30 -1
  497. package/dist/webhooks/webhook-helpers.js.map +1 -1
  498. package/dist/webhooks/webhook-server.js +2 -2
  499. package/dist/webhooks/webhook-server.js.map +1 -1
  500. package/dist/webhooks/webhook.service.d.ts +4 -1
  501. package/dist/webhooks/webhook.service.js +19 -4
  502. package/dist/webhooks/webhook.service.js.map +1 -1
  503. package/dist/workflow-execute-additional-data.d.ts +1 -1
  504. package/dist/workflow-execute-additional-data.js +4 -1
  505. package/dist/workflow-execute-additional-data.js.map +1 -1
  506. package/dist/workflow-helpers.d.ts +1 -1
  507. package/dist/workflow-helpers.js +13 -3
  508. package/dist/workflow-helpers.js.map +1 -1
  509. package/dist/workflow-runner.js +0 -2
  510. package/dist/workflow-runner.js.map +1 -1
  511. package/dist/workflows/publication/publication-result.d.ts +17 -0
  512. package/dist/workflows/publication/publication-result.js +3 -0
  513. package/dist/workflows/publication/publication-result.js.map +1 -0
  514. package/dist/workflows/publication/publication-status-reporter.d.ts +19 -0
  515. package/dist/workflows/publication/publication-status-reporter.js +110 -0
  516. package/dist/workflows/publication/publication-status-reporter.js.map +1 -0
  517. package/dist/workflows/publication/trigger-diff.d.ts +6 -0
  518. package/dist/workflows/publication/trigger-diff.js +27 -0
  519. package/dist/workflows/publication/trigger-diff.js.map +1 -0
  520. package/dist/workflows/publication/workflow-publication-applier.d.ts +14 -0
  521. package/dist/workflows/publication/workflow-publication-applier.js +96 -0
  522. package/dist/workflows/publication/workflow-publication-applier.js.map +1 -0
  523. package/dist/workflows/{workflow-publication-outbox-consumer.d.ts → publication/workflow-publication-outbox-consumer.d.ts} +9 -13
  524. package/dist/workflows/{workflow-publication-outbox-consumer.js → publication/workflow-publication-outbox-consumer.js} +25 -93
  525. package/dist/workflows/publication/workflow-publication-outbox-consumer.js.map +1 -0
  526. package/dist/workflows/triggers/non-webhook-trigger-registrar.d.ts +39 -0
  527. package/dist/workflows/triggers/non-webhook-trigger-registrar.js +58 -0
  528. package/dist/workflows/triggers/non-webhook-trigger-registrar.js.map +1 -0
  529. package/dist/workflows/triggers/trigger-count.service.d.ts +5 -0
  530. package/dist/workflows/triggers/trigger-count.service.js +65 -0
  531. package/dist/workflows/triggers/trigger-count.service.js.map +1 -0
  532. package/dist/workflows/triggers/trigger-execution-context.factory.d.ts +33 -0
  533. package/dist/workflows/triggers/trigger-execution-context.factory.js +171 -0
  534. package/dist/workflows/triggers/trigger-execution-context.factory.js.map +1 -0
  535. package/dist/workflows/triggers/webhook-trigger-registrar.d.ts +29 -0
  536. package/dist/workflows/triggers/webhook-trigger-registrar.js +143 -0
  537. package/dist/workflows/triggers/webhook-trigger-registrar.js.map +1 -0
  538. package/dist/workflows/triggers/workflow-trigger-activator.d.ts +56 -0
  539. package/dist/workflows/triggers/workflow-trigger-activator.js +313 -0
  540. package/dist/workflows/triggers/workflow-trigger-activator.js.map +1 -0
  541. package/dist/workflows/workflow-validation.service.d.ts +3 -0
  542. package/dist/workflows/workflow-validation.service.js +63 -37
  543. package/dist/workflows/workflow-validation.service.js.map +1 -1
  544. package/dist/workflows/workflow.service.d.ts +5 -3
  545. package/dist/workflows/workflow.service.js +91 -28
  546. package/dist/workflows/workflow.service.js.map +1 -1
  547. package/dist/workflows/workflows.controller.d.ts +3 -3
  548. package/dist/workflows/workflows.controller.js +3 -3
  549. package/dist/workflows/workflows.controller.js.map +1 -1
  550. package/package.json +35 -34
  551. package/templates/oauth-callback.handlebars +3 -0
  552. package/templates/oauth-error-callback.handlebars +3 -0
  553. package/dist/metrics/prometheus-metrics.service.d.ts +0 -54
  554. package/dist/metrics/prometheus-metrics.service.js +0 -607
  555. package/dist/metrics/prometheus-metrics.service.js.map +0 -1
  556. package/dist/metrics/types.d.ts +0 -6
  557. package/dist/metrics/types.js.map +0 -1
  558. package/dist/modules/agents/agent-knowledge-command.service.d.ts +0 -40
  559. package/dist/modules/agents/agent-knowledge-command.service.js +0 -221
  560. package/dist/modules/agents/agent-knowledge-command.service.js.map +0 -1
  561. package/dist/modules/agents/entities/agent-file.entity.d.ts +0 -11
  562. package/dist/modules/agents/entities/agent-file.entity.js.map +0 -1
  563. package/dist/modules/agents/repositories/agent-file.repository.d.ts +0 -7
  564. package/dist/modules/agents/repositories/agent-file.repository.js +0 -35
  565. package/dist/modules/agents/repositories/agent-file.repository.js.map +0 -1
  566. package/dist/modules/agents/tools/knowledge/csv-helpers.d.ts +0 -73
  567. package/dist/modules/agents/tools/knowledge/csv-helpers.js +0 -341
  568. package/dist/modules/agents/tools/knowledge/csv-helpers.js.map +0 -1
  569. package/dist/modules/agents/tools/knowledge/csv.operation.d.ts +0 -61
  570. package/dist/modules/agents/tools/knowledge/csv.operation.js +0 -207
  571. package/dist/modules/agents/tools/knowledge/csv.operation.js.map +0 -1
  572. package/dist/modules/agents/tools/knowledge/file-references.d.ts +0 -16
  573. package/dist/modules/agents/tools/knowledge/file-references.js +0 -35
  574. package/dist/modules/agents/tools/knowledge/file-references.js.map +0 -1
  575. package/dist/modules/agents/tools/knowledge/read.operation.d.ts +0 -8
  576. package/dist/modules/agents/tools/knowledge/read.operation.js +0 -38
  577. package/dist/modules/agents/tools/knowledge/read.operation.js.map +0 -1
  578. package/dist/modules/agents/tools/knowledge/schemas.d.ts +0 -1505
  579. package/dist/modules/agents/tools/knowledge/schemas.js +0 -441
  580. package/dist/modules/agents/tools/knowledge/schemas.js.map +0 -1
  581. package/dist/modules/agents/tools/knowledge/search.operation.d.ts +0 -9
  582. package/dist/modules/agents/tools/knowledge/search.operation.js +0 -332
  583. package/dist/modules/agents/tools/knowledge/search.operation.js.map +0 -1
  584. package/dist/modules/agents/tools/knowledge/tool.d.ts +0 -8
  585. package/dist/modules/agents/tools/knowledge/tool.js +0 -121
  586. package/dist/modules/agents/tools/knowledge/tool.js.map +0 -1
  587. package/dist/modules/mcp/database/entities/oauth-access-token.entity.js.map +0 -1
  588. package/dist/modules/mcp/database/entities/oauth-authorization-code.entity.js.map +0 -1
  589. package/dist/modules/mcp/database/entities/oauth-client.entity.js.map +0 -1
  590. package/dist/modules/mcp/database/entities/oauth-refresh-token.entity.js.map +0 -1
  591. package/dist/modules/mcp/database/entities/oauth-user-consent.entity.js.map +0 -1
  592. package/dist/modules/mcp/database/repositories/oauth-access-token.repository.js.map +0 -1
  593. package/dist/modules/mcp/database/repositories/oauth-authorization-code.repository.js.map +0 -1
  594. package/dist/modules/mcp/database/repositories/oauth-client.repository.js.map +0 -1
  595. package/dist/modules/mcp/database/repositories/oauth-refresh-token.repository.js.map +0 -1
  596. package/dist/modules/mcp/database/repositories/oauth-user-consent.repository.js.map +0 -1
  597. package/dist/modules/mcp/dto/approve-consent-request.dto.js.map +0 -1
  598. package/dist/modules/mcp/mcp-oauth-authorization-code.service.js.map +0 -1
  599. package/dist/modules/mcp/mcp-oauth-consent.service.js.map +0 -1
  600. package/dist/modules/mcp/mcp-oauth-service.js.map +0 -1
  601. package/dist/modules/mcp/mcp-oauth-token.service.js.map +0 -1
  602. package/dist/modules/mcp/mcp-oauth.helpers.js.map +0 -1
  603. package/dist/modules/mcp/mcp.auth.consent.controller.js.map +0 -1
  604. package/dist/modules/mcp/mcp.oauth-clients.controller.js.map +0 -1
  605. package/dist/modules/mcp/mcp.oauth.controller.js.map +0 -1
  606. package/dist/modules/mcp/oauth-session.service.js.map +0 -1
  607. package/dist/modules/n8n-packages/entities/credential/credential-missing-mode-factory.d.ts +0 -7
  608. package/dist/modules/n8n-packages/entities/credential/credential-missing-mode-factory.js +0 -35
  609. package/dist/modules/n8n-packages/entities/credential/credential-missing-mode-factory.js.map +0 -1
  610. package/dist/modules/n8n-packages/entities/credential/credential-resolution-error.d.ts +0 -3
  611. package/dist/modules/n8n-packages/entities/credential/credential-resolution-error.js +0 -14
  612. package/dist/modules/n8n-packages/entities/credential/credential-resolution-error.js.map +0 -1
  613. package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-fail.handler.d.ts +0 -9
  614. package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-fail.handler.js +0 -41
  615. package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-fail.handler.js.map +0 -1
  616. package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-handler.d.ts +0 -10
  617. package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-handler.js +0 -20
  618. package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-handler.js.map +0 -1
  619. package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-new-version.handler.d.ts +0 -11
  620. package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-new-version.handler.js +0 -42
  621. package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-new-version.handler.js.map +0 -1
  622. package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-skip.handler.d.ts +0 -9
  623. package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-skip.handler.js +0 -33
  624. package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy-skip.handler.js.map +0 -1
  625. package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy.factory.d.ts +0 -10
  626. package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy.factory.js +0 -37
  627. package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy.factory.js.map +0 -1
  628. package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy.types.d.ts +0 -20
  629. package/dist/modules/n8n-packages/entities/workflow/workflow-conflict-policy.types.js.map +0 -1
  630. package/dist/modules/redaction/redaction-enforcement.feature-flag.d.ts +0 -2
  631. package/dist/modules/redaction/redaction-enforcement.feature-flag.js +0 -9
  632. package/dist/modules/redaction/redaction-enforcement.feature-flag.js.map +0 -1
  633. package/dist/typed-emitter.d.ts +0 -14
  634. package/dist/typed-emitter.js +0 -29
  635. package/dist/typed-emitter.js.map +0 -1
  636. package/dist/workflows/workflow-publication-outbox-consumer.js.map +0 -1
  637. /package/dist/modules/{mcp → oauth-server}/database/entities/oauth-access-token.entity.d.ts +0 -0
  638. /package/dist/modules/{mcp → oauth-server}/database/entities/oauth-access-token.entity.js +0 -0
  639. /package/dist/modules/{mcp → oauth-server}/database/entities/oauth-authorization-code.entity.d.ts +0 -0
  640. /package/dist/modules/{mcp → oauth-server}/database/entities/oauth-authorization-code.entity.js +0 -0
  641. /package/dist/modules/{mcp → oauth-server}/database/entities/oauth-client.entity.d.ts +0 -0
  642. /package/dist/modules/{mcp → oauth-server}/database/entities/oauth-client.entity.js +0 -0
  643. /package/dist/modules/{mcp → oauth-server}/database/entities/oauth-refresh-token.entity.d.ts +0 -0
  644. /package/dist/modules/{mcp → oauth-server}/database/entities/oauth-refresh-token.entity.js +0 -0
  645. /package/dist/modules/{mcp → oauth-server}/database/entities/oauth-user-consent.entity.d.ts +0 -0
  646. /package/dist/modules/{mcp → oauth-server}/database/entities/oauth-user-consent.entity.js +0 -0
  647. /package/dist/modules/{mcp → oauth-server}/database/repositories/oauth-access-token.repository.d.ts +0 -0
  648. /package/dist/modules/{mcp → oauth-server}/database/repositories/oauth-access-token.repository.js +0 -0
  649. /package/dist/modules/{mcp → oauth-server}/database/repositories/oauth-authorization-code.repository.d.ts +0 -0
  650. /package/dist/modules/{mcp → oauth-server}/database/repositories/oauth-authorization-code.repository.js +0 -0
  651. /package/dist/modules/{mcp → oauth-server}/database/repositories/oauth-client.repository.d.ts +0 -0
  652. /package/dist/modules/{mcp → oauth-server}/database/repositories/oauth-client.repository.js +0 -0
  653. /package/dist/modules/{mcp → oauth-server}/database/repositories/oauth-refresh-token.repository.d.ts +0 -0
  654. /package/dist/modules/{mcp → oauth-server}/database/repositories/oauth-refresh-token.repository.js +0 -0
  655. /package/dist/modules/{mcp → oauth-server}/database/repositories/oauth-user-consent.repository.d.ts +0 -0
  656. /package/dist/modules/{mcp → oauth-server}/database/repositories/oauth-user-consent.repository.js +0 -0
  657. /package/dist/modules/{mcp → oauth-server}/dto/approve-consent-request.dto.d.ts +0 -0
  658. /package/dist/modules/{mcp → oauth-server}/dto/approve-consent-request.dto.js +0 -0
  659. /package/dist/modules/{mcp → oauth-server}/oauth-session.service.d.ts +0 -0
  660. /package/dist/modules/{mcp → oauth-server}/oauth-session.service.js +0 -0
@@ -10,38 +10,155 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.WorkflowImporter = void 0;
13
+ const db_1 = require("@n8n/db");
13
14
  const di_1 = require("@n8n/di");
15
+ const workflow_creation_service_1 = require("../../../../workflows/workflow-creation.service");
16
+ const workflow_service_1 = require("../../../../workflows/workflow.service");
17
+ const workflow_conflict_policy_1 = require("./workflow-conflict-policy");
18
+ const workflow_id_policy_1 = require("./workflow-id-policy");
14
19
  const workflow_import_match_service_1 = require("./workflow-import-match.service");
15
- const workflow_conflict_policy_factory_1 = require("./workflow-conflict-policy.factory");
20
+ const workflow_publisher_1 = require("./workflow-publisher");
16
21
  let WorkflowImporter = class WorkflowImporter {
17
- constructor(workflowConflictPolicyFactory, workflowImportMatchService) {
18
- this.workflowConflictPolicyFactory = workflowConflictPolicyFactory;
22
+ constructor(workflowImportMatchService, workflowCreationService, workflowService, workflowPublisher) {
19
23
  this.workflowImportMatchService = workflowImportMatchService;
24
+ this.workflowCreationService = workflowCreationService;
25
+ this.workflowService = workflowService;
26
+ this.workflowPublisher = workflowPublisher;
20
27
  }
21
- async importWorkflows(prepared, policy, context, bindings) {
22
- const workflowConflictPolicyHandler = this.workflowConflictPolicyFactory.getHandler(policy);
23
- const matchBySourceWorkflowId = await this.workflowImportMatchService.findBySourceWorkflowIds(context.projectId, prepared.map(({ sourceWorkflowId }) => sourceWorkflowId));
24
- const conflicts = Array.from(matchBySourceWorkflowId.entries()).map(([sourceWorkflowId, match]) => ({
25
- sourceWorkflowId,
26
- existingWorkflowId: match.id,
27
- name: match.name,
28
- }));
29
- workflowConflictPolicyHandler.preFlight(conflicts);
30
- const outcomes = [];
28
+ async plan(context, prepared, options) {
29
+ const existingBySourceWorkflowId = await this.workflowImportMatchService.findBySourceWorkflowIds(context.projectId, prepared.map(({ sourceWorkflowId }) => sourceWorkflowId));
30
+ const items = [];
31
+ const conflicts = [];
32
+ const sourceCreateIds = [];
33
+ for (const workflow of prepared) {
34
+ const existing = existingBySourceWorkflowId.get(workflow.sourceWorkflowId) ?? null;
35
+ const { action, blocked } = (0, workflow_conflict_policy_1.decideWorkflowConflictAction)(options.workflowConflictPolicy, existing);
36
+ const item = toPlanItem(workflow, existing, action, options.workflowIdPolicy);
37
+ items.push(item);
38
+ if (item.action === 'create' && options.workflowIdPolicy === 'source' && !blocked) {
39
+ sourceCreateIds.push(item.decidedId);
40
+ }
41
+ if (blocked && existing) {
42
+ conflicts.push({
43
+ sourceWorkflowId: workflow.sourceWorkflowId,
44
+ existingWorkflowId: existing.id,
45
+ name: existing.name,
46
+ });
47
+ }
48
+ }
49
+ const idConflicts = await this.collectIdConflicts(sourceCreateIds);
50
+ return { items, conflicts, idConflicts };
51
+ }
52
+ async collectIdConflicts(candidateIds) {
53
+ const existing = await this.workflowImportMatchService.findOwningProjectsByWorkflowId(candidateIds);
54
+ return candidateIds.flatMap((id) => {
55
+ const location = existing.get(id);
56
+ if (!location)
57
+ return [];
58
+ return [
59
+ {
60
+ sourceWorkflowId: id,
61
+ existingWorkflowId: id,
62
+ existingProjectId: location.projectId,
63
+ isArchived: location.isArchived,
64
+ name: location.name,
65
+ },
66
+ ];
67
+ });
68
+ }
69
+ async apply(plan, context, bindings) {
31
70
  const workflowBindings = new Map(bindings.workflows);
32
- for (const { entity, sourceWorkflowId } of prepared) {
33
- const match = matchBySourceWorkflowId.get(sourceWorkflowId) ?? null;
34
- const outcome = await workflowConflictPolicyHandler.handle(entity, sourceWorkflowId, match, context);
71
+ const outcomes = [];
72
+ for (const item of plan.items) {
73
+ const outcome = await this.applyItem(item, context, bindings);
35
74
  outcomes.push(outcome);
36
- workflowBindings.set(sourceWorkflowId, outcome.workflow.id);
75
+ workflowBindings.set(outcome.sourceWorkflowId, outcome.workflow.id);
37
76
  }
38
77
  return { outcomes, bindings: { ...bindings, workflows: workflowBindings } };
39
78
  }
79
+ async applyItem(item, context, bindings) {
80
+ if (item.action === 'skip') {
81
+ return {
82
+ status: 'skipped',
83
+ workflow: item.existing,
84
+ sourceWorkflowId: item.sourceWorkflowId,
85
+ };
86
+ }
87
+ const savedWorkflow = await this.persistWorkflow(context, item, bindings.credentials);
88
+ const workflow = await this.workflowPublisher.apply(context.user, item, savedWorkflow, context.publishingPolicy);
89
+ return {
90
+ status: item.action === 'create' ? 'created' : 'updated',
91
+ workflow,
92
+ sourceWorkflowId: item.sourceWorkflowId,
93
+ };
94
+ }
95
+ async persistWorkflow(context, item, credentialBindings) {
96
+ if (item.action === 'create') {
97
+ const entity = prepareEntityForPersist(item.entity, credentialBindings, item.decidedId);
98
+ return await this.workflowCreationService.createWorkflow(context.user, entity, {
99
+ projectId: context.projectId,
100
+ parentFolderId: context.folderId ?? undefined,
101
+ publicApi: true,
102
+ source: 'import',
103
+ sourceWorkflowId: item.sourceWorkflowId,
104
+ });
105
+ }
106
+ const entity = prepareEntityForPersist(item.entity, credentialBindings);
107
+ const workflow = await this.workflowService.update(context.user, entity, item.existing.id, {
108
+ publicApi: true,
109
+ source: 'import',
110
+ });
111
+ workflow.parentFolder = item.existing.parentFolder;
112
+ return workflow;
113
+ }
40
114
  };
41
115
  exports.WorkflowImporter = WorkflowImporter;
42
116
  exports.WorkflowImporter = WorkflowImporter = __decorate([
43
117
  (0, di_1.Service)(),
44
- __metadata("design:paramtypes", [workflow_conflict_policy_factory_1.WorkflowConflictPolicyFactory,
45
- workflow_import_match_service_1.WorkflowImportMatchService])
118
+ __metadata("design:paramtypes", [workflow_import_match_service_1.WorkflowImportMatchService,
119
+ workflow_creation_service_1.WorkflowCreationService,
120
+ workflow_service_1.WorkflowService,
121
+ workflow_publisher_1.WorkflowPublisher])
46
122
  ], WorkflowImporter);
123
+ function prepareEntityForPersist(source, credentialBindings, decidedId) {
124
+ const entity = Object.assign(new db_1.WorkflowEntity(), source, {
125
+ nodes: structuredClone(source.nodes),
126
+ ...(decidedId !== undefined ? { id: decidedId } : {}),
127
+ });
128
+ applyCredentialBindingsInPlace(entity, credentialBindings);
129
+ return entity;
130
+ }
131
+ function applyCredentialBindingsInPlace(entity, credentialBindings) {
132
+ for (const node of entity.nodes) {
133
+ for (const details of Object.values(node.credentials ?? {})) {
134
+ if (!details.id)
135
+ continue;
136
+ const targetId = credentialBindings.get(details.id);
137
+ if (targetId) {
138
+ details.id = targetId;
139
+ }
140
+ }
141
+ }
142
+ }
143
+ function toPlanItem(prepared, existing, action, idPolicy) {
144
+ if (existing === null) {
145
+ return {
146
+ action: 'create',
147
+ decidedId: (0, workflow_id_policy_1.decideWorkflowId)(idPolicy, prepared.sourceWorkflowId),
148
+ ...prepared,
149
+ };
150
+ }
151
+ switch (action) {
152
+ case 'update':
153
+ return { action, ...prepared, existing };
154
+ case 'skip':
155
+ return { action, ...prepared, existing };
156
+ case 'create':
157
+ return {
158
+ action,
159
+ decidedId: (0, workflow_id_policy_1.decideWorkflowId)(idPolicy, prepared.sourceWorkflowId),
160
+ ...prepared,
161
+ };
162
+ }
163
+ }
47
164
  //# sourceMappingURL=workflow-importer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-importer.js","sourceRoot":"","sources":["../../../../../src/modules/n8n-packages/entities/workflow/workflow-importer.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gCAAkC;AAGlC,mFAA6E;AAC7E,yFAAmF;AAoB5E,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAC5B,YACkB,6BAA4D,EAC5D,0BAAsD;QADtD,kCAA6B,GAA7B,6BAA6B,CAA+B;QAC5D,+BAA0B,GAA1B,0BAA0B,CAA4B;IACrE,CAAC;IAEJ,KAAK,CAAC,eAAe,CACpB,QAA4B,EAC5B,MAA8B,EAC9B,OAA6B,EAC7B,QAA+B;QAE/B,MAAM,6BAA6B,GAAG,IAAI,CAAC,6BAA6B,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAE5F,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,uBAAuB,CAC5F,OAAO,CAAC,SAAS,EACjB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,CACxD,CAAC;QAEF,MAAM,SAAS,GAAuB,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CACtF,CAAC,CAAC,gBAAgB,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,gBAAgB;YAChB,kBAAkB,EAAE,KAAK,CAAC,EAAE;YAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;SAChB,CAAC,CACF,CAAC;QACF,6BAA6B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAEnD,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAC7C,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACrD,KAAK,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,QAAQ,EAAE,CAAC;YACrD,MAAM,KAAK,GAAG,uBAAuB,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC;YACpE,MAAM,OAAO,GAAG,MAAM,6BAA6B,CAAC,MAAM,CACzD,MAAM,EACN,gBAAgB,EAChB,KAAK,EACL,OAAO,CACP,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEvB,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,EAAE,CAAC;IAC7E,CAAC;CACD,CAAA;AA7CY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,YAAO,GAAE;qCAGwC,gEAA6B;QAChC,0DAA0B;GAH5D,gBAAgB,CA6C5B"}
1
+ {"version":3,"file":"workflow-importer.js","sourceRoot":"","sources":["../../../../../src/modules/n8n-packages/entities/workflow/workflow-importer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { Logger } from '@n8n/backend-common';
2
+ import type { User, WorkflowEntity } from '@n8n/db';
3
+ import { ProjectRepository } from '@n8n/db';
4
+ import { ProjectService } from '../../../../services/project.service.ee';
5
+ import { WorkflowService } from '../../../../workflows/workflow.service';
6
+ import type { PersistedWorkflowPlanItem } from './workflow-import.types';
7
+ import { WorkflowPublishingPolicy } from './workflow-publishing-policy.types';
8
+ export declare class WorkflowPublisher {
9
+ private readonly logger;
10
+ private readonly projectRepository;
11
+ private readonly projectService;
12
+ private readonly workflowService;
13
+ constructor(logger: Logger, projectRepository: ProjectRepository, projectService: ProjectService, workflowService: WorkflowService);
14
+ assertCanPublish(user: User, projectId: string, policy: WorkflowPublishingPolicy): Promise<void>;
15
+ apply(user: User, item: PersistedWorkflowPlanItem, workflow: WorkflowEntity, policy: WorkflowPublishingPolicy): Promise<WorkflowEntity>;
16
+ }
@@ -0,0 +1,87 @@
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.WorkflowPublisher = void 0;
13
+ const backend_common_1 = require("@n8n/backend-common");
14
+ const db_1 = require("@n8n/db");
15
+ const di_1 = require("@n8n/di");
16
+ const n8n_workflow_1 = require("n8n-workflow");
17
+ const forbidden_error_1 = require("../../../../errors/response-errors/forbidden.error");
18
+ const not_found_error_1 = require("../../../../errors/response-errors/not-found.error");
19
+ const project_service_ee_1 = require("../../../../services/project.service.ee");
20
+ const workflow_service_1 = require("../../../../workflows/workflow.service");
21
+ const workflow_publishing_policy_1 = require("./workflow-publishing-policy");
22
+ const workflow_publishing_policy_types_1 = require("./workflow-publishing-policy.types");
23
+ let WorkflowPublisher = class WorkflowPublisher {
24
+ constructor(logger, projectRepository, projectService, workflowService) {
25
+ this.logger = logger;
26
+ this.projectRepository = projectRepository;
27
+ this.projectService = projectService;
28
+ this.workflowService = workflowService;
29
+ }
30
+ async assertCanPublish(user, projectId, policy) {
31
+ if (policy !== workflow_publishing_policy_types_1.WorkflowPublishingPolicy.PublishAll) {
32
+ return;
33
+ }
34
+ const project = await this.projectService.getProjectWithScope(user, projectId, [
35
+ 'workflow:publish',
36
+ ]);
37
+ if (project) {
38
+ return;
39
+ }
40
+ if (!(await this.projectRepository.existsBy({ id: projectId }))) {
41
+ throw new not_found_error_1.NotFoundError(`Project not found: ${projectId}`);
42
+ }
43
+ throw new forbidden_error_1.ForbiddenError('You do not have permission to publish workflows in this project.');
44
+ }
45
+ async apply(user, item, workflow, policy) {
46
+ const action = (0, workflow_publishing_policy_1.decideWorkflowPublishingAction)(policy, toPublishingContext(item, workflow));
47
+ if (action === 'noop') {
48
+ return workflow;
49
+ }
50
+ try {
51
+ if (action === 'publish') {
52
+ return await this.workflowService.activateWorkflow(user, workflow.id, {
53
+ versionId: workflow.versionId,
54
+ source: 'import',
55
+ });
56
+ }
57
+ return await this.workflowService.deactivateWorkflow(user, workflow.id, {
58
+ source: 'import',
59
+ });
60
+ }
61
+ catch (error) {
62
+ this.logger.warn('Failed to apply publishing policy to imported workflow', {
63
+ workflowId: workflow.id,
64
+ action,
65
+ error: (0, n8n_workflow_1.ensureError)(error).message,
66
+ });
67
+ return workflow;
68
+ }
69
+ }
70
+ };
71
+ exports.WorkflowPublisher = WorkflowPublisher;
72
+ exports.WorkflowPublisher = WorkflowPublisher = __decorate([
73
+ (0, di_1.Service)(),
74
+ __metadata("design:paramtypes", [backend_common_1.Logger,
75
+ db_1.ProjectRepository,
76
+ project_service_ee_1.ProjectService,
77
+ workflow_service_1.WorkflowService])
78
+ ], WorkflowPublisher);
79
+ function toPublishingContext(item, workflow) {
80
+ return {
81
+ status: item.action === 'create' ? 'created' : 'updated',
82
+ sourcePublished: item.sourcePublished,
83
+ currentlyPublished: !!workflow.activeVersionId,
84
+ isArchived: workflow.isArchived,
85
+ };
86
+ }
87
+ //# sourceMappingURL=workflow-publisher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-publisher.js","sourceRoot":"","sources":["../../../../../src/modules/n8n-packages/entities/workflow/workflow-publisher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { WorkflowPublishingPolicy, type PublishingAction, type WorkflowPublishingContext } from './workflow-publishing-policy.types';
2
+ export declare function decideWorkflowPublishingAction(policy: WorkflowPublishingPolicy, context: WorkflowPublishingContext): PublishingAction;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.decideWorkflowPublishingAction = decideWorkflowPublishingAction;
4
+ const workflow_publishing_policy_types_1 = require("./workflow-publishing-policy.types");
5
+ const WORKFLOW_PUBLISHING_POLICIES = {
6
+ [workflow_publishing_policy_types_1.WorkflowPublishingPolicy.PreservePublishedState]: ({ status, currentlyPublished, sourcePublished, }) => (status === 'updated' && currentlyPublished && sourcePublished ? 'publish' : 'noop'),
7
+ [workflow_publishing_policy_types_1.WorkflowPublishingPolicy.MatchSource]: ({ status, sourcePublished, currentlyPublished }) => {
8
+ if (sourcePublished && (status === 'created' || status === 'updated')) {
9
+ return 'publish';
10
+ }
11
+ if (status === 'updated' && !sourcePublished && currentlyPublished) {
12
+ return 'unpublish';
13
+ }
14
+ return 'noop';
15
+ },
16
+ [workflow_publishing_policy_types_1.WorkflowPublishingPolicy.PublishAll]: () => 'publish',
17
+ [workflow_publishing_policy_types_1.WorkflowPublishingPolicy.UnpublishAll]: ({ status, currentlyPublished }) => status === 'updated' && currentlyPublished ? 'unpublish' : 'noop',
18
+ };
19
+ function decideWorkflowPublishingAction(policy, context) {
20
+ if (context.status === 'skipped') {
21
+ return 'noop';
22
+ }
23
+ if (context.isArchived) {
24
+ return context.currentlyPublished ? 'unpublish' : 'noop';
25
+ }
26
+ return WORKFLOW_PUBLISHING_POLICIES[policy](context);
27
+ }
28
+ //# sourceMappingURL=workflow-publishing-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-publishing-policy.js","sourceRoot":"","sources":["../../../../../src/modules/n8n-packages/entities/workflow/workflow-publishing-policy.ts"],"names":[],"mappings":";;AAiCA,wEAaC;AA9CD,yFAI4C;AAM5C,MAAM,4BAA4B,GAG9B;IACH,CAAC,2DAAwB,CAAC,sBAAsB,CAAC,EAAE,CAAC,EACnD,MAAM,EACN,kBAAkB,EAClB,eAAe,GACf,EAAE,EAAE,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,kBAAkB,IAAI,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1F,CAAC,2DAAwB,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,kBAAkB,EAAE,EAAE,EAAE;QAC3F,IAAI,eAAe,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,CAAC,EAAE,CAAC;YACvE,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,eAAe,IAAI,kBAAkB,EAAE,CAAC;YACpE,OAAO,WAAW,CAAC;QACpB,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IACD,CAAC,2DAAwB,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS;IACtD,CAAC,2DAAwB,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAC3E,MAAM,KAAK,SAAS,IAAI,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM;CAClE,CAAC;AAEF,SAAgB,8BAA8B,CAC7C,MAAgC,EAChC,OAAkC;IAElC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC;IACf,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1D,CAAC;IAED,OAAO,4BAA4B,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;AACtD,CAAC"}
@@ -0,0 +1,14 @@
1
+ export declare const WorkflowPublishingPolicy: {
2
+ readonly PreservePublishedState: "preserve-published-state";
3
+ readonly MatchSource: "match-source";
4
+ readonly PublishAll: "publish-all";
5
+ readonly UnpublishAll: "unpublish-all";
6
+ };
7
+ export type WorkflowPublishingPolicy = (typeof WorkflowPublishingPolicy)[keyof typeof WorkflowPublishingPolicy];
8
+ export type PublishingAction = 'publish' | 'unpublish' | 'noop';
9
+ export interface WorkflowPublishingContext {
10
+ status: 'created' | 'updated' | 'skipped';
11
+ sourcePublished: boolean;
12
+ currentlyPublished: boolean;
13
+ isArchived: boolean;
14
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WorkflowPublishingPolicy = void 0;
4
+ exports.WorkflowPublishingPolicy = {
5
+ PreservePublishedState: 'preserve-published-state',
6
+ MatchSource: 'match-source',
7
+ PublishAll: 'publish-all',
8
+ UnpublishAll: 'unpublish-all',
9
+ };
10
+ //# sourceMappingURL=workflow-publishing-policy.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-publishing-policy.types.js","sourceRoot":"","sources":["../../../../../src/modules/n8n-packages/entities/workflow/workflow-publishing-policy.types.ts"],"names":[],"mappings":";;;AACa,QAAA,wBAAwB,GAAG;IAEvC,sBAAsB,EAAE,0BAA0B;IAElD,WAAW,EAAE,cAAc;IAE3B,UAAU,EAAE,aAAa;IAEzB,YAAY,EAAE,eAAe;CACpB,CAAC"}
@@ -19,7 +19,7 @@ let WorkflowSerializer = class WorkflowSerializer {
19
19
  settings: workflow.settings,
20
20
  versionId: workflow.versionId,
21
21
  parentFolderId: workflow.parentFolder?.id ?? null,
22
- active: workflow.activeVersionId === workflow.versionId,
22
+ isPublished: workflow.activeVersionId === workflow.versionId,
23
23
  isArchived: workflow.isArchived,
24
24
  });
25
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.serializer.js","sourceRoot":"","sources":["../../../../../src/modules/n8n-packages/entities/workflow/workflow.serializer.ts"],"names":[],"mappings":";;;;;;;;;AACA,gCAAkC;AAGlC,2EAG+C;AASxC,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC9B,SAAS,CAAC,QAAwB;QACjC,OAAO,0CAAwB,CAAC,KAAK,CAAC;YACrC,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,cAAc,EAAE,QAAQ,CAAC,YAAY,EAAE,EAAE,IAAI,IAAI;YACjD,MAAM,EAAE,QAAQ,CAAC,eAAe,KAAK,QAAQ,CAAC,SAAS;YACvD,UAAU,EAAE,QAAQ,CAAC,UAAU;SAC/B,CAAC,CAAC;IACJ,CAAC;IAWD,WAAW,CAAC,IAAwB;QACnC,MAAM,MAAM,GAAG,0CAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEpD,OAAO;YACN,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAgB;YAC9B,WAAW,EAAE,MAAM,CAAC,WAA2B;YAC/C,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvE,CAAC;IACH,CAAC;CACD,CAAA;AAnCY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,YAAO,GAAE;GACG,kBAAkB,CAmC9B"}
1
+ {"version":3,"file":"workflow.serializer.js","sourceRoot":"","sources":["../../../../../src/modules/n8n-packages/entities/workflow/workflow.serializer.ts"],"names":[],"mappings":";;;;;;;;;AACA,gCAAkC;AAGlC,2EAG+C;AASxC,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC9B,SAAS,CAAC,QAAwB;QACjC,OAAO,0CAAwB,CAAC,KAAK,CAAC;YACrC,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,cAAc,EAAE,QAAQ,CAAC,YAAY,EAAE,EAAE,IAAI,IAAI;YACjD,WAAW,EAAE,QAAQ,CAAC,eAAe,KAAK,QAAQ,CAAC,SAAS;YAC5D,UAAU,EAAE,QAAQ,CAAC,UAAU;SAC/B,CAAC,CAAC;IACJ,CAAC;IAWD,WAAW,CAAC,IAAwB;QACnC,MAAM,MAAM,GAAG,0CAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEpD,OAAO;YACN,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAgB;YAC9B,WAAW,EAAE,MAAM,CAAC,WAA2B;YAC/C,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvE,CAAC;IACH,CAAC;CACD,CAAA;AAnCY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,YAAO,GAAE;GACG,kBAAkB,CAmC9B"}
@@ -1,13 +1,20 @@
1
1
  import type { PackageManifest } from '../../spec/manifest.schema';
2
2
  import type { PackageReader } from '../package-reader';
3
+ export interface TarReaderLimits {
4
+ maxUncompressedBytes: number;
5
+ maxEntryBytes: number;
6
+ maxEntries: number;
7
+ maxPathLength: number;
8
+ }
3
9
  export declare class TarPackageReader implements PackageReader {
4
10
  private readonly buffer;
5
- private readonly maxUncompressedBytes;
11
+ private readonly limits;
6
12
  private entries;
7
- constructor(buffer: Buffer, maxUncompressedBytes: number);
13
+ constructor(buffer: Buffer, limits: TarReaderLimits);
8
14
  readManifest(): Promise<PackageManifest>;
9
- readFile(path: string): Promise<Buffer>;
15
+ readFile(entryPath: string): Promise<Buffer>;
10
16
  listEntries(): Promise<string[]>;
11
17
  private load;
18
+ private validateEntryPath;
12
19
  private parse;
13
20
  }
@@ -1,13 +1,19 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.TarPackageReader = void 0;
7
+ const n8n_workflow_1 = require("n8n-workflow");
8
+ const node_path_1 = __importDefault(require("node:path"));
4
9
  const tar_1 = require("tar");
5
10
  const bad_request_error_1 = require("../../../../errors/response-errors/bad-request.error");
6
11
  const MANIFEST_PATH = 'manifest.json';
12
+ const ALLOWED_PATH_CHARS = /^[a-zA-Z0-9._/-]+$/;
7
13
  class TarPackageReader {
8
- constructor(buffer, maxUncompressedBytes) {
14
+ constructor(buffer, limits) {
9
15
  this.buffer = buffer;
10
- this.maxUncompressedBytes = maxUncompressedBytes;
16
+ this.limits = limits;
11
17
  this.entries = null;
12
18
  }
13
19
  async readManifest() {
@@ -17,17 +23,17 @@ class TarPackageReader {
17
23
  throw new bad_request_error_1.BadRequestError('Package is missing manifest.json');
18
24
  }
19
25
  try {
20
- return JSON.parse(manifest.toString('utf-8'));
26
+ return (0, n8n_workflow_1.jsonParse)(manifest.toString('utf-8'));
21
27
  }
22
28
  catch {
23
29
  throw new bad_request_error_1.BadRequestError('Package manifest is not valid JSON');
24
30
  }
25
31
  }
26
- async readFile(path) {
32
+ async readFile(entryPath) {
27
33
  const entries = await this.load();
28
- const content = entries.get(path);
34
+ const content = entries.get(entryPath);
29
35
  if (!content) {
30
- throw new bad_request_error_1.BadRequestError(`Package does not contain entry: ${path}`);
36
+ throw new bad_request_error_1.BadRequestError(`Package does not contain entry: ${entryPath}`);
31
37
  }
32
38
  return content;
33
39
  }
@@ -41,41 +47,118 @@ class TarPackageReader {
41
47
  this.entries = await this.parse();
42
48
  return this.entries;
43
49
  }
50
+ validateEntryPath(rawPath) {
51
+ const trimmed = rawPath.endsWith('/') ? rawPath.slice(0, -1) : rawPath;
52
+ if (trimmed.length === 0) {
53
+ throw new bad_request_error_1.BadRequestError('Package contains an entry with an empty path');
54
+ }
55
+ if (trimmed.length > this.limits.maxPathLength) {
56
+ throw new bad_request_error_1.BadRequestError('Package entry path exceeds the maximum allowed length');
57
+ }
58
+ if (trimmed.startsWith('/')) {
59
+ throw new bad_request_error_1.BadRequestError(`Package entry path "${trimmed}" must be relative`);
60
+ }
61
+ if (!ALLOWED_PATH_CHARS.test(trimmed)) {
62
+ throw new bad_request_error_1.BadRequestError(`Package entry path "${trimmed}" contains disallowed characters`);
63
+ }
64
+ const normalized = node_path_1.default.posix.normalize(trimmed);
65
+ if (normalized === '..' ||
66
+ normalized.startsWith('../') ||
67
+ normalized.includes('/../') ||
68
+ normalized.endsWith('/..')) {
69
+ throw new bad_request_error_1.BadRequestError(`Package entry path "${trimmed}" attempts to escape the package root`);
70
+ }
71
+ return normalized;
72
+ }
44
73
  async parse() {
74
+ const { maxEntries, maxEntryBytes, maxUncompressedBytes } = this.limits;
45
75
  const entries = new Map();
46
76
  let totalUncompressedBytes = 0;
77
+ let entryCount = 0;
78
+ let firstFileSeen = false;
47
79
  return await new Promise((resolve, reject) => {
48
- const parser = new tar_1.Parser();
80
+ const parser = new tar_1.Parser({ strict: true });
81
+ let aborted = false;
82
+ const fail = (message) => {
83
+ if (aborted)
84
+ return;
85
+ aborted = true;
86
+ try {
87
+ parser.abort(new Error(message));
88
+ }
89
+ catch {
90
+ }
91
+ reject(new bad_request_error_1.BadRequestError(message));
92
+ };
93
+ const accept = (entry) => {
94
+ if (++entryCount > maxEntries) {
95
+ throw new bad_request_error_1.BadRequestError('Package contains too many entries');
96
+ }
97
+ if (entry.type !== 'File' && entry.type !== 'Directory') {
98
+ throw new bad_request_error_1.BadRequestError(`Package contains a disallowed entry type for "${entry.path}"`);
99
+ }
100
+ const safePath = this.validateEntryPath(entry.path);
101
+ if (entries.has(safePath)) {
102
+ throw new bad_request_error_1.BadRequestError(`Package contains a duplicate entry for "${safePath}"`);
103
+ }
104
+ if (entry.type === 'Directory')
105
+ return null;
106
+ if (!firstFileSeen) {
107
+ firstFileSeen = true;
108
+ if (safePath !== MANIFEST_PATH) {
109
+ throw new bad_request_error_1.BadRequestError(`Package must begin with ${MANIFEST_PATH} but found "${safePath}"`);
110
+ }
111
+ }
112
+ return safePath;
113
+ };
49
114
  parser.on('entry', (entry) => {
50
- if (entry.type !== 'File') {
115
+ let validated = null;
116
+ if (!aborted) {
117
+ try {
118
+ validated = accept(entry);
119
+ }
120
+ catch (error) {
121
+ fail(error instanceof bad_request_error_1.BadRequestError ? error.message : 'Invalid package entry path');
122
+ }
123
+ }
124
+ if (validated === null) {
51
125
  entry.resume();
52
126
  return;
53
127
  }
128
+ const safePath = validated;
54
129
  const chunks = [];
55
130
  let entryBytes = 0;
56
131
  entry.on('data', (chunk) => {
132
+ if (aborted)
133
+ return;
57
134
  entryBytes += chunk.length;
58
- if (entryBytes > this.maxUncompressedBytes) {
59
- reject(new bad_request_error_1.BadRequestError(`Package entry "${entry.path}" exceeds the maximum allowed uncompressed size`));
135
+ if (entryBytes > maxEntryBytes) {
136
+ fail(`Package entry "${safePath}" exceeds the maximum allowed uncompressed size per entry`);
137
+ return;
138
+ }
139
+ totalUncompressedBytes += chunk.length;
140
+ if (totalUncompressedBytes > maxUncompressedBytes) {
141
+ fail('Package exceeds the maximum allowed uncompressed size');
60
142
  return;
61
143
  }
62
144
  chunks.push(chunk);
63
145
  });
64
146
  entry.on('end', () => {
65
- const content = Buffer.concat(chunks);
66
- totalUncompressedBytes += content.length;
67
- if (totalUncompressedBytes > this.maxUncompressedBytes) {
68
- reject(new bad_request_error_1.BadRequestError('Package exceeds the maximum allowed uncompressed size'));
69
- return;
70
- }
71
- entries.set(entry.path, content);
147
+ if (!aborted)
148
+ entries.set(safePath, Buffer.concat(chunks));
72
149
  });
73
150
  entry.resume();
74
151
  });
75
- parser.on('error', (error) => {
76
- reject(new bad_request_error_1.BadRequestError(error instanceof Error ? error.message : 'Failed to read package archive'));
152
+ parser.on('error', () => {
153
+ if (aborted)
154
+ return;
155
+ aborted = true;
156
+ reject(new bad_request_error_1.BadRequestError('Failed to read package archive'));
157
+ });
158
+ parser.on('end', () => {
159
+ if (!aborted)
160
+ resolve(entries);
77
161
  });
78
- parser.on('end', () => resolve(entries));
79
162
  parser.end(this.buffer);
80
163
  });
81
164
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tar-package-reader.js","sourceRoot":"","sources":["../../../../../src/modules/n8n-packages/io/tar/tar-package-reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tar-package-reader.js","sourceRoot":"","sources":["../../../../../src/modules/n8n-packages/io/tar/tar-package-reader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare class PackageImportConfig {
2
+ maxUncompressedBytes: number;
3
+ maxEntryBytes: number;
4
+ maxEntries: number;
5
+ maxPathLength: number;
6
+ }