@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
text/typescript
/**
* 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();