@fpisani/memvid 1.2.0 → 1.3.1

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 CHANGED
@@ -61,12 +61,31 @@ const mem = create('/tmp/memory.mv2');
61
61
 
62
62
  #### `open(path: string): Memvid`
63
63
 
64
- Open an existing memvid file.
64
+ Open an existing memvid file with an exclusive lock.
65
65
 
66
66
  ```typescript
67
67
  const mem = open('/tmp/existing.mv2');
68
68
  ```
69
69
 
70
+ #### `openReadOnly(path: string): Memvid`
71
+
72
+ Open an existing memvid file in read-only mode (shared lock) for concurrent readers.
73
+
74
+ ```typescript
75
+ const mem = openReadOnly('/tmp/existing.mv2');
76
+ ```
77
+
78
+ #### `openSnapshot(path: string): Memvid`
79
+
80
+ Open an existing memvid file as a snapshot without acquiring a lock.
81
+ This reads the last committed footer for a consistent view even if a writer is active.
82
+ While snapshot readers are active, shrink operations (vacuum/rebuild/footer truncation)
83
+ are deferred and the latest footer is appended.
84
+
85
+ ```typescript
86
+ const mem = openSnapshot('/tmp/existing.mv2');
87
+ ```
88
+
70
89
  #### `version(): string`
71
90
 
72
91
  Get the memvid-node version.
package/dist/index.d.ts CHANGED
@@ -26,7 +26,7 @@
26
26
  export * from './types';
27
27
  export * from './error';
28
28
  export * from './embeddings';
29
- import type { PutOptions, TimelineOptions, TimelineEntry, FrameInfo, SearchResult, SearchOptions, Stats, EmbeddingProvider, PutManyResult, ClipSearchHit, EnrichmentStats, EnrichmentTask, ProcessBatchResult, VacuumResult, CompactWalResult, ChunkEmbedding, AskRequest, AskResponse } from './types';
29
+ import type { PutOptions, TimelineOptions, TimelineEntry, FrameInfo, SearchResult, SearchOptions, Stats, EmbeddingProvider, PutManyResult, ClipSearchHit, ClipSearchOptions, HybridSearchOptions, GraphSearchOptions, GraphSearchResult, EnrichmentStats, EnrichmentTask, ProcessBatchResult, VacuumResult, CompactWalResult, ChunkEmbedding, AskRequest, AskResponse } from './types';
30
30
  /**
31
31
  * Memvid class - main interface for working with .mv2 files
32
32
  *
@@ -52,6 +52,8 @@ export declare class Memvid {
52
52
  /**
53
53
  * Open an existing memvid file
54
54
  *
55
+ * This acquires an exclusive lock for the lifetime of the handle.
56
+ *
55
57
  * @param path - Path to the .mv2 file to open
56
58
  * @returns A Memvid instance for the existing file
57
59
  *
@@ -61,6 +63,35 @@ export declare class Memvid {
61
63
  * ```
62
64
  */
63
65
  static open(path: string): Memvid;
66
+ /**
67
+ * Open an existing memvid file in read-only mode (shared lock)
68
+ *
69
+ * This acquires a shared lock and avoids blocking other readers.
70
+ *
71
+ * @param path - Path to the .mv2 file to open
72
+ * @returns A Memvid instance for the existing file
73
+ *
74
+ * @example
75
+ * ```typescript
76
+ * const mem = Memvid.openReadOnly('/tmp/existing.mv2');
77
+ * ```
78
+ */
79
+ static openReadOnly(path: string): Memvid;
80
+ /**
81
+ * Open an existing memvid file as a snapshot without acquiring a lock
82
+ *
83
+ * This reads the last committed footer for a consistent view even if a writer is active.
84
+ * While snapshot readers are active, shrink operations are deferred and the footer is appended.
85
+ *
86
+ * @param path - Path to the .mv2 file to open
87
+ * @returns A Memvid instance for the existing file
88
+ *
89
+ * @example
90
+ * ```typescript
91
+ * const mem = Memvid.openSnapshot('/tmp/existing.mv2');
92
+ * ```
93
+ */
94
+ static openSnapshot(path: string): Memvid;
64
95
  /** Get the file path */
65
96
  get path(): string;
66
97
  /**
@@ -323,25 +354,84 @@ export declare class Memvid {
323
354
  * Returns hits sorted by distance (lower is more similar).
324
355
  *
325
356
  * @param queryEmbedding - The query embedding (from CLIP text or image encoder)
326
- * @param topK - Maximum number of results to return (default: 10)
357
+ * @param options - Search options (topK, memoryFilters) or just a number for topK
327
358
  * @returns Array of CLIP search hits with frame IDs, optional page numbers, and distances
328
359
  *
329
360
  * @example
330
361
  * ```typescript
331
362
  * // Search by text description
332
363
  * const textEmbedding = await clipModel.encodeText('a photo of a sunset');
333
- * const hits = mem.clipSearch(textEmbedding, 5);
364
+ * const hits = mem.clipSearch(textEmbedding, { topK: 5 });
334
365
  *
335
366
  * for (const hit of hits) {
336
367
  * console.log(`Frame ${hit.frameId}${hit.page ? ` page ${hit.page}` : ''}: distance ${hit.distance}`);
337
368
  * }
338
369
  *
339
- * // Search by image similarity
340
- * const imageEmbedding = await clipModel.encodeImage(queryImageBuffer);
370
+ * // Search with memory filters
371
+ * const hits = mem.clipSearch(textEmbedding, {
372
+ * topK: 10,
373
+ * memoryFilters: [{ slot: 'cat:verification' }]
374
+ * });
375
+ *
376
+ * // Legacy: pass just a number for topK
341
377
  * const similar = mem.clipSearch(imageEmbedding, 10);
342
378
  * ```
343
379
  */
