/** * @module @nhtio/adk/batteries/vector/weaviate * * @remarks * Weaviate-backed vector store adapter using the Weaviate v3 client with lazy driver * loading, deterministic object UUIDs, explicit vectors, and in-JS metadata filtering. */ import { BaseVectorStore } from "../contract"; import type { VectorFilter } from "../filters"; import type { SearchPlan, UpsertPlan, DeletePlan, CollectionSpec } from "../plan"; import type { VectorMatch, VectorStoreCapabilities, BaseVectorStoreOptions } from "../types"; /** * Connection options for {@link WeaviateVectorStore}. */ export interface WeaviateVectorStoreOptions extends BaseVectorStoreOptions { /** Connection and authentication parameters for the backend. */ connection?: { url?: string; host?: string; port?: number; grpcHost?: string; grpcPort?: number; apiKey?: string; secure?: boolean; grpcSecure?: boolean; }; } /** * Compiles a neutral {@link VectorFilter} into a Weaviate v3 filter built from a collection's * `col.filter` builder (and `weaviate.Filters.and/or` for groups). Pure and dependency-injected * (takes the `col` handle and the `weaviate` module), so it is unit-testable with stubs. * * @throws {@link @nhtio/adk/batteries/vector/exceptions!E_VECTOR_STORE_UNSUPPORTED_FILTER_OPERATOR} * for operators Weaviate cannot express (`nin`, group `not`) or a non-`weaviate` raw dialect. */ export declare const translateWeaviateFilter: (col: any, weaviate: any, filter?: VectorFilter) => any; /** * Weaviate-backed {@link @nhtio/adk/batteries/vector/contract!VectorStore}. Node-only. * * @remarks * Stores ids/documents/metadata as explicit object properties and all metadata filtering is * evaluated in JavaScript for portable behavior across Weaviate schema/index settings. */ export declare class WeaviateVectorStore 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; }