agentic-qe 2.6.5 → 2.6.6

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 (146) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/README.md +1 -1
  3. package/dist/agents/CoverageAnalyzerAgent.d.ts +31 -0
  4. package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
  5. package/dist/agents/CoverageAnalyzerAgent.js +159 -0
  6. package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
  7. package/dist/agents/FleetCommanderAgent.d.ts +36 -0
  8. package/dist/agents/FleetCommanderAgent.d.ts.map +1 -1
  9. package/dist/agents/FleetCommanderAgent.js +226 -0
  10. package/dist/agents/FleetCommanderAgent.js.map +1 -1
  11. package/dist/cli/commands/kg/mincut.d.ts +50 -0
  12. package/dist/cli/commands/kg/mincut.d.ts.map +1 -0
  13. package/dist/cli/commands/kg/mincut.js +372 -0
  14. package/dist/cli/commands/kg/mincut.js.map +1 -0
  15. package/dist/cli/index.js +91 -0
  16. package/dist/cli/index.js.map +1 -1
  17. package/dist/cli/init/claude-config.js +2 -2
  18. package/dist/code-intelligence/analysis/mincut/CircularDependencyDetector.d.ts +148 -0
  19. package/dist/code-intelligence/analysis/mincut/CircularDependencyDetector.d.ts.map +1 -0
  20. package/dist/code-intelligence/analysis/mincut/CircularDependencyDetector.js +393 -0
  21. package/dist/code-intelligence/analysis/mincut/CircularDependencyDetector.js.map +1 -0
  22. package/dist/code-intelligence/analysis/mincut/GraphAdapter.d.ts +169 -0
  23. package/dist/code-intelligence/analysis/mincut/GraphAdapter.d.ts.map +1 -0
  24. package/dist/code-intelligence/analysis/mincut/GraphAdapter.js +335 -0
  25. package/dist/code-intelligence/analysis/mincut/GraphAdapter.js.map +1 -0
  26. package/dist/code-intelligence/analysis/mincut/JsMinCut.d.ts +55 -0
  27. package/dist/code-intelligence/analysis/mincut/JsMinCut.d.ts.map +1 -0
  28. package/dist/code-intelligence/analysis/mincut/JsMinCut.js +265 -0
  29. package/dist/code-intelligence/analysis/mincut/JsMinCut.js.map +1 -0
  30. package/dist/code-intelligence/analysis/mincut/MinCutAnalyzer.d.ts +92 -0
  31. package/dist/code-intelligence/analysis/mincut/MinCutAnalyzer.d.ts.map +1 -0
  32. package/dist/code-intelligence/analysis/mincut/MinCutAnalyzer.js +200 -0
  33. package/dist/code-intelligence/analysis/mincut/MinCutAnalyzer.js.map +1 -0
  34. package/dist/code-intelligence/analysis/mincut/ModuleCouplingAnalyzer.d.ts +157 -0
  35. package/dist/code-intelligence/analysis/mincut/ModuleCouplingAnalyzer.d.ts.map +1 -0
  36. package/dist/code-intelligence/analysis/mincut/ModuleCouplingAnalyzer.js +434 -0
  37. package/dist/code-intelligence/analysis/mincut/ModuleCouplingAnalyzer.js.map +1 -0
  38. package/dist/code-intelligence/analysis/mincut/index.d.ts +12 -0
  39. package/dist/code-intelligence/analysis/mincut/index.d.ts.map +1 -0
  40. package/dist/code-intelligence/analysis/mincut/index.js +20 -0
  41. package/dist/code-intelligence/analysis/mincut/index.js.map +1 -0
  42. package/dist/code-intelligence/analysis/mincut/types.d.ts +145 -0
  43. package/dist/code-intelligence/analysis/mincut/types.d.ts.map +1 -0
  44. package/dist/code-intelligence/analysis/mincut/types.js +16 -0
  45. package/dist/code-intelligence/analysis/mincut/types.js.map +1 -0
  46. package/dist/code-intelligence/chunking/ASTChunker.d.ts +1 -1
  47. package/dist/code-intelligence/chunking/ASTChunker.d.ts.map +1 -1
  48. package/dist/code-intelligence/chunking/ASTChunker.js +4 -4
  49. package/dist/code-intelligence/chunking/ASTChunker.js.map +1 -1
  50. package/dist/code-intelligence/graph/GraphBuilder.d.ts +120 -0
  51. package/dist/code-intelligence/graph/GraphBuilder.d.ts.map +1 -1
  52. package/dist/code-intelligence/graph/GraphBuilder.js +517 -0
  53. package/dist/code-intelligence/graph/GraphBuilder.js.map +1 -1
  54. package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.d.ts.map +1 -1
  55. package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.js +3 -3
  56. package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.js.map +1 -1
  57. package/dist/code-intelligence/parser/{TreeSitterParser.d.ts → WebTreeSitterParser.d.ts} +45 -10
  58. package/dist/code-intelligence/parser/WebTreeSitterParser.d.ts.map +1 -0
  59. package/dist/code-intelligence/parser/{TreeSitterParser.js → WebTreeSitterParser.js} +147 -54
  60. package/dist/code-intelligence/parser/WebTreeSitterParser.js.map +1 -0
  61. package/dist/code-intelligence/parser/extractors/BaseExtractor.d.ts +12 -10
  62. package/dist/code-intelligence/parser/extractors/BaseExtractor.d.ts.map +1 -1
  63. package/dist/code-intelligence/parser/extractors/BaseExtractor.js +7 -3
  64. package/dist/code-intelligence/parser/extractors/BaseExtractor.js.map +1 -1
  65. package/dist/code-intelligence/parser/extractors/GoExtractor.d.ts +7 -5
  66. package/dist/code-intelligence/parser/extractors/GoExtractor.d.ts.map +1 -1
  67. package/dist/code-intelligence/parser/extractors/GoExtractor.js +2 -2
  68. package/dist/code-intelligence/parser/extractors/GoExtractor.js.map +1 -1
  69. package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.d.ts +7 -5
  70. package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.d.ts.map +1 -1
  71. package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.js +2 -2
  72. package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.js.map +1 -1
  73. package/dist/code-intelligence/parser/extractors/PythonExtractor.d.ts +7 -5
  74. package/dist/code-intelligence/parser/extractors/PythonExtractor.d.ts.map +1 -1
  75. package/dist/code-intelligence/parser/extractors/PythonExtractor.js +2 -2
  76. package/dist/code-intelligence/parser/extractors/PythonExtractor.js.map +1 -1
  77. package/dist/code-intelligence/parser/extractors/RustExtractor.d.ts +7 -5
  78. package/dist/code-intelligence/parser/extractors/RustExtractor.d.ts.map +1 -1
  79. package/dist/code-intelligence/parser/extractors/RustExtractor.js +2 -2
  80. package/dist/code-intelligence/parser/extractors/RustExtractor.js.map +1 -1
  81. package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.d.ts +7 -5
  82. package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.d.ts.map +1 -1
  83. package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.js +2 -2
  84. package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.js.map +1 -1
  85. package/dist/code-intelligence/parser/index.d.ts +7 -1
  86. package/dist/code-intelligence/parser/index.d.ts.map +1 -1
  87. package/dist/code-intelligence/parser/index.js +11 -3
  88. package/dist/code-intelligence/parser/index.js.map +1 -1
  89. package/dist/code-intelligence/service/CodeIntelligenceService.d.ts.map +1 -1
  90. package/dist/code-intelligence/service/CodeIntelligenceService.js +7 -5
  91. package/dist/code-intelligence/service/CodeIntelligenceService.js.map +1 -1
  92. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  93. package/dist/coverage/CriticalPathDetector.d.ts +240 -0
  94. package/dist/coverage/CriticalPathDetector.d.ts.map +1 -0
  95. package/dist/coverage/CriticalPathDetector.js +388 -0
  96. package/dist/coverage/CriticalPathDetector.js.map +1 -0
  97. package/dist/coverage/index.d.ts +13 -0
  98. package/dist/coverage/index.d.ts.map +1 -0
  99. package/dist/coverage/index.js +16 -0
  100. package/dist/coverage/index.js.map +1 -0
  101. package/dist/fleet/topology/SPOFMonitor.d.ts +181 -0
  102. package/dist/fleet/topology/SPOFMonitor.d.ts.map +1 -0
  103. package/dist/fleet/topology/SPOFMonitor.js +286 -0
  104. package/dist/fleet/topology/SPOFMonitor.js.map +1 -0
  105. package/dist/fleet/topology/TopologyMinCutAnalyzer.d.ts +87 -0
  106. package/dist/fleet/topology/TopologyMinCutAnalyzer.d.ts.map +1 -0
  107. package/dist/fleet/topology/TopologyMinCutAnalyzer.js +472 -0
  108. package/dist/fleet/topology/TopologyMinCutAnalyzer.js.map +1 -0
  109. package/dist/fleet/topology/index.d.ts +13 -0
  110. package/dist/fleet/topology/index.d.ts.map +1 -0
  111. package/dist/fleet/topology/index.js +20 -0
  112. package/dist/fleet/topology/index.js.map +1 -0
  113. package/dist/fleet/topology/types.d.ts +139 -0
  114. package/dist/fleet/topology/types.d.ts.map +1 -0
  115. package/dist/fleet/topology/types.js +19 -0
  116. package/dist/fleet/topology/types.js.map +1 -0
  117. package/dist/mcp/handlers/test/test-execute-parallel.d.ts +34 -3
  118. package/dist/mcp/handlers/test/test-execute-parallel.d.ts.map +1 -1
  119. package/dist/mcp/handlers/test/test-execute-parallel.js +120 -5
  120. package/dist/mcp/handlers/test/test-execute-parallel.js.map +1 -1
  121. package/dist/mcp/server-instructions.d.ts +2 -2
  122. package/dist/mcp/server-instructions.d.ts.map +1 -1
  123. package/dist/mcp/server-instructions.js +2 -2
  124. package/dist/test/partition/MinCutPartitioner.d.ts +97 -0
  125. package/dist/test/partition/MinCutPartitioner.d.ts.map +1 -0
  126. package/dist/test/partition/MinCutPartitioner.js +459 -0
  127. package/dist/test/partition/MinCutPartitioner.js.map +1 -0
  128. package/dist/test/partition/RealTestExecutor.d.ts +86 -0
  129. package/dist/test/partition/RealTestExecutor.d.ts.map +1 -0
  130. package/dist/test/partition/RealTestExecutor.js +279 -0
  131. package/dist/test/partition/RealTestExecutor.js.map +1 -0
  132. package/dist/test/partition/TestDependencyAnalyzer.d.ts +75 -0
  133. package/dist/test/partition/TestDependencyAnalyzer.d.ts.map +1 -0
  134. package/dist/test/partition/TestDependencyAnalyzer.js +297 -0
  135. package/dist/test/partition/TestDependencyAnalyzer.js.map +1 -0
  136. package/dist/test/partition/index.d.ts +10 -0
  137. package/dist/test/partition/index.d.ts.map +1 -0
  138. package/dist/test/partition/index.js +26 -0
  139. package/dist/test/partition/index.js.map +1 -0
  140. package/dist/test/partition/types.d.ts +120 -0
  141. package/dist/test/partition/types.d.ts.map +1 -0
  142. package/dist/test/partition/types.js +21 -0
  143. package/dist/test/partition/types.js.map +1 -0
  144. package/package.json +4 -7
  145. package/dist/code-intelligence/parser/TreeSitterParser.d.ts.map +0 -1
  146. package/dist/code-intelligence/parser/TreeSitterParser.js.map +0 -1
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Fleet Topology Types
3
+ *
4
+ * Types for fleet topology analysis, SPOF detection, and resilience scoring.
5
+ */
6
+ /**
7
+ * Topology mode configuration
8
+ */
9
+ export type TopologyMode = 'hierarchical' | 'mesh' | 'hybrid' | 'adaptive';
10
+ /**
11
+ * An agent node in the fleet topology graph
12
+ */
13
+ export interface TopologyNode {
14
+ /** Unique agent identifier */
15
+ id: string;
16
+ /** Agent type (e.g., 'test-generator', 'coverage-analyzer') */
17
+ type: string;
18
+ /** Node role in the topology (coordinator, worker, observer) */
19
+ role: 'coordinator' | 'worker' | 'observer';
20
+ /** Current agent status */
21
+ status: 'active' | 'idle' | 'busy' | 'failed';
22
+ /** Priority level for resource allocation */
23
+ priority: 'low' | 'medium' | 'high' | 'critical';
24
+ /** Additional node metadata */
25
+ metadata?: Record<string, unknown>;
26
+ }
27
+ /**
28
+ * A connection (edge) between agents in the topology
29
+ */
30
+ export interface TopologyEdge {
31
+ /** Unique edge identifier */
32
+ id: string;
33
+ /** Source agent ID */
34
+ sourceId: string;
35
+ /** Target agent ID */
36
+ targetId: string;
37
+ /** Connection type */
38
+ connectionType: 'command' | 'data' | 'heartbeat' | 'coordination';
39
+ /** Connection strength/weight (1.0 = strong, 0.1 = weak) */
40
+ weight: number;
41
+ /** Whether this is a bidirectional connection */
42
+ bidirectional: boolean;
43
+ }
44
+ /**
45
+ * Complete fleet topology representation
46
+ */
47
+ export interface FleetTopology {
48
+ /** All agent nodes in the topology */
49
+ nodes: TopologyNode[];
50
+ /** All connections between agents */
51
+ edges: TopologyEdge[];
52
+ /** Current topology mode */
53
+ mode: TopologyMode;
54
+ /** Timestamp when topology was last updated */
55
+ lastUpdated: Date;
56
+ }
57
+ /**
58
+ * Result of Single Point of Failure (SPOF) analysis
59
+ */
60
+ export interface SPOFResult {
61
+ /** Agent ID that represents a SPOF */
62
+ agentId: string;
63
+ /** Agent type */
64
+ agentType: string;
65
+ /** SPOF severity (critical = removing this agent disconnects the fleet) */
66
+ severity: 'low' | 'medium' | 'high' | 'critical';
67
+ /** How many agents would be disconnected if this SPOF fails */
68
+ affectedAgents: number;
69
+ /** Percentage of fleet that would be affected */
70
+ impactPercentage: number;
71
+ /** List of agent IDs that would be disconnected */
72
+ disconnectedAgents: string[];
73
+ /** Recommendations for mitigating this SPOF */
74
+ recommendations: string[];
75
+ }
76
+ /**
77
+ * Result of topology resilience analysis
78
+ */
79
+ export interface ResilienceResult {
80
+ /** Overall resilience score (0-1, higher is more resilient) */
81
+ score: number;
82
+ /** Minimum cut value (edge connectivity) */
83
+ minCutValue: number;
84
+ /** Average path redundancy (number of alternative paths between nodes) */
85
+ avgPathRedundancy: number;
86
+ /** All detected SPOFs */
87
+ spofs: SPOFResult[];
88
+ /** Critical SPOFs that require immediate attention */
89
+ criticalSpofs: SPOFResult[];
90
+ /** Topology partitions if SPOF nodes are removed */
91
+ vulnerablePartitions: string[][];
92
+ /** Overall topology health grade (A-F) */
93
+ grade: 'A' | 'B' | 'C' | 'D' | 'F';
94
+ /** Detailed recommendations for improving resilience */
95
+ recommendations: string[];
96
+ /** Computation time in milliseconds */
97
+ computationTimeMs: number;
98
+ }
99
+ /**
100
+ * Configuration for topology analysis
101
+ */
102
+ export interface TopologyAnalysisConfig {
103
+ /** Minimum resilience score threshold (0-1) */
104
+ minResilienceScore?: number;
105
+ /** Maximum acceptable number of critical SPOFs */
106
+ maxCriticalSpofs?: number;
107
+ /** Whether to analyze all potential SPOFs or just critical ones */
108
+ analyzeAllSpofs?: boolean;
109
+ /** Connection types to include in analysis */
110
+ connectionTypes?: TopologyEdge['connectionType'][];
111
+ /** Timeout for analysis in milliseconds */
112
+ timeout?: number;
113
+ }
114
+ /**
115
+ * Default configuration for topology analysis
116
+ */
117
+ export declare const DEFAULT_TOPOLOGY_ANALYSIS_CONFIG: Required<TopologyAnalysisConfig>;
118
+ /**
119
+ * Topology optimization suggestion
120
+ */
121
+ export interface TopologyOptimization {
122
+ /** Type of optimization */
123
+ type: 'add-edge' | 'remove-edge' | 'add-node' | 'restructure';
124
+ /** Description of the optimization */
125
+ description: string;
126
+ /** Expected improvement in resilience score */
127
+ expectedImprovement: number;
128
+ /** Effort required to implement */
129
+ effort: 'low' | 'medium' | 'high';
130
+ /** Priority of this optimization */
131
+ priority: 'low' | 'medium' | 'high' | 'critical';
132
+ /** Specific implementation details */
133
+ implementation?: {
134
+ sourceId?: string;
135
+ targetId?: string;
136
+ connectionType?: TopologyEdge['connectionType'];
137
+ };
138
+ }
139
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/fleet/topology/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ /**
3
+ * Fleet Topology Types
4
+ *
5
+ * Types for fleet topology analysis, SPOF detection, and resilience scoring.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.DEFAULT_TOPOLOGY_ANALYSIS_CONFIG = void 0;
9
+ /**
10
+ * Default configuration for topology analysis
11
+ */
12
+ exports.DEFAULT_TOPOLOGY_ANALYSIS_CONFIG = {
13
+ minResilienceScore: 0.6,
14
+ maxCriticalSpofs: 0,
15
+ analyzeAllSpofs: true,
16
+ connectionTypes: ['command', 'data', 'heartbeat', 'coordination'],
17
+ timeout: 30000,
18
+ };
19
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/fleet/topology/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAqHH;;GAEG;AACU,QAAA,gCAAgC,GAAqC;IAChF,kBAAkB,EAAE,GAAG;IACvB,gBAAgB,EAAE,CAAC;IACnB,eAAe,EAAE,IAAI;IACrB,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC;IACjE,OAAO,EAAE,KAAK;CACf,CAAC"}
@@ -4,13 +4,14 @@
4
4
  * Features:
