@taladb/web 0.11.2 → 0.11.3
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 +2 -2
- package/package.json +1 -1
- package/pkg/README.md +2 -2
- package/pkg/package.json +1 -1
- package/pkg/taladb_web.d.ts +5 -5
- package/pkg/taladb_web.js +7 -6
- package/pkg/taladb_web_bg.wasm +0 -0
- package/pkg/taladb_web_bg.wasm.d.ts +1 -1
- package/worker/taladb.worker.js +254 -981
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ Browser WASM bindings for TalaDB — persistent local-first storage via WASM + O
|
|
|
10
10
|
## What it provides
|
|
11
11
|
|
|
12
12
|
- Rust core compiled to WebAssembly via `wasm-bindgen`
|
|
13
|
-
- Persistent storage using [OPFS](https://developer.mozilla.org/en-US/docs/Web/API/File_System_API/Origin_private_file_system) (`FileSystemSyncAccessHandle`) — runs on a
|
|
13
|
+
- Persistent storage using [OPFS](https://developer.mozilla.org/en-US/docs/Web/API/File_System_API/Origin_private_file_system) (`FileSystemSyncAccessHandle`) — runs on a DedicatedWorker so the main thread is never blocked
|
|
14
14
|
- In-memory fallback for environments without OPFS support
|
|
15
15
|
- Bundle size target: < 400 KB gzipped
|
|
16
16
|
|
|
@@ -58,7 +58,7 @@ export default defineConfig({
|
|
|
58
58
|
|
|
59
59
|
### Web Worker (OPFS)
|
|
60
60
|
|
|
61
|
-
TalaDB spawns a
|
|
61
|
+
TalaDB spawns a DedicatedWorker internally to own the OPFS file handle. No extra configuration is required — the worker script is bundled inside this package at `@taladb/web/worker/taladb.worker.js`.
|
|
62
62
|
|
|
63
63
|
## Direct usage (advanced)
|
|
64
64
|
|
package/package.json
CHANGED
package/pkg/README.md
CHANGED
|
@@ -10,7 +10,7 @@ Browser WASM bindings for TalaDB — persistent local-first storage via WASM + O
|
|
|
10
10
|
## What it provides
|
|
11
11
|
|
|
12
12
|
- Rust core compiled to WebAssembly via `wasm-bindgen`
|
|
13
|
-
- Persistent storage using [OPFS](https://developer.mozilla.org/en-US/docs/Web/API/File_System_API/Origin_private_file_system) (`FileSystemSyncAccessHandle`) — runs on a
|
|
13
|
+
- Persistent storage using [OPFS](https://developer.mozilla.org/en-US/docs/Web/API/File_System_API/Origin_private_file_system) (`FileSystemSyncAccessHandle`) — runs on a DedicatedWorker so the main thread is never blocked
|
|
14
14
|
- In-memory fallback for environments without OPFS support
|
|
15
15
|
- Bundle size target: < 400 KB gzipped
|
|
16
16
|
|
|
@@ -58,7 +58,7 @@ export default defineConfig({
|
|
|
58
58
|
|
|
59
59
|
### Web Worker (OPFS)
|
|
60
60
|
|
|
61
|
-
TalaDB spawns a
|
|
61
|
+
TalaDB spawns a DedicatedWorker internally to own the OPFS file handle. No extra configuration is required — the worker script is bundled inside this package at `@taladb/web/worker/taladb.worker.js`.
|
|
62
62
|
|
|
63
63
|
## Direct usage (advanced)
|
|
64
64
|
|
package/pkg/package.json
CHANGED
package/pkg/taladb_web.d.ts
CHANGED
|
@@ -32,7 +32,7 @@ export class CollectionWasm {
|
|
|
32
32
|
* `dimensions` - expected vector length.
|
|
33
33
|
* `metric` - optional: `"cosine"` (default), `"dot"`, or `"euclidean"`.
|
|
34
34
|
* `index_type` - optional: `"flat"` (default) or `"hnsw"`.
|
|
35
|
-
* `hnsw_m` - HNSW connectivity (
|
|
35
|
+
* `hnsw_m` - HNSW connectivity (only 32 is supported).
|
|
36
36
|
* `hnsw_ef_construction` - build quality (default 200).
|
|
37
37
|
*/
|
|
38
38
|
createVectorIndex(field: string, dimensions: number, metric?: string | null, index_type?: string | null, hnsw_m?: number | null, hnsw_ef_construction?: number | null): void;
|
|
@@ -199,7 +199,7 @@ export class WorkerDB {
|
|
|
199
199
|
*
|
|
200
200
|
* - `metric_str`: `"cosine"` (default) | `"dot"` | `"euclidean"`
|
|
201
201
|
* - `index_type`: `"flat"` (default) | `"hnsw"`
|
|
202
|
-
* - `hnsw_m`: HNSW connectivity (
|
|
202
|
+
* - `hnsw_m`: HNSW connectivity (only 32 is supported)
|
|
203
203
|
* - `hnsw_ef_construction`: build-time quality (default 200, only used when `index_type = "hnsw"`)
|
|
204
204
|
*/
|
|
205
205
|
createVectorIndex(collection: string, field: string, dimensions: number, metric_str?: string | null, index_type?: string | null, hnsw_m?: number | null, hnsw_ef_construction?: number | null): void;
|
|
@@ -232,7 +232,7 @@ export class WorkerDB {
|
|
|
232
232
|
* Pass the returned bytes to `idbSaveSnapshot` to persist across page reloads.
|
|
233
233
|
* On next open, pass the same bytes to `openWithSnapshot` to restore all data.
|
|
234
234
|
*/
|
|
235
|
-
exportSnapshot(): Uint8Array;
|
|
235
|
+
exportSnapshot(max_bytes?: number | null): Uint8Array;
|
|
236
236
|
/**
|
|
237
237
|
* Find documents. Returns a JSON array of document objects.
|
|
238
238
|
*/
|
|
@@ -303,7 +303,7 @@ export class WorkerDB {
|
|
|
303
303
|
/**
|
|
304
304
|
* Open a database backed by an OPFS `FileSystemSyncAccessHandle`.
|
|
305
305
|
*
|
|
306
|
-
* Call sequence in the
|
|
306
|
+
* Call sequence in the DedicatedWorker:
|
|
307
307
|
* ```js
|
|
308
308
|
* const handle = await file_handle.createSyncAccessHandle();
|
|
309
309
|
* const workerDb = WorkerDB.openWithOpfs(handle);
|
|
@@ -493,7 +493,7 @@ export interface InitOutput {
|
|
|
493
493
|
readonly workerdb_dropFtsIndex: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
494
494
|
readonly workerdb_dropIndex: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
495
495
|
readonly workerdb_dropVectorIndex: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
496
|
-
readonly workerdb_exportSnapshot: (a: number) => [number, number, number, number];
|
|
496
|
+
readonly workerdb_exportSnapshot: (a: number, b: number) => [number, number, number, number];
|
|
497
497
|
readonly workerdb_find: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
498
498
|
readonly workerdb_findNearest: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number, number, number];
|
|
499
499
|
readonly workerdb_findOne: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
package/pkg/taladb_web.js
CHANGED
|
@@ -85,7 +85,7 @@ export class CollectionWasm {
|
|
|
85
85
|
* `dimensions` - expected vector length.
|
|
86
86
|
* `metric` - optional: `"cosine"` (default), `"dot"`, or `"euclidean"`.
|
|
87
87
|
* `index_type` - optional: `"flat"` (default) or `"hnsw"`.
|
|
88
|
-
* `hnsw_m` - HNSW connectivity (
|
|
88
|
+
* `hnsw_m` - HNSW connectivity (only 32 is supported).
|
|
89
89
|
* `hnsw_ef_construction` - build quality (default 200).
|
|
90
90
|
* @param {string} field
|
|
91
91
|
* @param {number} dimensions
|
|
@@ -606,7 +606,7 @@ export class WorkerDB {
|
|
|
606
606
|
*
|
|
607
607
|
* - `metric_str`: `"cosine"` (default) | `"dot"` | `"euclidean"`
|
|
608
608
|
* - `index_type`: `"flat"` (default) | `"hnsw"`
|
|
609
|
-
* - `hnsw_m`: HNSW connectivity (
|
|
609
|
+
* - `hnsw_m`: HNSW connectivity (only 32 is supported)
|
|
610
610
|
* - `hnsw_ef_construction`: build-time quality (default 200, only used when `index_type = "hnsw"`)
|
|
611
611
|
* @param {string} collection
|
|
612
612
|
* @param {string} field
|
|
@@ -745,10 +745,11 @@ export class WorkerDB {
|
|
|
745
745
|
*
|
|
746
746
|
* Pass the returned bytes to `idbSaveSnapshot` to persist across page reloads.
|
|
747
747
|
* On next open, pass the same bytes to `openWithSnapshot` to restore all data.
|
|
748
|
+
* @param {number | null} [max_bytes]
|
|
748
749
|
* @returns {Uint8Array}
|
|
749
750
|
*/
|
|
750
|
-
exportSnapshot() {
|
|
751
|
-
const ret = wasm.workerdb_exportSnapshot(this.__wbg_ptr);
|
|
751
|
+
exportSnapshot(max_bytes) {
|
|
752
|
+
const ret = wasm.workerdb_exportSnapshot(this.__wbg_ptr, isLikeNone(max_bytes) ? 0x100000001 : (max_bytes) >>> 0);
|
|
752
753
|
if (ret[3]) {
|
|
753
754
|
throw takeFromExternrefTable0(ret[2]);
|
|
754
755
|
}
|
|
@@ -1074,7 +1075,7 @@ export class WorkerDB {
|
|
|
1074
1075
|
/**
|
|
1075
1076
|
* Open a database backed by an OPFS `FileSystemSyncAccessHandle`.
|
|
1076
1077
|
*
|
|
1077
|
-
* Call sequence in the
|
|
1078
|
+
* Call sequence in the DedicatedWorker:
|
|
1078
1079
|
* ```js
|
|
1079
1080
|
* const handle = await file_handle.createSyncAccessHandle();
|
|
1080
1081
|
* const workerDb = WorkerDB.openWithOpfs(handle);
|
|
@@ -1880,7 +1881,7 @@ function __wbg_get_imports() {
|
|
|
1880
1881
|
return ret;
|
|
1881
1882
|
},
|
|
1882
1883
|
__wbindgen_cast_0000000000000002: function(arg0, arg1) {
|
|
1883
|
-
// Cast intrinsic for `Closure(Closure { dtor_idx:
|
|
1884
|
+
// Cast intrinsic for `Closure(Closure { dtor_idx: 569, function: Function { arguments: [Externref], shim_idx: 570, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
|
|
1884
1885
|
const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen_e9a25e3ce4b9afff___closure__destroy___dyn_core_f0fd674eaa06beef___ops__function__FnMut__wasm_bindgen_e9a25e3ce4b9afff___JsValue____Output___core_f0fd674eaa06beef___result__Result_____wasm_bindgen_e9a25e3ce4b9afff___JsError___, wasm_bindgen_e9a25e3ce4b9afff___convert__closures_____invoke___wasm_bindgen_e9a25e3ce4b9afff___JsValue__core_f0fd674eaa06beef___result__Result_____wasm_bindgen_e9a25e3ce4b9afff___JsError___true_);
|
|
1885
1886
|
return ret;
|
|
1886
1887
|
},
|
package/pkg/taladb_web_bg.wasm
CHANGED
|
Binary file
|
|
@@ -54,7 +54,7 @@ export const workerdb_dropCompoundIndex: (a: number, b: number, c: number, d: nu
|
|
|
54
54
|
export const workerdb_dropFtsIndex: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
55
55
|
export const workerdb_dropIndex: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
56
56
|
export const workerdb_dropVectorIndex: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
57
|
-
export const workerdb_exportSnapshot: (a: number) => [number, number, number, number];
|
|
57
|
+
export const workerdb_exportSnapshot: (a: number, b: number) => [number, number, number, number];
|
|
58
58
|
export const workerdb_find: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
59
59
|
export const workerdb_findNearest: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number, number, number];
|
|
60
60
|
export const workerdb_findOne: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|