@kubesense/kubesense-browser-rum-core 1.7.0 → 2.0.0-beta.1

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 (922) hide show
  1. package/LICENSE +1 -1
  2. package/cjs/boot/preStartRum.d.ts +4 -3
  3. package/cjs/boot/preStartRum.js +229 -204
  4. package/cjs/boot/preStartRum.js.map +1 -1
  5. package/cjs/boot/rumPublicApi.d.ts +190 -51
  6. package/cjs/boot/rumPublicApi.js +267 -164
  7. package/cjs/boot/rumPublicApi.js.map +1 -1
  8. package/cjs/boot/startRum.d.ts +42 -31
  9. package/cjs/boot/startRum.js +157 -150
  10. package/cjs/boot/startRum.js.map +1 -1
  11. package/cjs/browser/cookieObservable.d.ts +1 -5
  12. package/cjs/browser/cookieObservable.js +30 -34
  13. package/cjs/browser/cookieObservable.js.map +1 -1
  14. package/cjs/browser/domMutationObservable.d.ts +3 -3
  15. package/cjs/browser/domMutationObservable.js +29 -53
  16. package/cjs/browser/domMutationObservable.js.map +1 -1
  17. package/cjs/browser/htmlDomUtils.d.ts +5 -0
  18. package/cjs/browser/htmlDomUtils.js +38 -28
  19. package/cjs/browser/htmlDomUtils.js.map +1 -1
  20. package/cjs/browser/locationChangeObservable.d.ts +1 -2
  21. package/cjs/browser/locationChangeObservable.js +44 -45
  22. package/cjs/browser/locationChangeObservable.js.map +1 -1
  23. package/cjs/browser/performanceObservable.d.ts +4 -4
  24. package/cjs/browser/performanceObservable.js +50 -114
  25. package/cjs/browser/performanceObservable.js.map +1 -1
  26. package/cjs/browser/performanceUtils.d.ts +13 -1
  27. package/cjs/browser/performanceUtils.js +63 -37
  28. package/cjs/browser/performanceUtils.js.map +1 -1
  29. package/cjs/browser/scroll.js +17 -28
  30. package/cjs/browser/scroll.js.map +1 -1
  31. package/cjs/browser/viewportObservable.d.ts +2 -3
  32. package/cjs/browser/viewportObservable.js +29 -31
  33. package/cjs/browser/viewportObservable.js.map +1 -1
  34. package/cjs/browser/windowOpenObservable.js +11 -7
  35. package/cjs/browser/windowOpenObservable.js.map +1 -1
  36. package/cjs/domain/action/actionCollection.d.ts +11 -12
  37. package/cjs/domain/action/actionCollection.js +82 -89
  38. package/cjs/domain/action/actionCollection.js.map +1 -1
  39. package/cjs/domain/action/actionNameConstants.js +10 -9
  40. package/cjs/domain/action/actionNameConstants.js.map +1 -1
  41. package/cjs/domain/action/clickChain.js +51 -54
  42. package/cjs/domain/action/clickChain.js.map +1 -1
  43. package/cjs/domain/action/computeFrustration.js +30 -62
  44. package/cjs/domain/action/computeFrustration.js.map +1 -1
  45. package/cjs/domain/action/frustrationIgnore.d.ts +9 -0
  46. package/cjs/domain/action/frustrationIgnore.js +32 -0
  47. package/cjs/domain/action/frustrationIgnore.js.map +1 -0
  48. package/cjs/domain/action/getActionNameFromElement.js +141 -217
  49. package/cjs/domain/action/getActionNameFromElement.js.map +1 -1
  50. package/cjs/domain/action/interactionSelectorCache.d.ts +1 -1
  51. package/cjs/domain/action/interactionSelectorCache.js +17 -18
  52. package/cjs/domain/action/interactionSelectorCache.js.map +1 -1
  53. package/cjs/domain/action/isActionChildEvent.d.ts +2 -0
  54. package/cjs/domain/action/isActionChildEvent.js +8 -0
  55. package/cjs/domain/action/isActionChildEvent.js.map +1 -0
  56. package/cjs/domain/action/listenActionEvents.d.ts +2 -3
  57. package/cjs/domain/action/listenActionEvents.js +51 -55
  58. package/cjs/domain/action/listenActionEvents.js.map +1 -1
  59. package/cjs/domain/action/trackClickActions.d.ts +15 -21
  60. package/cjs/domain/action/trackClickActions.js +188 -226
  61. package/cjs/domain/action/trackClickActions.js.map +1 -1
  62. package/cjs/domain/action/trackManualActions.d.ts +45 -0
  63. package/cjs/domain/action/trackManualActions.js +48 -0
  64. package/cjs/domain/action/trackManualActions.js.map +1 -0
  65. package/cjs/domain/assembly.d.ts +1 -2
  66. package/cjs/domain/assembly.js +80 -95
  67. package/cjs/domain/assembly.js.map +1 -1
  68. package/cjs/domain/configuration/configuration.d.ts +575 -81
  69. package/cjs/domain/configuration/configuration.js +464 -199
  70. package/cjs/domain/configuration/configuration.js.map +1 -1
  71. package/cjs/domain/configuration/index.d.ts +1 -0
  72. package/cjs/domain/configuration/index.js +27 -21
  73. package/cjs/domain/configuration/jsonPathParser.js +125 -139
  74. package/cjs/domain/configuration/jsonPathParser.js.map +1 -1
  75. package/cjs/domain/configuration/remoteConfiguration.d.ts +18 -5
  76. package/cjs/domain/configuration/remoteConfiguration.js +268 -226
  77. package/cjs/domain/configuration/remoteConfiguration.js.map +1 -1
  78. package/cjs/domain/configuration/remoteConfiguration.types.d.ts +49 -0
  79. package/cjs/domain/configuration/remoteConfigurationCache.d.ts +42 -0
  80. package/cjs/domain/configuration/remoteConfigurationCache.js +95 -0
  81. package/cjs/domain/configuration/remoteConfigurationCache.js.map +1 -0
  82. package/cjs/domain/configuration/remoteSdkConfiguration.d.ts +11 -2
  83. package/cjs/domain/configuration/remoteSdkConfiguration.js +185 -117
  84. package/cjs/domain/configuration/remoteSdkConfiguration.js.map +1 -1
  85. package/cjs/domain/configuration/sessionReplayRoutes.d.ts +1 -6
  86. package/cjs/domain/configuration/sessionReplayRoutes.js +20 -63
  87. package/cjs/domain/configuration/sessionReplayRoutes.js.map +1 -1
  88. package/cjs/domain/contexts/ciVisibilityContext.d.ts +2 -4
  89. package/cjs/domain/contexts/ciVisibilityContext.js +36 -32
  90. package/cjs/domain/contexts/ciVisibilityContext.js.map +1 -1
  91. package/cjs/domain/contexts/connectivityContext.d.ts +2 -2
  92. package/cjs/domain/contexts/connectivityContext.js +10 -9
  93. package/cjs/domain/contexts/connectivityContext.js.map +1 -1
  94. package/cjs/domain/contexts/defaultContext.d.ts +3 -3
  95. package/cjs/domain/contexts/defaultContext.js +28 -32
  96. package/cjs/domain/contexts/defaultContext.js.map +1 -1
  97. package/cjs/domain/contexts/displayContext.d.ts +2 -3
  98. package/cjs/domain/contexts/displayContext.js +22 -26
  99. package/cjs/domain/contexts/displayContext.js.map +1 -1
  100. package/cjs/domain/contexts/featureFlagContext.d.ts +2 -2
  101. package/cjs/domain/contexts/featureFlagContext.js +38 -50
  102. package/cjs/domain/contexts/featureFlagContext.js.map +1 -1
  103. package/cjs/domain/contexts/internalContext.d.ts +2 -3
  104. package/cjs/domain/contexts/internalContext.js +26 -22
  105. package/cjs/domain/contexts/internalContext.js.map +1 -1
  106. package/cjs/domain/contexts/pageStateHistory.d.ts +3 -4
  107. package/cjs/domain/contexts/pageStateHistory.js +76 -96
  108. package/cjs/domain/contexts/pageStateHistory.js.map +1 -1
  109. package/cjs/domain/contexts/sessionContext.d.ts +9 -3
  110. package/cjs/domain/contexts/sessionContext.js +31 -45
  111. package/cjs/domain/contexts/sessionContext.js.map +1 -1
  112. package/cjs/domain/contexts/sourceCodeMfeContext.d.ts +10 -0
  113. package/cjs/domain/contexts/sourceCodeMfeContext.js +35 -0
  114. package/cjs/domain/contexts/sourceCodeMfeContext.js.map +1 -0
  115. package/cjs/domain/contexts/syntheticsContext.d.ts +2 -2
  116. package/cjs/domain/contexts/syntheticsContext.js +19 -23
  117. package/cjs/domain/contexts/syntheticsContext.js.map +1 -1
  118. package/cjs/domain/contexts/trackingConsentContext.d.ts +2 -2
  119. package/cjs/domain/contexts/trackingConsentContext.js +10 -12
  120. package/cjs/domain/contexts/trackingConsentContext.js.map +1 -1
  121. package/cjs/domain/contexts/urlContexts.d.ts +4 -3
  122. package/cjs/domain/contexts/urlContexts.js +65 -61
  123. package/cjs/domain/contexts/urlContexts.js.map +1 -1
  124. package/cjs/domain/contexts/userAgentDataContext.d.ts +2 -2
  125. package/cjs/domain/contexts/userAgentDataContext.js +20 -29
  126. package/cjs/domain/contexts/userAgentDataContext.js.map +1 -1
  127. package/cjs/domain/contexts/viewHistory.d.ts +5 -2
  128. package/cjs/domain/contexts/viewHistory.js +41 -45
  129. package/cjs/domain/contexts/viewHistory.js.map +1 -1
  130. package/cjs/domain/discardNegativeDuration.d.ts +1 -1
  131. package/cjs/domain/discardNegativeDuration.js +6 -5
  132. package/cjs/domain/discardNegativeDuration.js.map +1 -1
  133. package/cjs/domain/error/errorCollection.d.ts +3 -3
  134. package/cjs/domain/error/errorCollection.js +67 -68
  135. package/cjs/domain/error/errorCollection.js.map +1 -1
  136. package/cjs/domain/error/trackReportError.d.ts +1 -2
  137. package/cjs/domain/error/trackReportError.js +10 -14
  138. package/cjs/domain/error/trackReportError.js.map +1 -1
  139. package/cjs/domain/event/eventCollection.d.ts +2 -1
  140. package/cjs/domain/event/eventCollection.js +21 -22
  141. package/cjs/domain/event/eventCollection.js.map +1 -1
  142. package/cjs/domain/eventTracker.d.ts +37 -0
  143. package/cjs/domain/eventTracker.js +94 -0
  144. package/cjs/domain/eventTracker.js.map +1 -0
  145. package/cjs/domain/extractRegexMatch.d.ts +5 -0
  146. package/cjs/domain/extractRegexMatch.js +16 -0
  147. package/cjs/domain/extractRegexMatch.js.map +1 -0
  148. package/cjs/domain/getComposedPathSelector.d.ts +22 -0
  149. package/cjs/domain/getComposedPathSelector.js +95 -0
  150. package/cjs/domain/getComposedPathSelector.js.map +1 -0
  151. package/cjs/domain/getSelectorFromElement.d.ts +18 -6
  152. package/cjs/domain/getSelectorFromElement.js +199 -191
  153. package/cjs/domain/getSelectorFromElement.js.map +1 -1
  154. package/cjs/domain/getSessionReplayUrl.d.ts +2 -2
  155. package/cjs/domain/getSessionReplayUrl.js +17 -30
  156. package/cjs/domain/getSessionReplayUrl.js.map +1 -1
  157. package/cjs/domain/hooks.d.ts +26 -17
  158. package/cjs/domain/hooks.js +12 -5
  159. package/cjs/domain/hooks.js.map +1 -1
  160. package/cjs/domain/lifeCycle.d.ts +26 -12
  161. package/cjs/domain/lifeCycle.js +28 -5
  162. package/cjs/domain/lifeCycle.js.map +1 -1
  163. package/cjs/domain/limitModification.d.ts +5 -1
  164. package/cjs/domain/limitModification.js +32 -36
  165. package/cjs/domain/limitModification.js.map +1 -1
  166. package/cjs/domain/longTask/longTaskCollection.d.ts +0 -13
  167. package/cjs/domain/longTask/longTaskCollection.js +75 -87
  168. package/cjs/domain/longTask/longTaskCollection.js.map +1 -1
  169. package/cjs/domain/plugins.d.ts +37 -14
  170. package/cjs/domain/plugins.js +22 -13
  171. package/cjs/domain/plugins.js.map +1 -1
  172. package/cjs/domain/privacy.d.ts +6 -1
  173. package/cjs/domain/privacy.js +143 -286
  174. package/cjs/domain/privacy.js.map +1 -1
  175. package/cjs/domain/privacyConstants.js +43 -34
  176. package/cjs/domain/privacyConstants.js.map +1 -1
  177. package/cjs/domain/requestCollection.d.ts +6 -5
  178. package/cjs/domain/requestCollection.js +82 -105
  179. package/cjs/domain/requestCollection.js.map +1 -1
  180. package/cjs/domain/resource/graphql.d.ts +1 -1
  181. package/cjs/domain/resource/graphql.js +85 -86
  182. package/cjs/domain/resource/graphql.js.map +1 -1
  183. package/cjs/domain/resource/requestRegistry.js +30 -38
  184. package/cjs/domain/resource/requestRegistry.js.map +1 -1
  185. package/cjs/domain/resource/resourceCollection.d.ts +5 -3
  186. package/cjs/domain/resource/resourceCollection.js +241 -175
  187. package/cjs/domain/resource/resourceCollection.js.map +1 -1
  188. package/cjs/domain/resource/resourceUtils.d.ts +13 -13
  189. package/cjs/domain/resource/resourceUtils.js +323 -221
  190. package/cjs/domain/resource/resourceUtils.js.map +1 -1
  191. package/cjs/domain/resource/trackManualResources.d.ts +55 -0
  192. package/cjs/domain/resource/trackManualResources.js +53 -0
  193. package/cjs/domain/resource/trackManualResources.js.map +1 -0
  194. package/cjs/domain/resource/webSocketCollection.d.ts +46 -0
  195. package/cjs/domain/resource/webSocketCollection.js +163 -0
  196. package/cjs/domain/resource/webSocketCollection.js.map +1 -0
  197. package/cjs/domain/session/session.types.d.ts +4 -0
  198. package/cjs/domain/sessionReplayState.d.ts +8 -0
  199. package/cjs/domain/sessionReplayState.js +19 -0
  200. package/cjs/domain/sessionReplayState.js.map +1 -0
  201. package/cjs/domain/startCustomerDataTelemetry.js +39 -43
  202. package/cjs/domain/startCustomerDataTelemetry.js.map +1 -1
  203. package/cjs/domain/tracing/getDocumentTraceId.d.ts +1 -1
  204. package/cjs/domain/tracing/getDocumentTraceId.js +42 -63
  205. package/cjs/domain/tracing/getDocumentTraceId.js.map +1 -1
  206. package/cjs/domain/tracing/identifier.js +13 -46
  207. package/cjs/domain/tracing/identifier.js.map +1 -1
  208. package/cjs/domain/tracing/tracer.d.ts +2 -5
  209. package/cjs/domain/tracing/tracer.js +110 -150
  210. package/cjs/domain/tracing/tracer.js.map +1 -1
  211. package/cjs/domain/trackEventCounts.js +43 -48
  212. package/cjs/domain/trackEventCounts.js.map +1 -1
  213. package/cjs/domain/view/bfCacheSupport.d.ts +1 -2
  214. package/cjs/domain/view/bfCacheSupport.js +10 -11
  215. package/cjs/domain/view/bfCacheSupport.js.map +1 -1
  216. package/cjs/domain/view/trackViewEventCounts.js +14 -13
  217. package/cjs/domain/view/trackViewEventCounts.js.map +1 -1
  218. package/cjs/domain/view/trackViews.d.ts +8 -2
  219. package/cjs/domain/view/trackViews.js +221 -270
  220. package/cjs/domain/view/trackViews.js.map +1 -1
  221. package/cjs/domain/view/viewCollection.d.ts +4 -3
  222. package/cjs/domain/view/viewCollection.js +124 -148
  223. package/cjs/domain/view/viewCollection.js.map +1 -1
  224. package/cjs/domain/view/viewDiff.d.ts +22 -0
  225. package/cjs/domain/view/viewDiff.js +62 -0
  226. package/cjs/domain/view/viewDiff.js.map +1 -0
  227. package/cjs/domain/view/viewMetrics/getClsAttributionImpactedArea.js +20 -22
  228. package/cjs/domain/view/viewMetrics/getClsAttributionImpactedArea.js.map +1 -1
  229. package/cjs/domain/view/viewMetrics/interactionCountPolyfill.d.ts +1 -0
  230. package/cjs/domain/view/viewMetrics/interactionCountPolyfill.js +35 -33
  231. package/cjs/domain/view/viewMetrics/interactionCountPolyfill.js.map +1 -1
  232. package/cjs/domain/view/viewMetrics/trackBfcacheMetrics.d.ts +1 -1
  233. package/cjs/domain/view/viewMetrics/trackBfcacheMetrics.js +14 -13
  234. package/cjs/domain/view/viewMetrics/trackBfcacheMetrics.js.map +1 -1
  235. package/cjs/domain/view/viewMetrics/trackCommonViewMetrics.d.ts +4 -2
  236. package/cjs/domain/view/viewMetrics/trackCommonViewMetrics.js +51 -34
  237. package/cjs/domain/view/viewMetrics/trackCommonViewMetrics.js.map +1 -1
  238. package/cjs/domain/view/viewMetrics/trackCumulativeLayoutShift.d.ts +1 -1
  239. package/cjs/domain/view/viewMetrics/trackCumulativeLayoutShift.js +106 -122
  240. package/cjs/domain/view/viewMetrics/trackCumulativeLayoutShift.js.map +1 -1
  241. package/cjs/domain/view/viewMetrics/trackFirstContentfulPaint.d.ts +2 -3
  242. package/cjs/domain/view/viewMetrics/trackFirstContentfulPaint.js +26 -34
  243. package/cjs/domain/view/viewMetrics/trackFirstContentfulPaint.js.map +1 -1
  244. package/cjs/domain/view/viewMetrics/trackFirstHidden.d.ts +2 -3
  245. package/cjs/domain/view/viewMetrics/trackFirstHidden.js +31 -31
  246. package/cjs/domain/view/viewMetrics/trackFirstHidden.js.map +1 -1
  247. package/cjs/domain/view/viewMetrics/trackInitialViewMetrics.d.ts +1 -3
  248. package/cjs/domain/view/viewMetrics/trackInitialViewMetrics.js +33 -38
  249. package/cjs/domain/view/viewMetrics/trackInitialViewMetrics.js.map +1 -1
  250. package/cjs/domain/view/viewMetrics/trackInteractionToNextPaint.d.ts +10 -1
  251. package/cjs/domain/view/viewMetrics/trackInteractionToNextPaint.js +202 -144
  252. package/cjs/domain/view/viewMetrics/trackInteractionToNextPaint.js.map +1 -1
  253. package/cjs/domain/view/viewMetrics/trackLargestContentfulPaint.d.ts +6 -1
  254. package/cjs/domain/view/viewMetrics/trackLargestContentfulPaint.js +65 -55
  255. package/cjs/domain/view/viewMetrics/trackLargestContentfulPaint.js.map +1 -1
  256. package/cjs/domain/view/viewMetrics/trackLoadingTime.d.ts +2 -1
  257. package/cjs/domain/view/viewMetrics/trackLoadingTime.js +42 -46
  258. package/cjs/domain/view/viewMetrics/trackLoadingTime.js.map +1 -1
  259. package/cjs/domain/view/viewMetrics/trackNavigationTimings.d.ts +2 -3
  260. package/cjs/domain/view/viewMetrics/trackNavigationTimings.js +28 -36
  261. package/cjs/domain/view/viewMetrics/trackNavigationTimings.js.map +1 -1
  262. package/cjs/domain/view/viewMetrics/trackScrollMetrics.d.ts +3 -4
  263. package/cjs/domain/view/viewMetrics/trackScrollMetrics.js +63 -72
  264. package/cjs/domain/view/viewMetrics/trackScrollMetrics.js.map +1 -1
  265. package/cjs/domain/vital/vitalCollection.d.ts +44 -20
  266. package/cjs/domain/vital/vitalCollection.js +81 -109
  267. package/cjs/domain/vital/vitalCollection.js.map +1 -1
  268. package/cjs/domain/waitPageActivityEnd.d.ts +1 -4
  269. package/cjs/domain/waitPageActivityEnd.js +99 -119
  270. package/cjs/domain/waitPageActivityEnd.js.map +1 -1
  271. package/cjs/domainContext.types.d.ts +21 -13
  272. package/cjs/index.d.ts +11 -10
  273. package/cjs/index.js +84 -62
  274. package/cjs/rawRumEvent.types.d.ts +79 -13
  275. package/cjs/rawRumEvent.types.js +40 -27
  276. package/cjs/rawRumEvent.types.js.map +1 -1
  277. package/cjs/rumEvent.types.d.ts +906 -669
  278. package/cjs/transport/formDataTransport.js +43 -41
  279. package/cjs/transport/formDataTransport.js.map +1 -1
  280. package/cjs/transport/startRumBatch.d.ts +27 -3
  281. package/cjs/transport/startRumBatch.js +132 -31
  282. package/cjs/transport/startRumBatch.js.map +1 -1
  283. package/cjs/transport/startRumEventBridge.js +10 -8
  284. package/cjs/transport/startRumEventBridge.js.map +1 -1
  285. package/esm/boot/preStartRum.mjs +233 -0
  286. package/esm/boot/preStartRum.mjs.map +1 -0
  287. package/esm/boot/rumPublicApi.mjs +271 -0
  288. package/esm/boot/rumPublicApi.mjs.map +1 -0
  289. package/esm/boot/startRum.mjs +159 -0
  290. package/esm/boot/startRum.mjs.map +1 -0
  291. package/esm/browser/cookieObservable.mjs +34 -0
  292. package/esm/browser/cookieObservable.mjs.map +1 -0
  293. package/esm/browser/domMutationObservable.mjs +33 -0
  294. package/esm/browser/domMutationObservable.mjs.map +1 -0
  295. package/esm/browser/htmlDomUtils.mjs +48 -0
  296. package/esm/browser/htmlDomUtils.mjs.map +1 -0
  297. package/esm/browser/locationChangeObservable.mjs +50 -0
  298. package/esm/browser/locationChangeObservable.mjs.map +1 -0
  299. package/esm/browser/performanceObservable.mjs +60 -0
  300. package/esm/browser/performanceObservable.mjs.map +1 -0
  301. package/esm/browser/performanceUtils.mjs +64 -0
  302. package/esm/browser/performanceUtils.mjs.map +1 -0
  303. package/esm/browser/scroll.mjs +21 -0
  304. package/esm/browser/scroll.mjs.map +1 -0
  305. package/esm/browser/viewportObservable.mjs +33 -0
  306. package/esm/browser/viewportObservable.mjs.map +1 -0
  307. package/esm/browser/windowOpenObservable.mjs +14 -0
  308. package/esm/browser/windowOpenObservable.mjs.map +1 -0
  309. package/esm/domain/action/actionCollection.mjs +89 -0
  310. package/esm/domain/action/actionCollection.mjs.map +1 -0
  311. package/esm/domain/action/actionNameConstants.mjs +11 -0
  312. package/esm/domain/action/actionNameConstants.mjs.map +1 -0
  313. package/esm/domain/action/clickChain.mjs +57 -0
  314. package/esm/domain/action/clickChain.mjs.map +1 -0
  315. package/esm/domain/action/computeFrustration.mjs +36 -0
  316. package/esm/domain/action/computeFrustration.mjs.map +1 -0
  317. package/esm/domain/action/frustrationIgnore.mjs +31 -0
  318. package/esm/domain/action/frustrationIgnore.mjs.map +1 -0
  319. package/esm/domain/action/getActionNameFromElement.mjs +163 -0
  320. package/esm/domain/action/getActionNameFromElement.mjs.map +1 -0
  321. package/esm/domain/action/interactionSelectorCache.mjs +19 -0
  322. package/esm/domain/action/interactionSelectorCache.mjs.map +1 -0
  323. package/esm/domain/action/isActionChildEvent.mjs +8 -0
  324. package/esm/domain/action/isActionChildEvent.mjs.map +1 -0
  325. package/esm/domain/action/listenActionEvents.mjs +57 -0
  326. package/esm/domain/action/listenActionEvents.mjs.map +1 -0
  327. package/esm/domain/action/trackClickActions.mjs +198 -0
  328. package/esm/domain/action/trackClickActions.mjs.map +1 -0
  329. package/esm/domain/action/trackManualActions.mjs +48 -0
  330. package/esm/domain/action/trackManualActions.mjs.map +1 -0
  331. package/esm/domain/assembly.mjs +87 -0
  332. package/esm/domain/assembly.mjs.map +1 -0
  333. package/esm/domain/configuration/configuration.mjs +474 -0
  334. package/esm/domain/configuration/configuration.mjs.map +1 -0
  335. package/esm/domain/configuration/index.mjs +6 -0
  336. package/esm/domain/configuration/jsonPathParser.mjs +145 -0
  337. package/esm/domain/configuration/jsonPathParser.mjs.map +1 -0
  338. package/esm/domain/configuration/remoteConfiguration.mjs +279 -0
  339. package/esm/domain/configuration/remoteConfiguration.mjs.map +1 -0
  340. package/esm/domain/configuration/remoteConfigurationCache.mjs +92 -0
  341. package/esm/domain/configuration/remoteConfigurationCache.mjs.map +1 -0
  342. package/esm/domain/configuration/remoteSdkConfiguration.mjs +208 -0
  343. package/esm/domain/configuration/remoteSdkConfiguration.mjs.map +1 -0
  344. package/esm/domain/configuration/sessionReplayRoutes.mjs +26 -0
  345. package/esm/domain/configuration/sessionReplayRoutes.mjs.map +1 -0
  346. package/esm/domain/contexts/ciVisibilityContext.mjs +37 -0
  347. package/esm/domain/contexts/ciVisibilityContext.mjs.map +1 -0
  348. package/esm/domain/contexts/connectivityContext.mjs +12 -0
  349. package/esm/domain/contexts/connectivityContext.mjs.map +1 -0
  350. package/esm/domain/contexts/defaultContext.mjs +30 -0
  351. package/esm/domain/contexts/defaultContext.mjs.map +1 -0
  352. package/esm/domain/contexts/displayContext.mjs +24 -0
  353. package/esm/domain/contexts/displayContext.mjs.map +1 -0
  354. package/esm/domain/contexts/featureFlagContext.mjs +40 -0
  355. package/esm/domain/contexts/featureFlagContext.mjs.map +1 -0
  356. package/esm/domain/contexts/internalContext.mjs +30 -0
  357. package/esm/domain/contexts/internalContext.mjs.map +1 -0
  358. package/esm/domain/contexts/pageStateHistory.mjs +82 -0
  359. package/esm/domain/contexts/pageStateHistory.mjs.map +1 -0
  360. package/esm/domain/contexts/sessionContext.mjs +33 -0
  361. package/esm/domain/contexts/sessionContext.mjs.map +1 -0
  362. package/esm/domain/contexts/sourceCodeMfeContext.mjs +35 -0
  363. package/esm/domain/contexts/sourceCodeMfeContext.mjs.map +1 -0
  364. package/esm/domain/contexts/syntheticsContext.mjs +21 -0
  365. package/esm/domain/contexts/syntheticsContext.mjs.map +1 -0
  366. package/esm/domain/contexts/trackingConsentContext.mjs +12 -0
  367. package/esm/domain/contexts/trackingConsentContext.mjs.map +1 -0
  368. package/esm/domain/contexts/urlContexts.mjs +67 -0
  369. package/esm/domain/contexts/urlContexts.mjs.map +1 -0
  370. package/esm/domain/contexts/userAgentDataContext.mjs +22 -0
  371. package/esm/domain/contexts/userAgentDataContext.mjs.map +1 -0
  372. package/esm/domain/contexts/viewHistory.mjs +43 -0
  373. package/esm/domain/contexts/viewHistory.mjs.map +1 -0
  374. package/esm/domain/discardNegativeDuration.mjs +9 -0
  375. package/esm/domain/discardNegativeDuration.mjs.map +1 -0
  376. package/esm/domain/error/errorCollection.mjs +72 -0
  377. package/esm/domain/error/errorCollection.mjs.map +1 -0
  378. package/esm/domain/error/trackReportError.mjs +12 -0
  379. package/esm/domain/error/trackReportError.mjs.map +1 -0
  380. package/esm/domain/event/eventCollection.mjs +26 -0
  381. package/esm/domain/event/eventCollection.mjs.map +1 -0
  382. package/esm/domain/eventTracker.mjs +93 -0
  383. package/esm/domain/eventTracker.mjs.map +1 -0
  384. package/esm/domain/extractRegexMatch.mjs +16 -0
  385. package/esm/domain/extractRegexMatch.mjs.map +1 -0
  386. package/esm/domain/getComposedPathSelector.mjs +93 -0
  387. package/esm/domain/getComposedPathSelector.mjs.map +1 -0
  388. package/esm/domain/getSelectorFromElement.mjs +218 -0
  389. package/esm/domain/getSelectorFromElement.mjs.map +1 -0
  390. package/esm/domain/getSessionReplayUrl.mjs +20 -0
  391. package/esm/domain/getSessionReplayUrl.mjs.map +1 -0
  392. package/esm/domain/hooks.mjs +13 -0
  393. package/esm/domain/hooks.mjs.map +1 -0
  394. package/esm/domain/lifeCycle.mjs +28 -0
  395. package/esm/domain/lifeCycle.mjs.map +1 -0
  396. package/esm/domain/limitModification.mjs +42 -0
  397. package/esm/domain/limitModification.mjs.map +1 -0
  398. package/esm/domain/longTask/longTaskCollection.mjs +79 -0
  399. package/esm/domain/longTask/longTaskCollection.mjs.map +1 -0
  400. package/esm/domain/plugins.mjs +23 -0
  401. package/esm/domain/plugins.mjs.map +1 -0
  402. package/esm/domain/privacy.mjs +161 -0
  403. package/esm/domain/privacy.mjs.map +1 -0
  404. package/esm/domain/privacyConstants.mjs +36 -0
  405. package/esm/domain/privacyConstants.mjs.map +1 -0
  406. package/esm/domain/requestCollection.mjs +86 -0
  407. package/esm/domain/requestCollection.mjs.map +1 -0
  408. package/esm/domain/resource/graphql.mjs +93 -0
  409. package/esm/domain/resource/graphql.mjs.map +1 -0
  410. package/esm/domain/resource/requestRegistry.mjs +32 -0
  411. package/esm/domain/resource/requestRegistry.mjs.map +1 -0
  412. package/esm/domain/resource/resourceCollection.mjs +256 -0
  413. package/esm/domain/resource/resourceCollection.mjs.map +1 -0
  414. package/esm/domain/resource/resourceUtils.mjs +349 -0
  415. package/esm/domain/resource/resourceUtils.mjs.map +1 -0
  416. package/esm/domain/resource/trackManualResources.mjs +53 -0
  417. package/esm/domain/resource/trackManualResources.mjs.map +1 -0
  418. package/esm/domain/resource/webSocketCollection.mjs +160 -0
  419. package/esm/domain/resource/webSocketCollection.mjs.map +1 -0
  420. package/esm/domain/sessionReplayState.mjs +18 -0
  421. package/esm/domain/sessionReplayState.mjs.map +1 -0
  422. package/esm/domain/startCustomerDataTelemetry.mjs +51 -0
  423. package/esm/domain/startCustomerDataTelemetry.mjs.map +1 -0
  424. package/esm/domain/tracing/getDocumentTraceId.mjs +50 -0
  425. package/esm/domain/tracing/getDocumentTraceId.mjs.map +1 -0
  426. package/esm/domain/tracing/identifier.mjs +20 -0
  427. package/esm/domain/tracing/identifier.mjs.map +1 -0
  428. package/esm/domain/tracing/tracer.mjs +120 -0
  429. package/esm/domain/tracing/tracer.mjs.map +1 -0
  430. package/esm/domain/trackEventCounts.mjs +45 -0
  431. package/esm/domain/trackEventCounts.mjs.map +1 -0
  432. package/esm/domain/view/bfCacheSupport.mjs +12 -0
  433. package/esm/domain/view/bfCacheSupport.mjs.map +1 -0
  434. package/esm/domain/view/trackViewEventCounts.mjs +17 -0
  435. package/esm/domain/view/trackViewEventCounts.mjs.map +1 -0
  436. package/esm/domain/view/trackViews.mjs +230 -0
  437. package/esm/domain/view/trackViews.mjs.map +1 -0
  438. package/esm/domain/view/viewCollection.mjs +129 -0
  439. package/esm/domain/view/viewCollection.mjs.map +1 -0
  440. package/esm/domain/view/viewDiff.mjs +61 -0
  441. package/esm/domain/view/viewDiff.mjs.map +1 -0
  442. package/esm/domain/view/viewMetrics/getClsAttributionImpactedArea.mjs +30 -0
  443. package/esm/domain/view/viewMetrics/getClsAttributionImpactedArea.mjs.map +1 -0
  444. package/esm/domain/view/viewMetrics/interactionCountPolyfill.mjs +45 -0
  445. package/esm/domain/view/viewMetrics/interactionCountPolyfill.mjs.map +1 -0
  446. package/esm/domain/view/viewMetrics/trackBfcacheMetrics.mjs +18 -0
  447. package/esm/domain/view/viewMetrics/trackBfcacheMetrics.mjs.map +1 -0
  448. package/esm/domain/view/viewMetrics/trackCommonViewMetrics.mjs +54 -0
  449. package/esm/domain/view/viewMetrics/trackCommonViewMetrics.mjs.map +1 -0
  450. package/esm/domain/view/viewMetrics/trackCumulativeLayoutShift.mjs +117 -0
  451. package/esm/domain/view/viewMetrics/trackCumulativeLayoutShift.mjs.map +1 -0
  452. package/esm/domain/view/viewMetrics/trackFirstContentfulPaint.mjs +29 -0
  453. package/esm/domain/view/viewMetrics/trackFirstContentfulPaint.mjs.map +1 -0
  454. package/esm/domain/view/viewMetrics/trackFirstHidden.mjs +33 -0
  455. package/esm/domain/view/viewMetrics/trackFirstHidden.mjs.map +1 -0
  456. package/esm/domain/view/viewMetrics/trackInitialViewMetrics.mjs +36 -0
  457. package/esm/domain/view/viewMetrics/trackInitialViewMetrics.mjs.map +1 -0
  458. package/esm/domain/view/viewMetrics/trackInteractionToNextPaint.mjs +210 -0
  459. package/esm/domain/view/viewMetrics/trackInteractionToNextPaint.mjs.map +1 -0
  460. package/esm/domain/view/viewMetrics/trackLargestContentfulPaint.mjs +70 -0
  461. package/esm/domain/view/viewMetrics/trackLargestContentfulPaint.mjs.map +1 -0
  462. package/esm/domain/view/viewMetrics/trackLoadingTime.mjs +46 -0
  463. package/esm/domain/view/viewMetrics/trackLoadingTime.mjs.map +1 -0
  464. package/esm/domain/view/viewMetrics/trackNavigationTimings.mjs +35 -0
  465. package/esm/domain/view/viewMetrics/trackNavigationTimings.mjs.map +1 -0
  466. package/esm/domain/view/viewMetrics/trackScrollMetrics.mjs +66 -0
  467. package/esm/domain/view/viewMetrics/trackScrollMetrics.mjs.map +1 -0
  468. package/esm/domain/vital/vitalCollection.mjs +85 -0
  469. package/esm/domain/vital/vitalCollection.mjs.map +1 -0
  470. package/esm/domain/waitPageActivityEnd.mjs +107 -0
  471. package/esm/domain/waitPageActivityEnd.mjs.map +1 -0
  472. package/esm/index.mjs +23 -0
  473. package/esm/rawRumEvent.types.mjs +42 -0
  474. package/esm/rawRumEvent.types.mjs.map +1 -0
  475. package/esm/transport/formDataTransport.mjs +48 -0
  476. package/esm/transport/formDataTransport.mjs.map +1 -0
  477. package/esm/transport/startRumBatch.mjs +132 -0
  478. package/esm/transport/startRumBatch.mjs.map +1 -0
  479. package/esm/transport/startRumEventBridge.mjs +13 -0
  480. package/esm/transport/startRumEventBridge.mjs.map +1 -0
  481. package/package.json +19 -11
  482. package/src/boot/preStartRum.ts +216 -88
  483. package/src/boot/rumPublicApi.ts +358 -119
  484. package/src/boot/startRum.ts +88 -84
  485. package/src/browser/cookieObservable.ts +19 -28
  486. package/src/browser/domMutationObservable.ts +7 -12
  487. package/src/browser/htmlDomUtils.ts +15 -0
  488. package/src/browser/locationChangeObservable.ts +23 -12
  489. package/src/browser/performanceObservable.ts +23 -73
  490. package/src/browser/performanceUtils.ts +52 -4
  491. package/src/browser/viewportObservable.ts +4 -6
  492. package/src/domain/action/actionCollection.ts +94 -87
  493. package/src/domain/action/clickChain.ts +11 -10
  494. package/src/domain/action/computeFrustration.ts +19 -5
  495. package/src/domain/action/frustrationIgnore.ts +54 -0
  496. package/src/domain/action/getActionNameFromElement.ts +27 -61
  497. package/src/domain/action/interactionSelectorCache.ts +2 -2
  498. package/src/domain/action/isActionChildEvent.ts +6 -0
  499. package/src/domain/action/listenActionEvents.ts +2 -11
  500. package/src/domain/action/trackClickActions.ts +92 -82
  501. package/src/domain/action/trackManualActions.ts +104 -0
  502. package/src/domain/assembly.ts +57 -70
  503. package/src/domain/configuration/configuration.ts +587 -208
  504. package/src/domain/configuration/index.ts +1 -0
  505. package/src/domain/configuration/remoteConfiguration.ts +152 -29
  506. package/src/domain/configuration/remoteConfiguration.types.ts +51 -1
  507. package/src/domain/configuration/remoteConfigurationCache.ts +153 -0
  508. package/src/domain/configuration/remoteSdkConfiguration.ts +131 -13
  509. package/src/domain/configuration/sessionReplayRoutes.ts +2 -47
  510. package/src/domain/contexts/ciVisibilityContext.ts +23 -12
  511. package/src/domain/contexts/connectivityContext.ts +7 -10
  512. package/src/domain/contexts/defaultContext.ts +11 -14
  513. package/src/domain/contexts/displayContext.ts +8 -12
  514. package/src/domain/contexts/featureFlagContext.ts +5 -4
  515. package/src/domain/contexts/internalContext.ts +3 -3
  516. package/src/domain/contexts/pageStateHistory.ts +20 -31
  517. package/src/domain/contexts/sessionContext.ts +16 -22
  518. package/src/domain/contexts/sourceCodeMfeContext.ts +53 -0
  519. package/src/domain/contexts/syntheticsContext.ts +7 -17
  520. package/src/domain/contexts/trackingConsentContext.ts +7 -4
  521. package/src/domain/contexts/urlContexts.ts +13 -9
  522. package/src/domain/contexts/userAgentDataContext.ts +12 -13
  523. package/src/domain/contexts/viewHistory.ts +4 -3
  524. package/src/domain/discardNegativeDuration.ts +1 -1
  525. package/src/domain/error/errorCollection.ts +12 -22
  526. package/src/domain/error/trackReportError.ts +4 -7
  527. package/src/domain/event/eventCollection.ts +4 -2
  528. package/src/domain/eventTracker.ts +169 -0
  529. package/src/domain/extractRegexMatch.ts +15 -0
  530. package/src/domain/getComposedPathSelector.ts +130 -0
  531. package/src/domain/getSelectorFromElement.ts +125 -31
  532. package/src/domain/getSessionReplayUrl.ts +4 -13
  533. package/src/domain/hooks.ts +34 -21
  534. package/src/domain/lifeCycle.ts +21 -8
  535. package/src/domain/limitModification.ts +20 -4
  536. package/src/domain/longTask/longTaskCollection.ts +18 -47
  537. package/src/domain/plugins.ts +54 -25
  538. package/src/domain/privacy.ts +16 -24
  539. package/src/domain/requestCollection.ts +108 -97
  540. package/src/domain/resource/graphql.ts +71 -25
  541. package/src/domain/resource/requestRegistry.ts +1 -3
  542. package/src/domain/resource/resourceCollection.ts +319 -137
  543. package/src/domain/resource/resourceUtils.ts +24 -26
  544. package/src/domain/resource/trackManualResources.ts +121 -0
  545. package/src/domain/resource/webSocketCollection.ts +281 -0
  546. package/src/domain/session/session.types.ts +5 -0
  547. package/src/domain/sessionReplayState.ts +36 -0
  548. package/src/domain/startCustomerDataTelemetry.ts +2 -2
  549. package/src/domain/tracing/getDocumentTraceId.ts +5 -4
  550. package/src/domain/tracing/identifier.ts +6 -37
  551. package/src/domain/tracing/tracer.ts +22 -21
  552. package/src/domain/tracing/tracer.types.ts +3 -3
  553. package/src/domain/view/bfCacheSupport.ts +1 -6
  554. package/src/domain/view/trackViews.ts +40 -37
  555. package/src/domain/view/viewCollection.ts +29 -23
  556. package/src/domain/view/viewDiff.ts +115 -0
  557. package/src/domain/view/viewMetrics/interactionCountPolyfill.ts +13 -2
  558. package/src/domain/view/viewMetrics/trackBfcacheMetrics.ts +1 -1
  559. package/src/domain/view/viewMetrics/trackCommonViewMetrics.ts +27 -6
  560. package/src/domain/view/viewMetrics/trackCumulativeLayoutShift.ts +5 -3
  561. package/src/domain/view/viewMetrics/trackFirstContentfulPaint.ts +4 -9
  562. package/src/domain/view/viewMetrics/trackFirstHidden.ts +2 -8
  563. package/src/domain/view/viewMetrics/trackInitialViewMetrics.ts +4 -13
  564. package/src/domain/view/viewMetrics/trackInteractionToNextPaint.ts +180 -35
  565. package/src/domain/view/viewMetrics/trackLargestContentfulPaint.ts +47 -6
  566. package/src/domain/view/viewMetrics/trackLoadingTime.ts +4 -3
  567. package/src/domain/view/viewMetrics/trackNavigationTimings.ts +10 -18
  568. package/src/domain/view/viewMetrics/trackScrollMetrics.ts +23 -37
  569. package/src/domain/vital/vitalCollection.ts +83 -102
  570. package/src/domain/waitPageActivityEnd.ts +7 -11
  571. package/src/domainContext.types.ts +23 -15
  572. package/src/index.ts +17 -11
  573. package/src/rawRumEvent.types.ts +80 -26
  574. package/src/rumEvent.types.ts +730 -505
  575. package/src/transport/formDataTransport.ts +16 -6
  576. package/src/transport/startRumBatch.ts +181 -24
  577. package/cjs/browser/firstInputPolyfill.d.ts +0 -8
  578. package/cjs/browser/firstInputPolyfill.js +0 -68
  579. package/cjs/browser/firstInputPolyfill.js.map +0 -1
  580. package/cjs/domain/configuration/index.js.map +0 -1
  581. package/cjs/domain/configuration/remoteConfiguration.types.js +0 -7
  582. package/cjs/domain/configuration/remoteConfiguration.types.js.map +0 -1
  583. package/cjs/domain/error/trackConsoleError.d.ts +0 -4
  584. package/cjs/domain/error/trackConsoleError.js +0 -13
  585. package/cjs/domain/error/trackConsoleError.js.map +0 -1
  586. package/cjs/domain/resource/matchRequestResourceEntry.d.ts +0 -16
  587. package/cjs/domain/resource/matchRequestResourceEntry.js +0 -49
  588. package/cjs/domain/resource/matchRequestResourceEntry.js.map +0 -1
  589. package/cjs/domain/resource/retrieveInitialDocumentResourceTiming.d.ts +0 -4
  590. package/cjs/domain/resource/retrieveInitialDocumentResourceTiming.js +0 -24
  591. package/cjs/domain/resource/retrieveInitialDocumentResourceTiming.js.map +0 -1
  592. package/cjs/domain/rumSessionManager.d.ts +0 -36
  593. package/cjs/domain/rumSessionManager.js +0 -77
  594. package/cjs/domain/rumSessionManager.js.map +0 -1
  595. package/cjs/domain/sampler/sampler.d.ts +0 -10
  596. package/cjs/domain/sampler/sampler.js +0 -63
  597. package/cjs/domain/sampler/sampler.js.map +0 -1
  598. package/cjs/domain/tracing/sampler.d.ts +0 -10
  599. package/cjs/domain/tracing/sampler.js +0 -69
  600. package/cjs/domain/tracing/sampler.js.map +0 -1
  601. package/cjs/domain/tracing/tracer.types.js +0 -3
  602. package/cjs/domain/tracing/tracer.types.js.map +0 -1
  603. package/cjs/domain/view/viewMetrics/startInitialViewMetricsTelemetry.d.ts +0 -6
  604. package/cjs/domain/view/viewMetrics/startInitialViewMetricsTelemetry.js +0 -44
  605. package/cjs/domain/view/viewMetrics/startInitialViewMetricsTelemetry.js.map +0 -1
  606. package/cjs/domain/view/viewMetrics/trackFirstInput.d.ts +0 -19
  607. package/cjs/domain/view/viewMetrics/trackFirstInput.js +0 -43
  608. package/cjs/domain/view/viewMetrics/trackFirstInput.js.map +0 -1
  609. package/cjs/domainContext.types.js +0 -6
  610. package/cjs/domainContext.types.js.map +0 -1
  611. package/cjs/index.js.map +0 -1
  612. package/cjs/rumEvent.types.js +0 -7
  613. package/cjs/rumEvent.types.js.map +0 -1
  614. package/esm/boot/preStartRum.d.ts +0 -7
  615. package/esm/boot/preStartRum.js +0 -205
  616. package/esm/boot/preStartRum.js.map +0 -1
  617. package/esm/boot/rumPublicApi.d.ts +0 -409
  618. package/esm/boot/rumPublicApi.js +0 -165
  619. package/esm/boot/rumPublicApi.js.map +0 -1
  620. package/esm/boot/startRum.d.ts +0 -109
  621. package/esm/boot/startRum.js +0 -149
  622. package/esm/boot/startRum.js.map +0 -1
  623. package/esm/browser/cookieObservable.d.ts +0 -8
  624. package/esm/browser/cookieObservable.js +0 -35
  625. package/esm/browser/cookieObservable.js.map +0 -1
  626. package/esm/browser/domMutationObservable.d.ts +0 -27
  627. package/esm/browser/domMutationObservable.js +0 -54
  628. package/esm/browser/domMutationObservable.js.map +0 -1
  629. package/esm/browser/firstInputPolyfill.d.ts +0 -8
  630. package/esm/browser/firstInputPolyfill.js +0 -65
  631. package/esm/browser/firstInputPolyfill.js.map +0 -1
  632. package/esm/browser/htmlDomUtils.d.ts +0 -13
  633. package/esm/browser/htmlDomUtils.js +0 -36
  634. package/esm/browser/htmlDomUtils.js.map +0 -1
  635. package/esm/browser/locationChangeObservable.d.ts +0 -7
  636. package/esm/browser/locationChangeObservable.js +0 -48
  637. package/esm/browser/locationChangeObservable.js.map +0 -1
  638. package/esm/browser/performanceObservable.d.ts +0 -174
  639. package/esm/browser/performanceObservable.js +0 -121
  640. package/esm/browser/performanceObservable.js.map +0 -1
  641. package/esm/browser/performanceUtils.d.ts +0 -7
  642. package/esm/browser/performanceUtils.js +0 -38
  643. package/esm/browser/performanceUtils.js.map +0 -1
  644. package/esm/browser/scroll.d.ts +0 -2
  645. package/esm/browser/scroll.js +0 -29
  646. package/esm/browser/scroll.js.map +0 -1
  647. package/esm/browser/viewportObservable.d.ts +0 -10
  648. package/esm/browser/viewportObservable.js +0 -32
  649. package/esm/browser/viewportObservable.js.map +0 -1
  650. package/esm/browser/windowOpenObservable.d.ts +0 -5
  651. package/esm/browser/windowOpenObservable.js +0 -7
  652. package/esm/browser/windowOpenObservable.js.map +0 -1
  653. package/esm/domain/action/actionCollection.d.ts +0 -21
  654. package/esm/domain/action/actionCollection.js +0 -93
  655. package/esm/domain/action/actionCollection.js.map +0 -1
  656. package/esm/domain/action/actionNameConstants.d.ts +0 -18
  657. package/esm/domain/action/actionNameConstants.js +0 -8
  658. package/esm/domain/action/actionNameConstants.js.map +0 -1
  659. package/esm/domain/action/clickChain.d.ts +0 -8
  660. package/esm/domain/action/clickChain.js +0 -57
  661. package/esm/domain/action/clickChain.js.map +0 -1
  662. package/esm/domain/action/computeFrustration.d.ts +0 -6
  663. package/esm/domain/action/computeFrustration.js +0 -65
  664. package/esm/domain/action/computeFrustration.js.map +0 -1
  665. package/esm/domain/action/getActionNameFromElement.d.ts +0 -4
  666. package/esm/domain/action/getActionNameFromElement.js +0 -236
  667. package/esm/domain/action/getActionNameFromElement.js.map +0 -1
  668. package/esm/domain/action/interactionSelectorCache.d.ts +0 -5
  669. package/esm/domain/action/interactionSelectorCache.js +0 -18
  670. package/esm/domain/action/interactionSelectorCache.js.map +0 -1
  671. package/esm/domain/action/listenActionEvents.d.ts +0 -19
  672. package/esm/domain/action/listenActionEvents.js +0 -58
  673. package/esm/domain/action/listenActionEvents.js.map +0 -1
  674. package/esm/domain/action/trackClickActions.d.ts +0 -81
  675. package/esm/domain/action/trackClickActions.js +0 -232
  676. package/esm/domain/action/trackClickActions.js.map +0 -1
  677. package/esm/domain/assembly.d.ts +0 -5
  678. package/esm/domain/assembly.js +0 -99
  679. package/esm/domain/assembly.js.map +0 -1
  680. package/esm/domain/configuration/configuration.d.ts +0 -358
  681. package/esm/domain/configuration/configuration.js +0 -209
  682. package/esm/domain/configuration/configuration.js.map +0 -1
  683. package/esm/domain/configuration/index.d.ts +0 -4
  684. package/esm/domain/configuration/index.js +0 -5
  685. package/esm/domain/configuration/index.js.map +0 -1
  686. package/esm/domain/configuration/jsonPathParser.d.ts +0 -28
  687. package/esm/domain/configuration/jsonPathParser.js +0 -156
  688. package/esm/domain/configuration/jsonPathParser.js.map +0 -1
  689. package/esm/domain/configuration/remoteConfiguration.d.ts +0 -39
  690. package/esm/domain/configuration/remoteConfiguration.js +0 -236
  691. package/esm/domain/configuration/remoteConfiguration.js.map +0 -1
  692. package/esm/domain/configuration/remoteConfiguration.types.d.ts +0 -138
  693. package/esm/domain/configuration/remoteConfiguration.types.js +0 -6
  694. package/esm/domain/configuration/remoteConfiguration.types.js.map +0 -1
  695. package/esm/domain/configuration/remoteSdkConfiguration.d.ts +0 -18
  696. package/esm/domain/configuration/remoteSdkConfiguration.js +0 -137
  697. package/esm/domain/configuration/remoteSdkConfiguration.js.map +0 -1
  698. package/esm/domain/configuration/sessionReplayRoutes.d.ts +0 -35
  699. package/esm/domain/configuration/sessionReplayRoutes.js +0 -65
  700. package/esm/domain/configuration/sessionReplayRoutes.js.map +0 -1
  701. package/esm/domain/contexts/ciVisibilityContext.d.ts +0 -12
  702. package/esm/domain/contexts/ciVisibilityContext.js +0 -30
  703. package/esm/domain/contexts/ciVisibilityContext.js.map +0 -1
  704. package/esm/domain/contexts/connectivityContext.d.ts +0 -2
  705. package/esm/domain/contexts/connectivityContext.js +0 -8
  706. package/esm/domain/contexts/connectivityContext.js.map +0 -1
  707. package/esm/domain/contexts/defaultContext.d.ts +0 -4
  708. package/esm/domain/contexts/defaultContext.js +0 -31
  709. package/esm/domain/contexts/defaultContext.js.map +0 -1
  710. package/esm/domain/contexts/displayContext.d.ts +0 -6
  711. package/esm/domain/contexts/displayContext.js +0 -25
  712. package/esm/domain/contexts/displayContext.js.map +0 -1
  713. package/esm/domain/contexts/featureFlagContext.d.ts +0 -19
  714. package/esm/domain/contexts/featureFlagContext.js +0 -49
  715. package/esm/domain/contexts/featureFlagContext.js.map +0 -1
  716. package/esm/domain/contexts/internalContext.d.ts +0 -12
  717. package/esm/domain/contexts/internalContext.js +0 -23
  718. package/esm/domain/contexts/internalContext.js.map +0 -1
  719. package/esm/domain/contexts/pageStateHistory.d.ts +0 -23
  720. package/esm/domain/contexts/pageStateHistory.js +0 -100
  721. package/esm/domain/contexts/pageStateHistory.js.map +0 -1
  722. package/esm/domain/contexts/sessionContext.d.ts +0 -5
  723. package/esm/domain/contexts/sessionContext.js +0 -44
  724. package/esm/domain/contexts/sessionContext.js.map +0 -1
  725. package/esm/domain/contexts/syntheticsContext.d.ts +0 -2
  726. package/esm/domain/contexts/syntheticsContext.js +0 -22
  727. package/esm/domain/contexts/syntheticsContext.js.map +0 -1
  728. package/esm/domain/contexts/trackingConsentContext.d.ts +0 -3
  729. package/esm/domain/contexts/trackingConsentContext.js +0 -11
  730. package/esm/domain/contexts/trackingConsentContext.js.map +0 -1
  731. package/esm/domain/contexts/urlContexts.d.ts +0 -22
  732. package/esm/domain/contexts/urlContexts.js +0 -60
  733. package/esm/domain/contexts/urlContexts.js.map +0 -1
  734. package/esm/domain/contexts/userAgentDataContext.d.ts +0 -2
  735. package/esm/domain/contexts/userAgentDataContext.js +0 -28
  736. package/esm/domain/contexts/userAgentDataContext.js.map +0 -1
  737. package/esm/domain/contexts/viewHistory.d.ts +0 -17
  738. package/esm/domain/contexts/viewHistory.js +0 -44
  739. package/esm/domain/contexts/viewHistory.js.map +0 -1
  740. package/esm/domain/discardNegativeDuration.d.ts +0 -2
  741. package/esm/domain/discardNegativeDuration.js +0 -5
  742. package/esm/domain/discardNegativeDuration.js.map +0 -1
  743. package/esm/domain/error/errorCollection.d.ts +0 -17
  744. package/esm/domain/error/errorCollection.js +0 -70
  745. package/esm/domain/error/errorCollection.js.map +0 -1
  746. package/esm/domain/error/trackConsoleError.d.ts +0 -4
  747. package/esm/domain/error/trackConsoleError.js +0 -10
  748. package/esm/domain/error/trackConsoleError.js.map +0 -1
  749. package/esm/domain/error/trackReportError.d.ts +0 -5
  750. package/esm/domain/error/trackReportError.js +0 -13
  751. package/esm/domain/error/trackReportError.js.map +0 -1
  752. package/esm/domain/event/eventCollection.d.ts +0 -10
  753. package/esm/domain/event/eventCollection.js +0 -24
  754. package/esm/domain/event/eventCollection.js.map +0 -1
  755. package/esm/domain/getSelectorFromElement.d.ts +0 -64
  756. package/esm/domain/getSelectorFromElement.js +0 -213
  757. package/esm/domain/getSelectorFromElement.js.map +0 -1
  758. package/esm/domain/getSessionReplayUrl.d.ts +0 -9
  759. package/esm/domain/getSessionReplayUrl.js +0 -30
  760. package/esm/domain/getSessionReplayUrl.js.map +0 -1
  761. package/esm/domain/hooks.d.ts +0 -23
  762. package/esm/domain/hooks.js +0 -3
  763. package/esm/domain/hooks.js.map +0 -1
  764. package/esm/domain/lifeCycle.d.ts +0 -73
  765. package/esm/domain/lifeCycle.js +0 -3
  766. package/esm/domain/lifeCycle.js.map +0 -1
  767. package/esm/domain/limitModification.d.ts +0 -8
  768. package/esm/domain/limitModification.js +0 -43
  769. package/esm/domain/limitModification.js.map +0 -1
  770. package/esm/domain/longTask/longTaskCollection.d.ts +0 -18
  771. package/esm/domain/longTask/longTaskCollection.js +0 -87
  772. package/esm/domain/longTask/longTaskCollection.js.map +0 -1
  773. package/esm/domain/plugins.d.ts +0 -40
  774. package/esm/domain/plugins.js +0 -12
  775. package/esm/domain/plugins.js.map +0 -1
  776. package/esm/domain/privacy.d.ts +0 -44
  777. package/esm/domain/privacy.js +0 -302
  778. package/esm/domain/privacy.js.map +0 -1
  779. package/esm/domain/privacyConstants.d.ts +0 -23
  780. package/esm/domain/privacyConstants.js +0 -35
  781. package/esm/domain/privacyConstants.js.map +0 -1
  782. package/esm/domain/requestCollection.d.ts +0 -54
  783. package/esm/domain/requestCollection.js +0 -106
  784. package/esm/domain/requestCollection.js.map +0 -1
  785. package/esm/domain/resource/graphql.d.ts +0 -23
  786. package/esm/domain/resource/graphql.js +0 -91
  787. package/esm/domain/resource/graphql.js.map +0 -1
  788. package/esm/domain/resource/matchRequestResourceEntry.d.ts +0 -16
  789. package/esm/domain/resource/matchRequestResourceEntry.js +0 -46
  790. package/esm/domain/resource/matchRequestResourceEntry.js.map +0 -1
  791. package/esm/domain/resource/requestRegistry.d.ts +0 -9
  792. package/esm/domain/resource/requestRegistry.js +0 -37
  793. package/esm/domain/resource/requestRegistry.js.map +0 -1
  794. package/esm/domain/resource/resourceCollection.d.ts +0 -7
  795. package/esm/domain/resource/resourceCollection.js +0 -187
  796. package/esm/domain/resource/resourceCollection.js.map +0 -1
  797. package/esm/domain/resource/resourceUtils.d.ts +0 -55
  798. package/esm/domain/resource/resourceUtils.js +0 -244
  799. package/esm/domain/resource/resourceUtils.js.map +0 -1
  800. package/esm/domain/resource/retrieveInitialDocumentResourceTiming.d.ts +0 -4
  801. package/esm/domain/resource/retrieveInitialDocumentResourceTiming.js +0 -21
  802. package/esm/domain/resource/retrieveInitialDocumentResourceTiming.js.map +0 -1
  803. package/esm/domain/rumSessionManager.d.ts +0 -36
  804. package/esm/domain/rumSessionManager.js +0 -72
  805. package/esm/domain/rumSessionManager.js.map +0 -1
  806. package/esm/domain/sampler/sampler.d.ts +0 -10
  807. package/esm/domain/sampler/sampler.js +0 -58
  808. package/esm/domain/sampler/sampler.js.map +0 -1
  809. package/esm/domain/startCustomerDataTelemetry.d.ts +0 -4
  810. package/esm/domain/startCustomerDataTelemetry.js +0 -52
  811. package/esm/domain/startCustomerDataTelemetry.js.map +0 -1
  812. package/esm/domain/tracing/getDocumentTraceId.d.ts +0 -12
  813. package/esm/domain/tracing/getDocumentTraceId.js +0 -68
  814. package/esm/domain/tracing/getDocumentTraceId.js.map +0 -1
  815. package/esm/domain/tracing/identifier.d.ts +0 -13
  816. package/esm/domain/tracing/identifier.js +0 -50
  817. package/esm/domain/tracing/identifier.js.map +0 -1
  818. package/esm/domain/tracing/sampler.d.ts +0 -10
  819. package/esm/domain/tracing/sampler.js +0 -64
  820. package/esm/domain/tracing/sampler.js.map +0 -1
  821. package/esm/domain/tracing/tracer.d.ts +0 -30
  822. package/esm/domain/tracing/tracer.js +0 -156
  823. package/esm/domain/tracing/tracer.js.map +0 -1
  824. package/esm/domain/tracing/tracer.types.d.ts +0 -12
  825. package/esm/domain/tracing/tracer.types.js +0 -2
  826. package/esm/domain/tracing/tracer.types.js.map +0 -1
  827. package/esm/domain/trackEventCounts.d.ts +0 -17
  828. package/esm/domain/trackEventCounts.js +0 -47
  829. package/esm/domain/trackEventCounts.js.map +0 -1
  830. package/esm/domain/view/bfCacheSupport.d.ts +0 -2
  831. package/esm/domain/view/bfCacheSupport.js +0 -10
  832. package/esm/domain/view/bfCacheSupport.js.map +0 -1
  833. package/esm/domain/view/trackViewEventCounts.d.ts +0 -5
  834. package/esm/domain/view/trackViewEventCounts.js +0 -13
  835. package/esm/domain/view/trackViewEventCounts.js.map +0 -1
  836. package/esm/domain/view/trackViews.d.ts +0 -65
  837. package/esm/domain/view/trackViews.js +0 -278
  838. package/esm/domain/view/trackViews.js.map +0 -1
  839. package/esm/domain/view/viewCollection.d.ts +0 -18
  840. package/esm/domain/view/viewCollection.js +0 -150
  841. package/esm/domain/view/viewCollection.js.map +0 -1
  842. package/esm/domain/view/viewMetrics/getClsAttributionImpactedArea.d.ts +0 -6
  843. package/esm/domain/view/viewMetrics/getClsAttributionImpactedArea.js +0 -28
  844. package/esm/domain/view/viewMetrics/getClsAttributionImpactedArea.js.map +0 -1
  845. package/esm/domain/view/viewMetrics/interactionCountPolyfill.d.ts +0 -18
  846. package/esm/domain/view/viewMetrics/interactionCountPolyfill.js +0 -39
  847. package/esm/domain/view/viewMetrics/interactionCountPolyfill.js.map +0 -1
  848. package/esm/domain/view/viewMetrics/startInitialViewMetricsTelemetry.d.ts +0 -6
  849. package/esm/domain/view/viewMetrics/startInitialViewMetricsTelemetry.js +0 -41
  850. package/esm/domain/view/viewMetrics/startInitialViewMetricsTelemetry.js.map +0 -1
  851. package/esm/domain/view/viewMetrics/trackBfcacheMetrics.d.ts +0 -8
  852. package/esm/domain/view/viewMetrics/trackBfcacheMetrics.js +0 -14
  853. package/esm/domain/view/viewMetrics/trackBfcacheMetrics.js.map +0 -1
  854. package/esm/domain/view/viewMetrics/trackCommonViewMetrics.d.ts +0 -21
  855. package/esm/domain/view/viewMetrics/trackCommonViewMetrics.js +0 -34
  856. package/esm/domain/view/viewMetrics/trackCommonViewMetrics.js.map +0 -1
  857. package/esm/domain/view/viewMetrics/trackCumulativeLayoutShift.d.ts +0 -37
  858. package/esm/domain/view/viewMetrics/trackCumulativeLayoutShift.js +0 -130
  859. package/esm/domain/view/viewMetrics/trackCumulativeLayoutShift.js.map +0 -1
  860. package/esm/domain/view/viewMetrics/trackFirstContentfulPaint.d.ts +0 -13
  861. package/esm/domain/view/viewMetrics/trackFirstContentfulPaint.js +0 -34
  862. package/esm/domain/view/viewMetrics/trackFirstContentfulPaint.js.map +0 -1
  863. package/esm/domain/view/viewMetrics/trackFirstHidden.d.ts +0 -10
  864. package/esm/domain/view/viewMetrics/trackFirstHidden.js +0 -30
  865. package/esm/domain/view/viewMetrics/trackFirstHidden.js.map +0 -1
  866. package/esm/domain/view/viewMetrics/trackFirstInput.d.ts +0 -19
  867. package/esm/domain/view/viewMetrics/trackFirstInput.js +0 -40
  868. package/esm/domain/view/viewMetrics/trackFirstInput.js.map +0 -1
  869. package/esm/domain/view/viewMetrics/trackInitialViewMetrics.d.ts +0 -15
  870. package/esm/domain/view/viewMetrics/trackInitialViewMetrics.js +0 -38
  871. package/esm/domain/view/viewMetrics/trackInitialViewMetrics.js.map +0 -1
  872. package/esm/domain/view/viewMetrics/trackInteractionToNextPaint.d.ts +0 -25
  873. package/esm/domain/view/viewMetrics/trackInteractionToNextPaint.js +0 -149
  874. package/esm/domain/view/viewMetrics/trackInteractionToNextPaint.js.map +0 -1
  875. package/esm/domain/view/viewMetrics/trackLargestContentfulPaint.d.ts +0 -18
  876. package/esm/domain/view/viewMetrics/trackLargestContentfulPaint.js +0 -57
  877. package/esm/domain/view/viewMetrics/trackLargestContentfulPaint.js.map +0 -1
  878. package/esm/domain/view/viewMetrics/trackLoadingTime.d.ts +0 -14
  879. package/esm/domain/view/viewMetrics/trackLoadingTime.js +0 -47
  880. package/esm/domain/view/viewMetrics/trackLoadingTime.js.map +0 -1
  881. package/esm/domain/view/viewMetrics/trackNavigationTimings.d.ts +0 -14
  882. package/esm/domain/view/viewMetrics/trackNavigationTimings.js +0 -40
  883. package/esm/domain/view/viewMetrics/trackNavigationTimings.js.map +0 -1
  884. package/esm/domain/view/viewMetrics/trackScrollMetrics.d.ts +0 -25
  885. package/esm/domain/view/viewMetrics/trackScrollMetrics.js +0 -72
  886. package/esm/domain/view/viewMetrics/trackScrollMetrics.js.map +0 -1
  887. package/esm/domain/vital/vitalCollection.d.ts +0 -55
  888. package/esm/domain/vital/vitalCollection.js +0 -107
  889. package/esm/domain/vital/vitalCollection.js.map +0 -1
  890. package/esm/domain/waitPageActivityEnd.d.ts +0 -54
  891. package/esm/domain/waitPageActivityEnd.js +0 -123
  892. package/esm/domain/waitPageActivityEnd.js.map +0 -1
  893. package/esm/domainContext.types.d.ts +0 -39
  894. package/esm/domainContext.types.js +0 -5
  895. package/esm/domainContext.types.js.map +0 -1
  896. package/esm/index.d.ts +0 -42
  897. package/esm/index.js +0 -22
  898. package/esm/index.js.map +0 -1
  899. package/esm/rawRumEvent.types.d.ts +0 -326
  900. package/esm/rawRumEvent.types.js +0 -31
  901. package/esm/rawRumEvent.types.js.map +0 -1
  902. package/esm/rumEvent.types.d.ts +0 -2038
  903. package/esm/rumEvent.types.js +0 -6
  904. package/esm/rumEvent.types.js.map +0 -1
  905. package/esm/transport/formDataTransport.d.ts +0 -16
  906. package/esm/transport/formDataTransport.js +0 -43
  907. package/esm/transport/formDataTransport.js.map +0 -1
  908. package/esm/transport/startRumBatch.d.ts +0 -5
  909. package/esm/transport/startRumBatch.js +0 -30
  910. package/esm/transport/startRumBatch.js.map +0 -1
  911. package/esm/transport/startRumEventBridge.d.ts +0 -2
  912. package/esm/transport/startRumEventBridge.js +0 -8
  913. package/esm/transport/startRumEventBridge.js.map +0 -1
  914. package/src/browser/firstInputPolyfill.ts +0 -87
  915. package/src/domain/error/trackConsoleError.ts +0 -14
  916. package/src/domain/resource/matchRequestResourceEntry.ts +0 -68
  917. package/src/domain/resource/retrieveInitialDocumentResourceTiming.ts +0 -27
  918. package/src/domain/rumSessionManager.ts +0 -134
  919. package/src/domain/sampler/sampler.ts +0 -63
  920. package/src/domain/tracing/sampler.ts +0 -69
  921. package/src/domain/view/viewMetrics/startInitialViewMetricsTelemetry.ts +0 -70
  922. package/src/domain/view/viewMetrics/trackFirstInput.ts +0 -59
