{"version":3,"file":"index.mjs","names":[],"sources":["../src/api-context/index.ts","../src/logger/index.ts"],"sourcesContent":["import type { Attributes } from '@opentelemetry/api';\nimport { setTraceAttributes as setMutableTraceAttributes } from '../context/index.ts';\n\nexport function setTraceAttributes(attributes: Attributes) {\n  setMutableTraceAttributes(attributes);\n}\n","import { Attributes, trace } from '@opentelemetry/api';\nimport { getTraceAttributes } from '../context/index.ts';\nimport type { ResolvedSDKConfig } from '../sdk/types.ts';\nimport { resolveSDKConfig } from '../sdk/config.ts';\nimport { getActiveSDKConfig } from '../sdk/state.ts';\nimport createPinoTransport, { getPinoMixinFunction } from './pino.ts';\nimport { OTelWinstonTransport } from './winston.ts';\nimport { createEvlogDrain } from './evlog.ts';\nimport type { LoggerOptions } from './types.ts';\n\nfunction getCustomMeta(): Attributes {\n  const activeSpan = trace.getActiveSpan();\n  const spanContext = activeSpan?.spanContext();\n  return {\n    ...getTraceAttributes(),\n    ...(spanContext\n      ? {\n          trace_id: spanContext.traceId,\n          span_id: spanContext.spanId,\n          trace_flags: spanContext.traceFlags,\n        }\n      : {}),\n  };\n}\n\nexport { createPinoTransport, getPinoMixinFunction };\nexport { OTelLogger, type OTelLogEmitOptions } from './otelLogger.ts';\nexport { OTelNestLogger } from './nest.ts';\nexport { OTelWinstonTransport } from './winston.ts';\nexport type { LoggerOptions } from './types.ts';\nexport {\n  createAuditOtelDrain,\n  createEvlogDrain,\n  createOtelTraceEnricher,\n  OTelEvlogBridge,\n  parseEvlogEvent,\n} from './evlog.ts';\nexport type {\n  EvlogDrainOptions,\n  ParsedEvlogEmit,\n} from './evlog.ts';\n\nexport function getWinstonTransport(\n  config?: ResolvedSDKConfig,\n  maxLevel = 'info',\n  resourceAttributes?: LoggerOptions['resourceAttributes'],\n) {\n  const resolvedConfig = config ?? getActiveSDKConfig() ?? resolveSDKConfig();\n  return new OTelWinstonTransport({\n    config: resolvedConfig,\n    maxLevel,\n    resourceAttributes,\n    getCustomMeta: resolvedConfig.betaMode ? getCustomMeta : undefined,\n  });\n}\n\nexport function getPinoTransport(\n  config?: ResolvedSDKConfig,\n  maxLevel = 'info',\n  resourceAttributes?: LoggerOptions['resourceAttributes'],\n) {\n  const resolvedConfig = config ?? getActiveSDKConfig() ?? resolveSDKConfig();\n  return {\n    target: '@safaricom-mxl/node-sdk/dist/logger/pino.js',\n    level: maxLevel,\n    options: {\n      config: resolvedConfig,\n      resourceAttributes,\n      getCustomMeta: resolvedConfig.betaMode ? getCustomMeta : undefined,\n    },\n  };\n}\n\nexport function getEvlogDrain(\n  config?: ResolvedSDKConfig,\n  resourceAttributes?: LoggerOptions['resourceAttributes'],\n) {\n  const resolvedConfig = config ?? getActiveSDKConfig() ?? resolveSDKConfig();\n  return createEvlogDrain({\n    config: resolvedConfig,\n    resourceAttributes,\n  });\n}\n"],"mappings":";;;;;;;;;;;;;;AAGA,SAAgB,mBAAmB,YAAwB;CACzD,qBAA0B,UAAU;AACtC;;;ACKA,SAAS,gBAA4B;CAEnC,MAAM,cADa,MAAM,cACI,CAAC,EAAE,YAAY;CAC5C,OAAO;EACL,GAAG,mBAAmB;EACtB,GAAI,cACA;GACE,UAAU,YAAY;GACtB,SAAS,YAAY;GACrB,aAAa,YAAY;EAC3B,IACA,CAAC;CACP;AACF;AAmBA,SAAgB,oBACd,QACA,WAAW,QACX,oBACA;CACA,MAAM,iBAAiB,UAAU,mBAAmB,KAAK,iBAAiB;CAC1E,OAAO,IAAI,qBAAqB;EAC9B,QAAQ;EACR;EACA;EACA,eAAe,eAAe,WAAW,gBAAgB,KAAA;CAC3D,CAAC;AACH;AAEA,SAAgB,iBACd,QACA,WAAW,QACX,oBACA;CACA,MAAM,iBAAiB,UAAU,mBAAmB,KAAK,iBAAiB;CAC1E,OAAO;EACL,QAAQ;EACR,OAAO;EACP,SAAS;GACP,QAAQ;GACR;GACA,eAAe,eAAe,WAAW,gBAAgB,KAAA;EAC3D;CACF;AACF;AAEA,SAAgB,cACd,QACA,oBACA;CACA,MAAM,iBAAiB,UAAU,mBAAmB,KAAK,iBAAiB;CAC1E,OAAO,iBAAiB;EACtB,QAAQ;EACR;CACF,CAAC;AACH"}