UNPKG

route-claudecode

Version:

Advanced routing and transformation system for Claude Code outputs to multiple AI providers

159 lines 4.17 kB
/** * 动态模型配置管理器 * 集成模型发现系统并管理模型配置更新 */ import { ProviderConfig } from '@/types'; import { DiscoveryResult } from './dynamic-model-discovery'; export interface ModelConfig { id: string; name: string; description?: string; capabilities: { text: boolean; vision: boolean; tools: boolean; streaming: boolean; }; isAvailable: boolean; lastChecked: number; responseTime: number; category: 'default' | 'background' | 'thinking' | 'longcontext' | 'search'; priority: number; } export interface ProviderModelConfig { providerId: string; models: ModelConfig[]; lastUpdated: number; isHealthy: boolean; } export interface ModelConfigManagerConfig { autoDiscovery: boolean; discoveryInterval: number; maxModelsPerProvider: number; testRetries: number; testTimeout: number; enableCaching: boolean; cacheExpiry: number; } export interface ModelUpdateEvent { providerId: string; type: 'model_added' | 'model_removed' | 'model_became_available' | 'model_became_unavailable'; modelId: string; timestamp: number; details?: any; } /** * 动态模型配置管理器 */ export declare class DynamicModelConfigManager { private config; private discoveries; private providerConfigs; private updateListeners; private discoveryIntervalId?; constructor(config: ModelConfigManagerConfig); /** * 注册提供商 */ registerProvider(providerId: string, providerConfig: ProviderConfig): Promise<void>; /** * 注销提供商 */ unregisterProvider(providerId: string): void; /** * 手动触发提供商模型发现 */ discoverProviderModels(providerId: string): Promise<DiscoveryResult>; /** * 测试特定模型可用性 */ testModelAvailability(providerId: string, modelId: string): Promise<boolean>; /** * 获取提供商的模型配置 */ getProviderModels(providerId: string): ModelConfig[]; /** * 获取所有提供商的模型配置 */ getAllModels(): ModelConfig[]; /** * 获取可用的模型(按类别筛选) */ getAvailableModels(category?: string): ModelConfig[]; /** * 获取模型配置 */ getModelConfig(providerId: string, modelId: string): ModelConfig | undefined; /** * 开始自动发现循环 */ startAutoDiscovery(): void; /** * 停止自动发现循环 */ stopAutoDiscovery(): void; /** * 添加模型更新监听器 */ addModelUpdateListener(listener: (event: ModelUpdateEvent) => void): void; /** * 移除模型更新监听器 */ removeModelUpdateListener(listener: (event: ModelUpdateEvent) => void): void; /** * 获取管理器状态 */ getStatus(): { registeredProviders: string[]; totalModels: number; availableModels: number; isAutoDiscoveryRunning: boolean; cacheStats: any[]; lastUpdateTime: number; }; /** * 清除所有缓存 */ clearAllCaches(): void; /** * 自动发现循环 */ private runAutoDiscoveryCycle; /** * 更新提供商模型配置 */ private updateProviderModelConfig; /** * 从发现结果创建模型配置 */ private createModelConfigFromDiscovery; /** * 推断模型类别 */ private inferModelCategory; /** * 推断模型优先级 */ private inferModelPriority; /** * 通知模型更新监听器 */ private notifyModelUpdateListeners; /** * 通知单个模型更新 */ private notifySingleModelUpdate; /** * 延迟函数 */ private delay; } /** * 工厂函数创建动态模型配置管理器 */ export declare function createDynamicModelConfigManager(config: ModelConfigManagerConfig): DynamicModelConfigManager; /** * 默认配置 */ export declare const DEFAULT_MODEL_CONFIG_MANAGER_CONFIG: ModelConfigManagerConfig; //# sourceMappingURL=dynamic-model-config-manager.d.ts.map