@depup/datadog__browser-rum 6.31.0-depup.0

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 (688) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +25 -0
  3. package/bundle/chunks/profiler-9f1c1103f1ef0aa98257-datadog-rum.js +1 -0
  4. package/bundle/chunks/recorder-926b641c6ef51d09a378-datadog-rum.js +1 -0
  5. package/bundle/datadog-rum.js +1 -0
  6. package/changes.json +5 -0
  7. package/cjs/boot/isBrowserSupported.d.ts +4 -0
  8. package/cjs/boot/isBrowserSupported.js +17 -0
  9. package/cjs/boot/isBrowserSupported.js.map +1 -0
  10. package/cjs/boot/lazyLoadProfiler.d.ts +3 -0
  11. package/cjs/boot/lazyLoadProfiler.js +56 -0
  12. package/cjs/boot/lazyLoadProfiler.js.map +1 -0
  13. package/cjs/boot/lazyLoadRecorder.d.ts +3 -0
  14. package/cjs/boot/lazyLoadRecorder.js +56 -0
  15. package/cjs/boot/lazyLoadRecorder.js.map +1 -0
  16. package/cjs/boot/postStartStrategy.d.ts +33 -0
  17. package/cjs/boot/postStartStrategy.js +98 -0
  18. package/cjs/boot/postStartStrategy.js.map +1 -0
  19. package/cjs/boot/preStartStrategy.d.ts +6 -0
  20. package/cjs/boot/preStartStrategy.js +24 -0
  21. package/cjs/boot/preStartStrategy.js.map +1 -0
  22. package/cjs/boot/profilerApi.d.ts +2 -0
  23. package/cjs/boot/profilerApi.js +52 -0
  24. package/cjs/boot/profilerApi.js.map +1 -0
  25. package/cjs/boot/recorderApi.d.ts +3 -0
  26. package/cjs/boot/recorderApi.js +71 -0
  27. package/cjs/boot/recorderApi.js.map +1 -0
  28. package/cjs/boot/startRecording.d.ts +6 -0
  29. package/cjs/boot/startRecording.js +45 -0
  30. package/cjs/boot/startRecording.js.map +1 -0
  31. package/cjs/domain/deflate/deflateEncoder.d.ts +3 -0
  32. package/cjs/domain/deflate/deflateEncoder.js +110 -0
  33. package/cjs/domain/deflate/deflateEncoder.js.map +1 -0
  34. package/cjs/domain/deflate/deflateWorker.d.ts +29 -0
  35. package/cjs/domain/deflate/deflateWorker.js +105 -0
  36. package/cjs/domain/deflate/deflateWorker.js.map +1 -0
  37. package/cjs/domain/deflate/index.d.ts +3 -0
  38. package/cjs/domain/deflate/index.js +11 -0
  39. package/cjs/domain/deflate/index.js.map +1 -0
  40. package/cjs/domain/getSessionReplayLink.d.ts +2 -0
  41. package/cjs/domain/getSessionReplayLink.js +35 -0
  42. package/cjs/domain/getSessionReplayLink.js.map +1 -0
  43. package/cjs/domain/profiling/actionHistory.d.ts +10 -0
  44. package/cjs/domain/profiling/actionHistory.js +49 -0
  45. package/cjs/domain/profiling/actionHistory.js.map +1 -0
  46. package/cjs/domain/profiling/longTaskHistory.d.ts +11 -0
  47. package/cjs/domain/profiling/longTaskHistory.js +28 -0
  48. package/cjs/domain/profiling/longTaskHistory.js.map +1 -0
  49. package/cjs/domain/profiling/profiler.d.ts +7 -0
  50. package/cjs/domain/profiling/profiler.js +267 -0
  51. package/cjs/domain/profiling/profiler.js.map +1 -0
  52. package/cjs/domain/profiling/profilingContext.d.ts +6 -0
  53. package/cjs/domain/profiling/profilingContext.js +31 -0
  54. package/cjs/domain/profiling/profilingContext.js.map +1 -0
  55. package/cjs/domain/profiling/profilingSupported.d.ts +1 -0
  56. package/cjs/domain/profiling/profilingSupported.js +11 -0
  57. package/cjs/domain/profiling/profilingSupported.js.map +1 -0
  58. package/cjs/domain/profiling/test-utils/mockedTrace.d.ts +3 -0
  59. package/cjs/domain/profiling/test-utils/mockedTrace.js +57 -0
  60. package/cjs/domain/profiling/test-utils/mockedTrace.js.map +1 -0
  61. package/cjs/domain/profiling/transport/assembly.d.ts +7 -0
  62. package/cjs/domain/profiling/transport/assembly.js +45 -0
  63. package/cjs/domain/profiling/transport/assembly.js.map +1 -0
  64. package/cjs/domain/profiling/transport/buildProfileEventAttributes.d.ts +33 -0
  65. package/cjs/domain/profiling/transport/buildProfileEventAttributes.js +63 -0
  66. package/cjs/domain/profiling/transport/buildProfileEventAttributes.js.map +1 -0
  67. package/cjs/domain/profiling/types/index.d.ts +2 -0
  68. package/cjs/domain/profiling/types/index.js +3 -0
  69. package/cjs/domain/profiling/types/index.js.map +1 -0
  70. package/cjs/domain/profiling/types/profilerApi.types.d.ts +58 -0
  71. package/cjs/domain/profiling/types/profilerApi.types.js +5 -0
  72. package/cjs/domain/profiling/types/profilerApi.types.js.map +1 -0
  73. package/cjs/domain/profiling/types/rumProfiler.types.d.ts +55 -0
  74. package/cjs/domain/profiling/types/rumProfiler.types.js +3 -0
  75. package/cjs/domain/profiling/types/rumProfiler.types.js.map +1 -0
  76. package/cjs/domain/profiling/utils/getCustomOrDefaultViewName.d.ts +1 -0
  77. package/cjs/domain/profiling/utils/getCustomOrDefaultViewName.js +7 -0
  78. package/cjs/domain/profiling/utils/getCustomOrDefaultViewName.js.map +1 -0
  79. package/cjs/domain/profiling/utils/getDefaultViewName.d.ts +1 -0
  80. package/cjs/domain/profiling/utils/getDefaultViewName.js +14 -0
  81. package/cjs/domain/profiling/utils/getDefaultViewName.js.map +1 -0
  82. package/cjs/domain/profiling/utils/getNumberOfSamples.d.ts +8 -0
  83. package/cjs/domain/profiling/utils/getNumberOfSamples.js +19 -0
  84. package/cjs/domain/profiling/utils/getNumberOfSamples.js.map +1 -0
  85. package/cjs/domain/profiling/vitalHistory.d.ts +10 -0
  86. package/cjs/domain/profiling/vitalHistory.js +42 -0
  87. package/cjs/domain/profiling/vitalHistory.js.map +1 -0
  88. package/cjs/domain/record/assembly.d.ts +3 -0
  89. package/cjs/domain/record/assembly.js +16 -0
  90. package/cjs/domain/record/assembly.js.map +1 -0
  91. package/cjs/domain/record/elementsScrollPositions.d.ts +10 -0
  92. package/cjs/domain/record/elementsScrollPositions.js +23 -0
  93. package/cjs/domain/record/elementsScrollPositions.js.map +1 -0
  94. package/cjs/domain/record/eventsUtils.d.ts +2 -0
  95. package/cjs/domain/record/eventsUtils.js +15 -0
  96. package/cjs/domain/record/eventsUtils.js.map +1 -0
  97. package/cjs/domain/record/index.d.ts +6 -0
  98. package/cjs/domain/record/index.js +17 -0
  99. package/cjs/domain/record/index.js.map +1 -0
  100. package/cjs/domain/record/internalApi.d.ts +22 -0
  101. package/cjs/domain/record/internalApi.js +55 -0
  102. package/cjs/domain/record/internalApi.js.map +1 -0
  103. package/cjs/domain/record/itemIds.d.ts +40 -0
  104. package/cjs/domain/record/itemIds.js +58 -0
  105. package/cjs/domain/record/itemIds.js.map +1 -0
  106. package/cjs/domain/record/mutationBatch.d.ts +12 -0
  107. package/cjs/domain/record/mutationBatch.js +44 -0
  108. package/cjs/domain/record/mutationBatch.js.map +1 -0
  109. package/cjs/domain/record/record.d.ts +16 -0
  110. package/cjs/domain/record/record.js +88 -0
  111. package/cjs/domain/record/record.js.map +1 -0
  112. package/cjs/domain/record/record.types.d.ts +18 -0
  113. package/cjs/domain/record/record.types.js +3 -0
  114. package/cjs/domain/record/record.types.js.map +1 -0
  115. package/cjs/domain/record/recordingScope.d.ts +24 -0
  116. package/cjs/domain/record/recordingScope.js +29 -0
  117. package/cjs/domain/record/recordingScope.js.map +1 -0
  118. package/cjs/domain/record/serialization/changeEncoder.d.ts +22 -0
  119. package/cjs/domain/record/serialization/changeEncoder.js +59 -0
  120. package/cjs/domain/record/serialization/changeEncoder.js.map +1 -0
  121. package/cjs/domain/record/serialization/conversions/changeConverter.d.ts +10 -0
  122. package/cjs/domain/record/serialization/conversions/changeConverter.js +216 -0
  123. package/cjs/domain/record/serialization/conversions/changeConverter.js.map +1 -0
  124. package/cjs/domain/record/serialization/conversions/changeDecoder.d.ts +16 -0
  125. package/cjs/domain/record/serialization/conversions/changeDecoder.js +137 -0
  126. package/cjs/domain/record/serialization/conversions/changeDecoder.js.map +1 -0
  127. package/cjs/domain/record/serialization/conversions/index.d.ts +7 -0
  128. package/cjs/domain/record/serialization/conversions/index.js +11 -0
  129. package/cjs/domain/record/serialization/conversions/index.js.map +1 -0
  130. package/cjs/domain/record/serialization/conversions/mutationLog.d.ts +15 -0
  131. package/cjs/domain/record/serialization/conversions/mutationLog.js +36 -0
  132. package/cjs/domain/record/serialization/conversions/mutationLog.js.map +1 -0
  133. package/cjs/domain/record/serialization/conversions/nodeIdRemapper.d.ts +10 -0
  134. package/cjs/domain/record/serialization/conversions/nodeIdRemapper.js +53 -0
  135. package/cjs/domain/record/serialization/conversions/nodeIdRemapper.js.map +1 -0
  136. package/cjs/domain/record/serialization/conversions/renderOptions.d.ts +6 -0
  137. package/cjs/domain/record/serialization/conversions/renderOptions.js +12 -0
  138. package/cjs/domain/record/serialization/conversions/renderOptions.js.map +1 -0
  139. package/cjs/domain/record/serialization/conversions/stringTable.d.ts +5 -0
  140. package/cjs/domain/record/serialization/conversions/stringTable.js +22 -0
  141. package/cjs/domain/record/serialization/conversions/stringTable.js.map +1 -0
  142. package/cjs/domain/record/serialization/conversions/vDocument.d.ts +23 -0
  143. package/cjs/domain/record/serialization/conversions/vDocument.js +176 -0
  144. package/cjs/domain/record/serialization/conversions/vDocument.js.map +1 -0
  145. package/cjs/domain/record/serialization/conversions/vNode.d.ts +66 -0
  146. package/cjs/domain/record/serialization/conversions/vNode.js +285 -0
  147. package/cjs/domain/record/serialization/conversions/vNode.js.map +1 -0
  148. package/cjs/domain/record/serialization/conversions/vStyleSheet.d.ts +16 -0
  149. package/cjs/domain/record/serialization/conversions/vStyleSheet.js +29 -0
  150. package/cjs/domain/record/serialization/conversions/vStyleSheet.js.map +1 -0
  151. package/cjs/domain/record/serialization/experimentalFeatures.d.ts +2 -0
  152. package/cjs/domain/record/serialization/experimentalFeatures.js +16 -0
  153. package/cjs/domain/record/serialization/experimentalFeatures.js.map +1 -0
  154. package/cjs/domain/record/serialization/index.d.ts +17 -0
  155. package/cjs/domain/record/serialization/index.js +37 -0
  156. package/cjs/domain/record/serialization/index.js.map +1 -0
  157. package/cjs/domain/record/serialization/insertionCursor.d.ts +57 -0
  158. package/cjs/domain/record/serialization/insertionCursor.js +68 -0
  159. package/cjs/domain/record/serialization/insertionCursor.js.map +1 -0
  160. package/cjs/domain/record/serialization/serialization.types.d.ts +24 -0
  161. package/cjs/domain/record/serialization/serialization.types.js +3 -0
  162. package/cjs/domain/record/serialization/serialization.types.js.map +1 -0
  163. package/cjs/domain/record/serialization/serializationStats.d.ts +12 -0
  164. package/cjs/domain/record/serialization/serializationStats.js +32 -0
  165. package/cjs/domain/record/serialization/serializationStats.js.map +1 -0
  166. package/cjs/domain/record/serialization/serializationTransaction.d.ts +96 -0
  167. package/cjs/domain/record/serialization/serializationTransaction.js +103 -0
  168. package/cjs/domain/record/serialization/serializationTransaction.js.map +1 -0
  169. package/cjs/domain/record/serialization/serializationUtils.d.ts +18 -0
  170. package/cjs/domain/record/serialization/serializationUtils.js +88 -0
  171. package/cjs/domain/record/serialization/serializationUtils.js.map +1 -0
  172. package/cjs/domain/record/serialization/serializeAttribute.d.ts +4 -0
  173. package/cjs/domain/record/serialization/serializeAttribute.js +42 -0
  174. package/cjs/domain/record/serialization/serializeAttribute.js.map +1 -0
  175. package/cjs/domain/record/serialization/serializeAttributes.d.ts +7 -0
  176. package/cjs/domain/record/serialization/serializeAttributes.js +167 -0
  177. package/cjs/domain/record/serialization/serializeAttributes.js.map +1 -0
  178. package/cjs/domain/record/serialization/serializeFullSnapshot.d.ts +5 -0
  179. package/cjs/domain/record/serialization/serializeFullSnapshot.js +34 -0
  180. package/cjs/domain/record/serialization/serializeFullSnapshot.js.map +1 -0
  181. package/cjs/domain/record/serialization/serializeFullSnapshotAsChange.d.ts +5 -0
  182. package/cjs/domain/record/serialization/serializeFullSnapshotAsChange.js +13 -0
  183. package/cjs/domain/record/serialization/serializeFullSnapshotAsChange.js.map +1 -0
  184. package/cjs/domain/record/serialization/serializeMutations.d.ts +11 -0
  185. package/cjs/domain/record/serialization/serializeMutations.js +262 -0
  186. package/cjs/domain/record/serialization/serializeMutations.js.map +1 -0
  187. package/cjs/domain/record/serialization/serializeMutationsAsChange.d.ts +5 -0
  188. package/cjs/domain/record/serialization/serializeMutationsAsChange.js +204 -0
  189. package/cjs/domain/record/serialization/serializeMutationsAsChange.js.map +1 -0
  190. package/cjs/domain/record/serialization/serializeNode.d.ts +7 -0
  191. package/cjs/domain/record/serialization/serializeNode.js +154 -0
  192. package/cjs/domain/record/serialization/serializeNode.js.map +1 -0
  193. package/cjs/domain/record/serialization/serializeNodeAsChange.d.ts +4 -0
  194. package/cjs/domain/record/serialization/serializeNodeAsChange.js +153 -0
  195. package/cjs/domain/record/serialization/serializeNodeAsChange.js.map +1 -0
  196. package/cjs/domain/record/serialization/serializeStyleSheets.d.ts +3 -0
  197. package/cjs/domain/record/serialization/serializeStyleSheets.js +30 -0
  198. package/cjs/domain/record/serialization/serializeStyleSheets.js.map +1 -0
  199. package/cjs/domain/record/serializationVerifier.d.ts +18 -0
  200. package/cjs/domain/record/serializationVerifier.js +126 -0
  201. package/cjs/domain/record/serializationVerifier.js.map +1 -0
  202. package/cjs/domain/record/shadowRootsController.d.ts +11 -0
  203. package/cjs/domain/record/shadowRootsController.js +45 -0
  204. package/cjs/domain/record/shadowRootsController.js.map +1 -0
  205. package/cjs/domain/record/startFullSnapshots.d.ts +10 -0
  206. package/cjs/domain/record/startFullSnapshots.js +50 -0
  207. package/cjs/domain/record/startFullSnapshots.js.map +1 -0
  208. package/cjs/domain/record/trackers/index.d.ts +12 -0
  209. package/cjs/domain/record/trackers/index.js +27 -0
  210. package/cjs/domain/record/trackers/index.js.map +1 -0
  211. package/cjs/domain/record/trackers/trackFocus.d.ts +5 -0
  212. package/cjs/domain/record/trackers/trackFocus.js +15 -0
  213. package/cjs/domain/record/trackers/trackFocus.js.map +1 -0
  214. package/cjs/domain/record/trackers/trackFrustration.d.ts +6 -0
  215. package/cjs/domain/record/trackers/trackFrustration.js +31 -0
  216. package/cjs/domain/record/trackers/trackFrustration.js.map +1 -0
  217. package/cjs/domain/record/trackers/trackInput.d.ts +4 -0
  218. package/cjs/domain/record/trackers/trackInput.js +104 -0
  219. package/cjs/domain/record/trackers/trackInput.js.map +1 -0
  220. package/cjs/domain/record/trackers/trackMediaInteraction.d.ts +5 -0
  221. package/cjs/domain/record/trackers/trackMediaInteraction.js +29 -0
  222. package/cjs/domain/record/trackers/trackMediaInteraction.js.map +1 -0
  223. package/cjs/domain/record/trackers/trackMouseInteraction.d.ts +5 -0
  224. package/cjs/domain/record/trackers/trackMouseInteraction.js +59 -0
  225. package/cjs/domain/record/trackers/trackMouseInteraction.js.map +1 -0
  226. package/cjs/domain/record/trackers/trackMove.d.ts +9 -0
  227. package/cjs/domain/record/trackers/trackMove.js +55 -0
  228. package/cjs/domain/record/trackers/trackMove.js.map +1 -0
  229. package/cjs/domain/record/trackers/trackMutation.d.ts +13 -0
  230. package/cjs/domain/record/trackers/trackMutation.js +41 -0
  231. package/cjs/domain/record/trackers/trackMutation.js.map +1 -0
  232. package/cjs/domain/record/trackers/trackScroll.d.ts +5 -0
  233. package/cjs/domain/record/trackers/trackScroll.js +48 -0
  234. package/cjs/domain/record/trackers/trackScroll.js.map +1 -0
  235. package/cjs/domain/record/trackers/trackStyleSheet.d.ts +6 -0
  236. package/cjs/domain/record/trackers/trackStyleSheet.js +89 -0
  237. package/cjs/domain/record/trackers/trackStyleSheet.js.map +1 -0
  238. package/cjs/domain/record/trackers/trackViewEnd.d.ts +5 -0
  239. package/cjs/domain/record/trackers/trackViewEnd.js +20 -0
  240. package/cjs/domain/record/trackers/trackViewEnd.js.map +1 -0
  241. package/cjs/domain/record/trackers/trackViewportResize.d.ts +6 -0
  242. package/cjs/domain/record/trackers/trackViewportResize.js +46 -0
  243. package/cjs/domain/record/trackers/trackViewportResize.js.map +1 -0
  244. package/cjs/domain/record/trackers/tracker.types.d.ts +3 -0
  245. package/cjs/domain/record/trackers/tracker.types.js +3 -0
  246. package/cjs/domain/record/trackers/tracker.types.js.map +1 -0
  247. package/cjs/domain/record/viewports.d.ts +20 -0
  248. package/cjs/domain/record/viewports.js +60 -0
  249. package/cjs/domain/record/viewports.js.map +1 -0
  250. package/cjs/domain/replayStats.d.ts +8 -0
  251. package/cjs/domain/replayStats.js +60 -0
  252. package/cjs/domain/replayStats.js.map +1 -0
  253. package/cjs/domain/scriptLoadingError.d.ts +6 -0
  254. package/cjs/domain/scriptLoadingError.js +26 -0
  255. package/cjs/domain/scriptLoadingError.js.map +1 -0
  256. package/cjs/domain/segmentCollection/buildReplayPayload.d.ts +15 -0
  257. package/cjs/domain/segmentCollection/buildReplayPayload.js +26 -0
  258. package/cjs/domain/segmentCollection/buildReplayPayload.js.map +1 -0
  259. package/cjs/domain/segmentCollection/index.d.ts +4 -0
  260. package/cjs/domain/segmentCollection/index.js +11 -0
  261. package/cjs/domain/segmentCollection/index.js.map +1 -0
  262. package/cjs/domain/segmentCollection/segment.d.ts +16 -0
  263. package/cjs/domain/segmentCollection/segment.js +82 -0
  264. package/cjs/domain/segmentCollection/segment.js.map +1 -0
  265. package/cjs/domain/segmentCollection/segmentCollection.d.ts +31 -0
  266. package/cjs/domain/segmentCollection/segmentCollection.js +113 -0
  267. package/cjs/domain/segmentCollection/segmentCollection.js.map +1 -0
  268. package/cjs/domain/segmentCollection/startSegmentTelemetry.d.ts +6 -0
  269. package/cjs/domain/segmentCollection/startSegmentTelemetry.js +52 -0
  270. package/cjs/domain/segmentCollection/startSegmentTelemetry.js.map +1 -0
  271. package/cjs/domain/startRecordBridge.d.ts +5 -0
  272. package/cjs/domain/startRecordBridge.js +17 -0
  273. package/cjs/domain/startRecordBridge.js.map +1 -0
  274. package/cjs/domain/startRecorderInitTelemetry.d.ts +15 -0
  275. package/cjs/domain/startRecorderInitTelemetry.js +55 -0
  276. package/cjs/domain/startRecorderInitTelemetry.js.map +1 -0
  277. package/cjs/entries/internal.d.ts +11 -0
  278. package/cjs/entries/internal.js +28 -0
  279. package/cjs/entries/internal.js.map +1 -0
  280. package/cjs/entries/internalSynthetics.d.ts +2 -0
  281. package/cjs/entries/internalSynthetics.js +27 -0
  282. package/cjs/entries/internalSynthetics.js.map +1 -0
  283. package/cjs/entries/main.d.ts +23 -0
  284. package/cjs/entries/main.js +35 -0
  285. package/cjs/entries/main.js.map +1 -0
  286. package/cjs/types/index.d.ts +3 -0
  287. package/cjs/types/index.js +18 -0
  288. package/cjs/types/index.js.map +1 -0
  289. package/cjs/types/profiling.d.ts +296 -0
  290. package/cjs/types/profiling.js +6 -0
  291. package/cjs/types/profiling.js.map +1 -0
  292. package/cjs/types/sessionReplay.d.ts +934 -0
  293. package/cjs/types/sessionReplay.js +6 -0
  294. package/cjs/types/sessionReplay.js.map +1 -0
  295. package/cjs/types/sessionReplayConstants.d.ts +71 -0
  296. package/cjs/types/sessionReplayConstants.js +67 -0
  297. package/cjs/types/sessionReplayConstants.js.map +1 -0
  298. package/esm/boot/isBrowserSupported.d.ts +4 -0
  299. package/esm/boot/isBrowserSupported.js +14 -0
  300. package/esm/boot/isBrowserSupported.js.map +1 -0
  301. package/esm/boot/lazyLoadProfiler.d.ts +3 -0
  302. package/esm/boot/lazyLoadProfiler.js +19 -0
  303. package/esm/boot/lazyLoadProfiler.js.map +1 -0
  304. package/esm/boot/lazyLoadRecorder.d.ts +3 -0
  305. package/esm/boot/lazyLoadRecorder.js +19 -0
  306. package/esm/boot/lazyLoadRecorder.js.map +1 -0
  307. package/esm/boot/postStartStrategy.d.ts +33 -0
  308. package/esm/boot/postStartStrategy.js +95 -0
  309. package/esm/boot/postStartStrategy.js.map +1 -0
  310. package/esm/boot/preStartStrategy.d.ts +6 -0
  311. package/esm/boot/preStartStrategy.js +21 -0
  312. package/esm/boot/preStartStrategy.js.map +1 -0
  313. package/esm/boot/profilerApi.d.ts +2 -0
  314. package/esm/boot/profilerApi.js +49 -0
  315. package/esm/boot/profilerApi.js.map +1 -0
  316. package/esm/boot/recorderApi.d.ts +3 -0
  317. package/esm/boot/recorderApi.js +68 -0
  318. package/esm/boot/recorderApi.js.map +1 -0
  319. package/esm/boot/startRecording.d.ts +6 -0
  320. package/esm/boot/startRecording.js +42 -0
  321. package/esm/boot/startRecording.js.map +1 -0
  322. package/esm/domain/deflate/deflateEncoder.d.ts +3 -0
  323. package/esm/domain/deflate/deflateEncoder.js +107 -0
  324. package/esm/domain/deflate/deflateEncoder.js.map +1 -0
  325. package/esm/domain/deflate/deflateWorker.d.ts +29 -0
  326. package/esm/domain/deflate/deflateWorker.js +97 -0
  327. package/esm/domain/deflate/deflateWorker.js.map +1 -0
  328. package/esm/domain/deflate/index.d.ts +3 -0
  329. package/esm/domain/deflate/index.js +3 -0
  330. package/esm/domain/deflate/index.js.map +1 -0
  331. package/esm/domain/getSessionReplayLink.d.ts +2 -0
  332. package/esm/domain/getSessionReplayLink.js +32 -0
  333. package/esm/domain/getSessionReplayLink.js.map +1 -0
  334. package/esm/domain/profiling/actionHistory.d.ts +10 -0
  335. package/esm/domain/profiling/actionHistory.js +45 -0
  336. package/esm/domain/profiling/actionHistory.js.map +1 -0
  337. package/esm/domain/profiling/longTaskHistory.d.ts +11 -0
  338. package/esm/domain/profiling/longTaskHistory.js +24 -0
  339. package/esm/domain/profiling/longTaskHistory.js.map +1 -0
  340. package/esm/domain/profiling/profiler.d.ts +7 -0
  341. package/esm/domain/profiling/profiler.js +263 -0
  342. package/esm/domain/profiling/profiler.js.map +1 -0
  343. package/esm/domain/profiling/profilingContext.d.ts +6 -0
  344. package/esm/domain/profiling/profilingContext.js +28 -0
  345. package/esm/domain/profiling/profilingContext.js.map +1 -0
  346. package/esm/domain/profiling/profilingSupported.d.ts +1 -0
  347. package/esm/domain/profiling/profilingSupported.js +8 -0
  348. package/esm/domain/profiling/profilingSupported.js.map +1 -0
  349. package/esm/domain/profiling/test-utils/mockedTrace.d.ts +3 -0
  350. package/esm/domain/profiling/test-utils/mockedTrace.js +54 -0
  351. package/esm/domain/profiling/test-utils/mockedTrace.js.map +1 -0
  352. package/esm/domain/profiling/transport/assembly.d.ts +7 -0
  353. package/esm/domain/profiling/transport/assembly.js +42 -0
  354. package/esm/domain/profiling/transport/assembly.js.map +1 -0
  355. package/esm/domain/profiling/transport/buildProfileEventAttributes.d.ts +33 -0
  356. package/esm/domain/profiling/transport/buildProfileEventAttributes.js +60 -0
  357. package/esm/domain/profiling/transport/buildProfileEventAttributes.js.map +1 -0
  358. package/esm/domain/profiling/types/index.d.ts +2 -0
  359. package/esm/domain/profiling/types/index.js +2 -0
  360. package/esm/domain/profiling/types/index.js.map +1 -0
  361. package/esm/domain/profiling/types/profilerApi.types.d.ts +58 -0
  362. package/esm/domain/profiling/types/profilerApi.types.js +4 -0
  363. package/esm/domain/profiling/types/profilerApi.types.js.map +1 -0
  364. package/esm/domain/profiling/types/rumProfiler.types.d.ts +55 -0
  365. package/esm/domain/profiling/types/rumProfiler.types.js +2 -0
  366. package/esm/domain/profiling/types/rumProfiler.types.js.map +1 -0
  367. package/esm/domain/profiling/utils/getCustomOrDefaultViewName.d.ts +1 -0
  368. package/esm/domain/profiling/utils/getCustomOrDefaultViewName.js +3 -0
  369. package/esm/domain/profiling/utils/getCustomOrDefaultViewName.js.map +1 -0
  370. package/esm/domain/profiling/utils/getDefaultViewName.d.ts +1 -0
  371. package/esm/domain/profiling/utils/getDefaultViewName.js +11 -0
  372. package/esm/domain/profiling/utils/getDefaultViewName.js.map +1 -0
  373. package/esm/domain/profiling/utils/getNumberOfSamples.d.ts +8 -0
  374. package/esm/domain/profiling/utils/getNumberOfSamples.js +16 -0
  375. package/esm/domain/profiling/utils/getNumberOfSamples.js.map +1 -0
  376. package/esm/domain/profiling/vitalHistory.d.ts +10 -0
  377. package/esm/domain/profiling/vitalHistory.js +38 -0
  378. package/esm/domain/profiling/vitalHistory.js.map +1 -0
  379. package/esm/domain/record/assembly.d.ts +3 -0
  380. package/esm/domain/record/assembly.js +13 -0
  381. package/esm/domain/record/assembly.js.map +1 -0
  382. package/esm/domain/record/elementsScrollPositions.d.ts +10 -0
  383. package/esm/domain/record/elementsScrollPositions.js +20 -0
  384. package/esm/domain/record/elementsScrollPositions.js.map +1 -0
  385. package/esm/domain/record/eventsUtils.d.ts +2 -0
  386. package/esm/domain/record/eventsUtils.js +11 -0
  387. package/esm/domain/record/eventsUtils.js.map +1 -0
  388. package/esm/domain/record/index.d.ts +6 -0
  389. package/esm/domain/record/index.js +5 -0
  390. package/esm/domain/record/index.js.map +1 -0
  391. package/esm/domain/record/internalApi.d.ts +22 -0
  392. package/esm/domain/record/internalApi.js +51 -0
  393. package/esm/domain/record/internalApi.js.map +1 -0
  394. package/esm/domain/record/itemIds.d.ts +40 -0
  395. package/esm/domain/record/itemIds.js +52 -0
  396. package/esm/domain/record/itemIds.js.map +1 -0
  397. package/esm/domain/record/mutationBatch.d.ts +12 -0
  398. package/esm/domain/record/mutationBatch.js +40 -0
  399. package/esm/domain/record/mutationBatch.js.map +1 -0
  400. package/esm/domain/record/record.d.ts +16 -0
  401. package/esm/domain/record/record.js +52 -0
  402. package/esm/domain/record/record.js.map +1 -0
  403. package/esm/domain/record/record.types.d.ts +18 -0
  404. package/esm/domain/record/record.types.js +2 -0
  405. package/esm/domain/record/record.types.js.map +1 -0
  406. package/esm/domain/record/recordingScope.d.ts +24 -0
  407. package/esm/domain/record/recordingScope.js +26 -0
  408. package/esm/domain/record/recordingScope.js.map +1 -0
  409. package/esm/domain/record/serialization/changeEncoder.d.ts +22 -0
  410. package/esm/domain/record/serialization/changeEncoder.js +56 -0
  411. package/esm/domain/record/serialization/changeEncoder.js.map +1 -0
  412. package/esm/domain/record/serialization/conversions/changeConverter.d.ts +10 -0
  413. package/esm/domain/record/serialization/conversions/changeConverter.js +213 -0
  414. package/esm/domain/record/serialization/conversions/changeConverter.js.map +1 -0
  415. package/esm/domain/record/serialization/conversions/changeDecoder.d.ts +16 -0
  416. package/esm/domain/record/serialization/conversions/changeDecoder.js +134 -0
  417. package/esm/domain/record/serialization/conversions/changeDecoder.js.map +1 -0
  418. package/esm/domain/record/serialization/conversions/index.d.ts +7 -0
  419. package/esm/domain/record/serialization/conversions/index.js +4 -0
  420. package/esm/domain/record/serialization/conversions/index.js.map +1 -0
  421. package/esm/domain/record/serialization/conversions/mutationLog.d.ts +15 -0
  422. package/esm/domain/record/serialization/conversions/mutationLog.js +33 -0
  423. package/esm/domain/record/serialization/conversions/mutationLog.js.map +1 -0
  424. package/esm/domain/record/serialization/conversions/nodeIdRemapper.d.ts +10 -0
  425. package/esm/domain/record/serialization/conversions/nodeIdRemapper.js +49 -0
  426. package/esm/domain/record/serialization/conversions/nodeIdRemapper.js.map +1 -0
  427. package/esm/domain/record/serialization/conversions/renderOptions.d.ts +6 -0
  428. package/esm/domain/record/serialization/conversions/renderOptions.js +9 -0
  429. package/esm/domain/record/serialization/conversions/renderOptions.js.map +1 -0
  430. package/esm/domain/record/serialization/conversions/stringTable.d.ts +5 -0
  431. package/esm/domain/record/serialization/conversions/stringTable.js +19 -0
  432. package/esm/domain/record/serialization/conversions/stringTable.js.map +1 -0
  433. package/esm/domain/record/serialization/conversions/vDocument.d.ts +23 -0
  434. package/esm/domain/record/serialization/conversions/vDocument.js +173 -0
  435. package/esm/domain/record/serialization/conversions/vDocument.js.map +1 -0
  436. package/esm/domain/record/serialization/conversions/vNode.d.ts +66 -0
  437. package/esm/domain/record/serialization/conversions/vNode.js +282 -0
  438. package/esm/domain/record/serialization/conversions/vNode.js.map +1 -0
  439. package/esm/domain/record/serialization/conversions/vStyleSheet.d.ts +16 -0
  440. package/esm/domain/record/serialization/conversions/vStyleSheet.js +26 -0
  441. package/esm/domain/record/serialization/conversions/vStyleSheet.js.map +1 -0
  442. package/esm/domain/record/serialization/experimentalFeatures.d.ts +2 -0
  443. package/esm/domain/record/serialization/experimentalFeatures.js +12 -0
  444. package/esm/domain/record/serialization/experimentalFeatures.js.map +1 -0
  445. package/esm/domain/record/serialization/index.d.ts +17 -0
  446. package/esm/domain/record/serialization/index.js +14 -0
  447. package/esm/domain/record/serialization/index.js.map +1 -0
  448. package/esm/domain/record/serialization/insertionCursor.d.ts +57 -0
  449. package/esm/domain/record/serialization/insertionCursor.js +64 -0
  450. package/esm/domain/record/serialization/insertionCursor.js.map +1 -0
  451. package/esm/domain/record/serialization/serialization.types.d.ts +24 -0
  452. package/esm/domain/record/serialization/serialization.types.js +2 -0
  453. package/esm/domain/record/serialization/serialization.types.js.map +1 -0
  454. package/esm/domain/record/serialization/serializationStats.d.ts +12 -0
  455. package/esm/domain/record/serialization/serializationStats.js +27 -0
  456. package/esm/domain/record/serialization/serializationStats.js.map +1 -0
  457. package/esm/domain/record/serialization/serializationTransaction.d.ts +96 -0
  458. package/esm/domain/record/serialization/serializationTransaction.js +99 -0
  459. package/esm/domain/record/serialization/serializationTransaction.js.map +1 -0
  460. package/esm/domain/record/serialization/serializationUtils.d.ts +18 -0
  461. package/esm/domain/record/serialization/serializationUtils.js +80 -0
  462. package/esm/domain/record/serialization/serializationUtils.js.map +1 -0
  463. package/esm/domain/record/serialization/serializeAttribute.d.ts +4 -0
  464. package/esm/domain/record/serialization/serializeAttribute.js +38 -0
  465. package/esm/domain/record/serialization/serializeAttribute.js.map +1 -0
  466. package/esm/domain/record/serialization/serializeAttributes.d.ts +7 -0
  467. package/esm/domain/record/serialization/serializeAttributes.js +161 -0
  468. package/esm/domain/record/serialization/serializeAttributes.js.map +1 -0
  469. package/esm/domain/record/serialization/serializeFullSnapshot.d.ts +5 -0
  470. package/esm/domain/record/serialization/serializeFullSnapshot.js +31 -0
  471. package/esm/domain/record/serialization/serializeFullSnapshot.js.map +1 -0
  472. package/esm/domain/record/serialization/serializeFullSnapshotAsChange.d.ts +5 -0
  473. package/esm/domain/record/serialization/serializeFullSnapshotAsChange.js +10 -0
  474. package/esm/domain/record/serialization/serializeFullSnapshotAsChange.js.map +1 -0
  475. package/esm/domain/record/serialization/serializeMutations.d.ts +11 -0
  476. package/esm/domain/record/serialization/serializeMutations.js +257 -0
  477. package/esm/domain/record/serialization/serializeMutations.js.map +1 -0
  478. package/esm/domain/record/serialization/serializeMutationsAsChange.d.ts +5 -0
  479. package/esm/domain/record/serialization/serializeMutationsAsChange.js +201 -0
  480. package/esm/domain/record/serialization/serializeMutationsAsChange.js.map +1 -0
  481. package/esm/domain/record/serialization/serializeNode.d.ts +7 -0
  482. package/esm/domain/record/serialization/serializeNode.js +149 -0
  483. package/esm/domain/record/serialization/serializeNode.js.map +1 -0
  484. package/esm/domain/record/serialization/serializeNodeAsChange.d.ts +4 -0
  485. package/esm/domain/record/serialization/serializeNodeAsChange.js +150 -0
  486. package/esm/domain/record/serialization/serializeNodeAsChange.js.map +1 -0
  487. package/esm/domain/record/serialization/serializeStyleSheets.d.ts +3 -0
  488. package/esm/domain/record/serialization/serializeStyleSheets.js +27 -0
  489. package/esm/domain/record/serialization/serializeStyleSheets.js.map +1 -0
  490. package/esm/domain/record/serializationVerifier.d.ts +18 -0
  491. package/esm/domain/record/serializationVerifier.js +123 -0
  492. package/esm/domain/record/serializationVerifier.js.map +1 -0
  493. package/esm/domain/record/shadowRootsController.d.ts +11 -0
  494. package/esm/domain/record/shadowRootsController.js +41 -0
  495. package/esm/domain/record/shadowRootsController.js.map +1 -0
  496. package/esm/domain/record/startFullSnapshots.d.ts +10 -0
  497. package/esm/domain/record/startFullSnapshots.js +46 -0
  498. package/esm/domain/record/startFullSnapshots.js.map +1 -0
  499. package/esm/domain/record/trackers/index.d.ts +12 -0
  500. package/esm/domain/record/trackers/index.js +12 -0
  501. package/esm/domain/record/trackers/index.js.map +1 -0
  502. package/esm/domain/record/trackers/trackFocus.d.ts +5 -0
  503. package/esm/domain/record/trackers/trackFocus.js +12 -0
  504. package/esm/domain/record/trackers/trackFocus.js.map +1 -0
  505. package/esm/domain/record/trackers/trackFrustration.d.ts +6 -0
  506. package/esm/domain/record/trackers/trackFrustration.js +28 -0
  507. package/esm/domain/record/trackers/trackFrustration.js.map +1 -0
  508. package/esm/domain/record/trackers/trackInput.d.ts +4 -0
  509. package/esm/domain/record/trackers/trackInput.js +101 -0
  510. package/esm/domain/record/trackers/trackInput.js.map +1 -0
  511. package/esm/domain/record/trackers/trackMediaInteraction.d.ts +5 -0
  512. package/esm/domain/record/trackers/trackMediaInteraction.js +26 -0
  513. package/esm/domain/record/trackers/trackMediaInteraction.js.map +1 -0
  514. package/esm/domain/record/trackers/trackMouseInteraction.d.ts +5 -0
  515. package/esm/domain/record/trackers/trackMouseInteraction.js +56 -0
  516. package/esm/domain/record/trackers/trackMouseInteraction.js.map +1 -0
  517. package/esm/domain/record/trackers/trackMove.d.ts +9 -0
  518. package/esm/domain/record/trackers/trackMove.js +51 -0
  519. package/esm/domain/record/trackers/trackMove.js.map +1 -0
  520. package/esm/domain/record/trackers/trackMutation.d.ts +13 -0
  521. package/esm/domain/record/trackers/trackMutation.js +38 -0
  522. package/esm/domain/record/trackers/trackMutation.js.map +1 -0
  523. package/esm/domain/record/trackers/trackScroll.d.ts +5 -0
  524. package/esm/domain/record/trackers/trackScroll.js +45 -0
  525. package/esm/domain/record/trackers/trackScroll.js.map +1 -0
  526. package/esm/domain/record/trackers/trackStyleSheet.d.ts +6 -0
  527. package/esm/domain/record/trackers/trackStyleSheet.js +85 -0
  528. package/esm/domain/record/trackers/trackStyleSheet.js.map +1 -0
  529. package/esm/domain/record/trackers/trackViewEnd.d.ts +5 -0
  530. package/esm/domain/record/trackers/trackViewEnd.js +17 -0
  531. package/esm/domain/record/trackers/trackViewEnd.js.map +1 -0
  532. package/esm/domain/record/trackers/trackViewportResize.d.ts +6 -0
  533. package/esm/domain/record/trackers/trackViewportResize.js +42 -0
  534. package/esm/domain/record/trackers/trackViewportResize.js.map +1 -0
  535. package/esm/domain/record/trackers/tracker.types.d.ts +3 -0
  536. package/esm/domain/record/trackers/tracker.types.js +2 -0
  537. package/esm/domain/record/trackers/tracker.types.js.map +1 -0
  538. package/esm/domain/record/viewports.d.ts +20 -0
  539. package/esm/domain/record/viewports.js +55 -0
  540. package/esm/domain/record/viewports.js.map +1 -0
  541. package/esm/domain/replayStats.d.ts +8 -0
  542. package/esm/domain/replayStats.js +51 -0
  543. package/esm/domain/replayStats.js.map +1 -0
  544. package/esm/domain/scriptLoadingError.d.ts +6 -0
  545. package/esm/domain/scriptLoadingError.js +23 -0
  546. package/esm/domain/scriptLoadingError.js.map +1 -0
  547. package/esm/domain/segmentCollection/buildReplayPayload.d.ts +15 -0
  548. package/esm/domain/segmentCollection/buildReplayPayload.js +23 -0
  549. package/esm/domain/segmentCollection/buildReplayPayload.js.map +1 -0
  550. package/esm/domain/segmentCollection/index.d.ts +4 -0
  551. package/esm/domain/segmentCollection/index.js +4 -0
  552. package/esm/domain/segmentCollection/index.js.map +1 -0
  553. package/esm/domain/segmentCollection/segment.d.ts +16 -0
  554. package/esm/domain/segmentCollection/segment.js +46 -0
  555. package/esm/domain/segmentCollection/segment.js.map +1 -0
  556. package/esm/domain/segmentCollection/segmentCollection.d.ts +31 -0
  557. package/esm/domain/segmentCollection/segmentCollection.js +106 -0
  558. package/esm/domain/segmentCollection/segmentCollection.js.map +1 -0
  559. package/esm/domain/segmentCollection/startSegmentTelemetry.d.ts +6 -0
  560. package/esm/domain/segmentCollection/startSegmentTelemetry.js +49 -0
  561. package/esm/domain/segmentCollection/startSegmentTelemetry.js.map +1 -0
  562. package/esm/domain/startRecordBridge.d.ts +5 -0
  563. package/esm/domain/startRecordBridge.js +14 -0
  564. package/esm/domain/startRecordBridge.js.map +1 -0
  565. package/esm/domain/startRecorderInitTelemetry.d.ts +15 -0
  566. package/esm/domain/startRecorderInitTelemetry.js +52 -0
  567. package/esm/domain/startRecorderInitTelemetry.js.map +1 -0
  568. package/esm/entries/internal.d.ts +11 -0
  569. package/esm/entries/internal.js +4 -0
  570. package/esm/entries/internal.js.map +1 -0
  571. package/esm/entries/internalSynthetics.d.ts +2 -0
  572. package/esm/entries/internalSynthetics.js +23 -0
  573. package/esm/entries/internalSynthetics.js.map +1 -0
  574. package/esm/entries/main.d.ts +23 -0
  575. package/esm/entries/main.js +31 -0
  576. package/esm/entries/main.js.map +1 -0
  577. package/esm/types/index.d.ts +3 -0
  578. package/esm/types/index.js +2 -0
  579. package/esm/types/index.js.map +1 -0
  580. package/esm/types/profiling.d.ts +296 -0
  581. package/esm/types/profiling.js +5 -0
  582. package/esm/types/profiling.js.map +1 -0
  583. package/esm/types/sessionReplay.d.ts +934 -0
  584. package/esm/types/sessionReplay.js +5 -0
  585. package/esm/types/sessionReplay.js.map +1 -0
  586. package/esm/types/sessionReplayConstants.d.ts +71 -0
  587. package/esm/types/sessionReplayConstants.js +64 -0
  588. package/esm/types/sessionReplayConstants.js.map +1 -0
  589. package/internal/package.json +6 -0
  590. package/internal-synthetics/package.json +6 -0
  591. package/package.json +52 -0
  592. package/src/boot/isBrowserSupported.ts +14 -0
  593. package/src/boot/lazyLoadProfiler.ts +20 -0
  594. package/src/boot/lazyLoadRecorder.ts +20 -0
  595. package/src/boot/postStartStrategy.ts +176 -0
  596. package/src/boot/preStartStrategy.ts +34 -0
  597. package/src/boot/profilerApi.ts +82 -0
  598. package/src/boot/recorderApi.ts +113 -0
  599. package/src/boot/startRecording.ts +70 -0
  600. package/src/domain/deflate/deflateEncoder.ts +144 -0
  601. package/src/domain/deflate/deflateWorker.ts +152 -0
  602. package/src/domain/deflate/index.ts +9 -0
  603. package/src/domain/getSessionReplayLink.ts +40 -0
  604. package/src/domain/profiling/actionHistory.ts +65 -0
  605. package/src/domain/profiling/longTaskHistory.ts +40 -0
  606. package/src/domain/profiling/profiler.ts +366 -0
  607. package/src/domain/profiling/profilingContext.ts +39 -0
  608. package/src/domain/profiling/profilingSupported.ts +10 -0
  609. package/src/domain/profiling/test-utils/mockedTrace.ts +58 -0
  610. package/src/domain/profiling/transport/assembly.ts +63 -0
  611. package/src/domain/profiling/transport/buildProfileEventAttributes.ts +106 -0
  612. package/src/domain/profiling/types/index.ts +2 -0
  613. package/src/domain/profiling/types/profilerApi.types.ts +87 -0
  614. package/src/domain/profiling/types/rumProfiler.types.ts +62 -0
  615. package/src/domain/profiling/utils/getCustomOrDefaultViewName.ts +4 -0
  616. package/src/domain/profiling/utils/getDefaultViewName.ts +12 -0
  617. package/src/domain/profiling/utils/getNumberOfSamples.ts +17 -0
  618. package/src/domain/profiling/vitalHistory.ts +58 -0
  619. package/src/domain/record/assembly.ts +19 -0
  620. package/src/domain/record/elementsScrollPositions.ts +28 -0
  621. package/src/domain/record/eventsUtils.ts +12 -0
  622. package/src/domain/record/index.ts +12 -0
  623. package/src/domain/record/internalApi.ts +84 -0
  624. package/src/domain/record/itemIds.ts +97 -0
  625. package/src/domain/record/mutationBatch.ts +47 -0
  626. package/src/domain/record/record.ts +90 -0
  627. package/src/domain/record/record.types.ts +22 -0
  628. package/src/domain/record/recordingScope.ts +58 -0
  629. package/src/domain/record/serialization/changeEncoder.ts +89 -0
  630. package/src/domain/record/serialization/conversions/changeConverter.ts +277 -0
  631. package/src/domain/record/serialization/conversions/changeDecoder.ts +192 -0
  632. package/src/domain/record/serialization/conversions/index.ts +7 -0
  633. package/src/domain/record/serialization/conversions/mutationLog.ts +56 -0
  634. package/src/domain/record/serialization/conversions/nodeIdRemapper.ts +69 -0
  635. package/src/domain/record/serialization/conversions/renderOptions.ts +14 -0
  636. package/src/domain/record/serialization/conversions/stringTable.ts +25 -0
  637. package/src/domain/record/serialization/conversions/vDocument.ts +239 -0
  638. package/src/domain/record/serialization/conversions/vNode.ts +417 -0
  639. package/src/domain/record/serialization/conversions/vStyleSheet.ts +47 -0
  640. package/src/domain/record/serialization/experimentalFeatures.ts +15 -0
  641. package/src/domain/record/serialization/index.ts +21 -0
  642. package/src/domain/record/serialization/insertionCursor.ts +131 -0
  643. package/src/domain/record/serialization/serialization.types.ts +38 -0
  644. package/src/domain/record/serialization/serializationStats.ts +43 -0
  645. package/src/domain/record/serialization/serializationTransaction.ts +255 -0
  646. package/src/domain/record/serialization/serializationUtils.ts +103 -0
  647. package/src/domain/record/serialization/serializeAttribute.ts +55 -0
  648. package/src/domain/record/serialization/serializeAttributes.ts +194 -0
  649. package/src/domain/record/serialization/serializeFullSnapshot.ts +46 -0
  650. package/src/domain/record/serialization/serializeFullSnapshotAsChange.ts +33 -0
  651. package/src/domain/record/serialization/serializeMutations.ts +395 -0
  652. package/src/domain/record/serialization/serializeMutationsAsChange.ts +298 -0
  653. package/src/domain/record/serialization/serializeNode.ts +229 -0
  654. package/src/domain/record/serialization/serializeNodeAsChange.ts +237 -0
  655. package/src/domain/record/serialization/serializeStyleSheets.ts +36 -0
  656. package/src/domain/record/serializationVerifier.ts +208 -0
  657. package/src/domain/record/shadowRootsController.ts +62 -0
  658. package/src/domain/record/startFullSnapshots.ts +92 -0
  659. package/src/domain/record/trackers/index.ts +12 -0
  660. package/src/domain/record/trackers/trackFocus.ts +16 -0
  661. package/src/domain/record/trackers/trackFrustration.ts +39 -0
  662. package/src/domain/record/trackers/trackInput.ts +128 -0
  663. package/src/domain/record/trackers/trackMediaInteraction.ts +43 -0
  664. package/src/domain/record/trackers/trackMouseInteraction.ts +74 -0
  665. package/src/domain/record/trackers/trackMove.ts +78 -0
  666. package/src/domain/record/trackers/trackMutation.ts +74 -0
  667. package/src/domain/record/trackers/trackScroll.ts +61 -0
  668. package/src/domain/record/trackers/trackStyleSheet.ts +117 -0
  669. package/src/domain/record/trackers/trackViewEnd.ts +27 -0
  670. package/src/domain/record/trackers/trackViewportResize.ts +69 -0
  671. package/src/domain/record/trackers/tracker.types.ts +3 -0
  672. package/src/domain/record/viewports.ts +68 -0
  673. package/src/domain/replayStats.ts +61 -0
  674. package/src/domain/scriptLoadingError.ts +36 -0
  675. package/src/domain/segmentCollection/buildReplayPayload.ts +52 -0
  676. package/src/domain/segmentCollection/index.ts +4 -0
  677. package/src/domain/segmentCollection/segment.ts +79 -0
  678. package/src/domain/segmentCollection/segmentCollection.ts +200 -0
  679. package/src/domain/segmentCollection/startSegmentTelemetry.ts +91 -0
  680. package/src/domain/startRecordBridge.ts +17 -0
  681. package/src/domain/startRecorderInitTelemetry.ts +90 -0
  682. package/src/entries/internal.ts +18 -0
  683. package/src/entries/internalSynthetics.ts +24 -0
  684. package/src/entries/main.ts +96 -0
  685. package/src/types/index.ts +3 -0
  686. package/src/types/profiling.ts +298 -0
  687. package/src/types/sessionReplay.ts +990 -0
  688. package/src/types/sessionReplayConstants.ts +130 -0
