n8n 2.16.0 → 2.17.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 (323) hide show
  1. package/README.md +1 -1
  2. package/dist/active-workflow-manager.d.ts +3 -1
  3. package/dist/active-workflow-manager.js +37 -4
  4. package/dist/active-workflow-manager.js.map +1 -1
  5. package/dist/auth/auth.service.d.ts +5 -2
  6. package/dist/auth/auth.service.js +10 -6
  7. package/dist/auth/auth.service.js.map +1 -1
  8. package/dist/build.tsbuildinfo +1 -1
  9. package/dist/commands/base-command.js +8 -2
  10. package/dist/commands/base-command.js.map +1 -1
  11. package/dist/commands/start.d.ts +1 -0
  12. package/dist/commands/start.js +7 -0
  13. package/dist/commands/start.js.map +1 -1
  14. package/dist/constants.d.ts +2 -0
  15. package/dist/constants.js +5 -1
  16. package/dist/constants.js.map +1 -1
  17. package/dist/controllers/ai.controller.d.ts +11 -2
  18. package/dist/controllers/ai.controller.js +54 -2
  19. package/dist/controllers/ai.controller.js.map +1 -1
  20. package/dist/controllers/auth.controller.js +1 -1
  21. package/dist/controllers/auth.controller.js.map +1 -1
  22. package/dist/controllers/e2e.controller.js +3 -0
  23. package/dist/controllers/e2e.controller.js.map +1 -1
  24. package/dist/controllers/me.controller.d.ts +1 -0
  25. package/dist/controllers/me.controller.js +12 -0
  26. package/dist/controllers/me.controller.js.map +1 -1
  27. package/dist/controllers/project.controller.d.ts +3 -1
  28. package/dist/controllers/project.controller.js +9 -2
  29. package/dist/controllers/project.controller.js.map +1 -1
  30. package/dist/controllers/role.controller.d.ts +6 -4
  31. package/dist/controllers/role.controller.js +28 -8
  32. package/dist/controllers/role.controller.js.map +1 -1
  33. package/dist/controllers/users.controller.d.ts +4 -1
  34. package/dist/controllers/users.controller.js +8 -2
  35. package/dist/controllers/users.controller.js.map +1 -1
  36. package/dist/credentials/credentials.controller.js +3 -0
  37. package/dist/credentials/credentials.controller.js.map +1 -1
  38. package/dist/credentials/credentials.service.d.ts +3 -2
  39. package/dist/credentials/credentials.service.js +21 -10
  40. package/dist/credentials/credentials.service.js.map +1 -1
  41. package/dist/credentials/validation.js +2 -2
  42. package/dist/credentials/validation.js.map +1 -1
  43. package/dist/credentials-helper.d.ts +3 -1
  44. package/dist/credentials-helper.js +14 -2
  45. package/dist/credentials-helper.js.map +1 -1
  46. package/dist/eventbus/event-message-classes/index.d.ts +2 -2
  47. package/dist/eventbus/event-message-classes/index.js +7 -0
  48. package/dist/eventbus/event-message-classes/index.js.map +1 -1
  49. package/dist/events/maps/relay.event-map.d.ts +92 -0
  50. package/dist/events/relays/log-streaming.event-relay.d.ts +7 -0
  51. package/dist/events/relays/log-streaming.event-relay.js +87 -2
  52. package/dist/events/relays/log-streaming.event-relay.js.map +1 -1
  53. package/dist/events/relays/telemetry.event-relay.d.ts +5 -0
  54. package/dist/events/relays/telemetry.event-relay.js +58 -5
  55. package/dist/events/relays/telemetry.event-relay.js.map +1 -1
  56. package/dist/execution-lifecycle/execution-lifecycle-hooks.d.ts +1 -1
  57. package/dist/execution-lifecycle/execution-lifecycle-hooks.js +22 -9
  58. package/dist/execution-lifecycle/execution-lifecycle-hooks.js.map +1 -1
  59. package/dist/instance-settings-loader/instance-settings-loader.service.d.ts +9 -0
  60. package/dist/instance-settings-loader/instance-settings-loader.service.js +36 -0
  61. package/dist/instance-settings-loader/instance-settings-loader.service.js.map +1 -0
  62. package/dist/instance-settings-loader/loaders/owner.instance-settings-loader.d.ts +10 -0
  63. package/dist/instance-settings-loader/loaders/owner.instance-settings-loader.js +72 -0
  64. package/dist/instance-settings-loader/loaders/owner.instance-settings-loader.js.map +1 -0
  65. package/dist/modules/chat-hub/stream-capturer.js +3 -0
  66. package/dist/modules/chat-hub/stream-capturer.js.map +1 -1
  67. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-introspection-identifier.d.ts +2 -2
  68. package/dist/modules/external-secrets.ee/external-secrets-settings.controller.ee.d.ts +5 -2
  69. package/dist/modules/external-secrets.ee/external-secrets-settings.controller.ee.js +10 -3
  70. package/dist/modules/external-secrets.ee/external-secrets-settings.controller.ee.js.map +1 -1
  71. package/dist/modules/external-secrets.ee/secrets-providers-connections.controller.ee.js +5 -5
  72. package/dist/modules/external-secrets.ee/secrets-providers-connections.controller.ee.js.map +1 -1
  73. package/dist/modules/external-secrets.ee/secrets-providers-connections.service.ee.d.ts +6 -6
  74. package/dist/modules/external-secrets.ee/secrets-providers-connections.service.ee.js +14 -9
  75. package/dist/modules/external-secrets.ee/secrets-providers-connections.service.ee.js.map +1 -1
  76. package/dist/modules/external-secrets.ee/secrets-providers-project.controller.ee.js +3 -3
  77. package/dist/modules/external-secrets.ee/secrets-providers-project.controller.ee.js.map +1 -1
  78. package/dist/modules/instance-ai/eval/api-docs.d.ts +1 -0
  79. package/dist/modules/instance-ai/eval/api-docs.js +78 -0
  80. package/dist/modules/instance-ai/eval/api-docs.js.map +1 -0
  81. package/dist/modules/instance-ai/eval/execution.service.d.ts +25 -0
  82. package/dist/modules/instance-ai/eval/execution.service.js +291 -0
  83. package/dist/modules/instance-ai/eval/execution.service.js.map +1 -0
  84. package/dist/modules/instance-ai/eval/mock-handler.d.ts +9 -0
  85. package/dist/modules/instance-ai/eval/mock-handler.js +264 -0
  86. package/dist/modules/instance-ai/eval/mock-handler.js.map +1 -0
  87. package/dist/modules/instance-ai/eval/node-config.d.ts +2 -0
  88. package/dist/modules/instance-ai/eval/node-config.js +15 -0
  89. package/dist/modules/instance-ai/eval/node-config.js.map +1 -0
  90. package/dist/modules/instance-ai/eval/pin-data-generator.d.ts +12 -0
  91. package/dist/modules/instance-ai/eval/pin-data-generator.js +301 -0
  92. package/dist/modules/instance-ai/eval/pin-data-generator.js.map +1 -0
  93. package/dist/modules/instance-ai/eval/request-sanitizer.d.ts +3 -0
  94. package/dist/modules/instance-ai/eval/request-sanitizer.js +50 -0
  95. package/dist/modules/instance-ai/eval/request-sanitizer.js.map +1 -0
  96. package/dist/modules/instance-ai/eval/workflow-analysis.d.ts +16 -0
  97. package/dist/modules/instance-ai/eval/workflow-analysis.js +217 -0
  98. package/dist/modules/instance-ai/eval/workflow-analysis.js.map +1 -0
  99. package/dist/modules/instance-ai/filesystem/index.d.ts +0 -1
  100. package/dist/modules/instance-ai/filesystem/index.js +1 -3
  101. package/dist/modules/instance-ai/filesystem/index.js.map +1 -1
  102. package/dist/modules/instance-ai/filesystem/local-gateway.js +1 -1
  103. package/dist/modules/instance-ai/instance-ai-memory.service.d.ts +11 -7
  104. package/dist/modules/instance-ai/instance-ai-memory.service.js +21 -41
  105. package/dist/modules/instance-ai/instance-ai-memory.service.js.map +1 -1
  106. package/dist/modules/instance-ai/instance-ai-settings.service.d.ts +4 -0
  107. package/dist/modules/instance-ai/instance-ai-settings.service.js +26 -6
  108. package/dist/modules/instance-ai/instance-ai-settings.service.js.map +1 -1
  109. package/dist/modules/instance-ai/instance-ai.adapter.service.d.ts +8 -3
  110. package/dist/modules/instance-ai/instance-ai.adapter.service.js +189 -35
  111. package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -1
  112. package/dist/modules/instance-ai/instance-ai.controller.d.ts +10 -11
  113. package/dist/modules/instance-ai/instance-ai.controller.js +101 -44
  114. package/dist/modules/instance-ai/instance-ai.controller.js.map +1 -1
  115. package/dist/modules/instance-ai/instance-ai.module.d.ts +1 -2
  116. package/dist/modules/instance-ai/instance-ai.module.js +4 -5
  117. package/dist/modules/instance-ai/instance-ai.module.js.map +1 -1
  118. package/dist/modules/instance-ai/instance-ai.service.d.ts +9 -8
  119. package/dist/modules/instance-ai/instance-ai.service.js +189 -61
  120. package/dist/modules/instance-ai/instance-ai.service.js.map +1 -1
  121. package/dist/modules/instance-ai/internal-messages.js +1 -1
  122. package/dist/modules/instance-ai/internal-messages.js.map +1 -1
  123. package/dist/modules/instance-ai/proxy-token-manager.d.ts +15 -0
  124. package/dist/modules/instance-ai/proxy-token-manager.js +64 -0
  125. package/dist/modules/instance-ai/proxy-token-manager.js.map +1 -0
  126. package/dist/modules/instance-ai/snapshot-pruning.service.d.ts +4 -1
  127. package/dist/modules/instance-ai/snapshot-pruning.service.js +18 -6
  128. package/dist/modules/instance-ai/snapshot-pruning.service.js.map +1 -1
  129. package/dist/modules/instance-ai/storage/db-snapshot-storage.d.ts +4 -0
  130. package/dist/modules/instance-ai/storage/db-snapshot-storage.js +25 -0
  131. package/dist/modules/instance-ai/storage/db-snapshot-storage.js.map +1 -1
  132. package/dist/modules/instance-ai/storage/typeorm-memory-storage.js +1 -1
  133. package/dist/modules/instance-ai/storage/typeorm-memory-storage.js.map +1 -1
  134. package/dist/modules/instance-ai/web-research/brave-search.d.ts +1 -1
  135. package/dist/modules/instance-ai/web-research/brave-search.js +2 -1
  136. package/dist/modules/instance-ai/web-research/brave-search.js.map +1 -1
  137. package/dist/modules/instance-version-history/database/entities/instance-version-history.entity.d.ts +7 -0
  138. package/dist/modules/instance-version-history/database/entities/instance-version-history.entity.js +37 -0
  139. package/dist/modules/instance-version-history/database/entities/instance-version-history.entity.js.map +1 -0
  140. package/dist/modules/instance-version-history/database/repositories/instance-version-history.repository.d.ts +5 -0
  141. package/dist/modules/instance-version-history/database/repositories/instance-version-history.repository.js +26 -0
  142. package/dist/modules/instance-version-history/database/repositories/instance-version-history.repository.js.map +1 -0
  143. package/dist/modules/instance-version-history/instance-version-history.controller.d.ts +26 -0
  144. package/dist/modules/instance-version-history/instance-version-history.controller.js +85 -0
  145. package/dist/modules/instance-version-history/instance-version-history.controller.js.map +1 -0
  146. package/dist/modules/instance-version-history/instance-version-history.module.d.ts +5 -0
  147. package/dist/modules/instance-version-history/instance-version-history.module.js +60 -0
  148. package/dist/modules/instance-version-history/instance-version-history.module.js.map +1 -0
  149. package/dist/modules/instance-version-history/instance-version-history.service.d.ts +18 -0
  150. package/dist/modules/instance-version-history/instance-version-history.service.js +120 -0
  151. package/dist/modules/instance-version-history/instance-version-history.service.js.map +1 -0
  152. package/dist/modules/instance-version-history/instance-version-history.types.d.ts +12 -0
  153. package/dist/modules/instance-version-history/instance-version-history.types.js +27 -0
  154. package/dist/modules/instance-version-history/instance-version-history.types.js.map +1 -0
  155. package/dist/modules/provisioning.ee/provisioning.service.ee.d.ts +5 -2
  156. package/dist/modules/provisioning.ee/provisioning.service.ee.js +55 -11
  157. package/dist/modules/provisioning.ee/provisioning.service.ee.js.map +1 -1
  158. package/dist/modules/provisioning.ee/role-mapping-rule.controller.ee.d.ts +7 -5
  159. package/dist/modules/provisioning.ee/role-mapping-rule.controller.ee.js +40 -10
  160. package/dist/modules/provisioning.ee/role-mapping-rule.controller.ee.js.map +1 -1
  161. package/dist/modules/provisioning.ee/role-mapping-rule.service.ee.d.ts +3 -1
  162. package/dist/modules/provisioning.ee/role-mapping-rule.service.ee.js +1 -0
  163. package/dist/modules/provisioning.ee/role-mapping-rule.service.ee.js.map +1 -1
  164. package/dist/modules/provisioning.ee/role-resolver-types.d.ts +14 -2
  165. package/dist/modules/provisioning.ee/role-resolver.service.ee.js +16 -6
  166. package/dist/modules/provisioning.ee/role-resolver.service.ee.js.map +1 -1
  167. package/dist/modules/source-control.ee/source-control-context.factory.d.ts +12 -0
  168. package/dist/modules/source-control.ee/source-control-context.factory.js +112 -0
  169. package/dist/modules/source-control.ee/source-control-context.factory.js.map +1 -0
  170. package/dist/modules/source-control.ee/source-control-export.service.ee.d.ts +2 -2
  171. package/dist/modules/source-control.ee/source-control-export.service.ee.js +9 -11
  172. package/dist/modules/source-control.ee/source-control-export.service.ee.js.map +1 -1
  173. package/dist/modules/source-control.ee/source-control-git.service.ee.js +3 -3
  174. package/dist/modules/source-control.ee/source-control-git.service.ee.js.map +1 -1
  175. package/dist/modules/source-control.ee/source-control-import.service.ee.d.ts +6 -4
  176. package/dist/modules/source-control.ee/source-control-import.service.ee.js +29 -85
  177. package/dist/modules/source-control.ee/source-control-import.service.ee.js.map +1 -1
  178. package/dist/modules/source-control.ee/source-control-scoped.service.d.ts +4 -4
  179. package/dist/modules/source-control.ee/source-control-scoped.service.js +9 -40
  180. package/dist/modules/source-control.ee/source-control-scoped.service.js.map +1 -1
  181. package/dist/modules/source-control.ee/source-control-status.service.ee.d.ts +3 -1
  182. package/dist/modules/source-control.ee/source-control-status.service.ee.js +99 -59
  183. package/dist/modules/source-control.ee/source-control-status.service.ee.js.map +1 -1
  184. package/dist/modules/source-control.ee/source-control.service.ee.d.ts +3 -1
  185. package/dist/modules/source-control.ee/source-control.service.ee.js +6 -4
  186. package/dist/modules/source-control.ee/source-control.service.ee.js.map +1 -1
  187. package/dist/modules/source-control.ee/types/source-control-context.d.ts +12 -4
  188. package/dist/modules/source-control.ee/types/source-control-context.js +32 -6
  189. package/dist/modules/source-control.ee/types/source-control-context.js.map +1 -1
  190. package/dist/modules/sso-saml/saml.controller.ee.d.ts +2 -3
  191. package/dist/modules/sso-saml/saml.controller.ee.js +3 -15
  192. package/dist/modules/sso-saml/saml.controller.ee.js.map +1 -1
  193. package/dist/modules/token-exchange/controllers/embed-auth.controller.d.ts +5 -1
  194. package/dist/modules/token-exchange/controllers/embed-auth.controller.js +50 -11
  195. package/dist/modules/token-exchange/controllers/embed-auth.controller.js.map +1 -1
  196. package/dist/modules/token-exchange/{token-exchange.controller.d.ts → controllers/token-exchange.controller.d.ts} +1 -1
  197. package/dist/modules/token-exchange/{token-exchange.controller.js → controllers/token-exchange.controller.js} +50 -5
  198. package/dist/modules/token-exchange/controllers/token-exchange.controller.js.map +1 -0
  199. package/dist/modules/token-exchange/database/entities/trusted-key-source.entity.d.ts +10 -0
  200. package/dist/modules/token-exchange/database/entities/trusted-key-source.entity.js +45 -0
  201. package/dist/modules/token-exchange/database/entities/trusted-key-source.entity.js.map +1 -0
  202. package/dist/modules/token-exchange/database/entities/trusted-key.entity.d.ts +9 -0
  203. package/dist/modules/token-exchange/database/entities/trusted-key.entity.js +43 -0
  204. package/dist/modules/token-exchange/database/entities/trusted-key.entity.js.map +1 -0
  205. package/dist/modules/token-exchange/database/repositories/trusted-key-source.repository.d.ts +5 -0
  206. package/dist/modules/token-exchange/database/repositories/trusted-key-source.repository.js +26 -0
  207. package/dist/modules/token-exchange/database/repositories/trusted-key-source.repository.js.map +1 -0
  208. package/dist/modules/token-exchange/database/repositories/trusted-key.repository.d.ts +7 -0
  209. package/dist/modules/token-exchange/database/repositories/trusted-key.repository.js +32 -0
  210. package/dist/modules/token-exchange/database/repositories/trusted-key.repository.js.map +1 -0
  211. package/dist/modules/token-exchange/services/identity-resolution.service.d.ts +20 -2
  212. package/dist/modules/token-exchange/services/identity-resolution.service.js +178 -4
  213. package/dist/modules/token-exchange/services/identity-resolution.service.js.map +1 -1
  214. package/dist/modules/token-exchange/services/jti-cleanup.service.js +1 -1
  215. package/dist/modules/token-exchange/services/jti-cleanup.service.js.map +1 -1
  216. package/dist/modules/token-exchange/services/jwks-resolver.d.ts +30 -0
  217. package/dist/modules/token-exchange/services/jwks-resolver.js +190 -0
  218. package/dist/modules/token-exchange/services/jwks-resolver.js.map +1 -0
  219. package/dist/modules/token-exchange/services/scoped-jwt.strategy.d.ts +12 -0
  220. package/dist/modules/token-exchange/services/scoped-jwt.strategy.js +92 -0
  221. package/dist/modules/token-exchange/services/scoped-jwt.strategy.js.map +1 -0
  222. package/dist/modules/token-exchange/services/token-exchange.service.d.ts +18 -4
  223. package/dist/modules/token-exchange/services/token-exchange.service.js +65 -6
  224. package/dist/modules/token-exchange/services/token-exchange.service.js.map +1 -1
  225. package/dist/modules/token-exchange/services/trusted-key.service.d.ts +40 -6
  226. package/dist/modules/token-exchange/services/trusted-key.service.js +374 -32
  227. package/dist/modules/token-exchange/services/trusted-key.service.js.map +1 -1
  228. package/dist/modules/token-exchange/token-exchange.config.d.ts +4 -0
  229. package/dist/modules/token-exchange/token-exchange.config.js +20 -0
  230. package/dist/modules/token-exchange/token-exchange.config.js.map +1 -1
  231. package/dist/modules/token-exchange/token-exchange.module.js +7 -2
  232. package/dist/modules/token-exchange/token-exchange.module.js.map +1 -1
  233. package/dist/modules/token-exchange/token-exchange.schemas.d.ts +35 -5
  234. package/dist/modules/token-exchange/token-exchange.schemas.js +16 -7
  235. package/dist/modules/token-exchange/token-exchange.schemas.js.map +1 -1
  236. package/dist/modules/token-exchange/token-exchange.types.d.ts +5 -2
  237. package/dist/modules/token-exchange/token-exchange.types.js +2 -0
  238. package/dist/modules/token-exchange/token-exchange.types.js.map +1 -1
  239. package/dist/oauth/oauth.service.d.ts +1 -0
  240. package/dist/oauth/oauth.service.js +39 -2
  241. package/dist/oauth/oauth.service.js.map +1 -1
  242. package/dist/public-api/index.js +32 -4
  243. package/dist/public-api/index.js.map +1 -1
  244. package/dist/public-api/types.d.ts +11 -1
  245. package/dist/public-api/v1/handlers/community-packages/community-packages.handler.d.ts +1 -0
  246. package/dist/public-api/v1/handlers/community-packages/community-packages.handler.js +5 -5
  247. package/dist/public-api/v1/handlers/community-packages/community-packages.handler.js.map +1 -1
  248. package/dist/public-api/v1/handlers/credentials/credentials.handler.js +7 -12
  249. package/dist/public-api/v1/handlers/credentials/credentials.handler.js.map +1 -1
  250. package/dist/public-api/v1/handlers/credentials/credentials.service.d.ts +3 -4
  251. package/dist/public-api/v1/handlers/credentials/credentials.service.js +21 -33
  252. package/dist/public-api/v1/handlers/credentials/credentials.service.js.map +1 -1
  253. package/dist/public-api/v1/handlers/data-tables/data-tables.handler.js +5 -5
  254. package/dist/public-api/v1/handlers/data-tables/data-tables.rows.handler.js +5 -5
  255. package/dist/public-api/v1/handlers/executions/executions.handler.js +8 -8
  256. package/dist/public-api/v1/handlers/insights/insights.handler.d.ts +6 -0
  257. package/dist/public-api/v1/handlers/insights/insights.handler.js +57 -0
  258. package/dist/public-api/v1/handlers/insights/insights.handler.js.map +1 -0
  259. package/dist/public-api/v1/handlers/workflows/workflows.handler.js +14 -35
  260. package/dist/public-api/v1/handlers/workflows/workflows.handler.js.map +1 -1
  261. package/dist/public-api/v1/handlers/workflows/workflows.service.d.ts +6 -4
  262. package/dist/public-api/v1/handlers/workflows/workflows.service.js +7 -15
  263. package/dist/public-api/v1/handlers/workflows/workflows.service.js.map +1 -1
  264. package/dist/public-api/v1/openapi.yml +322 -7
  265. package/dist/public-api/v1/shared/middlewares/global.middleware.d.ts +1 -1
  266. package/dist/public-api/v1/shared/middlewares/global.middleware.js +19 -8
  267. package/dist/public-api/v1/shared/middlewares/global.middleware.js.map +1 -1
  268. package/dist/security-audit/risk-reporters/credentials-risk-reporter.d.ts +2 -3
  269. package/dist/security-audit/risk-reporters/credentials-risk-reporter.js +2 -5
  270. package/dist/security-audit/risk-reporters/credentials-risk-reporter.js.map +1 -1
  271. package/dist/services/ai-gateway.service.d.ts +44 -0
  272. package/dist/services/ai-gateway.service.js +228 -0
  273. package/dist/services/ai-gateway.service.js.map +1 -0
  274. package/dist/services/api-key-auth.strategy.d.ts +10 -0
  275. package/dist/services/api-key-auth.strategy.js +71 -0
  276. package/dist/services/api-key-auth.strategy.js.map +1 -0
  277. package/dist/services/frontend.service.js +7 -0
  278. package/dist/services/frontend.service.js.map +1 -1
  279. package/dist/services/import.service.d.ts +1 -0
  280. package/dist/services/import.service.js +25 -2
  281. package/dist/services/import.service.js.map +1 -1
  282. package/dist/services/ownership.service.d.ts +4 -1
  283. package/dist/services/ownership.service.js +11 -5
  284. package/dist/services/ownership.service.js.map +1 -1
  285. package/dist/services/project.service.ee.js +1 -1
  286. package/dist/services/project.service.ee.js.map +1 -1
  287. package/dist/services/pruning/workflow-history-compaction.service.js +4 -4
  288. package/dist/services/pruning/workflow-history-compaction.service.js.map +1 -1
  289. package/dist/services/public-api-key.service.d.ts +6 -13
  290. package/dist/services/public-api-key.service.js +12 -80
  291. package/dist/services/public-api-key.service.js.map +1 -1
  292. package/dist/services/user.service.js +6 -0
  293. package/dist/services/user.service.js.map +1 -1
  294. package/dist/utils/validate-redirect-url.d.ts +1 -0
  295. package/dist/utils/validate-redirect-url.js +17 -0
  296. package/dist/utils/validate-redirect-url.js.map +1 -0
  297. package/dist/webhooks/webhook-form-data.js +6 -2
  298. package/dist/webhooks/webhook-form-data.js.map +1 -1
  299. package/dist/webhooks/webhook.service.js +19 -4
  300. package/dist/webhooks/webhook.service.js.map +1 -1
  301. package/dist/workflow-execute-additional-data.js +2 -0
  302. package/dist/workflow-execute-additional-data.js.map +1 -1
  303. package/dist/workflow-helpers.d.ts +1 -0
  304. package/dist/workflow-helpers.js +21 -0
  305. package/dist/workflow-helpers.js.map +1 -1
  306. package/dist/workflow-runner.js +25 -1
  307. package/dist/workflow-runner.js.map +1 -1
  308. package/dist/workflows/workflow-creation.service.d.ts +8 -5
  309. package/dist/workflows/workflow-creation.service.js +36 -17
  310. package/dist/workflows/workflow-creation.service.js.map +1 -1
  311. package/dist/workflows/workflow.service.ee.js +4 -1
  312. package/dist/workflows/workflow.service.ee.js.map +1 -1
  313. package/dist/workflows/workflow.service.js +4 -1
  314. package/dist/workflows/workflow.service.js.map +1 -1
  315. package/dist/workflows/workflows.controller.d.ts +2 -2
  316. package/package.json +25 -26
  317. package/dist/modules/instance-ai/filesystem/local-fs-provider.d.ts +0 -26
  318. package/dist/modules/instance-ai/filesystem/local-fs-provider.js +0 -321
  319. package/dist/modules/instance-ai/filesystem/local-fs-provider.js.map +0 -1
  320. package/dist/modules/token-exchange/token-exchange.controller.js.map +0 -1
  321. package/dist/modules/token-exchange/token-exchange.service.d.ts +0 -9
  322. package/dist/modules/token-exchange/token-exchange.service.js +0 -66
  323. package/dist/modules/token-exchange/token-exchange.service.js.map +0 -1
