UNPKG

codecrucible-synth

Version:

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

127 lines 3.63 kB
/** * Model Management Manager - Centralizes model lifecycle operations * Extracted from UnifiedModelClient to provide focused model management capabilities */ import { EventEmitter } from 'events'; export interface ModelInfo { name: string; size?: number; modified?: string; digest?: string; } export interface ModelManagementConfig { endpoint: string; defaultModel: string; requestTimeoutMs: number; } export interface IModelManagementManager { /** * Get all available models from the provider */ getAvailableModels(): Promise<ModelInfo[]>; /** * Get all available models (alias for backward compatibility) */ getAllAvailableModels(): Promise<ModelInfo[]>; /** * Get the best available model based on availability */ getBestAvailableModel(): Promise<string>; /** * Pull/download a model from the provider */ pullModel(modelName: string): Promise<boolean>; /** * Test if a model is working with a simple request */ testModel(modelName: string): Promise<boolean>; /** * Remove a model from the provider */ removeModel(modelName: string): Promise<boolean>; /** * Add an API-based model configuration */ addApiModel(config: any): Promise<boolean>; /** * Test an API-based model */ testApiModel(modelName: string): Promise<boolean>; /** * Remove an API-based model */ removeApiModel(modelName: string): boolean; /** * Auto-setup models with sensible defaults */ autoSetup(force?: boolean): Promise<{ success: boolean; message: string; }>; /** * Check if provider is available */ checkProviderStatus(): Promise<boolean>; /** * Cleanup resources */ cleanup(): Promise<void>; } export declare class ModelManagementManager extends EventEmitter implements IModelManagementManager { private readonly config; private readonly makeRequest; private readonly generateTest; constructor(config: ModelManagementConfig, makeRequest: (method: string, endpoint: string, data?: any) => Promise<Response>, generateTest: (request: any) => Promise<any>); /** * Get all available models from the provider */ getAvailableModels(): Promise<ModelInfo[]>; /** * Get all available models (alias for backward compatibility) */ getAllAvailableModels(): Promise<ModelInfo[]>; /** * Get the best available model based on availability */ getBestAvailableModel(): Promise<string>; /** * Pull/download a model from the provider */ pullModel(modelName: string): Promise<boolean>; /** * Test if a model is working with a simple request */ testModel(modelName: string): Promise<boolean>; /** * Remove a model from the provider */ removeModel(modelName: string): Promise<boolean>; /** * Add an API-based model configuration */ addApiModel(config: any): Promise<boolean>; /** * Test an API-based model */ testApiModel(modelName: string): Promise<boolean>; /** * Remove an API-based model */ removeApiModel(modelName: string): boolean; /** * Auto-setup models with sensible defaults */ autoSetup(force?: boolean): Promise<{ success: boolean; message: string; }>; /** * Check if provider is available */ checkProviderStatus(): Promise<boolean>; /** * Cleanup resources */ cleanup(): Promise<void>; } //# sourceMappingURL=model-management-manager.d.ts.map