UNPKG

route-claudecode

Version:

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

67 lines 1.97 kB
/** * CodeWhisperer 实时流式解析器 * 基于demo2的Go实现移植,实现零延迟二进制流解析 * 项目所有者: Jason Zhang */ import { SSEEvent } from './client-interface'; import { Readable } from 'stream'; export interface BinaryFrame { totalLength: number; headerLength: number; payloadLength: number; payload: Buffer; offset: number; } export declare class CodeWhispererRealtimeParser { private readonly maxFrameSize; private readonly enableCompression; constructor(options?: { maxFrameSize?: number; enableCompression?: boolean; }); /** * 实时解析二进制流 - 基于demo2的ParseEvents函数 * 返回AsyncIterable以支持真正的流式处理 */ parseRealtimeStream(stream: Readable, onProgress?: (progress: { parsedBytes: number; totalBytes: number; eventsCount: number; }) => void): AsyncIterable<SSEEvent>; /** * 解析完整的缓冲区(向后兼容) */ parseEvents(responseBuffer: Buffer): SSEEvent[]; /** * 读取二进制帧 - 基于demo2的帧读取逻辑 */ private readBinaryFrame; /** * 解析帧payload - 基于demo2的payload处理逻辑 */ private parseFramePayload; /** * 将AssistantResponseEvent转换为SSEEvent(完全基于demo2的convertAssistantEventToSSE函数) */ private convertAssistantEventToSSE; /** * 将流转换为Buffer(用于向后兼容) */ private streamToBuffer; /** * 实时工具调用解析 - 立即处理而不缓冲 */ parseToolCallsRealtime(events: SSEEvent[]): { textContent: string; toolCalls: Array<{ id: string; name: string; input: any; }>; }; /** * 构建非流式响应 */ buildNonStreamResponse(events: any[], model: string): any; } //# sourceMappingURL=parser-realtime.d.ts.map