agentic-qe 1.4.1 → 1.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/.claude/agents/failing-agent.json +9 -0
  2. package/.claude/agents/test-agent.json +9 -0
  3. package/CHANGELOG.md +340 -0
  4. package/README.md +15 -95
  5. package/dist/agents/BaseAgent.d.ts +14 -1
  6. package/dist/agents/BaseAgent.d.ts.map +1 -1
  7. package/dist/agents/BaseAgent.js +46 -2
  8. package/dist/agents/BaseAgent.js.map +1 -1
  9. package/dist/agents/TestGeneratorAgent.d.ts +21 -0
  10. package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
  11. package/dist/agents/TestGeneratorAgent.js +157 -15
  12. package/dist/agents/TestGeneratorAgent.js.map +1 -1
  13. package/dist/agents/index.d.ts.map +1 -1
  14. package/dist/agents/index.js +14 -15
  15. package/dist/agents/index.js.map +1 -1
  16. package/dist/agents/lifecycle/AgentLifecycleManager.d.ts +6 -0
  17. package/dist/agents/lifecycle/AgentLifecycleManager.d.ts.map +1 -1
  18. package/dist/agents/lifecycle/AgentLifecycleManager.js +14 -0
  19. package/dist/agents/lifecycle/AgentLifecycleManager.js.map +1 -1
  20. package/dist/cli/commands/config/set.d.ts +9 -1
  21. package/dist/cli/commands/config/set.d.ts.map +1 -1
  22. package/dist/cli/commands/config/set.js +36 -5
  23. package/dist/cli/commands/config/set.js.map +1 -1
  24. package/dist/cli/commands/init.d.ts.map +1 -1
  25. package/dist/cli/commands/init.js +26 -3
  26. package/dist/cli/commands/init.js.map +1 -1
  27. package/dist/core/Agent.d.ts +1 -1
  28. package/dist/core/Agent.d.ts.map +1 -1
  29. package/dist/core/Agent.js +2 -2
  30. package/dist/core/Agent.js.map +1 -1
  31. package/dist/core/MemoryManager.d.ts.map +1 -1
  32. package/dist/core/MemoryManager.js +4 -1
  33. package/dist/core/MemoryManager.js.map +1 -1
  34. package/dist/core/hooks/RollbackManager.js +2 -2
  35. package/dist/core/hooks/RollbackManager.js.map +1 -1
  36. package/dist/core/memory/AgentDBManager.d.ts.map +1 -1
  37. package/dist/core/memory/AgentDBManager.js +4 -0
  38. package/dist/core/memory/AgentDBManager.js.map +1 -1
  39. package/dist/core/memory/ReasoningBankAdapter.d.ts +11 -0
  40. package/dist/core/memory/ReasoningBankAdapter.d.ts.map +1 -1
  41. package/dist/core/memory/ReasoningBankAdapter.js +15 -0
  42. package/dist/core/memory/ReasoningBankAdapter.js.map +1 -1
  43. package/dist/learning/LearningEngine.d.ts +37 -4
  44. package/dist/learning/LearningEngine.d.ts.map +1 -1
  45. package/dist/learning/LearningEngine.js +171 -133
  46. package/dist/learning/LearningEngine.js.map +1 -1
  47. package/dist/learning/LearningPersistenceAdapter.d.ts +84 -0
  48. package/dist/learning/LearningPersistenceAdapter.d.ts.map +1 -0
  49. package/dist/learning/LearningPersistenceAdapter.js +202 -0
  50. package/dist/learning/LearningPersistenceAdapter.js.map +1 -0
  51. package/dist/learning/__mocks__/LearningEngine.d.ts +39 -0
  52. package/dist/learning/__mocks__/LearningEngine.d.ts.map +1 -0
  53. package/dist/learning/__mocks__/LearningEngine.js +116 -0
  54. package/dist/learning/__mocks__/LearningEngine.js.map +1 -0
  55. package/dist/learning/index.d.ts +1 -0
  56. package/dist/learning/index.d.ts.map +1 -1
  57. package/dist/learning/index.js +1 -0
  58. package/dist/learning/index.js.map +1 -1
  59. package/dist/mcp/handlers/analysis/coverage-analyze-sublinear-handler.d.ts.map +1 -1
  60. package/dist/mcp/handlers/analysis/coverage-analyze-sublinear-handler.js +3 -7
  61. package/dist/mcp/handlers/analysis/coverage-analyze-sublinear-handler.js.map +1 -1
  62. package/dist/mcp/handlers/analysis/coverage-gaps-detect-handler.d.ts.map +1 -1
  63. package/dist/mcp/handlers/analysis/coverage-gaps-detect-handler.js +3 -7
  64. package/dist/mcp/handlers/analysis/coverage-gaps-detect-handler.js.map +1 -1
  65. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.d.ts.map +1 -1
  66. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.js +3 -7
  67. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.js.map +1 -1
  68. package/dist/mcp/handlers/analysis/performance-monitor-realtime-handler.d.ts.map +1 -1
  69. package/dist/mcp/handlers/analysis/performance-monitor-realtime-handler.js +3 -7
  70. package/dist/mcp/handlers/analysis/performance-monitor-realtime-handler.js.map +1 -1
  71. package/dist/mcp/handlers/analysis/security-scan-comprehensive-handler.d.ts.map +1 -1
  72. package/dist/mcp/handlers/analysis/security-scan-comprehensive-handler.js +3 -7
  73. package/dist/mcp/handlers/analysis/security-scan-comprehensive-handler.js.map +1 -1
  74. package/dist/mcp/handlers/base-handler.d.ts +30 -0
  75. package/dist/mcp/handlers/base-handler.d.ts.map +1 -1
  76. package/dist/mcp/handlers/base-handler.js +42 -0
  77. package/dist/mcp/handlers/base-handler.js.map +1 -1
  78. package/dist/mcp/handlers/coordination/event-emit.d.ts.map +1 -1
  79. package/dist/mcp/handlers/coordination/event-emit.js +4 -10
  80. package/dist/mcp/handlers/coordination/event-emit.js.map +1 -1
  81. package/dist/mcp/handlers/coordination/event-subscribe.d.ts.map +1 -1
  82. package/dist/mcp/handlers/coordination/event-subscribe.js +3 -9
  83. package/dist/mcp/handlers/coordination/event-subscribe.js.map +1 -1
  84. package/dist/mcp/handlers/coordination/task-status.d.ts.map +1 -1
  85. package/dist/mcp/handlers/coordination/task-status.js +4 -10
  86. package/dist/mcp/handlers/coordination/task-status.js.map +1 -1
  87. package/dist/mcp/handlers/coordination/workflow-checkpoint.d.ts.map +1 -1
  88. package/dist/mcp/handlers/coordination/workflow-checkpoint.js +4 -10
  89. package/dist/mcp/handlers/coordination/workflow-checkpoint.js.map +1 -1
  90. package/dist/mcp/handlers/coordination/workflow-create.d.ts.map +1 -1
  91. package/dist/mcp/handlers/coordination/workflow-create.js +4 -10
  92. package/dist/mcp/handlers/coordination/workflow-create.js.map +1 -1
  93. package/dist/mcp/handlers/coordination/workflow-execute.d.ts.map +1 -1
  94. package/dist/mcp/handlers/coordination/workflow-execute.js +4 -10
  95. package/dist/mcp/handlers/coordination/workflow-execute.js.map +1 -1
  96. package/dist/mcp/handlers/coordination/workflow-resume.d.ts.map +1 -1
  97. package/dist/mcp/handlers/coordination/workflow-resume.js +4 -10
  98. package/dist/mcp/handlers/coordination/workflow-resume.js.map +1 -1
  99. package/dist/mcp/handlers/memory/memory-backup.d.ts.map +1 -1
  100. package/dist/mcp/handlers/memory/memory-backup.js +3 -7
  101. package/dist/mcp/handlers/memory/memory-backup.js.map +1 -1
  102. package/dist/mcp/handlers/memory/memory-query.d.ts.map +1 -1
  103. package/dist/mcp/handlers/memory/memory-query.js +8 -8
  104. package/dist/mcp/handlers/memory/memory-query.js.map +1 -1
  105. package/dist/mcp/handlers/memory/memory-retrieve.d.ts.map +1 -1
  106. package/dist/mcp/handlers/memory/memory-retrieve.js +3 -7
  107. package/dist/mcp/handlers/memory/memory-retrieve.js.map +1 -1
  108. package/dist/mcp/handlers/memory/memory-share.d.ts.map +1 -1
  109. package/dist/mcp/handlers/memory/memory-share.js +3 -7
  110. package/dist/mcp/handlers/memory/memory-share.js.map +1 -1
  111. package/dist/mcp/handlers/memory/memory-store.d.ts.map +1 -1
  112. package/dist/mcp/handlers/memory/memory-store.js +3 -7
  113. package/dist/mcp/handlers/memory/memory-store.js.map +1 -1
  114. package/dist/mcp/handlers/prediction/deployment-readiness-check.d.ts.map +1 -1
  115. package/dist/mcp/handlers/prediction/deployment-readiness-check.js +4 -8
  116. package/dist/mcp/handlers/prediction/deployment-readiness-check.js.map +1 -1
  117. package/dist/mcp/handlers/prediction/flaky-test-detect.d.ts.map +1 -1
  118. package/dist/mcp/handlers/prediction/flaky-test-detect.js +4 -8
  119. package/dist/mcp/handlers/prediction/flaky-test-detect.js.map +1 -1
  120. package/dist/mcp/handlers/prediction/predict-defects-ai.d.ts.map +1 -1
  121. package/dist/mcp/handlers/prediction/predict-defects-ai.js +4 -8
  122. package/dist/mcp/handlers/prediction/predict-defects-ai.js.map +1 -1
  123. package/dist/mcp/handlers/prediction/regression-risk-analyze.d.ts.map +1 -1
  124. package/dist/mcp/handlers/prediction/regression-risk-analyze.js +4 -8
  125. package/dist/mcp/handlers/prediction/regression-risk-analyze.js.map +1 -1
  126. package/dist/mcp/handlers/prediction/visual-test-regression.d.ts.map +1 -1
  127. package/dist/mcp/handlers/prediction/visual-test-regression.js +4 -8
  128. package/dist/mcp/handlers/prediction/visual-test-regression.js.map +1 -1
  129. package/dist/mcp/handlers/quality/quality-decision-make.d.ts.map +1 -1
  130. package/dist/mcp/handlers/quality/quality-decision-make.js +9 -19
  131. package/dist/mcp/handlers/quality/quality-decision-make.js.map +1 -1
  132. package/dist/mcp/handlers/quality/quality-gate-execute.d.ts.map +1 -1
  133. package/dist/mcp/handlers/quality/quality-gate-execute.js +10 -22
  134. package/dist/mcp/handlers/quality/quality-gate-execute.js.map +1 -1
  135. package/dist/mcp/handlers/quality/quality-policy-check.d.ts.map +1 -1
  136. package/dist/mcp/handlers/quality/quality-policy-check.js +5 -15
  137. package/dist/mcp/handlers/quality/quality-policy-check.js.map +1 -1
  138. package/dist/mcp/handlers/quality/quality-risk-assess.d.ts.map +1 -1
  139. package/dist/mcp/handlers/quality/quality-risk-assess.js +5 -15
  140. package/dist/mcp/handlers/quality/quality-risk-assess.js.map +1 -1
  141. package/dist/mcp/handlers/quality/quality-validate-metrics.d.ts.map +1 -1
  142. package/dist/mcp/handlers/quality/quality-validate-metrics.js +4 -14
  143. package/dist/mcp/handlers/quality/quality-validate-metrics.js.map +1 -1
  144. package/dist/mcp/handlers/test/test-coverage-detailed.d.ts.map +1 -1
  145. package/dist/mcp/handlers/test/test-coverage-detailed.js +8 -12
  146. package/dist/mcp/handlers/test/test-coverage-detailed.js.map +1 -1
  147. package/dist/mcp/handlers/test/test-execute-parallel.d.ts.map +1 -1
  148. package/dist/mcp/handlers/test/test-execute-parallel.js +8 -12
  149. package/dist/mcp/handlers/test/test-execute-parallel.js.map +1 -1
  150. package/dist/mcp/handlers/test/test-generate-enhanced.d.ts.map +1 -1
  151. package/dist/mcp/handlers/test/test-generate-enhanced.js +4 -8
  152. package/dist/mcp/handlers/test/test-generate-enhanced.js.map +1 -1
  153. package/dist/mcp/handlers/test/test-optimize-sublinear.d.ts.map +1 -1
  154. package/dist/mcp/handlers/test/test-optimize-sublinear.js +8 -12
  155. package/dist/mcp/handlers/test/test-optimize-sublinear.js.map +1 -1
  156. package/dist/mcp/handlers/test/test-report-comprehensive.d.ts.map +1 -1
  157. package/dist/mcp/handlers/test/test-report-comprehensive.js +4 -8
  158. package/dist/mcp/handlers/test/test-report-comprehensive.js.map +1 -1
  159. package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
  160. package/dist/mcp/services/AgentRegistry.js +16 -4
  161. package/dist/mcp/services/AgentRegistry.js.map +1 -1
  162. package/dist/utils/Database.d.ts.map +1 -1
  163. package/dist/utils/Database.js +17 -4
  164. package/dist/utils/Database.js.map +1 -1
  165. package/dist/utils/__mocks__/Database.d.ts +68 -48
  166. package/dist/utils/__mocks__/Database.d.ts.map +1 -1
  167. package/dist/utils/__mocks__/Database.js +82 -58
  168. package/dist/utils/__mocks__/Database.js.map +1 -1
  169. package/dist/utils/__mocks__/Logger.d.ts.map +1 -1
  170. package/dist/utils/__mocks__/Logger.js +2 -0
  171. package/dist/utils/__mocks__/Logger.js.map +1 -1
  172. package/package.json +10 -9
  173. package/README.md.backup-20251026 +0 -1366
  174. package/dist/migrations/001_add_learning_tables.d.ts +0 -63
  175. package/dist/migrations/001_add_learning_tables.d.ts.map +0 -1
  176. package/dist/migrations/001_add_learning_tables.js +0 -287
  177. package/dist/migrations/001_add_learning_tables.js.map +0 -1
