n8n-nodes-couchbase 0.1.5 → 1.1.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 (89) hide show
  1. package/README.md +26 -52
  2. package/dist/credentials/CouchbaseApi.credentials.d.ts +8 -0
  3. package/dist/credentials/CouchbaseApi.credentials.js +39 -0
  4. package/dist/credentials/CouchbaseApi.credentials.js.map +1 -0
  5. package/dist/nodes/Couchbase/Couchbase.node.d.ts +14 -0
  6. package/dist/nodes/Couchbase/Couchbase.node.js +173 -0
  7. package/dist/nodes/Couchbase/Couchbase.node.js.map +1 -0
  8. package/dist/nodes/Couchbase/Couchbase.node.json +18 -0
  9. package/dist/nodes/Couchbase/CouchbaseProperties.d.ts +16 -0
  10. package/dist/nodes/Couchbase/CouchbaseProperties.js +511 -0
  11. package/dist/nodes/Couchbase/CouchbaseProperties.js.map +1 -0
  12. package/dist/nodes/Couchbase/couchbase.dark.svg +14 -0
  13. package/dist/nodes/Couchbase/couchbase.svg +14 -0
  14. package/dist/nodes/icons/couchbase.dark.svg +14 -0
  15. package/dist/nodes/icons/couchbase.svg +14 -0
  16. package/dist/nodes/vector_store/VectorStoreCouchbaseSearch/VectorStoreCouchbaseSearch.node.d.ts +16 -0
  17. package/dist/nodes/vector_store/VectorStoreCouchbaseSearch/VectorStoreCouchbaseSearch.node.js +335 -0
  18. package/dist/nodes/vector_store/VectorStoreCouchbaseSearch/VectorStoreCouchbaseSearch.node.js.map +1 -0
  19. package/dist/nodes/vector_store/shared/createVectorStoreNode/constants.d.ts +4 -0
  20. package/dist/nodes/vector_store/shared/createVectorStoreNode/constants.js +45 -0
  21. package/dist/nodes/vector_store/shared/createVectorStoreNode/constants.js.map +1 -0
  22. package/dist/nodes/vector_store/shared/createVectorStoreNode/createVectorStoreNode.d.ts +15 -0
  23. package/dist/nodes/vector_store/shared/createVectorStoreNode/createVectorStoreNode.js +227 -0
  24. package/dist/nodes/vector_store/shared/createVectorStoreNode/createVectorStoreNode.js.map +1 -0
  25. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/index.d.ts +5 -0
  26. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/index.js +22 -0
  27. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/index.js.map +1 -0
  28. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/insertOperation.d.ts +5 -0
  29. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/insertOperation.js +36 -0
  30. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/insertOperation.js.map +1 -0
  31. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/loadOperation.d.ts +5 -0
  32. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/loadOperation.js +34 -0
  33. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/loadOperation.js.map +1 -0
  34. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/retrieveAsToolOperation.d.ts +5 -0
  35. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/retrieveAsToolOperation.js +43 -0
  36. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/retrieveAsToolOperation.js.map +1 -0
  37. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/retrieveOperation.d.ts +5 -0
  38. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/retrieveOperation.js +17 -0
  39. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/retrieveOperation.js.map +1 -0
  40. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/updateOperation.d.ts +5 -0
  41. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/updateOperation.js +40 -0
  42. package/dist/nodes/vector_store/shared/createVectorStoreNode/operations/updateOperation.js.map +1 -0
  43. package/dist/nodes/vector_store/shared/createVectorStoreNode/types.d.ts +31 -0
  44. package/dist/nodes/vector_store/shared/createVectorStoreNode/types.js +3 -0
  45. package/dist/nodes/vector_store/shared/createVectorStoreNode/types.js.map +1 -0
  46. package/dist/nodes/vector_store/shared/createVectorStoreNode/utils.d.ts +6 -0
  47. package/dist/nodes/vector_store/shared/createVectorStoreNode/utils.js +22 -0
  48. package/dist/nodes/vector_store/shared/createVectorStoreNode/utils.js.map +1 -0
  49. package/dist/nodes/vector_store/shared/processDocuments.d.ts +16 -0
  50. package/dist/nodes/vector_store/shared/processDocuments.js +28 -0
  51. package/dist/nodes/vector_store/shared/processDocuments.js.map +1 -0
  52. package/dist/package.json +37 -19
  53. package/dist/tsconfig.tsbuildinfo +1 -1
  54. package/dist/utils/N8nBinaryLoader.d.ts +18 -0
  55. package/dist/utils/N8nBinaryLoader.js +159 -0
  56. package/dist/utils/N8nBinaryLoader.js.map +1 -0
  57. package/dist/utils/N8nJsonLoader.d.ts +11 -0
  58. package/dist/utils/N8nJsonLoader.js +67 -0
  59. package/dist/utils/N8nJsonLoader.js.map +1 -0
  60. package/dist/utils/couchbase/connectToCouchbase.d.ts +6 -0
  61. package/dist/utils/couchbase/connectToCouchbase.js +88 -0
  62. package/dist/utils/couchbase/connectToCouchbase.js.map +1 -0
  63. package/dist/utils/couchbase/populateCouchbaseRLs.d.ts +25 -0
  64. package/dist/utils/couchbase/populateCouchbaseRLs.js +121 -0
  65. package/dist/utils/couchbase/populateCouchbaseRLs.js.map +1 -0
  66. package/dist/utils/couchbase/validateBucketScopeCollection.d.ts +2 -0
  67. package/dist/utils/couchbase/validateBucketScopeCollection.js +53 -0
  68. package/dist/utils/couchbase/validateBucketScopeCollection.js.map +1 -0
  69. package/dist/utils/helpers.d.ts +10 -0
  70. package/dist/utils/helpers.js +61 -0
  71. package/dist/utils/helpers.js.map +1 -0
  72. package/dist/utils/logWrapper.d.ts +20 -0
  73. package/dist/utils/logWrapper.js +285 -0
  74. package/dist/utils/logWrapper.js.map +1 -0
  75. package/dist/utils/sharedFields.d.ts +6 -0
  76. package/dist/utils/sharedFields.js +122 -0
  77. package/dist/utils/sharedFields.js.map +1 -0
  78. package/package.json +43 -27
  79. package/dist/credentials/CouchbaseCredentialsApi.credentials.d.ts +0 -7
  80. package/dist/credentials/CouchbaseCredentialsApi.credentials.js +0 -50
  81. package/dist/credentials/CouchbaseCredentialsApi.credentials.js.map +0 -1
  82. package/dist/nodes/CouchbaseDB/CBLogomark.svg +0 -350
  83. package/dist/nodes/CouchbaseDB/CouchbaseNode.node.d.ts +0 -6
  84. package/dist/nodes/CouchbaseDB/CouchbaseNode.node.js +0 -206
  85. package/dist/nodes/CouchbaseDB/CouchbaseNode.node.js.map +0 -1
  86. package/dist/nodes/CouchbaseNode/CBLogomark.svg +0 -350
  87. package/dist/nodes/CouchbaseNode/CouchbaseNode.node.d.ts +0 -6
  88. package/dist/nodes/CouchbaseNode/CouchbaseNode.node.js +0 -293
  89. package/dist/nodes/CouchbaseNode/CouchbaseNode.node.js.map +0 -1
