hermes-client-typescript 1.4.49

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.
@@ -0,0 +1,443 @@
1
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
+ export declare const protobufPackage = "hermes";
3
+ /** How to combine scores for multi-valued documents */
4
+ export declare enum MultiValueCombiner {
5
+ /** COMBINER_LOG_SUM_EXP - Log-sum-exp smooth maximum (default) */
6
+ COMBINER_LOG_SUM_EXP = 0,
7
+ /** COMBINER_MAX - Take maximum score */
8
+ COMBINER_MAX = 1,
9
+ /** COMBINER_AVG - Average all scores */
10
+ COMBINER_AVG = 2,
11
+ /** COMBINER_SUM - Sum all scores */
12
+ COMBINER_SUM = 3,
13
+ /** COMBINER_WEIGHTED_TOP_K - Weighted top-k with decay */
14
+ COMBINER_WEIGHTED_TOP_K = 4,
15
+ UNRECOGNIZED = -1
16
+ }
17
+ export declare function multiValueCombinerFromJSON(object: any): MultiValueCombiner;
18
+ export declare function multiValueCombinerToJSON(object: MultiValueCombiner): string;
19
+ /** Query types */
20
+ export interface Query {
21
+ term?: TermQuery | undefined;
22
+ boolean?: BooleanQuery | undefined;
23
+ boost?: BoostQuery | undefined;
24
+ all?: AllQuery | undefined;
25
+ sparseVector?: SparseVectorQuery | undefined;
26
+ denseVector?: DenseVectorQuery | undefined;
27
+ match?: MatchQuery | undefined;
28
+ }
29
+ /**
30
+ * Sparse vector query for similarity search
31
+ * Either provide (indices, values) directly, or provide text for server-side tokenization
32
+ */
33
+ export interface SparseVectorQuery {
34
+ field: string;
35
+ /** Pre-computed token indices */
36
+ indices: number[];
37
+ /** Pre-computed token values */
38
+ values: number[];
39
+ /** Raw text (tokenized server-side if tokenizer configured) */
40
+ text: string;
41
+ /** How to combine scores for multi-value fields */
42
+ combiner: MultiValueCombiner;
43
+ /** Approximate search factor (1.0 = exact, 0.8 = ~20% faster) */
44
+ heapFactor: number;
45
+ /** Temperature for LogSumExp (default: 1.5) */
46
+ combinerTemperature: number;
47
+ /** K for WeightedTopK (default: 5) */
48
+ combinerTopK: number;
49
+ /** Decay for WeightedTopK (default: 0.7) */
50
+ combinerDecay: number;
51
+ }
52
+ /** Dense vector query for similarity search */
53
+ export interface DenseVectorQuery {
54
+ field: string;
55
+ vector: number[];
56
+ /** Number of clusters to probe (for IVF indexes) */
57
+ nprobe: number;
58
+ /** Re-ranking factor (multiplied by k) */
59
+ rerankFactor: number;
60
+ /** How to combine scores for multi-value fields */
61
+ combiner: MultiValueCombiner;
62
+ /** Temperature for LogSumExp (default: 1.5) */
63
+ combinerTemperature: number;
64
+ /** K for WeightedTopK (default: 5) */
65
+ combinerTopK: number;
66
+ /** Decay for WeightedTopK (default: 0.7) */
67
+ combinerDecay: number;
68
+ }
69
+ export interface TermQuery {
70
+ field: string;
71
+ term: string;
72
+ }
73
+ export interface BooleanQuery {
74
+ must: Query[];
75
+ should: Query[];
76
+ mustNot: Query[];
77
+ }
78
+ export interface BoostQuery {
79
+ query: Query | undefined;
80
+ boost: number;
81
+ }
82
+ export interface AllQuery {
83
+ }
84
+ /**
85
+ * Full-text match query - tokenizes text server-side and searches as OR of tokens
86
+ * Use this instead of TermQuery when searching with natural language text
87
+ */
88
+ export interface MatchQuery {
89
+ field: string;
90
+ text: string;
91
+ }
92
+ /** L2 reranker: rerank L1 candidates by exact dense vector distance */
93
+ export interface Reranker {
94
+ /** Dense vector field (must be stored) */
95
+ field: string;
96
+ /** Query vector */
97
+ vector: number[];
98
+ /** L1 candidate count (0 = 10x final limit) */
99
+ limit: number;
100
+ combiner: MultiValueCombiner;
101
+ combinerTemperature: number;
102
+ combinerTopK: number;
103
+ combinerDecay: number;
104
+ }
105
+ /** Search request/response */
106
+ export interface SearchRequest {
107
+ indexName: string;
108
+ query: Query | undefined;
109
+ limit: number;
110
+ offset: number;
111
+ fieldsToLoad: string[];
112
+ /** Optional L2 reranker */
113
+ reranker: Reranker | undefined;
114
+ }
115
+ export interface SearchHit {
116
+ docId: number;
117
+ score: number;
118
+ fields: {
119
+ [key: string]: FieldValue;
120
+ };
121
+ /** Per-ordinal scores for multi-value fields */
122
+ ordinalScores: OrdinalScore[];
123
+ }
124
+ export interface SearchHit_FieldsEntry {
125
+ key: string;
126
+ value: FieldValue | undefined;
127
+ }
128
+ /** Score contribution from a specific ordinal in a multi-valued field */
129
+ export interface OrdinalScore {
130
+ /** Which value in the multi-valued field (0-indexed) */
131
+ ordinal: number;
132
+ /** Score contribution from this ordinal */
133
+ score: number;
134
+ }
135
+ export interface FieldValue {
136
+ text?: string | undefined;
137
+ u64?: number | undefined;
138
+ i64?: number | undefined;
139
+ f64?: number | undefined;
140
+ bytesValue?: Uint8Array | undefined;
141
+ sparseVector?: SparseVector | undefined;
142
+ denseVector?: DenseVector | undefined;
143
+ /** JSON serialized as string */
144
+ jsonValue?: string | undefined;
145
+ }
146
+ /** Sparse vector with term indices and weights */
147
+ export interface SparseVector {
148
+ indices: number[];
149
+ values: number[];
150
+ }
151
+ /** Dense vector (float32 values) */
152
+ export interface DenseVector {
153
+ values: number[];
154
+ }
155
+ export interface SearchResponse {
156
+ hits: SearchHit[];
157
+ totalHits: number;
158
+ tookMs: number;
159
+ }
160
+ /** Get document request/response */
161
+ export interface GetDocumentRequest {
162
+ indexName: string;
163
+ docId: number;
164
+ }
165
+ export interface GetDocumentResponse {
166
+ fields: {
167
+ [key: string]: FieldValue;
168
+ };
169
+ }
170
+ export interface GetDocumentResponse_FieldsEntry {
171
+ key: string;
172
+ value: FieldValue | undefined;
173
+ }
174
+ /** Index info request/response */
175
+ export interface GetIndexInfoRequest {
176
+ indexName: string;
177
+ }
178
+ export interface GetIndexInfoResponse {
179
+ indexName: string;
180
+ numDocs: number;
181
+ numSegments: number;
182
+ /** Schema in SDL format */
183
+ schema: string;
184
+ /** Memory usage breakdown (if available) */
185
+ memoryStats: MemoryStats | undefined;
186
+ }
187
+ /** Memory usage statistics */
188
+ export interface MemoryStats {
189
+ /** Total estimated memory usage in bytes */
190
+ totalBytes: number;
191
+ /** Indexing buffer memory (pending documents not yet flushed) */
192
+ indexingBuffer: IndexingBufferStats | undefined;
193
+ /** Segment reader memory (loaded for search) */
194
+ segmentReader: SegmentReaderStats | undefined;
195
+ }
196
+ /** Indexing buffer memory breakdown */
197
+ export interface IndexingBufferStats {
198
+ totalBytes: number;
199
+ postingsBytes: number;
200
+ sparseVectorsBytes: number;
201
+ denseVectorsBytes: number;
202
+ internerBytes: number;
203
+ positionIndexBytes: number;
204
+ pendingDocs: number;
205
+ uniqueTerms: number;
206
+ }
207
+ /** Segment reader memory (search structures) */
208
+ export interface SegmentReaderStats {
209
+ totalBytes: number;
210
+ termDictCacheBytes: number;
211
+ storeCacheBytes: number;
212
+ sparseIndexBytes: number;
213
+ denseIndexBytes: number;
214
+ numSegmentsLoaded: number;
215
+ }
216
+ /** Create index request/response */
217
+ export interface CreateIndexRequest {
218
+ indexName: string;
219
+ /** Schema definition */
220
+ schema: string;
221
+ }
222
+ export interface CreateIndexResponse {
223
+ success: boolean;
224
+ }
225
+ /** Field entry for multi-value field support */
226
+ export interface FieldEntry {
227
+ name: string;
228
+ value: FieldValue | undefined;
229
+ }
230
+ /**
231
+ * Named document for batch indexing
232
+ * Uses repeated FieldEntry to support multi-value fields (same name, multiple values)
233
+ */
234
+ export interface NamedDocument {
235
+ fields: FieldEntry[];
236
+ }
237
+ /** Batch index documents request */
238
+ export interface BatchIndexDocumentsRequest {
239
+ indexName: string;
240
+ documents: NamedDocument[];
241
+ }
242
+ export interface BatchIndexDocumentsResponse {
243
+ indexedCount: number;
244
+ errorCount: number;
245
+ }
246
+ /** Index document request/response */
247
+ export interface IndexDocumentRequest {
248
+ indexName: string;
249
+ fields: FieldEntry[];
250
+ }
251
+ export interface IndexDocumentsResponse {
252
+ indexedCount: number;
253
+ }
254
+ /** Commit request/response */
255
+ export interface CommitRequest {
256
+ indexName: string;
257
+ }
258
+ export interface CommitResponse {
259
+ success: boolean;
260
+ numDocs: number;
261
+ }
262
+ /** Force merge request/response */
263
+ export interface ForceMergeRequest {
264
+ indexName: string;
265
+ }
266
+ export interface ForceMergeResponse {
267
+ success: boolean;
268
+ numSegments: number;
269
+ }
270
+ /** Delete index request/response */
271
+ export interface DeleteIndexRequest {
272
+ indexName: string;
273
+ }
274
+ export interface DeleteIndexResponse {
275
+ success: boolean;
276
+ }
277
+ /** List indexes request/response */
278
+ export interface ListIndexesRequest {
279
+ }
280
+ export interface ListIndexesResponse {
281
+ indexNames: string[];
282
+ }
283
+ export declare const Query: MessageFns<Query>;
284
+ export declare const SparseVectorQuery: MessageFns<SparseVectorQuery>;
285
+ export declare const DenseVectorQuery: MessageFns<DenseVectorQuery>;
286
+ export declare const TermQuery: MessageFns<TermQuery>;
287
+ export declare const BooleanQuery: MessageFns<BooleanQuery>;
288
+ export declare const BoostQuery: MessageFns<BoostQuery>;
289
+ export declare const AllQuery: MessageFns<AllQuery>;
290
+ export declare const MatchQuery: MessageFns<MatchQuery>;
291
+ export declare const Reranker: MessageFns<Reranker>;
292
+ export declare const SearchRequest: MessageFns<SearchRequest>;
293
+ export declare const SearchHit: MessageFns<SearchHit>;
294
+ export declare const SearchHit_FieldsEntry: MessageFns<SearchHit_FieldsEntry>;
295
+ export declare const OrdinalScore: MessageFns<OrdinalScore>;
296
+ export declare const FieldValue: MessageFns<FieldValue>;
297
+ export declare const SparseVector: MessageFns<SparseVector>;
298
+ export declare const DenseVector: MessageFns<DenseVector>;
299
+ export declare const SearchResponse: MessageFns<SearchResponse>;
300
+ export declare const GetDocumentRequest: MessageFns<GetDocumentRequest>;
301
+ export declare const GetDocumentResponse: MessageFns<GetDocumentResponse>;
302
+ export declare const GetDocumentResponse_FieldsEntry: MessageFns<GetDocumentResponse_FieldsEntry>;
303
+ export declare const GetIndexInfoRequest: MessageFns<GetIndexInfoRequest>;
304
+ export declare const GetIndexInfoResponse: MessageFns<GetIndexInfoResponse>;
305
+ export declare const MemoryStats: MessageFns<MemoryStats>;
306
+ export declare const IndexingBufferStats: MessageFns<IndexingBufferStats>;
307
+ export declare const SegmentReaderStats: MessageFns<SegmentReaderStats>;
308
+ export declare const CreateIndexRequest: MessageFns<CreateIndexRequest>;
309
+ export declare const CreateIndexResponse: MessageFns<CreateIndexResponse>;
310
+ export declare const FieldEntry: MessageFns<FieldEntry>;
311
+ export declare const NamedDocument: MessageFns<NamedDocument>;
312
+ export declare const BatchIndexDocumentsRequest: MessageFns<BatchIndexDocumentsRequest>;
313
+ export declare const BatchIndexDocumentsResponse: MessageFns<BatchIndexDocumentsResponse>;
314
+ export declare const IndexDocumentRequest: MessageFns<IndexDocumentRequest>;
315
+ export declare const IndexDocumentsResponse: MessageFns<IndexDocumentsResponse>;
316
+ export declare const CommitRequest: MessageFns<CommitRequest>;
317
+ export declare const CommitResponse: MessageFns<CommitResponse>;
318
+ export declare const ForceMergeRequest: MessageFns<ForceMergeRequest>;
319
+ export declare const ForceMergeResponse: MessageFns<ForceMergeResponse>;
320
+ export declare const DeleteIndexRequest: MessageFns<DeleteIndexRequest>;
321
+ export declare const DeleteIndexResponse: MessageFns<DeleteIndexResponse>;
322
+ export declare const ListIndexesRequest: MessageFns<ListIndexesRequest>;
323
+ export declare const ListIndexesResponse: MessageFns<ListIndexesResponse>;
324
+ /** Search service */
325
+ export type SearchServiceDefinition = typeof SearchServiceDefinition;
326
+ export declare const SearchServiceDefinition: {
327
+ readonly name: "SearchService";
328
+ readonly fullName: "hermes.SearchService";
329
+ readonly methods: {
330
+ /** Search for documents */
331
+ readonly search: {
332
+ readonly name: "Search";
333
+ readonly requestType: MessageFns<SearchRequest>;
334
+ readonly requestStream: false;
335
+ readonly responseType: MessageFns<SearchResponse>;
336
+ readonly responseStream: false;
337
+ readonly options: {};
338
+ };
339
+ /** Get document by ID */
340
+ readonly getDocument: {
341
+ readonly name: "GetDocument";
342
+ readonly requestType: MessageFns<GetDocumentRequest>;
343
+ readonly requestStream: false;
344
+ readonly responseType: MessageFns<GetDocumentResponse>;
345
+ readonly responseStream: false;
346
+ readonly options: {};
347
+ };
348
+ /** Get index info */
349
+ readonly getIndexInfo: {
350
+ readonly name: "GetIndexInfo";
351
+ readonly requestType: MessageFns<GetIndexInfoRequest>;
352
+ readonly requestStream: false;
353
+ readonly responseType: MessageFns<GetIndexInfoResponse>;
354
+ readonly responseStream: false;
355
+ readonly options: {};
356
+ };
357
+ };
358
+ };
359
+ /** Index service */
360
+ export type IndexServiceDefinition = typeof IndexServiceDefinition;
361
+ export declare const IndexServiceDefinition: {
362
+ readonly name: "IndexService";
363
+ readonly fullName: "hermes.IndexService";
364
+ readonly methods: {
365
+ /** Create a new index (supports both structured schema and SDL string) */
366
+ readonly createIndex: {
367
+ readonly name: "CreateIndex";
368
+ readonly requestType: MessageFns<CreateIndexRequest>;
369
+ readonly requestStream: false;
370
+ readonly responseType: MessageFns<CreateIndexResponse>;
371
+ readonly responseStream: false;
372
+ readonly options: {};
373
+ };
374
+ /** Add documents to index (streaming) */
375
+ readonly indexDocuments: {
376
+ readonly name: "IndexDocuments";
377
+ readonly requestType: MessageFns<IndexDocumentRequest>;
378
+ readonly requestStream: true;
379
+ readonly responseType: MessageFns<IndexDocumentsResponse>;
380
+ readonly responseStream: false;
381
+ readonly options: {};
382
+ };
383
+ /** Add documents in batch */
384
+ readonly batchIndexDocuments: {
385
+ readonly name: "BatchIndexDocuments";
386
+ readonly requestType: MessageFns<BatchIndexDocumentsRequest>;
387
+ readonly requestStream: false;
388
+ readonly responseType: MessageFns<BatchIndexDocumentsResponse>;
389
+ readonly responseStream: false;
390
+ readonly options: {};
391
+ };
392
+ /** Commit pending changes */
393
+ readonly commit: {
394
+ readonly name: "Commit";
395
+ readonly requestType: MessageFns<CommitRequest>;
396
+ readonly requestStream: false;
397
+ readonly responseType: MessageFns<CommitResponse>;
398
+ readonly responseStream: false;
399
+ readonly options: {};
400
+ };
401
+ /** Force merge segments */
402
+ readonly forceMerge: {
403
+ readonly name: "ForceMerge";
404
+ readonly requestType: MessageFns<ForceMergeRequest>;
405
+ readonly requestStream: false;
406
+ readonly responseType: MessageFns<ForceMergeResponse>;
407
+ readonly responseStream: false;
408
+ readonly options: {};
409
+ };
410
+ /** Delete an index */
411
+ readonly deleteIndex: {
412
+ readonly name: "DeleteIndex";
413
+ readonly requestType: MessageFns<DeleteIndexRequest>;
414
+ readonly requestStream: false;
415
+ readonly responseType: MessageFns<DeleteIndexResponse>;
416
+ readonly responseStream: false;
417
+ readonly options: {};
418
+ };
419
+ /** List all indexes */
420
+ readonly listIndexes: {
421
+ readonly name: "ListIndexes";
422
+ readonly requestType: MessageFns<ListIndexesRequest>;
423
+ readonly requestStream: false;
424
+ readonly responseType: MessageFns<ListIndexesResponse>;
425
+ readonly responseStream: false;
426
+ readonly options: {};
427
+ };
428
+ };
429
+ };
430
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
431
+ export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
432
+ [K in keyof T]?: DeepPartial<T[K]>;
433
+ } : Partial<T>;
434
+ export interface MessageFns<T> {
435
+ encode(message: T, writer?: BinaryWriter): BinaryWriter;
436
+ decode(input: BinaryReader | Uint8Array, length?: number): T;
437
+ fromJSON(object: any): T;
438
+ toJSON(message: T): unknown;
439
+ create(base?: DeepPartial<T>): T;
440
+ fromPartial(object: DeepPartial<T>): T;
441
+ }
442
+ export {};
443
+ //# sourceMappingURL=hermes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hermes.d.ts","sourceRoot":"","sources":["../../src/generated/hermes.ts"],"names":[],"mappings":"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"}