UNPKG

@stackmemoryai/stackmemory

Version:

Project-scoped memory for AI coding tools. Durable context across sessions with MCP integration, frames, smart retrieval, Claude Code skills, and automatic hooks.

83 lines (67 loc) โ€ข 2.59 kB
#!/usr/bin/env npx tsx /** * Validation script for TUI shortcuts (non-interactive) * Verifies all key handlers are properly bound */ import 'dotenv/config'; import { SwarmTUI } from '../src/features/tui/swarm-monitor.js'; import { logger } from '../src/core/monitoring/logger.js'; async function validateTUIShortcuts() { try { console.log('๐Ÿงช Validating TUI Keyboard Shortcuts...'); const tui = new SwarmTUI(); await tui.initialize(); // Access the screen object to check key handlers const screen = (tui as any).screen; if (!screen) { throw new Error('Screen not initialized'); } // Check if key handlers exist const keyHandlers = screen._events.key || []; console.log('๐Ÿ“‹ Validation Results:'); console.log(`โœ… Screen initialized: ${screen ? 'Yes' : 'No'}`); console.log(`โœ… Key handlers registered: ${keyHandlers.length > 0 ? 'Yes' : 'No'}`); // Test the help functionality directly console.log('\n๐Ÿ” Testing Help Function:'); try { (tui as any).showHelp(); console.log('โœ… Help function works'); } catch (error: unknown) { console.log('โŒ Help function failed:', (error as Error).message); } // Test the detect function console.log('\n๐Ÿ” Testing Detect Function:'); try { await (tui as any).showDetectedSwarms(); console.log('โœ… Detect function works'); } catch (error: unknown) { console.log('โŒ Detect function failed:', (error as Error).message); } // Test refresh function console.log('\n๐Ÿ” Testing Refresh Function:'); try { await (tui as any).refreshData(); console.log('โœ… Refresh function works'); } catch (error: unknown) { console.log('โŒ Refresh function failed:', (error as Error).message); } // Test clear logs function console.log('\n๐Ÿ” Testing Clear Logs Function:'); try { (tui as any).clearLogs(); console.log('โœ… Clear logs function works'); } catch (error: unknown) { console.log('โŒ Clear logs function failed:', (error as Error).message); } // Cleanup (tui as any).cleanup(); console.log('\nโœ… All TUI shortcut validations passed!'); console.log('๐Ÿ’ก Run scripts/test-tui-shortcuts.ts for interactive testing'); } catch (error: unknown) { logger.error('TUI shortcuts validation failed', error as Error); console.error('โŒ Validation failed:', (error as Error).message); process.exit(1); } } // Run validation validateTUIShortcuts();