/** * @module @nhtio/adk/batteries/vector/typesense * * Typesense adapter. Each collection is a Typesense collection with a `float[]` vector field * (native `vector_query` KNN). Metadata is stored as a JSON string field and filtered with * the neutral filter tree's JS reference evaluator for exact cross-adapter parity (Typesense * filter_by requires per-field schema declaration, which the neutral metadata model doesn't * have). Document + id are plain fields. * * Driver: `typesense` (pure JS). */ import { BaseVectorStore } from "../contract"; import type { SearchPlan, UpsertPlan, DeletePlan, CollectionSpec } from "../plan"; import type { VectorMatch, VectorStoreCapabilities, BaseVectorStoreOptions } from "../types"; export interface TypesenseVectorStoreOptions extends BaseVectorStoreOptions { /** Connection and authentication parameters for the backend. */ connection?: { host?: string; port?: number; protocol?: string; apiKey?: string; url?: string; }; } export declare class TypesenseVectorStore 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; }