n8n 2.15.0 → 2.16.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 (414) hide show
  1. package/dist/active-workflow-manager.js +25 -12
  2. package/dist/active-workflow-manager.js.map +1 -1
  3. package/dist/auth/auth.service.js +1 -0
  4. package/dist/auth/auth.service.js.map +1 -1
  5. package/dist/build.tsbuildinfo +1 -1
  6. package/dist/commands/base-command.js +7 -1
  7. package/dist/commands/base-command.js.map +1 -1
  8. package/dist/controllers/ai.controller.js +2 -2
  9. package/dist/controllers/ai.controller.js.map +1 -1
  10. package/dist/controllers/e2e.controller.js +2 -0
  11. package/dist/controllers/e2e.controller.js.map +1 -1
  12. package/dist/credentials/credentials.controller.js +1 -1
  13. package/dist/credentials/credentials.controller.js.map +1 -1
  14. package/dist/credentials/credentials.service.d.ts +7 -4
  15. package/dist/credentials/credentials.service.js +77 -16
  16. package/dist/credentials/credentials.service.js.map +1 -1
  17. package/dist/credentials-helper.js +7 -1
  18. package/dist/credentials-helper.js.map +1 -1
  19. package/dist/errors/http-error-classifier.d.ts +31 -0
  20. package/dist/errors/http-error-classifier.js +60 -0
  21. package/dist/errors/http-error-classifier.js.map +1 -0
  22. package/dist/errors/http-error-serializers.d.ts +18 -0
  23. package/dist/errors/http-error-serializers.js +64 -0
  24. package/dist/errors/http-error-serializers.js.map +1 -0
  25. package/dist/eventbus/event-message-classes/index.d.ts +2 -2
  26. package/dist/eventbus/event-message-classes/index.js +3 -0
  27. package/dist/eventbus/event-message-classes/index.js.map +1 -1
  28. package/dist/events/maps/relay.event-map.d.ts +22 -0
  29. package/dist/events/relays/log-streaming.event-relay.d.ts +3 -0
  30. package/dist/events/relays/log-streaming.event-relay.js +21 -0
  31. package/dist/events/relays/log-streaming.event-relay.js.map +1 -1
  32. package/dist/execution-lifecycle/execution-lifecycle-hooks.js +2 -0
  33. package/dist/execution-lifecycle/execution-lifecycle-hooks.js.map +1 -1
  34. package/dist/executions/execution.service.js +2 -1
  35. package/dist/executions/execution.service.js.map +1 -1
  36. package/dist/modules/chat-hub/chat-hub-workflow.service.d.ts +1 -0
  37. package/dist/modules/chat-hub/chat-hub-workflow.service.js +18 -2
  38. package/dist/modules/chat-hub/chat-hub-workflow.service.js.map +1 -1
  39. package/dist/modules/chat-hub/chat-hub.types.d.ts +5 -0
  40. package/dist/modules/chat-hub/chat-hub.types.js +1 -0
  41. package/dist/modules/chat-hub/chat-hub.types.js.map +1 -1
  42. package/dist/modules/chat-hub/context-limits.js +10 -0
  43. package/dist/modules/chat-hub/context-limits.js.map +1 -1
  44. package/dist/modules/community-packages/community-node-types-utils.d.ts +2 -2
  45. package/dist/modules/community-packages/community-node-types-utils.js +4 -4
  46. package/dist/modules/community-packages/community-node-types-utils.js.map +1 -1
  47. package/dist/modules/community-packages/strapi-utils.d.ts +1 -1
  48. package/dist/modules/data-table/data-table-proxy.service.d.ts +44 -2
  49. package/dist/modules/data-table/data-table-proxy.service.js +86 -2
  50. package/dist/modules/data-table/data-table-proxy.service.js.map +1 -1
  51. package/dist/modules/dynamic-credentials.ee/services/resolver-config-expression.service.js +10 -4
  52. package/dist/modules/dynamic-credentials.ee/services/resolver-config-expression.service.js.map +1 -1
  53. package/dist/modules/instance-ai/compaction.service.d.ts +19 -0
  54. package/dist/modules/instance-ai/compaction.service.js +213 -0
  55. package/dist/modules/instance-ai/compaction.service.js.map +1 -0
  56. package/dist/modules/instance-ai/entities/index.d.ts +7 -0
  57. package/dist/modules/instance-ai/entities/index.js +18 -0
  58. package/dist/modules/instance-ai/entities/index.js.map +1 -0
  59. package/dist/modules/instance-ai/entities/instance-ai-iteration-log.entity.d.ts +7 -0
  60. package/dist/modules/instance-ai/entities/instance-ai-iteration-log.entity.js +38 -0
  61. package/dist/modules/instance-ai/entities/instance-ai-iteration-log.entity.js.map +1 -0
  62. package/dist/modules/instance-ai/entities/instance-ai-message.entity.d.ts +9 -0
  63. package/dist/modules/instance-ai/entities/instance-ai-message.entity.js +47 -0
  64. package/dist/modules/instance-ai/entities/instance-ai-message.entity.js.map +1 -0
  65. package/dist/modules/instance-ai/entities/instance-ai-observational-memory.entity.d.ts +33 -0
  66. package/dist/modules/instance-ai/entities/instance-ai-observational-memory.entity.js +145 -0
  67. package/dist/modules/instance-ai/entities/instance-ai-observational-memory.entity.js.map +1 -0
  68. package/dist/modules/instance-ai/entities/instance-ai-resource.entity.d.ts +6 -0
  69. package/dist/modules/instance-ai/entities/instance-ai-resource.entity.js +33 -0
  70. package/dist/modules/instance-ai/entities/instance-ai-resource.entity.js.map +1 -0
  71. package/dist/modules/instance-ai/entities/instance-ai-run-snapshot.entity.d.ts +8 -0
  72. package/dist/modules/instance-ai/entities/instance-ai-run-snapshot.entity.js +43 -0
  73. package/dist/modules/instance-ai/entities/instance-ai-run-snapshot.entity.js.map +1 -0
  74. package/dist/modules/instance-ai/entities/instance-ai-thread.entity.d.ts +7 -0
  75. package/dist/modules/instance-ai/entities/instance-ai-thread.entity.js +38 -0
  76. package/dist/modules/instance-ai/entities/instance-ai-thread.entity.js.map +1 -0
  77. package/dist/modules/instance-ai/entities/instance-ai-workflow-snapshot.entity.d.ts +8 -0
  78. package/dist/modules/instance-ai/entities/instance-ai-workflow-snapshot.entity.js +41 -0
  79. package/dist/modules/instance-ai/entities/instance-ai-workflow-snapshot.entity.js.map +1 -0
  80. package/dist/modules/instance-ai/event-bus/in-process-event-bus.d.ts +19 -0
  81. package/dist/modules/instance-ai/event-bus/in-process-event-bus.js +98 -0
  82. package/dist/modules/instance-ai/event-bus/in-process-event-bus.js.map +1 -0
  83. package/dist/modules/instance-ai/filesystem/index.d.ts +4 -0
  84. package/dist/modules/instance-ai/filesystem/index.js +10 -0
  85. package/dist/modules/instance-ai/filesystem/index.js.map +1 -0
  86. package/dist/modules/instance-ai/filesystem/local-fs-provider.d.ts +26 -0
  87. package/dist/modules/instance-ai/filesystem/local-fs-provider.js +321 -0
  88. package/dist/modules/instance-ai/filesystem/local-fs-provider.js.map +1 -0
  89. package/dist/modules/instance-ai/filesystem/local-gateway-registry.d.ts +29 -0
  90. package/dist/modules/instance-ai/filesystem/local-gateway-registry.js +137 -0
  91. package/dist/modules/instance-ai/filesystem/local-gateway-registry.js.map +1 -0
  92. package/dist/modules/instance-ai/filesystem/local-gateway.d.ts +35 -0
  93. package/dist/modules/instance-ai/filesystem/local-gateway.js +99 -0
  94. package/dist/modules/instance-ai/filesystem/local-gateway.js.map +1 -0
  95. package/dist/modules/instance-ai/instance-ai-memory.service.d.ts +36 -0
  96. package/dist/modules/instance-ai/instance-ai-memory.service.js +265 -0
  97. package/dist/modules/instance-ai/instance-ai-memory.service.js.map +1 -0
  98. package/dist/modules/instance-ai/instance-ai-settings.service.d.ts +55 -0
  99. package/dist/modules/instance-ai/instance-ai-settings.service.js +430 -0
  100. package/dist/modules/instance-ai/instance-ai-settings.service.js.map +1 -0
  101. package/dist/modules/instance-ai/instance-ai.adapter.service.d.ts +86 -0
  102. package/dist/modules/instance-ai/instance-ai.adapter.service.js +1731 -0
  103. package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -0
  104. package/dist/modules/instance-ai/instance-ai.controller.d.ts +102 -0
  105. package/dist/modules/instance-ai/instance-ai.controller.js +613 -0
  106. package/dist/modules/instance-ai/instance-ai.controller.js.map +1 -0
  107. package/dist/modules/instance-ai/instance-ai.module.d.ts +13 -0
  108. package/dist/modules/instance-ai/instance-ai.module.js +119 -0
  109. package/dist/modules/instance-ai/instance-ai.module.js.map +1 -0
  110. package/dist/modules/instance-ai/instance-ai.service.d.ts +132 -0
  111. package/dist/modules/instance-ai/instance-ai.service.js +1674 -0
  112. package/dist/modules/instance-ai/instance-ai.service.js.map +1 -0
  113. package/dist/modules/instance-ai/internal-messages.d.ts +2 -0
  114. package/dist/modules/instance-ai/internal-messages.js +11 -0
  115. package/dist/modules/instance-ai/internal-messages.js.map +1 -0
  116. package/dist/modules/instance-ai/message-parser.d.ts +12 -0
  117. package/dist/modules/instance-ai/message-parser.js +171 -0
  118. package/dist/modules/instance-ai/message-parser.js.map +1 -0
  119. package/dist/modules/instance-ai/node-definition-resolver.d.ts +19 -0
  120. package/dist/modules/instance-ai/node-definition-resolver.js +290 -0
  121. package/dist/modules/instance-ai/node-definition-resolver.js.map +1 -0
  122. package/dist/modules/instance-ai/repositories/index.d.ts +7 -0
  123. package/dist/modules/instance-ai/repositories/index.js +18 -0
  124. package/dist/modules/instance-ai/repositories/index.js.map +1 -0
  125. package/dist/modules/instance-ai/repositories/instance-ai-iteration-log.repository.d.ts +5 -0
  126. package/dist/modules/instance-ai/repositories/instance-ai-iteration-log.repository.js +26 -0
  127. package/dist/modules/instance-ai/repositories/instance-ai-iteration-log.repository.js.map +1 -0
  128. package/dist/modules/instance-ai/repositories/instance-ai-message.repository.d.ts +5 -0
  129. package/dist/modules/instance-ai/repositories/instance-ai-message.repository.js +26 -0
  130. package/dist/modules/instance-ai/repositories/instance-ai-message.repository.js.map +1 -0
  131. package/dist/modules/instance-ai/repositories/instance-ai-observational-memory.repository.d.ts +5 -0
  132. package/dist/modules/instance-ai/repositories/instance-ai-observational-memory.repository.js +26 -0
  133. package/dist/modules/instance-ai/repositories/instance-ai-observational-memory.repository.js.map +1 -0
  134. package/dist/modules/instance-ai/repositories/instance-ai-resource.repository.d.ts +5 -0
  135. package/dist/modules/instance-ai/repositories/instance-ai-resource.repository.js +26 -0
  136. package/dist/modules/instance-ai/repositories/instance-ai-resource.repository.js.map +1 -0
  137. package/dist/modules/instance-ai/repositories/instance-ai-run-snapshot.repository.d.ts +5 -0
  138. package/dist/modules/instance-ai/repositories/instance-ai-run-snapshot.repository.js +26 -0
  139. package/dist/modules/instance-ai/repositories/instance-ai-run-snapshot.repository.js.map +1 -0
  140. package/dist/modules/instance-ai/repositories/instance-ai-thread.repository.d.ts +5 -0
  141. package/dist/modules/instance-ai/repositories/instance-ai-thread.repository.js +26 -0
  142. package/dist/modules/instance-ai/repositories/instance-ai-thread.repository.js.map +1 -0
  143. package/dist/modules/instance-ai/repositories/instance-ai-workflow-snapshot.repository.d.ts +5 -0
  144. package/dist/modules/instance-ai/repositories/instance-ai-workflow-snapshot.repository.js +26 -0
  145. package/dist/modules/instance-ai/repositories/instance-ai-workflow-snapshot.repository.js.map +1 -0
  146. package/dist/modules/instance-ai/snapshot-pruning.service.d.ts +14 -0
  147. package/dist/modules/instance-ai/snapshot-pruning.service.js +77 -0
  148. package/dist/modules/instance-ai/snapshot-pruning.service.js.map +1 -0
  149. package/dist/modules/instance-ai/storage/db-iteration-log-storage.d.ts +9 -0
  150. package/dist/modules/instance-ai/storage/db-iteration-log-storage.js +45 -0
  151. package/dist/modules/instance-ai/storage/db-iteration-log-storage.js.map +1 -0
  152. package/dist/modules/instance-ai/storage/db-snapshot-storage.d.ts +10 -0
  153. package/dist/modules/instance-ai/storage/db-snapshot-storage.js +74 -0
  154. package/dist/modules/instance-ai/storage/db-snapshot-storage.js.map +1 -0
  155. package/dist/modules/instance-ai/storage/index.d.ts +5 -0
  156. package/dist/modules/instance-ai/storage/index.js +14 -0
  157. package/dist/modules/instance-ai/storage/index.js.map +1 -0
  158. package/dist/modules/instance-ai/storage/typeorm-composite-store.d.ts +9 -0
  159. package/dist/modules/instance-ai/storage/typeorm-composite-store.js +33 -0
  160. package/dist/modules/instance-ai/storage/typeorm-composite-store.js.map +1 -0
  161. package/dist/modules/instance-ai/storage/typeorm-memory-storage.d.ts +96 -0
  162. package/dist/modules/instance-ai/storage/typeorm-memory-storage.js +853 -0
  163. package/dist/modules/instance-ai/storage/typeorm-memory-storage.js.map +1 -0
  164. package/dist/modules/instance-ai/storage/typeorm-workflows-storage.d.ts +44 -0
  165. package/dist/modules/instance-ai/storage/typeorm-workflows-storage.js +156 -0
  166. package/dist/modules/instance-ai/storage/typeorm-workflows-storage.js.map +1 -0
  167. package/dist/modules/instance-ai/web-research/brave-search.d.ts +10 -0
  168. package/dist/modules/instance-ai/web-research/brave-search.js +43 -0
  169. package/dist/modules/instance-ai/web-research/brave-search.js.map +1 -0
  170. package/dist/modules/instance-ai/web-research/cache.d.ts +13 -0
  171. package/dist/modules/instance-ai/web-research/cache.js +43 -0
  172. package/dist/modules/instance-ai/web-research/cache.js.map +1 -0
  173. package/dist/modules/instance-ai/web-research/fetch-and-extract.d.ts +8 -0
  174. package/dist/modules/instance-ai/web-research/fetch-and-extract.js +231 -0
  175. package/dist/modules/instance-ai/web-research/fetch-and-extract.js.map +1 -0
  176. package/dist/modules/instance-ai/web-research/index.d.ts +7 -0
  177. package/dist/modules/instance-ai/web-research/index.js +16 -0
  178. package/dist/modules/instance-ai/web-research/index.js.map +1 -0
  179. package/dist/modules/instance-ai/web-research/searxng-search.d.ts +6 -0
  180. package/dist/modules/instance-ai/web-research/searxng-search.js +39 -0
  181. package/dist/modules/instance-ai/web-research/searxng-search.js.map +1 -0
  182. package/dist/modules/instance-ai/web-research/ssrf-guard.d.ts +1 -0
  183. package/dist/modules/instance-ai/web-research/ssrf-guard.js +85 -0
  184. package/dist/modules/instance-ai/web-research/ssrf-guard.js.map +1 -0
  185. package/dist/modules/instance-ai/web-research/summarize-content.d.ts +4 -0
  186. package/dist/modules/instance-ai/web-research/summarize-content.js +34 -0
  187. package/dist/modules/instance-ai/web-research/summarize-content.js.map +1 -0
  188. package/dist/modules/instance-registry/instance-registry.types.d.ts +1 -0
  189. package/dist/modules/instance-registry/instance-registry.types.js +2 -1
  190. package/dist/modules/instance-registry/instance-registry.types.js.map +1 -1
  191. package/dist/modules/instance-registry/storage/instance-storage.interface.d.ts +1 -0
  192. package/dist/modules/instance-registry/storage/lua-scripts.d.ts +4 -0
  193. package/dist/modules/instance-registry/storage/lua-scripts.js +39 -0
  194. package/dist/modules/instance-registry/storage/lua-scripts.js.map +1 -0
  195. package/dist/modules/instance-registry/storage/memory-storage.d.ts +1 -0
  196. package/dist/modules/instance-registry/storage/memory-storage.js +1 -0
  197. package/dist/modules/instance-registry/storage/memory-storage.js.map +1 -1
  198. package/dist/modules/instance-registry/storage/redis-instance-storage.d.ts +25 -0
  199. package/dist/modules/instance-registry/storage/redis-instance-storage.js +185 -0
  200. package/dist/modules/instance-registry/storage/redis-instance-storage.js.map +1 -0
  201. package/dist/modules/log-streaming.ee/log-streaming.controller.js.map +1 -1
  202. package/dist/modules/mcp/mcp.service.d.ts +3 -1
  203. package/dist/modules/mcp/mcp.service.js +22 -3
  204. package/dist/modules/mcp/mcp.service.js.map +1 -1
  205. package/dist/modules/mcp/mcp.types.d.ts +1 -1
  206. package/dist/modules/mcp/tools/data-table/add-data-table-column.tool.d.ts +13 -0
  207. package/dist/modules/mcp/tools/data-table/add-data-table-column.tool.js +69 -0
  208. package/dist/modules/mcp/tools/data-table/add-data-table-column.tool.js.map +1 -0
  209. package/dist/modules/mcp/tools/data-table/add-data-table-rows.tool.d.ts +12 -0
  210. package/dist/modules/mcp/tools/data-table/add-data-table-rows.tool.js +77 -0
  211. package/dist/modules/mcp/tools/data-table/add-data-table-rows.tool.js.map +1 -0
  212. package/dist/modules/mcp/tools/data-table/create-data-table.tool.d.ts +21 -0
  213. package/dist/modules/mcp/tools/data-table/create-data-table.tool.js +92 -0
  214. package/dist/modules/mcp/tools/data-table/create-data-table.tool.js.map +1 -0
  215. package/dist/modules/mcp/tools/data-table/delete-data-table-column.tool.d.ts +12 -0
  216. package/dist/modules/mcp/tools/data-table/delete-data-table-column.tool.js +60 -0
  217. package/dist/modules/mcp/tools/data-table/delete-data-table-column.tool.js.map +1 -0
  218. package/dist/modules/mcp/tools/data-table/index.d.ts +7 -0
  219. package/dist/modules/mcp/tools/data-table/index.js +18 -0
  220. package/dist/modules/mcp/tools/data-table/index.js.map +1 -0
  221. package/dist/modules/mcp/tools/data-table/rename-data-table-column.tool.d.ts +13 -0
  222. package/dist/modules/mcp/tools/data-table/rename-data-table-column.tool.js +70 -0
  223. package/dist/modules/mcp/tools/data-table/rename-data-table-column.tool.js.map +1 -0
  224. package/dist/modules/mcp/tools/data-table/rename-data-table.tool.d.ts +12 -0
  225. package/dist/modules/mcp/tools/data-table/rename-data-table.tool.js +60 -0
  226. package/dist/modules/mcp/tools/data-table/rename-data-table.tool.js.map +1 -0
  227. package/dist/modules/mcp/tools/data-table/search-data-tables.tool.d.ts +12 -0
  228. package/dist/modules/mcp/tools/data-table/search-data-tables.tool.js +93 -0
  229. package/dist/modules/mcp/tools/data-table/search-data-tables.tool.js.map +1 -0
  230. package/dist/modules/mcp/tools/execute-workflow.tool.d.ts +3 -4
  231. package/dist/modules/mcp/tools/execute-workflow.tool.js +10 -25
  232. package/dist/modules/mcp/tools/execute-workflow.tool.js.map +1 -1
  233. package/dist/modules/mcp/tools/get-execution.tool.js +4 -8
  234. package/dist/modules/mcp/tools/get-execution.tool.js.map +1 -1
  235. package/dist/modules/mcp/tools/schemas.d.ts +73 -2
  236. package/dist/modules/mcp/tools/schemas.js +41 -1
  237. package/dist/modules/mcp/tools/schemas.js.map +1 -1
  238. package/dist/modules/mcp/tools/search-folders.tool.js +2 -7
  239. package/dist/modules/mcp/tools/search-folders.tool.js.map +1 -1
  240. package/dist/modules/mcp/tools/search-projects.tool.js +2 -7
  241. package/dist/modules/mcp/tools/search-projects.tool.js.map +1 -1
  242. package/dist/modules/mcp/tools/search-workflows.tool.js +2 -7
  243. package/dist/modules/mcp/tools/search-workflows.tool.js.map +1 -1
  244. package/dist/modules/mcp/tools/workflow-builder/get-suggested-workflow-nodes.tool.js +1 -37
  245. package/dist/modules/mcp/tools/workflow-builder/get-suggested-workflow-nodes.tool.js.map +1 -1
  246. package/dist/modules/mcp/tools/workflow-builder/get-workflow-node-types.tool.js +1 -37
  247. package/dist/modules/mcp/tools/workflow-builder/get-workflow-node-types.tool.js.map +1 -1
  248. package/dist/modules/mcp/tools/workflow-builder/search-workflow-nodes.tool.js +1 -37
  249. package/dist/modules/mcp/tools/workflow-builder/search-workflow-nodes.tool.js.map +1 -1
  250. package/dist/modules/mcp/tools/workflow-builder/workflow-builder-tools.service.d.ts +17 -0
  251. package/dist/modules/mcp/tools/workflow-builder/workflow-builder-tools.service.js +48 -0
  252. package/dist/modules/mcp/tools/workflow-builder/workflow-builder-tools.service.js.map +1 -1
  253. package/dist/modules/otel/handlers/node-end.handler.d.ts +8 -0
  254. package/dist/modules/otel/handlers/node-end.handler.js +71 -0
  255. package/dist/modules/otel/handlers/node-end.handler.js.map +1 -0
  256. package/dist/modules/otel/handlers/node-start.handler.d.ts +7 -0
  257. package/dist/modules/otel/handlers/node-start.handler.js +37 -0
  258. package/dist/modules/otel/handlers/node-start.handler.js.map +1 -0
  259. package/dist/modules/otel/handlers/workflow-end.handler.d.ts +1 -0
  260. package/dist/modules/otel/handlers/workflow-end.handler.js +8 -0
  261. package/dist/modules/otel/handlers/workflow-end.handler.js.map +1 -1
  262. package/dist/modules/otel/n8n-instrumentation.d.ts +8 -2
  263. package/dist/modules/otel/n8n-instrumentation.js +32 -1
  264. package/dist/modules/otel/n8n-instrumentation.js.map +1 -1
  265. package/dist/modules/otel/otel.config.d.ts +1 -0
  266. package/dist/modules/otel/otel.config.js +5 -0
  267. package/dist/modules/otel/otel.config.js.map +1 -1
  268. package/dist/modules/otel/otel.constants.d.ts +7 -0
  269. package/dist/modules/otel/otel.constants.js +7 -0
  270. package/dist/modules/otel/otel.constants.js.map +1 -1
  271. package/dist/modules/otel/otel.service.d.ts +1 -1
  272. package/dist/modules/otel/otel.service.js +20 -23
  273. package/dist/modules/otel/otel.service.js.map +1 -1
  274. package/dist/modules/otel/span-registry.d.ts +1 -0
  275. package/dist/modules/otel/span-registry.js +11 -0
  276. package/dist/modules/otel/span-registry.js.map +1 -1
  277. package/dist/modules/provisioning.ee/provisioning.service.ee.d.ts +13 -2
  278. package/dist/modules/provisioning.ee/provisioning.service.ee.js +145 -2
  279. package/dist/modules/provisioning.ee/provisioning.service.ee.js.map +1 -1
  280. package/dist/modules/redaction/executions/execution-redaction.service.d.ts +3 -2
  281. package/dist/modules/redaction/executions/execution-redaction.service.js +5 -1
  282. package/dist/modules/redaction/executions/execution-redaction.service.js.map +1 -1
  283. package/dist/modules/redaction/redaction.module.js +0 -6
  284. package/dist/modules/redaction/redaction.module.js.map +1 -1
  285. package/dist/modules/sso-oidc/oidc.controller.ee.d.ts +4 -1
  286. package/dist/modules/sso-oidc/oidc.controller.ee.js +39 -3
  287. package/dist/modules/sso-oidc/oidc.controller.ee.js.map +1 -1
  288. package/dist/modules/sso-oidc/oidc.service.ee.d.ts +14 -2
  289. package/dist/modules/sso-oidc/oidc.service.ee.js +86 -8
  290. package/dist/modules/sso-oidc/oidc.service.ee.js.map +1 -1
  291. package/dist/modules/sso-oidc/views/oidc-test-result.d.ts +5 -0
  292. package/dist/modules/sso-oidc/views/oidc-test-result.js +58 -0
  293. package/dist/modules/sso-oidc/views/oidc-test-result.js.map +1 -0
  294. package/dist/modules/sso-saml/saml-helpers.d.ts +1 -0
  295. package/dist/modules/sso-saml/saml-helpers.js +2 -0
  296. package/dist/modules/sso-saml/saml-helpers.js.map +1 -1
  297. package/dist/modules/sso-saml/saml.service.ee.d.ts +4 -1
  298. package/dist/modules/sso-saml/saml.service.ee.js +13 -7
  299. package/dist/modules/sso-saml/saml.service.ee.js.map +1 -1
  300. package/dist/modules/token-exchange/controllers/embed-auth.controller.d.ts +15 -0
  301. package/dist/modules/token-exchange/controllers/embed-auth.controller.js +67 -0
  302. package/dist/modules/token-exchange/controllers/embed-auth.controller.js.map +1 -0
  303. package/dist/modules/token-exchange/database/entities/token-exchange-jti.entity.d.ts +5 -0
  304. package/dist/modules/token-exchange/database/entities/token-exchange-jti.entity.js +33 -0
  305. package/dist/modules/token-exchange/database/entities/token-exchange-jti.entity.js.map +1 -0
  306. package/dist/modules/token-exchange/database/repositories/token-exchange-jti.repository.d.ts +10 -0
  307. package/dist/modules/token-exchange/database/repositories/token-exchange-jti.repository.js +106 -0
  308. package/dist/modules/token-exchange/database/repositories/token-exchange-jti.repository.js.map +1 -0
  309. package/dist/modules/token-exchange/services/identity-resolution.service.d.ts +5 -0
  310. package/dist/modules/token-exchange/services/identity-resolution.service.js +21 -0
  311. package/dist/modules/token-exchange/services/identity-resolution.service.js.map +1 -0
  312. package/dist/modules/token-exchange/services/jti-cleanup.service.d.ts +18 -0
  313. package/dist/modules/token-exchange/services/jti-cleanup.service.js +90 -0
  314. package/dist/modules/token-exchange/services/jti-cleanup.service.js.map +1 -0
  315. package/dist/modules/token-exchange/services/jti-store.service.d.ts +6 -0
  316. package/dist/modules/token-exchange/services/jti-store.service.js +30 -0
  317. package/dist/modules/token-exchange/services/jti-store.service.js.map +1 -0
  318. package/dist/modules/token-exchange/services/token-exchange.service.d.ts +17 -0
  319. package/dist/modules/token-exchange/services/token-exchange.service.js +93 -0
  320. package/dist/modules/token-exchange/services/token-exchange.service.js.map +1 -0
  321. package/dist/modules/token-exchange/services/trusted-key.service.d.ts +13 -0
  322. package/dist/modules/token-exchange/services/trusted-key.service.js +123 -0
  323. package/dist/modules/token-exchange/services/trusted-key.service.js.map +1 -0
  324. package/dist/modules/token-exchange/token-exchange.config.d.ts +7 -0
  325. package/dist/modules/token-exchange/token-exchange.config.js +47 -0
  326. package/dist/modules/token-exchange/token-exchange.config.js.map +1 -0
  327. package/dist/modules/token-exchange/token-exchange.controller.d.ts +9 -0
  328. package/dist/modules/token-exchange/token-exchange.controller.js +103 -0
  329. package/dist/modules/token-exchange/token-exchange.controller.js.map +1 -0
  330. package/dist/modules/token-exchange/token-exchange.module.d.ts +5 -0
  331. package/dist/modules/token-exchange/token-exchange.module.js +74 -0
  332. package/dist/modules/token-exchange/token-exchange.module.js.map +1 -0
  333. package/dist/modules/token-exchange/token-exchange.schemas.d.ts +131 -0
  334. package/dist/modules/token-exchange/token-exchange.schemas.js +60 -0
  335. package/dist/modules/token-exchange/token-exchange.schemas.js.map +1 -0
  336. package/dist/modules/token-exchange/token-exchange.service.d.ts +9 -0
  337. package/dist/modules/token-exchange/token-exchange.service.js +66 -0
  338. package/dist/modules/token-exchange/token-exchange.service.js.map +1 -0
  339. package/dist/modules/token-exchange/token-exchange.types.d.ts +50 -0
  340. package/dist/modules/token-exchange/token-exchange.types.js +3 -0
  341. package/dist/modules/token-exchange/token-exchange.types.js.map +1 -0
  342. package/dist/public-api/index.js +5 -5
  343. package/dist/public-api/index.js.map +1 -1
  344. package/dist/public-api/types.d.ts +17 -0
  345. package/dist/public-api/v1/handlers/community-packages/community-packages.handler.d.ts +18 -0
  346. package/dist/public-api/v1/handlers/community-packages/community-packages.handler.js +71 -0
  347. package/dist/public-api/v1/handlers/community-packages/community-packages.handler.js.map +1 -0
  348. package/dist/public-api/v1/handlers/community-packages/community-packages.mapper.d.ts +27 -0
  349. package/dist/public-api/v1/handlers/community-packages/community-packages.mapper.js +35 -0
  350. package/dist/public-api/v1/handlers/community-packages/community-packages.mapper.js.map +1 -0
  351. package/dist/public-api/v1/handlers/executions/executions.handler.js +48 -4
  352. package/dist/public-api/v1/handlers/executions/executions.handler.js.map +1 -1
  353. package/dist/public-api/v1/openapi.yml +208 -2
  354. package/dist/public-api/v1/public-api-error-response.d.ts +2 -0
  355. package/dist/public-api/v1/public-api-error-response.js +11 -0
  356. package/dist/public-api/v1/public-api-error-response.js.map +1 -0
  357. package/dist/push/abstract.push.d.ts +1 -0
  358. package/dist/push/abstract.push.js +3 -0
  359. package/dist/push/abstract.push.js.map +1 -1
  360. package/dist/push/sse.push.js +5 -1
  361. package/dist/push/sse.push.js.map +1 -1
  362. package/dist/push/websocket.push.js +3 -1
  363. package/dist/push/websocket.push.js.map +1 -1
  364. package/dist/response-helper.js +6 -29
  365. package/dist/response-helper.js.map +1 -1
  366. package/dist/scaling/pubsub/subscriber.service.d.ts +2 -0
  367. package/dist/scaling/pubsub/subscriber.service.js +17 -8
  368. package/dist/scaling/pubsub/subscriber.service.js.map +1 -1
  369. package/dist/scaling/redis/redis.types.d.ts +1 -1
  370. package/dist/services/ai-workflow-builder.service.d.ts +2 -2
  371. package/dist/services/ai-workflow-builder.service.js +4 -4
  372. package/dist/services/ai-workflow-builder.service.js.map +1 -1
  373. package/dist/services/ai.service.d.ts +4 -0
  374. package/dist/services/ai.service.js +20 -18
  375. package/dist/services/ai.service.js.map +1 -1
  376. package/dist/services/auth-strategy.registry.d.ts +7 -0
  377. package/dist/services/auth-strategy.registry.js +32 -0
  378. package/dist/services/auth-strategy.registry.js.map +1 -0
  379. package/dist/services/auth-strategy.types.d.ts +4 -0
  380. package/dist/services/auth-strategy.types.js +3 -0
  381. package/dist/services/auth-strategy.types.js.map +1 -0
  382. package/dist/services/credentials-tester.service.js +2 -0
  383. package/dist/services/credentials-tester.service.js.map +1 -1
  384. package/dist/services/db-clock.service.d.ts +10 -0
  385. package/dist/services/db-clock.service.js +48 -0
  386. package/dist/services/db-clock.service.js.map +1 -0
  387. package/dist/services/frontend.service.js +2 -0
  388. package/dist/services/frontend.service.js.map +1 -1
  389. package/dist/wait-tracker.d.ts +6 -2
  390. package/dist/wait-tracker.js +94 -63
  391. package/dist/wait-tracker.js.map +1 -1
  392. package/dist/webhooks/live-webhooks.js +24 -18
  393. package/dist/webhooks/live-webhooks.js.map +1 -1
  394. package/dist/webhooks/test-webhooks.js +96 -78
  395. package/dist/webhooks/test-webhooks.js.map +1 -1
  396. package/dist/webhooks/waiting-webhooks.js +27 -21
  397. package/dist/webhooks/waiting-webhooks.js.map +1 -1
  398. package/dist/webhooks/webhook-helpers.js +21 -6
  399. package/dist/webhooks/webhook-helpers.js.map +1 -1
  400. package/dist/webhooks/webhook-last-node-response-extractor.d.ts +5 -2
  401. package/dist/webhooks/webhook-last-node-response-extractor.js +5 -8
  402. package/dist/webhooks/webhook-last-node-response-extractor.js.map +1 -1
  403. package/dist/workflows/workflow-creation.service.js +4 -0
  404. package/dist/workflows/workflow-creation.service.js.map +1 -1
  405. package/dist/workflows/workflow-execution.service.js +1 -1
  406. package/dist/workflows/workflow-execution.service.js.map +1 -1
  407. package/dist/workflows/workflow-history/workflow-history.service.js +1 -0
  408. package/dist/workflows/workflow-history/workflow-history.service.js.map +1 -1
  409. package/dist/workflows/workflow-validation.service.js +3 -3
  410. package/dist/workflows/workflow-validation.service.js.map +1 -1
  411. package/dist/workflows/workflow.service.js +12 -1
  412. package/dist/workflows/workflow.service.js.map +1 -1
  413. package/dist/workflows/workflows.controller.d.ts +2 -2
  414. package/package.json +28 -25
