@kubesense/kubesense-browser-rum-core 1.8.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,5 +1,4 @@
1
1
  import type { Observable, RawError } from '@kubesense/kubesense-browser-core';
2
- import type { RumConfiguration } from '../configuration';
3
- export declare function trackReportError(configuration: RumConfiguration, errorObservable: Observable<RawError>): {
2
+ export declare function trackReportError(errorObservable: Observable<RawError>): {
4
3
  stop: () => void;
5
4
  };
@@ -1,16 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.trackReportError = trackReportError;
4
- const kubesense_browser_core_1 = require("@kubesense/kubesense-browser-core");
5
- function trackReportError(configuration, errorObservable) {
6
- const subscription = (0, kubesense_browser_core_1.initReportObservable)(configuration, [
7
- kubesense_browser_core_1.RawReportType.cspViolation,
8
- kubesense_browser_core_1.RawReportType.intervention,
9
- ]).subscribe((rawError) => errorObservable.notify(rawError));
10
- return {
11
- stop: () => {
12
- subscription.unsubscribe();
13
- },
14
- };
1
+ let _kubesense_kubesense_browser_core = require("@kubesense/kubesense-browser-core");
2
+ //#region src/domain/error/trackReportError.ts
3
+ function trackReportError(errorObservable) {
4
+ const subscription = (0, _kubesense_kubesense_browser_core.initReportObservable)([_kubesense_kubesense_browser_core.RawReportType.cspViolation, _kubesense_kubesense_browser_core.RawReportType.intervention]).subscribe((rawError) => errorObservable.notify(rawError));
5
+ return { stop: () => {
6
+ subscription.unsubscribe();
7
+ } };
15
8
  }
9
+ //#endregion
10
+ exports.trackReportError = trackReportError;
11
+
16
12
  //# sourceMappingURL=trackReportError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trackReportError.js","sourceRoot":"","sources":["../../../src/domain/error/trackReportError.ts"],"names":[],"mappings":";;AAIA,4CAWC;AAdD,8EAAuF;AAGvF,SAAgB,gBAAgB,CAAC,aAA+B,EAAE,eAAqC;IACrG,MAAM,YAAY,GAAG,IAAA,6CAAoB,EAAC,aAAa,EAAE;QACvD,sCAAa,CAAC,YAAY;QAC1B,sCAAa,CAAC,YAAY;KAC3B,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;IAE5D,OAAO;QACL,IAAI,EAAE,GAAG,EAAE;YACT,YAAY,CAAC,WAAW,EAAE,CAAA;QAC5B,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"trackReportError.js","names":["initReportObservable","RawReportType"],"sources":["../../../src/domain/error/trackReportError.ts"],"sourcesContent":["import type { Observable, RawError } from '@kubesense/kubesense-browser-core'\nimport { initReportObservable, RawReportType } from '@kubesense/kubesense-browser-core'\nexport function trackReportError(errorObservable: Observable<RawError>) {\n const subscription = initReportObservable([RawReportType.cspViolation, RawReportType.intervention]).subscribe(\n (rawError) => errorObservable.notify(rawError)\n )\n\n return {\n stop: () => {\n subscription.unsubscribe()\n },\n }\n}\n"],"mappings":";;AAEA,SAAgB,iBAAiB,iBAAuC;CACtE,MAAM,gBAAA,GAAeA,kCAAAA,qBAAAA,CAAqB,CAACC,kCAAAA,cAAc,cAAcA,kCAAAA,cAAc,YAAY,CAAC,CAAC,CAAC,WACjG,aAAa,gBAAgB,OAAO,QAAQ,CAC/C;CAEA,OAAO,EACL,YAAY;EACV,aAAa,YAAY;CAC3B,EACF;AACF"}
@@ -1,4 +1,5 @@
1
- import type { Context, Duration, RelativeTime } from '@kubesense/kubesense-browser-core';
1
+ import type { Duration, RelativeTime } from '@kubesense/kubesense-js-core/time';
2
+ import type { Context } from '@kubesense/kubesense-browser-core';
2
3
  import type { RumEventDomainContext } from '../../domainContext.types';
3
4
  import type { LifeCycle } from '../lifeCycle';
4
5
  import type { RawRumActionEvent, RawRumErrorEvent, RawRumLongAnimationFrameEvent, RawRumLongTaskEvent, RawRumResourceEvent, RawRumVitalEvent } from '../../rawRumEvent.types';
@@ -1,27 +1,26 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.startEventCollection = startEventCollection;
4
- const rawRumEvent_types_1 = require("../../rawRumEvent.types");
1
+ const require_rawRumEvent_types = require("../../rawRumEvent.types.js");
2
+ require("../lifeCycle.js");
3
+ let _kubesense_kubesense_js_core_time = require("@kubesense/kubesense-js-core/time");
4
+ //#region src/domain/event/eventCollection.ts
5
5
  const allowedEventTypes = [
6
- rawRumEvent_types_1.RumEventType.ACTION,
7
- rawRumEvent_types_1.RumEventType.ERROR,
8
- rawRumEvent_types_1.RumEventType.LONG_TASK,
9
- rawRumEvent_types_1.RumEventType.RESOURCE,
10
- rawRumEvent_types_1.RumEventType.VITAL,
6
+ require_rawRumEvent_types.RumEventType.ACTION,
7
+ require_rawRumEvent_types.RumEventType.ERROR,
8
+ require_rawRumEvent_types.RumEventType.LONG_TASK,
9
+ require_rawRumEvent_types.RumEventType.RESOURCE,
10
+ require_rawRumEvent_types.RumEventType.VITAL
11
11
  ];
12
12
  function startEventCollection(lifeCycle) {
13
- return {
14
- addEvent: (startTime, event, domainContext, duration) => {
15
- if (!allowedEventTypes.includes(event.type)) {
16
- return;
17
- }
18
- lifeCycle.notify(12 /* LifeCycleEventType.RAW_RUM_EVENT_COLLECTED */, {
19
- startTime,
20
- rawRumEvent: event,
21
- domainContext,
22
- duration,
23
- });
24
- },
25
- };
13
+ return { addEvent: (startTime, event, domainContext, duration) => {
14
+ if (!allowedEventTypes.includes(event.type)) return;
15
+ lifeCycle.notify(13, {
16
+ startClocks: (0, _kubesense_kubesense_js_core_time.relativeToClocks)(startTime),
17
+ rawRumEvent: event,
18
+ domainContext,
19
+ duration
20
+ });
21
+ } };
26
22
  }
23
+ //#endregion
24
+ exports.startEventCollection = startEventCollection;
25
+
27
26
  //# sourceMappingURL=eventCollection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eventCollection.js","sourceRoot":"","sources":["../../../src/domain/event/eventCollection.ts"],"names":[],"mappings":";;AAgCA,oDAoBC;AAvCD,+DAAsD;AAEtD,MAAM,iBAAiB,GAAG;IACxB,gCAAY,CAAC,MAAM;IACnB,gCAAY,CAAC,KAAK;IAClB,gCAAY,CAAC,SAAS;IACtB,gCAAY,CAAC,QAAQ;IACrB,gCAAY,CAAC,KAAK;CACV,CAAA;AAWV,SAAgB,oBAAoB,CAAC,SAAoB;IACvD,OAAO;QACL,QAAQ,EAAE,CACR,SAAuB,EACvB,KAAyB,EACzB,aAAoC,EACpC,QAAmB,EACnB,EAAE;YACF,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5C,OAAM;YACR,CAAC;YAED,SAAS,CAAC,MAAM,sDAA6C;gBAC3D,SAAS;gBACT,WAAW,EAAE,KAAK;gBAClB,aAAa;gBACb,QAAQ;aACT,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"eventCollection.js","names":["RumEventType","relativeToClocks"],"sources":["../../../src/domain/event/eventCollection.ts"],"sourcesContent":["import { relativeToClocks } from '@kubesense/kubesense-js-core/time'\nimport type { Duration, RelativeTime } from '@kubesense/kubesense-js-core/time'\nimport type { Context } from '@kubesense/kubesense-browser-core'\nimport type { RumEventDomainContext } from '../../domainContext.types'\nimport type { LifeCycle } from '../lifeCycle'\nimport { LifeCycleEventType } from '../lifeCycle'\n\nimport type {\n RawRumActionEvent,\n RawRumErrorEvent,\n RawRumLongAnimationFrameEvent,\n RawRumLongTaskEvent,\n RawRumResourceEvent,\n RawRumVitalEvent,\n} from '../../rawRumEvent.types'\nimport { RumEventType } from '../../rawRumEvent.types'\n\nconst allowedEventTypes = [\n RumEventType.ACTION,\n RumEventType.ERROR,\n RumEventType.LONG_TASK,\n RumEventType.RESOURCE,\n RumEventType.VITAL,\n] as const\n\nexport type AllowedRawRumEvent = (\n | RawRumErrorEvent\n | RawRumResourceEvent\n | RawRumLongTaskEvent\n | RawRumLongAnimationFrameEvent\n | RawRumActionEvent\n | RawRumVitalEvent\n) & { context?: Context }\n\nexport function startEventCollection(lifeCycle: LifeCycle) {\n return {\n addEvent: (\n startTime: RelativeTime,\n event: AllowedRawRumEvent,\n domainContext: RumEventDomainContext,\n duration?: Duration\n ) => {\n if (!allowedEventTypes.includes(event.type)) {\n return\n }\n\n lifeCycle.notify(LifeCycleEventType.RAW_RUM_EVENT_COLLECTED, {\n startClocks: relativeToClocks(startTime),\n rawRumEvent: event,\n domainContext,\n duration,\n })\n },\n }\n}\n"],"mappings":";;;;AAiBA,MAAM,oBAAoB;CACxBA,0BAAAA,aAAa;CACbA,0BAAAA,aAAa;CACbA,0BAAAA,aAAa;CACbA,0BAAAA,aAAa;CACbA,0BAAAA,aAAa;AACf;AAWA,SAAgB,qBAAqB,WAAsB;CACzD,OAAO,EACL,WACE,WACA,OACA,eACA,aACG;EACH,IAAI,CAAC,kBAAkB,SAAS,MAAM,IAAI,GACxC;EAGF,UAAU,OAAA,IAAmD;GAC3D,cAAA,GAAaC,kCAAAA,iBAAAA,CAAiB,SAAS;GACvC,aAAa;GACb;GACA;EACF,CAAC;CACH,EACF;AACF"}
@@ -0,0 +1,37 @@
1
+ import type { ClocksState, RelativeTime, Duration } from '@kubesense/kubesense-js-core/time';
2
+ import type { ValueHistoryEntry } from '@kubesense/kubesense-browser-core';
3
+ import type { RumActionEvent, RumErrorEvent, RumLongTaskEvent, RumResourceEvent } from '../rumEvent.types';
4
+ import type { LifeCycle } from './lifeCycle';
5
+ import type { EventCounts } from './trackEventCounts';
6
+ import { trackEventCounts } from './trackEventCounts';
7
+ export declare const EVENT_CONTEXT_TIME_OUT_DELAY: number;
8
+ type BaseTrackedEvent<TData = object> = TData & {
9
+ id: string;
10
+ startClocks: ClocksState;
11
+ counts?: EventCounts;
12
+ };
13
+ export type StoppedEvent<TData> = BaseTrackedEvent<TData> & {
14
+ duration: Duration;
15
+ };
16
+ export type DiscardedEvent<TData> = BaseTrackedEvent<TData>;
17
+ export interface StartOptions {
18
+ isChildEvent?: (id: string) => (event: RumActionEvent | RumErrorEvent | RumLongTaskEvent | RumResourceEvent) => boolean;
19
+ }
20
+ export interface EventTracker<TData> {
21
+ start: (key: string, startClocks: ClocksState, data: TData, options?: StartOptions) => TrackedEventData<TData>;
22
+ stop: (key: string, stopClocks: ClocksState, data?: Partial<TData>) => StoppedEvent<TData> | undefined;
23
+ discard: (key: string) => DiscardedEvent<TData> | undefined;
24
+ getCounts: (key: string) => EventCounts | undefined;
25
+ findId: (startTime?: RelativeTime) => string[];
26
+ stopAll: () => void;
27
+ }
28
+ export interface TrackedEventData<TData> {
29
+ id: string;
30
+ key: string;
31
+ startClocks: ClocksState;
32
+ data: TData;
33
+ historyEntry: ValueHistoryEntry<string>;
34
+ eventCounts?: ReturnType<typeof trackEventCounts>;
35
+ }
36
+ export declare function startEventTracker<TData>(lifeCycle: LifeCycle): EventTracker<TData>;
37
+ export {};
@@ -0,0 +1,94 @@
1
+ require("./lifeCycle.js");
2
+ const require_trackEventCounts = require("./trackEventCounts.js");
3
+ let _kubesense_kubesense_js_core_time = require("@kubesense/kubesense-js-core/time");
4
+ let _kubesense_kubesense_js_core_util = require("@kubesense/kubesense-js-core/util");
5
+ let _kubesense_kubesense_browser_core = require("@kubesense/kubesense-browser-core");
6
+ //#region src/domain/eventTracker.ts
7
+ const EVENT_CONTEXT_TIME_OUT_DELAY = 5 * _kubesense_kubesense_js_core_time.ONE_MINUTE;
8
+ function startEventTracker(lifeCycle) {
9
+ const history = (0, _kubesense_kubesense_browser_core.createValueHistory)({ expireDelay: EVENT_CONTEXT_TIME_OUT_DELAY });
10
+ const keyedEvents = /* @__PURE__ */ new Map();
11
+ function cleanUpEvent(event) {
12
+ keyedEvents.delete(event.key);
13
+ event.eventCounts?.stop();
14
+ }
15
+ function discardAll() {
16
+ keyedEvents.forEach((event) => {
17
+ cleanUpEvent(event);
18
+ });
19
+ history.reset();
20
+ }
21
+ const sessionRenewalSubscription = lifeCycle.subscribe(11, discardAll);
22
+ function start(key, startClocks, data, options) {
23
+ const id = (0, _kubesense_kubesense_browser_core.generateUUID)();
24
+ const historyEntry = history.add(id, startClocks.relative);
25
+ const existing = keyedEvents.get(key);
26
+ if (existing) cleanUpEvent(existing);
27
+ const trackedEventData = {
28
+ id,
29
+ key,
30
+ startClocks,
31
+ data,
32
+ historyEntry,
33
+ eventCounts: options?.isChildEvent ? require_trackEventCounts.trackEventCounts({
34
+ lifeCycle,
35
+ isChildEvent: options.isChildEvent(id)
36
+ }) : void 0
37
+ };
38
+ keyedEvents.set(key, trackedEventData);
39
+ return trackedEventData;
40
+ }
41
+ function stop(key, stopClocks, extraData) {
42
+ const event = keyedEvents.get(key);
43
+ if (!event) return;
44
+ const finalData = extraData ? (0, _kubesense_kubesense_js_core_util.combine)(event.data, extraData) : event.data;
45
+ event.historyEntry.close(stopClocks.relative);
46
+ const duration = (0, _kubesense_kubesense_js_core_time.elapsed)(event.startClocks.timeStamp, stopClocks.timeStamp);
47
+ const counts = event.eventCounts?.eventCounts;
48
+ cleanUpEvent(event);
49
+ return {
50
+ ...finalData,
51
+ id: event.id,
52
+ startClocks: event.startClocks,
53
+ duration,
54
+ counts
55
+ };
56
+ }
57
+ function discard(key) {
58
+ const event = keyedEvents.get(key);
59
+ if (!event) return;
60
+ const counts = event.eventCounts?.eventCounts;
61
+ cleanUpEvent(event);
62
+ event.historyEntry.remove();
63
+ return {
64
+ ...event.data,
65
+ id: event.id,
66
+ startClocks: event.startClocks,
67
+ counts
68
+ };
69
+ }
70
+ function findId(startTime) {
71
+ return history.findAll(startTime);
72
+ }
73
+ function getCounts(key) {
74
+ return keyedEvents.get(key)?.eventCounts?.eventCounts;
75
+ }
76
+ function stopTracker() {
77
+ sessionRenewalSubscription.unsubscribe();
78
+ discardAll();
79
+ history.stop();
80
+ }
81
+ return {
82
+ start,
83
+ stop,
84
+ discard,
85
+ getCounts,
86
+ findId,
87
+ stopAll: stopTracker
88
+ };
89
+ }
90
+ //#endregion
91
+ exports.EVENT_CONTEXT_TIME_OUT_DELAY = EVENT_CONTEXT_TIME_OUT_DELAY;
92
+ exports.startEventTracker = startEventTracker;
93
+
94
+ //# sourceMappingURL=eventTracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventTracker.js","names":["ONE_MINUTE","createValueHistory","generateUUID","trackEventCounts","combine","elapsed"],"sources":["../../src/domain/eventTracker.ts"],"sourcesContent":["import type { ClocksState, RelativeTime, Duration } from '@kubesense/kubesense-js-core/time'\nimport type { ValueHistoryEntry } from '@kubesense/kubesense-browser-core'\nimport { ONE_MINUTE, elapsed } from '@kubesense/kubesense-js-core/time'\nimport { generateUUID, createValueHistory } from '@kubesense/kubesense-browser-core'\nimport { combine } from '@kubesense/kubesense-js-core/util'\nimport type { RumActionEvent, RumErrorEvent, RumLongTaskEvent, RumResourceEvent } from '../rumEvent.types'\nimport { LifeCycleEventType } from './lifeCycle'\nimport type { LifeCycle } from './lifeCycle'\nimport type { EventCounts } from './trackEventCounts'\nimport { trackEventCounts } from './trackEventCounts'\n\nexport const EVENT_CONTEXT_TIME_OUT_DELAY = 5 * ONE_MINUTE // arbitrary\n\ntype BaseTrackedEvent<TData = object> = TData & {\n id: string\n startClocks: ClocksState\n counts?: EventCounts\n}\n\nexport type StoppedEvent<TData> = BaseTrackedEvent<TData> & {\n duration: Duration\n}\n\nexport type DiscardedEvent<TData> = BaseTrackedEvent<TData>\n\nexport interface StartOptions {\n isChildEvent?: (\n id: string\n ) => (event: RumActionEvent | RumErrorEvent | RumLongTaskEvent | RumResourceEvent) => boolean\n}\n\nexport interface EventTracker<TData> {\n start: (key: string, startClocks: ClocksState, data: TData, options?: StartOptions) => TrackedEventData<TData>\n stop: (key: string, stopClocks: ClocksState, data?: Partial<TData>) => StoppedEvent<TData> | undefined\n discard: (key: string) => DiscardedEvent<TData> | undefined\n getCounts: (key: string) => EventCounts | undefined\n findId: (startTime?: RelativeTime) => string[]\n stopAll: () => void\n}\n\nexport interface TrackedEventData<TData> {\n id: string\n key: string\n startClocks: ClocksState\n data: TData\n historyEntry: ValueHistoryEntry<string>\n eventCounts?: ReturnType<typeof trackEventCounts>\n}\n\nexport function startEventTracker<TData>(lifeCycle: LifeCycle): EventTracker<TData> {\n // Used by actions to associate events with actions.\n const history = createValueHistory<string>({ expireDelay: EVENT_CONTEXT_TIME_OUT_DELAY })\n // Used by manual actions and resources that use named keys to match the start and stop calls.\n const keyedEvents = new Map<string, TrackedEventData<TData>>()\n\n function cleanUpEvent(event: TrackedEventData<TData>) {\n keyedEvents.delete(event.key)\n\n event.eventCounts?.stop()\n }\n\n function discardAll() {\n keyedEvents.forEach((event) => {\n cleanUpEvent(event)\n })\n\n history.reset()\n }\n\n const sessionRenewalSubscription = lifeCycle.subscribe(LifeCycleEventType.SESSION_RENEWED, discardAll)\n\n function start(key: string, startClocks: ClocksState, data: TData, options?: StartOptions): TrackedEventData<TData> {\n const id = generateUUID()\n\n const historyEntry = history.add(id, startClocks.relative)\n\n const existing = keyedEvents.get(key)\n if (existing) {\n cleanUpEvent(existing)\n }\n\n const eventCounts = options?.isChildEvent\n ? trackEventCounts({\n lifeCycle,\n isChildEvent: options.isChildEvent(id),\n })\n : undefined\n\n const trackedEventData: TrackedEventData<TData> = {\n id,\n key,\n startClocks,\n data,\n historyEntry,\n eventCounts,\n }\n\n keyedEvents.set(key, trackedEventData)\n return trackedEventData\n }\n\n function stop(key: string, stopClocks: ClocksState, extraData?: Partial<TData>): StoppedEvent<TData> | undefined {\n const event = keyedEvents.get(key)\n if (!event) {\n return undefined\n }\n\n const finalData = extraData ? (combine(event.data, extraData) as TData) : event.data\n\n event.historyEntry.close(stopClocks.relative)\n\n const duration = elapsed(event.startClocks.timeStamp, stopClocks.timeStamp)\n\n const counts = event.eventCounts?.eventCounts\n\n cleanUpEvent(event)\n\n return {\n ...finalData,\n id: event.id,\n startClocks: event.startClocks,\n duration,\n counts,\n }\n }\n\n function discard(key: string): DiscardedEvent<TData> | undefined {\n const event = keyedEvents.get(key)\n if (!event) {\n return undefined\n }\n\n const counts = event.eventCounts?.eventCounts\n\n cleanUpEvent(event)\n\n event.historyEntry.remove()\n\n return {\n ...event.data,\n id: event.id,\n startClocks: event.startClocks,\n counts,\n }\n }\n\n function findId(startTime?: RelativeTime): string[] {\n return history.findAll(startTime)\n }\n\n function getCounts(key: string): EventCounts | undefined {\n return keyedEvents.get(key)?.eventCounts?.eventCounts\n }\n\n function stopTracker() {\n sessionRenewalSubscription.unsubscribe()\n discardAll()\n history.stop()\n }\n\n return {\n start,\n stop,\n discard,\n getCounts,\n findId,\n stopAll: stopTracker,\n }\n}\n"],"mappings":";;;;;;AAWA,MAAa,+BAA+B,IAAIA,kCAAAA;AAsChD,SAAgB,kBAAyB,WAA2C;CAElF,MAAM,WAAA,GAAUC,kCAAAA,mBAAAA,CAA2B,EAAE,aAAa,6BAA6B,CAAC;CAExF,MAAM,8BAAc,IAAI,IAAqC;CAE7D,SAAS,aAAa,OAAgC;EACpD,YAAY,OAAO,MAAM,GAAG;EAE5B,MAAM,aAAa,KAAK;CAC1B;CAEA,SAAS,aAAa;EACpB,YAAY,SAAS,UAAU;GAC7B,aAAa,KAAK;EACpB,CAAC;EAED,QAAQ,MAAM;CAChB;CAEA,MAAM,6BAA6B,UAAU,UAAA,IAA8C,UAAU;CAErG,SAAS,MAAM,KAAa,aAA0B,MAAa,SAAiD;EAClH,MAAM,MAAA,GAAKC,kCAAAA,aAAAA,CAAa;EAExB,MAAM,eAAe,QAAQ,IAAI,IAAI,YAAY,QAAQ;EAEzD,MAAM,WAAW,YAAY,IAAI,GAAG;EACpC,IAAI,UACF,aAAa,QAAQ;EAUvB,MAAM,mBAA4C;GAChD;GACA;GACA;GACA;GACA;GACA,aAbkB,SAAS,eACzBC,yBAAAA,iBAAiB;IACf;IACA,cAAc,QAAQ,aAAa,EAAE;GACvC,CAAC,IACD,KAAA;EASJ;EAEA,YAAY,IAAI,KAAK,gBAAgB;EACrC,OAAO;CACT;CAEA,SAAS,KAAK,KAAa,YAAyB,WAA6D;EAC/G,MAAM,QAAQ,YAAY,IAAI,GAAG;EACjC,IAAI,CAAC,OACH;EAGF,MAAM,YAAY,aAAA,GAAaC,kCAAAA,QAAAA,CAAQ,MAAM,MAAM,SAAS,IAAc,MAAM;EAEhF,MAAM,aAAa,MAAM,WAAW,QAAQ;EAE5C,MAAM,YAAA,GAAWC,kCAAAA,QAAAA,CAAQ,MAAM,YAAY,WAAW,WAAW,SAAS;EAE1E,MAAM,SAAS,MAAM,aAAa;EAElC,aAAa,KAAK;EAElB,OAAO;GACL,GAAG;GACH,IAAI,MAAM;GACV,aAAa,MAAM;GACnB;GACA;EACF;CACF;CAEA,SAAS,QAAQ,KAAgD;EAC/D,MAAM,QAAQ,YAAY,IAAI,GAAG;EACjC,IAAI,CAAC,OACH;EAGF,MAAM,SAAS,MAAM,aAAa;EAElC,aAAa,KAAK;EAElB,MAAM,aAAa,OAAO;EAE1B,OAAO;GACL,GAAG,MAAM;GACT,IAAI,MAAM;GACV,aAAa,MAAM;GACnB;EACF;CACF;CAEA,SAAS,OAAO,WAAoC;EAClD,OAAO,QAAQ,QAAQ,SAAS;CAClC;CAEA,SAAS,UAAU,KAAsC;EACvD,OAAO,YAAY,IAAI,GAAG,CAAC,EAAE,aAAa;CAC5C;CAEA,SAAS,cAAc;EACrB,2BAA2B,YAAY;EACvC,WAAW;EACX,QAAQ,KAAK;CACf;CAEA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA,SAAS;CACX;AACF"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Executes a RegExp against a string and returns the first capture group, or the full match if
3
+ * there is no capture group. Returns undefined when the pattern does not match.
4
+ */
5
+ export declare function extractRegexMatch(candidate: string, extractor: RegExp): string | undefined;
@@ -0,0 +1,16 @@
1
+ //#region src/domain/extractRegexMatch.ts
2
+ /**
3
+ * Executes a RegExp against a string and returns the first capture group, or the full match if
4
+ * there is no capture group. Returns undefined when the pattern does not match.
5
+ */
6
+ function extractRegexMatch(candidate, extractor) {
7
+ extractor.lastIndex = 0;
8
+ const regexResult = extractor.exec(candidate);
9
+ if (!regexResult) return;
10
+ const [match, capture] = regexResult;
11
+ return capture ? capture : match;
12
+ }
13
+ //#endregion
14
+ exports.extractRegexMatch = extractRegexMatch;
15
+
16
+ //# sourceMappingURL=extractRegexMatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractRegexMatch.js","names":[],"sources":["../../src/domain/extractRegexMatch.ts"],"sourcesContent":["/**\n * Executes a RegExp against a string and returns the first capture group, or the full match if\n * there is no capture group. Returns undefined when the pattern does not match.\n */\nexport function extractRegexMatch(candidate: string, extractor: RegExp): string | undefined {\n // Prevent stateful matching when the RegExp has the global or sticky flag\n extractor.lastIndex = 0\n\n const regexResult = extractor.exec(candidate)\n if (!regexResult) {\n return undefined\n }\n const [match, capture] = regexResult\n return capture ? capture : match\n}\n"],"mappings":";;;;;AAIA,SAAgB,kBAAkB,WAAmB,WAAuC;CAE1F,UAAU,YAAY;CAEtB,MAAM,cAAc,UAAU,KAAK,SAAS;CAC5C,IAAI,CAAC,aACH;CAEF,MAAM,CAAC,OAAO,WAAW;CACzB,OAAO,UAAU,UAAU;AAC7B"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * arbitrary value, we want to truncate the selector if it exceeds the limit
3
+ */
4
+ export declare const CHARACTER_LIMIT: number;
5
+ /**
6
+ * Safe attributes that can be collected without PII concerns.
7
+ * These are commonly used for testing, accessibility, and UI identification.
8
+ */
9
+ export declare const SAFE_ATTRIBUTES: string[];
10
+ /**
11
+ * Extracts a selector string from a MouseEvent composedPath.
12
+ *
13
+ * This function:
14
+ * 1. Filters out non-Element items (Document, Window, ShadowRoot)
15
+ * 2. Extracts a selector string from each element
16
+ * 3. Truncates the selector string if it exceeds the character limit
17
+ * 4. Returns the selector string
18
+ *
19
+ * @param composedPath - The composedPath from a MouseEvent
20
+ * @returns A selector string
21
+ */
22
+ export declare function getComposedPathSelector(composedPath: EventTarget[], actionNameAttribute: string | undefined): string;
@@ -0,0 +1,95 @@
1
+ const require_getSelectorFromElement = require("./getSelectorFromElement.js");
2
+ let _kubesense_kubesense_browser_core = require("@kubesense/kubesense-browser-core");
3
+ //#region src/domain/getComposedPathSelector.ts
4
+ const FILTERED_TAGNAMES = ["HTML", "BODY"];
5
+ /**
6
+ * arbitrary value, we want to truncate the selector if it exceeds the limit
7
+ */
8
+ const CHARACTER_LIMIT = 2 * _kubesense_kubesense_browser_core.ONE_KIBI_BYTE;
9
+ /**
10
+ * Safe attributes that can be collected without PII concerns.
11
+ * These are commonly used for testing, accessibility, and UI identification.
12
+ */
13
+ const SAFE_ATTRIBUTES = require_getSelectorFromElement.STABLE_ATTRIBUTES.concat([
14
+ "role",
15
+ "type",
16
+ "disabled",
17
+ "readonly",
18
+ "tabindex",
19
+ "draggable",
20
+ "target",
21
+ "rel",
22
+ "download",
23
+ "method",
24
+ "action",
25
+ "enctype",
26
+ "autocomplete"
27
+ ]);
28
+ /**
29
+ * Extracts a selector string from a MouseEvent composedPath.
30
+ *
31
+ * This function:
32
+ * 1. Filters out non-Element items (Document, Window, ShadowRoot)
33
+ * 2. Extracts a selector string from each element
34
+ * 3. Truncates the selector string if it exceeds the character limit
35
+ * 4. Returns the selector string
36
+ *
37
+ * @param composedPath - The composedPath from a MouseEvent
38
+ * @returns A selector string
39
+ */
40
+ function getComposedPathSelector(composedPath, actionNameAttribute) {
41
+ const elements = composedPath.filter((el) => el instanceof Element && !FILTERED_TAGNAMES.includes(el.tagName));
42
+ if (elements.length === 0) return "";
43
+ const allowedAttributes = actionNameAttribute ? [actionNameAttribute].concat(SAFE_ATTRIBUTES) : SAFE_ATTRIBUTES;
44
+ let result = "";
45
+ for (const element of elements) {
46
+ const part = getSelectorStringFromElement(element, allowedAttributes);
47
+ result += part;
48
+ if (result.length >= CHARACTER_LIMIT) return (0, _kubesense_kubesense_browser_core.safeTruncate)(result, CHARACTER_LIMIT);
49
+ }
50
+ return result;
51
+ }
52
+ /**
53
+ * Extracts a selector string from an element.
54
+ */
55
+ function getSelectorStringFromElement(element, allowedAttributes) {
56
+ const tagName = require_getSelectorFromElement.getTagNameSelector(element);
57
+ const id = require_getSelectorFromElement.getIDSelector(element);
58
+ const classes = getElementClassesString(element);
59
+ const attributes = extractSafeAttributesString(element, allowedAttributes);
60
+ const positionData = computePositionDataString(element);
61
+ return `${tagName}${id || ""}${attributes}${classes}${positionData};`;
62
+ }
63
+ function getElementClassesString(element) {
64
+ return Array.from(element.classList).filter((c) => !require_getSelectorFromElement.isGeneratedValue(c)).sort().map((c) => `.${CSS.escape(c)}`).join("");
65
+ }
66
+ /**
67
+ * Computes the nthChild and nthOfType positions for an element.
68
+ *
69
+ * @param element - The element to compute the position data for
70
+ * @returns A string of the form ":nth-child(1):nth-of-type(1)"
71
+ */
72
+ function computePositionDataString(element) {
73
+ const siblings = Array.from(element.parentNode.children);
74
+ if (siblings.length <= 1) return "";
75
+ const sameTypeSiblings = siblings.filter((sibling) => sibling.tagName === element.tagName);
76
+ const nthChild = siblings.indexOf(element);
77
+ const nthOfType = require_getSelectorFromElement.getNthOfTypeSelector(element);
78
+ return `:nth-child(${nthChild + 1})${sameTypeSiblings.length > 1 ? `:nth-of-type(${nthOfType})` : ""}`;
79
+ }
80
+ /**
81
+ * Extracts only the safe (allowlisted) attributes from an element.
82
+ * The attributes are sorted alphabetically by name.
83
+ */
84
+ function extractSafeAttributesString(element, allowedAttributes) {
85
+ const result = [];
86
+ const attributes = Array.from(element.attributes);
87
+ for (const attribute of attributes) if (allowedAttributes.includes(attribute.name)) result.push(require_getSelectorFromElement.getAttributeValueSelector(attribute.name, attribute.value));
88
+ return result.sort().join("");
89
+ }
90
+ //#endregion
91
+ exports.CHARACTER_LIMIT = CHARACTER_LIMIT;
92
+ exports.SAFE_ATTRIBUTES = SAFE_ATTRIBUTES;
93
+ exports.getComposedPathSelector = getComposedPathSelector;
94
+
95
+ //# sourceMappingURL=getComposedPathSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getComposedPathSelector.js","names":["ONE_KIBI_BYTE","STABLE_ATTRIBUTES","safeTruncate","getTagNameSelector","getIDSelector","isGeneratedValue","getNthOfTypeSelector","getAttributeValueSelector"],"sources":["../../src/domain/getComposedPathSelector.ts"],"sourcesContent":["import { safeTruncate, ONE_KIBI_BYTE } from '@kubesense/kubesense-browser-core'\nimport type { MatchOption } from '@kubesense/kubesense-browser-core'\nimport {\n STABLE_ATTRIBUTES,\n isGeneratedValue,\n getIDSelector,\n getTagNameSelector,\n getNthOfTypeSelector,\n getAttributeValueSelector,\n} from './getSelectorFromElement'\n\nconst FILTERED_TAGNAMES = ['HTML', 'BODY']\n\n/**\n * arbitrary value, we want to truncate the selector if it exceeds the limit\n */\nexport const CHARACTER_LIMIT = 2 * ONE_KIBI_BYTE\n\n/**\n * Safe attributes that can be collected without PII concerns.\n * These are commonly used for testing, accessibility, and UI identification.\n */\nexport const SAFE_ATTRIBUTES = STABLE_ATTRIBUTES.concat([\n 'role',\n 'type',\n 'disabled',\n 'readonly',\n 'tabindex',\n 'draggable',\n 'target',\n 'rel',\n 'download',\n 'method',\n 'action',\n 'enctype',\n 'autocomplete',\n])\n\n/**\n * Extracts a selector string from a MouseEvent composedPath.\n *\n * This function:\n * 1. Filters out non-Element items (Document, Window, ShadowRoot)\n * 2. Extracts a selector string from each element\n * 3. Truncates the selector string if it exceeds the character limit\n * 4. Returns the selector string\n *\n * @param composedPath - The composedPath from a MouseEvent\n * @returns A selector string\n */\nexport function getComposedPathSelector(composedPath: EventTarget[], actionNameAttribute: string | undefined): string {\n // Filter to only include Element nodes\n const elements = composedPath.filter(\n (el): el is Element => el instanceof Element && !FILTERED_TAGNAMES.includes(el.tagName)\n )\n\n if (elements.length === 0) {\n return ''\n }\n\n const allowedAttributes = actionNameAttribute ? [actionNameAttribute].concat(SAFE_ATTRIBUTES) : SAFE_ATTRIBUTES\n\n let result = ''\n for (const element of elements) {\n const part = getSelectorStringFromElement(element, allowedAttributes)\n result += part\n if (result.length >= CHARACTER_LIMIT) {\n return safeTruncate(result, CHARACTER_LIMIT)\n }\n }\n return result\n}\n\n/**\n * Extracts a selector string from an element.\n */\nfunction getSelectorStringFromElement(element: Element, allowedAttributes: MatchOption[]): string {\n const tagName = getTagNameSelector(element)\n const id = getIDSelector(element)\n const classes = getElementClassesString(element)\n const attributes = extractSafeAttributesString(element, allowedAttributes)\n const positionData = computePositionDataString(element)\n\n return `${tagName}${id || ''}${attributes}${classes}${positionData};`\n}\n\nfunction getElementClassesString(element: Element): string {\n return Array.from(element.classList)\n .filter((c) => !isGeneratedValue(c))\n .sort()\n .map((c) => `.${CSS.escape(c)}`)\n .join('')\n}\n\n/**\n * Computes the nthChild and nthOfType positions for an element.\n *\n * @param element - The element to compute the position data for\n * @returns A string of the form \":nth-child(1):nth-of-type(1)\"\n */\nfunction computePositionDataString(element: Element): string {\n const siblings = Array.from(element.parentNode!.children)\n\n if (siblings.length <= 1) {\n return ''\n }\n\n const sameTypeSiblings = siblings.filter((sibling) => sibling.tagName === element.tagName)\n\n const nthChild = siblings.indexOf(element)\n\n const nthOfType = getNthOfTypeSelector(element)\n\n return `:nth-child(${nthChild + 1})${sameTypeSiblings.length > 1 ? `:nth-of-type(${nthOfType})` : ''}`\n}\n\n/**\n * Extracts only the safe (allowlisted) attributes from an element.\n * The attributes are sorted alphabetically by name.\n */\nfunction extractSafeAttributesString(element: Element, allowedAttributes: MatchOption[]): string {\n const result: string[] = []\n const attributes = Array.from(element.attributes)\n for (const attribute of attributes) {\n if (allowedAttributes.includes(attribute.name)) {\n result.push(getAttributeValueSelector(attribute.name, attribute.value))\n }\n }\n return result.sort().join('')\n}\n"],"mappings":";;;AAWA,MAAM,oBAAoB,CAAC,QAAQ,MAAM;;;;AAKzC,MAAa,kBAAkB,IAAIA,kCAAAA;;;;;AAMnC,MAAa,kBAAkBC,+BAAAA,kBAAkB,OAAO;CACtD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;;;;;;;;;;;;;AAcD,SAAgB,wBAAwB,cAA6B,qBAAiD;CAEpH,MAAM,WAAW,aAAa,QAC3B,OAAsB,cAAc,WAAW,CAAC,kBAAkB,SAAS,GAAG,OAAO,CACxF;CAEA,IAAI,SAAS,WAAW,GACtB,OAAO;CAGT,MAAM,oBAAoB,sBAAsB,CAAC,mBAAmB,CAAC,CAAC,OAAO,eAAe,IAAI;CAEhG,IAAI,SAAS;CACb,KAAK,MAAM,WAAW,UAAU;EAC9B,MAAM,OAAO,6BAA6B,SAAS,iBAAiB;EACpE,UAAU;EACV,IAAI,OAAO,UAAU,iBACnB,QAAA,GAAOC,kCAAAA,aAAAA,CAAa,QAAQ,eAAe;CAE/C;CACA,OAAO;AACT;;;;AAKA,SAAS,6BAA6B,SAAkB,mBAA0C;CAChG,MAAM,UAAUC,+BAAAA,mBAAmB,OAAO;CAC1C,MAAM,KAAKC,+BAAAA,cAAc,OAAO;CAChC,MAAM,UAAU,wBAAwB,OAAO;CAC/C,MAAM,aAAa,4BAA4B,SAAS,iBAAiB;CACzE,MAAM,eAAe,0BAA0B,OAAO;CAEtD,OAAO,GAAG,UAAU,MAAM,KAAK,aAAa,UAAU,aAAa;AACrE;AAEA,SAAS,wBAAwB,SAA0B;CACzD,OAAO,MAAM,KAAK,QAAQ,SAAS,CAAC,CACjC,QAAQ,MAAM,CAACC,+BAAAA,iBAAiB,CAAC,CAAC,CAAC,CACnC,KAAK,CAAC,CACN,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,CAC/B,KAAK,EAAE;AACZ;;;;;;;AAQA,SAAS,0BAA0B,SAA0B;CAC3D,MAAM,WAAW,MAAM,KAAK,QAAQ,WAAY,QAAQ;CAExD,IAAI,SAAS,UAAU,GACrB,OAAO;CAGT,MAAM,mBAAmB,SAAS,QAAQ,YAAY,QAAQ,YAAY,QAAQ,OAAO;CAEzF,MAAM,WAAW,SAAS,QAAQ,OAAO;CAEzC,MAAM,YAAYC,+BAAAA,qBAAqB,OAAO;CAE9C,OAAO,cAAc,WAAW,EAAE,GAAG,iBAAiB,SAAS,IAAI,gBAAgB,UAAU,KAAK;AACpG;;;;;AAMA,SAAS,4BAA4B,SAAkB,mBAA0C;CAC/F,MAAM,SAAmB,CAAC;CAC1B,MAAM,aAAa,MAAM,KAAK,QAAQ,UAAU;CAChD,KAAK,MAAM,aAAa,YACtB,IAAI,kBAAkB,SAAS,UAAU,IAAI,GAC3C,OAAO,KAAKC,+BAAAA,0BAA0B,UAAU,MAAM,UAAU,KAAK,CAAC;CAG1E,OAAO,OAAO,KAAK,CAAC,CAAC,KAAK,EAAE;AAC9B"}
@@ -1,3 +1,11 @@
1
+ /**
2
+ * Marker used to indicate shadow DOM boundaries in selectors.
3
+ * Named after the deprecated Shadow DOM v0 '::shadow' pseudo-element which served the same
4
+ * purpose of marking entry into a shadow root.
5
+ * Note: This is NOT a valid CSS selector, it's an internal marker that requires custom
6
+ * parsing logic.
7
+ */
8
+ export declare const SHADOW_DOM_MARKER = "::shadow ";
1
9
  /**
2
10
  * Stable attributes are attributes that are commonly used to identify parts of a UI (ex:
3
11
  * component). Those attribute values should not be generated randomly (hardcoded most of the time)
@@ -5,17 +13,21 @@
5
13
  */
6
14
  export declare const STABLE_ATTRIBUTES: string[];
7
15
  export declare function getSelectorFromElement(targetElement: Element, actionNameAttribute: string | undefined): string | undefined;
16
+ export declare function isGeneratedValue(value: string): boolean;
17
+ export declare function getIDSelector(element: Element): string | undefined;
18
+ export declare function getTagNameSelector(element: Element): string;
19
+ export declare function getAttributeValueSelector(attributeName: string, attributeValue: string): string;
20
+ export declare function getNthOfTypeSelector(element: Element): number;
8
21
  /**
9
22
  * Check whether the selector is unique among the element siblings. In other words, it returns true
10
23
  * if "ELEMENT_PARENT > CHILD_SELECTOR" returns a single element.
11
24
  *
12
- * @param {Element} currentElement - the element being considered while iterating over the target
25
+ * @param currentElement - the element being considered while iterating over the target
13
26
  * element ancestors.
14
- *
15
- * @param {string} currentElementSelector - a selector that matches the current element. That
27
+ * @param _rootNode - the root node (document or shadow root) - unused but required for predicate signature.
28
+ * @param currentElementSelector - a selector that matches the current element. That
16
29
  * selector is not a composed selector (i.e. it might be a single tag name, class name...).
17
- *
18
- * @param {string|undefined} childSelector - child selector is a selector that targets a descendant
30
+ * @param childSelector - child selector is a selector that targets a descendant
19
31
  * of the current element. When undefined, the current element is the target element.
20
32
  *
21
33
  * # Scope selector usage
@@ -61,4 +73,4 @@ export declare function getSelectorFromElement(targetElement: Element, actionNam
61
73
  * selector within a sibling, we know that it's not unique. This allows us to use `querySelector`
62
74
  * (or `matches`, when the current element is the target element) instead of `querySelectorAll`.
63
75
  */
64
- export declare function isSelectorUniqueAmongSiblings(currentElement: Element, currentElementSelector: string, childSelector: string | undefined): boolean;
76
+ export declare function isSelectorUniqueAmongSiblings(currentElement: Element, _rootNode: Document | ShadowRoot, currentElementSelector: string, childSelector: string | undefined): boolean;