git-subtree-dir: vendor/ruvector git-subtree-split: b64c21726f2bb37286d9ee36a7869fef60cc6900
57 lines
1.5 KiB
TypeScript
57 lines
1.5 KiB
TypeScript
/**
|
|
* Vector Client - Optimized ruvector connection layer
|
|
*
|
|
* High-performance client with connection pooling, caching, and streaming support.
|
|
*/
|
|
export interface VectorClientConfig {
|
|
host: string;
|
|
maxConnections?: number;
|
|
minConnections?: number;
|
|
idleTimeout?: number;
|
|
connectionTimeout?: number;
|
|
queryTimeout?: number;
|
|
retryAttempts?: number;
|
|
retryDelay?: number;
|
|
cacheSize?: number;
|
|
cacheTTL?: number;
|
|
enableMetrics?: boolean;
|
|
}
|
|
interface QueryResult {
|
|
id: string;
|
|
vector?: number[];
|
|
metadata?: Record<string, any>;
|
|
score?: number;
|
|
distance?: number;
|
|
}
|
|
/**
|
|
* Vector Client with connection pooling and caching
|
|
*/
|
|
export declare class VectorClient {
|
|
private pool;
|
|
private cache;
|
|
private config;
|
|
private initialized;
|
|
constructor(config: VectorClientConfig);
|
|
initialize(): Promise<void>;
|
|
query(collection: string, query: any): Promise<QueryResult[]>;
|
|
streamQuery(collection: string, query: any, onChunk: (chunk: QueryResult) => void): Promise<void>;
|
|
batchQuery(queries: any[]): Promise<any[]>;
|
|
private executeWithRetry;
|
|
healthCheck(): Promise<boolean>;
|
|
close(): Promise<void>;
|
|
getStats(): {
|
|
pool: {
|
|
total: number;
|
|
active: number;
|
|
idle: number;
|
|
waiting: number;
|
|
};
|
|
cache: {
|
|
size: number;
|
|
max: number;
|
|
};
|
|
};
|
|
clearCache(): void;
|
|
}
|
|
export {};
|
|
//# sourceMappingURL=vector-client.d.ts.map
|