@@ -91,9 +91,11 @@ function getMappedSamlAttributesFromFlowResult(flowResult, attributeMapping, jit
91
91
  const result = {
92
92
  attributes: undefined,
93
93
  missingAttributes: [],
94
+ rawAttributes: {},
94
95
  };
95
96
  if (flowResult?.extract?.attributes) {
96
97
  const attributes = flowResult.extract.attributes;
98
+ result.rawAttributes = attributes;
97
99
  const email = attributes[attributeMapping.email];
98
100
  const firstName = attributes[attributeMapping.firstName];
99
101
  const lastName = attributes[attributeMapping.lastName];
@@ -1 +1 @@
1
- {"version":3,"file":"saml-helpers.js","sourceRoot":"","sources":["../../../src/modules/sso-saml/saml-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"saml-helpers.js","sourceRoot":"","sources":["../../../src/modules/sso-saml/saml-helpers.ts"],"names":[],"mappings":"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"}
@@ -53,6 +53,9 @@ export declare class SamlService {
53
53
  loadFromDbAndApplySamlPreferences(apply?: boolean, broadcastReload?: boolean): Promise<SamlPreferences | undefined>;
54
54
  saveSamlPreferencesToDb(): Promise<SamlPreferences | undefined>;
55
55
  fetchMetadataFromUrl(metadataUrl?: string, ignoreSSL?: boolean): Promise<string | undefined>;
56
- getAttributesFromLoginResponse(req: express.Request, binding: SamlLoginBinding): Promise<SamlUserAttributes>;
56
+ getAttributesFromLoginResponse(req: express.Request, binding: SamlLoginBinding): Promise<{
57
+ mapped: SamlUserAttributes;
58
+ raw: Record<string, unknown>;
59
+ }>;
57
60
  reset(): Promise<void>;
58
61
  }
@@ -57,6 +57,7 @@ const n8n_core_1 = require("n8n-core");
57
57
  const n8n_workflow_1 = require("n8n-workflow");
58
58
  const auth_error_1 = require("../../errors/response-errors/auth.error");
59
59
  const bad_request_error_1 = require("../../errors/response-errors/bad-request.error");
60
+ const claims_context_builder_1 = require("../../modules/provisioning.ee/claims-context.builder");
60
61
  const provisioning_service_ee_1 = require("../../modules/provisioning.ee/provisioning.service.ee");
61
62
  const url_service_1 = require("../../services/url.service");
62
63
  const sso_helpers_1 = require("../../sso.ee/sso-helpers");
@@ -268,7 +269,7 @@ let SamlService = class SamlService {
268
269
  };
269
270
  }
270
271
  async handleSamlLogin(req, binding) {
271
- const attributes = await this.getAttributesFromLoginResponse(req, binding);
272
+ const { mapped: attributes, raw: rawAttributes } = await this.getAttributesFromLoginResponse(req, binding);
272
273
  if (attributes.email) {
273
274
  const lowerCasedEmail = attributes.email.toLowerCase();
274
275
  if (!(0, db_1.isValidEmail)(lowerCasedEmail)) {
@@ -280,7 +281,7 @@ let SamlService = class SamlService {
280
281
  });
281
282
  if (user) {
282
283
  if (user.authIdentities.find((e) => e.providerType === 'saml' && e.providerId === attributes.userPrincipalName)) {
283
- await this.applySsoProvisioning(user, attributes);
284
+ await this.applySsoProvisioning(user, attributes, rawAttributes);
284
285
  return {
285
286
  authenticatedUser: user,
286
287
  attributes,
@@ -290,7 +291,7 @@ let SamlService = class SamlService {
290
291
  else {
291
292
  const updatedUser = await (0, saml_helpers_1.updateUserFromSamlAttributes)(user, attributes);
292
293
  const onboardingRequired = !updatedUser.firstName || !updatedUser.lastName;
293
- await this.applySsoProvisioning(updatedUser, attributes);
294
+ await this.applySsoProvisioning(updatedUser, attributes, rawAttributes);
294
295
  return {
295
296
  authenticatedUser: updatedUser,
296
297
  attributes,
@@ -301,7 +302,7 @@ let SamlService = class SamlService {
301
302
  else {
302
303
  if ((0, sso_helpers_1.isSsoJustInTimeProvisioningEnabled)()) {
303
304
  const newUser = await (0, saml_helpers_1.createUserFromSamlAttributes)(attributes);
304
- await this.applySsoProvisioning(newUser, attributes);
305
+ await this.applySsoProvisioning(newUser, attributes, rawAttributes);
305
306
  return {
306
307
  authenticatedUser: newUser,
307
308
  attributes,
@@ -316,7 +317,12 @@ let SamlService = class SamlService {
316
317
  onboardingRequired: false,
317
318
  };
318
319
  }
319
- async applySsoProvisioning(user, attributes) {
320
+ async applySsoProvisioning(user, attributes, rawAttributes) {
321
+ if (await this.provisioningService.isExpressionMappingEnabled()) {
322
+ const context = (0, claims_context_builder_1.buildSamlClaimsContext)(rawAttributes);
323
+ await this.provisioningService.provisionExpressionMappedRolesForUser(user, context);
324
+ return;
325
+ }
320
326
  if (attributes?.n8nInstanceRole) {
321
327
  await this.provisioningService.provisionInstanceRoleForUser(user, attributes.n8nInstanceRole);
322
328
  }
@@ -535,7 +541,7 @@ let SamlService = class SamlService {
535
541
  catch (error) {
536
542
  throw new auth_error_1.AuthError(`SAML Authentication failed. Could not parse SAML response. ${error instanceof Error ? error.message : error}`);
537
543
  }
538
- const { attributes, missingAttributes } = (0, saml_helpers_1.getMappedSamlAttributesFromFlowResult)(parsedSamlResponse, this._samlPreferences.mapping, {
544
+ const { attributes, missingAttributes, rawAttributes } = (0, saml_helpers_1.getMappedSamlAttributesFromFlowResult)(parsedSamlResponse, this._samlPreferences.mapping, {
539
545
  instanceRole: await this.provisioningService.getInstanceRoleClaimName(),
540
546
  projectRoles: await this.provisioningService.getProjectsRolesClaimName(),
541
547
  });
@@ -545,7 +551,7 @@ let SamlService = class SamlService {
545
551
  if (missingAttributes.length > 0) {
546
552
  throw new auth_error_1.AuthError(`SAML Authentication failed. Invalid SAML response (missing attributes: ${missingAttributes.join(', ')}).`);
547
553
  }
548
- return attributes;
554
+ return { mapped: attributes, raw: rawAttributes };
549
555
  }
550
556
  async reset() {
551
557
  await (0, saml_helpers_1.setSamlLoginEnabled)(false);
@@ -1 +1 @@
1
- {"version":3,"file":"saml.service.ee.js","sourceRoot":"","sources":["../../../src/modules/sso-saml/saml.service.ee.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"saml.service.ee.js","sourceRoot":"","sources":["../../../src/modules/sso-saml/saml.service.ee.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { EmbedLoginBodyDto, EmbedLoginQueryDto } from '@n8n/api-types';
2
+ import type { Response } from 'express';
3
+ import { AuthService } from '../../../auth/auth.service';
4
+ import { AuthlessRequest } from '../../../requests';
5
+ import { UrlService } from '../../../services/url.service';
6
+ import { TokenExchangeService } from '../services/token-exchange.service';
7
+ export declare class EmbedAuthController {
8
+ private readonly tokenExchangeService;
9
+ private readonly authService;
10
+ private readonly urlService;
11
+ constructor(tokenExchangeService: TokenExchangeService, authService: AuthService, urlService: UrlService);
12
+ getLogin(req: AuthlessRequest, res: Response, query: EmbedLoginQueryDto): Promise<void>;
13
+ postLogin(req: AuthlessRequest, res: Response, body: EmbedLoginBodyDto): Promise<void>;
14
+ private handleLogin;
15
+ }
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.EmbedAuthController = void 0;
16
+ const api_types_1 = require("@n8n/api-types");
17
+ const constants_1 = require("@n8n/constants");
18
+ const decorators_1 = require("@n8n/decorators");
19
+ const auth_service_1 = require("../../../auth/auth.service");
20
+ const url_service_1 = require("../../../services/url.service");
21
+ const token_exchange_service_1 = require("../services/token-exchange.service");
22
+ let EmbedAuthController = class EmbedAuthController {
23
+ constructor(tokenExchangeService, authService, urlService) {
24
+ this.tokenExchangeService = tokenExchangeService;
25
+ this.authService = authService;
26
+ this.urlService = urlService;
27
+ }
28
+ async getLogin(req, res, query) {
29
+ return await this.handleLogin(query.token, req, res);
30
+ }
31
+ async postLogin(req, res, body) {
32
+ return await this.handleLogin(body.token, req, res);
33
+ }
34
+ async handleLogin(subjectToken, req, res) {
35
+ const user = await this.tokenExchangeService.embedLogin(subjectToken);
36
+ this.authService.issueCookie(res, user, true, req.browserId);
37
+ res.redirect(this.urlService.getInstanceBaseUrl() + '/');
38
+ }
39
+ };
40
+ exports.EmbedAuthController = EmbedAuthController;
41
+ __decorate([
42
+ (0, decorators_1.Get)('/', {
43
+ skipAuth: true,
44
+ ipRateLimit: { limit: 20, windowMs: 1 * constants_1.Time.minutes.toMilliseconds },
45
+ }),
46
+ __param(2, decorators_1.Query),
47
+ __metadata("design:type", Function),
48
+ __metadata("design:paramtypes", [Object, Object, api_types_1.EmbedLoginQueryDto]),
49
+ __metadata("design:returntype", Promise)
50
+ ], EmbedAuthController.prototype, "getLogin", null);
51
+ __decorate([
52
+ (0, decorators_1.Post)('/', {
53
+ skipAuth: true,
54
+ ipRateLimit: { limit: 20, windowMs: 1 * constants_1.Time.minutes.toMilliseconds },
55
+ }),
56
+ __param(2, decorators_1.Body),
57
+ __metadata("design:type", Function),
58
+ __metadata("design:paramtypes", [Object, Object, api_types_1.EmbedLoginBodyDto]),
59
+ __metadata("design:returntype", Promise)
60
+ ], EmbedAuthController.prototype, "postLogin", null);
61
+ exports.EmbedAuthController = EmbedAuthController = __decorate([
62
+ (0, decorators_1.RestController)('/auth/embed'),
63
+ __metadata("design:paramtypes", [token_exchange_service_1.TokenExchangeService,
64
+ auth_service_1.AuthService,
65
+ url_service_1.UrlService])
66
+ ], EmbedAuthController);
67
+ //# sourceMappingURL=embed-auth.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embed-auth.controller.js","sourceRoot":"","sources":["../../../../src/modules/token-exchange/controllers/embed-auth.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,8CAAuE;AACvE,8CAAsC;AACtC,gDAAyE;AAGzE,sDAAkD;AAElD,wDAAoD;AAEpD,+EAA0E;AAGnE,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC/B,YACkB,oBAA0C,EAC1C,WAAwB,EACxB,UAAsB;QAFtB,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,gBAAW,GAAX,WAAW,CAAa;QACxB,eAAU,GAAV,UAAU,CAAY;IACrC,CAAC;IAME,AAAN,KAAK,CAAC,QAAQ,CAAC,GAAoB,EAAE,GAAa,EAAS,KAAyB;QACnF,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC;IAMK,AAAN,KAAK,CAAC,SAAS,CAAC,GAAoB,EAAE,GAAa,EAAQ,IAAuB;QACjF,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,YAAoB,EAAE,GAAoB,EAAE,GAAa;QAClF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAEtE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAM7D,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,GAAG,GAAG,CAAC,CAAC;IAC1D,CAAC;CACD,CAAA;AAlCY,kDAAmB;AAWzB;IAJL,IAAA,gBAAG,EAAC,GAAG,EAAE;QACT,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,gBAAI,CAAC,OAAO,CAAC,cAAc,EAAE;KACrE,CAAC;IACmD,WAAA,kBAAK,CAAA;;qDAAQ,8BAAkB;;mDAEnF;AAMK;IAJL,IAAA,iBAAI,EAAC,GAAG,EAAE;QACV,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,gBAAI,CAAC,OAAO,CAAC,cAAc,EAAE;KACrE,CAAC;IACoD,WAAA,iBAAI,CAAA;;qDAAO,6BAAiB;;oDAEjF;8BArBW,mBAAmB;IAD/B,IAAA,2BAAc,EAAC,aAAa,CAAC;qCAGW,6CAAoB;QAC7B,0BAAW;QACZ,wBAAU;GAJ5B,mBAAmB,CAkC/B"}
@@ -0,0 +1,5 @@
1
+ export declare class TokenExchangeJti {
2
+ jti: string;
3
+ expiresAt: Date;
4
+ createdAt: Date;
5
+ }
@@ -0,0 +1,33 @@
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.TokenExchangeJti = void 0;
13
+ const db_1 = require("@n8n/db");
14
+ const typeorm_1 = require("@n8n/typeorm");
15
+ let TokenExchangeJti = class TokenExchangeJti {
16
+ };
17
+ exports.TokenExchangeJti = TokenExchangeJti;
18
+ __decorate([
19
+ (0, typeorm_1.PrimaryColumn)({ type: 'varchar', length: 255 }),
20
+ __metadata("design:type", String)
21
+ ], TokenExchangeJti.prototype, "jti", void 0);
22
+ __decorate([
23
+ (0, db_1.DateTimeColumn)(),
24
+ __metadata("design:type", Date)
25
+ ], TokenExchangeJti.prototype, "expiresAt", void 0);
26
+ __decorate([
27
+ (0, db_1.DateTimeColumn)(),
28
+ __metadata("design:type", Date)
29
+ ], TokenExchangeJti.prototype, "createdAt", void 0);
30
+ exports.TokenExchangeJti = TokenExchangeJti = __decorate([
31
+ (0, typeorm_1.Entity)('token_exchange_jti')
32
+ ], TokenExchangeJti);
33
+ //# sourceMappingURL=token-exchange-jti.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-exchange-jti.entity.js","sourceRoot":"","sources":["../../../../../src/modules/token-exchange/database/entities/token-exchange-jti.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gCAAyC;AACzC,0CAAqD;AAG9C,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAS5B,CAAA;AATY,4CAAgB;AAE5B;IADC,IAAA,uBAAa,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;6CACpC;AAGZ;IADC,IAAA,mBAAc,GAAE;8BACN,IAAI;mDAAC;AAGhB;IADC,IAAA,mBAAc,GAAE;8BACN,IAAI;mDAAC;2BARJ,gBAAgB;IAD5B,IAAA,gBAAM,EAAC,oBAAoB,CAAC;GAChB,gBAAgB,CAS5B"}
@@ -0,0 +1,10 @@
1
+ import { GlobalConfig } from '@n8n/config';
2
+ import { DataSource, Repository } from '@n8n/typeorm';
3
+ import { TokenExchangeJti } from '../entities/token-exchange-jti.entity';
4
+ export declare class TokenExchangeJtiRepository extends Repository<TokenExchangeJti> {
5
+ private readonly dbType;
6
+ private readonly escapedTableName;
7
+ constructor(dataSource: DataSource, globalConfig: GlobalConfig);
8
+ atomicConsume(jti: string, expiresAt: Date): Promise<boolean>;
9
+ deleteExpiredBatch(batchSize: number): Promise<number>;
10
+ }
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.TokenExchangeJtiRepository = void 0;
16
+ const config_1 = require("@n8n/config");
17
+ const di_1 = require("@n8n/di");
18
+ const typeorm_1 = require("@n8n/typeorm");
19
+ const node_assert_1 = __importDefault(require("node:assert"));
20
+ const token_exchange_jti_entity_1 = require("../entities/token-exchange-jti.entity");
21
+ let TokenExchangeJtiRepository = class TokenExchangeJtiRepository extends typeorm_1.Repository {
22
+ constructor(dataSource, globalConfig) {
23
+ super(token_exchange_jti_entity_1.TokenExchangeJti, dataSource.manager);
24
+ this.dbType = globalConfig.database.type;
25
+ const { schema, tableName } = this.metadata;
26
+ const esc = (name) => dataSource.driver.escape(name);
27
+ this.escapedTableName = schema ? `${esc(schema)}.${esc(tableName)}` : esc(tableName);
28
+ }
29
+ async atomicConsume(jti, expiresAt) {
30
+ const esc = (name) => this.manager.connection.driver.escape(name);
31
+ const tableName = this.escapedTableName;
32
+ if (this.dbType === 'postgresdb') {
33
+ const [row] = (await this.query(`WITH ins AS (
34
+ INSERT INTO ${tableName} (${esc('jti')}, ${esc('expiresAt')}, ${esc('createdAt')})
35
+ VALUES ($1, $2, NOW())
36
+ ON CONFLICT (${esc('jti')}) DO NOTHING
37
+ RETURNING ${esc('jti')}
38
+ )
39
+ SELECT EXISTS (SELECT 1 FROM ins) AS inserted`, [jti, expiresAt]));
40
+ return row.inserted;
41
+ }
42
+ else if (this.dbType === 'sqlite') {
43
+ const qr = this.manager.connection.createQueryRunner();
44
+ await qr.startTransaction();
45
+ try {
46
+ await qr.query(`INSERT OR IGNORE INTO ${tableName} (${esc('jti')}, ${esc('expiresAt')}, ${esc('createdAt')}) VALUES (?, datetime(?), datetime('now'))`, [jti, expiresAt.toISOString()]);
47
+ const [{ cnt }] = (await qr.query('SELECT changes() as cnt'));
48
+ await qr.commitTransaction();
49
+ return cnt > 0;
50
+ }
51
+ catch (e) {
52
+ await qr.rollbackTransaction();
53
+ throw e;
54
+ }
55
+ finally {
56
+ await qr.release();
57
+ }
58
+ }
59
+ node_assert_1.default.fail('Unknown database type');
60
+ }
61
+ async deleteExpiredBatch(batchSize) {
62
+ const esc = (name) => this.manager.connection.driver.escape(name);
63
+ const tableName = this.escapedTableName;
64
+ if (this.dbType === 'postgresdb') {
65
+ const [row] = (await this.query(`WITH deleted AS (
66
+ DELETE FROM ${tableName}
67
+ WHERE ${esc('jti')} IN (
68
+ SELECT ${esc('jti')} FROM ${tableName}
69
+ WHERE ${esc('expiresAt')} < NOW()
70
+ LIMIT $1
71
+ )
72
+ RETURNING ${esc('jti')}
73
+ )
74
+ SELECT COUNT(*) AS ${esc('count')} FROM deleted`, [batchSize]));
75
+ return Number(row.count);
76
+ }
77
+ else if (this.dbType === 'sqlite') {
78
+ const qr = this.manager.connection.createQueryRunner();
79
+ await qr.startTransaction();
80
+ try {
81
+ await qr.query(`DELETE FROM ${tableName} WHERE ${esc('jti')} IN (
82
+ SELECT ${esc('jti')} FROM ${tableName}
83
+ WHERE ${esc('expiresAt')} < datetime('now')
84
+ LIMIT ?
85
+ )`, [batchSize]);
86
+ const [{ cnt }] = (await qr.query('SELECT changes() as cnt'));
87
+ await qr.commitTransaction();
88
+ return Number(cnt);
89
+ }
90
+ catch (e) {
91
+ await qr.rollbackTransaction();
92
+ throw e;
93
+ }
94
+ finally {
95
+ await qr.release();
96
+ }
97
+ }
98
+ node_assert_1.default.fail('Unknown database type');
99
+ }
100
+ };
101
+ exports.TokenExchangeJtiRepository = TokenExchangeJtiRepository;
102
+ exports.TokenExchangeJtiRepository = TokenExchangeJtiRepository = __decorate([
103
+ (0, di_1.Service)(),
104
+ __metadata("design:paramtypes", [typeorm_1.DataSource, config_1.GlobalConfig])
105
+ ], TokenExchangeJtiRepository);
106
+ //# sourceMappingURL=token-exchange-jti.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-exchange-jti.repository.js","sourceRoot":"","sources":["../../../../../src/modules/token-exchange/database/repositories/token-exchange-jti.repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { User } from '@n8n/db';
2
+ import type { ExternalTokenClaims } from '../token-exchange.schemas';
3
+ export declare class IdentityResolutionService {
4
+ resolve(_claims: ExternalTokenClaims): Promise<User>;
5
+ }
@@ -0,0 +1,21 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.IdentityResolutionService = void 0;
10
+ const di_1 = require("@n8n/di");
11
+ const n8n_workflow_1 = require("n8n-workflow");
12
+ let IdentityResolutionService = class IdentityResolutionService {
13
+ async resolve(_claims) {
14
+ throw new n8n_workflow_1.UserError('Identity resolution is not yet implemented');
15
+ }
16
+ };
17
+ exports.IdentityResolutionService = IdentityResolutionService;
18
+ exports.IdentityResolutionService = IdentityResolutionService = __decorate([
19
+ (0, di_1.Service)()
20
+ ], IdentityResolutionService);
21
+ //# sourceMappingURL=identity-resolution.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-resolution.service.js","sourceRoot":"","sources":["../../../../src/modules/token-exchange/services/identity-resolution.service.ts"],"names":[],"mappings":";;;;;;;;;AACA,gCAAkC;AAElC,+CAAyC;AAWlC,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAIrC,KAAK,CAAC,OAAO,CAAC,OAA4B;QACzC,MAAM,IAAI,wBAAS,CAAC,4CAA4C,CAAC,CAAC;IACnE,CAAC;CACD,CAAA;AAPY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,YAAO,GAAE;GACG,yBAAyB,CAOrC"}
@@ -0,0 +1,18 @@
1
+ import { Logger } from '@n8n/backend-common';
2
+ import { InstanceSettings } from 'n8n-core';
3
+ import { TokenExchangeJtiRepository } from '../database/repositories/token-exchange-jti.repository';
4
+ import { TokenExchangeConfig } from '../token-exchange.config';
5
+ export declare class JtiCleanupService {
6
+ private readonly config;
7
+ private readonly jtiRepository;
8
+ private readonly instanceSettings;
9
+ private cleanupInterval;
10
+ private isShuttingDown;
11
+ private readonly logger;
12
+ constructor(logger: Logger, config: TokenExchangeConfig, jtiRepository: TokenExchangeJtiRepository, instanceSettings: InstanceSettings);
13
+ init(): void;
14
+ startCleanup(): void;
15
+ stopCleanup(): void;
16
+ private cleanup;
17
+ shutdown(): void;
18
+ }
@@ -0,0 +1,90 @@
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.JtiCleanupService = void 0;
13
+ const backend_common_1 = require("@n8n/backend-common");
14
+ const constants_1 = require("@n8n/constants");
15
+ const decorators_1 = require("@n8n/decorators");
16
+ const di_1 = require("@n8n/di");
17
+ const n8n_core_1 = require("n8n-core");
18
+ const token_exchange_jti_repository_1 = require("../database/repositories/token-exchange-jti.repository");
19
+ const token_exchange_config_1 = require("../token-exchange.config");
20
+ let JtiCleanupService = class JtiCleanupService {
21
+ constructor(logger, config, jtiRepository, instanceSettings) {
22
+ this.config = config;
23
+ this.jtiRepository = jtiRepository;
24
+ this.instanceSettings = instanceSettings;
25
+ this.isShuttingDown = false;
26
+ this.logger = logger.scoped('token-exchange');
27
+ }
28
+ init() {
29
+ if (this.instanceSettings.isLeader)
30
+ this.startCleanup();
31
+ }
32
+ startCleanup() {
33
+ if (this.isShuttingDown)
34
+ return;
35
+ const intervalMs = this.config.jtiCleanupIntervalSeconds * constants_1.Time.seconds.toMilliseconds;
36
+ this.cleanupInterval = setInterval(async () => await this.cleanup(), intervalMs);
37
+ this.logger.debug(`JTI cleanup scheduled every ${this.config.jtiCleanupIntervalSeconds}s`);
38
+ }
39
+ stopCleanup() {
40
+ clearInterval(this.cleanupInterval);
41
+ this.cleanupInterval = undefined;
42
+ }
43
+ async cleanup() {
44
+ let totalDeleted = 0;
45
+ try {
46
+ let deleted;
47
+ do {
48
+ deleted = await this.jtiRepository.deleteExpiredBatch(this.config.jtiCleanupBatchSize);
49
+ totalDeleted += deleted;
50
+ } while (deleted >= this.config.jtiCleanupBatchSize);
51
+ if (totalDeleted > 0) {
52
+ this.logger.debug('Cleaned up expired JTIs', { count: totalDeleted });
53
+ }
54
+ }
55
+ catch (error) {
56
+ this.logger.error('Failed to clean up expired JTIs', { error });
57
+ }
58
+ }
59
+ shutdown() {
60
+ this.isShuttingDown = true;
61
+ this.stopCleanup();
62
+ }
63
+ };
64
+ exports.JtiCleanupService = JtiCleanupService;
65
+ __decorate([
66
+ (0, decorators_1.OnLeaderTakeover)(),
67
+ __metadata("design:type", Function),
68
+ __metadata("design:paramtypes", []),
69
+ __metadata("design:returntype", void 0)
70
+ ], JtiCleanupService.prototype, "startCleanup", null);
71
+ __decorate([
72
+ (0, decorators_1.OnLeaderStepdown)(),
73
+ __metadata("design:type", Function),
74
+ __metadata("design:paramtypes", []),
75
+ __metadata("design:returntype", void 0)
76
+ ], JtiCleanupService.prototype, "stopCleanup", null);
77
+ __decorate([
78
+ (0, decorators_1.OnShutdown)(),
79
+ __metadata("design:type", Function),
80
+ __metadata("design:paramtypes", []),
81
+ __metadata("design:returntype", void 0)
82
+ ], JtiCleanupService.prototype, "shutdown", null);
83
+ exports.JtiCleanupService = JtiCleanupService = __decorate([
84
+ (0, di_1.Service)(),
85
+ __metadata("design:paramtypes", [backend_common_1.Logger,
86
+ token_exchange_config_1.TokenExchangeConfig,
87
+ token_exchange_jti_repository_1.TokenExchangeJtiRepository,
88
+ n8n_core_1.InstanceSettings])
89
+ ], JtiCleanupService);
90
+ //# sourceMappingURL=jti-cleanup.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jti-cleanup.service.js","sourceRoot":"","sources":["../../../../src/modules/token-exchange/services/jti-cleanup.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wDAA6C;AAC7C,8CAAsC;AACtC,gDAAiF;AACjF,gCAAkC;AAClC,uCAA4C;AAE5C,0GAAoG;AACpG,oEAA+D;AAGxD,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAO7B,YACC,MAAc,EACG,MAA2B,EAC3B,aAAyC,EACzC,gBAAkC;QAFlC,WAAM,GAAN,MAAM,CAAqB;QAC3B,kBAAa,GAAb,aAAa,CAA4B;QACzC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAR5C,mBAAc,GAAG,KAAK,CAAC;QAU9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI;QACH,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ;YAAE,IAAI,CAAC,YAAY,EAAE,CAAC;IACzD,CAAC;IAGD,YAAY;QACX,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO;QAEhC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,yBAAyB,GAAG,gBAAI,CAAC,OAAO,CAAC,cAAc,CAAC;QACvF,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;QAEjF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,IAAI,CAAC,MAAM,CAAC,yBAAyB,GAAG,CAAC,CAAC;IAC5F,CAAC;IAGD,WAAW;QACV,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACpC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;IAClC,CAAC;IAEO,KAAK,CAAC,OAAO;QACpB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC;YACJ,IAAI,OAAe,CAAC;YACpB,GAAG,CAAC;gBACH,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;gBACvF,YAAY,IAAI,OAAO,CAAC;YACzB,CAAC,QAAQ,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE;YAErD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;YACvE,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACjE,CAAC;IACF,CAAC;IAGD,QAAQ;QACP,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;IACpB,CAAC;CACD,CAAA;AA1DY,8CAAiB;AAqB7B;IADC,IAAA,6BAAgB,GAAE;;;;qDAQlB;AAGD;IADC,IAAA,6BAAgB,GAAE;;;;oDAIlB;AAoBD;IADC,IAAA,uBAAU,GAAE;;;;iDAIZ;4BAzDW,iBAAiB;IAD7B,IAAA,YAAO,GAAE;qCASA,uBAAM;QACW,2CAAmB;QACZ,0DAA0B;QACvB,2BAAgB;GAXxC,iBAAiB,CA0D7B"}
@@ -0,0 +1,6 @@
1
+ import { TokenExchangeJtiRepository } from '../database/repositories/token-exchange-jti.repository';
2
+ export declare class JtiStoreService {
3
+ private readonly jtiRepository;
4
+ constructor(jtiRepository: TokenExchangeJtiRepository);
5
+ consume(jti: string, expiresAt: Date): Promise<boolean>;
6
+ }