@monoes/monomindcli 1.15.4 → 1.15.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) 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/src/plugins/store/discovery.d.ts.map +1 -1
  105. package/dist/src/plugins/store/discovery.js +4 -124
  106. package/dist/src/plugins/store/discovery.js.map +1 -1
  107. package/dist/tsconfig.tsbuildinfo +1 -1
  108. package/package.json +1 -1
  109. package/scripts/publish-registry.ts +0 -2
@@ -0,0 +1,328 @@
1
+ /**
2
+ * suggest-tests.ts - Coverage gap test suggestions MCP tool handler
3
+ *
4
+ * Analyzes existing code and coverage data to suggest tests that would
5
+ * improve coverage in areas that matter most based on risk and complexity.
6
+ */
7
+ import { z } from 'zod';
8
+ // Input schema for suggest-tests tool
9
+ export const SuggestTestsInputSchema = z.object({
10
+ targetPath: z.string().describe('Path to file/directory to analyze'),
11
+ coverageReport: z.string().optional().describe('Path to existing coverage report (lcov/json)'),
12
+ focusAreas: z
13
+ .array(z.enum(['branches', 'functions', 'lines', 'edge-cases', 'error-handling', 'boundaries']))
14
+ .default(['branches', 'functions'])
15
+ .describe('Areas to focus suggestions on'),
16
+ maxSuggestions: z.number().min(1).max(50).default(10).describe('Maximum suggestions to return'),
17
+ priorityBy: z
18
+ .enum(['risk', 'complexity', 'coverage-impact', 'change-frequency'])
19
+ .default('risk')
20
+ .describe('How to prioritize suggestions'),
21
+ includeCode: z.boolean().default(true).describe('Include generated test code in suggestions'),
22
+ framework: z
23
+ .enum(['vitest', 'jest', 'mocha', 'pytest', 'junit'])
24
+ .default('vitest')
25
+ .describe('Test framework for generated code'),
26
+ });
27
+ /**
28
+ * MCP Tool Handler for suggest-tests
29
+ */
30
+ export async function handler(input, context) {
31
+ const startTime = Date.now();
32
+ try {
33
+ // Validate input
34
+ const validatedInput = SuggestTestsInputSchema.parse(input);
35
+ // Get bridge for pattern search
36
+ const bridge = context.get('aqe.bridge');
37
+ // Analyze coverage gaps
38
+ const coverageAnalysis = await analyzeCoverageGaps(validatedInput.targetPath, validatedInput.coverageReport, validatedInput.focusAreas);
39
+ // Generate prioritized suggestions
40
+ const suggestions = await generateSuggestions(coverageAnalysis, validatedInput.priorityBy, validatedInput.maxSuggestions, validatedInput.includeCode, validatedInput.framework, bridge);
41
+ // Calculate prioritization info
42
+ const prioritization = calculatePrioritization(validatedInput.priorityBy, coverageAnalysis);
43
+ // Build result
44
+ const result = {
45
+ success: true,
46
+ suggestions,
47
+ coverageAnalysis: {
48
+ currentCoverage: coverageAnalysis.current,
49
+ projectedCoverage: calculateProjectedCoverage(coverageAnalysis.current, suggestions),
50
+ uncoveredAreas: coverageAnalysis.uncovered,
51
+ },
52
+ prioritization,
53
+ metadata: {
54
+ generatedAt: new Date().toISOString(),
55
+ analysisTimeMs: Date.now() - startTime,
56
+ filesAnalyzed: coverageAnalysis.filesAnalyzed,
57
+ totalUncoveredLines: coverageAnalysis.uncoveredLines,
58
+ totalUncoveredBranches: coverageAnalysis.uncoveredBranches,
59
+ },
60
+ };
61
+ return {
62
+ content: [
63
+ {
64
+ type: 'text',
65
+ text: JSON.stringify(result, null, 2),
66
+ },
67
+ ],
68
+ };
69
+ }
70
+ catch (error) {
71
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
72
+ return {
73
+ content: [
74
+ {
75
+ type: 'text',
76
+ text: JSON.stringify({
77
+ success: false,
78
+ error: errorMessage,
79
+ suggestions: [],
80
+ metadata: {
81
+ generatedAt: new Date().toISOString(),
82
+ analysisTimeMs: Date.now() - startTime,
83
+ },
84
+ }, null, 2),
85
+ },
86
+ ],
87
+ };
88
+ }
89
+ }
90
+ async function analyzeCoverageGaps(targetPath, coverageReport, focusAreas) {
91
+ // Simulated coverage analysis
92
+ // In real implementation, would parse coverage report and analyze code
93
+ const uncoveredAreas = [];
94
+ // Analyze based on focus areas
95
+ if (focusAreas.includes('branches')) {
96
+ uncoveredAreas.push({
97
+ type: 'branch',
98
+ location: {
99
+ file: targetPath,
100
+ startLine: 25,
101
+ endLine: 30,
102
+ functionName: 'processInput',
103
+ },
104
+ risk: 'high',
105
+ reason: 'Error handling branch never executed',
106
+ });
107
+ }
108
+ if (focusAreas.includes('functions')) {
109
+ uncoveredAreas.push({
110
+ type: 'function',
111
+ location: {
112
+ file: targetPath,
113
+ startLine: 50,
114
+ endLine: 65,
115
+ functionName: 'validateConfig',
116
+ },
117
+ risk: 'medium',
118
+ reason: 'Validation function not covered',
119
+ });
120
+ }
121
+ if (focusAreas.includes('edge-cases')) {
122
+ uncoveredAreas.push({
123
+ type: 'edge-case',
124
+ location: {
125
+ file: targetPath,
126
+ startLine: 80,
127
+ endLine: 85,
128
+ functionName: 'handleEmptyInput',
129
+ },
130
+ risk: 'high',
131
+ reason: 'Empty input handling not tested',
132
+ });
133
+ }
134
+ if (focusAreas.includes('error-handling')) {
135
+ uncoveredAreas.push({
136
+ type: 'error',
137
+ location: {
138
+ file: targetPath,
139
+ startLine: 100,
140
+ endLine: 110,
141
+ functionName: 'handleError',
142
+ },
143
+ risk: 'critical',
144
+ reason: 'Error handling code path not tested',
145
+ });
146
+ }
147
+ return {
148
+ current: {
149
+ lines: 72,
150
+ branches: 58,
151
+ functions: 80,
152
+ statements: 75,
153
+ },
154
+ uncovered: uncoveredAreas,
155
+ filesAnalyzed: 1,
156
+ uncoveredLines: 45,
157
+ uncoveredBranches: 12,
158
+ };
159
+ }
160
+ async function generateSuggestions(analysis, priorityBy, maxSuggestions, includeCode, framework, bridge) {
161
+ const suggestions = [];
162
+ // Sort uncovered areas by priority strategy
163
+ const sortedAreas = sortByPriority(analysis.uncovered, priorityBy);
164
+ for (const area of sortedAreas.slice(0, maxSuggestions)) {
165
+ const suggestion = {
166
+ id: `sug-${Date.now()}-${suggestions.length}`,
167
+ type: mapAreaType(area.type),
168
+ priority: area.risk,
169
+ title: generateSuggestionTitle(area),
170
+ description: generateSuggestionDescription(area),
171
+ targetLocation: area.location,
172
+ rationale: area.reason,
173
+ estimatedCoverageGain: calculateCoverageGain(area),
174
+ complexity: assessComplexity(area),
175
+ };
176
+ if (includeCode) {
177
+ suggestion.testCode = await generateTestCode(area, framework, bridge);
178
+ }
179
+ suggestions.push(suggestion);
180
+ }
181
+ return suggestions;
182
+ }
183
+ function sortByPriority(areas, strategy) {
184
+ const riskOrder = { critical: 0, high: 1, medium: 2, low: 3 };
185
+ switch (strategy) {
186
+ case 'risk':
187
+ return [...areas].sort((a, b) => riskOrder[a.risk] - riskOrder[b.risk]);
188
+ case 'complexity':
189
+ return [...areas].sort((a, b) => (a.location.endLine - a.location.startLine) - (b.location.endLine - b.location.startLine));
190
+ case 'coverage-impact':
191
+ return [...areas].sort((a, b) => (b.location.endLine - b.location.startLine) - (a.location.endLine - a.location.startLine));
192
+ default:
193
+ return areas;
194
+ }
195
+ }
196
+ function mapAreaType(type) {
197
+ const typeMap = {
198
+ branch: 'branch',
199
+ function: 'function',
200
+ line: 'line',
201
+ 'edge-case': 'edge-case',
202
+ error: 'error-handling',
203
+ boundary: 'boundary',
204
+ };
205
+ return typeMap[type] || 'line';
206
+ }
207
+ function generateSuggestionTitle(area) {
208
+ const templates = {
209
+ branch: `Test branch coverage in ${area.location.functionName || 'code block'}`,
210
+ function: `Add tests for ${area.location.functionName || 'function'}`,
211
+ line: `Cover lines ${area.location.startLine}-${area.location.endLine}`,
212
+ 'edge-case': `Test edge case: ${area.reason}`,
213
+ error: `Test error handling in ${area.location.functionName || 'code block'}`,
214
+ };
215
+ return templates[area.type] || `Test ${area.type} at line ${area.location.startLine}`;
216
+ }
217
+ function generateSuggestionDescription(area) {
218
+ return `Add test coverage for ${area.type} at ${area.location.file}:${area.location.startLine}. ${area.reason}`;
219
+ }
220
+ function calculateCoverageGain(area) {
221
+ const lineCount = area.location.endLine - area.location.startLine + 1;
222
+ // Estimate coverage gain based on line count and type
223
+ const baseGain = Math.min(lineCount * 0.5, 5);
224
+ const typeMultiplier = {
225
+ branch: 1.5,
226
+ function: 2,
227
+ error: 1.2,
228
+ };
229
+ return Math.round((baseGain * (typeMultiplier[area.type] || 1)) * 10) / 10;
230
+ }
231
+ function assessComplexity(area) {
232
+ const lineCount = area.location.endLine - area.location.startLine + 1;
233
+ if (lineCount <= 5)
234
+ return 'simple';
235
+ if (lineCount <= 15)
236
+ return 'moderate';
237
+ return 'complex';
238
+ }
239
+ async function generateTestCode(area, framework, bridge) {
240
+ // Search for similar patterns if bridge available
241
+ if (bridge) {
242
+ try {
243
+ await bridge.searchSimilarPatterns(`test ${area.type} ${area.location.functionName}`, 3);
244
+ }
245
+ catch {
246
+ // Continue without patterns
247
+ }
248
+ }
249
+ const templates = {
250
+ vitest: `import { describe, it, expect } from 'vitest';
251
+ import { ${area.location.functionName || 'targetFunction'} } from './${area.location.file.replace(/\.[^.]+$/, '')}';
252
+
253
+ describe('${area.location.functionName || 'Target'}', () => {
254
+ it('should ${area.reason.toLowerCase()}', () => {
255
+ // Arrange
256
+ const input = /* test input for ${area.type} */;
257
+
258
+ // Act
259
+ const result = ${area.location.functionName || 'targetFunction'}(input);
260
+
261
+ // Assert
262
+ expect(result).toBeDefined();
263
+ // Add specific assertions for ${area.type}
264
+ });
265
+ });`,
266
+ jest: `describe('${area.location.functionName || 'Target'}', () => {
267
+ it('should ${area.reason.toLowerCase()}', () => {
268
+ // Arrange
269
+ const input = /* test input for ${area.type} */;
270
+
271
+ // Act
272
+ const result = ${area.location.functionName || 'targetFunction'}(input);
273
+
274
+ // Assert
275
+ expect(result).toBeDefined();
276
+ });
277
+ });`,
278
+ };
279
+ return templates[framework] || templates.vitest;
280
+ }
281
+ function calculatePrioritization(strategy, analysis) {
282
+ const factors = [
283
+ {
284
+ name: 'Risk Level',
285
+ weight: strategy === 'risk' ? 0.5 : 0.2,
286
+ value: analysis.uncovered.filter((a) => a.risk === 'critical' || a.risk === 'high').length / analysis.uncovered.length,
287
+ description: 'Proportion of high-risk uncovered areas',
288
+ },
289
+ {
290
+ name: 'Coverage Gap',
291
+ weight: strategy === 'coverage-impact' ? 0.5 : 0.3,
292
+ value: (100 - analysis.current.branches) / 100,
293
+ description: 'Current branch coverage gap',
294
+ },
295
+ {
296
+ name: 'Complexity',
297
+ weight: strategy === 'complexity' ? 0.5 : 0.2,
298
+ value: analysis.uncovered.reduce((sum, a) => sum + (a.location.endLine - a.location.startLine), 0) / 100,
299
+ description: 'Relative complexity of uncovered areas',
300
+ },
301
+ ];
302
+ const riskScore = factors.reduce((sum, f) => sum + f.weight * f.value, 0);
303
+ return {
304
+ strategy,
305
+ factors,
306
+ riskScore: Math.round(riskScore * 100) / 100,
307
+ };
308
+ }
309
+ function calculateProjectedCoverage(current, suggestions) {
310
+ const totalGain = suggestions.reduce((sum, s) => sum + s.estimatedCoverageGain, 0);
311
+ return {
312
+ lines: Math.min(current.lines + totalGain, 100),
313
+ branches: Math.min(current.branches + totalGain * 0.8, 100),
314
+ functions: Math.min(current.functions + totalGain * 0.5, 100),
315
+ statements: Math.min(current.statements + totalGain * 0.9, 100),
316
+ };
317
+ }
318
+ // Export tool definition for MCP registration
319
+ export const toolDefinition = {
320
+ name: 'aqe/suggest-tests',
321
+ description: 'Suggest tests based on coverage gaps with risk-based prioritization',
322
+ category: 'test-generation',
323
+ version: '3.2.3',
324
+ inputSchema: SuggestTestsInputSchema,
325
+ handler,
326
+ };
327
+ export default toolDefinition;
328
+ //# sourceMappingURL=suggest-tests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggest-tests.js","sourceRoot":"","sources":["../../../../../src/mcp-tools/quality/test-generation/suggest-tests.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * tdd-cycle.ts - TDD red-green-refactor orchestration MCP tool handler
3
+ *
4
+ * Executes TDD cycles with 7 specialized subagents:
5
+ * 1. requirement-analyzer - Analyzes requirements
6
+ * 2. test-designer - Designs test cases
7
+ * 3. red-phase-executor - Writes failing tests
8
+ * 4. green-phase-implementer - Implements to pass tests
9
+ * 5. refactor-advisor - Suggests refactoring improvements
10
+ * 6. coverage-verifier - Verifies coverage targets
11
+ * 7. cycle-coordinator - Orchestrates the cycle
12
+ */
13
+ import { z } from 'zod';
14
+ export declare const TDDCycleInputSchema: z.ZodObject<{
15
+ requirement: z.ZodString;
16
+ targetPath: z.ZodString;
17
+ style: z.ZodDefault<z.ZodEnum<{
18
+ london: "london";
19
+ chicago: "chicago";
20
+ }>>;
21
+ maxCycles: z.ZodDefault<z.ZodNumber>;
22
+ framework: z.ZodDefault<z.ZodEnum<{
23
+ vitest: "vitest";
24
+ jest: "jest";
25
+ mocha: "mocha";
26
+ pytest: "pytest";
27
+ junit: "junit";
28
+ }>>;
29
+ coverageTarget: z.ZodDefault<z.ZodNumber>;
30
+ autoRefactor: z.ZodDefault<z.ZodBoolean>;
31
+ stopOnGreen: z.ZodDefault<z.ZodBoolean>;
32
+ }, z.core.$strip>;
33
+ export type TDDCycleInput = z.infer<typeof TDDCycleInputSchema>;
34
+ export type TDDPhase = 'red' | 'green' | 'refactor' | 'complete';
35
+ export interface TDDCycleOutput {
36
+ success: boolean;
37
+ cycles: TDDCycleResult[];
38
+ finalCoverage: number;
39
+ totalCycles: number;
40
+ implementation: ImplementationSummary;
41
+ agents: AgentContribution[];
42
+ metadata: TDDMetadata;
43
+ }
44
+ export interface TDDCycleResult {
45
+ cycleNumber: number;
46
+ phase: TDDPhase;
47
+ test: TestCase | null;
48
+ implementation: string | null;
49
+ refactoring: RefactoringSuggestion[];
50
+ passed: boolean;
51
+ coverage: number;
52
+ durationMs: number;
53
+ }
54
+ export interface TestCase {
55
+ name: string;
56
+ description: string;
57
+ code: string;
58
+ assertions: string[];
59
+ }
60
+ export interface RefactoringSuggestion {
61
+ type: 'extract-method' | 'rename' | 'simplify' | 'inline' | 'extract-class' | 'other';
62
+ description: string;
63
+ location: string;
64
+ applied: boolean;
65
+ }
66
+ export interface ImplementationSummary {
67
+ filesCreated: string[];
68
+ filesModified: string[];
69
+ linesOfCode: number;
70
+ testCount: number;
71
+ coverage: number;
72
+ }
73
+ export interface AgentContribution {
74
+ agentId: string;
75
+ agentType: string;
76
+ tasksCompleted: number;
77
+ contributions: string[];
78
+ }
79
+ export interface TDDMetadata {
80
+ startedAt: string;
81
+ completedAt: string;
82
+ totalDurationMs: number;
83
+ style: 'london' | 'chicago';
84
+ framework: string;
85
+ requirement: string;
86
+ }
87
+ export interface ToolContext {
88
+ get<T>(key: string): T | undefined;
89
+ }
90
+ /**
91
+ * MCP Tool Handler for tdd-cycle
92
+ */
93
+ export declare function handler(input: TDDCycleInput, context: ToolContext): Promise<{
94
+ content: Array<{
95
+ type: 'text';
96
+ text: string;
97
+ }>;
98
+ }>;
99
+ export declare const toolDefinition: {
100
+ name: string;
101
+ description: string;
102
+ category: string;
103
+ version: string;
104
+ inputSchema: z.ZodObject<{
105
+ requirement: z.ZodString;
106
+ targetPath: z.ZodString;
107
+ style: z.ZodDefault<z.ZodEnum<{
108
+ london: "london";
109
+ chicago: "chicago";
110
+ }>>;
111
+ maxCycles: z.ZodDefault<z.ZodNumber>;
112
+ framework: z.ZodDefault<z.ZodEnum<{
113
+ vitest: "vitest";
114
+ jest: "jest";
115
+ mocha: "mocha";
116
+ pytest: "pytest";
117
+ junit: "junit";
118
+ }>>;
119
+ coverageTarget: z.ZodDefault<z.ZodNumber>;
120
+ autoRefactor: z.ZodDefault<z.ZodBoolean>;
121
+ stopOnGreen: z.ZodDefault<z.ZodBoolean>;
122
+ }, z.core.$strip>;
123
+ handler: typeof handler;
124
+ };
125
+ export default toolDefinition;
126
+ //# sourceMappingURL=tdd-cycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tdd-cycle.d.ts","sourceRoot":"","sources":["../../../../../src/mcp-tools/quality/test-generation/tdd-cycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;iBAkB9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAGhE,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;AAGjE,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,qBAAqB,CAAC;IACtC,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,QAAQ,EAAE,WAAW,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,QAAQ,CAAC;IAChB,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,qBAAqB,EAAE,CAAC;IACrC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,gBAAgB,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,eAAe,GAAG,OAAO,CAAC;IACtF,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAGD,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;CACpC;AAaD;;GAEG;AACH,wBAAsB,OAAO,CAC3B,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA8J7D;AAyQD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;CAO1B,CAAC;AAEF,eAAe,cAAc,CAAC"}