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.
Files changed (255) hide show
  1. package/CHANGELOG.md +122 -0
  2. package/README.md +1 -1
  3. package/dist/agents/ApiContractValidatorAgent.d.ts +5 -0
  4. package/dist/agents/ApiContractValidatorAgent.d.ts.map +1 -1
  5. package/dist/agents/ApiContractValidatorAgent.js +41 -0
  6. package/dist/agents/ApiContractValidatorAgent.js.map +1 -1
  7. package/dist/agents/BaseAgent.d.ts +10 -0
  8. package/dist/agents/BaseAgent.d.ts.map +1 -1
  9. package/dist/agents/BaseAgent.js +113 -0
  10. package/dist/agents/BaseAgent.js.map +1 -1
  11. package/dist/agents/CodeComplexityAnalyzerAgent.d.ts +5 -0
  12. package/dist/agents/CodeComplexityAnalyzerAgent.d.ts.map +1 -1
  13. package/dist/agents/CodeComplexityAnalyzerAgent.js +47 -0
  14. package/dist/agents/CodeComplexityAnalyzerAgent.js.map +1 -1
  15. package/dist/agents/CoverageAnalyzerAgent.d.ts +26 -0
  16. package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
  17. package/dist/agents/CoverageAnalyzerAgent.js +149 -1
  18. package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
  19. package/dist/agents/DeploymentReadinessAgent.d.ts +5 -0
  20. package/dist/agents/DeploymentReadinessAgent.d.ts.map +1 -1
  21. package/dist/agents/DeploymentReadinessAgent.js +41 -0
  22. package/dist/agents/DeploymentReadinessAgent.js.map +1 -1
  23. package/dist/agents/FlakyTestHunterAgent.d.ts +5 -0
  24. package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
  25. package/dist/agents/FlakyTestHunterAgent.js +40 -0
  26. package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
  27. package/dist/agents/FleetCommanderAgent.d.ts +5 -0
  28. package/dist/agents/FleetCommanderAgent.d.ts.map +1 -1
  29. package/dist/agents/FleetCommanderAgent.js +51 -0
  30. package/dist/agents/FleetCommanderAgent.js.map +1 -1
  31. package/dist/agents/PerformanceTesterAgent.d.ts +5 -0
  32. package/dist/agents/PerformanceTesterAgent.d.ts.map +1 -1
  33. package/dist/agents/PerformanceTesterAgent.js +44 -0
  34. package/dist/agents/PerformanceTesterAgent.js.map +1 -1
  35. package/dist/agents/ProductionIntelligenceAgent.d.ts +5 -0
  36. package/dist/agents/ProductionIntelligenceAgent.d.ts.map +1 -1
  37. package/dist/agents/ProductionIntelligenceAgent.js +46 -0
  38. package/dist/agents/ProductionIntelligenceAgent.js.map +1 -1
  39. package/dist/agents/QXPartnerAgent.js +52 -0
  40. package/dist/agents/QXPartnerAgent.js.map +1 -1
  41. package/dist/agents/QualityAnalyzerAgent.d.ts +5 -0
  42. package/dist/agents/QualityAnalyzerAgent.d.ts.map +1 -1
  43. package/dist/agents/QualityAnalyzerAgent.js +45 -0
  44. package/dist/agents/QualityAnalyzerAgent.js.map +1 -1
  45. package/dist/agents/QualityGateAgent.d.ts +40 -0
  46. package/dist/agents/QualityGateAgent.d.ts.map +1 -1
  47. package/dist/agents/QualityGateAgent.js +227 -1
  48. package/dist/agents/QualityGateAgent.js.map +1 -1
  49. package/dist/agents/RegressionRiskAnalyzerAgent.d.ts +5 -0
  50. package/dist/agents/RegressionRiskAnalyzerAgent.d.ts.map +1 -1
  51. package/dist/agents/RegressionRiskAnalyzerAgent.js +46 -0
  52. package/dist/agents/RegressionRiskAnalyzerAgent.js.map +1 -1
  53. package/dist/agents/RequirementsValidatorAgent.d.ts +5 -0
  54. package/dist/agents/RequirementsValidatorAgent.d.ts.map +1 -1
  55. package/dist/agents/RequirementsValidatorAgent.js +42 -0
  56. package/dist/agents/RequirementsValidatorAgent.js.map +1 -1
  57. package/dist/agents/SecurityScannerAgent.d.ts +5 -0
  58. package/dist/agents/SecurityScannerAgent.d.ts.map +1 -1
  59. package/dist/agents/SecurityScannerAgent.js +39 -0
  60. package/dist/agents/SecurityScannerAgent.js.map +1 -1
  61. package/dist/agents/TestDataArchitectAgent.d.ts +5 -0
  62. package/dist/agents/TestDataArchitectAgent.d.ts.map +1 -1
  63. package/dist/agents/TestDataArchitectAgent.js +46 -0
  64. package/dist/agents/TestDataArchitectAgent.js.map +1 -1
  65. package/dist/agents/TestExecutorAgent.d.ts +5 -0
  66. package/dist/agents/TestExecutorAgent.d.ts.map +1 -1
  67. package/dist/agents/TestExecutorAgent.js +48 -0
  68. package/dist/agents/TestExecutorAgent.js.map +1 -1
  69. package/dist/agents/TestGeneratorAgent.d.ts +5 -0
  70. package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
  71. package/dist/agents/TestGeneratorAgent.js +36 -0
  72. package/dist/agents/TestGeneratorAgent.js.map +1 -1
  73. package/dist/agents/lifecycle/AgentLifecycleManager.d.ts.map +1 -1
  74. package/dist/agents/lifecycle/AgentLifecycleManager.js +5 -2
  75. package/dist/agents/lifecycle/AgentLifecycleManager.js.map +1 -1
  76. package/dist/cli/commands/dream/index.d.ts +50 -0
  77. package/dist/cli/commands/dream/index.d.ts.map +1 -0
  78. package/dist/cli/commands/dream/index.js +282 -0
  79. package/dist/cli/commands/dream/index.js.map +1 -0
  80. package/dist/cli/commands/learn/index.d.ts +31 -5
  81. package/dist/cli/commands/learn/index.d.ts.map +1 -1
  82. package/dist/cli/commands/learn/index.js +183 -50
  83. package/dist/cli/commands/learn/index.js.map +1 -1
  84. package/dist/cli/commands/transfer/index.d.ts +55 -0
  85. package/dist/cli/commands/transfer/index.d.ts.map +1 -0
  86. package/dist/cli/commands/transfer/index.js +317 -0
  87. package/dist/cli/commands/transfer/index.js.map +1 -0
  88. package/dist/cli/index.js +224 -3
  89. package/dist/cli/index.js.map +1 -1
  90. package/dist/cli/init/index.d.ts.map +1 -1
  91. package/dist/cli/init/index.js +12 -4
  92. package/dist/cli/init/index.js.map +1 -1
  93. package/dist/cli/init/learning-init.d.ts +39 -0
  94. package/dist/cli/init/learning-init.d.ts.map +1 -0
  95. package/dist/cli/init/learning-init.js +239 -0
  96. package/dist/cli/init/learning-init.js.map +1 -0
  97. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  98. package/dist/learning/baselines/BaselineCollector.d.ts +178 -0
  99. package/dist/learning/baselines/BaselineCollector.d.ts.map +1 -0
  100. package/dist/learning/baselines/BaselineCollector.js +398 -0
  101. package/dist/learning/baselines/BaselineCollector.js.map +1 -0
  102. package/dist/learning/baselines/StandardTaskSuite.d.ts +88 -0
  103. package/dist/learning/baselines/StandardTaskSuite.d.ts.map +1 -0
  104. package/dist/learning/baselines/StandardTaskSuite.js +801 -0
  105. package/dist/learning/baselines/StandardTaskSuite.js.map +1 -0
  106. package/dist/learning/baselines/index.d.ts +10 -0
  107. package/dist/learning/baselines/index.d.ts.map +1 -0
  108. package/dist/learning/baselines/index.js +15 -0
  109. package/dist/learning/baselines/index.js.map +1 -0
  110. package/dist/learning/capture/ExecutionRecorder.d.ts +97 -0
  111. package/dist/learning/capture/ExecutionRecorder.d.ts.map +1 -0
  112. package/dist/learning/capture/ExecutionRecorder.js +195 -0
  113. package/dist/learning/capture/ExecutionRecorder.js.map +1 -0
  114. package/dist/learning/capture/ExperienceCapture.d.ts +177 -0
  115. package/dist/learning/capture/ExperienceCapture.d.ts.map +1 -0
  116. package/dist/learning/capture/ExperienceCapture.js +432 -0
  117. package/dist/learning/capture/ExperienceCapture.js.map +1 -0
  118. package/dist/learning/capture/ExperienceExtractor.d.ts +219 -0
  119. package/dist/learning/capture/ExperienceExtractor.d.ts.map +1 -0
  120. package/dist/learning/capture/ExperienceExtractor.js +536 -0
  121. package/dist/learning/capture/ExperienceExtractor.js.map +1 -0
  122. package/dist/learning/capture/ExperienceStore.d.ts +196 -0
  123. package/dist/learning/capture/ExperienceStore.d.ts.map +1 -0
  124. package/dist/learning/capture/ExperienceStore.js +453 -0
  125. package/dist/learning/capture/ExperienceStore.js.map +1 -0
  126. package/dist/learning/capture/index.d.ts +12 -0
  127. package/dist/learning/capture/index.d.ts.map +1 -0
  128. package/dist/learning/capture/index.js +17 -0
  129. package/dist/learning/capture/index.js.map +1 -0
  130. package/dist/learning/dashboard/MetricsDashboard.d.ts +63 -0
  131. package/dist/learning/dashboard/MetricsDashboard.d.ts.map +1 -0
  132. package/dist/learning/dashboard/MetricsDashboard.js +230 -0
  133. package/dist/learning/dashboard/MetricsDashboard.js.map +1 -0
  134. package/dist/learning/dashboard/index.d.ts +7 -0
  135. package/dist/learning/dashboard/index.d.ts.map +1 -0
  136. package/dist/learning/dashboard/index.js +23 -0
  137. package/dist/learning/dashboard/index.js.map +1 -0
  138. package/dist/learning/dream/ConceptGraph.d.ts +160 -0
  139. package/dist/learning/dream/ConceptGraph.d.ts.map +1 -0
  140. package/dist/learning/dream/ConceptGraph.js +445 -0
  141. package/dist/learning/dream/ConceptGraph.js.map +1 -0
  142. package/dist/learning/dream/DreamEngine.d.ts +150 -0
  143. package/dist/learning/dream/DreamEngine.d.ts.map +1 -0
  144. package/dist/learning/dream/DreamEngine.js +551 -0
  145. package/dist/learning/dream/DreamEngine.js.map +1 -0
  146. package/dist/learning/dream/InsightGenerator.d.ts +152 -0
  147. package/dist/learning/dream/InsightGenerator.d.ts.map +1 -0
  148. package/dist/learning/dream/InsightGenerator.js +463 -0
  149. package/dist/learning/dream/InsightGenerator.js.map +1 -0
  150. package/dist/learning/dream/SpreadingActivation.d.ts +138 -0
  151. package/dist/learning/dream/SpreadingActivation.d.ts.map +1 -0
  152. package/dist/learning/dream/SpreadingActivation.js +320 -0
  153. package/dist/learning/dream/SpreadingActivation.js.map +1 -0
  154. package/dist/learning/dream/index.d.ts +14 -0
  155. package/dist/learning/dream/index.d.ts.map +1 -0
  156. package/dist/learning/dream/index.js +22 -0
  157. package/dist/learning/dream/index.js.map +1 -0
  158. package/dist/learning/metrics/AlertManager.d.ts +107 -0
  159. package/dist/learning/metrics/AlertManager.d.ts.map +1 -0
  160. package/dist/learning/metrics/AlertManager.js +246 -0
  161. package/dist/learning/metrics/AlertManager.js.map +1 -0
  162. package/dist/learning/metrics/LearningMetrics.d.ts +184 -0
  163. package/dist/learning/metrics/LearningMetrics.d.ts.map +1 -0
  164. package/dist/learning/metrics/LearningMetrics.js +754 -0
  165. package/dist/learning/metrics/LearningMetrics.js.map +1 -0
  166. package/dist/learning/metrics/MetricsCollector.d.ts +108 -0
  167. package/dist/learning/metrics/MetricsCollector.d.ts.map +1 -0
  168. package/dist/learning/metrics/MetricsCollector.js +240 -0
  169. package/dist/learning/metrics/MetricsCollector.js.map +1 -0
  170. package/dist/learning/metrics/MetricsStore.d.ts +149 -0
  171. package/dist/learning/metrics/MetricsStore.d.ts.map +1 -0
  172. package/dist/learning/metrics/MetricsStore.js +502 -0
  173. package/dist/learning/metrics/MetricsStore.js.map +1 -0
  174. package/dist/learning/metrics/TrendAnalyzer.d.ts +85 -0
  175. package/dist/learning/metrics/TrendAnalyzer.d.ts.map +1 -0
  176. package/dist/learning/metrics/TrendAnalyzer.js +210 -0
  177. package/dist/learning/metrics/TrendAnalyzer.js.map +1 -0
  178. package/dist/learning/metrics/index.d.ts +13 -0
  179. package/dist/learning/metrics/index.d.ts.map +1 -0
  180. package/dist/learning/metrics/index.js +39 -0
  181. package/dist/learning/metrics/index.js.map +1 -0
  182. package/dist/learning/scheduler/IdleDetector.d.ts +126 -0
  183. package/dist/learning/scheduler/IdleDetector.d.ts.map +1 -0
  184. package/dist/learning/scheduler/IdleDetector.js +281 -0
  185. package/dist/learning/scheduler/IdleDetector.js.map +1 -0
  186. package/dist/learning/scheduler/SleepCycle.d.ts +150 -0
  187. package/dist/learning/scheduler/SleepCycle.d.ts.map +1 -0
  188. package/dist/learning/scheduler/SleepCycle.js +506 -0
  189. package/dist/learning/scheduler/SleepCycle.js.map +1 -0
  190. package/dist/learning/scheduler/SleepScheduler.d.ts +133 -0
  191. package/dist/learning/scheduler/SleepScheduler.d.ts.map +1 -0
  192. package/dist/learning/scheduler/SleepScheduler.js +301 -0
  193. package/dist/learning/scheduler/SleepScheduler.js.map +1 -0
  194. package/dist/learning/scheduler/TimeBasedTrigger.d.ts +108 -0
  195. package/dist/learning/scheduler/TimeBasedTrigger.d.ts.map +1 -0
  196. package/dist/learning/scheduler/TimeBasedTrigger.js +222 -0
  197. package/dist/learning/scheduler/TimeBasedTrigger.js.map +1 -0
  198. package/dist/learning/scheduler/index.d.ts +16 -0
  199. package/dist/learning/scheduler/index.d.ts.map +1 -0
  200. package/dist/learning/scheduler/index.js +23 -0
  201. package/dist/learning/scheduler/index.js.map +1 -0
  202. package/dist/learning/synthesis/ClusteringEngine.d.ts +122 -0
  203. package/dist/learning/synthesis/ClusteringEngine.d.ts.map +1 -0
  204. package/dist/learning/synthesis/ClusteringEngine.js +356 -0
  205. package/dist/learning/synthesis/ClusteringEngine.js.map +1 -0
  206. package/dist/learning/synthesis/PatternSynthesis.d.ts +162 -0
  207. package/dist/learning/synthesis/PatternSynthesis.d.ts.map +1 -0
  208. package/dist/learning/synthesis/PatternSynthesis.js +479 -0
  209. package/dist/learning/synthesis/PatternSynthesis.js.map +1 -0
  210. package/dist/learning/synthesis/index.d.ts +10 -0
  211. package/dist/learning/synthesis/index.d.ts.map +1 -0
  212. package/dist/learning/synthesis/index.js +14 -0
  213. package/dist/learning/synthesis/index.js.map +1 -0
  214. package/dist/learning/transfer/CompatibilityScorer.d.ts +115 -0
  215. package/dist/learning/transfer/CompatibilityScorer.d.ts.map +1 -0
  216. package/dist/learning/transfer/CompatibilityScorer.js +319 -0
  217. package/dist/learning/transfer/CompatibilityScorer.js.map +1 -0
  218. package/dist/learning/transfer/TransferProtocol.d.ts +172 -0
  219. package/dist/learning/transfer/TransferProtocol.d.ts.map +1 -0
  220. package/dist/learning/transfer/TransferProtocol.js +611 -0
  221. package/dist/learning/transfer/TransferProtocol.js.map +1 -0
  222. package/dist/learning/transfer/TransferPrototype.d.ts +93 -0
  223. package/dist/learning/transfer/TransferPrototype.d.ts.map +1 -0
  224. package/dist/learning/transfer/TransferPrototype.js +433 -0
  225. package/dist/learning/transfer/TransferPrototype.js.map +1 -0
  226. package/dist/learning/transfer/TransferRegistry.d.ts +245 -0
  227. package/dist/learning/transfer/TransferRegistry.d.ts.map +1 -0
  228. package/dist/learning/transfer/TransferRegistry.js +410 -0
  229. package/dist/learning/transfer/TransferRegistry.js.map +1 -0
  230. package/dist/learning/transfer/TransferValidator.d.ts +140 -0
  231. package/dist/learning/transfer/TransferValidator.d.ts.map +1 -0
  232. package/dist/learning/transfer/TransferValidator.js +413 -0
  233. package/dist/learning/transfer/TransferValidator.js.map +1 -0
  234. package/dist/learning/transfer/index.d.ts +14 -0
  235. package/dist/learning/transfer/index.d.ts.map +1 -0
  236. package/dist/learning/transfer/index.js +22 -0
  237. package/dist/learning/transfer/index.js.map +1 -0
  238. package/dist/mcp/handlers/task-orchestrate.d.ts +11 -0
  239. package/dist/mcp/handlers/task-orchestrate.d.ts.map +1 -1
  240. package/dist/mcp/handlers/task-orchestrate.js +297 -4
  241. package/dist/mcp/handlers/task-orchestrate.js.map +1 -1
  242. package/dist/mcp/handlers/test/test-generate-enhanced.d.ts +26 -2
  243. package/dist/mcp/handlers/test/test-generate-enhanced.d.ts.map +1 -1
  244. package/dist/mcp/handlers/test/test-generate-enhanced.js +159 -27
  245. package/dist/mcp/handlers/test/test-generate-enhanced.js.map +1 -1
  246. package/dist/mcp/server-instructions.d.ts +1 -1
  247. package/dist/mcp/server-instructions.js +1 -1
  248. package/dist/mcp/server.d.ts.map +1 -1
  249. package/dist/mcp/server.js +2 -1
  250. package/dist/mcp/server.js.map +1 -1
  251. package/dist/mcp/services/AgentRegistry.d.ts +6 -1
  252. package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
  253. package/dist/mcp/services/AgentRegistry.js +34 -3
  254. package/dist/mcp/services/AgentRegistry.js.map +1 -1
  255. package/package.json +5 -2