@@ -13,6 +13,7 @@ servers:
13
13
  - url: /api/v1
14
14
  security:
15
15
  - ApiKeyAuth: []
16
+ - BearerAuth: []
16
17
  tags:
17
18
  - name: User
18
19
  description: Operations about users
@@ -38,6 +39,8 @@ tags:
38
39
  description: Operations about community packages
39
40
  - name: Discover
40
41
  description: API capability discovery
42
+ - name: Insights
43
+ description: Operations about insights
41
44
  externalDocs:
42
45
  description: n8n API documentation
43
46
  url: https://docs.n8n.io/api/
@@ -119,7 +122,7 @@ paths:
119
122
  content:
120
123
  application/json:
121
124
  schema:
122
- $ref: '#/components/schemas/credential'
125
+ $ref: '#/components/schemas/credentialCreate'
123
126
  responses:
124
127
  '200':
125
128
  description: Operation successful.
@@ -128,9 +131,13 @@ paths:
128
131
  schema:
129
132
  $ref: '#/components/schemas/create-credential-response'
130
133
  '400':
131
- description: Bad request - invalid credential type or data.
134
+ $ref: '#/components/responses/badRequest'
132
135
  '401':
133
136
  $ref: '#/components/responses/unauthorized'
137
+ '403':
138
+ $ref: '#/components/responses/forbidden'
139
+ '404':
140
+ $ref: '#/components/responses/notFound'
134
141
  '415':
