UNPKG

autoagent-cli

Version:

Run autonomous AI agents using Claude or Gemini for task execution

72 lines (71 loc) 2.95 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Logger = void 0; const chalk_1 = __importDefault(require("chalk")); class Logger { static setDebugEnabled(enabled) { Logger.debugEnabled = enabled; } static setDefaultOptions(options) { Logger.defaultOptions = { ...Logger.defaultOptions, ...options }; } static formatMessage(message, options) { const opts = { ...Logger.defaultOptions, ...options }; let formatted = message; if (opts.prefix !== undefined && opts.prefix !== '') { formatted = `[${opts.prefix}] ${formatted}`; } if (opts.timestamp === true) { const timestamp = new Date().toISOString(); formatted = `[${timestamp}] ${formatted}`; } return formatted; } static info(message, options) { console.log(chalk_1.default.blue(Logger.formatMessage(message, options))); } static success(message, options) { console.log(chalk_1.default.green(`✓ ${Logger.formatMessage(message, options)}`)); } static warning(message, options) { console.log(chalk_1.default.yellow(`⚠ ${Logger.formatMessage(message, options)}`)); } static error(message, options) { const errorMessage = message instanceof Error ? message.message : message; console.error(chalk_1.default.red(`Error: ${Logger.formatMessage(errorMessage, options)}`)); if (message instanceof Error && Logger.debugEnabled) { console.error(chalk_1.default.gray(`Stack trace: ${message.stack ?? ''}`)); } } static debug(message, options) { const debugOptions = { ...options, debugEnabled: options?.debugEnabled ?? Logger.debugEnabled }; if (debugOptions.debugEnabled === true || Logger.defaultOptions.debugEnabled === true) { console.log(chalk_1.default.gray(`[DEBUG] ${Logger.formatMessage(message, options)}`)); } } static progress(message, current, total, options) { const percentage = Math.round((current / total) * 100); const progressBar = Logger.createProgressBar(percentage); console.log(chalk_1.default.cyan(`${progressBar} ${percentage}% - ${Logger.formatMessage(message, options)}`)); } static createProgressBar(percentage, width = 20) { const filled = Math.round((percentage / 100) * width); const empty = width - filled; return `[${chalk_1.default.green('█'.repeat(filled))}${chalk_1.default.gray('░'.repeat(empty))}]`; } static clear() { process.stdout.write('\x1Bc'); } static newline() { console.log(); } } exports.Logger = Logger; Logger.debugEnabled = false; Logger.defaultOptions = { timestamp: false, debugEnabled: false, };