@aaswe/codebase-ai
Version:
AI-Assisted Software Engineering (AASWE) - Rich codebase context for IDE LLMs
62 lines • 1.94 kB
TypeScript
/**
* 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