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
@@ -0,0 +1,36 @@
1
+ import type { InstanceAiEnsureThreadResponse, InstanceAiRichMessagesResponse, InstanceAiThreadContextResponse, InstanceAiThreadInfo, InstanceAiThreadListResponse, InstanceAiThreadMessagesResponse } from '@n8n/api-types';
2
+ import { Logger } from '@n8n/backend-common';
3
+ import { GlobalConfig } from '@n8n/config';
4
+ import { DbSnapshotStorage } from './storage/db-snapshot-storage';
5
+ import { TypeORMCompositeStore } from './storage/typeorm-composite-store';
6
+ export declare class InstanceAiMemoryService {
7
+ private readonly logger;
8
+ private readonly compositeStore;
9
+ private readonly dbSnapshotStorage;
10
+ private readonly instanceAiConfig;
11
+ constructor(logger: Logger, globalConfig: GlobalConfig, compositeStore: TypeORMCompositeStore, dbSnapshotStorage: DbSnapshotStorage);
12
+ getWorkingMemory(userId: string, threadId: string): Promise<{
13
+ content: string;
14
+ template: string;
15
+ }>;
16
+ updateWorkingMemory(userId: string, threadId: string, content: string): Promise<void>;
17
+ listThreads(userId: string, page?: number, perPage?: number): Promise<InstanceAiThreadListResponse>;
18
+ ensureThread(userId: string, threadId: string): Promise<InstanceAiEnsureThreadResponse>;
19
+ getThreadMessages(userId: string, threadId: string, options?: {
20
+ limit?: number;
21
+ page?: number;
22
+ }): Promise<InstanceAiThreadMessagesResponse>;
23
+ getThreadContext(userId: string, threadId: string): Promise<InstanceAiThreadContextResponse>;
24
+ getRichMessages(userId: string, threadId: string, options?: {
25
+ limit?: number;
26
+ page?: number;
27
+ }): Promise<Omit<InstanceAiRichMessagesResponse, 'nextEventId'>>;
28
+ validateThreadOwnership(userId: string, threadId: string): Promise<boolean>;
29
+ checkThreadOwnership(userId: string, threadId: string): Promise<'owned' | 'not_found' | 'other_user'>;
30
+ deleteThread(threadId: string): Promise<void>;
31
+ renameThread(threadId: string, title: string): Promise<InstanceAiThreadInfo>;
32
+ getThreadMetadata(userId: string, threadId: string): Promise<Record<string, unknown> | undefined>;
33
+ cleanupExpiredThreads(onThreadDeleted?: (threadId: string) => Promise<void>): Promise<number>;
34
+ private createMemoryInstance;
35
+ private toThreadInfo;
36
+ }
@@ -0,0 +1,265 @@
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.InstanceAiMemoryService = void 0;
13
+ const backend_common_1 = require("@n8n/backend-common");
14
+ const config_1 = require("@n8n/config");
15
+ const di_1 = require("@n8n/di");
16
+ const instance_ai_1 = require("@n8n/instance-ai");
17
+ const db_snapshot_storage_1 = require("./storage/db-snapshot-storage");
18
+ const not_found_error_1 = require("../../errors/response-errors/not-found.error");
19
+ const message_parser_1 = require("./message-parser");
20
+ const typeorm_composite_store_1 = require("./storage/typeorm-composite-store");
21
+ let InstanceAiMemoryService = class InstanceAiMemoryService {
22
+ constructor(logger, globalConfig, compositeStore, dbSnapshotStorage) {
23
+ this.logger = logger;
24
+ this.compositeStore = compositeStore;
25
+ this.dbSnapshotStorage = dbSnapshotStorage;
26
+ this.instanceAiConfig = globalConfig.instanceAi;
27
+ }
28
+ async getWorkingMemory(userId, threadId) {
29
+ const memory = this.createMemoryInstance();
30
+ const content = await memory.getWorkingMemory({
31
+ threadId,
32
+ resourceId: userId,
33
+ });
34
+ return {
35
+ content: content ?? '',
36
+ template: instance_ai_1.WORKING_MEMORY_TEMPLATE,
37
+ };
38
+ }
39
+ async updateWorkingMemory(userId, threadId, content) {
40
+ const memory = this.createMemoryInstance();
41
+ await memory.updateWorkingMemory({
42
+ threadId,
43
+ resourceId: userId,
44
+ workingMemory: content,
45
+ });
46
+ }
47
+ async listThreads(userId, page = 0, perPage = 100) {
48
+ const memory = this.createMemoryInstance();
49
+ const result = await memory.listThreads({
50
+ filter: { resourceId: userId },
51
+ perPage,
52
+ page,
53
+ orderBy: { field: 'updatedAt', direction: 'DESC' },
54
+ });
55
+ return {
56
+ threads: result.threads.map((t) => this.toThreadInfo(t)),
57
+ total: result.total,
58
+ page: result.page,
59
+ hasMore: result.hasMore,
60
+ };
61
+ }
62
+ async ensureThread(userId, threadId) {
63
+ const memory = this.createMemoryInstance();
64
+ const existing = await memory.getThreadById({ threadId });
65
+ if (existing) {
66
+ if (existing.resourceId !== userId) {
67
+ throw new Error(`Thread ${threadId} is not owned by user ${userId}`);
68
+ }
69
+ return {
70
+ thread: this.toThreadInfo(existing),
71
+ created: false,
72
+ };
73
+ }
74
+ const now = new Date();
75
+ const created = await memory.saveThread({
76
+ thread: {
77
+ id: threadId,
78
+ resourceId: userId,
79
+ title: '',
80
+ createdAt: now,
81
+ updatedAt: now,
82
+ },
83
+ });
84
+ return {
85
+ thread: this.toThreadInfo(created),
86
+ created: true,
87
+ };
88
+ }
89
+ async getThreadMessages(userId, threadId, options) {
90
+ const memory = this.createMemoryInstance();
91
+ let result;
92
+ try {
93
+ result = await memory.recall({
94
+ threadId,
95
+ resourceId: userId,
96
+ perPage: options?.limit ?? 50,
97
+ page: options?.page ?? 0,
98
+ });
99
+ }
100
+ catch (error) {
101
+ if (error instanceof Error && error.message.includes('No thread found')) {
102
+ return { threadId, messages: [] };
103
+ }
104
+ throw error;
105
+ }
106
+ return {
107
+ threadId,
108
+ messages: result.messages.map((m) => ({
109
+ id: m.id,
110
+ role: m.role,
111
+ content: typeof m.content === 'string' ? m.content : m.content,
112
+ type: m.type,
113
+ createdAt: m.createdAt.toISOString(),
114
+ })),
115
+ };
116
+ }
117
+ async getThreadContext(userId, threadId) {
118
+ const memory = this.createMemoryInstance();
119
+ let workingMemory;
120
+ try {
121
+ workingMemory = await memory.getWorkingMemory({
122
+ threadId,
123
+ resourceId: userId,
124
+ });
125
+ }
126
+ catch (error) {
127
+ if (error instanceof Error && error.message.includes('No thread found')) {
128
+ return { threadId, workingMemory: null };
129
+ }
130
+ throw error;
131
+ }
132
+ return {
133
+ threadId,
134
+ workingMemory: workingMemory ?? null,
135
+ };
136
+ }
137
+ async getRichMessages(userId, threadId, options) {
138
+ const memory = this.createMemoryInstance();
139
+ let result;
140
+ try {
141
+ result = await memory.recall({
142
+ threadId,
143
+ resourceId: userId,
144
+ perPage: options?.limit ?? 50,
145
+ page: options?.page ?? 0,
146
+ });
147
+ }
148
+ catch (error) {
149
+ if (error instanceof Error && error.message.includes('No thread found')) {
150
+ return { threadId, messages: [] };
151
+ }
152
+ throw error;
153
+ }
154
+ const snapshots = await this.dbSnapshotStorage.getAll(threadId).catch((error) => {
155
+ this.logger.warn('Failed to load agent tree snapshots', {
156
+ threadId,
157
+ error: error instanceof Error ? error.message : String(error),
158
+ });
159
+ return [];
160
+ });
161
+ const mastraMessages = result.messages.map((m) => ({
162
+ id: m.id,
163
+ role: m.role,
164
+ content: m.content,
165
+ type: m.type,
166
+ createdAt: m.createdAt,
167
+ }));
168
+ const messages = (0, message_parser_1.parseStoredMessages)(mastraMessages, snapshots);
169
+ return { threadId, messages };
170
+ }
171
+ async validateThreadOwnership(userId, threadId) {
172
+ return (await this.checkThreadOwnership(userId, threadId)) === 'owned';
173
+ }
174
+ async checkThreadOwnership(userId, threadId) {
175
+ const memory = this.createMemoryInstance();
176
+ const thread = await memory.getThreadById({ threadId });
177
+ if (!thread)
178
+ return 'not_found';
179
+ return thread.resourceId === userId ? 'owned' : 'other_user';
180
+ }
181
+ async deleteThread(threadId) {
182
+ const memory = this.createMemoryInstance();
183
+ await memory.deleteThread(threadId);
184
+ }
185
+ async renameThread(threadId, title) {
186
+ const memory = this.createMemoryInstance();
187
+ const updated = await (0, instance_ai_1.patchThread)(memory, {
188
+ threadId,
189
+ update: ({ metadata }) => ({ title, metadata: { ...metadata, titleRefined: true } }),
190
+ });
191
+ if (!updated) {
192
+ throw new not_found_error_1.NotFoundError(`Thread ${threadId} not found`);
193
+ }
194
+ return this.toThreadInfo(updated);
195
+ }
196
+ async getThreadMetadata(userId, threadId) {
197
+ const memory = this.createMemoryInstance();
198
+ const thread = await memory.getThreadById({ threadId });
199
+ if (!thread || thread.resourceId !== userId)
200
+ return undefined;
201
+ return thread.metadata;
202
+ }
203
+ async cleanupExpiredThreads(onThreadDeleted) {
204
+ const ttlDays = this.instanceAiConfig.threadTtlDays;
205
+ if (!ttlDays || ttlDays <= 0)
206
+ return 0;
207
+ const memory = this.createMemoryInstance();
208
+ const cutoff = new Date(Date.now() - ttlDays * 24 * 60 * 60 * 1000);
209
+ let deletedCount = 0;
210
+ const perPage = 100;
211
+ let hasMore = true;
212
+ while (hasMore) {
213
+ const result = await memory.listThreads({ perPage, page: 0 });
214
+ let deletedInPage = 0;
215
+ for (const thread of result.threads) {
216
+ if (thread.updatedAt < cutoff) {
217
+ try {
218
+ await onThreadDeleted?.(thread.id);
219
+ await memory.deleteThread(thread.id);
220
+ deletedCount++;
221
+ deletedInPage++;
222
+ }
223
+ catch (error) {
224
+ this.logger.warn('Failed to delete expired thread', {
225
+ threadId: thread.id,
226
+ error: error instanceof Error ? error.message : String(error),
227
+ });
228
+ }
229
+ }
230
+ }
231
+ hasMore = deletedInPage > 0 && result.hasMore;
232
+ }
233
+ if (deletedCount > 0) {
234
+ this.logger.info(`Cleaned up ${deletedCount} expired conversation threads (TTL: ${ttlDays} days)`);
235
+ }
236
+ return deletedCount;
237
+ }
238
+ createMemoryInstance() {
239
+ return (0, instance_ai_1.createMemory)({
240
+ storage: this.compositeStore,
241
+ embedderModel: this.instanceAiConfig.embedderModel || undefined,
242
+ lastMessages: this.instanceAiConfig.lastMessages,
243
+ semanticRecallTopK: this.instanceAiConfig.semanticRecallTopK,
244
+ });
245
+ }
246
+ toThreadInfo(thread) {
247
+ return {
248
+ id: thread.id,
249
+ title: thread.title,
250
+ resourceId: thread.resourceId,
251
+ createdAt: thread.createdAt.toISOString(),
252
+ updatedAt: thread.updatedAt.toISOString(),
253
+ metadata: thread.metadata,
254
+ };
255
+ }
256
+ };
257
+ exports.InstanceAiMemoryService = InstanceAiMemoryService;
258
+ exports.InstanceAiMemoryService = InstanceAiMemoryService = __decorate([
259
+ (0, di_1.Service)(),
260
+ __metadata("design:paramtypes", [backend_common_1.Logger,
261
+ config_1.GlobalConfig,
262
+ typeorm_composite_store_1.TypeORMCompositeStore,
263
+ db_snapshot_storage_1.DbSnapshotStorage])
264
+ ], InstanceAiMemoryService);
265
+ //# sourceMappingURL=instance-ai-memory.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance-ai-memory.service.js","sourceRoot":"","sources":["../../../src/modules/instance-ai/instance-ai-memory.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import { GlobalConfig } from '@n8n/config';
2
+ import { SettingsRepository } from '@n8n/db';
3
+ import type { User } from '@n8n/db';
4
+ import type { InstanceAiAdminSettingsResponse, InstanceAiAdminSettingsUpdateRequest, InstanceAiUserPreferencesResponse, InstanceAiUserPreferencesUpdateRequest, InstanceAiModelCredential, InstanceAiPermissions } from '@n8n/api-types';
5
+ import type { ModelConfig } from '@n8n/instance-ai';
6
+ import { AiService } from '../../services/ai.service';
7
+ import { CredentialsFinderService } from '../../credentials/credentials-finder.service';
8
+ import { CredentialsService } from '../../credentials/credentials.service';
9
+ export declare class InstanceAiSettingsService {
10
+ private readonly settingsRepository;
11
+ private readonly aiService;
12
+ private readonly credentialsService;
13
+ private readonly credentialsFinderService;
14
+ private readonly config;
15
+ private permissions;
16
+ private adminDaytonaCredentialId;
17
+ private adminN8nSandboxCredentialId;
18
+ private adminSearchCredentialId;
19
+ private readonly userPreferences;
20
+ constructor(globalConfig: GlobalConfig, settingsRepository: SettingsRepository, aiService: AiService, credentialsService: CredentialsService, credentialsFinderService: CredentialsFinderService);
21
+ isProxyEnabled(): boolean;
22
+ loadFromDb(): Promise<void>;
23
+ getAdminSettings(): InstanceAiAdminSettingsResponse;
24
+ updateAdminSettings(update: InstanceAiAdminSettingsUpdateRequest): Promise<InstanceAiAdminSettingsResponse>;
25
+ getUserPreferences(user: User): Promise<InstanceAiUserPreferencesResponse>;
26
+ updateUserPreferences(user: User, update: InstanceAiUserPreferencesUpdateRequest): Promise<InstanceAiUserPreferencesResponse>;
27
+ listModelCredentials(user: User): Promise<InstanceAiModelCredential[]>;
28
+ listServiceCredentials(user: User): Promise<InstanceAiModelCredential[]>;
29
+ resolveDaytonaConfig(user: User): Promise<{
30
+ apiUrl?: string;
31
+ apiKey?: string;
32
+ }>;
33
+ resolveN8nSandboxConfig(user: User): Promise<{
34
+ serviceUrl?: string;
35
+ apiKey?: string;
36
+ }>;
37
+ resolveSearchConfig(user: User): Promise<{
38
+ braveApiKey?: string;
39
+ searxngUrl?: string;
40
+ }>;
41
+ getPermissions(): InstanceAiPermissions;
42
+ isLocalGatewayDisabledForUser(userId: string): boolean;
43
+ isLocalGatewayDisabled(): boolean;
44
+ resolveModelName(user: User): Promise<string>;
45
+ resolveModelConfig(user: User): Promise<ModelConfig>;
46
+ private static readonly PROXY_MANAGED_ADMIN_FIELDS;
47
+ private static readonly PROXY_MANAGED_PREFERENCE_FIELDS;
48
+ private rejectProxyManagedFields;
49
+ private envVarModelConfig;
50
+ private extractModelName;
51
+ private applyAdminSettings;
52
+ private loadUserPreferences;
53
+ private persistAdminSettings;
54
+ private persistUserPreferences;
55
+ }