@kubesense/kubesense-browser-rum 1.8.0 → 2.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (784) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +23 -0
  3. package/bundle/chunks/kubesenseProfiler-4b8cfd8f889074788478-kubesense-rum.js +1 -0
  4. package/bundle/chunks/kubesenseRecorder-db948e96649585a2b3e9-kubesense-rum.js +1 -0
  5. package/bundle/kubesense-rum.js +1 -1
  6. package/cjs/boot/kubesenseRecorder.d.ts +6 -0
  7. package/cjs/boot/kubesenseRecorder.js +75 -0
  8. package/cjs/boot/kubesenseRecorder.js.map +1 -0
  9. package/cjs/boot/lazyLoadProfiler.d.ts +3 -4
  10. package/cjs/boot/lazyLoadProfiler.js +18 -50
  11. package/cjs/boot/lazyLoadProfiler.js.map +1 -1
  12. package/cjs/boot/lazyLoadRecorder.d.ts +3 -4
  13. package/cjs/boot/lazyLoadRecorder.js +18 -50
  14. package/cjs/boot/lazyLoadRecorder.js.map +1 -1
  15. package/cjs/boot/postStartStrategy.d.ts +4 -4
  16. package/cjs/boot/postStartStrategy.js +89 -110
  17. package/cjs/boot/postStartStrategy.js.map +1 -1
  18. package/cjs/boot/preStartStrategy.js +21 -21
  19. package/cjs/boot/preStartStrategy.js.map +1 -1
  20. package/cjs/boot/profilerApi.js +44 -50
  21. package/cjs/boot/profilerApi.js.map +1 -1
  22. package/cjs/boot/recorderApi.d.ts +1 -3
  23. package/cjs/boot/recorderApi.js +41 -71
  24. package/cjs/boot/recorderApi.js.map +1 -1
  25. package/cjs/domain/deflate/deflateEncoder.d.ts +1 -2
  26. package/cjs/domain/deflate/deflateEncoder.js +94 -108
  27. package/cjs/domain/deflate/deflateEncoder.js.map +1 -1
  28. package/cjs/domain/deflate/deflateWorker.d.ts +3 -4
  29. package/cjs/domain/deflate/deflateWorker.js +79 -90
  30. package/cjs/domain/deflate/deflateWorker.js.map +1 -1
  31. package/cjs/domain/deflate/index.d.ts +1 -1
  32. package/cjs/domain/deflate/index.js +5 -10
  33. package/cjs/domain/getSessionReplayLink.d.ts +3 -2
  34. package/cjs/domain/getSessionReplayLink.js +17 -31
  35. package/cjs/domain/getSessionReplayLink.js.map +1 -1
  36. package/cjs/domain/profiling/actionHistory.d.ts +10 -0
  37. package/cjs/domain/profiling/actionHistory.js +37 -0
  38. package/cjs/domain/profiling/actionHistory.js.map +1 -0
  39. package/cjs/domain/profiling/kubesenseProfiler.d.ts +6 -0
  40. package/cjs/domain/profiling/kubesenseProfiler.js +243 -0
  41. package/cjs/domain/profiling/kubesenseProfiler.js.map +1 -0
  42. package/cjs/domain/profiling/longTaskHistory.d.ts +11 -0
  43. package/cjs/domain/profiling/longTaskHistory.js +22 -0
  44. package/cjs/domain/profiling/longTaskHistory.js.map +1 -0
  45. package/cjs/domain/profiling/profilerDebugIds.d.ts +2 -0
  46. package/cjs/domain/profiling/profilerDebugIds.js +18 -0
  47. package/cjs/domain/profiling/profilerDebugIds.js.map +1 -0
  48. package/cjs/domain/profiling/profilingContext.js +20 -25
  49. package/cjs/domain/profiling/profilingContext.js.map +1 -1
  50. package/cjs/domain/profiling/profilingSupported.js +6 -8
  51. package/cjs/domain/profiling/profilingSupported.js.map +1 -1
  52. package/cjs/domain/profiling/quotaCheck.d.ts +9 -0
  53. package/cjs/domain/profiling/quotaCheck.js +66 -0
  54. package/cjs/domain/profiling/quotaCheck.js.map +1 -0
  55. package/cjs/domain/profiling/test-utils/mockedTrace.d.ts +1 -1
  56. package/cjs/domain/profiling/transport/buildProfileEvent.d.ts +38 -0
  57. package/cjs/domain/profiling/transport/buildProfileEvent.js +91 -0
  58. package/cjs/domain/profiling/transport/buildProfileEvent.js.map +1 -0
  59. package/cjs/domain/profiling/transport/formDataEmitter.d.ts +5 -0
  60. package/cjs/domain/profiling/transport/formDataEmitter.js +17 -0
  61. package/cjs/domain/profiling/transport/formDataEmitter.js.map +1 -0
  62. package/cjs/domain/profiling/transport/profilingBridge.d.ts +2 -0
  63. package/cjs/domain/profiling/transport/profilingBridge.js +12 -0
  64. package/cjs/domain/profiling/transport/profilingBridge.js.map +1 -0
  65. package/cjs/domain/profiling/{types/rumProfiler.types.d.ts → types.d.ts} +13 -24
  66. package/cjs/domain/profiling/utils/getCustomOrDefaultViewName.js +5 -5
  67. package/cjs/domain/profiling/utils/getCustomOrDefaultViewName.js.map +1 -1
  68. package/cjs/domain/profiling/utils/getDefaultViewName.js +6 -10
  69. package/cjs/domain/profiling/utils/getDefaultViewName.js.map +1 -1
  70. package/cjs/domain/profiling/vitalHistory.d.ts +13 -0
  71. package/cjs/domain/profiling/vitalHistory.js +56 -0
  72. package/cjs/domain/profiling/vitalHistory.js.map +1 -0
  73. package/cjs/domain/record/assembly.d.ts +2 -1
  74. package/cjs/domain/record/assembly.js +15 -14
  75. package/cjs/domain/record/assembly.js.map +1 -1
  76. package/cjs/domain/record/canvas/canvasHash.d.ts +2 -0
  77. package/cjs/domain/record/canvas/canvasHash.js +33 -0
  78. package/cjs/domain/record/canvas/canvasHash.js.map +1 -0
  79. package/cjs/domain/record/canvas/canvasManager.d.ts +42 -0
  80. package/cjs/domain/record/canvas/canvasManager.js +99 -0
  81. package/cjs/domain/record/canvas/canvasManager.js.map +1 -0
  82. package/cjs/domain/record/canvas/canvasSnapshot.d.ts +8 -0
  83. package/cjs/domain/record/canvas/canvasSnapshot.js +40 -0
  84. package/cjs/domain/record/canvas/canvasSnapshot.js.map +1 -0
  85. package/cjs/domain/record/canvas/canvasUtils.d.ts +2 -0
  86. package/cjs/domain/record/canvas/canvasUtils.js +14 -0
  87. package/cjs/domain/record/canvas/canvasUtils.js.map +1 -0
  88. package/cjs/domain/record/elementsScrollPositions.js +17 -20
  89. package/cjs/domain/record/elementsScrollPositions.js.map +1 -1
  90. package/cjs/domain/record/encoding/changeDecoder.d.ts +39 -0
  91. package/cjs/domain/record/encoding/changeDecoder.js +152 -0
  92. package/cjs/domain/record/encoding/changeDecoder.js.map +1 -0
  93. package/cjs/domain/record/encoding/changeEncoder.d.ts +39 -0
  94. package/cjs/domain/record/encoding/changeEncoder.js +146 -0
  95. package/cjs/domain/record/encoding/changeEncoder.js.map +1 -0
  96. package/cjs/domain/record/encoding/index.d.ts +10 -0
  97. package/cjs/domain/record/encoding/itemIds.d.ts +32 -0
  98. package/cjs/domain/record/encoding/itemIds.js +49 -0
  99. package/cjs/domain/record/encoding/itemIds.js.map +1 -0
  100. package/cjs/domain/record/encoding/roles.d.ts +52 -0
  101. package/cjs/domain/record/encoding/roles.js +66 -0
  102. package/cjs/domain/record/encoding/roles.js.map +1 -0
  103. package/cjs/domain/record/encoding/stringIds.d.ts +15 -0
  104. package/cjs/domain/record/encoding/stringIds.js +47 -0
  105. package/cjs/domain/record/encoding/stringIds.js.map +1 -0
  106. package/cjs/domain/record/encoding/stringTable.d.ts +15 -0
  107. package/cjs/domain/record/encoding/stringTable.js +38 -0
  108. package/cjs/domain/record/encoding/stringTable.js.map +1 -0
  109. package/cjs/domain/record/eventsUtils.js +9 -10
  110. package/cjs/domain/record/eventsUtils.js.map +1 -1
  111. package/cjs/domain/record/index.d.ts +5 -2
  112. package/cjs/domain/record/index.js +13 -17
  113. package/cjs/domain/record/internalApi.d.ts +6 -6
  114. package/cjs/domain/record/internalApi.js +55 -49
  115. package/cjs/domain/record/internalApi.js.map +1 -1
  116. package/cjs/domain/record/mutationBatch.d.ts +1 -0
  117. package/cjs/domain/record/mutationBatch.js +38 -39
  118. package/cjs/domain/record/mutationBatch.js.map +1 -1
  119. package/cjs/domain/record/record.d.ts +7 -1
  120. package/cjs/domain/record/record.js +76 -87
  121. package/cjs/domain/record/record.js.map +1 -1
  122. package/cjs/domain/record/record.types.d.ts +1 -0
  123. package/cjs/domain/record/recordingScope.d.ts +7 -3
  124. package/cjs/domain/record/recordingScope.js +25 -11
  125. package/cjs/domain/record/recordingScope.js.map +1 -1
  126. package/cjs/domain/record/serialization/index.d.ts +4 -2
  127. package/cjs/domain/record/serialization/index.js +16 -18
  128. package/cjs/domain/record/serialization/insertionCursor.d.ts +57 -0
  129. package/cjs/domain/record/serialization/insertionCursor.js +55 -0
  130. package/cjs/domain/record/serialization/insertionCursor.js.map +1 -0
  131. package/cjs/domain/record/serialization/serialization.types.d.ts +0 -6
  132. package/cjs/domain/record/serialization/serializationStats.js +26 -25
  133. package/cjs/domain/record/serialization/serializationStats.js.map +1 -1
  134. package/cjs/domain/record/serialization/serializationTransaction.d.ts +44 -22
  135. package/cjs/domain/record/serialization/serializationTransaction.js +90 -36
  136. package/cjs/domain/record/serialization/serializationTransaction.js.map +1 -1
  137. package/cjs/domain/record/serialization/serializationUtils.d.ts +0 -1
  138. package/cjs/domain/record/serialization/serializationUtils.js +46 -75
  139. package/cjs/domain/record/serialization/serializationUtils.js.map +1 -1
  140. package/cjs/domain/record/serialization/serializeAttribute.js +24 -39
  141. package/cjs/domain/record/serialization/serializeAttribute.js.map +1 -1
  142. package/cjs/domain/record/serialization/serializeAttributes.d.ts +2 -2
  143. package/cjs/domain/record/serialization/serializeAttributes.js +100 -152
  144. package/cjs/domain/record/serialization/serializeAttributes.js.map +1 -1
  145. package/cjs/domain/record/serialization/serializeFullSnapshot.d.ts +5 -0
  146. package/cjs/domain/record/serialization/serializeFullSnapshot.js +14 -0
  147. package/cjs/domain/record/serialization/serializeFullSnapshot.js.map +1 -0
  148. package/cjs/domain/record/serialization/serializeMutations.d.ts +5 -0
  149. package/cjs/domain/record/serialization/serializeMutations.js +152 -0
  150. package/cjs/domain/record/serialization/serializeMutations.js.map +1 -0
  151. package/cjs/domain/record/serialization/serializeNode.d.ts +3 -6
  152. package/cjs/domain/record/serialization/serializeNode.js +116 -144
  153. package/cjs/domain/record/serialization/serializeNode.js.map +1 -1
  154. package/cjs/domain/record/shadowRootsController.d.ts +2 -2
  155. package/cjs/domain/record/shadowRootsController.js +37 -42
  156. package/cjs/domain/record/shadowRootsController.js.map +1 -1
  157. package/cjs/domain/record/startFullSnapshots.d.ts +1 -1
  158. package/cjs/domain/record/startFullSnapshots.js +38 -54
  159. package/cjs/domain/record/startFullSnapshots.js.map +1 -1
  160. package/cjs/domain/record/trackers/index.d.ts +2 -1
  161. package/cjs/domain/record/trackers/index.js +25 -27
  162. package/cjs/domain/record/trackers/trackCanvasCapture.d.ts +3 -0
  163. package/cjs/domain/record/trackers/trackCanvasCapture.js +102 -0
  164. package/cjs/domain/record/trackers/trackCanvasCapture.js.map +1 -0
  165. package/cjs/domain/record/trackers/trackCanvasContent.d.ts +3 -0
  166. package/cjs/domain/record/trackers/trackCanvasContent.js +31 -0
  167. package/cjs/domain/record/trackers/trackCanvasContent.js.map +1 -0
  168. package/cjs/domain/record/trackers/trackFocus.d.ts +1 -2
  169. package/cjs/domain/record/trackers/trackFocus.js +15 -13
  170. package/cjs/domain/record/trackers/trackFocus.js.map +1 -1
  171. package/cjs/domain/record/trackers/trackInput.d.ts +2 -2
  172. package/cjs/domain/record/trackers/trackInput.js +129 -102
  173. package/cjs/domain/record/trackers/trackInput.js.map +1 -1
  174. package/cjs/domain/record/trackers/trackMediaInteraction.js +22 -26
  175. package/cjs/domain/record/trackers/trackMediaInteraction.js.map +1 -1
  176. package/cjs/domain/record/trackers/trackMouseInteraction.js +47 -54
  177. package/cjs/domain/record/trackers/trackMouseInteraction.js.map +1 -1
  178. package/cjs/domain/record/trackers/trackMove.js +43 -49
  179. package/cjs/domain/record/trackers/trackMove.js.map +1 -1
  180. package/cjs/domain/record/trackers/trackMutation.d.ts +3 -3
  181. package/cjs/domain/record/trackers/trackMutation.js +42 -267
  182. package/cjs/domain/record/trackers/trackMutation.js.map +1 -1
  183. package/cjs/domain/record/trackers/trackScroll.js +36 -44
  184. package/cjs/domain/record/trackers/trackScroll.js.map +1 -1
  185. package/cjs/domain/record/trackers/trackStyleSheet.js +75 -84
  186. package/cjs/domain/record/trackers/trackStyleSheet.js.map +1 -1
  187. package/cjs/domain/record/trackers/trackViewEnd.js +17 -17
  188. package/cjs/domain/record/trackers/trackViewEnd.js.map +1 -1
  189. package/cjs/domain/record/trackers/trackViewportResize.d.ts +2 -3
  190. package/cjs/domain/record/trackers/trackViewportResize.js +36 -42
  191. package/cjs/domain/record/trackers/trackViewportResize.js.map +1 -1
  192. package/cjs/domain/record/viewports.js +32 -50
  193. package/cjs/domain/record/viewports.js.map +1 -1
  194. package/cjs/domain/replayStats.d.ts +1 -0
  195. package/cjs/domain/replayStats.js +36 -44
  196. package/cjs/domain/replayStats.js.map +1 -1
  197. package/cjs/domain/scriptLoadingError.js +15 -22
  198. package/cjs/domain/scriptLoadingError.js.map +1 -1
  199. package/cjs/domain/segmentCollection/buildReplayPayload.js +22 -23
  200. package/cjs/domain/segmentCollection/buildReplayPayload.js.map +1 -1
  201. package/cjs/domain/segmentCollection/buildResourcePayload.d.ts +5 -0
  202. package/cjs/domain/segmentCollection/buildResourcePayload.js +19 -0
  203. package/cjs/domain/segmentCollection/buildResourcePayload.js.map +1 -0
  204. package/cjs/domain/segmentCollection/index.d.ts +3 -0
  205. package/cjs/domain/segmentCollection/index.js +14 -11
  206. package/cjs/domain/segmentCollection/replayResourceCollection.d.ts +10 -0
  207. package/cjs/domain/segmentCollection/replayResourceCollection.js +52 -0
  208. package/cjs/domain/segmentCollection/replayResourceCollection.js.map +1 -0
  209. package/cjs/domain/segmentCollection/segment.js +50 -80
  210. package/cjs/domain/segmentCollection/segment.js.map +1 -1
  211. package/cjs/domain/segmentCollection/segmentCollection.d.ts +4 -4
  212. package/cjs/domain/segmentCollection/segmentCollection.js +87 -105
  213. package/cjs/domain/segmentCollection/segmentCollection.js.map +1 -1
  214. package/cjs/domain/segmentCollection/startDroppedSegmentRecovery.d.ts +16 -0
  215. package/cjs/domain/segmentCollection/startDroppedSegmentRecovery.js +29 -0
  216. package/cjs/domain/segmentCollection/startDroppedSegmentRecovery.js.map +1 -0
  217. package/cjs/domain/segmentCollection/startSegmentTelemetry.js +40 -42
  218. package/cjs/domain/segmentCollection/startSegmentTelemetry.js.map +1 -1
  219. package/cjs/domain/startRecordBridge.js +10 -14
  220. package/cjs/domain/startRecordBridge.js.map +1 -1
  221. package/cjs/domain/startRecorderInitTelemetry.js +42 -50
  222. package/cjs/domain/startRecorderInitTelemetry.js.map +1 -1
  223. package/cjs/entries/internal.d.ts +11 -2
  224. package/cjs/entries/internal.js +47 -28
  225. package/cjs/entries/internalSynthetics.js +26 -24
  226. package/cjs/entries/internalSynthetics.js.map +1 -1
  227. package/cjs/entries/main.d.ts +5 -3
  228. package/cjs/entries/main.js +50 -31
  229. package/cjs/entries/main.js.map +1 -1
  230. package/cjs/types/index.d.ts +1 -0
  231. package/cjs/types/profiling.d.ts +313 -0
  232. package/cjs/types/sessionReplay.d.ts +381 -3
  233. package/cjs/types/sessionReplayConstants.d.ts +57 -0
  234. package/cjs/types/sessionReplayConstants.js +104 -47
  235. package/cjs/types/sessionReplayConstants.js.map +1 -1
  236. package/esm/boot/kubesenseRecorder.mjs +75 -0
  237. package/esm/boot/kubesenseRecorder.mjs.map +1 -0
  238. package/esm/boot/lazyLoadProfiler.mjs +24 -0
  239. package/esm/boot/lazyLoadProfiler.mjs.map +1 -0
  240. package/esm/boot/lazyLoadRecorder.mjs +24 -0
  241. package/esm/boot/lazyLoadRecorder.mjs.map +1 -0
  242. package/esm/boot/postStartStrategy.mjs +97 -0
  243. package/esm/boot/postStartStrategy.mjs.map +1 -0
  244. package/esm/boot/preStartStrategy.mjs +24 -0
  245. package/esm/boot/preStartStrategy.mjs.map +1 -0
  246. package/esm/boot/profilerApi.mjs +47 -0
  247. package/esm/boot/profilerApi.mjs.map +1 -0
  248. package/esm/boot/recorderApi.mjs +43 -0
  249. package/esm/boot/recorderApi.mjs.map +1 -0
  250. package/esm/domain/deflate/deflateEncoder.mjs +96 -0
  251. package/esm/domain/deflate/deflateEncoder.mjs.map +1 -0
  252. package/esm/domain/deflate/deflateWorker.mjs +90 -0
  253. package/esm/domain/deflate/deflateWorker.mjs.map +1 -0
  254. package/esm/domain/deflate/index.mjs +3 -0
  255. package/esm/domain/getSessionReplayLink.mjs +21 -0
  256. package/esm/domain/getSessionReplayLink.mjs.map +1 -0
  257. package/esm/domain/profiling/actionHistory.mjs +36 -0
  258. package/esm/domain/profiling/actionHistory.mjs.map +1 -0
  259. package/esm/domain/profiling/kubesenseProfiler.mjs +242 -0
  260. package/esm/domain/profiling/kubesenseProfiler.mjs.map +1 -0
  261. package/esm/domain/profiling/longTaskHistory.mjs +21 -0
  262. package/esm/domain/profiling/longTaskHistory.mjs.map +1 -0
  263. package/esm/domain/profiling/profilerDebugIds.mjs +18 -0
  264. package/esm/domain/profiling/profilerDebugIds.mjs.map +1 -0
  265. package/esm/domain/profiling/profilingContext.mjs +23 -0
  266. package/esm/domain/profiling/profilingContext.mjs.map +1 -0
  267. package/esm/domain/profiling/profilingSupported.mjs +9 -0
  268. package/esm/domain/profiling/profilingSupported.mjs.map +1 -0
  269. package/esm/domain/profiling/quotaCheck.mjs +66 -0
  270. package/esm/domain/profiling/quotaCheck.mjs.map +1 -0
  271. package/esm/domain/profiling/transport/buildProfileEvent.mjs +90 -0
  272. package/esm/domain/profiling/transport/buildProfileEvent.mjs.map +1 -0
  273. package/esm/domain/profiling/transport/formDataEmitter.mjs +17 -0
  274. package/esm/domain/profiling/transport/formDataEmitter.mjs.map +1 -0
  275. package/esm/domain/profiling/transport/profilingBridge.mjs +12 -0
  276. package/esm/domain/profiling/transport/profilingBridge.mjs.map +1 -0
  277. package/esm/domain/profiling/utils/getCustomOrDefaultViewName.mjs +7 -0
  278. package/esm/domain/profiling/utils/getCustomOrDefaultViewName.mjs.map +1 -0
  279. package/esm/domain/profiling/utils/getDefaultViewName.mjs +10 -0
  280. package/esm/domain/profiling/utils/getDefaultViewName.mjs.map +1 -0
  281. package/esm/domain/profiling/vitalHistory.mjs +55 -0
  282. package/esm/domain/profiling/vitalHistory.mjs.map +1 -0
  283. package/esm/domain/record/assembly.mjs +17 -0
  284. package/esm/domain/record/assembly.mjs.map +1 -0
  285. package/esm/domain/record/canvas/canvasHash.mjs +33 -0
  286. package/esm/domain/record/canvas/canvasHash.mjs.map +1 -0
  287. package/esm/domain/record/canvas/canvasManager.mjs +99 -0
  288. package/esm/domain/record/canvas/canvasManager.mjs.map +1 -0
  289. package/esm/domain/record/canvas/canvasSnapshot.mjs +38 -0
  290. package/esm/domain/record/canvas/canvasSnapshot.mjs.map +1 -0
  291. package/esm/domain/record/canvas/canvasUtils.mjs +13 -0
  292. package/esm/domain/record/canvas/canvasUtils.mjs.map +1 -0
  293. package/esm/domain/record/elementsScrollPositions.mjs +20 -0
  294. package/esm/domain/record/elementsScrollPositions.mjs.map +1 -0
  295. package/esm/domain/record/encoding/changeDecoder.mjs +152 -0
  296. package/esm/domain/record/encoding/changeDecoder.mjs.map +1 -0
  297. package/esm/domain/record/encoding/changeEncoder.mjs +146 -0
  298. package/esm/domain/record/encoding/changeEncoder.mjs.map +1 -0
  299. package/esm/domain/record/encoding/itemIds.mjs +47 -0
  300. package/esm/domain/record/encoding/itemIds.mjs.map +1 -0
  301. package/esm/domain/record/encoding/roles.mjs +64 -0
  302. package/esm/domain/record/encoding/roles.mjs.map +1 -0
  303. package/esm/domain/record/encoding/stringIds.mjs +47 -0
  304. package/esm/domain/record/encoding/stringIds.mjs.map +1 -0
  305. package/esm/domain/record/encoding/stringTable.mjs +38 -0
  306. package/esm/domain/record/encoding/stringTable.mjs.map +1 -0
  307. package/esm/domain/record/eventsUtils.mjs +13 -0
  308. package/esm/domain/record/eventsUtils.mjs.map +1 -0
  309. package/esm/domain/record/index.mjs +8 -0
  310. package/esm/domain/record/internalApi.mjs +62 -0
  311. package/esm/domain/record/internalApi.mjs.map +1 -0
  312. package/esm/domain/record/mutationBatch.mjs +43 -0
  313. package/esm/domain/record/mutationBatch.mjs.map +1 -0
  314. package/esm/domain/record/record.mjs +79 -0
  315. package/esm/domain/record/record.mjs.map +1 -0
  316. package/esm/domain/record/recordingScope.mjs +27 -0
  317. package/esm/domain/record/recordingScope.mjs.map +1 -0
  318. package/esm/domain/record/serialization/index.mjs +9 -0
  319. package/esm/domain/record/serialization/insertionCursor.mjs +54 -0
  320. package/esm/domain/record/serialization/insertionCursor.mjs.map +1 -0
  321. package/esm/domain/record/serialization/serializationStats.mjs +31 -0
  322. package/esm/domain/record/serialization/serializationStats.mjs.map +1 -0
  323. package/esm/domain/record/serialization/serializationTransaction.mjs +92 -0
  324. package/esm/domain/record/serialization/serializationTransaction.mjs.map +1 -0
  325. package/esm/domain/record/serialization/serializationUtils.mjs +53 -0
  326. package/esm/domain/record/serialization/serializationUtils.mjs.map +1 -0
  327. package/esm/domain/record/serialization/serializeAttribute.mjs +26 -0
  328. package/esm/domain/record/serialization/serializeAttribute.mjs.map +1 -0
  329. package/esm/domain/record/serialization/serializeAttributes.mjs +113 -0
  330. package/esm/domain/record/serialization/serializeAttributes.mjs.map +1 -0
  331. package/esm/domain/record/serialization/serializeFullSnapshot.mjs +14 -0
  332. package/esm/domain/record/serialization/serializeFullSnapshot.mjs.map +1 -0
  333. package/esm/domain/record/serialization/serializeMutations.mjs +152 -0
  334. package/esm/domain/record/serialization/serializeMutations.mjs.map +1 -0
  335. package/esm/domain/record/serialization/serializeNode.mjs +126 -0
  336. package/esm/domain/record/serialization/serializeNode.mjs.map +1 -0
  337. package/esm/domain/record/shadowRootsController.mjs +40 -0
  338. package/esm/domain/record/shadowRootsController.mjs.map +1 -0
  339. package/esm/domain/record/startFullSnapshots.mjs +42 -0
  340. package/esm/domain/record/startFullSnapshots.mjs.map +1 -0
  341. package/esm/domain/record/trackers/index.mjs +13 -0
  342. package/esm/domain/record/trackers/trackCanvasCapture.mjs +102 -0
  343. package/esm/domain/record/trackers/trackCanvasCapture.mjs.map +1 -0
  344. package/esm/domain/record/trackers/trackCanvasContent.mjs +31 -0
  345. package/esm/domain/record/trackers/trackCanvasContent.mjs.map +1 -0
  346. package/esm/domain/record/trackers/trackFocus.mjs +17 -0
  347. package/esm/domain/record/trackers/trackFocus.mjs.map +1 -0
  348. package/esm/domain/record/trackers/trackInput.mjs +131 -0
  349. package/esm/domain/record/trackers/trackInput.mjs.map +1 -0
  350. package/esm/domain/record/trackers/trackMediaInteraction.mjs +25 -0
  351. package/esm/domain/record/trackers/trackMediaInteraction.mjs.map +1 -0
  352. package/esm/domain/record/trackers/trackMouseInteraction.mjs +52 -0
  353. package/esm/domain/record/trackers/trackMouseInteraction.mjs.map +1 -0
  354. package/esm/domain/record/trackers/trackMove.mjs +48 -0
  355. package/esm/domain/record/trackers/trackMove.mjs.map +1 -0
  356. package/esm/domain/record/trackers/trackMutation.mjs +45 -0
  357. package/esm/domain/record/trackers/trackMutation.mjs.map +1 -0
  358. package/esm/domain/record/trackers/trackScroll.mjs +40 -0
  359. package/esm/domain/record/trackers/trackScroll.mjs.map +1 -0
  360. package/esm/domain/record/trackers/trackStyleSheet.mjs +79 -0
  361. package/esm/domain/record/trackers/trackStyleSheet.mjs.map +1 -0
  362. package/esm/domain/record/trackers/trackViewEnd.mjs +20 -0
  363. package/esm/domain/record/trackers/trackViewEnd.mjs.map +1 -0
  364. package/esm/domain/record/trackers/trackViewportResize.mjs +39 -0
  365. package/esm/domain/record/trackers/trackViewportResize.mjs.map +1 -0
  366. package/esm/domain/record/viewports.mjs +41 -0
  367. package/esm/domain/record/viewports.mjs.map +1 -0
  368. package/esm/domain/replayStats.mjs +46 -0
  369. package/esm/domain/replayStats.mjs.map +1 -0
  370. package/esm/domain/scriptLoadingError.mjs +19 -0
  371. package/esm/domain/scriptLoadingError.mjs.map +1 -0
  372. package/esm/domain/segmentCollection/buildReplayPayload.mjs +25 -0
  373. package/esm/domain/segmentCollection/buildReplayPayload.mjs.map +1 -0
  374. package/esm/domain/segmentCollection/buildResourcePayload.mjs +19 -0
  375. package/esm/domain/segmentCollection/buildResourcePayload.mjs.map +1 -0
  376. package/esm/domain/segmentCollection/index.mjs +5 -0
  377. package/esm/domain/segmentCollection/replayResourceCollection.mjs +52 -0
  378. package/esm/domain/segmentCollection/replayResourceCollection.mjs.map +1 -0
  379. package/esm/domain/segmentCollection/segment.mjs +52 -0
  380. package/esm/domain/segmentCollection/segment.mjs.map +1 -0
  381. package/esm/domain/segmentCollection/segmentCollection.mjs +87 -0
  382. package/esm/domain/segmentCollection/segmentCollection.mjs.map +1 -0
  383. package/esm/domain/segmentCollection/startDroppedSegmentRecovery.mjs +28 -0
  384. package/esm/domain/segmentCollection/startDroppedSegmentRecovery.mjs.map +1 -0
  385. package/esm/domain/segmentCollection/startSegmentTelemetry.mjs +45 -0
  386. package/esm/domain/segmentCollection/startSegmentTelemetry.mjs.map +1 -0
  387. package/esm/domain/startRecordBridge.mjs +13 -0
  388. package/esm/domain/startRecordBridge.mjs.map +1 -0
  389. package/esm/domain/startRecorderInitTelemetry.mjs +47 -0
  390. package/esm/domain/startRecorderInitTelemetry.mjs.map +1 -0
  391. package/esm/entries/internal.mjs +8 -0
  392. package/esm/entries/internalSynthetics.mjs +22 -0
  393. package/esm/entries/internalSynthetics.mjs.map +1 -0
  394. package/esm/entries/main.mjs +35 -0
  395. package/esm/entries/main.mjs.map +1 -0
  396. package/esm/types/sessionReplayConstants.mjs +97 -0
  397. package/esm/types/sessionReplayConstants.mjs.map +1 -0
  398. package/internal/package.json +1 -1
  399. package/internal-synthetics/package.json +1 -1
  400. package/package.json +26 -15
  401. package/src/boot/kubesenseRecorder.ts +134 -0
  402. package/src/boot/lazyLoadProfiler.ts +6 -7
  403. package/src/boot/lazyLoadRecorder.ts +6 -7
  404. package/src/boot/postStartStrategy.ts +18 -16
  405. package/src/boot/profilerApi.ts +29 -19
  406. package/src/boot/recorderApi.ts +6 -21
  407. package/src/domain/deflate/deflateEncoder.ts +3 -8
  408. package/src/domain/deflate/deflateWorker.ts +8 -13
  409. package/src/domain/deflate/index.ts +1 -0
  410. package/src/domain/getSessionReplayLink.ts +15 -11
  411. package/src/domain/profiling/actionHistory.ts +66 -0
  412. package/src/domain/profiling/{profiler.ts → kubesenseProfiler.ts} +166 -79
  413. package/src/domain/profiling/longTaskHistory.ts +45 -0
  414. package/src/domain/profiling/profilerDebugIds.ts +17 -0
  415. package/src/domain/profiling/profilingContext.ts +8 -3
  416. package/src/domain/profiling/profilingSupported.ts +2 -7
  417. package/src/domain/profiling/quotaCheck.ts +89 -0
  418. package/src/domain/profiling/test-utils/mockedTrace.ts +1 -2
  419. package/src/domain/profiling/transport/buildProfileEvent.ts +143 -0
  420. package/src/domain/profiling/transport/formDataEmitter.ts +17 -0
  421. package/src/domain/profiling/transport/profilingBridge.ts +9 -0
  422. package/src/domain/profiling/{types/rumProfiler.types.ts → types.ts} +14 -26
  423. package/src/domain/profiling/vitalHistory.ts +106 -0
  424. package/src/domain/record/assembly.ts +5 -3
  425. package/src/domain/record/canvas/canvasHash.ts +54 -0
  426. package/src/domain/record/canvas/canvasManager.ts +175 -0
  427. package/src/domain/record/canvas/canvasSnapshot.ts +52 -0
  428. package/src/domain/record/canvas/canvasUtils.ts +11 -0
  429. package/src/domain/record/encoding/changeDecoder.ts +287 -0
  430. package/src/domain/record/encoding/changeEncoder.ts +327 -0
  431. package/src/domain/record/encoding/index.ts +19 -0
  432. package/src/domain/record/encoding/itemIds.ts +84 -0
  433. package/src/domain/record/encoding/roles.ts +136 -0
  434. package/src/domain/record/encoding/stringIds.ts +70 -0
  435. package/src/domain/record/encoding/stringTable.ts +68 -0
  436. package/src/domain/record/index.ts +5 -2
  437. package/src/domain/record/internalApi.ts +21 -18
  438. package/src/domain/record/mutationBatch.ts +14 -3
  439. package/src/domain/record/record.ts +35 -16
  440. package/src/domain/record/record.types.ts +1 -0
  441. package/src/domain/record/recordingScope.ts +28 -5
  442. package/src/domain/record/serialization/index.ts +4 -2
  443. package/src/domain/record/serialization/insertionCursor.ts +131 -0
  444. package/src/domain/record/serialization/serialization.types.ts +0 -16
  445. package/src/domain/record/serialization/serializationTransaction.ts +191 -37
  446. package/src/domain/record/serialization/serializationUtils.ts +1 -15
  447. package/src/domain/record/serialization/serializeAttributes.ts +36 -32
  448. package/src/domain/record/serialization/serializeFullSnapshot.ts +26 -0
  449. package/src/domain/record/serialization/serializeMutations.ts +357 -0
  450. package/src/domain/record/serialization/serializeNode.ts +200 -164
  451. package/src/domain/record/shadowRootsController.ts +4 -3
  452. package/src/domain/record/startFullSnapshots.ts +28 -41
  453. package/src/domain/record/trackers/index.ts +2 -1
  454. package/src/domain/record/trackers/trackCanvasCapture.ts +137 -0
  455. package/src/domain/record/trackers/trackCanvasContent.ts +46 -0
  456. package/src/domain/record/trackers/trackFocus.ts +4 -4
  457. package/src/domain/record/trackers/trackInput.ts +146 -41
  458. package/src/domain/record/trackers/trackMediaInteraction.ts +0 -1
  459. package/src/domain/record/trackers/trackMouseInteraction.ts +1 -2
  460. package/src/domain/record/trackers/trackMove.ts +0 -1
  461. package/src/domain/record/trackers/trackMutation.ts +17 -355
  462. package/src/domain/record/trackers/trackScroll.ts +1 -1
  463. package/src/domain/record/trackers/trackStyleSheet.ts +1 -1
  464. package/src/domain/record/trackers/trackViewEnd.ts +1 -1
  465. package/src/domain/record/trackers/trackViewportResize.ts +7 -16
  466. package/src/domain/record/trackers/tracker.types.ts +1 -1
  467. package/src/domain/replayStats.ts +5 -0
  468. package/src/domain/scriptLoadingError.ts +2 -1
  469. package/src/domain/segmentCollection/buildResourcePayload.ts +20 -0
  470. package/src/domain/segmentCollection/index.ts +3 -0
  471. package/src/domain/segmentCollection/replayResourceCollection.ts +79 -0
  472. package/src/domain/segmentCollection/segment.ts +2 -1
  473. package/src/domain/segmentCollection/segmentCollection.ts +14 -13
  474. package/src/domain/segmentCollection/startDroppedSegmentRecovery.ts +37 -0
  475. package/src/domain/segmentCollection/startSegmentTelemetry.ts +16 -2
  476. package/src/domain/startRecorderInitTelemetry.ts +5 -3
  477. package/src/entries/internal.ts +13 -2
  478. package/src/entries/internalSynthetics.ts +3 -4
  479. package/src/entries/main.ts +23 -14
  480. package/src/types/index.ts +1 -0
  481. package/src/types/profiling.ts +315 -0
  482. package/src/types/sessionReplay.ts +395 -3
  483. package/src/types/sessionReplayConstants.ts +109 -0
  484. package/bundle/chunks/profiler-6f621c66a29d9f39a9bd-kubesense-rum.js +0 -1
  485. package/bundle/chunks/recorder-c73b8d42b98d4a01f120-kubesense-rum.js +0 -1
  486. package/cjs/boot/isBrowserSupported.d.ts +0 -4
  487. package/cjs/boot/isBrowserSupported.js +0 -17
  488. package/cjs/boot/isBrowserSupported.js.map +0 -1
  489. package/cjs/boot/startRecording.d.ts +0 -6
  490. package/cjs/boot/startRecording.js +0 -45
  491. package/cjs/boot/startRecording.js.map +0 -1
  492. package/cjs/domain/deflate/index.js.map +0 -1
  493. package/cjs/domain/profiling/profiler.d.ts +0 -7
  494. package/cjs/domain/profiling/profiler.js +0 -244
  495. package/cjs/domain/profiling/profiler.js.map +0 -1
  496. package/cjs/domain/profiling/test-utils/mockedTrace.js +0 -57
  497. package/cjs/domain/profiling/test-utils/mockedTrace.js.map +0 -1
  498. package/cjs/domain/profiling/transport/assembly.d.ts +0 -21
  499. package/cjs/domain/profiling/transport/assembly.js +0 -45
  500. package/cjs/domain/profiling/transport/assembly.js.map +0 -1
  501. package/cjs/domain/profiling/transport/buildProfileEventAttributes.d.ts +0 -25
  502. package/cjs/domain/profiling/transport/buildProfileEventAttributes.js +0 -50
  503. package/cjs/domain/profiling/transport/buildProfileEventAttributes.js.map +0 -1
  504. package/cjs/domain/profiling/types/index.d.ts +0 -2
  505. package/cjs/domain/profiling/types/index.js +0 -3
  506. package/cjs/domain/profiling/types/index.js.map +0 -1
  507. package/cjs/domain/profiling/types/profilerApi.types.d.ts +0 -58
  508. package/cjs/domain/profiling/types/profilerApi.types.js +0 -5
  509. package/cjs/domain/profiling/types/profilerApi.types.js.map +0 -1
  510. package/cjs/domain/profiling/types/rumProfiler.types.js +0 -3
  511. package/cjs/domain/profiling/types/rumProfiler.types.js.map +0 -1
  512. package/cjs/domain/profiling/utils/getNumberOfSamples.d.ts +0 -7
  513. package/cjs/domain/profiling/utils/getNumberOfSamples.js +0 -18
  514. package/cjs/domain/profiling/utils/getNumberOfSamples.js.map +0 -1
  515. package/cjs/domain/record/eventIds.d.ts +0 -4
  516. package/cjs/domain/record/eventIds.js +0 -16
  517. package/cjs/domain/record/eventIds.js.map +0 -1
  518. package/cjs/domain/record/index.js.map +0 -1
  519. package/cjs/domain/record/nodeIds.d.ts +0 -15
  520. package/cjs/domain/record/nodeIds.js +0 -32
  521. package/cjs/domain/record/nodeIds.js.map +0 -1
  522. package/cjs/domain/record/record.types.js +0 -3
  523. package/cjs/domain/record/record.types.js.map +0 -1
  524. package/cjs/domain/record/serialization/index.js.map +0 -1
  525. package/cjs/domain/record/serialization/serialization.types.js +0 -3
  526. package/cjs/domain/record/serialization/serialization.types.js.map +0 -1
  527. package/cjs/domain/record/serialization/serializeDocument.d.ts +0 -3
  528. package/cjs/domain/record/serialization/serializeDocument.js +0 -11
  529. package/cjs/domain/record/serialization/serializeDocument.js.map +0 -1
  530. package/cjs/domain/record/serialization/serializeStyleSheets.d.ts +0 -2
  531. package/cjs/domain/record/serialization/serializeStyleSheets.js +0 -19
  532. package/cjs/domain/record/serialization/serializeStyleSheets.js.map +0 -1
  533. package/cjs/domain/record/trackers/index.js.map +0 -1
  534. package/cjs/domain/record/trackers/trackFrustration.d.ts +0 -7
  535. package/cjs/domain/record/trackers/trackFrustration.js +0 -31
  536. package/cjs/domain/record/trackers/trackFrustration.js.map +0 -1
  537. package/cjs/domain/record/trackers/tracker.types.js +0 -3
  538. package/cjs/domain/record/trackers/tracker.types.js.map +0 -1
  539. package/cjs/domain/segmentCollection/index.js.map +0 -1
  540. package/cjs/entries/internal.js.map +0 -1
  541. package/cjs/types/index.js +0 -18
  542. package/cjs/types/index.js.map +0 -1
  543. package/cjs/types/sessionReplay.js +0 -7
  544. package/cjs/types/sessionReplay.js.map +0 -1
  545. package/esm/boot/isBrowserSupported.d.ts +0 -4
  546. package/esm/boot/isBrowserSupported.js +0 -14
  547. package/esm/boot/isBrowserSupported.js.map +0 -1
  548. package/esm/boot/lazyLoadProfiler.d.ts +0 -4
  549. package/esm/boot/lazyLoadProfiler.js +0 -18
  550. package/esm/boot/lazyLoadProfiler.js.map +0 -1
  551. package/esm/boot/lazyLoadRecorder.d.ts +0 -4
  552. package/esm/boot/lazyLoadRecorder.js +0 -18
  553. package/esm/boot/lazyLoadRecorder.js.map +0 -1
  554. package/esm/boot/postStartStrategy.d.ts +0 -33
  555. package/esm/boot/postStartStrategy.js +0 -115
  556. package/esm/boot/postStartStrategy.js.map +0 -1
  557. package/esm/boot/preStartStrategy.d.ts +0 -6
  558. package/esm/boot/preStartStrategy.js +0 -21
  559. package/esm/boot/preStartStrategy.js.map +0 -1
  560. package/esm/boot/profilerApi.d.ts +0 -2
  561. package/esm/boot/profilerApi.js +0 -50
  562. package/esm/boot/profilerApi.js.map +0 -1
  563. package/esm/boot/recorderApi.d.ts +0 -4
  564. package/esm/boot/recorderApi.js +0 -70
  565. package/esm/boot/recorderApi.js.map +0 -1
  566. package/esm/boot/startRecording.d.ts +0 -6
  567. package/esm/boot/startRecording.js +0 -42
  568. package/esm/boot/startRecording.js.map +0 -1
  569. package/esm/domain/deflate/deflateEncoder.d.ts +0 -3
  570. package/esm/domain/deflate/deflateEncoder.js +0 -107
  571. package/esm/domain/deflate/deflateEncoder.js.map +0 -1
  572. package/esm/domain/deflate/deflateWorker.d.ts +0 -30
  573. package/esm/domain/deflate/deflateWorker.js +0 -97
  574. package/esm/domain/deflate/deflateWorker.js.map +0 -1
  575. package/esm/domain/deflate/index.d.ts +0 -3
  576. package/esm/domain/deflate/index.js +0 -3
  577. package/esm/domain/deflate/index.js.map +0 -1
  578. package/esm/domain/getSessionReplayLink.d.ts +0 -2
  579. package/esm/domain/getSessionReplayLink.js +0 -32
  580. package/esm/domain/getSessionReplayLink.js.map +0 -1
  581. package/esm/domain/profiling/profiler.d.ts +0 -7
  582. package/esm/domain/profiling/profiler.js +0 -240
  583. package/esm/domain/profiling/profiler.js.map +0 -1
  584. package/esm/domain/profiling/profilingContext.d.ts +0 -6
  585. package/esm/domain/profiling/profilingContext.js +0 -25
  586. package/esm/domain/profiling/profilingContext.js.map +0 -1
  587. package/esm/domain/profiling/profilingSupported.d.ts +0 -1
  588. package/esm/domain/profiling/profilingSupported.js +0 -8
  589. package/esm/domain/profiling/profilingSupported.js.map +0 -1
  590. package/esm/domain/profiling/test-utils/mockedTrace.d.ts +0 -3
  591. package/esm/domain/profiling/test-utils/mockedTrace.js +0 -54
  592. package/esm/domain/profiling/test-utils/mockedTrace.js.map +0 -1
  593. package/esm/domain/profiling/transport/assembly.d.ts +0 -21
  594. package/esm/domain/profiling/transport/assembly.js +0 -42
  595. package/esm/domain/profiling/transport/assembly.js.map +0 -1
  596. package/esm/domain/profiling/transport/buildProfileEventAttributes.d.ts +0 -25
  597. package/esm/domain/profiling/transport/buildProfileEventAttributes.js +0 -47
  598. package/esm/domain/profiling/transport/buildProfileEventAttributes.js.map +0 -1
  599. package/esm/domain/profiling/types/index.d.ts +0 -2
  600. package/esm/domain/profiling/types/index.js +0 -2
  601. package/esm/domain/profiling/types/index.js.map +0 -1
  602. package/esm/domain/profiling/types/profilerApi.types.d.ts +0 -58
  603. package/esm/domain/profiling/types/profilerApi.types.js +0 -4
  604. package/esm/domain/profiling/types/profilerApi.types.js.map +0 -1
  605. package/esm/domain/profiling/types/rumProfiler.types.d.ts +0 -72
  606. package/esm/domain/profiling/types/rumProfiler.types.js +0 -2
  607. package/esm/domain/profiling/types/rumProfiler.types.js.map +0 -1
  608. package/esm/domain/profiling/utils/getCustomOrDefaultViewName.d.ts +0 -1
  609. package/esm/domain/profiling/utils/getCustomOrDefaultViewName.js +0 -3
  610. package/esm/domain/profiling/utils/getCustomOrDefaultViewName.js.map +0 -1
  611. package/esm/domain/profiling/utils/getDefaultViewName.d.ts +0 -1
  612. package/esm/domain/profiling/utils/getDefaultViewName.js +0 -11
  613. package/esm/domain/profiling/utils/getDefaultViewName.js.map +0 -1
  614. package/esm/domain/profiling/utils/getNumberOfSamples.d.ts +0 -7
  615. package/esm/domain/profiling/utils/getNumberOfSamples.js +0 -15
  616. package/esm/domain/profiling/utils/getNumberOfSamples.js.map +0 -1
  617. package/esm/domain/record/assembly.d.ts +0 -2
  618. package/esm/domain/record/assembly.js +0 -13
  619. package/esm/domain/record/assembly.js.map +0 -1
  620. package/esm/domain/record/elementsScrollPositions.d.ts +0 -10
  621. package/esm/domain/record/elementsScrollPositions.js +0 -20
  622. package/esm/domain/record/elementsScrollPositions.js.map +0 -1
  623. package/esm/domain/record/eventIds.d.ts +0 -4
  624. package/esm/domain/record/eventIds.js +0 -13
  625. package/esm/domain/record/eventIds.js.map +0 -1
  626. package/esm/domain/record/eventsUtils.d.ts +0 -2
  627. package/esm/domain/record/eventsUtils.js +0 -11
  628. package/esm/domain/record/eventsUtils.js.map +0 -1
  629. package/esm/domain/record/index.d.ts +0 -7
  630. package/esm/domain/record/index.js +0 -6
  631. package/esm/domain/record/index.js.map +0 -1
  632. package/esm/domain/record/internalApi.d.ts +0 -22
  633. package/esm/domain/record/internalApi.js +0 -53
  634. package/esm/domain/record/internalApi.js.map +0 -1
  635. package/esm/domain/record/mutationBatch.d.ts +0 -12
  636. package/esm/domain/record/mutationBatch.js +0 -40
  637. package/esm/domain/record/mutationBatch.js.map +0 -1
  638. package/esm/domain/record/nodeIds.d.ts +0 -15
  639. package/esm/domain/record/nodeIds.js +0 -29
  640. package/esm/domain/record/nodeIds.js.map +0 -1
  641. package/esm/domain/record/record.d.ts +0 -16
  642. package/esm/domain/record/record.js +0 -54
  643. package/esm/domain/record/record.js.map +0 -1
  644. package/esm/domain/record/record.types.d.ts +0 -4
  645. package/esm/domain/record/record.types.js +0 -2
  646. package/esm/domain/record/record.types.js.map +0 -1
  647. package/esm/domain/record/recordingScope.d.ts +0 -19
  648. package/esm/domain/record/recordingScope.js +0 -10
  649. package/esm/domain/record/recordingScope.js.map +0 -1
  650. package/esm/domain/record/serialization/index.d.ts +0 -8
  651. package/esm/domain/record/serialization/index.js +0 -7
  652. package/esm/domain/record/serialization/index.js.map +0 -1
  653. package/esm/domain/record/serialization/serialization.types.d.ts +0 -28
  654. package/esm/domain/record/serialization/serialization.types.js +0 -2
  655. package/esm/domain/record/serialization/serialization.types.js.map +0 -1
  656. package/esm/domain/record/serialization/serializationStats.d.ts +0 -12
  657. package/esm/domain/record/serialization/serializationStats.js +0 -27
  658. package/esm/domain/record/serialization/serializationStats.js.map +0 -1
  659. package/esm/domain/record/serialization/serializationTransaction.d.ts +0 -45
  660. package/esm/domain/record/serialization/serializationTransaction.js +0 -35
  661. package/esm/domain/record/serialization/serializationTransaction.js.map +0 -1
  662. package/esm/domain/record/serialization/serializationUtils.d.ts +0 -18
  663. package/esm/domain/record/serialization/serializationUtils.js +0 -80
  664. package/esm/domain/record/serialization/serializationUtils.js.map +0 -1
  665. package/esm/domain/record/serialization/serializeAttribute.d.ts +0 -4
  666. package/esm/domain/record/serialization/serializeAttribute.js +0 -38
  667. package/esm/domain/record/serialization/serializeAttribute.js.map +0 -1
  668. package/esm/domain/record/serialization/serializeAttributes.d.ts +0 -7
  669. package/esm/domain/record/serialization/serializeAttributes.js +0 -161
  670. package/esm/domain/record/serialization/serializeAttributes.js.map +0 -1
  671. package/esm/domain/record/serialization/serializeDocument.d.ts +0 -3
  672. package/esm/domain/record/serialization/serializeDocument.js +0 -8
  673. package/esm/domain/record/serialization/serializeDocument.js.map +0 -1
  674. package/esm/domain/record/serialization/serializeNode.d.ts +0 -7
  675. package/esm/domain/record/serialization/serializeNode.js +0 -149
  676. package/esm/domain/record/serialization/serializeNode.js.map +0 -1
  677. package/esm/domain/record/serialization/serializeStyleSheets.d.ts +0 -2
  678. package/esm/domain/record/serialization/serializeStyleSheets.js +0 -16
  679. package/esm/domain/record/serialization/serializeStyleSheets.js.map +0 -1
  680. package/esm/domain/record/shadowRootsController.d.ts +0 -11
  681. package/esm/domain/record/shadowRootsController.js +0 -41
  682. package/esm/domain/record/shadowRootsController.js.map +0 -1
  683. package/esm/domain/record/startFullSnapshots.d.ts +0 -9
  684. package/esm/domain/record/startFullSnapshots.js +0 -55
  685. package/esm/domain/record/startFullSnapshots.js.map +0 -1
  686. package/esm/domain/record/trackers/index.d.ts +0 -12
  687. package/esm/domain/record/trackers/index.js +0 -12
  688. package/esm/domain/record/trackers/index.js.map +0 -1
  689. package/esm/domain/record/trackers/trackFocus.d.ts +0 -5
  690. package/esm/domain/record/trackers/trackFocus.js +0 -12
  691. package/esm/domain/record/trackers/trackFocus.js.map +0 -1
  692. package/esm/domain/record/trackers/trackFrustration.d.ts +0 -7
  693. package/esm/domain/record/trackers/trackFrustration.js +0 -28
  694. package/esm/domain/record/trackers/trackFrustration.js.map +0 -1
  695. package/esm/domain/record/trackers/trackInput.d.ts +0 -4
  696. package/esm/domain/record/trackers/trackInput.js +0 -101
  697. package/esm/domain/record/trackers/trackInput.js.map +0 -1
  698. package/esm/domain/record/trackers/trackMediaInteraction.d.ts +0 -5
  699. package/esm/domain/record/trackers/trackMediaInteraction.js +0 -26
  700. package/esm/domain/record/trackers/trackMediaInteraction.js.map +0 -1
  701. package/esm/domain/record/trackers/trackMouseInteraction.d.ts +0 -5
  702. package/esm/domain/record/trackers/trackMouseInteraction.js +0 -56
  703. package/esm/domain/record/trackers/trackMouseInteraction.js.map +0 -1
  704. package/esm/domain/record/trackers/trackMove.d.ts +0 -9
  705. package/esm/domain/record/trackers/trackMove.js +0 -51
  706. package/esm/domain/record/trackers/trackMove.js.map +0 -1
  707. package/esm/domain/record/trackers/trackMutation.d.ts +0 -11
  708. package/esm/domain/record/trackers/trackMutation.js +0 -266
  709. package/esm/domain/record/trackers/trackMutation.js.map +0 -1
  710. package/esm/domain/record/trackers/trackScroll.d.ts +0 -5
  711. package/esm/domain/record/trackers/trackScroll.js +0 -45
  712. package/esm/domain/record/trackers/trackScroll.js.map +0 -1
  713. package/esm/domain/record/trackers/trackStyleSheet.d.ts +0 -6
  714. package/esm/domain/record/trackers/trackStyleSheet.js +0 -85
  715. package/esm/domain/record/trackers/trackStyleSheet.js.map +0 -1
  716. package/esm/domain/record/trackers/trackViewEnd.d.ts +0 -5
  717. package/esm/domain/record/trackers/trackViewEnd.js +0 -17
  718. package/esm/domain/record/trackers/trackViewEnd.js.map +0 -1
  719. package/esm/domain/record/trackers/trackViewportResize.d.ts +0 -6
  720. package/esm/domain/record/trackers/trackViewportResize.js +0 -42
  721. package/esm/domain/record/trackers/trackViewportResize.js.map +0 -1
  722. package/esm/domain/record/trackers/tracker.types.d.ts +0 -3
  723. package/esm/domain/record/trackers/tracker.types.js +0 -2
  724. package/esm/domain/record/trackers/tracker.types.js.map +0 -1
  725. package/esm/domain/record/viewports.d.ts +0 -20
  726. package/esm/domain/record/viewports.js +0 -55
  727. package/esm/domain/record/viewports.js.map +0 -1
  728. package/esm/domain/replayStats.d.ts +0 -8
  729. package/esm/domain/replayStats.js +0 -51
  730. package/esm/domain/replayStats.js.map +0 -1
  731. package/esm/domain/scriptLoadingError.d.ts +0 -6
  732. package/esm/domain/scriptLoadingError.js +0 -23
  733. package/esm/domain/scriptLoadingError.js.map +0 -1
  734. package/esm/domain/segmentCollection/buildReplayPayload.d.ts +0 -15
  735. package/esm/domain/segmentCollection/buildReplayPayload.js +0 -23
  736. package/esm/domain/segmentCollection/buildReplayPayload.js.map +0 -1
  737. package/esm/domain/segmentCollection/index.d.ts +0 -4
  738. package/esm/domain/segmentCollection/index.js +0 -4
  739. package/esm/domain/segmentCollection/index.js.map +0 -1
  740. package/esm/domain/segmentCollection/segment.d.ts +0 -16
  741. package/esm/domain/segmentCollection/segment.js +0 -46
  742. package/esm/domain/segmentCollection/segment.js.map +0 -1
  743. package/esm/domain/segmentCollection/segmentCollection.d.ts +0 -31
  744. package/esm/domain/segmentCollection/segmentCollection.js +0 -106
  745. package/esm/domain/segmentCollection/segmentCollection.js.map +0 -1
  746. package/esm/domain/segmentCollection/startSegmentTelemetry.d.ts +0 -6
  747. package/esm/domain/segmentCollection/startSegmentTelemetry.js +0 -44
  748. package/esm/domain/segmentCollection/startSegmentTelemetry.js.map +0 -1
  749. package/esm/domain/startRecordBridge.d.ts +0 -5
  750. package/esm/domain/startRecordBridge.js +0 -14
  751. package/esm/domain/startRecordBridge.js.map +0 -1
  752. package/esm/domain/startRecorderInitTelemetry.d.ts +0 -15
  753. package/esm/domain/startRecorderInitTelemetry.js +0 -52
  754. package/esm/domain/startRecorderInitTelemetry.js.map +0 -1
  755. package/esm/entries/internal.d.ts +0 -11
  756. package/esm/entries/internal.js +0 -4
  757. package/esm/entries/internal.js.map +0 -1
  758. package/esm/entries/internalSynthetics.d.ts +0 -2
  759. package/esm/entries/internalSynthetics.js +0 -23
  760. package/esm/entries/internalSynthetics.js.map +0 -1
  761. package/esm/entries/main.d.ts +0 -23
  762. package/esm/entries/main.js +0 -31
  763. package/esm/entries/main.js.map +0 -1
  764. package/esm/types/index.d.ts +0 -2
  765. package/esm/types/index.js +0 -2
  766. package/esm/types/index.js.map +0 -1
  767. package/esm/types/sessionReplay.d.ts +0 -703
  768. package/esm/types/sessionReplay.js +0 -6
  769. package/esm/types/sessionReplay.js.map +0 -1
  770. package/esm/types/sessionReplayConstants.d.ts +0 -49
  771. package/esm/types/sessionReplayConstants.js +0 -46
  772. package/esm/types/sessionReplayConstants.js.map +0 -1
  773. package/src/boot/isBrowserSupported.ts +0 -14
  774. package/src/boot/startRecording.ts +0 -70
  775. package/src/domain/profiling/transport/assembly.ts +0 -78
  776. package/src/domain/profiling/transport/buildProfileEventAttributes.ts +0 -66
  777. package/src/domain/profiling/types/index.ts +0 -2
  778. package/src/domain/profiling/types/profilerApi.types.ts +0 -87
  779. package/src/domain/profiling/utils/getNumberOfSamples.ts +0 -16
  780. package/src/domain/record/eventIds.ts +0 -17
  781. package/src/domain/record/nodeIds.ts +0 -46
  782. package/src/domain/record/serialization/serializeDocument.ts +0 -13
  783. package/src/domain/record/serialization/serializeStyleSheets.ts +0 -18
  784. package/src/domain/record/trackers/trackFrustration.ts +0 -41
