{"version":3,"sources":["../../node_modules/tsup/assets/cjs_shims.js","../../src/logger/logger.ts"],"names":["getImportMetaUrl","document","URL","__filename","href","currentScript","tagName","toUpperCase","src","baseURI","importMetaUrl","__dirname","path","dirname","url","fileURLToPath","LoggerError","FrameworkError","LoggerLevel","DEBUG","ERROR","FATAL","INFO","TRACE","WARN","SILENT","Logger","Serializable","raw","info","warn","fatal","error","debug","trace","silent","register","msgPrefix","level","value","input","init","of","parent","root","instance","child","bindings","name","bind","defaults","createRaw","undefined","pretty","parseEnv","asBoolean","z","nativeEnum","default","filter","isTruthy","join","createSnapshot","shallowCopy","loadSnapshot","extra","Object","assign","options","stream","isPretty","targetStream","pinoLogger","destination","stdout","pino","transport","target","messageKey","nestedKey","errorKey","colorize","sync","singleLine","timestamp","formatters","pid","_","hostname","__","others","log","record","label"],"mappings":"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","file":"logger.cjs","sourcesContent":["// Shim globals in cjs bundle\n// There's a weird bug that esbuild will always inject importMetaUrl\n// if we export it as `const importMetaUrl = ... __filename ...`\n// But using a function will not cause this issue\n\nconst getImportMetaUrl = () => \n  typeof document === \"undefined\" \n    ? new URL(`file:${__filename}`).href \n    : (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT') \n      ? document.currentScript.src \n      : new URL(\"main.js\", document.baseURI).href;\n\nexport const importMetaUrl = /* @__PURE__ */ getImportMetaUrl()\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as pinoLogger from \"pino\";\nimport {\n  ChildLoggerOptions,\n  LoggerOptions,\n  DestinationStream,\n  LevelWithSilent,\n  BaseLogger,\n} from \"pino\";\nimport { FrameworkError } from \"@/errors.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { Cache } from \"@/cache/decoratorCache.js\";\nimport { EnumFromUnion, ValueOf } from \"@/internals/types.js\";\nimport { parseEnv } from \"@/internals/env.js\";\nimport { z } from \"zod\";\nimport { isTruthy } from \"remeda\";\nimport { PrettyOptions } from \"pino-pretty\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { stdout } from \"node:process\";\nimport * as url from \"node:url\";\nimport path from \"node:path\";\n\nconst __dirname = path.dirname(url.fileURLToPath(import.meta.url));\n\nexport interface LoggerBindings extends Record<string, any> {}\n\nexport class LoggerError extends FrameworkError {}\n\nexport const LoggerLevel: EnumFromUnion<LevelWithSilent> = {\n  DEBUG: \"debug\",\n  ERROR: \"error\",\n  FATAL: \"fatal\",\n  INFO: \"info\",\n  TRACE: \"trace\",\n  WARN: \"warn\",\n  SILENT: \"silent\",\n} as const;\nexport type LoggerLevelType = ValueOf<typeof LoggerLevel>;\n\nexport interface LoggerInput {\n  name?: string;\n  bindings?: LoggerBindings;\n  level?: LoggerLevelType;\n  raw?: ChildLoggerOptions;\n}\n\nexport class Logger extends Serializable implements BaseLogger {\n  protected raw!: pinoLogger.Logger;\n\n  info!: pinoLogger.LogFn;\n  warn!: pinoLogger.LogFn;\n  fatal!: pinoLogger.LogFn;\n  error!: pinoLogger.LogFn;\n  debug!: pinoLogger.LogFn;\n  trace!: pinoLogger.LogFn;\n  silent!: pinoLogger.LogFn;\n\n  static {\n    this.register();\n  }\n\n  get msgPrefix(): string | undefined {\n    return this.raw.msgPrefix;\n  }\n\n  get level(): LoggerLevelType {\n    return this.raw.level as LoggerLevelType;\n  }\n\n  set level(value: LoggerLevelType) {\n    this.raw.level = value;\n  }\n\n  constructor(\n    public readonly input: LoggerInput,\n    raw?: pinoLogger.Logger,\n  ) {\n    super();\n    this.raw = raw!;\n    this.init();\n  }\n\n  static of(input: LoggerInput) {\n    return new Logger(input);\n  }\n\n  private init() {\n    const parent = this.raw || Logger.root.raw;\n    const instance = parent.child(\n      {\n        ...this.input.bindings,\n        name: this.input.name ?? this.input.bindings?.name,\n      },\n      {\n        ...this.input.raw,\n        level: this.input.level ?? this.input.raw?.level,\n      },\n    );\n\n    this.raw = instance;\n    this.info = instance.info.bind(instance);\n    this.warn = instance.warn.bind(instance);\n    this.fatal = instance.fatal.bind(instance);\n    this.error = instance.error.bind(instance);\n    this.debug = instance.debug.bind(instance);\n    this.trace = instance.trace.bind(instance);\n    this.silent = instance.silent.bind(instance);\n  }\n\n  @Cache()\n  static get root() {\n    return new Logger(Logger.defaults, Logger.createRaw(Logger.defaults));\n  }\n\n  @Cache()\n  static get defaults(): Omit<LoggerInput, \"raw\"> & { pretty: boolean } {\n    return {\n      name: undefined,\n      pretty: parseEnv.asBoolean(\"BEE_FRAMEWORK_LOG_PRETTY\", false),\n      bindings: {},\n      level: parseEnv(\n        \"BEE_FRAMEWORK_LOG_LEVEL\",\n        z.nativeEnum(LoggerLevel).default(LoggerLevel.INFO),\n      ),\n    };\n  }\n\n  child(input?: LoggerInput) {\n    const name = [this.input.name, input?.name].filter(isTruthy).join(\".\");\n\n    return new Logger(\n      {\n        ...this.input,\n        level: this.level,\n        ...input,\n        name,\n        bindings: {\n          name,\n        },\n      },\n      this.raw,\n    );\n  }\n\n  createSnapshot() {\n    return {\n      input: shallowCopy(this.input),\n      level: this.raw.level,\n    };\n  }\n\n  loadSnapshot({ level, ...extra }: ReturnType<typeof this.createSnapshot>) {\n    Object.assign(this, extra);\n    this.init();\n    this.raw.level = level;\n  }\n\n  public static createRaw(options?: LoggerOptions, stream?: DestinationStream | undefined) {\n    const defaults = Logger.defaults;\n    const isPretty = defaults.pretty;\n\n    const targetStream = stream ?? (isPretty ? pinoLogger.destination(stdout) : undefined);\n\n    return pinoLogger.pino(\n      {\n        ...(isPretty && {\n          transport: {\n            target: path.join(__dirname, \"pretty.js\"),\n            options: {\n              messageKey: \"message\",\n              nestedKey: undefined,\n              errorKey: \"error\",\n              colorize: true,\n              sync: true,\n              singleLine: parseEnv.asBoolean(\"BEE_FRAMEWORK_LOG_SINGLE_LINE\", false),\n            } as PrettyOptions,\n          },\n        }),\n        messageKey: \"message\",\n        nestedKey: defaults.pretty ? undefined : \"payload\",\n        errorKey: \"error\",\n        timestamp: true,\n        name: defaults.name,\n        level: defaults.level,\n        ...options,\n        formatters: {\n          bindings: ({ pid: _, hostname: __, ...others }) => {\n            return others;\n          },\n          log: (record) => {\n            return record;\n          },\n          level: (label) => {\n            return { level: label.toUpperCase() };\n          },\n          ...options?.formatters,\n        },\n      },\n      targetStream,\n    );\n  }\n}\n"]}