344
- clipSearch(queryEmbedding: number[], topK?: number): ClipSearchHit[];
380
+ clipSearch(queryEmbedding: number[], options?: ClipSearchOptions | number): ClipSearchHit[];
381
+ /**
382
+ * Hybrid search using both text query and vector embedding.
383
+ *
384
+ * Performs vector similarity search using the pre-computed embedding.
385
+ * The query string is used for snippet generation and ranking.
386
+ * Requires vec index to be enabled.
387
+ *
388
+ * @param query - Text query for lexical matching and snippet generation
389
+ * @param queryEmbedding - Pre-computed embedding vector (384-1536 dimensions)
390
+ * @param options - Search options including topK, memoryFilters, includeCards
391
+ * @returns Search results with hits
392
+ *
393
+ * @example
394
+ * ```typescript
395
+ * const embedding = await embedder.embedQuery('machine learning');
396
+ * const results = mem.hybridSearch('machine learning', embedding, {
397
+ * topK: 10,
398
+ * memoryFilters: [{ slot: 'category', valueContains: 'tech' }],
399
+ * includeCards: true
400
+ * });
401
+ * ```
402
+ */
403
+ hybridSearch(query: string, queryEmbedding: number[], options?: HybridSearchOptions & {
404
+ topK?: number;
405
+ }): SearchResult;
406
+ /**
407
+ * Graph search combining memory cards with vector/lexical search.
408
+ *
409
+ * Uses QueryPlanner to analyze the query and determine the best execution strategy:
410
+ * - For simple queries: vector-only search (falls back to lexical)
411
+ * - For queries referencing entities: hybrid search combining memory cards and lexical search
412
+ *
413
+ * @param query - Natural language query (can include entity references)
414
+ * @param options - Search options including topK, memoryFilters, includeCards
415
+ * @returns Graph search results with hits and execution plan info
416
+ *
417
+ * @example
418
+ * ```typescript
419
+ * // Simple query
420
+ * const results = mem.graphSearch('machine learning algorithms');
421
+ *
422
+ * // Query with entity reference (triggers graph matching)
423
+ * const results = mem.graphSearch('where does Alice work?', {
424
+ * topK: 5,
425
+ * includeCards: true
426
+ * });
427
+ *
428
+ * // With memory filters
429
+ * const results = mem.graphSearch('projects', {
430
+ * memoryFilters: [{ entity: 'user' }]
431
+ * });
432
+ * ```
433
+ */
434
+ graphSearch(query: string, options?: GraphSearchOptions): GraphSearchResult;
345
435
  /**
346
436
  * Get timeline entries (chronological view of frames)
347
437
  *
@@ -596,6 +686,27 @@ export declare class Memvid {
596
686
  * ```
597
687
  */
598
688
  markFrameEnriched(frameId: number): void;
689
+ /**
690
+ * Get all entities that have a specific slot
691
+ *
692
+ * Useful for pre-filtering search by slot presence.
693
+ * Returns a sorted list of unique entity names.
694
+ *
695
+ * @param slot - The slot/attribute to search for
696
+ * @param value - Optional value to filter by (exact match)
697
+ * @returns Array of entity names that have the specified slot
698
+ *
699
+ * @example
700
+ * ```typescript
701
+ * // Get all entities with a 'verification' slot
702
+ * const entities = mem.getEntitiesBySlot('cat:verification');
703
+ * // Returns: ['thread:123', 'thread:456', ...]
704
+ *
705
+ * // Get entities with a specific slot value
706
+ * const learnable = mem.getEntitiesBySlot('learnable', '1');
707
+ * ```
708
+ */
709
+ getEntitiesBySlot(slot: string, value?: string): string[];
599
710
  }
600
711
  /**
601
712
  * Create a new memvid file
@@ -615,6 +726,26 @@ export declare function create(path: string): Memvid;
615
726
  * @returns A Memvid instance for the existing file
616
727
  */
617
728
  export declare function open(path: string): Memvid;