@@ -0,0 +1,990 @@
1
+ /**
2
+ * DO NOT MODIFY IT BY HAND. Run `yarn json-schemas:sync` instead.
3
+ */
4
+
5
+ /**
6
+ * Browser-specific. Schema of a Session Replay data Segment.
7
+ */
8
+ export type BrowserSegment = BrowserSegmentMetadata & {
9
+ /**
10
+ * The records contained by this Segment.
11
+ */
12
+ readonly records: BrowserRecord[]
13
+ }
14
+ /**
15
+ * Browser-specific. Schema of a Session Replay Segment metadata.
16
+ */
17
+ export type BrowserSegmentMetadata = SegmentContext &
18
+ CommonSegmentMetadataSchema & {
19
+ /**
20
+ * The source of this record
21
+ */
22
+ source: 'browser'
23
+ creation_reason: CreationReason
24
+ }
25
+ /**
26
+ * The reason this Segment was created. For mobile there is only one possible value for this, which is always the default value.
27
+ */
28
+ export type CreationReason =
29
+ | 'init'
30
+ | 'segment_duration_limit'
31
+ | 'segment_bytes_limit'
32
+ | 'view_change'
33
+ | 'before_unload'
34
+ | 'visibility_hidden'
35
+ | 'page_frozen'
36
+ /**
37
+ * Browser-specific. Schema of a Session Replay Record.
38
+ */
39
+ export type BrowserRecord =
40
+ | BrowserFullSnapshotRecord
41
+ | BrowserIncrementalSnapshotRecord
42
+ | MetaRecord
43
+ | FocusRecord
44
+ | ViewEndRecord
45
+ | VisualViewportRecord
46
+ | FrustrationRecord
47
+ | BrowserChangeRecord
48
+ /**
49
+ * Browser-specific. Schema of a Record type which contains the full snapshot of a screen.
50
+ */
51
+ export type BrowserFullSnapshotRecord = SlotSupportedCommonRecordSchema & {
52
+ /**
53
+ * The type of this Record.
54
+ */
55
+ readonly type: 2
56
+ data: BrowserNode
57
+ }
58
+ /**
59
+ * Schema of common properties for a Record event type that is supported by slots.
60
+ */
61
+ export type SlotSupportedCommonRecordSchema = CommonRecordSchema & {
62
+ /**
63
+ * Unique ID of the slot that generated this record.
64
+ */
65
+ readonly slotId?: string
66
+ }
67
+ /**
68
+ * Serialized node contained by this Record.
69
+ */
70
+ export type SerializedNodeWithId = {
71
+ id: number
72
+ } & SerializedNode
73
+ /**
74
+ * Serialized node contained by this Record.
75
+ */
76
+ export type SerializedNode = DocumentNode | DocumentFragmentNode | DocumentTypeNode | ElementNode | TextNode | CDataNode
77
+ /**
78
+ * Browser-specific. Schema of a Record type which contains mutations of a screen.
79
+ */
80
+ export type BrowserIncrementalSnapshotRecord = SlotSupportedCommonRecordSchema & {
81
+ /**
82
+ * The type of this Record.
83
+ */
84
+ readonly type: 3
85
+ data: BrowserIncrementalData
86
+ id?: number
87
+ }
88
+ /**
89
+ * Browser-specific. Schema of a Session Replay IncrementalData type.
90
+ */
91
+ export type BrowserIncrementalData =
92
+ | BrowserMutationData
93
+ | MousemoveData
94
+ | MouseInteractionData
95
+ | ScrollData
96
+ | InputData
97
+ | MediaInteractionData
98
+ | StyleSheetRuleData
99
+ | ViewportResizeData
100
+ | PointerInteractionData
101
+ /**
102
+ * Browser-specific. Schema of a MutationData.
103
+ */
104
+ export type BrowserMutationData = {
105
+ /**
106
+ * The source of this type of incremental data.
107
+ */
108
+ readonly source: 0
109
+ } & BrowserMutationPayload
110
+ /**
111
+ * Browser-specific. Schema of a MutationPayload.
112
+ */
113
+ export type BrowserMutationPayload = {
114
+ /**
115
+ * Contains the newly added nodes.
116
+ */
117
+ adds: AddedNodeMutation[]
118
+ /**
119
+ * Contains the removed nodes.
120
+ */
121
+ removes: RemovedNodeMutation[]
122
+ /**
123
+ * Contains the updated attribute mutations.
124
+ */
125
+ attributes: AttributeMutation[]
126
+ /**
127
+ * Contains the updated text mutations.
128
+ */
129
+ texts: TextMutation[]
130
+ }
131
+ /**
132
+ * Browser-specific. Schema of a MouseInteractionData.
133
+ */
134
+ export type MouseInteractionData = {
135
+ /**
136
+ * The source of this type of incremental data.
137
+ */
138
+ readonly source: 2
139
+ } & MouseInteraction
140
+ /**
141
+ * Browser-specific. Schema of a MouseInteraction.
142
+ */
143
+ export type MouseInteraction =
144
+ | {
145
+ /**
146
+ * The type of MouseInteraction: 0=mouseup, 1=mousedown, 2=click, 3=contextmenu, 4=dblclick, 7=touchstart, 9=touchend
147
+ */
148
+ readonly type: 0 | 1 | 2 | 3 | 4 | 7 | 9
149
+ /**
150
+ * Id for the target node for this MouseInteraction.
151
+ */
152
+ id: number
153
+ /**
154
+ * X-axis coordinate for this MouseInteraction.
155
+ */
156
+ x: number
157
+ /**
158
+ * Y-axis coordinate for this MouseInteraction.
159
+ */
160
+ y: number
161
+ }
162
+ | {
163
+ /**
164
+ * The type of MouseInteraction: 5=focus, 6=blur
165
+ */
166
+ readonly type: 5 | 6
167
+ /**
168
+ * Id for the target node for this MouseInteraction.
169
+ */
170
+ id: number
171
+ }
172
+ /**
173
+ * Browser-specific. Schema of a ScrollData.
174
+ */
175
+ export type ScrollData = {
176
+ /**
177
+ * The source of this type of incremental data.
178
+ */
179
+ readonly source: 3
180
+ } & ScrollPosition
181
+ /**
182
+ * Browser-specific. Schema of an InputData.
183
+ */
184
+ export type InputData = {
185
+ /**
186
+ * The source of this type of incremental data.
187
+ */
188
+ readonly source: 5
189
+ /**
190
+ * Id for the target node for this InputData.
191
+ */
192
+ id: number
193
+ } & InputState
194
+ /**
195
+ * Browser-specific. Schema of an InputState.
196
+ */
197
+ export type InputState =
198
+ | {
199
+ /**
200
+ * Text value for this InputState.
201
+ */
202
+ text: string
203
+ }
204
+ | {
205
+ /**
206
+ * Checked state for this InputState.
207
+ */
208
+ isChecked: boolean
209
+ }
210
+ /**
211
+ * Browser-specific. Schema of a MediaInteractionData.
212
+ */
213
+ export type MediaInteractionData = {
214
+ /**
215
+ * The source of this type of incremental data.
216
+ */
217
+ readonly source: 7
218
+ } & MediaInteraction
219
+ /**
220
+ * Browser-specific. Schema of a StyleSheetRuleData.
221
+ */
222
+ export type StyleSheetRuleData = {
223
+ /**
224
+ * The source of this type of incremental data.
225
+ */
226
+ readonly source: 8
227
+ } & StyleSheetRule
228
+ /**
229
+ * Schema of a ViewportResizeData.
230
+ */
231
+ export type ViewportResizeData = {
232
+ /**
233
+ * The source of this type of incremental data.
234
+ */
235
+ readonly source: 4
236
+ } & ViewportResizeDimension
237
+ /**
238
+ * Schema of a PointerInteractionData.
239
+ */
240
+ export type PointerInteractionData = {
241
+ /**
242
+ * The source of this type of incremental data.
243
+ */
244
+ readonly source: 9
245
+ } & PointerInteraction
246
+ /**
247
+ * Schema of a Record which contains the screen properties.
248
+ */
249
+ export type MetaRecord = SlotSupportedCommonRecordSchema & {
250
+ /**
251
+ * The type of this Record.
252
+ */
253
+ readonly type: 4
254
+ /**
255
+ * The data contained by this record.
256
+ */
257
+ data: {
258
+ /**
259
+ * The width of the screen in pixels, normalized based on the device pixels per inch density (DPI). Example: if a device has a DPI = 2, the normalized width is the current width divided by 2.
260
+ */
261
+ width: number
262
+ /**
263
+ * The height of the screen in pixels, normalized based on the device pixels per inch density (DPI). Example: if a device has a DPI = 2, the normalized height is the current height divided by 2.
264
+ */
265
+ height: number
266
+ /**
267
+ * Browser-specific. URL of the view described by this record.
268
+ */
269
+ href?: string
270
+ }
271
+ }
272
+ /**
273
+ * Schema of a Record type which contains focus information.
274
+ */
275
+ export type FocusRecord = SlotSupportedCommonRecordSchema & {
276
+ /**
277
+ * The type of this Record.
278
+ */
279
+ readonly type: 6
280
+ data: {
281
+ /**
282
+ * Whether this screen has a focus or not. For now it will always be true for mobile.
283
+ */
284
+ readonly has_focus: boolean
285
+ }
286
+ }
287
+ /**
288
+ * Schema of a Record which signifies that view lifecycle ended.
289
+ */
290
+ export type ViewEndRecord = SlotSupportedCommonRecordSchema & {
291
+ /**
292
+ * The type of this Record.
293
+ */
294
+ readonly type: 7
295
+ }
296
+ /**
297
+ * Schema of a Record which signifies that the viewport properties have changed.
298
+ */
299
+ export type VisualViewportRecord = SlotSupportedCommonRecordSchema & {
300
+ data: {
301
+ height: number
302
+ offsetLeft: number
303
+ offsetTop: number
304
+ pageLeft: number
305
+ pageTop: number
306
+ scale: number
307
+ width: number
308
+ }
309
+ /**
310
+ * The type of this Record.
311
+ */
312
+ readonly type: 8
313
+ }
314
+ /**
315
+ * Schema of a Record which signifies a collection of frustration signals.
316
+ */
317
+ export type FrustrationRecord = SlotSupportedCommonRecordSchema & {
318
+ /**
319
+ * The type of this Record.
320
+ */
321
+ readonly type: 9
322
+ /**
323
+ * Schema of a Session Replay FrustrationRecord data structure type.
324
+ */
325
+ data: {
326
+ /**
327
+ * Collection of frustration signal types.
328
+ */
329
+ frustrationTypes: ('rage_click' | 'error_click' | 'dead_click')[]
330
+ /**
331
+ * Collection of frustration signal event IDs.
332
+ */
333
+ recordIds: number[]
334
+ }
335
+ }
336
+ /**
337
+ * Browser-specific. Schema of a record type which represents changes using a compact encoding. (Experimental; subject to change.)
338
+ */
339
+ export type BrowserChangeRecord = SlotSupportedCommonRecordSchema & {
340
+ /**
341
+ * The type of this Record.
342
+ */
343
+ readonly type: 12
344
+ data: Change[]
345
+ id?: number
346
+ }
347
+ /**
348
+ * Browser-specific. Schema representing an individual change within a BrowserChangeData collection.
349
+ */
350
+ export type Change =
351
+ | [0, ...AddStringChange[]]
352
+ | [1, ...AddNodeChange[]]
353
+ | [2, ...RemoveNodeChange[]]
354
+ | [3, ...AttributeChange[]]
355
+ | [4, ...TextChange[]]
356
+ | [5, ...SizeChange[]]
357
+ | [6, ...ScrollPositionChange[]]
358
+ | [7, ...AddStyleSheetChange[]]
359
+ | [8, ...AttachedStyleSheetsChange[]]
360
+ | [9, ...MediaPlaybackStateChange[]]
361
+ | [10, ...VisualViewportChange[]]
362
+ /**
363
+ * Browser-specific. Schema representing the addition of a string to the string table.
364
+ */
365
+ export type AddStringChange = string
366
+ /**
367
+ * Browser-specific. Schema representing the addition of a new node to the document.
368
+ */
369
+ export type AddNodeChange =
370
+ | AddCDataSectionNodeChange
371
+ | AddDocTypeNodeChange
372
+ | AddDocumentNodeChange
373
+ | AddDocumentFragmentNodeChange
374
+ | AddElementNodeChange
375
+ | AddShadowRootNodeChange
376
+ | AddTextNodeChange
377
+ /**
378
+ * Schema representing the addition of a new #cdata-section node.
379
+ *
380
+ * @minItems 2
381
+ */
382
+ export type AddCDataSectionNodeChange = [InsertionPoint, '#cdata-section' | StringReference]
383
+ /**
384
+ * Browser-specific. Schema representing the insertion point of a node which is being added to the document.
385
+ */
386
+ export type InsertionPoint =
387
+ | AppendChildInsertionPoint
388
+ | InsertAfterPreviousInsertionPoint
389
+ | InsertBeforeInsertionPoint
390
+ | RootInsertionPoint
391
+ /**
392
+ * A positive integer insertion point. Inserting a node at positive integer N indicates that the new node's parent is the node with an id N lower than the new node, and that we should insert the new node at the end of its parent's child list, as if the DOM method appendChild() was being used.
393
+ */
394
+ export type AppendChildInsertionPoint = number
395
+ /**
396
+ * A zero insertion point. Inserting a node at zero indicates that the new node should be inserted after the node with an id one lower than the new node, as if the DOM method after() is being used. Using a zero insertion point repeatedly is thus a quick way to insert a sequence of sibling elements.
397
+ */
398
+ export type InsertAfterPreviousInsertionPoint = 0
399
+ /**
400
+ * A negative integer insertion point. Inserting a node at negative integer -N indicates that the new node's next sibling is the node with an id N lower than the new node, and that we should insert the new node before its next sibling, as if the DOM method insertBefore() was being used.
401
+ */
402
+ export type InsertBeforeInsertionPoint = number
403
+ /**
404
+ * A null insertion point, indicating that the node should be inserted at the root of the document.
405
+ */
406
+ export type RootInsertionPoint = null
407
+ /**
408
+ * Browser-specific. Schema representing a string, expressed as an index into the string table.
409
+ */
410
+ export type StringReference = number
411
+ /**
412
+ * Schema representing the addition of a new #doctype node, using the format [#doctype, name, public ID, system ID].
413
+ *
414
+ * @minItems 5
415
+ */
416
+ export type AddDocTypeNodeChange = [
417
+ InsertionPoint,
418
+ '#doctype' | StringReference,
419
+ StringOrStringReference,
420
+ StringOrStringReference,
421
+ StringOrStringReference,
422
+ ]
423
+ /**
424
+ * Browser-specific. Schema representing a string, either expressed as a literal or as an index into the string table.
425
+ */
426
+ export type StringOrStringReference = string | StringReference
427
+ /**
428
+ * Schema representing the addition of a new #document node.
429
+ *
430
+ * @minItems 2
431
+ */
432
+ export type AddDocumentNodeChange = [InsertionPoint, '#document' | StringReference]
433
+ /**
434
+ * Schema representing the addition of a new #document-fragment node.
435
+ *
436
+ * @minItems 2
437
+ */
438
+ export type AddDocumentFragmentNodeChange = [InsertionPoint, '#document-fragment' | StringReference]
439
+ /**
440
+ * Schema representing the addition of a new element node.
441
+ *
442
+ * @minItems 2
443
+ */
444
+ export type AddElementNodeChange = [InsertionPoint, string | StringReference, ...AttributeAssignment[]]
445
+ /**
446
+ * Schema representing an assignment of a value to an attribute. The format is [name, value].
447
+ *
448
+ * @minItems 2
449
+ */
450
+ export type AttributeAssignment = [StringOrStringReference, StringOrStringReference]
451
+ /**
452
+ * Schema representing the addition of a new #shadow-root node.
453
+ *
454
+ * @minItems 2
455
+ */
456
+ export type AddShadowRootNodeChange = [InsertionPoint, '#shadow-root' | StringReference]
457
+ /**
458
+ * Schema representing the addition of a new #text node.
459
+ *
460
+ * @minItems 3
461
+ */
462
+ export type AddTextNodeChange = [InsertionPoint, '#text' | StringReference, StringOrStringReference]
463
+ /**
464
+ * Browser-specific. Schema representing the removal of a node from the document.
465
+ */
466
+ export type RemoveNodeChange = number
467
+ /**
468
+ * Browser-specific. Schema representing a change to an node's attributes.
469
+ *
470
+ * @minItems 1
471
+ */
472
+ export type AttributeChange = [NodeId, ...AttributeAssignmentOrDeletion[]]
473
+ /**
474
+ * Browser-specific. Schema representing the ID of a DOM node.
475
+ */
476
+ export type NodeId = number
477
+ /**
478
+ * Schema representing a change to an attribute, either by assignment of a new value or by deletion of the attribute.
479
+ */
480
+ export type AttributeAssignmentOrDeletion = AttributeAssignment | AttributeDeletion
481
+ /**
482
+ * Schema representing the deletion of an attribute.
483
+ *
484
+ * @minItems 1
485
+ */
486
+ export type AttributeDeletion = [StringOrStringReference]
487
+ /**
488
+ * Browser-specific. Schema representing a change to the text content of a #text node.
489
+ *
490
+ * @minItems 2
491
+ */
492
+ export type TextChange = [NodeId, StringOrStringReference]
493
+ /**
494
+ * Browser-specific. Schema representing a change in an element's size.
495
+ *
496
+ * @minItems 3
497
+ */
498
+ export type SizeChange = [NodeId, number, number]
499
+ /**
500
+ * Browser-specific. Schema representing a scroll position change.
501
+ *
502
+ * @minItems 3
503
+ */
504
+ export type ScrollPositionChange = [NodeId, number, number]
505
+ /**
506
+ * Browser-specific. Schema representing the addition of a new stylesheet to the document.
507
+ */
508
+ export type AddStyleSheetChange = StyleSheetSnapshot
509
+ /**
510
+ * Schema representing a snapshot of a CSS stylesheet.
511
+ *
512
+ * @minItems 1
513
+ */
514
+ export type StyleSheetSnapshot =
515
+ | [StyleSheetRules]
516
+ | [StyleSheetRules, StyleSheetMediaList]
517
+ | [StyleSheetRules, StyleSheetMediaList, boolean]
518
+ /**
519
+ * Schema representing a CSS stylesheet's rules, encoded either as a single string or as an array containing a separate string for each rule.
520
+ */
521
+ export type StyleSheetRules = StringOrStringReference | StringOrStringReference[]
522
+ /**
523
+ * If non-empty, the list of medias for which this stylesheet is active. Defaults to the empty list if not present.
524
+ */
525
+ export type StyleSheetMediaList = StringOrStringReference[]
526
+ /**
527
+ * Browser-specific. Schema representing a change to the stylesheets attached to a DOM node. For <link> or <style> elements, which use classic CSSOM APIs, at most one stylesheet can be attached. For #document, #document-fragment, or #shadow-root nodes, which use the `adoptedStyleSheets` API, any number of stylesheets can be attached.
528
+ *
529
+ * @minItems 1
530
+ */
531
+ export type AttachedStyleSheetsChange = [NodeId, ...StyleSheetId[]]
532
+ /**
533
+ * Browser-specific. Schema representing the ID of a stylesheet.
534
+ */
535
+ export type StyleSheetId = number
536
+ /**
537
+ * Browser-specific. Schema representing a change to the playback state of the media associated with an <audio> or <video> element.
538
+ *
539
+ * @minItems 2
540
+ */
541
+ export type MediaPlaybackStateChange = [NodeId, PlaybackStatePlaying | PlaybackStatePaused]
542
+ /**
543
+ * A playback state indicating that the associated media is playing.
544
+ */
545
+ export type PlaybackStatePlaying = 0
546
+ /**
547
+ * A playback state indicating that the associated media is paused.
548
+ */
549
+ export type PlaybackStatePaused = 1
550
+ /**
551
+ * Browser-specific. Schema representing a change to the visual viewport, defined in terms of the web platform VisualViewport API.
552
+ *
553
+ * @minItems 7
554
+ */
555
+ export type VisualViewportChange = [
556
+ VisualViewportOffsetLeft,
557
+ VisualViewportOffsetTop,
558
+ VisualViewportPageLeft,
559
+ VisualViewportPageTop,
560
+ VisualViewportWidth,
561
+ VisualViewportHeight,
562
+ VisualViewportScale,
563
+ ]
564
+ /**
565
+ * The offset of the left edge of the visual viewport from the left edge of the layout viewport in CSS pixels.
566
+ */
567
+ export type VisualViewportOffsetLeft = number
568
+ /**
569
+ * The offset of the top edge of the visual viewport from the top edge of the layout viewport in CSS pixels.
570
+ */
571
+ export type VisualViewportOffsetTop = number
572
+ /**
573
+ * The x coordinate of the visual viewport relative to the initial containing block origin of the top edge in CSS pixels.
574
+ */
575
+ export type VisualViewportPageLeft = number
576
+ /**
577
+ * The y coordinate of the visual viewport relative to the initial containing block origin of the top edge in CSS pixels.
578
+ */
579
+ export type VisualViewportPageTop = number
580
+ /**
581
+ * The width of the visual viewport in CSS pixels.
582
+ */
583
+ export type VisualViewportWidth = number
584
+ /**
585
+ * The height of the visual viewport in CSS pixels.
586
+ */
587
+ export type VisualViewportHeight = number
588
+ /**
589
+ * The pinch-zoom scaling factor applied to the visual viewport.
590
+ */
591
+ export type VisualViewportScale = number
592
+
593
+ /**
594
+ * Schema of a Session Replay Segment context.
595
+ */
596
+ export interface SegmentContext {
597
+ /**
598
+ * Application properties
599
+ */
600
+ application: {
601
+ /**
602
+ * UUID of the application
603
+ */
604
+ id: string
605
+ }
606
+ /**
607
+ * Session properties
608
+ */
609
+ session: {
610
+ /**
611
+ * UUID of the session
612
+ */
613
+ id: string
614
+ }
615
+ /**
616
+ * View properties
617
+ */
618
+ view: {
619
+ /**
620
+ * UUID of the view
621
+ */
622
+ id: string
623
+ }
624
+ }
625
+ /**
626
+ * Schema of common properties for a Segment Metadata type.
627
+ */
628
+ export interface CommonSegmentMetadataSchema {
629
+ /**
630
+ * The start UTC timestamp in milliseconds corresponding to the first record in the Segment data. Each timestamp is computed as the UTC interval since 00:00:00.000 01.01.1970.
631
+ */
632
+ start: number
633
+ /**
634
+ * The end UTC timestamp in milliseconds corresponding to the last record in the Segment data. Each timestamp is computed as the UTC interval since 00:00:00.000 01.01.1970.
635
+ */
636
+ end: number
637
+ /**
638
+ * The number of records in this Segment.
639
+ */
640
+ records_count: number
641
+ /**
642
+ * The index of this Segment in the segments list that was recorded for this view ID. Starts from 0.
643
+ */
644
+ index_in_view?: number
645
+ /**
646
+ * Whether this Segment contains a full snapshot record or not.
647
+ */
648
+ has_full_snapshot?: boolean
649
+ }
650
+ /**
651
+ * Schema of common properties for a Record event type.
652
+ */
653
+ export interface CommonRecordSchema {
654
+ /**
655
+ * Defines the UTC time in milliseconds when this Record was performed.
656
+ */
657
+ timestamp: number
658
+ }
659
+ /**
660
+ * Schema of a Node type.
661
+ */
662
+ export interface BrowserNode {
663
+ node: SerializedNodeWithId
664
+ /**
665
+ * Initial node offset position.
666
+ */
667
+ initialOffset: {
668
+ /**
669
+ * Top position offset for this node.
670
+ */
671
+ top: number
672
+ /**
673
+ * Left position offset for this node.
674
+ */
675
+ left: number
676
+ }
677
+ }
678
+ /**
679
+ * Schema of a Document Node.
680
+ */
681
+ export interface DocumentNode {
682
+ /**
683
+ * The type of this Node.
684
+ */
685
+ readonly type: 0
686
+ /**
687
+ * Stylesheet added dynamically
688
+ */
689
+ readonly adoptedStyleSheets?: StyleSheet[]
690
+ childNodes: SerializedNodeWithId[]
691
+ }
692
+ /**
693
+ * Browser-specific. Schema of a StyleSheet
694
+ */
695
+ export interface StyleSheet {
696
+ /**
697
+ * CSS rules applied (rule.cssText)
698
+ */
699
+ cssRules: string[]
700
+ /**
701
+ * MediaList of the stylesheet
702
+ */
703
+ media?: string[]
704
+ /**
705
+ * Is the stylesheet disabled
706
+ */
707
+ disabled?: boolean
708
+ }
709
+ /**
710
+ * Schema of a Document FragmentNode.
711
+ */
712
+ export interface DocumentFragmentNode {
713
+ /**
714
+ * The type of this Node.
715
+ */
716
+ readonly type: 11
717
+ /**
718
+ * Stylesheet added dynamically
719
+ */
720
+ readonly adoptedStyleSheets?: StyleSheet[]
721
+ /**
722
+ * Is this node a shadow root or not
723
+ */
724
+ readonly isShadowRoot: boolean
725
+ childNodes: SerializedNodeWithId[]
726
+ }
727
+ /**
728
+ * Schema of a Document Type Node.
729
+ */
730
+ export interface DocumentTypeNode {
731
+ /**
732
+ * The type of this Node.
733
+ */
734
+ readonly type: 1
735
+ /**
736
+ * Name for this DocumentType
737
+ */
738
+ name: string
739
+ /**
740
+ * PublicId for this DocumentType
741
+ */
742
+ publicId: string
743
+ /**
744
+ * SystemId for this DocumentType
745
+ */
746
+ systemId: string
747
+ }
748
+ /**
749
+ * Schema of an Element Node.
750
+ */
751
+ export interface ElementNode {
752
+ /**
753
+ * The type of this Node.
754
+ */
755
+ readonly type: 2
756
+ /**
757
+ * TagName for this Node
758
+ */
759
+ tagName: string
760
+ attributes: Attributes
761
+ childNodes: SerializedNodeWithId[]
762
+ /**
763
+ * Is this node a SVG instead of a HTML
764
+ */
765
+ isSVG?: true
766
+ }
767
+ /**
768
+ * Schema of an Attributes type.
769
+ */
770
+ export interface Attributes {
771
+ [k: string]: string | number | boolean
772
+ }
773
+ /**
774
+ * Schema of a Text Node.
775
+ */
776
+ export interface TextNode {
777
+ /**
778
+ * The type of this Node.
779
+ */
780
+ readonly type: 3
781
+ /**
782
+ * Text value for this Text Node
783
+ */
784
+ textContent: string
785
+ isStyle?: true
786
+ }
787
+ /**
788
+ * Schema of a CData Node.
789
+ */
790
+ export interface CDataNode {
791
+ /**
792
+ * The type of this Node.
793
+ */
794
+ readonly type: 4
795
+ textContent: ''
796
+ }
797
+ /**
798
+ * Schema of an AddedNodeMutation.
799
+ */
800
+ export interface AddedNodeMutation {
801
+ node: SerializedNodeWithId
802
+ /**
803
+ * Id for the parent node for this AddedNodeMutation.
804
+ */
805
+ parentId: number
806
+ nextId: number | null
807
+ previousId?: number | null
808
+ }
809
+ /**
810
+ * Schema of a RemovedNodeMutation.
811
+ */
812
+ export interface RemovedNodeMutation {
813
+ /**
814
+ * Id of the mutated node.
815
+ */
816
+ id: number
817
+ /**
818
+ * Id for the parent node for this RemovedNodeMutation
819
+ */
820
+ parentId: number
821
+ }
822
+ /**
823
+ * Schema of an AttributeMutation.
824
+ */
825
+ export interface AttributeMutation {
826
+ /**
827
+ * Id of the mutated node.
828
+ */
829
+ id: number
830
+ /**
831
+ * Attributes for this AttributeMutation
832
+ */
833
+ attributes: {
834
+ [k: string]: string | null
835
+ }
836
+ }
837
+ /**
838
+ * Schema of a TextMutation.
839
+ */
840
+ export interface TextMutation {
841
+ /**
842
+ * Id of the mutated node.
843
+ */
844
+ id: number
845
+ /**
846
+ * Value for this TextMutation
847
+ */
848
+ value: null | string
849
+ }
850
+ /**
851
+ * Browser-specific. Schema of a MousemoveData.
852
+ */
853
+ export interface MousemoveData {
854
+ /**
855
+ * The source of this type of incremental data.
856
+ */
857
+ readonly source: 1 | 6
858
+ /**
859
+ * Positions reported for this MousemoveData.
860
+ */
861
+ positions: MousePosition[]
862
+ }
863
+ /**
864
+ * Browser-specific. Schema of a MousePosition.
865
+ */
866
+ export interface MousePosition {
867
+ /**
868
+ * X-axis coordinate for this MousePosition.
869
+ */
870
+ x: number
871
+ /**
872
+ * Y-axis coordinate for this MousePosition.
873
+ */
874
+ y: number
875
+ /**
876
+ * Id for the target node for this MousePosition.
877
+ */
878
+ id: number
879
+ /**
880
+ * Observed time offset for this MousePosition.
881
+ */
882
+ timeOffset: number
883
+ }
884
+ /**
885
+ * Browser-specific. Schema of a ScrollPosition.
886
+ */
887
+ export interface ScrollPosition {
888
+ /**
889
+ * Id for the target node for this ScrollPosition.
890
+ */
891
+ id: number
892
+ /**
893
+ * X-axis coordinate for this ScrollPosition.
894
+ */
895
+ x: number
896
+ /**
897
+ * Y-axis coordinate for this ScrollPosition.
898
+ */
899
+ y: number
900
+ }
901
+ /**
902
+ * Browser-specific. Schema of a MediaInteraction.
903
+ */
904
+ export interface MediaInteraction {
905
+ /**
906
+ * Id for the target node for this MediaInteraction.
907
+ */
908
+ id: number
909
+ /**
910
+ * The type of MediaInteraction.
911
+ */
912
+ readonly type: 0 | 1
913
+ }
914
+ /**
915
+ * Browser-specific. Schema of a StyleSheetRule.
916
+ */
917
+ export interface StyleSheetRule {
918
+ /**
919
+ * Id of the owner node for this StyleSheetRule.
920
+ */
921
+ readonly id: number
922
+ /**
923
+ * Rules added to this StyleSheetRule.
924
+ */
925
+ adds?: StyleSheetAddRule[]
926
+ /**
927
+ * Rules deleted from this StyleSheetRule.
928
+ */
929
+ removes?: StyleSheetDeleteRule[]
930
+ }
931
+ /**
932
+ * Browser-specific. Schema of a StyleSheetAddRule.
933
+ */
934
+ export interface StyleSheetAddRule {
935
+ /**
936
+ * Text content for this StyleSheetAddRule.
937
+ */
938
+ rule: string
939
+ /**
940
+ * Index of this StyleSheetAddRule in its StyleSheet.
941
+ */
942
+ index?: number | number[]
943
+ }
944
+ /**
945
+ * Browser-specific. Schema of a StyleSheetDeleteRule.
946
+ */
947
+ export interface StyleSheetDeleteRule {
948
+ /**
949
+ * Index of this StyleSheetDeleteRule in its StyleSheet.
950
+ */
951
+ index: number | number[]
952
+ }
953
+ /**
954
+ * Schema of a ViewportResizeDimension.
955
+ */
956
+ export interface ViewportResizeDimension {
957
+ /**
958
+ * The new width of the screen in pixels, normalized based on the device pixels per inch density (DPI). Example: if a device has a DPI = 2, the width is divided by 2 to get a normalized width.
959
+ */
960
+ width: number
961
+ /**
962
+ * The new height of the screen in pixels, normalized based on the device pixels per inch density (DPI). Example: if a device has a DPI = 2, the height is divided by 2 to get a normalized height.
963
+ */
964
+ height: number
965
+ }
966
+ /**
967
+ * Schema of a PointerInteraction.
968
+ */
969
+ export interface PointerInteraction {
970
+ /**
971
+ * Schema of an PointerEventType
972
+ */
973
+ readonly pointerEventType: 'down' | 'up' | 'move'
974
+ /**
975
+ * Schema of an PointerType
976
+ */
977
+ readonly pointerType: 'mouse' | 'touch' | 'pen'
978
+ /**
979
+ * Id of the pointer of this PointerInteraction.
980
+ */
981
+ pointerId: number
982
+ /**
983
+ * X-axis coordinate for this PointerInteraction.
984
+ */
985
+ x: number
986
+ /**
987
+ * Y-axis coordinate for this PointerInteraction.
988
+ */
989
+ y: number
990
+ }