@@ -1 +1 @@
1
- {"version":3,"file":"remoteSdkConfiguration.js","sourceRoot":"","sources":["../../../src/domain/configuration/remoteSdkConfiguration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remoteSdkConfiguration.js","names":["DefaultPrivacyLevel","TraceContextInjection","CanvasRecordingQuality","getCachedSdkConfig","readBoolean","readSampleRate","readEnum","readString","readStringList","isIndexableObject","readNumberInRange","refreshSdkConfig"],"sources":["../../../src/domain/configuration/remoteSdkConfiguration.ts"],"sourcesContent":["import type { RemoteSdkConfig } from '@kubesense/kubesense-browser-core'\nimport {\n DefaultPrivacyLevel,\n TraceContextInjection,\n getCachedSdkConfig,\n readBoolean,\n readEnum,\n readNumberInRange,\n readSampleRate,\n readString,\n readStringList,\n refreshSdkConfig,\n} from '@kubesense/kubesense-browser-core'\nimport { isIndexableObject } from '@kubesense/kubesense-js-core/util'\nimport type { MatchOption } from '@kubesense/kubesense-js-core/configuration'\nimport type { PropagatorType } from '../tracing/tracer.types'\nimport type { RumInitConfiguration } from './configuration'\nimport { CanvasRecordingQuality } from './configuration'\nimport type { SessionReplayRoutes } from './sessionReplayRoutes'\n\nconst PROPAGATOR_TYPES: readonly PropagatorType[] = ['kubesense', 'b3', 'b3multi', 'tracecontext']\n\n/**\n * Applies the dashboard-managed configuration document to the user's init configuration.\n *\n * Only scalar settings travel: anything that is a function or a matcher (`beforeSend`,\n * `allowedTracingUrls`, `excludedActivityUrls`, plugins) stays in application code. Identity and\n * endpoint settings (`clientToken`, `applicationId`, `kubesenseRumEndpoint`, `proxy`) are also\n * excluded — they determine where the configuration request itself goes, and letting them be\n * remotely rewritten would be a redirection risk.\n *\n * Every field is applied only when present and valid, so the user's own init configuration —\n * and failing that, the SDK default — always wins over a missing or malformed remote value.\n */\n\nconst PRIVACY_LEVELS = [\n DefaultPrivacyLevel.ALLOW,\n DefaultPrivacyLevel.MASK,\n DefaultPrivacyLevel.MASK_USER_INPUT,\n DefaultPrivacyLevel.MASK_UNLESS_ALLOWLISTED,\n] as const\n\nconst TRACE_CONTEXT_INJECTIONS = [TraceContextInjection.ALL, TraceContextInjection.SAMPLED] as const\n\nconst CANVAS_RECORDING_QUALITIES = [\n CanvasRecordingQuality.LOW,\n CanvasRecordingQuality.MEDIUM,\n CanvasRecordingQuality.HIGH,\n] as const\n\nexport interface RemoteSdkConfigurationResult {\n initConfiguration: RumInitConfiguration\n /** `false` when the dashboard has switched RUM off entirely. */\n rumEnabled: boolean\n}\n\n/** The context managers the document can contribute to. */\nexport interface RemoteSdkConfigurationContexts {\n globalContext?: { setContextProperty: (key: string, value: unknown) => void }\n userContext?: { setContextProperty: (key: string, value: unknown) => void }\n}\n\n/**\n * Read the cached document and merge it into the init configuration. Synchronous and\n * network-free: this runs on the initialization path.\n */\nexport function applyCachedSdkConfiguration(\n initConfiguration: RumInitConfiguration,\n contexts?: RemoteSdkConfigurationContexts\n): RemoteSdkConfigurationResult {\n const remoteConfig = getCachedSdkConfig(initConfiguration.clientToken)\n if (!remoteConfig) {\n return { initConfiguration, rumEnabled: true }\n }\n return applySdkConfiguration(initConfiguration, remoteConfig, contexts)\n}\n\nexport function applySdkConfiguration(\n initConfiguration: RumInitConfiguration,\n remoteConfig: RemoteSdkConfig,\n contexts?: RemoteSdkConfigurationContexts\n): RemoteSdkConfigurationResult {\n const features = remoteConfig.features\n if (readBoolean(features as { [key: string]: unknown } | undefined, 'rum') === false) {\n return { initConfiguration, rumEnabled: false }\n }\n\n const applied: RumInitConfiguration = { ...initConfiguration }\n\n applyRumSection(applied, remoteConfig.rum)\n applyContexts(remoteConfig.rum, contexts)\n applySessionReplaySection(applied, remoteConfig.sessionReplay)\n applyProfilingSection(applied, remoteConfig.profiling)\n applyFeatureSwitches(applied, features)\n\n return { initConfiguration: applied, rumEnabled: true }\n}\n\nfunction applyRumSection(applied: RumInitConfiguration, rum: { [key: string]: unknown } | undefined) {\n if (!rum) {\n return\n }\n\n assign(applied, 'sessionSampleRate', readSampleRate(rum, 'sessionSampleRate'))\n assign(applied, 'telemetrySampleRate', readSampleRate(rum, 'telemetrySampleRate'))\n assign(applied, 'traceSampleRate', readSampleRate(rum, 'traceSampleRate'))\n\n assign(applied, 'trackUserInteractions', readBoolean(rum, 'trackUserInteractions'))\n assign(applied, 'trackResources', readBoolean(rum, 'trackResources'))\n assign(applied, 'trackLongTasks', readBoolean(rum, 'trackLongTasks'))\n assign(applied, 'trackViewsManually', readBoolean(rum, 'trackViewsManually'))\n assign(applied, 'trackAnonymousUser', readBoolean(rum, 'trackAnonymousUser'))\n assign(applied, 'trackSessionAcrossSubdomains', readBoolean(rum, 'trackSessionAcrossSubdomains'))\n assign(applied, 'enablePrivacyForActionName', readBoolean(rum, 'enablePrivacyForActionName'))\n assign(applied, 'propagateTraceBaggage', readBoolean(rum, 'propagateTraceBaggage'))\n\n assign(applied, 'defaultPrivacyLevel', readEnum(rum, 'defaultPrivacyLevel', PRIVACY_LEVELS))\n assign(applied, 'traceContextInjection', readEnum(rum, 'traceContextInjection', TRACE_CONTEXT_INJECTIONS))\n assign(applied, 'actionNameAttribute', readString(rum, 'actionNameAttribute'))\n\n assign(applied, 'betaEnableViewUpdates', readBoolean(rum, 'betaEnableViewUpdates'))\n assign(applied, 'betaTrackWebSockets', readBoolean(rum, 'betaTrackWebSockets'))\n // Only the \"collect the default headers / collect nothing\" switch travels. The MatchHeader[] form\n // selects headers by name with optional extractor functions, which cannot come from JSON.\n assign(applied, 'trackResourceHeaders', readBoolean(rum, 'trackResourceHeaders'))\n\n assign(applied, 'allowedTracingUrls', readTracingUrls(rum.allowedTracingUrls))\n assign(applied, 'allowedTrackingOrigins', readStringList(rum.allowedTrackingOrigins))\n\n assign(applied, 'service', readString(rum, 'service'))\n assign(applied, 'env', readString(rum, 'env'))\n assign(applied, 'version', readString(rum, 'version'))\n}\n\n/**\n * Tracing URLs arriving as JSON can only be plain strings (prefix matches), optionally paired with\n * the propagators to inject. As with route rules, regexes and functions stay in application code:\n * they cannot be expressed safely in JSON, and this list decides which cross-origin requests get\n * tracing headers attached — a pattern that is broader than intended leaks trace ids to third\n * parties and can break their CORS preflight.\n */\nfunction readTracingUrls(value: unknown): RumInitConfiguration['allowedTracingUrls'] | undefined {\n if (!Array.isArray(value)) {\n return undefined\n }\n\n const options: Array<MatchOption | { match: MatchOption; propagatorTypes?: PropagatorType[] }> = []\n for (const entry of value) {\n if (typeof entry === 'string' && entry.length > 0) {\n options.push(entry)\n continue\n }\n if (!isIndexableObject(entry)) {\n continue\n }\n const match = readString(entry, 'match')\n if (!match) {\n continue\n }\n const propagatorTypes = readStringList(entry.propagatorTypes)?.filter((propagator): propagator is PropagatorType =>\n (PROPAGATOR_TYPES as readonly string[]).includes(propagator)\n )\n options.push(propagatorTypes?.length ? { match, propagatorTypes } : { match })\n }\n\n return options.length > 0 ? options : undefined\n}\n\n/**\n * Properties from the document are set individually rather than replacing the whole context, so\n * anything the application has already attached with `setGlobalContext()` / `setUser()` survives.\n *\n * The user is applied here, before `startUserContext()` installs its change subscription, so a\n * remotely-supplied identity behaves exactly like an application calling `setUser()` at the top of\n * its bootstrap: it becomes the session owner rather than looking like a mid-session user switch.\n * Changing the user in the dashboard therefore expires the session once, on the first load that\n * reads the new document — which is the intended behaviour for a user change — and steady-state\n * loads leave the session alone.\n */\nfunction applyContexts(\n rum: { [key: string]: unknown } | undefined,\n contexts: RemoteSdkConfigurationContexts | undefined\n) {\n applyContextProperties(contexts?.globalContext, rum?.context)\n applyContextProperties(contexts?.userContext, rum?.user)\n}\n\nfunction applyContextProperties(\n contextManager: { setContextProperty: (key: string, value: unknown) => void } | undefined,\n properties: unknown\n) {\n if (!contextManager || !isIndexableObject(properties)) {\n return\n }\n\n for (const [key, value] of Object.entries(properties)) {\n contextManager.setContextProperty(key, value)\n }\n}\n\nfunction applySessionReplaySection(\n applied: RumInitConfiguration,\n sessionReplay: { [key: string]: unknown } | undefined\n) {\n if (!sessionReplay) {\n return\n }\n\n assign(applied, 'sessionReplaySampleRate', readSampleRate(sessionReplay, 'sampleRate'))\n assign(applied, 'startSessionReplayRecordingManually', readBoolean(sessionReplay, 'startRecordingManually'))\n assign(applied, 'defaultPrivacyLevel', readEnum(sessionReplay, 'defaultPrivacyLevel', PRIVACY_LEVELS))\n assign(applied, 'sessionReplayRoutes', readRoutes(sessionReplay.routes))\n assign(applied, 'sessionReplayCanvasRecording', readCanvasRecording(sessionReplay.canvasRecording))\n}\n\n/**\n * Canvas capture is the most expensive replay setting there is — it uploads rendered frames — so it\n * is only enabled when the document says so explicitly, and each limit is validated against the\n * range the SDK accepts instead of being clamped.\n */\nfunction readCanvasRecording(canvasRecording: unknown): RumInitConfiguration['sessionReplayCanvasRecording'] {\n if (!isIndexableObject(canvasRecording)) {\n return undefined\n }\n\n const enable = readBoolean(canvasRecording, 'enable')\n if (enable === undefined) {\n // Without an explicit switch there is nothing to apply: the remaining fields are only limits.\n return undefined\n }\n\n return {\n enable,\n quality: readEnum(canvasRecording, 'quality', CANVAS_RECORDING_QUALITIES),\n maxFramesPerSecond: readNumberInRange(canvasRecording, 'maxFramesPerSecond', 0, 8),\n hashingMaxDimension: readNumberInRange(canvasRecording, 'hashingMaxDimension', 1, 100),\n maxImageDimension: readNumberInRange(canvasRecording, 'maxImageDimension', 1, 1280),\n }\n}\n\n/**\n * Route rules arriving as JSON can only be plain strings (prefix matches). Regexes and functions\n * are deliberately not accepted from the dashboard: they cannot be expressed safely in JSON and a\n * pathological pattern would run on every view change.\n */\nfunction readRoutes(routes: unknown): SessionReplayRoutes | undefined {\n if (!routes || typeof routes !== 'object' || Array.isArray(routes)) {\n return undefined\n }\n\n const include = readStringList((routes as { include?: unknown }).include)\n const exclude = readStringList((routes as { exclude?: unknown }).exclude)\n\n if (!include && !exclude) {\n return undefined\n }\n\n return { include, exclude }\n}\n\nfunction applyProfilingSection(applied: RumInitConfiguration, profiling: { [key: string]: unknown } | undefined) {\n if (!profiling) {\n return\n }\n assign(applied, 'profilingSampleRate', readSampleRate(profiling, 'sampleRate'))\n}\n\n/**\n * Feature switches are applied last so they always win over the per-section sample rates above.\n * Turning a feature off is expressed through the setting that stops all of its collection.\n */\nfunction applyFeatureSwitches(applied: RumInitConfiguration, features: RemoteSdkConfig['features']) {\n const source = features as { [key: string]: unknown } | undefined\n\n if (readBoolean(source, 'sessionReplay') === false) {\n applied.sessionReplaySampleRate = 0\n applied.startSessionReplayRecordingManually = true\n // Drop any route rules too: with replay off they are dead weight, and leaving them behind\n // would suggest recording still happens somewhere.\n applied.sessionReplayRoutes = undefined\n }\n\n if (readBoolean(source, 'profiling') === false) {\n applied.profilingSampleRate = 0\n }\n}\n\n/**\n * Assigning only defined values keeps the \"absent means keep the local value\" guarantee in one\n * place instead of at every call site.\n */\nfunction assign<K extends keyof RumInitConfiguration>(\n target: RumInitConfiguration,\n key: K,\n value: RumInitConfiguration[K] | undefined\n) {\n if (value !== undefined) {\n target[key] = value\n }\n}\n\n/**\n * Refresh the cache for the next page load. Must be called *after* the SDK has started so it\n * never delays initialization.\n */\nexport function scheduleSdkConfigurationRefresh(initConfiguration: RumInitConfiguration) {\n return refreshSdkConfig(initConfiguration, initConfiguration.applicationId)\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { MatchOption } from '@kubesense/kubesense-browser-core';
1
+ import type { MatchOption } from '@kubesense/kubesense-js-core/configuration';
2
2
  /**
3
3
  * Route-scoped Session Replay.
4
4
  *
@@ -28,8 +28,3 @@ export declare function getRoutePath(location?: Location | URL): string;
28
28
  * been configured with routes.
29
29
  */
30
30
  export declare function isRouteRecordable(routes: SessionReplayRoutes | undefined, path: string): boolean;
31
- /**
32
- * Validates the user-provided option. An invalid entry is dropped rather than silently treated
33
- * as "match nothing", which would turn a typo into a total loss of replay.
34
- */
35
- export declare function validateSessionReplayRoutes(routes: unknown): SessionReplayRoutes | undefined;
@@ -1,70 +1,27 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRoutePath = getRoutePath;
4
- exports.isRouteRecordable = isRouteRecordable;
5
- exports.validateSessionReplayRoutes = validateSessionReplayRoutes;
6
- const kubesense_browser_core_1 = require("@kubesense/kubesense-browser-core");
1
+ let _kubesense_kubesense_browser_core = require("@kubesense/kubesense-browser-core");
2
+ //#region src/domain/configuration/sessionReplayRoutes.ts
7
3
  /**
8
- * Rules are matched against the **path** — `pathname` + `search` + `hash` — not the full URL, so
9
- * a dashboard entry reads the way a route is written (`/checkout`). String options match by
10
- * prefix, so `/checkout` also covers `/checkout/payment`.
11
- */
4
+ * Rules are matched against the **path** — `pathname` + `search` + `hash` — not the full URL, so
5
+ * a dashboard entry reads the way a route is written (`/checkout`). String options match by
6
+ * prefix, so `/checkout` also covers `/checkout/payment`.
7
+ */
12
8
  function getRoutePath(location = window.location) {
13
- return `${location.pathname}${location.search}${location.hash}`;
9
+ return `${location.pathname}${location.search}${location.hash}`;
14
10
  }
15
11
  /**
16
- * Returns whether recording is allowed on the given path.
17
- *
18
- * No rules at all means "record everywhere", which keeps the behaviour of an SDK that has never
19
- * been configured with routes.
20
- */
12
+ * Returns whether recording is allowed on the given path.
13
+ *
14
+ * No rules at all means "record everywhere", which keeps the behaviour of an SDK that has never
15
+ * been configured with routes.
16
+ */
21
17
  function isRouteRecordable(routes, path) {
22
- if (!routes) {
23
- return true;
24
- }
25
- // Exclusions win, so a route can always be carved out of a broad `include`.
26
- if (routes.exclude && routes.exclude.length > 0 && (0, kubesense_browser_core_1.matchList)(routes.exclude, path, true)) {
27
- return false;
28
- }
29
- if (routes.include && routes.include.length > 0) {
30
- return (0, kubesense_browser_core_1.matchList)(routes.include, path, true);
31
- }
32
- return true;
33
- }
34
- /**
35
- * Validates the user-provided option. An invalid entry is dropped rather than silently treated
36
- * as "match nothing", which would turn a typo into a total loss of replay.
37
- */
38
- function validateSessionReplayRoutes(routes) {
39
- if (routes === undefined || routes === null) {
40
- return undefined;
41
- }
42
- if (typeof routes !== 'object' || Array.isArray(routes)) {
43
- kubesense_browser_core_1.display.error('Session Replay routes should be an object with optional include and exclude arrays');
44
- return undefined;
45
- }
46
- const include = validateMatchOptionList(routes.include, 'include');
47
- const exclude = validateMatchOptionList(routes.exclude, 'exclude');
48
- if (!include && !exclude) {
49
- return undefined;
50
- }
51
- return { include, exclude };
52
- }
53
- function validateMatchOptionList(list, name) {
54
- if (list === undefined) {
55
- return undefined;
56
- }
57
- if (!Array.isArray(list)) {
58
- kubesense_browser_core_1.display.error(`Session Replay routes "${name}" should be an array`);
59
- return undefined;
60
- }
61
- const validOptions = list.filter((item) => {
62
- if ((0, kubesense_browser_core_1.isMatchOption)(item)) {
63
- return true;
64
- }
65
- kubesense_browser_core_1.display.error(`Session Replay routes "${name}" entries should be a string, RegExp or function`);
66
- return false;
67
- });
68
- return validOptions.length > 0 ? validOptions : undefined;
18
+ if (!routes) return true;
19
+ if (routes.exclude && routes.exclude.length > 0 && (0, _kubesense_kubesense_browser_core.matchList)(routes.exclude, path, true)) return false;
20
+ if (routes.include && routes.include.length > 0) return (0, _kubesense_kubesense_browser_core.matchList)(routes.include, path, true);
21
+ return true;
69
22
  }
23
+ //#endregion
24
+ exports.getRoutePath = getRoutePath;
25
+ exports.isRouteRecordable = isRouteRecordable;
26
+
70
27
  //# sourceMappingURL=sessionReplayRoutes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessionReplayRoutes.js","sourceRoot":"","sources":["../../../src/domain/configuration/sessionReplayRoutes.ts"],"names":[],"mappings":";;AAyBA,oCAEC;AAQD,8CAeC;AAMD,kEAkBC;AAzED,8EAAqF;AAmBrF;;;;GAIG;AACH,SAAgB,YAAY,CAAC,WAA2B,MAAM,CAAC,QAAQ;IACrE,OAAO,GAAG,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAA;AACjE,CAAC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,MAAuC,EAAE,IAAY;IACrF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAA;IACb,CAAC;IAED,4EAA4E;IAC5E,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,IAAA,kCAAS,EAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACzF,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,OAAO,IAAA,kCAAS,EAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;GAGG;AACH,SAAgB,2BAA2B,CAAC,MAAe;IACzD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,gCAAO,CAAC,KAAK,CAAC,oFAAoF,CAAC,CAAA;QACnG,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,uBAAuB,CAAE,MAA8B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IAC3F,MAAM,OAAO,GAAG,uBAAuB,CAAE,MAA8B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IAE3F,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;AAC7B,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAa,EAAE,IAAY;IAC1D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,gCAAO,CAAC,KAAK,CAAC,0BAA0B,IAAI,sBAAsB,CAAC,CAAA;QACnE,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACxC,IAAI,IAAA,sCAAa,EAAC,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,gCAAO,CAAC,KAAK,CAAC,0BAA0B,IAAI,kDAAkD,CAAC,CAAA;QAC/F,OAAO,KAAK,CAAA;IACd,CAAC,CAAkB,CAAA;IAEnB,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAA;AAC3D,CAAC"}
1
+ {"version":3,"file":"sessionReplayRoutes.js","names":["matchList"],"sources":["../../../src/domain/configuration/sessionReplayRoutes.ts"],"sourcesContent":["import type { MatchOption } from '@kubesense/kubesense-js-core/configuration'\nimport { matchList } from '@kubesense/kubesense-browser-core'\n\n/**\n * Route-scoped Session Replay.\n *\n * Recording is normally decided once per session by `sessionReplaySampleRate`. These rules add a\n * second, per-view gate so a session that *is* eligible only gets recorded while the user is on\n * a matching route.\n *\n * Rules can only ever narrow recording, never widen it: a session that lost the replay sampling\n * draw is never recorded, whatever the routes say.\n */\nexport interface SessionReplayRoutes {\n /** Record only on these routes. When omitted, every route is eligible. */\n include?: MatchOption[] | undefined\n /** Never record on these routes. Takes precedence over `include`. */\n exclude?: MatchOption[] | undefined\n}\n\n/**\n * Rules are matched against the **path** — `pathname` + `search` + `hash` — not the full URL, so\n * a dashboard entry reads the way a route is written (`/checkout`). String options match by\n * prefix, so `/checkout` also covers `/checkout/payment`.\n */\nexport function getRoutePath(location: Location | URL = window.location): string {\n return `${location.pathname}${location.search}${location.hash}`\n}\n\n/**\n * Returns whether recording is allowed on the given path.\n *\n * No rules at all means \"record everywhere\", which keeps the behaviour of an SDK that has never\n * been configured with routes.\n */\nexport function isRouteRecordable(routes: SessionReplayRoutes | undefined, path: string): boolean {\n if (!routes) {\n return true\n }\n\n // Exclusions win, so a route can always be carved out of a broad `include`.\n if (routes.exclude && routes.exclude.length > 0 && matchList(routes.exclude, path, true)) {\n return false\n }\n\n if (routes.include && routes.include.length > 0) {\n return matchList(routes.include, path, true)\n }\n\n return true\n}\n"],"mappings":";;;;;;;AAyBA,SAAgB,aAAa,WAA2B,OAAO,UAAkB;CAC/E,OAAO,GAAG,SAAS,WAAW,SAAS,SAAS,SAAS;AAC3D;;;;;;;AAQA,SAAgB,kBAAkB,QAAyC,MAAuB;CAChG,IAAI,CAAC,QACH,OAAO;CAIT,IAAI,OAAO,WAAW,OAAO,QAAQ,SAAS,MAAA,GAAKA,kCAAAA,UAAAA,CAAU,OAAO,SAAS,MAAM,IAAI,GACrF,OAAO;CAGT,IAAI,OAAO,WAAW,OAAO,QAAQ,SAAS,GAC5C,QAAA,GAAOA,kCAAAA,UAAAA,CAAU,OAAO,SAAS,MAAM,IAAI;CAG7C,OAAO;AACT"}
@@ -1,12 +1,10 @@
1
- import type { Configuration } from '@kubesense/kubesense-browser-core';
2
- import type { Hooks } from '../hooks';
1
+ import type { AssembleHook } from '../hooks';
3
2
  export declare const CI_VISIBILITY_TEST_ID_COOKIE_NAME = "kubesense-ci-visibility-test-execution-id";
4
3
  export interface CiTestWindow extends Window {
5
4
  Cypress?: {
6
5
  env: (key: string) => string | undefined;
7
6
  };
8
7
  }
9
- export type CiVisibilityContext = ReturnType<typeof startCiVisibilityContext>;
10
- export declare function startCiVisibilityContext(configuration: Configuration, hooks: Hooks, cookieObservable?: import("@kubesense/kubesense-browser-core").Observable<string | undefined>): {
8
+ export declare function startCiVisibilityContext(assembleHook: AssembleHook, cookieObservable?: import("@kubesense/kubesense-browser-core").Observable<string | undefined>): {
11
9
  stop: () => void;
12
10
  };
@@ -1,34 +1,38 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CI_VISIBILITY_TEST_ID_COOKIE_NAME = void 0;
4
- exports.startCiVisibilityContext = startCiVisibilityContext;
5
- const kubesense_browser_core_1 = require("@kubesense/kubesense-browser-core");
6
- const cookieObservable_1 = require("../../browser/cookieObservable");
7
- exports.CI_VISIBILITY_TEST_ID_COOKIE_NAME = 'kubesense-ci-visibility-test-execution-id';
8
- function startCiVisibilityContext(configuration, hooks, cookieObservable = (0, cookieObservable_1.createCookieObservable)(configuration, exports.CI_VISIBILITY_TEST_ID_COOKIE_NAME)) {
9
- var _a;
10
- let testExecutionId = (0, kubesense_browser_core_1.getInitCookie)(exports.CI_VISIBILITY_TEST_ID_COOKIE_NAME) || ((_a = window.Cypress) === null || _a === void 0 ? void 0 : _a.env('traceId'));
11
- const cookieObservableSubscription = cookieObservable.subscribe((value) => {
12
- testExecutionId = value;
13
- });
14
- hooks.register(0 /* HookNames.Assemble */, ({ eventType }) => {
15
- if (typeof testExecutionId !== 'string') {
16
- return kubesense_browser_core_1.SKIPPED;
17
- }
18
- return {
19
- type: eventType,
20
- session: {
21
- type: "ci_test" /* SessionType.CI_TEST */,
22
- },
23
- ci_test: {
24
- test_execution_id: testExecutionId,
25
- },
26
- };
27
- });
28
- return {
29
- stop: () => {
30
- cookieObservableSubscription.unsubscribe();
31
- },
32
- };
1
+ const require_cookieObservable = require("../../browser/cookieObservable.js");
2
+ require("./sessionContext.js");
3
+ let _kubesense_kubesense_browser_core = require("@kubesense/kubesense-browser-core");
4
+ let _kubesense_kubesense_js_core_assembly = require("@kubesense/kubesense-js-core/assembly");
5
+ //#region src/domain/contexts/ciVisibilityContext.ts
6
+ const CI_VISIBILITY_TEST_ID_COOKIE_NAME = "kubesense-ci-visibility-test-execution-id";
7
+ function startCiVisibilityContext(assembleHook, cookieObservable = require_cookieObservable.createCookieObservable(CI_VISIBILITY_TEST_ID_COOKIE_NAME)) {
8
+ let testExecutionId = (0, _kubesense_kubesense_browser_core.getInitCookie)("kubesense-ci-visibility-test-execution-id") || readCypressTraceId();
9
+ const cookieObservableSubscription = cookieObservable.subscribe((value) => {
10
+ testExecutionId = value;
11
+ });
12
+ assembleHook.register(({ eventType }) => {
13
+ if (typeof testExecutionId !== "string") return _kubesense_kubesense_js_core_assembly.SKIPPED;
14
+ return {
15
+ type: eventType,
16
+ session: { type: "ci_test" },
17
+ ci_test: { test_execution_id: testExecutionId }
18
+ };
19
+ });
20
+ return { stop: () => {
21
+ cookieObservableSubscription.unsubscribe();
22
+ } };
23
+ }
24
+ function readCypressTraceId() {
25
+ const cypress = window.Cypress;
26
+ if (!cypress) return;
27
+ try {
28
+ return cypress.env("traceId");
29
+ } catch {
30
+ _kubesense_kubesense_browser_core.display.warn("Failed to read Cypress test execution id via Cypress.env(). Upgrade dd-trace-js to >= 5.88.0 to keep RUM ↔ test correlation working.");
31
+ return;
32
+ }
33
33
  }
34
+ //#endregion
35
+ exports.CI_VISIBILITY_TEST_ID_COOKIE_NAME = CI_VISIBILITY_TEST_ID_COOKIE_NAME;
36
+ exports.startCiVisibilityContext = startCiVisibilityContext;
37
+
34
38
  //# sourceMappingURL=ciVisibilityContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ciVisibilityContext.js","sourceRoot":"","sources":["../../../src/domain/contexts/ciVisibilityContext.ts"],"names":[],"mappings":";;;AAgBA,4DAiCC;AAjDD,8EAAqF;AAErF,qEAAuE;AAI1D,QAAA,iCAAiC,GAAG,2CAA2C,CAAA;AAU5F,SAAgB,wBAAwB,CACtC,aAA4B,EAC5B,KAAY,EACZ,gBAAgB,GAAG,IAAA,yCAAsB,EAAC,aAAa,EAAE,yCAAiC,CAAC;;IAE3F,IAAI,eAAe,GACjB,IAAA,sCAAa,EAAC,yCAAiC,CAAC,KAAI,MAAC,MAAuB,CAAC,OAAO,0CAAE,GAAG,CAAC,SAAS,CAAC,CAAA,CAAA;IAEtG,MAAM,4BAA4B,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;QACxE,eAAe,GAAG,KAAK,CAAA;IACzB,CAAC,CAAC,CAAA;IAEF,KAAK,CAAC,QAAQ,6BAAqB,CAAC,EAAE,SAAS,EAAE,EAAuC,EAAE;QACxF,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO,gCAAO,CAAA;QAChB,CAAC;QAED,OAAO;YACL,IAAI,EAAE,SAAS;YACf,OAAO,EAAE;gBACP,IAAI,qCAAqB;aAC1B;YACD,OAAO,EAAE;gBACP,iBAAiB,EAAE,eAAe;aACnC;SACF,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,OAAO;QACL,IAAI,EAAE,GAAG,EAAE;YACT,4BAA4B,CAAC,WAAW,EAAE,CAAA;QAC5C,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"ciVisibilityContext.js","names":["createCookieObservable","getInitCookie","SKIPPED"],"sources":["../../../src/domain/contexts/ciVisibilityContext.ts"],"sourcesContent":["import { display, getInitCookie } from '@kubesense/kubesense-browser-core'\nimport { SKIPPED } from '@kubesense/kubesense-js-core/assembly'\nimport { createCookieObservable } from '../../browser/cookieObservable'\nimport type { AssembleHook, DefaultRumEventAttributes } from '../hooks'\nimport { SessionType } from './sessionContext'\n\nexport const CI_VISIBILITY_TEST_ID_COOKIE_NAME = 'kubesense-ci-visibility-test-execution-id'\n\nexport interface CiTestWindow extends Window {\n Cypress?: {\n env: (key: string) => string | undefined\n }\n}\n\nexport function startCiVisibilityContext(\n assembleHook: AssembleHook,\n cookieObservable = createCookieObservable(CI_VISIBILITY_TEST_ID_COOKIE_NAME)\n) {\n let testExecutionId = getInitCookie(CI_VISIBILITY_TEST_ID_COOKIE_NAME) || readCypressTraceId()\n\n const cookieObservableSubscription = cookieObservable.subscribe((value) => {\n testExecutionId = value\n })\n\n assembleHook.register(({ eventType }): DefaultRumEventAttributes | SKIPPED => {\n if (typeof testExecutionId !== 'string') {\n return SKIPPED\n }\n\n return {\n type: eventType,\n session: {\n type: SessionType.CI_TEST,\n },\n ci_test: {\n test_execution_id: testExecutionId,\n },\n }\n })\n\n return {\n stop: () => {\n cookieObservableSubscription.unsubscribe()\n },\n }\n}\n\nfunction readCypressTraceId(): string | undefined {\n const cypress = (window as CiTestWindow).Cypress\n if (!cypress) {\n return undefined\n }\n try {\n return cypress.env('traceId')\n } catch {\n display.warn(\n 'Failed to read Cypress test execution id via Cypress.env(). Upgrade dd-trace-js to >= 5.88.0 to keep RUM ↔ test correlation working.'\n )\n return undefined\n }\n}\n"],"mappings":";;;;;AAMA,MAAa,oCAAoC;AAQjD,SAAgB,yBACd,cACA,mBAAmBA,yBAAAA,uBAAuB,iCAAiC,GAC3E;CACA,IAAI,mBAAA,GAAkBC,kCAAAA,cAAAA,CAAAA,2CAA+C,KAAK,mBAAmB;CAE7F,MAAM,+BAA+B,iBAAiB,WAAW,UAAU;EACzE,kBAAkB;CACpB,CAAC;CAED,aAAa,UAAU,EAAE,gBAAqD;EAC5E,IAAI,OAAO,oBAAoB,UAC7B,OAAOC,sCAAAA;EAGT,OAAO;GACL,MAAM;GACN,SAAS,EACP,MAAA,UACF;GACA,SAAS,EACP,mBAAmB,gBACrB;EACF;CACF,CAAC;CAED,OAAO,EACL,YAAY;EACV,6BAA6B,YAAY;CAC3C,EACF;AACF;AAEA,SAAS,qBAAyC;CAChD,MAAM,UAAW,OAAwB;CACzC,IAAI,CAAC,SACH;CAEF,IAAI;EACF,OAAO,QAAQ,IAAI,SAAS;CAC9B,QAAQ;EACN,kCAAA,QAAQ,KACN,sIACF;EACA;CACF;AACF"}
@@ -1,2 +1,2 @@
1
- import type { Hooks } from '../hooks';
2
- export declare function startConnectivityContext(hooks: Hooks): void;
1
+ import type { AssembleHook } from '../hooks';
2
+ export declare function startConnectivityContext(assembleHook: AssembleHook): void;
@@ -1,11 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.startConnectivityContext = startConnectivityContext;
4
- const kubesense_browser_core_1 = require("@kubesense/kubesense-browser-core");
5
- function startConnectivityContext(hooks) {
6
- hooks.register(0 /* HookNames.Assemble */, ({ eventType }) => ({
7
- type: eventType,
8
- connectivity: (0, kubesense_browser_core_1.getConnectivity)(),
9
- }));
1
+ let _kubesense_kubesense_browser_core = require("@kubesense/kubesense-browser-core");
2
+ //#region src/domain/contexts/connectivityContext.ts
3
+ function startConnectivityContext(assembleHook) {
4
+ assembleHook.register(({ eventType }) => ({
5
+ type: eventType,
6
+ connectivity: (0, _kubesense_kubesense_browser_core.getConnectivity)()
7
+ }));
10
8
  }
9
+ //#endregion
10
+ exports.startConnectivityContext = startConnectivityContext;
11
+
11
12
  //# sourceMappingURL=connectivityContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connectivityContext.js","sourceRoot":"","sources":["../../../src/domain/contexts/connectivityContext.ts"],"names":[],"mappings":";;AAGA,4DAQC;AAXD,8EAA8E;AAG9E,SAAgB,wBAAwB,CAAC,KAAY;IACnD,KAAK,CAAC,QAAQ,6BAEZ,CAAC,EAAE,SAAS,EAAE,EAA6B,EAAE,CAAC,CAAC;QAC7C,IAAI,EAAE,SAAS;QACf,YAAY,EAAE,IAAA,wCAAe,GAAE;KAChC,CAAC,CACH,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"connectivityContext.js","names":["getConnectivity"],"sources":["../../../src/domain/contexts/connectivityContext.ts"],"sourcesContent":["import { getConnectivity } from '@kubesense/kubesense-browser-core'\nimport type { AssembleHook, DefaultRumEventAttributes } from '../hooks'\n\nexport function startConnectivityContext(assembleHook: AssembleHook) {\n assembleHook.register(({ eventType }): DefaultRumEventAttributes => ({\n type: eventType,\n connectivity: getConnectivity(),\n }))\n}\n"],"mappings":";;AAGA,SAAgB,yBAAyB,cAA4B;CACnE,aAAa,UAAU,EAAE,iBAA4C;EACnE,MAAM;EACN,eAAA,GAAcA,kCAAAA,gBAAAA,CAAgB;CAChC,EAAE;AACJ"}
@@ -1,4 +1,4 @@
1
1
  import type { RumConfiguration } from '../configuration';
2
- import type { Hooks } from '../hooks';
3
- export type SdkName = 'rum' | 'rum-slim' | 'rum-synthetics';
4
- export declare function startDefaultContext(hooks: Hooks, configuration: RumConfiguration, sdkName: SdkName | undefined): void;
2
+ import type { AssembleHook } from '../hooks';
3
+ export type SdkName = 'rum' | 'rum-slim' | 'rum-synthetics' | 'rum-salesforce' | 'rum-shopify';
4
+ export declare function startDefaultContext(assembleHook: AssembleHook, configuration: RumConfiguration, sdkName: SdkName | undefined): void;
@@ -1,34 +1,30 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.startDefaultContext = startDefaultContext;
4
- const kubesense_browser_core_1 = require("@kubesense/kubesense-browser-core");
5
- function startDefaultContext(hooks, configuration, sdkName) {
6
- hooks.register(0 /* HookNames.Assemble */, ({ eventType }) => {
7
- const source = configuration.source;
8
- return {
9
- type: eventType,
10
- _kubesense: {
11
- format_version: 2,
12
- drift: (0, kubesense_browser_core_1.currentDrift)(),
13
- configuration: {
14
- session_sample_rate: (0, kubesense_browser_core_1.round)(configuration.sessionSampleRate, 3),
15
- session_replay_sample_rate: (0, kubesense_browser_core_1.round)(configuration.sessionReplaySampleRate, 3),
16
- profiling_sample_rate: (0, kubesense_browser_core_1.round)(configuration.profilingSampleRate, 3),
17
- trace_sample_rate: (0, kubesense_browser_core_1.round)(configuration.traceSampleRate, 3),
18
- beta_encode_cookie_options: configuration.betaEncodeCookieOptions,
19
- },
20
- browser_sdk_version: (0, kubesense_browser_core_1.canUseEventBridge)() ? "1.7.0" : undefined,
21
- sdk_name: sdkName,
22
- },
23
- application: {
24
- id: configuration.applicationId,
25
- },
26
- date: (0, kubesense_browser_core_1.timeStampNow)(),
27
- source,
28
- };
29
- });
30
- hooks.register(1 /* HookNames.AssembleTelemetry */, () => ({
31
- application: { id: configuration.applicationId },
32
- }));
1
+ let _kubesense_kubesense_js_core_time = require("@kubesense/kubesense-js-core/time");
2
+ let _kubesense_kubesense_browser_core = require("@kubesense/kubesense-browser-core");
3
+ //#region src/domain/contexts/defaultContext.ts
4
+ function startDefaultContext(assembleHook, configuration, sdkName) {
5
+ assembleHook.register(({ eventType }) => {
6
+ const source = configuration.source;
7
+ return {
8
+ type: eventType,
9
+ _kubesense: {
10
+ format_version: 2,
11
+ drift: (0, _kubesense_kubesense_js_core_time.clockDrift)(),
12
+ configuration: {
13
+ session_sample_rate: (0, _kubesense_kubesense_browser_core.round)(configuration.sessionSampleRate, 3),
14
+ session_replay_sample_rate: (0, _kubesense_kubesense_browser_core.round)(configuration.sessionReplaySampleRate, 3),
15
+ profiling_sample_rate: (0, _kubesense_kubesense_browser_core.round)(configuration.profilingSampleRate, 3),
16
+ trace_sample_rate: (0, _kubesense_kubesense_browser_core.round)(configuration.traceSampleRate, 3)
17
+ },
18
+ browser_sdk_version: (0, _kubesense_kubesense_browser_core.canUseEventBridge)() ? "2.0.0" : void 0,
19
+ sdk_name: sdkName
20
+ },
21
+ application: { id: configuration.applicationId },
22
+ date: (0, _kubesense_kubesense_js_core_time.timeStampNow)(),
23
+ source
24
+ };
25
+ });
33
26
  }
27
+ //#endregion
28
+ exports.startDefaultContext = startDefaultContext;
29
+
34
30
  //# sourceMappingURL=defaultContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaultContext.js","sourceRoot":"","sources":["../../../src/domain/contexts/defaultContext.ts"],"names":[],"mappings":";;AASA,kDAiCC;AA1CD,8EAAmH;AASnH,SAAgB,mBAAmB,CAAC,KAAY,EAAE,aAA+B,EAAE,OAA4B;IAC7G,KAAK,CAAC,QAAQ,6BAAqB,CAAC,EAAE,SAAS,EAAE,EAA6B,EAAE;QAC9E,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAA;QAEnC,OAAO;YACL,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACV,cAAc,EAAE,CAAC;gBACjB,KAAK,EAAE,IAAA,qCAAY,GAAE;gBACrB,aAAa,EAAE;oBACb,mBAAmB,EAAE,IAAA,8BAAK,EAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC,CAAC;oBAC9D,0BAA0B,EAAE,IAAA,8BAAK,EAAC,aAAa,CAAC,uBAAuB,EAAE,CAAC,CAAC;oBAC3E,qBAAqB,EAAE,IAAA,8BAAK,EAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,CAAC;oBAClE,iBAAiB,EAAE,IAAA,8BAAK,EAAC,aAAa,CAAC,eAAe,EAAE,CAAC,CAAC;oBAC1D,0BAA0B,EAAE,aAAa,CAAC,uBAAuB;iBAClE;gBACD,mBAAmB,EAAE,IAAA,0CAAiB,GAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,SAAS;gBACjF,QAAQ,EAAE,OAAO;aAClB;YACD,WAAW,EAAE;gBACX,EAAE,EAAE,aAAa,CAAC,aAAa;aAChC;YACD,IAAI,EAAE,IAAA,qCAAY,GAAE;YACpB,MAAM;SACP,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,KAAK,CAAC,QAAQ,sCAEZ,GAAoC,EAAE,CAAC,CAAC;QACtC,WAAW,EAAE,EAAE,EAAE,EAAE,aAAa,CAAC,aAAa,EAAE;KACjD,CAAC,CACH,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"defaultContext.js","names":["clockDrift","round","canUseEventBridge","timeStampNow"],"sources":["../../../src/domain/contexts/defaultContext.ts"],"sourcesContent":["import { clockDrift, timeStampNow } from '@kubesense/kubesense-js-core/time'\nimport { canUseEventBridge, round } from '@kubesense/kubesense-browser-core'\nimport type { RumConfiguration } from '../configuration'\nimport type { AssembleHook, DefaultRumEventAttributes } from '../hooks'\n\n// replaced at build time\ndeclare const __BUILD_ENV__SDK_VERSION__: string\n\nexport type SdkName = 'rum' | 'rum-slim' | 'rum-synthetics' | 'rum-salesforce' | 'rum-shopify'\n\nexport function startDefaultContext(\n assembleHook: AssembleHook,\n configuration: RumConfiguration,\n sdkName: SdkName | undefined\n) {\n assembleHook.register(({ eventType }): DefaultRumEventAttributes => {\n const source = configuration.source\n\n return {\n type: eventType,\n _kubesense: {\n format_version: 2,\n drift: clockDrift(),\n configuration: {\n session_sample_rate: round(configuration.sessionSampleRate, 3),\n session_replay_sample_rate: round(configuration.sessionReplaySampleRate, 3),\n profiling_sample_rate: round(configuration.profilingSampleRate, 3),\n trace_sample_rate: round(configuration.traceSampleRate, 3),\n },\n browser_sdk_version: canUseEventBridge() ? __BUILD_ENV__SDK_VERSION__ : undefined,\n sdk_name: sdkName,\n },\n application: {\n id: configuration.applicationId,\n },\n date: timeStampNow(),\n source,\n }\n })\n}\n"],"mappings":";;;AAUA,SAAgB,oBACd,cACA,eACA,SACA;CACA,aAAa,UAAU,EAAE,gBAA2C;EAClE,MAAM,SAAS,cAAc;EAE7B,OAAO;GACL,MAAM;GACN,YAAY;IACV,gBAAgB;IAChB,QAAA,GAAOA,kCAAAA,WAAAA,CAAW;IAClB,eAAe;KACb,sBAAA,GAAqBC,kCAAAA,MAAAA,CAAM,cAAc,mBAAmB,CAAC;KAC7D,6BAAA,GAA4BA,kCAAAA,MAAAA,CAAM,cAAc,yBAAyB,CAAC;KAC1E,wBAAA,GAAuBA,kCAAAA,MAAAA,CAAM,cAAc,qBAAqB,CAAC;KACjE,oBAAA,GAAmBA,kCAAAA,MAAAA,CAAM,cAAc,iBAAiB,CAAC;IAC3D;IACA,sBAAA,GAAqBC,kCAAAA,kBAAAA,CAAkB,IAAA,UAAiC,KAAA;IACxE,UAAU;GACZ;GACA,aAAa,EACX,IAAI,cAAc,cACpB;GACA,OAAA,GAAMC,kCAAAA,aAAAA,CAAa;GACnB;EACF;CACF,CAAC;AACH"}
@@ -1,6 +1,5 @@
1
- import type { RumConfiguration } from '../configuration';
2
- import type { Hooks } from '../hooks';
1
+ import type { AssembleHook } from '../hooks';
3
2
  export type DisplayContext = ReturnType<typeof startDisplayContext>;
4
- export declare function startDisplayContext(hooks: Hooks, configuration: RumConfiguration): {
3
+ export declare function startDisplayContext(assembleHook: AssembleHook): {
5
4
  stop: () => void;
6
5
  };
@@ -1,28 +1,24 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.startDisplayContext = startDisplayContext;
4
- const kubesense_browser_core_1 = require("@kubesense/kubesense-browser-core");
5
- const viewportObservable_1 = require("../../browser/viewportObservable");
6
- function startDisplayContext(hooks, configuration) {
7
- let viewport;
8
- // Use requestAnimationFrame to delay the calculation of viewport dimensions until after SDK initialization, preventing long tasks.
9
- const animationFrameId = requestAnimationFrame((0, kubesense_browser_core_1.monitor)(() => {
10
- viewport = (0, viewportObservable_1.getViewportDimension)();
11
- }));
12
- const unsubscribeViewport = (0, viewportObservable_1.initViewportObservable)(configuration).subscribe((viewportDimension) => {
13
- viewport = viewportDimension;
14
- }).unsubscribe;
15
- hooks.register(0 /* HookNames.Assemble */, ({ eventType }) => ({
16
- type: eventType,
17
- display: viewport ? { viewport } : undefined,
18
- }));
19
- return {
20
- stop: () => {
21
- unsubscribeViewport();
22
- if (animationFrameId) {
23
- cancelAnimationFrame(animationFrameId);
24
- }
25
- },
26
- };
1
+ const require_viewportObservable = require("../../browser/viewportObservable.js");
2
+ let _kubesense_kubesense_js_core_monitor = require("@kubesense/kubesense-js-core/monitor");
3
+ //#region src/domain/contexts/displayContext.ts
4
+ function startDisplayContext(assembleHook) {
5
+ let viewport;
6
+ const animationFrameId = requestAnimationFrame((0, _kubesense_kubesense_js_core_monitor.monitor)(() => {
7
+ viewport = require_viewportObservable.getViewportDimension();
8
+ }));
9
+ const unsubscribeViewport = require_viewportObservable.initViewportObservable().subscribe((viewportDimension) => {
10
+ viewport = viewportDimension;
11
+ }).unsubscribe;
12
+ assembleHook.register(({ eventType }) => ({
13
+ type: eventType,
14
+ display: viewport ? { viewport } : void 0
15
+ }));
16
+ return { stop: () => {
17
+ unsubscribeViewport();
18
+ if (animationFrameId) cancelAnimationFrame(animationFrameId);
19
+ } };
27
20
  }
21
+ //#endregion
22
+ exports.startDisplayContext = startDisplayContext;
23
+
28
24
  //# sourceMappingURL=displayContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"displayContext.js","sourceRoot":"","sources":["../../../src/domain/contexts/displayContext.ts"],"names":[],"mappings":";;AAQA,kDA6BC;AArCD,8EAAsE;AAGtE,yEAA+F;AAK/F,SAAgB,mBAAmB,CAAC,KAAY,EAAE,aAA+B;IAC/E,IAAI,QAAuC,CAAA;IAC3C,mIAAmI;IACnI,MAAM,gBAAgB,GAAG,qBAAqB,CAC5C,IAAA,gCAAO,EAAC,GAAG,EAAE;QACX,QAAQ,GAAG,IAAA,yCAAoB,GAAE,CAAA;IACnC,CAAC,CAAC,CACH,CAAA;IAED,MAAM,mBAAmB,GAAG,IAAA,2CAAsB,EAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,iBAAiB,EAAE,EAAE;QAChG,QAAQ,GAAG,iBAAiB,CAAA;IAC9B,CAAC,CAAC,CAAC,WAAW,CAAA;IAEd,KAAK,CAAC,QAAQ,6BAEZ,CAAC,EAAE,SAAS,EAAE,EAA6B,EAAE,CAAC,CAAC;QAC7C,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;KAC7C,CAAC,CACH,CAAA;IAED,OAAO;QACL,IAAI,EAAE,GAAG,EAAE;YACT,mBAAmB,EAAE,CAAA;YACrB,IAAI,gBAAgB,EAAE,CAAC;gBACrB,oBAAoB,CAAC,gBAAgB,CAAC,CAAA;YACxC,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"displayContext.js","names":["monitor","getViewportDimension","initViewportObservable"],"sources":["../../../src/domain/contexts/displayContext.ts"],"sourcesContent":["import { monitor } from '@kubesense/kubesense-js-core/monitor'\nimport type { ViewportDimension } from '../../browser/viewportObservable'\nimport { getViewportDimension, initViewportObservable } from '../../browser/viewportObservable'\nimport type { AssembleHook, DefaultRumEventAttributes } from '../hooks'\n\nexport type DisplayContext = ReturnType<typeof startDisplayContext>\n\nexport function startDisplayContext(assembleHook: AssembleHook) {\n let viewport: ViewportDimension | undefined\n // Use requestAnimationFrame to delay the calculation of viewport dimensions until after SDK initialization, preventing long tasks.\n const animationFrameId = requestAnimationFrame(\n monitor(() => {\n viewport = getViewportDimension()\n })\n )\n\n const unsubscribeViewport = initViewportObservable().subscribe((viewportDimension) => {\n viewport = viewportDimension\n }).unsubscribe\n\n assembleHook.register(({ eventType }): DefaultRumEventAttributes => ({\n type: eventType,\n display: viewport ? { viewport } : undefined,\n }))\n\n return {\n stop: () => {\n unsubscribeViewport()\n if (animationFrameId) {\n cancelAnimationFrame(animationFrameId)\n }\n },\n }\n}\n"],"mappings":";;;AAOA,SAAgB,oBAAoB,cAA4B;CAC9D,IAAI;CAEJ,MAAM,mBAAmB,uBAAA,GACvBA,qCAAAA,QAAAA,OAAc;EACZ,WAAWC,2BAAAA,qBAAqB;CAClC,CAAC,CACH;CAEA,MAAM,sBAAsBC,2BAAAA,uBAAuB,CAAC,CAAC,WAAW,sBAAsB;EACpF,WAAW;CACb,CAAC,CAAC,CAAC;CAEH,aAAa,UAAU,EAAE,iBAA4C;EACnE,MAAM;EACN,SAAS,WAAW,EAAE,SAAS,IAAI,KAAA;CACrC,EAAE;CAEF,OAAO,EACL,YAAY;EACV,oBAAoB;EACpB,IAAI,kBACF,qBAAqB,gBAAgB;CAEzC,EACF;AACF"}
@@ -1,7 +1,7 @@
1
1
  import type { ContextValue, Context } from '@kubesense/kubesense-browser-core';
2
2
  import type { LifeCycle } from '../lifeCycle';
3
3
  import type { RumConfiguration } from '../configuration';
4
- import type { Hooks } from '../hooks';
4
+ import type { AssembleHook } from '../hooks';
5
5
  export declare const FEATURE_FLAG_CONTEXT_TIME_OUT_DELAY: number;
6
6
  export declare const BYTES_COMPUTATION_THROTTLING_DELAY = 200;
7
7
  export type FeatureFlagContext = Context;
@@ -16,4 +16,4 @@ export interface FeatureFlagContexts {
16
16
  *
17
17
  * Note: we choose not to add a new context at each evaluation to save memory
18
18
  */
19
- export declare function startFeatureFlagContexts(lifeCycle: LifeCycle, hooks: Hooks, configuration: RumConfiguration): FeatureFlagContexts;
19
+ export declare function startFeatureFlagContexts(lifeCycle: LifeCycle, assembleHook: AssembleHook, configuration: RumConfiguration): FeatureFlagContexts;
@@ -1,53 +1,41 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BYTES_COMPUTATION_THROTTLING_DELAY = exports.FEATURE_FLAG_CONTEXT_TIME_OUT_DELAY = void 0;
4
- exports.startFeatureFlagContexts = startFeatureFlagContexts;
5
- const kubesense_browser_core_1 = require("@kubesense/kubesense-browser-core");
6
- const rawRumEvent_types_1 = require("../../rawRumEvent.types");
7
- exports.FEATURE_FLAG_CONTEXT_TIME_OUT_DELAY = kubesense_browser_core_1.SESSION_TIME_OUT_DELAY;
8
- exports.BYTES_COMPUTATION_THROTTLING_DELAY = 200;
1
+ const require_rawRumEvent_types = require("../../rawRumEvent.types.js");
2
+ require("../lifeCycle.js");
3
+ let _kubesense_kubesense_browser_core = require("@kubesense/kubesense-browser-core");
4
+ let _kubesense_kubesense_js_core_assembly = require("@kubesense/kubesense-js-core/assembly");
5
+ //#region src/domain/contexts/featureFlagContext.ts
6
+ const FEATURE_FLAG_CONTEXT_TIME_OUT_DELAY = _kubesense_kubesense_browser_core.SESSION_TIME_OUT_DELAY;
9
7
  /**
10
- * Start feature flag contexts
11
- *
12
- * Feature flag contexts follow the life of views.
13
- * A new context is added when a view is created and ended when the view is ended
14
- *
15
- * Note: we choose not to add a new context at each evaluation to save memory
16
- */
17
- function startFeatureFlagContexts(lifeCycle, hooks, configuration) {
18
- const featureFlagContexts = (0, kubesense_browser_core_1.createValueHistory)({
19
- expireDelay: exports.FEATURE_FLAG_CONTEXT_TIME_OUT_DELAY,
20
- });
21
- lifeCycle.subscribe(1 /* LifeCycleEventType.BEFORE_VIEW_CREATED */, ({ startClocks }) => {
22
- featureFlagContexts.add({}, startClocks.relative);
23
- });
24
- lifeCycle.subscribe(6 /* LifeCycleEventType.AFTER_VIEW_ENDED */, ({ endClocks }) => {
25
- featureFlagContexts.closeActive(endClocks.relative);
26
- });
27
- hooks.register(0 /* HookNames.Assemble */, ({ startTime, eventType }) => {
28
- const trackFeatureFlagsForEvents = configuration.trackFeatureFlagsForEvents.concat([
29
- rawRumEvent_types_1.RumEventType.VIEW,
30
- rawRumEvent_types_1.RumEventType.ERROR,
31
- ]);
32
- if (!trackFeatureFlagsForEvents.includes(eventType)) {
33
- return kubesense_browser_core_1.SKIPPED;
34
- }
35
- const featureFlagContext = featureFlagContexts.find(startTime);
36
- if (!featureFlagContext || (0, kubesense_browser_core_1.isEmptyObject)(featureFlagContext)) {
37
- return kubesense_browser_core_1.SKIPPED;
38
- }
39
- return {
40
- type: eventType,
41
- feature_flags: featureFlagContext,
42
- };
43
- });
44
- return {
45
- addFeatureFlagEvaluation: (key, value) => {
46
- const currentContext = featureFlagContexts.find();
47
- if (currentContext) {
48
- currentContext[key] = value;
49
- }
50
- },
51
- };
8
+ * Start feature flag contexts
9
+ *
10
+ * Feature flag contexts follow the life of views.
11
+ * A new context is added when a view is created and ended when the view is ended
12
+ *
13
+ * Note: we choose not to add a new context at each evaluation to save memory
14
+ */
15
+ function startFeatureFlagContexts(lifeCycle, assembleHook, configuration) {
16
+ const featureFlagContexts = (0, _kubesense_kubesense_browser_core.createValueHistory)({ expireDelay: FEATURE_FLAG_CONTEXT_TIME_OUT_DELAY });
17
+ lifeCycle.subscribe(1, ({ startClocks }) => {
18
+ featureFlagContexts.add({}, startClocks.relative);
19
+ });
20
+ lifeCycle.subscribe(6, ({ endClocks }) => {
21
+ featureFlagContexts.closeActive(endClocks.relative);
22
+ });
23
+ assembleHook.register(({ startTime, eventType }) => {
24
+ if (!configuration.trackFeatureFlagsForEvents.concat([require_rawRumEvent_types.RumEventType.VIEW, require_rawRumEvent_types.RumEventType.ERROR]).includes(eventType)) return _kubesense_kubesense_js_core_assembly.SKIPPED;
25
+ const featureFlagContext = featureFlagContexts.find(startTime);
26
+ if (!featureFlagContext || (0, _kubesense_kubesense_browser_core.isEmptyObject)(featureFlagContext)) return _kubesense_kubesense_js_core_assembly.SKIPPED;
27
+ return {
28
+ type: eventType,
29
+ feature_flags: featureFlagContext
30
+ };
31
+ });
32
+ return { addFeatureFlagEvaluation: (key, value) => {
33
+ const currentContext = featureFlagContexts.find();
34
+ if (currentContext) currentContext[key] = value;
35
+ } };
52
36
  }
37
+ //#endregion
38
+ exports.FEATURE_FLAG_CONTEXT_TIME_OUT_DELAY = FEATURE_FLAG_CONTEXT_TIME_OUT_DELAY;
39
+ exports.startFeatureFlagContexts = startFeatureFlagContexts;
40
+
53
41
  //# sourceMappingURL=featureFlagContext.js.map