agentic-qe 3.3.1 → 3.3.3

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 (250) hide show
  1. package/.claude/helpers/statusline-v3.cjs +96 -27
  2. package/README.md +6 -3
  3. package/package.json +1 -1
  4. package/scripts/sync-claude-flow.cjs +99 -0
  5. package/v3/CHANGELOG.md +133 -0
  6. package/v3/README.md +9 -5
  7. package/v3/dist/cli/bundle.js +60879 -51811
  8. package/v3/dist/coordination/consensus/domain-findings.d.ts +202 -0
  9. package/v3/dist/coordination/consensus/domain-findings.d.ts.map +1 -0
  10. package/v3/dist/coordination/consensus/domain-findings.js +66 -0
  11. package/v3/dist/coordination/consensus/domain-findings.js.map +1 -0
  12. package/v3/dist/coordination/consensus/index.d.ts +2 -0
  13. package/v3/dist/coordination/consensus/index.d.ts.map +1 -1
  14. package/v3/dist/coordination/consensus/index.js +4 -0
  15. package/v3/dist/coordination/consensus/index.js.map +1 -1
  16. package/v3/dist/coordination/index.d.ts +1 -0
  17. package/v3/dist/coordination/index.d.ts.map +1 -1
  18. package/v3/dist/coordination/index.js +4 -0
  19. package/v3/dist/coordination/index.js.map +1 -1
  20. package/v3/dist/coordination/mixins/consensus-enabled-domain.d.ts +225 -0
  21. package/v3/dist/coordination/mixins/consensus-enabled-domain.d.ts.map +1 -0
  22. package/v3/dist/coordination/mixins/consensus-enabled-domain.js +466 -0
  23. package/v3/dist/coordination/mixins/consensus-enabled-domain.js.map +1 -0
  24. package/v3/dist/coordination/mixins/index.d.ts +14 -0
  25. package/v3/dist/coordination/mixins/index.d.ts.map +1 -0
  26. package/v3/dist/coordination/mixins/index.js +28 -0
  27. package/v3/dist/coordination/mixins/index.js.map +1 -0
  28. package/v3/dist/coordination/mixins/mincut-aware-domain.d.ts +227 -0
  29. package/v3/dist/coordination/mixins/mincut-aware-domain.d.ts.map +1 -0
  30. package/v3/dist/coordination/mixins/mincut-aware-domain.js +368 -0
  31. package/v3/dist/coordination/mixins/mincut-aware-domain.js.map +1 -0
  32. package/v3/dist/coordination/queen-coordinator.d.ts +23 -1
  33. package/v3/dist/coordination/queen-coordinator.d.ts.map +1 -1
  34. package/v3/dist/coordination/queen-coordinator.js +131 -3
  35. package/v3/dist/coordination/queen-coordinator.js.map +1 -1
  36. package/v3/dist/coordination/task-executor.d.ts +21 -1
  37. package/v3/dist/coordination/task-executor.d.ts.map +1 -1
  38. package/v3/dist/coordination/task-executor.js +222 -5
  39. package/v3/dist/coordination/task-executor.js.map +1 -1
  40. package/v3/dist/domains/chaos-resilience/coordinator.d.ts +92 -0
  41. package/v3/dist/domains/chaos-resilience/coordinator.d.ts.map +1 -1
  42. package/v3/dist/domains/chaos-resilience/coordinator.js +241 -1
  43. package/v3/dist/domains/chaos-resilience/coordinator.js.map +1 -1
  44. package/v3/dist/domains/chaos-resilience/plugin.js +1 -1
  45. package/v3/dist/domains/chaos-resilience/plugin.js.map +1 -1
  46. package/v3/dist/domains/chaos-resilience/services/chaos-engineer.d.ts +29 -2
  47. package/v3/dist/domains/chaos-resilience/services/chaos-engineer.d.ts.map +1 -1
  48. package/v3/dist/domains/chaos-resilience/services/chaos-engineer.js +62 -3
  49. package/v3/dist/domains/chaos-resilience/services/chaos-engineer.js.map +1 -1
  50. package/v3/dist/domains/code-intelligence/coordinator.d.ts +112 -0
  51. package/v3/dist/domains/code-intelligence/coordinator.d.ts.map +1 -1
  52. package/v3/dist/domains/code-intelligence/coordinator.js +221 -0
  53. package/v3/dist/domains/code-intelligence/coordinator.js.map +1 -1
  54. package/v3/dist/domains/code-intelligence/services/knowledge-graph.d.ts +66 -2
  55. package/v3/dist/domains/code-intelligence/services/knowledge-graph.d.ts.map +1 -1
  56. package/v3/dist/domains/code-intelligence/services/knowledge-graph.js +253 -3
  57. package/v3/dist/domains/code-intelligence/services/knowledge-graph.js.map +1 -1
  58. package/v3/dist/domains/contract-testing/coordinator.d.ts +89 -1
  59. package/v3/dist/domains/contract-testing/coordinator.d.ts.map +1 -1
  60. package/v3/dist/domains/contract-testing/coordinator.js +222 -1
  61. package/v3/dist/domains/contract-testing/coordinator.js.map +1 -1
  62. package/v3/dist/domains/contract-testing/interfaces.d.ts +29 -1
  63. package/v3/dist/domains/contract-testing/interfaces.d.ts.map +1 -1
  64. package/v3/dist/domains/contract-testing/plugin.js +1 -1
  65. package/v3/dist/domains/contract-testing/plugin.js.map +1 -1
  66. package/v3/dist/domains/contract-testing/services/contract-validator.d.ts +29 -2
  67. package/v3/dist/domains/contract-testing/services/contract-validator.d.ts.map +1 -1
  68. package/v3/dist/domains/contract-testing/services/contract-validator.js +58 -3
  69. package/v3/dist/domains/contract-testing/services/contract-validator.js.map +1 -1
  70. package/v3/dist/domains/coverage-analysis/coordinator.d.ts +95 -2
  71. package/v3/dist/domains/coverage-analysis/coordinator.d.ts.map +1 -1
  72. package/v3/dist/domains/coverage-analysis/coordinator.js +274 -6
  73. package/v3/dist/domains/coverage-analysis/coordinator.js.map +1 -1
  74. package/v3/dist/domains/coverage-analysis/plugin.d.ts +6 -1
  75. package/v3/dist/domains/coverage-analysis/plugin.d.ts.map +1 -1
  76. package/v3/dist/domains/coverage-analysis/plugin.js +73 -0
  77. package/v3/dist/domains/coverage-analysis/plugin.js.map +1 -1
  78. package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.d.ts +119 -3
  79. package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.d.ts.map +1 -1
  80. package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.js +267 -5
  81. package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.js.map +1 -1
  82. package/v3/dist/domains/coverage-analysis/services/gap-detector.d.ts +111 -2
  83. package/v3/dist/domains/coverage-analysis/services/gap-detector.d.ts.map +1 -1
  84. package/v3/dist/domains/coverage-analysis/services/gap-detector.js +231 -3
  85. package/v3/dist/domains/coverage-analysis/services/gap-detector.js.map +1 -1
  86. package/v3/dist/domains/defect-intelligence/coordinator.d.ts +80 -1
  87. package/v3/dist/domains/defect-intelligence/coordinator.d.ts.map +1 -1
  88. package/v3/dist/domains/defect-intelligence/coordinator.js +262 -7
  89. package/v3/dist/domains/defect-intelligence/coordinator.js.map +1 -1
  90. package/v3/dist/domains/defect-intelligence/interfaces.d.ts +17 -0
  91. package/v3/dist/domains/defect-intelligence/interfaces.d.ts.map +1 -1
  92. package/v3/dist/domains/defect-intelligence/services/defect-predictor.d.ts +91 -2
  93. package/v3/dist/domains/defect-intelligence/services/defect-predictor.d.ts.map +1 -1
  94. package/v3/dist/domains/defect-intelligence/services/defect-predictor.js +274 -7
  95. package/v3/dist/domains/defect-intelligence/services/defect-predictor.js.map +1 -1
  96. package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.d.ts +79 -2
  97. package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.d.ts.map +1 -1
  98. package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.js +259 -3
  99. package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.js.map +1 -1
  100. package/v3/dist/domains/domain-interface.d.ts +194 -2
  101. package/v3/dist/domains/domain-interface.d.ts.map +1 -1
  102. package/v3/dist/domains/domain-interface.js +239 -0
  103. package/v3/dist/domains/domain-interface.js.map +1 -1
  104. package/v3/dist/domains/learning-optimization/coordinator.d.ts +171 -0
  105. package/v3/dist/domains/learning-optimization/coordinator.d.ts.map +1 -1
  106. package/v3/dist/domains/learning-optimization/coordinator.js +401 -1
  107. package/v3/dist/domains/learning-optimization/coordinator.js.map +1 -1
  108. package/v3/dist/domains/learning-optimization/index.d.ts +1 -1
  109. package/v3/dist/domains/learning-optimization/index.d.ts.map +1 -1
  110. package/v3/dist/domains/learning-optimization/index.js.map +1 -1
  111. package/v3/dist/domains/learning-optimization/interfaces.d.ts +18 -0
  112. package/v3/dist/domains/learning-optimization/interfaces.d.ts.map +1 -1
  113. package/v3/dist/domains/learning-optimization/plugin.js +1 -1
  114. package/v3/dist/domains/learning-optimization/plugin.js.map +1 -1
  115. package/v3/dist/domains/learning-optimization/services/learning-coordinator.d.ts +54 -2
  116. package/v3/dist/domains/learning-optimization/services/learning-coordinator.d.ts.map +1 -1
  117. package/v3/dist/domains/learning-optimization/services/learning-coordinator.js +90 -3
  118. package/v3/dist/domains/learning-optimization/services/learning-coordinator.js.map +1 -1
  119. package/v3/dist/domains/quality-assessment/coordinator.d.ts +127 -0
  120. package/v3/dist/domains/quality-assessment/coordinator.d.ts.map +1 -1
  121. package/v3/dist/domains/quality-assessment/coordinator.js +493 -7
  122. package/v3/dist/domains/quality-assessment/coordinator.js.map +1 -1
  123. package/v3/dist/domains/quality-assessment/interfaces.d.ts +22 -0
  124. package/v3/dist/domains/quality-assessment/interfaces.d.ts.map +1 -1
  125. package/v3/dist/domains/quality-assessment/plugin.d.ts +6 -1
  126. package/v3/dist/domains/quality-assessment/plugin.d.ts.map +1 -1
  127. package/v3/dist/domains/quality-assessment/plugin.js +67 -0
  128. package/v3/dist/domains/quality-assessment/plugin.js.map +1 -1
  129. package/v3/dist/domains/quality-assessment/services/deployment-advisor.d.ts +61 -2
  130. package/v3/dist/domains/quality-assessment/services/deployment-advisor.d.ts.map +1 -1
  131. package/v3/dist/domains/quality-assessment/services/deployment-advisor.js +213 -5
  132. package/v3/dist/domains/quality-assessment/services/deployment-advisor.js.map +1 -1
  133. package/v3/dist/domains/quality-assessment/services/quality-analyzer.d.ts +59 -4
  134. package/v3/dist/domains/quality-assessment/services/quality-analyzer.d.ts.map +1 -1
  135. package/v3/dist/domains/quality-assessment/services/quality-analyzer.js +195 -3
  136. package/v3/dist/domains/quality-assessment/services/quality-analyzer.js.map +1 -1
  137. package/v3/dist/domains/requirements-validation/coordinator.d.ts +78 -0
  138. package/v3/dist/domains/requirements-validation/coordinator.d.ts.map +1 -1
  139. package/v3/dist/domains/requirements-validation/coordinator.js +189 -0
  140. package/v3/dist/domains/requirements-validation/coordinator.js.map +1 -1
  141. package/v3/dist/domains/requirements-validation/interfaces.d.ts +4 -0
  142. package/v3/dist/domains/requirements-validation/interfaces.d.ts.map +1 -1
  143. package/v3/dist/domains/requirements-validation/services/requirements-validator.d.ts +106 -2
  144. package/v3/dist/domains/requirements-validation/services/requirements-validator.d.ts.map +1 -1
  145. package/v3/dist/domains/requirements-validation/services/requirements-validator.js +263 -3
  146. package/v3/dist/domains/requirements-validation/services/requirements-validator.js.map +1 -1
  147. package/v3/dist/domains/security-compliance/coordinator.d.ts +56 -1
  148. package/v3/dist/domains/security-compliance/coordinator.d.ts.map +1 -1
  149. package/v3/dist/domains/security-compliance/coordinator.js +241 -17
  150. package/v3/dist/domains/security-compliance/coordinator.js.map +1 -1
  151. package/v3/dist/domains/security-compliance/interfaces.d.ts +2 -0
  152. package/v3/dist/domains/security-compliance/interfaces.d.ts.map +1 -1
  153. package/v3/dist/domains/security-compliance/services/security-scanner.d.ts +33 -2
  154. package/v3/dist/domains/security-compliance/services/security-scanner.d.ts.map +1 -1
  155. package/v3/dist/domains/security-compliance/services/security-scanner.js +107 -3
  156. package/v3/dist/domains/security-compliance/services/security-scanner.js.map +1 -1
  157. package/v3/dist/domains/test-execution/coordinator.d.ts +89 -0
  158. package/v3/dist/domains/test-execution/coordinator.d.ts.map +1 -1
  159. package/v3/dist/domains/test-execution/coordinator.js +259 -2
  160. package/v3/dist/domains/test-execution/coordinator.js.map +1 -1
  161. package/v3/dist/domains/test-execution/plugin.d.ts +6 -1
  162. package/v3/dist/domains/test-execution/plugin.d.ts.map +1 -1
  163. package/v3/dist/domains/test-execution/plugin.js +77 -0
  164. package/v3/dist/domains/test-execution/plugin.js.map +1 -1
  165. package/v3/dist/domains/test-execution/services/test-executor.d.ts +30 -2
  166. package/v3/dist/domains/test-execution/services/test-executor.d.ts.map +1 -1
  167. package/v3/dist/domains/test-execution/services/test-executor.js +64 -3
  168. package/v3/dist/domains/test-execution/services/test-executor.js.map +1 -1
  169. package/v3/dist/domains/test-generation/coordinator.d.ts +137 -0
  170. package/v3/dist/domains/test-generation/coordinator.d.ts.map +1 -1
  171. package/v3/dist/domains/test-generation/coordinator.js +421 -1
  172. package/v3/dist/domains/test-generation/coordinator.js.map +1 -1
  173. package/v3/dist/domains/test-generation/interfaces.d.ts +2 -0
  174. package/v3/dist/domains/test-generation/interfaces.d.ts.map +1 -1
  175. package/v3/dist/domains/test-generation/plugin.d.ts +6 -1
  176. package/v3/dist/domains/test-generation/plugin.d.ts.map +1 -1
  177. package/v3/dist/domains/test-generation/plugin.js +84 -0
  178. package/v3/dist/domains/test-generation/plugin.js.map +1 -1
  179. package/v3/dist/domains/test-generation/services/test-generator.d.ts +32 -0
  180. package/v3/dist/domains/test-generation/services/test-generator.d.ts.map +1 -1
  181. package/v3/dist/domains/test-generation/services/test-generator.js +158 -3
  182. package/v3/dist/domains/test-generation/services/test-generator.js.map +1 -1
  183. package/v3/dist/domains/visual-accessibility/coordinator.d.ts +77 -0
  184. package/v3/dist/domains/visual-accessibility/coordinator.d.ts.map +1 -1
  185. package/v3/dist/domains/visual-accessibility/coordinator.js +210 -2
  186. package/v3/dist/domains/visual-accessibility/coordinator.js.map +1 -1
  187. package/v3/dist/domains/visual-accessibility/plugin.d.ts.map +1 -1
  188. package/v3/dist/domains/visual-accessibility/plugin.js +3 -3
  189. package/v3/dist/domains/visual-accessibility/plugin.js.map +1 -1
  190. package/v3/dist/domains/visual-accessibility/services/visual-tester.d.ts +47 -2
  191. package/v3/dist/domains/visual-accessibility/services/visual-tester.d.ts.map +1 -1
  192. package/v3/dist/domains/visual-accessibility/services/visual-tester.js +87 -3
  193. package/v3/dist/domains/visual-accessibility/services/visual-tester.js.map +1 -1
  194. package/v3/dist/kernel/interfaces.d.ts +54 -1
  195. package/v3/dist/kernel/interfaces.d.ts.map +1 -1
  196. package/v3/dist/learning/dream/dream-scheduler.d.ts +302 -0
  197. package/v3/dist/learning/dream/dream-scheduler.d.ts.map +1 -0
  198. package/v3/dist/learning/dream/dream-scheduler.js +551 -0
  199. package/v3/dist/learning/dream/dream-scheduler.js.map +1 -0
  200. package/v3/dist/learning/dream/index.d.ts +1 -0
  201. package/v3/dist/learning/dream/index.d.ts.map +1 -1
  202. package/v3/dist/learning/dream/index.js +4 -0
  203. package/v3/dist/learning/dream/index.js.map +1 -1
  204. package/v3/dist/learning/experience-capture-middleware.d.ts +119 -0
  205. package/v3/dist/learning/experience-capture-middleware.d.ts.map +1 -0
  206. package/v3/dist/learning/experience-capture-middleware.js +416 -0
  207. package/v3/dist/learning/experience-capture-middleware.js.map +1 -0
  208. package/v3/dist/mcp/bundle.js +83142 -70580
  209. package/v3/dist/mcp/handlers/core-handlers.d.ts.map +1 -1
  210. package/v3/dist/mcp/handlers/core-handlers.js +16 -2
  211. package/v3/dist/mcp/handlers/core-handlers.js.map +1 -1
  212. package/v3/dist/mcp/handlers/domain-handlers.d.ts +12 -13
  213. package/v3/dist/mcp/handlers/domain-handlers.d.ts.map +1 -1
  214. package/v3/dist/mcp/handlers/index.d.ts +1 -1
  215. package/v3/dist/mcp/handlers/index.d.ts.map +1 -1
  216. package/v3/dist/mcp/handlers/index.js +2 -2
  217. package/v3/dist/mcp/handlers/index.js.map +1 -1
  218. package/v3/dist/mcp/handlers/task-handlers.d.ts +1 -0
  219. package/v3/dist/mcp/handlers/task-handlers.d.ts.map +1 -1
  220. package/v3/dist/mcp/handlers/task-handlers.js +46 -12
  221. package/v3/dist/mcp/handlers/task-handlers.js.map +1 -1
  222. package/v3/dist/mcp/handlers/wrapped-domain-handlers.d.ts +30 -0
  223. package/v3/dist/mcp/handlers/wrapped-domain-handlers.d.ts.map +1 -0
  224. package/v3/dist/mcp/handlers/wrapped-domain-handlers.js +75 -0
  225. package/v3/dist/mcp/handlers/wrapped-domain-handlers.js.map +1 -0
  226. package/v3/dist/mcp/services/reasoning-bank-service.d.ts +87 -13
  227. package/v3/dist/mcp/services/reasoning-bank-service.d.ts.map +1 -1
  228. package/v3/dist/mcp/services/reasoning-bank-service.js +291 -31
  229. package/v3/dist/mcp/services/reasoning-bank-service.js.map +1 -1
  230. package/v3/dist/mcp/tools/chaos-resilience/inject.js +1 -1
  231. package/v3/dist/mcp/tools/chaos-resilience/inject.js.map +1 -1
  232. package/v3/dist/mcp/tools/contract-testing/validate.js +1 -1
  233. package/v3/dist/mcp/tools/contract-testing/validate.js.map +1 -1
  234. package/v3/dist/mcp/tools/learning-optimization/optimize.js +1 -1
  235. package/v3/dist/mcp/tools/learning-optimization/optimize.js.map +1 -1
  236. package/v3/dist/mcp/tools/visual-accessibility/index.js +2 -2
  237. package/v3/dist/mcp/tools/visual-accessibility/index.js.map +1 -1
  238. package/v3/dist/routing/qe-agent-registry.d.ts +28 -1
  239. package/v3/dist/routing/qe-agent-registry.d.ts.map +1 -1
  240. package/v3/dist/routing/qe-agent-registry.js +116 -1
  241. package/v3/dist/routing/qe-agent-registry.js.map +1 -1
  242. package/v3/dist/shared/events/domain-events.d.ts +27 -0
  243. package/v3/dist/shared/events/domain-events.d.ts.map +1 -1
  244. package/v3/dist/shared/events/domain-events.js +1 -0
  245. package/v3/dist/shared/events/domain-events.js.map +1 -1
  246. package/v3/dist/sync/claude-flow-bridge.d.ts +63 -0
  247. package/v3/dist/sync/claude-flow-bridge.d.ts.map +1 -0
  248. package/v3/dist/sync/claude-flow-bridge.js +320 -0
  249. package/v3/dist/sync/claude-flow-bridge.js.map +1 -0
  250. package/v3/package.json +1 -1
