agentic-qe 2.3.3 → 2.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +122 -0
- package/README.md +1 -1
- package/dist/agents/ApiContractValidatorAgent.d.ts +5 -0
- package/dist/agents/ApiContractValidatorAgent.d.ts.map +1 -1
- package/dist/agents/ApiContractValidatorAgent.js +41 -0
- package/dist/agents/ApiContractValidatorAgent.js.map +1 -1
- package/dist/agents/BaseAgent.d.ts +10 -0
- package/dist/agents/BaseAgent.d.ts.map +1 -1
- package/dist/agents/BaseAgent.js +113 -0
- package/dist/agents/BaseAgent.js.map +1 -1
- package/dist/agents/CodeComplexityAnalyzerAgent.d.ts +5 -0
- package/dist/agents/CodeComplexityAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/CodeComplexityAnalyzerAgent.js +47 -0
- package/dist/agents/CodeComplexityAnalyzerAgent.js.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.d.ts +26 -0
- package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.js +149 -1
- package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
- package/dist/agents/DeploymentReadinessAgent.d.ts +5 -0
- package/dist/agents/DeploymentReadinessAgent.d.ts.map +1 -1
- package/dist/agents/DeploymentReadinessAgent.js +41 -0
- package/dist/agents/DeploymentReadinessAgent.js.map +1 -1
- package/dist/agents/FlakyTestHunterAgent.d.ts +5 -0
- package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
- package/dist/agents/FlakyTestHunterAgent.js +40 -0
- package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
- package/dist/agents/FleetCommanderAgent.d.ts +5 -0
- package/dist/agents/FleetCommanderAgent.d.ts.map +1 -1
- package/dist/agents/FleetCommanderAgent.js +51 -0
- package/dist/agents/FleetCommanderAgent.js.map +1 -1
- package/dist/agents/PerformanceTesterAgent.d.ts +5 -0
- package/dist/agents/PerformanceTesterAgent.d.ts.map +1 -1
- package/dist/agents/PerformanceTesterAgent.js +44 -0
- package/dist/agents/PerformanceTesterAgent.js.map +1 -1
- package/dist/agents/ProductionIntelligenceAgent.d.ts +5 -0
- package/dist/agents/ProductionIntelligenceAgent.d.ts.map +1 -1
- package/dist/agents/ProductionIntelligenceAgent.js +46 -0
- package/dist/agents/ProductionIntelligenceAgent.js.map +1 -1
- package/dist/agents/QXPartnerAgent.js +52 -0
- package/dist/agents/QXPartnerAgent.js.map +1 -1
- package/dist/agents/QualityAnalyzerAgent.d.ts +5 -0
- package/dist/agents/QualityAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/QualityAnalyzerAgent.js +45 -0
- package/dist/agents/QualityAnalyzerAgent.js.map +1 -1
- package/dist/agents/QualityGateAgent.d.ts +40 -0
- package/dist/agents/QualityGateAgent.d.ts.map +1 -1
- package/dist/agents/QualityGateAgent.js +227 -1
- package/dist/agents/QualityGateAgent.js.map +1 -1
- package/dist/agents/RegressionRiskAnalyzerAgent.d.ts +5 -0
- package/dist/agents/RegressionRiskAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/RegressionRiskAnalyzerAgent.js +46 -0
- package/dist/agents/RegressionRiskAnalyzerAgent.js.map +1 -1
- package/dist/agents/RequirementsValidatorAgent.d.ts +5 -0
- package/dist/agents/RequirementsValidatorAgent.d.ts.map +1 -1
- package/dist/agents/RequirementsValidatorAgent.js +42 -0
- package/dist/agents/RequirementsValidatorAgent.js.map +1 -1
- package/dist/agents/SecurityScannerAgent.d.ts +5 -0
- package/dist/agents/SecurityScannerAgent.d.ts.map +1 -1
- package/dist/agents/SecurityScannerAgent.js +39 -0
- package/dist/agents/SecurityScannerAgent.js.map +1 -1
- package/dist/agents/TestDataArchitectAgent.d.ts +5 -0
- package/dist/agents/TestDataArchitectAgent.d.ts.map +1 -1
- package/dist/agents/TestDataArchitectAgent.js +46 -0
- package/dist/agents/TestDataArchitectAgent.js.map +1 -1
- package/dist/agents/TestExecutorAgent.d.ts +5 -0
- package/dist/agents/TestExecutorAgent.d.ts.map +1 -1
- package/dist/agents/TestExecutorAgent.js +48 -0
- package/dist/agents/TestExecutorAgent.js.map +1 -1
- package/dist/agents/TestGeneratorAgent.d.ts +5 -0
- package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
- package/dist/agents/TestGeneratorAgent.js +36 -0
- package/dist/agents/TestGeneratorAgent.js.map +1 -1
- package/dist/agents/lifecycle/AgentLifecycleManager.d.ts.map +1 -1
- package/dist/agents/lifecycle/AgentLifecycleManager.js +5 -2
- package/dist/agents/lifecycle/AgentLifecycleManager.js.map +1 -1
- package/dist/cli/commands/dream/index.d.ts +50 -0
- package/dist/cli/commands/dream/index.d.ts.map +1 -0
- package/dist/cli/commands/dream/index.js +282 -0
- package/dist/cli/commands/dream/index.js.map +1 -0
- package/dist/cli/commands/learn/index.d.ts +31 -5
- package/dist/cli/commands/learn/index.d.ts.map +1 -1
- package/dist/cli/commands/learn/index.js +183 -50
- package/dist/cli/commands/learn/index.js.map +1 -1
- package/dist/cli/commands/transfer/index.d.ts +55 -0
- package/dist/cli/commands/transfer/index.d.ts.map +1 -0
- package/dist/cli/commands/transfer/index.js +317 -0
- package/dist/cli/commands/transfer/index.js.map +1 -0
- package/dist/cli/index.js +224 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/index.d.ts.map +1 -1
- package/dist/cli/init/index.js +12 -4
- package/dist/cli/init/index.js.map +1 -1
- package/dist/cli/init/learning-init.d.ts +39 -0
- package/dist/cli/init/learning-init.d.ts.map +1 -0
- package/dist/cli/init/learning-init.js +239 -0
- package/dist/cli/init/learning-init.js.map +1 -0
- package/dist/core/memory/HNSWVectorMemory.js +1 -1
- package/dist/learning/baselines/BaselineCollector.d.ts +178 -0
- package/dist/learning/baselines/BaselineCollector.d.ts.map +1 -0
- package/dist/learning/baselines/BaselineCollector.js +398 -0
- package/dist/learning/baselines/BaselineCollector.js.map +1 -0
- package/dist/learning/baselines/StandardTaskSuite.d.ts +88 -0
- package/dist/learning/baselines/StandardTaskSuite.d.ts.map +1 -0
- package/dist/learning/baselines/StandardTaskSuite.js +801 -0
- package/dist/learning/baselines/StandardTaskSuite.js.map +1 -0
- package/dist/learning/baselines/index.d.ts +10 -0
- package/dist/learning/baselines/index.d.ts.map +1 -0
- package/dist/learning/baselines/index.js +15 -0
- package/dist/learning/baselines/index.js.map +1 -0
- package/dist/learning/capture/ExecutionRecorder.d.ts +97 -0
- package/dist/learning/capture/ExecutionRecorder.d.ts.map +1 -0
- package/dist/learning/capture/ExecutionRecorder.js +195 -0
- package/dist/learning/capture/ExecutionRecorder.js.map +1 -0
- package/dist/learning/capture/ExperienceCapture.d.ts +177 -0
- package/dist/learning/capture/ExperienceCapture.d.ts.map +1 -0
- package/dist/learning/capture/ExperienceCapture.js +432 -0
- package/dist/learning/capture/ExperienceCapture.js.map +1 -0
- package/dist/learning/capture/ExperienceExtractor.d.ts +219 -0
- package/dist/learning/capture/ExperienceExtractor.d.ts.map +1 -0
- package/dist/learning/capture/ExperienceExtractor.js +536 -0
- package/dist/learning/capture/ExperienceExtractor.js.map +1 -0
- package/dist/learning/capture/ExperienceStore.d.ts +196 -0
- package/dist/learning/capture/ExperienceStore.d.ts.map +1 -0
- package/dist/learning/capture/ExperienceStore.js +453 -0
- package/dist/learning/capture/ExperienceStore.js.map +1 -0
- package/dist/learning/capture/index.d.ts +12 -0
- package/dist/learning/capture/index.d.ts.map +1 -0
- package/dist/learning/capture/index.js +17 -0
- package/dist/learning/capture/index.js.map +1 -0
- package/dist/learning/dashboard/MetricsDashboard.d.ts +63 -0
- package/dist/learning/dashboard/MetricsDashboard.d.ts.map +1 -0
- package/dist/learning/dashboard/MetricsDashboard.js +230 -0
- package/dist/learning/dashboard/MetricsDashboard.js.map +1 -0
- package/dist/learning/dashboard/index.d.ts +7 -0
- package/dist/learning/dashboard/index.d.ts.map +1 -0
- package/dist/learning/dashboard/index.js +23 -0
- package/dist/learning/dashboard/index.js.map +1 -0
- package/dist/learning/dream/ConceptGraph.d.ts +160 -0
- package/dist/learning/dream/ConceptGraph.d.ts.map +1 -0
- package/dist/learning/dream/ConceptGraph.js +445 -0
- package/dist/learning/dream/ConceptGraph.js.map +1 -0
- package/dist/learning/dream/DreamEngine.d.ts +150 -0
- package/dist/learning/dream/DreamEngine.d.ts.map +1 -0
- package/dist/learning/dream/DreamEngine.js +551 -0
- package/dist/learning/dream/DreamEngine.js.map +1 -0
- package/dist/learning/dream/InsightGenerator.d.ts +152 -0
- package/dist/learning/dream/InsightGenerator.d.ts.map +1 -0
- package/dist/learning/dream/InsightGenerator.js +463 -0
- package/dist/learning/dream/InsightGenerator.js.map +1 -0
- package/dist/learning/dream/SpreadingActivation.d.ts +138 -0
- package/dist/learning/dream/SpreadingActivation.d.ts.map +1 -0
- package/dist/learning/dream/SpreadingActivation.js +320 -0
- package/dist/learning/dream/SpreadingActivation.js.map +1 -0
- package/dist/learning/dream/index.d.ts +14 -0
- package/dist/learning/dream/index.d.ts.map +1 -0
- package/dist/learning/dream/index.js +22 -0
- package/dist/learning/dream/index.js.map +1 -0
- package/dist/learning/metrics/AlertManager.d.ts +107 -0
- package/dist/learning/metrics/AlertManager.d.ts.map +1 -0
- package/dist/learning/metrics/AlertManager.js +246 -0
- package/dist/learning/metrics/AlertManager.js.map +1 -0
- package/dist/learning/metrics/LearningMetrics.d.ts +184 -0
- package/dist/learning/metrics/LearningMetrics.d.ts.map +1 -0
- package/dist/learning/metrics/LearningMetrics.js +754 -0
- package/dist/learning/metrics/LearningMetrics.js.map +1 -0
- package/dist/learning/metrics/MetricsCollector.d.ts +108 -0
- package/dist/learning/metrics/MetricsCollector.d.ts.map +1 -0
- package/dist/learning/metrics/MetricsCollector.js +240 -0
- package/dist/learning/metrics/MetricsCollector.js.map +1 -0
- package/dist/learning/metrics/MetricsStore.d.ts +149 -0
- package/dist/learning/metrics/MetricsStore.d.ts.map +1 -0
- package/dist/learning/metrics/MetricsStore.js +502 -0
- package/dist/learning/metrics/MetricsStore.js.map +1 -0
- package/dist/learning/metrics/TrendAnalyzer.d.ts +85 -0
- package/dist/learning/metrics/TrendAnalyzer.d.ts.map +1 -0
- package/dist/learning/metrics/TrendAnalyzer.js +210 -0
- package/dist/learning/metrics/TrendAnalyzer.js.map +1 -0
- package/dist/learning/metrics/index.d.ts +13 -0
- package/dist/learning/metrics/index.d.ts.map +1 -0
- package/dist/learning/metrics/index.js +39 -0
- package/dist/learning/metrics/index.js.map +1 -0
- package/dist/learning/scheduler/IdleDetector.d.ts +126 -0
- package/dist/learning/scheduler/IdleDetector.d.ts.map +1 -0
- package/dist/learning/scheduler/IdleDetector.js +281 -0
- package/dist/learning/scheduler/IdleDetector.js.map +1 -0
- package/dist/learning/scheduler/SleepCycle.d.ts +150 -0
- package/dist/learning/scheduler/SleepCycle.d.ts.map +1 -0
- package/dist/learning/scheduler/SleepCycle.js +506 -0
- package/dist/learning/scheduler/SleepCycle.js.map +1 -0
- package/dist/learning/scheduler/SleepScheduler.d.ts +133 -0
- package/dist/learning/scheduler/SleepScheduler.d.ts.map +1 -0
- package/dist/learning/scheduler/SleepScheduler.js +301 -0
- package/dist/learning/scheduler/SleepScheduler.js.map +1 -0
- package/dist/learning/scheduler/TimeBasedTrigger.d.ts +108 -0
- package/dist/learning/scheduler/TimeBasedTrigger.d.ts.map +1 -0
- package/dist/learning/scheduler/TimeBasedTrigger.js +222 -0
- package/dist/learning/scheduler/TimeBasedTrigger.js.map +1 -0
- package/dist/learning/scheduler/index.d.ts +16 -0
- package/dist/learning/scheduler/index.d.ts.map +1 -0
- package/dist/learning/scheduler/index.js +23 -0
- package/dist/learning/scheduler/index.js.map +1 -0
- package/dist/learning/synthesis/ClusteringEngine.d.ts +122 -0
- package/dist/learning/synthesis/ClusteringEngine.d.ts.map +1 -0
- package/dist/learning/synthesis/ClusteringEngine.js +356 -0
- package/dist/learning/synthesis/ClusteringEngine.js.map +1 -0
- package/dist/learning/synthesis/PatternSynthesis.d.ts +162 -0
- package/dist/learning/synthesis/PatternSynthesis.d.ts.map +1 -0
- package/dist/learning/synthesis/PatternSynthesis.js +479 -0
- package/dist/learning/synthesis/PatternSynthesis.js.map +1 -0
- package/dist/learning/synthesis/index.d.ts +10 -0
- package/dist/learning/synthesis/index.d.ts.map +1 -0
- package/dist/learning/synthesis/index.js +14 -0
- package/dist/learning/synthesis/index.js.map +1 -0
- package/dist/learning/transfer/CompatibilityScorer.d.ts +115 -0
- package/dist/learning/transfer/CompatibilityScorer.d.ts.map +1 -0
- package/dist/learning/transfer/CompatibilityScorer.js +319 -0
- package/dist/learning/transfer/CompatibilityScorer.js.map +1 -0
- package/dist/learning/transfer/TransferProtocol.d.ts +172 -0
- package/dist/learning/transfer/TransferProtocol.d.ts.map +1 -0
- package/dist/learning/transfer/TransferProtocol.js +611 -0
- package/dist/learning/transfer/TransferProtocol.js.map +1 -0
- package/dist/learning/transfer/TransferPrototype.d.ts +93 -0
- package/dist/learning/transfer/TransferPrototype.d.ts.map +1 -0
- package/dist/learning/transfer/TransferPrototype.js +433 -0
- package/dist/learning/transfer/TransferPrototype.js.map +1 -0
- package/dist/learning/transfer/TransferRegistry.d.ts +245 -0
- package/dist/learning/transfer/TransferRegistry.d.ts.map +1 -0
- package/dist/learning/transfer/TransferRegistry.js +410 -0
- package/dist/learning/transfer/TransferRegistry.js.map +1 -0
- package/dist/learning/transfer/TransferValidator.d.ts +140 -0
- package/dist/learning/transfer/TransferValidator.d.ts.map +1 -0
- package/dist/learning/transfer/TransferValidator.js +413 -0
- package/dist/learning/transfer/TransferValidator.js.map +1 -0
- package/dist/learning/transfer/index.d.ts +14 -0
- package/dist/learning/transfer/index.d.ts.map +1 -0
- package/dist/learning/transfer/index.js +22 -0
- package/dist/learning/transfer/index.js.map +1 -0
- package/dist/mcp/handlers/task-orchestrate.d.ts +11 -0
- package/dist/mcp/handlers/task-orchestrate.d.ts.map +1 -1
- package/dist/mcp/handlers/task-orchestrate.js +297 -4
- package/dist/mcp/handlers/task-orchestrate.js.map +1 -1
- package/dist/mcp/handlers/test/test-generate-enhanced.d.ts +26 -2
- package/dist/mcp/handlers/test/test-generate-enhanced.d.ts.map +1 -1
- package/dist/mcp/handlers/test/test-generate-enhanced.js +159 -27
- package/dist/mcp/handlers/test/test-generate-enhanced.js.map +1 -1
- package/dist/mcp/server-instructions.d.ts +1 -1
- package/dist/mcp/server-instructions.js +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +2 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/services/AgentRegistry.d.ts +6 -1
- package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
- package/dist/mcp/services/AgentRegistry.js +34 -3
- package/dist/mcp/services/AgentRegistry.js.map +1 -1
- package/package.json +5 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/learning/synthesis/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,WAAW,EACX,kBAAkB,EAClB,OAAO,EACP,gBAAgB,EAChB,eAAe,GAChB,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Pattern Synthesis Module
|
|
4
|
+
*
|
|
5
|
+
* Provides pattern synthesis infrastructure for the Nightly-Learner system:
|
|
6
|
+
* - PatternSynthesis: Discover patterns from agent experiences
|
|
7
|
+
*
|
|
8
|
+
* @module src/learning/synthesis
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.PatternSynthesis = void 0;
|
|
12
|
+
var PatternSynthesis_1 = require("./PatternSynthesis");
|
|
13
|
+
Object.defineProperty(exports, "PatternSynthesis", { enumerable: true, get: function () { return PatternSynthesis_1.PatternSynthesis; } });
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/learning/synthesis/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,uDAQ4B;AAP1B,oHAAA,gBAAgB,OAAA"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CompatibilityScorer - Score pattern compatibility between agents
|
|
3
|
+
*
|
|
4
|
+
* Provides detailed compatibility analysis for cross-agent pattern transfer.
|
|
5
|
+
*
|
|
6
|
+
* Part of the Nightly-Learner Phase 2 implementation.
|
|
7
|
+
*
|
|
8
|
+
* @version 1.0.0
|
|
9
|
+
* @module src/learning/transfer/CompatibilityScorer
|
|
10
|
+
*/
|
|
11
|
+
import { EventEmitter } from 'events';
|
|
12
|
+
export interface CompatibilityReport {
|
|
13
|
+
sourceAgent: string;
|
|
14
|
+
targetAgent: string;
|
|
15
|
+
overallScore: number;
|
|
16
|
+
breakdown: CompatibilityBreakdown;
|
|
17
|
+
recommendation: 'transfer' | 'adapt' | 'reject';
|
|
18
|
+
adaptations?: string[];
|
|
19
|
+
warnings?: string[];
|
|
20
|
+
}
|
|
21
|
+
export interface CompatibilityBreakdown {
|
|
22
|
+
capabilityScore: number;
|
|
23
|
+
frameworkScore: number;
|
|
24
|
+
taskTypeScore: number;
|
|
25
|
+
domainScore: number;
|
|
26
|
+
qualityScore: number;
|
|
27
|
+
}
|
|
28
|
+
export interface AgentProfile {
|
|
29
|
+
type: string;
|
|
30
|
+
capabilities: string[];
|
|
31
|
+
frameworks: string[];
|
|
32
|
+
taskTypes: string[];
|
|
33
|
+
domain: string;
|
|
34
|
+
specializations?: string[];
|
|
35
|
+
}
|
|
36
|
+
export interface PatternProfile {
|
|
37
|
+
id: string;
|
|
38
|
+
type: string;
|
|
39
|
+
requiredCapabilities: string[];
|
|
40
|
+
requiredFrameworks: string[];
|
|
41
|
+
applicableTaskTypes: string[];
|
|
42
|
+
domain: string;
|
|
43
|
+
complexity: 'low' | 'medium' | 'high';
|
|
44
|
+
confidence: number;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* CompatibilityScorer provides detailed compatibility analysis
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```typescript
|
|
51
|
+
* const scorer = new CompatibilityScorer();
|
|
52
|
+
*
|
|
53
|
+
* const report = await scorer.scoreCompatibility(
|
|
54
|
+
* patternProfile,
|
|
55
|
+
* sourceProfile,
|
|
56
|
+
* targetProfile
|
|
57
|
+
* );
|
|
58
|
+
*
|
|
59
|
+
* if (report.recommendation === 'transfer') {
|
|
60
|
+
* // Proceed with transfer
|
|
61
|
+
* }
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
export declare class CompatibilityScorer extends EventEmitter {
|
|
65
|
+
private logger;
|
|
66
|
+
private conceptSimilarities;
|
|
67
|
+
private domainRelationships;
|
|
68
|
+
constructor();
|
|
69
|
+
/**
|
|
70
|
+
* Score compatibility between pattern and target agent
|
|
71
|
+
*/
|
|
72
|
+
scoreCompatibility(pattern: PatternProfile, sourceAgent: AgentProfile, targetAgent: AgentProfile): Promise<CompatibilityReport>;
|
|
73
|
+
/**
|
|
74
|
+
* Score capability overlap
|
|
75
|
+
*/
|
|
76
|
+
private scoreCapabilityOverlap;
|
|
77
|
+
/**
|
|
78
|
+
* Score framework compatibility
|
|
79
|
+
*/
|
|
80
|
+
private scoreFrameworkCompatibility;
|
|
81
|
+
/**
|
|
82
|
+
* Score task type relevance
|
|
83
|
+
*/
|
|
84
|
+
private scoreTaskTypeRelevance;
|
|
85
|
+
/**
|
|
86
|
+
* Score domain relationship
|
|
87
|
+
*/
|
|
88
|
+
private scoreDomainRelationship;
|
|
89
|
+
/**
|
|
90
|
+
* Calculate overall weighted score
|
|
91
|
+
*/
|
|
92
|
+
private calculateOverallScore;
|
|
93
|
+
/**
|
|
94
|
+
* Determine recommendation based on scores
|
|
95
|
+
*/
|
|
96
|
+
private determineRecommendation;
|
|
97
|
+
/**
|
|
98
|
+
* Suggest adaptations for pattern transfer
|
|
99
|
+
*/
|
|
100
|
+
private suggestAdaptations;
|
|
101
|
+
/**
|
|
102
|
+
* Generate warnings for low scores
|
|
103
|
+
*/
|
|
104
|
+
private generateWarnings;
|
|
105
|
+
/**
|
|
106
|
+
* Calculate Levenshtein similarity between two strings
|
|
107
|
+
*/
|
|
108
|
+
private levenshteinSimilarity;
|
|
109
|
+
/**
|
|
110
|
+
* Batch score multiple patterns
|
|
111
|
+
*/
|
|
112
|
+
batchScore(patterns: PatternProfile[], sourceAgent: AgentProfile, targetAgent: AgentProfile): Promise<Map<string, CompatibilityReport>>;
|
|
113
|
+
}
|
|
114
|
+
export default CompatibilityScorer;
|
|
115
|
+
//# sourceMappingURL=CompatibilityScorer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CompatibilityScorer.d.ts","sourceRoot":"","sources":["../../../src/learning/transfer/CompatibilityScorer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,sBAAsB,CAAC;IAClC,cAAc,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;IAChD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,OAAO,CAAC,MAAM,CAAS;IAGvB,OAAO,CAAC,mBAAmB,CAOxB;IAGH,OAAO,CAAC,mBAAmB,CAOxB;;IAOH;;OAEG;IACG,kBAAkB,CACtB,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,YAAY,EACzB,WAAW,EAAE,YAAY,GACxB,OAAO,CAAC,mBAAmB,CAAC;IA4E/B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAiC9B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAgCnC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA0B9B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAoB/B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAU7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAe/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA4B1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAsBxB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA6B7B;;OAEG;IACG,UAAU,CACd,QAAQ,EAAE,cAAc,EAAE,EAC1B,WAAW,EAAE,YAAY,EACzB,WAAW,EAAE,YAAY,GACxB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CAU7C;AAED,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* CompatibilityScorer - Score pattern compatibility between agents
|
|
4
|
+
*
|
|
5
|
+
* Provides detailed compatibility analysis for cross-agent pattern transfer.
|
|
6
|
+
*
|
|
7
|
+
* Part of the Nightly-Learner Phase 2 implementation.
|
|
8
|
+
*
|
|
9
|
+
* @version 1.0.0
|
|
10
|
+
* @module src/learning/transfer/CompatibilityScorer
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.CompatibilityScorer = void 0;
|
|
14
|
+
const events_1 = require("events");
|
|
15
|
+
const Logger_1 = require("../../utils/Logger");
|
|
16
|
+
/**
|
|
17
|
+
* CompatibilityScorer provides detailed compatibility analysis
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* const scorer = new CompatibilityScorer();
|
|
22
|
+
*
|
|
23
|
+
* const report = await scorer.scoreCompatibility(
|
|
24
|
+
* patternProfile,
|
|
25
|
+
* sourceProfile,
|
|
26
|
+
* targetProfile
|
|
27
|
+
* );
|
|
28
|
+
*
|
|
29
|
+
* if (report.recommendation === 'transfer') {
|
|
30
|
+
* // Proceed with transfer
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
class CompatibilityScorer extends events_1.EventEmitter {
|
|
35
|
+
constructor() {
|
|
36
|
+
super();
|
|
37
|
+
// Semantic concept mappings
|
|
38
|
+
this.conceptSimilarities = new Map([
|
|
39
|
+
['test-generation', ['code-analysis', 'pattern-matching', 'assertion-generation']],
|
|
40
|
+
['coverage-analysis', ['gap-detection', 'branch-analysis', 'code-analysis']],
|
|
41
|
+
['security-scan', ['vulnerability-scan', 'dependency-audit', 'compliance']],
|
|
42
|
+
['performance-test', ['load-testing', 'benchmark', 'profiling']],
|
|
43
|
+
['quality-check', ['threshold-validation', 'gate-evaluation', 'metric-aggregation']],
|
|
44
|
+
['flaky-detection', ['test-analysis', 'stability-scoring', 'retry-optimization']],
|
|
45
|
+
]);
|
|
46
|
+
// Domain relationships
|
|
47
|
+
this.domainRelationships = new Map([
|
|
48
|
+
['testing', ['quality', 'coverage', 'stability']],
|
|
49
|
+
['quality', ['testing', 'security', 'performance']],
|
|
50
|
+
['security', ['quality', 'compliance']],
|
|
51
|
+
['performance', ['quality', 'testing']],
|
|
52
|
+
['coverage', ['testing', 'quality']],
|
|
53
|
+
['stability', ['testing', 'quality']],
|
|
54
|
+
]);
|
|
55
|
+
this.logger = Logger_1.Logger.getInstance();
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Score compatibility between pattern and target agent
|
|
59
|
+
*/
|
|
60
|
+
async scoreCompatibility(pattern, sourceAgent, targetAgent) {
|
|
61
|
+
// Calculate individual scores
|
|
62
|
+
const capabilityScore = this.scoreCapabilityOverlap(pattern.requiredCapabilities, targetAgent.capabilities);
|
|
63
|
+
const frameworkScore = this.scoreFrameworkCompatibility(pattern.requiredFrameworks, targetAgent.frameworks);
|
|
64
|
+
const taskTypeScore = this.scoreTaskTypeRelevance(pattern.applicableTaskTypes, targetAgent.taskTypes);
|
|
65
|
+
const domainScore = this.scoreDomainRelationship(pattern.domain, targetAgent.domain);
|
|
66
|
+
const qualityScore = pattern.confidence;
|
|
67
|
+
// Calculate weighted overall score
|
|
68
|
+
const overallScore = this.calculateOverallScore({
|
|
69
|
+
capabilityScore,
|
|
70
|
+
frameworkScore,
|
|
71
|
+
taskTypeScore,
|
|
72
|
+
domainScore,
|
|
73
|
+
qualityScore,
|
|
74
|
+
});
|
|
75
|
+
// Determine recommendation
|
|
76
|
+
const recommendation = this.determineRecommendation(overallScore, {
|
|
77
|
+
capabilityScore,
|
|
78
|
+
frameworkScore,
|
|
79
|
+
taskTypeScore,
|
|
80
|
+
domainScore,
|
|
81
|
+
qualityScore,
|
|
82
|
+
});
|
|
83
|
+
// Generate adaptations if needed
|
|
84
|
+
const adaptations = recommendation === 'adapt'
|
|
85
|
+
? this.suggestAdaptations(pattern, targetAgent)
|
|
86
|
+
: undefined;
|
|
87
|
+
// Generate warnings
|
|
88
|
+
const warnings = this.generateWarnings({
|
|
89
|
+
capabilityScore,
|
|
90
|
+
frameworkScore,
|
|
91
|
+
taskTypeScore,
|
|
92
|
+
domainScore,
|
|
93
|
+
qualityScore,
|
|
94
|
+
});
|
|
95
|
+
const report = {
|
|
96
|
+
sourceAgent: sourceAgent.type,
|
|
97
|
+
targetAgent: targetAgent.type,
|
|
98
|
+
overallScore,
|
|
99
|
+
breakdown: {
|
|
100
|
+
capabilityScore,
|
|
101
|
+
frameworkScore,
|
|
102
|
+
taskTypeScore,
|
|
103
|
+
domainScore,
|
|
104
|
+
qualityScore,
|
|
105
|
+
},
|
|
106
|
+
recommendation,
|
|
107
|
+
adaptations,
|
|
108
|
+
warnings: warnings.length > 0 ? warnings : undefined,
|
|
109
|
+
};
|
|
110
|
+
this.emit('score:calculated', report);
|
|
111
|
+
return report;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Score capability overlap
|
|
115
|
+
*/
|
|
116
|
+
scoreCapabilityOverlap(required, available) {
|
|
117
|
+
if (required.length === 0)
|
|
118
|
+
return 1.0;
|
|
119
|
+
let matched = 0;
|
|
120
|
+
for (const req of required) {
|
|
121
|
+
// Direct match
|
|
122
|
+
if (available.includes(req)) {
|
|
123
|
+
matched += 1.0;
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
// Semantic match
|
|
127
|
+
const similar = this.conceptSimilarities.get(req) || [];
|
|
128
|
+
const semanticMatch = similar.some(s => available.includes(s));
|
|
129
|
+
if (semanticMatch) {
|
|
130
|
+
matched += 0.7; // Partial credit for semantic match
|
|
131
|
+
continue;
|
|
132
|
+
}
|
|
133
|
+
// Partial string match
|
|
134
|
+
const partialMatch = available.some(a => a.includes(req) || req.includes(a) ||
|
|
135
|
+
this.levenshteinSimilarity(a, req) > 0.7);
|
|
136
|
+
if (partialMatch) {
|
|
137
|
+
matched += 0.5;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return Math.min(1, matched / required.length);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Score framework compatibility
|
|
144
|
+
*/
|
|
145
|
+
scoreFrameworkCompatibility(required, available) {
|
|
146
|
+
if (required.length === 0)
|
|
147
|
+
return 1.0;
|
|
148
|
+
// Framework families
|
|
149
|
+
const families = {
|
|
150
|
+
'js-testing': ['jest', 'mocha', 'vitest', 'ava', 'jasmine'],
|
|
151
|
+
'e2e': ['playwright', 'cypress', 'puppeteer', 'selenium'],
|
|
152
|
+
'coverage': ['istanbul', 'c8', 'nyc', 'jest-coverage'],
|
|
153
|
+
'security': ['snyk', 'owasp', 'trivy', 'eslint-security'],
|
|
154
|
+
'performance': ['k6', 'artillery', 'autocannon', 'lighthouse'],
|
|
155
|
+
};
|
|
156
|
+
let matched = 0;
|
|
157
|
+
for (const req of required) {
|
|
158
|
+
if (available.includes(req)) {
|
|
159
|
+
matched += 1.0;
|
|
160
|
+
continue;
|
|
161
|
+
}
|
|
162
|
+
// Family match
|
|
163
|
+
for (const family of Object.values(families)) {
|
|
164
|
+
if (family.includes(req) && family.some(f => available.includes(f))) {
|
|
165
|
+
matched += 0.8;
|
|
166
|
+
break;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
return Math.min(1, matched / required.length);
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Score task type relevance
|
|
174
|
+
*/
|
|
175
|
+
scoreTaskTypeRelevance(applicable, supported) {
|
|
176
|
+
if (applicable.length === 0)
|
|
177
|
+
return 1.0;
|
|
178
|
+
const overlap = applicable.filter(t => supported.includes(t)).length;
|
|
179
|
+
const directScore = overlap / applicable.length;
|
|
180
|
+
// Bonus for related task types
|
|
181
|
+
const taskGroups = {
|
|
182
|
+
'testing': ['unit-test', 'integration-test', 'e2e-test', 'component-test'],
|
|
183
|
+
'analysis': ['coverage-analysis', 'gap-detection', 'security-scan', 'code-review'],
|
|
184
|
+
'validation': ['quality-gate', 'deployment-check', 'release-validation'],
|
|
185
|
+
'detection': ['flaky-detection', 'vulnerability-scan', 'bottleneck-detection'],
|
|
186
|
+
};
|
|
187
|
+
let groupBonus = 0;
|
|
188
|
+
for (const group of Object.values(taskGroups)) {
|
|
189
|
+
const hasApplicable = applicable.some(t => group.includes(t));
|
|
190
|
+
const hasSupported = supported.some(t => group.includes(t));
|
|
191
|
+
if (hasApplicable && hasSupported) {
|
|
192
|
+
groupBonus += 0.1;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
return Math.min(1, directScore + groupBonus);
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Score domain relationship
|
|
199
|
+
*/
|
|
200
|
+
scoreDomainRelationship(patternDomain, agentDomain) {
|
|
201
|
+
if (patternDomain === agentDomain)
|
|
202
|
+
return 1.0;
|
|
203
|
+
const related = this.domainRelationships.get(patternDomain) || [];
|
|
204
|
+
if (related.includes(agentDomain))
|
|
205
|
+
return 0.8;
|
|
206
|
+
// Check reverse relationship
|
|
207
|
+
const reverseRelated = this.domainRelationships.get(agentDomain) || [];
|
|
208
|
+
if (reverseRelated.includes(patternDomain))
|
|
209
|
+
return 0.7;
|
|
210
|
+
// Check for any shared relationships
|
|
211
|
+
const patternRelated = new Set(this.domainRelationships.get(patternDomain) || []);
|
|
212
|
+
const agentRelated = new Set(this.domainRelationships.get(agentDomain) || []);
|
|
213
|
+
const sharedRelations = [...patternRelated].filter(r => agentRelated.has(r));
|
|
214
|
+
if (sharedRelations.length > 0)
|
|
215
|
+
return 0.5;
|
|
216
|
+
return 0.3; // Base compatibility
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Calculate overall weighted score
|
|
220
|
+
*/
|
|
221
|
+
calculateOverallScore(breakdown) {
|
|
222
|
+
return (breakdown.capabilityScore * 0.30 +
|
|
223
|
+
breakdown.frameworkScore * 0.20 +
|
|
224
|
+
breakdown.taskTypeScore * 0.25 +
|
|
225
|
+
breakdown.domainScore * 0.15 +
|
|
226
|
+
breakdown.qualityScore * 0.10);
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Determine recommendation based on scores
|
|
230
|
+
*/
|
|
231
|
+
determineRecommendation(overall, breakdown) {
|
|
232
|
+
if (overall >= 0.7 && breakdown.capabilityScore >= 0.5) {
|
|
233
|
+
return 'transfer';
|
|
234
|
+
}
|
|
235
|
+
if (overall >= 0.5 && breakdown.domainScore >= 0.5) {
|
|
236
|
+
return 'adapt';
|
|
237
|
+
}
|
|
238
|
+
return 'reject';
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Suggest adaptations for pattern transfer
|
|
242
|
+
*/
|
|
243
|
+
suggestAdaptations(pattern, target) {
|
|
244
|
+
const adaptations = [];
|
|
245
|
+
// Check for missing capabilities
|
|
246
|
+
const missingCaps = pattern.requiredCapabilities.filter(c => !target.capabilities.includes(c));
|
|
247
|
+
if (missingCaps.length > 0) {
|
|
248
|
+
adaptations.push(`Adapt pattern to work without: ${missingCaps.join(', ')}`);
|
|
249
|
+
}
|
|
250
|
+
// Check for framework differences
|
|
251
|
+
const missingFrameworks = pattern.requiredFrameworks.filter(f => !target.frameworks.includes(f));
|
|
252
|
+
if (missingFrameworks.length > 0) {
|
|
253
|
+
const alternatives = target.frameworks.slice(0, 2).join(' or ');
|
|
254
|
+
adaptations.push(`Consider using ${alternatives} instead of ${missingFrameworks[0]}`);
|
|
255
|
+
}
|
|
256
|
+
// Complexity adaptation
|
|
257
|
+
if (pattern.complexity === 'high' && target.specializations?.length === 0) {
|
|
258
|
+
adaptations.push('Simplify pattern for target agent without specializations');
|
|
259
|
+
}
|
|
260
|
+
return adaptations;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Generate warnings for low scores
|
|
264
|
+
*/
|
|
265
|
+
generateWarnings(breakdown) {
|
|
266
|
+
const warnings = [];
|
|
267
|
+
if (breakdown.capabilityScore < 0.4) {
|
|
268
|
+
warnings.push('Low capability overlap - pattern may not function correctly');
|
|
269
|
+
}
|
|
270
|
+
if (breakdown.frameworkScore < 0.3) {
|
|
271
|
+
warnings.push('Framework mismatch - may require significant adaptation');
|
|
272
|
+
}
|
|
273
|
+
if (breakdown.taskTypeScore < 0.3) {
|
|
274
|
+
warnings.push('Task types not aligned - pattern may not be applicable');
|
|
275
|
+
}
|
|
276
|
+
if (breakdown.qualityScore < 0.5) {
|
|
277
|
+
warnings.push('Low pattern confidence - results may be unreliable');
|
|
278
|
+
}
|
|
279
|
+
return warnings;
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Calculate Levenshtein similarity between two strings
|
|
283
|
+
*/
|
|
284
|
+
levenshteinSimilarity(a, b) {
|
|
285
|
+
if (a === b)
|
|
286
|
+
return 1;
|
|
287
|
+
if (a.length === 0 || b.length === 0)
|
|
288
|
+
return 0;
|
|
289
|
+
const matrix = [];
|
|
290
|
+
for (let i = 0; i <= b.length; i++) {
|
|
291
|
+
matrix[i] = [i];
|
|
292
|
+
}
|
|
293
|
+
for (let j = 0; j <= a.length; j++) {
|
|
294
|
+
matrix[0][j] = j;
|
|
295
|
+
}
|
|
296
|
+
for (let i = 1; i <= b.length; i++) {
|
|
297
|
+
for (let j = 1; j <= a.length; j++) {
|
|
298
|
+
const cost = a[j - 1] === b[i - 1] ? 0 : 1;
|
|
299
|
+
matrix[i][j] = Math.min(matrix[i - 1][j] + 1, matrix[i][j - 1] + 1, matrix[i - 1][j - 1] + cost);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
const maxLength = Math.max(a.length, b.length);
|
|
303
|
+
return 1 - matrix[b.length][a.length] / maxLength;
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Batch score multiple patterns
|
|
307
|
+
*/
|
|
308
|
+
async batchScore(patterns, sourceAgent, targetAgent) {
|
|
309
|
+
const results = new Map();
|
|
310
|
+
for (const pattern of patterns) {
|
|
311
|
+
const report = await this.scoreCompatibility(pattern, sourceAgent, targetAgent);
|
|
312
|
+
results.set(pattern.id, report);
|
|
313
|
+
}
|
|
314
|
+
return results;
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
exports.CompatibilityScorer = CompatibilityScorer;
|
|
318
|
+
exports.default = CompatibilityScorer;
|
|
319
|
+
//# sourceMappingURL=CompatibilityScorer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CompatibilityScorer.js","sourceRoot":"","sources":["../../../src/learning/transfer/CompatibilityScorer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TransferProtocol - Full cross-agent pattern transfer implementation
|
|
3
|
+
*
|
|
4
|
+
* Extends TransferPrototype with stricter thresholds, validation,
|
|
5
|
+
* and registry tracking for production use.
|
|
6
|
+
*
|
|
7
|
+
* Part of the Nightly-Learner Phase 2 implementation.
|
|
8
|
+
*
|
|
9
|
+
* @version 1.0.0
|
|
10
|
+
* @module src/learning/transfer/TransferProtocol
|
|
11
|
+
*/
|
|
12
|
+
import { EventEmitter } from 'events';
|
|
13
|
+
export interface TransferRequest {
|
|
14
|
+
id: string;
|
|
15
|
+
sourceAgent: string;
|
|
16
|
+
targetAgent: string;
|
|
17
|
+
patternIds: string[];
|
|
18
|
+
priority: 'high' | 'medium' | 'low';
|
|
19
|
+
reason: string;
|
|
20
|
+
requestedAt: Date;
|
|
21
|
+
requestedBy?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface TransferResult {
|
|
24
|
+
requestId: string;
|
|
25
|
+
sourceAgent: string;
|
|
26
|
+
targetAgent: string;
|
|
27
|
+
patternsTransferred: number;
|
|
28
|
+
patternsSkipped: number;
|
|
29
|
+
patternsRejected: number;
|
|
30
|
+
successRate: number;
|
|
31
|
+
details: TransferDetail[];
|
|
32
|
+
duration: number;
|
|
33
|
+
validationPassed: boolean;
|
|
34
|
+
}
|
|
35
|
+
export interface TransferDetail {
|
|
36
|
+
patternId: string;
|
|
37
|
+
status: 'transferred' | 'skipped' | 'rejected';
|
|
38
|
+
reason?: string;
|
|
39
|
+
compatibilityScore: number;
|
|
40
|
+
validationResult?: ValidationResult;
|
|
41
|
+
}
|
|
42
|
+
export interface ValidationResult {
|
|
43
|
+
passed: boolean;
|
|
44
|
+
tests: ValidationTest[];
|
|
45
|
+
overallScore: number;
|
|
46
|
+
}
|
|
47
|
+
export interface ValidationTest {
|
|
48
|
+
name: string;
|
|
49
|
+
passed: boolean;
|
|
50
|
+
score: number;
|
|
51
|
+
message?: string;
|
|
52
|
+
}
|
|
53
|
+
export interface TransferProtocolConfig {
|
|
54
|
+
/** Database path. Default: .agentic-qe/memory.db */
|
|
55
|
+
dbPath?: string;
|
|
56
|
+
/** Minimum compatibility score for transfer. Default: 0.5 */
|
|
57
|
+
compatibilityThreshold?: number;
|
|
58
|
+
/** Enable post-transfer validation. Default: true */
|
|
59
|
+
enableValidation?: boolean;
|
|
60
|
+
/** Maximum patterns per transfer. Default: 50 */
|
|
61
|
+
maxPatternsPerTransfer?: number;
|
|
62
|
+
/** Enable debug logging */
|
|
63
|
+
debug?: boolean;
|
|
64
|
+
}
|
|
65
|
+
export interface TransferStats {
|
|
66
|
+
totalRequests: number;
|
|
67
|
+
successfulTransfers: number;
|
|
68
|
+
failedTransfers: number;
|
|
69
|
+
overallSuccessRate: number;
|
|
70
|
+
byAgentPair: Map<string, {
|
|
71
|
+
success: number;
|
|
72
|
+
fail: number;
|
|
73
|
+
}>;
|
|
74
|
+
averageCompatibilityScore: number;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* TransferProtocol manages cross-agent pattern transfer with validation
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ```typescript
|
|
81
|
+
* const protocol = new TransferProtocol({ compatibilityThreshold: 0.5 });
|
|
82
|
+
*
|
|
83
|
+
* const request = await protocol.createRequest({
|
|
84
|
+
* sourceAgent: 'test-generator',
|
|
85
|
+
* targetAgent: 'coverage-analyzer',
|
|
86
|
+
* patternIds: ['pattern-1', 'pattern-2'],
|
|
87
|
+
* priority: 'high',
|
|
88
|
+
* reason: 'Share test optimization patterns',
|
|
89
|
+
* });
|
|
90
|
+
*
|
|
91
|
+
* const result = await protocol.executeTransfer(request);
|
|
92
|
+
* console.log(`Transferred ${result.patternsTransferred} patterns`);
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
export declare class TransferProtocol extends EventEmitter {
|
|
96
|
+
private config;
|
|
97
|
+
private prototype;
|
|
98
|
+
private db;
|
|
99
|
+
private logger;
|
|
100
|
+
private agentDomains;
|
|
101
|
+
constructor(config?: TransferProtocolConfig);
|
|
102
|
+
/**
|
|
103
|
+
* Initialize database schema
|
|
104
|
+
*/
|
|
105
|
+
private initializeSchema;
|
|
106
|
+
/**
|
|
107
|
+
* Initialize agent domain definitions
|
|
108
|
+
*/
|
|
109
|
+
private initializeAgentDomains;
|
|
110
|
+
/**
|
|
111
|
+
* Create a transfer request
|
|
112
|
+
*/
|
|
113
|
+
createRequest(params: {
|
|
114
|
+
sourceAgent: string;
|
|
115
|
+
targetAgent: string;
|
|
116
|
+
patternIds: string[];
|
|
117
|
+
priority?: 'high' | 'medium' | 'low';
|
|
118
|
+
reason: string;
|
|
119
|
+
requestedBy?: string;
|
|
120
|
+
}): Promise<TransferRequest>;
|
|
121
|
+
/**
|
|
122
|
+
* Execute a transfer request
|
|
123
|
+
*/
|
|
124
|
+
executeTransfer(request: TransferRequest): Promise<TransferResult>;
|
|
125
|
+
/**
|
|
126
|
+
* Get a pattern from the database
|
|
127
|
+
*/
|
|
128
|
+
private getPattern;
|
|
129
|
+
/**
|
|
130
|
+
* Calculate compatibility between pattern and target agent
|
|
131
|
+
*/
|
|
132
|
+
private calculateCompatibility;
|
|
133
|
+
/**
|
|
134
|
+
* Calculate overlap with semantic similarity
|
|
135
|
+
*/
|
|
136
|
+
private calculateOverlapWithSemantic;
|
|
137
|
+
/**
|
|
138
|
+
* Calculate semantic similarity between sets
|
|
139
|
+
* Uses expanded concept groups to capture related capabilities
|
|
140
|
+
*/
|
|
141
|
+
private semanticSimilarity;
|
|
142
|
+
/**
|
|
143
|
+
* Perform the actual pattern transfer
|
|
144
|
+
*/
|
|
145
|
+
private performTransfer;
|
|
146
|
+
/**
|
|
147
|
+
* Validate a transferred pattern
|
|
148
|
+
*/
|
|
149
|
+
private validateTransfer;
|
|
150
|
+
/**
|
|
151
|
+
* Register a successful transfer
|
|
152
|
+
*/
|
|
153
|
+
private registerTransfer;
|
|
154
|
+
/**
|
|
155
|
+
* Get transfer statistics
|
|
156
|
+
*/
|
|
157
|
+
getStats(): TransferStats;
|
|
158
|
+
/**
|
|
159
|
+
* Get pending transfer requests
|
|
160
|
+
*/
|
|
161
|
+
getPendingRequests(): TransferRequest[];
|
|
162
|
+
/**
|
|
163
|
+
* Broadcast a pattern to all compatible agents
|
|
164
|
+
*/
|
|
165
|
+
broadcastPattern(patternId: string, sourceAgent: string): Promise<TransferResult[]>;
|
|
166
|
+
/**
|
|
167
|
+
* Close database connection
|
|
168
|
+
*/
|
|
169
|
+
close(): void;
|
|
170
|
+
}
|
|
171
|
+
export default TransferProtocol;
|
|
172
|
+
//# sourceMappingURL=TransferProtocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransferProtocol.d.ts","sourceRoot":"","sources":["../../../src/learning/transfer/TransferProtocol.ts"],"names":[],"mappings":"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"}
|