@claude-flow/memory 3.0.7 → 3.0.9
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/dist/agentdb-backend-hnsw.test.d.ts +2 -0
- package/dist/agentdb-backend-hnsw.test.d.ts.map +1 -0
- package/dist/agentdb-backend-hnsw.test.js +269 -0
- package/dist/agentdb-backend-hnsw.test.js.map +1 -0
- package/dist/agentdb-backend-optional.test.d.ts +2 -0
- package/dist/agentdb-backend-optional.test.d.ts.map +1 -0
- package/dist/agentdb-backend-optional.test.js +49 -0
- package/dist/agentdb-backend-optional.test.js.map +1 -0
- package/dist/agentdb-backend.d.ts +13 -33
- package/dist/agentdb-backend.d.ts.map +1 -1
- package/dist/agentdb-backend.js +136 -161
- package/dist/agentdb-backend.js.map +1 -1
- package/dist/agentdb-hnsw-adapter.d.ts +36 -0
- package/dist/agentdb-hnsw-adapter.d.ts.map +1 -0
- package/dist/agentdb-hnsw-adapter.js +151 -0
- package/dist/agentdb-hnsw-adapter.js.map +1 -0
- package/dist/agentdb-lock-guard.d.ts +1 -1
- package/dist/agentdb-lock-guard.d.ts.map +1 -1
- package/dist/agentdb-lock-guard.js +12 -5
- package/dist/agentdb-lock-guard.js.map +1 -1
- package/dist/agentdb-lock-guard.test.js +21 -2
- package/dist/agentdb-lock-guard.test.js.map +1 -1
- package/package.json +1 -1
package/dist/agentdb-backend.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* AgentDB Backend - Integration with agentdb@
|
|
2
|
+
* AgentDB Backend - Integration with agentdb@3.0.0-alpha.20
|
|
3
3
|
*
|
|
4
4
|
* Provides IMemoryBackend implementation using AgentDB with:
|
|
5
|
-
* - HNSW vector search
|
|
6
|
-
* -
|
|
5
|
+
* - Optional native HNSW vector search through the real HNSWIndex export
|
|
6
|
+
* - Exact cosine fallback when native search is unavailable
|
|
7
7
|
* - Optional dependency handling (works without hnswlib-node)
|
|
8
8
|
* - Seamless integration with HybridBackend
|
|
9
9
|
*
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { withAgentdbLockRecovery, closeWithAgentdbLockRecovery } from './agentdb-lock-guard.js';
|
|
13
13
|
import { EventEmitter } from 'node:events';
|
|
14
|
+
import { AgentDBHnswAdapter } from './agentdb-hnsw-adapter.js';
|
|
14
15
|
import { safeJsonParse } from './json-security.js';
|
|
15
16
|
import { useHostSqliteDriver } from './agentdb-native-driver.js';
|
|
16
17
|
import { AgentDbRetrievalGuard, isRetrievalGuardEnabled, } from './agentdb-retrieval-guard.js';
|
|
@@ -55,11 +56,11 @@ const DEFAULT_CONFIG = {
|
|
|
55
56
|
* AgentDB Backend
|
|
56
57
|
*
|
|
57
58
|
* Integrates AgentDB for vector search with the V3 memory system.
|
|
58
|
-
*
|
|
59
|
+
* Native HNSW is an approximate search optimization, not a persistence layer.
|
|
59
60
|
*
|
|
60
61
|
* Features:
|
|
61
62
|
* - HNSW indexing for fast approximate nearest neighbor search
|
|
62
|
-
* -
|
|
63
|
+
* - Exact cosine fallback without native hnswlib, in forceWasm mode, or for filters
|
|
63
64
|
* - Graceful handling of optional native dependencies
|
|
64
65
|
* - Semantic search with filtering
|
|
65
66
|
* - Compatible with HybridBackend for combined SQLite+AgentDB queries
|
|
@@ -69,14 +70,13 @@ export class AgentDBBackend extends EventEmitter {
|
|
|
69
70
|
agentdb;
|
|
70
71
|
initialized = false;
|
|
71
72
|
available = false;
|
|
73
|
+
hnsw;
|
|
72
74
|
retrievalGuard;
|
|
73
75
|
// In-memory storage for compatibility
|
|
74
76
|
entries = new Map();
|
|
75
77
|
namespaceIndex = new Map();
|
|
76
78
|
keyIndex = new Map();
|
|
77
|
-
|
|
78
|
-
numericToStringIdMap = new Map();
|
|
79
|
-
stringToNumericIdMap = new Map();
|
|
79
|
+
expiringEntryIds = new Set();
|
|
80
80
|
// Performance tracking
|
|
81
81
|
stats = {
|
|
82
82
|
queryCount: 0,
|
|
@@ -142,6 +142,17 @@ export class AgentDBBackend extends EventEmitter {
|
|
|
142
142
|
}
|
|
143
143
|
// Create memory_entries table if it doesn't exist
|
|
144
144
|
await this.createSchema();
|
|
145
|
+
// agentdb has no getController('hnsw'). Its standalone HNSWIndex must be
|
|
146
|
+
// built from our own entries; its controller vector backend is unrelated.
|
|
147
|
+
if (!this.config.forceWasm && this.config.vectorBackend !== 'ruvector' &&
|
|
148
|
+
HNSWIndex && isHnswlibAvailable && await isHnswlibAvailable()) {
|
|
149
|
+
this.hnsw = new AgentDBHnswAdapter(HNSWIndex, {
|
|
150
|
+
dimension: this.config.vectorDimension,
|
|
151
|
+
M: this.config.hnswM,
|
|
152
|
+
efConstruction: this.config.hnswEfConstruction,
|
|
153
|
+
efSearch: this.config.hnswEfSearch,
|
|
154
|
+
});
|
|
155
|
+
}
|
|
145
156
|
this.initialized = true;
|
|
146
157
|
this.emit('initialized', {
|
|
147
158
|
backend: this.agentdb.vectorBackendName,
|
|
@@ -161,6 +172,8 @@ export class AgentDBBackend extends EventEmitter {
|
|
|
161
172
|
async shutdown() {
|
|
162
173
|
if (!this.initialized)
|
|
163
174
|
return;
|
|
175
|
+
this.hnsw?.invalidate();
|
|
176
|
+
this.hnsw = undefined;
|
|
164
177
|
if (this.agentdb) {
|
|
165
178
|
// Clears a provably stale lock first; a persist failure is surfaced
|
|
166
179
|
// (AgentdbLockError), never swallowed.
|
|
@@ -169,6 +182,8 @@ export class AgentDBBackend extends EventEmitter {
|
|
|
169
182
|
}
|
|
170
183
|
finally {
|
|
171
184
|
this.initialized = false;
|
|
185
|
+
this.agentdb = undefined;
|
|
186
|
+
this.available = false;
|
|
172
187
|
this.emit('shutdown');
|
|
173
188
|
}
|
|
174
189
|
return;
|
|
@@ -180,14 +195,25 @@ export class AgentDBBackend extends EventEmitter {
|
|
|
180
195
|
* Store a memory entry
|
|
181
196
|
*/
|
|
182
197
|
async store(entry) {
|
|
198
|
+
// Own vectors and index-relevant fields. Callers must not be able to mutate
|
|
199
|
+
// an indexed snapshot through the original entry or a returned result.
|
|
200
|
+
entry = this.copyEntry(entry);
|
|
183
201
|
// Generate embedding if needed
|
|
184
202
|
if (entry.content && !entry.embedding && this.config.embeddingGenerator) {
|
|
185
|
-
entry.embedding = await this.config.embeddingGenerator(entry.content);
|
|
203
|
+
entry.embedding = new Float32Array(await this.config.embeddingGenerator(entry.content));
|
|
204
|
+
}
|
|
205
|
+
// Replacements must not leave old namespace/key or native vector entries.
|
|
206
|
+
const previous = this.entries.get(entry.id);
|
|
207
|
+
if (previous) {
|
|
208
|
+
this.namespaceIndex.get(previous.namespace)?.delete(entry.id);
|
|
209
|
+
this.keyIndex.delete(`${previous.namespace}:${previous.key}`);
|
|
186
210
|
}
|
|
187
|
-
// Store in-memory for quick access
|
|
188
211
|
this.entries.set(entry.id, entry);
|
|
189
|
-
|
|
190
|
-
|
|
212
|
+
if (entry.expiresAt === undefined)
|
|
213
|
+
this.expiringEntryIds.delete(entry.id);
|
|
214
|
+
else
|
|
215
|
+
this.expiringEntryIds.add(entry.id);
|
|
216
|
+
this.hnsw?.invalidate();
|
|
191
217
|
// Update indexes
|
|
192
218
|
this.updateIndexes(entry);
|
|
193
219
|
// Store in AgentDB if available
|
|
@@ -203,10 +229,11 @@ export class AgentDBBackend extends EventEmitter {
|
|
|
203
229
|
// Check in-memory first
|
|
204
230
|
const cached = this.entries.get(id);
|
|
205
231
|
if (cached)
|
|
206
|
-
return cached;
|
|
232
|
+
return this.copyEntry(cached);
|
|
207
233
|
// Query AgentDB if available
|
|
208
234
|
if (this.agentdb) {
|
|
209
|
-
|
|
235
|
+
const entry = await this.getFromAgentDB(id);
|
|
236
|
+
return entry ? this.copyEntry(entry) : null;
|
|
210
237
|
}
|
|
211
238
|
return null;
|
|
212
239
|
}
|
|
@@ -227,16 +254,17 @@ export class AgentDBBackend extends EventEmitter {
|
|
|
227
254
|
const entry = this.entries.get(id);
|
|
228
255
|
if (!entry)
|
|
229
256
|
return null;
|
|
257
|
+
this.hnsw?.invalidate();
|
|
230
258
|
// Apply updates
|
|
231
259
|
if (update.content !== undefined) {
|
|
232
260
|
entry.content = update.content;
|
|
233
261
|
// Regenerate embedding if needed
|
|
234
262
|
if (this.config.embeddingGenerator) {
|
|
235
|
-
entry.embedding = await this.config.embeddingGenerator(entry.content);
|
|
263
|
+
entry.embedding = new Float32Array(await this.config.embeddingGenerator(entry.content));
|
|
236
264
|
}
|
|
237
265
|
}
|
|
238
266
|
if (update.tags !== undefined) {
|
|
239
|
-
entry.tags = update.tags;
|
|
267
|
+
entry.tags = [...update.tags];
|
|
240
268
|
}
|
|
241
269
|
if (update.metadata !== undefined) {
|
|
242
270
|
entry.metadata = { ...entry.metadata, ...update.metadata };
|
|
@@ -246,18 +274,20 @@ export class AgentDBBackend extends EventEmitter {
|
|
|
246
274
|
}
|
|
247
275
|
if (update.expiresAt !== undefined) {
|
|
248
276
|
entry.expiresAt = update.expiresAt;
|
|
277
|
+
this.expiringEntryIds.add(id);
|
|
249
278
|
}
|
|
250
279
|
if (update.references !== undefined) {
|
|
251
|
-
entry.references = update.references;
|
|
280
|
+
entry.references = [...update.references];
|
|
252
281
|
}
|
|
253
282
|
entry.updatedAt = Date.now();
|
|
254
283
|
entry.version++;
|
|
284
|
+
this.hnsw?.invalidate();
|
|
255
285
|
// Update in AgentDB
|
|
256
286
|
if (this.agentdb) {
|
|
257
287
|
await this.updateInAgentDB(entry);
|
|
258
288
|
}
|
|
259
289
|
this.emit('entry:updated', { id });
|
|
260
|
-
return entry;
|
|
290
|
+
return this.copyEntry(entry);
|
|
261
291
|
}
|
|
262
292
|
/**
|
|
263
293
|
* Delete entry
|
|
@@ -268,7 +298,8 @@ export class AgentDBBackend extends EventEmitter {
|
|
|
268
298
|
return false;
|
|
269
299
|
// Remove from indexes
|
|
270
300
|
this.entries.delete(id);
|
|
271
|
-
this.
|
|
301
|
+
this.expiringEntryIds.delete(id);
|
|
302
|
+
this.hnsw?.invalidate();
|
|
272
303
|
this.namespaceIndex.get(entry.namespace)?.delete(id);
|
|
273
304
|
const keyIndexKey = `${entry.namespace}:${entry.key}`;
|
|
274
305
|
this.keyIndex.delete(keyIndexKey);
|
|
@@ -297,12 +328,15 @@ export class AgentDBBackend extends EventEmitter {
|
|
|
297
328
|
const duration = performance.now() - startTime;
|
|
298
329
|
this.stats.queryCount++;
|
|
299
330
|
this.stats.totalQueryTime += duration;
|
|
300
|
-
return results;
|
|
331
|
+
return results.map((entry) => this.copyEntry(entry));
|
|
301
332
|
}
|
|
302
333
|
/**
|
|
303
334
|
* Semantic vector search
|
|
304
335
|
*/
|
|
305
336
|
async search(embedding, options) {
|
|
337
|
+
// Keep native validation, search and JS score recomputation on the same
|
|
338
|
+
// vector even if the caller changes its Float32Array during an await.
|
|
339
|
+
embedding = new Float32Array(embedding);
|
|
306
340
|
const startTime = performance.now();
|
|
307
341
|
if (!this.agentdb) {
|
|
308
342
|
// Fallback to brute-force search
|
|
@@ -331,6 +365,7 @@ export class AgentDBBackend extends EventEmitter {
|
|
|
331
365
|
* `CLAUDE_FLOW_RETRIEVAL_GUARD_STRICT`).
|
|
332
366
|
*/
|
|
333
367
|
applyRetrievalGuard(results) {
|
|
368
|
+
results = results.map((result) => ({ ...result, entry: this.copyEntry(result.entry) }));
|
|
334
369
|
if (!this.retrievalGuard || !isRetrievalGuardEnabled() || results.length === 0) {
|
|
335
370
|
return results;
|
|
336
371
|
}
|
|
@@ -413,26 +448,7 @@ export class AgentDBBackend extends EventEmitter {
|
|
|
413
448
|
for (const entry of this.entries.values()) {
|
|
414
449
|
entriesByType[entry.type]++;
|
|
415
450
|
}
|
|
416
|
-
|
|
417
|
-
let hnswStats;
|
|
418
|
-
if (this.agentdb && HNSWIndex) {
|
|
419
|
-
try {
|
|
420
|
-
const hnsw = this.agentdb.getController('hnsw');
|
|
421
|
-
if (hnsw) {
|
|
422
|
-
const stats = hnsw.getStats();
|
|
423
|
-
hnswStats = {
|
|
424
|
-
vectorCount: stats.numElements || 0,
|
|
425
|
-
memoryUsage: 0,
|
|
426
|
-
avgSearchTime: stats.avgSearchTimeMs || 0,
|
|
427
|
-
buildTime: stats.lastBuildTime || 0,
|
|
428
|
-
compressionRatio: 1.0,
|
|
429
|
-
};
|
|
430
|
-
}
|
|
431
|
-
}
|
|
432
|
-
catch {
|
|
433
|
-
// HNSW not available
|
|
434
|
-
}
|
|
435
|
-
}
|
|
451
|
+
const hnswStats = this.hnsw?.getStats();
|
|
436
452
|
return {
|
|
437
453
|
totalEntries: this.entries.size,
|
|
438
454
|
entriesByNamespace,
|
|
@@ -463,10 +479,9 @@ export class AgentDBBackend extends EventEmitter {
|
|
|
463
479
|
};
|
|
464
480
|
// Check index health
|
|
465
481
|
const indexHealth = { status: 'healthy', latency: 0 };
|
|
466
|
-
if (!this.
|
|
482
|
+
if (!this.hnsw?.getStats()) {
|
|
467
483
|
indexHealth.status = 'degraded';
|
|
468
|
-
indexHealth.message = 'HNSW index not available';
|
|
469
|
-
recommendations.push('Install agentdb for 150x-12,500x faster vector search');
|
|
484
|
+
indexHealth.message = 'Native HNSW index is not built; exact cosine fallback is available';
|
|
470
485
|
}
|
|
471
486
|
// Check cache health
|
|
472
487
|
const cacheHealth = { status: 'healthy', latency: 0 };
|
|
@@ -488,6 +503,15 @@ export class AgentDBBackend extends EventEmitter {
|
|
|
488
503
|
};
|
|
489
504
|
}
|
|
490
505
|
// ===== Private Methods =====
|
|
506
|
+
copyEntry(entry) {
|
|
507
|
+
return {
|
|
508
|
+
...entry,
|
|
509
|
+
embedding: entry.embedding ? new Float32Array(entry.embedding) : undefined,
|
|
510
|
+
tags: [...entry.tags],
|
|
511
|
+
metadata: { ...entry.metadata },
|
|
512
|
+
references: [...entry.references],
|
|
513
|
+
};
|
|
514
|
+
}
|
|
491
515
|
/**
|
|
492
516
|
* Create database schema
|
|
493
517
|
*/
|
|
@@ -587,20 +611,6 @@ export class AgentDBBackend extends EventEmitter {
|
|
|
587
611
|
catch {
|
|
588
612
|
// AgentDB storage failed - entry is already in-memory
|
|
589
613
|
}
|
|
590
|
-
// Add to vector index if HNSW is available
|
|
591
|
-
if (entry.embedding && HNSWIndex) {
|
|
592
|
-
try {
|
|
593
|
-
const hnsw = this.agentdb.getController('hnsw');
|
|
594
|
-
if (hnsw) {
|
|
595
|
-
// Convert string ID to number for HNSW (use hash)
|
|
596
|
-
const numericId = this.stringIdToNumeric(entry.id);
|
|
597
|
-
hnsw.addVector(numericId, entry.embedding);
|
|
598
|
-
}
|
|
599
|
-
}
|
|
600
|
-
catch {
|
|
601
|
-
// HNSW not available
|
|
602
|
-
}
|
|
603
|
-
}
|
|
604
614
|
}
|
|
605
615
|
/**
|
|
606
616
|
* Get entry from AgentDB
|
|
@@ -685,35 +695,27 @@ export class AgentDBBackend extends EventEmitter {
|
|
|
685
695
|
* Search with AgentDB HNSW
|
|
686
696
|
*/
|
|
687
697
|
async searchWithAgentDB(embedding, options) {
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
const hnsw = this.agentdb.getController('hnsw');
|
|
693
|
-
if (!hnsw) {
|
|
694
|
-
return this.bruteForceSearch(embedding, options);
|
|
695
|
-
}
|
|
696
|
-
const results = await hnsw.search(embedding, options.k, {
|
|
697
|
-
threshold: options.threshold,
|
|
698
|
-
});
|
|
699
|
-
const searchResults = [];
|
|
700
|
-
for (const result of results) {
|
|
701
|
-
const id = this.numericIdToString(result.id);
|
|
702
|
-
const entry = await this.get(id);
|
|
703
|
-
if (!entry)
|
|
704
|
-
continue;
|
|
705
|
-
searchResults.push({
|
|
706
|
-
entry,
|
|
707
|
-
score: result.similarity,
|
|
708
|
-
distance: result.distance,
|
|
709
|
-
});
|
|
710
|
-
}
|
|
711
|
-
return searchResults;
|
|
698
|
+
// Post-filtering native top-k can hide eligible neighbors. Keep filtered
|
|
699
|
+
// searches exact, and do not pass user filters to HNSWIndex's SQL builder.
|
|
700
|
+
if (!this.hnsw || this.hasSearchFilters(options.filters)) {
|
|
701
|
+
return this.bruteForceSearch(embedding, options);
|
|
712
702
|
}
|
|
713
|
-
|
|
714
|
-
|
|
703
|
+
const ids = await this.hnsw.search(() => Array.from(this.entries.values()), embedding, options.k, options.ef);
|
|
704
|
+
if (!ids)
|
|
715
705
|
return this.bruteForceSearch(embedding, options);
|
|
706
|
+
// Preserve our cosine score/threshold contract (including zero vectors)
|
|
707
|
+
// instead of exposing native floating-point rounding as a different score.
|
|
708
|
+
const results = [];
|
|
709
|
+
for (const id of ids) {
|
|
710
|
+
const entry = this.entries.get(id);
|
|
711
|
+
if (!entry?.embedding)
|
|
712
|
+
continue;
|
|
713
|
+
const score = this.cosineSimilarity(embedding, entry.embedding);
|
|
714
|
+
if (options.threshold !== undefined && score < options.threshold)
|
|
715
|
+
continue;
|
|
716
|
+
results.push({ entry, score, distance: 1 - score });
|
|
716
717
|
}
|
|
718
|
+
return results.sort((a, b) => b.score - a.score);
|
|
717
719
|
}
|
|
718
720
|
/**
|
|
719
721
|
* Brute-force vector search fallback
|
|
@@ -721,11 +723,11 @@ export class AgentDBBackend extends EventEmitter {
|
|
|
721
723
|
bruteForceSearch(embedding, options) {
|
|
722
724
|
const results = [];
|
|
723
725
|
for (const entry of this.entries.values()) {
|
|
724
|
-
if (!entry.embedding)
|
|
726
|
+
if (!entry.embedding || !this.matchesFilters(entry, options.filters))
|
|
725
727
|
continue;
|
|
726
728
|
const score = this.cosineSimilarity(embedding, entry.embedding);
|
|
727
729
|
const distance = 1 - score;
|
|
728
|
-
if (options.threshold && score < options.threshold)
|
|
730
|
+
if (options.threshold !== undefined && score < options.threshold)
|
|
729
731
|
continue;
|
|
730
732
|
results.push({ entry, score, distance });
|
|
731
733
|
}
|
|
@@ -808,84 +810,57 @@ export class AgentDBBackend extends EventEmitter {
|
|
|
808
810
|
lastAccessedAt: row.last_accessed_at || row.created_at,
|
|
809
811
|
};
|
|
810
812
|
}
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
//
|
|
816
|
-
|
|
817
|
-
if (
|
|
818
|
-
return
|
|
819
|
-
//
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
if (
|
|
851
|
-
return
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
*/
|
|
860
|
-
registerIdMapping(stringId) {
|
|
861
|
-
const numericId = this.hashStringId(stringId);
|
|
862
|
-
const existing = this.numericToStringIdMap.get(numericId);
|
|
863
|
-
if (existing && existing !== stringId) {
|
|
864
|
-
// HIGH-05: Collision detected — use linear probing fallback
|
|
865
|
-
console.warn(`[HNSW] Hash collision detected: "${stringId}" collides with "${existing}" (numeric: ${numericId})`);
|
|
866
|
-
let fallbackId = numericId + 1;
|
|
867
|
-
while (this.numericToStringIdMap.has(fallbackId)) {
|
|
868
|
-
fallbackId++;
|
|
869
|
-
}
|
|
870
|
-
this.numericToStringIdMap.set(fallbackId, stringId);
|
|
871
|
-
this.stringToNumericIdMap.set(stringId, fallbackId);
|
|
872
|
-
return;
|
|
873
|
-
}
|
|
874
|
-
this.numericToStringIdMap.set(numericId, stringId);
|
|
875
|
-
this.stringToNumericIdMap.set(stringId, numericId);
|
|
876
|
-
}
|
|
877
|
-
/**
|
|
878
|
-
* Unregister string ID from reverse lookup map
|
|
879
|
-
* Called when deleting entries
|
|
880
|
-
*/
|
|
881
|
-
unregisterIdMapping(stringId) {
|
|
882
|
-
// Use reverse map for correct numeric ID (may differ from hash due to collision fallback)
|
|
883
|
-
const numericId = this.stringToNumericIdMap.get(stringId) ?? this.stringIdToNumeric(stringId);
|
|
884
|
-
this.numericToStringIdMap.delete(numericId);
|
|
885
|
-
this.stringToNumericIdMap.delete(stringId);
|
|
813
|
+
hasSearchFilters(filters) {
|
|
814
|
+
if (!filters)
|
|
815
|
+
return false;
|
|
816
|
+
// MemoryQuery excludes expired entries by default. Time can change
|
|
817
|
+
// eligibility without a write, so keep TTL-bearing semantic queries exact.
|
|
818
|
+
// Track presence on writes rather than scanning every native read.
|
|
819
|
+
if (!filters.includeExpired && this.expiringEntryIds.size > 0)
|
|
820
|
+
return true;
|
|
821
|
+
// Semantic queries carry type/content/embedding/limit/threshold even when
|
|
822
|
+
// there are no filtering constraints. Do not disable native search for them.
|
|
823
|
+
return [
|
|
824
|
+
filters.namespace, filters.key, filters.keyPrefix, filters.memoryType,
|
|
825
|
+
filters.accessLevel, filters.ownerId, filters.createdAfter, filters.createdBefore,
|
|
826
|
+
filters.updatedAfter, filters.updatedBefore, filters.includeExpired,
|
|
827
|
+
].some((value) => value !== undefined) ||
|
|
828
|
+
!!filters.tags?.length || !!(filters.metadata && Object.keys(filters.metadata).length);
|
|
829
|
+
}
|
|
830
|
+
/** Apply semantic-search filters before selecting top-k, not after. */
|
|
831
|
+
matchesFilters(entry, filters) {
|
|
832
|
+
if (!filters)
|
|
833
|
+
return true;
|
|
834
|
+
if (filters.namespace !== undefined && entry.namespace !== filters.namespace)
|
|
835
|
+
return false;
|
|
836
|
+
if (filters.key !== undefined && entry.key !== filters.key)
|
|
837
|
+
return false;
|
|
838
|
+
if (filters.keyPrefix !== undefined && !entry.key.startsWith(filters.keyPrefix))
|
|
839
|
+
return false;
|
|
840
|
+
if (filters.tags?.some((tag) => !entry.tags.includes(tag)))
|
|
841
|
+
return false;
|
|
842
|
+
if (filters.memoryType !== undefined && entry.type !== filters.memoryType)
|
|
843
|
+
return false;
|
|
844
|
+
if (filters.accessLevel !== undefined && entry.accessLevel !== filters.accessLevel)
|
|
845
|
+
return false;
|
|
846
|
+
if (filters.ownerId !== undefined && entry.ownerId !== filters.ownerId)
|
|
847
|
+
return false;
|
|
848
|
+
if (filters.createdAfter !== undefined && entry.createdAt <= filters.createdAfter)
|
|
849
|
+
return false;
|
|
850
|
+
if (filters.createdBefore !== undefined && entry.createdAt >= filters.createdBefore)
|
|
851
|
+
return false;
|
|
852
|
+
if (filters.updatedAfter !== undefined && entry.updatedAt <= filters.updatedAfter)
|
|
853
|
+
return false;
|
|
854
|
+
if (filters.updatedBefore !== undefined && entry.updatedAt >= filters.updatedBefore)
|
|
855
|
+
return false;
|
|
856
|
+
if (!filters.includeExpired && entry.expiresAt !== undefined && entry.expiresAt <= Date.now())
|
|
857
|
+
return false;
|
|
858
|
+
if (filters.metadata && Object.entries(filters.metadata).some(([key, value]) => entry.metadata[key] !== value))
|
|
859
|
+
return false;
|
|
860
|
+
return true;
|
|
886
861
|
}
|
|
887
862
|
/**
|
|
888
|
-
* Cosine similarity (returns value in range [
|
|
863
|
+
* Cosine similarity (returns value in range [-1, 1] where 1 = identical)
|
|
889
864
|
*/
|
|
890
865
|
cosineSimilarity(a, b) {
|
|
891
866
|
let dotProduct = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentdb-backend.js","sourceRoot":"","sources":["../src/agentdb-backend.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agentdb-backend.js","sourceRoot":"","sources":["../src/agentdb-backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adapter for agentdb's separately exported HNSWIndex, not a controller.
|
|
3
|
+
*
|
|
4
|
+
* alpha.20 requires buildIndex() before search/add, does not upsert duplicate
|
|
5
|
+
* IDs, and does not remove native points on delete. Rebuild a disposable index
|
|
6
|
+
* lazily from the authoritative in-memory entries after mutations. This trades
|
|
7
|
+
* write-heavy performance for correctness; it is not a persistence layer.
|
|
8
|
+
*/
|
|
9
|
+
import type { HNSWIndex as NativeIndex } from 'agentdb';
|
|
10
|
+
import type { HNSWStats, MemoryEntry } from './types.js';
|
|
11
|
+
type IndexConstructor = new (db: unknown, config: ConstructorParameters<typeof NativeIndex>[1]) => NativeIndex;
|
|
12
|
+
interface AdapterConfig {
|
|
13
|
+
dimension: number;
|
|
14
|
+
M: number;
|
|
15
|
+
efConstruction: number;
|
|
16
|
+
efSearch: number;
|
|
17
|
+
}
|
|
18
|
+
export declare class AgentDBHnswAdapter {
|
|
19
|
+
private readonly Index;
|
|
20
|
+
private readonly config;
|
|
21
|
+
private index?;
|
|
22
|
+
private ids;
|
|
23
|
+
private revision;
|
|
24
|
+
private building?;
|
|
25
|
+
private searching;
|
|
26
|
+
private failed;
|
|
27
|
+
private buildTime;
|
|
28
|
+
constructor(Index: IndexConstructor, config: AdapterConfig);
|
|
29
|
+
private normalize;
|
|
30
|
+
invalidate(): void;
|
|
31
|
+
private build;
|
|
32
|
+
search(getEntries: () => readonly MemoryEntry[], embedding: Float32Array, k: number, ef?: number): Promise<string[] | undefined>;
|
|
33
|
+
getStats(): HNSWStats | undefined;
|
|
34
|
+
}
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=agentdb-hnsw-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentdb-hnsw-adapter.d.ts","sourceRoot":"","sources":["../src/agentdb-hnsw-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzD,KAAK,gBAAgB,GAAG,KACtB,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,qBAAqB,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,KACjD,WAAW,CAAC;AAEjB,UAAU,aAAa;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,CAAC,EAAE,MAAM,CAAC;IACV,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,kBAAkB;IAU3B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAVzB,OAAO,CAAC,KAAK,CAAC,CAAc;IAC5B,OAAO,CAAC,GAAG,CAA6B;IACxC,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,QAAQ,CAAC,CAAmB;IACpC,OAAO,CAAC,SAAS,CAAuC;IACxD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAK;gBAGH,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,aAAa;IAQxC,OAAO,CAAC,SAAS;IASjB,UAAU,IAAI,IAAI;YAQJ,KAAK;IA6Db,MAAM,CACV,UAAU,EAAE,MAAM,SAAS,WAAW,EAAE,EACxC,SAAS,EAAE,YAAY,EACvB,CAAC,EAAE,MAAM,EACT,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC;IAoChC,QAAQ,IAAI,SAAS,GAAG,SAAS;CAWlC"}
|