@monoes/monomindcli 1.15.3 → 1.15.5

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 (105) hide show
  1. package/dist/src/mcp-client.d.ts.map +1 -1
  2. package/dist/src/mcp-client.js +7 -0
  3. package/dist/src/mcp-client.js.map +1 -1
  4. package/dist/src/mcp-tools/coherence/causal-infer.d.ts +15 -0
  5. package/dist/src/mcp-tools/coherence/causal-infer.d.ts.map +1 -0
  6. package/dist/src/mcp-tools/coherence/causal-infer.js +347 -0
  7. package/dist/src/mcp-tools/coherence/causal-infer.js.map +1 -0
  8. package/dist/src/mcp-tools/coherence/coherence-check.d.ts +15 -0
  9. package/dist/src/mcp-tools/coherence/coherence-check.d.ts.map +1 -0
  10. package/dist/src/mcp-tools/coherence/coherence-check.js +206 -0
  11. package/dist/src/mcp-tools/coherence/coherence-check.js.map +1 -0
  12. package/dist/src/mcp-tools/coherence/consensus-verify.d.ts +15 -0
  13. package/dist/src/mcp-tools/coherence/consensus-verify.d.ts.map +1 -0
  14. package/dist/src/mcp-tools/coherence/consensus-verify.js +303 -0
  15. package/dist/src/mcp-tools/coherence/consensus-verify.js.map +1 -0
  16. package/dist/src/mcp-tools/coherence/memory-gate.d.ts +15 -0
  17. package/dist/src/mcp-tools/coherence/memory-gate.d.ts.map +1 -0
  18. package/dist/src/mcp-tools/coherence/memory-gate.js +266 -0
  19. package/dist/src/mcp-tools/coherence/memory-gate.js.map +1 -0
  20. package/dist/src/mcp-tools/coherence/quantum-topology.d.ts +15 -0
  21. package/dist/src/mcp-tools/coherence/quantum-topology.d.ts.map +1 -0
  22. package/dist/src/mcp-tools/coherence/quantum-topology.js +406 -0
  23. package/dist/src/mcp-tools/coherence/quantum-topology.js.map +1 -0
  24. package/dist/src/mcp-tools/coherence/spectral-analyze.d.ts +15 -0
  25. package/dist/src/mcp-tools/coherence/spectral-analyze.d.ts.map +1 -0
  26. package/dist/src/mcp-tools/coherence/spectral-analyze.js +293 -0
  27. package/dist/src/mcp-tools/coherence/spectral-analyze.js.map +1 -0
  28. package/dist/src/mcp-tools/coherence/types.d.ts +277 -0
  29. package/dist/src/mcp-tools/coherence/types.d.ts.map +1 -0
  30. package/dist/src/mcp-tools/coherence/types.js +159 -0
  31. package/dist/src/mcp-tools/coherence/types.js.map +1 -0
  32. package/dist/src/mcp-tools/coherence-tools.d.ts +9 -0
  33. package/dist/src/mcp-tools/coherence-tools.d.ts.map +1 -0
  34. package/dist/src/mcp-tools/coherence-tools.js +25 -0
  35. package/dist/src/mcp-tools/coherence-tools.js.map +1 -0
  36. package/dist/src/mcp-tools/quality/chaos-resilience/chaos-inject.d.ts +163 -0
  37. package/dist/src/mcp-tools/quality/chaos-resilience/chaos-inject.d.ts.map +1 -0
  38. package/dist/src/mcp-tools/quality/chaos-resilience/chaos-inject.js +414 -0
  39. package/dist/src/mcp-tools/quality/chaos-resilience/chaos-inject.js.map +1 -0
  40. package/dist/src/mcp-tools/quality/coverage-analysis/analyze-coverage.d.ts +128 -0
  41. package/dist/src/mcp-tools/quality/coverage-analysis/analyze-coverage.d.ts.map +1 -0
  42. package/dist/src/mcp-tools/quality/coverage-analysis/analyze-coverage.js +375 -0
  43. package/dist/src/mcp-tools/quality/coverage-analysis/analyze-coverage.js.map +1 -0
  44. package/dist/src/mcp-tools/quality/coverage-analysis/prioritize-gaps.d.ts +161 -0
  45. package/dist/src/mcp-tools/quality/coverage-analysis/prioritize-gaps.d.ts.map +1 -0
  46. package/dist/src/mcp-tools/quality/coverage-analysis/prioritize-gaps.js +423 -0
  47. package/dist/src/mcp-tools/quality/coverage-analysis/prioritize-gaps.js.map +1 -0
  48. package/dist/src/mcp-tools/quality/coverage-analysis/track-trends.d.ts +165 -0
  49. package/dist/src/mcp-tools/quality/coverage-analysis/track-trends.d.ts.map +1 -0
  50. package/dist/src/mcp-tools/quality/coverage-analysis/track-trends.js +395 -0
  51. package/dist/src/mcp-tools/quality/coverage-analysis/track-trends.js.map +1 -0
  52. package/dist/src/mcp-tools/quality/defect-intelligence/analyze-root-cause.d.ts +165 -0
  53. package/dist/src/mcp-tools/quality/defect-intelligence/analyze-root-cause.d.ts.map +1 -0
  54. package/dist/src/mcp-tools/quality/defect-intelligence/analyze-root-cause.js +508 -0
  55. package/dist/src/mcp-tools/quality/defect-intelligence/analyze-root-cause.js.map +1 -0
  56. package/dist/src/mcp-tools/quality/defect-intelligence/find-similar-defects.d.ts +147 -0
  57. package/dist/src/mcp-tools/quality/defect-intelligence/find-similar-defects.d.ts.map +1 -0
  58. package/dist/src/mcp-tools/quality/defect-intelligence/find-similar-defects.js +391 -0
  59. package/dist/src/mcp-tools/quality/defect-intelligence/find-similar-defects.js.map +1 -0
  60. package/dist/src/mcp-tools/quality/defect-intelligence/predict-defects.d.ts +147 -0
  61. package/dist/src/mcp-tools/quality/defect-intelligence/predict-defects.d.ts.map +1 -0
  62. package/dist/src/mcp-tools/quality/defect-intelligence/predict-defects.js +422 -0
  63. package/dist/src/mcp-tools/quality/defect-intelligence/predict-defects.js.map +1 -0
  64. package/dist/src/mcp-tools/quality/quality-assessment/assess-readiness.d.ts +185 -0
  65. package/dist/src/mcp-tools/quality/quality-assessment/assess-readiness.d.ts.map +1 -0
  66. package/dist/src/mcp-tools/quality/quality-assessment/assess-readiness.js +437 -0
  67. package/dist/src/mcp-tools/quality/quality-assessment/assess-readiness.js.map +1 -0
  68. package/dist/src/mcp-tools/quality/quality-assessment/calculate-risk.d.ts +166 -0
  69. package/dist/src/mcp-tools/quality/quality-assessment/calculate-risk.d.ts.map +1 -0
  70. package/dist/src/mcp-tools/quality/quality-assessment/calculate-risk.js +410 -0
  71. package/dist/src/mcp-tools/quality/quality-assessment/calculate-risk.js.map +1 -0
  72. package/dist/src/mcp-tools/quality/quality-assessment/evaluate-quality-gate.d.ts +201 -0
  73. package/dist/src/mcp-tools/quality/quality-assessment/evaluate-quality-gate.d.ts.map +1 -0
  74. package/dist/src/mcp-tools/quality/quality-assessment/evaluate-quality-gate.js +363 -0
  75. package/dist/src/mcp-tools/quality/quality-assessment/evaluate-quality-gate.js.map +1 -0
  76. package/dist/src/mcp-tools/quality/security-compliance/audit-compliance.d.ts +166 -0
  77. package/dist/src/mcp-tools/quality/security-compliance/audit-compliance.d.ts.map +1 -0
  78. package/dist/src/mcp-tools/quality/security-compliance/audit-compliance.js +394 -0
  79. package/dist/src/mcp-tools/quality/security-compliance/audit-compliance.js.map +1 -0
  80. package/dist/src/mcp-tools/quality/security-compliance/detect-secrets.d.ts +129 -0
  81. package/dist/src/mcp-tools/quality/security-compliance/detect-secrets.d.ts.map +1 -0
  82. package/dist/src/mcp-tools/quality/security-compliance/detect-secrets.js +383 -0
  83. package/dist/src/mcp-tools/quality/security-compliance/detect-secrets.js.map +1 -0
  84. package/dist/src/mcp-tools/quality/security-compliance/security-scan.d.ts +171 -0
  85. package/dist/src/mcp-tools/quality/security-compliance/security-scan.d.ts.map +1 -0
  86. package/dist/src/mcp-tools/quality/security-compliance/security-scan.js +476 -0
  87. package/dist/src/mcp-tools/quality/security-compliance/security-scan.js.map +1 -0
  88. package/dist/src/mcp-tools/quality/test-generation/generate-tests.d.ts +147 -0
  89. package/dist/src/mcp-tools/quality/test-generation/generate-tests.d.ts.map +1 -0
  90. package/dist/src/mcp-tools/quality/test-generation/generate-tests.js +400 -0
  91. package/dist/src/mcp-tools/quality/test-generation/generate-tests.js.map +1 -0
  92. package/dist/src/mcp-tools/quality/test-generation/suggest-tests.d.ts +145 -0
  93. package/dist/src/mcp-tools/quality/test-generation/suggest-tests.d.ts.map +1 -0
  94. package/dist/src/mcp-tools/quality/test-generation/suggest-tests.js +328 -0
  95. package/dist/src/mcp-tools/quality/test-generation/suggest-tests.js.map +1 -0
  96. package/dist/src/mcp-tools/quality/test-generation/tdd-cycle.d.ts +126 -0
  97. package/dist/src/mcp-tools/quality/test-generation/tdd-cycle.d.ts.map +1 -0
  98. package/dist/src/mcp-tools/quality/test-generation/tdd-cycle.js +348 -0
  99. package/dist/src/mcp-tools/quality/test-generation/tdd-cycle.js.map +1 -0
  100. package/dist/src/mcp-tools/quality-tools.d.ts +9 -0
  101. package/dist/src/mcp-tools/quality-tools.d.ts.map +1 -0
  102. package/dist/src/mcp-tools/quality-tools.js +308 -0
  103. package/dist/src/mcp-tools/quality-tools.js.map +1 -0
  104. package/dist/tsconfig.tsbuildinfo +1 -1
  105. package/package.json +1 -1
