agentic-qe 1.4.1 → 1.4.2

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 (147) hide show
  1. package/CHANGELOG.md +177 -0
  2. package/README.md +14 -95
  3. package/dist/agents/index.d.ts.map +1 -1
  4. package/dist/agents/index.js +14 -15
  5. package/dist/agents/index.js.map +1 -1
  6. package/dist/cli/commands/config/set.d.ts.map +1 -1
  7. package/dist/cli/commands/config/set.js +10 -2
  8. package/dist/cli/commands/config/set.js.map +1 -1
  9. package/dist/cli/commands/init.d.ts.map +1 -1
  10. package/dist/cli/commands/init.js +26 -3
  11. package/dist/cli/commands/init.js.map +1 -1
  12. package/dist/core/Agent.d.ts +1 -1
  13. package/dist/core/Agent.d.ts.map +1 -1
  14. package/dist/core/Agent.js +2 -2
  15. package/dist/core/Agent.js.map +1 -1
  16. package/dist/core/MemoryManager.d.ts.map +1 -1
  17. package/dist/core/MemoryManager.js +4 -1
  18. package/dist/core/MemoryManager.js.map +1 -1
  19. package/dist/core/hooks/RollbackManager.js +2 -2
  20. package/dist/core/hooks/RollbackManager.js.map +1 -1
  21. package/dist/learning/LearningEngine.d.ts +21 -4
  22. package/dist/learning/LearningEngine.d.ts.map +1 -1
  23. package/dist/learning/LearningEngine.js +118 -131
  24. package/dist/learning/LearningEngine.js.map +1 -1
  25. package/dist/learning/LearningPersistenceAdapter.d.ts +84 -0
  26. package/dist/learning/LearningPersistenceAdapter.d.ts.map +1 -0
  27. package/dist/learning/LearningPersistenceAdapter.js +202 -0
  28. package/dist/learning/LearningPersistenceAdapter.js.map +1 -0
  29. package/dist/learning/index.d.ts +1 -0
  30. package/dist/learning/index.d.ts.map +1 -1
  31. package/dist/learning/index.js +1 -0
  32. package/dist/learning/index.js.map +1 -1
  33. package/dist/mcp/handlers/analysis/coverage-analyze-sublinear-handler.d.ts.map +1 -1
  34. package/dist/mcp/handlers/analysis/coverage-analyze-sublinear-handler.js +3 -7
  35. package/dist/mcp/handlers/analysis/coverage-analyze-sublinear-handler.js.map +1 -1
  36. package/dist/mcp/handlers/analysis/coverage-gaps-detect-handler.d.ts.map +1 -1
  37. package/dist/mcp/handlers/analysis/coverage-gaps-detect-handler.js +3 -7
  38. package/dist/mcp/handlers/analysis/coverage-gaps-detect-handler.js.map +1 -1
  39. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.d.ts.map +1 -1
  40. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.js +3 -7
  41. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.js.map +1 -1
  42. package/dist/mcp/handlers/analysis/performance-monitor-realtime-handler.d.ts.map +1 -1
  43. package/dist/mcp/handlers/analysis/performance-monitor-realtime-handler.js +3 -7
  44. package/dist/mcp/handlers/analysis/performance-monitor-realtime-handler.js.map +1 -1
  45. package/dist/mcp/handlers/analysis/security-scan-comprehensive-handler.d.ts.map +1 -1
  46. package/dist/mcp/handlers/analysis/security-scan-comprehensive-handler.js +3 -7
  47. package/dist/mcp/handlers/analysis/security-scan-comprehensive-handler.js.map +1 -1
  48. package/dist/mcp/handlers/base-handler.d.ts +30 -0
  49. package/dist/mcp/handlers/base-handler.d.ts.map +1 -1
  50. package/dist/mcp/handlers/base-handler.js +42 -0
  51. package/dist/mcp/handlers/base-handler.js.map +1 -1
  52. package/dist/mcp/handlers/coordination/event-emit.d.ts.map +1 -1
  53. package/dist/mcp/handlers/coordination/event-emit.js +4 -10
  54. package/dist/mcp/handlers/coordination/event-emit.js.map +1 -1
  55. package/dist/mcp/handlers/coordination/event-subscribe.d.ts.map +1 -1
  56. package/dist/mcp/handlers/coordination/event-subscribe.js +3 -9
  57. package/dist/mcp/handlers/coordination/event-subscribe.js.map +1 -1
  58. package/dist/mcp/handlers/coordination/task-status.d.ts.map +1 -1
  59. package/dist/mcp/handlers/coordination/task-status.js +4 -10
  60. package/dist/mcp/handlers/coordination/task-status.js.map +1 -1
  61. package/dist/mcp/handlers/coordination/workflow-checkpoint.d.ts.map +1 -1
  62. package/dist/mcp/handlers/coordination/workflow-checkpoint.js +4 -10
  63. package/dist/mcp/handlers/coordination/workflow-checkpoint.js.map +1 -1
  64. package/dist/mcp/handlers/coordination/workflow-create.d.ts.map +1 -1
  65. package/dist/mcp/handlers/coordination/workflow-create.js +4 -10
  66. package/dist/mcp/handlers/coordination/workflow-create.js.map +1 -1
  67. package/dist/mcp/handlers/coordination/workflow-execute.d.ts.map +1 -1
  68. package/dist/mcp/handlers/coordination/workflow-execute.js +4 -10
  69. package/dist/mcp/handlers/coordination/workflow-execute.js.map +1 -1
  70. package/dist/mcp/handlers/coordination/workflow-resume.d.ts.map +1 -1
  71. package/dist/mcp/handlers/coordination/workflow-resume.js +4 -10
  72. package/dist/mcp/handlers/coordination/workflow-resume.js.map +1 -1
  73. package/dist/mcp/handlers/memory/memory-backup.d.ts.map +1 -1
  74. package/dist/mcp/handlers/memory/memory-backup.js +3 -7
  75. package/dist/mcp/handlers/memory/memory-backup.js.map +1 -1
  76. package/dist/mcp/handlers/memory/memory-query.d.ts.map +1 -1
  77. package/dist/mcp/handlers/memory/memory-query.js +8 -8
  78. package/dist/mcp/handlers/memory/memory-query.js.map +1 -1
  79. package/dist/mcp/handlers/memory/memory-retrieve.d.ts.map +1 -1
  80. package/dist/mcp/handlers/memory/memory-retrieve.js +3 -7
  81. package/dist/mcp/handlers/memory/memory-retrieve.js.map +1 -1
  82. package/dist/mcp/handlers/memory/memory-share.d.ts.map +1 -1
  83. package/dist/mcp/handlers/memory/memory-share.js +3 -7
  84. package/dist/mcp/handlers/memory/memory-share.js.map +1 -1
  85. package/dist/mcp/handlers/memory/memory-store.d.ts.map +1 -1
  86. package/dist/mcp/handlers/memory/memory-store.js +3 -7
  87. package/dist/mcp/handlers/memory/memory-store.js.map +1 -1
  88. package/dist/mcp/handlers/prediction/deployment-readiness-check.d.ts.map +1 -1
  89. package/dist/mcp/handlers/prediction/deployment-readiness-check.js +4 -8
  90. package/dist/mcp/handlers/prediction/deployment-readiness-check.js.map +1 -1
  91. package/dist/mcp/handlers/prediction/flaky-test-detect.d.ts.map +1 -1
  92. package/dist/mcp/handlers/prediction/flaky-test-detect.js +4 -8
  93. package/dist/mcp/handlers/prediction/flaky-test-detect.js.map +1 -1
  94. package/dist/mcp/handlers/prediction/predict-defects-ai.d.ts.map +1 -1
  95. package/dist/mcp/handlers/prediction/predict-defects-ai.js +4 -8
  96. package/dist/mcp/handlers/prediction/predict-defects-ai.js.map +1 -1
  97. package/dist/mcp/handlers/prediction/regression-risk-analyze.d.ts.map +1 -1
  98. package/dist/mcp/handlers/prediction/regression-risk-analyze.js +4 -8
  99. package/dist/mcp/handlers/prediction/regression-risk-analyze.js.map +1 -1
  100. package/dist/mcp/handlers/prediction/visual-test-regression.d.ts.map +1 -1
  101. package/dist/mcp/handlers/prediction/visual-test-regression.js +4 -8
  102. package/dist/mcp/handlers/prediction/visual-test-regression.js.map +1 -1
  103. package/dist/mcp/handlers/quality/quality-decision-make.d.ts.map +1 -1
  104. package/dist/mcp/handlers/quality/quality-decision-make.js +9 -19
  105. package/dist/mcp/handlers/quality/quality-decision-make.js.map +1 -1
  106. package/dist/mcp/handlers/quality/quality-gate-execute.d.ts.map +1 -1
  107. package/dist/mcp/handlers/quality/quality-gate-execute.js +10 -22
  108. package/dist/mcp/handlers/quality/quality-gate-execute.js.map +1 -1
  109. package/dist/mcp/handlers/quality/quality-policy-check.d.ts.map +1 -1
  110. package/dist/mcp/handlers/quality/quality-policy-check.js +5 -15
  111. package/dist/mcp/handlers/quality/quality-policy-check.js.map +1 -1
  112. package/dist/mcp/handlers/quality/quality-risk-assess.d.ts.map +1 -1
  113. package/dist/mcp/handlers/quality/quality-risk-assess.js +5 -15
  114. package/dist/mcp/handlers/quality/quality-risk-assess.js.map +1 -1
  115. package/dist/mcp/handlers/quality/quality-validate-metrics.d.ts.map +1 -1
  116. package/dist/mcp/handlers/quality/quality-validate-metrics.js +4 -14
  117. package/dist/mcp/handlers/quality/quality-validate-metrics.js.map +1 -1
  118. package/dist/mcp/handlers/test/test-coverage-detailed.d.ts.map +1 -1
  119. package/dist/mcp/handlers/test/test-coverage-detailed.js +8 -12
  120. package/dist/mcp/handlers/test/test-coverage-detailed.js.map +1 -1
  121. package/dist/mcp/handlers/test/test-execute-parallel.d.ts.map +1 -1
  122. package/dist/mcp/handlers/test/test-execute-parallel.js +8 -12
  123. package/dist/mcp/handlers/test/test-execute-parallel.js.map +1 -1
  124. package/dist/mcp/handlers/test/test-generate-enhanced.d.ts.map +1 -1
  125. package/dist/mcp/handlers/test/test-generate-enhanced.js +4 -8
  126. package/dist/mcp/handlers/test/test-generate-enhanced.js.map +1 -1
  127. package/dist/mcp/handlers/test/test-optimize-sublinear.d.ts.map +1 -1
  128. package/dist/mcp/handlers/test/test-optimize-sublinear.js +8 -12
  129. package/dist/mcp/handlers/test/test-optimize-sublinear.js.map +1 -1
  130. package/dist/mcp/handlers/test/test-report-comprehensive.d.ts.map +1 -1
  131. package/dist/mcp/handlers/test/test-report-comprehensive.js +4 -8
  132. package/dist/mcp/handlers/test/test-report-comprehensive.js.map +1 -1
  133. package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
  134. package/dist/mcp/services/AgentRegistry.js +16 -4
  135. package/dist/mcp/services/AgentRegistry.js.map +1 -1
  136. package/dist/utils/Database.d.ts.map +1 -1
  137. package/dist/utils/Database.js +17 -4
  138. package/dist/utils/Database.js.map +1 -1
  139. package/dist/utils/__mocks__/Logger.d.ts.map +1 -1
  140. package/dist/utils/__mocks__/Logger.js +2 -0
  141. package/dist/utils/__mocks__/Logger.js.map +1 -1
  142. package/package.json +8 -8
  143. package/README.md.backup-20251026 +0 -1366
  144. package/dist/migrations/001_add_learning_tables.d.ts +0 -63
  145. package/dist/migrations/001_add_learning_tables.d.ts.map +0 -1
  146. package/dist/migrations/001_add_learning_tables.js +0 -287
  147. 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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"}
