n8n-nodes-minimemory 0.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.
- package/README.md +204 -0
- package/dist/credentials/MinimemoryConfig.credentials.d.ts +8 -0
- package/dist/credentials/MinimemoryConfig.credentials.d.ts.map +1 -0
- package/dist/credentials/MinimemoryConfig.credentials.js +40 -0
- package/dist/credentials/MinimemoryConfig.credentials.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/nodes/Minimemory/Minimemory.node.d.ts +6 -0
- package/dist/nodes/Minimemory/Minimemory.node.d.ts.map +1 -0
- package/dist/nodes/Minimemory/Minimemory.node.js +672 -0
- package/dist/nodes/Minimemory/Minimemory.node.js.map +1 -0
- package/dist/nodes/Minimemory/VectorDB.d.ts +129 -0
- package/dist/nodes/Minimemory/VectorDB.d.ts.map +1 -0
- package/dist/nodes/Minimemory/VectorDB.js +386 -0
- package/dist/nodes/Minimemory/VectorDB.js.map +1 -0
- package/dist/nodes/Minimemory/minimemory.svg +23 -0
- package/package.json +61 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Minimemory.node.js","sourceRoot":"","sources":["../../../nodes/Minimemory/Minimemory.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VectorDB - Complete JavaScript implementation of a vector database
|
|
3
|
+
*
|
|
4
|
+
* This is a pure TypeScript implementation that works without native bindings.
|
|
5
|
+
* Provides similarity search using cosine, euclidean, or dot product distance.
|
|
6
|
+
*/
|
|
7
|
+
export type DistanceMetric = 'cosine' | 'euclidean' | 'dot';
|
|
8
|
+
export type IndexType = 'flat' | 'hnsw';
|
|
9
|
+
export interface VectorDBOptions {
|
|
10
|
+
dimensions: number;
|
|
11
|
+
distance?: DistanceMetric;
|
|
12
|
+
indexType?: IndexType;
|
|
13
|
+
}
|
|
14
|
+
export interface SearchResult {
|
|
15
|
+
id: string;
|
|
16
|
+
distance: number;
|
|
17
|
+
similarity: number;
|
|
18
|
+
metadata?: Record<string, unknown>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* In-memory vector database
|
|
22
|
+
*/
|
|
23
|
+
export declare class VectorDB {
|
|
24
|
+
private vectors;
|
|
25
|
+
private readonly _dimensions;
|
|
26
|
+
private readonly _distance;
|
|
27
|
+
private readonly _indexType;
|
|
28
|
+
constructor(options: VectorDBOptions);
|
|
29
|
+
/**
|
|
30
|
+
* Configured number of dimensions
|
|
31
|
+
*/
|
|
32
|
+
get dimensions(): number;
|
|
33
|
+
/**
|
|
34
|
+
* Configured distance metric
|
|
35
|
+
*/
|
|
36
|
+
get distance(): DistanceMetric;
|
|
37
|
+
/**
|
|
38
|
+
* Configured index type
|
|
39
|
+
*/
|
|
40
|
+
get indexType(): IndexType;
|
|
41
|
+
/**
|
|
42
|
+
* Number of stored vectors
|
|
43
|
+
*/
|
|
44
|
+
get length(): number;
|
|
45
|
+
/**
|
|
46
|
+
* Computes the norm of a vector (for cosine optimization)
|
|
47
|
+
*/
|
|
48
|
+
private computeNorm;
|
|
49
|
+
/**
|
|
50
|
+
* Calculates the distance between two vectors using the configured metric
|
|
51
|
+
*/
|
|
52
|
+
private calculateDistance;
|
|
53
|
+
/**
|
|
54
|
+
* Inserts a vector with unique ID and optional metadata
|
|
55
|
+
*/
|
|
56
|
+
insert(id: string, vector: number[], metadata?: Record<string, unknown>): void;
|
|
57
|
+
/**
|
|
58
|
+
* Updates an existing vector or inserts a new one
|
|
59
|
+
*/
|
|
60
|
+
upsert(id: string, vector: number[], metadata?: Record<string, unknown>): void;
|
|
61
|
+
/**
|
|
62
|
+
* Searches for the k nearest neighbors to the query vector
|
|
63
|
+
*/
|
|
64
|
+
search(query: number[], k: number): SearchResult[];
|
|
65
|
+
/**
|
|
66
|
+
* Gets a vector by its ID
|
|
67
|
+
*/
|
|
68
|
+
get(id: string): {
|
|
69
|
+
vector: number[];
|
|
70
|
+
metadata: Record<string, unknown> | null;
|
|
71
|
+
} | null;
|
|
72
|
+
/**
|
|
73
|
+
* Deletes a vector by its ID
|
|
74
|
+
*/
|
|
75
|
+
delete(id: string): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Checks if a vector with the given ID exists
|
|
78
|
+
*/
|
|
79
|
+
contains(id: string): boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Removes all vectors
|
|
82
|
+
*/
|
|
83
|
+
clear(): void;
|
|
84
|
+
/**
|
|
85
|
+
* Gets all vector IDs
|
|
86
|
+
*/
|
|
87
|
+
getIds(): string[];
|
|
88
|
+
/**
|
|
89
|
+
* Saves the database to a JSON file
|
|
90
|
+
*/
|
|
91
|
+
save(filePath: string): void;
|
|
92
|
+
/**
|
|
93
|
+
* Loads a database from a JSON file
|
|
94
|
+
*/
|
|
95
|
+
static load(filePath: string): VectorDB;
|
|
96
|
+
/**
|
|
97
|
+
* Exports database statistics
|
|
98
|
+
*/
|
|
99
|
+
stats(): Record<string, unknown>;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Gets a database from cache or throws an error if not found
|
|
103
|
+
*/
|
|
104
|
+
export declare function getDB(name: string): VectorDB;
|
|
105
|
+
/**
|
|
106
|
+
* Creates a new database and adds it to the cache
|
|
107
|
+
*/
|
|
108
|
+
export declare function createDB(name: string, options: VectorDBOptions): VectorDB;
|
|
109
|
+
/**
|
|
110
|
+
* Gets an existing database or creates it if options are provided
|
|
111
|
+
*/
|
|
112
|
+
export declare function getOrCreateDB(name: string, options?: VectorDBOptions): VectorDB;
|
|
113
|
+
/**
|
|
114
|
+
* Loads a database from file and adds it to the cache
|
|
115
|
+
*/
|
|
116
|
+
export declare function loadDB(name: string, filePath: string): VectorDB;
|
|
117
|
+
/**
|
|
118
|
+
* Lists all databases in the cache
|
|
119
|
+
*/
|
|
120
|
+
export declare function listDBs(): string[];
|
|
121
|
+
/**
|
|
122
|
+
* Deletes a database from the cache
|
|
123
|
+
*/
|
|
124
|
+
export declare function deleteDB(name: string): boolean;
|
|
125
|
+
/**
|
|
126
|
+
* Clears the entire database cache
|
|
127
|
+
*/
|
|
128
|
+
export declare function clearCache(): void;
|
|
129
|
+
//# sourceMappingURL=VectorDB.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VectorDB.d.ts","sourceRoot":"","sources":["../../../nodes/Minimemory/VectorDB.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* VectorDB - Complete JavaScript implementation of a vector database
|
|
4
|
+
*
|
|
5
|
+
* This is a pure TypeScript implementation that works without native bindings.
|
|
6
|
+
* Provides similarity search using cosine, euclidean, or dot product distance.
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
+
}) : function(o, v) {
|
|
22
|
+
o["default"] = v;
|
|
23
|
+
});
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.VectorDB = void 0;
|
|
43
|
+
exports.getDB = getDB;
|
|
44
|
+
exports.createDB = createDB;
|
|
45
|
+
exports.getOrCreateDB = getOrCreateDB;
|
|
46
|
+
exports.loadDB = loadDB;
|
|
47
|
+
exports.listDBs = listDBs;
|
|
48
|
+
exports.deleteDB = deleteDB;
|
|
49
|
+
exports.clearCache = clearCache;
|
|
50
|
+
const fs = __importStar(require("fs"));
|
|
51
|
+
const path = __importStar(require("path"));
|
|
52
|
+
/**
|
|
53
|
+
* Calculates cosine distance between two vectors.
|
|
54
|
+
* Returns a value between 0 (identical) and 2 (opposite).
|
|
55
|
+
*/
|
|
56
|
+
function cosineDistance(a, b, normA, normB) {
|
|
57
|
+
let dot = 0;
|
|
58
|
+
let nA = normA !== null && normA !== void 0 ? normA : 0;
|
|
59
|
+
let nB = normB !== null && normB !== void 0 ? normB : 0;
|
|
60
|
+
const needNormA = normA === undefined;
|
|
61
|
+
const needNormB = normB === undefined;
|
|
62
|
+
for (let i = 0; i < a.length; i++) {
|
|
63
|
+
dot += a[i] * b[i];
|
|
64
|
+
if (needNormA)
|
|
65
|
+
nA += a[i] * a[i];
|
|
66
|
+
if (needNormB)
|
|
67
|
+
nB += b[i] * b[i];
|
|
68
|
+
}
|
|
69
|
+
if (needNormA)
|
|
70
|
+
nA = Math.sqrt(nA);
|
|
71
|
+
if (needNormB)
|
|
72
|
+
nB = Math.sqrt(nB);
|
|
73
|
+
const denom = nA * nB;
|
|
74
|
+
if (denom === 0)
|
|
75
|
+
return 1;
|
|
76
|
+
// Clamp to avoid floating point errors
|
|
77
|
+
const similarity = Math.max(-1, Math.min(1, dot / denom));
|
|
78
|
+
return 1 - similarity;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Calculates euclidean (L2) distance between two vectors.
|
|
82
|
+
*/
|
|
83
|
+
function euclideanDistance(a, b) {
|
|
84
|
+
let sum = 0;
|
|
85
|
+
for (let i = 0; i < a.length; i++) {
|
|
86
|
+
const diff = a[i] - b[i];
|
|
87
|
+
sum += diff * diff;
|
|
88
|
+
}
|
|
89
|
+
return Math.sqrt(sum);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Calculates dot product distance (negative so lower = more similar).
|
|
93
|
+
*/
|
|
94
|
+
function dotProductDistance(a, b) {
|
|
95
|
+
let dot = 0;
|
|
96
|
+
for (let i = 0; i < a.length; i++) {
|
|
97
|
+
dot += a[i] * b[i];
|
|
98
|
+
}
|
|
99
|
+
return -dot; // Negative so lower = more similar
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* In-memory vector database
|
|
103
|
+
*/
|
|
104
|
+
class VectorDB {
|
|
105
|
+
constructor(options) {
|
|
106
|
+
this.vectors = new Map();
|
|
107
|
+
this._dimensions = options.dimensions;
|
|
108
|
+
this._distance = options.distance || 'cosine';
|
|
109
|
+
this._indexType = options.indexType || 'flat';
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Configured number of dimensions
|
|
113
|
+
*/
|
|
114
|
+
get dimensions() {
|
|
115
|
+
return this._dimensions;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Configured distance metric
|
|
119
|
+
*/
|
|
120
|
+
get distance() {
|
|
121
|
+
return this._distance;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Configured index type
|
|
125
|
+
*/
|
|
126
|
+
get indexType() {
|
|
127
|
+
return this._indexType;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Number of stored vectors
|
|
131
|
+
*/
|
|
132
|
+
get length() {
|
|
133
|
+
return this.vectors.size;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Computes the norm of a vector (for cosine optimization)
|
|
137
|
+
*/
|
|
138
|
+
computeNorm(vector) {
|
|
139
|
+
let sum = 0;
|
|
140
|
+
for (let i = 0; i < vector.length; i++) {
|
|
141
|
+
sum += vector[i] * vector[i];
|
|
142
|
+
}
|
|
143
|
+
return Math.sqrt(sum);
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Calculates the distance between two vectors using the configured metric
|
|
147
|
+
*/
|
|
148
|
+
calculateDistance(a, b, normA, normB) {
|
|
149
|
+
switch (this._distance) {
|
|
150
|
+
case 'cosine':
|
|
151
|
+
return cosineDistance(a, b, normA, normB);
|
|
152
|
+
case 'euclidean':
|
|
153
|
+
return euclideanDistance(a, b);
|
|
154
|
+
case 'dot':
|
|
155
|
+
return dotProductDistance(a, b);
|
|
156
|
+
default:
|
|
157
|
+
return cosineDistance(a, b, normA, normB);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Inserts a vector with unique ID and optional metadata
|
|
162
|
+
*/
|
|
163
|
+
insert(id, vector, metadata) {
|
|
164
|
+
if (vector.length !== this._dimensions) {
|
|
165
|
+
throw new Error(`Dimension mismatch: expected ${this._dimensions}, got ${vector.length}`);
|
|
166
|
+
}
|
|
167
|
+
if (this.vectors.has(id)) {
|
|
168
|
+
throw new Error(`Vector with id "${id}" already exists. Use update() instead.`);
|
|
169
|
+
}
|
|
170
|
+
const norm = this._distance === 'cosine' ? this.computeNorm(vector) : undefined;
|
|
171
|
+
this.vectors.set(id, {
|
|
172
|
+
id,
|
|
173
|
+
vector: [...vector], // Copy to avoid external mutations
|
|
174
|
+
metadata: metadata || null,
|
|
175
|
+
norm,
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Updates an existing vector or inserts a new one
|
|
180
|
+
*/
|
|
181
|
+
upsert(id, vector, metadata) {
|
|
182
|
+
if (vector.length !== this._dimensions) {
|
|
183
|
+
throw new Error(`Dimension mismatch: expected ${this._dimensions}, got ${vector.length}`);
|
|
184
|
+
}
|
|
185
|
+
const norm = this._distance === 'cosine' ? this.computeNorm(vector) : undefined;
|
|
186
|
+
this.vectors.set(id, {
|
|
187
|
+
id,
|
|
188
|
+
vector: [...vector],
|
|
189
|
+
metadata: metadata || null,
|
|
190
|
+
norm,
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Searches for the k nearest neighbors to the query vector
|
|
195
|
+
*/
|
|
196
|
+
search(query, k) {
|
|
197
|
+
if (query.length !== this._dimensions) {
|
|
198
|
+
throw new Error(`Query dimension mismatch: expected ${this._dimensions}, got ${query.length}`);
|
|
199
|
+
}
|
|
200
|
+
if (this.vectors.size === 0) {
|
|
201
|
+
return [];
|
|
202
|
+
}
|
|
203
|
+
const queryNorm = this._distance === 'cosine' ? this.computeNorm(query) : undefined;
|
|
204
|
+
// Calculate distances to all vectors
|
|
205
|
+
const results = [];
|
|
206
|
+
for (const stored of this.vectors.values()) {
|
|
207
|
+
const distance = this.calculateDistance(query, stored.vector, queryNorm, stored.norm);
|
|
208
|
+
// Calculate similarity (1 - distance for cosine, inverse for others)
|
|
209
|
+
let similarity;
|
|
210
|
+
if (this._distance === 'cosine') {
|
|
211
|
+
similarity = 1 - distance;
|
|
212
|
+
}
|
|
213
|
+
else if (this._distance === 'dot') {
|
|
214
|
+
similarity = -distance; // Reverse the negation
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
similarity = 1 / (1 + distance); // Normalize euclidean
|
|
218
|
+
}
|
|
219
|
+
results.push({
|
|
220
|
+
id: stored.id,
|
|
221
|
+
distance,
|
|
222
|
+
similarity,
|
|
223
|
+
metadata: stored.metadata || undefined,
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
// Sort by distance (lower = more similar)
|
|
227
|
+
results.sort((a, b) => a.distance - b.distance);
|
|
228
|
+
// Return the k nearest neighbors
|
|
229
|
+
return results.slice(0, Math.min(k, results.length));
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Gets a vector by its ID
|
|
233
|
+
*/
|
|
234
|
+
get(id) {
|
|
235
|
+
const stored = this.vectors.get(id);
|
|
236
|
+
if (!stored) {
|
|
237
|
+
return null;
|
|
238
|
+
}
|
|
239
|
+
return {
|
|
240
|
+
vector: [...stored.vector],
|
|
241
|
+
metadata: stored.metadata,
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Deletes a vector by its ID
|
|
246
|
+
*/
|
|
247
|
+
delete(id) {
|
|
248
|
+
return this.vectors.delete(id);
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Checks if a vector with the given ID exists
|
|
252
|
+
*/
|
|
253
|
+
contains(id) {
|
|
254
|
+
return this.vectors.has(id);
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Removes all vectors
|
|
258
|
+
*/
|
|
259
|
+
clear() {
|
|
260
|
+
this.vectors.clear();
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Gets all vector IDs
|
|
264
|
+
*/
|
|
265
|
+
getIds() {
|
|
266
|
+
return Array.from(this.vectors.keys());
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Saves the database to a JSON file
|
|
270
|
+
*/
|
|
271
|
+
save(filePath) {
|
|
272
|
+
const data = {
|
|
273
|
+
version: '1.0.0',
|
|
274
|
+
dimensions: this._dimensions,
|
|
275
|
+
distance: this._distance,
|
|
276
|
+
indexType: this._indexType,
|
|
277
|
+
vectors: Array.from(this.vectors.values()),
|
|
278
|
+
};
|
|
279
|
+
// Create directory if it doesn't exist
|
|
280
|
+
const dir = path.dirname(filePath);
|
|
281
|
+
if (!fs.existsSync(dir)) {
|
|
282
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
283
|
+
}
|
|
284
|
+
fs.writeFileSync(filePath, JSON.stringify(data, null, 2), 'utf-8');
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Loads a database from a JSON file
|
|
288
|
+
*/
|
|
289
|
+
static load(filePath) {
|
|
290
|
+
if (!fs.existsSync(filePath)) {
|
|
291
|
+
throw new Error(`File not found: ${filePath}`);
|
|
292
|
+
}
|
|
293
|
+
const content = fs.readFileSync(filePath, 'utf-8');
|
|
294
|
+
const data = JSON.parse(content);
|
|
295
|
+
const db = new VectorDB({
|
|
296
|
+
dimensions: data.dimensions,
|
|
297
|
+
distance: data.distance,
|
|
298
|
+
indexType: data.indexType,
|
|
299
|
+
});
|
|
300
|
+
// Load vectors
|
|
301
|
+
for (const stored of data.vectors) {
|
|
302
|
+
db.vectors.set(stored.id, {
|
|
303
|
+
id: stored.id,
|
|
304
|
+
vector: stored.vector,
|
|
305
|
+
metadata: stored.metadata,
|
|
306
|
+
norm: stored.norm,
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
return db;
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Exports database statistics
|
|
313
|
+
*/
|
|
314
|
+
stats() {
|
|
315
|
+
return {
|
|
316
|
+
dimensions: this._dimensions,
|
|
317
|
+
distance: this._distance,
|
|
318
|
+
indexType: this._indexType,
|
|
319
|
+
vectorCount: this.vectors.size,
|
|
320
|
+
memoryEstimateMB: (this.vectors.size * this._dimensions * 4) / (1024 * 1024),
|
|
321
|
+
};
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
exports.VectorDB = VectorDB;
|
|
325
|
+
// Global cache of database instances
|
|
326
|
+
const dbCache = new Map();
|
|
327
|
+
/**
|
|
328
|
+
* Gets a database from cache or throws an error if not found
|
|
329
|
+
*/
|
|
330
|
+
function getDB(name) {
|
|
331
|
+
const db = dbCache.get(name);
|
|
332
|
+
if (!db) {
|
|
333
|
+
throw new Error(`Database "${name}" not found. Create it first with the "Create Database" operation.`);
|
|
334
|
+
}
|
|
335
|
+
return db;
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* Creates a new database and adds it to the cache
|
|
339
|
+
*/
|
|
340
|
+
function createDB(name, options) {
|
|
341
|
+
if (dbCache.has(name)) {
|
|
342
|
+
throw new Error(`Database "${name}" already exists.`);
|
|
343
|
+
}
|
|
344
|
+
const db = new VectorDB(options);
|
|
345
|
+
dbCache.set(name, db);
|
|
346
|
+
return db;
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Gets an existing database or creates it if options are provided
|
|
350
|
+
*/
|
|
351
|
+
function getOrCreateDB(name, options) {
|
|
352
|
+
if (dbCache.has(name)) {
|
|
353
|
+
return dbCache.get(name);
|
|
354
|
+
}
|
|
355
|
+
if (!options) {
|
|
356
|
+
throw new Error(`Database "${name}" not found. Create it first or provide options.`);
|
|
357
|
+
}
|
|
358
|
+
return createDB(name, options);
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Loads a database from file and adds it to the cache
|
|
362
|
+
*/
|
|
363
|
+
function loadDB(name, filePath) {
|
|
364
|
+
const db = VectorDB.load(filePath);
|
|
365
|
+
dbCache.set(name, db);
|
|
366
|
+
return db;
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Lists all databases in the cache
|
|
370
|
+
*/
|
|
371
|
+
function listDBs() {
|
|
372
|
+
return Array.from(dbCache.keys());
|
|
373
|
+
}
|
|
374
|
+
/**
|
|
375
|
+
* Deletes a database from the cache
|
|
376
|
+
*/
|
|
377
|
+
function deleteDB(name) {
|
|
378
|
+
return dbCache.delete(name);
|
|
379
|
+
}
|
|
380
|
+
/**
|
|
381
|
+
* Clears the entire database cache
|
|
382
|
+
*/
|
|
383
|
+
function clearCache() {
|
|
384
|
+
dbCache.clear();
|
|
385
|
+
}
|
|
386
|
+
//# sourceMappingURL=VectorDB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VectorDB.js","sourceRoot":"","sources":["../../../nodes/Minimemory/VectorDB.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
|
4
|
+
<stop offset="0%" style="stop-color:#6366f1;stop-opacity:1" />
|
|
5
|
+
<stop offset="100%" style="stop-color:#8b5cf6;stop-opacity:1" />
|
|
6
|
+
</linearGradient>
|
|
7
|
+
</defs>
|
|
8
|
+
<!-- Background circle -->
|
|
9
|
+
<circle cx="50" cy="50" r="45" fill="url(#grad)"/>
|
|
10
|
+
<!-- Vector points representing similarity search -->
|
|
11
|
+
<circle cx="30" cy="35" r="6" fill="#fff" opacity="0.9"/>
|
|
12
|
+
<circle cx="70" cy="30" r="6" fill="#fff" opacity="0.9"/>
|
|
13
|
+
<circle cx="50" cy="50" r="8" fill="#fff"/>
|
|
14
|
+
<circle cx="35" cy="70" r="6" fill="#fff" opacity="0.9"/>
|
|
15
|
+
<circle cx="65" cy="65" r="6" fill="#fff" opacity="0.9"/>
|
|
16
|
+
<!-- Connection lines -->
|
|
17
|
+
<line x1="30" y1="35" x2="50" y2="50" stroke="#fff" stroke-width="2" opacity="0.5"/>
|
|
18
|
+
<line x1="70" y1="30" x2="50" y2="50" stroke="#fff" stroke-width="2" opacity="0.5"/>
|
|
19
|
+
<line x1="35" y1="70" x2="50" y2="50" stroke="#fff" stroke-width="2" opacity="0.5"/>
|
|
20
|
+
<line x1="65" y1="65" x2="50" y2="50" stroke="#fff" stroke-width="2" opacity="0.5"/>
|
|
21
|
+
<!-- Memory chip element -->
|
|
22
|
+
<rect x="42" y="42" width="16" height="16" rx="2" fill="none" stroke="#fff" stroke-width="2"/>
|
|
23
|
+
</svg>
|
package/package.json
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "n8n-nodes-minimemory",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "n8n community node for embedded vector database - perform similarity search directly within n8n without external servers",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Mauricio Perera",
|
|
7
|
+
"email": "mauricio.perera@gmail.com"
|
|
8
|
+
},
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/MauricioPerera/n8n-nodes-minimemory.git"
|
|
12
|
+
},
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/MauricioPerera/n8n-nodes-minimemory/issues"
|
|
15
|
+
},
|
|
16
|
+
"homepage": "https://github.com/MauricioPerera/n8n-nodes-minimemory#readme",
|
|
17
|
+
"keywords": [
|
|
18
|
+
"n8n",
|
|
19
|
+
"n8n-community-node-package",
|
|
20
|
+
"vector",
|
|
21
|
+
"database",
|
|
22
|
+
"embedding",
|
|
23
|
+
"similarity",
|
|
24
|
+
"search"
|
|
25
|
+
],
|
|
26
|
+
"license": "MIT",
|
|
27
|
+
"main": "dist/index.js",
|
|
28
|
+
"scripts": {
|
|
29
|
+
"build": "tsc && shx cp nodes/Minimemory/*.svg dist/nodes/Minimemory/",
|
|
30
|
+
"dev": "tsc --watch",
|
|
31
|
+
"lint": "eslint nodes credentials --ext .ts",
|
|
32
|
+
"lintfix": "eslint nodes credentials --ext .ts --fix",
|
|
33
|
+
"prepublishOnly": "npm run build && npm run lint",
|
|
34
|
+
"release": "npm run build && npm publish --access public"
|
|
35
|
+
},
|
|
36
|
+
"n8n": {
|
|
37
|
+
"n8nNodesApiVersion": 1,
|
|
38
|
+
"nodes": [
|
|
39
|
+
"dist/nodes/Minimemory/Minimemory.node.js"
|
|
40
|
+
],
|
|
41
|
+
"credentials": [
|
|
42
|
+
"dist/credentials/MinimemoryConfig.credentials.js"
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
"files": [
|
|
46
|
+
"dist"
|
|
47
|
+
],
|
|
48
|
+
"dependencies": {},
|
|
49
|
+
"devDependencies": {
|
|
50
|
+
"@types/node": "^20.0.0",
|
|
51
|
+
"@typescript-eslint/parser": "^8.0.0",
|
|
52
|
+
"eslint": "^8.57.0",
|
|
53
|
+
"eslint-plugin-n8n-nodes-base": "^1.16.0",
|
|
54
|
+
"n8n-workflow": "^1.0.0",
|
|
55
|
+
"shx": "^0.3.4",
|
|
56
|
+
"typescript": "^5.3.0"
|
|
57
|
+
},
|
|
58
|
+
"peerDependencies": {
|
|
59
|
+
"n8n-workflow": "*"
|
|
60
|
+
}
|
|
61
|
+
}
|