UNPKG

route-claudecode

Version:

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

178 lines 5.36 kB
/** * Auto-Correction Tool * 根据历史对比数据自动学习修正规则 * Project owner: Jason Zhang */ import { BaseRequest, BaseResponse } from '@/types'; import { ComparisonAnalysisEngine } from './analysis-engine'; import { CorrectionEngine, CorrectionResult } from './correction-engine'; export interface LearningData { patterns: CorrectionPattern[]; statistics: LearningStatistics; rules: LearnedRule[]; confidence: number; lastUpdated: Date; } export interface CorrectionPattern { id: string; type: 'content' | 'structure' | 'tools' | 'metadata' | 'formatting'; triggerConditions: PatternCondition[]; correctionAction: CorrectionAction; successRate: number; frequency: number; confidence: number; examples: PatternExample[]; } export interface PatternCondition { field: string; operator: 'equals' | 'contains' | 'length_gt' | 'length_lt' | 'missing' | 'differs'; value: any; weight: number; } export interface CorrectionAction { method: string; parameters: Record<string, any>; expectedImpact: number; } export interface PatternExample { originalValue: any; correctedValue: any; context: string; success: boolean; confidence: number; } export interface LearnedRule { id: string; name: string; description: string; conditions: RuleCondition[]; actions: RuleAction[]; priority: number; confidence: number; applicableScenarios: string[]; performance: RulePerformance; } export interface RuleCondition { type: 'content_similarity' | 'length_ratio' | 'structure_diff' | 'token_ratio' | 'tool_presence'; threshold: number; operator: 'gt' | 'lt' | 'eq' | 'between'; value: number | [number, number]; } export interface RuleAction { type: 'replace_content' | 'merge_content' | 'fix_structure' | 'correct_tools' | 'normalize_metadata'; strategy: string; parameters: Record<string, any>; confidence: number; } export interface RulePerformance { totalApplications: number; successfulApplications: number; averageImprovement: number; averageConfidence: number; lastUsed: Date; } export interface LearningStatistics { totalComparisons: number; totalCorrections: number; averageSuccessRate: number; patternCount: number; ruleCount: number; mostCommonIssues: Array<{ issue: string; frequency: number; }>; improvementTrends: Array<{ date: Date; score: number; }>; } export interface AutoCorrectionConfig { learningEnabled: boolean; minimumDataPoints: number; confidenceThreshold: number; patternDetectionThreshold: number; ruleGenerationThreshold: number; maxPatternsPerType: number; maxRules: number; dataStoragePath: string; autoSaveInterval: number; } export declare class AutoCorrectionTool { private config; private analysisEngine; private correctionEngine; private learningData; private autoSaveTimer?; constructor(analysisEngine: ComparisonAnalysisEngine, correctionEngine: CorrectionEngine, config: AutoCorrectionConfig); /** * 从历史数据学习并生成修正规则 */ learnFromHistory(): Promise<void>; /** * 应用学习到的规则进行自动修正 */ applyAutomaticCorrection(request: BaseRequest, codewhispererResponse: BaseResponse, openaiReference: BaseResponse): Promise<{ correctedResponse: BaseResponse; appliedRules: string[]; confidence: number; improvements: string[]; }>; /** * 评估修正效果并更新学习数据 */ evaluateAndUpdateLearning(correctionResult: CorrectionResult, actualPerformance: { userSatisfaction?: number; correctnessScore?: number; usabilityScore?: number; }): Promise<void>; /** * 获取修正建议 */ getRecommendations(request: BaseRequest, codewhispererResponse: BaseResponse, openaiReference: BaseResponse): Promise<{ urgentRecommendations: string[]; improvementSuggestions: string[]; preventiveMeasures: string[]; confidence: number; }>; private detectCorrectionPatterns; private generateLearnedRules; private generateContentRules; private generateStructureRules; private generateToolRules; private generateMetadataRules; private performQuickAnalysis; private extractTextContent; private extractToolCalls; private calculateContentSimilarity; private calculateStructuralDifference; private shouldApplyRule; private shouldApplyPattern; private applyRule; private applyPattern; private patternMatches; private getAnalysisValue; private evaluateCondition; private initializeStatistics; private updateLearningStatistics; private calculateOverallConfidence; private saveLearningData; private loadLearningData; private startAutoSave; /** * 清理资源 */ destroy(): void; /** * 获取学习数据统计 */ getLearningStatistics(): LearningStatistics; /** * 获取学习到的模式 */ getLearnedPatterns(): CorrectionPattern[]; /** * 获取学习到的规则 */ getLearnedRules(): LearnedRule[]; } //# sourceMappingURL=auto-correction.d.ts.map