route-claudecode
Version:
Advanced routing and transformation system for Claude Code outputs to multiple AI providers
98 lines • 3.25 kB
TypeScript
/**
* Demo3流水线数据匹配器 - 完整流程一致性保证
* 确保从输入到输出的每个环节都与Demo3 AIClient-2-API保持一致
* 项目所有者: Jason Zhang
*/
import { BaseRequest, BaseResponse } from '@/types';
import { Demo3RequestFormat, Demo3ResponseFormat } from './demo3-data-matcher';
export interface Demo3PipelineConfig {
endpoint: string;
authHeaderName: 'x-api-key' | 'Authorization';
authHeaderValue: string;
enableProfileArn: boolean;
profileArnTruncateLength: number;
conversationIdPrefix: string;
messageIdPrefix: string;
}
export interface Demo3PipelineContext {
requestId: string;
sessionId?: string;
conversationId?: string;
originalRequest: any;
demo3Request: Demo3RequestFormat;
demo3Response?: Demo3ResponseFormat;
transformedResponse?: BaseResponse;
metadata: {
startTime: number;
endTime?: number;
duration?: number;
stage: string;
profileArn?: string;
};
}
export declare class Demo3PipelineMatcher {
private readonly config;
constructor(config?: Partial<Demo3PipelineConfig>);
/**
* 🎯 Step 1: 输入预处理 - 完全匹配Demo3的输入处理逻辑
*/
preprocessInput(request: BaseRequest): Demo3PipelineContext;
/**
* 🎯 Step 2: 请求转换 - 精确转换为Demo3格式
*/
transformRequest(context: Demo3PipelineContext): Demo3PipelineContext;
/**
* 🎯 Step 3: API调用准备 - 生成Demo3兼容的API调用参数
*/
prepareApiCall(context: Demo3PipelineContext): {
url: string;
headers: Record<string, string>;
body: Demo3RequestFormat;
method: string;
};
/**
* 🎯 Step 4: 响应处理 - 处理Demo3返回的响应
*/
processResponse(context: Demo3PipelineContext, apiResponse: any): Demo3PipelineContext;
/**
* 🎯 Step 5: 输出转换 - 转换为标准格式但保持Demo3特征
*/
transformOutput(context: Demo3PipelineContext): Demo3PipelineContext;
/**
* 🎯 完整流水线处理 - 一站式Demo3兼容处理
*/
processFullPipeline(request: BaseRequest, apiCallFunction: (apiCall: any) => Promise<any>): Promise<BaseResponse>;
/**
* 🎯 流式处理支持 - Demo3兼容的流式响应处理
*/
processStreamPipeline(request: BaseRequest, streamApiCallFunction: (apiCall: any) => AsyncIterable<any>): AsyncIterable<any>;
/**
* Demo3响应格式验证和标准化
*/
private validateAndNormalizeDemo3Response;
/**
* 流式chunk格式化
*/
private formatStreamChunk;
/**
* 生成Demo3兼容的请求ID
*/
private generateRequestId;
/**
* 生成Demo3兼容的对话ID
*/
private generateConversationId;
/**
* 生成Demo3兼容的消息ID
*/
private generateMessageId;
/**
* 🎯 获取处理统计信息
*/
getProcessingStats(context: Demo3PipelineContext): Record<string, any>;
}
/**
* 创建Demo3流水线匹配器实例
*/
export declare function createDemo3PipelineMatcher(config?: Partial<Demo3PipelineConfig>): Demo3PipelineMatcher;
//# sourceMappingURL=demo3-pipeline-matcher.d.ts.map