UNPKG

route-claudecode

Version:

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

256 lines 6.61 kB
/** * 统一兼容性预处理器 * 将所有AI服务的兼容性处理逻辑整合到预处理阶段 * 替代原有的补丁系统,提供更清晰的架构 */ export interface UnifiedCompatibilityConfig { enabled: boolean; debugMode: boolean; forceAllInputs: boolean; performanceTracking: boolean; cacheResults: boolean; validateFinishReason: boolean; strictFinishReasonValidation: boolean; } export declare class UnifiedCompatibilityPreprocessor { private logger; private config; private processedCache; private performanceMetrics; constructor(port?: number, config?: Partial<UnifiedCompatibilityConfig>); /** * 统一预处理入口:处理输入阶段数据 */ preprocessInput(inputData: any, provider: string, model: string, requestId: string): Promise<any>; /** * 统一预处理入口:处理响应阶段数据 */ preprocessResponse(responseData: any, provider: string, model: string, requestId: string): Promise<any>; /** * 统一预处理入口:处理流式数据块 */ preprocessStreaming(chunkData: any, provider: string, model: string, requestId: string): Promise<any>; /** * 统一处理管道 */ private processWithUnifiedPipeline; /** * 处理响应数据 */ private processResponse; /** * 处理输入数据 */ private processInput; /** * 处理流式数据 */ private processStreaming; /** * 处理OpenAI兼容服务的响应格式问题 */ private processOpenAICompatibleResponse; /** * LMStudio响应处理 */ private processLMStudioResponse; /** * ModelScope请求格式处理 */ private processModelScopeRequest; /** * Gemini响应格式修复 */ private processGeminiResponse; /** * Gemini请求格式处理 */ private processGeminiRequest; /** * Anthropic工具调用文本修复 */ private processAnthropicToolTextFix; /** * 强制工具调用检测 */ private forceToolCallDetection; /** * 强制finish reason覆盖 */ private forceFinishReasonOverride; /** * 检查是否为OpenAI兼容Provider */ private isOpenAICompatibleProvider; /** * 检查是否为LMStudio Provider */ private isLMStudioProvider; /** * 检查是否为Gemini Provider */ private isGeminiProvider; /** * 检查是否需要Anthropic工具文本修复 */ private needsAnthropicToolTextFix; /** * 检查是否为ModelScope兼容的provider/model组合 */ private isModelScopeCompatible; /** * 检查是否为GLM模型 */ private isGLMModel; /** * 检查是否为Qwen3-Coder模型 */ private isQwen3CoderModel; /** * 解析LMStudio工具调用格式 */ private parseLMStudioToolCalls; /** * 从文本中提取工具调用 */ private extractToolCallsFromText; /** * 简化的文本工具调用检测 */ private hasTextToolCallsSimplified; /** * 验证是否为有效的工具调用 */ private isValidToolCall; /** * 标准化工具定义 */ private standardizeToolDefinitions; /** * 转换input_schema为OpenAI parameters格式 */ private convertInputSchemaToParameters; /** * 验证工具定义是否有效 */ private isValidToolDefinition; /** * 检查流式数据中是否有工具调用 */ private hasStreamingToolCalls; /** * 处理流式工具调用 */ private processStreamingToolCalls; /** * 从非标准响应中提取内容 */ private extractContent; /** * 从非标准响应中提取工具调用 */ private extractToolCalls; /** * 从非标准响应中提取finish_reason */ private extractFinishReason; /** * 映射Gemini finish reason */ private mapGeminiFinishReason; /** * 确保ModelScope内容为字符串格式 */ private ensureStringContentForModelScope; /** * 转换工具调用为ModelScope格式 */ private convertToolUseToModelScopeFormat; /** * 🚨 Critical Fix: 通用OpenAI兼容格式验证和修复 * 适用于所有OpenAI兼容Provider (GLM, ShuaiHong, LMStudio等) */ private applyUniversalOpenAICompatibilityFixes; /** * 修复单个工具的格式 */ private fixToolFormat; /** * 应用GLM特定的补丁 (现在调用通用修复) */ private applyGLMSpecificPatches; /** * 验证GLM工具格式是否正确 */ private isValidGLMToolFormat; /** * 应用Qwen3-Coder特定的补丁 */ private applyQwen3CoderSpecificPatches; /** * 从消息构建prompt字符串 */ private buildPromptFromMessages; /** * 验证finish reason */ private validateFinishReason; /** * 检测异常API响应 */ private detectAbnormalResponse; /** * 生成错误消息 */ private generateErrorMessage; /** * 验证正常响应的finish_reason */ private validateNormalResponseFinishReason; /** * 生成缓存键 */ private generateCacheKey; /** * 简单的对象哈希 */ private hashObject; /** * 清理资源 */ cleanup(): void; /** * 获取性能指标 */ getPerformanceMetrics(): { totalProcessed: number; totalDuration: number; byStage: { input: { count: number; duration: number; }; response: { count: number; duration: number; }; streaming: { count: number; duration: number; }; }; }; } /** * 获取或创建统一兼容性预处理器实例 */ export declare function getUnifiedCompatibilityPreprocessor(port?: number, config?: Partial<UnifiedCompatibilityConfig>): UnifiedCompatibilityPreprocessor; /** * 创建新的统一兼容性预处理器实例 */ export declare function createUnifiedCompatibilityPreprocessor(port?: number, config?: Partial<UnifiedCompatibilityConfig>): UnifiedCompatibilityPreprocessor; /** * 重置统一兼容性预处理器实例 */ export declare function resetUnifiedCompatibilityPreprocessor(port?: number): void; //# sourceMappingURL=unified-compatibility-preprocessor.d.ts.map