route-claudecode
Version:
Advanced routing and transformation system for Claude Code outputs to multiple AI providers
113 lines • 3.07 kB
TypeScript
/**
* CodeWhisperer 主客户端 - 重构版本
* 支持动态切换缓冲式和实时流式实现
* 项目所有者: Jason Zhang
*/
import { CodeWhispererStreamingConfig } from './config/streaming-config';
import { AnthropicRequest } from './types';
export declare class CodeWhispererClient {
private client;
private configManager;
private metrics;
private configChangeListener;
private failureCount;
private readonly maxFailuresBeforeFallback;
constructor(config?: CodeWhispererStreamingConfig);
/**
* 处理流式请求 - 统一接口
*/
handleStreamRequest(anthropicReq: AnthropicRequest, writeSSE: (event: string, data: any) => void, onError: (message: string, error: Error) => void): Promise<void>;
/**
* 处理非流式请求 - 统一接口
*/
handleNonStreamRequest(anthropicReq: AnthropicRequest): Promise<any>;
/**
* 动态切换实现
*/
switchImplementation(implementation: 'buffered' | 'realtime'): void;
/**
* 获取当前客户端类型
*/
getClientType(): 'buffered' | 'realtime';
/**
* 获取当前配置
*/
getCurrentConfig(): CodeWhispererStreamingConfig;
/**
* 更新配置
*/
updateConfig(newConfig: Partial<CodeWhispererStreamingConfig>): void;
/**
* 健康检查
*/
healthCheck(): Promise<{
healthy: boolean;
type: string;
message?: string;
implementation: string;
config?: CodeWhispererStreamingConfig;
}>;
/**
* 获取性能报告
*/
getPerformanceReport(): {
currentActiveRequests: number;
timestamp: number;
totalRequests: number;
successfulRequests: number;
failedRequests: number;
avgDuration: number;
avgLatency: number;
memoryPeak: number;
implementationStats: {
buffered: {
count: number;
avgDuration: number;
successRate: number;
};
realtime: {
count: number;
avgDuration: number;
successRate: number;
};
};
};
/**
* 获取实现对比报告
*/
getImplementationComparison(): {
buffered: any;
realtime: any;
comparison: {
durationImprovement: number;
successRateImprovement: number;
recommendation: "realtime" | "buffered" | "mixed";
};
};
/**
* 重置性能指标
*/
resetPerformanceMetrics(): void;
/**
* 判断是否需要故障转移
*/
private shouldFallback;
/**
* 处理流式请求故障转移
*/
private handleFallback;
/**
* 处理非流式请求故障转移
*/
private handleNonStreamFallback;
/**
* 设置配置变更监听器
*/
private setupConfigChangeListener;
/**
* 销毁客户端
*/
destroy(): void;
}
export default CodeWhispererClient;
//# sourceMappingURL=client.d.ts.map