@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 +1 @@
1
- {"version":3,"file":"performanceObservable.js","sourceRoot":"","sources":["../../src/browser/performanceObservable.ts"],"names":[],"mappings":";;;AA8MA,kEAiFC;AAmBD,sEAMC;AAvTD,8EAAmH;AAEnH,oEAAqG;AACrG,6DAA+D;AAa/D,oGAAoG;AACpG,0CAA0C;AAC1C,gDAAgD;AAChD,IAAY,uBAWX;AAXD,WAAY,uBAAuB;IACjC,0CAAe,CAAA;IACf,sDAA2B,CAAA;IAC3B,gFAAqD,CAAA;IACrD,wDAA6B,CAAA;IAC7B,iDAAsB,CAAA;IACtB,wEAA6C,CAAA;IAC7C,oDAAyB,CAAA;IACzB,0CAAe,CAAA;IACf,gDAAqB,CAAA;IACrB,gEAAqC,CAAA;AACvC,CAAC,EAXW,uBAAuB,uCAAvB,uBAAuB,QAWlC;AA+KD,SAAgB,2BAA2B,CACzC,aAA+B,EAC/B,OAAoE;IAEpE,OAAO,IAAI,mCAAU,CAAkC,CAAC,UAAU,EAAE,EAAE;QACpE,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;YAChC,OAAM;QACR,CAAC;QAED,MAAM,wBAAwB,GAAG,CAAC,OAA6B,EAAE,EAAE;YACjE,MAAM,qBAAqB,GAAG,2BAA2B,CAAC,OAA0C,CAAC,CAAA;YACrG,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrC,UAAU,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC,CAAA;QAED,IAAI,SAAgC,CAAA;QACpC,IAAI,sBAAsB,GAAG,IAAI,CAAA;QACjC,MAAM,QAAQ,GAAG,IAAI,mBAAmB,CACtC,IAAA,gCAAO,EAAC,CAAC,OAAO,EAAE,EAAE;YAClB,8DAA8D;YAC9D,mJAAmJ;YACnJ,IAAI,sBAAsB,EAAE,CAAC;gBAC3B,SAAS,GAAG,IAAA,mCAAU,EAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;YAC9E,CAAC;iBAAM,CAAC;gBACN,wBAAwB,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA;YAChD,CAAC;QACH,CAAC,CAAC,CACH,CAAA;QACD,IAAI,CAAC;YACH,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC3B,CAAC;QAAC,WAAM,CAAC;YACP,4GAA4G;YAC5G,uFAAuF;YACvF,uDAAuD;YACvD,MAAM,2BAA2B,GAAG;gBAClC,uBAAuB,CAAC,QAAQ;gBAChC,uBAAuB,CAAC,UAAU;gBAClC,uBAAuB,CAAC,SAAS;gBACjC,uBAAuB,CAAC,KAAK;aAC9B,CAAA;YACD,IAAI,2BAA2B,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACrB,SAAS,GAAG,IAAA,mCAAU,EAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACpG,CAAC;gBACD,IAAI,CAAC;oBACH,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAClD,CAAC;gBAAC,WAAM,CAAC;oBACP,oFAAoF;oBACpF,sDAAsD;oBACtD,EAAE;oBACF,4EAA4E;oBAC5E,wFAAwF;oBACxF,uFAAuF;oBACvF,0CAA0C;oBAC1C,OAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QACD,sBAAsB,GAAG,KAAK,CAAA;QAE9B,8BAA8B,CAAC,aAAa,CAAC,CAAA;QAE7C,IAAI,oBAA8C,CAAA;QAClD,IACE,CAAC,6BAA6B,CAAC,uBAAuB,CAAC,WAAW,CAAC;YACnE,OAAO,CAAC,IAAI,KAAK,uBAAuB,CAAC,WAAW,EACpD,CAAC;YACD,CAAC;YAAA,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,GAAG,IAAA,6CAAwB,EAAC,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE;gBACpF,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;YACpC,CAAC,CAAC,CAAC,CAAA;QACL,CAAC;QAED,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,UAAU,EAAE,CAAA;YACrB,IAAI,oBAAoB,EAAE,CAAC;gBACzB,oBAAoB,EAAE,CAAA;YACxB,CAAC;YACD,IAAA,qCAAY,EAAC,SAAS,CAAC,CAAA;QACzB,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,IAAI,gCAAsD,CAAA;AAC1D,SAAS,8BAA8B,CAAC,aAA+B;IACrE,IAAI,CAAC,gCAAgC,IAAI,wBAAwB,EAAE,IAAI,kBAAkB,IAAI,WAAW,EAAE,CAAC;QACzG,uDAAuD;QACvD,gCAAgC,GAAG,IAAA,yCAAgB,EAAC,aAAa,EAAE,WAAW,EAAE,0BAA0B,EAAE,GAAG,EAAE;YAC/G,WAAW,CAAC,oBAAoB,EAAE,CAAA;QACpC,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,GAAG,EAAE;QACV,gCAAgC,aAAhC,gCAAgC,uBAAhC,gCAAgC,CAAE,IAAI,EAAE,CAAA;IAC1C,CAAC,CAAA;AACH,CAAC;AAED,SAAS,wBAAwB;IAC/B,OAAO,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,YAAY,IAAI,WAAW,CAAA;AACxE,CAAC;AAED,SAAgB,6BAA6B,CAAC,SAAkC;IAC9E,OAAO,CACL,MAAM,CAAC,mBAAmB;QAC1B,mBAAmB,CAAC,mBAAmB,KAAK,SAAS;QACrD,mBAAmB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAC5D,CAAA;AACH,CAAC;AAED,SAAS,2BAA2B,CAAoC,OAAwC;IAC9G,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAA;AAC/D,CAAC;AAED,SAAS,mBAAmB,CAAC,KAA0B;IACrD,OAAO,CACL,KAAK,CAAC,SAAS,KAAK,uBAAuB,CAAC,QAAQ;QACpD,CAAC,CAAC,IAAA,mCAAmB,EAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAA,6CAA6B,EAAC,KAAK,CAAC,CAAC,CAC5E,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"performanceObservable.js","names":["Observable","monitor","setTimeout","addEventListener","isAllowedRequestUrl","hasValidResourceEntryDuration"],"sources":["../../src/browser/performanceObservable.ts"],"sourcesContent":["import type { RelativeTime, Duration } from '@kubesense/kubesense-js-core/time'\nimport type { TimeoutId } from '@kubesense/kubesense-browser-core'\nimport { monitor } from '@kubesense/kubesense-js-core/monitor'\nimport { addEventListener, Observable, setTimeout, clearTimeout } from '@kubesense/kubesense-browser-core'\nimport { hasValidResourceEntryDuration, isAllowedRequestUrl } from '../domain/resource/resourceUtils'\n\ntype RumPerformanceObserverConstructor = new (callback: PerformanceObserverCallback) => RumPerformanceObserver\n\nexport interface BrowserWindow extends Window {\n PerformanceObserver: RumPerformanceObserverConstructor\n performance: Performance & { interactionCount?: number }\n}\n\nexport interface RumPerformanceObserver extends PerformanceObserver {\n observe(options?: PerformanceObserverInit & { durationThreshold?: number }): void\n}\n\n// We want to use a real enum (i.e. not a const enum) here, to be able to check whether an arbitrary\n// string is an expected performance entry\n// eslint-disable-next-line no-restricted-syntax\nexport enum RumPerformanceEntryType {\n EVENT = 'event',\n FIRST_INPUT = 'first-input',\n LARGEST_CONTENTFUL_PAINT = 'largest-contentful-paint',\n LAYOUT_SHIFT = 'layout-shift',\n LONG_TASK = 'longtask',\n LONG_ANIMATION_FRAME = 'long-animation-frame',\n NAVIGATION = 'navigation',\n PAINT = 'paint',\n RESOURCE = 'resource',\n VISIBILITY_STATE = 'visibility-state',\n}\n\nexport interface RumPerformanceLongTaskTiming {\n name: string\n entryType: RumPerformanceEntryType.LONG_TASK\n startTime: RelativeTime\n duration: Duration\n toJSON(): Omit<PerformanceEntry, 'toJSON'>\n}\n\nexport interface RumPerformanceResourceTiming {\n entryType: RumPerformanceEntryType.RESOURCE\n initiatorType: string\n responseStatus?: number\n name: string\n startTime: RelativeTime\n duration: Duration\n fetchStart: RelativeTime\n workerStart: RelativeTime\n domainLookupStart: RelativeTime\n domainLookupEnd: RelativeTime\n connectStart: RelativeTime\n secureConnectionStart: RelativeTime\n connectEnd: RelativeTime\n requestStart: RelativeTime\n responseStart: RelativeTime\n responseEnd: RelativeTime\n redirectStart: RelativeTime\n redirectEnd: RelativeTime\n decodedBodySize?: number\n encodedBodySize?: number\n transferSize?: number\n nextHopProtocol?: string\n renderBlockingStatus?: string\n deliveryType?: 'cache' | 'navigational-prefetch' | ''\n contentType?: string\n toJSON(): Omit<PerformanceEntry, 'toJSON'>\n}\n\nexport interface RumPerformancePaintTiming {\n entryType: RumPerformanceEntryType.PAINT\n name: 'first-paint' | 'first-contentful-paint'\n startTime: RelativeTime\n toJSON(): Omit<RumPerformancePaintTiming, 'toJSON'>\n}\n\nexport interface RumPerformanceNavigationTiming extends Omit<RumPerformanceResourceTiming, 'entryType'> {\n entryType: RumPerformanceEntryType.NAVIGATION\n initiatorType: 'navigation'\n name: string\n\n domComplete: RelativeTime\n domContentLoadedEventEnd: RelativeTime\n domInteractive: RelativeTime\n loadEventEnd: RelativeTime\n\n toJSON(): Omit<RumPerformanceNavigationTiming, 'toJSON'>\n}\n\nexport interface RumLargestContentfulPaintTiming {\n entryType: RumPerformanceEntryType.LARGEST_CONTENTFUL_PAINT\n startTime: RelativeTime\n size: number\n element?: Element\n url?: string\n toJSON(): Omit<RumLargestContentfulPaintTiming, 'toJSON'>\n}\n\nexport interface RumFirstInputTiming {\n entryType: RumPerformanceEntryType.FIRST_INPUT\n startTime: RelativeTime\n processingStart: RelativeTime\n processingEnd: RelativeTime\n duration: Duration\n target?: Node\n interactionId?: number\n toJSON(): Omit<RumFirstInputTiming, 'toJSON'>\n}\n\nexport interface RumPerformanceEventTiming {\n entryType: RumPerformanceEntryType.EVENT\n startTime: RelativeTime\n processingStart: RelativeTime\n processingEnd: RelativeTime\n duration: Duration\n interactionId?: number\n target?: Node\n name: string\n toJSON(): Omit<RumPerformanceEventTiming, 'toJSON'>\n}\n\nexport interface RumLayoutShiftAttribution {\n node: Node | null\n previousRect: DOMRectReadOnly\n currentRect: DOMRectReadOnly\n}\n\nexport interface RumLayoutShiftTiming {\n entryType: RumPerformanceEntryType.LAYOUT_SHIFT\n startTime: RelativeTime\n value: number\n hadRecentInput: boolean\n sources: RumLayoutShiftAttribution[]\n toJSON(): Omit<RumLayoutShiftTiming, 'toJSON'>\n}\n\n// Documentation https://developer.chrome.com/docs/web-platform/long-animation-frames#better-attribution\nexport interface RumPerformanceScriptTiming {\n duration: Duration\n entryType: 'script'\n executionStart: RelativeTime\n forcedStyleAndLayoutDuration: Duration\n invoker: string // e.g. \"https://static.kubesense.ai/static/c/93085/chunk-bc4db53278fd4c77a637.min.js\"\n invokerType:\n 'user-callback' | 'event-listener' | 'resolve-promise' | 'reject-promise' | 'classic-script' | 'module-script'\n name: 'script'\n pauseDuration: Duration\n sourceCharPosition: number\n sourceFunctionName: string\n sourceURL: string\n startTime: RelativeTime\n window: Window\n windowAttribution: string\n}\n\nexport interface RumPerformanceLongAnimationFrameTiming {\n blockingDuration: Duration\n duration: Duration\n entryType: RumPerformanceEntryType.LONG_ANIMATION_FRAME\n firstUIEventTimestamp: RelativeTime\n name: 'long-animation-frame'\n renderStart: RelativeTime\n scripts: RumPerformanceScriptTiming[]\n startTime: RelativeTime\n styleAndLayoutStart: RelativeTime\n toJSON(): Omit<RumPerformanceLongAnimationFrameTiming, 'toJSON'>\n}\n\nexport interface RumFirstHiddenTiming {\n entryType: RumPerformanceEntryType.VISIBILITY_STATE\n name: 'hidden' | 'visible'\n startTime: RelativeTime\n toJSON(): Omit<RumFirstHiddenTiming, 'toJSON'>\n}\n\nexport type RumPerformanceEntry =\n | RumPerformanceResourceTiming\n | RumPerformanceLongTaskTiming\n | RumPerformanceLongAnimationFrameTiming\n | RumPerformancePaintTiming\n | RumPerformanceNavigationTiming\n | RumLargestContentfulPaintTiming\n | RumFirstInputTiming\n | RumPerformanceEventTiming\n | RumLayoutShiftTiming\n | RumFirstHiddenTiming\n\nexport interface EntryTypeToReturnType {\n [RumPerformanceEntryType.EVENT]: RumPerformanceEventTiming\n [RumPerformanceEntryType.FIRST_INPUT]: RumFirstInputTiming\n [RumPerformanceEntryType.LARGEST_CONTENTFUL_PAINT]: RumLargestContentfulPaintTiming\n [RumPerformanceEntryType.LAYOUT_SHIFT]: RumLayoutShiftTiming\n [RumPerformanceEntryType.PAINT]: RumPerformancePaintTiming\n [RumPerformanceEntryType.LONG_TASK]: RumPerformanceLongTaskTiming\n [RumPerformanceEntryType.LONG_ANIMATION_FRAME]: RumPerformanceLongAnimationFrameTiming\n [RumPerformanceEntryType.NAVIGATION]: RumPerformanceNavigationTiming\n [RumPerformanceEntryType.RESOURCE]: RumPerformanceResourceTiming\n [RumPerformanceEntryType.VISIBILITY_STATE]: RumFirstHiddenTiming\n}\n\nexport function createPerformanceObservable<T extends RumPerformanceEntryType>(options: {\n type: T\n buffered?: boolean\n durationThreshold?: number\n}) {\n return new Observable<Array<EntryTypeToReturnType[T]>>((observable) => {\n const handlePerformanceEntries = (entries: PerformanceEntryList) => {\n const rumPerformanceEntries = filterRumPerformanceEntries(entries as Array<EntryTypeToReturnType[T]>)\n if (rumPerformanceEntries.length > 0) {\n observable.notify(rumPerformanceEntries)\n }\n }\n\n let timeoutId: TimeoutId | undefined\n let isObserverInitializing = true\n const observer = new PerformanceObserver(\n monitor((entries) => {\n // In Safari the performance observer callback is synchronous.\n // Because the buffered performance entry list can be quite large we delay the computation to prevent the SDK from blocking the main thread on init\n if (isObserverInitializing) {\n timeoutId = setTimeout(() => handlePerformanceEntries(entries.getEntries()))\n } else {\n handlePerformanceEntries(entries.getEntries())\n }\n })\n )\n observer.observe(options)\n isObserverInitializing = false\n\n manageResourceTimingBufferFull()\n\n return () => {\n observer.disconnect()\n clearTimeout(timeoutId)\n }\n })\n}\n\nlet resourceTimingBufferFullListener: { stop: () => void } | undefined\nfunction manageResourceTimingBufferFull() {\n if (!resourceTimingBufferFullListener && supportPerformanceObject() && 'addEventListener' in performance) {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1559377\n resourceTimingBufferFullListener = addEventListener(performance, 'resourcetimingbufferfull', () => {\n performance.clearResourceTimings()\n })\n }\n}\n\nexport function resetManageResourceTimingBufferFull() {\n if (resourceTimingBufferFullListener) {\n resourceTimingBufferFullListener.stop()\n resourceTimingBufferFullListener = undefined\n }\n}\n\nfunction supportPerformanceObject() {\n return window.performance !== undefined && 'getEntries' in performance\n}\n\nexport function supportPerformanceTimingEvent(entryType: RumPerformanceEntryType) {\n return PerformanceObserver.supportedEntryTypes.includes(entryType)\n}\n\nfunction filterRumPerformanceEntries<T extends RumPerformanceEntryType>(entries: Array<EntryTypeToReturnType[T]>) {\n return entries.filter((entry) => !isForbiddenResource(entry))\n}\n\nfunction isForbiddenResource(entry: RumPerformanceEntry) {\n return (\n entry.entryType === RumPerformanceEntryType.RESOURCE &&\n (!isAllowedRequestUrl(entry.name) || !hasValidResourceEntryDuration(entry))\n )\n}\n"],"mappings":";;;;AAoBA,IAAY,0BAAL,yBAAA,yBAAA;CACL,wBAAA,WAAA;CACA,wBAAA,iBAAA;CACA,wBAAA,8BAAA;CACA,wBAAA,kBAAA;CACA,wBAAA,eAAA;CACA,wBAAA,0BAAA;CACA,wBAAA,gBAAA;CACA,wBAAA,WAAA;CACA,wBAAA,cAAA;CACA,wBAAA,sBAAA;;AACF,EAAA,CAAA,CAAA;AA0KA,SAAgB,4BAA+D,SAI5E;CACD,OAAO,IAAIA,kCAAAA,YAA6C,eAAe;EACrE,MAAM,4BAA4B,YAAkC;GAClE,MAAM,wBAAwB,4BAA4B,OAA0C;GACpG,IAAI,sBAAsB,SAAS,GACjC,WAAW,OAAO,qBAAqB;EAE3C;EAEA,IAAI;EACJ,IAAI,yBAAyB;EAC7B,MAAM,WAAW,IAAI,qBAAA,GACnBC,qCAAAA,QAAAA,EAAS,YAAY;GAGnB,IAAI,wBACF,aAAA,GAAYC,kCAAAA,WAAAA,OAAiB,yBAAyB,QAAQ,WAAW,CAAC,CAAC;QAE3E,yBAAyB,QAAQ,WAAW,CAAC;EAEjD,CAAC,CACH;EACA,SAAS,QAAQ,OAAO;EACxB,yBAAyB;EAEzB,+BAA+B;EAE/B,aAAa;GACX,SAAS,WAAW;GACpB,CAAA,GAAA,kCAAA,aAAA,CAAa,SAAS;EACxB;CACF,CAAC;AACH;AAEA,IAAI;AACJ,SAAS,iCAAiC;CACxC,IAAI,CAAC,oCAAoC,yBAAyB,KAAK,sBAAsB,aAE3F,oCAAA,GAAmCC,kCAAAA,iBAAAA,CAAiB,aAAa,kCAAkC;EACjG,YAAY,qBAAqB;CACnC,CAAC;AAEL;AASA,SAAS,2BAA2B;CAClC,OAAO,OAAO,gBAAgB,KAAA,KAAa,gBAAgB;AAC7D;AAEA,SAAgB,8BAA8B,WAAoC;CAChF,OAAO,oBAAoB,oBAAoB,SAAS,SAAS;AACnE;AAEA,SAAS,4BAA+D,SAA0C;CAChH,OAAO,QAAQ,QAAQ,UAAU,CAAC,oBAAoB,KAAK,CAAC;AAC9D;AAEA,SAAS,oBAAoB,OAA4B;CACvD,OACE,MAAM,cAAA,eACL,CAACC,sBAAAA,oBAAoB,MAAM,IAAI,KAAK,CAACC,sBAAAA,8BAA8B,KAAK;AAE7E"}
@@ -1,7 +1,19 @@
1
- import type { RelativeTime } from '@kubesense/kubesense-browser-core';
1
+ import type { RelativeTime } from '@kubesense/kubesense-js-core/time';
2
+ import type { RelevantNavigationTiming } from '../domain/view/viewMetrics/trackNavigationTimings';
2
3
  import type { RumPerformanceNavigationTiming } from './performanceObservable';
3
4
  export declare function getNavigationEntry(): RumPerformanceNavigationTiming;
4
5
  export type TimingsFromDeprecatedPerformanceTiming = {
5
6
  -readonly [key in keyof Omit<PerformanceTiming, 'toJSON'>]: RelativeTime;
6
7
  };
7
8
  export declare function computeTimingsFromDeprecatedPerformanceTiming(): TimingsFromDeprecatedPerformanceTiming;
9
+ export declare function sanitizeFirstByte(entry: RelevantNavigationTiming): RelativeTime | undefined;
10
+ export declare function getResourceEntries(): PerformanceEntryList | undefined;
11
+ /**
12
+ * Find the most relevant resource entry for an LCP element.
13
+ *
14
+ * Resource entries persist for the entire page lifetime and can include multiple requests
15
+ * for the same URL (preloads, cache-busting reloads, SPA route changes, etc.).
16
+ * This function returns the most recent matching entry that started before the LCP time,
17
+ * which is most likely the one that triggered the LCP paint.
18
+ */
19
+ export declare function findLcpResourceEntry(resourceUrl: string, lcpStartTime: RelativeTime): PerformanceResourceTiming | undefined;
@@ -1,42 +1,68 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getNavigationEntry = getNavigationEntry;
4
- exports.computeTimingsFromDeprecatedPerformanceTiming = computeTimingsFromDeprecatedPerformanceTiming;
5
- const kubesense_browser_core_1 = require("@kubesense/kubesense-browser-core");
6
- const performanceObservable_1 = require("./performanceObservable");
1
+ const require_performanceObservable = require("./performanceObservable.js");
2
+ let _kubesense_kubesense_js_core_time = require("@kubesense/kubesense-js-core/time");
3
+ let _kubesense_kubesense_browser_core = require("@kubesense/kubesense-browser-core");
4
+ //#region src/browser/performanceUtils.ts
5
+ function isValidNavigationEntry(entry) {
6
+ return !(entry.loadEventEnd > 0 && entry.domComplete <= 0);
7
+ }
7
8
  function getNavigationEntry() {
8
- if ((0, performanceObservable_1.supportPerformanceTimingEvent)(performanceObservable_1.RumPerformanceEntryType.NAVIGATION)) {
9
- const navigationEntry = performance.getEntriesByType(performanceObservable_1.RumPerformanceEntryType.NAVIGATION)[0];
10
- if (navigationEntry) {
11
- return navigationEntry;
12
- }
13
- }
14
- const timings = computeTimingsFromDeprecatedPerformanceTiming();
15
- const entry = {
16
- entryType: performanceObservable_1.RumPerformanceEntryType.NAVIGATION,
17
- initiatorType: 'navigation',
18
- name: window.location.href,
19
- startTime: 0,
20
- duration: timings.loadEventEnd,
21
- decodedBodySize: 0,
22
- encodedBodySize: 0,
23
- transferSize: 0,
24
- workerStart: 0,
25
- toJSON: () => ({ ...entry, toJSON: undefined }),
26
- ...timings,
27
- };
28
- return entry;
9
+ if (require_performanceObservable.supportPerformanceTimingEvent("navigation")) {
10
+ const navigationEntry = performance.getEntriesByType("navigation")[0];
11
+ if (navigationEntry && isValidNavigationEntry(navigationEntry)) return navigationEntry;
12
+ }
13
+ const timings = computeTimingsFromDeprecatedPerformanceTiming();
14
+ const entry = {
15
+ entryType: "navigation",
16
+ initiatorType: "navigation",
17
+ name: window.location.href,
18
+ startTime: 0,
19
+ duration: timings.loadEventEnd,
20
+ decodedBodySize: 0,
21
+ encodedBodySize: 0,
22
+ transferSize: 0,
23
+ workerStart: 0,
24
+ toJSON: () => ({
25
+ ...entry,
26
+ toJSON: void 0
27
+ }),
28
+ ...timings
29
+ };
30
+ return entry;
29
31
  }
30
32
  function computeTimingsFromDeprecatedPerformanceTiming() {
31
- const result = {};
32
- const timing = performance.timing;
33
- for (const key in timing) {
34
- if ((0, kubesense_browser_core_1.isNumber)(timing[key])) {
35
- const numberKey = key;
36
- const timingElement = timing[numberKey];
37
- result[numberKey] = timingElement === 0 ? 0 : (0, kubesense_browser_core_1.getRelativeTime)(timingElement);
38
- }
39
- }
40
- return result;
33
+ const result = {};
34
+ const timing = performance.timing;
35
+ for (const key in timing) if ((0, _kubesense_kubesense_browser_core.isNumber)(timing[key])) {
36
+ const numberKey = key;
37
+ const timingElement = timing[numberKey];
38
+ result[numberKey] = timingElement === 0 ? 0 : (0, _kubesense_kubesense_js_core_time.toRelativeTime)(timingElement);
39
+ }
40
+ return result;
41
+ }
42
+ function sanitizeFirstByte(entry) {
43
+ return entry.responseStart > 0 && entry.responseStart <= (0, _kubesense_kubesense_js_core_time.relativeNow)() ? entry.responseStart : void 0;
41
44
  }
45
+ function getResourceEntries() {
46
+ if (require_performanceObservable.supportPerformanceTimingEvent("resource")) return performance.getEntriesByType("resource");
47
+ }
48
+ /**
49
+ * Find the most relevant resource entry for an LCP element.
50
+ *
51
+ * Resource entries persist for the entire page lifetime and can include multiple requests
52
+ * for the same URL (preloads, cache-busting reloads, SPA route changes, etc.).
53
+ * This function returns the most recent matching entry that started before the LCP time,
54
+ * which is most likely the one that triggered the LCP paint.
55
+ */
56
+ function findLcpResourceEntry(resourceUrl, lcpStartTime) {
57
+ const entries = getResourceEntries();
58
+ if (!entries) return;
59
+ return (0, _kubesense_kubesense_browser_core.findLast)(entries, (entry) => entry.name === resourceUrl && entry.startTime <= lcpStartTime);
60
+ }
61
+ //#endregion
62
+ exports.computeTimingsFromDeprecatedPerformanceTiming = computeTimingsFromDeprecatedPerformanceTiming;
63
+ exports.findLcpResourceEntry = findLcpResourceEntry;
64
+ exports.getNavigationEntry = getNavigationEntry;
65
+ exports.getResourceEntries = getResourceEntries;
66
+ exports.sanitizeFirstByte = sanitizeFirstByte;
67
+
42
68
  //# sourceMappingURL=performanceUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"performanceUtils.js","sourceRoot":"","sources":["../../src/browser/performanceUtils.ts"],"names":[],"mappings":";;AAKA,gDA0BC;AAMD,sGAYC;AAhDD,8EAA6E;AAE7E,mEAAgG;AAEhG,SAAgB,kBAAkB;IAChC,IAAI,IAAA,qDAA6B,EAAC,+CAAuB,CAAC,UAAU,CAAC,EAAE,CAAC;QACtE,MAAM,eAAe,GAAG,WAAW,CAAC,gBAAgB,CAClD,+CAAuB,CAAC,UAAU,CACnC,CAAC,CAAC,CAA8C,CAAA;QACjD,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,eAAe,CAAA;QACxB,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,6CAA6C,EAAE,CAAA;IAC/D,MAAM,KAAK,GAAmC;QAC5C,SAAS,EAAE,+CAAuB,CAAC,UAAmB;QACtD,aAAa,EAAE,YAAqB;QACpC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;QAC1B,SAAS,EAAE,CAAiB;QAC5B,QAAQ,EAAE,OAAO,CAAC,YAAY;QAC9B,eAAe,EAAE,CAAC;QAClB,eAAe,EAAE,CAAC;QAClB,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,CAAiB;QAC9B,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC/C,GAAG,OAAO;KACX,CAAA;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAMD,SAAgB,6CAA6C;IAC3D,MAAM,MAAM,GAAoD,EAAE,CAAA;IAClE,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;IAEjC,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,IAAA,iCAAQ,EAAC,MAAM,CAAC,GAA8B,CAAC,CAAC,EAAE,CAAC;YACrD,MAAM,SAAS,GAAG,GAAmD,CAAA;YACrE,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAc,CAAA;YACpD,MAAM,CAAC,SAAS,CAAC,GAAG,aAAa,KAAK,CAAC,CAAC,CAAC,CAAE,CAAkB,CAAC,CAAC,CAAC,IAAA,wCAAe,EAAC,aAAa,CAAC,CAAA;QAChG,CAAC;IACH,CAAC;IACD,OAAO,MAAgD,CAAA;AACzD,CAAC"}
1
+ {"version":3,"file":"performanceUtils.js","names":["supportPerformanceTimingEvent","isNumber","toRelativeTime","relativeNow","findLast"],"sources":["../../src/browser/performanceUtils.ts"],"sourcesContent":["import type { RelativeTime, TimeStamp } from '@kubesense/kubesense-js-core/time'\nimport { toRelativeTime, relativeNow } from '@kubesense/kubesense-js-core/time'\nimport { findLast, isNumber } from '@kubesense/kubesense-browser-core'\nimport type { RelevantNavigationTiming } from '../domain/view/viewMetrics/trackNavigationTimings'\nimport type { RumPerformanceNavigationTiming } from './performanceObservable'\nimport { RumPerformanceEntryType, supportPerformanceTimingEvent } from './performanceObservable'\n\nfunction isValidNavigationEntry(entry: Pick<RumPerformanceNavigationTiming, 'loadEventEnd' | 'domComplete'>) {\n // WebKit 26.4 reports loadEventEnd/responseStart but leaves DOM timing fields at 0.\n // performance.timing still has the correct values.\n return !(entry.loadEventEnd > 0 && entry.domComplete <= 0)\n}\n\nexport function getNavigationEntry(): RumPerformanceNavigationTiming {\n if (supportPerformanceTimingEvent(RumPerformanceEntryType.NAVIGATION)) {\n const navigationEntry = performance.getEntriesByType(\n RumPerformanceEntryType.NAVIGATION\n )[0] as unknown as RumPerformanceNavigationTiming\n if (navigationEntry && isValidNavigationEntry(navigationEntry)) {\n return navigationEntry\n }\n }\n\n const timings = computeTimingsFromDeprecatedPerformanceTiming()\n const entry: RumPerformanceNavigationTiming = {\n entryType: RumPerformanceEntryType.NAVIGATION as const,\n initiatorType: 'navigation' as const,\n name: window.location.href,\n startTime: 0 as RelativeTime,\n duration: timings.loadEventEnd,\n decodedBodySize: 0,\n encodedBodySize: 0,\n transferSize: 0,\n workerStart: 0 as RelativeTime,\n toJSON: () => ({ ...entry, toJSON: undefined }),\n ...timings,\n }\n\n return entry\n}\n\nexport type TimingsFromDeprecatedPerformanceTiming = {\n -readonly [key in keyof Omit<PerformanceTiming, 'toJSON'>]: RelativeTime\n}\n\nexport function computeTimingsFromDeprecatedPerformanceTiming() {\n const result: Partial<TimingsFromDeprecatedPerformanceTiming> = {}\n const timing = performance.timing\n\n for (const key in timing) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n if (isNumber(timing[key as keyof PerformanceTiming])) {\n const numberKey = key as keyof TimingsFromDeprecatedPerformanceTiming\n const timingElement = timing[numberKey] as TimeStamp\n result[numberKey] = timingElement === 0 ? (0 as RelativeTime) : toRelativeTime(timingElement)\n }\n }\n return result as TimingsFromDeprecatedPerformanceTiming\n}\n\nexport function sanitizeFirstByte(entry: RelevantNavigationTiming) {\n // In some cases the value reported is negative, zero (meaning unavailable, e.g. cross-origin\n // without Timing-Allow-Origin), or larger than the current page time. Ignore these cases:\n // https://github.com/GoogleChrome/web-vitals/issues/137\n // https://github.com/GoogleChrome/web-vitals/issues/162\n return entry.responseStart > 0 && entry.responseStart <= relativeNow() ? entry.responseStart : undefined\n}\n\nexport function getResourceEntries() {\n if (supportPerformanceTimingEvent(RumPerformanceEntryType.RESOURCE)) {\n return performance.getEntriesByType(RumPerformanceEntryType.RESOURCE)\n }\n\n return undefined\n}\n\n/**\n * Find the most relevant resource entry for an LCP element.\n *\n * Resource entries persist for the entire page lifetime and can include multiple requests\n * for the same URL (preloads, cache-busting reloads, SPA route changes, etc.).\n * This function returns the most recent matching entry that started before the LCP time,\n * which is most likely the one that triggered the LCP paint.\n */\nexport function findLcpResourceEntry(\n resourceUrl: string,\n lcpStartTime: RelativeTime\n): PerformanceResourceTiming | undefined {\n const entries = getResourceEntries()\n if (!entries) {\n return undefined\n }\n\n return findLast(\n entries,\n (entry): entry is PerformanceResourceTiming => entry.name === resourceUrl && entry.startTime <= lcpStartTime\n )\n}\n"],"mappings":";;;;AAOA,SAAS,uBAAuB,OAA6E;CAG3G,OAAO,EAAE,MAAM,eAAe,KAAK,MAAM,eAAe;AAC1D;AAEA,SAAgB,qBAAqD;CACnE,IAAIA,8BAAAA,8BAAAA,YAAgE,GAAG;EACrE,MAAM,kBAAkB,YAAY,iBAAA,YAEpC,CAAC,CAAC;EACF,IAAI,mBAAmB,uBAAuB,eAAe,GAC3D,OAAO;CAEX;CAEA,MAAM,UAAU,8CAA8C;CAC9D,MAAM,QAAwC;EAC5C,WAAA;EACA,eAAe;EACf,MAAM,OAAO,SAAS;EACtB,WAAW;EACX,UAAU,QAAQ;EAClB,iBAAiB;EACjB,iBAAiB;EACjB,cAAc;EACd,aAAa;EACb,eAAe;GAAE,GAAG;GAAO,QAAQ,KAAA;EAAU;EAC7C,GAAG;CACL;CAEA,OAAO;AACT;AAMA,SAAgB,gDAAgD;CAC9D,MAAM,SAA0D,CAAC;CACjE,MAAM,SAAS,YAAY;CAE3B,KAAK,MAAM,OAAO,QAEhB,KAAA,GAAIC,kCAAAA,SAAAA,CAAS,OAAO,IAA+B,GAAG;EACpD,MAAM,YAAY;EAClB,MAAM,gBAAgB,OAAO;EAC7B,OAAO,aAAa,kBAAkB,IAAK,KAAA,GAAqBC,kCAAAA,eAAAA,CAAe,aAAa;CAC9F;CAEF,OAAO;AACT;AAEA,SAAgB,kBAAkB,OAAiC;CAKjE,OAAO,MAAM,gBAAgB,KAAK,MAAM,kBAAA,GAAiBC,kCAAAA,YAAAA,CAAY,IAAI,MAAM,gBAAgB,KAAA;AACjG;AAEA,SAAgB,qBAAqB;CACnC,IAAIH,8BAAAA,8BAAAA,UAA8D,GAChE,OAAO,YAAY,iBAAA,UAAiD;AAIxE;;;;;;;;;AAUA,SAAgB,qBACd,aACA,cACuC;CACvC,MAAM,UAAU,mBAAmB;CACnC,IAAI,CAAC,SACH;CAGF,QAAA,GAAOI,kCAAAA,SAAAA,CACL,UACC,UAA8C,MAAM,SAAS,eAAe,MAAM,aAAa,YAClG;AACF"}
@@ -1,33 +1,22 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getScrollX = getScrollX;
4
- exports.getScrollY = getScrollY;
1
+ //#region src/browser/scroll.ts
5
2
  function getScrollX() {
6
- let scrollX;
7
- const visual = window.visualViewport;
8
- if (visual) {
9
- scrollX = visual.pageLeft - visual.offsetLeft;
10
- }
11
- else if (window.scrollX !== undefined) {
12
- scrollX = window.scrollX;
13
- }
14
- else {
15
- scrollX = window.pageXOffset || 0;
16
- }
17
- return Math.round(scrollX);
3
+ let scrollX;
4
+ const visual = window.visualViewport;
5
+ if (visual) scrollX = visual.pageLeft - visual.offsetLeft;
6
+ else if (window.scrollX !== void 0) scrollX = window.scrollX;
7
+ else scrollX = window.pageXOffset || 0;
8
+ return Math.round(scrollX);
18
9
  }
19
10
  function getScrollY() {
20
- let scrollY;
21
- const visual = window.visualViewport;
22
- if (visual) {
23
- scrollY = visual.pageTop - visual.offsetTop;
24
- }
25
- else if (window.scrollY !== undefined) {
26
- scrollY = window.scrollY;
27
- }
28
- else {
29
- scrollY = window.pageYOffset || 0;
30
- }
31
- return Math.round(scrollY);
11
+ let scrollY;
12
+ const visual = window.visualViewport;
13
+ if (visual) scrollY = visual.pageTop - visual.offsetTop;
14
+ else if (window.scrollY !== void 0) scrollY = window.scrollY;
15
+ else scrollY = window.pageYOffset || 0;
16
+ return Math.round(scrollY);
32
17
  }
18
+ //#endregion
19
+ exports.getScrollX = getScrollX;
20
+ exports.getScrollY = getScrollY;
21
+
33
22
  //# sourceMappingURL=scroll.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../src/browser/scroll.ts"],"names":[],"mappings":";;AAAA,gCAWC;AAED,gCAWC;AAxBD,SAAgB,UAAU;IACxB,IAAI,OAAO,CAAA;IACX,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAA;IACpC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,GAAG,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAA;IAC/C,CAAC;SAAM,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAC1B,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAA;IACnC,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;AAC5B,CAAC;AAED,SAAgB,UAAU;IACxB,IAAI,OAAO,CAAA;IACX,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAA;IACpC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,SAAS,CAAA;IAC7C,CAAC;SAAM,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAC1B,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAA;IACnC,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;AAC5B,CAAC"}
1
+ {"version":3,"file":"scroll.js","names":[],"sources":["../../src/browser/scroll.ts"],"sourcesContent":["export function getScrollX() {\n let scrollX\n const visual = window.visualViewport\n if (visual) {\n scrollX = visual.pageLeft - visual.offsetLeft\n } else if (window.scrollX !== undefined) {\n scrollX = window.scrollX\n } else {\n scrollX = window.pageXOffset || 0\n }\n return Math.round(scrollX)\n}\n\nexport function getScrollY() {\n let scrollY\n const visual = window.visualViewport\n if (visual) {\n scrollY = visual.pageTop - visual.offsetTop\n } else if (window.scrollY !== undefined) {\n scrollY = window.scrollY\n } else {\n scrollY = window.pageYOffset || 0\n }\n return Math.round(scrollY)\n}\n"],"mappings":";AAAA,SAAgB,aAAa;CAC3B,IAAI;CACJ,MAAM,SAAS,OAAO;CACtB,IAAI,QACF,UAAU,OAAO,WAAW,OAAO;MAC9B,IAAI,OAAO,YAAY,KAAA,GAC5B,UAAU,OAAO;MAEjB,UAAU,OAAO,eAAe;CAElC,OAAO,KAAK,MAAM,OAAO;AAC3B;AAEA,SAAgB,aAAa;CAC3B,IAAI;CACJ,MAAM,SAAS,OAAO;CACtB,IAAI,QACF,UAAU,OAAO,UAAU,OAAO;MAC7B,IAAI,OAAO,YAAY,KAAA,GAC5B,UAAU,OAAO;MAEjB,UAAU,OAAO,eAAe;CAElC,OAAO,KAAK,MAAM,OAAO;AAC3B"}
@@ -1,10 +1,9 @@
1
1
  import { Observable } from '@kubesense/kubesense-browser-core';
2
- import type { RumConfiguration } from '../domain/configuration';
3
2
  export interface ViewportDimension {
4
3
  height: number;
5
4
  width: number;
6
5
  [k: string]: unknown;
7
6
  }
8
- export declare function initViewportObservable(configuration: RumConfiguration): Observable<ViewportDimension>;
9
- export declare function createViewportObservable(configuration: RumConfiguration): Observable<ViewportDimension>;
7
+ export declare function initViewportObservable(): Observable<ViewportDimension>;
8
+ export declare function createViewportObservable(): Observable<ViewportDimension>;
10
9
  export declare function getViewportDimension(): ViewportDimension;
@@ -1,37 +1,35 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.initViewportObservable = initViewportObservable;
4
- exports.createViewportObservable = createViewportObservable;
5
- exports.getViewportDimension = getViewportDimension;
6
- const kubesense_browser_core_1 = require("@kubesense/kubesense-browser-core");
1
+ let _kubesense_kubesense_browser_core = require("@kubesense/kubesense-browser-core");
2
+ //#region src/browser/viewportObservable.ts
7
3
  let viewportObservable;
8
- function initViewportObservable(configuration) {
9
- if (!viewportObservable) {
10
- viewportObservable = createViewportObservable(configuration);
11
- }
12
- return viewportObservable;
4
+ function initViewportObservable() {
5
+ if (!viewportObservable) viewportObservable = createViewportObservable();
6
+ return viewportObservable;
13
7
  }
14
- function createViewportObservable(configuration) {
15
- return new kubesense_browser_core_1.Observable((observable) => {
16
- const { throttled: updateDimension } = (0, kubesense_browser_core_1.throttle)(() => {
17
- observable.notify(getViewportDimension());
18
- }, 200);
19
- return (0, kubesense_browser_core_1.addEventListener)(configuration, window, "resize" /* DOM_EVENT.RESIZE */, updateDimension, { capture: true, passive: true })
20
- .stop;
21
- });
8
+ function createViewportObservable() {
9
+ return new _kubesense_kubesense_browser_core.Observable((observable) => {
10
+ const { throttled: updateDimension } = (0, _kubesense_kubesense_browser_core.throttle)(() => {
11
+ observable.notify(getViewportDimension());
12
+ }, 200);
13
+ return (0, _kubesense_kubesense_browser_core.addEventListener)(window, _kubesense_kubesense_browser_core.DOM_EVENT.RESIZE, updateDimension, {
14
+ capture: true,
15
+ passive: true
16
+ }).stop;
17
+ });
22
18
  }
23
- // excludes the width and height of any rendered classic scrollbar that is fixed to the visual viewport
24
19
  function getViewportDimension() {
25
- const visual = window.visualViewport;
26
- if (visual) {
27
- return {
28
- width: Number(visual.width * visual.scale),
29
- height: Number(visual.height * visual.scale),
30
- };
31
- }
32
- return {
33
- width: Number(window.innerWidth || 0),
34
- height: Number(window.innerHeight || 0),
35
- };
20
+ const visual = window.visualViewport;
21
+ if (visual) return {
22
+ width: Number(visual.width * visual.scale),
23
+ height: Number(visual.height * visual.scale)
24
+ };
25
+ return {
26
+ width: Number(window.innerWidth || 0),
27
+ height: Number(window.innerHeight || 0)
28
+ };
36
29
  }
30
+ //#endregion
31
+ exports.createViewportObservable = createViewportObservable;
32
+ exports.getViewportDimension = getViewportDimension;
33
+ exports.initViewportObservable = initViewportObservable;
34
+
37
35
  //# sourceMappingURL=viewportObservable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"viewportObservable.js","sourceRoot":"","sources":["../../src/browser/viewportObservable.ts"],"names":[],"mappings":";;AAWA,wDAKC;AAED,4DASC;AAGD,oDAaC;AA3CD,8EAAqG;AASrG,IAAI,kBAA6D,CAAA;AAEjE,SAAgB,sBAAsB,CAAC,aAA+B;IACpE,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,kBAAkB,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAA;IAC9D,CAAC;IACD,OAAO,kBAAkB,CAAA;AAC3B,CAAC;AAED,SAAgB,wBAAwB,CAAC,aAA+B;IACtE,OAAO,IAAI,mCAAU,CAAoB,CAAC,UAAU,EAAE,EAAE;QACtD,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,IAAA,iCAAQ,EAAC,GAAG,EAAE;YACnD,UAAU,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAA;QAC3C,CAAC,EAAE,GAAG,CAAC,CAAA;QAEP,OAAO,IAAA,yCAAgB,EAAC,aAAa,EAAE,MAAM,mCAAoB,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;aAChH,IAAI,CAAA;IACT,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,uGAAuG;AACvG,SAAgB,oBAAoB;IAClC,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAA;IACpC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC1C,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;SAC7C,CAAA;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;QACrC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;KACxC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"viewportObservable.js","names":["Observable","throttle","addEventListener","DOM_EVENT"],"sources":["../../src/browser/viewportObservable.ts"],"sourcesContent":["import { Observable, throttle, addEventListener, DOM_EVENT } from '@kubesense/kubesense-browser-core'\n\nexport interface ViewportDimension {\n height: number\n width: number\n [k: string]: unknown\n}\n\nlet viewportObservable: Observable<ViewportDimension> | undefined\n\nexport function initViewportObservable() {\n if (!viewportObservable) {\n viewportObservable = createViewportObservable()\n }\n return viewportObservable\n}\n\nexport function createViewportObservable() {\n return new Observable<ViewportDimension>((observable) => {\n const { throttled: updateDimension } = throttle(() => {\n observable.notify(getViewportDimension())\n }, 200)\n\n return addEventListener(window, DOM_EVENT.RESIZE, updateDimension, { capture: true, passive: true }).stop\n })\n}\n\n// excludes the width and height of any rendered classic scrollbar that is fixed to the visual viewport\nexport function getViewportDimension(): ViewportDimension {\n const visual = window.visualViewport\n if (visual) {\n return {\n width: Number(visual.width * visual.scale),\n height: Number(visual.height * visual.scale),\n }\n }\n\n return {\n width: Number(window.innerWidth || 0),\n height: Number(window.innerHeight || 0),\n }\n}\n"],"mappings":";;AAQA,IAAI;AAEJ,SAAgB,yBAAyB;CACvC,IAAI,CAAC,oBACH,qBAAqB,yBAAyB;CAEhD,OAAO;AACT;AAEA,SAAgB,2BAA2B;CACzC,OAAO,IAAIA,kCAAAA,YAA+B,eAAe;EACvD,MAAM,EAAE,WAAW,qBAAA,GAAoBC,kCAAAA,SAAAA,OAAe;GACpD,WAAW,OAAO,qBAAqB,CAAC;EAC1C,GAAG,GAAG;EAEN,QAAA,GAAOC,kCAAAA,iBAAAA,CAAiB,QAAQC,kCAAAA,UAAU,QAAQ,iBAAiB;GAAE,SAAS;GAAM,SAAS;EAAK,CAAC,CAAC,CAAC;CACvG,CAAC;AACH;AAGA,SAAgB,uBAA0C;CACxD,MAAM,SAAS,OAAO;CACtB,IAAI,QACF,OAAO;EACL,OAAO,OAAO,OAAO,QAAQ,OAAO,KAAK;EACzC,QAAQ,OAAO,OAAO,SAAS,OAAO,KAAK;CAC7C;CAGF,OAAO;EACL,OAAO,OAAO,OAAO,cAAc,CAAC;EACpC,QAAQ,OAAO,OAAO,eAAe,CAAC;CACxC;AACF"}
@@ -1,10 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createWindowOpenObservable = createWindowOpenObservable;
4
- const kubesense_browser_core_1 = require("@kubesense/kubesense-browser-core");
1
+ let _kubesense_kubesense_browser_core = require("@kubesense/kubesense-browser-core");
2
+ //#region src/browser/windowOpenObservable.ts
5
3
  function createWindowOpenObservable() {
6
- const observable = new kubesense_browser_core_1.Observable();
7
- const { stop } = (0, kubesense_browser_core_1.instrumentMethod)(window, 'open', () => observable.notify());
8
- return { observable, stop };
4
+ const observable = new _kubesense_kubesense_browser_core.Observable();
5
+ const { stop } = (0, _kubesense_kubesense_browser_core.instrumentMethod)(window, "open", () => observable.notify());
6
+ return {
7
+ observable,
8
+ stop
9
+ };
9
10
  }
11
+ //#endregion
12
+ exports.createWindowOpenObservable = createWindowOpenObservable;
13
+
10
14
  //# sourceMappingURL=windowOpenObservable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"windowOpenObservable.js","sourceRoot":"","sources":["../../src/browser/windowOpenObservable.ts"],"names":[],"mappings":";;AAEA,gEAIC;AAND,8EAAgF;AAEhF,SAAgB,0BAA0B;IACxC,MAAM,UAAU,GAAG,IAAI,mCAAU,EAAQ,CAAA;IACzC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,yCAAgB,EAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;IAC5E,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAA;AAC7B,CAAC"}
1
+ {"version":3,"file":"windowOpenObservable.js","names":["Observable","instrumentMethod"],"sources":["../../src/browser/windowOpenObservable.ts"],"sourcesContent":["import { instrumentMethod, Observable } from '@kubesense/kubesense-browser-core'\n\nexport function createWindowOpenObservable() {\n const observable = new Observable<void>()\n const { stop } = instrumentMethod(window, 'open', () => observable.notify())\n return { observable, stop }\n}\n"],"mappings":";;AAEA,SAAgB,6BAA6B;CAC3C,MAAM,aAAa,IAAIA,kCAAAA,WAAiB;CACxC,MAAM,EAAE,UAAA,GAASC,kCAAAA,iBAAAA,CAAiB,QAAQ,cAAc,WAAW,OAAO,CAAC;CAC3E,OAAO;EAAE;EAAY;CAAK;AAC5B"}
@@ -1,21 +1,20 @@
1
- import type { ClocksState, Context, Observable } from '@kubesense/kubesense-browser-core';
2
- import { ActionType } from '../../rawRumEvent.types';
1
+ import type { RelativeTime, Duration } from '@kubesense/kubesense-js-core/time';
2
+ import type { Observable } from '@kubesense/kubesense-browser-core';
3
3
  import type { LifeCycle } from '../lifeCycle';
4
4
  import type { RumConfiguration } from '../configuration';
5
5
  import type { Hooks } from '../hooks';
6
6
  import type { RumMutationRecord } from '../../browser/domMutationObservable';
7
- import type { ActionContexts, ClickAction } from './trackClickActions';
8
- export type { ActionContexts };
9
- export interface CustomAction {
10
- type: typeof ActionType.CUSTOM;
11
- name: string;
12
- startClocks: ClocksState;
13
- context?: Context;
14
- handlingStack?: string;
15
- }
7
+ import type { ClickAction } from './trackClickActions';
8
+ import type { ManualAction } from './trackManualActions';
16
9
  export type AutoAction = ClickAction;
10
+ export interface ActionContexts {
11
+ findActionId: (startTime?: RelativeTime) => string[];
12
+ }
13
+ export declare const LONG_TASK_START_TIME_CORRECTION: Duration;
17
14
  export declare function startActionCollection(lifeCycle: LifeCycle, hooks: Hooks, domMutationObservable: Observable<RumMutationRecord[]>, windowOpenObservable: Observable<void>, configuration: RumConfiguration): {
18
- addAction: (action: CustomAction) => void;
15
+ addAction: (action: Omit<ManualAction, "id" | "duration" | "counts" | "frustrationTypes">) => void;
16
+ startAction: (name: string, options?: import("./trackManualActions").ActionOptions, startClocks?: import("@kubesense/kubesense-js-core/time").ClocksState) => void;
17
+ stopAction: (name: string, options?: import("./trackManualActions").ActionOptions, stopClocks?: import("@kubesense/kubesense-js-core/time").ClocksState) => void;
19
18
  actionContexts: ActionContexts;
20
19
  stop: () => void;
21
20
  };
@@ -1,96 +1,89 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.startActionCollection = startActionCollection;
4
- const kubesense_browser_core_1 = require("@kubesense/kubesense-browser-core");
5
- const discardNegativeDuration_1 = require("../discardNegativeDuration");
6
- const rawRumEvent_types_1 = require("../../rawRumEvent.types");
7
- const trackClickActions_1 = require("./trackClickActions");
1
+ const require_rawRumEvent_types = require("../../rawRumEvent.types.js");
2
+ require("../lifeCycle.js");
3
+ const require_discardNegativeDuration = require("../discardNegativeDuration.js");
4
+ const require_trackClickActions = require("./trackClickActions.js");
5
+ const require_trackManualActions = require("./trackManualActions.js");
6
+ let _kubesense_kubesense_js_core_time = require("@kubesense/kubesense-js-core/time");
7
+ let _kubesense_kubesense_browser_core = require("@kubesense/kubesense-browser-core");
8
+ let _kubesense_kubesense_js_core_assembly = require("@kubesense/kubesense-js-core/assembly");
8
9
  function startActionCollection(lifeCycle, hooks, domMutationObservable, windowOpenObservable, configuration) {
9
- const { unsubscribe: unsubscribeAutoAction } = lifeCycle.subscribe(0 /* LifeCycleEventType.AUTO_ACTION_COMPLETED */, (action) => {
10
- lifeCycle.notify(12 /* LifeCycleEventType.RAW_RUM_EVENT_COLLECTED */, processAction(action));
11
- });
12
- hooks.register(0 /* HookNames.Assemble */, ({ startTime, eventType }) => {
13
- if (eventType !== rawRumEvent_types_1.RumEventType.ERROR &&
14
- eventType !== rawRumEvent_types_1.RumEventType.RESOURCE &&
15
- eventType !== rawRumEvent_types_1.RumEventType.LONG_TASK) {
16
- return kubesense_browser_core_1.SKIPPED;
17
- }
18
- const actionId = actionContexts.findActionId(startTime);
19
- if (!actionId) {
20
- return kubesense_browser_core_1.SKIPPED;
21
- }
22
- return {
23
- type: eventType,
24
- action: { id: actionId },
25
- };
26
- });
27
- hooks.register(1 /* HookNames.AssembleTelemetry */, ({ startTime }) => ({
28
- action: { id: actionContexts.findActionId(startTime) },
29
- }));
30
- let actionContexts = { findActionId: kubesense_browser_core_1.noop };
31
- let stop = kubesense_browser_core_1.noop;
32
- if (configuration.trackUserInteractions) {
33
- ;
34
- ({ actionContexts, stop } = (0, trackClickActions_1.trackClickActions)(lifeCycle, domMutationObservable, windowOpenObservable, configuration));
35
- }
36
- return {
37
- addAction: (action) => {
38
- lifeCycle.notify(12 /* LifeCycleEventType.RAW_RUM_EVENT_COLLECTED */, processAction(action));
39
- },
40
- actionContexts,
41
- stop: () => {
42
- unsubscribeAutoAction();
43
- stop();
44
- },
45
- };
10
+ const { unsubscribe: unsubscribeAutoAction } = lifeCycle.subscribe(0, (action) => {
11
+ lifeCycle.notify(13, processAction(action));
12
+ });
13
+ const stopClickActions = _kubesense_kubesense_browser_core.noop;
14
+ let clickActions;
15
+ if (configuration.trackUserInteractions) clickActions = require_trackClickActions.trackClickActions(lifeCycle, domMutationObservable, windowOpenObservable, configuration);
16
+ const manualActions = require_trackManualActions.trackManualActions(lifeCycle, (action) => {
17
+ lifeCycle.notify(13, processAction(action));
18
+ });
19
+ const actionContexts = { findActionId: (startTime) => {
20
+ const manualActionId = manualActions.findActionId(startTime);
21
+ const clickActionId = clickActions?.findActionId(startTime) ?? [];
22
+ return manualActionId.concat(clickActionId);
23
+ } };
24
+ hooks.assembleEventDefaults.register(({ startTime, eventType }) => {
25
+ if (eventType !== require_rawRumEvent_types.RumEventType.ERROR && eventType !== require_rawRumEvent_types.RumEventType.RESOURCE && eventType !== require_rawRumEvent_types.RumEventType.LONG_TASK) return _kubesense_kubesense_js_core_assembly.SKIPPED;
26
+ const correctedStartTime = eventType === require_rawRumEvent_types.RumEventType.LONG_TASK ? (0, _kubesense_kubesense_js_core_time.addDuration)(startTime, 1) : startTime;
27
+ const actionId = actionContexts.findActionId(correctedStartTime);
28
+ if (!actionId.length) return _kubesense_kubesense_js_core_assembly.SKIPPED;
29
+ return {
30
+ type: eventType,
31
+ action: { id: actionId }
32
+ };
33
+ });
34
+ hooks.assembleTelemetry.register(({ startTime }) => ({ action: { id: actionContexts.findActionId(startTime) } }));
35
+ return {
36
+ addAction: manualActions.addAction,
37
+ startAction: manualActions.startAction,
38
+ stopAction: manualActions.stopAction,
39
+ actionContexts,
40
+ stop: () => {
41
+ unsubscribeAutoAction();
42
+ stopClickActions();
43
+ manualActions.stop();
44
+ clickActions?.stop();
45
+ }
46
+ };
46
47
  }
47
48
  function processAction(action) {
48
- const autoActionProperties = isAutoAction(action)
49
- ? {
50
- action: {
51
- id: action.id,
52
- loading_time: (0, discardNegativeDuration_1.discardNegativeDuration)((0, kubesense_browser_core_1.toServerDuration)(action.duration)),
53
- frustration: {
54
- type: action.frustrationTypes,
55
- },
56
- error: {
57
- count: action.counts.errorCount,
58
- },
59
- long_task: {
60
- count: action.counts.longTaskCount,
61
- },
62
- resource: {
63
- count: action.counts.resourceCount,
64
- },
65
- },
66
- _kubesense: {
67
- action: {
68
- target: action.target,
69
- position: action.position,
70
- name_source: action.nameSource,
71
- },
72
- },
73
- }
74
- : {
75
- context: action.context,
76
- };
77
- const actionEvent = (0, kubesense_browser_core_1.combine)({
78
- action: { id: (0, kubesense_browser_core_1.generateUUID)(), target: { name: action.name }, type: action.type },
79
- date: action.startClocks.timeStamp,
80
- type: rawRumEvent_types_1.RumEventType.ACTION,
81
- }, autoActionProperties);
82
- const duration = isAutoAction(action) ? action.duration : undefined;
83
- const domainContext = isAutoAction(action)
84
- ? { events: action.events }
85
- : { handlingStack: action.handlingStack };
86
- return {
87
- rawRumEvent: actionEvent,
88
- duration,
89
- startTime: action.startClocks.relative,
90
- domainContext,
91
- };
49
+ const isAuto = isAutoAction(action);
50
+ const loadingTime = require_discardNegativeDuration.discardNegativeDuration((0, _kubesense_kubesense_js_core_time.toServerDuration)(action.duration));
51
+ return {
52
+ rawRumEvent: {
53
+ type: require_rawRumEvent_types.RumEventType.ACTION,
54
+ date: action.startClocks.timeStamp,
55
+ action: {
56
+ id: action.id,
57
+ target: { name: action.name },
58
+ type: action.type,
59
+ ...loadingTime !== void 0 && { loading_time: loadingTime },
60
+ ...action.counts && {
61
+ error: { count: action.counts.errorCount },
62
+ long_task: { count: action.counts.longTaskCount },
63
+ resource: { count: action.counts.resourceCount }
64
+ },
65
+ frustration: { type: action.frustrationTypes }
66
+ },
67
+ ...isAuto ? { _kubesense: { action: {
68
+ target: {
69
+ selector: action.target?.selector || void 0,
70
+ width: action.target?.width || void 0,
71
+ height: action.target?.height || void 0,
72
+ composed_path_selector: action.target?.composedPathSelector
73
+ },
74
+ position: action.position,
75
+ name_source: action.nameSource
76
+ } } } : { context: action.context }
77
+ },
78
+ duration: action.duration,
79
+ startClocks: action.startClocks,
80
+ domainContext: isAuto ? { events: action.events } : { handlingStack: action.handlingStack }
81
+ };
92
82
  }
93
83
  function isAutoAction(action) {
94
- return action.type !== rawRumEvent_types_1.ActionType.CUSTOM;
84
+ return "events" in action;
95
85
  }
86
+ //#endregion
87
+ exports.startActionCollection = startActionCollection;
88
+
96
89
  //# sourceMappingURL=actionCollection.js.map