/** * @module @nhtio/adk/batteries/vector/duckdb * * In-process DuckDB adapter (like sqlite_vec — no server). Uses the `vss` community * extension for vector distance functions over a `FLOAT[N]` column; metadata lives in a * `JSON` column filtered with DuckDB's `json_extract*` functions. Each collection is a * table; the document and id are plain columns. * * Driver: `@duckdb/node-api` (promise-based). Path defaults to `:memory:`. */ import { BaseVectorStore } from "../contract"; import type { SearchPlan, UpsertPlan, DeletePlan, CollectionSpec } from "../plan"; import type { VectorMatch, VectorStoreCapabilities, BaseVectorStoreOptions } from "../types"; export interface DuckDBVectorStoreOptions extends BaseVectorStoreOptions { /** Connection and authentication parameters for the backend. */ connection?: { path?: string; }; } export declare class DuckDBVectorStore 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; }