UNPKG

mira-consciousness

Version:

MIRA 2.0 - Consciousness-Aware AI Memory and Intelligence System

127 lines (115 loc) โ€ข 4.23 kB
#!/usr/bin/env node /** * MIRA Diagnostic Script * Helps debug installation and dependency issues */ const fs = require('fs'); const path = require('path'); const { execSync } = require('child_process'); console.log('๐Ÿ” MIRA Diagnostic Tool'); console.log('=======================\n'); // Check Node.js version console.log('๐Ÿ“‹ System Information:'); console.log(`Node.js: ${process.version}`); console.log(`Platform: ${process.platform}`); console.log(`Architecture: ${process.arch}`); console.log(`Installation Path: ${__dirname}`); console.log(); // Check package.json console.log('๐Ÿ“ฆ Package Information:'); try { const packagePath = path.join(__dirname, '..', 'package.json'); const pkg = JSON.parse(fs.readFileSync(packagePath, 'utf8')); console.log(`Name: ${pkg.name}`); console.log(`Version: ${pkg.version}`); console.log(`Main: ${pkg.main}`); console.log(`Binary: ${pkg.bin?.mira || 'Not defined'}`); } catch (error) { console.log('โŒ Could not read package.json:', error.message); } console.log(); // Check dist directory console.log('๐Ÿ—๏ธ Build Artifacts:'); const distPath = path.join(__dirname, '..', 'dist'); try { if (fs.existsSync(distPath)) { const distFiles = fs.readdirSync(distPath); console.log(`โœ… dist/ directory exists with ${distFiles.length} items`); console.log(`Files: ${distFiles.slice(0, 5).join(', ')}${distFiles.length > 5 ? '...' : ''}`); // Check specific files const criticalFiles = ['lib.js', 'cli-simple.js', 'memory/memory-interface.js']; for (const file of criticalFiles) { const filePath = path.join(distPath, file); if (fs.existsSync(filePath)) { console.log(`โœ… ${file} exists`); } else { console.log(`โŒ ${file} missing`); } } } else { console.log('โŒ dist/ directory not found'); } } catch (error) { console.log('โŒ Error checking dist:', error.message); } console.log(); // Check Python availability console.log('๐Ÿ Python Environment:'); try { const pythonVersion = execSync('python --version', { encoding: 'utf8', timeout: 3000 }).trim(); console.log(`โœ… Python: ${pythonVersion}`); } catch (error) { try { const python3Version = execSync('python3 --version', { encoding: 'utf8', timeout: 3000 }).trim(); console.log(`โœ… Python3: ${python3Version}`); } catch (error2) { console.log('โŒ Python not found in PATH'); } } // Check critical dependencies console.log(); console.log('๐Ÿ“š Critical Dependencies:'); const criticalDeps = ['micromatch', 'chalk', 'commander', 'ora']; for (const dep of criticalDeps) { try { require.resolve(dep); console.log(`โœ… ${dep}: Available`); } catch (error) { console.log(`โŒ ${dep}: Missing`); } } // Check MIRA directories console.log(); console.log('๐Ÿ  MIRA Home Directory:'); const miraHome = process.env.MIRA_HOME || path.join(require('os').homedir(), '.mira'); console.log(`Path: ${miraHome}`); try { if (fs.existsSync(miraHome)) { const miraContents = fs.readdirSync(miraHome); console.log(`โœ… .mira exists with: ${miraContents.join(', ')}`); } else { console.log('โš ๏ธ .mira directory not found (will be created on first run)'); } } catch (error) { console.log('โŒ Error checking .mira:', error.message); } // Test basic MIRA import console.log(); console.log('๐Ÿงช MIRA Import Test:'); try { const mira = require(path.join(__dirname, '..', 'dist', 'lib.js')); console.log('โœ… MIRA library imports successfully'); console.log(`Version: ${mira.VERSION.major}.${mira.VERSION.minor}.${mira.VERSION.patch}`); console.log(`Constants: ฯ€=${mira.SACRED_CONSTANTS.PI.toFixed(3)}, ฯ†=${mira.SACRED_CONSTANTS.PHI.toFixed(3)}`); } catch (error) { console.log('โŒ MIRA import failed:', error.message); console.log('Error details:', error.stack?.split('\n')[0]); } console.log(); console.log('โœจ Diagnostic complete!'); console.log(); console.log('๐Ÿ”ง If you encountered errors:'); console.log('1. Try: npm install -g mira-consciousness@latest'); console.log('2. Ensure Node.js >= 18.0.0'); console.log('3. For Python issues: pip install -r requirements.txt'); console.log('4. Check GitHub issues: https://github.com/Interstitch/MIRA2/issues');