route-claudecode
Version:
Advanced routing and transformation system for Claude Code outputs to multiple AI providers
84 lines • 2.13 kB
TypeScript
/**
* Provider Management Module
*
* 管理Provider的生命周期、查找和验证
* 按照细菌式编程原则:小巧、模块化、自包含
*/
import { Provider, RouterConfig } from '@/types';
export interface ProviderManagerDependencies {
config: RouterConfig;
logger: any;
}
export declare class ProviderManager {
private deps;
private providers;
constructor(deps: ProviderManagerDependencies);
/**
* 初始化所有Provider
*/
initializeProviders(): void;
/**
* 创建Provider实例
*/
private createProvider;
/**
* 根据ID查找Provider
*/
findProvider(providerId: string): Provider | null;
/**
* 根据ID查找Provider(抛出异常如果未找到)
*/
getProvider(providerId: string): Provider;
/**
* 从Provider池中选择一个可用的Provider
*/
selectProviderFromPool(providers: string[], originalProviderId: string): string;
/**
* 获取所有Provider
*/
getAllProviders(): Map<string, Provider>;
/**
* 获取Provider列表
*/
getProviderList(): string[];
/**
* 获取Provider数量
*/
getProviderCount(): number;
/**
* 检查Provider是否存在
*/
hasProvider(providerId: string): boolean;
/**
* 获取健康的Provider列表
*/
getHealthyProviders(): Promise<string[]>;
/**
* 获取不健康的Provider列表
*/
getUnhealthyProviders(): Promise<Array<{
providerId: string;
error?: string;
}>>;
/**
* 验证Provider健康状态
*/
validateProvider(provider: Provider): Promise<boolean>;
/**
* 获取Provider统计信息
*/
getProviderStats(): Promise<Record<string, any>>;
/**
* 获取Provider类型
*/
private getProviderType;
/**
* 关闭所有Provider
*/
shutdown(): Promise<void>;
}
/**
* 创建Provider Manager实例的工厂函数
*/
export declare function createProviderManager(deps: ProviderManagerDependencies): ProviderManager;
//# sourceMappingURL=provider-manager.d.ts.map