n8n 2.37.6 → 2.38.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 (692) hide show
  1. package/dist/active-executions.js +2 -1
  2. package/dist/active-executions.js.map +1 -1
  3. package/dist/active-workflow-manager.d.ts +5 -1
  4. package/dist/active-workflow-manager.js +64 -33
  5. package/dist/active-workflow-manager.js.map +1 -1
  6. package/dist/binary-data/binary-data-access.service.d.ts +11 -0
  7. package/dist/binary-data/binary-data-access.service.js +50 -0
  8. package/dist/binary-data/binary-data-access.service.js.map +1 -0
  9. package/dist/build.tsbuildinfo +1 -1
  10. package/dist/commands/base-command.d.ts +2 -0
  11. package/dist/commands/base-command.js +8 -0
  12. package/dist/commands/base-command.js.map +1 -1
  13. package/dist/commands/import/workflow.d.ts +1 -0
  14. package/dist/commands/import/workflow.js +12 -3
  15. package/dist/commands/import/workflow.js.map +1 -1
  16. package/dist/commands/start.d.ts +1 -0
  17. package/dist/commands/start.js +2 -1
  18. package/dist/commands/start.js.map +1 -1
  19. package/dist/constants.d.ts +2 -0
  20. package/dist/constants.js +3 -1
  21. package/dist/constants.js.map +1 -1
  22. package/dist/controllers/binary-data.controller.d.ts +5 -2
  23. package/dist/controllers/binary-data.controller.js +11 -3
  24. package/dist/controllers/binary-data.controller.js.map +1 -1
  25. package/dist/controllers/e2e.controller.d.ts +1 -6
  26. package/dist/controllers/e2e.controller.js +7 -20
  27. package/dist/controllers/e2e.controller.js.map +1 -1
  28. package/dist/controllers/project.controller.d.ts +4 -10
  29. package/dist/controllers/project.controller.js +14 -114
  30. package/dist/controllers/project.controller.js.map +1 -1
  31. package/dist/controllers/telemetry.controller.js +1 -1
  32. package/dist/controllers/telemetry.controller.js.map +1 -1
  33. package/dist/credentials/credentials-finder.service.d.ts +2 -0
  34. package/dist/credentials/credentials-finder.service.js +46 -12
  35. package/dist/credentials/credentials-finder.service.js.map +1 -1
  36. package/dist/credentials/credentials.service.d.ts +5 -2
  37. package/dist/credentials/credentials.service.js +4 -1
  38. package/dist/credentials/credentials.service.js.map +1 -1
  39. package/dist/credentials-helper.d.ts +3 -1
  40. package/dist/credentials-helper.js +10 -2
  41. package/dist/credentials-helper.js.map +1 -1
  42. package/dist/deprecation/deprecation.service.js +5 -0
  43. package/dist/deprecation/deprecation.service.js.map +1 -1
  44. package/dist/errors/http-error-serializers.js +3 -0
  45. package/dist/errors/http-error-serializers.js.map +1 -1
  46. package/dist/errors/variable-validation.error.d.ts +2 -2
  47. package/dist/errors/variable-validation.error.js +1 -1
  48. package/dist/errors/variable-validation.error.js.map +1 -1
  49. package/dist/evaluation.ee/evaluation-config-validator.js +3 -2
  50. package/dist/evaluation.ee/evaluation-config-validator.js.map +1 -1
  51. package/dist/evaluation.ee/evaluation-dataset.service.js +8 -1
  52. package/dist/evaluation.ee/evaluation-dataset.service.js.map +1 -1
  53. package/dist/evaluation.ee/test-runner/workflow-compiler.service.js +96 -45
  54. package/dist/evaluation.ee/test-runner/workflow-compiler.service.js.map +1 -1
  55. package/dist/execution-lifecycle/execute-error-workflow.js +3 -0
  56. package/dist/execution-lifecycle/execute-error-workflow.js.map +1 -1
  57. package/dist/executions/engine-v2-execution-reader.service.d.ts +11 -0
  58. package/dist/executions/engine-v2-execution-reader.service.js +68 -0
  59. package/dist/executions/engine-v2-execution-reader.service.js.map +1 -0
  60. package/dist/executions/execution-id.d.ts +5 -0
  61. package/dist/executions/execution-id.js +10 -0
  62. package/dist/executions/execution-id.js.map +1 -0
  63. package/dist/executions/execution.service.d.ts +3 -1
  64. package/dist/executions/execution.service.js +16 -8
  65. package/dist/executions/execution.service.js.map +1 -1
  66. package/dist/executions/executions.controller.d.ts +1 -0
  67. package/dist/executions/executions.controller.js +12 -6
  68. package/dist/executions/executions.controller.js.map +1 -1
  69. package/dist/expression-observability/expression-observability.provider.js +3 -2
  70. package/dist/expression-observability/expression-observability.provider.js.map +1 -1
  71. package/dist/license/license.service.js +1 -1
  72. package/dist/license/license.service.js.map +1 -1
  73. package/dist/metrics/prometheus/instance-ai-metrics.service.js.map +1 -1
  74. package/dist/middlewares/content-security-policy.d.ts +10 -0
  75. package/dist/middlewares/content-security-policy.js +53 -0
  76. package/dist/middlewares/content-security-policy.js.map +1 -0
  77. package/dist/middlewares/index.d.ts +1 -0
  78. package/dist/middlewares/index.js +1 -0
  79. package/dist/middlewares/index.js.map +1 -1
  80. package/dist/modules/agents/agent-config.service.js +0 -3
  81. package/dist/modules/agents/agent-config.service.js.map +1 -1
  82. package/dist/modules/agents/agent-default-model-resolver.service.js +2 -4
  83. package/dist/modules/agents/agent-default-model-resolver.service.js.map +1 -1
  84. package/dist/modules/agents/agent-execution-orchestrator.service.js +13 -6
  85. package/dist/modules/agents/agent-execution-orchestrator.service.js.map +1 -1
  86. package/dist/modules/agents/agent-execution.service.d.ts +1 -0
  87. package/dist/modules/agents/agent-execution.service.js +3 -0
  88. package/dist/modules/agents/agent-execution.service.js.map +1 -1
  89. package/dist/modules/agents/agent-integrations.controller.d.ts +7 -5
  90. package/dist/modules/agents/agent-integrations.controller.js +10 -17
  91. package/dist/modules/agents/agent-integrations.controller.js.map +1 -1
  92. package/dist/modules/agents/agent-model-catalog.service.js +6 -12
  93. package/dist/modules/agents/agent-model-catalog.service.js.map +1 -1
  94. package/dist/modules/agents/agent-publish.service.d.ts +2 -3
  95. package/dist/modules/agents/agent-publish.service.js +12 -5
  96. package/dist/modules/agents/agent-publish.service.js.map +1 -1
  97. package/dist/modules/agents/agent-runtime-cache.service.d.ts +5 -0
  98. package/dist/modules/agents/agent-runtime-cache.service.js +57 -3
  99. package/dist/modules/agents/agent-runtime-cache.service.js.map +1 -1
  100. package/dist/modules/agents/agent-runtime-reconstruction.service.d.ts +14 -7
  101. package/dist/modules/agents/agent-runtime-reconstruction.service.js +89 -36
  102. package/dist/modules/agents/agent-runtime-reconstruction.service.js.map +1 -1
  103. package/dist/modules/agents/agent-sandbox-runtime.service.d.ts +4 -2
  104. package/dist/modules/agents/agent-sandbox-runtime.service.js +21 -11
  105. package/dist/modules/agents/agent-sandbox-runtime.service.js.map +1 -1
  106. package/dist/modules/agents/agent-validation.service.js +0 -4
  107. package/dist/modules/agents/agent-validation.service.js.map +1 -1
  108. package/dist/modules/agents/agent-workflow-execution.service.js +1 -1
  109. package/dist/modules/agents/agent-workflow-execution.service.js.map +1 -1
  110. package/dist/modules/agents/agent-workflow-tool-resume.service.d.ts +32 -0
  111. package/dist/modules/agents/agent-workflow-tool-resume.service.js +168 -0
  112. package/dist/modules/agents/agent-workflow-tool-resume.service.js.map +1 -0
  113. package/dist/modules/agents/agent-workspace.service.d.ts +8 -2
  114. package/dist/modules/agents/agent-workspace.service.js +15 -4
  115. package/dist/modules/agents/agent-workspace.service.js.map +1 -1
  116. package/dist/modules/agents/agents.module.d.ts +1 -1
  117. package/dist/modules/agents/agents.module.js +8 -7
  118. package/dist/modules/agents/agents.module.js.map +1 -1
  119. package/dist/modules/agents/builder/agents-builder-tools.service.d.ts +4 -6
  120. package/dist/modules/agents/builder/agents-builder-tools.service.js +16 -21
  121. package/dist/modules/agents/builder/agents-builder-tools.service.js.map +1 -1
  122. package/dist/modules/agents/builder/agents-builder.service.d.ts +5 -7
  123. package/dist/modules/agents/builder/agents-builder.service.js +27 -36
  124. package/dist/modules/agents/builder/agents-builder.service.js.map +1 -1
  125. package/dist/modules/agents/builder/call-agent-failure.d.ts +5 -0
  126. package/dist/modules/agents/builder/call-agent-failure.js +28 -0
  127. package/dist/modules/agents/builder/call-agent-failure.js.map +1 -0
  128. package/dist/modules/agents/builder/interactive/ask-credential.tool.d.ts +3 -2
  129. package/dist/modules/agents/builder/interactive/ask-credential.tool.js +8 -9
  130. package/dist/modules/agents/builder/interactive/ask-credential.tool.js.map +1 -1
  131. package/dist/modules/agents/builder/interactive/finish-setup.tool.d.ts +3 -2
  132. package/dist/modules/agents/builder/interactive/finish-setup.tool.js +16 -6
  133. package/dist/modules/agents/builder/interactive/finish-setup.tool.js.map +1 -1
  134. package/dist/modules/agents/builder/interactive/resolve-llm.tool.js +57 -44
  135. package/dist/modules/agents/builder/interactive/resolve-llm.tool.js.map +1 -1
  136. package/dist/modules/agents/builder/prompts/llm-selection.prompt.js +3 -2
  137. package/dist/modules/agents/builder/prompts/llm-selection.prompt.js.map +1 -1
  138. package/dist/modules/agents/builder/prompts/tools.prompt.d.ts +1 -1
  139. package/dist/modules/agents/builder/prompts/tools.prompt.js +6 -0
  140. package/dist/modules/agents/builder/prompts/tools.prompt.js.map +1 -1
  141. package/dist/modules/agents/builder/skills/external-services.skill.js +51 -8
  142. package/dist/modules/agents/builder/skills/external-services.skill.js.map +1 -1
  143. package/dist/modules/agents/builder/skills/sub-agents.skill.js +15 -12
  144. package/dist/modules/agents/builder/skills/sub-agents.skill.js.map +1 -1
  145. package/dist/modules/agents/builder/skills/target-tasks.skill.js +16 -5
  146. package/dist/modules/agents/builder/skills/target-tasks.skill.js.map +1 -1
  147. package/dist/modules/agents/entities/agent-channel-status.entity.d.ts +16 -0
  148. package/dist/modules/agents/entities/agent-channel-status.entity.js +99 -0
  149. package/dist/modules/agents/entities/agent-channel-status.entity.js.map +1 -0
  150. package/dist/modules/agents/instance-ai-builder-delegate.adapter.d.ts +3 -3
  151. package/dist/modules/agents/instance-ai-builder-delegate.adapter.js +17 -7
  152. package/dist/modules/agents/instance-ai-builder-delegate.adapter.js.map +1 -1
  153. package/dist/modules/agents/integrations/agent-channel-reconciler.service.d.ts +38 -0
  154. package/dist/modules/agents/integrations/agent-channel-reconciler.service.js +260 -0
  155. package/dist/modules/agents/integrations/agent-channel-reconciler.service.js.map +1 -0
  156. package/dist/modules/agents/integrations/agent-channel-status-reporter.d.ts +23 -0
  157. package/dist/modules/agents/integrations/agent-channel-status-reporter.js +114 -0
  158. package/dist/modules/agents/integrations/agent-channel-status-reporter.js.map +1 -0
  159. package/dist/modules/agents/integrations/agent-chat-bridge.d.ts +9 -0
  160. package/dist/modules/agents/integrations/agent-chat-bridge.js +53 -1
  161. package/dist/modules/agents/integrations/agent-chat-bridge.js.map +1 -1
  162. package/dist/modules/agents/integrations/agent-chat-hitl-resume-handler.d.ts +1 -1
  163. package/dist/modules/agents/integrations/agent-chat-hitl-resume-handler.js +3 -2
  164. package/dist/modules/agents/integrations/agent-chat-hitl-resume-handler.js.map +1 -1
  165. package/dist/modules/agents/integrations/agent-chat-integration.d.ts +5 -2
  166. package/dist/modules/agents/integrations/agent-chat-integration.js.map +1 -1
  167. package/dist/modules/agents/integrations/channel-status-report.d.ts +4 -0
  168. package/dist/modules/agents/integrations/channel-status-report.js +58 -0
  169. package/dist/modules/agents/integrations/channel-status-report.js.map +1 -0
  170. package/dist/modules/agents/integrations/chat-integration.service.d.ts +17 -2
  171. package/dist/modules/agents/integrations/chat-integration.service.js +63 -35
  172. package/dist/modules/agents/integrations/chat-integration.service.js.map +1 -1
  173. package/dist/modules/agents/integrations/credential-claim.d.ts +3 -0
  174. package/dist/modules/agents/integrations/credential-claim.js +12 -0
  175. package/dist/modules/agents/integrations/credential-claim.js.map +1 -0
  176. package/dist/modules/agents/integrations/n8n-checkpoint-storage.d.ts +2 -0
  177. package/dist/modules/agents/integrations/n8n-checkpoint-storage.js +25 -0
  178. package/dist/modules/agents/integrations/n8n-checkpoint-storage.js.map +1 -1
  179. package/dist/modules/agents/integrations/platforms/discord-integration.d.ts +2 -1
  180. package/dist/modules/agents/integrations/platforms/discord-integration.js +9 -6
  181. package/dist/modules/agents/integrations/platforms/discord-integration.js.map +1 -1
  182. package/dist/modules/agents/integrations/platforms/linear-integration.js +1 -1
  183. package/dist/modules/agents/integrations/platforms/linear-integration.js.map +1 -1
  184. package/dist/modules/agents/integrations/platforms/slack/slack-integration.d.ts +2 -1
  185. package/dist/modules/agents/integrations/platforms/slack/slack-integration.js +7 -6
  186. package/dist/modules/agents/integrations/platforms/slack/slack-integration.js.map +1 -1
  187. package/dist/modules/agents/integrations/platforms/slack/slack-methods.service.js +1 -1
  188. package/dist/modules/agents/integrations/platforms/slack/slack-methods.service.js.map +1 -1
  189. package/dist/modules/agents/integrations/platforms/telegram-integration.d.ts +4 -6
  190. package/dist/modules/agents/integrations/platforms/telegram-integration.js +11 -14
  191. package/dist/modules/agents/integrations/platforms/telegram-integration.js.map +1 -1
  192. package/dist/modules/agents/json-config/credential-field-mapping.js +3 -0
  193. package/dist/modules/agents/json-config/credential-field-mapping.js.map +1 -1
  194. package/dist/modules/agents/llm-provider-defaults.js +16 -1
  195. package/dist/modules/agents/llm-provider-defaults.js.map +1 -1
  196. package/dist/modules/agents/repositories/agent-channel-status.repository.d.ts +29 -0
  197. package/dist/modules/agents/repositories/agent-channel-status.repository.js +63 -0
  198. package/dist/modules/agents/repositories/agent-channel-status.repository.js.map +1 -0
  199. package/dist/modules/agents/repositories/agent-execution.repository.d.ts +1 -0
  200. package/dist/modules/agents/repositories/agent-execution.repository.js +4 -0
  201. package/dist/modules/agents/repositories/agent-execution.repository.js.map +1 -1
  202. package/dist/modules/agents/sub-agents/delegate-sub-agent-tool.js +29 -19
  203. package/dist/modules/agents/sub-agents/delegate-sub-agent-tool.js.map +1 -1
  204. package/dist/modules/agents/sub-agents/sub-agent-cleanup.service.js.map +1 -1
  205. package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.d.ts +6 -3
  206. package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.js +43 -16
  207. package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.js.map +1 -1
  208. package/dist/modules/agents/sub-agents/sub-agent-source-resolver.d.ts +1 -0
  209. package/dist/modules/agents/sub-agents/sub-agent-source-resolver.js +18 -6
  210. package/dist/modules/agents/sub-agents/sub-agent-source-resolver.js.map +1 -1
  211. package/dist/modules/agents/tools/workflow-tool-factory.d.ts +24 -13
  212. package/dist/modules/agents/tools/workflow-tool-factory.js +147 -9
  213. package/dist/modules/agents/tools/workflow-tool-factory.js.map +1 -1
  214. package/dist/modules/agents/tools/workflow-tool-workflow-loader.service.d.ts +10 -2
  215. package/dist/modules/agents/tools/workflow-tool-workflow-loader.service.js +23 -4
  216. package/dist/modules/agents/tools/workflow-tool-workflow-loader.service.js.map +1 -1
  217. package/dist/modules/agents/utils/provider-model-id.d.ts +2 -0
  218. package/dist/modules/agents/utils/provider-model-id.js +21 -0
  219. package/dist/modules/agents/utils/provider-model-id.js.map +1 -0
  220. package/dist/modules/community-packages/community-packages.service.d.ts +4 -0
  221. package/dist/modules/community-packages/community-packages.service.js +96 -92
  222. package/dist/modules/community-packages/community-packages.service.js.map +1 -1
  223. package/dist/modules/community-packages/npm-utils.js +1 -5
  224. package/dist/modules/community-packages/npm-utils.js.map +1 -1
  225. package/dist/modules/data-table/data-table-aggregate.service.d.ts +1 -1
  226. package/dist/modules/data-table/data-table-aggregate.service.js +1 -1
  227. package/dist/modules/data-table/data-table-aggregate.service.js.map +1 -1
  228. package/dist/modules/data-table/data-table.service.d.ts +9 -4
  229. package/dist/modules/data-table/data-table.service.js +34 -4
  230. package/dist/modules/data-table/data-table.service.js.map +1 -1
  231. package/dist/modules/data-table/errors/data-table-access-denied.error.d.ts +4 -0
  232. package/dist/modules/data-table/errors/data-table-access-denied.error.js +13 -0
  233. package/dist/modules/data-table/errors/data-table-access-denied.error.js.map +1 -0
  234. package/dist/modules/dynamic-credentials.ee/config-redaction.d.ts +5 -0
  235. package/dist/modules/dynamic-credentials.ee/config-redaction.js +81 -0
  236. package/dist/modules/dynamic-credentials.ee/config-redaction.js.map +1 -0
  237. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-metadata-http-client.d.ts +2 -3
  238. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-metadata-http-client.js +2 -4
  239. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-metadata-http-client.js.map +1 -1
  240. package/dist/modules/dynamic-credentials.ee/credential-resolvers.controller.d.ts +1 -0
  241. package/dist/modules/dynamic-credentials.ee/credential-resolvers.controller.js +18 -4
  242. package/dist/modules/dynamic-credentials.ee/credential-resolvers.controller.js.map +1 -1
  243. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.js +3 -2
  244. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.js.map +1 -1
  245. package/dist/modules/dynamic-credentials.ee/services/credential-connection-status.service.js +22 -4
  246. package/dist/modules/dynamic-credentials.ee/services/credential-connection-status.service.js.map +1 -1
  247. package/dist/modules/dynamic-credentials.ee/services/credential-resolver.service.d.ts +1 -0
  248. package/dist/modules/dynamic-credentials.ee/services/credential-resolver.service.js +12 -2
  249. package/dist/modules/dynamic-credentials.ee/services/credential-resolver.service.js.map +1 -1
  250. package/dist/modules/encryption-key-manager/key-manager.service.d.ts +7 -2
  251. package/dist/modules/encryption-key-manager/key-manager.service.js +27 -8
  252. package/dist/modules/encryption-key-manager/key-manager.service.js.map +1 -1
  253. package/dist/modules/engine-v2/engine-control-plane-auth.middleware.d.ts +6 -0
  254. package/dist/modules/engine-v2/engine-control-plane-auth.middleware.js +31 -0
  255. package/dist/modules/engine-v2/engine-control-plane-auth.middleware.js.map +1 -0
  256. package/dist/modules/engine-v2/engine-control-plane-client.d.ts +9 -0
  257. package/dist/modules/engine-v2/engine-control-plane-client.js +51 -0
  258. package/dist/modules/engine-v2/engine-control-plane-client.js.map +1 -0
  259. package/dist/modules/engine-v2/engine-control-plane-server.d.ts +14 -0
  260. package/dist/modules/engine-v2/engine-control-plane-server.js +84 -0
  261. package/dist/modules/engine-v2/engine-control-plane-server.js.map +1 -0
  262. package/dist/modules/engine-v2/engine-data-plane-client.d.ts +3 -1
  263. package/dist/modules/engine-v2/engine-data-plane-client.js +16 -1
  264. package/dist/modules/engine-v2/engine-data-plane-client.js.map +1 -1
  265. package/dist/modules/engine-v2/engine-lifecycle-event-push-relay.d.ts +18 -0
  266. package/dist/modules/engine-v2/engine-lifecycle-event-push-relay.js +150 -0
  267. package/dist/modules/engine-v2/engine-lifecycle-event-push-relay.js.map +1 -0
  268. package/dist/modules/engine-v2/engine-lifecycle-event.controller.d.ts +7 -0
  269. package/dist/modules/engine-v2/engine-lifecycle-event.controller.js +34 -0
  270. package/dist/modules/engine-v2/engine-lifecycle-event.controller.js.map +1 -0
  271. package/dist/modules/engine-v2/engine-v2.constants.d.ts +2 -0
  272. package/dist/modules/engine-v2/engine-v2.constants.js +6 -0
  273. package/dist/modules/engine-v2/engine-v2.constants.js.map +1 -0
  274. package/dist/modules/engine-v2/engine-v2.module.js +4 -0
  275. package/dist/modules/engine-v2/engine-v2.module.js.map +1 -1
  276. package/dist/modules/engine-v2/engine-v2.runtime.d.ts +3 -1
  277. package/dist/modules/engine-v2/engine-v2.runtime.js +6 -2
  278. package/dist/modules/engine-v2/engine-v2.runtime.js.map +1 -1
  279. package/dist/modules/external-secrets.ee/providers/aws-secrets-manager.js +1 -1
  280. package/dist/modules/external-secrets.ee/providers/aws-secrets-manager.js.map +1 -1
  281. package/dist/modules/external-secrets.ee/providers/infisical.js +1 -1
  282. package/dist/modules/external-secrets.ee/providers/infisical.js.map +1 -1
  283. package/dist/modules/external-secrets.ee/providers/vault.js +1 -1
  284. package/dist/modules/external-secrets.ee/providers/vault.js.map +1 -1
  285. package/dist/modules/git-connections.ee/database/repositories/git-connection-project.repository.d.ts +5 -3
  286. package/dist/modules/git-connections.ee/database/repositories/git-connection-project.repository.js +16 -4
  287. package/dist/modules/git-connections.ee/database/repositories/git-connection-project.repository.js.map +1 -1
  288. package/dist/modules/git-connections.ee/git-connections.service.d.ts +4 -2
  289. package/dist/modules/git-connections.ee/git-connections.service.js +87 -4
  290. package/dist/modules/git-connections.ee/git-connections.service.js.map +1 -1
  291. package/dist/modules/instance-ai/browser/browser-local-mcp-server.d.ts +3 -2
  292. package/dist/modules/instance-ai/browser/browser-local-mcp-server.js +48 -30
  293. package/dist/modules/instance-ai/browser/browser-local-mcp-server.js.map +1 -1
  294. package/dist/modules/instance-ai/event-bus/durable-event-log.js.map +1 -1
  295. package/dist/modules/instance-ai/event-bus/in-process-event-bus.d.ts +2 -28
  296. package/dist/modules/instance-ai/event-bus/in-process-event-bus.js +5 -228
  297. package/dist/modules/instance-ai/event-bus/in-process-event-bus.js.map +1 -1
  298. package/dist/modules/instance-ai/event-bus/interrupted-run-sweeper.d.ts +1 -3
  299. package/dist/modules/instance-ai/event-bus/interrupted-run-sweeper.js +2 -8
  300. package/dist/modules/instance-ai/event-bus/interrupted-run-sweeper.js.map +1 -1
  301. package/dist/modules/instance-ai/instance-ai-memory.service.js +1 -3
  302. package/dist/modules/instance-ai/instance-ai-memory.service.js.map +1 -1
  303. package/dist/modules/instance-ai/instance-ai-settings.service.d.ts +2 -0
  304. package/dist/modules/instance-ai/instance-ai-settings.service.js +10 -2
  305. package/dist/modules/instance-ai/instance-ai-settings.service.js.map +1 -1
  306. package/dist/modules/instance-ai/instance-ai-terminal-outcome.service.d.ts +0 -2
  307. package/dist/modules/instance-ai/instance-ai-terminal-outcome.service.js +1 -2
  308. package/dist/modules/instance-ai/instance-ai-terminal-outcome.service.js.map +1 -1
  309. package/dist/modules/instance-ai/instance-ai.adapter.service.d.ts +2 -3
  310. package/dist/modules/instance-ai/instance-ai.adapter.service.js +101 -44
  311. package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -1
  312. package/dist/modules/instance-ai/instance-ai.controller.d.ts +1 -1
  313. package/dist/modules/instance-ai/instance-ai.controller.js +75 -83
  314. package/dist/modules/instance-ai/instance-ai.controller.js.map +1 -1
  315. package/dist/modules/instance-ai/instance-ai.module.js +8 -16
  316. package/dist/modules/instance-ai/instance-ai.module.js.map +1 -1
  317. package/dist/modules/instance-ai/instance-ai.service.d.ts +2 -0
  318. package/dist/modules/instance-ai/instance-ai.service.js +55 -11
  319. package/dist/modules/instance-ai/instance-ai.service.js.map +1 -1
  320. package/dist/modules/instance-ai/internal-messages.d.ts +7 -0
  321. package/dist/modules/instance-ai/internal-messages.js +32 -2
  322. package/dist/modules/instance-ai/internal-messages.js.map +1 -1
  323. package/dist/modules/instance-ai/mcp/instance-ai-mcp-registry.service.d.ts +2 -5
  324. package/dist/modules/instance-ai/mcp/instance-ai-mcp-registry.service.js +4 -7
  325. package/dist/modules/instance-ai/mcp/instance-ai-mcp-registry.service.js.map +1 -1
  326. package/dist/modules/instance-ai/repositories/instance-ai-event-log.repository.js.map +1 -1
  327. package/dist/modules/instance-ai/tracing/instance-ai-tracing.service.js.map +1 -1
  328. package/dist/modules/instance-ai/workflow-templates.service.js +1 -1
  329. package/dist/modules/instance-ai/workflow-templates.service.js.map +1 -1
  330. package/dist/modules/ldap.ee/ldap.controller.ee.d.ts +4 -2
  331. package/dist/modules/ldap.ee/ldap.controller.ee.js +9 -2
  332. package/dist/modules/ldap.ee/ldap.controller.ee.js.map +1 -1
  333. package/dist/modules/ldap.ee/ldap.service.ee.js +4 -0
  334. package/dist/modules/ldap.ee/ldap.service.ee.js.map +1 -1
  335. package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-webhook.ee.js +1 -1
  336. package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-webhook.ee.js.map +1 -1
  337. package/dist/modules/mcp/mcp-server-middleware.service.js +1 -0
  338. package/dist/modules/mcp/mcp-server-middleware.service.js.map +1 -1
  339. package/dist/modules/mcp/mcp.constants.d.ts +2 -0
  340. package/dist/modules/mcp/mcp.constants.js +3 -1
  341. package/dist/modules/mcp/mcp.constants.js.map +1 -1
  342. package/dist/modules/mcp/mcp.controller.js +20 -6
  343. package/dist/modules/mcp/mcp.controller.js.map +1 -1
  344. package/dist/modules/mcp/mcp.types.d.ts +1 -0
  345. package/dist/modules/mcp/tools/agents/agent-reference.d.ts +1 -1
  346. package/dist/modules/mcp/tools/agents/agent-reference.js +2 -2
  347. package/dist/modules/mcp/tools/agents/agent-tools.service.d.ts +2 -5
  348. package/dist/modules/mcp/tools/agents/agent-tools.service.js +5 -9
  349. package/dist/modules/mcp/tools/agents/agent-tools.service.js.map +1 -1
  350. package/dist/modules/n8n-packages/engine/import-result.d.ts +2 -1
  351. package/dist/modules/n8n-packages/engine/import-result.js +1 -0
  352. package/dist/modules/n8n-packages/engine/import-result.js.map +1 -1
  353. package/dist/modules/n8n-packages/engine/import-telemetry.d.ts +5 -1
  354. package/dist/modules/n8n-packages/engine/import-telemetry.js.map +1 -1
  355. package/dist/modules/n8n-packages/engine/project-package-importer.d.ts +4 -5
  356. package/dist/modules/n8n-packages/engine/project-package-importer.js +9 -7
  357. package/dist/modules/n8n-packages/engine/project-package-importer.js.map +1 -1
  358. package/dist/modules/n8n-packages/engine/workflow-package-importer.d.ts +4 -5
  359. package/dist/modules/n8n-packages/engine/workflow-package-importer.js +18 -20
  360. package/dist/modules/n8n-packages/engine/workflow-package-importer.js.map +1 -1
  361. package/dist/modules/n8n-packages/entities/credential/credential-importer.js +1 -0
  362. package/dist/modules/n8n-packages/entities/credential/credential-importer.js.map +1 -1
  363. package/dist/modules/n8n-packages/entities/credential/credential-requirements.extractor.js +12 -12
  364. package/dist/modules/n8n-packages/entities/credential/credential-requirements.extractor.js.map +1 -1
  365. package/dist/modules/n8n-packages/entities/credential/workflow-credential-references.d.ts +4 -0
  366. package/dist/modules/n8n-packages/entities/credential/workflow-credential-references.js +34 -0
  367. package/dist/modules/n8n-packages/entities/credential/workflow-credential-references.js.map +1 -0
  368. package/dist/modules/n8n-packages/entities/project/project-importer.js +1 -1
  369. package/dist/modules/n8n-packages/entities/project/project-importer.js.map +1 -1
  370. package/dist/modules/n8n-packages/entities/workflow/workflow-importer.js +22 -14
  371. package/dist/modules/n8n-packages/entities/workflow/workflow-importer.js.map +1 -1
  372. package/dist/modules/n8n-packages/io/directory/directory-package-reader.d.ts +21 -0
  373. package/dist/modules/n8n-packages/io/directory/directory-package-reader.js +146 -0
  374. package/dist/modules/n8n-packages/io/directory/directory-package-reader.js.map +1 -0
  375. package/dist/modules/n8n-packages/n8n-packages.service.d.ts +5 -1
  376. package/dist/modules/n8n-packages/n8n-packages.service.js +36 -0
  377. package/dist/modules/n8n-packages/n8n-packages.service.js.map +1 -1
  378. package/dist/modules/n8n-packages/n8n-packages.types.d.ts +10 -2
  379. package/dist/modules/n8n-packages/n8n-packages.types.js.map +1 -1
  380. package/dist/modules/oauth-server/database/entities/oauth-refresh-token.entity.d.ts +1 -0
  381. package/dist/modules/oauth-server/database/entities/oauth-refresh-token.entity.js +4 -0
  382. package/dist/modules/oauth-server/database/entities/oauth-refresh-token.entity.js.map +1 -1
  383. package/dist/modules/oauth-server/database/repositories/oauth-refresh-token.repository.d.ts +1 -0
  384. package/dist/modules/oauth-server/database/repositories/oauth-refresh-token.repository.js.map +1 -1
  385. package/dist/modules/oauth-server/oauth-server.service.d.ts +1 -1
  386. package/dist/modules/oauth-server/oauth-server.service.js +12 -16
  387. package/dist/modules/oauth-server/oauth-server.service.js.map +1 -1
  388. package/dist/modules/oauth-server/oauth-token.service.d.ts +2 -1
  389. package/dist/modules/oauth-server/oauth-token.service.js +15 -3
  390. package/dist/modules/oauth-server/oauth-token.service.js.map +1 -1
  391. package/dist/modules/oauth-server/protected-resource-resolvers/chat-trigger-resource.base.d.ts +22 -0
  392. package/dist/modules/oauth-server/protected-resource-resolvers/chat-trigger-resource.base.js +60 -0
  393. package/dist/modules/oauth-server/protected-resource-resolvers/chat-trigger-resource.base.js.map +1 -0
  394. package/dist/modules/oauth-server/protected-resource-resolvers/chat-trigger-resource.resolver.d.ts +24 -0
  395. package/dist/modules/oauth-server/protected-resource-resolvers/chat-trigger-resource.resolver.js +62 -0
  396. package/dist/modules/oauth-server/protected-resource-resolvers/chat-trigger-resource.resolver.js.map +1 -0
  397. package/dist/modules/oauth-server/protected-resource-resolvers/chat-trigger-test-resource.resolver.d.ts +22 -0
  398. package/dist/modules/oauth-server/protected-resource-resolvers/chat-trigger-test-resource.resolver.js +56 -0
  399. package/dist/modules/oauth-server/protected-resource-resolvers/chat-trigger-test-resource.resolver.js.map +1 -0
  400. package/dist/modules/oauth-server/protected-resource-resolvers/index.js +4 -0
  401. package/dist/modules/oauth-server/protected-resource-resolvers/index.js.map +1 -1
  402. package/dist/modules/oauth-server/protected-resource-resolvers/utils.d.ts +4 -0
  403. package/dist/modules/oauth-server/protected-resource-resolvers/utils.js +17 -1
  404. package/dist/modules/oauth-server/protected-resource-resolvers/utils.js.map +1 -1
  405. package/dist/modules/oauth-server/resource-identity.d.ts +2 -0
  406. package/dist/modules/oauth-server/resource-identity.js +15 -0
  407. package/dist/modules/oauth-server/resource-identity.js.map +1 -0
  408. package/dist/modules/otel/otel.service.js +14 -7
  409. package/dist/modules/otel/otel.service.js.map +1 -1
  410. package/dist/modules/policy-infrastructure/policy-decision.service.d.ts +1 -0
  411. package/dist/modules/policy-infrastructure/policy-decision.service.js +3 -0
  412. package/dist/modules/policy-infrastructure/policy-decision.service.js.map +1 -1
  413. package/dist/modules/policy-infrastructure/policy-infrastructure.module.js +1 -0
  414. package/dist/modules/policy-infrastructure/policy-infrastructure.module.js.map +1 -1
  415. package/dist/modules/policy-infrastructure/policy-lifecycle-handler.d.ts +9 -0
  416. package/dist/modules/policy-infrastructure/policy-lifecycle-handler.js +45 -0
  417. package/dist/modules/policy-infrastructure/policy-lifecycle-handler.js.map +1 -0
  418. package/dist/modules/quick-connect/handlers/firecrawl.handler.js +1 -1
  419. package/dist/modules/quick-connect/handlers/firecrawl.handler.js.map +1 -1
  420. package/dist/modules/source-control.ee/source-control-import.service.ee.d.ts +18 -1
  421. package/dist/modules/source-control.ee/source-control-import.service.ee.js +11 -3
  422. package/dist/modules/source-control.ee/source-control-import.service.ee.js.map +1 -1
  423. package/dist/modules/source-control.ee/source-control-status.service.ee.js +2 -0
  424. package/dist/modules/source-control.ee/source-control-status.service.ee.js.map +1 -1
  425. package/dist/modules/source-control.ee/source-control.controller.ee.d.ts +32 -0
  426. package/dist/modules/source-control.ee/source-control.service.ee.d.ts +16 -0
  427. package/dist/modules/source-control.ee/source-control.service.ee.js +11 -2
  428. package/dist/modules/source-control.ee/source-control.service.ee.js.map +1 -1
  429. package/dist/modules/source-control.ee/types/import-result.d.ts +2 -1
  430. package/dist/modules/sso-oidc/oidc.controller.ee.js +2 -2
  431. package/dist/modules/sso-oidc/oidc.controller.ee.js.map +1 -1
  432. package/dist/modules/sso-oidc/oidc.service.ee.js +1 -1
  433. package/dist/modules/sso-oidc/oidc.service.ee.js.map +1 -1
  434. package/dist/modules/sso-oidc/views/oidc-test-result.d.ts +2 -2
  435. package/dist/modules/sso-oidc/views/oidc-test-result.js +10 -4
  436. package/dist/modules/sso-oidc/views/oidc-test-result.js.map +1 -1
  437. package/dist/modules/sso-saml/saml.controller.ee.js +2 -2
  438. package/dist/modules/sso-saml/saml.controller.ee.js.map +1 -1
  439. package/dist/modules/sso-saml/saml.service.ee.js +1 -1
  440. package/dist/modules/sso-saml/saml.service.ee.js.map +1 -1
  441. package/dist/modules/sso-saml/views/init-sso-post.d.ts +1 -1
  442. package/dist/modules/sso-saml/views/init-sso-post.js +2 -2
  443. package/dist/modules/sso-saml/views/init-sso-post.js.map +1 -1
  444. package/dist/modules/token-exchange/services/jwks-resolver.js +1 -1
  445. package/dist/modules/token-exchange/services/jwks-resolver.js.map +1 -1
  446. package/dist/modules/type-availability-policies/database/entities/type-availability-policy-attachment.entity.d.ts +7 -0
  447. package/dist/modules/type-availability-policies/database/entities/type-availability-policy-attachment.entity.js +38 -0
  448. package/dist/modules/type-availability-policies/database/entities/type-availability-policy-attachment.entity.js.map +1 -0
  449. package/dist/modules/type-availability-policies/database/entities/type-availability-policy-scope.entity.d.ts +9 -0
  450. package/dist/modules/type-availability-policies/database/entities/type-availability-policy-scope.entity.js +41 -0
  451. package/dist/modules/type-availability-policies/database/entities/type-availability-policy-scope.entity.js.map +1 -0
  452. package/dist/modules/type-availability-policies/database/entities/type-availability-policy.entity.d.ts +8 -0
  453. package/dist/modules/type-availability-policies/database/entities/type-availability-policy.entity.js +37 -0
  454. package/dist/modules/type-availability-policies/database/entities/type-availability-policy.entity.js.map +1 -0
  455. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy-attachment.repository.d.ts +17 -0
  456. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy-attachment.repository.js +96 -0
  457. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy-attachment.repository.js.map +1 -0
  458. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy-scope.repository.d.ts +20 -0
  459. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy-scope.repository.js +69 -0
  460. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy-scope.repository.js.map +1 -0
  461. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy.repository.d.ts +18 -0
  462. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy.repository.js +63 -0
  463. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy.repository.js.map +1 -0
  464. package/dist/modules/type-availability-policies/type-availability-policies.module.d.ts +1 -0
  465. package/dist/modules/type-availability-policies/type-availability-policies.module.js +6 -0
  466. package/dist/modules/type-availability-policies/type-availability-policies.module.js.map +1 -1
  467. package/dist/modules/workflow-reviews.ee/workflow-review-activity.service.d.ts +3 -5
  468. package/dist/modules/workflow-reviews.ee/workflow-review-activity.service.js +7 -9
  469. package/dist/modules/workflow-reviews.ee/workflow-review-activity.service.js.map +1 -1
  470. package/dist/modules/workflow-reviews.ee/{workflow-review-access.service.d.ts → workflow-review-authorization.service.d.ts} +12 -3
  471. package/dist/modules/workflow-reviews.ee/{workflow-review-access.service.js → workflow-review-authorization.service.js} +52 -17
  472. package/dist/modules/workflow-reviews.ee/workflow-review-authorization.service.js.map +1 -0
  473. package/dist/modules/workflow-reviews.ee/workflow-review-decision-policy.d.ts +14 -0
  474. package/dist/modules/workflow-reviews.ee/workflow-review-decision-policy.js +17 -0
  475. package/dist/modules/workflow-reviews.ee/workflow-review-decision-policy.js.map +1 -0
  476. package/dist/modules/workflow-reviews.ee/workflow-review-inbox.service.d.ts +8 -12
  477. package/dist/modules/workflow-reviews.ee/workflow-review-inbox.service.js +28 -82
  478. package/dist/modules/workflow-reviews.ee/workflow-review-inbox.service.js.map +1 -1
  479. package/dist/modules/workflow-reviews.ee/workflow-review-lifecycle.service.d.ts +7 -6
  480. package/dist/modules/workflow-reviews.ee/workflow-review-lifecycle.service.js +80 -110
  481. package/dist/modules/workflow-reviews.ee/workflow-review-lifecycle.service.js.map +1 -1
  482. package/dist/modules/workflow-reviews.ee/workflow-review-participant.resolver.d.ts +17 -0
  483. package/dist/modules/workflow-reviews.ee/workflow-review-participant.resolver.js +69 -0
  484. package/dist/modules/workflow-reviews.ee/workflow-review-participant.resolver.js.map +1 -0
  485. package/dist/modules/workflow-reviews.ee/workflow-review-request-decision.service.d.ts +34 -0
  486. package/dist/modules/workflow-reviews.ee/workflow-review-request-decision.service.js +237 -0
  487. package/dist/modules/workflow-reviews.ee/workflow-review-request-decision.service.js.map +1 -0
  488. package/dist/modules/workflow-reviews.ee/workflow-review-request-mutation-guard.service.d.ts +10 -0
  489. package/dist/modules/workflow-reviews.ee/workflow-review-request-mutation-guard.service.js +57 -0
  490. package/dist/modules/workflow-reviews.ee/workflow-review-request-mutation-guard.service.js.map +1 -0
  491. package/dist/modules/workflow-reviews.ee/workflow-review-request-status.service.d.ts +17 -0
  492. package/dist/modules/workflow-reviews.ee/workflow-review-request-status.service.js +93 -0
  493. package/dist/modules/workflow-reviews.ee/workflow-review-request-status.service.js.map +1 -0
  494. package/dist/modules/workflow-reviews.ee/workflow-review-request-submission.service.d.ts +34 -0
  495. package/dist/modules/workflow-reviews.ee/workflow-review-request-submission.service.js +268 -0
  496. package/dist/modules/workflow-reviews.ee/workflow-review-request-submission.service.js.map +1 -0
  497. package/dist/modules/workflow-reviews.ee/workflow-review-requests.controller.d.ts +7 -3
  498. package/dist/modules/workflow-reviews.ee/workflow-review-requests.controller.js +13 -9
  499. package/dist/modules/workflow-reviews.ee/workflow-review-requests.controller.js.map +1 -1
  500. package/dist/modules/workflow-reviews.ee/workflow-review-state-notifier.service.d.ts +9 -0
  501. package/dist/modules/workflow-reviews.ee/workflow-review-state-notifier.service.js +37 -0
  502. package/dist/modules/workflow-reviews.ee/workflow-review-state-notifier.service.js.map +1 -0
  503. package/dist/oauth/oauth.service.js +0 -1
  504. package/dist/oauth/oauth.service.js.map +1 -1
  505. package/dist/permissions.ee/check-access.js +11 -7
  506. package/dist/permissions.ee/check-access.js.map +1 -1
  507. package/dist/permissions.ee/project-scope.service.d.ts +1 -0
  508. package/dist/permissions.ee/project-scope.service.js +7 -2
  509. package/dist/permissions.ee/project-scope.service.js.map +1 -1
  510. package/dist/policy/evaluate-content-import-safely.d.ts +5 -0
  511. package/dist/policy/evaluate-content-import-safely.js +18 -0
  512. package/dist/policy/evaluate-content-import-safely.js.map +1 -0
  513. package/dist/policy/policy-enforcement-backend.d.ts +1 -0
  514. package/dist/policy/policy-enforcement.service.d.ts +2 -2
  515. package/dist/policy/policy-enforcement.service.js +10 -14
  516. package/dist/policy/policy-enforcement.service.js.map +1 -1
  517. package/dist/policy/policy-violation.error.d.ts +2 -0
  518. package/dist/policy/policy-violation.error.js +10 -0
  519. package/dist/policy/policy-violation.error.js.map +1 -1
  520. package/dist/public-api/types.d.ts +1 -14
  521. package/dist/public-api/v1/controllers/git-connections.public.controller.d.ts +2 -1
  522. package/dist/public-api/v1/controllers/git-connections.public.controller.js +24 -3
  523. package/dist/public-api/v1/controllers/git-connections.public.controller.js.map +1 -1
  524. package/dist/public-api/v1/controllers/workflows.public.controller.d.ts +8 -1
  525. package/dist/public-api/v1/controllers/workflows.public.controller.js +151 -14
  526. package/dist/public-api/v1/controllers/workflows.public.controller.js.map +1 -1
  527. package/dist/public-api/v1/handlers/credentials/credentials.handler.js +1 -0
  528. package/dist/public-api/v1/handlers/credentials/credentials.handler.js.map +1 -1
  529. package/dist/public-api/v1/handlers/data-tables/data-tables.handler.js +33 -44
  530. package/dist/public-api/v1/handlers/data-tables/data-tables.handler.js.map +1 -1
  531. package/dist/public-api/v1/handlers/discover/discover.handler.d.ts +1 -1
  532. package/dist/public-api/v1/handlers/discover/discover.handler.js +3 -13
  533. package/dist/public-api/v1/handlers/discover/discover.handler.js.map +1 -1
  534. package/dist/public-api/v1/handlers/discover/discover.service.d.ts +2 -3
  535. package/dist/public-api/v1/handlers/discover/discover.service.js.map +1 -1
  536. package/dist/public-api/v1/handlers/projects/projects.handler.d.ts +1 -1
  537. package/dist/public-api/v1/handlers/projects/projects.handler.js +23 -21
  538. package/dist/public-api/v1/handlers/projects/projects.handler.js.map +1 -1
  539. package/dist/public-api/v1/handlers/variables/variables.handler.d.ts +1 -1
  540. package/dist/public-api/v1/handlers/variables/variables.handler.js +5 -6
  541. package/dist/public-api/v1/handlers/variables/variables.handler.js.map +1 -1
  542. package/dist/public-api/v1/handlers/workflows/workflows.handler.d.ts +0 -4
  543. package/dist/public-api/v1/handlers/workflows/workflows.handler.js +0 -102
  544. package/dist/public-api/v1/handlers/workflows/workflows.handler.js.map +1 -1
  545. package/dist/public-api/v1/openapi.yml +4779 -2848
  546. package/dist/response-helper.js +3 -0
  547. package/dist/response-helper.js.map +1 -1
  548. package/dist/scaling/constants.d.ts +2 -2
  549. package/dist/scaling/constants.js +1 -0
  550. package/dist/scaling/constants.js.map +1 -1
  551. package/dist/scaling/pubsub/pubsub.event-map.d.ts +5 -1
  552. package/dist/scaling/pubsub/pubsub.types.d.ts +2 -1
  553. package/dist/scheduling/poll-trigger-node/poll-trigger-task-handler.js +2 -7
  554. package/dist/scheduling/poll-trigger-node/poll-trigger-task-handler.js.map +1 -1
  555. package/dist/security/content-security-policy.d.ts +8 -0
  556. package/dist/security/content-security-policy.js +18 -0
  557. package/dist/security/content-security-policy.js.map +1 -0
  558. package/dist/security-audit/risk-reporters/instance-risk-reporter.js +1 -1
  559. package/dist/security-audit/risk-reporters/instance-risk-reporter.js.map +1 -1
  560. package/dist/server.js +22 -21
  561. package/dist/server.js.map +1 -1
  562. package/dist/services/active-workflows.service.d.ts +3 -1
  563. package/dist/services/active-workflows.service.js +11 -9
  564. package/dist/services/active-workflows.service.js.map +1 -1
  565. package/dist/services/ai-gateway.service.js +1 -1
  566. package/dist/services/ai-gateway.service.js.map +1 -1
  567. package/dist/services/credentials-tester.service.js +7 -1
  568. package/dist/services/credentials-tester.service.js.map +1 -1
  569. package/dist/services/engine-data-plane-proxy.service.d.ts +4 -1
  570. package/dist/services/engine-data-plane-proxy.service.js +5 -0
  571. package/dist/services/engine-data-plane-proxy.service.js.map +1 -1
  572. package/dist/services/engine-v2-dispatcher.service.d.ts +5 -2
  573. package/dist/services/engine-v2-dispatcher.service.js +46 -24
  574. package/dist/services/engine-v2-dispatcher.service.js.map +1 -1
  575. package/dist/services/engine-v2-push-registry.service.d.ts +8 -0
  576. package/dist/services/engine-v2-push-registry.service.js +51 -0
  577. package/dist/services/engine-v2-push-registry.service.js.map +1 -0
  578. package/dist/services/engine-v2-push-session.d.ts +23 -0
  579. package/dist/services/engine-v2-push-session.js +24 -0
  580. package/dist/services/engine-v2-push-session.js.map +1 -0
  581. package/dist/services/folder-finder.service.js +10 -8
  582. package/dist/services/folder-finder.service.js.map +1 -1
  583. package/dist/services/folder.service.d.ts +1 -1
  584. package/dist/services/folder.service.js +1 -7
  585. package/dist/services/folder.service.js.map +1 -1
  586. package/dist/services/import.service.d.ts +14 -3
  587. package/dist/services/import.service.js +27 -2
  588. package/dist/services/import.service.js.map +1 -1
  589. package/dist/services/ownership-transfer/ownership-transfer.manifest.json +5 -0
  590. package/dist/services/project.service.ee.d.ts +47 -9
  591. package/dist/services/project.service.ee.js +128 -17
  592. package/dist/services/project.service.ee.js.map +1 -1
  593. package/dist/services/role.service.js +10 -5
  594. package/dist/services/role.service.js.map +1 -1
  595. package/dist/task-runners/task-runner-process-py.d.ts +1 -1
  596. package/dist/task-runners/task-runner-process-py.js.map +1 -1
  597. package/dist/telemetry/index.js +1 -1
  598. package/dist/telemetry/index.js.map +1 -1
  599. package/dist/utils/ai-proxy-fetch.d.ts +3 -4
  600. package/dist/utils/ai-proxy-fetch.js +3 -5
  601. package/dist/utils/ai-proxy-fetch.js.map +1 -1
  602. package/dist/utils/strapi-utils.js +1 -1
  603. package/dist/utils/strapi-utils.js.map +1 -1
  604. package/dist/utils/ttl-map.d.ts +1 -0
  605. package/dist/utils/ttl-map.js +9 -0
  606. package/dist/utils/ttl-map.js.map +1 -1
  607. package/dist/webhooks/constants.d.ts +2 -0
  608. package/dist/webhooks/constants.js +2 -1
  609. package/dist/webhooks/constants.js.map +1 -1
  610. package/dist/webhooks/live-webhooks.js +1 -1
  611. package/dist/webhooks/live-webhooks.js.map +1 -1
  612. package/dist/webhooks/test-webhook-registrations.service.d.ts +1 -0
  613. package/dist/webhooks/test-webhook-registrations.service.js.map +1 -1
  614. package/dist/webhooks/test-webhooks.d.ts +6 -2
  615. package/dist/webhooks/test-webhooks.js +29 -6
  616. package/dist/webhooks/test-webhooks.js.map +1 -1
  617. package/dist/webhooks/waiting-forms.js +3 -4
  618. package/dist/webhooks/waiting-forms.js.map +1 -1
  619. package/dist/webhooks/waiting-webhooks.js +4 -0
  620. package/dist/webhooks/waiting-webhooks.js.map +1 -1
  621. package/dist/webhooks/webhook-helpers.d.ts +3 -1
  622. package/dist/webhooks/webhook-helpers.js +24 -1
  623. package/dist/webhooks/webhook-helpers.js.map +1 -1
  624. package/dist/webhooks/webhook-response-headers.d.ts +1 -0
  625. package/dist/webhooks/webhook-response-headers.js +6 -0
  626. package/dist/webhooks/webhook-response-headers.js.map +1 -1
  627. package/dist/workflow-execute-additional-data.js +5 -0
  628. package/dist/workflow-execute-additional-data.js.map +1 -1
  629. package/dist/workflow-helpers.d.ts +3 -2
  630. package/dist/workflow-helpers.js +35 -24
  631. package/dist/workflow-helpers.js.map +1 -1
  632. package/dist/workflows/publication/publication-result.d.ts +5 -0
  633. package/dist/workflows/publication/publication-status-reporter.d.ts +1 -0
  634. package/dist/workflows/publication/publication-status-reporter.js +23 -5
  635. package/dist/workflows/publication/publication-status-reporter.js.map +1 -1
  636. package/dist/workflows/publication/workflow-publication-applier.d.ts +6 -1
  637. package/dist/workflows/publication/workflow-publication-applier.js +63 -10
  638. package/dist/workflows/publication/workflow-publication-applier.js.map +1 -1
  639. package/dist/workflows/triggers/poll-backoff.service.d.ts +2 -2
  640. package/dist/workflows/triggers/poll-backoff.service.js +3 -3
  641. package/dist/workflows/triggers/poll-backoff.service.js.map +1 -1
  642. package/dist/workflows/triggers/poll-cursor.service.d.ts +2 -2
  643. package/dist/workflows/triggers/poll-cursor.service.js +4 -1
  644. package/dist/workflows/triggers/poll-cursor.service.js.map +1 -1
  645. package/dist/workflows/triggers/trigger-execution-context.factory.d.ts +6 -4
  646. package/dist/workflows/triggers/trigger-execution-context.factory.js +13 -7
  647. package/dist/workflows/triggers/trigger-execution-context.factory.js.map +1 -1
  648. package/dist/workflows/triggers/webhook-trigger-registrar.d.ts +1 -0
  649. package/dist/workflows/triggers/webhook-trigger-registrar.js +3 -0
  650. package/dist/workflows/triggers/webhook-trigger-registrar.js.map +1 -1
  651. package/dist/workflows/triggers/workflow-trigger-activator.d.ts +10 -1
  652. package/dist/workflows/triggers/workflow-trigger-activator.js +78 -38
  653. package/dist/workflows/triggers/workflow-trigger-activator.js.map +1 -1
  654. package/dist/workflows/workflow-creation.service.d.ts +17 -4
  655. package/dist/workflows/workflow-creation.service.js +96 -16
  656. package/dist/workflows/workflow-creation.service.js.map +1 -1
  657. package/dist/workflows/workflow-execution.service.js +2 -0
  658. package/dist/workflows/workflow-execution.service.js.map +1 -1
  659. package/dist/workflows/workflow-finder.service.js +67 -56
  660. package/dist/workflows/workflow-finder.service.js.map +1 -1
  661. package/dist/workflows/workflow-validation.service.js +3 -2
  662. package/dist/workflows/workflow-validation.service.js.map +1 -1
  663. package/dist/workflows/workflow.service.d.ts +4 -1
  664. package/dist/workflows/workflow.service.ee.d.ts +9 -3
  665. package/dist/workflows/workflow.service.ee.js +16 -2
  666. package/dist/workflows/workflow.service.ee.js.map +1 -1
  667. package/dist/workflows/workflow.service.js +25 -4
  668. package/dist/workflows/workflow.service.js.map +1 -1
  669. package/dist/workflows/workflows.controller.d.ts +3 -5
  670. package/dist/workflows/workflows.controller.js +3 -7
  671. package/dist/workflows/workflows.controller.js.map +1 -1
  672. package/package.json +38 -38
  673. package/templates/oauth-callback.handlebars +1 -1
  674. package/templates/oauth-error-callback.handlebars +1 -1
  675. package/templates/saml-connection-test-failed.handlebars +4 -1
  676. package/templates/saml-connection-test-success.handlebars +4 -1
  677. package/dist/modules/instance-ai/output-redaction-config.d.ts +0 -3
  678. package/dist/modules/instance-ai/output-redaction-config.js +0 -21
  679. package/dist/modules/instance-ai/output-redaction-config.js.map +0 -1
  680. package/dist/modules/workflow-reviews.ee/workflow-review-access.service.js.map +0 -1
  681. package/dist/modules/workflow-reviews.ee/workflow-review-eligibility.service.d.ts +0 -18
  682. package/dist/modules/workflow-reviews.ee/workflow-review-eligibility.service.js +0 -77
  683. package/dist/modules/workflow-reviews.ee/workflow-review-eligibility.service.js.map +0 -1
  684. package/dist/modules/workflow-reviews.ee/workflow-review-request.service.d.ts +0 -51
  685. package/dist/modules/workflow-reviews.ee/workflow-review-request.service.js +0 -538
  686. package/dist/modules/workflow-reviews.ee/workflow-review-request.service.js.map +0 -1
  687. package/dist/policy/policy-cleared.d.ts +0 -20
  688. package/dist/policy/policy-cleared.js +0 -22
  689. package/dist/policy/policy-cleared.js.map +0 -1
  690. package/dist/public-api/v1/handlers/data-tables/data-tables.service.d.ts +0 -4
  691. package/dist/public-api/v1/handlers/data-tables/data-tables.service.js +0 -44
  692. package/dist/public-api/v1/handlers/data-tables/data-tables.service.js.map +0 -1
