UNPKG

route-claudecode

Version:

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

189 lines 7.4 kB
"use strict"; /** * 统一预处理器(向后兼容包装器) * 现在使用统一兼容性预处理器,移除了补丁系统依赖 * 保持原有API接口以确保兼容性 */ Object.defineProperty(exports, "__esModule", { value: true }); exports.UnifiedPatchPreprocessor = void 0; exports.getUnifiedPatchPreprocessor = getUnifiedPatchPreprocessor; exports.createUnifiedPatchPreprocessor = createUnifiedPatchPreprocessor; exports.resetUnifiedPatchPreprocessor = resetUnifiedPatchPreprocessor; const logging_1 = require("../logging"); const unified_compatibility_preprocessor_1 = require("./unified-compatibility-preprocessor"); class UnifiedPatchPreprocessor { compatibilityProcessor; logger; config; constructor(port, config) { this.config = { enabled: process.env.RCC_UNIFIED_PREPROCESSING !== 'false', debugMode: process.env.RCC_PREPROCESSING_DEBUG === 'true', forceAllInputs: process.env.RCC_FORCE_ALL_INPUTS === 'true', bypassConditions: [], performanceTracking: true, cacheResults: process.env.RCC_CACHE_PREPROCESSING === 'true', validateFinishReason: true, strictFinishReasonValidation: process.env.RCC_STRICT_FINISH_REASON === 'true', ...config }; // 强制启用关键验证 this.config.validateFinishReason = true; this.logger = (0, logging_1.getLogger)(port); this.compatibilityProcessor = (0, unified_compatibility_preprocessor_1.getUnifiedCompatibilityPreprocessor)(port, { enabled: this.config.enabled, debugMode: this.config.debugMode, forceAllInputs: this.config.forceAllInputs, performanceTracking: this.config.performanceTracking, cacheResults: this.config.cacheResults, validateFinishReason: this.config.validateFinishReason, strictFinishReasonValidation: this.config.strictFinishReasonValidation }); if (this.config.debugMode) { this.logger.info('UnifiedPatchPreprocessor initialized (now using UnifiedCompatibilityPreprocessor)', { config: this.config, port }); } } /** * 统一预处理入口:处理输入阶段数据 */ async preprocessInput(inputData, provider, model, requestId) { // 强制输出到stderr以确保可见 process.stderr.write(`🚨🚨🚨 [CRITICAL-DEBUG] UnifiedPatchPreprocessor.preprocessInput CALLED! ${JSON.stringify({ requestId, provider, model, hasData: !!inputData, config: this.config })}\n`); const result = await this.compatibilityProcessor.preprocessInput(inputData, provider, model, requestId); process.stderr.write(`🚨🚨🚨 [CRITICAL-DEBUG] UnifiedPatchPreprocessor.preprocessInput COMPLETED! ${JSON.stringify({ requestId, hasResult: !!result, resultType: typeof result })}\n`); return result; } /** * 统一预处理入口:处理响应阶段数据 */ async preprocessResponse(responseData, provider, model, requestId) { return this.compatibilityProcessor.preprocessResponse(responseData, provider, model, requestId); } /** * 统一预处理入口:处理流式数据块 */ async preprocessStreaming(chunkData, provider, model, requestId) { return this.compatibilityProcessor.preprocessStreaming(chunkData, provider, model, requestId); } /** * 清理资源 */ cleanup() { this.compatibilityProcessor.cleanup(); } /** * 获取性能指标 */ getPerformanceMetrics() { return this.compatibilityProcessor.getPerformanceMetrics(); } /** * 向后兼容:滑动窗口工具检测 * @deprecated 现在由统一兼容性预处理器处理 */ async slidingWindowToolDetection(data, context) { console.warn('slidingWindowToolDetection is deprecated, using unified compatibility processor'); return { hasTools: false, toolCount: 0, patterns: [] }; } /** * 向后兼容:强制工具调用检测 * @deprecated 现在由统一兼容性预处理器处理 */ async forceToolCallDetection(data, context) { console.warn('forceToolCallDetection is deprecated, using unified compatibility processor'); return { hasTools: false, toolCount: 0 }; } /** * 向后兼容:ShuaiHong格式补丁 * @deprecated 现在由统一兼容性预处理器处理 */ async applyShuaiHongFormatPatch(data, context) { console.warn('applyShuaiHongFormatPatch is deprecated, using unified compatibility processor'); return data; } /** * 向后兼容:LMStudio工具调用解析 * @deprecated 现在由统一兼容性预处理器处理 */ parseLMStudioToolCalls(content, context) { console.warn('parseLMStudioToolCalls is deprecated, using unified compatibility processor'); return []; } /** * 向后兼容:强制finish reason覆盖 * @deprecated 现在由统一兼容性预处理器处理 */ forceFinishReasonOverride(data, targetReason, context) { console.warn('forceFinishReasonOverride is deprecated, using unified compatibility processor'); return data; } /** * 向后兼容:验证finish reason * @deprecated 现在由统一兼容性预处理器处理 */ validateFinishReason(data, context) { // 现在由统一兼容性预处理器处理,不需要额外操作 } /** * 向后兼容:检测异常响应 * @deprecated 现在由统一兼容性预处理器处理 */ detectAbnormalResponse(data, context) { console.warn('detectAbnormalResponse is deprecated, using unified compatibility processor'); return null; } /** * 向后兼容:生成错误信息 * @deprecated 现在由统一兼容性预处理器处理 */ generateErrorMessage(abnormalResponse, context) { console.warn('generateErrorMessage is deprecated, using unified compatibility processor'); return 'Error handled by unified compatibility processor'; } } exports.UnifiedPatchPreprocessor = UnifiedPatchPreprocessor; // 单例模式:全局统一预处理器实例 const preprocessorInstances = new Map(); /** * 获取或创建统一预处理器实例 */ function getUnifiedPatchPreprocessor(port, config) { const key = port || 'default'; if (!preprocessorInstances.has(key)) { preprocessorInstances.set(key, new UnifiedPatchPreprocessor(port, config)); } return preprocessorInstances.get(key); } /** * 创建新的统一预处理器实例 */ function createUnifiedPatchPreprocessor(port, config) { const key = port || 'default'; const instance = new UnifiedPatchPreprocessor(port, config); preprocessorInstances.set(key, instance); return instance; } /** * 重置统一预处理器实例 */ function resetUnifiedPatchPreprocessor(port) { const key = port || 'default'; if (preprocessorInstances.has(key)) { preprocessorInstances.get(key).cleanup(); preprocessorInstances.delete(key); } } //# sourceMappingURL=unified-patch-preprocessor.js.map