729
+ /**
730
+ * Open an existing memvid file in read-only mode (shared lock)
731
+ *
732
+ * Convenience function that wraps Memvid.openReadOnly()
733
+ *
734
+ * This acquires a shared lock and avoids blocking other readers.
735
+ *
736
+ * @param path - Path to the .mv2 file to open
737
+ * @returns A Memvid instance for the existing file
738
+ */
739
+ export declare function openReadOnly(path: string): Memvid;
740
+ /**
741
+ * Open an existing memvid file as a snapshot without acquiring a lock
742
+ *
743
+ * Convenience function that wraps Memvid.openSnapshot()
744
+ *
745
+ * @param path - Path to the .mv2 file to open
746
+ * @returns A Memvid instance for the existing file
747
+ */
748
+ export declare function openSnapshot(path: string): Memvid;
618
749
  /**
619
750
  * Get the version of memvid-node
620
751
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -64,6 +64,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
64
64
  exports.Memvid = void 0;
65
65
  exports.create = create;
66
66
  exports.open = open;
67
+ exports.openReadOnly = openReadOnly;
68
+ exports.openSnapshot = openSnapshot;
67
69
  exports.version = version;
68
70
  exports.lock = lock;
69
71
  exports.unlock = unlock;
@@ -122,6 +124,7 @@ function parseSearchOptions(options) {
122
124
  excludeIds: undefined,
123
125
  excludeUris: undefined,
124
126
  memoryFilters: undefined,
127
+ includeCards: undefined,
125
128
  };
126
129
  }
127
130
  if (options) {
@@ -132,6 +135,7 @@ function parseSearchOptions(options) {
132
135
  excludeIds: options.excludeFrameIds,
133
136
  excludeUris: options.excludeUris,
134
137
  memoryFilters: options.memoryFilters,
138
+ includeCards: options.includeCards,
135
139
  };
136
140
  }
137
141
  return {
@@ -141,6 +145,7 @@ function parseSearchOptions(options) {
141
145
  excludeIds: undefined,
142
146
  excludeUris: undefined,
143
147
  memoryFilters: undefined,
148
+ includeCards: undefined,
144
149
  };
145
150
  }
146
151
  /**
@@ -186,6 +191,8 @@ class Memvid {
186
191
  /**
187
192
  * Open an existing memvid file
188
193
  *
194
+ * This acquires an exclusive lock for the lifetime of the handle.
195
+ *
189
196
  * @param path - Path to the .mv2 file to open
190
197
  * @returns A Memvid instance for the existing file
191
198
  *
@@ -203,6 +210,51 @@ class Memvid {
203
210
  throw (0, error_1.parseNapiError)(error);
204
211
  }
205
212
  }
213
+ /**
214
+ * Open an existing memvid file in read-only mode (shared lock)
215
+ *
216
+ * This acquires a shared lock and avoids blocking other readers.
217
+ *
218
+ * @param path - Path to the .mv2 file to open
219
+ * @returns A Memvid instance for the existing file
220
+ *
221
+ * @example
222
+ * ```typescript
223
+ * const mem = Memvid.openReadOnly('/tmp/existing.mv2');
224
+ * ```
225
+ */
226
+ static openReadOnly(path) {
227
+ try {
228
+ const handle = native.openReadOnly(path);
229
+ return new Memvid(handle, path);
230
+ }
231
+ catch (error) {
232
+ throw (0, error_1.parseNapiError)(error);
233
+ }
234
+ }
235
+ /**
236
+ * Open an existing memvid file as a snapshot without acquiring a lock
237
+ *
238
+ * This reads the last committed footer for a consistent view even if a writer is active.
239
+ * While snapshot readers are active, shrink operations are deferred and the footer is appended.
240
+ *
241
+ * @param path - Path to the .mv2 file to open
242
+ * @returns A Memvid instance for the existing file
243
+ *
244
+ * @example
245
+ * ```typescript
246
+ * const mem = Memvid.openSnapshot('/tmp/existing.mv2');
247
+ * ```
248
+ */
249
+ static openSnapshot(path) {
250
+ try {
251
+ const handle = native.openSnapshot(path);
252
+ return new Memvid(handle, path);
253
+ }
254
+ catch (error) {
255
+ throw (0, error_1.parseNapiError)(error);
256
+ }
257
+ }
206
258
  /** Get the file path */