@@ -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"}
@@ -22,6 +22,36 @@ export declare abstract class BaseHandler {
22
22
  * Abstract method that must be implemented by all handlers
23
23
  */
24
24
  abstract handle(args: any): Promise<HandlerResponse>;
25
+ /**
26
+ * Wrapper that ensures all errors are caught and converted to HandlerResponse.
27
+ *
28
+ * This method provides consistent error handling across all MCP handlers by:
29
+ * - Catching ALL thrown errors (including validation errors, runtime errors, etc.)
30
+ * - Converting errors into properly formatted HandlerResponse objects
31
+ * - Logging error details for debugging
32
+ * - Ensuring the MCP server never crashes due to unhandled exceptions
33
+ *
34
+ * **When to use:**
35
+ * - Wrap your entire `handle()` implementation with this method
36
+ * - Use it as the outermost error boundary in your handler
37
+ * - Ensures consistent error response format across all handlers
38
+ *
39
+ * **Example usage:**
40
+ * ```typescript
41
+ * async handle(args: any): Promise<HandlerResponse> {
42
+ * return this.safeHandle(async () => {
43
+ * // Your handler logic here
44
+ * this.validateRequired(args, ['requiredField']);
45
+ * const result = await this.doWork(args);
46
+ * return this.createSuccessResponse(result);
47
+ * });
48
+ * }
49
+ * ```
50
+ *
51
+ * @param handler - Async function containing your handler implementation
52
+ * @returns HandlerResponse - Either success response from handler or error response if exception occurs
53
+ */
54
+ protected safeHandle(handler: () => Promise<HandlerResponse>): Promise<HandlerResponse>;
25
55
  /**
26
56
  * Generate a unique request ID
27
57
  */
@@ -1 +1 @@
1
- {"version":3,"file":"base-handler.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/base-handler.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE;QACT,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,8BAAsB,WAAW;IAC/B,SAAS,CAAC,cAAc,SAAK;IAE7B;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC;IAEpD;;OAEG;IACH,SAAS,CAAC,iBAAiB,IAAI,MAAM;IAIrC;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe;IAY/E;;OAEG;IACH,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe;IAYjF;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI;IAUrE;;OAEG;IACH,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;IAKlF;;OAEG;cACa,oBAAoB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,CAAC,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;CAMpH"}
1
+ {"version":3,"file":"base-handler.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/base-handler.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE;QACT,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,8BAAsB,WAAW;IAC/B,SAAS,CAAC,cAAc,SAAK;IAE7B;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC;IAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;cACa,UAAU,CACxB,OAAO,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,GACtC,OAAO,CAAC,eAAe,CAAC;IAgB3B;;OAEG;IACH,SAAS,CAAC,iBAAiB,IAAI,MAAM;IAIrC;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe;IAY/E;;OAEG;IACH,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe;IAYjF;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI;IAUrE;;OAEG;IACH,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;IAKlF;;OAEG;cACa,oBAAoB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,CAAC,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;CAMpH"}
@@ -6,6 +6,48 @@ class BaseHandler {
6
6
  constructor() {
7
7
  this.requestCounter = 0;
8
8
  }
9
+ /**
10
+ * Wrapper that ensures all errors are caught and converted to HandlerResponse.
11
+ *
12
+ * This method provides consistent error handling across all MCP handlers by:
13
+ * - Catching ALL thrown errors (including validation errors, runtime errors, etc.)
14
+ * - Converting errors into properly formatted HandlerResponse objects
15
+ * - Logging error details for debugging
16
+ * - Ensuring the MCP server never crashes due to unhandled exceptions
17
+ *
18
+ * **When to use:**
19
+ * - Wrap your entire `handle()` implementation with this method
20
+ * - Use it as the outermost error boundary in your handler
21
+ * - Ensures consistent error response format across all handlers
22
+ *
23
+ * **Example usage:**
24
+ * ```typescript
25
+ * async handle(args: any): Promise<HandlerResponse> {
26
+ * return this.safeHandle(async () => {
27
+ * // Your handler logic here
28
+ * this.validateRequired(args, ['requiredField']);
29
+ * const result = await this.doWork(args);
30
+ * return this.createSuccessResponse(result);
31
+ * });
32
+ * }
33
+ * ```
34
+ *
35
+ * @param handler - Async function containing your handler implementation
36
+ * @returns HandlerResponse - Either success response from handler or error response if exception occurs
37
+ */
38
+ async safeHandle(handler) {
39
+ const requestId = this.generateRequestId();
40
+ try {
41
+ return await handler();
42
+ }
43
+ catch (error) {
44
+ this.log('error', 'Handler execution failed', {
45
+ error: error instanceof Error ? error.message : String(error),
46
+ stack: error instanceof Error ? error.stack : undefined
47
+ });
48
+ return this.createErrorResponse(error instanceof Error ? error.message : 'Handler execution failed', requestId);
49
+ }
50
+ }
9
51
  /**
10
52
  * Generate a unique request ID
11
53
  */
@@ -1 +1 @@
1
- {"version":3,"file":"base-handler.js","sourceRoot":"","sources":["../../../src/mcp/handlers/base-handler.ts"],"names":[],"mappings":";;;AAAA,iEAA2D;AAsB3D,MAAsB,WAAW;IAAjC;QACY,mBAAc,GAAG,CAAC,CAAC;IA0E/B,CAAC;IAnEC;;OAEG;IACO,iBAAiB;QACzB,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,IAAI,8BAAY,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,CAAC;IAED;;OAEG;IACO,qBAAqB,CAAC,IAAS,EAAE,SAAkB;QAC3D,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI;YACJ,QAAQ,EAAE;gBACR,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE;gBACzB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,SAAS,EAAE,SAAS,IAAI,IAAI,CAAC,iBAAiB,EAAE;aACjD;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,mBAAmB,CAAC,KAAa,EAAE,SAAkB;QAC7D,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK;YACL,QAAQ,EAAE;gBACR,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE;gBACzB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,SAAS,EAAE,SAAS,IAAI,IAAI,CAAC,iBAAiB,EAAE;aACjD;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,gBAAgB,CAAC,IAAS,EAAE,cAAwB;QAC5D,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3F,MAAM,IAAI,KAAK,CAAC,2CAA2C,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACrG,CAAC;QACD,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QACtH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED;;OAEG;IACO,GAAG,CAAC,KAAgC,EAAE,OAAe,EAAE,IAAU;QACzE,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,IAAI,SAAS,MAAM,KAAK,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IAC1G,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,oBAAoB,CAAI,SAA2B;QACjE,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;QACjC,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACpD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IACnC,CAAC;CACF;AA3ED,kCA2EC"}
1
+ {"version":3,"file":"base-handler.js","sourceRoot":"","sources":["../../../src/mcp/handlers/base-handler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"event-emit.d.ts","sourceRoot":"","sources":["../../../../src/mcp/handlers/coordination/event-emit.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAEhF,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;KACnD,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,QAAQ,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,gBAAiB,SAAQ,WAAW;IAGnC,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,QAAQ,CAAa;gBAET,MAAM,EAAE,kBAAkB;IAKxC,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC;YA8B7C,SAAS;IAiDvB;;OAEG;IACH,WAAW,IAAI,UAAU;IAIzB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC"}
1
+ {"version":3,"file":"event-emit.d.ts","sourceRoot":"","sources":["../../../../src/mcp/handlers/coordination/event-emit.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAEhF,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;KACnD,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,QAAQ,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,gBAAiB,SAAQ,WAAW;IAGnC,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,QAAQ,CAAa;gBAET,MAAM,EAAE,kBAAkB;IAKxC,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC;YAsB7C,SAAS;IAiDvB;;OAEG;IACH,WAAW,IAAI,UAAU;IAIzB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC"}
@@ -19,9 +19,9 @@ class EventEmitHandler extends base_handler_js_1.BaseHandler {
19
19
  this.eventBus = new QEEventBus_js_1.QEEventBus(memory);
20
20
  }
21
21
  async handle(args) {
22
- const requestId = this.generateRequestId();
23
- this.log('info', 'Emitting coordination event', { requestId, event: args.event });
24
- try {
22
+ return this.safeHandle(async () => {
23
+ const requestId = this.generateRequestId();
24
+ this.log('info', 'Emitting coordination event', { requestId, event: args.event });
25
25
  // Validate required fields
26
26
  this.validateRequired(args, ['event', 'data']);
27
27
  const { result: emitted, executionTime } = await this.measureExecutionTime(() => this.emitEvent(args));
@@ -31,13 +31,7 @@ class EventEmitHandler extends base_handler_js_1.BaseHandler {
31
31
  listenerCount: emitted.listenerCount
32
32
  });
33
33
  return this.createSuccessResponse(emitted, requestId);
34
- }
35
- catch (error) {
36
- this.log('error', 'Event emission failed', {
37
- error: error instanceof Error ? error.message : String(error)
38
- });
39
- return this.createErrorResponse(error instanceof Error ? error.message : 'Event emission failed', requestId);
40
- }
34
+ });
41
35
  }
42
36
  async emitEvent(args) {
43
37
  const eventId = `event-${Date.now()}-${SecureRandom_js_1.SecureRandom.generateId(3)}`;
@@ -1 +1 @@
1
- {"version":3,"file":"event-emit.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/coordination/event-emit.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,wDAAkE;AAClE,oEAA8D;AAC9D,sEAAgE;AAyBhE,MAAa,gBAAiB,SAAQ,6BAAW;IAG/C,YAAoB,MAA0B;QAC5C,KAAK,EAAE,CAAC;QADU,WAAM,GAAN,MAAM,CAAoB;QAE5C,IAAI,CAAC,QAAQ,GAAG,IAAI,0BAAU,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAmB;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3C,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,6BAA6B,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAElF,IAAI,CAAC;YACH,2BAA2B;YAC3B,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YAE/C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,CAAC,oBAAoB,CACxE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAC3B,CAAC;YAEF,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,oBAAoB,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE;gBACjE,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,aAAa,EAAE,OAAO,CAAC,aAAa;aACrC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,uBAAuB,EAAE;gBACzC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,mBAAmB,CAC7B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,EAChE,SAAS,CACV,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,IAAmB;QACzC,MAAM,OAAO,GAAG,SAAS,IAAI,CAAC,GAAG,EAAE,IAAI,8BAAY,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,uCAAuC;QACvC,MAAM,SAAS,GAAG;YAChB,GAAG,IAAI,CAAC,IAAI;YACZ,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS;SAC5C,CAAC;QAEF,qCAAqC;QACrC,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEjE,aAAa;QACb,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAElE,MAAM,OAAO,GAAiB;YAC5B,OAAO;YACP,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS;YACT,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE;gBACR,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,gBAAgB;gBACjD,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,IAAI,QAAQ;aAC9C;YACD,SAAS;YACT,aAAa;SACd,CAAC;QAEF,oCAAoC;QACpC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,OAAO,EAAE,EAAE,OAAO,EAAE;YAC3D,SAAS,EAAE,QAAQ;YACnB,GAAG,EAAE,KAAK,CAAC,WAAW;SACvB,CAAC,CAAC;QAEH,iDAAiD;QACjD,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YACzB,GAAG,EAAE,cAAc,IAAI,CAAC,KAAK,EAAE;YAC/B,KAAK,EAAE;gBACL,OAAO;gBACP,SAAS;gBACT,IAAI,EAAE,SAAS;aAChB;YACD,GAAG,EAAE,GAAG,CAAC,YAAY;SACtB,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;CACF;AApGD,4CAoGC"}
1
+ {"version":3,"file":"event-emit.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/coordination/event-emit.ts"],"names":[],"mappings":"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"}