@scalebun/react-native 1.10.4 → 1.10.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (791) hide show
  1. package/android/src/main/java/com/scalebun/replaysdk/tracking/InteractionTracker.kt +19 -0
  2. package/dist/scalebun.full.js +407 -57
  3. package/dist/scalebun.slim.js +404 -62
  4. package/lib/commonjs/bootstrap/SDKBootstrapper.js +17 -3
  5. package/lib/commonjs/core/config/schema.js +29 -0
  6. package/lib/commonjs/core/constants/version.js +1 -1
  7. package/lib/commonjs/debug/redaction.js +227 -41
  8. package/lib/commonjs/features/journey/ScaleBunDebugRoot.js +9 -1
  9. package/lib/commonjs/features/navigation/AutoScreenDetector.js +68 -16
  10. package/lib/commonjs/features/session/BackendSessionAdapter.js +73 -6
  11. package/lib/commonjs/features/session/SessionManager.js +28 -0
  12. package/lib/commonjs/public/ScaleBunFacade.js +79 -2
  13. package/lib/module/bootstrap/SDKBootstrapper.js +17 -3
  14. package/lib/module/core/config/schema.js +29 -0
  15. package/lib/module/core/constants/version.js +1 -1
  16. package/lib/module/debug/redaction.js +227 -41
  17. package/lib/module/features/journey/ScaleBunDebugRoot.js +9 -1
  18. package/lib/module/features/navigation/AutoScreenDetector.js +68 -16
  19. package/lib/module/features/session/BackendSessionAdapter.js +73 -6
  20. package/lib/module/features/session/SessionManager.js +28 -0
  21. package/lib/module/public/ScaleBunFacade.js +79 -2
  22. package/lib/typescript/core/config/schema.d.ts +8 -0
  23. package/lib/typescript/core/constants/version.d.ts +1 -1
  24. package/lib/typescript/debug/redaction.d.ts +8 -2
  25. package/lib/typescript/features/navigation/AutoScreenDetector.d.ts +25 -0
  26. package/lib/typescript/features/session/BackendSessionAdapter.d.ts +9 -0
  27. package/lib/typescript/features/session/SessionManager.d.ts +15 -0
  28. package/lib/typescript/public/ScaleBunFacade.d.ts +36 -2
  29. package/lib/typescript/public/types.d.ts +1 -1
  30. package/package.json +6 -2
  31. package/src/bootstrap/SDKBootstrapper.ts +17 -1
  32. package/src/core/config/schema.ts +22 -0
  33. package/src/core/constants/version.ts +1 -1
  34. package/src/debug/redaction.ts +235 -42
  35. package/src/features/journey/ScaleBunDebugRoot.tsx +9 -1
  36. package/src/features/navigation/AutoScreenDetector.ts +70 -16
  37. package/src/features/session/BackendSessionAdapter.ts +81 -7
  38. package/src/features/session/SessionManager.ts +31 -0
  39. package/src/public/ScaleBunFacade.ts +81 -2
  40. package/src/public/types.ts +1 -1
  41. package/dist/scalebun.full.js.map +0 -1
  42. package/dist/scalebun.slim.js.map +0 -1
  43. package/lib/commonjs/analytics/EventTracker.js.map +0 -1
  44. package/lib/commonjs/analytics/automaticEvents.js.map +0 -1
  45. package/lib/commonjs/analytics/batching.js.map +0 -1
  46. package/lib/commonjs/analytics/eventLane.js.map +0 -1
  47. package/lib/commonjs/bootstrap/FeatureRegistry.js.map +0 -1
  48. package/lib/commonjs/bootstrap/SDKBootstrapper.js.map +0 -1
  49. package/lib/commonjs/bucketing/fnv1a32.js.map +0 -1
  50. package/lib/commonjs/compat/codepush.js.map +0 -1
  51. package/lib/commonjs/config/ConfigManager.js.map +0 -1
  52. package/lib/commonjs/config/configTypes.js.map +0 -1
  53. package/lib/commonjs/core/architecture.js.map +0 -1
  54. package/lib/commonjs/core/clock/now.js.map +0 -1
  55. package/lib/commonjs/core/config/defaults.js.map +0 -1
  56. package/lib/commonjs/core/config/schema.js.map +0 -1
  57. package/lib/commonjs/core/constants/endpoints.js.map +0 -1
  58. package/lib/commonjs/core/constants/protocol.js.map +0 -1
  59. package/lib/commonjs/core/constants/timings.js.map +0 -1
  60. package/lib/commonjs/core/constants/version.js.map +0 -1
  61. package/lib/commonjs/core/context/app.js.map +0 -1
  62. package/lib/commonjs/core/context/device.js.map +0 -1
  63. package/lib/commonjs/core/context/session.js.map +0 -1
  64. package/lib/commonjs/core/context/user.js.map +0 -1
  65. package/lib/commonjs/core/contracts/IFeature.js.map +0 -1
  66. package/lib/commonjs/core/di/container.js.map +0 -1
  67. package/lib/commonjs/core/encoding/base64.js.map +0 -1
  68. package/lib/commonjs/core/id/deviceId.js.map +0 -1
  69. package/lib/commonjs/core/id/installationId.js.map +0 -1
  70. package/lib/commonjs/core/id/sessionId.js.map +0 -1
  71. package/lib/commonjs/core/lifecycle/appLifecycle.js.map +0 -1
  72. package/lib/commonjs/core/lifecycle/crashSafe.js.map +0 -1
  73. package/lib/commonjs/core/logger/errorClassification.js.map +0 -1
  74. package/lib/commonjs/core/logger/internalLogger.js.map +0 -1
  75. package/lib/commonjs/core/logger/levels.js.map +0 -1
  76. package/lib/commonjs/crypto/hmacSha256.js.map +0 -1
  77. package/lib/commonjs/debug/bootstrap.js.map +0 -1
  78. package/lib/commonjs/debug/commands.js.map +0 -1
  79. package/lib/commonjs/debug/configBuilder.js.map +0 -1
  80. package/lib/commonjs/debug/exportBridge.js.map +0 -1
  81. package/lib/commonjs/debug/hostResolver.js.map +0 -1
  82. package/lib/commonjs/debug/index.js.map +0 -1
  83. package/lib/commonjs/debug/metrics.js.map +0 -1
  84. package/lib/commonjs/debug/perf.js.map +0 -1
  85. package/lib/commonjs/debug/perfWiring.js.map +0 -1
  86. package/lib/commonjs/debug/protocol.js.map +0 -1
  87. package/lib/commonjs/debug/redaction.js.map +0 -1
  88. package/lib/commonjs/debug/replayWiring.js.map +0 -1
  89. package/lib/commonjs/debug/screenTracking.js.map +0 -1
  90. package/lib/commonjs/debug/sessionWiring.js.map +0 -1
  91. package/lib/commonjs/debug/stream.js.map +0 -1
  92. package/lib/commonjs/debug/transport.js.map +0 -1
  93. package/lib/commonjs/features/bugreport/BugReportFeature.js.map +0 -1
  94. package/lib/commonjs/features/bugreport/buildPayload.js.map +0 -1
  95. package/lib/commonjs/features/bugreport/index.js.map +0 -1
  96. package/lib/commonjs/features/crash/CrashFeature.js.map +0 -1
  97. package/lib/commonjs/features/crash/CrashReporter.js.map +0 -1
  98. package/lib/commonjs/features/crash/NativeCrashFeature.js.map +0 -1
  99. package/lib/commonjs/features/crash/capture.js.map +0 -1
  100. package/lib/commonjs/features/crash/globalHandler.js.map +0 -1
  101. package/lib/commonjs/features/crash/index.js.map +0 -1
  102. package/lib/commonjs/features/crash/nativeCrashBridge.js.map +0 -1
  103. package/lib/commonjs/features/crash/rejectionHandler.js.map +0 -1
  104. package/lib/commonjs/features/engage/EngageAnchor.js.map +0 -1
  105. package/lib/commonjs/features/engage/EngageArchetypeRenderers.js.map +0 -1
  106. package/lib/commonjs/features/engage/EngageInAppView.js.map +0 -1
  107. package/lib/commonjs/features/engage/EngageInlinePlacement.js.map +0 -1
  108. package/lib/commonjs/features/engage/EngagePromptProvider.js.map +0 -1
  109. package/lib/commonjs/features/engage/EngagePromptView.js.map +0 -1
  110. package/lib/commonjs/features/engage/EngageTransport.js.map +0 -1
  111. package/lib/commonjs/features/engage/EngageVariantContent.js.map +0 -1
  112. package/lib/commonjs/features/engage/__test-support__/reactNativeStub.js.map +0 -1
  113. package/lib/commonjs/features/engage/attachmentCapture.js.map +0 -1
  114. package/lib/commonjs/features/engage/captureVoiceAttachment.js.map +0 -1
  115. package/lib/commonjs/features/engage/engageCoachmarkTour.js.map +0 -1
  116. package/lib/commonjs/features/engage/engageGameLogic.js.map +0 -1
  117. package/lib/commonjs/features/engage/engageMediaSizing.js.map +0 -1
  118. package/lib/commonjs/features/engage/engageMultiStepSheet.js.map +0 -1
  119. package/lib/commonjs/features/engage/engageOutcome.js.map +0 -1
  120. package/lib/commonjs/features/engage/engagePushTokenBridge.js.map +0 -1
  121. package/lib/commonjs/features/engage/engageShakeBridge.js.map +0 -1
  122. package/lib/commonjs/features/engage/engageSignals.js.map +0 -1
  123. package/lib/commonjs/features/engage/engageStoreReviewBridge.js.map +0 -1
  124. package/lib/commonjs/features/engage/engageTestSeenStore.js.map +0 -1
  125. package/lib/commonjs/features/engage/engageThrottle.js.map +0 -1
  126. package/lib/commonjs/features/engage/engageTriggerEngine.js.map +0 -1
  127. package/lib/commonjs/features/engage/engageTypes.js.map +0 -1
  128. package/lib/commonjs/features/engage/engageVariantResolver.js.map +0 -1
  129. package/lib/commonjs/features/engage/engageWindowInsets.js.map +0 -1
  130. package/lib/commonjs/features/engage/gestureTriggerDetector.js.map +0 -1
  131. package/lib/commonjs/features/engage/transcription/TranscriptionProvider.js.map +0 -1
  132. package/lib/commonjs/features/install-referrer/installReferrer.js.map +0 -1
  133. package/lib/commonjs/features/journey/ScaleBunDebugRoot.js.map +0 -1
  134. package/lib/commonjs/features/journey/ScaleBunFlatList.js.map +0 -1
  135. package/lib/commonjs/features/journey/ScaleBunImpression.js.map +0 -1
  136. package/lib/commonjs/features/journey/ScaleBunScrollView.js.map +0 -1
  137. package/lib/commonjs/features/journey/ScaleBunSectionList.js.map +0 -1
  138. package/lib/commonjs/features/journey/calibrationContext.js.map +0 -1
  139. package/lib/commonjs/features/journey/gestureBuffer.js.map +0 -1
  140. package/lib/commonjs/features/journey/gestureDetector.js.map +0 -1
  141. package/lib/commonjs/features/journey/impression.js.map +0 -1
  142. package/lib/commonjs/features/journey/journeyManager.js.map +0 -1
  143. package/lib/commonjs/features/journey/journeyTypes.js.map +0 -1
  144. package/lib/commonjs/features/journey/navDetector.js.map +0 -1
  145. package/lib/commonjs/features/journey/screenshotHelper.js.map +0 -1
  146. package/lib/commonjs/features/journey/targetRegistry.js.map +0 -1
  147. package/lib/commonjs/features/journey/touchTarget.js.map +0 -1
  148. package/lib/commonjs/features/navigation/AutoScreenDetector.js.map +0 -1
  149. package/lib/commonjs/features/network/NetworkFeature.js.map +0 -1
  150. package/lib/commonjs/features/network/index.js.map +0 -1
  151. package/lib/commonjs/features/ota/OtaEventEmitter.js.map +0 -1
  152. package/lib/commonjs/features/ota/OtaOrchestrator.js.map +0 -1
  153. package/lib/commonjs/features/ota/OtaTypes.js.map +0 -1
  154. package/lib/commonjs/features/ota/deviceAttributes.js.map +0 -1
  155. package/lib/commonjs/features/ota/environment.js.map +0 -1
  156. package/lib/commonjs/features/ota/geoCountry.js.map +0 -1
  157. package/lib/commonjs/features/ota/retry.js.map +0 -1
  158. package/lib/commonjs/features/ota/signature.js.map +0 -1
  159. package/lib/commonjs/features/ota/useOtaUpdate.js.map +0 -1
  160. package/lib/commonjs/features/performance/PerformanceFeature.js.map +0 -1
  161. package/lib/commonjs/features/performance/collectors/AppLaunchCollector.js.map +0 -1
  162. package/lib/commonjs/features/performance/collectors/AutoScreenLoadCollector.js.map +0 -1
  163. package/lib/commonjs/features/performance/collectors/CustomTraceCollector.js.map +0 -1
  164. package/lib/commonjs/features/performance/collectors/FrameMetricsCollector.js.map +0 -1
  165. package/lib/commonjs/features/performance/collectors/JsStallCollector.js.map +0 -1
  166. package/lib/commonjs/features/performance/collectors/NetworkPerfCollector.js.map +0 -1
  167. package/lib/commonjs/features/performance/collectors/ScreenLoadCollector.js.map +0 -1
  168. package/lib/commonjs/features/performance/collectors/UiHangCollector.js.map +0 -1
  169. package/lib/commonjs/features/performance/config.js.map +0 -1
  170. package/lib/commonjs/features/performance/getNativePerformanceModule.js.map +0 -1
  171. package/lib/commonjs/features/performance/index.js.map +0 -1
  172. package/lib/commonjs/features/performance/metrics/MetricsEngine.js.map +0 -1
  173. package/lib/commonjs/features/performance/models.js.map +0 -1
  174. package/lib/commonjs/features/performance/transport/PerformanceTransport.js.map +0 -1
  175. package/lib/commonjs/features/profiler/ProfilerFeature.js.map +0 -1
  176. package/lib/commonjs/features/profiler/config.js.map +0 -1
  177. package/lib/commonjs/features/profiler/contracts.js.map +0 -1
  178. package/lib/commonjs/features/profiler/index.js.map +0 -1
  179. package/lib/commonjs/features/profiler/models.js.map +0 -1
  180. package/lib/commonjs/features/profiler/transport/ProfilerTransport.js.map +0 -1
  181. package/lib/commonjs/features/replay/bridge/adapters/bridgeAdapter.js.map +0 -1
  182. package/lib/commonjs/features/replay/bridge/eventEmitter.js.map +0 -1
  183. package/lib/commonjs/features/replay/bridge/nativeModule.js.map +0 -1
  184. package/lib/commonjs/features/replay/core/clock/clock.js.map +0 -1
  185. package/lib/commonjs/features/replay/core/config/defaults.js.map +0 -1
  186. package/lib/commonjs/features/replay/core/config/validator.js.map +0 -1
  187. package/lib/commonjs/features/replay/core/env/environmentDetector.js.map +0 -1
  188. package/lib/commonjs/features/replay/core/errors/safeCall.js.map +0 -1
  189. package/lib/commonjs/features/replay/core/ids/sessionId.js.map +0 -1
  190. package/lib/commonjs/features/replay/core/logger/logger.js.map +0 -1
  191. package/lib/commonjs/features/replay/core/privacy/privacyTypes.js.map +0 -1
  192. package/lib/commonjs/features/replay/core/queue/boundedQueue.js.map +0 -1
  193. package/lib/commonjs/features/replay/integrations/alert/alertInstrumentation.js.map +0 -1
  194. package/lib/commonjs/features/replay/integrations/logs/consoleIntegration.js.map +0 -1
  195. package/lib/commonjs/features/replay/integrations/network/networkAdapter.js.map +0 -1
  196. package/lib/commonjs/features/replay/integrations/react-navigation/navigationIntegration.js.map +0 -1
  197. package/lib/commonjs/features/replay/integrations/touch/ReplayRoot.js.map +0 -1
  198. package/lib/commonjs/features/replay/pipeline/batching/batchManager.js.map +0 -1
  199. package/lib/commonjs/features/replay/pipeline/envelope/envelopeBuilder.js.map +0 -1
  200. package/lib/commonjs/features/replay/pipeline/retry/retryPolicy.js.map +0 -1
  201. package/lib/commonjs/features/replay/pipeline/transport/transportTypes.js.map +0 -1
  202. package/lib/commonjs/features/replay/public/api.js.map +0 -1
  203. package/lib/commonjs/features/replay/public/enums.js.map +0 -1
  204. package/lib/commonjs/features/replay/public/types.js.map +0 -1
  205. package/lib/commonjs/features/replay/replay/breadcrumbs/breadcrumbCollector.js.map +0 -1
  206. package/lib/commonjs/features/replay/replay/frames/frameModels.js.map +0 -1
  207. package/lib/commonjs/features/replay/replay/session/sessionOrchestrator.js.map +0 -1
  208. package/lib/commonjs/features/replay/replay/timeline/timelineModels.js.map +0 -1
  209. package/lib/commonjs/features/replay/transport/BackendReplayTransport.js.map +0 -1
  210. package/lib/commonjs/features/replay/transport/CompositeReplayTransport.js.map +0 -1
  211. package/lib/commonjs/features/replay/transport/DesktopReplayTransport.js.map +0 -1
  212. package/lib/commonjs/features/replay/transport/ReplayTransport.js.map +0 -1
  213. package/lib/commonjs/features/session/BackendSessionAdapter.js.map +0 -1
  214. package/lib/commonjs/features/session/DesktopSessionTransport.js.map +0 -1
  215. package/lib/commonjs/features/session/JourneyEventPipeline.js.map +0 -1
  216. package/lib/commonjs/features/session/ReplayCaptureManager.js.map +0 -1
  217. package/lib/commonjs/features/session/ScrollTracker.js.map +0 -1
  218. package/lib/commonjs/features/session/SessionManager.js.map +0 -1
  219. package/lib/commonjs/features/session/SyncDecisionEngine.js.map +0 -1
  220. package/lib/commonjs/features/session/index.js.map +0 -1
  221. package/lib/commonjs/features/session/nativeCapture.js.map +0 -1
  222. package/lib/commonjs/features/session/outboxFrameCapture.js.map +0 -1
  223. package/lib/commonjs/features/session/sessionTypes.js.map +0 -1
  224. package/lib/commonjs/features/skan/skanBridge.js.map +0 -1
  225. package/lib/commonjs/features/skan/skanConversionManager.js.map +0 -1
  226. package/lib/commonjs/index.js.map +0 -1
  227. package/lib/commonjs/integrations/fetch/fetchInterceptor.js.map +0 -1
  228. package/lib/commonjs/integrations/navigation/screenTracker.js.map +0 -1
  229. package/lib/commonjs/integrations/network/bodyCapture.js.map +0 -1
  230. package/lib/commonjs/integrations/xhr/xhrInterceptor.js.map +0 -1
  231. package/lib/commonjs/metro/composeSourceMap.js.map +0 -1
  232. package/lib/commonjs/metro/featureModules.js.map +0 -1
  233. package/lib/commonjs/metro/index.js.map +0 -1
  234. package/lib/commonjs/metro/optionalDependencyStub.js.map +0 -1
  235. package/lib/commonjs/metro/optionalModules.js.map +0 -1
  236. package/lib/commonjs/metro/serializerCompose.js.map +0 -1
  237. package/lib/commonjs/pipeline/dispatcher/dispatcher.js.map +0 -1
  238. package/lib/commonjs/pipeline/envelope/envelope.js.map +0 -1
  239. package/lib/commonjs/pipeline/envelope/serializer.js.map +0 -1
  240. package/lib/commonjs/pipeline/processors/dedupe.js.map +0 -1
  241. package/lib/commonjs/pipeline/processors/enrich.js.map +0 -1
  242. package/lib/commonjs/pipeline/processors/sampling.js.map +0 -1
  243. package/lib/commonjs/pipeline/processors/sanitize.js.map +0 -1
  244. package/lib/commonjs/pipeline/queue/flushQueue.js.map +0 -1
  245. package/lib/commonjs/pipeline/queue/memoryQueue.js.map +0 -1
  246. package/lib/commonjs/pipeline/queue/persistentQueue.js.map +0 -1
  247. package/lib/commonjs/pipeline/queue/queuePolicy.js.map +0 -1
  248. package/lib/commonjs/pipeline/scheduler/flushScheduler.js.map +0 -1
  249. package/lib/commonjs/pipeline/scheduler/retryPolicy.js.map +0 -1
  250. package/lib/commonjs/public/ScaleBunErrorBoundary.js.map +0 -1
  251. package/lib/commonjs/public/ScaleBunFacade.js.map +0 -1
  252. package/lib/commonjs/public/ScaleBunProvider.js.map +0 -1
  253. package/lib/commonjs/public/typedTracker.js.map +0 -1
  254. package/lib/commonjs/public/types.js.map +0 -1
  255. package/lib/commonjs/push/PushManager.js.map +0 -1
  256. package/lib/commonjs/push/adapters/ManualAdapter.js.map +0 -1
  257. package/lib/commonjs/push/adapters/NativeBridgeAdapter.js.map +0 -1
  258. package/lib/commonjs/push/adapters/NoopAdapter.js.map +0 -1
  259. package/lib/commonjs/push/adapters/RNFirebaseMessagingAdapter.js.map +0 -1
  260. package/lib/commonjs/push/adapters/loadMessaging.js.map +0 -1
  261. package/lib/commonjs/push/adapters/loadNotifee.js.map +0 -1
  262. package/lib/commonjs/push/adapters/selectAdapter.js.map +0 -1
  263. package/lib/commonjs/push/detect/capabilities.js.map +0 -1
  264. package/lib/commonjs/push/index.js.map +0 -1
  265. package/lib/commonjs/push/native/nativeNotifications.js.map +0 -1
  266. package/lib/commonjs/push/types.js.map +0 -1
  267. package/lib/commonjs/specs/NativeReplaySdk.js.map +0 -1
  268. package/lib/commonjs/specs/NativeScaleBunCrash.js.map +0 -1
  269. package/lib/commonjs/specs/NativeScaleBunInstallReferrer.js.map +0 -1
  270. package/lib/commonjs/specs/NativeScaleBunOta.js.map +0 -1
  271. package/lib/commonjs/specs/NativeScaleBunPerformance.js.map +0 -1
  272. package/lib/commonjs/specs/NativeScaleBunProfiler.js.map +0 -1
  273. package/lib/commonjs/specs/NativeScaleBunStorage.js.map +0 -1
  274. package/lib/commonjs/storage/StorageBackend.js.map +0 -1
  275. package/lib/commonjs/storage/db/sqlite.js.map +0 -1
  276. package/lib/commonjs/storage/files/fileStore.js.map +0 -1
  277. package/lib/commonjs/transport/auth/sdkSession.js.map +0 -1
  278. package/lib/commonjs/transport/backoff/exponentialJitter.js.map +0 -1
  279. package/lib/commonjs/transport/http/endpoints.js.map +0 -1
  280. package/lib/commonjs/transport/http/httpClient.js.map +0 -1
  281. package/lib/commonjs/transport/rateLimit/retryAfter.js.map +0 -1
  282. package/lib/commonjs/transport/signing/requestSigner.js.map +0 -1
  283. package/lib/commonjs/vendor/protocol/index.js.map +0 -1
  284. package/lib/commonjs/vendor/protocol/internal/validation.js.map +0 -1
  285. package/lib/commonjs/vendor/sdk-contracts/bridge.js.map +0 -1
  286. package/lib/commonjs/vendor/sdk-contracts/config.js.map +0 -1
  287. package/lib/commonjs/vendor/sdk-contracts/events.js.map +0 -1
  288. package/lib/commonjs/vendor/sdk-contracts/features.js.map +0 -1
  289. package/lib/commonjs/vendor/sdk-contracts/index.js.map +0 -1
  290. package/lib/commonjs/vendor/sdk-contracts/platform.js.map +0 -1
  291. package/lib/commonjs/vendor/sdk-contracts/session-boundary.js.map +0 -1
  292. package/lib/commonjs/vendor/sdk-contracts/session.js.map +0 -1
  293. package/lib/module/analytics/EventTracker.js.map +0 -1
  294. package/lib/module/analytics/automaticEvents.js.map +0 -1
  295. package/lib/module/analytics/batching.js.map +0 -1
  296. package/lib/module/analytics/eventLane.js.map +0 -1
  297. package/lib/module/bootstrap/FeatureRegistry.js.map +0 -1
  298. package/lib/module/bootstrap/SDKBootstrapper.js.map +0 -1
  299. package/lib/module/bucketing/fnv1a32.js.map +0 -1
  300. package/lib/module/compat/codepush.js.map +0 -1
  301. package/lib/module/config/ConfigManager.js.map +0 -1
  302. package/lib/module/config/configTypes.js.map +0 -1
  303. package/lib/module/core/architecture.js.map +0 -1
  304. package/lib/module/core/clock/now.js.map +0 -1
  305. package/lib/module/core/config/defaults.js.map +0 -1
  306. package/lib/module/core/config/schema.js.map +0 -1
  307. package/lib/module/core/constants/endpoints.js.map +0 -1
  308. package/lib/module/core/constants/protocol.js.map +0 -1
  309. package/lib/module/core/constants/timings.js.map +0 -1
  310. package/lib/module/core/constants/version.js.map +0 -1
  311. package/lib/module/core/context/app.js.map +0 -1
  312. package/lib/module/core/context/device.js.map +0 -1
  313. package/lib/module/core/context/session.js.map +0 -1
  314. package/lib/module/core/context/user.js.map +0 -1
  315. package/lib/module/core/contracts/IFeature.js.map +0 -1
  316. package/lib/module/core/di/container.js.map +0 -1
  317. package/lib/module/core/encoding/base64.js.map +0 -1
  318. package/lib/module/core/id/deviceId.js.map +0 -1
  319. package/lib/module/core/id/installationId.js.map +0 -1
  320. package/lib/module/core/id/sessionId.js.map +0 -1
  321. package/lib/module/core/lifecycle/appLifecycle.js.map +0 -1
  322. package/lib/module/core/lifecycle/crashSafe.js.map +0 -1
  323. package/lib/module/core/logger/errorClassification.js.map +0 -1
  324. package/lib/module/core/logger/internalLogger.js.map +0 -1
  325. package/lib/module/core/logger/levels.js.map +0 -1
  326. package/lib/module/crypto/hmacSha256.js.map +0 -1
  327. package/lib/module/debug/bootstrap.js.map +0 -1
  328. package/lib/module/debug/commands.js.map +0 -1
  329. package/lib/module/debug/configBuilder.js.map +0 -1
  330. package/lib/module/debug/exportBridge.js.map +0 -1
  331. package/lib/module/debug/hostResolver.js.map +0 -1
  332. package/lib/module/debug/index.js.map +0 -1
  333. package/lib/module/debug/metrics.js.map +0 -1
  334. package/lib/module/debug/perf.js.map +0 -1
  335. package/lib/module/debug/perfWiring.js.map +0 -1
  336. package/lib/module/debug/protocol.js.map +0 -1
  337. package/lib/module/debug/redaction.js.map +0 -1
  338. package/lib/module/debug/replayWiring.js.map +0 -1
  339. package/lib/module/debug/screenTracking.js.map +0 -1
  340. package/lib/module/debug/sessionWiring.js.map +0 -1
  341. package/lib/module/debug/stream.js.map +0 -1
  342. package/lib/module/debug/transport.js.map +0 -1
  343. package/lib/module/features/bugreport/BugReportFeature.js.map +0 -1
  344. package/lib/module/features/bugreport/buildPayload.js.map +0 -1
  345. package/lib/module/features/bugreport/index.js.map +0 -1
  346. package/lib/module/features/crash/CrashFeature.js.map +0 -1
  347. package/lib/module/features/crash/CrashReporter.js.map +0 -1
  348. package/lib/module/features/crash/NativeCrashFeature.js.map +0 -1
  349. package/lib/module/features/crash/capture.js.map +0 -1
  350. package/lib/module/features/crash/globalHandler.js.map +0 -1
  351. package/lib/module/features/crash/index.js.map +0 -1
  352. package/lib/module/features/crash/nativeCrashBridge.js.map +0 -1
  353. package/lib/module/features/crash/rejectionHandler.js.map +0 -1
  354. package/lib/module/features/engage/EngageAnchor.js.map +0 -1
  355. package/lib/module/features/engage/EngageArchetypeRenderers.js.map +0 -1
  356. package/lib/module/features/engage/EngageInAppView.js.map +0 -1
  357. package/lib/module/features/engage/EngageInlinePlacement.js.map +0 -1
  358. package/lib/module/features/engage/EngagePromptProvider.js.map +0 -1
  359. package/lib/module/features/engage/EngagePromptView.js.map +0 -1
  360. package/lib/module/features/engage/EngageTransport.js.map +0 -1
  361. package/lib/module/features/engage/EngageVariantContent.js.map +0 -1
  362. package/lib/module/features/engage/__test-support__/reactNativeStub.js.map +0 -1
  363. package/lib/module/features/engage/attachmentCapture.js.map +0 -1
  364. package/lib/module/features/engage/captureVoiceAttachment.js.map +0 -1
  365. package/lib/module/features/engage/engageCoachmarkTour.js.map +0 -1
  366. package/lib/module/features/engage/engageGameLogic.js.map +0 -1
  367. package/lib/module/features/engage/engageMediaSizing.js.map +0 -1
  368. package/lib/module/features/engage/engageMultiStepSheet.js.map +0 -1
  369. package/lib/module/features/engage/engageOutcome.js.map +0 -1
  370. package/lib/module/features/engage/engagePushTokenBridge.js.map +0 -1
  371. package/lib/module/features/engage/engageShakeBridge.js.map +0 -1
  372. package/lib/module/features/engage/engageSignals.js.map +0 -1
  373. package/lib/module/features/engage/engageStoreReviewBridge.js.map +0 -1
  374. package/lib/module/features/engage/engageTestSeenStore.js.map +0 -1
  375. package/lib/module/features/engage/engageThrottle.js.map +0 -1
  376. package/lib/module/features/engage/engageTriggerEngine.js.map +0 -1
  377. package/lib/module/features/engage/engageTypes.js.map +0 -1
  378. package/lib/module/features/engage/engageVariantResolver.js.map +0 -1
  379. package/lib/module/features/engage/engageWindowInsets.js.map +0 -1
  380. package/lib/module/features/engage/gestureTriggerDetector.js.map +0 -1
  381. package/lib/module/features/engage/transcription/TranscriptionProvider.js.map +0 -1
  382. package/lib/module/features/install-referrer/installReferrer.js.map +0 -1
  383. package/lib/module/features/journey/ScaleBunDebugRoot.js.map +0 -1
  384. package/lib/module/features/journey/ScaleBunFlatList.js.map +0 -1
  385. package/lib/module/features/journey/ScaleBunImpression.js.map +0 -1
  386. package/lib/module/features/journey/ScaleBunScrollView.js.map +0 -1
  387. package/lib/module/features/journey/ScaleBunSectionList.js.map +0 -1
  388. package/lib/module/features/journey/calibrationContext.js.map +0 -1
  389. package/lib/module/features/journey/gestureBuffer.js.map +0 -1
  390. package/lib/module/features/journey/gestureDetector.js.map +0 -1
  391. package/lib/module/features/journey/impression.js.map +0 -1
  392. package/lib/module/features/journey/journeyManager.js.map +0 -1
  393. package/lib/module/features/journey/journeyTypes.js.map +0 -1
  394. package/lib/module/features/journey/navDetector.js.map +0 -1
  395. package/lib/module/features/journey/screenshotHelper.js.map +0 -1
  396. package/lib/module/features/journey/targetRegistry.js.map +0 -1
  397. package/lib/module/features/journey/touchTarget.js.map +0 -1
  398. package/lib/module/features/navigation/AutoScreenDetector.js.map +0 -1
  399. package/lib/module/features/network/NetworkFeature.js.map +0 -1
  400. package/lib/module/features/network/index.js.map +0 -1
  401. package/lib/module/features/ota/OtaEventEmitter.js.map +0 -1
  402. package/lib/module/features/ota/OtaOrchestrator.js.map +0 -1
  403. package/lib/module/features/ota/OtaTypes.js.map +0 -1
  404. package/lib/module/features/ota/deviceAttributes.js.map +0 -1
  405. package/lib/module/features/ota/environment.js.map +0 -1
  406. package/lib/module/features/ota/geoCountry.js.map +0 -1
  407. package/lib/module/features/ota/retry.js.map +0 -1
  408. package/lib/module/features/ota/signature.js.map +0 -1
  409. package/lib/module/features/ota/useOtaUpdate.js.map +0 -1
  410. package/lib/module/features/performance/PerformanceFeature.js.map +0 -1
  411. package/lib/module/features/performance/collectors/AppLaunchCollector.js.map +0 -1
  412. package/lib/module/features/performance/collectors/AutoScreenLoadCollector.js.map +0 -1
  413. package/lib/module/features/performance/collectors/CustomTraceCollector.js.map +0 -1
  414. package/lib/module/features/performance/collectors/FrameMetricsCollector.js.map +0 -1
  415. package/lib/module/features/performance/collectors/JsStallCollector.js.map +0 -1
  416. package/lib/module/features/performance/collectors/NetworkPerfCollector.js.map +0 -1
  417. package/lib/module/features/performance/collectors/ScreenLoadCollector.js.map +0 -1
  418. package/lib/module/features/performance/collectors/UiHangCollector.js.map +0 -1
  419. package/lib/module/features/performance/config.js.map +0 -1
  420. package/lib/module/features/performance/getNativePerformanceModule.js.map +0 -1
  421. package/lib/module/features/performance/index.js.map +0 -1
  422. package/lib/module/features/performance/metrics/MetricsEngine.js.map +0 -1
  423. package/lib/module/features/performance/models.js.map +0 -1
  424. package/lib/module/features/performance/transport/PerformanceTransport.js.map +0 -1
  425. package/lib/module/features/profiler/ProfilerFeature.js.map +0 -1
  426. package/lib/module/features/profiler/config.js.map +0 -1
  427. package/lib/module/features/profiler/contracts.js.map +0 -1
  428. package/lib/module/features/profiler/index.js.map +0 -1
  429. package/lib/module/features/profiler/models.js.map +0 -1
  430. package/lib/module/features/profiler/transport/ProfilerTransport.js.map +0 -1
  431. package/lib/module/features/replay/bridge/adapters/bridgeAdapter.js.map +0 -1
  432. package/lib/module/features/replay/bridge/eventEmitter.js.map +0 -1
  433. package/lib/module/features/replay/bridge/nativeModule.js.map +0 -1
  434. package/lib/module/features/replay/core/clock/clock.js.map +0 -1
  435. package/lib/module/features/replay/core/config/defaults.js.map +0 -1
  436. package/lib/module/features/replay/core/config/validator.js.map +0 -1
  437. package/lib/module/features/replay/core/env/environmentDetector.js.map +0 -1
  438. package/lib/module/features/replay/core/errors/safeCall.js.map +0 -1
  439. package/lib/module/features/replay/core/ids/sessionId.js.map +0 -1
  440. package/lib/module/features/replay/core/logger/logger.js.map +0 -1
  441. package/lib/module/features/replay/core/privacy/privacyTypes.js.map +0 -1
  442. package/lib/module/features/replay/core/queue/boundedQueue.js.map +0 -1
  443. package/lib/module/features/replay/integrations/alert/alertInstrumentation.js.map +0 -1
  444. package/lib/module/features/replay/integrations/logs/consoleIntegration.js.map +0 -1
  445. package/lib/module/features/replay/integrations/network/networkAdapter.js.map +0 -1
  446. package/lib/module/features/replay/integrations/react-navigation/navigationIntegration.js.map +0 -1
  447. package/lib/module/features/replay/integrations/touch/ReplayRoot.js.map +0 -1
  448. package/lib/module/features/replay/pipeline/batching/batchManager.js.map +0 -1
  449. package/lib/module/features/replay/pipeline/envelope/envelopeBuilder.js.map +0 -1
  450. package/lib/module/features/replay/pipeline/retry/retryPolicy.js.map +0 -1
  451. package/lib/module/features/replay/pipeline/transport/transportTypes.js.map +0 -1
  452. package/lib/module/features/replay/public/api.js.map +0 -1
  453. package/lib/module/features/replay/public/enums.js.map +0 -1
  454. package/lib/module/features/replay/public/types.js.map +0 -1
  455. package/lib/module/features/replay/replay/breadcrumbs/breadcrumbCollector.js.map +0 -1
  456. package/lib/module/features/replay/replay/frames/frameModels.js.map +0 -1
  457. package/lib/module/features/replay/replay/session/sessionOrchestrator.js.map +0 -1
  458. package/lib/module/features/replay/replay/timeline/timelineModels.js.map +0 -1
  459. package/lib/module/features/replay/transport/BackendReplayTransport.js.map +0 -1
  460. package/lib/module/features/replay/transport/CompositeReplayTransport.js.map +0 -1
  461. package/lib/module/features/replay/transport/DesktopReplayTransport.js.map +0 -1
  462. package/lib/module/features/replay/transport/ReplayTransport.js.map +0 -1
  463. package/lib/module/features/session/BackendSessionAdapter.js.map +0 -1
  464. package/lib/module/features/session/DesktopSessionTransport.js.map +0 -1
  465. package/lib/module/features/session/JourneyEventPipeline.js.map +0 -1
  466. package/lib/module/features/session/ReplayCaptureManager.js.map +0 -1
  467. package/lib/module/features/session/ScrollTracker.js.map +0 -1
  468. package/lib/module/features/session/SessionManager.js.map +0 -1
  469. package/lib/module/features/session/SyncDecisionEngine.js.map +0 -1
  470. package/lib/module/features/session/index.js.map +0 -1
  471. package/lib/module/features/session/nativeCapture.js.map +0 -1
  472. package/lib/module/features/session/outboxFrameCapture.js.map +0 -1
  473. package/lib/module/features/session/sessionTypes.js.map +0 -1
  474. package/lib/module/features/skan/skanBridge.js.map +0 -1
  475. package/lib/module/features/skan/skanConversionManager.js.map +0 -1
  476. package/lib/module/index.js.map +0 -1
  477. package/lib/module/integrations/fetch/fetchInterceptor.js.map +0 -1
  478. package/lib/module/integrations/navigation/screenTracker.js.map +0 -1
  479. package/lib/module/integrations/network/bodyCapture.js.map +0 -1
  480. package/lib/module/integrations/xhr/xhrInterceptor.js.map +0 -1
  481. package/lib/module/metro/composeSourceMap.js.map +0 -1
  482. package/lib/module/metro/featureModules.js.map +0 -1
  483. package/lib/module/metro/index.js.map +0 -1
  484. package/lib/module/metro/optionalDependencyStub.js.map +0 -1
  485. package/lib/module/metro/optionalModules.js.map +0 -1
  486. package/lib/module/metro/serializerCompose.js.map +0 -1
  487. package/lib/module/pipeline/dispatcher/dispatcher.js.map +0 -1
  488. package/lib/module/pipeline/envelope/envelope.js.map +0 -1
  489. package/lib/module/pipeline/envelope/serializer.js.map +0 -1
  490. package/lib/module/pipeline/processors/dedupe.js.map +0 -1
  491. package/lib/module/pipeline/processors/enrich.js.map +0 -1
  492. package/lib/module/pipeline/processors/sampling.js.map +0 -1
  493. package/lib/module/pipeline/processors/sanitize.js.map +0 -1
  494. package/lib/module/pipeline/queue/flushQueue.js.map +0 -1
  495. package/lib/module/pipeline/queue/memoryQueue.js.map +0 -1
  496. package/lib/module/pipeline/queue/persistentQueue.js.map +0 -1
  497. package/lib/module/pipeline/queue/queuePolicy.js.map +0 -1
  498. package/lib/module/pipeline/scheduler/flushScheduler.js.map +0 -1
  499. package/lib/module/pipeline/scheduler/retryPolicy.js.map +0 -1
  500. package/lib/module/public/ScaleBunErrorBoundary.js.map +0 -1
  501. package/lib/module/public/ScaleBunFacade.js.map +0 -1
  502. package/lib/module/public/ScaleBunProvider.js.map +0 -1
  503. package/lib/module/public/typedTracker.js.map +0 -1
  504. package/lib/module/public/types.js.map +0 -1
  505. package/lib/module/push/PushManager.js.map +0 -1
  506. package/lib/module/push/adapters/ManualAdapter.js.map +0 -1
  507. package/lib/module/push/adapters/NativeBridgeAdapter.js.map +0 -1
  508. package/lib/module/push/adapters/NoopAdapter.js.map +0 -1
  509. package/lib/module/push/adapters/RNFirebaseMessagingAdapter.js.map +0 -1
  510. package/lib/module/push/adapters/loadMessaging.js.map +0 -1
  511. package/lib/module/push/adapters/loadNotifee.js.map +0 -1
  512. package/lib/module/push/adapters/selectAdapter.js.map +0 -1
  513. package/lib/module/push/detect/capabilities.js.map +0 -1
  514. package/lib/module/push/index.js.map +0 -1
  515. package/lib/module/push/native/nativeNotifications.js.map +0 -1
  516. package/lib/module/push/types.js.map +0 -1
  517. package/lib/module/specs/NativeReplaySdk.js.map +0 -1
  518. package/lib/module/specs/NativeScaleBunCrash.js.map +0 -1
  519. package/lib/module/specs/NativeScaleBunInstallReferrer.js.map +0 -1
  520. package/lib/module/specs/NativeScaleBunOta.js.map +0 -1
  521. package/lib/module/specs/NativeScaleBunPerformance.js.map +0 -1
  522. package/lib/module/specs/NativeScaleBunProfiler.js.map +0 -1
  523. package/lib/module/specs/NativeScaleBunStorage.js.map +0 -1
  524. package/lib/module/storage/StorageBackend.js.map +0 -1
  525. package/lib/module/storage/db/sqlite.js.map +0 -1
  526. package/lib/module/storage/files/fileStore.js.map +0 -1
  527. package/lib/module/transport/auth/sdkSession.js.map +0 -1
  528. package/lib/module/transport/backoff/exponentialJitter.js.map +0 -1
  529. package/lib/module/transport/http/endpoints.js.map +0 -1
  530. package/lib/module/transport/http/httpClient.js.map +0 -1
  531. package/lib/module/transport/rateLimit/retryAfter.js.map +0 -1
  532. package/lib/module/transport/signing/requestSigner.js.map +0 -1
  533. package/lib/module/vendor/protocol/index.js.map +0 -1
  534. package/lib/module/vendor/protocol/internal/validation.js.map +0 -1
  535. package/lib/module/vendor/sdk-contracts/bridge.js.map +0 -1
  536. package/lib/module/vendor/sdk-contracts/config.js.map +0 -1
  537. package/lib/module/vendor/sdk-contracts/events.js.map +0 -1
  538. package/lib/module/vendor/sdk-contracts/features.js.map +0 -1
  539. package/lib/module/vendor/sdk-contracts/index.js.map +0 -1
  540. package/lib/module/vendor/sdk-contracts/platform.js.map +0 -1
  541. package/lib/module/vendor/sdk-contracts/session-boundary.js.map +0 -1
  542. package/lib/module/vendor/sdk-contracts/session.js.map +0 -1
  543. package/lib/typescript/analytics/EventTracker.d.ts.map +0 -1
  544. package/lib/typescript/analytics/automaticEvents.d.ts.map +0 -1
  545. package/lib/typescript/analytics/batching.d.ts.map +0 -1
  546. package/lib/typescript/analytics/eventLane.d.ts.map +0 -1
  547. package/lib/typescript/bootstrap/FeatureRegistry.d.ts.map +0 -1
  548. package/lib/typescript/bootstrap/SDKBootstrapper.d.ts.map +0 -1
  549. package/lib/typescript/bucketing/fnv1a32.d.ts.map +0 -1
  550. package/lib/typescript/compat/codepush.d.ts.map +0 -1
  551. package/lib/typescript/config/ConfigManager.d.ts.map +0 -1
  552. package/lib/typescript/config/configTypes.d.ts.map +0 -1
  553. package/lib/typescript/core/architecture.d.ts.map +0 -1
  554. package/lib/typescript/core/clock/now.d.ts.map +0 -1
  555. package/lib/typescript/core/config/defaults.d.ts.map +0 -1
  556. package/lib/typescript/core/config/schema.d.ts.map +0 -1
  557. package/lib/typescript/core/constants/endpoints.d.ts.map +0 -1
  558. package/lib/typescript/core/constants/protocol.d.ts.map +0 -1
  559. package/lib/typescript/core/constants/timings.d.ts.map +0 -1
  560. package/lib/typescript/core/constants/version.d.ts.map +0 -1
  561. package/lib/typescript/core/context/app.d.ts.map +0 -1
  562. package/lib/typescript/core/context/device.d.ts.map +0 -1
  563. package/lib/typescript/core/context/session.d.ts.map +0 -1
  564. package/lib/typescript/core/context/user.d.ts.map +0 -1
  565. package/lib/typescript/core/contracts/IFeature.d.ts.map +0 -1
  566. package/lib/typescript/core/di/container.d.ts.map +0 -1
  567. package/lib/typescript/core/encoding/base64.d.ts.map +0 -1
  568. package/lib/typescript/core/id/deviceId.d.ts.map +0 -1
  569. package/lib/typescript/core/id/installationId.d.ts.map +0 -1
  570. package/lib/typescript/core/id/sessionId.d.ts.map +0 -1
  571. package/lib/typescript/core/lifecycle/appLifecycle.d.ts.map +0 -1
  572. package/lib/typescript/core/lifecycle/crashSafe.d.ts.map +0 -1
  573. package/lib/typescript/core/logger/errorClassification.d.ts.map +0 -1
  574. package/lib/typescript/core/logger/internalLogger.d.ts.map +0 -1
  575. package/lib/typescript/core/logger/levels.d.ts.map +0 -1
  576. package/lib/typescript/crypto/hmacSha256.d.ts.map +0 -1
  577. package/lib/typescript/debug/bootstrap.d.ts.map +0 -1
  578. package/lib/typescript/debug/commands.d.ts.map +0 -1
  579. package/lib/typescript/debug/configBuilder.d.ts.map +0 -1
  580. package/lib/typescript/debug/exportBridge.d.ts.map +0 -1
  581. package/lib/typescript/debug/hostResolver.d.ts.map +0 -1
  582. package/lib/typescript/debug/index.d.ts.map +0 -1
  583. package/lib/typescript/debug/metrics.d.ts.map +0 -1
  584. package/lib/typescript/debug/perf.d.ts.map +0 -1
  585. package/lib/typescript/debug/perfWiring.d.ts.map +0 -1
  586. package/lib/typescript/debug/protocol.d.ts.map +0 -1
  587. package/lib/typescript/debug/redaction.d.ts.map +0 -1
  588. package/lib/typescript/debug/replayWiring.d.ts.map +0 -1
  589. package/lib/typescript/debug/screenTracking.d.ts.map +0 -1
  590. package/lib/typescript/debug/sessionWiring.d.ts.map +0 -1
  591. package/lib/typescript/debug/stream.d.ts.map +0 -1
  592. package/lib/typescript/debug/transport.d.ts.map +0 -1
  593. package/lib/typescript/features/bugreport/BugReportFeature.d.ts.map +0 -1
  594. package/lib/typescript/features/bugreport/buildPayload.d.ts.map +0 -1
  595. package/lib/typescript/features/bugreport/index.d.ts.map +0 -1
  596. package/lib/typescript/features/crash/CrashFeature.d.ts.map +0 -1
  597. package/lib/typescript/features/crash/CrashReporter.d.ts.map +0 -1
  598. package/lib/typescript/features/crash/NativeCrashFeature.d.ts.map +0 -1
  599. package/lib/typescript/features/crash/capture.d.ts.map +0 -1
  600. package/lib/typescript/features/crash/globalHandler.d.ts.map +0 -1
  601. package/lib/typescript/features/crash/index.d.ts.map +0 -1
  602. package/lib/typescript/features/crash/nativeCrashBridge.d.ts.map +0 -1
  603. package/lib/typescript/features/crash/rejectionHandler.d.ts.map +0 -1
  604. package/lib/typescript/features/engage/EngageAnchor.d.ts.map +0 -1
  605. package/lib/typescript/features/engage/EngageArchetypeRenderers.d.ts.map +0 -1
  606. package/lib/typescript/features/engage/EngageInAppView.d.ts.map +0 -1
  607. package/lib/typescript/features/engage/EngageInlinePlacement.d.ts.map +0 -1
  608. package/lib/typescript/features/engage/EngagePromptProvider.d.ts.map +0 -1
  609. package/lib/typescript/features/engage/EngagePromptView.d.ts.map +0 -1
  610. package/lib/typescript/features/engage/EngageTransport.d.ts.map +0 -1
  611. package/lib/typescript/features/engage/EngageVariantContent.d.ts.map +0 -1
  612. package/lib/typescript/features/engage/attachmentCapture.d.ts.map +0 -1
  613. package/lib/typescript/features/engage/captureVoiceAttachment.d.ts.map +0 -1
  614. package/lib/typescript/features/engage/engageCoachmarkTour.d.ts.map +0 -1
  615. package/lib/typescript/features/engage/engageGameLogic.d.ts.map +0 -1
  616. package/lib/typescript/features/engage/engageMediaSizing.d.ts.map +0 -1
  617. package/lib/typescript/features/engage/engageMultiStepSheet.d.ts.map +0 -1
  618. package/lib/typescript/features/engage/engageOutcome.d.ts.map +0 -1
  619. package/lib/typescript/features/engage/engagePushTokenBridge.d.ts.map +0 -1
  620. package/lib/typescript/features/engage/engageShakeBridge.d.ts.map +0 -1
  621. package/lib/typescript/features/engage/engageSignals.d.ts.map +0 -1
  622. package/lib/typescript/features/engage/engageStoreReviewBridge.d.ts.map +0 -1
  623. package/lib/typescript/features/engage/engageTestSeenStore.d.ts.map +0 -1
  624. package/lib/typescript/features/engage/engageThrottle.d.ts.map +0 -1
  625. package/lib/typescript/features/engage/engageTriggerEngine.d.ts.map +0 -1
  626. package/lib/typescript/features/engage/engageTypes.d.ts.map +0 -1
  627. package/lib/typescript/features/engage/engageVariantResolver.d.ts.map +0 -1
  628. package/lib/typescript/features/engage/engageWindowInsets.d.ts.map +0 -1
  629. package/lib/typescript/features/engage/gestureTriggerDetector.d.ts.map +0 -1
  630. package/lib/typescript/features/engage/transcription/TranscriptionProvider.d.ts.map +0 -1
  631. package/lib/typescript/features/install-referrer/installReferrer.d.ts.map +0 -1
  632. package/lib/typescript/features/journey/ScaleBunDebugRoot.d.ts.map +0 -1
  633. package/lib/typescript/features/journey/ScaleBunFlatList.d.ts.map +0 -1
  634. package/lib/typescript/features/journey/ScaleBunImpression.d.ts.map +0 -1
  635. package/lib/typescript/features/journey/ScaleBunScrollView.d.ts.map +0 -1
  636. package/lib/typescript/features/journey/ScaleBunSectionList.d.ts.map +0 -1
  637. package/lib/typescript/features/journey/calibrationContext.d.ts.map +0 -1
  638. package/lib/typescript/features/journey/gestureBuffer.d.ts.map +0 -1
  639. package/lib/typescript/features/journey/gestureDetector.d.ts.map +0 -1
  640. package/lib/typescript/features/journey/impression.d.ts.map +0 -1
  641. package/lib/typescript/features/journey/journeyManager.d.ts.map +0 -1
  642. package/lib/typescript/features/journey/journeyTypes.d.ts.map +0 -1
  643. package/lib/typescript/features/journey/navDetector.d.ts.map +0 -1
  644. package/lib/typescript/features/journey/screenshotHelper.d.ts.map +0 -1
  645. package/lib/typescript/features/journey/targetRegistry.d.ts.map +0 -1
  646. package/lib/typescript/features/journey/touchTarget.d.ts.map +0 -1
  647. package/lib/typescript/features/navigation/AutoScreenDetector.d.ts.map +0 -1
  648. package/lib/typescript/features/network/NetworkFeature.d.ts.map +0 -1
  649. package/lib/typescript/features/network/index.d.ts.map +0 -1
  650. package/lib/typescript/features/ota/OtaEventEmitter.d.ts.map +0 -1
  651. package/lib/typescript/features/ota/OtaOrchestrator.d.ts.map +0 -1
  652. package/lib/typescript/features/ota/OtaTypes.d.ts.map +0 -1
  653. package/lib/typescript/features/ota/deviceAttributes.d.ts.map +0 -1
  654. package/lib/typescript/features/ota/environment.d.ts.map +0 -1
  655. package/lib/typescript/features/ota/geoCountry.d.ts.map +0 -1
  656. package/lib/typescript/features/ota/retry.d.ts.map +0 -1
  657. package/lib/typescript/features/ota/signature.d.ts.map +0 -1
  658. package/lib/typescript/features/ota/useOtaUpdate.d.ts.map +0 -1
  659. package/lib/typescript/features/performance/PerformanceFeature.d.ts.map +0 -1
  660. package/lib/typescript/features/performance/collectors/AppLaunchCollector.d.ts.map +0 -1
  661. package/lib/typescript/features/performance/collectors/AutoScreenLoadCollector.d.ts.map +0 -1
  662. package/lib/typescript/features/performance/collectors/CustomTraceCollector.d.ts.map +0 -1
  663. package/lib/typescript/features/performance/collectors/FrameMetricsCollector.d.ts.map +0 -1
  664. package/lib/typescript/features/performance/collectors/JsStallCollector.d.ts.map +0 -1
  665. package/lib/typescript/features/performance/collectors/NetworkPerfCollector.d.ts.map +0 -1
  666. package/lib/typescript/features/performance/collectors/ScreenLoadCollector.d.ts.map +0 -1
  667. package/lib/typescript/features/performance/collectors/UiHangCollector.d.ts.map +0 -1
  668. package/lib/typescript/features/performance/config.d.ts.map +0 -1
  669. package/lib/typescript/features/performance/getNativePerformanceModule.d.ts.map +0 -1
  670. package/lib/typescript/features/performance/index.d.ts.map +0 -1
  671. package/lib/typescript/features/performance/metrics/MetricsEngine.d.ts.map +0 -1
  672. package/lib/typescript/features/performance/models.d.ts.map +0 -1
  673. package/lib/typescript/features/performance/transport/PerformanceTransport.d.ts.map +0 -1
  674. package/lib/typescript/features/profiler/ProfilerFeature.d.ts.map +0 -1
  675. package/lib/typescript/features/profiler/config.d.ts.map +0 -1
  676. package/lib/typescript/features/profiler/contracts.d.ts.map +0 -1
  677. package/lib/typescript/features/profiler/index.d.ts.map +0 -1
  678. package/lib/typescript/features/profiler/models.d.ts.map +0 -1
  679. package/lib/typescript/features/profiler/transport/ProfilerTransport.d.ts.map +0 -1
  680. package/lib/typescript/features/replay/bridge/adapters/bridgeAdapter.d.ts.map +0 -1
  681. package/lib/typescript/features/replay/bridge/eventEmitter.d.ts.map +0 -1
  682. package/lib/typescript/features/replay/bridge/nativeModule.d.ts.map +0 -1
  683. package/lib/typescript/features/replay/core/clock/clock.d.ts.map +0 -1
  684. package/lib/typescript/features/replay/core/config/defaults.d.ts.map +0 -1
  685. package/lib/typescript/features/replay/core/config/validator.d.ts.map +0 -1
  686. package/lib/typescript/features/replay/core/env/environmentDetector.d.ts.map +0 -1
  687. package/lib/typescript/features/replay/core/errors/safeCall.d.ts.map +0 -1
  688. package/lib/typescript/features/replay/core/ids/sessionId.d.ts.map +0 -1
  689. package/lib/typescript/features/replay/core/logger/logger.d.ts.map +0 -1
  690. package/lib/typescript/features/replay/core/privacy/privacyTypes.d.ts.map +0 -1
  691. package/lib/typescript/features/replay/core/queue/boundedQueue.d.ts.map +0 -1
  692. package/lib/typescript/features/replay/integrations/alert/alertInstrumentation.d.ts.map +0 -1
  693. package/lib/typescript/features/replay/integrations/logs/consoleIntegration.d.ts.map +0 -1
  694. package/lib/typescript/features/replay/integrations/network/networkAdapter.d.ts.map +0 -1
  695. package/lib/typescript/features/replay/integrations/react-navigation/navigationIntegration.d.ts.map +0 -1
  696. package/lib/typescript/features/replay/integrations/touch/ReplayRoot.d.ts.map +0 -1
  697. package/lib/typescript/features/replay/pipeline/batching/batchManager.d.ts.map +0 -1
  698. package/lib/typescript/features/replay/pipeline/envelope/envelopeBuilder.d.ts.map +0 -1
  699. package/lib/typescript/features/replay/pipeline/retry/retryPolicy.d.ts.map +0 -1
  700. package/lib/typescript/features/replay/pipeline/transport/transportTypes.d.ts.map +0 -1
  701. package/lib/typescript/features/replay/public/api.d.ts.map +0 -1
  702. package/lib/typescript/features/replay/public/enums.d.ts.map +0 -1
  703. package/lib/typescript/features/replay/public/types.d.ts.map +0 -1
  704. package/lib/typescript/features/replay/replay/breadcrumbs/breadcrumbCollector.d.ts.map +0 -1
  705. package/lib/typescript/features/replay/replay/frames/frameModels.d.ts.map +0 -1
  706. package/lib/typescript/features/replay/replay/session/sessionOrchestrator.d.ts.map +0 -1
  707. package/lib/typescript/features/replay/replay/timeline/timelineModels.d.ts.map +0 -1
  708. package/lib/typescript/features/replay/transport/BackendReplayTransport.d.ts.map +0 -1
  709. package/lib/typescript/features/replay/transport/CompositeReplayTransport.d.ts.map +0 -1
  710. package/lib/typescript/features/replay/transport/DesktopReplayTransport.d.ts.map +0 -1
  711. package/lib/typescript/features/replay/transport/ReplayTransport.d.ts.map +0 -1
  712. package/lib/typescript/features/session/BackendSessionAdapter.d.ts.map +0 -1
  713. package/lib/typescript/features/session/DesktopSessionTransport.d.ts.map +0 -1
  714. package/lib/typescript/features/session/JourneyEventPipeline.d.ts.map +0 -1
  715. package/lib/typescript/features/session/ReplayCaptureManager.d.ts.map +0 -1
  716. package/lib/typescript/features/session/ScrollTracker.d.ts.map +0 -1
  717. package/lib/typescript/features/session/SessionManager.d.ts.map +0 -1
  718. package/lib/typescript/features/session/SyncDecisionEngine.d.ts.map +0 -1
  719. package/lib/typescript/features/session/index.d.ts.map +0 -1
  720. package/lib/typescript/features/session/nativeCapture.d.ts.map +0 -1
  721. package/lib/typescript/features/session/outboxFrameCapture.d.ts.map +0 -1
  722. package/lib/typescript/features/session/sessionTypes.d.ts.map +0 -1
  723. package/lib/typescript/features/skan/skanBridge.d.ts.map +0 -1
  724. package/lib/typescript/features/skan/skanConversionManager.d.ts.map +0 -1
  725. package/lib/typescript/index.d.ts.map +0 -1
  726. package/lib/typescript/integrations/fetch/fetchInterceptor.d.ts.map +0 -1
  727. package/lib/typescript/integrations/navigation/screenTracker.d.ts.map +0 -1
  728. package/lib/typescript/integrations/network/bodyCapture.d.ts.map +0 -1
  729. package/lib/typescript/integrations/xhr/xhrInterceptor.d.ts.map +0 -1
  730. package/lib/typescript/metro/composeSourceMap.d.ts.map +0 -1
  731. package/lib/typescript/metro/featureModules.d.ts.map +0 -1
  732. package/lib/typescript/metro/index.d.ts.map +0 -1
  733. package/lib/typescript/metro/optionalDependencyStub.d.ts.map +0 -1
  734. package/lib/typescript/metro/optionalModules.d.ts.map +0 -1
  735. package/lib/typescript/metro/serializerCompose.d.ts.map +0 -1
  736. package/lib/typescript/pipeline/dispatcher/dispatcher.d.ts.map +0 -1
  737. package/lib/typescript/pipeline/envelope/envelope.d.ts.map +0 -1
  738. package/lib/typescript/pipeline/envelope/serializer.d.ts.map +0 -1
  739. package/lib/typescript/pipeline/processors/dedupe.d.ts.map +0 -1
  740. package/lib/typescript/pipeline/processors/enrich.d.ts.map +0 -1
  741. package/lib/typescript/pipeline/processors/sampling.d.ts.map +0 -1
  742. package/lib/typescript/pipeline/processors/sanitize.d.ts.map +0 -1
  743. package/lib/typescript/pipeline/queue/flushQueue.d.ts.map +0 -1
  744. package/lib/typescript/pipeline/queue/memoryQueue.d.ts.map +0 -1
  745. package/lib/typescript/pipeline/queue/persistentQueue.d.ts.map +0 -1
  746. package/lib/typescript/pipeline/queue/queuePolicy.d.ts.map +0 -1
  747. package/lib/typescript/pipeline/scheduler/flushScheduler.d.ts.map +0 -1
  748. package/lib/typescript/pipeline/scheduler/retryPolicy.d.ts.map +0 -1
  749. package/lib/typescript/public/ScaleBunErrorBoundary.d.ts.map +0 -1
  750. package/lib/typescript/public/ScaleBunFacade.d.ts.map +0 -1
  751. package/lib/typescript/public/ScaleBunProvider.d.ts.map +0 -1
  752. package/lib/typescript/public/typedTracker.d.ts.map +0 -1
  753. package/lib/typescript/public/types.d.ts.map +0 -1
  754. package/lib/typescript/push/PushManager.d.ts.map +0 -1
  755. package/lib/typescript/push/adapters/ManualAdapter.d.ts.map +0 -1
  756. package/lib/typescript/push/adapters/NativeBridgeAdapter.d.ts.map +0 -1
  757. package/lib/typescript/push/adapters/NoopAdapter.d.ts.map +0 -1
  758. package/lib/typescript/push/adapters/RNFirebaseMessagingAdapter.d.ts.map +0 -1
  759. package/lib/typescript/push/adapters/loadMessaging.d.ts.map +0 -1
  760. package/lib/typescript/push/adapters/loadNotifee.d.ts.map +0 -1
  761. package/lib/typescript/push/adapters/selectAdapter.d.ts.map +0 -1
  762. package/lib/typescript/push/detect/capabilities.d.ts.map +0 -1
  763. package/lib/typescript/push/index.d.ts.map +0 -1
  764. package/lib/typescript/push/native/nativeNotifications.d.ts.map +0 -1
  765. package/lib/typescript/push/types.d.ts.map +0 -1
  766. package/lib/typescript/specs/NativeReplaySdk.d.ts.map +0 -1
  767. package/lib/typescript/specs/NativeScaleBunCrash.d.ts.map +0 -1
  768. package/lib/typescript/specs/NativeScaleBunInstallReferrer.d.ts.map +0 -1
  769. package/lib/typescript/specs/NativeScaleBunOta.d.ts.map +0 -1
  770. package/lib/typescript/specs/NativeScaleBunPerformance.d.ts.map +0 -1
  771. package/lib/typescript/specs/NativeScaleBunProfiler.d.ts.map +0 -1
  772. package/lib/typescript/specs/NativeScaleBunStorage.d.ts.map +0 -1
  773. package/lib/typescript/storage/StorageBackend.d.ts.map +0 -1
  774. package/lib/typescript/storage/db/sqlite.d.ts.map +0 -1
  775. package/lib/typescript/storage/files/fileStore.d.ts.map +0 -1
  776. package/lib/typescript/transport/auth/sdkSession.d.ts.map +0 -1
  777. package/lib/typescript/transport/backoff/exponentialJitter.d.ts.map +0 -1
  778. package/lib/typescript/transport/http/endpoints.d.ts.map +0 -1
  779. package/lib/typescript/transport/http/httpClient.d.ts.map +0 -1
  780. package/lib/typescript/transport/rateLimit/retryAfter.d.ts.map +0 -1
  781. package/lib/typescript/transport/signing/requestSigner.d.ts.map +0 -1
  782. package/lib/typescript/vendor/protocol/index.d.ts.map +0 -1
  783. package/lib/typescript/vendor/protocol/internal/validation.d.ts.map +0 -1
  784. package/lib/typescript/vendor/sdk-contracts/bridge.d.ts.map +0 -1
  785. package/lib/typescript/vendor/sdk-contracts/config.d.ts.map +0 -1
  786. package/lib/typescript/vendor/sdk-contracts/events.d.ts.map +0 -1
  787. package/lib/typescript/vendor/sdk-contracts/features.d.ts.map +0 -1
  788. package/lib/typescript/vendor/sdk-contracts/index.d.ts.map +0 -1
  789. package/lib/typescript/vendor/sdk-contracts/platform.d.ts.map +0 -1
  790. package/lib/typescript/vendor/sdk-contracts/session-boundary.d.ts.map +0 -1
  791. package/lib/typescript/vendor/sdk-contracts/session.d.ts.map +0 -1
