route-claudecode
Version:
Advanced routing and transformation system for Claude Code outputs to multiple AI providers
75 lines • 2.38 kB
TypeScript
/**
* Finish Reason修正器
* 专门修复OpenAI工具调用的finish_reason映射问题
* 确保工具调用返回正确的finish_reason
*/
export interface FinishReasonCorrectionContext {
provider: string;
model: string;
requestId: string;
hasToolsInRequest: boolean;
isStreaming: boolean;
}
export interface FinishReasonCorrectionResult {
originalReason: string;
correctedReason: string;
wasCorreted: boolean;
confidence: number;
detectionMethod: string;
}
export declare class FinishReasonCorrector {
private logger;
constructor(port?: number);
/**
* 修正finish_reason - 核心方法
*/
correctFinishReason(originalReason: string, responseData: any, context: FinishReasonCorrectionContext): FinishReasonCorrectionResult;
/**
* 检测响应中的工具调用
*/
private detectToolCallsInResponse;
/**
* 从响应中提取文本内容
*/
private extractTextContent;
/**
* 检测文本中的工具调用
*/
private detectToolCallsInText;
/**
* 基于上下文推断是否应该有工具调用
*/
private shouldInferToolCall;
/**
* 确定修正后的finish_reason
*/
private determineCorrectedReason;
/**
* 批量修正多个响应的finish_reason
*/
batchCorrectFinishReasons(responses: Array<{
reason: string;
data: any;
context: FinishReasonCorrectionContext;
}>): Array<FinishReasonCorrectionResult>;
/**
* 验证finish_reason是否需要修正
*/
needsCorrection(finishReason: string, responseData: any, context: FinishReasonCorrectionContext): boolean;
/**
* 获取修正统计信息
*/
getStats(): {
supportedProviders: string[];
detectionMethods: string[];
confidenceThresholds: {
high: number;
medium: number;
low: number;
};
};
}
export declare const finishReasonCorrector: FinishReasonCorrector;
export declare function correctFinishReason(originalReason: string, responseData: any, context: FinishReasonCorrectionContext): FinishReasonCorrectionResult;
export declare function needsFinishReasonCorrection(finishReason: string, responseData: any, context: FinishReasonCorrectionContext): boolean;
//# sourceMappingURL=finish-reason-corrector.d.ts.map