UNPKG

logyo

Version:

A beautiful, feature-rich terminal logger with animations, gradients, and comprehensive logging capabilities

1 lines â€ĸ 49.8 kB
{"version":3,"file":"index.cjs","sources":["../src/index.js"],"sourcesContent":["import chalk from 'chalk';\r\nimport fs from 'fs';\r\nimport path from 'path';\r\n\r\nconst createLogger = () => {\r\n // Expanded color palette with gradients\r\n const colors = {\r\n primary: chalk.hex('#00D9FF'), // Cyan blue\r\n secondary: chalk.hex('#667EEA'), // Blue violet\r\n success: chalk.hex('#00FF88'), // Bright green\r\n warning: chalk.hex('#FFB800'), // Orange\r\n error: chalk.hex('#FF4757'), // Red\r\n info: chalk.hex('#A55EEA'), // Purple\r\n owner: chalk.hex('#FF6B35'), // Orange red\r\n admin: chalk.hex('#FFA726'), // Amber\r\n group: chalk.hex('#26C6DA'), // Cyan\r\n private: chalk.hex('#AB47BC'), // Purple\r\n command: chalk.hex('#42A5F5'), // Blue\r\n media: chalk.hex('#FF7043'), // Deep orange\r\n quoted: chalk.hex('#EC407A'), // Pink\r\n time: chalk.hex('#66BB6A'), // Light green\r\n user: chalk.hex('#5C6BC0'), // Indigo\r\n message: chalk.hex('#FFF176'), // Light yellow\r\n system: chalk.hex('#78909C'), // Blue grey\r\n debug: chalk.hex('#9E9E9E'), // Grey\r\n performance: chalk.hex('#4CAF50'), // Green\r\n security: chalk.hex('#F44336'), // Red\r\n bot: chalk.hex('#2196F3'), // Blue\r\n gradient1: chalk.hex('#667EEA'), // Gradient start\r\n gradient2: chalk.hex('#764BA2'), // Gradient end\r\n neon: chalk.hex('#39FF14'), // Neon green\r\n gold: chalk.hex('#FFD700') // Gold\r\n };\r\n\r\n const icons = {\r\n command: '⚡',\r\n message: 'đŸ’Ŧ',\r\n media: '📎',\r\n reaction: '🎭',\r\n success: '✅',\r\n error: '❌',\r\n warning: 'âš ī¸',\r\n info: 'â„šī¸',\r\n\r\n // User types\r\n owner: '👑',\r\n admin: 'đŸ›Ąī¸',\r\n user: '👤',\r\n bot: '🤖',\r\n\r\n // Chat types\r\n group: 'đŸ‘Ĩ',\r\n private: '🔒',\r\n\r\n // Status indicators\r\n online: 'đŸŸĸ',\r\n offline: '🔴',\r\n loading: 'âŗ',\r\n processing: 'âš™ī¸',\r\n\r\n // Performance\r\n rocket: '🚀',\r\n star: '⭐',\r\n fire: 'đŸ”Ĩ',\r\n lightning: '⚡',\r\n timer: 'âąī¸',\r\n chart: '📊',\r\n\r\n // System\r\n time: '⏰',\r\n shield: 'đŸ›Ąī¸',\r\n key: '🔑',\r\n lock: '🔒',\r\n unlock: '🔓',\r\n gear: 'âš™ī¸',\r\n cpu: 'đŸ’ģ',\r\n memory: '🧠',\r\n database: 'đŸ—„ī¸',\r\n\r\n // Special effects\r\n sparkles: '✨',\r\n diamond: '💎',\r\n crown: '👑',\r\n magic: 'đŸĒ„',\r\n crystal: '🔮'\r\n };\r\n\r\n // Animation frames for loading\r\n const loadingFrames = {\r\n dots: ['⠋', '⠙', 'â š', 'â ¸', 'â ŧ', 'â ´', 'â Ļ', 'â §', '⠇', '⠏'],\r\n spin: ['|', '/', '-', '\\\\'],\r\n bounce: ['⠁', '⠂', '⠄', '⡀', 'âĸ€', 'â  ', '⠐', '⠈'],\r\n pulse: ['●', '◐', '◑', '◒', '◓', '○'],\r\n wave: ['▁', '▂', '▃', '▄', '▅', '▆', '▇', '█', '▇', '▆', '▅', '▄', '▃', '▁']\r\n };\r\n\r\n // Utility functions\r\n const createSeparator = (char = '─', length = 80, color = colors.primary) => {\r\n return color(char.repeat(length));\r\n };\r\n\r\n const createGradientText = (text, startColor = colors.gradient1, endColor = colors.gradient2) => {\r\n const chars = text.split('');\r\n const totalChars = chars.length;\r\n\r\n return chars.map((char, index) => {\r\n const ratio = index / (totalChars - 1);\r\n // Simple gradient simulation by alternating colors\r\n return ratio < 0.5 ? startColor(char) : endColor(char);\r\n }).join('');\r\n };\r\n\r\n const createBox = (content, title = '', color = colors.primary, style = 'rounded') => {\r\n const lines = content.split('\\n');\r\n const maxLength = Math.max(...lines.map(line => line.replace(/\\x1b\\[[0-9;]*m/g, '').length), title.length);\r\n const width = Math.min(maxLength + 4, 100);\r\n\r\n const styles = {\r\n rounded: {\r\n topLeft: '╭', topRight: '╮', bottomLeft: '╰', bottomRight: '╯',\r\n horizontal: '─', vertical: '│', cross: 'â”ŧ'\r\n },\r\n square: {\r\n topLeft: '┌', topRight: '┐', bottomLeft: '└', bottomRight: '┘',\r\n horizontal: '─', vertical: '│', cross: 'â”ŧ'\r\n },\r\n double: {\r\n topLeft: '╔', topRight: '╗', bottomLeft: '╚', bottomRight: '╝',\r\n horizontal: '═', vertical: '║', cross: 'â•Ŧ'\r\n }\r\n };\r\n\r\n const s = styles[style] || styles.rounded;\r\n\r\n const topLine = `${s.topLeft}${s.horizontal.repeat(width - 2)}${s.topRight}`;\r\n const bottomLine = `${s.bottomLeft}${s.horizontal.repeat(width - 2)}${s.bottomRight}`;\r\n const titleLine = title ? `${s.vertical} ${color.bold(title.padEnd(width - 4))} ${s.vertical}` : '';\r\n const separatorLine = title ? `├${s.horizontal.repeat(width - 2)}┤` : '';\r\n\r\n const contentLines = lines.map(line => {\r\n const cleanLine = line.replace(/\\x1b\\[[0-9;]*m/g, '');\r\n const padding = width - 4 - cleanLine.length;\r\n return `${s.vertical} ${line}${' '.repeat(Math.max(0, padding))} ${s.vertical}`;\r\n });\r\n\r\n return color([\r\n topLine,\r\n titleLine,\r\n separatorLine,\r\n ...contentLines,\r\n bottomLine\r\n ].filter(Boolean).join('\\n'));\r\n };\r\n\r\n const getTimeStamp = (includeDate = false) => {\r\n const now = new Date();\r\n const timeStr = now.toLocaleTimeString('en-US', {\r\n hour12: false,\r\n hour: '2-digit',\r\n minute: '2-digit',\r\n second: '2-digit'\r\n });\r\n\r\n if (includeDate) {\r\n const dateStr = now.toLocaleDateString('en-US');\r\n return `${dateStr} ${timeStr}`;\r\n }\r\n return timeStr;\r\n };\r\n\r\n const formatBytes = (bytes, decimals = 2) => {\r\n if (bytes === 0) return '0 Bytes';\r\n const k = 1024;\r\n const dm = decimals < 0 ? 0 : decimals;\r\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];\r\n const i = Math.floor(Math.log(bytes) / Math.log(k));\r\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\r\n };\r\n\r\n const formatDuration = (ms) => {\r\n if (ms < 1000) return `${ms}ms`;\r\n if (ms < 60000) return `${(ms / 1000).toFixed(1)}s`;\r\n if (ms < 3600000) return `${Math.floor(ms / 60000)}m ${Math.floor((ms % 60000) / 1000)}s`;\r\n return `${Math.floor(ms / 3600000)}h ${Math.floor((ms % 3600000) / 60000)}m`;\r\n };\r\n\r\n const logToFile = (level, message, data = {}) => {\r\n try {\r\n const logsDir = path.join(process.cwd(), 'logs');\r\n if (!fs.existsSync(logsDir)) {\r\n fs.mkdirSync(logsDir, { recursive: true });\r\n }\r\n\r\n const timestamp = new Date().toISOString();\r\n const logEntry = {\r\n timestamp,\r\n level: level.toUpperCase(),\r\n message,\r\n data,\r\n pid: process.pid,\r\n };\r\n\r\n const logFile = path.join(logsDir, `bot-${timestamp.split('T')[0]}.json`);\r\n\r\n let logs = [];\r\n if (fs.existsSync(logFile)) {\r\n const content = fs.readFileSync(logFile, 'utf8');\r\n if (content) logs = JSON.parse(content);\r\n }\r\n\r\n logs.push(logEntry);\r\n\r\n fs.writeFileSync(logFile, JSON.stringify(logs, null, 2), 'utf8');\r\n } catch (error) {\r\n // silent fail\r\n }\r\n };\r\n\r\n return {\r\n\r\n logStartup: (botInfo) => {\r\n console.clear();\r\n\r\n const maxWidth = 80;\r\n const termWidth = Math.min(process.stdout.columns || 80, maxWidth);\r\n\r\n const stripAnsi = (str) =>\r\n str.replace(/\\x1B(?:[@-Z\\\\-_]|\\[[0-?]*[ -/]*[@-~])/g, '');\r\n\r\n const centerLabelValue = (label, value) => {\r\n const combined = `${label} ${value}`;\r\n const cleanLength = stripAnsi(combined).length;\r\n\r\n const leftPadding = Math.max(0, Math.floor((termWidth - cleanLength) / 2));\r\n const rightPadding = Math.max(0, termWidth - cleanLength - leftPadding);\r\n\r\n return ' '.repeat(leftPadding) + combined + ' '.repeat(rightPadding);\r\n };\r\n\r\n const separator = '-'.repeat(termWidth);\r\n\r\n const version = botInfo.version || '1.0.0';\r\n const commandCount = botInfo.commandCount || 0;\r\n const startedAt = getTimeStamp(true);\r\n\r\n const banner = [\r\n separator,\r\n centerLabelValue(\r\n createGradientText('🤖 AEONIFY WHATSAPP BOT 🤖', colors.neon, colors.gold),\r\n ''\r\n ),\r\n separator,\r\n centerLabelValue(\r\n colors.success(`${icons.success} Status:`),\r\n colors.success.bold('ONLINE & OPERATIONAL')\r\n ),\r\n centerLabelValue(\r\n colors.info(`${icons.rocket} Version:`),\r\n colors.info.bold(`v${version}`)\r\n ),\r\n centerLabelValue(\r\n colors.primary(`${icons.bot} WhatsApp:`),\r\n colors.primary.bold('Connected & Ready')\r\n ),\r\n centerLabelValue(\r\n colors.time(`${icons.time} Started:`),\r\n colors.time.bold(startedAt)\r\n ),\r\n centerLabelValue(\r\n colors.performance(`${icons.cpu} System:`),\r\n colors.performance.bold(`Node.js ${process.version}`)\r\n ),\r\n centerLabelValue(\r\n colors.security(`${icons.shield} Security:`),\r\n colors.security.bold('All systems secured')\r\n ),\r\n separator,\r\n centerLabelValue(colors.neon('✨ Bot is ready to handle messages! ✨'), ''),\r\n separator,\r\n ].join('\\n');\r\n\r\n console.log(banner);\r\n logToFile('info', 'Bot started successfully', botInfo);\r\n },\r\n\r\n logMessage: (messageData) => {\r\n const {\r\n messageType,\r\n body,\r\n senderName,\r\n senderNumber,\r\n chatType,\r\n groupName,\r\n groupSize,\r\n isOwner,\r\n isAdmin,\r\n isCommand,\r\n hasMedia,\r\n isQuoted,\r\n executionTime\r\n } = messageData;\r\n\r\n // Status badges with beautiful styling\r\n const badges = [];\r\n if (isOwner) badges.push(colors.owner(`${icons.crown} OWNER`));\r\n if (isAdmin) badges.push(colors.admin(`${icons.shield} ADMIN`));\r\n if (isQuoted) badges.push(colors.quoted(`${icons.quoted} REPLY`));\r\n if (hasMedia) badges.push(colors.media(`${icons.media} MEDIA`));\r\n\r\n // Message type styling\r\n const typeIcon = isCommand ? icons.lightning : hasMedia ? icons.media : icons.message;\r\n const typeColor = isCommand ? colors.command : hasMedia ? colors.media : colors.info;\r\n const typeText = messageType.toUpperCase();\r\n\r\n // Chat info with enhanced styling\r\n const chatIcon = chatType === 'group' ? icons.group : icons.private;\r\n const chatColor = chatType === 'group' ? colors.group : colors.private;\r\n const chatInfo = chatType === 'group'\r\n ? `${chatIcon} ${chatColor.bold(groupName || 'Unknown Group')} ${colors.system(`(${groupSize} members)`)}`\r\n : `${chatIcon} ${chatColor.bold('Private Chat')}`;\r\n\r\n // Performance indicator\r\n const perfIndicator = executionTime\r\n ? executionTime > 1000\r\n ? colors.warning(`${icons.timer} ${executionTime}ms`)\r\n : colors.success(`${icons.timer} ${executionTime}ms`)\r\n : '';\r\n\r\n const displayMessage = body.length > 50 ? body.substring(0, 47) + '...' : body;\r\n\r\n console.log(`\r\n${createSeparator('═', 80, typeColor)}\r\n${typeColor.bold(`${typeIcon} [${typeText}]`)} ${colors.time(`${icons.time} ${getTimeStamp()}`)} ${perfIndicator}\r\n${colors.message(`${icons.message} Message:`)} ${colors.message.bold(displayMessage || `[${messageType}]`)}\r\n${colors.user(`${icons.user} From:`)} ${colors.user.bold(senderName)} ${colors.system(`(+${senderNumber})`)}\r\n${colors.info(`${icons.database} Chat:`)} ${chatInfo}\r\n${badges.length > 0 ? `${colors.info(`${icons.star} Tags:`)} ${badges.join(' ')}` : ''}\r\n${createSeparator('─', 80, colors.system)}\r\n`);\r\n\r\n // Log to file\r\n logToFile('message', 'Message received', {\r\n messageType, senderName, senderNumber, chatType, isCommand, executionTime\r\n });\r\n },\r\n\r\n // command logging\r\n logCommand: (commandName, status = 'executing', executionTime = null, context = {}) => {\r\n const timestamp = colors.time(`[${getTimeStamp()}]`);\r\n\r\n switch (status) {\r\n case 'executing':\r\n console.log(`${colors.command(`${icons.gear} ${timestamp}`)} ${colors.command.bold('EXECUTING')} ${colors.command(`command: ${commandName}`)}`);\r\n break;\r\n\r\n case 'success':\r\n const successColor = executionTime > 1000 ? colors.warning : colors.success;\r\n console.log(`${successColor(`${icons.success} ${timestamp}`)} ${successColor.bold('SUCCESS')} ${successColor(`\"${commandName}\" completed in ${executionTime}ms`)}`);\r\n break;\r\n\r\n case 'error':\r\n console.log(`${colors.error(`${icons.error} ${timestamp}`)} ${colors.error.bold('FAILED')} ${colors.error(`\"${commandName}\" error after ${executionTime}ms`)}`);\r\n break;\r\n\r\n case 'cooldown':\r\n console.log(`${colors.warning(`${icons.timer} ${timestamp}`)} ${colors.warning.bold('COOLDOWN')} ${colors.warning(`\"${commandName}\" rate limited`)}`);\r\n break;\r\n\r\n case 'permission':\r\n console.log(`${colors.security(`${icons.lock} ${timestamp}`)} ${colors.security.bold('DENIED')} ${colors.security(`\"${commandName}\" insufficient permissions`)}`);\r\n break;\r\n }\r\n\r\n logToFile('command', `Command ${status}`, { commandName, executionTime, ...context });\r\n },\r\n\r\n // System logging with categories\r\n logSystem: (message, type = 'info', category = 'SYSTEM') => {\r\n const colorMap = {\r\n success: colors.success,\r\n error: colors.error,\r\n warning: colors.warning,\r\n info: colors.info,\r\n debug: colors.debug,\r\n security: colors.security,\r\n performance: colors.performance\r\n };\r\n\r\n const iconMap = {\r\n success: icons.success,\r\n error: icons.error,\r\n warning: icons.warning,\r\n info: icons.info,\r\n debug: icons.gear,\r\n security: icons.shield,\r\n performance: icons.chart\r\n };\r\n\r\n const color = colorMap[type] || colors.info;\r\n const icon = iconMap[type] || icons.info;\r\n const timestamp = colors.time(`[${getTimeStamp()}]`);\r\n\r\n console.log(`${color(`${icon} ${timestamp}`)} ${color.bold(`[${category}]`)} ${color(message)}`);\r\n logToFile(type, message, { category });\r\n },\r\n\r\n // error logging with stack traces\r\n logError: (error, context = {}) => {\r\n const timestamp = getTimeStamp(true);\r\n const errorId = Math.random().toString(36).substring(2, 8).toUpperCase();\r\n\r\n const errorDetails = [\r\n `${colors.error.bold('Error ID:')} ${colors.error(errorId)}`,\r\n `${colors.error.bold('Message:')} ${error.message || 'Unknown error'}`,\r\n `${colors.info.bold('Command:')} ${context.command || 'N/A'}`,\r\n `${colors.info.bold('User:')} ${context.user || 'Unknown'}`,\r\n `${colors.info.bold('Time:')} ${timestamp}`,\r\n `${colors.info.bold('Process:')} PID ${process.pid}`\r\n ];\r\n\r\n if (context.stack) {\r\n const stackLines = context.stack.split('\\n').slice(0, 3);\r\n errorDetails.push(`${colors.warning.bold('Stack:')} ${stackLines[0]}`);\r\n stackLines.slice(1).forEach(line => {\r\n errorDetails.push(` ${colors.debug(line.trim())}`);\r\n });\r\n }\r\n\r\n const errorBox = createBox(\r\n errorDetails.join('\\n'),\r\n `${icons.error} CRITICAL ERROR - ID: ${errorId}`,\r\n colors.error,\r\n 'double'\r\n );\r\n\r\n console.log('\\n' + errorBox + '\\n');\r\n\r\n logToFile('error', error.message, {\r\n errorId, stack: error.stack, context, timestamp\r\n });\r\n },\r\n\r\n // Performance monitoring\r\n logPerformance: (stats) => {\r\n const uptime = formatDuration(stats.uptime || 0);\r\n const memUsage = process.memoryUsage();\r\n\r\n const perfData = [\r\n `${colors.success(`${icons.rocket} Commands Executed:`)} ${colors.success.bold(stats.commandsExecuted || 0)}`,\r\n `${colors.info(`${icons.timer} Average Response:`)} ${colors.info.bold((stats.averageResponseTime || 0).toFixed(2) + 'ms')}`,\r\n `${colors.warning(`${icons.chart} Commands/Min:`)} ${colors.warning.bold((stats.commandsPerMinute || 0).toFixed(1))}`,\r\n `${colors.error(`${icons.error} Total Errors:`)} ${colors.error.bold(stats.errors || 0)}`,\r\n `${colors.performance(`${icons.time} Uptime:`)} ${colors.performance.bold(uptime)}`,\r\n `${colors.system(`${icons.memory} Memory:`)} ${colors.system.bold(formatBytes(memUsage.heapUsed))}/${formatBytes(memUsage.heapTotal)}`,\r\n `${colors.primary(`${icons.cpu} CPU:`)} ${colors.primary.bold(process.cpuUsage().user / 1000000 + 'ms')}`\r\n ];\r\n\r\n const perfBox = createBox(\r\n perfData.join('\\n'),\r\n `${icons.chart} PERFORMANCE DASHBOARD`,\r\n colors.performance,\r\n 'rounded'\r\n );\r\n\r\n console.log('\\n' + perfBox + '\\n');\r\n logToFile('performance', 'Performance stats', stats);\r\n },\r\n\r\n // Connection status logging\r\n logConnection: (status, details = {}) => {\r\n const statusColors = {\r\n connecting: colors.warning,\r\n connected: colors.success,\r\n disconnected: colors.error,\r\n reconnecting: colors.info\r\n };\r\n\r\n const statusIcons = {\r\n connecting: icons.loading,\r\n connected: icons.online,\r\n disconnected: icons.offline,\r\n reconnecting: icons.gear\r\n };\r\n\r\n const color = statusColors[status] || colors.info;\r\n const icon = statusIcons[status] || icons.info;\r\n\r\n console.log(`${color(`${icon} [${getTimeStamp()}] CONNECTION ${status.toUpperCase()}`)} ${color(JSON.stringify(details))}`);\r\n logToFile('connection', `Connection ${status}`, details);\r\n },\r\n\r\n // Loading animations\r\n loading: (message, type = 'dots') => {\r\n const frames = loadingFrames[type] || loadingFrames.dots;\r\n let i = 0;\r\n\r\n return setInterval(() => {\r\n process.stdout.write(`\\r${colors.primary(frames[i])} ${colors.primary(message)}`);\r\n i = (i + 1) % frames.length;\r\n }, 100);\r\n },\r\n\r\n // Clear loading\r\n clearLoading: () => {\r\n process.stdout.write('\\r\\x1b[K');\r\n },\r\n\r\n // Security alerts\r\n logSecurity: (event, severity = 'medium', details = {}) => {\r\n const severityColors = {\r\n low: colors.info,\r\n medium: colors.warning,\r\n high: colors.error,\r\n critical: colors.security\r\n };\r\n\r\n const color = severityColors[severity] || colors.warning;\r\n const securityBox = createBox(\r\n `${colors.security.bold('Event:')} ${event}\\n` +\r\n `${colors.info.bold('Severity:')} ${color.bold(severity.toUpperCase())}\\n` +\r\n `${colors.info.bold('Time:')} ${getTimeStamp(true)}\\n` +\r\n `${colors.info.bold('Details:')} ${JSON.stringify(details, null, 2)}`,\r\n `${icons.shield} SECURITY ALERT`,\r\n color,\r\n 'double'\r\n );\r\n\r\n console.log('\\n' + securityBox + '\\n');\r\n logToFile('security', event, { severity, details });\r\n },\r\n\r\n // Export utilities\r\n colors,\r\n icons,\r\n utils: {\r\n createSeparator,\r\n createBox,\r\n createGradientText,\r\n getTimeStamp,\r\n formatBytes,\r\n formatDuration,\r\n logToFile\r\n }\r\n };\r\n};\r\n\r\n// Create and export the logger instance\r\nexport const logger = createLogger();\r\n\r\nexport default logger;"],"names":["createLogger","colors","primary","chalk","hex","secondary","success","warning","error","info","owner","admin","group","private","command","media","quoted","time","user","message","system","debug","performance","security","bot","gradient1","gradient2","neon","gold","icons","reaction","online","offline","loading","processing","rocket","star","fire","lightning","timer","chart","shield","key","lock","unlock","gear","cpu","memory","database","sparkles","diamond","crown","magic","crystal","loadingFrames","dots","spin","bounce","pulse","wave","createSeparator","char","length","color","repeat","createGradientText","text","startColor","endColor","chars","split","totalChars","map","index","ratio","join","createBox","content","title","style","lines","maxLength","Math","max","line","replace","width","min","styles","rounded","topLeft","topRight","bottomLeft","bottomRight","horizontal","vertical","cross","square","double","s","topLine","bottomLine","titleLine","bold","padEnd","separatorLine","contentLines","cleanLine","padding","filter","Boolean","getTimeStamp","includeDate","now","Date","timeStr","toLocaleTimeString","hour12","hour","minute","second","dateStr","toLocaleDateString","formatBytes","bytes","decimals","k","dm","sizes","i","floor","log","parseFloat","pow","toFixed","formatDuration","ms","logToFile","level","data","logsDir","path","process","cwd","fs","existsSync","mkdirSync","recursive","timestamp","toISOString","logEntry","toUpperCase","pid","logFile","logs","readFileSync","JSON","parse","push","writeFileSync","stringify","logStartup","botInfo","console","clear","maxWidth","termWidth","stdout","columns","stripAnsi","str","centerLabelValue","label","value","combined","cleanLength","leftPadding","rightPadding","separator","version","commandCount","startedAt","banner","logMessage","messageData","messageType","body","senderName","senderNumber","chatType","groupName","groupSize","isOwner","isAdmin","isCommand","hasMedia","isQuoted","executionTime","badges","typeIcon","typeColor","typeText","chatIcon","chatColor","chatInfo","perfIndicator","displayMessage","substring","logCommand","commandName","status","context","successColor","logSystem","type","category","colorMap","iconMap","icon","logError","errorId","random","toString","errorDetails","stack","stackLines","slice","forEach","trim","errorBox","logPerformance","stats","uptime","memUsage","memoryUsage","perfData","commandsExecuted","averageResponseTime","commandsPerMinute","errors","heapUsed","heapTotal","cpuUsage","perfBox","logConnection","details","statusColors","connecting","connected","disconnected","reconnecting","statusIcons","frames","setInterval","write","clearLoading","logSecurity","event","severity","severityColors","low","medium","high","critical","securityBox","utils","logger"],"mappings":"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"}