@claude-flow/memory 3.0.6 → 3.0.8

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.
@@ -1,9 +1,9 @@
1
1
  /**
2
- * AgentDB Backend - Integration with agentdb@2.0.0-alpha.3.4
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 (150x-12,500x faster than brute-force)
6
- * - Native or WASM backend support with graceful fallback
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
- * Provides 150x-12,500x faster search compared to brute-force approaches.
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
- * - Automatic fallback: native hnswlib → ruvector → WASM
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
- // O(1) bidirectional lookup for numeric ID <-> string ID (fixes O(n) linear scan)
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
- // Register ID mapping for O(1) reverse lookup
190
- this.registerIdMapping(entry.id);
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
- return this.getFromAgentDB(id);
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.unregisterIdMapping(id); // Clean up reverse lookup map
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
- // Get HNSW stats if available
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.agentdb) {
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
- if (!this.agentdb || !HNSWIndex) {
689
- return [];
690
- }
691
- try {
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
- catch (error) {
714
- console.error('HNSW search failed:', error);
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
- * Convert string ID to numeric for HNSW
813
- */
814
- stringIdToNumeric(id) {
815
- // Check reverse map first — if this ID was collision-probed, the map has the actual numeric ID
816
- const mapped = this.stringToNumericIdMap.get(id);
817
- if (mapped !== undefined)
818
- return mapped;
819
- // HIGH-05: Dual hash (djb2 + sdbm) for 53-bit space, ~94M entries before collision
820
- return this.hashStringId(id);
821
- }
822
- /**
823
- * Pure hash function for string ID (no map lookup).
824
- * Used by registerIdMapping for initial hash before collision probing.
825
- */
826
- hashStringId(id) {
827
- // Hash A: djb2
828
- let hashA = 5381;
829
- for (let i = 0; i < id.length; i++) {
830
- hashA = ((hashA << 5) + hashA + id.charCodeAt(i)) | 0;
831
- }
832
- // Hash B: sdbm (independent seed/algorithm)
833
- let hashB = 0;
834
- for (let i = 0; i < id.length; i++) {
835
- hashB = id.charCodeAt(i) + ((hashB << 6) + (hashB << 16) - hashB) | 0;
836
- }
837
- // Combine into a 53-bit safe integer:
838
- // Use 26 bits from hashA and 27 bits from hashB
839
- const upper = (Math.abs(hashA) & 0x3FFFFFF); // 26 bits
840
- const lower = (Math.abs(hashB) & 0x7FFFFFF); // 27 bits
841
- return upper * 0x8000000 + lower;
842
- }
843
- /**
844
- * Convert numeric ID back to string using O(1) reverse lookup
845
- * PERFORMANCE FIX: Uses pre-built reverse map instead of O(n) linear scan
846
- */
847
- numericIdToString(numericId) {
848
- // Use O(1) reverse lookup map
849
- const stringId = this.numericToStringIdMap.get(numericId);
850
- if (stringId) {
851
- return stringId;
852
- }
853
- // Fallback for unmapped IDs
854
- return String(numericId);
855
- }
856
- /**
857
- * Register string ID in reverse lookup map
858
- * Called when storing entries to maintain bidirectional mapping
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 [0, 1] where 1 = identical)
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"}