@cloudcare/browser-rum-slim 3.3.3

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 (309) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +15 -0
  3. package/bundle/dataflux-rum-slim.js +1 -0
  4. package/cjs/boot/buildEnv.js +11 -0
  5. package/cjs/boot/buildEnv.js.map +1 -0
  6. package/cjs/boot/perStartRum.js +227 -0
  7. package/cjs/boot/perStartRum.js.map +1 -0
  8. package/cjs/boot/rum.js +180 -0
  9. package/cjs/boot/rum.js.map +1 -0
  10. package/cjs/boot/rum.slim.entry.js +13 -0
  11. package/cjs/boot/rum.slim.entry.js.map +1 -0
  12. package/cjs/boot/rumEntryFactory.js +15 -0
  13. package/cjs/boot/rumEntryFactory.js.map +1 -0
  14. package/cjs/boot/rumPublicApi.js +285 -0
  15. package/cjs/boot/rumPublicApi.js.map +1 -0
  16. package/cjs/boot/rumRecorderApiStub.js +19 -0
  17. package/cjs/boot/rumRecorderApiStub.js.map +1 -0
  18. package/cjs/boot/rumSlimConfiguration.js +16 -0
  19. package/cjs/boot/rumSlimConfiguration.js.map +1 -0
  20. package/cjs/constants.js +41 -0
  21. package/cjs/constants.js.map +1 -0
  22. package/cjs/domain/assembly.js +172 -0
  23. package/cjs/domain/assembly.js.map +1 -0
  24. package/cjs/domain/configuration.js +272 -0
  25. package/cjs/domain/configuration.js.map +1 -0
  26. package/cjs/domain/contexts/commonContext.js +14 -0
  27. package/cjs/domain/contexts/commonContext.js.map +1 -0
  28. package/cjs/domain/contexts/displayContext.js +22 -0
  29. package/cjs/domain/contexts/displayContext.js.map +1 -0
  30. package/cjs/domain/contexts/foregroundContexts.js +111 -0
  31. package/cjs/domain/contexts/foregroundContexts.js.map +1 -0
  32. package/cjs/domain/contexts/internalContext.js +47 -0
  33. package/cjs/domain/contexts/internalContext.js.map +1 -0
  34. package/cjs/domain/contexts/pageStateHistory.js +111 -0
  35. package/cjs/domain/contexts/pageStateHistory.js.map +1 -0
  36. package/cjs/domain/contexts/urlContexts.js +73 -0
  37. package/cjs/domain/contexts/urlContexts.js.map +1 -0
  38. package/cjs/domain/contexts/viewContexts.js +51 -0
  39. package/cjs/domain/contexts/viewContexts.js.map +1 -0
  40. package/cjs/domain/domMutationObservable.js +69 -0
  41. package/cjs/domain/domMutationObservable.js.map +1 -0
  42. package/cjs/domain/encoderStreamId.js +11 -0
  43. package/cjs/domain/encoderStreamId.js.map +1 -0
  44. package/cjs/domain/firstInputPolyfill.js +83 -0
  45. package/cjs/domain/firstInputPolyfill.js.map +1 -0
  46. package/cjs/domain/initViewportObservable.js +44 -0
  47. package/cjs/domain/initViewportObservable.js.map +1 -0
  48. package/cjs/domain/locationChangeObservable.js +57 -0
  49. package/cjs/domain/locationChangeObservable.js.map +1 -0
  50. package/cjs/domain/performanceObservable.js +124 -0
  51. package/cjs/domain/performanceObservable.js.map +1 -0
  52. package/cjs/domain/performanceUtils.js +47 -0
  53. package/cjs/domain/performanceUtils.js.map +1 -0
  54. package/cjs/domain/requestCollection.js +127 -0
  55. package/cjs/domain/requestCollection.js.map +1 -0
  56. package/cjs/domain/rumEventsCollection/actions/actionCollection.js +89 -0
  57. package/cjs/domain/rumEventsCollection/actions/actionCollection.js.map +1 -0
  58. package/cjs/domain/rumEventsCollection/actions/clickChain.js +69 -0
  59. package/cjs/domain/rumEventsCollection/actions/clickChain.js.map +1 -0
  60. package/cjs/domain/rumEventsCollection/actions/computeFrustration.js +75 -0
  61. package/cjs/domain/rumEventsCollection/actions/computeFrustration.js.map +1 -0
  62. package/cjs/domain/rumEventsCollection/actions/getActionNameFromElement.js +232 -0
  63. package/cjs/domain/rumEventsCollection/actions/getActionNameFromElement.js.map +1 -0
  64. package/cjs/domain/rumEventsCollection/actions/getSelectorsFromElement.js +220 -0
  65. package/cjs/domain/rumEventsCollection/actions/getSelectorsFromElement.js.map +1 -0
  66. package/cjs/domain/rumEventsCollection/actions/interactionSelectorCache.js +28 -0
  67. package/cjs/domain/rumEventsCollection/actions/interactionSelectorCache.js.map +1 -0
  68. package/cjs/domain/rumEventsCollection/actions/listenActionEvents.js +73 -0
  69. package/cjs/domain/rumEventsCollection/actions/listenActionEvents.js.map +1 -0
  70. package/cjs/domain/rumEventsCollection/actions/trackClickActions.js +253 -0
  71. package/cjs/domain/rumEventsCollection/actions/trackClickActions.js.map +1 -0
  72. package/cjs/domain/rumEventsCollection/error/errorCollection.js +90 -0
  73. package/cjs/domain/rumEventsCollection/error/errorCollection.js.map +1 -0
  74. package/cjs/domain/rumEventsCollection/error/trackConsoleError.js +18 -0
  75. package/cjs/domain/rumEventsCollection/error/trackConsoleError.js.map +1 -0
  76. package/cjs/domain/rumEventsCollection/error/trackReportError.js +25 -0
  77. package/cjs/domain/rumEventsCollection/error/trackReportError.js.map +1 -0
  78. package/cjs/domain/rumEventsCollection/longTask/longAnimationFrameCollection.js +61 -0
  79. package/cjs/domain/rumEventsCollection/longTask/longAnimationFrameCollection.js.map +1 -0
  80. package/cjs/domain/rumEventsCollection/longTask/longTaskCollection.js +44 -0
  81. package/cjs/domain/rumEventsCollection/longTask/longTaskCollection.js.map +1 -0
  82. package/cjs/domain/rumEventsCollection/resource/matchRequestResourceEntry.js +74 -0
  83. package/cjs/domain/rumEventsCollection/resource/matchRequestResourceEntry.js.map +1 -0
  84. package/cjs/domain/rumEventsCollection/resource/resourceCollection.js +239 -0
  85. package/cjs/domain/rumEventsCollection/resource/resourceCollection.js.map +1 -0
  86. package/cjs/domain/rumEventsCollection/resource/resourceTrackerManager.js +237 -0
  87. package/cjs/domain/rumEventsCollection/resource/resourceTrackerManager.js.map +1 -0
  88. package/cjs/domain/rumEventsCollection/resource/resourceUtils.js +240 -0
  89. package/cjs/domain/rumEventsCollection/resource/resourceUtils.js.map +1 -0
  90. package/cjs/domain/rumEventsCollection/resource/retrieveInitialDocumentResourceTiming.js +25 -0
  91. package/cjs/domain/rumEventsCollection/resource/retrieveInitialDocumentResourceTiming.js.map +1 -0
  92. package/cjs/domain/rumEventsCollection/view/interactionCountPolyfill.js +54 -0
  93. package/cjs/domain/rumEventsCollection/view/interactionCountPolyfill.js.map +1 -0
  94. package/cjs/domain/rumEventsCollection/view/trackCommonViewMetrics.js +48 -0
  95. package/cjs/domain/rumEventsCollection/view/trackCommonViewMetrics.js.map +1 -0
  96. package/cjs/domain/rumEventsCollection/view/trackCumulativeLayoutShift.js +125 -0
  97. package/cjs/domain/rumEventsCollection/view/trackCumulativeLayoutShift.js.map +1 -0
  98. package/cjs/domain/rumEventsCollection/view/trackFirstContentfulPaint.js +27 -0
  99. package/cjs/domain/rumEventsCollection/view/trackFirstContentfulPaint.js.map +1 -0
  100. package/cjs/domain/rumEventsCollection/view/trackFirstHidden.js +55 -0
  101. package/cjs/domain/rumEventsCollection/view/trackFirstHidden.js.map +1 -0
  102. package/cjs/domain/rumEventsCollection/view/trackFirstInput.js +47 -0
  103. package/cjs/domain/rumEventsCollection/view/trackFirstInput.js.map +1 -0
  104. package/cjs/domain/rumEventsCollection/view/trackInitialViewTimings.js +51 -0
  105. package/cjs/domain/rumEventsCollection/view/trackInitialViewTimings.js.map +1 -0
  106. package/cjs/domain/rumEventsCollection/view/trackInteractionToNextPaint.js +162 -0
  107. package/cjs/domain/rumEventsCollection/view/trackInteractionToNextPaint.js.map +1 -0
  108. package/cjs/domain/rumEventsCollection/view/trackLargestContentfulPaint.js +61 -0
  109. package/cjs/domain/rumEventsCollection/view/trackLargestContentfulPaint.js.map +1 -0
  110. package/cjs/domain/rumEventsCollection/view/trackLoadingTime.js +51 -0
  111. package/cjs/domain/rumEventsCollection/view/trackLoadingTime.js.map +1 -0
  112. package/cjs/domain/rumEventsCollection/view/trackNavigationTimings.js +57 -0
  113. package/cjs/domain/rumEventsCollection/view/trackNavigationTimings.js.map +1 -0
  114. package/cjs/domain/rumEventsCollection/view/trackScrollMetrics.js +92 -0
  115. package/cjs/domain/rumEventsCollection/view/trackScrollMetrics.js.map +1 -0
  116. package/cjs/domain/rumEventsCollection/view/trackViewEventCounts.js +21 -0
  117. package/cjs/domain/rumEventsCollection/view/trackViewEventCounts.js.map +1 -0
  118. package/cjs/domain/rumEventsCollection/view/trackViews.js +269 -0
  119. package/cjs/domain/rumEventsCollection/view/trackViews.js.map +1 -0
  120. package/cjs/domain/rumEventsCollection/view/viewCollection.js +131 -0
  121. package/cjs/domain/rumEventsCollection/view/viewCollection.js.map +1 -0
  122. package/cjs/domain/rumSessionManager.js +187 -0
  123. package/cjs/domain/rumSessionManager.js.map +1 -0
  124. package/cjs/domain/tracing/ddtraceTracer.js +46 -0
  125. package/cjs/domain/tracing/ddtraceTracer.js.map +1 -0
  126. package/cjs/domain/tracing/getDocumentTraceId.js +80 -0
  127. package/cjs/domain/tracing/getDocumentTraceId.js.map +1 -0
  128. package/cjs/domain/tracing/jaegerTracer.js +48 -0
  129. package/cjs/domain/tracing/jaegerTracer.js.map +1 -0
  130. package/cjs/domain/tracing/sampler.js +69 -0
  131. package/cjs/domain/tracing/sampler.js.map +1 -0
  132. package/cjs/domain/tracing/skywalkingTracer.js +96 -0
  133. package/cjs/domain/tracing/skywalkingTracer.js.map +1 -0
  134. package/cjs/domain/tracing/traceIdentifier.js +66 -0
  135. package/cjs/domain/tracing/traceIdentifier.js.map +1 -0
  136. package/cjs/domain/tracing/tracer.js +133 -0
  137. package/cjs/domain/tracing/tracer.js.map +1 -0
  138. package/cjs/domain/tracing/w3cTraceParentTracer.js +74 -0
  139. package/cjs/domain/tracing/w3cTraceParentTracer.js.map +1 -0
  140. package/cjs/domain/tracing/zipkinMultiTracer.js +48 -0
  141. package/cjs/domain/tracing/zipkinMultiTracer.js.map +1 -0
  142. package/cjs/domain/tracing/zipkinSingleTracer.js +47 -0
  143. package/cjs/domain/tracing/zipkinSingleTracer.js.map +1 -0
  144. package/cjs/domain/trackEventCounts.js +55 -0
  145. package/cjs/domain/trackEventCounts.js.map +1 -0
  146. package/cjs/domain/usr/index.js +44 -0
  147. package/cjs/domain/usr/index.js.map +1 -0
  148. package/cjs/domain/waitPageActivityEnd.js +151 -0
  149. package/cjs/domain/waitPageActivityEnd.js.map +1 -0
  150. package/cjs/index.js +13 -0
  151. package/cjs/index.js.map +1 -0
  152. package/cjs/transport/startRumBatch.js +26 -0
  153. package/cjs/transport/startRumBatch.js.map +1 -0
  154. package/cjs/transport/startRumEventBridge.js +15 -0
  155. package/cjs/transport/startRumEventBridge.js.map +1 -0
  156. package/esm/boot/buildEnv.js +5 -0
  157. package/esm/boot/buildEnv.js.map +1 -0
  158. package/esm/boot/perStartRum.js +221 -0
  159. package/esm/boot/perStartRum.js.map +1 -0
  160. package/esm/boot/rum.js +173 -0
  161. package/esm/boot/rum.js.map +1 -0
  162. package/esm/boot/rum.slim.entry.js +7 -0
  163. package/esm/boot/rum.slim.entry.js.map +1 -0
  164. package/esm/boot/rumEntryFactory.js +9 -0
  165. package/esm/boot/rumEntryFactory.js.map +1 -0
  166. package/esm/boot/rumPublicApi.js +279 -0
  167. package/esm/boot/rumPublicApi.js.map +1 -0
  168. package/esm/boot/rumRecorderApiStub.js +13 -0
  169. package/esm/boot/rumRecorderApiStub.js.map +1 -0
  170. package/esm/boot/rumSlimConfiguration.js +10 -0
  171. package/esm/boot/rumSlimConfiguration.js.map +1 -0
  172. package/esm/constants.js +35 -0
  173. package/esm/constants.js.map +1 -0
  174. package/esm/domain/assembly.js +166 -0
  175. package/esm/domain/assembly.js.map +1 -0
  176. package/esm/domain/configuration.js +266 -0
  177. package/esm/domain/configuration.js.map +1 -0
  178. package/esm/domain/contexts/commonContext.js +8 -0
  179. package/esm/domain/contexts/commonContext.js.map +1 -0
  180. package/esm/domain/contexts/displayContext.js +16 -0
  181. package/esm/domain/contexts/displayContext.js.map +1 -0
  182. package/esm/domain/contexts/foregroundContexts.js +103 -0
  183. package/esm/domain/contexts/foregroundContexts.js.map +1 -0
  184. package/esm/domain/contexts/internalContext.js +41 -0
  185. package/esm/domain/contexts/internalContext.js.map +1 -0
  186. package/esm/domain/contexts/pageStateHistory.js +104 -0
  187. package/esm/domain/contexts/pageStateHistory.js.map +1 -0
  188. package/esm/domain/contexts/urlContexts.js +67 -0
  189. package/esm/domain/contexts/urlContexts.js.map +1 -0
  190. package/esm/domain/contexts/viewContexts.js +44 -0
  191. package/esm/domain/contexts/viewContexts.js.map +1 -0
  192. package/esm/domain/domMutationObservable.js +62 -0
  193. package/esm/domain/domMutationObservable.js.map +1 -0
  194. package/esm/domain/encoderStreamId.js +5 -0
  195. package/esm/domain/encoderStreamId.js.map +1 -0
  196. package/esm/domain/firstInputPolyfill.js +77 -0
  197. package/esm/domain/firstInputPolyfill.js.map +1 -0
  198. package/esm/domain/initViewportObservable.js +36 -0
  199. package/esm/domain/initViewportObservable.js.map +1 -0
  200. package/esm/domain/locationChangeObservable.js +51 -0
  201. package/esm/domain/locationChangeObservable.js.map +1 -0
  202. package/esm/domain/performanceObservable.js +116 -0
  203. package/esm/domain/performanceObservable.js.map +1 -0
  204. package/esm/domain/performanceUtils.js +40 -0
  205. package/esm/domain/performanceUtils.js.map +1 -0
  206. package/esm/domain/requestCollection.js +119 -0
  207. package/esm/domain/requestCollection.js.map +1 -0
  208. package/esm/domain/rumEventsCollection/actions/actionCollection.js +83 -0
  209. package/esm/domain/rumEventsCollection/actions/actionCollection.js.map +1 -0
  210. package/esm/domain/rumEventsCollection/actions/clickChain.js +62 -0
  211. package/esm/domain/rumEventsCollection/actions/clickChain.js.map +1 -0
  212. package/esm/domain/rumEventsCollection/actions/computeFrustration.js +67 -0
  213. package/esm/domain/rumEventsCollection/actions/computeFrustration.js.map +1 -0
  214. package/esm/domain/rumEventsCollection/actions/getActionNameFromElement.js +225 -0
  215. package/esm/domain/rumEventsCollection/actions/getActionNameFromElement.js.map +1 -0
  216. package/esm/domain/rumEventsCollection/actions/getSelectorsFromElement.js +212 -0
  217. package/esm/domain/rumEventsCollection/actions/getSelectorsFromElement.js.map +1 -0
  218. package/esm/domain/rumEventsCollection/actions/interactionSelectorCache.js +20 -0
  219. package/esm/domain/rumEventsCollection/actions/interactionSelectorCache.js.map +1 -0
  220. package/esm/domain/rumEventsCollection/actions/listenActionEvents.js +67 -0
  221. package/esm/domain/rumEventsCollection/actions/listenActionEvents.js.map +1 -0
  222. package/esm/domain/rumEventsCollection/actions/trackClickActions.js +244 -0
  223. package/esm/domain/rumEventsCollection/actions/trackClickActions.js.map +1 -0
  224. package/esm/domain/rumEventsCollection/error/errorCollection.js +83 -0
  225. package/esm/domain/rumEventsCollection/error/errorCollection.js.map +1 -0
  226. package/esm/domain/rumEventsCollection/error/trackConsoleError.js +12 -0
  227. package/esm/domain/rumEventsCollection/error/trackConsoleError.js.map +1 -0
  228. package/esm/domain/rumEventsCollection/error/trackReportError.js +19 -0
  229. package/esm/domain/rumEventsCollection/error/trackReportError.js.map +1 -0
  230. package/esm/domain/rumEventsCollection/longTask/longAnimationFrameCollection.js +55 -0
  231. package/esm/domain/rumEventsCollection/longTask/longAnimationFrameCollection.js.map +1 -0
  232. package/esm/domain/rumEventsCollection/longTask/longTaskCollection.js +38 -0
  233. package/esm/domain/rumEventsCollection/longTask/longTaskCollection.js.map +1 -0
  234. package/esm/domain/rumEventsCollection/resource/matchRequestResourceEntry.js +69 -0
  235. package/esm/domain/rumEventsCollection/resource/matchRequestResourceEntry.js.map +1 -0
  236. package/esm/domain/rumEventsCollection/resource/resourceCollection.js +233 -0
  237. package/esm/domain/rumEventsCollection/resource/resourceCollection.js.map +1 -0
  238. package/esm/domain/rumEventsCollection/resource/resourceTrackerManager.js +231 -0
  239. package/esm/domain/rumEventsCollection/resource/resourceTrackerManager.js.map +1 -0
  240. package/esm/domain/rumEventsCollection/resource/resourceUtils.js +218 -0
  241. package/esm/domain/rumEventsCollection/resource/resourceUtils.js.map +1 -0
  242. package/esm/domain/rumEventsCollection/resource/retrieveInitialDocumentResourceTiming.js +19 -0
  243. package/esm/domain/rumEventsCollection/resource/retrieveInitialDocumentResourceTiming.js.map +1 -0
  244. package/esm/domain/rumEventsCollection/view/interactionCountPolyfill.js +47 -0
  245. package/esm/domain/rumEventsCollection/view/interactionCountPolyfill.js.map +1 -0
  246. package/esm/domain/rumEventsCollection/view/trackCommonViewMetrics.js +42 -0
  247. package/esm/domain/rumEventsCollection/view/trackCommonViewMetrics.js.map +1 -0
  248. package/esm/domain/rumEventsCollection/view/trackCumulativeLayoutShift.js +117 -0
  249. package/esm/domain/rumEventsCollection/view/trackCumulativeLayoutShift.js.map +1 -0
  250. package/esm/domain/rumEventsCollection/view/trackFirstContentfulPaint.js +20 -0
  251. package/esm/domain/rumEventsCollection/view/trackFirstContentfulPaint.js.map +1 -0
  252. package/esm/domain/rumEventsCollection/view/trackFirstHidden.js +49 -0
  253. package/esm/domain/rumEventsCollection/view/trackFirstHidden.js.map +1 -0
  254. package/esm/domain/rumEventsCollection/view/trackFirstInput.js +41 -0
  255. package/esm/domain/rumEventsCollection/view/trackFirstInput.js.map +1 -0
  256. package/esm/domain/rumEventsCollection/view/trackInitialViewTimings.js +44 -0
  257. package/esm/domain/rumEventsCollection/view/trackInitialViewTimings.js.map +1 -0
  258. package/esm/domain/rumEventsCollection/view/trackInteractionToNextPaint.js +153 -0
  259. package/esm/domain/rumEventsCollection/view/trackInteractionToNextPaint.js.map +1 -0
  260. package/esm/domain/rumEventsCollection/view/trackLargestContentfulPaint.js +54 -0
  261. package/esm/domain/rumEventsCollection/view/trackLargestContentfulPaint.js.map +1 -0
  262. package/esm/domain/rumEventsCollection/view/trackLoadingTime.js +45 -0
  263. package/esm/domain/rumEventsCollection/view/trackLoadingTime.js.map +1 -0
  264. package/esm/domain/rumEventsCollection/view/trackNavigationTimings.js +51 -0
  265. package/esm/domain/rumEventsCollection/view/trackNavigationTimings.js.map +1 -0
  266. package/esm/domain/rumEventsCollection/view/trackScrollMetrics.js +84 -0
  267. package/esm/domain/rumEventsCollection/view/trackScrollMetrics.js.map +1 -0
  268. package/esm/domain/rumEventsCollection/view/trackViewEventCounts.js +15 -0
  269. package/esm/domain/rumEventsCollection/view/trackViewEventCounts.js.map +1 -0
  270. package/esm/domain/rumEventsCollection/view/trackViews.js +262 -0
  271. package/esm/domain/rumEventsCollection/view/trackViews.js.map +1 -0
  272. package/esm/domain/rumEventsCollection/view/viewCollection.js +125 -0
  273. package/esm/domain/rumEventsCollection/view/viewCollection.js.map +1 -0
  274. package/esm/domain/rumSessionManager.js +179 -0
  275. package/esm/domain/rumSessionManager.js.map +1 -0
  276. package/esm/domain/tracing/ddtraceTracer.js +40 -0
  277. package/esm/domain/tracing/ddtraceTracer.js.map +1 -0
  278. package/esm/domain/tracing/getDocumentTraceId.js +69 -0
  279. package/esm/domain/tracing/getDocumentTraceId.js.map +1 -0
  280. package/esm/domain/tracing/jaegerTracer.js +42 -0
  281. package/esm/domain/tracing/jaegerTracer.js.map +1 -0
  282. package/esm/domain/tracing/sampler.js +61 -0
  283. package/esm/domain/tracing/sampler.js.map +1 -0
  284. package/esm/domain/tracing/skywalkingTracer.js +90 -0
  285. package/esm/domain/tracing/skywalkingTracer.js.map +1 -0
  286. package/esm/domain/tracing/traceIdentifier.js +57 -0
  287. package/esm/domain/tracing/traceIdentifier.js.map +1 -0
  288. package/esm/domain/tracing/tracer.js +124 -0
  289. package/esm/domain/tracing/tracer.js.map +1 -0
  290. package/esm/domain/tracing/w3cTraceParentTracer.js +69 -0
  291. package/esm/domain/tracing/w3cTraceParentTracer.js.map +1 -0
  292. package/esm/domain/tracing/zipkinMultiTracer.js +42 -0
  293. package/esm/domain/tracing/zipkinMultiTracer.js.map +1 -0
  294. package/esm/domain/tracing/zipkinSingleTracer.js +41 -0
  295. package/esm/domain/tracing/zipkinSingleTracer.js.map +1 -0
  296. package/esm/domain/trackEventCounts.js +49 -0
  297. package/esm/domain/trackEventCounts.js.map +1 -0
  298. package/esm/domain/usr/index.js +38 -0
  299. package/esm/domain/usr/index.js.map +1 -0
  300. package/esm/domain/waitPageActivityEnd.js +142 -0
  301. package/esm/domain/waitPageActivityEnd.js.map +1 -0
  302. package/esm/index.js +3 -0
  303. package/esm/index.js.map +1 -0
  304. package/esm/transport/startRumBatch.js +20 -0
  305. package/esm/transport/startRumBatch.js.map +1 -0
  306. package/esm/transport/startRumEventBridge.js +9 -0
  307. package/esm/transport/startRumEventBridge.js.map +1 -0
  308. package/package.json +39 -0
  309. package/types/index.d.ts +134 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assembly.js","names":["_browserCore","require","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","toPrimitive","call","TypeError","String","Number","SessionType","SYNTHETICS","USER","VIEW_MODIFIABLE_FIELD_PATHS","USER_CUSTOMIZABLE_FIELD_PATHS","context","ROOT_MODIFIABLE_FIELD_PATHS","service","version","modifiableFieldPathsByEvent","startRumAssembly","configuration","lifeCycle","sessionManager","userSessionManager","viewContexts","urlContexts","actionContexts","displayContext","getCommonContext","reportError","RumEventType","VIEW","ERROR","assign","RESOURCE","ACTION","LONG_TASK","eventRateLimiters","createEventRateLimiter","eventRateLimiterThreshold","subscribe","LifeCycleEventType","RAW_RUM_EVENT_COLLECTED","data","startTime","rawRumEvent","savedCommonContext","customerContext","domainContext","viewContext","findView","urlContext","findUrl","session","findTrackedSession","isErrorSession","sessionHasError","actionId","findActionId","actionIds","findAllActionId","commonContext","rumContext","_gc","sdkName","sdkVersion","drift","currentDrift","session_sample_rate","round","sessionSampleRate","session_replay_sample_rate","sessionReplaySampleRate","session_on_error_sample_rate","sessionOnErrorSampleRate","session_replay_on_error_sample_rate","sessionReplayOnErrorSampleRate","terminal","type","application","id","applicationId","device","deviceInfo","env","source","date","timeStampNow","user","getId","is_signin","is_login","getSessionType","is_forced_session","isSessionForced","view","name","path","url","referrer","host","pathGroup","pathname","urlQuery","action","needToAssembleWithAction","ids","undefined","display","get","rumEvent","extend2Lev","serverRumEvent","withSnakeCaseKeys","isEmptyObject","has_replay","hasReplay","errorSessionReplayAllowed","sampled_for_error_replay","sampled_for_error_session","error_timestamp_for_session","sessionErrorTimestamp","shouldSend","beforeSend","notify","RUM_EVENT_COLLECTED","event","result","limitModification","warn","rateLimitReached","isLimitReached","indexOf","window","_DATAFLUX_SYNTHETICS_BROWSER"],"sources":["../../../rum/src/domain/assembly.js"],"sourcesContent":["import {\n extend2Lev,\n withSnakeCaseKeys,\n timeStampNow,\n isEmptyObject,\n LifeCycleEventType,\n RumEventType,\n deviceInfo,\n currentDrift,\n createEventRateLimiter,\n limitModification,\n display,\n assign,\n round\n} from '@cloudcare/browser-core'\nvar SessionType = {\n SYNTHETICS: 'synthetics',\n USER: 'user'\n}\n\nvar VIEW_MODIFIABLE_FIELD_PATHS = {\n 'view.url': 'string',\n 'view.referrer': 'string'\n}\n\nvar USER_CUSTOMIZABLE_FIELD_PATHS = {\n context: 'object'\n}\nconst ROOT_MODIFIABLE_FIELD_PATHS = {\n service: 'string',\n version: 'string'\n}\nvar modifiableFieldPathsByEvent = {}\nexport function startRumAssembly(\n configuration,\n lifeCycle,\n sessionManager,\n userSessionManager,\n viewContexts,\n urlContexts,\n actionContexts,\n displayContext,\n getCommonContext,\n reportError\n) {\n modifiableFieldPathsByEvent[RumEventType.VIEW] = {\n ...USER_CUSTOMIZABLE_FIELD_PATHS,\n ...VIEW_MODIFIABLE_FIELD_PATHS\n }\n modifiableFieldPathsByEvent[RumEventType.ERROR] = assign(\n {\n 'error.message': 'string',\n 'error.stack': 'string',\n 'error.resource.url': 'string'\n },\n USER_CUSTOMIZABLE_FIELD_PATHS,\n VIEW_MODIFIABLE_FIELD_PATHS,\n ROOT_MODIFIABLE_FIELD_PATHS\n )\n modifiableFieldPathsByEvent[RumEventType.RESOURCE] = assign(\n {\n 'resource.url': 'string'\n },\n USER_CUSTOMIZABLE_FIELD_PATHS,\n VIEW_MODIFIABLE_FIELD_PATHS,\n ROOT_MODIFIABLE_FIELD_PATHS\n )\n modifiableFieldPathsByEvent[RumEventType.ACTION] = assign(\n {\n 'action.target.name': 'string'\n },\n USER_CUSTOMIZABLE_FIELD_PATHS,\n VIEW_MODIFIABLE_FIELD_PATHS,\n ROOT_MODIFIABLE_FIELD_PATHS\n )\n modifiableFieldPathsByEvent[RumEventType.LONG_TASK] = assign(\n {},\n USER_CUSTOMIZABLE_FIELD_PATHS,\n VIEW_MODIFIABLE_FIELD_PATHS\n )\n var eventRateLimiters = {}\n eventRateLimiters[RumEventType.ERROR] = createEventRateLimiter(\n RumEventType.ERROR,\n configuration.eventRateLimiterThreshold,\n reportError\n )\n eventRateLimiters[RumEventType.ACTION] = createEventRateLimiter(\n RumEventType.ACTION,\n configuration.eventRateLimiterThreshold,\n reportError\n )\n lifeCycle.subscribe(\n LifeCycleEventType.RAW_RUM_EVENT_COLLECTED,\n function (data) {\n var startTime = data.startTime\n var rawRumEvent = data.rawRumEvent\n var savedCommonContext = data.savedCommonContext\n var customerContext = data.customerContext\n var domainContext = data.domainContext\n var viewContext = viewContexts.findView(startTime)\n var urlContext = urlContexts.findUrl(startTime)\n var session = sessionManager.findTrackedSession(startTime)\n if (session && session.isErrorSession && !session.sessionHasError) return\n if (session && viewContext && urlContext) {\n var actionId = actionContexts.findActionId(startTime)\n var actionIds = actionContexts.findAllActionId(startTime)\n var commonContext = savedCommonContext || getCommonContext()\n var rumContext = {\n _gc: {\n sdkName: configuration.sdkName,\n sdkVersion: configuration.sdkVersion,\n drift: currentDrift(),\n configuration: {\n session_sample_rate: round(configuration.sessionSampleRate, 3),\n session_replay_sample_rate: round(\n configuration.sessionReplaySampleRate,\n 3\n ),\n session_on_error_sample_rate: round(\n configuration.sessionOnErrorSampleRate,\n 3\n ),\n session_replay_on_error_sample_rate: round(\n configuration.sessionReplayOnErrorSampleRate,\n 3\n )\n }\n },\n terminal: {\n type: 'web'\n },\n application: {\n id: configuration.applicationId\n },\n device: deviceInfo,\n env: configuration.env || '',\n service: viewContext.service || configuration.service || 'browser',\n version: viewContext.version || configuration.version || '',\n source: 'browser',\n date: timeStampNow(),\n user: {\n id: userSessionManager.getId(),\n is_signin: 'F',\n is_login: false\n },\n session: {\n // must be computed on each event because synthetics instrumentation can be done after sdk execution\n // cf https://github.com/puppeteer/puppeteer/issues/3667\n type: getSessionType(),\n id: session.id,\n is_forced_session: session.isSessionForced\n },\n view: {\n id: viewContext.id,\n name: viewContext.name || urlContext.path,\n url: urlContext.url,\n referrer: urlContext.referrer,\n host: urlContext.host,\n path: urlContext.path,\n pathGroup: urlContext.pathGroup,\n pathname: urlContext.pathname,\n urlQuery: urlContext.urlQuery\n },\n action:\n needToAssembleWithAction(rawRumEvent) && actionId\n ? { id: actionId, ids: actionIds }\n : undefined,\n display: displayContext.get()\n }\n var rumEvent = extend2Lev(rumContext, viewContext, rawRumEvent)\n var serverRumEvent = withSnakeCaseKeys(rumEvent)\n var context = extend2Lev(\n {},\n commonContext.context,\n viewContext.context,\n customerContext\n )\n if (!isEmptyObject(context)) {\n serverRumEvent.context = context\n }\n if (!('has_replay' in serverRumEvent.session)) {\n serverRumEvent.session.has_replay = commonContext.hasReplay\n }\n\n if (session.errorSessionReplayAllowed) {\n serverRumEvent.session.has_replay =\n serverRumEvent.session.has_replay && session.sessionHasError\n }\n if (serverRumEvent.type === 'view') {\n serverRumEvent.session.sampled_for_error_replay =\n session.errorSessionReplayAllowed\n serverRumEvent.session.sampled_for_error_session =\n session.isErrorSession\n serverRumEvent.session.error_timestamp_for_session =\n session.sessionErrorTimestamp\n }\n if (!isEmptyObject(commonContext.user)) {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n serverRumEvent.user = extend2Lev(\n {\n // id: session.getAnonymousID(),\n is_signin: 'T',\n is_login: true\n },\n commonContext.user\n )\n }\n\n if (\n shouldSend(\n serverRumEvent,\n configuration.beforeSend,\n domainContext,\n eventRateLimiters\n )\n ) {\n if (isEmptyObject(serverRumEvent.context)) {\n delete serverRumEvent.context\n }\n lifeCycle.notify(\n LifeCycleEventType.RUM_EVENT_COLLECTED,\n serverRumEvent\n )\n }\n }\n }\n )\n}\n\nfunction shouldSend(event, beforeSend, domainContext, eventRateLimiters) {\n if (beforeSend) {\n var result = limitModification(\n event,\n modifiableFieldPathsByEvent[event.type],\n function (event) {\n return beforeSend(event, domainContext)\n }\n )\n if (result === false && event.type !== RumEventType.VIEW) {\n return false\n }\n if (result === false) {\n display.warn(\"Can't dismiss view events using beforeSend!\")\n }\n }\n var rateLimitReached = false\n if (eventRateLimiters[event.type]) {\n rateLimitReached = eventRateLimiters[event.type].isLimitReached()\n }\n return !rateLimitReached\n}\nfunction needToAssembleWithAction(event) {\n return (\n [RumEventType.ERROR, RumEventType.RESOURCE, RumEventType.LONG_TASK].indexOf(\n event.type\n ) !== -1\n )\n}\n\nfunction getSessionType() {\n return window._DATAFLUX_SYNTHETICS_BROWSER === undefined\n ? SessionType.USER\n : SessionType.SYNTHETICS\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,272 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.validateAndBuildRumConfiguration = validateAndBuildRumConfiguration;
7
+ var _browserCore = require("@cloudcare/browser-core");
8
+ var _buildEnv = require("../boot/buildEnv");
9
+ var _tracer = require("../domain/tracing/tracer");
10
+ var REPLAY_CANVAS_QUALITY_PRESETS = {
11
+ low: {
12
+ quality: 0.25,
13
+ sampling: 1,
14
+ autoInterval: 1500,
15
+ autoCooldown: 3000,
16
+ autoUnchangedBackoff: 5000,
17
+ autoFailureBackoff: 7000,
18
+ autoMaxPerRun: 1
19
+ },
20
+ medium: {
21
+ quality: 0.4,
22
+ sampling: 2,
23
+ autoInterval: 1000,
24
+ autoCooldown: 2000,
25
+ autoUnchangedBackoff: 3000,
26
+ autoFailureBackoff: 5000,
27
+ autoMaxPerRun: 2
28
+ },
29
+ high: {
30
+ quality: 0.5,
31
+ sampling: 4,
32
+ autoInterval: 700,
33
+ autoCooldown: 1400,
34
+ autoUnchangedBackoff: 2000,
35
+ autoFailureBackoff: 4000,
36
+ autoMaxPerRun: 4
37
+ }
38
+ };
39
+ function getReplayCanvasQualityPreset(value) {
40
+ return typeof value === 'string' ? REPLAY_CANVAS_QUALITY_PRESETS[value] : undefined;
41
+ }
42
+ function validateAndBuildRumConfiguration(initConfiguration) {
43
+ if (!initConfiguration.applicationId) {
44
+ _browserCore.display.error('Application ID is not configured, no RUM data will be collected.');
45
+ return;
46
+ }
47
+ var requireParamsValidate = (0, _browserCore.validatePostRequestRequireParamsConfiguration)(initConfiguration);
48
+ if (!requireParamsValidate) return;
49
+ if (initConfiguration.sessionOnErrorSampleRate !== undefined && !(0, _browserCore.isPercentage)(initConfiguration.sessionOnErrorSampleRate)) {
50
+ _browserCore.display.error('Error Session Sample Rate should be a number between 0 and 100');
51
+ return;
52
+ }
53
+ if (initConfiguration.sessionReplaySampleRate !== undefined && !(0, _browserCore.isPercentage)(initConfiguration.sessionReplaySampleRate)) {
54
+ _browserCore.display.error('Session Replay Sample Rate should be a number between 0 and 100');
55
+ return;
56
+ }
57
+ if (initConfiguration.sessionReplayOnErrorSampleRate !== undefined && !(0, _browserCore.isPercentage)(initConfiguration.sessionReplayOnErrorSampleRate)) {
58
+ _browserCore.display.error('Error Session Replay Sample Rate should be a number between 0 and 100');
59
+ return;
60
+ }
61
+ var allowedTracingUrls = validateAndBuildTracingOptions(initConfiguration);
62
+ if (!allowedTracingUrls) {
63
+ return;
64
+ }
65
+ // if (initConfiguration.allowedTracingOrigins !== undefined) {
66
+ // if (!isArray(initConfiguration.allowedTracingOrigins)) {
67
+ // display.error('Allowed Tracing Origins should be an array')
68
+ // return
69
+ // }
70
+ // }
71
+ // if (initConfiguration.allowedDDTracingOrigins !== undefined) {
72
+ // if (!isArray(initConfiguration.allowedDDTracingOrigins)) {
73
+ // display.error('Allowed Tracing Origins should be an array')
74
+ // return
75
+ // }
76
+ // }
77
+ if (initConfiguration.tracingSampleRate !== undefined && !(0, _browserCore.isPercentage)(initConfiguration.tracingSampleRate)) {
78
+ _browserCore.display.error('Tracing Sample Rate should be a number between 0 and 100');
79
+ return;
80
+ }
81
+ if (initConfiguration.excludedActivityUrls !== undefined && !(0, _browserCore.isArray)(initConfiguration.excludedActivityUrls)) {
82
+ _browserCore.display.error('Excluded Activity Urls should be an array');
83
+ return;
84
+ }
85
+ if (initConfiguration.replayCanvasMode !== undefined && initConfiguration.replayCanvasMode !== 'manual' && initConfiguration.replayCanvasMode !== 'auto') {
86
+ _browserCore.display.error("Replay Canvas Mode should be 'manual' or 'auto'");
87
+ return;
88
+ }
89
+ if (initConfiguration.replayCanvasQuality !== undefined && !(getReplayCanvasQualityPreset(initConfiguration.replayCanvasQuality) || typeof initConfiguration.replayCanvasQuality === 'number' && initConfiguration.replayCanvasQuality >= 0 && initConfiguration.replayCanvasQuality <= 1)) {
90
+ _browserCore.display.error("Replay Canvas Quality should be 'low', 'medium', 'high', or a number between 0 and 1");
91
+ return;
92
+ }
93
+ if (initConfiguration.replayCanvasSampling !== undefined && !(initConfiguration.replayCanvasSampling === 'all' || (0, _browserCore.isNumber)(initConfiguration.replayCanvasSampling) && initConfiguration.replayCanvasSampling > 0)) {
94
+ _browserCore.display.error("Replay Canvas Sampling should be 'all' or a positive number");
95
+ return;
96
+ }
97
+ if (initConfiguration.replayCanvasMaxCanvasSize !== undefined && (!(0, _browserCore.isNumber)(initConfiguration.replayCanvasMaxCanvasSize) || initConfiguration.replayCanvasMaxCanvasSize <= 0)) {
98
+ _browserCore.display.error('Replay Canvas Max Canvas Size should be a positive number');
99
+ return;
100
+ }
101
+ if (initConfiguration.replayCanvasMaxEncodedBytes !== undefined && (!(0, _browserCore.isNumber)(initConfiguration.replayCanvasMaxEncodedBytes) || initConfiguration.replayCanvasMaxEncodedBytes <= 0)) {
102
+ _browserCore.display.error('Replay Canvas Max Encoded Bytes should be a positive number');
103
+ return;
104
+ }
105
+ if (initConfiguration.replayCanvasMaxConcurrentEncodes !== undefined && (!(0, _browserCore.isNumber)(initConfiguration.replayCanvasMaxConcurrentEncodes) || initConfiguration.replayCanvasMaxConcurrentEncodes <= 0)) {
106
+ _browserCore.display.error('Replay Canvas Max Concurrent Encodes should be a positive number');
107
+ return;
108
+ }
109
+ if (initConfiguration.replayCanvasAutoInterval !== undefined && (!(0, _browserCore.isNumber)(initConfiguration.replayCanvasAutoInterval) || initConfiguration.replayCanvasAutoInterval <= 0)) {
110
+ _browserCore.display.error('Replay Canvas Auto Interval should be a positive number');
111
+ return;
112
+ }
113
+ if (initConfiguration.replayCanvasAutoCooldown !== undefined && (!(0, _browserCore.isNumber)(initConfiguration.replayCanvasAutoCooldown) || initConfiguration.replayCanvasAutoCooldown <= 0)) {
114
+ _browserCore.display.error('Replay Canvas Auto Cooldown should be a positive number');
115
+ return;
116
+ }
117
+ if (initConfiguration.replayCanvasAutoUnchangedBackoff !== undefined && (!(0, _browserCore.isNumber)(initConfiguration.replayCanvasAutoUnchangedBackoff) || initConfiguration.replayCanvasAutoUnchangedBackoff <= 0)) {
118
+ _browserCore.display.error('Replay Canvas Auto Unchanged Backoff should be a positive number');
119
+ return;
120
+ }
121
+ if (initConfiguration.replayCanvasAutoFailureBackoff !== undefined && (!(0, _browserCore.isNumber)(initConfiguration.replayCanvasAutoFailureBackoff) || initConfiguration.replayCanvasAutoFailureBackoff <= 0)) {
122
+ _browserCore.display.error('Replay Canvas Auto Failure Backoff should be a positive number');
123
+ return;
124
+ }
125
+ if (initConfiguration.replayCanvasAutoMaxPerRun !== undefined && (!(0, _browserCore.isNumber)(initConfiguration.replayCanvasAutoMaxPerRun) || initConfiguration.replayCanvasAutoMaxPerRun <= 0)) {
126
+ _browserCore.display.error('Replay Canvas Auto Max Per Run should be a positive number');
127
+ return;
128
+ }
129
+ var baseConfiguration = (0, _browserCore.validateAndBuildConfiguration)(initConfiguration);
130
+ if (!baseConfiguration) {
131
+ return;
132
+ }
133
+ var trackUserInteractions = !!(0, _browserCore.isNullUndefinedDefaultValue)(initConfiguration.trackUserInteractions, initConfiguration.trackInteractions);
134
+ var replayCanvasMode = (0, _browserCore.isNullUndefinedDefaultValue)(initConfiguration.replayCanvasMode, 'auto');
135
+ var replayCanvasQualityPreset = getReplayCanvasQualityPreset(initConfiguration.replayCanvasQuality);
136
+ var replayCanvasSampling = initConfiguration.replayCanvasSampling;
137
+ if (replayCanvasSampling === undefined || replayCanvasSampling === null) {
138
+ replayCanvasSampling = replayCanvasQualityPreset ? replayCanvasQualityPreset.sampling : 2;
139
+ }
140
+ return (0, _browserCore.assign)({
141
+ applicationId: initConfiguration.applicationId,
142
+ actionNameAttribute: initConfiguration.actionNameAttribute,
143
+ sessionReplaySampleRate: (0, _browserCore.isNullUndefinedDefaultValue)(initConfiguration.sessionReplaySampleRate, 100),
144
+ sessionOnErrorSampleRate: (0, _browserCore.isNullUndefinedDefaultValue)(initConfiguration.sessionOnErrorSampleRate, 0),
145
+ sessionReplayOnErrorSampleRate: (0, _browserCore.isNullUndefinedDefaultValue)(initConfiguration.sessionReplayOnErrorSampleRate, 0),
146
+ tracingSampleRate: (0, _browserCore.isNullUndefinedDefaultValue)(initConfiguration.tracingSampleRate, 100),
147
+ allowedTracingUrls: allowedTracingUrls,
148
+ injectTraceHeader: initConfiguration.injectTraceHeader && (0, _browserCore.catchUserErrors)(initConfiguration.injectTraceHeader, 'injectTraceHeader threw an error:'),
149
+ generateTraceId: initConfiguration.generateTraceId && (0, _browserCore.catchUserErrors)(initConfiguration.generateTraceId, 'generateTraceId threw an error:'),
150
+ excludedActivityUrls: (0, _browserCore.isNullUndefinedDefaultValue)(initConfiguration.excludedActivityUrls, []),
151
+ workerUrl: initConfiguration.workerUrl,
152
+ replayCanvasWorkerUrl: initConfiguration.replayCanvasWorkerUrl,
153
+ compressIntakeRequests: !!initConfiguration.compressIntakeRequests,
154
+ trackUserInteractions: trackUserInteractions,
155
+ enableLongAnimationFrame: !!initConfiguration.enableLongAnimationFrame,
156
+ trackViewsManually: !!initConfiguration.trackViewsManually,
157
+ replayCanvasEnabled: !!initConfiguration.replayCanvasEnabled,
158
+ replayCanvasMode: replayCanvasMode,
159
+ replayCanvasSampling: replayCanvasSampling,
160
+ replayCanvasQuality: (0, _browserCore.isNullUndefinedDefaultValue)(replayCanvasQualityPreset ? replayCanvasQualityPreset.quality : initConfiguration.replayCanvasQuality, 0.4),
161
+ replayCanvasMimeType: (0, _browserCore.isNullUndefinedDefaultValue)(initConfiguration.replayCanvasMimeType, 'image/webp'),
162
+ replayCanvasMaxCanvasSize: (0, _browserCore.isNullUndefinedDefaultValue)(initConfiguration.replayCanvasMaxCanvasSize, 1280),
163
+ replayCanvasMaxEncodedBytes: (0, _browserCore.isNullUndefinedDefaultValue)(initConfiguration.replayCanvasMaxEncodedBytes, 40000),
164
+ replayCanvasMaxConcurrentEncodes: (0, _browserCore.isNullUndefinedDefaultValue)(initConfiguration.replayCanvasMaxConcurrentEncodes, 1),
165
+ replayCanvasAutoInterval: (0, _browserCore.isNullUndefinedDefaultValue)(initConfiguration.replayCanvasAutoInterval, replayCanvasQualityPreset ? replayCanvasQualityPreset.autoInterval : undefined, 1000),
166
+ replayCanvasAutoCooldown: (0, _browserCore.isNullUndefinedDefaultValue)(initConfiguration.replayCanvasAutoCooldown, replayCanvasQualityPreset ? replayCanvasQualityPreset.autoCooldown : undefined, 1000),
167
+ replayCanvasAutoUnchangedBackoff: (0, _browserCore.isNullUndefinedDefaultValue)(initConfiguration.replayCanvasAutoUnchangedBackoff, replayCanvasQualityPreset ? replayCanvasQualityPreset.autoUnchangedBackoff : undefined, 3000),
168
+ replayCanvasAutoFailureBackoff: (0, _browserCore.isNullUndefinedDefaultValue)(initConfiguration.replayCanvasAutoFailureBackoff, replayCanvasQualityPreset ? replayCanvasQualityPreset.autoFailureBackoff : undefined, 5000),
169
+ replayCanvasAutoMaxPerRun: (0, _browserCore.isNullUndefinedDefaultValue)(initConfiguration.replayCanvasAutoMaxPerRun, replayCanvasQualityPreset ? replayCanvasQualityPreset.autoMaxPerRun : undefined, 2),
170
+ replayCanvasFlushImmediately: (0, _browserCore.isNullUndefinedDefaultValue)(initConfiguration.replayCanvasFlushImmediately, replayCanvasMode === 'manual'),
171
+ traceType: (0, _browserCore.isNullUndefinedDefaultValue)(initConfiguration.traceType, _browserCore.TraceType.DDTRACE),
172
+ traceId128Bit: !!initConfiguration.traceId128Bit,
173
+ defaultPrivacyLevel: (0, _browserCore.objectHasValue)(_browserCore.DefaultPrivacyLevel, initConfiguration.defaultPrivacyLevel) ? initConfiguration.defaultPrivacyLevel : _browserCore.DefaultPrivacyLevel.MASK_USER_INPUT,
174
+ shouldMaskNode: initConfiguration.shouldMaskNode && (0, _browserCore.catchUserErrors)(initConfiguration.shouldMaskNode, 'shouldMaskNode threw an error:'),
175
+ shouldRecordCanvas: initConfiguration.shouldRecordCanvas && (0, _browserCore.catchUserErrors)(initConfiguration.shouldRecordCanvas, 'shouldRecordCanvas threw an error:')
176
+ }, baseConfiguration, _buildEnv.buildEnv);
177
+ }
178
+ /**
179
+ * Handles allowedTracingUrls and processes legacy allowedTracingOrigins
180
+ */
181
+ function validateAndBuildTracingOptions(initConfiguration) {
182
+ // Advise about parameters precedence.
183
+ if (initConfiguration.allowedTracingUrls !== undefined && initConfiguration.allowedTracingOrigins !== undefined) {
184
+ _browserCore.display.warn('Both allowedTracingUrls and allowedTracingOrigins (deprecated) have been defined. The parameter allowedTracingUrls will override allowedTracingOrigins.');
185
+ }
186
+ // Handle allowedTracingUrls first
187
+ if (initConfiguration.allowedTracingUrls !== undefined) {
188
+ if (!(0, _browserCore.isArray)(initConfiguration.allowedTracingUrls)) {
189
+ _browserCore.display.error('Allowed Tracing URLs should be an array');
190
+ return;
191
+ }
192
+ // if (initConfiguration.allowedTracingUrls.length !== 0 && initConfiguration.service === undefined) {
193
+ // display.error('Service needs to be configured when tracing is enabled')
194
+ // return
195
+ // }
196
+ // Convert from (MatchOption | TracingOption) to TracingOption, remove unknown properties
197
+ var tracingOptions = [];
198
+ (0, _browserCore.each)(initConfiguration.allowedTracingUrls, function (option) {
199
+ if ((0, _browserCore.isMatchOption)(option)) {
200
+ tracingOptions.push({
201
+ match: option,
202
+ traceType: (0, _browserCore.isNullUndefinedDefaultValue)(initConfiguration.traceType, _browserCore.TraceType.DDTRACE)
203
+ });
204
+ } else if ((0, _tracer.isTracingOption)(option)) {
205
+ tracingOptions.push(option);
206
+ } else {
207
+ _browserCore.display.warn('Allowed Tracing Urls parameters should be a string, RegExp, function, or an object. Ignoring parameter', option);
208
+ }
209
+ });
210
+ return tracingOptions;
211
+ }
212
+
213
+ // Handle conversion of allowedTracingOrigins to allowedTracingUrls
214
+ if (initConfiguration.allowedTracingOrigins !== undefined) {
215
+ if (!(0, _browserCore.isArray)(initConfiguration.allowedTracingOrigins)) {
216
+ _browserCore.display.error('Allowed Tracing Origins should be an array');
217
+ return;
218
+ }
219
+ var tracingOptions = [];
220
+ (0, _browserCore.each)(initConfiguration.allowedTracingOrigins, function (legacyMatchOption) {
221
+ var tracingOption = convertLegacyMatchOptionToTracingOption(legacyMatchOption, (0, _browserCore.isNullUndefinedDefaultValue)(initConfiguration.traceType, _browserCore.TraceType.DDTRACE));
222
+ if (tracingOption) {
223
+ tracingOptions.push(tracingOption);
224
+ }
225
+ });
226
+ return tracingOptions;
227
+ }
228
+ // Handle conversion of allowedDDTracingOrigins to allowedTracingUrls
229
+ if (initConfiguration.allowedDDTracingOrigins !== undefined) {
230
+ if (!(0, _browserCore.isArray)(initConfiguration.allowedDDTracingOrigins)) {
231
+ _browserCore.display.error('Allowed Tracing Origins should be an array');
232
+ return;
233
+ }
234
+ var tracingOptions = [];
235
+ (0, _browserCore.each)(initConfiguration.allowedDDTracingOrigins, function (legacyMatchOption) {
236
+ var tracingOption = convertLegacyMatchOptionToTracingOption(legacyMatchOption, (0, _browserCore.isNullUndefinedDefaultValue)(initConfiguration.traceType, _browserCore.TraceType.DDTRACE));
237
+ if (tracingOption) {
238
+ tracingOptions.push(tracingOption);
239
+ }
240
+ });
241
+ return tracingOptions;
242
+ }
243
+ return [];
244
+ }
245
+
246
+ /**
247
+ * Converts parameters from the deprecated allowedTracingOrigins
248
+ * to allowedTracingUrls. Handles the change from origin to full URLs.
249
+ */
250
+ function convertLegacyMatchOptionToTracingOption(item, traceType) {
251
+ var match;
252
+ if (typeof item === 'string') {
253
+ match = item;
254
+ } else if (item instanceof RegExp) {
255
+ match = function match(url) {
256
+ return item.test((0, _browserCore.getOrigin)(url));
257
+ };
258
+ } else if (typeof item === 'function') {
259
+ match = function match(url) {
260
+ return item((0, _browserCore.getOrigin)(url));
261
+ };
262
+ }
263
+ if (match === undefined) {
264
+ _browserCore.display.warn('Allowed Tracing Origins parameters should be a string, RegExp or function. Ignoring parameter', item);
265
+ return undefined;
266
+ }
267
+ return {
268
+ match: match,
269
+ traceType: traceType
270
+ };
271
+ }
272
+ //# sourceMappingURL=configuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration.js","names":["_browserCore","require","_buildEnv","_tracer","REPLAY_CANVAS_QUALITY_PRESETS","low","quality","sampling","autoInterval","autoCooldown","autoUnchangedBackoff","autoFailureBackoff","autoMaxPerRun","medium","high","getReplayCanvasQualityPreset","value","undefined","validateAndBuildRumConfiguration","initConfiguration","applicationId","display","error","requireParamsValidate","validatePostRequestRequireParamsConfiguration","sessionOnErrorSampleRate","isPercentage","sessionReplaySampleRate","sessionReplayOnErrorSampleRate","allowedTracingUrls","validateAndBuildTracingOptions","tracingSampleRate","excludedActivityUrls","isArray","replayCanvasMode","replayCanvasQuality","replayCanvasSampling","isNumber","replayCanvasMaxCanvasSize","replayCanvasMaxEncodedBytes","replayCanvasMaxConcurrentEncodes","replayCanvasAutoInterval","replayCanvasAutoCooldown","replayCanvasAutoUnchangedBackoff","replayCanvasAutoFailureBackoff","replayCanvasAutoMaxPerRun","baseConfiguration","validateAndBuildConfiguration","trackUserInteractions","isNullUndefinedDefaultValue","trackInteractions","replayCanvasQualityPreset","assign","actionNameAttribute","injectTraceHeader","catchUserErrors","generateTraceId","workerUrl","replayCanvasWorkerUrl","compressIntakeRequests","enableLongAnimationFrame","trackViewsManually","replayCanvasEnabled","replayCanvasMimeType","replayCanvasFlushImmediately","traceType","TraceType","DDTRACE","traceId128Bit","defaultPrivacyLevel","objectHasValue","DefaultPrivacyLevel","MASK_USER_INPUT","shouldMaskNode","shouldRecordCanvas","buildEnv","allowedTracingOrigins","warn","tracingOptions","each","option","isMatchOption","push","match","isTracingOption","legacyMatchOption","tracingOption","convertLegacyMatchOptionToTracingOption","allowedDDTracingOrigins","item","RegExp","url","test","getOrigin"],"sources":["../../../rum/src/domain/configuration.js"],"sourcesContent":["import {\n assign,\n display,\n isPercentage,\n validateAndBuildConfiguration,\n validatePostRequestRequireParamsConfiguration,\n isArray,\n TraceType,\n isNullUndefinedDefaultValue,\n DefaultPrivacyLevel,\n objectHasValue,\n isMatchOption,\n catchUserErrors,\n getOrigin,\n each,\n isNumber\n} from '@cloudcare/browser-core'\nimport { buildEnv } from '../boot/buildEnv'\nimport { isTracingOption } from '../domain/tracing/tracer'\n\nvar REPLAY_CANVAS_QUALITY_PRESETS = {\n low: {\n quality: 0.25,\n sampling: 1,\n autoInterval: 1500,\n autoCooldown: 3000,\n autoUnchangedBackoff: 5000,\n autoFailureBackoff: 7000,\n autoMaxPerRun: 1\n },\n medium: {\n quality: 0.4,\n sampling: 2,\n autoInterval: 1000,\n autoCooldown: 2000,\n autoUnchangedBackoff: 3000,\n autoFailureBackoff: 5000,\n autoMaxPerRun: 2\n },\n high: {\n quality: 0.5,\n sampling: 4,\n autoInterval: 700,\n autoCooldown: 1400,\n autoUnchangedBackoff: 2000,\n autoFailureBackoff: 4000,\n autoMaxPerRun: 4\n }\n}\n\nfunction getReplayCanvasQualityPreset(value) {\n return typeof value === 'string'\n ? REPLAY_CANVAS_QUALITY_PRESETS[value]\n : undefined\n}\n\nexport function validateAndBuildRumConfiguration(initConfiguration) {\n if (!initConfiguration.applicationId) {\n display.error(\n 'Application ID is not configured, no RUM data will be collected.'\n )\n return\n }\n var requireParamsValidate =\n validatePostRequestRequireParamsConfiguration(initConfiguration)\n if (!requireParamsValidate) return\n if (\n initConfiguration.sessionOnErrorSampleRate !== undefined &&\n !isPercentage(initConfiguration.sessionOnErrorSampleRate)\n ) {\n display.error(\n 'Error Session Sample Rate should be a number between 0 and 100'\n )\n return\n }\n if (\n initConfiguration.sessionReplaySampleRate !== undefined &&\n !isPercentage(initConfiguration.sessionReplaySampleRate)\n ) {\n display.error(\n 'Session Replay Sample Rate should be a number between 0 and 100'\n )\n return\n }\n if (\n initConfiguration.sessionReplayOnErrorSampleRate !== undefined &&\n !isPercentage(initConfiguration.sessionReplayOnErrorSampleRate)\n ) {\n display.error(\n 'Error Session Replay Sample Rate should be a number between 0 and 100'\n )\n return\n }\n var allowedTracingUrls = validateAndBuildTracingOptions(initConfiguration)\n if (!allowedTracingUrls) {\n return\n }\n // if (initConfiguration.allowedTracingOrigins !== undefined) {\n // if (!isArray(initConfiguration.allowedTracingOrigins)) {\n // display.error('Allowed Tracing Origins should be an array')\n // return\n // }\n // }\n // if (initConfiguration.allowedDDTracingOrigins !== undefined) {\n // if (!isArray(initConfiguration.allowedDDTracingOrigins)) {\n // display.error('Allowed Tracing Origins should be an array')\n // return\n // }\n // }\n if (\n initConfiguration.tracingSampleRate !== undefined &&\n !isPercentage(initConfiguration.tracingSampleRate)\n ) {\n display.error('Tracing Sample Rate should be a number between 0 and 100')\n return\n }\n if (\n initConfiguration.excludedActivityUrls !== undefined &&\n !isArray(initConfiguration.excludedActivityUrls)\n ) {\n display.error('Excluded Activity Urls should be an array')\n return\n }\n if (\n initConfiguration.replayCanvasMode !== undefined &&\n initConfiguration.replayCanvasMode !== 'manual' &&\n initConfiguration.replayCanvasMode !== 'auto'\n ) {\n display.error(\"Replay Canvas Mode should be 'manual' or 'auto'\")\n return\n }\n if (\n initConfiguration.replayCanvasQuality !== undefined &&\n !(\n getReplayCanvasQualityPreset(initConfiguration.replayCanvasQuality) ||\n (typeof initConfiguration.replayCanvasQuality === 'number' &&\n initConfiguration.replayCanvasQuality >= 0 &&\n initConfiguration.replayCanvasQuality <= 1)\n )\n ) {\n display.error(\n \"Replay Canvas Quality should be 'low', 'medium', 'high', or a number between 0 and 1\"\n )\n return\n }\n if (\n initConfiguration.replayCanvasSampling !== undefined &&\n !(\n initConfiguration.replayCanvasSampling === 'all' ||\n (isNumber(initConfiguration.replayCanvasSampling) &&\n initConfiguration.replayCanvasSampling > 0)\n )\n ) {\n display.error(\n \"Replay Canvas Sampling should be 'all' or a positive number\"\n )\n return\n }\n if (\n initConfiguration.replayCanvasMaxCanvasSize !== undefined &&\n (!isNumber(initConfiguration.replayCanvasMaxCanvasSize) ||\n initConfiguration.replayCanvasMaxCanvasSize <= 0)\n ) {\n display.error('Replay Canvas Max Canvas Size should be a positive number')\n return\n }\n if (\n initConfiguration.replayCanvasMaxEncodedBytes !== undefined &&\n (!isNumber(initConfiguration.replayCanvasMaxEncodedBytes) ||\n initConfiguration.replayCanvasMaxEncodedBytes <= 0)\n ) {\n display.error(\n 'Replay Canvas Max Encoded Bytes should be a positive number'\n )\n return\n }\n if (\n initConfiguration.replayCanvasMaxConcurrentEncodes !== undefined &&\n (!isNumber(initConfiguration.replayCanvasMaxConcurrentEncodes) ||\n initConfiguration.replayCanvasMaxConcurrentEncodes <= 0)\n ) {\n display.error(\n 'Replay Canvas Max Concurrent Encodes should be a positive number'\n )\n return\n }\n if (\n initConfiguration.replayCanvasAutoInterval !== undefined &&\n (!isNumber(initConfiguration.replayCanvasAutoInterval) ||\n initConfiguration.replayCanvasAutoInterval <= 0)\n ) {\n display.error('Replay Canvas Auto Interval should be a positive number')\n return\n }\n if (\n initConfiguration.replayCanvasAutoCooldown !== undefined &&\n (!isNumber(initConfiguration.replayCanvasAutoCooldown) ||\n initConfiguration.replayCanvasAutoCooldown <= 0)\n ) {\n display.error('Replay Canvas Auto Cooldown should be a positive number')\n return\n }\n if (\n initConfiguration.replayCanvasAutoUnchangedBackoff !== undefined &&\n (!isNumber(initConfiguration.replayCanvasAutoUnchangedBackoff) ||\n initConfiguration.replayCanvasAutoUnchangedBackoff <= 0)\n ) {\n display.error(\n 'Replay Canvas Auto Unchanged Backoff should be a positive number'\n )\n return\n }\n if (\n initConfiguration.replayCanvasAutoFailureBackoff !== undefined &&\n (!isNumber(initConfiguration.replayCanvasAutoFailureBackoff) ||\n initConfiguration.replayCanvasAutoFailureBackoff <= 0)\n ) {\n display.error(\n 'Replay Canvas Auto Failure Backoff should be a positive number'\n )\n return\n }\n if (\n initConfiguration.replayCanvasAutoMaxPerRun !== undefined &&\n (!isNumber(initConfiguration.replayCanvasAutoMaxPerRun) ||\n initConfiguration.replayCanvasAutoMaxPerRun <= 0)\n ) {\n display.error('Replay Canvas Auto Max Per Run should be a positive number')\n return\n }\n\n var baseConfiguration = validateAndBuildConfiguration(initConfiguration)\n if (!baseConfiguration) {\n return\n }\n var trackUserInteractions = !!isNullUndefinedDefaultValue(\n initConfiguration.trackUserInteractions,\n initConfiguration.trackInteractions\n )\n var replayCanvasMode = isNullUndefinedDefaultValue(\n initConfiguration.replayCanvasMode,\n 'auto'\n )\n var replayCanvasQualityPreset = getReplayCanvasQualityPreset(\n initConfiguration.replayCanvasQuality\n )\n var replayCanvasSampling = initConfiguration.replayCanvasSampling\n if (replayCanvasSampling === undefined || replayCanvasSampling === null) {\n replayCanvasSampling = replayCanvasQualityPreset\n ? replayCanvasQualityPreset.sampling\n : 2\n }\n return assign(\n {\n applicationId: initConfiguration.applicationId,\n actionNameAttribute: initConfiguration.actionNameAttribute,\n sessionReplaySampleRate: isNullUndefinedDefaultValue(\n initConfiguration.sessionReplaySampleRate,\n 100\n ),\n sessionOnErrorSampleRate: isNullUndefinedDefaultValue(\n initConfiguration.sessionOnErrorSampleRate,\n 0\n ),\n sessionReplayOnErrorSampleRate: isNullUndefinedDefaultValue(\n initConfiguration.sessionReplayOnErrorSampleRate,\n 0\n ),\n tracingSampleRate: isNullUndefinedDefaultValue(\n initConfiguration.tracingSampleRate,\n 100\n ),\n allowedTracingUrls: allowedTracingUrls,\n injectTraceHeader:\n initConfiguration.injectTraceHeader &&\n catchUserErrors(\n initConfiguration.injectTraceHeader,\n 'injectTraceHeader threw an error:'\n ),\n generateTraceId:\n initConfiguration.generateTraceId &&\n catchUserErrors(\n initConfiguration.generateTraceId,\n 'generateTraceId threw an error:'\n ),\n excludedActivityUrls: isNullUndefinedDefaultValue(\n initConfiguration.excludedActivityUrls,\n []\n ),\n workerUrl: initConfiguration.workerUrl,\n replayCanvasWorkerUrl: initConfiguration.replayCanvasWorkerUrl,\n compressIntakeRequests: !!initConfiguration.compressIntakeRequests,\n trackUserInteractions: trackUserInteractions,\n enableLongAnimationFrame: !!initConfiguration.enableLongAnimationFrame,\n trackViewsManually: !!initConfiguration.trackViewsManually,\n replayCanvasEnabled: !!initConfiguration.replayCanvasEnabled,\n replayCanvasMode: replayCanvasMode,\n replayCanvasSampling: replayCanvasSampling,\n replayCanvasQuality: isNullUndefinedDefaultValue(\n replayCanvasQualityPreset\n ? replayCanvasQualityPreset.quality\n : initConfiguration.replayCanvasQuality,\n 0.4\n ),\n replayCanvasMimeType: isNullUndefinedDefaultValue(\n initConfiguration.replayCanvasMimeType,\n 'image/webp'\n ),\n replayCanvasMaxCanvasSize: isNullUndefinedDefaultValue(\n initConfiguration.replayCanvasMaxCanvasSize,\n 1280\n ),\n replayCanvasMaxEncodedBytes: isNullUndefinedDefaultValue(\n initConfiguration.replayCanvasMaxEncodedBytes,\n 40000\n ),\n replayCanvasMaxConcurrentEncodes: isNullUndefinedDefaultValue(\n initConfiguration.replayCanvasMaxConcurrentEncodes,\n 1\n ),\n replayCanvasAutoInterval: isNullUndefinedDefaultValue(\n initConfiguration.replayCanvasAutoInterval,\n replayCanvasQualityPreset\n ? replayCanvasQualityPreset.autoInterval\n : undefined,\n 1000\n ),\n replayCanvasAutoCooldown: isNullUndefinedDefaultValue(\n initConfiguration.replayCanvasAutoCooldown,\n replayCanvasQualityPreset\n ? replayCanvasQualityPreset.autoCooldown\n : undefined,\n 1000\n ),\n replayCanvasAutoUnchangedBackoff: isNullUndefinedDefaultValue(\n initConfiguration.replayCanvasAutoUnchangedBackoff,\n replayCanvasQualityPreset\n ? replayCanvasQualityPreset.autoUnchangedBackoff\n : undefined,\n 3000\n ),\n replayCanvasAutoFailureBackoff: isNullUndefinedDefaultValue(\n initConfiguration.replayCanvasAutoFailureBackoff,\n replayCanvasQualityPreset\n ? replayCanvasQualityPreset.autoFailureBackoff\n : undefined,\n 5000\n ),\n replayCanvasAutoMaxPerRun: isNullUndefinedDefaultValue(\n initConfiguration.replayCanvasAutoMaxPerRun,\n replayCanvasQualityPreset\n ? replayCanvasQualityPreset.autoMaxPerRun\n : undefined,\n 2\n ),\n replayCanvasFlushImmediately: isNullUndefinedDefaultValue(\n initConfiguration.replayCanvasFlushImmediately,\n replayCanvasMode === 'manual'\n ),\n traceType: isNullUndefinedDefaultValue(\n initConfiguration.traceType,\n TraceType.DDTRACE\n ),\n traceId128Bit: !!initConfiguration.traceId128Bit,\n defaultPrivacyLevel: objectHasValue(\n DefaultPrivacyLevel,\n initConfiguration.defaultPrivacyLevel\n )\n ? initConfiguration.defaultPrivacyLevel\n : DefaultPrivacyLevel.MASK_USER_INPUT,\n shouldMaskNode:\n initConfiguration.shouldMaskNode &&\n catchUserErrors(\n initConfiguration.shouldMaskNode,\n 'shouldMaskNode threw an error:'\n ),\n shouldRecordCanvas:\n initConfiguration.shouldRecordCanvas &&\n catchUserErrors(\n initConfiguration.shouldRecordCanvas,\n 'shouldRecordCanvas threw an error:'\n )\n },\n baseConfiguration,\n buildEnv\n )\n}\n/**\n * Handles allowedTracingUrls and processes legacy allowedTracingOrigins\n */\nfunction validateAndBuildTracingOptions(initConfiguration) {\n // Advise about parameters precedence.\n if (\n initConfiguration.allowedTracingUrls !== undefined &&\n initConfiguration.allowedTracingOrigins !== undefined\n ) {\n display.warn(\n 'Both allowedTracingUrls and allowedTracingOrigins (deprecated) have been defined. The parameter allowedTracingUrls will override allowedTracingOrigins.'\n )\n }\n // Handle allowedTracingUrls first\n if (initConfiguration.allowedTracingUrls !== undefined) {\n if (!isArray(initConfiguration.allowedTracingUrls)) {\n display.error('Allowed Tracing URLs should be an array')\n return\n }\n // if (initConfiguration.allowedTracingUrls.length !== 0 && initConfiguration.service === undefined) {\n // display.error('Service needs to be configured when tracing is enabled')\n // return\n // }\n // Convert from (MatchOption | TracingOption) to TracingOption, remove unknown properties\n var tracingOptions = []\n each(initConfiguration.allowedTracingUrls, function (option) {\n if (isMatchOption(option)) {\n tracingOptions.push({\n match: option,\n traceType: isNullUndefinedDefaultValue(\n initConfiguration.traceType,\n TraceType.DDTRACE\n )\n })\n } else if (isTracingOption(option)) {\n tracingOptions.push(option)\n } else {\n display.warn(\n 'Allowed Tracing Urls parameters should be a string, RegExp, function, or an object. Ignoring parameter',\n option\n )\n }\n })\n return tracingOptions\n }\n\n // Handle conversion of allowedTracingOrigins to allowedTracingUrls\n if (initConfiguration.allowedTracingOrigins !== undefined) {\n if (!isArray(initConfiguration.allowedTracingOrigins)) {\n display.error('Allowed Tracing Origins should be an array')\n return\n }\n\n var tracingOptions = []\n each(initConfiguration.allowedTracingOrigins, function (legacyMatchOption) {\n var tracingOption = convertLegacyMatchOptionToTracingOption(\n legacyMatchOption,\n isNullUndefinedDefaultValue(\n initConfiguration.traceType,\n TraceType.DDTRACE\n )\n )\n if (tracingOption) {\n tracingOptions.push(tracingOption)\n }\n })\n\n return tracingOptions\n }\n // Handle conversion of allowedDDTracingOrigins to allowedTracingUrls\n if (initConfiguration.allowedDDTracingOrigins !== undefined) {\n if (!isArray(initConfiguration.allowedDDTracingOrigins)) {\n display.error('Allowed Tracing Origins should be an array')\n return\n }\n\n var tracingOptions = []\n each(\n initConfiguration.allowedDDTracingOrigins,\n function (legacyMatchOption) {\n var tracingOption = convertLegacyMatchOptionToTracingOption(\n legacyMatchOption,\n isNullUndefinedDefaultValue(\n initConfiguration.traceType,\n TraceType.DDTRACE\n )\n )\n if (tracingOption) {\n tracingOptions.push(tracingOption)\n }\n }\n )\n\n return tracingOptions\n }\n\n return []\n}\n\n/**\n * Converts parameters from the deprecated allowedTracingOrigins\n * to allowedTracingUrls. Handles the change from origin to full URLs.\n */\nfunction convertLegacyMatchOptionToTracingOption(item, traceType) {\n var match\n if (typeof item === 'string') {\n match = item\n } else if (item instanceof RegExp) {\n match = function (url) {\n return item.test(getOrigin(url))\n }\n } else if (typeof item === 'function') {\n match = function (url) {\n return item(getOrigin(url))\n }\n }\n\n if (match === undefined) {\n display.warn(\n 'Allowed Tracing Origins parameters should be a string, RegExp or function. Ignoring parameter',\n item\n )\n return undefined\n }\n\n return { match: match, traceType: traceType }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.buildCommonContext = buildCommonContext;
7
+ function buildCommonContext(globalContextManager, userContextManager, recorderApi) {
8
+ return {
9
+ context: globalContextManager.getContext(),
10
+ user: userContextManager.getContext(),
11
+ hasReplay: recorderApi.isRecording() ? true : undefined
12
+ };
13
+ }
14
+ //# sourceMappingURL=commonContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commonContext.js","names":["buildCommonContext","globalContextManager","userContextManager","recorderApi","context","getContext","user","hasReplay","isRecording","undefined"],"sources":["../../../../rum/src/domain/contexts/commonContext.js"],"sourcesContent":["export function buildCommonContext(\n globalContextManager,\n userContextManager,\n recorderApi\n) {\n return {\n context: globalContextManager.getContext(),\n user: userContextManager.getContext(),\n hasReplay: recorderApi.isRecording() ? true : undefined\n }\n}\n"],"mappings":";;;;;;AAAO,SAASA,kBAAkBA,CAChCC,oBAAoB,EACpBC,kBAAkB,EAClBC,WAAW,EACX;EACA,OAAO;IACLC,OAAO,EAAEH,oBAAoB,CAACI,UAAU,CAAC,CAAC;IAC1CC,IAAI,EAAEJ,kBAAkB,CAACG,UAAU,CAAC,CAAC;IACrCE,SAAS,EAAEJ,WAAW,CAACK,WAAW,CAAC,CAAC,GAAG,IAAI,GAAGC;EAChD,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.startDisplayContext = startDisplayContext;
7
+ var _initViewportObservable = require("../initViewportObservable");
8
+ function startDisplayContext() {
9
+ var viewport = (0, _initViewportObservable.getViewportDimension)();
10
+ var unsubscribeViewport = (0, _initViewportObservable.initViewportObservable)().subscribe(function (viewportDimension) {
11
+ viewport = viewportDimension;
12
+ }).unsubscribe;
13
+ return {
14
+ get: function get() {
15
+ return {
16
+ viewport: viewport
17
+ };
18
+ },
19
+ stop: unsubscribeViewport
20
+ };
21
+ }
22
+ //# sourceMappingURL=displayContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"displayContext.js","names":["_initViewportObservable","require","startDisplayContext","viewport","getViewportDimension","unsubscribeViewport","initViewportObservable","subscribe","viewportDimension","unsubscribe","get","stop"],"sources":["../../../../rum/src/domain/contexts/displayContext.js"],"sourcesContent":["import {\n getViewportDimension,\n initViewportObservable\n} from '../initViewportObservable'\n\nexport function startDisplayContext() {\n var viewport = getViewportDimension()\n var unsubscribeViewport = initViewportObservable().subscribe(function (\n viewportDimension\n ) {\n viewport = viewportDimension\n }).unsubscribe\n\n return {\n get: function () {\n return { viewport: viewport }\n },\n stop: unsubscribeViewport\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,OAAA;AAKO,SAASC,mBAAmBA,CAAA,EAAG;EACpC,IAAIC,QAAQ,GAAG,IAAAC,4CAAoB,EAAC,CAAC;EACrC,IAAIC,mBAAmB,GAAG,IAAAC,8CAAsB,EAAC,CAAC,CAACC,SAAS,CAAC,UAC3DC,iBAAiB,EACjB;IACAL,QAAQ,GAAGK,iBAAiB;EAC9B,CAAC,CAAC,CAACC,WAAW;EAEd,OAAO;IACLC,GAAG,EAAE,SAALA,GAAGA,CAAA,EAAc;MACf,OAAO;QAAEP,QAAQ,EAAEA;MAAS,CAAC;IAC/B,CAAC;IACDQ,IAAI,EAAEN;EACR,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MAX_NUMBER_OF_STORED_FOREGROUND_PERIODS = exports.MAX_NUMBER_OF_SELECTABLE_FOREGROUND_PERIODS = void 0;
7
+ exports.addNewForegroundPeriod = addNewForegroundPeriod;
8
+ exports.closeForegroundPeriod = closeForegroundPeriod;
9
+ exports.startForegroundContexts = startForegroundContexts;
10
+ var _browserCore = require("@cloudcare/browser-core");
11
+ // Arbitrary value to cap number of element mostly for backend & to save bandwidth
12
+ var MAX_NUMBER_OF_SELECTABLE_FOREGROUND_PERIODS = exports.MAX_NUMBER_OF_SELECTABLE_FOREGROUND_PERIODS = 500;
13
+ // Arbitrary value to cap number of element mostly for memory consumption in the browser
14
+ var MAX_NUMBER_OF_STORED_FOREGROUND_PERIODS = exports.MAX_NUMBER_OF_STORED_FOREGROUND_PERIODS = 2500;
15
+ var foregroundPeriods = [];
16
+ function startForegroundContexts() {
17
+ if (document.hasFocus()) {
18
+ addNewForegroundPeriod();
19
+ }
20
+ var foregroundTracking = trackFocus(addNewForegroundPeriod);
21
+ var blurTracking = trackBlur(closeForegroundPeriod);
22
+ return {
23
+ isInForegroundAt: isInForegroundAt,
24
+ selectInForegroundPeriodsFor: selectInForegroundPeriodsFor,
25
+ stop: function stop() {
26
+ foregroundPeriods = [];
27
+ foregroundTracking.stop();
28
+ blurTracking.stop();
29
+ }
30
+ };
31
+ }
32
+ function addNewForegroundPeriod() {
33
+ if (foregroundPeriods.length > MAX_NUMBER_OF_STORED_FOREGROUND_PERIODS) {
34
+ return;
35
+ }
36
+ var currentForegroundPeriod = foregroundPeriods[foregroundPeriods.length - 1];
37
+ var now = (0, _browserCore.relativeNow)();
38
+ if (currentForegroundPeriod !== undefined && currentForegroundPeriod.end === undefined) {
39
+ return;
40
+ }
41
+ foregroundPeriods.push({
42
+ start: now
43
+ });
44
+ }
45
+ function closeForegroundPeriod() {
46
+ if (foregroundPeriods.length === 0) {
47
+ return;
48
+ }
49
+ var currentForegroundPeriod = foregroundPeriods[foregroundPeriods.length - 1];
50
+ var now = (0, _browserCore.relativeNow)();
51
+ if (currentForegroundPeriod.end !== undefined) {
52
+ return;
53
+ }
54
+ currentForegroundPeriod.end = now;
55
+ }
56
+ function trackFocus(onFocusChange) {
57
+ return (0, _browserCore.addEventListener)(window, _browserCore.DOM_EVENT.FOCUS, function (event) {
58
+ if (!event.isTrusted) {
59
+ return;
60
+ }
61
+ onFocusChange();
62
+ });
63
+ }
64
+ function trackBlur(onBlurChange) {
65
+ return (0, _browserCore.addEventListener)(window, _browserCore.DOM_EVENT.BLUR, function (event) {
66
+ if (!event.isTrusted) {
67
+ return;
68
+ }
69
+ onBlurChange();
70
+ });
71
+ }
72
+ function isInForegroundAt(startTime) {
73
+ for (var i = foregroundPeriods.length - 1; i >= 0; i--) {
74
+ var foregroundPeriod = foregroundPeriods[i];
75
+ if (foregroundPeriod.end !== undefined && startTime > foregroundPeriod.end) {
76
+ break;
77
+ }
78
+ if (startTime > foregroundPeriod.start && (foregroundPeriod.end === undefined || startTime < foregroundPeriod.end)) {
79
+ return true;
80
+ }
81
+ }
82
+ return false;
83
+ }
84
+ function selectInForegroundPeriodsFor(eventStartTime, duration) {
85
+ var eventEndTime = (0, _browserCore.addDuration)(eventStartTime, duration);
86
+ var filteredForegroundPeriods = [];
87
+ var earliestIndex = Math.max(0, foregroundPeriods.length - MAX_NUMBER_OF_SELECTABLE_FOREGROUND_PERIODS);
88
+ for (var i = foregroundPeriods.length - 1; i >= earliestIndex; i--) {
89
+ var foregroundPeriod = foregroundPeriods[i];
90
+ if (foregroundPeriod.end !== undefined && eventStartTime > foregroundPeriod.end) {
91
+ // event starts after the end of the current focus period
92
+ // since the array is sorted, we can stop looking for foreground periods
93
+ break;
94
+ }
95
+ if (eventEndTime < foregroundPeriod.start) {
96
+ // event ends before the start of the current focus period
97
+ // continue to previous one
98
+ continue;
99
+ }
100
+ var startTime = eventStartTime > foregroundPeriod.start ? eventStartTime : foregroundPeriod.start;
101
+ var startDuration = (0, _browserCore.elapsed)(eventStartTime, startTime);
102
+ var endTime = foregroundPeriod.end === undefined || eventEndTime < foregroundPeriod.end ? eventEndTime : foregroundPeriod.end;
103
+ var endDuration = (0, _browserCore.elapsed)(startTime, endTime);
104
+ filteredForegroundPeriods.unshift({
105
+ start: (0, _browserCore.toServerDuration)(startDuration),
106
+ duration: (0, _browserCore.toServerDuration)(endDuration)
107
+ });
108
+ }
109
+ return filteredForegroundPeriods;
110
+ }
111
+ //# sourceMappingURL=foregroundContexts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"foregroundContexts.js","names":["_browserCore","require","MAX_NUMBER_OF_SELECTABLE_FOREGROUND_PERIODS","exports","MAX_NUMBER_OF_STORED_FOREGROUND_PERIODS","foregroundPeriods","startForegroundContexts","document","hasFocus","addNewForegroundPeriod","foregroundTracking","trackFocus","blurTracking","trackBlur","closeForegroundPeriod","isInForegroundAt","selectInForegroundPeriodsFor","stop","length","currentForegroundPeriod","now","relativeNow","undefined","end","push","start","onFocusChange","addEventListener","window","DOM_EVENT","FOCUS","event","isTrusted","onBlurChange","BLUR","startTime","i","foregroundPeriod","eventStartTime","duration","eventEndTime","addDuration","filteredForegroundPeriods","earliestIndex","Math","max","startDuration","elapsed","endTime","endDuration","unshift","toServerDuration"],"sources":["../../../../rum/src/domain/contexts/foregroundContexts.js"],"sourcesContent":["import {\n addDuration,\n addEventListener,\n DOM_EVENT,\n elapsed,\n relativeNow,\n toServerDuration\n} from '@cloudcare/browser-core'\n\n// Arbitrary value to cap number of element mostly for backend & to save bandwidth\nexport var MAX_NUMBER_OF_SELECTABLE_FOREGROUND_PERIODS = 500\n// Arbitrary value to cap number of element mostly for memory consumption in the browser\nexport var MAX_NUMBER_OF_STORED_FOREGROUND_PERIODS = 2500\n\nvar foregroundPeriods = []\n\nexport function startForegroundContexts() {\n if (document.hasFocus()) {\n addNewForegroundPeriod()\n }\n\n var foregroundTracking = trackFocus(addNewForegroundPeriod)\n var blurTracking = trackBlur(closeForegroundPeriod)\n return {\n isInForegroundAt: isInForegroundAt,\n selectInForegroundPeriodsFor: selectInForegroundPeriodsFor,\n stop: function () {\n foregroundPeriods = []\n foregroundTracking.stop()\n blurTracking.stop()\n }\n }\n}\n\nexport function addNewForegroundPeriod() {\n if (foregroundPeriods.length > MAX_NUMBER_OF_STORED_FOREGROUND_PERIODS) {\n return\n }\n var currentForegroundPeriod = foregroundPeriods[foregroundPeriods.length - 1]\n var now = relativeNow()\n if (\n currentForegroundPeriod !== undefined &&\n currentForegroundPeriod.end === undefined\n ) {\n return\n }\n foregroundPeriods.push({\n start: now\n })\n}\n\nexport function closeForegroundPeriod() {\n if (foregroundPeriods.length === 0) {\n return\n }\n var currentForegroundPeriod = foregroundPeriods[foregroundPeriods.length - 1]\n var now = relativeNow()\n if (currentForegroundPeriod.end !== undefined) {\n return\n }\n currentForegroundPeriod.end = now\n}\n\nfunction trackFocus(onFocusChange) {\n return addEventListener(window, DOM_EVENT.FOCUS, function (event) {\n if (!event.isTrusted) {\n return\n }\n onFocusChange()\n })\n}\n\nfunction trackBlur(onBlurChange) {\n return addEventListener(window, DOM_EVENT.BLUR, function (event) {\n if (!event.isTrusted) {\n return\n }\n onBlurChange()\n })\n}\n\nfunction isInForegroundAt(startTime) {\n for (var i = foregroundPeriods.length - 1; i >= 0; i--) {\n var foregroundPeriod = foregroundPeriods[i]\n if (\n foregroundPeriod.end !== undefined &&\n startTime > foregroundPeriod.end\n ) {\n break\n }\n if (\n startTime > foregroundPeriod.start &&\n (foregroundPeriod.end === undefined || startTime < foregroundPeriod.end)\n ) {\n return true\n }\n }\n return false\n}\n\nfunction selectInForegroundPeriodsFor(eventStartTime, duration) {\n var eventEndTime = addDuration(eventStartTime, duration)\n var filteredForegroundPeriods = []\n\n var earliestIndex = Math.max(\n 0,\n foregroundPeriods.length - MAX_NUMBER_OF_SELECTABLE_FOREGROUND_PERIODS\n )\n for (var i = foregroundPeriods.length - 1; i >= earliestIndex; i--) {\n var foregroundPeriod = foregroundPeriods[i]\n if (\n foregroundPeriod.end !== undefined &&\n eventStartTime > foregroundPeriod.end\n ) {\n // event starts after the end of the current focus period\n // since the array is sorted, we can stop looking for foreground periods\n break\n }\n if (eventEndTime < foregroundPeriod.start) {\n // event ends before the start of the current focus period\n // continue to previous one\n continue\n }\n var startTime =\n eventStartTime > foregroundPeriod.start\n ? eventStartTime\n : foregroundPeriod.start\n var startDuration = elapsed(eventStartTime, startTime)\n var endTime =\n foregroundPeriod.end === undefined || eventEndTime < foregroundPeriod.end\n ? eventEndTime\n : foregroundPeriod.end\n var endDuration = elapsed(startTime, endTime)\n filteredForegroundPeriods.unshift({\n start: toServerDuration(startDuration),\n duration: toServerDuration(endDuration)\n })\n }\n return filteredForegroundPeriods\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.startInternalContext = startInternalContext;
7
+ /**
8
+ * Internal context keep returning v1 format
9
+ * to not break compatibility with logs data format
10
+ */
11
+ function startInternalContext(applicationId, sessionManager, viewContexts, actionContexts, urlContexts) {
12
+ return {
13
+ get: function get(startTime) {
14
+ var viewContext = viewContexts.findView(startTime);
15
+ var urlContext = urlContexts.findUrl(startTime);
16
+ var session = sessionManager.findTrackedSession(startTime);
17
+ if (session && viewContext && urlContext) {
18
+ var actionId = actionContexts.findActionId(startTime);
19
+ var actionIds = actionContexts.findAllActionId(startTime);
20
+ return {
21
+ application: {
22
+ id: applicationId
23
+ },
24
+ session: {
25
+ id: session.id
26
+ },
27
+ userAction: actionId ? {
28
+ id: actionId,
29
+ ids: actionIds
30
+ } : undefined,
31
+ view: {
32
+ id: viewContext.id,
33
+ name: viewContext.name || urlContext.path,
34
+ url: urlContext.url,
35
+ referrer: urlContext.referrer,
36
+ host: urlContext.host,
37
+ path: urlContext.path,
38
+ pathGroup: urlContext.pathGroup,
39
+ pathname: urlContext.pathname,
40
+ urlQuery: urlContext.urlQuery
41
+ }
42
+ };
43
+ }
44
+ }
45
+ };
46
+ }
47
+ //# sourceMappingURL=internalContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internalContext.js","names":["startInternalContext","applicationId","sessionManager","viewContexts","actionContexts","urlContexts","get","startTime","viewContext","findView","urlContext","findUrl","session","findTrackedSession","actionId","findActionId","actionIds","findAllActionId","application","id","userAction","ids","undefined","view","name","path","url","referrer","host","pathGroup","pathname","urlQuery"],"sources":["../../../../rum/src/domain/contexts/internalContext.js"],"sourcesContent":["/**\n * Internal context keep returning v1 format\n * to not break compatibility with logs data format\n */\nexport function startInternalContext(\n applicationId,\n sessionManager,\n viewContexts,\n actionContexts,\n urlContexts\n) {\n return {\n get: function (startTime) {\n var viewContext = viewContexts.findView(startTime)\n var urlContext = urlContexts.findUrl(startTime)\n var session = sessionManager.findTrackedSession(startTime)\n if (session && viewContext && urlContext) {\n var actionId = actionContexts.findActionId(startTime)\n var actionIds = actionContexts.findAllActionId(startTime)\n return {\n application: {\n id: applicationId\n },\n session: {\n id: session.id\n },\n userAction: actionId\n ? {\n id: actionId,\n ids: actionIds\n }\n : undefined,\n view: {\n id: viewContext.id,\n name: viewContext.name || urlContext.path,\n url: urlContext.url,\n referrer: urlContext.referrer,\n host: urlContext.host,\n path: urlContext.path,\n pathGroup: urlContext.pathGroup,\n pathname: urlContext.pathname,\n urlQuery: urlContext.urlQuery\n }\n }\n }\n }\n }\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACO,SAASA,oBAAoBA,CAClCC,aAAa,EACbC,cAAc,EACdC,YAAY,EACZC,cAAc,EACdC,WAAW,EACX;EACA,OAAO;IACLC,GAAG,EAAE,SAALA,GAAGA,CAAYC,SAAS,EAAE;MACxB,IAAIC,WAAW,GAAGL,YAAY,CAACM,QAAQ,CAACF,SAAS,CAAC;MAClD,IAAIG,UAAU,GAAGL,WAAW,CAACM,OAAO,CAACJ,SAAS,CAAC;MAC/C,IAAIK,OAAO,GAAGV,cAAc,CAACW,kBAAkB,CAACN,SAAS,CAAC;MAC1D,IAAIK,OAAO,IAAIJ,WAAW,IAAIE,UAAU,EAAE;QACxC,IAAII,QAAQ,GAAGV,cAAc,CAACW,YAAY,CAACR,SAAS,CAAC;QACrD,IAAIS,SAAS,GAAGZ,cAAc,CAACa,eAAe,CAACV,SAAS,CAAC;QACzD,OAAO;UACLW,WAAW,EAAE;YACXC,EAAE,EAAElB;UACN,CAAC;UACDW,OAAO,EAAE;YACPO,EAAE,EAAEP,OAAO,CAACO;UACd,CAAC;UACDC,UAAU,EAAEN,QAAQ,GAChB;YACEK,EAAE,EAAEL,QAAQ;YACZO,GAAG,EAAEL;UACP,CAAC,GACDM,SAAS;UACbC,IAAI,EAAE;YACJJ,EAAE,EAAEX,WAAW,CAACW,EAAE;YAClBK,IAAI,EAAEhB,WAAW,CAACgB,IAAI,IAAId,UAAU,CAACe,IAAI;YACzCC,GAAG,EAAEhB,UAAU,CAACgB,GAAG;YACnBC,QAAQ,EAAEjB,UAAU,CAACiB,QAAQ;YAC7BC,IAAI,EAAElB,UAAU,CAACkB,IAAI;YACrBH,IAAI,EAAEf,UAAU,CAACe,IAAI;YACrBI,SAAS,EAAEnB,UAAU,CAACmB,SAAS;YAC/BC,QAAQ,EAAEpB,UAAU,CAACoB,QAAQ;YAC7BC,QAAQ,EAAErB,UAAU,CAACqB;UACvB;QACF,CAAC;MACH;IACF;EACF,CAAC;AACH","ignoreList":[]}