agentic-qe 3.3.2 → 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 (209) 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 +87 -0
  6. package/v3/README.md +9 -5
  7. package/v3/dist/cli/bundle.js +43386 -37651
  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 +10 -0
  33. package/v3/dist/coordination/queen-coordinator.d.ts.map +1 -1
  34. package/v3/dist/coordination/queen-coordinator.js +40 -0
  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/services/coverage-analyzer.d.ts +119 -3
  75. package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.d.ts.map +1 -1
  76. package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.js +267 -5
  77. package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.js.map +1 -1
  78. package/v3/dist/domains/coverage-analysis/services/gap-detector.d.ts +111 -2
  79. package/v3/dist/domains/coverage-analysis/services/gap-detector.d.ts.map +1 -1
  80. package/v3/dist/domains/coverage-analysis/services/gap-detector.js +231 -3
  81. package/v3/dist/domains/coverage-analysis/services/gap-detector.js.map +1 -1
  82. package/v3/dist/domains/defect-intelligence/coordinator.d.ts +80 -1
  83. package/v3/dist/domains/defect-intelligence/coordinator.d.ts.map +1 -1
  84. package/v3/dist/domains/defect-intelligence/coordinator.js +262 -7
  85. package/v3/dist/domains/defect-intelligence/coordinator.js.map +1 -1
  86. package/v3/dist/domains/defect-intelligence/interfaces.d.ts +17 -0
  87. package/v3/dist/domains/defect-intelligence/interfaces.d.ts.map +1 -1
  88. package/v3/dist/domains/defect-intelligence/services/defect-predictor.d.ts +91 -2
  89. package/v3/dist/domains/defect-intelligence/services/defect-predictor.d.ts.map +1 -1
  90. package/v3/dist/domains/defect-intelligence/services/defect-predictor.js +274 -7
  91. package/v3/dist/domains/defect-intelligence/services/defect-predictor.js.map +1 -1
  92. package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.d.ts +79 -2
  93. package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.d.ts.map +1 -1
  94. package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.js +259 -3
  95. package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.js.map +1 -1
  96. package/v3/dist/domains/domain-interface.d.ts +155 -0
  97. package/v3/dist/domains/domain-interface.d.ts.map +1 -1
  98. package/v3/dist/domains/domain-interface.js +140 -0
  99. package/v3/dist/domains/domain-interface.js.map +1 -1
  100. package/v3/dist/domains/learning-optimization/coordinator.d.ts +88 -0
  101. package/v3/dist/domains/learning-optimization/coordinator.d.ts.map +1 -1
  102. package/v3/dist/domains/learning-optimization/coordinator.js +227 -1
  103. package/v3/dist/domains/learning-optimization/coordinator.js.map +1 -1
  104. package/v3/dist/domains/learning-optimization/index.d.ts +1 -1
  105. package/v3/dist/domains/learning-optimization/index.d.ts.map +1 -1
  106. package/v3/dist/domains/learning-optimization/index.js.map +1 -1
  107. package/v3/dist/domains/learning-optimization/interfaces.d.ts +4 -0
  108. package/v3/dist/domains/learning-optimization/interfaces.d.ts.map +1 -1
  109. package/v3/dist/domains/learning-optimization/plugin.js +1 -1
  110. package/v3/dist/domains/learning-optimization/plugin.js.map +1 -1
  111. package/v3/dist/domains/learning-optimization/services/learning-coordinator.d.ts +54 -2
  112. package/v3/dist/domains/learning-optimization/services/learning-coordinator.d.ts.map +1 -1
  113. package/v3/dist/domains/learning-optimization/services/learning-coordinator.js +90 -3
  114. package/v3/dist/domains/learning-optimization/services/learning-coordinator.js.map +1 -1
  115. package/v3/dist/domains/quality-assessment/coordinator.d.ts +104 -0
  116. package/v3/dist/domains/quality-assessment/coordinator.d.ts.map +1 -1
  117. package/v3/dist/domains/quality-assessment/coordinator.js +354 -6
  118. package/v3/dist/domains/quality-assessment/coordinator.js.map +1 -1
  119. package/v3/dist/domains/quality-assessment/interfaces.d.ts +22 -0
  120. package/v3/dist/domains/quality-assessment/interfaces.d.ts.map +1 -1
  121. package/v3/dist/domains/quality-assessment/services/deployment-advisor.d.ts +61 -2
  122. package/v3/dist/domains/quality-assessment/services/deployment-advisor.d.ts.map +1 -1
  123. package/v3/dist/domains/quality-assessment/services/deployment-advisor.js +213 -5
  124. package/v3/dist/domains/quality-assessment/services/deployment-advisor.js.map +1 -1
  125. package/v3/dist/domains/quality-assessment/services/quality-analyzer.d.ts +59 -4
  126. package/v3/dist/domains/quality-assessment/services/quality-analyzer.d.ts.map +1 -1
  127. package/v3/dist/domains/quality-assessment/services/quality-analyzer.js +195 -3
  128. package/v3/dist/domains/quality-assessment/services/quality-analyzer.js.map +1 -1
  129. package/v3/dist/domains/requirements-validation/coordinator.d.ts +78 -0
  130. package/v3/dist/domains/requirements-validation/coordinator.d.ts.map +1 -1
  131. package/v3/dist/domains/requirements-validation/coordinator.js +189 -0
  132. package/v3/dist/domains/requirements-validation/coordinator.js.map +1 -1
  133. package/v3/dist/domains/requirements-validation/interfaces.d.ts +4 -0
  134. package/v3/dist/domains/requirements-validation/interfaces.d.ts.map +1 -1
  135. package/v3/dist/domains/requirements-validation/services/requirements-validator.d.ts +106 -2
  136. package/v3/dist/domains/requirements-validation/services/requirements-validator.d.ts.map +1 -1
  137. package/v3/dist/domains/requirements-validation/services/requirements-validator.js +263 -3
  138. package/v3/dist/domains/requirements-validation/services/requirements-validator.js.map +1 -1
  139. package/v3/dist/domains/security-compliance/coordinator.d.ts +56 -1
  140. package/v3/dist/domains/security-compliance/coordinator.d.ts.map +1 -1
  141. package/v3/dist/domains/security-compliance/coordinator.js +241 -17
  142. package/v3/dist/domains/security-compliance/coordinator.js.map +1 -1
  143. package/v3/dist/domains/security-compliance/interfaces.d.ts +2 -0
  144. package/v3/dist/domains/security-compliance/interfaces.d.ts.map +1 -1
  145. package/v3/dist/domains/security-compliance/services/security-scanner.d.ts +33 -2
  146. package/v3/dist/domains/security-compliance/services/security-scanner.d.ts.map +1 -1
  147. package/v3/dist/domains/security-compliance/services/security-scanner.js +107 -3
  148. package/v3/dist/domains/security-compliance/services/security-scanner.js.map +1 -1
  149. package/v3/dist/domains/test-execution/coordinator.d.ts +89 -0
  150. package/v3/dist/domains/test-execution/coordinator.d.ts.map +1 -1
  151. package/v3/dist/domains/test-execution/coordinator.js +259 -2
  152. package/v3/dist/domains/test-execution/coordinator.js.map +1 -1
  153. package/v3/dist/domains/test-execution/services/test-executor.d.ts +30 -2
  154. package/v3/dist/domains/test-execution/services/test-executor.d.ts.map +1 -1
  155. package/v3/dist/domains/test-execution/services/test-executor.js +64 -3
  156. package/v3/dist/domains/test-execution/services/test-executor.js.map +1 -1
  157. package/v3/dist/domains/test-generation/coordinator.d.ts +97 -0
  158. package/v3/dist/domains/test-generation/coordinator.d.ts.map +1 -1
  159. package/v3/dist/domains/test-generation/coordinator.js +237 -0
  160. package/v3/dist/domains/test-generation/coordinator.js.map +1 -1
  161. package/v3/dist/domains/test-generation/interfaces.d.ts +2 -0
  162. package/v3/dist/domains/test-generation/interfaces.d.ts.map +1 -1
  163. package/v3/dist/domains/test-generation/services/test-generator.d.ts +32 -0
  164. package/v3/dist/domains/test-generation/services/test-generator.d.ts.map +1 -1
  165. package/v3/dist/domains/test-generation/services/test-generator.js +158 -3
  166. package/v3/dist/domains/test-generation/services/test-generator.js.map +1 -1
  167. package/v3/dist/domains/visual-accessibility/coordinator.d.ts +77 -0
  168. package/v3/dist/domains/visual-accessibility/coordinator.d.ts.map +1 -1
  169. package/v3/dist/domains/visual-accessibility/coordinator.js +210 -2
  170. package/v3/dist/domains/visual-accessibility/coordinator.js.map +1 -1
  171. package/v3/dist/domains/visual-accessibility/plugin.d.ts.map +1 -1
  172. package/v3/dist/domains/visual-accessibility/plugin.js +3 -3
  173. package/v3/dist/domains/visual-accessibility/plugin.js.map +1 -1
  174. package/v3/dist/domains/visual-accessibility/services/visual-tester.d.ts +47 -2
  175. package/v3/dist/domains/visual-accessibility/services/visual-tester.d.ts.map +1 -1
  176. package/v3/dist/domains/visual-accessibility/services/visual-tester.js +87 -3
  177. package/v3/dist/domains/visual-accessibility/services/visual-tester.js.map +1 -1
  178. package/v3/dist/learning/experience-capture-middleware.d.ts +119 -0
  179. package/v3/dist/learning/experience-capture-middleware.d.ts.map +1 -0
  180. package/v3/dist/learning/experience-capture-middleware.js +416 -0
  181. package/v3/dist/learning/experience-capture-middleware.js.map +1 -0
  182. package/v3/dist/mcp/bundle.js +60723 -54421
  183. package/v3/dist/mcp/handlers/domain-handlers.d.ts +12 -13
  184. package/v3/dist/mcp/handlers/domain-handlers.d.ts.map +1 -1
  185. package/v3/dist/mcp/handlers/index.d.ts +1 -1
  186. package/v3/dist/mcp/handlers/index.d.ts.map +1 -1
  187. package/v3/dist/mcp/handlers/index.js +2 -2
  188. package/v3/dist/mcp/handlers/index.js.map +1 -1
  189. package/v3/dist/mcp/handlers/wrapped-domain-handlers.d.ts +30 -0
  190. package/v3/dist/mcp/handlers/wrapped-domain-handlers.d.ts.map +1 -0
  191. package/v3/dist/mcp/handlers/wrapped-domain-handlers.js +75 -0
  192. package/v3/dist/mcp/handlers/wrapped-domain-handlers.js.map +1 -0
  193. package/v3/dist/mcp/tools/chaos-resilience/inject.js +1 -1
  194. package/v3/dist/mcp/tools/chaos-resilience/inject.js.map +1 -1
  195. package/v3/dist/mcp/tools/contract-testing/validate.js +1 -1
  196. package/v3/dist/mcp/tools/contract-testing/validate.js.map +1 -1
  197. package/v3/dist/mcp/tools/learning-optimization/optimize.js +1 -1
  198. package/v3/dist/mcp/tools/learning-optimization/optimize.js.map +1 -1
  199. package/v3/dist/mcp/tools/visual-accessibility/index.js +2 -2
  200. package/v3/dist/mcp/tools/visual-accessibility/index.js.map +1 -1
  201. package/v3/dist/routing/qe-agent-registry.d.ts +1 -1
  202. package/v3/dist/routing/qe-agent-registry.d.ts.map +1 -1
  203. package/v3/dist/routing/qe-agent-registry.js +20 -1
  204. package/v3/dist/routing/qe-agent-registry.js.map +1 -1
  205. package/v3/dist/sync/claude-flow-bridge.d.ts +63 -0
  206. package/v3/dist/sync/claude-flow-bridge.d.ts.map +1 -0
  207. package/v3/dist/sync/claude-flow-bridge.js +320 -0
  208. package/v3/dist/sync/claude-flow-bridge.js.map +1 -0
  209. package/v3/package.json +1 -1
