route-claudecode
Version:
Advanced routing and transformation system for Claude Code outputs to multiple AI providers
90 lines • 2.21 kB
TypeScript
/**
* 错误系统诊断工具
* 检测和修复静默失败问题
*/
import { FastifyReply } from 'fastify';
export interface ErrorDiagnostics {
port: number;
requestId: string;
stage: string;
errorType: string;
isSilentFailure: boolean;
hasClientNotification: boolean;
errorDetails: any;
}
export declare class ErrorSystemDiagnostics {
private static diagnosticsLog;
private static maxLogSize;
/**
* 诊断错误处理是否正确执行
*/
static diagnoseError(error: any, reply: FastifyReply, context: {
requestId: string;
port: number;
stage: string;
providerId?: string;
isStreaming?: boolean;
}): ErrorDiagnostics;
/**
* 检测静默失败
*/
private static detectSilentFailure;
/**
* 检查客户端通知
*/
private static checkClientNotification;
/**
* 强制修复静默失败
*/
private static forceFix;
/**
* 修复流式错误
*/
private static fixStreamingError;
/**
* 修复常规错误
*/
private static fixRegularError;
/**
* 确定错误状态码
*/
private static determineStatusCode;
/**
* 错误分类
*/
private static classifyError;
/**
* 状态码到错误类型映射
*/
private static mapStatusCodeToType;
/**
* 记录诊断信息
*/
private static logDiagnostics;
/**
* 获取诊断统计
*/
static getDiagnosticsStats(): {
totalErrors: number;
silentFailures: number;
silentFailureRate: number;
errorsByPort: Record<number, number>;
errorsByType: Record<string, number>;
recentSilentFailures: ErrorDiagnostics[];
};
/**
* 清理旧的诊断记录
*/
static clearOldDiagnostics(maxAgeMs?: number): number;
}
/**
* 便捷函数:诊断并处理错误
*/
export declare function diagnoseAndHandleError(error: any, reply: FastifyReply, context: {
requestId: string;
port: number;
stage: string;
providerId?: string;
isStreaming?: boolean;
}): ErrorDiagnostics;
//# sourceMappingURL=error-system-diagnostics.d.ts.map