207
259
  get path() {
208
260
  return this.filePath;
@@ -430,9 +482,9 @@ class Memvid {
430
482
  if (typeof query !== 'string') {
431
483
  throw new error_1.MemvidError('INVALID_INPUT', 'query must be a string');
432
484
  }
433
- const { limit, uri, scope, excludeIds, excludeUris, memoryFilters } = parseSearchOptions(options);
485
+ const { limit, uri, scope, excludeIds, excludeUris, memoryFilters, includeCards } = parseSearchOptions(options);
434
486
  try {
435
- return this.handle.find(query, limit, uri, scope, excludeIds, excludeUris, memoryFilters);
487
+ return this.handle.find(query, limit, uri, scope, excludeIds, excludeUris, memoryFilters, includeCards);
436
488
  }
437
489
  catch (error) {
438
490
  throw (0, error_1.parseNapiError)(error);
@@ -494,9 +546,9 @@ class Memvid {
494
546
  */
495
547
  vecSearch(queryEmbedding, options) {
496
548
  const validEmbedding = validateEmbedding(queryEmbedding, 'queryEmbedding');
497
- const { limit, uri, scope, excludeIds, excludeUris } = parseSearchOptions(options);
549
+ const { limit, uri, scope, excludeIds, excludeUris, memoryFilters, includeCards } = parseSearchOptions(options);
498
550
  try {
499
- return this.handle.vecSearch(validEmbedding, limit, uri, scope, excludeIds, excludeUris);
551
+ return this.handle.vecSearch(validEmbedding, limit, uri, scope, excludeIds, excludeUris, memoryFilters, includeCards);
500
552
  }
501
553
  catch (error) {
502
554
  throw (0, error_1.parseNapiError)(error);
@@ -633,28 +685,105 @@ class Memvid {
633
685
  * Returns hits sorted by distance (lower is more similar).
634
686
  *
635
687
  * @param queryEmbedding - The query embedding (from CLIP text or image encoder)
636
- * @param topK - Maximum number of results to return (default: 10)
688
+ * @param options - Search options (topK, memoryFilters) or just a number for topK
637
689
  * @returns Array of CLIP search hits with frame IDs, optional page numbers, and distances
638
690
  *
639
691
  * @example
640
692
  * ```typescript
641
693
  * // Search by text description
642
694
  * const textEmbedding = await clipModel.encodeText('a photo of a sunset');
643
- * const hits = mem.clipSearch(textEmbedding, 5);
695
+ * const hits = mem.clipSearch(textEmbedding, { topK: 5 });
644
696
  *
645
697
  * for (const hit of hits) {
646
698
  * console.log(`Frame ${hit.frameId}${hit.page ? ` page ${hit.page}` : ''}: distance ${hit.distance}`);
647
699
  * }
648
700
  *
649
- * // Search by image similarity
650
- * const imageEmbedding = await clipModel.encodeImage(queryImageBuffer);
701
+ * // Search with memory filters
702
+ * const hits = mem.clipSearch(textEmbedding, {
703
+ * topK: 10,
704
+ * memoryFilters: [{ slot: 'cat:verification' }]
705
+ * });
706
+ *
707
+ * // Legacy: pass just a number for topK
651
708
  * const similar = mem.clipSearch(imageEmbedding, 10);
652
709
  * ```
653
710
  */
654
- clipSearch(queryEmbedding, topK) {
711
+ clipSearch(queryEmbedding, options) {
712
+ const validEmbedding = validateEmbedding(queryEmbedding, 'queryEmbedding');
713
+ // Parse options - support legacy number for backwards compatibility
714
+ const parsedOptions = typeof options === 'number'
715
+ ? { topK: options }
716
+ : options || {};
717
+ try {
718
+ return this.handle.clipSearch(validEmbedding, parsedOptions);
719
+ }
720
+ catch (error) {
721
+ throw (0, error_1.parseNapiError)(error);
722
+ }
723
+ }
724
+ /**
725
+ * Hybrid search using both text query and vector embedding.
726
+ *
727
+ * Performs vector similarity search using the pre-computed embedding.
728
+ * The query string is used for snippet generation and ranking.
729
+ * Requires vec index to be enabled.
730
+ *
731
+ * @param query - Text query for lexical matching and snippet generation
732
+ * @param queryEmbedding - Pre-computed embedding vector (384-1536 dimensions)
733
+ * @param options - Search options including topK, memoryFilters, includeCards
734
+ * @returns Search results with hits
735
+ *
736
+ * @example
737
+ * ```typescript
738
+ * const embedding = await embedder.embedQuery('machine learning');
739
+ * const results = mem.hybridSearch('machine learning', embedding, {
740
+ * topK: 10,
741
+ * memoryFilters: [{ slot: 'category', valueContains: 'tech' }],
742
+ * includeCards: true
743
+ * });
744
+ * ```
745
+ */
746
+ hybridSearch(query, queryEmbedding, options) {
655
747
  const validEmbedding = validateEmbedding(queryEmbedding, 'queryEmbedding');
748
+ const topK = options?.topK ?? 10;
749
+ try {
750
+ return this.handle.hybridSearch(query, validEmbedding, topK, options);
751
+ }
752
+ catch (error) {
753
+ throw (0, error_1.parseNapiError)(error);
754
+ }
755
+ }
756
+ /**
757
+ * Graph search combining memory cards with vector/lexical search.
758
+ *
759
+ * Uses QueryPlanner to analyze the query and determine the best execution strategy:
760
+ * - For simple queries: vector-only search (falls back to lexical)
761
+ * - For queries referencing entities: hybrid search combining memory cards and lexical search
762
+ *
763
+ * @param query - Natural language query (can include entity references)
764
+ * @param options - Search options including topK, memoryFilters, includeCards
765
+ * @returns Graph search results with hits and execution plan info
766
+ *
767
+ * @example
768
+ * ```typescript
769
+ * // Simple query
770
+ * const results = mem.graphSearch('machine learning algorithms');
771
+ *
772
+ * // Query with entity reference (triggers graph matching)
773
+ * const results = mem.graphSearch('where does Alice work?', {
774
+ * topK: 5,
775
+ * includeCards: true
776
+ * });
777
+ *
778
+ * // With memory filters
779
+ * const results = mem.graphSearch('projects', {
780
+ * memoryFilters: [{ entity: 'user' }]
781
+ * });
782
+ * ```
783
+ */
784
+ graphSearch(query, options) {
656
785
  try {
657
- return this.handle.clipSearch(validEmbedding, topK);
786
+ return this.handle.graphSearch(query, options);
658
787
  }
659
788
  catch (error) {
660
789
  throw (0, error_1.parseNapiError)(error);
@@ -1068,6 +1197,34 @@ class Memvid {
1068
1197
  throw (0, error_1.parseNapiError)(error);
1069
1198
  }
1070
1199
  }
1200
+ /**
1201
+ * Get all entities that have a specific slot
1202
+ *
1203
+ * Useful for pre-filtering search by slot presence.
1204
+ * Returns a sorted list of unique entity names.
1205
+ *
1206
+ * @param slot - The slot/attribute to search for
1207
+ * @param value - Optional value to filter by (exact match)
1208
+ * @returns Array of entity names that have the specified slot
1209
+ *
1210
+ * @example
1211
+ * ```typescript
1212
+ * // Get all entities with a 'verification' slot
1213
+ * const entities = mem.getEntitiesBySlot('cat:verification');
1214
+ * // Returns: ['thread:123', 'thread:456', ...]
1215
+ *
1216
+ * // Get entities with a specific slot value
1217
+ * const learnable = mem.getEntitiesBySlot('learnable', '1');
1218
+ * ```
1219
+ */
1220
+ getEntitiesBySlot(slot, value) {
1221
+ try {
1222
+ return this.handle.getEntitiesBySlot(slot, value);
1223
+ }
1224
+ catch (error) {
1225
+ throw (0, error_1.parseNapiError)(error);
1226
+ }
1227
+ }
1071
1228
  }
1072
1229
  exports.Memvid = Memvid;
1073
1230
  /**
@@ -1092,6 +1249,30 @@ function create(path) {
1092
1249
  function open(path) {
1093
1250
  return Memvid.open(path);
1094
1251
  }
1252
+ /**
1253
+ * Open an existing memvid file in read-only mode (shared lock)
1254
+ *
1255
+ * Convenience function that wraps Memvid.openReadOnly()
1256
+ *
1257
+ * This acquires a shared lock and avoids blocking other readers.
1258
+ *
1259
+ * @param path - Path to the .mv2 file to open
1260
+ * @returns A Memvid instance for the existing file
1261
+ */
1262
+ function openReadOnly(path) {
1263
+ return Memvid.openReadOnly(path);
1264
+ }
1265
+ /**
1266
+ * Open an existing memvid file as a snapshot without acquiring a lock
1267
+ *
1268
+ * Convenience function that wraps Memvid.openSnapshot()
1269
+ *
1270
+ * @param path - Path to the .mv2 file to open
1271
+ * @returns A Memvid instance for the existing file
1272
+ */
1273
+ function openSnapshot(path) {
1274
+ return Memvid.openSnapshot(path);
1275
+ }
1095
1276
  /**
1096
1277
  * Get the version of memvid-node
1097
1278
  *
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -65,6 +65,8 @@ export interface SearchHit {
65
65
  title?: string;
66
66
  /** Frame URI */
67
67
  uri?: string;
68
+ /** Memory cards associated with this frame (when includeCards is true) */
69
+ cards?: MemoryCardSummary[];
68
70
  }
69
71
  /** Search response */
70
72
  export interface SearchResult {
@@ -147,6 +149,11 @@ export interface SearchOptions {
147
149
  * Applied at query-time BEFORE search ranking for efficient filtering.
148
150
  */
149
151
  memoryFilters?: MemoryFilter[];
152
+ /**
153
+ * Include memory cards in search results (avoids N+1 queries).
154
+ * When true, each hit will include associated memory cards.
155
+ */
156
+ includeCards?: boolean;
150
157
  }
151
158
  /** Statistics about a memvid file */
152
159
  export interface Stats {
@@ -245,6 +252,17 @@ export interface PutManyResult {
245
252
  /** Frame IDs of successfully stored documents (for convenience) */
246
253
  frameIds: number[];
247
254
  }
255
+ /** Summary of a memory card (returned with includeCards) */
256
+ export interface MemoryCardSummary {
257
+ /** The entity this memory is about */
258
+ entity: string;
259
+ /** The attribute/slot being described */
260
+ slot: string;
261
+ /** The actual value */
262
+ value: string;
263
+ /** Memory kind: "Fact", "Preference", "Event", etc. */
264
+ kind: string;
265
+ }
248
266
  /** A single CLIP visual search hit */
249
267
  export interface ClipSearchHit {
250
268
  /** Frame ID */
@@ -253,6 +271,90 @@ export interface ClipSearchHit {
253
271
  page?: number;
254
272
  /** L2 distance to query (lower is more similar) */
255
273
  distance: number;
274
+ /** Memory cards associated with this frame (when includeCards is true) */
275
+ cards?: MemoryCardSummary[];
276
+ }
277
+ /** Options for CLIP search */
278
+ export interface ClipSearchOptions {
279
+ /** Maximum number of results to return (default: 10) */
280
+ topK?: number;
281
+ /**
282
+ * Filter by Memory Cards - only return frames that have matching memory cards.
283
+ * Multiple filters are ORed together.
284
+ * Applied at query-time BEFORE search ranking for efficient filtering.
285
+ */
286
+ memoryFilters?: MemoryFilter[];
287
+ /**
288
+ * Include memory cards in search results (avoids N+1 queries).
289
+ * When true, each hit will include associated memory cards.
290
+ */
291
+ includeCards?: boolean;
292
+ }
293
+ /** Options for hybrid search (vector + text) */
294
+ export interface HybridSearchOptions {
295
+ /** Maximum characters for snippets (default: 200) */
296
+ snippetChars?: number;
297
+ /** URI scope filter (prefix match) */
298
+ scope?: string;
299
+ /**
300
+ * Filter by Memory Cards - only return frames that have matching memory cards.
301
+ * Multiple filters are ORed together.
302
+ * Applied at query-time BEFORE search ranking for efficient filtering.
303
+ */
304
+ memoryFilters?: MemoryFilter[];
305
+ /**
306
+ * Include memory cards in search results (avoids N+1 queries).
307
+ * When true, each hit will include associated memory cards.
308
+ */
309
+ includeCards?: boolean;
310
+ }
311
+ /** Options for graph search */
312
+ export interface GraphSearchOptions {
313
+ /** Maximum number of results to return (default: 10) */
314
+ topK?: number;
315
+ /** URI scope filter (prefix match) */
316
+ scope?: string;
317
+ /**
318
+ * Filter by Memory Cards - only return frames that have matching memory cards.
319
+ * Multiple filters are ORed together.
320
+ * Applied at query-time BEFORE search ranking for efficient filtering.
321
+ */
322
+ memoryFilters?: MemoryFilter[];
323
+ /**
324
+ * Include memory cards in search results (avoids N+1 queries).
325
+ * When true, each hit will include associated memory cards.
326
+ */
327
+ includeCards?: boolean;
328
+ }
329
+ /** A single graph search hit */
330
+ export interface GraphSearchHit {
331
+ /** Frame ID */
332
+ frameId: number;
333
+ /** Combined relevance score (graph + vector) */
334
+ score: number;
335
+ /** Graph pattern match score (0.0-1.0) */
336
+ graphScore: number;
337
+ /** Vector/lexical similarity score */
338
+ vectorScore: number;
339
+ /** Entity that matched the graph pattern (if any) */
340
+ matchedEntity?: string;
341
+ /** Frame content preview */
342
+ preview?: string;
343
+ /** Memory cards associated with this frame (when includeCards is true) */
344
+ cards?: MemoryCardSummary[];
345
+ }
346
+ /** Result of graph search including execution plan info */
347
+ export interface GraphSearchResult {
348
+ /** Search hits */
349
+ hits: GraphSearchHit[];
350
+ /** Execution plan used: "vector_only", "graph_only", or "hybrid" */
351
+ planType: string;
352
+ /** Whether the plan used graph patterns */
353
+ usesGraph: boolean;
354
+ /** Whether the plan used vector/lexical search */
355
+ usesVector: boolean;
356
+ /** Total number of hits */
357
+ totalHits: number;
256
358
  }
257
359
  /**
258
360
  * A segment of transcription with timestamps
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -148,6 +148,8 @@ export interface SearchHit {
148
148
  title?: string
149
149
  /** Frame URI */
150
150
  uri?: string
151
+ /** Memory cards associated with this frame (when includeCards is true) */
152
+ cards?: Array<JsMemoryCardSummary>
151
153
  }
152
154
  /** Search response */
153
155
  export interface SearchResult {
@@ -160,6 +162,17 @@ export interface SearchResult {
160
162
  /** Cursor for pagination */
161
163
  cursor?: string
162
164
  }
165
+ /** Summary of a memory card (used in includeCards responses) */
166
+ export interface JsMemoryCardSummary {
167
+ /** The entity this memory is about */
168
+ entity: string
169
+ /** The attribute/slot being described */
170
+ slot: string
171
+ /** The actual value */
172
+ value: string
173
+ /** Memory kind: "Fact", "Preference", "Event", etc. */
174
+ kind: string
175
+ }
163
176
  /** A single CLIP visual search hit */
164
177
  export interface ClipSearchHitResult {
165
178
  /** Frame ID */
@@ -168,6 +181,8 @@ export interface ClipSearchHitResult {
168
181
  page?: number
169
182
  /** L2 distance to query (lower is more similar) */
170
183
  distance: number
184
+ /** Memory cards associated with this frame (when includeCards is true) */
185
+ cards?: Array<JsMemoryCardSummary>
171
186
  }
172
187
  /**
173
188
  * Memory filter for restricting search to frames with matching Memory Cards.
@@ -191,6 +206,10 @@ export interface HybridSearchOptions {
191
206
  snippetChars?: number
192
207
  /** URI scope filter (prefix match) */
193
208
  scope?: string
209
+ /** Filter by memory cards at query time */
210
+ memoryFilters?: Array<JsMemoryFilter>
211
+ /** Include memory cards in results */
212
+ includeCards?: boolean
194
213
  }
195
214
  /** Options for adaptive search */
196
215
  export interface AdaptiveSearchOptions {
@@ -329,10 +348,21 @@ export interface AskResponseOutput {
329
348
  export interface GraphSearchOptions {
330
349
  /** Maximum number of results to return */
331
350
  topK?: number
332
- /** Maximum characters for snippets */
333
- snippetChars?: number
334
351
  /** URI scope filter (prefix match) */
335
352
  scope?: string
353
+ /** Filter by memory cards at query time */
354
+ memoryFilters?: Array<JsMemoryFilter>
355
+ /** Include memory cards in results */
356
+ includeCards?: boolean
357
+ }
358
+ /** Options for CLIP search */
359
+ export interface ClipSearchOptions {
360
+ /** Maximum number of results to return */
361
+ topK?: number
362
+ /** Filter by memory cards at query time */
363
+ memoryFilters?: Array<JsMemoryFilter>
364
+ /** Include memory cards in results */
365
+ includeCards?: boolean
336
366
  }
337
367
  /** A single graph search hit */
338
368
  export interface GraphSearchHit {
@@ -348,6 +378,8 @@ export interface GraphSearchHit {
348
378
  matchedEntity?: string
349
379
  /** Frame content preview */
350
380
  preview?: string
381
+ /** Memory cards associated with this frame (when includeCards is true) */
382
+ cards?: Array<JsMemoryCardSummary>
351
383
  }
352
384
  /** Result of graph search including execution plan info */
353
385
  export interface GraphSearchResult {
@@ -486,12 +518,30 @@ export declare function create(path: string): MemvidHandle
486
518
  /**
487
519
  * Open an existing memvid file
488
520
  *
489
- * This will open an existing .mv2 file for reading and writing.
521
+ * This will open an existing .mv2 file for reading and writing with an exclusive lock.
490
522
  *
491
523
  * Security: Path must have .mv2 extension and cannot contain path traversal.
492
524
  * Symlinks are resolved and verified to point to .mv2 files.
493
525
  */
494
526
  export declare function open(path: string): MemvidHandle
527
+ /**
528
+ * Open an existing memvid file in read-only mode (shared lock).
529
+ *
530
+ * This will open an existing .mv2 file for reading and acquire a shared lock.
531
+ *
532
+ * Security: Path must have .mv2 extension and cannot contain path traversal.
533
+ * Symlinks are resolved and verified to point to .mv2 files.
534
+ */
535
+ export declare function openReadOnly(path: string): MemvidHandle
536
+ /**
537
+ * Open an existing memvid file as a snapshot without acquiring a lock.
538
+ *
539
+ * This reads the last committed footer for a consistent view even if a writer is active.
540
+ *
541
+ * Security: Path must have .mv2 extension and cannot contain path traversal.
542
+ * Symlinks are resolved and verified to point to .mv2 files.
543
+ */
544
+ export declare function openSnapshot(path: string): MemvidHandle
495
545
  /** Get version information */
496
546
  export declare function version(): string
497
547
  /**
@@ -566,9 +616,9 @@ export declare class MemvidHandle {
566
616
  /**
567
617
  * Search for documents
568
618
  *
569
- * Supports filtering by URI, scope, exclusions, and memory filters.
619
+ * Supports filtering by URI, scope, exclusions, memory filters, and includeCards.
570
620
  */
571
- find(query: string, limit?: number | undefined | null, uri?: string | undefined | null, scope?: string | undefined | null, excludeIds?: Array<number> | undefined | null, excludeUris?: Array<string> | undefined | null, memoryFilters?: Array<JsMemoryFilter> | undefined | null): SearchResult
621
+ find(query: string, limit?: number | undefined | null, uri?: string | undefined | null, scope?: string | undefined | null, excludeIds?: Array<number> | undefined | null, excludeUris?: Array<string> | undefined | null, memoryFilters?: Array<JsMemoryFilter> | undefined | null, includeCards?: boolean | undefined | null): SearchResult
572
622
  /** Enable lexical (text) search index */
573
623
  enableLex(): void
574
624
  /**
@@ -583,9 +633,9 @@ export declare class MemvidHandle {
583
633
  *
584
634
  * Returns the top_k most similar frames to the query embedding.
585
635
  * Requires vec index to be enabled.
586
- * Supports filtering by exclude_frame_ids and exclude_uris.
636
+ * Supports filtering by memory_filters (at query time), exclude_frame_ids, and exclude_uris.
587
637
  */
588
- vecSearch(queryEmbedding: Array<number>, limit?: number | undefined | null, uri?: string | undefined | null, scope?: string | undefined | null, excludeIds?: Array<number> | undefined | null, excludeUrisParam?: Array<string> | undefined | null): SearchResult
638
+ vecSearch(queryEmbedding: Array<number>, limit?: number | undefined | null, uri?: string | undefined | null, scope?: string | undefined | null, excludeIds?: Array<number> | undefined | null, excludeUrisParam?: Array<string> | undefined | null, memoryFilters?: Array<JsMemoryFilter> | undefined | null, includeCards?: boolean | undefined | null): SearchResult
589
639
  /**
590
640
  * Enable CLIP visual embeddings index
591
641
  *
@@ -614,14 +664,18 @@ export declare class MemvidHandle {
614
664
  * Returns the top_k most similar frames to the query embedding.
615
665
  * Use an external CLIP model to generate the query embedding from text or image.
616
666
  * Results are sorted by distance (lower is more similar).
667
+ *
668
+ * Supports memory filters to restrict results to frames with matching memory cards.
617
669
  */
618
- clipSearch(queryEmbedding: Array<number>, limit?: number | undefined | null): Array<ClipSearchHitResult>
670
+ clipSearch(queryEmbedding: Array<number>, options?: ClipSearchOptions | undefined | null): Array<ClipSearchHitResult>
619
671
  /**
620
672
  * Hybrid search using both text query and vector embedding
621
673
  *
622
674
  * Performs vector similarity search using the pre-computed embedding.
623
675
  * The query string is used for snippet generation and metadata.
624
676
  * Requires vec index to be enabled.
677
+ *
678
+ * Supports memory filters to restrict results to frames with matching memory cards.
625
679
  */
626
680
  hybridSearch(query: string, queryEmbedding: Array<number>, limit?: number | undefined | null, options?: HybridSearchOptions | undefined | null): SearchResult
627
681
  /**
@@ -649,6 +703,8 @@ export declare class MemvidHandle {
649
703
  *
650
704
  * This provides intelligent retrieval that leverages structured knowledge (memory cards)
651
705
  * when the query references known entities.
706
+ *
707
+ * Supports memory filters to restrict results to frames with matching memory cards.
652
708
  */
653
709
  graphSearch(query: string, options?: GraphSearchOptions | undefined | null): GraphSearchResult
654
710
  /**
@@ -728,6 +784,17 @@ export declare class MemvidHandle {
728
784
  * Removes all memory cards and enrichment records. This is destructive.
729
785
  */
730
786
  clearMemories(): void
787
+ /**
788
+ * Get all entities that have a specific slot
789
+ *
790
+ * Useful for pre-filtering search by slot presence.
791
+ * Returns a sorted list of unique entity names.
792
+ *
793
+ * # Arguments
794
+ * * `slot` - The slot/attribute to search for
795
+ * * `value` - Optional value to filter by (exact match)
796
+ */
797
+ getEntitiesBySlot(slot: string, value?: string | undefined | null): Array<string>
731
798
  /**
732
799
  * Get current value for entity:slot (O(1) lookup)
733
800
  *
package/index.js CHANGED
@@ -310,11 +310,13 @@ if (!nativeBinding) {
310
310
  throw new Error(`Failed to load native binding`)
311
311
  }
312
312
 
313
- const { MemvidHandle, create, open, version, lock, unlock, doctor, maskPii, containsPii } = nativeBinding
313
+ const { MemvidHandle, create, open, openReadOnly, openSnapshot, version, lock, unlock, doctor, maskPii, containsPii } = nativeBinding
314
314
 
315
315
  module.exports.MemvidHandle = MemvidHandle
316
316
  module.exports.create = create
317
317
  module.exports.open = open
318
+ module.exports.openReadOnly = openReadOnly
319
+ module.exports.openSnapshot = openSnapshot
318
320
  module.exports.version = version
319
321
  module.exports.lock = lock
320
322
  module.exports.unlock = unlock
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fpisani/memvid",
3
- "version": "1.2.0",
3
+ "version": "1.3.1",
4
4
  "description": "Node.js bindings for memvid-core - unlimited local AI memory",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -68,9 +68,9 @@
68
68
  "url": "https://github.com/f-pisani/memvid/issues"
69
69
  },
70
70
  "optionalDependencies": {
71
- "@fpisani/memvid-win32-x64-msvc": "1.2.0",
72
- "@fpisani/memvid-darwin-x64": "1.2.0",
73
- "@fpisani/memvid-linux-x64-gnu": "1.2.0",
74
- "@fpisani/memvid-darwin-arm64": "1.2.0"
71
+ "@fpisani/memvid-win32-x64-msvc": "1.3.1",
72
+ "@fpisani/memvid-darwin-x64": "1.3.1",
73
+ "@fpisani/memvid-linux-x64-gnu": "1.3.1",
74
+ "@fpisani/memvid-darwin-arm64": "1.3.1"
75
75
  }
76
76
  }