UNPKG

ultimate-mcp-server

Version:

The definitive all-in-one Model Context Protocol server for AI-assisted coding across 30+ platforms

115 lines 2.97 kB
/** * Cost Optimization Engine * * Intelligently manages model selection and token usage * to minimize costs while maintaining quality */ interface ModelCost { inputPer1k: number; outputPer1k: number; } interface ModelInfo { name: string; provider: string; category: string; contextWindow: number; cost: ModelCost; speed: 'fast' | 'medium' | 'slow'; quality: 'high' | 'medium' | 'low'; capabilities: string[]; } interface OptimizationConstraints { maxCost?: number; maxLatency?: number; minQuality?: 'high' | 'medium' | 'low'; requiredCapabilities?: string[]; } interface TokenOptimizationResult { original: string; optimized: string; savings: { tokens: number; percentage: number; }; } export declare class CostOptimizer { private modelInfo; private usageHistory; private modelPerformance; private budgetConstraints; constructor(); /** * Initialize model information with costs and capabilities */ private initializeModelInfo; /** * Select the most cost-effective model for a task */ selectOptimalModel(task: { type: 'coding' | 'reasoning' | 'vision' | 'general' | 'debugging'; estimatedTokens: number; complexity: 'simple' | 'medium' | 'complex'; }, constraints?: OptimizationConstraints): { model: ModelInfo; reason: string; score: number; estimatedCost: number; alternatives: string[]; }; /** * Optimize token usage in prompts */ optimizeTokenUsage(prompt: string, maxTokens?: number): TokenOptimizationResult; /** * Create fallback chain for model failures */ createFallbackChain(primaryModel: string): string[]; /** * Track usage for cost monitoring */ trackUsage(model: string, inputTokens: number, outputTokens: number): void; /** * Get cost report */ getCostReport(period?: 'hour' | 'day' | 'week' | 'month' | 'all'): { totalCost: number; byModel: Record<string, { tokens: number; cost: number; percentage: number; }>; byProvider: Record<string, number>; modelBreakdown: Record<string, number>; recommendations: string[]; }; /** * Estimate cost for a model and token count */ private estimateCost; /** * Calculate actual cost */ private calculateCost; /** * Set budget constraints */ setConstraints(constraints: { daily?: number; monthly?: number; }): void; /** * Get optimization insights */ getOptimizationInsights(): { recommendations: string[]; savingsOpportunity: number; currentSpend: number; projectedSavings: number; }; /** * Get default model */ private getDefaultModel; } export {}; //# sourceMappingURL=cost-optimizer.d.ts.map