/** * @module @nhtio/adk/batteries/vector/vespa * * Vespa vector-store adapter. A logical collection maps to a document-type in a deployed * application package; the adapter maintains the application-package STATE in memory (the set of * live collections + their dims/metric) and redeploys the whole package on each schema change * via the config server (dependency-free store-zip). Feed/get/delete/search are performed over * the document + search HTTP APIs; scores are recomputed locally (cosineSim/dotProd/euclideanDist) * to guarantee the [0,1] contract regardless of backend metric quirks. Metadata is a JSON string * field filtered with the neutral filter tree's JS reference evaluator for cross-adapter parity. * * Vespa has NO runtime "create collection". A collection = a document-type declared in a .sd schema * file inside a deployed application package. The adapter maintains the application-package STATE * in memory and redeploys the whole package on each schema change via the config server. */ import { BaseVectorStore } from "../contract"; import type { SearchPlan, UpsertPlan, DeletePlan, CollectionSpec } from "../plan"; import type { VectorMatch, VectorStoreCapabilities, BaseVectorStoreOptions } from "../types"; export interface VespaVectorStoreOptions extends BaseVectorStoreOptions { /** Connection and authentication parameters for the backend. */ connection?: { endpoint?: string; configUrl?: string; }; } export declare class VespaVectorStore 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; }