/** * Agentic QE v3 - Learning Optimization MCP Tool * * qe/learning/optimize - Cross-domain learning and pattern optimization * * This tool wraps the learning-optimization domain services: * - LearningCoordinatorService for pattern learning and experience mining * - MetricsOptimizerService for strategy optimization * - TransferSpecialistService for knowledge transfer */ import { MCPToolBase, MCPToolConfig, MCPToolContext } from '../base.js'; import { ToolResult } from '../../types.js'; import { DomainName } from '../../../shared/types/index.js'; export interface LearningOptimizeParams { action: 'learn' | 'optimize' | 'transfer' | 'patterns' | 'dashboard'; domain?: DomainName; experienceIds?: string[]; targetDomain?: DomainName; objective?: OptimizationObjective; [key: string]: unknown; } export interface OptimizationObjective { metric: string; direction: 'maximize' | 'minimize'; constraints?: { metric: string; operator: string; value: number; }[]; } export interface LearningOptimizeResult { action: string; learnResult?: LearnResult; optimizeResult?: OptimizeResult; transferResult?: TransferResult; patternResult?: PatternResult; dashboardResult?: DashboardResult; } export interface LearnResult { experiencesProcessed: number; patternsLearned: number; newPatterns: LearnedPattern[]; improvement: number; } export interface LearnedPattern { id: string; type: string; name: string; description: string; confidence: number; usageCount: number; successRate: number; } export interface OptimizeResult { strategiesEvaluated: number; bestStrategy: Strategy; improvement: number; confidence: number; validationResults: ValidationResult[]; } export interface Strategy { name: string; parameters: Record; expectedOutcome: Record; } export interface ValidationResult { testId: string; passed: boolean; metrics: Record; } export interface TransferResult { sourcePatterns: number; transferredPatterns: number; adaptedPatterns: number; successRate: number; targetDomainUpdated: boolean; } export interface PatternResult { totalPatterns: number; byType: Record; byDomain: Record; topPatterns: LearnedPattern[]; avgConfidence: number; avgSuccessRate: number; } export interface DashboardResult { overallLearningRate: number; totalPatterns: number; totalKnowledge: number; experiencesLast24h: number; topPerformingDomains: DomainName[]; learningTrend: TrendPoint[]; recentMilestones: Milestone[]; } export interface TrendPoint { timestamp: string; metric: string; value: number; } export interface Milestone { name: string; achievedAt: string; domain: DomainName; } export declare class LearningOptimizeTool extends MCPToolBase { readonly config: MCPToolConfig; private learningCoordinator; private metricsOptimizer; private transferSpecialist; private getServices; execute(params: LearningOptimizeParams, context: MCPToolContext): Promise>; private executeLearn; /** * Return demo learn results when no real data available. * Only used when demoMode is explicitly requested or as fallback with warning. */ private getDemoLearnResult; private executeOptimize; private executeTransfer; private executePatterns; private executeDashboard; } //# sourceMappingURL=optimize.d.ts.map