135
142
  description: Unsupported media type.
136
143
  /credentials/{id}:
@@ -676,7 +683,7 @@ paths:
676
683
  content:
677
684
  application/json:
678
685
  schema:
679
- $ref: '#/components/schemas/workflow'
686
+ $ref: '#/components/schemas/workflowCreate'
680
687
  required: true
681
688
  responses:
682
689
  '200':
@@ -689,6 +696,10 @@ paths:
689
696
  $ref: '#/components/responses/badRequest'
690
697
  '401':
691
698
  $ref: '#/components/responses/unauthorized'
699
+ '403':
700
+ $ref: '#/components/responses/forbidden'
701
+ '404':
702
+ $ref: '#/components/responses/notFound'
692
703
  get:
693
704
  x-eov-operation-id: getWorkflows
694
705
  x-eov-operation-handler: v1/handlers/workflows/workflows.handler
@@ -2178,6 +2189,49 @@ paths:
2178
2189
  description: URL to the full OpenAPI specification
2179
2190
  '401':
2180
2191
  $ref: '#/components/responses/unauthorized'
2192
+ /insights/summary:
2193
+ get:
2194
+ x-eov-operation-id: getInsightsSummary
2195
+ x-eov-operation-handler: v1/handlers/insights/insights.handler
2196
+ tags:
2197
+ - Insights
2198
+ summary: Retrieve insights summary
2199
+ description: Retrieve the insights summary for the selected date range.
2200
+ parameters:
2201
+ - name: startDate
2202
+ in: query
2203
+ required: false
2204
+ description: ISO 8601 start date. Defaults to 7 days ago.
2205
+ schema:
2206
+ type: string
2207
+ format: date-time
2208
+ - name: endDate
2209
+ in: query
2210
+ required: false
2211
+ description: ISO 8601 end date. Defaults to now.
2212
+ schema:
2213
+ type: string
2214
+ format: date-time
2215
+ - name: projectId
2216
+ in: query
2217
+ required: false
2218
+ description: Project identifier to filter insights by project.
2219
+ schema:
2220
+ type: string
2221
+ example: VmwOO9HeTEj20kxM
2222
+ responses:
2223
+ '200':
2224
+ description: Operation successful.
2225
+ content:
2226
+ application/json:
2227
+ schema:
2228
+ $ref: '#/components/schemas/insights'
2229
+ '400':
2230
+ $ref: '#/components/responses/badRequest'
2231
+ '401':
2232
+ $ref: '#/components/responses/unauthorized'
2233
+ '403':
2234
+ $ref: '#/components/responses/forbidden'
2181
2235
  components:
