@atom8n/n8n-nodes-langchain 2.2.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 (1000) hide show
  1. package/README.md +9 -0
  2. package/dist/credentials/AnthropicApi.credentials.js +106 -0
  3. package/dist/credentials/AnthropicApi.credentials.js.map +1 -0
  4. package/dist/credentials/AzureAiSearchApi.credentials.js +75 -0
  5. package/dist/credentials/AzureAiSearchApi.credentials.js.map +1 -0
  6. package/dist/credentials/AzureEntraCognitiveServicesOAuth2Api.credentials.js +133 -0
  7. package/dist/credentials/AzureEntraCognitiveServicesOAuth2Api.credentials.js.map +1 -0
  8. package/dist/credentials/AzureOpenAiApi.credentials.js +74 -0
  9. package/dist/credentials/AzureOpenAiApi.credentials.js.map +1 -0
  10. package/dist/credentials/CohereApi.credentials.js +65 -0
  11. package/dist/credentials/CohereApi.credentials.js.map +1 -0
  12. package/dist/credentials/DeepSeekApi.credentials.js +65 -0
  13. package/dist/credentials/DeepSeekApi.credentials.js.map +1 -0
  14. package/dist/credentials/GooglePalmApi.credentials.js +65 -0
  15. package/dist/credentials/GooglePalmApi.credentials.js.map +1 -0
  16. package/dist/credentials/GroqApi.credentials.js +59 -0
  17. package/dist/credentials/GroqApi.credentials.js.map +1 -0
  18. package/dist/credentials/HuggingFaceApi.credentials.js +59 -0
  19. package/dist/credentials/HuggingFaceApi.credentials.js.map +1 -0
  20. package/dist/credentials/LemonadeApi.credentials.js +70 -0
  21. package/dist/credentials/LemonadeApi.credentials.js.map +1 -0
  22. package/dist/credentials/McpOAuth2Api.credentials.js +44 -0
  23. package/dist/credentials/McpOAuth2Api.credentials.js.map +1 -0
  24. package/dist/credentials/MilvusApi.credentials.js +72 -0
  25. package/dist/credentials/MilvusApi.credentials.js.map +1 -0
  26. package/dist/credentials/MistralCloudApi.credentials.js +60 -0
  27. package/dist/credentials/MistralCloudApi.credentials.js.map +1 -0
  28. package/dist/credentials/MotorheadApi.credentials.js +72 -0
  29. package/dist/credentials/MotorheadApi.credentials.js.map +1 -0
  30. package/dist/credentials/OllamaApi.credentials.js +68 -0
  31. package/dist/credentials/OllamaApi.credentials.js.map +1 -0
  32. package/dist/credentials/OpenRouterApi.credentials.js +65 -0
  33. package/dist/credentials/OpenRouterApi.credentials.js.map +1 -0
  34. package/dist/credentials/PineconeApi.credentials.js +61 -0
  35. package/dist/credentials/PineconeApi.credentials.js.map +1 -0
  36. package/dist/credentials/QdrantApi.credentials.js +66 -0
  37. package/dist/credentials/QdrantApi.credentials.js.map +1 -0
  38. package/dist/credentials/SearXngApi.credentials.js +44 -0
  39. package/dist/credentials/SearXngApi.credentials.js.map +1 -0
  40. package/dist/credentials/SerpApi.credentials.js +59 -0
  41. package/dist/credentials/SerpApi.credentials.js.map +1 -0
  42. package/dist/credentials/VercelAiGatewayApi.credentials.js +81 -0
  43. package/dist/credentials/VercelAiGatewayApi.credentials.js.map +1 -0
  44. package/dist/credentials/WeaviateApi.credentials.js +164 -0
  45. package/dist/credentials/WeaviateApi.credentials.js.map +1 -0
  46. package/dist/credentials/WolframAlphaApi.credentials.js +63 -0
  47. package/dist/credentials/WolframAlphaApi.credentials.js.map +1 -0
  48. package/dist/credentials/XAiApi.credentials.js +65 -0
  49. package/dist/credentials/XAiApi.credentials.js.map +1 -0
  50. package/dist/credentials/XataApi.credentials.js +73 -0
  51. package/dist/credentials/XataApi.credentials.js.map +1 -0
  52. package/dist/credentials/ZepApi.credentials.js +84 -0
  53. package/dist/credentials/ZepApi.credentials.js.map +1 -0
  54. package/dist/known/credentials.json +210 -0
  55. package/dist/known/nodes.json +426 -0
  56. package/dist/methods/defined.json +11 -0
  57. package/dist/methods/referenced.json +11 -0
  58. package/dist/nodes/Guardrails/Guardrails.node.js +62 -0
  59. package/dist/nodes/Guardrails/Guardrails.node.js.map +1 -0
  60. package/dist/nodes/Guardrails/actions/checks/jailbreak.js +50 -0
  61. package/dist/nodes/Guardrails/actions/checks/jailbreak.js.map +1 -0
  62. package/dist/nodes/Guardrails/actions/checks/keywords.js +84 -0
  63. package/dist/nodes/Guardrails/actions/checks/keywords.js.map +1 -0
  64. package/dist/nodes/Guardrails/actions/checks/nsfw.js +53 -0
  65. package/dist/nodes/Guardrails/actions/checks/nsfw.js.map +1 -0
  66. package/dist/nodes/Guardrails/actions/checks/pii.js +232 -0
  67. package/dist/nodes/Guardrails/actions/checks/pii.js.map +1 -0
  68. package/dist/nodes/Guardrails/actions/checks/secretKeys.js +201 -0
  69. package/dist/nodes/Guardrails/actions/checks/secretKeys.js.map +1 -0
  70. package/dist/nodes/Guardrails/actions/checks/topicalAlignment.js +38 -0
  71. package/dist/nodes/Guardrails/actions/checks/topicalAlignment.js.map +1 -0
  72. package/dist/nodes/Guardrails/actions/checks/urls.js +245 -0
  73. package/dist/nodes/Guardrails/actions/checks/urls.js.map +1 -0
  74. package/dist/nodes/Guardrails/actions/execute.js +68 -0
  75. package/dist/nodes/Guardrails/actions/execute.js.map +1 -0
  76. package/dist/nodes/Guardrails/actions/process.js +223 -0
  77. package/dist/nodes/Guardrails/actions/process.js.map +1 -0
  78. package/dist/nodes/Guardrails/actions/types.js +35 -0
  79. package/dist/nodes/Guardrails/actions/types.js.map +1 -0
  80. package/dist/nodes/Guardrails/description.js +415 -0
  81. package/dist/nodes/Guardrails/description.js.map +1 -0
  82. package/dist/nodes/Guardrails/guardrails.svg +11 -0
  83. package/dist/nodes/Guardrails/helpers/base.js +67 -0
  84. package/dist/nodes/Guardrails/helpers/base.js.map +1 -0
  85. package/dist/nodes/Guardrails/helpers/common.js +45 -0
  86. package/dist/nodes/Guardrails/helpers/common.js.map +1 -0
  87. package/dist/nodes/Guardrails/helpers/configureNodeInputs.js +84 -0
  88. package/dist/nodes/Guardrails/helpers/configureNodeInputs.js.map +1 -0
  89. package/dist/nodes/Guardrails/helpers/mappers.js +100 -0
  90. package/dist/nodes/Guardrails/helpers/mappers.js.map +1 -0
  91. package/dist/nodes/Guardrails/helpers/model.js +144 -0
  92. package/dist/nodes/Guardrails/helpers/model.js.map +1 -0
  93. package/dist/nodes/Guardrails/helpers/preflight.js +61 -0
  94. package/dist/nodes/Guardrails/helpers/preflight.js.map +1 -0
  95. package/dist/nodes/Guardrails/v1/GuardrailsV1.node.js +59 -0
  96. package/dist/nodes/Guardrails/v1/GuardrailsV1.node.js.map +1 -0
  97. package/dist/nodes/Guardrails/v2/GuardrailsV2.node.js +59 -0
  98. package/dist/nodes/Guardrails/v2/GuardrailsV2.node.js.map +1 -0
  99. package/dist/nodes/ModelSelector/ModelSelector.node.js +188 -0
  100. package/dist/nodes/ModelSelector/ModelSelector.node.js.map +1 -0
  101. package/dist/nodes/ModelSelector/helpers.js +85 -0
  102. package/dist/nodes/ModelSelector/helpers.js.map +1 -0
  103. package/dist/nodes/ToolExecutor/ToolExecutor.node.js +105 -0
  104. package/dist/nodes/ToolExecutor/ToolExecutor.node.js.map +1 -0
  105. package/dist/nodes/ToolExecutor/ToolExecutor.node.json +17 -0
  106. package/dist/nodes/ToolExecutor/utils/convertToSchema.js +64 -0
  107. package/dist/nodes/ToolExecutor/utils/convertToSchema.js.map +1 -0
  108. package/dist/nodes/ToolExecutor/utils/executeTool.js +39 -0
  109. package/dist/nodes/ToolExecutor/utils/executeTool.js.map +1 -0
  110. package/dist/nodes/agents/Agent/Agent.node.js +79 -0
  111. package/dist/nodes/agents/Agent/Agent.node.js.map +1 -0
  112. package/dist/nodes/agents/Agent/AgentTool.node.js +59 -0
  113. package/dist/nodes/agents/Agent/AgentTool.node.js.map +1 -0
  114. package/dist/nodes/agents/Agent/V1/AgentV1.node.js +449 -0
  115. package/dist/nodes/agents/Agent/V1/AgentV1.node.js.map +1 -0
  116. package/dist/nodes/agents/Agent/V2/AgentToolV2.node.js +104 -0
  117. package/dist/nodes/agents/Agent/V2/AgentToolV2.node.js.map +1 -0
  118. package/dist/nodes/agents/Agent/V2/AgentV2.node.js +153 -0
  119. package/dist/nodes/agents/Agent/V2/AgentV2.node.js.map +1 -0
  120. package/dist/nodes/agents/Agent/V2/utils.js +92 -0
  121. package/dist/nodes/agents/Agent/V2/utils.js.map +1 -0
  122. package/dist/nodes/agents/Agent/V3/AgentToolV3.node.js +99 -0
  123. package/dist/nodes/agents/Agent/V3/AgentToolV3.node.js.map +1 -0
  124. package/dist/nodes/agents/Agent/V3/AgentV3.node.js +141 -0
  125. package/dist/nodes/agents/Agent/V3/AgentV3.node.js.map +1 -0
  126. package/dist/nodes/agents/Agent/agents/ConversationalAgent/description.js +118 -0
  127. package/dist/nodes/agents/Agent/agents/ConversationalAgent/description.js.map +1 -0
  128. package/dist/nodes/agents/Agent/agents/ConversationalAgent/execute.js +107 -0
  129. package/dist/nodes/agents/Agent/agents/ConversationalAgent/execute.js.map +1 -0
  130. package/dist/nodes/agents/Agent/agents/ConversationalAgent/prompt.js +50 -0
  131. package/dist/nodes/agents/Agent/agents/ConversationalAgent/prompt.js.map +1 -0
  132. package/dist/nodes/agents/Agent/agents/OpenAiFunctionsAgent/description.js +108 -0
  133. package/dist/nodes/agents/Agent/agents/OpenAiFunctionsAgent/description.js.map +1 -0
  134. package/dist/nodes/agents/Agent/agents/OpenAiFunctionsAgent/execute.js +32 -0
  135. package/dist/nodes/agents/Agent/agents/OpenAiFunctionsAgent/execute.js.map +1 -0
  136. package/dist/nodes/agents/Agent/agents/OpenAiFunctionsAgent/prompt.js +29 -0
  137. package/dist/nodes/agents/Agent/agents/OpenAiFunctionsAgent/prompt.js.map +1 -0
  138. package/dist/nodes/agents/Agent/agents/PlanAndExecuteAgent/description.js +94 -0
  139. package/dist/nodes/agents/Agent/agents/PlanAndExecuteAgent/description.js.map +1 -0
  140. package/dist/nodes/agents/Agent/agents/PlanAndExecuteAgent/execute.js +97 -0
  141. package/dist/nodes/agents/Agent/agents/PlanAndExecuteAgent/execute.js.map +1 -0
  142. package/dist/nodes/agents/Agent/agents/PlanAndExecuteAgent/prompt.js +35 -0
  143. package/dist/nodes/agents/Agent/agents/PlanAndExecuteAgent/prompt.js.map +1 -0
  144. package/dist/nodes/agents/Agent/agents/ReActAgent/description.js +138 -0
  145. package/dist/nodes/agents/Agent/agents/ReActAgent/description.js.map +1 -0
  146. package/dist/nodes/agents/Agent/agents/ReActAgent/execute.js +108 -0
  147. package/dist/nodes/agents/Agent/agents/ReActAgent/execute.js.map +1 -0
  148. package/dist/nodes/agents/Agent/agents/ReActAgent/prompt.js +41 -0
  149. package/dist/nodes/agents/Agent/agents/ReActAgent/prompt.js.map +1 -0
  150. package/dist/nodes/agents/Agent/agents/SqlAgent/description.js +227 -0
  151. package/dist/nodes/agents/Agent/agents/SqlAgent/description.js.map +1 -0
  152. package/dist/nodes/agents/Agent/agents/SqlAgent/execute.js +137 -0
  153. package/dist/nodes/agents/Agent/agents/SqlAgent/execute.js.map +1 -0
  154. package/dist/nodes/agents/Agent/agents/SqlAgent/other/handlers/mysql.js +44 -0
  155. package/dist/nodes/agents/Agent/agents/SqlAgent/other/handlers/mysql.js.map +1 -0
  156. package/dist/nodes/agents/Agent/agents/SqlAgent/other/handlers/postgres.js +45 -0
  157. package/dist/nodes/agents/Agent/agents/SqlAgent/other/handlers/postgres.js.map +1 -0
  158. package/dist/nodes/agents/Agent/agents/SqlAgent/other/handlers/sqlite.js +72 -0
  159. package/dist/nodes/agents/Agent/agents/SqlAgent/other/handlers/sqlite.js.map +1 -0
  160. package/dist/nodes/agents/Agent/agents/SqlAgent/other/prompts.js +49 -0
  161. package/dist/nodes/agents/Agent/agents/SqlAgent/other/prompts.js.map +1 -0
  162. package/dist/nodes/agents/Agent/agents/ToolsAgent/V1/description.js +44 -0
  163. package/dist/nodes/agents/Agent/agents/ToolsAgent/V1/description.js.map +1 -0
  164. package/dist/nodes/agents/Agent/agents/ToolsAgent/V1/execute.js +129 -0
  165. package/dist/nodes/agents/Agent/agents/ToolsAgent/V1/execute.js.map +1 -0
  166. package/dist/nodes/agents/Agent/agents/ToolsAgent/V2/description.js +71 -0
  167. package/dist/nodes/agents/Agent/agents/ToolsAgent/V2/description.js.map +1 -0
  168. package/dist/nodes/agents/Agent/agents/ToolsAgent/V2/execute.js +295 -0
  169. package/dist/nodes/agents/Agent/agents/ToolsAgent/V2/execute.js.map +1 -0
  170. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/description.js +57 -0
  171. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/description.js.map +1 -0
  172. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/execute.js +64 -0
  173. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/execute.js.map +1 -0
  174. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/helpers/buildExecutionContext.js +74 -0
  175. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/helpers/buildExecutionContext.js.map +1 -0
  176. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/helpers/buildResponseMetadata.js +37 -0
  177. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/helpers/buildResponseMetadata.js.map +1 -0
  178. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/helpers/checkMaxIterations.js +40 -0
  179. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/helpers/checkMaxIterations.js.map +1 -0
  180. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/helpers/createAgentSequence.js +61 -0
  181. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/helpers/createAgentSequence.js.map +1 -0
  182. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/helpers/executeBatch.js +92 -0
  183. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/helpers/executeBatch.js.map +1 -0
  184. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/helpers/finalizeResult.js +58 -0
  185. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/helpers/finalizeResult.js.map +1 -0
  186. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/helpers/index.js +50 -0
  187. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/helpers/index.js.map +1 -0
  188. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/helpers/prepareItemContext.js +66 -0
  189. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/helpers/prepareItemContext.js.map +1 -0
  190. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/helpers/runAgent.js +91 -0
  191. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/helpers/runAgent.js.map +1 -0
  192. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/types.js +17 -0
  193. package/dist/nodes/agents/Agent/agents/ToolsAgent/V3/types.js.map +1 -0
  194. package/dist/nodes/agents/Agent/agents/ToolsAgent/common.js +265 -0
  195. package/dist/nodes/agents/Agent/agents/ToolsAgent/common.js.map +1 -0
  196. package/dist/nodes/agents/Agent/agents/ToolsAgent/options.js +62 -0
  197. package/dist/nodes/agents/Agent/agents/ToolsAgent/options.js.map +1 -0
  198. package/dist/nodes/agents/Agent/agents/ToolsAgent/prompt.js +29 -0
  199. package/dist/nodes/agents/Agent/agents/ToolsAgent/prompt.js.map +1 -0
  200. package/dist/nodes/agents/Agent/agents/utils.js +54 -0
  201. package/dist/nodes/agents/Agent/agents/utils.js.map +1 -0
  202. package/dist/nodes/agents/Agent/utils.js +92 -0
  203. package/dist/nodes/agents/Agent/utils.js.map +1 -0
  204. package/dist/nodes/agents/OpenAiAssistant/OpenAiAssistant.node.js +397 -0
  205. package/dist/nodes/agents/OpenAiAssistant/OpenAiAssistant.node.js.map +1 -0
  206. package/dist/nodes/agents/OpenAiAssistant/utils.js +61 -0
  207. package/dist/nodes/agents/OpenAiAssistant/utils.js.map +1 -0
  208. package/dist/nodes/chains/ChainLLM/ChainLlm.node.js +152 -0
  209. package/dist/nodes/chains/ChainLLM/ChainLlm.node.js.map +1 -0
  210. package/dist/nodes/chains/ChainLLM/methods/chainExecutor.js +148 -0
  211. package/dist/nodes/chains/ChainLLM/methods/chainExecutor.js.map +1 -0
  212. package/dist/nodes/chains/ChainLLM/methods/config.js +328 -0
  213. package/dist/nodes/chains/ChainLLM/methods/config.js.map +1 -0
  214. package/dist/nodes/chains/ChainLLM/methods/imageUtils.js +100 -0
  215. package/dist/nodes/chains/ChainLLM/methods/imageUtils.js.map +1 -0
  216. package/dist/nodes/chains/ChainLLM/methods/index.js +37 -0
  217. package/dist/nodes/chains/ChainLLM/methods/index.js.map +1 -0
  218. package/dist/nodes/chains/ChainLLM/methods/processItem.js +98 -0
  219. package/dist/nodes/chains/ChainLLM/methods/processItem.js.map +1 -0
  220. package/dist/nodes/chains/ChainLLM/methods/promptUtils.js +142 -0
  221. package/dist/nodes/chains/ChainLLM/methods/promptUtils.js.map +1 -0
  222. package/dist/nodes/chains/ChainLLM/methods/responseFormatter.js +53 -0
  223. package/dist/nodes/chains/ChainLLM/methods/responseFormatter.js.map +1 -0
  224. package/dist/nodes/chains/ChainLLM/methods/types.js +17 -0
  225. package/dist/nodes/chains/ChainLLM/methods/types.js.map +1 -0
  226. package/dist/nodes/chains/ChainRetrievalQA/ChainRetrievalQa.node.js +264 -0
  227. package/dist/nodes/chains/ChainRetrievalQA/ChainRetrievalQa.node.js.map +1 -0
  228. package/dist/nodes/chains/ChainRetrievalQA/constants.js +49 -0
  229. package/dist/nodes/chains/ChainRetrievalQA/constants.js.map +1 -0
  230. package/dist/nodes/chains/ChainRetrievalQA/processItem.js +91 -0
  231. package/dist/nodes/chains/ChainRetrievalQA/processItem.js.map +1 -0
  232. package/dist/nodes/chains/ChainSummarization/ChainSummarization.node.js +64 -0
  233. package/dist/nodes/chains/ChainSummarization/ChainSummarization.node.js.map +1 -0
  234. package/dist/nodes/chains/ChainSummarization/V1/ChainSummarizationV1.node.js +242 -0
  235. package/dist/nodes/chains/ChainSummarization/V1/ChainSummarizationV1.node.js.map +1 -0
  236. package/dist/nodes/chains/ChainSummarization/V2/ChainSummarizationV2.node.js +378 -0
  237. package/dist/nodes/chains/ChainSummarization/V2/ChainSummarizationV2.node.js.map +1 -0
  238. package/dist/nodes/chains/ChainSummarization/V2/processItem.js +95 -0
  239. package/dist/nodes/chains/ChainSummarization/V2/processItem.js.map +1 -0
  240. package/dist/nodes/chains/ChainSummarization/helpers.js +74 -0
  241. package/dist/nodes/chains/ChainSummarization/helpers.js.map +1 -0
  242. package/dist/nodes/chains/ChainSummarization/prompt.js +49 -0
  243. package/dist/nodes/chains/ChainSummarization/prompt.js.map +1 -0
  244. package/dist/nodes/chains/InformationExtractor/InformationExtractor.node.js +315 -0
  245. package/dist/nodes/chains/InformationExtractor/InformationExtractor.node.js.map +1 -0
  246. package/dist/nodes/chains/InformationExtractor/constants.js +31 -0
  247. package/dist/nodes/chains/InformationExtractor/constants.js.map +1 -0
  248. package/dist/nodes/chains/InformationExtractor/helpers.js +54 -0
  249. package/dist/nodes/chains/InformationExtractor/helpers.js.map +1 -0
  250. package/dist/nodes/chains/InformationExtractor/processItem.js +56 -0
  251. package/dist/nodes/chains/InformationExtractor/processItem.js.map +1 -0
  252. package/dist/nodes/chains/InformationExtractor/types.js +17 -0
  253. package/dist/nodes/chains/InformationExtractor/types.js.map +1 -0
  254. package/dist/nodes/chains/SentimentAnalysis/SentimentAnalysis.node.js +366 -0
  255. package/dist/nodes/chains/SentimentAnalysis/SentimentAnalysis.node.js.map +1 -0
  256. package/dist/nodes/chains/TextClassifier/TextClassifier.node.js +303 -0
  257. package/dist/nodes/chains/TextClassifier/TextClassifier.node.js.map +1 -0
  258. package/dist/nodes/chains/TextClassifier/constants.js +29 -0
  259. package/dist/nodes/chains/TextClassifier/constants.js.map +1 -0
  260. package/dist/nodes/chains/TextClassifier/processItem.js +65 -0
  261. package/dist/nodes/chains/TextClassifier/processItem.js.map +1 -0
  262. package/dist/nodes/code/Code.node.js +413 -0
  263. package/dist/nodes/code/Code.node.js.map +1 -0
  264. package/dist/nodes/document_loaders/DocumentBinaryInputLoader/DocumentBinaryInputLoader.node.js +203 -0
  265. package/dist/nodes/document_loaders/DocumentBinaryInputLoader/DocumentBinaryInputLoader.node.js.map +1 -0
  266. package/dist/nodes/document_loaders/DocumentBinaryInputLoader/binary.svg +1 -0
  267. package/dist/nodes/document_loaders/DocumentDefaultDataLoader/DocumentDefaultDataLoader.node.js +348 -0
  268. package/dist/nodes/document_loaders/DocumentDefaultDataLoader/DocumentDefaultDataLoader.node.js.map +1 -0
  269. package/dist/nodes/document_loaders/DocumentDefaultDataLoader/binary.svg +1 -0
  270. package/dist/nodes/document_loaders/DocumentGithubLoader/DocumentGithubLoader.node.js +182 -0
  271. package/dist/nodes/document_loaders/DocumentGithubLoader/DocumentGithubLoader.node.js.map +1 -0
  272. package/dist/nodes/document_loaders/DocumentGithubLoader/github.svg +1 -0
  273. package/dist/nodes/document_loaders/DocumentJSONInputLoader/DocumentJsonInputLoader.node.js +109 -0
  274. package/dist/nodes/document_loaders/DocumentJSONInputLoader/DocumentJsonInputLoader.node.js.map +1 -0
  275. package/dist/nodes/document_loaders/DocumentJSONInputLoader/json.svg +1 -0
  276. package/dist/nodes/embeddings/EmbeddingsAwsBedrock/EmbeddingsAwsBedrock.node.js +155 -0
  277. package/dist/nodes/embeddings/EmbeddingsAwsBedrock/EmbeddingsAwsBedrock.node.js.map +1 -0
  278. package/dist/nodes/embeddings/EmbeddingsAwsBedrock/bedrock.svg +1 -0
  279. package/dist/nodes/embeddings/EmbeddingsAzureOpenAi/EmbeddingsAzureOpenAi.node.js +171 -0
  280. package/dist/nodes/embeddings/EmbeddingsAzureOpenAi/EmbeddingsAzureOpenAi.node.js.map +1 -0
  281. package/dist/nodes/embeddings/EmbeddingsAzureOpenAi/azure.svg +1 -0
  282. package/dist/nodes/embeddings/EmbeddingsCohere/EmbeddingsCohere.node.js +131 -0
  283. package/dist/nodes/embeddings/EmbeddingsCohere/EmbeddingsCohere.node.js.map +1 -0
  284. package/dist/nodes/embeddings/EmbeddingsCohere/cohere.dark.svg +5 -0
  285. package/dist/nodes/embeddings/EmbeddingsCohere/cohere.svg +5 -0
  286. package/dist/nodes/embeddings/EmbeddingsGoogleGemini/EmbeddingsGoogleGemini.node.js +152 -0
  287. package/dist/nodes/embeddings/EmbeddingsGoogleGemini/EmbeddingsGoogleGemini.node.js.map +1 -0
  288. package/dist/nodes/embeddings/EmbeddingsGoogleGemini/google.svg +1 -0
  289. package/dist/nodes/embeddings/EmbeddingsGoogleVertex/EmbeddingsGoogleVertex.node.js +164 -0
  290. package/dist/nodes/embeddings/EmbeddingsGoogleVertex/EmbeddingsGoogleVertex.node.js.map +1 -0
  291. package/dist/nodes/embeddings/EmbeddingsGoogleVertex/google.svg +1 -0
  292. package/dist/nodes/embeddings/EmbeddingsHuggingFaceInference/EmbeddingsHuggingFaceInference.node.js +134 -0
  293. package/dist/nodes/embeddings/EmbeddingsHuggingFaceInference/EmbeddingsHuggingFaceInference.node.js.map +1 -0
  294. package/dist/nodes/embeddings/EmbeddingsHuggingFaceInference/huggingface.svg +1 -0
  295. package/dist/nodes/embeddings/EmbeddingsLemonade/EmbeddingsLemonade.node.js +87 -0
  296. package/dist/nodes/embeddings/EmbeddingsLemonade/EmbeddingsLemonade.node.js.map +1 -0
  297. package/dist/nodes/embeddings/EmbeddingsLemonade/lemonade.svg +53 -0
  298. package/dist/nodes/embeddings/EmbeddingsMistralCloud/EmbeddingsMistralCloud.node.js +170 -0
  299. package/dist/nodes/embeddings/EmbeddingsMistralCloud/EmbeddingsMistralCloud.node.js.map +1 -0
  300. package/dist/nodes/embeddings/EmbeddingsMistralCloud/mistral.svg +262 -0
  301. package/dist/nodes/embeddings/EmbeddingsOllama/EmbeddingsOllama.node.js +82 -0
  302. package/dist/nodes/embeddings/EmbeddingsOllama/EmbeddingsOllama.node.js.map +1 -0
  303. package/dist/nodes/embeddings/EmbeddingsOllama/ollama.svg +1 -0
  304. package/dist/nodes/embeddings/EmbeddingsOpenAI/EmbeddingsOpenAi.node.js +274 -0
  305. package/dist/nodes/embeddings/EmbeddingsOpenAI/EmbeddingsOpenAi.node.js.map +1 -0
  306. package/dist/nodes/embeddings/EmbeddingsOpenAI/openAiLight.dark.svg +3 -0
  307. package/dist/nodes/embeddings/EmbeddingsOpenAI/openAiLight.svg +3 -0
  308. package/dist/nodes/llms/LMChatAnthropic/LmChatAnthropic.node.js +344 -0
  309. package/dist/nodes/llms/LMChatAnthropic/LmChatAnthropic.node.js.map +1 -0
  310. package/dist/nodes/llms/LMChatAnthropic/anthropic.png +0 -0
  311. package/dist/nodes/llms/LMChatAnthropic/anthropic.svg +1 -0
  312. package/dist/nodes/llms/LMChatAnthropic/methods/searchModels.js +66 -0
  313. package/dist/nodes/llms/LMChatAnthropic/methods/searchModels.js.map +1 -0
  314. package/dist/nodes/llms/LMChatLemonade/LmChatLemonade.node.js +106 -0
  315. package/dist/nodes/llms/LMChatLemonade/LmChatLemonade.node.js.map +1 -0
  316. package/dist/nodes/llms/LMChatLemonade/lemonade.svg +53 -0
  317. package/dist/nodes/llms/LMChatOllama/LmChatOllama.node.js +92 -0
  318. package/dist/nodes/llms/LMChatOllama/LmChatOllama.node.js.map +1 -0
  319. package/dist/nodes/llms/LMChatOllama/ollama.svg +1 -0
  320. package/dist/nodes/llms/LMChatOpenAi/LmChatOpenAi.node.js +800 -0
  321. package/dist/nodes/llms/LMChatOpenAi/LmChatOpenAi.node.js.map +1 -0
  322. package/dist/nodes/llms/LMChatOpenAi/common.js +155 -0
  323. package/dist/nodes/llms/LMChatOpenAi/common.js.map +1 -0
  324. package/dist/nodes/llms/LMChatOpenAi/methods/loadModels.js +71 -0
  325. package/dist/nodes/llms/LMChatOpenAi/methods/loadModels.js.map +1 -0
  326. package/dist/nodes/llms/LMChatOpenAi/openAiLight.dark.svg +3 -0
  327. package/dist/nodes/llms/LMChatOpenAi/openAiLight.svg +3 -0
  328. package/dist/nodes/llms/LMChatOpenAi/types.js +17 -0
  329. package/dist/nodes/llms/LMChatOpenAi/types.js.map +1 -0
  330. package/dist/nodes/llms/LMCohere/LmCohere.node.js +122 -0
  331. package/dist/nodes/llms/LMCohere/LmCohere.node.js.map +1 -0
  332. package/dist/nodes/llms/LMCohere/cohere.dark.svg +5 -0
  333. package/dist/nodes/llms/LMCohere/cohere.svg +5 -0
  334. package/dist/nodes/llms/LMLemonade/LmLemonade.node.js +107 -0
  335. package/dist/nodes/llms/LMLemonade/LmLemonade.node.js.map +1 -0
  336. package/dist/nodes/llms/LMLemonade/description.js +147 -0
  337. package/dist/nodes/llms/LMLemonade/description.js.map +1 -0
  338. package/dist/nodes/llms/LMLemonade/lemonade.svg +53 -0
  339. package/dist/nodes/llms/LMOllama/LmOllama.node.js +91 -0
  340. package/dist/nodes/llms/LMOllama/LmOllama.node.js.map +1 -0
  341. package/dist/nodes/llms/LMOllama/description.js +242 -0
  342. package/dist/nodes/llms/LMOllama/description.js.map +1 -0
  343. package/dist/nodes/llms/LMOllama/ollama.svg +1 -0
  344. package/dist/nodes/llms/LMOpenAi/LmOpenAi.node.js +255 -0
  345. package/dist/nodes/llms/LMOpenAi/LmOpenAi.node.js.map +1 -0
  346. package/dist/nodes/llms/LMOpenAi/openAiLight.dark.svg +3 -0
  347. package/dist/nodes/llms/LMOpenAi/openAiLight.svg +3 -0
  348. package/dist/nodes/llms/LMOpenHuggingFaceInference/LmOpenHuggingFaceInference.node.js +162 -0
  349. package/dist/nodes/llms/LMOpenHuggingFaceInference/LmOpenHuggingFaceInference.node.js.map +1 -0
  350. package/dist/nodes/llms/LMOpenHuggingFaceInference/huggingface.svg +1 -0
  351. package/dist/nodes/llms/LmChatAwsBedrock/LmChatAwsBedrock.node.js +272 -0
  352. package/dist/nodes/llms/LmChatAwsBedrock/LmChatAwsBedrock.node.js.map +1 -0
  353. package/dist/nodes/llms/LmChatAwsBedrock/bedrock.svg +1 -0
  354. package/dist/nodes/llms/LmChatAzureOpenAi/LmChatAzureOpenAi.node.js +149 -0
  355. package/dist/nodes/llms/LmChatAzureOpenAi/LmChatAzureOpenAi.node.js.map +1 -0
  356. package/dist/nodes/llms/LmChatAzureOpenAi/azure.svg +1 -0
  357. package/dist/nodes/llms/LmChatAzureOpenAi/credentials/N8nOAuth2TokenCredential.js +75 -0
  358. package/dist/nodes/llms/LmChatAzureOpenAi/credentials/N8nOAuth2TokenCredential.js.map +1 -0
  359. package/dist/nodes/llms/LmChatAzureOpenAi/credentials/api-key.js +53 -0
  360. package/dist/nodes/llms/LmChatAzureOpenAi/credentials/api-key.js.map +1 -0
  361. package/dist/nodes/llms/LmChatAzureOpenAi/credentials/oauth2.js +54 -0
  362. package/dist/nodes/llms/LmChatAzureOpenAi/credentials/oauth2.js.map +1 -0
  363. package/dist/nodes/llms/LmChatAzureOpenAi/properties.js +155 -0
  364. package/dist/nodes/llms/LmChatAzureOpenAi/properties.js.map +1 -0
  365. package/dist/nodes/llms/LmChatAzureOpenAi/types.js +42 -0
  366. package/dist/nodes/llms/LmChatAzureOpenAi/types.js.map +1 -0
  367. package/dist/nodes/llms/LmChatCohere/LmChatCohere.node.js +181 -0
  368. package/dist/nodes/llms/LmChatCohere/LmChatCohere.node.js.map +1 -0
  369. package/dist/nodes/llms/LmChatCohere/cohere.dark.svg +5 -0
  370. package/dist/nodes/llms/LmChatCohere/cohere.svg +5 -0
  371. package/dist/nodes/llms/LmChatDeepSeek/LmChatDeepSeek.node.js +248 -0
  372. package/dist/nodes/llms/LmChatDeepSeek/LmChatDeepSeek.node.js.map +1 -0
  373. package/dist/nodes/llms/LmChatDeepSeek/deepseek.svg +1 -0
  374. package/dist/nodes/llms/LmChatGoogleGemini/LmChatGoogleGemini.node.js +171 -0
  375. package/dist/nodes/llms/LmChatGoogleGemini/LmChatGoogleGemini.node.js.map +1 -0
  376. package/dist/nodes/llms/LmChatGoogleGemini/google.svg +1 -0
  377. package/dist/nodes/llms/LmChatGoogleVertex/LmChatGoogleVertex.node.js +214 -0
  378. package/dist/nodes/llms/LmChatGoogleVertex/LmChatGoogleVertex.node.js.map +1 -0
  379. package/dist/nodes/llms/LmChatGoogleVertex/error-handling.js +40 -0
  380. package/dist/nodes/llms/LmChatGoogleVertex/error-handling.js.map +1 -0
  381. package/dist/nodes/llms/LmChatGoogleVertex/google.svg +1 -0
  382. package/dist/nodes/llms/LmChatGroq/LmChatGroq.node.js +166 -0
  383. package/dist/nodes/llms/LmChatGroq/LmChatGroq.node.js.map +1 -0
  384. package/dist/nodes/llms/LmChatGroq/groq.svg +20 -0
  385. package/dist/nodes/llms/LmChatMistralCloud/LmChatMistralCloud.node.js +222 -0
  386. package/dist/nodes/llms/LmChatMistralCloud/LmChatMistralCloud.node.js.map +1 -0
  387. package/dist/nodes/llms/LmChatMistralCloud/mistral.svg +262 -0
  388. package/dist/nodes/llms/LmChatOpenRouter/LmChatOpenRouter.node.js +248 -0
  389. package/dist/nodes/llms/LmChatOpenRouter/LmChatOpenRouter.node.js.map +1 -0
  390. package/dist/nodes/llms/LmChatOpenRouter/openrouter.dark.svg +1 -0
  391. package/dist/nodes/llms/LmChatOpenRouter/openrouter.svg +1 -0
  392. package/dist/nodes/llms/LmChatVercelAiGateway/LmChatVercelAiGateway.node.js +248 -0
  393. package/dist/nodes/llms/LmChatVercelAiGateway/LmChatVercelAiGateway.node.js.map +1 -0
  394. package/dist/nodes/llms/LmChatVercelAiGateway/vercel.dark.svg +1 -0
  395. package/dist/nodes/llms/LmChatVercelAiGateway/vercel.svg +6 -0
  396. package/dist/nodes/llms/LmChatXAiGrok/LmChatXAiGrok.node.js +251 -0
  397. package/dist/nodes/llms/LmChatXAiGrok/LmChatXAiGrok.node.js.map +1 -0
  398. package/dist/nodes/llms/LmChatXAiGrok/logo.dark.svg +1 -0
  399. package/dist/nodes/llms/LmChatXAiGrok/logo.svg +1 -0
  400. package/dist/nodes/llms/N8nLlmTracing.js +202 -0
  401. package/dist/nodes/llms/N8nLlmTracing.js.map +1 -0
  402. package/dist/nodes/llms/N8nNonEstimatingTracing.js +167 -0
  403. package/dist/nodes/llms/N8nNonEstimatingTracing.js.map +1 -0
  404. package/dist/nodes/llms/gemini-common/additional-options.js +126 -0
  405. package/dist/nodes/llms/gemini-common/additional-options.js.map +1 -0
  406. package/dist/nodes/llms/gemini-common/safety-options.js +79 -0
  407. package/dist/nodes/llms/gemini-common/safety-options.js.map +1 -0
  408. package/dist/nodes/llms/n8nDefaultFailedAttemptHandler.js +66 -0
  409. package/dist/nodes/llms/n8nDefaultFailedAttemptHandler.js.map +1 -0
  410. package/dist/nodes/llms/n8nLlmFailedAttemptHandler.js +50 -0
  411. package/dist/nodes/llms/n8nLlmFailedAttemptHandler.js.map +1 -0
  412. package/dist/nodes/mcp/McpClient/McpClient.node.js +335 -0
  413. package/dist/nodes/mcp/McpClient/McpClient.node.js.map +1 -0
  414. package/dist/nodes/mcp/McpClient/listSearch.js +58 -0
  415. package/dist/nodes/mcp/McpClient/listSearch.js.map +1 -0
  416. package/dist/nodes/mcp/McpClient/resourceMapping.js +61 -0
  417. package/dist/nodes/mcp/McpClient/resourceMapping.js.map +1 -0
  418. package/dist/nodes/mcp/McpClient/utils.js +248 -0
  419. package/dist/nodes/mcp/McpClient/utils.js.map +1 -0
  420. package/dist/nodes/mcp/McpClientTool/McpClientTool.node.js +402 -0
  421. package/dist/nodes/mcp/McpClientTool/McpClientTool.node.js.map +1 -0
  422. package/dist/nodes/mcp/McpClientTool/loadOptions.js +61 -0
  423. package/dist/nodes/mcp/McpClientTool/loadOptions.js.map +1 -0
  424. package/dist/nodes/mcp/McpClientTool/types.js +17 -0
  425. package/dist/nodes/mcp/McpClientTool/types.js.map +1 -0
  426. package/dist/nodes/mcp/McpClientTool/utils.js +120 -0
  427. package/dist/nodes/mcp/McpClientTool/utils.js.map +1 -0
  428. package/dist/nodes/mcp/McpTrigger/FlushingTransport.js +60 -0
  429. package/dist/nodes/mcp/McpTrigger/FlushingTransport.js.map +1 -0
  430. package/dist/nodes/mcp/McpTrigger/McpServer.js +255 -0
  431. package/dist/nodes/mcp/McpTrigger/McpServer.js.map +1 -0
  432. package/dist/nodes/mcp/McpTrigger/McpTrigger.node.js +199 -0
  433. package/dist/nodes/mcp/McpTrigger/McpTrigger.node.js.map +1 -0
  434. package/dist/nodes/mcp/mcp.dark.svg +7 -0
  435. package/dist/nodes/mcp/mcp.svg +7 -0
  436. package/dist/nodes/mcp/shared/descriptions.js +89 -0
  437. package/dist/nodes/mcp/shared/descriptions.js.map +1 -0
  438. package/dist/nodes/mcp/shared/types.js +17 -0
  439. package/dist/nodes/mcp/shared/types.js.map +1 -0
  440. package/dist/nodes/mcp/shared/utils.js +231 -0
  441. package/dist/nodes/mcp/shared/utils.js.map +1 -0
  442. package/dist/nodes/memory/MemoryBufferWindow/MemoryBufferWindow.node.js +163 -0
  443. package/dist/nodes/memory/MemoryBufferWindow/MemoryBufferWindow.node.js.map +1 -0
  444. package/dist/nodes/memory/MemoryChatRetriever/MemoryChatRetriever.node.js +116 -0
  445. package/dist/nodes/memory/MemoryChatRetriever/MemoryChatRetriever.node.js.map +1 -0
  446. package/dist/nodes/memory/MemoryManager/MemoryManager.node.js +387 -0
  447. package/dist/nodes/memory/MemoryManager/MemoryManager.node.js.map +1 -0
  448. package/dist/nodes/memory/MemoryMongoDbChat/MemoryMongoDbChat.node.js +156 -0
  449. package/dist/nodes/memory/MemoryMongoDbChat/MemoryMongoDbChat.node.js.map +1 -0
  450. package/dist/nodes/memory/MemoryMongoDbChat/mongodb.dark.svg +3 -0
  451. package/dist/nodes/memory/MemoryMongoDbChat/mongodb.svg +3 -0
  452. package/dist/nodes/memory/MemoryMotorhead/MemoryMotorhead.node.js +134 -0
  453. package/dist/nodes/memory/MemoryMotorhead/MemoryMotorhead.node.js.map +1 -0
  454. package/dist/nodes/memory/MemoryPostgresChat/MemoryPostgresChat.node.js +123 -0
  455. package/dist/nodes/memory/MemoryPostgresChat/MemoryPostgresChat.node.js.map +1 -0
  456. package/dist/nodes/memory/MemoryPostgresChat/postgres.svg +1 -0
  457. package/dist/nodes/memory/MemoryRedisChat/MemoryRedisChat.node.js +179 -0
  458. package/dist/nodes/memory/MemoryRedisChat/MemoryRedisChat.node.js.map +1 -0
  459. package/dist/nodes/memory/MemoryRedisChat/redis.svg +1 -0
  460. package/dist/nodes/memory/MemoryXata/MemoryXata.node.js +160 -0
  461. package/dist/nodes/memory/MemoryXata/MemoryXata.node.js.map +1 -0
  462. package/dist/nodes/memory/MemoryXata/xata.svg +1 -0
  463. package/dist/nodes/memory/MemoryZep/MemoryZep.node.js +175 -0
  464. package/dist/nodes/memory/MemoryZep/MemoryZep.node.js.map +1 -0
  465. package/dist/nodes/memory/MemoryZep/zep.png +0 -0
  466. package/dist/nodes/memory/descriptions.js +85 -0
  467. package/dist/nodes/memory/descriptions.js.map +1 -0
  468. package/dist/nodes/output_parser/OutputParserAutofixing/OutputParserAutofixing.node.js +133 -0
  469. package/dist/nodes/output_parser/OutputParserAutofixing/OutputParserAutofixing.node.js.map +1 -0
  470. package/dist/nodes/output_parser/OutputParserAutofixing/prompt.js +44 -0
  471. package/dist/nodes/output_parser/OutputParserAutofixing/prompt.js.map +1 -0
  472. package/dist/nodes/output_parser/OutputParserItemList/OutputParserItemList.node.js +106 -0
  473. package/dist/nodes/output_parser/OutputParserItemList/OutputParserItemList.node.js.map +1 -0
  474. package/dist/nodes/output_parser/OutputParserStructured/OutputParserStructured.node.js +239 -0
  475. package/dist/nodes/output_parser/OutputParserStructured/OutputParserStructured.node.js.map +1 -0
  476. package/dist/nodes/output_parser/OutputParserStructured/prompt.js +44 -0
  477. package/dist/nodes/output_parser/OutputParserStructured/prompt.js.map +1 -0
  478. package/dist/nodes/rerankers/RerankerCohere/RerankerCohere.node.js +116 -0
  479. package/dist/nodes/rerankers/RerankerCohere/RerankerCohere.node.js.map +1 -0
  480. package/dist/nodes/rerankers/RerankerCohere/cohere.dark.svg +5 -0
  481. package/dist/nodes/rerankers/RerankerCohere/cohere.svg +5 -0
  482. package/dist/nodes/retrievers/RetrieverContextualCompression/RetrieverContextualCompression.node.js +102 -0
  483. package/dist/nodes/retrievers/RetrieverContextualCompression/RetrieverContextualCompression.node.js.map +1 -0
  484. package/dist/nodes/retrievers/RetrieverMultiQuery/RetrieverMultiQuery.node.js +121 -0
  485. package/dist/nodes/retrievers/RetrieverMultiQuery/RetrieverMultiQuery.node.js.map +1 -0
  486. package/dist/nodes/retrievers/RetrieverVectorStore/RetrieverVectorStore.node.js +100 -0
  487. package/dist/nodes/retrievers/RetrieverVectorStore/RetrieverVectorStore.node.js.map +1 -0
  488. package/dist/nodes/retrievers/RetrieverWorkflow/RetrieverWorkflow.node.js +429 -0
  489. package/dist/nodes/retrievers/RetrieverWorkflow/RetrieverWorkflow.node.js.map +1 -0
  490. package/dist/nodes/text_splitters/TextSplitterCharacterTextSplitter/TextSplitterCharacterTextSplitter.node.js +103 -0
  491. package/dist/nodes/text_splitters/TextSplitterCharacterTextSplitter/TextSplitterCharacterTextSplitter.node.js.map +1 -0
  492. package/dist/nodes/text_splitters/TextSplitterRecursiveCharacterTextSplitter/TextSplitterRecursiveCharacterTextSplitter.node.js +139 -0
  493. package/dist/nodes/text_splitters/TextSplitterRecursiveCharacterTextSplitter/TextSplitterRecursiveCharacterTextSplitter.node.js.map +1 -0
  494. package/dist/nodes/text_splitters/TextSplitterTokenSplitter/TextSplitterTokenSplitter.node.js +97 -0
  495. package/dist/nodes/text_splitters/TextSplitterTokenSplitter/TextSplitterTokenSplitter.node.js.map +1 -0
  496. package/dist/nodes/text_splitters/TextSplitterTokenSplitter/TokenTextSplitter.js +86 -0
  497. package/dist/nodes/text_splitters/TextSplitterTokenSplitter/TokenTextSplitter.js.map +1 -0
  498. package/dist/nodes/tools/ToolCalculator/ToolCalculator.node.js +94 -0
  499. package/dist/nodes/tools/ToolCalculator/ToolCalculator.node.js.map +1 -0
  500. package/dist/nodes/tools/ToolCode/ToolCode.node.js +325 -0
  501. package/dist/nodes/tools/ToolCode/ToolCode.node.js.map +1 -0
  502. package/dist/nodes/tools/ToolHttpRequest/ToolHttpRequest.node.js +396 -0
  503. package/dist/nodes/tools/ToolHttpRequest/ToolHttpRequest.node.js.map +1 -0
  504. package/dist/nodes/tools/ToolHttpRequest/descriptions.js +426 -0
  505. package/dist/nodes/tools/ToolHttpRequest/descriptions.js.map +1 -0
  506. package/dist/nodes/tools/ToolHttpRequest/httprequest.dark.svg +3 -0
  507. package/dist/nodes/tools/ToolHttpRequest/httprequest.svg +1 -0
  508. package/dist/nodes/tools/ToolHttpRequest/interfaces.js +17 -0
  509. package/dist/nodes/tools/ToolHttpRequest/interfaces.js.map +1 -0
  510. package/dist/nodes/tools/ToolHttpRequest/utils.js +651 -0
  511. package/dist/nodes/tools/ToolHttpRequest/utils.js.map +1 -0
  512. package/dist/nodes/tools/ToolSearXng/ToolSearXng.node.js +155 -0
  513. package/dist/nodes/tools/ToolSearXng/ToolSearXng.node.js.map +1 -0
  514. package/dist/nodes/tools/ToolSearXng/searXng.svg +1 -0
  515. package/dist/nodes/tools/ToolSerpApi/ToolSerpApi.node.js +163 -0
  516. package/dist/nodes/tools/ToolSerpApi/ToolSerpApi.node.js.map +1 -0
  517. package/dist/nodes/tools/ToolSerpApi/serpApi.svg +1 -0
  518. package/dist/nodes/tools/ToolThink/ToolThink.node.js +118 -0
  519. package/dist/nodes/tools/ToolThink/ToolThink.node.js.map +1 -0
  520. package/dist/nodes/tools/ToolVectorStore/ToolVectorStore.node.js +161 -0
  521. package/dist/nodes/tools/ToolVectorStore/ToolVectorStore.node.js.map +1 -0
  522. package/dist/nodes/tools/ToolWikipedia/ToolWikipedia.node.js +93 -0
  523. package/dist/nodes/tools/ToolWikipedia/ToolWikipedia.node.js.map +1 -0
  524. package/dist/nodes/tools/ToolWikipedia/wikipedia.svg +1 -0
  525. package/dist/nodes/tools/ToolWolframAlpha/ToolWolframAlpha.node.js +95 -0
  526. package/dist/nodes/tools/ToolWolframAlpha/ToolWolframAlpha.node.js.map +1 -0
  527. package/dist/nodes/tools/ToolWolframAlpha/wolfram-alpha.svg +1 -0
  528. package/dist/nodes/tools/ToolWorkflow/ToolWorkflow.node.js +68 -0
  529. package/dist/nodes/tools/ToolWorkflow/ToolWorkflow.node.js.map +1 -0
  530. package/dist/nodes/tools/ToolWorkflow/v1/ToolWorkflowV1.node.js +202 -0
  531. package/dist/nodes/tools/ToolWorkflow/v1/ToolWorkflowV1.node.js.map +1 -0
  532. package/dist/nodes/tools/ToolWorkflow/v1/versionDescription.js +347 -0
  533. package/dist/nodes/tools/ToolWorkflow/v1/versionDescription.js.map +1 -0
  534. package/dist/nodes/tools/ToolWorkflow/v2/ToolWorkflowV2.node.js +87 -0
  535. package/dist/nodes/tools/ToolWorkflow/v2/ToolWorkflowV2.node.js.map +1 -0
  536. package/dist/nodes/tools/ToolWorkflow/v2/methods/index.js +39 -0
  537. package/dist/nodes/tools/ToolWorkflow/v2/methods/index.js.map +1 -0
  538. package/dist/nodes/tools/ToolWorkflow/v2/methods/localResourceMapping.js +47 -0
  539. package/dist/nodes/tools/ToolWorkflow/v2/methods/localResourceMapping.js.map +1 -0
  540. package/dist/nodes/tools/ToolWorkflow/v2/utils/WorkflowToolService.js +308 -0
  541. package/dist/nodes/tools/ToolWorkflow/v2/utils/WorkflowToolService.js.map +1 -0
  542. package/dist/nodes/tools/ToolWorkflow/v2/versionDescription.js +172 -0
  543. package/dist/nodes/tools/ToolWorkflow/v2/versionDescription.js.map +1 -0
  544. package/dist/nodes/trigger/ChatTrigger/Chat.node.js +277 -0
  545. package/dist/nodes/trigger/ChatTrigger/Chat.node.js.map +1 -0
  546. package/dist/nodes/trigger/ChatTrigger/ChatTrigger.node.js +813 -0
  547. package/dist/nodes/trigger/ChatTrigger/ChatTrigger.node.js.map +1 -0
  548. package/dist/nodes/trigger/ChatTrigger/GenericFunctions.js +78 -0
  549. package/dist/nodes/trigger/ChatTrigger/GenericFunctions.js.map +1 -0
  550. package/dist/nodes/trigger/ChatTrigger/constants.js +149 -0
  551. package/dist/nodes/trigger/ChatTrigger/constants.js.map +1 -0
  552. package/dist/nodes/trigger/ChatTrigger/error.js +43 -0
  553. package/dist/nodes/trigger/ChatTrigger/error.js.map +1 -0
  554. package/dist/nodes/trigger/ChatTrigger/templates.js +175 -0
  555. package/dist/nodes/trigger/ChatTrigger/templates.js.map +1 -0
  556. package/dist/nodes/trigger/ChatTrigger/types.js +38 -0
  557. package/dist/nodes/trigger/ChatTrigger/types.js.map +1 -0
  558. package/dist/nodes/trigger/ChatTrigger/util.js +82 -0
  559. package/dist/nodes/trigger/ChatTrigger/util.js.map +1 -0
  560. package/dist/nodes/trigger/ManualChatTrigger/ManualChatTrigger.node.js +91 -0
  561. package/dist/nodes/trigger/ManualChatTrigger/ManualChatTrigger.node.js.map +1 -0
  562. package/dist/nodes/vector_store/VectorStoreAzureAISearch/VectorStoreAzureAISearch.node.js +388 -0
  563. package/dist/nodes/vector_store/VectorStoreAzureAISearch/VectorStoreAzureAISearch.node.js.map +1 -0
  564. package/dist/nodes/vector_store/VectorStoreAzureAISearch/azure-aisearch.svg +1 -0
  565. package/dist/nodes/vector_store/VectorStoreInMemory/VectorStoreInMemory.node.js +179 -0
  566. package/dist/nodes/vector_store/VectorStoreInMemory/VectorStoreInMemory.node.js.map +1 -0
  567. package/dist/nodes/vector_store/VectorStoreInMemoryInsert/VectorStoreInMemoryInsert.node.js +120 -0
  568. package/dist/nodes/vector_store/VectorStoreInMemoryInsert/VectorStoreInMemoryInsert.node.js.map +1 -0
  569. package/dist/nodes/vector_store/VectorStoreInMemoryLoad/VectorStoreInMemoryLoad.node.js +94 -0
  570. package/dist/nodes/vector_store/VectorStoreInMemoryLoad/VectorStoreInMemoryLoad.node.js.map +1 -0
  571. package/dist/nodes/vector_store/VectorStoreMilvus/VectorStoreMilvus.node.js +106 -0
  572. package/dist/nodes/vector_store/VectorStoreMilvus/VectorStoreMilvus.node.js.map +1 -0
  573. package/dist/nodes/vector_store/VectorStoreMilvus/milvus-icon-black.svg +1 -0
  574. package/dist/nodes/vector_store/VectorStoreMilvus/milvus-icon-white.svg +1 -0
  575. package/dist/nodes/vector_store/VectorStoreMongoDBAtlas/VectorStoreMongoDBAtlas.node.js +380 -0
  576. package/dist/nodes/vector_store/VectorStoreMongoDBAtlas/VectorStoreMongoDBAtlas.node.js.map +1 -0
  577. package/dist/nodes/vector_store/VectorStoreMongoDBAtlas/mongodb.dark.svg +3 -0
  578. package/dist/nodes/vector_store/VectorStoreMongoDBAtlas/mongodb.svg +3 -0
  579. package/dist/nodes/vector_store/VectorStorePGVector/VectorStorePGVector.node.js +283 -0
  580. package/dist/nodes/vector_store/VectorStorePGVector/VectorStorePGVector.node.js.map +1 -0
  581. package/dist/nodes/vector_store/VectorStorePGVector/postgres.svg +1 -0
  582. package/dist/nodes/vector_store/VectorStorePinecone/VectorStorePinecone.node.js +141 -0
  583. package/dist/nodes/vector_store/VectorStorePinecone/VectorStorePinecone.node.js.map +1 -0
  584. package/dist/nodes/vector_store/VectorStorePinecone/pinecone.dark.svg +21 -0
  585. package/dist/nodes/vector_store/VectorStorePinecone/pinecone.svg +21 -0
  586. package/dist/nodes/vector_store/VectorStorePineconeInsert/VectorStorePineconeInsert.node.js +143 -0
  587. package/dist/nodes/vector_store/VectorStorePineconeInsert/VectorStorePineconeInsert.node.js.map +1 -0
  588. package/dist/nodes/vector_store/VectorStorePineconeInsert/pinecone.svg +1 -0
  589. package/dist/nodes/vector_store/VectorStorePineconeLoad/VectorStorePineconeLoad.node.js +129 -0
  590. package/dist/nodes/vector_store/VectorStorePineconeLoad/VectorStorePineconeLoad.node.js.map +1 -0
  591. package/dist/nodes/vector_store/VectorStorePineconeLoad/pinecone.svg +1 -0
  592. package/dist/nodes/vector_store/VectorStoreQdrant/Qdrant.utils.js +54 -0
  593. package/dist/nodes/vector_store/VectorStoreQdrant/Qdrant.utils.js.map +1 -0
  594. package/dist/nodes/vector_store/VectorStoreQdrant/VectorStoreQdrant.node.js +172 -0
  595. package/dist/nodes/vector_store/VectorStoreQdrant/VectorStoreQdrant.node.js.map +1 -0
  596. package/dist/nodes/vector_store/VectorStoreQdrant/qdrant.svg +25 -0
  597. package/dist/nodes/vector_store/VectorStoreRedis/VectorStoreRedis.node.js +339 -0
  598. package/dist/nodes/vector_store/VectorStoreRedis/VectorStoreRedis.node.js.map +1 -0
  599. package/dist/nodes/vector_store/VectorStoreRedis/redis.dark.svg +37 -0
  600. package/dist/nodes/vector_store/VectorStoreRedis/redis.svg +37 -0
  601. package/dist/nodes/vector_store/VectorStoreSupabase/VectorStoreSupabase.node.js +129 -0
  602. package/dist/nodes/vector_store/VectorStoreSupabase/VectorStoreSupabase.node.js.map +1 -0
  603. package/dist/nodes/vector_store/VectorStoreSupabase/supabase.svg +1 -0
  604. package/dist/nodes/vector_store/VectorStoreSupabaseInsert/VectorStoreSupabaseInsert.node.js +133 -0
  605. package/dist/nodes/vector_store/VectorStoreSupabaseInsert/VectorStoreSupabaseInsert.node.js.map +1 -0
  606. package/dist/nodes/vector_store/VectorStoreSupabaseInsert/supabase.svg +1 -0
  607. package/dist/nodes/vector_store/VectorStoreSupabaseLoad/VectorStoreSupabaseLoad.node.js +125 -0
  608. package/dist/nodes/vector_store/VectorStoreSupabaseLoad/VectorStoreSupabaseLoad.node.js.map +1 -0
  609. package/dist/nodes/vector_store/VectorStoreSupabaseLoad/supabase.svg +1 -0
  610. package/dist/nodes/vector_store/VectorStoreWeaviate/VectorStoreWeaviate.node.js +242 -0
  611. package/dist/nodes/vector_store/VectorStoreWeaviate/VectorStoreWeaviate.node.js.map +1 -0
  612. package/dist/nodes/vector_store/VectorStoreWeaviate/Weaviate.utils.js +127 -0
  613. package/dist/nodes/vector_store/VectorStoreWeaviate/Weaviate.utils.js.map +1 -0
  614. package/dist/nodes/vector_store/VectorStoreWeaviate/weaviate.svg +2 -0
  615. package/dist/nodes/vector_store/VectorStoreZep/VectorStoreZep.node.js +151 -0
  616. package/dist/nodes/vector_store/VectorStoreZep/VectorStoreZep.node.js.map +1 -0
  617. package/dist/nodes/vector_store/VectorStoreZep/zep.png +0 -0
  618. package/dist/nodes/vector_store/VectorStoreZepInsert/VectorStoreZepInsert.node.js +152 -0
  619. package/dist/nodes/vector_store/VectorStoreZepInsert/VectorStoreZepInsert.node.js.map +1 -0
  620. package/dist/nodes/vector_store/VectorStoreZepInsert/zep.png +0 -0
  621. package/dist/nodes/vector_store/VectorStoreZepLoad/VectorStoreZepLoad.node.js +132 -0
  622. package/dist/nodes/vector_store/VectorStoreZepLoad/VectorStoreZepLoad.node.js.map +1 -0
  623. package/dist/nodes/vector_store/VectorStoreZepLoad/zep.png +0 -0
  624. package/dist/nodes/vector_store/shared/MemoryManager/MemoryCalculator.js +78 -0
  625. package/dist/nodes/vector_store/shared/MemoryManager/MemoryCalculator.js.map +1 -0
  626. package/dist/nodes/vector_store/shared/MemoryManager/MemoryVectorStoreManager.js +237 -0
  627. package/dist/nodes/vector_store/shared/MemoryManager/MemoryVectorStoreManager.js.map +1 -0
  628. package/dist/nodes/vector_store/shared/MemoryManager/StoreCleanupService.js +128 -0
  629. package/dist/nodes/vector_store/shared/MemoryManager/StoreCleanupService.js.map +1 -0
  630. package/dist/nodes/vector_store/shared/MemoryManager/config.js +62 -0
  631. package/dist/nodes/vector_store/shared/MemoryManager/config.js.map +1 -0
  632. package/dist/nodes/vector_store/shared/MemoryManager/types.js +17 -0
  633. package/dist/nodes/vector_store/shared/MemoryManager/types.js.map +1 -0
  634. package/dist/nodes/vector_store/shared/createVectorStoreNode/constants.js +71 -0
  635. package/dist/nodes/vector_store/shared/createVectorStoreNode/constants.js.map +1 -0
  636. package/dist/nodes/vector_store/shared/createVectorStoreNode/createVectorStoreNode.js +320 -0
  637. package/dist/nodes/vector_store/shared/createVectorStoreNode/createVectorStoreNode.js.map +1 -0
  638. package/dist/nodes/vector_store/shared/createVectorStoreNode/methods/listSearch.js +109 -0
  639. package/dist/nodes/vector_store/shared/createVectorStoreNode/methods/listSearch.js.map +1 -0
  640. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/index.js +33 -0
  641. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/index.js.map +1 -0
  642. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/insertOperation.js +64 -0
  643. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/insertOperation.js.map +1 -0
  644. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/loadOperation.js +80 -0
  645. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/loadOperation.js.map +1 -0
  646. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/retrieveAsToolExecuteOperation.js +98 -0
  647. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/retrieveAsToolExecuteOperation.js.map +1 -0
  648. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/retrieveAsToolOperation.js +95 -0
  649. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/retrieveAsToolOperation.js.map +1 -0
  650. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/retrieveOperation.js +55 -0
  651. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/retrieveOperation.js.map +1 -0
  652. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/updateOperation.js +69 -0
  653. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/updateOperation.js.map +1 -0
  654. package/dist/nodes/vector_store/shared/createVectorStoreNode/types.js +17 -0
  655. package/dist/nodes/vector_store/shared/createVectorStoreNode/types.js.map +1 -0
  656. package/dist/nodes/vector_store/shared/createVectorStoreNode/utils.js +48 -0
  657. package/dist/nodes/vector_store/shared/createVectorStoreNode/utils.js.map +1 -0
  658. package/dist/nodes/vector_store/shared/descriptions.js +146 -0
  659. package/dist/nodes/vector_store/shared/descriptions.js.map +1 -0
  660. package/dist/nodes/vector_store/shared/processDocuments.js +65 -0
  661. package/dist/nodes/vector_store/shared/processDocuments.js.map +1 -0
  662. package/dist/nodes/vendors/Anthropic/Anthropic.node.js +42 -0
  663. package/dist/nodes/vendors/Anthropic/Anthropic.node.js.map +1 -0
  664. package/dist/nodes/vendors/Anthropic/actions/descriptions.js +52 -0
  665. package/dist/nodes/vendors/Anthropic/actions/descriptions.js.map +1 -0
  666. package/dist/nodes/vendors/Anthropic/actions/document/analyze.operation.js +125 -0
  667. package/dist/nodes/vendors/Anthropic/actions/document/analyze.operation.js.map +1 -0
  668. package/dist/nodes/vendors/Anthropic/actions/document/index.js +64 -0
  669. package/dist/nodes/vendors/Anthropic/actions/document/index.js.map +1 -0
  670. package/dist/nodes/vendors/Anthropic/actions/file/delete.operation.js +61 -0
  671. package/dist/nodes/vendors/Anthropic/actions/file/delete.operation.js.map +1 -0
  672. package/dist/nodes/vendors/Anthropic/actions/file/get.operation.js +63 -0
  673. package/dist/nodes/vendors/Anthropic/actions/file/get.operation.js.map +1 -0
  674. package/dist/nodes/vendors/Anthropic/actions/file/index.js +94 -0
  675. package/dist/nodes/vendors/Anthropic/actions/file/index.js.map +1 -0
  676. package/dist/nodes/vendors/Anthropic/actions/file/list.operation.js +108 -0
  677. package/dist/nodes/vendors/Anthropic/actions/file/list.operation.js.map +1 -0
  678. package/dist/nodes/vendors/Anthropic/actions/file/upload.operation.js +126 -0
  679. package/dist/nodes/vendors/Anthropic/actions/file/upload.operation.js.map +1 -0
  680. package/dist/nodes/vendors/Anthropic/actions/image/analyze.operation.js +125 -0
  681. package/dist/nodes/vendors/Anthropic/actions/image/analyze.operation.js.map +1 -0
  682. package/dist/nodes/vendors/Anthropic/actions/image/index.js +64 -0
  683. package/dist/nodes/vendors/Anthropic/actions/image/index.js.map +1 -0
  684. package/dist/nodes/vendors/Anthropic/actions/node.type.js +17 -0
  685. package/dist/nodes/vendors/Anthropic/actions/node.type.js.map +1 -0
  686. package/dist/nodes/vendors/Anthropic/actions/prompt/generate.operation.js +87 -0
  687. package/dist/nodes/vendors/Anthropic/actions/prompt/generate.operation.js.map +1 -0
  688. package/dist/nodes/vendors/Anthropic/actions/prompt/improve.operation.js +154 -0
  689. package/dist/nodes/vendors/Anthropic/actions/prompt/improve.operation.js.map +1 -0
  690. package/dist/nodes/vendors/Anthropic/actions/prompt/index.js +95 -0
  691. package/dist/nodes/vendors/Anthropic/actions/prompt/index.js.map +1 -0
  692. package/dist/nodes/vendors/Anthropic/actions/prompt/templatize.operation.js +146 -0
  693. package/dist/nodes/vendors/Anthropic/actions/prompt/templatize.operation.js.map +1 -0
  694. package/dist/nodes/vendors/Anthropic/actions/router.js +93 -0
  695. package/dist/nodes/vendors/Anthropic/actions/router.js.map +1 -0
  696. package/dist/nodes/vendors/Anthropic/actions/text/index.js +64 -0
  697. package/dist/nodes/vendors/Anthropic/actions/text/index.js.map +1 -0
  698. package/dist/nodes/vendors/Anthropic/actions/text/message.operation.js +540 -0
  699. package/dist/nodes/vendors/Anthropic/actions/text/message.operation.js.map +1 -0
  700. package/dist/nodes/vendors/Anthropic/actions/versionDescription.js +125 -0
  701. package/dist/nodes/vendors/Anthropic/actions/versionDescription.js.map +1 -0
  702. package/dist/nodes/vendors/Anthropic/anthropic.svg +1 -0
  703. package/dist/nodes/vendors/Anthropic/helpers/baseAnalyze.js +109 -0
  704. package/dist/nodes/vendors/Anthropic/helpers/baseAnalyze.js.map +1 -0
  705. package/dist/nodes/vendors/Anthropic/helpers/interfaces.js +17 -0
  706. package/dist/nodes/vendors/Anthropic/helpers/interfaces.js.map +1 -0
  707. package/dist/nodes/vendors/Anthropic/helpers/utils.js +84 -0
  708. package/dist/nodes/vendors/Anthropic/helpers/utils.js.map +1 -0
  709. package/dist/nodes/vendors/Anthropic/methods/index.js +39 -0
  710. package/dist/nodes/vendors/Anthropic/methods/index.js.map +1 -0
  711. package/dist/nodes/vendors/Anthropic/methods/listSearch.js +42 -0
  712. package/dist/nodes/vendors/Anthropic/methods/listSearch.js.map +1 -0
  713. package/dist/nodes/vendors/Anthropic/transport/index.js +61 -0
  714. package/dist/nodes/vendors/Anthropic/transport/index.js.map +1 -0
  715. package/dist/nodes/vendors/GoogleGemini/GoogleGemini.node.js +42 -0
  716. package/dist/nodes/vendors/GoogleGemini/GoogleGemini.node.js.map +1 -0
  717. package/dist/nodes/vendors/GoogleGemini/actions/audio/analyze.operation.js +125 -0
  718. package/dist/nodes/vendors/GoogleGemini/actions/audio/analyze.operation.js.map +1 -0
  719. package/dist/nodes/vendors/GoogleGemini/actions/audio/index.js +74 -0
  720. package/dist/nodes/vendors/GoogleGemini/actions/audio/index.js.map +1 -0
  721. package/dist/nodes/vendors/GoogleGemini/actions/audio/transcribe.operation.js +184 -0
  722. package/dist/nodes/vendors/GoogleGemini/actions/audio/transcribe.operation.js.map +1 -0
  723. package/dist/nodes/vendors/GoogleGemini/actions/descriptions.js +52 -0
  724. package/dist/nodes/vendors/GoogleGemini/actions/descriptions.js.map +1 -0
  725. package/dist/nodes/vendors/GoogleGemini/actions/document/analyze.operation.js +125 -0
  726. package/dist/nodes/vendors/GoogleGemini/actions/document/analyze.operation.js.map +1 -0
  727. package/dist/nodes/vendors/GoogleGemini/actions/document/index.js +64 -0
  728. package/dist/nodes/vendors/GoogleGemini/actions/document/index.js.map +1 -0
  729. package/dist/nodes/vendors/GoogleGemini/actions/file/index.js +64 -0
  730. package/dist/nodes/vendors/GoogleGemini/actions/file/index.js.map +1 -0
  731. package/dist/nodes/vendors/GoogleGemini/actions/file/upload.operation.js +102 -0
  732. package/dist/nodes/vendors/GoogleGemini/actions/file/upload.operation.js.map +1 -0
  733. package/dist/nodes/vendors/GoogleGemini/actions/fileSearch/createStore.operation.js +64 -0
  734. package/dist/nodes/vendors/GoogleGemini/actions/fileSearch/createStore.operation.js.map +1 -0
  735. package/dist/nodes/vendors/GoogleGemini/actions/fileSearch/deleteStore.operation.js +72 -0
  736. package/dist/nodes/vendors/GoogleGemini/actions/fileSearch/deleteStore.operation.js.map +1 -0
  737. package/dist/nodes/vendors/GoogleGemini/actions/fileSearch/index.js +94 -0
  738. package/dist/nodes/vendors/GoogleGemini/actions/fileSearch/index.js.map +1 -0
  739. package/dist/nodes/vendors/GoogleGemini/actions/fileSearch/listStores.operation.js +75 -0
  740. package/dist/nodes/vendors/GoogleGemini/actions/fileSearch/listStores.operation.js.map +1 -0
  741. package/dist/nodes/vendors/GoogleGemini/actions/fileSearch/uploadToStore.operation.js +129 -0
  742. package/dist/nodes/vendors/GoogleGemini/actions/fileSearch/uploadToStore.operation.js.map +1 -0
  743. package/dist/nodes/vendors/GoogleGemini/actions/image/analyze.operation.js +125 -0
  744. package/dist/nodes/vendors/GoogleGemini/actions/image/analyze.operation.js.map +1 -0
  745. package/dist/nodes/vendors/GoogleGemini/actions/image/edit.operation.js +211 -0
  746. package/dist/nodes/vendors/GoogleGemini/actions/image/edit.operation.js.map +1 -0
  747. package/dist/nodes/vendors/GoogleGemini/actions/image/generate.operation.js +168 -0
  748. package/dist/nodes/vendors/GoogleGemini/actions/image/generate.operation.js.map +1 -0
  749. package/dist/nodes/vendors/GoogleGemini/actions/image/index.js +84 -0
  750. package/dist/nodes/vendors/GoogleGemini/actions/image/index.js.map +1 -0
  751. package/dist/nodes/vendors/GoogleGemini/actions/node.type.js +17 -0
  752. package/dist/nodes/vendors/GoogleGemini/actions/node.type.js.map +1 -0
  753. package/dist/nodes/vendors/GoogleGemini/actions/router.js +101 -0
  754. package/dist/nodes/vendors/GoogleGemini/actions/router.js.map +1 -0
  755. package/dist/nodes/vendors/GoogleGemini/actions/text/index.js +64 -0
  756. package/dist/nodes/vendors/GoogleGemini/actions/text/index.js.map +1 -0
  757. package/dist/nodes/vendors/GoogleGemini/actions/text/message.operation.js +547 -0
  758. package/dist/nodes/vendors/GoogleGemini/actions/text/message.operation.js.map +1 -0
  759. package/dist/nodes/vendors/GoogleGemini/actions/versionDescription.js +138 -0
  760. package/dist/nodes/vendors/GoogleGemini/actions/versionDescription.js.map +1 -0
  761. package/dist/nodes/vendors/GoogleGemini/actions/video/analyze.operation.js +125 -0
  762. package/dist/nodes/vendors/GoogleGemini/actions/video/analyze.operation.js.map +1 -0
  763. package/dist/nodes/vendors/GoogleGemini/actions/video/download.operation.js +88 -0
  764. package/dist/nodes/vendors/GoogleGemini/actions/video/download.operation.js.map +1 -0
  765. package/dist/nodes/vendors/GoogleGemini/actions/video/generate.operation.js +228 -0
  766. package/dist/nodes/vendors/GoogleGemini/actions/video/generate.operation.js.map +1 -0
  767. package/dist/nodes/vendors/GoogleGemini/actions/video/index.js +84 -0
  768. package/dist/nodes/vendors/GoogleGemini/actions/video/index.js.map +1 -0
  769. package/dist/nodes/vendors/GoogleGemini/gemini.svg +1 -0
  770. package/dist/nodes/vendors/GoogleGemini/helpers/baseAnalyze.js +106 -0
  771. package/dist/nodes/vendors/GoogleGemini/helpers/baseAnalyze.js.map +1 -0
  772. package/dist/nodes/vendors/GoogleGemini/helpers/interfaces.js +29 -0
  773. package/dist/nodes/vendors/GoogleGemini/helpers/interfaces.js.map +1 -0
  774. package/dist/nodes/vendors/GoogleGemini/helpers/utils.js +272 -0
  775. package/dist/nodes/vendors/GoogleGemini/helpers/utils.js.map +1 -0
  776. package/dist/nodes/vendors/GoogleGemini/methods/index.js +39 -0
  777. package/dist/nodes/vendors/GoogleGemini/methods/index.js.map +1 -0
  778. package/dist/nodes/vendors/GoogleGemini/methods/listSearch.js +94 -0
  779. package/dist/nodes/vendors/GoogleGemini/methods/listSearch.js.map +1 -0
  780. package/dist/nodes/vendors/GoogleGemini/transport/index.js +48 -0
  781. package/dist/nodes/vendors/GoogleGemini/transport/index.js.map +1 -0
  782. package/dist/nodes/vendors/Ollama/Ollama.node.js +42 -0
  783. package/dist/nodes/vendors/Ollama/Ollama.node.js.map +1 -0
  784. package/dist/nodes/vendors/Ollama/actions/descriptions.js +52 -0
  785. package/dist/nodes/vendors/Ollama/actions/descriptions.js.map +1 -0
  786. package/dist/nodes/vendors/Ollama/actions/image/analyze.operation.js +412 -0
  787. package/dist/nodes/vendors/Ollama/actions/image/analyze.operation.js.map +1 -0
  788. package/dist/nodes/vendors/Ollama/actions/image/index.js +64 -0
  789. package/dist/nodes/vendors/Ollama/actions/image/index.js.map +1 -0
  790. package/dist/nodes/vendors/Ollama/actions/node.type.js +17 -0
  791. package/dist/nodes/vendors/Ollama/actions/node.type.js.map +1 -0
  792. package/dist/nodes/vendors/Ollama/actions/router.js +78 -0
  793. package/dist/nodes/vendors/Ollama/actions/router.js.map +1 -0
  794. package/dist/nodes/vendors/Ollama/actions/text/index.js +64 -0
  795. package/dist/nodes/vendors/Ollama/actions/text/index.js.map +1 -0
  796. package/dist/nodes/vendors/Ollama/actions/text/message.operation.js +440 -0
  797. package/dist/nodes/vendors/Ollama/actions/text/message.operation.js.map +1 -0
  798. package/dist/nodes/vendors/Ollama/actions/versionDescription.js +107 -0
  799. package/dist/nodes/vendors/Ollama/actions/versionDescription.js.map +1 -0
  800. package/dist/nodes/vendors/Ollama/helpers/index.js +17 -0
  801. package/dist/nodes/vendors/Ollama/helpers/index.js.map +1 -0
  802. package/dist/nodes/vendors/Ollama/helpers/interfaces.js +17 -0
  803. package/dist/nodes/vendors/Ollama/helpers/interfaces.js.map +1 -0
  804. package/dist/nodes/vendors/Ollama/methods/index.js +39 -0
  805. package/dist/nodes/vendors/Ollama/methods/index.js.map +1 -0
  806. package/dist/nodes/vendors/Ollama/methods/listSearch.js +39 -0
  807. package/dist/nodes/vendors/Ollama/methods/listSearch.js.map +1 -0
  808. package/dist/nodes/vendors/Ollama/ollama.svg +1 -0
  809. package/dist/nodes/vendors/Ollama/transport/index.js +56 -0
  810. package/dist/nodes/vendors/Ollama/transport/index.js.map +1 -0
  811. package/dist/nodes/vendors/OpenAi/OpenAi.node.js +83 -0
  812. package/dist/nodes/vendors/OpenAi/OpenAi.node.js.map +1 -0
  813. package/dist/nodes/vendors/OpenAi/helpers/binary-data.js +38 -0
  814. package/dist/nodes/vendors/OpenAi/helpers/binary-data.js.map +1 -0
  815. package/dist/nodes/vendors/OpenAi/helpers/constants.js +50 -0
  816. package/dist/nodes/vendors/OpenAi/helpers/constants.js.map +1 -0
  817. package/dist/nodes/vendors/OpenAi/helpers/description.js +75 -0
  818. package/dist/nodes/vendors/OpenAi/helpers/description.js.map +1 -0
  819. package/dist/nodes/vendors/OpenAi/helpers/error-handling.js +52 -0
  820. package/dist/nodes/vendors/OpenAi/helpers/error-handling.js.map +1 -0
  821. package/dist/nodes/vendors/OpenAi/helpers/interfaces.js +17 -0
  822. package/dist/nodes/vendors/OpenAi/helpers/interfaces.js.map +1 -0
  823. package/dist/nodes/vendors/OpenAi/helpers/modelFiltering.js +34 -0
  824. package/dist/nodes/vendors/OpenAi/helpers/modelFiltering.js.map +1 -0
  825. package/dist/nodes/vendors/OpenAi/helpers/polling.js +52 -0
  826. package/dist/nodes/vendors/OpenAi/helpers/polling.js.map +1 -0
  827. package/dist/nodes/vendors/OpenAi/helpers/utils.js +98 -0
  828. package/dist/nodes/vendors/OpenAi/helpers/utils.js.map +1 -0
  829. package/dist/nodes/vendors/OpenAi/methods/index.js +42 -0
  830. package/dist/nodes/vendors/OpenAi/methods/index.js.map +1 -0
  831. package/dist/nodes/vendors/OpenAi/methods/listSearch.js +138 -0
  832. package/dist/nodes/vendors/OpenAi/methods/listSearch.js.map +1 -0
  833. package/dist/nodes/vendors/OpenAi/methods/loadOptions.js +40 -0
  834. package/dist/nodes/vendors/OpenAi/methods/loadOptions.js.map +1 -0
  835. package/dist/nodes/vendors/OpenAi/openAi.dark.svg +3 -0
  836. package/dist/nodes/vendors/OpenAi/openAi.svg +3 -0
  837. package/dist/nodes/vendors/OpenAi/transport/index.js +55 -0
  838. package/dist/nodes/vendors/OpenAi/transport/index.js.map +1 -0
  839. package/dist/nodes/vendors/OpenAi/v1/OpenAiV1.node.js +110 -0
  840. package/dist/nodes/vendors/OpenAi/v1/OpenAiV1.node.js.map +1 -0
  841. package/dist/nodes/vendors/OpenAi/v1/actions/assistant/create.operation.js +284 -0
  842. package/dist/nodes/vendors/OpenAi/v1/actions/assistant/create.operation.js.map +1 -0
  843. package/dist/nodes/vendors/OpenAi/v1/actions/assistant/deleteAssistant.operation.js +55 -0
  844. package/dist/nodes/vendors/OpenAi/v1/actions/assistant/deleteAssistant.operation.js.map +1 -0
  845. package/dist/nodes/vendors/OpenAi/v1/actions/assistant/index.js +104 -0
  846. package/dist/nodes/vendors/OpenAi/v1/actions/assistant/index.js.map +1 -0
  847. package/dist/nodes/vendors/OpenAi/v1/actions/assistant/list.operation.js +92 -0
  848. package/dist/nodes/vendors/OpenAi/v1/actions/assistant/list.operation.js.map +1 -0
  849. package/dist/nodes/vendors/OpenAi/v1/actions/assistant/message.operation.js +278 -0
  850. package/dist/nodes/vendors/OpenAi/v1/actions/assistant/message.operation.js.map +1 -0
  851. package/dist/nodes/vendors/OpenAi/v1/actions/assistant/update.operation.js +230 -0
  852. package/dist/nodes/vendors/OpenAi/v1/actions/assistant/update.operation.js.map +1 -0
  853. package/dist/nodes/vendors/OpenAi/v1/actions/audio/generate.operation.js +197 -0
  854. package/dist/nodes/vendors/OpenAi/v1/actions/audio/generate.operation.js.map +1 -0
  855. package/dist/nodes/vendors/OpenAi/v1/actions/audio/index.js +96 -0
  856. package/dist/nodes/vendors/OpenAi/v1/actions/audio/index.js.map +1 -0
  857. package/dist/nodes/vendors/OpenAi/v1/actions/audio/transcribe.operation.js +121 -0
  858. package/dist/nodes/vendors/OpenAi/v1/actions/audio/transcribe.operation.js.map +1 -0
  859. package/dist/nodes/vendors/OpenAi/v1/actions/audio/translate.operation.js +111 -0
  860. package/dist/nodes/vendors/OpenAi/v1/actions/audio/translate.operation.js.map +1 -0
  861. package/dist/nodes/vendors/OpenAi/v1/actions/descriptions.js +79 -0
  862. package/dist/nodes/vendors/OpenAi/v1/actions/descriptions.js.map +1 -0
  863. package/dist/nodes/vendors/OpenAi/v1/actions/file/deleteFile.operation.js +84 -0
  864. package/dist/nodes/vendors/OpenAi/v1/actions/file/deleteFile.operation.js.map +1 -0
  865. package/dist/nodes/vendors/OpenAi/v1/actions/file/index.js +84 -0
  866. package/dist/nodes/vendors/OpenAi/v1/actions/file/index.js.map +1 -0
  867. package/dist/nodes/vendors/OpenAi/v1/actions/file/list.operation.js +83 -0
  868. package/dist/nodes/vendors/OpenAi/v1/actions/file/list.operation.js.map +1 -0
  869. package/dist/nodes/vendors/OpenAi/v1/actions/file/upload.operation.js +122 -0
  870. package/dist/nodes/vendors/OpenAi/v1/actions/file/upload.operation.js.map +1 -0
  871. package/dist/nodes/vendors/OpenAi/v1/actions/image/analyze.operation.js +221 -0
  872. package/dist/nodes/vendors/OpenAi/v1/actions/image/analyze.operation.js.map +1 -0
  873. package/dist/nodes/vendors/OpenAi/v1/actions/image/generate.operation.js +319 -0
  874. package/dist/nodes/vendors/OpenAi/v1/actions/image/generate.operation.js.map +1 -0
  875. package/dist/nodes/vendors/OpenAi/v1/actions/image/index.js +74 -0
  876. package/dist/nodes/vendors/OpenAi/v1/actions/image/index.js.map +1 -0
  877. package/dist/nodes/vendors/OpenAi/v1/actions/node.type.js +17 -0
  878. package/dist/nodes/vendors/OpenAi/v1/actions/node.type.js.map +1 -0
  879. package/dist/nodes/vendors/OpenAi/v1/actions/router.js +107 -0
  880. package/dist/nodes/vendors/OpenAi/v1/actions/router.js.map +1 -0
  881. package/dist/nodes/vendors/OpenAi/v1/actions/text/classify.operation.js +102 -0
  882. package/dist/nodes/vendors/OpenAi/v1/actions/text/classify.operation.js.map +1 -0
  883. package/dist/nodes/vendors/OpenAi/v1/actions/text/index.js +75 -0
  884. package/dist/nodes/vendors/OpenAi/v1/actions/text/index.js.map +1 -0
  885. package/dist/nodes/vendors/OpenAi/v1/actions/text/message.operation.js +352 -0
  886. package/dist/nodes/vendors/OpenAi/v1/actions/text/message.operation.js.map +1 -0
  887. package/dist/nodes/vendors/OpenAi/v2/OpenAiV2.node.js +116 -0
  888. package/dist/nodes/vendors/OpenAi/v2/OpenAiV2.node.js.map +1 -0
  889. package/dist/nodes/vendors/OpenAi/v2/actions/audio/generate.operation.js +197 -0
  890. package/dist/nodes/vendors/OpenAi/v2/actions/audio/generate.operation.js.map +1 -0
  891. package/dist/nodes/vendors/OpenAi/v2/actions/audio/index.js +96 -0
  892. package/dist/nodes/vendors/OpenAi/v2/actions/audio/index.js.map +1 -0
  893. package/dist/nodes/vendors/OpenAi/v2/actions/audio/transcribe.operation.js +121 -0
  894. package/dist/nodes/vendors/OpenAi/v2/actions/audio/transcribe.operation.js.map +1 -0
  895. package/dist/nodes/vendors/OpenAi/v2/actions/audio/translate.operation.js +111 -0
  896. package/dist/nodes/vendors/OpenAi/v2/actions/audio/translate.operation.js.map +1 -0
  897. package/dist/nodes/vendors/OpenAi/v2/actions/conversation/create.operation.js +120 -0
  898. package/dist/nodes/vendors/OpenAi/v2/actions/conversation/create.operation.js.map +1 -0
  899. package/dist/nodes/vendors/OpenAi/v2/actions/conversation/get.operation.js +60 -0
  900. package/dist/nodes/vendors/OpenAi/v2/actions/conversation/get.operation.js.map +1 -0
  901. package/dist/nodes/vendors/OpenAi/v2/actions/conversation/index.js +94 -0
  902. package/dist/nodes/vendors/OpenAi/v2/actions/conversation/index.js.map +1 -0
  903. package/dist/nodes/vendors/OpenAi/v2/actions/conversation/remove.operation.js +60 -0
  904. package/dist/nodes/vendors/OpenAi/v2/actions/conversation/remove.operation.js.map +1 -0
  905. package/dist/nodes/vendors/OpenAi/v2/actions/conversation/update.operation.js +75 -0
  906. package/dist/nodes/vendors/OpenAi/v2/actions/conversation/update.operation.js.map +1 -0
  907. package/dist/nodes/vendors/OpenAi/v2/actions/descriptions.js +279 -0
  908. package/dist/nodes/vendors/OpenAi/v2/actions/descriptions.js.map +1 -0
  909. package/dist/nodes/vendors/OpenAi/v2/actions/file/deleteFile.operation.js +84 -0
  910. package/dist/nodes/vendors/OpenAi/v2/actions/file/deleteFile.operation.js.map +1 -0
  911. package/dist/nodes/vendors/OpenAi/v2/actions/file/index.js +84 -0
  912. package/dist/nodes/vendors/OpenAi/v2/actions/file/index.js.map +1 -0
  913. package/dist/nodes/vendors/OpenAi/v2/actions/file/list.operation.js +92 -0
  914. package/dist/nodes/vendors/OpenAi/v2/actions/file/list.operation.js.map +1 -0
  915. package/dist/nodes/vendors/OpenAi/v2/actions/file/upload.operation.js +130 -0
  916. package/dist/nodes/vendors/OpenAi/v2/actions/file/upload.operation.js.map +1 -0
  917. package/dist/nodes/vendors/OpenAi/v2/actions/image/analyze.operation.js +211 -0
  918. package/dist/nodes/vendors/OpenAi/v2/actions/image/analyze.operation.js.map +1 -0
  919. package/dist/nodes/vendors/OpenAi/v2/actions/image/edit.operation.js +464 -0
  920. package/dist/nodes/vendors/OpenAi/v2/actions/image/edit.operation.js.map +1 -0
  921. package/dist/nodes/vendors/OpenAi/v2/actions/image/generate.operation.js +319 -0
  922. package/dist/nodes/vendors/OpenAi/v2/actions/image/generate.operation.js.map +1 -0
  923. package/dist/nodes/vendors/OpenAi/v2/actions/image/index.js +84 -0
  924. package/dist/nodes/vendors/OpenAi/v2/actions/image/index.js.map +1 -0
  925. package/dist/nodes/vendors/OpenAi/v2/actions/node.type.js +17 -0
  926. package/dist/nodes/vendors/OpenAi/v2/actions/node.type.js.map +1 -0
  927. package/dist/nodes/vendors/OpenAi/v2/actions/router.js +111 -0
  928. package/dist/nodes/vendors/OpenAi/v2/actions/router.js.map +1 -0
  929. package/dist/nodes/vendors/OpenAi/v2/actions/text/classify.operation.js +111 -0
  930. package/dist/nodes/vendors/OpenAi/v2/actions/text/classify.operation.js.map +1 -0
  931. package/dist/nodes/vendors/OpenAi/v2/actions/text/helpers/responses.js +253 -0
  932. package/dist/nodes/vendors/OpenAi/v2/actions/text/helpers/responses.js.map +1 -0
  933. package/dist/nodes/vendors/OpenAi/v2/actions/text/index.js +75 -0
  934. package/dist/nodes/vendors/OpenAi/v2/actions/text/index.js.map +1 -0
  935. package/dist/nodes/vendors/OpenAi/v2/actions/text/response.operation.js +701 -0
  936. package/dist/nodes/vendors/OpenAi/v2/actions/text/response.operation.js.map +1 -0
  937. package/dist/nodes/vendors/OpenAi/v2/actions/video/generate.operation.js +199 -0
  938. package/dist/nodes/vendors/OpenAi/v2/actions/video/generate.operation.js.map +1 -0
  939. package/dist/nodes/vendors/OpenAi/v2/actions/video/index.js +64 -0
  940. package/dist/nodes/vendors/OpenAi/v2/actions/video/index.js.map +1 -0
  941. package/dist/types/credentials.json +28 -0
  942. package/dist/types/nodes.json +115 -0
  943. package/dist/types/types.js +17 -0
  944. package/dist/types/types.js.map +1 -0
  945. package/dist/types/zod.types.js +17 -0
  946. package/dist/types/zod.types.js.map +1 -0
  947. package/dist/utils/N8nBinaryLoader.js +203 -0
  948. package/dist/utils/N8nBinaryLoader.js.map +1 -0
  949. package/dist/utils/N8nJsonLoader.js +89 -0
  950. package/dist/utils/N8nJsonLoader.js.map +1 -0
  951. package/dist/utils/N8nTool.js +106 -0
  952. package/dist/utils/N8nTool.js.map +1 -0
  953. package/dist/utils/agent-execution/buildSteps.js +153 -0
  954. package/dist/utils/agent-execution/buildSteps.js.map +1 -0
  955. package/dist/utils/agent-execution/createEngineRequests.js +88 -0
  956. package/dist/utils/agent-execution/createEngineRequests.js.map +1 -0
  957. package/dist/utils/agent-execution/index.js +42 -0
  958. package/dist/utils/agent-execution/index.js.map +1 -0
  959. package/dist/utils/agent-execution/memoryManagement.js +67 -0
  960. package/dist/utils/agent-execution/memoryManagement.js.map +1 -0
  961. package/dist/utils/agent-execution/processEventStream.js +82 -0
  962. package/dist/utils/agent-execution/processEventStream.js.map +1 -0
  963. package/dist/utils/agent-execution/types.js +41 -0
  964. package/dist/utils/agent-execution/types.js.map +1 -0
  965. package/dist/utils/descriptions.js +212 -0
  966. package/dist/utils/descriptions.js.map +1 -0
  967. package/dist/utils/embeddings/embeddingInputValidation.js +55 -0
  968. package/dist/utils/embeddings/embeddingInputValidation.js.map +1 -0
  969. package/dist/utils/fromAIToolFactory.js +61 -0
  970. package/dist/utils/fromAIToolFactory.js.map +1 -0
  971. package/dist/utils/helpers.js +254 -0
  972. package/dist/utils/helpers.js.map +1 -0
  973. package/dist/utils/httpProxyAgent.js +69 -0
  974. package/dist/utils/httpProxyAgent.js.map +1 -0
  975. package/dist/utils/logWrapper.js +376 -0
  976. package/dist/utils/logWrapper.js.map +1 -0
  977. package/dist/utils/output_parsers/N8nItemListOutputParser.js +64 -0
  978. package/dist/utils/output_parsers/N8nItemListOutputParser.js.map +1 -0
  979. package/dist/utils/output_parsers/N8nOutputFixingParser.js +99 -0
  980. package/dist/utils/output_parsers/N8nOutputFixingParser.js.map +1 -0
  981. package/dist/utils/output_parsers/N8nOutputParser.js +48 -0
  982. package/dist/utils/output_parsers/N8nOutputParser.js.map +1 -0
  983. package/dist/utils/output_parsers/N8nStructuredOutputParser.js +127 -0
  984. package/dist/utils/output_parsers/N8nStructuredOutputParser.js.map +1 -0
  985. package/dist/utils/output_parsers/prompt.js +48 -0
  986. package/dist/utils/output_parsers/prompt.js.map +1 -0
  987. package/dist/utils/schemaParsing.js +75 -0
  988. package/dist/utils/schemaParsing.js.map +1 -0
  989. package/dist/utils/sharedFields.js +176 -0
  990. package/dist/utils/sharedFields.js.map +1 -0
  991. package/dist/utils/tokenizer/cl100k_base.json +1 -0
  992. package/dist/utils/tokenizer/o200k_base.json +1 -0
  993. package/dist/utils/tokenizer/tiktoken.js +65 -0
  994. package/dist/utils/tokenizer/tiktoken.js.map +1 -0
  995. package/dist/utils/tokenizer/token-estimator.js +119 -0
  996. package/dist/utils/tokenizer/token-estimator.js.map +1 -0
  997. package/dist/utils/tracing.js +41 -0
  998. package/dist/utils/tracing.js.map +1 -0
  999. package/index.js +0 -0
  1000. package/package.json +255 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../nodes/mcp/McpClientTool/McpClientTool.node.ts"],"sourcesContent":["import { CallToolResultSchema } from '@modelcontextprotocol/sdk/types.js';\nimport {\n\ttype IDataObject,\n\ttype IExecuteFunctions,\n\ttype INodeExecutionData,\n\tNodeConnectionTypes,\n\tNodeOperationError,\n\ttype INodeType,\n\ttype INodeTypeDescription,\n\ttype ISupplyDataFunctions,\n\ttype SupplyData,\n} from 'n8n-workflow';\n\nimport { logWrapper } from '@utils/logWrapper';\nimport { getConnectionHintNoticeField } from '@utils/sharedFields';\n\nimport { getTools } from './loadOptions';\nimport type { McpToolIncludeMode } from './types';\nimport { createCallTool, getSelectedTools, McpToolkit, mcpToolToDynamicTool } from './utils';\nimport { credentials, transportSelect } from '../shared/descriptions';\nimport type { McpAuthenticationOption, McpServerTransport } from '../shared/types';\nimport {\n\tconnectMcpClient,\n\tgetAllTools,\n\tgetAuthHeaders,\n\tmapToNodeOperationError,\n\ttryRefreshOAuth2Token,\n} from '../shared/utils';\n\n/**\n * Get node parameters for MCP client configuration\n */\nfunction getNodeConfig(\n\tctx: ISupplyDataFunctions | IExecuteFunctions,\n\titemIndex: number,\n): {\n\tauthentication: McpAuthenticationOption;\n\ttimeout: number;\n\tserverTransport: McpServerTransport;\n\tendpointUrl: string;\n\tmode: McpToolIncludeMode;\n\tincludeTools: string[];\n\texcludeTools: string[];\n} {\n\tconst node = ctx.getNode();\n\tconst authentication = ctx.getNodeParameter(\n\t\t'authentication',\n\t\titemIndex,\n\t) as McpAuthenticationOption;\n\tconst timeout = ctx.getNodeParameter('options.timeout', itemIndex, 60000) as number;\n\n\tlet serverTransport: McpServerTransport;\n\tlet endpointUrl: string;\n\tif (node.typeVersion === 1) {\n\t\tserverTransport = 'sse';\n\t\tendpointUrl = ctx.getNodeParameter('sseEndpoint', itemIndex) as string;\n\t} else {\n\t\tserverTransport = ctx.getNodeParameter('serverTransport', itemIndex) as McpServerTransport;\n\t\tendpointUrl = ctx.getNodeParameter('endpointUrl', itemIndex) as string;\n\t}\n\n\tconst mode = ctx.getNodeParameter('include', itemIndex) as McpToolIncludeMode;\n\tconst includeTools = ctx.getNodeParameter('includeTools', itemIndex, []) as string[];\n\tconst excludeTools = ctx.getNodeParameter('excludeTools', itemIndex, []) as string[];\n\n\treturn {\n\t\tauthentication,\n\t\ttimeout,\n\t\tserverTransport,\n\t\tendpointUrl,\n\t\tmode,\n\t\tincludeTools,\n\t\texcludeTools,\n\t};\n}\n\n/**\n * Connect to MCP server and get filtered tools\n */\nasync function connectAndGetTools(\n\tctx: ISupplyDataFunctions | IExecuteFunctions,\n\tconfig: ReturnType<typeof getNodeConfig>,\n) {\n\tconst node = ctx.getNode();\n\tconst { headers } = await getAuthHeaders(ctx, config.authentication);\n\n\tconst client = await connectMcpClient({\n\t\tserverTransport: config.serverTransport,\n\t\tendpointUrl: config.endpointUrl,\n\t\theaders,\n\t\tname: node.type,\n\t\tversion: node.typeVersion,\n\t\tonUnauthorized: async (headers) =>\n\t\t\tawait tryRefreshOAuth2Token(ctx, config.authentication, headers),\n\t});\n\n\tif (!client.ok) {\n\t\treturn { client, mcpTools: null, error: client.error };\n\t}\n\n\tconst allTools = await getAllTools(client.result);\n\tconst mcpTools = getSelectedTools({\n\t\ttools: allTools,\n\t\tmode: config.mode,\n\t\tincludeTools: config.includeTools,\n\t\texcludeTools: config.excludeTools,\n\t});\n\n\treturn { client: client.result, mcpTools, error: null };\n}\n\nexport class McpClientTool implements INodeType {\n\tdescription: INodeTypeDescription = {\n\t\tdisplayName: 'MCP Client Tool',\n\t\tname: 'mcpClientTool',\n\t\ticon: {\n\t\t\tlight: 'file:../mcp.svg',\n\t\t\tdark: 'file:../mcp.dark.svg',\n\t\t},\n\t\tgroup: ['output'],\n\t\tversion: [1, 1.1, 1.2],\n\t\tdescription: 'Connect tools from an MCP Server',\n\t\tdefaults: {\n\t\t\tname: 'MCP Client',\n\t\t},\n\t\tcodex: {\n\t\t\tcategories: ['AI'],\n\t\t\tsubcategories: {\n\t\t\t\tAI: ['Model Context Protocol', 'Tools'],\n\t\t\t},\n\t\t\talias: ['Model Context Protocol', 'MCP Client'],\n\t\t\tresources: {\n\t\t\t\tprimaryDocumentation: [\n\t\t\t\t\t{\n\t\t\t\t\t\turl: 'https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolmcp/',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\tinputs: [],\n\t\toutputs: [{ type: NodeConnectionTypes.AiTool, displayName: 'Tools' }],\n\t\tcredentials,\n\t\tproperties: [\n\t\t\tgetConnectionHintNoticeField([NodeConnectionTypes.AiAgent]),\n\t\t\t{\n\t\t\t\tdisplayName: 'SSE Endpoint',\n\t\t\t\tname: 'sseEndpoint',\n\t\t\t\ttype: 'string',\n\t\t\t\tdescription: 'SSE Endpoint of your MCP server',\n\t\t\t\tplaceholder: 'e.g. https://my-mcp-server.ai/sse',\n\t\t\t\tdefault: '',\n\t\t\t\trequired: true,\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\t'@version': [1],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Endpoint',\n\t\t\t\tname: 'endpointUrl',\n\t\t\t\ttype: 'string',\n\t\t\t\tdescription: 'Endpoint of your MCP server',\n\t\t\t\tplaceholder: 'e.g. https://my-mcp-server.ai/mcp',\n\t\t\t\tdefault: '',\n\t\t\t\trequired: true,\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\t'@version': [{ _cnd: { gte: 1.1 } }],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\ttransportSelect({\n\t\t\t\tdefaultOption: 'sse',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\t'@version': [1.1],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t\ttransportSelect({\n\t\t\t\tdefaultOption: 'httpStreamable',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\t'@version': [{ _cnd: { gte: 1.2 } }],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t\t{\n\t\t\t\tdisplayName: 'Authentication',\n\t\t\t\tname: 'authentication',\n\t\t\t\ttype: 'options',\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Bearer Auth',\n\t\t\t\t\t\tvalue: 'bearerAuth',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Header Auth',\n\t\t\t\t\t\tvalue: 'headerAuth',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'None',\n\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'none',\n\t\t\t\tdescription: 'The way to authenticate with your endpoint',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\t'@version': [{ _cnd: { lt: 1.2 } }],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Authentication',\n\t\t\t\tname: 'authentication',\n\t\t\t\ttype: 'options',\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Bearer Auth',\n\t\t\t\t\t\tvalue: 'bearerAuth',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Header Auth',\n\t\t\t\t\t\tvalue: 'headerAuth',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'MCP OAuth2',\n\t\t\t\t\t\tvalue: 'mcpOAuth2Api',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Multiple Headers Auth',\n\t\t\t\t\t\tvalue: 'multipleHeadersAuth',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'None',\n\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'none',\n\t\t\t\tdescription: 'The way to authenticate with your endpoint',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\t'@version': [{ _cnd: { gte: 1.2 } }],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Credentials',\n\t\t\t\tname: 'credentials',\n\t\t\t\ttype: 'credentials',\n\t\t\t\tdefault: '',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\tauthentication: ['headerAuth', 'bearerAuth', 'mcpOAuth2Api', 'multipleHeadersAuth'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Tools to Include',\n\t\t\t\tname: 'include',\n\t\t\t\ttype: 'options',\n\t\t\t\tdescription: 'How to select the tools you want to be exposed to the AI Agent',\n\t\t\t\tdefault: 'all',\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'All',\n\t\t\t\t\t\tvalue: 'all',\n\t\t\t\t\t\tdescription: 'Also include all unchanged fields from the input',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Selected',\n\t\t\t\t\t\tvalue: 'selected',\n\t\t\t\t\t\tdescription: 'Also include the tools listed in the parameter \"Tools to Include\"',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'All Except',\n\t\t\t\t\t\tvalue: 'except',\n\t\t\t\t\t\tdescription: 'Exclude the tools listed in the parameter \"Tools to Exclude\"',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Tools to Include',\n\t\t\t\tname: 'includeTools',\n\t\t\t\ttype: 'multiOptions',\n\t\t\t\tdefault: [],\n\t\t\t\tdescription:\n\t\t\t\t\t'Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tloadOptionsMethod: 'getTools',\n\t\t\t\t\tloadOptionsDependsOn: ['sseEndpoint'],\n\t\t\t\t},\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\tinclude: ['selected'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Tools to Exclude',\n\t\t\t\tname: 'excludeTools',\n\t\t\t\ttype: 'multiOptions',\n\t\t\t\tdefault: [],\n\t\t\t\tdescription:\n\t\t\t\t\t'Choose from the list, or specify IDs using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tloadOptionsMethod: 'getTools',\n\t\t\t\t},\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\tinclude: ['except'],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Options',\n\t\t\t\tname: 'options',\n\t\t\t\tplaceholder: 'Add Option',\n\t\t\t\tdescription: 'Additional options to add',\n\t\t\t\ttype: 'collection',\n\t\t\t\tdefault: {},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Timeout',\n\t\t\t\t\t\tname: 'timeout',\n\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\ttypeOptions: {\n\t\t\t\t\t\t\tminValue: 1,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdefault: 60000,\n\t\t\t\t\t\tdescription: 'Time in ms to wait for tool calls to finish',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t};\n\n\tmethods = {\n\t\tloadOptions: {\n\t\t\tgetTools,\n\t\t},\n\t};\n\n\tasync supplyData(this: ISupplyDataFunctions, itemIndex: number): Promise<SupplyData> {\n\t\tconst node = this.getNode();\n\t\tconst config = getNodeConfig(this, itemIndex);\n\n\t\tconst setError = (error: NodeOperationError): SupplyData => {\n\t\t\tthis.addOutputData(NodeConnectionTypes.AiTool, itemIndex, error);\n\t\t\tthrow error;\n\t\t};\n\n\t\tconst { client, mcpTools, error } = await connectAndGetTools(this, config);\n\n\t\tif (error) {\n\t\t\tthis.logger.error('McpClientTool: Failed to connect to MCP Server', { error });\n\t\t\treturn setError(mapToNodeOperationError(node, error));\n\t\t}\n\n\t\tthis.logger.debug('McpClientTool: Successfully connected to MCP Server');\n\n\t\tif (!mcpTools?.length) {\n\t\t\treturn setError(\n\t\t\t\tnew NodeOperationError(node, 'MCP Server returned no tools', {\n\t\t\t\t\titemIndex,\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t'Connected successfully to your MCP server but it returned an empty list of tools.',\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\n\t\tconst tools = mcpTools.map((tool) =>\n\t\t\tlogWrapper(\n\t\t\t\tmcpToolToDynamicTool(\n\t\t\t\t\ttool,\n\t\t\t\t\tcreateCallTool(tool.name, client, config.timeout, (errorMessage) => {\n\t\t\t\t\t\tconst error = new NodeOperationError(node, errorMessage, { itemIndex });\n\t\t\t\t\t\tvoid this.addOutputData(NodeConnectionTypes.AiTool, itemIndex, error);\n\t\t\t\t\t\tthis.logger.error(`McpClientTool: Tool \"${tool.name}\" failed to execute`, { error });\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t\tthis,\n\t\t\t),\n\t\t);\n\n\t\tthis.logger.debug(`McpClientTool: Connected to MCP Server with ${tools.length} tools`);\n\n\t\tconst toolkit = new McpToolkit(tools);\n\n\t\treturn { response: toolkit, closeFunction: async () => await client.close() };\n\t}\n\n\tasync execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {\n\t\tconst node = this.getNode();\n\t\tconst items = this.getInputData();\n\t\tconst returnData: INodeExecutionData[] = [];\n\n\t\tfor (let itemIndex = 0; itemIndex < items.length; itemIndex++) {\n\t\t\tconst item = items[itemIndex];\n\t\t\tconst config = getNodeConfig(this, itemIndex);\n\n\t\t\tconst { client, mcpTools, error } = await connectAndGetTools(this, config);\n\n\t\t\tif (error) {\n\t\t\t\tthrow new NodeOperationError(node, error.error, { itemIndex });\n\t\t\t}\n\n\t\t\tif (!mcpTools?.length) {\n\t\t\t\tthrow new NodeOperationError(node, 'MCP Server returned no tools', { itemIndex });\n\t\t\t}\n\n\t\t\tfor (const tool of mcpTools) {\n\t\t\t\t// Check for tool name in item.json.tool (for toolkit execution from agent)\n\t\t\t\t// or item.tool (for direct execution)\n\t\t\t\tif (!item.json.tool || typeof item.json.tool !== 'string') {\n\t\t\t\t\tthrow new NodeOperationError(node, 'Tool name not found in item.json.tool or item.tool', {\n\t\t\t\t\t\titemIndex,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tconst toolName = item.json.tool;\n\t\t\t\tif (toolName === tool.name) {\n\t\t\t\t\t// Extract the tool name from arguments before passing to MCP\n\t\t\t\t\tconst { tool: _, ...toolArguments } = item.json;\n\t\t\t\t\tconst params: {\n\t\t\t\t\t\tname: string;\n\t\t\t\t\t\targuments: IDataObject;\n\t\t\t\t\t} = {\n\t\t\t\t\t\tname: tool.name,\n\t\t\t\t\t\targuments: toolArguments,\n\t\t\t\t\t};\n\t\t\t\t\tconst result = await client.callTool(params, CallToolResultSchema, {\n\t\t\t\t\t\ttimeout: config.timeout,\n\t\t\t\t\t});\n\t\t\t\t\treturnData.push({\n\t\t\t\t\t\tjson: {\n\t\t\t\t\t\t\tresponse: result.content as IDataObject,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tpairedItem: {\n\t\t\t\t\t\t\titem: itemIndex,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn [returnData];\n\t}\n}\n"],"mappings":"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","names":["import_utils","headers","error"]}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var loadOptions_exports = {};
20
+ __export(loadOptions_exports, {
21
+ getTools: () => getTools
22
+ });
23
+ module.exports = __toCommonJS(loadOptions_exports);
24
+ var import_utils = require("../shared/utils");
25
+ async function getTools() {
26
+ const authentication = this.getNodeParameter("authentication");
27
+ const node = this.getNode();
28
+ let serverTransport;
29
+ let endpointUrl;
30
+ if (node.typeVersion === 1) {
31
+ serverTransport = "sse";
32
+ endpointUrl = this.getNodeParameter("sseEndpoint");
33
+ } else {
34
+ serverTransport = this.getNodeParameter("serverTransport");
35
+ endpointUrl = this.getNodeParameter("endpointUrl");
36
+ }
37
+ const { headers } = await (0, import_utils.getAuthHeaders)(this, authentication);
38
+ const client = await (0, import_utils.connectMcpClient)({
39
+ serverTransport,
40
+ endpointUrl,
41
+ headers,
42
+ name: node.type,
43
+ version: node.typeVersion,
44
+ onUnauthorized: async (headers2) => await (0, import_utils.tryRefreshOAuth2Token)(this, authentication, headers2)
45
+ });
46
+ if (!client.ok) {
47
+ throw (0, import_utils.mapToNodeOperationError)(node, client.error);
48
+ }
49
+ const tools = await (0, import_utils.getAllTools)(client.result);
50
+ return tools.map((tool) => ({
51
+ name: tool.name,
52
+ value: tool.name,
53
+ description: tool.description,
54
+ inputSchema: tool.inputSchema
55
+ }));
56
+ }
57
+ // Annotate the CommonJS export names for ESM import in node:
58
+ 0 && (module.exports = {
59
+ getTools
60
+ });
61
+ //# sourceMappingURL=loadOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../nodes/mcp/McpClientTool/loadOptions.ts"],"sourcesContent":["import { type ILoadOptionsFunctions, type INodePropertyOptions } from 'n8n-workflow';\n\nimport type { McpAuthenticationOption, McpServerTransport } from '../shared/types';\nimport {\n\tconnectMcpClient,\n\tgetAllTools,\n\tgetAuthHeaders,\n\tmapToNodeOperationError,\n\ttryRefreshOAuth2Token,\n} from '../shared/utils';\n\nexport async function getTools(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {\n\tconst authentication = this.getNodeParameter('authentication') as McpAuthenticationOption;\n\tconst node = this.getNode();\n\tlet serverTransport: McpServerTransport;\n\tlet endpointUrl: string;\n\tif (node.typeVersion === 1) {\n\t\tserverTransport = 'sse';\n\t\tendpointUrl = this.getNodeParameter('sseEndpoint') as string;\n\t} else {\n\t\tserverTransport = this.getNodeParameter('serverTransport') as McpServerTransport;\n\t\tendpointUrl = this.getNodeParameter('endpointUrl') as string;\n\t}\n\tconst { headers } = await getAuthHeaders(this, authentication);\n\tconst client = await connectMcpClient({\n\t\tserverTransport,\n\t\tendpointUrl,\n\t\theaders,\n\t\tname: node.type,\n\t\tversion: node.typeVersion,\n\t\tonUnauthorized: async (headers) => await tryRefreshOAuth2Token(this, authentication, headers),\n\t});\n\n\tif (!client.ok) {\n\t\tthrow mapToNodeOperationError(node, client.error);\n\t}\n\n\tconst tools = await getAllTools(client.result);\n\treturn tools.map((tool) => ({\n\t\tname: tool.name,\n\t\tvalue: tool.name,\n\t\tdescription: tool.description,\n\t\tinputSchema: tool.inputSchema,\n\t}));\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mBAMO;AAEP,eAAsB,WAAuE;AAC5F,QAAM,iBAAiB,KAAK,iBAAiB,gBAAgB;AAC7D,QAAM,OAAO,KAAK,QAAQ;AAC1B,MAAI;AACJ,MAAI;AACJ,MAAI,KAAK,gBAAgB,GAAG;AAC3B,sBAAkB;AAClB,kBAAc,KAAK,iBAAiB,aAAa;AAAA,EAClD,OAAO;AACN,sBAAkB,KAAK,iBAAiB,iBAAiB;AACzD,kBAAc,KAAK,iBAAiB,aAAa;AAAA,EAClD;AACA,QAAM,EAAE,QAAQ,IAAI,UAAM,6BAAe,MAAM,cAAc;AAC7D,QAAM,SAAS,UAAM,+BAAiB;AAAA,IACrC;AAAA,IACA;AAAA,IACA;AAAA,IACA,MAAM,KAAK;AAAA,IACX,SAAS,KAAK;AAAA,IACd,gBAAgB,OAAOA,aAAY,UAAM,oCAAsB,MAAM,gBAAgBA,QAAO;AAAA,EAC7F,CAAC;AAED,MAAI,CAAC,OAAO,IAAI;AACf,cAAM,sCAAwB,MAAM,OAAO,KAAK;AAAA,EACjD;AAEA,QAAM,QAAQ,UAAM,0BAAY,OAAO,MAAM;AAC7C,SAAO,MAAM,IAAI,CAAC,UAAU;AAAA,IAC3B,MAAM,KAAK;AAAA,IACX,OAAO,KAAK;AAAA,IACZ,aAAa,KAAK;AAAA,IAClB,aAAa,KAAK;AAAA,EACnB,EAAE;AACH;","names":["headers"]}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var types_exports = {};
16
+ module.exports = __toCommonJS(types_exports);
17
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../nodes/mcp/McpClientTool/types.ts"],"sourcesContent":["export type McpToolIncludeMode = 'all' | 'selected' | 'except';\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var utils_exports = {};
20
+ __export(utils_exports, {
21
+ McpToolkit: () => McpToolkit,
22
+ createCallTool: () => createCallTool,
23
+ getErrorDescriptionFromToolCall: () => getErrorDescriptionFromToolCall,
24
+ getSelectedTools: () => getSelectedTools,
25
+ mcpToolToDynamicTool: () => mcpToolToDynamicTool
26
+ });
27
+ module.exports = __toCommonJS(utils_exports);
28
+ var import_tools = require("@langchain/core/tools");
29
+ var import_types = require("@modelcontextprotocol/sdk/types.js");
30
+ var import_agents = require("@langchain/classic/agents");
31
+ var import_zod = require("zod");
32
+ var import_schemaParsing = require("../../../utils/schemaParsing");
33
+ function getSelectedTools({
34
+ mode,
35
+ includeTools,
36
+ excludeTools,
37
+ tools
38
+ }) {
39
+ switch (mode) {
40
+ case "selected": {
41
+ if (!includeTools?.length) return tools;
42
+ const include = new Set(includeTools);
43
+ return tools.filter((tool) => include.has(tool.name));
44
+ }
45
+ case "except": {
46
+ const except = new Set(excludeTools ?? []);
47
+ return tools.filter((tool) => !except.has(tool.name));
48
+ }
49
+ case "all":
50
+ default:
51
+ return tools;
52
+ }
53
+ }
54
+ const getErrorDescriptionFromToolCall = (result) => {
55
+ if (result && typeof result === "object") {
56
+ if ("content" in result && Array.isArray(result.content)) {
57
+ const errorMessage = result.content.find(
58
+ (content) => content && typeof content === "object" && typeof content.text === "string"
59
+ )?.text;
60
+ return errorMessage;
61
+ } else if ("toolResult" in result && typeof result.toolResult === "string") {
62
+ return result.toolResult;
63
+ }
64
+ if ("message" in result && typeof result.message === "string") {
65
+ return result.message;
66
+ }
67
+ }
68
+ return void 0;
69
+ };
70
+ const createCallTool = (name, client, timeout, onError) => async (args) => {
71
+ let result;
72
+ function handleError(error) {
73
+ const errorDescription = getErrorDescriptionFromToolCall(error) ?? `Failed to execute tool "${name}"`;
74
+ onError(errorDescription);
75
+ return errorDescription;
76
+ }
77
+ try {
78
+ result = await client.callTool({ name, arguments: args }, import_types.CompatibilityCallToolResultSchema, {
79
+ timeout
80
+ });
81
+ } catch (error) {
82
+ return handleError(error);
83
+ }
84
+ if (result.isError) {
85
+ return handleError(result);
86
+ }
87
+ if (result.toolResult !== void 0) {
88
+ return result.toolResult;
89
+ }
90
+ if (result.content !== void 0) {
91
+ return result.content;
92
+ }
93
+ return result;
94
+ };
95
+ function mcpToolToDynamicTool(tool, onCallTool) {
96
+ const rawSchema = (0, import_schemaParsing.convertJsonSchemaToZod)(tool.inputSchema);
97
+ const objectSchema = rawSchema instanceof import_zod.z.ZodObject ? rawSchema : import_zod.z.object({ value: rawSchema });
98
+ return new import_tools.DynamicStructuredTool({
99
+ name: tool.name,
100
+ description: tool.description ?? "",
101
+ schema: objectSchema,
102
+ func: onCallTool,
103
+ metadata: { isFromToolkit: true }
104
+ });
105
+ }
106
+ class McpToolkit extends import_agents.Toolkit {
107
+ constructor(tools) {
108
+ super();
109
+ this.tools = tools;
110
+ }
111
+ }
112
+ // Annotate the CommonJS export names for ESM import in node:
113
+ 0 && (module.exports = {
114
+ McpToolkit,
115
+ createCallTool,
116
+ getErrorDescriptionFromToolCall,
117
+ getSelectedTools,
118
+ mcpToolToDynamicTool
119
+ });
120
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../nodes/mcp/McpClientTool/utils.ts"],"sourcesContent":["import { DynamicStructuredTool, type DynamicStructuredToolInput } from '@langchain/core/tools';\nimport type { Client } from '@modelcontextprotocol/sdk/client/index.js';\nimport { CompatibilityCallToolResultSchema } from '@modelcontextprotocol/sdk/types.js';\nimport { Toolkit } from '@langchain/classic/agents';\nimport { type IDataObject } from 'n8n-workflow';\nimport { z } from 'zod';\n\nimport { convertJsonSchemaToZod } from '@utils/schemaParsing';\n\nimport type { McpToolIncludeMode } from './types';\nimport type { McpTool } from '../shared/types';\n\nexport function getSelectedTools({\n\tmode,\n\tincludeTools,\n\texcludeTools,\n\ttools,\n}: {\n\tmode: McpToolIncludeMode;\n\tincludeTools?: string[];\n\texcludeTools?: string[];\n\ttools: McpTool[];\n}) {\n\tswitch (mode) {\n\t\tcase 'selected': {\n\t\t\tif (!includeTools?.length) return tools;\n\t\t\tconst include = new Set(includeTools);\n\t\t\treturn tools.filter((tool) => include.has(tool.name));\n\t\t}\n\t\tcase 'except': {\n\t\t\tconst except = new Set(excludeTools ?? []);\n\t\t\treturn tools.filter((tool) => !except.has(tool.name));\n\t\t}\n\t\tcase 'all':\n\t\tdefault:\n\t\t\treturn tools;\n\t}\n}\n\nexport const getErrorDescriptionFromToolCall = (result: unknown): string | undefined => {\n\tif (result && typeof result === 'object') {\n\t\tif ('content' in result && Array.isArray(result.content)) {\n\t\t\tconst errorMessage = (result.content as Array<{ type: 'text'; text: string }>).find(\n\t\t\t\t(content) => content && typeof content === 'object' && typeof content.text === 'string',\n\t\t\t)?.text;\n\t\t\treturn errorMessage;\n\t\t} else if ('toolResult' in result && typeof result.toolResult === 'string') {\n\t\t\treturn result.toolResult;\n\t\t}\n\t\tif ('message' in result && typeof result.message === 'string') {\n\t\t\treturn result.message;\n\t\t}\n\t}\n\n\treturn undefined;\n};\n\nexport const createCallTool =\n\t(name: string, client: Client, timeout: number, onError: (error: string) => void) =>\n\tasync (args: IDataObject) => {\n\t\tlet result: Awaited<ReturnType<Client['callTool']>>;\n\n\t\tfunction handleError(error: unknown) {\n\t\t\tconst errorDescription =\n\t\t\t\tgetErrorDescriptionFromToolCall(error) ?? `Failed to execute tool \"${name}\"`;\n\t\t\tonError(errorDescription);\n\t\t\treturn errorDescription;\n\t\t}\n\n\t\ttry {\n\t\t\tresult = await client.callTool({ name, arguments: args }, CompatibilityCallToolResultSchema, {\n\t\t\t\ttimeout,\n\t\t\t});\n\t\t} catch (error) {\n\t\t\treturn handleError(error);\n\t\t}\n\n\t\tif (result.isError) {\n\t\t\treturn handleError(result);\n\t\t}\n\n\t\tif (result.toolResult !== undefined) {\n\t\t\treturn result.toolResult;\n\t\t}\n\n\t\tif (result.content !== undefined) {\n\t\t\treturn result.content;\n\t\t}\n\n\t\treturn result;\n\t};\n\nexport function mcpToolToDynamicTool(\n\ttool: McpTool,\n\tonCallTool: DynamicStructuredToolInput['func'],\n): DynamicStructuredTool {\n\tconst rawSchema = convertJsonSchemaToZod(tool.inputSchema);\n\n\t// Ensure we always have an object schema for structured tools\n\tconst objectSchema =\n\t\trawSchema instanceof z.ZodObject ? rawSchema : z.object({ value: rawSchema });\n\n\treturn new DynamicStructuredTool({\n\t\tname: tool.name,\n\t\tdescription: tool.description ?? '',\n\t\tschema: objectSchema,\n\t\tfunc: onCallTool,\n\t\tmetadata: { isFromToolkit: true },\n\t});\n}\n\nexport class McpToolkit extends Toolkit {\n\tconstructor(public tools: DynamicStructuredTool[]) {\n\t\tsuper();\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAuE;AAEvE,mBAAkD;AAClD,oBAAwB;AAExB,iBAAkB;AAElB,2BAAuC;AAKhC,SAAS,iBAAiB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAKG;AACF,UAAQ,MAAM;AAAA,IACb,KAAK,YAAY;AAChB,UAAI,CAAC,cAAc,OAAQ,QAAO;AAClC,YAAM,UAAU,IAAI,IAAI,YAAY;AACpC,aAAO,MAAM,OAAO,CAAC,SAAS,QAAQ,IAAI,KAAK,IAAI,CAAC;AAAA,IACrD;AAAA,IACA,KAAK,UAAU;AACd,YAAM,SAAS,IAAI,IAAI,gBAAgB,CAAC,CAAC;AACzC,aAAO,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,IAAI,KAAK,IAAI,CAAC;AAAA,IACrD;AAAA,IACA,KAAK;AAAA,IACL;AACC,aAAO;AAAA,EACT;AACD;AAEO,MAAM,kCAAkC,CAAC,WAAwC;AACvF,MAAI,UAAU,OAAO,WAAW,UAAU;AACzC,QAAI,aAAa,UAAU,MAAM,QAAQ,OAAO,OAAO,GAAG;AACzD,YAAM,eAAgB,OAAO,QAAkD;AAAA,QAC9E,CAAC,YAAY,WAAW,OAAO,YAAY,YAAY,OAAO,QAAQ,SAAS;AAAA,MAChF,GAAG;AACH,aAAO;AAAA,IACR,WAAW,gBAAgB,UAAU,OAAO,OAAO,eAAe,UAAU;AAC3E,aAAO,OAAO;AAAA,IACf;AACA,QAAI,aAAa,UAAU,OAAO,OAAO,YAAY,UAAU;AAC9D,aAAO,OAAO;AAAA,IACf;AAAA,EACD;AAEA,SAAO;AACR;AAEO,MAAM,iBACZ,CAAC,MAAc,QAAgB,SAAiB,YAChD,OAAO,SAAsB;AAC5B,MAAI;AAEJ,WAAS,YAAY,OAAgB;AACpC,UAAM,mBACL,gCAAgC,KAAK,KAAK,2BAA2B,IAAI;AAC1E,YAAQ,gBAAgB;AACxB,WAAO;AAAA,EACR;AAEA,MAAI;AACH,aAAS,MAAM,OAAO,SAAS,EAAE,MAAM,WAAW,KAAK,GAAG,gDAAmC;AAAA,MAC5F;AAAA,IACD,CAAC;AAAA,EACF,SAAS,OAAO;AACf,WAAO,YAAY,KAAK;AAAA,EACzB;AAEA,MAAI,OAAO,SAAS;AACnB,WAAO,YAAY,MAAM;AAAA,EAC1B;AAEA,MAAI,OAAO,eAAe,QAAW;AACpC,WAAO,OAAO;AAAA,EACf;AAEA,MAAI,OAAO,YAAY,QAAW;AACjC,WAAO,OAAO;AAAA,EACf;AAEA,SAAO;AACR;AAEM,SAAS,qBACf,MACA,YACwB;AACxB,QAAM,gBAAY,6CAAuB,KAAK,WAAW;AAGzD,QAAM,eACL,qBAAqB,aAAE,YAAY,YAAY,aAAE,OAAO,EAAE,OAAO,UAAU,CAAC;AAE7E,SAAO,IAAI,mCAAsB;AAAA,IAChC,MAAM,KAAK;AAAA,IACX,aAAa,KAAK,eAAe;AAAA,IACjC,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,UAAU,EAAE,eAAe,KAAK;AAAA,EACjC,CAAC;AACF;AAEO,MAAM,mBAAmB,sBAAQ;AAAA,EACvC,YAAmB,OAAgC;AAClD,UAAM;AADY;AAAA,EAEnB;AACD;","names":[]}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var FlushingTransport_exports = {};
20
+ __export(FlushingTransport_exports, {
21
+ FlushingSSEServerTransport: () => FlushingSSEServerTransport,
22
+ FlushingStreamableHTTPTransport: () => FlushingStreamableHTTPTransport
23
+ });
24
+ module.exports = __toCommonJS(FlushingTransport_exports);
25
+ var import_sse = require("@modelcontextprotocol/sdk/server/sse.js");
26
+ var import_streamableHttp = require("@modelcontextprotocol/sdk/server/streamableHttp.js");
27
+ class FlushingSSEServerTransport extends import_sse.SSEServerTransport {
28
+ constructor(_endpoint, response) {
29
+ super(_endpoint, response);
30
+ this.response = response;
31
+ }
32
+ async send(message) {
33
+ await super.send(message);
34
+ this.response.flush();
35
+ }
36
+ async handleRequest(req, resp, message) {
37
+ await super.handlePostMessage(req, resp, message);
38
+ this.response.flush();
39
+ }
40
+ }
41
+ class FlushingStreamableHTTPTransport extends import_streamableHttp.StreamableHTTPServerTransport {
42
+ constructor(options, response) {
43
+ super(options);
44
+ this.response = response;
45
+ }
46
+ async send(message) {
47
+ await super.send(message);
48
+ this.response.flush();
49
+ }
50
+ async handleRequest(req, resp, parsedBody) {
51
+ await super.handleRequest(req, resp, parsedBody);
52
+ this.response.flush();
53
+ }
54
+ }
55
+ // Annotate the CommonJS export names for ESM import in node:
56
+ 0 && (module.exports = {
57
+ FlushingSSEServerTransport,
58
+ FlushingStreamableHTTPTransport
59
+ });
60
+ //# sourceMappingURL=FlushingTransport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../nodes/mcp/McpTrigger/FlushingTransport.ts"],"sourcesContent":["import { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js';\nimport { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';\nimport type { StreamableHTTPServerTransportOptions } from '@modelcontextprotocol/sdk/server/streamableHttp.js';\nimport type { JSONRPCMessage } from '@modelcontextprotocol/sdk/types.js';\nimport type { Response } from 'express';\nimport type { IncomingMessage, ServerResponse } from 'http';\n\nexport type CompressionResponse = Response & {\n\t/**\n\t * `flush()` is defined in the compression middleware.\n\t * This is necessary because the compression middleware sometimes waits\n\t * for a certain amount of data before sending the data to the client\n\t */\n\tflush: () => void;\n};\n\nexport class FlushingSSEServerTransport extends SSEServerTransport {\n\tconstructor(\n\t\t_endpoint: string,\n\t\tprivate response: CompressionResponse,\n\t) {\n\t\tsuper(_endpoint, response);\n\t}\n\n\tasync send(message: JSONRPCMessage): Promise<void> {\n\t\tawait super.send(message);\n\t\tthis.response.flush();\n\t}\n\n\tasync handleRequest(\n\t\treq: IncomingMessage,\n\t\tresp: ServerResponse,\n\t\tmessage: IncomingMessage,\n\t): Promise<void> {\n\t\tawait super.handlePostMessage(req, resp, message);\n\t\tthis.response.flush();\n\t}\n}\n\nexport class FlushingStreamableHTTPTransport extends StreamableHTTPServerTransport {\n\tprivate response: CompressionResponse;\n\n\tconstructor(options: StreamableHTTPServerTransportOptions, response: CompressionResponse) {\n\t\tsuper(options);\n\t\tthis.response = response;\n\t}\n\n\tasync send(message: JSONRPCMessage): Promise<void> {\n\t\tawait super.send(message);\n\t\tthis.response.flush();\n\t}\n\n\tasync handleRequest(\n\t\treq: IncomingMessage,\n\t\tresp: ServerResponse,\n\t\tparsedBody?: unknown,\n\t): Promise<void> {\n\t\tawait super.handleRequest(req, resp, parsedBody);\n\t\tthis.response.flush();\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAmC;AACnC,4BAA8C;AAevC,MAAM,mCAAmC,8BAAmB;AAAA,EAClE,YACC,WACQ,UACP;AACD,UAAM,WAAW,QAAQ;AAFjB;AAAA,EAGT;AAAA,EAEA,MAAM,KAAK,SAAwC;AAClD,UAAM,MAAM,KAAK,OAAO;AACxB,SAAK,SAAS,MAAM;AAAA,EACrB;AAAA,EAEA,MAAM,cACL,KACA,MACA,SACgB;AAChB,UAAM,MAAM,kBAAkB,KAAK,MAAM,OAAO;AAChD,SAAK,SAAS,MAAM;AAAA,EACrB;AACD;AAEO,MAAM,wCAAwC,oDAA8B;AAAA,EAGlF,YAAY,SAA+C,UAA+B;AACzF,UAAM,OAAO;AACb,SAAK,WAAW;AAAA,EACjB;AAAA,EAEA,MAAM,KAAK,SAAwC;AAClD,UAAM,MAAM,KAAK,OAAO;AACxB,SAAK,SAAS,MAAM;AAAA,EACrB;AAAA,EAEA,MAAM,cACL,KACA,MACA,YACgB;AAChB,UAAM,MAAM,cAAc,KAAK,MAAM,UAAU;AAC/C,SAAK,SAAS,MAAM;AAAA,EACrB;AACD;","names":[]}
@@ -0,0 +1,255 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __typeError = (msg) => {
7
+ throw TypeError(msg);
8
+ };
9
+ var __export = (target, all) => {
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from))
16
+ if (!__hasOwnProp.call(to, key) && key !== except)
17
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
+ }
19
+ return to;
20
+ };
21
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
23
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
24
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
25
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
26
+ var McpServer_exports = {};
27
+ __export(McpServer_exports, {
28
+ McpServerManager: () => McpServerManager
29
+ });
30
+ module.exports = __toCommonJS(McpServer_exports);
31
+ var import_server = require("@modelcontextprotocol/sdk/server/index.js");
32
+ var import_types = require("@modelcontextprotocol/sdk/types.js");
33
+ var import_crypto = require("crypto");
34
+ var import_n8n_workflow = require("n8n-workflow");
35
+ var import_zod_to_json_schema = require("zod-to-json-schema");
36
+ var import_FlushingTransport = require("./FlushingTransport");
37
+ var _instance;
38
+ function wasToolCall(body) {
39
+ try {
40
+ const message = JSON.parse(body);
41
+ const parsedMessage = import_types.JSONRPCMessageSchema.parse(message);
42
+ return "method" in parsedMessage && "id" in parsedMessage && parsedMessage?.method === import_types.CallToolRequestSchema.shape.method.value;
43
+ } catch {
44
+ return false;
45
+ }
46
+ }
47
+ function getRequestId(message) {
48
+ try {
49
+ const parsedMessage = import_types.JSONRPCMessageSchema.parse(message);
50
+ return "id" in parsedMessage ? String(parsedMessage.id) : void 0;
51
+ } catch {
52
+ return void 0;
53
+ }
54
+ }
55
+ const _McpServerManager = class _McpServerManager {
56
+ constructor(logger) {
57
+ this.servers = {};
58
+ this.transports = {};
59
+ this.tools = {};
60
+ this.resolveFunctions = {};
61
+ this.logger = logger;
62
+ this.logger.debug("MCP Server created");
63
+ }
64
+ static instance(logger) {
65
+ if (!__privateGet(_McpServerManager, _instance)) {
66
+ __privateSet(_McpServerManager, _instance, new _McpServerManager(logger));
67
+ logger.debug("Created singleton MCP manager");
68
+ }
69
+ return __privateGet(_McpServerManager, _instance);
70
+ }
71
+ async createServerWithSSETransport(serverName, postUrl, resp) {
72
+ const server = new import_server.Server(
73
+ {
74
+ name: serverName,
75
+ version: "0.1.0"
76
+ },
77
+ {
78
+ capabilities: {
79
+ tools: {}
80
+ }
81
+ }
82
+ );
83
+ const transport = new import_FlushingTransport.FlushingSSEServerTransport(postUrl, resp);
84
+ this.setUpHandlers(server);
85
+ const sessionId = transport.sessionId;
86
+ this.transports[sessionId] = transport;
87
+ this.servers[sessionId] = server;
88
+ resp.on("close", async () => {
89
+ this.logger.debug(`Deleting transport for ${sessionId}`);
90
+ delete this.tools[sessionId];
91
+ delete this.transports[sessionId];
92
+ delete this.servers[sessionId];
93
+ });
94
+ await server.connect(transport);
95
+ if (resp.flush) {
96
+ resp.flush();
97
+ }
98
+ }
99
+ getSessionId(req) {
100
+ return req.query.sessionId ?? req.headers["mcp-session-id"];
101
+ }
102
+ getTransport(sessionId) {
103
+ return this.transports[sessionId];
104
+ }
105
+ async createServerWithStreamableHTTPTransport(serverName, resp, req) {
106
+ const server = new import_server.Server(
107
+ {
108
+ name: serverName,
109
+ version: "0.1.0"
110
+ },
111
+ {
112
+ capabilities: {
113
+ tools: {}
114
+ }
115
+ }
116
+ );
117
+ const transport = new import_FlushingTransport.FlushingStreamableHTTPTransport(
118
+ {
119
+ sessionIdGenerator: () => (0, import_crypto.randomUUID)(),
120
+ onsessioninitialized: (sessionId) => {
121
+ this.logger.debug(`New session initialized: ${sessionId}`);
122
+ transport.onclose = () => {
123
+ this.logger.debug(`Deleting transport for ${sessionId}`);
124
+ delete this.tools[sessionId];
125
+ delete this.transports[sessionId];
126
+ delete this.servers[sessionId];
127
+ };
128
+ this.transports[sessionId] = transport;
129
+ this.servers[sessionId] = server;
130
+ }
131
+ },
132
+ resp
133
+ );
134
+ this.setUpHandlers(server);
135
+ await server.connect(transport);
136
+ await transport.handleRequest(req, resp, req?.body);
137
+ if (resp.flush) {
138
+ resp.flush();
139
+ }
140
+ }
141
+ async handlePostMessage(req, resp, connectedTools) {
142
+ const sessionId = this.getSessionId(req);
143
+ const transport = this.getTransport(sessionId);
144
+ if (sessionId && transport) {
145
+ const message = (0, import_n8n_workflow.jsonParse)(req.rawBody.toString());
146
+ const messageId = getRequestId(message);
147
+ const callId = messageId ? `${sessionId}_${messageId}` : sessionId;
148
+ this.tools[sessionId] = connectedTools;
149
+ try {
150
+ await new Promise(async (resolve) => {
151
+ this.resolveFunctions[callId] = resolve;
152
+ await transport.handleRequest(req, resp, message);
153
+ });
154
+ } finally {
155
+ delete this.resolveFunctions[callId];
156
+ }
157
+ } else {
158
+ this.logger.warn(`No transport found for session ${sessionId}`);
159
+ resp.status(401).send("No transport found for sessionId");
160
+ }
161
+ if (resp.flush) {
162
+ resp.flush();
163
+ }
164
+ return wasToolCall(req.rawBody.toString());
165
+ }
166
+ async handleDeleteRequest(req, resp) {
167
+ const sessionId = this.getSessionId(req);
168
+ if (!sessionId) {
169
+ resp.status(400).send("No sessionId provided");
170
+ return;
171
+ }
172
+ const transport = this.getTransport(sessionId);
173
+ if (transport) {
174
+ if (transport instanceof import_FlushingTransport.FlushingStreamableHTTPTransport) {
175
+ await transport.handleRequest(req, resp);
176
+ return;
177
+ } else {
178
+ resp.status(405).send("Method Not Allowed");
179
+ return;
180
+ }
181
+ }
182
+ resp.status(404).send("Session not found");
183
+ }
184
+ setUpHandlers(server) {
185
+ server.setRequestHandler(
186
+ import_types.ListToolsRequestSchema,
187
+ async (_, extra) => {
188
+ if (!extra.sessionId) {
189
+ throw new import_n8n_workflow.OperationalError("Require a sessionId for the listing of tools");
190
+ }
191
+ return {
192
+ tools: this.tools[extra.sessionId].map((tool) => {
193
+ return {
194
+ name: tool.name,
195
+ description: tool.description,
196
+ // Allow additional properties on tool call input
197
+ inputSchema: (0, import_zod_to_json_schema.zodToJsonSchema)(tool.schema, { removeAdditionalStrategy: "strict" })
198
+ };
199
+ })
200
+ };
201
+ }
202
+ );
203
+ server.setRequestHandler(
204
+ import_types.CallToolRequestSchema,
205
+ async (request, extra) => {
206
+ if (!request.params?.name || !request.params?.arguments) {
207
+ throw new import_n8n_workflow.OperationalError("Require a name and arguments for the tool call");
208
+ }
209
+ if (!extra.sessionId) {
210
+ throw new import_n8n_workflow.OperationalError("Require a sessionId for the tool call");
211
+ }
212
+ const callId = extra.requestId ? `${extra.sessionId}_${extra.requestId}` : extra.sessionId;
213
+ const requestedTool = this.tools[extra.sessionId].find(
214
+ (tool) => tool.name === request.params.name
215
+ );
216
+ if (!requestedTool) {
217
+ throw new import_n8n_workflow.OperationalError("Tool not found");
218
+ }
219
+ try {
220
+ const result = await requestedTool.invoke(request.params.arguments);
221
+ if (this.resolveFunctions[callId]) {
222
+ this.resolveFunctions[callId]();
223
+ } else {
224
+ this.logger.warn(`No resolve function found for ${callId}`);
225
+ }
226
+ this.logger.debug(`Got request for ${requestedTool.name}, and executed it.`);
227
+ if (typeof result === "object") {
228
+ return { content: [{ type: "text", text: JSON.stringify(result) }] };
229
+ }
230
+ if (typeof result === "string") {
231
+ return { content: [{ type: "text", text: result }] };
232
+ }
233
+ return { content: [{ type: "text", text: String(result) }] };
234
+ } catch (error) {
235
+ this.logger.error(`Error while executing Tool ${requestedTool.name}: ${error}`);
236
+ return { isError: true, content: [{ type: "text", text: `Error: ${error.message}` }] };
237
+ }
238
+ }
239
+ );
240
+ server.onclose = () => {
241
+ this.logger.debug("Closing MCP Server");
242
+ };
243
+ server.onerror = (error) => {
244
+ this.logger.error(`MCP Error: ${error}`);
245
+ };
246
+ }
247
+ };
248
+ _instance = new WeakMap();
249
+ __privateAdd(_McpServerManager, _instance);
250
+ let McpServerManager = _McpServerManager;
251
+ // Annotate the CommonJS export names for ESM import in node:
252
+ 0 && (module.exports = {
253
+ McpServerManager
254
+ });
255
+ //# sourceMappingURL=McpServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../nodes/mcp/McpTrigger/McpServer.ts"],"sourcesContent":["import type { Tool } from '@langchain/core/tools';\nimport { Server } from '@modelcontextprotocol/sdk/server/index.js';\nimport type { RequestHandlerExtra } from '@modelcontextprotocol/sdk/shared/protocol.js';\nimport type {\n\tJSONRPCMessage,\n\tServerRequest,\n\tServerNotification,\n} from '@modelcontextprotocol/sdk/types.js';\nimport {\n\tJSONRPCMessageSchema,\n\tListToolsRequestSchema,\n\tCallToolRequestSchema,\n} from '@modelcontextprotocol/sdk/types.js';\nimport { randomUUID } from 'crypto';\nimport type * as express from 'express';\nimport type { IncomingMessage } from 'http';\nimport { jsonParse, OperationalError, type Logger } from 'n8n-workflow';\nimport { zodToJsonSchema } from 'zod-to-json-schema';\n\nimport { FlushingSSEServerTransport, FlushingStreamableHTTPTransport } from './FlushingTransport';\nimport type { CompressionResponse } from './FlushingTransport';\n\n/**\n * Parses the JSONRPC message and checks whether the method used was a tool\n * call. This is necessary in order to not have executions for listing tools\n * and other commands sent by the MCP client\n */\nfunction wasToolCall(body: string) {\n\ttry {\n\t\tconst message: unknown = JSON.parse(body);\n\t\tconst parsedMessage: JSONRPCMessage = JSONRPCMessageSchema.parse(message);\n\t\treturn (\n\t\t\t'method' in parsedMessage &&\n\t\t\t'id' in parsedMessage &&\n\t\t\tparsedMessage?.method === CallToolRequestSchema.shape.method.value\n\t\t);\n\t} catch {\n\t\treturn false;\n\t}\n}\n\n/**\n * Extracts the request ID from a JSONRPC message (for example for tool calls).\n * Returns undefined if the message doesn't have an ID (for example on a tool list request)\n *\n */\nfunction getRequestId(message: unknown): string | undefined {\n\ttry {\n\t\tconst parsedMessage: JSONRPCMessage = JSONRPCMessageSchema.parse(message);\n\t\treturn 'id' in parsedMessage ? String(parsedMessage.id) : undefined;\n\t} catch {\n\t\treturn undefined;\n\t}\n}\n\n/**\n * This singleton is shared across the instance, making sure it is the one\n * keeping account of MCP servers.\n * It needs to stay in memory to keep track of the long-lived connections.\n * It requires a logger at first creation to set everything up.\n */\nexport class McpServerManager {\n\tstatic #instance: McpServerManager;\n\n\tservers: { [sessionId: string]: Server } = {};\n\n\ttransports: {\n\t\t[sessionId: string]: FlushingSSEServerTransport | FlushingStreamableHTTPTransport;\n\t} = {};\n\n\tprivate tools: { [sessionId: string]: Tool[] } = {};\n\n\tprivate resolveFunctions: { [callId: string]: CallableFunction } = {};\n\n\tlogger: Logger;\n\n\tprivate constructor(logger: Logger) {\n\t\tthis.logger = logger;\n\t\tthis.logger.debug('MCP Server created');\n\t}\n\n\tstatic instance(logger: Logger): McpServerManager {\n\t\tif (!McpServerManager.#instance) {\n\t\t\tMcpServerManager.#instance = new McpServerManager(logger);\n\t\t\tlogger.debug('Created singleton MCP manager');\n\t\t}\n\n\t\treturn McpServerManager.#instance;\n\t}\n\n\tasync createServerWithSSETransport(\n\t\tserverName: string,\n\t\tpostUrl: string,\n\t\tresp: CompressionResponse,\n\t): Promise<void> {\n\t\tconst server = new Server(\n\t\t\t{\n\t\t\t\tname: serverName,\n\t\t\t\tversion: '0.1.0',\n\t\t\t},\n\t\t\t{\n\t\t\t\tcapabilities: {\n\t\t\t\t\ttools: {},\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\n\t\tconst transport = new FlushingSSEServerTransport(postUrl, resp);\n\n\t\tthis.setUpHandlers(server);\n\n\t\tconst sessionId = transport.sessionId;\n\t\tthis.transports[sessionId] = transport;\n\t\tthis.servers[sessionId] = server;\n\n\t\tresp.on('close', async () => {\n\t\t\tthis.logger.debug(`Deleting transport for ${sessionId}`);\n\t\t\tdelete this.tools[sessionId];\n\t\t\tdelete this.transports[sessionId];\n\t\t\tdelete this.servers[sessionId];\n\t\t});\n\t\tawait server.connect(transport);\n\n\t\t// Make sure we flush the compression middleware, so that it's not waiting for more content to be added to the buffer\n\t\tif (resp.flush) {\n\t\t\tresp.flush();\n\t\t}\n\t}\n\n\tgetSessionId(req: express.Request): string | undefined {\n\t\t// Session ID can be passed either as a query parameter (SSE transport)\n\t\t// or in the header (StreamableHTTP transport).\n\t\treturn (req.query.sessionId ?? req.headers['mcp-session-id']) as string | undefined;\n\t}\n\n\tgetTransport(\n\t\tsessionId: string,\n\t): FlushingSSEServerTransport | FlushingStreamableHTTPTransport | undefined {\n\t\treturn this.transports[sessionId];\n\t}\n\n\tasync createServerWithStreamableHTTPTransport(\n\t\tserverName: string,\n\t\tresp: CompressionResponse,\n\t\treq?: express.Request,\n\t): Promise<void> {\n\t\tconst server = new Server(\n\t\t\t{\n\t\t\t\tname: serverName,\n\t\t\t\tversion: '0.1.0',\n\t\t\t},\n\t\t\t{\n\t\t\t\tcapabilities: {\n\t\t\t\t\ttools: {},\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\n\t\tconst transport = new FlushingStreamableHTTPTransport(\n\t\t\t{\n\t\t\t\tsessionIdGenerator: () => randomUUID(),\n\t\t\t\tonsessioninitialized: (sessionId) => {\n\t\t\t\t\tthis.logger.debug(`New session initialized: ${sessionId}`);\n\t\t\t\t\ttransport.onclose = () => {\n\t\t\t\t\t\tthis.logger.debug(`Deleting transport for ${sessionId}`);\n\t\t\t\t\t\tdelete this.tools[sessionId];\n\t\t\t\t\t\tdelete this.transports[sessionId];\n\t\t\t\t\t\tdelete this.servers[sessionId];\n\t\t\t\t\t};\n\t\t\t\t\tthis.transports[sessionId] = transport;\n\t\t\t\t\tthis.servers[sessionId] = server;\n\t\t\t\t},\n\t\t\t},\n\t\t\tresp,\n\t\t);\n\n\t\tthis.setUpHandlers(server);\n\n\t\tawait server.connect(transport);\n\n\t\tawait transport.handleRequest(req as IncomingMessage, resp, req?.body);\n\t\tif (resp.flush) {\n\t\t\tresp.flush();\n\t\t}\n\t}\n\n\tasync handlePostMessage(req: express.Request, resp: CompressionResponse, connectedTools: Tool[]) {\n\t\t// Session ID can be passed either as a query parameter (SSE transport)\n\t\t// or in the header (StreamableHTTP transport).\n\t\tconst sessionId = this.getSessionId(req);\n\t\tconst transport = this.getTransport(sessionId as string);\n\t\tif (sessionId && transport) {\n\t\t\t// We need to add a promise here because the `handlePostMessage` will send something to the\n\t\t\t// MCP Server, that will run in a different context. This means that the return will happen\n\t\t\t// almost immediately, and will lead to marking the sub-node as \"running\" in the final execution\n\t\t\tconst message = jsonParse(req.rawBody.toString());\n\t\t\tconst messageId = getRequestId(message);\n\t\t\t// Use session & message ID if available, otherwise fall back to sessionId\n\t\t\tconst callId = messageId ? `${sessionId}_${messageId}` : sessionId;\n\t\t\tthis.tools[sessionId] = connectedTools;\n\n\t\t\ttry {\n\t\t\t\tawait new Promise(async (resolve) => {\n\t\t\t\t\tthis.resolveFunctions[callId] = resolve;\n\t\t\t\t\tawait transport.handleRequest(req, resp, message as IncomingMessage);\n\t\t\t\t});\n\t\t\t} finally {\n\t\t\t\tdelete this.resolveFunctions[callId];\n\t\t\t}\n\t\t} else {\n\t\t\tthis.logger.warn(`No transport found for session ${sessionId}`);\n\t\t\tresp.status(401).send('No transport found for sessionId');\n\t\t}\n\n\t\tif (resp.flush) {\n\t\t\tresp.flush();\n\t\t}\n\n\t\treturn wasToolCall(req.rawBody.toString());\n\t}\n\n\tasync handleDeleteRequest(req: express.Request, resp: CompressionResponse) {\n\t\tconst sessionId = this.getSessionId(req);\n\n\t\tif (!sessionId) {\n\t\t\tresp.status(400).send('No sessionId provided');\n\t\t\treturn;\n\t\t}\n\n\t\tconst transport = this.getTransport(sessionId);\n\n\t\tif (transport) {\n\t\t\tif (transport instanceof FlushingStreamableHTTPTransport) {\n\t\t\t\tawait transport.handleRequest(req, resp);\n\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\t// For SSE transport, we don't support DELETE requests\n\t\t\t\tresp.status(405).send('Method Not Allowed');\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tresp.status(404).send('Session not found');\n\t}\n\n\tsetUpHandlers(server: Server) {\n\t\tserver.setRequestHandler(\n\t\t\tListToolsRequestSchema,\n\t\t\tasync (_, extra: RequestHandlerExtra<ServerRequest, ServerNotification>) => {\n\t\t\t\tif (!extra.sessionId) {\n\t\t\t\t\tthrow new OperationalError('Require a sessionId for the listing of tools');\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\ttools: this.tools[extra.sessionId].map((tool) => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tname: tool.name,\n\t\t\t\t\t\t\tdescription: tool.description,\n\t\t\t\t\t\t\t// Allow additional properties on tool call input\n\t\t\t\t\t\t\tinputSchema: zodToJsonSchema(tool.schema, { removeAdditionalStrategy: 'strict' }),\n\t\t\t\t\t\t};\n\t\t\t\t\t}),\n\t\t\t\t};\n\t\t\t},\n\t\t);\n\n\t\tserver.setRequestHandler(\n\t\t\tCallToolRequestSchema,\n\t\t\tasync (request, extra: RequestHandlerExtra<ServerRequest, ServerNotification>) => {\n\t\t\t\tif (!request.params?.name || !request.params?.arguments) {\n\t\t\t\t\tthrow new OperationalError('Require a name and arguments for the tool call');\n\t\t\t\t}\n\t\t\t\tif (!extra.sessionId) {\n\t\t\t\t\tthrow new OperationalError('Require a sessionId for the tool call');\n\t\t\t\t}\n\n\t\t\t\tconst callId = extra.requestId ? `${extra.sessionId}_${extra.requestId}` : extra.sessionId;\n\n\t\t\t\tconst requestedTool: Tool | undefined = this.tools[extra.sessionId].find(\n\t\t\t\t\t(tool) => tool.name === request.params.name,\n\t\t\t\t);\n\t\t\t\tif (!requestedTool) {\n\t\t\t\t\tthrow new OperationalError('Tool not found');\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tconst result = await requestedTool.invoke(request.params.arguments);\n\t\t\t\t\tif (this.resolveFunctions[callId]) {\n\t\t\t\t\t\tthis.resolveFunctions[callId]();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.logger.warn(`No resolve function found for ${callId}`);\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.logger.debug(`Got request for ${requestedTool.name}, and executed it.`);\n\n\t\t\t\t\tif (typeof result === 'object') {\n\t\t\t\t\t\treturn { content: [{ type: 'text', text: JSON.stringify(result) }] };\n\t\t\t\t\t}\n\t\t\t\t\tif (typeof result === 'string') {\n\t\t\t\t\t\treturn { content: [{ type: 'text', text: result }] };\n\t\t\t\t\t}\n\t\t\t\t\treturn { content: [{ type: 'text', text: String(result) }] };\n\t\t\t\t} catch (error) {\n\t\t\t\t\tthis.logger.error(`Error while executing Tool ${requestedTool.name}: ${error}`);\n\t\t\t\t\treturn { isError: true, content: [{ type: 'text', text: `Error: ${error.message}` }] };\n\t\t\t\t}\n\t\t\t},\n\t\t);\n\n\t\tserver.onclose = () => {\n\t\t\tthis.logger.debug('Closing MCP Server');\n\t\t};\n\t\tserver.onerror = (error: unknown) => {\n\t\t\tthis.logger.error(`MCP Error: ${error}`);\n\t\t};\n\t}\n}\n"],"mappings":"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","names":[]}