agentic-qe 2.6.4 → 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.
- package/CHANGELOG.md +95 -0
- package/README.md +26 -1
- package/dist/agents/CoverageAnalyzerAgent.d.ts +31 -0
- package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.js +159 -0
- package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
- package/dist/agents/FleetCommanderAgent.d.ts +36 -0
- package/dist/agents/FleetCommanderAgent.d.ts.map +1 -1
- package/dist/agents/FleetCommanderAgent.js +226 -0
- package/dist/agents/FleetCommanderAgent.js.map +1 -1
- package/dist/cli/commands/kg/mincut.d.ts +50 -0
- package/dist/cli/commands/kg/mincut.d.ts.map +1 -0
- package/dist/cli/commands/kg/mincut.js +372 -0
- package/dist/cli/commands/kg/mincut.js.map +1 -0
- package/dist/cli/commands/providers/index.d.ts +20 -0
- package/dist/cli/commands/providers/index.d.ts.map +1 -0
- package/dist/cli/commands/providers/index.js +143 -0
- package/dist/cli/commands/providers/index.js.map +1 -0
- package/dist/cli/commands/providers/status.d.ts +117 -0
- package/dist/cli/commands/providers/status.d.ts.map +1 -0
- package/dist/cli/commands/providers/status.js +368 -0
- package/dist/cli/commands/providers/status.js.map +1 -0
- package/dist/cli/index.js +99 -62
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/claude-config.js +2 -2
- package/dist/code-intelligence/analysis/mincut/CircularDependencyDetector.d.ts +148 -0
- package/dist/code-intelligence/analysis/mincut/CircularDependencyDetector.d.ts.map +1 -0
- package/dist/code-intelligence/analysis/mincut/CircularDependencyDetector.js +393 -0
- package/dist/code-intelligence/analysis/mincut/CircularDependencyDetector.js.map +1 -0
- package/dist/code-intelligence/analysis/mincut/GraphAdapter.d.ts +169 -0
- package/dist/code-intelligence/analysis/mincut/GraphAdapter.d.ts.map +1 -0
- package/dist/code-intelligence/analysis/mincut/GraphAdapter.js +335 -0
- package/dist/code-intelligence/analysis/mincut/GraphAdapter.js.map +1 -0
- package/dist/code-intelligence/analysis/mincut/JsMinCut.d.ts +55 -0
- package/dist/code-intelligence/analysis/mincut/JsMinCut.d.ts.map +1 -0
- package/dist/code-intelligence/analysis/mincut/JsMinCut.js +265 -0
- package/dist/code-intelligence/analysis/mincut/JsMinCut.js.map +1 -0
- package/dist/code-intelligence/analysis/mincut/MinCutAnalyzer.d.ts +92 -0
- package/dist/code-intelligence/analysis/mincut/MinCutAnalyzer.d.ts.map +1 -0
- package/dist/code-intelligence/analysis/mincut/MinCutAnalyzer.js +200 -0
- package/dist/code-intelligence/analysis/mincut/MinCutAnalyzer.js.map +1 -0
- package/dist/code-intelligence/analysis/mincut/ModuleCouplingAnalyzer.d.ts +157 -0
- package/dist/code-intelligence/analysis/mincut/ModuleCouplingAnalyzer.d.ts.map +1 -0
- package/dist/code-intelligence/analysis/mincut/ModuleCouplingAnalyzer.js +434 -0
- package/dist/code-intelligence/analysis/mincut/ModuleCouplingAnalyzer.js.map +1 -0
- package/dist/code-intelligence/analysis/mincut/index.d.ts +12 -0
- package/dist/code-intelligence/analysis/mincut/index.d.ts.map +1 -0
- package/dist/code-intelligence/analysis/mincut/index.js +20 -0
- package/dist/code-intelligence/analysis/mincut/index.js.map +1 -0
- package/dist/code-intelligence/analysis/mincut/types.d.ts +145 -0
- package/dist/code-intelligence/analysis/mincut/types.d.ts.map +1 -0
- package/dist/code-intelligence/analysis/mincut/types.js +16 -0
- package/dist/code-intelligence/analysis/mincut/types.js.map +1 -0
- package/dist/code-intelligence/chunking/ASTChunker.d.ts +1 -1
- package/dist/code-intelligence/chunking/ASTChunker.d.ts.map +1 -1
- package/dist/code-intelligence/chunking/ASTChunker.js +4 -4
- package/dist/code-intelligence/chunking/ASTChunker.js.map +1 -1
- package/dist/code-intelligence/graph/GraphBuilder.d.ts +120 -0
- package/dist/code-intelligence/graph/GraphBuilder.d.ts.map +1 -1
- package/dist/code-intelligence/graph/GraphBuilder.js +517 -0
- package/dist/code-intelligence/graph/GraphBuilder.js.map +1 -1
- package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.d.ts.map +1 -1
- package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.js +3 -3
- package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.js.map +1 -1
- package/dist/code-intelligence/parser/{TreeSitterParser.d.ts → WebTreeSitterParser.d.ts} +45 -10
- package/dist/code-intelligence/parser/WebTreeSitterParser.d.ts.map +1 -0
- package/dist/code-intelligence/parser/{TreeSitterParser.js → WebTreeSitterParser.js} +147 -54
- package/dist/code-intelligence/parser/WebTreeSitterParser.js.map +1 -0
- package/dist/code-intelligence/parser/extractors/BaseExtractor.d.ts +12 -10
- package/dist/code-intelligence/parser/extractors/BaseExtractor.d.ts.map +1 -1
- package/dist/code-intelligence/parser/extractors/BaseExtractor.js +7 -3
- package/dist/code-intelligence/parser/extractors/BaseExtractor.js.map +1 -1
- package/dist/code-intelligence/parser/extractors/GoExtractor.d.ts +7 -5
- package/dist/code-intelligence/parser/extractors/GoExtractor.d.ts.map +1 -1
- package/dist/code-intelligence/parser/extractors/GoExtractor.js +2 -2
- package/dist/code-intelligence/parser/extractors/GoExtractor.js.map +1 -1
- package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.d.ts +7 -5
- package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.d.ts.map +1 -1
- package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.js +2 -2
- package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.js.map +1 -1
- package/dist/code-intelligence/parser/extractors/PythonExtractor.d.ts +7 -5
- package/dist/code-intelligence/parser/extractors/PythonExtractor.d.ts.map +1 -1
- package/dist/code-intelligence/parser/extractors/PythonExtractor.js +2 -2
- package/dist/code-intelligence/parser/extractors/PythonExtractor.js.map +1 -1
- package/dist/code-intelligence/parser/extractors/RustExtractor.d.ts +7 -5
- package/dist/code-intelligence/parser/extractors/RustExtractor.d.ts.map +1 -1
- package/dist/code-intelligence/parser/extractors/RustExtractor.js +2 -2
- package/dist/code-intelligence/parser/extractors/RustExtractor.js.map +1 -1
- package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.d.ts +7 -5
- package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.d.ts.map +1 -1
- package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.js +2 -2
- package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.js.map +1 -1
- package/dist/code-intelligence/parser/index.d.ts +7 -1
- package/dist/code-intelligence/parser/index.d.ts.map +1 -1
- package/dist/code-intelligence/parser/index.js +11 -3
- package/dist/code-intelligence/parser/index.js.map +1 -1
- package/dist/code-intelligence/service/CodeIntelligenceService.d.ts.map +1 -1
- package/dist/code-intelligence/service/CodeIntelligenceService.js +7 -5
- package/dist/code-intelligence/service/CodeIntelligenceService.js.map +1 -1
- package/dist/core/memory/HNSWVectorMemory.js +1 -1
- package/dist/coverage/CriticalPathDetector.d.ts +240 -0
- package/dist/coverage/CriticalPathDetector.d.ts.map +1 -0
- package/dist/coverage/CriticalPathDetector.js +388 -0
- package/dist/coverage/CriticalPathDetector.js.map +1 -0
- package/dist/coverage/index.d.ts +13 -0
- package/dist/coverage/index.d.ts.map +1 -0
- package/dist/coverage/index.js +16 -0
- package/dist/coverage/index.js.map +1 -0
- package/dist/fleet/topology/SPOFMonitor.d.ts +181 -0
- package/dist/fleet/topology/SPOFMonitor.d.ts.map +1 -0
- package/dist/fleet/topology/SPOFMonitor.js +286 -0
- package/dist/fleet/topology/SPOFMonitor.js.map +1 -0
- package/dist/fleet/topology/TopologyMinCutAnalyzer.d.ts +87 -0
- package/dist/fleet/topology/TopologyMinCutAnalyzer.d.ts.map +1 -0
- package/dist/fleet/topology/TopologyMinCutAnalyzer.js +472 -0
- package/dist/fleet/topology/TopologyMinCutAnalyzer.js.map +1 -0
- package/dist/fleet/topology/index.d.ts +13 -0
- package/dist/fleet/topology/index.d.ts.map +1 -0
- package/dist/fleet/topology/index.js +20 -0
- package/dist/fleet/topology/index.js.map +1 -0
- package/dist/fleet/topology/types.d.ts +139 -0
- package/dist/fleet/topology/types.d.ts.map +1 -0
- package/dist/fleet/topology/types.js +19 -0
- package/dist/fleet/topology/types.js.map +1 -0
- package/dist/mcp/handlers/test/test-execute-parallel.d.ts +34 -3
- package/dist/mcp/handlers/test/test-execute-parallel.d.ts.map +1 -1
- package/dist/mcp/handlers/test/test-execute-parallel.js +120 -5
- package/dist/mcp/handlers/test/test-execute-parallel.js.map +1 -1
- package/dist/mcp/server-instructions.d.ts +2 -2
- package/dist/mcp/server-instructions.d.ts.map +1 -1
- package/dist/mcp/server-instructions.js +2 -2
- package/dist/monitoring/ProviderHealthMonitor.d.ts +195 -0
- package/dist/monitoring/ProviderHealthMonitor.d.ts.map +1 -0
- package/dist/monitoring/ProviderHealthMonitor.js +431 -0
- package/dist/monitoring/ProviderHealthMonitor.js.map +1 -0
- package/dist/monitoring/QuotaManager.d.ts +122 -0
- package/dist/monitoring/QuotaManager.d.ts.map +1 -0
- package/dist/monitoring/QuotaManager.js +351 -0
- package/dist/monitoring/QuotaManager.js.map +1 -0
- package/dist/providers/GitHubModelsProvider.d.ts +117 -0
- package/dist/providers/GitHubModelsProvider.d.ts.map +1 -0
- package/dist/providers/GitHubModelsProvider.js +464 -0
- package/dist/providers/GitHubModelsProvider.js.map +1 -0
- package/dist/providers/GroqProvider.d.ts +115 -0
- package/dist/providers/GroqProvider.d.ts.map +1 -0
- package/dist/providers/GroqProvider.js +443 -0
- package/dist/providers/GroqProvider.js.map +1 -0
- package/dist/providers/HybridRouterHealthIntegration.d.ts +191 -0
- package/dist/providers/HybridRouterHealthIntegration.d.ts.map +1 -0
- package/dist/providers/HybridRouterHealthIntegration.js +439 -0
- package/dist/providers/HybridRouterHealthIntegration.js.map +1 -0
- package/dist/providers/index.d.ts +6 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +12 -1
- package/dist/providers/index.js.map +1 -1
- package/dist/test/partition/MinCutPartitioner.d.ts +97 -0
- package/dist/test/partition/MinCutPartitioner.d.ts.map +1 -0
- package/dist/test/partition/MinCutPartitioner.js +459 -0
- package/dist/test/partition/MinCutPartitioner.js.map +1 -0
- package/dist/test/partition/RealTestExecutor.d.ts +86 -0
- package/dist/test/partition/RealTestExecutor.d.ts.map +1 -0
- package/dist/test/partition/RealTestExecutor.js +279 -0
- package/dist/test/partition/RealTestExecutor.js.map +1 -0
- package/dist/test/partition/TestDependencyAnalyzer.d.ts +75 -0
- package/dist/test/partition/TestDependencyAnalyzer.d.ts.map +1 -0
- package/dist/test/partition/TestDependencyAnalyzer.js +297 -0
- package/dist/test/partition/TestDependencyAnalyzer.js.map +1 -0
- package/dist/test/partition/index.d.ts +10 -0
- package/dist/test/partition/index.d.ts.map +1 -0
- package/dist/test/partition/index.js +26 -0
- package/dist/test/partition/index.js.map +1 -0
- package/dist/test/partition/types.d.ts +120 -0
- package/dist/test/partition/types.d.ts.map +1 -0
- package/dist/test/partition/types.js +21 -0
- package/dist/test/partition/types.js.map +1 -0
- package/package.json +5 -8
- package/dist/cli/commands/providers.d.ts +0 -50
- package/dist/cli/commands/providers.d.ts.map +0 -1
- package/dist/cli/commands/providers.js +0 -403
- package/dist/cli/commands/providers.js.map +0 -1
- package/dist/code-intelligence/parser/TreeSitterParser.d.ts.map +0 -1
- package/dist/code-intelligence/parser/TreeSitterParser.js.map +0 -1
|
@@ -13,6 +13,8 @@
|
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
14
|
exports.GraphBuilder = void 0;
|
|
15
15
|
const types_js_1 = require("./types.js");
|
|
16
|
+
const MinCutAnalyzer_js_1 = require("../analysis/mincut/MinCutAnalyzer.js");
|
|
17
|
+
const GraphAdapter_js_1 = require("../analysis/mincut/GraphAdapter.js");
|
|
16
18
|
class GraphBuilder {
|
|
17
19
|
constructor(config = {}) {
|
|
18
20
|
this.nodeIdCounter = 0;
|
|
@@ -387,6 +389,294 @@ class GraphBuilder {
|
|
|
387
389
|
this.graph.incomingEdges.set(edge.target, incoming);
|
|
388
390
|
}
|
|
389
391
|
}
|
|
392
|
+
/**
|
|
393
|
+
* Analyze module coupling using MinCut algorithm.
|
|
394
|
+
* Lower cut value = better separation between modules.
|
|
395
|
+
*
|
|
396
|
+
* @param options - Analysis options
|
|
397
|
+
* @param options.nodeFilter - Filter function for nodes (return true to include)
|
|
398
|
+
* @param options.threshold - Minimum coupling strength to report (0-1, default: 0.3)
|
|
399
|
+
* @returns Array of module coupling results sorted by coupling strength (descending)
|
|
400
|
+
*
|
|
401
|
+
* @example
|
|
402
|
+
* ```typescript
|
|
403
|
+
* const results = await builder.analyzeModuleCoupling({
|
|
404
|
+
* nodeFilter: (node) => node.type === 'file',
|
|
405
|
+
* threshold: 0.5
|
|
406
|
+
* });
|
|
407
|
+
* results.forEach(r => {
|
|
408
|
+
* console.log(`${r.module1} <-> ${r.module2}: ${r.couplingStrength}`);
|
|
409
|
+
* });
|
|
410
|
+
* ```
|
|
411
|
+
*/
|
|
412
|
+
async analyzeModuleCoupling(options) {
|
|
413
|
+
const { nodeFilter = () => true, threshold = 0.3 } = options || {};
|
|
414
|
+
// Get file-level graph for module analysis
|
|
415
|
+
const exported = this.exportGraph();
|
|
416
|
+
const fileGraph = GraphAdapter_js_1.GraphAdapter.aggregateByFile(exported);
|
|
417
|
+
// Filter nodes if specified
|
|
418
|
+
const filteredGraph = {
|
|
419
|
+
nodes: fileGraph.nodes.filter(nodeFilter),
|
|
420
|
+
edges: fileGraph.edges.filter(e => fileGraph.nodes.some(n => n.id === e.source && nodeFilter(n)) &&
|
|
421
|
+
fileGraph.nodes.some(n => n.id === e.target && nodeFilter(n))),
|
|
422
|
+
};
|
|
423
|
+
// Group nodes by directory (module)
|
|
424
|
+
const modules = this.groupNodesByModule(filteredGraph.nodes);
|
|
425
|
+
const results = [];
|
|
426
|
+
// Analyze coupling between each pair of modules
|
|
427
|
+
const moduleNames = Object.keys(modules);
|
|
428
|
+
for (let i = 0; i < moduleNames.length; i++) {
|
|
429
|
+
for (let j = i + 1; j < moduleNames.length; j++) {
|
|
430
|
+
const module1Name = moduleNames[i];
|
|
431
|
+
const module2Name = moduleNames[j];
|
|
432
|
+
const module1Nodes = modules[module1Name];
|
|
433
|
+
const module2Nodes = modules[module2Name];
|
|
434
|
+
// Extract subgraph containing both modules
|
|
435
|
+
const combinedNodeIds = new Set([
|
|
436
|
+
...module1Nodes.map(n => n.id),
|
|
437
|
+
...module2Nodes.map(n => n.id),
|
|
438
|
+
]);
|
|
439
|
+
const subgraph = {
|
|
440
|
+
nodes: filteredGraph.nodes.filter(n => combinedNodeIds.has(n.id)),
|
|
441
|
+
edges: filteredGraph.edges.filter(e => combinedNodeIds.has(e.source) && combinedNodeIds.has(e.target)),
|
|
442
|
+
};
|
|
443
|
+
// Skip if no edges between modules
|
|
444
|
+
const crossEdges = subgraph.edges.filter(e => (module1Nodes.some(n => n.id === e.source) &&
|
|
445
|
+
module2Nodes.some(n => n.id === e.target)) ||
|
|
446
|
+
(module2Nodes.some(n => n.id === e.source) &&
|
|
447
|
+
module1Nodes.some(n => n.id === e.target)));
|
|
448
|
+
if (crossEdges.length === 0)
|
|
449
|
+
continue;
|
|
450
|
+
// Compute MinCut between modules
|
|
451
|
+
const minCutInput = GraphAdapter_js_1.GraphAdapter.toMinCutFormat(subgraph, {
|
|
452
|
+
directed: false,
|
|
453
|
+
normalizeWeights: true,
|
|
454
|
+
});
|
|
455
|
+
const analyzer = new MinCutAnalyzer_js_1.MinCutAnalyzer({ timeout: 5000 });
|
|
456
|
+
const minCutResult = await analyzer.computeMinCut(minCutInput);
|
|
457
|
+
// Calculate coupling strength (inverse of cut value, normalized)
|
|
458
|
+
const maxPossibleCoupling = crossEdges.length * 1.0;
|
|
459
|
+
const couplingStrength = Math.min(1.0, maxPossibleCoupling > 0
|
|
460
|
+
? 1.0 - minCutResult.cutValue / maxPossibleCoupling
|
|
461
|
+
: 0);
|
|
462
|
+
// Skip if below threshold
|
|
463
|
+
if (couplingStrength < threshold)
|
|
464
|
+
continue;
|
|
465
|
+
// Detect circular dependencies
|
|
466
|
+
const circularDependency = this.hasCircularDependency(module1Nodes, module2Nodes, subgraph.edges);
|
|
467
|
+
// Find shared dependencies
|
|
468
|
+
const sharedDeps = this.findSharedDependencies(module1Nodes, module2Nodes, filteredGraph);
|
|
469
|
+
// Generate recommendations
|
|
470
|
+
const recommendations = this.generateCouplingRecommendations(minCutResult, couplingStrength, circularDependency);
|
|
471
|
+
results.push({
|
|
472
|
+
module1: module1Name,
|
|
473
|
+
module2: module2Name,
|
|
474
|
+
couplingStrength,
|
|
475
|
+
sharedDependencies: sharedDeps,
|
|
476
|
+
circularDependency,
|
|
477
|
+
cutEdges: minCutResult.cutEdges,
|
|
478
|
+
recommendations,
|
|
479
|
+
});
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
// Sort by coupling strength (descending)
|
|
483
|
+
return results.sort((a, b) => b.couplingStrength - a.couplingStrength);
|
|
484
|
+
}
|
|
485
|
+
/**
|
|
486
|
+
* Detect circular dependencies in the code graph.
|
|
487
|
+
* Returns cycles with suggested break points.
|
|
488
|
+
*
|
|
489
|
+
* @returns Array of circular dependency results sorted by severity
|
|
490
|
+
*
|
|
491
|
+
* @example
|
|
492
|
+
* ```typescript
|
|
493
|
+
* const cycles = await builder.detectCircularDependencies();
|
|
494
|
+
* cycles.forEach(cycle => {
|
|
495
|
+
* console.log('Cycle:', cycle.cycle.join(' -> '));
|
|
496
|
+
* console.log('Severity:', cycle.severity);
|
|
497
|
+
* cycle.breakPoints.forEach(bp => {
|
|
498
|
+
* console.log(` Break ${bp.source} -> ${bp.target}: ${bp.suggestion}`);
|
|
499
|
+
* });
|
|
500
|
+
* });
|
|
501
|
+
* ```
|
|
502
|
+
*/
|
|
503
|
+
async detectCircularDependencies() {
|
|
504
|
+
const exported = this.exportGraph();
|
|
505
|
+
const fileGraph = GraphAdapter_js_1.GraphAdapter.aggregateByFile(exported);
|
|
506
|
+
// Find strongly connected components (SCCs) using Tarjan's algorithm
|
|
507
|
+
const sccs = this.findStronglyConnectedComponents(fileGraph);
|
|
508
|
+
const results = [];
|
|
509
|
+
// Process each SCC with more than 1 node (these are cycles)
|
|
510
|
+
for (const scc of sccs) {
|
|
511
|
+
if (scc.length <= 1)
|
|
512
|
+
continue;
|
|
513
|
+
// Extract cycle file paths
|
|
514
|
+
const cycle = scc.map(node => node.filePath);
|
|
515
|
+
// Extract subgraph for this cycle
|
|
516
|
+
const cycleNodeIds = new Set(scc.map(n => n.id));
|
|
517
|
+
const subgraph = {
|
|
518
|
+
nodes: scc,
|
|
519
|
+
edges: fileGraph.edges.filter(e => cycleNodeIds.has(e.source) && cycleNodeIds.has(e.target)),
|
|
520
|
+
};
|
|
521
|
+
// Use MinCut to find weakest link
|
|
522
|
+
const minCutInput = GraphAdapter_js_1.GraphAdapter.toMinCutFormat(subgraph, {
|
|
523
|
+
directed: false,
|
|
524
|
+
normalizeWeights: true,
|
|
525
|
+
});
|
|
526
|
+
const analyzer = new MinCutAnalyzer_js_1.MinCutAnalyzer({ timeout: 5000 });
|
|
527
|
+
const minCutResult = await analyzer.computeMinCut(minCutInput);
|
|
528
|
+
// Generate break points from cut edges
|
|
529
|
+
const breakPoints = minCutResult.cutEdges.map(cutEdge => {
|
|
530
|
+
const edge = subgraph.edges.find(e => e.source === cutEdge.source && e.target === cutEdge.target);
|
|
531
|
+
return {
|
|
532
|
+
source: cutEdge.source,
|
|
533
|
+
target: cutEdge.target,
|
|
534
|
+
edgeType: cutEdge.edgeType || 'unknown',
|
|
535
|
+
effort: this.estimateBreakEffort(cutEdge.edgeType),
|
|
536
|
+
suggestion: this.generateBreakSuggestion(cutEdge),
|
|
537
|
+
};
|
|
538
|
+
});
|
|
539
|
+
// Assess severity
|
|
540
|
+
const severity = this.assessCycleSeverity(cycle.length, subgraph.edges.length);
|
|
541
|
+
// Generate recommendations
|
|
542
|
+
const recommendations = this.generateCycleRecommendations(cycle, breakPoints, severity);
|
|
543
|
+
results.push({
|
|
544
|
+
cycle,
|
|
545
|
+
breakPoints,
|
|
546
|
+
severity,
|
|
547
|
+
recommendations,
|
|
548
|
+
});
|
|
549
|
+
}
|
|
550
|
+
// Sort by severity (high -> medium -> low)
|
|
551
|
+
const severityOrder = { high: 3, medium: 2, low: 1 };
|
|
552
|
+
return results.sort((a, b) => severityOrder[b.severity] - severityOrder[a.severity]);
|
|
553
|
+
}
|
|
554
|
+
/**
|
|
555
|
+
* Suggest optimal module boundaries for refactoring.
|
|
556
|
+
* Uses iterative MinCut to partition into target number of modules.
|
|
557
|
+
*
|
|
558
|
+
* @param targetModuleCount - Desired number of modules (must be >= 2)
|
|
559
|
+
* @returns Object containing module assignments and cut values
|
|
560
|
+
*
|
|
561
|
+
* @example
|
|
562
|
+
* ```typescript
|
|
563
|
+
* const boundaries = await builder.suggestModuleBoundaries(4);
|
|
564
|
+
* console.log(`Created ${boundaries.modules.length} modules`);
|
|
565
|
+
* boundaries.modules.forEach((files, i) => {
|
|
566
|
+
* console.log(`Module ${i + 1}:`, files);
|
|
567
|
+
* });
|
|
568
|
+
* ```
|
|
569
|
+
*/
|
|
570
|
+
async suggestModuleBoundaries(targetModuleCount) {
|
|
571
|
+
if (targetModuleCount < 2) {
|
|
572
|
+
throw new Error('Target module count must be at least 2');
|
|
573
|
+
}
|
|
574
|
+
const exported = this.exportGraph();
|
|
575
|
+
const fileGraph = GraphAdapter_js_1.GraphAdapter.aggregateByFile(exported);
|
|
576
|
+
// Start with all files in one partition
|
|
577
|
+
const partitions = [fileGraph.nodes];
|
|
578
|
+
const cutValues = [];
|
|
579
|
+
// Iteratively split largest partition until we reach target count
|
|
580
|
+
while (partitions.length < targetModuleCount) {
|
|
581
|
+
// Find largest partition
|
|
582
|
+
let largestIdx = 0;
|
|
583
|
+
let largestSize = partitions[0].length;
|
|
584
|
+
for (let i = 1; i < partitions.length; i++) {
|
|
585
|
+
if (partitions[i].length > largestSize) {
|
|
586
|
+
largestSize = partitions[i].length;
|
|
587
|
+
largestIdx = i;
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
const partition = partitions[largestIdx];
|
|
591
|
+
// Stop if largest partition has only 1 node
|
|
592
|
+
if (partition.length <= 1)
|
|
593
|
+
break;
|
|
594
|
+
// Extract subgraph for this partition
|
|
595
|
+
const nodeIds = new Set(partition.map(n => n.id));
|
|
596
|
+
const subgraph = {
|
|
597
|
+
nodes: partition,
|
|
598
|
+
edges: fileGraph.edges.filter(e => nodeIds.has(e.source) && nodeIds.has(e.target)),
|
|
599
|
+
};
|
|
600
|
+
// Compute MinCut to split partition
|
|
601
|
+
const minCutInput = GraphAdapter_js_1.GraphAdapter.toMinCutFormat(subgraph, {
|
|
602
|
+
directed: false,
|
|
603
|
+
normalizeWeights: true,
|
|
604
|
+
});
|
|
605
|
+
const analyzer = new MinCutAnalyzer_js_1.MinCutAnalyzer({ timeout: 10000 });
|
|
606
|
+
const minCutResult = await analyzer.computeMinCut(minCutInput);
|
|
607
|
+
// Split partition based on MinCut result
|
|
608
|
+
const partition1 = partition.filter(n => minCutResult.partition1.includes(n.id));
|
|
609
|
+
const partition2 = partition.filter(n => minCutResult.partition2.includes(n.id));
|
|
610
|
+
// Replace largest partition with two new partitions
|
|
611
|
+
partitions.splice(largestIdx, 1, partition1, partition2);
|
|
612
|
+
cutValues.push(minCutResult.cutValue);
|
|
613
|
+
}
|
|
614
|
+
// Convert partitions to file path arrays
|
|
615
|
+
const modules = partitions.map(p => p.map(n => n.filePath));
|
|
616
|
+
return {
|
|
617
|
+
modules,
|
|
618
|
+
cutValues,
|
|
619
|
+
};
|
|
620
|
+
}
|
|
621
|
+
/**
|
|
622
|
+
* Calculate test isolation score.
|
|
623
|
+
* Measures how well test files are isolated from production code.
|
|
624
|
+
*
|
|
625
|
+
* @param testFilePattern - Regex to identify test files (default: /\.(test|spec)\.[jt]sx?$/)
|
|
626
|
+
* @returns Object with isolation score and analysis
|
|
627
|
+
*
|
|
628
|
+
* @example
|
|
629
|
+
* ```typescript
|
|
630
|
+
* const isolation = await builder.calculateTestIsolation(/\.test\.ts$/);
|
|
631
|
+
* console.log(`Test isolation score: ${isolation.score}`);
|
|
632
|
+
* console.log(`Crossing dependencies: ${isolation.crossingDependencies}`);
|
|
633
|
+
* ```
|
|
634
|
+
*/
|
|
635
|
+
async calculateTestIsolation(testFilePattern) {
|
|
636
|
+
const pattern = testFilePattern || /\.(test|spec)\.[jt]sx?$/;
|
|
637
|
+
const exported = this.exportGraph();
|
|
638
|
+
const fileGraph = GraphAdapter_js_1.GraphAdapter.aggregateByFile(exported);
|
|
639
|
+
// Separate test and production files
|
|
640
|
+
const testNodes = fileGraph.nodes.filter(n => pattern.test(n.filePath));
|
|
641
|
+
const productionNodes = fileGraph.nodes.filter(n => !pattern.test(n.filePath));
|
|
642
|
+
const testNodeIds = new Set(testNodes.map(n => n.id));
|
|
643
|
+
const prodNodeIds = new Set(productionNodes.map(n => n.id));
|
|
644
|
+
// Create bipartite graph (test <-> production)
|
|
645
|
+
const testProdEdges = fileGraph.edges.filter(e => (testNodeIds.has(e.source) && prodNodeIds.has(e.target)) ||
|
|
646
|
+
(prodNodeIds.has(e.source) && testNodeIds.has(e.target)));
|
|
647
|
+
// If no test files or no production files, return perfect isolation
|
|
648
|
+
if (testNodes.length === 0 || productionNodes.length === 0) {
|
|
649
|
+
return {
|
|
650
|
+
score: 1.0,
|
|
651
|
+
testFiles: testNodes.map(n => n.filePath),
|
|
652
|
+
productionFiles: productionNodes.map(n => n.filePath),
|
|
653
|
+
crossingDependencies: 0,
|
|
654
|
+
};
|
|
655
|
+
}
|
|
656
|
+
// Compute MinCut between test and production
|
|
657
|
+
const bipartiteGraph = {
|
|
658
|
+
nodes: [...testNodes, ...productionNodes],
|
|
659
|
+
edges: testProdEdges,
|
|
660
|
+
};
|
|
661
|
+
const minCutInput = GraphAdapter_js_1.GraphAdapter.toMinCutFormat(bipartiteGraph, {
|
|
662
|
+
directed: false,
|
|
663
|
+
normalizeWeights: true,
|
|
664
|
+
});
|
|
665
|
+
const analyzer = new MinCutAnalyzer_js_1.MinCutAnalyzer({ timeout: 5000 });
|
|
666
|
+
const minCutResult = await analyzer.computeMinCut(minCutInput);
|
|
667
|
+
// Calculate isolation score (lower cut value = better isolation)
|
|
668
|
+
// Normalize by number of test files to get score between 0 and 1
|
|
669
|
+
const maxPossibleEdges = testNodes.length * productionNodes.length;
|
|
670
|
+
const score = maxPossibleEdges > 0
|
|
671
|
+
? 1.0 - Math.min(1.0, minCutResult.cutValue / Math.sqrt(maxPossibleEdges))
|
|
672
|
+
: 1.0;
|
|
673
|
+
return {
|
|
674
|
+
score,
|
|
675
|
+
testFiles: testNodes.map(n => n.filePath),
|
|
676
|
+
productionFiles: productionNodes.map(n => n.filePath),
|
|
677
|
+
crossingDependencies: minCutResult.cutEdges.length,
|
|
678
|
+
};
|
|
679
|
+
}
|
|
390
680
|
/**
|
|
391
681
|
* Create empty graph structure.
|
|
392
682
|
*/
|
|
@@ -411,6 +701,233 @@ class GraphBuilder {
|
|
|
411
701
|
generateEdgeId() {
|
|
412
702
|
return `edge_${++this.edgeIdCounter}`;
|
|
413
703
|
}
|
|
704
|
+
/**
|
|
705
|
+
* Group nodes by their module (directory path).
|
|
706
|
+
*/
|
|
707
|
+
groupNodesByModule(nodes) {
|
|
708
|
+
const modules = {};
|
|
709
|
+
for (const node of nodes) {
|
|
710
|
+
// Extract module name from file path (directory)
|
|
711
|
+
const moduleName = node.filePath.split('/').slice(0, -1).join('/') || '/';
|
|
712
|
+
if (!modules[moduleName]) {
|
|
713
|
+
modules[moduleName] = [];
|
|
714
|
+
}
|
|
715
|
+
modules[moduleName].push(node);
|
|
716
|
+
}
|
|
717
|
+
return modules;
|
|
718
|
+
}
|
|
719
|
+
/**
|
|
720
|
+
* Check if there's a circular dependency between two module groups.
|
|
721
|
+
*/
|
|
722
|
+
hasCircularDependency(module1Nodes, module2Nodes, edges) {
|
|
723
|
+
const module1Ids = new Set(module1Nodes.map(n => n.id));
|
|
724
|
+
const module2Ids = new Set(module2Nodes.map(n => n.id));
|
|
725
|
+
let hasM1ToM2 = false;
|
|
726
|
+
let hasM2ToM1 = false;
|
|
727
|
+
for (const edge of edges) {
|
|
728
|
+
if (module1Ids.has(edge.source) && module2Ids.has(edge.target)) {
|
|
729
|
+
hasM1ToM2 = true;
|
|
730
|
+
}
|
|
731
|
+
if (module2Ids.has(edge.source) && module1Ids.has(edge.target)) {
|
|
732
|
+
hasM2ToM1 = true;
|
|
733
|
+
}
|
|
734
|
+
if (hasM1ToM2 && hasM2ToM1)
|
|
735
|
+
return true;
|
|
736
|
+
}
|
|
737
|
+
return false;
|
|
738
|
+
}
|
|
739
|
+
/**
|
|
740
|
+
* Find shared dependencies between two modules.
|
|
741
|
+
*/
|
|
742
|
+
findSharedDependencies(module1Nodes, module2Nodes, graph) {
|
|
743
|
+
const module1Ids = new Set(module1Nodes.map(n => n.id));
|
|
744
|
+
const module2Ids = new Set(module2Nodes.map(n => n.id));
|
|
745
|
+
// Find all dependencies of module1
|
|
746
|
+
const module1Deps = new Set();
|
|
747
|
+
for (const edge of graph.edges) {
|
|
748
|
+
if (module1Ids.has(edge.source) && !module1Ids.has(edge.target)) {
|
|
749
|
+
module1Deps.add(edge.target);
|
|
750
|
+
}
|
|
751
|
+
}
|
|
752
|
+
// Find all dependencies of module2
|
|
753
|
+
const module2Deps = new Set();
|
|
754
|
+
for (const edge of graph.edges) {
|
|
755
|
+
if (module2Ids.has(edge.source) && !module2Ids.has(edge.target)) {
|
|
756
|
+
module2Deps.add(edge.target);
|
|
757
|
+
}
|
|
758
|
+
}
|
|
759
|
+
// Find intersection
|
|
760
|
+
const shared = [];
|
|
761
|
+
for (const dep of module1Deps) {
|
|
762
|
+
if (module2Deps.has(dep)) {
|
|
763
|
+
const node = graph.nodes.find(n => n.id === dep);
|
|
764
|
+
if (node) {
|
|
765
|
+
shared.push(node.filePath);
|
|
766
|
+
}
|
|
767
|
+
}
|
|
768
|
+
}
|
|
769
|
+
return shared;
|
|
770
|
+
}
|
|
771
|
+
/**
|
|
772
|
+
* Generate recommendations for reducing module coupling.
|
|
773
|
+
*/
|
|
774
|
+
generateCouplingRecommendations(minCutResult, couplingStrength, circularDependency) {
|
|
775
|
+
const recommendations = [];
|
|
776
|
+
if (couplingStrength > 0.7) {
|
|
777
|
+
recommendations.push('High coupling detected. Consider splitting shared functionality into a separate module.');
|
|
778
|
+
}
|
|
779
|
+
if (circularDependency) {
|
|
780
|
+
recommendations.push('Circular dependency detected. Use dependency inversion or extract shared interface.');
|
|
781
|
+
}
|
|
782
|
+
if (minCutResult.cutEdges.length > 0) {
|
|
783
|
+
const edgeTypes = new Set(minCutResult.cutEdges.map(e => e.edgeType));
|
|
784
|
+
if (edgeTypes.has('extends')) {
|
|
785
|
+
recommendations.push('Inheritance relationship crosses module boundary. Consider composition over inheritance.');
|
|
786
|
+
}
|
|
787
|
+
if (edgeTypes.has('imports')) {
|
|
788
|
+
recommendations.push('Direct imports across modules. Consider using dependency injection or facade pattern.');
|
|
789
|
+
}
|
|
790
|
+
if (edgeTypes.has('calls')) {
|
|
791
|
+
recommendations.push('Function calls across modules. Consider event-driven architecture or message passing.');
|
|
792
|
+
}
|
|
793
|
+
}
|
|
794
|
+
if (recommendations.length === 0) {
|
|
795
|
+
recommendations.push('Coupling is within acceptable range. No immediate action needed.');
|
|
796
|
+
}
|
|
797
|
+
return recommendations;
|
|
798
|
+
}
|
|
799
|
+
/**
|
|
800
|
+
* Find strongly connected components using Tarjan's algorithm.
|
|
801
|
+
*/
|
|
802
|
+
findStronglyConnectedComponents(graph) {
|
|
803
|
+
const sccs = [];
|
|
804
|
+
const visited = new Set();
|
|
805
|
+
const stack = [];
|
|
806
|
+
const lowLink = new Map();
|
|
807
|
+
const indices = new Map();
|
|
808
|
+
const onStack = new Set();
|
|
809
|
+
let index = 0;
|
|
810
|
+
const strongConnect = (nodeId) => {
|
|
811
|
+
indices.set(nodeId, index);
|
|
812
|
+
lowLink.set(nodeId, index);
|
|
813
|
+
index++;
|
|
814
|
+
stack.push(nodeId);
|
|
815
|
+
onStack.add(nodeId);
|
|
816
|
+
// Get neighbors
|
|
817
|
+
const neighbors = graph.edges
|
|
818
|
+
.filter(e => e.source === nodeId)
|
|
819
|
+
.map(e => e.target);
|
|
820
|
+
for (const neighborId of neighbors) {
|
|
821
|
+
if (!indices.has(neighborId)) {
|
|
822
|
+
strongConnect(neighborId);
|
|
823
|
+
lowLink.set(nodeId, Math.min(lowLink.get(nodeId), lowLink.get(neighborId)));
|
|
824
|
+
}
|
|
825
|
+
else if (onStack.has(neighborId)) {
|
|
826
|
+
lowLink.set(nodeId, Math.min(lowLink.get(nodeId), indices.get(neighborId)));
|
|
827
|
+
}
|
|
828
|
+
}
|
|
829
|
+
// If nodeId is a root node, pop the stack to create an SCC
|
|
830
|
+
if (lowLink.get(nodeId) === indices.get(nodeId)) {
|
|
831
|
+
const scc = [];
|
|
832
|
+
let w;
|
|
833
|
+
do {
|
|
834
|
+
w = stack.pop();
|
|
835
|
+
onStack.delete(w);
|
|
836
|
+
const node = graph.nodes.find(n => n.id === w);
|
|
837
|
+
if (node)
|
|
838
|
+
scc.push(node);
|
|
839
|
+
} while (w !== nodeId);
|
|
840
|
+
sccs.push(scc);
|
|
841
|
+
}
|
|
842
|
+
};
|
|
843
|
+
// Run Tarjan's algorithm on all unvisited nodes
|
|
844
|
+
for (const node of graph.nodes) {
|
|
845
|
+
if (!indices.has(node.id)) {
|
|
846
|
+
strongConnect(node.id);
|
|
847
|
+
}
|
|
848
|
+
}
|
|
849
|
+
return sccs;
|
|
850
|
+
}
|
|
851
|
+
/**
|
|
852
|
+
* Estimate effort to break a dependency based on edge type.
|
|
853
|
+
*/
|
|
854
|
+
estimateBreakEffort(edgeType) {
|
|
855
|
+
switch (edgeType) {
|
|
856
|
+
case 'extends':
|
|
857
|
+
case 'implements':
|
|
858
|
+
return 'high'; // Requires refactoring inheritance
|
|
859
|
+
case 'imports':
|
|
860
|
+
case 'calls':
|
|
861
|
+
return 'medium'; // Requires restructuring
|
|
862
|
+
case 'uses':
|
|
863
|
+
case 'parameter':
|
|
864
|
+
case 'returns':
|
|
865
|
+
return 'low'; // Can often be resolved with interfaces
|
|
866
|
+
default:
|
|
867
|
+
return 'medium';
|
|
868
|
+
}
|
|
869
|
+
}
|
|
870
|
+
/**
|
|
871
|
+
* Generate suggestion for breaking a dependency.
|
|
872
|
+
*/
|
|
873
|
+
generateBreakSuggestion(cutEdge) {
|
|
874
|
+
switch (cutEdge.edgeType) {
|
|
875
|
+
case 'extends':
|
|
876
|
+
return 'Replace inheritance with composition or extract common interface';
|
|
877
|
+
case 'implements':
|
|
878
|
+
return 'Move interface to shared module or use dependency inversion';
|
|
879
|
+
case 'imports':
|
|
880
|
+
return 'Introduce abstraction layer or use dependency injection';
|
|
881
|
+
case 'calls':
|
|
882
|
+
return 'Use event-driven architecture or introduce mediator pattern';
|
|
883
|
+
case 'uses':
|
|
884
|
+
return 'Define interface in consuming module (dependency inversion)';
|
|
885
|
+
case 'parameter':
|
|
886
|
+
case 'returns':
|
|
887
|
+
return 'Use generic types or introduce abstraction';
|
|
888
|
+
default:
|
|
889
|
+
return 'Refactor to remove direct dependency';
|
|
890
|
+
}
|
|
891
|
+
}
|
|
892
|
+
/**
|
|
893
|
+
* Assess severity of a circular dependency.
|
|
894
|
+
*/
|
|
895
|
+
assessCycleSeverity(cycleLength, edgeCount) {
|
|
896
|
+
// Longer cycles with more edges are more severe
|
|
897
|
+
if (cycleLength >= 5 || edgeCount >= 10) {
|
|
898
|
+
return 'high';
|
|
899
|
+
}
|
|
900
|
+
else if (cycleLength >= 3 || edgeCount >= 5) {
|
|
901
|
+
return 'medium';
|
|
902
|
+
}
|
|
903
|
+
else {
|
|
904
|
+
return 'low';
|
|
905
|
+
}
|
|
906
|
+
}
|
|
907
|
+
/**
|
|
908
|
+
* Generate recommendations for resolving circular dependencies.
|
|
909
|
+
*/
|
|
910
|
+
generateCycleRecommendations(cycle, breakPoints, severity) {
|
|
911
|
+
const recommendations = [];
|
|
912
|
+
if (severity === 'high') {
|
|
913
|
+
recommendations.push('Critical: Large circular dependency detected. Plan major refactoring.');
|
|
914
|
+
}
|
|
915
|
+
// Sort break points by effort
|
|
916
|
+
const sortedBreakPoints = [...breakPoints].sort((a, b) => {
|
|
917
|
+
const effortOrder = { low: 1, medium: 2, high: 3 };
|
|
918
|
+
return effortOrder[a.effort] - effortOrder[b.effort];
|
|
919
|
+
});
|
|
920
|
+
if (sortedBreakPoints.length > 0) {
|
|
921
|
+
const easiest = sortedBreakPoints[0];
|
|
922
|
+
recommendations.push(`Easiest break point: ${easiest.source} -> ${easiest.target} (${easiest.effort} effort)`);
|
|
923
|
+
recommendations.push(`Suggestion: ${easiest.suggestion}`);
|
|
924
|
+
}
|
|
925
|
+
recommendations.push('Consider using dependency inversion principle to break the cycle');
|
|
926
|
+
if (cycle.length > 3) {
|
|
927
|
+
recommendations.push('Extract common functionality into a separate shared module');
|
|
928
|
+
}
|
|
929
|
+
return recommendations;
|
|
930
|
+
}
|
|
414
931
|
}
|
|
415
932
|
exports.GraphBuilder = GraphBuilder;
|
|
416
933
|
//# sourceMappingURL=GraphBuilder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphBuilder.js","sourceRoot":"","sources":["../../../src/code-intelligence/graph/GraphBuilder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GraphBuilder.js","sourceRoot":"","sources":["../../../src/code-intelligence/graph/GraphBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeIntelligenceOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAKtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAKvE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,kBAAkB,EAAwB,MAAM,iCAAiC,CAAC;AAM3F,OAAO,EACL,4BAA4B,EAE7B,MAAM,2CAA2C,CAAC;AAInD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EACL,kBAAkB,EAElB,cAAc,EACd,YAAY,EACZ,WAAW,EACX,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAEpB,qBAAa,4BAA6B,SAAQ,YAAY;IAC5D,OAAO,CAAC,MAAM,CAAqB;IAGnC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"CodeIntelligenceOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAKtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAKvE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,kBAAkB,EAAwB,MAAM,iCAAiC,CAAC;AAM3F,OAAO,EACL,4BAA4B,EAE7B,MAAM,2CAA2C,CAAC;AAInD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EACL,kBAAkB,EAElB,cAAc,EACd,YAAY,EACZ,WAAW,EACX,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAEpB,qBAAa,4BAA6B,SAAQ,YAAY;IAC5D,OAAO,CAAC,MAAM,CAAqB;IAGnC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,WAAW,CAAoB;IAGvC,OAAO,CAAC,UAAU,CAA6C;IAG/D,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,cAAc,CAAoC;gBAE9C,MAAM,GAAE,OAAO,CAAC,kBAAkB,CAAM;IA8CpD;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgCjC;;OAEG;IACG,YAAY,CAChB,OAAO,CAAC,EAAE,MAAM,EAChB,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,cAAc,CAAC;IA2G1B;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAyDpE;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAmDxD;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAMpC;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC;;OAEG;IACG,aAAa,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAOhE;;OAEG;IACH,QAAQ,IAAI;QACV,OAAO,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAClE,KAAK,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC1D,MAAM,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;KAClE;IAQD;;OAEG;IACH,SAAS,IAAI,kBAAkB;IAI/B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAY5B;;OAEG;IACH,eAAe,IAAI,OAAO;IAI1B;;OAEG;IACH,aAAa,IAAI,4BAA4B,GAAG,IAAI;IAIpD;;OAEG;IACH,eAAe,IAAI,YAAY;IAI/B;;OAEG;IACH,eAAe,IAAI,kBAAkB;IAIrC;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAc/B;;OAEG;YACW,WAAW;IA2KzB;;OAEG;YACW,6BAA6B;IAsB3C;;OAEG;YACW,iBAAiB;IAY/B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAkB/B;;OAEG;YACW,kBAAkB;IAsDhC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAiEjC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAanC;;OAEG;YACW,aAAa;IA+B3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAkBtB;;OAEG;IACH,OAAO,CAAC,YAAY;CASrB"}
|