2182
2236
  schemas:
2183
2237
  audit:
@@ -2258,6 +2312,10 @@ components:
2258
2312
  - id
2259
2313
  - name
2260
2314
  - type
2315
+ - isManaged
2316
+ - isGlobal
2317
+ - isResolvable
2318
+ - resolvableAllowFallback
2261
2319
  - createdAt
2262
2320
  - updatedAt
2263
2321
  type: object
@@ -2272,6 +2330,32 @@ components:
2272
2330
  type:
2273
2331
  type: string
2274
2332
  example: githubApi
2333
+ isManaged:
2334
+ type: boolean
2335
+ readOnly: true
2336
+ description: Whether the credential is managed by n8n (managed credentials cannot be edited via the API).
2337
+ example: false
2338
+ isGlobal:
2339
+ type: boolean
2340
+ readOnly: true
2341
+ description: Whether the credential is available for use by all users.
2342
+ example: false
2343
+ isResolvable:
2344
+ type: boolean
2345
+ readOnly: true
2346
+ description: Whether the credential can be dynamically resolved by a resolver.
2347
+ example: false
2348
+ resolvableAllowFallback:
2349
+ type: boolean
2350
+ readOnly: true
2351
+ description: Whether the credential resolver may fall back to static credentials if dynamic resolution fails.
2352
+ example: false
2353
+ resolverId:
2354
+ type: string
2355
+ nullable: true
2356
+ readOnly: true
2357
+ description: ID of the dynamic credential resolver associated with this credential, if any.
2358
+ example: null
2275
2359
  createdAt:
2276
2360
  type: string
2277
2361
  format: date-time
@@ -2332,6 +2416,46 @@ components:
2332
2416
  description: Paginate through credentials by setting the cursor parameter to a nextCursor attribute returned by a previous request. Default value fetches the first "page" of the collection.
2333
2417
  nullable: true
2334
2418
  example: MTIzZTQ1NjctZTg5Yi0xMmQzLWE0NTYtNDI2NjE0MTc0MDA
2419
+ credentialCreate:
2420
+ required:
2421
+ - name
2422
+ - type
2423
+ - data
2424
+ type: object
2425
+ properties:
2426
+ id:
2427
+ type: string
2428
+ readOnly: true
2429
+ example: R2DjclaysHbqn778
2430
+ name:
2431
+ type: string
2432
+ example: Joe's Github Credentials
2433
+ type:
2434
+ type: string
2435
+ example: githubApi
2436
+ data:
2437
+ type: object
2438
+ writeOnly: true
2439
+ example:
2440
+ accessToken: ada612vad6fa5df4adf5a5dsf4389adsf76da7s
2441
+ isResolvable:
2442
+ type: boolean
2443
+ example: false
2444
+ description: Whether this credential has resolvable fields
2445
+ createdAt:
2446
+ type: string
2447
+ format: date-time
2448
+ readOnly: true
2449
+ example: '2022-04-29T11:02:29.842Z'
2450
+ updatedAt:
2451
+ type: string
2452
+ format: date-time
2453
+ readOnly: true
2454
+ example: '2022-04-29T11:02:29.842Z'
2455
+ projectId:
2456
+ type: string
2457
+ description: Project to create the credential in. Defaults to the user's personal project.
2458
+ example: VmwOO9HeTEj20kxM
2335
2459
  credential:
2336
2460
  required:
2337
2461
  - name
@@ -2645,9 +2769,9 @@ components:
2645
2769
  - none
2646
2770
  - workflowsFromAList
2647
2771
  - workflowsFromSameOwner
2648
- default: workflowsFromSameOwner
2649
2772
  description: |
2650
2773
  Controls which workflows are allowed to call this workflow using the Execute Workflow node.
2774
+ Defaults to workflowsFromSameOwner.
2651
2775
 
2652
2776
  Available options:
2653
2777
  - `any`: Any workflow can call this workflow (no restrictions)
@@ -2668,9 +2792,9 @@ components:
2668
2792
  description: Estimated time saved per execution in minutes
2669
2793
  availableInMCP:
2670
2794
  type: boolean
2671
- default: false
2672
2795
  description: |
2673
2796
  Controls whether this workflow is accessible via the Model Context Protocol (MCP).
2797
+ Defaults to false.
2674
2798
 
2675
2799
  When enabled, this workflow can be called by MCP clients (AI assistants and other tools
2676
2800
  that support MCP). This allows external AI tools to discover and execute this workflow
@@ -2865,6 +2989,100 @@ components:
2865
2989
  description: Paginate through workflows by setting the cursor parameter to a nextCursor attribute returned by a previous request. Default value fetches the first "page" of the collection.
2866
2990
  nullable: true
2867
2991
  example: MTIzZTQ1NjctZTg5Yi0xMmQzLWE0NTYtNDI2NjE0MTc0MDA
2992
+ workflowCreate:
2993
+ type: object
2994
+ additionalProperties: false
2995
+ required:
2996
+ - name
2997
+ - nodes
2998
+ - connections
2999
+ - settings
3000
+ properties:
3001
+ id:
3002
+ type: string
3003
+ readOnly: true
3004
+ example: 2tUt1wbLX592XDdX
3005
+ name:
3006
+ type: string
3007
+ example: Workflow 1
3008
+ active:
3009
+ type: boolean
3010
+ readOnly: true
3011
+ createdAt:
3012
+ type: string
3013
+ format: date-time
3014
+ readOnly: true
3015
+ updatedAt:
3016
+ type: string
3017
+ format: date-time
3018
+ readOnly: true
3019
+ isArchived:
3020
+ type: boolean
3021
+ readOnly: true
3022
+ versionId:
3023
+ type: string
3024
+ readOnly: true
3025
+ description: Current version identifier used for optimistic locking
3026
+ triggerCount:
3027
+ type: integer
3028
+ readOnly: true
3029
+ description: Number of active trigger nodes in the workflow
3030
+ nodes:
3031
+ type: array
3032
+ items:
3033
+ $ref: '#/components/schemas/node'
3034
+ connections:
3035
+ type: object
3036
+ example:
3037
+ Jira:
3038
+ main:
3039
+ - - node: Jira
3040
+ type: main
3041
+ index: 0
3042
+ settings:
3043
+ $ref: '#/components/schemas/workflowSettings'
3044
+ staticData:
3045
+ example:
3046
+ lastId: 1
3047
+ anyOf:
3048
+ - type: string
3049
+ format: jsonString
3050
+ nullable: true
3051
+ - type: object
3052
+ nullable: true
3053
+ pinData:
3054
+ type: object
3055
+ nullable: true
3056
+ description: Pinned sample data for nodes, keyed by node name
3057
+ projectId:
3058
+ type: string
3059
+ description: Target project to create the workflow in. Defaults to the user's personal project.
3060
+ example: VmwOO9HeTEj20kxM
3061
+ meta:
3062
+ type: object
3063
+ nullable: true
3064
+ readOnly: true
3065
+ description: Workflow metadata such as template information
3066
+ properties:
3067
+ onboardingId:
3068
+ type: string
3069
+ templateId:
3070
+ type: string
3071
+ instanceId:
3072
+ type: string
3073
+ templateCredsSetupCompleted:
3074
+ type: boolean
3075
+ tags:
3076
+ type: array
3077
+ items:
3078
+ $ref: '#/components/schemas/tag'
3079
+ readOnly: true
3080
+ shared:
3081
+ type: array
3082
+ items:
3083
+ $ref: '#/components/schemas/sharedWorkflow'
3084
+ activeVersion:
3085
+ $ref: '#/components/schemas/activeVersion'
2868
3086
  workflowVersion:
2869
3087
  type: object
2870
3088
  additionalProperties: false
@@ -3515,6 +3733,99 @@ components:
3515
3733
  version:
3516
3734
  type: string
3517
3735
  description: Specific semver version to install