@@ -0,0 +1,335 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VectorStoreCouchbaseSearch = void 0;
4
+ const couchbase_1 = require("@langchain/community/vectorstores/couchbase");
5
+ const n8n_workflow_1 = require("n8n-workflow");
6
+ const sharedFields_1 = require("../../../utils/sharedFields");
7
+ const createVectorStoreNode_1 = require("../shared/createVectorStoreNode/createVectorStoreNode");
8
+ const populateCouchbaseRLs_1 = require("../../../utils/couchbase/populateCouchbaseRLs");
9
+ const connectToCouchbase_1 = require("../../../utils/couchbase/connectToCouchbase");
10
+ const validateBucketScopeCollection_1 = require("../../../utils/couchbase/validateBucketScopeCollection");
11
+ const couchbaseBucketRL = {
12
+ displayName: 'Couchbase Bucket',
13
+ name: 'couchbaseBucket',
14
+ type: 'resourceLocator',
15
+ default: { mode: 'list', value: '' },
16
+ required: true,
17
+ modes: [
18
+ {
19
+ displayName: 'From List',
20
+ name: 'list',
21
+ type: 'list',
22
+ typeOptions: {
23
+ searchListMethod: 'populateCouchbaseBucketRL',
24
+ },
25
+ },
26
+ {
27
+ displayName: 'Name',
28
+ name: 'name',
29
+ type: 'string',
30
+ placeholder: 'e.g. my_bucket',
31
+ },
32
+ ],
33
+ };
34
+ const couchbaseScopeRL = {
35
+ displayName: 'Couchbase Scope',
36
+ name: 'couchbaseScope',
37
+ type: 'resourceLocator',
38
+ default: { mode: 'list', value: '' },
39
+ required: true,
40
+ typeOptions: {
41
+ loadOptionsDependsOn: ['couchbaseBucket.value'],
42
+ },
43
+ modes: [
44
+ {
45
+ displayName: 'From List',
46
+ name: 'list',
47
+ type: 'list',
48
+ typeOptions: {
49
+ searchListMethod: 'populateCouchbaseScopeRL',
50
+ },
51
+ },
52
+ {
53
+ displayName: 'Name',
54
+ name: 'name',
55
+ type: 'string',
56
+ placeholder: 'e.g. my_scope',
57
+ },
58
+ ],
59
+ };
60
+ const couchbaseCollectionRL = {
61
+ displayName: 'Couchbase Collection',
62
+ name: 'couchbaseCollection',
63
+ type: 'resourceLocator',
64
+ default: { mode: 'list', value: '' },
65
+ required: true,
66
+ typeOptions: {
67
+ loadOptionsDependsOn: ['couchbaseBucket.value', 'couchbaseScope.value'],
68
+ },
69
+ modes: [
70
+ {
71
+ displayName: 'From List',
72
+ name: 'list',
73
+ type: 'list',
74
+ typeOptions: {
75
+ searchListMethod: 'populateCouchbaseCollectionRL',
76
+ },
77
+ },
78
+ {
79
+ displayName: 'Name',
80
+ name: 'name',
81
+ type: 'string',
82
+ placeholder: 'e.g. my_collection',
83
+ },
84
+ ],
85
+ };
86
+ const useScopedIndex = {
87
+ displayName: 'Use Scoped Index',
88
+ name: 'useScopedIndex',
89
+ type: 'boolean',
90
+ default: true,
91
+ description: 'Whether to use a scoped search index or a global one',
92
+ };
93
+ const vectorIndexRL = {
94
+ displayName: 'Vector Index Name',
95
+ name: 'vectorIndexName',
96
+ type: 'resourceLocator',
97
+ default: { mode: 'list', value: '' },
98
+ required: true,
99
+ description: 'The name of the vector index',
100
+ typeOptions: {
101
+ loadOptionsDependsOn: [
102
+ 'useScopedIndex',
103
+ 'couchbaseBucket.value',
104
+ 'couchbaseScope.value',
105
+ 'couchbaseCollection.value',
106
+ ],
107
+ },
108
+ modes: [
109
+ {
110
+ displayName: 'From List',
111
+ name: 'list',
112
+ type: 'list',
113
+ typeOptions: {
114
+ searchListMethod: 'populateCouchbaseSearchIndexesRL',
115
+ },
116
+ },
117
+ {
118
+ displayName: 'Name',
119
+ name: 'name',
120
+ type: 'string',
121
+ placeholder: 'e.g. my_index',
122
+ },
123
+ ],
124
+ };
125
+ const embeddingField = {
126
+ displayName: 'Embedding Field Key',
127
+ name: 'embedding',
128
+ type: 'string',
129
+ default: 'embedding',
130
+ description: 'The field with the embedding array',
131
+ required: true,
132
+ };
133
+ const textField = {
134
+ displayName: 'Text Field Key',
135
+ name: 'textFieldKey',
136
+ type: 'string',
137
+ default: 'text',
138
+ description: 'The field with the raw (text) data',
139
+ required: true,
140
+ };
141
+ const sharedFields = [
142
+ couchbaseBucketRL,
143
+ couchbaseScopeRL,
144
+ couchbaseCollectionRL,
145
+ useScopedIndex,
146
+ vectorIndexRL,
147
+ embeddingField,
148
+ textField,
149
+ ];
150
+ const retrieveFields = [
151
+ {
152
+ displayName: 'Options',
153
+ name: 'options',
154
+ type: 'collection',
155
+ placeholder: 'Add Option',
156
+ default: {},
157
+ options: [sharedFields_1.metadataFilterField],
158
+ },
159
+ ];
160
+ const insertFields = [
161
+ {
162
+ displayName: 'Options',
163
+ name: 'options',
164
+ type: 'collection',
165
+ placeholder: 'Add Option',
166
+ default: {},
167
+ options: [
168
+ {
169
+ displayName: 'Add Vector Options',
170
+ name: 'addVectorOptions',
171
+ type: 'fixedCollection',
172
+ default: {},
173
+ description: 'Options for adding vectors with specific ID and metadata',
174
+ options: [
175
+ {
176
+ name: 'values',
177
+ displayName: 'Values',
178
+ values: [
179
+ {
180
+ displayName: 'IDs',
181
+ name: 'ids',
182
+ type: 'string',
183
+ default: '',
184
+ description: 'Comma-separated list of IDs for the vectors',
185
+ placeholder: 'id1,id2,id3',
186
+ },
187
+ {
188
+ displayName: 'Metadata',
189
+ name: 'metadata',
190
+ type: 'json',
191
+ validateType: 'array',
192
+ default: '',
193
+ description: 'Array of metadata objects to attach to the vectors',
194
+ },
195
+ ],
196
+ },
197
+ ],
198
+ },
199
+ ],
200
+ },
201
+ ];
202
+ function getCommonNodeParameters(context, itemIndex) {
203
+ const couchbaseBucketName = context.getNodeParameter('couchbaseBucket', itemIndex, '', {
204
+ extractValue: true,
205
+ });
206
+ const couchbaseScopeName = context.getNodeParameter('couchbaseScope', itemIndex, '', {
207
+ extractValue: true,
208
+ });
209
+ const couchbaseCollectionName = context.getNodeParameter('couchbaseCollection', itemIndex, '', {
210
+ extractValue: true,
211
+ });
212
+ const isUseScopedIndex = context.getNodeParameter('useScopedIndex', itemIndex, '');
213
+ const couchbaseVectorIndexName = context.getNodeParameter('vectorIndexName', itemIndex, '', {
214
+ extractValue: true,
215
+ });
216
+ const embeddingFieldName = context.getNodeParameter('embedding', itemIndex, '', {
217
+ extractValue: true,
218
+ });
219
+ const textFieldName = context.getNodeParameter('textFieldKey', itemIndex, '', {
220
+ extractValue: true,
221
+ });
222
+ return {
223
+ couchbaseBucketName,
224
+ couchbaseScopeName,
225
+ couchbaseCollectionName,
226
+ isUseScopedIndex,
227
+ couchbaseVectorIndexName,
228
+ embeddingFieldName,
229
+ textFieldName,
230
+ };
231
+ }
232
+ class VectorStoreCouchbaseSearch extends (0, createVectorStoreNode_1.createVectorStoreNode)({
233
+ meta: {
234
+ displayName: 'Couchbase Search Vector Store',
235
+ name: 'vectorStoreCouchbaseSearch',
236
+ description: 'Work with your data using the Couchbase Search Vector Store. This node conducts vector retrievals using the Search service.',
237
+ icon: {
238
+ light: 'file:../../icons/couchbase.svg',
239
+ dark: 'file:../../icons/couchbase.dark.svg',
240
+ },
241
+ docsUrl: 'https://github.com/Couchbase-Ecosystem/n8n-nodes-couchbase/blob/master/nodes/vector_store/VectorStoreCouchbaseSearch/README.md',
242
+ credentials: [
243
+ {
244
+ name: 'couchbaseApi',
245
+ required: true,
246
+ },
247
+ ],
248
+ operationModes: ['load', 'insert', 'retrieve', 'update', 'retrieve-as-tool'],
249
+ },
250
+ methods: {
251
+ listSearch: {
252
+ populateCouchbaseBucketRL: populateCouchbaseRLs_1.populateCouchbaseBucketRL,
253
+ populateCouchbaseScopeRL: populateCouchbaseRLs_1.populateCouchbaseScopeRL,
254
+ populateCouchbaseCollectionRL: populateCouchbaseRLs_1.populateCouchbaseCollectionRL,
255
+ populateCouchbaseSearchIndexesRL: populateCouchbaseRLs_1.populateCouchbaseSearchIndexesRL,
256
+ },
257
+ },
258
+ retrieveFields,
259
+ loadFields: retrieveFields,
260
+ insertFields,
261
+ sharedFields,
262
+ async getVectorStoreClient(context, _filter, embeddings, itemIndex) {
263
+ try {
264
+ const { couchbaseBucketName, couchbaseScopeName, couchbaseCollectionName, isUseScopedIndex, couchbaseVectorIndexName, embeddingFieldName, textFieldName, } = getCommonNodeParameters(context, itemIndex);
265
+ const { cluster } = await (0, connectToCouchbase_1.connectToCouchbase)(context);
266
+ await (0, validateBucketScopeCollection_1.validateBucketScopeCollection)(context, couchbaseBucketName, couchbaseScopeName, couchbaseCollectionName);
267
+ const couchbaseConfig = {
268
+ cluster,
269
+ bucketName: couchbaseBucketName,
270
+ scopeName: couchbaseScopeName,
271
+ collectionName: couchbaseCollectionName,
272
+ indexName: couchbaseVectorIndexName,
273
+ textKey: textFieldName,
274
+ embeddingKey: embeddingFieldName,
275
+ scopedIndex: isUseScopedIndex,
276
+ };
277
+ return couchbase_1.CouchbaseVectorStore.initialize(embeddings, couchbaseConfig);
278
+ }
279
+ catch (error) {
280
+ if (!(error instanceof n8n_workflow_1.NodeOperationError)) {
281
+ throw new n8n_workflow_1.NodeOperationError(context.getNode(), `Error: ${error.message}`);
282
+ }
283
+ throw error;
284
+ }
285
+ },
286
+ async populateVectorStore(context, embeddings, documents, itemIndex) {
287
+ try {
288
+ const { couchbaseBucketName, couchbaseScopeName, couchbaseCollectionName, isUseScopedIndex, couchbaseVectorIndexName, embeddingFieldName, textFieldName, } = getCommonNodeParameters(context, itemIndex);
289
+ const { cluster } = await (0, connectToCouchbase_1.connectToCouchbase)(context);
290
+ await (0, validateBucketScopeCollection_1.validateBucketScopeCollection)(context, couchbaseBucketName, couchbaseScopeName, couchbaseCollectionName);
291
+ const couchbaseConfig = {
292
+ cluster,
293
+ bucketName: couchbaseBucketName,
294
+ scopeName: couchbaseScopeName,
295
+ collectionName: couchbaseCollectionName,
296
+ indexName: couchbaseVectorIndexName,
297
+ textKey: textFieldName,
298
+ embeddingKey: embeddingFieldName,
299
+ scopedIndex: isUseScopedIndex,
300
+ };
301
+ const options = context.getNodeParameter('options', itemIndex, {});
302
+ if (options.addVectorOptions) {
303
+ const vectorOptions = options.addVectorOptions.values;
304
+ if (vectorOptions) {
305
+ const idsString = vectorOptions.ids;
306
+ const ids = idsString ? idsString.split(',').map((id) => id.trim()) : undefined;
307
+ let metadata;
308
+ try {
309
+ const metadataString = vectorOptions.metadata;
310
+ metadata = metadataString ? JSON.parse(metadataString) : undefined;
311
+ }
312
+ catch (error) {
313
+ throw new n8n_workflow_1.NodeOperationError(context.getNode(), 'Invalid metadata JSON format');
314
+ }
315
+ if (ids || metadata) {
316
+ couchbaseConfig.addVectorOptions = {
317
+ ids,
318
+ metadata,
319
+ };
320
+ }
321
+ }
322
+ }
323
+ await couchbase_1.CouchbaseVectorStore.fromDocuments(documents, embeddings, couchbaseConfig);
324
+ }
325
+ catch (error) {
326
+ if (!(error instanceof n8n_workflow_1.NodeOperationError)) {
327
+ throw new n8n_workflow_1.NodeOperationError(context.getNode(), `Error: ${error.message}`);
328
+ }
329
+ throw error;
330
+ }
331
+ },
332
+ }) {
333
+ }
334
+ exports.VectorStoreCouchbaseSearch = VectorStoreCouchbaseSearch;
335
+ //# sourceMappingURL=VectorStoreCouchbaseSearch.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VectorStoreCouchbaseSearch.node.js","sourceRoot":"","sources":["../../../../nodes/vector_store/VectorStoreCouchbaseSearch/VectorStoreCouchbaseSearch.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { INodePropertyOptions } from 'n8n-workflow';
2
+ import type { NodeOperationMode } from './types';
3
+ export declare const DEFAULT_OPERATION_MODES: NodeOperationMode[];
4
+ export declare const OPERATION_MODE_DESCRIPTIONS: INodePropertyOptions[];
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OPERATION_MODE_DESCRIPTIONS = exports.DEFAULT_OPERATION_MODES = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ exports.DEFAULT_OPERATION_MODES = [
6
+ 'load',
7
+ 'insert',
8
+ 'retrieve',
9
+ 'retrieve-as-tool',
10
+ ];
11
+ exports.OPERATION_MODE_DESCRIPTIONS = [
12
+ {
13
+ name: 'Get Many',
14
+ value: 'load',
15
+ description: 'Get many ranked documents from vector store for query',
16
+ action: 'Get ranked documents from vector store',
17
+ },
18
+ {
19
+ name: 'Insert Documents',
20
+ value: 'insert',
21
+ description: 'Insert documents into vector store',
22
+ action: 'Add documents to vector store',
23
+ },
24
+ {
25
+ name: 'Retrieve Documents (As Vector Store for Chain/Tool)',
26
+ value: 'retrieve',
27
+ description: 'Retrieve documents from vector store to be used as vector store with AI nodes',
28
+ action: 'Retrieve documents for Chain/Tool as Vector Store',
29
+ outputConnectionType: n8n_workflow_1.NodeConnectionTypes.AiVectorStore,
30
+ },
31
+ {
32
+ name: 'Retrieve Documents (As Tool for AI Agent)',
33
+ value: 'retrieve-as-tool',
34
+ description: 'Retrieve documents from vector store to be used as tool with AI nodes',
35
+ action: 'Retrieve documents for AI Agent as Tool',
36
+ outputConnectionType: n8n_workflow_1.NodeConnectionTypes.AiTool,
37
+ },
38
+ {
39
+ name: 'Update Documents',
40
+ value: 'update',
41
+ description: 'Update documents in vector store by ID',
42
+ action: 'Update vector store documents',
43
+ },
44
+ ];
45
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../nodes/vector_store/shared/createVectorStoreNode/constants.ts"],"names":[],"mappings":";;;AAAA,+CAAmD;AAKtC,QAAA,uBAAuB,GAAwB;IAC3D,MAAM;IACN,QAAQ;IACR,UAAU;IACV,kBAAkB;CAClB,CAAC;AAEW,QAAA,2BAA2B,GAA2B;IAClE;QACC,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,uDAAuD;QACpE,MAAM,EAAE,wCAAwC;KAChD;IACD;QACC,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,oCAAoC;QACjD,MAAM,EAAE,+BAA+B;KACvC;IACD;QACC,IAAI,EAAE,qDAAqD;QAC3D,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,+EAA+E;QAC5F,MAAM,EAAE,mDAAmD;QAC3D,oBAAoB,EAAE,kCAAmB,CAAC,aAAa;KACvD;IACD;QACC,IAAI,EAAE,2CAA2C;QACjD,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,uEAAuE;QACpF,MAAM,EAAE,yCAAyC;QACjD,oBAAoB,EAAE,kCAAmB,CAAC,MAAM;KAChD;IACD;QACC,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,wCAAwC;QACrD,MAAM,EAAE,+BAA+B;KACvC;CACD,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { VectorStore } from '@langchain/core/vectorstores';
2
+ import type { IExecuteFunctions, INodeExecutionData, INodeTypeDescription, SupplyData, ISupplyDataFunctions } from 'n8n-workflow';
3
+ import type { VectorStoreNodeConstructorArgs } from './types';
4
+ export declare const createVectorStoreNode: <T extends VectorStore = VectorStore>(args: VectorStoreNodeConstructorArgs<T>) => {
5
+ new (): {
6
+ description: INodeTypeDescription;
7
+ methods: {
8
+ listSearch?: {
9
+ [key: string]: (this: import("n8n-workflow").ILoadOptionsFunctions, filter?: string, paginationToken?: string) => Promise<import("n8n-workflow").INodeListSearchResult>;
10
+ };
11
+ } | undefined;
12
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
13
+ supplyData(this: ISupplyDataFunctions, itemIndex: number): Promise<SupplyData>;
14
+ };
15
+ };
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createVectorStoreNode = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ const sharedFields_1 = require("../../../../utils/sharedFields");
6
+ const operations_1 = require("./operations");
7
+ const utils_1 = require("./utils");
8
+ const createVectorStoreNode = (args) => class VectorStoreNodeType {
9
+ constructor() {
10
+ var _a, _b, _c, _d;
11
+ this.description = {
12
+ displayName: args.meta.displayName,
13
+ name: args.meta.name,
14
+ description: args.meta.description,
15
+ icon: args.meta.icon,
16
+ iconColor: args.meta.iconColor,
17
+ group: ['transform'],
18
+ version: [1, 1.1],
19
+ defaults: {
20
+ name: args.meta.displayName,
21
+ },
22
+ codex: {
23
+ categories: ['AI'],
24
+ subcategories: {
25
+ AI: ['Vector Stores', 'Tools', 'Root Nodes'],
26
+ Tools: ['Other Tools'],
27
+ },
28
+ resources: {
29
+ primaryDocumentation: [
30
+ {
31
+ url: args.meta.docsUrl,
32
+ },
33
+ ],
34
+ },
35
+ },
36
+ credentials: args.meta.credentials,
37
+ inputs: `={{
38
+ ((parameters) => {
39
+ const mode = parameters?.mode;
40
+ const inputs = [{ displayName: "Embedding", type: "${n8n_workflow_1.NodeConnectionTypes.AiEmbedding}", required: true, maxConnections: 1}]
41
+
42
+ if (mode === 'retrieve-as-tool') {
43
+ return inputs;
44
+ }
45
+
46
+ if (['insert', 'load', 'update'].includes(mode)) {
47
+ inputs.push({ displayName: "", type: "${n8n_workflow_1.NodeConnectionTypes.Main}"})
48
+ }
49
+
50
+ if (['insert'].includes(mode)) {
51
+ inputs.push({ displayName: "Document", type: "${n8n_workflow_1.NodeConnectionTypes.AiDocument}", required: true, maxConnections: 1})
52
+ }
53
+ return inputs
54
+ })($parameter)
55
+ }}`,
56
+ outputs: `={{
57
+ ((parameters) => {
58
+ const mode = parameters?.mode ?? 'retrieve';
59
+
60
+ if (mode === 'retrieve-as-tool') {
61
+ return [{ displayName: "Tool", type: "${n8n_workflow_1.NodeConnectionTypes.AiTool}"}]
62
+ }
63
+
64
+ if (mode === 'retrieve') {
65
+ return [{ displayName: "Vector Store", type: "${n8n_workflow_1.NodeConnectionTypes.AiVectorStore}"}]
66
+ }
67
+ return [{ displayName: "", type: "${n8n_workflow_1.NodeConnectionTypes.Main}"}]
68
+ })($parameter)
69
+ }}`,
70
+ properties: [
71
+ {
72
+ displayName: 'Operation Mode',
73
+ name: 'mode',
74
+ type: 'options',
75
+ noDataExpression: true,
76
+ default: '',
77
+ options: (0, utils_1.getOperationModeOptions)(args),
78
+ },
79
+ {
80
+ ...(0, sharedFields_1.getConnectionHintNoticeField)([n8n_workflow_1.NodeConnectionTypes.AiRetriever]),
81
+ displayOptions: {
82
+ show: {
83
+ mode: ['retrieve'],
84
+ },
85
+ },
86
+ },
87
+ {
88
+ displayName: 'Name',
89
+ name: 'toolName',
90
+ type: 'string',
91
+ default: '',
92
+ required: true,
93
+ description: 'Name of the vector store',
94
+ placeholder: 'e.g. company_knowledge_base',
95
+ validateType: 'string-alphanumeric',
96
+ displayOptions: {
97
+ show: {
98
+ mode: ['retrieve-as-tool'],
99
+ },
100
+ },
101
+ },
102
+ {
103
+ displayName: 'Description',
104
+ name: 'toolDescription',
105
+ type: 'string',
106
+ default: '',
107
+ required: true,
108
+ typeOptions: { rows: 2 },
109
+ description: 'Explain to the LLM what this tool does, a good, specific description would allow LLMs to produce expected results much more often',
110
+ placeholder: `e.g. ${args.meta.description}`,
111
+ displayOptions: {
112
+ show: {
113
+ mode: ['retrieve-as-tool'],
114
+ },
115
+ },
116
+ },
117
+ ...args.sharedFields,
118
+ {
119
+ displayName: 'Embedding Batch Size',
120
+ name: 'embeddingBatchSize',
121
+ type: 'number',
122
+ default: 200,
123
+ description: 'Number of documents to embed in a single batch',
124
+ displayOptions: {
125
+ show: {
126
+ mode: ['insert'],
127
+ '@version': [{ _cnd: { gte: 1.1 } }],
128
+ },
129
+ },
130
+ },
131
+ ...(0, utils_1.transformDescriptionForOperationMode)((_a = args.insertFields) !== null && _a !== void 0 ? _a : [], 'insert'),
132
+ {
133
+ displayName: 'Prompt',
134
+ name: 'prompt',
135
+ type: 'string',
136
+ default: '',
137
+ required: true,
138
+ description: 'Search prompt to retrieve matching documents from the vector store using similarity-based ranking',
139
+ displayOptions: {
140
+ show: {
141
+ mode: ['load'],
142
+ },
143
+ },
144
+ },
145
+ {
146
+ displayName: 'Limit',
147
+ name: 'topK',
148
+ type: 'number',
149
+ default: 4,
150
+ description: 'Number of top results to fetch from vector store',
151
+ displayOptions: {
152
+ show: {
153
+ mode: ['load', 'retrieve-as-tool'],
154
+ },
155
+ },
156
+ },
157
+ {
158
+ displayName: 'Include Metadata',
159
+ name: 'includeDocumentMetadata',
160
+ type: 'boolean',
161
+ default: true,
162
+ description: 'Whether or not to include document metadata',
163
+ displayOptions: {
164
+ show: {
165
+ mode: ['load', 'retrieve-as-tool'],
166
+ },
167
+ },
168
+ },
169
+ {
170
+ displayName: 'ID',
171
+ name: 'id',
172
+ type: 'string',
173
+ default: '',
174
+ required: true,
175
+ description: 'ID of an embedding entry',
176
+ displayOptions: {
177
+ show: {
178
+ mode: ['update'],
179
+ },
180
+ },
181
+ },
182
+ ...(0, utils_1.transformDescriptionForOperationMode)((_b = args.loadFields) !== null && _b !== void 0 ? _b : [], [
183
+ 'load',
184
+ 'retrieve-as-tool',
185
+ ]),
186
+ ...(0, utils_1.transformDescriptionForOperationMode)((_c = args.retrieveFields) !== null && _c !== void 0 ? _c : [], 'retrieve'),
187
+ ...(0, utils_1.transformDescriptionForOperationMode)((_d = args.updateFields) !== null && _d !== void 0 ? _d : [], 'update'),
188
+ ],
189
+ };
190
+ this.methods = args.methods;
191
+ }
192
+ async execute() {
193
+ const mode = this.getNodeParameter('mode', 0);
194
+ const embeddings = (await this.getInputConnectionData(n8n_workflow_1.NodeConnectionTypes.AiEmbedding, 0));
195
+ if (mode === 'load') {
196
+ const items = this.getInputData(0);
197
+ const resultData = [];
198
+ for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {
199
+ const docs = await (0, operations_1.handleLoadOperation)(this, args, embeddings, itemIndex);
200
+ resultData.push(...docs);
201
+ }
202
+ return [resultData];
203
+ }
204
+ if (mode === 'insert') {
205
+ const resultData = await (0, operations_1.handleInsertOperation)(this, args, embeddings);
206
+ return [resultData];
207
+ }
208
+ if (mode === 'update') {
209
+ const resultData = await (0, operations_1.handleUpdateOperation)(this, args, embeddings);
210
+ return [resultData];
211
+ }
212
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Only the "load", "update" and "insert" operation modes are supported with execute');
213
+ }
214
+ async supplyData(itemIndex) {
215
+ const mode = this.getNodeParameter('mode', 0);
216
+ const embeddings = (await this.getInputConnectionData(n8n_workflow_1.NodeConnectionTypes.AiEmbedding, 0));
217
+ if (mode === 'retrieve') {
218
+ return await (0, operations_1.handleRetrieveOperation)(this, args, embeddings, itemIndex);
219
+ }
220
+ if (mode === 'retrieve-as-tool') {
221
+ return await (0, operations_1.handleRetrieveAsToolOperation)(this, args, embeddings, itemIndex);
222
+ }
223
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Only the "retrieve" and "retrieve-as-tool" operation mode is supported to supply data');
224
+ }
225
+ };
226
+ exports.createVectorStoreNode = createVectorStoreNode;
227
+ //# sourceMappingURL=createVectorStoreNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createVectorStoreNode.js","sourceRoot":"","sources":["../../../../../nodes/vector_store/shared/createVectorStoreNode/createVectorStoreNode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from './loadOperation';
2
+ export * from './insertOperation';
3
+ export * from './updateOperation';
4
+ export * from './retrieveOperation';
5
+ export * from './retrieveAsToolOperation';