/** * In-Memory Vector Adapter * * A local, in-memory vector database implementation. * Perfect for development, testing, and small-scale applications. */ import { VectorDBType, DistanceMetric, 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'; /** * Stored vector with additional metadata */ interface IStoredVector { id: string; values: number[]; metadata: Record; createdAt: number; updatedAt: number; } /** * Index configuration */ interface IIndexConfig { name: string; dimensions: number; metric: DistanceMetric; createdAt: number; } /** * In-memory vector adapter implementation */ export declare class MemoryAdapter extends BaseVectorAdapter { readonly type = VectorDBType.MEMORY; /** Storage: indexName -> namespace -> vectorId -> vector */ private storage; /** Index configurations */ private indexes; /** Current index name */ private currentIndex; /** Default namespace */ private defaultNamespace; 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; /** * Clear all data (useful for testing) */ clear(): void; /** * Export all data as JSON (for persistence) */ export(): { indexes: Array; data: Record>; }; /** * Import data from JSON (for persistence) */ import(data: { indexes: Array; data: Record>; }): void; /** * Get total memory usage estimate (bytes) */ getMemoryUsage(): number; /** * Check if metadata matches a filter */ private matchesFilter; } export default MemoryAdapter;