@soulcraft/brainy 0.48.0 → 0.50.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 +304 -555
- package/dist/brainyData.d.ts +83 -2
- package/dist/brainyData.js +536 -66
- package/dist/brainyData.js.map +1 -1
- package/dist/coreTypes.d.ts +74 -12
- package/dist/distributed/configManager.d.ts +9 -0
- package/dist/distributed/configManager.js +129 -10
- package/dist/distributed/configManager.js.map +1 -1
- package/dist/hnsw/hnswIndex.d.ts +1 -1
- package/dist/hnsw/hnswIndex.js +44 -25
- package/dist/hnsw/hnswIndex.js.map +1 -1
- package/dist/hnsw/optimizedHNSWIndex.d.ts +1 -1
- package/dist/hnsw/optimizedHNSWIndex.js +3 -3
- package/dist/hnsw/optimizedHNSWIndex.js.map +1 -1
- package/dist/storage/adapters/baseStorageAdapter.d.ts +18 -2
- package/dist/storage/adapters/baseStorageAdapter.js +69 -4
- package/dist/storage/adapters/baseStorageAdapter.js.map +1 -1
- package/dist/storage/adapters/fileSystemStorage.d.ts +14 -8
- package/dist/storage/adapters/fileSystemStorage.js +90 -22
- package/dist/storage/adapters/fileSystemStorage.js.map +1 -1
- package/dist/storage/adapters/memoryStorage.d.ts +0 -8
- package/dist/storage/adapters/memoryStorage.js +26 -45
- package/dist/storage/adapters/memoryStorage.js.map +1 -1
- package/dist/storage/adapters/opfsStorage.d.ts +40 -8
- package/dist/storage/adapters/opfsStorage.js +195 -44
- package/dist/storage/adapters/opfsStorage.js.map +1 -1
- package/dist/storage/adapters/optimizedS3Search.js +4 -3
- package/dist/storage/adapters/optimizedS3Search.js.map +1 -1
- package/dist/storage/adapters/s3CompatibleStorage.d.ts +3 -10
- package/dist/storage/adapters/s3CompatibleStorage.js +41 -44
- package/dist/storage/adapters/s3CompatibleStorage.js.map +1 -1
- package/dist/storage/backwardCompatibility.d.ts +84 -0
- package/dist/storage/backwardCompatibility.js +141 -0
- package/dist/storage/backwardCompatibility.js.map +1 -0
- package/dist/storage/baseStorage.d.ts +33 -19
- package/dist/storage/baseStorage.js +116 -195
- package/dist/storage/baseStorage.js.map +1 -1
- package/dist/utils/metadataFilter.d.ts +79 -0
- package/dist/utils/metadataFilter.js +229 -0
- package/dist/utils/metadataFilter.js.map +1 -0
- package/dist/utils/metadataIndex.d.ts +148 -0
- package/dist/utils/metadataIndex.js +639 -0
- package/dist/utils/metadataIndex.js.map +1 -0
- package/dist/utils/metadataIndexCache.d.ts +60 -0
- package/dist/utils/metadataIndexCache.js +119 -0
- package/dist/utils/metadataIndexCache.js.map +1 -0
- package/package.json +1 -1
package/dist/coreTypes.d.ts
CHANGED
|
@@ -130,6 +130,51 @@ export interface HNSWConfig {
|
|
|
130
130
|
/**
|
|
131
131
|
* Statistics data structure for tracking counts by service
|
|
132
132
|
*/
|
|
133
|
+
/**
|
|
134
|
+
* Per-service statistics tracking
|
|
135
|
+
*/
|
|
136
|
+
export interface ServiceStatistics {
|
|
137
|
+
/**
|
|
138
|
+
* Service name
|
|
139
|
+
*/
|
|
140
|
+
name: string;
|
|
141
|
+
/**
|
|
142
|
+
* Total number of nouns created by this service
|
|
143
|
+
*/
|
|
144
|
+
totalNouns: number;
|
|
145
|
+
/**
|
|
146
|
+
* Total number of verbs created by this service
|
|
147
|
+
*/
|
|
148
|
+
totalVerbs: number;
|
|
149
|
+
/**
|
|
150
|
+
* Total number of metadata entries created by this service
|
|
151
|
+
*/
|
|
152
|
+
totalMetadata: number;
|
|
153
|
+
/**
|
|
154
|
+
* First activity timestamp for this service
|
|
155
|
+
*/
|
|
156
|
+
firstActivity?: string;
|
|
157
|
+
/**
|
|
158
|
+
* Last activity timestamp for this service
|
|
159
|
+
*/
|
|
160
|
+
lastActivity?: string;
|
|
161
|
+
/**
|
|
162
|
+
* Error count for this service
|
|
163
|
+
*/
|
|
164
|
+
errorCount?: number;
|
|
165
|
+
/**
|
|
166
|
+
* Operation breakdown for this service
|
|
167
|
+
*/
|
|
168
|
+
operations?: {
|
|
169
|
+
adds: number;
|
|
170
|
+
updates: number;
|
|
171
|
+
deletes: number;
|
|
172
|
+
};
|
|
173
|
+
/**
|
|
174
|
+
* Status of the service (active, inactive, read-only)
|
|
175
|
+
*/
|
|
176
|
+
status?: 'active' | 'inactive' | 'read-only';
|
|
177
|
+
}
|
|
133
178
|
export interface StatisticsData {
|
|
134
179
|
/**
|
|
135
180
|
* Count of nouns by service
|
|
@@ -227,21 +272,32 @@ export interface StatisticsData {
|
|
|
227
272
|
verbTypes: Record<string, number>;
|
|
228
273
|
averageConnectionsPerVerb: number;
|
|
229
274
|
};
|
|
275
|
+
/**
|
|
276
|
+
* Service-level activity timestamps
|
|
277
|
+
*/
|
|
278
|
+
serviceActivity?: Record<string, {
|
|
279
|
+
firstActivity: string;
|
|
280
|
+
lastActivity: string;
|
|
281
|
+
totalOperations: number;
|
|
282
|
+
}>;
|
|
283
|
+
/**
|
|
284
|
+
* List of all services that have written data
|
|
285
|
+
*/
|
|
286
|
+
services?: ServiceStatistics[];
|
|
230
287
|
/**
|
|
231
288
|
* Last updated timestamp
|
|
232
289
|
*/
|
|
233
290
|
lastUpdated: string;
|
|
291
|
+
/**
|
|
292
|
+
* Distributed configuration (stored in index folder for easy access)
|
|
293
|
+
* This is used for distributed Brainy instances coordination
|
|
294
|
+
*/
|
|
295
|
+
distributedConfig?: import('./types/distributedTypes.js').SharedConfig;
|
|
234
296
|
}
|
|
235
297
|
export interface StorageAdapter {
|
|
236
298
|
init(): Promise<void>;
|
|
237
299
|
saveNoun(noun: HNSWNoun): Promise<void>;
|
|
238
300
|
getNoun(id: string): Promise<HNSWNoun | null>;
|
|
239
|
-
/**
|
|
240
|
-
* Get all nouns from storage
|
|
241
|
-
* @deprecated Use getNouns() with pagination instead for better scalability
|
|
242
|
-
* @returns Promise that resolves to an array of all nouns
|
|
243
|
-
*/
|
|
244
|
-
getAllNouns(): Promise<HNSWNoun[]>;
|
|
245
301
|
/**
|
|
246
302
|
* Get nouns with pagination and filtering
|
|
247
303
|
* @param options Pagination and filtering options
|
|
@@ -274,12 +330,6 @@ export interface StorageAdapter {
|
|
|
274
330
|
deleteNoun(id: string): Promise<void>;
|
|
275
331
|
saveVerb(verb: GraphVerb): Promise<void>;
|
|
276
332
|
getVerb(id: string): Promise<GraphVerb | null>;
|
|
277
|
-
/**
|
|
278
|
-
* Get all verbs from storage
|
|
279
|
-
* @deprecated Use getVerbs() with pagination instead for better scalability
|
|
280
|
-
* @returns Promise that resolves to an array of all verbs
|
|
281
|
-
*/
|
|
282
|
-
getAllVerbs(): Promise<GraphVerb[]>;
|
|
283
333
|
/**
|
|
284
334
|
* Get verbs with pagination and filtering
|
|
285
335
|
* @param options Pagination and filtering options
|
|
@@ -421,4 +471,16 @@ export interface StorageAdapter {
|
|
|
421
471
|
* @returns Promise that resolves to an array of changes
|
|
422
472
|
*/
|
|
423
473
|
getChangesSince?(timestamp: number, limit?: number): Promise<any[]>;
|
|
474
|
+
/**
|
|
475
|
+
* Get all nouns from storage
|
|
476
|
+
* @returns Promise that resolves to an array of all nouns
|
|
477
|
+
* @deprecated This method loads all data into memory and may cause performance issues. Use getNouns() with pagination instead.
|
|
478
|
+
*/
|
|
479
|
+
getAllNouns(): Promise<HNSWNoun[]>;
|
|
480
|
+
/**
|
|
481
|
+
* Get all verbs from storage
|
|
482
|
+
* @returns Promise that resolves to an array of all HNSWVerbs
|
|
483
|
+
* @deprecated This method loads all data into memory and may cause performance issues. Use getVerbs() with pagination instead.
|
|
484
|
+
*/
|
|
485
|
+
getAllVerbs(): Promise<HNSWVerb[]>;
|
|
424
486
|
}
|
|
@@ -17,6 +17,7 @@ export declare class DistributedConfigManager {
|
|
|
17
17
|
private configWatchTimer?;
|
|
18
18
|
private lastConfigVersion;
|
|
19
19
|
private onConfigUpdate?;
|
|
20
|
+
private hasMigrated;
|
|
20
21
|
constructor(storage: StorageAdapter, distributedConfig?: DistributedConfig, brainyMode?: {
|
|
21
22
|
readOnly?: boolean;
|
|
22
23
|
writeOnly?: boolean;
|
|
@@ -42,6 +43,14 @@ export declare class DistributedConfigManager {
|
|
|
42
43
|
* Register this instance in the shared config
|
|
43
44
|
*/
|
|
44
45
|
private registerInstance;
|
|
46
|
+
/**
|
|
47
|
+
* Migrate config from legacy location to new location
|
|
48
|
+
*/
|
|
49
|
+
private migrateConfigFromLegacyLocation;
|
|
50
|
+
/**
|
|
51
|
+
* Migrate config to new location in index folder
|
|
52
|
+
*/
|
|
53
|
+
private migrateConfig;
|
|
45
54
|
/**
|
|
46
55
|
* Save configuration with version increment
|
|
47
56
|
*/
|
|
@@ -3,13 +3,18 @@
|
|
|
3
3
|
* Manages shared configuration in S3 for distributed Brainy instances
|
|
4
4
|
*/
|
|
5
5
|
import { v4 as uuidv4 } from 'uuid';
|
|
6
|
+
// Constants for config storage locations
|
|
7
|
+
const DISTRIBUTED_CONFIG_KEY = 'distributed_config';
|
|
8
|
+
const LEGACY_CONFIG_KEY = '_distributed_config';
|
|
6
9
|
export class DistributedConfigManager {
|
|
7
10
|
constructor(storage, distributedConfig, brainyMode) {
|
|
8
11
|
this.config = null;
|
|
9
12
|
this.lastConfigVersion = 0;
|
|
13
|
+
this.hasMigrated = false;
|
|
10
14
|
this.storage = storage;
|
|
11
15
|
this.instanceId = distributedConfig?.instanceId || `instance-${uuidv4()}`;
|
|
12
|
-
|
|
16
|
+
// Updated default path to use _system instead of _brainy
|
|
17
|
+
this.configPath = distributedConfig?.configPath || '_system/distributed_config.json';
|
|
13
18
|
this.heartbeatInterval = distributedConfig?.heartbeatInterval || 30000;
|
|
14
19
|
this.configCheckInterval = distributedConfig?.configCheckInterval || 10000;
|
|
15
20
|
this.instanceTimeout = distributedConfig?.instanceTimeout || 60000;
|
|
@@ -49,10 +54,30 @@ export class DistributedConfigManager {
|
|
|
49
54
|
* Load existing config or create new one
|
|
50
55
|
*/
|
|
51
56
|
async loadOrCreateConfig() {
|
|
57
|
+
// First, try to load from the new location in index folder
|
|
52
58
|
try {
|
|
53
|
-
|
|
54
|
-
|
|
59
|
+
const configData = await this.storage.getStatistics();
|
|
60
|
+
if (configData && configData.distributedConfig) {
|
|
61
|
+
this.lastConfigVersion = configData.distributedConfig.version;
|
|
62
|
+
return configData.distributedConfig;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
// Config doesn't exist in new location yet
|
|
67
|
+
}
|
|
68
|
+
// Check if we need to migrate from old location
|
|
69
|
+
if (!this.hasMigrated) {
|
|
70
|
+
const migrated = await this.migrateConfigFromLegacyLocation();
|
|
71
|
+
if (migrated) {
|
|
72
|
+
return migrated;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
// Legacy fallback - try old location
|
|
76
|
+
try {
|
|
77
|
+
const configData = await this.storage.getMetadata(LEGACY_CONFIG_KEY);
|
|
55
78
|
if (configData) {
|
|
79
|
+
// Migrate to new location
|
|
80
|
+
await this.migrateConfig(configData);
|
|
56
81
|
this.lastConfigVersion = configData.version;
|
|
57
82
|
return configData;
|
|
58
83
|
}
|
|
@@ -136,6 +161,50 @@ export class DistributedConfigManager {
|
|
|
136
161
|
this.config.instances[this.instanceId] = instanceInfo;
|
|
137
162
|
await this.saveConfig(this.config);
|
|
138
163
|
}
|
|
164
|
+
/**
|
|
165
|
+
* Migrate config from legacy location to new location
|
|
166
|
+
*/
|
|
167
|
+
async migrateConfigFromLegacyLocation() {
|
|
168
|
+
try {
|
|
169
|
+
// Try to load from old location
|
|
170
|
+
const legacyConfig = await this.storage.getMetadata(LEGACY_CONFIG_KEY);
|
|
171
|
+
if (legacyConfig) {
|
|
172
|
+
console.log('Migrating distributed config from legacy location to index folder...');
|
|
173
|
+
// Save to new location
|
|
174
|
+
await this.migrateConfig(legacyConfig);
|
|
175
|
+
// Delete from old location (optional - we can keep it for rollback)
|
|
176
|
+
// await this.storage.deleteMetadata(LEGACY_CONFIG_KEY)
|
|
177
|
+
this.hasMigrated = true;
|
|
178
|
+
this.lastConfigVersion = legacyConfig.version;
|
|
179
|
+
return legacyConfig;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
catch (error) {
|
|
183
|
+
console.error('Error during config migration:', error);
|
|
184
|
+
}
|
|
185
|
+
this.hasMigrated = true;
|
|
186
|
+
return null;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Migrate config to new location in index folder
|
|
190
|
+
*/
|
|
191
|
+
async migrateConfig(config) {
|
|
192
|
+
// Get existing statistics or create new
|
|
193
|
+
let stats = await this.storage.getStatistics();
|
|
194
|
+
if (!stats) {
|
|
195
|
+
stats = {
|
|
196
|
+
nounCount: {},
|
|
197
|
+
verbCount: {},
|
|
198
|
+
metadataCount: {},
|
|
199
|
+
hnswIndexSize: 0,
|
|
200
|
+
lastUpdated: new Date().toISOString()
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
// Add distributed config to statistics
|
|
204
|
+
stats.distributedConfig = config;
|
|
205
|
+
// Save updated statistics
|
|
206
|
+
await this.storage.saveStatistics(stats);
|
|
207
|
+
}
|
|
139
208
|
/**
|
|
140
209
|
* Save configuration with version increment
|
|
141
210
|
*/
|
|
@@ -143,8 +212,21 @@ export class DistributedConfigManager {
|
|
|
143
212
|
config.version++;
|
|
144
213
|
config.updated = new Date().toISOString();
|
|
145
214
|
this.lastConfigVersion = config.version;
|
|
146
|
-
//
|
|
147
|
-
await this.storage.
|
|
215
|
+
// Save to new location in index folder along with statistics
|
|
216
|
+
let stats = await this.storage.getStatistics();
|
|
217
|
+
if (!stats) {
|
|
218
|
+
stats = {
|
|
219
|
+
nounCount: {},
|
|
220
|
+
verbCount: {},
|
|
221
|
+
metadataCount: {},
|
|
222
|
+
hnswIndexSize: 0,
|
|
223
|
+
lastUpdated: new Date().toISOString()
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
// Update distributed config in statistics
|
|
227
|
+
stats.distributedConfig = config;
|
|
228
|
+
// Save updated statistics
|
|
229
|
+
await this.storage.saveStatistics(stats);
|
|
148
230
|
this.config = config;
|
|
149
231
|
}
|
|
150
232
|
/**
|
|
@@ -203,7 +285,21 @@ export class DistributedConfigManager {
|
|
|
203
285
|
}
|
|
204
286
|
else {
|
|
205
287
|
// Just update our heartbeat without version increment
|
|
206
|
-
|
|
288
|
+
// Get existing statistics
|
|
289
|
+
let stats = await this.storage.getStatistics();
|
|
290
|
+
if (!stats) {
|
|
291
|
+
stats = {
|
|
292
|
+
nounCount: {},
|
|
293
|
+
verbCount: {},
|
|
294
|
+
metadataCount: {},
|
|
295
|
+
hnswIndexSize: 0,
|
|
296
|
+
lastUpdated: new Date().toISOString()
|
|
297
|
+
};
|
|
298
|
+
}
|
|
299
|
+
// Update distributed config in statistics without version increment
|
|
300
|
+
stats.distributedConfig = this.config;
|
|
301
|
+
// Save updated statistics
|
|
302
|
+
await this.storage.saveStatistics(stats);
|
|
207
303
|
}
|
|
208
304
|
}
|
|
209
305
|
/**
|
|
@@ -240,9 +336,18 @@ export class DistributedConfigManager {
|
|
|
240
336
|
*/
|
|
241
337
|
async loadConfig() {
|
|
242
338
|
try {
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
339
|
+
// Try new location first
|
|
340
|
+
const stats = await this.storage.getStatistics();
|
|
341
|
+
if (stats && stats.distributedConfig) {
|
|
342
|
+
return stats.distributedConfig;
|
|
343
|
+
}
|
|
344
|
+
// Fallback to legacy location if not migrated yet
|
|
345
|
+
if (!this.hasMigrated) {
|
|
346
|
+
const configData = await this.storage.getMetadata(LEGACY_CONFIG_KEY);
|
|
347
|
+
if (configData) {
|
|
348
|
+
// Trigger migration on next save
|
|
349
|
+
return configData;
|
|
350
|
+
}
|
|
246
351
|
}
|
|
247
352
|
}
|
|
248
353
|
catch (error) {
|
|
@@ -299,7 +404,21 @@ export class DistributedConfigManager {
|
|
|
299
404
|
...metrics
|
|
300
405
|
};
|
|
301
406
|
// Don't increment version for metric updates
|
|
302
|
-
|
|
407
|
+
// Get existing statistics
|
|
408
|
+
let stats = await this.storage.getStatistics();
|
|
409
|
+
if (!stats) {
|
|
410
|
+
stats = {
|
|
411
|
+
nounCount: {},
|
|
412
|
+
verbCount: {},
|
|
413
|
+
metadataCount: {},
|
|
414
|
+
hnswIndexSize: 0,
|
|
415
|
+
lastUpdated: new Date().toISOString()
|
|
416
|
+
};
|
|
417
|
+
}
|
|
418
|
+
// Update distributed config in statistics without version increment
|
|
419
|
+
stats.distributedConfig = this.config;
|
|
420
|
+
// Save updated statistics
|
|
421
|
+
await this.storage.saveStatistics(stats);
|
|
303
422
|
}
|
|
304
423
|
/**
|
|
305
424
|
* Cleanup resources
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configManager.js","sourceRoot":"","sources":["../../src/distributed/configManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"configManager.js","sourceRoot":"","sources":["../../src/distributed/configManager.ts"],"names":[],"mappings":"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"}
|
package/dist/hnsw/hnswIndex.d.ts
CHANGED
|
@@ -39,7 +39,7 @@ export declare class HNSWIndex {
|
|
|
39
39
|
/**
|
|
40
40
|
* Search for nearest neighbors
|
|
41
41
|
*/
|
|
42
|
-
search(queryVector: Vector, k?: number): Promise<Array<[string, number]>>;
|
|
42
|
+
search(queryVector: Vector, k?: number, filter?: (id: string) => Promise<boolean>): Promise<Array<[string, number]>>;
|
|
43
43
|
/**
|
|
44
44
|
* Remove an item from the index
|
|
45
45
|
*/
|
package/dist/hnsw/hnswIndex.js
CHANGED
|
@@ -208,7 +208,7 @@ export class HNSWIndex {
|
|
|
208
208
|
/**
|
|
209
209
|
* Search for nearest neighbors
|
|
210
210
|
*/
|
|
211
|
-
async search(queryVector, k = 10) {
|
|
211
|
+
async search(queryVector, k = 10, filter) {
|
|
212
212
|
if (this.nouns.size === 0) {
|
|
213
213
|
return [];
|
|
214
214
|
}
|
|
@@ -281,7 +281,9 @@ export class HNSWIndex {
|
|
|
281
281
|
}
|
|
282
282
|
}
|
|
283
283
|
// Search at level 0 with ef = k
|
|
284
|
-
|
|
284
|
+
// If we have a filter, increase ef to compensate for filtered results
|
|
285
|
+
const ef = filter ? Math.max(this.config.efSearch * 3, k * 3) : Math.max(this.config.efSearch, k);
|
|
286
|
+
const nearestNouns = await this.searchLayer(queryVector, currObj, ef, 0, filter);
|
|
285
287
|
// Convert to array and sort by distance
|
|
286
288
|
return [...nearestNouns].slice(0, k);
|
|
287
289
|
}
|
|
@@ -452,15 +454,20 @@ export class HNSWIndex {
|
|
|
452
454
|
* Search within a specific layer
|
|
453
455
|
* Returns a map of noun IDs to distances, sorted by distance
|
|
454
456
|
*/
|
|
455
|
-
async searchLayer(queryVector, entryPoint, ef, level) {
|
|
457
|
+
async searchLayer(queryVector, entryPoint, ef, level, filter) {
|
|
456
458
|
// Set of visited nouns
|
|
457
459
|
const visited = new Set([entryPoint.id]);
|
|
460
|
+
// Check if entry point passes filter
|
|
461
|
+
const entryPointDistance = this.distanceFunction(queryVector, entryPoint.vector);
|
|
462
|
+
const entryPointPasses = filter ? await filter(entryPoint.id) : true;
|
|
458
463
|
// Priority queue of candidates (closest first)
|
|
459
464
|
const candidates = new Map();
|
|
460
|
-
candidates.set(entryPoint.id,
|
|
465
|
+
candidates.set(entryPoint.id, entryPointDistance);
|
|
461
466
|
// Priority queue of nearest neighbors found so far (closest first)
|
|
462
467
|
const nearest = new Map();
|
|
463
|
-
|
|
468
|
+
if (entryPointPasses) {
|
|
469
|
+
nearest.set(entryPoint.id, entryPointDistance);
|
|
470
|
+
}
|
|
464
471
|
// While there are candidates to explore
|
|
465
472
|
while (candidates.size > 0) {
|
|
466
473
|
// Get closest candidate
|
|
@@ -496,16 +503,22 @@ export class HNSWIndex {
|
|
|
496
503
|
const distances = await this.calculateDistancesInParallel(queryVector, unvisitedNeighbors);
|
|
497
504
|
// Process the results
|
|
498
505
|
for (const { id, distance } of distances) {
|
|
499
|
-
//
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
506
|
+
// Apply filter if provided
|
|
507
|
+
const passes = filter ? await filter(id) : true;
|
|
508
|
+
// Always add to candidates for graph traversal
|
|
509
|
+
candidates.set(id, distance);
|
|
510
|
+
// Only add to nearest if it passes the filter
|
|
511
|
+
if (passes) {
|
|
512
|
+
// If we haven't found ef nearest neighbors yet, or this neighbor is closer than the farthest one we've found
|
|
513
|
+
if (nearest.size < ef || distance < farthestInNearest[1]) {
|
|
514
|
+
nearest.set(id, distance);
|
|
515
|
+
// If we have more than ef neighbors, remove the farthest one
|
|
516
|
+
if (nearest.size > ef) {
|
|
517
|
+
const sortedNearest = [...nearest].sort((a, b) => a[1] - b[1]);
|
|
518
|
+
nearest.clear();
|
|
519
|
+
for (let i = 0; i < ef; i++) {
|
|
520
|
+
nearest.set(sortedNearest[i][0], sortedNearest[i][1]);
|
|
521
|
+
}
|
|
509
522
|
}
|
|
510
523
|
}
|
|
511
524
|
}
|
|
@@ -523,16 +536,22 @@ export class HNSWIndex {
|
|
|
523
536
|
continue;
|
|
524
537
|
}
|
|
525
538
|
const distToNeighbor = this.distanceFunction(queryVector, neighbor.vector);
|
|
526
|
-
//
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
539
|
+
// Apply filter if provided
|
|
540
|
+
const passes = filter ? await filter(neighborId) : true;
|
|
541
|
+
// Always add to candidates for graph traversal
|
|
542
|
+
candidates.set(neighborId, distToNeighbor);
|
|
543
|
+
// Only add to nearest if it passes the filter
|
|
544
|
+
if (passes) {
|
|
545
|
+
// If we haven't found ef nearest neighbors yet, or this neighbor is closer than the farthest one we've found
|
|
546
|
+
if (nearest.size < ef || distToNeighbor < farthestInNearest[1]) {
|
|
547
|
+
nearest.set(neighborId, distToNeighbor);
|
|
548
|
+
// If we have more than ef neighbors, remove the farthest one
|
|
549
|
+
if (nearest.size > ef) {
|
|
550
|
+
const sortedNearest = [...nearest].sort((a, b) => a[1] - b[1]);
|
|
551
|
+
nearest.clear();
|
|
552
|
+
for (let i = 0; i < ef; i++) {
|
|
553
|
+
nearest.set(sortedNearest[i][0], sortedNearest[i][1]);
|
|
554
|
+
}
|
|
536
555
|
}
|
|
537
556
|
}
|
|
538
557
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hnswIndex.js","sourceRoot":"","sources":["../../src/hnsw/hnswIndex.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hnswIndex.js","sourceRoot":"","sources":["../../src/hnsw/hnswIndex.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,7 +45,7 @@ export declare class OptimizedHNSWIndex extends HNSWIndex {
|
|
|
45
45
|
/**
|
|
46
46
|
* Optimized search with dynamic parameter adjustment
|
|
47
47
|
*/
|
|
48
|
-
search(queryVector: Vector, k?: number): Promise<Array<[string, number]>>;
|
|
48
|
+
search(queryVector: Vector, k?: number, filter?: (id: string) => Promise<boolean>): Promise<Array<[string, number]>>;
|
|
49
49
|
/**
|
|
50
50
|
* Dynamically adjust efSearch based on performance requirements
|
|
51
51
|
*/
|
|
@@ -63,7 +63,7 @@ export class OptimizedHNSWIndex extends HNSWIndex {
|
|
|
63
63
|
/**
|
|
64
64
|
* Optimized search with dynamic parameter adjustment
|
|
65
65
|
*/
|
|
66
|
-
async search(queryVector, k = 10) {
|
|
66
|
+
async search(queryVector, k = 10, filter) {
|
|
67
67
|
const startTime = Date.now();
|
|
68
68
|
// Adjust efSearch dynamically based on k and performance history
|
|
69
69
|
if (this.optimizedConfig.adaptiveEfSearch) {
|
|
@@ -85,11 +85,11 @@ export class OptimizedHNSWIndex extends HNSWIndex {
|
|
|
85
85
|
try {
|
|
86
86
|
// This is a simplified approach - in practice, we'd need to modify
|
|
87
87
|
// the parent class to accept runtime parameter changes
|
|
88
|
-
results = await super.search(queryVector, k);
|
|
88
|
+
results = await super.search(queryVector, k, filter);
|
|
89
89
|
}
|
|
90
90
|
catch (error) {
|
|
91
91
|
console.error('Optimized search failed, falling back to default:', error);
|
|
92
|
-
results = await super.search(queryVector, k);
|
|
92
|
+
results = await super.search(queryVector, k, filter);
|
|
93
93
|
}
|
|
94
94
|
// Record performance metrics
|
|
95
95
|
const searchTime = Date.now() - startTime;
|