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,239 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Learning System Initialization
|
|
4
|
+
*
|
|
5
|
+
* Initializes the Nightly-Learner system including:
|
|
6
|
+
* - ExperienceCapture singleton
|
|
7
|
+
* - SleepScheduler for automated learning cycles
|
|
8
|
+
* - Learning configuration persistence
|
|
9
|
+
*
|
|
10
|
+
* @module cli/init/learning-init
|
|
11
|
+
*/
|
|
12
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
15
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
16
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
17
|
+
}
|
|
18
|
+
Object.defineProperty(o, k2, desc);
|
|
19
|
+
}) : (function(o, m, k, k2) {
|
|
20
|
+
if (k2 === undefined) k2 = k;
|
|
21
|
+
o[k2] = m[k];
|
|
22
|
+
}));
|
|
23
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
24
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
25
|
+
}) : function(o, v) {
|
|
26
|
+
o["default"] = v;
|
|
27
|
+
});
|
|
28
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
29
|
+
var ownKeys = function(o) {
|
|
30
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
31
|
+
var ar = [];
|
|
32
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
33
|
+
return ar;
|
|
34
|
+
};
|
|
35
|
+
return ownKeys(o);
|
|
36
|
+
};
|
|
37
|
+
return function (mod) {
|
|
38
|
+
if (mod && mod.__esModule) return mod;
|
|
39
|
+
var result = {};
|
|
40
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
41
|
+
__setModuleDefault(result, mod);
|
|
42
|
+
return result;
|
|
43
|
+
};
|
|
44
|
+
})();
|
|
45
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
|
+
exports.initializeLearningSystem = initializeLearningSystem;
|
|
47
|
+
exports.isLearningInitialized = isLearningInitialized;
|
|
48
|
+
exports.getLearningConfig = getLearningConfig;
|
|
49
|
+
const path = __importStar(require("path"));
|
|
50
|
+
const fs = __importStar(require("fs-extra"));
|
|
51
|
+
const Logger_1 = require("../../utils/Logger");
|
|
52
|
+
const DEFAULT_LEARNING_CONFIG = {
|
|
53
|
+
mode: 'hybrid',
|
|
54
|
+
startHour: 2,
|
|
55
|
+
durationMinutes: 60,
|
|
56
|
+
enabled: true,
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Initialize the learning system
|
|
60
|
+
*
|
|
61
|
+
* Sets up:
|
|
62
|
+
* 1. Learning configuration file
|
|
63
|
+
* 2. Required database tables (via ExperienceCapture)
|
|
64
|
+
* 3. Scheduler configuration for nightly runs
|
|
65
|
+
*/
|
|
66
|
+
async function initializeLearningSystem(fleetConfig, learningConfig) {
|
|
67
|
+
const logger = Logger_1.Logger.getInstance();
|
|
68
|
+
const config = { ...DEFAULT_LEARNING_CONFIG, ...learningConfig };
|
|
69
|
+
logger.info('[LearningInit] Initializing Nightly-Learner system', config);
|
|
70
|
+
const baseDir = path.join(process.cwd(), '.agentic-qe');
|
|
71
|
+
// 1. Ensure base directory exists
|
|
72
|
+
await fs.ensureDir(baseDir);
|
|
73
|
+
// 2. Create learning configuration file
|
|
74
|
+
const learningConfigPath = path.join(baseDir, 'learning-config.json');
|
|
75
|
+
const fullConfig = {
|
|
76
|
+
version: '1.0.0',
|
|
77
|
+
enabled: config.enabled,
|
|
78
|
+
scheduler: {
|
|
79
|
+
mode: config.mode,
|
|
80
|
+
schedule: {
|
|
81
|
+
startHour: config.startHour,
|
|
82
|
+
durationMinutes: config.durationMinutes,
|
|
83
|
+
daysOfWeek: [0, 1, 2, 3, 4, 5, 6], // Every day
|
|
84
|
+
},
|
|
85
|
+
learningBudget: {
|
|
86
|
+
maxPatternsPerCycle: 50,
|
|
87
|
+
maxAgentsPerCycle: 5,
|
|
88
|
+
maxDurationMs: 3600000, // 1 hour
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
capture: {
|
|
92
|
+
bufferSize: 100,
|
|
93
|
+
flushInterval: 30000, // 30 seconds
|
|
94
|
+
},
|
|
95
|
+
metrics: {
|
|
96
|
+
retentionDays: 30,
|
|
97
|
+
alertThresholds: {
|
|
98
|
+
successRateDrop: 15,
|
|
99
|
+
completionTimeIncrease: 20,
|
|
100
|
+
coverageDrop: 15,
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
createdAt: new Date().toISOString(),
|
|
104
|
+
updatedAt: new Date().toISOString(),
|
|
105
|
+
};
|
|
106
|
+
await fs.writeJson(learningConfigPath, fullConfig, { spaces: 2 });
|
|
107
|
+
logger.info('[LearningInit] Created learning configuration', { path: learningConfigPath });
|
|
108
|
+
// 3. Initialize ExperienceCapture (creates database tables)
|
|
109
|
+
// Note: We only verify the database schema is created, then stop the capture
|
|
110
|
+
// to allow the init process to exit cleanly. The capture will be started
|
|
111
|
+
// again when agents actually run.
|
|
112
|
+
try {
|
|
113
|
+
const { ExperienceCapture } = await Promise.resolve().then(() => __importStar(require('../../learning/capture/ExperienceCapture')));
|
|
114
|
+
const capture = await ExperienceCapture.getSharedInstance({
|
|
115
|
+
bufferSize: config.enabled ? 100 : 0,
|
|
116
|
+
flushInterval: 30000,
|
|
117
|
+
});
|
|
118
|
+
// Get stats to verify initialization
|
|
119
|
+
const stats = capture.getStats();
|
|
120
|
+
logger.info('[LearningInit] ExperienceCapture initialized', {
|
|
121
|
+
totalCaptured: stats.totalCaptured,
|
|
122
|
+
bufferSize: stats.bufferSize,
|
|
123
|
+
});
|
|
124
|
+
// Stop the capture service to allow process to exit
|
|
125
|
+
// It will be restarted when agents run
|
|
126
|
+
await capture.stop();
|
|
127
|
+
ExperienceCapture.resetInstance();
|
|
128
|
+
}
|
|
129
|
+
catch (error) {
|
|
130
|
+
logger.warn('[LearningInit] ExperienceCapture initialization deferred', {
|
|
131
|
+
error: error instanceof Error ? error.message : String(error),
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
// 4. Create scheduler startup script
|
|
135
|
+
const schedulerScriptPath = path.join(baseDir, 'start-learning.js');
|
|
136
|
+
const schedulerScript = `#!/usr/bin/env node
|
|
137
|
+
/**
|
|
138
|
+
* Nightly-Learner Startup Script
|
|
139
|
+
* Generated by aqe init
|
|
140
|
+
*
|
|
141
|
+
* Run this script to start the learning scheduler:
|
|
142
|
+
* node .agentic-qe/start-learning.js
|
|
143
|
+
*
|
|
144
|
+
* Or add to your application startup.
|
|
145
|
+
*/
|
|
146
|
+
|
|
147
|
+
const path = require('path');
|
|
148
|
+
|
|
149
|
+
async function startLearning() {
|
|
150
|
+
try {
|
|
151
|
+
// Load configuration
|
|
152
|
+
const config = require('./learning-config.json');
|
|
153
|
+
|
|
154
|
+
if (!config.enabled) {
|
|
155
|
+
console.log('[Nightly-Learner] Learning is disabled in config');
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
// Import scheduler
|
|
160
|
+
const { SleepScheduler } = require('agentic-qe/dist/learning/scheduler/SleepScheduler');
|
|
161
|
+
|
|
162
|
+
// Create and start scheduler
|
|
163
|
+
const scheduler = new SleepScheduler({
|
|
164
|
+
mode: config.scheduler.mode,
|
|
165
|
+
schedule: config.scheduler.schedule,
|
|
166
|
+
learningBudget: config.scheduler.learningBudget,
|
|
167
|
+
});
|
|
168
|
+
|
|
169
|
+
scheduler.on('scheduler:started', (state) => {
|
|
170
|
+
console.log('[Nightly-Learner] Scheduler started:', state.mode);
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
scheduler.on('sleep:start', (cycle) => {
|
|
174
|
+
console.log('[Nightly-Learner] Learning cycle started');
|
|
175
|
+
});
|
|
176
|
+
|
|
177
|
+
scheduler.on('sleep:end', (summary) => {
|
|
178
|
+
console.log('[Nightly-Learner] Learning cycle complete:', {
|
|
179
|
+
patternsDiscovered: summary.patternsDiscovered,
|
|
180
|
+
agentsProcessed: summary.agentsProcessed.length,
|
|
181
|
+
});
|
|
182
|
+
});
|
|
183
|
+
|
|
184
|
+
scheduler.on('error', (error) => {
|
|
185
|
+
console.error('[Nightly-Learner] Error:', error);
|
|
186
|
+
});
|
|
187
|
+
|
|
188
|
+
await scheduler.start();
|
|
189
|
+
console.log('[Nightly-Learner] System running. Press Ctrl+C to stop.');
|
|
190
|
+
|
|
191
|
+
// Handle graceful shutdown
|
|
192
|
+
process.on('SIGINT', async () => {
|
|
193
|
+
console.log('\\n[Nightly-Learner] Shutting down...');
|
|
194
|
+
await scheduler.stop();
|
|
195
|
+
process.exit(0);
|
|
196
|
+
});
|
|
197
|
+
|
|
198
|
+
} catch (error) {
|
|
199
|
+
console.error('[Nightly-Learner] Failed to start:', error);
|
|
200
|
+
process.exit(1);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
startLearning();
|
|
205
|
+
`;
|
|
206
|
+
await fs.writeFile(schedulerScriptPath, schedulerScript);
|
|
207
|
+
await fs.chmod(schedulerScriptPath, 0o755);
|
|
208
|
+
logger.info('[LearningInit] Created scheduler startup script', { path: schedulerScriptPath });
|
|
209
|
+
logger.info('[LearningInit] Learning system initialization complete');
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Check if learning system is initialized
|
|
213
|
+
*/
|
|
214
|
+
async function isLearningInitialized() {
|
|
215
|
+
const configPath = path.join(process.cwd(), '.agentic-qe', 'learning-config.json');
|
|
216
|
+
return fs.pathExists(configPath);
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Get learning configuration
|
|
220
|
+
*/
|
|
221
|
+
async function getLearningConfig() {
|
|
222
|
+
const configPath = path.join(process.cwd(), '.agentic-qe', 'learning-config.json');
|
|
223
|
+
if (await fs.pathExists(configPath)) {
|
|
224
|
+
try {
|
|
225
|
+
const config = await fs.readJson(configPath);
|
|
226
|
+
return {
|
|
227
|
+
mode: config.scheduler?.mode,
|
|
228
|
+
startHour: config.scheduler?.schedule?.startHour,
|
|
229
|
+
durationMinutes: config.scheduler?.schedule?.durationMinutes,
|
|
230
|
+
enabled: config.enabled,
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
catch {
|
|
234
|
+
return null;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
return null;
|
|
238
|
+
}
|
|
239
|
+
//# sourceMappingURL=learning-init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"learning-init.js","sourceRoot":"","sources":["../../../src/cli/init/learning-init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BaselineCollector - Phase 0 of Nightly-Learner System
|
|
3
|
+
*
|
|
4
|
+
* Collects performance baselines for all 19 QE agents to establish
|
|
5
|
+
* quantitative improvement targets (10-20% above baseline).
|
|
6
|
+
*
|
|
7
|
+
* Architecture:
|
|
8
|
+
* - Uses shared memory database (.agentic-qe/memory.db)
|
|
9
|
+
* - Stores baselines in dedicated `learning_baselines` table
|
|
10
|
+
* - Integrates with StandardTaskSuite for consistent benchmarking
|
|
11
|
+
* - Provides baseline queries for improvement tracking
|
|
12
|
+
*
|
|
13
|
+
* @version 1.0.0
|
|
14
|
+
* @module src/learning/baselines/BaselineCollector
|
|
15
|
+
*/
|
|
16
|
+
import { QEAgentType } from '../../types';
|
|
17
|
+
/**
|
|
18
|
+
* Performance baseline for a QE agent
|
|
19
|
+
*/
|
|
20
|
+
export interface LearningBaseline {
|
|
21
|
+
id?: string;
|
|
22
|
+
agentId: string;
|
|
23
|
+
agentType: QEAgentType;
|
|
24
|
+
taskType: string;
|
|
25
|
+
metrics: {
|
|
26
|
+
avgCompletionTime: number;
|
|
27
|
+
successRate: number;
|
|
28
|
+
patternRecallAccuracy: number;
|
|
29
|
+
coverageAchieved: number;
|
|
30
|
+
};
|
|
31
|
+
sampleSize: number;
|
|
32
|
+
collectedAt: Date;
|
|
33
|
+
updatedAt?: Date;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Baseline statistics for reporting
|
|
37
|
+
*/
|
|
38
|
+
export interface BaselineStats {
|
|
39
|
+
agentType: QEAgentType;
|
|
40
|
+
totalBaselines: number;
|
|
41
|
+
avgSuccessRate: number;
|
|
42
|
+
avgCompletionTime: number;
|
|
43
|
+
avgCoverage: number;
|
|
44
|
+
lastCollected: Date | null;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Improvement target derived from baseline
|
|
48
|
+
*/
|
|
49
|
+
export interface ImprovementTarget {
|
|
50
|
+
agentType: QEAgentType;
|
|
51
|
+
taskType: string;
|
|
52
|
+
baseline: LearningBaseline;
|
|
53
|
+
targets: {
|
|
54
|
+
targetCompletionTime: number;
|
|
55
|
+
targetSuccessRate: number;
|
|
56
|
+
targetCoverage: number;
|
|
57
|
+
};
|
|
58
|
+
minImprovementThreshold: number;
|
|
59
|
+
aspirationalThreshold: number;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Configuration for baseline collection
|
|
63
|
+
*/
|
|
64
|
+
export interface BaselineCollectorConfig {
|
|
65
|
+
/** Database path. Default: .agentic-qe/memory.db */
|
|
66
|
+
dbPath?: string;
|
|
67
|
+
/** Sample size for baseline calculation. Default: 10 */
|
|
68
|
+
sampleSize?: number;
|
|
69
|
+
/** Timeout for each task execution (ms). Default: 30000 */
|
|
70
|
+
taskTimeout?: number;
|
|
71
|
+
/** Enable debug logging */
|
|
72
|
+
debug?: boolean;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* BaselineCollector collects and manages performance baselines
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```typescript
|
|
79
|
+
* const collector = new BaselineCollector();
|
|
80
|
+
* await collector.initialize();
|
|
81
|
+
*
|
|
82
|
+
* // Collect baseline for test-generator
|
|
83
|
+
* const baseline = await collector.collectBaseline(
|
|
84
|
+
* 'test-gen-001',
|
|
85
|
+
* QEAgentType.TEST_GENERATOR,
|
|
86
|
+
* 'unit-test-generation'
|
|
87
|
+
* );
|
|
88
|
+
*
|
|
89
|
+
* // Get improvement targets
|
|
90
|
+
* const targets = collector.getImprovementTarget(baseline);
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
export declare class BaselineCollector {
|
|
94
|
+
private config;
|
|
95
|
+
private db;
|
|
96
|
+
private logger;
|
|
97
|
+
private taskSuite;
|
|
98
|
+
private isInitialized;
|
|
99
|
+
constructor(config?: BaselineCollectorConfig);
|
|
100
|
+
/**
|
|
101
|
+
* Initialize the baseline collector and database schema
|
|
102
|
+
*/
|
|
103
|
+
initialize(): Promise<void>;
|
|
104
|
+
/**
|
|
105
|
+
* Initialize database schema for baselines
|
|
106
|
+
*/
|
|
107
|
+
private initializeSchema;
|
|
108
|
+
/**
|
|
109
|
+
* Collect baseline for a specific agent and task type
|
|
110
|
+
*
|
|
111
|
+
* Runs the standard task suite multiple times and calculates average metrics.
|
|
112
|
+
*
|
|
113
|
+
* @param agentId - Agent identifier
|
|
114
|
+
* @param agentType - QE agent type
|
|
115
|
+
* @param taskType - Task type to baseline
|
|
116
|
+
* @returns Collected baseline
|
|
117
|
+
*/
|
|
118
|
+
collectBaseline(agentId: string, agentType: QEAgentType, taskType: string): Promise<LearningBaseline>;
|
|
119
|
+
/**
|
|
120
|
+
* Collect baselines for all 19 QE agent types
|
|
121
|
+
*
|
|
122
|
+
* Runs comprehensive baseline collection across all agents.
|
|
123
|
+
* This is typically run once during Phase 0 setup.
|
|
124
|
+
*
|
|
125
|
+
* @returns Array of collected baselines
|
|
126
|
+
*/
|
|
127
|
+
collectAllBaselines(): Promise<LearningBaseline[]>;
|
|
128
|
+
/**
|
|
129
|
+
* Execute a standard task and measure performance
|
|
130
|
+
*/
|
|
131
|
+
private executeStandardTask;
|
|
132
|
+
/**
|
|
133
|
+
* Calculate aggregate metrics from task results
|
|
134
|
+
*/
|
|
135
|
+
private calculateMetrics;
|
|
136
|
+
/**
|
|
137
|
+
* Store baseline in database
|
|
138
|
+
*/
|
|
139
|
+
private storeBaseline;
|
|
140
|
+
/**
|
|
141
|
+
* Get baseline for specific agent type and task type
|
|
142
|
+
*/
|
|
143
|
+
getBaseline(agentType: QEAgentType, taskType: string): LearningBaseline | null;
|
|
144
|
+
/**
|
|
145
|
+
* Get all baselines for an agent type
|
|
146
|
+
*/
|
|
147
|
+
getBaselinesForAgent(agentType: QEAgentType): LearningBaseline[];
|
|
148
|
+
/**
|
|
149
|
+
* Get baseline statistics for an agent type
|
|
150
|
+
*/
|
|
151
|
+
getBaselineStats(agentType: QEAgentType): BaselineStats | null;
|
|
152
|
+
/**
|
|
153
|
+
* Get improvement target from baseline
|
|
154
|
+
*
|
|
155
|
+
* Calculates 10-20% improvement targets above baseline metrics.
|
|
156
|
+
*/
|
|
157
|
+
getImprovementTarget(baseline: LearningBaseline): ImprovementTarget;
|
|
158
|
+
/**
|
|
159
|
+
* Check if current performance meets improvement target
|
|
160
|
+
*/
|
|
161
|
+
meetsImprovementTarget(baseline: LearningBaseline, currentMetrics: LearningBaseline['metrics']): {
|
|
162
|
+
meetsTarget: boolean;
|
|
163
|
+
improvements: Record<string, {
|
|
164
|
+
met: boolean;
|
|
165
|
+
improvement: number;
|
|
166
|
+
}>;
|
|
167
|
+
};
|
|
168
|
+
/**
|
|
169
|
+
* Convert database row to LearningBaseline
|
|
170
|
+
*/
|
|
171
|
+
private rowToBaseline;
|
|
172
|
+
/**
|
|
173
|
+
* Close database connection
|
|
174
|
+
*/
|
|
175
|
+
close(): void;
|
|
176
|
+
}
|
|
177
|
+
export default BaselineCollector;
|
|
178
|
+
//# sourceMappingURL=BaselineCollector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaselineCollector.d.ts","sourceRoot":"","sources":["../../../src/learning/baselines/BaselineCollector.ts"],"names":[],"mappings":"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"}
|