@scalebun/web 1.0.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 (1030) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +59 -0
  3. package/dist/bootstrap/FeatureRegistry.d.ts +44 -0
  4. package/dist/bootstrap/FeatureRegistry.d.ts.map +1 -0
  5. package/dist/bootstrap/FeatureRegistry.js +85 -0
  6. package/dist/bootstrap/FeatureRegistry.js.map +1 -0
  7. package/dist/bootstrap/SDKBootstrapper.d.ts +37 -0
  8. package/dist/bootstrap/SDKBootstrapper.d.ts.map +1 -0
  9. package/dist/bootstrap/SDKBootstrapper.js +248 -0
  10. package/dist/bootstrap/SDKBootstrapper.js.map +1 -0
  11. package/dist/browser.d.ts +51 -0
  12. package/dist/browser.d.ts.map +1 -0
  13. package/dist/browser.js +81 -0
  14. package/dist/browser.js.map +1 -0
  15. package/dist/config/schema.d.ts +108 -0
  16. package/dist/config/schema.d.ts.map +1 -0
  17. package/dist/config/schema.js +95 -0
  18. package/dist/config/schema.js.map +1 -0
  19. package/dist/core/breadcrumbs.d.ts +56 -0
  20. package/dist/core/breadcrumbs.d.ts.map +1 -0
  21. package/dist/core/breadcrumbs.js +141 -0
  22. package/dist/core/breadcrumbs.js.map +1 -0
  23. package/dist/core/capabilities.d.ts +38 -0
  24. package/dist/core/capabilities.d.ts.map +1 -0
  25. package/dist/core/capabilities.js +78 -0
  26. package/dist/core/capabilities.js.map +1 -0
  27. package/dist/core/consent.d.ts +17 -0
  28. package/dist/core/consent.d.ts.map +1 -0
  29. package/dist/core/consent.js +38 -0
  30. package/dist/core/consent.js.map +1 -0
  31. package/dist/core/csp.d.ts +31 -0
  32. package/dist/core/csp.d.ts.map +1 -0
  33. package/dist/core/csp.js +74 -0
  34. package/dist/core/csp.js.map +1 -0
  35. package/dist/core/evalContext.d.ts +7 -0
  36. package/dist/core/evalContext.d.ts.map +1 -0
  37. package/dist/core/evalContext.js +22 -0
  38. package/dist/core/evalContext.js.map +1 -0
  39. package/dist/core/ids.d.ts +6 -0
  40. package/dist/core/ids.d.ts.map +1 -0
  41. package/dist/core/ids.js +35 -0
  42. package/dist/core/ids.js.map +1 -0
  43. package/dist/core/index.d.ts +15 -0
  44. package/dist/core/index.d.ts.map +1 -0
  45. package/dist/core/index.js +15 -0
  46. package/dist/core/index.js.map +1 -0
  47. package/dist/core/lifecycle.d.ts +4 -0
  48. package/dist/core/lifecycle.d.ts.map +1 -0
  49. package/dist/core/lifecycle.js +24 -0
  50. package/dist/core/lifecycle.js.map +1 -0
  51. package/dist/core/logger.d.ts +12 -0
  52. package/dist/core/logger.d.ts.map +1 -0
  53. package/dist/core/logger.js +14 -0
  54. package/dist/core/logger.js.map +1 -0
  55. package/dist/core/observe.d.ts +3 -0
  56. package/dist/core/observe.d.ts.map +1 -0
  57. package/dist/core/observe.js +22 -0
  58. package/dist/core/observe.js.map +1 -0
  59. package/dist/core/pageContext.d.ts +13 -0
  60. package/dist/core/pageContext.d.ts.map +1 -0
  61. package/dist/core/pageContext.js +73 -0
  62. package/dist/core/pageContext.js.map +1 -0
  63. package/dist/core/prune.d.ts +7 -0
  64. package/dist/core/prune.d.ts.map +1 -0
  65. package/dist/core/prune.js +31 -0
  66. package/dist/core/prune.js.map +1 -0
  67. package/dist/core/redact.d.ts +15 -0
  68. package/dist/core/redact.d.ts.map +1 -0
  69. package/dist/core/redact.js +50 -0
  70. package/dist/core/redact.js.map +1 -0
  71. package/dist/core/replayCoord.d.ts +22 -0
  72. package/dist/core/replayCoord.d.ts.map +1 -0
  73. package/dist/core/replayCoord.js +20 -0
  74. package/dist/core/replayCoord.js.map +1 -0
  75. package/dist/core/retry.d.ts +25 -0
  76. package/dist/core/retry.d.ts.map +1 -0
  77. package/dist/core/retry.js +44 -0
  78. package/dist/core/retry.js.map +1 -0
  79. package/dist/core/runtime.d.ts +28 -0
  80. package/dist/core/runtime.d.ts.map +1 -0
  81. package/dist/core/runtime.js +67 -0
  82. package/dist/core/runtime.js.map +1 -0
  83. package/dist/core/scrollDepth.d.ts +48 -0
  84. package/dist/core/scrollDepth.d.ts.map +1 -0
  85. package/dist/core/scrollDepth.js +63 -0
  86. package/dist/core/scrollDepth.js.map +1 -0
  87. package/dist/debug/index.d.ts +6 -0
  88. package/dist/debug/index.d.ts.map +1 -0
  89. package/dist/debug/index.js +2 -0
  90. package/dist/debug/index.js.map +1 -0
  91. package/dist/features/analytics/AnalyticsFeature.d.ts +122 -0
  92. package/dist/features/analytics/AnalyticsFeature.d.ts.map +1 -0
  93. package/dist/features/analytics/AnalyticsFeature.js +757 -0
  94. package/dist/features/analytics/AnalyticsFeature.js.map +1 -0
  95. package/dist/features/analytics/autocapture.d.ts +13 -0
  96. package/dist/features/analytics/autocapture.d.ts.map +1 -0
  97. package/dist/features/analytics/autocapture.js +398 -0
  98. package/dist/features/analytics/autocapture.js.map +1 -0
  99. package/dist/features/analytics/governance.d.ts +15 -0
  100. package/dist/features/analytics/governance.d.ts.map +1 -0
  101. package/dist/features/analytics/governance.js +30 -0
  102. package/dist/features/analytics/governance.js.map +1 -0
  103. package/dist/features/analytics/revenue.d.ts +38 -0
  104. package/dist/features/analytics/revenue.d.ts.map +1 -0
  105. package/dist/features/analytics/revenue.js +26 -0
  106. package/dist/features/analytics/revenue.js.map +1 -0
  107. package/dist/features/analytics/sampler.d.ts +2 -0
  108. package/dist/features/analytics/sampler.d.ts.map +1 -0
  109. package/dist/features/analytics/sampler.js +24 -0
  110. package/dist/features/analytics/sampler.js.map +1 -0
  111. package/dist/features/analytics/subscription.d.ts +25 -0
  112. package/dist/features/analytics/subscription.d.ts.map +1 -0
  113. package/dist/features/analytics/subscription.js +51 -0
  114. package/dist/features/analytics/subscription.js.map +1 -0
  115. package/dist/features/attention/index.d.ts +29 -0
  116. package/dist/features/attention/index.d.ts.map +1 -0
  117. package/dist/features/attention/index.js +128 -0
  118. package/dist/features/attention/index.js.map +1 -0
  119. package/dist/features/bugreport/BugReportFeature.d.ts +36 -0
  120. package/dist/features/bugreport/BugReportFeature.d.ts.map +1 -0
  121. package/dist/features/bugreport/BugReportFeature.js +55 -0
  122. package/dist/features/bugreport/BugReportFeature.js.map +1 -0
  123. package/dist/features/bugreport/collect.d.ts +21 -0
  124. package/dist/features/bugreport/collect.d.ts.map +1 -0
  125. package/dist/features/bugreport/collect.js +27 -0
  126. package/dist/features/bugreport/collect.js.map +1 -0
  127. package/dist/features/bugreport/widget.d.ts +21 -0
  128. package/dist/features/bugreport/widget.d.ts.map +1 -0
  129. package/dist/features/bugreport/widget.js +111 -0
  130. package/dist/features/bugreport/widget.js.map +1 -0
  131. package/dist/features/coach/CoachmarkFeature.d.ts +78 -0
  132. package/dist/features/coach/CoachmarkFeature.d.ts.map +1 -0
  133. package/dist/features/coach/CoachmarkFeature.js +161 -0
  134. package/dist/features/coach/CoachmarkFeature.js.map +1 -0
  135. package/dist/features/coach/anchor.d.ts +32 -0
  136. package/dist/features/coach/anchor.d.ts.map +1 -0
  137. package/dist/features/coach/anchor.js +128 -0
  138. package/dist/features/coach/anchor.js.map +1 -0
  139. package/dist/features/coach/observers.d.ts +17 -0
  140. package/dist/features/coach/observers.d.ts.map +1 -0
  141. package/dist/features/coach/observers.js +49 -0
  142. package/dist/features/coach/observers.js.map +1 -0
  143. package/dist/features/coach/overlay.d.ts +15 -0
  144. package/dist/features/coach/overlay.d.ts.map +1 -0
  145. package/dist/features/coach/overlay.js +183 -0
  146. package/dist/features/coach/overlay.js.map +1 -0
  147. package/dist/features/coach/position.d.ts +9 -0
  148. package/dist/features/coach/position.d.ts.map +1 -0
  149. package/dist/features/coach/position.js +83 -0
  150. package/dist/features/coach/position.js.map +1 -0
  151. package/dist/features/coach/predicate.d.ts +10 -0
  152. package/dist/features/coach/predicate.d.ts.map +1 -0
  153. package/dist/features/coach/predicate.js +36 -0
  154. package/dist/features/coach/predicate.js.map +1 -0
  155. package/dist/features/coach/tour.d.ts +55 -0
  156. package/dist/features/coach/tour.d.ts.map +1 -0
  157. package/dist/features/coach/tour.js +181 -0
  158. package/dist/features/coach/tour.js.map +1 -0
  159. package/dist/features/coach/types.d.ts +161 -0
  160. package/dist/features/coach/types.d.ts.map +1 -0
  161. package/dist/features/coach/types.js +2 -0
  162. package/dist/features/coach/types.js.map +1 -0
  163. package/dist/features/coach/wait.d.ts +34 -0
  164. package/dist/features/coach/wait.d.ts.map +1 -0
  165. package/dist/features/coach/wait.js +107 -0
  166. package/dist/features/coach/wait.js.map +1 -0
  167. package/dist/features/config/ConfigFeature.d.ts +117 -0
  168. package/dist/features/config/ConfigFeature.d.ts.map +1 -0
  169. package/dist/features/config/ConfigFeature.js +437 -0
  170. package/dist/features/config/ConfigFeature.js.map +1 -0
  171. package/dist/features/config/bucketing.d.ts +20 -0
  172. package/dist/features/config/bucketing.d.ts.map +1 -0
  173. package/dist/features/config/bucketing.js +37 -0
  174. package/dist/features/config/bucketing.js.map +1 -0
  175. package/dist/features/config/configStore.d.ts +11 -0
  176. package/dist/features/config/configStore.d.ts.map +1 -0
  177. package/dist/features/config/configStore.js +66 -0
  178. package/dist/features/config/configStore.js.map +1 -0
  179. package/dist/features/config/targeting.d.ts +11 -0
  180. package/dist/features/config/targeting.d.ts.map +1 -0
  181. package/dist/features/config/targeting.js +57 -0
  182. package/dist/features/config/targeting.js.map +1 -0
  183. package/dist/features/config/types.d.ts +100 -0
  184. package/dist/features/config/types.d.ts.map +1 -0
  185. package/dist/features/config/types.js +9 -0
  186. package/dist/features/config/types.js.map +1 -0
  187. package/dist/features/console/ConsoleFeature.d.ts +31 -0
  188. package/dist/features/console/ConsoleFeature.d.ts.map +1 -0
  189. package/dist/features/console/ConsoleFeature.js +98 -0
  190. package/dist/features/console/ConsoleFeature.js.map +1 -0
  191. package/dist/features/console/normalize.d.ts +18 -0
  192. package/dist/features/console/normalize.d.ts.map +1 -0
  193. package/dist/features/console/normalize.js +64 -0
  194. package/dist/features/console/normalize.js.map +1 -0
  195. package/dist/features/console/serialize.d.ts +24 -0
  196. package/dist/features/console/serialize.d.ts.map +1 -0
  197. package/dist/features/console/serialize.js +99 -0
  198. package/dist/features/console/serialize.js.map +1 -0
  199. package/dist/features/console/throttle.d.ts +27 -0
  200. package/dist/features/console/throttle.d.ts.map +1 -0
  201. package/dist/features/console/throttle.js +37 -0
  202. package/dist/features/console/throttle.js.map +1 -0
  203. package/dist/features/crash/CrashFeature.d.ts +46 -0
  204. package/dist/features/crash/CrashFeature.d.ts.map +1 -0
  205. package/dist/features/crash/CrashFeature.js +173 -0
  206. package/dist/features/crash/CrashFeature.js.map +1 -0
  207. package/dist/features/crash/liveness.d.ts +30 -0
  208. package/dist/features/crash/liveness.d.ts.map +1 -0
  209. package/dist/features/crash/liveness.js +131 -0
  210. package/dist/features/crash/liveness.js.map +1 -0
  211. package/dist/features/engage/EngageFeature.d.ts +61 -0
  212. package/dist/features/engage/EngageFeature.d.ts.map +1 -0
  213. package/dist/features/engage/EngageFeature.js +221 -0
  214. package/dist/features/engage/EngageFeature.js.map +1 -0
  215. package/dist/features/engage/attachments.d.ts +24 -0
  216. package/dist/features/engage/attachments.d.ts.map +1 -0
  217. package/dist/features/engage/attachments.js +209 -0
  218. package/dist/features/engage/attachments.js.map +1 -0
  219. package/dist/features/engage/gameLogic.d.ts +60 -0
  220. package/dist/features/engage/gameLogic.d.ts.map +1 -0
  221. package/dist/features/engage/gameLogic.js +213 -0
  222. package/dist/features/engage/gameLogic.js.map +1 -0
  223. package/dist/features/engage/gameResolver.d.ts +35 -0
  224. package/dist/features/engage/gameResolver.d.ts.map +1 -0
  225. package/dist/features/engage/gameResolver.js +81 -0
  226. package/dist/features/engage/gameResolver.js.map +1 -0
  227. package/dist/features/engage/gameTypes.d.ts +76 -0
  228. package/dist/features/engage/gameTypes.d.ts.map +1 -0
  229. package/dist/features/engage/gameTypes.js +17 -0
  230. package/dist/features/engage/gameTypes.js.map +1 -0
  231. package/dist/features/engage/inappSlots.d.ts +39 -0
  232. package/dist/features/engage/inappSlots.d.ts.map +1 -0
  233. package/dist/features/engage/inappSlots.js +50 -0
  234. package/dist/features/engage/inappSlots.js.map +1 -0
  235. package/dist/features/engage/normalize.d.ts +11 -0
  236. package/dist/features/engage/normalize.d.ts.map +1 -0
  237. package/dist/features/engage/normalize.js +203 -0
  238. package/dist/features/engage/normalize.js.map +1 -0
  239. package/dist/features/engage/richInApp.d.ts +64 -0
  240. package/dist/features/engage/richInApp.d.ts.map +1 -0
  241. package/dist/features/engage/richInApp.js +1082 -0
  242. package/dist/features/engage/richInApp.js.map +1 -0
  243. package/dist/features/engage/runtime.d.ts +78 -0
  244. package/dist/features/engage/runtime.d.ts.map +1 -0
  245. package/dist/features/engage/runtime.js +349 -0
  246. package/dist/features/engage/runtime.js.map +1 -0
  247. package/dist/features/engage/shakeDetector.d.ts +6 -0
  248. package/dist/features/engage/shakeDetector.d.ts.map +1 -0
  249. package/dist/features/engage/shakeDetector.js +105 -0
  250. package/dist/features/engage/shakeDetector.js.map +1 -0
  251. package/dist/features/engage/theme.d.ts +129 -0
  252. package/dist/features/engage/theme.d.ts.map +1 -0
  253. package/dist/features/engage/theme.js +270 -0
  254. package/dist/features/engage/theme.js.map +1 -0
  255. package/dist/features/engage/throttle.d.ts +31 -0
  256. package/dist/features/engage/throttle.d.ts.map +1 -0
  257. package/dist/features/engage/throttle.js +130 -0
  258. package/dist/features/engage/throttle.js.map +1 -0
  259. package/dist/features/engage/transport.d.ts +62 -0
  260. package/dist/features/engage/transport.d.ts.map +1 -0
  261. package/dist/features/engage/transport.js +185 -0
  262. package/dist/features/engage/transport.js.map +1 -0
  263. package/dist/features/engage/triggerEngine.d.ts +39 -0
  264. package/dist/features/engage/triggerEngine.d.ts.map +1 -0
  265. package/dist/features/engage/triggerEngine.js +105 -0
  266. package/dist/features/engage/triggerEngine.js.map +1 -0
  267. package/dist/features/engage/types.d.ts +265 -0
  268. package/dist/features/engage/types.d.ts.map +1 -0
  269. package/dist/features/engage/types.js +3 -0
  270. package/dist/features/engage/types.js.map +1 -0
  271. package/dist/features/engage/widget/InAppWidget.d.ts +10 -0
  272. package/dist/features/engage/widget/InAppWidget.d.ts.map +1 -0
  273. package/dist/features/engage/widget/InAppWidget.js +136 -0
  274. package/dist/features/engage/widget/InAppWidget.js.map +1 -0
  275. package/dist/features/engage/widget/SurveyWidget.d.ts +11 -0
  276. package/dist/features/engage/widget/SurveyWidget.d.ts.map +1 -0
  277. package/dist/features/engage/widget/SurveyWidget.js +546 -0
  278. package/dist/features/engage/widget/SurveyWidget.js.map +1 -0
  279. package/dist/features/errors/ErrorsFeature.d.ts +62 -0
  280. package/dist/features/errors/ErrorsFeature.d.ts.map +1 -0
  281. package/dist/features/errors/ErrorsFeature.js +209 -0
  282. package/dist/features/errors/ErrorsFeature.js.map +1 -0
  283. package/dist/features/errors/causes.d.ts +15 -0
  284. package/dist/features/errors/causes.d.ts.map +1 -0
  285. package/dist/features/errors/causes.js +29 -0
  286. package/dist/features/errors/causes.js.map +1 -0
  287. package/dist/features/errors/dedup.d.ts +28 -0
  288. package/dist/features/errors/dedup.d.ts.map +1 -0
  289. package/dist/features/errors/dedup.js +42 -0
  290. package/dist/features/errors/dedup.js.map +1 -0
  291. package/dist/features/errors/group/fingerprint.d.ts +13 -0
  292. package/dist/features/errors/group/fingerprint.d.ts.map +1 -0
  293. package/dist/features/errors/group/fingerprint.js +45 -0
  294. package/dist/features/errors/group/fingerprint.js.map +1 -0
  295. package/dist/features/errors/lazy.d.ts +8 -0
  296. package/dist/features/errors/lazy.d.ts.map +1 -0
  297. package/dist/features/errors/lazy.js +8 -0
  298. package/dist/features/errors/lazy.js.map +1 -0
  299. package/dist/features/errors/normalize.d.ts +26 -0
  300. package/dist/features/errors/normalize.d.ts.map +1 -0
  301. package/dist/features/errors/normalize.js +58 -0
  302. package/dist/features/errors/normalize.js.map +1 -0
  303. package/dist/features/errors/parse/stacktrace.d.ts +13 -0
  304. package/dist/features/errors/parse/stacktrace.d.ts.map +1 -0
  305. package/dist/features/errors/parse/stacktrace.js +85 -0
  306. package/dist/features/errors/parse/stacktrace.js.map +1 -0
  307. package/dist/features/errors/redact.d.ts +7 -0
  308. package/dist/features/errors/redact.d.ts.map +1 -0
  309. package/dist/features/errors/redact.js +39 -0
  310. package/dist/features/errors/redact.js.map +1 -0
  311. package/dist/features/errors/sampling.d.ts +2 -0
  312. package/dist/features/errors/sampling.d.ts.map +1 -0
  313. package/dist/features/errors/sampling.js +24 -0
  314. package/dist/features/errors/sampling.js.map +1 -0
  315. package/dist/features/errors/scope.d.ts +26 -0
  316. package/dist/features/errors/scope.d.ts.map +1 -0
  317. package/dist/features/errors/scope.js +30 -0
  318. package/dist/features/errors/scope.js.map +1 -0
  319. package/dist/features/exit-intent/ExitIntentFeature.d.ts +16 -0
  320. package/dist/features/exit-intent/ExitIntentFeature.d.ts.map +1 -0
  321. package/dist/features/exit-intent/ExitIntentFeature.js +25 -0
  322. package/dist/features/exit-intent/ExitIntentFeature.js.map +1 -0
  323. package/dist/features/exit-intent/engine.d.ts +127 -0
  324. package/dist/features/exit-intent/engine.d.ts.map +1 -0
  325. package/dist/features/exit-intent/engine.js +227 -0
  326. package/dist/features/exit-intent/engine.js.map +1 -0
  327. package/dist/features/forms/index.d.ts +83 -0
  328. package/dist/features/forms/index.d.ts.map +1 -0
  329. package/dist/features/forms/index.js +405 -0
  330. package/dist/features/forms/index.js.map +1 -0
  331. package/dist/features/inapp/InApp2Feature.d.ts +24 -0
  332. package/dist/features/inapp/InApp2Feature.d.ts.map +1 -0
  333. package/dist/features/inapp/InApp2Feature.js +43 -0
  334. package/dist/features/inapp/InApp2Feature.js.map +1 -0
  335. package/dist/features/inapp/a11y/focus.d.ts +24 -0
  336. package/dist/features/inapp/a11y/focus.d.ts.map +1 -0
  337. package/dist/features/inapp/a11y/focus.js +112 -0
  338. package/dist/features/inapp/a11y/focus.js.map +1 -0
  339. package/dist/features/inapp/anchor/controller.d.ts +64 -0
  340. package/dist/features/inapp/anchor/controller.d.ts.map +1 -0
  341. package/dist/features/inapp/anchor/controller.js +155 -0
  342. package/dist/features/inapp/anchor/controller.js.map +1 -0
  343. package/dist/features/inapp/api.d.ts +28 -0
  344. package/dist/features/inapp/api.d.ts.map +1 -0
  345. package/dist/features/inapp/api.js +41 -0
  346. package/dist/features/inapp/api.js.map +1 -0
  347. package/dist/features/inapp/blocks/blocks.d.ts +65 -0
  348. package/dist/features/inapp/blocks/blocks.d.ts.map +1 -0
  349. package/dist/features/inapp/blocks/blocks.js +196 -0
  350. package/dist/features/inapp/blocks/blocks.js.map +1 -0
  351. package/dist/features/inapp/blocks/feedback.d.ts +13 -0
  352. package/dist/features/inapp/blocks/feedback.d.ts.map +1 -0
  353. package/dist/features/inapp/blocks/feedback.js +154 -0
  354. package/dist/features/inapp/blocks/feedback.js.map +1 -0
  355. package/dist/features/inapp/blocks/heavy/carousel.d.ts +8 -0
  356. package/dist/features/inapp/blocks/heavy/carousel.d.ts.map +1 -0
  357. package/dist/features/inapp/blocks/heavy/carousel.js +67 -0
  358. package/dist/features/inapp/blocks/heavy/carousel.js.map +1 -0
  359. package/dist/features/inapp/blocks/heavy/chart.d.ts +9 -0
  360. package/dist/features/inapp/blocks/heavy/chart.d.ts.map +1 -0
  361. package/dist/features/inapp/blocks/heavy/chart.js +83 -0
  362. package/dist/features/inapp/blocks/heavy/chart.js.map +1 -0
  363. package/dist/features/inapp/blocks/heavy/code.d.ts +8 -0
  364. package/dist/features/inapp/blocks/heavy/code.d.ts.map +1 -0
  365. package/dist/features/inapp/blocks/heavy/code.js +47 -0
  366. package/dist/features/inapp/blocks/heavy/code.js.map +1 -0
  367. package/dist/features/inapp/blocks/heavy/confetti.d.ts +9 -0
  368. package/dist/features/inapp/blocks/heavy/confetti.d.ts.map +1 -0
  369. package/dist/features/inapp/blocks/heavy/confetti.js +76 -0
  370. package/dist/features/inapp/blocks/heavy/confetti.js.map +1 -0
  371. package/dist/features/inapp/blocks/heavy/countdown.d.ts +9 -0
  372. package/dist/features/inapp/blocks/heavy/countdown.d.ts.map +1 -0
  373. package/dist/features/inapp/blocks/heavy/countdown.js +59 -0
  374. package/dist/features/inapp/blocks/heavy/countdown.js.map +1 -0
  375. package/dist/features/inapp/blocks/heavy/index.d.ts +11 -0
  376. package/dist/features/inapp/blocks/heavy/index.d.ts.map +1 -0
  377. package/dist/features/inapp/blocks/heavy/index.js +45 -0
  378. package/dist/features/inapp/blocks/heavy/index.js.map +1 -0
  379. package/dist/features/inapp/blocks/heavy/markdown.d.ts +9 -0
  380. package/dist/features/inapp/blocks/heavy/markdown.d.ts.map +1 -0
  381. package/dist/features/inapp/blocks/heavy/markdown.js +76 -0
  382. package/dist/features/inapp/blocks/heavy/markdown.js.map +1 -0
  383. package/dist/features/inapp/blocks/heavy/productgrid.d.ts +8 -0
  384. package/dist/features/inapp/blocks/heavy/productgrid.d.ts.map +1 -0
  385. package/dist/features/inapp/blocks/heavy/productgrid.js +46 -0
  386. package/dist/features/inapp/blocks/heavy/productgrid.js.map +1 -0
  387. package/dist/features/inapp/blocks/heavy/qr.d.ts +10 -0
  388. package/dist/features/inapp/blocks/heavy/qr.d.ts.map +1 -0
  389. package/dist/features/inapp/blocks/heavy/qr.js +69 -0
  390. package/dist/features/inapp/blocks/heavy/qr.js.map +1 -0
  391. package/dist/features/inapp/blocks/heavy/scratch.d.ts +8 -0
  392. package/dist/features/inapp/blocks/heavy/scratch.d.ts.map +1 -0
  393. package/dist/features/inapp/blocks/heavy/scratch.js +141 -0
  394. package/dist/features/inapp/blocks/heavy/scratch.js.map +1 -0
  395. package/dist/features/inapp/blocks/heavy/slot.d.ts +8 -0
  396. package/dist/features/inapp/blocks/heavy/slot.d.ts.map +1 -0
  397. package/dist/features/inapp/blocks/heavy/slot.js +96 -0
  398. package/dist/features/inapp/blocks/heavy/slot.js.map +1 -0
  399. package/dist/features/inapp/blocks/heavy/spinwheel.d.ts +9 -0
  400. package/dist/features/inapp/blocks/heavy/spinwheel.d.ts.map +1 -0
  401. package/dist/features/inapp/blocks/heavy/spinwheel.js +127 -0
  402. package/dist/features/inapp/blocks/heavy/spinwheel.js.map +1 -0
  403. package/dist/features/inapp/blocks/heavy/steps.d.ts +27 -0
  404. package/dist/features/inapp/blocks/heavy/steps.d.ts.map +1 -0
  405. package/dist/features/inapp/blocks/heavy/steps.js +127 -0
  406. package/dist/features/inapp/blocks/heavy/steps.js.map +1 -0
  407. package/dist/features/inapp/blocks/heavy/streak.d.ts +18 -0
  408. package/dist/features/inapp/blocks/heavy/streak.d.ts.map +1 -0
  409. package/dist/features/inapp/blocks/heavy/streak.js +52 -0
  410. package/dist/features/inapp/blocks/heavy/streak.js.map +1 -0
  411. package/dist/features/inapp/blocks/heavy/table.d.ts +7 -0
  412. package/dist/features/inapp/blocks/heavy/table.d.ts.map +1 -0
  413. package/dist/features/inapp/blocks/heavy/table.js +30 -0
  414. package/dist/features/inapp/blocks/heavy/table.js.map +1 -0
  415. package/dist/features/inapp/blocks/heavy/unavailable.d.ts +28 -0
  416. package/dist/features/inapp/blocks/heavy/unavailable.d.ts.map +1 -0
  417. package/dist/features/inapp/blocks/heavy/unavailable.js +33 -0
  418. package/dist/features/inapp/blocks/heavy/unavailable.js.map +1 -0
  419. package/dist/features/inapp/blocks/heavy/video.d.ts +7 -0
  420. package/dist/features/inapp/blocks/heavy/video.d.ts.map +1 -0
  421. package/dist/features/inapp/blocks/heavy/video.js +38 -0
  422. package/dist/features/inapp/blocks/heavy/video.js.map +1 -0
  423. package/dist/features/inapp/blocks/styles.d.ts +7 -0
  424. package/dist/features/inapp/blocks/styles.d.ts.map +1 -0
  425. package/dist/features/inapp/blocks/styles.js +198 -0
  426. package/dist/features/inapp/blocks/styles.js.map +1 -0
  427. package/dist/features/inapp/center/bridge.d.ts +12 -0
  428. package/dist/features/inapp/center/bridge.d.ts.map +1 -0
  429. package/dist/features/inapp/center/bridge.js +59 -0
  430. package/dist/features/inapp/center/bridge.js.map +1 -0
  431. package/dist/features/inapp/center/panel.d.ts +20 -0
  432. package/dist/features/inapp/center/panel.d.ts.map +1 -0
  433. package/dist/features/inapp/center/panel.js +194 -0
  434. package/dist/features/inapp/center/panel.js.map +1 -0
  435. package/dist/features/inapp/center/store.d.ts +50 -0
  436. package/dist/features/inapp/center/store.d.ts.map +1 -0
  437. package/dist/features/inapp/center/store.js +188 -0
  438. package/dist/features/inapp/center/store.js.map +1 -0
  439. package/dist/features/inapp/center/sync.d.ts +32 -0
  440. package/dist/features/inapp/center/sync.d.ts.map +1 -0
  441. package/dist/features/inapp/center/sync.js +60 -0
  442. package/dist/features/inapp/center/sync.js.map +1 -0
  443. package/dist/features/inapp/center/types.d.ts +46 -0
  444. package/dist/features/inapp/center/types.d.ts.map +1 -0
  445. package/dist/features/inapp/center/types.js +5 -0
  446. package/dist/features/inapp/center/types.js.map +1 -0
  447. package/dist/features/inapp/core/analytics.d.ts +35 -0
  448. package/dist/features/inapp/core/analytics.d.ts.map +1 -0
  449. package/dist/features/inapp/core/analytics.js +70 -0
  450. package/dist/features/inapp/core/analytics.js.map +1 -0
  451. package/dist/features/inapp/core/compat.d.ts +28 -0
  452. package/dist/features/inapp/core/compat.d.ts.map +1 -0
  453. package/dist/features/inapp/core/compat.js +104 -0
  454. package/dist/features/inapp/core/compat.js.map +1 -0
  455. package/dist/features/inapp/core/debugOverlay.d.ts +5 -0
  456. package/dist/features/inapp/core/debugOverlay.d.ts.map +1 -0
  457. package/dist/features/inapp/core/debugOverlay.js +79 -0
  458. package/dist/features/inapp/core/debugOverlay.js.map +1 -0
  459. package/dist/features/inapp/core/engine.d.ts +70 -0
  460. package/dist/features/inapp/core/engine.d.ts.map +1 -0
  461. package/dist/features/inapp/core/engine.js +248 -0
  462. package/dist/features/inapp/core/engine.js.map +1 -0
  463. package/dist/features/inapp/core/environment.d.ts +21 -0
  464. package/dist/features/inapp/core/environment.d.ts.map +1 -0
  465. package/dist/features/inapp/core/environment.js +57 -0
  466. package/dist/features/inapp/core/environment.js.map +1 -0
  467. package/dist/features/inapp/core/host.d.ts +53 -0
  468. package/dist/features/inapp/core/host.d.ts.map +1 -0
  469. package/dist/features/inapp/core/host.js +239 -0
  470. package/dist/features/inapp/core/host.js.map +1 -0
  471. package/dist/features/inapp/core/keyboard.d.ts +27 -0
  472. package/dist/features/inapp/core/keyboard.d.ts.map +1 -0
  473. package/dist/features/inapp/core/keyboard.js +69 -0
  474. package/dist/features/inapp/core/keyboard.js.map +1 -0
  475. package/dist/features/inapp/core/metrics.d.ts +73 -0
  476. package/dist/features/inapp/core/metrics.d.ts.map +1 -0
  477. package/dist/features/inapp/core/metrics.js +125 -0
  478. package/dist/features/inapp/core/metrics.js.map +1 -0
  479. package/dist/features/inapp/core/migration.d.ts +32 -0
  480. package/dist/features/inapp/core/migration.d.ts.map +1 -0
  481. package/dist/features/inapp/core/migration.js +28 -0
  482. package/dist/features/inapp/core/migration.js.map +1 -0
  483. package/dist/features/inapp/core/orchestrator.d.ts +77 -0
  484. package/dist/features/inapp/core/orchestrator.d.ts.map +1 -0
  485. package/dist/features/inapp/core/orchestrator.js +144 -0
  486. package/dist/features/inapp/core/orchestrator.js.map +1 -0
  487. package/dist/features/inapp/core/respect.d.ts +51 -0
  488. package/dist/features/inapp/core/respect.d.ts.map +1 -0
  489. package/dist/features/inapp/core/respect.js +78 -0
  490. package/dist/features/inapp/core/respect.js.map +1 -0
  491. package/dist/features/inapp/core/slots.d.ts +19 -0
  492. package/dist/features/inapp/core/slots.d.ts.map +1 -0
  493. package/dist/features/inapp/core/slots.js +53 -0
  494. package/dist/features/inapp/core/slots.js.map +1 -0
  495. package/dist/features/inapp/core/targeting.d.ts +58 -0
  496. package/dist/features/inapp/core/targeting.d.ts.map +1 -0
  497. package/dist/features/inapp/core/targeting.js +181 -0
  498. package/dist/features/inapp/core/targeting.js.map +1 -0
  499. package/dist/features/inapp/core/transport.d.ts +66 -0
  500. package/dist/features/inapp/core/transport.d.ts.map +1 -0
  501. package/dist/features/inapp/core/transport.js +154 -0
  502. package/dist/features/inapp/core/transport.js.map +1 -0
  503. package/dist/features/inapp/core/triggers.d.ts +94 -0
  504. package/dist/features/inapp/core/triggers.d.ts.map +1 -0
  505. package/dist/features/inapp/core/triggers.js +368 -0
  506. package/dist/features/inapp/core/triggers.js.map +1 -0
  507. package/dist/features/inapp/inappContract.web.d.ts +47 -0
  508. package/dist/features/inapp/inappContract.web.d.ts.map +1 -0
  509. package/dist/features/inapp/inappContract.web.js +219 -0
  510. package/dist/features/inapp/inappContract.web.js.map +1 -0
  511. package/dist/features/inapp/index.d.ts +23 -0
  512. package/dist/features/inapp/index.d.ts.map +1 -0
  513. package/dist/features/inapp/index.js +23 -0
  514. package/dist/features/inapp/index.js.map +1 -0
  515. package/dist/features/inapp/registry.canonical.hash.d.ts +7 -0
  516. package/dist/features/inapp/registry.canonical.hash.d.ts.map +1 -0
  517. package/dist/features/inapp/registry.canonical.hash.js +7 -0
  518. package/dist/features/inapp/registry.canonical.hash.js.map +1 -0
  519. package/dist/features/inapp/registry.web.canonical.d.ts +21 -0
  520. package/dist/features/inapp/registry.web.canonical.d.ts.map +1 -0
  521. package/dist/features/inapp/registry.web.canonical.js +136 -0
  522. package/dist/features/inapp/registry.web.canonical.js.map +1 -0
  523. package/dist/features/inapp/registry.web.catalog.d.ts +12 -0
  524. package/dist/features/inapp/registry.web.catalog.d.ts.map +1 -0
  525. package/dist/features/inapp/registry.web.catalog.js +208 -0
  526. package/dist/features/inapp/registry.web.catalog.js.map +1 -0
  527. package/dist/features/inapp/surfaces/banner.d.ts +7 -0
  528. package/dist/features/inapp/surfaces/banner.d.ts.map +1 -0
  529. package/dist/features/inapp/surfaces/banner.js +30 -0
  530. package/dist/features/inapp/surfaces/banner.js.map +1 -0
  531. package/dist/features/inapp/surfaces/checklist.d.ts +13 -0
  532. package/dist/features/inapp/surfaces/checklist.d.ts.map +1 -0
  533. package/dist/features/inapp/surfaces/checklist.js +127 -0
  534. package/dist/features/inapp/surfaces/checklist.js.map +1 -0
  535. package/dist/features/inapp/surfaces/coachmark.d.ts +10 -0
  536. package/dist/features/inapp/surfaces/coachmark.d.ts.map +1 -0
  537. package/dist/features/inapp/surfaces/coachmark.js +92 -0
  538. package/dist/features/inapp/surfaces/coachmark.js.map +1 -0
  539. package/dist/features/inapp/surfaces/hotspot.d.ts +8 -0
  540. package/dist/features/inapp/surfaces/hotspot.d.ts.map +1 -0
  541. package/dist/features/inapp/surfaces/hotspot.js +88 -0
  542. package/dist/features/inapp/surfaces/hotspot.js.map +1 -0
  543. package/dist/features/inapp/surfaces/inline.d.ts +13 -0
  544. package/dist/features/inapp/surfaces/inline.d.ts.map +1 -0
  545. package/dist/features/inapp/surfaces/inline.js +72 -0
  546. package/dist/features/inapp/surfaces/inline.js.map +1 -0
  547. package/dist/features/inapp/surfaces/launcher.d.ts +9 -0
  548. package/dist/features/inapp/surfaces/launcher.d.ts.map +1 -0
  549. package/dist/features/inapp/surfaces/launcher.js +54 -0
  550. package/dist/features/inapp/surfaces/launcher.js.map +1 -0
  551. package/dist/features/inapp/surfaces/modal.d.ts +8 -0
  552. package/dist/features/inapp/surfaces/modal.d.ts.map +1 -0
  553. package/dist/features/inapp/surfaces/modal.js +70 -0
  554. package/dist/features/inapp/surfaces/modal.js.map +1 -0
  555. package/dist/features/inapp/surfaces/mount.d.ts +19 -0
  556. package/dist/features/inapp/surfaces/mount.d.ts.map +1 -0
  557. package/dist/features/inapp/surfaces/mount.js +29 -0
  558. package/dist/features/inapp/surfaces/mount.js.map +1 -0
  559. package/dist/features/inapp/surfaces/palette.d.ts +9 -0
  560. package/dist/features/inapp/surfaces/palette.d.ts.map +1 -0
  561. package/dist/features/inapp/surfaces/palette.js +127 -0
  562. package/dist/features/inapp/surfaces/palette.js.map +1 -0
  563. package/dist/features/inapp/surfaces/panel.d.ts +14 -0
  564. package/dist/features/inapp/surfaces/panel.d.ts.map +1 -0
  565. package/dist/features/inapp/surfaces/panel.js +91 -0
  566. package/dist/features/inapp/surfaces/panel.js.map +1 -0
  567. package/dist/features/inapp/surfaces/popover.d.ts +10 -0
  568. package/dist/features/inapp/surfaces/popover.d.ts.map +1 -0
  569. package/dist/features/inapp/surfaces/popover.js +66 -0
  570. package/dist/features/inapp/surfaces/popover.js.map +1 -0
  571. package/dist/features/inapp/surfaces/render.d.ts +34 -0
  572. package/dist/features/inapp/surfaces/render.d.ts.map +1 -0
  573. package/dist/features/inapp/surfaces/render.js +52 -0
  574. package/dist/features/inapp/surfaces/render.js.map +1 -0
  575. package/dist/features/inapp/surfaces/slideover.d.ts +9 -0
  576. package/dist/features/inapp/surfaces/slideover.d.ts.map +1 -0
  577. package/dist/features/inapp/surfaces/slideover.js +144 -0
  578. package/dist/features/inapp/surfaces/slideover.js.map +1 -0
  579. package/dist/features/inapp/surfaces/styles.d.ts +7 -0
  580. package/dist/features/inapp/surfaces/styles.d.ts.map +1 -0
  581. package/dist/features/inapp/surfaces/styles.js +186 -0
  582. package/dist/features/inapp/surfaces/styles.js.map +1 -0
  583. package/dist/features/inapp/surfaces/surface.d.ts +69 -0
  584. package/dist/features/inapp/surfaces/surface.d.ts.map +1 -0
  585. package/dist/features/inapp/surfaces/surface.js +80 -0
  586. package/dist/features/inapp/surfaces/surface.js.map +1 -0
  587. package/dist/features/inapp/surfaces/takeover.d.ts +9 -0
  588. package/dist/features/inapp/surfaces/takeover.d.ts.map +1 -0
  589. package/dist/features/inapp/surfaces/takeover.js +60 -0
  590. package/dist/features/inapp/surfaces/takeover.js.map +1 -0
  591. package/dist/features/inapp/surfaces/toast.d.ts +7 -0
  592. package/dist/features/inapp/surfaces/toast.d.ts.map +1 -0
  593. package/dist/features/inapp/surfaces/toast.js +48 -0
  594. package/dist/features/inapp/surfaces/toast.js.map +1 -0
  595. package/dist/features/inapp/surfaces/toolbar.d.ts +8 -0
  596. package/dist/features/inapp/surfaces/toolbar.d.ts.map +1 -0
  597. package/dist/features/inapp/surfaces/toolbar.js +62 -0
  598. package/dist/features/inapp/surfaces/toolbar.js.map +1 -0
  599. package/dist/features/inapp/surfaces/tour.d.ts +14 -0
  600. package/dist/features/inapp/surfaces/tour.d.ts.map +1 -0
  601. package/dist/features/inapp/surfaces/tour.js +199 -0
  602. package/dist/features/inapp/surfaces/tour.js.map +1 -0
  603. package/dist/features/inapp/types.d.ts +163 -0
  604. package/dist/features/inapp/types.d.ts.map +1 -0
  605. package/dist/features/inapp/types.js +12 -0
  606. package/dist/features/inapp/types.js.map +1 -0
  607. package/dist/features/inbox/InboxFeature.d.ts +57 -0
  608. package/dist/features/inbox/InboxFeature.d.ts.map +1 -0
  609. package/dist/features/inbox/InboxFeature.js +225 -0
  610. package/dist/features/inbox/InboxFeature.js.map +1 -0
  611. package/dist/features/inbox/runtime.d.ts +67 -0
  612. package/dist/features/inbox/runtime.d.ts.map +1 -0
  613. package/dist/features/inbox/runtime.js +376 -0
  614. package/dist/features/inbox/runtime.js.map +1 -0
  615. package/dist/features/inbox/store.d.ts +37 -0
  616. package/dist/features/inbox/store.d.ts.map +1 -0
  617. package/dist/features/inbox/store.js +149 -0
  618. package/dist/features/inbox/store.js.map +1 -0
  619. package/dist/features/inbox/sync.d.ts +49 -0
  620. package/dist/features/inbox/sync.d.ts.map +1 -0
  621. package/dist/features/inbox/sync.js +131 -0
  622. package/dist/features/inbox/sync.js.map +1 -0
  623. package/dist/features/inbox/types.d.ts +275 -0
  624. package/dist/features/inbox/types.d.ts.map +1 -0
  625. package/dist/features/inbox/types.js +42 -0
  626. package/dist/features/inbox/types.js.map +1 -0
  627. package/dist/features/inbox/widget/InboxWidget.d.ts +16 -0
  628. package/dist/features/inbox/widget/InboxWidget.d.ts.map +1 -0
  629. package/dist/features/inbox/widget/InboxWidget.js +608 -0
  630. package/dist/features/inbox/widget/InboxWidget.js.map +1 -0
  631. package/dist/features/index.d.ts +21 -0
  632. package/dist/features/index.d.ts.map +1 -0
  633. package/dist/features/index.js +2 -0
  634. package/dist/features/index.js.map +1 -0
  635. package/dist/features/journey/InteractionTracker.d.ts +34 -0
  636. package/dist/features/journey/InteractionTracker.d.ts.map +1 -0
  637. package/dist/features/journey/InteractionTracker.js +125 -0
  638. package/dist/features/journey/InteractionTracker.js.map +1 -0
  639. package/dist/features/journey/JourneyFeature.d.ts +18 -0
  640. package/dist/features/journey/JourneyFeature.d.ts.map +1 -0
  641. package/dist/features/journey/JourneyFeature.js +57 -0
  642. package/dist/features/journey/JourneyFeature.js.map +1 -0
  643. package/dist/features/journey/NavigationTracker.d.ts +16 -0
  644. package/dist/features/journey/NavigationTracker.d.ts.map +1 -0
  645. package/dist/features/journey/NavigationTracker.js +92 -0
  646. package/dist/features/journey/NavigationTracker.js.map +1 -0
  647. package/dist/features/journey/friction.d.ts +29 -0
  648. package/dist/features/journey/friction.d.ts.map +1 -0
  649. package/dist/features/journey/friction.js +65 -0
  650. package/dist/features/journey/friction.js.map +1 -0
  651. package/dist/features/manifest.d.ts +20 -0
  652. package/dist/features/manifest.d.ts.map +1 -0
  653. package/dist/features/manifest.js +76 -0
  654. package/dist/features/manifest.js.map +1 -0
  655. package/dist/features/network/NetworkFeature.d.ts +56 -0
  656. package/dist/features/network/NetworkFeature.d.ts.map +1 -0
  657. package/dist/features/network/NetworkFeature.js +235 -0
  658. package/dist/features/network/NetworkFeature.js.map +1 -0
  659. package/dist/features/network/capture/body.d.ts +31 -0
  660. package/dist/features/network/capture/body.d.ts.map +1 -0
  661. package/dist/features/network/capture/body.js +81 -0
  662. package/dist/features/network/capture/body.js.map +1 -0
  663. package/dist/features/network/classify.d.ts +21 -0
  664. package/dist/features/network/classify.d.ts.map +1 -0
  665. package/dist/features/network/classify.js +50 -0
  666. package/dist/features/network/classify.js.map +1 -0
  667. package/dist/features/network/dedup.d.ts +36 -0
  668. package/dist/features/network/dedup.d.ts.map +1 -0
  669. package/dist/features/network/dedup.js +68 -0
  670. package/dist/features/network/dedup.js.map +1 -0
  671. package/dist/features/network/fetchInterceptor.d.ts +20 -0
  672. package/dist/features/network/fetchInterceptor.d.ts.map +1 -0
  673. package/dist/features/network/fetchInterceptor.js +158 -0
  674. package/dist/features/network/fetchInterceptor.js.map +1 -0
  675. package/dist/features/network/intercept/beacon.d.ts +14 -0
  676. package/dist/features/network/intercept/beacon.d.ts.map +1 -0
  677. package/dist/features/network/intercept/beacon.js +56 -0
  678. package/dist/features/network/intercept/beacon.js.map +1 -0
  679. package/dist/features/network/intercept/sse.d.ts +16 -0
  680. package/dist/features/network/intercept/sse.d.ts.map +1 -0
  681. package/dist/features/network/intercept/sse.js +74 -0
  682. package/dist/features/network/intercept/sse.js.map +1 -0
  683. package/dist/features/network/intercept/streams.d.ts +23 -0
  684. package/dist/features/network/intercept/streams.d.ts.map +1 -0
  685. package/dist/features/network/intercept/streams.js +25 -0
  686. package/dist/features/network/intercept/streams.js.map +1 -0
  687. package/dist/features/network/intercept/websocket.d.ts +14 -0
  688. package/dist/features/network/intercept/websocket.d.ts.map +1 -0
  689. package/dist/features/network/intercept/websocket.js +97 -0
  690. package/dist/features/network/intercept/websocket.js.map +1 -0
  691. package/dist/features/network/lazy.d.ts +23 -0
  692. package/dist/features/network/lazy.d.ts.map +1 -0
  693. package/dist/features/network/lazy.js +65 -0
  694. package/dist/features/network/lazy.js.map +1 -0
  695. package/dist/features/network/normalize.d.ts +9 -0
  696. package/dist/features/network/normalize.d.ts.map +1 -0
  697. package/dist/features/network/normalize.js +49 -0
  698. package/dist/features/network/normalize.js.map +1 -0
  699. package/dist/features/network/parse/graphql.d.ts +17 -0
  700. package/dist/features/network/parse/graphql.d.ts.map +1 -0
  701. package/dist/features/network/parse/graphql.js +106 -0
  702. package/dist/features/network/parse/graphql.js.map +1 -0
  703. package/dist/features/network/parse/url.d.ts +12 -0
  704. package/dist/features/network/parse/url.d.ts.map +1 -0
  705. package/dist/features/network/parse/url.js +52 -0
  706. package/dist/features/network/parse/url.js.map +1 -0
  707. package/dist/features/network/sampler.d.ts +21 -0
  708. package/dist/features/network/sampler.d.ts.map +1 -0
  709. package/dist/features/network/sampler.js +25 -0
  710. package/dist/features/network/sampler.js.map +1 -0
  711. package/dist/features/network/size.d.ts +21 -0
  712. package/dist/features/network/size.d.ts.map +1 -0
  713. package/dist/features/network/size.js +63 -0
  714. package/dist/features/network/size.js.map +1 -0
  715. package/dist/features/network/timing.d.ts +41 -0
  716. package/dist/features/network/timing.d.ts.map +1 -0
  717. package/dist/features/network/timing.js +134 -0
  718. package/dist/features/network/timing.js.map +1 -0
  719. package/dist/features/network/tracing.d.ts +18 -0
  720. package/dist/features/network/tracing.d.ts.map +1 -0
  721. package/dist/features/network/tracing.js +46 -0
  722. package/dist/features/network/tracing.js.map +1 -0
  723. package/dist/features/network/types.d.ts +75 -0
  724. package/dist/features/network/types.d.ts.map +1 -0
  725. package/dist/features/network/types.js +2 -0
  726. package/dist/features/network/types.js.map +1 -0
  727. package/dist/features/network/xhrInterceptor.d.ts +12 -0
  728. package/dist/features/network/xhrInterceptor.d.ts.map +1 -0
  729. package/dist/features/network/xhrInterceptor.js +108 -0
  730. package/dist/features/network/xhrInterceptor.js.map +1 -0
  731. package/dist/features/performance/PerformanceFeature.d.ts +76 -0
  732. package/dist/features/performance/PerformanceFeature.d.ts.map +1 -0
  733. package/dist/features/performance/PerformanceFeature.js +265 -0
  734. package/dist/features/performance/PerformanceFeature.js.map +1 -0
  735. package/dist/features/performance/jankTap.d.ts +23 -0
  736. package/dist/features/performance/jankTap.d.ts.map +1 -0
  737. package/dist/features/performance/jankTap.js +20 -0
  738. package/dist/features/performance/jankTap.js.map +1 -0
  739. package/dist/features/performance/longTasks.d.ts +14 -0
  740. package/dist/features/performance/longTasks.d.ts.map +1 -0
  741. package/dist/features/performance/longTasks.js +55 -0
  742. package/dist/features/performance/longTasks.js.map +1 -0
  743. package/dist/features/performance/normalize.d.ts +15 -0
  744. package/dist/features/performance/normalize.d.ts.map +1 -0
  745. package/dist/features/performance/normalize.js +30 -0
  746. package/dist/features/performance/normalize.js.map +1 -0
  747. package/dist/features/performance/resources.d.ts +19 -0
  748. package/dist/features/performance/resources.d.ts.map +1 -0
  749. package/dist/features/performance/resources.js +78 -0
  750. package/dist/features/performance/resources.js.map +1 -0
  751. package/dist/features/performance/sampler.d.ts +10 -0
  752. package/dist/features/performance/sampler.d.ts.map +1 -0
  753. package/dist/features/performance/sampler.js +23 -0
  754. package/dist/features/performance/sampler.js.map +1 -0
  755. package/dist/features/performance/spa.d.ts +2 -0
  756. package/dist/features/performance/spa.d.ts.map +1 -0
  757. package/dist/features/performance/spa.js +40 -0
  758. package/dist/features/performance/spa.js.map +1 -0
  759. package/dist/features/performance/throttle.d.ts +21 -0
  760. package/dist/features/performance/throttle.d.ts.map +1 -0
  761. package/dist/features/performance/throttle.js +26 -0
  762. package/dist/features/performance/throttle.js.map +1 -0
  763. package/dist/features/performance/trace/context.d.ts +17 -0
  764. package/dist/features/performance/trace/context.d.ts.map +1 -0
  765. package/dist/features/performance/trace/context.js +33 -0
  766. package/dist/features/performance/trace/context.js.map +1 -0
  767. package/dist/features/performance/trace/index.d.ts +7 -0
  768. package/dist/features/performance/trace/index.d.ts.map +1 -0
  769. package/dist/features/performance/trace/index.js +6 -0
  770. package/dist/features/performance/trace/index.js.map +1 -0
  771. package/dist/features/performance/trace/pageload.d.ts +3 -0
  772. package/dist/features/performance/trace/pageload.d.ts.map +1 -0
  773. package/dist/features/performance/trace/pageload.js +34 -0
  774. package/dist/features/performance/trace/pageload.js.map +1 -0
  775. package/dist/features/performance/trace/transaction.d.ts +61 -0
  776. package/dist/features/performance/trace/transaction.d.ts.map +1 -0
  777. package/dist/features/performance/trace/transaction.js +90 -0
  778. package/dist/features/performance/trace/transaction.js.map +1 -0
  779. package/dist/features/performance/trace/types.d.ts +23 -0
  780. package/dist/features/performance/trace/types.d.ts.map +1 -0
  781. package/dist/features/performance/trace/types.js +10 -0
  782. package/dist/features/performance/trace/types.js.map +1 -0
  783. package/dist/features/performance/traces.d.ts +36 -0
  784. package/dist/features/performance/traces.d.ts.map +1 -0
  785. package/dist/features/performance/traces.js +50 -0
  786. package/dist/features/performance/traces.js.map +1 -0
  787. package/dist/features/profiler/ProfilerFeature.d.ts +28 -0
  788. package/dist/features/profiler/ProfilerFeature.d.ts.map +1 -0
  789. package/dist/features/profiler/ProfilerFeature.js +82 -0
  790. package/dist/features/profiler/ProfilerFeature.js.map +1 -0
  791. package/dist/features/profiler/capture.d.ts +8 -0
  792. package/dist/features/profiler/capture.d.ts.map +1 -0
  793. package/dist/features/profiler/capture.js +21 -0
  794. package/dist/features/profiler/capture.js.map +1 -0
  795. package/dist/features/push/PushFeature.d.ts +120 -0
  796. package/dist/features/push/PushFeature.d.ts.map +1 -0
  797. package/dist/features/push/PushFeature.js +319 -0
  798. package/dist/features/push/PushFeature.js.map +1 -0
  799. package/dist/features/push/diagnostics.d.ts +55 -0
  800. package/dist/features/push/diagnostics.d.ts.map +1 -0
  801. package/dist/features/push/diagnostics.js +383 -0
  802. package/dist/features/push/diagnostics.js.map +1 -0
  803. package/dist/features/push/pushState.d.ts +58 -0
  804. package/dist/features/push/pushState.d.ts.map +1 -0
  805. package/dist/features/push/pushState.js +75 -0
  806. package/dist/features/push/pushState.js.map +1 -0
  807. package/dist/features/push/softAsk.d.ts +68 -0
  808. package/dist/features/push/softAsk.d.ts.map +1 -0
  809. package/dist/features/push/softAsk.js +141 -0
  810. package/dist/features/push/softAsk.js.map +1 -0
  811. package/dist/features/replay/ReplayFeature.d.ts +32 -0
  812. package/dist/features/replay/ReplayFeature.d.ts.map +1 -0
  813. package/dist/features/replay/ReplayFeature.js +132 -0
  814. package/dist/features/replay/ReplayFeature.js.map +1 -0
  815. package/dist/features/replay/engine/canvas.d.ts +45 -0
  816. package/dist/features/replay/engine/canvas.d.ts.map +1 -0
  817. package/dist/features/replay/engine/canvas.js +122 -0
  818. package/dist/features/replay/engine/canvas.js.map +1 -0
  819. package/dist/features/replay/engine/crossOrigin.d.ts +23 -0
  820. package/dist/features/replay/engine/crossOrigin.d.ts.map +1 -0
  821. package/dist/features/replay/engine/crossOrigin.js +108 -0
  822. package/dist/features/replay/engine/crossOrigin.js.map +1 -0
  823. package/dist/features/replay/engine/cssom.d.ts +31 -0
  824. package/dist/features/replay/engine/cssom.d.ts.map +1 -0
  825. package/dist/features/replay/engine/cssom.js +128 -0
  826. package/dist/features/replay/engine/cssom.js.map +1 -0
  827. package/dist/features/replay/engine/iframe.d.ts +65 -0
  828. package/dist/features/replay/engine/iframe.d.ts.map +1 -0
  829. package/dist/features/replay/engine/iframe.js +186 -0
  830. package/dist/features/replay/engine/iframe.js.map +1 -0
  831. package/dist/features/replay/engine/interactions.d.ts +142 -0
  832. package/dist/features/replay/engine/interactions.d.ts.map +1 -0
  833. package/dist/features/replay/engine/interactions.js +371 -0
  834. package/dist/features/replay/engine/interactions.js.map +1 -0
  835. package/dist/features/replay/engine/mutations.d.ts +49 -0
  836. package/dist/features/replay/engine/mutations.d.ts.map +1 -0
  837. package/dist/features/replay/engine/mutations.js +261 -0
  838. package/dist/features/replay/engine/mutations.js.map +1 -0
  839. package/dist/features/replay/engine/nodeRegistry.d.ts +23 -0
  840. package/dist/features/replay/engine/nodeRegistry.d.ts.map +1 -0
  841. package/dist/features/replay/engine/nodeRegistry.js +51 -0
  842. package/dist/features/replay/engine/nodeRegistry.js.map +1 -0
  843. package/dist/features/replay/engine/player.d.ts +11 -0
  844. package/dist/features/replay/engine/player.d.ts.map +1 -0
  845. package/dist/features/replay/engine/player.js +284 -0
  846. package/dist/features/replay/engine/player.js.map +1 -0
  847. package/dist/features/replay/engine/rebuild.d.ts +8 -0
  848. package/dist/features/replay/engine/rebuild.d.ts.map +1 -0
  849. package/dist/features/replay/engine/rebuild.js +46 -0
  850. package/dist/features/replay/engine/rebuild.js.map +1 -0
  851. package/dist/features/replay/engine/replayWorker.d.ts +33 -0
  852. package/dist/features/replay/engine/replayWorker.d.ts.map +1 -0
  853. package/dist/features/replay/engine/replayWorker.js +175 -0
  854. package/dist/features/replay/engine/replayWorker.js.map +1 -0
  855. package/dist/features/replay/engine/resources.d.ts +52 -0
  856. package/dist/features/replay/engine/resources.d.ts.map +1 -0
  857. package/dist/features/replay/engine/resources.js +132 -0
  858. package/dist/features/replay/engine/resources.js.map +1 -0
  859. package/dist/features/replay/engine/snapshot.d.ts +103 -0
  860. package/dist/features/replay/engine/snapshot.d.ts.map +1 -0
  861. package/dist/features/replay/engine/snapshot.js +409 -0
  862. package/dist/features/replay/engine/snapshot.js.map +1 -0
  863. package/dist/features/replay/engine/traverse.d.ts +19 -0
  864. package/dist/features/replay/engine/traverse.d.ts.map +1 -0
  865. package/dist/features/replay/engine/traverse.js +39 -0
  866. package/dist/features/replay/engine/traverse.js.map +1 -0
  867. package/dist/features/replay/engine/types.d.ts +137 -0
  868. package/dist/features/replay/engine/types.d.ts.map +1 -0
  869. package/dist/features/replay/engine/types.js +6 -0
  870. package/dist/features/replay/engine/types.js.map +1 -0
  871. package/dist/features/replay/engine/webglPatch.d.ts +26 -0
  872. package/dist/features/replay/engine/webglPatch.d.ts.map +1 -0
  873. package/dist/features/replay/engine/webglPatch.js +83 -0
  874. package/dist/features/replay/engine/webglPatch.js.map +1 -0
  875. package/dist/features/replay/lifecycle/adaptive.d.ts +38 -0
  876. package/dist/features/replay/lifecycle/adaptive.d.ts.map +1 -0
  877. package/dist/features/replay/lifecycle/adaptive.js +90 -0
  878. package/dist/features/replay/lifecycle/adaptive.js.map +1 -0
  879. package/dist/features/replay/lifecycle/cadence.d.ts +20 -0
  880. package/dist/features/replay/lifecycle/cadence.d.ts.map +1 -0
  881. package/dist/features/replay/lifecycle/cadence.js +62 -0
  882. package/dist/features/replay/lifecycle/cadence.js.map +1 -0
  883. package/dist/features/replay/lifecycle/deviceSignals.d.ts +35 -0
  884. package/dist/features/replay/lifecycle/deviceSignals.d.ts.map +1 -0
  885. package/dist/features/replay/lifecycle/deviceSignals.js +61 -0
  886. package/dist/features/replay/lifecycle/deviceSignals.js.map +1 -0
  887. package/dist/features/replay/lifecycle/pii.d.ts +14 -0
  888. package/dist/features/replay/lifecycle/pii.d.ts.map +1 -0
  889. package/dist/features/replay/lifecycle/pii.js +52 -0
  890. package/dist/features/replay/lifecycle/pii.js.map +1 -0
  891. package/dist/features/replay/lifecycle/recorder.d.ts +129 -0
  892. package/dist/features/replay/lifecycle/recorder.d.ts.map +1 -0
  893. package/dist/features/replay/lifecycle/recorder.js +509 -0
  894. package/dist/features/replay/lifecycle/recorder.js.map +1 -0
  895. package/dist/features/replay/lifecycle/sampling.d.ts +28 -0
  896. package/dist/features/replay/lifecycle/sampling.d.ts.map +1 -0
  897. package/dist/features/replay/lifecycle/sampling.js +31 -0
  898. package/dist/features/replay/lifecycle/sampling.js.map +1 -0
  899. package/dist/features/replay/lifecycle/segmentBuffer.d.ts +75 -0
  900. package/dist/features/replay/lifecycle/segmentBuffer.d.ts.map +1 -0
  901. package/dist/features/replay/lifecycle/segmentBuffer.js +130 -0
  902. package/dist/features/replay/lifecycle/segmentBuffer.js.map +1 -0
  903. package/dist/features/replay/lifecycle/viewContext.d.ts +7 -0
  904. package/dist/features/replay/lifecycle/viewContext.d.ts.map +1 -0
  905. package/dist/features/replay/lifecycle/viewContext.js +51 -0
  906. package/dist/features/replay/lifecycle/viewContext.js.map +1 -0
  907. package/dist/features/scroll/index.d.ts +31 -0
  908. package/dist/features/scroll/index.d.ts.map +1 -0
  909. package/dist/features/scroll/index.js +102 -0
  910. package/dist/features/scroll/index.js.map +1 -0
  911. package/dist/features/session/sessionManager.d.ts +25 -0
  912. package/dist/features/session/sessionManager.d.ts.map +1 -0
  913. package/dist/features/session/sessionManager.js +36 -0
  914. package/dist/features/session/sessionManager.js.map +1 -0
  915. package/dist/features/session/sessionStore.d.ts +106 -0
  916. package/dist/features/session/sessionStore.d.ts.map +1 -0
  917. package/dist/features/session/sessionStore.js +265 -0
  918. package/dist/features/session/sessionStore.js.map +1 -0
  919. package/dist/features/watchdog/WatchdogFeature.d.ts +23 -0
  920. package/dist/features/watchdog/WatchdogFeature.d.ts.map +1 -0
  921. package/dist/features/watchdog/WatchdogFeature.js +29 -0
  922. package/dist/features/watchdog/WatchdogFeature.js.map +1 -0
  923. package/dist/features/watchdog/collectors.d.ts +18 -0
  924. package/dist/features/watchdog/collectors.d.ts.map +1 -0
  925. package/dist/features/watchdog/collectors.js +107 -0
  926. package/dist/features/watchdog/collectors.js.map +1 -0
  927. package/dist/features/watchdog/config.d.ts +51 -0
  928. package/dist/features/watchdog/config.d.ts.map +1 -0
  929. package/dist/features/watchdog/config.js +28 -0
  930. package/dist/features/watchdog/config.js.map +1 -0
  931. package/dist/features/watchdog/engine.d.ts +22 -0
  932. package/dist/features/watchdog/engine.d.ts.map +1 -0
  933. package/dist/features/watchdog/engine.js +123 -0
  934. package/dist/features/watchdog/engine.js.map +1 -0
  935. package/dist/features/watchdog/incidents.d.ts +79 -0
  936. package/dist/features/watchdog/incidents.d.ts.map +1 -0
  937. package/dist/features/watchdog/incidents.js +204 -0
  938. package/dist/features/watchdog/incidents.js.map +1 -0
  939. package/dist/features/watchdog/rollup.d.ts +41 -0
  940. package/dist/features/watchdog/rollup.d.ts.map +1 -0
  941. package/dist/features/watchdog/rollup.js +76 -0
  942. package/dist/features/watchdog/rollup.js.map +1 -0
  943. package/dist/features/webVitals/WebVitalsFeature.d.ts +46 -0
  944. package/dist/features/webVitals/WebVitalsFeature.d.ts.map +1 -0
  945. package/dist/features/webVitals/WebVitalsFeature.js +252 -0
  946. package/dist/features/webVitals/WebVitalsFeature.js.map +1 -0
  947. package/dist/features/webVitals/attribution.d.ts +50 -0
  948. package/dist/features/webVitals/attribution.d.ts.map +1 -0
  949. package/dist/features/webVitals/attribution.js +186 -0
  950. package/dist/features/webVitals/attribution.js.map +1 -0
  951. package/dist/features/webVitals/observe.d.ts +6 -0
  952. package/dist/features/webVitals/observe.d.ts.map +1 -0
  953. package/dist/features/webVitals/observe.js +6 -0
  954. package/dist/features/webVitals/observe.js.map +1 -0
  955. package/dist/features/webVitals/vitals.d.ts +99 -0
  956. package/dist/features/webVitals/vitals.d.ts.map +1 -0
  957. package/dist/features/webVitals/vitals.js +166 -0
  958. package/dist/features/webVitals/vitals.js.map +1 -0
  959. package/dist/features/webperf/WebPerfFeature.d.ts +19 -0
  960. package/dist/features/webperf/WebPerfFeature.d.ts.map +1 -0
  961. package/dist/features/webperf/WebPerfFeature.js +48 -0
  962. package/dist/features/webperf/WebPerfFeature.js.map +1 -0
  963. package/dist/features/webperf/collectors.d.ts +3 -0
  964. package/dist/features/webperf/collectors.d.ts.map +1 -0
  965. package/dist/features/webperf/collectors.js +118 -0
  966. package/dist/features/webperf/collectors.js.map +1 -0
  967. package/dist/features/webperf/math.d.ts +12 -0
  968. package/dist/features/webperf/math.d.ts.map +1 -0
  969. package/dist/features/webperf/math.js +26 -0
  970. package/dist/features/webperf/math.js.map +1 -0
  971. package/dist/inapp.d.ts +6 -0
  972. package/dist/inapp.d.ts.map +1 -0
  973. package/dist/inapp.js +6 -0
  974. package/dist/inapp.js.map +1 -0
  975. package/dist/index.d.ts +31 -0
  976. package/dist/index.d.ts.map +1 -0
  977. package/dist/index.js +12 -0
  978. package/dist/index.js.map +1 -0
  979. package/dist/integrations/index.d.ts +7 -0
  980. package/dist/integrations/index.d.ts.map +1 -0
  981. package/dist/integrations/index.js +2 -0
  982. package/dist/integrations/index.js.map +1 -0
  983. package/dist/pipeline/index.d.ts +3 -0
  984. package/dist/pipeline/index.d.ts.map +1 -0
  985. package/dist/pipeline/index.js +3 -0
  986. package/dist/pipeline/index.js.map +1 -0
  987. package/dist/pipeline/pipeline.d.ts +84 -0
  988. package/dist/pipeline/pipeline.d.ts.map +1 -0
  989. package/dist/pipeline/pipeline.js +284 -0
  990. package/dist/pipeline/pipeline.js.map +1 -0
  991. package/dist/public/ScaleBunFacade.d.ts +382 -0
  992. package/dist/public/ScaleBunFacade.d.ts.map +1 -0
  993. package/dist/public/ScaleBunFacade.js +787 -0
  994. package/dist/public/ScaleBunFacade.js.map +1 -0
  995. package/dist/public/index.d.ts +5 -0
  996. package/dist/public/index.d.ts.map +1 -0
  997. package/dist/public/index.js +4 -0
  998. package/dist/public/index.js.map +1 -0
  999. package/dist/public/typedTracker.d.ts +91 -0
  1000. package/dist/public/typedTracker.d.ts.map +1 -0
  1001. package/dist/public/typedTracker.js +60 -0
  1002. package/dist/public/typedTracker.js.map +1 -0
  1003. package/dist/scalebun-push-sw.js +236 -0
  1004. package/dist/scalebun.min.js +635 -0
  1005. package/dist/scalebun.min.js.map +7 -0
  1006. package/dist/storage/idb.d.ts +16 -0
  1007. package/dist/storage/idb.d.ts.map +1 -0
  1008. package/dist/storage/idb.js +76 -0
  1009. package/dist/storage/idb.js.map +1 -0
  1010. package/dist/storage/index.d.ts +3 -0
  1011. package/dist/storage/index.d.ts.map +1 -0
  1012. package/dist/storage/index.js +3 -0
  1013. package/dist/storage/index.js.map +1 -0
  1014. package/dist/transport/gzip.d.ts +2 -0
  1015. package/dist/transport/gzip.d.ts.map +1 -0
  1016. package/dist/transport/gzip.js +20 -0
  1017. package/dist/transport/gzip.js.map +1 -0
  1018. package/dist/transport/httpClient.d.ts +60 -0
  1019. package/dist/transport/httpClient.d.ts.map +1 -0
  1020. package/dist/transport/httpClient.js +154 -0
  1021. package/dist/transport/httpClient.js.map +1 -0
  1022. package/dist/transport/index.d.ts +3 -0
  1023. package/dist/transport/index.d.ts.map +1 -0
  1024. package/dist/transport/index.js +3 -0
  1025. package/dist/transport/index.js.map +1 -0
  1026. package/dist/transport/sign.d.ts +25 -0
  1027. package/dist/transport/sign.d.ts.map +1 -0
  1028. package/dist/transport/sign.js +58 -0
  1029. package/dist/transport/sign.js.map +1 -0
  1030. package/package.json +60 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"player.js","sourceRoot":"","sources":["../../../../src/features/replay/engine/player.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,MAAM,GAAG,4BAA4B,CAAC;AAE5C,MAAM,UAAU,mBAAmB,CAAC,CAAQ,EAAE,GAAiB,EAAE,GAAa;IAC5E,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACZ,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,IAAI,GAAG,GAAG,CAAC,sBAAsB,EAAE,CAAC;YAC1C,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACpB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC3B,MAAM,CAAC,GAAG,mBAAmB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC3C,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,EAAE;oBAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAClD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,IAAI,CAAC,CAAC,CAAC;YACV,MAAM,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;YAChF,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACjB,OAAO,CAAC,CAAC;QACX,CAAC;QACD,KAAK,IAAI,CAAC,CAAC,CAAC;YACV,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC1F,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAClB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7C,IAAI,CAAC;oBACH,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxB,CAAC;gBAAC,MAAM,CAAC;oBACP,4CAA4C;gBAC9C,CAAC;YACH,CAAC;YACD,gFAAgF;YAChF,MAAM,IAAI,GAAS,CAAC,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC,CAAE,EAA0B,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC3B,MAAM,CAAC,GAAG,mBAAmB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC3C,IAAI,CAAC;oBAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;YACD,iGAAiG;YACjG,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gBACb,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC/C,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,2CAA2C;oBACvE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;wBAClC,MAAM,CAAC,GAAG,mBAAmB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;wBAC3C,IAAI,CAAC;4BAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;oBAC7B,CAAC;oBACD,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,oBAAoB,IAAI,IAAI,EAAE,CAAC;wBACnE,IAAI,CAAC;4BACF,IAAmB,CAAC,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gCACzE,MAAM,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;gCAClC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gCACzB,OAAO,KAAK,CAAC;4BACf,CAAC,CAAC,CAAC;wBACL,CAAC;wBAAC,MAAM,CAAC;4BACP,sEAAsE;wBACxE,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,0DAA0D;gBAC5D,CAAC;YACH,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,KAAK,IAAI,CAAC,CAAC,CAAC;YACV,MAAM,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACtC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACjB,OAAO,CAAC,CAAC;QACX,CAAC;QACD,KAAK,IAAI,CAAC,CAAC,CAAC;YACV,MAAM,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACrC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACjB,OAAO,CAAC,CAAC;QACX,CAAC;QACD;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAgB,EAAE,GAAiB,EAAE,GAAa;IAC/E,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/B,IAAI,IAAI,EAAE,UAAU;gBAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,IAAI;gBAAE,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,MAAM,IAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACnD,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAChE,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,KAAK,MAAM;gBAAE,GAAG,GAAG,IAAI,CAAC,CAAC,qBAAqB;YACvE,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAwB,CAAC;YACpD,IAAI,CAAC,EAAE;gBAAE,SAAS;YAClB,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI;gBAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;gBAC1C,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAA8B,CAAC;YAC5D,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;QAChC,CAAC;aAAM,IAAI,CAAC,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC;YAC5B,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACrB,CAAC;aAAM,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC7B,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACtB,CAAC;aAAM,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC7B,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACtB,CAAC;aAAM,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC7B,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3B,CAAC;aAAM,IAAI,CAAC,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;YAC/B,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,0FAA0F;YAC1F,MAAM,MAAM,GAAU,CAAC,CAAC;YACxB,KAAK,MAAM,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED;qGACqG;AACrG,SAAS,UAAU,CAAC,CAAqC,EAAE,GAAiB;IAC1E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAkC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5G,MAAM,IAAI,GAAG,OAAO,EAAE,KAAK,IAAI,SAAS,CAAC;IACzC,IAAI,CAAC;QACH,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1B,IAAI,IAAI;gBAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;iBACtE,IAAI,OAAO;gBAAE,OAAO,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QAC/E,CAAC;aAAM,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM;gBAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7B,IAAI,OAAO;gBAAE,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC;iBAClC,IAAI,IAAI,EAAE,CAAC;gBACd,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM;oBAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAChD,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACvB,IAAI,CAAC;wBACH,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACxB,CAAC;oBAAC,MAAM,CAAC;wBACP,qBAAqB;oBACvB,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uCAAuC;IACzC,CAAC;AACH,CAAC;AAED,kGAAkG;AAClG,SAAS,WAAW,CAAC,CAAsC,EAAE,GAAiB;IAC5E,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAkC,CAAC;IAChE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,WAAW,IAAI,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACpG,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QAC5B,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;YAChB,IAAI,CAAC;gBACH,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC;YAAC,MAAM,CAAC;gBACP,2BAA2B;YAC7B,CAAC;QACH,CAAC,CAAC;QACF,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,mCAAmC;IACrC,CAAC;AACH,CAAC;AAED;+FAC+F;AAC/F,SAAS,aAAa,CAAC,CAAwC,EAAE,GAAa;IAC5E,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC;IACpD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;QAC5B,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC,iCAAiC,CAAC,CAAC,IAAI,IAAI,CAAC;YAAE,SAAS,CAAC,kBAAkB;QAClG,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACzC,KAAK,CAAC,YAAY,CAAC,wBAAwB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACrD,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAED;qFACqF;AACrF,SAAS,WAAW,CAAC,CAAsC,EAAE,GAAiB,EAAE,GAAa;IAC3F,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAwB,CAAC;IACxD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,UAAU;QAAE,OAAO;IAC7D,IAAI,IAAgB,CAAC;IACrB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,mCAAmC;IAC7C,CAAC;IACD,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,mBAAmB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC;YAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,oBAAoB,IAAI,IAAI,EAAE,CAAC;QACnE,IAAI,CAAC;YACH,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACzD,MAAM,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;gBAClC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACzB,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,6CAA6C;QAC/C,CAAC;IACH,CAAC;AACH,CAAC;AAED;wGACwG;AACxG,SAAS,WAAW,CAAC,CAAsC,EAAE,GAAiB;IAC5E,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAkC,CAAC;IAClE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO;IACnD,IAAI,IAAI,GAAoB,IAAI,CAAC;IACjC,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IACD,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC;IACnB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACxG,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,IAAI,CAAC;QACH,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,EAAE,GAAG,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAmB,CAAC;QAClE,IAAI,EAAE,IAAI,IAAI,CAAC,eAAe;YAAE,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,gCAAgC;IAClC,CAAC;AACH,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * rebuildNode — the inverse of takeSnapshot. Shared by the dashboard player AND the tests, so
3
+ * serialize↔rebuild are verified as one unit. Produces real DOM from an SNode tree. (The player
4
+ * runs this inside a sandboxed, script-free iframe — captured markup is never executed.)
5
+ */
6
+ import type { SNode } from './types';
7
+ export declare function rebuildNode(s: SNode, doc: Document): Node | null;
8
+ //# sourceMappingURL=rebuild.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rebuild.d.ts","sourceRoot":"","sources":["../../../../src/features/replay/engine/rebuild.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIrC,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CAmChE"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * rebuildNode — the inverse of takeSnapshot. Shared by the dashboard player AND the tests, so
3
+ * serialize↔rebuild are verified as one unit. Produces real DOM from an SNode tree. (The player
4
+ * runs this inside a sandboxed, script-free iframe — captured markup is never executed.)
5
+ */
6
+ const SVG_NS = 'http://www.w3.org/2000/svg';
7
+ export function rebuildNode(s, doc) {
8
+ switch (s.t) {
9
+ case 'doc': {
10
+ // A document's children (doctype/html) can't live under an element, so return a fragment.
11
+ const frag = doc.createDocumentFragment();
12
+ for (const c of s.children) {
13
+ const n = rebuildNode(c, doc);
14
+ if (n && n.nodeType !== 10)
15
+ frag.appendChild(n); // skip doctype in a fragment context
16
+ }
17
+ return frag;
18
+ }
19
+ case 'dt':
20
+ return doc.implementation.createDocumentType(s.name, s.publicId, s.systemId);
21
+ case 'el': {
22
+ const el = s.ns === 'svg' ? doc.createElementNS(SVG_NS, s.tag) : doc.createElement(s.tag);
23
+ for (const [k, v] of Object.entries(s.attrs)) {
24
+ try {
25
+ el.setAttribute(k, v);
26
+ }
27
+ catch {
28
+ /* invalid attribute name in this context */
29
+ }
30
+ }
31
+ for (const c of s.children) {
32
+ const n = rebuildNode(c, doc);
33
+ if (n)
34
+ el.appendChild(n);
35
+ }
36
+ return el;
37
+ }
38
+ case 'tx':
39
+ return doc.createTextNode(s.value);
40
+ case 'cm':
41
+ return doc.createComment(s.value);
42
+ default:
43
+ return null;
44
+ }
45
+ }
46
+ //# sourceMappingURL=rebuild.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rebuild.js","sourceRoot":"","sources":["../../../../src/features/replay/engine/rebuild.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,MAAM,GAAG,4BAA4B,CAAC;AAE5C,MAAM,UAAU,WAAW,CAAC,CAAQ,EAAE,GAAa;IACjD,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACZ,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,0FAA0F;YAC1F,MAAM,IAAI,GAAG,GAAG,CAAC,sBAAsB,EAAE,CAAC;YAC1C,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC3B,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC9B,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,EAAE;oBAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,qCAAqC;YACxF,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,IAAI;YACP,OAAO,GAAG,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC/E,KAAK,IAAI,CAAC,CAAC,CAAC;YACV,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC1F,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7C,IAAI,CAAC;oBACH,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxB,CAAC;gBAAC,MAAM,CAAC;oBACP,4CAA4C;gBAC9C,CAAC;YACH,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC3B,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC9B,IAAI,CAAC;oBAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,KAAK,IAAI;YACP,OAAO,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACrC,KAAK,IAAI;YACP,OAAO,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACpC;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * ReplayEncoder — moves gzip compression of the (potentially large) keyframe snapshot OFF the main
3
+ * thread via an inline Blob Worker + Compression Streams. The snapshot is stringified on the main
4
+ * thread (cheap-ish, and structured-cloning the object would cost the same), then gzipped in the
5
+ * worker. Output is base64 with a `gz:` marker stored in the existing `snapshot` field (which is
6
+ * `z.unknown()` in the contract) — so NO contract change and the DOM-frame XOR refine still passes.
7
+ *
8
+ * Privacy: the snapshot is already masked at serialize time, so only masked data reaches the worker.
9
+ * Fallbacks (no Worker / no CompressionStream / CSP blocks blob: workers): main-thread gzip, then
10
+ * uncompressed — capture is never lost.
11
+ */
12
+ export declare const GZ_PREFIX = "gz:";
13
+ export declare class ReplayEncoder {
14
+ private worker;
15
+ private url;
16
+ private nextId;
17
+ private pending;
18
+ constructor();
19
+ private tryInitWorker;
20
+ private disableWorker;
21
+ /**
22
+ * Returns the snapshot field to put on the frame: a `gz:<base64>` string when compression worked,
23
+ * or the original object when no compression path is available (player handles both).
24
+ */
25
+ encodeSnapshot(snapshot: unknown): Promise<unknown>;
26
+ private viaWorker;
27
+ dispose(): void;
28
+ }
29
+ export declare function gzipBase64(text: string): Promise<string>;
30
+ export declare function gunzipBase64(b64: string): Promise<string>;
31
+ /** Symmetric decode (used by tests; the dashboard player has its own port). */
32
+ export declare function decodeSnapshotValue(value: unknown): Promise<unknown>;
33
+ //# sourceMappingURL=replayWorker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replayWorker.d.ts","sourceRoot":"","sources":["../../../../src/features/replay/engine/replayWorker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,SAAS,QAAQ,CAAC;AAoB/B,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,GAAG,CAAuB;IAClC,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,OAAO,CAAqF;;IAMpG,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,aAAa;IAoBrB;;;OAGG;IACG,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAwBzD,OAAO,CAAC,SAAS;IAoBjB,OAAO,IAAI,IAAI;CAGhB;AAID,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAO9D;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAS/D;AAED,+EAA+E;AAC/E,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAK1E"}
@@ -0,0 +1,175 @@
1
+ /**
2
+ * ReplayEncoder — moves gzip compression of the (potentially large) keyframe snapshot OFF the main
3
+ * thread via an inline Blob Worker + Compression Streams. The snapshot is stringified on the main
4
+ * thread (cheap-ish, and structured-cloning the object would cost the same), then gzipped in the
5
+ * worker. Output is base64 with a `gz:` marker stored in the existing `snapshot` field (which is
6
+ * `z.unknown()` in the contract) — so NO contract change and the DOM-frame XOR refine still passes.
7
+ *
8
+ * Privacy: the snapshot is already masked at serialize time, so only masked data reaches the worker.
9
+ * Fallbacks (no Worker / no CompressionStream / CSP blocks blob: workers): main-thread gzip, then
10
+ * uncompressed — capture is never lost.
11
+ */
12
+ export const GZ_PREFIX = 'gz:';
13
+ const WORKER_SRC = `
14
+ self.onmessage = async (e) => {
15
+ const { id, json } = e.data;
16
+ try {
17
+ const cs = new CompressionStream('gzip');
18
+ const w = cs.writable.getWriter();
19
+ w.write(new TextEncoder().encode(json)); w.close();
20
+ const ab = await new Response(cs.readable).arrayBuffer();
21
+ const bytes = new Uint8Array(ab);
22
+ let bin = ''; const CH = 0x8000;
23
+ for (let i = 0; i < bytes.length; i += CH) bin += String.fromCharCode.apply(null, bytes.subarray(i, i + CH));
24
+ self.postMessage({ id, out: btoa(bin) });
25
+ } catch (err) {
26
+ self.postMessage({ id, err: String(err) });
27
+ }
28
+ };
29
+ `;
30
+ export class ReplayEncoder {
31
+ constructor() {
32
+ this.worker = null;
33
+ this.url = null;
34
+ this.nextId = 1;
35
+ this.pending = new Map();
36
+ this.tryInitWorker();
37
+ }
38
+ tryInitWorker() {
39
+ if (typeof Worker === 'undefined' || typeof Blob === 'undefined' || typeof URL === 'undefined')
40
+ return;
41
+ if (typeof CompressionStream === 'undefined')
42
+ return; // no point spinning a worker that can't compress
43
+ try {
44
+ const blob = new Blob([WORKER_SRC], { type: 'application/javascript' });
45
+ this.url = URL.createObjectURL(blob);
46
+ this.worker = new Worker(this.url);
47
+ this.worker.onmessage = (e) => {
48
+ const { id, out, err } = e.data;
49
+ const p = this.pending.get(id);
50
+ if (!p)
51
+ return;
52
+ this.pending.delete(id);
53
+ if (err != null)
54
+ p.reject(new Error(err));
55
+ else
56
+ p.resolve(out);
57
+ };
58
+ this.worker.onerror = () => this.disableWorker(); // CSP / runtime failure → fall back
59
+ }
60
+ catch {
61
+ this.disableWorker(); // e.g. CSP worker-src blocks blob:
62
+ }
63
+ }
64
+ disableWorker() {
65
+ try {
66
+ this.worker?.terminate();
67
+ }
68
+ catch {
69
+ /* ignore */
70
+ }
71
+ this.worker = null;
72
+ if (this.url) {
73
+ try {
74
+ URL.revokeObjectURL(this.url);
75
+ }
76
+ catch {
77
+ /* ignore */
78
+ }
79
+ this.url = null;
80
+ }
81
+ // reject in-flight so callers fall back rather than hang
82
+ for (const p of this.pending.values())
83
+ p.reject(new Error('worker disabled'));
84
+ this.pending.clear();
85
+ }
86
+ /**
87
+ * Returns the snapshot field to put on the frame: a `gz:<base64>` string when compression worked,
88
+ * or the original object when no compression path is available (player handles both).
89
+ */
90
+ async encodeSnapshot(snapshot) {
91
+ let json;
92
+ try {
93
+ json = JSON.stringify(snapshot);
94
+ }
95
+ catch {
96
+ return snapshot; // unserializable — shouldn't happen for SNode, but never throw
97
+ }
98
+ if (this.worker) {
99
+ try {
100
+ return GZ_PREFIX + (await this.viaWorker(json));
101
+ }
102
+ catch {
103
+ this.disableWorker(); // worker died → main-thread fallback below
104
+ }
105
+ }
106
+ if (typeof CompressionStream !== 'undefined') {
107
+ try {
108
+ return GZ_PREFIX + (await gzipBase64(json));
109
+ }
110
+ catch {
111
+ /* fall through to uncompressed */
112
+ }
113
+ }
114
+ return snapshot; // uncompressed
115
+ }
116
+ viaWorker(json) {
117
+ return new Promise((resolve, reject) => {
118
+ const id = this.nextId++;
119
+ const t = setTimeout(() => {
120
+ if (this.pending.delete(id))
121
+ reject(new Error('worker timeout'));
122
+ }, 5000);
123
+ this.pending.set(id, {
124
+ resolve: (s) => {
125
+ clearTimeout(t);
126
+ resolve(s);
127
+ },
128
+ reject: (e) => {
129
+ clearTimeout(t);
130
+ reject(e);
131
+ },
132
+ });
133
+ this.worker.postMessage({ id, json });
134
+ });
135
+ }
136
+ dispose() {
137
+ this.disableWorker();
138
+ }
139
+ }
140
+ // ── pure gzip/gunzip-base64 (also runs in the worker; exported for tests + the player port) ──
141
+ export async function gzipBase64(text) {
142
+ const cs = new CompressionStream('gzip');
143
+ const w = cs.writable.getWriter();
144
+ void w.write(new TextEncoder().encode(text));
145
+ void w.close();
146
+ const ab = await new Response(cs.readable).arrayBuffer();
147
+ return bytesToBase64(new Uint8Array(ab));
148
+ }
149
+ export async function gunzipBase64(b64) {
150
+ const bin = atob(b64);
151
+ const bytes = new Uint8Array(bin.length);
152
+ for (let i = 0; i < bin.length; i++)
153
+ bytes[i] = bin.charCodeAt(i);
154
+ const ds = new DecompressionStream('gzip');
155
+ const w = ds.writable.getWriter();
156
+ void w.write(bytes);
157
+ void w.close();
158
+ return await new Response(ds.readable).text();
159
+ }
160
+ /** Symmetric decode (used by tests; the dashboard player has its own port). */
161
+ export async function decodeSnapshotValue(value) {
162
+ if (typeof value === 'string' && value.startsWith(GZ_PREFIX)) {
163
+ return JSON.parse(await gunzipBase64(value.slice(GZ_PREFIX.length)));
164
+ }
165
+ return value;
166
+ }
167
+ function bytesToBase64(bytes) {
168
+ let bin = '';
169
+ const CH = 0x8000;
170
+ for (let i = 0; i < bytes.length; i += CH) {
171
+ bin += String.fromCharCode.apply(null, Array.from(bytes.subarray(i, i + CH)));
172
+ }
173
+ return btoa(bin);
174
+ }
175
+ //# sourceMappingURL=replayWorker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replayWorker.js","sourceRoot":"","sources":["../../../../src/features/replay/engine/replayWorker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * resources.ts — best-in-class font fidelity for replay. Cross-origin `@font-face` fonts REQUIRE CORS
3
+ * to load via the page's CSS; in a replay rendered from a different origin (and a sandboxed player)
4
+ * those fonts silently fall back → wrong metrics/layout. We fetch the font bytes once, inline them as
5
+ * a `data:` URL, and re-declare the `@font-face` with that data src. Innovations vs rrweb (unbounded
6
+ * inline): a per-session **byte budget** (fidelity without payload blowup) and a **content-hash cache**
7
+ * (each font emitted once, deduped across keyframes/navigations). Zero-dep (fetch + btoa only).
8
+ *
9
+ * Async + emitted as a `resource` delta (after the keyframe), so the keyframe stays cheap. The capture
10
+ * orchestrator calls `collectFontFaces(...)` with the document's CSS and emits the returned items.
11
+ */
12
+ import type { SResource } from './types';
13
+ /** fnv1a-32 hex — a stable, zero-dep content hash for dedupe/reference. */
14
+ export declare function contentHash(s: string): string;
15
+ /** Pull out each `@font-face { ... }` block from a CSS string. */
16
+ export declare function extractFontFaceBlocks(css: string): string[];
17
+ /** All `url(...)` refs inside a CSS fragment. */
18
+ export declare function extractUrls(css: string): string[];
19
+ /** Replace `url(x)` with `url(map[x])` for any x present in the map (leaves others untouched). */
20
+ export declare function rewriteUrls(css: string, map: Map<string, string>): string;
21
+ /** ArrayBuffer → base64, chunked (avoids stack overflow on large fonts). btoa is a browser API. */
22
+ export declare function arrayBufferToBase64(buf: ArrayBuffer): string;
23
+ export interface ResourceCollectorOpts {
24
+ /** Total inlined font bytes allowed per session (default 512 KB). Over-budget fonts are skipped
25
+ * (M5 already absolutized their URL as a fallback). */
26
+ budgetBytes?: number;
27
+ /** Injectable fetch (tests / custom transport). Defaults to global `fetch`. */
28
+ fetchImpl?: (url: string) => Promise<{
29
+ ok: boolean;
30
+ arrayBuffer(): Promise<ArrayBuffer>;
31
+ }>;
32
+ /** Base URL for resolving relative font refs (the capture document's baseURI). */
33
+ baseUrl?: string;
34
+ }
35
+ /**
36
+ * Stateful across a session: dedupes font URLs (each fetched + emitted once) and enforces the byte
37
+ * budget. Reuse one instance per replay session.
38
+ */
39
+ export declare class ResourceCollector {
40
+ private readonly opts;
41
+ private readonly seen;
42
+ private bytes;
43
+ constructor(opts?: ResourceCollectorOpts);
44
+ /** Bytes inlined so far (diagnostics). */
45
+ get inlinedBytes(): number;
46
+ /**
47
+ * Given CSS texts (e.g. each stylesheet's serialized rules), find @font-face fonts, fetch + inline
48
+ * the new ones (budgeted, deduped), and return a `SResource` per face whose URLs were inlined.
49
+ */
50
+ collectFontFaces(cssTexts: string[]): Promise<SResource[]>;
51
+ }
52
+ //# sourceMappingURL=resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../../src/features/replay/engine/resources.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAMzC,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAO7C;AAED,kEAAkE;AAClE,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAE3D;AAED,iDAAiD;AACjD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CASjD;AAED,kGAAkG;AAClG,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAKzE;AAYD,mGAAmG;AACnG,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAa5D;AAED,MAAM,WAAW,qBAAqB;IACpC;4DACwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,CAAA;KAAE,CAAC,CAAC;IAC3F,kFAAkF;IAClF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAGhB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,KAAK,CAAK;gBACW,IAAI,GAAE,qBAA0B;IAE7D,0CAA0C;IAC1C,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;OAGG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;CAkCjE"}
@@ -0,0 +1,132 @@
1
+ /**
2
+ * resources.ts — best-in-class font fidelity for replay. Cross-origin `@font-face` fonts REQUIRE CORS
3
+ * to load via the page's CSS; in a replay rendered from a different origin (and a sandboxed player)
4
+ * those fonts silently fall back → wrong metrics/layout. We fetch the font bytes once, inline them as
5
+ * a `data:` URL, and re-declare the `@font-face` with that data src. Innovations vs rrweb (unbounded
6
+ * inline): a per-session **byte budget** (fidelity without payload blowup) and a **content-hash cache**
7
+ * (each font emitted once, deduped across keyframes/navigations). Zero-dep (fetch + btoa only).
8
+ *
9
+ * Async + emitted as a `resource` delta (after the keyframe), so the keyframe stays cheap. The capture
10
+ * orchestrator calls `collectFontFaces(...)` with the document's CSS and emits the returned items.
11
+ */
12
+ import { absUrl } from './snapshot';
13
+ const DEFAULT_BUDGET_BYTES = 512 * 1024; // cap inlined font bytes per session
14
+ const SKIP_SRC = /^(?:data:|blob:)/i;
15
+ /** fnv1a-32 hex — a stable, zero-dep content hash for dedupe/reference. */
16
+ export function contentHash(s) {
17
+ let h = 0x811c9dc5;
18
+ for (let i = 0; i < s.length; i++) {
19
+ h ^= s.charCodeAt(i);
20
+ h = Math.imul(h, 0x01000193);
21
+ }
22
+ return (h >>> 0).toString(16);
23
+ }
24
+ /** Pull out each `@font-face { ... }` block from a CSS string. */
25
+ export function extractFontFaceBlocks(css) {
26
+ return css.match(/@font-face\s*\{[^}]*\}/gi) ?? [];
27
+ }
28
+ /** All `url(...)` refs inside a CSS fragment. */
29
+ export function extractUrls(css) {
30
+ const out = [];
31
+ const re = /url\(\s*(['"]?)([^'")]+)\1\s*\)/gi;
32
+ let m;
33
+ while ((m = re.exec(css))) {
34
+ const ref = m[2];
35
+ if (ref)
36
+ out.push(ref.trim());
37
+ }
38
+ return out;
39
+ }
40
+ /** Replace `url(x)` with `url(map[x])` for any x present in the map (leaves others untouched). */
41
+ export function rewriteUrls(css, map) {
42
+ return css.replace(/url\(\s*(['"]?)([^'")]+)\1\s*\)/gi, (whole, q, ref) => {
43
+ const data = map.get(ref.trim());
44
+ return data ? `url(${q}${data}${q})` : whole;
45
+ });
46
+ }
47
+ function guessFontMime(url) {
48
+ const u = url.toLowerCase();
49
+ if (u.includes('.woff2'))
50
+ return 'font/woff2';
51
+ if (u.includes('.woff'))
52
+ return 'font/woff';
53
+ if (u.includes('.ttf'))
54
+ return 'font/ttf';
55
+ if (u.includes('.otf'))
56
+ return 'font/otf';
57
+ if (u.includes('.eot'))
58
+ return 'application/vnd.ms-fontobject';
59
+ return 'application/octet-stream';
60
+ }
61
+ /** ArrayBuffer → base64, chunked (avoids stack overflow on large fonts). btoa is a browser API. */
62
+ export function arrayBufferToBase64(buf) {
63
+ const bytes = new Uint8Array(buf);
64
+ let bin = '';
65
+ const CHUNK = 0x8000;
66
+ for (let i = 0; i < bytes.length; i += CHUNK) {
67
+ bin += String.fromCharCode(...bytes.subarray(i, i + CHUNK));
68
+ }
69
+ if (typeof btoa === 'function')
70
+ return btoa(bin);
71
+ // node test fallback (never hit in the browser)
72
+ return globalThis.Buffer.from(bin, 'binary').toString('base64');
73
+ }
74
+ /**
75
+ * Stateful across a session: dedupes font URLs (each fetched + emitted once) and enforces the byte
76
+ * budget. Reuse one instance per replay session.
77
+ */
78
+ export class ResourceCollector {
79
+ constructor(opts = {}) {
80
+ this.opts = opts;
81
+ this.seen = new Set(); // absolute font URLs already inlined
82
+ this.bytes = 0;
83
+ }
84
+ /** Bytes inlined so far (diagnostics). */
85
+ get inlinedBytes() {
86
+ return this.bytes;
87
+ }
88
+ /**
89
+ * Given CSS texts (e.g. each stylesheet's serialized rules), find @font-face fonts, fetch + inline
90
+ * the new ones (budgeted, deduped), and return a `SResource` per face whose URLs were inlined.
91
+ */
92
+ async collectFontFaces(cssTexts) {
93
+ const fetchImpl = this.opts.fetchImpl ?? (typeof fetch === 'function' ? fetch : undefined);
94
+ if (!fetchImpl)
95
+ return [];
96
+ const budget = this.opts.budgetBytes ?? DEFAULT_BUDGET_BYTES;
97
+ const base = this.opts.baseUrl ?? '';
98
+ const out = [];
99
+ for (const css of cssTexts) {
100
+ for (const face of extractFontFaceBlocks(css)) {
101
+ const map = new Map();
102
+ for (const ref of extractUrls(face)) {
103
+ if (SKIP_SRC.test(ref))
104
+ continue; // already inline
105
+ const url = base ? absUrl(ref, base) : ref;
106
+ if (this.seen.has(url) || this.bytes >= budget)
107
+ continue;
108
+ try {
109
+ const res = await fetchImpl(url);
110
+ if (!res.ok)
111
+ continue;
112
+ const buf = await res.arrayBuffer();
113
+ if (this.bytes + buf.byteLength > budget)
114
+ continue; // would exceed budget → leave as URL
115
+ this.bytes += buf.byteLength;
116
+ this.seen.add(url);
117
+ map.set(ref, `data:${guessFontMime(url)};base64,${arrayBufferToBase64(buf)}`);
118
+ }
119
+ catch {
120
+ /* unreachable / CORS-blocked — skip; the absolutized URL (M5) remains the fallback */
121
+ }
122
+ }
123
+ if (map.size) {
124
+ const rewritten = rewriteUrls(face, map);
125
+ out.push({ hash: contentHash(rewritten), kind: 'font', css: rewritten });
126
+ }
127
+ }
128
+ }
129
+ return out;
130
+ }
131
+ }
132
+ //# sourceMappingURL=resources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../../src/features/replay/engine/resources.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,MAAM,oBAAoB,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,qCAAqC;AAC9E,MAAM,QAAQ,GAAG,mBAAmB,CAAC;AAErC,2EAA2E;AAC3E,MAAM,UAAU,WAAW,CAAC,CAAS;IACnC,IAAI,CAAC,GAAG,UAAU,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,OAAO,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC;AACrD,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,EAAE,GAAG,mCAAmC,CAAC;IAC/C,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjB,IAAI,GAAG;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,WAAW,CAAC,GAAW,EAAE,GAAwB;IAC/D,OAAO,GAAG,CAAC,OAAO,CAAC,mCAAmC,EAAE,CAAC,KAAK,EAAE,CAAS,EAAE,GAAW,EAAE,EAAE;QACxF,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAC5B,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,YAAY,CAAC;IAC9C,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,WAAW,CAAC;IAC5C,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,UAAU,CAAC;IAC1C,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,UAAU,CAAC;IAC1C,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,+BAA+B,CAAC;IAC/D,OAAO,0BAA0B,CAAC;AACpC,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,mBAAmB,CAAC,GAAgB;IAClD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,MAAM,KAAK,GAAG,MAAM,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;QAC7C,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACjD,gDAAgD;IAChD,OAAQ,UAA2F,CAAC,MAAO,CAAC,IAAI,CAC9G,GAAG,EACH,QAAQ,CACT,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvB,CAAC;AAYD;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IAG5B,YAA6B,OAA8B,EAAE;QAAhC,SAAI,GAAJ,IAAI,CAA4B;QAF5C,SAAI,GAAG,IAAI,GAAG,EAAU,CAAC,CAAC,qCAAqC;QACxE,UAAK,GAAG,CAAC,CAAC;IAC8C,CAAC;IAEjE,0CAA0C;IAC1C,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CAAC,QAAkB;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,KAA4C,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACnI,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,oBAAoB,CAAC;QAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QACrC,MAAM,GAAG,GAAgB,EAAE,CAAC;QAE5B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,KAAK,MAAM,IAAI,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;gBACtC,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpC,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;wBAAE,SAAS,CAAC,iBAAiB;oBACnD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;oBAC3C,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,MAAM;wBAAE,SAAS;oBACzD,IAAI,CAAC;wBACH,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;wBACjC,IAAI,CAAC,GAAG,CAAC,EAAE;4BAAE,SAAS;wBACtB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;wBACpC,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,UAAU,GAAG,MAAM;4BAAE,SAAS,CAAC,qCAAqC;wBACzF,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,UAAU,CAAC;wBAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBACnB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,aAAa,CAAC,GAAG,CAAC,WAAW,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAChF,CAAC;oBAAC,MAAM,CAAC;wBACP,sFAAsF;oBACxF,CAAC;gBACH,CAAC;gBACD,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;oBACb,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBACzC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * takeSnapshot — serialize a DOM subtree (or whole document) into our compact SNode tree.
3
+ * Privacy-by-default: all text + input values masked at serialize time, so raw PII never leaves
4
+ * this function. CSSOM-first: <style> captures live cssRules (CSS-in-JS) and the document captures
5
+ * adoptedStyleSheets — the things rrweb drops from the initial snapshot.
6
+ */
7
+ import type { SNode, SShadow, SnapshotOptions } from './types';
8
+ import { NodeRegistry } from './nodeRegistry';
9
+ export declare const NO_MASK_TEXT_PARENTS: Set<string>;
10
+ export declare const SENSITIVE_ATTRS: Set<string>;
11
+ export interface ResolvedSnapshotOpts {
12
+ maskAllText: boolean;
13
+ maskAllInputs: boolean;
14
+ /** Combined always-mask selector (contenteditable + [data-scalebun-mask] + host maskSelectors),
15
+ * pre-validated. '' only if there is somehow no valid selector. */
16
+ maskSel: string;
17
+ /**
18
+ * Mutable per-snapshot budget for inlined <link> CSS. Carried on the options
19
+ * object rather than a extra parameter so it threads through the recursive
20
+ * serializer — and through `serializeNode` calls from the mutation observer —
21
+ * without changing any signature.
22
+ */
23
+ cssBudget: {
24
+ used: number;
25
+ };
26
+ }
27
+ /** True when `el` (or an ancestor) matches the mask selector — used to mask a subtree even when
28
+ * maskAllText is off. Guarded: a malformed selector or detached node never throws. */
29
+ export declare function isMaskedSubtree(el: Element | null, sel: string): boolean;
30
+ export declare function resolveSnapshotOpts(opts?: SnapshotOptions): ResolvedSnapshotOpts;
31
+ export declare function takeSnapshot(root: Node, reg: NodeRegistry, opts?: SnapshotOptions): SNode;
32
+ export declare function serializeNode(node: Node, reg: NodeRegistry, o: ResolvedSnapshotOpts): SNode | null;
33
+ /**
34
+ * Total inlined <link> CSS allowed per snapshot.
35
+ *
36
+ * Replay payloads are gzipped, but stylesheet text is the single biggest lever
37
+ * on snapshot size — a Tailwind/Bootstrap build can be hundreds of KB before
38
+ * compression. Past the cap we stop inlining and mark the remaining sheets
39
+ * unresolved rather than silently bloating every session.
40
+ */
41
+ export declare const MAX_INLINED_CSS_BYTES: number;
42
+ /**
43
+ * Marks a <link rel=stylesheet> whose rules we could not read (cross-origin
44
+ * without CORS, or over the size cap). The dashboard reads this to tell the
45
+ * operator WHY a reconstruction looks unstyled instead of presenting a broken
46
+ * page as if it were the real one.
47
+ */
48
+ export declare const UNRESOLVED_SHEET_ATTR = "data-scalebun-sheet-unresolved";
49
+ /**
50
+ * A password field. Its CHARACTERS are never captured on any lane (keyframe, mutation, input event),
51
+ * whatever `maskAllInputs` says — the value is replaced with same-length asterisks via `maskSecret`.
52
+ *
53
+ * It used to be blanked to '' outright. That read as an untouched field on replay: an empty value lets
54
+ * the page's own placeholder show through, so a login where the user typed (or the browser autofilled)
55
+ * a password was indistinguishable from one where they never reached the field. Length-only masking
56
+ * keeps that distinction while still shipping nothing about the content.
57
+ *
58
+ * Shared rather than re-tested inline per lane, because the lanes had drifted. The keyframe and
59
+ * input-event lanes handled passwords unconditionally, but the mutation lane only masked `value` when
60
+ * `maskAllInputs` was on — so with masking off, `el.setAttribute('value', …)` on a password input
61
+ * shipped the credential in plaintext. That is reachable from ordinary code: a React `defaultValue`
62
+ * re-render, a server-rendered form re-hydrating, or an extension/password-manager shim that writes
63
+ * the attribute rather than the property.
64
+ *
65
+ * Note the property/attribute split is why that was invisible: typing and browser autofill mutate the
66
+ * `value` PROPERTY, which MutationObserver cannot see, so the common paths never reached the buggy
67
+ * branch and the leak only opened for code that writes the attribute explicitly.
68
+ */
69
+ export declare function isPasswordField(el: Element): boolean;
70
+ /** Serialize an OPEN shadow root — its subtree (masked via the same opts) + its own adopted sheets. */
71
+ export declare function serializeShadow(root: ShadowRoot, reg: NodeRegistry, o: ResolvedSnapshotOpts): SShadow;
72
+ /** Mask visible chars, preserve length + whitespace. Non-reversible. */
73
+ export declare function maskText(s: string): string;
74
+ /**
75
+ * Mask a credential: EVERY character becomes '*', length preserved, nothing else.
76
+ *
77
+ * Deliberately stricter than `maskText`, which preserves whitespace so masked prose still reads as
78
+ * prose. On a password that would leak real structure — a passphrase would show its word boundaries
79
+ * and word lengths. Here only the total length survives.
80
+ *
81
+ * Length is survivable-by-design: it is what makes the replayed field render as dots instead of
82
+ * falling back to the page's placeholder, which is the difference between "the user typed a password"
83
+ * and "the field looks untouched". The characters never leave the page.
84
+ */
85
+ export declare function maskSecret(s: string): string;
86
+ /** Resolve a possibly-relative resource ref against `base`; leave absolute/data/blob/fragment refs. */
87
+ export declare function absUrl(ref: string, base: string): string;
88
+ /** Rewrite relative `url(...)` + `@import "…"` refs in CSS to absolute, so a replay rendered from a
89
+ * DIFFERENT origin still resolves background images, web fonts, and imported sheets. */
90
+ export declare function absolutizeCssUrls(css: string, base: string): string;
91
+ /**
92
+ * Absolutize one URL-bearing attribute value against `base`. Resource refs (images, media, posters,
93
+ * inline background-image url(...), web fonts, SVG <use>/<image>) → absolute; navigation refs
94
+ * (<a>/<base> href) are left untouched. Shared by the initial snapshot and the mutation delta path so
95
+ * assets added AFTER load resolve identically. `absUrl`/`absolutizeCssUrls` already skip
96
+ * absolute/data/blob/fragment refs, so this is safe to call unconditionally.
97
+ */
98
+ export declare function absolutizeAttrValue(name: string, value: string, tag: string, base: string): string;
99
+ /** Absolutize every candidate URL in a srcset ("url 1x, url 2x" / "url 100w, …"). Left untouched when
100
+ * it contains a data: URI — embedded commas would break naive splitting, and data URIs are already
101
+ * self-contained. */
102
+ export declare function absolutizeSrcset(srcset: string, base: string): string;
103
+ //# sourceMappingURL=snapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../../src/features/replay/engine/snapshot.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAuB,OAAO,EAAE,eAAe,EAAgB,MAAM,SAAS,CAAC;AAClG,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,eAAO,MAAM,oBAAoB,aAA+B,CAAC;AAGjE,eAAO,MAAM,eAAe,aAA4E,CAAC;AAIzG,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB;wEACoE;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7B;AAmBD;uFACuF;AACvF,wBAAgB,eAAe,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAOxE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,eAAoB,GAAG,oBAAoB,CAOpF;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,GAAE,eAAoB,GAAG,KAAK,CAE7F;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,oBAAoB,GAAG,KAAK,GAAG,IAAI,CAsDlG;AAWD;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,QAAkB,CAAC;AAErD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,mCAAmC,CAAC;AA8FtE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAIpD;AAgCD,uGAAuG;AACvG,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAOrG;AAuBD,wEAAwE;AACxE,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE1C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5C;AAMD,uGAAuG;AACvG,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAQxD;AAED;yFACyF;AACzF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAQnE;AAKD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAmBlG;AAED;;sBAEsB;AACtB,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAWrE"}