n8n 2.14.2 → 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 (548) hide show
  1. package/dist/abstract-server.js +1 -1
  2. package/dist/abstract-server.js.map +1 -1
  3. package/dist/active-workflow-manager.js +25 -12
  4. package/dist/active-workflow-manager.js.map +1 -1
  5. package/dist/auth/auth.service.js +1 -0
  6. package/dist/auth/auth.service.js.map +1 -1
  7. package/dist/build.tsbuildinfo +1 -1
  8. package/dist/commands/base-command.d.ts +1 -0
  9. package/dist/commands/base-command.js +15 -7
  10. package/dist/commands/base-command.js.map +1 -1
  11. package/dist/commands/execute-batch.js +2 -0
  12. package/dist/commands/execute-batch.js.map +1 -1
  13. package/dist/commands/execute.js +2 -0
  14. package/dist/commands/execute.js.map +1 -1
  15. package/dist/commands/start.js +1 -0
  16. package/dist/commands/start.js.map +1 -1
  17. package/dist/commands/webhook.js +1 -0
  18. package/dist/commands/webhook.js.map +1 -1
  19. package/dist/commands/worker.js +1 -0
  20. package/dist/commands/worker.js.map +1 -1
  21. package/dist/constants.js +1 -0
  22. package/dist/constants.js.map +1 -1
  23. package/dist/controllers/ai.controller.js +2 -2
  24. package/dist/controllers/ai.controller.js.map +1 -1
  25. package/dist/controllers/binary-data.controller.js +1 -1
  26. package/dist/controllers/binary-data.controller.js.map +1 -1
  27. package/dist/controllers/e2e.controller.js +2 -0
  28. package/dist/controllers/e2e.controller.js.map +1 -1
  29. package/dist/controllers/me.controller.d.ts +3 -1
  30. package/dist/controllers/me.controller.js +6 -3
  31. package/dist/controllers/me.controller.js.map +1 -1
  32. package/dist/controllers/project.controller.d.ts +2 -0
  33. package/dist/credentials/credentials.controller.js +1 -1
  34. package/dist/credentials/credentials.controller.js.map +1 -1
  35. package/dist/credentials/credentials.service.d.ts +7 -4
  36. package/dist/credentials/credentials.service.js +78 -17
  37. package/dist/credentials/credentials.service.js.map +1 -1
  38. package/dist/credentials-helper.js +7 -1
  39. package/dist/credentials-helper.js.map +1 -1
  40. package/dist/errors/http-error-classifier.d.ts +31 -0
  41. package/dist/errors/http-error-classifier.js +60 -0
  42. package/dist/errors/http-error-classifier.js.map +1 -0
  43. package/dist/errors/http-error-serializers.d.ts +18 -0
  44. package/dist/errors/http-error-serializers.js +64 -0
  45. package/dist/errors/http-error-serializers.js.map +1 -0
  46. package/dist/eventbus/event-message-classes/index.d.ts +2 -2
  47. package/dist/eventbus/event-message-classes/index.js +3 -0
  48. package/dist/eventbus/event-message-classes/index.js.map +1 -1
  49. package/dist/events/maps/relay.event-map.d.ts +22 -0
  50. package/dist/events/relays/log-streaming.event-relay.d.ts +3 -0
  51. package/dist/events/relays/log-streaming.event-relay.js +21 -0
  52. package/dist/events/relays/log-streaming.event-relay.js.map +1 -1
  53. package/dist/execution-lifecycle/execution-lifecycle-hooks.js +11 -8
  54. package/dist/execution-lifecycle/execution-lifecycle-hooks.js.map +1 -1
  55. package/dist/executions/execution-persistence.d.ts +4 -1
  56. package/dist/executions/execution-persistence.js +16 -2
  57. package/dist/executions/execution-persistence.js.map +1 -1
  58. package/dist/executions/execution.service.js +2 -1
  59. package/dist/executions/execution.service.js.map +1 -1
  60. package/dist/executions/executions.controller.d.ts +3 -5
  61. package/dist/executions/executions.controller.js +17 -9
  62. package/dist/executions/executions.controller.js.map +1 -1
  63. package/dist/modules/chat-hub/chat-hub-workflow.service.d.ts +1 -0
  64. package/dist/modules/chat-hub/chat-hub-workflow.service.js +18 -2
  65. package/dist/modules/chat-hub/chat-hub-workflow.service.js.map +1 -1
  66. package/dist/modules/chat-hub/chat-hub.types.d.ts +5 -0
  67. package/dist/modules/chat-hub/chat-hub.types.js +1 -0
  68. package/dist/modules/chat-hub/chat-hub.types.js.map +1 -1
  69. package/dist/modules/chat-hub/context-limits.js +10 -0
  70. package/dist/modules/chat-hub/context-limits.js.map +1 -1
  71. package/dist/modules/community-packages/community-node-types-utils.d.ts +2 -2
  72. package/dist/modules/community-packages/community-node-types-utils.js +4 -4
  73. package/dist/modules/community-packages/community-node-types-utils.js.map +1 -1
  74. package/dist/modules/community-packages/community-packages.controller.d.ts +6 -19
  75. package/dist/modules/community-packages/community-packages.controller.js +8 -231
  76. package/dist/modules/community-packages/community-packages.controller.js.map +1 -1
  77. package/dist/modules/community-packages/community-packages.lifecycle.service.d.ts +32 -0
  78. package/dist/modules/community-packages/community-packages.lifecycle.service.js +282 -0
  79. package/dist/modules/community-packages/community-packages.lifecycle.service.js.map +1 -0
  80. package/dist/modules/community-packages/community-packages.service.js +8 -8
  81. package/dist/modules/community-packages/community-packages.service.js.map +1 -1
  82. package/dist/modules/community-packages/npm-utils.d.ts +4 -0
  83. package/dist/modules/community-packages/npm-utils.js +4 -0
  84. package/dist/modules/community-packages/npm-utils.js.map +1 -1
  85. package/dist/modules/community-packages/strapi-utils.d.ts +1 -1
  86. package/dist/modules/data-table/data-table-proxy.service.d.ts +44 -2
  87. package/dist/modules/data-table/data-table-proxy.service.js +86 -2
  88. package/dist/modules/data-table/data-table-proxy.service.js.map +1 -1
  89. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/index.d.ts +1 -0
  90. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/index.js +1 -0
  91. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/index.js.map +1 -1
  92. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/slack-signature-extractor.d.ts +11 -0
  93. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/slack-signature-extractor.js +88 -0
  94. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/slack-signature-extractor.js.map +1 -0
  95. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/slack-signature-identifier.d.ts +28 -0
  96. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/slack-signature-identifier.js +158 -0
  97. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/slack-signature-identifier.js.map +1 -0
  98. package/dist/modules/dynamic-credentials.ee/credential-resolvers/index.d.ts +1 -0
  99. package/dist/modules/dynamic-credentials.ee/credential-resolvers/index.js +1 -0
  100. package/dist/modules/dynamic-credentials.ee/credential-resolvers/index.js.map +1 -1
  101. package/dist/modules/dynamic-credentials.ee/credential-resolvers/slack-credential-resolver.d.ts +50 -0
  102. package/dist/modules/dynamic-credentials.ee/credential-resolvers/slack-credential-resolver.js +118 -0
  103. package/dist/modules/dynamic-credentials.ee/credential-resolvers/slack-credential-resolver.js.map +1 -0
  104. package/dist/modules/dynamic-credentials.ee/services/resolver-config-expression.service.js +10 -4
  105. package/dist/modules/dynamic-credentials.ee/services/resolver-config-expression.service.js.map +1 -1
  106. package/dist/modules/instance-ai/compaction.service.d.ts +19 -0
  107. package/dist/modules/instance-ai/compaction.service.js +213 -0
  108. package/dist/modules/instance-ai/compaction.service.js.map +1 -0
  109. package/dist/modules/instance-ai/entities/index.d.ts +7 -0
  110. package/dist/modules/instance-ai/entities/index.js +18 -0
  111. package/dist/modules/instance-ai/entities/index.js.map +1 -0
  112. package/dist/modules/instance-ai/entities/instance-ai-iteration-log.entity.d.ts +7 -0
  113. package/dist/modules/instance-ai/entities/instance-ai-iteration-log.entity.js +38 -0
  114. package/dist/modules/instance-ai/entities/instance-ai-iteration-log.entity.js.map +1 -0
  115. package/dist/modules/instance-ai/entities/instance-ai-message.entity.d.ts +9 -0
  116. package/dist/modules/instance-ai/entities/instance-ai-message.entity.js +47 -0
  117. package/dist/modules/instance-ai/entities/instance-ai-message.entity.js.map +1 -0
  118. package/dist/modules/instance-ai/entities/instance-ai-observational-memory.entity.d.ts +33 -0
  119. package/dist/modules/instance-ai/entities/instance-ai-observational-memory.entity.js +145 -0
  120. package/dist/modules/instance-ai/entities/instance-ai-observational-memory.entity.js.map +1 -0
  121. package/dist/modules/instance-ai/entities/instance-ai-resource.entity.d.ts +6 -0
  122. package/dist/modules/instance-ai/entities/instance-ai-resource.entity.js +33 -0
  123. package/dist/modules/instance-ai/entities/instance-ai-resource.entity.js.map +1 -0
  124. package/dist/modules/instance-ai/entities/instance-ai-run-snapshot.entity.d.ts +8 -0
  125. package/dist/modules/instance-ai/entities/instance-ai-run-snapshot.entity.js +43 -0
  126. package/dist/modules/instance-ai/entities/instance-ai-run-snapshot.entity.js.map +1 -0
  127. package/dist/modules/instance-ai/entities/instance-ai-thread.entity.d.ts +7 -0
  128. package/dist/modules/instance-ai/entities/instance-ai-thread.entity.js +38 -0
  129. package/dist/modules/instance-ai/entities/instance-ai-thread.entity.js.map +1 -0
  130. package/dist/modules/instance-ai/entities/instance-ai-workflow-snapshot.entity.d.ts +8 -0
  131. package/dist/modules/instance-ai/entities/instance-ai-workflow-snapshot.entity.js +41 -0
  132. package/dist/modules/instance-ai/entities/instance-ai-workflow-snapshot.entity.js.map +1 -0
  133. package/dist/modules/instance-ai/event-bus/in-process-event-bus.d.ts +19 -0
  134. package/dist/modules/instance-ai/event-bus/in-process-event-bus.js +98 -0
  135. package/dist/modules/instance-ai/event-bus/in-process-event-bus.js.map +1 -0
  136. package/dist/modules/instance-ai/filesystem/index.d.ts +4 -0
  137. package/dist/modules/instance-ai/filesystem/index.js +10 -0
  138. package/dist/modules/instance-ai/filesystem/index.js.map +1 -0
  139. package/dist/modules/instance-ai/filesystem/local-fs-provider.d.ts +26 -0
  140. package/dist/modules/instance-ai/filesystem/local-fs-provider.js +321 -0
  141. package/dist/modules/instance-ai/filesystem/local-fs-provider.js.map +1 -0
  142. package/dist/modules/instance-ai/filesystem/local-gateway-registry.d.ts +29 -0
  143. package/dist/modules/instance-ai/filesystem/local-gateway-registry.js +137 -0
  144. package/dist/modules/instance-ai/filesystem/local-gateway-registry.js.map +1 -0
  145. package/dist/modules/instance-ai/filesystem/local-gateway.d.ts +35 -0
  146. package/dist/modules/instance-ai/filesystem/local-gateway.js +99 -0
  147. package/dist/modules/instance-ai/filesystem/local-gateway.js.map +1 -0
  148. package/dist/modules/instance-ai/instance-ai-memory.service.d.ts +36 -0
  149. package/dist/modules/instance-ai/instance-ai-memory.service.js +265 -0
  150. package/dist/modules/instance-ai/instance-ai-memory.service.js.map +1 -0
  151. package/dist/modules/instance-ai/instance-ai-settings.service.d.ts +55 -0
  152. package/dist/modules/instance-ai/instance-ai-settings.service.js +430 -0
  153. package/dist/modules/instance-ai/instance-ai-settings.service.js.map +1 -0
  154. package/dist/modules/instance-ai/instance-ai.adapter.service.d.ts +86 -0
  155. package/dist/modules/instance-ai/instance-ai.adapter.service.js +1731 -0
  156. package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -0
  157. package/dist/modules/instance-ai/instance-ai.controller.d.ts +102 -0
  158. package/dist/modules/instance-ai/instance-ai.controller.js +613 -0
  159. package/dist/modules/instance-ai/instance-ai.controller.js.map +1 -0
  160. package/dist/modules/instance-ai/instance-ai.module.d.ts +13 -0
  161. package/dist/modules/instance-ai/instance-ai.module.js +119 -0
  162. package/dist/modules/instance-ai/instance-ai.module.js.map +1 -0
  163. package/dist/modules/instance-ai/instance-ai.service.d.ts +132 -0
  164. package/dist/modules/instance-ai/instance-ai.service.js +1674 -0
  165. package/dist/modules/instance-ai/instance-ai.service.js.map +1 -0
  166. package/dist/modules/instance-ai/internal-messages.d.ts +2 -0
  167. package/dist/modules/instance-ai/internal-messages.js +11 -0
  168. package/dist/modules/instance-ai/internal-messages.js.map +1 -0
  169. package/dist/modules/instance-ai/message-parser.d.ts +12 -0
  170. package/dist/modules/instance-ai/message-parser.js +171 -0
  171. package/dist/modules/instance-ai/message-parser.js.map +1 -0
  172. package/dist/modules/instance-ai/node-definition-resolver.d.ts +19 -0
  173. package/dist/modules/instance-ai/node-definition-resolver.js +290 -0
  174. package/dist/modules/instance-ai/node-definition-resolver.js.map +1 -0
  175. package/dist/modules/instance-ai/repositories/index.d.ts +7 -0
  176. package/dist/modules/instance-ai/repositories/index.js +18 -0
  177. package/dist/modules/instance-ai/repositories/index.js.map +1 -0
  178. package/dist/modules/instance-ai/repositories/instance-ai-iteration-log.repository.d.ts +5 -0
  179. package/dist/modules/instance-ai/repositories/instance-ai-iteration-log.repository.js +26 -0
  180. package/dist/modules/instance-ai/repositories/instance-ai-iteration-log.repository.js.map +1 -0
  181. package/dist/modules/instance-ai/repositories/instance-ai-message.repository.d.ts +5 -0
  182. package/dist/modules/instance-ai/repositories/instance-ai-message.repository.js +26 -0
  183. package/dist/modules/instance-ai/repositories/instance-ai-message.repository.js.map +1 -0
  184. package/dist/modules/instance-ai/repositories/instance-ai-observational-memory.repository.d.ts +5 -0
  185. package/dist/modules/instance-ai/repositories/instance-ai-observational-memory.repository.js +26 -0
  186. package/dist/modules/instance-ai/repositories/instance-ai-observational-memory.repository.js.map +1 -0
  187. package/dist/modules/instance-ai/repositories/instance-ai-resource.repository.d.ts +5 -0
  188. package/dist/modules/instance-ai/repositories/instance-ai-resource.repository.js +26 -0
  189. package/dist/modules/instance-ai/repositories/instance-ai-resource.repository.js.map +1 -0
  190. package/dist/modules/instance-ai/repositories/instance-ai-run-snapshot.repository.d.ts +5 -0
  191. package/dist/modules/instance-ai/repositories/instance-ai-run-snapshot.repository.js +26 -0
  192. package/dist/modules/instance-ai/repositories/instance-ai-run-snapshot.repository.js.map +1 -0
  193. package/dist/modules/instance-ai/repositories/instance-ai-thread.repository.d.ts +5 -0
  194. package/dist/modules/instance-ai/repositories/instance-ai-thread.repository.js +26 -0
  195. package/dist/modules/instance-ai/repositories/instance-ai-thread.repository.js.map +1 -0
  196. package/dist/modules/instance-ai/repositories/instance-ai-workflow-snapshot.repository.d.ts +5 -0
  197. package/dist/modules/instance-ai/repositories/instance-ai-workflow-snapshot.repository.js +26 -0
  198. package/dist/modules/instance-ai/repositories/instance-ai-workflow-snapshot.repository.js.map +1 -0
  199. package/dist/modules/instance-ai/snapshot-pruning.service.d.ts +14 -0
  200. package/dist/modules/instance-ai/snapshot-pruning.service.js +77 -0
  201. package/dist/modules/instance-ai/snapshot-pruning.service.js.map +1 -0
  202. package/dist/modules/instance-ai/storage/db-iteration-log-storage.d.ts +9 -0
  203. package/dist/modules/instance-ai/storage/db-iteration-log-storage.js +45 -0
  204. package/dist/modules/instance-ai/storage/db-iteration-log-storage.js.map +1 -0
  205. package/dist/modules/instance-ai/storage/db-snapshot-storage.d.ts +10 -0
  206. package/dist/modules/instance-ai/storage/db-snapshot-storage.js +74 -0
  207. package/dist/modules/instance-ai/storage/db-snapshot-storage.js.map +1 -0
  208. package/dist/modules/instance-ai/storage/index.d.ts +5 -0
  209. package/dist/modules/instance-ai/storage/index.js +14 -0
  210. package/dist/modules/instance-ai/storage/index.js.map +1 -0
  211. package/dist/modules/instance-ai/storage/typeorm-composite-store.d.ts +9 -0
  212. package/dist/modules/instance-ai/storage/typeorm-composite-store.js +33 -0
  213. package/dist/modules/instance-ai/storage/typeorm-composite-store.js.map +1 -0
  214. package/dist/modules/instance-ai/storage/typeorm-memory-storage.d.ts +96 -0
  215. package/dist/modules/instance-ai/storage/typeorm-memory-storage.js +853 -0
  216. package/dist/modules/instance-ai/storage/typeorm-memory-storage.js.map +1 -0
  217. package/dist/modules/instance-ai/storage/typeorm-workflows-storage.d.ts +44 -0
  218. package/dist/modules/instance-ai/storage/typeorm-workflows-storage.js +156 -0
  219. package/dist/modules/instance-ai/storage/typeorm-workflows-storage.js.map +1 -0
  220. package/dist/modules/instance-ai/web-research/brave-search.d.ts +10 -0
  221. package/dist/modules/instance-ai/web-research/brave-search.js +43 -0
  222. package/dist/modules/instance-ai/web-research/brave-search.js.map +1 -0
  223. package/dist/modules/instance-ai/web-research/cache.d.ts +13 -0
  224. package/dist/modules/instance-ai/web-research/cache.js +43 -0
  225. package/dist/modules/instance-ai/web-research/cache.js.map +1 -0
  226. package/dist/modules/instance-ai/web-research/fetch-and-extract.d.ts +8 -0
  227. package/dist/modules/instance-ai/web-research/fetch-and-extract.js +231 -0
  228. package/dist/modules/instance-ai/web-research/fetch-and-extract.js.map +1 -0
  229. package/dist/modules/instance-ai/web-research/index.d.ts +7 -0
  230. package/dist/modules/instance-ai/web-research/index.js +16 -0
  231. package/dist/modules/instance-ai/web-research/index.js.map +1 -0
  232. package/dist/modules/instance-ai/web-research/searxng-search.d.ts +6 -0
  233. package/dist/modules/instance-ai/web-research/searxng-search.js +39 -0
  234. package/dist/modules/instance-ai/web-research/searxng-search.js.map +1 -0
  235. package/dist/modules/instance-ai/web-research/ssrf-guard.d.ts +1 -0
  236. package/dist/modules/instance-ai/web-research/ssrf-guard.js +85 -0
  237. package/dist/modules/instance-ai/web-research/ssrf-guard.js.map +1 -0
  238. package/dist/modules/instance-ai/web-research/summarize-content.d.ts +4 -0
  239. package/dist/modules/instance-ai/web-research/summarize-content.js +34 -0
  240. package/dist/modules/instance-ai/web-research/summarize-content.js.map +1 -0
  241. package/dist/modules/instance-registry/instance-registry.types.d.ts +1 -0
  242. package/dist/modules/instance-registry/instance-registry.types.js +2 -1
  243. package/dist/modules/instance-registry/instance-registry.types.js.map +1 -1
  244. package/dist/modules/instance-registry/storage/instance-storage.interface.d.ts +1 -0
  245. package/dist/modules/instance-registry/storage/lua-scripts.d.ts +4 -0
  246. package/dist/modules/instance-registry/storage/lua-scripts.js +39 -0
  247. package/dist/modules/instance-registry/storage/lua-scripts.js.map +1 -0
  248. package/dist/modules/instance-registry/storage/memory-storage.d.ts +16 -0
  249. package/dist/modules/instance-registry/storage/memory-storage.js +42 -0
  250. package/dist/modules/instance-registry/storage/memory-storage.js.map +1 -0
  251. package/dist/modules/instance-registry/storage/redis-instance-storage.d.ts +25 -0
  252. package/dist/modules/instance-registry/storage/redis-instance-storage.js +185 -0
  253. package/dist/modules/instance-registry/storage/redis-instance-storage.js.map +1 -0
  254. package/dist/modules/log-streaming.ee/log-streaming.controller.js.map +1 -1
  255. package/dist/modules/mcp/mcp-oauth-service.d.ts +1 -1
  256. package/dist/modules/mcp/mcp-oauth-service.js +5 -1
  257. package/dist/modules/mcp/mcp-oauth-service.js.map +1 -1
  258. package/dist/modules/mcp/mcp.errors.js +1 -1
  259. package/dist/modules/mcp/mcp.oauth-clients.controller.js +1 -1
  260. package/dist/modules/mcp/mcp.oauth-clients.controller.js.map +1 -1
  261. package/dist/modules/mcp/mcp.service.d.ts +5 -1
  262. package/dist/modules/mcp/mcp.service.js +33 -5
  263. package/dist/modules/mcp/mcp.service.js.map +1 -1
  264. package/dist/modules/mcp/mcp.types.d.ts +1 -1
  265. package/dist/modules/mcp/tools/data-table/add-data-table-column.tool.d.ts +13 -0
  266. package/dist/modules/mcp/tools/data-table/add-data-table-column.tool.js +69 -0
  267. package/dist/modules/mcp/tools/data-table/add-data-table-column.tool.js.map +1 -0
  268. package/dist/modules/mcp/tools/data-table/add-data-table-rows.tool.d.ts +12 -0
  269. package/dist/modules/mcp/tools/data-table/add-data-table-rows.tool.js +77 -0
  270. package/dist/modules/mcp/tools/data-table/add-data-table-rows.tool.js.map +1 -0
  271. package/dist/modules/mcp/tools/data-table/create-data-table.tool.d.ts +21 -0
  272. package/dist/modules/mcp/tools/data-table/create-data-table.tool.js +92 -0
  273. package/dist/modules/mcp/tools/data-table/create-data-table.tool.js.map +1 -0
  274. package/dist/modules/mcp/tools/data-table/delete-data-table-column.tool.d.ts +12 -0
  275. package/dist/modules/mcp/tools/data-table/delete-data-table-column.tool.js +60 -0
  276. package/dist/modules/mcp/tools/data-table/delete-data-table-column.tool.js.map +1 -0
  277. package/dist/modules/mcp/tools/data-table/index.d.ts +7 -0
  278. package/dist/modules/mcp/tools/data-table/index.js +18 -0
  279. package/dist/modules/mcp/tools/data-table/index.js.map +1 -0
  280. package/dist/modules/mcp/tools/data-table/rename-data-table-column.tool.d.ts +13 -0
  281. package/dist/modules/mcp/tools/data-table/rename-data-table-column.tool.js +70 -0
  282. package/dist/modules/mcp/tools/data-table/rename-data-table-column.tool.js.map +1 -0
  283. package/dist/modules/mcp/tools/data-table/rename-data-table.tool.d.ts +12 -0
  284. package/dist/modules/mcp/tools/data-table/rename-data-table.tool.js +60 -0
  285. package/dist/modules/mcp/tools/data-table/rename-data-table.tool.js.map +1 -0
  286. package/dist/modules/mcp/tools/data-table/search-data-tables.tool.d.ts +12 -0
  287. package/dist/modules/mcp/tools/data-table/search-data-tables.tool.js +93 -0
  288. package/dist/modules/mcp/tools/data-table/search-data-tables.tool.js.map +1 -0
  289. package/dist/modules/mcp/tools/execute-workflow.tool.d.ts +3 -4
  290. package/dist/modules/mcp/tools/execute-workflow.tool.js +15 -66
  291. package/dist/modules/mcp/tools/execute-workflow.tool.js.map +1 -1
  292. package/dist/modules/mcp/tools/execution-utils.d.ts +5 -0
  293. package/dist/modules/mcp/tools/execution-utils.js +45 -0
  294. package/dist/modules/mcp/tools/execution-utils.js.map +1 -0
  295. package/dist/modules/mcp/tools/get-execution.tool.js +4 -8
  296. package/dist/modules/mcp/tools/get-execution.tool.js.map +1 -1
  297. package/dist/modules/mcp/tools/prepare-workflow-pin-data.tool.d.ts +31 -0
  298. package/dist/modules/mcp/tools/prepare-workflow-pin-data.tool.js +165 -0
  299. package/dist/modules/mcp/tools/prepare-workflow-pin-data.tool.js.map +1 -0
  300. package/dist/modules/mcp/tools/schemas.d.ts +73 -2
  301. package/dist/modules/mcp/tools/schemas.js +41 -1
  302. package/dist/modules/mcp/tools/schemas.js.map +1 -1
  303. package/dist/modules/mcp/tools/search-folders.tool.js +2 -7
  304. package/dist/modules/mcp/tools/search-folders.tool.js.map +1 -1
  305. package/dist/modules/mcp/tools/search-projects.tool.js +2 -7
  306. package/dist/modules/mcp/tools/search-projects.tool.js.map +1 -1
  307. package/dist/modules/mcp/tools/search-workflows.tool.js +2 -7
  308. package/dist/modules/mcp/tools/search-workflows.tool.js.map +1 -1
  309. package/dist/modules/mcp/tools/test-workflow.tool.d.ts +31 -0
  310. package/dist/modules/mcp/tools/test-workflow.tool.js +178 -0
  311. package/dist/modules/mcp/tools/test-workflow.tool.js.map +1 -0
  312. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js +1 -0
  313. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js.map +1 -1
  314. package/dist/modules/mcp/tools/workflow-builder/credentials-auto-assign.d.ts +2 -1
  315. package/dist/modules/mcp/tools/workflow-builder/credentials-auto-assign.js +15 -0
  316. package/dist/modules/mcp/tools/workflow-builder/credentials-auto-assign.js.map +1 -1
  317. package/dist/modules/mcp/tools/workflow-builder/get-suggested-workflow-nodes.tool.js +1 -37
  318. package/dist/modules/mcp/tools/workflow-builder/get-suggested-workflow-nodes.tool.js.map +1 -1
  319. package/dist/modules/mcp/tools/workflow-builder/get-workflow-node-types.tool.js +1 -37
  320. package/dist/modules/mcp/tools/workflow-builder/get-workflow-node-types.tool.js.map +1 -1
  321. package/dist/modules/mcp/tools/workflow-builder/search-workflow-nodes.tool.js +1 -37
  322. package/dist/modules/mcp/tools/workflow-builder/search-workflow-nodes.tool.js.map +1 -1
  323. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js +1 -0
  324. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js.map +1 -1
  325. package/dist/modules/mcp/tools/workflow-builder/workflow-builder-tools.service.d.ts +17 -0
  326. package/dist/modules/mcp/tools/workflow-builder/workflow-builder-tools.service.js +48 -0
  327. package/dist/modules/mcp/tools/workflow-builder/workflow-builder-tools.service.js.map +1 -1
  328. package/dist/modules/otel/handlers/interfaces.d.ts +5 -0
  329. package/dist/modules/otel/handlers/interfaces.js +3 -0
  330. package/dist/modules/otel/handlers/interfaces.js.map +1 -0
  331. package/dist/modules/otel/handlers/node-end.handler.d.ts +8 -0
  332. package/dist/modules/otel/handlers/node-end.handler.js +71 -0
  333. package/dist/modules/otel/handlers/node-end.handler.js.map +1 -0
  334. package/dist/modules/otel/handlers/node-start.handler.d.ts +7 -0
  335. package/dist/modules/otel/handlers/node-start.handler.js +37 -0
  336. package/dist/modules/otel/handlers/node-start.handler.js.map +1 -0
  337. package/dist/modules/otel/handlers/workflow-end.handler.d.ts +8 -0
  338. package/dist/modules/otel/handlers/workflow-end.handler.js +73 -0
  339. package/dist/modules/otel/handlers/workflow-end.handler.js.map +1 -0
  340. package/dist/modules/otel/handlers/workflow-start.handler.d.ts +7 -0
  341. package/dist/modules/otel/handlers/workflow-start.handler.js +29 -0
  342. package/dist/modules/otel/handlers/workflow-start.handler.js.map +1 -0
  343. package/dist/modules/otel/n8n-instrumentation.d.ts +21 -0
  344. package/dist/modules/otel/n8n-instrumentation.js +103 -0
  345. package/dist/modules/otel/n8n-instrumentation.js.map +1 -0
  346. package/dist/modules/otel/otel.config.d.ts +10 -0
  347. package/dist/modules/otel/otel.config.js +62 -0
  348. package/dist/modules/otel/otel.config.js.map +1 -0
  349. package/dist/modules/otel/otel.constants.d.ts +22 -0
  350. package/dist/modules/otel/otel.constants.js +27 -0
  351. package/dist/modules/otel/otel.constants.js.map +1 -0
  352. package/dist/modules/otel/otel.module.d.ts +5 -0
  353. package/dist/modules/otel/otel.module.js +80 -0
  354. package/dist/modules/otel/otel.module.js.map +1 -0
  355. package/dist/modules/otel/otel.service.d.ts +18 -0
  356. package/dist/modules/otel/otel.service.js +120 -0
  357. package/dist/modules/otel/otel.service.js.map +1 -0
  358. package/dist/modules/otel/span-registry.d.ts +14 -0
  359. package/dist/modules/otel/span-registry.js +58 -0
  360. package/dist/modules/otel/span-registry.js.map +1 -0
  361. package/dist/modules/provisioning.ee/provisioning.module.js +1 -0
  362. package/dist/modules/provisioning.ee/provisioning.module.js.map +1 -1
  363. package/dist/modules/provisioning.ee/provisioning.service.ee.d.ts +13 -2
  364. package/dist/modules/provisioning.ee/provisioning.service.ee.js +145 -2
  365. package/dist/modules/provisioning.ee/provisioning.service.ee.js.map +1 -1
  366. package/dist/modules/provisioning.ee/role-mapping-rule.controller.ee.d.ts +18 -0
  367. package/dist/modules/provisioning.ee/role-mapping-rule.controller.ee.js +105 -0
  368. package/dist/modules/provisioning.ee/role-mapping-rule.controller.ee.js.map +1 -0
  369. package/dist/modules/provisioning.ee/role-mapping-rule.service.ee.d.ts +34 -0
  370. package/dist/modules/provisioning.ee/role-mapping-rule.service.ee.js +221 -0
  371. package/dist/modules/provisioning.ee/role-mapping-rule.service.ee.js.map +1 -0
  372. package/dist/modules/provisioning.ee/role-mapping-rule.validation.d.ts +3 -0
  373. package/dist/modules/provisioning.ee/role-mapping-rule.validation.js +29 -0
  374. package/dist/modules/provisioning.ee/role-mapping-rule.validation.js.map +1 -0
  375. package/dist/modules/redaction/executions/execution-redaction.service.d.ts +3 -2
  376. package/dist/modules/redaction/executions/execution-redaction.service.js +5 -1
  377. package/dist/modules/redaction/executions/execution-redaction.service.js.map +1 -1
  378. package/dist/modules/redaction/redaction.module.js +0 -6
  379. package/dist/modules/redaction/redaction.module.js.map +1 -1
  380. package/dist/modules/source-control.ee/source-control-import.service.ee.js +6 -0
  381. package/dist/modules/source-control.ee/source-control-import.service.ee.js.map +1 -1
  382. package/dist/modules/source-control.ee/types/source-control-preferences.js +3 -0
  383. package/dist/modules/source-control.ee/types/source-control-preferences.js.map +1 -1
  384. package/dist/modules/sso-oidc/oidc.controller.ee.d.ts +4 -1
  385. package/dist/modules/sso-oidc/oidc.controller.ee.js +39 -3
  386. package/dist/modules/sso-oidc/oidc.controller.ee.js.map +1 -1
  387. package/dist/modules/sso-oidc/oidc.service.ee.d.ts +14 -2
  388. package/dist/modules/sso-oidc/oidc.service.ee.js +86 -8
  389. package/dist/modules/sso-oidc/oidc.service.ee.js.map +1 -1
  390. package/dist/modules/sso-oidc/views/oidc-test-result.d.ts +5 -0
  391. package/dist/modules/sso-oidc/views/oidc-test-result.js +58 -0
  392. package/dist/modules/sso-oidc/views/oidc-test-result.js.map +1 -0
  393. package/dist/modules/sso-saml/saml-helpers.d.ts +1 -0
  394. package/dist/modules/sso-saml/saml-helpers.js +2 -0
  395. package/dist/modules/sso-saml/saml-helpers.js.map +1 -1
  396. package/dist/modules/sso-saml/saml.service.ee.d.ts +4 -1
  397. package/dist/modules/sso-saml/saml.service.ee.js +13 -7
  398. package/dist/modules/sso-saml/saml.service.ee.js.map +1 -1
  399. package/dist/modules/token-exchange/controllers/embed-auth.controller.d.ts +15 -0
  400. package/dist/modules/token-exchange/controllers/embed-auth.controller.js +67 -0
  401. package/dist/modules/token-exchange/controllers/embed-auth.controller.js.map +1 -0
  402. package/dist/modules/token-exchange/database/entities/token-exchange-jti.entity.d.ts +5 -0
  403. package/dist/modules/token-exchange/database/entities/token-exchange-jti.entity.js +33 -0
  404. package/dist/modules/token-exchange/database/entities/token-exchange-jti.entity.js.map +1 -0
  405. package/dist/modules/token-exchange/database/repositories/token-exchange-jti.repository.d.ts +10 -0
  406. package/dist/modules/token-exchange/database/repositories/token-exchange-jti.repository.js +106 -0
  407. package/dist/modules/token-exchange/database/repositories/token-exchange-jti.repository.js.map +1 -0
  408. package/dist/modules/token-exchange/services/identity-resolution.service.d.ts +5 -0
  409. package/dist/modules/token-exchange/services/identity-resolution.service.js +21 -0
  410. package/dist/modules/token-exchange/services/identity-resolution.service.js.map +1 -0
  411. package/dist/modules/token-exchange/services/jti-cleanup.service.d.ts +18 -0
  412. package/dist/modules/token-exchange/services/jti-cleanup.service.js +90 -0
  413. package/dist/modules/token-exchange/services/jti-cleanup.service.js.map +1 -0
  414. package/dist/modules/token-exchange/services/jti-store.service.d.ts +6 -0
  415. package/dist/modules/token-exchange/services/jti-store.service.js +30 -0
  416. package/dist/modules/token-exchange/services/jti-store.service.js.map +1 -0
  417. package/dist/modules/token-exchange/services/token-exchange.service.d.ts +17 -0
  418. package/dist/modules/token-exchange/services/token-exchange.service.js +93 -0
  419. package/dist/modules/token-exchange/services/token-exchange.service.js.map +1 -0
  420. package/dist/modules/token-exchange/services/trusted-key.service.d.ts +13 -0
  421. package/dist/modules/token-exchange/services/trusted-key.service.js +123 -0
  422. package/dist/modules/token-exchange/services/trusted-key.service.js.map +1 -0
  423. package/dist/modules/token-exchange/token-exchange.config.d.ts +7 -0
  424. package/dist/modules/token-exchange/token-exchange.config.js +47 -0
  425. package/dist/modules/token-exchange/token-exchange.config.js.map +1 -0
  426. package/dist/modules/token-exchange/token-exchange.controller.d.ts +9 -0
  427. package/dist/modules/token-exchange/token-exchange.controller.js +103 -0
  428. package/dist/modules/token-exchange/token-exchange.controller.js.map +1 -0
  429. package/dist/modules/token-exchange/token-exchange.module.d.ts +5 -0
  430. package/dist/modules/token-exchange/token-exchange.module.js +74 -0
  431. package/dist/modules/token-exchange/token-exchange.module.js.map +1 -0
  432. package/dist/modules/token-exchange/token-exchange.schemas.d.ts +131 -0
  433. package/dist/modules/token-exchange/token-exchange.schemas.js +60 -0
  434. package/dist/modules/token-exchange/token-exchange.schemas.js.map +1 -0
  435. package/dist/modules/token-exchange/token-exchange.service.d.ts +9 -0
  436. package/dist/modules/token-exchange/token-exchange.service.js +66 -0
  437. package/dist/modules/token-exchange/token-exchange.service.js.map +1 -0
  438. package/dist/modules/token-exchange/token-exchange.types.d.ts +50 -0
  439. package/dist/modules/token-exchange/token-exchange.types.js +3 -0
  440. package/dist/modules/token-exchange/token-exchange.types.js.map +1 -0
  441. package/dist/modules/workflow-builder/workflow-builder-session.entity.d.ts +4 -0
  442. package/dist/modules/workflow-builder/workflow-builder-session.entity.js +8 -0
  443. package/dist/modules/workflow-builder/workflow-builder-session.entity.js.map +1 -1
  444. package/dist/modules/workflow-builder/workflow-builder-session.repository.js +14 -2
  445. package/dist/modules/workflow-builder/workflow-builder-session.repository.js.map +1 -1
  446. package/dist/modules/workflow-index/workflow-dependency-query.service.js +26 -3
  447. package/dist/modules/workflow-index/workflow-dependency-query.service.js.map +1 -1
  448. package/dist/modules/workflow-index/workflow-index.service.d.ts +1 -0
  449. package/dist/modules/workflow-index/workflow-index.service.js +15 -3
  450. package/dist/modules/workflow-index/workflow-index.service.js.map +1 -1
  451. package/dist/posthog/index.d.ts +1 -0
  452. package/dist/posthog/index.js +32 -8
  453. package/dist/posthog/index.js.map +1 -1
  454. package/dist/public-api/index.js +5 -5
  455. package/dist/public-api/index.js.map +1 -1
  456. package/dist/public-api/types.d.ts +17 -0
  457. package/dist/public-api/v1/handlers/community-packages/community-packages.handler.d.ts +18 -0
  458. package/dist/public-api/v1/handlers/community-packages/community-packages.handler.js +71 -0
  459. package/dist/public-api/v1/handlers/community-packages/community-packages.handler.js.map +1 -0
  460. package/dist/public-api/v1/handlers/community-packages/community-packages.mapper.d.ts +27 -0
  461. package/dist/public-api/v1/handlers/community-packages/community-packages.mapper.js +35 -0
  462. package/dist/public-api/v1/handlers/community-packages/community-packages.mapper.js.map +1 -0
  463. package/dist/public-api/v1/handlers/credentials/credentials.handler.js +6 -5
  464. package/dist/public-api/v1/handlers/credentials/credentials.handler.js.map +1 -1
  465. package/dist/public-api/v1/handlers/credentials/credentials.service.d.ts +2 -2
  466. package/dist/public-api/v1/handlers/credentials/credentials.service.js +3 -6
  467. package/dist/public-api/v1/handlers/credentials/credentials.service.js.map +1 -1
  468. package/dist/public-api/v1/handlers/executions/executions.handler.js +48 -4
  469. package/dist/public-api/v1/handlers/executions/executions.handler.js.map +1 -1
  470. package/dist/public-api/v1/handlers/workflows/workflows.handler.d.ts +8 -0
  471. package/dist/public-api/v1/handlers/workflows/workflows.handler.js +44 -0
  472. package/dist/public-api/v1/handlers/workflows/workflows.handler.js.map +1 -1
  473. package/dist/public-api/v1/openapi.yml +262 -3
  474. package/dist/public-api/v1/public-api-error-response.d.ts +2 -0
  475. package/dist/public-api/v1/public-api-error-response.js +11 -0
  476. package/dist/public-api/v1/public-api-error-response.js.map +1 -0
  477. package/dist/push/abstract.push.d.ts +1 -0
  478. package/dist/push/abstract.push.js +3 -0
  479. package/dist/push/abstract.push.js.map +1 -1
  480. package/dist/push/sse.push.js +5 -1
  481. package/dist/push/sse.push.js.map +1 -1
  482. package/dist/push/websocket.push.js +3 -1
  483. package/dist/push/websocket.push.js.map +1 -1
  484. package/dist/response-helper.js +6 -29
  485. package/dist/response-helper.js.map +1 -1
  486. package/dist/scaling/job-processor.js +3 -0
  487. package/dist/scaling/job-processor.js.map +1 -1
  488. package/dist/scaling/pubsub/subscriber.service.d.ts +2 -0
  489. package/dist/scaling/pubsub/subscriber.service.js +17 -8
  490. package/dist/scaling/pubsub/subscriber.service.js.map +1 -1
  491. package/dist/scaling/redis/redis.types.d.ts +1 -1
  492. package/dist/scaling/scaling.service.js +1 -2
  493. package/dist/scaling/scaling.service.js.map +1 -1
  494. package/dist/scaling/worker-server.js +1 -1
  495. package/dist/scaling/worker-server.js.map +1 -1
  496. package/dist/services/ai-workflow-builder.service.d.ts +2 -2
  497. package/dist/services/ai-workflow-builder.service.js +5 -8
  498. package/dist/services/ai-workflow-builder.service.js.map +1 -1
  499. package/dist/services/ai.service.d.ts +4 -0
  500. package/dist/services/ai.service.js +20 -18
  501. package/dist/services/ai.service.js.map +1 -1
  502. package/dist/services/auth-strategy.registry.d.ts +7 -0
  503. package/dist/services/auth-strategy.registry.js +32 -0
  504. package/dist/services/auth-strategy.registry.js.map +1 -0
  505. package/dist/services/auth-strategy.types.d.ts +4 -0
  506. package/dist/services/auth-strategy.types.js +3 -0
  507. package/dist/services/auth-strategy.types.js.map +1 -0
  508. package/dist/services/credentials-tester.service.js +2 -0
  509. package/dist/services/credentials-tester.service.js.map +1 -1
  510. package/dist/services/db-clock.service.d.ts +10 -0
  511. package/dist/services/db-clock.service.js +48 -0
  512. package/dist/services/db-clock.service.js.map +1 -0
  513. package/dist/services/frontend.service.js +4 -1
  514. package/dist/services/frontend.service.js.map +1 -1
  515. package/dist/utils/health-endpoint.util.d.ts +2 -1
  516. package/dist/utils/health-endpoint.util.js +11 -3
  517. package/dist/utils/health-endpoint.util.js.map +1 -1
  518. package/dist/wait-tracker.d.ts +6 -2
  519. package/dist/wait-tracker.js +94 -63
  520. package/dist/wait-tracker.js.map +1 -1
  521. package/dist/webhooks/live-webhooks.js +24 -18
  522. package/dist/webhooks/live-webhooks.js.map +1 -1
  523. package/dist/webhooks/test-webhooks.js +96 -78
  524. package/dist/webhooks/test-webhooks.js.map +1 -1
  525. package/dist/webhooks/waiting-forms.js +3 -1
  526. package/dist/webhooks/waiting-forms.js.map +1 -1
  527. package/dist/webhooks/waiting-webhooks.js +27 -21
  528. package/dist/webhooks/waiting-webhooks.js.map +1 -1
  529. package/dist/webhooks/webhook-helpers.js +21 -6
  530. package/dist/webhooks/webhook-helpers.js.map +1 -1
  531. package/dist/webhooks/webhook-last-node-response-extractor.d.ts +5 -2
  532. package/dist/webhooks/webhook-last-node-response-extractor.js +5 -8
  533. package/dist/webhooks/webhook-last-node-response-extractor.js.map +1 -1
  534. package/dist/webhooks/webhook-request-handler.js +1 -1
  535. package/dist/webhooks/webhook-request-handler.js.map +1 -1
  536. package/dist/workflows/workflow-creation.service.js +4 -0
  537. package/dist/workflows/workflow-creation.service.js.map +1 -1
  538. package/dist/workflows/workflow-execution.service.js +1 -1
  539. package/dist/workflows/workflow-execution.service.js.map +1 -1
  540. package/dist/workflows/workflow-history/workflow-history.service.js +1 -0
  541. package/dist/workflows/workflow-history/workflow-history.service.js.map +1 -1
  542. package/dist/workflows/workflow-validation.service.js +3 -3
  543. package/dist/workflows/workflow-validation.service.js.map +1 -1
  544. package/dist/workflows/workflow.service.d.ts +6 -1
  545. package/dist/workflows/workflow.service.js +34 -7
  546. package/dist/workflows/workflow.service.js.map +1 -1
  547. package/dist/workflows/workflows.controller.d.ts +2 -2
  548. package/package.json +39 -29