@@ -0,0 +1,202 @@
1
+ "use strict";
2
+ /**
3
+ * LearningPersistenceAdapter - Abstraction layer for learning data persistence
4
+ *
5
+ * Enables testability and flexibility in storage backends.
6
+ * Follows the Persistence Adapter Pattern for clean separation of concerns.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.InMemoryLearningPersistence = exports.DatabaseLearningPersistence = void 0;
10
+ const Logger_1 = require("../utils/Logger");
11
+ /**
12
+ * Database implementation of persistence adapter
13
+ */
14
+ class DatabaseLearningPersistence {
15
+ constructor(database) {
16
+ this.database = database;
17
+ this.pendingExperiences = [];
18
+ this.pendingQValues = [];
19
+ this.batchSize = 10;
20
+ this.logger = Logger_1.Logger.getInstance();
21
+ // Auto-flush every 5 seconds
22
+ this.flushTimer = setInterval(() => {
23
+ this.flush().catch(err => this.logger.warn('Auto-flush failed:', err));
24
+ }, 5000);
25
+ }
26
+ async storeExperience(agentId, experience) {
27
+ // Queue for batch write
28
+ this.pendingExperiences.push({ agentId, experience });
29
+ if (this.pendingExperiences.length >= this.batchSize) {
30
+ await this.flushExperiences();
31
+ }
32
+ }
33
+ async storeQValue(agentId, stateKey, actionKey, qValue) {
34
+ // Queue for batch write
35
+ this.pendingQValues.push({ agentId, stateKey, actionKey, qValue });
36
+ if (this.pendingQValues.length >= this.batchSize) {
37
+ await this.flushQValues();
38
+ }
39
+ }
40
+ async batchStoreExperiences(agentId, experiences) {
41
+ if (experiences.length === 0)
42
+ return;
43
+ try {
44
+ // Use database transaction for batch insert
45
+ await Promise.all(experiences.map(exp => this.database.storeLearningExperience({
46
+ agentId,
47
+ taskId: exp.taskId,
48
+ taskType: exp.taskType,
49
+ state: JSON.stringify(exp.state),
50
+ action: JSON.stringify(exp.action),
51
+ reward: exp.reward,
52
+ nextState: JSON.stringify(exp.nextState),
53
+ episodeId: `episode-${Date.now()}`
54
+ })));
55
+ this.logger.debug(`Batch stored ${experiences.length} experiences for agent ${agentId}`);
56
+ }
57
+ catch (error) {
58
+ this.logger.error('Batch experience storage failed:', error);
59
+ throw error;
60
+ }
61
+ }
62
+ async flushExperiences() {
63
+ if (this.pendingExperiences.length === 0)
64
+ return;
65
+ const batch = this.pendingExperiences.splice(0);
66
+ try {
67
+ await Promise.all(batch.map(({ agentId, experience }) => this.database.storeLearningExperience({
68
+ agentId,
69
+ taskId: experience.taskId,
70
+ taskType: experience.taskType,
71
+ state: JSON.stringify(experience.state),
72
+ action: JSON.stringify(experience.action),
73
+ reward: experience.reward,
74
+ nextState: JSON.stringify(experience.nextState),
75
+ episodeId: `episode-${Date.now()}`
76
+ })));
77
+ this.logger.debug(`Flushed ${batch.length} experiences`);
78
+ }
79
+ catch (error) {
80
+ this.logger.error('Experience flush failed:', error);
81
+ // Re-queue on failure
82
+ this.pendingExperiences.unshift(...batch);
83
+ }
84
+ }
85
+ async flushQValues() {
86
+ if (this.pendingQValues.length === 0)
87
+ return;
88
+ const batch = this.pendingQValues.splice(0);
89
+ try {
90
+ await Promise.all(batch.map(({ agentId, stateKey, actionKey, qValue }) => this.database.upsertQValue(agentId, stateKey, actionKey, qValue)));
91
+ this.logger.debug(`Flushed ${batch.length} Q-values`);
92
+ }
93
+ catch (error) {
94
+ this.logger.error('Q-value flush failed:', error);
95
+ // Re-queue on failure
96
+ this.pendingQValues.unshift(...batch);
97
+ }
98
+ }
99
+ async loadQTable(agentId) {
100
+ const qValues = await this.database.getAllQValues(agentId);
101
+ const qTable = new Map();
102
+ for (const qv of qValues) {
103
+ if (!qTable.has(qv.state_key)) {
104
+ qTable.set(qv.state_key, new Map());
105
+ }
106
+ qTable.get(qv.state_key).set(qv.action_key, qv.q_value);
107
+ }
108
+ this.logger.info(`Loaded ${qValues.length} Q-values from database for agent ${agentId}`);
109
+ return qTable;
110
+ }
111
+ async storeLearningSnapshot(agentId, metrics) {
112
+ await this.database.storeLearningSnapshot({
113
+ agentId,
114
+ snapshotType: 'performance',
115
+ metrics,
116
+ improvementRate: metrics.recentImprovement || 0,
117
+ totalExperiences: metrics.totalExperiences || 0,
118
+ explorationRate: metrics.explorationRate || 0
119
+ });
120
+ }
121
+ async flush() {
122
+ await Promise.all([
123
+ this.flushExperiences(),
124
+ this.flushQValues()
125
+ ]);
126
+ }
127
+ /**
128
+ * Cleanup method - stop auto-flush timer
129
+ */
130
+ dispose() {
131
+ if (this.flushTimer) {
132
+ clearInterval(this.flushTimer);
133
+ this.flushTimer = undefined;
134
+ }
135
+ }
136
+ }
137
+ exports.DatabaseLearningPersistence = DatabaseLearningPersistence;
138
+ /**
139
+ * In-memory implementation for testing (no persistence)
140
+ */
141
+ class InMemoryLearningPersistence {
142
+ constructor() {
143
+ this.experiences = new Map();
144
+ this.qTables = new Map();
145
+ this.snapshots = new Map();
146
+ }
147
+ async storeExperience(agentId, experience) {
148
+ if (!this.experiences.has(agentId)) {
149
+ this.experiences.set(agentId, []);
150
+ }
151
+ this.experiences.get(agentId).push(experience);
152
+ }
153
+ async storeQValue(agentId, stateKey, actionKey, qValue) {
154
+ if (!this.qTables.has(agentId)) {
155
+ this.qTables.set(agentId, new Map());
156
+ }
157
+ const qTable = this.qTables.get(agentId);
158
+ if (!qTable.has(stateKey)) {
159
+ qTable.set(stateKey, new Map());
160
+ }
161
+ qTable.get(stateKey).set(actionKey, qValue);
162
+ }
163
+ async batchStoreExperiences(agentId, experiences) {
164
+ for (const exp of experiences) {
165
+ await this.storeExperience(agentId, exp);
166
+ }
167
+ }
168
+ async loadQTable(agentId) {
169
+ return this.qTables.get(agentId) || new Map();
170
+ }
171
+ async storeLearningSnapshot(agentId, metrics) {
172
+ if (!this.snapshots.has(agentId)) {
173
+ this.snapshots.set(agentId, []);
174
+ }
175
+ this.snapshots.get(agentId).push({
176
+ timestamp: Date.now(),
177
+ metrics
178
+ });
179
+ }
180
+ async flush() {
181
+ // No-op for in-memory
182
+ }
183
+ /**
184
+ * Testing utilities
185
+ */
186
+ getExperiences(agentId) {
187
+ return this.experiences.get(agentId) || [];
188
+ }
189
+ getQTable(agentId) {
190
+ return this.qTables.get(agentId) || new Map();
191
+ }
192
+ getSnapshots(agentId) {
193
+ return this.snapshots.get(agentId) || [];
194
+ }
195
+ clear() {
196
+ this.experiences.clear();
197
+ this.qTables.clear();
198
+ this.snapshots.clear();
199
+ }
200
+ }
201
+ exports.InMemoryLearningPersistence = InMemoryLearningPersistence;
202
+ //# sourceMappingURL=LearningPersistenceAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LearningPersistenceAdapter.js","sourceRoot":"","sources":["../../src/learning/LearningPersistenceAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Mock LearningEngine for Testing
3
+ *
4
+ * Provides a mock implementation of LearningEngine that avoids
5
+ * database initialization and provides consistent mock responses.
6
+ */
7
+ import { jest } from '@jest/globals';
8
+ /**
9
+ * Mock LearningEngine class
10
+ */
11
+ export declare class LearningEngine {
12
+ initialize: jest.Mock<() => Promise<void>>;
13
+ learn: jest.Mock;
14
+ getStatus: jest.Mock;
15
+ getLearnedPatterns: jest.Mock;
16
+ recommendStrategy: jest.Mock;
17
+ dispose: jest.Mock;
18
+ recordExperience: jest.Mock;
19
+ getRecommendations: jest.Mock;
20
+ updateQValue: jest.Mock;
21
+ isEnabled: jest.Mock;
22
+ setEnabled: jest.Mock;
23
+ getPatterns: jest.Mock;
24
+ getFailurePatterns: jest.Mock;
25
+ flush: jest.Mock;
26
+ getExplorationRate: jest.Mock;
27
+ getTotalExperiences: jest.Mock;
28
+ enableQLearning: jest.Mock;
29
+ disableQLearning: jest.Mock;
30
+ isQLearningEnabled: jest.Mock;
31
+ getQLearningStats: jest.Mock;
32
+ learnFromExecution: jest.Mock;
33
+ learnFromExperience: jest.Mock;
34
+ selectActionWithPolicy: jest.Mock;
35
+ constructor(agentId?: string, memoryStore?: any, config?: any);
36
+ static _resetAllMocks(): void;
37
+ }
38
+ export default LearningEngine;
39
+ //# sourceMappingURL=LearningEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LearningEngine.d.ts","sourceRoot":"","sources":["../../../src/learning/__mocks__/LearningEngine.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAgDrC;;GAEG;AACH,qBAAa,cAAc;IAClB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3C,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC;IACrB,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC;IAC9B,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC;IAC7B,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;IACnB,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC;IAC5B,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC;IAC9B,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC;IACxB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC;IACrB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;IACtB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC;IACvB,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC;IAC9B,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC;IACjB,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC;IAC9B,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC;IAC/B,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC;IAC3B,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC;IAC5B,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC;IAC9B,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC;IAC7B,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC;IAC9B,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC;IAC/B,sBAAsB,EAAE,IAAI,CAAC,IAAI,CAAC;gBAE7B,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG;IA+C7D,MAAM,CAAC,cAAc,IAAI,IAAI;CAO9B;AAED,eAAe,cAAc,CAAC"}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ /**
3
+ * Mock LearningEngine for Testing
4
+ *
5
+ * Provides a mock implementation of LearningEngine that avoids
6
+ * database initialization and provides consistent mock responses.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.LearningEngine = void 0;
10
+ const globals_1 = require("@jest/globals");
11
+ // Shared mock methods that all instances use
12
+ const sharedMockMethods = {
13
+ initialize: globals_1.jest.fn().mockResolvedValue(undefined),
14
+ learn: globals_1.jest.fn().mockResolvedValue(undefined),
15
+ getStatus: globals_1.jest.fn().mockReturnValue({
16
+ totalExperiences: 0,
17
+ averageReward: 0,
18
+ explorationRate: 1.0,
19
+ learningRate: 0.1,
20
+ discountFactor: 0.9
21
+ }),
22
+ getLearnedPatterns: globals_1.jest.fn().mockReturnValue([]),
23
+ recommendStrategy: globals_1.jest.fn().mockResolvedValue({
24
+ strategy: 'default',
25
+ confidence: 0.5,
26
+ reasoning: 'Default strategy'
27
+ }),
28
+ dispose: globals_1.jest.fn().mockResolvedValue(undefined),
29
+ recordExperience: globals_1.jest.fn().mockResolvedValue(undefined),
30
+ getRecommendations: globals_1.jest.fn().mockResolvedValue([]),
31
+ updateQValue: globals_1.jest.fn().mockResolvedValue(undefined),
32
+ // Missing methods found in BaseAgent usage
33
+ isEnabled: globals_1.jest.fn().mockReturnValue(true),
34
+ setEnabled: globals_1.jest.fn().mockReturnValue(undefined),
35
+ getPatterns: globals_1.jest.fn().mockReturnValue([]),
36
+ getFailurePatterns: globals_1.jest.fn().mockReturnValue([]),
37
+ flush: globals_1.jest.fn().mockResolvedValue(undefined),
38
+ getExplorationRate: globals_1.jest.fn().mockReturnValue(1.0),
39
+ getTotalExperiences: globals_1.jest.fn().mockReturnValue(0),
40
+ enableQLearning: globals_1.jest.fn().mockReturnValue(undefined),
41
+ disableQLearning: globals_1.jest.fn().mockReturnValue(undefined),
42
+ isQLearningEnabled: globals_1.jest.fn().mockReturnValue(false),
43
+ getQLearningStats: globals_1.jest.fn().mockReturnValue({
44
+ totalExperiences: 0,
45
+ averageReward: 0,
46
+ qTableSize: 0
47
+ }),
48
+ learnFromExecution: globals_1.jest.fn().mockResolvedValue({
49
+ success: true,
50
+ patternsLearned: 0,
51
+ qValuesUpdated: 0
52
+ }),
53
+ learnFromExperience: globals_1.jest.fn().mockResolvedValue(undefined),
54
+ selectActionWithPolicy: globals_1.jest.fn().mockResolvedValue({ type: 'default-action', params: {} })
55
+ };
56
+ /**
57
+ * Mock LearningEngine class
58
+ */
59
+ class LearningEngine {
60
+ constructor(agentId, memoryStore, config) {
61
+ // Create fresh mocks for each instance to survive Jest's resetMocks: true
62
+ // This ensures mock return values are preserved across test runs
63
+ this.initialize = globals_1.jest.fn().mockResolvedValue(undefined);
64
+ this.learn = globals_1.jest.fn().mockResolvedValue(undefined);
65
+ this.getStatus = globals_1.jest.fn().mockReturnValue({
66
+ totalExperiences: 0,
67
+ averageReward: 0,
68
+ explorationRate: 1.0,
69
+ learningRate: 0.1,
70
+ discountFactor: 0.9
71
+ });
72
+ this.getLearnedPatterns = globals_1.jest.fn().mockReturnValue([]);
73
+ this.recommendStrategy = globals_1.jest.fn().mockResolvedValue({
74
+ strategy: 'default',
75
+ confidence: 0.5,
76
+ reasoning: 'Default strategy'
77
+ });
78
+ this.dispose = globals_1.jest.fn().mockResolvedValue(undefined);
79
+ this.recordExperience = globals_1.jest.fn().mockResolvedValue(undefined);
80
+ this.getRecommendations = globals_1.jest.fn().mockResolvedValue([]);
81
+ this.updateQValue = globals_1.jest.fn().mockResolvedValue(undefined);
82
+ this.isEnabled = globals_1.jest.fn().mockReturnValue(true);
83
+ this.setEnabled = globals_1.jest.fn().mockReturnValue(undefined);
84
+ this.getPatterns = globals_1.jest.fn().mockReturnValue([]);
85
+ this.getFailurePatterns = globals_1.jest.fn().mockReturnValue([]);
86
+ this.flush = globals_1.jest.fn().mockResolvedValue(undefined);
87
+ this.getExplorationRate = globals_1.jest.fn().mockReturnValue(1.0);
88
+ this.getTotalExperiences = globals_1.jest.fn().mockReturnValue(0);
89
+ this.enableQLearning = globals_1.jest.fn().mockReturnValue(undefined);
90
+ this.disableQLearning = globals_1.jest.fn().mockReturnValue(undefined);
91
+ this.isQLearningEnabled = globals_1.jest.fn().mockReturnValue(false);
92
+ this.getQLearningStats = globals_1.jest.fn().mockReturnValue({
93
+ totalExperiences: 0,
94
+ averageReward: 0,
95
+ qTableSize: 0
96
+ });
97
+ this.learnFromExecution = globals_1.jest.fn().mockResolvedValue({
98
+ success: true,
99
+ patternsLearned: 0,
100
+ qValuesUpdated: 0
101
+ });
102
+ this.learnFromExperience = globals_1.jest.fn().mockResolvedValue(undefined);
103
+ this.selectActionWithPolicy = globals_1.jest.fn().mockResolvedValue({ type: 'default-action', params: {} });
104
+ }
105
+ // Test helper to reset all mocks
106
+ static _resetAllMocks() {
107
+ Object.values(sharedMockMethods).forEach(mockFn => {
108
+ if (typeof mockFn === 'function' && 'mockClear' in mockFn) {
109
+ mockFn.mockClear();
110
+ }
111
+ });
112
+ }
113
+ }
114
+ exports.LearningEngine = LearningEngine;
115
+ exports.default = LearningEngine;
116
+ //# sourceMappingURL=LearningEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LearningEngine.js","sourceRoot":"","sources":["../../../src/learning/__mocks__/LearningEngine.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@
6
6
  */
