hermes-wasm 1.8.127 → 1.8.129

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
@@ -326,3 +326,36 @@ Browser JS
326
326
  └── IndexRegistry (multi-index management)
327
327
  └── Map<name, RemoteIndex>
328
328
  ```
329
+
330
+ ## Structured search diagnostics
331
+
332
+ `searchStructured` accepts `includeRrfScores` for fusion queries and `tracing`
333
+ for any supported structured query. Both default to false:
334
+
335
+ ```js
336
+ const response = await index.searchStructured({
337
+ query: {
338
+ fusion: {
339
+ queries: [
340
+ { name: "title", query: { match: { field: "title", text: "rust" } } },
341
+ { name: "body", query: { match: { field: "body", text: "rust" } } },
342
+ ],
343
+ },
344
+ },
345
+ limit: 10,
346
+ includeRrfScores: true,
347
+ tracing: true,
348
+ });
349
+ console.log(response.hits[0].rrf_score, response.hits[0].rrf_contributions);
350
+ console.log(response.trace.shards[0].queries);
351
+ ```
352
+
353
+ Responses use snake_case, matching other WASM search results. RRF attribution
354
+ uses complete bounded branch lists before pagination and leaves `score`
355
+ unchanged. The local trace includes each branch's query tree, raw candidate
356
+ scores/ordinals and selected addresses, without hydrating discarded documents.
357
+ It contains one local shard with empty broker/backend IDs. The trace observes
358
+ the configured retrieval depth and does not run Boolean clauses independently.
359
+ The diagnostic window is capped at 10,000; candidate/ordinal bounds and a 64 MiB
360
+ JSON response limit reject oversized exports. WASM supports its existing RRF and
361
+ weighted-sum fusion modes; server L1/reranker features remain server APIs.
package/hermes_wasm.d.ts CHANGED
@@ -67,6 +67,10 @@ export class IpfsIndex {
67
67
  * Import cache
68
68
  */
69
69
  import_cache(data: Uint8Array): void;
70
+ /**
71
+ * Load cache from IndexedDB
72
+ */
73
+ load_cache_from_idb(): Promise<boolean>;
70
74
  /**
71
75
  * Load index using JavaScript fetch functions
72
76
  *
@@ -74,10 +78,6 @@ export class IpfsIndex {
74
78
  * @param size_fn - JS function: (path: string) => Promise<number>
75
79
  */
76
80
  load(fetch_fn: Function, size_fn: Function): Promise<void>;
77
- /**
78
- * Load cache from IndexedDB
79
- */
80
- load_cache_from_idb(): Promise<boolean>;
81
81
  /**
82
82
  * Load index with IndexedDB cache pre-loaded
83
83
  *
@@ -284,6 +284,12 @@ export class RemoteIndex {
284
284
  * network requests for previously fetched data.
285
285
  */
286
286
  import_cache(data: Uint8Array): void;
287
+ /**
288
+ * Load the slice cache from IndexedDB
289
+ *
290
+ * Call this after load() to restore cached data from a previous session.
291
+ */
292
+ load_cache_from_idb(): Promise<boolean>;
287
293
  /**
288
294
  * Load index from URL using hermes-core Index with slice caching
289
295
  *
@@ -291,12 +297,6 @@ export class RemoteIndex {
291
297
  * to prefill the cache with hot data, reducing cold-start latency.
292
298
  */
293
299
  load(): Promise<void>;
294
- /**
295
- * Load the slice cache from IndexedDB
296
- *
297
- * Call this after load() to restore cached data from a previous session.
298
- */
299
- load_cache_from_idb(): Promise<boolean>;
300
300
  /**
301
301
  * Load index with IndexedDB cache pre-loaded
302
302
  *
package/hermes_wasm.js CHANGED
@@ -176,6 +176,14 @@ export class IpfsIndex {
176
176
  throw takeFromExternrefTable0(ret[0]);
177
177
  }
178
178
  }
179
+ /**
180
+ * Load cache from IndexedDB
181
+ * @returns {Promise<boolean>}
182
+ */
183
+ load_cache_from_idb() {
184
+ const ret = wasm.ipfsindex_load_cache_from_idb(this.__wbg_ptr);
185
+ return ret;
186
+ }
179
187
  /**
180
188
  * Load index using JavaScript fetch functions
181
189
  *
@@ -189,14 +197,6 @@ export class IpfsIndex {
189
197
  const ret = wasm.ipfsindex_load(this.__wbg_ptr, fetch_fn, size_fn);
190
198
  return ret;
191
199
  }
192
- /**
193
- * Load cache from IndexedDB
194
- * @returns {Promise<boolean>}
195
- */
196
- load_cache_from_idb() {
197
- const ret = wasm.ipfsindex_load_cache_from_idb(this.__wbg_ptr);
198
- return ret;
199
- }
200
200
  /**
201
201
  * Load index with IndexedDB cache pre-loaded
202
202
  *
@@ -628,6 +628,16 @@ export class RemoteIndex {
628
628
  throw takeFromExternrefTable0(ret[0]);
629
629
  }
630
630
  }
631
+ /**
632
+ * Load the slice cache from IndexedDB
633
+ *
634
+ * Call this after load() to restore cached data from a previous session.
635
+ * @returns {Promise<boolean>}
636
+ */
637
+ load_cache_from_idb() {
638
+ const ret = wasm.remoteindex_load_cache_from_idb(this.__wbg_ptr);
639
+ return ret;
640
+ }
631
641
  /**
632
642
  * Load index from URL using hermes-core Index with slice caching
633
643
  *
@@ -639,16 +649,6 @@ export class RemoteIndex {
639
649
  const ret = wasm.remoteindex_load(this.__wbg_ptr);
640
650
  return ret;
641
651
  }
642
- /**
643
- * Load the slice cache from IndexedDB
644
- *
645
- * Call this after load() to restore cached data from a previous session.
646
- * @returns {Promise<boolean>}
647
- */
648
- load_cache_from_idb() {
649
- const ret = wasm.remoteindex_load_cache_from_idb(this.__wbg_ptr);
650
- return ret;
651
- }
652
652
  /**
653
653
  * Load index with IndexedDB cache pre-loaded
654
654
  *
@@ -1344,22 +1344,22 @@ function __wbg_get_imports() {
1344
1344
  console.warn(arg0);
1345
1345
  },
1346
1346
  __wbindgen_generic_0000000000000001: function(arg0, arg1) {
1347
- // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 1916, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
1347
+ // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 1958, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
1348
1348
  const ret = makeMutClosure(arg0, arg1, wasm_bindgen_7dc0dc7663c6ddce___convert__closures_____invoke___wasm_bindgen_7dc0dc7663c6ddce___JsValue__core_ed718c3d60ebd546___result__Result_____wasm_bindgen_7dc0dc7663c6ddce___JsError___true_);
1349
1349
  return ret;
1350
1350
  },
1351
1351
  __wbindgen_generic_0000000000000002: function(arg0, arg1) {
1352
- // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("Event")], shim_idx: 378, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1352
+ // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("Event")], shim_idx: 501, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1353
1353
  const ret = makeMutClosure(arg0, arg1, wasm_bindgen_7dc0dc7663c6ddce___convert__closures_____invoke___web_sys_456b715baf4530bf___features__gen_IdbVersionChangeEvent__IdbVersionChangeEvent______true_);
1354
1354
  return ret;
1355
1355
  },
1356
1356
  __wbindgen_generic_0000000000000003: function(arg0, arg1) {
1357
- // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("IDBVersionChangeEvent")], shim_idx: 378, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1357
+ // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("IDBVersionChangeEvent")], shim_idx: 501, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1358
1358
  const ret = makeMutClosure(arg0, arg1, wasm_bindgen_7dc0dc7663c6ddce___convert__closures_____invoke___web_sys_456b715baf4530bf___features__gen_IdbVersionChangeEvent__IdbVersionChangeEvent______true__66);
1359
1359
  return ret;
1360
1360
  },
1361
1361
  __wbindgen_generic_0000000000000004: function(arg0, arg1) {
1362
- // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [], shim_idx: 1048, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1362
+ // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [], shim_idx: 1090, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1363
1363
  const ret = makeMutClosure(arg0, arg1, wasm_bindgen_7dc0dc7663c6ddce___convert__closures_____invoke_______true_);
1364
1364
  return ret;
1365
1365
  },
Binary file
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "izihawa"
6
6
  ],
7
7
  "description": "WASM bindings for Hermes search engine",
8
- "version": "1.8.127",
8
+ "version": "1.8.129",
9
9
  "license": "MIT",
10
10
  "repository": {
11
11
  "type": "git",