{"version":3,"sources":["../../node_modules/.pnpm/tsup@8.3.6_@swc+core@1.10.15_tsx@4.19.2_typescript@5.7.3_yaml@2.7.0/node_modules/tsup/assets/cjs_shims.js","../../src/logger/logger.ts"],"names":["getImportMetaUrl","document","URL","__filename","href","currentScript","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","level","value","constructor","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","transport","target","messageKey","nestedKey","errorKey","colorize","sync","singleLine","timestamp","formatters","pid","_","hostname","__","others","log","record","label","toUpperCase"],"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.src) ||\n      new URL('main.js', document.baseURI).href\n\nexport const importMetaUrl = /* @__PURE__ */ getImportMetaUrl()\n","/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { pino as pinoLogger, ChildLoggerOptions, LoggerOptions, DestinationStream } 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<pinoLogger.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 pinoLogger.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 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(\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"]}