import * as plugins from './moxytool.plugins.ts'; // ANSI color codes const colors = { reset: '\x1b[0m', bright: '\x1b[1m', dim: '\x1b[2m', red: '\x1b[31m', green: '\x1b[32m', yellow: '\x1b[33m', blue: '\x1b[34m', magenta: '\x1b[35m', cyan: '\x1b[36m', white: '\x1b[37m', }; /** * A simple logger class for MOXYTOOL */ class Logger { private static instance: Logger; public static getInstance(): Logger { if (!Logger.instance) { Logger.instance = new Logger(); } return Logger.instance; } public log(level: string, message: string): void { switch (level) { case 'error': console.error(`${colors.red}✗ ${message}${colors.reset}`); break; case 'warn': console.warn(`${colors.yellow}⚠ ${message}${colors.reset}`); break; case 'ok': case 'success': console.log(`${colors.green}✓ ${message}${colors.reset}`); break; case 'info': default: console.log(message); break; } } public error(message: string): void { this.log('error', message); } public warn(message: string): void { this.log('warn', message); } public info(message: string): void { this.log('info', message); } public success(message: string): void { this.log('success', message); } } /** * Logger instance for MOXYTOOL */ export const logger = Logger.getInstance();