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

123 lines (107 loc) • 4.65 kB
#!/usr/bin/env node /** * Simulate multi-agent coordination workflow */ console.log(` ╔══════════════════════════════════════════════════════════════╗ ā•‘ VERSATIL Multi-Agent Coordination Demo ā•‘ ā•šā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā• Simulating a complete OPERA workflow with agent handoffs... `); async function simulateWorkflow() { const { createOrchestrator } = await import('../dist/intelligence/agent-orchestrator.js'); const orchestrator = createOrchestrator(); // Scenario: New feature development const scenarios = [ { phase: 'Requirements Analysis', file: 'requirements/user-auth.md', content: '# User Authentication\n\nUsers need secure login with 2FA.', agent: 'alex-ba', description: 'Business analyst reviews requirements' }, { phase: 'Frontend Implementation', file: 'components/LoginForm.jsx', content: ` import React, { useState } from 'react'; function LoginForm() { const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); return ( <form> <input type="text" value={email} onChange={e => setEmail(e.target.value)} /> <input type="password" value={password} onChange={e => setPassword(e.target.value)} /> <button type="submit">Login</button> </form> ); }`, agent: 'james-frontend', description: 'Frontend specialist builds UI' }, { phase: 'Backend API', file: 'api/auth.js', content: ` app.post('/api/login', (req, res) => { const { email, password } = req.body; const query = \`SELECT * FROM users WHERE email='\${email}'\`; db.query(query, (err, result) => { res.json(result); }); });`, agent: 'marcus-backend', description: 'Backend specialist implements API' }, { phase: 'Quality Assurance', file: 'tests/auth.test.js', content: ` describe('Authentication', () => { it('should login user', () => { login('test@example.com', 'password'); }); });`, agent: 'maria-qa', description: 'QA specialist reviews tests' } ]; for (const scenario of scenarios) { console.log(`\n━━━ ${scenario.phase} ━━━\n`); console.log(`šŸ“ File: ${scenario.file}`); console.log(`šŸ¤– Agent: ${scenario.agent}`); console.log(`šŸ“‹ Action: ${scenario.description}\n`); const result = await orchestrator.analyzeFile({ filePath: scenario.file, content: scenario.content, language: 'javascript', projectName: 'User Auth Feature', userRequest: scenario.description }); console.log(` āœ… Analysis Complete`); console.log(` šŸ“Š Quality Score: ${result.level1.score}/100`); console.log(` šŸ” Issues Found: ${result.level1.patterns.length}`); if (result.level1.patterns.length > 0) { const critical = result.level1.patterns.filter(p => p.severity === 'critical').length; const high = result.level1.patterns.filter(p => p.severity === 'high').length; if (critical > 0) console.log(` 🚨 Critical Issues: ${critical}`); if (high > 0) console.log(` āš ļø High Priority: ${high}`); } if (result.level2.handoffSuggestions.length > 0) { console.log(` šŸ¤ Handoff To: ${result.level2.handoffSuggestions.join(', ')}`); } console.log(` ā±ļø Status: Ready for next phase`); } console.log(`\n\n╔══════════════════════════════════════════════════════════════╗`); console.log(`ā•‘ Workflow Coordination Summary ā•‘`); console.log(`ā•šā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•\n`); console.log(`āœ… Phases Completed: ${scenarios.length}`); console.log(`šŸ¤– Agents Involved: alex-ba, james-frontend, marcus-backend, maria-qa`); console.log(`šŸ”„ Agent Handoffs: Automatic based on analysis results`); console.log(`šŸ“Š Quality Gates: Enforced at each phase`); console.log(`\nšŸŽ‰ Multi-agent workflow simulation complete!\n`); } simulateWorkflow().catch(err => { console.error('Simulation error:', err.message); process.exit(1); });