midas-mcp 5.43.1 → 5.43.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.
@@ -0,0 +1,583 @@
1
+ /**
2
+ * Code Complexity Analysis Tools
3
+ *
4
+ * Metrics-based code quality analysis:
5
+ * - Cyclomatic complexity
6
+ * - Nesting depth
7
+ * - Function length
8
+ * - File size
9
+ * - Cognitive complexity indicators
10
+ */
11
+ import { z } from 'zod';
12
+ import { existsSync, readFileSync, readdirSync } from 'fs';
13
+ import { join, relative, extname } from 'path';
14
+ import { sanitizePath } from '../security.js';
15
+ // ============================================================================
16
+ // SCHEMAS
17
+ // ============================================================================
18
+ export const complexitySchema = z.object({
19
+ projectPath: z.string().optional().describe('Path to project root'),
20
+ threshold: z.number().optional().describe('Complexity threshold (default: 10)'),
21
+ limit: z.number().optional().describe('Max results to return (default: 20)'),
22
+ });
23
+ export const simplifySchema = z.object({
24
+ projectPath: z.string().optional().describe('Path to project root'),
25
+ file: z.string().optional().describe('Specific file to analyze'),
26
+ });
27
+ // ============================================================================
28
+ // CONSTANTS
29
+ // ============================================================================
30
+ const IGNORE_DIRS = ['node_modules', '.git', 'dist', 'build', '.midas', 'coverage', '.next', '__pycache__'];
31
+ const CODE_EXTENSIONS = ['.ts', '.tsx', '.js', '.jsx', '.py', '.rs', '.go'];
32
+ // Complexity thresholds
33
+ const THRESHOLDS = {
34
+ cyclomaticComplexity: { low: 5, medium: 10, high: 15, critical: 20 },
35
+ nestingDepth: { low: 2, medium: 3, high: 4, critical: 5 },
36
+ lineCount: { low: 30, medium: 50, high: 100, critical: 200 },
37
+ fileLineCount: { low: 200, medium: 400, high: 600, critical: 1000 },
38
+ parameterCount: { low: 3, medium: 5, high: 7, critical: 10 },
39
+ };
40
+ // ============================================================================
41
+ // COMPLEXITY ANALYSIS
42
+ // ============================================================================
43
+ /**
44
+ * Analyze code complexity across the project
45
+ */
46
+ export function analyzeComplexity(input) {
47
+ const projectPath = sanitizePath(input.projectPath);
48
+ const threshold = input.threshold ?? 10;
49
+ const limit = input.limit ?? 20;
50
+ const allFunctions = [];
51
+ const fileStats = [];
52
+ let filesAnalyzed = 0;
53
+ function scanDir(dir, depth = 0) {
54
+ if (depth > 10)
55
+ return;
56
+ try {
57
+ const entries = readdirSync(dir, { withFileTypes: true });
58
+ for (const entry of entries) {
59
+ if (IGNORE_DIRS.includes(entry.name) || entry.name.startsWith('.'))
60
+ continue;
61
+ const fullPath = join(dir, entry.name);
62
+ if (entry.isDirectory()) {
63
+ scanDir(fullPath, depth + 1);
64
+ }
65
+ else if (entry.isFile()) {
66
+ const ext = extname(entry.name);
67
+ if (CODE_EXTENSIONS.includes(ext)) {
68
+ const result = analyzeFile(fullPath, projectPath);
69
+ if (result) {
70
+ filesAnalyzed++;
71
+ allFunctions.push(...result.functions);
72
+ fileStats.push(result.fileStats);
73
+ }
74
+ }
75
+ }
76
+ }
77
+ }
78
+ catch {
79
+ // Skip inaccessible
80
+ }
81
+ }
82
+ scanDir(projectPath);
83
+ // Filter hotspots above threshold
84
+ const hotspots = allFunctions
85
+ .filter(f => f.metrics.cyclomaticComplexity >= threshold)
86
+ .sort((a, b) => b.metrics.cyclomaticComplexity - a.metrics.cyclomaticComplexity)
87
+ .slice(0, limit);
88
+ // Calculate summary
89
+ const totalComplexity = allFunctions.reduce((sum, f) => sum + f.metrics.cyclomaticComplexity, 0);
90
+ const avgComplexity = allFunctions.length > 0 ? totalComplexity / allFunctions.length : 0;
91
+ // Generate suggested prompt
92
+ let suggestedPrompt = 'Codebase complexity is healthy. No immediate action needed.';
93
+ if (hotspots.length > 0) {
94
+ const top = hotspots[0];
95
+ suggestedPrompt = `Refactor ${top.name} in ${top.file}:${top.line} - complexity ${top.metrics.cyclomaticComplexity}, ` +
96
+ `${top.metrics.nestingDepth} levels deep, ${top.metrics.lineCount} lines. ${top.issues[0] || 'Extract helper functions.'}`;
97
+ }
98
+ return {
99
+ summary: {
100
+ filesAnalyzed,
101
+ functionsAnalyzed: allFunctions.length,
102
+ avgComplexity: Math.round(avgComplexity * 10) / 10,
103
+ hotspotCount: hotspots.length,
104
+ },
105
+ hotspots,
106
+ fileStats: fileStats
107
+ .sort((a, b) => b.maxComplexity - a.maxComplexity)
108
+ .slice(0, 10),
109
+ suggestedPrompt,
110
+ };
111
+ }
112
+ /**
113
+ * Analyze a single file for complexity
114
+ */
115
+ function analyzeFile(filePath, projectPath) {
116
+ try {
117
+ const content = readFileSync(filePath, 'utf-8');
118
+ const lines = content.split('\n');
119
+ const relativePath = relative(projectPath, filePath);
120
+ const functions = [];
121
+ const ext = extname(filePath);
122
+ // Extract functions based on language
123
+ if (['.ts', '.tsx', '.js', '.jsx'].includes(ext)) {
124
+ functions.push(...extractJSFunctions(content, relativePath));
125
+ }
126
+ else if (ext === '.py') {
127
+ functions.push(...extractPythonFunctions(content, relativePath));
128
+ }
129
+ else if (ext === '.go') {
130
+ functions.push(...extractGoFunctions(content, relativePath));
131
+ }
132
+ else if (ext === '.rs') {
133
+ functions.push(...extractRustFunctions(content, relativePath));
134
+ }
135
+ // File-level stats
136
+ const fileIssues = [];
137
+ if (lines.length > THRESHOLDS.fileLineCount.high) {
138
+ fileIssues.push(`File has ${lines.length} lines - consider splitting`);
139
+ }
140
+ const avgComplexity = functions.length > 0
141
+ ? functions.reduce((sum, f) => sum + f.metrics.cyclomaticComplexity, 0) / functions.length
142
+ : 0;
143
+ const maxComplexity = functions.length > 0
144
+ ? Math.max(...functions.map(f => f.metrics.cyclomaticComplexity))
145
+ : 0;
146
+ return {
147
+ functions,
148
+ fileStats: {
149
+ file: relativePath,
150
+ lineCount: lines.length,
151
+ functionCount: functions.length,
152
+ avgComplexity: Math.round(avgComplexity * 10) / 10,
153
+ maxComplexity,
154
+ issues: fileIssues,
155
+ },
156
+ };
157
+ }
158
+ catch {
159
+ return null;
160
+ }
161
+ }
162
+ /**
163
+ * Extract and analyze JavaScript/TypeScript functions
164
+ */
165
+ function extractJSFunctions(content, file) {
166
+ const functions = [];
167
+ const lines = content.split('\n');
168
+ // Match function declarations, arrow functions, methods
169
+ const funcPatterns = [
170
+ /(?:export\s+)?(?:async\s+)?function\s+(\w+)\s*\(([^)]*)\)/g,
171
+ /(?:export\s+)?const\s+(\w+)\s*=\s*(?:async\s+)?\(([^)]*)\)\s*(?::\s*\w+)?\s*=>/g,
172
+ /(?:export\s+)?const\s+(\w+)\s*=\s*(?:async\s+)?function\s*\(([^)]*)\)/g,
173
+ /(\w+)\s*\(([^)]*)\)\s*(?::\s*\w+)?\s*\{/g, // class methods
174
+ ];
175
+ for (const pattern of funcPatterns) {
176
+ let match;
177
+ while ((match = pattern.exec(content)) !== null) {
178
+ const name = match[1];
179
+ const params = match[2];
180
+ const startIndex = match.index;
181
+ const lineNum = content.slice(0, startIndex).split('\n').length;
182
+ // Find function body
183
+ const bodyStart = content.indexOf('{', startIndex);
184
+ if (bodyStart === -1)
185
+ continue;
186
+ const body = extractBracedBlock(content, bodyStart);
187
+ if (!body)
188
+ continue;
189
+ const metrics = calculateMetrics(body, params);
190
+ const issues = getIssues(metrics, name);
191
+ const severity = getSeverity(metrics);
192
+ functions.push({
193
+ file,
194
+ name,
195
+ line: lineNum,
196
+ metrics,
197
+ issues,
198
+ severity,
199
+ });
200
+ }
201
+ }
202
+ return functions;
203
+ }
204
+ /**
205
+ * Extract Python functions
206
+ */
207
+ function extractPythonFunctions(content, file) {
208
+ const functions = [];
209
+ const lines = content.split('\n');
210
+ const funcPattern = /^(\s*)def\s+(\w+)\s*\(([^)]*)\)/gm;
211
+ let match;
212
+ while ((match = funcPattern.exec(content)) !== null) {
213
+ const indent = match[1].length;
214
+ const name = match[2];
215
+ const params = match[3];
216
+ const startIndex = match.index;
217
+ const lineNum = content.slice(0, startIndex).split('\n').length;
218
+ // Find function body (indented block)
219
+ const bodyLines = [];
220
+ for (let i = lineNum; i < lines.length; i++) {
221
+ const line = lines[i];
222
+ if (line.trim() === '') {
223
+ bodyLines.push(line);
224
+ continue;
225
+ }
226
+ const lineIndent = line.match(/^(\s*)/)?.[1].length ?? 0;
227
+ if (lineIndent <= indent && line.trim() !== '')
228
+ break;
229
+ bodyLines.push(line);
230
+ }
231
+ const body = bodyLines.join('\n');
232
+ const metrics = calculateMetrics(body, params);
233
+ const issues = getIssues(metrics, name);
234
+ const severity = getSeverity(metrics);
235
+ functions.push({
236
+ file,
237
+ name,
238
+ line: lineNum,
239
+ metrics,
240
+ issues,
241
+ severity,
242
+ });
243
+ }
244
+ return functions;
245
+ }
246
+ /**
247
+ * Extract Go functions
248
+ */
249
+ function extractGoFunctions(content, file) {
250
+ const functions = [];
251
+ const funcPattern = /func\s+(?:\(\w+\s+\*?\w+\)\s+)?(\w+)\s*\(([^)]*)\)/g;
252
+ let match;
253
+ while ((match = funcPattern.exec(content)) !== null) {
254
+ const name = match[1];
255
+ const params = match[2];
256
+ const startIndex = match.index;
257
+ const lineNum = content.slice(0, startIndex).split('\n').length;
258
+ const bodyStart = content.indexOf('{', startIndex);
259
+ if (bodyStart === -1)
260
+ continue;
261
+ const body = extractBracedBlock(content, bodyStart);
262
+ if (!body)
263
+ continue;
264
+ const metrics = calculateMetrics(body, params);
265
+ const issues = getIssues(metrics, name);
266
+ const severity = getSeverity(metrics);
267
+ functions.push({
268
+ file,
269
+ name,
270
+ line: lineNum,
271
+ metrics,
272
+ issues,
273
+ severity,
274
+ });
275
+ }
276
+ return functions;
277
+ }
278
+ /**
279
+ * Extract Rust functions
280
+ */
281
+ function extractRustFunctions(content, file) {
282
+ const functions = [];
283
+ const funcPattern = /(?:pub\s+)?(?:async\s+)?fn\s+(\w+)\s*(?:<[^>]*>)?\s*\(([^)]*)\)/g;
284
+ let match;
285
+ while ((match = funcPattern.exec(content)) !== null) {
286
+ const name = match[1];
287
+ const params = match[2];
288
+ const startIndex = match.index;
289
+ const lineNum = content.slice(0, startIndex).split('\n').length;
290
+ const bodyStart = content.indexOf('{', startIndex);
291
+ if (bodyStart === -1)
292
+ continue;
293
+ const body = extractBracedBlock(content, bodyStart);
294
+ if (!body)
295
+ continue;
296
+ const metrics = calculateMetrics(body, params);
297
+ const issues = getIssues(metrics, name);
298
+ const severity = getSeverity(metrics);
299
+ functions.push({
300
+ file,
301
+ name,
302
+ line: lineNum,
303
+ metrics,
304
+ issues,
305
+ severity,
306
+ });
307
+ }
308
+ return functions;
309
+ }
310
+ /**
311
+ * Extract a braced block from content starting at openBrace index
312
+ */
313
+ function extractBracedBlock(content, openBrace) {
314
+ let depth = 0;
315
+ let i = openBrace;
316
+ while (i < content.length) {
317
+ if (content[i] === '{')
318
+ depth++;
319
+ if (content[i] === '}')
320
+ depth--;
321
+ if (depth === 0) {
322
+ return content.slice(openBrace, i + 1);
323
+ }
324
+ i++;
325
+ }
326
+ return null;
327
+ }
328
+ /**
329
+ * Calculate complexity metrics for a function body
330
+ */
331
+ function calculateMetrics(body, params) {
332
+ const lines = body.split('\n').filter(l => l.trim() !== '');
333
+ // Cyclomatic complexity: count decision points
334
+ const decisionPatterns = [
335
+ /\bif\s*\(/g,
336
+ /\belse\s+if\s*\(/g,
337
+ /\bfor\s*\(/g,
338
+ /\bwhile\s*\(/g,
339
+ /\bcase\s+/g,
340
+ /\bcatch\s*\(/g,
341
+ /\?\s*[^:]/g, // ternary
342
+ /&&/g,
343
+ /\|\|/g,
344
+ ];
345
+ let cyclomaticComplexity = 1; // Base complexity
346
+ for (const pattern of decisionPatterns) {
347
+ const matches = body.match(pattern);
348
+ if (matches)
349
+ cyclomaticComplexity += matches.length;
350
+ }
351
+ // Nesting depth: count max indent level
352
+ let maxNesting = 0;
353
+ let currentNesting = 0;
354
+ for (const char of body) {
355
+ if (char === '{') {
356
+ currentNesting++;
357
+ maxNesting = Math.max(maxNesting, currentNesting);
358
+ }
359
+ else if (char === '}') {
360
+ currentNesting--;
361
+ }
362
+ }
363
+ // Parameter count
364
+ const parameterCount = params.trim() === '' ? 0 : params.split(',').length;
365
+ return {
366
+ cyclomaticComplexity,
367
+ nestingDepth: maxNesting,
368
+ lineCount: lines.length,
369
+ parameterCount,
370
+ };
371
+ }
372
+ /**
373
+ * Generate issues based on metrics
374
+ */
375
+ function getIssues(metrics, name) {
376
+ const issues = [];
377
+ if (metrics.cyclomaticComplexity >= THRESHOLDS.cyclomaticComplexity.high) {
378
+ issues.push(`High cyclomatic complexity (${metrics.cyclomaticComplexity}) - extract helper functions`);
379
+ }
380
+ if (metrics.nestingDepth >= THRESHOLDS.nestingDepth.high) {
381
+ issues.push(`Deep nesting (${metrics.nestingDepth} levels) - use early returns or guard clauses`);
382
+ }
383
+ if (metrics.lineCount >= THRESHOLDS.lineCount.high) {
384
+ issues.push(`Long function (${metrics.lineCount} lines) - split into smaller functions`);
385
+ }
386
+ if (metrics.parameterCount >= THRESHOLDS.parameterCount.high) {
387
+ issues.push(`Too many parameters (${metrics.parameterCount}) - use options object`);
388
+ }
389
+ return issues;
390
+ }
391
+ /**
392
+ * Determine severity based on metrics
393
+ */
394
+ function getSeverity(metrics) {
395
+ const { cyclomaticComplexity, nestingDepth, lineCount } = metrics;
396
+ if (cyclomaticComplexity >= THRESHOLDS.cyclomaticComplexity.critical ||
397
+ nestingDepth >= THRESHOLDS.nestingDepth.critical ||
398
+ lineCount >= THRESHOLDS.lineCount.critical) {
399
+ return 'critical';
400
+ }
401
+ if (cyclomaticComplexity >= THRESHOLDS.cyclomaticComplexity.high ||
402
+ nestingDepth >= THRESHOLDS.nestingDepth.high ||
403
+ lineCount >= THRESHOLDS.lineCount.high) {
404
+ return 'high';
405
+ }
406
+ if (cyclomaticComplexity >= THRESHOLDS.cyclomaticComplexity.medium ||
407
+ nestingDepth >= THRESHOLDS.nestingDepth.medium ||
408
+ lineCount >= THRESHOLDS.lineCount.medium) {
409
+ return 'medium';
410
+ }
411
+ return 'low';
412
+ }
413
+ // ============================================================================
414
+ // SIMPLIFY ANALYSIS
415
+ // ============================================================================
416
+ /**
417
+ * Analyze code for simplification opportunities
418
+ */
419
+ export function analyzeSimplify(input) {
420
+ const projectPath = sanitizePath(input.projectPath);
421
+ const targetFile = input.file;
422
+ // If specific file, analyze it
423
+ if (targetFile) {
424
+ const fullPath = targetFile.startsWith('/') ? targetFile : join(projectPath, targetFile);
425
+ return analyzeFileForSimplification(fullPath, projectPath);
426
+ }
427
+ // Otherwise find the most complex file
428
+ const complexity = analyzeComplexity({ projectPath, threshold: 1, limit: 100 });
429
+ if (complexity.hotspots.length === 0) {
430
+ return {
431
+ file: '',
432
+ issues: [],
433
+ suggestedPrompt: 'No simplification opportunities found. Codebase is clean!',
434
+ estimatedImprovement: 'N/A',
435
+ };
436
+ }
437
+ // Find file with most issues
438
+ const fileIssues = new Map();
439
+ for (const hotspot of complexity.hotspots) {
440
+ const count = fileIssues.get(hotspot.file) ?? 0;
441
+ fileIssues.set(hotspot.file, count + hotspot.issues.length);
442
+ }
443
+ const topFile = [...fileIssues.entries()].sort((a, b) => b[1] - a[1])[0]?.[0];
444
+ if (!topFile) {
445
+ return {
446
+ file: '',
447
+ issues: [],
448
+ suggestedPrompt: 'No simplification opportunities found.',
449
+ estimatedImprovement: 'N/A',
450
+ };
451
+ }
452
+ const fullPath = join(projectPath, topFile);
453
+ return analyzeFileForSimplification(fullPath, projectPath);
454
+ }
455
+ /**
456
+ * Analyze a specific file for simplification
457
+ */
458
+ function analyzeFileForSimplification(filePath, projectPath) {
459
+ if (!existsSync(filePath)) {
460
+ return {
461
+ file: filePath,
462
+ issues: [],
463
+ suggestedPrompt: `File not found: ${filePath}`,
464
+ estimatedImprovement: 'N/A',
465
+ };
466
+ }
467
+ const content = readFileSync(filePath, 'utf-8');
468
+ const lines = content.split('\n');
469
+ const relativePath = relative(projectPath, filePath);
470
+ const issues = [];
471
+ // 1. Check for deep nesting
472
+ let maxNesting = 0;
473
+ let currentNesting = 0;
474
+ let deepNestingLines = [];
475
+ for (let i = 0; i < lines.length; i++) {
476
+ const line = lines[i];
477
+ const opens = (line.match(/\{/g) || []).length;
478
+ const closes = (line.match(/\}/g) || []).length;
479
+ currentNesting += opens - closes;
480
+ if (currentNesting > 3) {
481
+ deepNestingLines.push(i + 1);
482
+ }
483
+ maxNesting = Math.max(maxNesting, currentNesting);
484
+ }
485
+ if (deepNestingLines.length > 0) {
486
+ issues.push({
487
+ type: 'nesting',
488
+ location: `lines ${deepNestingLines.slice(0, 5).join(', ')}${deepNestingLines.length > 5 ? '...' : ''}`,
489
+ line: deepNestingLines[0],
490
+ description: `${deepNestingLines.length} locations with >3 levels of nesting`,
491
+ suggestion: 'Use early returns, extract helper functions, or flatten conditionals',
492
+ priority: deepNestingLines.length > 10 ? 'high' : 'medium',
493
+ });
494
+ }
495
+ // 2. Check for long functions (already covered by complexity, but add specific lines)
496
+ const longFunctionPattern = /(?:function\s+\w+|const\s+\w+\s*=\s*(?:async\s+)?(?:\([^)]*\)|[^=])\s*=>)\s*\{/g;
497
+ let match;
498
+ while ((match = longFunctionPattern.exec(content)) !== null) {
499
+ const startLine = content.slice(0, match.index).split('\n').length;
500
+ const bodyStart = content.indexOf('{', match.index);
501
+ const body = extractBracedBlock(content, bodyStart);
502
+ if (body && body.split('\n').length > 50) {
503
+ issues.push({
504
+ type: 'length',
505
+ location: `line ${startLine}`,
506
+ line: startLine,
507
+ description: `Function spans ${body.split('\n').length} lines`,
508
+ suggestion: 'Break into smaller, focused functions with single responsibilities',
509
+ priority: 'high',
510
+ });
511
+ }
512
+ }
513
+ // 3. Check for repeated patterns (simple duplication)
514
+ const lineHashes = new Map();
515
+ for (let i = 0; i < lines.length; i++) {
516
+ const normalized = lines[i].trim().replace(/\s+/g, ' ');
517
+ if (normalized.length > 30) { // Only check substantial lines
518
+ const existing = lineHashes.get(normalized) || [];
519
+ existing.push(i + 1);
520
+ lineHashes.set(normalized, existing);
521
+ }
522
+ }
523
+ const duplicates = [...lineHashes.entries()].filter(([_, lns]) => lns.length >= 3);
524
+ if (duplicates.length > 0) {
525
+ issues.push({
526
+ type: 'duplication',
527
+ location: `${duplicates.length} patterns repeated 3+ times`,
528
+ line: duplicates[0][1][0],
529
+ description: 'Repeated code patterns detected',
530
+ suggestion: 'Extract repeated logic into reusable functions',
531
+ priority: 'medium',
532
+ });
533
+ }
534
+ // 4. Check for potential dead code (commented out code blocks)
535
+ const commentedCodePattern = /\/\/.*(?:function|const|let|var|if|for|while|return)/g;
536
+ const commentedMatches = content.match(commentedCodePattern);
537
+ if (commentedMatches && commentedMatches.length > 5) {
538
+ issues.push({
539
+ type: 'dead-code',
540
+ location: 'throughout file',
541
+ line: 1,
542
+ description: `${commentedMatches.length} lines of commented-out code`,
543
+ suggestion: 'Remove commented code - use git history instead',
544
+ priority: 'low',
545
+ });
546
+ }
547
+ // 5. Check for overly abstract patterns (too many small functions)
548
+ const functionCount = (content.match(/(?:function\s+\w+|const\s+\w+\s*=\s*(?:async\s+)?(?:\([^)]*\)|[^=])\s*=>)/g) || []).length;
549
+ const avgLinesPerFunction = lines.length / Math.max(functionCount, 1);
550
+ if (avgLinesPerFunction < 5 && functionCount > 20) {
551
+ issues.push({
552
+ type: 'abstraction',
553
+ location: 'file-wide',
554
+ line: 1,
555
+ description: `${functionCount} functions averaging ${Math.round(avgLinesPerFunction)} lines - may be over-abstracted`,
556
+ suggestion: 'Consider inlining trivial one-liner functions',
557
+ priority: 'low',
558
+ });
559
+ }
560
+ // Generate prompt
561
+ const highPriority = issues.filter(i => i.priority === 'high');
562
+ let suggestedPrompt = 'No major simplification opportunities found.';
563
+ if (highPriority.length > 0) {
564
+ const top = highPriority[0];
565
+ suggestedPrompt = `Simplify ${relativePath}: ${top.description}. ${top.suggestion}.`;
566
+ }
567
+ else if (issues.length > 0) {
568
+ const top = issues[0];
569
+ suggestedPrompt = `Minor cleanup in ${relativePath}: ${top.description}. ${top.suggestion}.`;
570
+ }
571
+ // Estimate improvement
572
+ const estimatedImprovement = issues.length === 0 ? 'Already clean'
573
+ : highPriority.length >= 3 ? 'Could reduce 30-50% of complexity'
574
+ : highPriority.length >= 1 ? 'Could reduce 10-30% of complexity'
575
+ : 'Minor improvements possible';
576
+ return {
577
+ file: relativePath,
578
+ issues,
579
+ suggestedPrompt,
580
+ estimatedImprovement,
581
+ };
582
+ }
583
+ //# sourceMappingURL=complexity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"complexity.js","sourceRoot":"","sources":["../../src/tools/complexity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAY,MAAM,IAAI,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACnE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IAC/E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;CAC7E,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACnE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;CACjE,CAAC,CAAC;AA2DH,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,MAAM,WAAW,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;AAC5G,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAE5E,wBAAwB;AACxB,MAAM,UAAU,GAAG;IACjB,oBAAoB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;IACpE,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE;IACzD,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE;IAC5D,aAAa,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE;IACnE,cAAc,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;CAC7D,CAAC;AAEF,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAsB;IACtD,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;IACxC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;IAEhC,MAAM,YAAY,GAAyB,EAAE,CAAC;IAC9C,MAAM,SAAS,GAAqB,EAAE,CAAC;IACvC,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,SAAS,OAAO,CAAC,GAAW,EAAE,KAAK,GAAG,CAAC;QACrC,IAAI,KAAK,GAAG,EAAE;YAAE,OAAO;QAEvB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;oBAAE,SAAS;gBAE7E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACvC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,OAAO,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC/B,CAAC;qBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAChC,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBAClC,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;wBAClD,IAAI,MAAM,EAAE,CAAC;4BACX,aAAa,EAAE,CAAC;4BAChB,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;4BACvC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;wBACnC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,oBAAoB;QACtB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,WAAW,CAAC,CAAC;IAErB,kCAAkC;IAClC,MAAM,QAAQ,GAAG,YAAY;SAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,IAAI,SAAS,CAAC;SACxD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC;SAC/E,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAEnB,oBAAoB;IACpB,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;IACjG,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1F,4BAA4B;IAC5B,IAAI,eAAe,GAAG,6DAA6D,CAAC;IACpF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,eAAe,GAAG,YAAY,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,iBAAiB,GAAG,CAAC,OAAO,CAAC,oBAAoB,IAAI;YACpH,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,iBAAiB,GAAG,CAAC,OAAO,CAAC,SAAS,WAAW,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,2BAA2B,EAAE,CAAC;IAC/H,CAAC;IAED,OAAO;QACL,OAAO,EAAE;YACP,aAAa;YACb,iBAAiB,EAAE,YAAY,CAAC,MAAM;YACtC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,EAAE,CAAC,GAAG,EAAE;YAClD,YAAY,EAAE,QAAQ,CAAC,MAAM;SAC9B;QACD,QAAQ;QACR,SAAS,EAAE,SAAS;aACjB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC;aACjD,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACf,eAAe;KAChB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,QAAgB,EAAE,WAAmB;IACxD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAErD,MAAM,SAAS,GAAyB,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE9B,sCAAsC;QACtC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,SAAS,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;QAC/D,CAAC;aAAM,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YACzB,SAAS,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;QACnE,CAAC;aAAM,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YACzB,SAAS,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;QAC/D,CAAC;aAAM,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YACzB,SAAS,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;QACjE,CAAC;QAED,mBAAmB;QACnB,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YACjD,UAAU,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,MAAM,6BAA6B,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;YACxC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM;YAC1F,CAAC,CAAC,CAAC,CAAC;QACN,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;YACxC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC,CAAC;QAEN,OAAO;YACL,SAAS;YACT,SAAS,EAAE;gBACT,IAAI,EAAE,YAAY;gBAClB,SAAS,EAAE,KAAK,CAAC,MAAM;gBACvB,aAAa,EAAE,SAAS,CAAC,MAAM;gBAC/B,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,EAAE,CAAC,GAAG,EAAE;gBAClD,aAAa;gBACb,MAAM,EAAE,UAAU;aACnB;SACF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,OAAe,EAAE,IAAY;IACvD,MAAM,SAAS,GAAyB,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,wDAAwD;IACxD,MAAM,YAAY,GAAG;QACnB,4DAA4D;QAC5D,iFAAiF;QACjF,wEAAwE;QACxE,0CAA0C,EAAE,gBAAgB;KAC7D,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC;QACV,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;YAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YAEhE,qBAAqB;YACrB,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YACnD,IAAI,SAAS,KAAK,CAAC,CAAC;gBAAE,SAAS;YAE/B,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACpD,IAAI,CAAC,IAAI;gBAAE,SAAS;YAEpB,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;YAEtC,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI;gBACJ,IAAI;gBACJ,IAAI,EAAE,OAAO;gBACb,OAAO;gBACP,MAAM;gBACN,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,OAAe,EAAE,IAAY;IAC3D,MAAM,SAAS,GAAyB,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,MAAM,WAAW,GAAG,mCAAmC,CAAC;IACxD,IAAI,KAAK,CAAC;IAEV,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;QAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAEhE,sCAAsC;QACtC,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACvB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrB,SAAS;YACX,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;YACzD,IAAI,UAAU,IAAI,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;gBAAE,MAAM;YACtD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QAED,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAEtC,SAAS,CAAC,IAAI,CAAC;YACb,IAAI;YACJ,IAAI;YACJ,IAAI,EAAE,OAAO;YACb,OAAO;YACP,MAAM;YACN,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,OAAe,EAAE,IAAY;IACvD,MAAM,SAAS,GAAyB,EAAE,CAAC;IAE3C,MAAM,WAAW,GAAG,qDAAqD,CAAC;IAC1E,IAAI,KAAK,CAAC;IAEV,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;QAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAEhE,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACnD,IAAI,SAAS,KAAK,CAAC,CAAC;YAAE,SAAS;QAE/B,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI;YAAE,SAAS;QAEpB,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAEtC,SAAS,CAAC,IAAI,CAAC;YACb,IAAI;YACJ,IAAI;YACJ,IAAI,EAAE,OAAO;YACb,OAAO;YACP,MAAM;YACN,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,OAAe,EAAE,IAAY;IACzD,MAAM,SAAS,GAAyB,EAAE,CAAC;IAE3C,MAAM,WAAW,GAAG,kEAAkE,CAAC;IACvF,IAAI,KAAK,CAAC;IAEV,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;QAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAEhE,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACnD,IAAI,SAAS,KAAK,CAAC,CAAC;YAAE,SAAS;QAE/B,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI;YAAE,SAAS;QAEpB,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAEtC,SAAS,CAAC,IAAI,CAAC;YACb,IAAI;YACJ,IAAI;YACJ,IAAI,EAAE,OAAO;YACb,OAAO;YACP,MAAM;YACN,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,OAAe,EAAE,SAAiB;IAC5D,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,CAAC,GAAG,SAAS,CAAC;IAElB,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;QAChC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;QAChC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,OAAO,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,CAAC,EAAE,CAAC;IACN,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,IAAY,EAAE,MAAc;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAE5D,+CAA+C;IAC/C,MAAM,gBAAgB,GAAG;QACvB,YAAY;QACZ,mBAAmB;QACnB,aAAa;QACb,eAAe;QACf,YAAY;QACZ,eAAe;QACf,YAAY,EAAE,UAAU;QACxB,KAAK;QACL,OAAO;KACR,CAAC;IAEF,IAAI,oBAAoB,GAAG,CAAC,CAAC,CAAC,kBAAkB;IAChD,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,OAAO;YAAE,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;IACtD,CAAC;IAED,wCAAwC;IACxC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,cAAc,EAAE,CAAC;YACjB,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QACpD,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACxB,cAAc,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,kBAAkB;IAClB,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IAE3E,OAAO;QACL,oBAAoB;QACpB,YAAY,EAAE,UAAU;QACxB,SAAS,EAAE,KAAK,CAAC,MAAM;QACvB,cAAc;KACf,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,OAAsC,EAAE,IAAY;IACrE,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,OAAO,CAAC,oBAAoB,IAAI,UAAU,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;QACzE,MAAM,CAAC,IAAI,CAAC,+BAA+B,OAAO,CAAC,oBAAoB,8BAA8B,CAAC,CAAC;IACzG,CAAC;IAED,IAAI,OAAO,CAAC,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,YAAY,+CAA+C,CAAC,CAAC;IACpG,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,SAAS,wCAAwC,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,OAAO,CAAC,cAAc,IAAI,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,wBAAwB,OAAO,CAAC,cAAc,wBAAwB,CAAC,CAAC;IACtF,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,OAAsC;IACzD,MAAM,EAAE,oBAAoB,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAElE,IACE,oBAAoB,IAAI,UAAU,CAAC,oBAAoB,CAAC,QAAQ;QAChE,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC,QAAQ;QAChD,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC,QAAQ,EAC1C,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IACE,oBAAoB,IAAI,UAAU,CAAC,oBAAoB,CAAC,IAAI;QAC5D,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC,IAAI;QAC5C,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,EACtC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IACE,oBAAoB,IAAI,UAAU,CAAC,oBAAoB,CAAC,MAAM;QAC9D,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM;QAC9C,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,EACxC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAoB;IAClD,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC;IAE9B,+BAA+B;IAC/B,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACzF,OAAO,4BAA4B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC7D,CAAC;IAED,uCAAuC;IACvC,MAAM,UAAU,GAAG,iBAAiB,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAChF,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO;YACL,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,EAAE;YACV,eAAe,EAAE,2DAA2D;YAC5E,oBAAoB,EAAE,KAAK;SAC5B,CAAC;IACJ,CAAC;IAED,6BAA6B;IAC7B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9E,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,EAAE;YACV,eAAe,EAAE,wCAAwC;YACzD,oBAAoB,EAAE,KAAK;SAC5B,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,4BAA4B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,SAAS,4BAA4B,CAAC,QAAgB,EAAE,WAAmB;IACzE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,EAAE;YACV,eAAe,EAAE,mBAAmB,QAAQ,EAAE;YAC9C,oBAAoB,EAAE,KAAK;SAC5B,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACrD,MAAM,MAAM,GAAoB,EAAE,CAAC;IAEnC,4BAA4B;IAC5B,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,gBAAgB,GAAa,EAAE,CAAC;IAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAC/C,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAChD,cAAc,IAAI,KAAK,GAAG,MAAM,CAAC;QAEjC,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACvB,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/B,CAAC;QACD,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,SAAS,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACvG,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;YACzB,WAAW,EAAE,GAAG,gBAAgB,CAAC,MAAM,sCAAsC;YAC7E,UAAU,EAAE,sEAAsE;YAClF,QAAQ,EAAE,gBAAgB,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;SAC3D,CAAC,CAAC;IACL,CAAC;IAED,sFAAsF;IACtF,MAAM,mBAAmB,GAAG,iFAAiF,CAAC;IAC9G,IAAI,KAAK,CAAC;IACV,OAAO,CAAC,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5D,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QACnE,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACpD,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,QAAQ,SAAS,EAAE;gBAC7B,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,kBAAkB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,QAAQ;gBAC9D,UAAU,EAAE,oEAAoE;gBAChF,QAAQ,EAAE,MAAM;aACjB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACxD,IAAI,UAAU,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC,+BAA+B;YAC3D,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAClD,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACrB,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IACnF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,GAAG,UAAU,CAAC,MAAM,6BAA6B;YAC3D,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzB,WAAW,EAAE,iCAAiC;YAC9C,UAAU,EAAE,gDAAgD;YAC5D,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;IACL,CAAC;IAED,+DAA+D;IAC/D,MAAM,oBAAoB,GAAG,uDAAuD,CAAC;IACrF,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC7D,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,iBAAiB;YAC3B,IAAI,EAAE,CAAC;YACP,WAAW,EAAE,GAAG,gBAAgB,CAAC,MAAM,8BAA8B;YACrE,UAAU,EAAE,iDAAiD;YAC7D,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;IACL,CAAC;IAED,mEAAmE;IACnE,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,4EAA4E,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IACjI,MAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IAEtE,IAAI,mBAAmB,GAAG,CAAC,IAAI,aAAa,GAAG,EAAE,EAAE,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,WAAW;YACrB,IAAI,EAAE,CAAC;YACP,WAAW,EAAE,GAAG,aAAa,wBAAwB,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,iCAAiC;YACrH,UAAU,EAAE,+CAA+C;YAC3D,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC;IAC/D,IAAI,eAAe,GAAG,8CAA8C,CAAC;IAErE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC5B,eAAe,GAAG,YAAY,YAAY,KAAK,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC,UAAU,GAAG,CAAC;IACvF,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACtB,eAAe,GAAG,oBAAoB,YAAY,KAAK,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC,UAAU,GAAG,CAAC;IAC/F,CAAC;IAED,uBAAuB;IACvB,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe;QAChE,CAAC,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,mCAAmC;YAChE,CAAC,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,mCAAmC;gBAChE,CAAC,CAAC,6BAA6B,CAAC;IAElC,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,MAAM;QACN,eAAe;QACf,oBAAoB;KACrB,CAAC;AACJ,CAAC"}
@@ -18,4 +18,5 @@ export { scanDebt, scanDebtSchema, getCleanupSuggestion, getCleanupSuggestionSch
18
18
  export { detectProjectType, detectProjectTypeSchema, checkScopeCreep, checkScopeCreepSchema, setScopeBaseline, setScopeBaselineSchema, } from './scope.js';
19
19
  export { preflightCheck, preflightCheckSchema, preflightUpdate, preflightUpdateSchema, realityCheck, realityCheckSchema, realityUpdate, realityUpdateSchema, } from './preflight.js';
20
20
  export { analyzeGameplanTool, analyzeGameplanSchema, getGameplanProgressTool, getProgressSchema, } from './gameplan.js';
21
+ export { analyzeComplexity, complexitySchema, analyzeSimplify, simplifySchema, } from './complexity.js';
21
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAGvD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG/D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG5D,OAAO,EACL,OAAO,EACP,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,OAAO,EACP,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,eAAe,EACf,QAAQ,EACR,cAAc,EACd,OAAO,EACP,aAAa,GACd,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,eAAe,EACf,aAAa,EACb,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,UAAU,GACX,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,YAAY,GACb,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,QAAQ,EACR,cAAc,EACd,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,qBAAqB,EAErB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -40,4 +40,6 @@ export { preflightCheck, preflightCheckSchema, preflightUpdate, preflightUpdateS
40
40
  realityCheck, realityCheckSchema, realityUpdate, realityUpdateSchema, } from './preflight.js';
41
41
  // Gameplan progress tracking - compare plan to implementation
42
42
  export { analyzeGameplanTool, analyzeGameplanSchema, getGameplanProgressTool, getProgressSchema, } from './gameplan.js';
43
+ // Code complexity analysis and simplification
44
+ export { analyzeComplexity, complexitySchema, analyzeSimplify, simplifySchema, } from './complexity.js';
43
45
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
package/dist/tui.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"AAkwBA,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CA+gCpD"}
1
+ {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"AA0wBA,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CA+gCpD"}