7
7
  export * from './types';
8
8
  export * from './LearningEngine';
9
+ export * from './LearningPersistenceAdapter';
9
10
  export * from './QLearning';
10
11
  export * from './ExperienceReplayBuffer';
11
12
  export * from './PerformanceTracker';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/learning/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EACL,uBAAuB,EACxB,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/learning/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EACL,uBAAuB,EACxB,MAAM,2BAA2B,CAAC"}
@@ -23,6 +23,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
23
23
  exports.FixRecommendationEngine = void 0;
24
24
  __exportStar(require("./types"), exports);
25
25
  __exportStar(require("./LearningEngine"), exports);
26
+ __exportStar(require("./LearningPersistenceAdapter"), exports);
26
27
  __exportStar(require("./QLearning"), exports);
27
28
  __exportStar(require("./ExperienceReplayBuffer"), exports);
28
29
  __exportStar(require("./PerformanceTracker"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/learning/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;AAEH,0CAAwB;AACxB,mDAAiC;AACjC,8CAA4B;AAC5B,2DAAyC;AACzC,uDAAqC;AACrC,oDAAkC;AAClC,sDAAoC;AACpC,sDAAoC;AACpC,yDAAuC;AACvC,4DAA0C;AAC1C,wDAAsC;AACtC,qDAAmC;AAEnC,gDAAgD;AAChD,qEAEmC;AADjC,kIAAA,uBAAuB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/learning/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;AAEH,0CAAwB;AACxB,mDAAiC;AACjC,+DAA6C;AAC7C,8CAA4B;AAC5B,2DAAyC;AACzC,uDAAqC;AACrC,oDAAkC;AAClC,sDAAoC;AACpC,sDAAoC;AACpC,yDAAuC;AACvC,4DAA0C;AAC1C,wDAAsC;AACtC,qDAAmC;AAEnC,gDAAgD;AAChD,qEAEmC;AADjC,kIAAA,uBAAuB,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"coverage-analyze-sublinear-handler.d.ts","sourceRoot":"","sources":["../../../../src/mcp/handlers/analysis/coverage-analyze-sublinear-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAEL,8BAA8B,EAC/B,MAAM,+BAA+B,CAAC;AAEvC,qBAAa,+BAAgC,SAAQ,WAAW;IACxD,MAAM,CAAC,IAAI,EAAE,8BAA8B,GAAG,OAAO,CAAC,eAAe,CAAC;CAwB7E"}
1
+ {"version":3,"file":"coverage-analyze-sublinear-handler.d.ts","sourceRoot":"","sources":["../../../../src/mcp/handlers/analysis/coverage-analyze-sublinear-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAEL,8BAA8B,EAC/B,MAAM,+BAA+B,CAAC;AAEvC,qBAAa,+BAAgC,SAAQ,WAAW;IACxD,MAAM,CAAC,IAAI,EAAE,8BAA8B,GAAG,OAAO,CAAC,eAAe,CAAC;CAkB7E"}
@@ -9,8 +9,8 @@ const base_handler_js_1 = require("../base-handler.js");
9
9
  const coverageAnalyzeSublinear_js_1 = require("./coverageAnalyzeSublinear.js");
10
10
  class CoverageAnalyzeSublinearHandler extends base_handler_js_1.BaseHandler {
11
11
  async handle(args) {
12
- const requestId = this.generateRequestId();
13
- try {
12
+ return this.safeHandle(async () => {
13
+ const requestId = this.generateRequestId();
14
14
  this.log('info', 'Starting sublinear coverage analysis', { requestId, args });
15
15
  // Execute the analysis
16
16
  const result = await (0, coverageAnalyzeSublinear_js_1.coverageAnalyzeSublinear)(args);
@@ -20,11 +20,7 @@ class CoverageAnalyzeSublinearHandler extends base_handler_js_1.BaseHandler {
20
20
  algorithm: result.sublinearMetrics.algorithmUsed
21
21
  });
22
22
  return this.createSuccessResponse(result, requestId);
23
- }
24
- catch (error) {
25
- this.log('error', 'Coverage analysis failed', { requestId, error });
26
- return this.createErrorResponse(error instanceof Error ? error.message : 'Unknown error', requestId);
27
- }
23
+ });
28
24
  }
29
25
  }
30
26
  exports.CoverageAnalyzeSublinearHandler = CoverageAnalyzeSublinearHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"coverage-analyze-sublinear-handler.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/analysis/coverage-analyze-sublinear-handler.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,wDAAkE;AAClE,+EAGuC;AAEvC,MAAa,+BAAgC,SAAQ,6BAAW;IAC9D,KAAK,CAAC,MAAM,CAAC,IAAoC;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE3C,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,sCAAsC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAE9E,uBAAuB;YACvB,MAAM,MAAM,GAAG,MAAM,IAAA,sDAAwB,EAAC,IAAI,CAAC,CAAC;YAEpD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,uCAAuC,EAAE;gBACxD,SAAS;gBACT,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,SAAS,EAAE,MAAM,CAAC,gBAAgB,CAAC,aAAa;aACjD,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,0BAA0B,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YACpE,OAAO,IAAI,CAAC,mBAAmB,CAC7B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EACxD,SAAS,CACV,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAzBD,0EAyBC"}
1
+ {"version":3,"file":"coverage-analyze-sublinear-handler.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/analysis/coverage-analyze-sublinear-handler.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,wDAAkE;AAClE,+EAGuC;AAEvC,MAAa,+BAAgC,SAAQ,6BAAW;IAC9D,KAAK,CAAC,MAAM,CAAC,IAAoC;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAE3C,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,sCAAsC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAE9E,uBAAuB;YACvB,MAAM,MAAM,GAAG,MAAM,IAAA,sDAAwB,EAAC,IAAI,CAAC,CAAC;YAEpD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,uCAAuC,EAAE;gBACxD,SAAS;gBACT,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,SAAS,EAAE,MAAM,CAAC,gBAAgB,CAAC,aAAa;aACjD,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAnBD,0EAmBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"coverage-gaps-detect-handler.d.ts","sourceRoot":"","sources":["../../../../src/mcp/handlers/analysis/coverage-gaps-detect-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAElE,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,cAAc,CAAC,EAAE,YAAY,GAAG,aAAa,GAAG,kBAAkB,CAAC;CACpE;AAED,qBAAa,yBAA0B,SAAQ,WAAW;IAClD,MAAM,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC;IAgCtE,OAAO,CAAC,UAAU;CAmBnB"}
1
+ {"version":3,"file":"coverage-gaps-detect-handler.d.ts","sourceRoot":"","sources":["../../../../src/mcp/handlers/analysis/coverage-gaps-detect-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAElE,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,cAAc,CAAC,EAAE,YAAY,GAAG,aAAa,GAAG,kBAAkB,CAAC;CACpE;AAED,qBAAa,yBAA0B,SAAQ,WAAW;IAClD,MAAM,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC;IA0BtE,OAAO,CAAC,UAAU;CAmBnB"}
@@ -8,8 +8,8 @@ exports.CoverageGapsDetectHandler = void 0;
8
8
  const base_handler_js_1 = require("../base-handler.js");
9
9
  class CoverageGapsDetectHandler extends base_handler_js_1.BaseHandler {
10
10
  async handle(args) {
11
- const requestId = this.generateRequestId();
12
- try {
11
+ return this.safeHandle(async () => {
12
+ const requestId = this.generateRequestId();
13
13
  this.log('info', 'Starting coverage gap detection', { requestId, args });
14
14
  // Simulate gap detection logic
15
15
  const gaps = this.detectGaps(args.coverageData, args.prioritization || 'complexity');
@@ -25,11 +25,7 @@ class CoverageGapsDetectHandler extends base_handler_js_1.BaseHandler {
25
25
  criticalGaps: result.criticalGaps
26
26
  });
27
27
  return this.createSuccessResponse(result, requestId);
28
- }
29
- catch (error) {
30
- this.log('error', 'Coverage gap detection failed', { requestId, error });
31
- return this.createErrorResponse(error instanceof Error ? error.message : 'Unknown error', requestId);
32
- }
28
+ });
33
29
  }
34
30
  detectGaps(coverageData, prioritization) {
35
31
  // Placeholder implementation
@@ -1 +1 @@
1
- {"version":3,"file":"coverage-gaps-detect-handler.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/analysis/coverage-gaps-detect-handler.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,wDAAkE;AAOlE,MAAa,yBAA0B,SAAQ,6BAAW;IACxD,KAAK,CAAC,MAAM,CAAC,IAA8B;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE3C,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,iCAAiC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAEzE,+BAA+B;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,IAAI,YAAY,CAAC,CAAC;YAErF,MAAM,MAAM,GAAG;gBACb,IAAI;gBACJ,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,YAAY;gBACnD,SAAS,EAAE,IAAI,CAAC,MAAM;gBACtB,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM;aACpE,CAAC;YAEF,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,kCAAkC,EAAE;gBACnD,SAAS;gBACT,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,+BAA+B,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YACzE,OAAO,IAAI,CAAC,mBAAmB,CAC7B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EACxD,SAAS,CACV,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,YAAiC,EAAE,cAAsB;QAC1E,6BAA6B;QAC7B,OAAO;YACL;gBACE,IAAI,EAAE,mBAAmB;gBACzB,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBACnB,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE,MAAM;gBAChB,MAAM,EAAE,wCAAwC;aACjD;YACD;gBACE,IAAI,EAAE,yBAAyB;gBAC/B,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;gBACf,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,gCAAgC;aACzC;SACF,CAAC;IACJ,CAAC;CACF;AApDD,8DAoDC"}
1
+ {"version":3,"file":"coverage-gaps-detect-handler.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/analysis/coverage-gaps-detect-handler.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,wDAAkE;AAOlE,MAAa,yBAA0B,SAAQ,6BAAW;IACxD,KAAK,CAAC,MAAM,CAAC,IAA8B;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAE3C,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,iCAAiC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAEzE,+BAA+B;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,IAAI,YAAY,CAAC,CAAC;YAErF,MAAM,MAAM,GAAG;gBACb,IAAI;gBACJ,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,YAAY;gBACnD,SAAS,EAAE,IAAI,CAAC,MAAM;gBACtB,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM;aACpE,CAAC;YAEF,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,kCAAkC,EAAE;gBACnD,SAAS;gBACT,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,UAAU,CAAC,YAAiC,EAAE,cAAsB;QAC1E,6BAA6B;QAC7B,OAAO;YACL;gBACE,IAAI,EAAE,mBAAmB;gBACzB,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBACnB,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE,MAAM;gBAChB,MAAM,EAAE,wCAAwC;aACjD;YACD;gBACE,IAAI,EAAE,yBAAyB;gBAC/B,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;gBACf,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,gCAAgC;aACzC;SACF,CAAC;IACJ,CAAC;CACF;AA9CD,8DA8CC"}
@@ -1 +1 @@
1
- {"version":3,"file":"performance-benchmark-run-handler.d.ts","sourceRoot":"","sources":["../../../../src/mcp/handlers/analysis/performance-benchmark-run-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAElE,MAAM,WAAW,6BAA6B;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,8BAA+B,SAAQ,WAAW;IACvD,MAAM,CAAC,IAAI,EAAE,6BAA6B,GAAG,OAAO,CAAC,eAAe,CAAC;YA4B7D,YAAY;CAe3B"}
1
+ {"version":3,"file":"performance-benchmark-run-handler.d.ts","sourceRoot":"","sources":["../../../../src/mcp/handlers/analysis/performance-benchmark-run-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAElE,MAAM,WAAW,6BAA6B;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,8BAA+B,SAAQ,WAAW;IACvD,MAAM,CAAC,IAAI,EAAE,6BAA6B,GAAG,OAAO,CAAC,eAAe,CAAC;YAsB7D,YAAY;CAe3B"}
@@ -8,8 +8,8 @@ exports.PerformanceBenchmarkRunHandler = void 0;
8
8
  const base_handler_js_1 = require("../base-handler.js");
9
9
  class PerformanceBenchmarkRunHandler extends base_handler_js_1.BaseHandler {
10
10
  async handle(args) {
11
- const requestId = this.generateRequestId();
12
- try {
11
+ return this.safeHandle(async () => {
12
+ const requestId = this.generateRequestId();
13
13
  this.log('info', 'Starting performance benchmark', { requestId, args });
14
14
  const iterations = args.iterations || 100;
15
15
  const warmupIterations = args.warmupIterations || 10;
@@ -21,11 +21,7 @@ class PerformanceBenchmarkRunHandler extends base_handler_js_1.BaseHandler {
21
21
  throughput: result.throughput
22
22
  });
23
23
  return this.createSuccessResponse(result, requestId);
24
- }
25
- catch (error) {
26
- this.log('error', 'Performance benchmark failed', { requestId, error });
27
- return this.createErrorResponse(error instanceof Error ? error.message : 'Unknown error', requestId);
28
- }
24
+ });
29
25
  }
30
26
  async runBenchmark(suite, iterations, warmup) {
31
27
  // Placeholder implementation
@@ -1 +1 @@
1
- {"version":3,"file":"performance-benchmark-run-handler.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/analysis/performance-benchmark-run-handler.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,wDAAkE;AAQlE,MAAa,8BAA+B,SAAQ,6BAAW;IAC7D,KAAK,CAAC,MAAM,CAAC,IAAmC;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE3C,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,gCAAgC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAExE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC;YAC1C,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;YAErD,+BAA+B;YAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAE1F,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,iCAAiC,EAAE;gBAClD,SAAS;gBACT,OAAO,EAAE,MAAM,CAAC,WAAW;gBAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,8BAA8B,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YACxE,OAAO,IAAI,CAAC,mBAAmB,CAC7B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EACxD,SAAS,CACV,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,UAAkB,EAAE,MAAc;QAC1E,6BAA6B;QAC7B,OAAO;YACL,KAAK;YACL,UAAU;YACV,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,iBAAiB,EAAE,GAAG;YACtB,SAAS,EAAE,UAAU;YACrB,MAAM,EAAE,CAAC;SACV,CAAC;IACJ,CAAC;CACF;AA5CD,wEA4CC"}
1
+ {"version":3,"file":"performance-benchmark-run-handler.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/analysis/performance-benchmark-run-handler.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,wDAAkE;AAQlE,MAAa,8BAA+B,SAAQ,6BAAW;IAC7D,KAAK,CAAC,MAAM,CAAC,IAAmC;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAE3C,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,gCAAgC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAExE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC;YAC1C,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;YAErD,+BAA+B;YAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAE1F,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,iCAAiC,EAAE;gBAClD,SAAS;gBACT,OAAO,EAAE,MAAM,CAAC,WAAW;gBAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,UAAkB,EAAE,MAAc;QAC1E,6BAA6B;QAC7B,OAAO;YACL,KAAK;YACL,UAAU;YACV,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,iBAAiB,EAAE,GAAG;YACtB,SAAS,EAAE,UAAU;YACrB,MAAM,EAAE,CAAC;SACV,CAAC;IACJ,CAAC;CACF;AAtCD,wEAsCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"performance-monitor-realtime-handler.d.ts","sourceRoot":"","sources":["../../../../src/mcp/handlers/analysis/performance-monitor-realtime-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGlE,MAAM,WAAW,gCAAgC;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,iCAAkC,SAAQ,WAAW;IAC1D,MAAM,CAAC,IAAI,EAAE,gCAAgC,GAAG,OAAO,CAAC,eAAe,CAAC;YA2BhE,OAAO;CA0BtB"}
1
+ {"version":3,"file":"performance-monitor-realtime-handler.d.ts","sourceRoot":"","sources":["../../../../src/mcp/handlers/analysis/performance-monitor-realtime-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGlE,MAAM,WAAW,gCAAgC;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,iCAAkC,SAAQ,WAAW;IAC1D,MAAM,CAAC,IAAI,EAAE,gCAAgC,GAAG,OAAO,CAAC,eAAe,CAAC;YAqBhE,OAAO;CA0BtB"}
@@ -9,8 +9,8 @@ const base_handler_js_1 = require("../base-handler.js");
9
9
  const SecureRandom_js_1 = require("../../../utils/SecureRandom.js");
10
10
  class PerformanceMonitorRealtimeHandler extends base_handler_js_1.BaseHandler {
11
11
  async handle(args) {
12
- const requestId = this.generateRequestId();
13
- try {
12
+ return this.safeHandle(async () => {
13
+ const requestId = this.generateRequestId();
14
14
  this.log('info', 'Starting real-time performance monitoring', { requestId, args });
15
15
  const duration = args.duration || 60;
16
16
  const interval = args.interval || 5;
@@ -21,11 +21,7 @@ class PerformanceMonitorRealtimeHandler extends base_handler_js_1.BaseHandler {
21
21
  dataPoints: result.dataPoints.length
22
22
  });
23
23
  return this.createSuccessResponse(result, requestId);
24
- }
25
- catch (error) {
26
- this.log('error', 'Performance monitoring failed', { requestId, error });
27
- return this.createErrorResponse(error instanceof Error ? error.message : 'Unknown error', requestId);
28
- }
24
+ });
29
25
  }
30
26
  async monitor(target, duration, interval) {
31
27
  const dataPoints = Math.floor(duration / interval);
@@ -1 +1 @@
1
- {"version":3,"file":"performance-monitor-realtime-handler.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/analysis/performance-monitor-realtime-handler.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,wDAAkE;AAClE,oEAA8D;AAQ9D,MAAa,iCAAkC,SAAQ,6BAAW;IAChE,KAAK,CAAC,MAAM,CAAC,IAAsC;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE3C,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,2CAA2C,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAEnF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;YAEpC,sBAAsB;YACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAEnE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,kCAAkC,EAAE;gBACnD,SAAS;gBACT,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;aACrC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,+BAA+B,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YACzE,OAAO,IAAI,CAAC,mBAAmB,CAC7B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EACxD,SAAS,CACV,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,QAAgB,EAAE,QAAgB;QACtE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;QACnD,MAAM,OAAO,GAAU,EAAE,CAAC;QAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC;gBACX,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,GAAG,EAAE,8BAAY,CAAC,WAAW,EAAE,GAAG,GAAG;gBACrC,MAAM,EAAE,8BAAY,CAAC,WAAW,EAAE,GAAG,GAAG;gBACxC,YAAY,EAAE,8BAAY,CAAC,WAAW,EAAE,GAAG,GAAG;gBAC9C,UAAU,EAAE,8BAAY,CAAC,WAAW,EAAE,GAAG,IAAI;aAC9C,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,MAAM;YACN,QAAQ;YACR,QAAQ;YACR,UAAU,EAAE,OAAO;YACnB,OAAO,EAAE;gBACP,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM;gBACnE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM;gBACzE,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM;aACtF;SACF,CAAC;IACJ,CAAC;CACF;AAtDD,8EAsDC"}
1
+ {"version":3,"file":"performance-monitor-realtime-handler.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/analysis/performance-monitor-realtime-handler.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,wDAAkE;AAClE,oEAA8D;AAQ9D,MAAa,iCAAkC,SAAQ,6BAAW;IAChE,KAAK,CAAC,MAAM,CAAC,IAAsC;QACjD,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAE3C,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,2CAA2C,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAEnF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;YAEpC,sBAAsB;YACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAEnE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,kCAAkC,EAAE;gBACnD,SAAS;gBACT,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;aACrC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,QAAgB,EAAE,QAAgB;QACtE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;QACnD,MAAM,OAAO,GAAU,EAAE,CAAC;QAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC;gBACX,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,GAAG,EAAE,8BAAY,CAAC,WAAW,EAAE,GAAG,GAAG;gBACrC,MAAM,EAAE,8BAAY,CAAC,WAAW,EAAE,GAAG,GAAG;gBACxC,YAAY,EAAE,8BAAY,CAAC,WAAW,EAAE,GAAG,GAAG;gBAC9C,UAAU,EAAE,8BAAY,CAAC,WAAW,EAAE,GAAG,IAAI;aAC9C,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,MAAM;YACN,QAAQ;YACR,QAAQ;YACR,UAAU,EAAE,OAAO;YACnB,OAAO,EAAE;gBACP,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM;gBACnE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM;gBACzE,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM;aACtF;SACF,CAAC;IACJ,CAAC;CACF;AAhDD,8EAgDC"}
@@ -1 +1 @@
1
- {"version":3,"file":"security-scan-comprehensive-handler.d.ts","sourceRoot":"","sources":["../../../../src/mcp/handlers/analysis/security-scan-comprehensive-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAElE,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,eAAe,CAAC;IAC5D,KAAK,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;CACvC;AAED,qBAAa,gCAAiC,SAAQ,WAAW;IACzD,MAAM,CAAC,IAAI,EAAE,+BAA+B,GAAG,OAAO,CAAC,eAAe,CAAC;YA4B/D,WAAW;CAsC1B"}
1
+ {"version":3,"file":"security-scan-comprehensive-handler.d.ts","sourceRoot":"","sources":["../../../../src/mcp/handlers/analysis/security-scan-comprehensive-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAElE,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,eAAe,CAAC;IAC5D,KAAK,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;CACvC;AAED,qBAAa,gCAAiC,SAAQ,WAAW;IACzD,MAAM,CAAC,IAAI,EAAE,+BAA+B,GAAG,OAAO,CAAC,eAAe,CAAC;YAsB/D,WAAW;CAsC1B"}
@@ -8,8 +8,8 @@ exports.SecurityScanComprehensiveHandler = void 0;
8
8
  const base_handler_js_1 = require("../base-handler.js");
9
9
  class SecurityScanComprehensiveHandler extends base_handler_js_1.BaseHandler {
10
10
  async handle(args) {
11
- const requestId = this.generateRequestId();
12
- try {
11
+ return this.safeHandle(async () => {
12
+ const requestId = this.generateRequestId();
13
13
  this.log('info', 'Starting security scan', { requestId, args });
14
14
  const scanType = args.scanType || 'comprehensive';
15
15
  const depth = args.depth || 'standard';
@@ -21,11 +21,7 @@ class SecurityScanComprehensiveHandler extends base_handler_js_1.BaseHandler {
21
21
  critical: result.summary.critical
22
22
  });
23
23
  return this.createSuccessResponse(result, requestId);
24
- }
25
- catch (error) {
26
- this.log('error', 'Security scan failed', { requestId, error });
27
- return this.createErrorResponse(error instanceof Error ? error.message : 'Unknown error', requestId);
28
- }
24
+ });
29
25
  }
30
26
  async performScan(target, scanType, depth) {
31
27
  // Placeholder implementation
@@ -1 +1 @@
1
- {"version":3,"file":"security-scan-comprehensive-handler.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/analysis/security-scan-comprehensive-handler.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,wDAAkE;AAQlE,MAAa,gCAAiC,SAAQ,6BAAW;IAC/D,KAAK,CAAC,MAAM,CAAC,IAAqC;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE3C,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,wBAAwB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAEhE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,eAAe,CAAC;YAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC;YAEvC,yBAAyB;YACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YAEpE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,yBAAyB,EAAE;gBAC1C,SAAS;gBACT,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM;gBAC9C,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;aAClC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,sBAAsB,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC,mBAAmB,CAC7B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EACxD,SAAS,CACV,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,QAAgB,EAAE,KAAa;QACvE,6BAA6B;QAC7B,OAAO;YACL,MAAM;YACN,QAAQ;YACR,KAAK;YACL,OAAO,EAAE;gBACP,QAAQ,EAAE,CAAC;gBACX,IAAI,EAAE,CAAC;gBACP,MAAM,EAAE,CAAC;gBACT,GAAG,EAAE,CAAC;gBACN,IAAI,EAAE,EAAE;aACT;YACD,eAAe,EAAE;gBACf;oBACE,EAAE,EAAE,gBAAgB;oBACpB,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,6BAA6B;oBACpC,IAAI,EAAE,kBAAkB;oBACxB,IAAI,EAAE,EAAE;oBACR,WAAW,EAAE,qCAAqC;iBACnD;gBACD;oBACE,EAAE,EAAE,gBAAgB;oBACpB,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,mBAAmB;oBAC1B,IAAI,EAAE,uBAAuB;oBAC7B,IAAI,EAAE,GAAG;oBACT,WAAW,EAAE,gCAAgC;iBAC9C;aACF;YACD,eAAe,EAAE;gBACf,oDAAoD;gBACpD,gDAAgD;gBAChD,gDAAgD;aACjD;SACF,CAAC;IACJ,CAAC;CACF;AAnED,4EAmEC"}
1
+ {"version":3,"file":"security-scan-comprehensive-handler.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/analysis/security-scan-comprehensive-handler.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,wDAAkE;AAQlE,MAAa,gCAAiC,SAAQ,6BAAW;IAC/D,KAAK,CAAC,MAAM,CAAC,IAAqC;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAE3C,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,wBAAwB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAEhE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,eAAe,CAAC;YAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC;YAEvC,yBAAyB;YACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YAEpE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,yBAAyB,EAAE;gBAC1C,SAAS;gBACT,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM;gBAC9C,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;aAClC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,QAAgB,EAAE,KAAa;QACvE,6BAA6B;QAC7B,OAAO;YACL,MAAM;YACN,QAAQ;YACR,KAAK;YACL,OAAO,EAAE;gBACP,QAAQ,EAAE,CAAC;gBACX,IAAI,EAAE,CAAC;gBACP,MAAM,EAAE,CAAC;gBACT,GAAG,EAAE,CAAC;gBACN,IAAI,EAAE,EAAE;aACT;YACD,eAAe,EAAE;gBACf;oBACE,EAAE,EAAE,gBAAgB;oBACpB,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,6BAA6B;oBACpC,IAAI,EAAE,kBAAkB;oBACxB,IAAI,EAAE,EAAE;oBACR,WAAW,EAAE,qCAAqC;iBACnD;gBACD;oBACE,EAAE,EAAE,gBAAgB;oBACpB,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,mBAAmB;oBAC1B,IAAI,EAAE,uBAAuB;oBAC7B,IAAI,EAAE,GAAG;oBACT,WAAW,EAAE,gCAAgC;iBAC9C;aACF;YACD,eAAe,EAAE;gBACf,oDAAoD;gBACpD,gDAAgD;gBAChD,gDAAgD;aACjD;SACF,CAAC;IACJ,CAAC;CACF;AA7DD,4EA6DC"}