@scalebun-release/web 2.2.2
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.
- package/LICENSE +21 -0
- package/README.md +57 -0
- package/dist/bootstrap/FeatureRegistry.d.ts +44 -0
- package/dist/bootstrap/FeatureRegistry.d.ts.map +1 -0
- package/dist/bootstrap/FeatureRegistry.js +85 -0
- package/dist/bootstrap/FeatureRegistry.js.map +1 -0
- package/dist/bootstrap/SDKBootstrapper.d.ts +37 -0
- package/dist/bootstrap/SDKBootstrapper.d.ts.map +1 -0
- package/dist/bootstrap/SDKBootstrapper.js +346 -0
- package/dist/bootstrap/SDKBootstrapper.js.map +1 -0
- package/dist/browser.d.ts +51 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +86 -0
- package/dist/browser.js.map +1 -0
- package/dist/config/endpoints.d.ts +12 -0
- package/dist/config/endpoints.d.ts.map +1 -0
- package/dist/config/endpoints.js +12 -0
- package/dist/config/endpoints.js.map +1 -0
- package/dist/config/schema.d.ts +120 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +117 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/core/breadcrumbs.d.ts +56 -0
- package/dist/core/breadcrumbs.d.ts.map +1 -0
- package/dist/core/breadcrumbs.js +141 -0
- package/dist/core/breadcrumbs.js.map +1 -0
- package/dist/core/capabilities.d.ts +38 -0
- package/dist/core/capabilities.d.ts.map +1 -0
- package/dist/core/capabilities.js +78 -0
- package/dist/core/capabilities.js.map +1 -0
- package/dist/core/consent.d.ts +17 -0
- package/dist/core/consent.d.ts.map +1 -0
- package/dist/core/consent.js +38 -0
- package/dist/core/consent.js.map +1 -0
- package/dist/core/csp.d.ts +31 -0
- package/dist/core/csp.d.ts.map +1 -0
- package/dist/core/csp.js +74 -0
- package/dist/core/csp.js.map +1 -0
- package/dist/core/evalContext.d.ts +7 -0
- package/dist/core/evalContext.d.ts.map +1 -0
- package/dist/core/evalContext.js +22 -0
- package/dist/core/evalContext.js.map +1 -0
- package/dist/core/ids.d.ts +6 -0
- package/dist/core/ids.d.ts.map +1 -0
- package/dist/core/ids.js +35 -0
- package/dist/core/ids.js.map +1 -0
- package/dist/core/index.d.ts +16 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +16 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/lifecycle.d.ts +4 -0
- package/dist/core/lifecycle.d.ts.map +1 -0
- package/dist/core/lifecycle.js +24 -0
- package/dist/core/lifecycle.js.map +1 -0
- package/dist/core/logger.d.ts +12 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +14 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/observe.d.ts +3 -0
- package/dist/core/observe.d.ts.map +1 -0
- package/dist/core/observe.js +22 -0
- package/dist/core/observe.js.map +1 -0
- package/dist/core/pageContext.d.ts +13 -0
- package/dist/core/pageContext.d.ts.map +1 -0
- package/dist/core/pageContext.js +90 -0
- package/dist/core/pageContext.js.map +1 -0
- package/dist/core/prune.d.ts +31 -0
- package/dist/core/prune.d.ts.map +1 -0
- package/dist/core/prune.js +112 -0
- package/dist/core/prune.js.map +1 -0
- package/dist/core/redact.d.ts +15 -0
- package/dist/core/redact.d.ts.map +1 -0
- package/dist/core/redact.js +72 -0
- package/dist/core/redact.js.map +1 -0
- package/dist/core/replayCoord.d.ts +22 -0
- package/dist/core/replayCoord.d.ts.map +1 -0
- package/dist/core/replayCoord.js +20 -0
- package/dist/core/replayCoord.js.map +1 -0
- package/dist/core/retry.d.ts +25 -0
- package/dist/core/retry.d.ts.map +1 -0
- package/dist/core/retry.js +44 -0
- package/dist/core/retry.js.map +1 -0
- package/dist/core/runtime.d.ts +28 -0
- package/dist/core/runtime.d.ts.map +1 -0
- package/dist/core/runtime.js +67 -0
- package/dist/core/runtime.js.map +1 -0
- package/dist/core/scrollDepth.d.ts +48 -0
- package/dist/core/scrollDepth.d.ts.map +1 -0
- package/dist/core/scrollDepth.js +63 -0
- package/dist/core/scrollDepth.js.map +1 -0
- package/dist/core/uiStateReader.d.ts +35 -0
- package/dist/core/uiStateReader.d.ts.map +1 -0
- package/dist/core/uiStateReader.js +47 -0
- package/dist/core/uiStateReader.js.map +1 -0
- package/dist/core/version.generated.d.ts +9 -0
- package/dist/core/version.generated.d.ts.map +1 -0
- package/dist/core/version.generated.js +9 -0
- package/dist/core/version.generated.js.map +1 -0
- package/dist/debug/index.d.ts +6 -0
- package/dist/debug/index.d.ts.map +1 -0
- package/dist/debug/index.js +2 -0
- package/dist/debug/index.js.map +1 -0
- package/dist/features/analytics/AnalyticsFeature.d.ts +123 -0
- package/dist/features/analytics/AnalyticsFeature.d.ts.map +1 -0
- package/dist/features/analytics/AnalyticsFeature.js +785 -0
- package/dist/features/analytics/AnalyticsFeature.js.map +1 -0
- package/dist/features/analytics/autocapture.d.ts +13 -0
- package/dist/features/analytics/autocapture.d.ts.map +1 -0
- package/dist/features/analytics/autocapture.js +436 -0
- package/dist/features/analytics/autocapture.js.map +1 -0
- package/dist/features/analytics/governance.d.ts +15 -0
- package/dist/features/analytics/governance.d.ts.map +1 -0
- package/dist/features/analytics/governance.js +30 -0
- package/dist/features/analytics/governance.js.map +1 -0
- package/dist/features/analytics/revenue.d.ts +77 -0
- package/dist/features/analytics/revenue.d.ts.map +1 -0
- package/dist/features/analytics/revenue.js +56 -0
- package/dist/features/analytics/revenue.js.map +1 -0
- package/dist/features/analytics/sampler.d.ts +2 -0
- package/dist/features/analytics/sampler.d.ts.map +1 -0
- package/dist/features/analytics/sampler.js +24 -0
- package/dist/features/analytics/sampler.js.map +1 -0
- package/dist/features/analytics/subscription.d.ts +35 -0
- package/dist/features/analytics/subscription.d.ts.map +1 -0
- package/dist/features/analytics/subscription.js +95 -0
- package/dist/features/analytics/subscription.js.map +1 -0
- package/dist/features/attention/index.d.ts +29 -0
- package/dist/features/attention/index.d.ts.map +1 -0
- package/dist/features/attention/index.js +128 -0
- package/dist/features/attention/index.js.map +1 -0
- package/dist/features/bugreport/BugReportFeature.d.ts +37 -0
- package/dist/features/bugreport/BugReportFeature.d.ts.map +1 -0
- package/dist/features/bugreport/BugReportFeature.js +56 -0
- package/dist/features/bugreport/BugReportFeature.js.map +1 -0
- package/dist/features/bugreport/collect.d.ts +33 -0
- package/dist/features/bugreport/collect.d.ts.map +1 -0
- package/dist/features/bugreport/collect.js +30 -0
- package/dist/features/bugreport/collect.js.map +1 -0
- package/dist/features/bugreport/widget.d.ts +40 -0
- package/dist/features/bugreport/widget.d.ts.map +1 -0
- package/dist/features/bugreport/widget.js +145 -0
- package/dist/features/bugreport/widget.js.map +1 -0
- package/dist/features/coach/CoachmarkFeature.d.ts +78 -0
- package/dist/features/coach/CoachmarkFeature.d.ts.map +1 -0
- package/dist/features/coach/CoachmarkFeature.js +161 -0
- package/dist/features/coach/CoachmarkFeature.js.map +1 -0
- package/dist/features/coach/anchor.d.ts +32 -0
- package/dist/features/coach/anchor.d.ts.map +1 -0
- package/dist/features/coach/anchor.js +128 -0
- package/dist/features/coach/anchor.js.map +1 -0
- package/dist/features/coach/observers.d.ts +17 -0
- package/dist/features/coach/observers.d.ts.map +1 -0
- package/dist/features/coach/observers.js +49 -0
- package/dist/features/coach/observers.js.map +1 -0
- package/dist/features/coach/overlay.d.ts +15 -0
- package/dist/features/coach/overlay.d.ts.map +1 -0
- package/dist/features/coach/overlay.js +205 -0
- package/dist/features/coach/overlay.js.map +1 -0
- package/dist/features/coach/position.d.ts +9 -0
- package/dist/features/coach/position.d.ts.map +1 -0
- package/dist/features/coach/position.js +83 -0
- package/dist/features/coach/position.js.map +1 -0
- package/dist/features/coach/predicate.d.ts +10 -0
- package/dist/features/coach/predicate.d.ts.map +1 -0
- package/dist/features/coach/predicate.js +36 -0
- package/dist/features/coach/predicate.js.map +1 -0
- package/dist/features/coach/tour.d.ts +55 -0
- package/dist/features/coach/tour.d.ts.map +1 -0
- package/dist/features/coach/tour.js +181 -0
- package/dist/features/coach/tour.js.map +1 -0
- package/dist/features/coach/types.d.ts +161 -0
- package/dist/features/coach/types.d.ts.map +1 -0
- package/dist/features/coach/types.js +2 -0
- package/dist/features/coach/types.js.map +1 -0
- package/dist/features/coach/wait.d.ts +34 -0
- package/dist/features/coach/wait.d.ts.map +1 -0
- package/dist/features/coach/wait.js +107 -0
- package/dist/features/coach/wait.js.map +1 -0
- package/dist/features/config/ConfigFeature.d.ts +117 -0
- package/dist/features/config/ConfigFeature.d.ts.map +1 -0
- package/dist/features/config/ConfigFeature.js +437 -0
- package/dist/features/config/ConfigFeature.js.map +1 -0
- package/dist/features/config/bucketing.d.ts +20 -0
- package/dist/features/config/bucketing.d.ts.map +1 -0
- package/dist/features/config/bucketing.js +37 -0
- package/dist/features/config/bucketing.js.map +1 -0
- package/dist/features/config/configStore.d.ts +11 -0
- package/dist/features/config/configStore.d.ts.map +1 -0
- package/dist/features/config/configStore.js +66 -0
- package/dist/features/config/configStore.js.map +1 -0
- package/dist/features/config/targeting.d.ts +11 -0
- package/dist/features/config/targeting.d.ts.map +1 -0
- package/dist/features/config/targeting.js +57 -0
- package/dist/features/config/targeting.js.map +1 -0
- package/dist/features/config/types.d.ts +100 -0
- package/dist/features/config/types.d.ts.map +1 -0
- package/dist/features/config/types.js +9 -0
- package/dist/features/config/types.js.map +1 -0
- package/dist/features/console/ConsoleFeature.d.ts +31 -0
- package/dist/features/console/ConsoleFeature.d.ts.map +1 -0
- package/dist/features/console/ConsoleFeature.js +98 -0
- package/dist/features/console/ConsoleFeature.js.map +1 -0
- package/dist/features/console/normalize.d.ts +18 -0
- package/dist/features/console/normalize.d.ts.map +1 -0
- package/dist/features/console/normalize.js +64 -0
- package/dist/features/console/normalize.js.map +1 -0
- package/dist/features/console/serialize.d.ts +24 -0
- package/dist/features/console/serialize.d.ts.map +1 -0
- package/dist/features/console/serialize.js +99 -0
- package/dist/features/console/serialize.js.map +1 -0
- package/dist/features/console/throttle.d.ts +27 -0
- package/dist/features/console/throttle.d.ts.map +1 -0
- package/dist/features/console/throttle.js +37 -0
- package/dist/features/console/throttle.js.map +1 -0
- package/dist/features/crash/CrashFeature.d.ts +46 -0
- package/dist/features/crash/CrashFeature.d.ts.map +1 -0
- package/dist/features/crash/CrashFeature.js +173 -0
- package/dist/features/crash/CrashFeature.js.map +1 -0
- package/dist/features/crash/liveness.d.ts +30 -0
- package/dist/features/crash/liveness.d.ts.map +1 -0
- package/dist/features/crash/liveness.js +131 -0
- package/dist/features/crash/liveness.js.map +1 -0
- package/dist/features/engage/EngageFeature.d.ts +67 -0
- package/dist/features/engage/EngageFeature.d.ts.map +1 -0
- package/dist/features/engage/EngageFeature.js +243 -0
- package/dist/features/engage/EngageFeature.js.map +1 -0
- package/dist/features/engage/attachments.d.ts +24 -0
- package/dist/features/engage/attachments.d.ts.map +1 -0
- package/dist/features/engage/attachments.js +209 -0
- package/dist/features/engage/attachments.js.map +1 -0
- package/dist/features/engage/gameLogic.d.ts +60 -0
- package/dist/features/engage/gameLogic.d.ts.map +1 -0
- package/dist/features/engage/gameLogic.js +213 -0
- package/dist/features/engage/gameLogic.js.map +1 -0
- package/dist/features/engage/gameResolver.d.ts +35 -0
- package/dist/features/engage/gameResolver.d.ts.map +1 -0
- package/dist/features/engage/gameResolver.js +81 -0
- package/dist/features/engage/gameResolver.js.map +1 -0
- package/dist/features/engage/gameTypes.d.ts +76 -0
- package/dist/features/engage/gameTypes.d.ts.map +1 -0
- package/dist/features/engage/gameTypes.js +17 -0
- package/dist/features/engage/gameTypes.js.map +1 -0
- package/dist/features/engage/inappSlots.d.ts +39 -0
- package/dist/features/engage/inappSlots.d.ts.map +1 -0
- package/dist/features/engage/inappSlots.js +50 -0
- package/dist/features/engage/inappSlots.js.map +1 -0
- package/dist/features/engage/normalize.d.ts +11 -0
- package/dist/features/engage/normalize.d.ts.map +1 -0
- package/dist/features/engage/normalize.js +210 -0
- package/dist/features/engage/normalize.js.map +1 -0
- package/dist/features/engage/richInApp.d.ts +64 -0
- package/dist/features/engage/richInApp.d.ts.map +1 -0
- package/dist/features/engage/richInApp.js +1082 -0
- package/dist/features/engage/richInApp.js.map +1 -0
- package/dist/features/engage/runtime.d.ts +89 -0
- package/dist/features/engage/runtime.d.ts.map +1 -0
- package/dist/features/engage/runtime.js +364 -0
- package/dist/features/engage/runtime.js.map +1 -0
- package/dist/features/engage/shakeDetector.d.ts +6 -0
- package/dist/features/engage/shakeDetector.d.ts.map +1 -0
- package/dist/features/engage/shakeDetector.js +105 -0
- package/dist/features/engage/shakeDetector.js.map +1 -0
- package/dist/features/engage/theme.d.ts +129 -0
- package/dist/features/engage/theme.d.ts.map +1 -0
- package/dist/features/engage/theme.js +270 -0
- package/dist/features/engage/theme.js.map +1 -0
- package/dist/features/engage/throttle.d.ts +41 -0
- package/dist/features/engage/throttle.d.ts.map +1 -0
- package/dist/features/engage/throttle.js +220 -0
- package/dist/features/engage/throttle.js.map +1 -0
- package/dist/features/engage/transport.d.ts +62 -0
- package/dist/features/engage/transport.d.ts.map +1 -0
- package/dist/features/engage/transport.js +185 -0
- package/dist/features/engage/transport.js.map +1 -0
- package/dist/features/engage/triggerEngine.d.ts +39 -0
- package/dist/features/engage/triggerEngine.d.ts.map +1 -0
- package/dist/features/engage/triggerEngine.js +105 -0
- package/dist/features/engage/triggerEngine.js.map +1 -0
- package/dist/features/engage/types.d.ts +271 -0
- package/dist/features/engage/types.d.ts.map +1 -0
- package/dist/features/engage/types.js +3 -0
- package/dist/features/engage/types.js.map +1 -0
- package/dist/features/engage/widget/InAppWidget.d.ts +10 -0
- package/dist/features/engage/widget/InAppWidget.d.ts.map +1 -0
- package/dist/features/engage/widget/InAppWidget.js +137 -0
- package/dist/features/engage/widget/InAppWidget.js.map +1 -0
- package/dist/features/engage/widget/SurveyWidget.d.ts +11 -0
- package/dist/features/engage/widget/SurveyWidget.d.ts.map +1 -0
- package/dist/features/engage/widget/SurveyWidget.js +547 -0
- package/dist/features/engage/widget/SurveyWidget.js.map +1 -0
- package/dist/features/errors/ErrorsFeature.d.ts +62 -0
- package/dist/features/errors/ErrorsFeature.d.ts.map +1 -0
- package/dist/features/errors/ErrorsFeature.js +209 -0
- package/dist/features/errors/ErrorsFeature.js.map +1 -0
- package/dist/features/errors/causes.d.ts +15 -0
- package/dist/features/errors/causes.d.ts.map +1 -0
- package/dist/features/errors/causes.js +29 -0
- package/dist/features/errors/causes.js.map +1 -0
- package/dist/features/errors/dedup.d.ts +28 -0
- package/dist/features/errors/dedup.d.ts.map +1 -0
- package/dist/features/errors/dedup.js +42 -0
- package/dist/features/errors/dedup.js.map +1 -0
- package/dist/features/errors/group/fingerprint.d.ts +13 -0
- package/dist/features/errors/group/fingerprint.d.ts.map +1 -0
- package/dist/features/errors/group/fingerprint.js +45 -0
- package/dist/features/errors/group/fingerprint.js.map +1 -0
- package/dist/features/errors/lazy.d.ts +8 -0
- package/dist/features/errors/lazy.d.ts.map +1 -0
- package/dist/features/errors/lazy.js +8 -0
- package/dist/features/errors/lazy.js.map +1 -0
- package/dist/features/errors/normalize.d.ts +26 -0
- package/dist/features/errors/normalize.d.ts.map +1 -0
- package/dist/features/errors/normalize.js +58 -0
- package/dist/features/errors/normalize.js.map +1 -0
- package/dist/features/errors/parse/stacktrace.d.ts +13 -0
- package/dist/features/errors/parse/stacktrace.d.ts.map +1 -0
- package/dist/features/errors/parse/stacktrace.js +85 -0
- package/dist/features/errors/parse/stacktrace.js.map +1 -0
- package/dist/features/errors/redact.d.ts +7 -0
- package/dist/features/errors/redact.d.ts.map +1 -0
- package/dist/features/errors/redact.js +39 -0
- package/dist/features/errors/redact.js.map +1 -0
- package/dist/features/errors/sampling.d.ts +2 -0
- package/dist/features/errors/sampling.d.ts.map +1 -0
- package/dist/features/errors/sampling.js +24 -0
- package/dist/features/errors/sampling.js.map +1 -0
- package/dist/features/errors/scope.d.ts +26 -0
- package/dist/features/errors/scope.d.ts.map +1 -0
- package/dist/features/errors/scope.js +30 -0
- package/dist/features/errors/scope.js.map +1 -0
- package/dist/features/exit-intent/ExitIntentFeature.d.ts +16 -0
- package/dist/features/exit-intent/ExitIntentFeature.d.ts.map +1 -0
- package/dist/features/exit-intent/ExitIntentFeature.js +25 -0
- package/dist/features/exit-intent/ExitIntentFeature.js.map +1 -0
- package/dist/features/exit-intent/engine.d.ts +127 -0
- package/dist/features/exit-intent/engine.d.ts.map +1 -0
- package/dist/features/exit-intent/engine.js +227 -0
- package/dist/features/exit-intent/engine.js.map +1 -0
- package/dist/features/forms/index.d.ts +83 -0
- package/dist/features/forms/index.d.ts.map +1 -0
- package/dist/features/forms/index.js +405 -0
- package/dist/features/forms/index.js.map +1 -0
- package/dist/features/inapp/InApp2Feature.d.ts +24 -0
- package/dist/features/inapp/InApp2Feature.d.ts.map +1 -0
- package/dist/features/inapp/InApp2Feature.js +44 -0
- package/dist/features/inapp/InApp2Feature.js.map +1 -0
- package/dist/features/inapp/a11y/focus.d.ts +24 -0
- package/dist/features/inapp/a11y/focus.d.ts.map +1 -0
- package/dist/features/inapp/a11y/focus.js +112 -0
- package/dist/features/inapp/a11y/focus.js.map +1 -0
- package/dist/features/inapp/anchor/controller.d.ts +64 -0
- package/dist/features/inapp/anchor/controller.d.ts.map +1 -0
- package/dist/features/inapp/anchor/controller.js +155 -0
- package/dist/features/inapp/anchor/controller.js.map +1 -0
- package/dist/features/inapp/api.d.ts +28 -0
- package/dist/features/inapp/api.d.ts.map +1 -0
- package/dist/features/inapp/api.js +41 -0
- package/dist/features/inapp/api.js.map +1 -0
- package/dist/features/inapp/blocks/blocks.d.ts +65 -0
- package/dist/features/inapp/blocks/blocks.d.ts.map +1 -0
- package/dist/features/inapp/blocks/blocks.js +196 -0
- package/dist/features/inapp/blocks/blocks.js.map +1 -0
- package/dist/features/inapp/blocks/feedback.d.ts +13 -0
- package/dist/features/inapp/blocks/feedback.d.ts.map +1 -0
- package/dist/features/inapp/blocks/feedback.js +154 -0
- package/dist/features/inapp/blocks/feedback.js.map +1 -0
- package/dist/features/inapp/blocks/heavy/carousel.d.ts +8 -0
- package/dist/features/inapp/blocks/heavy/carousel.d.ts.map +1 -0
- package/dist/features/inapp/blocks/heavy/carousel.js +67 -0
- package/dist/features/inapp/blocks/heavy/carousel.js.map +1 -0
- package/dist/features/inapp/blocks/heavy/chart.d.ts +9 -0
- package/dist/features/inapp/blocks/heavy/chart.d.ts.map +1 -0
- package/dist/features/inapp/blocks/heavy/chart.js +83 -0
- package/dist/features/inapp/blocks/heavy/chart.js.map +1 -0
- package/dist/features/inapp/blocks/heavy/code.d.ts +8 -0
- package/dist/features/inapp/blocks/heavy/code.d.ts.map +1 -0
- package/dist/features/inapp/blocks/heavy/code.js +47 -0
- package/dist/features/inapp/blocks/heavy/code.js.map +1 -0
- package/dist/features/inapp/blocks/heavy/confetti.d.ts +9 -0
- package/dist/features/inapp/blocks/heavy/confetti.d.ts.map +1 -0
- package/dist/features/inapp/blocks/heavy/confetti.js +76 -0
- package/dist/features/inapp/blocks/heavy/confetti.js.map +1 -0
- package/dist/features/inapp/blocks/heavy/countdown.d.ts +9 -0
- package/dist/features/inapp/blocks/heavy/countdown.d.ts.map +1 -0
- package/dist/features/inapp/blocks/heavy/countdown.js +59 -0
- package/dist/features/inapp/blocks/heavy/countdown.js.map +1 -0
- package/dist/features/inapp/blocks/heavy/index.d.ts +11 -0
- package/dist/features/inapp/blocks/heavy/index.d.ts.map +1 -0
- package/dist/features/inapp/blocks/heavy/index.js +45 -0
- package/dist/features/inapp/blocks/heavy/index.js.map +1 -0
- package/dist/features/inapp/blocks/heavy/markdown.d.ts +9 -0
- package/dist/features/inapp/blocks/heavy/markdown.d.ts.map +1 -0
- package/dist/features/inapp/blocks/heavy/markdown.js +76 -0
- package/dist/features/inapp/blocks/heavy/markdown.js.map +1 -0
- package/dist/features/inapp/blocks/heavy/productgrid.d.ts +8 -0
- package/dist/features/inapp/blocks/heavy/productgrid.d.ts.map +1 -0
- package/dist/features/inapp/blocks/heavy/productgrid.js +46 -0
- package/dist/features/inapp/blocks/heavy/productgrid.js.map +1 -0
- package/dist/features/inapp/blocks/heavy/qr.d.ts +10 -0
- package/dist/features/inapp/blocks/heavy/qr.d.ts.map +1 -0
- package/dist/features/inapp/blocks/heavy/qr.js +69 -0
- package/dist/features/inapp/blocks/heavy/qr.js.map +1 -0
- package/dist/features/inapp/blocks/heavy/scratch.d.ts +8 -0
- package/dist/features/inapp/blocks/heavy/scratch.d.ts.map +1 -0
- package/dist/features/inapp/blocks/heavy/scratch.js +141 -0
- package/dist/features/inapp/blocks/heavy/scratch.js.map +1 -0
- package/dist/features/inapp/blocks/heavy/slot.d.ts +8 -0
- package/dist/features/inapp/blocks/heavy/slot.d.ts.map +1 -0
- package/dist/features/inapp/blocks/heavy/slot.js +96 -0
- package/dist/features/inapp/blocks/heavy/slot.js.map +1 -0
- package/dist/features/inapp/blocks/heavy/spinwheel.d.ts +9 -0
- package/dist/features/inapp/blocks/heavy/spinwheel.d.ts.map +1 -0
- package/dist/features/inapp/blocks/heavy/spinwheel.js +127 -0
- package/dist/features/inapp/blocks/heavy/spinwheel.js.map +1 -0
- package/dist/features/inapp/blocks/heavy/steps.d.ts +27 -0
- package/dist/features/inapp/blocks/heavy/steps.d.ts.map +1 -0
- package/dist/features/inapp/blocks/heavy/steps.js +135 -0
- package/dist/features/inapp/blocks/heavy/steps.js.map +1 -0
- package/dist/features/inapp/blocks/heavy/streak.d.ts +18 -0
- package/dist/features/inapp/blocks/heavy/streak.d.ts.map +1 -0
- package/dist/features/inapp/blocks/heavy/streak.js +52 -0
- package/dist/features/inapp/blocks/heavy/streak.js.map +1 -0
- package/dist/features/inapp/blocks/heavy/table.d.ts +7 -0
- package/dist/features/inapp/blocks/heavy/table.d.ts.map +1 -0
- package/dist/features/inapp/blocks/heavy/table.js +30 -0
- package/dist/features/inapp/blocks/heavy/table.js.map +1 -0
- package/dist/features/inapp/blocks/heavy/unavailable.d.ts +28 -0
- package/dist/features/inapp/blocks/heavy/unavailable.d.ts.map +1 -0
- package/dist/features/inapp/blocks/heavy/unavailable.js +33 -0
- package/dist/features/inapp/blocks/heavy/unavailable.js.map +1 -0
- package/dist/features/inapp/blocks/heavy/video.d.ts +7 -0
- package/dist/features/inapp/blocks/heavy/video.d.ts.map +1 -0
- package/dist/features/inapp/blocks/heavy/video.js +38 -0
- package/dist/features/inapp/blocks/heavy/video.js.map +1 -0
- package/dist/features/inapp/blocks/styles.d.ts +7 -0
- package/dist/features/inapp/blocks/styles.d.ts.map +1 -0
- package/dist/features/inapp/blocks/styles.js +225 -0
- package/dist/features/inapp/blocks/styles.js.map +1 -0
- package/dist/features/inapp/center/bridge.d.ts +12 -0
- package/dist/features/inapp/center/bridge.d.ts.map +1 -0
- package/dist/features/inapp/center/bridge.js +59 -0
- package/dist/features/inapp/center/bridge.js.map +1 -0
- package/dist/features/inapp/center/panel.d.ts +20 -0
- package/dist/features/inapp/center/panel.d.ts.map +1 -0
- package/dist/features/inapp/center/panel.js +228 -0
- package/dist/features/inapp/center/panel.js.map +1 -0
- package/dist/features/inapp/center/store.d.ts +50 -0
- package/dist/features/inapp/center/store.d.ts.map +1 -0
- package/dist/features/inapp/center/store.js +188 -0
- package/dist/features/inapp/center/store.js.map +1 -0
- package/dist/features/inapp/center/sync.d.ts +32 -0
- package/dist/features/inapp/center/sync.d.ts.map +1 -0
- package/dist/features/inapp/center/sync.js +60 -0
- package/dist/features/inapp/center/sync.js.map +1 -0
- package/dist/features/inapp/center/types.d.ts +46 -0
- package/dist/features/inapp/center/types.d.ts.map +1 -0
- package/dist/features/inapp/center/types.js +5 -0
- package/dist/features/inapp/center/types.js.map +1 -0
- package/dist/features/inapp/core/analytics.d.ts +35 -0
- package/dist/features/inapp/core/analytics.d.ts.map +1 -0
- package/dist/features/inapp/core/analytics.js +70 -0
- package/dist/features/inapp/core/analytics.js.map +1 -0
- package/dist/features/inapp/core/compat.d.ts +28 -0
- package/dist/features/inapp/core/compat.d.ts.map +1 -0
- package/dist/features/inapp/core/compat.js +104 -0
- package/dist/features/inapp/core/compat.js.map +1 -0
- package/dist/features/inapp/core/debugOverlay.d.ts +5 -0
- package/dist/features/inapp/core/debugOverlay.d.ts.map +1 -0
- package/dist/features/inapp/core/debugOverlay.js +79 -0
- package/dist/features/inapp/core/debugOverlay.js.map +1 -0
- package/dist/features/inapp/core/engine.d.ts +72 -0
- package/dist/features/inapp/core/engine.d.ts.map +1 -0
- package/dist/features/inapp/core/engine.js +248 -0
- package/dist/features/inapp/core/engine.js.map +1 -0
- package/dist/features/inapp/core/environment.d.ts +21 -0
- package/dist/features/inapp/core/environment.d.ts.map +1 -0
- package/dist/features/inapp/core/environment.js +57 -0
- package/dist/features/inapp/core/environment.js.map +1 -0
- package/dist/features/inapp/core/host.d.ts +53 -0
- package/dist/features/inapp/core/host.d.ts.map +1 -0
- package/dist/features/inapp/core/host.js +243 -0
- package/dist/features/inapp/core/host.js.map +1 -0
- package/dist/features/inapp/core/keyboard.d.ts +27 -0
- package/dist/features/inapp/core/keyboard.d.ts.map +1 -0
- package/dist/features/inapp/core/keyboard.js +69 -0
- package/dist/features/inapp/core/keyboard.js.map +1 -0
- package/dist/features/inapp/core/metrics.d.ts +73 -0
- package/dist/features/inapp/core/metrics.d.ts.map +1 -0
- package/dist/features/inapp/core/metrics.js +125 -0
- package/dist/features/inapp/core/metrics.js.map +1 -0
- package/dist/features/inapp/core/migration.d.ts +32 -0
- package/dist/features/inapp/core/migration.d.ts.map +1 -0
- package/dist/features/inapp/core/migration.js +28 -0
- package/dist/features/inapp/core/migration.js.map +1 -0
- package/dist/features/inapp/core/orchestrator.d.ts +77 -0
- package/dist/features/inapp/core/orchestrator.d.ts.map +1 -0
- package/dist/features/inapp/core/orchestrator.js +144 -0
- package/dist/features/inapp/core/orchestrator.js.map +1 -0
- package/dist/features/inapp/core/respect.d.ts +51 -0
- package/dist/features/inapp/core/respect.d.ts.map +1 -0
- package/dist/features/inapp/core/respect.js +78 -0
- package/dist/features/inapp/core/respect.js.map +1 -0
- package/dist/features/inapp/core/slots.d.ts +19 -0
- package/dist/features/inapp/core/slots.d.ts.map +1 -0
- package/dist/features/inapp/core/slots.js +53 -0
- package/dist/features/inapp/core/slots.js.map +1 -0
- package/dist/features/inapp/core/targeting.d.ts +85 -0
- package/dist/features/inapp/core/targeting.d.ts.map +1 -0
- package/dist/features/inapp/core/targeting.js +255 -0
- package/dist/features/inapp/core/targeting.js.map +1 -0
- package/dist/features/inapp/core/transport.d.ts +66 -0
- package/dist/features/inapp/core/transport.d.ts.map +1 -0
- package/dist/features/inapp/core/transport.js +154 -0
- package/dist/features/inapp/core/transport.js.map +1 -0
- package/dist/features/inapp/core/triggers.d.ts +94 -0
- package/dist/features/inapp/core/triggers.d.ts.map +1 -0
- package/dist/features/inapp/core/triggers.js +368 -0
- package/dist/features/inapp/core/triggers.js.map +1 -0
- package/dist/features/inapp/inappContract.web.d.ts +47 -0
- package/dist/features/inapp/inappContract.web.d.ts.map +1 -0
- package/dist/features/inapp/inappContract.web.js +230 -0
- package/dist/features/inapp/inappContract.web.js.map +1 -0
- package/dist/features/inapp/index.d.ts +23 -0
- package/dist/features/inapp/index.d.ts.map +1 -0
- package/dist/features/inapp/index.js +23 -0
- package/dist/features/inapp/index.js.map +1 -0
- package/dist/features/inapp/registry.canonical.hash.d.ts +7 -0
- package/dist/features/inapp/registry.canonical.hash.d.ts.map +1 -0
- package/dist/features/inapp/registry.canonical.hash.js +7 -0
- package/dist/features/inapp/registry.canonical.hash.js.map +1 -0
- package/dist/features/inapp/registry.web.canonical.d.ts +21 -0
- package/dist/features/inapp/registry.web.canonical.d.ts.map +1 -0
- package/dist/features/inapp/registry.web.canonical.js +136 -0
- package/dist/features/inapp/registry.web.canonical.js.map +1 -0
- package/dist/features/inapp/registry.web.catalog.d.ts +12 -0
- package/dist/features/inapp/registry.web.catalog.d.ts.map +1 -0
- package/dist/features/inapp/registry.web.catalog.js +208 -0
- package/dist/features/inapp/registry.web.catalog.js.map +1 -0
- package/dist/features/inapp/surfaces/banner.d.ts +7 -0
- package/dist/features/inapp/surfaces/banner.d.ts.map +1 -0
- package/dist/features/inapp/surfaces/banner.js +30 -0
- package/dist/features/inapp/surfaces/banner.js.map +1 -0
- package/dist/features/inapp/surfaces/checklist.d.ts +13 -0
- package/dist/features/inapp/surfaces/checklist.d.ts.map +1 -0
- package/dist/features/inapp/surfaces/checklist.js +127 -0
- package/dist/features/inapp/surfaces/checklist.js.map +1 -0
- package/dist/features/inapp/surfaces/coachmark.d.ts +10 -0
- package/dist/features/inapp/surfaces/coachmark.d.ts.map +1 -0
- package/dist/features/inapp/surfaces/coachmark.js +95 -0
- package/dist/features/inapp/surfaces/coachmark.js.map +1 -0
- package/dist/features/inapp/surfaces/hotspot.d.ts +8 -0
- package/dist/features/inapp/surfaces/hotspot.d.ts.map +1 -0
- package/dist/features/inapp/surfaces/hotspot.js +91 -0
- package/dist/features/inapp/surfaces/hotspot.js.map +1 -0
- package/dist/features/inapp/surfaces/inline.d.ts +13 -0
- package/dist/features/inapp/surfaces/inline.d.ts.map +1 -0
- package/dist/features/inapp/surfaces/inline.js +78 -0
- package/dist/features/inapp/surfaces/inline.js.map +1 -0
- package/dist/features/inapp/surfaces/launcher.d.ts +9 -0
- package/dist/features/inapp/surfaces/launcher.d.ts.map +1 -0
- package/dist/features/inapp/surfaces/launcher.js +54 -0
- package/dist/features/inapp/surfaces/launcher.js.map +1 -0
- package/dist/features/inapp/surfaces/modal.d.ts +8 -0
- package/dist/features/inapp/surfaces/modal.d.ts.map +1 -0
- package/dist/features/inapp/surfaces/modal.js +70 -0
- package/dist/features/inapp/surfaces/modal.js.map +1 -0
- package/dist/features/inapp/surfaces/mount.d.ts +19 -0
- package/dist/features/inapp/surfaces/mount.d.ts.map +1 -0
- package/dist/features/inapp/surfaces/mount.js +29 -0
- package/dist/features/inapp/surfaces/mount.js.map +1 -0
- package/dist/features/inapp/surfaces/palette.d.ts +9 -0
- package/dist/features/inapp/surfaces/palette.d.ts.map +1 -0
- package/dist/features/inapp/surfaces/palette.js +127 -0
- package/dist/features/inapp/surfaces/palette.js.map +1 -0
- package/dist/features/inapp/surfaces/panel.d.ts +14 -0
- package/dist/features/inapp/surfaces/panel.d.ts.map +1 -0
- package/dist/features/inapp/surfaces/panel.js +91 -0
- package/dist/features/inapp/surfaces/panel.js.map +1 -0
- package/dist/features/inapp/surfaces/popover.d.ts +10 -0
- package/dist/features/inapp/surfaces/popover.d.ts.map +1 -0
- package/dist/features/inapp/surfaces/popover.js +69 -0
- package/dist/features/inapp/surfaces/popover.js.map +1 -0
- package/dist/features/inapp/surfaces/render.d.ts +34 -0
- package/dist/features/inapp/surfaces/render.d.ts.map +1 -0
- package/dist/features/inapp/surfaces/render.js +56 -0
- package/dist/features/inapp/surfaces/render.js.map +1 -0
- package/dist/features/inapp/surfaces/slideover.d.ts +9 -0
- package/dist/features/inapp/surfaces/slideover.d.ts.map +1 -0
- package/dist/features/inapp/surfaces/slideover.js +144 -0
- package/dist/features/inapp/surfaces/slideover.js.map +1 -0
- package/dist/features/inapp/surfaces/styles.d.ts +7 -0
- package/dist/features/inapp/surfaces/styles.d.ts.map +1 -0
- package/dist/features/inapp/surfaces/styles.js +235 -0
- package/dist/features/inapp/surfaces/styles.js.map +1 -0
- package/dist/features/inapp/surfaces/surface.d.ts +69 -0
- package/dist/features/inapp/surfaces/surface.d.ts.map +1 -0
- package/dist/features/inapp/surfaces/surface.js +80 -0
- package/dist/features/inapp/surfaces/surface.js.map +1 -0
- package/dist/features/inapp/surfaces/takeover.d.ts +9 -0
- package/dist/features/inapp/surfaces/takeover.d.ts.map +1 -0
- package/dist/features/inapp/surfaces/takeover.js +60 -0
- package/dist/features/inapp/surfaces/takeover.js.map +1 -0
- package/dist/features/inapp/surfaces/toast.d.ts +7 -0
- package/dist/features/inapp/surfaces/toast.d.ts.map +1 -0
- package/dist/features/inapp/surfaces/toast.js +48 -0
- package/dist/features/inapp/surfaces/toast.js.map +1 -0
- package/dist/features/inapp/surfaces/toolbar.d.ts +8 -0
- package/dist/features/inapp/surfaces/toolbar.d.ts.map +1 -0
- package/dist/features/inapp/surfaces/toolbar.js +65 -0
- package/dist/features/inapp/surfaces/toolbar.js.map +1 -0
- package/dist/features/inapp/surfaces/tour.d.ts +14 -0
- package/dist/features/inapp/surfaces/tour.d.ts.map +1 -0
- package/dist/features/inapp/surfaces/tour.js +202 -0
- package/dist/features/inapp/surfaces/tour.js.map +1 -0
- package/dist/features/inapp/types.d.ts +165 -0
- package/dist/features/inapp/types.d.ts.map +1 -0
- package/dist/features/inapp/types.js +12 -0
- package/dist/features/inapp/types.js.map +1 -0
- package/dist/features/inbox/InboxFeature.d.ts +57 -0
- package/dist/features/inbox/InboxFeature.d.ts.map +1 -0
- package/dist/features/inbox/InboxFeature.js +225 -0
- package/dist/features/inbox/InboxFeature.js.map +1 -0
- package/dist/features/inbox/runtime.d.ts +67 -0
- package/dist/features/inbox/runtime.d.ts.map +1 -0
- package/dist/features/inbox/runtime.js +376 -0
- package/dist/features/inbox/runtime.js.map +1 -0
- package/dist/features/inbox/store.d.ts +37 -0
- package/dist/features/inbox/store.d.ts.map +1 -0
- package/dist/features/inbox/store.js +149 -0
- package/dist/features/inbox/store.js.map +1 -0
- package/dist/features/inbox/sync.d.ts +49 -0
- package/dist/features/inbox/sync.d.ts.map +1 -0
- package/dist/features/inbox/sync.js +131 -0
- package/dist/features/inbox/sync.js.map +1 -0
- package/dist/features/inbox/types.d.ts +275 -0
- package/dist/features/inbox/types.d.ts.map +1 -0
- package/dist/features/inbox/types.js +42 -0
- package/dist/features/inbox/types.js.map +1 -0
- package/dist/features/inbox/widget/InboxWidget.d.ts +16 -0
- package/dist/features/inbox/widget/InboxWidget.d.ts.map +1 -0
- package/dist/features/inbox/widget/InboxWidget.js +609 -0
- package/dist/features/inbox/widget/InboxWidget.js.map +1 -0
- package/dist/features/index.d.ts +21 -0
- package/dist/features/index.d.ts.map +1 -0
- package/dist/features/index.js +2 -0
- package/dist/features/index.js.map +1 -0
- package/dist/features/journey/InteractionTracker.d.ts +87 -0
- package/dist/features/journey/InteractionTracker.d.ts.map +1 -0
- package/dist/features/journey/InteractionTracker.js +466 -0
- package/dist/features/journey/InteractionTracker.js.map +1 -0
- package/dist/features/journey/JourneyFeature.d.ts +18 -0
- package/dist/features/journey/JourneyFeature.d.ts.map +1 -0
- package/dist/features/journey/JourneyFeature.js +71 -0
- package/dist/features/journey/JourneyFeature.js.map +1 -0
- package/dist/features/journey/NavigationTracker.d.ts +16 -0
- package/dist/features/journey/NavigationTracker.d.ts.map +1 -0
- package/dist/features/journey/NavigationTracker.js +92 -0
- package/dist/features/journey/NavigationTracker.js.map +1 -0
- package/dist/features/journey/friction.d.ts +28 -0
- package/dist/features/journey/friction.d.ts.map +1 -0
- package/dist/features/journey/friction.js +64 -0
- package/dist/features/journey/friction.js.map +1 -0
- package/dist/features/journey/positionContext.d.ts +30 -0
- package/dist/features/journey/positionContext.d.ts.map +1 -0
- package/dist/features/journey/positionContext.js +116 -0
- package/dist/features/journey/positionContext.js.map +1 -0
- package/dist/features/journey/uiState.d.ts +44 -0
- package/dist/features/journey/uiState.d.ts.map +1 -0
- package/dist/features/journey/uiState.js +158 -0
- package/dist/features/journey/uiState.js.map +1 -0
- package/dist/features/manifest.d.ts +41 -0
- package/dist/features/manifest.d.ts.map +1 -0
- package/dist/features/manifest.js +93 -0
- package/dist/features/manifest.js.map +1 -0
- package/dist/features/network/NetworkFeature.d.ts +60 -0
- package/dist/features/network/NetworkFeature.d.ts.map +1 -0
- package/dist/features/network/NetworkFeature.js +260 -0
- package/dist/features/network/NetworkFeature.js.map +1 -0
- package/dist/features/network/capture/body.d.ts +31 -0
- package/dist/features/network/capture/body.d.ts.map +1 -0
- package/dist/features/network/capture/body.js +81 -0
- package/dist/features/network/capture/body.js.map +1 -0
- package/dist/features/network/classify.d.ts +21 -0
- package/dist/features/network/classify.d.ts.map +1 -0
- package/dist/features/network/classify.js +50 -0
- package/dist/features/network/classify.js.map +1 -0
- package/dist/features/network/dedup.d.ts +36 -0
- package/dist/features/network/dedup.d.ts.map +1 -0
- package/dist/features/network/dedup.js +68 -0
- package/dist/features/network/dedup.js.map +1 -0
- package/dist/features/network/fetchInterceptor.d.ts +20 -0
- package/dist/features/network/fetchInterceptor.d.ts.map +1 -0
- package/dist/features/network/fetchInterceptor.js +158 -0
- package/dist/features/network/fetchInterceptor.js.map +1 -0
- package/dist/features/network/intercept/beacon.d.ts +14 -0
- package/dist/features/network/intercept/beacon.d.ts.map +1 -0
- package/dist/features/network/intercept/beacon.js +56 -0
- package/dist/features/network/intercept/beacon.js.map +1 -0
- package/dist/features/network/intercept/sse.d.ts +16 -0
- package/dist/features/network/intercept/sse.d.ts.map +1 -0
- package/dist/features/network/intercept/sse.js +74 -0
- package/dist/features/network/intercept/sse.js.map +1 -0
- package/dist/features/network/intercept/streams.d.ts +23 -0
- package/dist/features/network/intercept/streams.d.ts.map +1 -0
- package/dist/features/network/intercept/streams.js +25 -0
- package/dist/features/network/intercept/streams.js.map +1 -0
- package/dist/features/network/intercept/websocket.d.ts +14 -0
- package/dist/features/network/intercept/websocket.d.ts.map +1 -0
- package/dist/features/network/intercept/websocket.js +97 -0
- package/dist/features/network/intercept/websocket.js.map +1 -0
- package/dist/features/network/lazy.d.ts +23 -0
- package/dist/features/network/lazy.d.ts.map +1 -0
- package/dist/features/network/lazy.js +65 -0
- package/dist/features/network/lazy.js.map +1 -0
- package/dist/features/network/normalize.d.ts +9 -0
- package/dist/features/network/normalize.d.ts.map +1 -0
- package/dist/features/network/normalize.js +49 -0
- package/dist/features/network/normalize.js.map +1 -0
- package/dist/features/network/parse/graphql.d.ts +17 -0
- package/dist/features/network/parse/graphql.d.ts.map +1 -0
- package/dist/features/network/parse/graphql.js +106 -0
- package/dist/features/network/parse/graphql.js.map +1 -0
- package/dist/features/network/parse/url.d.ts +12 -0
- package/dist/features/network/parse/url.d.ts.map +1 -0
- package/dist/features/network/parse/url.js +52 -0
- package/dist/features/network/parse/url.js.map +1 -0
- package/dist/features/network/sampler.d.ts +21 -0
- package/dist/features/network/sampler.d.ts.map +1 -0
- package/dist/features/network/sampler.js +25 -0
- package/dist/features/network/sampler.js.map +1 -0
- package/dist/features/network/size.d.ts +21 -0
- package/dist/features/network/size.d.ts.map +1 -0
- package/dist/features/network/size.js +63 -0
- package/dist/features/network/size.js.map +1 -0
- package/dist/features/network/thirdParty.d.ts +95 -0
- package/dist/features/network/thirdParty.d.ts.map +1 -0
- package/dist/features/network/thirdParty.js +126 -0
- package/dist/features/network/thirdParty.js.map +1 -0
- package/dist/features/network/timing.d.ts +41 -0
- package/dist/features/network/timing.d.ts.map +1 -0
- package/dist/features/network/timing.js +134 -0
- package/dist/features/network/timing.js.map +1 -0
- package/dist/features/network/tracing.d.ts +18 -0
- package/dist/features/network/tracing.d.ts.map +1 -0
- package/dist/features/network/tracing.js +46 -0
- package/dist/features/network/tracing.js.map +1 -0
- package/dist/features/network/types.d.ts +75 -0
- package/dist/features/network/types.d.ts.map +1 -0
- package/dist/features/network/types.js +2 -0
- package/dist/features/network/types.js.map +1 -0
- package/dist/features/network/xhrInterceptor.d.ts +12 -0
- package/dist/features/network/xhrInterceptor.d.ts.map +1 -0
- package/dist/features/network/xhrInterceptor.js +108 -0
- package/dist/features/network/xhrInterceptor.js.map +1 -0
- package/dist/features/performance/PerformanceFeature.d.ts +76 -0
- package/dist/features/performance/PerformanceFeature.d.ts.map +1 -0
- package/dist/features/performance/PerformanceFeature.js +265 -0
- package/dist/features/performance/PerformanceFeature.js.map +1 -0
- package/dist/features/performance/jankTap.d.ts +23 -0
- package/dist/features/performance/jankTap.d.ts.map +1 -0
- package/dist/features/performance/jankTap.js +20 -0
- package/dist/features/performance/jankTap.js.map +1 -0
- package/dist/features/performance/longTasks.d.ts +14 -0
- package/dist/features/performance/longTasks.d.ts.map +1 -0
- package/dist/features/performance/longTasks.js +55 -0
- package/dist/features/performance/longTasks.js.map +1 -0
- package/dist/features/performance/normalize.d.ts +15 -0
- package/dist/features/performance/normalize.d.ts.map +1 -0
- package/dist/features/performance/normalize.js +30 -0
- package/dist/features/performance/normalize.js.map +1 -0
- package/dist/features/performance/resources.d.ts +19 -0
- package/dist/features/performance/resources.d.ts.map +1 -0
- package/dist/features/performance/resources.js +78 -0
- package/dist/features/performance/resources.js.map +1 -0
- package/dist/features/performance/sampler.d.ts +10 -0
- package/dist/features/performance/sampler.d.ts.map +1 -0
- package/dist/features/performance/sampler.js +23 -0
- package/dist/features/performance/sampler.js.map +1 -0
- package/dist/features/performance/spa.d.ts +2 -0
- package/dist/features/performance/spa.d.ts.map +1 -0
- package/dist/features/performance/spa.js +40 -0
- package/dist/features/performance/spa.js.map +1 -0
- package/dist/features/performance/throttle.d.ts +21 -0
- package/dist/features/performance/throttle.d.ts.map +1 -0
- package/dist/features/performance/throttle.js +26 -0
- package/dist/features/performance/throttle.js.map +1 -0
- package/dist/features/performance/trace/context.d.ts +17 -0
- package/dist/features/performance/trace/context.d.ts.map +1 -0
- package/dist/features/performance/trace/context.js +33 -0
- package/dist/features/performance/trace/context.js.map +1 -0
- package/dist/features/performance/trace/index.d.ts +7 -0
- package/dist/features/performance/trace/index.d.ts.map +1 -0
- package/dist/features/performance/trace/index.js +6 -0
- package/dist/features/performance/trace/index.js.map +1 -0
- package/dist/features/performance/trace/pageload.d.ts +3 -0
- package/dist/features/performance/trace/pageload.d.ts.map +1 -0
- package/dist/features/performance/trace/pageload.js +34 -0
- package/dist/features/performance/trace/pageload.js.map +1 -0
- package/dist/features/performance/trace/transaction.d.ts +61 -0
- package/dist/features/performance/trace/transaction.d.ts.map +1 -0
- package/dist/features/performance/trace/transaction.js +90 -0
- package/dist/features/performance/trace/transaction.js.map +1 -0
- package/dist/features/performance/trace/types.d.ts +23 -0
- package/dist/features/performance/trace/types.d.ts.map +1 -0
- package/dist/features/performance/trace/types.js +10 -0
- package/dist/features/performance/trace/types.js.map +1 -0
- package/dist/features/performance/traces.d.ts +36 -0
- package/dist/features/performance/traces.d.ts.map +1 -0
- package/dist/features/performance/traces.js +50 -0
- package/dist/features/performance/traces.js.map +1 -0
- package/dist/features/profiler/ProfilerFeature.d.ts +28 -0
- package/dist/features/profiler/ProfilerFeature.d.ts.map +1 -0
- package/dist/features/profiler/ProfilerFeature.js +82 -0
- package/dist/features/profiler/ProfilerFeature.js.map +1 -0
- package/dist/features/profiler/capture.d.ts +8 -0
- package/dist/features/profiler/capture.d.ts.map +1 -0
- package/dist/features/profiler/capture.js +21 -0
- package/dist/features/profiler/capture.js.map +1 -0
- package/dist/features/push/PushFeature.d.ts +120 -0
- package/dist/features/push/PushFeature.d.ts.map +1 -0
- package/dist/features/push/PushFeature.js +319 -0
- package/dist/features/push/PushFeature.js.map +1 -0
- package/dist/features/push/diagnostics.d.ts +55 -0
- package/dist/features/push/diagnostics.d.ts.map +1 -0
- package/dist/features/push/diagnostics.js +383 -0
- package/dist/features/push/diagnostics.js.map +1 -0
- package/dist/features/push/pushState.d.ts +58 -0
- package/dist/features/push/pushState.d.ts.map +1 -0
- package/dist/features/push/pushState.js +75 -0
- package/dist/features/push/pushState.js.map +1 -0
- package/dist/features/push/softAsk.d.ts +68 -0
- package/dist/features/push/softAsk.d.ts.map +1 -0
- package/dist/features/push/softAsk.js +142 -0
- package/dist/features/push/softAsk.js.map +1 -0
- package/dist/features/replay/ReplayFeature.d.ts +52 -0
- package/dist/features/replay/ReplayFeature.d.ts.map +1 -0
- package/dist/features/replay/ReplayFeature.js +282 -0
- package/dist/features/replay/ReplayFeature.js.map +1 -0
- package/dist/features/replay/engine/canvas.d.ts +45 -0
- package/dist/features/replay/engine/canvas.d.ts.map +1 -0
- package/dist/features/replay/engine/canvas.js +122 -0
- package/dist/features/replay/engine/canvas.js.map +1 -0
- package/dist/features/replay/engine/crossOrigin.d.ts +23 -0
- package/dist/features/replay/engine/crossOrigin.d.ts.map +1 -0
- package/dist/features/replay/engine/crossOrigin.js +108 -0
- package/dist/features/replay/engine/crossOrigin.js.map +1 -0
- package/dist/features/replay/engine/cssom.d.ts +31 -0
- package/dist/features/replay/engine/cssom.d.ts.map +1 -0
- package/dist/features/replay/engine/cssom.js +128 -0
- package/dist/features/replay/engine/cssom.js.map +1 -0
- package/dist/features/replay/engine/iframe.d.ts +65 -0
- package/dist/features/replay/engine/iframe.d.ts.map +1 -0
- package/dist/features/replay/engine/iframe.js +186 -0
- package/dist/features/replay/engine/iframe.js.map +1 -0
- package/dist/features/replay/engine/interactions.d.ts +172 -0
- package/dist/features/replay/engine/interactions.d.ts.map +1 -0
- package/dist/features/replay/engine/interactions.js +437 -0
- package/dist/features/replay/engine/interactions.js.map +1 -0
- package/dist/features/replay/engine/mutations.d.ts +65 -0
- package/dist/features/replay/engine/mutations.d.ts.map +1 -0
- package/dist/features/replay/engine/mutations.js +304 -0
- package/dist/features/replay/engine/mutations.js.map +1 -0
- package/dist/features/replay/engine/nodeRegistry.d.ts +23 -0
- package/dist/features/replay/engine/nodeRegistry.d.ts.map +1 -0
- package/dist/features/replay/engine/nodeRegistry.js +51 -0
- package/dist/features/replay/engine/nodeRegistry.js.map +1 -0
- package/dist/features/replay/engine/player.d.ts +11 -0
- package/dist/features/replay/engine/player.d.ts.map +1 -0
- package/dist/features/replay/engine/player.js +284 -0
- package/dist/features/replay/engine/player.js.map +1 -0
- package/dist/features/replay/engine/rebuild.d.ts +8 -0
- package/dist/features/replay/engine/rebuild.d.ts.map +1 -0
- package/dist/features/replay/engine/rebuild.js +46 -0
- package/dist/features/replay/engine/rebuild.js.map +1 -0
- package/dist/features/replay/engine/replayWorker.d.ts +33 -0
- package/dist/features/replay/engine/replayWorker.d.ts.map +1 -0
- package/dist/features/replay/engine/replayWorker.js +175 -0
- package/dist/features/replay/engine/replayWorker.js.map +1 -0
- package/dist/features/replay/engine/resources.d.ts +52 -0
- package/dist/features/replay/engine/resources.d.ts.map +1 -0
- package/dist/features/replay/engine/resources.js +132 -0
- package/dist/features/replay/engine/resources.js.map +1 -0
- package/dist/features/replay/engine/snapshot.d.ts +103 -0
- package/dist/features/replay/engine/snapshot.d.ts.map +1 -0
- package/dist/features/replay/engine/snapshot.js +459 -0
- package/dist/features/replay/engine/snapshot.js.map +1 -0
- package/dist/features/replay/engine/traverse.d.ts +19 -0
- package/dist/features/replay/engine/traverse.d.ts.map +1 -0
- package/dist/features/replay/engine/traverse.js +39 -0
- package/dist/features/replay/engine/traverse.js.map +1 -0
- package/dist/features/replay/engine/types.d.ts +149 -0
- package/dist/features/replay/engine/types.d.ts.map +1 -0
- package/dist/features/replay/engine/types.js +6 -0
- package/dist/features/replay/engine/types.js.map +1 -0
- package/dist/features/replay/engine/webglPatch.d.ts +26 -0
- package/dist/features/replay/engine/webglPatch.d.ts.map +1 -0
- package/dist/features/replay/engine/webglPatch.js +83 -0
- package/dist/features/replay/engine/webglPatch.js.map +1 -0
- package/dist/features/replay/lifecycle/adaptive.d.ts +38 -0
- package/dist/features/replay/lifecycle/adaptive.d.ts.map +1 -0
- package/dist/features/replay/lifecycle/adaptive.js +90 -0
- package/dist/features/replay/lifecycle/adaptive.js.map +1 -0
- package/dist/features/replay/lifecycle/cadence.d.ts +35 -0
- package/dist/features/replay/lifecycle/cadence.d.ts.map +1 -0
- package/dist/features/replay/lifecycle/cadence.js +149 -0
- package/dist/features/replay/lifecycle/cadence.js.map +1 -0
- package/dist/features/replay/lifecycle/deltaBatcher.d.ts +31 -0
- package/dist/features/replay/lifecycle/deltaBatcher.d.ts.map +1 -0
- package/dist/features/replay/lifecycle/deltaBatcher.js +32 -0
- package/dist/features/replay/lifecycle/deltaBatcher.js.map +1 -0
- package/dist/features/replay/lifecycle/deviceSignals.d.ts +35 -0
- package/dist/features/replay/lifecycle/deviceSignals.d.ts.map +1 -0
- package/dist/features/replay/lifecycle/deviceSignals.js +61 -0
- package/dist/features/replay/lifecycle/deviceSignals.js.map +1 -0
- package/dist/features/replay/lifecycle/offloadDomFrames.d.ts +69 -0
- package/dist/features/replay/lifecycle/offloadDomFrames.d.ts.map +1 -0
- package/dist/features/replay/lifecycle/offloadDomFrames.js +107 -0
- package/dist/features/replay/lifecycle/offloadDomFrames.js.map +1 -0
- package/dist/features/replay/lifecycle/pii.d.ts +14 -0
- package/dist/features/replay/lifecycle/pii.d.ts.map +1 -0
- package/dist/features/replay/lifecycle/pii.js +52 -0
- package/dist/features/replay/lifecycle/pii.js.map +1 -0
- package/dist/features/replay/lifecycle/recorder.d.ts +178 -0
- package/dist/features/replay/lifecycle/recorder.d.ts.map +1 -0
- package/dist/features/replay/lifecycle/recorder.js +644 -0
- package/dist/features/replay/lifecycle/recorder.js.map +1 -0
- package/dist/features/replay/lifecycle/sampling.d.ts +28 -0
- package/dist/features/replay/lifecycle/sampling.d.ts.map +1 -0
- package/dist/features/replay/lifecycle/sampling.js +31 -0
- package/dist/features/replay/lifecycle/sampling.js.map +1 -0
- package/dist/features/replay/lifecycle/segmentBuffer.d.ts +75 -0
- package/dist/features/replay/lifecycle/segmentBuffer.d.ts.map +1 -0
- package/dist/features/replay/lifecycle/segmentBuffer.js +130 -0
- package/dist/features/replay/lifecycle/segmentBuffer.js.map +1 -0
- package/dist/features/replay/lifecycle/viewContext.d.ts +7 -0
- package/dist/features/replay/lifecycle/viewContext.d.ts.map +1 -0
- package/dist/features/replay/lifecycle/viewContext.js +51 -0
- package/dist/features/replay/lifecycle/viewContext.js.map +1 -0
- package/dist/features/scroll/index.d.ts +33 -0
- package/dist/features/scroll/index.d.ts.map +1 -0
- package/dist/features/scroll/index.js +106 -0
- package/dist/features/scroll/index.js.map +1 -0
- package/dist/features/session/sessionManager.d.ts +41 -0
- package/dist/features/session/sessionManager.d.ts.map +1 -0
- package/dist/features/session/sessionManager.js +67 -0
- package/dist/features/session/sessionManager.js.map +1 -0
- package/dist/features/session/sessionStore.d.ts +137 -0
- package/dist/features/session/sessionStore.d.ts.map +1 -0
- package/dist/features/session/sessionStore.js +323 -0
- package/dist/features/session/sessionStore.js.map +1 -0
- package/dist/features/watchdog/WatchdogFeature.d.ts +23 -0
- package/dist/features/watchdog/WatchdogFeature.d.ts.map +1 -0
- package/dist/features/watchdog/WatchdogFeature.js +29 -0
- package/dist/features/watchdog/WatchdogFeature.js.map +1 -0
- package/dist/features/watchdog/collectors.d.ts +18 -0
- package/dist/features/watchdog/collectors.d.ts.map +1 -0
- package/dist/features/watchdog/collectors.js +107 -0
- package/dist/features/watchdog/collectors.js.map +1 -0
- package/dist/features/watchdog/config.d.ts +51 -0
- package/dist/features/watchdog/config.d.ts.map +1 -0
- package/dist/features/watchdog/config.js +28 -0
- package/dist/features/watchdog/config.js.map +1 -0
- package/dist/features/watchdog/engine.d.ts +22 -0
- package/dist/features/watchdog/engine.d.ts.map +1 -0
- package/dist/features/watchdog/engine.js +123 -0
- package/dist/features/watchdog/engine.js.map +1 -0
- package/dist/features/watchdog/incidents.d.ts +79 -0
- package/dist/features/watchdog/incidents.d.ts.map +1 -0
- package/dist/features/watchdog/incidents.js +204 -0
- package/dist/features/watchdog/incidents.js.map +1 -0
- package/dist/features/watchdog/rollup.d.ts +41 -0
- package/dist/features/watchdog/rollup.d.ts.map +1 -0
- package/dist/features/watchdog/rollup.js +76 -0
- package/dist/features/watchdog/rollup.js.map +1 -0
- package/dist/features/webVitals/WebVitalsFeature.d.ts +46 -0
- package/dist/features/webVitals/WebVitalsFeature.d.ts.map +1 -0
- package/dist/features/webVitals/WebVitalsFeature.js +252 -0
- package/dist/features/webVitals/WebVitalsFeature.js.map +1 -0
- package/dist/features/webVitals/attribution.d.ts +50 -0
- package/dist/features/webVitals/attribution.d.ts.map +1 -0
- package/dist/features/webVitals/attribution.js +186 -0
- package/dist/features/webVitals/attribution.js.map +1 -0
- package/dist/features/webVitals/observe.d.ts +6 -0
- package/dist/features/webVitals/observe.d.ts.map +1 -0
- package/dist/features/webVitals/observe.js +6 -0
- package/dist/features/webVitals/observe.js.map +1 -0
- package/dist/features/webVitals/vitals.d.ts +99 -0
- package/dist/features/webVitals/vitals.d.ts.map +1 -0
- package/dist/features/webVitals/vitals.js +166 -0
- package/dist/features/webVitals/vitals.js.map +1 -0
- package/dist/features/webperf/WebPerfFeature.d.ts +19 -0
- package/dist/features/webperf/WebPerfFeature.d.ts.map +1 -0
- package/dist/features/webperf/WebPerfFeature.js +48 -0
- package/dist/features/webperf/WebPerfFeature.js.map +1 -0
- package/dist/features/webperf/collectors.d.ts +3 -0
- package/dist/features/webperf/collectors.d.ts.map +1 -0
- package/dist/features/webperf/collectors.js +118 -0
- package/dist/features/webperf/collectors.js.map +1 -0
- package/dist/features/webperf/math.d.ts +12 -0
- package/dist/features/webperf/math.d.ts.map +1 -0
- package/dist/features/webperf/math.js +26 -0
- package/dist/features/webperf/math.js.map +1 -0
- package/dist/inapp.d.ts +6 -0
- package/dist/inapp.d.ts.map +1 -0
- package/dist/inapp.js +6 -0
- package/dist/inapp.js.map +1 -0
- package/dist/index.d.ts +34 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/integrations/index.d.ts +7 -0
- package/dist/integrations/index.d.ts.map +1 -0
- package/dist/integrations/index.js +2 -0
- package/dist/integrations/index.js.map +1 -0
- package/dist/pipeline/index.d.ts +3 -0
- package/dist/pipeline/index.d.ts.map +1 -0
- package/dist/pipeline/index.js +3 -0
- package/dist/pipeline/index.js.map +1 -0
- package/dist/pipeline/pipeline.d.ts +263 -0
- package/dist/pipeline/pipeline.d.ts.map +1 -0
- package/dist/pipeline/pipeline.js +783 -0
- package/dist/pipeline/pipeline.js.map +1 -0
- package/dist/public/ScaleBunFacade.d.ts +436 -0
- package/dist/public/ScaleBunFacade.d.ts.map +1 -0
- package/dist/public/ScaleBunFacade.js +857 -0
- package/dist/public/ScaleBunFacade.js.map +1 -0
- package/dist/public/index.d.ts +5 -0
- package/dist/public/index.d.ts.map +1 -0
- package/dist/public/index.js +4 -0
- package/dist/public/index.js.map +1 -0
- package/dist/public/typedTracker.d.ts +91 -0
- package/dist/public/typedTracker.d.ts.map +1 -0
- package/dist/public/typedTracker.js +60 -0
- package/dist/public/typedTracker.js.map +1 -0
- package/dist/scalebun-push-sw.js +236 -0
- package/dist/scalebun.min.js +717 -0
- package/dist/scalebun.min.js.map +7 -0
- package/dist/storage/idb.d.ts +16 -0
- package/dist/storage/idb.d.ts.map +1 -0
- package/dist/storage/idb.js +76 -0
- package/dist/storage/idb.js.map +1 -0
- package/dist/storage/index.d.ts +3 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +3 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/transport/gzip.d.ts +2 -0
- package/dist/transport/gzip.d.ts.map +1 -0
- package/dist/transport/gzip.js +20 -0
- package/dist/transport/gzip.js.map +1 -0
- package/dist/transport/httpClient.d.ts +156 -0
- package/dist/transport/httpClient.d.ts.map +1 -0
- package/dist/transport/httpClient.js +277 -0
- package/dist/transport/httpClient.js.map +1 -0
- package/dist/transport/index.d.ts +3 -0
- package/dist/transport/index.d.ts.map +1 -0
- package/dist/transport/index.js +3 -0
- package/dist/transport/index.js.map +1 -0
- package/dist/transport/sign.d.ts +25 -0
- package/dist/transport/sign.d.ts.map +1 -0
- package/dist/transport/sign.js +58 -0
- package/dist/transport/sign.js.map +1 -0
- package/package.json +67 -0
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Our own serialized-DOM node model. Compact discriminated union (short `t` tags + short keys) —
|
|
3
|
+
* size matters and we own both the recorder and the player, so the format is co-designed.
|
|
4
|
+
*/
|
|
5
|
+
export type NodeId = number;
|
|
6
|
+
export type SNode = SDocument | SDocType | SElement | SText | SComment;
|
|
7
|
+
/** One captured constructable stylesheet: a stable `id` (so deltas can target it) + its rule text. */
|
|
8
|
+
export interface AdoptedSheet {
|
|
9
|
+
id: number;
|
|
10
|
+
css: string;
|
|
11
|
+
}
|
|
12
|
+
export interface SDocument {
|
|
13
|
+
t: 'doc';
|
|
14
|
+
id: NodeId;
|
|
15
|
+
children: SNode[];
|
|
16
|
+
/** Serialized `document.adoptedStyleSheets` (the rrweb #1567 gap — captured natively, with ids). */
|
|
17
|
+
adoptedStyles?: AdoptedSheet[];
|
|
18
|
+
}
|
|
19
|
+
export interface SDocType {
|
|
20
|
+
t: 'dt';
|
|
21
|
+
id: NodeId;
|
|
22
|
+
name: string;
|
|
23
|
+
publicId: string;
|
|
24
|
+
systemId: string;
|
|
25
|
+
}
|
|
26
|
+
export interface SElement {
|
|
27
|
+
t: 'el';
|
|
28
|
+
id: NodeId;
|
|
29
|
+
tag: string;
|
|
30
|
+
ns?: 'svg' | 'math';
|
|
31
|
+
attrs: Record<string, string>;
|
|
32
|
+
children: SNode[];
|
|
33
|
+
/**
|
|
34
|
+
* Scroll offset at snapshot time, omitted when zero (so the common element costs nothing).
|
|
35
|
+
*
|
|
36
|
+
* Scroll used to exist ONLY as an interaction event, so the player could restore it only when a
|
|
37
|
+
* scroll event happened to sit inside the frames it currently held. Production keyframes land
|
|
38
|
+
* every 30 s at the median and a rebuild resets the document to the top, so a visitor who
|
|
39
|
+
* scrolled and then stopped replayed at the top of the page while their clicks — which carry
|
|
40
|
+
* their own scroll offset — were drawn hundreds of pixels away. rrweb stores the same two values
|
|
41
|
+
* as `rr_scrollLeft`/`rr_scrollTop`.
|
|
42
|
+
*/
|
|
43
|
+
sx?: number;
|
|
44
|
+
sy?: number;
|
|
45
|
+
/**
|
|
46
|
+
* Open shadow root attached to this element (web components). Closed roots are inaccessible
|
|
47
|
+
* (`element.shadowRoot` is null) and are never captured. Light-DOM children stay in `children`, so
|
|
48
|
+
* the player rebuilds host + shadow + light DOM and the browser distributes `<slot>`s natively.
|
|
49
|
+
*/
|
|
50
|
+
shadow?: SShadow;
|
|
51
|
+
}
|
|
52
|
+
/** An inlined external resource (currently web fonts). `css` is a rewritten `@font-face` block with
|
|
53
|
+
* its `src url()` swapped to a `data:` URL; the player appends it as a stylesheet so the font renders
|
|
54
|
+
* even when the original is cross-origin/non-CORS/offline. Hash-addressed → emitted once, deduped. */
|
|
55
|
+
export interface SResource {
|
|
56
|
+
hash: string;
|
|
57
|
+
kind: 'font';
|
|
58
|
+
css: string;
|
|
59
|
+
}
|
|
60
|
+
/** A captured open shadow root: its own registry id (so deltas can target it as a parent), its
|
|
61
|
+
* subtree, and its own adoptedStyleSheets. */
|
|
62
|
+
export interface SShadow {
|
|
63
|
+
mode: 'open';
|
|
64
|
+
id: NodeId;
|
|
65
|
+
children: SNode[];
|
|
66
|
+
adoptedStyles?: AdoptedSheet[];
|
|
67
|
+
}
|
|
68
|
+
export interface SText {
|
|
69
|
+
t: 'tx';
|
|
70
|
+
id: NodeId;
|
|
71
|
+
value: string;
|
|
72
|
+
}
|
|
73
|
+
export interface SComment {
|
|
74
|
+
t: 'cm';
|
|
75
|
+
id: NodeId;
|
|
76
|
+
value: string;
|
|
77
|
+
}
|
|
78
|
+
export interface SnapshotOptions {
|
|
79
|
+
/** Mask all text nodes (except <style>/<script>). Default true. */
|
|
80
|
+
maskAllText?: boolean;
|
|
81
|
+
/** Mask input/textarea values + sensitive attributes; block password fields. Default true. */
|
|
82
|
+
maskAllInputs?: boolean;
|
|
83
|
+
/** Extra CSS selectors whose subtree text is masked even when maskAllText is off. `contenteditable`
|
|
84
|
+
* + `[data-scalebun-mask]` are always masked in addition to these. Invalid selectors are ignored. */
|
|
85
|
+
maskSelectors?: string[];
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* A stylesheet a CSSOM delta targets: an owned sheet via its `<style>`/`<link>` node id, or a
|
|
89
|
+
* constructable (adopted) sheet via its synthetic `adopted` id (see `cssom.ts`).
|
|
90
|
+
*/
|
|
91
|
+
export type SheetRef = {
|
|
92
|
+
node: NodeId;
|
|
93
|
+
} | {
|
|
94
|
+
adopted: number;
|
|
95
|
+
};
|
|
96
|
+
/** Incremental delta ops (a `frame` delta is a `Mutation[]`). Each references registry ids. */
|
|
97
|
+
export type Mutation = {
|
|
98
|
+
op: 'add';
|
|
99
|
+
parent: NodeId;
|
|
100
|
+
next: NodeId | null;
|
|
101
|
+
node: SNode;
|
|
102
|
+
} | {
|
|
103
|
+
op: 'remove';
|
|
104
|
+
parent: NodeId;
|
|
105
|
+
id: NodeId;
|
|
106
|
+
} | {
|
|
107
|
+
op: 'attr';
|
|
108
|
+
id: NodeId;
|
|
109
|
+
key: string;
|
|
110
|
+
value: string | null;
|
|
111
|
+
} | {
|
|
112
|
+
op: 'text';
|
|
113
|
+
id: NodeId;
|
|
114
|
+
value: string;
|
|
115
|
+
} | {
|
|
116
|
+
op: 'sheet';
|
|
117
|
+
sheet: SheetRef;
|
|
118
|
+
action: 'insert';
|
|
119
|
+
rule: string;
|
|
120
|
+
index: number;
|
|
121
|
+
} | {
|
|
122
|
+
op: 'sheet';
|
|
123
|
+
sheet: SheetRef;
|
|
124
|
+
action: 'delete';
|
|
125
|
+
index: number;
|
|
126
|
+
} | {
|
|
127
|
+
op: 'sheet';
|
|
128
|
+
sheet: SheetRef;
|
|
129
|
+
action: 'replace';
|
|
130
|
+
rules: string[];
|
|
131
|
+
} | {
|
|
132
|
+
op: 'canvas';
|
|
133
|
+
id: NodeId;
|
|
134
|
+
data: string;
|
|
135
|
+
w: number;
|
|
136
|
+
h: number;
|
|
137
|
+
} | {
|
|
138
|
+
op: 'iframe';
|
|
139
|
+
id: NodeId;
|
|
140
|
+
doc: SNode;
|
|
141
|
+
} | {
|
|
142
|
+
op: 'shadow';
|
|
143
|
+
host: NodeId;
|
|
144
|
+
shadow: SShadow;
|
|
145
|
+
} | {
|
|
146
|
+
op: 'resource';
|
|
147
|
+
resources: SResource[];
|
|
148
|
+
};
|
|
149
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/features/replay/engine/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/features/replay/engine/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WebGL replay capture — the missing half of canvas recording. The `CanvasRecorder` snapshots each
|
|
3
|
+
* <canvas> from a throttled loop via `toDataURL`/`drawImage`. That works for a 2D canvas, but a WebGL
|
|
4
|
+
* canvas defaults to `preserveDrawingBuffer: false` — the browser clears the drawing buffer right after
|
|
5
|
+
* it composites the frame, so by the time the async loop reads it the pixels are GONE → WebGL/3D
|
|
6
|
+
* (games, three.js, maps, charts, video-on-canvas) replays BLANK.
|
|
7
|
+
*
|
|
8
|
+
* The fix (same approach rrweb uses): patch `getContext` so any `'webgl'|'webgl2'|'experimental-webgl'`
|
|
9
|
+
* context is created with `preserveDrawingBuffer: true`. The buffer then survives compositing and the
|
|
10
|
+
* EXISTING capture loop + player draw it back — no other engine change needed.
|
|
11
|
+
*
|
|
12
|
+
* MUST install BEFORE the app creates its WebGL context (the attribute is fixed at creation and can't be
|
|
13
|
+
* changed after) → installed in `ReplayFeature.setup()` at bootstrap, only for sampled sessions with
|
|
14
|
+
* canvas capture on. Idempotent, feature-detected, never throws; returns an uninstall fn. Contexts
|
|
15
|
+
* created before install (e.g. SDK initialised after the app rendered) keep the default and stay blank —
|
|
16
|
+
* a documented limitation, not a silent gap.
|
|
17
|
+
*
|
|
18
|
+
* Trade-off: `preserveDrawingBuffer: true` costs a little GPU memory/bandwidth (the buffer can't be
|
|
19
|
+
* discarded). We pay it only when canvas replay is enabled AND the session is sampled in.
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* Force `preserveDrawingBuffer: true` for WebGL contexts so the canvas recorder can snapshot them.
|
|
23
|
+
* No-op + safe when the DOM is unavailable or already patched. Returns an idempotent uninstall fn.
|
|
24
|
+
*/
|
|
25
|
+
export declare function installWebGLPreserve(): () => void;
|
|
26
|
+
//# sourceMappingURL=webglPatch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webglPatch.d.ts","sourceRoot":"","sources":["../../../../src/features/replay/engine/webglPatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAuCH;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,IAAI,CAuBjD"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WebGL replay capture — the missing half of canvas recording. The `CanvasRecorder` snapshots each
|
|
3
|
+
* <canvas> from a throttled loop via `toDataURL`/`drawImage`. That works for a 2D canvas, but a WebGL
|
|
4
|
+
* canvas defaults to `preserveDrawingBuffer: false` — the browser clears the drawing buffer right after
|
|
5
|
+
* it composites the frame, so by the time the async loop reads it the pixels are GONE → WebGL/3D
|
|
6
|
+
* (games, three.js, maps, charts, video-on-canvas) replays BLANK.
|
|
7
|
+
*
|
|
8
|
+
* The fix (same approach rrweb uses): patch `getContext` so any `'webgl'|'webgl2'|'experimental-webgl'`
|
|
9
|
+
* context is created with `preserveDrawingBuffer: true`. The buffer then survives compositing and the
|
|
10
|
+
* EXISTING capture loop + player draw it back — no other engine change needed.
|
|
11
|
+
*
|
|
12
|
+
* MUST install BEFORE the app creates its WebGL context (the attribute is fixed at creation and can't be
|
|
13
|
+
* changed after) → installed in `ReplayFeature.setup()` at bootstrap, only for sampled sessions with
|
|
14
|
+
* canvas capture on. Idempotent, feature-detected, never throws; returns an uninstall fn. Contexts
|
|
15
|
+
* created before install (e.g. SDK initialised after the app rendered) keep the default and stay blank —
|
|
16
|
+
* a documented limitation, not a silent gap.
|
|
17
|
+
*
|
|
18
|
+
* Trade-off: `preserveDrawingBuffer: true` costs a little GPU memory/bandwidth (the buffer can't be
|
|
19
|
+
* discarded). We pay it only when canvas replay is enabled AND the session is sampled in.
|
|
20
|
+
*/
|
|
21
|
+
const PATCH_FLAG = '__scalebunWebglPatched';
|
|
22
|
+
const WEBGL_TYPES = new Set(['webgl', 'webgl2', 'experimental-webgl', 'experimental-webgl2']);
|
|
23
|
+
/** Wrap one prototype's `getContext` to force `preserveDrawingBuffer` on WebGL contexts. */
|
|
24
|
+
function patchProto(proto) {
|
|
25
|
+
if (!proto || typeof proto.getContext !== 'function')
|
|
26
|
+
return null;
|
|
27
|
+
const holder = proto;
|
|
28
|
+
if (holder[PATCH_FLAG])
|
|
29
|
+
return null; // already patched (idempotent)
|
|
30
|
+
const original = proto.getContext;
|
|
31
|
+
const wrapped = function (type, attrs) {
|
|
32
|
+
if (typeof type === 'string' && WEBGL_TYPES.has(type)) {
|
|
33
|
+
// Force preserveDrawingBuffer on; keep every other caller-supplied attribute.
|
|
34
|
+
const merged = { ...(attrs ?? {}), preserveDrawingBuffer: true };
|
|
35
|
+
return original.call(this, type, merged);
|
|
36
|
+
}
|
|
37
|
+
// 2D / bitmaprenderer / anything else — untouched.
|
|
38
|
+
return original.call(this, type, attrs);
|
|
39
|
+
};
|
|
40
|
+
proto.getContext = wrapped;
|
|
41
|
+
holder[PATCH_FLAG] = true;
|
|
42
|
+
return () => {
|
|
43
|
+
// Only restore if it's still OUR wrapper (don't clobber a later patch by another tool).
|
|
44
|
+
if (proto.getContext === wrapped) {
|
|
45
|
+
proto.getContext = original;
|
|
46
|
+
}
|
|
47
|
+
delete holder[PATCH_FLAG];
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Force `preserveDrawingBuffer: true` for WebGL contexts so the canvas recorder can snapshot them.
|
|
52
|
+
* No-op + safe when the DOM is unavailable or already patched. Returns an idempotent uninstall fn.
|
|
53
|
+
*/
|
|
54
|
+
export function installWebGLPreserve() {
|
|
55
|
+
if (typeof HTMLCanvasElement === 'undefined')
|
|
56
|
+
return () => { };
|
|
57
|
+
const uninstalls = [];
|
|
58
|
+
try {
|
|
59
|
+
const c = patchProto(HTMLCanvasElement.prototype);
|
|
60
|
+
if (c)
|
|
61
|
+
uninstalls.push(c);
|
|
62
|
+
// Best-effort: main-thread OffscreenCanvas too (worker OffscreenCanvas is out of reach).
|
|
63
|
+
if (typeof OffscreenCanvas !== 'undefined') {
|
|
64
|
+
const o = patchProto(OffscreenCanvas.prototype);
|
|
65
|
+
if (o)
|
|
66
|
+
uninstalls.push(o);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
/* never break capture over a patch failure */
|
|
71
|
+
}
|
|
72
|
+
return () => {
|
|
73
|
+
for (const u of uninstalls) {
|
|
74
|
+
try {
|
|
75
|
+
u();
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
/* ignore */
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=webglPatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webglPatch.js","sourceRoot":"","sources":["../../../../src/features/replay/engine/webglPatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,UAAU,GAAG,wBAAwB,CAAC;AAC5C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,qBAAqB,CAAC,CAAC,CAAC;AAI9F,4FAA4F;AAC5F,SAAS,UAAU,CAAC,KAA2C;IAC7D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IAClE,MAAM,MAAM,GAAG,KAA2C,CAAC;IAC3D,IAAI,MAAM,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,+BAA+B;IAEpE,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAwB,CAAC;IAChD,MAAM,OAAO,GAAG,UAEd,IAAY,EACZ,KAA8B;QAE9B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,8EAA8E;YAC9E,MAAM,MAAM,GAA2B,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC;YACzF,OAAQ,QAA+D,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACnG,CAAC;QACD,mDAAmD;QACnD,OAAQ,QAAgD,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACnF,CAAC,CAAC;IAED,KAAiC,CAAC,UAAU,GAAG,OAAO,CAAC;IACxD,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IAC1B,OAAO,GAAG,EAAE;QACV,wFAAwF;QACxF,IAAK,KAAiC,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;YAC7D,KAAiC,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC3D,CAAC;QACD,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,IAAI,OAAO,iBAAiB,KAAK,WAAW;QAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAsB,EAAE,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,yFAAyF;QACzF,IAAI,OAAO,eAAe,KAAK,WAAW,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,UAAU,CAAC,eAAe,CAAC,SAAgD,CAAC,CAAC;YACvF,IAAI,CAAC;gBAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,8CAA8C;IAChD,CAAC;IACD,OAAO,GAAG,EAAE;QACV,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,CAAC,EAAE,CAAC;YACN,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY;YACd,CAAC;QACH,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adaptive quality — replay's self-healing-without-corrupting differentiator.
|
|
3
|
+
*
|
|
4
|
+
* Under main-thread pressure (long tasks) or egress backpressure (pipeline pending), shed capture in
|
|
5
|
+
* strict priority order — **canvas → mousemove → scroll** — and NEVER touch mutations, CSSOM, or
|
|
6
|
+
* input. Those are the correctness floor (DOM structure) + the key user-intent signals; degrading
|
|
7
|
+
* fidelity must never drop the data a replay needs to reconstruct or to surface friction. When
|
|
8
|
+
* pressure clears, capture returns to full quality automatically.
|
|
9
|
+
*
|
|
10
|
+
* Pure `computeLevel` + `adapt` are unit-tested; the controller wires the (best-effort, gracefully-
|
|
11
|
+
* absent on Safari/FF) long-task observer + the egress signal on a 1s sampling window.
|
|
12
|
+
*/
|
|
13
|
+
import type { FrameItem } from '@scalebun/protocol';
|
|
14
|
+
export type QualityLevel = 0 | 1 | 2 | 3;
|
|
15
|
+
/** Map a sampling window's long-task ms + egress backlog to a shed level. Thresholds are heuristic
|
|
16
|
+
* and intentionally conservative (start shedding only the cheapest signal first).
|
|
17
|
+
*
|
|
18
|
+
* Level 3 no longer sheds anything beyond level 2 (see `adapt` — scroll is no longer sheddable). It is
|
|
19
|
+
* retained as a distinct SEVERE-PRESSURE signal: it is the level worth reporting to the viewer as
|
|
20
|
+
* "captured under heavy load here", and collapsing it into 2 would throw that away. */
|
|
21
|
+
export declare function computeLevel(longTaskMs: number, pending: number): QualityLevel;
|
|
22
|
+
/**
|
|
23
|
+
* Trim a DELTA frame for the current level. Returns the (possibly event-trimmed) frame, or null to
|
|
24
|
+
* drop it. Keyframes and mutation/CSSOM/input deltas always pass — only canvas/move/scroll shed.
|
|
25
|
+
*/
|
|
26
|
+
export declare function adapt(frame: FrameItem, level: QualityLevel): FrameItem | null;
|
|
27
|
+
export declare class AdaptiveController {
|
|
28
|
+
private readonly egressPending?;
|
|
29
|
+
private longTaskMs;
|
|
30
|
+
private _level;
|
|
31
|
+
private po?;
|
|
32
|
+
private timer?;
|
|
33
|
+
constructor(egressPending?: (() => number) | undefined);
|
|
34
|
+
private sample;
|
|
35
|
+
get level(): QualityLevel;
|
|
36
|
+
dispose(): void;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=adaptive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adaptive.d.ts","sourceRoot":"","sources":["../../../../src/features/replay/lifecycle/adaptive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEzC;;;;;wFAKwF;AACxF,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,CAK9E;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,CAiC7E;AAED,qBAAa,kBAAkB;IAMjB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;IAL3C,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,EAAE,CAAC,CAAsB;IACjC,OAAO,CAAC,KAAK,CAAC,CAAiC;gBAElB,aAAa,CAAC,GAAE,MAAM,MAAM,aAAA;IAgBzD,OAAO,CAAC,MAAM;IAMd,IAAI,KAAK,IAAI,YAAY,CAExB;IAED,OAAO,IAAI,IAAI;CAKhB"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/** Map a sampling window's long-task ms + egress backlog to a shed level. Thresholds are heuristic
|
|
2
|
+
* and intentionally conservative (start shedding only the cheapest signal first).
|
|
3
|
+
*
|
|
4
|
+
* Level 3 no longer sheds anything beyond level 2 (see `adapt` — scroll is no longer sheddable). It is
|
|
5
|
+
* retained as a distinct SEVERE-PRESSURE signal: it is the level worth reporting to the viewer as
|
|
6
|
+
* "captured under heavy load here", and collapsing it into 2 would throw that away. */
|
|
7
|
+
export function computeLevel(longTaskMs, pending) {
|
|
8
|
+
if (longTaskMs > 700 || pending > 800)
|
|
9
|
+
return 3; // severe pressure (reported, sheds as level 2)
|
|
10
|
+
if (longTaskMs > 350 || pending > 400)
|
|
11
|
+
return 2; // + mousemove
|
|
12
|
+
if (longTaskMs > 150 || pending > 100)
|
|
13
|
+
return 1; // canvas
|
|
14
|
+
return 0;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Trim a DELTA frame for the current level. Returns the (possibly event-trimmed) frame, or null to
|
|
18
|
+
* drop it. Keyframes and mutation/CSSOM/input deltas always pass — only canvas/move/scroll shed.
|
|
19
|
+
*/
|
|
20
|
+
export function adapt(frame, level) {
|
|
21
|
+
if (level === 0)
|
|
22
|
+
return frame;
|
|
23
|
+
// Canvas frames are pure op:'canvas' — lowest priority, shed first (and they're opt-in anyway).
|
|
24
|
+
const muts = frame.mutations;
|
|
25
|
+
if (level >= 1 && Array.isArray(muts) && muts.length > 0 && muts.every((m) => m.op === 'canvas')) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Interaction frames: shed high-frequency, low-signal events. Clicks/input/viewport stay.
|
|
30
|
+
*
|
|
31
|
+
* `scroll` is NOT sheddable, though it used to be at level 3. It is not a low-signal stream — it is a
|
|
32
|
+
* DEPENDENCY of the click and cursor coordinates. Those are captured in VIEWPORT space
|
|
33
|
+
* (`x: clientX + iframeOffset`, see engine/interactions.ts), so playback is only correct because the
|
|
34
|
+
* replayer re-applies each scroll position before drawing the overlay. Drop scroll and the retained
|
|
35
|
+
* clicks are not sparser, they are WRONG — placed against whatever scroll offset happened to survive.
|
|
36
|
+
*
|
|
37
|
+
* That contradicted this module's own rule ("degrading fidelity must never drop the data a replay needs
|
|
38
|
+
* to reconstruct or to surface friction"): click position IS friction data. Reported live as "click is
|
|
39
|
+
* a lil diff space" on long sessions, which is when `pending` climbs past 800 and stays there.
|
|
40
|
+
*
|
|
41
|
+
* Re-shedding scroll only becomes safe once clicks carry their own scroll offset — see track C2 in
|
|
42
|
+
* docs/REPLAY-100-PLAN.md. Until then this costs a little bandwidth and buys correctness.
|
|
43
|
+
*/
|
|
44
|
+
const events = frame.events;
|
|
45
|
+
if (Array.isArray(events) && events.length > 0) {
|
|
46
|
+
const keep = events.filter((e) => !(level >= 2 && e.k === 'move'));
|
|
47
|
+
if (keep.length === 0)
|
|
48
|
+
return null;
|
|
49
|
+
if (keep.length !== events.length)
|
|
50
|
+
frame.events = keep;
|
|
51
|
+
}
|
|
52
|
+
return frame;
|
|
53
|
+
}
|
|
54
|
+
export class AdaptiveController {
|
|
55
|
+
constructor(egressPending) {
|
|
56
|
+
this.egressPending = egressPending;
|
|
57
|
+
this.longTaskMs = 0;
|
|
58
|
+
this._level = 0;
|
|
59
|
+
if (typeof PerformanceObserver !== 'undefined') {
|
|
60
|
+
try {
|
|
61
|
+
this.po = new PerformanceObserver((list) => {
|
|
62
|
+
for (const e of list.getEntries())
|
|
63
|
+
this.longTaskMs += e.duration;
|
|
64
|
+
});
|
|
65
|
+
this.po.observe({ type: 'longtask', buffered: false });
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
/* longtask unsupported (Safari/FF) → CPU signal absent; egress signal still works */
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
if (typeof setInterval === 'function') {
|
|
72
|
+
this.timer = setInterval(() => this.sample(), 1000);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
sample() {
|
|
76
|
+
const lt = this.longTaskMs;
|
|
77
|
+
this.longTaskMs = 0;
|
|
78
|
+
this._level = computeLevel(lt, this.egressPending?.() ?? 0);
|
|
79
|
+
}
|
|
80
|
+
get level() {
|
|
81
|
+
return this._level;
|
|
82
|
+
}
|
|
83
|
+
dispose() {
|
|
84
|
+
if (this.timer)
|
|
85
|
+
clearInterval(this.timer);
|
|
86
|
+
this.po?.disconnect();
|
|
87
|
+
this.po = undefined;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=adaptive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adaptive.js","sourceRoot":"","sources":["../../../../src/features/replay/lifecycle/adaptive.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checkpoint cadence — installs the time / visibility / URL triggers that force a re-keyframe so
|
|
3
|
+
* long-running and SPA sessions stay bounded (short delta chains) and seekable (a keyframe per
|
|
4
|
+
* ~interval and per route). Lazy (loaded with the engine); returns a disposer that fully unwinds,
|
|
5
|
+
* including un-patching History.
|
|
6
|
+
*
|
|
7
|
+
* Why each trigger:
|
|
8
|
+
* - time: caps the delta-chain length on a quiet-but-long session (and periodically drains the
|
|
9
|
+
* mutation pile that accrues while a tab is hidden — rAF, which the recorder batches on, does
|
|
10
|
+
* not fire when hidden).
|
|
11
|
+
* - visibility→visible: re-baseline on return (the DOM may have changed; the pile drains).
|
|
12
|
+
* - url: SPA route change → a fresh keyframe so the player can seek per page.
|
|
13
|
+
* - ui-state: a UI state dimension changed (a drawer opened, a dialog closed). See below.
|
|
14
|
+
*/
|
|
15
|
+
export interface CadenceOptions {
|
|
16
|
+
/** Periodic checkpoint interval (ms). <=0 or Infinity disables the timer. */
|
|
17
|
+
keyframeIntervalMs: number;
|
|
18
|
+
onCheckpoint: (reason: string) => void;
|
|
19
|
+
/**
|
|
20
|
+
* Override the state reader. Production uses the module import above; this exists so the trigger
|
|
21
|
+
* can be tested by handing it a function instead of a DOM full of drawers.
|
|
22
|
+
*/
|
|
23
|
+
uiStateSignature?: () => string | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* How long the signature must hold still before a keyframe is taken.
|
|
26
|
+
*
|
|
27
|
+
* A drawer animates for 200-300 ms on most sites, and a keyframe captured mid-animation shows
|
|
28
|
+
* the drawer half-open: a picture of something the visitor never saw, which is the exact defect
|
|
29
|
+
* the state lane exists to prevent. Waiting for stability rather than for a fixed delay means a
|
|
30
|
+
* fast toggle is captured fast and a slow one is still captured correctly.
|
|
31
|
+
*/
|
|
32
|
+
uiStateSettleMs?: number;
|
|
33
|
+
}
|
|
34
|
+
export declare function installCadence(o: CadenceOptions): () => void;
|
|
35
|
+
//# sourceMappingURL=cadence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cadence.d.ts","sourceRoot":"","sources":["../../../../src/features/replay/lifecycle/cadence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAYH,MAAM,WAAW,cAAc;IAC7B,6EAA6E;IAC7E,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAC5C;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAKD,wBAAgB,cAAc,CAAC,CAAC,EAAE,cAAc,GAAG,MAAM,IAAI,CA4H5D"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checkpoint cadence — installs the time / visibility / URL triggers that force a re-keyframe so
|
|
3
|
+
* long-running and SPA sessions stay bounded (short delta chains) and seekable (a keyframe per
|
|
4
|
+
* ~interval and per route). Lazy (loaded with the engine); returns a disposer that fully unwinds,
|
|
5
|
+
* including un-patching History.
|
|
6
|
+
*
|
|
7
|
+
* Why each trigger:
|
|
8
|
+
* - time: caps the delta-chain length on a quiet-but-long session (and periodically drains the
|
|
9
|
+
* mutation pile that accrues while a tab is hidden — rAF, which the recorder batches on, does
|
|
10
|
+
* not fire when hidden).
|
|
11
|
+
* - visibility→visible: re-baseline on return (the DOM may have changed; the pile drains).
|
|
12
|
+
* - url: SPA route change → a fresh keyframe so the player can seek per page.
|
|
13
|
+
* - ui-state: a UI state dimension changed (a drawer opened, a dialog closed). See below.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* STATICALLY imported, and that is a size decision.
|
|
17
|
+
*
|
|
18
|
+
* A dynamic import from the recorder was tried first and cost 56 B of EAGER bundle — enough to break
|
|
19
|
+
* the core gate, which had 97 B of headroom. Naming a second entry point into the module moved it out
|
|
20
|
+
* of the lazy graph. A static import from this file, which is itself lazy, keeps it where it already
|
|
21
|
+
* was. Measured both ways with npm run size:check.
|
|
22
|
+
*/
|
|
23
|
+
import { readUiState } from '../../../core/index.js';
|
|
24
|
+
/** Default settle window. Long enough for a typical drawer transition, short enough to feel live. */
|
|
25
|
+
const UI_STATE_SETTLE_MS = 250;
|
|
26
|
+
export function installCadence(o) {
|
|
27
|
+
const disposers = [];
|
|
28
|
+
// 1. time cadence
|
|
29
|
+
if (o.keyframeIntervalMs > 0 && o.keyframeIntervalMs !== Infinity) {
|
|
30
|
+
const id = setInterval(() => o.onCheckpoint('time'), o.keyframeIntervalMs);
|
|
31
|
+
disposers.push(() => clearInterval(id));
|
|
32
|
+
}
|
|
33
|
+
// 2. visibility → visible (re-baseline on return)
|
|
34
|
+
if (typeof document !== 'undefined') {
|
|
35
|
+
const onVis = () => {
|
|
36
|
+
if (document.visibilityState === 'visible')
|
|
37
|
+
o.onCheckpoint('visible');
|
|
38
|
+
};
|
|
39
|
+
document.addEventListener('visibilitychange', onVis);
|
|
40
|
+
disposers.push(() => document.removeEventListener('visibilitychange', onVis));
|
|
41
|
+
}
|
|
42
|
+
// 3. URL change (SPA) — popstate/hashchange + patched History (pushState/replaceState don't emit
|
|
43
|
+
// popstate). Patches compose with other libraries and are restored exactly on dispose.
|
|
44
|
+
if (typeof window !== 'undefined' && typeof history !== 'undefined' && typeof location !== 'undefined') {
|
|
45
|
+
let lastHref = location.href;
|
|
46
|
+
const check = () => {
|
|
47
|
+
if (location.href !== lastHref) {
|
|
48
|
+
lastHref = location.href;
|
|
49
|
+
o.onCheckpoint('url');
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
window.addEventListener('popstate', check);
|
|
53
|
+
window.addEventListener('hashchange', check);
|
|
54
|
+
const origPush = history.pushState;
|
|
55
|
+
const origReplace = history.replaceState;
|
|
56
|
+
history.pushState = function (...args) {
|
|
57
|
+
const r = origPush.apply(this, args);
|
|
58
|
+
check();
|
|
59
|
+
return r;
|
|
60
|
+
};
|
|
61
|
+
history.replaceState = function (...args) {
|
|
62
|
+
const r = origReplace.apply(this, args);
|
|
63
|
+
check();
|
|
64
|
+
return r;
|
|
65
|
+
};
|
|
66
|
+
disposers.push(() => {
|
|
67
|
+
window.removeEventListener('popstate', check);
|
|
68
|
+
window.removeEventListener('hashchange', check);
|
|
69
|
+
// Restore only if still ours (don't clobber a later wrapper).
|
|
70
|
+
if (history.pushState !== origPush)
|
|
71
|
+
history.pushState = origPush;
|
|
72
|
+
if (history.replaceState !== origReplace)
|
|
73
|
+
history.replaceState = origReplace;
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* 4. UI STATE CHANGE — the trigger that did not exist, and the reason state-aware heatmaps had
|
|
78
|
+
* metadata with no matching picture.
|
|
79
|
+
*
|
|
80
|
+
* MEASURED ON PRODUCTION before this was written. For one app over thirty days there were 195
|
|
81
|
+
* clicks carrying `sidebar:open` across 107 sessions, and 47 windows in which the sidebar was
|
|
82
|
+
* PROVABLY open (two consecutive clicks both carrying `sidebar:open`, so it cannot have closed
|
|
83
|
+
* and reopened unobserved between them). Of those 47 windows:
|
|
84
|
+
*
|
|
85
|
+
* 4 contained a keyframe (8.5%) — the 30 s timer happening to fire while it was open
|
|
86
|
+
* 45 contained a delta (96%) — the mutation stream saw it every time
|
|
87
|
+
*
|
|
88
|
+
* The route with the second-most open clicks, /doctors with 69, had ZERO open-state keyframes.
|
|
89
|
+
* So the dashboard filtered heat to `sidebar:open` correctly and then had no reconstruction to
|
|
90
|
+
* draw it on, and said so: "State captured — matching reconstruction unavailable." That refusal
|
|
91
|
+
* was honest. What it was reporting is that the SDK never took a picture of the state.
|
|
92
|
+
*
|
|
93
|
+
* Nothing here polls. The signature is re-read only when the DOM actually changes an attribute
|
|
94
|
+
* that can carry state, which is what the automatic lane already reads: `aria-expanded` and a
|
|
95
|
+
* dialog’s `open`. Explicit `setUiState` declarations are picked up on the same pass, since the
|
|
96
|
+
* host almost always calls it alongside a DOM change; a declaration made with no DOM change at
|
|
97
|
+
* all is caught by the periodic checkpoint instead, which is a known and stated limit rather
|
|
98
|
+
* than a silent one.
|
|
99
|
+
*
|
|
100
|
+
* DEDUPED ON THE SIGNATURE, not on the mutation. A page that rewrites `aria-expanded="false"`
|
|
101
|
+
* to the same value on every render would otherwise checkpoint forever; the keyframe is taken
|
|
102
|
+
* only when the signature genuinely differs from the one at the last capture.
|
|
103
|
+
*/
|
|
104
|
+
/* Injected in tests; in production the reader comes from the shared cell in core, which the
|
|
105
|
+
journey feature registers at init. See core/uiStateReader for why it is not imported directly. */
|
|
106
|
+
const readState = o.uiStateSignature ?? readUiState;
|
|
107
|
+
if (readState && typeof MutationObserver !== 'undefined' && typeof document !== 'undefined') {
|
|
108
|
+
let lastSignature = readState();
|
|
109
|
+
let settleTimer;
|
|
110
|
+
const settle = () => {
|
|
111
|
+
settleTimer = undefined;
|
|
112
|
+
const now = readState();
|
|
113
|
+
if (now === lastSignature)
|
|
114
|
+
return;
|
|
115
|
+
lastSignature = now;
|
|
116
|
+
o.onCheckpoint('ui-state');
|
|
117
|
+
};
|
|
118
|
+
const observer = new MutationObserver(() => {
|
|
119
|
+
/* Restarted on every relevant mutation, so the timer measures QUIET rather than elapsed
|
|
120
|
+
time: an animation that keeps toggling the attribute defers the capture until it stops. */
|
|
121
|
+
if (settleTimer !== undefined)
|
|
122
|
+
clearTimeout(settleTimer);
|
|
123
|
+
settleTimer = setTimeout(settle, o.uiStateSettleMs ?? UI_STATE_SETTLE_MS);
|
|
124
|
+
});
|
|
125
|
+
observer.observe(document.documentElement, {
|
|
126
|
+
subtree: true,
|
|
127
|
+
attributes: true,
|
|
128
|
+
/* Exactly the two attributes the automatic state lane reads. Observing every attribute
|
|
129
|
+
would wake this on every class toggle on the page for nothing. */
|
|
130
|
+
attributeFilter: ['aria-expanded', 'open'],
|
|
131
|
+
});
|
|
132
|
+
disposers.push(() => {
|
|
133
|
+
if (settleTimer !== undefined)
|
|
134
|
+
clearTimeout(settleTimer);
|
|
135
|
+
observer.disconnect();
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
return () => {
|
|
139
|
+
for (const d of disposers) {
|
|
140
|
+
try {
|
|
141
|
+
d();
|
|
142
|
+
}
|
|
143
|
+
catch {
|
|
144
|
+
/* best-effort */
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=cadence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cadence.js","sourceRoot":"","sources":["../../../../src/features/replay/lifecycle/cadence.ts"],"names":[],"mappings":"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"}
|