@n8n/n8n-nodes-langchain 1.87.1 → 1.89.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 (54) hide show
  1. package/dist/credentials/MilvusApi.credentials.js +72 -0
  2. package/dist/credentials/MilvusApi.credentials.js.map +1 -0
  3. package/dist/credentials/QdrantApi.credentials.js +1 -3
  4. package/dist/credentials/QdrantApi.credentials.js.map +1 -1
  5. package/dist/credentials/SearXngApi.credentials.js +44 -0
  6. package/dist/credentials/SearXngApi.credentials.js.map +1 -0
  7. package/dist/known/credentials.json +14 -0
  8. package/dist/known/nodes.json +16 -0
  9. package/dist/methods/defined.json +3 -0
  10. package/dist/methods/referenced.json +3 -0
  11. package/dist/nodes/agents/Agent/Agent.node.js +1 -1
  12. package/dist/nodes/agents/Agent/Agent.node.js.map +1 -1
  13. package/dist/nodes/agents/Agent/agents/ToolsAgent/execute.js +11 -5
  14. package/dist/nodes/agents/Agent/agents/ToolsAgent/execute.js.map +1 -1
  15. package/dist/nodes/llms/LmChatXAiGrok/LmChatXAiGrok.node.js +6 -3
  16. package/dist/nodes/llms/LmChatXAiGrok/LmChatXAiGrok.node.js.map +1 -1
  17. package/dist/nodes/mcp/McpClientTool/McpClientTool.node.js +258 -0
  18. package/dist/nodes/mcp/McpClientTool/McpClientTool.node.js.map +1 -0
  19. package/dist/nodes/mcp/McpClientTool/loadOptions.js +51 -0
  20. package/dist/nodes/mcp/McpClientTool/loadOptions.js.map +1 -0
  21. package/dist/nodes/mcp/McpClientTool/types.js +17 -0
  22. package/dist/nodes/mcp/McpClientTool/types.js.map +1 -0
  23. package/dist/nodes/mcp/McpClientTool/utils.js +192 -0
  24. package/dist/nodes/mcp/McpClientTool/utils.js.map +1 -0
  25. package/dist/nodes/mcp/McpTrigger/FlushingSSEServerTransport.js +39 -0
  26. package/dist/nodes/mcp/McpTrigger/FlushingSSEServerTransport.js.map +1 -0
  27. package/dist/nodes/mcp/McpTrigger/McpServer.js +179 -0
  28. package/dist/nodes/mcp/McpTrigger/McpServer.js.map +1 -0
  29. package/dist/nodes/mcp/McpTrigger/McpTrigger.node.js +181 -0
  30. package/dist/nodes/mcp/McpTrigger/McpTrigger.node.js.map +1 -0
  31. package/dist/nodes/mcp/mcp.dark.svg +7 -0
  32. package/dist/nodes/mcp/mcp.svg +7 -0
  33. package/dist/nodes/tools/ToolSearXng/ToolSearXng.node.js +136 -0
  34. package/dist/nodes/tools/ToolSearXng/ToolSearXng.node.js.map +1 -0
  35. package/dist/nodes/tools/ToolSearXng/searXng.svg +1 -0
  36. package/dist/nodes/vector_store/VectorStoreMilvus/VectorStoreMilvus.node.js +106 -0
  37. package/dist/nodes/vector_store/VectorStoreMilvus/VectorStoreMilvus.node.js.map +1 -0
  38. package/dist/nodes/vector_store/VectorStoreMilvus/milvus-icon-black.svg +1 -0
  39. package/dist/nodes/vector_store/VectorStoreMilvus/milvus-icon-white.svg +1 -0
  40. package/dist/nodes/vector_store/VectorStoreQdrant/Qdrant.utils.js +54 -0
  41. package/dist/nodes/vector_store/VectorStoreQdrant/Qdrant.utils.js.map +1 -0
  42. package/dist/nodes/vector_store/VectorStoreQdrant/VectorStoreQdrant.node.js +5 -4
  43. package/dist/nodes/vector_store/VectorStoreQdrant/VectorStoreQdrant.node.js.map +1 -1
  44. package/dist/nodes/vector_store/shared/createVectorStoreNode/methods/listSearch.js +18 -5
  45. package/dist/nodes/vector_store/shared/createVectorStoreNode/methods/listSearch.js.map +1 -1
  46. package/dist/nodes/vector_store/shared/descriptions.js +24 -0
  47. package/dist/nodes/vector_store/shared/descriptions.js.map +1 -1
  48. package/dist/types/credentials.json +3 -1
  49. package/dist/types/nodes.json +5 -1
  50. package/dist/utils/helpers.js +7 -1
  51. package/dist/utils/helpers.js.map +1 -1
  52. package/dist/utils/logWrapper.js +9 -2
  53. package/dist/utils/logWrapper.js.map +1 -1
  54. package/package.json +13 -5
