/** * @module @nhtio/adk/batteries/vector/lancedb * * Embedded LanceDB adapter (no server — file-based, like sqlite_vec/duckdb). Each collection * is a Lance table with an explicit Arrow schema (`id` Utf8, `vec` FixedSizeList, * `document` Utf8, `metadata` Utf8-JSON). KNN uses `table.search(vector).distanceType(...)`; * metadata is filtered with the neutral filter tree's JS reference evaluator for exact * cross-adapter parity. Upsert is a merge-insert on `id`. * * Drivers: `@lancedb/lancedb` + `apache-arrow` (prebuilt binary; no native compile). */ import { BaseVectorStore } from "../contract"; import type { SearchPlan, UpsertPlan, DeletePlan, CollectionSpec } from "../plan"; import type { VectorMatch, VectorStoreCapabilities, BaseVectorStoreOptions } from "../types"; export interface LanceDBVectorStoreOptions extends BaseVectorStoreOptions { /** Connection and authentication parameters for the backend. */ connection: { uri: string; }; } export declare class LanceDBVectorStore extends BaseVectorStore { #private; readonly capabilities: VectorStoreCapabilities; /** Static availability probe: whether this adapter's runtime driver can load in the current environment. */ static isAvailable(): boolean; isAvailable(): boolean; connect(): Promise; close(): Promise; createCollection(spec: CollectionSpec, ifNotExists: boolean): Promise; dropCollection(collection: string, ifExists: boolean): Promise; hasCollection(collection: string): Promise; renameCollection(_from: string, _to: string): Promise; executeUpsert(plan: UpsertPlan): Promise; executeSearch(plan: SearchPlan): Promise; executeDelete(plan: DeletePlan): Promise; }