@safaricom-mxl/web-sdk 0.0.20 → 0.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DATA_EXPORT.md +2 -1
- package/README.md +48 -1
- package/dist/api-analytics/analyticsAPI.cjs +7 -0
- package/dist/api-analytics/analyticsAPI.cjs.map +1 -0
- package/dist/api-analytics/analyticsAPI.d.cts +7 -0
- package/dist/api-analytics/analyticsAPI.d.cts.map +1 -0
- package/dist/api-analytics/analyticsAPI.d.ts +7 -0
- package/dist/api-analytics/analyticsAPI.d.ts.map +1 -0
- package/dist/api-analytics/analyticsAPI.js +7 -0
- package/dist/api-analytics/analyticsAPI.js.map +1 -0
- package/dist/api-analytics/api/AnalyticsAPI/AnalyticsAPI.cjs +34 -0
- package/dist/api-analytics/api/AnalyticsAPI/AnalyticsAPI.cjs.map +1 -0
- package/dist/api-analytics/api/AnalyticsAPI/AnalyticsAPI.d.cts +17 -0
- package/dist/api-analytics/api/AnalyticsAPI/AnalyticsAPI.d.cts.map +1 -0
- package/dist/api-analytics/api/AnalyticsAPI/AnalyticsAPI.d.ts +17 -0
- package/dist/api-analytics/api/AnalyticsAPI/AnalyticsAPI.d.ts.map +1 -0
- package/dist/api-analytics/api/AnalyticsAPI/AnalyticsAPI.js +32 -0
- package/dist/api-analytics/api/AnalyticsAPI/AnalyticsAPI.js.map +1 -0
- package/dist/api-analytics/manager/NoOpAnalyticsManager/NoOpAnalyticsManager.cjs +14 -0
- package/dist/api-analytics/manager/NoOpAnalyticsManager/NoOpAnalyticsManager.cjs.map +1 -0
- package/dist/api-analytics/manager/NoOpAnalyticsManager/NoOpAnalyticsManager.d.cts +14 -0
- package/dist/api-analytics/manager/NoOpAnalyticsManager/NoOpAnalyticsManager.d.cts.map +1 -0
- package/dist/api-analytics/manager/NoOpAnalyticsManager/NoOpAnalyticsManager.d.ts +14 -0
- package/dist/api-analytics/manager/NoOpAnalyticsManager/NoOpAnalyticsManager.d.ts.map +1 -0
- package/dist/api-analytics/manager/NoOpAnalyticsManager/NoOpAnalyticsManager.js +13 -0
- package/dist/api-analytics/manager/NoOpAnalyticsManager/NoOpAnalyticsManager.js.map +1 -0
- package/dist/api-analytics/manager/ProxyAnalyticsManager/ProxyAnalyticsManager.cjs +34 -0
- package/dist/api-analytics/manager/ProxyAnalyticsManager/ProxyAnalyticsManager.cjs.map +1 -0
- package/dist/api-analytics/manager/ProxyAnalyticsManager/ProxyAnalyticsManager.d.cts +17 -0
- package/dist/api-analytics/manager/ProxyAnalyticsManager/ProxyAnalyticsManager.d.cts.map +1 -0
- package/dist/api-analytics/manager/ProxyAnalyticsManager/ProxyAnalyticsManager.d.ts +17 -0
- package/dist/api-analytics/manager/ProxyAnalyticsManager/ProxyAnalyticsManager.d.ts.map +1 -0
- package/dist/api-analytics/manager/ProxyAnalyticsManager/ProxyAnalyticsManager.js +34 -0
- package/dist/api-analytics/manager/ProxyAnalyticsManager/ProxyAnalyticsManager.js.map +1 -0
- package/dist/api-analytics/manager/types.cjs +0 -0
- package/dist/api-analytics/manager/types.d.cts +37 -0
- package/dist/api-analytics/manager/types.d.cts.map +1 -0
- package/dist/api-analytics/manager/types.d.ts +37 -0
- package/dist/api-analytics/manager/types.d.ts.map +1 -0
- package/dist/api-analytics/manager/types.js +0 -0
- package/dist/constants/attributes.cjs +62 -0
- package/dist/constants/attributes.cjs.map +1 -1
- package/dist/constants/attributes.d.cts +35 -1
- package/dist/constants/attributes.d.cts.map +1 -1
- package/dist/constants/attributes.d.ts +35 -1
- package/dist/constants/attributes.d.ts.map +1 -1
- package/dist/constants/attributes.js +36 -1
- package/dist/constants/attributes.js.map +1 -1
- package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.cjs +1 -1
- package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.js +1 -1
- package/dist/exporters/MXLTraceExporter/OTLPFetchTraceExporter.cjs +1 -1
- package/dist/exporters/MXLTraceExporter/OTLPFetchTraceExporter.js +1 -1
- package/dist/exporters/otlpBrowserFetchExportDelegate.d.cts +1 -1
- package/dist/exporters/otlpBrowserFetchExportDelegate.d.ts +1 -1
- package/dist/index.cjs +2 -0
- package/dist/index.d.cts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/instrumentations/InstrumentationAbstract/InstrumentationAbstract.d.ts +2 -2
- package/dist/instrumentations/InstrumentationAbstract/InstrumentationAbstract.d.ts.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.cjs +2 -0
- package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.cjs.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.d.cts.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.d.ts.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.js +2 -0
- package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.js.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV5/types.d.cts +3 -0
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV5/types.d.cts.map +1 -1
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV5/types.d.ts +3 -0
- package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV5/types.d.ts.map +1 -1
- package/dist/instrumentations/replay/session-recording/SessionRecording.cjs +2 -1
- package/dist/instrumentations/replay/session-recording/SessionRecording.cjs.map +1 -1
- package/dist/instrumentations/replay/session-recording/SessionRecording.js +2 -1
- package/dist/instrumentations/replay/session-recording/SessionRecording.js.map +1 -1
- package/dist/instrumentations/replay/session-recording/lifecycle.cjs +4 -4
- package/dist/instrumentations/replay/session-recording/lifecycle.cjs.map +1 -1
- package/dist/instrumentations/replay/session-recording/lifecycle.js +4 -4
- package/dist/instrumentations/replay/session-recording/lifecycle.js.map +1 -1
- package/dist/instrumentations/replay/transport/replayTransport.cjs +21 -4
- package/dist/instrumentations/replay/transport/replayTransport.cjs.map +1 -1
- package/dist/instrumentations/replay/transport/replayTransport.d.cts +1 -1
- package/dist/instrumentations/replay/transport/replayTransport.d.cts.map +1 -1
- package/dist/instrumentations/replay/transport/replayTransport.d.ts +1 -1
- package/dist/instrumentations/replay/transport/replayTransport.d.ts.map +1 -1
- package/dist/instrumentations/replay/transport/replayTransport.js +21 -4
- package/dist/instrumentations/replay/transport/replayTransport.js.map +1 -1
- package/dist/instrumentations/replay/transport/types.d.cts +2 -1
- package/dist/instrumentations/replay/transport/types.d.cts.map +1 -1
- package/dist/instrumentations/replay/transport/types.d.ts +2 -1
- package/dist/instrumentations/replay/transport/types.d.ts.map +1 -1
- package/dist/managers/MXLAnalyticsManager/MXLAnalyticsManager.cjs +193 -0
- package/dist/managers/MXLAnalyticsManager/MXLAnalyticsManager.cjs.map +1 -0
- package/dist/managers/MXLAnalyticsManager/MXLAnalyticsManager.d.cts +49 -0
- package/dist/managers/MXLAnalyticsManager/MXLAnalyticsManager.d.cts.map +1 -0
- package/dist/managers/MXLAnalyticsManager/MXLAnalyticsManager.d.ts +49 -0
- package/dist/managers/MXLAnalyticsManager/MXLAnalyticsManager.d.ts.map +1 -0
- package/dist/managers/MXLAnalyticsManager/MXLAnalyticsManager.js +191 -0
- package/dist/managers/MXLAnalyticsManager/MXLAnalyticsManager.js.map +1 -0
- package/dist/managers/MXLAnalyticsManager/sessionAnalyticsState.cjs +159 -0
- package/dist/managers/MXLAnalyticsManager/sessionAnalyticsState.cjs.map +1 -0
- package/dist/managers/MXLAnalyticsManager/sessionAnalyticsState.d.cts +50 -0
- package/dist/managers/MXLAnalyticsManager/sessionAnalyticsState.d.cts.map +1 -0
- package/dist/managers/MXLAnalyticsManager/sessionAnalyticsState.d.ts +50 -0
- package/dist/managers/MXLAnalyticsManager/sessionAnalyticsState.d.ts.map +1 -0
- package/dist/managers/MXLAnalyticsManager/sessionAnalyticsState.js +154 -0
- package/dist/managers/MXLAnalyticsManager/sessionAnalyticsState.js.map +1 -0
- package/dist/managers/MXLAnalyticsManager/types.cjs +0 -0
- package/dist/managers/MXLAnalyticsManager/types.d.cts +19 -0
- package/dist/managers/MXLAnalyticsManager/types.d.cts.map +1 -0
- package/dist/managers/MXLAnalyticsManager/types.d.ts +19 -0
- package/dist/managers/MXLAnalyticsManager/types.d.ts.map +1 -0
- package/dist/managers/MXLAnalyticsManager/types.js +0 -0
- package/dist/managers/MXLConfigManager/utils.cjs +3 -3
- package/dist/managers/MXLConfigManager/utils.cjs.map +1 -1
- package/dist/managers/MXLConfigManager/utils.js +3 -3
- package/dist/managers/MXLConfigManager/utils.js.map +1 -1
- package/dist/managers/MXLUserManager/MXLUserManager.cjs +1 -1
- package/dist/managers/MXLUserManager/MXLUserManager.js +1 -1
- package/dist/managers/MXLUserManager/constants.cjs +4 -0
- package/dist/managers/MXLUserManager/constants.cjs.map +1 -1
- package/dist/managers/MXLUserManager/constants.d.cts +3 -1
- package/dist/managers/MXLUserManager/constants.d.cts.map +1 -1
- package/dist/managers/MXLUserManager/constants.d.ts +3 -1
- package/dist/managers/MXLUserManager/constants.d.ts.map +1 -1
- package/dist/managers/MXLUserManager/constants.js +3 -1
- package/dist/managers/MXLUserManager/constants.js.map +1 -1
- package/dist/managers/MXLUserManager/profileSnapshot.cjs +64 -0
- package/dist/managers/MXLUserManager/profileSnapshot.cjs.map +1 -0
- package/dist/managers/MXLUserManager/profileSnapshot.d.cts +19 -0
- package/dist/managers/MXLUserManager/profileSnapshot.d.cts.map +1 -0
- package/dist/managers/MXLUserManager/profileSnapshot.d.ts +19 -0
- package/dist/managers/MXLUserManager/profileSnapshot.d.ts.map +1 -0
- package/dist/managers/MXLUserManager/profileSnapshot.js +59 -0
- package/dist/managers/MXLUserManager/profileSnapshot.js.map +1 -0
- package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.cjs +9 -0
- package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.cjs.map +1 -1
- package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.d.cts +3 -0
- package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.d.cts.map +1 -1
- package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.d.ts +3 -0
- package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.d.ts.map +1 -1
- package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.js +9 -0
- package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.js.map +1 -1
- package/dist/managers/MXLUserSessionManager/types.d.cts +2 -0
- package/dist/managers/MXLUserSessionManager/types.d.cts.map +1 -1
- package/dist/managers/MXLUserSessionManager/types.d.ts +2 -0
- package/dist/managers/MXLUserSessionManager/types.d.ts.map +1 -1
- package/dist/mxl-web-sdk.js +2 -2
- package/dist/mxl-web-sdk.js.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/esm/common/internal.js +9 -4
- package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/esm/common/internal.js.map +1 -0
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/esm/common/utils.js +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/esm/common/utils.js.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/internal.js +7 -11
- package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/internal.js.map +1 -0
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/json/logs.js +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/json/logs.js.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/internal.js +2 -2
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/internal.js.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/json/trace.js +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/json/trace.js.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/common/hex-to-binary.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/common/hex-to-binary.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/common/internal.cjs +8 -3
- package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/common/internal.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/common/protobuf/common-serializer.cjs +6 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/common/protobuf/common-serializer.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/common/protobuf/protobuf-reader.cjs +6 -10
- package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/common/protobuf/protobuf-reader.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/common/protobuf/protobuf-size-estimator.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/common/protobuf/protobuf-size-estimator.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/common/protobuf/protobuf-writer.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/common/protobuf/protobuf-writer.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/common/protobuf/utils.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/common/protobuf/utils.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/common/utils.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/common/utils.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/i-serializer.d.cts +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/i-serializer.d.cts.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/i-serializer.d.ts +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/i-serializer.d.ts.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/index.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/logs/internal.cjs +7 -12
- package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/logs/internal.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/logs/json/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/logs/json/index.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/logs/json/logs.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/logs/json/logs.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/index.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/logs-serializer.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/logs-serializer.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/logs.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/logs.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/response-deserializer.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/response-deserializer.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/internal-types.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/internal-types.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/internal.cjs +3 -3
- package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/internal.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/json/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/json/index.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/json/metrics.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/json/metrics.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/protobuf/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/protobuf/index.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/protobuf/metrics-serializer.cjs +2 -2
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/protobuf/metrics-serializer.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/protobuf/metrics.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/protobuf/metrics.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/protobuf/response-deserializer.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/protobuf/response-deserializer.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/trace/internal.cjs +2 -2
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/trace/internal.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/trace/json/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/trace/json/index.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/trace/json/trace.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/trace/json/trace.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/trace/protobuf/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/trace/protobuf/index.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/trace/protobuf/response-deserializer.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/trace/protobuf/response-deserializer.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/trace/protobuf/trace-serializer.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/trace/protobuf/trace-serializer.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/trace/protobuf/trace.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/trace/protobuf/trace.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/InstrumentDescriptor.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/InstrumentDescriptor.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/Instruments.cjs +3 -4
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/Instruments.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/Meter.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/Meter.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/MeterProvider.cjs +4 -1
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/MeterProvider.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/ObservableResult.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/ObservableResult.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Drop.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Drop.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/ExponentialHistogram.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/ExponentialHistogram.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Histogram.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Histogram.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/LastValue.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/LastValue.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Sum.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Sum.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/Buckets.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/Buckets.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/ExponentMapping.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/ExponentMapping.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/LogarithmMapping.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/LogarithmMapping.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/getMapping.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/getMapping.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/ieee754.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/ieee754.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/types.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/types.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/util.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/util.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/index.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/types.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/types.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/AggregationSelector.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/AggregationSelector.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/AggregationTemporality.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/AggregationTemporality.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/ConsoleMetricExporter.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/ConsoleMetricExporter.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/InMemoryMetricExporter.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/InMemoryMetricExporter.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricData.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricData.cjs.map +1 -1
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricDataSplitter.cjs +81 -0
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricDataSplitter.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReader.cjs +18 -1
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReader.cjs.map +1 -0
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReaderMetrics.cjs +48 -0
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReaderMetrics.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/PeriodicExportingMetricReader.cjs +62 -18
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/export/PeriodicExportingMetricReader.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/index.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/index.cjs.map +1 -1
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/semconv.cjs +96 -0
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/semconv.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/state/AsyncMetricStorage.cjs +5 -1
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/state/AsyncMetricStorage.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/state/DeltaMetricProcessor.cjs +6 -4
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/state/DeltaMetricProcessor.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/state/HashMap.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/state/HashMap.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterProviderSharedState.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterProviderSharedState.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterSharedState.cjs +2 -4
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterSharedState.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricCollector.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricCollector.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricStorage.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricStorage.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricStorageRegistry.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricStorageRegistry.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/state/MultiWritableMetricStorage.cjs +5 -1
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/state/MultiWritableMetricStorage.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/state/ObservableRegistry.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/state/ObservableRegistry.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/state/SyncMetricStorage.cjs +6 -3
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/state/SyncMetricStorage.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/state/TemporalMetricProcessor.cjs +1 -1
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/state/TemporalMetricProcessor.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/utils.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/utils.cjs.map +1 -1
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/version.cjs +16 -0
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/version.cjs.map +1 -0
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/view/Aggregation.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/view/Aggregation.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/view/AggregationOption.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/view/AggregationOption.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/view/AttributesProcessor.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/view/AttributesProcessor.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/view/InstrumentSelector.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/view/InstrumentSelector.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/view/MeterSelector.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/view/MeterSelector.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/view/Predicate.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/view/Predicate.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/view/RegistrationConflicts.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/view/RegistrationConflicts.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/view/View.cjs +2 -2
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/view/View.cjs.map +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/view/ViewRegistry.cjs +1 -1
- package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/view/ViewRegistry.cjs.map +1 -1
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace/build/src/inspect.d.cts +2 -0
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace/build/src/inspect.d.ts +2 -0
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace/build/src/sampler/TraceIdRatioBasedSampler.d.cts +1 -0
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace/build/src/sampler/TraceIdRatioBasedSampler.d.ts +1 -0
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace/build/src/types.d.cts +2 -0
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace/build/src/types.d.ts +2 -0
- package/dist/resources/sdkConstants.cjs +1 -1
- package/dist/resources/sdkConstants.cjs.map +1 -1
- package/dist/resources/sdkConstants.d.cts +1 -1
- package/dist/resources/sdkConstants.d.ts +1 -1
- package/dist/resources/sdkConstants.js +1 -1
- package/dist/resources/sdkConstants.js.map +1 -1
- package/dist/resources/types.d.cts +2 -0
- package/dist/resources/types.d.cts.map +1 -1
- package/dist/resources/types.d.ts +2 -0
- package/dist/resources/types.d.ts.map +1 -1
- package/dist/resources/webSdkResource.cjs +5 -2
- package/dist/resources/webSdkResource.cjs.map +1 -1
- package/dist/resources/webSdkResource.d.cts +3 -1
- package/dist/resources/webSdkResource.d.cts.map +1 -1
- package/dist/resources/webSdkResource.d.ts +3 -1
- package/dist/resources/webSdkResource.d.ts.map +1 -1
- package/dist/resources/webSdkResource.js +6 -3
- package/dist/resources/webSdkResource.js.map +1 -1
- package/dist/sdk/initSDK.cjs +23 -6
- package/dist/sdk/initSDK.cjs.map +1 -1
- package/dist/sdk/initSDK.d.cts +2 -0
- package/dist/sdk/initSDK.d.cts.map +1 -1
- package/dist/sdk/initSDK.d.ts +2 -0
- package/dist/sdk/initSDK.d.ts.map +1 -1
- package/dist/sdk/initSDK.js +26 -9
- package/dist/sdk/initSDK.js.map +1 -1
- package/dist/sdk/types.d.cts +13 -0
- package/dist/sdk/types.d.cts.map +1 -1
- package/dist/sdk/types.d.ts +13 -0
- package/dist/sdk/types.d.ts.map +1 -1
- package/dist/sdk/utils.cjs +10 -0
- package/dist/sdk/utils.cjs.map +1 -1
- package/dist/sdk/utils.d.cts +2 -1
- package/dist/sdk/utils.d.cts.map +1 -1
- package/dist/sdk/utils.d.ts +2 -1
- package/dist/sdk/utils.d.ts.map +1 -1
- package/dist/sdk/utils.js +10 -1
- package/dist/sdk/utils.js.map +1 -1
- package/package.json +19 -12
- package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/esm/common/internal.js.map +0 -1
- package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/internal.js.map +0 -1
- package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/common/internal.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/common/protobuf/protobuf-reader.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/logs/internal.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/internal.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/Instruments.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/MeterProvider.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReader.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/export/PeriodicExportingMetricReader.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/state/AsyncMetricStorage.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/state/DeltaMetricProcessor.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterSharedState.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/state/MultiWritableMetricStorage.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/state/SyncMetricStorage.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/state/TemporalMetricProcessor.cjs.map +0 -1
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/types.d.cts +0 -2
- package/dist/node_modules/.pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/types.d.ts +0 -2
- /package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/index.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/index.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/logs/json/index.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/logs/json/index.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/logs/json/logs.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/logs/json/logs.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/index.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/index.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/logs.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/logs.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/json/index.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/json/index.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/json/metrics.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/json/metrics.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/protobuf/index.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/protobuf/index.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/protobuf/metrics.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/protobuf/metrics.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/trace/json/index.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/trace/json/index.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/trace/json/trace.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/trace/json/trace.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/trace/protobuf/index.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/trace/protobuf/index.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/trace/protobuf/trace.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1 → @opentelemetry_otlp-transformer@0.220.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/otlp-transformer/build/src/trace/protobuf/trace.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/InstrumentDescriptor.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/InstrumentDescriptor.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/MeterProvider.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/MeterProvider.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Drop.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Drop.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/ExponentialHistogram.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/ExponentialHistogram.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Histogram.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Histogram.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/LastValue.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/LastValue.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Sum.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Sum.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/index.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/index.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/types.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/types.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/AggregationSelector.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/AggregationSelector.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/CardinalitySelector.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/CardinalitySelector.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/ConsoleMetricExporter.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/ConsoleMetricExporter.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/InMemoryMetricExporter.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/InMemoryMetricExporter.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricData.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricData.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricExporter.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricExporter.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricProducer.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricProducer.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReader.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReader.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/PeriodicExportingMetricReader.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/export/PeriodicExportingMetricReader.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/index.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/index.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/utils.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/utils.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/view/Aggregation.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/view/Aggregation.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/view/AggregationOption.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/view/AggregationOption.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/view/AttributesProcessor.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/view/AttributesProcessor.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/view/InstrumentSelector.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/view/InstrumentSelector.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/view/View.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1 → @opentelemetry_sdk-metrics@2.9.0_@opentelemetry_api@1.9.1}/node_modules/@opentelemetry/sdk-metrics/build/src/view/View.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/Sampler.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/Sampler.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/Span.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/Span.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/SpanProcessor.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/SpanProcessor.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/TimedEvent.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/TimedEvent.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/BasicTracerProvider.d.cts → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace/build/src/TracerProvider.d.cts} +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/BasicTracerProvider.d.ts → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace/build/src/TracerProvider.d.ts} +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/export/BatchSpanProcessorBase.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/export/BatchSpanProcessorBase.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/export/ConsoleSpanExporter.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/export/ConsoleSpanExporter.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/export/InMemorySpanExporter.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/export/InMemorySpanExporter.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/export/NoopSpanProcessor.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/export/NoopSpanProcessor.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/export/ReadableSpan.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/export/ReadableSpan.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/export/SimpleSpanProcessor.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/export/SimpleSpanProcessor.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/export/SpanExporter.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/export/SpanExporter.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/index.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/index.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/platform/index.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/platform/index.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/platform/node/export/BatchSpanProcessor.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/platform/node/export/BatchSpanProcessor.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/platform/node/index.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/platform/node/index.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/sampler/AlwaysOffSampler.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/sampler/AlwaysOffSampler.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/sampler/AlwaysOnSampler.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/sampler/AlwaysOnSampler.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/sampler/TraceIdRatioBasedSampler.d.cts → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace/build/src/sampler/AlwaysRecordSampler.d.cts} +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base/build/src/sampler/TraceIdRatioBasedSampler.d.ts → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace/build/src/sampler/AlwaysRecordSampler.d.ts} +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/sampler/ParentBasedSampler.d.cts +0 -0
- /package/dist/node_modules/.pnpm/{@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace-base → @opentelemetry_sdk-trace@2.9.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-trace}/build/src/sampler/ParentBasedSampler.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":[],"sources":["../../../src/managers/MXLConfigManager/utils.ts"],"sourcesContent":["import type {\n RemoteConfig,\n RemoteConfigURLParams,\n RemoteSessionReplayConfig,\n} from './types';\n\nexport const getApiURL = (apiURL?: string): string =>\n apiURL || 'http://mxl-basket.apps.ocpthikadev01.safaricom.net';\nexport const getOtelCollectorURL = (otelCollectorURL?: string): string =>\n otelCollectorURL || 'http://mxl-otel-collector.apps.ocpthikadev01.safaricom.net';\n\nexport const getConfigURL = (\n appId: string,\n { osVersion, appVersion, deviceId }: RemoteConfigURLParams,\n apiURL?: string,\n): string =>\n `${getApiURL(apiURL)}/config?appId=${appId}&osVersion=${osVersion}&appVersion=${appVersion}&deviceId=${deviceId}`;\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nconst readNumber = (\n record: Record<string, unknown>,\n camelKey: string,\n snakeKey: string,\n): number | undefined => {\n const camelValue = record[camelKey];\n if (typeof camelValue === 'number') {\n return camelValue;\n }\n\n const snakeValue = record[snakeKey];\n if (typeof snakeValue === 'number') {\n return snakeValue;\n }\n\n return undefined;\n};\n\nconst readBoolean = (\n record: Record<string, unknown>,\n camelKey: string,\n snakeKey: string,\n): boolean | undefined => {\n const camelValue = record[camelKey];\n if (typeof camelValue === 'boolean') {\n return camelValue;\n }\n\n const snakeValue = record[snakeKey];\n if (typeof snakeValue === 'boolean') {\n return snakeValue;\n }\n\n return undefined;\n};\n\nconst readString = (\n record: Record<string, unknown>,\n camelKey: string,\n snakeKey: string,\n): string | undefined => {\n const camelValue = record[camelKey];\n if (typeof camelValue === 'string') {\n return camelValue;\n }\n\n const snakeValue = record[snakeKey];\n if (typeof snakeValue === 'string') {\n return snakeValue;\n }\n\n return undefined;\n};\n\nconst normalizeSessionReplay = (\n raw: unknown,\n): RemoteSessionReplayConfig | undefined => {\n if (!isRecord(raw)) {\n return undefined;\n }\n\n const replay: RemoteSessionReplayConfig = {};\n\n const pctEnabled = readNumber(raw, 'pctEnabled', 'pct_enabled');\n if (pctEnabled !== undefined) {\n replay.pctEnabled = pctEnabled;\n }\n\n const sampleRate = readNumber(raw, 'sampleRate', 'sample_rate');\n if (sampleRate !== undefined) {\n replay.sampleRate = sampleRate;\n }\n\n const maskAllInputs = readBoolean(raw, 'maskAllInputs', 'mask_all_inputs');\n if (maskAllInputs !== undefined) {\n replay.maskAllInputs = maskAllInputs;\n }\n\n const maskAllText = readBoolean(raw, 'maskAllText', 'mask_all_text');\n if (maskAllText !== undefined) {\n replay.maskAllText = maskAllText;\n }\n\n const flushIntervalMs = readNumber(\n raw,\n 'flushIntervalMs',\n 'flush_interval_ms',\n );\n if (flushIntervalMs !== undefined) {\n replay.flushIntervalMs = flushIntervalMs;\n }\n\n const omitRedundantInstrumentations = readBoolean(\n raw,\n 'omitRedundantInstrumentations',\n 'omit_redundant_instrumentations',\n );\n if (omitRedundantInstrumentations !== undefined) {\n replay.omitRedundantInstrumentations = omitRedundantInstrumentations;\n }\n\n const debug = readBoolean(raw, 'debug', 'debug');\n if (debug !== undefined) {\n replay.debug = debug;\n }\n\n return Object.keys(replay).length > 0 ? replay : undefined;\n};\n\n/**\n * Normalizes remote config JSON from the API or localStorage into camelCase\n * {@link RemoteConfig}. Accepts legacy snake_case payloads for backward compatibility.\n */\nexport const normalizeStoredRemoteConfig = (raw: unknown): RemoteConfig => {\n if (!isRecord(raw)) {\n throw new TypeError('Remote config must be an object');\n }\n\n const threshold = raw
|
|
1
|
+
{"version":3,"file":"utils.js","names":[],"sources":["../../../src/managers/MXLConfigManager/utils.ts"],"sourcesContent":["import type {\n RemoteConfig,\n RemoteConfigURLParams,\n RemoteSessionReplayConfig,\n} from './types';\n\nexport const getApiURL = (apiURL?: string): string =>\n apiURL || 'http://mxl-basket.apps.ocpthikadev01.safaricom.net';\nexport const getOtelCollectorURL = (otelCollectorURL?: string): string =>\n otelCollectorURL || 'http://mxl-otel-collector.apps.ocpthikadev01.safaricom.net';\n\nexport const getConfigURL = (\n appId: string,\n { osVersion, appVersion, deviceId }: RemoteConfigURLParams,\n apiURL?: string,\n): string =>\n `${getApiURL(apiURL)}/config?appId=${appId}&osVersion=${osVersion}&appVersion=${appVersion}&deviceId=${deviceId}`;\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nconst readNumber = (\n record: Record<string, unknown>,\n camelKey: string,\n snakeKey: string,\n): number | undefined => {\n const camelValue = record[camelKey];\n if (typeof camelValue === 'number') {\n return camelValue;\n }\n\n const snakeValue = record[snakeKey];\n if (typeof snakeValue === 'number') {\n return snakeValue;\n }\n\n return undefined;\n};\n\nconst readBoolean = (\n record: Record<string, unknown>,\n camelKey: string,\n snakeKey: string,\n): boolean | undefined => {\n const camelValue = record[camelKey];\n if (typeof camelValue === 'boolean') {\n return camelValue;\n }\n\n const snakeValue = record[snakeKey];\n if (typeof snakeValue === 'boolean') {\n return snakeValue;\n }\n\n return undefined;\n};\n\nconst readString = (\n record: Record<string, unknown>,\n camelKey: string,\n snakeKey: string,\n): string | undefined => {\n const camelValue = record[camelKey];\n if (typeof camelValue === 'string') {\n return camelValue;\n }\n\n const snakeValue = record[snakeKey];\n if (typeof snakeValue === 'string') {\n return snakeValue;\n }\n\n return undefined;\n};\n\nconst normalizeSessionReplay = (\n raw: unknown,\n): RemoteSessionReplayConfig | undefined => {\n if (!isRecord(raw)) {\n return undefined;\n }\n\n const replay: RemoteSessionReplayConfig = {};\n\n const pctEnabled = readNumber(raw, 'pctEnabled', 'pct_enabled');\n if (pctEnabled !== undefined) {\n replay.pctEnabled = pctEnabled;\n }\n\n const sampleRate = readNumber(raw, 'sampleRate', 'sample_rate');\n if (sampleRate !== undefined) {\n replay.sampleRate = sampleRate;\n }\n\n const maskAllInputs = readBoolean(raw, 'maskAllInputs', 'mask_all_inputs');\n if (maskAllInputs !== undefined) {\n replay.maskAllInputs = maskAllInputs;\n }\n\n const maskAllText = readBoolean(raw, 'maskAllText', 'mask_all_text');\n if (maskAllText !== undefined) {\n replay.maskAllText = maskAllText;\n }\n\n const flushIntervalMs = readNumber(\n raw,\n 'flushIntervalMs',\n 'flush_interval_ms',\n );\n if (flushIntervalMs !== undefined) {\n replay.flushIntervalMs = flushIntervalMs;\n }\n\n const omitRedundantInstrumentations = readBoolean(\n raw,\n 'omitRedundantInstrumentations',\n 'omit_redundant_instrumentations',\n );\n if (omitRedundantInstrumentations !== undefined) {\n replay.omitRedundantInstrumentations = omitRedundantInstrumentations;\n }\n\n const debug = readBoolean(raw, 'debug', 'debug');\n if (debug !== undefined) {\n replay.debug = debug;\n }\n\n return Object.keys(replay).length > 0 ? replay : undefined;\n};\n\n/**\n * Normalizes remote config JSON from the API or localStorage into camelCase\n * {@link RemoteConfig}. Accepts legacy snake_case payloads for backward compatibility.\n */\nexport const normalizeStoredRemoteConfig = (raw: unknown): RemoteConfig => {\n if (!isRecord(raw)) {\n throw new TypeError('Remote config must be an object');\n }\n\n const threshold = raw['threshold'];\n if (typeof threshold !== 'number') {\n throw new TypeError('Remote config threshold must be a number');\n }\n\n const normalized: RemoteConfig = { threshold };\n\n const networkSpanForwardingRaw =\n raw['networkSpanForwarding'] ?? raw['network_span_forwarding'];\n if (isRecord(networkSpanForwardingRaw)) {\n const pctEnabled = readNumber(\n networkSpanForwardingRaw,\n 'pctEnabled',\n 'pct_enabled',\n );\n if (pctEnabled !== undefined) {\n normalized.networkSpanForwarding = { pctEnabled };\n }\n }\n\n const emptySessionAvoidanceEnabledPct = readNumber(\n raw,\n 'emptySessionAvoidanceEnabledPct',\n 'empty_session_avoidance_enabled_pct',\n );\n if (emptySessionAvoidanceEnabledPct !== undefined) {\n normalized.emptySessionAvoidanceEnabledPct =\n emptySessionAvoidanceEnabledPct;\n }\n\n const serviceName = readString(raw, 'serviceName', 'service_name');\n if (serviceName !== undefined) {\n normalized.serviceName = serviceName;\n }\n\n const sessionReplay = normalizeSessionReplay(\n raw['sessionReplay'] ?? raw['session_replay'],\n );\n if (sessionReplay !== undefined) {\n normalized.sessionReplay = sessionReplay;\n }\n\n return normalized;\n};\n"],"mappings":";AAMA,MAAa,aAAa,WACxB,UAAU;AACZ,MAAa,uBAAuB,qBAClC,oBAAoB;AAEtB,MAAa,gBACX,OACA,EAAE,WAAW,YAAY,YACzB,WAEA,GAAG,UAAU,OAAO,CAAC,gBAAgB,MAAM,aAAa,UAAU,cAAc,WAAW,YAAY;AAEzG,MAAM,YAAY,UAChB,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,MAAM;AAEtE,MAAM,cACJ,QACA,UACA,aACuB;CACvB,MAAM,aAAa,OAAO;AAC1B,KAAI,OAAO,eAAe,SACxB,QAAO;CAGT,MAAM,aAAa,OAAO;AAC1B,KAAI,OAAO,eAAe,SACxB,QAAO;;AAMX,MAAM,eACJ,QACA,UACA,aACwB;CACxB,MAAM,aAAa,OAAO;AAC1B,KAAI,OAAO,eAAe,UACxB,QAAO;CAGT,MAAM,aAAa,OAAO;AAC1B,KAAI,OAAO,eAAe,UACxB,QAAO;;AAMX,MAAM,cACJ,QACA,UACA,aACuB;CACvB,MAAM,aAAa,OAAO;AAC1B,KAAI,OAAO,eAAe,SACxB,QAAO;CAGT,MAAM,aAAa,OAAO;AAC1B,KAAI,OAAO,eAAe,SACxB,QAAO;;AAMX,MAAM,0BACJ,QAC0C;AAC1C,KAAI,CAAC,SAAS,IAAI,CAChB;CAGF,MAAM,SAAoC,EAAE;CAE5C,MAAM,aAAa,WAAW,KAAK,cAAc,cAAc;AAC/D,KAAI,eAAe,KAAA,EACjB,QAAO,aAAa;CAGtB,MAAM,aAAa,WAAW,KAAK,cAAc,cAAc;AAC/D,KAAI,eAAe,KAAA,EACjB,QAAO,aAAa;CAGtB,MAAM,gBAAgB,YAAY,KAAK,iBAAiB,kBAAkB;AAC1E,KAAI,kBAAkB,KAAA,EACpB,QAAO,gBAAgB;CAGzB,MAAM,cAAc,YAAY,KAAK,eAAe,gBAAgB;AACpE,KAAI,gBAAgB,KAAA,EAClB,QAAO,cAAc;CAGvB,MAAM,kBAAkB,WACtB,KACA,mBACA,oBACD;AACD,KAAI,oBAAoB,KAAA,EACtB,QAAO,kBAAkB;CAG3B,MAAM,gCAAgC,YACpC,KACA,iCACA,kCACD;AACD,KAAI,kCAAkC,KAAA,EACpC,QAAO,gCAAgC;CAGzC,MAAM,QAAQ,YAAY,KAAK,SAAS,QAAQ;AAChD,KAAI,UAAU,KAAA,EACZ,QAAO,QAAQ;AAGjB,QAAO,OAAO,KAAK,OAAO,CAAC,SAAS,IAAI,SAAS,KAAA;;;;;;AAOnD,MAAa,+BAA+B,QAA+B;AACzE,KAAI,CAAC,SAAS,IAAI,CAChB,OAAM,IAAI,UAAU,kCAAkC;CAGxD,MAAM,YAAY,IAAI;AACtB,KAAI,OAAO,cAAc,SACvB,OAAM,IAAI,UAAU,2CAA2C;CAGjE,MAAM,aAA2B,EAAE,WAAW;CAE9C,MAAM,2BACJ,IAAI,4BAA4B,IAAI;AACtC,KAAI,SAAS,yBAAyB,EAAE;EACtC,MAAM,aAAa,WACjB,0BACA,cACA,cACD;AACD,MAAI,eAAe,KAAA,EACjB,YAAW,wBAAwB,EAAE,YAAY;;CAIrD,MAAM,kCAAkC,WACtC,KACA,mCACA,sCACD;AACD,KAAI,oCAAoC,KAAA,EACtC,YAAW,kCACT;CAGJ,MAAM,cAAc,WAAW,KAAK,eAAe,eAAe;AAClE,KAAI,gBAAgB,KAAA,EAClB,YAAW,cAAc;CAG3B,MAAM,gBAAgB,uBACpB,IAAI,oBAAoB,IAAI,kBAC7B;AACD,KAAI,kBAAkB,KAAA,EACpB,YAAW,gBAAgB;AAG7B,QAAO"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
require("../../_virtual/_rolldown/runtime.cjs");
|
|
3
3
|
const require_utils_generateUUID = require("../../utils/generateUUID.cjs");
|
|
4
|
-
const require_api_users_manager_userConstants = require("../../api-users/manager/userConstants.cjs");
|
|
5
4
|
const require_managers_MXLUserManager_constants = require("./constants.cjs");
|
|
5
|
+
const require_api_users_manager_userConstants = require("../../api-users/manager/userConstants.cjs");
|
|
6
6
|
const require_managers_MXLUserManager_types = require("./types.cjs");
|
|
7
7
|
let _opentelemetry_api = require("@opentelemetry/api");
|
|
8
8
|
//#region src/managers/MXLUserManager/MXLUserManager.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { generateUUID } from "../../utils/generateUUID.js";
|
|
2
|
-
import { KEY_ENDUSER_PSEUDO_ID } from "../../api-users/manager/userConstants.js";
|
|
3
2
|
import { MXL_EXTERNAL_USER_ID_KEY, MXL_USER_ID_STORAGE_KEY, MXL_USER_STORAGE_KEY_DEPRECATED } from "./constants.js";
|
|
3
|
+
import { KEY_ENDUSER_PSEUDO_ID } from "../../api-users/manager/userConstants.js";
|
|
4
4
|
import { isUser, isUserId } from "./types.js";
|
|
5
5
|
import { diag } from "@opentelemetry/api";
|
|
6
6
|
//#region src/managers/MXLUserManager/MXLUserManager.ts
|
|
@@ -3,8 +3,12 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
3
3
|
const MXL_USER_STORAGE_KEY_DEPRECATED = "mxl_user";
|
|
4
4
|
const MXL_USER_ID_STORAGE_KEY = "mxl_user_id";
|
|
5
5
|
const MXL_EXTERNAL_USER_ID_KEY = "mxl_external_user_id";
|
|
6
|
+
const MXL_PROFILE_SNAPSHOT_STORAGE_KEY = "mxl_profile_snapshot";
|
|
7
|
+
const MXL_SESSION_ANALYTICS_PREV_KEY = "mxl_session_analytics_prev";
|
|
6
8
|
//#endregion
|
|
7
9
|
exports.MXL_EXTERNAL_USER_ID_KEY = MXL_EXTERNAL_USER_ID_KEY;
|
|
10
|
+
exports.MXL_PROFILE_SNAPSHOT_STORAGE_KEY = MXL_PROFILE_SNAPSHOT_STORAGE_KEY;
|
|
11
|
+
exports.MXL_SESSION_ANALYTICS_PREV_KEY = MXL_SESSION_ANALYTICS_PREV_KEY;
|
|
8
12
|
exports.MXL_USER_ID_STORAGE_KEY = MXL_USER_ID_STORAGE_KEY;
|
|
9
13
|
exports.MXL_USER_STORAGE_KEY_DEPRECATED = MXL_USER_STORAGE_KEY_DEPRECATED;
|
|
10
14
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.cjs","names":[],"sources":["../../../src/managers/MXLUserManager/constants.ts"],"sourcesContent":["export const MXL_USER_STORAGE_KEY_DEPRECATED = 'mxl_user';\nexport const MXL_USER_ID_STORAGE_KEY = 'mxl_user_id';\nexport const MXL_EXTERNAL_USER_ID_KEY = 'mxl_external_user_id';\n"],"mappings":";;AAAA,MAAa,kCAAkC;AAC/C,MAAa,0BAA0B;AACvC,MAAa,2BAA2B"}
|
|
1
|
+
{"version":3,"file":"constants.cjs","names":[],"sources":["../../../src/managers/MXLUserManager/constants.ts"],"sourcesContent":["export const MXL_USER_STORAGE_KEY_DEPRECATED = 'mxl_user';\nexport const MXL_USER_ID_STORAGE_KEY = 'mxl_user_id';\nexport const MXL_EXTERNAL_USER_ID_KEY = 'mxl_external_user_id';\nexport const MXL_PROFILE_SNAPSHOT_STORAGE_KEY = 'mxl_profile_snapshot';\nexport const MXL_SESSION_ANALYTICS_PREV_KEY = 'mxl_session_analytics_prev';\n"],"mappings":";;AAAA,MAAa,kCAAkC;AAC/C,MAAa,0BAA0B;AACvC,MAAa,2BAA2B;AACxC,MAAa,mCAAmC;AAChD,MAAa,iCAAiC"}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
declare const MXL_USER_STORAGE_KEY_DEPRECATED = "mxl_user";
|
|
3
3
|
declare const MXL_USER_ID_STORAGE_KEY = "mxl_user_id";
|
|
4
4
|
declare const MXL_EXTERNAL_USER_ID_KEY = "mxl_external_user_id";
|
|
5
|
+
declare const MXL_PROFILE_SNAPSHOT_STORAGE_KEY = "mxl_profile_snapshot";
|
|
6
|
+
declare const MXL_SESSION_ANALYTICS_PREV_KEY = "mxl_session_analytics_prev";
|
|
5
7
|
//#endregion
|
|
6
|
-
export { MXL_EXTERNAL_USER_ID_KEY, MXL_USER_ID_STORAGE_KEY, MXL_USER_STORAGE_KEY_DEPRECATED };
|
|
8
|
+
export { MXL_EXTERNAL_USER_ID_KEY, MXL_PROFILE_SNAPSHOT_STORAGE_KEY, MXL_SESSION_ANALYTICS_PREV_KEY, MXL_USER_ID_STORAGE_KEY, MXL_USER_STORAGE_KEY_DEPRECATED };
|
|
7
9
|
//# sourceMappingURL=constants.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.cts","names":[],"sources":["../../../src/managers/MXLUserManager/constants.ts"],"mappings":";cAAa,+BAAA;AAAA,cACA,uBAAA;AAAA,cACA,wBAAA"}
|
|
1
|
+
{"version":3,"file":"constants.d.cts","names":[],"sources":["../../../src/managers/MXLUserManager/constants.ts"],"mappings":";cAAa,+BAAA;AAAA,cACA,uBAAA;AAAA,cACA,wBAAA;AAAA,cACA,gCAAA;AAAA,cACA,8BAAA"}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
declare const MXL_USER_STORAGE_KEY_DEPRECATED = "mxl_user";
|
|
3
3
|
declare const MXL_USER_ID_STORAGE_KEY = "mxl_user_id";
|
|
4
4
|
declare const MXL_EXTERNAL_USER_ID_KEY = "mxl_external_user_id";
|
|
5
|
+
declare const MXL_PROFILE_SNAPSHOT_STORAGE_KEY = "mxl_profile_snapshot";
|
|
6
|
+
declare const MXL_SESSION_ANALYTICS_PREV_KEY = "mxl_session_analytics_prev";
|
|
5
7
|
//#endregion
|
|
6
|
-
export { MXL_EXTERNAL_USER_ID_KEY, MXL_USER_ID_STORAGE_KEY, MXL_USER_STORAGE_KEY_DEPRECATED };
|
|
8
|
+
export { MXL_EXTERNAL_USER_ID_KEY, MXL_PROFILE_SNAPSHOT_STORAGE_KEY, MXL_SESSION_ANALYTICS_PREV_KEY, MXL_USER_ID_STORAGE_KEY, MXL_USER_STORAGE_KEY_DEPRECATED };
|
|
7
9
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","names":[],"sources":["../../../src/managers/MXLUserManager/constants.ts"],"mappings":";cAAa,+BAAA;AAAA,cACA,uBAAA;AAAA,cACA,wBAAA"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","names":[],"sources":["../../../src/managers/MXLUserManager/constants.ts"],"mappings":";cAAa,+BAAA;AAAA,cACA,uBAAA;AAAA,cACA,wBAAA;AAAA,cACA,gCAAA;AAAA,cACA,8BAAA"}
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
const MXL_USER_STORAGE_KEY_DEPRECATED = "mxl_user";
|
|
3
3
|
const MXL_USER_ID_STORAGE_KEY = "mxl_user_id";
|
|
4
4
|
const MXL_EXTERNAL_USER_ID_KEY = "mxl_external_user_id";
|
|
5
|
+
const MXL_PROFILE_SNAPSHOT_STORAGE_KEY = "mxl_profile_snapshot";
|
|
6
|
+
const MXL_SESSION_ANALYTICS_PREV_KEY = "mxl_session_analytics_prev";
|
|
5
7
|
//#endregion
|
|
6
|
-
export { MXL_EXTERNAL_USER_ID_KEY, MXL_USER_ID_STORAGE_KEY, MXL_USER_STORAGE_KEY_DEPRECATED };
|
|
8
|
+
export { MXL_EXTERNAL_USER_ID_KEY, MXL_PROFILE_SNAPSHOT_STORAGE_KEY, MXL_SESSION_ANALYTICS_PREV_KEY, MXL_USER_ID_STORAGE_KEY, MXL_USER_STORAGE_KEY_DEPRECATED };
|
|
7
9
|
|
|
8
10
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":[],"sources":["../../../src/managers/MXLUserManager/constants.ts"],"sourcesContent":["export const MXL_USER_STORAGE_KEY_DEPRECATED = 'mxl_user';\nexport const MXL_USER_ID_STORAGE_KEY = 'mxl_user_id';\nexport const MXL_EXTERNAL_USER_ID_KEY = 'mxl_external_user_id';\n"],"mappings":";AAAA,MAAa,kCAAkC;AAC/C,MAAa,0BAA0B;AACvC,MAAa,2BAA2B"}
|
|
1
|
+
{"version":3,"file":"constants.js","names":[],"sources":["../../../src/managers/MXLUserManager/constants.ts"],"sourcesContent":["export const MXL_USER_STORAGE_KEY_DEPRECATED = 'mxl_user';\nexport const MXL_USER_ID_STORAGE_KEY = 'mxl_user_id';\nexport const MXL_EXTERNAL_USER_ID_KEY = 'mxl_external_user_id';\nexport const MXL_PROFILE_SNAPSHOT_STORAGE_KEY = 'mxl_profile_snapshot';\nexport const MXL_SESSION_ANALYTICS_PREV_KEY = 'mxl_session_analytics_prev';\n"],"mappings":";AAAA,MAAa,kCAAkC;AAC/C,MAAa,0BAA0B;AACvC,MAAa,2BAA2B;AACxC,MAAa,mCAAmC;AAChD,MAAa,iCAAiC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_managers_MXLUserManager_constants = require("./constants.cjs");
|
|
3
|
+
//#region src/managers/MXLUserManager/profileSnapshot.ts
|
|
4
|
+
const EMPTY_SNAPSHOT = () => ({
|
|
5
|
+
avatar: "",
|
|
6
|
+
email: "",
|
|
7
|
+
firstName: "",
|
|
8
|
+
lastName: "",
|
|
9
|
+
profileId: "",
|
|
10
|
+
properties: {}
|
|
11
|
+
});
|
|
12
|
+
function loadProfileSnapshot(storage) {
|
|
13
|
+
try {
|
|
14
|
+
const raw = storage.getItem(require_managers_MXLUserManager_constants.MXL_PROFILE_SNAPSHOT_STORAGE_KEY);
|
|
15
|
+
if (!raw) return null;
|
|
16
|
+
const parsed = JSON.parse(raw);
|
|
17
|
+
if (typeof parsed === "object" && parsed !== null && typeof parsed.profileId === "string") return parsed;
|
|
18
|
+
} catch {}
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
function saveProfileSnapshot(storage, snapshot) {
|
|
22
|
+
try {
|
|
23
|
+
storage.setItem(require_managers_MXLUserManager_constants.MXL_PROFILE_SNAPSHOT_STORAGE_KEY, JSON.stringify(snapshot));
|
|
24
|
+
return true;
|
|
25
|
+
} catch {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function clearProfileSnapshot(storage) {
|
|
30
|
+
try {
|
|
31
|
+
storage.removeItem(require_managers_MXLUserManager_constants.MXL_PROFILE_SNAPSHOT_STORAGE_KEY);
|
|
32
|
+
} catch {}
|
|
33
|
+
}
|
|
34
|
+
function mergeProfileSnapshot(existing, patch) {
|
|
35
|
+
const base = existing ?? EMPTY_SNAPSHOT();
|
|
36
|
+
const mergedProperties = {
|
|
37
|
+
...base.properties,
|
|
38
|
+
...patch.properties ?? {}
|
|
39
|
+
};
|
|
40
|
+
return {
|
|
41
|
+
avatar: patch.avatar !== void 0 ? patch.avatar : base.avatar,
|
|
42
|
+
email: patch.email !== void 0 ? patch.email : base.email,
|
|
43
|
+
firstName: patch.firstName !== void 0 ? patch.firstName : base.firstName,
|
|
44
|
+
lastName: patch.lastName !== void 0 ? patch.lastName : base.lastName,
|
|
45
|
+
profileId: patch.profileId,
|
|
46
|
+
properties: mergedProperties
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function snapshotToEventProperties(snapshot) {
|
|
50
|
+
const props = { ...snapshot.properties };
|
|
51
|
+
if (snapshot.firstName) props.first_name = snapshot.firstName;
|
|
52
|
+
if (snapshot.lastName) props.last_name = snapshot.lastName;
|
|
53
|
+
if (snapshot.email) props.email = snapshot.email;
|
|
54
|
+
if (snapshot.avatar) props.avatar = snapshot.avatar;
|
|
55
|
+
return props;
|
|
56
|
+
}
|
|
57
|
+
//#endregion
|
|
58
|
+
exports.clearProfileSnapshot = clearProfileSnapshot;
|
|
59
|
+
exports.loadProfileSnapshot = loadProfileSnapshot;
|
|
60
|
+
exports.mergeProfileSnapshot = mergeProfileSnapshot;
|
|
61
|
+
exports.saveProfileSnapshot = saveProfileSnapshot;
|
|
62
|
+
exports.snapshotToEventProperties = snapshotToEventProperties;
|
|
63
|
+
|
|
64
|
+
//# sourceMappingURL=profileSnapshot.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profileSnapshot.cjs","names":["MXL_PROFILE_SNAPSHOT_STORAGE_KEY"],"sources":["../../../src/managers/MXLUserManager/profileSnapshot.ts"],"sourcesContent":["import { MXL_PROFILE_SNAPSHOT_STORAGE_KEY } from './constants';\n\nexport interface ProfileSnapshot {\n profileId: string;\n firstName: string;\n lastName: string;\n email: string;\n avatar: string;\n properties: Record<string, string>;\n}\n\nconst EMPTY_SNAPSHOT = (): ProfileSnapshot => ({\n avatar: '',\n email: '',\n firstName: '',\n lastName: '',\n profileId: '',\n properties: {},\n});\n\nexport function loadProfileSnapshot(storage: Storage): ProfileSnapshot | null {\n try {\n const raw = storage.getItem(MXL_PROFILE_SNAPSHOT_STORAGE_KEY);\n if (!raw) {\n return null;\n }\n const parsed: unknown = JSON.parse(raw);\n if (\n typeof parsed === 'object' &&\n parsed !== null &&\n typeof (parsed as ProfileSnapshot).profileId === 'string'\n ) {\n return parsed as ProfileSnapshot;\n }\n } catch {\n // ignore corrupt snapshot\n }\n return null;\n}\n\nexport function saveProfileSnapshot(\n storage: Storage,\n snapshot: ProfileSnapshot,\n): boolean {\n try {\n storage.setItem(MXL_PROFILE_SNAPSHOT_STORAGE_KEY, JSON.stringify(snapshot));\n return true;\n } catch {\n return false;\n }\n}\n\nexport function clearProfileSnapshot(storage: Storage): void {\n try {\n storage.removeItem(MXL_PROFILE_SNAPSHOT_STORAGE_KEY);\n } catch {\n // ignore\n }\n}\n\nexport function mergeProfileSnapshot(\n existing: ProfileSnapshot | null,\n patch: Partial<ProfileSnapshot> & { profileId: string },\n): ProfileSnapshot {\n const base = existing ?? EMPTY_SNAPSHOT();\n const mergedProperties = {\n ...base.properties,\n ...(patch.properties ?? {}),\n };\n\n return {\n avatar: patch.avatar !== undefined ? patch.avatar : base.avatar,\n email: patch.email !== undefined ? patch.email : base.email,\n firstName:\n patch.firstName !== undefined ? patch.firstName : base.firstName,\n lastName: patch.lastName !== undefined ? patch.lastName : base.lastName,\n profileId: patch.profileId,\n properties: mergedProperties,\n };\n}\n\nexport function snapshotToEventProperties(\n snapshot: ProfileSnapshot,\n): Record<string, string> {\n const props: Record<string, string> = { ...snapshot.properties };\n if (snapshot.firstName) {\n props.first_name = snapshot.firstName;\n }\n if (snapshot.lastName) {\n props.last_name = snapshot.lastName;\n }\n if (snapshot.email) {\n props.email = snapshot.email;\n }\n if (snapshot.avatar) {\n props.avatar = snapshot.avatar;\n }\n return props;\n}\n"],"mappings":";;;AAWA,MAAM,wBAAyC;CAC7C,QAAQ;CACR,OAAO;CACP,WAAW;CACX,UAAU;CACV,WAAW;CACX,YAAY,EAAE;CACf;AAED,SAAgB,oBAAoB,SAA0C;AAC5E,KAAI;EACF,MAAM,MAAM,QAAQ,QAAQA,0CAAAA,iCAAiC;AAC7D,MAAI,CAAC,IACH,QAAO;EAET,MAAM,SAAkB,KAAK,MAAM,IAAI;AACvC,MACE,OAAO,WAAW,YAClB,WAAW,QACX,OAAQ,OAA2B,cAAc,SAEjD,QAAO;SAEH;AAGR,QAAO;;AAGT,SAAgB,oBACd,SACA,UACS;AACT,KAAI;AACF,UAAQ,QAAQA,0CAAAA,kCAAkC,KAAK,UAAU,SAAS,CAAC;AAC3E,SAAO;SACD;AACN,SAAO;;;AAIX,SAAgB,qBAAqB,SAAwB;AAC3D,KAAI;AACF,UAAQ,WAAWA,0CAAAA,iCAAiC;SAC9C;;AAKV,SAAgB,qBACd,UACA,OACiB;CACjB,MAAM,OAAO,YAAY,gBAAgB;CACzC,MAAM,mBAAmB;EACvB,GAAG,KAAK;EACR,GAAI,MAAM,cAAc,EAAE;EAC3B;AAED,QAAO;EACL,QAAQ,MAAM,WAAW,KAAA,IAAY,MAAM,SAAS,KAAK;EACzD,OAAO,MAAM,UAAU,KAAA,IAAY,MAAM,QAAQ,KAAK;EACtD,WACE,MAAM,cAAc,KAAA,IAAY,MAAM,YAAY,KAAK;EACzD,UAAU,MAAM,aAAa,KAAA,IAAY,MAAM,WAAW,KAAK;EAC/D,WAAW,MAAM;EACjB,YAAY;EACb;;AAGH,SAAgB,0BACd,UACwB;CACxB,MAAM,QAAgC,EAAE,GAAG,SAAS,YAAY;AAChE,KAAI,SAAS,UACX,OAAM,aAAa,SAAS;AAE9B,KAAI,SAAS,SACX,OAAM,YAAY,SAAS;AAE7B,KAAI,SAAS,MACX,OAAM,QAAQ,SAAS;AAEzB,KAAI,SAAS,OACX,OAAM,SAAS,SAAS;AAE1B,QAAO"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region src/managers/MXLUserManager/profileSnapshot.d.ts
|
|
2
|
+
interface ProfileSnapshot {
|
|
3
|
+
profileId: string;
|
|
4
|
+
firstName: string;
|
|
5
|
+
lastName: string;
|
|
6
|
+
email: string;
|
|
7
|
+
avatar: string;
|
|
8
|
+
properties: Record<string, string>;
|
|
9
|
+
}
|
|
10
|
+
declare function loadProfileSnapshot(storage: Storage): ProfileSnapshot | null;
|
|
11
|
+
declare function saveProfileSnapshot(storage: Storage, snapshot: ProfileSnapshot): boolean;
|
|
12
|
+
declare function clearProfileSnapshot(storage: Storage): void;
|
|
13
|
+
declare function mergeProfileSnapshot(existing: ProfileSnapshot | null, patch: Partial<ProfileSnapshot> & {
|
|
14
|
+
profileId: string;
|
|
15
|
+
}): ProfileSnapshot;
|
|
16
|
+
declare function snapshotToEventProperties(snapshot: ProfileSnapshot): Record<string, string>;
|
|
17
|
+
//#endregion
|
|
18
|
+
export { ProfileSnapshot, clearProfileSnapshot, loadProfileSnapshot, mergeProfileSnapshot, saveProfileSnapshot, snapshotToEventProperties };
|
|
19
|
+
//# sourceMappingURL=profileSnapshot.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profileSnapshot.d.cts","names":[],"sources":["../../../src/managers/MXLUserManager/profileSnapshot.ts"],"mappings":";UAEiB,eAAA;EACf,SAAA;EACA,SAAA;EACA,QAAA;EACA,KAAA;EACA,MAAA;EACA,UAAA,EAAY,MAAA;AAAA;AAAA,iBAYE,mBAAA,CAAoB,OAAA,EAAS,OAAA,GAAU,eAAA;AAAA,iBAoBvC,mBAAA,CACd,OAAA,EAAS,OAAA,EACT,QAAA,EAAU,eAAA;AAAA,iBAUI,oBAAA,CAAqB,OAAA,EAAS,OAAA;AAAA,iBAQ9B,oBAAA,CACd,QAAA,EAAU,eAAA,SACV,KAAA,EAAO,OAAA,CAAQ,eAAA;EAAqB,SAAA;AAAA,IACnC,eAAA;AAAA,iBAkBa,yBAAA,CACd,QAAA,EAAU,eAAA,GACT,MAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region src/managers/MXLUserManager/profileSnapshot.d.ts
|
|
2
|
+
interface ProfileSnapshot {
|
|
3
|
+
profileId: string;
|
|
4
|
+
firstName: string;
|
|
5
|
+
lastName: string;
|
|
6
|
+
email: string;
|
|
7
|
+
avatar: string;
|
|
8
|
+
properties: Record<string, string>;
|
|
9
|
+
}
|
|
10
|
+
declare function loadProfileSnapshot(storage: Storage): ProfileSnapshot | null;
|
|
11
|
+
declare function saveProfileSnapshot(storage: Storage, snapshot: ProfileSnapshot): boolean;
|
|
12
|
+
declare function clearProfileSnapshot(storage: Storage): void;
|
|
13
|
+
declare function mergeProfileSnapshot(existing: ProfileSnapshot | null, patch: Partial<ProfileSnapshot> & {
|
|
14
|
+
profileId: string;
|
|
15
|
+
}): ProfileSnapshot;
|
|
16
|
+
declare function snapshotToEventProperties(snapshot: ProfileSnapshot): Record<string, string>;
|
|
17
|
+
//#endregion
|
|
18
|
+
export { ProfileSnapshot, clearProfileSnapshot, loadProfileSnapshot, mergeProfileSnapshot, saveProfileSnapshot, snapshotToEventProperties };
|
|
19
|
+
//# sourceMappingURL=profileSnapshot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profileSnapshot.d.ts","names":[],"sources":["../../../src/managers/MXLUserManager/profileSnapshot.ts"],"mappings":";UAEiB,eAAA;EACf,SAAA;EACA,SAAA;EACA,QAAA;EACA,KAAA;EACA,MAAA;EACA,UAAA,EAAY,MAAA;AAAA;AAAA,iBAYE,mBAAA,CAAoB,OAAA,EAAS,OAAA,GAAU,eAAA;AAAA,iBAoBvC,mBAAA,CACd,OAAA,EAAS,OAAA,EACT,QAAA,EAAU,eAAA;AAAA,iBAUI,oBAAA,CAAqB,OAAA,EAAS,OAAA;AAAA,iBAQ9B,oBAAA,CACd,QAAA,EAAU,eAAA,SACV,KAAA,EAAO,OAAA,CAAQ,eAAA;EAAqB,SAAA;AAAA,IACnC,eAAA;AAAA,iBAkBa,yBAAA,CACd,QAAA,EAAU,eAAA,GACT,MAAA"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { MXL_PROFILE_SNAPSHOT_STORAGE_KEY } from "./constants.js";
|
|
2
|
+
//#region src/managers/MXLUserManager/profileSnapshot.ts
|
|
3
|
+
const EMPTY_SNAPSHOT = () => ({
|
|
4
|
+
avatar: "",
|
|
5
|
+
email: "",
|
|
6
|
+
firstName: "",
|
|
7
|
+
lastName: "",
|
|
8
|
+
profileId: "",
|
|
9
|
+
properties: {}
|
|
10
|
+
});
|
|
11
|
+
function loadProfileSnapshot(storage) {
|
|
12
|
+
try {
|
|
13
|
+
const raw = storage.getItem(MXL_PROFILE_SNAPSHOT_STORAGE_KEY);
|
|
14
|
+
if (!raw) return null;
|
|
15
|
+
const parsed = JSON.parse(raw);
|
|
16
|
+
if (typeof parsed === "object" && parsed !== null && typeof parsed.profileId === "string") return parsed;
|
|
17
|
+
} catch {}
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
function saveProfileSnapshot(storage, snapshot) {
|
|
21
|
+
try {
|
|
22
|
+
storage.setItem(MXL_PROFILE_SNAPSHOT_STORAGE_KEY, JSON.stringify(snapshot));
|
|
23
|
+
return true;
|
|
24
|
+
} catch {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function clearProfileSnapshot(storage) {
|
|
29
|
+
try {
|
|
30
|
+
storage.removeItem(MXL_PROFILE_SNAPSHOT_STORAGE_KEY);
|
|
31
|
+
} catch {}
|
|
32
|
+
}
|
|
33
|
+
function mergeProfileSnapshot(existing, patch) {
|
|
34
|
+
const base = existing ?? EMPTY_SNAPSHOT();
|
|
35
|
+
const mergedProperties = {
|
|
36
|
+
...base.properties,
|
|
37
|
+
...patch.properties ?? {}
|
|
38
|
+
};
|
|
39
|
+
return {
|
|
40
|
+
avatar: patch.avatar !== void 0 ? patch.avatar : base.avatar,
|
|
41
|
+
email: patch.email !== void 0 ? patch.email : base.email,
|
|
42
|
+
firstName: patch.firstName !== void 0 ? patch.firstName : base.firstName,
|
|
43
|
+
lastName: patch.lastName !== void 0 ? patch.lastName : base.lastName,
|
|
44
|
+
profileId: patch.profileId,
|
|
45
|
+
properties: mergedProperties
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
function snapshotToEventProperties(snapshot) {
|
|
49
|
+
const props = { ...snapshot.properties };
|
|
50
|
+
if (snapshot.firstName) props.first_name = snapshot.firstName;
|
|
51
|
+
if (snapshot.lastName) props.last_name = snapshot.lastName;
|
|
52
|
+
if (snapshot.email) props.email = snapshot.email;
|
|
53
|
+
if (snapshot.avatar) props.avatar = snapshot.avatar;
|
|
54
|
+
return props;
|
|
55
|
+
}
|
|
56
|
+
//#endregion
|
|
57
|
+
export { clearProfileSnapshot, loadProfileSnapshot, mergeProfileSnapshot, saveProfileSnapshot, snapshotToEventProperties };
|
|
58
|
+
|
|
59
|
+
//# sourceMappingURL=profileSnapshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profileSnapshot.js","names":[],"sources":["../../../src/managers/MXLUserManager/profileSnapshot.ts"],"sourcesContent":["import { MXL_PROFILE_SNAPSHOT_STORAGE_KEY } from './constants';\n\nexport interface ProfileSnapshot {\n profileId: string;\n firstName: string;\n lastName: string;\n email: string;\n avatar: string;\n properties: Record<string, string>;\n}\n\nconst EMPTY_SNAPSHOT = (): ProfileSnapshot => ({\n avatar: '',\n email: '',\n firstName: '',\n lastName: '',\n profileId: '',\n properties: {},\n});\n\nexport function loadProfileSnapshot(storage: Storage): ProfileSnapshot | null {\n try {\n const raw = storage.getItem(MXL_PROFILE_SNAPSHOT_STORAGE_KEY);\n if (!raw) {\n return null;\n }\n const parsed: unknown = JSON.parse(raw);\n if (\n typeof parsed === 'object' &&\n parsed !== null &&\n typeof (parsed as ProfileSnapshot).profileId === 'string'\n ) {\n return parsed as ProfileSnapshot;\n }\n } catch {\n // ignore corrupt snapshot\n }\n return null;\n}\n\nexport function saveProfileSnapshot(\n storage: Storage,\n snapshot: ProfileSnapshot,\n): boolean {\n try {\n storage.setItem(MXL_PROFILE_SNAPSHOT_STORAGE_KEY, JSON.stringify(snapshot));\n return true;\n } catch {\n return false;\n }\n}\n\nexport function clearProfileSnapshot(storage: Storage): void {\n try {\n storage.removeItem(MXL_PROFILE_SNAPSHOT_STORAGE_KEY);\n } catch {\n // ignore\n }\n}\n\nexport function mergeProfileSnapshot(\n existing: ProfileSnapshot | null,\n patch: Partial<ProfileSnapshot> & { profileId: string },\n): ProfileSnapshot {\n const base = existing ?? EMPTY_SNAPSHOT();\n const mergedProperties = {\n ...base.properties,\n ...(patch.properties ?? {}),\n };\n\n return {\n avatar: patch.avatar !== undefined ? patch.avatar : base.avatar,\n email: patch.email !== undefined ? patch.email : base.email,\n firstName:\n patch.firstName !== undefined ? patch.firstName : base.firstName,\n lastName: patch.lastName !== undefined ? patch.lastName : base.lastName,\n profileId: patch.profileId,\n properties: mergedProperties,\n };\n}\n\nexport function snapshotToEventProperties(\n snapshot: ProfileSnapshot,\n): Record<string, string> {\n const props: Record<string, string> = { ...snapshot.properties };\n if (snapshot.firstName) {\n props.first_name = snapshot.firstName;\n }\n if (snapshot.lastName) {\n props.last_name = snapshot.lastName;\n }\n if (snapshot.email) {\n props.email = snapshot.email;\n }\n if (snapshot.avatar) {\n props.avatar = snapshot.avatar;\n }\n return props;\n}\n"],"mappings":";;AAWA,MAAM,wBAAyC;CAC7C,QAAQ;CACR,OAAO;CACP,WAAW;CACX,UAAU;CACV,WAAW;CACX,YAAY,EAAE;CACf;AAED,SAAgB,oBAAoB,SAA0C;AAC5E,KAAI;EACF,MAAM,MAAM,QAAQ,QAAQ,iCAAiC;AAC7D,MAAI,CAAC,IACH,QAAO;EAET,MAAM,SAAkB,KAAK,MAAM,IAAI;AACvC,MACE,OAAO,WAAW,YAClB,WAAW,QACX,OAAQ,OAA2B,cAAc,SAEjD,QAAO;SAEH;AAGR,QAAO;;AAGT,SAAgB,oBACd,SACA,UACS;AACT,KAAI;AACF,UAAQ,QAAQ,kCAAkC,KAAK,UAAU,SAAS,CAAC;AAC3E,SAAO;SACD;AACN,SAAO;;;AAIX,SAAgB,qBAAqB,SAAwB;AAC3D,KAAI;AACF,UAAQ,WAAW,iCAAiC;SAC9C;;AAKV,SAAgB,qBACd,UACA,OACiB;CACjB,MAAM,OAAO,YAAY,gBAAgB;CACzC,MAAM,mBAAmB;EACvB,GAAG,KAAK;EACR,GAAI,MAAM,cAAc,EAAE;EAC3B;AAED,QAAO;EACL,QAAQ,MAAM,WAAW,KAAA,IAAY,MAAM,SAAS,KAAK;EACzD,OAAO,MAAM,UAAU,KAAA,IAAY,MAAM,QAAQ,KAAK;EACtD,WACE,MAAM,cAAc,KAAA,IAAY,MAAM,YAAY,KAAK;EACzD,UAAU,MAAM,aAAa,KAAA,IAAY,MAAM,WAAW,KAAK;EAC/D,WAAW,MAAM;EACjB,YAAY;EACb;;AAGH,SAAgB,0BACd,UACwB;CACxB,MAAM,QAAgC,EAAE,GAAG,SAAS,YAAY;AAChE,KAAI,SAAS,UACX,OAAM,aAAa,SAAS;AAE9B,KAAI,SAAS,SACX,OAAM,YAAY,SAAS;AAE7B,KAAI,SAAS,MACX,OAAM,QAAQ,SAAS;AAEzB,KAAI,SAAS,OACX,OAAM,SAAS,SAAS;AAE1B,QAAO"}
|
|
@@ -56,6 +56,7 @@ var MXLUserSessionManager = class MXLUserSessionManager {
|
|
|
56
56
|
_tab;
|
|
57
57
|
_navigationSource;
|
|
58
58
|
_referrerScrubbedUrl;
|
|
59
|
+
_analyticsManager = null;
|
|
59
60
|
constructor({ config, diag: diagParam, perf, visibilityDoc, storage, limitManager, target = window, activityThrottleMs = require_managers_MXLUserSessionManager_constants.DEFAULT_ACTIVITY_THROTTLE_MS, activityEvents = require_managers_MXLUserSessionManager_constants.DEFAULT_ACTIVITY_EVENTS, tabStorage, referrer = typeof document !== "undefined" ? document.referrer : "", navigationPerformance = typeof window !== "undefined" ? window.performance : { getEntriesByType: () => [] } }) {
|
|
60
61
|
this._diag = diagParam ?? _opentelemetry_api.diag.createComponentLogger({ namespace: "MXLUserSessionManager" });
|
|
61
62
|
this._perf = perf;
|
|
@@ -120,6 +121,9 @@ var MXLUserSessionManager = class MXLUserSessionManager {
|
|
|
120
121
|
recordSDKStartupDuration(duration) {
|
|
121
122
|
this._sdkStartupDuration = Math.ceil(duration);
|
|
122
123
|
}
|
|
124
|
+
setAnalyticsManager(manager) {
|
|
125
|
+
this._analyticsManager = manager;
|
|
126
|
+
}
|
|
123
127
|
getUserSessionId() {
|
|
124
128
|
return this._state?.userSessionId ?? null;
|
|
125
129
|
}
|
|
@@ -228,6 +232,10 @@ var MXLUserSessionManager = class MXLUserSessionManager {
|
|
|
228
232
|
endAttrs[require_constants_attributes.KEY_MXL_IS_FINAL_SESSION_PART] = 1;
|
|
229
233
|
if (userSessionEndReason) endAttrs[require_constants_attributes.KEY_MXL_USER_SESSION_TERMINATION_REASON] = userSessionEndReason;
|
|
230
234
|
}
|
|
235
|
+
if (this._analyticsManager) {
|
|
236
|
+
Object.assign(endAttrs, this._analyticsManager.buildSessionPartAnalyticsAttributes());
|
|
237
|
+
this._analyticsManager.finalizeSessionPartAnalytics();
|
|
238
|
+
}
|
|
231
239
|
const propertyAttrs = {};
|
|
232
240
|
for (const [bareKey, value] of Object.entries(this.getSessionPartProperties())) propertyAttrs[require_constants_attributes.KEY_PREFIX_MXL_PROPERTIES + bareKey] = value;
|
|
233
241
|
try {
|
|
@@ -351,6 +359,7 @@ var MXLUserSessionManager = class MXLUserSessionManager {
|
|
|
351
359
|
userSessionNumber
|
|
352
360
|
});
|
|
353
361
|
created = true;
|
|
362
|
+
this._analyticsManager?.resetSessionAnalyticsForNewUserSession();
|
|
354
363
|
}
|
|
355
364
|
if (created || this._maxDurationTimeout === null) this._setupMaxDurationTimer(state, now);
|
|
356
365
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MXLUserSessionManager.cjs","names":["DEFAULT_ACTIVITY_THROTTLE_MS","DEFAULT_ACTIVITY_EVENTS","diag","readPermanentProperties","trace","throttle","clampNumber","DEFAULT_USER_SESSION_MAX_DURATION_SECONDS","MAX_USER_SESSION_MAX_DURATION_SECONDS","MIN_USER_SESSION_MAX_DURATION_SECONDS","DEFAULT_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS","MAX_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS","initTabContext","KEY_MXL_USER_SESSION_ID","ATTR_SESSION_ID","KEY_MXL_USER_SESSION_PREVIOUS_ID","ATTR_SESSION_PREVIOUS_ID","KEY_MXL_USER_SESSION_NUMBER","KEY_MXL_USER_SESSION_PART_INDEX","KEY_MXL_SESSION_PART_NUMBER","KEY_MXL_USER_SESSION_START_TS","KEY_MXL_USER_SESSION_MAX_DURATION_SECONDS","KEY_MXL_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS","MXL_LAST_END_USER_SESSION_TS_KEY","getVisibilityState","generateUUID","KEY_MXL_TYPE","KEY_MXL_STATE","KEY_MXL_SESSION_PART_ID","KEY_MXL_SESSION_PART_START_REASON","KEY_MXL_COLD_START","KEY_MXL_EXPERIENCE_ID","KEY_MXL_TAB_ID","KEY_MXL_NAVIGATION_SOURCE","KEY_MXL_REFERRER_URL","KEY_MXL_SOURCE_TAB_ID","MXLExtendedSpan","SESSION_PART_SPAN_NAME","KEY_MXL_SESSION_PART_END_REASON","KEY_MXL_SDK_STARTUP_DURATION","KEY_MXL_IS_FINAL_SESSION_PART","KEY_MXL_USER_SESSION_TERMINATION_REASON","KEY_PREFIX_MXL_PROPERTIES","MXL_USER_SESSION_STATE_KEY","storePermanentProperties","readUserSessionState","isUserSessionExpired","getIncrementedCount","MXL_USER_SESSION_NUMBER_KEY","createUserSessionState","MXL_SESSION_PART_NUMBER_KEY","isTabEngaged"],"sources":["../../../src/managers/MXLUserSessionManager/MXLUserSessionManager.ts"],"sourcesContent":["import type {\n Attributes,\n DiagLogger,\n Tracer,\n TracerProvider,\n} from '@opentelemetry/api';\nimport { diag, trace } from '@opentelemetry/api';\nimport {\n ATTR_SESSION_ID,\n ATTR_SESSION_PREVIOUS_ID,\n} from '@opentelemetry/semantic-conventions/incubating';\nimport type {\n PropertyOptions,\n SessionPartEndReason,\n SessionPartStartReason,\n UserSessionEndReason,\n} from '../../api-sessions/manager/types';\nimport type { ExtendedSpan } from '../../api-traces/api/TraceAPI/types';\nimport type { VisibilityStateDocument } from '../../common/types';\nimport {\n KEY_MXL_COLD_START,\n KEY_MXL_EXPERIENCE_ID,\n KEY_MXL_IS_FINAL_SESSION_PART,\n KEY_MXL_NAVIGATION_SOURCE,\n KEY_MXL_REFERRER_URL,\n KEY_MXL_SDK_STARTUP_DURATION,\n KEY_MXL_SESSION_PART_END_REASON,\n KEY_MXL_SESSION_PART_ID,\n KEY_MXL_SESSION_PART_NUMBER,\n KEY_MXL_SESSION_PART_START_REASON,\n KEY_MXL_SOURCE_TAB_ID,\n KEY_MXL_STATE,\n KEY_MXL_TAB_ID,\n KEY_MXL_TYPE,\n KEY_MXL_USER_SESSION_ID,\n KEY_MXL_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS,\n KEY_MXL_USER_SESSION_MAX_DURATION_SECONDS,\n KEY_MXL_USER_SESSION_NUMBER,\n KEY_MXL_USER_SESSION_PART_INDEX,\n KEY_MXL_USER_SESSION_PREVIOUS_ID,\n KEY_MXL_USER_SESSION_START_TS,\n KEY_MXL_USER_SESSION_TERMINATION_REASON,\n KEY_PREFIX_MXL_PROPERTIES,\n MXL_STATES,\n MXL_TYPES,\n} from '../../constants/attributes';\nimport { clampNumber } from '../../utils/clampNumber';\nimport { generateUUID } from '../../utils/generateUUID';\nimport { getIncrementedCount } from '../../utils/getIncrementedCount';\nimport { getVisibilityState } from '../../utils/getVisibilityState';\nimport type { NamespacedStorage } from '../../utils/NamespacedStorage/NamespacedStorage';\nimport type { PerformanceManager } from '../../utils/PerformanceManager/types';\nimport { throttle } from '../../utils/throttle';\nimport type { ThrottledFunction } from '../../utils/throttle';\nimport type { TimeoutRef } from '../../utils/timeout/types';\nimport type { LimitManagerInternal } from '../MXLLimitManager/types';\nimport { MXLExtendedSpan } from '../MXLTraceManager/MXLExtendedSpan';\nimport {\n DEFAULT_ACTIVITY_EVENTS,\n DEFAULT_ACTIVITY_THROTTLE_MS,\n DEFAULT_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS,\n DEFAULT_USER_SESSION_MAX_DURATION_SECONDS,\n END_USER_SESSION_COOLDOWN_MS,\n MAX_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS,\n MAX_USER_SESSION_MAX_DURATION_SECONDS,\n MIN_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS,\n MIN_USER_SESSION_MAX_DURATION_SECONDS,\n MXL_LAST_END_USER_SESSION_TS_KEY,\n MXL_SESSION_PART_NUMBER_KEY,\n MXL_USER_SESSION_NUMBER_KEY,\n MXL_USER_SESSION_STATE_KEY,\n SESSION_PART_SPAN_NAME,\n} from './constants';\nimport type {\n MXLUserSessionManagerArgs,\n NavigationSource,\n Tab,\n UserSessionAttributes,\n UserSessionManagerInternal,\n UserSessionState,\n} from './types';\nimport {\n addActivityListeners,\n isTabEngaged,\n removeActivityListeners,\n} from './utils/activity';\nimport {\n createUserSessionState,\n isUserSessionExpired,\n readPermanentProperties,\n readUserSessionState,\n storePermanentProperties,\n} from './utils/state';\nimport { initTabContext, setupNewTabClickListeners } from './utils/tabTracking';\n\n/**\n * Parts are engagement-gated (visible AND focused), so only one part can\n * be active at a time. That mutex lets us treat storage as a\n * plain shared row read on engagement and written on changes.\n */\nexport class MXLUserSessionManager implements UserSessionManagerInternal {\n private static readonly _testInstances = new Set<MXLUserSessionManager>();\n\n /** @internal Test-only helper to tear down leaked managers between tests. */\n public static shutdownAllTestInstances(): void {\n for (const manager of MXLUserSessionManager._testInstances) {\n manager._shutdown();\n }\n MXLUserSessionManager._testInstances.clear();\n }\n\n private _state: UserSessionState | null = null;\n private _previousUserSessionId: string | null = null;\n private readonly _maxUserSessionDurationSeconds: number;\n private readonly _inactivityTimeoutSeconds: number;\n private _maxDurationTimeout: ReturnType<typeof setTimeout> | null = null;\n private _isShutdown = false;\n // Bare keys; the wire-format prefix is applied at stamp time.\n private _permanentProperties: Record<string, string> = {};\n // Distinguishes \"another tab wiped storage after we wrote\" from \"we\n // Never managed to write in the first place\"; see\n // _continueUserSessionAfterPartEnd.\n private _hasStoredState = false;\n\n private _activeSessionPartId: string | null = null;\n // Snapshotted at part start so a concurrent bump in another tab doesn't\n // Shift this part's value before its span ends.\n private _currentSessionPartNumber: number | null = null;\n private _sessionPartSpan: ExtendedSpan | null = null;\n private _activeSessionPartCounts: Record<string, number> | null = null;\n // Marks the first part of the page lifetime so it can be reported as a\n // Cold start.\n private _coldStart = true;\n private _nextSessionPartCounts: Record<string, number> = {};\n private _sdkStartupDuration = 0;\n private readonly _sessionPartStartedListeners: (() => void)[] = [];\n private readonly _sessionPartEndedListeners: (() => void)[] = [];\n private _tracer: Tracer;\n\n private readonly _diag: DiagLogger;\n private readonly _perf: PerformanceManager;\n private readonly _storage: NamespacedStorage;\n private readonly _visibilityDoc: VisibilityStateDocument;\n private readonly _limitManager: LimitManagerInternal;\n private readonly _target: EventTarget;\n private readonly _activityEvents: readonly string[];\n private readonly _onActivityThrottled: ThrottledFunction<\n (event: Event) => void\n >;\n private _sessionPartInactivityTimer: TimeoutRef | null = null;\n private readonly _tab: Tab;\n private readonly _navigationSource: NavigationSource;\n private readonly _referrerScrubbedUrl?: string;\n\n public constructor({\n config,\n diag: diagParam,\n perf,\n visibilityDoc,\n storage,\n limitManager,\n target = window,\n activityThrottleMs = DEFAULT_ACTIVITY_THROTTLE_MS,\n activityEvents = DEFAULT_ACTIVITY_EVENTS,\n tabStorage,\n referrer = typeof document !== 'undefined' ? document.referrer : '',\n navigationPerformance = typeof window !== 'undefined'\n ? window.performance\n : { getEntriesByType: () => [] },\n }: MXLUserSessionManagerArgs) {\n this._diag =\n diagParam ??\n diag.createComponentLogger({\n namespace: 'MXLUserSessionManager',\n });\n this._perf = perf;\n this._visibilityDoc = visibilityDoc;\n this._storage = storage;\n this._limitManager = limitManager;\n this._permanentProperties = readPermanentProperties(\n this._storage,\n this._diag,\n );\n this._tracer = trace.getTracer('mxl-web-sdk-session-parts');\n this._target = target;\n this._activityEvents = activityEvents;\n this._onActivityThrottled = throttle(this._onActivity, activityThrottleMs);\n\n const maxUserSessionDurationSeconds = clampNumber({\n defaultValue: DEFAULT_USER_SESSION_MAX_DURATION_SECONDS,\n diag: this._diag,\n max: MAX_USER_SESSION_MAX_DURATION_SECONDS,\n min: MIN_USER_SESSION_MAX_DURATION_SECONDS,\n value: config?.maxUserSessionDurationSeconds,\n });\n const inactivityTimeoutSeconds = clampNumber({\n defaultValue: DEFAULT_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS,\n diag: this._diag,\n max: MAX_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS,\n min: MIN_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS,\n value: config?.inactivityTimeoutSeconds,\n });\n\n this._maxUserSessionDurationSeconds = maxUserSessionDurationSeconds;\n if (inactivityTimeoutSeconds <= maxUserSessionDurationSeconds) {\n this._inactivityTimeoutSeconds = inactivityTimeoutSeconds;\n } else {\n this._diag.warn(\n `inactivityTimeoutSeconds (${inactivityTimeoutSeconds.toString()}s) ` +\n `exceeds maxUserSessionDurationSeconds (${maxUserSessionDurationSeconds.toString()}s); ` +\n `falling back to default inactivity timeout (${DEFAULT_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS.toString()}s).`,\n );\n this._inactivityTimeoutSeconds =\n DEFAULT_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS;\n }\n\n const tabContext = initTabContext({\n diag: this._diag,\n localStorage: storage,\n navigationPerformance,\n referrer,\n sessionStorage: tabStorage,\n });\n this._tab = tabContext.tab;\n this._navigationSource = tabContext.navigationSource;\n this._referrerScrubbedUrl = tabContext.referrerScrubbedUrl;\n setupNewTabClickListeners(this._tab, storage, this._diag);\n MXLUserSessionManager._testInstances.add(this);\n }\n\n public setTracerProvider(tracerProvider: TracerProvider): void {\n this._tracer = tracerProvider.getTracer('mxl-web-sdk-session-parts');\n // Listeners attach here rather than in the constructor so that tests\n // That construct a manager without going through SDK init don't\n // Pollute window with listeners, and so that browser-activity-driven\n // Parts only start once a real tracer is wired.\n addActivityListeners({\n activityEvents: this._activityEvents,\n onActivity: this._onActivityThrottled,\n onBlur: this._onBlur,\n onFocus: this._onFocus,\n onPageHide: this._onPageHide,\n onPageShow: this._onPageShow,\n onVisibilityChange: this._onVisibilityChange,\n target: this._target,\n visibilityDoc: this._visibilityDoc,\n });\n // Eager state init so getUserSessionId() returns a real id before the\n // First part starts, and so other tabs see the row when we create a\n // Fresh session here.\n const { state, created } = this._loadOrCreateUserSessionState(\n this._perf.getNowMillis(),\n );\n this._state = state;\n if (created) {\n this._storeState();\n }\n }\n\n public recordSDKStartupDuration(duration: number): void {\n this._sdkStartupDuration = Math.ceil(duration);\n }\n\n public getUserSessionId(): string | null {\n return this._state?.userSessionId ?? null;\n }\n\n public getPreviousUserSessionId(): string | null {\n // Fall back to in-memory for the brief window during user-session end\n // Where storage is cleared but the just-ended id is still held.\n return this._state?.previousUserSessionId ?? this._previousUserSessionId;\n }\n\n public getUserSessionStartTime(): number | null {\n return this._state?.userSessionStartTs ?? null;\n }\n\n public getUserSessionAttributes(): UserSessionAttributes | null {\n if (!this._state) {\n return null;\n }\n const previousUserSessionId = this.getPreviousUserSessionId() ?? '';\n return {\n [KEY_MXL_USER_SESSION_ID]: this._state.userSessionId,\n [ATTR_SESSION_ID]: this._state.userSessionId,\n [KEY_MXL_USER_SESSION_PREVIOUS_ID]: previousUserSessionId,\n [ATTR_SESSION_PREVIOUS_ID]: previousUserSessionId,\n [KEY_MXL_USER_SESSION_NUMBER]: this._state.userSessionNumber,\n [KEY_MXL_USER_SESSION_PART_INDEX]: this._state.userSessionPartIndex,\n [KEY_MXL_SESSION_PART_NUMBER]: this._currentSessionPartNumber ?? 0,\n [KEY_MXL_USER_SESSION_START_TS]: this._state.userSessionStartTs,\n [KEY_MXL_USER_SESSION_MAX_DURATION_SECONDS]:\n this._state.maxUserSessionDurationSeconds,\n [KEY_MXL_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS]:\n this._state.inactivityTimeoutSeconds,\n };\n }\n\n public endUserSession(): void {\n if (!this._state) {\n this._diag.debug(\n 'Trying to end user session, but there is no active session. This is a no-op.',\n );\n return;\n }\n\n const now = this._perf.getNowMillis();\n const lastEndRaw = this._storage.getItem(MXL_LAST_END_USER_SESSION_TS_KEY);\n const lastEndTs = lastEndRaw === null ? NaN : Number(lastEndRaw);\n if (\n Number.isFinite(lastEndTs) &&\n now - lastEndTs < END_USER_SESSION_COOLDOWN_MS\n ) {\n this._diag.warn(\n 'endUserSession called within cooldown period, ignoring.',\n );\n return;\n }\n\n this._rolloverUserSession('manual');\n this._storage.setItem(MXL_LAST_END_USER_SESSION_TS_KEY, String(now));\n }\n\n public getSessionPartId(): string | null {\n return this._activeSessionPartId;\n }\n\n public getSessionPartSpan(): ExtendedSpan | null {\n return this._sessionPartSpan;\n }\n\n public startSessionPartInternal(reason: SessionPartStartReason): void {\n if (this._sessionPartSpan) {\n this._diag.warn(\n `startSessionPartInternal called while a part is active (reason: ${reason}); ignoring`,\n );\n return;\n }\n\n // Parts are foreground-only: a part corresponds to a tab that is both\n // Visible AND focused.\n if (\n getVisibilityState(this._visibilityDoc) === MXL_STATES.Background ||\n !this._visibilityDoc.hasFocus()\n ) {\n this._diag.debug(\n `skipping session part start (reason: ${reason}) because the tab is not engaged`,\n );\n return;\n }\n\n const activeSessionPartId = generateUUID();\n const previouslyRecordedCounts = this._nextSessionPartCounts;\n\n this._beginUserSessionForPartStart();\n\n const attributes: Attributes = {\n ...this.getUserSessionAttributes(),\n [KEY_MXL_TYPE]: MXL_TYPES.SessionPart,\n [KEY_MXL_STATE]: MXL_STATES.Foreground,\n [KEY_MXL_SESSION_PART_ID]: activeSessionPartId,\n [KEY_MXL_SESSION_PART_START_REASON]: reason,\n [KEY_MXL_COLD_START]: this._coldStart,\n [KEY_MXL_EXPERIENCE_ID]: this._tab.experienceId,\n [KEY_MXL_TAB_ID]: this._tab.tabId,\n [KEY_MXL_NAVIGATION_SOURCE]: this._navigationSource,\n ...previouslyRecordedCounts,\n };\n\n if (this._referrerScrubbedUrl) {\n attributes[KEY_MXL_REFERRER_URL] = this._referrerScrubbedUrl;\n }\n if (this._tab.sourceTabId) {\n attributes[KEY_MXL_SOURCE_TAB_ID] = this._tab.sourceTabId;\n }\n\n this._activeSessionPartId = activeSessionPartId;\n let span: MXLExtendedSpan;\n try {\n span = new MXLExtendedSpan(\n this._tracer.startSpan(SESSION_PART_SPAN_NAME, { attributes }),\n );\n } catch (error) {\n this._activeSessionPartId = null;\n this._diag.error('Error starting session part span', error);\n return;\n }\n\n this._activeSessionPartCounts = {};\n this._nextSessionPartCounts = {};\n this._sessionPartSpan = span;\n this._coldStart = false;\n\n this._startSessionPartInactivityTimer();\n\n this._fireListeners(this._sessionPartStartedListeners, 'started');\n }\n\n public endSessionPartInternal(\n reason: SessionPartEndReason,\n userSessionEndReason?: UserSessionEndReason | null,\n ): void {\n if (!this._sessionPartSpan) {\n this._diag.debug(\n 'trying to end a session part, but there is no session part in progress. This is a no-op.',\n );\n return;\n }\n\n this._clearSessionPartInactivityTimer();\n\n const isFinal = reason === 'user_session_ended' || reason === 'inactivity';\n\n // Capture the end stamp upfront. SpanProcessor.onEnd can run unbounded\n // And must not push it forward.\n const partEndTs = this._perf.getNowMillis();\n const span = this._sessionPartSpan;\n try {\n const endAttrs: Attributes = {\n [KEY_MXL_SESSION_PART_END_REASON]: reason,\n ...this._activeSessionPartCounts,\n ...this._limitManager.getDiagnosticCounts(),\n [KEY_MXL_SDK_STARTUP_DURATION]: this._sdkStartupDuration,\n };\n if (isFinal) {\n endAttrs[KEY_MXL_IS_FINAL_SESSION_PART] = 1;\n if (userSessionEndReason) {\n endAttrs[KEY_MXL_USER_SESSION_TERMINATION_REASON] =\n userSessionEndReason;\n }\n }\n\n const propertyAttrs: Attributes = {};\n for (const [bareKey, value] of Object.entries(\n this.getSessionPartProperties(),\n )) {\n propertyAttrs[KEY_PREFIX_MXL_PROPERTIES + bareKey] = value;\n }\n\n try {\n span.setAttributes({\n ...propertyAttrs,\n ...endAttrs,\n });\n } catch (error) {\n this._diag.warn(\n 'Error setting end attributes on session part span; ending span without them',\n error,\n );\n }\n } finally {\n // Fire listeners after end attributes are stamped (so subscribers can\n // Read them) and before span.end() (so anything they emit still\n // Attaches to the part that is conceptually still active).\n this._fireListeners(this._sessionPartEndedListeners, 'ended');\n try {\n span.end(partEndTs);\n } catch (error) {\n this._diag.warn('Error ending session part span', error);\n }\n this._sessionPartSpan = null;\n this._activeSessionPartId = null;\n this._activeSessionPartCounts = null;\n this._currentSessionPartNumber = null;\n this._limitManager.reset();\n }\n\n if (isFinal) {\n this._previousUserSessionId = this._state?.userSessionId ?? null;\n this._state = null;\n this._storage.removeItem(MXL_USER_SESSION_STATE_KEY);\n this._clearMaxDurationTimer();\n } else {\n this._continueUserSessionAfterPartEnd(partEndTs);\n }\n }\n\n public addBreadcrumb(name: string): void {\n if (!this._sessionPartSpan) {\n this._diag.debug(\n 'trying to add breadcrumb, but there is no session part in progress. This is a no-op.',\n );\n return;\n }\n\n const limitedBreadcrumb = this._limitManager.limitBreadcrumb(name);\n if (limitedBreadcrumb === 'dropped') {\n return;\n }\n\n this._sessionPartSpan.addEvent(\n 'mxl-breadcrumb',\n {\n message: limitedBreadcrumb.name,\n },\n this._perf.getNowMillis(),\n );\n }\n\n public addProperty(\n propertyKey: string,\n value: string,\n options?: PropertyOptions,\n ): void {\n const limitedSessionProperty = this._limitManager.limitSessionProperty(\n propertyKey,\n value,\n );\n\n if (limitedSessionProperty === 'dropped') {\n return;\n }\n\n const bareKey = limitedSessionProperty.key;\n const bareValue = limitedSessionProperty.value;\n\n if (options?.lifespan === 'permanent') {\n const candidate = {\n ...this._permanentProperties,\n [bareKey]: bareValue,\n };\n // Reject the write if storage is unavailable: a property that can't\n // Persist would silently diverge from what other tabs (and the next\n // Page load) see, which is worse than no property at all.\n if (!storePermanentProperties(this._storage, candidate)) {\n this._diag.warn(\n 'Storage unavailable; rejecting permanent property write.',\n );\n return;\n }\n this._permanentProperties = candidate;\n this._removeFromUserSessionProperties(bareKey);\n return;\n }\n\n // Ensure a state row exists so the write has somewhere to land;\n // AddProperty can fire before any part has started.\n const { state } = this._loadOrCreateUserSessionState(\n this._perf.getNowMillis(),\n );\n this._state = {\n ...state,\n userSessionProperties: {\n ...state.userSessionProperties,\n [bareKey]: bareValue,\n },\n };\n if (!this._storeState()) {\n // Roll back so callers don't observe a value that won't persist.\n // The user session itself stays in memory.\n this._state = state;\n this._diag.warn(\n 'Storage unavailable; rejecting user-session property write.',\n );\n }\n }\n\n public removeProperty(propertyKey: string): void {\n const bareKey = this._limitManager.truncateString(\n 'session_property_key',\n propertyKey,\n );\n\n // Try both stores so a key that was flipped between scopes doesn't\n // Linger in the other one.\n this._removeFromPermanentProperties(bareKey);\n this._removeFromUserSessionProperties(bareKey);\n }\n\n /**\n * Bare-keyed view of properties for the active part. User-session-scoped\n * entries shadow permanent ones, matching the cross-scope flip rule\n * enforced in `addProperty`. Callers apply the wire-format prefix at\n * stamp time.\n */\n public getSessionPartProperties(): Record<string, string> {\n return {\n ...this._permanentProperties,\n ...this._state?.userSessionProperties,\n };\n }\n\n public incrSessionPartCountForKey(key: string): void {\n if (!this._sessionPartSpan || !this._activeSessionPartCounts) {\n this._diag.debug(\n 'trying to increment a count for the active session part, but there is no session part in progress. This is a no-op.',\n );\n return;\n }\n this._activeSessionPartCounts[key] =\n (this._activeSessionPartCounts[key] || 0) + 1;\n }\n\n public incrNextSessionPartCountForKey(key: string): void {\n this._nextSessionPartCounts[key] =\n (this._nextSessionPartCounts[key] || 0) + 1;\n }\n\n public addSessionPartStartedListener(listener: () => void): () => void {\n return this._addListener(this._sessionPartStartedListeners, listener);\n }\n\n public addSessionPartEndedListener(listener: () => void): () => void {\n return this._addListener(this._sessionPartEndedListeners, listener);\n }\n\n /**\n * Returns the persisted user-session state, rotating to a fresh one if\n * the persisted row is missing or expired. Arms the max-duration timer\n * when needed. The caller is responsible for assigning the result to\n * `_state` and for persisting (the helper does not write to storage).\n */\n private _loadOrCreateUserSessionState(now: number): {\n state: UserSessionState;\n created: boolean;\n } {\n let state = readUserSessionState(this._storage, this._diag);\n let created = false;\n if (!state || isUserSessionExpired(state, now)) {\n if (state) {\n this._previousUserSessionId = state.userSessionId;\n }\n const userSessionNumber = getIncrementedCount(\n this._storage,\n MXL_USER_SESSION_NUMBER_KEY,\n this._diag,\n );\n state = createUserSessionState({\n inactivityTimeoutSeconds: this._inactivityTimeoutSeconds,\n maxUserSessionDurationSeconds: this._maxUserSessionDurationSeconds,\n now,\n previousUserSessionId: this._previousUserSessionId,\n userSessionNumber,\n });\n created = true;\n }\n // Arm on a freshly created state, and on the page-reload case where a\n // New manager loads existing state and has no timer running yet.\n // UserSessionMaxEndTs is fixed at creation, so re-arming the same value\n // On every load/start call is wasteful.\n if (created || this._maxDurationTimeout === null) {\n this._setupMaxDurationTimer(state, now);\n }\n return { created, state };\n }\n\n /**\n * Bumps the part counter and arms the max-duration timer. Relies on\n * `_loadOrCreateUserSessionState` to provide a non-null, non-expired state,\n * so `getUserSessionAttributes()` is guaranteed non-null after this.\n */\n private _beginUserSessionForPartStart(): void {\n const now = this._perf.getNowMillis();\n const { state } = this._loadOrCreateUserSessionState(now);\n\n this._currentSessionPartNumber = getIncrementedCount(\n this._storage,\n MXL_SESSION_PART_NUMBER_KEY,\n this._diag,\n );\n\n this._state = {\n ...state,\n userSessionPartIndex: state.userSessionPartIndex + 1,\n // A part is active, so any pending inactivity deadline no longer\n // Applies; it gets re-armed when the part ends.\n inactivityDeadlineTs: null,\n };\n this._storeState();\n }\n\n /**\n * Records the inactivity deadline on the user-session row so the next\n * part start can detect lazy expiry. The max-duration timer stays valid\n * because userSessionMaxEndTs doesn't change between parts.\n */\n private _continueUserSessionAfterPartEnd(partEndTs: number): void {\n if (!this._state) {\n this._clearMaxDurationTimer();\n return;\n }\n\n // If the state row was present at part start but is gone now (user\n // Wiped site data, quota eviction, sibling tab cleared), don't\n // Resurrect it from memory. Drop in-memory state so the next part\n // Start creates a fresh user session; carry the just-ended id\n // Forward so the next session can back-link to it.\n // _hasStoredState gates this: if we never persisted in the first\n // Place, the in-memory copy stays authoritative.\n if (\n this._hasStoredState &&\n this._storage.getItem(MXL_USER_SESSION_STATE_KEY) === null\n ) {\n this._previousUserSessionId = this._state.userSessionId;\n this._state = null;\n this._clearMaxDurationTimer();\n return;\n }\n\n this._state = {\n ...this._state,\n inactivityDeadlineTs:\n partEndTs + this._state.inactivityTimeoutSeconds * 1000,\n };\n this._storeState();\n }\n\n /**\n * Ends the active part as final and starts a fresh part for the next\n * user session. State clearing for the engaged path is handled by\n * endSessionPartInternal's isFinal branch. When no part is active\n * (tab disengaged), the same state-clearing is performed inline so\n * the next engagement creates a fresh user session rather than\n * resuming the just-ended one.\n */\n private _rolloverUserSession(\n userSessionEndReason: UserSessionEndReason,\n ): void {\n if (this._sessionPartSpan) {\n this.endSessionPartInternal('user_session_ended', userSessionEndReason);\n this.startSessionPartInternal('user_session_rollover');\n return;\n }\n\n this._previousUserSessionId = this._state?.userSessionId ?? null;\n this._state = null;\n this._storage.removeItem(MXL_USER_SESSION_STATE_KEY);\n this._clearMaxDurationTimer();\n }\n\n private _setupMaxDurationTimer(state: UserSessionState, now: number): void {\n this._clearMaxDurationTimer();\n\n const remaining = state.userSessionMaxEndTs - now;\n if (remaining <= 0) {\n return;\n }\n\n this._maxDurationTimeout = setTimeout(() => {\n this._maxDurationTimeout = null;\n this._rolloverUserSession('max_duration_reached');\n }, remaining);\n }\n\n /**\n * @internal Would be private but exposed for tests to simulate a page reload\n */\n public _clearMaxDurationTimer(): void {\n if (this._maxDurationTimeout !== null) {\n clearTimeout(this._maxDurationTimeout);\n this._maxDurationTimeout = null;\n }\n }\n\n /**\n * Detaches browser-activity listeners and clears the part-inactivity\n * timer. Intended for SDK teardown and tests; in production the manager\n * lives for the page's lifetime.\n */\n public _shutdown(): void {\n if (this._isShutdown) {\n return;\n }\n this._isShutdown = true;\n MXLUserSessionManager._testInstances.delete(this);\n this._onActivityThrottled.cancel();\n removeActivityListeners({\n activityEvents: this._activityEvents,\n onActivity: this._onActivityThrottled,\n onBlur: this._onBlur,\n onFocus: this._onFocus,\n onPageHide: this._onPageHide,\n onPageShow: this._onPageShow,\n onVisibilityChange: this._onVisibilityChange,\n target: this._target,\n visibilityDoc: this._visibilityDoc,\n });\n this._clearSessionPartInactivityTimer();\n this._clearMaxDurationTimer();\n }\n\n private readonly _onActivity = (): void => {\n try {\n if (!isTabEngaged(this._visibilityDoc)) {\n return;\n }\n if (this._activeSessionPartId === null) {\n this.startSessionPartInternal('web_activity');\n return;\n }\n this._startSessionPartInactivityTimer();\n } catch (error) {\n this._diag.warn('Error handling activity event', error);\n }\n };\n\n // Tab visibility flipped (switch tabs, minimize, OS app switch). Drives\n // The engagement transition off the current visibilityState/hasFocus pair.\n private readonly _onVisibilityChange = (): void => {\n this._handleEngagementTransition('visibilitychange');\n };\n\n // Window focus arrived (alt-tab back, clicked into the document). hasFocus\n // Is now true; engagement transition resolves whether to start a part.\n private readonly _onFocus = (): void => {\n this._handleEngagementTransition('focus');\n };\n\n // Window focus lost (alt-tab away, clicked into DevTools or another window).\n // HasFocus is now false; engagement transition ends the active part.\n private readonly _onBlur = (): void => {\n this._handleEngagementTransition('blur');\n };\n\n // Initial page load OR BFCache restore. event.persisted only affects the\n // Debug source string; routing is via _handleEngagementTransition, which\n // Keys off engagement state and whether a part is currently active.\n private readonly _onPageShow = (event: PageTransitionEvent): void => {\n this._handleEngagementTransition(\n event.persisted ? 'pageshow-bfcache' : 'pageshow-initial',\n );\n };\n\n // Navigation away (hard nav, tab close) OR BFCache freeze. Both signal the\n // Page is about to stop running, so we always end the active part. Ending\n // The part flushes its span (and the spans batched against it in\n // MXLSessionPartBatchedSpanProcessor) through the export pipeline while\n // The page can still issue a keepalive fetch. On BFCache restore, pageshow\n // Will start a fresh part.\n private readonly _onPageHide = (event: PageTransitionEvent): void => {\n try {\n if (this._activeSessionPartId === null) {\n return;\n }\n const reason: SessionPartEndReason = event.persisted\n ? 'web_background'\n : 'web_hard_navigation';\n this._diag.debug(\n `page hiding (persisted=${event.persisted}); ending current part as ${reason}`,\n );\n this.endSessionPartInternal(reason);\n } catch (error) {\n this._diag.error(\n `Error ending session part on pagehide (persisted=${event.persisted})`,\n error,\n );\n }\n };\n\n private _handleEngagementTransition(source: string): void {\n try {\n const engaged = isTabEngaged(this._visibilityDoc);\n const active = this._activeSessionPartId !== null;\n if (!engaged && active) {\n this._diag.debug(`tab disengaged via ${source}; ending current part`);\n this.endSessionPartInternal('web_background');\n return;\n }\n if (engaged && !active) {\n this._diag.debug(`tab engaged via ${source}; starting new part`);\n this.startSessionPartInternal('web_foreground');\n return;\n }\n if (engaged && active) {\n // Redundant engagement event while a part is already active (browser\n // Quirk: an extra focus/visibility fire that isn't a real transition).\n // Re-arm the inactivity timer since the event still implies presence.\n this._startSessionPartInactivityTimer();\n }\n } catch (error) {\n this._diag.warn('Error handling engagement change', error);\n }\n }\n\n private readonly _onSessionPartInactivity = (): void => {\n this._sessionPartInactivityTimer = null;\n try {\n if (this._activeSessionPartId === null) {\n return;\n }\n this._diag.debug(\n 'inactivity timer fired; ending current part and user session',\n );\n this.endSessionPartInternal('inactivity', 'inactivity');\n } catch (error) {\n this._diag.warn('Error handling inactivity timer', error);\n }\n };\n\n private _startSessionPartInactivityTimer(): void {\n this._clearSessionPartInactivityTimer();\n this._sessionPartInactivityTimer = setTimeout(\n this._onSessionPartInactivity,\n this._inactivityTimeoutSeconds * 1000,\n );\n }\n\n private _clearSessionPartInactivityTimer(): void {\n if (this._sessionPartInactivityTimer !== null) {\n clearTimeout(this._sessionPartInactivityTimer);\n this._sessionPartInactivityTimer = null;\n }\n }\n\n private _addListener(list: (() => void)[], listener: () => void): () => void {\n list.push(listener);\n return () => {\n const i = list.indexOf(listener);\n if (i !== -1) {\n list.splice(i, 1);\n }\n };\n }\n\n private _fireListeners(list: (() => void)[], kind: string): void {\n for (const listener of list) {\n try {\n listener();\n } catch (error) {\n this._diag.warn(\n `Error while executing session part ${kind} listener`,\n error,\n );\n }\n }\n }\n\n private _storeState(): boolean {\n if (!this._state) {\n return false;\n }\n const stored = this._storage.setItem(\n MXL_USER_SESSION_STATE_KEY,\n JSON.stringify(this._state),\n );\n if (stored) {\n this._hasStoredState = true;\n }\n return stored;\n }\n\n private _removeFromPermanentProperties(bareKey: string): void {\n if (!(bareKey in this._permanentProperties)) {\n return;\n }\n const pruned = { ...this._permanentProperties };\n delete pruned[bareKey];\n this._permanentProperties = pruned;\n storePermanentProperties(this._storage, pruned);\n }\n\n private _removeFromUserSessionProperties(bareKey: string): void {\n if (!this._state || !(bareKey in this._state.userSessionProperties)) {\n return;\n }\n const pruned = { ...this._state.userSessionProperties };\n delete pruned[bareKey];\n this._state = {\n ...this._state,\n userSessionProperties: pruned,\n };\n this._storeState();\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MXLUserSessionManager.cjs","names":["DEFAULT_ACTIVITY_THROTTLE_MS","DEFAULT_ACTIVITY_EVENTS","diag","readPermanentProperties","trace","throttle","clampNumber","DEFAULT_USER_SESSION_MAX_DURATION_SECONDS","MAX_USER_SESSION_MAX_DURATION_SECONDS","MIN_USER_SESSION_MAX_DURATION_SECONDS","DEFAULT_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS","MAX_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS","initTabContext","KEY_MXL_USER_SESSION_ID","ATTR_SESSION_ID","KEY_MXL_USER_SESSION_PREVIOUS_ID","ATTR_SESSION_PREVIOUS_ID","KEY_MXL_USER_SESSION_NUMBER","KEY_MXL_USER_SESSION_PART_INDEX","KEY_MXL_SESSION_PART_NUMBER","KEY_MXL_USER_SESSION_START_TS","KEY_MXL_USER_SESSION_MAX_DURATION_SECONDS","KEY_MXL_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS","MXL_LAST_END_USER_SESSION_TS_KEY","getVisibilityState","generateUUID","KEY_MXL_TYPE","KEY_MXL_STATE","KEY_MXL_SESSION_PART_ID","KEY_MXL_SESSION_PART_START_REASON","KEY_MXL_COLD_START","KEY_MXL_EXPERIENCE_ID","KEY_MXL_TAB_ID","KEY_MXL_NAVIGATION_SOURCE","KEY_MXL_REFERRER_URL","KEY_MXL_SOURCE_TAB_ID","MXLExtendedSpan","SESSION_PART_SPAN_NAME","KEY_MXL_SESSION_PART_END_REASON","KEY_MXL_SDK_STARTUP_DURATION","KEY_MXL_IS_FINAL_SESSION_PART","KEY_MXL_USER_SESSION_TERMINATION_REASON","KEY_PREFIX_MXL_PROPERTIES","MXL_USER_SESSION_STATE_KEY","storePermanentProperties","readUserSessionState","isUserSessionExpired","getIncrementedCount","MXL_USER_SESSION_NUMBER_KEY","createUserSessionState","MXL_SESSION_PART_NUMBER_KEY","isTabEngaged"],"sources":["../../../src/managers/MXLUserSessionManager/MXLUserSessionManager.ts"],"sourcesContent":["import type {\n Attributes,\n DiagLogger,\n Tracer,\n TracerProvider,\n} from '@opentelemetry/api';\nimport { diag, trace } from '@opentelemetry/api';\nimport {\n ATTR_SESSION_ID,\n ATTR_SESSION_PREVIOUS_ID,\n} from '@opentelemetry/semantic-conventions/incubating';\nimport type {\n PropertyOptions,\n SessionPartEndReason,\n SessionPartStartReason,\n UserSessionEndReason,\n} from '../../api-sessions/manager/types';\nimport type { ExtendedSpan } from '../../api-traces/api/TraceAPI/types';\nimport type { VisibilityStateDocument } from '../../common/types';\nimport {\n KEY_MXL_COLD_START,\n KEY_MXL_EXPERIENCE_ID,\n KEY_MXL_IS_FINAL_SESSION_PART,\n KEY_MXL_NAVIGATION_SOURCE,\n KEY_MXL_REFERRER_URL,\n KEY_MXL_SDK_STARTUP_DURATION,\n KEY_MXL_SESSION_PART_END_REASON,\n KEY_MXL_SESSION_PART_ID,\n KEY_MXL_SESSION_PART_NUMBER,\n KEY_MXL_SESSION_PART_START_REASON,\n KEY_MXL_SOURCE_TAB_ID,\n KEY_MXL_STATE,\n KEY_MXL_TAB_ID,\n KEY_MXL_TYPE,\n KEY_MXL_USER_SESSION_ID,\n KEY_MXL_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS,\n KEY_MXL_USER_SESSION_MAX_DURATION_SECONDS,\n KEY_MXL_USER_SESSION_NUMBER,\n KEY_MXL_USER_SESSION_PART_INDEX,\n KEY_MXL_USER_SESSION_PREVIOUS_ID,\n KEY_MXL_USER_SESSION_START_TS,\n KEY_MXL_USER_SESSION_TERMINATION_REASON,\n KEY_PREFIX_MXL_PROPERTIES,\n MXL_STATES,\n MXL_TYPES,\n} from '../../constants/attributes';\nimport { clampNumber } from '../../utils/clampNumber';\nimport { generateUUID } from '../../utils/generateUUID';\nimport { getIncrementedCount } from '../../utils/getIncrementedCount';\nimport { getVisibilityState } from '../../utils/getVisibilityState';\nimport type { NamespacedStorage } from '../../utils/NamespacedStorage/NamespacedStorage';\nimport type { PerformanceManager } from '../../utils/PerformanceManager/types';\nimport { throttle } from '../../utils/throttle';\nimport type { ThrottledFunction } from '../../utils/throttle';\nimport type { TimeoutRef } from '../../utils/timeout/types';\nimport type { LimitManagerInternal } from '../MXLLimitManager/types';\nimport type { AnalyticsManagerInternal } from '../../api-analytics/manager/types';\nimport { MXLExtendedSpan } from '../MXLTraceManager/MXLExtendedSpan';\nimport {\n DEFAULT_ACTIVITY_EVENTS,\n DEFAULT_ACTIVITY_THROTTLE_MS,\n DEFAULT_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS,\n DEFAULT_USER_SESSION_MAX_DURATION_SECONDS,\n END_USER_SESSION_COOLDOWN_MS,\n MAX_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS,\n MAX_USER_SESSION_MAX_DURATION_SECONDS,\n MIN_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS,\n MIN_USER_SESSION_MAX_DURATION_SECONDS,\n MXL_LAST_END_USER_SESSION_TS_KEY,\n MXL_SESSION_PART_NUMBER_KEY,\n MXL_USER_SESSION_NUMBER_KEY,\n MXL_USER_SESSION_STATE_KEY,\n SESSION_PART_SPAN_NAME,\n} from './constants';\nimport type {\n MXLUserSessionManagerArgs,\n NavigationSource,\n Tab,\n UserSessionAttributes,\n UserSessionManagerInternal,\n UserSessionState,\n} from './types';\nimport {\n addActivityListeners,\n isTabEngaged,\n removeActivityListeners,\n} from './utils/activity';\nimport {\n createUserSessionState,\n isUserSessionExpired,\n readPermanentProperties,\n readUserSessionState,\n storePermanentProperties,\n} from './utils/state';\nimport { initTabContext, setupNewTabClickListeners } from './utils/tabTracking';\n\n/**\n * Parts are engagement-gated (visible AND focused), so only one part can\n * be active at a time. That mutex lets us treat storage as a\n * plain shared row read on engagement and written on changes.\n */\nexport class MXLUserSessionManager implements UserSessionManagerInternal {\n private static readonly _testInstances = new Set<MXLUserSessionManager>();\n\n /** @internal Test-only helper to tear down leaked managers between tests. */\n public static shutdownAllTestInstances(): void {\n for (const manager of MXLUserSessionManager._testInstances) {\n manager._shutdown();\n }\n MXLUserSessionManager._testInstances.clear();\n }\n\n private _state: UserSessionState | null = null;\n private _previousUserSessionId: string | null = null;\n private readonly _maxUserSessionDurationSeconds: number;\n private readonly _inactivityTimeoutSeconds: number;\n private _maxDurationTimeout: ReturnType<typeof setTimeout> | null = null;\n private _isShutdown = false;\n // Bare keys; the wire-format prefix is applied at stamp time.\n private _permanentProperties: Record<string, string> = {};\n // Distinguishes \"another tab wiped storage after we wrote\" from \"we\n // Never managed to write in the first place\"; see\n // _continueUserSessionAfterPartEnd.\n private _hasStoredState = false;\n\n private _activeSessionPartId: string | null = null;\n // Snapshotted at part start so a concurrent bump in another tab doesn't\n // Shift this part's value before its span ends.\n private _currentSessionPartNumber: number | null = null;\n private _sessionPartSpan: ExtendedSpan | null = null;\n private _activeSessionPartCounts: Record<string, number> | null = null;\n // Marks the first part of the page lifetime so it can be reported as a\n // Cold start.\n private _coldStart = true;\n private _nextSessionPartCounts: Record<string, number> = {};\n private _sdkStartupDuration = 0;\n private readonly _sessionPartStartedListeners: (() => void)[] = [];\n private readonly _sessionPartEndedListeners: (() => void)[] = [];\n private _tracer: Tracer;\n\n private readonly _diag: DiagLogger;\n private readonly _perf: PerformanceManager;\n private readonly _storage: NamespacedStorage;\n private readonly _visibilityDoc: VisibilityStateDocument;\n private readonly _limitManager: LimitManagerInternal;\n private readonly _target: EventTarget;\n private readonly _activityEvents: readonly string[];\n private readonly _onActivityThrottled: ThrottledFunction<\n (event: Event) => void\n >;\n private _sessionPartInactivityTimer: TimeoutRef | null = null;\n private readonly _tab: Tab;\n private readonly _navigationSource: NavigationSource;\n private readonly _referrerScrubbedUrl?: string;\n private _analyticsManager: AnalyticsManagerInternal | null = null;\n\n public constructor({\n config,\n diag: diagParam,\n perf,\n visibilityDoc,\n storage,\n limitManager,\n target = window,\n activityThrottleMs = DEFAULT_ACTIVITY_THROTTLE_MS,\n activityEvents = DEFAULT_ACTIVITY_EVENTS,\n tabStorage,\n referrer = typeof document !== 'undefined' ? document.referrer : '',\n navigationPerformance = typeof window !== 'undefined'\n ? window.performance\n : { getEntriesByType: () => [] },\n }: MXLUserSessionManagerArgs) {\n this._diag =\n diagParam ??\n diag.createComponentLogger({\n namespace: 'MXLUserSessionManager',\n });\n this._perf = perf;\n this._visibilityDoc = visibilityDoc;\n this._storage = storage;\n this._limitManager = limitManager;\n this._permanentProperties = readPermanentProperties(\n this._storage,\n this._diag,\n );\n this._tracer = trace.getTracer('mxl-web-sdk-session-parts');\n this._target = target;\n this._activityEvents = activityEvents;\n this._onActivityThrottled = throttle(this._onActivity, activityThrottleMs);\n\n const maxUserSessionDurationSeconds = clampNumber({\n defaultValue: DEFAULT_USER_SESSION_MAX_DURATION_SECONDS,\n diag: this._diag,\n max: MAX_USER_SESSION_MAX_DURATION_SECONDS,\n min: MIN_USER_SESSION_MAX_DURATION_SECONDS,\n value: config?.maxUserSessionDurationSeconds,\n });\n const inactivityTimeoutSeconds = clampNumber({\n defaultValue: DEFAULT_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS,\n diag: this._diag,\n max: MAX_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS,\n min: MIN_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS,\n value: config?.inactivityTimeoutSeconds,\n });\n\n this._maxUserSessionDurationSeconds = maxUserSessionDurationSeconds;\n if (inactivityTimeoutSeconds <= maxUserSessionDurationSeconds) {\n this._inactivityTimeoutSeconds = inactivityTimeoutSeconds;\n } else {\n this._diag.warn(\n `inactivityTimeoutSeconds (${inactivityTimeoutSeconds.toString()}s) ` +\n `exceeds maxUserSessionDurationSeconds (${maxUserSessionDurationSeconds.toString()}s); ` +\n `falling back to default inactivity timeout (${DEFAULT_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS.toString()}s).`,\n );\n this._inactivityTimeoutSeconds =\n DEFAULT_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS;\n }\n\n const tabContext = initTabContext({\n diag: this._diag,\n localStorage: storage,\n navigationPerformance,\n referrer,\n sessionStorage: tabStorage,\n });\n this._tab = tabContext.tab;\n this._navigationSource = tabContext.navigationSource;\n this._referrerScrubbedUrl = tabContext.referrerScrubbedUrl;\n setupNewTabClickListeners(this._tab, storage, this._diag);\n MXLUserSessionManager._testInstances.add(this);\n }\n\n public setTracerProvider(tracerProvider: TracerProvider): void {\n this._tracer = tracerProvider.getTracer('mxl-web-sdk-session-parts');\n // Listeners attach here rather than in the constructor so that tests\n // That construct a manager without going through SDK init don't\n // Pollute window with listeners, and so that browser-activity-driven\n // Parts only start once a real tracer is wired.\n addActivityListeners({\n activityEvents: this._activityEvents,\n onActivity: this._onActivityThrottled,\n onBlur: this._onBlur,\n onFocus: this._onFocus,\n onPageHide: this._onPageHide,\n onPageShow: this._onPageShow,\n onVisibilityChange: this._onVisibilityChange,\n target: this._target,\n visibilityDoc: this._visibilityDoc,\n });\n // Eager state init so getUserSessionId() returns a real id before the\n // First part starts, and so other tabs see the row when we create a\n // Fresh session here.\n const { state, created } = this._loadOrCreateUserSessionState(\n this._perf.getNowMillis(),\n );\n this._state = state;\n if (created) {\n this._storeState();\n }\n }\n\n public recordSDKStartupDuration(duration: number): void {\n this._sdkStartupDuration = Math.ceil(duration);\n }\n\n public setAnalyticsManager(manager: AnalyticsManagerInternal | null): void {\n this._analyticsManager = manager;\n }\n\n public getUserSessionId(): string | null {\n return this._state?.userSessionId ?? null;\n }\n\n public getPreviousUserSessionId(): string | null {\n // Fall back to in-memory for the brief window during user-session end\n // Where storage is cleared but the just-ended id is still held.\n return this._state?.previousUserSessionId ?? this._previousUserSessionId;\n }\n\n public getUserSessionStartTime(): number | null {\n return this._state?.userSessionStartTs ?? null;\n }\n\n public getUserSessionAttributes(): UserSessionAttributes | null {\n if (!this._state) {\n return null;\n }\n const previousUserSessionId = this.getPreviousUserSessionId() ?? '';\n return {\n [KEY_MXL_USER_SESSION_ID]: this._state.userSessionId,\n [ATTR_SESSION_ID]: this._state.userSessionId,\n [KEY_MXL_USER_SESSION_PREVIOUS_ID]: previousUserSessionId,\n [ATTR_SESSION_PREVIOUS_ID]: previousUserSessionId,\n [KEY_MXL_USER_SESSION_NUMBER]: this._state.userSessionNumber,\n [KEY_MXL_USER_SESSION_PART_INDEX]: this._state.userSessionPartIndex,\n [KEY_MXL_SESSION_PART_NUMBER]: this._currentSessionPartNumber ?? 0,\n [KEY_MXL_USER_SESSION_START_TS]: this._state.userSessionStartTs,\n [KEY_MXL_USER_SESSION_MAX_DURATION_SECONDS]:\n this._state.maxUserSessionDurationSeconds,\n [KEY_MXL_USER_SESSION_INACTIVITY_TIMEOUT_SECONDS]:\n this._state.inactivityTimeoutSeconds,\n };\n }\n\n public endUserSession(): void {\n if (!this._state) {\n this._diag.debug(\n 'Trying to end user session, but there is no active session. This is a no-op.',\n );\n return;\n }\n\n const now = this._perf.getNowMillis();\n const lastEndRaw = this._storage.getItem(MXL_LAST_END_USER_SESSION_TS_KEY);\n const lastEndTs = lastEndRaw === null ? NaN : Number(lastEndRaw);\n if (\n Number.isFinite(lastEndTs) &&\n now - lastEndTs < END_USER_SESSION_COOLDOWN_MS\n ) {\n this._diag.warn(\n 'endUserSession called within cooldown period, ignoring.',\n );\n return;\n }\n\n this._rolloverUserSession('manual');\n this._storage.setItem(MXL_LAST_END_USER_SESSION_TS_KEY, String(now));\n }\n\n public getSessionPartId(): string | null {\n return this._activeSessionPartId;\n }\n\n public getSessionPartSpan(): ExtendedSpan | null {\n return this._sessionPartSpan;\n }\n\n public startSessionPartInternal(reason: SessionPartStartReason): void {\n if (this._sessionPartSpan) {\n this._diag.warn(\n `startSessionPartInternal called while a part is active (reason: ${reason}); ignoring`,\n );\n return;\n }\n\n // Parts are foreground-only: a part corresponds to a tab that is both\n // Visible AND focused.\n if (\n getVisibilityState(this._visibilityDoc) === MXL_STATES.Background ||\n !this._visibilityDoc.hasFocus()\n ) {\n this._diag.debug(\n `skipping session part start (reason: ${reason}) because the tab is not engaged`,\n );\n return;\n }\n\n const activeSessionPartId = generateUUID();\n const previouslyRecordedCounts = this._nextSessionPartCounts;\n\n this._beginUserSessionForPartStart();\n\n const attributes: Attributes = {\n ...this.getUserSessionAttributes(),\n [KEY_MXL_TYPE]: MXL_TYPES.SessionPart,\n [KEY_MXL_STATE]: MXL_STATES.Foreground,\n [KEY_MXL_SESSION_PART_ID]: activeSessionPartId,\n [KEY_MXL_SESSION_PART_START_REASON]: reason,\n [KEY_MXL_COLD_START]: this._coldStart,\n [KEY_MXL_EXPERIENCE_ID]: this._tab.experienceId,\n [KEY_MXL_TAB_ID]: this._tab.tabId,\n [KEY_MXL_NAVIGATION_SOURCE]: this._navigationSource,\n ...previouslyRecordedCounts,\n };\n\n if (this._referrerScrubbedUrl) {\n attributes[KEY_MXL_REFERRER_URL] = this._referrerScrubbedUrl;\n }\n if (this._tab.sourceTabId) {\n attributes[KEY_MXL_SOURCE_TAB_ID] = this._tab.sourceTabId;\n }\n\n this._activeSessionPartId = activeSessionPartId;\n let span: MXLExtendedSpan;\n try {\n span = new MXLExtendedSpan(\n this._tracer.startSpan(SESSION_PART_SPAN_NAME, { attributes }),\n );\n } catch (error) {\n this._activeSessionPartId = null;\n this._diag.error('Error starting session part span', error);\n return;\n }\n\n this._activeSessionPartCounts = {};\n this._nextSessionPartCounts = {};\n this._sessionPartSpan = span;\n this._coldStart = false;\n\n this._startSessionPartInactivityTimer();\n\n this._fireListeners(this._sessionPartStartedListeners, 'started');\n }\n\n public endSessionPartInternal(\n reason: SessionPartEndReason,\n userSessionEndReason?: UserSessionEndReason | null,\n ): void {\n if (!this._sessionPartSpan) {\n this._diag.debug(\n 'trying to end a session part, but there is no session part in progress. This is a no-op.',\n );\n return;\n }\n\n this._clearSessionPartInactivityTimer();\n\n const isFinal = reason === 'user_session_ended' || reason === 'inactivity';\n\n // Capture the end stamp upfront. SpanProcessor.onEnd can run unbounded\n // And must not push it forward.\n const partEndTs = this._perf.getNowMillis();\n const span = this._sessionPartSpan;\n try {\n const endAttrs: Attributes = {\n [KEY_MXL_SESSION_PART_END_REASON]: reason,\n ...this._activeSessionPartCounts,\n ...this._limitManager.getDiagnosticCounts(),\n [KEY_MXL_SDK_STARTUP_DURATION]: this._sdkStartupDuration,\n };\n if (isFinal) {\n endAttrs[KEY_MXL_IS_FINAL_SESSION_PART] = 1;\n if (userSessionEndReason) {\n endAttrs[KEY_MXL_USER_SESSION_TERMINATION_REASON] =\n userSessionEndReason;\n }\n }\n\n if (this._analyticsManager) {\n Object.assign(\n endAttrs,\n this._analyticsManager.buildSessionPartAnalyticsAttributes(),\n );\n this._analyticsManager.finalizeSessionPartAnalytics();\n }\n\n const propertyAttrs: Attributes = {};\n for (const [bareKey, value] of Object.entries(\n this.getSessionPartProperties(),\n )) {\n propertyAttrs[KEY_PREFIX_MXL_PROPERTIES + bareKey] = value;\n }\n\n try {\n span.setAttributes({\n ...propertyAttrs,\n ...endAttrs,\n });\n } catch (error) {\n this._diag.warn(\n 'Error setting end attributes on session part span; ending span without them',\n error,\n );\n }\n } finally {\n // Fire listeners after end attributes are stamped (so subscribers can\n // Read them) and before span.end() (so anything they emit still\n // Attaches to the part that is conceptually still active).\n this._fireListeners(this._sessionPartEndedListeners, 'ended');\n try {\n span.end(partEndTs);\n } catch (error) {\n this._diag.warn('Error ending session part span', error);\n }\n this._sessionPartSpan = null;\n this._activeSessionPartId = null;\n this._activeSessionPartCounts = null;\n this._currentSessionPartNumber = null;\n this._limitManager.reset();\n }\n\n if (isFinal) {\n this._previousUserSessionId = this._state?.userSessionId ?? null;\n this._state = null;\n this._storage.removeItem(MXL_USER_SESSION_STATE_KEY);\n this._clearMaxDurationTimer();\n } else {\n this._continueUserSessionAfterPartEnd(partEndTs);\n }\n }\n\n public addBreadcrumb(name: string): void {\n if (!this._sessionPartSpan) {\n this._diag.debug(\n 'trying to add breadcrumb, but there is no session part in progress. This is a no-op.',\n );\n return;\n }\n\n const limitedBreadcrumb = this._limitManager.limitBreadcrumb(name);\n if (limitedBreadcrumb === 'dropped') {\n return;\n }\n\n this._sessionPartSpan.addEvent(\n 'mxl-breadcrumb',\n {\n message: limitedBreadcrumb.name,\n },\n this._perf.getNowMillis(),\n );\n }\n\n public addProperty(\n propertyKey: string,\n value: string,\n options?: PropertyOptions,\n ): void {\n const limitedSessionProperty = this._limitManager.limitSessionProperty(\n propertyKey,\n value,\n );\n\n if (limitedSessionProperty === 'dropped') {\n return;\n }\n\n const bareKey = limitedSessionProperty.key;\n const bareValue = limitedSessionProperty.value;\n\n if (options?.lifespan === 'permanent') {\n const candidate = {\n ...this._permanentProperties,\n [bareKey]: bareValue,\n };\n // Reject the write if storage is unavailable: a property that can't\n // Persist would silently diverge from what other tabs (and the next\n // Page load) see, which is worse than no property at all.\n if (!storePermanentProperties(this._storage, candidate)) {\n this._diag.warn(\n 'Storage unavailable; rejecting permanent property write.',\n );\n return;\n }\n this._permanentProperties = candidate;\n this._removeFromUserSessionProperties(bareKey);\n return;\n }\n\n // Ensure a state row exists so the write has somewhere to land;\n // AddProperty can fire before any part has started.\n const { state } = this._loadOrCreateUserSessionState(\n this._perf.getNowMillis(),\n );\n this._state = {\n ...state,\n userSessionProperties: {\n ...state.userSessionProperties,\n [bareKey]: bareValue,\n },\n };\n if (!this._storeState()) {\n // Roll back so callers don't observe a value that won't persist.\n // The user session itself stays in memory.\n this._state = state;\n this._diag.warn(\n 'Storage unavailable; rejecting user-session property write.',\n );\n }\n }\n\n public removeProperty(propertyKey: string): void {\n const bareKey = this._limitManager.truncateString(\n 'session_property_key',\n propertyKey,\n );\n\n // Try both stores so a key that was flipped between scopes doesn't\n // Linger in the other one.\n this._removeFromPermanentProperties(bareKey);\n this._removeFromUserSessionProperties(bareKey);\n }\n\n /**\n * Bare-keyed view of properties for the active part. User-session-scoped\n * entries shadow permanent ones, matching the cross-scope flip rule\n * enforced in `addProperty`. Callers apply the wire-format prefix at\n * stamp time.\n */\n public getSessionPartProperties(): Record<string, string> {\n return {\n ...this._permanentProperties,\n ...this._state?.userSessionProperties,\n };\n }\n\n public incrSessionPartCountForKey(key: string): void {\n if (!this._sessionPartSpan || !this._activeSessionPartCounts) {\n this._diag.debug(\n 'trying to increment a count for the active session part, but there is no session part in progress. This is a no-op.',\n );\n return;\n }\n this._activeSessionPartCounts[key] =\n (this._activeSessionPartCounts[key] || 0) + 1;\n }\n\n public incrNextSessionPartCountForKey(key: string): void {\n this._nextSessionPartCounts[key] =\n (this._nextSessionPartCounts[key] || 0) + 1;\n }\n\n public addSessionPartStartedListener(listener: () => void): () => void {\n return this._addListener(this._sessionPartStartedListeners, listener);\n }\n\n public addSessionPartEndedListener(listener: () => void): () => void {\n return this._addListener(this._sessionPartEndedListeners, listener);\n }\n\n /**\n * Returns the persisted user-session state, rotating to a fresh one if\n * the persisted row is missing or expired. Arms the max-duration timer\n * when needed. The caller is responsible for assigning the result to\n * `_state` and for persisting (the helper does not write to storage).\n */\n private _loadOrCreateUserSessionState(now: number): {\n state: UserSessionState;\n created: boolean;\n } {\n let state = readUserSessionState(this._storage, this._diag);\n let created = false;\n if (!state || isUserSessionExpired(state, now)) {\n if (state) {\n this._previousUserSessionId = state.userSessionId;\n }\n const userSessionNumber = getIncrementedCount(\n this._storage,\n MXL_USER_SESSION_NUMBER_KEY,\n this._diag,\n );\n state = createUserSessionState({\n inactivityTimeoutSeconds: this._inactivityTimeoutSeconds,\n maxUserSessionDurationSeconds: this._maxUserSessionDurationSeconds,\n now,\n previousUserSessionId: this._previousUserSessionId,\n userSessionNumber,\n });\n created = true;\n this._analyticsManager?.resetSessionAnalyticsForNewUserSession();\n }\n // Arm on a freshly created state, and on the page-reload case where a\n // New manager loads existing state and has no timer running yet.\n // UserSessionMaxEndTs is fixed at creation, so re-arming the same value\n // On every load/start call is wasteful.\n if (created || this._maxDurationTimeout === null) {\n this._setupMaxDurationTimer(state, now);\n }\n return { created, state };\n }\n\n /**\n * Bumps the part counter and arms the max-duration timer. Relies on\n * `_loadOrCreateUserSessionState` to provide a non-null, non-expired state,\n * so `getUserSessionAttributes()` is guaranteed non-null after this.\n */\n private _beginUserSessionForPartStart(): void {\n const now = this._perf.getNowMillis();\n const { state } = this._loadOrCreateUserSessionState(now);\n\n this._currentSessionPartNumber = getIncrementedCount(\n this._storage,\n MXL_SESSION_PART_NUMBER_KEY,\n this._diag,\n );\n\n this._state = {\n ...state,\n userSessionPartIndex: state.userSessionPartIndex + 1,\n // A part is active, so any pending inactivity deadline no longer\n // Applies; it gets re-armed when the part ends.\n inactivityDeadlineTs: null,\n };\n this._storeState();\n }\n\n /**\n * Records the inactivity deadline on the user-session row so the next\n * part start can detect lazy expiry. The max-duration timer stays valid\n * because userSessionMaxEndTs doesn't change between parts.\n */\n private _continueUserSessionAfterPartEnd(partEndTs: number): void {\n if (!this._state) {\n this._clearMaxDurationTimer();\n return;\n }\n\n // If the state row was present at part start but is gone now (user\n // Wiped site data, quota eviction, sibling tab cleared), don't\n // Resurrect it from memory. Drop in-memory state so the next part\n // Start creates a fresh user session; carry the just-ended id\n // Forward so the next session can back-link to it.\n // _hasStoredState gates this: if we never persisted in the first\n // Place, the in-memory copy stays authoritative.\n if (\n this._hasStoredState &&\n this._storage.getItem(MXL_USER_SESSION_STATE_KEY) === null\n ) {\n this._previousUserSessionId = this._state.userSessionId;\n this._state = null;\n this._clearMaxDurationTimer();\n return;\n }\n\n this._state = {\n ...this._state,\n inactivityDeadlineTs:\n partEndTs + this._state.inactivityTimeoutSeconds * 1000,\n };\n this._storeState();\n }\n\n /**\n * Ends the active part as final and starts a fresh part for the next\n * user session. State clearing for the engaged path is handled by\n * endSessionPartInternal's isFinal branch. When no part is active\n * (tab disengaged), the same state-clearing is performed inline so\n * the next engagement creates a fresh user session rather than\n * resuming the just-ended one.\n */\n private _rolloverUserSession(\n userSessionEndReason: UserSessionEndReason,\n ): void {\n if (this._sessionPartSpan) {\n this.endSessionPartInternal('user_session_ended', userSessionEndReason);\n this.startSessionPartInternal('user_session_rollover');\n return;\n }\n\n this._previousUserSessionId = this._state?.userSessionId ?? null;\n this._state = null;\n this._storage.removeItem(MXL_USER_SESSION_STATE_KEY);\n this._clearMaxDurationTimer();\n }\n\n private _setupMaxDurationTimer(state: UserSessionState, now: number): void {\n this._clearMaxDurationTimer();\n\n const remaining = state.userSessionMaxEndTs - now;\n if (remaining <= 0) {\n return;\n }\n\n this._maxDurationTimeout = setTimeout(() => {\n this._maxDurationTimeout = null;\n this._rolloverUserSession('max_duration_reached');\n }, remaining);\n }\n\n /**\n * @internal Would be private but exposed for tests to simulate a page reload\n */\n public _clearMaxDurationTimer(): void {\n if (this._maxDurationTimeout !== null) {\n clearTimeout(this._maxDurationTimeout);\n this._maxDurationTimeout = null;\n }\n }\n\n /**\n * Detaches browser-activity listeners and clears the part-inactivity\n * timer. Intended for SDK teardown and tests; in production the manager\n * lives for the page's lifetime.\n */\n public _shutdown(): void {\n if (this._isShutdown) {\n return;\n }\n this._isShutdown = true;\n MXLUserSessionManager._testInstances.delete(this);\n this._onActivityThrottled.cancel();\n removeActivityListeners({\n activityEvents: this._activityEvents,\n onActivity: this._onActivityThrottled,\n onBlur: this._onBlur,\n onFocus: this._onFocus,\n onPageHide: this._onPageHide,\n onPageShow: this._onPageShow,\n onVisibilityChange: this._onVisibilityChange,\n target: this._target,\n visibilityDoc: this._visibilityDoc,\n });\n this._clearSessionPartInactivityTimer();\n this._clearMaxDurationTimer();\n }\n\n private readonly _onActivity = (): void => {\n try {\n if (!isTabEngaged(this._visibilityDoc)) {\n return;\n }\n if (this._activeSessionPartId === null) {\n this.startSessionPartInternal('web_activity');\n return;\n }\n this._startSessionPartInactivityTimer();\n } catch (error) {\n this._diag.warn('Error handling activity event', error);\n }\n };\n\n // Tab visibility flipped (switch tabs, minimize, OS app switch). Drives\n // The engagement transition off the current visibilityState/hasFocus pair.\n private readonly _onVisibilityChange = (): void => {\n this._handleEngagementTransition('visibilitychange');\n };\n\n // Window focus arrived (alt-tab back, clicked into the document). hasFocus\n // Is now true; engagement transition resolves whether to start a part.\n private readonly _onFocus = (): void => {\n this._handleEngagementTransition('focus');\n };\n\n // Window focus lost (alt-tab away, clicked into DevTools or another window).\n // HasFocus is now false; engagement transition ends the active part.\n private readonly _onBlur = (): void => {\n this._handleEngagementTransition('blur');\n };\n\n // Initial page load OR BFCache restore. event.persisted only affects the\n // Debug source string; routing is via _handleEngagementTransition, which\n // Keys off engagement state and whether a part is currently active.\n private readonly _onPageShow = (event: PageTransitionEvent): void => {\n this._handleEngagementTransition(\n event.persisted ? 'pageshow-bfcache' : 'pageshow-initial',\n );\n };\n\n // Navigation away (hard nav, tab close) OR BFCache freeze. Both signal the\n // Page is about to stop running, so we always end the active part. Ending\n // The part flushes its span (and the spans batched against it in\n // MXLSessionPartBatchedSpanProcessor) through the export pipeline while\n // The page can still issue a keepalive fetch. On BFCache restore, pageshow\n // Will start a fresh part.\n private readonly _onPageHide = (event: PageTransitionEvent): void => {\n try {\n if (this._activeSessionPartId === null) {\n return;\n }\n const reason: SessionPartEndReason = event.persisted\n ? 'web_background'\n : 'web_hard_navigation';\n this._diag.debug(\n `page hiding (persisted=${event.persisted}); ending current part as ${reason}`,\n );\n this.endSessionPartInternal(reason);\n } catch (error) {\n this._diag.error(\n `Error ending session part on pagehide (persisted=${event.persisted})`,\n error,\n );\n }\n };\n\n private _handleEngagementTransition(source: string): void {\n try {\n const engaged = isTabEngaged(this._visibilityDoc);\n const active = this._activeSessionPartId !== null;\n if (!engaged && active) {\n this._diag.debug(`tab disengaged via ${source}; ending current part`);\n this.endSessionPartInternal('web_background');\n return;\n }\n if (engaged && !active) {\n this._diag.debug(`tab engaged via ${source}; starting new part`);\n this.startSessionPartInternal('web_foreground');\n return;\n }\n if (engaged && active) {\n // Redundant engagement event while a part is already active (browser\n // Quirk: an extra focus/visibility fire that isn't a real transition).\n // Re-arm the inactivity timer since the event still implies presence.\n this._startSessionPartInactivityTimer();\n }\n } catch (error) {\n this._diag.warn('Error handling engagement change', error);\n }\n }\n\n private readonly _onSessionPartInactivity = (): void => {\n this._sessionPartInactivityTimer = null;\n try {\n if (this._activeSessionPartId === null) {\n return;\n }\n this._diag.debug(\n 'inactivity timer fired; ending current part and user session',\n );\n this.endSessionPartInternal('inactivity', 'inactivity');\n } catch (error) {\n this._diag.warn('Error handling inactivity timer', error);\n }\n };\n\n private _startSessionPartInactivityTimer(): void {\n this._clearSessionPartInactivityTimer();\n this._sessionPartInactivityTimer = setTimeout(\n this._onSessionPartInactivity,\n this._inactivityTimeoutSeconds * 1000,\n );\n }\n\n private _clearSessionPartInactivityTimer(): void {\n if (this._sessionPartInactivityTimer !== null) {\n clearTimeout(this._sessionPartInactivityTimer);\n this._sessionPartInactivityTimer = null;\n }\n }\n\n private _addListener(list: (() => void)[], listener: () => void): () => void {\n list.push(listener);\n return () => {\n const i = list.indexOf(listener);\n if (i !== -1) {\n list.splice(i, 1);\n }\n };\n }\n\n private _fireListeners(list: (() => void)[], kind: string): void {\n for (const listener of list) {\n try {\n listener();\n } catch (error) {\n this._diag.warn(\n `Error while executing session part ${kind} listener`,\n error,\n );\n }\n }\n }\n\n private _storeState(): boolean {\n if (!this._state) {\n return false;\n }\n const stored = this._storage.setItem(\n MXL_USER_SESSION_STATE_KEY,\n JSON.stringify(this._state),\n );\n if (stored) {\n this._hasStoredState = true;\n }\n return stored;\n }\n\n private _removeFromPermanentProperties(bareKey: string): void {\n if (!(bareKey in this._permanentProperties)) {\n return;\n }\n const pruned = { ...this._permanentProperties };\n delete pruned[bareKey];\n this._permanentProperties = pruned;\n storePermanentProperties(this._storage, pruned);\n }\n\n private _removeFromUserSessionProperties(bareKey: string): void {\n if (!this._state || !(bareKey in this._state.userSessionProperties)) {\n return;\n }\n const pruned = { ...this._state.userSessionProperties };\n delete pruned[bareKey];\n this._state = {\n ...this._state,\n userSessionProperties: pruned,\n };\n this._storeState();\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AnalyticsManagerInternal } from "../../api-analytics/manager/types.cjs";
|
|
1
2
|
import { ExtendedSpan } from "../../api-traces/api/TraceAPI/types.cjs";
|
|
2
3
|
import { PropertyOptions, SessionPartEndReason, SessionPartStartReason, UserSessionEndReason } from "../../api-sessions/manager/types.cjs";
|
|
3
4
|
import { MXLUserSessionManagerArgs, UserSessionAttributes, UserSessionManagerInternal } from "./types.cjs";
|
|
@@ -43,6 +44,7 @@ declare class MXLUserSessionManager implements UserSessionManagerInternal {
|
|
|
43
44
|
private readonly _tab;
|
|
44
45
|
private readonly _navigationSource;
|
|
45
46
|
private readonly _referrerScrubbedUrl?;
|
|
47
|
+
private _analyticsManager;
|
|
46
48
|
constructor({
|
|
47
49
|
config,
|
|
48
50
|
diag: diagParam,
|
|
@@ -59,6 +61,7 @@ declare class MXLUserSessionManager implements UserSessionManagerInternal {
|
|
|
59
61
|
}: MXLUserSessionManagerArgs);
|
|
60
62
|
setTracerProvider(tracerProvider: TracerProvider): void;
|
|
61
63
|
recordSDKStartupDuration(duration: number): void;
|
|
64
|
+
setAnalyticsManager(manager: AnalyticsManagerInternal | null): void;
|
|
62
65
|
getUserSessionId(): string | null;
|
|
63
66
|
getPreviousUserSessionId(): string | null;
|
|
64
67
|
getUserSessionStartTime(): number | null;
|