@@ -0,0 +1,246 @@
1
+ "use strict";
2
+ /**
3
+ * AlertManager - Phase 3 Alert System
4
+ *
5
+ * Manages alerts for learning metrics that exceed thresholds.
6
+ * Tracks alert state and acknowledgments.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.AlertManager = exports.AlertStatus = exports.AlertSeverity = void 0;
10
+ const Logger_1 = require("../../utils/Logger");
11
+ /**
12
+ * Alert severity levels
13
+ */
14
+ var AlertSeverity;
15
+ (function (AlertSeverity) {
16
+ AlertSeverity["INFO"] = "info";
17
+ AlertSeverity["WARNING"] = "warning";
18
+ AlertSeverity["ERROR"] = "error";
19
+ })(AlertSeverity || (exports.AlertSeverity = AlertSeverity = {}));
20
+ /**
21
+ * Alert status
22
+ */
23
+ var AlertStatus;
24
+ (function (AlertStatus) {
25
+ AlertStatus["ACTIVE"] = "active";
26
+ AlertStatus["ACKNOWLEDGED"] = "acknowledged";
27
+ AlertStatus["RESOLVED"] = "resolved";
28
+ })(AlertStatus || (exports.AlertStatus = AlertStatus = {}));
29
+ /**
30
+ * AlertManager - Manages learning metric alerts
31
+ */
32
+ class AlertManager {
33
+ constructor(memoryManager) {
34
+ // Default thresholds
35
+ this.DEFAULT_THRESHOLDS = [
36
+ { metric: 'errorRate', warningThreshold: 0.1, errorThreshold: 0.2, comparison: 'gt' },
37
+ { metric: 'cycleCompletionRate', warningThreshold: 0.8, errorThreshold: 0.6, comparison: 'lt' },
38
+ { metric: 'avgAccuracy', warningThreshold: 0.7, errorThreshold: 0.5, comparison: 'lt' },
39
+ { metric: 'transferSuccessRate', warningThreshold: 0.6, errorThreshold: 0.4, comparison: 'lt' },
40
+ { metric: 'discoveryRate', warningThreshold: 1.0, errorThreshold: 0.5, comparison: 'lt' }
41
+ ];
42
+ this.logger = Logger_1.Logger.getInstance();
43
+ this.memoryManager = memoryManager;
44
+ this.alerts = new Map();
45
+ }
46
+ /**
47
+ * Initialize alert manager
48
+ */
49
+ async initialize() {
50
+ await this.loadAlerts();
51
+ }
52
+ /**
53
+ * Check metrics against thresholds and create alerts
54
+ */
55
+ async checkMetrics(metrics) {
56
+ const newAlerts = [];
57
+ // Check each threshold
58
+ for (const threshold of this.DEFAULT_THRESHOLDS) {
59
+ const value = this.getMetricValue(metrics, threshold.metric);
60
+ if (value === null)
61
+ continue;
62
+ const alert = this.checkThreshold(threshold, value);
63
+ if (alert) {
64
+ newAlerts.push(alert);
65
+ await this.storeAlert(alert);
66
+ }
67
+ }
68
+ return newAlerts;
69
+ }
70
+ /**
71
+ * Get all active alerts
72
+ */
73
+ getActiveAlerts() {
74
+ return Array.from(this.alerts.values())
75
+ .filter(a => a.status === AlertStatus.ACTIVE)
76
+ .sort((a, b) => {
77
+ // Sort by severity (error > warning > info) then by date
78
+ const severityOrder = { error: 0, warning: 1, info: 2 };
79
+ const severityDiff = severityOrder[a.severity] - severityOrder[b.severity];
80
+ if (severityDiff !== 0)
81
+ return severityDiff;
82
+ return b.createdAt.getTime() - a.createdAt.getTime();
83
+ });
84
+ }
85
+ /**
86
+ * Get all alerts (including acknowledged)
87
+ */
88
+ getAllAlerts() {
89
+ return Array.from(this.alerts.values())
90
+ .sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime());
91
+ }
92
+ /**
93
+ * Acknowledge an alert
94
+ */
95
+ async acknowledgeAlert(alertId) {
96
+ const alert = this.alerts.get(alertId);
97
+ if (!alert) {
98
+ throw new Error(`Alert not found: ${alertId}`);
99
+ }
100
+ alert.status = AlertStatus.ACKNOWLEDGED;
101
+ alert.acknowledgedAt = new Date();
102
+ this.alerts.set(alertId, alert);
103
+ await this.storeAlert(alert);
104
+ this.logger.info(`Alert acknowledged: ${alertId}`);
105
+ }
106
+ /**
107
+ * Resolve an alert
108
+ */
109
+ async resolveAlert(alertId) {
110
+ const alert = this.alerts.get(alertId);
111
+ if (!alert) {
112
+ throw new Error(`Alert not found: ${alertId}`);
113
+ }
114
+ alert.status = AlertStatus.RESOLVED;
115
+ alert.resolvedAt = new Date();
116
+ this.alerts.set(alertId, alert);
117
+ await this.storeAlert(alert);
118
+ this.logger.info(`Alert resolved: ${alertId}`);
119
+ }
120
+ /**
121
+ * Check a single threshold
122
+ */
123
+ checkThreshold(threshold, currentValue) {
124
+ let severity = null;
125
+ let thresholdValue = 0;
126
+ if (threshold.comparison === 'gt') {
127
+ // Value should be LESS than threshold
128
+ if (currentValue >= threshold.errorThreshold) {
129
+ severity = AlertSeverity.ERROR;
130
+ thresholdValue = threshold.errorThreshold;
131
+ }
132
+ else if (currentValue >= threshold.warningThreshold) {
133
+ severity = AlertSeverity.WARNING;
134
+ thresholdValue = threshold.warningThreshold;
135
+ }
136
+ }
137
+ else {
138
+ // Value should be GREATER than threshold
139
+ if (currentValue <= threshold.errorThreshold) {
140
+ severity = AlertSeverity.ERROR;
141
+ thresholdValue = threshold.errorThreshold;
142
+ }
143
+ else if (currentValue <= threshold.warningThreshold) {
144
+ severity = AlertSeverity.WARNING;
145
+ thresholdValue = threshold.warningThreshold;
146
+ }
147
+ }
148
+ if (!severity)
149
+ return null;
150
+ // Check if alert already exists for this metric
151
+ const existingAlert = Array.from(this.alerts.values()).find(a => a.metric === threshold.metric && a.status === AlertStatus.ACTIVE);
152
+ if (existingAlert) {
153
+ // Update existing alert if value changed significantly
154
+ if (Math.abs(existingAlert.currentValue - currentValue) > 0.01) {
155
+ existingAlert.currentValue = currentValue;
156
+ this.storeAlert(existingAlert);
157
+ }
158
+ return null;
159
+ }
160
+ // Create new alert
161
+ const alert = {
162
+ id: `alert-${threshold.metric}-${Date.now()}`,
163
+ severity,
164
+ metric: threshold.metric,
165
+ message: this.generateAlertMessage(threshold.metric, currentValue, thresholdValue, threshold.comparison),
166
+ currentValue,
167
+ threshold: thresholdValue,
168
+ status: AlertStatus.ACTIVE,
169
+ createdAt: new Date()
170
+ };
171
+ this.alerts.set(alert.id, alert);
172
+ return alert;
173
+ }
174
+ /**
175
+ * Generate alert message
176
+ */
177
+ generateAlertMessage(metric, currentValue, threshold, comparison) {
178
+ const formatted = (v) => (v * 100).toFixed(1) + '%';
179
+ const operator = comparison === 'gt' ? 'above' : 'below';
180
+ return `${metric} is ${operator} threshold: ${formatted(currentValue)} (threshold: ${formatted(threshold)})`;
181
+ }
182
+ /**
183
+ * Get metric value from aggregated metrics
184
+ */
185
+ getMetricValue(metrics, metricName) {
186
+ switch (metricName) {
187
+ case 'errorRate':
188
+ return metrics.system.errorRate;
189
+ case 'cycleCompletionRate':
190
+ return metrics.system.cycleCompletionRate;
191
+ case 'avgAccuracy':
192
+ return metrics.quality.avgAccuracy;
193
+ case 'transferSuccessRate':
194
+ return metrics.transfer.successRate;
195
+ case 'discoveryRate':
196
+ return metrics.discovery.discoveryRate;
197
+ default:
198
+ return null;
199
+ }
200
+ }
201
+ /**
202
+ * Store alert in memory
203
+ */
204
+ async storeAlert(alert) {
205
+ await this.memoryManager.store(`phase3/alerts/${alert.id}`, alert, { partition: 'learning' });
206
+ }
207
+ /**
208
+ * Load alerts from memory
209
+ */
210
+ async loadAlerts() {
211
+ try {
212
+ const entries = await this.memoryManager.query('phase3/alerts/%', { partition: 'learning' });
213
+ entries.forEach(entry => {
214
+ const alert = entry.value;
215
+ // Convert date strings back to Date objects
216
+ alert.createdAt = new Date(alert.createdAt);
217
+ if (alert.acknowledgedAt) {
218
+ alert.acknowledgedAt = new Date(alert.acknowledgedAt);
219
+ }
220
+ if (alert.resolvedAt) {
221
+ alert.resolvedAt = new Date(alert.resolvedAt);
222
+ }
223
+ this.alerts.set(alert.id, alert);
224
+ });
225
+ this.logger.info(`Loaded ${this.alerts.size} alerts from memory`);
226
+ }
227
+ catch (error) {
228
+ this.logger.warn('Failed to load alerts from memory', { error });
229
+ }
230
+ }
231
+ /**
232
+ * Get alert icon
233
+ */
234
+ static getAlertIcon(severity) {
235
+ switch (severity) {
236
+ case AlertSeverity.ERROR:
237
+ return '❌';
238
+ case AlertSeverity.WARNING:
239
+ return '⚠️';
240
+ case AlertSeverity.INFO:
241
+ return 'ℹ️';
242
+ }
243
+ }
244
+ }
245
+ exports.AlertManager = AlertManager;
246
+ //# sourceMappingURL=AlertManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AlertManager.js","sourceRoot":"","sources":["../../../src/learning/metrics/AlertManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,184 @@
1
+ /**
2
+ * LearningMetrics - Collect and track learning effectiveness metrics
3
+ *
4
+ * Aggregates metrics from patterns, dreams, transfers, and experiences
5
+ * to measure the learning system's effectiveness.
6
+ *
7
+ * Part of the Nightly-Learner Phase 3 implementation.
8
+ *
9
+ * @version 1.0.0
10
+ * @module src/learning/metrics/LearningMetrics
11
+ */
12
+ export interface LearningMetricsData {
13
+ patternsDiscoveredTotal: number;
14
+ patternsDiscoveredToday: number;
15
+ discoveryRate: number;
16
+ patternAccuracy: number;
17
+ insightActionability: number;
18
+ falsePositiveRate: number;
19
+ transferSuccessRate: number;
20
+ adoptionRate: number;
21
+ negativeTransferCount: number;
22
+ taskTimeReduction: number;
23
+ coverageImprovement: number;
24
+ bugDetectionImprovement: number;
25
+ sleepCycleCompletionRate: number;
26
+ avgCycleDuration: number;
27
+ errorRate: number;
28
+ calculatedAt: Date;
29
+ periodStart: Date;
30
+ periodEnd: Date;
31
+ }
32
+ export interface MetricsSummary {
33
+ metrics: LearningMetricsData;
34
+ breakdown: {
35
+ discovery: DiscoveryBreakdown;
36
+ quality: QualityBreakdown;
37
+ transfer: TransferBreakdown;
38
+ impact: ImpactBreakdown;
39
+ system: SystemHealthBreakdown;
40
+ };
41
+ trends: {
42
+ discoveryTrend: number;
43
+ qualityTrend: number;
44
+ transferTrend: number;
45
+ impactTrend: number;
46
+ };
47
+ }
48
+ export interface DiscoveryBreakdown {
49
+ totalPatterns: number;
50
+ todayPatterns: number;
51
+ weekPatterns: number;
52
+ monthPatterns: number;
53
+ avgPatternsPerDay: number;
54
+ avgPatternsPerCycle: number;
55
+ }
56
+ export interface QualityBreakdown {
57
+ highConfidencePatterns: number;
58
+ mediumConfidencePatterns: number;
59
+ lowConfidencePatterns: number;
60
+ avgConfidence: number;
61
+ insightsApplied: number;
62
+ insightsPending: number;
63
+ insightsRejected: number;
64
+ }
65
+ export interface TransferBreakdown {
66
+ totalTransfers: number;
67
+ successfulTransfers: number;
68
+ failedTransfers: number;
69
+ avgCompatibilityScore: number;
70
+ transfersByAgentPair: Map<string, {
71
+ success: number;
72
+ fail: number;
73
+ }>;
74
+ patternsUsedPostTransfer: number;
75
+ }
76
+ export interface ImpactBreakdown {
77
+ tasksWithPatterns: number;
78
+ tasksWithoutPatterns: number;
79
+ avgTaskTimeWithPatterns: number;
80
+ avgTaskTimeWithoutPatterns: number;
81
+ timeReductionMs: number;
82
+ coverageBefore: number;
83
+ coverageAfter: number;
84
+ bugsDetectedBefore: number;
85
+ bugsDetectedAfter: number;
86
+ }
87
+ export interface SystemHealthBreakdown {
88
+ totalCycles: number;
89
+ completedCycles: number;
90
+ failedCycles: number;
91
+ interruptedCycles: number;
92
+ avgCycleDurationMs: number;
93
+ minCycleDurationMs: number;
94
+ maxCycleDurationMs: number;
95
+ totalErrors: number;
96
+ errorsByType: Map<string, number>;
97
+ }
98
+ export interface MetricsConfig {
99
+ /** Database path. Default: .agentic-qe/memory.db */
100
+ dbPath?: string;
101
+ /** Enable debug logging */
102
+ debug?: boolean;
103
+ }
104
+ /**
105
+ * LearningMetrics collects and analyzes learning system effectiveness
106
+ *
107
+ * @example
108
+ * ```typescript
109
+ * const metrics = new LearningMetrics();
110
+ *
111
+ * // Get current metrics
112
+ * const current = await metrics.getCurrentMetrics();
113
+ * console.log(`Discovery rate: ${current.discoveryRate} patterns/hour`);
114
+ * console.log(`Transfer success: ${(current.transferSuccessRate * 100).toFixed(1)}%`);
115
+ *
116
+ * // Get comprehensive summary with breakdown
117
+ * const summary = await metrics.getMetricsSummary();
118
+ * console.log(`Quality trend: ${summary.trends.qualityTrend > 0 ? 'improving' : 'declining'}`);
119
+ * ```
120
+ */
121
+ export declare class LearningMetrics {
122
+ private config;
123
+ private db;
124
+ private logger;
125
+ constructor(config?: MetricsConfig);
126
+ /**
127
+ * Get current learning metrics
128
+ */
129
+ getCurrentMetrics(periodHours?: number): Promise<LearningMetricsData>;
130
+ /**
131
+ * Get comprehensive metrics summary with breakdown
132
+ */
133
+ getMetricsSummary(periodHours?: number): Promise<MetricsSummary>;
134
+ /**
135
+ * Calculate discovery metrics
136
+ */
137
+ private calculateDiscoveryMetrics;
138
+ /**
139
+ * Calculate quality metrics
140
+ */
141
+ private calculateQualityMetrics;
142
+ /**
143
+ * Calculate transfer metrics
144
+ */
145
+ private calculateTransferMetrics;
146
+ /**
147
+ * Calculate impact metrics
148
+ */
149
+ private calculateImpactMetrics;
150
+ /**
151
+ * Calculate system health metrics
152
+ */
153
+ private calculateSystemHealthMetrics;
154
+ /**
155
+ * Get detailed discovery breakdown
156
+ */
157
+ private getDiscoveryBreakdown;
158
+ /**
159
+ * Get detailed quality breakdown
160
+ */
161
+ private getQualityBreakdown;
162
+ /**
163
+ * Get detailed transfer breakdown
164
+ */
165
+ private getTransferBreakdown;
166
+ /**
167
+ * Get detailed impact breakdown
168
+ */
169
+ private getImpactBreakdown;
170
+ /**
171
+ * Get detailed system health breakdown
172
+ */
173
+ private getSystemHealthBreakdown;
174
+ /**
175
+ * Calculate trends over time
176
+ */
177
+ private calculateTrends;
178
+ /**
179
+ * Close database connection
180
+ */
181
+ close(): void;
182
+ }
183
+ export default LearningMetrics;
184
+ //# sourceMappingURL=LearningMetrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LearningMetrics.d.ts","sourceRoot":"","sources":["../../../src/learning/metrics/LearningMetrics.ts"],"names":[],"mappings":"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"}