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.
Files changed (182) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/README.md +26 -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/commands/providers/index.d.ts +20 -0
  16. package/dist/cli/commands/providers/index.d.ts.map +1 -0
  17. package/dist/cli/commands/providers/index.js +143 -0
  18. package/dist/cli/commands/providers/index.js.map +1 -0
  19. package/dist/cli/commands/providers/status.d.ts +117 -0
  20. package/dist/cli/commands/providers/status.d.ts.map +1 -0
  21. package/dist/cli/commands/providers/status.js +368 -0
  22. package/dist/cli/commands/providers/status.js.map +1 -0
  23. package/dist/cli/index.js +99 -62
  24. package/dist/cli/index.js.map +1 -1
  25. package/dist/cli/init/claude-config.js +2 -2
  26. package/dist/code-intelligence/analysis/mincut/CircularDependencyDetector.d.ts +148 -0
  27. package/dist/code-intelligence/analysis/mincut/CircularDependencyDetector.d.ts.map +1 -0
  28. package/dist/code-intelligence/analysis/mincut/CircularDependencyDetector.js +393 -0
  29. package/dist/code-intelligence/analysis/mincut/CircularDependencyDetector.js.map +1 -0
  30. package/dist/code-intelligence/analysis/mincut/GraphAdapter.d.ts +169 -0
  31. package/dist/code-intelligence/analysis/mincut/GraphAdapter.d.ts.map +1 -0
  32. package/dist/code-intelligence/analysis/mincut/GraphAdapter.js +335 -0
  33. package/dist/code-intelligence/analysis/mincut/GraphAdapter.js.map +1 -0
  34. package/dist/code-intelligence/analysis/mincut/JsMinCut.d.ts +55 -0
  35. package/dist/code-intelligence/analysis/mincut/JsMinCut.d.ts.map +1 -0
  36. package/dist/code-intelligence/analysis/mincut/JsMinCut.js +265 -0
  37. package/dist/code-intelligence/analysis/mincut/JsMinCut.js.map +1 -0
  38. package/dist/code-intelligence/analysis/mincut/MinCutAnalyzer.d.ts +92 -0
  39. package/dist/code-intelligence/analysis/mincut/MinCutAnalyzer.d.ts.map +1 -0
  40. package/dist/code-intelligence/analysis/mincut/MinCutAnalyzer.js +200 -0
  41. package/dist/code-intelligence/analysis/mincut/MinCutAnalyzer.js.map +1 -0
  42. package/dist/code-intelligence/analysis/mincut/ModuleCouplingAnalyzer.d.ts +157 -0
  43. package/dist/code-intelligence/analysis/mincut/ModuleCouplingAnalyzer.d.ts.map +1 -0
  44. package/dist/code-intelligence/analysis/mincut/ModuleCouplingAnalyzer.js +434 -0
  45. package/dist/code-intelligence/analysis/mincut/ModuleCouplingAnalyzer.js.map +1 -0
  46. package/dist/code-intelligence/analysis/mincut/index.d.ts +12 -0
  47. package/dist/code-intelligence/analysis/mincut/index.d.ts.map +1 -0
  48. package/dist/code-intelligence/analysis/mincut/index.js +20 -0
  49. package/dist/code-intelligence/analysis/mincut/index.js.map +1 -0
  50. package/dist/code-intelligence/analysis/mincut/types.d.ts +145 -0
  51. package/dist/code-intelligence/analysis/mincut/types.d.ts.map +1 -0
  52. package/dist/code-intelligence/analysis/mincut/types.js +16 -0
  53. package/dist/code-intelligence/analysis/mincut/types.js.map +1 -0
  54. package/dist/code-intelligence/chunking/ASTChunker.d.ts +1 -1
  55. package/dist/code-intelligence/chunking/ASTChunker.d.ts.map +1 -1
  56. package/dist/code-intelligence/chunking/ASTChunker.js +4 -4
  57. package/dist/code-intelligence/chunking/ASTChunker.js.map +1 -1
  58. package/dist/code-intelligence/graph/GraphBuilder.d.ts +120 -0
  59. package/dist/code-intelligence/graph/GraphBuilder.d.ts.map +1 -1
  60. package/dist/code-intelligence/graph/GraphBuilder.js +517 -0
  61. package/dist/code-intelligence/graph/GraphBuilder.js.map +1 -1
  62. package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.d.ts.map +1 -1
  63. package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.js +3 -3
  64. package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.js.map +1 -1
  65. package/dist/code-intelligence/parser/{TreeSitterParser.d.ts → WebTreeSitterParser.d.ts} +45 -10
  66. package/dist/code-intelligence/parser/WebTreeSitterParser.d.ts.map +1 -0
  67. package/dist/code-intelligence/parser/{TreeSitterParser.js → WebTreeSitterParser.js} +147 -54
  68. package/dist/code-intelligence/parser/WebTreeSitterParser.js.map +1 -0
  69. package/dist/code-intelligence/parser/extractors/BaseExtractor.d.ts +12 -10
  70. package/dist/code-intelligence/parser/extractors/BaseExtractor.d.ts.map +1 -1
  71. package/dist/code-intelligence/parser/extractors/BaseExtractor.js +7 -3
  72. package/dist/code-intelligence/parser/extractors/BaseExtractor.js.map +1 -1
  73. package/dist/code-intelligence/parser/extractors/GoExtractor.d.ts +7 -5
  74. package/dist/code-intelligence/parser/extractors/GoExtractor.d.ts.map +1 -1
  75. package/dist/code-intelligence/parser/extractors/GoExtractor.js +2 -2
  76. package/dist/code-intelligence/parser/extractors/GoExtractor.js.map +1 -1
  77. package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.d.ts +7 -5
  78. package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.d.ts.map +1 -1
  79. package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.js +2 -2
  80. package/dist/code-intelligence/parser/extractors/JavaScriptExtractor.js.map +1 -1
  81. package/dist/code-intelligence/parser/extractors/PythonExtractor.d.ts +7 -5
  82. package/dist/code-intelligence/parser/extractors/PythonExtractor.d.ts.map +1 -1
  83. package/dist/code-intelligence/parser/extractors/PythonExtractor.js +2 -2
  84. package/dist/code-intelligence/parser/extractors/PythonExtractor.js.map +1 -1
  85. package/dist/code-intelligence/parser/extractors/RustExtractor.d.ts +7 -5
  86. package/dist/code-intelligence/parser/extractors/RustExtractor.d.ts.map +1 -1
  87. package/dist/code-intelligence/parser/extractors/RustExtractor.js +2 -2
  88. package/dist/code-intelligence/parser/extractors/RustExtractor.js.map +1 -1
  89. package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.d.ts +7 -5
  90. package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.d.ts.map +1 -1
  91. package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.js +2 -2
  92. package/dist/code-intelligence/parser/extractors/TypeScriptExtractor.js.map +1 -1
  93. package/dist/code-intelligence/parser/index.d.ts +7 -1
  94. package/dist/code-intelligence/parser/index.d.ts.map +1 -1
  95. package/dist/code-intelligence/parser/index.js +11 -3
  96. package/dist/code-intelligence/parser/index.js.map +1 -1
  97. package/dist/code-intelligence/service/CodeIntelligenceService.d.ts.map +1 -1
  98. package/dist/code-intelligence/service/CodeIntelligenceService.js +7 -5
  99. package/dist/code-intelligence/service/CodeIntelligenceService.js.map +1 -1
  100. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  101. package/dist/coverage/CriticalPathDetector.d.ts +240 -0
  102. package/dist/coverage/CriticalPathDetector.d.ts.map +1 -0
  103. package/dist/coverage/CriticalPathDetector.js +388 -0
  104. package/dist/coverage/CriticalPathDetector.js.map +1 -0
  105. package/dist/coverage/index.d.ts +13 -0
  106. package/dist/coverage/index.d.ts.map +1 -0
  107. package/dist/coverage/index.js +16 -0
  108. package/dist/coverage/index.js.map +1 -0
  109. package/dist/fleet/topology/SPOFMonitor.d.ts +181 -0
  110. package/dist/fleet/topology/SPOFMonitor.d.ts.map +1 -0
  111. package/dist/fleet/topology/SPOFMonitor.js +286 -0
  112. package/dist/fleet/topology/SPOFMonitor.js.map +1 -0
  113. package/dist/fleet/topology/TopologyMinCutAnalyzer.d.ts +87 -0
  114. package/dist/fleet/topology/TopologyMinCutAnalyzer.d.ts.map +1 -0
  115. package/dist/fleet/topology/TopologyMinCutAnalyzer.js +472 -0
  116. package/dist/fleet/topology/TopologyMinCutAnalyzer.js.map +1 -0
  117. package/dist/fleet/topology/index.d.ts +13 -0
  118. package/dist/fleet/topology/index.d.ts.map +1 -0
  119. package/dist/fleet/topology/index.js +20 -0
  120. package/dist/fleet/topology/index.js.map +1 -0
  121. package/dist/fleet/topology/types.d.ts +139 -0
  122. package/dist/fleet/topology/types.d.ts.map +1 -0
  123. package/dist/fleet/topology/types.js +19 -0
  124. package/dist/fleet/topology/types.js.map +1 -0
  125. package/dist/mcp/handlers/test/test-execute-parallel.d.ts +34 -3
  126. package/dist/mcp/handlers/test/test-execute-parallel.d.ts.map +1 -1
  127. package/dist/mcp/handlers/test/test-execute-parallel.js +120 -5
  128. package/dist/mcp/handlers/test/test-execute-parallel.js.map +1 -1
  129. package/dist/mcp/server-instructions.d.ts +2 -2
  130. package/dist/mcp/server-instructions.d.ts.map +1 -1
  131. package/dist/mcp/server-instructions.js +2 -2
  132. package/dist/monitoring/ProviderHealthMonitor.d.ts +195 -0
  133. package/dist/monitoring/ProviderHealthMonitor.d.ts.map +1 -0
  134. package/dist/monitoring/ProviderHealthMonitor.js +431 -0
  135. package/dist/monitoring/ProviderHealthMonitor.js.map +1 -0
  136. package/dist/monitoring/QuotaManager.d.ts +122 -0
  137. package/dist/monitoring/QuotaManager.d.ts.map +1 -0
  138. package/dist/monitoring/QuotaManager.js +351 -0
  139. package/dist/monitoring/QuotaManager.js.map +1 -0
  140. package/dist/providers/GitHubModelsProvider.d.ts +117 -0
  141. package/dist/providers/GitHubModelsProvider.d.ts.map +1 -0
  142. package/dist/providers/GitHubModelsProvider.js +464 -0
  143. package/dist/providers/GitHubModelsProvider.js.map +1 -0
  144. package/dist/providers/GroqProvider.d.ts +115 -0
  145. package/dist/providers/GroqProvider.d.ts.map +1 -0
  146. package/dist/providers/GroqProvider.js +443 -0
  147. package/dist/providers/GroqProvider.js.map +1 -0
  148. package/dist/providers/HybridRouterHealthIntegration.d.ts +191 -0
  149. package/dist/providers/HybridRouterHealthIntegration.d.ts.map +1 -0
  150. package/dist/providers/HybridRouterHealthIntegration.js +439 -0
  151. package/dist/providers/HybridRouterHealthIntegration.js.map +1 -0
  152. package/dist/providers/index.d.ts +6 -0
  153. package/dist/providers/index.d.ts.map +1 -1
  154. package/dist/providers/index.js +12 -1
  155. package/dist/providers/index.js.map +1 -1
  156. package/dist/test/partition/MinCutPartitioner.d.ts +97 -0
  157. package/dist/test/partition/MinCutPartitioner.d.ts.map +1 -0
  158. package/dist/test/partition/MinCutPartitioner.js +459 -0
  159. package/dist/test/partition/MinCutPartitioner.js.map +1 -0
  160. package/dist/test/partition/RealTestExecutor.d.ts +86 -0
  161. package/dist/test/partition/RealTestExecutor.d.ts.map +1 -0
  162. package/dist/test/partition/RealTestExecutor.js +279 -0
  163. package/dist/test/partition/RealTestExecutor.js.map +1 -0
  164. package/dist/test/partition/TestDependencyAnalyzer.d.ts +75 -0
  165. package/dist/test/partition/TestDependencyAnalyzer.d.ts.map +1 -0
  166. package/dist/test/partition/TestDependencyAnalyzer.js +297 -0
  167. package/dist/test/partition/TestDependencyAnalyzer.js.map +1 -0
  168. package/dist/test/partition/index.d.ts +10 -0
  169. package/dist/test/partition/index.d.ts.map +1 -0
  170. package/dist/test/partition/index.js +26 -0
  171. package/dist/test/partition/index.js.map +1 -0
  172. package/dist/test/partition/types.d.ts +120 -0
  173. package/dist/test/partition/types.d.ts.map +1 -0
  174. package/dist/test/partition/types.js +21 -0
  175. package/dist/test/partition/types.js.map +1 -0
  176. package/package.json +5 -8
  177. package/dist/cli/commands/providers.d.ts +0 -50
  178. package/dist/cli/commands/providers.d.ts.map +0 -1
  179. package/dist/cli/commands/providers.js +0 -403
  180. package/dist/cli/commands/providers.js.map +0 -1
  181. package/dist/code-intelligence/parser/TreeSitterParser.d.ts.map +0 -1
  182. package/dist/code-intelligence/parser/TreeSitterParser.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CriticalPathDetector.js","sourceRoot":"","sources":["../../src/coverage/CriticalPathDetector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Coverage Analysis Module
