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

92
dist/utils/statisticsCollector.d.ts vendored Normal file
View file

@ -0,0 +1,92 @@
/**
* Lightweight statistics collector for Brainy
* Designed to have minimal performance impact even with millions of entries
*/
import { StatisticsData } from '../coreTypes.js';
export declare class StatisticsCollector {
private contentTypes;
private oldestTimestamp;
private newestTimestamp;
private updateTimestamps;
private searchMetrics;
private verbTypes;
private storageSizeCache;
private throttlingMetrics;
private readonly MAX_TIMESTAMPS;
private readonly MAX_SEARCH_TERMS;
private readonly SIZE_UPDATE_INTERVAL;
/**
* Track content type (very lightweight)
*/
trackContentType(type: string): void;
/**
* Track data update timestamp (lightweight)
*/
trackUpdate(timestamp?: number): void;
/**
* Track search performance (lightweight)
*/
trackSearch(searchTerm: string, durationMs: number): void;
/**
* Track verb type (lightweight)
*/
trackVerbType(type: string): void;
/**
* Update storage size estimates (called periodically, not on every operation)
*/
updateStorageSizes(sizes: {
nouns: number;
verbs: number;
metadata: number;
index: number;
}): void;
/**
* Track a throttling event
*/
trackThrottlingEvent(reason: string, service?: string): void;
/**
* Clear throttling state after successful operations
*/
clearThrottlingState(): void;
/**
* Track delayed operation
*/
trackDelayedOperation(delayMs: number): void;
/**
* Track retried operation
*/
trackRetriedOperation(): void;
/**
* Track operation failed due to throttling
*/
trackFailedDueToThrottling(): void;
/**
* Update throttling metrics from storage adapter
*/
updateThrottlingMetrics(metrics: {
currentlyThrottled: boolean;
lastThrottleTime: number;
consecutiveThrottleEvents: number;
currentBackoffMs: number;
totalThrottleEvents: number;
throttleEventsByHour: number[];
throttleReasons: Record<string, number>;
delayedOperations: number;
retriedOperations: number;
failedDueToThrottling: number;
totalDelayMs: number;
}): void;
/**
* Get comprehensive statistics
*/
getStatistics(): Partial<StatisticsData>;
/**
* Merge statistics from storage (for distributed systems)
*/
mergeFromStorage(stored: Partial<StatisticsData>): void;
/**
* Reset statistics (for testing)
*/
reset(): void;
private pruneSearchTerms;
}