route-claudecode
Version:
Advanced routing and transformation system for Claude Code outputs to multiple AI providers
159 lines • 4.17 kB
TypeScript
/**
* 动态模型配置管理器
* 集成模型发现系统并管理模型配置更新
*/
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