git-subtree-dir: vendor/ruvector git-subtree-split: b64c21726f2bb37286d9ee36a7869fef60cc6900
58 lines
2.4 KiB
TypeScript
58 lines
2.4 KiB
TypeScript
/**
|
|
* Type declarations for the RVF WASM microkernel exports.
|
|
*/
|
|
|
|
export interface RvfWasmExports {
|
|
memory: WebAssembly.Memory;
|
|
|
|
// Memory management
|
|
rvf_alloc(size: number): number;
|
|
rvf_free(ptr: number, size: number): void;
|
|
|
|
// Core query path
|
|
rvf_init(config_ptr: number): number;
|
|
rvf_load_query(query_ptr: number, dim: number): number;
|
|
rvf_load_block(block_ptr: number, count: number, dtype: number): number;
|
|
rvf_distances(metric: number, result_ptr: number): number;
|
|
rvf_topk_merge(dist_ptr: number, id_ptr: number, count: number, k: number): number;
|
|
rvf_topk_read(out_ptr: number): number;
|
|
|
|
// Quantization
|
|
rvf_load_sq_params(params_ptr: number, dim: number): number;
|
|
rvf_dequant_i8(src_ptr: number, dst_ptr: number, count: number): number;
|
|
rvf_load_pq_codebook(codebook_ptr: number, m: number, k: number): number;
|
|
rvf_pq_distances(codes_ptr: number, count: number, result_ptr: number): number;
|
|
|
|
// HNSW navigation
|
|
rvf_load_neighbors(node_id: bigint, layer: number, out_ptr: number): number;
|
|
rvf_greedy_step(current_id: bigint, layer: number): bigint;
|
|
|
|
// Segment verification
|
|
rvf_verify_header(header_ptr: number): number;
|
|
rvf_crc32c(data_ptr: number, len: number): number;
|
|
rvf_verify_checksum(buf_ptr: number, buf_len: number): number;
|
|
|
|
// In-memory store
|
|
rvf_store_create(dim: number, metric: number): number;
|
|
rvf_store_open(buf_ptr: number, buf_len: number): number;
|
|
rvf_store_ingest(handle: number, vecs_ptr: number, ids_ptr: number, count: number): number;
|
|
rvf_store_query(handle: number, query_ptr: number, k: number, metric: number, out_ptr: number): number;
|
|
rvf_store_delete(handle: number, ids_ptr: number, count: number): number;
|
|
rvf_store_count(handle: number): number;
|
|
rvf_store_dimension(handle: number): number;
|
|
rvf_store_status(handle: number, out_ptr: number): number;
|
|
rvf_store_export(handle: number, out_ptr: number, out_len: number): number;
|
|
rvf_store_close(handle: number): number;
|
|
|
|
// Segment parsing
|
|
rvf_parse_header(buf_ptr: number, buf_len: number, out_ptr: number): number;
|
|
rvf_segment_count(buf_ptr: number, buf_len: number): number;
|
|
rvf_segment_info(buf_ptr: number, buf_len: number, idx: number, out_ptr: number): number;
|
|
|
|
// Witness chain
|
|
rvf_witness_verify(chain_ptr: number, chain_len: number): number;
|
|
rvf_witness_count(chain_len: number): number;
|
|
}
|
|
|
|
export default function init(input?: ArrayBuffer | Uint8Array | WebAssembly.Module): Promise<RvfWasmExports>;
|