@n8n/ai-utilities 0.23.3 → 0.24.1

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 (282) hide show
  1. package/dist/cjs/adapters/langchain-chat-model.js +174 -184
  2. package/dist/cjs/adapters/langchain-chat-model.js.map +1 -1
  3. package/dist/cjs/adapters/langchain-history.js +23 -33
  4. package/dist/cjs/adapters/langchain-history.js.map +1 -1
  5. package/dist/cjs/adapters/langchain-memory.js +32 -42
  6. package/dist/cjs/adapters/langchain-memory.js.map +1 -1
  7. package/dist/cjs/agent-config/config-normalization.d.ts +11 -0
  8. package/dist/cjs/agent-config/config-normalization.js +134 -0
  9. package/dist/cjs/agent-config/config-normalization.js.map +1 -0
  10. package/dist/cjs/agent-config/from-ai-node-parameters.d.ts +7 -0
  11. package/dist/cjs/agent-config/from-ai-node-parameters.js +43 -0
  12. package/dist/cjs/agent-config/from-ai-node-parameters.js.map +1 -0
  13. package/dist/cjs/agent-config/index.d.ts +3 -0
  14. package/dist/cjs/agent-config/index.js +17 -0
  15. package/dist/cjs/agent-config/index.js.map +1 -0
  16. package/dist/cjs/agent-config/model-id.d.ts +5 -0
  17. package/dist/cjs/agent-config/model-id.js +16 -0
  18. package/dist/cjs/agent-config/model-id.js.map +1 -0
  19. package/dist/cjs/agent-config/native-web-search-provider-tools.d.ts +7 -0
  20. package/dist/cjs/agent-config/native-web-search-provider-tools.js +55 -0
  21. package/dist/cjs/agent-config/native-web-search-provider-tools.js.map +1 -0
  22. package/dist/cjs/ai-node-sdk-version.js +4 -14
  23. package/dist/cjs/ai-node-sdk-version.js.map +1 -1
  24. package/dist/cjs/chat-model/base.js +21 -31
  25. package/dist/cjs/chat-model/base.js.map +1 -1
  26. package/dist/cjs/converters/message.js +308 -318
  27. package/dist/cjs/converters/message.js.map +1 -1
  28. package/dist/cjs/converters/tool.js +50 -60
  29. package/dist/cjs/converters/tool.js.map +1 -1
  30. package/dist/cjs/guards.js +26 -36
  31. package/dist/cjs/guards.js.map +1 -1
  32. package/dist/cjs/index.js +99 -108
  33. package/dist/cjs/index.js.map +1 -1
  34. package/dist/cjs/memory/base-chat-history.js +9 -19
  35. package/dist/cjs/memory/base-chat-history.js.map +1 -1
  36. package/dist/cjs/memory/base-chat-memory.js +6 -16
  37. package/dist/cjs/memory/base-chat-memory.js.map +1 -1
  38. package/dist/cjs/memory/windowed-chat-memory.js +33 -43
  39. package/dist/cjs/memory/windowed-chat-memory.js.map +1 -1
  40. package/dist/cjs/model-discovery/index.js +61 -71
  41. package/dist/cjs/model-discovery/index.js.map +1 -1
  42. package/dist/cjs/model-discovery/providers/anthropic.js +12 -22
  43. package/dist/cjs/model-discovery/providers/anthropic.js.map +1 -1
  44. package/dist/cjs/model-discovery/providers/cohere.js +12 -22
  45. package/dist/cjs/model-discovery/providers/cohere.js.map +1 -1
  46. package/dist/cjs/model-discovery/providers/deepseek.js +5 -15
  47. package/dist/cjs/model-discovery/providers/deepseek.js.map +1 -1
  48. package/dist/cjs/model-discovery/providers/google.js +15 -25
  49. package/dist/cjs/model-discovery/providers/google.js.map +1 -1
  50. package/dist/cjs/model-discovery/providers/groq.js +9 -19
  51. package/dist/cjs/model-discovery/providers/groq.js.map +1 -1
  52. package/dist/cjs/model-discovery/providers/mistral.js +11 -21
  53. package/dist/cjs/model-discovery/providers/mistral.js.map +1 -1
  54. package/dist/cjs/model-discovery/providers/nvidia.js +21 -31
  55. package/dist/cjs/model-discovery/providers/nvidia.js.map +1 -1
  56. package/dist/cjs/model-discovery/providers/openai.js +31 -41
  57. package/dist/cjs/model-discovery/providers/openai.js.map +1 -1
  58. package/dist/cjs/model-discovery/providers/openrouter.js +5 -15
  59. package/dist/cjs/model-discovery/providers/openrouter.js.map +1 -1
  60. package/dist/cjs/model-discovery/providers/vercel.js +5 -15
  61. package/dist/cjs/model-discovery/providers/vercel.js.map +1 -1
  62. package/dist/cjs/model-discovery/providers/xai.js +5 -15
  63. package/dist/cjs/model-discovery/providers/xai.js.map +1 -1
  64. package/dist/cjs/model-discovery/request.js +40 -50
  65. package/dist/cjs/model-discovery/request.js.map +1 -1
  66. package/dist/cjs/model-discovery/types.js +2 -12
  67. package/dist/cjs/node-catalog/discriminator-utils.js +75 -85
  68. package/dist/cjs/node-catalog/discriminator-utils.js.map +1 -1
  69. package/dist/cjs/node-catalog/dynamic-node-parameters.js +169 -179
  70. package/dist/cjs/node-catalog/dynamic-node-parameters.js.map +1 -1
  71. package/dist/cjs/node-catalog/get.js +349 -359
  72. package/dist/cjs/node-catalog/get.js.map +1 -1
  73. package/dist/cjs/node-catalog/index.js +42 -52
  74. package/dist/cjs/node-catalog/index.js.map +1 -1
  75. package/dist/cjs/node-catalog/lean-node-type.js +46 -56
  76. package/dist/cjs/node-catalog/lean-node-type.js.map +1 -1
  77. package/dist/cjs/node-catalog/node-type-parser.js +61 -71
  78. package/dist/cjs/node-catalog/node-type-parser.js.map +1 -1
  79. package/dist/cjs/node-catalog/resource-operation-extractor.js +133 -143
  80. package/dist/cjs/node-catalog/resource-operation-extractor.js.map +1 -1
  81. package/dist/cjs/node-catalog/search-engine.js +285 -295
  82. package/dist/cjs/node-catalog/search-engine.js.map +1 -1
  83. package/dist/cjs/node-catalog/search.js +280 -290
  84. package/dist/cjs/node-catalog/search.js.map +1 -1
  85. package/dist/cjs/node-catalog/suggested-nodes-data.js +235 -245
  86. package/dist/cjs/node-catalog/suggested-nodes-data.js.map +1 -1
  87. package/dist/cjs/node-catalog/suggested.js +63 -73
  88. package/dist/cjs/node-catalog/suggested.js.map +1 -1
  89. package/dist/cjs/node-catalog/types.js +2 -12
  90. package/dist/cjs/suppliers/supplyMemory.js +13 -23
  91. package/dist/cjs/suppliers/supplyMemory.js.map +1 -1
  92. package/dist/cjs/suppliers/supplyModel.js +72 -82
  93. package/dist/cjs/suppliers/supplyModel.js.map +1 -1
  94. package/dist/cjs/typecheck.tsbuildinfo +1 -1
  95. package/dist/cjs/types/chat-model.js +2 -12
  96. package/dist/cjs/types/json.js +2 -12
  97. package/dist/cjs/types/memory.js +2 -12
  98. package/dist/cjs/types/message.js +2 -12
  99. package/dist/cjs/types/openai.js +2 -12
  100. package/dist/cjs/types/output.js +2 -12
  101. package/dist/cjs/types/tool.js +2 -12
  102. package/dist/cjs/utils/embeddings-input-validation.js +24 -34
  103. package/dist/cjs/utils/embeddings-input-validation.js.map +1 -1
  104. package/dist/cjs/utils/failed-attempt-handler/n8nDefaultFailedAttemptHandler.js +27 -37
  105. package/dist/cjs/utils/failed-attempt-handler/n8nDefaultFailedAttemptHandler.js.map +1 -1
  106. package/dist/cjs/utils/failed-attempt-handler/n8nLlmFailedAttemptHandler.d.ts +1 -1
  107. package/dist/cjs/utils/failed-attempt-handler/n8nLlmFailedAttemptHandler.js +23 -33
  108. package/dist/cjs/utils/failed-attempt-handler/n8nLlmFailedAttemptHandler.js.map +1 -1
  109. package/dist/cjs/utils/follow-redirects.js +38 -48
  110. package/dist/cjs/utils/follow-redirects.js.map +1 -1
  111. package/dist/cjs/utils/fromai-helpers.js +21 -31
  112. package/dist/cjs/utils/fromai-helpers.js.map +1 -1
  113. package/dist/cjs/utils/fromai-tool-factory.js +18 -28
  114. package/dist/cjs/utils/fromai-tool-factory.js.map +1 -1
  115. package/dist/cjs/utils/helpers.js +44 -54
  116. package/dist/cjs/utils/helpers.js.map +1 -1
  117. package/dist/cjs/utils/http-proxy-agent.js +38 -48
  118. package/dist/cjs/utils/http-proxy-agent.js.map +1 -1
  119. package/dist/cjs/utils/lazy-import.d.ts +1 -0
  120. package/dist/cjs/utils/lazy-import.js +7 -0
  121. package/dist/cjs/utils/lazy-import.js.map +1 -0
  122. package/dist/cjs/utils/loaders/n8n-pdf-loader.js +50 -94
  123. package/dist/cjs/utils/loaders/n8n-pdf-loader.js.map +1 -1
  124. package/dist/cjs/utils/log-ai-event.js +10 -20
  125. package/dist/cjs/utils/log-ai-event.js.map +1 -1
  126. package/dist/cjs/utils/log-wrapper.d.ts +1 -1
  127. package/dist/cjs/utils/log-wrapper.js +313 -323
  128. package/dist/cjs/utils/log-wrapper.js.map +1 -1
  129. package/dist/cjs/utils/n8n-binary-loader.js +143 -153
  130. package/dist/cjs/utils/n8n-binary-loader.js.map +1 -1
  131. package/dist/cjs/utils/n8n-json-loader.js +57 -67
  132. package/dist/cjs/utils/n8n-json-loader.js.map +1 -1
  133. package/dist/cjs/utils/n8n-llm-tracing.js +164 -174
  134. package/dist/cjs/utils/n8n-llm-tracing.js.map +1 -1
  135. package/dist/cjs/utils/redact-headers.js +42 -52
  136. package/dist/cjs/utils/redact-headers.js.map +1 -1
  137. package/dist/cjs/utils/shared-fields.js +137 -147
  138. package/dist/cjs/utils/shared-fields.js.map +1 -1
  139. package/dist/cjs/utils/sse.js +83 -93
  140. package/dist/cjs/utils/sse.js.map +1 -1
  141. package/dist/cjs/utils/text-editor.js +274 -284
  142. package/dist/cjs/utils/text-editor.js.map +1 -1
  143. package/dist/cjs/utils/tokenizer/tiktoken.js +38 -48
  144. package/dist/cjs/utils/tokenizer/tiktoken.js.map +1 -1
  145. package/dist/cjs/utils/tokenizer/token-estimator.js +86 -96
  146. package/dist/cjs/utils/tokenizer/token-estimator.js.map +1 -1
  147. package/dist/cjs/utils/vector-store/MemoryManager/MemoryCalculator.js +43 -53
  148. package/dist/cjs/utils/vector-store/MemoryManager/MemoryCalculator.js.map +1 -1
  149. package/dist/cjs/utils/vector-store/MemoryManager/MemoryVectorStoreManager.js +154 -164
  150. package/dist/cjs/utils/vector-store/MemoryManager/MemoryVectorStoreManager.js.map +1 -1
  151. package/dist/cjs/utils/vector-store/MemoryManager/StoreCleanupService.js +82 -92
  152. package/dist/cjs/utils/vector-store/MemoryManager/StoreCleanupService.js.map +1 -1
  153. package/dist/cjs/utils/vector-store/MemoryManager/config.js +34 -44
  154. package/dist/cjs/utils/vector-store/MemoryManager/config.js.map +1 -1
  155. package/dist/cjs/utils/vector-store/MemoryManager/types.js +2 -12
  156. package/dist/cjs/utils/vector-store/createVectorStoreNode/constants.js +44 -54
  157. package/dist/cjs/utils/vector-store/createVectorStoreNode/constants.js.map +1 -1
  158. package/dist/cjs/utils/vector-store/createVectorStoreNode/createVectorStoreNode.js +229 -229
  159. package/dist/cjs/utils/vector-store/createVectorStoreNode/createVectorStoreNode.js.map +1 -1
  160. package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/index.js +8 -18
  161. package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/index.js.map +1 -1
  162. package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/insertOperation.js +33 -43
  163. package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/insertOperation.js.map +1 -1
  164. package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/loadOperation.js +41 -51
  165. package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/loadOperation.js.map +1 -1
  166. package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolExecuteOperation.js +59 -69
  167. package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolExecuteOperation.js.map +1 -1
  168. package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolOperation.js +58 -68
  169. package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolOperation.js.map +1 -1
  170. package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveOperation.js +26 -36
  171. package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveOperation.js.map +1 -1
  172. package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/updateOperation.js +34 -44
  173. package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/updateOperation.js.map +1 -1
  174. package/dist/cjs/utils/vector-store/createVectorStoreNode/types.js +2 -12
  175. package/dist/cjs/utils/vector-store/createVectorStoreNode/utils.d.ts +2 -1
  176. package/dist/cjs/utils/vector-store/createVectorStoreNode/utils.js +34 -29
  177. package/dist/cjs/utils/vector-store/createVectorStoreNode/utils.js.map +1 -1
  178. package/dist/cjs/utils/vector-store/processDocuments.js +37 -47
  179. package/dist/cjs/utils/vector-store/processDocuments.js.map +1 -1
  180. package/dist/cjs/utils/workflow-text-editor.js +50 -60
  181. package/dist/cjs/utils/workflow-text-editor.js.map +1 -1
  182. package/dist/cjs/web-search/brave-search.js +38 -48
  183. package/dist/cjs/web-search/brave-search.js.map +1 -1
  184. package/dist/cjs/web-search/index.js +7 -17
  185. package/dist/cjs/web-search/index.js.map +1 -1
  186. package/dist/cjs/web-search/searxng-search.js +35 -45
  187. package/dist/cjs/web-search/searxng-search.js.map +1 -1
  188. package/dist/cjs/web-search/types.js +2 -12
  189. package/dist/esm/adapters/langchain-chat-model.js.map +1 -1
  190. package/dist/esm/adapters/langchain-history.js.map +1 -1
  191. package/dist/esm/adapters/langchain-memory.js.map +1 -1
  192. package/dist/esm/agent-config/config-normalization.d.ts +11 -0
  193. package/dist/esm/agent-config/config-normalization.js +134 -0
  194. package/dist/esm/agent-config/config-normalization.js.map +1 -0
  195. package/dist/esm/agent-config/from-ai-node-parameters.d.ts +7 -0
  196. package/dist/esm/agent-config/from-ai-node-parameters.js +43 -0
  197. package/dist/esm/agent-config/from-ai-node-parameters.js.map +1 -0
  198. package/dist/esm/agent-config/index.d.ts +3 -0
  199. package/dist/esm/agent-config/index.js +17 -0
  200. package/dist/esm/agent-config/index.js.map +1 -0
  201. package/dist/esm/agent-config/model-id.d.ts +5 -0
  202. package/dist/esm/agent-config/model-id.js +16 -0
  203. package/dist/esm/agent-config/model-id.js.map +1 -0
  204. package/dist/esm/agent-config/native-web-search-provider-tools.d.ts +7 -0
  205. package/dist/esm/agent-config/native-web-search-provider-tools.js +55 -0
  206. package/dist/esm/agent-config/native-web-search-provider-tools.js.map +1 -0
  207. package/dist/esm/chat-model/base.js.map +1 -1
  208. package/dist/esm/converters/message.js.map +1 -1
  209. package/dist/esm/converters/tool.js.map +1 -1
  210. package/dist/esm/guards.js.map +1 -1
  211. package/dist/esm/index.js.map +1 -1
  212. package/dist/esm/memory/base-chat-history.js.map +1 -1
  213. package/dist/esm/memory/base-chat-memory.js.map +1 -1
  214. package/dist/esm/memory/windowed-chat-memory.js.map +1 -1
  215. package/dist/esm/model-discovery/index.js.map +1 -1
  216. package/dist/esm/model-discovery/providers/anthropic.js.map +1 -1
  217. package/dist/esm/model-discovery/providers/cohere.js.map +1 -1
  218. package/dist/esm/model-discovery/providers/google.js.map +1 -1
  219. package/dist/esm/model-discovery/providers/groq.js.map +1 -1
  220. package/dist/esm/model-discovery/providers/mistral.js.map +1 -1
  221. package/dist/esm/model-discovery/providers/nvidia.js.map +1 -1
  222. package/dist/esm/model-discovery/providers/openai.js.map +1 -1
  223. package/dist/esm/model-discovery/request.js.map +1 -1
  224. package/dist/esm/node-catalog/discriminator-utils.js.map +1 -1
  225. package/dist/esm/node-catalog/dynamic-node-parameters.js.map +1 -1
  226. package/dist/esm/node-catalog/get.js.map +1 -1
  227. package/dist/esm/node-catalog/lean-node-type.js.map +1 -1
  228. package/dist/esm/node-catalog/node-type-parser.js.map +1 -1
  229. package/dist/esm/node-catalog/resource-operation-extractor.js.map +1 -1
  230. package/dist/esm/node-catalog/search-engine.js.map +1 -1
  231. package/dist/esm/node-catalog/search.js.map +1 -1
  232. package/dist/esm/node-catalog/suggested-nodes-data.js.map +1 -1
  233. package/dist/esm/node-catalog/suggested.js.map +1 -1
  234. package/dist/esm/suppliers/supplyMemory.js.map +1 -1
  235. package/dist/esm/suppliers/supplyModel.js.map +1 -1
  236. package/dist/esm/typecheck.tsbuildinfo +1 -1
  237. package/dist/esm/utils/embeddings-input-validation.js.map +1 -1
  238. package/dist/esm/utils/failed-attempt-handler/n8nDefaultFailedAttemptHandler.js.map +1 -1
  239. package/dist/esm/utils/failed-attempt-handler/n8nLlmFailedAttemptHandler.d.ts +1 -1
  240. package/dist/esm/utils/failed-attempt-handler/n8nLlmFailedAttemptHandler.js.map +1 -1
  241. package/dist/esm/utils/follow-redirects.js.map +1 -1
  242. package/dist/esm/utils/fromai-helpers.js.map +1 -1
  243. package/dist/esm/utils/fromai-tool-factory.js.map +1 -1
  244. package/dist/esm/utils/helpers.js.map +1 -1
  245. package/dist/esm/utils/http-proxy-agent.js.map +1 -1
  246. package/dist/esm/utils/lazy-import.d.ts +1 -0
  247. package/dist/esm/utils/lazy-import.js +7 -0
  248. package/dist/esm/utils/lazy-import.js.map +1 -0
  249. package/dist/esm/utils/loaders/n8n-pdf-loader.js +2 -35
  250. package/dist/esm/utils/loaders/n8n-pdf-loader.js.map +1 -1
  251. package/dist/esm/utils/log-ai-event.js.map +1 -1
  252. package/dist/esm/utils/log-wrapper.d.ts +1 -1
  253. package/dist/esm/utils/log-wrapper.js.map +1 -1
  254. package/dist/esm/utils/n8n-binary-loader.js.map +1 -1
  255. package/dist/esm/utils/n8n-json-loader.js.map +1 -1
  256. package/dist/esm/utils/n8n-llm-tracing.js.map +1 -1
  257. package/dist/esm/utils/redact-headers.js.map +1 -1
  258. package/dist/esm/utils/shared-fields.js.map +1 -1
  259. package/dist/esm/utils/sse.js.map +1 -1
  260. package/dist/esm/utils/text-editor.js.map +1 -1
  261. package/dist/esm/utils/tokenizer/tiktoken.js.map +1 -1
  262. package/dist/esm/utils/tokenizer/token-estimator.js.map +1 -1
  263. package/dist/esm/utils/vector-store/MemoryManager/MemoryCalculator.js.map +1 -1
  264. package/dist/esm/utils/vector-store/MemoryManager/MemoryVectorStoreManager.js.map +1 -1
  265. package/dist/esm/utils/vector-store/MemoryManager/StoreCleanupService.js.map +1 -1
  266. package/dist/esm/utils/vector-store/MemoryManager/config.js.map +1 -1
  267. package/dist/esm/utils/vector-store/createVectorStoreNode/createVectorStoreNode.js +43 -33
  268. package/dist/esm/utils/vector-store/createVectorStoreNode/createVectorStoreNode.js.map +1 -1
  269. package/dist/esm/utils/vector-store/createVectorStoreNode/operations/insertOperation.js.map +1 -1
  270. package/dist/esm/utils/vector-store/createVectorStoreNode/operations/loadOperation.js.map +1 -1
  271. package/dist/esm/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolExecuteOperation.js.map +1 -1
  272. package/dist/esm/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolOperation.js.map +1 -1
  273. package/dist/esm/utils/vector-store/createVectorStoreNode/operations/retrieveOperation.js.map +1 -1
  274. package/dist/esm/utils/vector-store/createVectorStoreNode/operations/updateOperation.js.map +1 -1
  275. package/dist/esm/utils/vector-store/createVectorStoreNode/utils.d.ts +2 -1
  276. package/dist/esm/utils/vector-store/createVectorStoreNode/utils.js +15 -0
  277. package/dist/esm/utils/vector-store/createVectorStoreNode/utils.js.map +1 -1
  278. package/dist/esm/utils/vector-store/processDocuments.js.map +1 -1
  279. package/dist/esm/utils/workflow-text-editor.js.map +1 -1
  280. package/dist/esm/web-search/brave-search.js.map +1 -1
  281. package/dist/esm/web-search/searxng-search.js.map +1 -1
  282. package/package.json +22 -7