3736
+ verify:
3737
+ type: boolean
3738
+ description: |
3739
+ Whether to verify the package against the n8n-vetted package list. Required when the instance has N8N_UNVERIFIED_PACKAGES_ENABLED=false.
3740
+ insights:
3741
+ type: object
3742
+ required:
3743
+ - total
3744
+ - failed
3745
+ - failureRate
3746
+ - timeSaved
3747
+ - averageRunTime
3748
+ properties:
3749
+ total:
3750
+ type: object
3751
+ required:
3752
+ - value
3753
+ - deviation
3754
+ - unit
3755
+ properties:
3756
+ value:
3757
+ type: number
3758
+ deviation:
3759
+ type: number
3760
+ nullable: true
3761
+ unit:
3762
+ type: string
3763
+ enum:
3764
+ - count
3765
+ failed:
3766
+ type: object
3767
+ required:
3768
+ - value
3769
+ - deviation
3770
+ - unit
3771
+ properties:
3772
+ value:
3773
+ type: number
3774
+ deviation:
3775
+ type: number
3776
+ nullable: true
3777
+ unit:
3778
+ type: string
3779
+ enum:
3780
+ - count
3781
+ failureRate:
3782
+ type: object
3783
+ required:
3784
+ - value
3785
+ - deviation
3786
+ - unit
3787
+ properties:
3788
+ value:
3789
+ type: number
3790
+ deviation:
3791
+ type: number
3792
+ nullable: true
3793
+ unit:
3794
+ type: string
3795
+ enum:
3796
+ - ratio
3797
+ timeSaved:
3798
+ type: object
3799
+ required:
3800
+ - value
3801
+ - deviation
3802
+ - unit
3803
+ properties:
3804
+ value:
3805
+ type: number
3806
+ deviation:
3807
+ type: number
3808
+ nullable: true
3809
+ unit:
3810
+ type: string
3811
+ enum:
3812
+ - minute
3813
+ averageRunTime:
3814
+ type: object
3815
+ required:
3816
+ - value
3817
+ - deviation
3818
+ - unit
3819
+ properties:
3820
+ value:
3821
+ type: number
3822
+ deviation:
3823
+ type: number
3824
+ nullable: true
3825
+ unit:
3826
+ type: string
3827
+ enum:
3828
+ - millisecond
3518
3829
  error:
3519
3830
  required:
3520
3831
  - message
@@ -3606,12 +3917,12 @@ components:
3606
3917
  responses:
3607
3918
  unauthorized:
3608
3919
  description: Unauthorized
3609
- notFound:
3610
- description: The specified resource was not found.
3611
3920
  badRequest:
3612
3921
  description: The request is invalid or provides malformed data.
3613
3922
  forbidden:
3614
3923
  description: Forbidden
3924
+ notFound:
3925
+ description: The specified resource was not found.
3615
3926
  conflict:
3616
3927
  description: Conflict
3617
3928
  NotFound:
@@ -3743,3 +4054,7 @@ components:
3743
4054
  type: apiKey
3744
4055
  in: header
3745
4056
  name: X-N8N-API-KEY
