/** * Structured Logger using Pino * * Provides structured JSON logging with: * - Multiple log levels (debug, info, warn, error) * - Component-based child loggers * - Structured metadata for each log entry * - MCP-friendly output to stderr (stdout reserved for MCP protocol) */ import { Logger as PinoLogger } from 'pino'; export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'silent'; /** * Log context metadata */ export interface LogContext { component?: string; domain?: string; url?: string; operation?: string; tier?: string; skillId?: string; sessionId?: string; durationMs?: number; [key: string]: unknown; } /** * Logger configuration */ export interface LoggerConfig { level: LogLevel; prettyPrint: boolean; destination: 'stderr' | 'stdout'; } /** * Reconfigure the logger (useful for testing or runtime changes) */ export declare function configureLogger(config: Partial): void; /** * Get the base logger */ export declare function getLogger(): PinoLogger; /** * Component-specific logger wrapper * * Uses a getter to always access the current baseLogger, allowing * reconfiguration at runtime via configureLogger(). */ export declare class Logger { private _logger; private _context; private component; constructor(component: string, parentLogger?: PinoLogger); /** * Get the internal Pino logger, creating fresh child from baseLogger if needed */ private get logger(); /** * Create a child logger with additional context */ child(context: LogContext): Logger; /** * Debug level - detailed diagnostic information */ debug(message: string, context?: LogContext): void; /** * Info level - general operational messages */ info(message: string, context?: LogContext): void; /** * Warn level - warning conditions */ warn(message: string, context?: LogContext): void; /** * Error level - error conditions * Accepts unknown type for error since catch blocks provide unknown */ error(message: string, context?: LogContext & { error?: unknown; }): void; /** * Log with timing information */ timed(message: string, startTime: number, context?: LogContext): void; } /** * Pre-configured loggers for each component */ export declare const logger: { browser: Logger; session: Logger; intelligence: Logger; tieredFetcher: Logger; smartBrowser: Logger; verificationEngine: Logger; workflowRecorder: Logger; workflowScheduler: Logger; learning: Logger; proceduralMemory: Logger; knowledgeBase: Logger; embedding: Logger; formLearner: Logger; browseTool: Logger; apiCall: Logger; rateLimiter: Logger; retry: Logger; server: Logger; create: (component: string) => Logger; }; /** * Convenience function to log server startup */ export declare function logServerStart(version: string, features: string[]): void; /** * Convenience function to log server shutdown */ export declare function logServerShutdown(reason?: string): void; export default logger; //# sourceMappingURL=logger.d.ts.map