{"version":3,"sources":["../src/log_core.ts"],"sourcesContent":["// SPDX-FileCopyrightText: 2024 LiveKit, Inc.\n//\n// SPDX-License-Identifier: Apache-2.0\nimport type { Logger } from 'pino';\n\n/** @internal */\nexport type LoggerOptions = {\n  pretty: boolean;\n  level?: string;\n};\n\n// Use Symbol.for() + globalThis to create process-wide singletons.\n// This avoids the \"dual package hazard\". Symbol.for() returns the same Symbol\n// across all module instances, and globalThis is shared process-wide.\nconst LOGGER_KEY = Symbol.for('@livekit/agents:logger');\nconst LOGGER_OPTIONS_KEY = Symbol.for('@livekit/agents:loggerOptions');\n\ntype GlobalState = {\n  [LOGGER_KEY]?: Logger;\n  [LOGGER_OPTIONS_KEY]?: LoggerOptions;\n};\n\nconst globals = globalThis as typeof globalThis & GlobalState;\n\n/** @internal */\nexport const loggerOptions = (): LoggerOptions | undefined => globals[LOGGER_OPTIONS_KEY];\n\n/** @internal */\nexport const log = (): Logger => {\n  const logger = globals[LOGGER_KEY];\n  if (!logger) {\n    throw new TypeError('logger not initialized. did you forget to run initializeLogger()?');\n  }\n  return logger;\n};\n\n/** @internal */\nexport const setLoggerState = (logger: Logger, options: LoggerOptions): void => {\n  globals[LOGGER_OPTIONS_KEY] = options;\n  globals[LOGGER_KEY] = logger;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAcA,MAAM,aAAa,OAAO,IAAI,wBAAwB;AACtD,MAAM,qBAAqB,OAAO,IAAI,+BAA+B;AAOrE,MAAM,UAAU;AAGT,MAAM,gBAAgB,MAAiC,QAAQ,kBAAkB;AAGjF,MAAM,MAAM,MAAc;AAC/B,QAAM,SAAS,QAAQ,UAAU;AACjC,MAAI,CAAC,QAAQ;AACX,UAAM,IAAI,UAAU,mEAAmE;AAAA,EACzF;AACA,SAAO;AACT;AAGO,MAAM,iBAAiB,CAAC,QAAgB,YAAiC;AAC9E,UAAQ,kBAAkB,IAAI;AAC9B,UAAQ,UAAU,IAAI;AACxB;","names":[]}