@scalebun/react-native 1.10.4 → 1.10.6

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 (802) hide show
  1. package/android/src/main/java/com/scalebun/replaysdk/tracking/InteractionTracker.kt +19 -0
  2. package/dist/scalebun.full.js +460 -57
  3. package/dist/scalebun.slim.js +457 -62
  4. package/ios/Core/DeviceIdentity.swift +50 -0
  5. package/ios/Profiler/ScaleBunProfilerModule.swift +2 -8
  6. package/ios/ReplaySdk.swift +3 -1
  7. package/lib/commonjs/analytics/EventTracker.js +22 -0
  8. package/lib/commonjs/bootstrap/SDKBootstrapper.js +17 -3
  9. package/lib/commonjs/core/config/schema.js +29 -0
  10. package/lib/commonjs/core/constants/version.js +1 -1
  11. package/lib/commonjs/core/context/device.js +5 -0
  12. package/lib/commonjs/debug/redaction.js +227 -41
  13. package/lib/commonjs/features/journey/ScaleBunDebugRoot.js +9 -1
  14. package/lib/commonjs/features/navigation/AutoScreenDetector.js +68 -16
  15. package/lib/commonjs/features/session/BackendSessionAdapter.js +73 -6
  16. package/lib/commonjs/features/session/SessionManager.js +28 -0
  17. package/lib/commonjs/public/ScaleBunFacade.js +113 -2
  18. package/lib/module/analytics/EventTracker.js +22 -0
  19. package/lib/module/bootstrap/SDKBootstrapper.js +17 -3
  20. package/lib/module/core/config/schema.js +29 -0
  21. package/lib/module/core/constants/version.js +1 -1
  22. package/lib/module/core/context/device.js +5 -0
  23. package/lib/module/debug/redaction.js +227 -41
  24. package/lib/module/features/journey/ScaleBunDebugRoot.js +9 -1
  25. package/lib/module/features/navigation/AutoScreenDetector.js +68 -16
  26. package/lib/module/features/session/BackendSessionAdapter.js +73 -6
  27. package/lib/module/features/session/SessionManager.js +28 -0
  28. package/lib/module/public/ScaleBunFacade.js +114 -3
  29. package/lib/typescript/analytics/EventTracker.d.ts +15 -0
  30. package/lib/typescript/core/config/schema.d.ts +8 -0
  31. package/lib/typescript/core/constants/version.d.ts +1 -1
  32. package/lib/typescript/core/context/device.d.ts +1 -0
  33. package/lib/typescript/debug/redaction.d.ts +8 -2
  34. package/lib/typescript/features/navigation/AutoScreenDetector.d.ts +25 -0
  35. package/lib/typescript/features/session/BackendSessionAdapter.d.ts +9 -0
  36. package/lib/typescript/features/session/SessionManager.d.ts +15 -0
  37. package/lib/typescript/public/ScaleBunFacade.d.ts +44 -2
  38. package/lib/typescript/public/types.d.ts +1 -1
  39. package/package.json +6 -2
  40. package/src/analytics/EventTracker.ts +19 -0
  41. package/src/bootstrap/SDKBootstrapper.ts +17 -1
  42. package/src/core/config/schema.ts +22 -0
  43. package/src/core/constants/version.ts +1 -1
  44. package/src/core/context/device.ts +6 -0
  45. package/src/debug/redaction.ts +235 -42
  46. package/src/features/journey/ScaleBunDebugRoot.tsx +9 -1
  47. package/src/features/navigation/AutoScreenDetector.ts +70 -16
  48. package/src/features/session/BackendSessionAdapter.ts +81 -7
  49. package/src/features/session/SessionManager.ts +31 -0
  50. package/src/public/ScaleBunFacade.ts +122 -3
  51. package/src/public/types.ts +1 -1
  52. package/dist/scalebun.full.js.map +0 -1
  53. package/dist/scalebun.slim.js.map +0 -1
  54. package/lib/commonjs/analytics/EventTracker.js.map +0 -1
  55. package/lib/commonjs/analytics/automaticEvents.js.map +0 -1
  56. package/lib/commonjs/analytics/batching.js.map +0 -1
  57. package/lib/commonjs/analytics/eventLane.js.map +0 -1
  58. package/lib/commonjs/bootstrap/FeatureRegistry.js.map +0 -1
  59. package/lib/commonjs/bootstrap/SDKBootstrapper.js.map +0 -1
  60. package/lib/commonjs/bucketing/fnv1a32.js.map +0 -1
  61. package/lib/commonjs/compat/codepush.js.map +0 -1
  62. package/lib/commonjs/config/ConfigManager.js.map +0 -1
  63. package/lib/commonjs/config/configTypes.js.map +0 -1
  64. package/lib/commonjs/core/architecture.js.map +0 -1
  65. package/lib/commonjs/core/clock/now.js.map +0 -1
  66. package/lib/commonjs/core/config/defaults.js.map +0 -1
  67. package/lib/commonjs/core/config/schema.js.map +0 -1
  68. package/lib/commonjs/core/constants/endpoints.js.map +0 -1
  69. package/lib/commonjs/core/constants/protocol.js.map +0 -1
  70. package/lib/commonjs/core/constants/timings.js.map +0 -1
  71. package/lib/commonjs/core/constants/version.js.map +0 -1
  72. package/lib/commonjs/core/context/app.js.map +0 -1
  73. package/lib/commonjs/core/context/device.js.map +0 -1
  74. package/lib/commonjs/core/context/session.js.map +0 -1
  75. package/lib/commonjs/core/context/user.js.map +0 -1
  76. package/lib/commonjs/core/contracts/IFeature.js.map +0 -1
  77. package/lib/commonjs/core/di/container.js.map +0 -1
  78. package/lib/commonjs/core/encoding/base64.js.map +0 -1
  79. package/lib/commonjs/core/id/deviceId.js.map +0 -1
  80. package/lib/commonjs/core/id/installationId.js.map +0 -1
  81. package/lib/commonjs/core/id/sessionId.js.map +0 -1
  82. package/lib/commonjs/core/lifecycle/appLifecycle.js.map +0 -1
  83. package/lib/commonjs/core/lifecycle/crashSafe.js.map +0 -1
  84. package/lib/commonjs/core/logger/errorClassification.js.map +0 -1
  85. package/lib/commonjs/core/logger/internalLogger.js.map +0 -1
  86. package/lib/commonjs/core/logger/levels.js.map +0 -1
  87. package/lib/commonjs/crypto/hmacSha256.js.map +0 -1
  88. package/lib/commonjs/debug/bootstrap.js.map +0 -1
  89. package/lib/commonjs/debug/commands.js.map +0 -1
  90. package/lib/commonjs/debug/configBuilder.js.map +0 -1
  91. package/lib/commonjs/debug/exportBridge.js.map +0 -1
  92. package/lib/commonjs/debug/hostResolver.js.map +0 -1
  93. package/lib/commonjs/debug/index.js.map +0 -1
  94. package/lib/commonjs/debug/metrics.js.map +0 -1
  95. package/lib/commonjs/debug/perf.js.map +0 -1
  96. package/lib/commonjs/debug/perfWiring.js.map +0 -1
  97. package/lib/commonjs/debug/protocol.js.map +0 -1
  98. package/lib/commonjs/debug/redaction.js.map +0 -1
  99. package/lib/commonjs/debug/replayWiring.js.map +0 -1
  100. package/lib/commonjs/debug/screenTracking.js.map +0 -1
  101. package/lib/commonjs/debug/sessionWiring.js.map +0 -1
  102. package/lib/commonjs/debug/stream.js.map +0 -1
  103. package/lib/commonjs/debug/transport.js.map +0 -1
  104. package/lib/commonjs/features/bugreport/BugReportFeature.js.map +0 -1
  105. package/lib/commonjs/features/bugreport/buildPayload.js.map +0 -1
  106. package/lib/commonjs/features/bugreport/index.js.map +0 -1
  107. package/lib/commonjs/features/crash/CrashFeature.js.map +0 -1
  108. package/lib/commonjs/features/crash/CrashReporter.js.map +0 -1
  109. package/lib/commonjs/features/crash/NativeCrashFeature.js.map +0 -1
  110. package/lib/commonjs/features/crash/capture.js.map +0 -1
  111. package/lib/commonjs/features/crash/globalHandler.js.map +0 -1
  112. package/lib/commonjs/features/crash/index.js.map +0 -1
  113. package/lib/commonjs/features/crash/nativeCrashBridge.js.map +0 -1
  114. package/lib/commonjs/features/crash/rejectionHandler.js.map +0 -1
  115. package/lib/commonjs/features/engage/EngageAnchor.js.map +0 -1
  116. package/lib/commonjs/features/engage/EngageArchetypeRenderers.js.map +0 -1
  117. package/lib/commonjs/features/engage/EngageInAppView.js.map +0 -1
  118. package/lib/commonjs/features/engage/EngageInlinePlacement.js.map +0 -1
  119. package/lib/commonjs/features/engage/EngagePromptProvider.js.map +0 -1
  120. package/lib/commonjs/features/engage/EngagePromptView.js.map +0 -1
  121. package/lib/commonjs/features/engage/EngageTransport.js.map +0 -1
  122. package/lib/commonjs/features/engage/EngageVariantContent.js.map +0 -1
  123. package/lib/commonjs/features/engage/__test-support__/reactNativeStub.js.map +0 -1
  124. package/lib/commonjs/features/engage/attachmentCapture.js.map +0 -1
  125. package/lib/commonjs/features/engage/captureVoiceAttachment.js.map +0 -1
  126. package/lib/commonjs/features/engage/engageCoachmarkTour.js.map +0 -1
  127. package/lib/commonjs/features/engage/engageGameLogic.js.map +0 -1
  128. package/lib/commonjs/features/engage/engageMediaSizing.js.map +0 -1
  129. package/lib/commonjs/features/engage/engageMultiStepSheet.js.map +0 -1
  130. package/lib/commonjs/features/engage/engageOutcome.js.map +0 -1
  131. package/lib/commonjs/features/engage/engagePushTokenBridge.js.map +0 -1
  132. package/lib/commonjs/features/engage/engageShakeBridge.js.map +0 -1
  133. package/lib/commonjs/features/engage/engageSignals.js.map +0 -1
  134. package/lib/commonjs/features/engage/engageStoreReviewBridge.js.map +0 -1
  135. package/lib/commonjs/features/engage/engageTestSeenStore.js.map +0 -1
  136. package/lib/commonjs/features/engage/engageThrottle.js.map +0 -1
  137. package/lib/commonjs/features/engage/engageTriggerEngine.js.map +0 -1
  138. package/lib/commonjs/features/engage/engageTypes.js.map +0 -1
  139. package/lib/commonjs/features/engage/engageVariantResolver.js.map +0 -1
  140. package/lib/commonjs/features/engage/engageWindowInsets.js.map +0 -1
  141. package/lib/commonjs/features/engage/gestureTriggerDetector.js.map +0 -1
  142. package/lib/commonjs/features/engage/transcription/TranscriptionProvider.js.map +0 -1
  143. package/lib/commonjs/features/install-referrer/installReferrer.js.map +0 -1
  144. package/lib/commonjs/features/journey/ScaleBunDebugRoot.js.map +0 -1
  145. package/lib/commonjs/features/journey/ScaleBunFlatList.js.map +0 -1
  146. package/lib/commonjs/features/journey/ScaleBunImpression.js.map +0 -1
  147. package/lib/commonjs/features/journey/ScaleBunScrollView.js.map +0 -1
  148. package/lib/commonjs/features/journey/ScaleBunSectionList.js.map +0 -1
  149. package/lib/commonjs/features/journey/calibrationContext.js.map +0 -1
  150. package/lib/commonjs/features/journey/gestureBuffer.js.map +0 -1
  151. package/lib/commonjs/features/journey/gestureDetector.js.map +0 -1
  152. package/lib/commonjs/features/journey/impression.js.map +0 -1
  153. package/lib/commonjs/features/journey/journeyManager.js.map +0 -1
  154. package/lib/commonjs/features/journey/journeyTypes.js.map +0 -1
  155. package/lib/commonjs/features/journey/navDetector.js.map +0 -1
  156. package/lib/commonjs/features/journey/screenshotHelper.js.map +0 -1
  157. package/lib/commonjs/features/journey/targetRegistry.js.map +0 -1
  158. package/lib/commonjs/features/journey/touchTarget.js.map +0 -1
  159. package/lib/commonjs/features/navigation/AutoScreenDetector.js.map +0 -1
  160. package/lib/commonjs/features/network/NetworkFeature.js.map +0 -1
  161. package/lib/commonjs/features/network/index.js.map +0 -1
  162. package/lib/commonjs/features/ota/OtaEventEmitter.js.map +0 -1
  163. package/lib/commonjs/features/ota/OtaOrchestrator.js.map +0 -1
  164. package/lib/commonjs/features/ota/OtaTypes.js.map +0 -1
  165. package/lib/commonjs/features/ota/deviceAttributes.js.map +0 -1
  166. package/lib/commonjs/features/ota/environment.js.map +0 -1
  167. package/lib/commonjs/features/ota/geoCountry.js.map +0 -1
  168. package/lib/commonjs/features/ota/retry.js.map +0 -1
  169. package/lib/commonjs/features/ota/signature.js.map +0 -1
  170. package/lib/commonjs/features/ota/useOtaUpdate.js.map +0 -1
  171. package/lib/commonjs/features/performance/PerformanceFeature.js.map +0 -1
  172. package/lib/commonjs/features/performance/collectors/AppLaunchCollector.js.map +0 -1
  173. package/lib/commonjs/features/performance/collectors/AutoScreenLoadCollector.js.map +0 -1
  174. package/lib/commonjs/features/performance/collectors/CustomTraceCollector.js.map +0 -1
  175. package/lib/commonjs/features/performance/collectors/FrameMetricsCollector.js.map +0 -1
  176. package/lib/commonjs/features/performance/collectors/JsStallCollector.js.map +0 -1
  177. package/lib/commonjs/features/performance/collectors/NetworkPerfCollector.js.map +0 -1
  178. package/lib/commonjs/features/performance/collectors/ScreenLoadCollector.js.map +0 -1
  179. package/lib/commonjs/features/performance/collectors/UiHangCollector.js.map +0 -1
  180. package/lib/commonjs/features/performance/config.js.map +0 -1
  181. package/lib/commonjs/features/performance/getNativePerformanceModule.js.map +0 -1
  182. package/lib/commonjs/features/performance/index.js.map +0 -1
  183. package/lib/commonjs/features/performance/metrics/MetricsEngine.js.map +0 -1
  184. package/lib/commonjs/features/performance/models.js.map +0 -1
  185. package/lib/commonjs/features/performance/transport/PerformanceTransport.js.map +0 -1
  186. package/lib/commonjs/features/profiler/ProfilerFeature.js.map +0 -1
  187. package/lib/commonjs/features/profiler/config.js.map +0 -1
  188. package/lib/commonjs/features/profiler/contracts.js.map +0 -1
  189. package/lib/commonjs/features/profiler/index.js.map +0 -1
  190. package/lib/commonjs/features/profiler/models.js.map +0 -1
  191. package/lib/commonjs/features/profiler/transport/ProfilerTransport.js.map +0 -1
  192. package/lib/commonjs/features/replay/bridge/adapters/bridgeAdapter.js.map +0 -1
  193. package/lib/commonjs/features/replay/bridge/eventEmitter.js.map +0 -1
  194. package/lib/commonjs/features/replay/bridge/nativeModule.js.map +0 -1
  195. package/lib/commonjs/features/replay/core/clock/clock.js.map +0 -1
  196. package/lib/commonjs/features/replay/core/config/defaults.js.map +0 -1
  197. package/lib/commonjs/features/replay/core/config/validator.js.map +0 -1
  198. package/lib/commonjs/features/replay/core/env/environmentDetector.js.map +0 -1
  199. package/lib/commonjs/features/replay/core/errors/safeCall.js.map +0 -1
  200. package/lib/commonjs/features/replay/core/ids/sessionId.js.map +0 -1
  201. package/lib/commonjs/features/replay/core/logger/logger.js.map +0 -1
  202. package/lib/commonjs/features/replay/core/privacy/privacyTypes.js.map +0 -1
  203. package/lib/commonjs/features/replay/core/queue/boundedQueue.js.map +0 -1
  204. package/lib/commonjs/features/replay/integrations/alert/alertInstrumentation.js.map +0 -1
  205. package/lib/commonjs/features/replay/integrations/logs/consoleIntegration.js.map +0 -1
  206. package/lib/commonjs/features/replay/integrations/network/networkAdapter.js.map +0 -1
  207. package/lib/commonjs/features/replay/integrations/react-navigation/navigationIntegration.js.map +0 -1
  208. package/lib/commonjs/features/replay/integrations/touch/ReplayRoot.js.map +0 -1
  209. package/lib/commonjs/features/replay/pipeline/batching/batchManager.js.map +0 -1
  210. package/lib/commonjs/features/replay/pipeline/envelope/envelopeBuilder.js.map +0 -1
  211. package/lib/commonjs/features/replay/pipeline/retry/retryPolicy.js.map +0 -1
  212. package/lib/commonjs/features/replay/pipeline/transport/transportTypes.js.map +0 -1
  213. package/lib/commonjs/features/replay/public/api.js.map +0 -1
  214. package/lib/commonjs/features/replay/public/enums.js.map +0 -1
  215. package/lib/commonjs/features/replay/public/types.js.map +0 -1
  216. package/lib/commonjs/features/replay/replay/breadcrumbs/breadcrumbCollector.js.map +0 -1
  217. package/lib/commonjs/features/replay/replay/frames/frameModels.js.map +0 -1
  218. package/lib/commonjs/features/replay/replay/session/sessionOrchestrator.js.map +0 -1
  219. package/lib/commonjs/features/replay/replay/timeline/timelineModels.js.map +0 -1
  220. package/lib/commonjs/features/replay/transport/BackendReplayTransport.js.map +0 -1
  221. package/lib/commonjs/features/replay/transport/CompositeReplayTransport.js.map +0 -1
  222. package/lib/commonjs/features/replay/transport/DesktopReplayTransport.js.map +0 -1
  223. package/lib/commonjs/features/replay/transport/ReplayTransport.js.map +0 -1
  224. package/lib/commonjs/features/session/BackendSessionAdapter.js.map +0 -1
  225. package/lib/commonjs/features/session/DesktopSessionTransport.js.map +0 -1
  226. package/lib/commonjs/features/session/JourneyEventPipeline.js.map +0 -1
  227. package/lib/commonjs/features/session/ReplayCaptureManager.js.map +0 -1
  228. package/lib/commonjs/features/session/ScrollTracker.js.map +0 -1
  229. package/lib/commonjs/features/session/SessionManager.js.map +0 -1
  230. package/lib/commonjs/features/session/SyncDecisionEngine.js.map +0 -1
  231. package/lib/commonjs/features/session/index.js.map +0 -1
  232. package/lib/commonjs/features/session/nativeCapture.js.map +0 -1
  233. package/lib/commonjs/features/session/outboxFrameCapture.js.map +0 -1
  234. package/lib/commonjs/features/session/sessionTypes.js.map +0 -1
  235. package/lib/commonjs/features/skan/skanBridge.js.map +0 -1
  236. package/lib/commonjs/features/skan/skanConversionManager.js.map +0 -1
  237. package/lib/commonjs/index.js.map +0 -1
  238. package/lib/commonjs/integrations/fetch/fetchInterceptor.js.map +0 -1
  239. package/lib/commonjs/integrations/navigation/screenTracker.js.map +0 -1
  240. package/lib/commonjs/integrations/network/bodyCapture.js.map +0 -1
  241. package/lib/commonjs/integrations/xhr/xhrInterceptor.js.map +0 -1
  242. package/lib/commonjs/metro/composeSourceMap.js.map +0 -1
  243. package/lib/commonjs/metro/featureModules.js.map +0 -1
  244. package/lib/commonjs/metro/index.js.map +0 -1
  245. package/lib/commonjs/metro/optionalDependencyStub.js.map +0 -1
  246. package/lib/commonjs/metro/optionalModules.js.map +0 -1
  247. package/lib/commonjs/metro/serializerCompose.js.map +0 -1
  248. package/lib/commonjs/pipeline/dispatcher/dispatcher.js.map +0 -1
  249. package/lib/commonjs/pipeline/envelope/envelope.js.map +0 -1
  250. package/lib/commonjs/pipeline/envelope/serializer.js.map +0 -1
  251. package/lib/commonjs/pipeline/processors/dedupe.js.map +0 -1
  252. package/lib/commonjs/pipeline/processors/enrich.js.map +0 -1
  253. package/lib/commonjs/pipeline/processors/sampling.js.map +0 -1
  254. package/lib/commonjs/pipeline/processors/sanitize.js.map +0 -1
  255. package/lib/commonjs/pipeline/queue/flushQueue.js.map +0 -1
  256. package/lib/commonjs/pipeline/queue/memoryQueue.js.map +0 -1
  257. package/lib/commonjs/pipeline/queue/persistentQueue.js.map +0 -1
  258. package/lib/commonjs/pipeline/queue/queuePolicy.js.map +0 -1
  259. package/lib/commonjs/pipeline/scheduler/flushScheduler.js.map +0 -1
  260. package/lib/commonjs/pipeline/scheduler/retryPolicy.js.map +0 -1
  261. package/lib/commonjs/public/ScaleBunErrorBoundary.js.map +0 -1
  262. package/lib/commonjs/public/ScaleBunFacade.js.map +0 -1
  263. package/lib/commonjs/public/ScaleBunProvider.js.map +0 -1
  264. package/lib/commonjs/public/typedTracker.js.map +0 -1
  265. package/lib/commonjs/public/types.js.map +0 -1
  266. package/lib/commonjs/push/PushManager.js.map +0 -1
  267. package/lib/commonjs/push/adapters/ManualAdapter.js.map +0 -1
  268. package/lib/commonjs/push/adapters/NativeBridgeAdapter.js.map +0 -1
  269. package/lib/commonjs/push/adapters/NoopAdapter.js.map +0 -1
  270. package/lib/commonjs/push/adapters/RNFirebaseMessagingAdapter.js.map +0 -1
  271. package/lib/commonjs/push/adapters/loadMessaging.js.map +0 -1
  272. package/lib/commonjs/push/adapters/loadNotifee.js.map +0 -1
  273. package/lib/commonjs/push/adapters/selectAdapter.js.map +0 -1
  274. package/lib/commonjs/push/detect/capabilities.js.map +0 -1
  275. package/lib/commonjs/push/index.js.map +0 -1
  276. package/lib/commonjs/push/native/nativeNotifications.js.map +0 -1
  277. package/lib/commonjs/push/types.js.map +0 -1
  278. package/lib/commonjs/specs/NativeReplaySdk.js.map +0 -1
  279. package/lib/commonjs/specs/NativeScaleBunCrash.js.map +0 -1
  280. package/lib/commonjs/specs/NativeScaleBunInstallReferrer.js.map +0 -1
  281. package/lib/commonjs/specs/NativeScaleBunOta.js.map +0 -1
  282. package/lib/commonjs/specs/NativeScaleBunPerformance.js.map +0 -1
  283. package/lib/commonjs/specs/NativeScaleBunProfiler.js.map +0 -1
  284. package/lib/commonjs/specs/NativeScaleBunStorage.js.map +0 -1
  285. package/lib/commonjs/storage/StorageBackend.js.map +0 -1
  286. package/lib/commonjs/storage/db/sqlite.js.map +0 -1
  287. package/lib/commonjs/storage/files/fileStore.js.map +0 -1
  288. package/lib/commonjs/transport/auth/sdkSession.js.map +0 -1
  289. package/lib/commonjs/transport/backoff/exponentialJitter.js.map +0 -1
  290. package/lib/commonjs/transport/http/endpoints.js.map +0 -1
  291. package/lib/commonjs/transport/http/httpClient.js.map +0 -1
  292. package/lib/commonjs/transport/rateLimit/retryAfter.js.map +0 -1
  293. package/lib/commonjs/transport/signing/requestSigner.js.map +0 -1
  294. package/lib/commonjs/vendor/protocol/index.js.map +0 -1
  295. package/lib/commonjs/vendor/protocol/internal/validation.js.map +0 -1
  296. package/lib/commonjs/vendor/sdk-contracts/bridge.js.map +0 -1
  297. package/lib/commonjs/vendor/sdk-contracts/config.js.map +0 -1
  298. package/lib/commonjs/vendor/sdk-contracts/events.js.map +0 -1
  299. package/lib/commonjs/vendor/sdk-contracts/features.js.map +0 -1
  300. package/lib/commonjs/vendor/sdk-contracts/index.js.map +0 -1
  301. package/lib/commonjs/vendor/sdk-contracts/platform.js.map +0 -1
  302. package/lib/commonjs/vendor/sdk-contracts/session-boundary.js.map +0 -1
  303. package/lib/commonjs/vendor/sdk-contracts/session.js.map +0 -1
  304. package/lib/module/analytics/EventTracker.js.map +0 -1
  305. package/lib/module/analytics/automaticEvents.js.map +0 -1
  306. package/lib/module/analytics/batching.js.map +0 -1
  307. package/lib/module/analytics/eventLane.js.map +0 -1
  308. package/lib/module/bootstrap/FeatureRegistry.js.map +0 -1
  309. package/lib/module/bootstrap/SDKBootstrapper.js.map +0 -1
  310. package/lib/module/bucketing/fnv1a32.js.map +0 -1
  311. package/lib/module/compat/codepush.js.map +0 -1
  312. package/lib/module/config/ConfigManager.js.map +0 -1
  313. package/lib/module/config/configTypes.js.map +0 -1
  314. package/lib/module/core/architecture.js.map +0 -1
  315. package/lib/module/core/clock/now.js.map +0 -1
  316. package/lib/module/core/config/defaults.js.map +0 -1
  317. package/lib/module/core/config/schema.js.map +0 -1
  318. package/lib/module/core/constants/endpoints.js.map +0 -1
  319. package/lib/module/core/constants/protocol.js.map +0 -1
  320. package/lib/module/core/constants/timings.js.map +0 -1
  321. package/lib/module/core/constants/version.js.map +0 -1
  322. package/lib/module/core/context/app.js.map +0 -1
  323. package/lib/module/core/context/device.js.map +0 -1
  324. package/lib/module/core/context/session.js.map +0 -1
  325. package/lib/module/core/context/user.js.map +0 -1
  326. package/lib/module/core/contracts/IFeature.js.map +0 -1
  327. package/lib/module/core/di/container.js.map +0 -1
  328. package/lib/module/core/encoding/base64.js.map +0 -1
  329. package/lib/module/core/id/deviceId.js.map +0 -1
  330. package/lib/module/core/id/installationId.js.map +0 -1
  331. package/lib/module/core/id/sessionId.js.map +0 -1
  332. package/lib/module/core/lifecycle/appLifecycle.js.map +0 -1
  333. package/lib/module/core/lifecycle/crashSafe.js.map +0 -1
  334. package/lib/module/core/logger/errorClassification.js.map +0 -1
  335. package/lib/module/core/logger/internalLogger.js.map +0 -1
  336. package/lib/module/core/logger/levels.js.map +0 -1
  337. package/lib/module/crypto/hmacSha256.js.map +0 -1
  338. package/lib/module/debug/bootstrap.js.map +0 -1
  339. package/lib/module/debug/commands.js.map +0 -1
  340. package/lib/module/debug/configBuilder.js.map +0 -1
  341. package/lib/module/debug/exportBridge.js.map +0 -1
  342. package/lib/module/debug/hostResolver.js.map +0 -1
  343. package/lib/module/debug/index.js.map +0 -1
  344. package/lib/module/debug/metrics.js.map +0 -1
  345. package/lib/module/debug/perf.js.map +0 -1
  346. package/lib/module/debug/perfWiring.js.map +0 -1
  347. package/lib/module/debug/protocol.js.map +0 -1
  348. package/lib/module/debug/redaction.js.map +0 -1
  349. package/lib/module/debug/replayWiring.js.map +0 -1
  350. package/lib/module/debug/screenTracking.js.map +0 -1
  351. package/lib/module/debug/sessionWiring.js.map +0 -1
  352. package/lib/module/debug/stream.js.map +0 -1
  353. package/lib/module/debug/transport.js.map +0 -1
  354. package/lib/module/features/bugreport/BugReportFeature.js.map +0 -1
  355. package/lib/module/features/bugreport/buildPayload.js.map +0 -1
  356. package/lib/module/features/bugreport/index.js.map +0 -1
  357. package/lib/module/features/crash/CrashFeature.js.map +0 -1
  358. package/lib/module/features/crash/CrashReporter.js.map +0 -1
  359. package/lib/module/features/crash/NativeCrashFeature.js.map +0 -1
  360. package/lib/module/features/crash/capture.js.map +0 -1
  361. package/lib/module/features/crash/globalHandler.js.map +0 -1
  362. package/lib/module/features/crash/index.js.map +0 -1
  363. package/lib/module/features/crash/nativeCrashBridge.js.map +0 -1
  364. package/lib/module/features/crash/rejectionHandler.js.map +0 -1
  365. package/lib/module/features/engage/EngageAnchor.js.map +0 -1
  366. package/lib/module/features/engage/EngageArchetypeRenderers.js.map +0 -1
  367. package/lib/module/features/engage/EngageInAppView.js.map +0 -1
  368. package/lib/module/features/engage/EngageInlinePlacement.js.map +0 -1
  369. package/lib/module/features/engage/EngagePromptProvider.js.map +0 -1
  370. package/lib/module/features/engage/EngagePromptView.js.map +0 -1
  371. package/lib/module/features/engage/EngageTransport.js.map +0 -1
  372. package/lib/module/features/engage/EngageVariantContent.js.map +0 -1
  373. package/lib/module/features/engage/__test-support__/reactNativeStub.js.map +0 -1
  374. package/lib/module/features/engage/attachmentCapture.js.map +0 -1
  375. package/lib/module/features/engage/captureVoiceAttachment.js.map +0 -1
  376. package/lib/module/features/engage/engageCoachmarkTour.js.map +0 -1
  377. package/lib/module/features/engage/engageGameLogic.js.map +0 -1
  378. package/lib/module/features/engage/engageMediaSizing.js.map +0 -1
  379. package/lib/module/features/engage/engageMultiStepSheet.js.map +0 -1
  380. package/lib/module/features/engage/engageOutcome.js.map +0 -1
  381. package/lib/module/features/engage/engagePushTokenBridge.js.map +0 -1
  382. package/lib/module/features/engage/engageShakeBridge.js.map +0 -1
  383. package/lib/module/features/engage/engageSignals.js.map +0 -1
  384. package/lib/module/features/engage/engageStoreReviewBridge.js.map +0 -1
  385. package/lib/module/features/engage/engageTestSeenStore.js.map +0 -1
  386. package/lib/module/features/engage/engageThrottle.js.map +0 -1
  387. package/lib/module/features/engage/engageTriggerEngine.js.map +0 -1
  388. package/lib/module/features/engage/engageTypes.js.map +0 -1
  389. package/lib/module/features/engage/engageVariantResolver.js.map +0 -1
  390. package/lib/module/features/engage/engageWindowInsets.js.map +0 -1
  391. package/lib/module/features/engage/gestureTriggerDetector.js.map +0 -1
  392. package/lib/module/features/engage/transcription/TranscriptionProvider.js.map +0 -1
  393. package/lib/module/features/install-referrer/installReferrer.js.map +0 -1
  394. package/lib/module/features/journey/ScaleBunDebugRoot.js.map +0 -1
  395. package/lib/module/features/journey/ScaleBunFlatList.js.map +0 -1
  396. package/lib/module/features/journey/ScaleBunImpression.js.map +0 -1
  397. package/lib/module/features/journey/ScaleBunScrollView.js.map +0 -1
  398. package/lib/module/features/journey/ScaleBunSectionList.js.map +0 -1
  399. package/lib/module/features/journey/calibrationContext.js.map +0 -1
  400. package/lib/module/features/journey/gestureBuffer.js.map +0 -1
  401. package/lib/module/features/journey/gestureDetector.js.map +0 -1
  402. package/lib/module/features/journey/impression.js.map +0 -1
  403. package/lib/module/features/journey/journeyManager.js.map +0 -1
  404. package/lib/module/features/journey/journeyTypes.js.map +0 -1
  405. package/lib/module/features/journey/navDetector.js.map +0 -1
  406. package/lib/module/features/journey/screenshotHelper.js.map +0 -1
  407. package/lib/module/features/journey/targetRegistry.js.map +0 -1
  408. package/lib/module/features/journey/touchTarget.js.map +0 -1
  409. package/lib/module/features/navigation/AutoScreenDetector.js.map +0 -1
  410. package/lib/module/features/network/NetworkFeature.js.map +0 -1
  411. package/lib/module/features/network/index.js.map +0 -1
  412. package/lib/module/features/ota/OtaEventEmitter.js.map +0 -1
  413. package/lib/module/features/ota/OtaOrchestrator.js.map +0 -1
  414. package/lib/module/features/ota/OtaTypes.js.map +0 -1
  415. package/lib/module/features/ota/deviceAttributes.js.map +0 -1
  416. package/lib/module/features/ota/environment.js.map +0 -1
  417. package/lib/module/features/ota/geoCountry.js.map +0 -1
  418. package/lib/module/features/ota/retry.js.map +0 -1
  419. package/lib/module/features/ota/signature.js.map +0 -1
  420. package/lib/module/features/ota/useOtaUpdate.js.map +0 -1
  421. package/lib/module/features/performance/PerformanceFeature.js.map +0 -1
  422. package/lib/module/features/performance/collectors/AppLaunchCollector.js.map +0 -1
  423. package/lib/module/features/performance/collectors/AutoScreenLoadCollector.js.map +0 -1
  424. package/lib/module/features/performance/collectors/CustomTraceCollector.js.map +0 -1
  425. package/lib/module/features/performance/collectors/FrameMetricsCollector.js.map +0 -1
  426. package/lib/module/features/performance/collectors/JsStallCollector.js.map +0 -1
  427. package/lib/module/features/performance/collectors/NetworkPerfCollector.js.map +0 -1
  428. package/lib/module/features/performance/collectors/ScreenLoadCollector.js.map +0 -1
  429. package/lib/module/features/performance/collectors/UiHangCollector.js.map +0 -1
  430. package/lib/module/features/performance/config.js.map +0 -1
  431. package/lib/module/features/performance/getNativePerformanceModule.js.map +0 -1
  432. package/lib/module/features/performance/index.js.map +0 -1
  433. package/lib/module/features/performance/metrics/MetricsEngine.js.map +0 -1
  434. package/lib/module/features/performance/models.js.map +0 -1
  435. package/lib/module/features/performance/transport/PerformanceTransport.js.map +0 -1
  436. package/lib/module/features/profiler/ProfilerFeature.js.map +0 -1
  437. package/lib/module/features/profiler/config.js.map +0 -1
  438. package/lib/module/features/profiler/contracts.js.map +0 -1
  439. package/lib/module/features/profiler/index.js.map +0 -1
  440. package/lib/module/features/profiler/models.js.map +0 -1
  441. package/lib/module/features/profiler/transport/ProfilerTransport.js.map +0 -1
  442. package/lib/module/features/replay/bridge/adapters/bridgeAdapter.js.map +0 -1
  443. package/lib/module/features/replay/bridge/eventEmitter.js.map +0 -1
  444. package/lib/module/features/replay/bridge/nativeModule.js.map +0 -1
  445. package/lib/module/features/replay/core/clock/clock.js.map +0 -1
  446. package/lib/module/features/replay/core/config/defaults.js.map +0 -1
  447. package/lib/module/features/replay/core/config/validator.js.map +0 -1
  448. package/lib/module/features/replay/core/env/environmentDetector.js.map +0 -1
  449. package/lib/module/features/replay/core/errors/safeCall.js.map +0 -1
  450. package/lib/module/features/replay/core/ids/sessionId.js.map +0 -1
  451. package/lib/module/features/replay/core/logger/logger.js.map +0 -1
  452. package/lib/module/features/replay/core/privacy/privacyTypes.js.map +0 -1
  453. package/lib/module/features/replay/core/queue/boundedQueue.js.map +0 -1
  454. package/lib/module/features/replay/integrations/alert/alertInstrumentation.js.map +0 -1
  455. package/lib/module/features/replay/integrations/logs/consoleIntegration.js.map +0 -1
  456. package/lib/module/features/replay/integrations/network/networkAdapter.js.map +0 -1
  457. package/lib/module/features/replay/integrations/react-navigation/navigationIntegration.js.map +0 -1
  458. package/lib/module/features/replay/integrations/touch/ReplayRoot.js.map +0 -1
  459. package/lib/module/features/replay/pipeline/batching/batchManager.js.map +0 -1
  460. package/lib/module/features/replay/pipeline/envelope/envelopeBuilder.js.map +0 -1
  461. package/lib/module/features/replay/pipeline/retry/retryPolicy.js.map +0 -1
  462. package/lib/module/features/replay/pipeline/transport/transportTypes.js.map +0 -1
  463. package/lib/module/features/replay/public/api.js.map +0 -1
  464. package/lib/module/features/replay/public/enums.js.map +0 -1
  465. package/lib/module/features/replay/public/types.js.map +0 -1
  466. package/lib/module/features/replay/replay/breadcrumbs/breadcrumbCollector.js.map +0 -1
  467. package/lib/module/features/replay/replay/frames/frameModels.js.map +0 -1
  468. package/lib/module/features/replay/replay/session/sessionOrchestrator.js.map +0 -1
  469. package/lib/module/features/replay/replay/timeline/timelineModels.js.map +0 -1
  470. package/lib/module/features/replay/transport/BackendReplayTransport.js.map +0 -1
  471. package/lib/module/features/replay/transport/CompositeReplayTransport.js.map +0 -1
  472. package/lib/module/features/replay/transport/DesktopReplayTransport.js.map +0 -1
  473. package/lib/module/features/replay/transport/ReplayTransport.js.map +0 -1
  474. package/lib/module/features/session/BackendSessionAdapter.js.map +0 -1
  475. package/lib/module/features/session/DesktopSessionTransport.js.map +0 -1
  476. package/lib/module/features/session/JourneyEventPipeline.js.map +0 -1
  477. package/lib/module/features/session/ReplayCaptureManager.js.map +0 -1
  478. package/lib/module/features/session/ScrollTracker.js.map +0 -1
  479. package/lib/module/features/session/SessionManager.js.map +0 -1
  480. package/lib/module/features/session/SyncDecisionEngine.js.map +0 -1
  481. package/lib/module/features/session/index.js.map +0 -1
  482. package/lib/module/features/session/nativeCapture.js.map +0 -1
  483. package/lib/module/features/session/outboxFrameCapture.js.map +0 -1
  484. package/lib/module/features/session/sessionTypes.js.map +0 -1
  485. package/lib/module/features/skan/skanBridge.js.map +0 -1
  486. package/lib/module/features/skan/skanConversionManager.js.map +0 -1
  487. package/lib/module/index.js.map +0 -1
  488. package/lib/module/integrations/fetch/fetchInterceptor.js.map +0 -1
  489. package/lib/module/integrations/navigation/screenTracker.js.map +0 -1
  490. package/lib/module/integrations/network/bodyCapture.js.map +0 -1
  491. package/lib/module/integrations/xhr/xhrInterceptor.js.map +0 -1
  492. package/lib/module/metro/composeSourceMap.js.map +0 -1
  493. package/lib/module/metro/featureModules.js.map +0 -1
  494. package/lib/module/metro/index.js.map +0 -1
  495. package/lib/module/metro/optionalDependencyStub.js.map +0 -1
  496. package/lib/module/metro/optionalModules.js.map +0 -1
  497. package/lib/module/metro/serializerCompose.js.map +0 -1
  498. package/lib/module/pipeline/dispatcher/dispatcher.js.map +0 -1
  499. package/lib/module/pipeline/envelope/envelope.js.map +0 -1
  500. package/lib/module/pipeline/envelope/serializer.js.map +0 -1
  501. package/lib/module/pipeline/processors/dedupe.js.map +0 -1
  502. package/lib/module/pipeline/processors/enrich.js.map +0 -1
  503. package/lib/module/pipeline/processors/sampling.js.map +0 -1
  504. package/lib/module/pipeline/processors/sanitize.js.map +0 -1
  505. package/lib/module/pipeline/queue/flushQueue.js.map +0 -1
  506. package/lib/module/pipeline/queue/memoryQueue.js.map +0 -1
  507. package/lib/module/pipeline/queue/persistentQueue.js.map +0 -1
  508. package/lib/module/pipeline/queue/queuePolicy.js.map +0 -1
  509. package/lib/module/pipeline/scheduler/flushScheduler.js.map +0 -1
  510. package/lib/module/pipeline/scheduler/retryPolicy.js.map +0 -1
  511. package/lib/module/public/ScaleBunErrorBoundary.js.map +0 -1
  512. package/lib/module/public/ScaleBunFacade.js.map +0 -1
  513. package/lib/module/public/ScaleBunProvider.js.map +0 -1
  514. package/lib/module/public/typedTracker.js.map +0 -1
  515. package/lib/module/public/types.js.map +0 -1
  516. package/lib/module/push/PushManager.js.map +0 -1
  517. package/lib/module/push/adapters/ManualAdapter.js.map +0 -1
  518. package/lib/module/push/adapters/NativeBridgeAdapter.js.map +0 -1
  519. package/lib/module/push/adapters/NoopAdapter.js.map +0 -1
  520. package/lib/module/push/adapters/RNFirebaseMessagingAdapter.js.map +0 -1
  521. package/lib/module/push/adapters/loadMessaging.js.map +0 -1
  522. package/lib/module/push/adapters/loadNotifee.js.map +0 -1
  523. package/lib/module/push/adapters/selectAdapter.js.map +0 -1
  524. package/lib/module/push/detect/capabilities.js.map +0 -1
  525. package/lib/module/push/index.js.map +0 -1
  526. package/lib/module/push/native/nativeNotifications.js.map +0 -1
  527. package/lib/module/push/types.js.map +0 -1
  528. package/lib/module/specs/NativeReplaySdk.js.map +0 -1
  529. package/lib/module/specs/NativeScaleBunCrash.js.map +0 -1
  530. package/lib/module/specs/NativeScaleBunInstallReferrer.js.map +0 -1
  531. package/lib/module/specs/NativeScaleBunOta.js.map +0 -1
  532. package/lib/module/specs/NativeScaleBunPerformance.js.map +0 -1
  533. package/lib/module/specs/NativeScaleBunProfiler.js.map +0 -1
  534. package/lib/module/specs/NativeScaleBunStorage.js.map +0 -1
  535. package/lib/module/storage/StorageBackend.js.map +0 -1
  536. package/lib/module/storage/db/sqlite.js.map +0 -1
  537. package/lib/module/storage/files/fileStore.js.map +0 -1
  538. package/lib/module/transport/auth/sdkSession.js.map +0 -1
  539. package/lib/module/transport/backoff/exponentialJitter.js.map +0 -1
  540. package/lib/module/transport/http/endpoints.js.map +0 -1
  541. package/lib/module/transport/http/httpClient.js.map +0 -1
  542. package/lib/module/transport/rateLimit/retryAfter.js.map +0 -1
  543. package/lib/module/transport/signing/requestSigner.js.map +0 -1
  544. package/lib/module/vendor/protocol/index.js.map +0 -1
  545. package/lib/module/vendor/protocol/internal/validation.js.map +0 -1
  546. package/lib/module/vendor/sdk-contracts/bridge.js.map +0 -1
  547. package/lib/module/vendor/sdk-contracts/config.js.map +0 -1
  548. package/lib/module/vendor/sdk-contracts/events.js.map +0 -1
  549. package/lib/module/vendor/sdk-contracts/features.js.map +0 -1
  550. package/lib/module/vendor/sdk-contracts/index.js.map +0 -1
  551. package/lib/module/vendor/sdk-contracts/platform.js.map +0 -1
  552. package/lib/module/vendor/sdk-contracts/session-boundary.js.map +0 -1
  553. package/lib/module/vendor/sdk-contracts/session.js.map +0 -1
  554. package/lib/typescript/analytics/EventTracker.d.ts.map +0 -1
  555. package/lib/typescript/analytics/automaticEvents.d.ts.map +0 -1
  556. package/lib/typescript/analytics/batching.d.ts.map +0 -1
  557. package/lib/typescript/analytics/eventLane.d.ts.map +0 -1
  558. package/lib/typescript/bootstrap/FeatureRegistry.d.ts.map +0 -1
  559. package/lib/typescript/bootstrap/SDKBootstrapper.d.ts.map +0 -1
  560. package/lib/typescript/bucketing/fnv1a32.d.ts.map +0 -1
  561. package/lib/typescript/compat/codepush.d.ts.map +0 -1
  562. package/lib/typescript/config/ConfigManager.d.ts.map +0 -1
  563. package/lib/typescript/config/configTypes.d.ts.map +0 -1
  564. package/lib/typescript/core/architecture.d.ts.map +0 -1
  565. package/lib/typescript/core/clock/now.d.ts.map +0 -1
  566. package/lib/typescript/core/config/defaults.d.ts.map +0 -1
  567. package/lib/typescript/core/config/schema.d.ts.map +0 -1
  568. package/lib/typescript/core/constants/endpoints.d.ts.map +0 -1
  569. package/lib/typescript/core/constants/protocol.d.ts.map +0 -1
  570. package/lib/typescript/core/constants/timings.d.ts.map +0 -1
  571. package/lib/typescript/core/constants/version.d.ts.map +0 -1
  572. package/lib/typescript/core/context/app.d.ts.map +0 -1
  573. package/lib/typescript/core/context/device.d.ts.map +0 -1
  574. package/lib/typescript/core/context/session.d.ts.map +0 -1
  575. package/lib/typescript/core/context/user.d.ts.map +0 -1
  576. package/lib/typescript/core/contracts/IFeature.d.ts.map +0 -1
  577. package/lib/typescript/core/di/container.d.ts.map +0 -1
  578. package/lib/typescript/core/encoding/base64.d.ts.map +0 -1
  579. package/lib/typescript/core/id/deviceId.d.ts.map +0 -1
  580. package/lib/typescript/core/id/installationId.d.ts.map +0 -1
  581. package/lib/typescript/core/id/sessionId.d.ts.map +0 -1
  582. package/lib/typescript/core/lifecycle/appLifecycle.d.ts.map +0 -1
  583. package/lib/typescript/core/lifecycle/crashSafe.d.ts.map +0 -1
  584. package/lib/typescript/core/logger/errorClassification.d.ts.map +0 -1
  585. package/lib/typescript/core/logger/internalLogger.d.ts.map +0 -1
  586. package/lib/typescript/core/logger/levels.d.ts.map +0 -1
  587. package/lib/typescript/crypto/hmacSha256.d.ts.map +0 -1
  588. package/lib/typescript/debug/bootstrap.d.ts.map +0 -1
  589. package/lib/typescript/debug/commands.d.ts.map +0 -1
  590. package/lib/typescript/debug/configBuilder.d.ts.map +0 -1
  591. package/lib/typescript/debug/exportBridge.d.ts.map +0 -1
  592. package/lib/typescript/debug/hostResolver.d.ts.map +0 -1
  593. package/lib/typescript/debug/index.d.ts.map +0 -1
  594. package/lib/typescript/debug/metrics.d.ts.map +0 -1
  595. package/lib/typescript/debug/perf.d.ts.map +0 -1
  596. package/lib/typescript/debug/perfWiring.d.ts.map +0 -1
  597. package/lib/typescript/debug/protocol.d.ts.map +0 -1
  598. package/lib/typescript/debug/redaction.d.ts.map +0 -1
  599. package/lib/typescript/debug/replayWiring.d.ts.map +0 -1
  600. package/lib/typescript/debug/screenTracking.d.ts.map +0 -1
  601. package/lib/typescript/debug/sessionWiring.d.ts.map +0 -1
  602. package/lib/typescript/debug/stream.d.ts.map +0 -1
  603. package/lib/typescript/debug/transport.d.ts.map +0 -1
  604. package/lib/typescript/features/bugreport/BugReportFeature.d.ts.map +0 -1
  605. package/lib/typescript/features/bugreport/buildPayload.d.ts.map +0 -1
  606. package/lib/typescript/features/bugreport/index.d.ts.map +0 -1
  607. package/lib/typescript/features/crash/CrashFeature.d.ts.map +0 -1
  608. package/lib/typescript/features/crash/CrashReporter.d.ts.map +0 -1
  609. package/lib/typescript/features/crash/NativeCrashFeature.d.ts.map +0 -1
  610. package/lib/typescript/features/crash/capture.d.ts.map +0 -1
  611. package/lib/typescript/features/crash/globalHandler.d.ts.map +0 -1
  612. package/lib/typescript/features/crash/index.d.ts.map +0 -1
  613. package/lib/typescript/features/crash/nativeCrashBridge.d.ts.map +0 -1
  614. package/lib/typescript/features/crash/rejectionHandler.d.ts.map +0 -1
  615. package/lib/typescript/features/engage/EngageAnchor.d.ts.map +0 -1
  616. package/lib/typescript/features/engage/EngageArchetypeRenderers.d.ts.map +0 -1
  617. package/lib/typescript/features/engage/EngageInAppView.d.ts.map +0 -1
  618. package/lib/typescript/features/engage/EngageInlinePlacement.d.ts.map +0 -1
  619. package/lib/typescript/features/engage/EngagePromptProvider.d.ts.map +0 -1
  620. package/lib/typescript/features/engage/EngagePromptView.d.ts.map +0 -1
  621. package/lib/typescript/features/engage/EngageTransport.d.ts.map +0 -1
  622. package/lib/typescript/features/engage/EngageVariantContent.d.ts.map +0 -1
  623. package/lib/typescript/features/engage/attachmentCapture.d.ts.map +0 -1
  624. package/lib/typescript/features/engage/captureVoiceAttachment.d.ts.map +0 -1
  625. package/lib/typescript/features/engage/engageCoachmarkTour.d.ts.map +0 -1
  626. package/lib/typescript/features/engage/engageGameLogic.d.ts.map +0 -1
  627. package/lib/typescript/features/engage/engageMediaSizing.d.ts.map +0 -1
  628. package/lib/typescript/features/engage/engageMultiStepSheet.d.ts.map +0 -1
  629. package/lib/typescript/features/engage/engageOutcome.d.ts.map +0 -1
  630. package/lib/typescript/features/engage/engagePushTokenBridge.d.ts.map +0 -1
  631. package/lib/typescript/features/engage/engageShakeBridge.d.ts.map +0 -1
  632. package/lib/typescript/features/engage/engageSignals.d.ts.map +0 -1
  633. package/lib/typescript/features/engage/engageStoreReviewBridge.d.ts.map +0 -1
  634. package/lib/typescript/features/engage/engageTestSeenStore.d.ts.map +0 -1
  635. package/lib/typescript/features/engage/engageThrottle.d.ts.map +0 -1
  636. package/lib/typescript/features/engage/engageTriggerEngine.d.ts.map +0 -1
  637. package/lib/typescript/features/engage/engageTypes.d.ts.map +0 -1
  638. package/lib/typescript/features/engage/engageVariantResolver.d.ts.map +0 -1
  639. package/lib/typescript/features/engage/engageWindowInsets.d.ts.map +0 -1
  640. package/lib/typescript/features/engage/gestureTriggerDetector.d.ts.map +0 -1
  641. package/lib/typescript/features/engage/transcription/TranscriptionProvider.d.ts.map +0 -1
  642. package/lib/typescript/features/install-referrer/installReferrer.d.ts.map +0 -1
  643. package/lib/typescript/features/journey/ScaleBunDebugRoot.d.ts.map +0 -1
  644. package/lib/typescript/features/journey/ScaleBunFlatList.d.ts.map +0 -1
  645. package/lib/typescript/features/journey/ScaleBunImpression.d.ts.map +0 -1
  646. package/lib/typescript/features/journey/ScaleBunScrollView.d.ts.map +0 -1
  647. package/lib/typescript/features/journey/ScaleBunSectionList.d.ts.map +0 -1
  648. package/lib/typescript/features/journey/calibrationContext.d.ts.map +0 -1
  649. package/lib/typescript/features/journey/gestureBuffer.d.ts.map +0 -1
  650. package/lib/typescript/features/journey/gestureDetector.d.ts.map +0 -1
  651. package/lib/typescript/features/journey/impression.d.ts.map +0 -1
  652. package/lib/typescript/features/journey/journeyManager.d.ts.map +0 -1
  653. package/lib/typescript/features/journey/journeyTypes.d.ts.map +0 -1
  654. package/lib/typescript/features/journey/navDetector.d.ts.map +0 -1
  655. package/lib/typescript/features/journey/screenshotHelper.d.ts.map +0 -1
  656. package/lib/typescript/features/journey/targetRegistry.d.ts.map +0 -1
  657. package/lib/typescript/features/journey/touchTarget.d.ts.map +0 -1
  658. package/lib/typescript/features/navigation/AutoScreenDetector.d.ts.map +0 -1
  659. package/lib/typescript/features/network/NetworkFeature.d.ts.map +0 -1
  660. package/lib/typescript/features/network/index.d.ts.map +0 -1
  661. package/lib/typescript/features/ota/OtaEventEmitter.d.ts.map +0 -1
  662. package/lib/typescript/features/ota/OtaOrchestrator.d.ts.map +0 -1
  663. package/lib/typescript/features/ota/OtaTypes.d.ts.map +0 -1
  664. package/lib/typescript/features/ota/deviceAttributes.d.ts.map +0 -1
  665. package/lib/typescript/features/ota/environment.d.ts.map +0 -1
  666. package/lib/typescript/features/ota/geoCountry.d.ts.map +0 -1
  667. package/lib/typescript/features/ota/retry.d.ts.map +0 -1
  668. package/lib/typescript/features/ota/signature.d.ts.map +0 -1
  669. package/lib/typescript/features/ota/useOtaUpdate.d.ts.map +0 -1
  670. package/lib/typescript/features/performance/PerformanceFeature.d.ts.map +0 -1
  671. package/lib/typescript/features/performance/collectors/AppLaunchCollector.d.ts.map +0 -1
  672. package/lib/typescript/features/performance/collectors/AutoScreenLoadCollector.d.ts.map +0 -1
  673. package/lib/typescript/features/performance/collectors/CustomTraceCollector.d.ts.map +0 -1
  674. package/lib/typescript/features/performance/collectors/FrameMetricsCollector.d.ts.map +0 -1
  675. package/lib/typescript/features/performance/collectors/JsStallCollector.d.ts.map +0 -1
  676. package/lib/typescript/features/performance/collectors/NetworkPerfCollector.d.ts.map +0 -1
  677. package/lib/typescript/features/performance/collectors/ScreenLoadCollector.d.ts.map +0 -1
  678. package/lib/typescript/features/performance/collectors/UiHangCollector.d.ts.map +0 -1
  679. package/lib/typescript/features/performance/config.d.ts.map +0 -1
  680. package/lib/typescript/features/performance/getNativePerformanceModule.d.ts.map +0 -1
  681. package/lib/typescript/features/performance/index.d.ts.map +0 -1
  682. package/lib/typescript/features/performance/metrics/MetricsEngine.d.ts.map +0 -1
  683. package/lib/typescript/features/performance/models.d.ts.map +0 -1
  684. package/lib/typescript/features/performance/transport/PerformanceTransport.d.ts.map +0 -1
  685. package/lib/typescript/features/profiler/ProfilerFeature.d.ts.map +0 -1
  686. package/lib/typescript/features/profiler/config.d.ts.map +0 -1
  687. package/lib/typescript/features/profiler/contracts.d.ts.map +0 -1
  688. package/lib/typescript/features/profiler/index.d.ts.map +0 -1
  689. package/lib/typescript/features/profiler/models.d.ts.map +0 -1
  690. package/lib/typescript/features/profiler/transport/ProfilerTransport.d.ts.map +0 -1
  691. package/lib/typescript/features/replay/bridge/adapters/bridgeAdapter.d.ts.map +0 -1
  692. package/lib/typescript/features/replay/bridge/eventEmitter.d.ts.map +0 -1
  693. package/lib/typescript/features/replay/bridge/nativeModule.d.ts.map +0 -1
  694. package/lib/typescript/features/replay/core/clock/clock.d.ts.map +0 -1
  695. package/lib/typescript/features/replay/core/config/defaults.d.ts.map +0 -1
  696. package/lib/typescript/features/replay/core/config/validator.d.ts.map +0 -1
  697. package/lib/typescript/features/replay/core/env/environmentDetector.d.ts.map +0 -1
  698. package/lib/typescript/features/replay/core/errors/safeCall.d.ts.map +0 -1
  699. package/lib/typescript/features/replay/core/ids/sessionId.d.ts.map +0 -1
  700. package/lib/typescript/features/replay/core/logger/logger.d.ts.map +0 -1
  701. package/lib/typescript/features/replay/core/privacy/privacyTypes.d.ts.map +0 -1
  702. package/lib/typescript/features/replay/core/queue/boundedQueue.d.ts.map +0 -1
  703. package/lib/typescript/features/replay/integrations/alert/alertInstrumentation.d.ts.map +0 -1
  704. package/lib/typescript/features/replay/integrations/logs/consoleIntegration.d.ts.map +0 -1
  705. package/lib/typescript/features/replay/integrations/network/networkAdapter.d.ts.map +0 -1
  706. package/lib/typescript/features/replay/integrations/react-navigation/navigationIntegration.d.ts.map +0 -1
  707. package/lib/typescript/features/replay/integrations/touch/ReplayRoot.d.ts.map +0 -1
  708. package/lib/typescript/features/replay/pipeline/batching/batchManager.d.ts.map +0 -1
  709. package/lib/typescript/features/replay/pipeline/envelope/envelopeBuilder.d.ts.map +0 -1
  710. package/lib/typescript/features/replay/pipeline/retry/retryPolicy.d.ts.map +0 -1
  711. package/lib/typescript/features/replay/pipeline/transport/transportTypes.d.ts.map +0 -1
  712. package/lib/typescript/features/replay/public/api.d.ts.map +0 -1
  713. package/lib/typescript/features/replay/public/enums.d.ts.map +0 -1
  714. package/lib/typescript/features/replay/public/types.d.ts.map +0 -1
  715. package/lib/typescript/features/replay/replay/breadcrumbs/breadcrumbCollector.d.ts.map +0 -1
  716. package/lib/typescript/features/replay/replay/frames/frameModels.d.ts.map +0 -1
  717. package/lib/typescript/features/replay/replay/session/sessionOrchestrator.d.ts.map +0 -1
  718. package/lib/typescript/features/replay/replay/timeline/timelineModels.d.ts.map +0 -1
  719. package/lib/typescript/features/replay/transport/BackendReplayTransport.d.ts.map +0 -1
  720. package/lib/typescript/features/replay/transport/CompositeReplayTransport.d.ts.map +0 -1
  721. package/lib/typescript/features/replay/transport/DesktopReplayTransport.d.ts.map +0 -1
  722. package/lib/typescript/features/replay/transport/ReplayTransport.d.ts.map +0 -1
  723. package/lib/typescript/features/session/BackendSessionAdapter.d.ts.map +0 -1
  724. package/lib/typescript/features/session/DesktopSessionTransport.d.ts.map +0 -1
  725. package/lib/typescript/features/session/JourneyEventPipeline.d.ts.map +0 -1
  726. package/lib/typescript/features/session/ReplayCaptureManager.d.ts.map +0 -1
  727. package/lib/typescript/features/session/ScrollTracker.d.ts.map +0 -1
  728. package/lib/typescript/features/session/SessionManager.d.ts.map +0 -1
  729. package/lib/typescript/features/session/SyncDecisionEngine.d.ts.map +0 -1
  730. package/lib/typescript/features/session/index.d.ts.map +0 -1
  731. package/lib/typescript/features/session/nativeCapture.d.ts.map +0 -1
  732. package/lib/typescript/features/session/outboxFrameCapture.d.ts.map +0 -1
  733. package/lib/typescript/features/session/sessionTypes.d.ts.map +0 -1
  734. package/lib/typescript/features/skan/skanBridge.d.ts.map +0 -1
  735. package/lib/typescript/features/skan/skanConversionManager.d.ts.map +0 -1
  736. package/lib/typescript/index.d.ts.map +0 -1
  737. package/lib/typescript/integrations/fetch/fetchInterceptor.d.ts.map +0 -1
  738. package/lib/typescript/integrations/navigation/screenTracker.d.ts.map +0 -1
  739. package/lib/typescript/integrations/network/bodyCapture.d.ts.map +0 -1
  740. package/lib/typescript/integrations/xhr/xhrInterceptor.d.ts.map +0 -1
  741. package/lib/typescript/metro/composeSourceMap.d.ts.map +0 -1
  742. package/lib/typescript/metro/featureModules.d.ts.map +0 -1
  743. package/lib/typescript/metro/index.d.ts.map +0 -1
  744. package/lib/typescript/metro/optionalDependencyStub.d.ts.map +0 -1
  745. package/lib/typescript/metro/optionalModules.d.ts.map +0 -1
  746. package/lib/typescript/metro/serializerCompose.d.ts.map +0 -1
  747. package/lib/typescript/pipeline/dispatcher/dispatcher.d.ts.map +0 -1
  748. package/lib/typescript/pipeline/envelope/envelope.d.ts.map +0 -1
  749. package/lib/typescript/pipeline/envelope/serializer.d.ts.map +0 -1
  750. package/lib/typescript/pipeline/processors/dedupe.d.ts.map +0 -1
  751. package/lib/typescript/pipeline/processors/enrich.d.ts.map +0 -1
  752. package/lib/typescript/pipeline/processors/sampling.d.ts.map +0 -1
  753. package/lib/typescript/pipeline/processors/sanitize.d.ts.map +0 -1
  754. package/lib/typescript/pipeline/queue/flushQueue.d.ts.map +0 -1
  755. package/lib/typescript/pipeline/queue/memoryQueue.d.ts.map +0 -1
  756. package/lib/typescript/pipeline/queue/persistentQueue.d.ts.map +0 -1
  757. package/lib/typescript/pipeline/queue/queuePolicy.d.ts.map +0 -1
  758. package/lib/typescript/pipeline/scheduler/flushScheduler.d.ts.map +0 -1
  759. package/lib/typescript/pipeline/scheduler/retryPolicy.d.ts.map +0 -1
  760. package/lib/typescript/public/ScaleBunErrorBoundary.d.ts.map +0 -1
  761. package/lib/typescript/public/ScaleBunFacade.d.ts.map +0 -1
  762. package/lib/typescript/public/ScaleBunProvider.d.ts.map +0 -1
  763. package/lib/typescript/public/typedTracker.d.ts.map +0 -1
  764. package/lib/typescript/public/types.d.ts.map +0 -1
  765. package/lib/typescript/push/PushManager.d.ts.map +0 -1
  766. package/lib/typescript/push/adapters/ManualAdapter.d.ts.map +0 -1
  767. package/lib/typescript/push/adapters/NativeBridgeAdapter.d.ts.map +0 -1
  768. package/lib/typescript/push/adapters/NoopAdapter.d.ts.map +0 -1
  769. package/lib/typescript/push/adapters/RNFirebaseMessagingAdapter.d.ts.map +0 -1
  770. package/lib/typescript/push/adapters/loadMessaging.d.ts.map +0 -1
  771. package/lib/typescript/push/adapters/loadNotifee.d.ts.map +0 -1
  772. package/lib/typescript/push/adapters/selectAdapter.d.ts.map +0 -1
  773. package/lib/typescript/push/detect/capabilities.d.ts.map +0 -1
  774. package/lib/typescript/push/index.d.ts.map +0 -1
  775. package/lib/typescript/push/native/nativeNotifications.d.ts.map +0 -1
  776. package/lib/typescript/push/types.d.ts.map +0 -1
  777. package/lib/typescript/specs/NativeReplaySdk.d.ts.map +0 -1
  778. package/lib/typescript/specs/NativeScaleBunCrash.d.ts.map +0 -1
  779. package/lib/typescript/specs/NativeScaleBunInstallReferrer.d.ts.map +0 -1
  780. package/lib/typescript/specs/NativeScaleBunOta.d.ts.map +0 -1
  781. package/lib/typescript/specs/NativeScaleBunPerformance.d.ts.map +0 -1
  782. package/lib/typescript/specs/NativeScaleBunProfiler.d.ts.map +0 -1
  783. package/lib/typescript/specs/NativeScaleBunStorage.d.ts.map +0 -1
  784. package/lib/typescript/storage/StorageBackend.d.ts.map +0 -1
  785. package/lib/typescript/storage/db/sqlite.d.ts.map +0 -1
  786. package/lib/typescript/storage/files/fileStore.d.ts.map +0 -1
  787. package/lib/typescript/transport/auth/sdkSession.d.ts.map +0 -1
  788. package/lib/typescript/transport/backoff/exponentialJitter.d.ts.map +0 -1
  789. package/lib/typescript/transport/http/endpoints.d.ts.map +0 -1
  790. package/lib/typescript/transport/http/httpClient.d.ts.map +0 -1
  791. package/lib/typescript/transport/rateLimit/retryAfter.d.ts.map +0 -1
  792. package/lib/typescript/transport/signing/requestSigner.d.ts.map +0 -1
  793. package/lib/typescript/vendor/protocol/index.d.ts.map +0 -1
  794. package/lib/typescript/vendor/protocol/internal/validation.d.ts.map +0 -1
  795. package/lib/typescript/vendor/sdk-contracts/bridge.d.ts.map +0 -1
  796. package/lib/typescript/vendor/sdk-contracts/config.d.ts.map +0 -1
  797. package/lib/typescript/vendor/sdk-contracts/events.d.ts.map +0 -1
  798. package/lib/typescript/vendor/sdk-contracts/features.d.ts.map +0 -1
  799. package/lib/typescript/vendor/sdk-contracts/index.d.ts.map +0 -1
  800. package/lib/typescript/vendor/sdk-contracts/platform.d.ts.map +0 -1
  801. package/lib/typescript/vendor/sdk-contracts/session-boundary.d.ts.map +0 -1
  802. package/lib/typescript/vendor/sdk-contracts/session.d.ts.map +0 -1
