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
TypeScript
/**
* 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