@@ -1,10 +1,13 @@
1
1
  /**
2
2
  * Agentic QE v3 - Coverage Analyzer Service
3
3
  * Implements ICoverageAnalysisService with O(log n) vector-based analysis
4
+ *
5
+ * ADR-051: LLM-powered coverage analysis for intelligent gap detection
4
6
  */
5
7
  import { Result } from '../../../shared/types';
6
8
  import { MemoryBackend } from '../../../kernel/interfaces';
7
- import { AnalyzeCoverageRequest, CoverageReport, CoverageData, CoverageSummary, CoverageGaps } from '../interfaces';
9
+ import { AnalyzeCoverageRequest, CoverageReport, CoverageData, CoverageSummary, CoverageGaps, CoverageGap } from '../interfaces';
10
+ import type { HybridRouter } from '../../../shared/llm';
8
11
  export interface ICoverageAnalysisService {
9
12
  /** Analyze coverage from reports */
10
13
  analyze(request: AnalyzeCoverageRequest): Promise<Result<CoverageReport, Error>>;
@@ -13,11 +16,69 @@ export interface ICoverageAnalysisService {
13
16
  /** Calculate coverage metrics */
14
17
  calculateMetrics(coverageData: CoverageData): CoverageSummary;
15
18
  }
19
+ /**
20
+ * Configuration for the coverage analyzer
21
+ */
22
+ export interface CoverageAnalyzerConfig {
23
+ /** Default coverage threshold percentage */
24
+ defaultThreshold: number;
25
+ /** ADR-051: Enable LLM-powered coverage analysis */
26
+ enableLLMAnalysis?: boolean;
27
+ /** ADR-051: Model tier for LLM calls (1=Haiku, 2=Sonnet, 4=Opus) */
28
+ llmModelTier?: number;
29
+ /** ADR-051: Max tokens for LLM responses */
30
+ llmMaxTokens?: number;
31
+ }
32
+ /**
33
+ * Dependencies for CoverageAnalyzerService
34
+ * Enables dependency injection and testing
35
+ */
36
+ export interface CoverageAnalyzerDependencies {
37
+ memory: MemoryBackend;
38
+ /** ADR-051: Optional LLM router for AI-enhanced coverage analysis */
39
+ llmRouter?: HybridRouter;
40
+ }
41
+ /**
42
+ * LLM-generated coverage insights
43
+ * ADR-051: Structured analysis results from LLM
44
+ */
45
+ export interface CoverageInsights {
46
+ /** Explanation of why code is uncovered */
47
+ uncoveredReasoning: string[];
48
+ /** Suggested test cases to cover gaps */
49
+ suggestedTestCases: SuggestedTestCase[];
50
+ /** Risk assessment for uncovered paths */
51
+ riskAssessment: RiskAssessment;
52
+ }
53
+ export interface SuggestedTestCase {
54
+ name: string;
55
+ description: string;
56
+ type: 'unit' | 'integration' | 'edge-case';
57
+ targetLines: number[];
58
+ estimatedEffort: 'low' | 'medium' | 'high';
59
+ }
60
+ export interface RiskAssessment {
61
+ overallRisk: 'low' | 'medium' | 'high' | 'critical';
62
+ riskFactors: string[];
63
+ businessImpact: string;
64
+ recommendations: string[];
65
+ }
16
66
  export declare class CoverageAnalyzerService implements ICoverageAnalysisService {
17
- private readonly memory;
18
67
  private static readonly DEFAULT_THRESHOLD;
19
68
  private static readonly VECTOR_DIMENSION;
20
- constructor(memory: MemoryBackend);
69
+ private readonly memory;
70
+ private readonly config;
71
+ private readonly llmRouter?;
72
+ /**
73
+ * Constructor with backward compatibility support
74
+ * @param memoryOrDependencies - Either a MemoryBackend (legacy) or CoverageAnalyzerDependencies
75
+ * @param config - Optional configuration overrides
76
+ */
77
+ constructor(memoryOrDependencies: MemoryBackend | CoverageAnalyzerDependencies, config?: Partial<CoverageAnalyzerConfig>);
78
+ /**
79
+ * Type guard to check if input is a MemoryBackend
80
+ */
81
+ private isMemoryBackend;
21
82
  /**
22
83
  * Analyze coverage from reports
23
84
  */
@@ -31,6 +92,43 @@ export declare class CoverageAnalyzerService implements ICoverageAnalysisService
31
92
  * Calculate coverage metrics from raw data
32
93
  */
33
94
  calculateMetrics(coverageData: CoverageData): CoverageSummary;
95
+ /**
96
+ * Check if LLM analysis is available and enabled
97
+ */
98
+ isLLMAnalysisAvailable(): boolean;
99
+ /**
100
+ * Get model ID for the configured tier
101
+ */
102
+ private getModelForTier;
103
+ /**
104
+ * Analyze coverage gaps using LLM for intelligent insights
105
+ * ADR-051: Provides explanations, test suggestions, and risk assessment
106
+ *
107
+ * @param gaps - Coverage gaps to analyze
108
+ * @param sourceCode - Source code content (optional, for deeper analysis)
109
+ * @returns LLM-generated coverage insights
110
+ */
111
+ analyzeCoverageWithLLM(gaps: CoverageGap[], sourceCode?: string): Promise<CoverageInsights>;
112
+ /**
113
+ * Build the prompt for LLM coverage analysis
114
+ */
115
+ private buildCoverageAnalysisPrompt;
116
+ /**
117
+ * Parse LLM response into CoverageInsights structure
118
+ */
119
+ private parseInsightsResponse;
120
+ /**
121
+ * Normalize a suggested test case to ensure valid structure
122
+ */
123
+ private normalizeTestCase;
124
+ /**
125
+ * Normalize risk assessment to ensure valid structure
126
+ */
127
+ private normalizeRiskAssessment;
128
+ /**
129
+ * Get default insights when LLM is unavailable
130
+ */
131
+ private getDefaultInsights;
34
132
  private calculateOverallCoverage;
35
133
  private calculateFileCoveragePercentage;
36
134
  private calculateFileRiskScore;
@@ -46,4 +144,22 @@ export declare class CoverageAnalyzerService implements ICoverageAnalysisService
46
144
  private generateGapId;
47
145
  private estimateEffort;
48
146
  }
147
+ /**
148
+ * Create a CoverageAnalyzerService instance with default dependencies
149
+ * Maintains backward compatibility with existing code
150
+ *
151
+ * @param memory - Memory backend for vector storage and caching
152
+ * @param config - Optional configuration overrides
153
+ * @returns Configured CoverageAnalyzerService instance
154
+ */
155
+ export declare function createCoverageAnalyzerService(memory: MemoryBackend, config?: Partial<CoverageAnalyzerConfig>): CoverageAnalyzerService;
156
+ /**
157
+ * Create a CoverageAnalyzerService instance with custom dependencies
158
+ * Used for testing or when LLM integration is needed
159
+ *
160
+ * @param dependencies - All service dependencies including optional LLM router
161
+ * @param config - Optional configuration overrides
162
+ * @returns Configured CoverageAnalyzerService instance
163
+ */
164
+ export declare function createCoverageAnalyzerServiceWithDependencies(dependencies: CoverageAnalyzerDependencies, config?: Partial<CoverageAnalyzerConfig>): CoverageAnalyzerService;
49
165
  //# sourceMappingURL=coverage-analyzer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"coverage-analyzer.d.ts","sourceRoot":"","sources":["../../../../src/domains/coverage-analysis/services/coverage-analyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAqB,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAsB,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,YAAY,EACZ,eAAe,EAGf,YAAY,EAEb,MAAM,eAAe,CAAC;AAMvB,MAAM,WAAW,wBAAwB;IACvC,oCAAoC;IACpC,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;IAEjF,qEAAqE;IACrE,QAAQ,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;IAE9F,iCAAiC;IACjC,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,eAAe,CAAC;CAC/D;AAMD,qBAAa,uBAAwB,YAAW,wBAAwB;IAI1D,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAM;IAC/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAO;gBAElB,MAAM,EAAE,aAAa;IAElD;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAoCtF;;;OAGG;IACG,QAAQ,CACZ,YAAY,EAAE,YAAY,EAC1B,SAAS,GAAE,MAAkD,GAC5D,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IA8CvC;;OAEG;IACH,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,eAAe;IA8C7D,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,+BAA+B;IAWvC,OAAO,CAAC,sBAAsB;IAsB9B,OAAO,CAAC,mBAAmB;YAOb,cAAc;YAoCd,qBAAqB;YAgBrB,wBAAwB;IAiBtC,OAAO,CAAC,uBAAuB;YA4BjB,sBAAsB;IASpC,OAAO,CAAC,uBAAuB;IAmD/B,OAAO,CAAC,yBAAyB;IAwBjC,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,cAAc;CAQvB"}
1
+ {"version":3,"file":"coverage-analyzer.d.ts","sourceRoot":"","sources":["../../../../src/domains/coverage-analysis/services/coverage-analyzer.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,60 @@
1
1
  /**
2
2
  * Agentic QE v3 - Coverage Analyzer Service
3
3
  * Implements ICoverageAnalysisService with O(log n) vector-based analysis
4
+ *
5
+ * ADR-051: LLM-powered coverage analysis for intelligent gap detection
4
6
  */
5
7
  import { ok, err } from '../../../shared/types';
8
+ const DEFAULT_CONFIG = {
9
+ defaultThreshold: 80,
10
+ enableLLMAnalysis: true, // On by default - opt-out
11
+ llmModelTier: 2, // Sonnet by default
12
+ llmMaxTokens: 2048,
13
+ };
6
14
  // ============================================================================
7
15
  // Service Implementation
8
16
  // ============================================================================
9
17
  export class CoverageAnalyzerService {
10
- memory;
11
18
  static DEFAULT_THRESHOLD = 80;
12
19
  static VECTOR_DIMENSION = 128;
13
- constructor(memory) {
14
- this.memory = memory;
20
+ memory;
21
+ config;
22
+ llmRouter;
23
+ /**
24
+ * Constructor with backward compatibility support
25
+ * @param memoryOrDependencies - Either a MemoryBackend (legacy) or CoverageAnalyzerDependencies
26
+ * @param config - Optional configuration overrides
27
+ */
28
+ constructor(memoryOrDependencies, config = {}) {
29
+ this.config = { ...DEFAULT_CONFIG, ...config };
30
+ // Support both old (MemoryBackend) and new (Dependencies) signatures
31
+ if (this.isMemoryBackend(memoryOrDependencies)) {
32
+ // Legacy: direct MemoryBackend parameter
33
+ this.memory = memoryOrDependencies;
34
+ this.llmRouter = undefined;
35
+ }
36
+ else {
37
+ // New: dependencies object
38
+ this.memory = memoryOrDependencies.memory;
39
+ this.llmRouter = memoryOrDependencies.llmRouter;
40
+ }
41
+ }
42
+ /**
43
+ * Type guard to check if input is a MemoryBackend
44
+ */
45
+ isMemoryBackend(input) {
46
+ // MemoryBackend has 'get', 'set', 'delete' methods directly
47
+ // CoverageAnalyzerDependencies has a 'memory' property
48
+ return (typeof input.get === 'function' &&
49
+ typeof input.set === 'function' &&
50
+ !('memory' in input));
15
51
  }
16
52
  /**
17
53
  * Analyze coverage from reports
18
54
  */
19
55
  async analyze(request) {
20
56
  try {
21
- const { coverageData, threshold = CoverageAnalyzerService.DEFAULT_THRESHOLD } = request;
57
+ const { coverageData, threshold = this.config.defaultThreshold } = request;
22
58
  // Calculate current metrics
23
59
  const summary = this.calculateMetrics(coverageData);
24
60
  // Check if coverage meets threshold
@@ -49,7 +85,7 @@ export class CoverageAnalyzerService {
49
85
  * Find coverage gaps using O(log n) vector similarity search
50
86
  * Uses HNSW indexing for efficient gap detection across large codebases
51
87
  */
52
- async findGaps(coverageData, threshold = CoverageAnalyzerService.DEFAULT_THRESHOLD) {
88
+ async findGaps(coverageData, threshold = this.config.defaultThreshold) {
53
89
  try {
54
90
  const gaps = [];
55
91
  let totalUncoveredLines = 0;
@@ -128,6 +164,207 @@ export class CoverageAnalyzerService {
128
164
  };
129
165
  }
130
166
  // ============================================================================
167
+ // ADR-051: LLM Enhancement Methods
168
+ // ============================================================================
169
+ /**
170
+ * Check if LLM analysis is available and enabled
171
+ */
172
+ isLLMAnalysisAvailable() {
173
+ return this.config.enableLLMAnalysis === true && this.llmRouter !== undefined;
174
+ }
175
+ /**
176
+ * Get model ID for the configured tier
177
+ */
178
+ getModelForTier(tier) {
179
+ switch (tier) {
180
+ case 1:
181
+ return 'claude-3-5-haiku-20241022';
182
+ case 2:
183
+ return 'claude-sonnet-4-20250514';
184
+ case 3:
185
+ return 'claude-sonnet-4-20250514';
186
+ case 4:
187
+ return 'claude-opus-4-5-20251101';
188
+ default:
189
+ return 'claude-sonnet-4-20250514';
190
+ }
191
+ }
192
+ /**
193
+ * Analyze coverage gaps using LLM for intelligent insights
194
+ * ADR-051: Provides explanations, test suggestions, and risk assessment
195
+ *
196
+ * @param gaps - Coverage gaps to analyze
197
+ * @param sourceCode - Source code content (optional, for deeper analysis)
198
+ * @returns LLM-generated coverage insights
199
+ */
200
+ async analyzeCoverageWithLLM(gaps, sourceCode) {
201
+ if (!this.llmRouter) {
202
+ return this.getDefaultInsights();
203
+ }
204
+ try {
205
+ const prompt = this.buildCoverageAnalysisPrompt(gaps, sourceCode);
206
+ const modelId = this.getModelForTier(this.config.llmModelTier ?? 2);
207
+ const response = await this.llmRouter.chat({
208
+ messages: [
209
+ {
210
+ role: 'system',
211
+ content: `You are an expert code coverage analyst and test engineer. Analyze coverage gaps and provide actionable insights.
212
+
213
+ Your response MUST be valid JSON with this exact structure:
214
+ {
215
+ "uncoveredReasoning": ["reason1", "reason2", ...],
216
+ "suggestedTestCases": [
217
+ {
218
+ "name": "test name",
219
+ "description": "what this test covers",
220
+ "type": "unit" | "integration" | "edge-case",
221
+ "targetLines": [1, 2, 3],
222
+ "estimatedEffort": "low" | "medium" | "high"
223
+ }
224
+ ],
225
+ "riskAssessment": {
226
+ "overallRisk": "low" | "medium" | "high" | "critical",
227
+ "riskFactors": ["factor1", "factor2"],
228
+ "businessImpact": "description of potential business impact",
229
+ "recommendations": ["recommendation1", "recommendation2"]
230
+ }
231
+ }
232
+
233
+ Provide thoughtful, specific analysis based on the coverage data. Do not include any text outside the JSON.`,
234
+ },
235
+ {
236
+ role: 'user',
237
+ content: prompt,
238
+ },
239
+ ],
240
+ model: modelId,
241
+ maxTokens: this.config.llmMaxTokens ?? 2048,
242
+ temperature: 0.3, // Low temperature for consistent analysis
243
+ });
244
+ if (response.content && response.content.length > 0) {
245
+ return this.parseInsightsResponse(response.content);
246
+ }
247
+ return this.getDefaultInsights();
248
+ }
249
+ catch (error) {
250
+ console.warn('[CoverageAnalyzer] LLM analysis failed, using defaults:', error);
251
+ return this.getDefaultInsights();
252
+ }
253
+ }
254
+ /**
255
+ * Build the prompt for LLM coverage analysis
256
+ */
257
+ buildCoverageAnalysisPrompt(gaps, sourceCode) {
258
+ let prompt = '## Coverage Gaps to Analyze\n\n';
259
+ for (const gap of gaps.slice(0, 10)) {
260
+ // Limit to top 10 gaps to avoid token limits
261
+ prompt += `### File: ${gap.file}\n`;
262
+ prompt += `- Uncovered lines: ${gap.lines.slice(0, 20).join(', ')}${gap.lines.length > 20 ? '...' : ''}\n`;
263
+ prompt += `- Uncovered branches: ${gap.branches.length}\n`;
264
+ prompt += `- Risk score: ${(gap.riskScore * 100).toFixed(1)}%\n`;
265
+ prompt += `- Severity: ${gap.severity}\n`;
266
+ prompt += `- Current recommendation: ${gap.recommendation}\n\n`;
267
+ }
268
+ if (sourceCode) {
269
+ // Truncate source code to avoid token limits
270
+ const truncatedSource = sourceCode.length > 3000 ? sourceCode.substring(0, 3000) + '\n... (truncated)' : sourceCode;
271
+ prompt += `## Source Code Context\n\`\`\`typescript\n${truncatedSource}\n\`\`\`\n\n`;
272
+ }
273
+ prompt += `## Analysis Request\n`;
274
+ prompt += `1. Explain why these code sections might be uncovered (common patterns, complexity, etc.)\n`;
275
+ prompt += `2. Suggest specific test cases to cover the gaps, with effort estimates\n`;
276
+ prompt += `3. Assess the risk of leaving this code uncovered\n`;
277
+ prompt += `4. Provide actionable recommendations prioritized by impact\n`;
278
+ return prompt;
279
+ }
280
+ /**
281
+ * Parse LLM response into CoverageInsights structure
282
+ */
283
+ parseInsightsResponse(content) {
284
+ try {
285
+ // Try to extract JSON from response (handling potential markdown fences)
286
+ let jsonContent = content;
287
+ const jsonMatch = content.match(/```(?:json)?\n?([\s\S]*?)```/);
288
+ if (jsonMatch) {
289
+ jsonContent = jsonMatch[1].trim();
290
+ }
291
+ const parsed = JSON.parse(jsonContent);
292
+ // Validate and normalize the response structure
293
+ return {
294
+ uncoveredReasoning: Array.isArray(parsed.uncoveredReasoning)
295
+ ? parsed.uncoveredReasoning
296
+ : [],
297
+ suggestedTestCases: Array.isArray(parsed.suggestedTestCases)
298
+ ? parsed.suggestedTestCases.map(this.normalizeTestCase)
299
+ : [],
300
+ riskAssessment: this.normalizeRiskAssessment(parsed.riskAssessment),
301
+ };
302
+ }
303
+ catch {
304
+ console.warn('[CoverageAnalyzer] Failed to parse LLM response as JSON');
305
+ return this.getDefaultInsights();
306
+ }
307
+ }
308
+ /**
309
+ * Normalize a suggested test case to ensure valid structure
310
+ */
311
+ normalizeTestCase(testCase) {
312
+ return {
313
+ name: testCase.name || 'Unnamed test',
314
+ description: testCase.description || 'No description provided',
315
+ type: ['unit', 'integration', 'edge-case'].includes(testCase.type)
316
+ ? testCase.type
317
+ : 'unit',
318
+ targetLines: Array.isArray(testCase.targetLines) ? testCase.targetLines : [],
319
+ estimatedEffort: ['low', 'medium', 'high'].includes(testCase.estimatedEffort)
320
+ ? testCase.estimatedEffort
321
+ : 'medium',
322
+ };
323
+ }
324
+ /**
325
+ * Normalize risk assessment to ensure valid structure
326
+ */
327
+ normalizeRiskAssessment(assessment) {
328
+ if (!assessment) {
329
+ return {
330
+ overallRisk: 'medium',
331
+ riskFactors: ['Unable to determine specific risk factors'],
332
+ businessImpact: 'Unknown - manual review recommended',
333
+ recommendations: ['Review uncovered code paths manually'],
334
+ };
335
+ }
336
+ return {
337
+ overallRisk: ['low', 'medium', 'high', 'critical'].includes(assessment.overallRisk)
338
+ ? assessment.overallRisk
339
+ : 'medium',
340
+ riskFactors: Array.isArray(assessment.riskFactors) ? assessment.riskFactors : [],
341
+ businessImpact: assessment.businessImpact || 'Unknown',
342
+ recommendations: Array.isArray(assessment.recommendations) ? assessment.recommendations : [],
343
+ };
344
+ }
345
+ /**
346
+ * Get default insights when LLM is unavailable
347
+ */
348
+ getDefaultInsights() {
349
+ return {
350
+ uncoveredReasoning: [
351
+ 'LLM analysis not available - using rule-based analysis',
352
+ 'Consider enabling LLM analysis for deeper insights',
353
+ ],
354
+ suggestedTestCases: [],
355
+ riskAssessment: {
356
+ overallRisk: 'medium',
357
+ riskFactors: ['Unable to perform automated risk analysis'],
358
+ businessImpact: 'Unknown - manual review recommended',
359
+ recommendations: [
360
+ 'Enable LLM analysis for intelligent gap detection',
361
+ 'Review high-risk files manually',
362
+ 'Prioritize branch coverage for conditional logic',
363
+ ],
364
+ },
365
+ };
366
+ }
367
+ // ============================================================================
131
368
  // Private Helper Methods
132
369
  // ============================================================================
133
370
  calculateOverallCoverage(summary) {
@@ -339,4 +576,29 @@ export class CoverageAnalyzerService {
339
576
  return Math.ceil(testLinesNeeded * hoursPerTestLine);
340
577
  }
341
578
  }
579
+ // ============================================================================
580
+ // Factory Functions
581
+ // ============================================================================
582
+ /**
583
+ * Create a CoverageAnalyzerService instance with default dependencies
584
+ * Maintains backward compatibility with existing code
585
+ *
586
+ * @param memory - Memory backend for vector storage and caching
587
+ * @param config - Optional configuration overrides
588
+ * @returns Configured CoverageAnalyzerService instance
589
+ */
590
+ export function createCoverageAnalyzerService(memory, config = {}) {
591
+ return new CoverageAnalyzerService(memory, config);
592
+ }
593
+ /**
594
+ * Create a CoverageAnalyzerService instance with custom dependencies
595
+ * Used for testing or when LLM integration is needed
596
+ *
597
+ * @param dependencies - All service dependencies including optional LLM router
598
+ * @param config - Optional configuration overrides
599
+ * @returns Configured CoverageAnalyzerService instance
600
+ */
601
+ export function createCoverageAnalyzerServiceWithDependencies(dependencies, config = {}) {
602
+ return new CoverageAnalyzerService(dependencies, config);
603
+ }
342
604
  //# sourceMappingURL=coverage-analyzer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coverage-analyzer.js","sourceRoot":"","sources":["../../../../src/domains/coverage-analysis/services/coverage-analyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coverage-analyzer.js","sourceRoot":"","sources":["../../../../src/domains/coverage-analysis/services/coverage-analyzer.ts"],"names":[],"mappings":"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"}