@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
@@ -0,0 +1,78 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_utils_generateUUID = require("../../../utils/generateUUID.cjs");
3
+ const require_managers_MXLUserSessionManager_constants = require("../constants.cjs");
4
+ //#region src/managers/MXLUserSessionManager/utils/state.ts
5
+ /**
6
+ * True when the stored state is no longer trustworthy: the device clock
7
+ * jumped backwards past the recorded start, the max-duration deadline has
8
+ * passed, or an inactivity deadline (set when the last part ended) has
9
+ * passed. Inactivity only applies between parts; the deadline is null
10
+ * while a part is active.
11
+ */
12
+ const isUserSessionExpired = (state, now) => now < state.userSessionStartTs || now >= state.userSessionMaxEndTs || state.inactivityDeadlineTs !== null && now >= state.inactivityDeadlineTs;
13
+ const createUserSessionState = ({ now, previousUserSessionId, maxUserSessionDurationSeconds, inactivityTimeoutSeconds, userSessionNumber }) => ({
14
+ inactivityDeadlineTs: null,
15
+ inactivityTimeoutSeconds,
16
+ maxUserSessionDurationSeconds,
17
+ previousUserSessionId,
18
+ schemaVersion: 1,
19
+ userSessionId: require_utils_generateUUID.generateUUID(),
20
+ userSessionMaxEndTs: now + maxUserSessionDurationSeconds * 1e3,
21
+ userSessionNumber,
22
+ userSessionPartIndex: 0,
23
+ userSessionProperties: {},
24
+ userSessionStartTs: now
25
+ });
26
+ /**
27
+ * Treats the schemaVersion stamp as the contract. Every field is written
28
+ * by createUserSessionState (and userSessionProperties is validated at
29
+ * addProperty time), so a matching version means the blob came from this
30
+ * code path and we trust the rest of its shape.
31
+ */
32
+ const isValidStoredUserSessionState = (state) => state !== null && typeof state === "object" && state.schemaVersion === 1;
33
+ const readUserSessionState = (storage, diag) => {
34
+ const raw = storage.getItem(require_managers_MXLUserSessionManager_constants.MXL_USER_SESSION_STATE_KEY);
35
+ if (!raw) return null;
36
+ try {
37
+ const parsed = JSON.parse(raw);
38
+ if (!isValidStoredUserSessionState(parsed)) throw new Error("stored user session state failed structural validation");
39
+ return parsed;
40
+ } catch (error) {
41
+ diag.error("User session state in storage is corrupt; discarding it", error);
42
+ storage.removeItem(require_managers_MXLUserSessionManager_constants.MXL_USER_SESSION_STATE_KEY);
43
+ return null;
44
+ }
45
+ };
46
+ const readPermanentProperties = (storage, diag) => {
47
+ const raw = storage.getItem(require_managers_MXLUserSessionManager_constants.MXL_PERMANENT_PROPERTIES_KEY);
48
+ if (!raw) return {};
49
+ try {
50
+ const parsed = JSON.parse(raw);
51
+ if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) throw new Error("permanent properties blob is not a plain object");
52
+ const validated = {};
53
+ for (const [key, value] of Object.entries(parsed)) if (typeof value === "string") validated[key] = value;
54
+ return validated;
55
+ } catch (error) {
56
+ diag.error("Permanent properties in storage are corrupt; discarding", error);
57
+ storage.removeItem(require_managers_MXLUserSessionManager_constants.MXL_PERMANENT_PROPERTIES_KEY);
58
+ return {};
59
+ }
60
+ };
61
+ /**
62
+ * Empty blobs are removed rather than written so storage stays tidy when
63
+ * the last property is cleared. Returns false on a failed write; callers
64
+ * gate cross-scope flips on this so a failed permanent write doesn't
65
+ * strip the previously-visible user-session-scoped value.
66
+ */
67
+ const storePermanentProperties = (storage, properties) => {
68
+ if (Object.keys(properties).length === 0) return storage.removeItem(require_managers_MXLUserSessionManager_constants.MXL_PERMANENT_PROPERTIES_KEY);
69
+ return storage.setItem(require_managers_MXLUserSessionManager_constants.MXL_PERMANENT_PROPERTIES_KEY, JSON.stringify(properties));
70
+ };
71
+ //#endregion
72
+ exports.createUserSessionState = createUserSessionState;
73
+ exports.isUserSessionExpired = isUserSessionExpired;
74
+ exports.readPermanentProperties = readPermanentProperties;
75
+ exports.readUserSessionState = readUserSessionState;
76
+ exports.storePermanentProperties = storePermanentProperties;
77
+
78
+ //# sourceMappingURL=state.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.cjs","names":["generateUUID","MXL_USER_SESSION_STATE_KEY","MXL_PERMANENT_PROPERTIES_KEY"],"sources":["../../../../src/managers/MXLUserSessionManager/utils/state.ts"],"sourcesContent":["import type { DiagLogger } from '@opentelemetry/api';\nimport type { NamespacedStorage } from '../../../utils/index';\nimport { generateUUID } from '../../../utils/index';\nimport {\n MXL_PERMANENT_PROPERTIES_KEY,\n MXL_USER_SESSION_STATE_KEY,\n USER_SESSION_STATE_SCHEMA_VERSION,\n} from '../constants';\nimport type { UserSessionState } from '../types';\n\n/**\n * True when the stored state is no longer trustworthy: the device clock\n * jumped backwards past the recorded start, the max-duration deadline has\n * passed, or an inactivity deadline (set when the last part ended) has\n * passed. Inactivity only applies between parts; the deadline is null\n * while a part is active.\n */\nexport const isUserSessionExpired = (\n state: UserSessionState,\n now: number,\n): boolean =>\n now < state.userSessionStartTs ||\n now >= state.userSessionMaxEndTs ||\n (state.inactivityDeadlineTs !== null && now >= state.inactivityDeadlineTs);\n\nexport interface CreateUserSessionStateArgs {\n now: number;\n previousUserSessionId: string | null;\n maxUserSessionDurationSeconds: number;\n inactivityTimeoutSeconds: number;\n userSessionNumber: number;\n}\n\nexport const createUserSessionState = ({\n now,\n previousUserSessionId,\n maxUserSessionDurationSeconds,\n inactivityTimeoutSeconds,\n userSessionNumber,\n}: CreateUserSessionStateArgs): UserSessionState => ({\n inactivityDeadlineTs: null,\n inactivityTimeoutSeconds,\n maxUserSessionDurationSeconds,\n previousUserSessionId,\n schemaVersion: USER_SESSION_STATE_SCHEMA_VERSION,\n userSessionId: generateUUID(),\n userSessionMaxEndTs: now + maxUserSessionDurationSeconds * 1000,\n userSessionNumber,\n userSessionPartIndex: 0,\n userSessionProperties: {},\n userSessionStartTs: now,\n});\n\n/**\n * Treats the schemaVersion stamp as the contract. Every field is written\n * by createUserSessionState (and userSessionProperties is validated at\n * addProperty time), so a matching version means the blob came from this\n * code path and we trust the rest of its shape.\n */\nconst isValidStoredUserSessionState = (\n state: unknown,\n): state is UserSessionState =>\n state !== null &&\n typeof state === 'object' &&\n (state as { schemaVersion?: unknown }).schemaVersion ===\n USER_SESSION_STATE_SCHEMA_VERSION;\n\nexport const readUserSessionState = (\n storage: NamespacedStorage,\n diag: DiagLogger,\n): UserSessionState | null => {\n const raw = storage.getItem(MXL_USER_SESSION_STATE_KEY);\n if (!raw) {\n return null;\n }\n try {\n const parsed: unknown = JSON.parse(raw);\n if (!isValidStoredUserSessionState(parsed)) {\n throw new Error('stored user session state failed structural validation');\n }\n return parsed;\n } catch (error) {\n diag.error(\n 'User session state in storage is corrupt; discarding it',\n error,\n );\n storage.removeItem(MXL_USER_SESSION_STATE_KEY);\n return null;\n }\n};\n\nexport const readPermanentProperties = (\n storage: NamespacedStorage,\n diag: DiagLogger,\n): Record<string, string> => {\n const raw = storage.getItem(MXL_PERMANENT_PROPERTIES_KEY);\n if (!raw) {\n return {};\n }\n try {\n const parsed = JSON.parse(raw) as unknown;\n if (\n parsed === null ||\n typeof parsed !== 'object' ||\n Array.isArray(parsed)\n ) {\n throw new Error('permanent properties blob is not a plain object');\n }\n const validated: Record<string, string> = {};\n for (const [key, value] of Object.entries(parsed)) {\n if (typeof value === 'string') {\n validated[key] = value;\n }\n }\n return validated;\n } catch (error) {\n diag.error(\n 'Permanent properties in storage are corrupt; discarding',\n error,\n );\n storage.removeItem(MXL_PERMANENT_PROPERTIES_KEY);\n return {};\n }\n};\n\n/**\n * Empty blobs are removed rather than written so storage stays tidy when\n * the last property is cleared. Returns false on a failed write; callers\n * gate cross-scope flips on this so a failed permanent write doesn't\n * strip the previously-visible user-session-scoped value.\n */\nexport const storePermanentProperties = (\n storage: NamespacedStorage,\n properties: Record<string, string>,\n): boolean => {\n if (Object.keys(properties).length === 0) {\n return storage.removeItem(MXL_PERMANENT_PROPERTIES_KEY);\n }\n return storage.setItem(\n MXL_PERMANENT_PROPERTIES_KEY,\n JSON.stringify(properties),\n );\n};\n"],"mappings":";;;;;;;;;;;AAiBA,MAAa,wBACX,OACA,QAEA,MAAM,MAAM,sBACZ,OAAO,MAAM,uBACZ,MAAM,yBAAyB,QAAQ,OAAO,MAAM;AAUvD,MAAa,0BAA0B,EACrC,KACA,uBACA,+BACA,0BACA,yBACmD;CACnD,sBAAsB;CACtB;CACA;CACA;CACA,eAAA;CACA,eAAeA,2BAAAA,cAAc;CAC7B,qBAAqB,MAAM,gCAAgC;CAC3D;CACA,sBAAsB;CACtB,uBAAuB,EAAE;CACzB,oBAAoB;CACrB;;;;;;;AAQD,MAAM,iCACJ,UAEA,UAAU,QACV,OAAO,UAAU,YAChB,MAAsC,kBAAA;AAGzC,MAAa,wBACX,SACA,SAC4B;CAC5B,MAAM,MAAM,QAAQ,QAAQC,iDAAAA,2BAA2B;AACvD,KAAI,CAAC,IACH,QAAO;AAET,KAAI;EACF,MAAM,SAAkB,KAAK,MAAM,IAAI;AACvC,MAAI,CAAC,8BAA8B,OAAO,CACxC,OAAM,IAAI,MAAM,yDAAyD;AAE3E,SAAO;UACA,OAAO;AACd,OAAK,MACH,2DACA,MACD;AACD,UAAQ,WAAWA,iDAAAA,2BAA2B;AAC9C,SAAO;;;AAIX,MAAa,2BACX,SACA,SAC2B;CAC3B,MAAM,MAAM,QAAQ,QAAQC,iDAAAA,6BAA6B;AACzD,KAAI,CAAC,IACH,QAAO,EAAE;AAEX,KAAI;EACF,MAAM,SAAS,KAAK,MAAM,IAAI;AAC9B,MACE,WAAW,QACX,OAAO,WAAW,YAClB,MAAM,QAAQ,OAAO,CAErB,OAAM,IAAI,MAAM,kDAAkD;EAEpE,MAAM,YAAoC,EAAE;AAC5C,OAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,OAAO,CAC/C,KAAI,OAAO,UAAU,SACnB,WAAU,OAAO;AAGrB,SAAO;UACA,OAAO;AACd,OAAK,MACH,2DACA,MACD;AACD,UAAQ,WAAWA,iDAAAA,6BAA6B;AAChD,SAAO,EAAE;;;;;;;;;AAUb,MAAa,4BACX,SACA,eACY;AACZ,KAAI,OAAO,KAAK,WAAW,CAAC,WAAW,EACrC,QAAO,QAAQ,WAAWA,iDAAAA,6BAA6B;AAEzD,QAAO,QAAQ,QACbA,iDAAAA,8BACA,KAAK,UAAU,WAAW,CAC3B"}
@@ -0,0 +1,39 @@
1
+ import { NamespacedStorage } from "../../../utils/NamespacedStorage/NamespacedStorage.cjs";
2
+ import { UserSessionState } from "../types.cjs";
3
+ import { DiagLogger } from "@opentelemetry/api";
4
+
5
+ //#region src/managers/MXLUserSessionManager/utils/state.d.ts
6
+ /**
7
+ * True when the stored state is no longer trustworthy: the device clock
8
+ * jumped backwards past the recorded start, the max-duration deadline has
9
+ * passed, or an inactivity deadline (set when the last part ended) has
10
+ * passed. Inactivity only applies between parts; the deadline is null
11
+ * while a part is active.
12
+ */
13
+ declare const isUserSessionExpired: (state: UserSessionState, now: number) => boolean;
14
+ interface CreateUserSessionStateArgs {
15
+ now: number;
16
+ previousUserSessionId: string | null;
17
+ maxUserSessionDurationSeconds: number;
18
+ inactivityTimeoutSeconds: number;
19
+ userSessionNumber: number;
20
+ }
21
+ declare const createUserSessionState: ({
22
+ now,
23
+ previousUserSessionId,
24
+ maxUserSessionDurationSeconds,
25
+ inactivityTimeoutSeconds,
26
+ userSessionNumber
27
+ }: CreateUserSessionStateArgs) => UserSessionState;
28
+ declare const readUserSessionState: (storage: NamespacedStorage, diag: DiagLogger) => UserSessionState | null;
29
+ declare const readPermanentProperties: (storage: NamespacedStorage, diag: DiagLogger) => Record<string, string>;
30
+ /**
31
+ * Empty blobs are removed rather than written so storage stays tidy when
32
+ * the last property is cleared. Returns false on a failed write; callers
33
+ * gate cross-scope flips on this so a failed permanent write doesn't
34
+ * strip the previously-visible user-session-scoped value.
35
+ */
36
+ declare const storePermanentProperties: (storage: NamespacedStorage, properties: Record<string, string>) => boolean;
37
+ //#endregion
38
+ export { CreateUserSessionStateArgs, createUserSessionState, isUserSessionExpired, readPermanentProperties, readUserSessionState, storePermanentProperties };
39
+ //# sourceMappingURL=state.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.cts","names":[],"sources":["../../../../src/managers/MXLUserSessionManager/utils/state.ts"],"mappings":";;;;;;;;AAiBA;;;;cAAa,oBAAA,GACX,KAAA,EAAO,gBAAA,EACP,GAAA;AAAA,UAMe,0BAAA;EACf,GAAA;EACA,qBAAA;EACA,6BAAA;EACA,wBAAA;EACA,iBAAA;AAAA;AAAA,cAGW,sBAAA;EAA0B,GAAA;EAAA,qBAAA;EAAA,6BAAA;EAAA,wBAAA;EAAA;AAAA,GAMpC,0BAAA,KAA6B,gBAAA;AAAA,cA4BnB,oBAAA,GACX,OAAA,EAAS,iBAAA,EACT,IAAA,EAAM,UAAA,KACL,gBAAA;AAAA,cAqBU,uBAAA,GACX,OAAA,EAAS,iBAAA,EACT,IAAA,EAAM,UAAA,KACL,MAAA;;;;;;AA7DH;cAkGa,wBAAA,GACX,OAAA,EAAS,iBAAA,EACT,UAAA,EAAY,MAAA"}
@@ -0,0 +1,39 @@
1
+ import { NamespacedStorage } from "../../../utils/NamespacedStorage/NamespacedStorage.js";
2
+ import { UserSessionState } from "../types.js";
3
+ import { DiagLogger } from "@opentelemetry/api";
4
+
5
+ //#region src/managers/MXLUserSessionManager/utils/state.d.ts
6
+ /**
7
+ * True when the stored state is no longer trustworthy: the device clock
8
+ * jumped backwards past the recorded start, the max-duration deadline has
9
+ * passed, or an inactivity deadline (set when the last part ended) has
10
+ * passed. Inactivity only applies between parts; the deadline is null
11
+ * while a part is active.
12
+ */
13
+ declare const isUserSessionExpired: (state: UserSessionState, now: number) => boolean;
14
+ interface CreateUserSessionStateArgs {
15
+ now: number;
16
+ previousUserSessionId: string | null;
17
+ maxUserSessionDurationSeconds: number;
18
+ inactivityTimeoutSeconds: number;
19
+ userSessionNumber: number;
20
+ }
21
+ declare const createUserSessionState: ({
22
+ now,
23
+ previousUserSessionId,
24
+ maxUserSessionDurationSeconds,
25
+ inactivityTimeoutSeconds,
26
+ userSessionNumber
27
+ }: CreateUserSessionStateArgs) => UserSessionState;
28
+ declare const readUserSessionState: (storage: NamespacedStorage, diag: DiagLogger) => UserSessionState | null;
29
+ declare const readPermanentProperties: (storage: NamespacedStorage, diag: DiagLogger) => Record<string, string>;
30
+ /**
31
+ * Empty blobs are removed rather than written so storage stays tidy when
32
+ * the last property is cleared. Returns false on a failed write; callers
33
+ * gate cross-scope flips on this so a failed permanent write doesn't
34
+ * strip the previously-visible user-session-scoped value.
35
+ */
36
+ declare const storePermanentProperties: (storage: NamespacedStorage, properties: Record<string, string>) => boolean;
37
+ //#endregion
38
+ export { CreateUserSessionStateArgs, createUserSessionState, isUserSessionExpired, readPermanentProperties, readUserSessionState, storePermanentProperties };
39
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","names":[],"sources":["../../../../src/managers/MXLUserSessionManager/utils/state.ts"],"mappings":";;;;;;;;AAiBA;;;;cAAa,oBAAA,GACX,KAAA,EAAO,gBAAA,EACP,GAAA;AAAA,UAMe,0BAAA;EACf,GAAA;EACA,qBAAA;EACA,6BAAA;EACA,wBAAA;EACA,iBAAA;AAAA;AAAA,cAGW,sBAAA;EAA0B,GAAA;EAAA,qBAAA;EAAA,6BAAA;EAAA,wBAAA;EAAA;AAAA,GAMpC,0BAAA,KAA6B,gBAAA;AAAA,cA4BnB,oBAAA,GACX,OAAA,EAAS,iBAAA,EACT,IAAA,EAAM,UAAA,KACL,gBAAA;AAAA,cAqBU,uBAAA,GACX,OAAA,EAAS,iBAAA,EACT,IAAA,EAAM,UAAA,KACL,MAAA;;;;;;AA7DH;cAkGa,wBAAA,GACX,OAAA,EAAS,iBAAA,EACT,UAAA,EAAY,MAAA"}
@@ -0,0 +1,73 @@
1
+ import { generateUUID } from "../../../utils/generateUUID.js";
2
+ import { MXL_PERMANENT_PROPERTIES_KEY, MXL_USER_SESSION_STATE_KEY } from "../constants.js";
3
+ //#region src/managers/MXLUserSessionManager/utils/state.ts
4
+ /**
5
+ * True when the stored state is no longer trustworthy: the device clock
6
+ * jumped backwards past the recorded start, the max-duration deadline has
7
+ * passed, or an inactivity deadline (set when the last part ended) has
8
+ * passed. Inactivity only applies between parts; the deadline is null
9
+ * while a part is active.
10
+ */
11
+ const isUserSessionExpired = (state, now) => now < state.userSessionStartTs || now >= state.userSessionMaxEndTs || state.inactivityDeadlineTs !== null && now >= state.inactivityDeadlineTs;
12
+ const createUserSessionState = ({ now, previousUserSessionId, maxUserSessionDurationSeconds, inactivityTimeoutSeconds, userSessionNumber }) => ({
13
+ inactivityDeadlineTs: null,
14
+ inactivityTimeoutSeconds,
15
+ maxUserSessionDurationSeconds,
16
+ previousUserSessionId,
17
+ schemaVersion: 1,
18
+ userSessionId: generateUUID(),
19
+ userSessionMaxEndTs: now + maxUserSessionDurationSeconds * 1e3,
20
+ userSessionNumber,
21
+ userSessionPartIndex: 0,
22
+ userSessionProperties: {},
23
+ userSessionStartTs: now
24
+ });
25
+ /**
26
+ * Treats the schemaVersion stamp as the contract. Every field is written
27
+ * by createUserSessionState (and userSessionProperties is validated at
28
+ * addProperty time), so a matching version means the blob came from this
29
+ * code path and we trust the rest of its shape.
30
+ */
31
+ const isValidStoredUserSessionState = (state) => state !== null && typeof state === "object" && state.schemaVersion === 1;
32
+ const readUserSessionState = (storage, diag) => {
33
+ const raw = storage.getItem(MXL_USER_SESSION_STATE_KEY);
34
+ if (!raw) return null;
35
+ try {
36
+ const parsed = JSON.parse(raw);
37
+ if (!isValidStoredUserSessionState(parsed)) throw new Error("stored user session state failed structural validation");
38
+ return parsed;
39
+ } catch (error) {
40
+ diag.error("User session state in storage is corrupt; discarding it", error);
41
+ storage.removeItem(MXL_USER_SESSION_STATE_KEY);
42
+ return null;
43
+ }
44
+ };
45
+ const readPermanentProperties = (storage, diag) => {
46
+ const raw = storage.getItem(MXL_PERMANENT_PROPERTIES_KEY);
47
+ if (!raw) return {};
48
+ try {
49
+ const parsed = JSON.parse(raw);
50
+ if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) throw new Error("permanent properties blob is not a plain object");
51
+ const validated = {};
52
+ for (const [key, value] of Object.entries(parsed)) if (typeof value === "string") validated[key] = value;
53
+ return validated;
54
+ } catch (error) {
55
+ diag.error("Permanent properties in storage are corrupt; discarding", error);
56
+ storage.removeItem(MXL_PERMANENT_PROPERTIES_KEY);
57
+ return {};
58
+ }
59
+ };
60
+ /**
61
+ * Empty blobs are removed rather than written so storage stays tidy when
62
+ * the last property is cleared. Returns false on a failed write; callers
63
+ * gate cross-scope flips on this so a failed permanent write doesn't
64
+ * strip the previously-visible user-session-scoped value.
65
+ */
66
+ const storePermanentProperties = (storage, properties) => {
67
+ if (Object.keys(properties).length === 0) return storage.removeItem(MXL_PERMANENT_PROPERTIES_KEY);
68
+ return storage.setItem(MXL_PERMANENT_PROPERTIES_KEY, JSON.stringify(properties));
69
+ };
70
+ //#endregion
71
+ export { createUserSessionState, isUserSessionExpired, readPermanentProperties, readUserSessionState, storePermanentProperties };
72
+
73
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","names":[],"sources":["../../../../src/managers/MXLUserSessionManager/utils/state.ts"],"sourcesContent":["import type { DiagLogger } from '@opentelemetry/api';\nimport type { NamespacedStorage } from '../../../utils/index';\nimport { generateUUID } from '../../../utils/index';\nimport {\n MXL_PERMANENT_PROPERTIES_KEY,\n MXL_USER_SESSION_STATE_KEY,\n USER_SESSION_STATE_SCHEMA_VERSION,\n} from '../constants';\nimport type { UserSessionState } from '../types';\n\n/**\n * True when the stored state is no longer trustworthy: the device clock\n * jumped backwards past the recorded start, the max-duration deadline has\n * passed, or an inactivity deadline (set when the last part ended) has\n * passed. Inactivity only applies between parts; the deadline is null\n * while a part is active.\n */\nexport const isUserSessionExpired = (\n state: UserSessionState,\n now: number,\n): boolean =>\n now < state.userSessionStartTs ||\n now >= state.userSessionMaxEndTs ||\n (state.inactivityDeadlineTs !== null && now >= state.inactivityDeadlineTs);\n\nexport interface CreateUserSessionStateArgs {\n now: number;\n previousUserSessionId: string | null;\n maxUserSessionDurationSeconds: number;\n inactivityTimeoutSeconds: number;\n userSessionNumber: number;\n}\n\nexport const createUserSessionState = ({\n now,\n previousUserSessionId,\n maxUserSessionDurationSeconds,\n inactivityTimeoutSeconds,\n userSessionNumber,\n}: CreateUserSessionStateArgs): UserSessionState => ({\n inactivityDeadlineTs: null,\n inactivityTimeoutSeconds,\n maxUserSessionDurationSeconds,\n previousUserSessionId,\n schemaVersion: USER_SESSION_STATE_SCHEMA_VERSION,\n userSessionId: generateUUID(),\n userSessionMaxEndTs: now + maxUserSessionDurationSeconds * 1000,\n userSessionNumber,\n userSessionPartIndex: 0,\n userSessionProperties: {},\n userSessionStartTs: now,\n});\n\n/**\n * Treats the schemaVersion stamp as the contract. Every field is written\n * by createUserSessionState (and userSessionProperties is validated at\n * addProperty time), so a matching version means the blob came from this\n * code path and we trust the rest of its shape.\n */\nconst isValidStoredUserSessionState = (\n state: unknown,\n): state is UserSessionState =>\n state !== null &&\n typeof state === 'object' &&\n (state as { schemaVersion?: unknown }).schemaVersion ===\n USER_SESSION_STATE_SCHEMA_VERSION;\n\nexport const readUserSessionState = (\n storage: NamespacedStorage,\n diag: DiagLogger,\n): UserSessionState | null => {\n const raw = storage.getItem(MXL_USER_SESSION_STATE_KEY);\n if (!raw) {\n return null;\n }\n try {\n const parsed: unknown = JSON.parse(raw);\n if (!isValidStoredUserSessionState(parsed)) {\n throw new Error('stored user session state failed structural validation');\n }\n return parsed;\n } catch (error) {\n diag.error(\n 'User session state in storage is corrupt; discarding it',\n error,\n );\n storage.removeItem(MXL_USER_SESSION_STATE_KEY);\n return null;\n }\n};\n\nexport const readPermanentProperties = (\n storage: NamespacedStorage,\n diag: DiagLogger,\n): Record<string, string> => {\n const raw = storage.getItem(MXL_PERMANENT_PROPERTIES_KEY);\n if (!raw) {\n return {};\n }\n try {\n const parsed = JSON.parse(raw) as unknown;\n if (\n parsed === null ||\n typeof parsed !== 'object' ||\n Array.isArray(parsed)\n ) {\n throw new Error('permanent properties blob is not a plain object');\n }\n const validated: Record<string, string> = {};\n for (const [key, value] of Object.entries(parsed)) {\n if (typeof value === 'string') {\n validated[key] = value;\n }\n }\n return validated;\n } catch (error) {\n diag.error(\n 'Permanent properties in storage are corrupt; discarding',\n error,\n );\n storage.removeItem(MXL_PERMANENT_PROPERTIES_KEY);\n return {};\n }\n};\n\n/**\n * Empty blobs are removed rather than written so storage stays tidy when\n * the last property is cleared. Returns false on a failed write; callers\n * gate cross-scope flips on this so a failed permanent write doesn't\n * strip the previously-visible user-session-scoped value.\n */\nexport const storePermanentProperties = (\n storage: NamespacedStorage,\n properties: Record<string, string>,\n): boolean => {\n if (Object.keys(properties).length === 0) {\n return storage.removeItem(MXL_PERMANENT_PROPERTIES_KEY);\n }\n return storage.setItem(\n MXL_PERMANENT_PROPERTIES_KEY,\n JSON.stringify(properties),\n );\n};\n"],"mappings":";;;;;;;;;;AAiBA,MAAa,wBACX,OACA,QAEA,MAAM,MAAM,sBACZ,OAAO,MAAM,uBACZ,MAAM,yBAAyB,QAAQ,OAAO,MAAM;AAUvD,MAAa,0BAA0B,EACrC,KACA,uBACA,+BACA,0BACA,yBACmD;CACnD,sBAAsB;CACtB;CACA;CACA;CACA,eAAA;CACA,eAAe,cAAc;CAC7B,qBAAqB,MAAM,gCAAgC;CAC3D;CACA,sBAAsB;CACtB,uBAAuB,EAAE;CACzB,oBAAoB;CACrB;;;;;;;AAQD,MAAM,iCACJ,UAEA,UAAU,QACV,OAAO,UAAU,YAChB,MAAsC,kBAAA;AAGzC,MAAa,wBACX,SACA,SAC4B;CAC5B,MAAM,MAAM,QAAQ,QAAQ,2BAA2B;AACvD,KAAI,CAAC,IACH,QAAO;AAET,KAAI;EACF,MAAM,SAAkB,KAAK,MAAM,IAAI;AACvC,MAAI,CAAC,8BAA8B,OAAO,CACxC,OAAM,IAAI,MAAM,yDAAyD;AAE3E,SAAO;UACA,OAAO;AACd,OAAK,MACH,2DACA,MACD;AACD,UAAQ,WAAW,2BAA2B;AAC9C,SAAO;;;AAIX,MAAa,2BACX,SACA,SAC2B;CAC3B,MAAM,MAAM,QAAQ,QAAQ,6BAA6B;AACzD,KAAI,CAAC,IACH,QAAO,EAAE;AAEX,KAAI;EACF,MAAM,SAAS,KAAK,MAAM,IAAI;AAC9B,MACE,WAAW,QACX,OAAO,WAAW,YAClB,MAAM,QAAQ,OAAO,CAErB,OAAM,IAAI,MAAM,kDAAkD;EAEpE,MAAM,YAAoC,EAAE;AAC5C,OAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,OAAO,CAC/C,KAAI,OAAO,UAAU,SACnB,WAAU,OAAO;AAGrB,SAAO;UACA,OAAO;AACd,OAAK,MACH,2DACA,MACD;AACD,UAAQ,WAAW,6BAA6B;AAChD,SAAO,EAAE;;;;;;;;;AAUb,MAAa,4BACX,SACA,eACY;AACZ,KAAI,OAAO,KAAK,WAAW,CAAC,WAAW,EACrC,QAAO,QAAQ,WAAW,6BAA6B;AAEzD,QAAO,QAAQ,QACb,8BACA,KAAK,UAAU,WAAW,CAC3B"}
@@ -0,0 +1,132 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_utils_generateUUID = require("../../../utils/generateUUID.cjs");
3
+ const require_resources_appInstanceId = require("../../../resources/appInstanceId.cjs");
4
+ const require_managers_MXLUserSessionManager_constants = require("../constants.cjs");
5
+ //#region src/managers/MXLUserSessionManager/utils/tabTracking.ts
6
+ const processReferrer = (referrer) => {
7
+ if (!referrer) return {
8
+ isSameOrigin: false,
9
+ isValid: false
10
+ };
11
+ try {
12
+ const referrerUrl = new URL(referrer);
13
+ const currentOrigin = window.location.origin;
14
+ return {
15
+ isSameOrigin: referrerUrl.origin === currentOrigin,
16
+ isValid: true,
17
+ scrubbedUrl: referrerUrl.origin + referrerUrl.pathname
18
+ };
19
+ } catch {
20
+ return {
21
+ isSameOrigin: false,
22
+ isValid: false
23
+ };
24
+ }
25
+ };
26
+ const determineNavigationSource = (referrerInfo, navigationPerformance, diag) => {
27
+ try {
28
+ const navEntries = navigationPerformance.getEntriesByType("navigation");
29
+ if (navEntries.length > 0 && navEntries[0]) {
30
+ const navEntry = navEntries[0];
31
+ if (navEntry.type === "reload") return "reload";
32
+ if (navEntry.type === "back_forward") return "back_forward";
33
+ }
34
+ } catch (error) {
35
+ diag.warn("Failed to get navigation type", error);
36
+ }
37
+ if (referrerInfo.isValid) return referrerInfo.isSameOrigin ? "same_origin" : "external";
38
+ return "direct";
39
+ };
40
+ const getTabActivity = (storage, diag) => {
41
+ try {
42
+ const stored = storage.getItem(require_managers_MXLUserSessionManager_constants.MXL_TAB_ACTIVITY_STORAGE_KEY);
43
+ if (!stored) return null;
44
+ return JSON.parse(stored);
45
+ } catch (error) {
46
+ diag.warn("Failed to retrieve tab activity", error);
47
+ return null;
48
+ }
49
+ };
50
+ const getTabContext = (navigationSource, sessionStorage, localStorage, diag) => {
51
+ const tabId = require_resources_appInstanceId.getAppInstanceId(sessionStorage, diag);
52
+ let sourceTabId;
53
+ let experienceId;
54
+ if (navigationSource === "same_origin") {
55
+ const lastActivity = getTabActivity(localStorage, diag);
56
+ if (lastActivity) {
57
+ if (Date.now() - lastActivity.lastActivityMs <= 1e4) {
58
+ sourceTabId = lastActivity.tabId;
59
+ ({experienceId} = lastActivity);
60
+ }
61
+ }
62
+ }
63
+ experienceId ??= require_utils_generateUUID.generateUUID();
64
+ return {
65
+ navigationSource,
66
+ tab: {
67
+ experienceId,
68
+ sourceTabId,
69
+ tabId
70
+ }
71
+ };
72
+ };
73
+ const initTabContext = ({ sessionStorage, localStorage, referrer, navigationPerformance, diag }) => {
74
+ const referrerInfo = processReferrer(referrer);
75
+ const navigationSource = determineNavigationSource(referrerInfo, navigationPerformance, diag);
76
+ try {
77
+ const stored = sessionStorage.getItem(require_managers_MXLUserSessionManager_constants.MXL_TAB_STORAGE_KEY);
78
+ if (stored) return {
79
+ navigationSource,
80
+ referrerScrubbedUrl: referrerInfo.isValid && referrerInfo.scrubbedUrl ? referrerInfo.scrubbedUrl : void 0,
81
+ tab: JSON.parse(stored)
82
+ };
83
+ } catch (error) {
84
+ diag.warn("Failed to retrieve tab data", error);
85
+ }
86
+ const tabContext = getTabContext(navigationSource, sessionStorage, localStorage, diag);
87
+ try {
88
+ sessionStorage.setItem(require_managers_MXLUserSessionManager_constants.MXL_TAB_STORAGE_KEY, JSON.stringify(tabContext.tab));
89
+ } catch (error) {
90
+ diag.warn("Failed to store tab data", error);
91
+ }
92
+ return {
93
+ navigationSource: tabContext.navigationSource,
94
+ referrerScrubbedUrl: referrerInfo.isValid && referrerInfo.scrubbedUrl ? referrerInfo.scrubbedUrl : void 0,
95
+ tab: tabContext.tab
96
+ };
97
+ };
98
+ const storeCurrentTabAsSource = (storage, tab, diag) => {
99
+ const activity = {
100
+ experienceId: tab.experienceId,
101
+ lastActivityMs: Date.now(),
102
+ tabId: tab.tabId
103
+ };
104
+ try {
105
+ storage.setItem(require_managers_MXLUserSessionManager_constants.MXL_TAB_ACTIVITY_STORAGE_KEY, JSON.stringify(activity));
106
+ } catch (error) {
107
+ diag.warn("Failed to save tab activity", error);
108
+ }
109
+ };
110
+ const setupNewTabClickListeners = (tab, storage, diag) => {
111
+ const handleNewTabClick = (ev) => {
112
+ if (ev.button === 1 || ev.ctrlKey || ev.metaKey || ev.shiftKey) {
113
+ storeCurrentTabAsSource(storage, tab, diag);
114
+ return;
115
+ }
116
+ if (ev.target?.closest("a[target=\"_blank\"], form[target=\"_blank\"], a[rel*=\"noopener\"], a[rel*=\"noreferrer\"]")) storeCurrentTabAsSource(storage, tab, diag);
117
+ };
118
+ const options = {
119
+ capture: true,
120
+ passive: true
121
+ };
122
+ document.addEventListener("auxclick", handleNewTabClick, options);
123
+ document.addEventListener("click", handleNewTabClick, options);
124
+ };
125
+ //#endregion
126
+ exports.determineNavigationSource = determineNavigationSource;
127
+ exports.initTabContext = initTabContext;
128
+ exports.processReferrer = processReferrer;
129
+ exports.setupNewTabClickListeners = setupNewTabClickListeners;
130
+ exports.storeCurrentTabAsSource = storeCurrentTabAsSource;
131
+
132
+ //# sourceMappingURL=tabTracking.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabTracking.cjs","names":["MXL_TAB_ACTIVITY_STORAGE_KEY","getAppInstanceId","generateUUID","MXL_TAB_STORAGE_KEY"],"sources":["../../../../src/managers/MXLUserSessionManager/utils/tabTracking.ts"],"sourcesContent":["import type { DiagLogger } from '@opentelemetry/api';\nimport { getAppInstanceId } from '../../../resources';\nimport { generateUUID } from '../../../utils';\nimport {\n MXL_TAB_ACTIVITY_STORAGE_KEY,\n MXL_TAB_STORAGE_KEY,\n} from '../constants';\nimport type { NavigationSource, Tab, TabActivity } from '../types';\n\nexport interface TabContext {\n tab: Tab;\n navigationSource: NavigationSource;\n referrerScrubbedUrl?: string;\n}\n\nexport const processReferrer = (\n referrer: string,\n): {\n isValid: boolean;\n isSameOrigin: boolean;\n scrubbedUrl?: string;\n} => {\n if (!referrer) {\n return { isSameOrigin: false, isValid: false };\n }\n\n try {\n const referrerUrl = new URL(referrer);\n const currentOrigin = window.location.origin;\n\n return {\n isSameOrigin: referrerUrl.origin === currentOrigin,\n isValid: true,\n scrubbedUrl: referrerUrl.origin + referrerUrl.pathname,\n };\n } catch {\n return { isSameOrigin: false, isValid: false };\n }\n};\n\nexport const determineNavigationSource = (\n referrerInfo: ReturnType<typeof processReferrer>,\n navigationPerformance: Pick<Performance, 'getEntriesByType'>,\n diag: DiagLogger,\n): NavigationSource => {\n try {\n const navEntries = navigationPerformance.getEntriesByType('navigation');\n if (navEntries.length > 0 && navEntries[0]) {\n const navEntry = navEntries[0] as PerformanceNavigationTiming;\n if (navEntry.type === 'reload') {\n return 'reload';\n }\n if (navEntry.type === 'back_forward') {\n return 'back_forward';\n }\n }\n } catch (error) {\n diag.warn('Failed to get navigation type', error);\n }\n\n if (referrerInfo.isValid) {\n return referrerInfo.isSameOrigin ? 'same_origin' : 'external';\n }\n\n return 'direct';\n};\n\nconst getTabActivity = (\n storage: Storage,\n diag: DiagLogger,\n): TabActivity | null => {\n try {\n const stored = storage.getItem(MXL_TAB_ACTIVITY_STORAGE_KEY);\n if (!stored) {\n return null;\n }\n return JSON.parse(stored) as TabActivity;\n } catch (error) {\n diag.warn('Failed to retrieve tab activity', error);\n return null;\n }\n};\n\nconst getTabContext = (\n navigationSource: NavigationSource,\n sessionStorage: Storage,\n localStorage: Storage,\n diag: DiagLogger,\n): Omit<TabContext, 'navigationSource'> & {\n navigationSource: NavigationSource;\n} => {\n const tabId = getAppInstanceId(sessionStorage, diag);\n\n let sourceTabId: string | undefined;\n let experienceId: string | undefined;\n\n if (navigationSource === 'same_origin') {\n const lastActivity = getTabActivity(localStorage, diag);\n if (lastActivity) {\n const age = Date.now() - lastActivity.lastActivityMs;\n if (age <= 10_000) {\n sourceTabId = lastActivity.tabId;\n ({ experienceId } = lastActivity);\n }\n }\n }\n\n experienceId ??= generateUUID();\n\n return {\n navigationSource,\n tab: {\n experienceId,\n sourceTabId,\n tabId,\n },\n };\n};\n\nexport const initTabContext = ({\n sessionStorage,\n localStorage,\n referrer,\n navigationPerformance,\n diag,\n}: {\n sessionStorage: Storage;\n localStorage: Storage;\n referrer: string;\n navigationPerformance: Pick<Performance, 'getEntriesByType'>;\n diag: DiagLogger;\n}): TabContext => {\n const referrerInfo = processReferrer(referrer);\n const navigationSource = determineNavigationSource(\n referrerInfo,\n navigationPerformance,\n diag,\n );\n\n try {\n const stored = sessionStorage.getItem(MXL_TAB_STORAGE_KEY);\n if (stored) {\n return {\n navigationSource,\n referrerScrubbedUrl:\n referrerInfo.isValid && referrerInfo.scrubbedUrl\n ? referrerInfo.scrubbedUrl\n : undefined,\n tab: JSON.parse(stored) as Tab,\n };\n }\n } catch (error) {\n diag.warn('Failed to retrieve tab data', error);\n }\n\n const tabContext = getTabContext(\n navigationSource,\n sessionStorage,\n localStorage,\n diag,\n );\n\n try {\n sessionStorage.setItem(MXL_TAB_STORAGE_KEY, JSON.stringify(tabContext.tab));\n } catch (error) {\n diag.warn('Failed to store tab data', error);\n }\n\n return {\n navigationSource: tabContext.navigationSource,\n referrerScrubbedUrl:\n referrerInfo.isValid && referrerInfo.scrubbedUrl\n ? referrerInfo.scrubbedUrl\n : undefined,\n tab: tabContext.tab,\n };\n};\n\nexport const storeCurrentTabAsSource = (\n storage: Storage,\n tab: Tab,\n diag: DiagLogger,\n): void => {\n const activity: TabActivity = {\n experienceId: tab.experienceId,\n lastActivityMs: Date.now(),\n tabId: tab.tabId,\n };\n\n try {\n storage.setItem(MXL_TAB_ACTIVITY_STORAGE_KEY, JSON.stringify(activity));\n } catch (error) {\n diag.warn('Failed to save tab activity', error);\n }\n};\n\nexport const setupNewTabClickListeners = (\n tab: Tab,\n storage: Storage,\n diag: DiagLogger,\n): void => {\n const handleNewTabClick = (ev: MouseEvent) => {\n if (ev.button === 1 || ev.ctrlKey || ev.metaKey || ev.shiftKey) {\n storeCurrentTabAsSource(storage, tab, diag);\n return;\n }\n\n const newTabAnchor = (ev.target as HTMLElement | null)?.closest(\n 'a[target=\"_blank\"], form[target=\"_blank\"], a[rel*=\"noopener\"], a[rel*=\"noreferrer\"]',\n );\n if (newTabAnchor) {\n storeCurrentTabAsSource(storage, tab, diag);\n }\n };\n\n const options = { capture: true, passive: true };\n document.addEventListener('auxclick', handleNewTabClick, options);\n document.addEventListener('click', handleNewTabClick, options);\n};\n"],"mappings":";;;;;AAeA,MAAa,mBACX,aAKG;AACH,KAAI,CAAC,SACH,QAAO;EAAE,cAAc;EAAO,SAAS;EAAO;AAGhD,KAAI;EACF,MAAM,cAAc,IAAI,IAAI,SAAS;EACrC,MAAM,gBAAgB,OAAO,SAAS;AAEtC,SAAO;GACL,cAAc,YAAY,WAAW;GACrC,SAAS;GACT,aAAa,YAAY,SAAS,YAAY;GAC/C;SACK;AACN,SAAO;GAAE,cAAc;GAAO,SAAS;GAAO;;;AAIlD,MAAa,6BACX,cACA,uBACA,SACqB;AACrB,KAAI;EACF,MAAM,aAAa,sBAAsB,iBAAiB,aAAa;AACvE,MAAI,WAAW,SAAS,KAAK,WAAW,IAAI;GAC1C,MAAM,WAAW,WAAW;AAC5B,OAAI,SAAS,SAAS,SACpB,QAAO;AAET,OAAI,SAAS,SAAS,eACpB,QAAO;;UAGJ,OAAO;AACd,OAAK,KAAK,iCAAiC,MAAM;;AAGnD,KAAI,aAAa,QACf,QAAO,aAAa,eAAe,gBAAgB;AAGrD,QAAO;;AAGT,MAAM,kBACJ,SACA,SACuB;AACvB,KAAI;EACF,MAAM,SAAS,QAAQ,QAAQA,iDAAAA,6BAA6B;AAC5D,MAAI,CAAC,OACH,QAAO;AAET,SAAO,KAAK,MAAM,OAAO;UAClB,OAAO;AACd,OAAK,KAAK,mCAAmC,MAAM;AACnD,SAAO;;;AAIX,MAAM,iBACJ,kBACA,gBACA,cACA,SAGG;CACH,MAAM,QAAQC,gCAAAA,iBAAiB,gBAAgB,KAAK;CAEpD,IAAI;CACJ,IAAI;AAEJ,KAAI,qBAAqB,eAAe;EACtC,MAAM,eAAe,eAAe,cAAc,KAAK;AACvD,MAAI;OACU,KAAK,KAAK,GAAG,aAAa,kBAC3B,KAAQ;AACjB,kBAAc,aAAa;AAC3B,KAAC,CAAE,gBAAiB;;;;AAK1B,kBAAiBC,2BAAAA,cAAc;AAE/B,QAAO;EACL;EACA,KAAK;GACH;GACA;GACA;GACD;EACF;;AAGH,MAAa,kBAAkB,EAC7B,gBACA,cACA,UACA,uBACA,WAOgB;CAChB,MAAM,eAAe,gBAAgB,SAAS;CAC9C,MAAM,mBAAmB,0BACvB,cACA,uBACA,KACD;AAED,KAAI;EACF,MAAM,SAAS,eAAe,QAAQC,iDAAAA,oBAAoB;AAC1D,MAAI,OACF,QAAO;GACL;GACA,qBACE,aAAa,WAAW,aAAa,cACjC,aAAa,cACb,KAAA;GACN,KAAK,KAAK,MAAM,OAAO;GACxB;UAEI,OAAO;AACd,OAAK,KAAK,+BAA+B,MAAM;;CAGjD,MAAM,aAAa,cACjB,kBACA,gBACA,cACA,KACD;AAED,KAAI;AACF,iBAAe,QAAQA,iDAAAA,qBAAqB,KAAK,UAAU,WAAW,IAAI,CAAC;UACpE,OAAO;AACd,OAAK,KAAK,4BAA4B,MAAM;;AAG9C,QAAO;EACL,kBAAkB,WAAW;EAC7B,qBACE,aAAa,WAAW,aAAa,cACjC,aAAa,cACb,KAAA;EACN,KAAK,WAAW;EACjB;;AAGH,MAAa,2BACX,SACA,KACA,SACS;CACT,MAAM,WAAwB;EAC5B,cAAc,IAAI;EAClB,gBAAgB,KAAK,KAAK;EAC1B,OAAO,IAAI;EACZ;AAED,KAAI;AACF,UAAQ,QAAQH,iDAAAA,8BAA8B,KAAK,UAAU,SAAS,CAAC;UAChE,OAAO;AACd,OAAK,KAAK,+BAA+B,MAAM;;;AAInD,MAAa,6BACX,KACA,SACA,SACS;CACT,MAAM,qBAAqB,OAAmB;AAC5C,MAAI,GAAG,WAAW,KAAK,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU;AAC9D,2BAAwB,SAAS,KAAK,KAAK;AAC3C;;AAMF,MAHsB,GAAG,QAA+B,QACtD,8FACD,CAEC,yBAAwB,SAAS,KAAK,KAAK;;CAI/C,MAAM,UAAU;EAAE,SAAS;EAAM,SAAS;EAAM;AAChD,UAAS,iBAAiB,YAAY,mBAAmB,QAAQ;AACjE,UAAS,iBAAiB,SAAS,mBAAmB,QAAQ"}
@@ -0,0 +1,33 @@
1
+ import { NavigationSource, Tab } from "../types.cjs";
2
+ import { DiagLogger } from "@opentelemetry/api";
3
+
4
+ //#region src/managers/MXLUserSessionManager/utils/tabTracking.d.ts
5
+ interface TabContext {
6
+ tab: Tab;
7
+ navigationSource: NavigationSource;
8
+ referrerScrubbedUrl?: string;
9
+ }
10
+ declare const processReferrer: (referrer: string) => {
11
+ isValid: boolean;
12
+ isSameOrigin: boolean;
13
+ scrubbedUrl?: string;
14
+ };
15
+ declare const determineNavigationSource: (referrerInfo: ReturnType<typeof processReferrer>, navigationPerformance: Pick<Performance, "getEntriesByType">, diag: DiagLogger) => NavigationSource;
16
+ declare const initTabContext: ({
17
+ sessionStorage,
18
+ localStorage,
19
+ referrer,
20
+ navigationPerformance,
21
+ diag
22
+ }: {
23
+ sessionStorage: Storage;
24
+ localStorage: Storage;
25
+ referrer: string;
26
+ navigationPerformance: Pick<Performance, "getEntriesByType">;
27
+ diag: DiagLogger;
28
+ }) => TabContext;
29
+ declare const storeCurrentTabAsSource: (storage: Storage, tab: Tab, diag: DiagLogger) => void;
30
+ declare const setupNewTabClickListeners: (tab: Tab, storage: Storage, diag: DiagLogger) => void;
31
+ //#endregion
32
+ export { TabContext, determineNavigationSource, initTabContext, processReferrer, setupNewTabClickListeners, storeCurrentTabAsSource };
33
+ //# sourceMappingURL=tabTracking.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabTracking.d.cts","names":[],"sources":["../../../../src/managers/MXLUserSessionManager/utils/tabTracking.ts"],"mappings":";;;;UASiB,UAAA;EACf,GAAA,EAAK,GAAA;EACL,gBAAA,EAAkB,gBAAA;EAClB,mBAAA;AAAA;AAAA,cAGW,eAAA,GACX,QAAA;EAEA,OAAA;EACA,YAAA;EACA,WAAA;AAAA;AAAA,cAoBW,yBAAA,GACX,YAAA,EAAc,UAAA,QAAkB,eAAA,GAChC,qBAAA,EAAuB,IAAA,CAAK,WAAA,uBAC5B,IAAA,EAAM,UAAA,KACL,gBAAA;AAAA,cA2EU,cAAA;EAAkB,cAAA;EAAA,YAAA;EAAA,QAAA;EAAA,qBAAA;EAAA;AAAA;EAO7B,cAAA,EAAgB,OAAA;EAChB,YAAA,EAAc,OAAA;EACd,QAAA;EACA,qBAAA,EAAuB,IAAA,CAAK,WAAA;EAC5B,IAAA,EAAM,UAAA;AAAA,MACJ,UAAA;AAAA,cA+CS,uBAAA,GACX,OAAA,EAAS,OAAA,EACT,GAAA,EAAK,GAAA,EACL,IAAA,EAAM,UAAA;AAAA,cAeK,yBAAA,GACX,GAAA,EAAK,GAAA,EACL,OAAA,EAAS,OAAA,EACT,IAAA,EAAM,UAAA"}
@@ -0,0 +1,33 @@
1
+ import { NavigationSource, Tab } from "../types.js";
2
+ import { DiagLogger } from "@opentelemetry/api";
3
+
4
+ //#region src/managers/MXLUserSessionManager/utils/tabTracking.d.ts
5
+ interface TabContext {
6
+ tab: Tab;
7
+ navigationSource: NavigationSource;
8
+ referrerScrubbedUrl?: string;
9
+ }
10
+ declare const processReferrer: (referrer: string) => {
11
+ isValid: boolean;
12
+ isSameOrigin: boolean;
13
+ scrubbedUrl?: string;
14
+ };
15
+ declare const determineNavigationSource: (referrerInfo: ReturnType<typeof processReferrer>, navigationPerformance: Pick<Performance, "getEntriesByType">, diag: DiagLogger) => NavigationSource;
16
+ declare const initTabContext: ({
17
+ sessionStorage,
18
+ localStorage,
19
+ referrer,
20
+ navigationPerformance,
21
+ diag
22
+ }: {
23
+ sessionStorage: Storage;
24
+ localStorage: Storage;
25
+ referrer: string;
26
+ navigationPerformance: Pick<Performance, "getEntriesByType">;
27
+ diag: DiagLogger;
28
+ }) => TabContext;
29
+ declare const storeCurrentTabAsSource: (storage: Storage, tab: Tab, diag: DiagLogger) => void;
30
+ declare const setupNewTabClickListeners: (tab: Tab, storage: Storage, diag: DiagLogger) => void;
31
+ //#endregion
32
+ export { TabContext, determineNavigationSource, initTabContext, processReferrer, setupNewTabClickListeners, storeCurrentTabAsSource };
33
+ //# sourceMappingURL=tabTracking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabTracking.d.ts","names":[],"sources":["../../../../src/managers/MXLUserSessionManager/utils/tabTracking.ts"],"mappings":";;;;UASiB,UAAA;EACf,GAAA,EAAK,GAAA;EACL,gBAAA,EAAkB,gBAAA;EAClB,mBAAA;AAAA;AAAA,cAGW,eAAA,GACX,QAAA;EAEA,OAAA;EACA,YAAA;EACA,WAAA;AAAA;AAAA,cAoBW,yBAAA,GACX,YAAA,EAAc,UAAA,QAAkB,eAAA,GAChC,qBAAA,EAAuB,IAAA,CAAK,WAAA,uBAC5B,IAAA,EAAM,UAAA,KACL,gBAAA;AAAA,cA2EU,cAAA;EAAkB,cAAA;EAAA,YAAA;EAAA,QAAA;EAAA,qBAAA;EAAA;AAAA;EAO7B,cAAA,EAAgB,OAAA;EAChB,YAAA,EAAc,OAAA;EACd,QAAA;EACA,qBAAA,EAAuB,IAAA,CAAK,WAAA;EAC5B,IAAA,EAAM,UAAA;AAAA,MACJ,UAAA;AAAA,cA+CS,uBAAA,GACX,OAAA,EAAS,OAAA,EACT,GAAA,EAAK,GAAA,EACL,IAAA,EAAM,UAAA;AAAA,cAeK,yBAAA,GACX,GAAA,EAAK,GAAA,EACL,OAAA,EAAS,OAAA,EACT,IAAA,EAAM,UAAA"}
@@ -0,0 +1,127 @@
1
+ import { generateUUID } from "../../../utils/generateUUID.js";
2
+ import { getAppInstanceId } from "../../../resources/appInstanceId.js";
3
+ import { MXL_TAB_ACTIVITY_STORAGE_KEY, MXL_TAB_STORAGE_KEY } from "../constants.js";
4
+ //#region src/managers/MXLUserSessionManager/utils/tabTracking.ts
5
+ const processReferrer = (referrer) => {
6
+ if (!referrer) return {
7
+ isSameOrigin: false,
8
+ isValid: false
9
+ };
10
+ try {
11
+ const referrerUrl = new URL(referrer);
12
+ const currentOrigin = window.location.origin;
13
+ return {
14
+ isSameOrigin: referrerUrl.origin === currentOrigin,
15
+ isValid: true,
16
+ scrubbedUrl: referrerUrl.origin + referrerUrl.pathname
17
+ };
18
+ } catch {
19
+ return {
20
+ isSameOrigin: false,
21
+ isValid: false
22
+ };
23
+ }
24
+ };
25
+ const determineNavigationSource = (referrerInfo, navigationPerformance, diag) => {
26
+ try {
27
+ const navEntries = navigationPerformance.getEntriesByType("navigation");
28
+ if (navEntries.length > 0 && navEntries[0]) {
29
+ const navEntry = navEntries[0];
30
+ if (navEntry.type === "reload") return "reload";
31
+ if (navEntry.type === "back_forward") return "back_forward";
32
+ }
33
+ } catch (error) {
34
+ diag.warn("Failed to get navigation type", error);
35
+ }
36
+ if (referrerInfo.isValid) return referrerInfo.isSameOrigin ? "same_origin" : "external";
37
+ return "direct";
38
+ };
39
+ const getTabActivity = (storage, diag) => {
40
+ try {
41
+ const stored = storage.getItem(MXL_TAB_ACTIVITY_STORAGE_KEY);
42
+ if (!stored) return null;
43
+ return JSON.parse(stored);
44
+ } catch (error) {
45
+ diag.warn("Failed to retrieve tab activity", error);
46
+ return null;
47
+ }
48
+ };
49
+ const getTabContext = (navigationSource, sessionStorage, localStorage, diag) => {
50
+ const tabId = getAppInstanceId(sessionStorage, diag);
51
+ let sourceTabId;
52
+ let experienceId;
53
+ if (navigationSource === "same_origin") {
54
+ const lastActivity = getTabActivity(localStorage, diag);
55
+ if (lastActivity) {
56
+ if (Date.now() - lastActivity.lastActivityMs <= 1e4) {
57
+ sourceTabId = lastActivity.tabId;
58
+ ({experienceId} = lastActivity);
59
+ }
60
+ }
61
+ }
62
+ experienceId ??= generateUUID();
63
+ return {
64
+ navigationSource,
65
+ tab: {
66
+ experienceId,
67
+ sourceTabId,
68
+ tabId
69
+ }
70
+ };
71
+ };
72
+ const initTabContext = ({ sessionStorage, localStorage, referrer, navigationPerformance, diag }) => {
73
+ const referrerInfo = processReferrer(referrer);
74
+ const navigationSource = determineNavigationSource(referrerInfo, navigationPerformance, diag);
75
+ try {
76
+ const stored = sessionStorage.getItem(MXL_TAB_STORAGE_KEY);
77
+ if (stored) return {
78
+ navigationSource,
79
+ referrerScrubbedUrl: referrerInfo.isValid && referrerInfo.scrubbedUrl ? referrerInfo.scrubbedUrl : void 0,
80
+ tab: JSON.parse(stored)
81
+ };
82
+ } catch (error) {
83
+ diag.warn("Failed to retrieve tab data", error);
84
+ }
85
+ const tabContext = getTabContext(navigationSource, sessionStorage, localStorage, diag);
86
+ try {
87
+ sessionStorage.setItem(MXL_TAB_STORAGE_KEY, JSON.stringify(tabContext.tab));
88
+ } catch (error) {
89
+ diag.warn("Failed to store tab data", error);
90
+ }
91
+ return {
92
+ navigationSource: tabContext.navigationSource,
93
+ referrerScrubbedUrl: referrerInfo.isValid && referrerInfo.scrubbedUrl ? referrerInfo.scrubbedUrl : void 0,
94
+ tab: tabContext.tab
95
+ };
96
+ };
97
+ const storeCurrentTabAsSource = (storage, tab, diag) => {
98
+ const activity = {
99
+ experienceId: tab.experienceId,
100
+ lastActivityMs: Date.now(),
101
+ tabId: tab.tabId
102
+ };
103
+ try {
104
+ storage.setItem(MXL_TAB_ACTIVITY_STORAGE_KEY, JSON.stringify(activity));
105
+ } catch (error) {
106
+ diag.warn("Failed to save tab activity", error);
107
+ }
108
+ };
109
+ const setupNewTabClickListeners = (tab, storage, diag) => {
110
+ const handleNewTabClick = (ev) => {
111
+ if (ev.button === 1 || ev.ctrlKey || ev.metaKey || ev.shiftKey) {
112
+ storeCurrentTabAsSource(storage, tab, diag);
113
+ return;
114
+ }
115
+ if (ev.target?.closest("a[target=\"_blank\"], form[target=\"_blank\"], a[rel*=\"noopener\"], a[rel*=\"noreferrer\"]")) storeCurrentTabAsSource(storage, tab, diag);
116
+ };
117
+ const options = {
118
+ capture: true,
119
+ passive: true
120
+ };
121
+ document.addEventListener("auxclick", handleNewTabClick, options);
122
+ document.addEventListener("click", handleNewTabClick, options);
123
+ };
124
+ //#endregion
125
+ export { determineNavigationSource, initTabContext, processReferrer, setupNewTabClickListeners, storeCurrentTabAsSource };
126
+
127
+ //# sourceMappingURL=tabTracking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabTracking.js","names":[],"sources":["../../../../src/managers/MXLUserSessionManager/utils/tabTracking.ts"],"sourcesContent":["import type { DiagLogger } from '@opentelemetry/api';\nimport { getAppInstanceId } from '../../../resources';\nimport { generateUUID } from '../../../utils';\nimport {\n MXL_TAB_ACTIVITY_STORAGE_KEY,\n MXL_TAB_STORAGE_KEY,\n} from '../constants';\nimport type { NavigationSource, Tab, TabActivity } from '../types';\n\nexport interface TabContext {\n tab: Tab;\n navigationSource: NavigationSource;\n referrerScrubbedUrl?: string;\n}\n\nexport const processReferrer = (\n referrer: string,\n): {\n isValid: boolean;\n isSameOrigin: boolean;\n scrubbedUrl?: string;\n} => {\n if (!referrer) {\n return { isSameOrigin: false, isValid: false };\n }\n\n try {\n const referrerUrl = new URL(referrer);\n const currentOrigin = window.location.origin;\n\n return {\n isSameOrigin: referrerUrl.origin === currentOrigin,\n isValid: true,\n scrubbedUrl: referrerUrl.origin + referrerUrl.pathname,\n };\n } catch {\n return { isSameOrigin: false, isValid: false };\n }\n};\n\nexport const determineNavigationSource = (\n referrerInfo: ReturnType<typeof processReferrer>,\n navigationPerformance: Pick<Performance, 'getEntriesByType'>,\n diag: DiagLogger,\n): NavigationSource => {\n try {\n const navEntries = navigationPerformance.getEntriesByType('navigation');\n if (navEntries.length > 0 && navEntries[0]) {\n const navEntry = navEntries[0] as PerformanceNavigationTiming;\n if (navEntry.type === 'reload') {\n return 'reload';\n }\n if (navEntry.type === 'back_forward') {\n return 'back_forward';\n }\n }\n } catch (error) {\n diag.warn('Failed to get navigation type', error);\n }\n\n if (referrerInfo.isValid) {\n return referrerInfo.isSameOrigin ? 'same_origin' : 'external';\n }\n\n return 'direct';\n};\n\nconst getTabActivity = (\n storage: Storage,\n diag: DiagLogger,\n): TabActivity | null => {\n try {\n const stored = storage.getItem(MXL_TAB_ACTIVITY_STORAGE_KEY);\n if (!stored) {\n return null;\n }\n return JSON.parse(stored) as TabActivity;\n } catch (error) {\n diag.warn('Failed to retrieve tab activity', error);\n return null;\n }\n};\n\nconst getTabContext = (\n navigationSource: NavigationSource,\n sessionStorage: Storage,\n localStorage: Storage,\n diag: DiagLogger,\n): Omit<TabContext, 'navigationSource'> & {\n navigationSource: NavigationSource;\n} => {\n const tabId = getAppInstanceId(sessionStorage, diag);\n\n let sourceTabId: string | undefined;\n let experienceId: string | undefined;\n\n if (navigationSource === 'same_origin') {\n const lastActivity = getTabActivity(localStorage, diag);\n if (lastActivity) {\n const age = Date.now() - lastActivity.lastActivityMs;\n if (age <= 10_000) {\n sourceTabId = lastActivity.tabId;\n ({ experienceId } = lastActivity);\n }\n }\n }\n\n experienceId ??= generateUUID();\n\n return {\n navigationSource,\n tab: {\n experienceId,\n sourceTabId,\n tabId,\n },\n };\n};\n\nexport const initTabContext = ({\n sessionStorage,\n localStorage,\n referrer,\n navigationPerformance,\n diag,\n}: {\n sessionStorage: Storage;\n localStorage: Storage;\n referrer: string;\n navigationPerformance: Pick<Performance, 'getEntriesByType'>;\n diag: DiagLogger;\n}): TabContext => {\n const referrerInfo = processReferrer(referrer);\n const navigationSource = determineNavigationSource(\n referrerInfo,\n navigationPerformance,\n diag,\n );\n\n try {\n const stored = sessionStorage.getItem(MXL_TAB_STORAGE_KEY);\n if (stored) {\n return {\n navigationSource,\n referrerScrubbedUrl:\n referrerInfo.isValid && referrerInfo.scrubbedUrl\n ? referrerInfo.scrubbedUrl\n : undefined,\n tab: JSON.parse(stored) as Tab,\n };\n }\n } catch (error) {\n diag.warn('Failed to retrieve tab data', error);\n }\n\n const tabContext = getTabContext(\n navigationSource,\n sessionStorage,\n localStorage,\n diag,\n );\n\n try {\n sessionStorage.setItem(MXL_TAB_STORAGE_KEY, JSON.stringify(tabContext.tab));\n } catch (error) {\n diag.warn('Failed to store tab data', error);\n }\n\n return {\n navigationSource: tabContext.navigationSource,\n referrerScrubbedUrl:\n referrerInfo.isValid && referrerInfo.scrubbedUrl\n ? referrerInfo.scrubbedUrl\n : undefined,\n tab: tabContext.tab,\n };\n};\n\nexport const storeCurrentTabAsSource = (\n storage: Storage,\n tab: Tab,\n diag: DiagLogger,\n): void => {\n const activity: TabActivity = {\n experienceId: tab.experienceId,\n lastActivityMs: Date.now(),\n tabId: tab.tabId,\n };\n\n try {\n storage.setItem(MXL_TAB_ACTIVITY_STORAGE_KEY, JSON.stringify(activity));\n } catch (error) {\n diag.warn('Failed to save tab activity', error);\n }\n};\n\nexport const setupNewTabClickListeners = (\n tab: Tab,\n storage: Storage,\n diag: DiagLogger,\n): void => {\n const handleNewTabClick = (ev: MouseEvent) => {\n if (ev.button === 1 || ev.ctrlKey || ev.metaKey || ev.shiftKey) {\n storeCurrentTabAsSource(storage, tab, diag);\n return;\n }\n\n const newTabAnchor = (ev.target as HTMLElement | null)?.closest(\n 'a[target=\"_blank\"], form[target=\"_blank\"], a[rel*=\"noopener\"], a[rel*=\"noreferrer\"]',\n );\n if (newTabAnchor) {\n storeCurrentTabAsSource(storage, tab, diag);\n }\n };\n\n const options = { capture: true, passive: true };\n document.addEventListener('auxclick', handleNewTabClick, options);\n document.addEventListener('click', handleNewTabClick, options);\n};\n"],"mappings":";;;;AAeA,MAAa,mBACX,aAKG;AACH,KAAI,CAAC,SACH,QAAO;EAAE,cAAc;EAAO,SAAS;EAAO;AAGhD,KAAI;EACF,MAAM,cAAc,IAAI,IAAI,SAAS;EACrC,MAAM,gBAAgB,OAAO,SAAS;AAEtC,SAAO;GACL,cAAc,YAAY,WAAW;GACrC,SAAS;GACT,aAAa,YAAY,SAAS,YAAY;GAC/C;SACK;AACN,SAAO;GAAE,cAAc;GAAO,SAAS;GAAO;;;AAIlD,MAAa,6BACX,cACA,uBACA,SACqB;AACrB,KAAI;EACF,MAAM,aAAa,sBAAsB,iBAAiB,aAAa;AACvE,MAAI,WAAW,SAAS,KAAK,WAAW,IAAI;GAC1C,MAAM,WAAW,WAAW;AAC5B,OAAI,SAAS,SAAS,SACpB,QAAO;AAET,OAAI,SAAS,SAAS,eACpB,QAAO;;UAGJ,OAAO;AACd,OAAK,KAAK,iCAAiC,MAAM;;AAGnD,KAAI,aAAa,QACf,QAAO,aAAa,eAAe,gBAAgB;AAGrD,QAAO;;AAGT,MAAM,kBACJ,SACA,SACuB;AACvB,KAAI;EACF,MAAM,SAAS,QAAQ,QAAQ,6BAA6B;AAC5D,MAAI,CAAC,OACH,QAAO;AAET,SAAO,KAAK,MAAM,OAAO;UAClB,OAAO;AACd,OAAK,KAAK,mCAAmC,MAAM;AACnD,SAAO;;;AAIX,MAAM,iBACJ,kBACA,gBACA,cACA,SAGG;CACH,MAAM,QAAQ,iBAAiB,gBAAgB,KAAK;CAEpD,IAAI;CACJ,IAAI;AAEJ,KAAI,qBAAqB,eAAe;EACtC,MAAM,eAAe,eAAe,cAAc,KAAK;AACvD,MAAI;OACU,KAAK,KAAK,GAAG,aAAa,kBAC3B,KAAQ;AACjB,kBAAc,aAAa;AAC3B,KAAC,CAAE,gBAAiB;;;;AAK1B,kBAAiB,cAAc;AAE/B,QAAO;EACL;EACA,KAAK;GACH;GACA;GACA;GACD;EACF;;AAGH,MAAa,kBAAkB,EAC7B,gBACA,cACA,UACA,uBACA,WAOgB;CAChB,MAAM,eAAe,gBAAgB,SAAS;CAC9C,MAAM,mBAAmB,0BACvB,cACA,uBACA,KACD;AAED,KAAI;EACF,MAAM,SAAS,eAAe,QAAQ,oBAAoB;AAC1D,MAAI,OACF,QAAO;GACL;GACA,qBACE,aAAa,WAAW,aAAa,cACjC,aAAa,cACb,KAAA;GACN,KAAK,KAAK,MAAM,OAAO;GACxB;UAEI,OAAO;AACd,OAAK,KAAK,+BAA+B,MAAM;;CAGjD,MAAM,aAAa,cACjB,kBACA,gBACA,cACA,KACD;AAED,KAAI;AACF,iBAAe,QAAQ,qBAAqB,KAAK,UAAU,WAAW,IAAI,CAAC;UACpE,OAAO;AACd,OAAK,KAAK,4BAA4B,MAAM;;AAG9C,QAAO;EACL,kBAAkB,WAAW;EAC7B,qBACE,aAAa,WAAW,aAAa,cACjC,aAAa,cACb,KAAA;EACN,KAAK,WAAW;EACjB;;AAGH,MAAa,2BACX,SACA,KACA,SACS;CACT,MAAM,WAAwB;EAC5B,cAAc,IAAI;EAClB,gBAAgB,KAAK,KAAK;EAC1B,OAAO,IAAI;EACZ;AAED,KAAI;AACF,UAAQ,QAAQ,8BAA8B,KAAK,UAAU,SAAS,CAAC;UAChE,OAAO;AACd,OAAK,KAAK,+BAA+B,MAAM;;;AAInD,MAAa,6BACX,KACA,SACA,SACS;CACT,MAAM,qBAAqB,OAAmB;AAC5C,MAAI,GAAG,WAAW,KAAK,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU;AAC9D,2BAAwB,SAAS,KAAK,KAAK;AAC3C;;AAMF,MAHsB,GAAG,QAA+B,QACtD,8FACD,CAEC,yBAAwB,SAAS,KAAK,KAAK;;CAI/C,MAAM,UAAU;EAAE,SAAS;EAAM,SAAS;EAAM;AAChD,UAAS,iBAAiB,YAAY,mBAAmB,QAAQ;AACjE,UAAS,iBAAiB,SAAS,mBAAmB,QAAQ"}