ultimate-mcp-server
Version:
The definitive all-in-one Model Context Protocol server for AI-assisted coding across 30+ platforms
80 lines • 2.17 kB
TypeScript
/**
* Intelligent Model Routing System
*
* Routes tasks to the most appropriate AI model based on
* task characteristics, performance history, and constraints
*/
import { CostOptimizer } from './cost-optimizer.js';
import { PerformanceMonitor } from './performance-monitor.js';
export interface RoutingDecision {
model: string;
reasoning: string;
alternativeModels: string[];
estimatedCost: number;
estimatedLatency: number;
}
interface TaskCharacteristics {
type: 'coding' | 'debugging' | 'analysis' | 'generation' | 'vision' | 'reasoning' | 'general';
complexity: 'simple' | 'medium' | 'complex';
estimatedTokens: number;
requiresSpeed: boolean;
requiresAccuracy: boolean;
contextLength?: number;
language?: string;
domain?: string;
}
export declare class ModelRouter {
private costOptimizer;
private performanceMonitor;
private modelProfiles;
private routingHistory;
constructor(costOptimizer: CostOptimizer, performanceMonitor: PerformanceMonitor);
/**
* Initialize model profiles with characteristics
*/
private initializeModelProfiles;
/**
* Route a task to the best model
*/
routeTask(task: TaskCharacteristics, constraints?: {
maxCost?: number;
maxLatency?: number;
preferredModels?: string[];
excludeModels?: string[];
}): Promise<RoutingDecision>;
/**
* Get candidate models for a task
*/
private getCandidateModels;
/**
* Score models for a specific task
*/
private scoreModels;
/**
* Make final routing decision
*/
private makeRoutingDecision;
/**
* Generate routing reasoning
*/
private generateRoutingReasoning;
/**
* Get cost score for a model
*/
private getCostScore;
/**
* Estimate cost (simplified)
*/
private estimateCost;
/**
* Get routing insights
*/
getRoutingInsights(): {
totalRoutings: number;
modelUsage: Record<string, number>;
averageScore: number;
recommendations: string[];
};
}
export {};
//# sourceMappingURL=model-router.d.ts.map