@@ -1,6 +1,7 @@
1
- import type { DeflateEncoder, HttpRequest, TimeoutId } from '@kubesense/kubesense-browser-core'
2
- import { isPageExitReason, ONE_SECOND, clearTimeout, setTimeout } from '@kubesense/kubesense-browser-core'
3
- import type { LifeCycle, ViewHistory, RumSessionManager, RumConfiguration } from '@kubesense/kubesense-browser-rum-core'
1
+ import type { DeflateEncoder, HttpRequest, TimeoutId, SessionManager } from '@kubesense/kubesense-browser-core'
2
+ import { ONE_SECOND } from '@kubesense/kubesense-js-core/time'
3
+ import { isPageExitReason, PageExitReason, clearTimeout, setTimeout } from '@kubesense/kubesense-browser-core'
4
+ import type { LifeCycle, ViewHistory, RumConfiguration } from '@kubesense/kubesense-browser-rum-core'
4
5
  import { LifeCycleEventType } from '@kubesense/kubesense-browser-rum-core'
5
6
  import type { BrowserRecord, CreationReason, SegmentContext } from '../../types'
6
7
  import type { SerializationStats } from '../record'
@@ -50,7 +51,7 @@ interface SegmentCollector {
50
51
  export function startSegmentCollection(
51
52
  lifeCycle: LifeCycle,
52
53
  configuration: RumConfiguration,
53
- sessionManager: RumSessionManager,
54
+ sessionManager: SessionManager,
54
55
  viewHistory: ViewHistory,
55
56
  httpRequest: HttpRequest<ReplayPayload>,
56
57
  encoder: DeflateEncoder
@@ -98,9 +99,9 @@ export function doStartSegmentCollection(
98
99
  })
99
100
 
100
101
  const { unsubscribe: unsubscribePageMayExit } = lifeCycle.subscribe(
101
- LifeCycleEventType.PAGE_MAY_EXIT,
102
- (pageMayExitEvent) => {
103
- flushSegment(pageMayExitEvent.reason as FlushReason)
102
+ LifeCycleEventType.PREPARE_URGENT_FLUSH,
103
+ (reason) => {
104
+ flushSegment(reason as FlushReason)
104
105
  }
105
106
  )
106
107
 
@@ -109,7 +110,11 @@ export function doStartSegmentCollection(
109
110
  state.segment.flush((metadata, stats, encoderResult) => {
110
111
  const payload = buildReplayPayload(encoderResult.output, metadata, stats, encoderResult.rawBytesCount)
111
112
 
112
- if (isPageExitReason(flushReason)) {
113
+ // sendOnExit() is less reliable than send() since it doesn't retry. If the page is
114
+ // *really* about to close, sendOnExit() is still better, since it uses a mechanism
115
+ // that outlives the page itself; for PageExitReason.HIDDEN, though, the page is
116
+ // probably not actually closing, so we prefer send().
117
+ if (isPageExitReason(flushReason) && flushReason !== PageExitReason.HIDDEN) {
113
118
  httpRequest.sendOnExit(payload)
114
119
  } else {
115
120
  httpRequest.send(payload)
@@ -172,11 +177,7 @@ export function doStartSegmentCollection(
172
177
  }
173
178
  }
174
179
 
175
- export function computeSegmentContext(
176
- applicationId: string,
177
- sessionManager: RumSessionManager,
178
- viewHistory: ViewHistory
179
- ) {
180
+ export function computeSegmentContext(applicationId: string, sessionManager: SessionManager, viewHistory: ViewHistory) {
180
181
  const session = sessionManager.findTrackedSession()
181
182
  const viewContext = viewHistory.findView()
182
183
  if (!session || !viewContext) {
@@ -0,0 +1,37 @@
1
+ import type { HttpRequestEvent, Observable } from '@kubesense/kubesense-browser-core'
2
+ import { elapsed, ONE_SECOND, timeStampNow } from '@kubesense/kubesense-js-core/time'
3
+ import type { TimeStamp } from '@kubesense/kubesense-js-core/time'
4
+ import type { ReplayPayload } from './buildReplayPayload'
5
+
6
+ /** The least time between two recovery snapshots. */
7
+ export const DROPPED_SEGMENT_RECOVERY_INTERVAL = 30 * ONE_SECOND
8
+
9
+ /**
10
+ * Takes a new full snapshot when a segment is lost to a network error.
11
+ *
12
+ * Every record after a lost segment builds on DOM the intake never received, so without a new
13
+ * snapshot the replay freezes on the last DOM it has until the next view starts one. Only a
14
+ * network error triggers it — an upload the intake rejected (401, 413) would see the snapshot
15
+ * rejected too — and at most once per interval, so a failing network costs one snapshot per
16
+ * interval rather than one per segment.
17
+ */
18
+ export function startDroppedSegmentRecovery(
19
+ replayRequestObservable: Observable<HttpRequestEvent<ReplayPayload>>,
20
+ takeFullSnapshot: () => void
21
+ ) {
22
+ let lastRecovery: TimeStamp | undefined
23
+
24
+ const { unsubscribe } = replayRequestObservable.subscribe((event) => {
25
+ if (event.type !== 'dropped' || event.status !== 0) {
26
+ return
27
+ }
28
+ const now = timeStampNow()
29
+ if (lastRecovery !== undefined && elapsed(lastRecovery, now) < DROPPED_SEGMENT_RECOVERY_INTERVAL) {
30
+ return
31
+ }
32
+ lastRecovery = now
33
+ takeFullSnapshot()
34
+ })
35
+
36
+ return { stop: unsubscribe }
37
+ }
@@ -1,4 +1,10 @@
1
- import type { BandwidthStats, Context, HttpRequestEvent, Observable, Telemetry } from '@kubesense/kubesense-browser-core'
1
+ import type {
2
+ BandwidthStats,
3
+ Context,
4
+ HttpRequestEvent,
5
+ Observable,
6
+ Telemetry,
7
+ } from '@kubesense/kubesense-browser-core'
2
8
  import { TelemetryMetrics, addTelemetryMetrics, noop } from '@kubesense/kubesense-browser-core'
3
9
  import type { ReplayPayload } from './buildReplayPayload'
4
10
 
@@ -8,6 +14,10 @@ interface SegmentMetrics extends Context {
8
14
  max: number
9
15
  sum: number
10
16
  }
17
+ encoding: {
18
+ fullSnapshot: 'v1' | 'change'
19
+ incrementalSnapshot: 'v1' | 'change'
20
+ }
11
21
  isFullSnapshot: boolean
12
22
  ongoingRequests: {
13
23
  count: number
@@ -41,7 +51,7 @@ export function startSegmentTelemetry(
41
51
  (requestEvent.type === 'success' && requestEvent.payload.isFullSnapshot)
42
52
  ) {
43
53
  const metrics = createSegmentMetrics(requestEvent.type, requestEvent.bandwidth, requestEvent.payload)
44
- // monitor-until: 2026-07-01
54
+ // monitor-until: forever
45
55
  addTelemetryMetrics(TelemetryMetrics.SEGMENT_METRICS_TELEMETRY_NAME, { metrics })
46
56
  }
47
57
  })
@@ -62,6 +72,10 @@ function createSegmentMetrics(
62
72
  max: payload.cssText.max,
63
73
  sum: payload.cssText.sum,
64
74
  },
75
+ encoding: {
76
+ fullSnapshot: 'change',
77
+ incrementalSnapshot: 'change',
78
+ },
65
79
  isFullSnapshot: payload.isFullSnapshot,
66
80
  ongoingRequests: {
67
81
  count: bandwidthStats.ongoingRequestCount,
@@ -1,5 +1,7 @@
1
- import type { Context, Duration, Telemetry, Observable, TimeStamp } from '@kubesense/kubesense-browser-core'
2
- import { TelemetryMetrics, addTelemetryMetrics, noop, timeStampNow, elapsed } from '@kubesense/kubesense-browser-core'
1
+ import type { Context, Telemetry, Observable } from '@kubesense/kubesense-browser-core'
2
+ import { elapsed, timeStampNow } from '@kubesense/kubesense-js-core/time'
3
+ import type { Duration, TimeStamp } from '@kubesense/kubesense-js-core/time'
4
+ import { TelemetryMetrics, addTelemetryMetrics, noop } from '@kubesense/kubesense-browser-core'
3
5
  import type { RecorderInitEvent } from '../boot/postStartStrategy'
4
6
 
5
7
  type RecorderInitResult = 'aborted' | 'deflate-encoder-load-failed' | 'recorder-load-failed' | 'succeeded'
@@ -55,7 +57,7 @@ export function startRecorderInitTelemetry(telemetry: Telemetry, observable: Obs
55
57
  unsubscribe()
56
58
 
57
59
  if (startContext) {
58
- // monitor-until: 2026-07-01
60
+ // monitor-until: forever
59
61
  addTelemetryMetrics(TelemetryMetrics.RECORDER_INIT_METRICS_TELEMETRY_NAME, {
60
62
  metrics: createRecorderInitMetrics(
61
63
  startContext.forced,
@@ -5,7 +5,6 @@
5
5
  * WARNING: this module is not intended for public usages, and won't follow semver for breaking
6
6
  * changes.
7
7
  */
8
- export type { TimeStamp } from '@kubesense/kubesense-browser-core'
9
8
  export {
10
9
  PRIVACY_ATTR_NAME,
11
10
  PRIVACY_ATTR_VALUE_HIDDEN,
@@ -15,4 +14,16 @@ export {
15
14
 
16
15
  export * from '../types'
17
16
 
18
- export { takeFullSnapshot, takeNodeSnapshot, serializeNode as serializeNodeWithId } from '../domain/record'
17
+ export { takeFullSnapshot, takeNodeSnapshot } from '../domain/record'
18
+
19
+ /**
20
+ * The Change-format decoder, exported so the Web app's replay player can resolve string-table
21
+ * references without reimplementing the encoding. Keeping the single copy here means a future SDK
22
+ * upgrade that changes the format updates the player through the same dependency bump, instead of
23
+ * leaving two implementations to drift apart.
24
+ */
25
+ export type { ChangeDecoder, ChangeDecoderOptions } from '../domain/record'
26
+ export { createChangeDecoder } from '../domain/record'
27
+
28
+ export { makeRecorderApi } from '../boot/recorderApi'
29
+ export { makeProfilerApi } from '../boot/profilerApi'
@@ -5,9 +5,8 @@
5
5
  * WARNING: this module is not intended for public usages, and won't follow semver for breaking
6
6
  * changes.
7
7
  */
8
- import { makeRumPublicApi, startRum } from '@kubesense/kubesense-browser-rum-core'
8
+ import { makeRumPublicApi } from '@kubesense/kubesense-browser-rum-core'
9
9
  import { makeRecorderApi } from '../boot/recorderApi'
10
- import { lazyLoadRecorder } from '../boot/lazyLoadRecorder'
11
10
  import { makeProfilerApi } from '../boot/profilerApi'
12
11
 
13
12
  export { DefaultPrivacyLevel } from '@kubesense/kubesense-browser-core'
@@ -15,9 +14,9 @@ export { DefaultPrivacyLevel } from '@kubesense/kubesense-browser-core'
15
14
  // Disable the rule that forbids potential side effects, because we know that those functions don't
16
15
  // have side effects.
17
16
  /* eslint-disable local-rules/disallow-side-effects */
18
- const recorderApi = makeRecorderApi(lazyLoadRecorder)
17
+ const recorderApi = makeRecorderApi()
19
18
  const profilerApi = makeProfilerApi()
20
- export const kubesenseSdk = makeRumPublicApi(startRum, recorderApi, profilerApi, {
19
+ export const kubesenseSdk = makeRumPublicApi(recorderApi, profilerApi, {
21
20
  ignoreInitIfSyntheticsWillInjectRum: false,
22
21
  sdkName: 'rum-synthetics',
23
22
  })
@@ -1,18 +1,18 @@
1
1
  /**
2
- * Kubesense Browser RUM SDK - Full version with Session Replay and Real User Profiling capabilities.
2
+ * KubeSense Browser RUM SDK - Full version with Session Replay and Real User Profiling capabilities.
3
3
  * Use this package to monitor your web application's performance and user experience.
4
4
  *
5
5
  * @packageDocumentation
6
6
  * @see [RUM Browser Monitoring Setup](https://docs.kubesense.ai/real_user_monitoring/browser/)
7
7
  */
8
8
 
9
+ import { globalObject } from '@kubesense/kubesense-js-core/util'
9
10
  // Keep the following in sync with packages/rum-slim/src/entries/main.ts
10
- import { defineGlobal, getGlobalObject } from '@kubesense/kubesense-browser-core'
11
+ import { defineGlobal } from '@kubesense/kubesense-browser-core'
11
12
  import type { RumPublicApi } from '@kubesense/kubesense-browser-rum-core'
12
- import { makeRumPublicApi, startRum } from '@kubesense/kubesense-browser-rum-core'
13
+ import { makeRumPublicApi } from '@kubesense/kubesense-browser-rum-core'
13
14
  import { makeRecorderApi } from '../boot/recorderApi'
14
15
  import { createDeflateEncoder, startDeflateWorker } from '../domain/deflate'
15
- import { lazyLoadRecorder } from '../boot/lazyLoadRecorder'
16
16
  import { makeProfilerApi } from '../boot/profilerApi'
17
17
 
18
18
  export type {
@@ -22,14 +22,13 @@ export type {
22
22
  SessionPersistence,
23
23
  TrackingConsent,
24
24
  MatchOption,
25
- ProxyFn,
26
- Site,
27
25
  Context,
28
26
  ContextValue,
29
27
  ContextArray,
30
28
  RumInternalContext,
31
29
  } from '@kubesense/kubesense-browser-core'
32
30
  export { DefaultPrivacyLevel } from '@kubesense/kubesense-browser-core'
31
+ export type { ProxyFn, Site } from '@kubesense/kubesense-js-core/transport'
33
32
 
34
33
  /**
35
34
  * @deprecated Use {@link KubesenseSdk} instead
@@ -39,16 +38,24 @@ export type RumGlobal = RumPublicApi
39
38
  export type {
40
39
  RumPublicApi as KubesenseSdk,
41
40
  RumInitConfiguration,
41
+ RumBeforeSend,
42
42
  ViewOptions,
43
43
  StartRecordingOptions,
44
44
  AddDurationVitalOptions,
45
45
  DurationVitalOptions,
46
- DurationVitalReference,
46
+ OperationOptions,
47
+ FeatureOperationOptions,
48
+ FailureReason,
49
+ ActionOptions,
50
+ ResourceOptions,
51
+ ResourceStopOptions,
47
52
  TracingOption,
48
53
  RumPlugin,
49
54
  OnRumStartOptions,
55
+ RumPluginOnInitOptions,
50
56
  PropagatorType,
51
57
  FeatureFlagsForEvents,
58
+ MatchHeader,
52
59
 
53
60
  // Events
54
61
  CommonProperties,
@@ -58,6 +65,7 @@ export type {
58
65
  RumLongTaskEvent,
59
66
  RumResourceEvent,
60
67
  RumViewEvent,
68
+ RumViewUpdateEvent,
61
69
  RumVitalEvent,
62
70
 
63
71
  // Events context
@@ -66,13 +74,14 @@ export type {
66
74
  RumErrorEventDomainContext,
67
75
  RumActionEventDomainContext,
68
76
  RumVitalEventDomainContext,
69
- RumFetchResourceEventDomainContext,
70
- RumXhrResourceEventDomainContext,
71
- RumOtherResourceEventDomainContext,
77
+ RumResourceEventDomainContext,
78
+ RumWebSocketResourceEventDomainContext,
72
79
  RumLongTaskEventDomainContext,
73
80
  } from '@kubesense/kubesense-browser-rum-core'
74
81
 
75
- const recorderApi = makeRecorderApi(lazyLoadRecorder)
82
+ export { DEFAULT_TRACKED_RESOURCE_HEADERS, CanvasRecordingQuality } from '@kubesense/kubesense-browser-rum-core'
83
+
84
+ const recorderApi = makeRecorderApi()
76
85
 
77
86
  const profilerApi = makeProfilerApi()
78
87
 
@@ -83,13 +92,13 @@ const profilerApi = makeProfilerApi()
83
92
  * @see {@link KubesenseSdk}
84
93
  * @see [RUM Browser Monitoring Setup](https://docs.kubesense.ai/real_user_monitoring/browser/)
85
94
  */
86
- export const kubesenseSdk = makeRumPublicApi(startRum, recorderApi, profilerApi, {
95
+ export const kubesenseSdk = makeRumPublicApi(recorderApi, profilerApi, {
87
96
  startDeflateWorker,
88
97
  createDeflateEncoder,
89
98
  sdkName: 'rum',
90
99
  })
91
100
 
92
- interface BrowserWindow extends Window {
101
+ interface BrowserWindow {
93
102
  KUBESENSE_SDK?: RumPublicApi
94
103
  }
95
- defineGlobal(getGlobalObject<BrowserWindow>(), 'KUBESENSE_SDK', kubesenseSdk)
104
+ defineGlobal(globalObject as BrowserWindow, 'KUBESENSE_SDK', kubesenseSdk)
@@ -1,2 +1,3 @@
1
1
  export type * from './sessionReplay'
2
2
  export * from './sessionReplayConstants'
3
+ export type * from './profiling'
@@ -0,0 +1,315 @@
1
+ /**
2
+ * DO NOT MODIFY IT BY HAND. Run `yarn json-schemas:sync` instead.
3
+ */
4
+
5
+ /**
6
+ * Schema of Browser SDK Profiling types.
7
+ */
8
+ export type BrowserProfiling = BrowserProfileEvent | BrowserProfilerTrace
9
+ /**
10
+ * Schema of the Browser SDK Profile Event payload.
11
+ */
12
+ export type BrowserProfileEvent = ProfileCommonProperties & {
13
+ /**
14
+ * Profile data format.
15
+ */
16
+ readonly format: 'json'
17
+ /**
18
+ * KubeSense internal metadata.
19
+ */
20
+ readonly _kubesense: {
21
+ /**
22
+ * Clock drift value. Used by Browser SDK.
23
+ */
24
+ readonly clock_drift: number
25
+ }
26
+ /**
27
+ * Action properties.
28
+ */
29
+ readonly action?: {
30
+ /**
31
+ * Array of action IDs.
32
+ */
33
+ readonly id: string[]
34
+ /**
35
+ * Array of action labels.
36
+ */
37
+ readonly label: string[]
38
+ }
39
+ }
40
+
41
+ /**
42
+ * Schema of a Profile Event metadata. Contains attributes shared by all profiles.
43
+ */
44
+ export interface ProfileCommonProperties {
45
+ /**
46
+ * Application properties.
47
+ */
48
+ readonly application: {
49
+ /**
50
+ * Application ID.
51
+ */
52
+ readonly id: string
53
+ }
54
+ /**
55
+ * Session properties.
56
+ */
57
+ readonly session?: {
58
+ /**
59
+ * Session ID.
60
+ */
61
+ readonly id: string
62
+ }
63
+ /**
64
+ * View properties.
65
+ */
66
+ readonly view?: {
67
+ /**
68
+ * Array of view IDs.
69
+ */
70
+ readonly id: string[]
71
+ /**
72
+ * Array of view names.
73
+ */
74
+ readonly name: string[]
75
+ }
76
+ /**
77
+ * Long task properties.
78
+ */
79
+ readonly long_task?: {
80
+ /**
81
+ * Array of long task IDs.
82
+ */
83
+ readonly id: string[]
84
+ }
85
+ /**
86
+ * Vital properties.
87
+ */
88
+ readonly vital?: {
89
+ /**
90
+ * Array of vital IDs.
91
+ */
92
+ readonly id: string[]
93
+ /**
94
+ * Array of vital labels.
95
+ */
96
+ readonly label: string[]
97
+ }
98
+ /**
99
+ * List of attachment filenames.
100
+ */
101
+ readonly attachments: string[]
102
+ /**
103
+ * Start time as ISO 8601 date string (yyyy-MM-dd'T'HH:mm:ss.SSS'Z').
104
+ */
105
+ readonly start: string
106
+ /**
107
+ * End time marking when the profile ended, as ISO 8601 date string (yyyy-MM-dd'T'HH:mm:ss.SSS'Z').
108
+ */
109
+ readonly end: string
110
+ /**
111
+ * Profiler family.
112
+ */
113
+ readonly family: 'android' | 'chrome' | 'ios'
114
+ /**
115
+ * Runtime environment.
116
+ */
117
+ readonly runtime: 'android' | 'chrome' | 'ios'
118
+ /**
119
+ * Profile ingestion event version.
120
+ */
121
+ readonly version: number
122
+ /**
123
+ * Comma-separated profiler tags.
124
+ */
125
+ readonly tags_profiler: string
126
+ }
127
+ /**
128
+ * Schema of a RUM profiler trace containing profiling data enriched with RUM context.
129
+ */
130
+ export interface BrowserProfilerTrace {
131
+ /**
132
+ * An array of profiler resources.
133
+ */
134
+ readonly resources: string[]
135
+ /**
136
+ * Mapping of profiler resources to their debug IDs for source map deobfuscation.
137
+ */
138
+ readonly debugIds?: ResourceDebugId[]
139
+ /**
140
+ * An array of profiler frames.
141
+ */
142
+ readonly frames: ProfilerFrame[]
143
+ /**
144
+ * An array of profiler stacks.
145
+ */
146
+ readonly stacks: ProfilerStack[]
147
+ /**
148
+ * An array of profiler samples.
149
+ */
150
+ readonly samples: ProfilerSample[]
151
+ startClocks: ClocksState
152
+ endClocks: ClocksState
153
+ clocksOrigin: ClocksState
154
+ /**
155
+ * Sample interval in milliseconds.
156
+ */
157
+ readonly sampleInterval: number
158
+ /**
159
+ * List of detected long tasks.
160
+ */
161
+ readonly longTasks: RumProfilerLongTaskEntry[]
162
+ /**
163
+ * List of detected vital entries.
164
+ */
165
+ readonly vitals?: RumProfilerVitalEntry[]
166
+ /**
167
+ * List of detected action entries.
168
+ */
169
+ readonly actions?: RumProfilerActionEntry[]
170
+ /**
171
+ * List of detected navigation entries.
172
+ */
173
+ readonly views: RumViewEntry[]
174
+ }
175
+ /**
176
+ * Association between a profiler resource and its debug ID.
177
+ */
178
+ export interface ResourceDebugId {
179
+ /**
180
+ * Index in the trace.resources array.
181
+ */
182
+ readonly resourceId: number
183
+ /**
184
+ * Debug ID (UUID) for the resource, used for source map deobfuscation.
185
+ */
186
+ readonly debugId: string
187
+ }
188
+ /**
189
+ * Schema of a profiler frame from the JS Self-Profiling API.
190
+ */
191
+ export interface ProfilerFrame {
192
+ /**
193
+ * A function instance name.
194
+ */
195
+ readonly name: string
196
+ /**
197
+ * Index in the trace.resources array.
198
+ */
199
+ readonly resourceId?: number
200
+ /**
201
+ * 1-based index of the line.
202
+ */
203
+ readonly line?: number
204
+ /**
205
+ * 1-based index of the column.
206
+ */
207
+ readonly column?: number
208
+ }
209
+ /**
210
+ * Schema of a profiler stack from the JS Self-Profiling API.
211
+ */
212
+ export interface ProfilerStack {
213
+ /**
214
+ * Index in the trace.stacks array.
215
+ */
216
+ readonly parentId?: number
217
+ /**
218
+ * Index in the trace.frames array.
219
+ */
220
+ readonly frameId: number
221
+ }
222
+ /**
223
+ * Schema of a profiler sample from the JS Self-Profiling API.
224
+ */
225
+ export interface ProfilerSample {
226
+ /**
227
+ * High resolution time relative to the profiling session's time origin.
228
+ */
229
+ readonly timestamp: number
230
+ /**
231
+ * Index in the trace.stacks array.
232
+ */
233
+ readonly stackId?: number
234
+ }
235
+ /**
236
+ * Schema of timing state with both relative and absolute timestamps.
237
+ */
238
+ export interface ClocksState {
239
+ /**
240
+ * Time relative to navigation start in milliseconds.
241
+ */
242
+ readonly relative: number
243
+ /**
244
+ * Epoch time in milliseconds.
245
+ */
246
+ readonly timeStamp: number
247
+ }
248
+ /**
249
+ * Schema of a long task entry recorded during profiling.
250
+ */
251
+ export interface RumProfilerLongTaskEntry {
252
+ /**
253
+ * RUM Long Task id.
254
+ */
255
+ readonly id?: string
256
+ /**
257
+ * Duration in ms of the long task or long animation frame.
258
+ */
259
+ readonly duration: number
260
+ /**
261
+ * Type of the event: long task or long animation frame
262
+ */
263
+ readonly entryType: 'longtask' | 'long-animation-frame'
264
+ startClocks: ClocksState
265
+ }
266
+ /**
267
+ * Schema of a vital entry recorded during profiling.
268
+ */
269
+ export interface RumProfilerVitalEntry {
270
+ /**
271
+ * RUM Vital id.
272
+ */
273
+ readonly id: string
274
+ /**
275
+ * RUM Vital label.
276
+ */
277
+ readonly label: string
278
+ /**
279
+ * Duration in ms of the vital.
280
+ */
281
+ readonly duration?: number
282
+ startClocks: ClocksState
283
+ }
284
+ /**
285
+ * Schema of a action entry recorded during profiling.
286
+ */
287
+ export interface RumProfilerActionEntry {
288
+ /**
289
+ * RUM Action id.
290
+ */
291
+ readonly id: string
292
+ /**
293
+ * RUM Action label.
294
+ */
295
+ readonly label: string
296
+ /**
297
+ * Duration in ms of the duration vital.
298
+ */
299
+ readonly duration?: number
300
+ startClocks: ClocksState
301
+ }
302
+ /**
303
+ * Schema of a RUM view entry recorded during profiling.
304
+ */
305
+ export interface RumViewEntry {
306
+ startClocks: ClocksState
307
+ /**
308
+ * RUM view id.
309
+ */
310
+ readonly viewId: string
311
+ /**
312
+ * RUM view name.
313
+ */
314
+ readonly viewName?: string
315
+ }