UNPKG

@agility/cli

Version:

Agility CLI for working with your content. (Public Beta)

92 lines (91 loc) 2.78 kB
import { fileOperations } from '../../../core/fileOperations'; export type ConsoleMode = 'headless' | 'verbose' | 'plain'; export interface ConsoleState { mode: ConsoleMode; originalLog: typeof console.log; originalError: typeof console.error; isRedirected: boolean; } export interface ConsoleRedirectionHandlers { onLog?: (message: string) => void; onError?: (message: string) => void; } export declare class ConsoleManager { private state; private fileOps?; private redirectionHandlers?; constructor(); /** * Setup console mode and redirection */ setupMode(mode: ConsoleMode, fileOps?: fileOperations, handlers?: ConsoleRedirectionHandlers): void; /** * Setup headless mode (file logging only, no console output) */ private setupHeadlessMode; /** * Setup verbose mode (console + file logging) */ private setupVerboseMode; /** * Setup plain mode (console + file logging, like verbose but less verbose) */ private setupPlainMode; /** * Format console arguments into a single message string */ private formatMessage; /** * Log message to file using existing fileOperations infrastructure */ private logToFile; /** * Restore original console methods */ restoreConsole(): void; /** * Check if console is currently redirected */ isRedirected(): boolean; /** * Get current console mode */ getMode(): ConsoleMode; /** * Conditional logging - only log if conditions are met */ conditionalLog(message: string, condition: boolean): void; /** * Log with specific color formatting (maintains existing ansiColors patterns) */ logSuccess(message: string): void; logError(message: string): void; logWarning(message: string): void; logInfo(message: string): void; /** * Log step-related messages (consistent with existing pusher patterns) */ logStepStart(stepName: string): void; logStepSuccess(stepName: string, details?: string): void; logStepError(stepName: string, error: string): void; /** * Log separator (consistent with existing patterns) */ logSeparator(): void; /** * Create a file operations instance for the current state */ static createFileOps(guid?: string): fileOperations; /** * Finalize log file and return path */ finalizeLogFile(operationType: 'pull' | 'push' | 'sync'): string | null; /** * Update redirection handlers (useful for dynamic handler changes) */ updateRedirectionHandlers(handlers: ConsoleRedirectionHandlers): void; /** * Get console state for debugging */ getConsoleState(): ConsoleState; }