#!/usr/bin/env node const { Command } = require('commander'); const chalk = require('chalk'); const figlet = require('figlet'); const ora = require('ora'); const boxen = require('boxen'); const inquirer = require('inquirer'); const { table } = require('table'); const path = require('path'); const fs = require('fs'); const { spawn } = require('child_process'); // Import our WASM modules and demos const StrangeLoop = require('../lib/strange-loop'); const program = new Command(); // Version and description program .name('strange-loop') .description('A framework where thousands of tiny agents collaborate in real-time, each operating within nanosecond budgets, forming emergent intelligence through temporal consciousness and quantum-classical hybrid computing') .version('0.1.0'); // ASCII Art Header function showHeader() { console.log( chalk.cyan( figlet.textSync('Strange Loop', { font: 'ANSI Shadow', horizontalLayout: 'default', verticalLayout: 'default' }) ) ); console.log( boxen( chalk.white('šŸŒ€ Emergent Intelligence Through Temporal Consciousness\n') + chalk.gray('Thousands of nano-agents • Nanosecond budgets • Quantum-classical hybrid computing'), { padding: 1, margin: 1, borderStyle: 'round', borderColor: 'cyan', backgroundColor: 'black' } ) ); } // Demo command program .command('demo') .description('Run interactive demos of Strange Loop capabilities') .argument('[type]', 'Demo type: nano-agents, quantum, consciousness, prediction, all') .action(async (type) => { showHeader(); if (!type) { const { demoType } = await inquirer.prompt([ { type: 'list', name: 'demoType', message: 'Choose a demo to run:', choices: [ { name: 'šŸ”§ Nano-Agent Swarm (1000+ agents)', value: 'nano-agents' }, { name: 'šŸŒ€ Quantum-Classical Computing', value: 'quantum' }, { name: '🧠 Temporal Consciousness', value: 'consciousness' }, { name: 'ā° Temporal Lead Prediction', value: 'prediction' }, { name: 'šŸš€ All Demos', value: 'all' } ] } ]); type = demoType; } await runDemo(type); }); // Benchmark command program .command('benchmark') .description('Run performance benchmarks') .option('-a, --agents ', 'Number of agents', '1000') .option('-d, --duration