UNPKG

codecrucible-synth

Version:

Production-Ready AI Development Platform with Multi-Voice Synthesis, Smithery MCP Integration, Enterprise Security, and Zero-Timeout Reliability

101 lines 2.89 kB
/** * Model Preloader and Warm Pool Manager * Intelligently preloads and keeps models warm to reduce cold start times * * Performance Impact: 70-90% faster model switching and response times */ interface WarmupResult { success: boolean; modelName: string; provider: string; warmupTime: number; error?: string; } export declare class ModelPreloader { private static instance; private modelMetrics; private warmupQueue; private isWarming; private preloadIntervalId; private readonly WARM_POOL_SIZE; private readonly WARMUP_INTERVAL; private readonly USAGE_THRESHOLD; private readonly IDLE_TIMEOUT; private readonly WARMUP_PROMPTS; private constructor(); static getInstance(): ModelPreloader; /** * Record model usage for intelligent preloading decisions */ recordModelUsage(modelName: string, provider: string, responseTime: number, success: boolean): void; /** * Consider if a model should be warmed up based on usage patterns */ private considerWarmup; /** * Warm up a specific model by making a test request */ warmupModel(modelName: string, provider: string): Promise<WarmupResult>; /** * Get optimal warmup prompt for model type */ private getWarmupPrompt; /** * Process warmup queue intelligently */ private processWarmupQueue; /** * Cool down models that haven't been used recently */ private cooldownIdleModels; /** * Start periodic monitoring and warmup processing */ private startPreloadMonitoring; /** * Get warmup statistics and model status */ getWarmupStats(): { warmModels: number; totalModels: number; queueLength: number; avgWarmupTime: number; topModels: Array<{ modelName: string; provider: string; usageCount: number; avgResponseTime: number; isWarmed: boolean; }>; }; /** * Manually trigger warmup for specific model */ manualWarmup(modelName: string, provider: string): Promise<WarmupResult>; /** * Load saved model metrics from cache/storage */ private loadModelMetrics; /** * Save model metrics to persistent storage */ private saveModelMetrics; /** * Check if a model is currently warmed up */ isModelWarmed(modelName: string, provider: string): boolean; /** * Estimate performance benefit from warmup */ estimatePerformanceBenefit(modelName: string, provider: string): { estimatedSpeedupMs: number; confidenceLevel: 'low' | 'medium' | 'high'; }; /** * Shutdown and cleanup */ shutdown(): void; } export declare const modelPreloader: ModelPreloader; export {}; //# sourceMappingURL=model-preloader.d.ts.map