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.
- package/.claude/helpers/statusline-v3.cjs +96 -27
- package/README.md +6 -3
- package/package.json +1 -1
- package/scripts/sync-claude-flow.cjs +99 -0
- package/v3/CHANGELOG.md +133 -0
- package/v3/README.md +9 -5
- package/v3/dist/cli/bundle.js +60879 -51811
- package/v3/dist/coordination/consensus/domain-findings.d.ts +202 -0
- package/v3/dist/coordination/consensus/domain-findings.d.ts.map +1 -0
- package/v3/dist/coordination/consensus/domain-findings.js +66 -0
- package/v3/dist/coordination/consensus/domain-findings.js.map +1 -0
- package/v3/dist/coordination/consensus/index.d.ts +2 -0
- package/v3/dist/coordination/consensus/index.d.ts.map +1 -1
- package/v3/dist/coordination/consensus/index.js +4 -0
- package/v3/dist/coordination/consensus/index.js.map +1 -1
- package/v3/dist/coordination/index.d.ts +1 -0
- package/v3/dist/coordination/index.d.ts.map +1 -1
- package/v3/dist/coordination/index.js +4 -0
- package/v3/dist/coordination/index.js.map +1 -1
- package/v3/dist/coordination/mixins/consensus-enabled-domain.d.ts +225 -0
- package/v3/dist/coordination/mixins/consensus-enabled-domain.d.ts.map +1 -0
- package/v3/dist/coordination/mixins/consensus-enabled-domain.js +466 -0
- package/v3/dist/coordination/mixins/consensus-enabled-domain.js.map +1 -0
- package/v3/dist/coordination/mixins/index.d.ts +14 -0
- package/v3/dist/coordination/mixins/index.d.ts.map +1 -0
- package/v3/dist/coordination/mixins/index.js +28 -0
- package/v3/dist/coordination/mixins/index.js.map +1 -0
- package/v3/dist/coordination/mixins/mincut-aware-domain.d.ts +227 -0
- package/v3/dist/coordination/mixins/mincut-aware-domain.d.ts.map +1 -0
- package/v3/dist/coordination/mixins/mincut-aware-domain.js +368 -0
- package/v3/dist/coordination/mixins/mincut-aware-domain.js.map +1 -0
- package/v3/dist/coordination/queen-coordinator.d.ts +23 -1
- package/v3/dist/coordination/queen-coordinator.d.ts.map +1 -1
- package/v3/dist/coordination/queen-coordinator.js +131 -3
- package/v3/dist/coordination/queen-coordinator.js.map +1 -1
- package/v3/dist/coordination/task-executor.d.ts +21 -1
- package/v3/dist/coordination/task-executor.d.ts.map +1 -1
- package/v3/dist/coordination/task-executor.js +222 -5
- package/v3/dist/coordination/task-executor.js.map +1 -1
- package/v3/dist/domains/chaos-resilience/coordinator.d.ts +92 -0
- package/v3/dist/domains/chaos-resilience/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/chaos-resilience/coordinator.js +241 -1
- package/v3/dist/domains/chaos-resilience/coordinator.js.map +1 -1
- package/v3/dist/domains/chaos-resilience/plugin.js +1 -1
- package/v3/dist/domains/chaos-resilience/plugin.js.map +1 -1
- package/v3/dist/domains/chaos-resilience/services/chaos-engineer.d.ts +29 -2
- package/v3/dist/domains/chaos-resilience/services/chaos-engineer.d.ts.map +1 -1
- package/v3/dist/domains/chaos-resilience/services/chaos-engineer.js +62 -3
- package/v3/dist/domains/chaos-resilience/services/chaos-engineer.js.map +1 -1
- package/v3/dist/domains/code-intelligence/coordinator.d.ts +112 -0
- package/v3/dist/domains/code-intelligence/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/code-intelligence/coordinator.js +221 -0
- package/v3/dist/domains/code-intelligence/coordinator.js.map +1 -1
- package/v3/dist/domains/code-intelligence/services/knowledge-graph.d.ts +66 -2
- package/v3/dist/domains/code-intelligence/services/knowledge-graph.d.ts.map +1 -1
- package/v3/dist/domains/code-intelligence/services/knowledge-graph.js +253 -3
- package/v3/dist/domains/code-intelligence/services/knowledge-graph.js.map +1 -1
- package/v3/dist/domains/contract-testing/coordinator.d.ts +89 -1
- package/v3/dist/domains/contract-testing/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/contract-testing/coordinator.js +222 -1
- package/v3/dist/domains/contract-testing/coordinator.js.map +1 -1
- package/v3/dist/domains/contract-testing/interfaces.d.ts +29 -1
- package/v3/dist/domains/contract-testing/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/contract-testing/plugin.js +1 -1
- package/v3/dist/domains/contract-testing/plugin.js.map +1 -1
- package/v3/dist/domains/contract-testing/services/contract-validator.d.ts +29 -2
- package/v3/dist/domains/contract-testing/services/contract-validator.d.ts.map +1 -1
- package/v3/dist/domains/contract-testing/services/contract-validator.js +58 -3
- package/v3/dist/domains/contract-testing/services/contract-validator.js.map +1 -1
- package/v3/dist/domains/coverage-analysis/coordinator.d.ts +95 -2
- package/v3/dist/domains/coverage-analysis/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/coverage-analysis/coordinator.js +274 -6
- package/v3/dist/domains/coverage-analysis/coordinator.js.map +1 -1
- package/v3/dist/domains/coverage-analysis/plugin.d.ts +6 -1
- package/v3/dist/domains/coverage-analysis/plugin.d.ts.map +1 -1
- package/v3/dist/domains/coverage-analysis/plugin.js +73 -0
- package/v3/dist/domains/coverage-analysis/plugin.js.map +1 -1
- package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.d.ts +119 -3
- package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.d.ts.map +1 -1
- package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.js +267 -5
- package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.js.map +1 -1
- package/v3/dist/domains/coverage-analysis/services/gap-detector.d.ts +111 -2
- package/v3/dist/domains/coverage-analysis/services/gap-detector.d.ts.map +1 -1
- package/v3/dist/domains/coverage-analysis/services/gap-detector.js +231 -3
- package/v3/dist/domains/coverage-analysis/services/gap-detector.js.map +1 -1
- package/v3/dist/domains/defect-intelligence/coordinator.d.ts +80 -1
- package/v3/dist/domains/defect-intelligence/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/defect-intelligence/coordinator.js +262 -7
- package/v3/dist/domains/defect-intelligence/coordinator.js.map +1 -1
- package/v3/dist/domains/defect-intelligence/interfaces.d.ts +17 -0
- package/v3/dist/domains/defect-intelligence/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/defect-intelligence/services/defect-predictor.d.ts +91 -2
- package/v3/dist/domains/defect-intelligence/services/defect-predictor.d.ts.map +1 -1
- package/v3/dist/domains/defect-intelligence/services/defect-predictor.js +274 -7
- package/v3/dist/domains/defect-intelligence/services/defect-predictor.js.map +1 -1
- package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.d.ts +79 -2
- package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.d.ts.map +1 -1
- package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.js +259 -3
- package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.js.map +1 -1
- package/v3/dist/domains/domain-interface.d.ts +194 -2
- package/v3/dist/domains/domain-interface.d.ts.map +1 -1
- package/v3/dist/domains/domain-interface.js +239 -0
- package/v3/dist/domains/domain-interface.js.map +1 -1
- package/v3/dist/domains/learning-optimization/coordinator.d.ts +171 -0
- package/v3/dist/domains/learning-optimization/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/learning-optimization/coordinator.js +401 -1
- package/v3/dist/domains/learning-optimization/coordinator.js.map +1 -1
- package/v3/dist/domains/learning-optimization/index.d.ts +1 -1
- package/v3/dist/domains/learning-optimization/index.d.ts.map +1 -1
- package/v3/dist/domains/learning-optimization/index.js.map +1 -1
- package/v3/dist/domains/learning-optimization/interfaces.d.ts +18 -0
- package/v3/dist/domains/learning-optimization/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/learning-optimization/plugin.js +1 -1
- package/v3/dist/domains/learning-optimization/plugin.js.map +1 -1
- package/v3/dist/domains/learning-optimization/services/learning-coordinator.d.ts +54 -2
- package/v3/dist/domains/learning-optimization/services/learning-coordinator.d.ts.map +1 -1
- package/v3/dist/domains/learning-optimization/services/learning-coordinator.js +90 -3
- package/v3/dist/domains/learning-optimization/services/learning-coordinator.js.map +1 -1
- package/v3/dist/domains/quality-assessment/coordinator.d.ts +127 -0
- package/v3/dist/domains/quality-assessment/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/quality-assessment/coordinator.js +493 -7
- package/v3/dist/domains/quality-assessment/coordinator.js.map +1 -1
- package/v3/dist/domains/quality-assessment/interfaces.d.ts +22 -0
- package/v3/dist/domains/quality-assessment/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/quality-assessment/plugin.d.ts +6 -1
- package/v3/dist/domains/quality-assessment/plugin.d.ts.map +1 -1
- package/v3/dist/domains/quality-assessment/plugin.js +67 -0
- package/v3/dist/domains/quality-assessment/plugin.js.map +1 -1
- package/v3/dist/domains/quality-assessment/services/deployment-advisor.d.ts +61 -2
- package/v3/dist/domains/quality-assessment/services/deployment-advisor.d.ts.map +1 -1
- package/v3/dist/domains/quality-assessment/services/deployment-advisor.js +213 -5
- package/v3/dist/domains/quality-assessment/services/deployment-advisor.js.map +1 -1
- package/v3/dist/domains/quality-assessment/services/quality-analyzer.d.ts +59 -4
- package/v3/dist/domains/quality-assessment/services/quality-analyzer.d.ts.map +1 -1
- package/v3/dist/domains/quality-assessment/services/quality-analyzer.js +195 -3
- package/v3/dist/domains/quality-assessment/services/quality-analyzer.js.map +1 -1
- package/v3/dist/domains/requirements-validation/coordinator.d.ts +78 -0
- package/v3/dist/domains/requirements-validation/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/requirements-validation/coordinator.js +189 -0
- package/v3/dist/domains/requirements-validation/coordinator.js.map +1 -1
- package/v3/dist/domains/requirements-validation/interfaces.d.ts +4 -0
- package/v3/dist/domains/requirements-validation/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/requirements-validation/services/requirements-validator.d.ts +106 -2
- package/v3/dist/domains/requirements-validation/services/requirements-validator.d.ts.map +1 -1
- package/v3/dist/domains/requirements-validation/services/requirements-validator.js +263 -3
- package/v3/dist/domains/requirements-validation/services/requirements-validator.js.map +1 -1
- package/v3/dist/domains/security-compliance/coordinator.d.ts +56 -1
- package/v3/dist/domains/security-compliance/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/security-compliance/coordinator.js +241 -17
- package/v3/dist/domains/security-compliance/coordinator.js.map +1 -1
- package/v3/dist/domains/security-compliance/interfaces.d.ts +2 -0
- package/v3/dist/domains/security-compliance/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/security-compliance/services/security-scanner.d.ts +33 -2
- package/v3/dist/domains/security-compliance/services/security-scanner.d.ts.map +1 -1
- package/v3/dist/domains/security-compliance/services/security-scanner.js +107 -3
- package/v3/dist/domains/security-compliance/services/security-scanner.js.map +1 -1
- package/v3/dist/domains/test-execution/coordinator.d.ts +89 -0
- package/v3/dist/domains/test-execution/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/test-execution/coordinator.js +259 -2
- package/v3/dist/domains/test-execution/coordinator.js.map +1 -1
- package/v3/dist/domains/test-execution/plugin.d.ts +6 -1
- package/v3/dist/domains/test-execution/plugin.d.ts.map +1 -1
- package/v3/dist/domains/test-execution/plugin.js +77 -0
- package/v3/dist/domains/test-execution/plugin.js.map +1 -1
- package/v3/dist/domains/test-execution/services/test-executor.d.ts +30 -2
- package/v3/dist/domains/test-execution/services/test-executor.d.ts.map +1 -1
- package/v3/dist/domains/test-execution/services/test-executor.js +64 -3
- package/v3/dist/domains/test-execution/services/test-executor.js.map +1 -1
- package/v3/dist/domains/test-generation/coordinator.d.ts +137 -0
- package/v3/dist/domains/test-generation/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/coordinator.js +421 -1
- package/v3/dist/domains/test-generation/coordinator.js.map +1 -1
- package/v3/dist/domains/test-generation/interfaces.d.ts +2 -0
- package/v3/dist/domains/test-generation/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/plugin.d.ts +6 -1
- package/v3/dist/domains/test-generation/plugin.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/plugin.js +84 -0
- package/v3/dist/domains/test-generation/plugin.js.map +1 -1
- package/v3/dist/domains/test-generation/services/test-generator.d.ts +32 -0
- package/v3/dist/domains/test-generation/services/test-generator.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/services/test-generator.js +158 -3
- package/v3/dist/domains/test-generation/services/test-generator.js.map +1 -1
- package/v3/dist/domains/visual-accessibility/coordinator.d.ts +77 -0
- package/v3/dist/domains/visual-accessibility/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/visual-accessibility/coordinator.js +210 -2
- package/v3/dist/domains/visual-accessibility/coordinator.js.map +1 -1
- package/v3/dist/domains/visual-accessibility/plugin.d.ts.map +1 -1
- package/v3/dist/domains/visual-accessibility/plugin.js +3 -3
- package/v3/dist/domains/visual-accessibility/plugin.js.map +1 -1
- package/v3/dist/domains/visual-accessibility/services/visual-tester.d.ts +47 -2
- package/v3/dist/domains/visual-accessibility/services/visual-tester.d.ts.map +1 -1
- package/v3/dist/domains/visual-accessibility/services/visual-tester.js +87 -3
- package/v3/dist/domains/visual-accessibility/services/visual-tester.js.map +1 -1
- package/v3/dist/kernel/interfaces.d.ts +54 -1
- package/v3/dist/kernel/interfaces.d.ts.map +1 -1
- package/v3/dist/learning/dream/dream-scheduler.d.ts +302 -0
- package/v3/dist/learning/dream/dream-scheduler.d.ts.map +1 -0
- package/v3/dist/learning/dream/dream-scheduler.js +551 -0
- package/v3/dist/learning/dream/dream-scheduler.js.map +1 -0
- package/v3/dist/learning/dream/index.d.ts +1 -0
- package/v3/dist/learning/dream/index.d.ts.map +1 -1
- package/v3/dist/learning/dream/index.js +4 -0
- package/v3/dist/learning/dream/index.js.map +1 -1
- package/v3/dist/learning/experience-capture-middleware.d.ts +119 -0
- package/v3/dist/learning/experience-capture-middleware.d.ts.map +1 -0
- package/v3/dist/learning/experience-capture-middleware.js +416 -0
- package/v3/dist/learning/experience-capture-middleware.js.map +1 -0
- package/v3/dist/mcp/bundle.js +83142 -70580
- package/v3/dist/mcp/handlers/core-handlers.d.ts.map +1 -1
- package/v3/dist/mcp/handlers/core-handlers.js +16 -2
- package/v3/dist/mcp/handlers/core-handlers.js.map +1 -1
- package/v3/dist/mcp/handlers/domain-handlers.d.ts +12 -13
- package/v3/dist/mcp/handlers/domain-handlers.d.ts.map +1 -1
- package/v3/dist/mcp/handlers/index.d.ts +1 -1
- package/v3/dist/mcp/handlers/index.d.ts.map +1 -1
- package/v3/dist/mcp/handlers/index.js +2 -2
- package/v3/dist/mcp/handlers/index.js.map +1 -1
- package/v3/dist/mcp/handlers/task-handlers.d.ts +1 -0
- package/v3/dist/mcp/handlers/task-handlers.d.ts.map +1 -1
- package/v3/dist/mcp/handlers/task-handlers.js +46 -12
- package/v3/dist/mcp/handlers/task-handlers.js.map +1 -1
- package/v3/dist/mcp/handlers/wrapped-domain-handlers.d.ts +30 -0
- package/v3/dist/mcp/handlers/wrapped-domain-handlers.d.ts.map +1 -0
- package/v3/dist/mcp/handlers/wrapped-domain-handlers.js +75 -0
- package/v3/dist/mcp/handlers/wrapped-domain-handlers.js.map +1 -0
- package/v3/dist/mcp/services/reasoning-bank-service.d.ts +87 -13
- package/v3/dist/mcp/services/reasoning-bank-service.d.ts.map +1 -1
- package/v3/dist/mcp/services/reasoning-bank-service.js +291 -31
- package/v3/dist/mcp/services/reasoning-bank-service.js.map +1 -1
- package/v3/dist/mcp/tools/chaos-resilience/inject.js +1 -1
- package/v3/dist/mcp/tools/chaos-resilience/inject.js.map +1 -1
- package/v3/dist/mcp/tools/contract-testing/validate.js +1 -1
- package/v3/dist/mcp/tools/contract-testing/validate.js.map +1 -1
- package/v3/dist/mcp/tools/learning-optimization/optimize.js +1 -1
- package/v3/dist/mcp/tools/learning-optimization/optimize.js.map +1 -1
- package/v3/dist/mcp/tools/visual-accessibility/index.js +2 -2
- package/v3/dist/mcp/tools/visual-accessibility/index.js.map +1 -1
- package/v3/dist/routing/qe-agent-registry.d.ts +28 -1
- package/v3/dist/routing/qe-agent-registry.d.ts.map +1 -1
- package/v3/dist/routing/qe-agent-registry.js +116 -1
- package/v3/dist/routing/qe-agent-registry.js.map +1 -1
- package/v3/dist/shared/events/domain-events.d.ts +27 -0
- package/v3/dist/shared/events/domain-events.d.ts.map +1 -1
- package/v3/dist/shared/events/domain-events.js +1 -0
- package/v3/dist/shared/events/domain-events.js.map +1 -1
- package/v3/dist/sync/claude-flow-bridge.d.ts +63 -0
- package/v3/dist/sync/claude-flow-bridge.d.ts.map +1 -0
- package/v3/dist/sync/claude-flow-bridge.js +320 -0
- package/v3/dist/sync/claude-flow-bridge.js.map +1 -0
- package/v3/package.json +1 -1
|
@@ -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
|
-
|
|
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
|
|
1
|
+
{"version":3,"file":"gap-detector.d.ts","sourceRoot":"","sources":["../../../../src/domains/coverage-analysis/services/gap-detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,220 @@
|
|
|
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 { ok, err } from '../../../shared/types';
|
|
8
|
+
const DEFAULT_CONFIG = {
|
|
9
|
+
minCoverage: 80,
|
|
10
|
+
enableLLMAnalysis: true, // On by default - opt-out
|
|
11
|
+
llmModelTier: 2, // Sonnet by default for balanced cost/quality
|
|
12
|
+
llmMaxTokens: 2048,
|
|
13
|
+
};
|
|
6
14
|
// ============================================================================
|
|
7
15
|
// Service Implementation
|
|
8
16
|
// ============================================================================
|
|
9
17
|
export class GapDetectorService {
|
|
10
|
-
memory;
|
|
11
18
|
static DEFAULT_MIN_COVERAGE = 80;
|
|
12
19
|
static VECTOR_DIMENSION = 128;
|
|
13
|
-
|
|
14
|
-
|
|
20
|
+
memory;
|
|
21
|
+
config;
|
|
22
|
+
llmRouter;
|
|
23
|
+
/**
|
|
24
|
+
* Create a GapDetectorService instance
|
|
25
|
+
* Supports both old (MemoryBackend only) and new (dependencies + config) signatures
|
|
26
|
+
*
|
|
27
|
+
* @param dependenciesOrMemory - Either a GapDetectorDependencies object or a MemoryBackend
|
|
28
|
+
* @param config - Optional configuration (only used with new signature)
|
|
29
|
+
*/
|
|
30
|
+
constructor(dependenciesOrMemory, config) {
|
|
31
|
+
// Support both old and new constructor signatures for backward compatibility
|
|
32
|
+
if ('memory' in dependenciesOrMemory) {
|
|
33
|
+
// New signature: dependencies object
|
|
34
|
+
this.memory = dependenciesOrMemory.memory;
|
|
35
|
+
this.llmRouter = dependenciesOrMemory.llmRouter;
|
|
36
|
+
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
// Old signature: just memory backend (backward compatible)
|
|
40
|
+
this.memory = dependenciesOrMemory;
|
|
41
|
+
this.llmRouter = undefined;
|
|
42
|
+
this.config = { ...DEFAULT_CONFIG };
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// ============================================================================
|
|
46
|
+
// ADR-051: LLM Enhancement Methods
|
|
47
|
+
// ============================================================================
|
|
48
|
+
/**
|
|
49
|
+
* Check if LLM analysis is available and enabled
|
|
50
|
+
*/
|
|
51
|
+
isLLMAnalysisAvailable() {
|
|
52
|
+
return this.config.enableLLMAnalysis === true && this.llmRouter !== undefined;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Get model ID for the configured tier
|
|
56
|
+
*/
|
|
57
|
+
getModelForTier(tier) {
|
|
58
|
+
switch (tier) {
|
|
59
|
+
case 1: return 'claude-3-5-haiku-20241022';
|
|
60
|
+
case 2: return 'claude-sonnet-4-20250514';
|
|
61
|
+
case 3: return 'claude-sonnet-4-20250514';
|
|
62
|
+
case 4: return 'claude-opus-4-5-20251101';
|
|
63
|
+
default: return 'claude-sonnet-4-20250514';
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Analyze coverage gaps using LLM for intelligent prioritization
|
|
68
|
+
* Provides risk-weighted analysis, test suggestions, and effort estimates
|
|
69
|
+
*/
|
|
70
|
+
async analyzeGapsWithLLM(gaps, codeContext) {
|
|
71
|
+
if (!this.llmRouter) {
|
|
72
|
+
return err(new Error('LLM router not available'));
|
|
73
|
+
}
|
|
74
|
+
if (gaps.length === 0) {
|
|
75
|
+
return ok({
|
|
76
|
+
prioritizedGaps: [],
|
|
77
|
+
suggestedTests: [],
|
|
78
|
+
effortEstimate: {
|
|
79
|
+
totalHours: 0,
|
|
80
|
+
confidence: 1,
|
|
81
|
+
breakdown: {},
|
|
82
|
+
},
|
|
83
|
+
summary: 'No coverage gaps to analyze.',
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
try {
|
|
87
|
+
const prompt = this.buildGapAnalysisPrompt(gaps, codeContext);
|
|
88
|
+
const modelId = this.getModelForTier(this.config.llmModelTier ?? 2);
|
|
89
|
+
const response = await this.llmRouter.chat({
|
|
90
|
+
messages: [
|
|
91
|
+
{
|
|
92
|
+
role: 'system',
|
|
93
|
+
content: `You are a senior QE engineer analyzing coverage gaps. Provide:
|
|
94
|
+
1. Risk-weighted prioritization (which gaps are most dangerous)
|
|
95
|
+
2. Business impact assessment for each gap
|
|
96
|
+
3. Specific test cases to fill each gap
|
|
97
|
+
4. Effort estimates (in hours) to achieve target coverage
|
|
98
|
+
|
|
99
|
+
Return JSON in this exact format:
|
|
100
|
+
{
|
|
101
|
+
"prioritizedGaps": [{ "gapId": "...", "riskWeight": 0.8, "explanation": "...", "businessImpact": "high" }],
|
|
102
|
+
"suggestedTests": [{ "gapId": "...", "testDescription": "...", "testType": "unit", "estimatedEffort": 2 }],
|
|
103
|
+
"effortEstimate": { "totalHours": 10, "confidence": 0.8, "breakdown": { "file.ts": 5 } },
|
|
104
|
+
"summary": "Brief analysis summary..."
|
|
105
|
+
}`,
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
role: 'user',
|
|
109
|
+
content: prompt,
|
|
110
|
+
},
|
|
111
|
+
],
|
|
112
|
+
model: modelId,
|
|
113
|
+
maxTokens: this.config.llmMaxTokens ?? 2048,
|
|
114
|
+
temperature: 0.3, // Low temperature for consistent analysis
|
|
115
|
+
});
|
|
116
|
+
if (response.content) {
|
|
117
|
+
const analysis = this.parseGapAnalysisResponse(response.content, gaps);
|
|
118
|
+
return ok(analysis);
|
|
119
|
+
}
|
|
120
|
+
return err(new Error('Empty response from LLM'));
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
console.warn('[GapDetector] LLM analysis failed:', error);
|
|
124
|
+
return err(error instanceof Error ? error : new Error(String(error)));
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Build prompt for gap analysis
|
|
129
|
+
*/
|
|
130
|
+
buildGapAnalysisPrompt(gaps, codeContext) {
|
|
131
|
+
let prompt = `## Coverage Gaps to Analyze\n\n`;
|
|
132
|
+
for (const gap of gaps) {
|
|
133
|
+
prompt += `### Gap: ${gap.id}\n`;
|
|
134
|
+
prompt += `- File: ${gap.file}\n`;
|
|
135
|
+
prompt += `- Lines: ${gap.lines.length > 10 ? `${gap.lines.slice(0, 5).join(', ')}... (${gap.lines.length} total)` : gap.lines.join(', ')}\n`;
|
|
136
|
+
prompt += `- Branches: ${gap.branches.length}\n`;
|
|
137
|
+
prompt += `- Current Risk Score: ${gap.riskScore.toFixed(2)}\n`;
|
|
138
|
+
prompt += `- Severity: ${gap.severity}\n`;
|
|
139
|
+
prompt += `- Recommendation: ${gap.recommendation}\n\n`;
|
|
140
|
+
}
|
|
141
|
+
if (codeContext) {
|
|
142
|
+
prompt += `## Code Context\n\`\`\`typescript\n${codeContext.slice(0, 2000)}\n\`\`\`\n\n`;
|
|
143
|
+
}
|
|
144
|
+
prompt += `## Analysis Request\n`;
|
|
145
|
+
prompt += `1. Prioritize these gaps by actual risk (not just line count)\n`;
|
|
146
|
+
prompt += `2. Explain why each gap matters from a business perspective\n`;
|
|
147
|
+
prompt += `3. Suggest specific test cases to fill each gap\n`;
|
|
148
|
+
prompt += `4. Estimate effort to achieve 80% coverage\n`;
|
|
149
|
+
return prompt;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Parse LLM response into structured gap analysis
|
|
153
|
+
*/
|
|
154
|
+
parseGapAnalysisResponse(content, gaps) {
|
|
155
|
+
try {
|
|
156
|
+
// Try to extract JSON from response
|
|
157
|
+
const jsonMatch = content.match(/\{[\s\S]*\}/);
|
|
158
|
+
if (jsonMatch) {
|
|
159
|
+
const parsed = JSON.parse(jsonMatch[0]);
|
|
160
|
+
return {
|
|
161
|
+
prioritizedGaps: parsed.prioritizedGaps || [],
|
|
162
|
+
suggestedTests: parsed.suggestedTests || [],
|
|
163
|
+
effortEstimate: parsed.effortEstimate || {
|
|
164
|
+
totalHours: this.calculateTotalEffort(gaps),
|
|
165
|
+
confidence: 0.5,
|
|
166
|
+
breakdown: {},
|
|
167
|
+
},
|
|
168
|
+
summary: parsed.summary || 'Analysis complete.',
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
catch {
|
|
173
|
+
// JSON parsing failed - return fallback analysis
|
|
174
|
+
}
|
|
175
|
+
// Fallback: create basic analysis from existing data
|
|
176
|
+
return {
|
|
177
|
+
prioritizedGaps: gaps.map((gap) => ({
|
|
178
|
+
gapId: gap.id,
|
|
179
|
+
riskWeight: gap.riskScore,
|
|
180
|
+
explanation: gap.recommendation,
|
|
181
|
+
businessImpact: this.severityToBusinessImpact(gap.severity),
|
|
182
|
+
})),
|
|
183
|
+
suggestedTests: gaps.slice(0, 5).map((gap) => ({
|
|
184
|
+
gapId: gap.id,
|
|
185
|
+
testDescription: `Test coverage for ${gap.file} lines ${gap.lines[0]}-${gap.lines[gap.lines.length - 1] || gap.lines[0]}`,
|
|
186
|
+
testType: 'unit',
|
|
187
|
+
estimatedEffort: Math.ceil(gap.lines.length / 15),
|
|
188
|
+
})),
|
|
189
|
+
effortEstimate: {
|
|
190
|
+
totalHours: this.calculateTotalEffort(gaps),
|
|
191
|
+
confidence: 0.5,
|
|
192
|
+
breakdown: this.calculateEffortBreakdown(gaps),
|
|
193
|
+
},
|
|
194
|
+
summary: `Analyzed ${gaps.length} coverage gaps. LLM response parsing failed, using heuristic analysis.`,
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Convert severity to business impact
|
|
199
|
+
*/
|
|
200
|
+
severityToBusinessImpact(severity) {
|
|
201
|
+
switch (severity) {
|
|
202
|
+
case 'critical': return 'critical';
|
|
203
|
+
case 'high': return 'high';
|
|
204
|
+
case 'medium': return 'medium';
|
|
205
|
+
default: return 'low';
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Calculate effort breakdown by file
|
|
210
|
+
*/
|
|
211
|
+
calculateEffortBreakdown(gaps) {
|
|
212
|
+
const breakdown = {};
|
|
213
|
+
for (const gap of gaps) {
|
|
214
|
+
const effort = Math.ceil(gap.lines.length / 15);
|
|
215
|
+
breakdown[gap.file] = (breakdown[gap.file] || 0) + effort;
|
|
216
|
+
}
|
|
217
|
+
return breakdown;
|
|
15
218
|
}
|
|
16
219
|
/**
|
|
17
220
|
* Detect uncovered code regions using vector similarity for O(log n) analysis
|
|
@@ -471,4 +674,29 @@ describe('${fileName} Integration', () => {
|
|
|
471
674
|
});`;
|
|
472
675
|
}
|
|
473
676
|
}
|
|
677
|
+
// ============================================================================
|
|
678
|
+
// Factory Functions
|
|
679
|
+
// ============================================================================
|
|
680
|
+
/**
|
|
681
|
+
* Create a GapDetectorService instance with default dependencies
|
|
682
|
+
* Maintains backward compatibility with existing code
|
|
683
|
+
*
|
|
684
|
+
* @param memory - Memory backend for pattern storage
|
|
685
|
+
* @param config - Optional configuration overrides
|
|
686
|
+
* @returns Configured GapDetectorService instance
|
|
687
|
+
*/
|
|
688
|
+
export function createGapDetectorService(memory, config) {
|
|
689
|
+
return new GapDetectorService(memory, config);
|
|
690
|
+
}
|
|
691
|
+
/**
|
|
692
|
+
* Create a GapDetectorService instance with custom dependencies
|
|
693
|
+
* Used when LLM router or other custom implementations are needed
|
|
694
|
+
*
|
|
695
|
+
* @param dependencies - All service dependencies (memory + optional llmRouter)
|
|
696
|
+
* @param config - Optional configuration overrides
|
|
697
|
+
* @returns Configured GapDetectorService instance
|
|
698
|
+
*/
|
|
699
|
+
export function createGapDetectorServiceWithDependencies(dependencies, config) {
|
|
700
|
+
return new GapDetectorService(dependencies, config);
|
|
701
|
+
}
|
|
474
702
|
//# sourceMappingURL=gap-detector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gap-detector.js","sourceRoot":"","sources":["../../../../src/domains/coverage-analysis/services/gap-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAU,EAAE,EAAE,GAAG,EAAY,MAAM,uBAAuB,CAAC;AAoClE,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E,MAAM,OAAO,kBAAkB;IAIA;IAHrB,MAAM,CAAU,oBAAoB,GAAG,EAAE,CAAC;IAC1C,MAAM,CAAU,gBAAgB,GAAG,GAAG,CAAC;IAE/C,YAA6B,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAEtD;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,OAA4B;QAC3C,IAAI,CAAC;YACH,MAAM,EACJ,YAAY,EACZ,WAAW,GAAG,kBAAkB,CAAC,oBAAoB,EACrD,UAAU,GAAG,MAAM,GACpB,GAAG,OAAO,CAAC;YAEZ,MAAM,IAAI,GAAkB,EAAE,CAAC;YAC/B,IAAI,mBAAmB,GAAG,CAAC,CAAC;YAE5B,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;gBACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBAC/D,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;gBACvB,mBAAmB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;YACpD,CAAC;YAED,gCAAgC;YAChC,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAE9D,6BAA6B;YAC7B,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;YAEnE,kCAAkC;YAClC,MAAM,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;YAE7C,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,eAAe;gBACrB,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,cAAc,CACZ,IAAmB,EACnB,QAA4C;QAE5C,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QAEzB,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,MAAM;gBACT,uDAAuD;gBACvD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACnB,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC;wBAChC,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;oBACnC,CAAC;oBACD,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC/E,CAAC,CAAC,CAAC;gBACH,MAAM;YAER,KAAK,MAAM;gBACT,yDAAyD;gBACzD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACvD,MAAM;YAER,KAAK,gBAAgB;gBACnB,oDAAoD;gBACpD,uDAAuD;gBACvD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACnB,gEAAgE;oBAChE,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC5C,OAAO,MAAM,GAAG,MAAM,CAAC;gBACzB,CAAC,CAAC,CAAC;gBACH,MAAM;QACV,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,GAAgB;QACjC,IAAI,CAAC;YACH,MAAM,WAAW,GAAqB,EAAE,CAAC;YAEzC,8BAA8B;YAC9B,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;YACzC,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YAC9C,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,KAAK,UAAU,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC;YAE1E,mDAAmD;YACnD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;YAEjE,iCAAiC;YACjC,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,kBAAkB,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;gBAC/E,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACvC,CAAC;YAED,mDAAmD;YACnD,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;gBAChC,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,aAAa;oBACnB,WAAW,EAAE,yBAAyB,GAAG,CAAC,IAAI,aAAa,GAAG,CAAC,KAAK,CAAC,MAAM,cAAc,GAAG,CAAC,QAAQ,CAAC,MAAM,WAAW;oBACvH,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;oBACxC,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,0BAA0B;oBAC/D,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;oBACjD,YAAY,EAAE,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAAC;iBACxD,CAAC,CAAC;YACL,CAAC;YAED,4CAA4C;YAC5C,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;gBAC7B,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,KAAK;oBACX,WAAW,EAAE,kDAAkD,GAAG,CAAC,IAAI,EAAE;oBACzE,QAAQ,EAAE,MAAM;oBAChB,WAAW,EAAE,GAAG,CAAC,KAAK;oBACtB,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;iBACjD,CAAC,CAAC;YACL,CAAC;YAED,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC;QACzB,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,+EAA+E;IAC/E,yBAAyB;IACzB,+EAA+E;IAEvE,KAAK,CAAC,eAAe,CAC3B,IAAkB,EAClB,WAAmB;QAEnB,MAAM,IAAI,GAAkB,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAElD,IAAI,QAAQ,GAAG,WAAW,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7D,gDAAgD;YAChD,MAAM,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAEnE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;gBAErD,IAAI,CAAC,IAAI,CAAC;oBACR,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC;oBAC/C,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;oBAClE,SAAS;oBACT,QAAQ;oBACR,cAAc,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC;iBACpE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,qBAAqB,CAAC,IAAkB;QAC9C,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;QACF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IAEO,wBAAwB,CAAC,KAAe;QAC9C,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,OAAO,GAAsB,EAAE,CAAC;QAEtC,IAAI,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,WAAW,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,6EAA6E;YAC7E,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,uCAAuC;gBACvC,OAAO,CAAC,IAAI,CAAC;oBACX,KAAK,EAAE,WAAW;oBAClB,GAAG,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;oBACxC,KAAK,EAAE,WAAW;oBAClB,IAAI,EAAE,WAAW,CAAC,MAAM;iBACzB,CAAC,CAAC;gBACH,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB,WAAW,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,mBAAmB;QACnB,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,WAAW;YAClB,GAAG,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;YACxC,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,WAAW,CAAC,MAAM;SACzB,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,mBAAmB,CAAC,WAAqB,EAAE,MAAuB;QACxE,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;IACzE,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,IAAkB,EAClB,MAAuB;QAEvB,6BAA6B;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QAE/C,wCAAwC;QACxC,MAAM,YAAY,GAChB,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,sCAAsC;QACtC,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAClF,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/F,wCAAwC;QACxC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/D,uBAAuB;QACvB,MAAM,QAAQ,GAAG,QAAQ,GAAG,GAAG,GAAG,YAAY,GAAG,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,cAAc,GAAG,GAAG,CAAC;QAE/F,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC5C,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,QAAgB;QAC9C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACnC,kBAAkB,QAAQ,EAAE,CAC7B,CAAC;YACF,IAAI,OAAO,IAAI,OAAO,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;gBACvC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;YAC/C,CAAC;YACD,OAAO,GAAG,CAAC,CAAC,wBAAwB;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,CAAC;QACb,CAAC;IACH,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,gBAAgB,CAAC,QAAkB;QACzC,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,UAAU;gBACb,OAAO,CAAC,CAAC;YACX,KAAK,MAAM;gBACT,OAAO,CAAC,CAAC;YACX,KAAK,QAAQ;gBACX,OAAO,CAAC,CAAC;YACX,KAAK,KAAK;gBACR,OAAO,CAAC,CAAC;YACX;gBACE,OAAO,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,QAAgB;QACtC,sCAAsC;QACtC,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;YAAE,OAAO,GAAG,CAAC;QAClD,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;YAAE,OAAO,GAAG,CAAC;QACjD,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,GAAG,CAAC;QAC1C,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,GAAG,CAAC;QAC1C,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,aAAa,CAAC,QAAgB,EAAE,SAAiB;QACvD,MAAM,IAAI,GAAG,GAAG,QAAQ,IAAI,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACrE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACrD,CAAC,EAAE,CAAC,CAAC,CAAC;QACN,OAAO,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9C,CAAC;IAEO,sBAAsB,CAC5B,KAAmB,EACnB,MAAuB,EACvB,QAAkB;QAElB,MAAM,SAAS,GACb,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,GAAG;YACzB,CAAC,CAAC,QAAQ,MAAM,CAAC,KAAK,EAAE;YACxB,CAAC,CAAC,SAAS,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;QAE5C,IAAI,cAAc,GAAG,iBAAiB,SAAS,KAAK,MAAM,CAAC,IAAI,mBAAmB,CAAC;QAEnF,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC5B,cAAc,IAAI,2DAA2D,CAAC;QAChF,CAAC;aAAM,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC/B,cAAc,IAAI,oCAAoC,CAAC;QACzD,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,oBAAoB,CAAC,IAAmB;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACxE,kEAAkE;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3C,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,IAAmB;QAChD,IAAI,CAAC;YACH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBAC/C,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,GAAG,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE;oBAChE,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM;iBAC5B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB;QAC3B,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,GAAgB;QACzC,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEzE,6BAA6B;QAC7B,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC;QAC7B,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QACnD,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QACrD,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAEvD,mCAAmC;QACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjF,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QAExC,uCAAuC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7D,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;QACzD,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,GAAgB;QACrD,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAC/C,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,wBAAwB,CAC9B,GAAgB,EAChB,eAAqC;QAErC,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,KAAK,UAAU,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC;QAE1E,IAAI,WAAW,GAAG,kBAAkB,GAAG,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YAC3B,WAAW,IAAI,mBAAmB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,WAAW,IAAI,aAAa,GAAG,CAAC,KAAK,CAAC,MAAM,kBAAkB,CAAC;QACjE,CAAC;QAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC;YACjE,WAAW,IAAI,+DAA+D,CAAC;QACjF,CAAC;QAED,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,WAAW;YACX,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;YACxC,WAAW,EAAE,GAAG,CAAC,KAAK;YACtB,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;YACjD,YAAY,EAAE,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC;SACjD,CAAC;IACJ,CAAC;IAEO,wBAAwB,CAAC,GAAgB;QAC/C,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC;QAChF,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YACpC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;YACtD,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAEtB,OAAO,YAAY,UAAU,cAAc,QAAQ;;YAE3C,QAAQ;6CACyB,SAAS;2BAC3B,UAAU;;;mBAGlB,UAAU;;;;sDAIyB,SAAS;;;;;;;;;;;;;;;;;;;;EAoB7D,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;iCACK,GAAG,CAAC,QAAQ,CAAC,MAAM;EAClD,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,iCAAiC,CAAC,GAAG,CAAC,YAAY,MAAM;kDACxC,CAAC,GAAG,CAAC;;;;CAItD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;CACZ,CAAC,CAAC,CAAC,EAAE;IACF,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,GAAW;QAC7B,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5D,CAAC;IAEO,+BAA+B,CAAC,GAAgB;QACtD,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC;QAChF,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;QAEnC,OAAO,YAAY,UAAU,cAAc,QAAQ;;;YAG3C,QAAQ;;;;;;;;;;;;;;;sCAekB,SAAS;;;6BAGlB,UAAU;;;;;;;;;;;;;6BAaV,UAAU;;;;;;;;;;6BAUV,UAAU;;;;;;;;;;;qBAWlB,UAAU;;;;;;;;6BAQF,UAAU;;;;;;;;;;;qBAWlB,UAAU;;;;IAI3B,CAAC;IACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"gap-detector.js","sourceRoot":"","sources":["../../../../src/domains/coverage-analysis/services/gap-detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Agentic QE v3 - Defect Intelligence Coordinator
|
|
3
3
|
* Orchestrates the defect intelligence workflow across services
|
|
4
|
+
*
|
|
5
|
+
* V3 Integration:
|
|
6
|
+
* - ADR-047: MinCut Self-Organizing QE Integration for topology awareness
|
|
7
|
+
* - MM-001: Multi-Model Consensus for high-confidence defect predictions
|
|
4
8
|
*/
|
|
5
|
-
import { Result } from '../../shared/types';
|
|
9
|
+
import { Result, DomainName } from '../../shared/types';
|
|
6
10
|
import { EventBus, MemoryBackend, AgentCoordinator } from '../../kernel/interfaces';
|
|
7
11
|
import { DefectIntelligenceAPI, PredictRequest, PredictionResult, RootCauseRequest, RootCauseAnalysis, RegressionRequest, RegressionRisk, ClusterRequest, DefectClusters, LearnRequest, LearnedDefectPatterns } from './interfaces';
|
|
12
|
+
import { QueenMinCutBridge } from '../../coordination/mincut';
|
|
13
|
+
import { type ConsensusEnabledConfig } from '../../coordination/mixins/consensus-enabled-domain';
|
|
14
|
+
import { type DomainFinding, type ConsensusResult } from '../../coordination/consensus';
|
|
8
15
|
/**
|
|
9
16
|
* Interface for the defect intelligence coordinator
|
|
10
17
|
*/
|
|
@@ -12,6 +19,10 @@ export interface IDefectIntelligenceCoordinator extends DefectIntelligenceAPI {
|
|
|
12
19
|
initialize(): Promise<void>;
|
|
13
20
|
dispose(): Promise<void>;
|
|
14
21
|
getActiveWorkflows(): WorkflowStatus[];
|
|
22
|
+
setMinCutBridge(bridge: QueenMinCutBridge): void;
|
|
23
|
+
isTopologyHealthy(): boolean;
|
|
24
|
+
isDomainWeakPoint(): boolean;
|
|
25
|
+
getTopologyBasedRouting(targetDomains: DomainName[]): DomainName[];
|
|
15
26
|
}
|
|
16
27
|
/**
|
|
17
28
|
* Workflow status tracking
|
|
@@ -35,10 +46,20 @@ export interface CoordinatorConfig {
|
|
|
35
46
|
enablePatternLearning: boolean;
|
|
36
47
|
publishEvents: boolean;
|
|
37
48
|
autoAnalyzeThreshold: number;
|
|
49
|
+
enableMinCutAwareness: boolean;
|
|
50
|
+
topologyHealthThreshold: number;
|
|
51
|
+
pauseOnCriticalTopology: boolean;
|
|
52
|
+
enableConsensus: boolean;
|
|
53
|
+
consensusThreshold: number;
|
|
54
|
+
consensusConfig?: Partial<ConsensusEnabledConfig>;
|
|
38
55
|
}
|
|
39
56
|
/**
|
|
40
57
|
* Defect Intelligence Coordinator
|
|
41
58
|
* Orchestrates defect analysis workflows and coordinates with agents
|
|
59
|
+
*
|
|
60
|
+
* V3 Integration:
|
|
61
|
+
* - MinCut topology awareness for routing and health monitoring (ADR-047)
|
|
62
|
+
* - Multi-model consensus for high-confidence predictions (MM-001)
|
|
42
63
|
*/
|
|
43
64
|
export declare class DefectIntelligenceCoordinator implements IDefectIntelligenceCoordinator {
|
|
44
65
|
private readonly eventBus;
|
|
@@ -50,6 +71,8 @@ export declare class DefectIntelligenceCoordinator implements IDefectIntelligenc
|
|
|
50
71
|
private readonly rootCauseAnalyzer;
|
|
51
72
|
private readonly workflows;
|
|
52
73
|
private initialized;
|
|
74
|
+
private readonly minCutMixin;
|
|
75
|
+
private readonly consensusMixin;
|
|
53
76
|
constructor(eventBus: EventBus, memory: MemoryBackend, agentCoordinator: AgentCoordinator, config?: Partial<CoordinatorConfig>);
|
|
54
77
|
/**
|
|
55
78
|
* Initialize the coordinator
|
|
@@ -63,14 +86,70 @@ export declare class DefectIntelligenceCoordinator implements IDefectIntelligenc
|
|
|
63
86
|
* Get active workflow statuses
|
|
64
87
|
*/
|
|
65
88
|
getActiveWorkflows(): WorkflowStatus[];
|
|
89
|
+
/**
|
|
90
|
+
* Set the MinCut bridge for topology awareness
|
|
91
|
+
* Uses dependency injection pattern for testability
|
|
92
|
+
*/
|
|
93
|
+
setMinCutBridge(bridge: QueenMinCutBridge): void;
|
|
94
|
+
/**
|
|
95
|
+
* Check if the overall topology is healthy
|
|
96
|
+
* Returns true if status is not 'critical'
|
|
97
|
+
*/
|
|
98
|
+
isTopologyHealthy(): boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Check if this domain is a weak point in the topology
|
|
101
|
+
* Returns true if any weak vertex belongs to defect-intelligence
|
|
102
|
+
*/
|
|
103
|
+
isDomainWeakPoint(): boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Get routing candidates excluding weak domains
|
|
106
|
+
* Filters out domains that are currently weak points
|
|
107
|
+
*/
|
|
108
|
+
getTopologyBasedRouting(targetDomains: DomainName[]): DomainName[];
|
|
109
|
+
/**
|
|
110
|
+
* Get weak vertices in this domain (for diagnostics)
|
|
111
|
+
*/
|
|
112
|
+
getDomainWeakVertices(): import("../..").WeakVertex[];
|
|
113
|
+
/**
|
|
114
|
+
* Subscribe to topology health changes
|
|
115
|
+
*/
|
|
116
|
+
onTopologyHealthChange(callback: (health: any) => void): () => void;
|
|
117
|
+
/**
|
|
118
|
+
* Check if a finding requires consensus verification
|
|
119
|
+
*/
|
|
120
|
+
requiresConsensus<T>(finding: DomainFinding<T>): boolean;
|
|
121
|
+
/**
|
|
122
|
+
* Verify a finding using multi-model consensus
|
|
123
|
+
*/
|
|
124
|
+
verifyFinding<T>(finding: DomainFinding<T>): Promise<Result<ConsensusResult, Error>>;
|
|
125
|
+
/**
|
|
126
|
+
* Get consensus statistics
|
|
127
|
+
*/
|
|
128
|
+
getConsensusStats(): import("../..").ConsensusStats | undefined;
|
|
66
129
|
/**
|
|
67
130
|
* Predict defects for given files
|
|
131
|
+
*
|
|
132
|
+
* V3 Integration: High-confidence predictions are verified using multi-model
|
|
133
|
+
* consensus to improve detection accuracy from ~27% to 75%+ (MM-001)
|
|
68
134
|
*/
|
|
69
135
|
predictDefects(request: PredictRequest): Promise<Result<PredictionResult, Error>>;
|
|
136
|
+
/**
|
|
137
|
+
* V3: Verify high-confidence predictions using multi-model consensus
|
|
138
|
+
* Improves detection accuracy from ~27% to 75%+ by requiring model agreement
|
|
139
|
+
*/
|
|
140
|
+
private verifyHighConfidencePredictions;
|
|
70
141
|
/**
|
|
71
142
|
* Analyze root cause of a defect
|
|
143
|
+
*
|
|
144
|
+
* V3 Integration: Root cause analysis is verified using multi-model consensus
|
|
145
|
+
* for high-confidence results to ensure accuracy (MM-001)
|
|
72
146
|
*/
|
|
73
147
|
analyzeRootCause(request: RootCauseRequest): Promise<Result<RootCauseAnalysis, Error>>;
|
|
148
|
+
/**
|
|
149
|
+
* V3: Verify root cause analysis using multi-model consensus
|
|
150
|
+
* Root cause identification is critical - verify with multiple models
|
|
151
|
+
*/
|
|
152
|
+
private verifyRootCauseAnalysis;
|
|
74
153
|
/**
|
|
75
154
|
* Analyze regression risk for a changeset
|
|
76
155
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../../src/domains/defect-intelligence/coordinator.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../../src/domains/defect-intelligence/coordinator.ts"],"names":[],"mappings":"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"}
|