Initial commit: Brainy - Multi-Dimensional AI Database

Open source vector database with HNSW indexing, graph relationships,
and metadata facets. Features CLI with professional augmentation registry
integration for discovering extensions and capabilities.
This commit is contained in:
David Snelling 2025-08-18 17:35:06 -07:00
commit f8c45f2d8d
448 changed files with 103294 additions and 0 deletions

118
dist/hnsw/distributedSearch.d.ts vendored Normal file
View file

@ -0,0 +1,118 @@
/**
* Distributed Search System for Large-Scale HNSW Indices
* Implements parallel search across multiple partitions and instances
*/
import { Vector } from '../coreTypes.js';
import { PartitionedHNSWIndex } from './partitionedHNSWIndex.js';
interface DistributedSearchConfig {
maxConcurrentSearches?: number;
searchTimeout?: number;
resultMergeStrategy?: 'distance' | 'score' | 'hybrid';
adaptivePartitionSelection?: boolean;
redundantSearches?: number;
loadBalancing?: boolean;
}
export declare enum SearchStrategy {
BROADCAST = "broadcast",// Search all partitions
SELECTIVE = "selective",// Search subset of partitions
ADAPTIVE = "adaptive",// Dynamically adjust based on results
HIERARCHICAL = "hierarchical"
}
interface SearchWorker {
id: string;
busy: boolean;
tasksCompleted: number;
averageTaskTime: number;
lastTaskTime: number;
}
/**
* Distributed search coordinator for large-scale vector search
*/
export declare class DistributedSearchSystem {
private config;
private searchWorkers;
private searchQueue;
private activeSearches;
private partitionStats;
private searchStats;
constructor(config?: Partial<DistributedSearchConfig>);
/**
* Execute distributed search across multiple partitions
*/
distributedSearch(partitionedIndex: PartitionedHNSWIndex, queryVector: Vector, k: number, strategy?: SearchStrategy): Promise<Array<[string, number]>>;
/**
* Select partitions to search based on strategy
*/
private selectPartitions;
/**
* Adaptive partition selection based on historical performance
*/
private adaptivePartitionSelection;
/**
* Select top-performing partitions
*/
private selectTopPartitions;
/**
* Hierarchical partition selection for very large datasets
*/
private hierarchicalPartitionSelection;
/**
* Create search tasks for parallel execution
*/
private createSearchTasks;
/**
* Execute searches in parallel across selected partitions
*/
private executeParallelSearches;
/**
* Execute search on a single partition
*/
private executePartitionSearch;
/**
* Determine if search should use worker thread
*/
private shouldUseWorkerThread;
/**
* Execute search in worker thread
*/
private executeInWorkerThread;
/**
* Get available worker from pool
*/
private getAvailableWorker;
/**
* Merge search results from multiple partitions
*/
private mergeSearchResults;
/**
* Get partition quality score
*/
private getPartitionQuality;
/**
* Update search statistics
*/
private updateSearchStats;
/**
* Initialize worker thread pool
*/
private initializeWorkerPool;
/**
* Generate unique search ID
*/
private generateSearchId;
/**
* Get search performance statistics
*/
getSearchStats(): typeof this.searchStats & {
workerStats: SearchWorker[];
partitionStats: Array<{
id: string;
stats: any;
}>;
};
/**
* Cleanup resources
*/
cleanup(): void;
}
export {};