5
5
  * - Parallel execution with worker pools
6
6
  * - Retry logic for flaky tests
7
- * - Load balancing across workers
7
+ * - Load balancing across workers (including MinCut optimization)
8
8
  * - Timeout handling
9
9
  * - Result aggregation
10
10
  *
11
- * @version 1.0.0
11
+ * @version 2.0.0 - Added MinCut-based test partitioning
12
12
  */
13
13
  import { BaseHandler, HandlerResponse } from '../base-handler';
14
+ import { PartitionResult } from '../../../test/partition/index.js';
14
15
  export interface TestExecuteParallelArgs {
15
16
  testFiles: string[];
16
17
  parallelism?: number;
@@ -19,19 +20,49 @@ export interface TestExecuteParallelArgs {
19
20
  maxRetries?: number;
20
21
  retryDelay?: number;
21
22
  continueOnFailure?: boolean;
22
- loadBalancing?: 'round-robin' | 'least-loaded' | 'random';
23
+ /** Load balancing strategy. 'mincut' uses MinCut algorithm to minimize cross-partition dependencies */
24
+ loadBalancing?: 'round-robin' | 'least-loaded' | 'random' | 'mincut';
23
25
  collectCoverage?: boolean;
26
+ /** Test metadata for MinCut partitioning (optional, will be inferred if not provided) */
27
+ testMetadata?: Map<string, TestFileMetadata>;
28
+ }
29
+ /** Metadata for MinCut-based partitioning */
30
+ export interface TestFileMetadata {
31
+ estimatedDuration?: number;
32
+ dependencies?: string[];
33
+ flakinessScore?: number;
34
+ priority?: 'low' | 'medium' | 'high' | 'critical';
35
+ tags?: string[];
24
36
  }
25
37
  export declare class TestExecuteParallelHandler extends BaseHandler {
26
38
  private workerPool;
27
39
  private executionQueue;
40
+ private partitioner;
41
+ private lastPartitionResult;
28
42
  constructor();
43
+ /**
44
+ * Get the last partition result (for analysis/debugging)
45
+ */
46
+ getLastPartitionResult(): PartitionResult | null;
29
47
  handle(args: TestExecuteParallelArgs): Promise<HandlerResponse>;
30
48
  private initializeWorkerPool;
31
49
  private executeTestsParallel;
32
50
  private executeTestBatch;
33
51
  private executeTest;
34
52
  private distributeTests;
53
+ /**
54
+ * Distribute tests using MinCut algorithm to minimize cross-partition dependencies
55
+ */
56
+ private distributeTestsWithMinCut;
57
+ /**
58
+ * Infer dependencies from test file path (heuristic)
59
+ * Tests in the same directory are likely to share fixtures
60
+ */
61
+ private inferDependencies;
62
+ /**
63
+ * Infer tags from test file path
64
+ */
65
+ private inferTags;
35
66
  private aggregateResults;
36
67
  private getWorkerStats;
37
68
  private collectRetryInfo;
@@ -1 +1 @@
1
- {"version":3,"file":"test-execute-parallel.d.ts","sourceRoot":"","sources":["../../../../src/mcp/handlers/test/test-execute-parallel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAG/D,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,aAAa,GAAG,cAAc,GAAG,QAAQ,CAAC;IAC1D,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,qBAAa,0BAA2B,SAAQ,WAAW;IACzD,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,cAAc,CAAa;;IAO7B,MAAM,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC;IAyCrE,OAAO,CAAC,oBAAoB;YAKd,oBAAoB;YAsBpB,gBAAgB;YA6ChB,WAAW;IAgBzB,OAAO,CAAC,eAAe;IAgCvB,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,gBAAgB;CASzB"}
1
+ {"version":3,"file":"test-execute-parallel.d.ts","sourceRoot":"","sources":["../../../../src/mcp/handlers/test/test-execute-parallel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE/D,OAAO,EAA+B,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEhG,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uGAAuG;IACvG,aAAa,CAAC,EAAE,aAAa,GAAG,cAAc,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACrE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,yFAAyF;IACzF,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC9C;AAED,6CAA6C;AAC7C,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IAClD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,qBAAa,0BAA2B,SAAQ,WAAW;IACzD,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,mBAAmB,CAAgC;;IAO3D;;OAEG;IACH,sBAAsB,IAAI,eAAe,GAAG,IAAI;IAI1C,MAAM,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC;IAyCrE,OAAO,CAAC,oBAAoB;YAKd,oBAAoB;YA4BpB,gBAAgB;YA6ChB,WAAW;IAgBzB,OAAO,CAAC,eAAe;IAkCvB;;OAEG;YACW,yBAAyB;IAkDvC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;IACH,OAAO,CAAC,SAAS;IAkBjB,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,gBAAgB;CASzB"}
@@ -5,23 +5,32 @@
5
5
  * Features:
6
6
  * - Parallel execution with worker pools
7
7
  * - Retry logic for flaky tests
8
- * - Load balancing across workers
8
+ * - Load balancing across workers (including MinCut optimization)
9
9
  * - Timeout handling
10
10
  * - Result aggregation
11
11
  *
12
- * @version 1.0.0
12
+ * @version 2.0.0 - Added MinCut-based test partitioning
13
13
  */
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.TestExecuteParallelHandler = void 0;
16
16
  const base_handler_1 = require("../base-handler");
17
17
  const SecureRandom_js_1 = require("../../../utils/SecureRandom.js");
18
+ const index_js_1 = require("../../../test/partition/index.js");
18
19
  class TestExecuteParallelHandler extends base_handler_1.BaseHandler {
19
20
  constructor() {
20
21
  super();
21
22
  this.workerPool = [];
22
23
  this.executionQueue = [];
24
+ this.partitioner = null;
25
+ this.lastPartitionResult = null;
23
26
  this.initializeWorkerPool();
24
27
  }
28
+ /**
29
+ * Get the last partition result (for analysis/debugging)
30
+ */
31
+ getLastPartitionResult() {
32
+ return this.lastPartitionResult;
33
+ }
25
34
  async handle(args) {
26
35
  return this.safeHandle(async () => {
27
36
  const requestId = this.generateRequestId();
@@ -62,8 +71,15 @@ class TestExecuteParallelHandler extends base_handler_1.BaseHandler {
62
71
  async executeTestsParallel(args) {
63
72
  const parallelism = args.parallelism || 1;
64
73
  const results = [];
65
- // Distribute tests across workers
66
- const batches = this.distributeTests(args.testFiles, parallelism, args.loadBalancing || 'round-robin');
74
+ const strategy = args.loadBalancing || 'round-robin';
75
+ // Distribute tests across workers - use MinCut if requested
76
+ let batches;
77
+ if (strategy === 'mincut') {
78
+ batches = await this.distributeTestsWithMinCut(args.testFiles, parallelism, args.testMetadata);
79
+ }
80
+ else {
81
+ batches = this.distributeTests(args.testFiles, parallelism, strategy);
82
+ }
67
83
  // Execute batches in parallel
68
84
  const batchPromises = batches.map(async (batch, workerIndex) => {
69
85
  return this.executeTestBatch(batch, workerIndex, args);
@@ -149,9 +165,96 @@ class TestExecuteParallelHandler extends base_handler_1.BaseHandler {
149
165
  batches[randomIndex].push(file);
150
166
  });
151
167
  break;
168
+ // Note: 'mincut' is handled by distributeTestsWithMinCut, not here
152
169
  }
153
170
  return batches;
154
171
  }
172
+ /**
173
+ * Distribute tests using MinCut algorithm to minimize cross-partition dependencies
174
+ */
175
+ async distributeTestsWithMinCut(testFiles, parallelism, metadata) {
176
+ // Convert test files to TestFile format for partitioner
177
+ const tests = testFiles.map(path => {
178
+ const meta = metadata?.get(path);
179
+ return {
180
+ path,
181
+ estimatedDuration: meta?.estimatedDuration ?? 100, // Default 100ms
182
+ dependencies: meta?.dependencies ?? this.inferDependencies(path, testFiles),
183
+ dependents: [], // Will be computed by analyzing reverse dependencies
184
+ flakinessScore: meta?.flakinessScore ?? 0,
185
+ priority: meta?.priority ?? 'medium',
186
+ tags: meta?.tags ?? this.inferTags(path),
187
+ };
188
+ });
189
+ // Compute dependents (reverse dependencies)
190
+ for (const test of tests) {
191
+ for (const dep of test.dependencies) {
192
+ const dependentTest = tests.find(t => t.path === dep);
193
+ if (dependentTest) {
194
+ dependentTest.dependents.push(test.path);
195
+ }
196
+ }
197
+ }
198
+ // Initialize partitioner if needed
199
+ if (!this.partitioner || this.partitioner.getConfig().partitionCount !== parallelism) {
200
+ this.partitioner = new index_js_1.MinCutPartitioner({ partitionCount: parallelism });
201
+ }
202
+ // Run partitioning
203
+ const result = await this.partitioner.partition(tests);
204
+ this.lastPartitionResult = result;
205
+ this.log('info', `MinCut partitioning completed`, {
206
+ algorithm: result.algorithm,
207
+ crossPartitionDeps: result.totalCrossPartitionDeps,
208
+ loadBalanceScore: result.loadBalanceScore.toFixed(2),
209
+ estimatedSpeedup: result.estimatedSpeedup.toFixed(2),
210
+ computationTimeMs: result.computationTimeMs.toFixed(2),
211
+ });
212
+ // Convert partitions back to string arrays
213
+ return result.partitions.map(p => p.tests.map(t => t.path));
214
+ }
215
+ /**
216
+ * Infer dependencies from test file path (heuristic)
217
+ * Tests in the same directory are likely to share fixtures
218
+ */
219
+ inferDependencies(testPath, allTests) {
220
+ const dir = testPath.substring(0, testPath.lastIndexOf('/'));
221
+ const deps = [];
222
+ for (const other of allTests) {
223
+ if (other !== testPath) {
224
+ const otherDir = other.substring(0, other.lastIndexOf('/'));
225
+ // Tests in same directory likely share fixtures/setup
226
+ if (dir === otherDir && Math.random() < 0.3) {
227
+ deps.push(other);
228
+ }
229
+ }
230
+ }
231
+ return deps;
232
+ }
233
+ /**
234
+ * Infer tags from test file path
235
+ */
236
+ inferTags(testPath) {
237
+ const tags = [];
238
+ const pathParts = testPath.toLowerCase().split('/');
239
+ // Extract module/feature names from path
240
+ for (const part of pathParts) {
241
+ if (part.includes('unit'))
242
+ tags.push('unit');
243
+ if (part.includes('integration'))
244
+ tags.push('integration');
245
+ if (part.includes('e2e'))
246
+ tags.push('e2e');
247
+ if (part.includes('api'))
248
+ tags.push('api');
249
+ if (part.includes('ui'))
250
+ tags.push('ui');
251
+ if (part.includes('auth'))
252
+ tags.push('auth');
253
+ if (part.includes('db') || part.includes('database'))
254
+ tags.push('database');
255
+ }
256
+ return tags;
257
+ }
155
258
  aggregateResults(results) {
156
259
  const total = results.length;
157
260
  const passed = results.filter(r => r.passed).length;
@@ -167,11 +270,23 @@ class TestExecuteParallelHandler extends base_handler_1.BaseHandler {
167
270
  };
168
271
  }
169
272
  getWorkerStats(parallelism) {
170
- return {
273
+ const stats = {
171
274
  totalWorkers: parallelism,
172
275
  efficiency: Math.round(75 + SecureRandom_js_1.SecureRandom.randomFloat() * 20), // Simulate 75-95% efficiency
173
276
  loadBalance: 'balanced'
174
277
  };
278
+ // Add MinCut partition stats if available
279
+ if (this.lastPartitionResult) {
280
+ stats.partitioning = {
281
+ algorithm: this.lastPartitionResult.algorithm,
282
+ crossPartitionDeps: this.lastPartitionResult.totalCrossPartitionDeps,
283
+ loadBalanceScore: this.lastPartitionResult.loadBalanceScore,
284
+ estimatedSpeedup: this.lastPartitionResult.estimatedSpeedup,
285
+ computationTimeMs: this.lastPartitionResult.computationTimeMs,
286
+ minCutValue: this.lastPartitionResult.minCutValue,
287
+ };
288
+ }
289
+ return stats;
175
290
  }
176
291
  collectRetryInfo(results) {
177
292
  const retriedTests = results.filter(r => r.attempts > 1);
@@ -1 +1 @@
1
- {"version":3,"file":"test-execute-parallel.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/test/test-execute-parallel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-execute-parallel.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/test/test-execute-parallel.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,9 @@
4
4
  *
5
5
  * These instructions are shown to Claude once per session to guide tool usage.
6
6
  */
7
- export declare const SERVER_INSTRUCTIONS = "\n# Agentic QE Fleet - MCP Tool Guide\n\n## Overview\nAgentic QE provides 96 specialized quality engineering tools organized into a hierarchical system for efficient context usage.\n\n## Quick Start\n1. **Discover available tools:** Use `tools_discover` to see all domains\n2. **Load domain tools:** Use `tools_load_domain` to load specialized tools\n3. **Auto-loading:** Domain tools auto-load when relevant keywords are detected\n\n---\n\n## Core Tools (Always Available - 14 tools)\n\n### Fleet Management\n- `fleet_init` - Initialize QE fleet with topology\n- `agent_spawn` - Spawn specialized QE agent\n- `fleet_status` - Get fleet and agent status\n\n### Testing\n- `test_generate_enhanced` - AI test generation with pattern recognition\n- `test_execute_parallel` - Parallel test execution with retry\n- `test_report_comprehensive` - Multi-format test reports\n\n### Memory & Coordination\n- `memory_store` - Store data with TTL & namespacing\n- `memory_retrieve` - Retrieve stored data\n- `memory_query` - Pattern-based memory search\n\n### Quality & Orchestration\n- `quality_analyze` - Analyze quality metrics\n- `task_orchestrate` - Orchestrate tasks across agents\n- `task_status` - Check task progress\n\n### Discovery\n- `tools_discover` - List available tool domains\n- `tools_load_domain` - Load tools for a domain\n\n---\n\n## Domain Tools (Load as Needed)\n\n| Domain | Keywords | Tools | Use Case |\n|--------|----------|-------|----------|\n| **Security** | security, vulnerability, audit, owasp | 4 tools | Security scanning, vulnerability detection |\n| **Performance** | benchmark, bottleneck, profiling | 4 tools | Performance testing, bottleneck analysis |\n| **Coverage** | coverage, gap, uncovered | 5 tools | Coverage analysis, gap detection |\n| **Quality** | quality gate, deploy, release | 6 tools | Quality gates, deployment readiness |\n| **Flaky** | flaky, unstable, retry | 3 tools | Flaky test detection and stabilization |\n| **Visual** | screenshot, accessibility, wcag | 3 tools | Visual regression, accessibility testing |\n| **Requirements** | bdd, gherkin, acceptance | 2 tools | Requirements validation, BDD generation |\n\n### Loading Domain Tools\n```\n# Explicit load\ntools_load_domain({ domain: 'security' })\n\n# Auto-load: Just mention keywords in your request\n\"I need to run a security scan\" \u2192 Security tools auto-load\n```\n\n---\n\n## Specialized Tools (Expert Use)\n\n### Learning Domain (4 tools)\nFor persistent learning and pattern storage across sessions.\nLoad with: `tools_load_domain({ domain: 'learning' })`\n\n### Advanced Domain (7 tools)\nFor mutation testing, API contract validation, production incident replay.\nLoad with: `tools_load_domain({ domain: 'advanced' })`\n\n---\n\n## Best Practices\n\n1. **Start with core tools** - They handle 80% of use cases\n2. **Let auto-load work** - Mention keywords naturally\n3. **Use tools_discover** - When unsure what's available\n4. **Batch operations** - Use parallel execution for speed\n5. **Check fleet_status** - Monitor agent health\n\n---\n\n## Common Workflows\n\n### Test Generation & Execution\n1. `test_generate_enhanced` - Generate tests\n2. `test_execute_parallel` - Run tests\n3. `test_report_comprehensive` - Generate report\n\n### Quality Gate Check\n1. Load quality domain if not auto-loaded\n2. `quality_analyze` - Analyze metrics\n3. `qe_qualitygate_evaluate` - Make go/no-go decision\n\n### Security Audit\n1. `tools_load_domain({ domain: 'security' })`\n2. `qe_security_scan_comprehensive` - Full scan\n3. `qe_security_detect_vulnerabilities` - Detailed analysis\n\n---\n\n## Tool Naming Convention\nAll tools follow: `mcp__agentic_qe__<tool_name>`\n\nExample: `mcp__agentic_qe__test_generate_enhanced`\n";
7
+ export declare const SERVER_INSTRUCTIONS = "\n# Agentic QE Fleet - MCP Tool Guide\n\n## Overview\nAgentic QE provides 105 specialized quality engineering tools organized into a hierarchical system for efficient context usage.\n\n## Quick Start\n1. **Discover available tools:** Use `tools_discover` to see all domains\n2. **Load domain tools:** Use `tools_load_domain` to load specialized tools\n3. **Auto-loading:** Domain tools auto-load when relevant keywords are detected\n\n---\n\n## Core Tools (Always Available - 14 tools)\n\n### Fleet Management\n- `fleet_init` - Initialize QE fleet with topology\n- `agent_spawn` - Spawn specialized QE agent\n- `fleet_status` - Get fleet and agent status\n\n### Testing\n- `test_generate_enhanced` - AI test generation with pattern recognition\n- `test_execute_parallel` - Parallel test execution with retry\n- `test_report_comprehensive` - Multi-format test reports\n\n### Memory & Coordination\n- `memory_store` - Store data with TTL & namespacing\n- `memory_retrieve` - Retrieve stored data\n- `memory_query` - Pattern-based memory search\n\n### Quality & Orchestration\n- `quality_analyze` - Analyze quality metrics\n- `task_orchestrate` - Orchestrate tasks across agents\n- `task_status` - Check task progress\n\n### Discovery\n- `tools_discover` - List available tool domains\n- `tools_load_domain` - Load tools for a domain\n\n---\n\n## Domain Tools (Load as Needed)\n\n| Domain | Keywords | Tools | Use Case |\n|--------|----------|-------|----------|\n| **Security** | security, vulnerability, audit, owasp | 4 tools | Security scanning, vulnerability detection |\n| **Performance** | benchmark, bottleneck, profiling | 4 tools | Performance testing, bottleneck analysis |\n| **Coverage** | coverage, gap, uncovered | 5 tools | Coverage analysis, gap detection |\n| **Quality** | quality gate, deploy, release | 6 tools | Quality gates, deployment readiness |\n| **Flaky** | flaky, unstable, retry | 3 tools | Flaky test detection and stabilization |\n| **Visual** | screenshot, accessibility, wcag | 3 tools | Visual regression, accessibility testing |\n| **Requirements** | bdd, gherkin, acceptance | 2 tools | Requirements validation, BDD generation |\n\n### Loading Domain Tools\n```\n# Explicit load\ntools_load_domain({ domain: 'security' })\n\n# Auto-load: Just mention keywords in your request\n\"I need to run a security scan\" \u2192 Security tools auto-load\n```\n\n---\n\n## Specialized Tools (Expert Use)\n\n### Learning Domain (4 tools)\nFor persistent learning and pattern storage across sessions.\nLoad with: `tools_load_domain({ domain: 'learning' })`\n\n### Advanced Domain (7 tools)\nFor mutation testing, API contract validation, production incident replay.\nLoad with: `tools_load_domain({ domain: 'advanced' })`\n\n---\n\n## Best Practices\n\n1. **Start with core tools** - They handle 80% of use cases\n2. **Let auto-load work** - Mention keywords naturally\n3. **Use tools_discover** - When unsure what's available\n4. **Batch operations** - Use parallel execution for speed\n5. **Check fleet_status** - Monitor agent health\n\n---\n\n## Common Workflows\n\n### Test Generation & Execution\n1. `test_generate_enhanced` - Generate tests\n2. `test_execute_parallel` - Run tests\n3. `test_report_comprehensive` - Generate report\n\n### Quality Gate Check\n1. Load quality domain if not auto-loaded\n2. `quality_analyze` - Analyze metrics\n3. `qe_qualitygate_evaluate` - Make go/no-go decision\n\n### Security Audit\n1. `tools_load_domain({ domain: 'security' })`\n2. `qe_security_scan_comprehensive` - Full scan\n3. `qe_security_detect_vulnerabilities` - Detailed analysis\n\n---\n\n## Tool Naming Convention\nAll tools follow: `mcp__agentic_qe__<tool_name>`\n\nExample: `mcp__agentic_qe__test_generate_enhanced`\n";
8
8
  export declare const SERVER_NAME = "agentic-qe";
9
- export declare const SERVER_VERSION = "2.6.5";
9
+ export declare const SERVER_VERSION = "2.6.6";
10
10
  /**
11
11
  * Get formatted server info for MCP initialization
12
12
  */
@@ -1 +1 @@
1
- {"version":3,"file":"server-instructions.d.ts","sourceRoot":"","sources":["../../src/mcp/server-instructions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,mBAAmB,oqHA6G/B,CAAC;AAEF,eAAO,MAAM,WAAW,eAAe,CAAC;AACxC,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC;;GAEG;AACH,wBAAgB,aAAa,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAMvF"}
1
+ {"version":3,"file":"server-instructions.d.ts","sourceRoot":"","sources":["../../src/mcp/server-instructions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,mBAAmB,qqHA6G/B,CAAC;AAEF,eAAO,MAAM,WAAW,eAAe,CAAC;AACxC,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC;;GAEG;AACH,wBAAgB,aAAa,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAMvF"}
@@ -12,7 +12,7 @@ exports.SERVER_INSTRUCTIONS = `
12
12
  # Agentic QE Fleet - MCP Tool Guide
13
13
 
14
14
  ## Overview
15
- Agentic QE provides 96 specialized quality engineering tools organized into a hierarchical system for efficient context usage.
15
+ Agentic QE provides 105 specialized quality engineering tools organized into a hierarchical system for efficient context usage.
16
16
 
17
17
  ## Quick Start
18
18
  1. **Discover available tools:** Use \`tools_discover\` to see all domains
@@ -119,7 +119,7 @@ All tools follow: \`mcp__agentic_qe__<tool_name>\`
119
119
  Example: \`mcp__agentic_qe__test_generate_enhanced\`
120
120
  `;
121
121
  exports.SERVER_NAME = 'agentic-qe';
122
- exports.SERVER_VERSION = '2.6.5';
122
+ exports.SERVER_VERSION = '2.6.6';
123
123
  /**
124
124
  * Get formatted server info for MCP initialization
125
125
  */
@@ -0,0 +1,97 @@
1
+ /**
2
+ * MinCut-Based Test Suite Partitioner
3
+ *
4
+ * Uses the Stoer-Wagner minimum cut algorithm to optimally partition
5
+ * test suites for parallel execution, minimizing cross-partition
6
+ * dependencies and balancing execution time across workers.
7
+ *
8
+ * Expected improvement: 30-50% faster parallel execution compared
9
+ * to naive round-robin or random distribution.
10
+ */
11
+ import { TestFile, PartitionResult, PartitionConfig } from './types.js';
12
+ /**
13
+ * Partitions test suites using MinCut algorithm to minimize
14
+ * cross-partition dependencies and balance execution time.
15
+ */
16
+ export declare class MinCutPartitioner {
17
+ private config;
18
+ private minCutAnalyzer;
19
+ constructor(config?: Partial<PartitionConfig>);
20
+ /**
21
+ * Partition test files for optimal parallel execution
22
+ *
23
+ * @param tests - Array of test files with metadata
24
+ * @returns PartitionResult with optimized test distribution
25
+ */
26
+ partition(tests: TestFile[]): Promise<PartitionResult>;
27
+ /**
28
+ * Build a dependency graph from test files
29
+ */
30
+ private buildTestGraph;
31
+ /**
32
+ * Calculate edge weight based on dependency characteristics
33
+ * Higher weight = stronger coupling = should stay together
34
+ */
35
+ private calculateEdgeWeight;
36
+ /**
37
+ * Recursively bisect graph to create k partitions
38
+ */
39
+ private recursiveBisection;
40
+ /**
41
+ * Create a subgraph containing only specified nodes
42
+ */
43
+ private createSubgraph;
44
+ /**
45
+ * Balance partitions to ensure exactly k partitions
46
+ */
47
+ private balancePartitions;
48
+ /**
49
+ * Simple duration-balanced partitioning (fallback)
50
+ */
51
+ private durationBalancedPartition;
52
+ /**
53
+ * Build result from MinCut output (2 partitions)
54
+ */
55
+ private buildResult;
56
+ /**
57
+ * Build result from recursive bisection partitions
58
+ */
59
+ private buildResultFromPartitions;
60
+ /**
61
+ * Count cross-partition dependencies for a single partition
62
+ */
63
+ private countCrossPartitionDepsForPartition;
64
+ /**
65
+ * Count cross-partition dependencies
66
+ */
67
+ private countCrossPartitionDeps;
68
+ /**
69
+ * Calculate partition quality statistics
70
+ */
71
+ private calculateStats;
72
+ /**
73
+ * Estimate variance for naive round-robin
74
+ */
75
+ private estimateNaiveVariance;
76
+ /**
77
+ * Estimate speedup compared to sequential execution
78
+ */
79
+ private estimateSpeedup;
80
+ /**
81
+ * Empty result for no tests
82
+ */
83
+ private emptyResult;
84
+ /**
85
+ * Trivial partition when tests <= partition count
86
+ */
87
+ private trivialPartition;
88
+ /**
89
+ * Get current configuration
90
+ */
91
+ getConfig(): Readonly<PartitionConfig>;
92
+ }
93
+ /**
94
+ * Convenience function for one-off partitioning
95
+ */
96
+ export declare function partitionTests(tests: TestFile[], config?: Partial<PartitionConfig>): Promise<PartitionResult>;
97
+ //# sourceMappingURL=MinCutPartitioner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MinCutPartitioner.d.ts","sourceRoot":"","sources":["../../../src/test/partition/MinCutPartitioner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,QAAQ,EAER,eAAe,EACf,eAAe,EAKhB,MAAM,YAAY,CAAC;AAOpB;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,cAAc,CAAiB;gBAE3B,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM;IAQjD;;;;;OAKG;IACU,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAmDnE;;OAEG;IACH,OAAO,CAAC,cAAc;IAqDtB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAyB3B;;OAEG;YACW,kBAAkB;IAkDhC;;OAEG;IACH,OAAO,CAAC,cAAc;IAStB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2BzB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAsCjC;;OAEG;IACH,OAAO,CAAC,WAAW;IAsCnB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA2BjC;;OAEG;IACH,OAAO,CAAC,mCAAmC;IAmB3C;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAmB/B;;OAEG;IACH,OAAO,CAAC,cAAc;IAgCtB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAavB;;OAEG;IACH,OAAO,CAAC,WAAW;IAWnB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAmBxB;;OAEG;IACI,SAAS,IAAI,QAAQ,CAAC,eAAe,CAAC;CAG9C;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,QAAQ,EAAE,EACjB,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAChC,OAAO,CAAC,eAAe,CAAC,CAG1B"}