claude-flow
Version:
Ruflo - Enterprise AI agent orchestration for Claude Code. Deploy 60+ specialized agents in coordinated swarms with self-learning, fault-tolerant consensus, vector memory, and MCP integration
69 lines • 2.22 kB
TypeScript
/**
* Vector Database Module
*
* Provides optional ruvector WASM-accelerated vector operations for:
* - Semantic similarity search
* - HNSW indexing (150x faster)
* - Embedding generation
*
* Gracefully degrades when ruvector is not installed.
*
* Created with love by ruv.io
*/
export interface VectorDB {
insert(embedding: Float32Array, id: string, metadata?: Record<string, unknown>): void | Promise<void>;
search(query: Float32Array, k?: number): Array<{
id: string;
score: number;
metadata?: Record<string, unknown>;
}> | Promise<Array<{
id: string;
score: number;
metadata?: Record<string, unknown>;
}>>;
remove(id: string): boolean | Promise<boolean>;
size(): number | Promise<number>;
clear(): void | Promise<void>;
}
export interface RuVectorModule {
createVectorDB(dimensions: number): Promise<VectorDB>;
generateEmbedding(text: string, dimensions?: number): Float32Array;
cosineSimilarity(a: Float32Array, b: Float32Array): number;
isWASMAccelerated(): boolean;
}
/**
* Attempt to load the ruvector module
* Returns true if successfully loaded, false otherwise
*/
export declare function loadRuVector(): Promise<boolean>;
/**
* Check if ruvector is available
*/
export declare function isRuVectorAvailable(): boolean;
/**
* Check if WASM acceleration is enabled
*/
export declare function isWASMAccelerated(): boolean;
/**
* Create a vector database
* Uses ruvector HNSW if available, falls back to brute-force search
*/
export declare function createVectorDB(dimensions?: number): Promise<VectorDB>;
/**
* Generate an embedding for text
* Uses ruvector if available, falls back to hash-based embedding
*/
export declare function generateEmbedding(text: string, dimensions?: number): Float32Array;
/**
* Compute cosine similarity between two vectors
*/
export declare function computeSimilarity(a: Float32Array, b: Float32Array): number;
/**
* Get status information about the ruvector module
*/
export declare function getStatus(): {
available: boolean;
wasmAccelerated: boolean;
backend: 'ruvector-wasm' | 'ruvector' | 'fallback';
};
//# sourceMappingURL=vector-db.d.ts.map