UNPKG

vibe-coder-mcp

Version:

Production-ready MCP server with complete agent integration, multi-transport support, and comprehensive development automation tools for AI-assisted workflows.

86 lines (85 loc) 3.14 kB
import { performance } from 'perf_hooks'; import path from 'path'; import { fileURLToPath } from 'url'; import { dirname } from 'path'; import { v4 as uuidv4 } from 'uuid'; import { executeCodeMapGeneration } from './index.js'; const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); const args = process.argv.slice(2); const targetDir = args[0] || __dirname; const options = { incremental: args.includes('--incremental'), noIncremental: args.includes('--no-incremental'), splitOutput: args.includes('--split-output'), outputFormat: args.find(arg => arg.startsWith('--output-format='))?.split('=')[1] || 'markdown' }; const context = { sessionId: 'test-session', transportType: 'stdio' }; const jobId = uuidv4(); const params = { ignored_files_patterns: [ 'node_modules', '.git', 'dist', 'build', 'out', 'coverage', 'vendor' ], output_format: options.outputFormat }; function formatMemorySize(bytes) { if (bytes < 1024) return bytes + ' bytes'; else if (bytes < 1048576) return (bytes / 1024).toFixed(2) + ' KB'; else if (bytes < 1073741824) return (bytes / 1048576).toFixed(2) + ' MB'; else return (bytes / 1073741824).toFixed(2) + ' GB'; } function getMemoryUsage() { const memoryUsage = process.memoryUsage(); return { rss: formatMemorySize(memoryUsage.rss), heapTotal: formatMemorySize(memoryUsage.heapTotal), heapUsed: formatMemorySize(memoryUsage.heapUsed), external: formatMemorySize(memoryUsage.external), arrayBuffers: formatMemorySize(memoryUsage.arrayBuffers || 0) }; } async function runTest() { console.log('=== Code-Map Generator Performance Test ==='); console.log(`Target directory: ${path.resolve(targetDir)}`); console.log(`Incremental processing: ${options.incremental && !options.noIncremental ? 'enabled' : 'disabled'}`); console.log(`Split output: ${options.splitOutput ? 'enabled' : 'disabled'}`); console.log(`Output format: ${options.outputFormat}`); console.log('Initial memory usage:', getMemoryUsage()); const startTime = performance.now(); try { const result = await executeCodeMapGeneration(params, {}, context, jobId); const endTime = performance.now(); const executionTime = (endTime - startTime) / 1000; console.log('\n=== Results ==='); console.log(`Total execution time: ${executionTime.toFixed(2)} seconds`); console.log('Final memory usage:', getMemoryUsage()); if (result.isError) { console.error('Error:', result.content[0].text); } else { console.log('Success!'); const resultText = result.content[0].text; const fileCountMatch = resultText.match(/Processed (\d+) files/); if (fileCountMatch) { console.log(`Files processed: ${fileCountMatch[1]}`); } } } catch (error) { console.error('Test failed with error:', error); } } runTest().catch(console.error);