@safaricom-mxl/web-sdk 0.0.15 → 0.0.17

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 (827) hide show
  1. package/DATA_EXPORT.md +2 -3
  2. package/REACT.md +5 -7
  3. package/README.md +94 -57
  4. package/UPGRADING.md +29 -19
  5. package/dist/api-logs/api/LogAPI/LogAPI.cjs +3 -3
  6. package/dist/api-logs/api/LogAPI/LogAPI.cjs.map +1 -1
  7. package/dist/api-logs/api/LogAPI/LogAPI.js +3 -3
  8. package/dist/api-logs/api/LogAPI/LogAPI.js.map +1 -1
  9. package/dist/api-logs/manager/NoOpLogManager/NoOpLogManager.cjs.map +1 -1
  10. package/dist/api-logs/manager/NoOpLogManager/NoOpLogManager.js.map +1 -1
  11. package/dist/api-logs/manager/types.d.cts +4 -4
  12. package/dist/api-logs/manager/types.d.cts.map +1 -1
  13. package/dist/api-logs/manager/types.d.ts +4 -4
  14. package/dist/api-logs/manager/types.d.ts.map +1 -1
  15. package/dist/api-page/api/PageAPI/PageAPI.cjs +3 -3
  16. package/dist/api-page/api/PageAPI/PageAPI.cjs.map +1 -1
  17. package/dist/api-page/api/PageAPI/PageAPI.js +3 -3
  18. package/dist/api-page/api/PageAPI/PageAPI.js.map +1 -1
  19. package/dist/api-sessions/api/SessionAPI/SessionAPI.cjs +9 -9
  20. package/dist/api-sessions/api/SessionAPI/SessionAPI.cjs.map +1 -1
  21. package/dist/api-sessions/api/SessionAPI/SessionAPI.d.cts +5 -7
  22. package/dist/api-sessions/api/SessionAPI/SessionAPI.d.cts.map +1 -1
  23. package/dist/api-sessions/api/SessionAPI/SessionAPI.d.ts +5 -7
  24. package/dist/api-sessions/api/SessionAPI/SessionAPI.d.ts.map +1 -1
  25. package/dist/api-sessions/api/SessionAPI/SessionAPI.js +9 -9
  26. package/dist/api-sessions/api/SessionAPI/SessionAPI.js.map +1 -1
  27. package/dist/api-sessions/index.cjs +4 -4
  28. package/dist/api-sessions/index.d.cts +4 -4
  29. package/dist/api-sessions/index.d.ts +4 -4
  30. package/dist/api-sessions/index.js +3 -3
  31. package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.cjs +47 -0
  32. package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.cjs.map +1 -0
  33. package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.d.cts +30 -0
  34. package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.d.cts.map +1 -0
  35. package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.d.ts +30 -0
  36. package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.d.ts.map +1 -0
  37. package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.js +46 -0
  38. package/dist/api-sessions/manager/NoOpUserSessionManager/NoOpUserSessionManager.js.map +1 -0
  39. package/dist/api-sessions/manager/NoOpUserSessionManager/index.cjs +3 -0
  40. package/dist/api-sessions/manager/NoOpUserSessionManager/index.d.cts +2 -0
  41. package/dist/api-sessions/manager/NoOpUserSessionManager/index.d.ts +2 -0
  42. package/dist/api-sessions/manager/NoOpUserSessionManager/index.js +2 -0
  43. package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.cjs +81 -0
  44. package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.cjs.map +1 -0
  45. package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.d.cts +35 -0
  46. package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.d.cts.map +1 -0
  47. package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.d.ts +35 -0
  48. package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.d.ts.map +1 -0
  49. package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.js +81 -0
  50. package/dist/api-sessions/manager/ProxyUserSessionManager/ProxyUserSessionManager.js.map +1 -0
  51. package/dist/api-sessions/manager/ProxyUserSessionManager/index.cjs +3 -0
  52. package/dist/api-sessions/manager/ProxyUserSessionManager/index.d.cts +2 -0
  53. package/dist/api-sessions/manager/ProxyUserSessionManager/index.d.ts +2 -0
  54. package/dist/api-sessions/manager/ProxyUserSessionManager/index.js +2 -0
  55. package/dist/api-sessions/manager/index.cjs +4 -4
  56. package/dist/api-sessions/manager/index.d.cts +4 -4
  57. package/dist/api-sessions/manager/index.d.ts +4 -4
  58. package/dist/api-sessions/manager/index.js +3 -3
  59. package/dist/api-sessions/manager/types.d.cts +14 -24
  60. package/dist/api-sessions/manager/types.d.cts.map +1 -1
  61. package/dist/api-sessions/manager/types.d.ts +14 -24
  62. package/dist/api-sessions/manager/types.d.ts.map +1 -1
  63. package/dist/api-traces/api/TraceAPI/TraceAPI.cjs +3 -3
  64. package/dist/api-traces/api/TraceAPI/TraceAPI.cjs.map +1 -1
  65. package/dist/api-traces/api/TraceAPI/TraceAPI.js +3 -3
  66. package/dist/api-traces/api/TraceAPI/TraceAPI.js.map +1 -1
  67. package/dist/api-traces/api/TraceAPI/types.d.cts +2 -2
  68. package/dist/api-traces/api/TraceAPI/types.d.cts.map +1 -1
  69. package/dist/api-traces/api/TraceAPI/types.d.ts +2 -2
  70. package/dist/api-traces/api/TraceAPI/types.d.ts.map +1 -1
  71. package/dist/api-users/api/UserAPI/UserAPI.cjs +3 -3
  72. package/dist/api-users/api/UserAPI/UserAPI.cjs.map +1 -1
  73. package/dist/api-users/api/UserAPI/UserAPI.js +3 -3
  74. package/dist/api-users/api/UserAPI/UserAPI.js.map +1 -1
  75. package/dist/common/types.d.cts +2 -0
  76. package/dist/common/types.d.cts.map +1 -1
  77. package/dist/common/types.d.ts +2 -0
  78. package/dist/common/types.d.ts.map +1 -1
  79. package/dist/constants/attributes.cjs +30 -0
  80. package/dist/constants/attributes.cjs.map +1 -1
  81. package/dist/constants/attributes.d.cts +18 -2
  82. package/dist/constants/attributes.d.cts.map +1 -1
  83. package/dist/constants/attributes.d.ts +18 -2
  84. package/dist/constants/attributes.d.ts.map +1 -1
  85. package/dist/constants/attributes.js +17 -1
  86. package/dist/constants/attributes.js.map +1 -1
  87. package/dist/constants/index.cjs +14 -0
  88. package/dist/constants/index.d.cts +2 -2
  89. package/dist/constants/index.d.ts +2 -2
  90. package/dist/constants/index.js +2 -2
  91. package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.cjs +1 -2
  92. package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.cjs.map +1 -1
  93. package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.d.cts +1 -2
  94. package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.d.cts.map +1 -1
  95. package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.d.ts +1 -2
  96. package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.d.ts.map +1 -1
  97. package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.js +1 -2
  98. package/dist/exporters/MXLLogExporter/OTLPFetchLogExporter.js.map +1 -1
  99. package/dist/exporters/MXLTraceExporter/OTLPFetchTraceExporter.cjs.map +1 -1
  100. package/dist/exporters/MXLTraceExporter/OTLPFetchTraceExporter.js.map +1 -1
  101. package/dist/exporters/constants.cjs +1 -1
  102. package/dist/exporters/constants.cjs.map +1 -1
  103. package/dist/exporters/constants.d.cts +1 -1
  104. package/dist/exporters/constants.d.ts +1 -1
  105. package/dist/exporters/constants.js +1 -1
  106. package/dist/exporters/constants.js.map +1 -1
  107. package/dist/exporters/otlpBrowserFetchExportDelegate.cjs.map +1 -1
  108. package/dist/exporters/otlpBrowserFetchExportDelegate.js.map +1 -1
  109. package/dist/index.cjs +2 -0
  110. package/dist/index.d.cts +2 -1
  111. package/dist/index.d.ts +2 -1
  112. package/dist/index.js +2 -1
  113. package/dist/instrumentations/InstrumentationAbstract/InstrumentationAbstract.cjs +2 -2
  114. package/dist/instrumentations/InstrumentationAbstract/InstrumentationAbstract.cjs.map +1 -1
  115. package/dist/instrumentations/InstrumentationAbstract/InstrumentationAbstract.d.cts.map +1 -1
  116. package/dist/instrumentations/InstrumentationAbstract/InstrumentationAbstract.d.ts.map +1 -1
  117. package/dist/instrumentations/InstrumentationAbstract/InstrumentationAbstract.js +2 -2
  118. package/dist/instrumentations/InstrumentationAbstract/InstrumentationAbstract.js.map +1 -1
  119. package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.cjs +6 -7
  120. package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.cjs.map +1 -1
  121. package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.d.cts +4 -5
  122. package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.d.cts.map +1 -1
  123. package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.d.ts +4 -5
  124. package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.d.ts.map +1 -1
  125. package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.js +6 -7
  126. package/dist/instrumentations/MXLInstrumentationBase/MXLInstrumentationBase.js.map +1 -1
  127. package/dist/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.cjs +8 -8
  128. package/dist/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.cjs.map +1 -1
  129. package/dist/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.d.cts.map +1 -1
  130. package/dist/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.d.ts.map +1 -1
  131. package/dist/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.js +8 -8
  132. package/dist/instrumentations/clicks/ClicksInstrumentation/ClicksInstrumentation.js.map +1 -1
  133. package/dist/instrumentations/document-load/DocumentLoadInstrumentation/DocumentLoadInstrumentation.cjs +10 -10
  134. package/dist/instrumentations/document-load/DocumentLoadInstrumentation/DocumentLoadInstrumentation.cjs.map +1 -1
  135. package/dist/instrumentations/document-load/DocumentLoadInstrumentation/DocumentLoadInstrumentation.js +10 -10
  136. package/dist/instrumentations/document-load/DocumentLoadInstrumentation/DocumentLoadInstrumentation.js.map +1 -1
  137. package/dist/instrumentations/document-load/DocumentLoadInstrumentation/utils.cjs +2 -2
  138. package/dist/instrumentations/document-load/DocumentLoadInstrumentation/utils.cjs.map +1 -1
  139. package/dist/instrumentations/document-load/DocumentLoadInstrumentation/utils.js +2 -2
  140. package/dist/instrumentations/document-load/DocumentLoadInstrumentation/utils.js.map +1 -1
  141. package/dist/instrumentations/element-timing/ElementTimingInstrumentation/ElementTimingInstrumentation.cjs +5 -5
  142. package/dist/instrumentations/element-timing/ElementTimingInstrumentation/ElementTimingInstrumentation.cjs.map +1 -1
  143. package/dist/instrumentations/element-timing/ElementTimingInstrumentation/ElementTimingInstrumentation.js +5 -5
  144. package/dist/instrumentations/element-timing/ElementTimingInstrumentation/ElementTimingInstrumentation.js.map +1 -1
  145. package/dist/instrumentations/empty-root/EmptyRootInstrumentation/EmptyRootInstrumentation.cjs +4 -4
  146. package/dist/instrumentations/empty-root/EmptyRootInstrumentation/EmptyRootInstrumentation.cjs.map +1 -1
  147. package/dist/instrumentations/empty-root/EmptyRootInstrumentation/EmptyRootInstrumentation.js +4 -4
  148. package/dist/instrumentations/empty-root/EmptyRootInstrumentation/EmptyRootInstrumentation.js.map +1 -1
  149. package/dist/instrumentations/exceptions/GlobalExceptionInstrumentation/GlobalExceptionInstrumentation.cjs +7 -7
  150. package/dist/instrumentations/exceptions/GlobalExceptionInstrumentation/GlobalExceptionInstrumentation.cjs.map +1 -1
  151. package/dist/instrumentations/exceptions/GlobalExceptionInstrumentation/GlobalExceptionInstrumentation.js +7 -7
  152. package/dist/instrumentations/exceptions/GlobalExceptionInstrumentation/GlobalExceptionInstrumentation.js.map +1 -1
  153. package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.cjs +3 -3
  154. package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.cjs.map +1 -1
  155. package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.d.cts +4 -4
  156. package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.d.cts.map +1 -1
  157. package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.d.ts +4 -4
  158. package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.d.ts.map +1 -1
  159. package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.js +4 -4
  160. package/dist/instrumentations/exceptions/react/MXLErrorBoundary/MXLErrorBoundary.js.map +1 -1
  161. package/dist/instrumentations/index.cjs +2 -4
  162. package/dist/instrumentations/index.d.cts +4 -6
  163. package/dist/instrumentations/index.d.ts +4 -6
  164. package/dist/instrumentations/index.js +2 -3
  165. package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.cjs +23 -23
  166. package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.cjs.map +1 -1
  167. package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.d.cts +2 -3
  168. package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.d.cts.map +1 -1
  169. package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.d.ts +2 -3
  170. package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.d.ts.map +1 -1
  171. package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.js +23 -23
  172. package/dist/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.js.map +1 -1
  173. package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.cjs +5 -5
  174. package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.cjs.map +1 -1
  175. package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.d.cts.map +1 -1
  176. package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.d.ts.map +1 -1
  177. package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.js +5 -5
  178. package/dist/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.js.map +1 -1
  179. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV5/withMXLRoutingLegacy.cjs.map +1 -1
  180. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV5/withMXLRoutingLegacy.js.map +1 -1
  181. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.cjs +1 -1
  182. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.cjs.map +1 -1
  183. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.js +1 -1
  184. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.js.map +1 -1
  185. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/types.d.cts +10 -10
  186. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/types.d.cts.map +1 -1
  187. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/types.d.ts +10 -10
  188. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/types.d.ts.map +1 -1
  189. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/types.d.cts +2 -2
  190. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/types.d.cts.map +1 -1
  191. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/types.d.ts +2 -2
  192. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/types.d.ts.map +1 -1
  193. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/withMXLRouting.cjs.map +1 -1
  194. package/dist/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/withMXLRouting.js.map +1 -1
  195. package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.cjs +257 -0
  196. package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.cjs.map +1 -0
  197. package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.d.cts +56 -0
  198. package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.d.cts.map +1 -0
  199. package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.d.ts +56 -0
  200. package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.d.ts.map +1 -0
  201. package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.js +252 -0
  202. package/dist/instrumentations/replay/ReplayInstrumentation/ReplayInstrumentation.js.map +1 -0
  203. package/dist/instrumentations/replay/ReplayInstrumentation/constants.cjs +15 -0
  204. package/dist/instrumentations/replay/ReplayInstrumentation/constants.cjs.map +1 -0
  205. package/dist/instrumentations/replay/ReplayInstrumentation/constants.d.cts +9 -0
  206. package/dist/instrumentations/replay/ReplayInstrumentation/constants.d.cts.map +1 -0
  207. package/dist/instrumentations/replay/ReplayInstrumentation/constants.d.ts +9 -0
  208. package/dist/instrumentations/replay/ReplayInstrumentation/constants.d.ts.map +1 -0
  209. package/dist/instrumentations/replay/ReplayInstrumentation/constants.js +10 -0
  210. package/dist/instrumentations/replay/ReplayInstrumentation/constants.js.map +1 -0
  211. package/dist/instrumentations/replay/ReplayInstrumentation/index.cjs +3 -0
  212. package/dist/instrumentations/replay/ReplayInstrumentation/index.d.cts +3 -0
  213. package/dist/instrumentations/replay/ReplayInstrumentation/index.d.ts +3 -0
  214. package/dist/instrumentations/replay/ReplayInstrumentation/index.js +2 -0
  215. package/dist/instrumentations/replay/ReplayInstrumentation/types.d.cts +17 -0
  216. package/dist/instrumentations/replay/ReplayInstrumentation/types.d.cts.map +1 -0
  217. package/dist/instrumentations/replay/ReplayInstrumentation/types.d.ts +17 -0
  218. package/dist/instrumentations/replay/ReplayInstrumentation/types.d.ts.map +1 -0
  219. package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.cjs +18 -0
  220. package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.cjs.map +1 -0
  221. package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.d.cts +8 -0
  222. package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.d.cts.map +1 -0
  223. package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.d.ts +8 -0
  224. package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.d.ts.map +1 -0
  225. package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.js +17 -0
  226. package/dist/instrumentations/replay/createSessionRecordingControlFromReplay.js.map +1 -0
  227. package/dist/instrumentations/replay/index.cjs +8 -0
  228. package/dist/instrumentations/replay/index.d.cts +4 -0
  229. package/dist/instrumentations/replay/index.d.ts +4 -0
  230. package/dist/instrumentations/replay/index.js +3 -0
  231. package/dist/instrumentations/replay/utils/index.cjs +5 -0
  232. package/dist/instrumentations/replay/utils/index.d.cts +2 -0
  233. package/dist/instrumentations/replay/utils/index.d.ts +2 -0
  234. package/dist/instrumentations/replay/utils/index.js +2 -0
  235. package/dist/instrumentations/replay/utils/session-recording-utils.cjs +79 -0
  236. package/dist/instrumentations/replay/utils/session-recording-utils.cjs.map +1 -0
  237. package/dist/instrumentations/replay/utils/session-recording-utils.d.cts +32 -0
  238. package/dist/instrumentations/replay/utils/session-recording-utils.d.cts.map +1 -0
  239. package/dist/instrumentations/replay/utils/session-recording-utils.d.ts +32 -0
  240. package/dist/instrumentations/replay/utils/session-recording-utils.d.ts.map +1 -0
  241. package/dist/instrumentations/replay/utils/session-recording-utils.js +73 -0
  242. package/dist/instrumentations/replay/utils/session-recording-utils.js.map +1 -0
  243. package/dist/instrumentations/server-timing/ServerTimingInstrumentation/ServerTimingInstrumentation.cjs +6 -6
  244. package/dist/instrumentations/server-timing/ServerTimingInstrumentation/ServerTimingInstrumentation.cjs.map +1 -1
  245. package/dist/instrumentations/server-timing/ServerTimingInstrumentation/ServerTimingInstrumentation.js +6 -6
  246. package/dist/instrumentations/server-timing/ServerTimingInstrumentation/ServerTimingInstrumentation.js.map +1 -1
  247. package/dist/instrumentations/session/index.cjs +0 -6
  248. package/dist/instrumentations/session/index.d.cts +2 -7
  249. package/dist/instrumentations/session/index.d.ts +2 -7
  250. package/dist/instrumentations/session/index.js +1 -4
  251. package/dist/instrumentations/session/types.d.cts +5 -5
  252. package/dist/instrumentations/session/types.d.cts.map +1 -1
  253. package/dist/instrumentations/session/types.d.ts +5 -5
  254. package/dist/instrumentations/session/types.d.ts.map +1 -1
  255. package/dist/instrumentations/user-timing/UserTimingInstrumentation/UserTimingInstrumentation.cjs +10 -10
  256. package/dist/instrumentations/user-timing/UserTimingInstrumentation/UserTimingInstrumentation.cjs.map +1 -1
  257. package/dist/instrumentations/user-timing/UserTimingInstrumentation/UserTimingInstrumentation.js +10 -10
  258. package/dist/instrumentations/user-timing/UserTimingInstrumentation/UserTimingInstrumentation.js.map +1 -1
  259. package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.cjs +15 -15
  260. package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.cjs.map +1 -1
  261. package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.js +15 -15
  262. package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/WebVitalsInstrumentation.js.map +1 -1
  263. package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/types.d.cts +1 -3
  264. package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/types.d.cts.map +1 -1
  265. package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/types.d.ts +1 -3
  266. package/dist/instrumentations/web-vitals/WebVitalsInstrumentation/types.d.ts.map +1 -1
  267. package/dist/managers/MXLConfigManager/MXLDynamicConfigManager.cjs +0 -1
  268. package/dist/managers/MXLConfigManager/MXLDynamicConfigManager.cjs.map +1 -1
  269. package/dist/managers/MXLConfigManager/MXLDynamicConfigManager.d.cts.map +1 -1
  270. package/dist/managers/MXLConfigManager/MXLDynamicConfigManager.d.ts.map +1 -1
  271. package/dist/managers/MXLConfigManager/MXLDynamicConfigManager.js +0 -1
  272. package/dist/managers/MXLConfigManager/MXLDynamicConfigManager.js.map +1 -1
  273. package/dist/managers/MXLConfigManager/constants.cjs +2 -2
  274. package/dist/managers/MXLConfigManager/constants.cjs.map +1 -1
  275. package/dist/managers/MXLConfigManager/constants.js +2 -2
  276. package/dist/managers/MXLConfigManager/constants.js.map +1 -1
  277. package/dist/managers/MXLConfigManager/types.d.cts +8 -7
  278. package/dist/managers/MXLConfigManager/types.d.cts.map +1 -1
  279. package/dist/managers/MXLConfigManager/types.d.ts +8 -7
  280. package/dist/managers/MXLConfigManager/types.d.ts.map +1 -1
  281. package/dist/managers/MXLLimitManager/MXLLimitManager.cjs +20 -20
  282. package/dist/managers/MXLLimitManager/MXLLimitManager.cjs.map +1 -1
  283. package/dist/managers/MXLLimitManager/MXLLimitManager.js +20 -20
  284. package/dist/managers/MXLLimitManager/MXLLimitManager.js.map +1 -1
  285. package/dist/managers/MXLLimitManager/constants.cjs +20 -20
  286. package/dist/managers/MXLLimitManager/constants.cjs.map +1 -1
  287. package/dist/managers/MXLLimitManager/constants.js +20 -20
  288. package/dist/managers/MXLLimitManager/constants.js.map +1 -1
  289. package/dist/managers/MXLLimitManager/types.d.cts +8 -8
  290. package/dist/managers/MXLLimitManager/types.d.cts.map +1 -1
  291. package/dist/managers/MXLLimitManager/types.d.ts +8 -8
  292. package/dist/managers/MXLLimitManager/types.d.ts.map +1 -1
  293. package/dist/managers/MXLLogManager/MXLLogManager.cjs +22 -20
  294. package/dist/managers/MXLLogManager/MXLLogManager.cjs.map +1 -1
  295. package/dist/managers/MXLLogManager/MXLLogManager.d.cts +2 -2
  296. package/dist/managers/MXLLogManager/MXLLogManager.d.cts.map +1 -1
  297. package/dist/managers/MXLLogManager/MXLLogManager.d.ts +2 -2
  298. package/dist/managers/MXLLogManager/MXLLogManager.d.ts.map +1 -1
  299. package/dist/managers/MXLLogManager/MXLLogManager.js +23 -21
  300. package/dist/managers/MXLLogManager/MXLLogManager.js.map +1 -1
  301. package/dist/managers/MXLLogManager/types.d.cts +2 -2
  302. package/dist/managers/MXLLogManager/types.d.ts +2 -2
  303. package/dist/managers/MXLPageManager/MXLPageManager.cjs +1 -3
  304. package/dist/managers/MXLPageManager/MXLPageManager.cjs.map +1 -1
  305. package/dist/managers/MXLPageManager/MXLPageManager.d.cts.map +1 -1
  306. package/dist/managers/MXLPageManager/MXLPageManager.d.ts.map +1 -1
  307. package/dist/managers/MXLPageManager/MXLPageManager.js +1 -3
  308. package/dist/managers/MXLPageManager/MXLPageManager.js.map +1 -1
  309. package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.cjs +0 -4
  310. package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.cjs.map +1 -1
  311. package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.d.cts +0 -1
  312. package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.d.cts.map +1 -1
  313. package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.d.ts +0 -1
  314. package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.d.ts.map +1 -1
  315. package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.js +0 -4
  316. package/dist/managers/MXLSDKFeaturesManager/MXLSDKFeaturesManager.js.map +1 -1
  317. package/dist/managers/MXLSDKFeaturesManager/types.d.cts +0 -1
  318. package/dist/managers/MXLSDKFeaturesManager/types.d.cts.map +1 -1
  319. package/dist/managers/MXLSDKFeaturesManager/types.d.ts +0 -1
  320. package/dist/managers/MXLSDKFeaturesManager/types.d.ts.map +1 -1
  321. package/dist/managers/MXLTraceManager/MXLExtendedSpan.cjs.map +1 -1
  322. package/dist/managers/MXLTraceManager/MXLExtendedSpan.js.map +1 -1
  323. package/dist/managers/MXLUserManager/MXLUserManager.cjs +14 -14
  324. package/dist/managers/MXLUserManager/MXLUserManager.cjs.map +1 -1
  325. package/dist/managers/MXLUserManager/MXLUserManager.js +14 -14
  326. package/dist/managers/MXLUserManager/MXLUserManager.js.map +1 -1
  327. package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.cjs +574 -0
  328. package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.cjs.map +1 -0
  329. package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.d.cts +142 -0
  330. package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.d.cts.map +1 -0
  331. package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.d.ts +142 -0
  332. package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.d.ts.map +1 -0
  333. package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.js +572 -0
  334. package/dist/managers/MXLUserSessionManager/MXLUserSessionManager.js.map +1 -0
  335. package/dist/managers/MXLUserSessionManager/constants.cjs +55 -0
  336. package/dist/managers/MXLUserSessionManager/constants.cjs.map +1 -0
  337. package/dist/managers/MXLUserSessionManager/constants.d.cts +31 -0
  338. package/dist/managers/MXLUserSessionManager/constants.d.cts.map +1 -0
  339. package/dist/managers/MXLUserSessionManager/constants.d.ts +31 -0
  340. package/dist/managers/MXLUserSessionManager/constants.d.ts.map +1 -0
  341. package/dist/managers/MXLUserSessionManager/constants.js +37 -0
  342. package/dist/managers/MXLUserSessionManager/constants.js.map +1 -0
  343. package/dist/managers/MXLUserSessionManager/index.cjs +6 -0
  344. package/dist/managers/MXLUserSessionManager/index.d.cts +4 -0
  345. package/dist/managers/MXLUserSessionManager/index.d.ts +4 -0
  346. package/dist/managers/MXLUserSessionManager/index.js +3 -0
  347. package/dist/managers/MXLUserSessionManager/types.d.cts +84 -0
  348. package/dist/managers/MXLUserSessionManager/types.d.cts.map +1 -0
  349. package/dist/managers/MXLUserSessionManager/types.d.ts +84 -0
  350. package/dist/managers/MXLUserSessionManager/types.d.ts.map +1 -0
  351. package/dist/managers/MXLUserSessionManager/utils/activity.cjs +25 -0
  352. package/dist/managers/MXLUserSessionManager/utils/activity.cjs.map +1 -0
  353. package/dist/managers/MXLUserSessionManager/utils/activity.d.cts +40 -0
  354. package/dist/managers/MXLUserSessionManager/utils/activity.d.cts.map +1 -0
  355. package/dist/managers/MXLUserSessionManager/utils/activity.d.ts +40 -0
  356. package/dist/managers/MXLUserSessionManager/utils/activity.d.ts.map +1 -0
  357. package/dist/managers/MXLUserSessionManager/utils/activity.js +22 -0
  358. package/dist/managers/MXLUserSessionManager/utils/activity.js.map +1 -0
  359. package/dist/managers/MXLUserSessionManager/utils/index.cjs +11 -0
  360. package/dist/managers/MXLUserSessionManager/utils/index.d.cts +3 -0
  361. package/dist/managers/MXLUserSessionManager/utils/index.d.ts +3 -0
  362. package/dist/managers/MXLUserSessionManager/utils/index.js +3 -0
  363. package/dist/managers/MXLUserSessionManager/utils/state.cjs +78 -0
  364. package/dist/managers/MXLUserSessionManager/utils/state.cjs.map +1 -0
  365. package/dist/managers/MXLUserSessionManager/utils/state.d.cts +39 -0
  366. package/dist/managers/MXLUserSessionManager/utils/state.d.cts.map +1 -0
  367. package/dist/managers/MXLUserSessionManager/utils/state.d.ts +39 -0
  368. package/dist/managers/MXLUserSessionManager/utils/state.d.ts.map +1 -0
  369. package/dist/managers/MXLUserSessionManager/utils/state.js +73 -0
  370. package/dist/managers/MXLUserSessionManager/utils/state.js.map +1 -0
  371. package/dist/managers/MXLUserSessionManager/utils/tabTracking.cjs +132 -0
  372. package/dist/managers/MXLUserSessionManager/utils/tabTracking.cjs.map +1 -0
  373. package/dist/managers/MXLUserSessionManager/utils/tabTracking.d.cts +33 -0
  374. package/dist/managers/MXLUserSessionManager/utils/tabTracking.d.cts.map +1 -0
  375. package/dist/managers/MXLUserSessionManager/utils/tabTracking.d.ts +33 -0
  376. package/dist/managers/MXLUserSessionManager/utils/tabTracking.d.ts.map +1 -0
  377. package/dist/managers/MXLUserSessionManager/utils/tabTracking.js +127 -0
  378. package/dist/managers/MXLUserSessionManager/utils/tabTracking.js.map +1 -0
  379. package/dist/managers/index.cjs +5 -2
  380. package/dist/managers/index.d.cts +4 -3
  381. package/dist/managers/index.d.ts +4 -3
  382. package/dist/managers/index.js +3 -2
  383. package/dist/mxl-web-sdk.js +1 -58
  384. package/dist/mxl-web-sdk.js.map +1 -1
  385. package/dist/processors/BrowserLogRecordProcessor/BrowserLogRecordProcessor.cjs.map +1 -1
  386. package/dist/processors/BrowserLogRecordProcessor/BrowserLogRecordProcessor.js.map +1 -1
  387. package/dist/processors/BrowserSpanProcessor/BrowserSpanProcessor.cjs.map +1 -1
  388. package/dist/processors/BrowserSpanProcessor/BrowserSpanProcessor.js.map +1 -1
  389. package/dist/processors/LogRecordScrubProcessor/LogRecordScrubProcessor.cjs.map +1 -1
  390. package/dist/processors/LogRecordScrubProcessor/LogRecordScrubProcessor.js.map +1 -1
  391. package/dist/processors/LogRecordScrubProcessor/types.d.cts +2 -2
  392. package/dist/processors/LogRecordScrubProcessor/types.d.cts.map +1 -1
  393. package/dist/processors/LogRecordScrubProcessor/types.d.ts +2 -2
  394. package/dist/processors/LogRecordScrubProcessor/types.d.ts.map +1 -1
  395. package/dist/processors/MXLLogRecordProcessor/MXLLogRecordProcessor.cjs.map +1 -1
  396. package/dist/processors/MXLLogRecordProcessor/MXLLogRecordProcessor.js.map +1 -1
  397. package/dist/processors/MXLLogRecordProcessor/types.d.cts +2 -2
  398. package/dist/processors/MXLLogRecordProcessor/types.d.cts.map +1 -1
  399. package/dist/processors/MXLLogRecordProcessor/types.d.ts +2 -2
  400. package/dist/processors/MXLLogRecordProcessor/types.d.ts.map +1 -1
  401. package/dist/processors/MXLNetworkSpanProcessor/MXLNetworkSpanProcessor.cjs.map +1 -1
  402. package/dist/processors/MXLNetworkSpanProcessor/MXLNetworkSpanProcessor.js.map +1 -1
  403. package/dist/processors/MXLNetworkSpanProcessor/types.cjs.map +1 -1
  404. package/dist/processors/MXLNetworkSpanProcessor/types.js.map +1 -1
  405. package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.cjs +74 -0
  406. package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.cjs.map +1 -0
  407. package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.d.cts +28 -0
  408. package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.d.cts.map +1 -0
  409. package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.d.ts +28 -0
  410. package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.d.ts.map +1 -0
  411. package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.js +72 -0
  412. package/dist/processors/MXLSessionPartBatchedSpanProcessor/MXLSessionPartBatchedSpanProcessor.js.map +1 -0
  413. package/dist/processors/MXLSessionPartBatchedSpanProcessor/index.cjs +3 -0
  414. package/dist/processors/MXLSessionPartBatchedSpanProcessor/index.d.cts +3 -0
  415. package/dist/processors/MXLSessionPartBatchedSpanProcessor/index.d.ts +3 -0
  416. package/dist/processors/MXLSessionPartBatchedSpanProcessor/index.js +2 -0
  417. package/dist/processors/MXLSessionPartBatchedSpanProcessor/types.d.cts +15 -0
  418. package/dist/processors/MXLSessionPartBatchedSpanProcessor/types.d.cts.map +1 -0
  419. package/dist/processors/MXLSessionPartBatchedSpanProcessor/types.d.ts +15 -0
  420. package/dist/processors/MXLSessionPartBatchedSpanProcessor/types.d.ts.map +1 -0
  421. package/dist/processors/PageLogRecordProcessor/PageLogRecordProcessor.cjs.map +1 -1
  422. package/dist/processors/PageLogRecordProcessor/PageLogRecordProcessor.js.map +1 -1
  423. package/dist/processors/PageSpanProcessor/PageSpanProcessor.cjs.map +1 -1
  424. package/dist/processors/PageSpanProcessor/PageSpanProcessor.js.map +1 -1
  425. package/dist/processors/SpanScrubProcessor/SpanScrubProcessor.cjs.map +1 -1
  426. package/dist/processors/SpanScrubProcessor/SpanScrubProcessor.js.map +1 -1
  427. package/dist/processors/UserLogRecordProcessor/UserLogRecordProcessor.cjs.map +1 -1
  428. package/dist/processors/UserLogRecordProcessor/UserLogRecordProcessor.js.map +1 -1
  429. package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.cjs +34 -0
  430. package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.cjs.map +1 -0
  431. package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.d.cts +16 -0
  432. package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.d.cts.map +1 -0
  433. package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.d.ts +16 -0
  434. package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.d.ts.map +1 -0
  435. package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.js +32 -0
  436. package/dist/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.js.map +1 -0
  437. package/dist/processors/UserSessionLogRecordProcessor/index.cjs +3 -0
  438. package/dist/processors/UserSessionLogRecordProcessor/index.d.cts +3 -0
  439. package/dist/processors/UserSessionLogRecordProcessor/index.d.ts +3 -0
  440. package/dist/processors/UserSessionLogRecordProcessor/index.js +2 -0
  441. package/dist/processors/UserSessionLogRecordProcessor/types.d.cts +8 -0
  442. package/dist/processors/UserSessionLogRecordProcessor/types.d.cts.map +1 -0
  443. package/dist/processors/UserSessionLogRecordProcessor/types.d.ts +8 -0
  444. package/dist/processors/UserSessionLogRecordProcessor/types.d.ts.map +1 -0
  445. package/dist/processors/UserSpanProcessor/UserSpanProcessor.cjs.map +1 -1
  446. package/dist/processors/UserSpanProcessor/UserSpanProcessor.js.map +1 -1
  447. package/dist/processors/index.cjs +4 -4
  448. package/dist/processors/index.d.cts +3 -3
  449. package/dist/processors/index.d.ts +3 -3
  450. package/dist/processors/index.js +3 -3
  451. package/dist/propagators/MXLW3CTraceContextPropagator/MXLW3CTraceContextPropagator.cjs.map +1 -1
  452. package/dist/propagators/MXLW3CTraceContextPropagator/MXLW3CTraceContextPropagator.js.map +1 -1
  453. package/dist/resources/appInstanceId.cjs +4 -4
  454. package/dist/resources/appInstanceId.cjs.map +1 -1
  455. package/dist/resources/appInstanceId.js +4 -4
  456. package/dist/resources/appInstanceId.js.map +1 -1
  457. package/dist/resources/constants/index.cjs +1 -1
  458. package/dist/resources/constants/index.cjs.map +1 -1
  459. package/dist/resources/constants/index.d.cts +1 -1
  460. package/dist/resources/constants/index.d.ts +1 -1
  461. package/dist/resources/constants/index.js +1 -1
  462. package/dist/resources/constants/index.js.map +1 -1
  463. package/dist/resources/webSdkResource.cjs +15 -19
  464. package/dist/resources/webSdkResource.cjs.map +1 -1
  465. package/dist/resources/webSdkResource.d.cts.map +1 -1
  466. package/dist/resources/webSdkResource.d.ts.map +1 -1
  467. package/dist/resources/webSdkResource.js +15 -19
  468. package/dist/resources/webSdkResource.js.map +1 -1
  469. package/dist/sdk/defaultAttributeScrubbers.cjs +8 -8
  470. package/dist/sdk/defaultAttributeScrubbers.cjs.map +1 -1
  471. package/dist/sdk/defaultAttributeScrubbers.js +8 -8
  472. package/dist/sdk/defaultAttributeScrubbers.js.map +1 -1
  473. package/dist/sdk/index.d.cts +3 -2
  474. package/dist/sdk/index.d.ts +3 -2
  475. package/dist/sdk/initSDK.cjs +139 -98
  476. package/dist/sdk/initSDK.cjs.map +1 -1
  477. package/dist/sdk/initSDK.d.cts +4 -2
  478. package/dist/sdk/initSDK.d.cts.map +1 -1
  479. package/dist/sdk/initSDK.d.ts +4 -2
  480. package/dist/sdk/initSDK.d.ts.map +1 -1
  481. package/dist/sdk/initSDK.js +139 -98
  482. package/dist/sdk/initSDK.js.map +1 -1
  483. package/dist/sdk/noopSessionRecording.cjs +10 -0
  484. package/dist/sdk/noopSessionRecording.cjs.map +1 -0
  485. package/dist/sdk/noopSessionRecording.d.cts +7 -0
  486. package/dist/sdk/noopSessionRecording.d.cts.map +1 -0
  487. package/dist/sdk/noopSessionRecording.d.ts +7 -0
  488. package/dist/sdk/noopSessionRecording.d.ts.map +1 -0
  489. package/dist/sdk/noopSessionRecording.js +9 -0
  490. package/dist/sdk/noopSessionRecording.js.map +1 -0
  491. package/dist/sdk/registry.cjs +1 -3
  492. package/dist/sdk/registry.cjs.map +1 -1
  493. package/dist/sdk/registry.d.cts.map +1 -1
  494. package/dist/sdk/registry.d.ts.map +1 -1
  495. package/dist/sdk/registry.js +1 -3
  496. package/dist/sdk/registry.js.map +1 -1
  497. package/dist/sdk/setupDefaultInstrumentations.cjs +9 -5
  498. package/dist/sdk/setupDefaultInstrumentations.cjs.map +1 -1
  499. package/dist/sdk/setupDefaultInstrumentations.d.cts +5 -2
  500. package/dist/sdk/setupDefaultInstrumentations.d.cts.map +1 -1
  501. package/dist/sdk/setupDefaultInstrumentations.d.ts +5 -2
  502. package/dist/sdk/setupDefaultInstrumentations.d.ts.map +1 -1
  503. package/dist/sdk/setupDefaultInstrumentations.js +9 -5
  504. package/dist/sdk/setupDefaultInstrumentations.js.map +1 -1
  505. package/dist/sdk/types.d.cts +68 -56
  506. package/dist/sdk/types.d.cts.map +1 -1
  507. package/dist/sdk/types.d.ts +69 -57
  508. package/dist/sdk/types.d.ts.map +1 -1
  509. package/dist/sdk/utils.cjs +1 -1
  510. package/dist/sdk/utils.cjs.map +1 -1
  511. package/dist/sdk/utils.d.cts.map +1 -1
  512. package/dist/sdk/utils.d.ts.map +1 -1
  513. package/dist/sdk/utils.js +1 -1
  514. package/dist/sdk/utils.js.map +1 -1
  515. package/dist/transport/FetchTransport/FetchTransport.cjs +13 -13
  516. package/dist/transport/FetchTransport/FetchTransport.cjs.map +1 -1
  517. package/dist/transport/FetchTransport/FetchTransport.js +13 -13
  518. package/dist/transport/FetchTransport/FetchTransport.js.map +1 -1
  519. package/dist/transport/RetryingTransport/RetryingTransport.cjs +1 -1
  520. package/dist/transport/RetryingTransport/RetryingTransport.cjs.map +1 -1
  521. package/dist/transport/RetryingTransport/RetryingTransport.js +1 -1
  522. package/dist/transport/RetryingTransport/RetryingTransport.js.map +1 -1
  523. package/dist/utils/NamespacedStorage/NamespacedStorage.cjs +69 -24
  524. package/dist/utils/NamespacedStorage/NamespacedStorage.cjs.map +1 -1
  525. package/dist/utils/NamespacedStorage/NamespacedStorage.d.cts +27 -13
  526. package/dist/utils/NamespacedStorage/NamespacedStorage.d.cts.map +1 -1
  527. package/dist/utils/NamespacedStorage/NamespacedStorage.d.ts +27 -13
  528. package/dist/utils/NamespacedStorage/NamespacedStorage.d.ts.map +1 -1
  529. package/dist/utils/NamespacedStorage/NamespacedStorage.js +68 -24
  530. package/dist/utils/NamespacedStorage/NamespacedStorage.js.map +1 -1
  531. package/dist/utils/PerformanceManager/OTelPerformanceManager.cjs.map +1 -1
  532. package/dist/utils/PerformanceManager/OTelPerformanceManager.js.map +1 -1
  533. package/dist/utils/clampNumber.cjs +23 -0
  534. package/dist/utils/clampNumber.cjs.map +1 -0
  535. package/dist/utils/clampNumber.d.cts +24 -0
  536. package/dist/utils/clampNumber.d.cts.map +1 -0
  537. package/dist/utils/clampNumber.d.ts +24 -0
  538. package/dist/utils/clampNumber.d.ts.map +1 -0
  539. package/dist/utils/clampNumber.js +22 -0
  540. package/dist/utils/clampNumber.js.map +1 -0
  541. package/dist/utils/createSafeProxy/createSafeProxy.cjs +2 -2
  542. package/dist/utils/createSafeProxy/createSafeProxy.cjs.map +1 -1
  543. package/dist/utils/createSafeProxy/createSafeProxy.d.cts.map +1 -1
  544. package/dist/utils/createSafeProxy/createSafeProxy.d.ts.map +1 -1
  545. package/dist/utils/createSafeProxy/createSafeProxy.js +2 -2
  546. package/dist/utils/createSafeProxy/createSafeProxy.js.map +1 -1
  547. package/dist/utils/generateWebVitalID.cjs +1 -3
  548. package/dist/utils/generateWebVitalID.cjs.map +1 -1
  549. package/dist/utils/generateWebVitalID.js +1 -3
  550. package/dist/utils/generateWebVitalID.js.map +1 -1
  551. package/dist/utils/getIncrementedCount.cjs +2 -2
  552. package/dist/utils/getIncrementedCount.cjs.map +1 -1
  553. package/dist/utils/getIncrementedCount.js +2 -2
  554. package/dist/utils/getIncrementedCount.js.map +1 -1
  555. package/dist/utils/globalConfig.cjs.map +1 -1
  556. package/dist/utils/globalConfig.d.cts +2 -2
  557. package/dist/utils/globalConfig.d.cts.map +1 -1
  558. package/dist/utils/globalConfig.d.ts +2 -2
  559. package/dist/utils/globalConfig.d.ts.map +1 -1
  560. package/dist/utils/globalConfig.js.map +1 -1
  561. package/dist/utils/index.cjs +2 -2
  562. package/dist/utils/index.d.cts +3 -3
  563. package/dist/utils/index.d.ts +3 -3
  564. package/dist/utils/index.js +2 -2
  565. package/dist/utils/isDeviceIdEnabled.cjs.map +1 -1
  566. package/dist/utils/isDeviceIdEnabled.js.map +1 -1
  567. package/dist/utils/performanceObserver/performanceObserver.cjs +3 -3
  568. package/dist/utils/performanceObserver/performanceObserver.cjs.map +1 -1
  569. package/dist/utils/performanceObserver/performanceObserver.js +3 -3
  570. package/dist/utils/performanceObserver/performanceObserver.js.map +1 -1
  571. package/dist/utils/throttle.cjs +13 -9
  572. package/dist/utils/throttle.cjs.map +1 -1
  573. package/dist/utils/throttle.d.cts +6 -3
  574. package/dist/utils/throttle.d.cts.map +1 -1
  575. package/dist/utils/throttle.d.ts +6 -3
  576. package/dist/utils/throttle.d.ts.map +1 -1
  577. package/dist/utils/throttle.js +13 -9
  578. package/dist/utils/throttle.js.map +1 -1
  579. package/package.json +56 -56
  580. package/dist/api-sessions/api/SessionAPI/types.d.cts +0 -8
  581. package/dist/api-sessions/api/SessionAPI/types.d.cts.map +0 -1
  582. package/dist/api-sessions/api/SessionAPI/types.d.ts +0 -8
  583. package/dist/api-sessions/api/SessionAPI/types.d.ts.map +0 -1
  584. package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.cjs +0 -31
  585. package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.cjs.map +0 -1
  586. package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.d.cts +0 -24
  587. package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.d.cts.map +0 -1
  588. package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.d.ts +0 -24
  589. package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.d.ts.map +0 -1
  590. package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.js +0 -30
  591. package/dist/api-sessions/manager/NoOpSpanSessionManager/NoOpSpanSessionManager.js.map +0 -1
  592. package/dist/api-sessions/manager/NoOpSpanSessionManager/index.cjs +0 -3
  593. package/dist/api-sessions/manager/NoOpSpanSessionManager/index.d.cts +0 -2
  594. package/dist/api-sessions/manager/NoOpSpanSessionManager/index.d.ts +0 -2
  595. package/dist/api-sessions/manager/NoOpSpanSessionManager/index.js +0 -2
  596. package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.cjs +0 -55
  597. package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.cjs.map +0 -1
  598. package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.d.cts +0 -27
  599. package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.d.cts.map +0 -1
  600. package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.d.ts +0 -27
  601. package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.d.ts.map +0 -1
  602. package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.js +0 -55
  603. package/dist/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.js.map +0 -1
  604. package/dist/api-sessions/manager/ProxySpanSessionManager/index.cjs +0 -3
  605. package/dist/api-sessions/manager/ProxySpanSessionManager/index.d.cts +0 -2
  606. package/dist/api-sessions/manager/ProxySpanSessionManager/index.d.ts +0 -2
  607. package/dist/api-sessions/manager/ProxySpanSessionManager/index.js +0 -2
  608. package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.cjs +0 -27
  609. package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.cjs.map +0 -1
  610. package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.d.cts +0 -15
  611. package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.d.cts.map +0 -1
  612. package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.d.ts +0 -15
  613. package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.d.ts.map +0 -1
  614. package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.js +0 -25
  615. package/dist/instrumentations/fetch/MXLFetchInstrumentation/MXLFetchInstrumentation.js.map +0 -1
  616. package/dist/instrumentations/fetch/MXLFetchInstrumentation/index.cjs +0 -3
  617. package/dist/instrumentations/fetch/MXLFetchInstrumentation/index.d.cts +0 -2
  618. package/dist/instrumentations/fetch/MXLFetchInstrumentation/index.d.ts +0 -2
  619. package/dist/instrumentations/fetch/MXLFetchInstrumentation/index.js +0 -2
  620. package/dist/instrumentations/fetch/MXLFetchInstrumentation/types.d.cts +0 -9
  621. package/dist/instrumentations/fetch/MXLFetchInstrumentation/types.d.cts.map +0 -1
  622. package/dist/instrumentations/fetch/MXLFetchInstrumentation/types.d.ts +0 -9
  623. package/dist/instrumentations/fetch/MXLFetchInstrumentation/types.d.ts.map +0 -1
  624. package/dist/instrumentations/fetch/index.cjs +0 -3
  625. package/dist/instrumentations/fetch/index.d.cts +0 -3
  626. package/dist/instrumentations/fetch/index.d.ts +0 -3
  627. package/dist/instrumentations/fetch/index.js +0 -2
  628. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.cjs +0 -60
  629. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.cjs.map +0 -1
  630. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.d.cts +0 -24
  631. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.d.cts.map +0 -1
  632. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.d.ts +0 -24
  633. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.d.ts.map +0 -1
  634. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.js +0 -59
  635. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/SpanSessionBrowserActivityInstrumentation.js.map +0 -1
  636. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.cjs +0 -19
  637. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.cjs.map +0 -1
  638. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.d.cts +0 -10
  639. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.d.cts.map +0 -1
  640. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.d.ts +0 -10
  641. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.d.ts.map +0 -1
  642. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.js +0 -16
  643. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/constants.js.map +0 -1
  644. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/index.cjs +0 -3
  645. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/index.d.cts +0 -3
  646. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/index.d.ts +0 -3
  647. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/index.js +0 -2
  648. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/types.d.cts +0 -6
  649. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/types.d.cts.map +0 -1
  650. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/types.d.ts +0 -6
  651. package/dist/instrumentations/session/SpanSessionBrowserActivityInstrumentation/types.d.ts.map +0 -1
  652. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.cjs +0 -24
  653. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.cjs.map +0 -1
  654. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.d.cts +0 -14
  655. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.d.cts.map +0 -1
  656. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.d.ts +0 -14
  657. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.d.ts.map +0 -1
  658. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.js +0 -23
  659. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/SpanSessionOnLoadInstrumentation.js.map +0 -1
  660. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/index.cjs +0 -3
  661. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/index.d.cts +0 -3
  662. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/index.d.ts +0 -3
  663. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/index.js +0 -2
  664. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/types.d.cts +0 -6
  665. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/types.d.cts.map +0 -1
  666. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/types.d.ts +0 -6
  667. package/dist/instrumentations/session/SpanSessionOnLoadInstrumentation/types.d.ts.map +0 -1
  668. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.cjs +0 -55
  669. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.cjs.map +0 -1
  670. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.d.cts +0 -22
  671. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.d.cts.map +0 -1
  672. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.d.ts +0 -22
  673. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.d.ts.map +0 -1
  674. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.js +0 -54
  675. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/SpanSessionTimeoutInstrumentation.js.map +0 -1
  676. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.cjs +0 -7
  677. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.cjs.map +0 -1
  678. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.d.cts +0 -5
  679. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.d.cts.map +0 -1
  680. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.d.ts +0 -5
  681. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.d.ts.map +0 -1
  682. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.js +0 -6
  683. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/constants.js.map +0 -1
  684. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/index.cjs +0 -3
  685. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/index.d.cts +0 -3
  686. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/index.d.ts +0 -3
  687. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/index.js +0 -2
  688. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/types.cjs +0 -0
  689. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/types.d.cts +0 -6
  690. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/types.d.cts.map +0 -1
  691. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/types.d.ts +0 -6
  692. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/types.d.ts.map +0 -1
  693. package/dist/instrumentations/session/SpanSessionTimeoutInstrumentation/types.js +0 -0
  694. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.cjs +0 -38
  695. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.cjs.map +0 -1
  696. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.d.cts +0 -17
  697. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.d.cts.map +0 -1
  698. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.d.ts +0 -17
  699. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.d.ts.map +0 -1
  700. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.js +0 -37
  701. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/SpanSessionVisibilityInstrumentation.js.map +0 -1
  702. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/index.cjs +0 -3
  703. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/index.d.cts +0 -3
  704. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/index.d.ts +0 -3
  705. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/index.js +0 -2
  706. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/types.cjs +0 -0
  707. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/types.d.cts +0 -10
  708. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/types.d.cts.map +0 -1
  709. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/types.d.ts +0 -10
  710. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/types.d.ts.map +0 -1
  711. package/dist/instrumentations/session/SpanSessionVisibilityInstrumentation/types.js +0 -0
  712. package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.cjs +0 -27
  713. package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.cjs.map +0 -1
  714. package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.d.cts +0 -15
  715. package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.d.cts.map +0 -1
  716. package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.d.ts +0 -15
  717. package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.d.ts.map +0 -1
  718. package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.js +0 -25
  719. package/dist/instrumentations/xhr/MXLXHRInstrumentation/MXLXHRInstrumentation.js.map +0 -1
  720. package/dist/instrumentations/xhr/MXLXHRInstrumentation/index.cjs +0 -3
  721. package/dist/instrumentations/xhr/MXLXHRInstrumentation/index.d.cts +0 -2
  722. package/dist/instrumentations/xhr/MXLXHRInstrumentation/index.d.ts +0 -2
  723. package/dist/instrumentations/xhr/MXLXHRInstrumentation/index.js +0 -2
  724. package/dist/instrumentations/xhr/MXLXHRInstrumentation/types.cjs +0 -0
  725. package/dist/instrumentations/xhr/MXLXHRInstrumentation/types.d.cts +0 -9
  726. package/dist/instrumentations/xhr/MXLXHRInstrumentation/types.d.cts.map +0 -1
  727. package/dist/instrumentations/xhr/MXLXHRInstrumentation/types.d.ts +0 -9
  728. package/dist/instrumentations/xhr/MXLXHRInstrumentation/types.d.ts.map +0 -1
  729. package/dist/instrumentations/xhr/MXLXHRInstrumentation/types.js +0 -0
  730. package/dist/instrumentations/xhr/index.cjs +0 -3
  731. package/dist/instrumentations/xhr/index.d.cts +0 -3
  732. package/dist/instrumentations/xhr/index.d.ts +0 -3
  733. package/dist/instrumentations/xhr/index.js +0 -2
  734. package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.cjs +0 -350
  735. package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.cjs.map +0 -1
  736. package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.d.cts +0 -72
  737. package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.d.cts.map +0 -1
  738. package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.d.ts +0 -72
  739. package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.d.ts.map +0 -1
  740. package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.js +0 -348
  741. package/dist/managers/MXLSpanSessionManager/MXLSpanSessionManager.js.map +0 -1
  742. package/dist/managers/MXLSpanSessionManager/constants.cjs +0 -11
  743. package/dist/managers/MXLSpanSessionManager/constants.cjs.map +0 -1
  744. package/dist/managers/MXLSpanSessionManager/constants.d.cts +0 -7
  745. package/dist/managers/MXLSpanSessionManager/constants.d.cts.map +0 -1
  746. package/dist/managers/MXLSpanSessionManager/constants.d.ts +0 -7
  747. package/dist/managers/MXLSpanSessionManager/constants.d.ts.map +0 -1
  748. package/dist/managers/MXLSpanSessionManager/constants.js +0 -8
  749. package/dist/managers/MXLSpanSessionManager/constants.js.map +0 -1
  750. package/dist/managers/MXLSpanSessionManager/index.cjs +0 -3
  751. package/dist/managers/MXLSpanSessionManager/index.d.cts +0 -3
  752. package/dist/managers/MXLSpanSessionManager/index.d.ts +0 -3
  753. package/dist/managers/MXLSpanSessionManager/index.js +0 -2
  754. package/dist/managers/MXLSpanSessionManager/types.cjs +0 -0
  755. package/dist/managers/MXLSpanSessionManager/types.d.cts +0 -41
  756. package/dist/managers/MXLSpanSessionManager/types.d.cts.map +0 -1
  757. package/dist/managers/MXLSpanSessionManager/types.d.ts +0 -41
  758. package/dist/managers/MXLSpanSessionManager/types.d.ts.map +0 -1
  759. package/dist/managers/MXLSpanSessionManager/types.js +0 -0
  760. package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.cjs +0 -28
  761. package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.cjs.map +0 -1
  762. package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.d.cts +0 -16
  763. package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.d.cts.map +0 -1
  764. package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.d.ts +0 -16
  765. package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.d.ts.map +0 -1
  766. package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.js +0 -26
  767. package/dist/processors/IdentifiableSessionLogRecordProcessor/IdentifiableSessionLogRecordProcessor.js.map +0 -1
  768. package/dist/processors/IdentifiableSessionLogRecordProcessor/index.cjs +0 -3
  769. package/dist/processors/IdentifiableSessionLogRecordProcessor/index.d.cts +0 -2
  770. package/dist/processors/IdentifiableSessionLogRecordProcessor/index.d.ts +0 -2
  771. package/dist/processors/IdentifiableSessionLogRecordProcessor/index.js +0 -2
  772. package/dist/processors/IdentifiableSessionLogRecordProcessor/types.cjs +0 -0
  773. package/dist/processors/IdentifiableSessionLogRecordProcessor/types.d.cts +0 -9
  774. package/dist/processors/IdentifiableSessionLogRecordProcessor/types.d.cts.map +0 -1
  775. package/dist/processors/IdentifiableSessionLogRecordProcessor/types.d.ts +0 -9
  776. package/dist/processors/IdentifiableSessionLogRecordProcessor/types.d.ts.map +0 -1
  777. package/dist/processors/IdentifiableSessionLogRecordProcessor/types.js +0 -0
  778. package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.cjs +0 -95
  779. package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.cjs.map +0 -1
  780. package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.d.cts +0 -34
  781. package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.d.cts.map +0 -1
  782. package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.d.ts +0 -34
  783. package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.d.ts.map +0 -1
  784. package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.js +0 -93
  785. package/dist/processors/MXLSessionBatchedSpanProcessor/MXLSessionBatchedSpanProcessor.js.map +0 -1
  786. package/dist/processors/MXLSessionBatchedSpanProcessor/index.cjs +0 -3
  787. package/dist/processors/MXLSessionBatchedSpanProcessor/index.d.cts +0 -2
  788. package/dist/processors/MXLSessionBatchedSpanProcessor/index.d.ts +0 -2
  789. package/dist/processors/MXLSessionBatchedSpanProcessor/index.js +0 -2
  790. package/dist/processors/MXLSessionBatchedSpanProcessor/types.cjs +0 -0
  791. package/dist/processors/MXLSessionBatchedSpanProcessor/types.d.cts +0 -19
  792. package/dist/processors/MXLSessionBatchedSpanProcessor/types.d.cts.map +0 -1
  793. package/dist/processors/MXLSessionBatchedSpanProcessor/types.d.ts +0 -19
  794. package/dist/processors/MXLSessionBatchedSpanProcessor/types.d.ts.map +0 -1
  795. package/dist/processors/MXLSessionBatchedSpanProcessor/types.js +0 -0
  796. package/dist/sdk/setupSessionRecorder.cjs +0 -45
  797. package/dist/sdk/setupSessionRecorder.cjs.map +0 -1
  798. package/dist/sdk/setupSessionRecorder.d.cts +0 -21
  799. package/dist/sdk/setupSessionRecorder.d.cts.map +0 -1
  800. package/dist/sdk/setupSessionRecorder.d.ts +0 -21
  801. package/dist/sdk/setupSessionRecorder.d.ts.map +0 -1
  802. package/dist/sdk/setupSessionRecorder.js +0 -42
  803. package/dist/sdk/setupSessionRecorder.js.map +0 -1
  804. package/dist/utils/MXLSpanStorage/MXLSpanStorage.cjs +0 -116
  805. package/dist/utils/MXLSpanStorage/MXLSpanStorage.cjs.map +0 -1
  806. package/dist/utils/MXLSpanStorage/MXLSpanStorage.d.cts +0 -42
  807. package/dist/utils/MXLSpanStorage/MXLSpanStorage.d.cts.map +0 -1
  808. package/dist/utils/MXLSpanStorage/MXLSpanStorage.d.ts +0 -42
  809. package/dist/utils/MXLSpanStorage/MXLSpanStorage.d.ts.map +0 -1
  810. package/dist/utils/MXLSpanStorage/MXLSpanStorage.js +0 -114
  811. package/dist/utils/MXLSpanStorage/MXLSpanStorage.js.map +0 -1
  812. package/dist/utils/MXLSpanStorage/index.cjs +0 -3
  813. package/dist/utils/MXLSpanStorage/index.d.cts +0 -2
  814. package/dist/utils/MXLSpanStorage/index.d.ts +0 -2
  815. package/dist/utils/MXLSpanStorage/index.js +0 -2
  816. package/dist/utils/MXLSpanStorage/types.cjs +0 -0
  817. package/dist/utils/MXLSpanStorage/types.d.cts +0 -2
  818. package/dist/utils/MXLSpanStorage/types.d.ts +0 -2
  819. package/dist/utils/MXLSpanStorage/types.js +0 -0
  820. /package/dist/{api-sessions/api/SessionAPI → instrumentations/replay/ReplayInstrumentation}/types.cjs +0 -0
  821. /package/dist/{api-sessions/api/SessionAPI → instrumentations/replay/ReplayInstrumentation}/types.js +0 -0
  822. /package/dist/{instrumentations/fetch/MXLFetchInstrumentation → managers/MXLUserSessionManager}/types.cjs +0 -0
  823. /package/dist/{instrumentations/fetch/MXLFetchInstrumentation → managers/MXLUserSessionManager}/types.js +0 -0
  824. /package/dist/{instrumentations/session/SpanSessionBrowserActivityInstrumentation → processors/MXLSessionPartBatchedSpanProcessor}/types.cjs +0 -0
  825. /package/dist/{instrumentations/session/SpanSessionBrowserActivityInstrumentation → processors/MXLSessionPartBatchedSpanProcessor}/types.js +0 -0
  826. /package/dist/{instrumentations/session/SpanSessionOnLoadInstrumentation → processors/UserSessionLogRecordProcessor}/types.cjs +0 -0
  827. /package/dist/{instrumentations/session/SpanSessionOnLoadInstrumentation → processors/UserSessionLogRecordProcessor}/types.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"LoafInstrumentation.js","names":[],"sources":["../../../../src/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.ts"],"sourcesContent":["/* eslint-disable baseline-js/use-baseline */\nimport { SeverityNumber } from '@opentelemetry/api-logs';\nimport type { Metric } from 'web-vitals';\nimport type { SpanSessionManager } from '../../../api-sessions';\nimport { KEY_MXL_TYPE, MXL_TYPES } from '../../../constants';\nimport {\n createPerformanceObserver,\n isEntryTypeSupported,\n} from '../../../utils';\nimport { generateWebVitalID } from '../../../utils/generateWebVitalID';\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase';\nimport {\n ATTR_TBD_LOAF_COUNT,\n ATTR_TBD_LOAF_LONGEST_DURATION,\n ATTR_TBD_LOAF_LONGEST_DURATION_EXCLUDING_FIRST,\n ATTR_TBD_LOAF_STYLE_AND_LAYOUT_DURATION,\n ATTR_TBD_LOAF_TOTAL_DURATION,\n ATTR_TBD_LOAF_WORK_DURATION,\n BLOCKING_DURATION_GOOD_THRESHOLD,\n BLOCKING_DURATION_POOR_THRESHOLD,\n LOAF_EVENT_NAME,\n LOAF_SCRIPTS_EVENT_NAME,\n MAX_SCRIPT_ENTRIES,\n MAX_SCRIPT_URL_LENGTH,\n} from './constants';\nimport type { LoafInstrumentationArgs } from './types';\n\ntype ScriptSummaryValue = {\n totalDuration: number;\n styleAndLayoutDuration: number;\n count: number;\n};\n\ntype ScriptSummaries = Map<string, ScriptSummaryValue>;\n\nexport class LoafInstrumentation extends MXLInstrumentationBase {\n private _observer: PerformanceObserver | null = null;\n private _isFirstEntry = true;\n private _removeSessionEndListener: (() => void) | null = null;\n private _isEnabled = false;\n\n private _totalDuration = 0;\n private _workDuration = 0;\n private _styleLayoutDuration = 0;\n private _count = 0;\n private _longestDuration = 0;\n private _longestDurationExcludingFirst = 0;\n private _totalBlockingDuration = 0;\n private _scriptSummaries: ScriptSummaries = new Map();\n\n public constructor({ diag, perf }: LoafInstrumentationArgs = {}) {\n super({\n instrumentationName: 'LoafInstrumentation',\n instrumentationVersion: '1.0.0',\n diag,\n perf,\n config: {},\n });\n\n if (this._config.enabled) {\n this.enable();\n }\n }\n\n public enable(): void {\n if (this._isEnabled) {\n return;\n }\n\n if (!isEntryTypeSupported('long-animation-frame')) {\n this._diag.debug('long-animation-frame not supported, skipping');\n return;\n }\n\n this._isEnabled = true;\n\n if (this._observer) {\n this._observer.disconnect();\n }\n\n this._observer =\n createPerformanceObserver<PerformanceLongAnimationFrameTiming>(\n 'long-animation-frame',\n (entry) => this._processEntry(entry),\n { diag: this._diag },\n );\n\n if (!this._observer) {\n this._isEnabled = false;\n this._diag.error('failed to enable');\n return;\n }\n\n this._registerSessionEndListener();\n }\n\n private _registerSessionEndListener(): void {\n if (!this._isEnabled) {\n return;\n }\n\n if (this._removeSessionEndListener) {\n this._removeSessionEndListener();\n }\n\n this._removeSessionEndListener =\n this.sessionManager.addSessionEndedListener(() => {\n try {\n this._flushReport();\n } catch (e) {\n this._diag.error('error flushing report', e);\n }\n });\n }\n\n public override setSessionManager(sessionManager: SpanSessionManager): void {\n super.setSessionManager(sessionManager);\n this._registerSessionEndListener();\n }\n\n public disable(): void {\n this._isEnabled = false;\n this._resetAccumulators();\n\n if (this._observer) {\n this._observer.disconnect();\n this._observer = null;\n }\n\n if (this._removeSessionEndListener) {\n this._removeSessionEndListener();\n this._removeSessionEndListener = null;\n }\n }\n\n private _processEntry(entry: PerformanceLongAnimationFrameTiming): void {\n if (!this._isEnabled) {\n return;\n }\n\n this._count++;\n this._totalDuration += entry.duration;\n this._workDuration += entry.renderStart\n ? entry.renderStart - entry.startTime\n : entry.duration;\n\n if (entry.styleAndLayoutStart) {\n this._styleLayoutDuration += Math.max(\n 0,\n entry.startTime + entry.duration - entry.styleAndLayoutStart,\n );\n }\n\n this._longestDuration = Math.max(this._longestDuration, entry.duration);\n\n if (this._isFirstEntry && this._count === 1) {\n this._isFirstEntry = false;\n } else {\n this._longestDurationExcludingFirst = Math.max(\n this._longestDurationExcludingFirst,\n entry.duration,\n );\n if (entry.firstUIEventTimestamp === 0) {\n this._totalBlockingDuration += entry.blockingDuration;\n }\n }\n\n try {\n for (const script of entry.scripts) {\n // sourceURL is an empty string for inline scripts\n let url = script.sourceURL || '(inline)';\n if (url.length > MAX_SCRIPT_URL_LENGTH) {\n url = `${url.substring(0, MAX_SCRIPT_URL_LENGTH)}...`;\n }\n\n const existing = this._scriptSummaries.get(url);\n if (existing) {\n existing.totalDuration += script.duration;\n existing.styleAndLayoutDuration +=\n script.forcedStyleAndLayoutDuration;\n existing.count++;\n } else {\n this._scriptSummaries.set(url, {\n totalDuration: script.duration,\n styleAndLayoutDuration: script.forcedStyleAndLayoutDuration,\n count: 1,\n });\n }\n }\n } catch (e) {\n this._diag.error('error processing scripts for entry', e);\n }\n }\n\n private _flushReport(): void {\n if (this._count === 0) {\n return;\n }\n\n // use web-vitals Metric type for rating\n let rating: Metric['rating'];\n if (this._totalBlockingDuration <= BLOCKING_DURATION_GOOD_THRESHOLD) {\n rating = 'good';\n } else if (\n this._totalBlockingDuration <= BLOCKING_DURATION_POOR_THRESHOLD\n ) {\n rating = 'needs-improvement';\n } else {\n rating = 'poor';\n }\n\n const attrs: Record<string, string | number> = {\n [KEY_MXL_TYPE]: MXL_TYPES.WebVital,\n ['mxl.web_vital.id']: generateWebVitalID(),\n ['mxl.web_vital.name']: 'TBD',\n ['mxl.web_vital.value']: Math.round(this._totalBlockingDuration),\n ['mxl.web_vital.rating']: rating,\n [ATTR_TBD_LOAF_TOTAL_DURATION]: Math.round(this._totalDuration),\n [ATTR_TBD_LOAF_WORK_DURATION]: Math.round(this._workDuration),\n [ATTR_TBD_LOAF_STYLE_AND_LAYOUT_DURATION]: Math.round(\n this._styleLayoutDuration,\n ),\n [ATTR_TBD_LOAF_COUNT]: this._count,\n [ATTR_TBD_LOAF_LONGEST_DURATION]: Math.round(this._longestDuration),\n [ATTR_TBD_LOAF_LONGEST_DURATION_EXCLUDING_FIRST]: Math.round(\n this._longestDurationExcludingFirst,\n ),\n };\n\n try {\n this.logger.emit({\n eventName: LOAF_EVENT_NAME,\n severityNumber: SeverityNumber.INFO,\n attributes: attrs,\n });\n } catch (e) {\n this._diag.error('error emitting loaf report', e);\n }\n\n try {\n if (this._scriptSummaries.size > 0) {\n const scripts = [...this._scriptSummaries]\n .sort((a, b) => b[1].totalDuration - a[1].totalDuration)\n .slice(0, MAX_SCRIPT_ENTRIES)\n .map(([url, script]) => [\n url,\n {\n total_duration: Math.round(script.totalDuration),\n style_and_layout_duration: Math.round(\n script.styleAndLayoutDuration,\n ),\n count: script.count,\n },\n ]);\n\n this.logger.emit({\n eventName: LOAF_SCRIPTS_EVENT_NAME,\n severityNumber: SeverityNumber.INFO,\n body: JSON.stringify(Object.fromEntries(scripts)),\n attributes: {\n [KEY_MXL_TYPE]: MXL_TYPES.LoafScripts,\n },\n });\n }\n } catch (e) {\n this._diag.error('error emitting loaf script summary', e);\n }\n\n this._resetAccumulators();\n }\n\n private _resetAccumulators(): void {\n this._totalDuration = 0;\n this._workDuration = 0;\n this._styleLayoutDuration = 0;\n this._count = 0;\n this._longestDuration = 0;\n this._longestDurationExcludingFirst = 0;\n this._totalBlockingDuration = 0;\n this._scriptSummaries = new Map();\n }\n}\n"],"mappings":";;;;;;;AAmCA,IAAa,sBAAb,cAAyC,uBAAuB;CAC9D,YAAgD;CAChD,gBAAwB;CACxB,4BAAyD;CACzD,aAAqB;CAErB,iBAAyB;CACzB,gBAAwB;CACxB,uBAA+B;CAC/B,SAAiB;CACjB,mBAA2B;CAC3B,iCAAyC;CACzC,yBAAiC;CACjC,mCAA4C,IAAI,KAAK;CAErD,YAAmB,EAAE,MAAM,SAAkC,EAAE,EAAE;AAC/D,QAAM;GACJ,qBAAqB;GACrB,wBAAwB;GACxB;GACA;GACA,QAAQ,EAAE;GACX,CAAC;AAEF,MAAI,KAAK,QAAQ,QACf,MAAK,QAAQ;;CAIjB,SAAsB;AACpB,MAAI,KAAK,WACP;AAGF,MAAI,CAAC,qBAAqB,uBAAuB,EAAE;AACjD,QAAK,MAAM,MAAM,+CAA+C;AAChE;;AAGF,OAAK,aAAa;AAElB,MAAI,KAAK,UACP,MAAK,UAAU,YAAY;AAG7B,OAAK,YACH,0BACE,yBACC,UAAU,KAAK,cAAc,MAAM,EACpC,EAAE,MAAM,KAAK,OAAO,CACrB;AAEH,MAAI,CAAC,KAAK,WAAW;AACnB,QAAK,aAAa;AAClB,QAAK,MAAM,MAAM,mBAAmB;AACpC;;AAGF,OAAK,6BAA6B;;CAGpC,8BAA4C;AAC1C,MAAI,CAAC,KAAK,WACR;AAGF,MAAI,KAAK,0BACP,MAAK,2BAA2B;AAGlC,OAAK,4BACH,KAAK,eAAe,8BAA8B;AAChD,OAAI;AACF,SAAK,cAAc;YACZ,GAAG;AACV,SAAK,MAAM,MAAM,yBAAyB,EAAE;;IAE9C;;CAGN,kBAAkC,gBAA0C;AAC1E,QAAM,kBAAkB,eAAe;AACvC,OAAK,6BAA6B;;CAGpC,UAAuB;AACrB,OAAK,aAAa;AAClB,OAAK,oBAAoB;AAEzB,MAAI,KAAK,WAAW;AAClB,QAAK,UAAU,YAAY;AAC3B,QAAK,YAAY;;AAGnB,MAAI,KAAK,2BAA2B;AAClC,QAAK,2BAA2B;AAChC,QAAK,4BAA4B;;;CAIrC,cAAsB,OAAkD;AACtE,MAAI,CAAC,KAAK,WACR;AAGF,OAAK;AACL,OAAK,kBAAkB,MAAM;AAC7B,OAAK,iBAAiB,MAAM,cACxB,MAAM,cAAc,MAAM,YAC1B,MAAM;AAEV,MAAI,MAAM,oBACR,MAAK,wBAAwB,KAAK,IAChC,GACA,MAAM,YAAY,MAAM,WAAW,MAAM,oBAC1C;AAGH,OAAK,mBAAmB,KAAK,IAAI,KAAK,kBAAkB,MAAM,SAAS;AAEvE,MAAI,KAAK,iBAAiB,KAAK,WAAW,EACxC,MAAK,gBAAgB;OAChB;AACL,QAAK,iCAAiC,KAAK,IACzC,KAAK,gCACL,MAAM,SACP;AACD,OAAI,MAAM,0BAA0B,EAClC,MAAK,0BAA0B,MAAM;;AAIzC,MAAI;AACF,QAAK,MAAM,UAAU,MAAM,SAAS;IAElC,IAAI,MAAM,OAAO,aAAa;AAC9B,QAAI,IAAI,SAAA,KACN,OAAM,GAAG,IAAI,UAAU,GAAG,sBAAsB,CAAC;IAGnD,MAAM,WAAW,KAAK,iBAAiB,IAAI,IAAI;AAC/C,QAAI,UAAU;AACZ,cAAS,iBAAiB,OAAO;AACjC,cAAS,0BACP,OAAO;AACT,cAAS;UAET,MAAK,iBAAiB,IAAI,KAAK;KAC7B,eAAe,OAAO;KACtB,wBAAwB,OAAO;KAC/B,OAAO;KACR,CAAC;;WAGC,GAAG;AACV,QAAK,MAAM,MAAM,sCAAsC,EAAE;;;CAI7D,eAA6B;AAC3B,MAAI,KAAK,WAAW,EAClB;EAIF,IAAI;AACJ,MAAI,KAAK,0BAAA,IACP,UAAS;WAET,KAAK,0BAAA,IAEL,UAAS;MAET,UAAS;EAGX,MAAM,QAAyC;IAC5C,eAAA;IACA,qBAAqB,oBAAoB;IACzC,uBAAuB;IACvB,wBAAwB,KAAK,MAAM,KAAK,uBAAuB;IAC/D,yBAAyB;IACzB,+BAA+B,KAAK,MAAM,KAAK,eAAe;IAC9D,8BAA8B,KAAK,MAAM,KAAK,cAAc;IAC5D,0CAA0C,KAAK,MAC9C,KAAK,qBACN;IACA,sBAAsB,KAAK;IAC3B,iCAAiC,KAAK,MAAM,KAAK,iBAAiB;IAClE,iDAAiD,KAAK,MACrD,KAAK,+BACN;GACF;AAED,MAAI;AACF,QAAK,OAAO,KAAK;IACf,WAAW;IACX,gBAAgB,eAAe;IAC/B,YAAY;IACb,CAAC;WACK,GAAG;AACV,QAAK,MAAM,MAAM,8BAA8B,EAAE;;AAGnD,MAAI;AACF,OAAI,KAAK,iBAAiB,OAAO,GAAG;IAClC,MAAM,UAAU,CAAC,GAAG,KAAK,iBAAiB,CACvC,MAAM,GAAG,MAAM,EAAE,GAAG,gBAAgB,EAAE,GAAG,cAAc,CACvD,MAAM,GAAA,IAAsB,CAC5B,KAAK,CAAC,KAAK,YAAY,CACtB,KACA;KACE,gBAAgB,KAAK,MAAM,OAAO,cAAc;KAChD,2BAA2B,KAAK,MAC9B,OAAO,uBACR;KACD,OAAO,OAAO;KACf,CACF,CAAC;AAEJ,SAAK,OAAO,KAAK;KACf,WAAW;KACX,gBAAgB,eAAe;KAC/B,MAAM,KAAK,UAAU,OAAO,YAAY,QAAQ,CAAC;KACjD,YAAY,GACT,eAAA,mBACF;KACF,CAAC;;WAEG,GAAG;AACV,QAAK,MAAM,MAAM,sCAAsC,EAAE;;AAG3D,OAAK,oBAAoB;;CAG3B,qBAAmC;AACjC,OAAK,iBAAiB;AACtB,OAAK,gBAAgB;AACrB,OAAK,uBAAuB;AAC5B,OAAK,SAAS;AACd,OAAK,mBAAmB;AACxB,OAAK,iCAAiC;AACtC,OAAK,yBAAyB;AAC9B,OAAK,mCAAmB,IAAI,KAAK"}