4057
+ BearerAuth:
4058
+ type: http
4059
+ scheme: bearer
4060
+ bearerFormat: JWT
@@ -16,7 +16,7 @@ export declare const validCursor: (req: PaginatedRequest, res: express.Response,
16
16
  export type ScopeTaggedMiddleware = ((...args: unknown[]) => unknown) & {
17
17
  __apiKeyScope: ApiKeyScope;
18
18
  };
19
- export declare const apiKeyHasScope: (apiKeyScope: ApiKeyScope) => ScopeTaggedMiddleware;
19
+ export declare const publicApiScope: (apiKeyScope: ApiKeyScope) => ScopeTaggedMiddleware;
20
20
  export declare const apiKeyHasScopeWithGlobalScopeFallback: (config: {
21
21
  scope: ApiKeyScope & Scope;
22
22
  } | {
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isLicensed = exports.validLicenseWithUserQuota = exports.apiKeyHasScopeWithGlobalScopeFallback = exports.apiKeyHasScope = exports.validCursor = exports.projectScope = exports.globalScope = void 0;
3
+ exports.isLicensed = exports.validLicenseWithUserQuota = exports.apiKeyHasScopeWithGlobalScopeFallback = exports.publicApiScope = exports.validCursor = exports.projectScope = exports.globalScope = void 0;
4
4
  const di_1 = require("@n8n/di");
5
5
  const feature_not_licensed_error_1 = require("../../../../errors/feature-not-licensed.error");
6
6
  const not_found_error_1 = require("../../../../errors/response-errors/not-found.error");
7
7
  const license_1 = require("../../../../license");
8
8
  const check_access_1 = require("../../../../permissions.ee/check-access");
9
- const public_api_key_service_1 = require("../../../../services/public-api-key.service");
10
9
  const pagination_service_1 = require("../services/pagination.service");
11
10
  const UNLIMITED_USERS_QUOTA = -1;
12
11
  const buildScopeMiddleware = (scopes, resource, { globalOnly } = { globalOnly: false }) => {
@@ -68,14 +67,26 @@ function tagMiddleware(middleware, apiKeyScope) {
68
67
  const tagged = Object.assign((req, res, next) => middleware(req, res, next), { __apiKeyScope: apiKeyScope });
69
68
  return tagged;
70
69
  }
71
- const apiKeyHasScope = (apiKeyScope) => {
72
- const middleware = di_1.Container.get(public_api_key_service_1.PublicApiKeyService).getApiKeyScopeMiddleware(apiKeyScope);
73
- return tagMiddleware(middleware, apiKeyScope);
74
- };
75
- exports.apiKeyHasScope = apiKeyHasScope;
70
+ function makePublicApiScopeEnforcementMiddleware(endpointScope) {
71
+ return async (req, res, next) => {
72
+ const { tokenGrant } = req;
73
+ if (!tokenGrant) {
74
+ res.status(403).json({ message: 'Forbidden' });
75
+ return;
76
+ }
77
+ if (!tokenGrant.apiKeyScopes?.includes(endpointScope)) {
78
+ res.status(403).json({ message: 'Forbidden' });
79
+ return;
80
+ }
81
+ next();
82
+ return;
83
+ };
84
+ }
85
+ const publicApiScope = (apiKeyScope) => tagMiddleware(makePublicApiScopeEnforcementMiddleware(apiKeyScope), apiKeyScope);
86
+ exports.publicApiScope = publicApiScope;
76
87
  const apiKeyHasScopeWithGlobalScopeFallback = (config) => {
77
88
  const scope = 'scope' in config ? config.scope : config.apiKeyScope;
78
- return tagMiddleware(di_1.Container.get(public_api_key_service_1.PublicApiKeyService).getApiKeyScopeMiddleware(scope), scope);
89
+ return tagMiddleware(makePublicApiScopeEnforcementMiddleware(scope), scope);
79
90
  };
80
91
  exports.apiKeyHasScopeWithGlobalScopeFallback = apiKeyHasScopeWithGlobalScopeFallback;
81
92
  const validLicenseWithUserQuota = (_, res, next) => {
@@ -1 +1 @@
1
- {"version":3,"file":"global.middleware.js","sourceRoot":"","sources":["../../../../../src/public-api/v1/shared/middlewares/global.middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"global.middleware.js","sourceRoot":"","sources":["../../../../../src/public-api/v1/shared/middlewares/global.middleware.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,12 @@
1
1
  import { SecurityConfig } from '@n8n/config';
2
- import { CredentialsRepository, ExecutionDataRepository, ExecutionRepository } from '@n8n/db';
2
+ import { CredentialsRepository, ExecutionDataRepository } from '@n8n/db';
3
3
  import type { IWorkflowBase } from 'n8n-workflow';
4
4
  import type { RiskReporter, Risk } from '../../security-audit/types';
5
5
  export declare class CredentialsRiskReporter implements RiskReporter {
6
6
  private readonly credentialsRepository;
7
- private readonly executionRepository;
8
7
  private readonly executionDataRepository;
9
8
  private readonly securityConfig;
10
- constructor(credentialsRepository: CredentialsRepository, executionRepository: ExecutionRepository, executionDataRepository: ExecutionDataRepository, securityConfig: SecurityConfig);
9
+ constructor(credentialsRepository: CredentialsRepository, executionDataRepository: ExecutionDataRepository, securityConfig: SecurityConfig);
11
10
  report(workflows: IWorkflowBase[]): Promise<Risk.StandardReport | null>;
12
11
  private getAllCredsInUse;
13
12
  private getAllExistingCreds;
@@ -15,9 +15,8 @@ const db_1 = require("@n8n/db");
15
15
  const di_1 = require("@n8n/di");
16
16
  const constants_1 = require("../../security-audit/constants");
17
17
  let CredentialsRiskReporter = class CredentialsRiskReporter {
18
- constructor(credentialsRepository, executionRepository, executionDataRepository, securityConfig) {
18
+ constructor(credentialsRepository, executionDataRepository, securityConfig) {
19
19
  this.credentialsRepository = credentialsRepository;
20
- this.executionRepository = executionRepository;
21
20
  this.executionDataRepository = executionDataRepository;
22
21
  this.securityConfig = securityConfig;
23
22
  }
@@ -102,8 +101,7 @@ let CredentialsRiskReporter = class CredentialsRiskReporter {
102
101
  async getExecutedWorkflowsInPastDays(days) {
103
102
  const date = new Date();
104
103
  date.setDate(date.getDate() - days);
105
- const executionIds = await this.executionRepository.getIdsSince(date);
106
- return await this.executionDataRepository.findByExecutionIds(executionIds);
104
+ return await this.executionDataRepository.getWorkflowsExecutedSince(date);
107
105
  }
108
106
  async getCredsInRecentlyExecutedWorkflows(days) {
109
107
  const executedWorkflows = await this.getExecutedWorkflowsInPastDays(days);
@@ -124,7 +122,6 @@ exports.CredentialsRiskReporter = CredentialsRiskReporter;
124
122
  exports.CredentialsRiskReporter = CredentialsRiskReporter = __decorate([
125
123
  (0, di_1.Service)(),
126
124
  __metadata("design:paramtypes", [db_1.CredentialsRepository,
127
- db_1.ExecutionRepository,
128
125
  db_1.ExecutionDataRepository,
129
126
  config_1.SecurityConfig])
130
127
  ], CredentialsRiskReporter);
@@ -1 +1 @@
1
- {"version":3,"file":"credentials-risk-reporter.js","sourceRoot":"","sources":["../../../src/security-audit/risk-reporters/credentials-risk-reporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credentials-risk-reporter.js","sourceRoot":"","sources":["../../../src/security-audit/risk-reporters/credentials-risk-reporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { LicenseState } from '@n8n/backend-common';
2
+ import { GlobalConfig } from '@n8n/config';
3
+ import { UserRepository } from '@n8n/db';
4
+ import { InstanceSettings } from 'n8n-core';
5
+ import type { ICredentialDataDecryptedObject } from 'n8n-workflow';
6
+ import type { AiGatewayConfigDto, AiGatewayUsageResponse } from '@n8n/api-types';
7
+ import { License } from '../license';
8
+ import { OwnershipService } from '../services/ownership.service';
9
+ interface GatewayCreditsResponse {
10
+ creditsQuota: number;
11
+ creditsRemaining: number;
12
+ }
13
+ export declare class AiGatewayService {
14
+ private readonly globalConfig;
15
+ private readonly license;
16
+ private readonly licenseState;
17
+ private readonly instanceSettings;
18
+ private readonly ownershipService;
19
+ private readonly userRepository;
20
+ private readonly tokenCache;
21
+ private readonly TOKEN_CACHE_MAX_SIZE;
22
+ private readonly pendingTokenRequests;
23
+ private gatewayConfig;
24
+ private configFetchedAt;
25
+ private static readonly CONFIG_TTL_MS;
26
+ constructor(globalConfig: GlobalConfig, license: License, licenseState: LicenseState, instanceSettings: InstanceSettings, ownershipService: OwnershipService, userRepository: UserRepository);
27
+ private resolveUserId;
28
+ getSyntheticCredential({ credentialType, userId, workflowId, projectId, }: {
29
+ credentialType: string;
30
+ userId: string | undefined;
31
+ workflowId?: string;
32
+ projectId?: string;
33
+ }): Promise<ICredentialDataDecryptedObject>;
34
+ getUsage(userId: string, offset: number, limit: number): Promise<AiGatewayUsageResponse>;
35
+ getCreditsRemaining(userId: string): Promise<GatewayCreditsResponse>;
36
+ private parseCreditsResponse;
37
+ private requireBaseUrl;
38
+ private isConfigStale;
39
+ getGatewayConfig(): Promise<AiGatewayConfigDto>;
40
+ private buildGatewayCredentialsHeaders;
41
+ private getOrFetchToken;
42
+ private fetchAndCacheToken;
43
+ }
44
+ export {};