route-claudecode
Version:
Advanced routing and transformation system for Claude Code outputs to multiple AI providers
74 lines • 1.93 kB
TypeScript
/**
* Streaming Request Handler Module
*
* 处理流式请求的专用处理器
* 按照细菌式编程原则:小巧、模块化、自包含
*/
import { FastifyReply } from 'fastify';
import { BaseRequest, Provider } from '@/types';
import { getUnifiedPatchPreprocessor } from '@/preprocessing/unified-patch-preprocessor';
export interface StreamingHandlerDependencies {
logger: any;
unifiedPreprocessor: ReturnType<typeof getUnifiedPatchPreprocessor>;
config: {
debug: {
enabled: boolean;
};
server: {
port: number;
};
};
}
export declare class StreamingHandler {
private deps;
constructor(deps: StreamingHandlerDependencies);
/**
* 处理流式请求的主要入口
*/
handleStreamingRequest(request: BaseRequest, provider: Provider, reply: FastifyReply, requestId: string): Promise<void>;
/**
* 验证流式响应的有效性
*/
private validateStreamResponse;
/**
* 初始化流式响应头
*/
private initializeStreamResponse;
/**
* 发送message_start事件
*/
private sendMessageStart;
/**
* 处理流式数据的核心逻辑
*/
private processStreamData;
/**
* 处理单个数据块
*/
private processChunk;
/**
* 处理块事件(停止信号、工具调用等)
*/
private handleChunkEvents;
/**
* 计算数据块的token数量
*/
private calculateChunkTokens;
/**
* 完成流式响应
*/
private finalizeStreamResponse;
/**
* 处理流式错误
*/
private handleStreamingError;
/**
* 发送SSE事件
*/
private sendSSEEvent;
}
/**
* 创建Streaming Handler实例的工厂函数
*/
export declare function createStreamingHandler(deps: StreamingHandlerDependencies): StreamingHandler;
//# sourceMappingURL=streaming-handler.d.ts.map