/** * Sista AI Logger * * Logging behavior: * - log(): Only shows on localhost/127.0.0.1 (development environment) or when debug key is set * - show(): Shows everywhere (both development and production) * - error(): Shows everywhere (both development and production) * * Utilities added for better traceability: * - groupCollapsed()/groupEnd(): Collapsed console groups (dev-only by default) * - stepStart()/stepEnd()/stepSkip(): Consistent step markers for pipelines * - snapshot(): Collapsed dump of large payloads * - timeStart()/timeEnd(): Lightweight timers per label * * Color model (centralized): * - Configure all folder/namespace colors here. Keys can be simple namespaces (e.g., 'tools') * or nested paths (e.g., 'core/ai_providers'). The most specific match wins. * - Default fallback is 'default'. A special 'root' key can be used for non-core modules. */ type LogArgs = [message?: any, ...optionalParams: any[]]; declare class Logger { private static instance; private isLocalhost; private debugKey; private DEBUGGER_SECRET_KEY; private timers; private namespaceColors; private constructor(); static getInstance(): Logger; setDebugKey(key: string | null): void; setNamespaceColors(map: Record): void; getNamespaceColors(): Record; log(...args: LogArgs): void; show(...args: LogArgs): void; error(...args: LogArgs): void; groupCollapsed(title: string, showEverywhere?: boolean, color?: string): void; groupEnd(showEverywhere?: boolean): void; groupLarge(title: string, showEverywhere?: boolean, color?: string): void; stepStart(context: string, step: string, meta?: any): void; stepEnd(context: string, step: string, meta?: any): void; stepSkip(context: string, step: string, reason?: string): void; snapshot(label: string, payload: any, showEverywhere?: boolean): void; timeStart(label: string): void; timeEnd(label: string): void; private timerStartRaw; private timerEndRaw; separator(label: string, width?: number, char?: string, color?: string): void; context(className: string, functionName?: string, options?: { color?: string; showEverywhere?: boolean; }): { log: (message?: any, ...optionalParams: any[]) => void; show: (message?: any, ...optionalParams: any[]) => void; error: (message?: any, ...optionalParams: any[]) => void; groupCollapsed: (title: string, colorOverride?: string) => void; groupLarge: (title: string) => void; groupEnd: () => void; stepStart: (step: string, meta?: any) => void; stepEnd: (step: string, meta?: any) => void; stepSkip: (step: string, reason?: string) => void; snapshot: (label: string, payload: any) => void; separator: (label: string, width?: number, char?: string, colorLine?: string) => void; timeStart: (label: string) => void; timeEnd: (label: string) => void; }; contextNS(namespace: string, className: string, functionName?: string, options?: { showEverywhere?: boolean; }): { log: (message?: any, ...optionalParams: any[]) => void; show: (message?: any, ...optionalParams: any[]) => void; error: (message?: any, ...optionalParams: any[]) => void; groupCollapsed: (title: string, colorOverride?: string) => void; groupLarge: (title: string) => void; groupEnd: () => void; stepStart: (step: string, meta?: any) => void; stepEnd: (step: string, meta?: any) => void; stepSkip: (step: string, reason?: string) => void; snapshot: (label: string, payload: any) => void; separator: (label: string, width?: number, char?: string, colorLine?: string) => void; timeStart: (label: string) => void; timeEnd: (label: string) => void; }; bannerH1(message: string): void; setNamespaceColor(namespace: string, color: string): void; } declare const logger: Logger; export default logger;