{"version":3,"file":"SessionAPI.cjs","names":["NoOpSpanSessionManager","ProxySpanSessionManager","createSafeProxy","diag"],"sources":["../../../../src/api-sessions/api/SessionAPI/SessionAPI.ts"],"sourcesContent":["import { diag } from '@opentelemetry/api';\nimport { createSafeProxy } from '../../../utils/index.ts';\nimport type { SpanSessionManager } from '../../manager/index.ts';\nimport {\n  NoOpSpanSessionManager,\n  ProxySpanSessionManager,\n} from '../../manager/index.ts';\n\n/**\n * Public interface for SessionAPI including SDK-internal methods.\n */\nexport interface SessionAPIInstance extends SpanSessionManager {\n  /** @internal SDK use only */\n  setGlobalSessionManager(sessionManager: SpanSessionManager): void;\n  /** @internal SDK use only */\n  getSpanSessionManager(): SpanSessionManager;\n}\n\nconst NOOP_SPAN_SESSION_MANAGER = new NoOpSpanSessionManager();\nconst INTERNAL_METHODS = new Set(['setDelegate', 'getDelegate']);\n\nexport class SessionAPI {\n  private static _instance?: SessionAPIInstance;\n\n  public static getInstance(): SessionAPIInstance {\n    if (!SessionAPI._instance) {\n      const proxyManager = new ProxySpanSessionManager();\n\n      const safeManager = createSafeProxy(\n        proxyManager,\n        NOOP_SPAN_SESSION_MANAGER,\n        diag.createComponentLogger({ namespace: 'SessionAPI' }),\n        INTERNAL_METHODS,\n      );\n\n      // Combine safe-wrapped manager methods with SDK-internal methods\n      SessionAPI._instance = Object.assign(safeManager, {\n        setGlobalSessionManager(sessionManager: SpanSessionManager): void {\n          proxyManager.setDelegate(sessionManager);\n        },\n        getSpanSessionManager(): SpanSessionManager {\n          return proxyManager;\n        },\n      }) as SessionAPIInstance;\n    }\n\n    return SessionAPI._instance;\n  }\n\n  // Static method to reset instance for testing\n  public static resetInstance(): void {\n    SessionAPI._instance = undefined;\n  }\n}\n"],"mappings":";;;;;;;AAkBA,MAAM,4BAA4B,IAAIA,2EAAAA,wBAAwB;AAC9D,MAAM,mBAAmB,IAAI,IAAI,CAAC,eAAe,cAAc,CAAC;AAEhE,IAAa,aAAb,MAAa,WAAW;CACtB,OAAe;CAEf,OAAc,cAAkC;AAC9C,MAAI,CAAC,WAAW,WAAW;GACzB,MAAM,eAAe,IAAIC,6EAAAA,yBAAyB;GAElD,MAAM,cAAcC,8CAAAA,gBAClB,cACA,2BACAC,mBAAAA,KAAK,sBAAsB,EAAE,WAAW,cAAc,CAAC,EACvD,iBACD;AAGD,cAAW,YAAY,OAAO,OAAO,aAAa;IAChD,wBAAwB,gBAA0C;AAChE,kBAAa,YAAY,eAAe;;IAE1C,wBAA4C;AAC1C,YAAO;;IAEV,CAAC;;AAGJ,SAAO,WAAW;;CAIpB,OAAc,gBAAsB;AAClC,aAAW,YAAY,KAAA"}