@@ -0,0 +1,106 @@
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 VectorStoreMilvus_node_exports = {};
20
+ __export(VectorStoreMilvus_node_exports, {
21
+ VectorStoreMilvus: () => VectorStoreMilvus
22
+ });
23
+ module.exports = __toCommonJS(VectorStoreMilvus_node_exports);
24
+ var import_milvus = require("@langchain/community/vectorstores/milvus");
25
+ var import_milvus2_sdk_node = require("@zilliz/milvus2-sdk-node");
26
+ var import_createVectorStoreNode = require("../shared/createVectorStoreNode/createVectorStoreNode");
27
+ var import_listSearch = require("../shared/createVectorStoreNode/methods/listSearch");
28
+ var import_descriptions = require("../shared/descriptions");
29
+ const sharedFields = [import_descriptions.milvusCollectionRLC];
30
+ const insertFields = [
31
+ {
32
+ displayName: "Options",
33
+ name: "options",
34
+ type: "collection",
35
+ placeholder: "Add Option",
36
+ default: {},
37
+ options: [
38
+ {
39
+ displayName: "Clear Collection",
40
+ name: "clearCollection",
41
+ type: "boolean",
42
+ default: false,
43
+ description: "Whether to clear the collection before inserting new data"
44
+ }
45
+ ]
46
+ }
47
+ ];
48
+ class VectorStoreMilvus extends (0, import_createVectorStoreNode.createVectorStoreNode)({
49
+ meta: {
50
+ displayName: "Milvus Vector Store",
51
+ name: "vectorStoreMilvus",
52
+ description: "Work with your data in Milvus Vector Store",
53
+ icon: { light: "file:milvus-icon-black.svg", dark: "file:milvus-icon-white.svg" },
54
+ docsUrl: "https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstoremilvus/",
55
+ credentials: [
56
+ {
57
+ name: "milvusApi",
58
+ required: true
59
+ }
60
+ ],
61
+ operationModes: ["load", "insert", "retrieve", "retrieve-as-tool"]
62
+ },
63
+ methods: { listSearch: { milvusCollectionsSearch: import_listSearch.milvusCollectionsSearch } },
64
+ sharedFields,
65
+ insertFields,
66
+ async getVectorStoreClient(context, _filter, embeddings, itemIndex) {
67
+ const collection = context.getNodeParameter("milvusCollection", itemIndex, "", {
68
+ extractValue: true
69
+ });
70
+ const credentials = await context.getCredentials("milvusApi");
71
+ const config = {
72
+ url: credentials.baseUrl,
73
+ username: credentials.username,
74
+ password: credentials.password,
75
+ collectionName: collection
76
+ };
77
+ return await import_milvus.Milvus.fromExistingCollection(embeddings, config);
78
+ },
79
+ async populateVectorStore(context, embeddings, documents, itemIndex) {
80
+ const collection = context.getNodeParameter("milvusCollection", itemIndex, "", {
81
+ extractValue: true
82
+ });
83
+ const options = context.getNodeParameter("options", itemIndex, {});
84
+ const credentials = await context.getCredentials("milvusApi");
85
+ const config = {
86
+ url: credentials.baseUrl,
87
+ username: credentials.username,
88
+ password: credentials.password,
89
+ collectionName: collection
90
+ };
91
+ if (options.clearCollection) {
92
+ const client = new import_milvus2_sdk_node.MilvusClient({
93
+ address: credentials.baseUrl,
94
+ token: `${credentials.username}:${credentials.password}`
95
+ });
96
+ await client.dropCollection({ collection_name: collection });
97
+ }
98
+ await import_milvus.Milvus.fromDocuments(documents, embeddings, config);
99
+ }
100
+ }) {
101
+ }
102
+ // Annotate the CommonJS export names for ESM import in node:
103
+ 0 && (module.exports = {
104
+ VectorStoreMilvus
105
+ });
106
+ //# sourceMappingURL=VectorStoreMilvus.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../nodes/vector_store/VectorStoreMilvus/VectorStoreMilvus.node.ts"],"sourcesContent":["import { Milvus } from '@langchain/community/vectorstores/milvus';\nimport type { MilvusLibArgs } from '@langchain/community/vectorstores/milvus';\nimport { MilvusClient } from '@zilliz/milvus2-sdk-node';\nimport type { INodeProperties } from 'n8n-workflow';\n\nimport { createVectorStoreNode } from '../shared/createVectorStoreNode/createVectorStoreNode';\nimport { milvusCollectionsSearch } from '../shared/createVectorStoreNode/methods/listSearch';\nimport { milvusCollectionRLC } from '../shared/descriptions';\n\nconst sharedFields: INodeProperties[] = [milvusCollectionRLC];\nconst insertFields: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Options',\n\t\tname: 'options',\n\t\ttype: 'collection',\n\t\tplaceholder: 'Add Option',\n\t\tdefault: {},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Clear Collection',\n\t\t\t\tname: 'clearCollection',\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: false,\n\t\t\t\tdescription: 'Whether to clear the collection before inserting new data',\n\t\t\t},\n\t\t],\n\t},\n];\n\nexport class VectorStoreMilvus extends createVectorStoreNode<Milvus>({\n\tmeta: {\n\t\tdisplayName: 'Milvus Vector Store',\n\t\tname: 'vectorStoreMilvus',\n\t\tdescription: 'Work with your data in Milvus Vector Store',\n\t\ticon: { light: 'file:milvus-icon-black.svg', dark: 'file:milvus-icon-white.svg' },\n\t\tdocsUrl:\n\t\t\t'https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstoremilvus/',\n\t\tcredentials: [\n\t\t\t{\n\t\t\t\tname: 'milvusApi',\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t],\n\t\toperationModes: ['load', 'insert', 'retrieve', 'retrieve-as-tool'],\n\t},\n\tmethods: { listSearch: { milvusCollectionsSearch } },\n\tsharedFields,\n\tinsertFields,\n\tasync getVectorStoreClient(context, _filter, embeddings, itemIndex): Promise<Milvus> {\n\t\tconst collection = context.getNodeParameter('milvusCollection', itemIndex, '', {\n\t\t\textractValue: true,\n\t\t}) as string;\n\t\tconst credentials = await context.getCredentials<{\n\t\t\tbaseUrl: string;\n\t\t\tusername: string;\n\t\t\tpassword: string;\n\t\t}>('milvusApi');\n\t\tconst config: MilvusLibArgs = {\n\t\t\turl: credentials.baseUrl,\n\t\t\tusername: credentials.username,\n\t\t\tpassword: credentials.password,\n\t\t\tcollectionName: collection,\n\t\t};\n\n\t\treturn await Milvus.fromExistingCollection(embeddings, config);\n\t},\n\tasync populateVectorStore(context, embeddings, documents, itemIndex): Promise<void> {\n\t\tconst collection = context.getNodeParameter('milvusCollection', itemIndex, '', {\n\t\t\textractValue: true,\n\t\t}) as string;\n\t\tconst options = context.getNodeParameter('options', itemIndex, {}) as {\n\t\t\tclearCollection?: boolean;\n\t\t};\n\t\tconst credentials = await context.getCredentials<{\n\t\t\tbaseUrl: string;\n\t\t\tusername: string;\n\t\t\tpassword: string;\n\t\t}>('milvusApi');\n\t\tconst config: MilvusLibArgs = {\n\t\t\turl: credentials.baseUrl,\n\t\t\tusername: credentials.username,\n\t\t\tpassword: credentials.password,\n\t\t\tcollectionName: collection,\n\t\t};\n\n\t\tif (options.clearCollection) {\n\t\t\tconst client = new MilvusClient({\n\t\t\t\taddress: credentials.baseUrl,\n\t\t\t\ttoken: `${credentials.username}:${credentials.password}`,\n\t\t\t});\n\t\t\tawait client.dropCollection({ collection_name: collection });\n\t\t}\n\n\t\tawait Milvus.fromDocuments(documents, embeddings, config);\n\t},\n}) {}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAuB;AAEvB,8BAA6B;AAG7B,mCAAsC;AACtC,wBAAwC;AACxC,0BAAoC;AAEpC,MAAM,eAAkC,CAAC,uCAAmB;AAC5D,MAAM,eAAkC;AAAA,EACvC;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,SAAS,CAAC;AAAA,IACV,SAAS;AAAA,MACR;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,aAAa;AAAA,MACd;AAAA,IACD;AAAA,EACD;AACD;AAEO,MAAM,8BAA0B,oDAA8B;AAAA,EACpE,MAAM;AAAA,IACL,aAAa;AAAA,IACb,MAAM;AAAA,IACN,aAAa;AAAA,IACb,MAAM,EAAE,OAAO,8BAA8B,MAAM,6BAA6B;AAAA,IAChF,SACC;AAAA,IACD,aAAa;AAAA,MACZ;AAAA,QACC,MAAM;AAAA,QACN,UAAU;AAAA,MACX;AAAA,IACD;AAAA,IACA,gBAAgB,CAAC,QAAQ,UAAU,YAAY,kBAAkB;AAAA,EAClE;AAAA,EACA,SAAS,EAAE,YAAY,EAAE,mEAAwB,EAAE;AAAA,EACnD;AAAA,EACA;AAAA,EACA,MAAM,qBAAqB,SAAS,SAAS,YAAY,WAA4B;AACpF,UAAM,aAAa,QAAQ,iBAAiB,oBAAoB,WAAW,IAAI;AAAA,MAC9E,cAAc;AAAA,IACf,CAAC;AACD,UAAM,cAAc,MAAM,QAAQ,eAI/B,WAAW;AACd,UAAM,SAAwB;AAAA,MAC7B,KAAK,YAAY;AAAA,MACjB,UAAU,YAAY;AAAA,MACtB,UAAU,YAAY;AAAA,MACtB,gBAAgB;AAAA,IACjB;AAEA,WAAO,MAAM,qBAAO,uBAAuB,YAAY,MAAM;AAAA,EAC9D;AAAA,EACA,MAAM,oBAAoB,SAAS,YAAY,WAAW,WAA0B;AACnF,UAAM,aAAa,QAAQ,iBAAiB,oBAAoB,WAAW,IAAI;AAAA,MAC9E,cAAc;AAAA,IACf,CAAC;AACD,UAAM,UAAU,QAAQ,iBAAiB,WAAW,WAAW,CAAC,CAAC;AAGjE,UAAM,cAAc,MAAM,QAAQ,eAI/B,WAAW;AACd,UAAM,SAAwB;AAAA,MAC7B,KAAK,YAAY;AAAA,MACjB,UAAU,YAAY;AAAA,MACtB,UAAU,YAAY;AAAA,MACtB,gBAAgB;AAAA,IACjB;AAEA,QAAI,QAAQ,iBAAiB;AAC5B,YAAM,SAAS,IAAI,qCAAa;AAAA,QAC/B,SAAS,YAAY;AAAA,QACrB,OAAO,GAAG,YAAY,QAAQ,IAAI,YAAY,QAAQ;AAAA,MACvD,CAAC;AACD,YAAM,OAAO,eAAe,EAAE,iBAAiB,WAAW,CAAC;AAAA,IAC5D;AAEA,UAAM,qBAAO,cAAc,WAAW,YAAY,MAAM;AAAA,EACzD;AACD,CAAC,EAAE;AAAC;","names":[]}
@@ -0,0 +1 @@
1
+ <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 360 360"><title>milvus-icon-black</title><path d="M169.11689,299.04939c-27.78535-.02915-51.298-8.31411-72.45031-23.69338a122.33707,122.33707,0,0,1-14.00922-12.00616q-16.556-16.35613-33.14895-32.67482Q35.31712,216.704,21.10726,202.7519c-4.27753-4.20375-8.581-8.38131-12.83638-12.60737-5.78529-5.74539-5.692-12.21736.17135-17.91294,4.35916-4.23447,8.6808-8.50759,13.01531-12.76743q21.09033-20.727,42.18351-41.45112c7.82349-7.66748,15.53733-15.458,23.59542-22.87264A117.61725,117.61725,0,0,1,142.926,66.46075,112.79714,112.79714,0,0,1,167.7708,63.678c27.822.22006,53.14231,8.0315,75.21837,25.35039a117.49179,117.49179,0,0,1,33.56725,40.74071,111.30862,111.30862,0,0,1,11.18191,37.59258c3.75648,35.37535-6.093,66.46091-30.10087,92.86236a114.32952,114.32952,0,0,1-57.75872,34.79075A132.31853,132.31853,0,0,1,169.11689,299.04939Zm5.35425-31.43461a85.592,85.592,0,0,0,8.90555-.52289c1.86733-.18941,3.736-.42361,5.58158-.7604,22.43092-4.09372,40.60221-15.4505,54.49679-33.26538,13.51833-17.33245,18.827-37.40452,17.16875-59.24969a82.75341,82.75341,0,0,0-9.27492-31.89563c-9.21938-17.8418-23.47591-30.41362-41.44061-38.92072-16.12138-7.6342-33.07061-9.547-50.63693-6.8248a85.52038,85.52038,0,0,0-47.48221,23.39486c-12.62025,12.19885-25.1024,24.54066-37.63746,36.82758-6.28192,6.15757-12.51006,12.37048-18.83189,18.48667-4.04633,3.91467-4.21333,8.6494-.20763,12.6018q11.8256,11.66819,23.69873,23.28819c10.60865,10.42576,21.17268,20.89736,31.83058,31.27252C128.07334,259.01635,148.957,267.6,174.47114,267.61478Z"/><path d="M357.01654,180.71583a12.11267,12.11267,0,0,1-3.67773,9.07927q-16.50428,16.58232-33.07758,33.09591c-1.20808,1.20715-2.42168,1.44863-3.67166.79033-1.35017-.71105-1.82827-1.79263-1.442-3.56058a187.7592,187.7592,0,0,0,3.66284-23.911,178.77219,178.77219,0,0,0,.42091-21.92036,170.04764,170.04764,0,0,0-3.96975-31.1,3.757,3.757,0,0,1,.24665-3.12677,2.86044,2.86044,0,0,1,4.014-.76856,9.243,9.243,0,0,1,1.2578,1.10625q15.99768,15.98621,31.98832,31.97946C355.28369,174.89374,357.02471,177.76063,357.01654,180.71583Z"/><path d="M232.52066,181.32156a58.91788,58.91788,0,0,1-59.06395,59.10475c-34.72229-.0744-59.571-28.74548-58.99573-60.0188a59.03419,59.03419,0,0,1,118.05968.91405Z"/></svg>
@@ -0,0 +1 @@
1
+ <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 360 360"><defs><style>.cls-1{fill:#fff;}</style></defs><title>milvus-icon-white</title><path class="cls-1" d="M168.50983,63.3293c31.95671.507,59.93559,11.11286,83.27686,33.18535,18.7006,17.68407,30.22667,39.32512,34.81328,64.64452A105.32115,105.32115,0,0,1,288.30948,182.05c-.56967,28.47039-9.94153,53.66667-28.65343,75.19713-18.13667,20.86872-40.90888,34.11493-68.05469,39.10222-36.61066,6.7263-69.82614-1.44613-99.22656-24.47337-6.10735-4.78341-11.40667-10.44927-16.92918-15.86568q-17.83359-17.49069-35.625-35.0246Q23.68152,205.12557,7.53535,189.27287c-4.99811-4.92643-5.00166-11.76177-.00618-16.68775q16.58239-16.35193,33.222-32.64579c10.415-10.22513,20.7782-20.50417,31.27381-30.64606,6.968-6.73308,13.5621-13.8667,21.20515-19.88878a119.68976,119.68976,0,0,1,51.34517-23.68667,121.162,121.162,0,0,1,23.93459-2.38869Zm92.371,117.69085a91.99822,91.99822,0,0,0-1.48906-15.09071c-4.6589-24.42132-17.48944-43.49544-38.23938-56.98664-20.01283-13.01188-42.00792-17.05568-65.46628-12.61428a85.61952,85.61952,0,0,0-44.01862,22.6468c-8.21582,7.84726-16.269,15.86505-24.38163,23.82013q-16.31332,15.99666-32.59837,32.0219c-3.75,3.69749-3.73394,8.52908-.01266,12.20989,5.32758,5.2695,10.69285,10.50085,16.03635,15.75429q19.54138,19.21189,39.08246,38.424,28.33431,27.75336,67.98,25.94035a83.03279,83.03279,0,0,0,39.17421-11.52729c28.23729-16.81519,42.66039-41.87957,43.93305-74.59841Zm58.23612-.07522a171.37566,171.37566,0,0,0-4.09075-38.11425,11.73723,11.73723,0,0,1-.20111-1.1565,2.63478,2.63478,0,0,1,1.27481-2.74752,2.67092,2.67092,0,0,1,3.16194.02147,9.13711,9.13711,0,0,1,1.18864,1.0856q16.15512,16.14834,32.305,32.30226c5.30658,5.3075,5.2967,12.06515-.02255,17.38455q-16.09957,16.10016-32.1997,32.19985c-.277.27695-.54682.56179-.83445.82717a2.73085,2.73085,0,0,1-3.50192.44023,2.6834,2.6834,0,0,1-1.351-3.11577c1.13192-5.20587,2.10232-10.43969,2.798-15.72573a164.22388,164.22388,0,0,0,1.46944-18.85586c.0238-1.5147.00355-3.03034.00355-4.54551Z"/><path class="cls-1" d="M232.20625,180.965a70.48931,70.48931,0,1,0-.00015,0Z"/></svg>
@@ -0,0 +1,54 @@
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 Qdrant_utils_exports = {};
20
+ __export(Qdrant_utils_exports, {
21
+ createQdrantClient: () => createQdrantClient
22
+ });
23
+ module.exports = __toCommonJS(Qdrant_utils_exports);
24
+ var import_js_client_rest = require("@qdrant/js-client-rest");
25
+ var import_n8n_workflow = require("n8n-workflow");
26
+ function parseQdrantUrl(url) {
27
+ try {
28
+ const parsedUrl = new URL(url);
29
+ return {
30
+ protocol: parsedUrl.protocol,
31
+ host: parsedUrl.hostname,
32
+ port: parsedUrl.port ? parseInt(parsedUrl.port, 10) : parsedUrl.protocol === "https:" ? 443 : 80
33
+ };
34
+ } catch (error) {
35
+ throw new import_n8n_workflow.UserError(
36
+ `Invalid Qdrant URL: ${url}. Please provide a valid URL with protocol (http/https)`
37
+ );
38
+ }
39
+ }
40
+ function createQdrantClient(credentials) {
41
+ const { protocol, host, port } = parseQdrantUrl(credentials.qdrantUrl);
42
+ const qdrantClient = new import_js_client_rest.QdrantClient({
43
+ host,
44
+ apiKey: credentials.apiKey,
45
+ https: protocol === "https:",
46
+ port
47
+ });
48
+ return qdrantClient;
49
+ }
50
+ // Annotate the CommonJS export names for ESM import in node:
51
+ 0 && (module.exports = {
52
+ createQdrantClient
53
+ });
54
+ //# sourceMappingURL=Qdrant.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../nodes/vector_store/VectorStoreQdrant/Qdrant.utils.ts"],"sourcesContent":["import { QdrantClient } from '@qdrant/js-client-rest';\nimport { UserError } from 'n8n-workflow';\n\nexport type QdrantCredential = {\n\tqdrantUrl: string;\n\tapiKey: string;\n};\n\nfunction parseQdrantUrl(url: string): { protocol: string; host: string; port: number } {\n\ttry {\n\t\tconst parsedUrl = new URL(url);\n\t\treturn {\n\t\t\tprotocol: parsedUrl.protocol,\n\t\t\thost: parsedUrl.hostname,\n\t\t\tport: parsedUrl.port\n\t\t\t\t? parseInt(parsedUrl.port, 10)\n\t\t\t\t: parsedUrl.protocol === 'https:'\n\t\t\t\t\t? 443\n\t\t\t\t\t: 80,\n\t\t};\n\t} catch (error) {\n\t\tthrow new UserError(\n\t\t\t`Invalid Qdrant URL: ${url}. Please provide a valid URL with protocol (http/https)`,\n\t\t);\n\t}\n}\n\nexport function createQdrantClient(credentials: QdrantCredential): QdrantClient {\n\tconst { protocol, host, port } = parseQdrantUrl(credentials.qdrantUrl);\n\n\tconst qdrantClient = new QdrantClient({\n\t\thost,\n\t\tapiKey: credentials.apiKey,\n\t\thttps: protocol === 'https:',\n\t\tport,\n\t});\n\n\treturn qdrantClient;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAA6B;AAC7B,0BAA0B;AAO1B,SAAS,eAAe,KAA+D;AACtF,MAAI;AACH,UAAM,YAAY,IAAI,IAAI,GAAG;AAC7B,WAAO;AAAA,MACN,UAAU,UAAU;AAAA,MACpB,MAAM,UAAU;AAAA,MAChB,MAAM,UAAU,OACb,SAAS,UAAU,MAAM,EAAE,IAC3B,UAAU,aAAa,WACtB,MACA;AAAA,IACL;AAAA,EACD,SAAS,OAAO;AACf,UAAM,IAAI;AAAA,MACT,uBAAuB,GAAG;AAAA,IAC3B;AAAA,EACD;AACD;AAEO,SAAS,mBAAmB,aAA6C;AAC/E,QAAM,EAAE,UAAU,MAAM,KAAK,IAAI,eAAe,YAAY,SAAS;AAErE,QAAM,eAAe,IAAI,mCAAa;AAAA,IACrC;AAAA,IACA,QAAQ,YAAY;AAAA,IACpB,OAAO,aAAa;AAAA,IACpB;AAAA,EACD,CAAC;AAED,SAAO;AACR;","names":[]}
@@ -22,6 +22,7 @@ __export(VectorStoreQdrant_node_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(VectorStoreQdrant_node_exports);
24
24
  var import_qdrant = require("@langchain/qdrant");
25
+ var import_Qdrant = require("./Qdrant.utils");
25
26
  var import_createVectorStoreNode = require("../shared/createVectorStoreNode/createVectorStoreNode");
26
27
  var import_listSearch = require("../shared/createVectorStoreNode/methods/listSearch");
27
28
  var import_descriptions = require("../shared/descriptions");
@@ -102,9 +103,9 @@ class VectorStoreQdrant extends (0, import_createVectorStoreNode.createVectorSto
102
103
  extractValue: true
103
104
  });