1
+ {"version":3,"file":"LoafInstrumentation.js","names":[],"sources":["../../../../src/instrumentations/loaf/LoafInstrumentation/LoafInstrumentation.ts"],"sourcesContent":["/* eslint-disable baseline-js/use-baseline */\nimport { SeverityNumber } from '@opentelemetry/api-logs';\nimport type { Metric } from 'web-vitals';\nimport { KEY_MXL_TYPE, MXL_TYPES } from '../../../constants';\nimport type { UserSessionManagerInternal } from '../../../managers/MXLUserSessionManager';\nimport {\n createPerformanceObserver,\n isEntryTypeSupported,\n} from '../../../utils';\nimport { generateWebVitalID } from '../../../utils/generateWebVitalID';\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase';\nimport {\n ATTR_TBD_LOAF_COUNT,\n ATTR_TBD_LOAF_LONGEST_DURATION,\n ATTR_TBD_LOAF_LONGEST_DURATION_EXCLUDING_FIRST,\n ATTR_TBD_LOAF_STYLE_AND_LAYOUT_DURATION,\n ATTR_TBD_LOAF_TOTAL_DURATION,\n ATTR_TBD_LOAF_WORK_DURATION,\n BLOCKING_DURATION_GOOD_THRESHOLD,\n BLOCKING_DURATION_POOR_THRESHOLD,\n LOAF_EVENT_NAME,\n LOAF_SCRIPTS_EVENT_NAME,\n MAX_SCRIPT_ENTRIES,\n MAX_SCRIPT_URL_LENGTH,\n} from './constants';\nimport type { LoafInstrumentationArgs } from './types';\n\ninterface ScriptSummaryValue {\n totalDuration: number;\n styleAndLayoutDuration: number;\n count: number;\n}\n\ntype ScriptSummaries = Map<string, ScriptSummaryValue>;\n\nexport class LoafInstrumentation extends MXLInstrumentationBase {\n private _observer: PerformanceObserver | null = null;\n private _isFirstEntry = true;\n private _removeSessionEndListener: (() => void) | null = null;\n private _isEnabled = false;\n\n private _totalDuration = 0;\n private _workDuration = 0;\n private _styleLayoutDuration = 0;\n private _count = 0;\n private _longestDuration = 0;\n private _longestDurationExcludingFirst = 0;\n private _totalBlockingDuration = 0;\n private _scriptSummaries: ScriptSummaries = new Map();\n\n public constructor({ diag, perf }: LoafInstrumentationArgs = {}) {\n super({\n config: {},\n diag,\n instrumentationName: 'LoafInstrumentation',\n instrumentationVersion: '1.0.0',\n perf,\n });\n\n if (this._config.enabled) {\n this.enable();\n }\n }\n\n public enable(): void {\n if (this._isEnabled) {\n return;\n }\n\n if (!isEntryTypeSupported('long-animation-frame')) {\n this._diag.debug('long-animation-frame not supported, skipping');\n return;\n }\n\n this._isEnabled = true;\n\n if (this._observer) {\n this._observer.disconnect();\n }\n\n this._observer =\n createPerformanceObserver<PerformanceLongAnimationFrameTiming>(\n 'long-animation-frame',\n (entry) => this._processEntry(entry),\n { diag: this._diag },\n );\n\n if (!this._observer) {\n this._isEnabled = false;\n this._diag.error('failed to enable');\n return;\n }\n\n this._registerSessionEndListener();\n }\n\n private _registerSessionEndListener(): void {\n if (!this._isEnabled) {\n return;\n }\n\n if (this._removeSessionEndListener) {\n this._removeSessionEndListener();\n }\n\n this._removeSessionEndListener =\n this.userSessionManager.addSessionPartEndedListener(() => {\n try {\n this._flushReport();\n } catch (error) {\n this._diag.error('error flushing report', error);\n }\n });\n }\n\n public override setUserSessionManager(\n userSessionManager: UserSessionManagerInternal,\n ): void {\n super.setUserSessionManager(userSessionManager);\n this._registerSessionEndListener();\n }\n\n public disable(): void {\n this._isEnabled = false;\n this._resetAccumulators();\n\n if (this._observer) {\n this._observer.disconnect();\n this._observer = null;\n }\n\n if (this._removeSessionEndListener) {\n this._removeSessionEndListener();\n this._removeSessionEndListener = null;\n }\n }\n\n private _processEntry(entry: PerformanceLongAnimationFrameTiming): void {\n if (!this._isEnabled) {\n return;\n }\n\n this._count++;\n this._totalDuration += entry.duration;\n this._workDuration += entry.renderStart\n ? entry.renderStart - entry.startTime\n : entry.duration;\n\n if (entry.styleAndLayoutStart) {\n this._styleLayoutDuration += Math.max(\n 0,\n entry.startTime + entry.duration - entry.styleAndLayoutStart,\n );\n }\n\n this._longestDuration = Math.max(this._longestDuration, entry.duration);\n\n if (this._isFirstEntry && this._count === 1) {\n this._isFirstEntry = false;\n } else {\n this._longestDurationExcludingFirst = Math.max(\n this._longestDurationExcludingFirst,\n entry.duration,\n );\n if (entry.firstUIEventTimestamp === 0) {\n this._totalBlockingDuration += entry.blockingDuration;\n }\n }\n\n try {\n for (const script of entry.scripts) {\n // SourceURL is an empty string for inline scripts\n let url = script.sourceURL || '(inline)';\n if (url.length > MAX_SCRIPT_URL_LENGTH) {\n url = `${url.substring(0, MAX_SCRIPT_URL_LENGTH)}...`;\n }\n\n const existing = this._scriptSummaries.get(url);\n if (existing) {\n existing.totalDuration += script.duration;\n existing.styleAndLayoutDuration +=\n script.forcedStyleAndLayoutDuration;\n existing.count++;\n } else {\n this._scriptSummaries.set(url, {\n count: 1,\n styleAndLayoutDuration: script.forcedStyleAndLayoutDuration,\n totalDuration: script.duration,\n });\n }\n }\n } catch (error) {\n this._diag.error('error processing scripts for entry', error);\n }\n }\n\n private _flushReport(): void {\n if (this._count === 0) {\n return;\n }\n\n // Use web-vitals Metric type for rating\n let rating: Metric['rating'];\n if (this._totalBlockingDuration <= BLOCKING_DURATION_GOOD_THRESHOLD) {\n rating = 'good';\n } else if (\n this._totalBlockingDuration <= BLOCKING_DURATION_POOR_THRESHOLD\n ) {\n rating = 'needs-improvement';\n } else {\n rating = 'poor';\n }\n\n const attrs: Record<string, string | number> = {\n [KEY_MXL_TYPE]: MXL_TYPES.WebVital,\n ['mxl.web_vital.id']: generateWebVitalID(),\n ['mxl.web_vital.name']: 'TBD',\n ['mxl.web_vital.value']: Math.round(this._totalBlockingDuration),\n ['mxl.web_vital.rating']: rating,\n [ATTR_TBD_LOAF_TOTAL_DURATION]: Math.round(this._totalDuration),\n [ATTR_TBD_LOAF_WORK_DURATION]: Math.round(this._workDuration),\n [ATTR_TBD_LOAF_STYLE_AND_LAYOUT_DURATION]: Math.round(\n this._styleLayoutDuration,\n ),\n [ATTR_TBD_LOAF_COUNT]: this._count,\n [ATTR_TBD_LOAF_LONGEST_DURATION]: Math.round(this._longestDuration),\n [ATTR_TBD_LOAF_LONGEST_DURATION_EXCLUDING_FIRST]: Math.round(\n this._longestDurationExcludingFirst,\n ),\n };\n\n try {\n this.logger.emit({\n attributes: attrs,\n eventName: LOAF_EVENT_NAME,\n severityNumber: SeverityNumber.INFO,\n });\n } catch (error) {\n this._diag.error('error emitting loaf report', error);\n }\n\n try {\n if (this._scriptSummaries.size > 0) {\n const scripts = [...this._scriptSummaries]\n .sort((a, b) => b[1].totalDuration - a[1].totalDuration)\n .slice(0, MAX_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 this.logger.emit({\n attributes: {\n [KEY_MXL_TYPE]: MXL_TYPES.LoafScripts,\n },\n body: JSON.stringify(Object.fromEntries(scripts)),\n eventName: LOAF_SCRIPTS_EVENT_NAME,\n severityNumber: SeverityNumber.INFO,\n });\n }\n } catch (error) {\n this._diag.error('error emitting loaf script summary', error);\n }\n\n this._resetAccumulators();\n }\n\n private _resetAccumulators(): void {\n this._totalDuration = 0;\n this._workDuration = 0;\n this._styleLayoutDuration = 0;\n this._count = 0;\n this._longestDuration = 0;\n this._longestDurationExcludingFirst = 0;\n this._totalBlockingDuration = 0;\n this._scriptSummaries = new Map();\n }\n}\n"],"mappings":";;;;;;;AAmCA,IAAa,sBAAb,cAAyC,uBAAuB;CAC9D,YAAgD;CAChD,gBAAwB;CACxB,4BAAyD;CACzD,aAAqB;CAErB,iBAAyB;CACzB,gBAAwB;CACxB,uBAA+B;CAC/B,SAAiB;CACjB,mBAA2B;CAC3B,iCAAyC;CACzC,yBAAiC;CACjC,mCAA4C,IAAI,KAAK;CAErD,YAAmB,EAAE,MAAM,SAAkC,EAAE,EAAE;AAC/D,QAAM;GACJ,QAAQ,EAAE;GACV;GACA,qBAAqB;GACrB,wBAAwB;GACxB;GACD,CAAC;AAEF,MAAI,KAAK,QAAQ,QACf,MAAK,QAAQ;;CAIjB,SAAsB;AACpB,MAAI,KAAK,WACP;AAGF,MAAI,CAAC,qBAAqB,uBAAuB,EAAE;AACjD,QAAK,MAAM,MAAM,+CAA+C;AAChE;;AAGF,OAAK,aAAa;AAElB,MAAI,KAAK,UACP,MAAK,UAAU,YAAY;AAG7B,OAAK,YACH,0BACE,yBACC,UAAU,KAAK,cAAc,MAAM,EACpC,EAAE,MAAM,KAAK,OAAO,CACrB;AAEH,MAAI,CAAC,KAAK,WAAW;AACnB,QAAK,aAAa;AAClB,QAAK,MAAM,MAAM,mBAAmB;AACpC;;AAGF,OAAK,6BAA6B;;CAGpC,8BAA4C;AAC1C,MAAI,CAAC,KAAK,WACR;AAGF,MAAI,KAAK,0BACP,MAAK,2BAA2B;AAGlC,OAAK,4BACH,KAAK,mBAAmB,kCAAkC;AACxD,OAAI;AACF,SAAK,cAAc;YACZ,OAAO;AACd,SAAK,MAAM,MAAM,yBAAyB,MAAM;;IAElD;;CAGN,sBACE,oBACM;AACN,QAAM,sBAAsB,mBAAmB;AAC/C,OAAK,6BAA6B;;CAGpC,UAAuB;AACrB,OAAK,aAAa;AAClB,OAAK,oBAAoB;AAEzB,MAAI,KAAK,WAAW;AAClB,QAAK,UAAU,YAAY;AAC3B,QAAK,YAAY;;AAGnB,MAAI,KAAK,2BAA2B;AAClC,QAAK,2BAA2B;AAChC,QAAK,4BAA4B;;;CAIrC,cAAsB,OAAkD;AACtE,MAAI,CAAC,KAAK,WACR;AAGF,OAAK;AACL,OAAK,kBAAkB,MAAM;AAC7B,OAAK,iBAAiB,MAAM,cACxB,MAAM,cAAc,MAAM,YAC1B,MAAM;AAEV,MAAI,MAAM,oBACR,MAAK,wBAAwB,KAAK,IAChC,GACA,MAAM,YAAY,MAAM,WAAW,MAAM,oBAC1C;AAGH,OAAK,mBAAmB,KAAK,IAAI,KAAK,kBAAkB,MAAM,SAAS;AAEvE,MAAI,KAAK,iBAAiB,KAAK,WAAW,EACxC,MAAK,gBAAgB;OAChB;AACL,QAAK,iCAAiC,KAAK,IACzC,KAAK,gCACL,MAAM,SACP;AACD,OAAI,MAAM,0BAA0B,EAClC,MAAK,0BAA0B,MAAM;;AAIzC,MAAI;AACF,QAAK,MAAM,UAAU,MAAM,SAAS;IAElC,IAAI,MAAM,OAAO,aAAa;AAC9B,QAAI,IAAI,SAAA,KACN,OAAM,GAAG,IAAI,UAAU,GAAG,sBAAsB,CAAC;IAGnD,MAAM,WAAW,KAAK,iBAAiB,IAAI,IAAI;AAC/C,QAAI,UAAU;AACZ,cAAS,iBAAiB,OAAO;AACjC,cAAS,0BACP,OAAO;AACT,cAAS;UAET,MAAK,iBAAiB,IAAI,KAAK;KAC7B,OAAO;KACP,wBAAwB,OAAO;KAC/B,eAAe,OAAO;KACvB,CAAC;;WAGC,OAAO;AACd,QAAK,MAAM,MAAM,sCAAsC,MAAM;;;CAIjE,eAA6B;AAC3B,MAAI,KAAK,WAAW,EAClB;EAIF,IAAI;AACJ,MAAI,KAAK,0BAAA,IACP,UAAS;WAET,KAAK,0BAAA,IAEL,UAAS;MAET,UAAS;EAGX,MAAM,QAAyC;IAC5C,eAAA;IACA,qBAAqB,oBAAoB;IACzC,uBAAuB;IACvB,wBAAwB,KAAK,MAAM,KAAK,uBAAuB;IAC/D,yBAAyB;IACzB,+BAA+B,KAAK,MAAM,KAAK,eAAe;IAC9D,8BAA8B,KAAK,MAAM,KAAK,cAAc;IAC5D,0CAA0C,KAAK,MAC9C,KAAK,qBACN;IACA,sBAAsB,KAAK;IAC3B,iCAAiC,KAAK,MAAM,KAAK,iBAAiB;IAClE,iDAAiD,KAAK,MACrD,KAAK,+BACN;GACF;AAED,MAAI;AACF,QAAK,OAAO,KAAK;IACf,YAAY;IACZ,WAAW;IACX,gBAAgB,eAAe;IAChC,CAAC;WACK,OAAO;AACd,QAAK,MAAM,MAAM,8BAA8B,MAAM;;AAGvD,MAAI;AACF,OAAI,KAAK,iBAAiB,OAAO,GAAG;IAClC,MAAM,UAAU,CAAC,GAAG,KAAK,iBAAiB,CACvC,MAAM,GAAG,MAAM,EAAE,GAAG,gBAAgB,EAAE,GAAG,cAAc,CACvD,MAAM,GAAA,IAAsB,CAC5B,KAAK,CAAC,KAAK,YAAY,CACtB,KACA;KACE,OAAO,OAAO;KACd,2BAA2B,KAAK,MAC9B,OAAO,uBACR;KACD,gBAAgB,KAAK,MAAM,OAAO,cAAc;KACjD,CACF,CAAC;AAEJ,SAAK,OAAO,KAAK;KACf,YAAY,GACT,eAAA,mBACF;KACD,MAAM,KAAK,UAAU,OAAO,YAAY,QAAQ,CAAC;KACjD,WAAW;KACX,gBAAgB,eAAe;KAChC,CAAC;;WAEG,OAAO;AACd,QAAK,MAAM,MAAM,sCAAsC,MAAM;;AAG/D,OAAK,oBAAoB;;CAG3B,qBAAmC;AACjC,OAAK,iBAAiB;AACtB,OAAK,gBAAgB;AACrB,OAAK,uBAAuB;AAC5B,OAAK,SAAS;AACd,OAAK,mBAAmB;AACxB,OAAK,iCAAiC;AACtC,OAAK,yBAAyB;AAC9B,OAAK,mCAAmB,IAAI,KAAK"}
@@ -12,10 +12,10 @@ var NavigationInstrumentation = class extends require_instrumentations_MXLInstru
12
12
  _removeSessionEndedFn = null;