@@ -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":"AAAA;;;;;GAKG;AAEH,OAAO,EAAU,EAAE,EAAE,GAAG,EAAY,MAAM,uBAAuB,CAAC;AAiDlE,MAAM,cAAc,GAA2B;IAC7C,gBAAgB,EAAE,EAAE;IACpB,iBAAiB,EAAE,IAAI,EAAE,0BAA0B;IACnD,YAAY,EAAE,CAAC,EAAE,oBAAoB;IACrC,YAAY,EAAE,IAAI;CACnB,CAAC;AAwCF,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E,MAAM,OAAO,uBAAuB;IAC1B,MAAM,CAAU,iBAAiB,GAAG,EAAE,CAAC;IACvC,MAAM,CAAU,gBAAgB,GAAG,GAAG,CAAC;IAE9B,MAAM,CAAgB;IACtB,MAAM,CAAyB;IAC/B,SAAS,CAAgB;IAE1C;;;;OAIG;IACH,YACE,oBAAkE,EAClE,SAA0C,EAAE;QAE5C,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;QAE/C,qEAAqE;QACrE,IAAI,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC/C,yCAAyC;YACzC,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC;YACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,2BAA2B;YAC3B,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC;YAC1C,IAAI,CAAC,SAAS,GAAG,oBAAoB,CAAC,SAAS,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,eAAe,CACrB,KAAmD;QAEnD,4DAA4D;QAC5D,uDAAuD;QACvD,OAAO,CACL,OAAQ,KAAuB,CAAC,GAAG,KAAK,UAAU;YAClD,OAAQ,KAAuB,CAAC,GAAG,KAAK,UAAU;YAClD,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,CACrB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,OAA+B;QAC3C,IAAI,CAAC;YACH,MAAM,EAAE,YAAY,EAAE,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,GAAG,OAAO,CAAC;YAE3E,4BAA4B;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YAEpD,oCAAoC;YACpC,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;YAC/D,MAAM,cAAc,GAAG,eAAe,IAAI,SAAS,CAAC;YAEpD,qDAAqD;YACrD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAEjD,6CAA6C;YAC7C,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAEvF,uDAAuD;YACvD,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAE1C,+CAA+C;YAC/C,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBAC/B,MAAM,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC1D,CAAC;YAED,OAAO,EAAE,CAAC;gBACR,OAAO;gBACP,cAAc;gBACd,KAAK;gBACL,eAAe;aAChB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CACZ,YAA0B,EAC1B,YAAoB,IAAI,CAAC,MAAM,CAAC,gBAAgB;QAEhD,IAAI,CAAC;YACH,MAAM,IAAI,GAAkB,EAAE,CAAC;YAC/B,IAAI,mBAAmB,GAAG,CAAC,CAAC;YAE5B,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;gBACtC,MAAM,YAAY,GAAG,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;gBAEhE,IAAI,YAAY,GAAG,SAAS,EAAE,CAAC;oBAC7B,qCAAqC;oBACrC,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;oBACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;oBAErD,4DAA4D;oBAC5D,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;oBAEhE,IAAI,CAAC,IAAI,CAAC;wBACR,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;wBACjC,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,KAAK,EAAE,IAAI,CAAC,cAAc;wBAC1B,QAAQ,EAAE,IAAI,CAAC,iBAAiB;wBAChC,SAAS;wBACT,QAAQ;wBACR,cAAc,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,eAAe,CAAC;qBACtE,CAAC,CAAC;oBAEH,mBAAmB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;gBACpD,CAAC;YACH,CAAC;YAED,0CAA0C;YAC1C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;YAE/C,iDAAiD;YACjD,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;YAEjE,OAAO,EAAE,CAAC;gBACR,IAAI;gBACJ,mBAAmB;gBACnB,eAAe;aAChB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,YAA0B;QACzC,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;QAEjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;gBACL,IAAI,EAAE,CAAC;gBACP,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,CAAC;gBACZ,KAAK,EAAE,CAAC;aACT,CAAC;QACJ,CAAC;QAED,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAE1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAC/B,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YACnC,aAAa,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YACrC,eAAe,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YACzC,cAAc,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YACvC,gBAAgB,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC3C,eAAe,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YACzC,iBAAiB,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAC/C,CAAC;QAED,OAAO;YACL,IAAI,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACvE,QAAQ,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5E,SAAS,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,GAAG,eAAe,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAChF,KAAK,EAAE,KAAK,CAAC,MAAM;SACpB,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,mCAAmC;IACnC,+EAA+E;IAE/E;;OAEG;IACH,sBAAsB;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC;IAChF,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,IAAY;QAClC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,CAAC;gBACJ,OAAO,2BAA2B,CAAC;YACrC,KAAK,CAAC;gBACJ,OAAO,0BAA0B,CAAC;YACpC,KAAK,CAAC;gBACJ,OAAO,0BAA0B,CAAC;YACpC,KAAK,CAAC;gBACJ,OAAO,0BAA0B,CAAC;YACpC;gBACE,OAAO,0BAA0B,CAAC;QACtC,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,sBAAsB,CAC1B,IAAmB,EACnB,UAAmB;QAEnB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACnC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAClE,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;YAEpE,MAAM,QAAQ,GAAiB,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBACvD,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;4GAsBuF;qBACjG;oBACD;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,MAAM;qBAChB;iBACF;gBACD,KAAK,EAAE,OAAO;gBACd,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI;gBAC3C,WAAW,EAAE,GAAG,EAAE,0CAA0C;aAC7D,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpD,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtD,CAAC;YAED,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,yDAAyD,EAAE,KAAK,CAAC,CAAC;YAC/E,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,2BAA2B,CAAC,IAAmB,EAAE,UAAmB;QAC1E,IAAI,MAAM,GAAG,iCAAiC,CAAC;QAE/C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACpC,6CAA6C;YAC7C,MAAM,IAAI,aAAa,GAAG,CAAC,IAAI,IAAI,CAAC;YACpC,MAAM,IAAI,sBAAsB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;YAC3G,MAAM,IAAI,yBAAyB,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC;YAC3D,MAAM,IAAI,iBAAiB,CAAC,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;YACjE,MAAM,IAAI,eAAe,GAAG,CAAC,QAAQ,IAAI,CAAC;YAC1C,MAAM,IAAI,6BAA6B,GAAG,CAAC,cAAc,MAAM,CAAC;QAClE,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,6CAA6C;YAC7C,MAAM,eAAe,GACnB,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC;YAC9F,MAAM,IAAI,6CAA6C,eAAe,cAAc,CAAC;QACvF,CAAC;QAED,MAAM,IAAI,uBAAuB,CAAC;QAClC,MAAM,IAAI,6FAA6F,CAAC;QACxG,MAAM,IAAI,2EAA2E,CAAC;QACtF,MAAM,IAAI,qDAAqD,CAAC;QAChE,MAAM,IAAI,+DAA+D,CAAC;QAE1E,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,OAAe;QAC3C,IAAI,CAAC;YACH,yEAAyE;YACzE,IAAI,WAAW,GAAG,OAAO,CAAC;YAC1B,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAChE,IAAI,SAAS,EAAE,CAAC;gBACd,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACpC,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAEvC,gDAAgD;YAChD,OAAO;gBACL,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC;oBAC1D,CAAC,CAAC,MAAM,CAAC,kBAAkB;oBAC3B,CAAC,CAAC,EAAE;gBACN,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC;oBAC1D,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;oBACvD,CAAC,CAAC,EAAE;gBACN,cAAc,EAAE,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,cAAc,CAAC;aACpE,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;YACxE,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,QAAoC;QAC5D,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,cAAc;YACrC,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,yBAAyB;YAC9D,IAAI,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAc,CAAC;gBAC1E,CAAC,CAAE,QAAQ,CAAC,IAA6C;gBACzD,CAAC,CAAC,MAAM;YACV,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;YAC5E,eAAe,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAyB,CAAC;gBACrF,CAAC,CAAE,QAAQ,CAAC,eAA6C;gBACzD,CAAC,CAAC,QAAQ;SACb,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,UAA+C;QAC7E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;gBACL,WAAW,EAAE,QAAQ;gBACrB,WAAW,EAAE,CAAC,2CAA2C,CAAC;gBAC1D,cAAc,EAAE,qCAAqC;gBACrD,eAAe,EAAE,CAAC,sCAAsC,CAAC;aAC1D,CAAC;QACJ,CAAC;QAED,OAAO;YACL,WAAW,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAqB,CAAC;gBAC3F,CAAC,CAAE,UAAU,CAAC,WAAsD;gBACpE,CAAC,CAAC,QAAQ;YACZ,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;YAChF,cAAc,EAAE,UAAU,CAAC,cAAc,IAAI,SAAS;YACtD,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;SAC7F,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,kBAAkB;QACxB,OAAO;YACL,kBAAkB,EAAE;gBAClB,wDAAwD;gBACxD,oDAAoD;aACrD;YACD,kBAAkB,EAAE,EAAE;YACtB,cAAc,EAAE;gBACd,WAAW,EAAE,QAAQ;gBACrB,WAAW,EAAE,CAAC,2CAA2C,CAAC;gBAC1D,cAAc,EAAE,qCAAqC;gBACrD,eAAe,EAAE;oBACf,mDAAmD;oBACnD,iCAAiC;oBACjC,kDAAkD;iBACnD;aACF;SACF,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,yBAAyB;IACzB,+EAA+E;IAEvE,wBAAwB,CAAC,OAAwB;QACvD,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACpF,CAAC;IAEO,+BAA+B,CAAC,IAAkB;QACxD,MAAM,OAAO,GAAG;YACd,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG;YAC1E,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG;YACnF,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG;YACtF,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG;SAC1F,CAAC;QAEF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IACjE,CAAC;IAEO,sBAAsB,CAAC,IAAkB;QAC/C,gBAAgB;QAChB,sDAAsD;QACtD,sDAAsD;QACtD,yDAAyD;QAEzD,MAAM,eAAe,GACnB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvE,MAAM,iBAAiB,GACrB,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhF,MAAM,mBAAmB,GACvB,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnF,mEAAmE;QACnE,MAAM,SAAS,GACb,eAAe,GAAG,GAAG,GAAG,iBAAiB,GAAG,GAAG,GAAG,mBAAmB,GAAG,GAAG,CAAC;QAE9E,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IAC7C,CAAC;IAEO,mBAAmB,CAAC,SAAiB;QAC3C,IAAI,SAAS,IAAI,GAAG;YAAE,OAAO,UAAU,CAAC;QACxC,IAAI,SAAS,IAAI,GAAG;YAAE,OAAO,MAAM,CAAC;QACpC,IAAI,SAAS,IAAI,GAAG;YAAE,OAAO,QAAQ,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,OAAwB;QACnD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAkB,iBAAiB,CAAC,CAAC;YAE3E,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YACrD,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;YAC3D,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;YAE9D,MAAM,QAAQ,GAAG,CAAC,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;YAEhF,IAAI,KAA2C,CAAC;YAChD,IAAI,QAAQ,GAAG,GAAG,EAAE,CAAC;gBACnB,KAAK,GAAG,WAAW,CAAC;YACtB,CAAC;iBAAM,IAAI,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC;gBAC3B,KAAK,GAAG,WAAW,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,QAAQ,CAAC;YACnB,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,WAAW;gBACnB,QAAQ,EAAE,aAAa;gBACvB,SAAS,EAAE,cAAc;gBACzB,KAAK;aACN,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,OAAwB;QAC1D,IAAI,CAAC;YACH,wBAAwB;YACxB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAErE,4BAA4B;YAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,SAAS,EAAE,EAAE,OAAO,EAAE;gBAC9D,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,kBAAkB;aAC9B,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,KAAqB;QAC1D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,sDAAsD;gBACtD,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;gBACrD,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,iBAAiB,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE;oBACrE,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;oBAC1D,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC;oBAClE,kBAAkB,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM;iBAC/C,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,oDAAoD;YACtD,CAAC;QACH,CAAC;IACH,CAAC;IAEO,uBAAuB,CAAC,IAAkB;QAChD,8DAA8D;QAC9D,yDAAyD;QACzD,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE9E,yBAAyB;QACzB,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;QAC5D,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;QAClE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;QACpE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;QAEtE,8CAA8C;QAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;QAC5E,SAAS,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC;QAE9B,2BAA2B;QAC3B,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;QACpD,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;QACtD,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QAEtD,kDAAkD;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC;YAClE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;QAC1D,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,IAAkB;QACrD,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACrD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,uBAAuB,CAC7B,YAA0B,EAC1B,OAAwB,EACxB,SAAiB;QAEjB,MAAM,eAAe,GAAa,EAAE,CAAC;QAErC,kCAAkC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,OAAO,GAAG,SAAS,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,SAAS,GAAG,OAAO,CAAC;YAChC,eAAe,CAAC,IAAI,CAClB,eAAe,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,oDAAoD,CAClF,CAAC;QACJ,CAAC;QAED,0CAA0C;QAC1C,IAAI,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;YACvC,eAAe,CAAC,IAAI,CAClB,6FAA6F,CAC9F,CAAC;QACJ,CAAC;QAED,mCAAmC;QACnC,IAAI,OAAO,CAAC,QAAQ,GAAG,EAAE,EAAE,CAAC;YAC1B,eAAe,CAAC,IAAI,CAClB,2EAA2E,CAC5E,CAAC;QACJ,CAAC;QAED,gCAAgC;QAChC,MAAM,iBAAiB,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CACjD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAClD,CAAC;QACF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,eAAe,CAAC,IAAI,CAClB,GAAG,iBAAiB,CAAC,MAAM,0EAA0E,CACtG,CAAC;QACJ,CAAC;QAED,6CAA6C;QAC7C,MAAM,kBAAkB,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC1F,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,eAAe,CAAC,IAAI,CAClB,GAAG,kBAAkB,CAAC,MAAM,oGAAoG,CACjI,CAAC;QACJ,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAEO,yBAAyB,CAC/B,IAAkB,EAClB,eAAqC;QAErC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE3D,IAAI,cAAc,GAAG,iBAAiB,cAAc,kBAAkB,CAAC;QAEvE,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC3B,cAAc,IAAI,YAAY,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACzD,CAAC;QAED,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,cAAc,IAAI,cAAc,IAAI,CAAC,iBAAiB,CAAC,MAAM,sBAAsB,CAAC;QACtF,CAAC;QAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC;YACjE,cAAc,IAAI,wEAAwE,CAAC;QAC7F,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,aAAa,CAAC,KAAe;QACnC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAElC,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC;gBAC/C,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC;gBAC5D,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBACtB,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBAClB,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,aAAa,CAAC,QAAgB;QACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACnD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC/B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC,EAAE,CAAC,CAAC,CAAC;QACN,OAAO,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9C,CAAC;IAEO,cAAc,CAAC,cAAsB;QAC3C,oDAAoD;QACpD,oEAAoE;QACpE,+DAA+D;QAC/D,MAAM,eAAe,GAAG,cAAc,GAAG,EAAE,CAAC,CAAC,iBAAiB;QAC9D,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC,CAAC;IACvD,CAAC;;AAGH,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;;;;;;GAOG;AACH,MAAM,UAAU,6BAA6B,CAC3C,MAAqB,EACrB,SAA0C,EAAE;IAE5C,OAAO,IAAI,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,6CAA6C,CAC3D,YAA0C,EAC1C,SAA0C,EAAE;IAE5C,OAAO,IAAI,uBAAuB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC"}
@@ -1,10 +1,13 @@
1
1
  /**
2
2
  * Agentic QE v3 - Gap Detection Service
3
3
  * Implements IGapDetectionService with risk-based prioritization
4
+ *
5
+ * ADR-051: Added LLM-powered gap analysis for intelligent prioritization
4
6
  */
