hermes-client-typescript 1.8.95 → 1.8.97

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/dist/client.js CHANGED
@@ -2,14 +2,15 @@
2
2
  /**
3
3
  * Async Hermes client implementation.
4
4
  *
5
- * All search types mirror the proto API structure exactly.
6
- * See types.ts for Query, Reranker, SearchRequest definitions.
5
+ * Search types mirror the protobuf API. Serialization details live in
6
+ * converters.ts so this class remains focused on connection and RPC lifecycle.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.HermesClient = void 0;
10
10
  const grpc_js_1 = require("@grpc/grpc-js");
11
11
  const nice_grpc_1 = require("nice-grpc");
12
12
  const nice_grpc_client_middleware_deadline_1 = require("nice-grpc-client-middleware-deadline");
13
+ const converters_1 = require("./converters");
13
14
  const hermes_1 = require("./generated/hermes");
14
15
  class HermesClient {
15
16
  constructor(address = "localhost:50051", options = {}) {
@@ -19,16 +20,9 @@ class HermesClient {
19
20
  this.address = address;
20
21
  this.defaultTimeoutMs = options.defaultTimeoutMs;
21
22
  }
22
- /** Per-call options with the effective deadline (call override > default). */
23
- callOptions(timeoutMs) {
24
- const ms = timeoutMs ?? this.defaultTimeoutMs;
25
- return ms !== undefined && ms > 0 ? { deadline: new Date(Date.now() + ms) } : {};
26
- }
27
23
  /** Connect to the server. */
28
24
  connect() {
29
25
  this.channel = (0, nice_grpc_1.createChannel)(this.address, grpc_js_1.ChannelCredentials.createInsecure());
30
- // Deadline middleware: per-call `deadline` becomes a real gRPC deadline
31
- // (grpc-timeout header, DEADLINE_EXCEEDED on expiry).
32
26
  const factory = (0, nice_grpc_1.createClientFactory)().use(nice_grpc_client_middleware_deadline_1.deadlineMiddleware);
33
27
  this.indexClient = factory.create(hermes_1.IndexServiceDefinition, this.channel);
34
28
  this.searchClient = factory.create(hermes_1.SearchServiceDefinition, this.channel);
@@ -42,14 +36,18 @@ class HermesClient {
42
36
  this.searchClient = null;
43
37
  }
44
38
  }
39
+ /** Per-call options with the effective deadline (call override > default). */
40
+ callOptions(timeoutMs) {
41
+ const milliseconds = timeoutMs ?? this.defaultTimeoutMs;
42
+ return milliseconds !== undefined && milliseconds > 0
43
+ ? { deadline: new Date(Date.now() + milliseconds) }
44
+ : {};
45
+ }
45
46
  ensureConnected() {
46
47
  if (!this.indexClient || !this.searchClient) {
47
48
  throw new Error("Client not connected. Call connect() first.");
48
49
  }
49
50
  }
50
- // =========================================================================
51
- // Index Management
52
- // =========================================================================
53
51
  /** Create a new index. */
