n8n 2.27.2 → 2.28.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 (659) hide show
  1. package/dist/abstract-server.js +0 -4
  2. package/dist/abstract-server.js.map +1 -1
  3. package/dist/active-workflow-manager.js +4 -1
  4. package/dist/active-workflow-manager.js.map +1 -1
  5. package/dist/agent-library-bundle.js +7 -3
  6. package/dist/build.tsbuildinfo +1 -1
  7. package/dist/commands/audit.js +6 -0
  8. package/dist/commands/audit.js.map +1 -1
  9. package/dist/commands/base-command.d.ts +1 -0
  10. package/dist/commands/base-command.js +36 -2
  11. package/dist/commands/base-command.js.map +1 -1
  12. package/dist/commands/start.js +18 -9
  13. package/dist/commands/start.js.map +1 -1
  14. package/dist/commands/worker.js +2 -0
  15. package/dist/commands/worker.js.map +1 -1
  16. package/dist/constants.d.ts +1 -0
  17. package/dist/constants.js +5 -1
  18. package/dist/constants.js.map +1 -1
  19. package/dist/controllers/api-keys.controller.d.ts +17 -0
  20. package/dist/controllers/api-keys.controller.js +19 -0
  21. package/dist/controllers/api-keys.controller.js.map +1 -1
  22. package/dist/controllers/e2e.controller.js +1 -0
  23. package/dist/controllers/e2e.controller.js.map +1 -1
  24. package/dist/controllers/telemetry.controller.d.ts +3 -1
  25. package/dist/controllers/telemetry.controller.js +17 -7
  26. package/dist/controllers/telemetry.controller.js.map +1 -1
  27. package/dist/controllers/users.controller.d.ts +1 -1
  28. package/dist/credentials/credentials.service.d.ts +5 -0
  29. package/dist/credentials/credentials.service.js +17 -3
  30. package/dist/credentials/credentials.service.js.map +1 -1
  31. package/dist/evaluation.ee/evaluation-config.controller.d.ts +7 -1
  32. package/dist/evaluation.ee/evaluation-config.controller.js +30 -1
  33. package/dist/evaluation.ee/evaluation-config.controller.js.map +1 -1
  34. package/dist/evaluation.ee/evaluation-dataset.service.d.ts +24 -0
  35. package/dist/evaluation.ee/evaluation-dataset.service.js +185 -0
  36. package/dist/evaluation.ee/evaluation-dataset.service.js.map +1 -0
  37. package/dist/evaluation.ee/llm-judge-provider-registry.js +2 -2
  38. package/dist/evaluation.ee/llm-judge-provider-registry.js.map +1 -1
  39. package/dist/evaluation.ee/test-runner/test-runner.service.ee.js +6 -6
  40. package/dist/evaluation.ee/test-runner/test-runner.service.ee.js.map +1 -1
  41. package/dist/evaluation.ee/test-runner/workflow-compiler.service.d.ts +2 -0
  42. package/dist/evaluation.ee/test-runner/workflow-compiler.service.js +27 -0
  43. package/dist/evaluation.ee/test-runner/workflow-compiler.service.js.map +1 -1
  44. package/dist/eventbus/event-message-classes/index.d.ts +2 -2
  45. package/dist/eventbus/event-message-classes/index.js +2 -0
  46. package/dist/eventbus/event-message-classes/index.js.map +1 -1
  47. package/dist/events/event.service.d.ts +2 -1
  48. package/dist/events/event.service.js.map +1 -1
  49. package/dist/events/maps/instance-ai.event-map.d.ts +15 -0
  50. package/dist/events/maps/instance-ai.event-map.js +3 -0
  51. package/dist/events/maps/instance-ai.event-map.js.map +1 -0
  52. package/dist/events/maps/relay.event-map.d.ts +8 -1
  53. package/dist/events/relays/log-streaming.event-relay.d.ts +2 -0
  54. package/dist/events/relays/log-streaming.event-relay.js +26 -0
  55. package/dist/events/relays/log-streaming.event-relay.js.map +1 -1
  56. package/dist/events/relays/telemetry.event-relay.d.ts +1 -0
  57. package/dist/events/relays/telemetry.event-relay.js +11 -0
  58. package/dist/events/relays/telemetry.event-relay.js.map +1 -1
  59. package/dist/execution-lifecycle/execution-lifecycle-hooks.js +1 -0
  60. package/dist/execution-lifecycle/execution-lifecycle-hooks.js.map +1 -1
  61. package/dist/execution-lifecycle/shared/shared-hook-functions.d.ts +2 -1
  62. package/dist/execution-lifecycle/shared/shared-hook-functions.js +8 -3
  63. package/dist/execution-lifecycle/shared/shared-hook-functions.js.map +1 -1
  64. package/dist/executions/execution-data/azure-store.ee.d.ts +15 -0
  65. package/dist/executions/execution-data/azure-store.ee.js +116 -0
  66. package/dist/executions/execution-data/azure-store.ee.js.map +1 -0
  67. package/dist/executions/execution-data/db-store.d.ts +7 -0
  68. package/dist/executions/execution-data/db-store.js +21 -0
  69. package/dist/executions/execution-data/db-store.js.map +1 -1
  70. package/dist/executions/execution-data/types.d.ts +3 -0
  71. package/dist/executions/execution-persistence.d.ts +17 -3
  72. package/dist/executions/execution-persistence.js +121 -18
  73. package/dist/executions/execution-persistence.js.map +1 -1
  74. package/dist/executions/execution.service.d.ts +3 -1
  75. package/dist/executions/execution.service.js +10 -4
  76. package/dist/executions/execution.service.js.map +1 -1
  77. package/dist/executions/sum-binary-data-bytes.d.ts +2 -0
  78. package/dist/executions/sum-binary-data-bytes.js +46 -0
  79. package/dist/executions/sum-binary-data-bytes.js.map +1 -0
  80. package/dist/interfaces.d.ts +22 -0
  81. package/dist/license/license.service.d.ts +3 -1
  82. package/dist/license/license.service.js +36 -51
  83. package/dist/license/license.service.js.map +1 -1
  84. package/dist/metrics/prometheus/execution-data-metrics.service.js +2 -1
  85. package/dist/metrics/prometheus/execution-data-metrics.service.js.map +1 -1
  86. package/dist/metrics/prometheus/instance-ai-metrics.service.d.ts +12 -0
  87. package/dist/metrics/prometheus/instance-ai-metrics.service.js +101 -0
  88. package/dist/metrics/prometheus/instance-ai-metrics.service.js.map +1 -0
  89. package/dist/metrics/prometheus/instance-role-metrics.service.js +2 -2
  90. package/dist/metrics/prometheus/instance-role-metrics.service.js.map +1 -1
  91. package/dist/metrics/prometheus/prometheus.service.d.ts +4 -1
  92. package/dist/metrics/prometheus/prometheus.service.js +11 -2
  93. package/dist/metrics/prometheus/prometheus.service.js.map +1 -1
  94. package/dist/metrics/prometheus/webhook-and-form-metrics.service.d.ts +23 -0
  95. package/dist/metrics/prometheus/webhook-and-form-metrics.service.js +72 -0
  96. package/dist/metrics/prometheus/webhook-and-form-metrics.service.js.map +1 -0
  97. package/dist/metrics/prometheus/workflow-info-metrics.service.d.ts +12 -0
  98. package/dist/metrics/prometheus/workflow-info-metrics.service.js +66 -0
  99. package/dist/metrics/prometheus/workflow-info-metrics.service.js.map +1 -0
  100. package/dist/middlewares/body-parser.js +2 -2
  101. package/dist/middlewares/body-parser.js.map +1 -1
  102. package/dist/middlewares/list-query/dtos/workflow.filter.dto.d.ts +2 -0
  103. package/dist/middlewares/list-query/dtos/workflow.filter.dto.js +12 -0
  104. package/dist/middlewares/list-query/dtos/workflow.filter.dto.js.map +1 -1
  105. package/dist/modules/agents/agent-execution.service.d.ts +8 -1
  106. package/dist/modules/agents/agent-execution.service.js +26 -2
  107. package/dist/modules/agents/agent-execution.service.js.map +1 -1
  108. package/dist/modules/agents/agent-knowledge-commands.d.ts +27 -0
  109. package/dist/modules/agents/agent-knowledge-commands.js +415 -0
  110. package/dist/modules/agents/agent-knowledge-commands.js.map +1 -0
  111. package/dist/modules/agents/agent-knowledge-gate.d.ts +2 -0
  112. package/dist/modules/agents/agent-knowledge-gate.js +9 -0
  113. package/dist/modules/agents/agent-knowledge-gate.js.map +1 -0
  114. package/dist/modules/agents/agent-knowledge-retrieval.d.ts +184 -0
  115. package/dist/modules/agents/agent-knowledge-retrieval.js +172 -0
  116. package/dist/modules/agents/agent-knowledge-retrieval.js.map +1 -0
  117. package/dist/modules/agents/agent-knowledge-sandbox.service.d.ts +40 -0
  118. package/dist/modules/agents/agent-knowledge-sandbox.service.js +591 -0
  119. package/dist/modules/agents/agent-knowledge-sandbox.service.js.map +1 -0
  120. package/dist/modules/agents/agent-knowledge-storage.d.ts +21 -0
  121. package/dist/modules/agents/agent-knowledge-storage.js +89 -0
  122. package/dist/modules/agents/agent-knowledge-storage.js.map +1 -0
  123. package/dist/modules/agents/agent-knowledge.service.d.ts +25 -5
  124. package/dist/modules/agents/agent-knowledge.service.js +230 -7
  125. package/dist/modules/agents/agent-knowledge.service.js.map +1 -1
  126. package/dist/modules/agents/agent-runtime-reconstruction.service.d.ts +8 -2
  127. package/dist/modules/agents/agent-runtime-reconstruction.service.js +49 -11
  128. package/dist/modules/agents/agent-runtime-reconstruction.service.js.map +1 -1
  129. package/dist/modules/agents/agent-sandbox.controller.d.ts +18 -0
  130. package/dist/modules/agents/agent-sandbox.controller.js +71 -0
  131. package/dist/modules/agents/agent-sandbox.controller.js.map +1 -0
  132. package/dist/modules/agents/agent-telemetry.d.ts +5 -0
  133. package/dist/modules/agents/agent-telemetry.js +60 -0
  134. package/dist/modules/agents/agent-telemetry.js.map +1 -0
  135. package/dist/modules/agents/agents.controller.d.ts +4 -4
  136. package/dist/modules/agents/agents.controller.js +24 -23
  137. package/dist/modules/agents/agents.controller.js.map +1 -1
  138. package/dist/modules/agents/agents.module.d.ts +1 -1
  139. package/dist/modules/agents/agents.module.js +7 -1
  140. package/dist/modules/agents/agents.module.js.map +1 -1
  141. package/dist/modules/agents/agents.service.d.ts +5 -2
  142. package/dist/modules/agents/agents.service.js +68 -15
  143. package/dist/modules/agents/agents.service.js.map +1 -1
  144. package/dist/modules/agents/builder/agents-builder-prompts.d.ts +1 -1
  145. package/dist/modules/agents/builder/agents-builder-prompts.js +7 -0
  146. package/dist/modules/agents/builder/agents-builder-prompts.js.map +1 -1
  147. package/dist/modules/agents/builder/agents-builder-settings.service.d.ts +12 -6
  148. package/dist/modules/agents/builder/agents-builder-settings.service.js +29 -12
  149. package/dist/modules/agents/builder/agents-builder-settings.service.js.map +1 -1
  150. package/dist/modules/agents/builder/agents-builder-tools.service.d.ts +12 -4
  151. package/dist/modules/agents/builder/agents-builder-tools.service.js +118 -14
  152. package/dist/modules/agents/builder/agents-builder-tools.service.js.map +1 -1
  153. package/dist/modules/agents/builder/agents-builder.service.d.ts +7 -0
  154. package/dist/modules/agents/builder/agents-builder.service.js +24 -6
  155. package/dist/modules/agents/builder/agents-builder.service.js.map +1 -1
  156. package/dist/modules/agents/builder/builder-tool-names.d.ts +1 -0
  157. package/dist/modules/agents/builder/builder-tool-names.js +1 -0
  158. package/dist/modules/agents/builder/builder-tool-names.js.map +1 -1
  159. package/dist/modules/agents/builder/from-ai-node-parameters.d.ts +7 -0
  160. package/dist/modules/agents/builder/from-ai-node-parameters.js +43 -0
  161. package/dist/modules/agents/builder/from-ai-node-parameters.js.map +1 -0
  162. package/dist/modules/agents/builder/get-resource-locator-options.tool.d.ts +10 -0
  163. package/dist/modules/agents/builder/get-resource-locator-options.tool.js +148 -0
  164. package/dist/modules/agents/builder/get-resource-locator-options.tool.js.map +1 -0
  165. package/dist/modules/agents/builder/prompts/tools.prompt.d.ts +1 -1
  166. package/dist/modules/agents/builder/prompts/tools.prompt.js +11 -0
  167. package/dist/modules/agents/builder/prompts/tools.prompt.js.map +1 -1
  168. package/dist/modules/agents/builder/skills/index.js +2 -0
  169. package/dist/modules/agents/builder/skills/index.js.map +1 -1
  170. package/dist/modules/agents/builder/skills/resource-locators.skill.d.ts +2 -0
  171. package/dist/modules/agents/builder/skills/resource-locators.skill.js +107 -0
  172. package/dist/modules/agents/builder/skills/resource-locators.skill.js.map +1 -0
  173. package/dist/modules/agents/builder/verify-mcp-server.tool.d.ts +2 -0
  174. package/dist/modules/agents/builder/verify-mcp-server.tool.js +1 -1
  175. package/dist/modules/agents/builder/verify-mcp-server.tool.js.map +1 -1
  176. package/dist/modules/agents/entities/agent-file.entity.d.ts +11 -0
  177. package/dist/modules/agents/entities/agent-file.entity.js +50 -0
  178. package/dist/modules/agents/entities/agent-file.entity.js.map +1 -0
  179. package/dist/modules/agents/execution-recorder.js +4 -7
  180. package/dist/modules/agents/execution-recorder.js.map +1 -1
  181. package/dist/modules/agents/integrations/agent-chat-bridge.d.ts +1 -1
  182. package/dist/modules/agents/integrations/agent-chat-bridge.js +7 -9
  183. package/dist/modules/agents/integrations/agent-chat-bridge.js.map +1 -1
  184. package/dist/modules/agents/integrations/agent-chat-integration.d.ts +7 -3
  185. package/dist/modules/agents/integrations/agent-chat-integration.js +5 -0
  186. package/dist/modules/agents/integrations/agent-chat-integration.js.map +1 -1
  187. package/dist/modules/agents/integrations/integration-action-executor.d.ts +704 -0
  188. package/dist/modules/agents/integrations/integration-action-executor.js +36 -22
  189. package/dist/modules/agents/integrations/integration-action-executor.js.map +1 -1
  190. package/dist/modules/agents/integrations/integration-context-query-executor.js +23 -4
  191. package/dist/modules/agents/integrations/integration-context-query-executor.js.map +1 -1
  192. package/dist/modules/agents/integrations/integration-helpers.d.ts +12 -1
  193. package/dist/modules/agents/integrations/integration-helpers.js +17 -8
  194. package/dist/modules/agents/integrations/integration-helpers.js.map +1 -1
  195. package/dist/modules/agents/integrations/integration-message-context.service.js +2 -4
  196. package/dist/modules/agents/integrations/integration-message-context.service.js.map +1 -1
  197. package/dist/modules/agents/integrations/integration-tools.d.ts +11 -3
  198. package/dist/modules/agents/integrations/integration-tools.js +19 -118
  199. package/dist/modules/agents/integrations/integration-tools.js.map +1 -1
  200. package/dist/modules/agents/integrations/platforms/linear-integration.d.ts +3 -1
  201. package/dist/modules/agents/integrations/platforms/linear-integration.js +22 -6
  202. package/dist/modules/agents/integrations/platforms/linear-integration.js.map +1 -1
  203. package/dist/modules/agents/integrations/platforms/linear-operations.js +19 -29
  204. package/dist/modules/agents/integrations/platforms/linear-operations.js.map +1 -1
  205. package/dist/modules/agents/integrations/platforms/n8n-chat-integration.d.ts +20 -0
  206. package/dist/modules/agents/integrations/platforms/n8n-chat-integration.js +99 -0
  207. package/dist/modules/agents/integrations/platforms/n8n-chat-integration.js.map +1 -0
  208. package/dist/modules/agents/integrations/platforms/slack-integration.d.ts +2 -1
  209. package/dist/modules/agents/integrations/platforms/slack-integration.js +5 -0
  210. package/dist/modules/agents/integrations/platforms/slack-integration.js.map +1 -1
  211. package/dist/modules/agents/integrations/platforms/slack-operations.js +3 -2
  212. package/dist/modules/agents/integrations/platforms/slack-operations.js.map +1 -1
  213. package/dist/modules/agents/integrations/platforms/telegram-integration.d.ts +11 -2
  214. package/dist/modules/agents/integrations/platforms/telegram-integration.js +43 -14
  215. package/dist/modules/agents/integrations/platforms/telegram-integration.js.map +1 -1
  216. package/dist/modules/agents/integrations/slack-app-setup.service.d.ts +3 -1
  217. package/dist/modules/agents/integrations/slack-app-setup.service.js +19 -11
  218. package/dist/modules/agents/integrations/slack-app-setup.service.js.map +1 -1
  219. package/dist/modules/agents/json-config/from-json-config.d.ts +2 -1
  220. package/dist/modules/agents/json-config/from-json-config.js +11 -1
  221. package/dist/modules/agents/json-config/from-json-config.js.map +1 -1
  222. package/dist/modules/agents/json-config/mcp-client-factory.d.ts +2 -0
  223. package/dist/modules/agents/json-config/mcp-client-factory.js +2 -2
  224. package/dist/modules/agents/json-config/mcp-client-factory.js.map +1 -1
  225. package/dist/modules/agents/repositories/agent-file.repository.d.ts +8 -0
  226. package/dist/modules/agents/repositories/agent-file.repository.js +38 -0
  227. package/dist/modules/agents/repositories/agent-file.repository.js.map +1 -0
  228. package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.js +5 -0
  229. package/dist/modules/agents/sub-agents/sub-agent-foreground-runner.js.map +1 -1
  230. package/dist/modules/agents/tools/knowledge/search-knowledge.tool.d.ts +90 -0
  231. package/dist/modules/agents/tools/knowledge/search-knowledge.tool.js +209 -0
  232. package/dist/modules/agents/tools/knowledge/search-knowledge.tool.js.map +1 -0
  233. package/dist/modules/agents/tools/workflow-tool-factory.js +6 -8
  234. package/dist/modules/agents/tools/workflow-tool-factory.js.map +1 -1
  235. package/dist/modules/agents/tracing/builder-telemetry.d.ts +6 -1
  236. package/dist/modules/agents/tracing/builder-telemetry.js +26 -5
  237. package/dist/modules/agents/tracing/builder-telemetry.js.map +1 -1
  238. package/dist/modules/agents/utils/agent-memory-scope.d.ts +1 -0
  239. package/dist/modules/agents/utils/agent-memory-scope.js +6 -1
  240. package/dist/modules/agents/utils/agent-memory-scope.js.map +1 -1
  241. package/dist/modules/agents/utils/execution-to-message-mapper.js +54 -5
  242. package/dist/modules/agents/utils/execution-to-message-mapper.js.map +1 -1
  243. package/dist/modules/agents/utils/messages-envelope.d.ts +7 -0
  244. package/dist/modules/agents/utils/messages-envelope.js +97 -0
  245. package/dist/modules/agents/utils/messages-envelope.js.map +1 -0
  246. package/dist/modules/community-packages/community-packages.service.d.ts +3 -1
  247. package/dist/modules/community-packages/community-packages.service.js +17 -9
  248. package/dist/modules/community-packages/community-packages.service.js.map +1 -1
  249. package/dist/modules/community-packages/npm-utils.js +13 -6
  250. package/dist/modules/community-packages/npm-utils.js.map +1 -1
  251. package/dist/modules/data-table/multer-upload-middleware.d.ts +8 -1
  252. package/dist/modules/data-table/multer-upload-middleware.js +79 -30
  253. package/dist/modules/data-table/multer-upload-middleware.js.map +1 -1
  254. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/index.d.ts +2 -0
  255. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/index.js +19 -0
  256. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/index.js.map +1 -0
  257. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/metadata.d.ts +20 -0
  258. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/metadata.js +12 -0
  259. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/metadata.js.map +1 -0
  260. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-extractor.d.ts +12 -0
  261. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-extractor.js +85 -0
  262. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-extractor.js.map +1 -0
  263. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-seeder.d.ts +10 -0
  264. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-seeder.js +78 -0
  265. package/dist/modules/dynamic-credentials.ee/context-establishment-hooks/n8n-oauth/n8n-oauth-seeder.js.map +1 -0
  266. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/n8n-identifier.d.ts +3 -1
  267. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/n8n-identifier.js +17 -2
  268. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/n8n-identifier.js.map +1 -1
  269. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-introspection-identifier.d.ts +4 -2
  270. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-introspection-identifier.js +20 -40
  271. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-introspection-identifier.js.map +1 -1
  272. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-metadata-http-client.d.ts +21 -0
  273. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-metadata-http-client.js +77 -0
  274. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-metadata-http-client.js.map +1 -0
  275. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-userinfo-identifier.d.ts +3 -1
  276. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-userinfo-identifier.js +18 -39
  277. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-userinfo-identifier.js.map +1 -1
  278. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.d.ts +4 -2
  279. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.js +46 -2
  280. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.js.map +1 -1
  281. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.module.js +3 -0
  282. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.module.js.map +1 -1
  283. package/dist/modules/dynamic-credentials.ee/services/authorize-intent.service.d.ts +14 -0
  284. package/dist/modules/dynamic-credentials.ee/services/authorize-intent.service.js +39 -0
  285. package/dist/modules/dynamic-credentials.ee/services/authorize-intent.service.js.map +1 -0
  286. package/dist/modules/dynamic-credentials.ee/services/credential-check-proxy.service.d.ts +7 -3
  287. package/dist/modules/dynamic-credentials.ee/services/credential-check-proxy.service.js +23 -21
  288. package/dist/modules/dynamic-credentials.ee/services/credential-check-proxy.service.js.map +1 -1
  289. package/dist/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.d.ts +4 -0
  290. package/dist/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.js +111 -63
  291. package/dist/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.js.map +1 -1
  292. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-storage.service.js +0 -1
  293. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-storage.service.js.map +1 -1
  294. package/dist/modules/dynamic-credentials.ee/services/index.d.ts +1 -0
  295. package/dist/modules/dynamic-credentials.ee/services/index.js +1 -0
  296. package/dist/modules/dynamic-credentials.ee/services/index.js.map +1 -1
  297. package/dist/modules/external-secrets.ee/providers/aws-secrets-manager.d.ts +3 -1
  298. package/dist/modules/external-secrets.ee/providers/aws-secrets-manager.js +4 -1
  299. package/dist/modules/external-secrets.ee/providers/aws-secrets-manager.js.map +1 -1
  300. package/dist/modules/external-secrets.ee/providers/azure-key-vault/azure-key-vault.js.map +1 -1
  301. package/dist/modules/external-secrets.ee/providers/gcp-secrets-manager/gcp-secrets-manager.js.map +1 -1
  302. package/dist/modules/external-secrets.ee/providers/infisical.d.ts +4 -1
  303. package/dist/modules/external-secrets.ee/providers/infisical.js +45 -30
  304. package/dist/modules/external-secrets.ee/providers/infisical.js.map +1 -1
  305. package/dist/modules/external-secrets.ee/providers/one-password.js.map +1 -1
  306. package/dist/modules/external-secrets.ee/providers/vault.d.ts +5 -1
  307. package/dist/modules/external-secrets.ee/providers/vault.js +66 -61
  308. package/dist/modules/external-secrets.ee/providers/vault.js.map +1 -1
  309. package/dist/modules/insights/database/repositories/insights-by-period.repository.d.ts +2 -2
  310. package/dist/modules/insights/insights.service.d.ts +2 -2
  311. package/dist/modules/instance-ai/entities/index.d.ts +1 -0
  312. package/dist/modules/instance-ai/entities/index.js +3 -1
  313. package/dist/modules/instance-ai/entities/index.js.map +1 -1
  314. package/dist/modules/instance-ai/entities/instance-ai-thread-grant.entity.d.ts +9 -0
  315. package/dist/modules/instance-ai/entities/instance-ai-thread-grant.entity.js +45 -0
  316. package/dist/modules/instance-ai/entities/instance-ai-thread-grant.entity.js.map +1 -0
  317. package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.d.ts +3 -3
  318. package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.js +2 -2
  319. package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.js.map +1 -1
  320. package/dist/modules/instance-ai/eval/llm-wire-server.d.ts +2 -2
  321. package/dist/modules/instance-ai/eval/llm-wire-server.js +5 -5
  322. package/dist/modules/instance-ai/eval/llm-wire-server.js.map +1 -1
  323. package/dist/modules/instance-ai/eval/thread-credential-allowlist.service.d.ts +6 -0
  324. package/dist/modules/instance-ai/eval/thread-credential-allowlist.service.js +29 -0
  325. package/dist/modules/instance-ai/eval/thread-credential-allowlist.service.js.map +1 -0
  326. package/dist/modules/instance-ai/instance-ai-credit.service.d.ts +26 -0
  327. package/dist/modules/instance-ai/instance-ai-credit.service.js +210 -0
  328. package/dist/modules/instance-ai/instance-ai-credit.service.js.map +1 -0
  329. package/dist/modules/instance-ai/instance-ai-model.service.d.ts +20 -0
  330. package/dist/modules/instance-ai/instance-ai-model.service.js +135 -0
  331. package/dist/modules/instance-ai/instance-ai-model.service.js.map +1 -0
  332. package/dist/modules/instance-ai/instance-ai-run-probe.d.ts +5 -0
  333. package/dist/modules/instance-ai/instance-ai-run-probe.js +26 -0
  334. package/dist/modules/instance-ai/instance-ai-run-probe.js.map +1 -0
  335. package/dist/modules/instance-ai/instance-ai-settings.service.d.ts +2 -0
  336. package/dist/modules/instance-ai/instance-ai-settings.service.js +12 -1
  337. package/dist/modules/instance-ai/instance-ai-settings.service.js.map +1 -1
  338. package/dist/modules/instance-ai/instance-ai-temporary-workflow.service.d.ts +15 -0
  339. package/dist/modules/instance-ai/instance-ai-temporary-workflow.service.js +140 -0
  340. package/dist/modules/instance-ai/instance-ai-temporary-workflow.service.js.map +1 -0
  341. package/dist/modules/instance-ai/instance-ai.adapter.service.d.ts +4 -2
  342. package/dist/modules/instance-ai/instance-ai.adapter.service.js +69 -10
  343. package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -1
  344. package/dist/modules/instance-ai/instance-ai.controller.d.ts +20 -2
  345. package/dist/modules/instance-ai/instance-ai.controller.js +62 -4
  346. package/dist/modules/instance-ai/instance-ai.controller.js.map +1 -1
  347. package/dist/modules/instance-ai/instance-ai.module.d.ts +2 -1
  348. package/dist/modules/instance-ai/instance-ai.module.js +3 -0
  349. package/dist/modules/instance-ai/instance-ai.module.js.map +1 -1
  350. package/dist/modules/instance-ai/instance-ai.service.d.ts +42 -22
  351. package/dist/modules/instance-ai/instance-ai.service.js +408 -379
  352. package/dist/modules/instance-ai/instance-ai.service.js.map +1 -1
  353. package/dist/modules/instance-ai/internal-messages.d.ts +4 -0
  354. package/dist/modules/instance-ai/internal-messages.js +24 -3
  355. package/dist/modules/instance-ai/internal-messages.js.map +1 -1
  356. package/dist/modules/instance-ai/mcp/instance-ai-mcp-connection.controller.d.ts +1 -1
  357. package/dist/modules/instance-ai/mcp/instance-ai-mcp-connection.controller.js +2 -6
  358. package/dist/modules/instance-ai/mcp/instance-ai-mcp-connection.controller.js.map +1 -1
  359. package/dist/modules/instance-ai/mcp/instance-ai-mcp-registry.service.d.ts +6 -1
  360. package/dist/modules/instance-ai/mcp/instance-ai-mcp-registry.service.js +52 -2
  361. package/dist/modules/instance-ai/mcp/instance-ai-mcp-registry.service.js.map +1 -1
  362. package/dist/modules/instance-ai/message-parser.js +2 -0
  363. package/dist/modules/instance-ai/message-parser.js.map +1 -1
  364. package/dist/modules/instance-ai/observability.d.ts +13 -0
  365. package/dist/modules/instance-ai/observability.js +23 -0
  366. package/dist/modules/instance-ai/observability.js.map +1 -0
  367. package/dist/modules/instance-ai/repositories/index.d.ts +1 -0
  368. package/dist/modules/instance-ai/repositories/index.js +3 -1
  369. package/dist/modules/instance-ai/repositories/index.js.map +1 -1
  370. package/dist/modules/instance-ai/repositories/instance-ai-thread-grant.repository.d.ts +7 -0
  371. package/dist/modules/instance-ai/repositories/instance-ai-thread-grant.repository.js +40 -0
  372. package/dist/modules/instance-ai/repositories/instance-ai-thread-grant.repository.js.map +1 -0
  373. package/dist/modules/instance-ai/sandbox/instance-ai-sandbox.service.js +2 -1
  374. package/dist/modules/instance-ai/sandbox/instance-ai-sandbox.service.js.map +1 -1
  375. package/dist/modules/instance-ai/storage/typeorm-agent-memory.js +4 -6
  376. package/dist/modules/instance-ai/storage/typeorm-agent-memory.js.map +1 -1
  377. package/dist/modules/instance-ai/web-research/fetch-and-extract.d.ts +2 -3
  378. package/dist/modules/instance-ai/web-research/fetch-and-extract.js +34 -44
  379. package/dist/modules/instance-ai/web-research/fetch-and-extract.js.map +1 -1
  380. package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-from-db.d.ts +2 -1
  381. package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-from-db.js +2 -2
  382. package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-from-db.js.map +1 -1
  383. package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-webhook.ee.d.ts +8 -8
  384. package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-webhook.ee.js +43 -60
  385. package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-webhook.ee.js.map +1 -1
  386. package/dist/modules/log-streaming.ee/log-streaming-destination.service.d.ts +3 -1
  387. package/dist/modules/log-streaming.ee/log-streaming-destination.service.js +6 -3
  388. package/dist/modules/log-streaming.ee/log-streaming-destination.service.js.map +1 -1
  389. package/dist/modules/log-streaming.ee/log-streaming.controller.d.ts +3 -1
  390. package/dist/modules/log-streaming.ee/log-streaming.controller.js +6 -3
  391. package/dist/modules/log-streaming.ee/log-streaming.controller.js.map +1 -1
  392. package/dist/modules/mcp/dto/update-allowed-redirect-uris.dto.d.ts +9 -0
  393. package/dist/modules/mcp/dto/update-allowed-redirect-uris.dto.js +35 -0
  394. package/dist/modules/mcp/dto/update-allowed-redirect-uris.dto.js.map +1 -0
  395. package/dist/modules/mcp/mcp-protected-resource.d.ts +4 -1
  396. package/dist/modules/mcp/mcp-protected-resource.js +9 -3
  397. package/dist/modules/mcp/mcp-protected-resource.js.map +1 -1
  398. package/dist/modules/mcp/mcp.service.d.ts +5 -2
  399. package/dist/modules/mcp/mcp.service.js +8 -3
  400. package/dist/modules/mcp/mcp.service.js.map +1 -1
  401. package/dist/modules/mcp/mcp.settings.controller.d.ts +7 -0
  402. package/dist/modules/mcp/mcp.settings.controller.js +24 -0
  403. package/dist/modules/mcp/mcp.settings.controller.js.map +1 -1
  404. package/dist/modules/mcp/mcp.settings.service.d.ts +2 -0
  405. package/dist/modules/mcp/mcp.settings.service.js +15 -0
  406. package/dist/modules/mcp/mcp.settings.service.js.map +1 -1
  407. package/dist/modules/mcp/mcp.typeguards.d.ts +0 -1
  408. package/dist/modules/mcp/mcp.typeguards.js +9 -12
  409. package/dist/modules/mcp/mcp.typeguards.js.map +1 -1
  410. package/dist/modules/mcp/mcp.utils.js +2 -1
  411. package/dist/modules/mcp/mcp.utils.js.map +1 -1
  412. package/dist/modules/mcp/tools/execute-workflow.tool.d.ts +10 -8
  413. package/dist/modules/mcp/tools/execute-workflow.tool.js +25 -13
  414. package/dist/modules/mcp/tools/execute-workflow.tool.js.map +1 -1
  415. package/dist/modules/mcp/tools/get-workflow-details.tool.js +2 -0
  416. package/dist/modules/mcp/tools/get-workflow-details.tool.js.map +1 -1
  417. package/dist/modules/mcp/tools/schemas.d.ts +128 -0
  418. package/dist/modules/mcp/tools/schemas.js +9 -0
  419. package/dist/modules/mcp/tools/schemas.js.map +1 -1
  420. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js +15 -4
  421. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js.map +1 -1
  422. package/dist/modules/mcp/tools/workflow-builder/credential-validation.d.ts +13 -2
  423. package/dist/modules/mcp/tools/workflow-builder/credential-validation.js +144 -23
  424. package/dist/modules/mcp/tools/workflow-builder/credential-validation.js.map +1 -1
  425. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js +23 -6
  426. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js.map +1 -1
  427. package/dist/modules/mcp/tools/workflow-builder/workflow-operations.d.ts +31 -1
  428. package/dist/modules/mcp/tools/workflow-builder/workflow-operations.js +22 -0
  429. package/dist/modules/mcp/tools/workflow-builder/workflow-operations.js.map +1 -1
  430. package/dist/modules/n8n-packages/engine/import-pipeline.js +40 -19
  431. package/dist/modules/n8n-packages/engine/import-pipeline.js.map +1 -1
  432. package/dist/modules/n8n-packages/entities/credential/credential-importer.d.ts +8 -4
  433. package/dist/modules/n8n-packages/entities/credential/credential-importer.js +40 -6
  434. package/dist/modules/n8n-packages/entities/credential/credential-importer.js.map +1 -1
  435. package/dist/modules/n8n-packages/entities/credential/credential-matcher.d.ts +7 -3
  436. package/dist/modules/n8n-packages/entities/credential/credential-matcher.js +30 -5
  437. package/dist/modules/n8n-packages/entities/credential/credential-matcher.js.map +1 -1
  438. package/dist/modules/n8n-packages/entities/credential/credential-missing-mode.d.ts +3 -0
  439. package/dist/modules/n8n-packages/entities/credential/credential-missing-mode.js +17 -0
  440. package/dist/modules/n8n-packages/entities/credential/credential-missing-mode.js.map +1 -1
  441. package/dist/modules/n8n-packages/entities/credential/credential.types.d.ts +10 -4
  442. package/dist/modules/n8n-packages/entities/credential/credential.types.js +2 -0
  443. package/dist/modules/n8n-packages/entities/credential/credential.types.js.map +1 -1
  444. package/dist/modules/n8n-packages/entities/credential/id-based-credential-matcher.d.ts +3 -4
  445. package/dist/modules/n8n-packages/entities/credential/id-based-credential-matcher.js +10 -11
  446. package/dist/modules/n8n-packages/entities/credential/id-based-credential-matcher.js.map +1 -1
  447. package/dist/modules/n8n-packages/entities/workflow/workflow-import.types.d.ts +6 -6
  448. package/dist/modules/n8n-packages/entities/workflow/workflow-importer.d.ts +3 -3
  449. package/dist/modules/n8n-packages/entities/workflow/workflow-importer.js +12 -10
  450. package/dist/modules/n8n-packages/entities/workflow/workflow-importer.js.map +1 -1
  451. package/dist/modules/n8n-packages/entities/workflow/workflow-publisher.d.ts +6 -2
  452. package/dist/modules/n8n-packages/entities/workflow/workflow-publisher.js +33 -11
  453. package/dist/modules/n8n-packages/entities/workflow/workflow-publisher.js.map +1 -1
  454. package/dist/modules/n8n-packages/entities/workflow/workflow-publishing-policy.types.d.ts +8 -0
  455. package/dist/modules/n8n-packages/n8n-packages.types.d.ts +23 -3
  456. package/dist/modules/n8n-packages/n8n-packages.types.js.map +1 -1
  457. package/dist/modules/oauth-jwe/oauth-jwe.schemas.d.ts +12 -12
  458. package/dist/modules/oauth-server/oauth-consent.controller.js +1 -0
  459. package/dist/modules/oauth-server/oauth-consent.controller.js.map +1 -1
  460. package/dist/modules/oauth-server/oauth-consent.service.d.ts +1 -0
  461. package/dist/modules/oauth-server/oauth-consent.service.js +2 -0
  462. package/dist/modules/oauth-server/oauth-consent.service.js.map +1 -1
  463. package/dist/modules/oauth-server/oauth-server.module.js +1 -1
  464. package/dist/modules/oauth-server/oauth-server.module.js.map +1 -1
  465. package/dist/modules/oauth-server/oauth-server.service.d.ts +2 -0
  466. package/dist/modules/oauth-server/oauth-server.service.js +48 -1
  467. package/dist/modules/oauth-server/oauth-server.service.js.map +1 -1
  468. package/dist/modules/oauth-server/oauth.controller.js +4 -1
  469. package/dist/modules/oauth-server/oauth.controller.js.map +1 -1
  470. package/dist/modules/otel/otel.service.d.ts +3 -1
  471. package/dist/modules/otel/otel.service.js +6 -3
  472. package/dist/modules/otel/otel.service.js.map +1 -1
  473. package/dist/modules/quick-connect/handlers/firecrawl.handler.d.ts +3 -0
  474. package/dist/modules/quick-connect/handlers/firecrawl.handler.js +20 -7
  475. package/dist/modules/quick-connect/handlers/firecrawl.handler.js.map +1 -1
  476. package/dist/modules/quick-connect/quick-connect.config.d.ts +17 -17
  477. package/dist/modules/quick-connect/quick-connect.module.d.ts +3 -3
  478. package/dist/modules/source-control.ee/source-control-import.service.ee.js +1 -1
  479. package/dist/modules/source-control.ee/source-control-import.service.ee.js.map +1 -1
  480. package/dist/modules/source-control.ee/source-control.controller.ee.d.ts +4 -4
  481. package/dist/modules/source-control.ee/source-control.service.ee.d.ts +2 -2
  482. package/dist/modules/sso-oidc/oidc.service.ee.d.ts +3 -1
  483. package/dist/modules/sso-oidc/oidc.service.ee.js +15 -25
  484. package/dist/modules/sso-oidc/oidc.service.ee.js.map +1 -1
  485. package/dist/modules/sso-saml/saml.service.ee.d.ts +3 -1
  486. package/dist/modules/sso-saml/saml.service.ee.js +15 -15
  487. package/dist/modules/sso-saml/saml.service.ee.js.map +1 -1
  488. package/dist/modules/token-exchange/services/jwks-resolver.d.ts +3 -1
  489. package/dist/modules/token-exchange/services/jwks-resolver.js +11 -3
  490. package/dist/modules/token-exchange/services/jwks-resolver.js.map +1 -1
  491. package/dist/oauth/oauth.service.d.ts +8 -3
  492. package/dist/oauth/oauth.service.js +106 -47
  493. package/dist/oauth/oauth.service.js.map +1 -1
  494. package/dist/oauth/types.d.ts +1 -1
  495. package/dist/oauth/types.js.map +1 -1
  496. package/dist/posthog/index.js +4 -3
  497. package/dist/posthog/index.js.map +1 -1
  498. package/dist/public-api/index.js +46 -3
  499. package/dist/public-api/index.js.map +1 -1
  500. package/dist/public-api/swagger-theme.css +14 -0
  501. package/dist/public-api/types.d.ts +2 -0
  502. package/dist/public-api/v1/handlers/credentials/credentials.handler.js +1 -1
  503. package/dist/public-api/v1/handlers/credentials/credentials.handler.js.map +1 -1
  504. package/dist/public-api/v1/handlers/data-tables/data-tables.handler.js +4 -3
  505. package/dist/public-api/v1/handlers/data-tables/data-tables.handler.js.map +1 -1
  506. package/dist/public-api/v1/handlers/discover/discover.service.js +9 -11
  507. package/dist/public-api/v1/handlers/discover/discover.service.js.map +1 -1
  508. package/dist/public-api/v1/handlers/executions/executions.handler.js +8 -4
  509. package/dist/public-api/v1/handlers/executions/executions.handler.js.map +1 -1
  510. package/dist/public-api/v1/handlers/workflows/workflows.handler.js +3 -1
  511. package/dist/public-api/v1/handlers/workflows/workflows.handler.js.map +1 -1
  512. package/dist/public-api/v1/handlers/workflows/workflows.service.d.ts +1 -2
  513. package/dist/public-api/v1/handlers/workflows/workflows.service.js +3 -2
  514. package/dist/public-api/v1/handlers/workflows/workflows.service.js.map +1 -1
  515. package/dist/public-api/v1/openapi.yml +124 -2
  516. package/dist/response-helper.d.ts +2 -1
  517. package/dist/response-helper.js +2 -17
  518. package/dist/response-helper.js.map +1 -1
  519. package/dist/scaling/constants.d.ts +2 -2
  520. package/dist/scaling/constants.js +3 -0
  521. package/dist/scaling/constants.js.map +1 -1
  522. package/dist/scaling/execution-stop.service.d.ts +15 -0
  523. package/dist/scaling/execution-stop.service.js +59 -0
  524. package/dist/scaling/execution-stop.service.js.map +1 -0
  525. package/dist/scaling/job-processor.js +8 -2
  526. package/dist/scaling/job-processor.js.map +1 -1
  527. package/dist/scaling/multi-main-setup.ee.d.ts +1 -0
  528. package/dist/scaling/multi-main-setup.ee.js +6 -6
  529. package/dist/scaling/multi-main-setup.ee.js.map +1 -1
  530. package/dist/scaling/pubsub/pubsub.event-map.d.ts +4 -0
  531. package/dist/scaling/pubsub/pubsub.types.d.ts +3 -1
  532. package/dist/security-audit/risk-reporters/instance-risk-reporter.d.ts +3 -1
  533. package/dist/security-audit/risk-reporters/instance-risk-reporter.js +27 -20
  534. package/dist/security-audit/risk-reporters/instance-risk-reporter.js.map +1 -1
  535. package/dist/server.d.ts +1 -0
  536. package/dist/server.js +1 -0
  537. package/dist/server.js.map +1 -1
  538. package/dist/services/ai-gateway.service.d.ts +5 -1
  539. package/dist/services/ai-gateway.service.js +53 -32
  540. package/dist/services/ai-gateway.service.js.map +1 -1
  541. package/dist/services/ai-workflow-builder.service.d.ts +4 -3
  542. package/dist/services/ai-workflow-builder.service.js +9 -5
  543. package/dist/services/ai-workflow-builder.service.js.map +1 -1
  544. package/dist/services/credentials-tester.service.js +16 -15
  545. package/dist/services/credentials-tester.service.js.map +1 -1
  546. package/dist/services/dynamic-templates.service.d.ts +3 -1
  547. package/dist/services/dynamic-templates.service.js +13 -9
  548. package/dist/services/dynamic-templates.service.js.map +1 -1
  549. package/dist/services/frontend.service.d.ts +6 -1
  550. package/dist/services/frontend.service.js +39 -2
  551. package/dist/services/frontend.service.js.map +1 -1
  552. package/dist/services/node-resource-explorer.service.js +4 -22
  553. package/dist/services/node-resource-explorer.service.js.map +1 -1
  554. package/dist/services/project.service.ee.d.ts +3 -2
  555. package/dist/services/project.service.ee.js +14 -3
  556. package/dist/services/project.service.ee.js.map +1 -1
  557. package/dist/services/protected-resource.registry.d.ts +1 -0
  558. package/dist/services/protected-resource.registry.js.map +1 -1
  559. package/dist/services/public-api-key.service.d.ts +6 -2
  560. package/dist/services/public-api-key.service.js +56 -10
  561. package/dist/services/public-api-key.service.js.map +1 -1
  562. package/dist/services/role.service.d.ts +2 -2
  563. package/dist/services/role.service.js.map +1 -1
  564. package/dist/services/trigger-auth-identity-seeder-proxy.service.d.ts +10 -0
  565. package/dist/services/trigger-auth-identity-seeder-proxy.service.js +33 -0
  566. package/dist/services/trigger-auth-identity-seeder-proxy.service.js.map +1 -0
  567. package/dist/services/workflow-statistics.service.d.ts +3 -13
  568. package/dist/services/workflow-statistics.service.js +77 -64
  569. package/dist/services/workflow-statistics.service.js.map +1 -1
  570. package/dist/task-runners/task-broker/task-broker-server.js +2 -1
  571. package/dist/task-runners/task-broker/task-broker-server.js.map +1 -1
  572. package/dist/task-runners/task-runner-module.js +2 -0
  573. package/dist/task-runners/task-runner-module.js.map +1 -1
  574. package/dist/telemetry/index.d.ts +25 -2
  575. package/dist/telemetry/index.js +80 -12
  576. package/dist/telemetry/index.js.map +1 -1
  577. package/dist/utils/ai-proxy-fetch.d.ts +3 -0
  578. package/dist/utils/ai-proxy-fetch.js +27 -0
  579. package/dist/utils/ai-proxy-fetch.js.map +1 -0
  580. package/dist/utils/auth-fetch.d.ts +3 -1
  581. package/dist/utils/auth-fetch.js +3 -4
  582. package/dist/utils/auth-fetch.js.map +1 -1
  583. package/dist/utils/strapi-utils.d.ts +8 -4
  584. package/dist/utils/strapi-utils.js +25 -9
  585. package/dist/utils/strapi-utils.js.map +1 -1
  586. package/dist/webhooks/live-webhooks.js +1 -0
  587. package/dist/webhooks/live-webhooks.js.map +1 -1
  588. package/dist/webhooks/test-webhooks.controller.d.ts +8 -0
  589. package/dist/webhooks/test-webhooks.controller.js +39 -0
  590. package/dist/webhooks/test-webhooks.controller.js.map +1 -0
  591. package/dist/webhooks/webhook-form-data.js +9 -1
  592. package/dist/webhooks/webhook-form-data.js.map +1 -1
  593. package/dist/webhooks/webhook-helpers.js +16 -0
  594. package/dist/webhooks/webhook-helpers.js.map +1 -1
  595. package/dist/webhooks/webhook-request-handler.js +35 -0
  596. package/dist/webhooks/webhook-request-handler.js.map +1 -1
  597. package/dist/workflow-execute-additional-data.js +15 -0
  598. package/dist/workflow-execute-additional-data.js.map +1 -1
  599. package/dist/workflow-helpers.d.ts +7 -2
  600. package/dist/workflow-helpers.js +50 -1
  601. package/dist/workflow-helpers.js.map +1 -1
  602. package/dist/workflows/publication/publication-result.d.ts +2 -0
  603. package/dist/workflows/publication/publication-status-reporter.d.ts +1 -0
  604. package/dist/workflows/publication/publication-status-reporter.js +22 -1
  605. package/dist/workflows/publication/publication-status-reporter.js.map +1 -1
  606. package/dist/workflows/publication/published-workflow-enqueuer.d.ts +13 -0
  607. package/dist/workflows/publication/published-workflow-enqueuer.js +53 -0
  608. package/dist/workflows/publication/published-workflow-enqueuer.js.map +1 -0
  609. package/dist/workflows/publication/published-workflow-trigger-deactivator.d.ts +16 -0
  610. package/dist/workflows/publication/published-workflow-trigger-deactivator.js +79 -0
  611. package/dist/workflows/publication/published-workflow-trigger-deactivator.js.map +1 -0
  612. package/dist/workflows/publication/workflow-publication-applier.d.ts +6 -1
  613. package/dist/workflows/publication/workflow-publication-applier.js +39 -3
  614. package/dist/workflows/publication/workflow-publication-applier.js.map +1 -1
  615. package/dist/workflows/publication/workflow-publication-lifecycle-lock.d.ts +13 -0
  616. package/dist/workflows/publication/workflow-publication-lifecycle-lock.js +104 -0
  617. package/dist/workflows/publication/workflow-publication-lifecycle-lock.js.map +1 -0
  618. package/dist/workflows/publication/workflow-publication-outbox-cleanup.service.d.ts +19 -0
  619. package/dist/workflows/publication/workflow-publication-outbox-cleanup.service.js +109 -0
  620. package/dist/workflows/publication/workflow-publication-outbox-cleanup.service.js.map +1 -0
  621. package/dist/workflows/publication/workflow-publication-outbox-consumer.d.ts +11 -4
  622. package/dist/workflows/publication/workflow-publication-outbox-consumer.js +105 -45
  623. package/dist/workflows/publication/workflow-publication-outbox-consumer.js.map +1 -1
  624. package/dist/workflows/triggers/non-webhook-trigger-registrar.d.ts +4 -5
  625. package/dist/workflows/triggers/non-webhook-trigger-registrar.js +30 -9
  626. package/dist/workflows/triggers/non-webhook-trigger-registrar.js.map +1 -1
  627. package/dist/workflows/triggers/trigger-activation-retry.d.ts +2 -0
  628. package/dist/workflows/triggers/trigger-activation-retry.js +23 -0
  629. package/dist/workflows/triggers/trigger-activation-retry.js.map +1 -0
  630. package/dist/workflows/triggers/webhook-trigger-registrar.d.ts +3 -2
  631. package/dist/workflows/triggers/webhook-trigger-registrar.js +60 -32
  632. package/dist/workflows/triggers/webhook-trigger-registrar.js.map +1 -1
  633. package/dist/workflows/triggers/workflow-trigger-activator.d.ts +6 -3
  634. package/dist/workflows/triggers/workflow-trigger-activator.js +126 -60
  635. package/dist/workflows/triggers/workflow-trigger-activator.js.map +1 -1
  636. package/dist/workflows/workflow-creation.service.d.ts +1 -0
  637. package/dist/workflows/workflow-creation.service.js +17 -8
  638. package/dist/workflows/workflow-creation.service.js.map +1 -1
  639. package/dist/workflows/workflow-entity-mapper.d.ts +5 -0
  640. package/dist/workflows/workflow-entity-mapper.js +22 -0
  641. package/dist/workflows/workflow-entity-mapper.js.map +1 -0
  642. package/dist/workflows/workflow-execution.service.d.ts +6 -2
  643. package/dist/workflows/workflow-execution.service.js +36 -13
  644. package/dist/workflows/workflow-execution.service.js.map +1 -1
  645. package/dist/workflows/workflow-history/workflow-history.service.js +1 -0
  646. package/dist/workflows/workflow-history/workflow-history.service.js.map +1 -1
  647. package/dist/workflows/workflow-published-data.service.d.ts +1 -3
  648. package/dist/workflows/workflow-published-data.service.js +2 -9
  649. package/dist/workflows/workflow-published-data.service.js.map +1 -1
  650. package/dist/workflows/workflow-validation.service.js +2 -1
  651. package/dist/workflows/workflow-validation.service.js.map +1 -1
  652. package/dist/workflows/workflow.service.d.ts +4 -3
  653. package/dist/workflows/workflow.service.js +72 -33
  654. package/dist/workflows/workflow.service.js.map +1 -1
  655. package/dist/workflows/workflows.controller.d.ts +3 -2
  656. package/dist/workflows/workflows.controller.js +12 -23
  657. package/dist/workflows/workflows.controller.js.map +1 -1
  658. package/package.json +59 -41
  659. package/templates/form-trigger.handlebars +8 -1
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.KNOWLEDGE_FILES_DIR = exports.AGENT_KNOWLEDGE_VOLUME_MOUNT_PATH = void 0;
7
+ exports.hasControlCharacter = hasControlCharacter;
8
+ exports.buildKnowledgeVolumeSubpath = buildKnowledgeVolumeSubpath;
9
+ exports.assertKnowledgePathSegment = assertKnowledgePathSegment;
10
+ exports.toVolumeStorageReference = toVolumeStorageReference;
11
+ exports.fromVolumeStorageReference = fromVolumeStorageReference;
12
+ exports.storageFileNameForOriginalFileName = storageFileNameForOriginalFileName;
13
+ exports.toAgentFileDto = toAgentFileDto;
14
+ exports.isFilesystemNotFoundError = isFilesystemNotFoundError;
15
+ const node_path_1 = __importDefault(require("node:path"));
16
+ const n8n_workflow_1 = require("n8n-workflow");
17
+ const bad_request_error_1 = require("../../errors/response-errors/bad-request.error");
18
+ exports.AGENT_KNOWLEDGE_VOLUME_MOUNT_PATH = '/home/daytona/workspace/agent-knowledge';
19
+ exports.KNOWLEDGE_FILES_DIR = `${exports.AGENT_KNOWLEDGE_VOLUME_MOUNT_PATH}/files`;
20
+ const AGENT_KNOWLEDGE_VOLUME_SUBPATH_PREFIX = 'agent-knowledge';
21
+ const DAYTONA_VOLUME_STORAGE_PREFIX = 'daytona-volume:';
22
+ function hasControlCharacter(value) {
23
+ for (const character of value) {
24
+ if (character.charCodeAt(0) < 32) {
25
+ return true;
26
+ }
27
+ }
28
+ return false;
29
+ }
30
+ function sanitizePathCharacter(character) {
31
+ if (character === '/' || character === '\\' || character.charCodeAt(0) < 32) {
32
+ return '_';
33
+ }
34
+ return character;
35
+ }
36
+ function buildKnowledgeVolumeSubpath(instanceId, projectId, agentId) {
37
+ return `${instanceId}/${AGENT_KNOWLEDGE_VOLUME_SUBPATH_PREFIX}/projects/${projectId}/agents/${agentId}/knowledge`;
38
+ }
39
+ function assertKnowledgePathSegment(segment, label) {
40
+ if (!segment ||
41
+ segment === '.' ||
42
+ segment === '..' ||
43
+ /[\\/]/.test(segment) ||
44
+ hasControlCharacter(segment)) {
45
+ throw new Error(`Invalid ${label} for agent knowledge storage`);
46
+ }
47
+ }
48
+ function sanitizeStorageFileName(originalName) {
49
+ const basename = node_path_1.default.basename(originalName);
50
+ const sanitized = Array.from(basename, sanitizePathCharacter).join('');
51
+ if (!sanitized || sanitized === '.' || sanitized === '..') {
52
+ throw new bad_request_error_1.BadRequestError(`Invalid knowledge file name "${originalName}"`);
53
+ }
54
+ return sanitized;
55
+ }
56
+ function toVolumeStorageReference(storageFileName) {
57
+ return `${DAYTONA_VOLUME_STORAGE_PREFIX}${storageFileName}`;
58
+ }
59
+ function fromVolumeStorageReference(binaryDataId) {
60
+ if (!binaryDataId.startsWith(DAYTONA_VOLUME_STORAGE_PREFIX)) {
61
+ throw new n8n_workflow_1.OperationalError('Unknown agent file storage reference');
62
+ }
63
+ return binaryDataId.slice(DAYTONA_VOLUME_STORAGE_PREFIX.length);
64
+ }
65
+ function storageFileNameForOriginalFileName(originalFileName) {
66
+ const sanitizedName = sanitizeStorageFileName(originalFileName);
67
+ const extension = node_path_1.default.extname(sanitizedName).toLowerCase();
68
+ if (extension === '.pdf') {
69
+ const baseName = node_path_1.default.basename(sanitizedName, node_path_1.default.extname(sanitizedName));
70
+ return `${baseName}.txt`;
71
+ }
72
+ return sanitizedName;
73
+ }
74
+ function toAgentFileDto(file) {
75
+ return {
76
+ id: file.id,
77
+ agentId: file.agentId,
78
+ fileName: file.fileName,
79
+ mimeType: file.mimeType,
80
+ fileSizeBytes: file.fileSizeBytes,
81
+ createdAt: file.createdAt.toISOString(),
82
+ };
83
+ }
84
+ function isFilesystemNotFoundError(error) {
85
+ return (error instanceof Error &&
86
+ 'statusCode' in error &&
87
+ error.statusCode === 404);
88
+ }
89
+ //# sourceMappingURL=agent-knowledge-storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-knowledge-storage.js","sourceRoot":"","sources":["../../../src/modules/agents/agent-knowledge-storage.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,32 @@
1
- import type { AgentFileDto } from '@n8n/api-types';
1
+ import { type AgentFileDto } from '@n8n/api-types';
2
+ import { Logger } from '@n8n/backend-common';
3
+ import { AgentKnowledgeSandboxService } from './agent-knowledge-sandbox.service';
4
+ import { AgentFileRepository } from './repositories/agent-file.repository';
2
5
  import { AgentRepository } from './repositories/agent.repository';
