UNPKG

route-claudecode

Version:

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

94 lines 3.15 kB
/** * 通用高效流式解析器框架 * 适用于所有Provider的响应优化 * Owner: Jason Zhang */ /** * 通用流式数据分析器 */ export interface StreamDataAnalyzer { analyzeResponseStructure(buffer: Buffer | string): StreamAnalysisResult; detectToolCalls(buffer: Buffer | string): boolean; estimateEventCount(buffer: Buffer | string): number; } /** * 流式数据分析结果 */ export interface StreamAnalysisResult { totalSize: number; estimatedEventCount: number; hasToolCalls: boolean; recommendedStrategy: 'buffered' | 'batch-streaming' | 'direct-streaming'; eventSize: 'small' | 'medium' | 'large'; confidence: number; } /** * 通用流式优化策略 */ export interface StreamOptimizationStrategy { name: string; shouldUse(analysis: StreamAnalysisResult): boolean; process(data: Buffer | string, requestId: string, metadata?: any): Promise<any[]>; } /** * CodeWhisperer数据分析器 */ export declare class CodeWhispererAnalyzer implements StreamDataAnalyzer { analyzeResponseStructure(buffer: Buffer | string): StreamAnalysisResult; detectToolCalls(data: string): boolean; estimateEventCount(data: string): number; } /** * OpenAI数据分析器 */ export declare class OpenAIAnalyzer implements StreamDataAnalyzer { analyzeResponseStructure(buffer: Buffer | string): StreamAnalysisResult; detectToolCalls(data: string): boolean; estimateEventCount(data: string): number; } /** * 批量流式优化策略 */ export declare class BatchStreamingStrategy implements StreamOptimizationStrategy { name: string; shouldUse(analysis: StreamAnalysisResult): boolean; process(data: Buffer | string, requestId: string, metadata?: any): Promise<any[]>; } /** * 完全缓冲优化策略 */ export declare class BufferedProcessingStrategy implements StreamOptimizationStrategy { name: string; shouldUse(analysis: StreamAnalysisResult): boolean; process(data: Buffer | string, requestId: string, metadata?: any): Promise<any[]>; } /** * 直接流式策略 */ export declare class DirectStreamingStrategy implements StreamOptimizationStrategy { name: string; shouldUse(analysis: StreamAnalysisResult): boolean; process(data: Buffer | string, requestId: string, metadata?: any): Promise<any[]>; } /** * 通用流式解析器 */ export declare class UniversalStreamingParser { private analyzer; private strategies; constructor(analyzer: StreamDataAnalyzer, strategies: StreamOptimizationStrategy[]); processResponse(data: Buffer | string, requestId: string, metadata?: any): Promise<any[]>; } /** * Provider工厂方法 */ export declare class UniversalParserFactory { static createCodeWhispererParser(): UniversalStreamingParser; static createOpenAIParser(): UniversalStreamingParser; static createGeminiParser(): UniversalStreamingParser; /** * 通用工厂方法 - 根据provider类型创建对应解析器 */ static createParser(providerType: 'codewhisperer' | 'openai' | 'gemini'): UniversalStreamingParser; } //# sourceMappingURL=universal-streaming-parser.d.ts.map