@@ -1,339 +1,329 @@
1
- (function (factory) {
2
- if (typeof module === "object" && typeof module.exports === "object") {
3
- var v = factory(require, exports);
4
- if (v !== undefined) module.exports = v;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.callMethodAsync = callMethodAsync;
4
+ exports.callMethodSync = callMethodSync;
5
+ exports.logWrapper = logWrapper;
6
+ const embeddings_1 = require("@langchain/core/embeddings");
7
+ const retrievers_1 = require("@langchain/core/retrievers");
8
+ const document_compressors_1 = require("@langchain/core/retrievers/document_compressors");
9
+ const vectorstores_1 = require("@langchain/core/vectorstores");
10
+ const textsplitters_1 = require("@langchain/textsplitters");
11
+ const n8n_workflow_1 = require("n8n-workflow");
12
+ const guards_1 = require("../guards");
13
+ const embeddings_input_validation_1 = require("./embeddings-input-validation");
14
+ const log_ai_event_1 = require("./log-ai-event");
15
+ const n8n_binary_loader_1 = require("./n8n-binary-loader");
16
+ const n8n_json_loader_1 = require("./n8n-json-loader");
17
+ async function callMethodAsync(parameters) {
18
+ try {
19
+ return await parameters.method.call(this, ...parameters.arguments);
5
20
  }
6
- else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "@langchain/core/embeddings", "@langchain/core/retrievers", "@langchain/core/retrievers/document_compressors", "@langchain/core/vectorstores", "@langchain/textsplitters", "n8n-workflow", "../guards", "./embeddings-input-validation", "./log-ai-event", "./n8n-binary-loader", "./n8n-json-loader"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.callMethodAsync = callMethodAsync;
13
- exports.callMethodSync = callMethodSync;
14
- exports.logWrapper = logWrapper;
15
- const embeddings_1 = require("@langchain/core/embeddings");
16
- const retrievers_1 = require("@langchain/core/retrievers");
17
- const document_compressors_1 = require("@langchain/core/retrievers/document_compressors");
18
- const vectorstores_1 = require("@langchain/core/vectorstores");
19
- const textsplitters_1 = require("@langchain/textsplitters");
20
- const n8n_workflow_1 = require("n8n-workflow");
21
- const guards_1 = require("../guards");
22
- const embeddings_input_validation_1 = require("./embeddings-input-validation");
23
- const log_ai_event_1 = require("./log-ai-event");
24
- const n8n_binary_loader_1 = require("./n8n-binary-loader");
25
- const n8n_json_loader_1 = require("./n8n-json-loader");
26
- async function callMethodAsync(parameters) {
27
- try {
28
- return await parameters.method.call(this, ...parameters.arguments);
29
- }
30
- catch (e) {
31
- const connectedNode = parameters.executeFunctions.getNode();
32
- const error = new n8n_workflow_1.NodeOperationError(connectedNode, e, {
33
- functionality: 'configuration-node',
34
- });
35
- const metadata = (0, n8n_workflow_1.parseErrorMetadata)(error);
36
- parameters.executeFunctions.addOutputData(parameters.connectionType, parameters.currentNodeRunIndex, error, metadata);
37
- if (error.message) {
38
- if (!error.description) {
39
- error.description = error.message;
40
- }
41
- throw error;
21
+ catch (e) {
22
+ const connectedNode = parameters.executeFunctions.getNode();
23
+ const error = new n8n_workflow_1.NodeOperationError(connectedNode, e, {
24
+ functionality: 'configuration-node',
25
+ });
26
+ const metadata = (0, n8n_workflow_1.parseErrorMetadata)(error);
27
+ parameters.executeFunctions.addOutputData(parameters.connectionType, parameters.currentNodeRunIndex, error, metadata);
28
+ if (error.message) {
29
+ if (!error.description) {
30
+ error.description = error.message;
42
31
  }
43
- throw new n8n_workflow_1.NodeOperationError(connectedNode, `Error on node "${connectedNode.name}" which is connected via input "${parameters.connectionType}"`, { functionality: 'configuration-node' });
32
+ throw error;
44
33
  }
34
+ throw new n8n_workflow_1.NodeOperationError(connectedNode, `Error on node "${connectedNode.name}" which is connected via input "${parameters.connectionType}"`, { functionality: 'configuration-node' });
45
35
  }
46
- function callMethodSync(parameters) {
47
- try {
48
- return parameters.method.call(this, ...parameters.arguments);
49
- }
50
- catch (e) {
51
- const connectedNode = parameters.executeFunctions.getNode();
52
- const error = new n8n_workflow_1.NodeOperationError(connectedNode, e);
53
- parameters.executeFunctions.addOutputData(parameters.connectionType, parameters.currentNodeRunIndex, error);
54
- throw new n8n_workflow_1.NodeOperationError(connectedNode, `Error on node "${connectedNode.name}" which is connected via input "${parameters.connectionType}"`, { functionality: 'configuration-node' });
55
- }
36
+ }
37
+ function callMethodSync(parameters) {
38
+ try {
39
+ return parameters.method.call(this, ...parameters.arguments);
56
40
  }
57
- function logWrapper(originalInstance, executeFunctions) {
58
- return new Proxy(originalInstance, {
59
- get: (target, prop) => {
60
- let connectionType;
61
- if ((0, guards_1.isBaseChatMemory)(originalInstance)) {
62
- if (prop === 'loadMemoryVariables' && 'loadMemoryVariables' in target) {
63
- return async (values) => {
64
- connectionType = n8n_workflow_1.NodeConnectionTypes.AiMemory;
65
- const { index } = executeFunctions.addInputData(connectionType, [
66
- [{ json: { action: 'loadMemoryVariables', values } }],
67
- ]);
68
- const response = (await callMethodAsync.call(target, {
69
- executeFunctions,
70
- connectionType,
71
- currentNodeRunIndex: index,
72
- method: target[prop],
73
- arguments: [values],
74
- }));
75
- const chatHistory = response?.chat_history ?? response;
76
- executeFunctions.addOutputData(connectionType, index, [
77
- [{ json: { action: 'loadMemoryVariables', chatHistory } }],
78
- ]);
79
- return response;
80
- };
81
- }
82
- else if (prop === 'saveContext' && 'saveContext' in target) {
83
- return async (input, output) => {
84
- connectionType = n8n_workflow_1.NodeConnectionTypes.AiMemory;
85
- const { index } = executeFunctions.addInputData(connectionType, [
86
- [{ json: { action: 'saveContext', input, output } }],
87
- ]);
88
- const response = (await callMethodAsync.call(target, {
89
- executeFunctions,
90
- connectionType,
91
- currentNodeRunIndex: index,
92
- method: target[prop],
93
- arguments: [input, output],
94
- }));
95
- const chatHistory = await target.chatHistory.getMessages();
96
- executeFunctions.addOutputData(connectionType, index, [
97
- [{ json: { action: 'saveContext', chatHistory } }],
98
- ]);
99
- return response;
100
- };
101
- }
41
+ catch (e) {
42
+ const connectedNode = parameters.executeFunctions.getNode();
43
+ const error = new n8n_workflow_1.NodeOperationError(connectedNode, e);
44
+ parameters.executeFunctions.addOutputData(parameters.connectionType, parameters.currentNodeRunIndex, error);
45
+ throw new n8n_workflow_1.NodeOperationError(connectedNode, `Error on node "${connectedNode.name}" which is connected via input "${parameters.connectionType}"`, { functionality: 'configuration-node' });
46
+ }
47
+ }
48
+ function logWrapper(originalInstance, executeFunctions) {
49
+ return new Proxy(originalInstance, {
50
+ get: (target, prop) => {
51
+ let connectionType;
52
+ if ((0, guards_1.isBaseChatMemory)(originalInstance)) {
53
+ if (prop === 'loadMemoryVariables' && 'loadMemoryVariables' in target) {
54
+ return async (values) => {
55
+ connectionType = n8n_workflow_1.NodeConnectionTypes.AiMemory;
56
+ const { index } = executeFunctions.addInputData(connectionType, [
57
+ [{ json: { action: 'loadMemoryVariables', values } }],
58
+ ]);
59
+ const response = (await callMethodAsync.call(target, {
60
+ executeFunctions,
61
+ connectionType,
62
+ currentNodeRunIndex: index,
63
+ method: target[prop],
64
+ arguments: [values],
65
+ }));
66
+ const chatHistory = response?.chat_history ?? response;
67
+ executeFunctions.addOutputData(connectionType, index, [
68
+ [{ json: { action: 'loadMemoryVariables', chatHistory } }],
69
+ ]);
70
+ return response;
71
+ };
102
72
  }
103
- if ((0, guards_1.isBaseChatMessageHistory)(originalInstance)) {
104
- if (prop === 'getMessages' && 'getMessages' in target) {
105
- return async () => {
106
- connectionType = n8n_workflow_1.NodeConnectionTypes.AiMemory;
107
- const { index } = executeFunctions.addInputData(connectionType, [
108
- [{ json: { action: 'getMessages' } }],
109
- ]);
110
- const response = (await callMethodAsync.call(target, {
111
- executeFunctions,
112
- connectionType,
113
- currentNodeRunIndex: index,
114
- method: target[prop],
115
- arguments: [],
116
- }));
117
- const payload = { action: 'getMessages', response };
118
- executeFunctions.addOutputData(connectionType, index, [[{ json: payload }]]);
119
- (0, log_ai_event_1.logAiEvent)(executeFunctions, 'ai-messages-retrieved-from-memory', { response });
120
- return response;
121
- };
122
- }
123
- else if (prop === 'addMessage' && 'addMessage' in target) {
124
- return async (message) => {
125
- connectionType = n8n_workflow_1.NodeConnectionTypes.AiMemory;
126
- const payload = { action: 'addMessage', message };
127
- const { index } = executeFunctions.addInputData(connectionType, [[{ json: payload }]]);
128
- await callMethodAsync.call(target, {
129
- executeFunctions,
130
- connectionType,
131
- currentNodeRunIndex: index,
132
- method: target[prop],
133
- arguments: [message],
134
- });
135
- (0, log_ai_event_1.logAiEvent)(executeFunctions, 'ai-message-added-to-memory', { message });
136
- executeFunctions.addOutputData(connectionType, index, [[{ json: payload }]]);
137
- };
138
- }
73
+ else if (prop === 'saveContext' && 'saveContext' in target) {
74
+ return async (input, output) => {
75
+ connectionType = n8n_workflow_1.NodeConnectionTypes.AiMemory;
76
+ const { index } = executeFunctions.addInputData(connectionType, [
77
+ [{ json: { action: 'saveContext', input, output } }],
78
+ ]);
79
+ const response = (await callMethodAsync.call(target, {
80
+ executeFunctions,
81
+ connectionType,
82
+ currentNodeRunIndex: index,
83
+ method: target[prop],
84
+ arguments: [input, output],
85
+ }));
86
+ const chatHistory = await target.chatHistory.getMessages();
87
+ executeFunctions.addOutputData(connectionType, index, [
88
+ [{ json: { action: 'saveContext', chatHistory } }],
89
+ ]);
90
+ return response;
91
+ };
139
92
  }
140
- if (originalInstance instanceof retrievers_1.BaseRetriever) {
141
- if (prop === 'getRelevantDocuments' && 'getRelevantDocuments' in target) {
142
- return async (query, config) => {
143
- connectionType = n8n_workflow_1.NodeConnectionTypes.AiRetriever;
144
- const { index } = executeFunctions.addInputData(connectionType, [
145
- [{ json: { query, config } }],
146
- ]);
147
- const response = (await callMethodAsync.call(target, {
148
- executeFunctions,
149
- connectionType,
150
- currentNodeRunIndex: index,
151
- method: target[prop],
152
- arguments: [query, config],
153
- }));
154
- const executionId = response[0]?.metadata?.executionId;
155
- const workflowId = response[0]?.metadata?.workflowId;
156
- const metadata = {};
157
- if (executionId && workflowId) {
158
- metadata.subExecution = {
159
- executionId,
160
- workflowId,
161
- };
162
- }
163
- (0, log_ai_event_1.logAiEvent)(executeFunctions, 'ai-documents-retrieved', { query });
164
- executeFunctions.addOutputData(connectionType, index, [[{ json: { response } }]], metadata);
165
- return response;
166
- };
167
- }
93
+ }
94
+ if ((0, guards_1.isBaseChatMessageHistory)(originalInstance)) {
95
+ if (prop === 'getMessages' && 'getMessages' in target) {
96
+ return async () => {
97
+ connectionType = n8n_workflow_1.NodeConnectionTypes.AiMemory;
98
+ const { index } = executeFunctions.addInputData(connectionType, [
99
+ [{ json: { action: 'getMessages' } }],
100
+ ]);
101
+ const response = (await callMethodAsync.call(target, {
102
+ executeFunctions,
103
+ connectionType,
104
+ currentNodeRunIndex: index,
105
+ method: target[prop],
106
+ arguments: [],
107
+ }));
108
+ const payload = { action: 'getMessages', response };
109
+ executeFunctions.addOutputData(connectionType, index, [[{ json: payload }]]);
110
+ (0, log_ai_event_1.logAiEvent)(executeFunctions, 'ai-messages-retrieved-from-memory', { response });
111
+ return response;
112
+ };
168
113
  }
169
- if (originalInstance instanceof embeddings_1.Embeddings) {
170
- if (prop === 'embedDocuments' && 'embedDocuments' in target) {
171
- return async (documents) => {
172
- const validatedDocuments = (0, embeddings_input_validation_1.validateEmbedDocumentsInput)(documents, executeFunctions.getNode());
173
- connectionType = n8n_workflow_1.NodeConnectionTypes.AiEmbedding;
174
- const { index } = executeFunctions.addInputData(connectionType, [
175
- [{ json: { documents: validatedDocuments } }],
176
- ]);
177
- const response = (await callMethodAsync.call(target, {
178
- executeFunctions,
179
- connectionType,
180
- currentNodeRunIndex: index,
181
- method: target[prop],
182
- arguments: [validatedDocuments],
183
- }));
184
- (0, log_ai_event_1.logAiEvent)(executeFunctions, 'ai-document-embedded');
185
- executeFunctions.addOutputData(connectionType, index, [[{ json: { response } }]]);
186
- return response;
187
- };
188
- }
189
- if (prop === 'embedQuery' && 'embedQuery' in target) {
190
- return async (query) => {
191
- const validatedQuery = (0, embeddings_input_validation_1.validateEmbedQueryInput)(query, executeFunctions.getNode());
192
- connectionType = n8n_workflow_1.NodeConnectionTypes.AiEmbedding;
193
- const { index } = executeFunctions.addInputData(connectionType, [
194
- [{ json: { query: validatedQuery } }],
195
- ]);
196
- const response = (await callMethodAsync.call(target, {
197
- executeFunctions,
198
- connectionType,
199
- currentNodeRunIndex: index,
200
- method: target[prop],
201
- arguments: [validatedQuery],
202
- }));
203
- (0, log_ai_event_1.logAiEvent)(executeFunctions, 'ai-query-embedded');
204
- executeFunctions.addOutputData(connectionType, index, [[{ json: { response } }]]);
205
- return response;
206
- };
207
- }
114
+ else if (prop === 'addMessage' && 'addMessage' in target) {
115
+ return async (message) => {
116
+ connectionType = n8n_workflow_1.NodeConnectionTypes.AiMemory;
117
+ const payload = { action: 'addMessage', message };
118
+ const { index } = executeFunctions.addInputData(connectionType, [[{ json: payload }]]);
119
+ await callMethodAsync.call(target, {
120
+ executeFunctions,
121
+ connectionType,
122
+ currentNodeRunIndex: index,
123
+ method: target[prop],
124
+ arguments: [message],
125
+ });
126
+ (0, log_ai_event_1.logAiEvent)(executeFunctions, 'ai-message-added-to-memory', { message });
127
+ executeFunctions.addOutputData(connectionType, index, [[{ json: payload }]]);
128
+ };
208
129
  }
209
- if (originalInstance instanceof document_compressors_1.BaseDocumentCompressor) {
210
- if (prop === 'compressDocuments' && 'compressDocuments' in target) {
211
- return async (documents, query) => {
212
- connectionType = n8n_workflow_1.NodeConnectionTypes.AiReranker;
213
- const { index } = executeFunctions.addInputData(connectionType, [
214
- [{ json: { query, documents } }],
215
- ]);
216
- const response = (await callMethodAsync.call(target, {
217
- executeFunctions,
218
- connectionType,
219
- currentNodeRunIndex: index,
220
- method: target[prop],
221
- arguments: [(0, n8n_workflow_1.deepCopy)(documents), query],
222
- }));
223
- (0, log_ai_event_1.logAiEvent)(executeFunctions, 'ai-document-reranked', { query });
224
- executeFunctions.addOutputData(connectionType, index, [[{ json: { response } }]]);
225
- return response;
226
- };
227
- }
130
+ }
131
+ if (originalInstance instanceof retrievers_1.BaseRetriever) {
132
+ if (prop === 'getRelevantDocuments' && 'getRelevantDocuments' in target) {
133
+ return async (query, config) => {
134
+ connectionType = n8n_workflow_1.NodeConnectionTypes.AiRetriever;
135
+ const { index } = executeFunctions.addInputData(connectionType, [
136
+ [{ json: { query, config } }],
137
+ ]);
138
+ const response = (await callMethodAsync.call(target, {
139
+ executeFunctions,
140
+ connectionType,
141
+ currentNodeRunIndex: index,
142
+ method: target[prop],
143
+ arguments: [query, config],
144
+ }));
145
+ const executionId = response[0]?.metadata?.executionId;
146
+ const workflowId = response[0]?.metadata?.workflowId;
147
+ const metadata = {};
148
+ if (executionId && workflowId) {
149
+ metadata.subExecution = {
150
+ executionId,
151
+ workflowId,
152
+ };
153
+ }
154
+ (0, log_ai_event_1.logAiEvent)(executeFunctions, 'ai-documents-retrieved', { query });
155
+ executeFunctions.addOutputData(connectionType, index, [[{ json: { response } }]], metadata);
156
+ return response;
157
+ };
228
158
  }
229
- if (originalInstance instanceof n8n_json_loader_1.N8nJsonLoader ||
230
- originalInstance instanceof n8n_binary_loader_1.N8nBinaryLoader) {
231
- if (prop === 'processAll' && 'processAll' in target) {
232
- return async (items) => {
233
- connectionType = n8n_workflow_1.NodeConnectionTypes.AiDocument;
234
- const { index } = executeFunctions.addInputData(connectionType, [items]);
235
- const response = (await callMethodAsync.call(target, {
236
- executeFunctions,
237
- connectionType,
238
- currentNodeRunIndex: index,
239
- method: target[prop],
240
- arguments: [items],
241
- }));
242
- executeFunctions.addOutputData(connectionType, index, [[{ json: { response } }]]);
243
- return response;
244
- };
245
- }
246
- if (prop === 'processItem' && 'processItem' in target) {
247
- return async (item, itemIndex) => {
248
- connectionType = n8n_workflow_1.NodeConnectionTypes.AiDocument;
249
- const { index } = executeFunctions.addInputData(connectionType, [[item]]);
250
- const response = (await callMethodAsync.call(target, {
251
- executeFunctions,
252
- connectionType,
253
- currentNodeRunIndex: index,
254
- method: target[prop],
255
- arguments: [item, itemIndex],
256
- }));
257
- (0, log_ai_event_1.logAiEvent)(executeFunctions, 'ai-document-processed');
258
- executeFunctions.addOutputData(connectionType, index, [
259
- [{ json: { response }, pairedItem: { item: itemIndex } }],
260
- ]);
261
- return response;
262
- };
263
- }
159
+ }
160
+ if (originalInstance instanceof embeddings_1.Embeddings) {
161
+ if (prop === 'embedDocuments' && 'embedDocuments' in target) {
162
+ return async (documents) => {
163
+ const validatedDocuments = (0, embeddings_input_validation_1.validateEmbedDocumentsInput)(documents, executeFunctions.getNode());
164
+ connectionType = n8n_workflow_1.NodeConnectionTypes.AiEmbedding;
165
+ const { index } = executeFunctions.addInputData(connectionType, [
166
+ [{ json: { documents: validatedDocuments } }],
167
+ ]);
168
+ const response = (await callMethodAsync.call(target, {
169
+ executeFunctions,
170
+ connectionType,
171
+ currentNodeRunIndex: index,
172
+ method: target[prop],
173
+ arguments: [validatedDocuments],
174
+ }));
175
+ (0, log_ai_event_1.logAiEvent)(executeFunctions, 'ai-document-embedded');
176
+ executeFunctions.addOutputData(connectionType, index, [[{ json: { response } }]]);
177
+ return response;
178
+ };
264
179
  }
265
- if (originalInstance instanceof textsplitters_1.TextSplitter) {
266
- if (prop === 'splitText' && 'splitText' in target) {
267
- return async (text) => {
268
- connectionType = n8n_workflow_1.NodeConnectionTypes.AiTextSplitter;
269
- const { index } = executeFunctions.addInputData(connectionType, [
270
- [{ json: { textSplitter: text } }],
271
- ]);
272
- const response = (await callMethodAsync.call(target, {
273
- executeFunctions,
274
- connectionType,
275
- currentNodeRunIndex: index,
276
- method: target[prop],
277
- arguments: [text],
278
- }));
279
- (0, log_ai_event_1.logAiEvent)(executeFunctions, 'ai-text-split');
280
- executeFunctions.addOutputData(connectionType, index, [[{ json: { response } }]]);
281
- return response;
282
- };
283
- }
180
+ if (prop === 'embedQuery' && 'embedQuery' in target) {
181
+ return async (query) => {
182
+ const validatedQuery = (0, embeddings_input_validation_1.validateEmbedQueryInput)(query, executeFunctions.getNode());
183
+ connectionType = n8n_workflow_1.NodeConnectionTypes.AiEmbedding;
184
+ const { index } = executeFunctions.addInputData(connectionType, [
185
+ [{ json: { query: validatedQuery } }],
186
+ ]);
187
+ const response = (await callMethodAsync.call(target, {
188
+ executeFunctions,
189
+ connectionType,
190
+ currentNodeRunIndex: index,
191
+ method: target[prop],
192
+ arguments: [validatedQuery],
193
+ }));
194
+ (0, log_ai_event_1.logAiEvent)(executeFunctions, 'ai-query-embedded');
195
+ executeFunctions.addOutputData(connectionType, index, [[{ json: { response } }]]);
196
+ return response;
197
+ };
198
+ }
199
+ }
200
+ if (originalInstance instanceof document_compressors_1.BaseDocumentCompressor) {
201
+ if (prop === 'compressDocuments' && 'compressDocuments' in target) {
202
+ return async (documents, query) => {
203
+ connectionType = n8n_workflow_1.NodeConnectionTypes.AiReranker;
204
+ const { index } = executeFunctions.addInputData(connectionType, [
205
+ [{ json: { query, documents } }],
206
+ ]);
207
+ const response = (await callMethodAsync.call(target, {
208
+ executeFunctions,
209
+ connectionType,
210
+ currentNodeRunIndex: index,
211
+ method: target[prop],
212
+ arguments: [(0, n8n_workflow_1.deepCopy)(documents), query],
213
+ }));
214
+ (0, log_ai_event_1.logAiEvent)(executeFunctions, 'ai-document-reranked', { query });
215
+ executeFunctions.addOutputData(connectionType, index, [[{ json: { response } }]]);
216
+ return response;
217
+ };
218
+ }
219
+ }
220
+ if (originalInstance instanceof n8n_json_loader_1.N8nJsonLoader ||
221
+ originalInstance instanceof n8n_binary_loader_1.N8nBinaryLoader) {
222
+ if (prop === 'processAll' && 'processAll' in target) {
223
+ return async (items) => {
224
+ connectionType = n8n_workflow_1.NodeConnectionTypes.AiDocument;
225
+ const { index } = executeFunctions.addInputData(connectionType, [items]);
226
+ const response = (await callMethodAsync.call(target, {
227
+ executeFunctions,
228
+ connectionType,
229
+ currentNodeRunIndex: index,
230
+ method: target[prop],
231
+ arguments: [items],
232
+ }));
233
+ executeFunctions.addOutputData(connectionType, index, [[{ json: { response } }]]);
234
+ return response;
235
+ };
284
236
  }
285
- if ((0, guards_1.isToolsInstance)(originalInstance)) {
286
- if (prop === '_call' && '_call' in target) {
287
- return async (query) => {
288
- connectionType = n8n_workflow_1.NodeConnectionTypes.AiTool;
289
- const inputData = { query };
290
- if (target.metadata?.isFromToolkit) {
291
- inputData.tool = {
292
- name: target.name,
293
- description: target.description,
294
- };
295
- }
296
- const { index } = executeFunctions.addInputData(connectionType, [
297
- [{ json: inputData }],
298
- ]);
299
- const response = (await callMethodAsync.call(target, {
300
- executeFunctions,
301
- connectionType,
302
- currentNodeRunIndex: index,
303
- method: target[prop],
304
- arguments: [query],
305
- }));
306
- (0, log_ai_event_1.logAiEvent)(executeFunctions, 'ai-tool-called', { ...inputData, response });
307
- executeFunctions.addOutputData(connectionType, index, [[{ json: { response } }]]);
308
- if (typeof response === 'string')
309
- return response;
310
- return JSON.stringify(response);
311
- };
312
- }
237
+ if (prop === 'processItem' && 'processItem' in target) {
238
+ return async (item, itemIndex) => {
239
+ connectionType = n8n_workflow_1.NodeConnectionTypes.AiDocument;
240
+ const { index } = executeFunctions.addInputData(connectionType, [[item]]);
241
+ const response = (await callMethodAsync.call(target, {
242
+ executeFunctions,
243
+ connectionType,
244
+ currentNodeRunIndex: index,
245
+ method: target[prop],
246
+ arguments: [item, itemIndex],
247
+ }));
248
+ (0, log_ai_event_1.logAiEvent)(executeFunctions, 'ai-document-processed');
249
+ executeFunctions.addOutputData(connectionType, index, [
250
+ [{ json: { response }, pairedItem: { item: itemIndex } }],
251
+ ]);
252
+ return response;
253
+ };
313
254
  }
314
- if (originalInstance instanceof vectorstores_1.VectorStore) {
315
- if (prop === 'similaritySearch' && 'similaritySearch' in target) {
316
- return async (query, k, filter, _callbacks) => {
317
- connectionType = n8n_workflow_1.NodeConnectionTypes.AiVectorStore;
318
- const { index } = executeFunctions.addInputData(connectionType, [
319
- [{ json: { query, k, filter } }],
320
- ]);
321
- const response = (await callMethodAsync.call(target, {
322
- executeFunctions,
323
- connectionType,
324
- currentNodeRunIndex: index,
325
- method: target[prop],
326
- arguments: [query, k, filter, _callbacks],
327
- }));
328
- (0, log_ai_event_1.logAiEvent)(executeFunctions, 'ai-vector-store-searched', { query });
329
- executeFunctions.addOutputData(connectionType, index, [[{ json: { response } }]]);
255
+ }
256
+ if (originalInstance instanceof textsplitters_1.TextSplitter) {
257
+ if (prop === 'splitText' && 'splitText' in target) {
258
+ return async (text) => {
259
+ connectionType = n8n_workflow_1.NodeConnectionTypes.AiTextSplitter;
260
+ const { index } = executeFunctions.addInputData(connectionType, [
261
+ [{ json: { textSplitter: text } }],
262
+ ]);
263
+ const response = (await callMethodAsync.call(target, {
264
+ executeFunctions,
265
+ connectionType,
266
+ currentNodeRunIndex: index,
267
+ method: target[prop],
268
+ arguments: [text],
269
+ }));
270
+ (0, log_ai_event_1.logAiEvent)(executeFunctions, 'ai-text-split');
271
+ executeFunctions.addOutputData(connectionType, index, [[{ json: { response } }]]);
272
+ return response;
273
+ };
274
+ }
275
+ }
276
+ if ((0, guards_1.isToolsInstance)(originalInstance)) {
277
+ if (prop === '_call' && '_call' in target) {
278
+ return async (query) => {
279
+ connectionType = n8n_workflow_1.NodeConnectionTypes.AiTool;
280
+ const inputData = { query };
281
+ if (target.metadata?.isFromToolkit) {
282
+ inputData.tool = {
283
+ name: target.name,
284
+ description: target.description,
285
+ };
286
+ }
287
+ const { index } = executeFunctions.addInputData(connectionType, [
288
+ [{ json: inputData }],
289
+ ]);
290
+ const response = (await callMethodAsync.call(target, {
291
+ executeFunctions,
292
+ connectionType,
293
+ currentNodeRunIndex: index,
294
+ method: target[prop],
295
+ arguments: [query],
296
+ }));
297
+ (0, log_ai_event_1.logAiEvent)(executeFunctions, 'ai-tool-called', { ...inputData, response });
298
+ executeFunctions.addOutputData(connectionType, index, [[{ json: { response } }]]);
299
+ if (typeof response === 'string')
330
300
  return response;
331
- };
332
- }
301
+ return JSON.stringify(response);
302
+ };
333
303
  }
334
- return target[prop];
335
- },
336
- });
337
- }
338
- });
304
+ }
305
+ if (originalInstance instanceof vectorstores_1.VectorStore) {
306
+ if (prop === 'similaritySearch' && 'similaritySearch' in target) {
307
+ return async (query, k, filter, _callbacks) => {
308
+ connectionType = n8n_workflow_1.NodeConnectionTypes.AiVectorStore;
309
+ const { index } = executeFunctions.addInputData(connectionType, [
310
+ [{ json: { query, k, filter } }],
311
+ ]);
312
+ const response = (await callMethodAsync.call(target, {
313
+ executeFunctions,
314
+ connectionType,
315
+ currentNodeRunIndex: index,
316
+ method: target[prop],
317
+ arguments: [query, k, filter, _callbacks],
318
+ }));
319
+ (0, log_ai_event_1.logAiEvent)(executeFunctions, 'ai-vector-store-searched', { query });
320
+ executeFunctions.addOutputData(connectionType, index, [[{ json: { response } }]]);
321
+ return response;
322
+ };
323
+ }
324
+ }
325
+ return target[prop];
326
+ },
327
+ });
328
+ }
339
329
  //# sourceMappingURL=log-wrapper.js.map