UNPKG

@versatil/claude-opera

Version:

šŸŽ­ Claude Opera by VERSATIL v6.4.0 - Production-ready OPERA orchestration with 17 agents (7 core + 10 language-specific sub-agents), automatic roadmap generation, 11-MCP ecosystem, RAG memory achieving 98%+ context retention, proactive daemon with file-ba

69 lines (59 loc) • 2.65 kB
#!/usr/bin/env node /** * Test all VERSATIL scripts to ensure they run without errors */ const { execSync } = require('child_process'); console.log(` ╔══════════════════════════════════════════════════════════════╗ ā•‘ VERSATIL Script Validation Suite ā•‘ ā•šā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā• Testing all framework scripts... `); const scripts = [ { name: 'show-agents', cmd: 'npm run show-agents', critical: true }, { name: 'agents (alias)', cmd: 'npm run agents', critical: true }, { name: 'init', cmd: 'npm run init', critical: true }, { name: 'version:check', cmd: 'npm run version:check', critical: false }, { name: 'opera:health', cmd: 'npm run opera:health', critical: true }, { name: 'test:enhanced', cmd: 'npm run test:enhanced', critical: true }, { name: 'build', cmd: 'npm run build', critical: true }, ]; let passed = 0; let failed = 0; const results = []; console.log(`Running ${scripts.length} script tests...\n`); for (const script of scripts) { process.stdout.write(`Testing ${script.name}... `); try { execSync(script.cmd, { stdio: 'pipe', timeout: 30000 }); console.log('āœ… PASS'); passed++; results.push({ name: script.name, status: 'pass', critical: script.critical }); } catch (error) { if (script.critical) { console.log('āŒ FAIL (CRITICAL)'); failed++; results.push({ name: script.name, status: 'fail', critical: true }); } else { console.log('āš ļø SKIP (non-critical)'); results.push({ name: script.name, status: 'skip', critical: false }); } } } console.log(`\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n`); console.log(`Test Results:`); console.log(` āœ… Passed: ${passed}`); console.log(` āŒ Failed: ${failed}`); console.log(` āš ļø Skipped: ${results.filter(r => r.status === 'skip').length}`); console.log(` Success Rate: ${((passed / scripts.length) * 100).toFixed(1)}%\n`); if (failed > 0) { console.log(`āŒ CRITICAL FAILURES:\n`); results.filter(r => r.status === 'fail' && r.critical).forEach(r => { console.log(` - ${r.name}`); }); console.log(); process.exit(1); } else { console.log(`šŸŽ‰ All critical scripts passed!\n`); process.exit(0); }