@@ -0,0 +1,430 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var InstanceAiSettingsService_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.InstanceAiSettingsService = void 0;
14
+ const config_1 = require("@n8n/config");
15
+ const db_1 = require("@n8n/db");
16
+ const di_1 = require("@n8n/di");
17
+ const api_types_1 = require("@n8n/api-types");
18
+ const n8n_workflow_1 = require("n8n-workflow");
19
+ const ai_service_1 = require("../../services/ai.service");
20
+ const credentials_finder_service_1 = require("../../credentials/credentials-finder.service");
21
+ const credentials_service_1 = require("../../credentials/credentials.service");
22
+ const unprocessable_error_1 = require("../../errors/response-errors/unprocessable.error");
23
+ const ADMIN_SETTINGS_KEY = 'instanceAi.settings';
24
+ const USER_PREFERENCES_KEY_PREFIX = 'instanceAi.preferences.';
25
+ const CREDENTIAL_TO_MASTRA_PROVIDER = {
26
+ openAiApi: 'openai',
27
+ anthropicApi: 'anthropic',
28
+ googlePalmApi: 'google',
29
+ ollamaApi: 'ollama',
30
+ groqApi: 'groq',
31
+ deepSeekApi: 'deepseek',
32
+ mistralCloudApi: 'mistral',
33
+ xAiApi: 'xai',
34
+ openRouterApi: 'openrouter',
35
+ cohereApi: 'cohere',
36
+ };
37
+ const SUPPORTED_CREDENTIAL_TYPES = Object.keys(CREDENTIAL_TO_MASTRA_PROVIDER);
38
+ const URL_FIELD_MAP = {
39
+ openAiApi: 'url',
40
+ anthropicApi: 'url',
41
+ googlePalmApi: 'host',
42
+ ollamaApi: 'baseUrl',
43
+ };
44
+ const SANDBOX_CREDENTIAL_TYPES = ['daytonaApi', 'httpHeaderAuth'];
45
+ const SEARCH_CREDENTIAL_TYPES = ['braveSearchApi', 'searXngApi'];
46
+ const SERVICE_CREDENTIAL_TYPES = [...SANDBOX_CREDENTIAL_TYPES, ...SEARCH_CREDENTIAL_TYPES];
47
+ let InstanceAiSettingsService = InstanceAiSettingsService_1 = class InstanceAiSettingsService {
48
+ constructor(globalConfig, settingsRepository, aiService, credentialsService, credentialsFinderService) {
49
+ this.settingsRepository = settingsRepository;
50
+ this.aiService = aiService;
51
+ this.credentialsService = credentialsService;
52
+ this.credentialsFinderService = credentialsFinderService;
53
+ this.permissions = { ...api_types_1.DEFAULT_INSTANCE_AI_PERMISSIONS };
54
+ this.adminDaytonaCredentialId = null;
55
+ this.adminN8nSandboxCredentialId = null;
56
+ this.adminSearchCredentialId = null;
57
+ this.userPreferences = new Map();
58
+ this.config = globalConfig.instanceAi;
59
+ }
60
+ isProxyEnabled() {
61
+ return this.aiService.isProxyEnabled();
62
+ }
63
+ async loadFromDb() {
64
+ const row = await this.settingsRepository.findByKey(ADMIN_SETTINGS_KEY);
65
+ if (!row)
66
+ return;
67
+ const persisted = (0, n8n_workflow_1.jsonParse)(row.value, {
68
+ fallbackValue: {},
69
+ });
70
+ this.applyAdminSettings(persisted);
71
+ }
72
+ getAdminSettings() {
73
+ const c = this.config;
74
+ return {
75
+ lastMessages: c.lastMessages,
76
+ embedderModel: c.embedderModel,
77
+ semanticRecallTopK: c.semanticRecallTopK,
78
+ subAgentMaxSteps: c.subAgentMaxSteps,
79
+ browserMcp: c.browserMcp,
80
+ permissions: { ...this.permissions },
81
+ mcpServers: c.mcpServers,
82
+ sandboxEnabled: c.sandboxEnabled,
83
+ sandboxProvider: c.sandboxProvider,
84
+ sandboxImage: c.sandboxImage,
85
+ sandboxTimeout: c.sandboxTimeout,
86
+ daytonaCredentialId: this.adminDaytonaCredentialId,
87
+ n8nSandboxCredentialId: this.adminN8nSandboxCredentialId,
88
+ searchCredentialId: this.adminSearchCredentialId,
89
+ localGatewayDisabled: this.isLocalGatewayDisabled(),
90
+ };
91
+ }
92
+ async updateAdminSettings(update) {
93
+ if (this.aiService.isProxyEnabled()) {
94
+ this.rejectProxyManagedFields(update, InstanceAiSettingsService_1.PROXY_MANAGED_ADMIN_FIELDS);
95
+ }
96
+ const c = this.config;
97
+ if (update.lastMessages !== undefined)
98
+ c.lastMessages = update.lastMessages;
99
+ if (update.embedderModel !== undefined)
100
+ c.embedderModel = update.embedderModel;
101
+ if (update.semanticRecallTopK !== undefined)
102
+ c.semanticRecallTopK = update.semanticRecallTopK;
103
+ if (update.subAgentMaxSteps !== undefined)
104
+ c.subAgentMaxSteps = update.subAgentMaxSteps;
105
+ if (update.browserMcp !== undefined)
106
+ c.browserMcp = update.browserMcp;
107
+ if (update.permissions) {
108
+ this.permissions = { ...this.permissions, ...update.permissions };
109
+ }
110
+ if (update.mcpServers !== undefined)
111
+ c.mcpServers = update.mcpServers;
112
+ if (update.sandboxEnabled !== undefined)
113
+ c.sandboxEnabled = update.sandboxEnabled;
114
+ if (update.sandboxProvider !== undefined)
115
+ c.sandboxProvider = update.sandboxProvider;
116
+ if (update.sandboxImage !== undefined)
117
+ c.sandboxImage = update.sandboxImage;
118
+ if (update.sandboxTimeout !== undefined)
119
+ c.sandboxTimeout = update.sandboxTimeout;
120
+ if (update.daytonaCredentialId !== undefined)
121
+ this.adminDaytonaCredentialId = update.daytonaCredentialId;
122
+ if (update.n8nSandboxCredentialId !== undefined)
123
+ this.adminN8nSandboxCredentialId = update.n8nSandboxCredentialId;
124
+ if (update.searchCredentialId !== undefined)
125
+ this.adminSearchCredentialId = update.searchCredentialId;
126
+ if (update.localGatewayDisabled !== undefined)
127
+ c.localGatewayDisabled = update.localGatewayDisabled;
128
+ await this.persistAdminSettings();
129
+ return this.getAdminSettings();
130
+ }
131
+ async getUserPreferences(user) {
132
+ const prefs = await this.loadUserPreferences(user.id);
133
+ const credentialId = prefs.credentialId ?? null;
134
+ let credentialType = null;
135
+ let credentialName = null;
136
+ if (credentialId) {
137
+ const cred = await this.credentialsFinderService.findCredentialForUser(credentialId, user, [
138
+ 'credential:read',
139
+ ]);
140
+ if (cred) {
141
+ credentialType = cred.type;
142
+ credentialName = cred.name;
143
+ }
144
+ }
145
+ return {
146
+ credentialId,
147
+ credentialType,
148
+ credentialName,
149
+ modelName: prefs.modelName || this.extractModelName(this.config.model),
150
+ localGatewayDisabled: this.config.localGatewayDisabled || (prefs.localGatewayDisabled ?? false),
151
+ };
152
+ }
153
+ async updateUserPreferences(user, update) {
154
+ if (this.aiService.isProxyEnabled()) {
155
+ this.rejectProxyManagedFields(update, InstanceAiSettingsService_1.PROXY_MANAGED_PREFERENCE_FIELDS);
156
+ }
157
+ const prefs = await this.loadUserPreferences(user.id);
158
+ if (update.credentialId !== undefined)
159
+ prefs.credentialId = update.credentialId;
160
+ if (update.modelName !== undefined)
161
+ prefs.modelName = update.modelName;
162
+ if (update.localGatewayDisabled !== undefined)
163
+ prefs.localGatewayDisabled = update.localGatewayDisabled;
164
+ this.userPreferences.set(user.id, prefs);
165
+ await this.persistUserPreferences(user.id, prefs);
166
+ return await this.getUserPreferences(user);
167
+ }
168
+ async listModelCredentials(user) {
169
+ if (this.aiService.isProxyEnabled())
170
+ return [];
171
+ const allCredentials = await this.credentialsFinderService.findCredentialsForUser(user, [
172
+ 'credential:read',
173
+ ]);
174
+ return allCredentials
175
+ .filter((c) => SUPPORTED_CREDENTIAL_TYPES.includes(c.type))
176
+ .map((c) => ({
177
+ id: c.id,
178
+ name: c.name,
179
+ type: c.type,
180
+ provider: CREDENTIAL_TO_MASTRA_PROVIDER[c.type] ?? 'custom',
181
+ }));
182
+ }
183
+ async listServiceCredentials(user) {
184
+ if (this.aiService.isProxyEnabled())
185
+ return [];
186
+ const allCredentials = await this.credentialsFinderService.findCredentialsForUser(user, [
187
+ 'credential:read',
188
+ ]);
189
+ return allCredentials
190
+ .filter((c) => SERVICE_CREDENTIAL_TYPES.includes(c.type))
191
+ .map((c) => ({
192
+ id: c.id,
193
+ name: c.name,
194
+ type: c.type,
195
+ provider: c.type,
196
+ }));
197
+ }
198
+ async resolveDaytonaConfig(user) {
199
+ const credentialId = this.adminDaytonaCredentialId;
200
+ if (!credentialId) {
201
+ const { daytonaApiUrl, daytonaApiKey } = this.config;
202
+ return {
203
+ apiUrl: daytonaApiUrl || undefined,
204
+ apiKey: daytonaApiKey || undefined,
205
+ };
206
+ }
207
+ const credential = await this.credentialsFinderService.findCredentialForUser(credentialId, user, ['credential:read']);
208
+ if (!credential) {
209
+ return {};
210
+ }
211
+ const data = this.credentialsService.decrypt(credential, true);
212
+ return {
213
+ apiUrl: typeof data.apiUrl === 'string' ? data.apiUrl : undefined,
214
+ apiKey: typeof data.apiKey === 'string' ? data.apiKey : undefined,
215
+ };
216
+ }
217
+ async resolveN8nSandboxConfig(user) {
218
+ const { n8nSandboxServiceUrl, n8nSandboxServiceApiKey } = this.config;
219
+ const credentialId = this.adminN8nSandboxCredentialId;
220
+ if (!credentialId) {
221
+ return {
222
+ serviceUrl: n8nSandboxServiceUrl || undefined,
223
+ apiKey: n8nSandboxServiceApiKey || undefined,
224
+ };
225
+ }
226
+ const credential = await this.credentialsFinderService.findCredentialForUser(credentialId, user, ['credential:read']);
227
+ if (!credential) {
228
+ return {
229
+ serviceUrl: n8nSandboxServiceUrl || undefined,
230
+ apiKey: n8nSandboxServiceApiKey || undefined,
231
+ };
232
+ }
233
+ const data = this.credentialsService.decrypt(credential, true);
234
+ const headerName = typeof data.name === 'string' ? data.name.trim().toLowerCase() : '';
235
+ const apiKey = typeof data.value === 'string' ? data.value : undefined;
236
+ return {
237
+ serviceUrl: n8nSandboxServiceUrl || undefined,
238
+ apiKey: headerName === 'x-api-key' ? apiKey : n8nSandboxServiceApiKey || undefined,
239
+ };
240
+ }
241
+ async resolveSearchConfig(user) {
242
+ const credentialId = this.adminSearchCredentialId;
243
+ if (!credentialId) {
244
+ const { braveSearchApiKey, searxngUrl } = this.config;
245
+ return {
246
+ braveApiKey: braveSearchApiKey || undefined,
247
+ searxngUrl: searxngUrl || undefined,
248
+ };
249
+ }
250
+ const credential = await this.credentialsFinderService.findCredentialForUser(credentialId, user, ['credential:read']);
251
+ if (!credential) {
252
+ return {};
253
+ }
254
+ const data = this.credentialsService.decrypt(credential, true);
255
+ if (credential.type === 'braveSearchApi') {
256
+ return { braveApiKey: typeof data.apiKey === 'string' ? data.apiKey : undefined };
257
+ }
258
+ if (credential.type === 'searXngApi') {
259
+ return { searxngUrl: typeof data.apiUrl === 'string' ? data.apiUrl : undefined };
260
+ }
261
+ return {};
262
+ }
263
+ getPermissions() {
264
+ return { ...this.permissions };
265
+ }
266
+ isLocalGatewayDisabledForUser(userId) {
267
+ if (this.config.localGatewayDisabled)
268
+ return true;
269
+ const prefs = this.userPreferences.get(userId);
270
+ return prefs?.localGatewayDisabled ?? false;
271
+ }
272
+ isLocalGatewayDisabled() {
273
+ return this.config.localGatewayDisabled;
274
+ }
275
+ async resolveModelName(user) {
276
+ const prefs = await this.loadUserPreferences(user.id);
277
+ return prefs.modelName || this.extractModelName(this.config.model);
278
+ }
279
+ async resolveModelConfig(user) {
280
+ const prefs = await this.loadUserPreferences(user.id);
281
+ const credentialId = prefs.credentialId ?? null;
282
+ if (!credentialId) {
283
+ return this.envVarModelConfig();
284
+ }
285
+ const credential = await this.credentialsFinderService.findCredentialForUser(credentialId, user, ['credential:read']);
286
+ if (!credential) {
287
+ return this.envVarModelConfig();
288
+ }
289
+ const provider = CREDENTIAL_TO_MASTRA_PROVIDER[credential.type];
290
+ if (!provider) {
291
+ return this.envVarModelConfig();
292
+ }
293
+ const data = this.credentialsService.decrypt(credential, true);
294
+ const apiKey = typeof data.apiKey === 'string' ? data.apiKey : '';
295
+ const urlField = URL_FIELD_MAP[credential.type];
296
+ const rawUrl = urlField ? data[urlField] : undefined;
297
+ const baseUrl = typeof rawUrl === 'string' ? rawUrl : '';
298
+ const modelName = prefs.modelName || this.extractModelName(this.config.model);
299
+ const id = `${provider}/${modelName}`;
300
+ if (baseUrl) {
301
+ return { id, url: baseUrl, ...(apiKey ? { apiKey } : {}) };
302
+ }
303
+ if (apiKey) {
304
+ return { id, url: '', apiKey };
305
+ }
306
+ return id;
307
+ }
308
+ rejectProxyManagedFields(update, managedFields) {
309
+ const present = managedFields.filter((key) => key in update && update[key] !== undefined);
310
+ if (present.length > 0) {
311
+ throw new unprocessable_error_1.UnprocessableRequestError(`Cannot update proxy-managed fields: ${present.join(', ')}`);
312
+ }
313
+ }
314
+ envVarModelConfig() {
315
+ const { model, modelUrl, modelApiKey } = this.config;
316
+ const id = model.includes('/')
317
+ ? model
318
+ : `custom/${model}`;
319
+ if (modelUrl) {
320
+ return { id, url: modelUrl, ...(modelApiKey ? { apiKey: modelApiKey } : {}) };
321
+ }
322
+ if (modelApiKey) {
323
+ return { id, url: '', apiKey: modelApiKey };
324
+ }
325
+ return model;
326
+ }
327
+ extractModelName(model) {
328
+ const slash = model.indexOf('/');
329
+ return slash >= 0 ? model.slice(slash + 1) : model;
330
+ }
331
+ applyAdminSettings(persisted) {
332
+ const c = this.config;
333
+ if (persisted.lastMessages !== undefined)
334
+ c.lastMessages = persisted.lastMessages;
335
+ if (persisted.embedderModel !== undefined)
336
+ c.embedderModel = persisted.embedderModel;
337
+ if (persisted.semanticRecallTopK !== undefined)
338
+ c.semanticRecallTopK = persisted.semanticRecallTopK;
339
+ if (persisted.subAgentMaxSteps !== undefined)
340
+ c.subAgentMaxSteps = persisted.subAgentMaxSteps;
341
+ if (persisted.browserMcp !== undefined)
342
+ c.browserMcp = persisted.browserMcp;
343
+ if (persisted.permissions) {
344
+ this.permissions = {
345
+ ...api_types_1.DEFAULT_INSTANCE_AI_PERMISSIONS,
346
+ ...persisted.permissions,
347
+ };
348
+ }
349
+ if (persisted.mcpServers !== undefined)
350
+ c.mcpServers = persisted.mcpServers;
351
+ if (persisted.sandboxEnabled !== undefined)
352
+ c.sandboxEnabled = persisted.sandboxEnabled;
353
+ if (persisted.sandboxProvider !== undefined)
354
+ c.sandboxProvider = persisted.sandboxProvider;
355
+ if (persisted.sandboxImage !== undefined)
356
+ c.sandboxImage = persisted.sandboxImage;
357
+ if (persisted.sandboxTimeout !== undefined)
358
+ c.sandboxTimeout = persisted.sandboxTimeout;
359
+ if (persisted.daytonaCredentialId !== undefined)
360
+ this.adminDaytonaCredentialId = persisted.daytonaCredentialId;
361
+ if (persisted.n8nSandboxCredentialId !== undefined)
362
+ this.adminN8nSandboxCredentialId = persisted.n8nSandboxCredentialId;
363
+ if (persisted.searchCredentialId !== undefined)
364
+ this.adminSearchCredentialId = persisted.searchCredentialId;
365
+ if (persisted.localGatewayDisabled !== undefined)
366
+ c.localGatewayDisabled = persisted.localGatewayDisabled;
367
+ }
368
+ async loadUserPreferences(userId) {
369
+ const cached = this.userPreferences.get(userId);
370
+ if (cached)
371
+ return { ...cached };
372
+ const row = await this.settingsRepository.findByKey(`${USER_PREFERENCES_KEY_PREFIX}${userId}`);
373
+ if (row) {
374
+ const prefs = (0, n8n_workflow_1.jsonParse)(row.value, { fallbackValue: {} });
375
+ this.userPreferences.set(userId, prefs);
376
+ return { ...prefs };
377
+ }
378
+ return {};
379
+ }
380
+ async persistAdminSettings() {
381
+ const c = this.config;
382
+ const value = {
383
+ lastMessages: c.lastMessages,
384
+ embedderModel: c.embedderModel,
385
+ semanticRecallTopK: c.semanticRecallTopK,
386
+ subAgentMaxSteps: c.subAgentMaxSteps,
387
+ browserMcp: c.browserMcp,
388
+ permissions: this.permissions,
389
+ mcpServers: c.mcpServers,
390
+ sandboxEnabled: c.sandboxEnabled,
391
+ sandboxProvider: c.sandboxProvider,
392
+ sandboxImage: c.sandboxImage,
393
+ sandboxTimeout: c.sandboxTimeout,
394
+ daytonaCredentialId: this.adminDaytonaCredentialId,
395
+ n8nSandboxCredentialId: this.adminN8nSandboxCredentialId,
396
+ searchCredentialId: this.adminSearchCredentialId,
397
+ localGatewayDisabled: c.localGatewayDisabled,
398
+ };
399
+ await this.settingsRepository.upsert({ key: ADMIN_SETTINGS_KEY, value: JSON.stringify(value), loadOnStartup: true }, ['key']);
400
+ }
401
+ async persistUserPreferences(userId, prefs) {
402
+ await this.settingsRepository.upsert({
403
+ key: `${USER_PREFERENCES_KEY_PREFIX}${userId}`,
404
+ value: JSON.stringify(prefs),
405
+ loadOnStartup: false,
406
+ }, ['key']);
407
+ }
408
+ };
409
+ exports.InstanceAiSettingsService = InstanceAiSettingsService;
410
+ InstanceAiSettingsService.PROXY_MANAGED_ADMIN_FIELDS = [
411
+ 'sandboxEnabled',
412
+ 'sandboxProvider',
413
+ 'sandboxImage',
414
+ 'sandboxTimeout',
415
+ 'daytonaCredentialId',
416
+ 'searchCredentialId',
417
+ ];
418
+ InstanceAiSettingsService.PROXY_MANAGED_PREFERENCE_FIELDS = [
419
+ 'credentialId',
420
+ 'modelName',
421
+ ];
422
+ exports.InstanceAiSettingsService = InstanceAiSettingsService = InstanceAiSettingsService_1 = __decorate([
423
+ (0, di_1.Service)(),
424
+ __metadata("design:paramtypes", [config_1.GlobalConfig,
425
+ db_1.SettingsRepository,
426
+ ai_service_1.AiService,
427
+ credentials_service_1.CredentialsService,
428
+ credentials_finder_service_1.CredentialsFinderService])
429
+ ], InstanceAiSettingsService);
430
+ //# sourceMappingURL=instance-ai-settings.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance-ai-settings.service.js","sourceRoot":"","sources":["../../../src/modules/instance-ai/instance-ai-settings.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ import type { InstanceAiContext, InstanceAiFilesystemService, ExecutionResult, ExecutionDebugInfo, NodeOutputResult, ServiceProxyConfig } from '@n8n/instance-ai';
2
+ import { GlobalConfig } from '@n8n/config';
3
+ import type { User } from '@n8n/db';
4
+ import { InstanceAiSettingsService } from './instance-ai-settings.service';
5
+ import { ExecutionRepository, ProjectRepository, SharedWorkflowRepository, WorkflowRepository } from '@n8n/db';
6
+ import { Logger } from '@n8n/backend-common';
7
+ import { ActiveExecutions } from '../../active-executions';
8
+ import { CredentialsFinderService } from '../../credentials/credentials-finder.service';
9
+ import { CredentialsService } from '../../credentials/credentials.service';
10
+ import { EventService } from '../../events/event.service';
11
+ import { ExecutionPersistence } from '../../executions/execution-persistence';
12
+ import { License } from '../../license';
13
+ import { LoadNodesAndCredentials } from '../../load-nodes-and-credentials';
14
+ import { DataTableRepository } from '../../modules/data-table/data-table.repository';
15
+ import { DataTableService } from '../../modules/data-table/data-table.service';
16
+ import { SourceControlPreferencesService } from '../../modules/source-control.ee/source-control-preferences.service.ee';
17
+ import { DynamicNodeParametersService } from '../../services/dynamic-node-parameters.service';
18
+ import { FolderService } from '../../services/folder.service';
19
+ import { ProjectService } from '../../services/project.service.ee';
20
+ import { RoleService } from '../../services/role.service';
21
+ import { TagService } from '../../services/tag.service';
22
+ import { WorkflowFinderService } from '../../workflows/workflow-finder.service';
23
+ import { WorkflowHistoryService } from '../../workflows/workflow-history/workflow-history.service';
24
+ import { WorkflowService } from '../../workflows/workflow.service';
25
+ import { EnterpriseWorkflowService } from '../../workflows/workflow.service.ee';
26
+ import { WorkflowRunner } from '../../workflow-runner';
27
+ export declare class InstanceAiAdapterService {
28
+ private readonly workflowService;
29
+ private readonly workflowFinderService;
30
+ private readonly workflowRepository;
31
+ private readonly sharedWorkflowRepository;
32
+ private readonly projectRepository;
33
+ private readonly executionRepository;
34
+ private readonly credentialsService;
35
+ private readonly credentialsFinderService;
36
+ private readonly activeExecutions;
37
+ private readonly workflowRunner;
38
+ private readonly loadNodesAndCredentials;
39
+ private readonly dataTableService;
40
+ private readonly dataTableRepository;
41
+ private readonly dynamicNodeParametersService;
42
+ private readonly folderService;
43
+ private readonly projectService;
44
+ private readonly tagService;
45
+ private readonly sourceControlPreferencesService;
46
+ private readonly settingsService;
47
+ private readonly workflowHistoryService;
48
+ private readonly enterpriseWorkflowService;
49
+ private readonly license;
50
+ private readonly executionPersistence;
51
+ private readonly eventService;
52
+ private readonly roleService;
53
+ private readonly logger;
54
+ private readonly allowSendingParameterValues;
55
+ private nodesCache;
56
+ private readonly NODES_CACHE_TTL_MS;
57
+ private getNodesFromCache;
58
+ constructor(logger: Logger, globalConfig: GlobalConfig, workflowService: WorkflowService, workflowFinderService: WorkflowFinderService, workflowRepository: WorkflowRepository, sharedWorkflowRepository: SharedWorkflowRepository, projectRepository: ProjectRepository, executionRepository: ExecutionRepository, credentialsService: CredentialsService, credentialsFinderService: CredentialsFinderService, activeExecutions: ActiveExecutions, workflowRunner: WorkflowRunner, loadNodesAndCredentials: LoadNodesAndCredentials, dataTableService: DataTableService, dataTableRepository: DataTableRepository, dynamicNodeParametersService: DynamicNodeParametersService, folderService: FolderService, projectService: ProjectService, tagService: TagService, sourceControlPreferencesService: SourceControlPreferencesService, settingsService: InstanceAiSettingsService, workflowHistoryService: WorkflowHistoryService, enterpriseWorkflowService: EnterpriseWorkflowService, license: License, executionPersistence: ExecutionPersistence, eventService: EventService, roleService: RoleService);
59
+ createContext(user: User, options?: {
60
+ filesystemService?: InstanceAiFilesystemService;
61
+ searchProxyConfig?: ServiceProxyConfig;
62
+ pushRef?: string;
63
+ }): InstanceAiContext;
64
+ private buildLicenseHints;
65
+ private createProjectScopeHelpers;
66
+ private createWorkflowAdapter;
67
+ private createExecutionAdapter;
68
+ private createCredentialAdapter;
69
+ private createDataTableAdapter;
70
+ private readonly webResearchCache;
71
+ private readonly searchCache;
72
+ private createWebResearchAdapter;
73
+ private buildSearchMethod;
74
+ private _nodeDefinitionDirs?;
75
+ getNodeDefinitionDirs(): string[];
76
+ private createNodeAdapter;
77
+ private createWorkspaceAdapter;
78
+ }
79
+ export declare function truncateResultData(resultData: Record<string, unknown>): Record<string, unknown>;
80
+ export declare function extractExecutionResult(executionRepository: ExecutionRepository, executionId: string, includeOutputData?: boolean): Promise<ExecutionResult>;
81
+ export declare function truncateNodeOutput(items: unknown[]): unknown[] | unknown;
82
+ export declare function extractNodeOutput(executionRepository: ExecutionRepository, executionId: string, nodeName: string, options?: {
83
+ startIndex?: number;
84
+ maxItems?: number;
85
+ }): Promise<NodeOutputResult>;
86
+ export declare function extractExecutionDebugInfo(executionRepository: ExecutionRepository, executionId: string, includeOutputData?: boolean): Promise<ExecutionDebugInfo>;