@@ -0,0 +1,50 @@
1
+ import Foundation
2
+
3
+ /**
4
+ * The ONE place that answers "which iPhone is this?".
5
+ *
6
+ * iOS ships no API for the name a person would recognise. `UIDevice.current.model` returns the
7
+ * FAMILY — the literal string "iPhone" or "iPad" — which is identical on an iPhone 6 and an
8
+ * iPhone 17 Pro, so a dashboard grouping by it sees one bucket holding every iOS device ever.
9
+ * `ReplaySdk.getDeviceInfo` sent exactly that, which is why the replay lane could never tell two
10
+ * iPhones apart.
11
+ *
12
+ * The hardware identifier from `uname()` — "iPhone16,2" — is the only thing the OS will tell us,
13
+ * and it is unique per model. It is not the marketing name and this module does not pretend
14
+ * otherwise: turning "iPhone16,2" into "iPhone 15 Pro Max" needs a lookup table, and that table
15
+ * belongs on the server, where a device released after this binary shipped can be named without
16
+ * waiting for every app to adopt a new SDK and ship to the App Store.
17
+ *
18
+ * `ScaleBunProfilerModule` already had this function privately; both lanes now share it so they
19
+ * cannot drift into reporting two different models for one device.
20
+ */
21
+ @objc(ScaleBunDeviceIdentity)
22
+ public final class ScaleBunDeviceIdentity: NSObject {
23
+
24
+ /**
25
+ * The hardware identifier, e.g. "iPhone16,2" / "iPad14,3".
26
+ *
27
+ * On the simulator `uname` reports the HOST architecture ("x86_64", "arm64"), so the
28
+ * simulator's own hint is preferred when present — otherwise every developer's simulator
29
+ * session lands in the dashboard as a device model named after a CPU.
30
+ */
31
+ @objc public static func modelIdentifier() -> String {
32
+ if let simulator = ProcessInfo.processInfo
33
+ .environment["SIMULATOR_MODEL_IDENTIFIER"], !simulator.isEmpty {
34
+ return simulator
35
+ }
36
+ var systemInfo = utsname()
37
+ uname(&systemInfo)
38
+ let identifier = withUnsafePointer(to: &systemInfo.machine) {
39
+ $0.withMemoryRebound(to: CChar.self, capacity: 1) {
40
+ String(validatingUTF8: $0) ?? ""
41
+ }
42
+ }
43
+ // Empty rather than "Unknown": an absent measurement must not arrive looking like a value.
44
+ return identifier
45
+ }
46
+
47
+ // No manufacturer constant here on purpose. iOS's manufacturer is answerable without the
48
+ // bridge — the platform being iOS entails it — so staticDeviceContext() sets it on the FIRST
49
+ // event rather than waiting for a native round-trip that may never come back.
50
+ }
@@ -392,15 +392,9 @@ class ScaleBunProfilerModule: RCTEventEmitter {
392
392
  sendEvent(withName: "ScaleBunProfiler_Capabilities", body: buildCapabilities())
393
393
  }