3
+ *
4
+ * Provides coverage collection, reporting, and critical path detection
5
+ * for intelligent test prioritization.
6
+ */
7
+ export { CoverageCollector } from './coverage-collector.js';
8
+ export type { CoverageData, FileCoverage, CoverageCollectorConfig, } from './coverage-collector.js';
9
+ export { CoverageReporter } from './coverage-reporter.js';
10
+ export type { ReportConfig, CoverageReport } from './coverage-reporter.js';
11
+ export { CriticalPathDetector } from './CriticalPathDetector.js';
12
+ export type { CoverageNode, CoverageEdge, CriticalPathInput, CriticalPath, PrioritizedCoverageGap, CriticalPathResult, BottleneckNode, GraphMetrics, CriticalPathConfig, } from './CriticalPathDetector.js';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/coverage/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,kBAAkB,GACnB,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ /**
3
+ * Coverage Analysis Module
4
+ *
5
+ * Provides coverage collection, reporting, and critical path detection
6
+ * for intelligent test prioritization.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.CriticalPathDetector = exports.CoverageReporter = exports.CoverageCollector = void 0;
10
+ var coverage_collector_js_1 = require("./coverage-collector.js");
11
+ Object.defineProperty(exports, "CoverageCollector", { enumerable: true, get: function () { return coverage_collector_js_1.CoverageCollector; } });
12
+ var coverage_reporter_js_1 = require("./coverage-reporter.js");
13
+ Object.defineProperty(exports, "CoverageReporter", { enumerable: true, get: function () { return coverage_reporter_js_1.CoverageReporter; } });
14
+ var CriticalPathDetector_js_1 = require("./CriticalPathDetector.js");
15
+ Object.defineProperty(exports, "CriticalPathDetector", { enumerable: true, get: function () { return CriticalPathDetector_js_1.CriticalPathDetector; } });
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/coverage/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,iEAA4D;AAAnD,0HAAA,iBAAiB,OAAA;AAO1B,+DAA0D;AAAjD,wHAAA,gBAAgB,OAAA;AAGzB,qEAAiE;AAAxD,+HAAA,oBAAoB,OAAA"}
@@ -0,0 +1,181 @@
1
+ /**
2
+ * SPOFMonitor - Real-time Single Point of Failure Monitoring
3
+ *
4
+ * Monitors fleet topology changes and automatically detects SPOFs.
5
+ * Emits events when:
6
+ * - Critical SPOFs are detected
7
+ * - Resilience score drops below threshold
8
+ * - Topology changes significantly
9
+ */
10
+ import { EventEmitter } from 'events';
11
+ import { TopologyMinCutAnalyzer } from './TopologyMinCutAnalyzer.js';
12
+ import { FleetTopology, ResilienceResult, SPOFResult, TopologyAnalysisConfig } from './types.js';
13
+ /**
14
+ * Configuration for SPOF monitoring
15
+ */
16
+ export interface SPOFMonitorConfig {
17
+ /** Enable/disable monitoring */
18
+ enabled?: boolean;
19
+ /** Minimum time between analyses (debounce) in ms */
20
+ debounceInterval?: number;
21
+ /** Resilience score threshold for warnings */
22
+ resilienceThreshold?: number;
23
+ /** Maximum number of critical SPOFs before alert */
24
+ maxCriticalSpofs?: number;
25
+ /** History size for trend analysis */
26
+ historySize?: number;
27
+ /** Analysis configuration */
28
+ analysisConfig?: TopologyAnalysisConfig;
29
+ }
30
+ /**
31
+ * Default SPOF monitor configuration
32
+ */
33
+ export declare const DEFAULT_SPOF_MONITOR_CONFIG: Required<SPOFMonitorConfig>;
34
+ /**
35
+ * SPOF monitoring events
36
+ */
37
+ export type SPOFMonitorEvents = {
38
+ /** Emitted when critical SPOFs are detected */
39
+ 'spof:critical': {
40
+ spofs: SPOFResult[];
41
+ result: ResilienceResult;
42
+ };
43
+ /** Emitted when resilience drops below threshold */
44
+ 'resilience:low': {
45
+ score: number;
46
+ threshold: number;
47
+ result: ResilienceResult;
48
+ };
49
+ /** Emitted when resilience is restored above threshold */
50
+ 'resilience:restored': {
51
+ score: number;
52
+ previousScore: number;
53
+ };
54
+ /** Emitted when topology changes significantly */
55
+ 'topology:changed': {
56
+ nodesDelta: number;
57
+ edgesDelta: number;
58
+ };
59
+ /** Emitted after each analysis */
60
+ 'analysis:complete': {
61
+ result: ResilienceResult;
62
+ };
63
+ /** Emitted on analysis error */
64
+ 'analysis:error': {
65
+ error: Error;
66
+ };
67
+ };
68
+ /**
69
+ * Resilience history entry
70
+ */
71
+ interface ResilienceHistoryEntry {
72
+ timestamp: Date;
73
+ score: number;
74
+ grade: ResilienceResult['grade'];
75
+ criticalSpofs: number;
76
+ totalNodes: number;
77
+ totalEdges: number;
78
+ }
79
+ /**
80
+ * Real-time SPOF Monitor
81
+ *
82
+ * @example
83
+ * ```typescript
84
+ * const monitor = new SPOFMonitor({
85
+ * resilienceThreshold: 0.7,
86
+ * maxCriticalSpofs: 0,
87
+ * });
88
+ *
89
+ * monitor.on('spof:critical', ({ spofs, result }) => {
90
+ * console.log(`ALERT: ${spofs.length} critical SPOFs detected!`);
91
+ * });
92
+ *
93
+ * // Feed topology updates
94
+ * monitor.onTopologyChanged(newTopology);
95
+ * ```
96
+ */
97
+ export declare class SPOFMonitor extends EventEmitter {
98
+ private config;
99
+ private analyzer;
100
+ private lastTopology?;
101
+ private lastResult?;
102
+ private history;
103
+ private analysisTimeout?;
104
+ private isAnalyzing;
105
+ private started;
106
+ constructor(config?: SPOFMonitorConfig);
107
+ /**
108
+ * Start monitoring
109
+ */
110
+ start(): void;
111
+ /**
112
+ * Stop monitoring
113
+ */
114
+ stop(): void;
115
+ /**
116
+ * Check if monitoring is active
117
+ */
118
+ isRunning(): boolean;
119
+ /**
120
+ * Handle topology change event
121
+ *
122
+ * @param topology - New fleet topology
123
+ */
124
+ onTopologyChanged(topology: FleetTopology): Promise<void>;
125
+ /**
126
+ * Force immediate analysis
127
+ *
128
+ * @param topology - Fleet topology to analyze
129
+ */
130
+ analyzeNow(topology: FleetTopology): Promise<ResilienceResult>;
131
+ /**
132
+ * Get current resilience status
133
+ */
134
+ getStatus(): {
135
+ lastResult?: ResilienceResult;
136
+ isHealthy: boolean;
137
+ trend: 'improving' | 'stable' | 'declining' | 'unknown';
138
+ };
139
+ /**
140
+ * Get resilience history
141
+ */
142
+ getHistory(): ResilienceHistoryEntry[];
143
+ /**
144
+ * Schedule debounced analysis
145
+ */
146
+ private scheduleAnalysis;
147
+ /**
148
+ * Perform resilience analysis
149
+ */
150
+ private performAnalysis;
151
+ /**
152
+ * Process analysis result and emit appropriate events
153
+ */
154
+ private processResult;
155
+ /**
156
+ * Add result to history
157
+ */
158
+ private addToHistory;
159
+ /**
160
+ * Calculate resilience trend from history
161
+ */
162
+ private calculateTrend;
163
+ /**
164
+ * Get the underlying analyzer
165
+ */
166
+ getAnalyzer(): TopologyMinCutAnalyzer;
167
+ /**
168
+ * Override EventEmitter.emit for type safety
169
+ */
170
+ emit<K extends keyof SPOFMonitorEvents>(event: K, data: SPOFMonitorEvents[K]): boolean;
171
+ /**
172
+ * Override EventEmitter.on for type safety
173
+ */
174
+ on<K extends keyof SPOFMonitorEvents>(event: K, listener: (data: SPOFMonitorEvents[K]) => void): this;
175
+ /**
176
+ * Override EventEmitter.once for type safety
177
+ */
178
+ once<K extends keyof SPOFMonitorEvents>(event: K, listener: (data: SPOFMonitorEvents[K]) => void): this;
179
+ }
180
+ export {};
181
+ //# sourceMappingURL=SPOFMonitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SPOFMonitor.d.ts","sourceRoot":"","sources":["../../../src/fleet/topology/SPOFMonitor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,286 @@
1
+ "use strict";
2
+ /**
3
+ * SPOFMonitor - Real-time Single Point of Failure Monitoring
4
+ *
5
+ * Monitors fleet topology changes and automatically detects SPOFs.
6
+ * Emits events when:
7
+ * - Critical SPOFs are detected
8
+ * - Resilience score drops below threshold
9
+ * - Topology changes significantly
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SPOFMonitor = exports.DEFAULT_SPOF_MONITOR_CONFIG = void 0;
13
+ const events_1 = require("events");
14
+ const TopologyMinCutAnalyzer_js_1 = require("./TopologyMinCutAnalyzer.js");
15
+ const types_js_1 = require("./types.js");
16
+ const Logger_js_1 = require("../../utils/Logger.js");
17
+ const logger = Logger_js_1.Logger.getInstance();
18
+ /**
19
+ * Default SPOF monitor configuration
20
+ */
21
+ exports.DEFAULT_SPOF_MONITOR_CONFIG = {
22
+ enabled: true,
23
+ debounceInterval: 5000,
24
+ resilienceThreshold: 0.6,
25
+ maxCriticalSpofs: 0,
26
+ historySize: 50,
27
+ analysisConfig: types_js_1.DEFAULT_TOPOLOGY_ANALYSIS_CONFIG,
28
+ };
29
+ /**
30
+ * Real-time SPOF Monitor
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * const monitor = new SPOFMonitor({
35
+ * resilienceThreshold: 0.7,
36
+ * maxCriticalSpofs: 0,
37
+ * });
38
+ *
39
+ * monitor.on('spof:critical', ({ spofs, result }) => {
40
+ * console.log(`ALERT: ${spofs.length} critical SPOFs detected!`);
41
+ * });
42
+ *
43
+ * // Feed topology updates
44
+ * monitor.onTopologyChanged(newTopology);
45
+ * ```
46
+ */
47
+ class SPOFMonitor extends events_1.EventEmitter {
48
+ constructor(config = {}) {
49
+ super();
50
+ this.history = [];
51
+ this.isAnalyzing = false;
52
+ this.started = false;
53
+ this.config = { ...exports.DEFAULT_SPOF_MONITOR_CONFIG, ...config };
54
+ this.analyzer = new TopologyMinCutAnalyzer_js_1.TopologyMinCutAnalyzer(this.config.analysisConfig);
55
+ logger.info('SPOFMonitor initialized', {
56
+ resilienceThreshold: this.config.resilienceThreshold,
57
+ maxCriticalSpofs: this.config.maxCriticalSpofs,
58
+ debounceInterval: this.config.debounceInterval,
59
+ });
60
+ }
61
+ /**
62
+ * Start monitoring
63
+ */
64
+ start() {
65
+ if (this.started)
66
+ return;
67
+ this.started = true;
68
+ logger.info('SPOFMonitor started');
69
+ }
70
+ /**
71
+ * Stop monitoring
72
+ */
73
+ stop() {
74
+ this.started = false;
75
+ if (this.analysisTimeout) {
76
+ clearTimeout(this.analysisTimeout);
77
+ this.analysisTimeout = undefined;
78
+ }
79
+ logger.info('SPOFMonitor stopped');
80
+ }
81
+ /**
82
+ * Check if monitoring is active
83
+ */
84
+ isRunning() {
85
+ return this.started && this.config.enabled;
86
+ }
87
+ /**
88
+ * Handle topology change event
89
+ *
90
+ * @param topology - New fleet topology
91
+ */
92
+ async onTopologyChanged(topology) {
93
+ if (!this.isRunning())
94
+ return;
95
+ // Detect significant changes
96
+ if (this.lastTopology) {
97
+ const nodesDelta = topology.nodes.length - this.lastTopology.nodes.length;
98
+ const edgesDelta = topology.edges.length - this.lastTopology.edges.length;
99
+ if (nodesDelta !== 0 || edgesDelta !== 0) {
100
+ this.emit('topology:changed', { nodesDelta, edgesDelta });
101
+ }
102
+ }
103
+ this.lastTopology = topology;
104
+ // Debounce analysis
105
+ this.scheduleAnalysis(topology);
106
+ }
107
+ /**
108
+ * Force immediate analysis
109
+ *
110
+ * @param topology - Fleet topology to analyze
111
+ */
112
+ async analyzeNow(topology) {
113
+ // Cancel any pending debounced analysis
114
+ if (this.analysisTimeout) {
115
+ clearTimeout(this.analysisTimeout);
116
+ this.analysisTimeout = undefined;
117
+ }
118
+ return this.performAnalysis(topology);
119
+ }
120
+ /**
121
+ * Get current resilience status
122
+ */
123
+ getStatus() {
124
+ const trend = this.calculateTrend();
125
+ const isHealthy = !this.lastResult ||
126
+ (this.lastResult.score >= this.config.resilienceThreshold &&
127
+ this.lastResult.criticalSpofs.length <= this.config.maxCriticalSpofs);
128
+ return {
129
+ lastResult: this.lastResult,
130
+ isHealthy,
131
+ trend,
132
+ };
133
+ }
134
+ /**
135
+ * Get resilience history
136
+ */
137
+ getHistory() {
138
+ return [...this.history];
139
+ }
140
+ /**
141
+ * Schedule debounced analysis
142
+ */
143
+ scheduleAnalysis(topology) {
144
+ if (this.analysisTimeout) {
145
+ clearTimeout(this.analysisTimeout);
146
+ }
147
+ this.analysisTimeout = setTimeout(async () => {
148
+ await this.performAnalysis(topology);
149
+ }, this.config.debounceInterval);
150
+ }
151
+ /**
152
+ * Perform resilience analysis
153
+ */
154
+ async performAnalysis(topology) {
155
+ if (this.isAnalyzing) {
156
+ logger.warn('Analysis already in progress, skipping');
157
+ return this.lastResult;
158
+ }
159
+ this.isAnalyzing = true;
160
+ try {
161
+ const result = await this.analyzer.analyzeResilience(topology);
162
+ const previousScore = this.lastResult?.score;
163
+ this.lastResult = result;
164
+ this.addToHistory(result, topology);
165
+ // Emit events based on analysis
166
+ this.processResult(result, previousScore);
167
+ this.emit('analysis:complete', { result });
168
+ return result;
169
+ }
170
+ catch (error) {
171
+ logger.error('SPOF analysis failed', { error });
172
+ this.emit('analysis:error', { error: error });
173
+ throw error;
174
+ }
175
+ finally {
176
+ this.isAnalyzing = false;
177
+ }
178
+ }
179
+ /**
180
+ * Process analysis result and emit appropriate events
181
+ */
182
+ processResult(result, previousScore) {
183
+ // Check for critical SPOFs
184
+ if (result.criticalSpofs.length > this.config.maxCriticalSpofs) {
185
+ logger.warn('Critical SPOFs detected', {
186
+ count: result.criticalSpofs.length,
187
+ spofs: result.criticalSpofs.map(s => s.agentId),
188
+ });
189
+ this.emit('spof:critical', { spofs: result.criticalSpofs, result });
190
+ }
191
+ // Check for low resilience
192
+ if (result.score < this.config.resilienceThreshold) {
193
+ logger.warn('Low resilience detected', {
194
+ score: result.score,
195
+ threshold: this.config.resilienceThreshold,
196
+ grade: result.grade,
197
+ });
198
+ this.emit('resilience:low', {
199
+ score: result.score,
200
+ threshold: this.config.resilienceThreshold,
201
+ result,
202
+ });
203
+ }
204
+ // Check for resilience restoration
205
+ if (previousScore !== undefined &&
206
+ previousScore < this.config.resilienceThreshold &&
207
+ result.score >= this.config.resilienceThreshold) {
208
+ logger.info('Resilience restored', {
209
+ previousScore,
210
+ currentScore: result.score,
211
+ });
212
+ this.emit('resilience:restored', {
213
+ score: result.score,
214
+ previousScore,
215
+ });
216
+ }
217
+ }
218
+ /**
219
+ * Add result to history
220
+ */
221
+ addToHistory(result, topology) {
222
+ this.history.push({
223
+ timestamp: new Date(),
224
+ score: result.score,
225
+ grade: result.grade,
226
+ criticalSpofs: result.criticalSpofs.length,
227
+ totalNodes: topology.nodes.length,
228
+ totalEdges: topology.edges.length,
229
+ });
230
+ // Trim history to max size
231
+ if (this.history.length > this.config.historySize) {
232
+ this.history = this.history.slice(-this.config.historySize);
233
+ }
234
+ }
235
+ /**
236
+ * Calculate resilience trend from history
237
+ */
238
+ calculateTrend() {
239
+ if (this.history.length < 3) {
240
+ return 'unknown';
241
+ }
242
+ // Get last 5 entries (or all if less than 5)
243
+ const recentHistory = this.history.slice(-5);
244
+ const scores = recentHistory.map(h => h.score);
245
+ // Calculate trend using simple linear regression
246
+ const n = scores.length;
247
+ const sumX = (n * (n - 1)) / 2;
248
+ const sumY = scores.reduce((a, b) => a + b, 0);
249
+ const sumXY = scores.reduce((sum, score, i) => sum + i * score, 0);
250
+ const sumX2 = (n * (n - 1) * (2 * n - 1)) / 6;
251
+ const slope = (n * sumXY - sumX * sumY) / (n * sumX2 - sumX * sumX);
252
+ if (slope > 0.05) {
253
+ return 'improving';
254
+ }
255
+ else if (slope < -0.05) {
256
+ return 'declining';
257
+ }
258
+ return 'stable';
259
+ }
260
+ /**
261
+ * Get the underlying analyzer
262
+ */
263
+ getAnalyzer() {
264
+ return this.analyzer;
265
+ }
266
+ /**
267
+ * Override EventEmitter.emit for type safety
268
+ */
269
+ emit(event, data) {
270
+ return super.emit(event, data);
271
+ }
272
+ /**
273
+ * Override EventEmitter.on for type safety
274
+ */
275
+ on(event, listener) {
276
+ return super.on(event, listener);
277
+ }
278
+ /**
279
+ * Override EventEmitter.once for type safety
280
+ */
281
+ once(event, listener) {
282
+ return super.once(event, listener);
283
+ }
284
+ }
285
+ exports.SPOFMonitor = SPOFMonitor;
286
+ //# sourceMappingURL=SPOFMonitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SPOFMonitor.js","sourceRoot":"","sources":["../../../src/fleet/topology/SPOFMonitor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * TopologyMinCutAnalyzer
3
+ *
4
+ * Analyzes fleet topology using min-cut algorithms for:
5
+ * - Single Point of Failure (SPOF) detection
6
+ * - Topology resilience scoring
7
+ * - Connectivity analysis
8
+ * - Optimization recommendations
9
+ *
10
+ * Uses the code-intelligence MinCutAnalyzer internally.
11
+ */
12
+ import { MinCutGraphInput } from '../../code-intelligence/analysis/mincut/index.js';
13
+ import { FleetTopology, SPOFResult, ResilienceResult, TopologyAnalysisConfig, TopologyOptimization } from './types.js';
14
+ /**
15
+ * Analyzes fleet topology for vulnerabilities and resilience
16
+ */
17
+ export declare class TopologyMinCutAnalyzer {
18
+ private minCutAnalyzer;
19
+ private config;
20
+ constructor(config?: TopologyAnalysisConfig);
21
+ /**
22
+ * Analyze fleet topology for resilience and SPOFs
23
+ *
24
+ * @param topology - Fleet topology to analyze
25
+ * @returns Comprehensive resilience analysis result
26
+ */
27
+ analyzeResilience(topology: FleetTopology): Promise<ResilienceResult>;
28
+ /**
29
+ * Detect Single Points of Failure in the topology
30
+ *
31
+ * A SPOF is a node whose removal disconnects part of the graph.
32
+ *
33
+ * @param topology - Fleet topology
34
+ * @param graph - Graph representation (optional, will be computed if not provided)
35
+ * @returns Array of SPOF results
36
+ */
37
+ detectSpofs(topology: FleetTopology, graph?: MinCutGraphInput): Promise<SPOFResult[]>;
38
+ /**
39
+ * Get topology optimization suggestions
40
+ *
41
+ * @param topology - Current fleet topology
42
+ * @param resilienceResult - Optional pre-computed resilience result
43
+ * @returns Array of optimization suggestions
44
+ */
45
+ suggestOptimizations(topology: FleetTopology, resilienceResult?: ResilienceResult): Promise<TopologyOptimization[]>;
46
+ /**
47
+ * Convert fleet topology to min-cut graph format
48
+ */
49
+ private topologyToGraph;
50
+ /**
51
+ * Remove a node from the graph
52
+ */
53
+ private removeNodeFromGraph;
54
+ /**
55
+ * Check if graph is connected using BFS
56
+ */
57
+ private isGraphConnected;
58
+ /**
59
+ * Find connected components in the graph
60
+ */
61
+ private findConnectedComponents;
62
+ /**
63
+ * Calculate resilience score (0-1)
64
+ */
65
+ private calculateResilienceScore;
66
+ /**
67
+ * Calculate average path redundancy
68
+ */
69
+ private calculatePathRedundancy;
70
+ /**
71
+ * Determine SPOF severity
72
+ */
73
+ private determineSPOFSeverity;
74
+ /**
75
+ * Generate recommendations for overall topology
76
+ */
77
+ private generateRecommendations;
78
+ /**
79
+ * Generate recommendations for specific SPOF
80
+ */
81
+ private generateSPOFRecommendations;
82
+ /**
83
+ * Calculate topology grade (A-F)
84
+ */
85
+ private calculateGrade;
86
+ }
87
+ //# sourceMappingURL=TopologyMinCutAnalyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TopologyMinCutAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/fleet/topology/TopologyMinCutAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAkB,gBAAgB,EAAgB,MAAM,kDAAkD,CAAC;AAElH,OAAO,EACL,aAAa,EAGb,UAAU,EACV,gBAAgB,EAChB,sBAAsB,EAEtB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAIpB;;GAEG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,MAAM,CAAmC;gBAErC,MAAM,GAAE,sBAA2B;IAW/C;;;;;OAKG;IACU,iBAAiB,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsDlF;;;;;;;;OAQG;IACU,WAAW,CACtB,QAAQ,EAAE,aAAa,EACvB,KAAK,CAAC,EAAE,gBAAgB,GACvB,OAAO,CAAC,UAAU,EAAE,CAAC;IAkExB;;;;;;OAMG;IACU,oBAAoB,CAC/B,QAAQ,EAAE,aAAa,EACvB,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAuElC;;OAEG;IACH,OAAO,CAAC,eAAe;IAmDvB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;OAEG;YACW,gBAAgB;IAiC9B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAuC/B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAsChC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAwB/B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuB7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAmD/B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IA4BnC;;OAEG;IACH,OAAO,CAAC,cAAc;CAavB"}