UNPKG

route-claudecode

Version:

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

65 lines 2.7 kB
/** * 统一的 Finish Reason 日志系统 * 项目所有者: Jason Zhang * * 消除重复日志记录,提供端到端的finish_reason跟踪 */ export interface FinishReasonLogEntry { requestId: string; stage: 'input' | 'routing' | 'transformation' | 'output' | 'streaming'; sourceFormat: string; targetFormat?: string; originalReason?: string; mappedReason?: string; provider: string; model: string; timestamp: string; context: string; metadata?: Record<string, any>; errorInfo?: { type: 'mapping_failed' | 'unknown_reason' | 'conversion_error'; message: string; shouldRetry?: boolean; }; } declare class UnifiedFinishReasonLogger { private logEntries; /** * 记录finish reason转换的完整过程 */ logFinishReasonTransformation(entry: FinishReasonLogEntry): void; /** * 生成请求的完整finish reason跟踪报告 */ generateEndToEndReport(requestId: string): string; /** * 检查是否存在静默失败 */ detectSilentFailures(requestId: string): { hasSilentFailure: boolean; issues: string[]; }; /** * 在请求完成时生成最终报告并检查问题 */ finalizeRequest(requestId: string): void; } export declare const unifiedFinishReasonLogger: UnifiedFinishReasonLogger; /** * 便捷方法:记录输入阶段的finish reason */ export declare function logInputFinishReason(requestId: string, originalReason: string | undefined, provider: string, model: string, context: string, metadata?: Record<string, any>): void; /** * 便捷方法:记录转换阶段的finish reason */ export declare function logTransformationFinishReason(requestId: string, originalReason: string | undefined, mappedReason: string | undefined, sourceFormat: string, targetFormat: string, provider: string, model: string, context: string, metadata?: Record<string, any>, errorInfo?: FinishReasonLogEntry['errorInfo']): void; /** * 便捷方法:记录输出阶段的finish reason */ export declare function logOutputFinishReason(requestId: string, finalReason: string | undefined, provider: string, model: string, context: string, metadata?: Record<string, any>): void; /** * 便捷方法:记录流式处理阶段的finish reason */ export declare function logStreamingFinishReason(requestId: string, originalReason: string | undefined, mappedReason: string | undefined, sourceFormat: string, targetFormat: string, provider: string, model: string, context: string, metadata?: Record<string, any>, errorInfo?: FinishReasonLogEntry['errorInfo']): void; export {}; //# sourceMappingURL=unified-finish-reason-logger.d.ts.map