@@ -170,6 +170,45 @@ function redactHeaders(headers) {
170
170
  }
171
171
  return result;
172
172
  }
173
+ function _normalizeKey(key) {
174
+ return key.toLowerCase().replace(/[_\-\s]/g, "");
175
+ }
176
+ function _isSensitiveKey(key) {
177
+ return NORMALIZED_SENSITIVE_KEYS.has(_normalizeKey(key));
178
+ }
179
+ function _luhnValid(digits) {
180
+ const s = digits.replace(/[^\d]/g, "");
181
+ if (s.length < 12 || s.length > 19) return false;
182
+ let sum = 0;
183
+ let alt = false;
184
+ for (let i = s.length - 1; i >= 0; i--) {
185
+ let d = s.charCodeAt(i) - 48;
186
+ if (alt) {
187
+ d *= 2;
188
+ if (d > 9) d -= 9;
189
+ }
190
+ sum += d;
191
+ alt = !alt;
192
+ }
193
+ return sum % 10 === 0;
194
+ }
195
+ function _scrubSecretsInString(value) {
196
+ if (value.length > MAX_STRING_SCRUB_CHARS) {
197
+ value = value.slice(0, MAX_STRING_SCRUB_CHARS);
198
+ }
199
+ let out = value;
200
+ try {
201
+ for (const {
202
+ pattern,
203
+ luhn
204
+ } of VALUE_SCRUB_PATTERNS) {
205
+ pattern.lastIndex = 0;
206
+ out = out.replace(pattern, (m) => luhn && !_luhnValid(m) ? m : REDACTED);
207
+ }
208
+ } catch {
209
+ }
210
+ return out;
211
+ }
173
212
  function redactBody(body, maxDepth = 10) {
174
213
  try {
175
214
  return _redactValue(body, 0, maxDepth);
@@ -181,7 +220,7 @@ function _redactValue(value, depth, maxDepth) {
181
220
  if (depth > maxDepth) return "[MAX_DEPTH]";
182
221
  if (value === null || value === void 0) return value;
183
222
  if (typeof value === "string") {
184
- return value;
223
+ return _redactString(value, depth, maxDepth);
185
224
  }
186
225
  if (Array.isArray(value)) {
187
226
  return value.map((item) => _redactValue(item, depth + 1, maxDepth));
@@ -189,7 +228,7 @@ function _redactValue(value, depth, maxDepth) {
189
228
  if (typeof value === "object") {
190
229
  const result = {};
191
230
  for (const [key, val] of Object.entries(value)) {
192
- if (SENSITIVE_BODY_KEYS.has(key) || SENSITIVE_BODY_KEYS.has(key.toLowerCase())) {
231
+ if (_isSensitiveKey(key)) {
193
232
  result[key] = REDACTED;
194
233
  } else {
195
234
  result[key] = _redactValue(val, depth + 1, maxDepth);
@@ -199,52 +238,103 @@ function _redactValue(value, depth, maxDepth) {
199
238
  }
200
239
  return value;
201
240
  }
202
- function scanForPII(text2, location = "unknown") {
203
- const warnings = [];
241
+ function _redactString(value, depth, maxDepth) {
242
+ const trimmed = value.trimStart();
243
+ if (trimmed.startsWith("{") || trimmed.startsWith("[")) {
244
+ try {
245
+ const parsed = JSON.parse(value);
246
+ if (parsed !== null && typeof parsed === "object") {
247
+ const redacted = _redactValue(parsed, depth + 1, maxDepth);
248
+ return JSON.stringify(redacted);
249
+ }
250
+ } catch {
251
+ }
252
+ }
253
+ return _scrubSecretsInString(value);
254
+ }
255
+ function _newScanContext() {
256
+ return {
257
+ warnings: [],
258
+ byType: {},
259
+ deadline: Date.now() + SCAN_TIME_BUDGET_MS,
260
+ truncated: false,
261
+ total: 0
262
+ };
263
+ }
264
+ function _pushWarning(ctx, type, rawMatch, location) {
265
+ ctx.total += 1;
266
+ ctx.byType[type] = (ctx.byType[type] ?? 0) + 1;
267
+ if (ctx.warnings.length < MAX_PII_WARNINGS) {
268
+ ctx.warnings.push({
269
+ type,
270
+ match: _maskPII(rawMatch),
271
+ location
272
+ });
273
+ } else {
274
+ ctx.truncated = true;
275
+ }
276
+ }
277
+ function _finalizeScan(ctx) {
278
+ if (ctx.truncated) {
279
+ ctx.warnings.push({
280
+ type: "_summary",
281
+ match: `truncated: ${ctx.total} matches`,
282
+ location: `counts:${JSON.stringify(ctx.byType)}`
283
+ });
284
+ }
285
+ return ctx.warnings;
286
+ }
287
+ function _scanTextInto(text2, location, ctx) {
288
+ const input = text2.length > MAX_SCAN_INPUT_CHARS ? text2.slice(0, MAX_SCAN_INPUT_CHARS) : text2;
204
289
  try {
205
290
  for (const {
206
291
  name,
207
292
  pattern
208
293
  } of PII_PATTERNS) {
209
294
  pattern.lastIndex = 0;
210
- let match = pattern.exec(text2);
295
+ let match = pattern.exec(input);
211
296
  while (match) {
212
- warnings.push({
213
- type: name,
214
- match: _maskPII(match[0]),
215
- location
216
- });
217
- match = pattern.exec(text2);
297
+ _pushWarning(ctx, name, match[0], location);
298
+ if (Date.now() > ctx.deadline) {
299
+ ctx.truncated = true;
300
+ return;
301
+ }
302
+ if (pattern.lastIndex === match.index) pattern.lastIndex++;
303
+ match = pattern.exec(input);
218
304
  }
219
305
  }
220
306
  } catch {
221
307
  }
222
- return warnings;
223
308
  }
224
309
  function scanObjectForPII(obj, basePath = "", maxDepth = 10) {
225
- const warnings = [];
310
+ const ctx = _newScanContext();
226
311
  try {
227
- _scanObject(obj, basePath, 0, maxDepth, warnings);
312
+ _scanObjectInto(obj, basePath, 0, maxDepth, ctx);
228
313
  } catch {
229
314
  }
230
- return warnings;
315
+ return _finalizeScan(ctx);
231
316
  }
232
- function _scanObject(value, path, depth, maxDepth, warnings) {
317
+ function _scanObjectInto(value, path, depth, maxDepth, ctx) {
233
318
  if (depth > maxDepth || value === null || value === void 0) return;
319
+ if (ctx.truncated || Date.now() > ctx.deadline) {
320
+ ctx.truncated = true;
321
+ return;
322
+ }
234
323
  if (typeof value === "string") {
235
- const found = scanForPII(value, path);
236
- warnings.push(...found);
324
+ _scanTextInto(value, path, ctx);
237
325
  return;
238
326
  }
239
327
  if (Array.isArray(value)) {
240
- value.forEach((item, i) => {
241
- _scanObject(item, `${path}[${i}]`, depth + 1, maxDepth, warnings);
242
- });
328
+ for (let i = 0; i < value.length; i++) {
329
+ if (ctx.truncated) return;
330
+ _scanObjectInto(value[i], `${path}[${i}]`, depth + 1, maxDepth, ctx);
331
+ }
243
332
  return;
244
333
  }
245
334
  if (typeof value === "object") {
246
335
  for (const [key, val] of Object.entries(value)) {
247
- _scanObject(val, path ? `${path}.${key}` : key, depth + 1, maxDepth, warnings);
336
+ if (ctx.truncated) return;
337
+ _scanObjectInto(val, path ? `${path}.${key}` : key, depth + 1, maxDepth, ctx);
248
338
  }
249
339
  }
250
340
  }
@@ -267,16 +357,17 @@ function redactUrl(url) {
267
357
  }
268
358
  }
269
359
  function redactNetworkEvent(event) {
270
- const piiWarnings = [];
360
+ const ctx = _newScanContext();
271
361
  if (event.url) {
272
- piiWarnings.push(...scanForPII(event.url, "url"));
362
+ _scanTextInto(event.url, "url", ctx);
273
363
  }
274
364
  if (event.requestBody) {
275
- piiWarnings.push(...scanObjectForPII(event.requestBody, "requestBody"));
365
+ _scanObjectInto(event.requestBody, "requestBody", 0, 10, ctx);
276
366
  }
277
367
  if (event.responseBody) {
278
- piiWarnings.push(...scanObjectForPII(event.responseBody, "responseBody"));
368
+ _scanObjectInto(event.responseBody, "responseBody", 0, 10, ctx);
279
369
  }
370
+ const piiWarnings = _finalizeScan(ctx);
280
371
  return {
281
372
  url: event.url ? redactUrl(event.url) : "",
282
373
  method: event.method ?? "GET",
@@ -289,29 +380,54 @@ function redactNetworkEvent(event) {
289
380
  piiWarnings
290
381
  };
291
382
  }
292
- var REDACTED, SENSITIVE_HEADERS, PII_PATTERNS, SENSITIVE_BODY_KEYS;
383
+ var REDACTED, MAX_SCAN_INPUT_CHARS, SCAN_TIME_BUDGET_MS, MAX_PII_WARNINGS, MAX_STRING_SCRUB_CHARS, SENSITIVE_HEADERS, PII_PATTERNS, VALUE_SCRUB_PATTERNS, SENSITIVE_BODY_KEYS, NORMALIZED_SENSITIVE_KEYS;
293
384
  var init_redaction = __esm({
294
385
  "lib/module/debug/redaction.js"() {
295
386
  "use strict";
296
387
  REDACTED = "[REDACTED]";
388
+ MAX_SCAN_INPUT_CHARS = 16 * 1024;
389
+ SCAN_TIME_BUDGET_MS = 10;
390
+ MAX_PII_WARNINGS = 20;
391
+ MAX_STRING_SCRUB_CHARS = 64 * 1024;
297
392
  SENSITIVE_HEADERS = /* @__PURE__ */ new Set(["authorization", "cookie", "set-cookie", "x-api-key", "x-auth-token", "proxy-authorization"]);
298
393
  PII_PATTERNS = [{
299
394
  name: "email",
300
- pattern: /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g
395
+ pattern: /[A-Za-z0-9._%+-]{1,64}@[A-Za-z0-9-]{1,63}(?:\.[A-Za-z0-9-]{1,63}){0,8}\.[A-Za-z]{2,24}/g
301
396
  }, {
302
397
  name: "phone",
303
- pattern: /(?:\+?\d{1,3}[-.\s]?)?\(?\d{2,4}\)?[-.\s]?\d{3,4}[-.\s]?\d{3,4}/g
398
+ pattern: /\+?\d{1,3}[-.\s]?\(?\d{2,4}\)?[-.\s]?\d{3,4}[-.\s]?\d{3,4}/g
304
399
  }, {
305
400
  name: "ssn",
306
401
  pattern: /\b\d{3}-\d{2}-\d{4}\b/g
307
402
  }, {
308
403
  name: "credit_card",
309
404
  pattern: /\b\d{4}[-\s]?\d{4}[-\s]?\d{4}[-\s]?\d{4}\b/g
405
+ }, {
406
+ name: "iban",
407
+ pattern: /\b[A-Z]{2}\d{2}[A-Z0-9]{10,30}\b/g
408
+ }, {
409
+ name: "jwt",
410
+ pattern: /\beyJ[A-Za-z0-9_-]{5,}\.[A-Za-z0-9_-]{5,}\.[A-Za-z0-9_-]{5,}\b/g
310
411
  }, {
311
412
  name: "ip_address",
312
413
  pattern: /\b(?:\d{1,3}\.){3}\d{1,3}\b/g
313
414
  }];
314
- SENSITIVE_BODY_KEYS = /* @__PURE__ */ new Set(["password", "passwd", "secret", "token", "access_token", "refresh_token", "api_key", "apiKey", "private_key", "privateKey", "credit_card", "creditCard", "ccNumber", "cvv", "ssn", "social_security"]);
415
+ VALUE_SCRUB_PATTERNS = [{
416
+ name: "jwt",
417
+ pattern: /eyJ[A-Za-z0-9_-]{5,}\.[A-Za-z0-9_-]{5,}\.[A-Za-z0-9_-]{5,}/g
418
+ }, {
419
+ name: "email",
420
+ pattern: /[A-Za-z0-9._%+-]{1,64}@[A-Za-z0-9-]{1,63}(?:\.[A-Za-z0-9-]{1,63}){0,8}\.[A-Za-z]{2,24}/g
421
+ }, {
422
+ name: "iban",
423
+ pattern: /\b[A-Z]{2}\d{2}[A-Z0-9]{10,30}\b/g
424
+ }, {
425
+ name: "credit_card",
426
+ pattern: /\b\d{4}[-\s]?\d{4}[-\s]?\d{4}[-\s]?\d{2,7}\b/g,
427
+ luhn: true
428
+ }];
429
+ SENSITIVE_BODY_KEYS = /* @__PURE__ */ new Set(["password", "passwd", "secret", "token", "access_token", "refresh_token", "id_token", "api_key", "apiKey", "private_key", "privateKey", "credit_card", "creditCard", "ccnumber", "cardnumber", "card_number", "pan", "cvv", "cvc", "ssn", "social_security", "nationalid", "national_id", "iban", "otp", "pin", "totp", "mfa", "mnemonic", "seed"]);
430
+ NORMALIZED_SENSITIVE_KEYS = new Set(Array.from(SENSITIVE_BODY_KEYS, _normalizeKey));
315
431
  }
316
432
  });
317
433
 
@@ -489,7 +605,7 @@ var SDK_VERSION;
489
605
  var init_version = __esm({
490
606
  "lib/module/core/constants/version.js"() {
491
607
  "use strict";
492
- SDK_VERSION = "1.10.4";
608
+ SDK_VERSION = "1.10.5";
493
609
  }
494
610
  });
495
611
 
@@ -3336,12 +3452,22 @@ var init_AutoScreenDetector = __esm({
3336
3452
  _manualScreen = null;
3337
3453
  _manualScreenTs = 0;
3338
3454
  _autoScreen = null;
3455
+ /** `name#key` of the last auto-detected screen VISIT — see _extractActiveVisit. */
3456
+ _autoVisitSig = null;
3339
3457
  _navigationRef = null;
3340
3458
  _navListenerRemover = null;
3341
3459
  _navListenerWired = false;
3342
3460
  _heuristicTimer = null;
3343
3461
  _started = false;
3344
3462
  _lastEmittedScreen = null;
3463
+ _lastEmittedTs = 0;
3464
+ /**
3465
+ * Cross-source emit dedup window — see _emitScreenChange. Long enough to absorb the manual
3466
+ * beacon and the navRef listener both reporting the SAME transition (they land within the
3467
+ * 30ms nav debounce plus a render), short enough that a genuine re-visit of the same route
3468
+ * a moment later is a new screen view rather than silence.
3469
+ */
3470
+ static EMIT_DEDUP_WINDOW_MS = 800;
3345
3471
  _navDebounceTimer = null;
3346
3472
  /** Whether the React Navigation exports were actually replaced — see _autoHookReactNavigation. */
3347
3473
  _autoHookInstalled = false;
@@ -3393,6 +3519,7 @@ var init_AutoScreenDetector = __esm({
3393
3519
  if (this.isManualScreenActive()) return;
3394
3520
  if (name !== this._autoScreen) {
3395
3521
  this._autoScreen = name;
3522
+ this._autoVisitSig = name;
3396
3523
  this._emitScreenChange(name, "heuristic");
3397
3524
  }
3398
3525
  } catch {
@@ -3443,10 +3570,11 @@ var init_AutoScreenDetector = __esm({
3443
3570
  try {
3444
3571
  const state = typeof container.getRootState === "function" ? container.getRootState() : null;
3445
3572
  if (state) {
3446
- const screen = this._extractActiveRoute(state);
3447
- if (screen && screen !== this._autoScreen) {
3448
- this._autoScreen = screen;
3449
- this._emitScreenChange(screen, "navRef");
3573
+ const visit = this._extractActiveVisit(state);
3574
+ if (visit && this._visitSig(visit) !== this._autoVisitSig) {
3575
+ this._autoScreen = visit.name;
3576
+ this._autoVisitSig = this._visitSig(visit);
3577
+ this._emitScreenChange(visit.name, "navRef");
3450
3578
  }
3451
3579
  }
3452
3580
  } catch {
@@ -3460,10 +3588,11 @@ var init_AutoScreenDetector = __esm({
3460
3588
  if (typeof container.getRootState === "function") {
3461
3589
  const state = container.getRootState();
3462
3590
  if (state) {
3463
- const screen = this._extractActiveRoute(state);
3464
- if (screen) {
3465
- this._autoScreen = screen;
3466
- this._emitScreenChange(screen, "navRef");
3591
+ const visit = this._extractActiveVisit(state);
3592
+ if (visit) {
3593
+ this._autoScreen = visit.name;
3594
+ this._autoVisitSig = this._visitSig(visit);
3595
+ this._emitScreenChange(visit.name, "navRef");
3467
3596
  }
3468
3597
  }
3469
3598
  }
@@ -3489,10 +3618,11 @@ var init_AutoScreenDetector = __esm({
3489
3618
  if (navContainer) {
3490
3619
  const state = typeof navContainer.getRootState === "function" ? navContainer.getRootState() : null;
3491
3620
  if (state) {
3492
- const screen = this._extractActiveRoute(state);
3493
- if (screen && screen !== this._autoScreen) {
3494
- this._autoScreen = screen;
3495
- this._emitScreenChange(screen, "heuristic");
3621
+ const visit = this._extractActiveVisit(state);
3622
+ if (visit && this._visitSig(visit) !== this._autoVisitSig) {
3623
+ this._autoScreen = visit.name;
3624
+ this._autoVisitSig = this._visitSig(visit);
3625
+ this._emitScreenChange(visit.name, "heuristic");
3496
3626
  }
3497
3627
  }
3498
3628
  }
@@ -3524,19 +3654,43 @@ var init_AutoScreenDetector = __esm({
3524
3654
  * Handles nested navigators by walking to the deepest active route.
3525
3655
  */
3526
3656
  _extractActiveRoute(state) {
3657
+ return this._extractActiveVisit(state)?.name ?? null;
3658
+ }
3659
+ /**
3660
+ * Extract the active route's name AND its React Navigation route `key`.
3661
+ *
3662
+ * The key is what makes re-VISITS detectable. Comparing names alone collapses two
3663
+ * different visits to the same route into one screen view: leave Details, open Details
3664
+ * again, and `name === _autoScreen` swallowed the second visit entirely (QA: "opened the
3665
+ * same route again and no screen event was recorded"). React Navigation mints a fresh
3666
+ * `key` for every pushed route instance, so a re-push of the same name is a NEW key —
3667
+ * name+key comparison records each visit while a mere re-render of the same instance
3668
+ * (same key) still emits nothing. States without keys degrade to name-only, i.e. the
3669
+ * old behaviour, never worse.
3670
+ */
3671
+ _extractActiveVisit(state) {
3527
3672
  try {
3528
3673
  if (!state?.routes || typeof state.index !== "number") return null;
3529
3674
  const activeRoute = state.routes[state.index];
3530
3675
  if (!activeRoute) return null;
3531
3676
  if (activeRoute.state?.routes && typeof activeRoute.state.index === "number") {
3532
- const nested = this._extractActiveRoute(activeRoute.state);
3677
+ const nested = this._extractActiveVisit(activeRoute.state);
3533
3678
  if (nested) return nested;
3534
3679
  }
3535
- return activeRoute.name || null;
3680
+ if (!activeRoute.name) return null;
3681
+ const rawKey = activeRoute.key;
3682
+ return {
3683
+ name: activeRoute.name,
3684
+ key: typeof rawKey === "string" ? rawKey : null
3685
+ };
3536
3686
  } catch {
3537
3687
  return null;
3538
3688
  }
3539
3689
  }
3690
+ /** `name#key` signature of one screen VISIT — what the auto paths dedup on. */
3691
+ _visitSig(visit) {
3692
+ return visit.key ? `${visit.name}#${visit.key}` : visit.name;
3693
+ }
3540
3694
  // ─── Lifecycle ──────────────────────────────────────────────────────
3541
3695
  /** Start auto-detection (idempotent) */
3542
3696
  start() {
@@ -3701,8 +3855,10 @@ var init_AutoScreenDetector = __esm({
3701
3855
  // ─── Internal ───────────────────────────────────────────────────────
3702
3856
  _emitScreenChange(name, source) {
3703
3857
  try {
3704
- if (name === this._lastEmittedScreen) return;
3858
+ const emitNow = Date.now();
3859
+ if (name === this._lastEmittedScreen && emitNow - this._lastEmittedTs < _AutoScreenDetector.EMIT_DEDUP_WINDOW_MS) return;
3705
3860
  this._lastEmittedScreen = name;
3861
+ this._lastEmittedTs = emitNow;
3706
3862
  for (const cb of this._listeners) {
3707
3863
  try {
3708
3864
  cb(name, source);
@@ -5587,6 +5743,21 @@ var init_SessionManager = __esm({
5587
5743
  * differently across devices and pushes markers ~10% off vertically).
5588
5744
  */
5589
5745
  _lastNativeViewportJsUnits = null;
5746
+ /**
5747
+ * Exact-duplicate gesture suppression (QA: one physical tap recorded 2–3×).
5748
+ *
5749
+ * Measured in production data: the native tracker re-emitted the SAME tap — identical
5750
+ * gestureType and identical coordinates to the SUB-PIXEL (e.g. x=466.962890625) — at
5751
+ * 160–240ms gaps, sometimes twice. A human re-tap cannot reproduce a sub-pixel float
5752
+ * exactly, so exact coordinate equality within the window is a safe discriminator: real
5753
+ * double-taps land on at least slightly different pixels and pass through untouched.
5754
+ * The pipeline's own 100ms dedup was too narrow for these; this window covers what was
5755
+ * actually observed with margin. Sits at the ONE entry point every gesture source funnels
5756
+ * through, so recording and analytics lanes are protected equally.
5757
+ */
5758
+ _lastGestureSig = null;
5759
+ _lastGestureTs = 0;
5760
+ static GESTURE_DEDUP_WINDOW_MS = 400;
5590
5761
  /** Memoized native file-outbox frame adapter (gated by the backend transport). */
5591
5762
  _outboxFrameCapture = null;
5592
5763
  constructor(debugTransport, nativeCapture2, managerConfig) {
@@ -6235,6 +6406,14 @@ var init_SessionManager = __esm({
6235
6406
  * Emits a USER_ACTION event with gesture-specific subtype and payload.
6236
6407
  */
6237
6408
  onGestureDetected(gestureType, details) {
6409
+ const dedupSig = `${gestureType}|${String(details?.x)}|${String(details?.y)}|${String(details?.endX)}|${String(details?.endY)}`;
6410
+ const nowTs = Date.now();
6411
+ if (dedupSig === this._lastGestureSig && nowTs - this._lastGestureTs <= _SessionManager.GESTURE_DEDUP_WINDOW_MS) {
6412
+ this._lastGestureTs = nowTs;
6413
+ return;
6414
+ }
6415
+ this._lastGestureSig = dedupSig;
6416
+ this._lastGestureTs = nowTs;
6238
6417
  const payload = {
6239
6418
  gestureType,
6240
6419
  x: details?.x,
@@ -14145,6 +14324,35 @@ var SHAPE = {
14145
14324
  })
14146
14325
  }
14147
14326
  },
14327
+ // SB-10: the public, documented top-level privacy config. Previously only the
14328
+ // nested replay privacy took effect; this is validated here and mapped onto the
14329
+ // effective replay privacy policy in the bootstrapper so it actually masks.
14330
+ privacy: {
14331
+ kind: "obj",
14332
+ opt: true,
14333
+ shape: {
14334
+ maskTextInputs: {
14335
+ kind: "bool",
14336
+ opt: true
14337
+ },
14338
+ maskImages: {
14339
+ kind: "bool",
14340
+ opt: true
14341
+ },
14342
+ redactAuth: {
14343
+ kind: "bool",
14344
+ opt: true
14345
+ },
14346
+ redactCookies: {
14347
+ kind: "bool",
14348
+ opt: true
14349
+ },
14350
+ redactBodies: {
14351
+ kind: "bool",
14352
+ opt: true
14353
+ }
14354
+ }
14355
+ },
14148
14356
  captureInteractionHeatmap: bool(true),
14149
14357
  // Opt-in: intercept console.* and ship the lines to the Diagnose → Logs lane in SaaS
14150
14358
  // mode. OFF by default — console output can carry PII/secrets and adds ingest volume,
@@ -15498,6 +15706,13 @@ var BackendSessionAdapter = class _BackendSessionAdapter {
15498
15706
  // the flush timer retries, so nothing is lost to a start/child race. The durable native
15499
15707
  // outbox path has its own ordering; this guards only the JS in-memory fallback.
15500
15708
  _startedSessionIds = /* @__PURE__ */ new Set();
15709
+ // §11 offline-start recovery: INGESTION_START payloads whose POST failed (e.g. the app
15710
+ // launched with no connectivity). Without this, a failed START was logged and forgotten —
15711
+ // the row-ready gate never opened, every child lane re-buffered forever, and the session
15712
+ // stayed stuck until an app restart even after the network returned. Each flush tick
15713
+ // re-attempts these until acked (network errors keep retrying; permanent 4xx gives up).
15714
+ _pendingStartPayloads = /* @__PURE__ */ new Map();
15715
+ _startRetryInFlight = false;
15501
15716
  pendingFrames = [];
15502
15717
  pendingEvents = [];
15503
15718
  pendingNetworkRequests = [];
@@ -15621,10 +15836,16 @@ var BackendSessionAdapter = class _BackendSessionAdapter {
15621
15836
  }
15622
15837
  };
15623
15838
  __DEV__ && logger.debug(`[BackendSessionAdapter] POST session start: ${session.sessionId}`);
15624
- return this._post(startEndpoint, payload);
15625
- }).then(() => {
15626
- this._startedSessionIds.add(session.sessionId);
15627
- __DEV__ && logger.info(`[ScaleBun Replay] backend session upload success`);
15839
+ return this._post(startEndpoint, payload).then(() => {
15840
+ this._startedSessionIds.add(session.sessionId);
15841
+ this._pendingStartPayloads.delete(session.sessionId);
15842
+ __DEV__ && logger.info(`[ScaleBun Replay] backend session upload success`);
15843
+ }, (err) => {
15844
+ if (!_BackendSessionAdapter._isPermanentHttpError(err)) {
15845
+ this._pendingStartPayloads.set(session.sessionId, payload);
15846
+ }
15847
+ logger.info(`[ScaleBun Replay] backend session upload failure`);
15848
+ });
15628
15849
  }).catch(() => logger.info(`[ScaleBun Replay] backend session upload failure`));
15629
15850
  }
15630
15851
  sendSessionEnd(session) {
@@ -15697,8 +15918,16 @@ var BackendSessionAdapter = class _BackendSessionAdapter {
15697
15918
  environment: m?.buildType
15698
15919
  }
15699
15920
  };
15700
- await this._post(startEndpoint, payload);
15921
+ try {
15922
+ await this._post(startEndpoint, payload);
15923
+ } catch (err) {
15924
+ if (!_BackendSessionAdapter._isPermanentHttpError(err)) {
15925
+ this._pendingStartPayloads.set(session.sessionId, payload);
15926
+ }
15927
+ throw err;
15928
+ }
15701
15929
  this._startedSessionIds.add(session.sessionId);
15930
+ this._pendingStartPayloads.delete(session.sessionId);
15702
15931
  this._flushAnalyticsEvents().catch(() => {
15703
15932
  });
15704
15933
  __DEV__ && logger.info(`[ScaleBun Analytics] session start upload success: ${session.sessionId}`);
@@ -15706,6 +15935,40 @@ var BackendSessionAdapter = class _BackendSessionAdapter {
15706
15935
  __DEV__ && logger.info(`[ScaleBun Analytics] session start upload failure`);
15707
15936
  }
15708
15937
  }
15938
+ /**
15939
+ * Re-attempt any INGESTION_START whose POST failed (offline app launch). Runs on every
15940
+ * flush tick of BOTH lanes — cheap no-op when the map is empty, single-flight guarded.
15941
+ * On ack: opens the row-ready gate and drains whichever lane the id belongs to, which is
15942
+ * exactly what un-sticks a replay that started offline once connectivity returns.
15943
+ */
15944
+ _retryPendingStarts() {
15945
+ if (this.destroyed || this._startRetryInFlight || this._pendingStartPayloads.size === 0) return;
15946
+ const entry = this._pendingStartPayloads.entries().next().value;
15947
+ if (!entry) return;
15948
+ const [sessionId, payload] = entry;
15949
+ const stillRelevant = sessionId === this.currentSessionId || sessionId === this._analyticsSessionId;
15950
+ if (!stillRelevant) {
15951
+ this._pendingStartPayloads.delete(sessionId);
15952
+ return;
15953
+ }
15954
+ this._startRetryInFlight = true;
15955
+ const startEndpoint = this.config.clientKey ? ENDPOINTS.INGESTION_START : "/replay/sessions";
15956
+ this._post(startEndpoint, payload).then(() => {
15957
+ this._startedSessionIds.add(sessionId);
15958
+ this._pendingStartPayloads.delete(sessionId);
15959
+ __DEV__ && logger.info(`[ScaleBun Replay] deferred session start delivered: ${sessionId}`);
15960
+ if (sessionId === this._analyticsSessionId) {
15961
+ this._flushAnalyticsEvents().catch(() => {
15962
+ });
15963
+ }
15964
+ }).catch((err) => {
15965
+ if (_BackendSessionAdapter._isPermanentHttpError(err)) {
15966
+ this._pendingStartPayloads.delete(sessionId);
15967
+ }
15968
+ }).finally(() => {
15969
+ this._startRetryInFlight = false;
15970
+ });
15971
+ }
15709
15972
  /**
15710
15973
  * Enqueue a user track() event. Buffers (bounded, drop-oldest) when the
15711
15974
  * analytics session is not yet open; flushes at >=20 once it is.
@@ -15820,6 +16083,7 @@ var BackendSessionAdapter = class _BackendSessionAdapter {
15820
16083
  _startAnalyticsFlushTimer() {
15821
16084
  this._stopAnalyticsFlushTimer();
15822
16085
  this.analyticsFlushTimer = setInterval(() => {
16086
+ this._retryPendingStarts();
15823
16087
  this._flushAnalyticsEvents().catch(() => {
15824
16088
  });
15825
16089
  }, this.config.flushIntervalMs);
@@ -16046,6 +16310,7 @@ var BackendSessionAdapter = class _BackendSessionAdapter {
16046
16310
  this._analyticsSessionId = null;
16047
16311
  this._pendingFinalizeId = null;
16048
16312
  this._startedSessionIds.clear();
16313
+ this._pendingStartPayloads.clear();
16049
16314
  }
16050
16315
  // ─── Internal: Flush ────────────────────────────────────────────────
16051
16316
  /** Wire metadata for a frame — real format/sizeBytes from native (no hardcoded literals). */
@@ -16564,6 +16829,7 @@ var BackendSessionAdapter = class _BackendSessionAdapter {
16564
16829
  _startFlushTimer() {
16565
16830
  this._stopFlushTimer();
16566
16831
  this.flushTimer = setInterval(() => {
16832
+ this._retryPendingStarts();
16567
16833
  this._flushFrames().catch(() => {
16568
16834
  });
16569
16835
  this._flushEvents().catch(() => {
@@ -16894,6 +17160,18 @@ var SDKBootstrapper = class {
16894
17160
  if (features.replay !== false) {
16895
17161
  try {
16896
17162
  __DEV__ && logger.debug("[Bootstrap] Initializing unified SessionManager");
17163
+ const pub = this.config.privacy ?? {};
17164
+ const sessionReplay = {
17165
+ ...this.config.replay ?? {}
17166
+ };
17167
+ if (typeof pub.maskTextInputs === "boolean" || typeof pub.maskImages === "boolean") {
17168
+ sessionReplay.privacyPolicy = {
17169
+ redactTextInputs: pub.maskTextInputs ?? true,
17170
+ redactImages: pub.maskImages ?? false,
17171
+ blockTestIds: [],
17172
+ captureExclusions: []
17173
+ };
17174
+ }
16897
17175
  const sessionManager = SessionManager.getInstance(
16898
17176
  null,
16899
17177
  // No desktop transport initially
@@ -16904,9 +17182,7 @@ var SDKBootstrapper = class {
16904
17182
  // Also flow the Feature #4 heatmap flag so tap/gesture coords
16905
17183
  // route to the analytics lane even when no recording is active.
16906
17184
  {
16907
- ...this.config.replay ? {
16908
- sessionReplay: this.config.replay
16909
- } : {},
17185
+ sessionReplay,
16910
17186
  captureInteractionHeatmap: this.config.captureInteractionHeatmap === true
16911
17187
  }
16912
17188
  );
@@ -19863,16 +20139,90 @@ var ScaleBunFacade = class {
19863
20139
  });
19864
20140
  });
19865
20141
  }
19866
- /** Clear user identity */
19867
- clearUser() {
20142
+ /**
20143
+ * Clear user identity.
20144
+ *
20145
+ * SB-11: pass `{ purgeLocal: true }` on logout / consent withdrawal to also
20146
+ * erase all locally-stored SDK data (see {@link eraseLocalData}). Without it,
20147
+ * behaviour is unchanged (identity-only clear).
20148
+ */
20149
+ clearUser(options) {
19868
20150
  return noThrow(() => {
19869
20151
  this._identifiedUserId = null;
19870
20152
  this._pendingIdentity = null;
19871
20153
  if (!this.initialized) return;
19872
20154
  this._eventTracker?.clearIdentity();
19873
20155
  this.track("$clear_user", {});
20156
+ if (options?.purgeLocal) void this.eraseLocalData();
20157
+ });
20158
+ }
20159
+ /**
20160
+ * SB-11: erase all locally-stored SDK data from the device — the durable event
20161
+ * queue, the pre-init buffer, and the first-party KV store (cached install /
20162
+ * anonymous / session IDs, plus any queued payloads including SB-26 disk data).
20163
+ *
20164
+ * Order matters: capture is stopped FIRST so nothing is written back in behind
20165
+ * the delete. Best-effort and never throws.
20166
+ *
20167
+ * Note: native replay frames written to disk on iOS are addressed separately
20168
+ * (SB-15); this covers every store reachable from JS today.
20169
+ */
20170
+ async eraseLocalData() {
20171
+ try {
20172
+ try {
20173
+ SessionManager.getExistingInstance()?.endSession("ended");
20174
+ } catch {
20175
+ }
20176
+ try {
20177
+ this._getQueue().clear();
20178
+ } catch {
20179
+ }
20180
+ try {
20181
+ this._preInitBuffer.clear();
20182
+ } catch {
20183
+ }
20184
+ try {
20185
+ const store = createStorageBackend();
20186
+ for (const key of store.getAllKeys()) {
20187
+ store.delete(key);
20188
+ }
20189
+ } catch {
20190
+ }
20191
+ } catch {
20192
+ }
20193
+ }
20194
+ /**
20195
+ * SB-11: record the user's data-collection consent. When `enabled` is false,
20196
+ * capture is stopped immediately; pass `{ purgeLocal: true }` to also erase
20197
+ * everything already stored locally. Never throws.
20198
+ */
20199
+ setConsent(enabled, options) {
20200
+ noThrow(() => {
20201
+ if (enabled) return;
20202
+ try {
20203
+ SessionManager.getExistingInstance()?.endSession("ended");
20204
+ } catch {
20205
+ }
20206
+ if (options?.purgeLocal) void this.eraseLocalData();
19874
20207
  });
19875
20208
  }
20209
+ /**
20210
+ * SB-10: return the effective privacy policy actually in force, resolving the
20211
+ * public config against the SDK's safe defaults. Lets callers and tests assert
20212
+ * what is active rather than guessing from the (previously dead) config object.
20213
+ */
20214
+ getEffectivePrivacyPolicy() {
20215
+ const p = this._privacyConfig ?? {};
20216
+ return {
20217
+ // Real default is true (matches the replay capture default) — the old
20218
+ // doc comment claiming "false" was both wrong and less safe.
20219
+ maskTextInputs: p.maskTextInputs ?? true,
20220
+ maskImages: p.maskImages ?? false,
20221
+ redactAuth: p.redactAuth ?? true,
20222
+ redactCookies: p.redactCookies ?? true,
20223
+ redactBodies: p.redactBodies ?? false
20224
+ };
20225
+ }
19876
20226
  /**
19877
20227
  * Submit in-app rating (1-5 stars).
19878
20228
  * Attaches to current session when available; otherwise sends standalone.
@@ -32953,7 +33303,7 @@ function ScaleBunDebugRoot({
32953
33303
  }
32954
33304
  } catch {
32955
33305
  }
32956
- }, 200);
33306
+ }, 600);
32957
33307
  }
32958
33308
  touchStartRef.current = null;
32959
33309
  } catch {