/** * Agentic QE v3 - Learning Coordinator Service * Orchestrates learning across all QE domains */ import { Result, DomainName } from '../../../shared/types/index.js'; import { MemoryBackend } from '../../../kernel/interfaces.js'; import { TimeRange } from '../../../shared/value-objects/index.js'; import { LearnedPattern, PatternContext, Experience, ExperienceResult, MinedInsights, ExperienceCluster, PatternStats, IPatternLearningService, IExperienceMiningService, OptimizationObjective } from '../interfaces.js'; /** * Configuration for the learning coordinator */ export interface LearningCoordinatorConfig { minExperiencesForPattern: number; patternConfidenceThreshold: number; maxPatternsPerDomain: number; anomalyDeviationThreshold: number; clusterSimilarityThreshold: number; } /** * Learning Coordinator Service * Implements pattern learning and experience mining capabilities */ export declare class LearningCoordinatorService implements IPatternLearningService, IExperienceMiningService { private readonly memory; private readonly config; constructor(memory: MemoryBackend, config?: Partial); /** * Learn a pattern from a set of experiences */ learnPattern(experiences: Experience[]): Promise>; /** * Find patterns matching the given context */ findMatchingPatterns(context: PatternContext, limit?: number): Promise>; /** * Apply a pattern to generate output */ applyPattern(pattern: LearnedPattern, variables: Record): Promise>; /** * Update pattern based on application feedback */ updatePatternFeedback(patternId: string, success: boolean): Promise>; /** * Consolidate similar patterns into a single improved pattern */ consolidatePatterns(patternIds: string[]): Promise>; /** * Get statistics about patterns */ getPatternStats(domain?: DomainName): Promise>; /** * Record a new experience */ recordExperience(experience: Omit): Promise>; /** * Mine experiences for insights */ mineExperiences(domain: DomainName, timeRange: TimeRange): Promise>; /** * Calculate reward for an experience result */ calculateReward(result: ExperienceResult, objective: OptimizationObjective): number; /** * Get experience replay buffer for an agent */ getReplayBuffer(agentId: { value: string; domain: DomainName; type: string; }, limit?: number): Promise>; /** * Cluster similar experiences */ clusterExperiences(experiences: Experience[]): Promise>; private storePattern; private archivePattern; private updatePatternUsage; private recordPatternCreation; private indexExperience; private getExperiencesByDomainAndTime; private extractPatternsFromExperiences; private matchesContext; private extractCommonActions; private calculateAverageReward; private calculateSuccessRate; private inferPatternType; private generatePatternTemplate; private extractPatternContext; private calculateConsolidatedConfidence; private calculateWeightedSuccessRate; private detectAnomalies; private calculateStdDev; private generateRecommendations; private actionsSimilar; private calculateCentroid; private isConstraintViolated; } //# sourceMappingURL=learning-coordinator.d.ts.map