13
13
  constructor({ diag, shouldCleanupPathOptionsFromRouteName = true }) {
14
14
  super({
15
- instrumentationName: "NavigationInstrumentation",
16
- instrumentationVersion: "1.0.0",
15
+ config: {},
17
16
  diag,
18
- config: {}
17
+ instrumentationName: "NavigationInstrumentation",
18
+ instrumentationVersion: "1.0.0"
19
19
  });
20
20
  this._shouldCleanupPathOptionsFromRouteName = shouldCleanupPathOptionsFromRouteName;
21
21
  if (this._config.enabled) this.enable();
@@ -33,14 +33,14 @@ var NavigationInstrumentation = class extends require_instrumentations_MXLInstru
33
33
  }
34
34
  };
35
35
  _setupSessionListeners = () => {
36
- if (!this._removeSessionStartedFn) this._removeSessionStartedFn = this.sessionManager.addSessionStartedListener(() => {
36
+ if (!this._removeSessionStartedFn) this._removeSessionStartedFn = this.userSessionManager.addSessionPartStartedListener(() => {
37
37
  const currentRoute = require_api_page_pageAPI.page.getCurrentRoute();
38
38
  if (currentRoute && !this._currentRouteSpan) {
39
39
  this._diag.debug("Session started, starting route span.");
40
40
  this._startRouteSpan(currentRoute);
41
41
  }
42
42
  });
43
- if (!this._removeSessionEndedFn) this._removeSessionEndedFn = this.sessionManager.addSessionEndedListener(() => {
43
+ if (!this._removeSessionEndedFn) this._removeSessionEndedFn = this.userSessionManager.addSessionPartEndedListener(() => {
44
44
  if (this._currentRouteSpan) {
45
45
  this._diag.debug("Session ended, ending route span.");
46
46
  this._endRouteSpan(require_api_page_pageAPI.page.getCurrentRoute());
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationInstrumentation.cjs","names":["MXLInstrumentationBase","page","KEY_MXL_TYPE","KEY_MXL_PAGE_PATH","KEY_MXL_PAGE_ID","KEY_MXL_INSTRUMENTATION"],"sources":["../../../../src/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.ts"],"sourcesContent":["import type { Span } from '@opentelemetry/api';\nimport type { Route } from '../../../api-page';\nimport { page } from '../../../api-page';\nimport {\n KEY_MXL_INSTRUMENTATION,\n KEY_MXL_PAGE_ID,\n KEY_MXL_PAGE_PATH,\n KEY_MXL_TYPE,\n MXL_NAVIGATION_INSTRUMENTATIONS,\n MXL_TYPES,\n} from '../../../constants';\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase';\nimport type { NavigationInstrumentationArgs } from './types';\n\n// Regular expression to match path options in the format \"(option)\"\n// Used to clean up paths that are like \"/order/:orderState(pending|shipped|delivered)/type:(sale|normal)\" to \"/order/:orderState/:type\"\n// Could be simplified but done this way to prevent: https://javascript.info/regexp-catastrophic-backtracking\nconst PATH_OPTIONS_RE = /\\([^()]+\\)/g;\n\nexport class NavigationInstrumentation extends MXLInstrumentationBase {\n private readonly _shouldCleanupPathOptionsFromRouteName: boolean = true;\n private _currentRouteSpan: Span | null = null;\n private _instrumentationType: MXL_NAVIGATION_INSTRUMENTATIONS =\n MXL_NAVIGATION_INSTRUMENTATIONS.Manual;\n private _removeSessionStartedFn: (() => void) | null = null;\n private _removeSessionEndedFn: (() => void) | null = null;\n\n public constructor({\n diag,\n shouldCleanupPathOptionsFromRouteName = true,\n }: NavigationInstrumentationArgs) {\n super({\n instrumentationName: 'NavigationInstrumentation',\n instrumentationVersion: '1.0.0',\n diag,\n config: {},\n });\n\n this._shouldCleanupPathOptionsFromRouteName =\n shouldCleanupPathOptionsFromRouteName;\n\n if (this._config.enabled) {\n this.enable();\n }\n }\n\n public setInstrumentationType = (\n instrumentationType: MXL_NAVIGATION_INSTRUMENTATIONS,\n ) => {\n this._instrumentationType = instrumentationType;\n };\n\n public setCurrentRoute = (route: Route) => {\n if (!this._config.enabled) {\n return;\n }\n\n const currentRoute = page.getCurrentRoute();\n\n if (route.url !== currentRoute?.url) {\n page.setCurrentRoute(route);\n\n this._endRouteSpan(currentRoute);\n this._startRouteSpan(route);\n }\n };\n\n private readonly _setupSessionListeners = () => {\n if (!this._removeSessionStartedFn) {\n this._removeSessionStartedFn =\n this.sessionManager.addSessionStartedListener(() => {\n const currentRoute = page.getCurrentRoute();\n\n if (currentRoute && !this._currentRouteSpan) {\n this._diag.debug('Session started, starting route span.');\n\n this._startRouteSpan(currentRoute);\n }\n });\n }\n\n if (!this._removeSessionEndedFn) {\n this._removeSessionEndedFn = this.sessionManager.addSessionEndedListener(\n () => {\n if (this._currentRouteSpan) {\n this._diag.debug('Session ended, ending route span.');\n\n this._endRouteSpan(page.getCurrentRoute());\n }\n },\n );\n }\n };\n\n private readonly _cleanUpSessionListeners = () => {\n if (this._removeSessionStartedFn) {\n this._removeSessionStartedFn();\n this._removeSessionStartedFn = null;\n }\n\n if (this._removeSessionEndedFn) {\n this._removeSessionEndedFn();\n this._removeSessionEndedFn = null;\n }\n };\n\n private readonly _startRouteSpan = (route: Route): Span => {\n this._diag.debug(`Starting route span for url: ${route.url}`);\n this._setupSessionListeners();\n\n const pathName = this._shouldCleanupPathOptionsFromRouteName\n ? route.path.replace(PATH_OPTIONS_RE, '')\n : route.path;\n this._currentRouteSpan = this.tracer.startSpan(pathName, {\n attributes: {\n [KEY_MXL_TYPE]: MXL_TYPES.Surface,\n [KEY_MXL_PAGE_PATH]: pathName,\n [KEY_MXL_PAGE_ID]: page.getCurrentPageId() || undefined,\n },\n });\n\n this._currentRouteSpan.setAttribute(\n KEY_MXL_INSTRUMENTATION,\n this._instrumentationType,\n );\n\n return this._currentRouteSpan;\n };\n\n private readonly _endRouteSpan = (currentRoute: Route | null) => {\n if (this._currentRouteSpan) {\n if (currentRoute) {\n this._diag.debug(`Ending route span for url: ${currentRoute.url}`);\n }\n\n this._currentRouteSpan.end();\n this._currentRouteSpan = null;\n }\n };\n\n public enable = () => {\n this.setConfig({\n enabled: true,\n });\n this._diag.debug(\n 'NavigationInstrumentation enabled, listening for navigation events.',\n );\n };\n\n public disable = () => {\n this._cleanUpSessionListeners();\n this.setConfig({\n enabled: false,\n });\n this._diag.debug(\n 'NavigationInstrumentation disabled, stopped listening for navigation events.',\n );\n };\n}\n"],"mappings":";;;;;AAiBA,MAAM,kBAAkB;AAExB,IAAa,4BAAb,cAA+CA,uEAAAA,uBAAuB;CACpE,yCAAmE;CACnE,oBAAyC;CACzC,uBAAQ;CAER,0BAAuD;CACvD,wBAAqD;CAErD,YAAmB,EACjB,MACA,wCAAwC,QACR;AAChC,QAAM;GACJ,qBAAqB;GACrB,wBAAwB;GACxB;GACA,QAAQ,EAAE;GACX,CAAC;AAEF,OAAK,yCACH;AAEF,MAAI,KAAK,QAAQ,QACf,MAAK,QAAQ;;CAIjB,0BACE,wBACG;AACH,OAAK,uBAAuB;;CAG9B,mBAA0B,UAAiB;AACzC,MAAI,CAAC,KAAK,QAAQ,QAChB;EAGF,MAAM,eAAeC,yBAAAA,KAAK,iBAAiB;AAE3C,MAAI,MAAM,QAAQ,cAAc,KAAK;AACnC,4BAAA,KAAK,gBAAgB,MAAM;AAE3B,QAAK,cAAc,aAAa;AAChC,QAAK,gBAAgB,MAAM;;;CAI/B,+BAAgD;AAC9C,MAAI,CAAC,KAAK,wBACR,MAAK,0BACH,KAAK,eAAe,gCAAgC;GAClD,MAAM,eAAeA,yBAAAA,KAAK,iBAAiB;AAE3C,OAAI,gBAAgB,CAAC,KAAK,mBAAmB;AAC3C,SAAK,MAAM,MAAM,wCAAwC;AAEzD,SAAK,gBAAgB,aAAa;;IAEpC;AAGN,MAAI,CAAC,KAAK,sBACR,MAAK,wBAAwB,KAAK,eAAe,8BACzC;AACJ,OAAI,KAAK,mBAAmB;AAC1B,SAAK,MAAM,MAAM,oCAAoC;AAErD,SAAK,cAAcA,yBAAAA,KAAK,iBAAiB,CAAC;;IAG/C;;CAIL,iCAAkD;AAChD,MAAI,KAAK,yBAAyB;AAChC,QAAK,yBAAyB;AAC9B,QAAK,0BAA0B;;AAGjC,MAAI,KAAK,uBAAuB;AAC9B,QAAK,uBAAuB;AAC5B,QAAK,wBAAwB;;;CAIjC,mBAAoC,UAAuB;AACzD,OAAK,MAAM,MAAM,gCAAgC,MAAM,MAAM;AAC7D,OAAK,wBAAwB;EAE7B,MAAM,WAAW,KAAK,yCAClB,MAAM,KAAK,QAAQ,iBAAiB,GAAG,GACvC,MAAM;AACV,OAAK,oBAAoB,KAAK,OAAO,UAAU,UAAU,EACvD,YAAY;IACTC,6BAAAA,eAAAA;IACAC,6BAAAA,oBAAoB;IACpBC,6BAAAA,kBAAkBH,yBAAAA,KAAK,kBAAkB,IAAI,KAAA;GAC/C,EACF,CAAC;AAEF,OAAK,kBAAkB,aACrBI,6BAAAA,yBACA,KAAK,qBACN;AAED,SAAO,KAAK;;CAGd,iBAAkC,iBAA+B;AAC/D,MAAI,KAAK,mBAAmB;AAC1B,OAAI,aACF,MAAK,MAAM,MAAM,8BAA8B,aAAa,MAAM;AAGpE,QAAK,kBAAkB,KAAK;AAC5B,QAAK,oBAAoB;;;CAI7B,eAAsB;AACpB,OAAK,UAAU,EACb,SAAS,MACV,CAAC;AACF,OAAK,MAAM,MACT,sEACD;;CAGH,gBAAuB;AACrB,OAAK,0BAA0B;AAC/B,OAAK,UAAU,EACb,SAAS,OACV,CAAC;AACF,OAAK,MAAM,MACT,+EACD"}
1
+ {"version":3,"file":"NavigationInstrumentation.cjs","names":["MXLInstrumentationBase","page","KEY_MXL_TYPE","KEY_MXL_PAGE_PATH","KEY_MXL_PAGE_ID","KEY_MXL_INSTRUMENTATION"],"sources":["../../../../src/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.ts"],"sourcesContent":["import type { Span } from '@opentelemetry/api';\nimport type { Route } from '../../../api-page';\nimport { page } from '../../../api-page';\nimport {\n KEY_MXL_INSTRUMENTATION,\n KEY_MXL_PAGE_ID,\n KEY_MXL_PAGE_PATH,\n KEY_MXL_TYPE,\n MXL_NAVIGATION_INSTRUMENTATIONS,\n MXL_TYPES,\n} from '../../../constants';\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase';\nimport type { NavigationInstrumentationArgs } from './types';\n\n// Regular expression to match path options in the format \"(option)\"\n// Used to clean up paths that are like \"/order/:orderState(pending|shipped|delivered)/type:(sale|normal)\" to \"/order/:orderState/:type\"\n// Could be simplified but done this way to prevent: https://javascript.info/regexp-catastrophic-backtracking\nconst PATH_OPTIONS_RE = /\\([^()]+\\)/g;\n\nexport class NavigationInstrumentation extends MXLInstrumentationBase {\n private readonly _shouldCleanupPathOptionsFromRouteName: boolean = true;\n private _currentRouteSpan: Span | null = null;\n private _instrumentationType: MXL_NAVIGATION_INSTRUMENTATIONS =\n MXL_NAVIGATION_INSTRUMENTATIONS.Manual;\n private _removeSessionStartedFn: (() => void) | null = null;\n private _removeSessionEndedFn: (() => void) | null = null;\n\n public constructor({\n diag,\n shouldCleanupPathOptionsFromRouteName = true,\n }: NavigationInstrumentationArgs) {\n super({\n config: {},\n diag,\n instrumentationName: 'NavigationInstrumentation',\n instrumentationVersion: '1.0.0',\n });\n\n this._shouldCleanupPathOptionsFromRouteName =\n shouldCleanupPathOptionsFromRouteName;\n\n if (this._config.enabled) {\n this.enable();\n }\n }\n\n public setInstrumentationType = (\n instrumentationType: MXL_NAVIGATION_INSTRUMENTATIONS,\n ) => {\n this._instrumentationType = instrumentationType;\n };\n\n public setCurrentRoute = (route: Route) => {\n if (!this._config.enabled) {\n return;\n }\n\n const currentRoute = page.getCurrentRoute();\n\n if (route.url !== currentRoute?.url) {\n page.setCurrentRoute(route);\n\n this._endRouteSpan(currentRoute);\n this._startRouteSpan(route);\n }\n };\n\n private readonly _setupSessionListeners = () => {\n if (!this._removeSessionStartedFn) {\n this._removeSessionStartedFn =\n this.userSessionManager.addSessionPartStartedListener(() => {\n const currentRoute = page.getCurrentRoute();\n\n if (currentRoute && !this._currentRouteSpan) {\n this._diag.debug('Session started, starting route span.');\n\n this._startRouteSpan(currentRoute);\n }\n });\n }\n\n if (!this._removeSessionEndedFn) {\n this._removeSessionEndedFn =\n this.userSessionManager.addSessionPartEndedListener(() => {\n if (this._currentRouteSpan) {\n this._diag.debug('Session ended, ending route span.');\n\n this._endRouteSpan(page.getCurrentRoute());\n }\n });\n }\n };\n\n private readonly _cleanUpSessionListeners = () => {\n if (this._removeSessionStartedFn) {\n this._removeSessionStartedFn();\n this._removeSessionStartedFn = null;\n }\n\n if (this._removeSessionEndedFn) {\n this._removeSessionEndedFn();\n this._removeSessionEndedFn = null;\n }\n };\n\n private readonly _startRouteSpan = (route: Route): Span => {\n this._diag.debug(`Starting route span for url: ${route.url}`);\n this._setupSessionListeners();\n\n const pathName = this._shouldCleanupPathOptionsFromRouteName\n ? route.path.replace(PATH_OPTIONS_RE, '')\n : route.path;\n this._currentRouteSpan = this.tracer.startSpan(pathName, {\n attributes: {\n [KEY_MXL_TYPE]: MXL_TYPES.Surface,\n [KEY_MXL_PAGE_PATH]: pathName,\n [KEY_MXL_PAGE_ID]: page.getCurrentPageId() || undefined,\n },\n });\n\n this._currentRouteSpan.setAttribute(\n KEY_MXL_INSTRUMENTATION,\n this._instrumentationType,\n );\n\n return this._currentRouteSpan;\n };\n\n private readonly _endRouteSpan = (currentRoute: Route | null) => {\n if (this._currentRouteSpan) {\n if (currentRoute) {\n this._diag.debug(`Ending route span for url: ${currentRoute.url}`);\n }\n\n this._currentRouteSpan.end();\n this._currentRouteSpan = null;\n }\n };\n\n public enable = () => {\n this.setConfig({\n enabled: true,\n });\n this._diag.debug(\n 'NavigationInstrumentation enabled, listening for navigation events.',\n );\n };\n\n public disable = () => {\n this._cleanUpSessionListeners();\n this.setConfig({\n enabled: false,\n });\n this._diag.debug(\n 'NavigationInstrumentation disabled, stopped listening for navigation events.',\n );\n };\n}\n"],"mappings":";;;;;AAiBA,MAAM,kBAAkB;AAExB,IAAa,4BAAb,cAA+CA,uEAAAA,uBAAuB;CACpE,yCAAmE;CACnE,oBAAyC;CACzC,uBAAQ;CAER,0BAAuD;CACvD,wBAAqD;CAErD,YAAmB,EACjB,MACA,wCAAwC,QACR;AAChC,QAAM;GACJ,QAAQ,EAAE;GACV;GACA,qBAAqB;GACrB,wBAAwB;GACzB,CAAC;AAEF,OAAK,yCACH;AAEF,MAAI,KAAK,QAAQ,QACf,MAAK,QAAQ;;CAIjB,0BACE,wBACG;AACH,OAAK,uBAAuB;;CAG9B,mBAA0B,UAAiB;AACzC,MAAI,CAAC,KAAK,QAAQ,QAChB;EAGF,MAAM,eAAeC,yBAAAA,KAAK,iBAAiB;AAE3C,MAAI,MAAM,QAAQ,cAAc,KAAK;AACnC,4BAAA,KAAK,gBAAgB,MAAM;AAE3B,QAAK,cAAc,aAAa;AAChC,QAAK,gBAAgB,MAAM;;;CAI/B,+BAAgD;AAC9C,MAAI,CAAC,KAAK,wBACR,MAAK,0BACH,KAAK,mBAAmB,oCAAoC;GAC1D,MAAM,eAAeA,yBAAAA,KAAK,iBAAiB;AAE3C,OAAI,gBAAgB,CAAC,KAAK,mBAAmB;AAC3C,SAAK,MAAM,MAAM,wCAAwC;AAEzD,SAAK,gBAAgB,aAAa;;IAEpC;AAGN,MAAI,CAAC,KAAK,sBACR,MAAK,wBACH,KAAK,mBAAmB,kCAAkC;AACxD,OAAI,KAAK,mBAAmB;AAC1B,SAAK,MAAM,MAAM,oCAAoC;AAErD,SAAK,cAAcA,yBAAAA,KAAK,iBAAiB,CAAC;;IAE5C;;CAIR,iCAAkD;AAChD,MAAI,KAAK,yBAAyB;AAChC,QAAK,yBAAyB;AAC9B,QAAK,0BAA0B;;AAGjC,MAAI,KAAK,uBAAuB;AAC9B,QAAK,uBAAuB;AAC5B,QAAK,wBAAwB;;;CAIjC,mBAAoC,UAAuB;AACzD,OAAK,MAAM,MAAM,gCAAgC,MAAM,MAAM;AAC7D,OAAK,wBAAwB;EAE7B,MAAM,WAAW,KAAK,yCAClB,MAAM,KAAK,QAAQ,iBAAiB,GAAG,GACvC,MAAM;AACV,OAAK,oBAAoB,KAAK,OAAO,UAAU,UAAU,EACvD,YAAY;IACTC,6BAAAA,eAAAA;IACAC,6BAAAA,oBAAoB;IACpBC,6BAAAA,kBAAkBH,yBAAAA,KAAK,kBAAkB,IAAI,KAAA;GAC/C,EACF,CAAC;AAEF,OAAK,kBAAkB,aACrBI,6BAAAA,yBACA,KAAK,qBACN;AAED,SAAO,KAAK;;CAGd,iBAAkC,iBAA+B;AAC/D,MAAI,KAAK,mBAAmB;AAC1B,OAAI,aACF,MAAK,MAAM,MAAM,8BAA8B,aAAa,MAAM;AAGpE,QAAK,kBAAkB,KAAK;AAC5B,QAAK,oBAAoB;;;CAI7B,eAAsB;AACpB,OAAK,UAAU,EACb,SAAS,MACV,CAAC;AACF,OAAK,MAAM,MACT,sEACD;;CAGH,gBAAuB;AACrB,OAAK,0BAA0B;AAC/B,OAAK,UAAU,EACb,SAAS,OACV,CAAC;AACF,OAAK,MAAM,MACT,+EACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationInstrumentation.d.cts","names":[],"sources":["../../../../src/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.ts"],"mappings":";;;;;;cAmBa,yBAAA,SAAkC,sBAAA;EAAA,iBAC5B,sCAAA;EAAA,QACT,iBAAA;EAAA,QACA,oBAAA;EAAA,QAEA,uBAAA;EAAA,QACA,qBAAA;;IAGN,IAAA;IACA;EAAA,GACC,6BAAA;EAgBI,sBAAA,GACL,mBAAA,EAAqB,+BAAA;EAKhB,eAAA,GAAmB,KAAA,EAAO,KAAA;EAAA,iBAehB,sBAAA;EAAA,iBA2BA,wBAAA;EAAA,iBAYA,eAAA;EAAA,iBAuBA,aAAA;EAWV,MAAA;EASA,OAAA;AAAA"}
1
+ {"version":3,"file":"NavigationInstrumentation.d.cts","names":[],"sources":["../../../../src/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.ts"],"mappings":";;;;;;cAmBa,yBAAA,SAAkC,sBAAA;EAAA,iBAC5B,sCAAA;EAAA,QACT,iBAAA;EAAA,QACA,oBAAA;EAAA,QAEA,uBAAA;EAAA,QACA,qBAAA;;IAGN,IAAA;IACA;EAAA,GACC,6BAAA;EAgBI,sBAAA,GACL,mBAAA,EAAqB,+BAAA;EAKhB,eAAA,GAAmB,KAAA,EAAO,KAAA;EAAA,iBAehB,sBAAA;EAAA,iBA0BA,wBAAA;EAAA,iBAYA,eAAA;EAAA,iBAuBA,aAAA;EAWV,MAAA;EASA,OAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationInstrumentation.d.ts","names":[],"sources":["../../../../src/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.ts"],"mappings":";;;;;;cAmBa,yBAAA,SAAkC,sBAAA;EAAA,iBAC5B,sCAAA;EAAA,QACT,iBAAA;EAAA,QACA,oBAAA;EAAA,QAEA,uBAAA;EAAA,QACA,qBAAA;;IAGN,IAAA;IACA;EAAA,GACC,6BAAA;EAgBI,sBAAA,GACL,mBAAA,EAAqB,+BAAA;EAKhB,eAAA,GAAmB,KAAA,EAAO,KAAA;EAAA,iBAehB,sBAAA;EAAA,iBA2BA,wBAAA;EAAA,iBAYA,eAAA;EAAA,iBAuBA,aAAA;EAWV,MAAA;EASA,OAAA;AAAA"}
1
+ {"version":3,"file":"NavigationInstrumentation.d.ts","names":[],"sources":["../../../../src/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.ts"],"mappings":";;;;;;cAmBa,yBAAA,SAAkC,sBAAA;EAAA,iBAC5B,sCAAA;EAAA,QACT,iBAAA;EAAA,QACA,oBAAA;EAAA,QAEA,uBAAA;EAAA,QACA,qBAAA;;IAGN,IAAA;IACA;EAAA,GACC,6BAAA;EAgBI,sBAAA,GACL,mBAAA,EAAqB,+BAAA;EAKhB,eAAA,GAAmB,KAAA,EAAO,KAAA;EAAA,iBAehB,sBAAA;EAAA,iBA0BA,wBAAA;EAAA,iBAYA,eAAA;EAAA,iBAuBA,aAAA;EAWV,MAAA;EASA,OAAA;AAAA"}
@@ -11,10 +11,10 @@ var NavigationInstrumentation = class extends MXLInstrumentationBase {
11
11
  _removeSessionEndedFn = null;
12
12
  constructor({ diag, shouldCleanupPathOptionsFromRouteName = true }) {
13
13
  super({
14
- instrumentationName: "NavigationInstrumentation",
15
- instrumentationVersion: "1.0.0",
14
+ config: {},
16
15
  diag,
17
- config: {}
16
+ instrumentationName: "NavigationInstrumentation",
17
+ instrumentationVersion: "1.0.0"
18
18
  });
19
19
  this._shouldCleanupPathOptionsFromRouteName = shouldCleanupPathOptionsFromRouteName;
20
20
  if (this._config.enabled) this.enable();
@@ -32,14 +32,14 @@ var NavigationInstrumentation = class extends MXLInstrumentationBase {
32
32
  }
33
33
  };
34
34
  _setupSessionListeners = () => {
35
- if (!this._removeSessionStartedFn) this._removeSessionStartedFn = this.sessionManager.addSessionStartedListener(() => {
35
+ if (!this._removeSessionStartedFn) this._removeSessionStartedFn = this.userSessionManager.addSessionPartStartedListener(() => {
36
36
  const currentRoute = page.getCurrentRoute();
37
37
  if (currentRoute && !this._currentRouteSpan) {
38
38
  this._diag.debug("Session started, starting route span.");
39
39
  this._startRouteSpan(currentRoute);
40
40
  }
41
41
  });
42
- if (!this._removeSessionEndedFn) this._removeSessionEndedFn = this.sessionManager.addSessionEndedListener(() => {
42
+ if (!this._removeSessionEndedFn) this._removeSessionEndedFn = this.userSessionManager.addSessionPartEndedListener(() => {
43
43
  if (this._currentRouteSpan) {
44
44
  this._diag.debug("Session ended, ending route span.");
45
45
  this._endRouteSpan(page.getCurrentRoute());
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationInstrumentation.js","names":[],"sources":["../../../../src/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.ts"],"sourcesContent":["import type { Span } from '@opentelemetry/api';\nimport type { Route } from '../../../api-page';\nimport { page } from '../../../api-page';\nimport {\n KEY_MXL_INSTRUMENTATION,\n KEY_MXL_PAGE_ID,\n KEY_MXL_PAGE_PATH,\n KEY_MXL_TYPE,\n MXL_NAVIGATION_INSTRUMENTATIONS,\n MXL_TYPES,\n} from '../../../constants';\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase';\nimport type { NavigationInstrumentationArgs } from './types';\n\n// Regular expression to match path options in the format \"(option)\"\n// Used to clean up paths that are like \"/order/:orderState(pending|shipped|delivered)/type:(sale|normal)\" to \"/order/:orderState/:type\"\n// Could be simplified but done this way to prevent: https://javascript.info/regexp-catastrophic-backtracking\nconst PATH_OPTIONS_RE = /\\([^()]+\\)/g;\n\nexport class NavigationInstrumentation extends MXLInstrumentationBase {\n private readonly _shouldCleanupPathOptionsFromRouteName: boolean = true;\n private _currentRouteSpan: Span | null = null;\n private _instrumentationType: MXL_NAVIGATION_INSTRUMENTATIONS =\n MXL_NAVIGATION_INSTRUMENTATIONS.Manual;\n private _removeSessionStartedFn: (() => void) | null = null;\n private _removeSessionEndedFn: (() => void) | null = null;\n\n public constructor({\n diag,\n shouldCleanupPathOptionsFromRouteName = true,\n }: NavigationInstrumentationArgs) {\n super({\n instrumentationName: 'NavigationInstrumentation',\n instrumentationVersion: '1.0.0',\n diag,\n config: {},\n });\n\n this._shouldCleanupPathOptionsFromRouteName =\n shouldCleanupPathOptionsFromRouteName;\n\n if (this._config.enabled) {\n this.enable();\n }\n }\n\n public setInstrumentationType = (\n instrumentationType: MXL_NAVIGATION_INSTRUMENTATIONS,\n ) => {\n this._instrumentationType = instrumentationType;\n };\n\n public setCurrentRoute = (route: Route) => {\n if (!this._config.enabled) {\n return;\n }\n\n const currentRoute = page.getCurrentRoute();\n\n if (route.url !== currentRoute?.url) {\n page.setCurrentRoute(route);\n\n this._endRouteSpan(currentRoute);\n this._startRouteSpan(route);\n }\n };\n\n private readonly _setupSessionListeners = () => {\n if (!this._removeSessionStartedFn) {\n this._removeSessionStartedFn =\n this.sessionManager.addSessionStartedListener(() => {\n const currentRoute = page.getCurrentRoute();\n\n if (currentRoute && !this._currentRouteSpan) {\n this._diag.debug('Session started, starting route span.');\n\n this._startRouteSpan(currentRoute);\n }\n });\n }\n\n if (!this._removeSessionEndedFn) {\n this._removeSessionEndedFn = this.sessionManager.addSessionEndedListener(\n () => {\n if (this._currentRouteSpan) {\n this._diag.debug('Session ended, ending route span.');\n\n this._endRouteSpan(page.getCurrentRoute());\n }\n },\n );\n }\n };\n\n private readonly _cleanUpSessionListeners = () => {\n if (this._removeSessionStartedFn) {\n this._removeSessionStartedFn();\n this._removeSessionStartedFn = null;\n }\n\n if (this._removeSessionEndedFn) {\n this._removeSessionEndedFn();\n this._removeSessionEndedFn = null;\n }\n };\n\n private readonly _startRouteSpan = (route: Route): Span => {\n this._diag.debug(`Starting route span for url: ${route.url}`);\n this._setupSessionListeners();\n\n const pathName = this._shouldCleanupPathOptionsFromRouteName\n ? route.path.replace(PATH_OPTIONS_RE, '')\n : route.path;\n this._currentRouteSpan = this.tracer.startSpan(pathName, {\n attributes: {\n [KEY_MXL_TYPE]: MXL_TYPES.Surface,\n [KEY_MXL_PAGE_PATH]: pathName,\n [KEY_MXL_PAGE_ID]: page.getCurrentPageId() || undefined,\n },\n });\n\n this._currentRouteSpan.setAttribute(\n KEY_MXL_INSTRUMENTATION,\n this._instrumentationType,\n );\n\n return this._currentRouteSpan;\n };\n\n private readonly _endRouteSpan = (currentRoute: Route | null) => {\n if (this._currentRouteSpan) {\n if (currentRoute) {\n this._diag.debug(`Ending route span for url: ${currentRoute.url}`);\n }\n\n this._currentRouteSpan.end();\n this._currentRouteSpan = null;\n }\n };\n\n public enable = () => {\n this.setConfig({\n enabled: true,\n });\n this._diag.debug(\n 'NavigationInstrumentation enabled, listening for navigation events.',\n );\n };\n\n public disable = () => {\n this._cleanUpSessionListeners();\n this.setConfig({\n enabled: false,\n });\n this._diag.debug(\n 'NavigationInstrumentation disabled, stopped listening for navigation events.',\n );\n };\n}\n"],"mappings":";;;;AAiBA,MAAM,kBAAkB;AAExB,IAAa,4BAAb,cAA+C,uBAAuB;CACpE,yCAAmE;CACnE,oBAAyC;CACzC,uBAAQ;CAER,0BAAuD;CACvD,wBAAqD;CAErD,YAAmB,EACjB,MACA,wCAAwC,QACR;AAChC,QAAM;GACJ,qBAAqB;GACrB,wBAAwB;GACxB;GACA,QAAQ,EAAE;GACX,CAAC;AAEF,OAAK,yCACH;AAEF,MAAI,KAAK,QAAQ,QACf,MAAK,QAAQ;;CAIjB,0BACE,wBACG;AACH,OAAK,uBAAuB;;CAG9B,mBAA0B,UAAiB;AACzC,MAAI,CAAC,KAAK,QAAQ,QAChB;EAGF,MAAM,eAAe,KAAK,iBAAiB;AAE3C,MAAI,MAAM,QAAQ,cAAc,KAAK;AACnC,QAAK,gBAAgB,MAAM;AAE3B,QAAK,cAAc,aAAa;AAChC,QAAK,gBAAgB,MAAM;;;CAI/B,+BAAgD;AAC9C,MAAI,CAAC,KAAK,wBACR,MAAK,0BACH,KAAK,eAAe,gCAAgC;GAClD,MAAM,eAAe,KAAK,iBAAiB;AAE3C,OAAI,gBAAgB,CAAC,KAAK,mBAAmB;AAC3C,SAAK,MAAM,MAAM,wCAAwC;AAEzD,SAAK,gBAAgB,aAAa;;IAEpC;AAGN,MAAI,CAAC,KAAK,sBACR,MAAK,wBAAwB,KAAK,eAAe,8BACzC;AACJ,OAAI,KAAK,mBAAmB;AAC1B,SAAK,MAAM,MAAM,oCAAoC;AAErD,SAAK,cAAc,KAAK,iBAAiB,CAAC;;IAG/C;;CAIL,iCAAkD;AAChD,MAAI,KAAK,yBAAyB;AAChC,QAAK,yBAAyB;AAC9B,QAAK,0BAA0B;;AAGjC,MAAI,KAAK,uBAAuB;AAC9B,QAAK,uBAAuB;AAC5B,QAAK,wBAAwB;;;CAIjC,mBAAoC,UAAuB;AACzD,OAAK,MAAM,MAAM,gCAAgC,MAAM,MAAM;AAC7D,OAAK,wBAAwB;EAE7B,MAAM,WAAW,KAAK,yCAClB,MAAM,KAAK,QAAQ,iBAAiB,GAAG,GACvC,MAAM;AACV,OAAK,oBAAoB,KAAK,OAAO,UAAU,UAAU,EACvD,YAAY;IACT,eAAA;IACA,oBAAoB;IACpB,kBAAkB,KAAK,kBAAkB,IAAI,KAAA;GAC/C,EACF,CAAC;AAEF,OAAK,kBAAkB,aACrB,yBACA,KAAK,qBACN;AAED,SAAO,KAAK;;CAGd,iBAAkC,iBAA+B;AAC/D,MAAI,KAAK,mBAAmB;AAC1B,OAAI,aACF,MAAK,MAAM,MAAM,8BAA8B,aAAa,MAAM;AAGpE,QAAK,kBAAkB,KAAK;AAC5B,QAAK,oBAAoB;;;CAI7B,eAAsB;AACpB,OAAK,UAAU,EACb,SAAS,MACV,CAAC;AACF,OAAK,MAAM,MACT,sEACD;;CAGH,gBAAuB;AACrB,OAAK,0BAA0B;AAC/B,OAAK,UAAU,EACb,SAAS,OACV,CAAC;AACF,OAAK,MAAM,MACT,+EACD"}
1
+ {"version":3,"file":"NavigationInstrumentation.js","names":[],"sources":["../../../../src/instrumentations/navigation/NavigationInstrumentation/NavigationInstrumentation.ts"],"sourcesContent":["import type { Span } from '@opentelemetry/api';\nimport type { Route } from '../../../api-page';\nimport { page } from '../../../api-page';\nimport {\n KEY_MXL_INSTRUMENTATION,\n KEY_MXL_PAGE_ID,\n KEY_MXL_PAGE_PATH,\n KEY_MXL_TYPE,\n MXL_NAVIGATION_INSTRUMENTATIONS,\n MXL_TYPES,\n} from '../../../constants';\nimport { MXLInstrumentationBase } from '../../MXLInstrumentationBase';\nimport type { NavigationInstrumentationArgs } from './types';\n\n// Regular expression to match path options in the format \"(option)\"\n// Used to clean up paths that are like \"/order/:orderState(pending|shipped|delivered)/type:(sale|normal)\" to \"/order/:orderState/:type\"\n// Could be simplified but done this way to prevent: https://javascript.info/regexp-catastrophic-backtracking\nconst PATH_OPTIONS_RE = /\\([^()]+\\)/g;\n\nexport class NavigationInstrumentation extends MXLInstrumentationBase {\n private readonly _shouldCleanupPathOptionsFromRouteName: boolean = true;\n private _currentRouteSpan: Span | null = null;\n private _instrumentationType: MXL_NAVIGATION_INSTRUMENTATIONS =\n MXL_NAVIGATION_INSTRUMENTATIONS.Manual;\n private _removeSessionStartedFn: (() => void) | null = null;\n private _removeSessionEndedFn: (() => void) | null = null;\n\n public constructor({\n diag,\n shouldCleanupPathOptionsFromRouteName = true,\n }: NavigationInstrumentationArgs) {\n super({\n config: {},\n diag,\n instrumentationName: 'NavigationInstrumentation',\n instrumentationVersion: '1.0.0',\n });\n\n this._shouldCleanupPathOptionsFromRouteName =\n shouldCleanupPathOptionsFromRouteName;\n\n if (this._config.enabled) {\n this.enable();\n }\n }\n\n public setInstrumentationType = (\n instrumentationType: MXL_NAVIGATION_INSTRUMENTATIONS,\n ) => {\n this._instrumentationType = instrumentationType;\n };\n\n public setCurrentRoute = (route: Route) => {\n if (!this._config.enabled) {\n return;\n }\n\n const currentRoute = page.getCurrentRoute();\n\n if (route.url !== currentRoute?.url) {\n page.setCurrentRoute(route);\n\n this._endRouteSpan(currentRoute);\n this._startRouteSpan(route);\n }\n };\n\n private readonly _setupSessionListeners = () => {\n if (!this._removeSessionStartedFn) {\n this._removeSessionStartedFn =\n this.userSessionManager.addSessionPartStartedListener(() => {\n const currentRoute = page.getCurrentRoute();\n\n if (currentRoute && !this._currentRouteSpan) {\n this._diag.debug('Session started, starting route span.');\n\n this._startRouteSpan(currentRoute);\n }\n });\n }\n\n if (!this._removeSessionEndedFn) {\n this._removeSessionEndedFn =\n this.userSessionManager.addSessionPartEndedListener(() => {\n if (this._currentRouteSpan) {\n this._diag.debug('Session ended, ending route span.');\n\n this._endRouteSpan(page.getCurrentRoute());\n }\n });\n }\n };\n\n private readonly _cleanUpSessionListeners = () => {\n if (this._removeSessionStartedFn) {\n this._removeSessionStartedFn();\n this._removeSessionStartedFn = null;\n }\n\n if (this._removeSessionEndedFn) {\n this._removeSessionEndedFn();\n this._removeSessionEndedFn = null;\n }\n };\n\n private readonly _startRouteSpan = (route: Route): Span => {\n this._diag.debug(`Starting route span for url: ${route.url}`);\n this._setupSessionListeners();\n\n const pathName = this._shouldCleanupPathOptionsFromRouteName\n ? route.path.replace(PATH_OPTIONS_RE, '')\n : route.path;\n this._currentRouteSpan = this.tracer.startSpan(pathName, {\n attributes: {\n [KEY_MXL_TYPE]: MXL_TYPES.Surface,\n [KEY_MXL_PAGE_PATH]: pathName,\n [KEY_MXL_PAGE_ID]: page.getCurrentPageId() || undefined,\n },\n });\n\n this._currentRouteSpan.setAttribute(\n KEY_MXL_INSTRUMENTATION,\n this._instrumentationType,\n );\n\n return this._currentRouteSpan;\n };\n\n private readonly _endRouteSpan = (currentRoute: Route | null) => {\n if (this._currentRouteSpan) {\n if (currentRoute) {\n this._diag.debug(`Ending route span for url: ${currentRoute.url}`);\n }\n\n this._currentRouteSpan.end();\n this._currentRouteSpan = null;\n }\n };\n\n public enable = () => {\n this.setConfig({\n enabled: true,\n });\n this._diag.debug(\n 'NavigationInstrumentation enabled, listening for navigation events.',\n );\n };\n\n public disable = () => {\n this._cleanUpSessionListeners();\n this.setConfig({\n enabled: false,\n });\n this._diag.debug(\n 'NavigationInstrumentation disabled, stopped listening for navigation events.',\n );\n };\n}\n"],"mappings":";;;;AAiBA,MAAM,kBAAkB;AAExB,IAAa,4BAAb,cAA+C,uBAAuB;CACpE,yCAAmE;CACnE,oBAAyC;CACzC,uBAAQ;CAER,0BAAuD;CACvD,wBAAqD;CAErD,YAAmB,EACjB,MACA,wCAAwC,QACR;AAChC,QAAM;GACJ,QAAQ,EAAE;GACV;GACA,qBAAqB;GACrB,wBAAwB;GACzB,CAAC;AAEF,OAAK,yCACH;AAEF,MAAI,KAAK,QAAQ,QACf,MAAK,QAAQ;;CAIjB,0BACE,wBACG;AACH,OAAK,uBAAuB;;CAG9B,mBAA0B,UAAiB;AACzC,MAAI,CAAC,KAAK,QAAQ,QAChB;EAGF,MAAM,eAAe,KAAK,iBAAiB;AAE3C,MAAI,MAAM,QAAQ,cAAc,KAAK;AACnC,QAAK,gBAAgB,MAAM;AAE3B,QAAK,cAAc,aAAa;AAChC,QAAK,gBAAgB,MAAM;;;CAI/B,+BAAgD;AAC9C,MAAI,CAAC,KAAK,wBACR,MAAK,0BACH,KAAK,mBAAmB,oCAAoC;GAC1D,MAAM,eAAe,KAAK,iBAAiB;AAE3C,OAAI,gBAAgB,CAAC,KAAK,mBAAmB;AAC3C,SAAK,MAAM,MAAM,wCAAwC;AAEzD,SAAK,gBAAgB,aAAa;;IAEpC;AAGN,MAAI,CAAC,KAAK,sBACR,MAAK,wBACH,KAAK,mBAAmB,kCAAkC;AACxD,OAAI,KAAK,mBAAmB;AAC1B,SAAK,MAAM,MAAM,oCAAoC;AAErD,SAAK,cAAc,KAAK,iBAAiB,CAAC;;IAE5C;;CAIR,iCAAkD;AAChD,MAAI,KAAK,yBAAyB;AAChC,QAAK,yBAAyB;AAC9B,QAAK,0BAA0B;;AAGjC,MAAI,KAAK,uBAAuB;AAC9B,QAAK,uBAAuB;AAC5B,QAAK,wBAAwB;;;CAIjC,mBAAoC,UAAuB;AACzD,OAAK,MAAM,MAAM,gCAAgC,MAAM,MAAM;AAC7D,OAAK,wBAAwB;EAE7B,MAAM,WAAW,KAAK,yCAClB,MAAM,KAAK,QAAQ,iBAAiB,GAAG,GACvC,MAAM;AACV,OAAK,oBAAoB,KAAK,OAAO,UAAU,UAAU,EACvD,YAAY;IACT,eAAA;IACA,oBAAoB;IACpB,kBAAkB,KAAK,kBAAkB,IAAI,KAAA;GAC/C,EACF,CAAC;AAEF,OAAK,kBAAkB,aACrB,yBACA,KAAK,qBACN;AAED,SAAO,KAAK;;CAGd,iBAAkC,iBAA+B;AAC/D,MAAI,KAAK,mBAAmB;AAC1B,OAAI,aACF,MAAK,MAAM,MAAM,8BAA8B,aAAa,MAAM;AAGpE,QAAK,kBAAkB,KAAK;AAC5B,QAAK,oBAAoB;;;CAI7B,eAAsB;AACpB,OAAK,UAAU,EACb,SAAS,MACV,CAAC;AACF,OAAK,MAAM,MACT,sEACD;;CAGH,gBAAuB;AACrB,OAAK,0BAA0B;AAC/B,OAAK,UAAU,EACb,SAAS,OACV,CAAC;AACF,OAAK,MAAM,MACT,+EACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"withMXLRoutingLegacy.cjs","names":["getNavigationInstrumentation","React"],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV5/withMXLRoutingLegacy.ts"],"sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport * as React from 'react';\nimport { MXL_NAVIGATION_INSTRUMENTATIONS } from '../../../../../constants';\nimport { getNavigationInstrumentation } from '../..';\nimport type { RouteComponentProps, SwitchedRouteComponentProps } from './types';\n\nexport const withMXLRoutingLegacy = <P extends RouteComponentProps>(\n WrappedComponent: React.ComponentType<P>,\n) => {\n const navigationInstrumentation = getNavigationInstrumentation();\n navigationInstrumentation.setInstrumentationType(\n MXL_NAVIGATION_INSTRUMENTATIONS.DeclarativeLegacy,\n );\n\n const RouteWithMXLRoutingLegacy: React.FC<P> = (props: P) => {\n // Make sure this is Route component\n if (props.path) {\n // Routes get injected with computedMatch when they are children of a <Switch> but the types do not reflect that\n // Manually setting the type here.\n const routeProps = props as SwitchedRouteComponentProps;\n\n // Depends on this internal behaviour\n // https://github.com/remix-run/react-router/blob/v5.3.4/packages/react-router/modules/Switch.js#L40\n // It shouldn't change as this version is legacy, and it's not being actively worked on\n if (routeProps.computedMatch) {\n navigationInstrumentation.setCurrentRoute({\n path: routeProps.computedMatch.path,\n url: routeProps.computedMatch.url,\n });\n }\n }\n\n return React.createElement<P>(WrappedComponent, props);\n };\n\n // Keep wrapped component metadata\n RouteWithMXLRoutingLegacy.displayName = `withMXLRoutingLegacy(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`;\n hoistNonReactStatics(RouteWithMXLRoutingLegacy, WrappedComponent);\n\n return RouteWithMXLRoutingLegacy;\n};\n"],"mappings":";;;;;;;;;AAMA,MAAa,wBACX,qBACG;CACH,MAAM,4BAA4BA,uEAAAA,8BAA8B;AAChE,2BAA0B,uBAAA,kCAEzB;CAED,MAAM,6BAA0C,UAAa;AAE3D,MAAI,MAAM,MAAM;GAGd,MAAM,aAAa;AAKnB,OAAI,WAAW,cACb,2BAA0B,gBAAgB;IACxC,MAAM,WAAW,cAAc;IAC/B,KAAK,WAAW,cAAc;IAC/B,CAAC;;AAIN,SAAOC,MAAM,cAAiB,kBAAkB,MAAM;;AAIxD,2BAA0B,cAAc,wBAAwB,iBAAiB,eAAe,iBAAiB,QAAQ,YAAY;AACrI,EAAA,GAAA,wBAAA,SAAqB,2BAA2B,iBAAiB;AAEjE,QAAO"}
1
+ {"version":3,"file":"withMXLRoutingLegacy.cjs","names":["getNavigationInstrumentation","React"],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV5/withMXLRoutingLegacy.ts"],"sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport * as React from 'react';\nimport { getNavigationInstrumentation } from '../..';\nimport { MXL_NAVIGATION_INSTRUMENTATIONS } from '../../../../../constants';\nimport type { RouteComponentProps, SwitchedRouteComponentProps } from './types';\n\nexport const withMXLRoutingLegacy = <P extends RouteComponentProps>(\n WrappedComponent: React.ComponentType<P>,\n) => {\n const navigationInstrumentation = getNavigationInstrumentation();\n navigationInstrumentation.setInstrumentationType(\n MXL_NAVIGATION_INSTRUMENTATIONS.DeclarativeLegacy,\n );\n\n const RouteWithMXLRoutingLegacy: React.FC<P> = (props: P) => {\n // Make sure this is Route component\n if (props.path) {\n // Routes get injected with computedMatch when they are children of a <Switch> but the types do not reflect that\n // Manually setting the type here.\n const routeProps = props as SwitchedRouteComponentProps;\n\n // Depends on this internal behaviour\n // https://github.com/remix-run/react-router/blob/v5.3.4/packages/react-router/modules/Switch.js#L40\n // It shouldn't change as this version is legacy, and it's not being actively worked on\n if (routeProps.computedMatch) {\n navigationInstrumentation.setCurrentRoute({\n path: routeProps.computedMatch.path,\n url: routeProps.computedMatch.url,\n });\n }\n }\n\n return React.createElement<P>(WrappedComponent, props);\n };\n\n // Keep wrapped component metadata\n RouteWithMXLRoutingLegacy.displayName = `withMXLRoutingLegacy(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`;\n hoistNonReactStatics(RouteWithMXLRoutingLegacy, WrappedComponent);\n\n return RouteWithMXLRoutingLegacy;\n};\n"],"mappings":";;;;;;;;;AAMA,MAAa,wBACX,qBACG;CACH,MAAM,4BAA4BA,uEAAAA,8BAA8B;AAChE,2BAA0B,uBAAA,kCAEzB;CAED,MAAM,6BAA0C,UAAa;AAE3D,MAAI,MAAM,MAAM;GAGd,MAAM,aAAa;AAKnB,OAAI,WAAW,cACb,2BAA0B,gBAAgB;IACxC,MAAM,WAAW,cAAc;IAC/B,KAAK,WAAW,cAAc;IAC/B,CAAC;;AAIN,SAAOC,MAAM,cAAiB,kBAAkB,MAAM;;AAIxD,2BAA0B,cAAc,wBAAwB,iBAAiB,eAAe,iBAAiB,QAAQ,YAAY;AACrI,EAAA,GAAA,wBAAA,SAAqB,2BAA2B,iBAAiB;AAEjE,QAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"withMXLRoutingLegacy.js","names":["React"],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV5/withMXLRoutingLegacy.ts"],"sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport * as React from 'react';\nimport { MXL_NAVIGATION_INSTRUMENTATIONS } from '../../../../../constants';\nimport { getNavigationInstrumentation } from '../..';\nimport type { RouteComponentProps, SwitchedRouteComponentProps } from './types';\n\nexport const withMXLRoutingLegacy = <P extends RouteComponentProps>(\n WrappedComponent: React.ComponentType<P>,\n) => {\n const navigationInstrumentation = getNavigationInstrumentation();\n navigationInstrumentation.setInstrumentationType(\n MXL_NAVIGATION_INSTRUMENTATIONS.DeclarativeLegacy,\n );\n\n const RouteWithMXLRoutingLegacy: React.FC<P> = (props: P) => {\n // Make sure this is Route component\n if (props.path) {\n // Routes get injected with computedMatch when they are children of a <Switch> but the types do not reflect that\n // Manually setting the type here.\n const routeProps = props as SwitchedRouteComponentProps;\n\n // Depends on this internal behaviour\n // https://github.com/remix-run/react-router/blob/v5.3.4/packages/react-router/modules/Switch.js#L40\n // It shouldn't change as this version is legacy, and it's not being actively worked on\n if (routeProps.computedMatch) {\n navigationInstrumentation.setCurrentRoute({\n path: routeProps.computedMatch.path,\n url: routeProps.computedMatch.url,\n });\n }\n }\n\n return React.createElement<P>(WrappedComponent, props);\n };\n\n // Keep wrapped component metadata\n RouteWithMXLRoutingLegacy.displayName = `withMXLRoutingLegacy(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`;\n hoistNonReactStatics(RouteWithMXLRoutingLegacy, WrappedComponent);\n\n return RouteWithMXLRoutingLegacy;\n};\n"],"mappings":";;;;;AAMA,MAAa,wBACX,qBACG;CACH,MAAM,4BAA4B,8BAA8B;AAChE,2BAA0B,uBAAA,kCAEzB;CAED,MAAM,6BAA0C,UAAa;AAE3D,MAAI,MAAM,MAAM;GAGd,MAAM,aAAa;AAKnB,OAAI,WAAW,cACb,2BAA0B,gBAAgB;IACxC,MAAM,WAAW,cAAc;IAC/B,KAAK,WAAW,cAAc;IAC/B,CAAC;;AAIN,SAAOA,QAAM,cAAiB,kBAAkB,MAAM;;AAIxD,2BAA0B,cAAc,wBAAwB,iBAAiB,eAAe,iBAAiB,QAAQ,YAAY;AACrI,sBAAqB,2BAA2B,iBAAiB;AAEjE,QAAO"}
1
+ {"version":3,"file":"withMXLRoutingLegacy.js","names":["React"],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV5/withMXLRoutingLegacy.ts"],"sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport * as React from 'react';\nimport { getNavigationInstrumentation } from '../..';\nimport { MXL_NAVIGATION_INSTRUMENTATIONS } from '../../../../../constants';\nimport type { RouteComponentProps, SwitchedRouteComponentProps } from './types';\n\nexport const withMXLRoutingLegacy = <P extends RouteComponentProps>(\n WrappedComponent: React.ComponentType<P>,\n) => {\n const navigationInstrumentation = getNavigationInstrumentation();\n navigationInstrumentation.setInstrumentationType(\n MXL_NAVIGATION_INSTRUMENTATIONS.DeclarativeLegacy,\n );\n\n const RouteWithMXLRoutingLegacy: React.FC<P> = (props: P) => {\n // Make sure this is Route component\n if (props.path) {\n // Routes get injected with computedMatch when they are children of a <Switch> but the types do not reflect that\n // Manually setting the type here.\n const routeProps = props as SwitchedRouteComponentProps;\n\n // Depends on this internal behaviour\n // https://github.com/remix-run/react-router/blob/v5.3.4/packages/react-router/modules/Switch.js#L40\n // It shouldn't change as this version is legacy, and it's not being actively worked on\n if (routeProps.computedMatch) {\n navigationInstrumentation.setCurrentRoute({\n path: routeProps.computedMatch.path,\n url: routeProps.computedMatch.url,\n });\n }\n }\n\n return React.createElement<P>(WrappedComponent, props);\n };\n\n // Keep wrapped component metadata\n RouteWithMXLRoutingLegacy.displayName = `withMXLRoutingLegacy(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`;\n hoistNonReactStatics(RouteWithMXLRoutingLegacy, WrappedComponent);\n\n return RouteWithMXLRoutingLegacy;\n};\n"],"mappings":";;;;;AAMA,MAAa,wBACX,qBACG;CACH,MAAM,4BAA4B,8BAA8B;AAChE,2BAA0B,uBAAA,kCAEzB;CAED,MAAM,6BAA0C,UAAa;AAE3D,MAAI,MAAM,MAAM;GAGd,MAAM,aAAa;AAKnB,OAAI,WAAW,cACb,2BAA0B,gBAAgB;IACxC,MAAM,WAAW,cAAc;IAC/B,KAAK,WAAW,cAAc;IAC/B,CAAC;;AAIN,SAAOA,QAAM,cAAiB,kBAAkB,MAAM;;AAIxD,2BAA0B,cAAc,wBAAwB,iBAAiB,eAAe,iBAAiB,QAAQ,YAAY;AACrI,sBAAqB,2BAA2B,iBAAiB;AAEjE,QAAO"}
@@ -3,7 +3,7 @@ require("../../../../../constants/attributes.cjs");
3
3
  const require_instrumentations_navigation_NavigationInstrumentation_instance = require("../../instance.cjs");
4
4
  //#region src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.ts
5
5
  /**
6
- * getRouteFromMatches goes through all the matches routes to build the full path
6
+ * GetRouteFromMatches goes through all the matches routes to build the full path
7
7
  * nested routes contain only the partial match, so we need to go through all of them
8
8
  * in order to build the full path.
9
9
  *
@@ -1 +1 @@
1
- {"version":3,"file":"listenToRouterChanges.cjs","names":["getNavigationInstrumentation"],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.ts"],"sourcesContent":["import type { Route } from '../../../../../api-page';\nimport { MXL_NAVIGATION_INSTRUMENTATIONS } from '../../../../../constants';\nimport { getNavigationInstrumentation } from '../..';\nimport type { ListenToRouterChangesArgs, Match } from './types';\n\n/**\n * getRouteFromMatches goes through all the matches routes to build the full path\n * nested routes contain only the partial match, so we need to go through all of them\n * in order to build the full path.\n *\n * Filtering by currentPathname ensures that we only consider routes that are relevant to the current URL.\n */\nconst getRouteFromMatches = (\n matches: Match[],\n currentPathname: string,\n): Route | null => {\n const currentMatchIndex = matches.findIndex(\n (match) => match.pathname === currentPathname,\n );\n\n if (currentMatchIndex === -1 || !matches[currentMatchIndex].route.path) {\n return null;\n }\n\n // Build full absolute path by reducing all matches up to the current one.\n // Absolute child paths reset the accumulation; relative paths are appended.\n return matches\n .slice(0, currentMatchIndex + 1)\n .reduce<Route | null>((acc, match) => {\n const routePath = match.route.path;\n\n if (!routePath) {\n return acc;\n }\n\n // If the route path starts with '/', it's an absolute path and should reset the accumulated path.\n // Otherwise, it's a relative path and should be appended to the accumulated path.\n const path = routePath.startsWith('/')\n ? routePath\n : `${acc?.path ?? ''}/${routePath}`;\n\n return { path, url: matches[currentMatchIndex].pathname };\n }, null);\n};\n\nexport const listenToRouterChanges = ({\n router,\n routesMatcher,\n config: { pathnameDocument = window.location } = {},\n}: ListenToRouterChangesArgs) => {\n const navigationInstrumentation = getNavigationInstrumentation();\n navigationInstrumentation.setInstrumentationType(\n MXL_NAVIGATION_INSTRUMENTATIONS.Data,\n );\n\n const initialMatches = routesMatcher(router.routes, {\n pathname: pathnameDocument.pathname,\n });\n\n const initialRoute = initialMatches\n ? getRouteFromMatches(initialMatches, pathnameDocument.pathname)\n : null;\n\n if (initialRoute) {\n navigationInstrumentation.setCurrentRoute(initialRoute);\n }\n\n return router.subscribe((state) => {\n // State has a list of already matched routes\n // https://github.com/remix-run/react-router/blob/main/packages/react-router/lib/router/router.ts#L954\n const currentRoute = getRouteFromMatches(\n state.matches,\n state.location.pathname,\n );\n\n if (currentRoute) {\n navigationInstrumentation.setCurrentRoute(currentRoute);\n }\n });\n};\n"],"mappings":";;;;;;;;;;;AAYA,MAAM,uBACJ,SACA,oBACiB;CACjB,MAAM,oBAAoB,QAAQ,WAC/B,UAAU,MAAM,aAAa,gBAC/B;AAED,KAAI,sBAAsB,MAAM,CAAC,QAAQ,mBAAmB,MAAM,KAChE,QAAO;AAKT,QAAO,QACJ,MAAM,GAAG,oBAAoB,EAAE,CAC/B,QAAsB,KAAK,UAAU;EACpC,MAAM,YAAY,MAAM,MAAM;AAE9B,MAAI,CAAC,UACH,QAAO;AAST,SAAO;GAAE,MAJI,UAAU,WAAW,IAAI,GAClC,YACA,GAAG,KAAK,QAAQ,GAAG,GAAG;GAEX,KAAK,QAAQ,mBAAmB;GAAU;IACxD,KAAK;;AAGZ,MAAa,yBAAyB,EACpC,QACA,eACA,QAAQ,EAAE,mBAAmB,OAAO,aAAa,EAAE,OACpB;CAC/B,MAAM,4BAA4BA,uEAAAA,8BAA8B;AAChE,2BAA0B,uBAAA,oBAEzB;CAED,MAAM,iBAAiB,cAAc,OAAO,QAAQ,EAClD,UAAU,iBAAiB,UAC5B,CAAC;CAEF,MAAM,eAAe,iBACjB,oBAAoB,gBAAgB,iBAAiB,SAAS,GAC9D;AAEJ,KAAI,aACF,2BAA0B,gBAAgB,aAAa;AAGzD,QAAO,OAAO,WAAW,UAAU;EAGjC,MAAM,eAAe,oBACnB,MAAM,SACN,MAAM,SAAS,SAChB;AAED,MAAI,aACF,2BAA0B,gBAAgB,aAAa;GAEzD"}
1
+ {"version":3,"file":"listenToRouterChanges.cjs","names":["getNavigationInstrumentation"],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.ts"],"sourcesContent":["import { getNavigationInstrumentation } from '../..';\nimport type { Route } from '../../../../../api-page';\nimport { MXL_NAVIGATION_INSTRUMENTATIONS } from '../../../../../constants';\nimport type { ListenToRouterChangesArgs, Match } from './types';\n\n/**\n * GetRouteFromMatches goes through all the matches routes to build the full path\n * nested routes contain only the partial match, so we need to go through all of them\n * in order to build the full path.\n *\n * Filtering by currentPathname ensures that we only consider routes that are relevant to the current URL.\n */\nconst getRouteFromMatches = (\n matches: Match[],\n currentPathname: string,\n): Route | null => {\n const currentMatchIndex = matches.findIndex(\n (match) => match.pathname === currentPathname,\n );\n\n if (currentMatchIndex === -1 || !matches[currentMatchIndex].route.path) {\n return null;\n }\n\n // Build full absolute path by reducing all matches up to the current one.\n // Absolute child paths reset the accumulation; relative paths are appended.\n return matches\n .slice(0, currentMatchIndex + 1)\n .reduce<Route | null>((acc, match) => {\n const routePath = match.route.path;\n\n if (!routePath) {\n return acc;\n }\n\n // If the route path starts with '/', it's an absolute path and should reset the accumulated path.\n // Otherwise, it's a relative path and should be appended to the accumulated path.\n const path = routePath.startsWith('/')\n ? routePath\n : `${acc?.path ?? ''}/${routePath}`;\n\n return { path, url: matches[currentMatchIndex].pathname };\n }, null);\n};\n\nexport const listenToRouterChanges = ({\n router,\n routesMatcher,\n config: { pathnameDocument = window.location } = {},\n}: ListenToRouterChangesArgs) => {\n const navigationInstrumentation = getNavigationInstrumentation();\n navigationInstrumentation.setInstrumentationType(\n MXL_NAVIGATION_INSTRUMENTATIONS.Data,\n );\n\n const initialMatches = routesMatcher(router.routes, {\n pathname: pathnameDocument.pathname,\n });\n\n const initialRoute = initialMatches\n ? getRouteFromMatches(initialMatches, pathnameDocument.pathname)\n : null;\n\n if (initialRoute) {\n navigationInstrumentation.setCurrentRoute(initialRoute);\n }\n\n return router.subscribe((state) => {\n // State has a list of already matched routes\n // https://github.com/remix-run/react-router/blob/main/packages/react-router/lib/router/router.ts#L954\n const currentRoute = getRouteFromMatches(\n state.matches,\n state.location.pathname,\n );\n\n if (currentRoute) {\n navigationInstrumentation.setCurrentRoute(currentRoute);\n }\n });\n};\n"],"mappings":";;;;;;;;;;;AAYA,MAAM,uBACJ,SACA,oBACiB;CACjB,MAAM,oBAAoB,QAAQ,WAC/B,UAAU,MAAM,aAAa,gBAC/B;AAED,KAAI,sBAAsB,MAAM,CAAC,QAAQ,mBAAmB,MAAM,KAChE,QAAO;AAKT,QAAO,QACJ,MAAM,GAAG,oBAAoB,EAAE,CAC/B,QAAsB,KAAK,UAAU;EACpC,MAAM,YAAY,MAAM,MAAM;AAE9B,MAAI,CAAC,UACH,QAAO;AAST,SAAO;GAAE,MAJI,UAAU,WAAW,IAAI,GAClC,YACA,GAAG,KAAK,QAAQ,GAAG,GAAG;GAEX,KAAK,QAAQ,mBAAmB;GAAU;IACxD,KAAK;;AAGZ,MAAa,yBAAyB,EACpC,QACA,eACA,QAAQ,EAAE,mBAAmB,OAAO,aAAa,EAAE,OACpB;CAC/B,MAAM,4BAA4BA,uEAAAA,8BAA8B;AAChE,2BAA0B,uBAAA,oBAEzB;CAED,MAAM,iBAAiB,cAAc,OAAO,QAAQ,EAClD,UAAU,iBAAiB,UAC5B,CAAC;CAEF,MAAM,eAAe,iBACjB,oBAAoB,gBAAgB,iBAAiB,SAAS,GAC9D;AAEJ,KAAI,aACF,2BAA0B,gBAAgB,aAAa;AAGzD,QAAO,OAAO,WAAW,UAAU;EAGjC,MAAM,eAAe,oBACnB,MAAM,SACN,MAAM,SAAS,SAChB;AAED,MAAI,aACF,2BAA0B,gBAAgB,aAAa;GAEzD"}
@@ -2,7 +2,7 @@ import "../../../../../constants/attributes.js";
2
2
  import { getNavigationInstrumentation } from "../../instance.js";
3
3
  //#region src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.ts
4
4
  /**
5
- * getRouteFromMatches goes through all the matches routes to build the full path
5
+ * GetRouteFromMatches goes through all the matches routes to build the full path
6
6
  * nested routes contain only the partial match, so we need to go through all of them
7
7
  * in order to build the full path.
8
8
  *
@@ -1 +1 @@
1
- {"version":3,"file":"listenToRouterChanges.js","names":[],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.ts"],"sourcesContent":["import type { Route } from '../../../../../api-page';\nimport { MXL_NAVIGATION_INSTRUMENTATIONS } from '../../../../../constants';\nimport { getNavigationInstrumentation } from '../..';\nimport type { ListenToRouterChangesArgs, Match } from './types';\n\n/**\n * getRouteFromMatches goes through all the matches routes to build the full path\n * nested routes contain only the partial match, so we need to go through all of them\n * in order to build the full path.\n *\n * Filtering by currentPathname ensures that we only consider routes that are relevant to the current URL.\n */\nconst getRouteFromMatches = (\n matches: Match[],\n currentPathname: string,\n): Route | null => {\n const currentMatchIndex = matches.findIndex(\n (match) => match.pathname === currentPathname,\n );\n\n if (currentMatchIndex === -1 || !matches[currentMatchIndex].route.path) {\n return null;\n }\n\n // Build full absolute path by reducing all matches up to the current one.\n // Absolute child paths reset the accumulation; relative paths are appended.\n return matches\n .slice(0, currentMatchIndex + 1)\n .reduce<Route | null>((acc, match) => {\n const routePath = match.route.path;\n\n if (!routePath) {\n return acc;\n }\n\n // If the route path starts with '/', it's an absolute path and should reset the accumulated path.\n // Otherwise, it's a relative path and should be appended to the accumulated path.\n const path = routePath.startsWith('/')\n ? routePath\n : `${acc?.path ?? ''}/${routePath}`;\n\n return { path, url: matches[currentMatchIndex].pathname };\n }, null);\n};\n\nexport const listenToRouterChanges = ({\n router,\n routesMatcher,\n config: { pathnameDocument = window.location } = {},\n}: ListenToRouterChangesArgs) => {\n const navigationInstrumentation = getNavigationInstrumentation();\n navigationInstrumentation.setInstrumentationType(\n MXL_NAVIGATION_INSTRUMENTATIONS.Data,\n );\n\n const initialMatches = routesMatcher(router.routes, {\n pathname: pathnameDocument.pathname,\n });\n\n const initialRoute = initialMatches\n ? getRouteFromMatches(initialMatches, pathnameDocument.pathname)\n : null;\n\n if (initialRoute) {\n navigationInstrumentation.setCurrentRoute(initialRoute);\n }\n\n return router.subscribe((state) => {\n // State has a list of already matched routes\n // https://github.com/remix-run/react-router/blob/main/packages/react-router/lib/router/router.ts#L954\n const currentRoute = getRouteFromMatches(\n state.matches,\n state.location.pathname,\n );\n\n if (currentRoute) {\n navigationInstrumentation.setCurrentRoute(currentRoute);\n }\n });\n};\n"],"mappings":";;;;;;;;;;AAYA,MAAM,uBACJ,SACA,oBACiB;CACjB,MAAM,oBAAoB,QAAQ,WAC/B,UAAU,MAAM,aAAa,gBAC/B;AAED,KAAI,sBAAsB,MAAM,CAAC,QAAQ,mBAAmB,MAAM,KAChE,QAAO;AAKT,QAAO,QACJ,MAAM,GAAG,oBAAoB,EAAE,CAC/B,QAAsB,KAAK,UAAU;EACpC,MAAM,YAAY,MAAM,MAAM;AAE9B,MAAI,CAAC,UACH,QAAO;AAST,SAAO;GAAE,MAJI,UAAU,WAAW,IAAI,GAClC,YACA,GAAG,KAAK,QAAQ,GAAG,GAAG;GAEX,KAAK,QAAQ,mBAAmB;GAAU;IACxD,KAAK;;AAGZ,MAAa,yBAAyB,EACpC,QACA,eACA,QAAQ,EAAE,mBAAmB,OAAO,aAAa,EAAE,OACpB;CAC/B,MAAM,4BAA4B,8BAA8B;AAChE,2BAA0B,uBAAA,oBAEzB;CAED,MAAM,iBAAiB,cAAc,OAAO,QAAQ,EAClD,UAAU,iBAAiB,UAC5B,CAAC;CAEF,MAAM,eAAe,iBACjB,oBAAoB,gBAAgB,iBAAiB,SAAS,GAC9D;AAEJ,KAAI,aACF,2BAA0B,gBAAgB,aAAa;AAGzD,QAAO,OAAO,WAAW,UAAU;EAGjC,MAAM,eAAe,oBACnB,MAAM,SACN,MAAM,SAAS,SAChB;AAED,MAAI,aACF,2BAA0B,gBAAgB,aAAa;GAEzD"}
1
+ {"version":3,"file":"listenToRouterChanges.js","names":[],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/listenToRouterChanges.ts"],"sourcesContent":["import { getNavigationInstrumentation } from '../..';\nimport type { Route } from '../../../../../api-page';\nimport { MXL_NAVIGATION_INSTRUMENTATIONS } from '../../../../../constants';\nimport type { ListenToRouterChangesArgs, Match } from './types';\n\n/**\n * GetRouteFromMatches goes through all the matches routes to build the full path\n * nested routes contain only the partial match, so we need to go through all of them\n * in order to build the full path.\n *\n * Filtering by currentPathname ensures that we only consider routes that are relevant to the current URL.\n */\nconst getRouteFromMatches = (\n matches: Match[],\n currentPathname: string,\n): Route | null => {\n const currentMatchIndex = matches.findIndex(\n (match) => match.pathname === currentPathname,\n );\n\n if (currentMatchIndex === -1 || !matches[currentMatchIndex].route.path) {\n return null;\n }\n\n // Build full absolute path by reducing all matches up to the current one.\n // Absolute child paths reset the accumulation; relative paths are appended.\n return matches\n .slice(0, currentMatchIndex + 1)\n .reduce<Route | null>((acc, match) => {\n const routePath = match.route.path;\n\n if (!routePath) {\n return acc;\n }\n\n // If the route path starts with '/', it's an absolute path and should reset the accumulated path.\n // Otherwise, it's a relative path and should be appended to the accumulated path.\n const path = routePath.startsWith('/')\n ? routePath\n : `${acc?.path ?? ''}/${routePath}`;\n\n return { path, url: matches[currentMatchIndex].pathname };\n }, null);\n};\n\nexport const listenToRouterChanges = ({\n router,\n routesMatcher,\n config: { pathnameDocument = window.location } = {},\n}: ListenToRouterChangesArgs) => {\n const navigationInstrumentation = getNavigationInstrumentation();\n navigationInstrumentation.setInstrumentationType(\n MXL_NAVIGATION_INSTRUMENTATIONS.Data,\n );\n\n const initialMatches = routesMatcher(router.routes, {\n pathname: pathnameDocument.pathname,\n });\n\n const initialRoute = initialMatches\n ? getRouteFromMatches(initialMatches, pathnameDocument.pathname)\n : null;\n\n if (initialRoute) {\n navigationInstrumentation.setCurrentRoute(initialRoute);\n }\n\n return router.subscribe((state) => {\n // State has a list of already matched routes\n // https://github.com/remix-run/react-router/blob/main/packages/react-router/lib/router/router.ts#L954\n const currentRoute = getRouteFromMatches(\n state.matches,\n state.location.pathname,\n );\n\n if (currentRoute) {\n navigationInstrumentation.setCurrentRoute(currentRoute);\n }\n });\n};\n"],"mappings":";;;;;;;;;;AAYA,MAAM,uBACJ,SACA,oBACiB;CACjB,MAAM,oBAAoB,QAAQ,WAC/B,UAAU,MAAM,aAAa,gBAC/B;AAED,KAAI,sBAAsB,MAAM,CAAC,QAAQ,mBAAmB,MAAM,KAChE,QAAO;AAKT,QAAO,QACJ,MAAM,GAAG,oBAAoB,EAAE,CAC/B,QAAsB,KAAK,UAAU;EACpC,MAAM,YAAY,MAAM,MAAM;AAE9B,MAAI,CAAC,UACH,QAAO;AAST,SAAO;GAAE,MAJI,UAAU,WAAW,IAAI,GAClC,YACA,GAAG,KAAK,QAAQ,GAAG,GAAG;GAEX,KAAK,QAAQ,mBAAmB;GAAU;IACxD,KAAK;;AAGZ,MAAa,yBAAyB,EACpC,QACA,eACA,QAAQ,EAAE,mBAAmB,OAAO,aAAa,EAAE,OACpB;CAC/B,MAAM,4BAA4B,8BAA8B;AAChE,2BAA0B,uBAAA,oBAEzB;CAED,MAAM,iBAAiB,cAAc,OAAO,QAAQ,EAClD,UAAU,iBAAiB,UAC5B,CAAC;CAEF,MAAM,eAAe,iBACjB,oBAAoB,gBAAgB,iBAAiB,SAAS,GAC9D;AAEJ,KAAI,aACF,2BAA0B,gBAAgB,aAAa;AAGzD,QAAO,OAAO,WAAW,UAAU;EAGjC,MAAM,eAAe,oBACnB,MAAM,SACN,MAAM,SAAS,SAChB;AAED,MAAI,aACF,2BAA0B,gBAAgB,aAAa;GAEzD"}
@@ -1,32 +1,32 @@
1
1
  import { PathnameDocument } from "../../../../../common/types.cjs";
2
2
 
3
3
  //#region src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/types.d.ts
4
- type Route = {
4
+ interface Route {
5
5
  path?: string;
6
- };
7
- type Match = {
6
+ }
7
+ interface Match {
8
8
  pathname: string;
9
9
  route: Route;
10
- };
11
- type Location = {
10
+ }
11
+ interface Location {
12
12
  pathname: string;
13
- };
14
- type RouterState = {
13
+ }
14
+ interface RouterState {
15
15
  location: Location;
16
16
  matches: Match[];
17
- };
17
+ }
18
18
  type MatchRoutesFunction = (routes: Route[], location: Location) => Match[] | null;
19
19
  interface Router {
20
20
  routes: Route[];
21
21
  subscribe: (listener: (state: RouterState) => void) => () => void;
22
22
  }
23
- type ListenToRouterChangesArgs = {
23
+ interface ListenToRouterChangesArgs {
24
24
  router: Router;
25
25
  routesMatcher: MatchRoutesFunction;
26
26
  config?: {
27
27
  pathnameDocument?: PathnameDocument;
28
28
  };
29
- };
29
+ }
30
30
  //#endregion
31
31
  export { ListenToRouterChangesArgs, Match, MatchRoutesFunction, Router, RouterState };
32
32
  //# sourceMappingURL=types.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.cts","names":[],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/types.ts"],"mappings":";;;KAEK,KAAA;EACH,IAAA;AAAA;AAAA,KAGU,KAAA;EACV,QAAA;EACA,KAAA,EAAO,KAAA;AAAA;AAAA,KAGJ,QAAA;EACH,QAAA;AAAA;AAAA,KAGU,WAAA;EACV,QAAA,EAAU,QAAA;EACV,OAAA,EAAS,KAAA;AAAA;AAAA,KAGC,mBAAA,IACV,MAAA,EAAQ,KAAA,IACR,QAAA,EAAU,QAAA,KACP,KAAA;AAAA,UAEY,MAAA;EACf,MAAA,EAAQ,KAAA;EACR,SAAA,GAAY,QAAA,GAAW,KAAA,EAAO,WAAA;AAAA;AAAA,KAGpB,yBAAA;EACV,MAAA,EAAQ,MAAA;EACR,aAAA,EAAe,mBAAA;EACf,MAAA;IACE,gBAAA,GAAmB,gBAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"types.d.cts","names":[],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/types.ts"],"mappings":";;;UAEU,KAAA;EACR,IAAA;AAAA;AAAA,UAGe,KAAA;EACf,QAAA;EACA,KAAA,EAAO,KAAA;AAAA;AAAA,UAGC,QAAA;EACR,QAAA;AAAA;AAAA,UAGe,WAAA;EACf,QAAA,EAAU,QAAA;EACV,OAAA,EAAS,KAAA;AAAA;AAAA,KAGC,mBAAA,IACV,MAAA,EAAQ,KAAA,IACR,QAAA,EAAU,QAAA,KACP,KAAA;AAAA,UAEY,MAAA;EACf,MAAA,EAAQ,KAAA;EACR,SAAA,GAAY,QAAA,GAAW,KAAA,EAAO,WAAA;AAAA;AAAA,UAGf,yBAAA;EACf,MAAA,EAAQ,MAAA;EACR,aAAA,EAAe,mBAAA;EACf,MAAA;IACE,gBAAA,GAAmB,gBAAA;EAAA;AAAA"}
@@ -1,32 +1,32 @@
1
1
  import { PathnameDocument } from "../../../../../common/types.js";
2
2
 
3
3
  //#region src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/types.d.ts
4
- type Route = {
4
+ interface Route {
5
5
  path?: string;
6
- };
7
- type Match = {
6
+ }
7
+ interface Match {
8
8
  pathname: string;
9
9
  route: Route;
10
- };
11
- type Location = {
10
+ }
11
+ interface Location {
12
12
  pathname: string;
13
- };
14
- type RouterState = {
13
+ }
14
+ interface RouterState {
15
15
  location: Location;
16
16
  matches: Match[];
17
- };
17
+ }
18
18
  type MatchRoutesFunction = (routes: Route[], location: Location) => Match[] | null;
19
19
  interface Router {
20
20
  routes: Route[];
21
21
  subscribe: (listener: (state: RouterState) => void) => () => void;
22
22
  }
23
- type ListenToRouterChangesArgs = {
23
+ interface ListenToRouterChangesArgs {
24
24
  router: Router;
25
25
  routesMatcher: MatchRoutesFunction;
26
26
  config?: {
27
27
  pathnameDocument?: PathnameDocument;
28
28
  };
29
- };
29
+ }
30
30
  //#endregion
31
31
  export { ListenToRouterChangesArgs, Match, MatchRoutesFunction, Router, RouterState };
32
32
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/types.ts"],"mappings":";;;KAEK,KAAA;EACH,IAAA;AAAA;AAAA,KAGU,KAAA;EACV,QAAA;EACA,KAAA,EAAO,KAAA;AAAA;AAAA,KAGJ,QAAA;EACH,QAAA;AAAA;AAAA,KAGU,WAAA;EACV,QAAA,EAAU,QAAA;EACV,OAAA,EAAS,KAAA;AAAA;AAAA,KAGC,mBAAA,IACV,MAAA,EAAQ,KAAA,IACR,QAAA,EAAU,QAAA,KACP,KAAA;AAAA,UAEY,MAAA;EACf,MAAA,EAAQ,KAAA;EACR,SAAA,GAAY,QAAA,GAAW,KAAA,EAAO,WAAA;AAAA;AAAA,KAGpB,yBAAA;EACV,MAAA,EAAQ,MAAA;EACR,aAAA,EAAe,mBAAA;EACf,MAAA;IACE,gBAAA,GAAmB,gBAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Data/types.ts"],"mappings":";;;UAEU,KAAA;EACR,IAAA;AAAA;AAAA,UAGe,KAAA;EACf,QAAA;EACA,KAAA,EAAO,KAAA;AAAA;AAAA,UAGC,QAAA;EACR,QAAA;AAAA;AAAA,UAGe,WAAA;EACf,QAAA,EAAU,QAAA;EACV,OAAA,EAAS,KAAA;AAAA;AAAA,KAGC,mBAAA,IACV,MAAA,EAAQ,KAAA,IACR,QAAA,EAAU,QAAA,KACP,KAAA;AAAA,UAEY,MAAA;EACf,MAAA,EAAQ,KAAA;EACR,SAAA,GAAY,QAAA,GAAW,KAAA,EAAO,WAAA;AAAA;AAAA,UAGf,yBAAA;EACf,MAAA,EAAQ,MAAA;EACR,aAAA,EAAe,mBAAA;EACf,MAAA;IACE,gBAAA,GAAmB,gBAAA;EAAA;AAAA"}
@@ -1,5 +1,5 @@
1
1
  //#region src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/types.d.ts
2
- type RoutesFunctionalComponentReturn = {
2
+ interface RoutesFunctionalComponentReturn {
3
3
  props: {
4
4
  match?: {
5
5
  pathname: string;
@@ -12,7 +12,7 @@ type RoutesFunctionalComponentReturn = {
12
12
  outlet: RoutesFunctionalComponentReturn | null;
13
13
  };
14
14
  };
15
- };
15
+ }
16
16
  //#endregion
17
17
  export { RoutesFunctionalComponentReturn };
18
18
  //# sourceMappingURL=types.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.cts","names":[],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/types.ts"],"mappings":";KAEY,+BAAA;EACV,KAAA;IACE,KAAA;MACE,QAAA;MACA,YAAA;MACA,KAAA;QACE,IAAA;MAAA;IAAA;IAGJ,YAAA;MAEE,MAAA,EAAQ,+BAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"types.d.cts","names":[],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/types.ts"],"mappings":";UAEiB,+BAAA;EACf,KAAA;IACE,KAAA;MACE,QAAA;MACA,YAAA;MACA,KAAA;QACE,IAAA;MAAA;IAAA;IAGJ,YAAA;MAEE,MAAA,EAAQ,+BAAA;IAAA;EAAA;AAAA"}
@@ -1,5 +1,5 @@
1
1
  //#region src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/types.d.ts
2
- type RoutesFunctionalComponentReturn = {
2
+ interface RoutesFunctionalComponentReturn {
3
3
  props: {
4
4
  match?: {
5
5
  pathname: string;
@@ -12,7 +12,7 @@ type RoutesFunctionalComponentReturn = {
12
12
  outlet: RoutesFunctionalComponentReturn | null;
13
13
  };
14
14
  };
15
- };
15
+ }
16
16
  //#endregion
17
17
  export { RoutesFunctionalComponentReturn };
18
18
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/types.ts"],"mappings":";KAEY,+BAAA;EACV,KAAA;IACE,KAAA;MACE,QAAA;MACA,YAAA;MACA,KAAA;QACE,IAAA;MAAA;IAAA;IAGJ,YAAA;MAEE,MAAA,EAAQ,+BAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/types.ts"],"mappings":";UAEiB,+BAAA;EACf,KAAA;IACE,KAAA;MACE,QAAA;MACA,YAAA;MACA,KAAA;QACE,IAAA;MAAA;IAAA;IAGJ,YAAA;MAEE,MAAA,EAAQ,+BAAA;IAAA;EAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"withMXLRouting.cjs","names":["getNavigationInstrumentation"],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/withMXLRouting.ts"],"sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport type React from 'react';\nimport { createElement } from 'react';\nimport type { Route } from '../../../../../api-page';\nimport { MXL_NAVIGATION_INSTRUMENTATIONS } from '../../../../../constants';\nimport { getNavigationInstrumentation } from '../..';\nimport type { RoutesFunctionalComponentReturn } from './types';\n\n// Routes can be nested, we need to traverse the routeContext to find the last route\nconst getLastRoute = (\n matchedComponent: RoutesFunctionalComponentReturn,\n lastRoute: Route | null,\n): Route | null => {\n if (!matchedComponent.props.match?.route) {\n return null;\n }\n\n const childPath = matchedComponent.props.match.route.path;\n const path =\n lastRoute && !childPath.startsWith('/')\n ? `${lastRoute.path}/${childPath}`\n : childPath;\n\n if (matchedComponent.props.routeContext?.outlet) {\n return getLastRoute(matchedComponent.props.routeContext.outlet, {\n path,\n url: matchedComponent.props.match.pathname,\n });\n }\n\n return {\n path,\n url: matchedComponent.props.match.pathname,\n };\n};\n\nexport const withMXLRouting = <P extends object>(\n WrappedComponent: React.FunctionComponent<P>,\n) => {\n const navigationInstrumentation = getNavigationInstrumentation();\n navigationInstrumentation.setInstrumentationType(\n MXL_NAVIGATION_INSTRUMENTATIONS.Declarative,\n );\n\n const RoutesWithMXLRouting: React.FC<P> = (props: P) => {\n /**\n * React-router v6+ implementation is very different from v5\n * It doesn't have a <Switch> component that injects props into <Route>\n * Instead, it has <Routes> which internally calculates the matched route\n * and returns it as a children, <Route> cannot be wrapped since it requires all children to be a <Route> component\n * here we rely on that matching to get the current route.\n * It's not ideal to rely on internal implementation details, but it's the easier way of getting the current route\n * without having to manually match it or using hooks on each children component\n *\n * See: https://github.com/remix-run/react-router/blob/main/packages/react-router/lib/hooks.tsx#L553\n */\n const matchedComponent = WrappedComponent(\n props,\n ) as unknown as RoutesFunctionalComponentReturn;\n\n if (matchedComponent.props.match?.route) {\n const lastRoute = getLastRoute(matchedComponent, null);\n if (lastRoute) {\n navigationInstrumentation.setCurrentRoute(lastRoute);\n }\n }\n\n return createElement<P>(WrappedComponent, props);\n };\n\n // Keep wrapped component metadata\n RoutesWithMXLRouting.displayName = `withMXLRouting(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`;\n hoistNonReactStatics(RoutesWithMXLRouting, WrappedComponent);\n\n return RoutesWithMXLRouting;\n};\n"],"mappings":";;;;;;;;AASA,MAAM,gBACJ,kBACA,cACiB;AACjB,KAAI,CAAC,iBAAiB,MAAM,OAAO,MACjC,QAAO;CAGT,MAAM,YAAY,iBAAiB,MAAM,MAAM,MAAM;CACrD,MAAM,OACJ,aAAa,CAAC,UAAU,WAAW,IAAI,GACnC,GAAG,UAAU,KAAK,GAAG,cACrB;AAEN,KAAI,iBAAiB,MAAM,cAAc,OACvC,QAAO,aAAa,iBAAiB,MAAM,aAAa,QAAQ;EAC9D;EACA,KAAK,iBAAiB,MAAM,MAAM;EACnC,CAAC;AAGJ,QAAO;EACL;EACA,KAAK,iBAAiB,MAAM,MAAM;EACnC;;AAGH,MAAa,kBACX,qBACG;CACH,MAAM,4BAA4BA,uEAAAA,8BAA8B;AAChE,2BAA0B,uBAAA,2BAEzB;CAED,MAAM,wBAAqC,UAAa;;;;;;;;;;;;EAYtD,MAAM,mBAAmB,iBACvB,MACD;AAED,MAAI,iBAAiB,MAAM,OAAO,OAAO;GACvC,MAAM,YAAY,aAAa,kBAAkB,KAAK;AACtD,OAAI,UACF,2BAA0B,gBAAgB,UAAU;;AAIxD,UAAA,GAAA,MAAA,eAAwB,kBAAkB,MAAM;;AAIlD,sBAAqB,cAAc,kBAAkB,iBAAiB,eAAe,iBAAiB,QAAQ,YAAY;AAC1H,EAAA,GAAA,wBAAA,SAAqB,sBAAsB,iBAAiB;AAE5D,QAAO"}
1
+ {"version":3,"file":"withMXLRouting.cjs","names":["getNavigationInstrumentation"],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/withMXLRouting.ts"],"sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport type React from 'react';\nimport { createElement } from 'react';\nimport { getNavigationInstrumentation } from '../..';\nimport type { Route } from '../../../../../api-page';\nimport { MXL_NAVIGATION_INSTRUMENTATIONS } from '../../../../../constants';\nimport type { RoutesFunctionalComponentReturn } from './types';\n\n// Routes can be nested, we need to traverse the routeContext to find the last route\nconst getLastRoute = (\n matchedComponent: RoutesFunctionalComponentReturn,\n lastRoute: Route | null,\n): Route | null => {\n if (!matchedComponent.props.match?.route) {\n return null;\n }\n\n const childPath = matchedComponent.props.match.route.path;\n const path =\n lastRoute && !childPath.startsWith('/')\n ? `${lastRoute.path}/${childPath}`\n : childPath;\n\n if (matchedComponent.props.routeContext?.outlet) {\n return getLastRoute(matchedComponent.props.routeContext.outlet, {\n path,\n url: matchedComponent.props.match.pathname,\n });\n }\n\n return {\n path,\n url: matchedComponent.props.match.pathname,\n };\n};\n\nexport const withMXLRouting = <P extends object>(\n WrappedComponent: React.FunctionComponent<P>,\n) => {\n const navigationInstrumentation = getNavigationInstrumentation();\n navigationInstrumentation.setInstrumentationType(\n MXL_NAVIGATION_INSTRUMENTATIONS.Declarative,\n );\n\n const RoutesWithMXLRouting: React.FC<P> = (props: P) => {\n /**\n * React-router v6+ implementation is very different from v5\n * It doesn't have a <Switch> component that injects props into <Route>\n * Instead, it has <Routes> which internally calculates the matched route\n * and returns it as a children, <Route> cannot be wrapped since it requires all children to be a <Route> component\n * here we rely on that matching to get the current route.\n * It's not ideal to rely on internal implementation details, but it's the easier way of getting the current route\n * without having to manually match it or using hooks on each children component\n *\n * See: https://github.com/remix-run/react-router/blob/main/packages/react-router/lib/hooks.tsx#L553\n */\n const matchedComponent = WrappedComponent(\n props,\n ) as unknown as RoutesFunctionalComponentReturn;\n\n if (matchedComponent.props.match?.route) {\n const lastRoute = getLastRoute(matchedComponent, null);\n if (lastRoute) {\n navigationInstrumentation.setCurrentRoute(lastRoute);\n }\n }\n\n return createElement<P>(WrappedComponent, props);\n };\n\n // Keep wrapped component metadata\n RoutesWithMXLRouting.displayName = `withMXLRouting(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`;\n hoistNonReactStatics(RoutesWithMXLRouting, WrappedComponent);\n\n return RoutesWithMXLRouting;\n};\n"],"mappings":";;;;;;;;AASA,MAAM,gBACJ,kBACA,cACiB;AACjB,KAAI,CAAC,iBAAiB,MAAM,OAAO,MACjC,QAAO;CAGT,MAAM,YAAY,iBAAiB,MAAM,MAAM,MAAM;CACrD,MAAM,OACJ,aAAa,CAAC,UAAU,WAAW,IAAI,GACnC,GAAG,UAAU,KAAK,GAAG,cACrB;AAEN,KAAI,iBAAiB,MAAM,cAAc,OACvC,QAAO,aAAa,iBAAiB,MAAM,aAAa,QAAQ;EAC9D;EACA,KAAK,iBAAiB,MAAM,MAAM;EACnC,CAAC;AAGJ,QAAO;EACL;EACA,KAAK,iBAAiB,MAAM,MAAM;EACnC;;AAGH,MAAa,kBACX,qBACG;CACH,MAAM,4BAA4BA,uEAAAA,8BAA8B;AAChE,2BAA0B,uBAAA,2BAEzB;CAED,MAAM,wBAAqC,UAAa;;;;;;;;;;;;EAYtD,MAAM,mBAAmB,iBACvB,MACD;AAED,MAAI,iBAAiB,MAAM,OAAO,OAAO;GACvC,MAAM,YAAY,aAAa,kBAAkB,KAAK;AACtD,OAAI,UACF,2BAA0B,gBAAgB,UAAU;;AAIxD,UAAA,GAAA,MAAA,eAAwB,kBAAkB,MAAM;;AAIlD,sBAAqB,cAAc,kBAAkB,iBAAiB,eAAe,iBAAiB,QAAQ,YAAY;AAC1H,EAAA,GAAA,wBAAA,SAAqB,sBAAsB,iBAAiB;AAE5D,QAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"withMXLRouting.js","names":[],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/withMXLRouting.ts"],"sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport type React from 'react';\nimport { createElement } from 'react';\nimport type { Route } from '../../../../../api-page';\nimport { MXL_NAVIGATION_INSTRUMENTATIONS } from '../../../../../constants';\nimport { getNavigationInstrumentation } from '../..';\nimport type { RoutesFunctionalComponentReturn } from './types';\n\n// Routes can be nested, we need to traverse the routeContext to find the last route\nconst getLastRoute = (\n matchedComponent: RoutesFunctionalComponentReturn,\n lastRoute: Route | null,\n): Route | null => {\n if (!matchedComponent.props.match?.route) {\n return null;\n }\n\n const childPath = matchedComponent.props.match.route.path;\n const path =\n lastRoute && !childPath.startsWith('/')\n ? `${lastRoute.path}/${childPath}`\n : childPath;\n\n if (matchedComponent.props.routeContext?.outlet) {\n return getLastRoute(matchedComponent.props.routeContext.outlet, {\n path,\n url: matchedComponent.props.match.pathname,\n });\n }\n\n return {\n path,\n url: matchedComponent.props.match.pathname,\n };\n};\n\nexport const withMXLRouting = <P extends object>(\n WrappedComponent: React.FunctionComponent<P>,\n) => {\n const navigationInstrumentation = getNavigationInstrumentation();\n navigationInstrumentation.setInstrumentationType(\n MXL_NAVIGATION_INSTRUMENTATIONS.Declarative,\n );\n\n const RoutesWithMXLRouting: React.FC<P> = (props: P) => {\n /**\n * React-router v6+ implementation is very different from v5\n * It doesn't have a <Switch> component that injects props into <Route>\n * Instead, it has <Routes> which internally calculates the matched route\n * and returns it as a children, <Route> cannot be wrapped since it requires all children to be a <Route> component\n * here we rely on that matching to get the current route.\n * It's not ideal to rely on internal implementation details, but it's the easier way of getting the current route\n * without having to manually match it or using hooks on each children component\n *\n * See: https://github.com/remix-run/react-router/blob/main/packages/react-router/lib/hooks.tsx#L553\n */\n const matchedComponent = WrappedComponent(\n props,\n ) as unknown as RoutesFunctionalComponentReturn;\n\n if (matchedComponent.props.match?.route) {\n const lastRoute = getLastRoute(matchedComponent, null);\n if (lastRoute) {\n navigationInstrumentation.setCurrentRoute(lastRoute);\n }\n }\n\n return createElement<P>(WrappedComponent, props);\n };\n\n // Keep wrapped component metadata\n RoutesWithMXLRouting.displayName = `withMXLRouting(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`;\n hoistNonReactStatics(RoutesWithMXLRouting, WrappedComponent);\n\n return RoutesWithMXLRouting;\n};\n"],"mappings":";;;;;AASA,MAAM,gBACJ,kBACA,cACiB;AACjB,KAAI,CAAC,iBAAiB,MAAM,OAAO,MACjC,QAAO;CAGT,MAAM,YAAY,iBAAiB,MAAM,MAAM,MAAM;CACrD,MAAM,OACJ,aAAa,CAAC,UAAU,WAAW,IAAI,GACnC,GAAG,UAAU,KAAK,GAAG,cACrB;AAEN,KAAI,iBAAiB,MAAM,cAAc,OACvC,QAAO,aAAa,iBAAiB,MAAM,aAAa,QAAQ;EAC9D;EACA,KAAK,iBAAiB,MAAM,MAAM;EACnC,CAAC;AAGJ,QAAO;EACL;EACA,KAAK,iBAAiB,MAAM,MAAM;EACnC;;AAGH,MAAa,kBACX,qBACG;CACH,MAAM,4BAA4B,8BAA8B;AAChE,2BAA0B,uBAAA,2BAEzB;CAED,MAAM,wBAAqC,UAAa;;;;;;;;;;;;EAYtD,MAAM,mBAAmB,iBACvB,MACD;AAED,MAAI,iBAAiB,MAAM,OAAO,OAAO;GACvC,MAAM,YAAY,aAAa,kBAAkB,KAAK;AACtD,OAAI,UACF,2BAA0B,gBAAgB,UAAU;;AAIxD,SAAO,cAAiB,kBAAkB,MAAM;;AAIlD,sBAAqB,cAAc,kBAAkB,iBAAiB,eAAe,iBAAiB,QAAQ,YAAY;AAC1H,sBAAqB,sBAAsB,iBAAiB;AAE5D,QAAO"}
1
+ {"version":3,"file":"withMXLRouting.js","names":[],"sources":["../../../../../../src/instrumentations/navigation/NavigationInstrumentation/react/reactRouterV6Declarative/withMXLRouting.ts"],"sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport type React from 'react';\nimport { createElement } from 'react';\nimport { getNavigationInstrumentation } from '../..';\nimport type { Route } from '../../../../../api-page';\nimport { MXL_NAVIGATION_INSTRUMENTATIONS } from '../../../../../constants';\nimport type { RoutesFunctionalComponentReturn } from './types';\n\n// Routes can be nested, we need to traverse the routeContext to find the last route\nconst getLastRoute = (\n matchedComponent: RoutesFunctionalComponentReturn,\n lastRoute: Route | null,\n): Route | null => {\n if (!matchedComponent.props.match?.route) {\n return null;\n }\n\n const childPath = matchedComponent.props.match.route.path;\n const path =\n lastRoute && !childPath.startsWith('/')\n ? `${lastRoute.path}/${childPath}`\n : childPath;\n\n if (matchedComponent.props.routeContext?.outlet) {\n return getLastRoute(matchedComponent.props.routeContext.outlet, {\n path,\n url: matchedComponent.props.match.pathname,\n });\n }\n\n return {\n path,\n url: matchedComponent.props.match.pathname,\n };\n};\n\nexport const withMXLRouting = <P extends object>(\n WrappedComponent: React.FunctionComponent<P>,\n) => {\n const navigationInstrumentation = getNavigationInstrumentation();\n navigationInstrumentation.setInstrumentationType(\n MXL_NAVIGATION_INSTRUMENTATIONS.Declarative,\n );\n\n const RoutesWithMXLRouting: React.FC<P> = (props: P) => {\n /**\n * React-router v6+ implementation is very different from v5\n * It doesn't have a <Switch> component that injects props into <Route>\n * Instead, it has <Routes> which internally calculates the matched route\n * and returns it as a children, <Route> cannot be wrapped since it requires all children to be a <Route> component\n * here we rely on that matching to get the current route.\n * It's not ideal to rely on internal implementation details, but it's the easier way of getting the current route\n * without having to manually match it or using hooks on each children component\n *\n * See: https://github.com/remix-run/react-router/blob/main/packages/react-router/lib/hooks.tsx#L553\n */\n const matchedComponent = WrappedComponent(\n props,\n ) as unknown as RoutesFunctionalComponentReturn;\n\n if (matchedComponent.props.match?.route) {\n const lastRoute = getLastRoute(matchedComponent, null);\n if (lastRoute) {\n navigationInstrumentation.setCurrentRoute(lastRoute);\n }\n }\n\n return createElement<P>(WrappedComponent, props);\n };\n\n // Keep wrapped component metadata\n RoutesWithMXLRouting.displayName = `withMXLRouting(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`;\n hoistNonReactStatics(RoutesWithMXLRouting, WrappedComponent);\n\n return RoutesWithMXLRouting;\n};\n"],"mappings":";;;;;AASA,MAAM,gBACJ,kBACA,cACiB;AACjB,KAAI,CAAC,iBAAiB,MAAM,OAAO,MACjC,QAAO;CAGT,MAAM,YAAY,iBAAiB,MAAM,MAAM,MAAM;CACrD,MAAM,OACJ,aAAa,CAAC,UAAU,WAAW,IAAI,GACnC,GAAG,UAAU,KAAK,GAAG,cACrB;AAEN,KAAI,iBAAiB,MAAM,cAAc,OACvC,QAAO,aAAa,iBAAiB,MAAM,aAAa,QAAQ;EAC9D;EACA,KAAK,iBAAiB,MAAM,MAAM;EACnC,CAAC;AAGJ,QAAO;EACL;EACA,KAAK,iBAAiB,MAAM,MAAM;EACnC;;AAGH,MAAa,kBACX,qBACG;CACH,MAAM,4BAA4B,8BAA8B;AAChE,2BAA0B,uBAAA,2BAEzB;CAED,MAAM,wBAAqC,UAAa;;;;;;;;;;;;EAYtD,MAAM,mBAAmB,iBACvB,MACD;AAED,MAAI,iBAAiB,MAAM,OAAO,OAAO;GACvC,MAAM,YAAY,aAAa,kBAAkB,KAAK;AACtD,OAAI,UACF,2BAA0B,gBAAgB,UAAU;;AAIxD,SAAO,cAAiB,kBAAkB,MAAM;;AAIlD,sBAAqB,cAAc,kBAAkB,iBAAiB,eAAe,iBAAiB,QAAQ,YAAY;AAC1H,sBAAqB,sBAAsB,iBAAiB;AAE5D,QAAO"}