54
52
  async createIndex(indexName, schema, timeoutMs) {
55
53
  this.ensureConnected();
@@ -77,30 +75,26 @@ class HermesClient {
77
75
  numDocs: response.numDocs,
78
76
  numSegments: response.numSegments,
79
77
  schema: response.schema,
80
- vectorStats: (response.vectorStats || []).map((vs) => ({
81
- fieldName: vs.fieldName,
82
- vectorType: vs.vectorType,
83
- totalVectors: vs.totalVectors,
84
- dimension: vs.dimension,
78
+ vectorStats: (response.vectorStats ?? []).map((stats) => ({
79
+ fieldName: stats.fieldName,
80
+ vectorType: stats.vectorType,
81
+ totalVectors: stats.totalVectors,
82
+ dimension: stats.dimension,
85
83
  })),
86
84
  };
87
85
  }
88
- // =========================================================================
89
- // Document Indexing
90
- // =========================================================================
91
- /** Index multiple documents in batch. Returns [indexedCount, errorCount, errors]. */
86
+ /** Index multiple documents. Returns [indexedCount, errorCount, errors]. */
92
87
  async indexDocuments(indexName, documents, timeoutMs) {
93
88
  this.ensureConnected();
94
- const namedDocs = documents.map((doc) => ({
95
- fields: toFieldEntries(doc),
96
- }));
97
89
  const response = await this.indexClient.batchIndexDocuments({
98
90
  indexName,
99
- documents: namedDocs,
91
+ documents: documents.map((document) => ({
92
+ fields: (0, converters_1.toFieldEntries)(document),
93
+ })),
100
94
  }, this.callOptions(timeoutMs));
101
- const errors = (response.errors ?? []).map((e) => ({
102
- index: e.index,
103
- error: e.error,
95
+ const errors = (response.errors ?? []).map((error) => ({
96
+ index: error.index,
97
+ error: error.error,
104
98
  }));
105
99
  return [response.indexedCount, response.errorCount, errors];
106
100
  }
@@ -112,10 +106,10 @@ class HermesClient {
112
106
  async indexDocumentsStream(indexName, documents, timeoutMs) {
113
107
  this.ensureConnected();
114
108
  async function* requestIterator() {
115
- for await (const doc of documents) {
109
+ for await (const document of documents) {
116
110
  yield {
117
111
  indexName,
118
- fields: toFieldEntries(doc),
112
+ fields: (0, converters_1.toFieldEntries)(document),
119
113
  };
120
114
  }
121
115
  }
@@ -140,62 +134,32 @@ class HermesClient {
140
134
  const response = await this.indexClient.retrainVectorIndex({ indexName }, this.callOptions(timeoutMs));
141
135
  return response.success;
142
136
  }
143
- /** Reorder BMP blocks by SimHash similarity for better pruning. Returns number of segments. */
137
+ /** Reorder BMP blocks by SimHash similarity. */
144
138
  async reorder(indexName, timeoutMs) {
145
139
  this.ensureConnected();
146
140
  const response = await this.indexClient.reorder({ indexName }, this.callOptions(timeoutMs));
147
141
  return response.numSegments;
148
142
  }
149
- // =========================================================================
150
- // Search
151
- // =========================================================================
152
143
  /**
153
144
  * Search for documents.
154
145
  *
155
146
  * @example
156
- * // Term query
157
- * await client.search("articles", {
158
- * query: { term: { field: "title", term: "hello" } },
159
- * });
160
- *
161
- * // Match query (full-text, tokenized server-side)
162
147
  * await client.search("articles", {
163
- * query: { match: { field: "title", text: "what is hemoglobin" } },
164
- * });
165
- *
166
- * // Sparse vector query with server-side tokenization + pruning
167
- * await client.search("docs", {
168
- * query: { sparseVector: { field: "embedding", text: "machine learning", pruning: 0.5 } },
148
+ * query: { match: { field: "title", text: "search engine" } },
169
149
  * fieldsToLoad: ["title"],
170
150
  * });
171
- *
172
- * // Dense vector query
173
- * await client.search("docs", {
174
- * query: { denseVector: { field: "embedding", vector: [0.1, 0.2, ...], nprobe: 10 } },
175
- * reranker: { field: "embedding", vector: [0.1, 0.2, ...] },
176
- * limit: 50,
177
- * candidateLimit: 100,
178
- * });
179
- *
180
- * // Boolean query
181
- * await client.search("articles", {
182
- * query: { boolean: {
183
- * must: [{ match: { field: "title", text: "hello" } }],
184
- * should: [{ match: { field: "body", text: "world" } }],
185
- * }},
186
- * });
187
151
  */
188
152
  async search(indexName, request, timeoutMs) {
189
153
  this.ensureConnected();
190
- const query = buildQuery(request.query);
191
- const reranker = request.reranker ? buildReranker(request.reranker) : undefined;
192
154
  const response = await this.searchClient.search({
193
155
  indexName,
194
- query,
156
+ query: (0, converters_1.buildQuery)(request.query),
195
157
  limit: request.limit ?? 10,
196
158
  offset: request.offset ?? 0,
197
159
  fieldsToLoad: request.fieldsToLoad ?? [],
198
- reranker,
160
+ reranker: request.reranker
161
+ ? (0, converters_1.buildReranker)(request.reranker)
162
+ : undefined,
199
163
  candidateLimit: request.candidateLimit ?? 0,
200
164
  }, this.callOptions(timeoutMs));
201
165
  const hits = response.hits.map((hit) => ({
@@ -204,10 +168,13 @@ class HermesClient {
204
168
  docId: hit.address?.docId ?? 0,
205
169
  },
206
170
  score: hit.score,
207
- fields: Object.fromEntries(Object.entries(hit.fields).map(([k, v]) => [k, fromFieldValueList(v)])),
208
- ordinalScores: (hit.ordinalScores ?? []).map((os) => ({
209
- ordinal: os.ordinal,
210
- score: os.score,
171
+ fields: Object.fromEntries(Object.entries(hit.fields).map(([name, value]) => [
172
+ name,
173
+ (0, converters_1.fromFieldValueList)(value),
174
+ ])),
175
+ ordinalScores: (hit.ordinalScores ?? []).map((score) => ({
176
+ ordinal: score.ordinal,
177
+ score: score.score,
211
178
  })),
212
179
  }));
213
180
  const timings = response.timings
@@ -236,275 +203,24 @@ class HermesClient {
236
203
  docId: address.docId,
237
204
  },
238
205
  }, this.callOptions(timeoutMs));
239
- const fields = Object.fromEntries(Object.entries(response.fields).map(([k, v]) => [k, fromFieldValueList(v)]));
240
- return { fields };
206
+ return {
207
+ fields: Object.fromEntries(Object.entries(response.fields).map(([name, value]) => [
208
+ name,
209
+ (0, converters_1.fromFieldValueList)(value),
210
+ ])),
211
+ };
241
212
  }
242
- catch (err) {
243
- // gRPC NOT_FOUND status code
244
- const GRPC_NOT_FOUND = 5;
245
- if (err?.code === GRPC_NOT_FOUND) {
213
+ catch (error) {
214
+ // gRPC NOT_FOUND status code.
215
+ if (typeof error === "object" &&
216
+ error !== null &&
217
+ "code" in error &&
218
+ error.code === 5) {
246
219
  return null;
247
220
  }
248
- throw err;
221
+ throw error;
249
222
  }
250
223
  }
251
224
  }
252
225
  exports.HermesClient = HermesClient;
253
- // =============================================================================
254
- // Proto conversion helpers
255
- // =============================================================================
256
- const COMBINER_MAP = {
257
- log_sum_exp: hermes_1.MultiValueCombiner.COMBINER_LOG_SUM_EXP,
258
- max: hermes_1.MultiValueCombiner.COMBINER_MAX,
259
- avg: hermes_1.MultiValueCombiner.COMBINER_AVG,
260
- sum: hermes_1.MultiValueCombiner.COMBINER_SUM,
261
- weighted_top_k: hermes_1.MultiValueCombiner.COMBINER_WEIGHTED_TOP_K,
262
- };
263
- function combinerToProto(combiner) {
264
- return combiner ? (COMBINER_MAP[combiner] ?? hermes_1.MultiValueCombiner.COMBINER_LOG_SUM_EXP) : hermes_1.MultiValueCombiner.COMBINER_LOG_SUM_EXP;
265
- }
266
- function buildQuery(q) {
267
- if ("term" in q) {
268
- return { term: { field: q.term.field, term: q.term.term } };
269
- }
270
- if ("match" in q) {
271
- return { match: { field: q.match.field, text: q.match.text } };
272
- }
273
- if ("boolean" in q) {
274
- return {
275
- boolean: {
276
- must: (q.boolean.must ?? []).map(buildQuery),
277
- should: (q.boolean.should ?? []).map(buildQuery),
278
- mustNot: (q.boolean.mustNot ?? []).map(buildQuery),
279
- },
280
- };
281
- }
282
- if ("sparseVector" in q) {
283
- const sv = q.sparseVector;
284
- return {
285
- sparseVector: {
286
- field: sv.field,
287
- indices: sv.indices ?? [],
288
- values: sv.values ?? [],
289
- text: sv.text ?? "",
290
- combiner: combinerToProto(sv.combiner),
291
- heapFactor: sv.heapFactor ?? 0,
292
- combinerTemperature: sv.combinerTemperature ?? 0,
293
- combinerTopK: sv.combinerTopK ?? 0,
294
- combinerDecay: sv.combinerDecay ?? 0,
295
- weightThreshold: sv.weightThreshold ?? 0,
296
- maxQueryDims: sv.maxQueryDims ?? 0,
297
- pruning: sv.pruning ?? 0,
298
- },
299
- };
300
- }
301
- if ("denseVector" in q) {
302
- const dv = q.denseVector;
303
- return {
304
- denseVector: {
305
- field: dv.field,
306
- vector: dv.vector,
307
- nprobe: dv.nprobe ?? 0,
308
- combiner: combinerToProto(dv.combiner),
309
- combinerTemperature: dv.combinerTemperature ?? 0,
310
- combinerTopK: dv.combinerTopK ?? 0,
311
- combinerDecay: dv.combinerDecay ?? 0,
312
- },
313
- };
314
- }
315
- if ("binaryDenseVector" in q) {
316
- const bv = q.binaryDenseVector;
317
- return {
318
- binaryDenseVector: {
319
- field: bv.field,
320
- vector: bv.vector,
321
- combiner: combinerToProto(bv.combiner),
322
- combinerTemperature: bv.combinerTemperature ?? 0,
323
- combinerTopK: bv.combinerTopK ?? 0,
324
- combinerDecay: bv.combinerDecay ?? 0,
325
- },
326
- };
327
- }
328
- if ("boost" in q) {
329
- return { boost: { query: buildQuery(q.boost.query), boost: q.boost.boost } };
330
- }
331
- if ("range" in q) {
332
- const r = q.range;
333
- return {
334
- range: {
335
- field: r.field,
336
- minU64: r.minU64,
337
- maxU64: r.maxU64,
338
- minI64: r.minI64,
339
- maxI64: r.maxI64,
340
- minF64: r.minF64,
341
- maxF64: r.maxF64,
342
- },
343
- };
344
- }
345
- if ("prefix" in q) {
346
- return { prefix: { field: q.prefix.field, prefix: q.prefix.prefix } };
347
- }
348
- if ("all" in q) {
349
- return { all: {} };
350
- }
351
- if ("fusion" in q) {
352
- const f = q.fusion;
353
- return {
354
- fusion: {
355
- queries: f.queries.map((wq) => ({
356
- query: buildQuery(wq.query),
357
- weight: wq.weight ?? 1.0,
358
- })),
359
- method: f.method === "normalized_weighted_sum"
360
- ? hermes_1.FusionMethod.FUSION_NORMALIZED_WEIGHTED_SUM
361
- : hermes_1.FusionMethod.FUSION_RRF,
362
- rrfK: f.rrfK ?? 0,
363
- combiner: combinerToProto(f.combiner),
364
- },
365
- };
366
- }
367
- const validKeys = ["term", "match", "boolean", "sparseVector", "denseVector", "binaryDenseVector", "boost", "range", "prefix", "all", "fusion"];
368
- const keys = Object.keys(q);
369
- throw new Error(`Unrecognized query key(s): ${keys.join(", ")}. Valid keys: ${validKeys.join(", ")}`);
370
- }
371
- function buildReranker(r) {
372
- return {
373
- field: r.field,
374
- vector: r.vector ?? [],
375
- combiner: combinerToProto(r.combiner),
376
- combinerTemperature: r.combinerTemperature ?? 0,
377
- combinerTopK: r.combinerTopK ?? 0,
378
- combinerDecay: r.combinerDecay ?? 0,
379
- matryoshkaDims: r.matryoshkaDims ?? 0,
380
- binaryVector: r.binaryVector ?? new Uint8Array(0),
381
- rrfK: r.rrfK ?? 0,
382
- };
383
- }
384
- // =============================================================================
385
- // Document field helpers
386
- // =============================================================================
387
- function isSparseVector(value) {
388
- if (value.length === 0)
389
- return false;
390
- return value.every((item) => Array.isArray(item) &&
391
- item.length === 2 &&
392
- typeof item[0] === "number" &&
393
- typeof item[1] === "number" &&
394
- Number.isInteger(item[0]));
395
- }
396
- function isMultiSparseVector(value) {
397
- if (value.length === 0)
398
- return false;
399
- return value.every((item) => Array.isArray(item) && isSparseVector(item));
400
- }
401
- function isDenseVector(value) {
402
- if (value.length === 0)
403
- return false;
404
- return value.every((v) => typeof v === "number" && typeof v !== "boolean");
405
- }
406
- function isMultiDenseVector(value) {
407
- if (value.length === 0)
408
- return false;
409
- return value.every((item) => Array.isArray(item) && isDenseVector(item));
410
- }
411
- function toFieldEntries(doc) {
412
- const entries = [];
413
- for (const [name, value] of Object.entries(doc)) {
414
- if (Array.isArray(value)) {
415
- if (isMultiSparseVector(value)) {
416
- for (const sv of value) {
417
- const indices = sv.map((item) => item[0]);
418
- const values = sv.map((item) => item[1]);
419
- entries.push({
420
- name,
421
- value: { sparseVector: { indices, values } },
422
- });
423
- }
424
- continue;
425
- }
426
- if (isMultiDenseVector(value)) {
427
- for (const dv of value) {
428
- entries.push({
429
- name,
430
- value: { denseVector: { values: dv.map(Number) } },
431
- });
432
- }
433
- continue;
434
- }
435
- // Multi-value plain field: ["val1", "val2", ...] -> separate entries
436
- for (const item of value) {
437
- entries.push({ name, value: toFieldValue(item) });
438
- }
439
- continue;
440
- }
441
- entries.push({ name, value: toFieldValue(value) });
442
- }
443
- return entries;
444
- }
445
- function toFieldValue(value) {
446
- if (typeof value === "string") {
447
- return { text: value };
448
- }
449
- if (typeof value === "boolean") {
450
- return { u64: value ? 1 : 0 };
451
- }
452
- if (typeof value === "number") {
453
- if (Number.isInteger(value)) {
454
- return value >= 0 ? { u64: value } : { i64: value };
455
- }
456
- return { f64: value };
457
- }
458
- if (value instanceof Uint8Array || Buffer.isBuffer(value)) {
459
- return { bytesValue: value instanceof Uint8Array ? value : new Uint8Array(value) };
460
- }
461
- if (Array.isArray(value)) {
462
- if (isSparseVector(value)) {
463
- const indices = value.map((item) => item[0]);
464
- const values = value.map((item) => item[1]);
465
- return { sparseVector: { indices, values } };
466
- }
467
- if (isDenseVector(value)) {
468
- return { denseVector: { values: value.map(Number) } };
469
- }
470
- return { jsonValue: JSON.stringify(value) };
471
- }
472
- if (typeof value === "object" && value !== null) {
473
- return { jsonValue: JSON.stringify(value) };
474
- }
475
- return { text: String(value) };
476
- }
477
- function fromFieldValue(fv) {
478
- if (fv.text !== undefined)
479
- return fv.text;
480
- if (fv.u64 !== undefined)
481
- return fv.u64;
482
- if (fv.i64 !== undefined)
483
- return fv.i64;
484
- if (fv.f64 !== undefined)
485
- return fv.f64;
486
- if (fv.bytesValue !== undefined)
487
- return fv.bytesValue;
488
- if (fv.jsonValue !== undefined)
489
- return JSON.parse(fv.jsonValue);
490
- if (fv.sparseVector !== undefined) {
491
- return {
492
- indices: Array.from(fv.sparseVector.indices),
493
- values: Array.from(fv.sparseVector.values),
494
- };
495
- }
496
- if (fv.denseVector !== undefined) {
497
- return Array.from(fv.denseVector.values);
498
- }
499
- if (fv.binaryDenseVector !== undefined) {
500
- return fv.binaryDenseVector;
501
- }
502
- return null;
503
- }
504
- function fromFieldValueList(fvl) {
505
- const values = fvl.values.map(fromFieldValue);
506
- if (values.length === 1)
507
- return values[0];
508
- return values;
509
- }
510
226
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Pure conversion helpers between the ergonomic client API and generated
3
+ * protobuf types. Keeping them free of channel state makes them easy to test
4
+ * and keeps HermesClient focused on RPC orchestration.
5
+ */
6
+ import { FieldEntry as PbFieldEntry, FieldValueList as PbFieldValueList, Query as PbQuery, Reranker as PbReranker } from "./generated/hermes";
7
+ import type { Query, Reranker } from "./types";
8
+ export declare function buildQuery(q: Query): PbQuery;
9
+ export declare function buildReranker(reranker: Reranker): PbReranker;
10
+ export declare function toFieldEntries(document: Record<string, unknown>): PbFieldEntry[];
11
+ export declare function fromFieldValueList(valueList: PbFieldValueList): unknown;
12
+ //# sourceMappingURL=converters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"converters.d.ts","sourceRoot":"","sources":["../src/converters.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,UAAU,IAAI,YAAY,EAE1B,cAAc,IAAI,gBAAgB,EAGlC,KAAK,IAAI,OAAO,EAChB,QAAQ,IAAI,UAAU,EAEvB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAY,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAiBzD,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CA6H5C;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,CAY5D;AA+CD,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,YAAY,EAAE,CAgChB;AA0DD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAGvE"}