3
6
  export declare class AgentKnowledgeService {
4
7
  private readonly agentRepository;
5
- constructor(agentRepository: AgentRepository);
6
- uploadFiles(agentId: string, projectId: string, files: Express.Multer.File[]): Promise<AgentFileDto[]>;
8
+ private readonly agentFileRepository;
9
+ private readonly agentKnowledgeSandboxService;
10
+ private readonly logger;
11
+ constructor(agentRepository: AgentRepository, agentFileRepository: AgentFileRepository, agentKnowledgeSandboxService: AgentKnowledgeSandboxService, logger: Logger);
12
+ uploadFiles(agentId: string, projectId: string, files: Express.Multer.File[], userId: string): Promise<AgentFileDto[]>;
7
13
  listFiles(agentId: string, projectId: string): Promise<AgentFileDto[]>;
8
- deleteFile(agentId: string, projectId: string, _fileId: string): Promise<void>;
9
- deleteAllFilesForAgent(_agentId: string): Promise<void>;
14
+ warmSandbox(agentId: string, projectId: string, userId: string): Promise<void>;
15
+ deleteFile(agentId: string, projectId: string, fileId: string, userId: string): Promise<void>;
16
+ deleteAllFilesForAgent(projectId: string, agentId: string, userId: string): Promise<void>;
17
+ private reserveAgentFile;
18
+ private prepareVolumeUpload;
19
+ private cleanupUploadedFiles;
20
+ private extractPdfText;
21
+ private deleteVolumeFile;
22
+ private deleteVolumeFileInBackground;
23
+ private deleteKnowledgeDirectoryInBackground;
24
+ private deleteKnowledgeDirectory;
25
+ private storagePathFor;
26
+ private validateUploadMetadata;
27
+ private validateUploadBatch;
28
+ private duplicateFileNameError;
29
+ private validateMetadataLength;
10
30
  private ensureAgentBelongsToProject;
11
31
  private cleanupUploadTempFiles;
12
32
  private cleanupUploadTempFile;
@@ -8,20 +8,73 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.AgentKnowledgeService = void 0;
16
+ const api_types_1 = require("@n8n/api-types");
17
+ const ai_utilities_1 = require("@n8n/ai-utilities");
18
+ const backend_common_1 = require("@n8n/backend-common");
13
19
  const di_1 = require("@n8n/di");
20
+ const typeorm_1 = require("@n8n/typeorm");
21
+ const utils_1 = require("@n8n/utils");
14
22
  const promises_1 = require("node:fs/promises");
23
+ const node_path_1 = __importDefault(require("node:path"));
24
+ const bad_request_error_1 = require("../../errors/response-errors/bad-request.error");
15
25
  const not_found_error_1 = require("../../errors/response-errors/not-found.error");
26
+ const agent_knowledge_storage_1 = require("./agent-knowledge-storage");
27
+ const agent_knowledge_sandbox_service_1 = require("./agent-knowledge-sandbox.service");
28
+ const agent_file_repository_1 = require("./repositories/agent-file.repository");
16
29
  const agent_repository_1 = require("./repositories/agent.repository");
30
+ const MAX_AGENT_FILE_METADATA_LENGTH = 255;
31
+ function isUniqueConstraintError(error) {
32
+ if (!(error instanceof typeorm_1.QueryFailedError))
33
+ return false;
34
+ const driverError = error.driverError;
35
+ if (!driverError || typeof driverError !== 'object')
36
+ return false;
37
+ const code = 'code' in driverError && typeof driverError.code === 'string' ? driverError.code : undefined;
38
+ if (code === '23505')
39
+ return true;
40
+ if (code === 'SQLITE_CONSTRAINT_UNIQUE')
41
+ return true;
42
+ if (code === 'SQLITE_CONSTRAINT' && /UNIQUE constraint/i.test(error.message))
43
+ return true;
44
+ return false;
45
+ }
17
46
  let AgentKnowledgeService = class AgentKnowledgeService {
18
- constructor(agentRepository) {
47
+ constructor(agentRepository, agentFileRepository, agentKnowledgeSandboxService, logger) {
19
48
  this.agentRepository = agentRepository;
49
+ this.agentFileRepository = agentFileRepository;
50
+ this.agentKnowledgeSandboxService = agentKnowledgeSandboxService;
51
+ this.logger = logger;
20
52
  }
21
- async uploadFiles(agentId, projectId, files) {
53
+ async uploadFiles(agentId, projectId, files, userId) {
22
54
  try {
23
55
  await this.ensureAgentBelongsToProject(agentId, projectId);
24
- return [];
56
+ this.validateUploadMetadata(files);
57
+ await this.validateUploadBatch(agentId, files);
58
+ const uploadedFiles = [];
59
+ await this.agentKnowledgeSandboxService.withKnowledgeFilesystem(projectId, agentId, userId, async (filesystem) => {
60
+ const volumeUploads = [];
61
+ try {
62
+ for (const file of files) {
63
+ const storageFileName = (0, agent_knowledge_storage_1.storageFileNameForOriginalFileName)(file.originalname);
64
+ const agentFile = await this.reserveAgentFile(agentId, file, storageFileName);
65
+ uploadedFiles.push(agentFile);
66
+ const upload = await this.prepareVolumeUpload(file, storageFileName);
67
+ volumeUploads.push(upload);
68
+ }
69
+ await filesystem.ensureDir(agent_knowledge_storage_1.KNOWLEDGE_FILES_DIR);
70
+ await filesystem.uploadFiles(volumeUploads);
71
+ }
72
+ catch (error) {
73
+ await this.cleanupUploadedFiles(filesystem, uploadedFiles);
74
+ throw error;
75
+ }
76
+ });
77
+ return uploadedFiles.map((file) => (0, agent_knowledge_storage_1.toAgentFileDto)(file));
25
78
  }
26
79
  finally {
27
80
  await this.cleanupUploadTempFiles(files);
@@ -29,12 +82,179 @@ let AgentKnowledgeService = class AgentKnowledgeService {
29
82
  }
30
83
  async listFiles(agentId, projectId) {
31
84
  await this.ensureAgentBelongsToProject(agentId, projectId);
32
- return [];
85
+ const files = await this.agentFileRepository.findByAgentId(agentId);
86
+ return files.map((file) => (0, agent_knowledge_storage_1.toAgentFileDto)(file));
87
+ }
88
+ async warmSandbox(agentId, projectId, userId) {
89
+ await this.ensureAgentBelongsToProject(agentId, projectId);
90
+ await this.agentKnowledgeSandboxService.warmSandbox(projectId, agentId, userId);
33
91
  }
34
- async deleteFile(agentId, projectId, _fileId) {
92
+ async deleteFile(agentId, projectId, fileId, userId) {
35
93
  await this.ensureAgentBelongsToProject(agentId, projectId);
94
+ const file = await this.agentFileRepository.findByIdAndAgentId(fileId, agentId);
95
+ if (!file) {
96
+ return;
97
+ }
98
+ await this.agentFileRepository.delete({ id: fileId, agentId });
99
+ this.deleteVolumeFileInBackground(projectId, agentId, userId, file);
100
+ }
101
+ async deleteAllFilesForAgent(projectId, agentId, userId) {
102
+ await this.agentFileRepository.delete({ agentId });
103
+ this.deleteKnowledgeDirectoryInBackground(projectId, agentId, userId);
104
+ }
105
+ async reserveAgentFile(agentId, file, storageFileName) {
106
+ const fileId = (0, utils_1.generateNanoId)();
107
+ const agentFile = this.agentFileRepository.create({
108
+ id: fileId,
109
+ agentId,
110
+ binaryDataId: (0, agent_knowledge_storage_1.toVolumeStorageReference)(storageFileName),
111
+ fileName: file.originalname,
112
+ mimeType: file.mimetype,
113
+ fileSizeBytes: file.size,
114
+ });
115
+ try {
116
+ return await this.agentFileRepository.save(agentFile);
117
+ }
118
+ catch (error) {
119
+ if (isUniqueConstraintError(error)) {
120
+ throw this.duplicateFileNameError(file.originalname);
121
+ }
122
+ throw error;
123
+ }
124
+ }
125
+ async prepareVolumeUpload(file, storageFileName) {
126
+ if (!file.path) {
127
+ throw new bad_request_error_1.BadRequestError('Uploaded file path is missing');
128
+ }
129
+ const extension = node_path_1.default.extname(file.originalname).toLowerCase();
130
+ if (extension === '.pdf') {
131
+ const extractedText = await this.extractPdfText(file.path);
132
+ return {
133
+ source: Buffer.from(extractedText, 'utf-8'),
134
+ destination: this.storagePathFor(storageFileName),
135
+ };
136
+ }
137
+ return {
138
+ source: file.path,
139
+ destination: this.storagePathFor(storageFileName),
140
+ };
141
+ }
142
+ async cleanupUploadedFiles(filesystem, files) {
143
+ for (const file of files) {
144
+ await this.deleteVolumeFile(filesystem, file).catch(() => { });
145
+ await this.agentFileRepository.delete({ id: file.id, agentId: file.agentId }).catch(() => { });
146
+ }
147
+ }
148
+ async extractPdfText(filePath) {
149
+ const loader = new ai_utilities_1.N8nPdfLoader(filePath, { splitPages: false });
150
+ const documents = await loader.load();
151
+ const extractedText = documents
152
+ .map((document) => document.pageContent)
153
+ .join('\n\n')
154
+ .trim();
155
+ if (!extractedText) {
156
+ throw new bad_request_error_1.BadRequestError('PDF contains no extractable text and cannot be added to knowledge');
157
+ }
158
+ return extractedText;
159
+ }
160
+ async deleteVolumeFile(filesystem, file) {
161
+ const storageFileName = (0, agent_knowledge_storage_1.fromVolumeStorageReference)(file.binaryDataId);
162
+ try {
163
+ await filesystem.deleteFile(this.storagePathFor(storageFileName));
164
+ }
165
+ catch (error) {
166
+ if (!(0, agent_knowledge_storage_1.isFilesystemNotFoundError)(error)) {
167
+ throw error;
168
+ }
169
+ }
170
+ }
171
+ deleteVolumeFileInBackground(projectId, agentId, userId, file) {
172
+ void this.agentKnowledgeSandboxService
173
+ .withKnowledgeFilesystem(projectId, agentId, userId, async (filesystem) => {
174
+ await this.deleteVolumeFile(filesystem, file);
175
+ })
176
+ .catch((error) => {
177
+ this.logger.warn('Failed to delete knowledge file from volume', {
178
+ agentId,
179
+ fileId: file.id,
180
+ error: error instanceof Error ? error.message : error,
181
+ });
182
+ });
183
+ }
184
+ deleteKnowledgeDirectoryInBackground(projectId, agentId, userId) {
185
+ void this.agentKnowledgeSandboxService
186
+ .withKnowledgeFilesystem(projectId, agentId, userId, async (filesystem) => {
187
+ await this.deleteKnowledgeDirectory(filesystem);
188
+ })
189
+ .catch((error) => {
190
+ this.logger.warn('Failed to delete knowledge files from volume', {
191
+ agentId,
192
+ error: error instanceof Error ? error.message : error,
193
+ });
194
+ });
195
+ }
196
+ async deleteKnowledgeDirectory(filesystem) {
197
+ try {
198
+ await filesystem.deleteFile(agent_knowledge_storage_1.KNOWLEDGE_FILES_DIR, true);
199
+ }
200
+ catch (error) {
201
+ if (!(0, agent_knowledge_storage_1.isFilesystemNotFoundError)(error)) {
202
+ throw error;
203
+ }
204
+ }
36
205
  }
37
- async deleteAllFilesForAgent(_agentId) {
206
+ storagePathFor(storageFileName) {
207
+ return `${agent_knowledge_storage_1.KNOWLEDGE_FILES_DIR}/${storageFileName}`;
208
+ }
209
+ validateUploadMetadata(files) {
210
+ for (const file of files) {
211
+ this.validateMetadataLength('File name', file.originalname);
212
+ this.validateMetadataLength('MIME type', file.mimetype);
213
+ }
214
+ }
215
+ async validateUploadBatch(agentId, files) {
216
+ const existingFiles = await this.agentFileRepository.findByAgentId(agentId);
217
+ const existingTotalSizeBytes = existingFiles.reduce((total, file) => total + file.fileSizeBytes, 0);
218
+ const uploadTotalSizeBytes = files.reduce((total, file) => total + file.size, 0);
219
+ if (existingTotalSizeBytes + uploadTotalSizeBytes > api_types_1.MAX_AGENT_KNOWLEDGE_BASE_SIZE_BYTES) {
220
+ throw new bad_request_error_1.BadRequestError(`Knowledge base limit reached. The total size can't be larger than ${api_types_1.MAX_AGENT_KNOWLEDGE_BASE_SIZE_GB} GB.`);
221
+ }
222
+ const existingFileNames = new Set(existingFiles.map((file) => file.fileName));
223
+ const existingStorageNames = new Set();
224
+ for (const file of existingFiles) {
225
+ try {
226
+ existingStorageNames.add((0, agent_knowledge_storage_1.fromVolumeStorageReference)(file.binaryDataId));
227
+ }
228
+ catch {
229
+ }
230
+ }
231
+ const batchFileNames = new Set();
232
+ const batchStorageNames = new Set();
233
+ for (const file of files) {
234
+ if (batchFileNames.has(file.originalname)) {
235
+ throw this.duplicateFileNameError(file.originalname);
236
+ }
237
+ batchFileNames.add(file.originalname);
238
+ if (existingFileNames.has(file.originalname)) {
239
+ throw this.duplicateFileNameError(file.originalname);
240
+ }
241
+ const storageFileName = (0, agent_knowledge_storage_1.storageFileNameForOriginalFileName)(file.originalname);
242
+ if (batchStorageNames.has(storageFileName)) {
243
+ throw this.duplicateFileNameError(file.originalname);
244
+ }
245
+ batchStorageNames.add(storageFileName);
246
+ if (existingStorageNames.has(storageFileName)) {
247
+ throw this.duplicateFileNameError(file.originalname);
248
+ }
249
+ }
250
+ }
251
+ duplicateFileNameError(fileName) {
252
+ return new bad_request_error_1.BadRequestError(`A knowledge file named "${fileName}" already exists for this agent`);
253
+ }
254
+ validateMetadataLength(label, value) {
255
+ if (value.length > MAX_AGENT_FILE_METADATA_LENGTH) {
256
+ throw new bad_request_error_1.BadRequestError(`${label} must be ${MAX_AGENT_FILE_METADATA_LENGTH} characters or less`);
257
+ }
38
258
  }
39
259
  async ensureAgentBelongsToProject(agentId, projectId) {
40
260
  const agent = await this.agentRepository.findByIdAndProjectId(agentId, projectId);
@@ -54,6 +274,9 @@ let AgentKnowledgeService = class AgentKnowledgeService {
54
274
  exports.AgentKnowledgeService = AgentKnowledgeService;
55
275
  exports.AgentKnowledgeService = AgentKnowledgeService = __decorate([
56
276
  (0, di_1.Service)(),
57
- __metadata("design:paramtypes", [agent_repository_1.AgentRepository])
277
+ __metadata("design:paramtypes", [agent_repository_1.AgentRepository,
278
+ agent_file_repository_1.AgentFileRepository,
279
+ agent_knowledge_sandbox_service_1.AgentKnowledgeSandboxService,
280
+ backend_common_1.Logger])
58
281
  ], AgentKnowledgeService);
59
282
  //# sourceMappingURL=agent-knowledge.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-knowledge.service.js","sourceRoot":"","sources":["../../../src/modules/agents/agent-knowledge.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,gCAAkC;AAClC,+CAA0C;AAE1C,8EAAyE;AAEzE,sEAAkE;AAG3D,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IACjC,YAA6B,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;IAAG,CAAC;IAEjE,KAAK,CAAC,WAAW,CAChB,OAAe,EACf,SAAiB,EACjB,KAA4B;QAE5B,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAC3D,OAAO,EAAE,CAAC;QACX,CAAC;gBAAS,CAAC;YACV,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;IACF,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAe,EAAE,SAAiB;QACjD,MAAM,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC3D,OAAO,EAAE,CAAC;IACX,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,SAAiB,EAAE,OAAe;QACnE,MAAM,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,QAAgB;IAE7C,CAAC;IAEO,KAAK,CAAC,2BAA2B,CAAC,OAAe,EAAE,SAAiB;QAC3E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAClF,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,IAAI,+BAAa,CAAC,UAAU,OAAO,aAAa,CAAC,CAAC;QACzD,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,KAA4B;QAChE,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,IAAyB;QAC5D,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO;QAEvB,MAAM,IAAA,iBAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACzC,CAAC;CACD,CAAA;AA7CY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,YAAO,GAAE;qCAEqC,kCAAe;GADjD,qBAAqB,CA6CjC"}
1
+ {"version":3,"file":"agent-knowledge.service.js","sourceRoot":"","sources":["../../../src/modules/agents/agent-knowledge.service.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { type Agent as RuntimeAgent, CredentialProvider, ToolDescriptor } from '@n8n/agents';
2
2
  import { type AgentIntegrationConfig, type AgentJsonConfig, type AgentSkill, type SubAgentSource } from '@n8n/api-types';
3
3
  import { Logger } from '@n8n/backend-common';
4
+ import { OutboundHttp } from '@n8n/backend-network';
4
5
  import { AgentsConfig } from '@n8n/config';
5
6
  import { UserRepository, WorkflowRepository } from '@n8n/db';
6
7
  import { ActiveExecutions } from '../../active-executions';
@@ -9,13 +10,15 @@ import { OauthService } from '../../oauth/oauth.service';
9
10
  import { UrlService } from '../../services/url.service';
10
11
  import { WorkflowRunner } from '../../workflow-runner';
11
12
  import { WorkflowFinderService } from '../../workflows/workflow-finder.service';
13
+ import { AgentsToolsService } from './agents-tools.service';
12
14
  import { Agent } from './entities/agent.entity';
13
15
  import { N8NCheckpointStorage } from './integrations/n8n-checkpoint-storage';
14
16
  import { N8nMemory } from './integrations/n8n-memory';
17
+ import { AgentFileRepository } from './repositories/agent-file.repository';
15
18
  import { AgentRepository } from './repositories/agent.repository';
16
19
  import { AgentSecureRuntime } from './runtime/agent-secure-runtime';
20
+ import { AgentKnowledgeSandboxService } from './agent-knowledge-sandbox.service';
17
21
  import { type ToolRegistry } from './tool-registry';
18
- import { AgentsToolsService } from './agents-tools.service';
19
22
  export type AgentRuntimeProfile = 'top-level' | 'sub-agent';
20
23
  export interface SubAgentDelegationConfig {
21
24
  sourcesById: Record<string, SubAgentSource>;
@@ -42,6 +45,7 @@ export interface ReconstructAgentRuntimeParams {
42
45
  export declare class AgentRuntimeReconstructionService {
43
46
  private readonly logger;
44
47
  private readonly agentRepository;
48
+ private readonly agentFileRepository;
45
49
  private readonly workflowRunner;
46
50
  private readonly activeExecutions;
47
51
  private readonly workflowRepository;
@@ -55,7 +59,9 @@ export declare class AgentRuntimeReconstructionService {
55
59
  private readonly n8nMemory;
56
60
  private readonly oauthService;
57
61
  private readonly agentsConfig;
58
- constructor(logger: Logger, agentRepository: AgentRepository, workflowRunner: WorkflowRunner, activeExecutions: ActiveExecutions, workflowRepository: WorkflowRepository, userRepository: UserRepository, workflowFinderService: WorkflowFinderService, urlService: UrlService, n8nCheckpointStorage: N8NCheckpointStorage, secureRuntime: AgentSecureRuntime, ephemeralNodeExecutor: EphemeralNodeExecutor, agentsToolsService: AgentsToolsService, n8nMemory: N8nMemory, oauthService: OauthService, agentsConfig: AgentsConfig);
62
+ private readonly outboundHttp;
63
+ private readonly agentKnowledgeSandboxService;
64
+ constructor(logger: Logger, agentRepository: AgentRepository, agentFileRepository: AgentFileRepository, workflowRunner: WorkflowRunner, activeExecutions: ActiveExecutions, workflowRepository: WorkflowRepository, userRepository: UserRepository, workflowFinderService: WorkflowFinderService, urlService: UrlService, n8nCheckpointStorage: N8NCheckpointStorage, secureRuntime: AgentSecureRuntime, ephemeralNodeExecutor: EphemeralNodeExecutor, agentsToolsService: AgentsToolsService, n8nMemory: N8nMemory, oauthService: OauthService, agentsConfig: AgentsConfig, outboundHttp: OutboundHttp, agentKnowledgeSandboxService: AgentKnowledgeSandboxService);
59
65
  reconstructFromAgentEntity(agentEntity: Agent, credentialProvider: CredentialProvider, userId: string, integrationType?: string): Promise<{
60
66
  agent: RuntimeAgent;
61
67
  toolRegistry: ToolRegistry;
@@ -46,6 +46,7 @@ exports.AgentRuntimeReconstructionService = void 0;
46
46
  const agents_1 = require("@n8n/agents");
47
47
  const api_types_1 = require("@n8n/api-types");
48
48
  const backend_common_1 = require("@n8n/backend-common");
49
+ const backend_network_1 = require("@n8n/backend-network");
49
50
  const config_1 = require("@n8n/config");
50
51
  const db_1 = require("@n8n/db");
51
52
  const di_1 = require("@n8n/di");
@@ -54,8 +55,10 @@ const active_executions_1 = require("../../active-executions");
54
55
  const node_execution_1 = require("../../node-execution");
55
56
  const oauth_service_1 = require("../../oauth/oauth.service");
56
57
  const url_service_1 = require("../../services/url.service");
58
+ const ai_proxy_fetch_1 = require("../../utils/ai-proxy-fetch");
57
59
  const workflow_runner_1 = require("../../workflow-runner");
58
60
  const workflow_finder_service_1 = require("../../workflows/workflow-finder.service");
61
+ const agents_tools_service_1 = require("./agents-tools.service");
59
62
  const agent_chat_integration_1 = require("./integrations/agent-chat-integration");
60
63
  const integration_action_executor_1 = require("./integrations/integration-action-executor");
61
64
  const integration_context_query_executor_1 = require("./integrations/integration-context-query-executor");
@@ -63,20 +66,23 @@ const integration_message_context_service_1 = require("./integrations/integratio
63
66
  const integration_tools_1 = require("./integrations/integration-tools");
64
67
  const n8n_checkpoint_storage_1 = require("./integrations/n8n-checkpoint-storage");
65
68
  const n8n_memory_1 = require("./integrations/n8n-memory");
66
- const environment_tool_1 = require("./tools/environment-tool");
67
69
  const from_json_config_1 = require("./json-config/from-json-config");
68
70
  const mcp_client_factory_1 = require("./json-config/mcp-client-factory");
69
71
  const model_config_1 = require("./json-config/model-config");
72
+ const agent_file_repository_1 = require("./repositories/agent-file.repository");
70
73
  const agent_repository_1 = require("./repositories/agent.repository");
71
74
  const agent_secure_runtime_1 = require("./runtime/agent-secure-runtime");
72
- const tool_registry_1 = require("./tool-registry");
73
- const agents_tools_service_1 = require("./agents-tools.service");
75
+ const agent_knowledge_gate_1 = require("./agent-knowledge-gate");
76
+ const agent_knowledge_sandbox_service_1 = require("./agent-knowledge-sandbox.service");
74
77
  const delegate_sub_agent_tool_1 = require("./sub-agents/delegate-sub-agent-tool");
75
78
  const sub_agent_foreground_runner_1 = require("./sub-agents/sub-agent-foreground-runner");
79
+ const tool_registry_1 = require("./tool-registry");
80
+ const environment_tool_1 = require("./tools/environment-tool");
76
81
  let AgentRuntimeReconstructionService = class AgentRuntimeReconstructionService {
77
- constructor(logger, agentRepository, workflowRunner, activeExecutions, workflowRepository, userRepository, workflowFinderService, urlService, n8nCheckpointStorage, secureRuntime, ephemeralNodeExecutor, agentsToolsService, n8nMemory, oauthService, agentsConfig) {
82
+ constructor(logger, agentRepository, agentFileRepository, workflowRunner, activeExecutions, workflowRepository, userRepository, workflowFinderService, urlService, n8nCheckpointStorage, secureRuntime, ephemeralNodeExecutor, agentsToolsService, n8nMemory, oauthService, agentsConfig, outboundHttp, agentKnowledgeSandboxService) {
78
83
  this.logger = logger;
79
84
  this.agentRepository = agentRepository;
85
+ this.agentFileRepository = agentFileRepository;
80
86
  this.workflowRunner = workflowRunner;
81
87
  this.activeExecutions = activeExecutions;
82
88
  this.workflowRepository = workflowRepository;
@@ -90,6 +96,8 @@ let AgentRuntimeReconstructionService = class AgentRuntimeReconstructionService
90
96
  this.n8nMemory = n8nMemory;
91
97
  this.oauthService = oauthService;
92
98
  this.agentsConfig = agentsConfig;
99
+ this.outboundHttp = outboundHttp;
100
+ this.agentKnowledgeSandboxService = agentKnowledgeSandboxService;
93
101
  }
94
102
  async reconstructFromAgentEntity(agentEntity, credentialProvider, userId, integrationType) {
95
103
  const config = agentEntity.schema;
@@ -132,10 +140,12 @@ let AgentRuntimeReconstructionService = class AgentRuntimeReconstructionService
132
140
  const toolExecutor = this.secureRuntime.createToolExecutor(toolCodeByName);
133
141
  const toolResolver = this.makeToolResolver(projectId, userId);
134
142
  const resolvedTools = [];
143
+ const aiProxyFetch = (0, ai_proxy_fetch_1.createAiProxyFetch)(this.outboundHttp);
135
144
  const buildMcpClient = async (server) => await (0, mcp_client_factory_1.buildMcpClientForServer)(server, {
136
145
  credentialProvider,
137
146
  oauthService: this.oauthService,
138
147
  projectId,
148
+ proxyFetch: aiProxyFetch,
139
149
  });
140
150
  const reconstructed = await (0, from_json_config_1.buildFromJson)(config, toolDescriptors, {
141
151
  toolExecutor,
@@ -149,6 +159,7 @@ let AgentRuntimeReconstructionService = class AgentRuntimeReconstructionService
149
159
  skills,
150
160
  memoryFactory: this.getMemoryFactory(memoryOwnerAgentId),
151
161
  buildMcpClient,
162
+ modelFetch: aiProxyFetch,
152
163
  });
153
164
  await this.injectRuntimeDependencies({
154
165
  agent: reconstructed,
@@ -234,21 +245,45 @@ let AgentRuntimeReconstructionService = class AgentRuntimeReconstructionService
234
245
  };
235
246
  }
236
247
  async injectRuntimeDependencies(params) {
237
- const { agent, agentId, projectId, credentialProvider, userId, runtimeProfile, config, nodeToolsEnabled, subAgentDelegation, parentAgentIdForDelegation, credentialIntegrations, } = params;
248
+ const { agent, agentId, projectId, credentialProvider, userId, runtimeProfile, config, nodeToolsEnabled, subAgentDelegation, parentAgentIdForDelegation, integrationType, credentialIntegrations, } = params;
238
249
  agent.tool((0, environment_tool_1.createGetEnvironmentTool)());
250
+ if ((0, agent_knowledge_gate_1.isAgentKnowledgeBaseEnabled)(this.agentsConfig) &&
251
+ (await this.agentFileRepository.hasFilesForAgent(agentId))) {
252
+ const { createKnowledgeRetrievalTools } = await Promise.resolve().then(() => __importStar(require('./tools/knowledge/search-knowledge.tool')));
253
+ agent.tool(createKnowledgeRetrievalTools({
254
+ projectId,
255
+ agentId,
256
+ userId,
257
+ sandboxService: this.agentKnowledgeSandboxService,
258
+ }));
259
+ }
239
260
  if (runtimeProfile === 'top-level') {
240
- const integrationRegistry = di_1.Container.get(agent_chat_integration_1.ChatIntegrationRegistry);
241
- if (credentialIntegrations.length > 0) {
261
+ const includeN8nChat = integrationType === api_types_1.N8N_CHAT_INTEGRATION_TYPE;
262
+ if (credentialIntegrations.length > 0 || includeN8nChat) {
263
+ const integrationRegistry = di_1.Container.get(agent_chat_integration_1.ChatIntegrationRegistry);
242
264
  const messageContextStore = di_1.Container.get(integration_message_context_service_1.IntegrationMessageContextService);
243
265
  const actionExecutor = di_1.Container.get(integration_action_executor_1.ChatIntegrationActionExecutor);
244
266
  const queryExecutor = di_1.Container.get(integration_context_query_executor_1.ChatIntegrationContextQueryExecutor);
245
- for (const descriptor of (0, integration_tools_1.getIntegrationToolConnectionDescriptors)(credentialIntegrations, agentId, (integrationConfig) => {
267
+ const descriptors = (0, integration_tools_1.getIntegrationToolConnectionDescriptors)(credentialIntegrations, agentId, (integrationConfig) => {
246
268
  const integrationDef = integrationRegistry.get(integrationConfig.type);
247
269
  return {
248
270
  contextQueries: integrationDef?.contextQueries,
249
271
  actions: integrationDef?.actions,
250
272
  };
251
- })) {
273
+ });
274
+ if (includeN8nChat) {
275
+ const n8nChat = integrationRegistry.require(api_types_1.N8N_CHAT_INTEGRATION_TYPE);
276
+ descriptors.push({
277
+ agentId,
278
+ integration: { type: api_types_1.N8N_CHAT_INTEGRATION_TYPE },
279
+ integrationConnectionId: api_types_1.N8N_CHAT_INTEGRATION_TYPE,
280
+ contextToolName: api_types_1.N8N_CHAT_CONTEXT_TOOL_NAME,
281
+ actionToolName: api_types_1.N8N_CHAT_ACTION_TOOL_NAME,
282
+ contextQueries: [...n8nChat.contextQueries],
283
+ actions: [...n8nChat.actions],
284
+ });
285
+ }
286
+ for (const descriptor of descriptors) {
252
287
  agent.tool((0, integration_tools_1.createIntegrationContextTool)({ descriptor, messageContextStore, queryExecutor }));
253
288
  agent.tool((0, integration_tools_1.createIntegrationActionTool)({ descriptor, messageContextStore, actionExecutor }));
254
289
  }
@@ -270,7 +305,7 @@ let AgentRuntimeReconstructionService = class AgentRuntimeReconstructionService
270
305
  this.attachWriteTodosTool(agent, agentId);
271
306
  }
272
307
  if (!agent.hasCheckpointStorage()) {
273
- agent.checkpoint(this.n8nCheckpointStorage);
308
+ agent.checkpoint(this.n8nCheckpointStorage.getStorage(agentId));
274
309
  }
275
310
  }
276
311
  async attachSubAgentDelegationTool(params) {
@@ -319,6 +354,7 @@ exports.AgentRuntimeReconstructionService = AgentRuntimeReconstructionService =
319
354
  (0, di_1.Service)(),
320
355
  __metadata("design:paramtypes", [backend_common_1.Logger,
321
356
  agent_repository_1.AgentRepository,
357
+ agent_file_repository_1.AgentFileRepository,
322
358
  workflow_runner_1.WorkflowRunner,
323
359
  active_executions_1.ActiveExecutions,
324
360
  db_1.WorkflowRepository,
@@ -331,6 +367,8 @@ exports.AgentRuntimeReconstructionService = AgentRuntimeReconstructionService =
331
367
  agents_tools_service_1.AgentsToolsService,
332
368
  n8n_memory_1.N8nMemory,
333
369
  oauth_service_1.OauthService,
334
- config_1.AgentsConfig])
370
+ config_1.AgentsConfig,
371
+ backend_network_1.OutboundHttp,
372
+ agent_knowledge_sandbox_service_1.AgentKnowledgeSandboxService])
335
373
  ], AgentRuntimeReconstructionService);
336
374
  //# sourceMappingURL=agent-runtime-reconstruction.service.js.map