5
7
  import { Result } from '../../../shared/types';
6
8
  import { MemoryBackend } from '../../../kernel/interfaces';
7
9
  import { GapDetectionRequest, CoverageGaps, CoverageGap } from '../interfaces';
10
+ import type { HybridRouter } from '../../../shared/llm';
8
11
  export interface IGapDetectionService {
9
12
  /** Detect uncovered code regions */
10
13
  detectGaps(request: GapDetectionRequest): Promise<Result<CoverageGaps, Error>>;
@@ -21,11 +24,99 @@ export interface TestSuggestion {
21
24
  estimatedEffort: number;
22
25
  testTemplate?: string;
23
26
  }
27
+ /**
28
+ * Configuration for GapDetectorService
29
+ */
30
+ export interface GapDetectorConfig {
31
+ /** Minimum coverage threshold (default: 80) */
32
+ minCoverage?: number;
33
+ /** ADR-051: Enable LLM-powered gap analysis */
34
+ enableLLMAnalysis?: boolean;
35
+ /** ADR-051: Model tier for LLM calls (1=Haiku, 2=Sonnet, 4=Opus) */
36
+ llmModelTier?: number;
37
+ /** ADR-051: Max tokens for LLM responses */
38
+ llmMaxTokens?: number;
39
+ }
40
+ /**
41
+ * Dependencies for GapDetectorService
42
+ * ADR-051: Added LLM router for AI-enhanced analysis
43
+ */
44
+ export interface GapDetectorDependencies {
45
+ memory: MemoryBackend;
46
+ /** ADR-051: Optional LLM router for AI-enhanced gap analysis */
47
+ llmRouter?: HybridRouter;
48
+ }
49
+ /**
50
+ * LLM-enhanced gap analysis result
51
+ * Provides intelligent prioritization and suggestions
52
+ */
53
+ export interface LLMGapAnalysis {
54
+ /** Risk-weighted prioritization of gaps */
55
+ prioritizedGaps: Array<{
56
+ gapId: string;
57
+ riskWeight: number;
58
+ explanation: string;
59
+ businessImpact: 'critical' | 'high' | 'medium' | 'low';
60
+ }>;
61
+ /** Suggested test cases to fill gaps */
62
+ suggestedTests: Array<{
63
+ gapId: string;
64
+ testDescription: string;
65
+ testType: 'unit' | 'integration' | 'e2e';
66
+ estimatedEffort: number;
67
+ }>;
68
+ /** Estimated effort to achieve target coverage */
69
+ effortEstimate: {
70
+ totalHours: number;
71
+ confidence: number;
72
+ breakdown: Record<string, number>;
73
+ };
74
+ /** Overall analysis summary */
75
+ summary: string;
76
+ }
24
77
  export declare class GapDetectorService implements IGapDetectionService {
25
- private readonly memory;
26
78
  private static readonly DEFAULT_MIN_COVERAGE;
27
79
  private static readonly VECTOR_DIMENSION;
28
- constructor(memory: MemoryBackend);
80
+ private readonly memory;
81
+ private readonly config;
82
+ private readonly llmRouter?;
83
+ /**
84
+ * Create a GapDetectorService instance
85
+ * Supports both old (MemoryBackend only) and new (dependencies + config) signatures
86
+ *
87
+ * @param dependenciesOrMemory - Either a GapDetectorDependencies object or a MemoryBackend
88
+ * @param config - Optional configuration (only used with new signature)
89
+ */
90
+ constructor(dependenciesOrMemory: GapDetectorDependencies | MemoryBackend, config?: GapDetectorConfig);
91
+ /**
92
+ * Check if LLM analysis is available and enabled
93
+ */
94
+ private isLLMAnalysisAvailable;
95
+ /**
96
+ * Get model ID for the configured tier
97
+ */
98
+ private getModelForTier;
99
+ /**
100
+ * Analyze coverage gaps using LLM for intelligent prioritization
101
+ * Provides risk-weighted analysis, test suggestions, and effort estimates
102
+ */
103
+ analyzeGapsWithLLM(gaps: CoverageGap[], codeContext?: string): Promise<Result<LLMGapAnalysis, Error>>;
104
+ /**
105
+ * Build prompt for gap analysis
106
+ */
107
+ private buildGapAnalysisPrompt;
108
+ /**
109
+ * Parse LLM response into structured gap analysis
110
+ */
111
+ private parseGapAnalysisResponse;
112
+ /**
113
+ * Convert severity to business impact
114
+ */
115
+ private severityToBusinessImpact;
116
+ /**
117
+ * Calculate effort breakdown by file
118
+ */
119
+ private calculateEffortBreakdown;
29
120
  /**
30
121
  * Detect uncovered code regions using vector similarity for O(log n) analysis
31
122
  */
@@ -58,4 +149,22 @@ export declare class GapDetectorService implements IGapDetectionService {
58
149
  private toCamelCase;
59
150
  private generateIntegrationTestTemplate;
60
151
  }
152
+ /**
153
+ * Create a GapDetectorService instance with default dependencies
154
+ * Maintains backward compatibility with existing code
155
+ *
156
+ * @param memory - Memory backend for pattern storage
157
+ * @param config - Optional configuration overrides
158
+ * @returns Configured GapDetectorService instance
159
+ */
160
+ export declare function createGapDetectorService(memory: MemoryBackend, config?: GapDetectorConfig): GapDetectorService;
161
+ /**
162
+ * Create a GapDetectorService instance with custom dependencies
163
+ * Used when LLM router or other custom implementations are needed
164
+ *
165
+ * @param dependencies - All service dependencies (memory + optional llmRouter)
166
+ * @param config - Optional configuration overrides
167
+ * @returns Configured GapDetectorService instance
168
+ */
169
+ export declare function createGapDetectorServiceWithDependencies(dependencies: GapDetectorDependencies, config?: GapDetectorConfig): GapDetectorService;
61
170
  //# sourceMappingURL=gap-detector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gap-detector.d.ts","sourceRoot":"","sources":["../../../../src/domains/coverage-analysis/services/gap-detector.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,mBAAmB,EACnB,YAAY,EACZ,WAAW,EAEZ,MAAM,eAAe,CAAC;AAMvB,MAAM,WAAW,oBAAoB;IACnC,oCAAoC;IACpC,UAAU,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;IAE/E,6DAA6D;IAC7D,cAAc,CACZ,IAAI,EAAE,WAAW,EAAE,EACnB,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,gBAAgB,GAC3C,WAAW,EAAE,CAAC;IAEjB,0CAA0C;IAC1C,YAAY,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;CAC1E;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,KAAK,CAAC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACpC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD,qBAAa,kBAAmB,YAAW,oBAAoB;IAIjD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAM;IAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAO;gBAElB,MAAM,EAAE,aAAa;IAElD;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAoCpF;;OAEG;IACH,cAAc,CACZ,IAAI,EAAE,WAAW,EAAE,EACnB,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,gBAAgB,GAC3C,WAAW,EAAE;IAkChB;;OAEG;IACG,YAAY,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,KAAK,CAAC,CAAC;YAmDhE,eAAe;IA8B7B,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,wBAAwB;IAqChC,OAAO,CAAC,mBAAmB;YAIb,wBAAwB;YAwBxB,iBAAiB;IAc/B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,sBAAsB;IAqB9B,OAAO,CAAC,oBAAoB;YAMd,gBAAgB;IAgB9B,OAAO,CAAC,kBAAkB;YAqBZ,wBAAwB;IAStC,OAAO,CAAC,wBAAwB;IA2BhC,OAAO,CAAC,wBAAwB;IAkDhC,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,+BAA+B;CAqFxC"}
1
+ {"version":3,"file":"gap-detector.d.ts","sourceRoot":"","sources":["../../../../src/domains/coverage-analysis/services/gap-detector.ts"],"names":[],"mappings":"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"}