104
105
  const credentials = await context.getCredentials("qdrantApi");
106
+ const client = (0, import_Qdrant.createQdrantClient)(credentials);
105
107
  const config = {
106
- url: credentials.qdrantUrl,
107
- apiKey: credentials.apiKey,
108
+ client,
108
109
  collectionName: collection
109
110
  };
110
111
  return await ExtendedQdrantVectorStore.fromExistingCollection(embeddings, config, filter);
@@ -115,9 +116,9 @@ class VectorStoreQdrant extends (0, import_createVectorStoreNode.createVectorSto
115
116
  });
116
117
  const { collectionConfig } = context.getNodeParameter("options", itemIndex, {});
117
118
  const credentials = await context.getCredentials("qdrantApi");
119
+ const client = (0, import_Qdrant.createQdrantClient)(credentials);
118
120
  const config = {
119
- url: credentials.qdrantUrl,
120
- apiKey: credentials.apiKey,
121
+ client,
121
122
  collectionName,
122
123
  collectionConfig
123
124
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../nodes/vector_store/VectorStoreQdrant/VectorStoreQdrant.node.ts"],"sourcesContent":["import type { Callbacks } from '@langchain/core/callbacks/manager';\nimport type { Embeddings } from '@langchain/core/embeddings';\nimport type { QdrantLibArgs } from '@langchain/qdrant';\nimport { QdrantVectorStore } from '@langchain/qdrant';\nimport type { Schemas as QdrantSchemas } from '@qdrant/js-client-rest';\nimport type { IDataObject, INodeProperties } from 'n8n-workflow';\n\nimport { createVectorStoreNode } from '../shared/createVectorStoreNode/createVectorStoreNode';\nimport { qdrantCollectionsSearch } from '../shared/createVectorStoreNode/methods/listSearch';\nimport { qdrantCollectionRLC } from '../shared/descriptions';\n\nclass ExtendedQdrantVectorStore extends QdrantVectorStore {\n\tprivate static defaultFilter: IDataObject = {};\n\n\tstatic async fromExistingCollection(\n\t\tembeddings: Embeddings,\n\t\targs: QdrantLibArgs,\n\t\tdefaultFilter: IDataObject = {},\n\t): Promise<QdrantVectorStore> {\n\t\tExtendedQdrantVectorStore.defaultFilter = defaultFilter;\n\t\treturn await super.fromExistingCollection(embeddings, args);\n\t}\n\n\tasync similaritySearch(\n\t\tquery: string,\n\t\tk: number,\n\t\tfilter?: IDataObject,\n\t\tcallbacks?: Callbacks | undefined,\n\t) {\n\t\tconst mergedFilter = { ...ExtendedQdrantVectorStore.defaultFilter, ...filter };\n\t\treturn await super.similaritySearch(query, k, mergedFilter, callbacks);\n\t}\n}\n\nconst sharedFields: INodeProperties[] = [qdrantCollectionRLC];\n\nconst insertFields: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Options',\n\t\tname: 'options',\n\t\ttype: 'collection',\n\t\tplaceholder: 'Add Option',\n\t\tdefault: {},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Collection Config',\n\t\t\t\tname: 'collectionConfig',\n\t\t\t\ttype: 'json',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription:\n\t\t\t\t\t'JSON options for creating a collection. <a href=\"https://qdrant.tech/documentation/concepts/collections\">Learn more</a>.',\n\t\t\t},\n\t\t],\n\t},\n];\n\nconst retrieveFields: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Options',\n\t\tname: 'options',\n\t\ttype: 'collection',\n\t\tplaceholder: 'Add Option',\n\t\tdefault: {},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Search Filter',\n\t\t\t\tname: 'searchFilterJson',\n\t\t\t\ttype: 'json',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\trows: 5,\n\t\t\t\t},\n\t\t\t\tdefault:\n\t\t\t\t\t'{\\n \"should\": [\\n {\\n \"key\": \"metadata.batch\",\\n \"match\": {\\n \"value\": 12345\\n }\\n }\\n ]\\n}',\n\t\t\t\tvalidateType: 'object',\n\t\t\t\tdescription:\n\t\t\t\t\t'Filter pageContent or metadata using this <a href=\"https://qdrant.tech/documentation/concepts/filtering/\" target=\"_blank\">filtering syntax</a>',\n\t\t\t},\n\t\t],\n\t},\n];\n\nexport class VectorStoreQdrant extends createVectorStoreNode<ExtendedQdrantVectorStore>({\n\tmeta: {\n\t\tdisplayName: 'Qdrant Vector Store',\n\t\tname: 'vectorStoreQdrant',\n\t\tdescription: 'Work with your data in a Qdrant collection',\n\t\ticon: 'file:qdrant.svg',\n\t\tdocsUrl:\n\t\t\t'https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstoreqdrant/',\n\t\tcredentials: [\n\t\t\t{\n\t\t\t\tname: 'qdrantApi',\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t],\n\t},\n\tmethods: { listSearch: { qdrantCollectionsSearch } },\n\tloadFields: retrieveFields,\n\tinsertFields,\n\tsharedFields,\n\tretrieveFields,\n\tasync getVectorStoreClient(context, filter, embeddings, itemIndex) {\n\t\tconst collection = context.getNodeParameter('qdrantCollection', itemIndex, '', {\n\t\t\textractValue: true,\n\t\t}) as string;\n\n\t\tconst credentials = await context.getCredentials('qdrantApi');\n\n\t\tconst config: QdrantLibArgs = {\n\t\t\turl: credentials.qdrantUrl as string,\n\t\t\tapiKey: credentials.apiKey as string,\n\t\t\tcollectionName: collection,\n\t\t};\n\n\t\treturn await ExtendedQdrantVectorStore.fromExistingCollection(embeddings, config, filter);\n\t},\n\tasync populateVectorStore(context, embeddings, documents, itemIndex) {\n\t\tconst collectionName = context.getNodeParameter('qdrantCollection', itemIndex, '', {\n\t\t\textractValue: true,\n\t\t}) as string;\n\n\t\t// If collection config is not provided, the collection will be created with default settings\n\t\t// i.e. with the size of the passed embeddings and \"Cosine\" distance metric\n\t\tconst { collectionConfig } = context.getNodeParameter('options', itemIndex, {}) as {\n\t\t\tcollectionConfig?: QdrantSchemas['CreateCollection'];\n\t\t};\n\t\tconst credentials = await context.getCredentials('qdrantApi');\n\n\t\tconst config: QdrantLibArgs = {\n\t\t\turl: credentials.qdrantUrl as string,\n\t\t\tapiKey: credentials.apiKey as string,\n\t\t\tcollectionName,\n\t\t\tcollectionConfig,\n\t\t};\n\n\t\tawait QdrantVectorStore.fromDocuments(documents, embeddings, config);\n\t},\n}) {}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAAkC;AAIlC,mCAAsC;AACtC,wBAAwC;AACxC,0BAAoC;AAEpC,MAAM,6BAAN,MAAM,mCAAkC,gCAAkB;AAAA,EAGzD,aAAa,uBACZ,YACA,MACA,gBAA6B,CAAC,GACD;AAC7B,+BAA0B,gBAAgB;AAC1C,WAAO,MAAM,MAAM,uBAAuB,YAAY,IAAI;AAAA,EAC3D;AAAA,EAEA,MAAM,iBACL,OACA,GACA,QACA,WACC;AACD,UAAM,eAAe,EAAE,GAAG,2BAA0B,eAAe,GAAG,OAAO;AAC7E,WAAO,MAAM,MAAM,iBAAiB,OAAO,GAAG,cAAc,SAAS;AAAA,EACtE;AACD;AArBM,2BACU,gBAA6B,CAAC;AAD9C,IAAM,4BAAN;AAuBA,MAAM,eAAkC,CAAC,uCAAmB;AAE5D,MAAM,eAAkC;AAAA,EACvC;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,SAAS,CAAC;AAAA,IACV,SAAS;AAAA,MACR;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,aACC;AAAA,MACF;AAAA,IACD;AAAA,EACD;AACD;AAEA,MAAM,iBAAoC;AAAA,EACzC;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,SAAS,CAAC;AAAA,IACV,SAAS;AAAA,MACR;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,MAAM;AAAA,QACN,aAAa;AAAA,UACZ,MAAM;AAAA,QACP;AAAA,QACA,SACC;AAAA,QACD,cAAc;AAAA,QACd,aACC;AAAA,MACF;AAAA,IACD;AAAA,EACD;AACD;AAEO,MAAM,8BAA0B,oDAAiD;AAAA,EACvF,MAAM;AAAA,IACL,aAAa;AAAA,IACb,MAAM;AAAA,IACN,aAAa;AAAA,IACb,MAAM;AAAA,IACN,SACC;AAAA,IACD,aAAa;AAAA,MACZ;AAAA,QACC,MAAM;AAAA,QACN,UAAU;AAAA,MACX;AAAA,IACD;AAAA,EACD;AAAA,EACA,SAAS,EAAE,YAAY,EAAE,mEAAwB,EAAE;AAAA,EACnD,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA,MAAM,qBAAqB,SAAS,QAAQ,YAAY,WAAW;AAClE,UAAM,aAAa,QAAQ,iBAAiB,oBAAoB,WAAW,IAAI;AAAA,MAC9E,cAAc;AAAA,IACf,CAAC;AAED,UAAM,cAAc,MAAM,QAAQ,eAAe,WAAW;AAE5D,UAAM,SAAwB;AAAA,MAC7B,KAAK,YAAY;AAAA,MACjB,QAAQ,YAAY;AAAA,MACpB,gBAAgB;AAAA,IACjB;AAEA,WAAO,MAAM,0BAA0B,uBAAuB,YAAY,QAAQ,MAAM;AAAA,EACzF;AAAA,EACA,MAAM,oBAAoB,SAAS,YAAY,WAAW,WAAW;AACpE,UAAM,iBAAiB,QAAQ,iBAAiB,oBAAoB,WAAW,IAAI;AAAA,MAClF,cAAc;AAAA,IACf,CAAC;AAID,UAAM,EAAE,iBAAiB,IAAI,QAAQ,iBAAiB,WAAW,WAAW,CAAC,CAAC;AAG9E,UAAM,cAAc,MAAM,QAAQ,eAAe,WAAW;AAE5D,UAAM,SAAwB;AAAA,MAC7B,KAAK,YAAY;AAAA,MACjB,QAAQ,YAAY;AAAA,MACpB;AAAA,MACA;AAAA,IACD;AAEA,UAAM,gCAAkB,cAAc,WAAW,YAAY,MAAM;AAAA,EACpE;AACD,CAAC,EAAE;AAAC;","names":[]}
1
+ {"version":3,"sources":["../../../../nodes/vector_store/VectorStoreQdrant/VectorStoreQdrant.node.ts"],"sourcesContent":["import type { Callbacks } from '@langchain/core/callbacks/manager';\nimport type { Embeddings } from '@langchain/core/embeddings';\nimport type { QdrantLibArgs } from '@langchain/qdrant';\nimport { QdrantVectorStore } from '@langchain/qdrant';\nimport { type Schemas as QdrantSchemas } from '@qdrant/js-client-rest';\nimport type { IDataObject, INodeProperties } from 'n8n-workflow';\n\nimport { createQdrantClient, type QdrantCredential } from './Qdrant.utils';\nimport { createVectorStoreNode } from '../shared/createVectorStoreNode/createVectorStoreNode';\nimport { qdrantCollectionsSearch } from '../shared/createVectorStoreNode/methods/listSearch';\nimport { qdrantCollectionRLC } from '../shared/descriptions';\n\nclass ExtendedQdrantVectorStore extends QdrantVectorStore {\n\tprivate static defaultFilter: IDataObject = {};\n\n\tstatic async fromExistingCollection(\n\t\tembeddings: Embeddings,\n\t\targs: QdrantLibArgs,\n\t\tdefaultFilter: IDataObject = {},\n\t): Promise<QdrantVectorStore> {\n\t\tExtendedQdrantVectorStore.defaultFilter = defaultFilter;\n\t\treturn await super.fromExistingCollection(embeddings, args);\n\t}\n\n\tasync similaritySearch(\n\t\tquery: string,\n\t\tk: number,\n\t\tfilter?: IDataObject,\n\t\tcallbacks?: Callbacks | undefined,\n\t) {\n\t\tconst mergedFilter = { ...ExtendedQdrantVectorStore.defaultFilter, ...filter };\n\t\treturn await super.similaritySearch(query, k, mergedFilter, callbacks);\n\t}\n}\n\nconst sharedFields: INodeProperties[] = [qdrantCollectionRLC];\n\nconst insertFields: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Options',\n\t\tname: 'options',\n\t\ttype: 'collection',\n\t\tplaceholder: 'Add Option',\n\t\tdefault: {},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Collection Config',\n\t\t\t\tname: 'collectionConfig',\n\t\t\t\ttype: 'json',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription:\n\t\t\t\t\t'JSON options for creating a collection. <a href=\"https://qdrant.tech/documentation/concepts/collections\">Learn more</a>.',\n\t\t\t},\n\t\t],\n\t},\n];\n\nconst retrieveFields: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Options',\n\t\tname: 'options',\n\t\ttype: 'collection',\n\t\tplaceholder: 'Add Option',\n\t\tdefault: {},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Search Filter',\n\t\t\t\tname: 'searchFilterJson',\n\t\t\t\ttype: 'json',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\trows: 5,\n\t\t\t\t},\n\t\t\t\tdefault:\n\t\t\t\t\t'{\\n \"should\": [\\n {\\n \"key\": \"metadata.batch\",\\n \"match\": {\\n \"value\": 12345\\n }\\n }\\n ]\\n}',\n\t\t\t\tvalidateType: 'object',\n\t\t\t\tdescription:\n\t\t\t\t\t'Filter pageContent or metadata using this <a href=\"https://qdrant.tech/documentation/concepts/filtering/\" target=\"_blank\">filtering syntax</a>',\n\t\t\t},\n\t\t],\n\t},\n];\n\nexport class VectorStoreQdrant extends createVectorStoreNode<ExtendedQdrantVectorStore>({\n\tmeta: {\n\t\tdisplayName: 'Qdrant Vector Store',\n\t\tname: 'vectorStoreQdrant',\n\t\tdescription: 'Work with your data in a Qdrant collection',\n\t\ticon: 'file:qdrant.svg',\n\t\tdocsUrl:\n\t\t\t'https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstoreqdrant/',\n\t\tcredentials: [\n\t\t\t{\n\t\t\t\tname: 'qdrantApi',\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t],\n\t},\n\tmethods: { listSearch: { qdrantCollectionsSearch } },\n\tloadFields: retrieveFields,\n\tinsertFields,\n\tsharedFields,\n\tretrieveFields,\n\tasync getVectorStoreClient(context, filter, embeddings, itemIndex) {\n\t\tconst collection = context.getNodeParameter('qdrantCollection', itemIndex, '', {\n\t\t\textractValue: true,\n\t\t}) as string;\n\n\t\tconst credentials = await context.getCredentials('qdrantApi');\n\n\t\tconst client = createQdrantClient(credentials as QdrantCredential);\n\n\t\tconst config: QdrantLibArgs = {\n\t\t\tclient,\n\t\t\tcollectionName: collection,\n\t\t};\n\n\t\treturn await ExtendedQdrantVectorStore.fromExistingCollection(embeddings, config, filter);\n\t},\n\tasync populateVectorStore(context, embeddings, documents, itemIndex) {\n\t\tconst collectionName = context.getNodeParameter('qdrantCollection', itemIndex, '', {\n\t\t\textractValue: true,\n\t\t}) as string;\n\n\t\t// If collection config is not provided, the collection will be created with default settings\n\t\t// i.e. with the size of the passed embeddings and \"Cosine\" distance metric\n\t\tconst { collectionConfig } = context.getNodeParameter('options', itemIndex, {}) as {\n\t\t\tcollectionConfig?: QdrantSchemas['CreateCollection'];\n\t\t};\n\t\tconst credentials = await context.getCredentials('qdrantApi');\n\n\t\tconst client = createQdrantClient(credentials as QdrantCredential);\n\n\t\tconst config: QdrantLibArgs = {\n\t\t\tclient,\n\t\t\tcollectionName,\n\t\t\tcollectionConfig,\n\t\t};\n\n\t\tawait QdrantVectorStore.fromDocuments(documents, embeddings, config);\n\t},\n}) {}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAAkC;AAIlC,oBAA0D;AAC1D,mCAAsC;AACtC,wBAAwC;AACxC,0BAAoC;AAEpC,MAAM,6BAAN,MAAM,mCAAkC,gCAAkB;AAAA,EAGzD,aAAa,uBACZ,YACA,MACA,gBAA6B,CAAC,GACD;AAC7B,+BAA0B,gBAAgB;AAC1C,WAAO,MAAM,MAAM,uBAAuB,YAAY,IAAI;AAAA,EAC3D;AAAA,EAEA,MAAM,iBACL,OACA,GACA,QACA,WACC;AACD,UAAM,eAAe,EAAE,GAAG,2BAA0B,eAAe,GAAG,OAAO;AAC7E,WAAO,MAAM,MAAM,iBAAiB,OAAO,GAAG,cAAc,SAAS;AAAA,EACtE;AACD;AArBM,2BACU,gBAA6B,CAAC;AAD9C,IAAM,4BAAN;AAuBA,MAAM,eAAkC,CAAC,uCAAmB;AAE5D,MAAM,eAAkC;AAAA,EACvC;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,SAAS,CAAC;AAAA,IACV,SAAS;AAAA,MACR;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,aACC;AAAA,MACF;AAAA,IACD;AAAA,EACD;AACD;AAEA,MAAM,iBAAoC;AAAA,EACzC;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,SAAS,CAAC;AAAA,IACV,SAAS;AAAA,MACR;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,MAAM;AAAA,QACN,aAAa;AAAA,UACZ,MAAM;AAAA,QACP;AAAA,QACA,SACC;AAAA,QACD,cAAc;AAAA,QACd,aACC;AAAA,MACF;AAAA,IACD;AAAA,EACD;AACD;AAEO,MAAM,8BAA0B,oDAAiD;AAAA,EACvF,MAAM;AAAA,IACL,aAAa;AAAA,IACb,MAAM;AAAA,IACN,aAAa;AAAA,IACb,MAAM;AAAA,IACN,SACC;AAAA,IACD,aAAa;AAAA,MACZ;AAAA,QACC,MAAM;AAAA,QACN,UAAU;AAAA,MACX;AAAA,IACD;AAAA,EACD;AAAA,EACA,SAAS,EAAE,YAAY,EAAE,mEAAwB,EAAE;AAAA,EACnD,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA,MAAM,qBAAqB,SAAS,QAAQ,YAAY,WAAW;AAClE,UAAM,aAAa,QAAQ,iBAAiB,oBAAoB,WAAW,IAAI;AAAA,MAC9E,cAAc;AAAA,IACf,CAAC;AAED,UAAM,cAAc,MAAM,QAAQ,eAAe,WAAW;AAE5D,UAAM,aAAS,kCAAmB,WAA+B;AAEjE,UAAM,SAAwB;AAAA,MAC7B;AAAA,MACA,gBAAgB;AAAA,IACjB;AAEA,WAAO,MAAM,0BAA0B,uBAAuB,YAAY,QAAQ,MAAM;AAAA,EACzF;AAAA,EACA,MAAM,oBAAoB,SAAS,YAAY,WAAW,WAAW;AACpE,UAAM,iBAAiB,QAAQ,iBAAiB,oBAAoB,WAAW,IAAI;AAAA,MAClF,cAAc;AAAA,IACf,CAAC;AAID,UAAM,EAAE,iBAAiB,IAAI,QAAQ,iBAAiB,WAAW,WAAW,CAAC,CAAC;AAG9E,UAAM,cAAc,MAAM,QAAQ,eAAe,WAAW;AAE5D,UAAM,aAAS,kCAAmB,WAA+B;AAEjE,UAAM,SAAwB;AAAA,MAC7B;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAEA,UAAM,gCAAkB,cAAc,WAAW,YAAY,MAAM;AAAA,EACpE;AACD,CAAC,EAAE;AAAC;","names":[]}
@@ -18,14 +18,16 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var listSearch_exports = {};
20
20
  __export(listSearch_exports, {
21
+ milvusCollectionsSearch: () => milvusCollectionsSearch,
21
22
  pineconeIndexSearch: () => pineconeIndexSearch,
22
23
  qdrantCollectionsSearch: () => qdrantCollectionsSearch,
23
24
  supabaseTableNameSearch: () => supabaseTableNameSearch
24
25
  });
25
26
  module.exports = __toCommonJS(listSearch_exports);
26
27
  var import_pinecone = require("@pinecone-database/pinecone");
27
- var import_js_client_rest = require("@qdrant/js-client-rest");
28
+ var import_milvus2_sdk_node = require("@zilliz/milvus2-sdk-node");
28
29
  var import_n8n_workflow = require("n8n-workflow");
30
+ var import_Qdrant = require("../../../VectorStoreQdrant/Qdrant.utils");
29
31
  async function pineconeIndexSearch() {
30
32
  const credentials = await this.getCredentials("pineconeApi");
31
33
  const client = new import_pinecone.Pinecone({
@@ -63,10 +65,7 @@ async function supabaseTableNameSearch() {
63
65
  }
64
66
  async function qdrantCollectionsSearch() {
65
67
  const credentials = await this.getCredentials("qdrantApi");
66
- const client = new import_js_client_rest.QdrantClient({
67
- url: credentials.qdrantUrl,
68
- apiKey: credentials.apiKey
69
- });
68
+ const client = (0, import_Qdrant.createQdrantClient)(credentials);
70
69
  const response = await client.getCollections();
71
70
  const results = response.collections.map((collection) => ({
72
71
  name: collection.name,
@@ -74,8 +73,22 @@ async function qdrantCollectionsSearch() {
74
73
  }));
75
74
  return { results };
76
75
  }
76
+ async function milvusCollectionsSearch() {
77
+ const credentials = await this.getCredentials("milvusApi");
78
+ const client = new import_milvus2_sdk_node.MilvusClient({
79
+ address: credentials.baseUrl,
80
+ token: `${credentials.username}:${credentials.password}`
81
+ });
82
+ const response = await client.listCollections();
83
+ const results = response.data.map((collection) => ({
84
+ name: collection.name,
85
+ value: collection.name
86
+ }));
87
+ return { results };
88
+ }
77
89
  // Annotate the CommonJS export names for ESM import in node:
78
90
  0 && (module.exports = {
91
+ milvusCollectionsSearch,
79
92
  pineconeIndexSearch,
80
93
  qdrantCollectionsSearch,
81
94
  supabaseTableNameSearch
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../nodes/vector_store/shared/createVectorStoreNode/methods/listSearch.ts"],"sourcesContent":["import { Pinecone } from '@pinecone-database/pinecone';\nimport { QdrantClient } from '@qdrant/js-client-rest';\nimport { ApplicationError, type IDataObject, type ILoadOptionsFunctions } from 'n8n-workflow';\n\nexport async function pineconeIndexSearch(this: ILoadOptionsFunctions) {\n\tconst credentials = await this.getCredentials('pineconeApi');\n\n\tconst client = new Pinecone({\n\t\tapiKey: credentials.apiKey as string,\n\t});\n\n\tconst indexes = await client.listIndexes();\n\n\tconst results = (indexes.indexes ?? []).map((index) => ({\n\t\tname: index.name,\n\t\tvalue: index.name,\n\t}));\n\n\treturn { results };\n}\n\nexport async function supabaseTableNameSearch(this: ILoadOptionsFunctions) {\n\tconst credentials = await this.getCredentials('supabaseApi');\n\n\tconst results = [];\n\n\tif (typeof credentials.host !== 'string') {\n\t\tthrow new ApplicationError('Expected Supabase credentials host to be a string');\n\t}\n\n\tconst { paths } = (await this.helpers.requestWithAuthentication.call(this, 'supabaseApi', {\n\t\theaders: {\n\t\t\tPrefer: 'return=representation',\n\t\t},\n\t\tmethod: 'GET',\n\t\turi: `${credentials.host}/rest/v1/`,\n\t\tjson: true,\n\t})) as { paths: IDataObject };\n\n\tfor (const path of Object.keys(paths)) {\n\t\t//omit introspection path\n\t\tif (path === '/') continue;\n\n\t\tresults.push({\n\t\t\tname: path.replace('/', ''),\n\t\t\tvalue: path.replace('/', ''),\n\t\t});\n\t}\n\n\treturn { results };\n}\n\nexport async function qdrantCollectionsSearch(this: ILoadOptionsFunctions) {\n\tconst credentials = await this.getCredentials('qdrantApi');\n\n\tconst client = new QdrantClient({\n\t\turl: credentials.qdrantUrl as string,\n\t\tapiKey: credentials.apiKey as string,\n\t});\n\n\tconst response = await client.getCollections();\n\n\tconst results = response.collections.map((collection) => ({\n\t\tname: collection.name,\n\t\tvalue: collection.name,\n\t}));\n\n\treturn { results };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAyB;AACzB,4BAA6B;AAC7B,0BAA+E;AAE/E,eAAsB,sBAAiD;AACtE,QAAM,cAAc,MAAM,KAAK,eAAe,aAAa;AAE3D,QAAM,SAAS,IAAI,yBAAS;AAAA,IAC3B,QAAQ,YAAY;AAAA,EACrB,CAAC;AAED,QAAM,UAAU,MAAM,OAAO,YAAY;AAEzC,QAAM,WAAW,QAAQ,WAAW,CAAC,GAAG,IAAI,CAAC,WAAW;AAAA,IACvD,MAAM,MAAM;AAAA,IACZ,OAAO,MAAM;AAAA,EACd,EAAE;AAEF,SAAO,EAAE,QAAQ;AAClB;AAEA,eAAsB,0BAAqD;AAC1E,QAAM,cAAc,MAAM,KAAK,eAAe,aAAa;AAE3D,QAAM,UAAU,CAAC;AAEjB,MAAI,OAAO,YAAY,SAAS,UAAU;AACzC,UAAM,IAAI,qCAAiB,mDAAmD;AAAA,EAC/E;AAEA,QAAM,EAAE,MAAM,IAAK,MAAM,KAAK,QAAQ,0BAA0B,KAAK,MAAM,eAAe;AAAA,IACzF,SAAS;AAAA,MACR,QAAQ;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,IACR,KAAK,GAAG,YAAY,IAAI;AAAA,IACxB,MAAM;AAAA,EACP,CAAC;AAED,aAAW,QAAQ,OAAO,KAAK,KAAK,GAAG;AAEtC,QAAI,SAAS,IAAK;AAElB,YAAQ,KAAK;AAAA,MACZ,MAAM,KAAK,QAAQ,KAAK,EAAE;AAAA,MAC1B,OAAO,KAAK,QAAQ,KAAK,EAAE;AAAA,IAC5B,CAAC;AAAA,EACF;AAEA,SAAO,EAAE,QAAQ;AAClB;AAEA,eAAsB,0BAAqD;AAC1E,QAAM,cAAc,MAAM,KAAK,eAAe,WAAW;AAEzD,QAAM,SAAS,IAAI,mCAAa;AAAA,IAC/B,KAAK,YAAY;AAAA,IACjB,QAAQ,YAAY;AAAA,EACrB,CAAC;AAED,QAAM,WAAW,MAAM,OAAO,eAAe;AAE7C,QAAM,UAAU,SAAS,YAAY,IAAI,CAAC,gBAAgB;AAAA,IACzD,MAAM,WAAW;AAAA,IACjB,OAAO,WAAW;AAAA,EACnB,EAAE;AAEF,SAAO,EAAE,QAAQ;AAClB;","names":[]}
1
+ {"version":3,"sources":["../../../../../../nodes/vector_store/shared/createVectorStoreNode/methods/listSearch.ts"],"sourcesContent":["import { Pinecone } from '@pinecone-database/pinecone';\nimport { MilvusClient } from '@zilliz/milvus2-sdk-node';\nimport { ApplicationError, type IDataObject, type ILoadOptionsFunctions } from 'n8n-workflow';\n\nimport type { QdrantCredential } from '../../../VectorStoreQdrant/Qdrant.utils';\nimport { createQdrantClient } from '../../../VectorStoreQdrant/Qdrant.utils';\n\nexport async function pineconeIndexSearch(this: ILoadOptionsFunctions) {\n\tconst credentials = await this.getCredentials('pineconeApi');\n\n\tconst client = new Pinecone({\n\t\tapiKey: credentials.apiKey as string,\n\t});\n\n\tconst indexes = await client.listIndexes();\n\n\tconst results = (indexes.indexes ?? []).map((index) => ({\n\t\tname: index.name,\n\t\tvalue: index.name,\n\t}));\n\n\treturn { results };\n}\n\nexport async function supabaseTableNameSearch(this: ILoadOptionsFunctions) {\n\tconst credentials = await this.getCredentials('supabaseApi');\n\n\tconst results = [];\n\n\tif (typeof credentials.host !== 'string') {\n\t\tthrow new ApplicationError('Expected Supabase credentials host to be a string');\n\t}\n\n\tconst { paths } = (await this.helpers.requestWithAuthentication.call(this, 'supabaseApi', {\n\t\theaders: {\n\t\t\tPrefer: 'return=representation',\n\t\t},\n\t\tmethod: 'GET',\n\t\turi: `${credentials.host}/rest/v1/`,\n\t\tjson: true,\n\t})) as { paths: IDataObject };\n\n\tfor (const path of Object.keys(paths)) {\n\t\t//omit introspection path\n\t\tif (path === '/') continue;\n\n\t\tresults.push({\n\t\t\tname: path.replace('/', ''),\n\t\t\tvalue: path.replace('/', ''),\n\t\t});\n\t}\n\n\treturn { results };\n}\n\nexport async function qdrantCollectionsSearch(this: ILoadOptionsFunctions) {\n\tconst credentials = await this.getCredentials('qdrantApi');\n\n\tconst client = createQdrantClient(credentials as QdrantCredential);\n\n\tconst response = await client.getCollections();\n\n\tconst results = response.collections.map((collection) => ({\n\t\tname: collection.name,\n\t\tvalue: collection.name,\n\t}));\n\n\treturn { results };\n}\n\nexport async function milvusCollectionsSearch(this: ILoadOptionsFunctions) {\n\tconst credentials = await this.getCredentials<{\n\t\tbaseUrl: string;\n\t\tusername: string;\n\t\tpassword: string;\n\t}>('milvusApi');\n\n\tconst client = new MilvusClient({\n\t\taddress: credentials.baseUrl,\n\t\ttoken: `${credentials.username}:${credentials.password}`,\n\t});\n\n\tconst response = await client.listCollections();\n\n\tconst results = response.data.map((collection) => ({\n\t\tname: collection.name,\n\t\tvalue: collection.name,\n\t}));\n\n\treturn { results };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAyB;AACzB,8BAA6B;AAC7B,0BAA+E;AAG/E,oBAAmC;AAEnC,eAAsB,sBAAiD;AACtE,QAAM,cAAc,MAAM,KAAK,eAAe,aAAa;AAE3D,QAAM,SAAS,IAAI,yBAAS;AAAA,IAC3B,QAAQ,YAAY;AAAA,EACrB,CAAC;AAED,QAAM,UAAU,MAAM,OAAO,YAAY;AAEzC,QAAM,WAAW,QAAQ,WAAW,CAAC,GAAG,IAAI,CAAC,WAAW;AAAA,IACvD,MAAM,MAAM;AAAA,IACZ,OAAO,MAAM;AAAA,EACd,EAAE;AAEF,SAAO,EAAE,QAAQ;AAClB;AAEA,eAAsB,0BAAqD;AAC1E,QAAM,cAAc,MAAM,KAAK,eAAe,aAAa;AAE3D,QAAM,UAAU,CAAC;AAEjB,MAAI,OAAO,YAAY,SAAS,UAAU;AACzC,UAAM,IAAI,qCAAiB,mDAAmD;AAAA,EAC/E;AAEA,QAAM,EAAE,MAAM,IAAK,MAAM,KAAK,QAAQ,0BAA0B,KAAK,MAAM,eAAe;AAAA,IACzF,SAAS;AAAA,MACR,QAAQ;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,IACR,KAAK,GAAG,YAAY,IAAI;AAAA,IACxB,MAAM;AAAA,EACP,CAAC;AAED,aAAW,QAAQ,OAAO,KAAK,KAAK,GAAG;AAEtC,QAAI,SAAS,IAAK;AAElB,YAAQ,KAAK;AAAA,MACZ,MAAM,KAAK,QAAQ,KAAK,EAAE;AAAA,MAC1B,OAAO,KAAK,QAAQ,KAAK,EAAE;AAAA,IAC5B,CAAC;AAAA,EACF;AAEA,SAAO,EAAE,QAAQ;AAClB;AAEA,eAAsB,0BAAqD;AAC1E,QAAM,cAAc,MAAM,KAAK,eAAe,WAAW;AAEzD,QAAM,aAAS,kCAAmB,WAA+B;AAEjE,QAAM,WAAW,MAAM,OAAO,eAAe;AAE7C,QAAM,UAAU,SAAS,YAAY,IAAI,CAAC,gBAAgB;AAAA,IACzD,MAAM,WAAW;AAAA,IACjB,OAAO,WAAW;AAAA,EACnB,EAAE;AAEF,SAAO,EAAE,QAAQ;AAClB;AAEA,eAAsB,0BAAqD;AAC1E,QAAM,cAAc,MAAM,KAAK,eAI5B,WAAW;AAEd,QAAM,SAAS,IAAI,qCAAa;AAAA,IAC/B,SAAS,YAAY;AAAA,IACrB,OAAO,GAAG,YAAY,QAAQ,IAAI,YAAY,QAAQ;AAAA,EACvD,CAAC;AAED,QAAM,WAAW,MAAM,OAAO,gBAAgB;AAE9C,QAAM,UAAU,SAAS,KAAK,IAAI,CAAC,gBAAgB;AAAA,IAClD,MAAM,WAAW;AAAA,IACjB,OAAO,WAAW;AAAA,EACnB,EAAE;AAEF,SAAO,EAAE,QAAQ;AAClB;","names":[]}
@@ -18,6 +18,7 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var descriptions_exports = {};
20
20
  __export(descriptions_exports, {
21
+ milvusCollectionRLC: () => milvusCollectionRLC,
21
22
  pineconeIndexRLC: () => pineconeIndexRLC,
22
23
  qdrantCollectionRLC: () => qdrantCollectionRLC,
23
24
  supabaseTableNameRLC: () => supabaseTableNameRLC
@@ -89,8 +90,31 @@ const qdrantCollectionRLC = {
89
90
  }
90
91
  ]
91
92
  };
93
+ const milvusCollectionRLC = {
94
+ displayName: "Milvus Collection",
95
+ name: "milvusCollection",
96
+ type: "resourceLocator",
97
+ default: { mode: "list", value: "" },
98
+ required: true,
99
+ modes: [
100
+ {
101
+ displayName: "From List",
102
+ name: "list",
103
+ type: "list",
104
+ typeOptions: {
105
+ searchListMethod: "milvusCollectionsSearch"
106
+ }
107
+ },
108
+ {
109
+ displayName: "ID",
110
+ name: "id",
111
+ type: "string"
112
+ }
113
+ ]
114
+ };
92
115
  // Annotate the CommonJS export names for ESM import in node:
93
116
  0 && (module.exports = {
117
+ milvusCollectionRLC,
94
118
  pineconeIndexRLC,
95
119
  qdrantCollectionRLC,
96
120
  supabaseTableNameRLC
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../nodes/vector_store/shared/descriptions.ts"],"sourcesContent":["import type { INodeProperties } from 'n8n-workflow';\n\nexport const pineconeIndexRLC: INodeProperties = {\n\tdisplayName: 'Pinecone Index',\n\tname: 'pineconeIndex',\n\ttype: 'resourceLocator',\n\tdefault: { mode: 'list', value: '' },\n\trequired: true,\n\tmodes: [\n\t\t{\n\t\t\tdisplayName: 'From List',\n\t\t\tname: 'list',\n\t\t\ttype: 'list',\n\t\t\ttypeOptions: {\n\t\t\t\tsearchListMethod: 'pineconeIndexSearch',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'ID',\n\t\t\tname: 'id',\n\t\t\ttype: 'string',\n\t\t},\n\t],\n};\n\nexport const supabaseTableNameRLC: INodeProperties = {\n\tdisplayName: 'Table Name',\n\tname: 'tableName',\n\ttype: 'resourceLocator',\n\tdefault: { mode: 'list', value: '' },\n\trequired: true,\n\tmodes: [\n\t\t{\n\t\t\tdisplayName: 'From List',\n\t\t\tname: 'list',\n\t\t\ttype: 'list',\n\t\t\ttypeOptions: {\n\t\t\t\tsearchListMethod: 'supabaseTableNameSearch',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'ID',\n\t\t\tname: 'id',\n\t\t\ttype: 'string',\n\t\t},\n\t],\n};\n\nexport const qdrantCollectionRLC: INodeProperties = {\n\tdisplayName: 'Qdrant Collection',\n\tname: 'qdrantCollection',\n\ttype: 'resourceLocator',\n\tdefault: { mode: 'list', value: '' },\n\trequired: true,\n\tmodes: [\n\t\t{\n\t\t\tdisplayName: 'From List',\n\t\t\tname: 'list',\n\t\t\ttype: 'list',\n\t\t\ttypeOptions: {\n\t\t\t\tsearchListMethod: 'qdrantCollectionsSearch',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'ID',\n\t\t\tname: 'id',\n\t\t\ttype: 'string',\n\t\t},\n\t],\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAM,mBAAoC;AAAA,EAChD,aAAa;AAAA,EACb,MAAM;AAAA,EACN,MAAM;AAAA,EACN,SAAS,EAAE,MAAM,QAAQ,OAAO,GAAG;AAAA,EACnC,UAAU;AAAA,EACV,OAAO;AAAA,IACN;AAAA,MACC,aAAa;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,MACN,aAAa;AAAA,QACZ,kBAAkB;AAAA,MACnB;AAAA,IACD;AAAA,IACA;AAAA,MACC,aAAa;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,IACP;AAAA,EACD;AACD;AAEO,MAAM,uBAAwC;AAAA,EACpD,aAAa;AAAA,EACb,MAAM;AAAA,EACN,MAAM;AAAA,EACN,SAAS,EAAE,MAAM,QAAQ,OAAO,GAAG;AAAA,EACnC,UAAU;AAAA,EACV,OAAO;AAAA,IACN;AAAA,MACC,aAAa;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,MACN,aAAa;AAAA,QACZ,kBAAkB;AAAA,MACnB;AAAA,IACD;AAAA,IACA;AAAA,MACC,aAAa;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,IACP;AAAA,EACD;AACD;AAEO,MAAM,sBAAuC;AAAA,EACnD,aAAa;AAAA,EACb,MAAM;AAAA,EACN,MAAM;AAAA,EACN,SAAS,EAAE,MAAM,QAAQ,OAAO,GAAG;AAAA,EACnC,UAAU;AAAA,EACV,OAAO;AAAA,IACN;AAAA,MACC,aAAa;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,MACN,aAAa;AAAA,QACZ,kBAAkB;AAAA,MACnB;AAAA,IACD;AAAA,IACA;AAAA,MACC,aAAa;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,IACP;AAAA,EACD;AACD;","names":[]}
1
+ {"version":3,"sources":["../../../../nodes/vector_store/shared/descriptions.ts"],"sourcesContent":["import type { INodeProperties } from 'n8n-workflow';\n\nexport const pineconeIndexRLC: INodeProperties = {\n\tdisplayName: 'Pinecone Index',\n\tname: 'pineconeIndex',\n\ttype: 'resourceLocator',\n\tdefault: { mode: 'list', value: '' },\n\trequired: true,\n\tmodes: [\n\t\t{\n\t\t\tdisplayName: 'From List',\n\t\t\tname: 'list',\n\t\t\ttype: 'list',\n\t\t\ttypeOptions: {\n\t\t\t\tsearchListMethod: 'pineconeIndexSearch',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'ID',\n\t\t\tname: 'id',\n\t\t\ttype: 'string',\n\t\t},\n\t],\n};\n\nexport const supabaseTableNameRLC: INodeProperties = {\n\tdisplayName: 'Table Name',\n\tname: 'tableName',\n\ttype: 'resourceLocator',\n\tdefault: { mode: 'list', value: '' },\n\trequired: true,\n\tmodes: [\n\t\t{\n\t\t\tdisplayName: 'From List',\n\t\t\tname: 'list',\n\t\t\ttype: 'list',\n\t\t\ttypeOptions: {\n\t\t\t\tsearchListMethod: 'supabaseTableNameSearch',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'ID',\n\t\t\tname: 'id',\n\t\t\ttype: 'string',\n\t\t},\n\t],\n};\n\nexport const qdrantCollectionRLC: INodeProperties = {\n\tdisplayName: 'Qdrant Collection',\n\tname: 'qdrantCollection',\n\ttype: 'resourceLocator',\n\tdefault: { mode: 'list', value: '' },\n\trequired: true,\n\tmodes: [\n\t\t{\n\t\t\tdisplayName: 'From List',\n\t\t\tname: 'list',\n\t\t\ttype: 'list',\n\t\t\ttypeOptions: {\n\t\t\t\tsearchListMethod: 'qdrantCollectionsSearch',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'ID',\n\t\t\tname: 'id',\n\t\t\ttype: 'string',\n\t\t},\n\t],\n};\n\nexport const milvusCollectionRLC: INodeProperties = {\n\tdisplayName: 'Milvus Collection',\n\tname: 'milvusCollection',\n\ttype: 'resourceLocator',\n\tdefault: { mode: 'list', value: '' },\n\trequired: true,\n\tmodes: [\n\t\t{\n\t\t\tdisplayName: 'From List',\n\t\t\tname: 'list',\n\t\t\ttype: 'list',\n\t\t\ttypeOptions: {\n\t\t\t\tsearchListMethod: 'milvusCollectionsSearch',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'ID',\n\t\t\tname: 'id',\n\t\t\ttype: 'string',\n\t\t},\n\t],\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAM,mBAAoC;AAAA,EAChD,aAAa;AAAA,EACb,MAAM;AAAA,EACN,MAAM;AAAA,EACN,SAAS,EAAE,MAAM,QAAQ,OAAO,GAAG;AAAA,EACnC,UAAU;AAAA,EACV,OAAO;AAAA,IACN;AAAA,MACC,aAAa;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,MACN,aAAa;AAAA,QACZ,kBAAkB;AAAA,MACnB;AAAA,IACD;AAAA,IACA;AAAA,MACC,aAAa;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,IACP;AAAA,EACD;AACD;AAEO,MAAM,uBAAwC;AAAA,EACpD,aAAa;AAAA,EACb,MAAM;AAAA,EACN,MAAM;AAAA,EACN,SAAS,EAAE,MAAM,QAAQ,OAAO,GAAG;AAAA,EACnC,UAAU;AAAA,EACV,OAAO;AAAA,IACN;AAAA,MACC,aAAa;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,MACN,aAAa;AAAA,QACZ,kBAAkB;AAAA,MACnB;AAAA,IACD;AAAA,IACA;AAAA,MACC,aAAa;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,IACP;AAAA,EACD;AACD;AAEO,MAAM,sBAAuC;AAAA,EACnD,aAAa;AAAA,EACb,MAAM;AAAA,EACN,MAAM;AAAA,EACN,SAAS,EAAE,MAAM,QAAQ,OAAO,GAAG;AAAA,EACnC,UAAU;AAAA,EACV,OAAO;AAAA,IACN;AAAA,MACC,aAAa;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,MACN,aAAa;AAAA,QACZ,kBAAkB;AAAA,MACnB;AAAA,IACD;AAAA,IACA;AAAA,MACC,aAAa;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,IACP;AAAA,EACD;AACD;AAEO,MAAM,sBAAuC;AAAA,EACnD,aAAa;AAAA,EACb,MAAM;AAAA,EACN,MAAM;AAAA,EACN,SAAS,EAAE,MAAM,QAAQ,OAAO,GAAG;AAAA,EACnC,UAAU;AAAA,EACV,OAAO;AAAA,IACN;AAAA,MACC,aAAa;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,MACN,aAAa;AAAA,QACZ,kBAAkB;AAAA,MACnB;AAAA,IACD;AAAA,IACA;AAAA,MACC,aAAa;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,IACP;AAAA,EACD;AACD;","names":[]}
@@ -7,11 +7,13 @@
7
7
  {"name":"groqApi","displayName":"Groq","documentationUrl":"groq","properties":[{"displayName":"API Key","name":"apiKey","type":"string","typeOptions":{"password":true},"required":true,"default":""}],"authenticate":{"type":"generic","properties":{"headers":{"Authorization":"=Bearer {{$credentials.apiKey}}"}}},"test":{"request":{"baseURL":"https://api.groq.com/openai/v1","url":"/models"}},"supportedNodes":["lmChatGroq"],"iconUrl":"icons/@n8n/n8n-nodes-langchain/dist/nodes/llms/LmChatGroq/groq.svg"},
8
8
  {"name":"huggingFaceApi","displayName":"HuggingFaceApi","documentationUrl":"huggingface","properties":[{"displayName":"API Key","name":"apiKey","type":"string","typeOptions":{"password":true},"required":true,"default":""}],"authenticate":{"type":"generic","properties":{"headers":{"Authorization":"=Bearer {{$credentials.apiKey}}"}}},"test":{"request":{"baseURL":"https://api-inference.huggingface.co","url":"/models/gpt2"}},"supportedNodes":["embeddingsHuggingFaceInference","lmOpenHuggingFaceInference"],"iconUrl":"icons/@n8n/n8n-nodes-langchain/dist/nodes/embeddings/EmbeddingsHuggingFaceInference/huggingface.svg"},
9
9
  {"name":"motorheadApi","displayName":"MotorheadApi","documentationUrl":"motorhead","properties":[{"displayName":"Host","name":"host","required":true,"type":"string","default":"https://api.getmetal.io/v1"},{"displayName":"API Key","name":"apiKey","type":"string","typeOptions":{"password":true},"required":true,"default":""},{"displayName":"Client ID","name":"clientId","type":"string","default":""}],"authenticate":{"type":"generic","properties":{"headers":{"x-metal-client-id":"={{$credentials.clientId}}","x-metal-api-key":"={{$credentials.apiKey}}"}}},"test":{"request":{"baseURL":"={{$credentials.host}}/keys/current"}},"supportedNodes":["memoryMotorhead"],"icon":"fa:file-export","iconColor":"black"},
10
+ {"name":"milvusApi","displayName":"Milvus","documentationUrl":"milvus","properties":[{"displayName":"Base URL","name":"baseUrl","required":true,"type":"string","default":"http://localhost:19530"},{"displayName":"Username","name":"username","type":"string","default":""},{"displayName":"Password","name":"password","type":"string","typeOptions":{"password":true},"default":""}],"authenticate":{"type":"generic","properties":{"headers":{"Authorization":"=Bearer {{$credentials.username}}:{{$credentials.password}}"}}},"test":{"request":{"baseURL":"={{ $credentials.baseUrl }}","url":"/v1/vector/collections","method":"GET"}},"supportedNodes":["vectorStoreMilvus"],"iconUrl":{"light":"icons/@n8n/n8n-nodes-langchain/dist/nodes/vector_store/VectorStoreMilvus/milvus-icon-black.svg","dark":"icons/@n8n/n8n-nodes-langchain/dist/nodes/vector_store/VectorStoreMilvus/milvus-icon-white.svg"}},
10
11
  {"name":"mistralCloudApi","displayName":"Mistral Cloud API","documentationUrl":"mistral","properties":[{"displayName":"API Key","name":"apiKey","type":"string","typeOptions":{"password":true},"required":true,"default":""}],"authenticate":{"type":"generic","properties":{"headers":{"Authorization":"=Bearer {{$credentials.apiKey}}"}}},"test":{"request":{"baseURL":"https://api.mistral.ai/v1","url":"/models","method":"GET"}},"supportedNodes":["embeddingsMistralCloud","lmChatMistralCloud"],"iconUrl":"icons/@n8n/n8n-nodes-langchain/dist/nodes/embeddings/EmbeddingsMistralCloud/mistral.svg"},
11
12
  {"name":"ollamaApi","displayName":"Ollama","documentationUrl":"ollama","properties":[{"displayName":"Base URL","name":"baseUrl","required":true,"type":"string","default":"http://localhost:11434"}],"test":{"request":{"baseURL":"={{ $credentials.baseUrl }}","url":"/","method":"GET"}},"supportedNodes":["embeddingsOllama","lmChatOllama","lmOllama"],"iconUrl":"icons/@n8n/n8n-nodes-langchain/dist/nodes/embeddings/EmbeddingsOllama/ollama.svg"},
12
13
  {"name":"openRouterApi","displayName":"OpenRouter","documentationUrl":"openrouter","properties":[{"displayName":"API Key","name":"apiKey","type":"string","typeOptions":{"password":true},"required":true,"default":""},{"displayName":"Base URL","name":"url","type":"hidden","default":"https://openrouter.ai/api/v1"}],"authenticate":{"type":"generic","properties":{"headers":{"Authorization":"=Bearer {{$credentials.apiKey}}"}}},"test":{"request":{"baseURL":"={{ $credentials.url }}","url":"/models"}},"supportedNodes":["lmChatOpenRouter"],"iconUrl":{"light":"icons/@n8n/n8n-nodes-langchain/dist/nodes/llms/LmChatOpenRouter/openrouter.svg","dark":"icons/@n8n/n8n-nodes-langchain/dist/nodes/llms/LmChatOpenRouter/openrouter.dark.svg"}},
13
14
  {"name":"pineconeApi","displayName":"PineconeApi","documentationUrl":"pinecone","properties":[{"displayName":"API Key","name":"apiKey","type":"string","typeOptions":{"password":true},"required":true,"default":""}],"authenticate":{"type":"generic","properties":{"headers":{"Api-Key":"={{$credentials.apiKey}}"}}},"test":{"request":{"baseURL":"https://api.pinecone.io/indexes","headers":{"accept":"application/json; charset=utf-8"}}},"supportedNodes":["vectorStorePinecone","vectorStorePineconeInsert","vectorStorePineconeLoad"],"iconUrl":{"light":"icons/@n8n/n8n-nodes-langchain/dist/nodes/vector_store/VectorStorePinecone/pinecone.svg","dark":"icons/@n8n/n8n-nodes-langchain/dist/nodes/vector_store/VectorStorePinecone/pinecone.dark.svg"}},
14
- {"name":"qdrantApi","displayName":"QdrantApi","documentationUrl":"https://docs.n8n.io/integrations/builtin/credentials/qdrant/","properties":[{"displayName":"API Key","name":"apiKey","type":"string","typeOptions":{"password":true},"required":false,"default":""},{"displayName":"Qdrant URL","name":"qdrantUrl","type":"string","required":true,"default":""}],"authenticate":{"type":"generic","properties":{"headers":{"api-key":"={{$credentials.apiKey}}"}}},"test":{"request":{"baseURL":"={{$credentials.qdrantUrl}}","headers":{"accept":"application/json; charset=utf-8"}}},"supportedNodes":["vectorStoreQdrant"],"iconUrl":"icons/@n8n/n8n-nodes-langchain/dist/nodes/vector_store/VectorStoreQdrant/qdrant.svg"},
15
+ {"name":"qdrantApi","displayName":"QdrantApi","documentationUrl":"https://docs.n8n.io/integrations/builtin/credentials/qdrant/","properties":[{"displayName":"API Key","name":"apiKey","type":"string","typeOptions":{"password":true},"required":false,"default":""},{"displayName":"Qdrant URL","name":"qdrantUrl","type":"string","required":true,"default":""}],"authenticate":{"type":"generic","properties":{"headers":{"api-key":"={{$credentials.apiKey}}"}}},"test":{"request":{"baseURL":"={{$credentials.qdrantUrl}}","url":"/collections"}},"supportedNodes":["vectorStoreQdrant"],"iconUrl":"icons/@n8n/n8n-nodes-langchain/dist/nodes/vector_store/VectorStoreQdrant/qdrant.svg"},
16
+ {"name":"searXngApi","displayName":"SearXNG","documentationUrl":"searxng","properties":[{"displayName":"API URL","name":"apiUrl","type":"string","default":"","required":true}],"supportedNodes":["toolSearXng"],"iconUrl":"icons/@n8n/n8n-nodes-langchain/dist/nodes/tools/ToolSearXng/searXng.svg"},
15
17
  {"name":"serpApi","displayName":"SerpAPI","documentationUrl":"serp","properties":[{"displayName":"API Key","name":"apiKey","type":"string","typeOptions":{"password":true},"required":true,"default":""}],"authenticate":{"type":"generic","properties":{"qs":{"api_key":"={{$credentials.apiKey}}"}}},"test":{"request":{"baseURL":"https://serpapi.com","url":"/account.json "}},"supportedNodes":["toolSerpApi"],"iconUrl":"icons/@n8n/n8n-nodes-langchain/dist/nodes/tools/ToolSerpApi/serpApi.svg"},
16
18
  {"name":"wolframAlphaApi","displayName":"WolframAlphaApi","documentationUrl":"wolframalpha","properties":[{"displayName":"App ID","name":"appId","type":"string","typeOptions":{"password":true},"required":true,"default":""}],"authenticate":{"type":"generic","properties":{"qs":{"api_key":"={{$credentials.appId}}"}}},"test":{"request":{"baseURL":"https://api.wolframalpha.com/v1","url":"=/simple","qs":{"i":"How much is 1 1","appid":"={{$credentials.appId}}"}}},"supportedNodes":["toolWolframAlpha"],"iconUrl":"icons/@n8n/n8n-nodes-langchain/dist/nodes/tools/ToolWolframAlpha/wolfram-alpha.svg"},
17
19
  {"name":"xAiApi","displayName":"xAi","documentationUrl":"xAi","properties":[{"displayName":"API Key","name":"apiKey","type":"string","typeOptions":{"password":true},"required":true,"default":""},{"displayName":"Base URL","name":"url","type":"hidden","default":"https://api.x.ai/v1"}],"authenticate":{"type":"generic","properties":{"headers":{"Authorization":"=Bearer {{$credentials.apiKey}}"}}},"test":{"request":{"baseURL":"={{ $credentials.url }}","url":"/models"}},"supportedNodes":["lmChatXAiGrok"],"iconUrl":{"light":"icons/@n8n/n8n-nodes-langchain/dist/nodes/llms/LmChatXAiGrok/logo.dark.svg","dark":"icons/@n8n/n8n-nodes-langchain/dist/nodes/llms/LmChatXAiGrok/logo.svg"}},