@@ -0,0 +1,422 @@
1
+ /**
2
+ * predict-defects.ts - ML-based defect prediction MCP tool handler
3
+ *
4
+ * Predicts potential defects using machine learning analysis of code
5
+ * complexity, historical patterns, and semantic similarity to known defects.
6
+ */
7
+ import { z } from 'zod';
8
+ // Input schema for predict-defects tool
9
+ export const PredictDefectsInputSchema = z.object({
10
+ targetPath: z.string().describe('Path to file/directory to analyze'),
11
+ depth: z
12
+ .enum(['shallow', 'medium', 'deep'])
13
+ .default('medium')
14
+ .describe('Analysis depth - deeper finds more but takes longer'),
15
+ includeRootCause: z.boolean().default(true).describe('Include root cause analysis'),
16
+ minConfidence: z
17
+ .number()
18
+ .min(0)
19
+ .max(1)
20
+ .default(0.6)
21
+ .describe('Minimum confidence threshold for predictions'),
22
+ categories: z
23
+ .array(z.enum([
24
+ 'null-pointer',
25
+ 'boundary',
26
+ 'resource-leak',
27
+ 'race-condition',
28
+ 'logic-error',
29
+ 'security',
30
+ 'performance',
31
+ 'type-error',
32
+ 'exception-handling',
33
+ ]))
34
+ .default(['null-pointer', 'boundary', 'logic-error', 'exception-handling'])
35
+ .describe('Defect categories to check'),
36
+ useSimilarPatterns: z.boolean().default(true).describe('Use historical pattern matching'),
37
+ maxPredictions: z.number().min(1).max(100).default(20).describe('Maximum predictions to return'),
38
+ });
39
+ /**
40
+ * MCP Tool Handler for predict-defects
41
+ */
42
+ export async function handler(input, context) {
43
+ const startTime = Date.now();
44
+ try {
45
+ // Validate input
46
+ const validatedInput = PredictDefectsInputSchema.parse(input);
47
+ // Get memory bridge for pattern matching
48
+ const bridge = context.get('aqe.bridge');
49
+ // Analyze code for potential defects
50
+ const predictions = await analyzeForDefects(validatedInput.targetPath, validatedInput.categories, validatedInput.depth, validatedInput.minConfidence, validatedInput.includeRootCause);
51
+ // Search for similar historical defects
52
+ const similarDefects = validatedInput.useSimilarPatterns
53
+ ? await findSimilarDefects(predictions, bridge)
54
+ : [];
55
+ // Calculate risk summary
56
+ const riskSummary = calculateRiskSummary(predictions);
57
+ // Generate prevention strategies
58
+ const preventionStrategies = generatePreventionStrategies(predictions);
59
+ // Limit results
60
+ const limitedPredictions = predictions
61
+ .sort((a, b) => {
62
+ // Sort by severity then confidence
63
+ const severityOrder = { critical: 0, high: 1, medium: 2, low: 3 };
64
+ const sevDiff = severityOrder[a.severity] - severityOrder[b.severity];
65
+ if (sevDiff !== 0)
66
+ return sevDiff;
67
+ return b.confidence - a.confidence;
68
+ })
69
+ .slice(0, validatedInput.maxPredictions);
70
+ // Build result
71
+ const result = {
72
+ success: true,
73
+ predictions: limitedPredictions,
74
+ riskSummary,
75
+ similarDefects,
76
+ preventionStrategies,
77
+ metadata: {
78
+ analyzedAt: new Date().toISOString(),
79
+ durationMs: Date.now() - startTime,
80
+ filesAnalyzed: 1,
81
+ linesAnalyzed: 500,
82
+ patternsMatched: similarDefects.length,
83
+ modelVersion: '3.2.3',
84
+ },
85
+ };
86
+ return {
87
+ content: [
88
+ {
89
+ type: 'text',
90
+ text: JSON.stringify(result, null, 2),
91
+ },
92
+ ],
93
+ };
94
+ }
95
+ catch (error) {
96
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
97
+ return {
98
+ content: [
99
+ {
100
+ type: 'text',
101
+ text: JSON.stringify({
102
+ success: false,
103
+ error: errorMessage,
104
+ predictions: [],
105
+ metadata: {
106
+ analyzedAt: new Date().toISOString(),
107
+ durationMs: Date.now() - startTime,
108
+ },
109
+ }, null, 2),
110
+ },
111
+ ],
112
+ };
113
+ }
114
+ }
115
+ async function analyzeForDefects(targetPath, categories, depth, minConfidence, includeRootCause) {
116
+ const predictions = [];
117
+ // Generate predictions based on categories
118
+ for (const category of categories) {
119
+ const categoryPredictions = generateCategoryPredictions(category, targetPath, depth, includeRootCause);
120
+ predictions.push(...categoryPredictions);
121
+ }
122
+ // Filter by confidence
123
+ return predictions.filter((p) => p.confidence >= minConfidence);
124
+ }
125
+ function generateCategoryPredictions(category, targetPath, depth, includeRootCause) {
126
+ const depthMultiplier = depth === 'deep' ? 3 : depth === 'medium' ? 2 : 1;
127
+ const categoryPatterns = {
128
+ 'null-pointer': [
129
+ {
130
+ severity: 'high',
131
+ description: 'Potential null/undefined dereference without check',
132
+ suggestedFix: 'Add null check before accessing property',
133
+ rootCause: 'Missing null safety check',
134
+ pattern: 'Unchecked optional access',
135
+ },
136
+ {
137
+ severity: 'medium',
138
+ description: 'Optional chaining not used for nullable object',
139
+ suggestedFix: 'Use optional chaining (?.) or nullish coalescing (??)',
140
+ rootCause: 'Inconsistent null handling',
141
+ pattern: 'Direct property access on nullable',
142
+ },
143
+ ],
144
+ boundary: [
145
+ {
146
+ severity: 'high',
147
+ description: 'Array index access without bounds check',
148
+ suggestedFix: 'Validate array index before access',
149
+ rootCause: 'Missing bounds validation',
150
+ pattern: 'Direct array indexing',
151
+ },
152
+ {
153
+ severity: 'medium',
154
+ description: 'Potential off-by-one error in loop',
155
+ suggestedFix: 'Review loop bounds and use forEach/map when possible',
156
+ rootCause: 'Manual index management',
157
+ pattern: 'Loop boundary condition',
158
+ },
159
+ ],
160
+ 'resource-leak': [
161
+ {
162
+ severity: 'critical',
163
+ description: 'Resource not properly closed in error path',
164
+ suggestedFix: 'Use try-finally or using/dispose pattern',
165
+ rootCause: 'Missing cleanup in error handling',
166
+ pattern: 'Unclosed resource in exception path',
167
+ },
168
+ ],
169
+ 'race-condition': [
170
+ {
171
+ severity: 'high',
172
+ description: 'Shared state modified without synchronization',
173
+ suggestedFix: 'Add mutex/lock or use atomic operations',
174
+ rootCause: 'Unprotected shared state',
175
+ pattern: 'Concurrent access to mutable state',
176
+ },
177
+ ],
178
+ 'logic-error': [
179
+ {
180
+ severity: 'medium',
181
+ description: 'Conditional logic may not cover all cases',
182
+ suggestedFix: 'Add exhaustive case handling or default clause',
183
+ rootCause: 'Incomplete branching logic',
184
+ pattern: 'Non-exhaustive conditional',
185
+ },
186
+ {
187
+ severity: 'low',
188
+ description: 'Redundant condition detected',
189
+ suggestedFix: 'Simplify conditional logic',
190
+ rootCause: 'Code complexity',
191
+ pattern: 'Duplicate or redundant check',
192
+ },
193
+ ],
194
+ security: [
195
+ {
196
+ severity: 'critical',
197
+ description: 'User input used without sanitization',
198
+ suggestedFix: 'Sanitize and validate all user input',
199
+ rootCause: 'Missing input validation',
200
+ pattern: 'Unsanitized input flow',
201
+ },
202
+ ],
203
+ performance: [
204
+ {
205
+ severity: 'medium',
206
+ description: 'Nested loops with O(n^2) complexity',
207
+ suggestedFix: 'Consider using Map/Set for O(n) lookup',
208
+ rootCause: 'Inefficient algorithm',
209
+ pattern: 'Quadratic time complexity',
210
+ },
211
+ ],
212
+ 'type-error': [
213
+ {
214
+ severity: 'medium',
215
+ description: 'Type assertion without runtime check',
216
+ suggestedFix: 'Add type guard or runtime validation',
217
+ rootCause: 'Unsafe type cast',
218
+ pattern: 'Unguarded type assertion',
219
+ },
220
+ ],
221
+ 'exception-handling': [
222
+ {
223
+ severity: 'high',
224
+ description: 'Catch block swallows exception without logging',
225
+ suggestedFix: 'Log or rethrow exceptions appropriately',
226
+ rootCause: 'Silent failure pattern',
227
+ pattern: 'Empty catch block',
228
+ },
229
+ {
230
+ severity: 'medium',
231
+ description: 'Generic exception catch may hide specific errors',
232
+ suggestedFix: 'Catch specific exception types',
233
+ rootCause: 'Over-broad exception handling',
234
+ pattern: 'Catch-all exception handler',
235
+ },
236
+ ],
237
+ };
238
+ const patterns = categoryPatterns[category] || [];
239
+ const predictions = [];
240
+ let predictionId = 0;
241
+ const CONFIDENCE_BY_SEVERITY = {
242
+ critical: 0.90,
243
+ high: 0.80,
244
+ medium: 0.70,
245
+ low: 0.60,
246
+ };
247
+ for (const pattern of patterns.slice(0, depthMultiplier)) {
248
+ const confidence = CONFIDENCE_BY_SEVERITY[pattern.severity] ?? 0.70;
249
+ const prediction = {
250
+ id: `pred-${category}-${predictionId++}`,
251
+ category,
252
+ severity: pattern.severity,
253
+ confidence,
254
+ location: {
255
+ file: targetPath,
256
+ },
257
+ description: pattern.description,
258
+ suggestedFix: pattern.suggestedFix,
259
+ evidence: [
260
+ {
261
+ type: 'code-pattern',
262
+ description: pattern.pattern,
263
+ weight: 0.4,
264
+ },
265
+ {
266
+ type: 'static-analysis',
267
+ description: `Static analysis flagged potential ${category}`,
268
+ weight: 0.3,
269
+ },
270
+ {
271
+ type: 'complexity',
272
+ description: 'Function complexity contributes to defect likelihood',
273
+ weight: 0.2,
274
+ },
275
+ ],
276
+ };
277
+ if (includeRootCause) {
278
+ prediction.rootCause = {
279
+ primaryCause: pattern.rootCause,
280
+ contributingFactors: [
281
+ 'High code complexity',
282
+ 'Insufficient test coverage',
283
+ 'Time pressure during development',
284
+ ],
285
+ codePattern: pattern.pattern,
286
+ historicalOccurrences: 0,
287
+ };
288
+ }
289
+ predictions.push(prediction);
290
+ }
291
+ return predictions;
292
+ }
293
+ async function findSimilarDefects(predictions, bridge) {
294
+ const similarDefects = [];
295
+ // If bridge available, search for similar patterns
296
+ if (bridge) {
297
+ try {
298
+ for (const prediction of predictions.slice(0, 3)) {
299
+ const patterns = await bridge.searchSimilarPatterns(`defect ${prediction.category} ${prediction.description}`, 3);
300
+ for (let i = 0; i < patterns.length && i < 2; i++) {
301
+ similarDefects.push({
302
+ id: `sim-${prediction.id}-${i}`,
303
+ similarity: 0.75,
304
+ originalDefect: {
305
+ category: prediction.category,
306
+ description: `Historical ${prediction.category} defect`,
307
+ resolution: prediction.suggestedFix,
308
+ file: 'historical/similar-file.ts',
309
+ },
310
+ matchedPattern: prediction.rootCause?.codePattern || 'Unknown pattern',
311
+ });
312
+ }
313
+ }
314
+ }
315
+ catch {
316
+ // Continue without similar defects
317
+ }
318
+ }
319
+ return similarDefects.sort((a, b) => b.similarity - a.similarity);
320
+ }
321
+ function calculateRiskSummary(predictions) {
322
+ const counts = { critical: 0, high: 0, medium: 0, low: 0 };
323
+ for (const pred of predictions) {
324
+ counts[pred.severity]++;
325
+ }
326
+ const avgConfidence = predictions.length > 0
327
+ ? predictions.reduce((sum, p) => sum + p.confidence, 0) / predictions.length
328
+ : 0;
329
+ // Identify high-risk areas (files with critical/high predictions)
330
+ const highRiskFiles = new Set();
331
+ for (const pred of predictions) {
332
+ if (pred.severity === 'critical' || pred.severity === 'high') {
333
+ highRiskFiles.add(pred.location.file);
334
+ }
335
+ }
336
+ return {
337
+ totalPredictions: predictions.length,
338
+ criticalCount: counts.critical,
339
+ highCount: counts.high,
340
+ mediumCount: counts.medium,
341
+ lowCount: counts.low,
342
+ avgConfidence: Math.round(avgConfidence * 100) / 100,
343
+ highRiskAreas: Array.from(highRiskFiles),
344
+ };
345
+ }
346
+ function generatePreventionStrategies(predictions) {
347
+ const categoryStrategies = {
348
+ 'null-pointer': {
349
+ strategy: 'Implement strict null checking',
350
+ implementation: 'Enable TypeScript strict mode, use optional chaining, add null guards',
351
+ effectiveness: 0.85,
352
+ },
353
+ boundary: {
354
+ strategy: 'Use safe array access patterns',
355
+ implementation: 'Replace direct indexing with .at(), use forEach/map, add bounds validation',
356
+ effectiveness: 0.80,
357
+ },
358
+ 'resource-leak': {
359
+ strategy: 'Implement resource management patterns',
360
+ implementation: 'Use try-finally, implement IDisposable pattern, add cleanup hooks',
361
+ effectiveness: 0.90,
362
+ },
363
+ 'race-condition': {
364
+ strategy: 'Add concurrency controls',
365
+ implementation: 'Use mutex/semaphore, implement atomic operations, avoid shared state',
366
+ effectiveness: 0.75,
367
+ },
368
+ 'logic-error': {
369
+ strategy: 'Improve code coverage and review',
370
+ implementation: 'Add unit tests for edge cases, implement exhaustive pattern matching',
371
+ effectiveness: 0.70,
372
+ },
373
+ security: {
374
+ strategy: 'Implement input validation layer',
375
+ implementation: 'Add input sanitization, use parameterized queries, implement CSP',
376
+ effectiveness: 0.95,
377
+ },
378
+ performance: {
379
+ strategy: 'Optimize algorithm complexity',
380
+ implementation: 'Use appropriate data structures, implement caching, profile hot paths',
381
+ effectiveness: 0.80,
382
+ },
383
+ 'type-error': {
384
+ strategy: 'Strengthen type safety',
385
+ implementation: 'Add type guards, use branded types, implement runtime validation',
386
+ effectiveness: 0.85,
387
+ },
388
+ 'exception-handling': {
389
+ strategy: 'Implement structured error handling',
390
+ implementation: 'Create error hierarchy, add logging, implement error boundaries',
391
+ effectiveness: 0.80,
392
+ },
393
+ };
394
+ const strategies = [];
395
+ const categoriesWithPredictions = new Set(predictions.map((p) => p.category));
396
+ for (const category of categoriesWithPredictions) {
397
+ const strategyInfo = categoryStrategies[category];
398
+ if (strategyInfo) {
399
+ strategies.push({
400
+ category,
401
+ strategy: strategyInfo.strategy,
402
+ implementation: strategyInfo.implementation,
403
+ effectiveness: strategyInfo.effectiveness,
404
+ affectedPredictions: predictions
405
+ .filter((p) => p.category === category)
406
+ .map((p) => p.id),
407
+ });
408
+ }
409
+ }
410
+ return strategies.sort((a, b) => b.effectiveness - a.effectiveness);
411
+ }
412
+ // Export tool definition for MCP registration
413
+ export const toolDefinition = {
414
+ name: 'aqe/predict-defects',
415
+ description: 'Predict potential defects using ML-based analysis with root cause identification',
416
+ category: 'defect-intelligence',
417
+ version: '3.2.3',
418
+ inputSchema: PredictDefectsInputSchema,
419
+ handler,
420
+ };
421
+ export default toolDefinition;
422
+ //# sourceMappingURL=predict-defects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"predict-defects.js","sourceRoot":"","sources":["../../../../../src/mcp-tools/quality/defect-intelligence/predict-defects.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,185 @@
1
+ /**
2
+ * assess-readiness.ts - Release readiness assessment MCP tool handler
3
+ *
4
+ * Comprehensive release readiness assessment combining quality metrics,
5
+ * test results, risk factors, and stakeholder criteria.
6
+ */
7
+ import { z } from 'zod';
8
+ export declare const AssessReadinessInputSchema: z.ZodObject<{
9
+ releaseType: z.ZodDefault<z.ZodEnum<{
10
+ minor: "minor";
11
+ major: "major";
12
+ patch: "patch";
13
+ hotfix: "hotfix";
14
+ }>>;
15
+ projectPath: z.ZodOptional<z.ZodString>;
16
+ criteria: z.ZodOptional<z.ZodArray<z.ZodObject<{
17
+ name: z.ZodString;
18
+ category: z.ZodEnum<{
19
+ security: "security";
20
+ performance: "performance";
21
+ documentation: "documentation";
22
+ testing: "testing";
23
+ quality: "quality";
24
+ compliance: "compliance";
25
+ }>;
26
+ required: z.ZodDefault<z.ZodBoolean>;
27
+ weight: z.ZodDefault<z.ZodNumber>;
28
+ }, z.core.$strip>>>;
29
+ includeChecks: z.ZodDefault<z.ZodArray<z.ZodEnum<{
30
+ dependencies: "dependencies";
31
+ documentation: "documentation";
32
+ "quality-gates": "quality-gates";
33
+ "test-results": "test-results";
34
+ "security-scan": "security-scan";
35
+ "performance-baseline": "performance-baseline";
36
+ "change-log": "change-log";
37
+ "rollback-plan": "rollback-plan";
38
+ }>>>;
39
+ compareToRelease: z.ZodOptional<z.ZodString>;
40
+ strictMode: z.ZodDefault<z.ZodBoolean>;
41
+ }, z.core.$strip>;
42
+ export type AssessReadinessInput = z.infer<typeof AssessReadinessInputSchema>;
43
+ export interface AssessReadinessOutput {
44
+ success: boolean;
45
+ ready: boolean;
46
+ confidence: number;
47
+ verdict: ReadinessVerdict;
48
+ checkResults: CheckResult[];
49
+ riskAssessment: RiskAssessment;
50
+ blockers: Blocker[];
51
+ warnings: Warning[];
52
+ signOffRequired: SignOff[];
53
+ releaseNotes: ReleaseNotes;
54
+ metadata: ReadinessMetadata;
55
+ }
56
+ export interface ReadinessVerdict {
57
+ decision: 'go' | 'no-go' | 'conditional';
58
+ reason: string;
59
+ conditions?: string[];
60
+ }
61
+ export interface CheckResult {
62
+ name: string;
63
+ category: string;
64
+ status: 'passed' | 'failed' | 'warning' | 'skipped';
65
+ required: boolean;
66
+ score: number;
67
+ details: string;
68
+ evidence: Evidence[];
69
+ }
70
+ export interface Evidence {
71
+ type: string;
72
+ value: string;
73
+ link?: string;
74
+ }
75
+ export interface RiskAssessment {
76
+ overallRisk: 'low' | 'medium' | 'high' | 'critical';
77
+ riskScore: number;
78
+ factors: RiskFactor[];
79
+ mitigations: Mitigation[];
80
+ }
81
+ export interface RiskFactor {
82
+ name: string;
83
+ severity: 'low' | 'medium' | 'high' | 'critical';
84
+ likelihood: 'unlikely' | 'possible' | 'likely' | 'certain';
85
+ impact: string;
86
+ mitigation?: string;
87
+ }
88
+ export interface Mitigation {
89
+ risk: string;
90
+ action: string;
91
+ owner: string;
92
+ status: 'planned' | 'in-progress' | 'complete';
93
+ }
94
+ export interface Blocker {
95
+ id: string;
96
+ severity: 'critical' | 'high';
97
+ description: string;
98
+ resolution: string;
99
+ owner?: string;
100
+ }
101
+ export interface Warning {
102
+ id: string;
103
+ severity: 'medium' | 'low';
104
+ description: string;
105
+ recommendation: string;
106
+ }
107
+ export interface SignOff {
108
+ role: string;
109
+ status: 'pending' | 'approved' | 'rejected';
110
+ approver?: string;
111
+ date?: string;
112
+ notes?: string;
113
+ }
114
+ export interface ReleaseNotes {
115
+ version: string;
116
+ date: string;
117
+ highlights: string[];
118
+ features: string[];
119
+ bugFixes: string[];
120
+ breakingChanges: string[];
121
+ knownIssues: string[];
122
+ }
123
+ export interface ReadinessMetadata {
124
+ assessedAt: string;
125
+ durationMs: number;
126
+ releaseType: string;
127
+ checksPerformed: number;
128
+ checksPassed: number;
129
+ comparedTo?: string;
130
+ }
131
+ export interface ToolContext {
132
+ get<T>(key: string): T | undefined;
133
+ }
134
+ /**
135
+ * MCP Tool Handler for assess-readiness
136
+ */
137
+ export declare function handler(input: AssessReadinessInput, context: ToolContext): Promise<{
138
+ content: Array<{
139
+ type: 'text';
140
+ text: string;
141
+ }>;
142
+ }>;
143
+ export declare const toolDefinition: {
144
+ name: string;
145
+ description: string;
146
+ category: string;
147
+ version: string;
148
+ inputSchema: z.ZodObject<{
149
+ releaseType: z.ZodDefault<z.ZodEnum<{
150
+ minor: "minor";
151
+ major: "major";
152
+ patch: "patch";
153
+ hotfix: "hotfix";
154
+ }>>;
155
+ projectPath: z.ZodOptional<z.ZodString>;
156
+ criteria: z.ZodOptional<z.ZodArray<z.ZodObject<{
157
+ name: z.ZodString;
158
+ category: z.ZodEnum<{
159
+ security: "security";
160
+ performance: "performance";
161
+ documentation: "documentation";
162
+ testing: "testing";
163
+ quality: "quality";
164
+ compliance: "compliance";
165
+ }>;
166
+ required: z.ZodDefault<z.ZodBoolean>;
167
+ weight: z.ZodDefault<z.ZodNumber>;
168
+ }, z.core.$strip>>>;
169
+ includeChecks: z.ZodDefault<z.ZodArray<z.ZodEnum<{
170
+ dependencies: "dependencies";
171
+ documentation: "documentation";
172
+ "quality-gates": "quality-gates";
173
+ "test-results": "test-results";
174
+ "security-scan": "security-scan";
175
+ "performance-baseline": "performance-baseline";
176
+ "change-log": "change-log";
177
+ "rollback-plan": "rollback-plan";
178
+ }>>>;
179
+ compareToRelease: z.ZodOptional<z.ZodString>;
180
+ strictMode: z.ZodDefault<z.ZodBoolean>;
181
+ }, z.core.$strip>;
182
+ handler: typeof handler;
183
+ };
184
+ export default toolDefinition;
185
+ //# sourceMappingURL=assess-readiness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assess-readiness.d.ts","sourceRoot":"","sources":["../../../../../src/mcp-tools/quality/quality-assessment/assess-readiness.ts"],"names":[],"mappings":"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"}