eigen-db 4.2.0 → 4.3.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/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ # v4.3.0
2
+
3
+ Added: option to choose between in memory or OPFS storage backends
4
+
1
5
  # v4.2.0
2
6
 
3
7
  Added: import/export in binary format
package/README.md CHANGED
@@ -4,7 +4,7 @@ High-performance vector database for the web.
4
4
 
5
5
  `eigen-db` stores and queries embedding vectors in-browser, using:
6
6
 
7
- - OPFS (Origin Private File System) for persistence
7
+ - Pluggable storage backends (in-memory by default, OPFS for browser persistence)
8
8
  - WASM SIMD for fast compute when available
9
9
  - JavaScript fallback when WASM SIMD is unavailable
10
10
 
@@ -21,13 +21,24 @@ npm install eigen-db
21
21
  ```ts
22
22
  import { DB } from "eigen-db";
23
23
 
24
+ // In-memory (default) — no persistence, great for ephemeral sessions
24
25
  const db = await DB.open({
25
- name: "my-index", // optional, defaults to "default"
26
26
  dimensions: 1536, // required
27
27
  normalize: true, // optional, defaults to true
28
28
  });
29
29
  ```
30
30
 
31
+ For browser persistence, mount an OPFS storage backend:
32
+
33
+ ```ts
34
+ import { DB, OPFSStorageProvider } from "eigen-db";
35
+
36
+ const db = await DB.open({
37
+ dimensions: 1536,
38
+ storage: new OPFSStorageProvider("my-index"), // persistent OPFS directory
39
+ });
40
+ ```
41
+
31
42
  ### 2) Insert vectors
32
43
 
33
44
  ```ts
@@ -221,9 +232,9 @@ interface ResultItem {
221
232
 
222
233
  ```ts
223
234
  interface OpenOptions {
224
- name?: string; // OPFS directory name, default: "default"
225
235
  dimensions: number; // vector size
226
236
  normalize?: boolean; // default: true
237
+ storage?: StorageProvider; // default: InMemoryStorageProvider
227
238
  }
228
239
  ```
229
240
 
@@ -233,12 +244,10 @@ Advanced/testing override options.
233
244
 
234
245
  ```ts
235
246
  interface OpenOptionsInternal extends OpenOptions {
236
- storage?: StorageProvider;
237
247
  wasmBinary?: Uint8Array | null;
238
248
  }
239
249
  ```
240
250
 
241
- - `storage`: provide custom storage implementation (for example, tests)
242
251
  - `wasmBinary`:
243
252
  - `Uint8Array`: use provided precompiled WASM
244
253
  - `null`: force JavaScript-only compute