@@ -22,13 +22,15 @@ const zod_1 = require("zod");
22
22
  const data_table_ddl_service_1 = require("../modules/data-table/data-table-ddl.service");
23
23
  const sql_utils_1 = require("../modules/data-table/utils/sql-utils");
24
24
  const workflow_index_service_1 = require("../modules/workflow-index/workflow-index.service");
25
+ const evaluate_content_import_safely_1 = require("../policy/evaluate-content-import-safely");
26
+ const policy_enforcement_service_1 = require("../policy/policy-enforcement.service");
25
27
  const compression_util_1 = require("../utils/compression.util");
26
28
  const validate_database_type_1 = require("../utils/validate-database-type");
27
29
  const workflow_helpers_1 = require("../workflow-helpers");
28
30
  const workflow_service_1 = require("../workflows/workflow.service");
29
31
  const DATA_TABLE_ROWS_FILE_PREFIX = 'data_table_user_';
30
32
  let ImportService = class ImportService {
31
- constructor(logger, credentialsRepository, tagRepository, dataSource, cipher, workflowIndexService, dataTableDDLService, userRepository, workflowService) {
33
+ constructor(logger, credentialsRepository, tagRepository, dataSource, cipher, workflowIndexService, dataTableDDLService, userRepository, workflowService, policyEnforcementService, sharedWorkflowRepository) {
32
34
  this.logger = logger;
33
35
  this.credentialsRepository = credentialsRepository;
34
36
  this.tagRepository = tagRepository;
@@ -38,6 +40,8 @@ let ImportService = class ImportService {
38
40
  this.dataTableDDLService = dataTableDDLService;
39
41
  this.userRepository = userRepository;
40
42
  this.workflowService = workflowService;
43
+ this.policyEnforcementService = policyEnforcementService;
44
+ this.sharedWorkflowRepository = sharedWorkflowRepository;
41
45
  this.dbCredentials = [];
42
46
  this.dbTags = [];
43
47
  this.foreignKeyCommands = {
@@ -73,6 +77,7 @@ let ImportService = class ImportService {
73
77
  const workflowIds = workflows.map((w) => w.id).filter((id) => !!id);
74
78
  const existingWorkflowIds = new Set();
75
79
  const activeVersionIdByWorkflow = new Map();
80
+ let existingOwnerProjects = new Map();
76
81
  if (workflowIds.length > 0) {
77
82
  const existingWorkflows = await dbManager.find(db_1.WorkflowEntity, {
78
83
  where: { id: (0, typeorm_1.In)(workflowIds) },
@@ -84,7 +89,12 @@ let ImportService = class ImportService {
84
89
  activeVersionIdByWorkflow.set(id, activeVersionId);
85
90
  }
86
91
  }
92
+ if (this.policyEnforcementService.hasChecksFor('contentImport')) {
93
+ existingOwnerProjects =
94
+ await this.sharedWorkflowRepository.findOwnerProjectsByWorkflowIds(workflowIds);
95
+ }
87
96
  }
97
+ const violations = [];
88
98
  for (const workflow of workflows) {
89
99
  workflow.nodes.forEach((node) => {
90
100
  this.toNewCredentialFormat(node);
@@ -98,6 +108,20 @@ let ImportService = class ImportService {
98
108
  for (const warning of (0, workflow_helpers_1.sanitizeNodeGroupDescriptions)(workflow)) {
99
109
  this.logger.warn(`Workflow "${workflow.name}": ${warning}`);
100
110
  }
111
+ const evaluationProjectId = workflow.id
112
+ ? (existingOwnerProjects.get(workflow.id)?.id ?? projectId)
113
+ : projectId;
114
+ const contentImportPolicy = await (0, evaluate_content_import_safely_1.evaluateContentImportSafely)(this.policyEnforcementService, {
115
+ workflow: { id: workflow.id ?? null, name: workflow.name, nodes: workflow.nodes },
116
+ projectId: evaluationProjectId,
117
+ }, this.logger);
118
+ if (contentImportPolicy.violations.length || contentImportPolicy.checkErrors.length) {
119
+ violations.push({
120
+ workflowId: workflow.id ?? null,
121
+ name: workflow.name,
122
+ contentImportPolicy,
123
+ });
124
+ }
101
125
  if (workflow.id && activeVersionIdByWorkflow.has(workflow.id)) {
102
126
  await this.workflowService.deactivateWorkflow(user, workflow.id, { source: 'import' });
103
127
  }
@@ -158,6 +182,7 @@ let ImportService = class ImportService {
158
182
  for (const workflow of insertedWorkflows) {
159
183
  await this.workflowIndexService.updateIndexForDraft(workflow);
160
184
  }
185
+ return { violations };
161
186
  }
162
187
  sortWorkflowsForActivation(allImportedWorkflows, toActivate) {
163
188
  if (toActivate.length <= 1)
@@ -662,6 +687,6 @@ let ImportService = class ImportService {
662
687
  exports.ImportService = ImportService;
663
688
  exports.ImportService = ImportService = __decorate([
664
689
  (0, di_1.Service)(),
665
- __metadata("design:paramtypes", [backend_common_1.Logger, db_1.CredentialsRepository, db_1.TagRepository, typeorm_1.DataSource, n8n_core_1.Cipher, workflow_index_service_1.WorkflowIndexService, data_table_ddl_service_1.DataTableDDLService, db_1.UserRepository, workflow_service_1.WorkflowService])
690
+ __metadata("design:paramtypes", [backend_common_1.Logger, db_1.CredentialsRepository, db_1.TagRepository, typeorm_1.DataSource, n8n_core_1.Cipher, workflow_index_service_1.WorkflowIndexService, data_table_ddl_service_1.DataTableDDLService, db_1.UserRepository, workflow_service_1.WorkflowService, policy_enforcement_service_1.PolicyEnforcementService, db_1.SharedWorkflowRepository])
666
691
  ], ImportService);
667
692
  //# sourceMappingURL=import.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"import.service.js","sourceRoot":"","sources":["../../src/services/import.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import.service.js","sourceRoot":"","sources":["../../src/services/import.service.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,11 @@
34
34
  "path": "packages/@n8n/db/src/entities/role-mapping-rule.ts",
35
35
  "reason": "SSO role-mapping config attached to the project, not user data."
36
36
  },
37
+ {
38
+ "name": "TypeAvailabilityPolicyScope",
39
+ "path": "packages/cli/src/modules/type-availability-policies/database/entities/type-availability-policy-scope.entity.ts",
40
+ "reason": "Governance config attached to the project, not user data; dropped via FK cascade. Transferring it could not work anyway: a destination project may already own a scope of the same kind, which uq_type_availability_policy_scope_project rejects."
41
+ },
37
42
  {
38
43
  "name": "Variables",
39
44
  "path": "packages/@n8n/db/src/entities/variables.ts",
@@ -1,9 +1,12 @@
1
1
  import type { CreateProjectDto, ProjectType, UpdateProjectDto } from '@n8n/api-types';
2
2
  import { LicenseState, Logger, ModuleRegistry } from '@n8n/backend-common';
3
3
  import { type User, FolderRepository, Project, ProjectRelation, ProjectRelationRepository, ProjectRepository, SharedCredentialsRepository, SharedWorkflowRepository, type ProjectListOptions } from '@n8n/db';
4
- import { type Scope, AssignableProjectRole } from '@n8n/permissions';
4
+ import { type Scope, type GlobalRole, type ProjectRole, AssignableProjectRole } from '@n8n/permissions';
5
5
  import type { EntityManager } from '@n8n/typeorm';
6
6
  import { UserError } from 'n8n-workflow';
7
+ import { NotFoundError } from '../errors/response-errors/not-found.error';
8
+ import { EventService } from '../events/event.service';
9
+ import { UserManagementMailer } from '../user-management/email';
7
10
  import { OwnershipService } from './ownership.service';
8
11
  import { RoleService } from './role.service';
9
12
  export declare class TeamProjectOverQuotaError extends UserError {
@@ -12,6 +15,11 @@ export declare class TeamProjectOverQuotaError extends UserError {
12
15
  export declare class UnlicensedProjectRoleError extends UserError {
13
16
  constructor(role: AssignableProjectRole);
14
17
  }
18
+ export declare class ProjectNotFoundError extends NotFoundError {
19
+ readonly projectId: string;
20
+ constructor(projectId: string);
21
+ static isDefinedAndNotNull<T>(value: T | undefined | null, projectId: string): asserts value is T;
22
+ }
15
23
  export interface ProjectCreateOverrides {
16
24
  id?: string;
17
25
  description?: string | null;
@@ -20,6 +28,10 @@ export interface ProjectCreateOverrides {
20
28
  value: string;
21
29
  }>;
22
30
  }
31
+ export type ProjectWithRelationsAndScopes = Project & {
32
+ role: ProjectRole | AssignableProjectRole | GlobalRole;
33
+ scopes?: Scope[];
34
+ };
23
35
  export declare class ProjectService {
24
36
  private readonly sharedWorkflowRepository;
25
37
  private readonly projectRepository;
@@ -31,7 +43,9 @@ export declare class ProjectService {
31
43
  private readonly moduleRegistry;
32
44
  private readonly ownershipService;
33
45
  private readonly logger;
34
- constructor(sharedWorkflowRepository: SharedWorkflowRepository, projectRepository: ProjectRepository, projectRelationRepository: ProjectRelationRepository, roleService: RoleService, sharedCredentialsRepository: SharedCredentialsRepository, folderRepository: FolderRepository, licenseState: LicenseState, moduleRegistry: ModuleRegistry, ownershipService: OwnershipService, logger: Logger);
46
+ private readonly eventService;
47
+ private readonly userManagementMailer;
48
+ constructor(sharedWorkflowRepository: SharedWorkflowRepository, projectRepository: ProjectRepository, projectRelationRepository: ProjectRelationRepository, roleService: RoleService, sharedCredentialsRepository: SharedCredentialsRepository, folderRepository: FolderRepository, licenseState: LicenseState, moduleRegistry: ModuleRegistry, ownershipService: OwnershipService, logger: Logger, eventService: EventService, userManagementMailer: UserManagementMailer);
35
49
  private get workflowService();
36
50
  private get credentialsService();
37
51
  private get dataTableService();
@@ -50,12 +64,26 @@ export declare class ProjectService {
50
64
  scopes: Scope[];
51
65
  }>>;
52
66
  getAccessibleProjects(user: User): Promise<Project[]>;
53
- getAccessibleProjectsAndCount(user: User, options: ProjectListOptions): Promise<[Project[], number]>;
54
- getShareableProjectsAndCount(user: User, options: ProjectListOptions): Promise<[Project[], number]>;
67
+ getAccessibleProjectsAndCount(user: User, options: ProjectListOptions): Promise<{
68
+ projects: Project[];
69
+ count: number;
70
+ }>;
71
+ getShareableProjectsAndCount(user: User, options: ProjectListOptions): Promise<{
72
+ projects: Project[];
73
+ count: number;
74
+ }>;
75
+ getProjectsAndCount({ offset, limit, }: {
76
+ offset: number;
77
+ limit: number;
78
+ }): Promise<{
79
+ projects: Project[];
80
+ count: number;
81
+ }>;
55
82
  getPersonalProjectOwners(projectIds: string[]): Promise<ProjectRelation[]>;
83
+ getMyProjects(user: User): Promise<ProjectWithRelationsAndScopes[]>;
56
84
  private createTeamProjectWithEntityManager;
57
85
  createTeamProject(adminUser: User, data: CreateProjectDto, overrides?: ProjectCreateOverrides): Promise<Project>;
58
- updateProject(projectId: string, { name, icon, description, customTelemetryTags }: UpdateProjectDto): Promise<void>;
86
+ updateProject(user: User, projectId: string, { name, icon, description, customTelemetryTags }: UpdateProjectDto): Promise<void>;
59
87
  getPersonalProject(user: User): Promise<Project | null>;
60
88
  getProjectRelationsForUser(user: User): Promise<ProjectRelation[]>;
61
89
  syncProjectRelations(projectId: string, relations: Array<{
@@ -68,11 +96,13 @@ export declare class ProjectService {
68
96
  userId: string;
69
97
  }>;
70
98
  }>;
71
- addUsersToProject(projectId: string, relations: Array<{
99
+ private notifyNewSharees;
100
+ private emitProjectMembersUpdated;
101
+ addUsersToProject(user: User, projectId: string, relations: Array<{
72
102
  userId: string;
73
103
  role: AssignableProjectRole;
74
104
  }>): Promise<void>;
75
- addUsersWithConflictSemantics(projectId: string, relations: Array<{
105
+ addUsersWithConflictSemantics(user: User, projectId: string, relations: Array<{
76
106
  userId: string;
77
107
  role: AssignableProjectRole;
78
108
  }>): Promise<{
@@ -90,8 +120,8 @@ export declare class ProjectService {
90
120
  private getTeamProjectWithRelations;
91
121
  private checkRolesLicensed;
92
122
  private isUserProjectOwner;
93
- deleteUserFromProject(projectId: string, userId: string): Promise<void>;
94
- changeUserRoleInProject(projectId: string, userId: string, role: AssignableProjectRole): Promise<void>;
123
+ deleteUserFromProject(user: User, projectId: string, userId: string): Promise<void>;
124
+ changeUserRoleInProject(user: User, projectId: string, userId: string, role: AssignableProjectRole): Promise<void>;
95
125
  pruneRelations(em: EntityManager, project: Project): Promise<void>;
96
126
  addManyRelations(em: EntityManager, project: Project, relations: Array<{
97
127
  userId: string;
@@ -115,6 +145,14 @@ export declare class ProjectService {
115
145
  findProject(projectId: string): Promise<Project | null>;
116
146
  getProjectRelations(projectId: string): Promise<ProjectRelation[]>;
117
147
  getProjectRelationForUserAndProject(userId: string, projectId: string): Promise<ProjectRelation | null>;
148
+ getProjectMembersAndCount(projectId: string, { offset, limit }: {
149
+ offset: number;
150
+ limit: number;
151
+ }): Promise<{
152
+ members: ProjectRelation[];
153
+ count: number;
154
+ }>;
155
+ getProjectScopesForUser(user: User, projectId: string): Promise<Scope[]>;
118
156
  getUserOwnedOrAdminProjects(userId: string): Promise<Project[]>;
119
157
  getProjectCounts(): Promise<Record<ProjectType, number>>;
120
158
  }
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.ProjectService = exports.UnlicensedProjectRoleError = exports.TeamProjectOverQuotaError = void 0;
12
+ exports.ProjectService = exports.ProjectNotFoundError = exports.UnlicensedProjectRoleError = exports.TeamProjectOverQuotaError = void 0;
13
13
  const backend_common_1 = require("@n8n/backend-common");
14
14
  const constants_1 = require("@n8n/constants");
15
15
  const db_1 = require("@n8n/db");
@@ -20,6 +20,8 @@ const n8n_workflow_1 = require("n8n-workflow");
20
20
  const bad_request_error_1 = require("../errors/response-errors/bad-request.error");
21
21
  const forbidden_error_1 = require("../errors/response-errors/forbidden.error");
22
22
  const not_found_error_1 = require("../errors/response-errors/not-found.error");
23
+ const event_service_1 = require("../events/event.service");
24
+ const email_1 = require("../user-management/email");
23
25
  const ownership_service_1 = require("./ownership.service");
24
26
  const role_service_1 = require("./role.service");
25
27
  class TeamProjectOverQuotaError extends n8n_workflow_1.UserError {
@@ -37,6 +39,7 @@ exports.UnlicensedProjectRoleError = UnlicensedProjectRoleError;
37
39
  class ProjectNotFoundError extends not_found_error_1.NotFoundError {
38
40
  constructor(projectId) {
39
41
  super(`Could not find project with ID: ${projectId}`);
42
+ this.projectId = projectId;
40
43
  }
41
44
  static isDefinedAndNotNull(value, projectId) {
42
45
  if (value === undefined || value === null) {
@@ -44,8 +47,9 @@ class ProjectNotFoundError extends not_found_error_1.NotFoundError {
44
47
  }
45
48
  }
46
49
  }
50
+ exports.ProjectNotFoundError = ProjectNotFoundError;
47
51
  let ProjectService = class ProjectService {
48
- constructor(sharedWorkflowRepository, projectRepository, projectRelationRepository, roleService, sharedCredentialsRepository, folderRepository, licenseState, moduleRegistry, ownershipService, logger) {
52
+ constructor(sharedWorkflowRepository, projectRepository, projectRelationRepository, roleService, sharedCredentialsRepository, folderRepository, licenseState, moduleRegistry, ownershipService, logger, eventService, userManagementMailer) {
49
53
  this.sharedWorkflowRepository = sharedWorkflowRepository;
50
54
  this.projectRepository = projectRepository;
51
55
  this.projectRelationRepository = projectRelationRepository;
@@ -56,6 +60,8 @@ let ProjectService = class ProjectService {
56
60
  this.moduleRegistry = moduleRegistry;
57
61
  this.ownershipService = ownershipService;
58
62
  this.logger = logger;
63
+ this.eventService = eventService;
64
+ this.userManagementMailer = userManagementMailer;
59
65
  }
60
66
  get workflowService() {
61
67
  return import('../workflows/workflow.service.js').then(({ WorkflowService }) => di_1.Container.get(WorkflowService));
@@ -192,6 +198,13 @@ let ProjectService = class ProjectService {
192
198
  const proxy = await this.connectionStatusProxy;
193
199
  await proxy.cleanupOrphanedEntriesForUsers(memberUserIds);
194
200
  }
201
+ this.eventService.emit('team-project-deleted', {
202
+ userId: user.id,
203
+ role: user.role.slug,
204
+ projectId,
205
+ removalType: migrateToProject !== undefined ? 'transfer' : 'delete',
206
+ targetProjectId: migrateToProject,
207
+ });
195
208
  }
196
209
  async findProjectsWorkflowIsIn(workflowId) {
197
210
  return await this.sharedWorkflowRepository.findProjectIds(workflowId);
@@ -229,20 +242,60 @@ let ProjectService = class ProjectService {
229
242
  return await this.projectRepository.getAccessibleProjects(user.id);
230
243
  }
231
244
  async getAccessibleProjectsAndCount(user, options) {
232
- if ((0, permissions_1.hasGlobalScope)(user, 'project:read')) {
233
- return await this.projectRepository.findAllProjectsAndCount(options);
234
- }
235
- return await this.projectRepository.getAccessibleProjectsAndCount(user.id, options);
245
+ const [projects, count] = (0, permissions_1.hasGlobalScope)(user, 'project:read')
246
+ ? await this.projectRepository.findAllProjectsAndCount(options)
247
+ : await this.projectRepository.getAccessibleProjectsAndCount(user.id, options);
248
+ return { projects, count };
236
249
  }
237
250
  async getShareableProjectsAndCount(user, options) {
238
- if ((0, permissions_1.hasGlobalScope)(user, 'project:read')) {
239
- return await this.projectRepository.findAllProjectsAndCount(options);
240
- }
241
- return await this.projectRepository.getShareableProjectsAndCount(user.id, options);
251
+ const [projects, count] = (0, permissions_1.hasGlobalScope)(user, 'project:read')
252
+ ? await this.projectRepository.findAllProjectsAndCount(options)
253
+ : await this.projectRepository.getShareableProjectsAndCount(user.id, options);
254
+ return { projects, count };
255
+ }
256
+ async getProjectsAndCount({ offset, limit, }) {
257
+ const [projects, count] = await this.projectRepository.findAndCount({
258
+ skip: offset,
259
+ take: limit,
260
+ });
261
+ return { projects, count };
242
262
  }
243
263
  async getPersonalProjectOwners(projectIds) {
244
264
  return await this.projectRelationRepository.getPersonalProjectOwners(projectIds);
245
265
  }
266
+ async getMyProjects(user) {
267
+ const projectRelations = await this.getProjectRelationsForUser(user);
268
+ const otherTeamProjects = (0, permissions_1.hasGlobalScope)(user, 'project:read')
269
+ ? await this.projectRepository.findTeamProjectsExcluding(projectRelations.map((relation) => relation.projectId))
270
+ : [];
271
+ const results = [];
272
+ for (const relation of projectRelations) {
273
+ const result = Object.assign(this.projectRepository.create(relation.project), { role: relation.role.slug, scopes: [] });
274
+ if (result.scopes) {
275
+ result.scopes.push(...(0, permissions_1.combineScopes)({
276
+ global: (0, permissions_1.getAuthPrincipalScopes)(user),
277
+ project: relation.role.scopes.map((scope) => scope.slug),
278
+ }));
279
+ }
280
+ results.push(result);
281
+ }
282
+ for (const project of otherTeamProjects) {
283
+ const result = Object.assign(this.projectRepository.create(project), {
284
+ role: user.role.slug,
285
+ scopes: [],
286
+ });
287
+ if (result.scopes) {
288
+ result.scopes.push(...(0, permissions_1.combineScopes)({ global: (0, permissions_1.getAuthPrincipalScopes)(user) }));
289
+ }
290
+ results.push(result);
291
+ }
292
+ for (const result of results) {
293
+ if (result.scopes) {
294
+ result.scopes = [...new Set(result.scopes)].sort();
295
+ }
296
+ }
297
+ return results;
298
+ }
246
299
  async createTeamProjectWithEntityManager(adminUser, data, trx, overrides = {}) {
247
300
  const limit = this.licenseState.getMaxTeamProjects();
248
301
  if (limit !== constants_1.UNLIMITED_LICENSE_QUOTA) {
@@ -261,11 +314,17 @@ let ProjectService = class ProjectService {
261
314
  return project;
262
315
  }
263
316
  async createTeamProject(adminUser, data, overrides = {}) {
264
- return await this.projectRepository.manager.transaction('SERIALIZABLE', async (trx) => {
317
+ const project = await this.projectRepository.manager.transaction('SERIALIZABLE', async (trx) => {
265
318
  return await this.createTeamProjectWithEntityManager(adminUser, data, trx, overrides);
266
319
  });
320
+ this.eventService.emit('team-project-created', {
321
+ userId: adminUser.id,
322
+ role: adminUser.role.slug,
323
+ uiContext: data.uiContext,
324
+ });
325
+ return project;
267
326
  }
268
- async updateProject(projectId, { name, icon, description, customTelemetryTags }) {
327
+ async updateProject(user, projectId, { name, icon, description, customTelemetryTags }) {
269
328
  const trimmedTags = customTelemetryTags
270
329
  ?.map(({ key, value }) => ({ key: key.trim(), value }))
271
330
  .filter(({ key }) => key !== '');
@@ -274,6 +333,14 @@ let ProjectService = class ProjectService {
274
333
  throw new ProjectNotFoundError(projectId);
275
334
  }
276
335
  await this.ownershipService.invalidateWorkflowProjectCacheForProject(projectId);
336
+ this.eventService.emit('team-project-updated', {
337
+ userId: user.id,
338
+ role: user.role.slug,
339
+ projectId,
340
+ ...(customTelemetryTags !== undefined
341
+ ? { otelProjectCustomTagsCount: customTelemetryTags.length }
342
+ : {}),
343
+ });
277
344
  }
278
345
  async getPersonalProject(user) {
279
346
  return await this.projectRepository.getPersonalProjectForUser(user.id);
@@ -310,7 +377,25 @@ let ProjectService = class ProjectService {
310
377
  const newRelations = relations.filter((relation) => !project.projectRelations.some((r) => r.userId === relation.userId));
311
378
  return { project, newRelations };
312
379
  }
313
- async addUsersToProject(projectId, relations) {
380
+ async notifyNewSharees(sharer, project, newSharees) {
381
+ if (newSharees.length === 0)
382
+ return;
383
+ await this.userManagementMailer.notifyProjectShared({
384
+ sharer,
385
+ newSharees,
386
+ project: { id: project.id, name: project.name },
387
+ });
388
+ }
389
+ async emitProjectMembersUpdated(user, projectId) {
390
+ const relations = await this.getProjectRelations(projectId);
391
+ this.eventService.emit('team-project-updated', {
392
+ userId: user.id,
393
+ role: user.role.slug,
394
+ members: relations.map((r) => ({ userId: r.userId, role: r.role.slug })),
395
+ projectId,
396
+ });
397
+ }
398
+ async addUsersToProject(user, projectId, relations) {
314
399
  const project = await this.getTeamProjectWithRelations(projectId);
315
400
  this.checkRolesLicensed(project, relations);
316
401
  await this.roleService.checkRolesExist(relations.map((r) => r.role), 'project');
@@ -320,13 +405,17 @@ let ProjectService = class ProjectService {
320
405
  if (relations.some((r) => r.role === permissions_1.PROJECT_OWNER_ROLE_SLUG)) {
321
406
  throw new forbidden_error_1.ForbiddenError("Can't add a personalOwner to a team project.");
322
407
  }
408
+ const existingUserIds = new Set(project.projectRelations.map((pr) => pr.userId));
409
+ const newSharees = relations.filter((relation) => !existingUserIds.has(relation.userId));
323
410
  await this.projectRelationRepository.save(relations.map((relation) => ({
324
411
  projectId,
325
412
  userId: relation.userId,
326
413
  role: { slug: relation.role },
327
414
  })));
415
+ await this.notifyNewSharees(user, project, newSharees);
416
+ await this.emitProjectMembersUpdated(user, projectId);
328
417
  }
329
- async addUsersWithConflictSemantics(projectId, relations) {
418
+ async addUsersWithConflictSemantics(user, projectId, relations) {
330
419
  const project = await this.getTeamProjectWithRelations(projectId);
331
420
  this.checkRolesLicensed(project, relations);
332
421
  await this.roleService.checkRolesExist(relations.map((r) => r.role), 'project');
@@ -351,6 +440,8 @@ let ProjectService = class ProjectService {
351
440
  })));
352
441
  added.push(...toInsert);
353
442
  }
443
+ await this.notifyNewSharees(user, project, added);
444
+ await this.emitProjectMembersUpdated(user, project.id);
354
445
  return { project, added, conflicts };
355
446
  }
356
447
  async getTeamProjectWithRelations(projectId) {
@@ -372,7 +463,7 @@ let ProjectService = class ProjectService {
372
463
  isUserProjectOwner(project, userId) {
373
464
  return project.projectRelations.some((pr) => pr.userId === userId && pr.role.slug === permissions_1.PROJECT_OWNER_ROLE_SLUG);
374
465
  }
375
- async deleteUserFromProject(projectId, userId) {
466
+ async deleteUserFromProject(user, projectId, userId) {
376
467
  const project = await this.getTeamProjectWithRelations(projectId);
377
468
  if (this.isUserProjectOwner(project, userId)) {
378
469
  throw new forbidden_error_1.ForbiddenError('Project owner cannot be removed from the project');
@@ -382,8 +473,9 @@ let ProjectService = class ProjectService {
382
473
  await em.delete(db_1.ProjectRelation, { projectId: project.id, userId });
383
474
  await proxy.cleanupOrphanedEntriesForUsers([userId], em);
384
475
  });
476
+ await this.emitProjectMembersUpdated(user, projectId);
385
477
  }
386
- async changeUserRoleInProject(projectId, userId, role) {
478
+ async changeUserRoleInProject(user, projectId, userId, role) {
387
479
  if (role === permissions_1.PROJECT_OWNER_ROLE_SLUG) {
388
480
  throw new forbidden_error_1.ForbiddenError('Personal owner cannot be added to a team project.');
389
481
  }
@@ -404,6 +496,7 @@ let ProjectService = class ProjectService {
404
496
  await em.update(db_1.ProjectRelation, { projectId, userId }, { role: { slug: role } });
405
497
  await proxy.cleanupOrphanedEntriesForUsers([userId], em);
406
498
  });
499
+ await this.emitProjectMembersUpdated(user, projectId);
407
500
  }
408
501
  async pruneRelations(em, project) {
409
502
  await em.delete(db_1.ProjectRelation, { projectId: project.id });
@@ -513,6 +606,24 @@ let ProjectService = class ProjectService {
513
606
  relations: { user: true, role: true },
514
607
  });
515
608
  }
609
+ async getProjectMembersAndCount(projectId, { offset, limit }) {
610
+ const [members, count] = await this.projectRelationRepository.findAndCount({
611
+ where: { projectId },
612
+ relations: { user: true, role: true },
613
+ skip: offset,
614
+ take: limit,
615
+ });
616
+ return { members, count };
617
+ }
618
+ async getProjectScopesForUser(user, projectId) {
619
+ const relation = await this.getProjectRelationForUserAndProject(user.id, projectId);
620
+ return [
621
+ ...(0, permissions_1.combineScopes)({
622
+ global: (0, permissions_1.getAuthPrincipalScopes)(user),
623
+ project: relation?.role.scopes.map((scope) => scope.slug) ?? [],
624
+ }),
625
+ ];
626
+ }
516
627
  async getUserOwnedOrAdminProjects(userId) {
517
628
  return await this.projectRepository.find({
518
629
  where: {
@@ -530,6 +641,6 @@ let ProjectService = class ProjectService {
530
641
  exports.ProjectService = ProjectService;
531
642
  exports.ProjectService = ProjectService = __decorate([
532
643
  (0, di_1.Service)(),
533
- __metadata("design:paramtypes", [db_1.SharedWorkflowRepository, db_1.ProjectRepository, db_1.ProjectRelationRepository, role_service_1.RoleService, db_1.SharedCredentialsRepository, db_1.FolderRepository, backend_common_1.LicenseState, backend_common_1.ModuleRegistry, ownership_service_1.OwnershipService, backend_common_1.Logger])
644
+ __metadata("design:paramtypes", [db_1.SharedWorkflowRepository, db_1.ProjectRepository, db_1.ProjectRelationRepository, role_service_1.RoleService, db_1.SharedCredentialsRepository, db_1.FolderRepository, backend_common_1.LicenseState, backend_common_1.ModuleRegistry, ownership_service_1.OwnershipService, backend_common_1.Logger, event_service_1.EventService, email_1.UserManagementMailer])
534
645
  ], ProjectService);
535
646
  //# sourceMappingURL=project.service.ee.js.map