UNPKG

@aaswe/codebase-ai

Version:

AI-Assisted Software Engineering (AASWE) - Rich codebase context for IDE LLMs

62 lines 1.94 kB
/** * Query Router * * Implements intelligent query routing for the Hybrid Storage Manager * to optimize query performance across different storage layers. */ import { EventEmitter } from 'events'; import { QueryRouterConfig, QueryRequest, QueryRoute, QueryMetrics, StorageLayer, RoutingDecision } from './types'; export declare class QueryRouter extends EventEmitter { private routingRules; private performanceMetrics; private metricsCollectionTimer?; constructor(_config: QueryRouterConfig); /** * Initialize the query router */ initialize(): Promise<void>; /** * Route a query to the optimal storage layer */ routeQuery(request: QueryRequest): Promise<RoutingDecision>; /** * Update performance metrics for a storage layer */ updatePerformanceMetrics(layer: StorageLayer, latency: number, success: boolean, resultSize?: number): void; /** * Get performance metrics for all storage layers */ getPerformanceMetrics(): Map<StorageLayer, QueryMetrics>; /** * Get routing statistics */ getRoutingStats(): Record<string, any>; /** * Add custom routing rule */ addRoutingRule(ruleId: string, route: QueryRoute): void; /** * Remove routing rule */ removeRoutingRule(ruleId: string): boolean; /** * Shutdown the query router */ shutdown(): Promise<void>; private initializeRoutingRules; private initializeMetrics; private createEmptyMetrics; private setupMetricsCollection; private collectAndEmitMetrics; private analyzeQuery; private selectOptimalLayer; private getFallbackLayers; private generateRoutingReasoning; private estimateLatency; private getDefaultLatency; private determineCacheStrategy; private generateQueryId; private updateRoutingMetrics; } export default QueryRouter; //# sourceMappingURL=QueryRouter.d.ts.map