/** * Weaviate Adapter * * Vector database adapter for Weaviate. * https://weaviate.io/ */ import { VectorDBType, VectorFeature, IVectorConnectionResult, IUpsertVectorsOptions, IUpsertVectorsResult, IQueryVectorsOptions, IQueryVectorsResult, IFetchVectorsOptions, IFetchVectorsResult, IUpdateVectorOptions, IUpdateVectorResult, IDeleteVectorsOptions, IDeleteVectorsResult, IListVectorsOptions, IListVectorsResult, IListNamespacesResult, IVectorIndexInfo, ICreateIndexOptions, ICreateIndexResult, IDeleteIndexOptions, IDeleteIndexResult, IVectorIndexStats } from '../types'; import { BaseVectorAdapter, IAdapterConnectionOptions } from './base.adapter'; /** * Weaviate adapter implementation */ export declare class WeaviateAdapter extends BaseVectorAdapter { readonly type = VectorDBType.WEAVIATE; private apiKey; private baseUrl; private className; private timeout; connect(options: IAdapterConnectionOptions): Promise; disconnect(): Promise; testConnection(): Promise; upsert(options: IUpsertVectorsOptions): Promise; query(options: IQueryVectorsOptions): Promise; fetch(options: IFetchVectorsOptions): Promise; update(options: IUpdateVectorOptions): Promise; delete(options: IDeleteVectorsOptions): Promise; list(options: IListVectorsOptions): Promise; listNamespaces(): Promise; deleteNamespace(namespace: string): Promise; describeIndex(): Promise; getIndexStats(): Promise; createIndex(options: ICreateIndexOptions): Promise; deleteIndex(options: IDeleteIndexOptions): Promise; listIndexes(): Promise; supportsFeature(feature: VectorFeature): boolean; /** * Ensure the Weaviate class (schema) exists, creating it if necessary */ private ensureClassExists; /** * Make REST request */ private request; /** * Make GraphQL request */ private graphql; /** * Convert filter to Weaviate format */ private convertFilter; /** * Convert single filter */ private convertSingleFilter; /** * Extract properties from Weaviate result (excluding _additional) */ private extractProperties; /** * Map Weaviate distance to our enum */ private mapWeaviateMetric; /** * Map our enum to Weaviate distance */ private mapToWeaviateMetric; } export default WeaviateAdapter;