UNPKG

route-claudecode

Version:

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

113 lines 3.07 kB
/** * 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