UNPKG

agente-toolkit

Version:

A barebones TypeScript library for building AI agents with intelligent tool execution and self-correction capabilities

65 lines (62 loc) 2.15 kB
'use strict'; /** * Console-based logger implementation. * Outputs structured logs to console with optional formatting. */ class ConsoleLogger { constructor(options = {}) { var _a, _b; this.enableTimestamps = (_a = options.enableTimestamps) !== null && _a !== void 0 ? _a : true; this.enableColors = (_b = options.enableColors) !== null && _b !== void 0 ? _b : true; } info(message, meta) { this.log('INFO', message, meta, this.enableColors ? '\x1b[36m' : ''); // Cyan } warn(message, meta) { this.log('WARN', message, meta, this.enableColors ? '\x1b[33m' : ''); // Yellow } error(message, meta) { this.log('ERROR', message, meta, this.enableColors ? '\x1b[31m' : ''); // Red } debug(message, meta) { this.log('DEBUG', message, meta, this.enableColors ? '\x1b[90m' : ''); // Gray } log(level, message, meta, color = '') { const reset = this.enableColors ? '\x1b[0m' : ''; const timestamp = this.enableTimestamps ? new Date().toISOString() : ''; let output = `${color}${timestamp ? `[${timestamp}] ` : ''}[${level}] ${message}${reset}`; if (meta && Object.keys(meta).length > 0) { output += `\n${JSON.stringify(meta, null, 2)}`; } console.log(output); } } /** * Silent logger implementation that discards all log messages. * Useful for testing or when logging should be completely disabled. */ class SilentLogger { info(message, meta) { // Intentionally empty } warn(message, meta) { // Intentionally empty } error(message, meta) { // Intentionally empty } debug(message, meta) { // Intentionally empty } } /** * Creates a default logger instance suitable for most use cases. * Uses ConsoleLogger with reasonable defaults. */ function createDefaultLogger() { return new ConsoleLogger({ enableTimestamps: true, enableColors: true }); } exports.ConsoleLogger = ConsoleLogger; exports.SilentLogger = SilentLogger; exports.createDefaultLogger = createDefaultLogger; //# sourceMappingURL=defaultLoggers.js.map