394
394
 
395
+ /** Shared with the replay lane so the two cannot report different models for one device. */
395
396
  private func deviceModel() -> String {
396
- var systemInfo = utsname()
397
- uname(&systemInfo)
398
- let modelCode = withUnsafePointer(to: &systemInfo.machine) {
399
- $0.withMemoryRebound(to: CChar.self, capacity: 1) {
400
- String(validatingUTF8: $0) ?? "Unknown"
401
- }
402
- }
403
- return modelCode
397
+ return ScaleBunDeviceIdentity.modelIdentifier()
404
398
  }
405
399
 
406
400
  private func isDebugBuild() -> Bool {
@@ -572,7 +572,9 @@ class ReplaySdk: RCTEventEmitter {
572
572
  resolve([
573
573
  "platform": "ios",
574
574
  "osVersion": device.systemVersion,
575
- "deviceModel": device.model,
575
+ // NOT device.model — that is the family ("iPhone"), identical on every iPhone ever
576
+ // made. ScaleBunDeviceIdentity reports the hardware identifier, which is unique per model.
577
+ "deviceModel": ScaleBunDeviceIdentity.modelIdentifier(),
576
578
  "screenWidth": Int(screen.bounds.width * screen.scale),
577
579
  "screenHeight": Int(screen.bounds.height * screen.scale),
578
580
  "pixelDensity": screen.scale,
@@ -341,6 +341,28 @@ class EventTracker {
341
341
  this.persistQueue();
342
342
  }
343
343
 
344
+ /**
345
+ * Fold in device facts that were not knowable at init.
346
+ *
347
+ * `Platform.constants` answers Android synchronously, so its model and manufacturer ride the
348
+ * very first event. iOS exposes neither there — only the native bridge knows, and the bridge is
349
+ * async and may not be installed at all. Without this the iOS half of every install reported no
350
+ * model whatsoever.
351
+ *
352
+ * `buildEnvelope` reads `cfg.context` per event, so applying it here reaches every event from
353
+ * the next one onward. Detected keys WIN over whatever the integrator configured, for the same
354
+ * reason `mergeDeviceContext` inverts the usual precedence: a measurement must not be
355
+ * overridable by a guess. Empty patches are ignored so a bridge that answered with nothing
356
+ * cannot blank a value the static path already found.
357
+ */
358
+ applyDetectedContext(patch) {
359
+ if (!patch || Object.keys(patch).length === 0) return;
360
+ this.cfg.context = {
361
+ ...(this.cfg.context ?? {}),
362
+ ...patch
363
+ };
364
+ }
365
+
344
366
  // ─── internals ─────────────────────────────────────────────────────────────
345
367
 
346
368
  buildEnvelope(eventName, properties) {
@@ -322,6 +322,22 @@ class SDKBootstrapper {
322
322
  if (features.replay !== false) {
323
323
  try {
324
324
  __DEV__ && _internalLogger.logger.debug('[Bootstrap] Initializing unified SessionManager');
325
+ // SB-10: map the public top-level privacy config onto the replay
326
+ // privacy policy — the field the native capture path actually reads.
327
+ // Unspecified fields fall back to the SDK's safe defaults
328
+ // (redactTextInputs: true), so this only ever tightens masking.
329
+ const pub = this.config.privacy ?? {};
330
+ const sessionReplay = {
331
+ ...(this.config.replay ?? {})
332
+ };
333
+ if (typeof pub.maskTextInputs === 'boolean' || typeof pub.maskImages === 'boolean') {
334
+ sessionReplay.privacyPolicy = {
335
+ redactTextInputs: pub.maskTextInputs ?? true,
336
+ redactImages: pub.maskImages ?? false,
337
+ blockTestIds: [],
338
+ captureExclusions: []
339
+ };
340
+ }
325
341
  const sessionManager = _SessionManager.SessionManager.getInstance(null,
326
342
  // No desktop transport initially
327
343
  _nativeCapture.nativeCapture,
@@ -331,9 +347,7 @@ class SDKBootstrapper {
331
347
  // Also flow the Feature #4 heatmap flag so tap/gesture coords
332
348
  // route to the analytics lane even when no recording is active.
333
349
  {
334
- ...(this.config.replay ? {
335
- sessionReplay: this.config.replay
336
- } : {}),
350
+ sessionReplay: sessionReplay,
337
351
  captureInteractionHeatmap: this.config.captureInteractionHeatmap === true
338
352
  });
339
353
 
@@ -245,6 +245,35 @@ const SHAPE = {
245
245
  })
246
246
  }
247
247
  },
248
+ // SB-10: the public, documented top-level privacy config. Previously only the
249
+ // nested replay privacy took effect; this is validated here and mapped onto the
250
+ // effective replay privacy policy in the bootstrapper so it actually masks.
251
+ privacy: {
252
+ kind: 'obj',
253
+ opt: true,
254
+ shape: {
255
+ maskTextInputs: {
256
+ kind: 'bool',
257
+ opt: true
258
+ },
259
+ maskImages: {
260
+ kind: 'bool',
261
+ opt: true
262
+ },
263
+ redactAuth: {
264
+ kind: 'bool',
265
+ opt: true
266
+ },
267
+ redactCookies: {
268
+ kind: 'bool',
269
+ opt: true
270
+ },
271
+ redactBodies: {
272
+ kind: 'bool',
273
+ opt: true
274
+ }
275
+ }
276
+ },
248
277
  captureInteractionHeatmap: bool(true),
249
278
  // Opt-in: intercept console.* and ship the lines to the Diagnose → Logs lane in SaaS
250
279
  // mode. OFF by default — console output can carry PII/secrets and adds ingest volume,
@@ -9,5 +9,5 @@ exports.SDK_VERSION = void 0;
9
9
  * can attribute telemetry to the SDK build that produced it.
10
10
  * Keep in sync with package.json "version".
11
11
  */
12
- const SDK_VERSION = exports.SDK_VERSION = '1.10.4';
12
+ const SDK_VERSION = exports.SDK_VERSION = '1.10.6';
13
13
  //# sourceMappingURL=version.js.map
@@ -104,6 +104,10 @@ function staticDeviceContext() {
104
104
  if (osVersion) out.os_version = String(osVersion);
105
105
  if (c.Model) out.device_model = String(c.Model);
106
106
  if (c.Manufacturer) out.manufacturer = String(c.Manufacturer);else if (c.Brand) out.manufacturer = String(c.Brand);
107
+ // iOS exposes no manufacturer because it does not need to: every device running iOS is Apple's.
108
+ // A tautology, not a guess — and it means the field is populated on event #1 rather than waiting
109
+ // for a bridge that may never answer.
110
+ else if (out.platform_os === 'ios') out.manufacturer = 'Apple';
107
111
  return out;
108
112
  }
109
113
 
@@ -113,6 +117,7 @@ function nativeDeviceContext(info) {
113
117
  if (!info) return out;
114
118
  if (info.osVersion) out.os_version = info.osVersion;
115
119
  if (info.deviceModel) out.device_model = info.deviceModel;
120
+ if (info.manufacturer) out.manufacturer = info.manufacturer;
116
121
  return out;
117
122
  }
118
123
 
@@ -21,29 +21,80 @@ exports.scanObjectForPII = scanObjectForPII;
21
21
 
22
22
  const REDACTED = '[REDACTED]';
23
23
 
24
+ // ─── Safety limits (SB-25 / SB-27) ───────────────────────────────────────────
25
+ // The PII scanner runs synchronously on the JS thread inside the app's own
26
+ // fetch()/XHR call. Left unbounded it is both a ReDoS vector (a large body of
27
+ // alphanumeric text can make regex matching cost seconds — an Android ANR) and
28
+ // a payload-amplification / exfiltration channel (one warning object per match).
29
+ // These bounds keep every scan linear and its output small.
30
+
31
+ /** Never scan more than this many characters — truncate before matching. */
32
+ const MAX_SCAN_INPUT_CHARS = 16 * 1024;
33
+ /** Abandon a scan once it has spent this long on the JS thread. */
34
+ const SCAN_TIME_BUDGET_MS = 10;
35
+ /** Never emit more than this many PII warnings for a single event. */
36
+ const MAX_PII_WARNINGS = 20;
37
+ /** Never pattern-scrub a string value longer than this (bounded work). */
38
+ const MAX_STRING_SCRUB_CHARS = 64 * 1024;
39
+
24
40
  /** Headers that must always be redacted (case-insensitive) */
25
41
  const SENSITIVE_HEADERS = new Set(['authorization', 'cookie', 'set-cookie', 'x-api-key', 'x-auth-token', 'proxy-authorization']);
26
42
 
27
- /** PII detection patterns */
43
+ /**
44
+ * PII detection patterns.
45
+ *
46
+ * SB-25: patterns must be free of catastrophic backtracking. The email pattern
47
+ * uses non-overlapping character classes with bounded quantifiers so it cannot
48
+ * backtrack quadratically on adversarial input like `'a'.repeat(N) + '@' + …`.
49
+ * All quantifiers here are bounded; combined with the input cap above this keeps
50
+ * matching linear in input size.
51
+ */
28
52
  const PII_PATTERNS = [{
29
53
  name: 'email',
30
- pattern: /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g
54
+ 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
31
55
  }, {
32
56
  name: 'phone',
33
- pattern: /(?:\+?\d{1,3}[-.\s]?)?\(?\d{2,4}\)?[-.\s]?\d{3,4}[-.\s]?\d{3,4}/g
57
+ pattern: /\+?\d{1,3}[-.\s]?\(?\d{2,4}\)?[-.\s]?\d{3,4}[-.\s]?\d{3,4}/g
34
58
  }, {
35
59
  name: 'ssn',
36
60
  pattern: /\b\d{3}-\d{2}-\d{4}\b/g
37
61
  }, {
38
62
  name: 'credit_card',
39
63
  pattern: /\b\d{4}[-\s]?\d{4}[-\s]?\d{4}[-\s]?\d{4}\b/g
64
+ }, {
65
+ name: 'iban',
66
+ pattern: /\b[A-Z]{2}\d{2}[A-Z0-9]{10,30}\b/g
67
+ }, {
68
+ name: 'jwt',
69
+ pattern: /\beyJ[A-Za-z0-9_-]{5,}\.[A-Za-z0-9_-]{5,}\.[A-Za-z0-9_-]{5,}\b/g
40
70
  }, {
41
71
  name: 'ip_address',
42
72
  pattern: /\b(?:\d{1,3}\.){3}\d{1,3}\b/g
43
73
  }];
44
74
 
75
+ /**
76
+ * Value patterns used to scrub secrets out of raw string bodies (SB-02).
77
+ * These are applied to string values (including parsed-out JSON string leaves
78
+ * and non-JSON bodies) where a denylisted key name is not available. All are
79
+ * bounded / anchored to avoid backtracking.
80
+ */
81
+ const VALUE_SCRUB_PATTERNS = [{
82
+ name: 'jwt',
83
+ pattern: /eyJ[A-Za-z0-9_-]{5,}\.[A-Za-z0-9_-]{5,}\.[A-Za-z0-9_-]{5,}/g
84
+ }, {
85
+ name: 'email',
86
+ 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
87
+ }, {
88
+ name: 'iban',
89
+ pattern: /\b[A-Z]{2}\d{2}[A-Z0-9]{10,30}\b/g
90
+ }, {
91
+ name: 'credit_card',
92
+ pattern: /\b\d{4}[-\s]?\d{4}[-\s]?\d{4}[-\s]?\d{2,7}\b/g,
93
+ luhn: true
94
+ }];
95
+
45
96
  /** Keys in request/response bodies that likely contain sensitive data */
46
- const SENSITIVE_BODY_KEYS = new Set(['password', 'passwd', 'secret', 'token', 'access_token', 'refresh_token', 'api_key', 'apiKey', 'private_key', 'privateKey', 'credit_card', 'creditCard', 'ccNumber', 'cvv', 'ssn', 'social_security']);
97
+ const SENSITIVE_BODY_KEYS = 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']);
47
98
 
48
99
  // ─── Header Redaction ───────────────────────────────────────────────────────
49
100
 
@@ -70,9 +121,68 @@ function redactHeaders(headers) {
70
121
 
71
122
  // ─── Body Redaction ─────────────────────────────────────────────────────────
72
123
 
124
+ /** Normalize a key for denylist comparison: lowercase, strip separators. */
125
+ function _normalizeKey(key) {
126
+ return key.toLowerCase().replace(/[_\-\s]/g, '');
127
+ }
128
+
129
+ /** Normalized denylist so `access_token`, `accessToken` and `Access-Token` all match. */
130
+ const NORMALIZED_SENSITIVE_KEYS = new Set(Array.from(SENSITIVE_BODY_KEYS, _normalizeKey));
131
+ function _isSensitiveKey(key) {
132
+ return NORMALIZED_SENSITIVE_KEYS.has(_normalizeKey(key));
133
+ }
134
+
135
+ /** Passes the Luhn checksum — used to avoid over-redacting random 16-digit ids. */
136
+ function _luhnValid(digits) {
137
+ const s = digits.replace(/[^\d]/g, '');
138
+ if (s.length < 12 || s.length > 19) return false;
139
+ let sum = 0;
140
+ let alt = false;
141
+ for (let i = s.length - 1; i >= 0; i--) {
142
+ let d = s.charCodeAt(i) - 48;
143
+ if (alt) {
144
+ d *= 2;
145
+ if (d > 9) d -= 9;
146
+ }
147
+ sum += d;
148
+ alt = !alt;
149
+ }
150
+ return sum % 10 === 0;
151
+ }
152
+
153
+ /**
154
+ * Scrub structured secrets (JWT, email, IBAN, Luhn-valid card) out of a raw
155
+ * string value where no denylisted key name is available (SB-02). Bounded work:
156
+ * the string is capped and every pattern is anchored/bounded.
157
+ */
158
+ function _scrubSecretsInString(value) {
159
+ if (value.length > MAX_STRING_SCRUB_CHARS) {
160
+ value = value.slice(0, MAX_STRING_SCRUB_CHARS);
161
+ }
162
+ let out = value;
163
+ try {
164
+ for (const {
165
+ pattern,
166
+ luhn
167
+ } of VALUE_SCRUB_PATTERNS) {
168
+ pattern.lastIndex = 0;
169
+ out = out.replace(pattern, m => luhn && !_luhnValid(m) ? m : REDACTED);
170
+ }
171
+ } catch {
172
+ // Never throw — return whatever scrubbing produced so far.
173
+ }
174
+ return out;
175
+ }
176
+
73
177
  /**
74
178
  * Deep-redact sensitive keys in a body object. Returns a new object.
75
179
  * Handles nested objects and arrays. Never throws.
180
+ *
181
+ * SB-02: string bodies (what JSON.stringify produces — i.e. essentially every
182
+ * React Native network body) are no longer passed through untouched. If a string
183
+ * parses as JSON it is deep-redacted and re-serialized; otherwise structured
184
+ * secrets in the string are scrubbed. This closes the "6 of 9 seeded secrets
185
+ * survived" leak while leaving non-sensitive metadata intact.
76
186
  */
77
187
  function redactBody(body, maxDepth = 10) {
78
188
  try {
@@ -85,9 +195,7 @@ function _redactValue(value, depth, maxDepth) {
85
195
  if (depth > maxDepth) return '[MAX_DEPTH]';
86
196
  if (value === null || value === undefined) return value;
87
197
  if (typeof value === 'string') {
88
- // Don't deeply redact strings at the value level here,
89
- // PII scanning is a separate concern
90
- return value;
198
+ return _redactString(value, depth, maxDepth);
91
199
  }
92
200
  if (Array.isArray(value)) {
93
201
  return value.map(item => _redactValue(item, depth + 1, maxDepth));
@@ -95,7 +203,7 @@ function _redactValue(value, depth, maxDepth) {
95
203
  if (typeof value === 'object') {
96
204
  const result = {};
97
205
  for (const [key, val] of Object.entries(value)) {
98
- if (SENSITIVE_BODY_KEYS.has(key) || SENSITIVE_BODY_KEYS.has(key.toLowerCase())) {
206
+ if (_isSensitiveKey(key)) {
99
207
  result[key] = REDACTED;
100
208
  } else {
101
209
  result[key] = _redactValue(val, depth + 1, maxDepth);
@@ -106,66 +214,145 @@ function _redactValue(value, depth, maxDepth) {
106
214
  return value;
107
215
  }
108
216
 
217
+ /**
218
+ * Redact a string value. If it looks like a JSON object/array, parse it, redact
219
+ * by key, and re-serialize so a serialized body such as
220
+ * `{"password":"...","otp":"..."}` is scrubbed. Otherwise scrub structured
221
+ * secrets out of the raw text.
222
+ */
223
+ function _redactString(value, depth, maxDepth) {
224
+ const trimmed = value.trimStart();
225
+ if (trimmed.startsWith('{') || trimmed.startsWith('[')) {
226
+ try {
227
+ const parsed = JSON.parse(value);
228
+ if (parsed !== null && typeof parsed === 'object') {
229
+ const redacted = _redactValue(parsed, depth + 1, maxDepth);
230
+ return JSON.stringify(redacted);
231
+ }
232
+ } catch {
233
+ // Not valid JSON — fall through to pattern scrubbing.
234
+ }
235
+ }
236
+ return _scrubSecretsInString(value);
237
+ }
238
+
109
239
  // ─── PII Scanning ───────────────────────────────────────────────────────────
110
240
 
111
241
  /**
112
- * Scan a string for PII patterns. Returns list of warnings.
113
- * Never throws.
242
+ * Bounded scan context shared across one logical scan (SB-25 / SB-27). Enforces
243
+ * a wall-clock budget and a warning cap while accumulating per-type counts so the
244
+ * final output can report `{ email: 5000 }` instead of 5000 fragment objects.
114
245
  */
115
- function scanForPII(text, location = 'unknown') {
116
- const warnings = [];
246
+
247
+ function _newScanContext() {
248
+ return {
249
+ warnings: [],
250
+ byType: {},
251
+ deadline: Date.now() + SCAN_TIME_BUDGET_MS,
252
+ truncated: false,
253
+ total: 0
254
+ };
255
+ }
256
+ function _pushWarning(ctx, type, rawMatch, location) {
257
+ ctx.total += 1;
258
+ ctx.byType[type] = (ctx.byType[type] ?? 0) + 1;
259
+ if (ctx.warnings.length < MAX_PII_WARNINGS) {
260
+ ctx.warnings.push({
261
+ type,
262
+ match: _maskPII(rawMatch),
263
+ location
264
+ });
265
+ } else {
266
+ ctx.truncated = true;
267
+ }
268
+ }
269
+
270
+ /**
271
+ * Finalize a scan: append a single summary entry carrying per-type counts when
272
+ * anything was dropped, so consumers see the full magnitude without the SDK
273
+ * shipping every matched fragment (SB-27).
274
+ */
275
+ function _finalizeScan(ctx) {
276
+ if (ctx.truncated) {
277
+ ctx.warnings.push({
278
+ type: '_summary',
279
+ match: `truncated: ${ctx.total} matches`,
280
+ location: `counts:${JSON.stringify(ctx.byType)}`
281
+ });
282
+ }
283
+ return ctx.warnings;
284
+ }
285
+ function _scanTextInto(text, location, ctx) {
286
+ // SB-25: cap the input before any regex runs, so matching cost is bounded
287
+ // regardless of the (attacker-controlled) body size.
288
+ const input = text.length > MAX_SCAN_INPUT_CHARS ? text.slice(0, MAX_SCAN_INPUT_CHARS) : text;
117
289
  try {
118
290
  for (const {
119
291
  name,
120
292
  pattern
121
293
  } of PII_PATTERNS) {
122
- // Reset regex state
123
294
  pattern.lastIndex = 0;
124
- let match = pattern.exec(text);
295
+ let match = pattern.exec(input);
125
296
  while (match) {
126
- warnings.push({
127
- type: name,
128
- match: _maskPII(match[0]),
129
- location
130
- });
131
- match = pattern.exec(text);
297
+ _pushWarning(ctx, name, match[0], location);
298
+ // SB-25: abandon the scan if it has exceeded its time budget.
299
+ if (Date.now() > ctx.deadline) {
300
+ ctx.truncated = true;
301
+ return;
302
+ }
303
+ if (pattern.lastIndex === match.index) pattern.lastIndex++; // guard zero-width
304
+ match = pattern.exec(input);
132
305
  }
133
306
  }
134
307
  } catch {
135
- // Never throw — return whatever we found so far
308
+ // Never throw — keep whatever was found so far.
136
309
  }
137
- return warnings;
138
310
  }
139
311
 
140
312
  /**
141
- * Scan an object deeply for PII. Returns list of warnings.
313
+ * Scan a string for PII patterns. Returns a bounded list of warnings.
314
+ * Never throws.
315
+ */
316
+ function scanForPII(text, location = 'unknown') {
317
+ const ctx = _newScanContext();
318
+ _scanTextInto(text, location, ctx);
319
+ return _finalizeScan(ctx);
320
+ }
321
+
322
+ /**
323
+ * Scan an object deeply for PII. Returns a bounded list of warnings.
142
324
  * Never throws.
143
325
  */
144
326
  function scanObjectForPII(obj, basePath = '', maxDepth = 10) {
145
- const warnings = [];
327
+ const ctx = _newScanContext();
146
328
  try {
147
- _scanObject(obj, basePath, 0, maxDepth, warnings);
329
+ _scanObjectInto(obj, basePath, 0, maxDepth, ctx);
148
330
  } catch {
149
331
  // Never throw
150
332
  }
151
- return warnings;
333
+ return _finalizeScan(ctx);
152
334
  }
153
- function _scanObject(value, path, depth, maxDepth, warnings) {
335
+ function _scanObjectInto(value, path, depth, maxDepth, ctx) {
154
336
  if (depth > maxDepth || value === null || value === undefined) return;
337
+ if (ctx.truncated || Date.now() > ctx.deadline) {
338
+ ctx.truncated = true;
339
+ return;
340
+ }
155
341
  if (typeof value === 'string') {
156
- const found = scanForPII(value, path);
157
- warnings.push(...found);
342
+ _scanTextInto(value, path, ctx);
158
343
  return;
159
344
  }
160
345
  if (Array.isArray(value)) {
161
- value.forEach((item, i) => {
162
- _scanObject(item, `${path}[${i}]`, depth + 1, maxDepth, warnings);
163
- });
346
+ for (let i = 0; i < value.length; i++) {
347
+ if (ctx.truncated) return;
348
+ _scanObjectInto(value[i], `${path}[${i}]`, depth + 1, maxDepth, ctx);
349
+ }
164
350
  return;
165
351
  }
166
352
  if (typeof value === 'object') {
167
353
  for (const [key, val] of Object.entries(value)) {
168
- _scanObject(val, path ? `${path}.${key}` : key, depth + 1, maxDepth, warnings);
354
+ if (ctx.truncated) return;
355
+ _scanObjectInto(val, path ? `${path}.${key}` : key, depth + 1, maxDepth, ctx);
169
356
  }
170
357
  }
171
358
  }
@@ -207,20 +394,19 @@ function redactUrl(url) {
207
394
  * Apply full redaction pipeline to a network event.
208
395
  */
209
396
  function redactNetworkEvent(event) {
210
- const piiWarnings = [];
211
-
212
- // Scan URL for PII
397
+ // One bounded context for the whole event so the aggregate warning count and
398
+ // scan time stay capped across url + request + response (SB-25 / SB-27).
399
+ const ctx = _newScanContext();
213
400
  if (event.url) {
214
- piiWarnings.push(...scanForPII(event.url, 'url'));
401
+ _scanTextInto(event.url, 'url', ctx);
215
402
  }
216
-
217
- // Scan bodies for PII
218
403
  if (event.requestBody) {
219
- piiWarnings.push(...scanObjectForPII(event.requestBody, 'requestBody'));
404
+ _scanObjectInto(event.requestBody, 'requestBody', 0, 10, ctx);
220
405
  }
221
406
  if (event.responseBody) {
222
- piiWarnings.push(...scanObjectForPII(event.responseBody, 'responseBody'));
407
+ _scanObjectInto(event.responseBody, 'responseBody', 0, 10, ctx);
223
408
  }
409
+ const piiWarnings = _finalizeScan(ctx);
224
410
  return {
225
411
  url: event.url ? redactUrl(event.url) : '',
226
412
  method: event.method ?? 'GET',
@@ -583,7 +583,15 @@ function ScaleBunDebugRoot({
583
583
  });
584
584
  }
585
585
  } catch {/* no-throw */}
586
- }, 200);
586
+ // 600ms, was 200ms. The race this defer exists for happens on the FIRST tap of a
587
+ // mount: native isn't confirmed yet, JS emitted at 200ms, then the first native
588
+ // event crossed the bridge at ~300-400ms — recording the same tap TWICE, with the
589
+ // JS copy missing normalizedX/Y whenever the async root-view measure hadn't
590
+ // resolved (an interaction the heatmap cannot place). QA hit exactly this pair.
591
+ // The wider defer lets the first native event cancel the JS emission instead; on
592
+ // devices with no native tracker at all it merely delays a background emission,
593
+ // which nothing user-visible waits on.
594
+ }, 600);
587
595
  }
588
596
  touchStartRef.current = null;
589
597
  } catch {/* no-throw */}