@safaricom-mxl/web-sdk 0.0.18 → 0.0.19

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.
Files changed (767) hide show
  1. package/DATA_EXPORT.md +14 -0
  2. package/REACT.md +6 -6
  3. package/TANSTACK.md +92 -0
  4. package/dist/api-logs/api/LogAPI/LogAPI.cjs.map +1 -1
  5. package/dist/api-logs/api/LogAPI/LogAPI.js.map +1 -1
  6. package/dist/api-logs/manager/ProxyLogManager/ProxyLogManager.cjs.map +1 -1
  7. package/dist/api-logs/manager/ProxyLogManager/ProxyLogManager.js.map +1 -1
  8. package/dist/api-page/api/PageAPI/PageAPI.cjs.map +1 -1
  9. package/dist/api-page/api/PageAPI/PageAPI.js.map +1 -1
  10. package/dist/api-page/manager/ProxyPageManager/ProxyPageManager.cjs.map +1 -1
  11. package/dist/api-page/manager/ProxyPageManager/ProxyPageManager.js.map +1 -1
  12. package/dist/api-sessions/api/SessionAPI/SessionAPI.cjs.map +1 -1
  13. package/dist/api-sessions/api/SessionAPI/SessionAPI.js.map +1 -1
  14. package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.cjs.map +1 -1
  15. package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.d.cts.map +1 -1
  16. package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.d.ts.map +1 -1
  17. package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.js.map +1 -1
  18. package/dist/api-traces/api/TraceAPI/TraceAPI.cjs.map +1 -1
  19. package/dist/api-traces/api/TraceAPI/TraceAPI.js.map +1 -1
  20. package/dist/api-traces/manager/NoOpTraceManager/NoOpTraceManager.cjs.map +1 -1
  21. package/dist/api-traces/manager/NoOpTraceManager/NoOpTraceManager.d.cts.map +1 -1
  22. package/dist/api-traces/manager/NoOpTraceManager/NoOpTraceManager.d.ts.map +1 -1
  23. package/dist/api-traces/manager/NoOpTraceManager/NoOpTraceManager.js.map +1 -1
  24. package/dist/api-traces/manager/NoOpTraceManager/NonRecordingExtendedSpan.cjs.map +1 -1
  25. package/dist/api-traces/manager/NoOpTraceManager/NonRecordingExtendedSpan.d.cts.map +1 -1
  26. package/dist/api-traces/manager/NoOpTraceManager/NonRecordingExtendedSpan.d.ts.map +1 -1
  27. package/dist/api-traces/manager/NoOpTraceManager/NonRecordingExtendedSpan.js.map +1 -1
  28. package/dist/api-traces/manager/ProxyTraceManager/ProxyTraceManager.cjs.map +1 -1
  29. package/dist/api-traces/manager/ProxyTraceManager/ProxyTraceManager.d.cts.map +1 -1
  30. package/dist/api-traces/manager/ProxyTraceManager/ProxyTraceManager.d.ts.map +1 -1
  31. package/dist/api-traces/manager/ProxyTraceManager/ProxyTraceManager.js.map +1 -1
  32. package/dist/api-users/api/UserAPI/UserAPI.cjs.map +1 -1
  33. package/dist/api-users/api/UserAPI/UserAPI.js.map +1 -1
  34. package/dist/api-users/manager/ProxyUserManager/ProxyUserManager.cjs.map +1 -1
  35. package/dist/api-users/manager/ProxyUserManager/ProxyUserManager.js.map +1 -1
  36. package/dist/constants/attributes.cjs.map +1 -1
  37. package/dist/constants/attributes.js.map +1 -1
  38. package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.cjs +2 -2
  39. package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.cjs.map +1 -1
  40. package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.d.cts +1 -1
  41. package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.d.ts +1 -1
  42. package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.js +2 -2
  43. package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.js.map +1 -1
  44. package/dist/exporters/MXLTraceExporter/OTLPFetchTraceExporter.cjs +1 -1
  45. package/dist/exporters/MXLTraceExporter/OTLPFetchTraceExporter.cjs.map +1 -1
  46. package/dist/exporters/MXLTraceExporter/OTLPFetchTraceExporter.js +1 -1
  47. package/dist/exporters/MXLTraceExporter/OTLPFetchTraceExporter.js.map +1 -1
  48. package/dist/exporters/otlpBrowserFetchExportDelegate.d.cts +1 -1
  49. package/dist/exporters/otlpBrowserFetchExportDelegate.d.ts +1 -1
  50. package/dist/index.cjs +5 -0
  51. package/dist/index.d.cts +2 -1
  52. package/dist/index.d.ts +2 -1
  53. package/dist/index.js +2 -1
  54. package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.cjs.map +1 -1
  55. package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.js.map +1 -1
  56. package/dist/instrumentations/element-timing/ElementTimingInstrumentation/ElementTimingInstrumentation.cjs.map +1 -1
  57. package/dist/instrumentations/element-timing/ElementTimingInstrumentation/ElementTimingInstrumentation.d.cts.map +1 -1
  58. package/dist/instrumentations/element-timing/ElementTimingInstrumentation/ElementTimingInstrumentation.d.ts.map +1 -1
  59. package/dist/instrumentations/element-timing/ElementTimingInstrumentation/ElementTimingInstrumentation.js.map +1 -1
  60. package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.cjs.map +1 -1
  61. package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.js.map +1 -1
  62. package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.cjs.map +1 -1
  63. package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.d.cts.map +1 -1
  64. package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.d.ts.map +1 -1
  65. package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.js.map +1 -1
  66. package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.cjs.map +1 -1
  67. package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.d.cts.map +1 -1
  68. package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.d.ts.map +1 -1
  69. package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.js.map +1 -1
  70. package/dist/instrumentations/navigation/NavigationInstrumentation/react/createReactRouterNavigationInstrumentation.cjs.map +1 -1
  71. package/dist/instrumentations/navigation/NavigationInstrumentation/react/createReactRouterNavigationInstrumentation.js.map +1 -1
  72. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV5/withMXLRoutingLegacy.cjs +1 -1
  73. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV5/withMXLRoutingLegacy.js +1 -1
  74. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/withMXLRouting.cjs +1 -1
  75. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/withMXLRouting.js +1 -1
  76. package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.cjs +50 -207
  77. package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.cjs.map +1 -1
  78. package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.d.cts +12 -36
  79. package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.d.cts.map +1 -1
  80. package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.d.ts +12 -36
  81. package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.d.ts.map +1 -1
  82. package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.js +51 -204
  83. package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.js.map +1 -1
  84. package/dist/instrumentations/replay/ReplayInstrumentation/types.d.cts +15 -2
  85. package/dist/instrumentations/replay/ReplayInstrumentation/types.d.cts.map +1 -1
  86. package/dist/instrumentations/replay/ReplayInstrumentation/types.d.ts +15 -2
  87. package/dist/instrumentations/replay/ReplayInstrumentation/types.d.ts.map +1 -1
  88. package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.cjs +1 -1
  89. package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.cjs.map +1 -1
  90. package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.js +1 -1
  91. package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.js.map +1 -1
  92. package/dist/instrumentations/replay/events/capture/console.cjs +48 -0
  93. package/dist/instrumentations/replay/events/capture/console.cjs.map +1 -0
  94. package/dist/instrumentations/replay/events/capture/console.d.cts +7 -0
  95. package/dist/instrumentations/replay/events/capture/console.d.cts.map +1 -0
  96. package/dist/instrumentations/replay/events/capture/console.d.ts +7 -0
  97. package/dist/instrumentations/replay/events/capture/console.d.ts.map +1 -0
  98. package/dist/instrumentations/replay/events/capture/console.js +47 -0
  99. package/dist/instrumentations/replay/events/capture/console.js.map +1 -0
  100. package/dist/instrumentations/replay/events/capture/errors.cjs +41 -0
  101. package/dist/instrumentations/replay/events/capture/errors.cjs.map +1 -0
  102. package/dist/instrumentations/replay/events/capture/errors.d.cts +7 -0
  103. package/dist/instrumentations/replay/events/capture/errors.d.cts.map +1 -0
  104. package/dist/instrumentations/replay/events/capture/errors.d.ts +7 -0
  105. package/dist/instrumentations/replay/events/capture/errors.d.ts.map +1 -0
  106. package/dist/instrumentations/replay/events/capture/errors.js +40 -0
  107. package/dist/instrumentations/replay/events/capture/errors.js.map +1 -0
  108. package/dist/instrumentations/replay/events/capture/interactions.cjs +41 -0
  109. package/dist/instrumentations/replay/events/capture/interactions.cjs.map +1 -0
  110. package/dist/instrumentations/replay/events/capture/interactions.d.cts +7 -0
  111. package/dist/instrumentations/replay/events/capture/interactions.d.cts.map +1 -0
  112. package/dist/instrumentations/replay/events/capture/interactions.d.ts +7 -0
  113. package/dist/instrumentations/replay/events/capture/interactions.d.ts.map +1 -0
  114. package/dist/instrumentations/replay/events/capture/interactions.js +40 -0
  115. package/dist/instrumentations/replay/events/capture/interactions.js.map +1 -0
  116. package/dist/instrumentations/replay/events/capture/navigation.cjs +40 -0
  117. package/dist/instrumentations/replay/events/capture/navigation.cjs.map +1 -0
  118. package/dist/instrumentations/replay/events/capture/navigation.d.cts +7 -0
  119. package/dist/instrumentations/replay/events/capture/navigation.d.cts.map +1 -0
  120. package/dist/instrumentations/replay/events/capture/navigation.d.ts +7 -0
  121. package/dist/instrumentations/replay/events/capture/navigation.d.ts.map +1 -0
  122. package/dist/instrumentations/replay/events/capture/navigation.js +39 -0
  123. package/dist/instrumentations/replay/events/capture/navigation.js.map +1 -0
  124. package/dist/instrumentations/replay/events/capture/network.cjs +75 -0
  125. package/dist/instrumentations/replay/events/capture/network.cjs.map +1 -0
  126. package/dist/instrumentations/replay/events/capture/network.d.cts +7 -0
  127. package/dist/instrumentations/replay/events/capture/network.d.cts.map +1 -0
  128. package/dist/instrumentations/replay/events/capture/network.d.ts +7 -0
  129. package/dist/instrumentations/replay/events/capture/network.d.ts.map +1 -0
  130. package/dist/instrumentations/replay/events/capture/network.js +74 -0
  131. package/dist/instrumentations/replay/events/capture/network.js.map +1 -0
  132. package/dist/instrumentations/replay/events/capture/shared.cjs +12 -0
  133. package/dist/instrumentations/replay/events/capture/shared.cjs.map +1 -0
  134. package/dist/instrumentations/replay/events/capture/shared.d.cts +10 -0
  135. package/dist/instrumentations/replay/events/capture/shared.d.cts.map +1 -0
  136. package/dist/instrumentations/replay/events/capture/shared.d.ts +10 -0
  137. package/dist/instrumentations/replay/events/capture/shared.d.ts.map +1 -0
  138. package/dist/instrumentations/replay/events/capture/shared.js +11 -0
  139. package/dist/instrumentations/replay/events/capture/shared.js.map +1 -0
  140. package/dist/instrumentations/replay/events/startEventCapture.cjs +88 -0
  141. package/dist/instrumentations/replay/events/startEventCapture.cjs.map +1 -0
  142. package/dist/instrumentations/replay/events/startEventCapture.d.cts +33 -0
  143. package/dist/instrumentations/replay/events/startEventCapture.d.cts.map +1 -0
  144. package/dist/instrumentations/replay/events/startEventCapture.d.ts +33 -0
  145. package/dist/instrumentations/replay/events/startEventCapture.d.ts.map +1 -0
  146. package/dist/instrumentations/replay/events/startEventCapture.js +86 -0
  147. package/dist/instrumentations/replay/events/startEventCapture.js.map +1 -0
  148. package/dist/instrumentations/replay/events/types.cjs +14 -0
  149. package/dist/instrumentations/replay/events/types.cjs.map +1 -0
  150. package/dist/instrumentations/replay/events/types.d.cts +28 -0
  151. package/dist/instrumentations/replay/events/types.d.cts.map +1 -0
  152. package/dist/instrumentations/replay/events/types.d.ts +28 -0
  153. package/dist/instrumentations/replay/events/types.d.ts.map +1 -0
  154. package/dist/instrumentations/replay/events/types.js +12 -0
  155. package/dist/instrumentations/replay/events/types.js.map +1 -0
  156. package/dist/instrumentations/replay/recorder/startRecording.cjs +75 -0
  157. package/dist/instrumentations/replay/recorder/startRecording.cjs.map +1 -0
  158. package/dist/instrumentations/replay/recorder/startRecording.d.cts +30 -0
  159. package/dist/instrumentations/replay/recorder/startRecording.d.cts.map +1 -0
  160. package/dist/instrumentations/replay/recorder/startRecording.d.ts +30 -0
  161. package/dist/instrumentations/replay/recorder/startRecording.d.ts.map +1 -0
  162. package/dist/instrumentations/replay/recorder/startRecording.js +74 -0
  163. package/dist/instrumentations/replay/recorder/startRecording.js.map +1 -0
  164. package/dist/instrumentations/replay/recorder/types.cjs +0 -0
  165. package/dist/instrumentations/replay/recorder/types.d.cts +11 -0
  166. package/dist/instrumentations/replay/recorder/types.d.cts.map +1 -0
  167. package/dist/instrumentations/replay/recorder/types.d.ts +11 -0
  168. package/dist/instrumentations/replay/recorder/types.d.ts.map +1 -0
  169. package/dist/instrumentations/replay/recorder/types.js +0 -0
  170. package/dist/instrumentations/replay/rrwebLoader/loadRrwebModule.iife.cjs.map +1 -1
  171. package/dist/instrumentations/replay/rrwebLoader/loadRrwebModule.iife.d.cts.map +1 -1
  172. package/dist/instrumentations/replay/rrwebLoader/loadRrwebModule.iife.d.ts.map +1 -1
  173. package/dist/instrumentations/replay/rrwebLoader/loadRrwebModule.iife.js.map +1 -1
  174. package/dist/instrumentations/replay/rrwebLoader/types.d.cts.map +1 -1
  175. package/dist/instrumentations/replay/rrwebLoader/types.d.ts.map +1 -1
  176. package/dist/instrumentations/replay/session-recording/SessionRecording.cjs +175 -0
  177. package/dist/instrumentations/replay/session-recording/SessionRecording.cjs.map +1 -0
  178. package/dist/instrumentations/replay/session-recording/SessionRecording.d.cts +54 -0
  179. package/dist/instrumentations/replay/session-recording/SessionRecording.d.cts.map +1 -0
  180. package/dist/instrumentations/replay/session-recording/SessionRecording.d.ts +54 -0
  181. package/dist/instrumentations/replay/session-recording/SessionRecording.d.ts.map +1 -0
  182. package/dist/instrumentations/replay/session-recording/SessionRecording.js +174 -0
  183. package/dist/instrumentations/replay/session-recording/SessionRecording.js.map +1 -0
  184. package/dist/instrumentations/replay/session-recording/chunkSeq.cjs +17 -0
  185. package/dist/instrumentations/replay/session-recording/chunkSeq.cjs.map +1 -0
  186. package/dist/instrumentations/replay/session-recording/chunkSeq.d.cts +10 -0
  187. package/dist/instrumentations/replay/session-recording/chunkSeq.d.cts.map +1 -0
  188. package/dist/instrumentations/replay/session-recording/chunkSeq.d.ts +10 -0
  189. package/dist/instrumentations/replay/session-recording/chunkSeq.d.ts.map +1 -0
  190. package/dist/instrumentations/replay/session-recording/chunkSeq.js +16 -0
  191. package/dist/instrumentations/replay/session-recording/chunkSeq.js.map +1 -0
  192. package/dist/instrumentations/replay/session-recording/config.cjs +23 -0
  193. package/dist/instrumentations/replay/session-recording/config.cjs.map +1 -0
  194. package/dist/instrumentations/replay/session-recording/config.d.cts +31 -0
  195. package/dist/instrumentations/replay/session-recording/config.d.cts.map +1 -0
  196. package/dist/instrumentations/replay/session-recording/config.d.ts +31 -0
  197. package/dist/instrumentations/replay/session-recording/config.d.ts.map +1 -0
  198. package/dist/instrumentations/replay/session-recording/config.js +22 -0
  199. package/dist/instrumentations/replay/session-recording/config.js.map +1 -0
  200. package/dist/instrumentations/replay/session-recording/format.cjs +26 -0
  201. package/dist/instrumentations/replay/session-recording/format.cjs.map +1 -0
  202. package/dist/instrumentations/replay/session-recording/format.d.cts +16 -0
  203. package/dist/instrumentations/replay/session-recording/format.d.cts.map +1 -0
  204. package/dist/instrumentations/replay/session-recording/format.d.ts +16 -0
  205. package/dist/instrumentations/replay/session-recording/format.d.ts.map +1 -0
  206. package/dist/instrumentations/replay/session-recording/format.js +24 -0
  207. package/dist/instrumentations/replay/session-recording/format.js.map +1 -0
  208. package/dist/instrumentations/replay/session-recording/lifecycle.cjs +72 -0
  209. package/dist/instrumentations/replay/session-recording/lifecycle.cjs.map +1 -0
  210. package/dist/instrumentations/replay/session-recording/lifecycle.d.cts +21 -0
  211. package/dist/instrumentations/replay/session-recording/lifecycle.d.cts.map +1 -0
  212. package/dist/instrumentations/replay/session-recording/lifecycle.d.ts +21 -0
  213. package/dist/instrumentations/replay/session-recording/lifecycle.d.ts.map +1 -0
  214. package/dist/instrumentations/replay/session-recording/lifecycle.js +69 -0
  215. package/dist/instrumentations/replay/session-recording/lifecycle.js.map +1 -0
  216. package/dist/instrumentations/replay/trace-sink/traceSink.cjs +42 -0
  217. package/dist/instrumentations/replay/trace-sink/traceSink.cjs.map +1 -0
  218. package/dist/instrumentations/replay/trace-sink/traceSink.d.cts +17 -0
  219. package/dist/instrumentations/replay/trace-sink/traceSink.d.cts.map +1 -0
  220. package/dist/instrumentations/replay/trace-sink/traceSink.d.ts +17 -0
  221. package/dist/instrumentations/replay/trace-sink/traceSink.d.ts.map +1 -0
  222. package/dist/instrumentations/replay/trace-sink/traceSink.js +36 -0
  223. package/dist/instrumentations/replay/trace-sink/traceSink.js.map +1 -0
  224. package/dist/instrumentations/replay/transport/gzip.cjs +16 -0
  225. package/dist/instrumentations/replay/transport/gzip.cjs.map +1 -0
  226. package/dist/instrumentations/replay/transport/gzip.d.cts +10 -0
  227. package/dist/instrumentations/replay/transport/gzip.d.cts.map +1 -0
  228. package/dist/instrumentations/replay/transport/gzip.d.ts +10 -0
  229. package/dist/instrumentations/replay/transport/gzip.d.ts.map +1 -0
  230. package/dist/instrumentations/replay/transport/gzip.js +15 -0
  231. package/dist/instrumentations/replay/transport/gzip.js.map +1 -0
  232. package/dist/instrumentations/replay/transport/replayTransport.cjs +92 -0
  233. package/dist/instrumentations/replay/transport/replayTransport.cjs.map +1 -0
  234. package/dist/instrumentations/replay/transport/replayTransport.d.cts +13 -0
  235. package/dist/instrumentations/replay/transport/replayTransport.d.cts.map +1 -0
  236. package/dist/instrumentations/replay/transport/replayTransport.d.ts +13 -0
  237. package/dist/instrumentations/replay/transport/replayTransport.d.ts.map +1 -0
  238. package/dist/instrumentations/replay/transport/replayTransport.js +89 -0
  239. package/dist/instrumentations/replay/transport/replayTransport.js.map +1 -0
  240. package/dist/instrumentations/replay/transport/types.cjs +0 -0
  241. package/dist/instrumentations/replay/transport/types.d.cts +22 -0
  242. package/dist/instrumentations/replay/transport/types.d.cts.map +1 -0
  243. package/dist/instrumentations/replay/transport/types.d.ts +22 -0
  244. package/dist/instrumentations/replay/transport/types.d.ts.map +1 -0
  245. package/dist/instrumentations/replay/transport/types.js +0 -0
  246. package/dist/instrumentations/replay/transport/util.cjs +18 -0
  247. package/dist/instrumentations/replay/transport/util.cjs.map +1 -0
  248. package/dist/instrumentations/replay/transport/util.d.cts +10 -0
  249. package/dist/instrumentations/replay/transport/util.d.cts.map +1 -0
  250. package/dist/instrumentations/replay/transport/util.d.ts +10 -0
  251. package/dist/instrumentations/replay/transport/util.d.ts.map +1 -0
  252. package/dist/instrumentations/replay/transport/util.js +17 -0
  253. package/dist/instrumentations/replay/transport/util.js.map +1 -0
  254. package/dist/instrumentations/user-timing/UserTimingInstrumentation/UserTimingInstrumentation.cjs.map +1 -1
  255. package/dist/instrumentations/user-timing/UserTimingInstrumentation/UserTimingInstrumentation.d.cts.map +1 -1
  256. package/dist/instrumentations/user-timing/UserTimingInstrumentation/UserTimingInstrumentation.d.ts.map +1 -1
  257. package/dist/instrumentations/user-timing/UserTimingInstrumentation/UserTimingInstrumentation.js.map +1 -1
  258. package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.cjs.map +1 -1
  259. package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.d.cts.map +1 -1
  260. package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.d.ts.map +1 -1
  261. package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.js.map +1 -1
  262. package/dist/managers/MXLLogManager/MXLLogManager.cjs +1 -1
  263. package/dist/managers/MXLLogManager/MXLLogManager.cjs.map +1 -1
  264. package/dist/managers/MXLLogManager/MXLLogManager.d.cts.map +1 -1
  265. package/dist/managers/MXLLogManager/MXLLogManager.d.ts.map +1 -1
  266. package/dist/managers/MXLLogManager/MXLLogManager.js +1 -1
  267. package/dist/managers/MXLLogManager/MXLLogManager.js.map +1 -1
  268. package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.cjs.map +1 -1
  269. package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.js.map +1 -1
  270. package/dist/managers/MXLTraceManager/MXLExtendedSpan.cjs.map +1 -1
  271. package/dist/managers/MXLTraceManager/MXLExtendedSpan.d.cts.map +1 -1
  272. package/dist/managers/MXLTraceManager/MXLExtendedSpan.d.ts.map +1 -1
  273. package/dist/managers/MXLTraceManager/MXLExtendedSpan.js.map +1 -1
  274. package/dist/managers/MXLTraceManager/MXLTraceManager.cjs.map +1 -1
  275. package/dist/managers/MXLTraceManager/MXLTraceManager.d.cts.map +1 -1
  276. package/dist/managers/MXLTraceManager/MXLTraceManager.d.ts.map +1 -1
  277. package/dist/managers/MXLTraceManager/MXLTraceManager.js.map +1 -1
  278. package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.cjs +1 -1
  279. package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.cjs.map +1 -1
  280. package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.d.cts.map +1 -1
  281. package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.d.ts.map +1 -1
  282. package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.js +1 -1
  283. package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.js.map +1 -1
  284. package/dist/managers/MXLUserSessionManager/utils/state.cjs +1 -1
  285. package/dist/managers/MXLUserSessionManager/utils/state.cjs.map +1 -1
  286. package/dist/managers/MXLUserSessionManager/utils/state.js +1 -1
  287. package/dist/managers/MXLUserSessionManager/utils/state.js.map +1 -1
  288. package/dist/managers/MXLUserSessionManager/utils/tabTracking.cjs +1 -1
  289. package/dist/managers/MXLUserSessionManager/utils/tabTracking.js +1 -1
  290. package/dist/mxl-web-sdk.js +2 -1
  291. package/dist/mxl-web-sdk.js.map +1 -1
  292. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/esm/common/internal.js +1 -1
  293. 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 +1 -0
  294. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/esm/common/utils.js +1 -1
  295. package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/esm/common/utils.js.map +1 -0
  296. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/esm/logs/internal.js +1 -1
  297. 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 +1 -0
  298. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/esm/logs/json/logs.js +1 -1
  299. package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/json/logs.js.map +1 -0
  300. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/esm/trace/internal.js +1 -1
  301. package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/internal.js.map +1 -0
  302. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/esm/trace/json/trace.js +1 -1
  303. package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/json/trace.js.map +1 -0
  304. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/common/hex-to-binary.cjs +2 -2
  305. package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/common/hex-to-binary.cjs.map +1 -0
  306. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/common/internal.cjs +2 -2
  307. 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 +1 -0
  308. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/common/protobuf/common-serializer.cjs +2 -2
  309. 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/common-serializer.cjs.map +1 -0
  310. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/common/protobuf/protobuf-reader.cjs +2 -2
  311. 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 +1 -0
  312. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/common/protobuf/protobuf-size-estimator.cjs +2 -2
  313. 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-size-estimator.cjs.map +1 -0
  314. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/common/protobuf/protobuf-writer.cjs +2 -2
  315. 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-writer.cjs.map +1 -0
  316. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/common/protobuf/utils.cjs +2 -2
  317. 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/utils.cjs.map +1 -0
  318. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/common/utils.cjs +2 -2
  319. package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/common/utils.cjs.map +1 -0
  320. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/i-serializer.d.cts +1 -1
  321. package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/i-serializer.d.cts.map +1 -0
  322. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/i-serializer.d.ts +1 -1
  323. package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/i-serializer.d.ts.map +1 -0
  324. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/index.cjs +2 -2
  325. package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/index.cjs.map +1 -0
  326. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/logs/internal.cjs +2 -2
  327. 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 +1 -0
  328. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/logs/json/index.cjs +2 -2
  329. package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/logs/json/index.cjs.map +1 -0
  330. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/logs/json/logs.cjs +2 -2
  331. package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/logs/json/logs.cjs.map +1 -0
  332. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/logs/protobuf/index.cjs +2 -2
  333. package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/index.cjs.map +1 -0
  334. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/logs/protobuf/logs-serializer.cjs +2 -2
  335. package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/logs-serializer.cjs.map +1 -0
  336. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/logs/protobuf/logs.cjs +2 -2
  337. package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/logs.cjs.map +1 -0
  338. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/logs/protobuf/response-deserializer.cjs +2 -2
  339. package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/response-deserializer.cjs.map +1 -0
  340. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/metrics/internal-types.cjs +2 -2
  341. 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-types.cjs.map +1 -0
  342. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/metrics/internal.cjs +3 -3
  343. 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 +1 -0
  344. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/metrics/json/index.cjs +2 -2
  345. package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/json/index.cjs.map +1 -0
  346. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/metrics/json/metrics.cjs +2 -2
  347. package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/json/metrics.cjs.map +1 -0
  348. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/metrics/protobuf/index.cjs +2 -2
  349. package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/protobuf/index.cjs.map +1 -0
  350. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/metrics/protobuf/metrics-serializer.cjs +3 -3
  351. package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/protobuf/metrics-serializer.cjs.map +1 -0
  352. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/metrics/protobuf/metrics.cjs +2 -2
  353. package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/protobuf/metrics.cjs.map +1 -0
  354. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/metrics/protobuf/response-deserializer.cjs +2 -2
  355. package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/protobuf/response-deserializer.cjs.map +1 -0
  356. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/trace/internal.cjs +2 -2
  357. package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/trace/internal.cjs.map +1 -0
  358. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/trace/json/index.cjs +2 -2
  359. package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/trace/json/index.cjs.map +1 -0
  360. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/trace/json/trace.cjs +2 -2
  361. package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/trace/json/trace.cjs.map +1 -0
  362. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/trace/protobuf/index.cjs +2 -2
  363. package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/trace/protobuf/index.cjs.map +1 -0
  364. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/trace/protobuf/response-deserializer.cjs +2 -2
  365. package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/trace/protobuf/response-deserializer.cjs.map +1 -0
  366. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/trace/protobuf/trace-serializer.cjs +2 -2
  367. package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/trace/protobuf/trace-serializer.cjs.map +1 -0
  368. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/trace/protobuf/trace.cjs +2 -2
  369. package/dist/node_modules/.pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/otlp-transformer/build/src/trace/protobuf/trace.cjs.map +1 -0
  370. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/InstrumentDescriptor.cjs +2 -2
  371. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/InstrumentDescriptor.cjs.map +1 -0
  372. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/Instruments.cjs +2 -2
  373. 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 +1 -0
  374. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/Meter.cjs +2 -2
  375. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/Meter.cjs.map +1 -0
  376. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/MeterProvider.cjs +2 -2
  377. 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 +1 -0
  378. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/ObservableResult.cjs +2 -2
  379. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/ObservableResult.cjs.map +1 -0
  380. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/aggregator/Drop.cjs +2 -2
  381. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Drop.cjs.map +1 -0
  382. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/aggregator/ExponentialHistogram.cjs +2 -2
  383. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/ExponentialHistogram.cjs.map +1 -0
  384. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/aggregator/Histogram.cjs +2 -2
  385. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Histogram.cjs.map +1 -0
  386. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/aggregator/LastValue.cjs +2 -2
  387. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/LastValue.cjs.map +1 -0
  388. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/aggregator/Sum.cjs +2 -2
  389. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Sum.cjs.map +1 -0
  390. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/aggregator/exponential-histogram/Buckets.cjs +2 -2
  391. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/Buckets.cjs.map +1 -0
  392. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/ExponentMapping.cjs +2 -2
  393. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/ExponentMapping.cjs.map +1 -0
  394. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/LogarithmMapping.cjs +2 -2
  395. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/LogarithmMapping.cjs.map +1 -0
  396. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/getMapping.cjs +2 -2
  397. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/getMapping.cjs.map +1 -0
  398. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/ieee754.cjs +2 -2
  399. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/ieee754.cjs.map +1 -0
  400. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/types.cjs +2 -2
  401. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/types.cjs.map +1 -0
  402. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/aggregator/exponential-histogram/util.cjs +2 -2
  403. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/util.cjs.map +1 -0
  404. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/aggregator/index.cjs +2 -2
  405. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/index.cjs.map +1 -0
  406. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/aggregator/types.cjs +2 -2
  407. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/types.cjs.map +1 -0
  408. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/export/AggregationSelector.cjs +2 -2
  409. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/export/AggregationSelector.cjs.map +1 -0
  410. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/export/AggregationTemporality.cjs +2 -2
  411. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/export/AggregationTemporality.cjs.map +1 -0
  412. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/export/ConsoleMetricExporter.cjs +2 -2
  413. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/export/ConsoleMetricExporter.cjs.map +1 -0
  414. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/export/InMemoryMetricExporter.cjs +2 -2
  415. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/export/InMemoryMetricExporter.cjs.map +1 -0
  416. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/export/MetricData.cjs +2 -2
  417. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricData.cjs.map +1 -0
  418. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/export/MetricReader.cjs +2 -2
  419. 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 +1 -0
  420. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/export/PeriodicExportingMetricReader.cjs +2 -2
  421. 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 +1 -0
  422. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/index.cjs +2 -2
  423. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/index.cjs.map +1 -0
  424. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/state/AsyncMetricStorage.cjs +2 -2
  425. 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 +1 -0
  426. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/state/DeltaMetricProcessor.cjs +2 -2
  427. 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 +1 -0
  428. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/state/HashMap.cjs +2 -2
  429. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/state/HashMap.cjs.map +1 -0
  430. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/state/MeterProviderSharedState.cjs +2 -2
  431. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterProviderSharedState.cjs.map +1 -0
  432. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/state/MeterSharedState.cjs +2 -2
  433. 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 +1 -0
  434. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/state/MetricCollector.cjs +2 -2
  435. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricCollector.cjs.map +1 -0
  436. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/state/MetricStorage.cjs +2 -2
  437. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricStorage.cjs.map +1 -0
  438. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/state/MetricStorageRegistry.cjs +2 -2
  439. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricStorageRegistry.cjs.map +1 -0
  440. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/state/MultiWritableMetricStorage.cjs +2 -2
  441. 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 +1 -0
  442. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/state/ObservableRegistry.cjs +2 -2
  443. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/state/ObservableRegistry.cjs.map +1 -0
  444. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/state/SyncMetricStorage.cjs +2 -2
  445. 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 +1 -0
  446. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/state/TemporalMetricProcessor.cjs +2 -2
  447. 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 +1 -0
  448. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/utils.cjs +2 -2
  449. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/utils.cjs.map +1 -0
  450. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/view/Aggregation.cjs +2 -2
  451. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/view/Aggregation.cjs.map +1 -0
  452. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/view/AggregationOption.cjs +2 -2
  453. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/view/AggregationOption.cjs.map +1 -0
  454. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/view/AttributesProcessor.cjs +2 -2
  455. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/view/AttributesProcessor.cjs.map +1 -0
  456. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/view/InstrumentSelector.cjs +2 -2
  457. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/view/InstrumentSelector.cjs.map +1 -0
  458. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/view/MeterSelector.cjs +2 -2
  459. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/view/MeterSelector.cjs.map +1 -0
  460. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/view/Predicate.cjs +2 -2
  461. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/view/Predicate.cjs.map +1 -0
  462. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/view/RegistrationConflicts.cjs +2 -2
  463. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/view/RegistrationConflicts.cjs.map +1 -0
  464. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/view/View.cjs +2 -2
  465. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/view/View.cjs.map +1 -0
  466. package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/view/ViewRegistry.cjs +2 -2
  467. package/dist/node_modules/.pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry/sdk-metrics/build/src/view/ViewRegistry.cjs.map +1 -0
  468. package/dist/node_modules/{hoist-non-react-statics → .pnpm/hoist-non-react-statics@3.3.2/node_modules/hoist-non-react-statics}/dist/hoist-non-react-statics.cjs.cjs +3 -3
  469. package/dist/node_modules/.pnpm/hoist-non-react-statics@3.3.2/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.cjs.map +1 -0
  470. package/dist/node_modules/{hoist-non-react-statics → .pnpm/hoist-non-react-statics@3.3.2/node_modules/hoist-non-react-statics}/dist/hoist-non-react-statics.cjs.js +3 -3
  471. package/dist/node_modules/.pnpm/hoist-non-react-statics@3.3.2/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js.map +1 -0
  472. package/dist/node_modules/{react-is → .pnpm/react-is@16.13.1/node_modules/react-is}/cjs/react-is.development.cjs +2 -2
  473. package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.development.cjs.map +1 -0
  474. package/dist/node_modules/{react-is → .pnpm/react-is@16.13.1/node_modules/react-is}/cjs/react-is.development.js +2 -2
  475. package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.development.js.map +1 -0
  476. package/dist/node_modules/{react-is → .pnpm/react-is@16.13.1/node_modules/react-is}/cjs/react-is.production.min.cjs +2 -2
  477. package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.production.min.cjs.map +1 -0
  478. package/dist/node_modules/{react-is → .pnpm/react-is@16.13.1/node_modules/react-is}/index.cjs +2 -2
  479. package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.cjs.map +1 -0
  480. package/dist/node_modules/{react-is → .pnpm/react-is@16.13.1/node_modules/react-is}/index.js +2 -2
  481. package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js.map +1 -0
  482. package/dist/processors/MXLNetworkSpanProcessor/MXLNetworkSpanProcessor.cjs +2 -0
  483. package/dist/processors/MXLNetworkSpanProcessor/MXLNetworkSpanProcessor.cjs.map +1 -1
  484. package/dist/processors/MXLNetworkSpanProcessor/MXLNetworkSpanProcessor.d.cts.map +1 -1
  485. package/dist/processors/MXLNetworkSpanProcessor/MXLNetworkSpanProcessor.d.ts.map +1 -1
  486. package/dist/processors/MXLNetworkSpanProcessor/MXLNetworkSpanProcessor.js +2 -0
  487. package/dist/processors/MXLNetworkSpanProcessor/MXLNetworkSpanProcessor.js.map +1 -1
  488. package/dist/processors/PageLogRecordProcessor/PageLogRecordProcessor.cjs.map +1 -1
  489. package/dist/processors/PageLogRecordProcessor/PageLogRecordProcessor.d.cts.map +1 -1
  490. package/dist/processors/PageLogRecordProcessor/PageLogRecordProcessor.d.ts.map +1 -1
  491. package/dist/processors/PageLogRecordProcessor/PageLogRecordProcessor.js.map +1 -1
  492. package/dist/processors/PageSpanProcessor/PageSpanProcessor.cjs.map +1 -1
  493. package/dist/processors/PageSpanProcessor/PageSpanProcessor.d.cts.map +1 -1
  494. package/dist/processors/PageSpanProcessor/PageSpanProcessor.d.ts.map +1 -1
  495. package/dist/processors/PageSpanProcessor/PageSpanProcessor.js.map +1 -1
  496. package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.cjs.map +1 -1
  497. package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.d.cts.map +1 -1
  498. package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.d.ts.map +1 -1
  499. package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.js.map +1 -1
  500. package/dist/resources/sdkConstants.cjs +1 -1
  501. package/dist/resources/sdkConstants.cjs.map +1 -1
  502. package/dist/resources/sdkConstants.d.cts +1 -1
  503. package/dist/resources/sdkConstants.d.ts +1 -1
  504. package/dist/resources/sdkConstants.js +1 -1
  505. package/dist/resources/sdkConstants.js.map +1 -1
  506. package/dist/resources/webSdkResource.cjs.map +1 -1
  507. package/dist/resources/webSdkResource.d.cts.map +1 -1
  508. package/dist/resources/webSdkResource.d.ts.map +1 -1
  509. package/dist/resources/webSdkResource.js.map +1 -1
  510. package/dist/sdk/initSDK.cjs +49 -6
  511. package/dist/sdk/initSDK.cjs.map +1 -1
  512. package/dist/sdk/initSDK.d.cts.map +1 -1
  513. package/dist/sdk/initSDK.d.ts.map +1 -1
  514. package/dist/sdk/initSDK.js +49 -6
  515. package/dist/sdk/initSDK.js.map +1 -1
  516. package/dist/sdk/networkInstrumentations.cjs +28 -0
  517. package/dist/sdk/networkInstrumentations.cjs.map +1 -0
  518. package/dist/sdk/networkInstrumentations.d.cts +12 -0
  519. package/dist/sdk/networkInstrumentations.d.cts.map +1 -0
  520. package/dist/sdk/networkInstrumentations.d.ts +12 -0
  521. package/dist/sdk/networkInstrumentations.d.ts.map +1 -0
  522. package/dist/sdk/networkInstrumentations.js +27 -0
  523. package/dist/sdk/networkInstrumentations.js.map +1 -0
  524. package/dist/sdk/setupDefaultInstrumentations.cjs +12 -17
  525. package/dist/sdk/setupDefaultInstrumentations.cjs.map +1 -1
  526. package/dist/sdk/setupDefaultInstrumentations.d.cts +3 -1
  527. package/dist/sdk/setupDefaultInstrumentations.d.cts.map +1 -1
  528. package/dist/sdk/setupDefaultInstrumentations.d.ts +3 -1
  529. package/dist/sdk/setupDefaultInstrumentations.d.ts.map +1 -1
  530. package/dist/sdk/setupDefaultInstrumentations.js +12 -16
  531. package/dist/sdk/setupDefaultInstrumentations.js.map +1 -1
  532. package/dist/sdk/types.d.cts +15 -2
  533. package/dist/sdk/types.d.cts.map +1 -1
  534. package/dist/sdk/types.d.ts +15 -2
  535. package/dist/sdk/types.d.ts.map +1 -1
  536. package/dist/transport/RetryingTransport/RetryingTransport.cjs.map +1 -1
  537. package/dist/transport/RetryingTransport/RetryingTransport.js.map +1 -1
  538. package/package.json +28 -27
  539. package/dist/instrumentations/replay/ReplayInstrumentation/constants.cjs +0 -15
  540. package/dist/instrumentations/replay/ReplayInstrumentation/constants.cjs.map +0 -1
  541. package/dist/instrumentations/replay/ReplayInstrumentation/constants.d.cts +0 -9
  542. package/dist/instrumentations/replay/ReplayInstrumentation/constants.d.cts.map +0 -1
  543. package/dist/instrumentations/replay/ReplayInstrumentation/constants.d.ts +0 -9
  544. package/dist/instrumentations/replay/ReplayInstrumentation/constants.d.ts.map +0 -1
  545. package/dist/instrumentations/replay/ReplayInstrumentation/constants.js +0 -10
  546. package/dist/instrumentations/replay/ReplayInstrumentation/constants.js.map +0 -1
  547. package/dist/instrumentations/replay/utils/session-recording-utils.cjs +0 -79
  548. package/dist/instrumentations/replay/utils/session-recording-utils.cjs.map +0 -1
  549. package/dist/instrumentations/replay/utils/session-recording-utils.d.cts +0 -32
  550. package/dist/instrumentations/replay/utils/session-recording-utils.d.cts.map +0 -1
  551. package/dist/instrumentations/replay/utils/session-recording-utils.d.ts +0 -32
  552. package/dist/instrumentations/replay/utils/session-recording-utils.d.ts.map +0 -1
  553. package/dist/instrumentations/replay/utils/session-recording-utils.js +0 -73
  554. package/dist/instrumentations/replay/utils/session-recording-utils.js.map +0 -1
  555. package/dist/node_modules/@opentelemetry/otlp-transformer/build/esm/common/internal.js.map +0 -1
  556. package/dist/node_modules/@opentelemetry/otlp-transformer/build/esm/common/utils.js.map +0 -1
  557. package/dist/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/internal.js.map +0 -1
  558. package/dist/node_modules/@opentelemetry/otlp-transformer/build/esm/logs/json/logs.js.map +0 -1
  559. package/dist/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/internal.js.map +0 -1
  560. package/dist/node_modules/@opentelemetry/otlp-transformer/build/esm/trace/json/trace.js.map +0 -1
  561. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/common/hex-to-binary.cjs.map +0 -1
  562. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/common/internal.cjs.map +0 -1
  563. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/common/protobuf/common-serializer.cjs.map +0 -1
  564. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/common/protobuf/protobuf-reader.cjs.map +0 -1
  565. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/common/protobuf/protobuf-size-estimator.cjs.map +0 -1
  566. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/common/protobuf/protobuf-writer.cjs.map +0 -1
  567. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/common/protobuf/utils.cjs.map +0 -1
  568. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/common/utils.cjs.map +0 -1
  569. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/i-serializer.d.cts.map +0 -1
  570. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/i-serializer.d.ts.map +0 -1
  571. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/index.cjs.map +0 -1
  572. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/logs/internal.cjs.map +0 -1
  573. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/logs/json/index.cjs.map +0 -1
  574. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/logs/json/logs.cjs.map +0 -1
  575. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/index.cjs.map +0 -1
  576. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/logs-serializer.cjs.map +0 -1
  577. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/logs.cjs.map +0 -1
  578. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/logs/protobuf/response-deserializer.cjs.map +0 -1
  579. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/internal-types.cjs.map +0 -1
  580. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/internal.cjs.map +0 -1
  581. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/json/index.cjs.map +0 -1
  582. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/json/metrics.cjs.map +0 -1
  583. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/protobuf/index.cjs.map +0 -1
  584. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/protobuf/metrics-serializer.cjs.map +0 -1
  585. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/protobuf/metrics.cjs.map +0 -1
  586. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/metrics/protobuf/response-deserializer.cjs.map +0 -1
  587. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/trace/internal.cjs.map +0 -1
  588. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/trace/json/index.cjs.map +0 -1
  589. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/trace/json/trace.cjs.map +0 -1
  590. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/trace/protobuf/index.cjs.map +0 -1
  591. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/trace/protobuf/response-deserializer.cjs.map +0 -1
  592. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/trace/protobuf/trace-serializer.cjs.map +0 -1
  593. package/dist/node_modules/@opentelemetry/otlp-transformer/build/src/trace/protobuf/trace.cjs.map +0 -1
  594. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/InstrumentDescriptor.cjs.map +0 -1
  595. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/Instruments.cjs.map +0 -1
  596. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/Meter.cjs.map +0 -1
  597. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/MeterProvider.cjs.map +0 -1
  598. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/ObservableResult.cjs.map +0 -1
  599. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Drop.cjs.map +0 -1
  600. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/ExponentialHistogram.cjs.map +0 -1
  601. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Histogram.cjs.map +0 -1
  602. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/LastValue.cjs.map +0 -1
  603. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/Sum.cjs.map +0 -1
  604. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/Buckets.cjs.map +0 -1
  605. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/ExponentMapping.cjs.map +0 -1
  606. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/LogarithmMapping.cjs.map +0 -1
  607. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/getMapping.cjs.map +0 -1
  608. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/ieee754.cjs.map +0 -1
  609. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/mapping/types.cjs.map +0 -1
  610. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/exponential-histogram/util.cjs.map +0 -1
  611. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/index.cjs.map +0 -1
  612. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/aggregator/types.cjs.map +0 -1
  613. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/export/AggregationSelector.cjs.map +0 -1
  614. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/export/AggregationTemporality.cjs.map +0 -1
  615. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/export/ConsoleMetricExporter.cjs.map +0 -1
  616. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/export/InMemoryMetricExporter.cjs.map +0 -1
  617. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricData.cjs.map +0 -1
  618. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/export/MetricReader.cjs.map +0 -1
  619. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/export/PeriodicExportingMetricReader.cjs.map +0 -1
  620. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/index.cjs.map +0 -1
  621. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/state/AsyncMetricStorage.cjs.map +0 -1
  622. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/state/DeltaMetricProcessor.cjs.map +0 -1
  623. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/state/HashMap.cjs.map +0 -1
  624. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterProviderSharedState.cjs.map +0 -1
  625. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/state/MeterSharedState.cjs.map +0 -1
  626. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricCollector.cjs.map +0 -1
  627. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricStorage.cjs.map +0 -1
  628. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/state/MetricStorageRegistry.cjs.map +0 -1
  629. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/state/MultiWritableMetricStorage.cjs.map +0 -1
  630. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/state/ObservableRegistry.cjs.map +0 -1
  631. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/state/SyncMetricStorage.cjs.map +0 -1
  632. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/state/TemporalMetricProcessor.cjs.map +0 -1
  633. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/utils.cjs.map +0 -1
  634. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/view/Aggregation.cjs.map +0 -1
  635. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/view/AggregationOption.cjs.map +0 -1
  636. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/view/AttributesProcessor.cjs.map +0 -1
  637. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/view/InstrumentSelector.cjs.map +0 -1
  638. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/view/MeterSelector.cjs.map +0 -1
  639. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/view/Predicate.cjs.map +0 -1
  640. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/view/RegistrationConflicts.cjs.map +0 -1
  641. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/view/View.cjs.map +0 -1
  642. package/dist/node_modules/@opentelemetry/sdk-metrics/build/src/view/ViewRegistry.cjs.map +0 -1
  643. package/dist/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.cjs.map +0 -1
  644. package/dist/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js.map +0 -1
  645. package/dist/node_modules/react-is/cjs/react-is.development.cjs.map +0 -1
  646. package/dist/node_modules/react-is/cjs/react-is.development.js.map +0 -1
  647. package/dist/node_modules/react-is/cjs/react-is.production.min.cjs.map +0 -1
  648. package/dist/node_modules/react-is/index.cjs.map +0 -1
  649. package/dist/node_modules/react-is/index.js.map +0 -1
  650. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/index.d.cts +0 -0
  651. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/index.d.ts +0 -0
  652. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/logs/json/index.d.cts +0 -0
  653. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/logs/json/index.d.ts +0 -0
  654. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/logs/json/logs.d.cts +0 -0
  655. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/logs/json/logs.d.ts +0 -0
  656. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/logs/protobuf/index.d.cts +0 -0
  657. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/logs/protobuf/index.d.ts +0 -0
  658. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/logs/protobuf/logs.d.cts +0 -0
  659. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/logs/protobuf/logs.d.ts +0 -0
  660. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/metrics/json/index.d.cts +0 -0
  661. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/metrics/json/index.d.ts +0 -0
  662. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/metrics/json/metrics.d.cts +0 -0
  663. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/metrics/json/metrics.d.ts +0 -0
  664. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/metrics/protobuf/index.d.cts +0 -0
  665. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/metrics/protobuf/index.d.ts +0 -0
  666. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/metrics/protobuf/metrics.d.cts +0 -0
  667. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/metrics/protobuf/metrics.d.ts +0 -0
  668. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/trace/json/index.d.cts +0 -0
  669. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/trace/json/index.d.ts +0 -0
  670. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/trace/json/trace.d.cts +0 -0
  671. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/trace/json/trace.d.ts +0 -0
  672. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/trace/protobuf/index.d.cts +0 -0
  673. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/trace/protobuf/index.d.ts +0 -0
  674. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/trace/protobuf/trace.d.cts +0 -0
  675. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_otlp-transformer@0.218.0_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/otlp-transformer/build/src/trace/protobuf/trace.d.ts +0 -0
  676. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/InstrumentDescriptor.d.cts +0 -0
  677. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/InstrumentDescriptor.d.ts +0 -0
  678. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/MeterProvider.d.cts +0 -0
  679. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/MeterProvider.d.ts +0 -0
  680. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/aggregator/Drop.d.cts +0 -0
  681. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/aggregator/Drop.d.ts +0 -0
  682. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/aggregator/ExponentialHistogram.d.cts +0 -0
  683. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/aggregator/ExponentialHistogram.d.ts +0 -0
  684. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/aggregator/Histogram.d.cts +0 -0
  685. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/aggregator/Histogram.d.ts +0 -0
  686. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/aggregator/LastValue.d.cts +0 -0
  687. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/aggregator/LastValue.d.ts +0 -0
  688. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/aggregator/Sum.d.cts +0 -0
  689. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/aggregator/Sum.d.ts +0 -0
  690. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/aggregator/index.d.cts +0 -0
  691. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/aggregator/index.d.ts +0 -0
  692. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/aggregator/types.d.cts +0 -0
  693. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/aggregator/types.d.ts +0 -0
  694. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/export/AggregationSelector.d.cts +0 -0
  695. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/export/AggregationSelector.d.ts +0 -0
  696. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/export/CardinalitySelector.d.cts +0 -0
  697. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/export/CardinalitySelector.d.ts +0 -0
  698. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/export/ConsoleMetricExporter.d.cts +0 -0
  699. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/export/ConsoleMetricExporter.d.ts +0 -0
  700. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/export/InMemoryMetricExporter.d.cts +0 -0
  701. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/export/InMemoryMetricExporter.d.ts +0 -0
  702. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/export/MetricData.d.cts +0 -0
  703. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/export/MetricData.d.ts +0 -0
  704. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/export/MetricExporter.d.cts +0 -0
  705. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/export/MetricExporter.d.ts +0 -0
  706. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/export/MetricProducer.d.cts +0 -0
  707. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/export/MetricProducer.d.ts +0 -0
  708. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/export/MetricReader.d.cts +0 -0
  709. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/export/MetricReader.d.ts +0 -0
  710. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/export/PeriodicExportingMetricReader.d.cts +0 -0
  711. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/export/PeriodicExportingMetricReader.d.ts +0 -0
  712. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/index.d.cts +0 -0
  713. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/index.d.ts +0 -0
  714. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/utils.d.cts +0 -0
  715. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/utils.d.ts +0 -0
  716. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/view/Aggregation.d.cts +0 -0
  717. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/view/Aggregation.d.ts +0 -0
  718. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/view/AggregationOption.d.cts +0 -0
  719. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/view/AggregationOption.d.ts +0 -0
  720. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/view/AttributesProcessor.d.cts +0 -0
  721. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/view/AttributesProcessor.d.ts +0 -0
  722. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/view/InstrumentSelector.d.cts +0 -0
  723. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/view/InstrumentSelector.d.ts +0 -0
  724. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/view/View.d.cts +0 -0
  725. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-metrics@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-metrics/build/src/view/View.d.ts +0 -0
  726. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/BasicTracerProvider.d.cts +0 -0
  727. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/BasicTracerProvider.d.ts +0 -0
  728. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/Sampler.d.cts +0 -0
  729. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/Sampler.d.ts +0 -0
  730. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/Span.d.cts +0 -0
  731. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/Span.d.ts +0 -0
  732. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/SpanProcessor.d.cts +0 -0
  733. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/SpanProcessor.d.ts +0 -0
  734. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/TimedEvent.d.cts +0 -0
  735. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/TimedEvent.d.ts +0 -0
  736. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/export/BatchSpanProcessorBase.d.cts +0 -0
  737. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/export/BatchSpanProcessorBase.d.ts +0 -0
  738. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/export/ConsoleSpanExporter.d.cts +0 -0
  739. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/export/ConsoleSpanExporter.d.ts +0 -0
  740. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/export/InMemorySpanExporter.d.cts +0 -0
  741. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/export/InMemorySpanExporter.d.ts +0 -0
  742. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/export/NoopSpanProcessor.d.cts +0 -0
  743. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/export/NoopSpanProcessor.d.ts +0 -0
  744. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/export/ReadableSpan.d.cts +0 -0
  745. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/export/ReadableSpan.d.ts +0 -0
  746. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/export/SimpleSpanProcessor.d.cts +0 -0
  747. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/export/SimpleSpanProcessor.d.ts +0 -0
  748. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/export/SpanExporter.d.cts +0 -0
  749. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/export/SpanExporter.d.ts +0 -0
  750. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/index.d.cts +0 -0
  751. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/index.d.ts +0 -0
  752. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/platform/index.d.cts +0 -0
  753. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/platform/index.d.ts +0 -0
  754. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/platform/node/export/BatchSpanProcessor.d.cts +0 -0
  755. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/platform/node/export/BatchSpanProcessor.d.ts +0 -0
  756. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/platform/node/index.d.cts +0 -0
  757. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/platform/node/index.d.ts +0 -0
  758. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/sampler/AlwaysOffSampler.d.cts +0 -0
  759. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/sampler/AlwaysOffSampler.d.ts +0 -0
  760. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/sampler/AlwaysOnSampler.d.cts +0 -0
  761. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/sampler/AlwaysOnSampler.d.ts +0 -0
  762. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/sampler/ParentBasedSampler.d.cts +0 -0
  763. /package/dist/node_modules/{@opentelemetry → .pnpm/@opentelemetry_sdk-trace-base@2.7.1_@opentelemetry_api@1.9.1/node_modules/@opentelemetry}/sdk-trace-base/build/src/sampler/ParentBasedSampler.d.ts +0 -0
  764. /package/dist/node_modules/{@opentelemetry → .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 +0 -0
  765. /package/dist/node_modules/{@opentelemetry → .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 +0 -0
  766. /package/dist/node_modules/{@opentelemetry → .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 -0
  767. /package/dist/node_modules/{@opentelemetry → .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 -0
@@ -1 +1 @@
1
- {"version":3,"file":"WebVitalsInstrumentation.cjs","names":["KEY_MXL_WEB_VITAL_ATTRIBUTION_PREFIX","MAX_LOAF_SCRIPT_URL_LENGTH","MXLInstrumentationBase","WEB_VITALS_ID_TO_LISTENER","page","KEY_MXL_TYPE","ATTR_URL_FULL","KEY_BROWSER_URL_FULL","KEY_MXL_WEB_VITAL_NAVIGATION_TYPE","KEY_MXL_WEB_VITAL_NAME","KEY_MXL_WEB_VITAL_RATING","KEY_MXL_WEB_VITAL_ID","KEY_MXL_WEB_VITAL_DELTA","KEY_MXL_WEB_VITAL_VALUE","KEY_MXL_PAGE_PATH","KEY_MXL_PAGE_ID","KEY_APP_SURFACE_LABEL","MXL_WEB_VITALS_PREFIX"],"sources":["../../../../src/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.ts"],"sourcesContent":["import type {\n AttributeValue,\n Attributes,\n DiagLogger,\n} from '@opentelemetry/api';\nimport { ATTR_URL_FULL } from '@opentelemetry/semantic-conventions';\nimport type {\n CLSMetricWithAttribution,\n INPAttribution,\n Metric,\n MetricWithAttribution,\n TTFBAttribution,\n} from 'web-vitals/attribution';\nimport type { PageManager } from '../../../api-page/manager/types';\nimport { page } from '../../../api-page/pageAPI';\nimport type { URLDocument } from '../../../common/types';\nimport { KEY_APP_SURFACE_LABEL, KEY_BROWSER_URL_FULL, KEY_MXL_PAGE_ID, KEY_MXL_PAGE_PATH, KEY_MXL_TYPE, MXL_TYPES } from '../../../constants/attributes';\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase/MXLInstrumentationBase';\nimport {\n KEY_MXL_WEB_VITAL_ATTRIBUTION_PREFIX,\n KEY_MXL_WEB_VITAL_DELTA,\n KEY_MXL_WEB_VITAL_ID,\n KEY_MXL_WEB_VITAL_NAME,\n KEY_MXL_WEB_VITAL_NAVIGATION_TYPE,\n KEY_MXL_WEB_VITAL_RATING,\n KEY_MXL_WEB_VITAL_VALUE,\n} from './attributes';\nimport {\n ALL_WEB_VITALS,\n MAX_LOAF_SCRIPT_ENTRIES,\n MAX_LOAF_SCRIPT_URL_LENGTH,\n MXL_WEB_VITALS_PREFIX,\n WEB_VITALS_ID_TO_LISTENER,\n} from './constants';\nimport type { WebVitalListeners, WebVitalsInstrumentationArgs } from './types';\n\ninterface AttributedPage {\n fullURL: string;\n path?: string;\n pageID?: string;\n label?: string;\n}\n\nconst isPrimitiveValue = (value: unknown): value is AttributeValue => {\n const type = typeof value;\n return type === 'number' || type === 'string' || type === 'boolean';\n};\n\nconst roundClamp = (value: number): number => Math.round(Math.max(0, value));\n\nconst webVitalAttributionToReport = (\n metric: MetricWithAttribution,\n): Attributes => {\n const attributes: Attributes = {};\n const { attribution } = metric;\n\n if (!attribution || typeof attribution !== 'object') {\n return attributes;\n }\n\n for (const [key, value] of Object.entries(attribution)) {\n if (isPrimitiveValue(value)) {\n attributes[`${KEY_MXL_WEB_VITAL_ATTRIBUTION_PREFIX}${key}`] = value;\n }\n }\n\n return attributes;\n};\n\nconst loafScriptsAttribution = (\n metric: MetricWithAttribution,\n diag: DiagLogger,\n): Attributes => {\n const attributes: Attributes = {};\n const attribution = metric.attribution as INPAttribution;\n\n try {\n // Suppress LoAF baseline errors\n /* eslint-disable baseline-js/use-baseline */\n if (attribution.longAnimationFrameEntries.length > 0) {\n const scripts = new Map<\n string,\n {\n totalDuration: number;\n styleAndLayoutDuration: number;\n count: number;\n }\n >();\n for (const entry of attribution.longAnimationFrameEntries) {\n for (const script of entry.scripts) {\n let url = script.sourceURL || '(inline)';\n if (url.length > MAX_LOAF_SCRIPT_URL_LENGTH) {\n url = `${url.substring(0, MAX_LOAF_SCRIPT_URL_LENGTH)}...`;\n }\n const existing = scripts.get(url);\n if (existing) {\n existing.totalDuration += script.duration;\n existing.styleAndLayoutDuration +=\n script.forcedStyleAndLayoutDuration;\n existing.count++;\n } else {\n scripts.set(url, {\n count: 1,\n styleAndLayoutDuration: script.forcedStyleAndLayoutDuration,\n totalDuration: script.duration,\n });\n }\n }\n }\n if (scripts.size > 0) {\n attributes[`${KEY_MXL_WEB_VITAL_ATTRIBUTION_PREFIX}loaf_scripts`] =\n JSON.stringify(\n Object.fromEntries(\n [...scripts]\n .sort((a, b) => b[1].totalDuration - a[1].totalDuration)\n .slice(0, MAX_LOAF_SCRIPT_ENTRIES)\n .map(([url, script]) => [\n url,\n {\n count: script.count,\n style_and_layout_duration: Math.round(\n script.styleAndLayoutDuration,\n ),\n total_duration: Math.round(script.totalDuration),\n },\n ]),\n ),\n );\n }\n }\n /* eslint-enable baseline-js/use-baseline */\n } catch (error) {\n diag.error('error building loaf scripts for INP', error);\n }\n\n return attributes;\n};\n\nconst ttfbSubPartsAttribution = (\n metric: MetricWithAttribution,\n diag: DiagLogger,\n): Attributes => {\n const attributes: Attributes = {};\n const attribution = metric.attribution as TTFBAttribution;\n const entry = attribution.navigationEntry as\n | PerformanceNavigationTiming\n | undefined;\n\n if (entry) {\n try {\n const redirect = roundClamp(entry.redirectEnd - entry.redirectStart);\n const domainLookup = roundClamp(\n entry.domainLookupEnd - entry.domainLookupStart,\n );\n const tcpConnection = roundClamp(\n entry.secureConnectionStart > 0\n ? entry.secureConnectionStart - entry.connectStart\n : entry.connectEnd - entry.connectStart,\n );\n const tlsNegotiation = roundClamp(\n entry.secureConnectionStart > 0\n ? entry.connectEnd - entry.secureConnectionStart\n : 0,\n );\n const effectiveResponseStart = Math.max(\n // @ts-expect-error 103 Early hints are not supported in all browsers\n // https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/finalResponseHeadersStart\n entry.finalResponseHeadersStart ?? 0,\n entry.responseStart,\n );\n const serverResponse = roundClamp(\n effectiveResponseStart - entry.requestStart,\n );\n const total = Math.round(entry.responseEnd - entry.startTime);\n const unattributed = roundClamp(\n total -\n redirect -\n domainLookup -\n tcpConnection -\n tlsNegotiation -\n serverResponse,\n );\n const prefix = KEY_MXL_WEB_VITAL_ATTRIBUTION_PREFIX;\n attributes[`${prefix}redirect`] = redirect;\n attributes[`${prefix}domainLookup`] = domainLookup;\n attributes[`${prefix}tcpConnection`] = tcpConnection;\n attributes[`${prefix}tlsNegotiation`] = tlsNegotiation;\n attributes[`${prefix}serverResponse`] = serverResponse;\n attributes[`${prefix}unattributed`] = unattributed;\n } catch (error) {\n diag.error('error computing TTFB timing breakdown', error);\n }\n } else {\n diag.debug('TTFB navigationEntry unavailable, skipping timing breakdown');\n }\n\n return attributes;\n};\n\nexport class WebVitalsInstrumentation extends MXLInstrumentationBase {\n private readonly _listeners: WebVitalListeners;\n private readonly _urlDocument: URLDocument;\n private readonly _urlAttribution: boolean;\n private readonly _pageManager: PageManager;\n private readonly _attributedPage: Record<\n Metric['name'],\n AttributedPage | undefined\n > = {\n CLS: undefined,\n FCP: undefined,\n INP: undefined,\n LCP: undefined,\n TTFB: undefined,\n };\n private _largestShiftTargetForCLS: string | undefined;\n private _listenersRegistered = false;\n private _isEnabled = false;\n\n // Instrumentation that adds an event to the session span for each web vital report\n public constructor({\n diag,\n perf,\n listeners = WEB_VITALS_ID_TO_LISTENER,\n urlDocument = window.document,\n urlAttribution = true,\n pageManager,\n }: WebVitalsInstrumentationArgs = {}) {\n super({\n config: {},\n diag,\n instrumentationName: 'WebVitalsInstrumentation',\n instrumentationVersion: '1.0.0',\n perf,\n });\n this._listeners = listeners;\n this._urlDocument = urlDocument;\n this._urlAttribution = urlAttribution;\n this._pageManager = pageManager ?? page.getPageManager();\n\n if (this._config.enabled) {\n this.enable();\n }\n }\n\n public override disable(): void {\n // Web-vitals library doesn't support removing listeners, so we just pause emission\n // https://github.com/GoogleChrome/web-vitals/issues/357#issuecomment-1593439036\n this._isEnabled = false;\n this._diag.debug('WebVitalsInstrumentation disabled, pausing emission');\n }\n\n public enable(): void {\n this._isEnabled = true;\n\n // Web-vitals library doesn't support removing listeners, so only register once\n if (this._listenersRegistered) {\n this._diag.debug(\n 'WebVitalsInstrumentation listeners already registered, resuming emission',\n );\n return;\n }\n this._listenersRegistered = true;\n\n ALL_WEB_VITALS.forEach((name) => {\n this._listeners[name]?.((metric) => {\n if (!this._isEnabled) {\n return;\n }\n\n const currentSessionSpan = this.userSessionManager.getSessionPartSpan();\n\n if (!currentSessionSpan) {\n return;\n }\n\n // First thing record the time when this cb was invoked\n const metricTime = this._getTimeForMetric(metric);\n\n const attributedPage = this._getAttributedPageForMetric(metric);\n\n const attrs: Attributes = {\n [KEY_MXL_TYPE]: MXL_TYPES.WebVital,\n [ATTR_URL_FULL]: attributedPage.fullURL,\n [KEY_BROWSER_URL_FULL]: attributedPage.fullURL,\n [KEY_MXL_WEB_VITAL_NAVIGATION_TYPE]: metric.navigationType,\n [KEY_MXL_WEB_VITAL_NAME]: metric.name,\n [KEY_MXL_WEB_VITAL_RATING]: metric.rating,\n [KEY_MXL_WEB_VITAL_ID]: metric.id,\n [KEY_MXL_WEB_VITAL_DELTA]: metric.delta,\n [KEY_MXL_WEB_VITAL_VALUE]: metric.value,\n ...webVitalAttributionToReport(metric),\n ...(name === 'INP' ? loafScriptsAttribution(metric, this._diag) : {}),\n ...(name === 'TTFB'\n ? ttfbSubPartsAttribution(metric, this._diag)\n : {}),\n };\n\n // Add page attributes if route and page ID exist\n if (attributedPage.path && attributedPage.pageID) {\n attrs[KEY_MXL_PAGE_PATH] = attributedPage.path;\n attrs[KEY_MXL_PAGE_ID] = attributedPage.pageID;\n }\n\n if (attributedPage.label) {\n attrs[KEY_APP_SURFACE_LABEL] = attributedPage.label;\n }\n\n currentSessionSpan.addEvent(\n `${MXL_WEB_VITALS_PREFIX}-report-${name}`,\n attrs,\n metricTime,\n );\n });\n });\n\n if (this._urlAttribution) {\n // When these web vitals make their final report (e.g. when the listeners w/ reportAllChanges=false trigger) the\n // Document's URL at that time may not match what it was at the time the scores were last updated. Instead, listen\n // For updates to the scores and keep track of the Page information to attribute for each\n this._listeners.TTFB?.(\n () => {\n this._attributedPage.TTFB = this._currentAttributedPage();\n },\n {\n reportAllChanges: true,\n },\n );\n this._listeners.FCP?.(\n () => {\n this._attributedPage.FCP = this._currentAttributedPage();\n },\n {\n reportAllChanges: true,\n },\n );\n this._listeners.INP?.(\n () => {\n this._attributedPage.INP = this._currentAttributedPage();\n },\n {\n reportAllChanges: true,\n },\n );\n this._listeners.LCP?.(\n () => {\n this._attributedPage.LCP = this._currentAttributedPage();\n },\n {\n reportAllChanges: true,\n },\n );\n this._listeners.CLS?.(\n (metric: MetricWithAttribution) => {\n const clsMetric = metric as CLSMetricWithAttribution;\n // A layout shift could cause CLS to change its rating but because the score is cumulative this might not\n // Correspond with an updated `largestShiftTarget`. Since we want to tie the attributed URL to the page that\n // The `largestShiftTarget` was on we only update the attributed URL if that target has changed\n if (\n this._largestShiftTargetForCLS !==\n clsMetric.attribution.largestShiftTarget\n ) {\n this._largestShiftTargetForCLS =\n clsMetric.attribution.largestShiftTarget;\n this._attributedPage.CLS = this._currentAttributedPage();\n }\n },\n {\n reportAllChanges: true,\n },\n );\n }\n }\n\n private _getTimeForMetric(metric: MetricWithAttribution): number {\n if (metric.name === 'CLS' && metric.attribution.largestShiftTime) {\n return this.perf.epochMillisFromOriginOffset(\n metric.attribution.largestShiftTime,\n );\n }\n\n if (metric.name === 'INP' && metric.attribution.interactionTime) {\n return this.perf.epochMillisFromOriginOffset(\n metric.attribution.interactionTime,\n );\n }\n\n return this.perf.getNowMillis();\n }\n\n private _currentAttributedPage(): AttributedPage {\n const attributed: AttributedPage = {\n fullURL: this._urlDocument.URL,\n };\n\n const currentRoute = this._pageManager.getCurrentRoute();\n const currentPageId = this._pageManager.getCurrentPageId();\n if (currentRoute && currentPageId) {\n attributed.path = currentRoute.path;\n attributed.pageID = currentPageId;\n }\n\n const pageLabel = this._pageManager.getPageLabel();\n if (pageLabel) {\n attributed.label = pageLabel;\n }\n\n return attributed;\n }\n\n private _getAttributedPageForMetric(\n metric: MetricWithAttribution,\n ): AttributedPage {\n if (metric.name === 'FCP' && this._attributedPage.FCP) {\n return this._attributedPage.FCP;\n }\n\n if (metric.name === 'TTFB' && this._attributedPage.TTFB) {\n return this._attributedPage.TTFB;\n }\n\n if (metric.name === 'INP' && this._attributedPage.INP) {\n return this._attributedPage.INP;\n }\n\n if (metric.name === 'LCP' && this._attributedPage.LCP) {\n return this._attributedPage.LCP;\n }\n\n if (\n metric.name === 'CLS' &&\n this._attributedPage.CLS &&\n metric.attribution.largestShiftTarget === this._largestShiftTargetForCLS\n ) {\n return this._attributedPage.CLS;\n }\n\n return this._currentAttributedPage();\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"WebVitalsInstrumentation.cjs","names":["KEY_MXL_WEB_VITAL_ATTRIBUTION_PREFIX","MAX_LOAF_SCRIPT_URL_LENGTH","MXLInstrumentationBase","WEB_VITALS_ID_TO_LISTENER","page","KEY_MXL_TYPE","ATTR_URL_FULL","KEY_BROWSER_URL_FULL","KEY_MXL_WEB_VITAL_NAVIGATION_TYPE","KEY_MXL_WEB_VITAL_NAME","KEY_MXL_WEB_VITAL_RATING","KEY_MXL_WEB_VITAL_ID","KEY_MXL_WEB_VITAL_DELTA","KEY_MXL_WEB_VITAL_VALUE","KEY_MXL_PAGE_PATH","KEY_MXL_PAGE_ID","KEY_APP_SURFACE_LABEL","MXL_WEB_VITALS_PREFIX"],"sources":["../../../../src/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.ts"],"sourcesContent":["import type {\n AttributeValue,\n Attributes,\n DiagLogger,\n} from '@opentelemetry/api';\nimport { ATTR_URL_FULL } from '@opentelemetry/semantic-conventions';\nimport type {\n CLSMetricWithAttribution,\n INPAttribution,\n Metric,\n MetricWithAttribution,\n TTFBAttribution,\n} from 'web-vitals/attribution';\nimport type { PageManager } from '../../../api-page/manager/types';\nimport { page } from '../../../api-page/pageAPI';\nimport type { URLDocument } from '../../../common/types';\nimport {\n KEY_APP_SURFACE_LABEL,\n KEY_BROWSER_URL_FULL,\n KEY_MXL_PAGE_ID,\n KEY_MXL_PAGE_PATH,\n KEY_MXL_TYPE,\n MXL_TYPES,\n} from '../../../constants/attributes';\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase/MXLInstrumentationBase';\nimport {\n KEY_MXL_WEB_VITAL_ATTRIBUTION_PREFIX,\n KEY_MXL_WEB_VITAL_DELTA,\n KEY_MXL_WEB_VITAL_ID,\n KEY_MXL_WEB_VITAL_NAME,\n KEY_MXL_WEB_VITAL_NAVIGATION_TYPE,\n KEY_MXL_WEB_VITAL_RATING,\n KEY_MXL_WEB_VITAL_VALUE,\n} from './attributes';\nimport {\n ALL_WEB_VITALS,\n MAX_LOAF_SCRIPT_ENTRIES,\n MAX_LOAF_SCRIPT_URL_LENGTH,\n MXL_WEB_VITALS_PREFIX,\n WEB_VITALS_ID_TO_LISTENER,\n} from './constants';\nimport type { WebVitalListeners, WebVitalsInstrumentationArgs } from './types';\n\ninterface AttributedPage {\n fullURL: string;\n path?: string;\n pageID?: string;\n label?: string;\n}\n\nconst isPrimitiveValue = (value: unknown): value is AttributeValue => {\n const type = typeof value;\n return type === 'number' || type === 'string' || type === 'boolean';\n};\n\nconst roundClamp = (value: number): number => Math.round(Math.max(0, value));\n\nconst webVitalAttributionToReport = (\n metric: MetricWithAttribution,\n): Attributes => {\n const attributes: Attributes = {};\n const { attribution } = metric;\n\n if (!attribution || typeof attribution !== 'object') {\n return attributes;\n }\n\n for (const [key, value] of Object.entries(attribution)) {\n if (isPrimitiveValue(value)) {\n attributes[`${KEY_MXL_WEB_VITAL_ATTRIBUTION_PREFIX}${key}`] = value;\n }\n }\n\n return attributes;\n};\n\nconst loafScriptsAttribution = (\n metric: MetricWithAttribution,\n diag: DiagLogger,\n): Attributes => {\n const attributes: Attributes = {};\n const attribution = metric.attribution as INPAttribution;\n\n try {\n // Suppress LoAF baseline errors\n /* eslint-disable baseline-js/use-baseline */\n if (attribution.longAnimationFrameEntries.length > 0) {\n const scripts = new Map<\n string,\n {\n totalDuration: number;\n styleAndLayoutDuration: number;\n count: number;\n }\n >();\n for (const entry of attribution.longAnimationFrameEntries) {\n for (const script of entry.scripts) {\n let url = script.sourceURL || '(inline)';\n if (url.length > MAX_LOAF_SCRIPT_URL_LENGTH) {\n url = `${url.substring(0, MAX_LOAF_SCRIPT_URL_LENGTH)}...`;\n }\n const existing = scripts.get(url);\n if (existing) {\n existing.totalDuration += script.duration;\n existing.styleAndLayoutDuration +=\n script.forcedStyleAndLayoutDuration;\n existing.count++;\n } else {\n scripts.set(url, {\n count: 1,\n styleAndLayoutDuration: script.forcedStyleAndLayoutDuration,\n totalDuration: script.duration,\n });\n }\n }\n }\n if (scripts.size > 0) {\n attributes[`${KEY_MXL_WEB_VITAL_ATTRIBUTION_PREFIX}loaf_scripts`] =\n JSON.stringify(\n Object.fromEntries(\n [...scripts]\n .sort((a, b) => b[1].totalDuration - a[1].totalDuration)\n .slice(0, MAX_LOAF_SCRIPT_ENTRIES)\n .map(([url, script]) => [\n url,\n {\n count: script.count,\n style_and_layout_duration: Math.round(\n script.styleAndLayoutDuration,\n ),\n total_duration: Math.round(script.totalDuration),\n },\n ]),\n ),\n );\n }\n }\n /* eslint-enable baseline-js/use-baseline */\n } catch (error) {\n diag.error('error building loaf scripts for INP', error);\n }\n\n return attributes;\n};\n\nconst ttfbSubPartsAttribution = (\n metric: MetricWithAttribution,\n diag: DiagLogger,\n): Attributes => {\n const attributes: Attributes = {};\n const attribution = metric.attribution as TTFBAttribution;\n const entry = attribution.navigationEntry as\n | PerformanceNavigationTiming\n | undefined;\n\n if (entry) {\n try {\n const redirect = roundClamp(entry.redirectEnd - entry.redirectStart);\n const domainLookup = roundClamp(\n entry.domainLookupEnd - entry.domainLookupStart,\n );\n const tcpConnection = roundClamp(\n entry.secureConnectionStart > 0\n ? entry.secureConnectionStart - entry.connectStart\n : entry.connectEnd - entry.connectStart,\n );\n const tlsNegotiation = roundClamp(\n entry.secureConnectionStart > 0\n ? entry.connectEnd - entry.secureConnectionStart\n : 0,\n );\n const effectiveResponseStart = Math.max(\n // @ts-expect-error 103 Early hints are not supported in all browsers\n // https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/finalResponseHeadersStart\n entry.finalResponseHeadersStart ?? 0,\n entry.responseStart,\n );\n const serverResponse = roundClamp(\n effectiveResponseStart - entry.requestStart,\n );\n const total = Math.round(entry.responseEnd - entry.startTime);\n const unattributed = roundClamp(\n total -\n redirect -\n domainLookup -\n tcpConnection -\n tlsNegotiation -\n serverResponse,\n );\n const prefix = KEY_MXL_WEB_VITAL_ATTRIBUTION_PREFIX;\n attributes[`${prefix}redirect`] = redirect;\n attributes[`${prefix}domainLookup`] = domainLookup;\n attributes[`${prefix}tcpConnection`] = tcpConnection;\n attributes[`${prefix}tlsNegotiation`] = tlsNegotiation;\n attributes[`${prefix}serverResponse`] = serverResponse;\n attributes[`${prefix}unattributed`] = unattributed;\n } catch (error) {\n diag.error('error computing TTFB timing breakdown', error);\n }\n } else {\n diag.debug('TTFB navigationEntry unavailable, skipping timing breakdown');\n }\n\n return attributes;\n};\n\nexport class WebVitalsInstrumentation extends MXLInstrumentationBase {\n private readonly _listeners: WebVitalListeners;\n private readonly _urlDocument: URLDocument;\n private readonly _urlAttribution: boolean;\n private readonly _pageManager: PageManager;\n private readonly _attributedPage: Record<\n Metric['name'],\n AttributedPage | undefined\n > = {\n CLS: undefined,\n FCP: undefined,\n INP: undefined,\n LCP: undefined,\n TTFB: undefined,\n };\n private _largestShiftTargetForCLS: string | undefined;\n private _listenersRegistered = false;\n private _isEnabled = false;\n\n // Instrumentation that adds an event to the session span for each web vital report\n public constructor({\n diag,\n perf,\n listeners = WEB_VITALS_ID_TO_LISTENER,\n urlDocument = window.document,\n urlAttribution = true,\n pageManager,\n }: WebVitalsInstrumentationArgs = {}) {\n super({\n config: {},\n diag,\n instrumentationName: 'WebVitalsInstrumentation',\n instrumentationVersion: '1.0.0',\n perf,\n });\n this._listeners = listeners;\n this._urlDocument = urlDocument;\n this._urlAttribution = urlAttribution;\n this._pageManager = pageManager ?? page.getPageManager();\n\n if (this._config.enabled) {\n this.enable();\n }\n }\n\n public override disable(): void {\n // Web-vitals library doesn't support removing listeners, so we just pause emission\n // https://github.com/GoogleChrome/web-vitals/issues/357#issuecomment-1593439036\n this._isEnabled = false;\n this._diag.debug('WebVitalsInstrumentation disabled, pausing emission');\n }\n\n public enable(): void {\n this._isEnabled = true;\n\n // Web-vitals library doesn't support removing listeners, so only register once\n if (this._listenersRegistered) {\n this._diag.debug(\n 'WebVitalsInstrumentation listeners already registered, resuming emission',\n );\n return;\n }\n this._listenersRegistered = true;\n\n ALL_WEB_VITALS.forEach((name) => {\n this._listeners[name]?.((metric) => {\n if (!this._isEnabled) {\n return;\n }\n\n const currentSessionSpan = this.userSessionManager.getSessionPartSpan();\n\n if (!currentSessionSpan) {\n return;\n }\n\n // First thing record the time when this cb was invoked\n const metricTime = this._getTimeForMetric(metric);\n\n const attributedPage = this._getAttributedPageForMetric(metric);\n\n const attrs: Attributes = {\n [KEY_MXL_TYPE]: MXL_TYPES.WebVital,\n [ATTR_URL_FULL]: attributedPage.fullURL,\n [KEY_BROWSER_URL_FULL]: attributedPage.fullURL,\n [KEY_MXL_WEB_VITAL_NAVIGATION_TYPE]: metric.navigationType,\n [KEY_MXL_WEB_VITAL_NAME]: metric.name,\n [KEY_MXL_WEB_VITAL_RATING]: metric.rating,\n [KEY_MXL_WEB_VITAL_ID]: metric.id,\n [KEY_MXL_WEB_VITAL_DELTA]: metric.delta,\n [KEY_MXL_WEB_VITAL_VALUE]: metric.value,\n ...webVitalAttributionToReport(metric),\n ...(name === 'INP' ? loafScriptsAttribution(metric, this._diag) : {}),\n ...(name === 'TTFB'\n ? ttfbSubPartsAttribution(metric, this._diag)\n : {}),\n };\n\n // Add page attributes if route and page ID exist\n if (attributedPage.path && attributedPage.pageID) {\n attrs[KEY_MXL_PAGE_PATH] = attributedPage.path;\n attrs[KEY_MXL_PAGE_ID] = attributedPage.pageID;\n }\n\n if (attributedPage.label) {\n attrs[KEY_APP_SURFACE_LABEL] = attributedPage.label;\n }\n\n currentSessionSpan.addEvent(\n `${MXL_WEB_VITALS_PREFIX}-report-${name}`,\n attrs,\n metricTime,\n );\n });\n });\n\n if (this._urlAttribution) {\n // When these web vitals make their final report (e.g. when the listeners w/ reportAllChanges=false trigger) the\n // Document's URL at that time may not match what it was at the time the scores were last updated. Instead, listen\n // For updates to the scores and keep track of the Page information to attribute for each\n this._listeners.TTFB?.(\n () => {\n this._attributedPage.TTFB = this._currentAttributedPage();\n },\n {\n reportAllChanges: true,\n },\n );\n this._listeners.FCP?.(\n () => {\n this._attributedPage.FCP = this._currentAttributedPage();\n },\n {\n reportAllChanges: true,\n },\n );\n this._listeners.INP?.(\n () => {\n this._attributedPage.INP = this._currentAttributedPage();\n },\n {\n reportAllChanges: true,\n },\n );\n this._listeners.LCP?.(\n () => {\n this._attributedPage.LCP = this._currentAttributedPage();\n },\n {\n reportAllChanges: true,\n },\n );\n this._listeners.CLS?.(\n (metric: MetricWithAttribution) => {\n const clsMetric = metric as CLSMetricWithAttribution;\n // A layout shift could cause CLS to change its rating but because the score is cumulative this might not\n // Correspond with an updated `largestShiftTarget`. Since we want to tie the attributed URL to the page that\n // The `largestShiftTarget` was on we only update the attributed URL if that target has changed\n if (\n this._largestShiftTargetForCLS !==\n clsMetric.attribution.largestShiftTarget\n ) {\n this._largestShiftTargetForCLS =\n clsMetric.attribution.largestShiftTarget;\n this._attributedPage.CLS = this._currentAttributedPage();\n }\n },\n {\n reportAllChanges: true,\n },\n );\n }\n }\n\n private _getTimeForMetric(metric: MetricWithAttribution): number {\n if (metric.name === 'CLS' && metric.attribution.largestShiftTime) {\n return this.perf.epochMillisFromOriginOffset(\n metric.attribution.largestShiftTime,\n );\n }\n\n if (metric.name === 'INP' && metric.attribution.interactionTime) {\n return this.perf.epochMillisFromOriginOffset(\n metric.attribution.interactionTime,\n );\n }\n\n return this.perf.getNowMillis();\n }\n\n private _currentAttributedPage(): AttributedPage {\n const attributed: AttributedPage = {\n fullURL: this._urlDocument.URL,\n };\n\n const currentRoute = this._pageManager.getCurrentRoute();\n const currentPageId = this._pageManager.getCurrentPageId();\n if (currentRoute && currentPageId) {\n attributed.path = currentRoute.path;\n attributed.pageID = currentPageId;\n }\n\n const pageLabel = this._pageManager.getPageLabel();\n if (pageLabel) {\n attributed.label = pageLabel;\n }\n\n return attributed;\n }\n\n private _getAttributedPageForMetric(\n metric: MetricWithAttribution,\n ): AttributedPage {\n if (metric.name === 'FCP' && this._attributedPage.FCP) {\n return this._attributedPage.FCP;\n }\n\n if (metric.name === 'TTFB' && this._attributedPage.TTFB) {\n return this._attributedPage.TTFB;\n }\n\n if (metric.name === 'INP' && this._attributedPage.INP) {\n return this._attributedPage.INP;\n }\n\n if (metric.name === 'LCP' && this._attributedPage.LCP) {\n return this._attributedPage.LCP;\n }\n\n if (\n metric.name === 'CLS' &&\n this._attributedPage.CLS &&\n metric.attribution.largestShiftTarget === this._largestShiftTargetForCLS\n ) {\n return this._attributedPage.CLS;\n }\n\n return this._currentAttributedPage();\n }\n}\n"],"mappings":";;;;;;;;;AAkDA,MAAM,oBAAoB,UAA4C;CACpE,MAAM,OAAO,OAAO;AACpB,QAAO,SAAS,YAAY,SAAS,YAAY,SAAS;;AAG5D,MAAM,cAAc,UAA0B,KAAK,MAAM,KAAK,IAAI,GAAG,MAAM,CAAC;AAE5E,MAAM,+BACJ,WACe;CACf,MAAM,aAAyB,EAAE;CACjC,MAAM,EAAE,gBAAgB;AAExB,KAAI,CAAC,eAAe,OAAO,gBAAgB,SACzC,QAAO;AAGT,MAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,YAAY,CACpD,KAAI,iBAAiB,MAAM,CACzB,YAAW,GAAGA,wEAAAA,uCAAuC,SAAS;AAIlE,QAAO;;AAGT,MAAM,0BACJ,QACA,SACe;CACf,MAAM,aAAyB,EAAE;CACjC,MAAM,cAAc,OAAO;AAE3B,KAAI;AAGF,MAAI,YAAY,0BAA0B,SAAS,GAAG;GACpD,MAAM,0BAAU,IAAI,KAOjB;AACH,QAAK,MAAM,SAAS,YAAY,0BAC9B,MAAK,MAAM,UAAU,MAAM,SAAS;IAClC,IAAI,MAAM,OAAO,aAAa;AAC9B,QAAI,IAAI,SAAA,KACN,OAAM,GAAG,IAAI,UAAU,GAAGC,uEAAAA,2BAA2B,CAAC;IAExD,MAAM,WAAW,QAAQ,IAAI,IAAI;AACjC,QAAI,UAAU;AACZ,cAAS,iBAAiB,OAAO;AACjC,cAAS,0BACP,OAAO;AACT,cAAS;UAET,SAAQ,IAAI,KAAK;KACf,OAAO;KACP,wBAAwB,OAAO;KAC/B,eAAe,OAAO;KACvB,CAAC;;AAIR,OAAI,QAAQ,OAAO,EACjB,YAAW,GAAGD,wEAAAA,qCAAqC,iBACjD,KAAK,UACH,OAAO,YACL,CAAC,GAAG,QAAQ,CACT,MAAM,GAAG,MAAM,EAAE,GAAG,gBAAgB,EAAE,GAAG,cAAc,CACvD,MAAM,GAAA,IAA2B,CACjC,KAAK,CAAC,KAAK,YAAY,CACtB,KACA;IACE,OAAO,OAAO;IACd,2BAA2B,KAAK,MAC9B,OAAO,uBACR;IACD,gBAAgB,KAAK,MAAM,OAAO,cAAc;IACjD,CACF,CAAC,CACL,CACF;;UAIA,OAAO;AACd,OAAK,MAAM,uCAAuC,MAAM;;AAG1D,QAAO;;AAGT,MAAM,2BACJ,QACA,SACe;CACf,MAAM,aAAyB,EAAE;CAEjC,MAAM,QADc,OAAO,YACD;AAI1B,KAAI,MACF,KAAI;EACF,MAAM,WAAW,WAAW,MAAM,cAAc,MAAM,cAAc;EACpE,MAAM,eAAe,WACnB,MAAM,kBAAkB,MAAM,kBAC/B;EACD,MAAM,gBAAgB,WACpB,MAAM,wBAAwB,IAC1B,MAAM,wBAAwB,MAAM,eACpC,MAAM,aAAa,MAAM,aAC9B;EACD,MAAM,iBAAiB,WACrB,MAAM,wBAAwB,IAC1B,MAAM,aAAa,MAAM,wBACzB,EACL;EAOD,MAAM,iBAAiB,WANQ,KAAK,IAGlC,MAAM,6BAA6B,GACnC,MAAM,cAGgB,GAAG,MAAM,aAChC;EAED,MAAM,eAAe,WADP,KAAK,MAAM,MAAM,cAAc,MAAM,UAE5C,GACH,WACA,eACA,gBACA,iBACA,eACH;EACD,MAAM,SAASA,wEAAAA;AACf,aAAW,GAAG,OAAO,aAAa;AAClC,aAAW,GAAG,OAAO,iBAAiB;AACtC,aAAW,GAAG,OAAO,kBAAkB;AACvC,aAAW,GAAG,OAAO,mBAAmB;AACxC,aAAW,GAAG,OAAO,mBAAmB;AACxC,aAAW,GAAG,OAAO,iBAAiB;UAC/B,OAAO;AACd,OAAK,MAAM,yCAAyC,MAAM;;KAG5D,MAAK,MAAM,8DAA8D;AAG3E,QAAO;;AAGT,IAAa,2BAAb,cAA8CE,uEAAAA,uBAAuB;CACnE;CACA;CACA;CACA;CACA,kBAGI;EACF,KAAK,KAAA;EACL,KAAK,KAAA;EACL,KAAK,KAAA;EACL,KAAK,KAAA;EACL,MAAM,KAAA;EACP;CACD;CACA,uBAA+B;CAC/B,aAAqB;CAGrB,YAAmB,EACjB,MACA,MACA,YAAYC,uEAAAA,2BACZ,cAAc,OAAO,UACrB,iBAAiB,MACjB,gBACgC,EAAE,EAAE;AACpC,QAAM;GACJ,QAAQ,EAAE;GACV;GACA,qBAAqB;GACrB,wBAAwB;GACxB;GACD,CAAC;AACF,OAAK,aAAa;AAClB,OAAK,eAAe;AACpB,OAAK,kBAAkB;AACvB,OAAK,eAAe,eAAeC,yBAAAA,KAAK,gBAAgB;AAExD,MAAI,KAAK,QAAQ,QACf,MAAK,QAAQ;;CAIjB,UAAgC;AAG9B,OAAK,aAAa;AAClB,OAAK,MAAM,MAAM,sDAAsD;;CAGzE,SAAsB;AACpB,OAAK,aAAa;AAGlB,MAAI,KAAK,sBAAsB;AAC7B,QAAK,MAAM,MACT,2EACD;AACD;;AAEF,OAAK,uBAAuB;AAE5B,yEAAA,eAAe,SAAS,SAAS;AAC/B,QAAK,WAAW,SAAS,WAAW;AAClC,QAAI,CAAC,KAAK,WACR;IAGF,MAAM,qBAAqB,KAAK,mBAAmB,oBAAoB;AAEvE,QAAI,CAAC,mBACH;IAIF,MAAM,aAAa,KAAK,kBAAkB,OAAO;IAEjD,MAAM,iBAAiB,KAAK,4BAA4B,OAAO;IAE/D,MAAM,QAAoB;MACvBC,6BAAAA,eAAAA;MACAC,oCAAAA,gBAAgB,eAAe;MAC/BC,6BAAAA,uBAAuB,eAAe;MACtCC,wEAAAA,oCAAoC,OAAO;MAC3CC,wEAAAA,yBAAyB,OAAO;MAChCC,wEAAAA,2BAA2B,OAAO;MAClCC,wEAAAA,uBAAuB,OAAO;MAC9BC,wEAAAA,0BAA0B,OAAO;MACjCC,wEAAAA,0BAA0B,OAAO;KAClC,GAAG,4BAA4B,OAAO;KACtC,GAAI,SAAS,QAAQ,uBAAuB,QAAQ,KAAK,MAAM,GAAG,EAAE;KACpE,GAAI,SAAS,SACT,wBAAwB,QAAQ,KAAK,MAAM,GAC3C,EAAE;KACP;AAGD,QAAI,eAAe,QAAQ,eAAe,QAAQ;AAChD,WAAMC,6BAAAA,qBAAqB,eAAe;AAC1C,WAAMC,6BAAAA,mBAAmB,eAAe;;AAG1C,QAAI,eAAe,MACjB,OAAMC,6BAAAA,yBAAyB,eAAe;AAGhD,uBAAmB,SACjB,GAAGC,uEAAAA,sBAAsB,UAAU,QACnC,OACA,WACD;KACD;IACF;AAEF,MAAI,KAAK,iBAAiB;AAIxB,QAAK,WAAW,aACR;AACJ,SAAK,gBAAgB,OAAO,KAAK,wBAAwB;MAE3D,EACE,kBAAkB,MACnB,CACF;AACD,QAAK,WAAW,YACR;AACJ,SAAK,gBAAgB,MAAM,KAAK,wBAAwB;MAE1D,EACE,kBAAkB,MACnB,CACF;AACD,QAAK,WAAW,YACR;AACJ,SAAK,gBAAgB,MAAM,KAAK,wBAAwB;MAE1D,EACE,kBAAkB,MACnB,CACF;AACD,QAAK,WAAW,YACR;AACJ,SAAK,gBAAgB,MAAM,KAAK,wBAAwB;MAE1D,EACE,kBAAkB,MACnB,CACF;AACD,QAAK,WAAW,OACb,WAAkC;IACjC,MAAM,YAAY;AAIlB,QACE,KAAK,8BACL,UAAU,YAAY,oBACtB;AACA,UAAK,4BACH,UAAU,YAAY;AACxB,UAAK,gBAAgB,MAAM,KAAK,wBAAwB;;MAG5D,EACE,kBAAkB,MACnB,CACF;;;CAIL,kBAA0B,QAAuC;AAC/D,MAAI,OAAO,SAAS,SAAS,OAAO,YAAY,iBAC9C,QAAO,KAAK,KAAK,4BACf,OAAO,YAAY,iBACpB;AAGH,MAAI,OAAO,SAAS,SAAS,OAAO,YAAY,gBAC9C,QAAO,KAAK,KAAK,4BACf,OAAO,YAAY,gBACpB;AAGH,SAAO,KAAK,KAAK,cAAc;;CAGjC,yBAAiD;EAC/C,MAAM,aAA6B,EACjC,SAAS,KAAK,aAAa,KAC5B;EAED,MAAM,eAAe,KAAK,aAAa,iBAAiB;EACxD,MAAM,gBAAgB,KAAK,aAAa,kBAAkB;AAC1D,MAAI,gBAAgB,eAAe;AACjC,cAAW,OAAO,aAAa;AAC/B,cAAW,SAAS;;EAGtB,MAAM,YAAY,KAAK,aAAa,cAAc;AAClD,MAAI,UACF,YAAW,QAAQ;AAGrB,SAAO;;CAGT,4BACE,QACgB;AAChB,MAAI,OAAO,SAAS,SAAS,KAAK,gBAAgB,IAChD,QAAO,KAAK,gBAAgB;AAG9B,MAAI,OAAO,SAAS,UAAU,KAAK,gBAAgB,KACjD,QAAO,KAAK,gBAAgB;AAG9B,MAAI,OAAO,SAAS,SAAS,KAAK,gBAAgB,IAChD,QAAO,KAAK,gBAAgB;AAG9B,MAAI,OAAO,SAAS,SAAS,KAAK,gBAAgB,IAChD,QAAO,KAAK,gBAAgB;AAG9B,MACE,OAAO,SAAS,SAChB,KAAK,gBAAgB,OACrB,OAAO,YAAY,uBAAuB,KAAK,0BAE/C,QAAO,KAAK,gBAAgB;AAG9B,SAAO,KAAK,wBAAwB"}
@@ -1 +1 @@
1
- {"version":3,"file":"WebVitalsInstrumentation.d.cts","names":[],"sources":["../../../../src/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.ts"],"mappings":";;;;cAuMa,wBAAA,SAAiC,sBAAA;EAAA,iBAC3B,UAAA;EAAA,iBACA,YAAA;EAAA,iBACA,eAAA;EAAA,iBACA,YAAA;EAAA,iBACA,eAAA;EAAA,QAUT,yBAAA;EAAA,QACA,oBAAA;EAAA,QACA,UAAA;;IAIN,IAAA;IACA,IAAA;IACA,SAAA;IACA,WAAA;IACA,cAAA;IACA;EAAA,IACC,4BAAA;EAkBa,OAAA,CAAA;EAOT,MAAA,CAAA;EAAA,QA0HC,iBAAA;EAAA,QAgBA,sBAAA;EAAA,QAoBA,2BAAA;AAAA"}
1
+ {"version":3,"file":"WebVitalsInstrumentation.d.cts","names":[],"sources":["../../../../src/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.ts"],"mappings":";;;;cA8Ma,wBAAA,SAAiC,sBAAA;EAAA,iBAC3B,UAAA;EAAA,iBACA,YAAA;EAAA,iBACA,eAAA;EAAA,iBACA,YAAA;EAAA,iBACA,eAAA;EAAA,QAUT,yBAAA;EAAA,QACA,oBAAA;EAAA,QACA,UAAA;;IAIN,IAAA;IACA,IAAA;IACA,SAAA;IACA,WAAA;IACA,cAAA;IACA;EAAA,IACC,4BAAA;EAkBa,OAAA,CAAA;EAOT,MAAA,CAAA;EAAA,QA0HC,iBAAA;EAAA,QAgBA,sBAAA;EAAA,QAoBA,2BAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"WebVitalsInstrumentation.d.ts","names":[],"sources":["../../../../src/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.ts"],"mappings":";;;;cAuMa,wBAAA,SAAiC,sBAAA;EAAA,iBAC3B,UAAA;EAAA,iBACA,YAAA;EAAA,iBACA,eAAA;EAAA,iBACA,YAAA;EAAA,iBACA,eAAA;EAAA,QAUT,yBAAA;EAAA,QACA,oBAAA;EAAA,QACA,UAAA;;IAIN,IAAA;IACA,IAAA;IACA,SAAA;IACA,WAAA;IACA,cAAA;IACA;EAAA,IACC,4BAAA;EAkBa,OAAA,CAAA;EAOT,MAAA,CAAA;EAAA,QA0HC,iBAAA;EAAA,QAgBA,sBAAA;EAAA,QAoBA,2BAAA;AAAA"}
1
+ {"version":3,"file":"WebVitalsInstrumentation.d.ts","names":[],"sources":["../../../../src/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.ts"],"mappings":";;;;cA8Ma,wBAAA,SAAiC,sBAAA;EAAA,iBAC3B,UAAA;EAAA,iBACA,YAAA;EAAA,iBACA,eAAA;EAAA,iBACA,YAAA;EAAA,iBACA,eAAA;EAAA,QAUT,yBAAA;EAAA,QACA,oBAAA;EAAA,QACA,UAAA;;IAIN,IAAA;IACA,IAAA;IACA,SAAA;IACA,WAAA;IACA,cAAA;IACA;EAAA,IACC,4BAAA;EAkBa,OAAA,CAAA;EAOT,MAAA,CAAA;EAAA,QA0HC,iBAAA;EAAA,QAgBA,sBAAA;EAAA,QAoBA,2BAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"WebVitalsInstrumentation.js","names":[],"sources":["../../../../src/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.ts"],"sourcesContent":["import type {\n AttributeValue,\n Attributes,\n DiagLogger,\n} from '@opentelemetry/api';\nimport { ATTR_URL_FULL } from '@opentelemetry/semantic-conventions';\nimport type {\n CLSMetricWithAttribution,\n INPAttribution,\n Metric,\n MetricWithAttribution,\n TTFBAttribution,\n} from 'web-vitals/attribution';\nimport type { PageManager } from '../../../api-page/manager/types';\nimport { page } from '../../../api-page/pageAPI';\nimport type { URLDocument } from '../../../common/types';\nimport { KEY_APP_SURFACE_LABEL, KEY_BROWSER_URL_FULL, KEY_MXL_PAGE_ID, KEY_MXL_PAGE_PATH, KEY_MXL_TYPE, MXL_TYPES } from '../../../constants/attributes';\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase/MXLInstrumentationBase';\nimport {\n KEY_MXL_WEB_VITAL_ATTRIBUTION_PREFIX,\n KEY_MXL_WEB_VITAL_DELTA,\n KEY_MXL_WEB_VITAL_ID,\n KEY_MXL_WEB_VITAL_NAME,\n KEY_MXL_WEB_VITAL_NAVIGATION_TYPE,\n KEY_MXL_WEB_VITAL_RATING,\n KEY_MXL_WEB_VITAL_VALUE,\n} from './attributes';\nimport {\n ALL_WEB_VITALS,\n MAX_LOAF_SCRIPT_ENTRIES,\n MAX_LOAF_SCRIPT_URL_LENGTH,\n MXL_WEB_VITALS_PREFIX,\n WEB_VITALS_ID_TO_LISTENER,\n} from './constants';\nimport type { WebVitalListeners, WebVitalsInstrumentationArgs } from './types';\n\ninterface AttributedPage {\n fullURL: string;\n path?: string;\n pageID?: string;\n label?: string;\n}\n\nconst isPrimitiveValue = (value: unknown): value is AttributeValue => {\n const type = typeof value;\n return type === 'number' || type === 'string' || type === 'boolean';\n};\n\nconst roundClamp = (value: number): number => Math.round(Math.max(0, value));\n\nconst webVitalAttributionToReport = (\n metric: MetricWithAttribution,\n): Attributes => {\n const attributes: Attributes = {};\n const { attribution } = metric;\n\n if (!attribution || typeof attribution !== 'object') {\n return attributes;\n }\n\n for (const [key, value] of Object.entries(attribution)) {\n if (isPrimitiveValue(value)) {\n attributes[`${KEY_MXL_WEB_VITAL_ATTRIBUTION_PREFIX}${key}`] = value;\n }\n }\n\n return attributes;\n};\n\nconst loafScriptsAttribution = (\n metric: MetricWithAttribution,\n diag: DiagLogger,\n): Attributes => {\n const attributes: Attributes = {};\n const attribution = metric.attribution as INPAttribution;\n\n try {\n // Suppress LoAF baseline errors\n /* eslint-disable baseline-js/use-baseline */\n if (attribution.longAnimationFrameEntries.length > 0) {\n const scripts = new Map<\n string,\n {\n totalDuration: number;\n styleAndLayoutDuration: number;\n count: number;\n }\n >();\n for (const entry of attribution.longAnimationFrameEntries) {\n for (const script of entry.scripts) {\n let url = script.sourceURL || '(inline)';\n if (url.length > MAX_LOAF_SCRIPT_URL_LENGTH) {\n url = `${url.substring(0, MAX_LOAF_SCRIPT_URL_LENGTH)}...`;\n }\n const existing = scripts.get(url);\n if (existing) {\n existing.totalDuration += script.duration;\n existing.styleAndLayoutDuration +=\n script.forcedStyleAndLayoutDuration;\n existing.count++;\n } else {\n scripts.set(url, {\n count: 1,\n styleAndLayoutDuration: script.forcedStyleAndLayoutDuration,\n totalDuration: script.duration,\n });\n }\n }\n }\n if (scripts.size > 0) {\n attributes[`${KEY_MXL_WEB_VITAL_ATTRIBUTION_PREFIX}loaf_scripts`] =\n JSON.stringify(\n Object.fromEntries(\n [...scripts]\n .sort((a, b) => b[1].totalDuration - a[1].totalDuration)\n .slice(0, MAX_LOAF_SCRIPT_ENTRIES)\n .map(([url, script]) => [\n url,\n {\n count: script.count,\n style_and_layout_duration: Math.round(\n script.styleAndLayoutDuration,\n ),\n total_duration: Math.round(script.totalDuration),\n },\n ]),\n ),\n );\n }\n }\n /* eslint-enable baseline-js/use-baseline */\n } catch (error) {\n diag.error('error building loaf scripts for INP', error);\n }\n\n return attributes;\n};\n\nconst ttfbSubPartsAttribution = (\n metric: MetricWithAttribution,\n diag: DiagLogger,\n): Attributes => {\n const attributes: Attributes = {};\n const attribution = metric.attribution as TTFBAttribution;\n const entry = attribution.navigationEntry as\n | PerformanceNavigationTiming\n | undefined;\n\n if (entry) {\n try {\n const redirect = roundClamp(entry.redirectEnd - entry.redirectStart);\n const domainLookup = roundClamp(\n entry.domainLookupEnd - entry.domainLookupStart,\n );\n const tcpConnection = roundClamp(\n entry.secureConnectionStart > 0\n ? entry.secureConnectionStart - entry.connectStart\n : entry.connectEnd - entry.connectStart,\n );\n const tlsNegotiation = roundClamp(\n entry.secureConnectionStart > 0\n ? entry.connectEnd - entry.secureConnectionStart\n : 0,\n );\n const effectiveResponseStart = Math.max(\n // @ts-expect-error 103 Early hints are not supported in all browsers\n // https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/finalResponseHeadersStart\n entry.finalResponseHeadersStart ?? 0,\n entry.responseStart,\n );\n const serverResponse = roundClamp(\n effectiveResponseStart - entry.requestStart,\n );\n const total = Math.round(entry.responseEnd - entry.startTime);\n const unattributed = roundClamp(\n total -\n redirect -\n domainLookup -\n tcpConnection -\n tlsNegotiation -\n serverResponse,\n );\n const prefix = KEY_MXL_WEB_VITAL_ATTRIBUTION_PREFIX;\n attributes[`${prefix}redirect`] = redirect;\n attributes[`${prefix}domainLookup`] = domainLookup;\n attributes[`${prefix}tcpConnection`] = tcpConnection;\n attributes[`${prefix}tlsNegotiation`] = tlsNegotiation;\n attributes[`${prefix}serverResponse`] = serverResponse;\n attributes[`${prefix}unattributed`] = unattributed;\n } catch (error) {\n diag.error('error computing TTFB timing breakdown', error);\n }\n } else {\n diag.debug('TTFB navigationEntry unavailable, skipping timing breakdown');\n }\n\n return attributes;\n};\n\nexport class WebVitalsInstrumentation extends MXLInstrumentationBase {\n private readonly _listeners: WebVitalListeners;\n private readonly _urlDocument: URLDocument;\n private readonly _urlAttribution: boolean;\n private readonly _pageManager: PageManager;\n private readonly _attributedPage: Record<\n Metric['name'],\n AttributedPage | undefined\n > = {\n CLS: undefined,\n FCP: undefined,\n INP: undefined,\n LCP: undefined,\n TTFB: undefined,\n };\n private _largestShiftTargetForCLS: string | undefined;\n private _listenersRegistered = false;\n private _isEnabled = false;\n\n // Instrumentation that adds an event to the session span for each web vital report\n public constructor({\n diag,\n perf,\n listeners = WEB_VITALS_ID_TO_LISTENER,\n urlDocument = window.document,\n urlAttribution = true,\n pageManager,\n }: WebVitalsInstrumentationArgs = {}) {\n super({\n config: {},\n diag,\n instrumentationName: 'WebVitalsInstrumentation',\n instrumentationVersion: '1.0.0',\n perf,\n });\n this._listeners = listeners;\n this._urlDocument = urlDocument;\n this._urlAttribution = urlAttribution;\n this._pageManager = pageManager ?? page.getPageManager();\n\n if (this._config.enabled) {\n this.enable();\n }\n }\n\n public override disable(): void {\n // Web-vitals library doesn't support removing listeners, so we just pause emission\n // https://github.com/GoogleChrome/web-vitals/issues/357#issuecomment-1593439036\n this._isEnabled = false;\n this._diag.debug('WebVitalsInstrumentation disabled, pausing emission');\n }\n\n public enable(): void {\n this._isEnabled = true;\n\n // Web-vitals library doesn't support removing listeners, so only register once\n if (this._listenersRegistered) {\n this._diag.debug(\n 'WebVitalsInstrumentation listeners already registered, resuming emission',\n );\n return;\n }\n this._listenersRegistered = true;\n\n ALL_WEB_VITALS.forEach((name) => {\n this._listeners[name]?.((metric) => {\n if (!this._isEnabled) {\n return;\n }\n\n const currentSessionSpan = this.userSessionManager.getSessionPartSpan();\n\n if (!currentSessionSpan) {\n return;\n }\n\n // First thing record the time when this cb was invoked\n const metricTime = this._getTimeForMetric(metric);\n\n const attributedPage = this._getAttributedPageForMetric(metric);\n\n const attrs: Attributes = {\n [KEY_MXL_TYPE]: MXL_TYPES.WebVital,\n [ATTR_URL_FULL]: attributedPage.fullURL,\n [KEY_BROWSER_URL_FULL]: attributedPage.fullURL,\n [KEY_MXL_WEB_VITAL_NAVIGATION_TYPE]: metric.navigationType,\n [KEY_MXL_WEB_VITAL_NAME]: metric.name,\n [KEY_MXL_WEB_VITAL_RATING]: metric.rating,\n [KEY_MXL_WEB_VITAL_ID]: metric.id,\n [KEY_MXL_WEB_VITAL_DELTA]: metric.delta,\n [KEY_MXL_WEB_VITAL_VALUE]: metric.value,\n ...webVitalAttributionToReport(metric),\n ...(name === 'INP' ? loafScriptsAttribution(metric, this._diag) : {}),\n ...(name === 'TTFB'\n ? ttfbSubPartsAttribution(metric, this._diag)\n : {}),\n };\n\n // Add page attributes if route and page ID exist\n if (attributedPage.path && attributedPage.pageID) {\n attrs[KEY_MXL_PAGE_PATH] = attributedPage.path;\n attrs[KEY_MXL_PAGE_ID] = attributedPage.pageID;\n }\n\n if (attributedPage.label) {\n attrs[KEY_APP_SURFACE_LABEL] = attributedPage.label;\n }\n\n currentSessionSpan.addEvent(\n `${MXL_WEB_VITALS_PREFIX}-report-${name}`,\n attrs,\n metricTime,\n );\n });\n });\n\n if (this._urlAttribution) {\n // When these web vitals make their final report (e.g. when the listeners w/ reportAllChanges=false trigger) the\n // Document's URL at that time may not match what it was at the time the scores were last updated. Instead, listen\n // For updates to the scores and keep track of the Page information to attribute for each\n this._listeners.TTFB?.(\n () => {\n this._attributedPage.TTFB = this._currentAttributedPage();\n },\n {\n reportAllChanges: true,\n },\n );\n this._listeners.FCP?.(\n () => {\n this._attributedPage.FCP = this._currentAttributedPage();\n },\n {\n reportAllChanges: true,\n },\n );\n this._listeners.INP?.(\n () => {\n this._attributedPage.INP = this._currentAttributedPage();\n },\n {\n reportAllChanges: true,\n },\n );\n this._listeners.LCP?.(\n () => {\n this._attributedPage.LCP = this._currentAttributedPage();\n },\n {\n reportAllChanges: true,\n },\n );\n this._listeners.CLS?.(\n (metric: MetricWithAttribution) => {\n const clsMetric = metric as CLSMetricWithAttribution;\n // A layout shift could cause CLS to change its rating but because the score is cumulative this might not\n // Correspond with an updated `largestShiftTarget`. Since we want to tie the attributed URL to the page that\n // The `largestShiftTarget` was on we only update the attributed URL if that target has changed\n if (\n this._largestShiftTargetForCLS !==\n clsMetric.attribution.largestShiftTarget\n ) {\n this._largestShiftTargetForCLS =\n clsMetric.attribution.largestShiftTarget;\n this._attributedPage.CLS = this._currentAttributedPage();\n }\n },\n {\n reportAllChanges: true,\n },\n );\n }\n }\n\n private _getTimeForMetric(metric: MetricWithAttribution): number {\n if (metric.name === 'CLS' && metric.attribution.largestShiftTime) {\n return this.perf.epochMillisFromOriginOffset(\n metric.attribution.largestShiftTime,\n );\n }\n\n if (metric.name === 'INP' && metric.attribution.interactionTime) {\n return this.perf.epochMillisFromOriginOffset(\n metric.attribution.interactionTime,\n );\n }\n\n return this.perf.getNowMillis();\n }\n\n private _currentAttributedPage(): AttributedPage {\n const attributed: AttributedPage = {\n fullURL: this._urlDocument.URL,\n };\n\n const currentRoute = this._pageManager.getCurrentRoute();\n const currentPageId = this._pageManager.getCurrentPageId();\n if (currentRoute && currentPageId) {\n attributed.path = currentRoute.path;\n attributed.pageID = currentPageId;\n }\n\n const pageLabel = this._pageManager.getPageLabel();\n if (pageLabel) {\n attributed.label = pageLabel;\n }\n\n return attributed;\n }\n\n private _getAttributedPageForMetric(\n metric: MetricWithAttribution,\n ): AttributedPage {\n if (metric.name === 'FCP' && this._attributedPage.FCP) {\n return this._attributedPage.FCP;\n }\n\n if (metric.name === 'TTFB' && this._attributedPage.TTFB) {\n return this._attributedPage.TTFB;\n }\n\n if (metric.name === 'INP' && this._attributedPage.INP) {\n return this._attributedPage.INP;\n }\n\n if (metric.name === 'LCP' && this._attributedPage.LCP) {\n return this._attributedPage.LCP;\n }\n\n if (\n metric.name === 'CLS' &&\n this._attributedPage.CLS &&\n metric.attribution.largestShiftTarget === this._largestShiftTargetForCLS\n ) {\n return this._attributedPage.CLS;\n }\n\n return this._currentAttributedPage();\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"WebVitalsInstrumentation.js","names":[],"sources":["../../../../src/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.ts"],"sourcesContent":["import type {\n AttributeValue,\n Attributes,\n DiagLogger,\n} from '@opentelemetry/api';\nimport { ATTR_URL_FULL } from '@opentelemetry/semantic-conventions';\nimport type {\n CLSMetricWithAttribution,\n INPAttribution,\n Metric,\n MetricWithAttribution,\n TTFBAttribution,\n} from 'web-vitals/attribution';\nimport type { PageManager } from '../../../api-page/manager/types';\nimport { page } from '../../../api-page/pageAPI';\nimport type { URLDocument } from '../../../common/types';\nimport {\n KEY_APP_SURFACE_LABEL,\n KEY_BROWSER_URL_FULL,\n KEY_MXL_PAGE_ID,\n KEY_MXL_PAGE_PATH,\n KEY_MXL_TYPE,\n MXL_TYPES,\n} from '../../../constants/attributes';\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase/MXLInstrumentationBase';\nimport {\n KEY_MXL_WEB_VITAL_ATTRIBUTION_PREFIX,\n KEY_MXL_WEB_VITAL_DELTA,\n KEY_MXL_WEB_VITAL_ID,\n KEY_MXL_WEB_VITAL_NAME,\n KEY_MXL_WEB_VITAL_NAVIGATION_TYPE,\n KEY_MXL_WEB_VITAL_RATING,\n KEY_MXL_WEB_VITAL_VALUE,\n} from './attributes';\nimport {\n ALL_WEB_VITALS,\n MAX_LOAF_SCRIPT_ENTRIES,\n MAX_LOAF_SCRIPT_URL_LENGTH,\n MXL_WEB_VITALS_PREFIX,\n WEB_VITALS_ID_TO_LISTENER,\n} from './constants';\nimport type { WebVitalListeners, WebVitalsInstrumentationArgs } from './types';\n\ninterface AttributedPage {\n fullURL: string;\n path?: string;\n pageID?: string;\n label?: string;\n}\n\nconst isPrimitiveValue = (value: unknown): value is AttributeValue => {\n const type = typeof value;\n return type === 'number' || type === 'string' || type === 'boolean';\n};\n\nconst roundClamp = (value: number): number => Math.round(Math.max(0, value));\n\nconst webVitalAttributionToReport = (\n metric: MetricWithAttribution,\n): Attributes => {\n const attributes: Attributes = {};\n const { attribution } = metric;\n\n if (!attribution || typeof attribution !== 'object') {\n return attributes;\n }\n\n for (const [key, value] of Object.entries(attribution)) {\n if (isPrimitiveValue(value)) {\n attributes[`${KEY_MXL_WEB_VITAL_ATTRIBUTION_PREFIX}${key}`] = value;\n }\n }\n\n return attributes;\n};\n\nconst loafScriptsAttribution = (\n metric: MetricWithAttribution,\n diag: DiagLogger,\n): Attributes => {\n const attributes: Attributes = {};\n const attribution = metric.attribution as INPAttribution;\n\n try {\n // Suppress LoAF baseline errors\n /* eslint-disable baseline-js/use-baseline */\n if (attribution.longAnimationFrameEntries.length > 0) {\n const scripts = new Map<\n string,\n {\n totalDuration: number;\n styleAndLayoutDuration: number;\n count: number;\n }\n >();\n for (const entry of attribution.longAnimationFrameEntries) {\n for (const script of entry.scripts) {\n let url = script.sourceURL || '(inline)';\n if (url.length > MAX_LOAF_SCRIPT_URL_LENGTH) {\n url = `${url.substring(0, MAX_LOAF_SCRIPT_URL_LENGTH)}...`;\n }\n const existing = scripts.get(url);\n if (existing) {\n existing.totalDuration += script.duration;\n existing.styleAndLayoutDuration +=\n script.forcedStyleAndLayoutDuration;\n existing.count++;\n } else {\n scripts.set(url, {\n count: 1,\n styleAndLayoutDuration: script.forcedStyleAndLayoutDuration,\n totalDuration: script.duration,\n });\n }\n }\n }\n if (scripts.size > 0) {\n attributes[`${KEY_MXL_WEB_VITAL_ATTRIBUTION_PREFIX}loaf_scripts`] =\n JSON.stringify(\n Object.fromEntries(\n [...scripts]\n .sort((a, b) => b[1].totalDuration - a[1].totalDuration)\n .slice(0, MAX_LOAF_SCRIPT_ENTRIES)\n .map(([url, script]) => [\n url,\n {\n count: script.count,\n style_and_layout_duration: Math.round(\n script.styleAndLayoutDuration,\n ),\n total_duration: Math.round(script.totalDuration),\n },\n ]),\n ),\n );\n }\n }\n /* eslint-enable baseline-js/use-baseline */\n } catch (error) {\n diag.error('error building loaf scripts for INP', error);\n }\n\n return attributes;\n};\n\nconst ttfbSubPartsAttribution = (\n metric: MetricWithAttribution,\n diag: DiagLogger,\n): Attributes => {\n const attributes: Attributes = {};\n const attribution = metric.attribution as TTFBAttribution;\n const entry = attribution.navigationEntry as\n | PerformanceNavigationTiming\n | undefined;\n\n if (entry) {\n try {\n const redirect = roundClamp(entry.redirectEnd - entry.redirectStart);\n const domainLookup = roundClamp(\n entry.domainLookupEnd - entry.domainLookupStart,\n );\n const tcpConnection = roundClamp(\n entry.secureConnectionStart > 0\n ? entry.secureConnectionStart - entry.connectStart\n : entry.connectEnd - entry.connectStart,\n );\n const tlsNegotiation = roundClamp(\n entry.secureConnectionStart > 0\n ? entry.connectEnd - entry.secureConnectionStart\n : 0,\n );\n const effectiveResponseStart = Math.max(\n // @ts-expect-error 103 Early hints are not supported in all browsers\n // https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/finalResponseHeadersStart\n entry.finalResponseHeadersStart ?? 0,\n entry.responseStart,\n );\n const serverResponse = roundClamp(\n effectiveResponseStart - entry.requestStart,\n );\n const total = Math.round(entry.responseEnd - entry.startTime);\n const unattributed = roundClamp(\n total -\n redirect -\n domainLookup -\n tcpConnection -\n tlsNegotiation -\n serverResponse,\n );\n const prefix = KEY_MXL_WEB_VITAL_ATTRIBUTION_PREFIX;\n attributes[`${prefix}redirect`] = redirect;\n attributes[`${prefix}domainLookup`] = domainLookup;\n attributes[`${prefix}tcpConnection`] = tcpConnection;\n attributes[`${prefix}tlsNegotiation`] = tlsNegotiation;\n attributes[`${prefix}serverResponse`] = serverResponse;\n attributes[`${prefix}unattributed`] = unattributed;\n } catch (error) {\n diag.error('error computing TTFB timing breakdown', error);\n }\n } else {\n diag.debug('TTFB navigationEntry unavailable, skipping timing breakdown');\n }\n\n return attributes;\n};\n\nexport class WebVitalsInstrumentation extends MXLInstrumentationBase {\n private readonly _listeners: WebVitalListeners;\n private readonly _urlDocument: URLDocument;\n private readonly _urlAttribution: boolean;\n private readonly _pageManager: PageManager;\n private readonly _attributedPage: Record<\n Metric['name'],\n AttributedPage | undefined\n > = {\n CLS: undefined,\n FCP: undefined,\n INP: undefined,\n LCP: undefined,\n TTFB: undefined,\n };\n private _largestShiftTargetForCLS: string | undefined;\n private _listenersRegistered = false;\n private _isEnabled = false;\n\n // Instrumentation that adds an event to the session span for each web vital report\n public constructor({\n diag,\n perf,\n listeners = WEB_VITALS_ID_TO_LISTENER,\n urlDocument = window.document,\n urlAttribution = true,\n pageManager,\n }: WebVitalsInstrumentationArgs = {}) {\n super({\n config: {},\n diag,\n instrumentationName: 'WebVitalsInstrumentation',\n instrumentationVersion: '1.0.0',\n perf,\n });\n this._listeners = listeners;\n this._urlDocument = urlDocument;\n this._urlAttribution = urlAttribution;\n this._pageManager = pageManager ?? page.getPageManager();\n\n if (this._config.enabled) {\n this.enable();\n }\n }\n\n public override disable(): void {\n // Web-vitals library doesn't support removing listeners, so we just pause emission\n // https://github.com/GoogleChrome/web-vitals/issues/357#issuecomment-1593439036\n this._isEnabled = false;\n this._diag.debug('WebVitalsInstrumentation disabled, pausing emission');\n }\n\n public enable(): void {\n this._isEnabled = true;\n\n // Web-vitals library doesn't support removing listeners, so only register once\n if (this._listenersRegistered) {\n this._diag.debug(\n 'WebVitalsInstrumentation listeners already registered, resuming emission',\n );\n return;\n }\n this._listenersRegistered = true;\n\n ALL_WEB_VITALS.forEach((name) => {\n this._listeners[name]?.((metric) => {\n if (!this._isEnabled) {\n return;\n }\n\n const currentSessionSpan = this.userSessionManager.getSessionPartSpan();\n\n if (!currentSessionSpan) {\n return;\n }\n\n // First thing record the time when this cb was invoked\n const metricTime = this._getTimeForMetric(metric);\n\n const attributedPage = this._getAttributedPageForMetric(metric);\n\n const attrs: Attributes = {\n [KEY_MXL_TYPE]: MXL_TYPES.WebVital,\n [ATTR_URL_FULL]: attributedPage.fullURL,\n [KEY_BROWSER_URL_FULL]: attributedPage.fullURL,\n [KEY_MXL_WEB_VITAL_NAVIGATION_TYPE]: metric.navigationType,\n [KEY_MXL_WEB_VITAL_NAME]: metric.name,\n [KEY_MXL_WEB_VITAL_RATING]: metric.rating,\n [KEY_MXL_WEB_VITAL_ID]: metric.id,\n [KEY_MXL_WEB_VITAL_DELTA]: metric.delta,\n [KEY_MXL_WEB_VITAL_VALUE]: metric.value,\n ...webVitalAttributionToReport(metric),\n ...(name === 'INP' ? loafScriptsAttribution(metric, this._diag) : {}),\n ...(name === 'TTFB'\n ? ttfbSubPartsAttribution(metric, this._diag)\n : {}),\n };\n\n // Add page attributes if route and page ID exist\n if (attributedPage.path && attributedPage.pageID) {\n attrs[KEY_MXL_PAGE_PATH] = attributedPage.path;\n attrs[KEY_MXL_PAGE_ID] = attributedPage.pageID;\n }\n\n if (attributedPage.label) {\n attrs[KEY_APP_SURFACE_LABEL] = attributedPage.label;\n }\n\n currentSessionSpan.addEvent(\n `${MXL_WEB_VITALS_PREFIX}-report-${name}`,\n attrs,\n metricTime,\n );\n });\n });\n\n if (this._urlAttribution) {\n // When these web vitals make their final report (e.g. when the listeners w/ reportAllChanges=false trigger) the\n // Document's URL at that time may not match what it was at the time the scores were last updated. Instead, listen\n // For updates to the scores and keep track of the Page information to attribute for each\n this._listeners.TTFB?.(\n () => {\n this._attributedPage.TTFB = this._currentAttributedPage();\n },\n {\n reportAllChanges: true,\n },\n );\n this._listeners.FCP?.(\n () => {\n this._attributedPage.FCP = this._currentAttributedPage();\n },\n {\n reportAllChanges: true,\n },\n );\n this._listeners.INP?.(\n () => {\n this._attributedPage.INP = this._currentAttributedPage();\n },\n {\n reportAllChanges: true,\n },\n );\n this._listeners.LCP?.(\n () => {\n this._attributedPage.LCP = this._currentAttributedPage();\n },\n {\n reportAllChanges: true,\n },\n );\n this._listeners.CLS?.(\n (metric: MetricWithAttribution) => {\n const clsMetric = metric as CLSMetricWithAttribution;\n // A layout shift could cause CLS to change its rating but because the score is cumulative this might not\n // Correspond with an updated `largestShiftTarget`. Since we want to tie the attributed URL to the page that\n // The `largestShiftTarget` was on we only update the attributed URL if that target has changed\n if (\n this._largestShiftTargetForCLS !==\n clsMetric.attribution.largestShiftTarget\n ) {\n this._largestShiftTargetForCLS =\n clsMetric.attribution.largestShiftTarget;\n this._attributedPage.CLS = this._currentAttributedPage();\n }\n },\n {\n reportAllChanges: true,\n },\n );\n }\n }\n\n private _getTimeForMetric(metric: MetricWithAttribution): number {\n if (metric.name === 'CLS' && metric.attribution.largestShiftTime) {\n return this.perf.epochMillisFromOriginOffset(\n metric.attribution.largestShiftTime,\n );\n }\n\n if (metric.name === 'INP' && metric.attribution.interactionTime) {\n return this.perf.epochMillisFromOriginOffset(\n metric.attribution.interactionTime,\n );\n }\n\n return this.perf.getNowMillis();\n }\n\n private _currentAttributedPage(): AttributedPage {\n const attributed: AttributedPage = {\n fullURL: this._urlDocument.URL,\n };\n\n const currentRoute = this._pageManager.getCurrentRoute();\n const currentPageId = this._pageManager.getCurrentPageId();\n if (currentRoute && currentPageId) {\n attributed.path = currentRoute.path;\n attributed.pageID = currentPageId;\n }\n\n const pageLabel = this._pageManager.getPageLabel();\n if (pageLabel) {\n attributed.label = pageLabel;\n }\n\n return attributed;\n }\n\n private _getAttributedPageForMetric(\n metric: MetricWithAttribution,\n ): AttributedPage {\n if (metric.name === 'FCP' && this._attributedPage.FCP) {\n return this._attributedPage.FCP;\n }\n\n if (metric.name === 'TTFB' && this._attributedPage.TTFB) {\n return this._attributedPage.TTFB;\n }\n\n if (metric.name === 'INP' && this._attributedPage.INP) {\n return this._attributedPage.INP;\n }\n\n if (metric.name === 'LCP' && this._attributedPage.LCP) {\n return this._attributedPage.LCP;\n }\n\n if (\n metric.name === 'CLS' &&\n this._attributedPage.CLS &&\n metric.attribution.largestShiftTarget === this._largestShiftTargetForCLS\n ) {\n return this._attributedPage.CLS;\n }\n\n return this._currentAttributedPage();\n }\n}\n"],"mappings":"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"}
@@ -2,9 +2,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  require("../../_virtual/_rolldown/runtime.cjs");
3
3
  const require_constants_attributes = require("../../constants/attributes.cjs");
4
4
  const require_utils_PerformanceManager_OTelPerformanceManager = require("../../utils/PerformanceManager/OTelPerformanceManager.cjs");
5
- const require_utils_globalConfig = require("../../utils/globalConfig.cjs");
6
5
  const require_utils_getIncrementedCount = require("../../utils/getIncrementedCount.cjs");
7
6
  const require_utils_getVisibilityState = require("../../utils/getVisibilityState.cjs");
7
+ const require_utils_globalConfig = require("../../utils/globalConfig.cjs");
8
8
  let _opentelemetry_api = require("@opentelemetry/api");
9
9
  let _opentelemetry_api_logs = require("@opentelemetry/api-logs");
10
10
  let _opentelemetry_semantic_conventions = require("@opentelemetry/semantic-conventions");
@@ -1 +1 @@
1
- {"version":3,"file":"MXLLogManager.cjs","names":["GLOBAL_CONFIG","logs","diag","OTelPerformanceManager","SeverityNumber","KEY_MXL_UNHANDLED_EXCEPTIONS_COUNT","KEY_REACT_COMPONENT_STACK","KEY_MXL_TYPE","KEY_MXL_EXCEPTION_HANDLING","KEY_MXL_EXCEPTION_CAUSE","ATTR_EXCEPTION_TYPE","ATTR_EXCEPTION_MESSAGE","ATTR_EXCEPTION_STACKTRACE","KEY_MXL_JS_FILE_BUNDLE_IDS","KEY_MXL_STATE","getVisibilityState","KEY_MXL_EXCEPTION_NUMBER","getIncrementedCount","KEY_MXL_ERROR_LOG_COUNT","KEY_MXL_JS_EXCEPTION_STACKTRACE"],"sources":["../../../src/managers/MXLLogManager/MXLLogManager.ts"],"sourcesContent":["import type { Attributes, DiagLogger } from '@opentelemetry/api';\nimport { diag } from '@opentelemetry/api';\nimport type { Logger } from '@opentelemetry/api-logs';\nimport { SeverityNumber, logs } from '@opentelemetry/api-logs';\nimport {\n ATTR_EXCEPTION_MESSAGE,\n ATTR_EXCEPTION_STACKTRACE,\n ATTR_EXCEPTION_TYPE,\n} from '@opentelemetry/semantic-conventions';\nimport type { LogManager, LogSeverity } from '../../api-logs/manager/types';\nimport type { LogExceptionOptions, LogMessageOptions } from '../../api-logs/manager/types';\nimport type { ExceptionHandlerType } from '../../api-logs/manager/types';\nimport type { VisibilityStateDocument } from '../../common/types';\nimport { KEY_MXL_EXCEPTION_HANDLING, KEY_MXL_EXCEPTION_NUMBER, KEY_MXL_JS_EXCEPTION_STACKTRACE, KEY_MXL_STATE, KEY_MXL_TYPE, MXL_TYPES } from '../../constants/attributes';\nimport {\n KEY_MXL_ERROR_LOG_COUNT,\n KEY_MXL_EXCEPTION_CAUSE,\n KEY_MXL_JS_FILE_BUNDLE_IDS,\n KEY_MXL_UNHANDLED_EXCEPTIONS_COUNT,\n KEY_REACT_COMPONENT_STACK,\n} from '../../constants/attributes';\nimport type { PerformanceManager } from '../../utils/PerformanceManager/types';\nimport { GLOBAL_CONFIG } from '../../utils/globalConfig';\nimport { OTelPerformanceManager } from '../../utils/PerformanceManager/OTelPerformanceManager';\nimport { getIncrementedCount } from '../../utils/getIncrementedCount';\nimport { getVisibilityState } from '../../utils/getVisibilityState';\nimport type { LimitManagerInternal } from '../MXLLimitManager/types';\nimport type { UserSessionManagerInternal } from '../MXLUserSessionManager/types';\nimport type { MXLLogManagerArgs } from './types';\n\nconst MXL_EXCEPTION_NUMBER_STORAGE_KEY = 'mxl_exception_number';\n/**\n * GLOBAL_CONFIG._MXLFileBundleIDs is populated at runtime when each file is loaded,\n * based on the contents injected by the mxl-web-cli.\n */\nconst getJSFileBundleIDs = () =>\n JSON.stringify(GLOBAL_CONFIG._MXLFileBundleIDs || {});\n\nexport class MXLLogManager implements LogManager {\n private readonly _diag: DiagLogger;\n private readonly _perf: PerformanceManager;\n private readonly _logger: Logger;\n private readonly _userSessionManager: UserSessionManagerInternal;\n private readonly _limitManager: LimitManagerInternal;\n private readonly _visibilityDoc: VisibilityStateDocument;\n private readonly _storage: Storage;\n\n public constructor({\n diag: diagParam,\n perf,\n userSessionManager,\n limitManager,\n loggerProvider: globalLoggerProviderOverride,\n visibilityDoc = window.document,\n storage = window.localStorage,\n }: MXLLogManagerArgs) {\n const loggerProvider = globalLoggerProviderOverride ?? logs;\n\n this._diag =\n diagParam ??\n diag.createComponentLogger({\n namespace: 'MXLLogManager',\n });\n this._perf = perf ?? new OTelPerformanceManager();\n this._logger = loggerProvider.getLogger('mxl-web-sdk-logs');\n this._userSessionManager = userSessionManager;\n this._limitManager = limitManager;\n this._visibilityDoc = visibilityDoc;\n this._storage = storage;\n }\n\n private _validateAttributes(attributes: unknown): Attributes {\n if (Object.prototype.toString.call(attributes) !== '[object Object]') {\n this._diag.warn('attributes must be a plain object', attributes);\n return {};\n }\n return attributes as Attributes;\n }\n\n private static _logSeverityToSeverityNumber(\n severity: LogSeverity,\n ): SeverityNumber {\n switch (severity) {\n case 'info': {\n return SeverityNumber.INFO;\n }\n case 'warning': {\n return SeverityNumber.WARN;\n }\n default: {\n return SeverityNumber.ERROR;\n }\n }\n }\n\n public logException(\n error: unknown,\n {\n handled = true,\n attributes = {},\n timestamp = this._perf.getNowMillis(),\n handler = 'manual',\n }: LogExceptionOptions = {},\n ) {\n const validAttrs = this._validateAttributes(attributes);\n\n if (!handled) {\n this._userSessionManager.incrSessionPartCountForKey(\n KEY_MXL_UNHANDLED_EXCEPTIONS_COUNT,\n );\n }\n\n const type = error?.constructor?.name || typeof error;\n let errMessage = '';\n let errName = type;\n let errStack = '';\n let errCause = '';\n\n if (error instanceof Error) {\n errMessage = String(error.message || '').trim();\n errName = error.name || '';\n errStack = error.stack || '';\n errCause = error.cause ? 'present' : '';\n } else if (error && typeof error === 'object') {\n try {\n errMessage = JSON.stringify(error);\n } catch {\n errMessage = String(error).trim();\n }\n } else {\n errMessage = String(error).trim();\n }\n\n const {\n [KEY_REACT_COMPONENT_STACK]: reactComponentStack,\n ...attrsForLimiting\n } = validAttrs;\n\n const limited = this._limitManager.limitException(\n errMessage,\n attrsForLimiting,\n );\n if (limited === 'dropped') {\n return;\n }\n\n this._logger.emit({\n attributes: {\n ...limited.attributes,\n ...(reactComponentStack !== undefined\n ? { [KEY_REACT_COMPONENT_STACK]: String(reactComponentStack) }\n : {}),\n [KEY_MXL_TYPE]: MXL_TYPES.SystemException,\n [KEY_MXL_EXCEPTION_HANDLING]: MXLLogManager._exceptionHandlingType(\n handled,\n handler,\n ),\n [KEY_MXL_EXCEPTION_CAUSE]: errCause,\n [ATTR_EXCEPTION_TYPE]: type,\n ['exception.name']: errName,\n [ATTR_EXCEPTION_MESSAGE]: limited.message,\n [ATTR_EXCEPTION_STACKTRACE]: errStack,\n [KEY_MXL_JS_FILE_BUNDLE_IDS]: getJSFileBundleIDs(),\n [KEY_MXL_STATE]: getVisibilityState(this._visibilityDoc),\n [KEY_MXL_EXCEPTION_NUMBER]: getIncrementedCount(\n this._storage,\n MXL_EXCEPTION_NUMBER_STORAGE_KEY,\n this._diag,\n ),\n },\n body: limited.message,\n severityNumber: SeverityNumber.ERROR,\n severityText: 'ERROR',\n timestamp,\n });\n }\n\n public message(\n message: string,\n severity: LogSeverity,\n {\n attributes = {},\n includeStacktrace = true,\n stacktrace,\n }: LogMessageOptions = {},\n ) {\n if (typeof message !== 'string' || !message.trim()) {\n this._diag.warn('Message must be a non-empty string');\n return;\n }\n\n if (!['info', 'warning', 'error'].includes(severity)) {\n this._diag.warn('Severity must be info, warning, or error');\n return;\n }\n\n const validAttrs = this._validateAttributes(attributes);\n\n if (severity === 'error') {\n this._userSessionManager.incrSessionPartCountForKey(\n KEY_MXL_ERROR_LOG_COUNT,\n );\n }\n\n let stack = '';\n if (severity !== 'info') {\n if (typeof stacktrace === 'string') {\n stack = stacktrace;\n } else if (includeStacktrace) {\n stack = new Error().stack || '';\n }\n }\n\n this._logMessage({\n attributes: validAttrs,\n message: message.trim(),\n severity,\n stack,\n timestamp: this._perf.getNowMillis(),\n });\n }\n\n private _logMessage({\n message,\n severity,\n timestamp,\n attributes = {},\n stack,\n }: {\n message: string;\n severity: LogSeverity;\n timestamp: number;\n attributes?: Attributes;\n stack?: string;\n }) {\n const limitedLog = this._limitManager.limitLog(\n message,\n severity,\n attributes,\n );\n\n if (limitedLog === 'dropped') {\n return;\n }\n\n this._logger.emit({\n attributes: {\n ...limitedLog.attributes,\n [KEY_MXL_TYPE]: MXL_TYPES.SystemLog,\n ...(stack\n ? {\n [KEY_MXL_JS_EXCEPTION_STACKTRACE]: stack,\n [KEY_MXL_JS_FILE_BUNDLE_IDS]: getJSFileBundleIDs(),\n }\n : {}),\n [KEY_MXL_STATE]: getVisibilityState(this._visibilityDoc),\n },\n body: limitedLog.message,\n severityNumber: MXLLogManager._logSeverityToSeverityNumber(severity),\n severityText: severity.toUpperCase(),\n timestamp,\n });\n }\n\n private static _exceptionHandlingType(\n handled: boolean,\n handler: ExceptionHandlerType,\n ): string {\n if (handled) {\n return 'handled';\n }\n\n if (handler === 'global_exception') {\n return 'unhandled_error';\n }\n\n if (handler === 'promise_rejection') {\n return 'unhandled_rejection';\n }\n\n return 'unhandled';\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"MXLLogManager.cjs","names":["GLOBAL_CONFIG","logs","diag","OTelPerformanceManager","SeverityNumber","KEY_MXL_UNHANDLED_EXCEPTIONS_COUNT","KEY_REACT_COMPONENT_STACK","KEY_MXL_TYPE","KEY_MXL_EXCEPTION_HANDLING","KEY_MXL_EXCEPTION_CAUSE","ATTR_EXCEPTION_TYPE","ATTR_EXCEPTION_MESSAGE","ATTR_EXCEPTION_STACKTRACE","KEY_MXL_JS_FILE_BUNDLE_IDS","KEY_MXL_STATE","getVisibilityState","KEY_MXL_EXCEPTION_NUMBER","getIncrementedCount","KEY_MXL_ERROR_LOG_COUNT","KEY_MXL_JS_EXCEPTION_STACKTRACE"],"sources":["../../../src/managers/MXLLogManager/MXLLogManager.ts"],"sourcesContent":["import type { Attributes, DiagLogger } from '@opentelemetry/api';\nimport { diag } from '@opentelemetry/api';\nimport type { Logger } from '@opentelemetry/api-logs';\nimport { SeverityNumber, logs } from '@opentelemetry/api-logs';\nimport {\n ATTR_EXCEPTION_MESSAGE,\n ATTR_EXCEPTION_STACKTRACE,\n ATTR_EXCEPTION_TYPE,\n} from '@opentelemetry/semantic-conventions';\nimport type { LogManager, LogSeverity } from '../../api-logs/manager/types';\nimport type {\n LogExceptionOptions,\n LogMessageOptions,\n} from '../../api-logs/manager/types';\nimport type { ExceptionHandlerType } from '../../api-logs/manager/types';\nimport type { VisibilityStateDocument } from '../../common/types';\nimport {\n KEY_MXL_EXCEPTION_HANDLING,\n KEY_MXL_EXCEPTION_NUMBER,\n KEY_MXL_JS_EXCEPTION_STACKTRACE,\n KEY_MXL_STATE,\n KEY_MXL_TYPE,\n MXL_TYPES,\n} from '../../constants/attributes';\nimport {\n KEY_MXL_ERROR_LOG_COUNT,\n KEY_MXL_EXCEPTION_CAUSE,\n KEY_MXL_JS_FILE_BUNDLE_IDS,\n KEY_MXL_UNHANDLED_EXCEPTIONS_COUNT,\n KEY_REACT_COMPONENT_STACK,\n} from '../../constants/attributes';\nimport { getIncrementedCount } from '../../utils/getIncrementedCount';\nimport { getVisibilityState } from '../../utils/getVisibilityState';\nimport { GLOBAL_CONFIG } from '../../utils/globalConfig';\nimport { OTelPerformanceManager } from '../../utils/PerformanceManager/OTelPerformanceManager';\nimport type { PerformanceManager } from '../../utils/PerformanceManager/types';\nimport type { LimitManagerInternal } from '../MXLLimitManager/types';\nimport type { UserSessionManagerInternal } from '../MXLUserSessionManager/types';\nimport type { MXLLogManagerArgs } from './types';\n\nconst MXL_EXCEPTION_NUMBER_STORAGE_KEY = 'mxl_exception_number';\n/**\n * GLOBAL_CONFIG._MXLFileBundleIDs is populated at runtime when each file is loaded,\n * based on the contents injected by the mxl-web-cli.\n */\nconst getJSFileBundleIDs = () =>\n JSON.stringify(GLOBAL_CONFIG._MXLFileBundleIDs || {});\n\nexport class MXLLogManager implements LogManager {\n private readonly _diag: DiagLogger;\n private readonly _perf: PerformanceManager;\n private readonly _logger: Logger;\n private readonly _userSessionManager: UserSessionManagerInternal;\n private readonly _limitManager: LimitManagerInternal;\n private readonly _visibilityDoc: VisibilityStateDocument;\n private readonly _storage: Storage;\n\n public constructor({\n diag: diagParam,\n perf,\n userSessionManager,\n limitManager,\n loggerProvider: globalLoggerProviderOverride,\n visibilityDoc = window.document,\n storage = window.localStorage,\n }: MXLLogManagerArgs) {\n const loggerProvider = globalLoggerProviderOverride ?? logs;\n\n this._diag =\n diagParam ??\n diag.createComponentLogger({\n namespace: 'MXLLogManager',\n });\n this._perf = perf ?? new OTelPerformanceManager();\n this._logger = loggerProvider.getLogger('mxl-web-sdk-logs');\n this._userSessionManager = userSessionManager;\n this._limitManager = limitManager;\n this._visibilityDoc = visibilityDoc;\n this._storage = storage;\n }\n\n private _validateAttributes(attributes: unknown): Attributes {\n if (Object.prototype.toString.call(attributes) !== '[object Object]') {\n this._diag.warn('attributes must be a plain object', attributes);\n return {};\n }\n return attributes as Attributes;\n }\n\n private static _logSeverityToSeverityNumber(\n severity: LogSeverity,\n ): SeverityNumber {\n switch (severity) {\n case 'info': {\n return SeverityNumber.INFO;\n }\n case 'warning': {\n return SeverityNumber.WARN;\n }\n default: {\n return SeverityNumber.ERROR;\n }\n }\n }\n\n public logException(\n error: unknown,\n {\n handled = true,\n attributes = {},\n timestamp = this._perf.getNowMillis(),\n handler = 'manual',\n }: LogExceptionOptions = {},\n ) {\n const validAttrs = this._validateAttributes(attributes);\n\n if (!handled) {\n this._userSessionManager.incrSessionPartCountForKey(\n KEY_MXL_UNHANDLED_EXCEPTIONS_COUNT,\n );\n }\n\n const type = error?.constructor?.name || typeof error;\n let errMessage = '';\n let errName = type;\n let errStack = '';\n let errCause = '';\n\n if (error instanceof Error) {\n errMessage = String(error.message || '').trim();\n errName = error.name || '';\n errStack = error.stack || '';\n errCause = error.cause ? 'present' : '';\n } else if (error && typeof error === 'object') {\n try {\n errMessage = JSON.stringify(error);\n } catch {\n errMessage = String(error).trim();\n }\n } else {\n errMessage = String(error).trim();\n }\n\n const {\n [KEY_REACT_COMPONENT_STACK]: reactComponentStack,\n ...attrsForLimiting\n } = validAttrs;\n\n const limited = this._limitManager.limitException(\n errMessage,\n attrsForLimiting,\n );\n if (limited === 'dropped') {\n return;\n }\n\n this._logger.emit({\n attributes: {\n ...limited.attributes,\n ...(reactComponentStack !== undefined\n ? { [KEY_REACT_COMPONENT_STACK]: String(reactComponentStack) }\n : {}),\n [KEY_MXL_TYPE]: MXL_TYPES.SystemException,\n [KEY_MXL_EXCEPTION_HANDLING]: MXLLogManager._exceptionHandlingType(\n handled,\n handler,\n ),\n [KEY_MXL_EXCEPTION_CAUSE]: errCause,\n [ATTR_EXCEPTION_TYPE]: type,\n ['exception.name']: errName,\n [ATTR_EXCEPTION_MESSAGE]: limited.message,\n [ATTR_EXCEPTION_STACKTRACE]: errStack,\n [KEY_MXL_JS_FILE_BUNDLE_IDS]: getJSFileBundleIDs(),\n [KEY_MXL_STATE]: getVisibilityState(this._visibilityDoc),\n [KEY_MXL_EXCEPTION_NUMBER]: getIncrementedCount(\n this._storage,\n MXL_EXCEPTION_NUMBER_STORAGE_KEY,\n this._diag,\n ),\n },\n body: limited.message,\n severityNumber: SeverityNumber.ERROR,\n severityText: 'ERROR',\n timestamp,\n });\n }\n\n public message(\n message: string,\n severity: LogSeverity,\n {\n attributes = {},\n includeStacktrace = true,\n stacktrace,\n }: LogMessageOptions = {},\n ) {\n if (typeof message !== 'string' || !message.trim()) {\n this._diag.warn('Message must be a non-empty string');\n return;\n }\n\n if (!['info', 'warning', 'error'].includes(severity)) {\n this._diag.warn('Severity must be info, warning, or error');\n return;\n }\n\n const validAttrs = this._validateAttributes(attributes);\n\n if (severity === 'error') {\n this._userSessionManager.incrSessionPartCountForKey(\n KEY_MXL_ERROR_LOG_COUNT,\n );\n }\n\n let stack = '';\n if (severity !== 'info') {\n if (typeof stacktrace === 'string') {\n stack = stacktrace;\n } else if (includeStacktrace) {\n stack = new Error().stack || '';\n }\n }\n\n this._logMessage({\n attributes: validAttrs,\n message: message.trim(),\n severity,\n stack,\n timestamp: this._perf.getNowMillis(),\n });\n }\n\n private _logMessage({\n message,\n severity,\n timestamp,\n attributes = {},\n stack,\n }: {\n message: string;\n severity: LogSeverity;\n timestamp: number;\n attributes?: Attributes;\n stack?: string;\n }) {\n const limitedLog = this._limitManager.limitLog(\n message,\n severity,\n attributes,\n );\n\n if (limitedLog === 'dropped') {\n return;\n }\n\n this._logger.emit({\n attributes: {\n ...limitedLog.attributes,\n [KEY_MXL_TYPE]: MXL_TYPES.SystemLog,\n ...(stack\n ? {\n [KEY_MXL_JS_EXCEPTION_STACKTRACE]: stack,\n [KEY_MXL_JS_FILE_BUNDLE_IDS]: getJSFileBundleIDs(),\n }\n : {}),\n [KEY_MXL_STATE]: getVisibilityState(this._visibilityDoc),\n },\n body: limitedLog.message,\n severityNumber: MXLLogManager._logSeverityToSeverityNumber(severity),\n severityText: severity.toUpperCase(),\n timestamp,\n });\n }\n\n private static _exceptionHandlingType(\n handled: boolean,\n handler: ExceptionHandlerType,\n ): string {\n if (handled) {\n return 'handled';\n }\n\n if (handler === 'global_exception') {\n return 'unhandled_error';\n }\n\n if (handler === 'promise_rejection') {\n return 'unhandled_rejection';\n }\n\n return 'unhandled';\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MXLLogManager.d.cts","names":[],"sources":["../../../src/managers/MXLLogManager/MXLLogManager.ts"],"mappings":";;;;cAsCa,aAAA,YAAyB,UAAA;EAAA,iBACnB,KAAA;EAAA,iBACA,KAAA;EAAA,iBACA,OAAA;EAAA,iBACA,mBAAA;EAAA,iBACA,aAAA;EAAA,iBACA,cAAA;EAAA,iBACA,QAAA;;IAGf,IAAA,EAAM,SAAA;IACN,IAAA;IACA,kBAAA;IACA,YAAA;IACA,cAAA,EAAgB,4BAAA;IAChB,aAAA;IACA;EAAA,GACC,iBAAA;EAAA,QAgBK,mBAAA;EAAA,eAQO,4BAAA;EAgBR,YAAA,CACL,KAAA;IAEE,OAAA;IACA,UAAA;IACA,SAAA;IACA;EAAA,IACC,mBAAA;EA2EE,OAAA,CACL,OAAA,UACA,QAAA,EAAU,WAAA;IAER,UAAA;IACA,iBAAA;IACA;EAAA,IACC,iBAAA;EAAA,QAsCG,WAAA;EAAA,eA0CO,sBAAA;AAAA"}
1
+ {"version":3,"file":"MXLLogManager.d.cts","names":[],"sources":["../../../src/managers/MXLLogManager/MXLLogManager.ts"],"mappings":";;;;cAgDa,aAAA,YAAyB,UAAA;EAAA,iBACnB,KAAA;EAAA,iBACA,KAAA;EAAA,iBACA,OAAA;EAAA,iBACA,mBAAA;EAAA,iBACA,aAAA;EAAA,iBACA,cAAA;EAAA,iBACA,QAAA;;IAGf,IAAA,EAAM,SAAA;IACN,IAAA;IACA,kBAAA;IACA,YAAA;IACA,cAAA,EAAgB,4BAAA;IAChB,aAAA;IACA;EAAA,GACC,iBAAA;EAAA,QAgBK,mBAAA;EAAA,eAQO,4BAAA;EAgBR,YAAA,CACL,KAAA;IAEE,OAAA;IACA,UAAA;IACA,SAAA;IACA;EAAA,IACC,mBAAA;EA2EE,OAAA,CACL,OAAA,UACA,QAAA,EAAU,WAAA;IAER,UAAA;IACA,iBAAA;IACA;EAAA,IACC,iBAAA;EAAA,QAsCG,WAAA;EAAA,eA0CO,sBAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"MXLLogManager.d.ts","names":[],"sources":["../../../src/managers/MXLLogManager/MXLLogManager.ts"],"mappings":";;;;cAsCa,aAAA,YAAyB,UAAA;EAAA,iBACnB,KAAA;EAAA,iBACA,KAAA;EAAA,iBACA,OAAA;EAAA,iBACA,mBAAA;EAAA,iBACA,aAAA;EAAA,iBACA,cAAA;EAAA,iBACA,QAAA;;IAGf,IAAA,EAAM,SAAA;IACN,IAAA;IACA,kBAAA;IACA,YAAA;IACA,cAAA,EAAgB,4BAAA;IAChB,aAAA;IACA;EAAA,GACC,iBAAA;EAAA,QAgBK,mBAAA;EAAA,eAQO,4BAAA;EAgBR,YAAA,CACL,KAAA;IAEE,OAAA;IACA,UAAA;IACA,SAAA;IACA;EAAA,IACC,mBAAA;EA2EE,OAAA,CACL,OAAA,UACA,QAAA,EAAU,WAAA;IAER,UAAA;IACA,iBAAA;IACA;EAAA,IACC,iBAAA;EAAA,QAsCG,WAAA;EAAA,eA0CO,sBAAA;AAAA"}
1
+ {"version":3,"file":"MXLLogManager.d.ts","names":[],"sources":["../../../src/managers/MXLLogManager/MXLLogManager.ts"],"mappings":";;;;cAgDa,aAAA,YAAyB,UAAA;EAAA,iBACnB,KAAA;EAAA,iBACA,KAAA;EAAA,iBACA,OAAA;EAAA,iBACA,mBAAA;EAAA,iBACA,aAAA;EAAA,iBACA,cAAA;EAAA,iBACA,QAAA;;IAGf,IAAA,EAAM,SAAA;IACN,IAAA;IACA,kBAAA;IACA,YAAA;IACA,cAAA,EAAgB,4BAAA;IAChB,aAAA;IACA;EAAA,GACC,iBAAA;EAAA,QAgBK,mBAAA;EAAA,eAQO,4BAAA;EAgBR,YAAA,CACL,KAAA;IAEE,OAAA;IACA,UAAA;IACA,SAAA;IACA;EAAA,IACC,mBAAA;EA2EE,OAAA,CACL,OAAA,UACA,QAAA,EAAU,WAAA;IAER,UAAA;IACA,iBAAA;IACA;EAAA,IACC,iBAAA;EAAA,QAsCG,WAAA;EAAA,eA0CO,sBAAA;AAAA"}
@@ -1,8 +1,8 @@
1
1
  import { KEY_MXL_ERROR_LOG_COUNT, KEY_MXL_EXCEPTION_CAUSE, KEY_MXL_EXCEPTION_HANDLING, KEY_MXL_EXCEPTION_NUMBER, KEY_MXL_JS_EXCEPTION_STACKTRACE, KEY_MXL_JS_FILE_BUNDLE_IDS, KEY_MXL_STATE, KEY_MXL_TYPE, KEY_MXL_UNHANDLED_EXCEPTIONS_COUNT, KEY_REACT_COMPONENT_STACK } from "../../constants/attributes.js";
2
2
  import { OTelPerformanceManager } from "../../utils/PerformanceManager/OTelPerformanceManager.js";
3
- import { GLOBAL_CONFIG } from "../../utils/globalConfig.js";
4
3
  import { getIncrementedCount } from "../../utils/getIncrementedCount.js";
5
4
  import { getVisibilityState } from "../../utils/getVisibilityState.js";
5
+ import { GLOBAL_CONFIG } from "../../utils/globalConfig.js";
6
6
  import { diag } from "@opentelemetry/api";
7
7
  import { SeverityNumber, logs } from "@opentelemetry/api-logs";
8
8
  import { ATTR_EXCEPTION_MESSAGE, ATTR_EXCEPTION_STACKTRACE, ATTR_EXCEPTION_TYPE } from "@opentelemetry/semantic-conventions";
@@ -1 +1 @@
1
- {"version":3,"file":"MXLLogManager.js","names":[],"sources":["../../../src/managers/MXLLogManager/MXLLogManager.ts"],"sourcesContent":["import type { Attributes, DiagLogger } from '@opentelemetry/api';\nimport { diag } from '@opentelemetry/api';\nimport type { Logger } from '@opentelemetry/api-logs';\nimport { SeverityNumber, logs } from '@opentelemetry/api-logs';\nimport {\n ATTR_EXCEPTION_MESSAGE,\n ATTR_EXCEPTION_STACKTRACE,\n ATTR_EXCEPTION_TYPE,\n} from '@opentelemetry/semantic-conventions';\nimport type { LogManager, LogSeverity } from '../../api-logs/manager/types';\nimport type { LogExceptionOptions, LogMessageOptions } from '../../api-logs/manager/types';\nimport type { ExceptionHandlerType } from '../../api-logs/manager/types';\nimport type { VisibilityStateDocument } from '../../common/types';\nimport { KEY_MXL_EXCEPTION_HANDLING, KEY_MXL_EXCEPTION_NUMBER, KEY_MXL_JS_EXCEPTION_STACKTRACE, KEY_MXL_STATE, KEY_MXL_TYPE, MXL_TYPES } from '../../constants/attributes';\nimport {\n KEY_MXL_ERROR_LOG_COUNT,\n KEY_MXL_EXCEPTION_CAUSE,\n KEY_MXL_JS_FILE_BUNDLE_IDS,\n KEY_MXL_UNHANDLED_EXCEPTIONS_COUNT,\n KEY_REACT_COMPONENT_STACK,\n} from '../../constants/attributes';\nimport type { PerformanceManager } from '../../utils/PerformanceManager/types';\nimport { GLOBAL_CONFIG } from '../../utils/globalConfig';\nimport { OTelPerformanceManager } from '../../utils/PerformanceManager/OTelPerformanceManager';\nimport { getIncrementedCount } from '../../utils/getIncrementedCount';\nimport { getVisibilityState } from '../../utils/getVisibilityState';\nimport type { LimitManagerInternal } from '../MXLLimitManager/types';\nimport type { UserSessionManagerInternal } from '../MXLUserSessionManager/types';\nimport type { MXLLogManagerArgs } from './types';\n\nconst MXL_EXCEPTION_NUMBER_STORAGE_KEY = 'mxl_exception_number';\n/**\n * GLOBAL_CONFIG._MXLFileBundleIDs is populated at runtime when each file is loaded,\n * based on the contents injected by the mxl-web-cli.\n */\nconst getJSFileBundleIDs = () =>\n JSON.stringify(GLOBAL_CONFIG._MXLFileBundleIDs || {});\n\nexport class MXLLogManager implements LogManager {\n private readonly _diag: DiagLogger;\n private readonly _perf: PerformanceManager;\n private readonly _logger: Logger;\n private readonly _userSessionManager: UserSessionManagerInternal;\n private readonly _limitManager: LimitManagerInternal;\n private readonly _visibilityDoc: VisibilityStateDocument;\n private readonly _storage: Storage;\n\n public constructor({\n diag: diagParam,\n perf,\n userSessionManager,\n limitManager,\n loggerProvider: globalLoggerProviderOverride,\n visibilityDoc = window.document,\n storage = window.localStorage,\n }: MXLLogManagerArgs) {\n const loggerProvider = globalLoggerProviderOverride ?? logs;\n\n this._diag =\n diagParam ??\n diag.createComponentLogger({\n namespace: 'MXLLogManager',\n });\n this._perf = perf ?? new OTelPerformanceManager();\n this._logger = loggerProvider.getLogger('mxl-web-sdk-logs');\n this._userSessionManager = userSessionManager;\n this._limitManager = limitManager;\n this._visibilityDoc = visibilityDoc;\n this._storage = storage;\n }\n\n private _validateAttributes(attributes: unknown): Attributes {\n if (Object.prototype.toString.call(attributes) !== '[object Object]') {\n this._diag.warn('attributes must be a plain object', attributes);\n return {};\n }\n return attributes as Attributes;\n }\n\n private static _logSeverityToSeverityNumber(\n severity: LogSeverity,\n ): SeverityNumber {\n switch (severity) {\n case 'info': {\n return SeverityNumber.INFO;\n }\n case 'warning': {\n return SeverityNumber.WARN;\n }\n default: {\n return SeverityNumber.ERROR;\n }\n }\n }\n\n public logException(\n error: unknown,\n {\n handled = true,\n attributes = {},\n timestamp = this._perf.getNowMillis(),\n handler = 'manual',\n }: LogExceptionOptions = {},\n ) {\n const validAttrs = this._validateAttributes(attributes);\n\n if (!handled) {\n this._userSessionManager.incrSessionPartCountForKey(\n KEY_MXL_UNHANDLED_EXCEPTIONS_COUNT,\n );\n }\n\n const type = error?.constructor?.name || typeof error;\n let errMessage = '';\n let errName = type;\n let errStack = '';\n let errCause = '';\n\n if (error instanceof Error) {\n errMessage = String(error.message || '').trim();\n errName = error.name || '';\n errStack = error.stack || '';\n errCause = error.cause ? 'present' : '';\n } else if (error && typeof error === 'object') {\n try {\n errMessage = JSON.stringify(error);\n } catch {\n errMessage = String(error).trim();\n }\n } else {\n errMessage = String(error).trim();\n }\n\n const {\n [KEY_REACT_COMPONENT_STACK]: reactComponentStack,\n ...attrsForLimiting\n } = validAttrs;\n\n const limited = this._limitManager.limitException(\n errMessage,\n attrsForLimiting,\n );\n if (limited === 'dropped') {\n return;\n }\n\n this._logger.emit({\n attributes: {\n ...limited.attributes,\n ...(reactComponentStack !== undefined\n ? { [KEY_REACT_COMPONENT_STACK]: String(reactComponentStack) }\n : {}),\n [KEY_MXL_TYPE]: MXL_TYPES.SystemException,\n [KEY_MXL_EXCEPTION_HANDLING]: MXLLogManager._exceptionHandlingType(\n handled,\n handler,\n ),\n [KEY_MXL_EXCEPTION_CAUSE]: errCause,\n [ATTR_EXCEPTION_TYPE]: type,\n ['exception.name']: errName,\n [ATTR_EXCEPTION_MESSAGE]: limited.message,\n [ATTR_EXCEPTION_STACKTRACE]: errStack,\n [KEY_MXL_JS_FILE_BUNDLE_IDS]: getJSFileBundleIDs(),\n [KEY_MXL_STATE]: getVisibilityState(this._visibilityDoc),\n [KEY_MXL_EXCEPTION_NUMBER]: getIncrementedCount(\n this._storage,\n MXL_EXCEPTION_NUMBER_STORAGE_KEY,\n this._diag,\n ),\n },\n body: limited.message,\n severityNumber: SeverityNumber.ERROR,\n severityText: 'ERROR',\n timestamp,\n });\n }\n\n public message(\n message: string,\n severity: LogSeverity,\n {\n attributes = {},\n includeStacktrace = true,\n stacktrace,\n }: LogMessageOptions = {},\n ) {\n if (typeof message !== 'string' || !message.trim()) {\n this._diag.warn('Message must be a non-empty string');\n return;\n }\n\n if (!['info', 'warning', 'error'].includes(severity)) {\n this._diag.warn('Severity must be info, warning, or error');\n return;\n }\n\n const validAttrs = this._validateAttributes(attributes);\n\n if (severity === 'error') {\n this._userSessionManager.incrSessionPartCountForKey(\n KEY_MXL_ERROR_LOG_COUNT,\n );\n }\n\n let stack = '';\n if (severity !== 'info') {\n if (typeof stacktrace === 'string') {\n stack = stacktrace;\n } else if (includeStacktrace) {\n stack = new Error().stack || '';\n }\n }\n\n this._logMessage({\n attributes: validAttrs,\n message: message.trim(),\n severity,\n stack,\n timestamp: this._perf.getNowMillis(),\n });\n }\n\n private _logMessage({\n message,\n severity,\n timestamp,\n attributes = {},\n stack,\n }: {\n message: string;\n severity: LogSeverity;\n timestamp: number;\n attributes?: Attributes;\n stack?: string;\n }) {\n const limitedLog = this._limitManager.limitLog(\n message,\n severity,\n attributes,\n );\n\n if (limitedLog === 'dropped') {\n return;\n }\n\n this._logger.emit({\n attributes: {\n ...limitedLog.attributes,\n [KEY_MXL_TYPE]: MXL_TYPES.SystemLog,\n ...(stack\n ? {\n [KEY_MXL_JS_EXCEPTION_STACKTRACE]: stack,\n [KEY_MXL_JS_FILE_BUNDLE_IDS]: getJSFileBundleIDs(),\n }\n : {}),\n [KEY_MXL_STATE]: getVisibilityState(this._visibilityDoc),\n },\n body: limitedLog.message,\n severityNumber: MXLLogManager._logSeverityToSeverityNumber(severity),\n severityText: severity.toUpperCase(),\n timestamp,\n });\n }\n\n private static _exceptionHandlingType(\n handled: boolean,\n handler: ExceptionHandlerType,\n ): string {\n if (handled) {\n return 'handled';\n }\n\n if (handler === 'global_exception') {\n return 'unhandled_error';\n }\n\n if (handler === 'promise_rejection') {\n return 'unhandled_rejection';\n }\n\n return 'unhandled';\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"MXLLogManager.js","names":[],"sources":["../../../src/managers/MXLLogManager/MXLLogManager.ts"],"sourcesContent":["import type { Attributes, DiagLogger } from '@opentelemetry/api';\nimport { diag } from '@opentelemetry/api';\nimport type { Logger } from '@opentelemetry/api-logs';\nimport { SeverityNumber, logs } from '@opentelemetry/api-logs';\nimport {\n ATTR_EXCEPTION_MESSAGE,\n ATTR_EXCEPTION_STACKTRACE,\n ATTR_EXCEPTION_TYPE,\n} from '@opentelemetry/semantic-conventions';\nimport type { LogManager, LogSeverity } from '../../api-logs/manager/types';\nimport type {\n LogExceptionOptions,\n LogMessageOptions,\n} from '../../api-logs/manager/types';\nimport type { ExceptionHandlerType } from '../../api-logs/manager/types';\nimport type { VisibilityStateDocument } from '../../common/types';\nimport {\n KEY_MXL_EXCEPTION_HANDLING,\n KEY_MXL_EXCEPTION_NUMBER,\n KEY_MXL_JS_EXCEPTION_STACKTRACE,\n KEY_MXL_STATE,\n KEY_MXL_TYPE,\n MXL_TYPES,\n} from '../../constants/attributes';\nimport {\n KEY_MXL_ERROR_LOG_COUNT,\n KEY_MXL_EXCEPTION_CAUSE,\n KEY_MXL_JS_FILE_BUNDLE_IDS,\n KEY_MXL_UNHANDLED_EXCEPTIONS_COUNT,\n KEY_REACT_COMPONENT_STACK,\n} from '../../constants/attributes';\nimport { getIncrementedCount } from '../../utils/getIncrementedCount';\nimport { getVisibilityState } from '../../utils/getVisibilityState';\nimport { GLOBAL_CONFIG } from '../../utils/globalConfig';\nimport { OTelPerformanceManager } from '../../utils/PerformanceManager/OTelPerformanceManager';\nimport type { PerformanceManager } from '../../utils/PerformanceManager/types';\nimport type { LimitManagerInternal } from '../MXLLimitManager/types';\nimport type { UserSessionManagerInternal } from '../MXLUserSessionManager/types';\nimport type { MXLLogManagerArgs } from './types';\n\nconst MXL_EXCEPTION_NUMBER_STORAGE_KEY = 'mxl_exception_number';\n/**\n * GLOBAL_CONFIG._MXLFileBundleIDs is populated at runtime when each file is loaded,\n * based on the contents injected by the mxl-web-cli.\n */\nconst getJSFileBundleIDs = () =>\n JSON.stringify(GLOBAL_CONFIG._MXLFileBundleIDs || {});\n\nexport class MXLLogManager implements LogManager {\n private readonly _diag: DiagLogger;\n private readonly _perf: PerformanceManager;\n private readonly _logger: Logger;\n private readonly _userSessionManager: UserSessionManagerInternal;\n private readonly _limitManager: LimitManagerInternal;\n private readonly _visibilityDoc: VisibilityStateDocument;\n private readonly _storage: Storage;\n\n public constructor({\n diag: diagParam,\n perf,\n userSessionManager,\n limitManager,\n loggerProvider: globalLoggerProviderOverride,\n visibilityDoc = window.document,\n storage = window.localStorage,\n }: MXLLogManagerArgs) {\n const loggerProvider = globalLoggerProviderOverride ?? logs;\n\n this._diag =\n diagParam ??\n diag.createComponentLogger({\n namespace: 'MXLLogManager',\n });\n this._perf = perf ?? new OTelPerformanceManager();\n this._logger = loggerProvider.getLogger('mxl-web-sdk-logs');\n this._userSessionManager = userSessionManager;\n this._limitManager = limitManager;\n this._visibilityDoc = visibilityDoc;\n this._storage = storage;\n }\n\n private _validateAttributes(attributes: unknown): Attributes {\n if (Object.prototype.toString.call(attributes) !== '[object Object]') {\n this._diag.warn('attributes must be a plain object', attributes);\n return {};\n }\n return attributes as Attributes;\n }\n\n private static _logSeverityToSeverityNumber(\n severity: LogSeverity,\n ): SeverityNumber {\n switch (severity) {\n case 'info': {\n return SeverityNumber.INFO;\n }\n case 'warning': {\n return SeverityNumber.WARN;\n }\n default: {\n return SeverityNumber.ERROR;\n }\n }\n }\n\n public logException(\n error: unknown,\n {\n handled = true,\n attributes = {},\n timestamp = this._perf.getNowMillis(),\n handler = 'manual',\n }: LogExceptionOptions = {},\n ) {\n const validAttrs = this._validateAttributes(attributes);\n\n if (!handled) {\n this._userSessionManager.incrSessionPartCountForKey(\n KEY_MXL_UNHANDLED_EXCEPTIONS_COUNT,\n );\n }\n\n const type = error?.constructor?.name || typeof error;\n let errMessage = '';\n let errName = type;\n let errStack = '';\n let errCause = '';\n\n if (error instanceof Error) {\n errMessage = String(error.message || '').trim();\n errName = error.name || '';\n errStack = error.stack || '';\n errCause = error.cause ? 'present' : '';\n } else if (error && typeof error === 'object') {\n try {\n errMessage = JSON.stringify(error);\n } catch {\n errMessage = String(error).trim();\n }\n } else {\n errMessage = String(error).trim();\n }\n\n const {\n [KEY_REACT_COMPONENT_STACK]: reactComponentStack,\n ...attrsForLimiting\n } = validAttrs;\n\n const limited = this._limitManager.limitException(\n errMessage,\n attrsForLimiting,\n );\n if (limited === 'dropped') {\n return;\n }\n\n this._logger.emit({\n attributes: {\n ...limited.attributes,\n ...(reactComponentStack !== undefined\n ? { [KEY_REACT_COMPONENT_STACK]: String(reactComponentStack) }\n : {}),\n [KEY_MXL_TYPE]: MXL_TYPES.SystemException,\n [KEY_MXL_EXCEPTION_HANDLING]: MXLLogManager._exceptionHandlingType(\n handled,\n handler,\n ),\n [KEY_MXL_EXCEPTION_CAUSE]: errCause,\n [ATTR_EXCEPTION_TYPE]: type,\n ['exception.name']: errName,\n [ATTR_EXCEPTION_MESSAGE]: limited.message,\n [ATTR_EXCEPTION_STACKTRACE]: errStack,\n [KEY_MXL_JS_FILE_BUNDLE_IDS]: getJSFileBundleIDs(),\n [KEY_MXL_STATE]: getVisibilityState(this._visibilityDoc),\n [KEY_MXL_EXCEPTION_NUMBER]: getIncrementedCount(\n this._storage,\n MXL_EXCEPTION_NUMBER_STORAGE_KEY,\n this._diag,\n ),\n },\n body: limited.message,\n severityNumber: SeverityNumber.ERROR,\n severityText: 'ERROR',\n timestamp,\n });\n }\n\n public message(\n message: string,\n severity: LogSeverity,\n {\n attributes = {},\n includeStacktrace = true,\n stacktrace,\n }: LogMessageOptions = {},\n ) {\n if (typeof message !== 'string' || !message.trim()) {\n this._diag.warn('Message must be a non-empty string');\n return;\n }\n\n if (!['info', 'warning', 'error'].includes(severity)) {\n this._diag.warn('Severity must be info, warning, or error');\n return;\n }\n\n const validAttrs = this._validateAttributes(attributes);\n\n if (severity === 'error') {\n this._userSessionManager.incrSessionPartCountForKey(\n KEY_MXL_ERROR_LOG_COUNT,\n );\n }\n\n let stack = '';\n if (severity !== 'info') {\n if (typeof stacktrace === 'string') {\n stack = stacktrace;\n } else if (includeStacktrace) {\n stack = new Error().stack || '';\n }\n }\n\n this._logMessage({\n attributes: validAttrs,\n message: message.trim(),\n severity,\n stack,\n timestamp: this._perf.getNowMillis(),\n });\n }\n\n private _logMessage({\n message,\n severity,\n timestamp,\n attributes = {},\n stack,\n }: {\n message: string;\n severity: LogSeverity;\n timestamp: number;\n attributes?: Attributes;\n stack?: string;\n }) {\n const limitedLog = this._limitManager.limitLog(\n message,\n severity,\n attributes,\n );\n\n if (limitedLog === 'dropped') {\n return;\n }\n\n this._logger.emit({\n attributes: {\n ...limitedLog.attributes,\n [KEY_MXL_TYPE]: MXL_TYPES.SystemLog,\n ...(stack\n ? {\n [KEY_MXL_JS_EXCEPTION_STACKTRACE]: stack,\n [KEY_MXL_JS_FILE_BUNDLE_IDS]: getJSFileBundleIDs(),\n }\n : {}),\n [KEY_MXL_STATE]: getVisibilityState(this._visibilityDoc),\n },\n body: limitedLog.message,\n severityNumber: MXLLogManager._logSeverityToSeverityNumber(severity),\n severityText: severity.toUpperCase(),\n timestamp,\n });\n }\n\n private static _exceptionHandlingType(\n handled: boolean,\n handler: ExceptionHandlerType,\n ): string {\n if (handled) {\n return 'handled';\n }\n\n if (handler === 'global_exception') {\n return 'unhandled_error';\n }\n\n if (handler === 'promise_rejection') {\n return 'unhandled_rejection';\n }\n\n return 'unhandled';\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MXLSDKFeaturesManager.cjs","names":["isDeviceIdEnabled"],"sources":["../../../src/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.ts"],"sourcesContent":["import type { DynamicConfigManager } from '../../sdk/types';\nimport { isDeviceIdEnabled } from '../../utils/isDeviceIdEnabled';\nimport type { SDKFeaturesManager, SDKFeaturesManagerArgs } from './types';\n\nexport class MXLSDKFeaturesManager implements SDKFeaturesManager {\n private readonly _dynamicConfigManager: DynamicConfigManager;\n private readonly _deviceId: string;\n private readonly _blockNetworkSpanForwarding: boolean;\n\n public constructor({\n dynamicConfigManager,\n deviceId,\n blockNetworkSpanForwarding,\n }: SDKFeaturesManagerArgs) {\n this._dynamicConfigManager = dynamicConfigManager;\n this._deviceId = deviceId;\n this._blockNetworkSpanForwarding = blockNetworkSpanForwarding;\n }\n\n public isSDKEnabled(): boolean {\n const config = this._dynamicConfigManager.getConfig();\n\n return isDeviceIdEnabled(this._deviceId, config.samplingPct);\n }\n\n public isNetworkSpanForwardingEnabled(): boolean {\n if (this._blockNetworkSpanForwarding) {\n return false;\n }\n\n const config = this._dynamicConfigManager.getConfig();\n\n return isDeviceIdEnabled(\n this._deviceId,\n config.networkSpansForwardingThreshold,\n );\n }\n\n}\n"],"mappings":";;;AAIA,IAAa,wBAAb,MAAiE;CAC/D;CACA;CACA;CAEA,YAAmB,EACjB,sBACA,UACA,8BACyB;AACzB,OAAK,wBAAwB;AAC7B,OAAK,YAAY;AACjB,OAAK,8BAA8B;;CAGrC,eAA+B;EAC7B,MAAM,SAAS,KAAK,sBAAsB,WAAW;AAErD,SAAOA,gCAAAA,kBAAkB,KAAK,WAAW,OAAO,YAAY;;CAG9D,iCAAiD;AAC/C,MAAI,KAAK,4BACP,QAAO;EAGT,MAAM,SAAS,KAAK,sBAAsB,WAAW;AAErD,SAAOA,gCAAAA,kBACL,KAAK,WACL,OAAO,gCACR"}
1
+ {"version":3,"file":"MXLSDKFeaturesManager.cjs","names":["isDeviceIdEnabled"],"sources":["../../../src/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.ts"],"sourcesContent":["import type { DynamicConfigManager } from '../../sdk/types';\nimport { isDeviceIdEnabled } from '../../utils/isDeviceIdEnabled';\nimport type { SDKFeaturesManager, SDKFeaturesManagerArgs } from './types';\n\nexport class MXLSDKFeaturesManager implements SDKFeaturesManager {\n private readonly _dynamicConfigManager: DynamicConfigManager;\n private readonly _deviceId: string;\n private readonly _blockNetworkSpanForwarding: boolean;\n\n public constructor({\n dynamicConfigManager,\n deviceId,\n blockNetworkSpanForwarding,\n }: SDKFeaturesManagerArgs) {\n this._dynamicConfigManager = dynamicConfigManager;\n this._deviceId = deviceId;\n this._blockNetworkSpanForwarding = blockNetworkSpanForwarding;\n }\n\n public isSDKEnabled(): boolean {\n const config = this._dynamicConfigManager.getConfig();\n\n return isDeviceIdEnabled(this._deviceId, config.samplingPct);\n }\n\n public isNetworkSpanForwardingEnabled(): boolean {\n if (this._blockNetworkSpanForwarding) {\n return false;\n }\n\n const config = this._dynamicConfigManager.getConfig();\n\n return isDeviceIdEnabled(\n this._deviceId,\n config.networkSpansForwardingThreshold,\n );\n }\n}\n"],"mappings":";;;AAIA,IAAa,wBAAb,MAAiE;CAC/D;CACA;CACA;CAEA,YAAmB,EACjB,sBACA,UACA,8BACyB;AACzB,OAAK,wBAAwB;AAC7B,OAAK,YAAY;AACjB,OAAK,8BAA8B;;CAGrC,eAA+B;EAC7B,MAAM,SAAS,KAAK,sBAAsB,WAAW;AAErD,SAAOA,gCAAAA,kBAAkB,KAAK,WAAW,OAAO,YAAY;;CAG9D,iCAAiD;AAC/C,MAAI,KAAK,4BACP,QAAO;EAGT,MAAM,SAAS,KAAK,sBAAsB,WAAW;AAErD,SAAOA,gCAAAA,kBACL,KAAK,WACL,OAAO,gCACR"}
@@ -1 +1 @@
1
- {"version":3,"file":"MXLSDKFeaturesManager.js","names":[],"sources":["../../../src/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.ts"],"sourcesContent":["import type { DynamicConfigManager } from '../../sdk/types';\nimport { isDeviceIdEnabled } from '../../utils/isDeviceIdEnabled';\nimport type { SDKFeaturesManager, SDKFeaturesManagerArgs } from './types';\n\nexport class MXLSDKFeaturesManager implements SDKFeaturesManager {\n private readonly _dynamicConfigManager: DynamicConfigManager;\n private readonly _deviceId: string;\n private readonly _blockNetworkSpanForwarding: boolean;\n\n public constructor({\n dynamicConfigManager,\n deviceId,\n blockNetworkSpanForwarding,\n }: SDKFeaturesManagerArgs) {\n this._dynamicConfigManager = dynamicConfigManager;\n this._deviceId = deviceId;\n this._blockNetworkSpanForwarding = blockNetworkSpanForwarding;\n }\n\n public isSDKEnabled(): boolean {\n const config = this._dynamicConfigManager.getConfig();\n\n return isDeviceIdEnabled(this._deviceId, config.samplingPct);\n }\n\n public isNetworkSpanForwardingEnabled(): boolean {\n if (this._blockNetworkSpanForwarding) {\n return false;\n }\n\n const config = this._dynamicConfigManager.getConfig();\n\n return isDeviceIdEnabled(\n this._deviceId,\n config.networkSpansForwardingThreshold,\n );\n }\n\n}\n"],"mappings":";;AAIA,IAAa,wBAAb,MAAiE;CAC/D;CACA;CACA;CAEA,YAAmB,EACjB,sBACA,UACA,8BACyB;AACzB,OAAK,wBAAwB;AAC7B,OAAK,YAAY;AACjB,OAAK,8BAA8B;;CAGrC,eAA+B;EAC7B,MAAM,SAAS,KAAK,sBAAsB,WAAW;AAErD,SAAO,kBAAkB,KAAK,WAAW,OAAO,YAAY;;CAG9D,iCAAiD;AAC/C,MAAI,KAAK,4BACP,QAAO;EAGT,MAAM,SAAS,KAAK,sBAAsB,WAAW;AAErD,SAAO,kBACL,KAAK,WACL,OAAO,gCACR"}
1
+ {"version":3,"file":"MXLSDKFeaturesManager.js","names":[],"sources":["../../../src/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.ts"],"sourcesContent":["import type { DynamicConfigManager } from '../../sdk/types';\nimport { isDeviceIdEnabled } from '../../utils/isDeviceIdEnabled';\nimport type { SDKFeaturesManager, SDKFeaturesManagerArgs } from './types';\n\nexport class MXLSDKFeaturesManager implements SDKFeaturesManager {\n private readonly _dynamicConfigManager: DynamicConfigManager;\n private readonly _deviceId: string;\n private readonly _blockNetworkSpanForwarding: boolean;\n\n public constructor({\n dynamicConfigManager,\n deviceId,\n blockNetworkSpanForwarding,\n }: SDKFeaturesManagerArgs) {\n this._dynamicConfigManager = dynamicConfigManager;\n this._deviceId = deviceId;\n this._blockNetworkSpanForwarding = blockNetworkSpanForwarding;\n }\n\n public isSDKEnabled(): boolean {\n const config = this._dynamicConfigManager.getConfig();\n\n return isDeviceIdEnabled(this._deviceId, config.samplingPct);\n }\n\n public isNetworkSpanForwardingEnabled(): boolean {\n if (this._blockNetworkSpanForwarding) {\n return false;\n }\n\n const config = this._dynamicConfigManager.getConfig();\n\n return isDeviceIdEnabled(\n this._deviceId,\n config.networkSpansForwardingThreshold,\n );\n }\n}\n"],"mappings":";;AAIA,IAAa,wBAAb,MAAiE;CAC/D;CACA;CACA;CAEA,YAAmB,EACjB,sBACA,UACA,8BACyB;AACzB,OAAK,wBAAwB;AAC7B,OAAK,YAAY;AACjB,OAAK,8BAA8B;;CAGrC,eAA+B;EAC7B,MAAM,SAAS,KAAK,sBAAsB,WAAW;AAErD,SAAO,kBAAkB,KAAK,WAAW,OAAO,YAAY;;CAG9D,iCAAiD;AAC/C,MAAI,KAAK,4BACP,QAAO;EAGT,MAAM,SAAS,KAAK,sBAAsB,WAAW;AAErD,SAAO,kBACL,KAAK,WACL,OAAO,gCACR"}
@@ -1 +1 @@
1
- {"version":3,"file":"MXLExtendedSpan.cjs","names":["KEY_MXL_ERROR_CODE"],"sources":["../../../src/managers/MXLTraceManager/MXLExtendedSpan.ts"],"sourcesContent":["import type {\n AttributeValue,\n Attributes,\n Exception,\n Link,\n Span,\n SpanContext,\n SpanStatus,\n TimeInput,\n} from '@opentelemetry/api';\nimport type { ExtendedSpan, ExtendedSpanFailedOptions } from '../../api-traces/api/TraceAPI/types';\nimport { KEY_MXL_ERROR_CODE } from '../../constants/attributes';\n/**\n * MXLSpan for the most part simply delegates to the underlying Span it receives on initialization so\n * that it satisfies the Span interface. In addition, it gives us a spot where we can implement helpers that are part\n * of the MXLSpan interface.\n */\nexport class MXLExtendedSpan implements ExtendedSpan {\n private readonly _span: ExtendedSpan;\n\n public constructor(span: Span) {\n this._span = span as ExtendedSpan;\n }\n\n /**\n * Expose attributes by extending OpenTelemetry's ReadableSpan.\n */\n public get attributes(): Attributes {\n return this._span.attributes;\n }\n\n public addEvent(\n name: string,\n attributesOrStartTime?: Attributes | TimeInput,\n startTime?: TimeInput,\n ): this {\n this._span.addEvent(name, attributesOrStartTime, startTime);\n return this;\n }\n\n public addLink(link: Link): this {\n this._span.addLink(link);\n return this;\n }\n\n public addLinks(links: Link[]): this {\n this._span.addLinks(links);\n return this;\n }\n\n public end(endTime?: TimeInput): void {\n this._span.end(endTime);\n }\n\n public isRecording(): boolean {\n return this._span.isRecording();\n }\n\n public recordException(exception: Exception, time?: TimeInput): void {\n this._span.recordException(exception, time);\n }\n\n public setAttribute(key: string, value: AttributeValue): this {\n this._span.setAttribute(key, value);\n return this;\n }\n\n public setAttributes(attributes: Attributes): this {\n this._span.setAttributes(attributes);\n return this;\n }\n\n public removeAttribute(key: string): this {\n const { [key]: _, ...attributes } = this._span.attributes;\n // @ts-expect-error Read/write spans are allowed per the spec https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#additional-span-interfaces\n this._span.attributes = attributes;\n return this;\n }\n\n public setStatus(status: SpanStatus): this {\n this._span.setStatus(status);\n return this;\n }\n\n public spanContext(): SpanContext {\n return this._span.spanContext();\n }\n\n public updateName(name: string): this {\n this._span.updateName(name);\n return this;\n }\n\n public fail(\n options: ExtendedSpanFailedOptions = {\n code: 'failure',\n },\n ): void {\n if (options.code) {\n this._span.setAttribute(KEY_MXL_ERROR_CODE, options.code.toUpperCase());\n }\n\n this._span.end(options.endTime);\n }\n}\n"],"mappings":";;;;;;;;AAiBA,IAAa,kBAAb,MAAqD;CACnD;CAEA,YAAmB,MAAY;AAC7B,OAAK,QAAQ;;;;;CAMf,IAAW,aAAyB;AAClC,SAAO,KAAK,MAAM;;CAGpB,SACE,MACA,uBACA,WACM;AACN,OAAK,MAAM,SAAS,MAAM,uBAAuB,UAAU;AAC3D,SAAO;;CAGT,QAAe,MAAkB;AAC/B,OAAK,MAAM,QAAQ,KAAK;AACxB,SAAO;;CAGT,SAAgB,OAAqB;AACnC,OAAK,MAAM,SAAS,MAAM;AAC1B,SAAO;;CAGT,IAAW,SAA2B;AACpC,OAAK,MAAM,IAAI,QAAQ;;CAGzB,cAA8B;AAC5B,SAAO,KAAK,MAAM,aAAa;;CAGjC,gBAAuB,WAAsB,MAAwB;AACnE,OAAK,MAAM,gBAAgB,WAAW,KAAK;;CAG7C,aAAoB,KAAa,OAA6B;AAC5D,OAAK,MAAM,aAAa,KAAK,MAAM;AACnC,SAAO;;CAGT,cAAqB,YAA8B;AACjD,OAAK,MAAM,cAAc,WAAW;AACpC,SAAO;;CAGT,gBAAuB,KAAmB;EACxC,MAAM,GAAG,MAAM,GAAG,GAAG,eAAe,KAAK,MAAM;AAE/C,OAAK,MAAM,aAAa;AACxB,SAAO;;CAGT,UAAiB,QAA0B;AACzC,OAAK,MAAM,UAAU,OAAO;AAC5B,SAAO;;CAGT,cAAkC;AAChC,SAAO,KAAK,MAAM,aAAa;;CAGjC,WAAkB,MAAoB;AACpC,OAAK,MAAM,WAAW,KAAK;AAC3B,SAAO;;CAGT,KACE,UAAqC,EACnC,MAAM,WACP,EACK;AACN,MAAI,QAAQ,KACV,MAAK,MAAM,aAAaA,6BAAAA,oBAAoB,QAAQ,KAAK,aAAa,CAAC;AAGzE,OAAK,MAAM,IAAI,QAAQ,QAAQ"}
1
+ {"version":3,"file":"MXLExtendedSpan.cjs","names":["KEY_MXL_ERROR_CODE"],"sources":["../../../src/managers/MXLTraceManager/MXLExtendedSpan.ts"],"sourcesContent":["import type {\n AttributeValue,\n Attributes,\n Exception,\n Link,\n Span,\n SpanContext,\n SpanStatus,\n TimeInput,\n} from '@opentelemetry/api';\nimport type {\n ExtendedSpan,\n ExtendedSpanFailedOptions,\n} from '../../api-traces/api/TraceAPI/types';\nimport { KEY_MXL_ERROR_CODE } from '../../constants/attributes';\n/**\n * MXLSpan for the most part simply delegates to the underlying Span it receives on initialization so\n * that it satisfies the Span interface. In addition, it gives us a spot where we can implement helpers that are part\n * of the MXLSpan interface.\n */\nexport class MXLExtendedSpan implements ExtendedSpan {\n private readonly _span: ExtendedSpan;\n\n public constructor(span: Span) {\n this._span = span as ExtendedSpan;\n }\n\n /**\n * Expose attributes by extending OpenTelemetry's ReadableSpan.\n */\n public get attributes(): Attributes {\n return this._span.attributes;\n }\n\n public addEvent(\n name: string,\n attributesOrStartTime?: Attributes | TimeInput,\n startTime?: TimeInput,\n ): this {\n this._span.addEvent(name, attributesOrStartTime, startTime);\n return this;\n }\n\n public addLink(link: Link): this {\n this._span.addLink(link);\n return this;\n }\n\n public addLinks(links: Link[]): this {\n this._span.addLinks(links);\n return this;\n }\n\n public end(endTime?: TimeInput): void {\n this._span.end(endTime);\n }\n\n public isRecording(): boolean {\n return this._span.isRecording();\n }\n\n public recordException(exception: Exception, time?: TimeInput): void {\n this._span.recordException(exception, time);\n }\n\n public setAttribute(key: string, value: AttributeValue): this {\n this._span.setAttribute(key, value);\n return this;\n }\n\n public setAttributes(attributes: Attributes): this {\n this._span.setAttributes(attributes);\n return this;\n }\n\n public removeAttribute(key: string): this {\n const { [key]: _, ...attributes } = this._span.attributes;\n // @ts-expect-error Read/write spans are allowed per the spec https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#additional-span-interfaces\n this._span.attributes = attributes;\n return this;\n }\n\n public setStatus(status: SpanStatus): this {\n this._span.setStatus(status);\n return this;\n }\n\n public spanContext(): SpanContext {\n return this._span.spanContext();\n }\n\n public updateName(name: string): this {\n this._span.updateName(name);\n return this;\n }\n\n public fail(\n options: ExtendedSpanFailedOptions = {\n code: 'failure',\n },\n ): void {\n if (options.code) {\n this._span.setAttribute(KEY_MXL_ERROR_CODE, options.code.toUpperCase());\n }\n\n this._span.end(options.endTime);\n }\n}\n"],"mappings":";;;;;;;;AAoBA,IAAa,kBAAb,MAAqD;CACnD;CAEA,YAAmB,MAAY;AAC7B,OAAK,QAAQ;;;;;CAMf,IAAW,aAAyB;AAClC,SAAO,KAAK,MAAM;;CAGpB,SACE,MACA,uBACA,WACM;AACN,OAAK,MAAM,SAAS,MAAM,uBAAuB,UAAU;AAC3D,SAAO;;CAGT,QAAe,MAAkB;AAC/B,OAAK,MAAM,QAAQ,KAAK;AACxB,SAAO;;CAGT,SAAgB,OAAqB;AACnC,OAAK,MAAM,SAAS,MAAM;AAC1B,SAAO;;CAGT,IAAW,SAA2B;AACpC,OAAK,MAAM,IAAI,QAAQ;;CAGzB,cAA8B;AAC5B,SAAO,KAAK,MAAM,aAAa;;CAGjC,gBAAuB,WAAsB,MAAwB;AACnE,OAAK,MAAM,gBAAgB,WAAW,KAAK;;CAG7C,aAAoB,KAAa,OAA6B;AAC5D,OAAK,MAAM,aAAa,KAAK,MAAM;AACnC,SAAO;;CAGT,cAAqB,YAA8B;AACjD,OAAK,MAAM,cAAc,WAAW;AACpC,SAAO;;CAGT,gBAAuB,KAAmB;EACxC,MAAM,GAAG,MAAM,GAAG,GAAG,eAAe,KAAK,MAAM;AAE/C,OAAK,MAAM,aAAa;AACxB,SAAO;;CAGT,UAAiB,QAA0B;AACzC,OAAK,MAAM,UAAU,OAAO;AAC5B,SAAO;;CAGT,cAAkC;AAChC,SAAO,KAAK,MAAM,aAAa;;CAGjC,WAAkB,MAAoB;AACpC,OAAK,MAAM,WAAW,KAAK;AAC3B,SAAO;;CAGT,KACE,UAAqC,EACnC,MAAM,WACP,EACK;AACN,MAAI,QAAQ,KACV,MAAK,MAAM,aAAaA,6BAAAA,oBAAoB,QAAQ,KAAK,aAAa,CAAC;AAGzE,OAAK,MAAM,IAAI,QAAQ,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"MXLExtendedSpan.d.cts","names":[],"sources":["../../../src/managers/MXLTraceManager/MXLExtendedSpan.ts"],"mappings":";;;;;;AAiBA;;;cAAa,eAAA,YAA2B,YAAA;EAAA,iBACrB,KAAA;cAEE,IAAA,EAAM,IAAA;EAac;;;EAAA,IAN5B,UAAA,CAAA,GAAc,UAAA;EAIlB,QAAA,CACL,IAAA,UACA,qBAAA,GAAwB,UAAA,GAAa,SAAA,EACrC,SAAA,GAAY,SAAA;EAMP,OAAA,CAAQ,IAAA,EAAM,IAAA;EAKd,QAAA,CAAS,KAAA,EAAO,IAAA;EAKhB,GAAA,CAAI,OAAA,GAAU,SAAA;EAId,WAAA,CAAA;EAIA,eAAA,CAAgB,SAAA,EAAW,SAAA,EAAW,IAAA,GAAO,SAAA;EAI7C,YAAA,CAAa,GAAA,UAAa,KAAA,EAAO,cAAA;EAKjC,aAAA,CAAc,UAAA,EAAY,UAAA;EAK1B,eAAA,CAAgB,GAAA;EAOhB,SAAA,CAAU,MAAA,EAAQ,UAAA;EAKlB,WAAA,CAAA,GAAe,WAAA;EAIf,UAAA,CAAW,IAAA;EAKX,IAAA,CACL,OAAA,GAAS,yBAAA;AAAA"}
1
+ {"version":3,"file":"MXLExtendedSpan.d.cts","names":[],"sources":["../../../src/managers/MXLTraceManager/MXLExtendedSpan.ts"],"mappings":";;;;;;AAoBA;;;cAAa,eAAA,YAA2B,YAAA;EAAA,iBACrB,KAAA;cAEE,IAAA,EAAM,IAAA;EAac;;;EAAA,IAN5B,UAAA,CAAA,GAAc,UAAA;EAIlB,QAAA,CACL,IAAA,UACA,qBAAA,GAAwB,UAAA,GAAa,SAAA,EACrC,SAAA,GAAY,SAAA;EAMP,OAAA,CAAQ,IAAA,EAAM,IAAA;EAKd,QAAA,CAAS,KAAA,EAAO,IAAA;EAKhB,GAAA,CAAI,OAAA,GAAU,SAAA;EAId,WAAA,CAAA;EAIA,eAAA,CAAgB,SAAA,EAAW,SAAA,EAAW,IAAA,GAAO,SAAA;EAI7C,YAAA,CAAa,GAAA,UAAa,KAAA,EAAO,cAAA;EAKjC,aAAA,CAAc,UAAA,EAAY,UAAA;EAK1B,eAAA,CAAgB,GAAA;EAOhB,SAAA,CAAU,MAAA,EAAQ,UAAA;EAKlB,WAAA,CAAA,GAAe,WAAA;EAIf,UAAA,CAAW,IAAA;EAKX,IAAA,CACL,OAAA,GAAS,yBAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"MXLExtendedSpan.d.ts","names":[],"sources":["../../../src/managers/MXLTraceManager/MXLExtendedSpan.ts"],"mappings":";;;;;;AAiBA;;;cAAa,eAAA,YAA2B,YAAA;EAAA,iBACrB,KAAA;cAEE,IAAA,EAAM,IAAA;EAac;;;EAAA,IAN5B,UAAA,CAAA,GAAc,UAAA;EAIlB,QAAA,CACL,IAAA,UACA,qBAAA,GAAwB,UAAA,GAAa,SAAA,EACrC,SAAA,GAAY,SAAA;EAMP,OAAA,CAAQ,IAAA,EAAM,IAAA;EAKd,QAAA,CAAS,KAAA,EAAO,IAAA;EAKhB,GAAA,CAAI,OAAA,GAAU,SAAA;EAId,WAAA,CAAA;EAIA,eAAA,CAAgB,SAAA,EAAW,SAAA,EAAW,IAAA,GAAO,SAAA;EAI7C,YAAA,CAAa,GAAA,UAAa,KAAA,EAAO,cAAA;EAKjC,aAAA,CAAc,UAAA,EAAY,UAAA;EAK1B,eAAA,CAAgB,GAAA;EAOhB,SAAA,CAAU,MAAA,EAAQ,UAAA;EAKlB,WAAA,CAAA,GAAe,WAAA;EAIf,UAAA,CAAW,IAAA;EAKX,IAAA,CACL,OAAA,GAAS,yBAAA;AAAA"}
1
+ {"version":3,"file":"MXLExtendedSpan.d.ts","names":[],"sources":["../../../src/managers/MXLTraceManager/MXLExtendedSpan.ts"],"mappings":";;;;;;AAoBA;;;cAAa,eAAA,YAA2B,YAAA;EAAA,iBACrB,KAAA;cAEE,IAAA,EAAM,IAAA;EAac;;;EAAA,IAN5B,UAAA,CAAA,GAAc,UAAA;EAIlB,QAAA,CACL,IAAA,UACA,qBAAA,GAAwB,UAAA,GAAa,SAAA,EACrC,SAAA,GAAY,SAAA;EAMP,OAAA,CAAQ,IAAA,EAAM,IAAA;EAKd,QAAA,CAAS,KAAA,EAAO,IAAA;EAKhB,GAAA,CAAI,OAAA,GAAU,SAAA;EAId,WAAA,CAAA;EAIA,eAAA,CAAgB,SAAA,EAAW,SAAA,EAAW,IAAA,GAAO,SAAA;EAI7C,YAAA,CAAa,GAAA,UAAa,KAAA,EAAO,cAAA;EAKjC,aAAA,CAAc,UAAA,EAAY,UAAA;EAK1B,eAAA,CAAgB,GAAA;EAOhB,SAAA,CAAU,MAAA,EAAQ,UAAA;EAKlB,WAAA,CAAA,GAAe,WAAA;EAIf,UAAA,CAAW,IAAA;EAKX,IAAA,CACL,OAAA,GAAS,yBAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"MXLExtendedSpan.js","names":[],"sources":["../../../src/managers/MXLTraceManager/MXLExtendedSpan.ts"],"sourcesContent":["import type {\n AttributeValue,\n Attributes,\n Exception,\n Link,\n Span,\n SpanContext,\n SpanStatus,\n TimeInput,\n} from '@opentelemetry/api';\nimport type { ExtendedSpan, ExtendedSpanFailedOptions } from '../../api-traces/api/TraceAPI/types';\nimport { KEY_MXL_ERROR_CODE } from '../../constants/attributes';\n/**\n * MXLSpan for the most part simply delegates to the underlying Span it receives on initialization so\n * that it satisfies the Span interface. In addition, it gives us a spot where we can implement helpers that are part\n * of the MXLSpan interface.\n */\nexport class MXLExtendedSpan implements ExtendedSpan {\n private readonly _span: ExtendedSpan;\n\n public constructor(span: Span) {\n this._span = span as ExtendedSpan;\n }\n\n /**\n * Expose attributes by extending OpenTelemetry's ReadableSpan.\n */\n public get attributes(): Attributes {\n return this._span.attributes;\n }\n\n public addEvent(\n name: string,\n attributesOrStartTime?: Attributes | TimeInput,\n startTime?: TimeInput,\n ): this {\n this._span.addEvent(name, attributesOrStartTime, startTime);\n return this;\n }\n\n public addLink(link: Link): this {\n this._span.addLink(link);\n return this;\n }\n\n public addLinks(links: Link[]): this {\n this._span.addLinks(links);\n return this;\n }\n\n public end(endTime?: TimeInput): void {\n this._span.end(endTime);\n }\n\n public isRecording(): boolean {\n return this._span.isRecording();\n }\n\n public recordException(exception: Exception, time?: TimeInput): void {\n this._span.recordException(exception, time);\n }\n\n public setAttribute(key: string, value: AttributeValue): this {\n this._span.setAttribute(key, value);\n return this;\n }\n\n public setAttributes(attributes: Attributes): this {\n this._span.setAttributes(attributes);\n return this;\n }\n\n public removeAttribute(key: string): this {\n const { [key]: _, ...attributes } = this._span.attributes;\n // @ts-expect-error Read/write spans are allowed per the spec https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#additional-span-interfaces\n this._span.attributes = attributes;\n return this;\n }\n\n public setStatus(status: SpanStatus): this {\n this._span.setStatus(status);\n return this;\n }\n\n public spanContext(): SpanContext {\n return this._span.spanContext();\n }\n\n public updateName(name: string): this {\n this._span.updateName(name);\n return this;\n }\n\n public fail(\n options: ExtendedSpanFailedOptions = {\n code: 'failure',\n },\n ): void {\n if (options.code) {\n this._span.setAttribute(KEY_MXL_ERROR_CODE, options.code.toUpperCase());\n }\n\n this._span.end(options.endTime);\n }\n}\n"],"mappings":";;;;;;;AAiBA,IAAa,kBAAb,MAAqD;CACnD;CAEA,YAAmB,MAAY;AAC7B,OAAK,QAAQ;;;;;CAMf,IAAW,aAAyB;AAClC,SAAO,KAAK,MAAM;;CAGpB,SACE,MACA,uBACA,WACM;AACN,OAAK,MAAM,SAAS,MAAM,uBAAuB,UAAU;AAC3D,SAAO;;CAGT,QAAe,MAAkB;AAC/B,OAAK,MAAM,QAAQ,KAAK;AACxB,SAAO;;CAGT,SAAgB,OAAqB;AACnC,OAAK,MAAM,SAAS,MAAM;AAC1B,SAAO;;CAGT,IAAW,SAA2B;AACpC,OAAK,MAAM,IAAI,QAAQ;;CAGzB,cAA8B;AAC5B,SAAO,KAAK,MAAM,aAAa;;CAGjC,gBAAuB,WAAsB,MAAwB;AACnE,OAAK,MAAM,gBAAgB,WAAW,KAAK;;CAG7C,aAAoB,KAAa,OAA6B;AAC5D,OAAK,MAAM,aAAa,KAAK,MAAM;AACnC,SAAO;;CAGT,cAAqB,YAA8B;AACjD,OAAK,MAAM,cAAc,WAAW;AACpC,SAAO;;CAGT,gBAAuB,KAAmB;EACxC,MAAM,GAAG,MAAM,GAAG,GAAG,eAAe,KAAK,MAAM;AAE/C,OAAK,MAAM,aAAa;AACxB,SAAO;;CAGT,UAAiB,QAA0B;AACzC,OAAK,MAAM,UAAU,OAAO;AAC5B,SAAO;;CAGT,cAAkC;AAChC,SAAO,KAAK,MAAM,aAAa;;CAGjC,WAAkB,MAAoB;AACpC,OAAK,MAAM,WAAW,KAAK;AAC3B,SAAO;;CAGT,KACE,UAAqC,EACnC,MAAM,WACP,EACK;AACN,MAAI,QAAQ,KACV,MAAK,MAAM,aAAa,oBAAoB,QAAQ,KAAK,aAAa,CAAC;AAGzE,OAAK,MAAM,IAAI,QAAQ,QAAQ"}
1
+ {"version":3,"file":"MXLExtendedSpan.js","names":[],"sources":["../../../src/managers/MXLTraceManager/MXLExtendedSpan.ts"],"sourcesContent":["import type {\n AttributeValue,\n Attributes,\n Exception,\n Link,\n Span,\n SpanContext,\n SpanStatus,\n TimeInput,\n} from '@opentelemetry/api';\nimport type {\n ExtendedSpan,\n ExtendedSpanFailedOptions,\n} from '../../api-traces/api/TraceAPI/types';\nimport { KEY_MXL_ERROR_CODE } from '../../constants/attributes';\n/**\n * MXLSpan for the most part simply delegates to the underlying Span it receives on initialization so\n * that it satisfies the Span interface. In addition, it gives us a spot where we can implement helpers that are part\n * of the MXLSpan interface.\n */\nexport class MXLExtendedSpan implements ExtendedSpan {\n private readonly _span: ExtendedSpan;\n\n public constructor(span: Span) {\n this._span = span as ExtendedSpan;\n }\n\n /**\n * Expose attributes by extending OpenTelemetry's ReadableSpan.\n */\n public get attributes(): Attributes {\n return this._span.attributes;\n }\n\n public addEvent(\n name: string,\n attributesOrStartTime?: Attributes | TimeInput,\n startTime?: TimeInput,\n ): this {\n this._span.addEvent(name, attributesOrStartTime, startTime);\n return this;\n }\n\n public addLink(link: Link): this {\n this._span.addLink(link);\n return this;\n }\n\n public addLinks(links: Link[]): this {\n this._span.addLinks(links);\n return this;\n }\n\n public end(endTime?: TimeInput): void {\n this._span.end(endTime);\n }\n\n public isRecording(): boolean {\n return this._span.isRecording();\n }\n\n public recordException(exception: Exception, time?: TimeInput): void {\n this._span.recordException(exception, time);\n }\n\n public setAttribute(key: string, value: AttributeValue): this {\n this._span.setAttribute(key, value);\n return this;\n }\n\n public setAttributes(attributes: Attributes): this {\n this._span.setAttributes(attributes);\n return this;\n }\n\n public removeAttribute(key: string): this {\n const { [key]: _, ...attributes } = this._span.attributes;\n // @ts-expect-error Read/write spans are allowed per the spec https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#additional-span-interfaces\n this._span.attributes = attributes;\n return this;\n }\n\n public setStatus(status: SpanStatus): this {\n this._span.setStatus(status);\n return this;\n }\n\n public spanContext(): SpanContext {\n return this._span.spanContext();\n }\n\n public updateName(name: string): this {\n this._span.updateName(name);\n return this;\n }\n\n public fail(\n options: ExtendedSpanFailedOptions = {\n code: 'failure',\n },\n ): void {\n if (options.code) {\n this._span.setAttribute(KEY_MXL_ERROR_CODE, options.code.toUpperCase());\n }\n\n this._span.end(options.endTime);\n }\n}\n"],"mappings":";;;;;;;AAoBA,IAAa,kBAAb,MAAqD;CACnD;CAEA,YAAmB,MAAY;AAC7B,OAAK,QAAQ;;;;;CAMf,IAAW,aAAyB;AAClC,SAAO,KAAK,MAAM;;CAGpB,SACE,MACA,uBACA,WACM;AACN,OAAK,MAAM,SAAS,MAAM,uBAAuB,UAAU;AAC3D,SAAO;;CAGT,QAAe,MAAkB;AAC/B,OAAK,MAAM,QAAQ,KAAK;AACxB,SAAO;;CAGT,SAAgB,OAAqB;AACnC,OAAK,MAAM,SAAS,MAAM;AAC1B,SAAO;;CAGT,IAAW,SAA2B;AACpC,OAAK,MAAM,IAAI,QAAQ;;CAGzB,cAA8B;AAC5B,SAAO,KAAK,MAAM,aAAa;;CAGjC,gBAAuB,WAAsB,MAAwB;AACnE,OAAK,MAAM,gBAAgB,WAAW,KAAK;;CAG7C,aAAoB,KAAa,OAA6B;AAC5D,OAAK,MAAM,aAAa,KAAK,MAAM;AACnC,SAAO;;CAGT,cAAqB,YAA8B;AACjD,OAAK,MAAM,cAAc,WAAW;AACpC,SAAO;;CAGT,gBAAuB,KAAmB;EACxC,MAAM,GAAG,MAAM,GAAG,GAAG,eAAe,KAAK,MAAM;AAE/C,OAAK,MAAM,aAAa;AACxB,SAAO;;CAGT,UAAiB,QAA0B;AACzC,OAAK,MAAM,UAAU,OAAO;AAC5B,SAAO;;CAGT,cAAkC;AAChC,SAAO,KAAK,MAAM,aAAa;;CAGjC,WAAkB,MAAoB;AACpC,OAAK,MAAM,WAAW,KAAK;AAC3B,SAAO;;CAGT,KACE,UAAqC,EACnC,MAAM,WACP,EACK;AACN,MAAI,QAAQ,KACV,MAAK,MAAM,aAAa,oBAAoB,QAAQ,KAAK,aAAa,CAAC;AAGzE,OAAK,MAAM,IAAI,QAAQ,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"MXLTraceManager.cjs","names":["trace","KEY_MXL_TYPE","context","MXLExtendedSpan"],"sources":["../../../src/managers/MXLTraceManager/MXLTraceManager.ts"],"sourcesContent":["import type { Context, Tracer } from '@opentelemetry/api';\nimport { context, trace } from '@opentelemetry/api';\nimport type { ExtendedSpan, ExtendedSpanOptions } from '../../api-traces/api/TraceAPI/types';\nimport type { TraceManager, TraceManagerArgs } from '../../api-traces/manager/types';\nimport { KEY_MXL_TYPE, MXL_TYPES } from '../../constants/attributes';\nimport { MXLExtendedSpan } from './MXLExtendedSpan';\n\nexport class MXLTraceManager implements TraceManager {\n private readonly _tracer: Tracer;\n\n public constructor({\n tracerProvider: globalTraceProviderOverride,\n }: TraceManagerArgs = {}) {\n const tracerProvider = globalTraceProviderOverride ?? trace;\n\n this._tracer = tracerProvider.getTracer('mxl-web-sdk-traces');\n }\n\n public startSpan(\n name: string,\n options: ExtendedSpanOptions = {},\n ctx?: Context,\n ): ExtendedSpan {\n options.attributes = options.attributes ? options.attributes : {};\n options.attributes[KEY_MXL_TYPE] = MXL_TYPES.Perf;\n\n const activeContext = options.parentSpan\n ? trace.setSpan(context.active(), options.parentSpan)\n : ctx;\n\n return new MXLExtendedSpan(\n this._tracer.startSpan(name, options, activeContext),\n );\n }\n\n public setSpan: TraceManager['setSpan'] = trace.setSpan;\n\n public getSpan(context: Context): ExtendedSpan | undefined {\n const span = trace.getSpan(context);\n\n if (span) {\n return new MXLExtendedSpan(span);\n }\n\n return undefined;\n }\n}\n"],"mappings":";;;;;;AAOA,IAAa,kBAAb,MAAqD;CACnD;CAEA,YAAmB,EACjB,gBAAgB,gCACI,EAAE,EAAE;EACxB,MAAM,iBAAiB,+BAA+BA,mBAAAA;AAEtD,OAAK,UAAU,eAAe,UAAU,qBAAqB;;CAG/D,UACE,MACA,UAA+B,EAAE,EACjC,KACc;AACd,UAAQ,aAAa,QAAQ,aAAa,QAAQ,aAAa,EAAE;AACjE,UAAQ,WAAWC,6BAAAA,gBAAAA;EAEnB,MAAM,gBAAgB,QAAQ,aAC1BD,mBAAAA,MAAM,QAAQE,mBAAAA,QAAQ,QAAQ,EAAE,QAAQ,WAAW,GACnD;AAEJ,SAAO,IAAIC,iDAAAA,gBACT,KAAK,QAAQ,UAAU,MAAM,SAAS,cAAc,CACrD;;CAGH,UAA0CH,mBAAAA,MAAM;CAEhD,QAAe,SAA4C;EACzD,MAAM,OAAOA,mBAAAA,MAAM,QAAQ,QAAQ;AAEnC,MAAI,KACF,QAAO,IAAIG,iDAAAA,gBAAgB,KAAK"}
1
+ {"version":3,"file":"MXLTraceManager.cjs","names":["trace","KEY_MXL_TYPE","context","MXLExtendedSpan"],"sources":["../../../src/managers/MXLTraceManager/MXLTraceManager.ts"],"sourcesContent":["import type { Context, Tracer } from '@opentelemetry/api';\nimport { context, trace } from '@opentelemetry/api';\nimport type {\n ExtendedSpan,\n ExtendedSpanOptions,\n} from '../../api-traces/api/TraceAPI/types';\nimport type {\n TraceManager,\n TraceManagerArgs,\n} from '../../api-traces/manager/types';\nimport { KEY_MXL_TYPE, MXL_TYPES } from '../../constants/attributes';\nimport { MXLExtendedSpan } from './MXLExtendedSpan';\n\nexport class MXLTraceManager implements TraceManager {\n private readonly _tracer: Tracer;\n\n public constructor({\n tracerProvider: globalTraceProviderOverride,\n }: TraceManagerArgs = {}) {\n const tracerProvider = globalTraceProviderOverride ?? trace;\n\n this._tracer = tracerProvider.getTracer('mxl-web-sdk-traces');\n }\n\n public startSpan(\n name: string,\n options: ExtendedSpanOptions = {},\n ctx?: Context,\n ): ExtendedSpan {\n options.attributes = options.attributes ? options.attributes : {};\n options.attributes[KEY_MXL_TYPE] = MXL_TYPES.Perf;\n\n const activeContext = options.parentSpan\n ? trace.setSpan(context.active(), options.parentSpan)\n : ctx;\n\n return new MXLExtendedSpan(\n this._tracer.startSpan(name, options, activeContext),\n );\n }\n\n public setSpan: TraceManager['setSpan'] = trace.setSpan;\n\n public getSpan(context: Context): ExtendedSpan | undefined {\n const span = trace.getSpan(context);\n\n if (span) {\n return new MXLExtendedSpan(span);\n }\n\n return undefined;\n }\n}\n"],"mappings":";;;;;;AAaA,IAAa,kBAAb,MAAqD;CACnD;CAEA,YAAmB,EACjB,gBAAgB,gCACI,EAAE,EAAE;EACxB,MAAM,iBAAiB,+BAA+BA,mBAAAA;AAEtD,OAAK,UAAU,eAAe,UAAU,qBAAqB;;CAG/D,UACE,MACA,UAA+B,EAAE,EACjC,KACc;AACd,UAAQ,aAAa,QAAQ,aAAa,QAAQ,aAAa,EAAE;AACjE,UAAQ,WAAWC,6BAAAA,gBAAAA;EAEnB,MAAM,gBAAgB,QAAQ,aAC1BD,mBAAAA,MAAM,QAAQE,mBAAAA,QAAQ,QAAQ,EAAE,QAAQ,WAAW,GACnD;AAEJ,SAAO,IAAIC,iDAAAA,gBACT,KAAK,QAAQ,UAAU,MAAM,SAAS,cAAc,CACrD;;CAGH,UAA0CH,mBAAAA,MAAM;CAEhD,QAAe,SAA4C;EACzD,MAAM,OAAOA,mBAAAA,MAAM,QAAQ,QAAQ;AAEnC,MAAI,KACF,QAAO,IAAIG,iDAAAA,gBAAgB,KAAK"}
@@ -1 +1 @@
1
- {"version":3,"file":"MXLTraceManager.d.cts","names":[],"sources":["../../../src/managers/MXLTraceManager/MXLTraceManager.ts"],"mappings":";;;;;cAOa,eAAA,YAA2B,YAAA;EAAA,iBACrB,OAAA;;IAGf,cAAA,EAAgB;EAAA,IACf,gBAAA;EAMI,SAAA,CACL,IAAA,UACA,OAAA,GAAS,mBAAA,EACT,GAAA,GAAM,OAAA,GACL,YAAA;EAaI,OAAA,EAAS,YAAA;EAET,OAAA,CAAQ,OAAA,EAAS,OAAA,GAAU,YAAA;AAAA"}
1
+ {"version":3,"file":"MXLTraceManager.d.cts","names":[],"sources":["../../../src/managers/MXLTraceManager/MXLTraceManager.ts"],"mappings":";;;;;cAaa,eAAA,YAA2B,YAAA;EAAA,iBACrB,OAAA;;IAGf,cAAA,EAAgB;EAAA,IACf,gBAAA;EAMI,SAAA,CACL,IAAA,UACA,OAAA,GAAS,mBAAA,EACT,GAAA,GAAM,OAAA,GACL,YAAA;EAaI,OAAA,EAAS,YAAA;EAET,OAAA,CAAQ,OAAA,EAAS,OAAA,GAAU,YAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"MXLTraceManager.d.ts","names":[],"sources":["../../../src/managers/MXLTraceManager/MXLTraceManager.ts"],"mappings":";;;;;cAOa,eAAA,YAA2B,YAAA;EAAA,iBACrB,OAAA;;IAGf,cAAA,EAAgB;EAAA,IACf,gBAAA;EAMI,SAAA,CACL,IAAA,UACA,OAAA,GAAS,mBAAA,EACT,GAAA,GAAM,OAAA,GACL,YAAA;EAaI,OAAA,EAAS,YAAA;EAET,OAAA,CAAQ,OAAA,EAAS,OAAA,GAAU,YAAA;AAAA"}
1
+ {"version":3,"file":"MXLTraceManager.d.ts","names":[],"sources":["../../../src/managers/MXLTraceManager/MXLTraceManager.ts"],"mappings":";;;;;cAaa,eAAA,YAA2B,YAAA;EAAA,iBACrB,OAAA;;IAGf,cAAA,EAAgB;EAAA,IACf,gBAAA;EAMI,SAAA,CACL,IAAA,UACA,OAAA,GAAS,mBAAA,EACT,GAAA,GAAM,OAAA,GACL,YAAA;EAaI,OAAA,EAAS,YAAA;EAET,OAAA,CAAQ,OAAA,EAAS,OAAA,GAAU,YAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"MXLTraceManager.js","names":[],"sources":["../../../src/managers/MXLTraceManager/MXLTraceManager.ts"],"sourcesContent":["import type { Context, Tracer } from '@opentelemetry/api';\nimport { context, trace } from '@opentelemetry/api';\nimport type { ExtendedSpan, ExtendedSpanOptions } from '../../api-traces/api/TraceAPI/types';\nimport type { TraceManager, TraceManagerArgs } from '../../api-traces/manager/types';\nimport { KEY_MXL_TYPE, MXL_TYPES } from '../../constants/attributes';\nimport { MXLExtendedSpan } from './MXLExtendedSpan';\n\nexport class MXLTraceManager implements TraceManager {\n private readonly _tracer: Tracer;\n\n public constructor({\n tracerProvider: globalTraceProviderOverride,\n }: TraceManagerArgs = {}) {\n const tracerProvider = globalTraceProviderOverride ?? trace;\n\n this._tracer = tracerProvider.getTracer('mxl-web-sdk-traces');\n }\n\n public startSpan(\n name: string,\n options: ExtendedSpanOptions = {},\n ctx?: Context,\n ): ExtendedSpan {\n options.attributes = options.attributes ? options.attributes : {};\n options.attributes[KEY_MXL_TYPE] = MXL_TYPES.Perf;\n\n const activeContext = options.parentSpan\n ? trace.setSpan(context.active(), options.parentSpan)\n : ctx;\n\n return new MXLExtendedSpan(\n this._tracer.startSpan(name, options, activeContext),\n );\n }\n\n public setSpan: TraceManager['setSpan'] = trace.setSpan;\n\n public getSpan(context: Context): ExtendedSpan | undefined {\n const span = trace.getSpan(context);\n\n if (span) {\n return new MXLExtendedSpan(span);\n }\n\n return undefined;\n }\n}\n"],"mappings":";;;;AAOA,IAAa,kBAAb,MAAqD;CACnD;CAEA,YAAmB,EACjB,gBAAgB,gCACI,EAAE,EAAE;EACxB,MAAM,iBAAiB,+BAA+B;AAEtD,OAAK,UAAU,eAAe,UAAU,qBAAqB;;CAG/D,UACE,MACA,UAA+B,EAAE,EACjC,KACc;AACd,UAAQ,aAAa,QAAQ,aAAa,QAAQ,aAAa,EAAE;AACjE,UAAQ,WAAW,gBAAA;EAEnB,MAAM,gBAAgB,QAAQ,aAC1B,MAAM,QAAQ,QAAQ,QAAQ,EAAE,QAAQ,WAAW,GACnD;AAEJ,SAAO,IAAI,gBACT,KAAK,QAAQ,UAAU,MAAM,SAAS,cAAc,CACrD;;CAGH,UAA0C,MAAM;CAEhD,QAAe,SAA4C;EACzD,MAAM,OAAO,MAAM,QAAQ,QAAQ;AAEnC,MAAI,KACF,QAAO,IAAI,gBAAgB,KAAK"}
1
+ {"version":3,"file":"MXLTraceManager.js","names":[],"sources":["../../../src/managers/MXLTraceManager/MXLTraceManager.ts"],"sourcesContent":["import type { Context, Tracer } from '@opentelemetry/api';\nimport { context, trace } from '@opentelemetry/api';\nimport type {\n ExtendedSpan,\n ExtendedSpanOptions,\n} from '../../api-traces/api/TraceAPI/types';\nimport type {\n TraceManager,\n TraceManagerArgs,\n} from '../../api-traces/manager/types';\nimport { KEY_MXL_TYPE, MXL_TYPES } from '../../constants/attributes';\nimport { MXLExtendedSpan } from './MXLExtendedSpan';\n\nexport class MXLTraceManager implements TraceManager {\n private readonly _tracer: Tracer;\n\n public constructor({\n tracerProvider: globalTraceProviderOverride,\n }: TraceManagerArgs = {}) {\n const tracerProvider = globalTraceProviderOverride ?? trace;\n\n this._tracer = tracerProvider.getTracer('mxl-web-sdk-traces');\n }\n\n public startSpan(\n name: string,\n options: ExtendedSpanOptions = {},\n ctx?: Context,\n ): ExtendedSpan {\n options.attributes = options.attributes ? options.attributes : {};\n options.attributes[KEY_MXL_TYPE] = MXL_TYPES.Perf;\n\n const activeContext = options.parentSpan\n ? trace.setSpan(context.active(), options.parentSpan)\n : ctx;\n\n return new MXLExtendedSpan(\n this._tracer.startSpan(name, options, activeContext),\n );\n }\n\n public setSpan: TraceManager['setSpan'] = trace.setSpan;\n\n public getSpan(context: Context): ExtendedSpan | undefined {\n const span = trace.getSpan(context);\n\n if (span) {\n return new MXLExtendedSpan(span);\n }\n\n return undefined;\n }\n}\n"],"mappings":";;;;AAaA,IAAa,kBAAb,MAAqD;CACnD;CAEA,YAAmB,EACjB,gBAAgB,gCACI,EAAE,EAAE;EACxB,MAAM,iBAAiB,+BAA+B;AAEtD,OAAK,UAAU,eAAe,UAAU,qBAAqB;;CAG/D,UACE,MACA,UAA+B,EAAE,EACjC,KACc;AACd,UAAQ,aAAa,QAAQ,aAAa,QAAQ,aAAa,EAAE;AACjE,UAAQ,WAAW,gBAAA;EAEnB,MAAM,gBAAgB,QAAQ,aAC1B,MAAM,QAAQ,QAAQ,QAAQ,EAAE,QAAQ,WAAW,GACnD;AAEJ,SAAO,IAAI,gBACT,KAAK,QAAQ,UAAU,MAAM,SAAS,cAAc,CACrD;;CAGH,UAA0C,MAAM;CAEhD,QAAe,SAA4C;EACzD,MAAM,OAAO,MAAM,QAAQ,QAAQ;AAEnC,MAAI,KACF,QAAO,IAAI,gBAAgB,KAAK"}
@@ -1,11 +1,11 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  require("../../_virtual/_rolldown/runtime.cjs");
3
3
  const require_constants_attributes = require("../../constants/attributes.cjs");
4
- const require_managers_MXLUserSessionManager_constants = require("./constants.cjs");
5
4
  const require_utils_generateUUID = require("../../utils/generateUUID.cjs");
6
5
  const require_utils_getIncrementedCount = require("../../utils/getIncrementedCount.cjs");
7
6
  const require_utils_getVisibilityState = require("../../utils/getVisibilityState.cjs");
8
7
  const require_managers_MXLTraceManager_MXLExtendedSpan = require("../MXLTraceManager/MXLExtendedSpan.cjs");
8
+ const require_managers_MXLUserSessionManager_constants = require("./constants.cjs");
9
9
  const require_utils_clampNumber = require("../../utils/clampNumber.cjs");
10
10
  const require_utils_throttle = require("../../utils/throttle.cjs");
11
11
  const require_managers_MXLUserSessionManager_utils_activity = require("./utils/activity.cjs");