@scalebun-release/react-native 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +154 -0
- package/android/build.gradle +94 -0
- package/android/consumer-rules.pro +28 -0
- package/android/src/androidTest/java/com/scalebun/rn/ota/ScaleBunOtaVerifierInstrumentedTest.kt +112 -0
- package/android/src/main/AndroidManifest.xml +14 -0
- package/android/src/main/java/com/scalebun/core/crash/CrashStorage.kt +155 -0
- package/android/src/main/java/com/scalebun/core/crash/NativeCrashHandler.kt +93 -0
- package/android/src/main/java/com/scalebun/core/performance/ANRWatchdog.kt +100 -0
- package/android/src/main/java/com/scalebun/core/performance/AppStartCollector.kt +180 -0
- package/android/src/main/java/com/scalebun/core/performance/FrameMetricsCollector.kt +230 -0
- package/android/src/main/java/com/scalebun/core/performance/PerformanceCore.kt +165 -0
- package/android/src/main/java/com/scalebun/profiler/ProfilerModule.kt +398 -0
- package/android/src/main/java/com/scalebun/profiler/ProfilerPackage.kt +24 -0
- package/android/src/main/java/com/scalebun/profiler/collectors/CpuCollector.kt +161 -0
- package/android/src/main/java/com/scalebun/profiler/collectors/IncidentDetector.kt +223 -0
- package/android/src/main/java/com/scalebun/profiler/collectors/MemoryCollector.kt +157 -0
- package/android/src/main/java/com/scalebun/profiler/collectors/RenderCollector.kt +194 -0
- package/android/src/main/java/com/scalebun/profiler/collectors/SamplerScheduler.kt +218 -0
- package/android/src/main/java/com/scalebun/profiler/collectors/ThreadCollector.kt +142 -0
- package/android/src/main/java/com/scalebun/replaysdk/ReplaySdkModule.kt +1117 -0
- package/android/src/main/java/com/scalebun/replaysdk/ReplaySdkPackage.kt +24 -0
- package/android/src/main/java/com/scalebun/replaysdk/capture/CaptureReason.kt +47 -0
- package/android/src/main/java/com/scalebun/replaysdk/capture/FrameCaptureManager.kt +574 -0
- package/android/src/main/java/com/scalebun/replaysdk/capture/FrameCaptureScheduler.kt +187 -0
- package/android/src/main/java/com/scalebun/replaysdk/capture/UiStabilityDetector.kt +214 -0
- package/android/src/main/java/com/scalebun/replaysdk/core/ReplayConfig.kt +144 -0
- package/android/src/main/java/com/scalebun/replaysdk/core/ReplayLogger.kt +31 -0
- package/android/src/main/java/com/scalebun/replaysdk/core/SessionIdGenerator.kt +15 -0
- package/android/src/main/java/com/scalebun/replaysdk/models/ReplayModels.kt +94 -0
- package/android/src/main/java/com/scalebun/replaysdk/outbox/NativeOutbox.kt +574 -0
- package/android/src/main/java/com/scalebun/replaysdk/outbox/OutboxUploader.kt +559 -0
- package/android/src/main/java/com/scalebun/replaysdk/privacy/PrivacyMaskProcessor.kt +126 -0
- package/android/src/main/java/com/scalebun/replaysdk/session/SessionManager.kt +322 -0
- package/android/src/main/java/com/scalebun/replaysdk/storage/ReplayStorage.kt +136 -0
- package/android/src/main/java/com/scalebun/replaysdk/timeline/TimelineCollector.kt +28 -0
- package/android/src/main/java/com/scalebun/replaysdk/tracking/InteractionTracker.kt +470 -0
- package/android/src/main/java/com/scalebun/replaysdk/tracking/ScreenTracker.kt +20 -0
- package/android/src/main/java/com/scalebun/replaysdk/tracking/ScrollContextProbe.kt +188 -0
- package/android/src/main/java/com/scalebun/replaysdk/transport/ReplayTransport.kt +99 -0
- package/android/src/main/java/com/scalebun/replaysdk/voice/VoiceRecorder.kt +121 -0
- package/android/src/main/java/com/scalebun/replaysdk/voice/VoiceTranscriber.kt +170 -0
- package/android/src/main/java/com/scalebun/rn/ScaleBunPackage.kt +113 -0
- package/android/src/main/java/com/scalebun/rn/crash/ScaleBunCrashModule.kt +188 -0
- package/android/src/main/java/com/scalebun/rn/crash/ScaleBunCrashPackage.kt +22 -0
- package/android/src/main/java/com/scalebun/rn/engage/ScaleBunEngageModule.kt +579 -0
- package/android/src/main/java/com/scalebun/rn/engage/ScaleBunEngagePackage.kt +22 -0
- package/android/src/main/java/com/scalebun/rn/engage/ScaleBunNotificationPresenter.kt +110 -0
- package/android/src/main/java/com/scalebun/rn/ota/BsPatch.kt +240 -0
- package/android/src/main/java/com/scalebun/rn/ota/BundleDownloader.kt +195 -0
- package/android/src/main/java/com/scalebun/rn/ota/DeviceIntegrity.kt +81 -0
- package/android/src/main/java/com/scalebun/rn/ota/DownloadFailure.kt +55 -0
- package/android/src/main/java/com/scalebun/rn/ota/OtaProtocol.kt +244 -0
- package/android/src/main/java/com/scalebun/rn/ota/ScaleBunOtaKeyRegistry.kt +100 -0
- package/android/src/main/java/com/scalebun/rn/ota/ScaleBunOtaModule.kt +683 -0
- package/android/src/main/java/com/scalebun/rn/ota/ScaleBunOtaReleaseVerifier.kt +136 -0
- package/android/src/main/java/com/scalebun/rn/ota/SlotManager.kt +578 -0
- package/android/src/main/java/com/scalebun/rn/ota/TlsPinning.kt +118 -0
- package/android/src/main/java/com/scalebun/rn/performance/PerformanceModule.kt +217 -0
- package/android/src/main/java/com/scalebun/rn/referrer/ScaleBunInstallReferrerModule.kt +77 -0
- package/android/src/main/java/com/scalebun/rn/storage/ScaleBunStorageModule.kt +68 -0
- package/android/src/main/java/com/scalebun/storage/KvFileStore.kt +174 -0
- package/android/src/newarch/java/com/scalebun/profiler/ProfilerSpec.kt +12 -0
- package/android/src/newarch/java/com/scalebun/replaysdk/ReplaySdkSpec.kt +12 -0
- package/android/src/newarch/java/com/scalebun/rn/crash/ScaleBunCrashSpec.kt +15 -0
- package/android/src/newarch/java/com/scalebun/rn/ota/ScaleBunOtaSpec.kt +16 -0
- package/android/src/newarch/java/com/scalebun/rn/performance/PerformanceSpec.kt +12 -0
- package/android/src/newarch/java/com/scalebun/rn/referrer/ScaleBunInstallReferrerSpec.kt +14 -0
- package/android/src/newarch/java/com/scalebun/rn/storage/ScaleBunStorageSpec.kt +16 -0
- package/android/src/oldarch/java/com/scalebun/profiler/ProfilerSpec.kt +34 -0
- package/android/src/oldarch/java/com/scalebun/replaysdk/ReplaySdkSpec.kt +77 -0
- package/android/src/oldarch/java/com/scalebun/rn/crash/ScaleBunCrashSpec.kt +40 -0
- package/android/src/oldarch/java/com/scalebun/rn/ota/ScaleBunOtaSpec.kt +42 -0
- package/android/src/oldarch/java/com/scalebun/rn/performance/PerformanceSpec.kt +27 -0
- package/android/src/oldarch/java/com/scalebun/rn/referrer/ScaleBunInstallReferrerSpec.kt +18 -0
- package/android/src/oldarch/java/com/scalebun/rn/storage/ScaleBunStorageSpec.kt +26 -0
- package/bin/lib/androidCodemod.js +370 -0
- package/bin/lib/iosCodemod.js +343 -0
- package/bin/scalebun.js +1004 -0
- package/dist/scalebun.full.js +37348 -0
- package/dist/scalebun.slim.js +34137 -0
- package/ios/Capture/InteractionTracker.swift +237 -0
- package/ios/Capture/PrivacyMaskProcessor.swift +158 -0
- package/ios/Capture/ScreenshotCaptureManager.swift +398 -0
- package/ios/Capture/WindowResolver.swift +63 -0
- package/ios/Core/DeviceIdentity.swift +50 -0
- package/ios/Core/ReplayConfig.swift +100 -0
- package/ios/Core/ReplayLogger.swift +22 -0
- package/ios/Core/SessionIdGenerator.swift +18 -0
- package/ios/Crash/ScaleBunCrashBridge.mm +74 -0
- package/ios/Crash/ScaleBunCrashHandler.swift +84 -0
- package/ios/Crash/ScaleBunCrashModule.swift +98 -0
- package/ios/Crash/ScaleBunCrashSignalBridge.h +49 -0
- package/ios/Crash/ScaleBunCrashSignalBridge.m +296 -0
- package/ios/Crash/ScaleBunCrashSignalStress.c +137 -0
- package/ios/Crash/ScaleBunCrashStorage.swift +121 -0
- package/ios/Crash/ScaleBunExceptionChain.swift +71 -0
- package/ios/CrashTests/ScaleBunExceptionChainTests.swift +144 -0
- package/ios/Engage/ScaleBunEngageBridge.m +32 -0
- package/ios/Engage/ScaleBunEngageModule.swift +250 -0
- package/ios/Engage/ScaleBunPushNotificationCenter.swift +185 -0
- package/ios/Ota/BsPatch.swift +203 -0
- package/ios/Ota/BundleDownloader.swift +249 -0
- package/ios/Ota/DeviceIntegrity.swift +112 -0
- package/ios/Ota/DownloadFailure.swift +56 -0
- package/ios/Ota/OtaProtocol.swift +246 -0
- package/ios/Ota/OtaSlotManager.swift +613 -0
- package/ios/Ota/ScaleBunOtaBridge.mm +92 -0
- package/ios/Ota/ScaleBunOtaEventsModule.swift +61 -0
- package/ios/Ota/ScaleBunOtaKeyRegistry.swift +147 -0
- package/ios/Ota/ScaleBunOtaModule.swift +587 -0
- package/ios/Ota/ScaleBunOtaReleaseVerifier.swift +119 -0
- package/ios/Ota/TlsPinning.swift +222 -0
- package/ios/OtaTests/DownloadFailureTests.swift +78 -0
- package/ios/OtaTests/ScaleBunOtaVerifierTests.swift +548 -0
- package/ios/Outbox/NativeOutbox.swift +632 -0
- package/ios/Outbox/OutboxUploader.swift +578 -0
- package/ios/Performance/ScaleBunPerformanceBridge.m +32 -0
- package/ios/Performance/ScaleBunPerformanceModule.swift +290 -0
- package/ios/PrivacyInfo.xcprivacy +97 -0
- package/ios/Profiler/ScaleBunProfilerBridge.m +55 -0
- package/ios/Profiler/ScaleBunProfilerModule.swift +966 -0
- package/ios/ReplaySdk-Bridging-Header.h +2 -0
- package/ios/ReplaySdk.swift +793 -0
- package/ios/ReplaySdkBridge.m +97 -0
- package/ios/Session/SessionManager.swift +273 -0
- package/ios/Skan/ScaleBunSkanBridge.m +14 -0
- package/ios/Skan/ScaleBunSkanModule.swift +61 -0
- package/ios/Storage/ReplayStorage.swift +61 -0
- package/ios/Storage/ScaleBunKvFileStore.swift +125 -0
- package/ios/Storage/ScaleBunStorageBridge.mm +72 -0
- package/ios/Storage/ScaleBunStorageModule.swift +57 -0
- package/ios/Transport/ReplayTransport.swift +70 -0
- package/ios/VoiceRecorder.swift +145 -0
- package/lib/commonjs/analytics/EventTracker.js +598 -0
- package/lib/commonjs/analytics/automaticEvents.js +71 -0
- package/lib/commonjs/analytics/batching.js +64 -0
- package/lib/commonjs/analytics/eventLane.js +55 -0
- package/lib/commonjs/analytics/revenue.js +125 -0
- package/lib/commonjs/analytics/subscription.js +94 -0
- package/lib/commonjs/bootstrap/FeatureRegistry.js +86 -0
- package/lib/commonjs/bootstrap/SDKBootstrapper.js +748 -0
- package/lib/commonjs/bucketing/fnv1a32.js +45 -0
- package/lib/commonjs/compat/codepush.js +153 -0
- package/lib/commonjs/config/ConfigManager.js +238 -0
- package/lib/commonjs/config/configTypes.js +16 -0
- package/lib/commonjs/config/otaPolicyState.js +85 -0
- package/lib/commonjs/config/quotaState.js +435 -0
- package/lib/commonjs/core/architecture.js +45 -0
- package/lib/commonjs/core/clock/now.js +13 -0
- package/lib/commonjs/core/config/defaults.js +2 -0
- package/lib/commonjs/core/config/schema.js +512 -0
- package/lib/commonjs/core/constants/endpoints.js +19 -0
- package/lib/commonjs/core/constants/protocol.js +31 -0
- package/lib/commonjs/core/constants/timings.js +39 -0
- package/lib/commonjs/core/constants/version.js +18 -0
- package/lib/commonjs/core/context/app.js +2 -0
- package/lib/commonjs/core/context/device.js +155 -0
- package/lib/commonjs/core/context/session.js +2 -0
- package/lib/commonjs/core/context/user.js +2 -0
- package/lib/commonjs/core/contracts/IFeature.js +2 -0
- package/lib/commonjs/core/di/container.js +29 -0
- package/lib/commonjs/core/encoding/base64.js +50 -0
- package/lib/commonjs/core/id/deviceId.js +52 -0
- package/lib/commonjs/core/id/installationId.js +55 -0
- package/lib/commonjs/core/id/sessionId.js +2 -0
- package/lib/commonjs/core/lifecycle/appLifecycle.js +31 -0
- package/lib/commonjs/core/lifecycle/crashSafe.js +33 -0
- package/lib/commonjs/core/logger/errorClassification.js +107 -0
- package/lib/commonjs/core/logger/internalLogger.js +63 -0
- package/lib/commonjs/core/logger/levels.js +2 -0
- package/lib/commonjs/crypto/hmacSha256.js +132 -0
- package/lib/commonjs/debug/bootstrap.js +429 -0
- package/lib/commonjs/debug/commands.js +732 -0
- package/lib/commonjs/debug/configBuilder.js +70 -0
- package/lib/commonjs/debug/exportBridge.js +155 -0
- package/lib/commonjs/debug/hostResolver.js +42 -0
- package/lib/commonjs/debug/index.js +141 -0
- package/lib/commonjs/debug/metrics.js +39 -0
- package/lib/commonjs/debug/perf.js +186 -0
- package/lib/commonjs/debug/perfWiring.js +109 -0
- package/lib/commonjs/debug/protocol.js +121 -0
- package/lib/commonjs/debug/redaction.js +422 -0
- package/lib/commonjs/debug/replayWiring.js +149 -0
- package/lib/commonjs/debug/screenTracking.js +60 -0
- package/lib/commonjs/debug/sessionWiring.js +48 -0
- package/lib/commonjs/debug/stream.js +542 -0
- package/lib/commonjs/debug/transport.js +368 -0
- package/lib/commonjs/features/bugreport/BugReportFeature.js +112 -0
- package/lib/commonjs/features/bugreport/buildPayload.js +97 -0
- package/lib/commonjs/features/bugreport/index.js +2 -0
- package/lib/commonjs/features/crash/CrashFeature.js +86 -0
- package/lib/commonjs/features/crash/CrashReporter.js +160 -0
- package/lib/commonjs/features/crash/NativeCrashFeature.js +42 -0
- package/lib/commonjs/features/crash/capture.js +48 -0
- package/lib/commonjs/features/crash/globalHandler.js +41 -0
- package/lib/commonjs/features/crash/index.js +14 -0
- package/lib/commonjs/features/crash/nativeCrashBridge.js +361 -0
- package/lib/commonjs/features/crash/rejectionHandler.js +180 -0
- package/lib/commonjs/features/crash/scrubCrash.js +158 -0
- package/lib/commonjs/features/engage/EngageAnchor.js +132 -0
- package/lib/commonjs/features/engage/EngageArchetypeRenderers.js +4292 -0
- package/lib/commonjs/features/engage/EngageInAppView.js +2670 -0
- package/lib/commonjs/features/engage/EngageInlinePlacement.js +133 -0
- package/lib/commonjs/features/engage/EngagePromptProvider.js +1063 -0
- package/lib/commonjs/features/engage/EngagePromptView.js +1252 -0
- package/lib/commonjs/features/engage/EngageTransport.js +608 -0
- package/lib/commonjs/features/engage/EngageVariantContent.js +1778 -0
- package/lib/commonjs/features/engage/__test-support__/reactNativeStub.js +54 -0
- package/lib/commonjs/features/engage/attachmentCapture.js +48 -0
- package/lib/commonjs/features/engage/captureVoiceAttachment.js +88 -0
- package/lib/commonjs/features/engage/engageCoachmarkTour.js +106 -0
- package/lib/commonjs/features/engage/engageGameLogic.js +308 -0
- package/lib/commonjs/features/engage/engageMediaSizing.js +60 -0
- package/lib/commonjs/features/engage/engageMultiStepSheet.js +43 -0
- package/lib/commonjs/features/engage/engageOutcome.js +118 -0
- package/lib/commonjs/features/engage/engagePushTokenBridge.js +72 -0
- package/lib/commonjs/features/engage/engageShakeBridge.js +62 -0
- package/lib/commonjs/features/engage/engageSignals.js +39 -0
- package/lib/commonjs/features/engage/engageStoreReviewBridge.js +49 -0
- package/lib/commonjs/features/engage/engageTestSeenStore.js +99 -0
- package/lib/commonjs/features/engage/engageThrottle.js +404 -0
- package/lib/commonjs/features/engage/engageTriggerEngine.js +365 -0
- package/lib/commonjs/features/engage/engageTypes.js +116 -0
- package/lib/commonjs/features/engage/engageVariantResolver.js +143 -0
- package/lib/commonjs/features/engage/engageWindowInsets.js +98 -0
- package/lib/commonjs/features/engage/gestureTriggerDetector.js +85 -0
- package/lib/commonjs/features/engage/transcription/TranscriptionProvider.js +55 -0
- package/lib/commonjs/features/install-referrer/installReferrer.js +113 -0
- package/lib/commonjs/features/journey/ScaleBunDebugRoot.js +1038 -0
- package/lib/commonjs/features/journey/ScaleBunFlatList.js +39 -0
- package/lib/commonjs/features/journey/ScaleBunImpression.js +113 -0
- package/lib/commonjs/features/journey/ScaleBunScrollView.js +102 -0
- package/lib/commonjs/features/journey/ScaleBunSectionList.js +39 -0
- package/lib/commonjs/features/journey/autoInstrumentScroll.js +161 -0
- package/lib/commonjs/features/journey/calibrationContext.js +42 -0
- package/lib/commonjs/features/journey/gestureBuffer.js +63 -0
- package/lib/commonjs/features/journey/gestureDetector.js +176 -0
- package/lib/commonjs/features/journey/impression.js +93 -0
- package/lib/commonjs/features/journey/interactionProtocol.js +168 -0
- package/lib/commonjs/features/journey/journeyManager.js +466 -0
- package/lib/commonjs/features/journey/journeyTypes.js +55 -0
- package/lib/commonjs/features/journey/nativeScroll.js +85 -0
- package/lib/commonjs/features/journey/navDetector.js +161 -0
- package/lib/commonjs/features/journey/screenshotHelper.js +136 -0
- package/lib/commonjs/features/journey/scrollContext.js +154 -0
- package/lib/commonjs/features/journey/targetGeometry.js +185 -0
- package/lib/commonjs/features/journey/targetRegistry.js +53 -0
- package/lib/commonjs/features/journey/touchTarget.js +249 -0
- package/lib/commonjs/features/journey/uiState.js +188 -0
- package/lib/commonjs/features/navigation/AutoScreenDetector.js +607 -0
- package/lib/commonjs/features/network/NetworkFeature.js +216 -0
- package/lib/commonjs/features/network/index.js +23 -0
- package/lib/commonjs/features/network/thirdParty.js +151 -0
- package/lib/commonjs/features/ota/OtaEventEmitter.js +129 -0
- package/lib/commonjs/features/ota/OtaOrchestrator.js +1309 -0
- package/lib/commonjs/features/ota/OtaTypes.js +6 -0
- package/lib/commonjs/features/ota/deviceAttributes.js +48 -0
- package/lib/commonjs/features/ota/environment.js +172 -0
- package/lib/commonjs/features/ota/geoCountry.js +93 -0
- package/lib/commonjs/features/ota/retry.js +96 -0
- package/lib/commonjs/features/ota/signedDownload.js +187 -0
- package/lib/commonjs/features/ota/useOtaUpdate.js +106 -0
- package/lib/commonjs/features/performance/PerformanceFeature.js +649 -0
- package/lib/commonjs/features/performance/collectors/AppLaunchCollector.js +122 -0
- package/lib/commonjs/features/performance/collectors/AutoScreenLoadCollector.js +232 -0
- package/lib/commonjs/features/performance/collectors/CustomTraceCollector.js +99 -0
- package/lib/commonjs/features/performance/collectors/FrameMetricsCollector.js +184 -0
- package/lib/commonjs/features/performance/collectors/JsStallCollector.js +165 -0
- package/lib/commonjs/features/performance/collectors/NetworkPerfCollector.js +59 -0
- package/lib/commonjs/features/performance/collectors/ScreenLoadCollector.js +78 -0
- package/lib/commonjs/features/performance/collectors/UiHangCollector.js +78 -0
- package/lib/commonjs/features/performance/config.js +58 -0
- package/lib/commonjs/features/performance/getNativePerformanceModule.js +44 -0
- package/lib/commonjs/features/performance/index.js +58 -0
- package/lib/commonjs/features/performance/metrics/MetricsEngine.js +148 -0
- package/lib/commonjs/features/performance/models.js +48 -0
- package/lib/commonjs/features/performance/transport/PerformanceTransport.js +168 -0
- package/lib/commonjs/features/profiler/ProfilerFeature.js +600 -0
- package/lib/commonjs/features/profiler/config.js +151 -0
- package/lib/commonjs/features/profiler/contracts.js +62 -0
- package/lib/commonjs/features/profiler/index.js +40 -0
- package/lib/commonjs/features/profiler/models.js +112 -0
- package/lib/commonjs/features/profiler/transport/ProfilerTransport.js +94 -0
- package/lib/commonjs/features/replay/bridge/adapters/bridgeAdapter.js +203 -0
- package/lib/commonjs/features/replay/bridge/eventEmitter.js +128 -0
- package/lib/commonjs/features/replay/bridge/nativeModule.js +95 -0
- package/lib/commonjs/features/replay/bridge/nativeQuota.js +121 -0
- package/lib/commonjs/features/replay/core/clock/clock.js +47 -0
- package/lib/commonjs/features/replay/core/config/defaults.js +88 -0
- package/lib/commonjs/features/replay/core/config/validator.js +109 -0
- package/lib/commonjs/features/replay/core/env/environmentDetector.js +28 -0
- package/lib/commonjs/features/replay/core/errors/safeCall.js +42 -0
- package/lib/commonjs/features/replay/core/ids/sessionId.js +53 -0
- package/lib/commonjs/features/replay/core/logger/logger.js +36 -0
- package/lib/commonjs/features/replay/core/privacy/privacyTypes.js +34 -0
- package/lib/commonjs/features/replay/core/queue/boundedQueue.js +71 -0
- package/lib/commonjs/features/replay/integrations/alert/alertInstrumentation.js +259 -0
- package/lib/commonjs/features/replay/integrations/logs/consoleIntegration.js +139 -0
- package/lib/commonjs/features/replay/integrations/network/networkAdapter.js +77 -0
- package/lib/commonjs/features/replay/integrations/react-navigation/navigationIntegration.js +88 -0
- package/lib/commonjs/features/replay/integrations/touch/ReplayRoot.js +103 -0
- package/lib/commonjs/features/replay/pipeline/batching/batchManager.js +119 -0
- package/lib/commonjs/features/replay/pipeline/envelope/envelopeBuilder.js +52 -0
- package/lib/commonjs/features/replay/pipeline/retry/retryPolicy.js +53 -0
- package/lib/commonjs/features/replay/pipeline/transport/transportTypes.js +67 -0
- package/lib/commonjs/features/replay/public/api.js +336 -0
- package/lib/commonjs/features/replay/public/enums.js +85 -0
- package/lib/commonjs/features/replay/public/types.js +6 -0
- package/lib/commonjs/features/replay/replay/breadcrumbs/breadcrumbCollector.js +119 -0
- package/lib/commonjs/features/replay/replay/frames/frameModels.js +40 -0
- package/lib/commonjs/features/replay/replay/session/sessionOrchestrator.js +279 -0
- package/lib/commonjs/features/replay/replay/timeline/timelineModels.js +120 -0
- package/lib/commonjs/features/replay/transport/BackendReplayTransport.js +175 -0
- package/lib/commonjs/features/replay/transport/CompositeReplayTransport.js +75 -0
- package/lib/commonjs/features/replay/transport/DesktopReplayTransport.js +124 -0
- package/lib/commonjs/features/replay/transport/ReplayTransport.js +2 -0
- package/lib/commonjs/features/session/BackendSessionAdapter.js +1915 -0
- package/lib/commonjs/features/session/DesktopSessionTransport.js +124 -0
- package/lib/commonjs/features/session/JourneyEventPipeline.js +244 -0
- package/lib/commonjs/features/session/ReplayCaptureManager.js +1253 -0
- package/lib/commonjs/features/session/ScrollTracker.js +147 -0
- package/lib/commonjs/features/session/SessionManager.js +1448 -0
- package/lib/commonjs/features/session/SyncDecisionEngine.js +95 -0
- package/lib/commonjs/features/session/frameLink.js +36 -0
- package/lib/commonjs/features/session/frameScrollState.js +41 -0
- package/lib/commonjs/features/session/index.js +84 -0
- package/lib/commonjs/features/session/nativeCapture.js +53 -0
- package/lib/commonjs/features/session/outboxFrameCapture.js +83 -0
- package/lib/commonjs/features/session/sessionTypes.js +230 -0
- package/lib/commonjs/features/session/viewportPlausibility.js +143 -0
- package/lib/commonjs/features/skan/skanBridge.js +54 -0
- package/lib/commonjs/features/skan/skanConversionManager.js +134 -0
- package/lib/commonjs/index.js +267 -0
- package/lib/commonjs/integrations/fetch/fetchInterceptor.js +174 -0
- package/lib/commonjs/integrations/navigation/screenTracker.js +2 -0
- package/lib/commonjs/integrations/network/bodyCapture.js +336 -0
- package/lib/commonjs/integrations/xhr/xhrInterceptor.js +224 -0
- package/lib/commonjs/metro/composeSourceMap.js +105 -0
- package/lib/commonjs/metro/featureModules.js +131 -0
- package/lib/commonjs/metro/index.js +230 -0
- package/lib/commonjs/metro/optionalDependencyStub.js +6 -0
- package/lib/commonjs/metro/optionalModules.js +31 -0
- package/lib/commonjs/metro/serializerCompose.js +161 -0
- package/lib/commonjs/pipeline/dispatcher/dispatcher.js +28 -0
- package/lib/commonjs/pipeline/envelope/envelope.js +17 -0
- package/lib/commonjs/pipeline/envelope/serializer.js +14 -0
- package/lib/commonjs/pipeline/processors/dedupe.js +2 -0
- package/lib/commonjs/pipeline/processors/enrich.js +16 -0
- package/lib/commonjs/pipeline/processors/sampling.js +2 -0
- package/lib/commonjs/pipeline/processors/sanitize.js +28 -0
- package/lib/commonjs/pipeline/queue/flushQueue.js +107 -0
- package/lib/commonjs/pipeline/queue/memoryQueue.js +31 -0
- package/lib/commonjs/pipeline/queue/persistentQueue.js +342 -0
- package/lib/commonjs/pipeline/queue/queuePolicy.js +2 -0
- package/lib/commonjs/pipeline/scheduler/flushScheduler.js +45 -0
- package/lib/commonjs/pipeline/scheduler/retryPolicy.js +15 -0
- package/lib/commonjs/public/ScaleBunErrorBoundary.js +91 -0
- package/lib/commonjs/public/ScaleBunFacade.js +2044 -0
- package/lib/commonjs/public/ScaleBunProvider.js +62 -0
- package/lib/commonjs/public/typedTracker.js +79 -0
- package/lib/commonjs/public/types.js +6 -0
- package/lib/commonjs/push/PushManager.js +270 -0
- package/lib/commonjs/push/adapters/ManualAdapter.js +86 -0
- package/lib/commonjs/push/adapters/NativeBridgeAdapter.js +131 -0
- package/lib/commonjs/push/adapters/NoopAdapter.js +45 -0
- package/lib/commonjs/push/adapters/RNFirebaseMessagingAdapter.js +248 -0
- package/lib/commonjs/push/adapters/loadMessaging.js +29 -0
- package/lib/commonjs/push/adapters/loadNotifee.js +36 -0
- package/lib/commonjs/push/adapters/selectAdapter.js +153 -0
- package/lib/commonjs/push/detect/capabilities.js +136 -0
- package/lib/commonjs/push/index.js +33 -0
- package/lib/commonjs/push/native/nativeNotifications.js +168 -0
- package/lib/commonjs/push/types.js +2 -0
- package/lib/commonjs/specs/NativeReplaySdk.js +28 -0
- package/lib/commonjs/specs/NativeScaleBunCrash.js +30 -0
- package/lib/commonjs/specs/NativeScaleBunInstallReferrer.js +24 -0
- package/lib/commonjs/specs/NativeScaleBunOta.js +32 -0
- package/lib/commonjs/specs/NativeScaleBunPerformance.js +25 -0
- package/lib/commonjs/specs/NativeScaleBunProfiler.js +26 -0
- package/lib/commonjs/specs/NativeScaleBunStorage.js +40 -0
- package/lib/commonjs/storage/StorageBackend.js +240 -0
- package/lib/commonjs/storage/db/sqlite.js +2 -0
- package/lib/commonjs/storage/files/fileStore.js +2 -0
- package/lib/commonjs/transport/auth/sdkSession.js +28 -0
- package/lib/commonjs/transport/backoff/exponentialJitter.js +16 -0
- package/lib/commonjs/transport/http/endpoints.js +46 -0
- package/lib/commonjs/transport/http/httpClient.js +72 -0
- package/lib/commonjs/transport/rateLimit/retryAfter.js +2 -0
- package/lib/commonjs/transport/signing/requestSigner.js +2 -0
- package/lib/commonjs/vendor/protocol/index.js +327 -0
- package/lib/commonjs/vendor/protocol/internal/validation.js +429 -0
- package/lib/commonjs/vendor/sdk-contracts/bridge.js +2 -0
- package/lib/commonjs/vendor/sdk-contracts/config.js +2 -0
- package/lib/commonjs/vendor/sdk-contracts/events.js +2 -0
- package/lib/commonjs/vendor/sdk-contracts/features.js +2 -0
- package/lib/commonjs/vendor/sdk-contracts/index.js +2 -0
- package/lib/commonjs/vendor/sdk-contracts/platform.js +2 -0
- package/lib/commonjs/vendor/sdk-contracts/session-boundary.js +6 -0
- package/lib/commonjs/vendor/sdk-contracts/session.js +2 -0
- package/lib/commonjs/vendor/vendor.manifest +10 -0
- package/lib/module/analytics/EventTracker.js +592 -0
- package/lib/module/analytics/automaticEvents.js +63 -0
- package/lib/module/analytics/batching.js +55 -0
- package/lib/module/analytics/eventLane.js +47 -0
- package/lib/module/analytics/revenue.js +117 -0
- package/lib/module/analytics/subscription.js +86 -0
- package/lib/module/bootstrap/FeatureRegistry.js +79 -0
- package/lib/module/bootstrap/SDKBootstrapper.js +742 -0
- package/lib/module/bucketing/fnv1a32.js +37 -0
- package/lib/module/compat/codepush.js +147 -0
- package/lib/module/config/ConfigManager.js +230 -0
- package/lib/module/config/configTypes.js +10 -0
- package/lib/module/config/otaPolicyState.js +76 -0
- package/lib/module/config/quotaState.js +423 -0
- package/lib/module/core/architecture.js +38 -0
- package/lib/module/core/clock/now.js +7 -0
- package/lib/module/core/config/defaults.js +2 -0
- package/lib/module/core/config/schema.js +506 -0
- package/lib/module/core/constants/endpoints.js +13 -0
- package/lib/module/core/constants/protocol.js +25 -0
- package/lib/module/core/constants/timings.js +26 -0
- package/lib/module/core/constants/version.js +12 -0
- package/lib/module/core/context/app.js +2 -0
- package/lib/module/core/context/device.js +143 -0
- package/lib/module/core/context/session.js +2 -0
- package/lib/module/core/context/user.js +2 -0
- package/lib/module/core/contracts/IFeature.js +2 -0
- package/lib/module/core/di/container.js +22 -0
- package/lib/module/core/encoding/base64.js +44 -0
- package/lib/module/core/id/deviceId.js +45 -0
- package/lib/module/core/id/installationId.js +50 -0
- package/lib/module/core/id/sessionId.js +2 -0
- package/lib/module/core/lifecycle/appLifecycle.js +25 -0
- package/lib/module/core/lifecycle/crashSafe.js +26 -0
- package/lib/module/core/logger/errorClassification.js +96 -0
- package/lib/module/core/logger/internalLogger.js +59 -0
- package/lib/module/core/logger/levels.js +2 -0
- package/lib/module/crypto/hmacSha256.js +126 -0
- package/lib/module/debug/bootstrap.js +393 -0
- package/lib/module/debug/commands.js +726 -0
- package/lib/module/debug/configBuilder.js +63 -0
- package/lib/module/debug/exportBridge.js +148 -0
- package/lib/module/debug/hostResolver.js +37 -0
- package/lib/module/debug/index.js +13 -0
- package/lib/module/debug/metrics.js +33 -0
- package/lib/module/debug/perf.js +180 -0
- package/lib/module/debug/perfWiring.js +102 -0
- package/lib/module/debug/protocol.js +19 -0
- package/lib/module/debug/redaction.js +411 -0
- package/lib/module/debug/replayWiring.js +139 -0
- package/lib/module/debug/screenTracking.js +53 -0
- package/lib/module/debug/sessionWiring.js +43 -0
- package/lib/module/debug/stream.js +536 -0
- package/lib/module/debug/transport.js +362 -0
- package/lib/module/features/bugreport/BugReportFeature.js +105 -0
- package/lib/module/features/bugreport/buildPayload.js +91 -0
- package/lib/module/features/bugreport/index.js +2 -0
- package/lib/module/features/crash/CrashFeature.js +79 -0
- package/lib/module/features/crash/CrashReporter.js +151 -0
- package/lib/module/features/crash/NativeCrashFeature.js +36 -0
- package/lib/module/features/crash/capture.js +42 -0
- package/lib/module/features/crash/globalHandler.js +36 -0
- package/lib/module/features/crash/index.js +8 -0
- package/lib/module/features/crash/nativeCrashBridge.js +350 -0
- package/lib/module/features/crash/rejectionHandler.js +171 -0
- package/lib/module/features/crash/scrubCrash.js +149 -0
- package/lib/module/features/engage/EngageAnchor.js +121 -0
- package/lib/module/features/engage/EngageArchetypeRenderers.js +4264 -0
- package/lib/module/features/engage/EngageInAppView.js +2656 -0
- package/lib/module/features/engage/EngageInlinePlacement.js +123 -0
- package/lib/module/features/engage/EngagePromptProvider.js +1054 -0
- package/lib/module/features/engage/EngagePromptView.js +1243 -0
- package/lib/module/features/engage/EngageTransport.js +602 -0
- package/lib/module/features/engage/EngageVariantContent.js +1771 -0
- package/lib/module/features/engage/__test-support__/reactNativeStub.js +52 -0
- package/lib/module/features/engage/attachmentCapture.js +42 -0
- package/lib/module/features/engage/captureVoiceAttachment.js +80 -0
- package/lib/module/features/engage/engageCoachmarkTour.js +94 -0
- package/lib/module/features/engage/engageGameLogic.js +287 -0
- package/lib/module/features/engage/engageMediaSizing.js +51 -0
- package/lib/module/features/engage/engageMultiStepSheet.js +35 -0
- package/lib/module/features/engage/engageOutcome.js +108 -0
- package/lib/module/features/engage/engagePushTokenBridge.js +65 -0
- package/lib/module/features/engage/engageShakeBridge.js +56 -0
- package/lib/module/features/engage/engageSignals.js +34 -0
- package/lib/module/features/engage/engageStoreReviewBridge.js +43 -0
- package/lib/module/features/engage/engageTestSeenStore.js +92 -0
- package/lib/module/features/engage/engageThrottle.js +390 -0
- package/lib/module/features/engage/engageTriggerEngine.js +360 -0
- package/lib/module/features/engage/engageTypes.js +110 -0
- package/lib/module/features/engage/engageVariantResolver.js +135 -0
- package/lib/module/features/engage/engageWindowInsets.js +89 -0
- package/lib/module/features/engage/gestureTriggerDetector.js +80 -0
- package/lib/module/features/engage/transcription/TranscriptionProvider.js +46 -0
- package/lib/module/features/install-referrer/installReferrer.js +104 -0
- package/lib/module/features/journey/ScaleBunDebugRoot.js +1030 -0
- package/lib/module/features/journey/ScaleBunFlatList.js +32 -0
- package/lib/module/features/journey/ScaleBunImpression.js +105 -0
- package/lib/module/features/journey/ScaleBunScrollView.js +95 -0
- package/lib/module/features/journey/ScaleBunSectionList.js +32 -0
- package/lib/module/features/journey/autoInstrumentScroll.js +155 -0
- package/lib/module/features/journey/calibrationContext.js +35 -0
- package/lib/module/features/journey/gestureBuffer.js +56 -0
- package/lib/module/features/journey/gestureDetector.js +169 -0
- package/lib/module/features/journey/impression.js +84 -0
- package/lib/module/features/journey/interactionProtocol.js +158 -0
- package/lib/module/features/journey/journeyManager.js +459 -0
- package/lib/module/features/journey/journeyTypes.js +49 -0
- package/lib/module/features/journey/nativeScroll.js +77 -0
- package/lib/module/features/journey/navDetector.js +154 -0
- package/lib/module/features/journey/screenshotHelper.js +129 -0
- package/lib/module/features/journey/scrollContext.js +142 -0
- package/lib/module/features/journey/targetGeometry.js +175 -0
- package/lib/module/features/journey/targetRegistry.js +44 -0
- package/lib/module/features/journey/touchTarget.js +241 -0
- package/lib/module/features/journey/uiState.js +176 -0
- package/lib/module/features/navigation/AutoScreenDetector.js +601 -0
- package/lib/module/features/network/NetworkFeature.js +209 -0
- package/lib/module/features/network/index.js +17 -0
- package/lib/module/features/network/thirdParty.js +142 -0
- package/lib/module/features/ota/OtaEventEmitter.js +123 -0
- package/lib/module/features/ota/OtaOrchestrator.js +1302 -0
- package/lib/module/features/ota/OtaTypes.js +2 -0
- package/lib/module/features/ota/deviceAttributes.js +43 -0
- package/lib/module/features/ota/environment.js +165 -0
- package/lib/module/features/ota/geoCountry.js +86 -0
- package/lib/module/features/ota/retry.js +87 -0
- package/lib/module/features/ota/signedDownload.js +174 -0
- package/lib/module/features/ota/useOtaUpdate.js +100 -0
- package/lib/module/features/performance/PerformanceFeature.js +643 -0
- package/lib/module/features/performance/collectors/AppLaunchCollector.js +115 -0
- package/lib/module/features/performance/collectors/AutoScreenLoadCollector.js +225 -0
- package/lib/module/features/performance/collectors/CustomTraceCollector.js +92 -0
- package/lib/module/features/performance/collectors/FrameMetricsCollector.js +177 -0
- package/lib/module/features/performance/collectors/JsStallCollector.js +158 -0
- package/lib/module/features/performance/collectors/NetworkPerfCollector.js +52 -0
- package/lib/module/features/performance/collectors/ScreenLoadCollector.js +71 -0
- package/lib/module/features/performance/collectors/UiHangCollector.js +71 -0
- package/lib/module/features/performance/config.js +51 -0
- package/lib/module/features/performance/getNativePerformanceModule.js +39 -0
- package/lib/module/features/performance/index.js +9 -0
- package/lib/module/features/performance/metrics/MetricsEngine.js +139 -0
- package/lib/module/features/performance/models.js +42 -0
- package/lib/module/features/performance/transport/PerformanceTransport.js +162 -0
- package/lib/module/features/profiler/ProfilerFeature.js +594 -0
- package/lib/module/features/profiler/config.js +143 -0
- package/lib/module/features/profiler/contracts.js +56 -0
- package/lib/module/features/profiler/index.js +11 -0
- package/lib/module/features/profiler/models.js +106 -0
- package/lib/module/features/profiler/transport/ProfilerTransport.js +87 -0
- package/lib/module/features/replay/bridge/adapters/bridgeAdapter.js +198 -0
- package/lib/module/features/replay/bridge/eventEmitter.js +122 -0
- package/lib/module/features/replay/bridge/nativeModule.js +89 -0
- package/lib/module/features/replay/bridge/nativeQuota.js +109 -0
- package/lib/module/features/replay/core/clock/clock.js +37 -0
- package/lib/module/features/replay/core/config/defaults.js +82 -0
- package/lib/module/features/replay/core/config/validator.js +103 -0
- package/lib/module/features/replay/core/env/environmentDetector.js +22 -0
- package/lib/module/features/replay/core/errors/safeCall.js +35 -0
- package/lib/module/features/replay/core/ids/sessionId.js +44 -0
- package/lib/module/features/replay/core/logger/logger.js +29 -0
- package/lib/module/features/replay/core/privacy/privacyTypes.js +27 -0
- package/lib/module/features/replay/core/queue/boundedQueue.js +64 -0
- package/lib/module/features/replay/integrations/alert/alertInstrumentation.js +252 -0
- package/lib/module/features/replay/integrations/logs/consoleIntegration.js +131 -0
- package/lib/module/features/replay/integrations/network/networkAdapter.js +70 -0
- package/lib/module/features/replay/integrations/react-navigation/navigationIntegration.js +82 -0
- package/lib/module/features/replay/integrations/touch/ReplayRoot.js +96 -0
- package/lib/module/features/replay/pipeline/batching/batchManager.js +113 -0
- package/lib/module/features/replay/pipeline/envelope/envelopeBuilder.js +43 -0
- package/lib/module/features/replay/pipeline/retry/retryPolicy.js +45 -0
- package/lib/module/features/replay/pipeline/transport/transportTypes.js +60 -0
- package/lib/module/features/replay/public/api.js +332 -0
- package/lib/module/features/replay/public/enums.js +85 -0
- package/lib/module/features/replay/public/types.js +2 -0
- package/lib/module/features/replay/replay/breadcrumbs/breadcrumbCollector.js +113 -0
- package/lib/module/features/replay/replay/frames/frameModels.js +33 -0
- package/lib/module/features/replay/replay/session/sessionOrchestrator.js +272 -0
- package/lib/module/features/replay/replay/timeline/timelineModels.js +108 -0
- package/lib/module/features/replay/transport/BackendReplayTransport.js +169 -0
- package/lib/module/features/replay/transport/CompositeReplayTransport.js +68 -0
- package/lib/module/features/replay/transport/DesktopReplayTransport.js +119 -0
- package/lib/module/features/replay/transport/ReplayTransport.js +2 -0
- package/lib/module/features/session/BackendSessionAdapter.js +1908 -0
- package/lib/module/features/session/DesktopSessionTransport.js +118 -0
- package/lib/module/features/session/JourneyEventPipeline.js +239 -0
- package/lib/module/features/session/ReplayCaptureManager.js +1248 -0
- package/lib/module/features/session/ScrollTracker.js +141 -0
- package/lib/module/features/session/SessionManager.js +1443 -0
- package/lib/module/features/session/SyncDecisionEngine.js +88 -0
- package/lib/module/features/session/frameLink.js +29 -0
- package/lib/module/features/session/frameScrollState.js +34 -0
- package/lib/module/features/session/index.js +35 -0
- package/lib/module/features/session/nativeCapture.js +45 -0
- package/lib/module/features/session/outboxFrameCapture.js +77 -0
- package/lib/module/features/session/sessionTypes.js +226 -0
- package/lib/module/features/session/viewportPlausibility.js +137 -0
- package/lib/module/features/skan/skanBridge.js +48 -0
- package/lib/module/features/skan/skanConversionManager.js +128 -0
- package/lib/module/index.js +80 -0
- package/lib/module/integrations/fetch/fetchInterceptor.js +169 -0
- package/lib/module/integrations/navigation/screenTracker.js +2 -0
- package/lib/module/integrations/network/bodyCapture.js +320 -0
- package/lib/module/integrations/xhr/xhrInterceptor.js +219 -0
- package/lib/module/metro/composeSourceMap.js +97 -0
- package/lib/module/metro/featureModules.js +123 -0
- package/lib/module/metro/index.js +218 -0
- package/lib/module/metro/optionalDependencyStub.js +14 -0
- package/lib/module/metro/optionalModules.js +25 -0
- package/lib/module/metro/serializerCompose.js +152 -0
- package/lib/module/pipeline/dispatcher/dispatcher.js +21 -0
- package/lib/module/pipeline/envelope/envelope.js +11 -0
- package/lib/module/pipeline/envelope/serializer.js +8 -0
- package/lib/module/pipeline/processors/dedupe.js +2 -0
- package/lib/module/pipeline/processors/enrich.js +10 -0
- package/lib/module/pipeline/processors/sampling.js +2 -0
- package/lib/module/pipeline/processors/sanitize.js +22 -0
- package/lib/module/pipeline/queue/flushQueue.js +102 -0
- package/lib/module/pipeline/queue/memoryQueue.js +24 -0
- package/lib/module/pipeline/queue/persistentQueue.js +336 -0
- package/lib/module/pipeline/queue/queuePolicy.js +2 -0
- package/lib/module/pipeline/scheduler/flushScheduler.js +38 -0
- package/lib/module/pipeline/scheduler/retryPolicy.js +9 -0
- package/lib/module/public/ScaleBunErrorBoundary.js +82 -0
- package/lib/module/public/ScaleBunFacade.js +2038 -0
- package/lib/module/public/ScaleBunProvider.js +54 -0
- package/lib/module/public/typedTracker.js +72 -0
- package/lib/module/public/types.js +2 -0
- package/lib/module/push/PushManager.js +263 -0
- package/lib/module/push/adapters/ManualAdapter.js +79 -0
- package/lib/module/push/adapters/NativeBridgeAdapter.js +124 -0
- package/lib/module/push/adapters/NoopAdapter.js +38 -0
- package/lib/module/push/adapters/RNFirebaseMessagingAdapter.js +241 -0
- package/lib/module/push/adapters/loadMessaging.js +23 -0
- package/lib/module/push/adapters/loadNotifee.js +30 -0
- package/lib/module/push/adapters/selectAdapter.js +147 -0
- package/lib/module/push/detect/capabilities.js +130 -0
- package/lib/module/push/index.js +9 -0
- package/lib/module/push/native/nativeNotifications.js +155 -0
- package/lib/module/push/types.js +2 -0
- package/lib/module/specs/NativeReplaySdk.js +24 -0
- package/lib/module/specs/NativeScaleBunCrash.js +26 -0
- package/lib/module/specs/NativeScaleBunInstallReferrer.js +20 -0
- package/lib/module/specs/NativeScaleBunOta.js +28 -0
- package/lib/module/specs/NativeScaleBunPerformance.js +21 -0
- package/lib/module/specs/NativeScaleBunProfiler.js +22 -0
- package/lib/module/specs/NativeScaleBunStorage.js +36 -0
- package/lib/module/storage/StorageBackend.js +231 -0
- package/lib/module/storage/db/sqlite.js +2 -0
- package/lib/module/storage/files/fileStore.js +2 -0
- package/lib/module/transport/auth/sdkSession.js +21 -0
- package/lib/module/transport/backoff/exponentialJitter.js +10 -0
- package/lib/module/transport/http/endpoints.js +40 -0
- package/lib/module/transport/http/httpClient.js +64 -0
- package/lib/module/transport/rateLimit/retryAfter.js +2 -0
- package/lib/module/transport/signing/requestSigner.js +2 -0
- package/lib/module/vendor/protocol/index.js +312 -0
- package/lib/module/vendor/protocol/internal/validation.js +423 -0
- package/lib/module/vendor/sdk-contracts/bridge.js +2 -0
- package/lib/module/vendor/sdk-contracts/config.js +2 -0
- package/lib/module/vendor/sdk-contracts/events.js +2 -0
- package/lib/module/vendor/sdk-contracts/features.js +2 -0
- package/lib/module/vendor/sdk-contracts/index.js +2 -0
- package/lib/module/vendor/sdk-contracts/platform.js +2 -0
- package/lib/module/vendor/sdk-contracts/session-boundary.js +2 -0
- package/lib/module/vendor/sdk-contracts/session.js +2 -0
- package/lib/module/vendor/vendor.manifest +10 -0
- package/lib/typescript/analytics/EventTracker.d.ts +197 -0
- package/lib/typescript/analytics/automaticEvents.d.ts +30 -0
- package/lib/typescript/analytics/batching.d.ts +33 -0
- package/lib/typescript/analytics/eventLane.d.ts +22 -0
- package/lib/typescript/analytics/revenue.d.ts +94 -0
- package/lib/typescript/analytics/subscription.d.ts +35 -0
- package/lib/typescript/bootstrap/FeatureRegistry.d.ts +36 -0
- package/lib/typescript/bootstrap/SDKBootstrapper.d.ts +82 -0
- package/lib/typescript/bucketing/fnv1a32.d.ts +20 -0
- package/lib/typescript/compat/codepush.d.ts +76 -0
- package/lib/typescript/config/ConfigManager.d.ts +82 -0
- package/lib/typescript/config/configTypes.d.ts +73 -0
- package/lib/typescript/config/otaPolicyState.d.ts +55 -0
- package/lib/typescript/config/quotaState.d.ts +155 -0
- package/lib/typescript/core/architecture.d.ts +29 -0
- package/lib/typescript/core/clock/now.d.ts +5 -0
- package/lib/typescript/core/config/defaults.d.ts +1 -0
- package/lib/typescript/core/config/schema.d.ts +107 -0
- package/lib/typescript/core/constants/endpoints.d.ts +13 -0
- package/lib/typescript/core/constants/protocol.d.ts +23 -0
- package/lib/typescript/core/constants/timings.d.ts +22 -0
- package/lib/typescript/core/constants/version.d.ts +12 -0
- package/lib/typescript/core/context/app.d.ts +1 -0
- package/lib/typescript/core/context/device.d.ts +61 -0
- package/lib/typescript/core/context/session.d.ts +1 -0
- package/lib/typescript/core/context/user.d.ts +24 -0
- package/lib/typescript/core/contracts/IFeature.d.ts +44 -0
- package/lib/typescript/core/di/container.d.ts +9 -0
- package/lib/typescript/core/encoding/base64.d.ts +13 -0
- package/lib/typescript/core/id/deviceId.d.ts +9 -0
- package/lib/typescript/core/id/installationId.d.ts +20 -0
- package/lib/typescript/core/id/sessionId.d.ts +1 -0
- package/lib/typescript/core/lifecycle/appLifecycle.d.ts +14 -0
- package/lib/typescript/core/lifecycle/crashSafe.d.ts +7 -0
- package/lib/typescript/core/logger/errorClassification.d.ts +46 -0
- package/lib/typescript/core/logger/internalLogger.d.ts +24 -0
- package/lib/typescript/core/logger/levels.d.ts +1 -0
- package/lib/typescript/crypto/hmacSha256.d.ts +10 -0
- package/lib/typescript/debug/bootstrap.d.ts +148 -0
- package/lib/typescript/debug/commands.d.ts +77 -0
- package/lib/typescript/debug/configBuilder.d.ts +13 -0
- package/lib/typescript/debug/exportBridge.d.ts +27 -0
- package/lib/typescript/debug/hostResolver.d.ts +14 -0
- package/lib/typescript/debug/index.d.ts +12 -0
- package/lib/typescript/debug/metrics.d.ts +2 -0
- package/lib/typescript/debug/perf.d.ts +43 -0
- package/lib/typescript/debug/perfWiring.d.ts +33 -0
- package/lib/typescript/debug/protocol.d.ts +15 -0
- package/lib/typescript/debug/redaction.d.ts +69 -0
- package/lib/typescript/debug/replayWiring.d.ts +25 -0
- package/lib/typescript/debug/screenTracking.d.ts +16 -0
- package/lib/typescript/debug/sessionWiring.d.ts +16 -0
- package/lib/typescript/debug/stream.d.ts +77 -0
- package/lib/typescript/debug/transport.d.ts +110 -0
- package/lib/typescript/features/bugreport/BugReportFeature.d.ts +59 -0
- package/lib/typescript/features/bugreport/buildPayload.d.ts +51 -0
- package/lib/typescript/features/bugreport/index.d.ts +1 -0
- package/lib/typescript/features/crash/CrashFeature.d.ts +21 -0
- package/lib/typescript/features/crash/CrashReporter.d.ts +107 -0
- package/lib/typescript/features/crash/NativeCrashFeature.d.ts +17 -0
- package/lib/typescript/features/crash/capture.d.ts +22 -0
- package/lib/typescript/features/crash/globalHandler.d.ts +14 -0
- package/lib/typescript/features/crash/index.d.ts +2 -0
- package/lib/typescript/features/crash/nativeCrashBridge.d.ts +43 -0
- package/lib/typescript/features/crash/rejectionHandler.d.ts +65 -0
- package/lib/typescript/features/crash/scrubCrash.d.ts +35 -0
- package/lib/typescript/features/engage/EngageAnchor.d.ts +36 -0
- package/lib/typescript/features/engage/EngageArchetypeRenderers.d.ts +66 -0
- package/lib/typescript/features/engage/EngageInAppView.d.ts +164 -0
- package/lib/typescript/features/engage/EngageInlinePlacement.d.ts +42 -0
- package/lib/typescript/features/engage/EngagePromptProvider.d.ts +233 -0
- package/lib/typescript/features/engage/EngagePromptView.d.ts +97 -0
- package/lib/typescript/features/engage/EngageTransport.d.ts +158 -0
- package/lib/typescript/features/engage/EngageVariantContent.d.ts +12 -0
- package/lib/typescript/features/engage/attachmentCapture.d.ts +17 -0
- package/lib/typescript/features/engage/captureVoiceAttachment.d.ts +31 -0
- package/lib/typescript/features/engage/engageCoachmarkTour.d.ts +18 -0
- package/lib/typescript/features/engage/engageGameLogic.d.ts +34 -0
- package/lib/typescript/features/engage/engageMediaSizing.d.ts +23 -0
- package/lib/typescript/features/engage/engageMultiStepSheet.d.ts +25 -0
- package/lib/typescript/features/engage/engageOutcome.d.ts +38 -0
- package/lib/typescript/features/engage/engagePushTokenBridge.d.ts +30 -0
- package/lib/typescript/features/engage/engageShakeBridge.d.ts +20 -0
- package/lib/typescript/features/engage/engageSignals.d.ts +13 -0
- package/lib/typescript/features/engage/engageStoreReviewBridge.d.ts +23 -0
- package/lib/typescript/features/engage/engageTestSeenStore.d.ts +46 -0
- package/lib/typescript/features/engage/engageThrottle.d.ts +180 -0
- package/lib/typescript/features/engage/engageTriggerEngine.d.ts +16 -0
- package/lib/typescript/features/engage/engageTypes.d.ts +576 -0
- package/lib/typescript/features/engage/engageVariantResolver.d.ts +46 -0
- package/lib/typescript/features/engage/engageWindowInsets.d.ts +25 -0
- package/lib/typescript/features/engage/gestureTriggerDetector.d.ts +20 -0
- package/lib/typescript/features/engage/transcription/TranscriptionProvider.d.ts +51 -0
- package/lib/typescript/features/install-referrer/installReferrer.d.ts +39 -0
- package/lib/typescript/features/journey/ScaleBunDebugRoot.d.ts +49 -0
- package/lib/typescript/features/journey/ScaleBunFlatList.d.ts +20 -0
- package/lib/typescript/features/journey/ScaleBunImpression.d.ts +30 -0
- package/lib/typescript/features/journey/ScaleBunScrollView.d.ts +25 -0
- package/lib/typescript/features/journey/ScaleBunSectionList.d.ts +20 -0
- package/lib/typescript/features/journey/autoInstrumentScroll.d.ts +46 -0
- package/lib/typescript/features/journey/calibrationContext.d.ts +26 -0
- package/lib/typescript/features/journey/gestureBuffer.d.ts +27 -0
- package/lib/typescript/features/journey/gestureDetector.d.ts +40 -0
- package/lib/typescript/features/journey/impression.d.ts +48 -0
- package/lib/typescript/features/journey/interactionProtocol.d.ts +159 -0
- package/lib/typescript/features/journey/journeyManager.d.ts +62 -0
- package/lib/typescript/features/journey/journeyTypes.d.ts +161 -0
- package/lib/typescript/features/journey/nativeScroll.d.ts +47 -0
- package/lib/typescript/features/journey/navDetector.d.ts +42 -0
- package/lib/typescript/features/journey/screenshotHelper.d.ts +33 -0
- package/lib/typescript/features/journey/scrollContext.d.ts +49 -0
- package/lib/typescript/features/journey/targetGeometry.d.ts +126 -0
- package/lib/typescript/features/journey/targetRegistry.d.ts +28 -0
- package/lib/typescript/features/journey/touchTarget.d.ts +174 -0
- package/lib/typescript/features/journey/uiState.d.ts +93 -0
- package/lib/typescript/features/navigation/AutoScreenDetector.d.ts +196 -0
- package/lib/typescript/features/network/NetworkFeature.d.ts +43 -0
- package/lib/typescript/features/network/index.d.ts +46 -0
- package/lib/typescript/features/network/thirdParty.d.ts +95 -0
- package/lib/typescript/features/ota/OtaEventEmitter.d.ts +93 -0
- package/lib/typescript/features/ota/OtaOrchestrator.d.ts +287 -0
- package/lib/typescript/features/ota/OtaTypes.d.ts +193 -0
- package/lib/typescript/features/ota/deviceAttributes.d.ts +18 -0
- package/lib/typescript/features/ota/environment.d.ts +99 -0
- package/lib/typescript/features/ota/geoCountry.d.ts +14 -0
- package/lib/typescript/features/ota/retry.d.ts +53 -0
- package/lib/typescript/features/ota/signedDownload.d.ts +81 -0
- package/lib/typescript/features/ota/useOtaUpdate.d.ts +72 -0
- package/lib/typescript/features/performance/PerformanceFeature.d.ts +132 -0
- package/lib/typescript/features/performance/collectors/AppLaunchCollector.d.ts +27 -0
- package/lib/typescript/features/performance/collectors/AutoScreenLoadCollector.d.ts +70 -0
- package/lib/typescript/features/performance/collectors/CustomTraceCollector.d.ts +35 -0
- package/lib/typescript/features/performance/collectors/FrameMetricsCollector.d.ts +74 -0
- package/lib/typescript/features/performance/collectors/JsStallCollector.d.ts +45 -0
- package/lib/typescript/features/performance/collectors/NetworkPerfCollector.d.ts +23 -0
- package/lib/typescript/features/performance/collectors/ScreenLoadCollector.d.ts +30 -0
- package/lib/typescript/features/performance/collectors/UiHangCollector.d.ts +21 -0
- package/lib/typescript/features/performance/config.d.ts +73 -0
- package/lib/typescript/features/performance/getNativePerformanceModule.d.ts +2 -0
- package/lib/typescript/features/performance/index.d.ts +10 -0
- package/lib/typescript/features/performance/metrics/MetricsEngine.d.ts +69 -0
- package/lib/typescript/features/performance/models.d.ts +169 -0
- package/lib/typescript/features/performance/transport/PerformanceTransport.d.ts +40 -0
- package/lib/typescript/features/profiler/ProfilerFeature.d.ts +92 -0
- package/lib/typescript/features/profiler/config.d.ts +85 -0
- package/lib/typescript/features/profiler/contracts.d.ts +142 -0
- package/lib/typescript/features/profiler/index.d.ts +13 -0
- package/lib/typescript/features/profiler/models.d.ts +332 -0
- package/lib/typescript/features/profiler/transport/ProfilerTransport.d.ts +30 -0
- package/lib/typescript/features/replay/bridge/adapters/bridgeAdapter.d.ts +52 -0
- package/lib/typescript/features/replay/bridge/eventEmitter.d.ts +100 -0
- package/lib/typescript/features/replay/bridge/nativeModule.d.ts +166 -0
- package/lib/typescript/features/replay/bridge/nativeQuota.d.ts +26 -0
- package/lib/typescript/features/replay/core/clock/clock.d.ts +16 -0
- package/lib/typescript/features/replay/core/config/defaults.d.ts +28 -0
- package/lib/typescript/features/replay/core/config/validator.d.ts +13 -0
- package/lib/typescript/features/replay/core/env/environmentDetector.d.ts +14 -0
- package/lib/typescript/features/replay/core/errors/safeCall.d.ts +12 -0
- package/lib/typescript/features/replay/core/ids/sessionId.d.ts +15 -0
- package/lib/typescript/features/replay/core/logger/logger.d.ts +15 -0
- package/lib/typescript/features/replay/core/privacy/privacyTypes.d.ts +24 -0
- package/lib/typescript/features/replay/core/queue/boundedQueue.d.ts +29 -0
- package/lib/typescript/features/replay/integrations/alert/alertInstrumentation.d.ts +48 -0
- package/lib/typescript/features/replay/integrations/logs/consoleIntegration.d.ts +18 -0
- package/lib/typescript/features/replay/integrations/network/networkAdapter.d.ts +31 -0
- package/lib/typescript/features/replay/integrations/react-navigation/navigationIntegration.d.ts +25 -0
- package/lib/typescript/features/replay/integrations/touch/ReplayRoot.d.ts +26 -0
- package/lib/typescript/features/replay/pipeline/batching/batchManager.d.ts +47 -0
- package/lib/typescript/features/replay/pipeline/envelope/envelopeBuilder.d.ts +12 -0
- package/lib/typescript/features/replay/pipeline/retry/retryPolicy.d.ts +17 -0
- package/lib/typescript/features/replay/pipeline/transport/transportTypes.d.ts +40 -0
- package/lib/typescript/features/replay/public/api.d.ts +83 -0
- package/lib/typescript/features/replay/public/enums.d.ts +73 -0
- package/lib/typescript/features/replay/public/types.d.ts +249 -0
- package/lib/typescript/features/replay/replay/breadcrumbs/breadcrumbCollector.d.ts +26 -0
- package/lib/typescript/features/replay/replay/frames/frameModels.d.ts +23 -0
- package/lib/typescript/features/replay/replay/session/sessionOrchestrator.d.ts +53 -0
- package/lib/typescript/features/replay/replay/timeline/timelineModels.d.ts +29 -0
- package/lib/typescript/features/replay/transport/BackendReplayTransport.d.ts +45 -0
- package/lib/typescript/features/replay/transport/CompositeReplayTransport.d.ts +22 -0
- package/lib/typescript/features/replay/transport/DesktopReplayTransport.d.ts +35 -0
- package/lib/typescript/features/replay/transport/ReplayTransport.d.ts +72 -0
- package/lib/typescript/features/session/BackendSessionAdapter.d.ts +528 -0
- package/lib/typescript/features/session/DesktopSessionTransport.d.ts +28 -0
- package/lib/typescript/features/session/JourneyEventPipeline.d.ts +74 -0
- package/lib/typescript/features/session/ReplayCaptureManager.d.ts +391 -0
- package/lib/typescript/features/session/ScrollTracker.d.ts +48 -0
- package/lib/typescript/features/session/SessionManager.d.ts +414 -0
- package/lib/typescript/features/session/SyncDecisionEngine.d.ts +33 -0
- package/lib/typescript/features/session/frameLink.d.ts +27 -0
- package/lib/typescript/features/session/frameScrollState.d.ts +27 -0
- package/lib/typescript/features/session/index.d.ts +23 -0
- package/lib/typescript/features/session/nativeCapture.d.ts +18 -0
- package/lib/typescript/features/session/outboxFrameCapture.d.ts +20 -0
- package/lib/typescript/features/session/sessionTypes.d.ts +362 -0
- package/lib/typescript/features/session/viewportPlausibility.d.ts +72 -0
- package/lib/typescript/features/skan/skanBridge.d.ts +18 -0
- package/lib/typescript/features/skan/skanConversionManager.d.ts +69 -0
- package/lib/typescript/index.d.ts +59 -0
- package/lib/typescript/integrations/fetch/fetchInterceptor.d.ts +41 -0
- package/lib/typescript/integrations/navigation/screenTracker.d.ts +1 -0
- package/lib/typescript/integrations/network/bodyCapture.d.ts +101 -0
- package/lib/typescript/integrations/xhr/xhrInterceptor.d.ts +46 -0
- package/lib/typescript/metro/composeSourceMap.d.ts +26 -0
- package/lib/typescript/metro/featureModules.d.ts +49 -0
- package/lib/typescript/metro/index.d.ts +99 -0
- package/lib/typescript/metro/optionalDependencyStub.d.ts +14 -0
- package/lib/typescript/metro/optionalModules.d.ts +20 -0
- package/lib/typescript/metro/serializerCompose.d.ts +46 -0
- package/lib/typescript/pipeline/dispatcher/dispatcher.d.ts +7 -0
- package/lib/typescript/pipeline/envelope/envelope.d.ts +16 -0
- package/lib/typescript/pipeline/envelope/serializer.d.ts +7 -0
- package/lib/typescript/pipeline/processors/dedupe.d.ts +1 -0
- package/lib/typescript/pipeline/processors/enrich.d.ts +3 -0
- package/lib/typescript/pipeline/processors/sampling.d.ts +1 -0
- package/lib/typescript/pipeline/processors/sanitize.d.ts +3 -0
- package/lib/typescript/pipeline/queue/flushQueue.d.ts +12 -0
- package/lib/typescript/pipeline/queue/memoryQueue.d.ts +12 -0
- package/lib/typescript/pipeline/queue/persistentQueue.d.ts +120 -0
- package/lib/typescript/pipeline/queue/queuePolicy.d.ts +1 -0
- package/lib/typescript/pipeline/scheduler/flushScheduler.d.ts +9 -0
- package/lib/typescript/pipeline/scheduler/retryPolicy.d.ts +5 -0
- package/lib/typescript/public/ScaleBunErrorBoundary.d.ts +44 -0
- package/lib/typescript/public/ScaleBunFacade.d.ts +800 -0
- package/lib/typescript/public/ScaleBunProvider.d.ts +23 -0
- package/lib/typescript/public/typedTracker.d.ts +88 -0
- package/lib/typescript/public/types.d.ts +316 -0
- package/lib/typescript/push/PushManager.d.ts +69 -0
- package/lib/typescript/push/adapters/ManualAdapter.d.ts +40 -0
- package/lib/typescript/push/adapters/NativeBridgeAdapter.d.ts +37 -0
- package/lib/typescript/push/adapters/NoopAdapter.d.ts +21 -0
- package/lib/typescript/push/adapters/RNFirebaseMessagingAdapter.d.ts +39 -0
- package/lib/typescript/push/adapters/loadMessaging.d.ts +17 -0
- package/lib/typescript/push/adapters/loadNotifee.d.ts +15 -0
- package/lib/typescript/push/adapters/selectAdapter.d.ts +20 -0
- package/lib/typescript/push/detect/capabilities.d.ts +15 -0
- package/lib/typescript/push/index.d.ts +10 -0
- package/lib/typescript/push/native/nativeNotifications.d.ts +65 -0
- package/lib/typescript/push/types.d.ts +143 -0
- package/lib/typescript/specs/NativeReplaySdk.d.ts +69 -0
- package/lib/typescript/specs/NativeScaleBunCrash.d.ts +58 -0
- package/lib/typescript/specs/NativeScaleBunInstallReferrer.d.ts +28 -0
- package/lib/typescript/specs/NativeScaleBunOta.d.ts +141 -0
- package/lib/typescript/specs/NativeScaleBunPerformance.d.ts +31 -0
- package/lib/typescript/specs/NativeScaleBunProfiler.d.ts +38 -0
- package/lib/typescript/specs/NativeScaleBunStorage.d.ts +55 -0
- package/lib/typescript/storage/StorageBackend.d.ts +131 -0
- package/lib/typescript/storage/db/sqlite.d.ts +1 -0
- package/lib/typescript/storage/files/fileStore.d.ts +1 -0
- package/lib/typescript/transport/auth/sdkSession.d.ts +10 -0
- package/lib/typescript/transport/backoff/exponentialJitter.d.ts +5 -0
- package/lib/typescript/transport/http/endpoints.d.ts +26 -0
- package/lib/typescript/transport/http/httpClient.d.ts +23 -0
- package/lib/typescript/transport/rateLimit/retryAfter.d.ts +1 -0
- package/lib/typescript/transport/signing/requestSigner.d.ts +1 -0
- package/lib/typescript/vendor/protocol/index.d.ts +345 -0
- package/lib/typescript/vendor/protocol/internal/validation.d.ts +114 -0
- package/lib/typescript/vendor/sdk-contracts/bridge.d.ts +104 -0
- package/lib/typescript/vendor/sdk-contracts/config.d.ts +156 -0
- package/lib/typescript/vendor/sdk-contracts/events.d.ts +42 -0
- package/lib/typescript/vendor/sdk-contracts/features.d.ts +38 -0
- package/lib/typescript/vendor/sdk-contracts/index.d.ts +15 -0
- package/lib/typescript/vendor/sdk-contracts/platform.d.ts +35 -0
- package/lib/typescript/vendor/sdk-contracts/session-boundary.d.ts +42 -0
- package/lib/typescript/vendor/sdk-contracts/session.d.ts +157 -0
- package/package.json +153 -0
- package/react-native.config.js +24 -0
- package/scalebun-react-native.podspec +44 -0
- package/src/analytics/EventTracker.ts +654 -0
- package/src/analytics/automaticEvents.ts +109 -0
- package/src/analytics/batching.ts +54 -0
- package/src/analytics/eventLane.ts +48 -0
- package/src/analytics/revenue.ts +143 -0
- package/src/analytics/subscription.ts +145 -0
- package/src/bootstrap/FeatureRegistry.ts +81 -0
- package/src/bootstrap/SDKBootstrapper.ts +769 -0
- package/src/bucketing/fnv1a32.ts +40 -0
- package/src/compat/codepush.ts +189 -0
- package/src/config/ConfigManager.ts +233 -0
- package/src/config/configTypes.ts +62 -0
- package/src/config/otaPolicyState.ts +79 -0
- package/src/config/quotaState.ts +484 -0
- package/src/core/architecture.ts +39 -0
- package/src/core/clock/now.ts +6 -0
- package/src/core/config/defaults.ts +0 -0
- package/src/core/config/schema.ts +455 -0
- package/src/core/constants/endpoints.ts +12 -0
- package/src/core/constants/protocol.ts +24 -0
- package/src/core/constants/timings.ts +25 -0
- package/src/core/constants/version.ts +11 -0
- package/src/core/context/app.ts +0 -0
- package/src/core/context/device.ts +169 -0
- package/src/core/context/session.ts +0 -0
- package/src/core/context/user.ts +26 -0
- package/src/core/contracts/IFeature.ts +53 -0
- package/src/core/di/container.ts +26 -0
- package/src/core/encoding/base64.ts +46 -0
- package/src/core/id/deviceId.ts +51 -0
- package/src/core/id/installationId.ts +52 -0
- package/src/core/id/sessionId.ts +0 -0
- package/src/core/lifecycle/appLifecycle.ts +33 -0
- package/src/core/lifecycle/crashSafe.ts +29 -0
- package/src/core/logger/errorClassification.ts +108 -0
- package/src/core/logger/internalLogger.ts +65 -0
- package/src/core/logger/levels.ts +0 -0
- package/src/crypto/hmacSha256.ts +106 -0
- package/src/debug/bootstrap.ts +436 -0
- package/src/debug/commands.ts +597 -0
- package/src/debug/configBuilder.ts +56 -0
- package/src/debug/exportBridge.ts +155 -0
- package/src/debug/hostResolver.ts +34 -0
- package/src/debug/index.ts +25 -0
- package/src/debug/metrics.ts +29 -0
- package/src/debug/perf.ts +212 -0
- package/src/debug/perfWiring.ts +119 -0
- package/src/debug/protocol.ts +58 -0
- package/src/debug/redaction.ts +483 -0
- package/src/debug/replayWiring.ts +148 -0
- package/src/debug/screenTracking.ts +55 -0
- package/src/debug/sessionWiring.ts +59 -0
- package/src/debug/stream.ts +561 -0
- package/src/debug/transport.ts +440 -0
- package/src/features/bugreport/BugReportFeature.ts +128 -0
- package/src/features/bugreport/buildPayload.ts +116 -0
- package/src/features/bugreport/index.ts +0 -0
- package/src/features/crash/CrashFeature.ts +87 -0
- package/src/features/crash/CrashReporter.ts +189 -0
- package/src/features/crash/NativeCrashFeature.ts +42 -0
- package/src/features/crash/capture.ts +48 -0
- package/src/features/crash/globalHandler.ts +39 -0
- package/src/features/crash/index.ts +8 -0
- package/src/features/crash/nativeCrashBridge.ts +352 -0
- package/src/features/crash/rejectionHandler.ts +196 -0
- package/src/features/crash/scrubCrash.ts +175 -0
- package/src/features/engage/EngageAnchor.tsx +159 -0
- package/src/features/engage/EngageArchetypeRenderers.tsx +3705 -0
- package/src/features/engage/EngageInAppView.tsx +2678 -0
- package/src/features/engage/EngageInlinePlacement.tsx +169 -0
- package/src/features/engage/EngagePromptProvider.tsx +1318 -0
- package/src/features/engage/EngagePromptView.tsx +1400 -0
- package/src/features/engage/EngageTransport.ts +668 -0
- package/src/features/engage/EngageVariantContent.tsx +1483 -0
- package/src/features/engage/__test-support__/reactNativeStub.js +40 -0
- package/src/features/engage/attachmentCapture.ts +45 -0
- package/src/features/engage/captureVoiceAttachment.ts +81 -0
- package/src/features/engage/engageCoachmarkTour.ts +120 -0
- package/src/features/engage/engageGameLogic.ts +347 -0
- package/src/features/engage/engageMediaSizing.ts +76 -0
- package/src/features/engage/engageMultiStepSheet.ts +53 -0
- package/src/features/engage/engageOutcome.ts +157 -0
- package/src/features/engage/engagePushTokenBridge.ts +84 -0
- package/src/features/engage/engageShakeBridge.ts +67 -0
- package/src/features/engage/engageSignals.ts +40 -0
- package/src/features/engage/engageStoreReviewBridge.ts +48 -0
- package/src/features/engage/engageTestSeenStore.ts +95 -0
- package/src/features/engage/engageThrottle.ts +478 -0
- package/src/features/engage/engageTriggerEngine.ts +350 -0
- package/src/features/engage/engageTypes.ts +712 -0
- package/src/features/engage/engageVariantResolver.ts +364 -0
- package/src/features/engage/engageWindowInsets.ts +108 -0
- package/src/features/engage/gestureTriggerDetector.ts +83 -0
- package/src/features/engage/transcription/TranscriptionProvider.ts +68 -0
- package/src/features/install-referrer/installReferrer.ts +112 -0
- package/src/features/journey/ScaleBunDebugRoot.tsx +1045 -0
- package/src/features/journey/ScaleBunFlatList.tsx +39 -0
- package/src/features/journey/ScaleBunImpression.tsx +109 -0
- package/src/features/journey/ScaleBunScrollView.tsx +101 -0
- package/src/features/journey/ScaleBunSectionList.tsx +39 -0
- package/src/features/journey/autoInstrumentScroll.ts +155 -0
- package/src/features/journey/calibrationContext.ts +44 -0
- package/src/features/journey/gestureBuffer.ts +59 -0
- package/src/features/journey/gestureDetector.ts +162 -0
- package/src/features/journey/impression.ts +92 -0
- package/src/features/journey/interactionProtocol.ts +243 -0
- package/src/features/journey/journeyManager.ts +469 -0
- package/src/features/journey/journeyTypes.ts +215 -0
- package/src/features/journey/nativeScroll.ts +94 -0
- package/src/features/journey/navDetector.ts +149 -0
- package/src/features/journey/screenshotHelper.ts +137 -0
- package/src/features/journey/scrollContext.ts +146 -0
- package/src/features/journey/targetGeometry.ts +197 -0
- package/src/features/journey/targetRegistry.ts +43 -0
- package/src/features/journey/touchTarget.ts +339 -0
- package/src/features/journey/uiState.ts +182 -0
- package/src/features/navigation/AutoScreenDetector.ts +617 -0
- package/src/features/network/NetworkFeature.ts +232 -0
- package/src/features/network/index.ts +59 -0
- package/src/features/network/thirdParty.ts +160 -0
- package/src/features/ota/OtaEventEmitter.ts +187 -0
- package/src/features/ota/OtaOrchestrator.ts +1513 -0
- package/src/features/ota/OtaTypes.ts +230 -0
- package/src/features/ota/deviceAttributes.ts +46 -0
- package/src/features/ota/environment.ts +199 -0
- package/src/features/ota/geoCountry.ts +85 -0
- package/src/features/ota/retry.ts +123 -0
- package/src/features/ota/signedDownload.ts +202 -0
- package/src/features/ota/useOtaUpdate.ts +161 -0
- package/src/features/performance/PerformanceFeature.ts +729 -0
- package/src/features/performance/collectors/AppLaunchCollector.ts +131 -0
- package/src/features/performance/collectors/AutoScreenLoadCollector.ts +258 -0
- package/src/features/performance/collectors/CustomTraceCollector.ts +116 -0
- package/src/features/performance/collectors/FrameMetricsCollector.ts +210 -0
- package/src/features/performance/collectors/JsStallCollector.ts +184 -0
- package/src/features/performance/collectors/NetworkPerfCollector.ts +69 -0
- package/src/features/performance/collectors/ScreenLoadCollector.ts +95 -0
- package/src/features/performance/collectors/UiHangCollector.ts +98 -0
- package/src/features/performance/config.ts +136 -0
- package/src/features/performance/getNativePerformanceModule.ts +38 -0
- package/src/features/performance/index.ts +28 -0
- package/src/features/performance/metrics/MetricsEngine.ts +152 -0
- package/src/features/performance/models.ts +235 -0
- package/src/features/performance/transport/PerformanceTransport.ts +161 -0
- package/src/features/profiler/ProfilerFeature.ts +661 -0
- package/src/features/profiler/config.ts +230 -0
- package/src/features/profiler/contracts.ts +176 -0
- package/src/features/profiler/index.ts +45 -0
- package/src/features/profiler/models.ts +430 -0
- package/src/features/profiler/transport/ProfilerTransport.ts +93 -0
- package/src/features/replay/bridge/adapters/bridgeAdapter.ts +235 -0
- package/src/features/replay/bridge/eventEmitter.ts +176 -0
- package/src/features/replay/bridge/nativeModule.ts +252 -0
- package/src/features/replay/bridge/nativeQuota.ts +111 -0
- package/src/features/replay/core/clock/clock.ts +38 -0
- package/src/features/replay/core/config/defaults.ts +66 -0
- package/src/features/replay/core/config/validator.ts +113 -0
- package/src/features/replay/core/env/environmentDetector.ts +21 -0
- package/src/features/replay/core/errors/safeCall.ts +34 -0
- package/src/features/replay/core/ids/sessionId.ts +44 -0
- package/src/features/replay/core/logger/logger.ts +36 -0
- package/src/features/replay/core/privacy/privacyTypes.ts +41 -0
- package/src/features/replay/core/queue/boundedQueue.ts +71 -0
- package/src/features/replay/integrations/alert/alertInstrumentation.ts +277 -0
- package/src/features/replay/integrations/logs/consoleIntegration.ts +136 -0
- package/src/features/replay/integrations/network/networkAdapter.ts +73 -0
- package/src/features/replay/integrations/react-navigation/navigationIntegration.ts +89 -0
- package/src/features/replay/integrations/touch/ReplayRoot.tsx +114 -0
- package/src/features/replay/pipeline/batching/batchManager.ts +133 -0
- package/src/features/replay/pipeline/envelope/envelopeBuilder.ts +66 -0
- package/src/features/replay/pipeline/retry/retryPolicy.ts +62 -0
- package/src/features/replay/pipeline/transport/transportTypes.ts +85 -0
- package/src/features/replay/public/api.ts +364 -0
- package/src/features/replay/public/enums.ts +78 -0
- package/src/features/replay/public/types.ts +297 -0
- package/src/features/replay/replay/breadcrumbs/breadcrumbCollector.ts +115 -0
- package/src/features/replay/replay/frames/frameModels.ts +45 -0
- package/src/features/replay/replay/session/sessionOrchestrator.ts +286 -0
- package/src/features/replay/replay/timeline/timelineModels.ts +129 -0
- package/src/features/replay/transport/BackendReplayTransport.ts +215 -0
- package/src/features/replay/transport/CompositeReplayTransport.ts +82 -0
- package/src/features/replay/transport/DesktopReplayTransport.ts +140 -0
- package/src/features/replay/transport/ReplayTransport.ts +84 -0
- package/src/features/session/BackendSessionAdapter.ts +1977 -0
- package/src/features/session/DesktopSessionTransport.ts +130 -0
- package/src/features/session/JourneyEventPipeline.ts +278 -0
- package/src/features/session/ReplayCaptureManager.ts +1401 -0
- package/src/features/session/ScrollTracker.ts +166 -0
- package/src/features/session/SessionManager.ts +1687 -0
- package/src/features/session/SyncDecisionEngine.ts +117 -0
- package/src/features/session/frameLink.ts +41 -0
- package/src/features/session/frameScrollState.ts +36 -0
- package/src/features/session/index.ts +88 -0
- package/src/features/session/nativeCapture.ts +43 -0
- package/src/features/session/outboxFrameCapture.ts +79 -0
- package/src/features/session/sessionTypes.ts +528 -0
- package/src/features/session/viewportPlausibility.ts +134 -0
- package/src/features/skan/skanBridge.ts +53 -0
- package/src/features/skan/skanConversionManager.ts +173 -0
- package/src/index.ts +206 -0
- package/src/integrations/fetch/fetchInterceptor.ts +201 -0
- package/src/integrations/navigation/screenTracker.ts +0 -0
- package/src/integrations/network/bodyCapture.ts +328 -0
- package/src/integrations/xhr/xhrInterceptor.ts +259 -0
- package/src/metro/composeSourceMap.ts +104 -0
- package/src/metro/featureModules.ts +143 -0
- package/src/metro/index.ts +336 -0
- package/src/metro/optionalDependencyStub.ts +13 -0
- package/src/metro/optionalModules.ts +27 -0
- package/src/metro/serializerCompose.ts +193 -0
- package/src/pipeline/dispatcher/dispatcher.ts +22 -0
- package/src/pipeline/envelope/envelope.ts +31 -0
- package/src/pipeline/envelope/serializer.ts +14 -0
- package/src/pipeline/processors/dedupe.ts +0 -0
- package/src/pipeline/processors/enrich.ts +11 -0
- package/src/pipeline/processors/sampling.ts +0 -0
- package/src/pipeline/processors/sanitize.ts +23 -0
- package/src/pipeline/queue/flushQueue.ts +144 -0
- package/src/pipeline/queue/memoryQueue.ts +31 -0
- package/src/pipeline/queue/persistentQueue.ts +385 -0
- package/src/pipeline/queue/queuePolicy.ts +0 -0
- package/src/pipeline/scheduler/flushScheduler.ts +47 -0
- package/src/pipeline/scheduler/retryPolicy.ts +8 -0
- package/src/public/ScaleBunErrorBoundary.tsx +91 -0
- package/src/public/ScaleBunFacade.ts +2129 -0
- package/src/public/ScaleBunProvider.tsx +91 -0
- package/src/public/typedTracker.ts +123 -0
- package/src/public/types.ts +362 -0
- package/src/push/PushManager.ts +318 -0
- package/src/push/adapters/ManualAdapter.ts +100 -0
- package/src/push/adapters/NativeBridgeAdapter.ts +142 -0
- package/src/push/adapters/NoopAdapter.ts +46 -0
- package/src/push/adapters/RNFirebaseMessagingAdapter.ts +271 -0
- package/src/push/adapters/loadMessaging.ts +24 -0
- package/src/push/adapters/loadNotifee.ts +29 -0
- package/src/push/adapters/selectAdapter.ts +176 -0
- package/src/push/detect/capabilities.ts +124 -0
- package/src/push/index.ts +22 -0
- package/src/push/native/nativeNotifications.ts +207 -0
- package/src/push/types.ts +159 -0
- package/src/specs/NativeReplaySdk.ts +101 -0
- package/src/specs/NativeScaleBunCrash.ts +64 -0
- package/src/specs/NativeScaleBunInstallReferrer.ts +29 -0
- package/src/specs/NativeScaleBunOta.ts +154 -0
- package/src/specs/NativeScaleBunPerformance.ts +34 -0
- package/src/specs/NativeScaleBunProfiler.ts +41 -0
- package/src/specs/NativeScaleBunStorage.ts +59 -0
- package/src/storage/StorageBackend.ts +272 -0
- package/src/storage/db/sqlite.ts +0 -0
- package/src/storage/files/fileStore.ts +0 -0
- package/src/transport/auth/sdkSession.ts +27 -0
- package/src/transport/backoff/exponentialJitter.ts +9 -0
- package/src/transport/http/endpoints.ts +33 -0
- package/src/transport/http/httpClient.ts +73 -0
- package/src/transport/rateLimit/retryAfter.ts +0 -0
- package/src/transport/signing/requestSigner.ts +0 -0
- package/src/vendor/protocol/index.ts +391 -0
- package/src/vendor/protocol/internal/validation.ts +497 -0
- package/src/vendor/sdk-contracts/bridge.ts +162 -0
- package/src/vendor/sdk-contracts/config.ts +192 -0
- package/src/vendor/sdk-contracts/events.ts +50 -0
- package/src/vendor/sdk-contracts/features.ts +42 -0
- package/src/vendor/sdk-contracts/index.ts +98 -0
- package/src/vendor/sdk-contracts/platform.ts +42 -0
- package/src/vendor/sdk-contracts/session-boundary.ts +55 -0
- package/src/vendor/sdk-contracts/session.ts +225 -0
- package/src/vendor/vendor.manifest +10 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Isolated lazy loader for the OPTIONAL `@notifee/react-native` dep.
|
|
3
|
+
*
|
|
4
|
+
* WHY ITS OWN FILE: Metro's dependency collector emits a dependency map one
|
|
5
|
+
* entry short for a module that contains TWO OR MORE different-string inline
|
|
6
|
+
* `require()` calls, so the require indices desync and `_dependencyMap[N]` reads
|
|
7
|
+
* `undefined` ("Requiring unknown module 'undefined'"). Keeping exactly ONE
|
|
8
|
+
* inline require per module avoids the miscount. `loadMessaging` lives in its own
|
|
9
|
+
* sibling file for the same reason.
|
|
10
|
+
*
|
|
11
|
+
* The string must still be STATICALLY resolvable at bundle time; hosts that don't
|
|
12
|
+
* install it must stub it in metro.config.js. See FIX_PUSH_UNKNOWN_MODULE.md.
|
|
13
|
+
*/
|
|
14
|
+
export declare function loadNotifee(): any | null;
|
|
15
|
+
//# sourceMappingURL=loadNotifee.d.ts.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Smart adapter selection (requirements 3 & 4).
|
|
3
|
+
*
|
|
4
|
+
* Given probed capabilities, pick the safest supported compatibility path. Two
|
|
5
|
+
* real token sources exist:
|
|
6
|
+
* 1. RNFirebase JS (@react-native-firebase/messaging) — full feature set
|
|
7
|
+
* (token + foreground/opened callbacks), but the JS layer reads native
|
|
8
|
+
* modules in a way that needs v18+ under the New Architecture/bridgeless.
|
|
9
|
+
* 2. The ScaleBunEngage native bridge — acquires the token by reflecting into
|
|
10
|
+
* Firebase in NATIVE code, so it works under bridgeless regardless of the
|
|
11
|
+
* installed RNFirebase version. Token-only (no message callbacks).
|
|
12
|
+
*
|
|
13
|
+
* Auto priority: RNFirebase when usable → native bridge (rescues the cases where
|
|
14
|
+
* RNFirebase is absent/incompatible) → manual → noop (fail-clear, actionable).
|
|
15
|
+
*/
|
|
16
|
+
import type { AdapterSelection, EnablePushOptions, PushCapabilities } from '../types';
|
|
17
|
+
/** First RNFirebase major with working New Architecture / bridgeless support. */
|
|
18
|
+
export declare const MIN_BRIDGELESS_RNFIREBASE_MAJOR = 18;
|
|
19
|
+
export declare function selectAdapter(caps: PushCapabilities, options?: EnablePushOptions): AdapterSelection;
|
|
20
|
+
//# sourceMappingURL=selectAdapter.d.ts.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime capability detection (requirement 4).
|
|
3
|
+
*
|
|
4
|
+
* Probes the live JS runtime — RN version, New Architecture / bridgeless mode,
|
|
5
|
+
* whether @react-native-firebase/messaging is installed & at what version, and
|
|
6
|
+
* whether the ScaleBunEngage native token bridge is linked — so the selector can
|
|
7
|
+
* choose the safest supported adapter automatically.
|
|
8
|
+
*
|
|
9
|
+
* All probes are defensive: anything unknown degrades to a conservative default
|
|
10
|
+
* rather than throwing. Build-time concerns (config files on disk, manifest
|
|
11
|
+
* permissions) live in the doctor CLI, not here.
|
|
12
|
+
*/
|
|
13
|
+
import type { PushCapabilities } from '../types';
|
|
14
|
+
export declare function detectPushCapabilities(force?: boolean): PushCapabilities;
|
|
15
|
+
//# sourceMappingURL=capabilities.d.ts.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Push subsystem — internal barrel. Consumer-facing surface is exposed through
|
|
3
|
+
* the ScaleBun facade (ScaleBun.enablePush / ScaleBun.push.*), not this file.
|
|
4
|
+
*/
|
|
5
|
+
export { PushManager } from './PushManager';
|
|
6
|
+
export type { PushManagerDeps, PushStatus } from './PushManager';
|
|
7
|
+
export { detectPushCapabilities } from './detect/capabilities';
|
|
8
|
+
export { selectAdapter, MIN_BRIDGELESS_RNFIREBASE_MAJOR } from './adapters/selectAdapter';
|
|
9
|
+
export type { PushAdapter, PushNotification, PushCapabilities, PushPlatform, PushProviderId, AdapterId, AdapterSelection, NotificationPermissionStatus, AndroidChannelConfig, EnablePushOptions, EnablePushResult, } from './types';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ScaleBun SDK — Native Notification Bridge (native-first, NO Notifee)
|
|
3
|
+
*
|
|
4
|
+
* Thin wrapper over the `ScaleBunEngage` native module's notification surface
|
|
5
|
+
* (Android: `ScaleBunNotificationPresenter` via framework APIs). This is the SDK's
|
|
6
|
+
* native-first display path: channel creation, foreground display, and
|
|
7
|
+
* notification-open events are all handled by native code — Notifee is NOT
|
|
8
|
+
* required by the core.
|
|
9
|
+
*
|
|
10
|
+
* Fail-soft everywhere: every call is a no-op (or null/false) when the native
|
|
11
|
+
* module or method is unavailable (JS-only env, iOS until its native surface
|
|
12
|
+
* lands, host without push). Never throws.
|
|
13
|
+
*/
|
|
14
|
+
/** iOS native notification body ({ title, body, data }) — mirrors the Android shape. */
|
|
15
|
+
interface NativeNotificationPayload {
|
|
16
|
+
messageId?: string;
|
|
17
|
+
title?: string;
|
|
18
|
+
body?: string;
|
|
19
|
+
data?: Record<string, string>;
|
|
20
|
+
}
|
|
21
|
+
/** True when the native notification surface is present (Android with ScaleBunEngage). */
|
|
22
|
+
export declare function hasNativeNotificationSupport(): boolean;
|
|
23
|
+
/** Create the notification channel natively (API 26+). No-op when unavailable. */
|
|
24
|
+
export declare function ensureNativeChannel(config: {
|
|
25
|
+
channelId: string;
|
|
26
|
+
channelName?: string;
|
|
27
|
+
importance?: number;
|
|
28
|
+
description?: string;
|
|
29
|
+
}): Promise<boolean>;
|
|
30
|
+
/** Display a notification natively (foreground display path). No-op when unavailable. */
|
|
31
|
+
export declare function showNativeNotification(input: {
|
|
32
|
+
title?: string;
|
|
33
|
+
body?: string;
|
|
34
|
+
channelId: string;
|
|
35
|
+
data?: Record<string, string>;
|
|
36
|
+
notificationId?: number;
|
|
37
|
+
}): Promise<boolean>;
|
|
38
|
+
/**
|
|
39
|
+
* Subscribe to native notification-open events (warm/foreground taps). Returns an
|
|
40
|
+
* unsubscribe function, or a no-op when the native module is absent.
|
|
41
|
+
*/
|
|
42
|
+
export declare function subscribeNativeNotificationOpened(onOpened: (data: Record<string, string>) => void): () => void;
|
|
43
|
+
/**
|
|
44
|
+
* Read (once) the cold-start "opened from notification" payload, if the app was
|
|
45
|
+
* launched by tapping a ScaleBunB notification. Returns the data map or null.
|
|
46
|
+
*/
|
|
47
|
+
export declare function consumeInitialNativeNotification(): Promise<Record<string, string> | null>;
|
|
48
|
+
/**
|
|
49
|
+
* iOS: request notification authorization natively. Returns the normalized status
|
|
50
|
+
* ('granted' | 'provisional' | 'denied') or null when unavailable (fail-soft).
|
|
51
|
+
*/
|
|
52
|
+
export declare function requestNativePushPermission(): Promise<string | null>;
|
|
53
|
+
/**
|
|
54
|
+
* Subscribe to native foreground-notification events (iOS willPresent). Returns an
|
|
55
|
+
* unsubscribe function, or a no-op when the native module is absent. Payload carries
|
|
56
|
+
* the normalized { title, body, data } note.
|
|
57
|
+
*/
|
|
58
|
+
export declare function subscribeNativeForegroundNotification(onForeground: (note: NativeNotificationPayload) => void): () => void;
|
|
59
|
+
/**
|
|
60
|
+
* Read (once) the cold-start opened notification as a full normalized note
|
|
61
|
+
* ({ title, body, data }) — iOS path. Returns null when none/unavailable.
|
|
62
|
+
*/
|
|
63
|
+
export declare function consumeInitialNativeNotificationFull(): Promise<NativeNotificationPayload | null>;
|
|
64
|
+
export {};
|
|
65
|
+
//# sourceMappingURL=nativeNotifications.d.ts.map
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ScaleBun SDK — Push subsystem shared types.
|
|
3
|
+
*
|
|
4
|
+
* These types are platform-agnostic on purpose. The same event model
|
|
5
|
+
* (PushNotification), identity contract (registerDeviceToken input on the
|
|
6
|
+
* facade), and adapter shape are intended to be mirrored by future Flutter /
|
|
7
|
+
* native SDKs so the backend token-registration and push-event contracts stay
|
|
8
|
+
* identical across platforms. Only the adapter implementation is platform code.
|
|
9
|
+
*/
|
|
10
|
+
export type PushPlatform = 'android' | 'ios';
|
|
11
|
+
/**
|
|
12
|
+
* Backend push-provider routing key. `fcm` = Firebase Cloud Messaging token
|
|
13
|
+
* (Android, and iOS when routed through Firebase). `apns` = a raw Apple Push
|
|
14
|
+
* Notification service device token (direct APNs, iOS only). This is the source of
|
|
15
|
+
* truth the backend uses to pick the tenant's send transport for a device token.
|
|
16
|
+
*/
|
|
17
|
+
export type PushProviderId = 'fcm' | 'apns';
|
|
18
|
+
/**
|
|
19
|
+
* Stable identifiers for the selected compatibility path. Surfaced by the
|
|
20
|
+
* doctor CLI and `ScaleBun.push.status()` so developers know which path is live.
|
|
21
|
+
*
|
|
22
|
+
* - `rnfirebase` — @react-native-firebase/messaging (full callbacks).
|
|
23
|
+
* - `native` — the ScaleBunEngage native bridge (reflective FCM/APNs token).
|
|
24
|
+
* Works under bridgeless regardless of the installed RNFirebase
|
|
25
|
+
* JS version; token-only (no foreground/opened message stream).
|
|
26
|
+
* - `manual` — host supplies the token.
|
|
27
|
+
* - `noop` — fail-clear fallback.
|
|
28
|
+
*/
|
|
29
|
+
export type AdapterId = 'rnfirebase' | 'native' | 'manual' | 'noop';
|
|
30
|
+
export type NotificationPermissionStatus = 'granted' | 'denied' | 'provisional' | 'unavailable';
|
|
31
|
+
/**
|
|
32
|
+
* Normalized notification event. Every adapter maps its provider-specific
|
|
33
|
+
* payload into this shape so consumer callbacks never depend on RNFirebase (or
|
|
34
|
+
* any provider) types.
|
|
35
|
+
*/
|
|
36
|
+
export interface PushNotification {
|
|
37
|
+
/** Provider message id when available. */
|
|
38
|
+
messageId?: string;
|
|
39
|
+
title?: string;
|
|
40
|
+
body?: string;
|
|
41
|
+
/** Arbitrary data payload (FCM `data`, APNs custom keys). Always defined. */
|
|
42
|
+
data: Record<string, string>;
|
|
43
|
+
/** Best-effort delivery time (ms epoch) when the provider reports it. */
|
|
44
|
+
sentTime?: number;
|
|
45
|
+
}
|
|
46
|
+
export interface AndroidChannelConfig {
|
|
47
|
+
channelId: string;
|
|
48
|
+
channelName?: string;
|
|
49
|
+
/** Android importance 0-5; defaults to 4 (HIGH) when omitted. */
|
|
50
|
+
importance?: number;
|
|
51
|
+
description?: string;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Internal push provider abstraction (requirement 2).
|
|
55
|
+
*
|
|
56
|
+
* An adapter is responsible ONLY for talking to the platform: permission,
|
|
57
|
+
* channels, token lifecycle, and notification events. It does NOT talk to the
|
|
58
|
+
* ScaleBun backend — token registration/sync is owned by PushManager so the
|
|
59
|
+
* backend contract is identical for every adapter.
|
|
60
|
+
*
|
|
61
|
+
* Every method must be safe to call and must not throw; failures are reported
|
|
62
|
+
* via return values / status, never exceptions.
|
|
63
|
+
*/
|
|
64
|
+
export interface PushAdapter {
|
|
65
|
+
readonly id: AdapterId;
|
|
66
|
+
/** True when this adapter's underlying provider is actually usable now. */
|
|
67
|
+
isAvailable(): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Push provider the acquired token belongs to — the backend routing key.
|
|
70
|
+
* Direct APNs (raw APNs device token on iOS) → 'apns'; Firebase-routed tokens
|
|
71
|
+
* (FCM, both platforms) → 'fcm'. Platform-dependent for adapters that bridge
|
|
72
|
+
* the native OS token directly (e.g. the ScaleBunEngage native bridge yields a raw
|
|
73
|
+
* APNs token on iOS but an FCM token on Android).
|
|
74
|
+
*/
|
|
75
|
+
pushProvider(): PushProviderId;
|
|
76
|
+
/** Request OS notification permission (Android 13+, iOS). */
|
|
77
|
+
requestPermission(): Promise<NotificationPermissionStatus>;
|
|
78
|
+
/** Create/ensure an Android notification channel. No-op on iOS. */
|
|
79
|
+
createAndroidChannel(channel: AndroidChannelConfig): Promise<void>;
|
|
80
|
+
/** Acquire the current push token (FCM/APNs). Null when unavailable. */
|
|
81
|
+
getToken(): Promise<string | null>;
|
|
82
|
+
/** Subscribe to token rotation. Returns an unsubscribe fn. */
|
|
83
|
+
onTokenRefresh(cb: (token: string) => void): () => void;
|
|
84
|
+
/** Subscribe to messages received while the app is foregrounded. */
|
|
85
|
+
onForegroundMessage(cb: (message: PushNotification) => void): () => void;
|
|
86
|
+
/** Subscribe to the user tapping a notification (app already running). */
|
|
87
|
+
onNotificationOpened(cb: (message: PushNotification) => void): () => void;
|
|
88
|
+
/** The notification that cold-started the app, if any. */
|
|
89
|
+
getInitialNotification(): Promise<PushNotification | null>;
|
|
90
|
+
/** Remove all listeners. Idempotent. */
|
|
91
|
+
teardown(): void;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Result of runtime environment probing used to pick an adapter (requirement 4).
|
|
95
|
+
*/
|
|
96
|
+
export interface PushCapabilities {
|
|
97
|
+
platform: PushPlatform | 'unknown';
|
|
98
|
+
/** e.g. "0.78.3"; null when unknown. */
|
|
99
|
+
rnVersion: string | null;
|
|
100
|
+
rnVersionParts: {
|
|
101
|
+
major: number;
|
|
102
|
+
minor: number;
|
|
103
|
+
patch: number;
|
|
104
|
+
} | null;
|
|
105
|
+
/** New Architecture / bridgeless runtime detected. */
|
|
106
|
+
isNewArchitecture: boolean;
|
|
107
|
+
isBridgeless: boolean;
|
|
108
|
+
/** @react-native-firebase/messaging require() succeeded. */
|
|
109
|
+
hasRNFirebaseMessaging: boolean;
|
|
110
|
+
/** Best-effort installed @react-native-firebase version, e.g. "21.6.1". */
|
|
111
|
+
rnFirebaseVersion: string | null;
|
|
112
|
+
rnFirebaseMajor: number | null;
|
|
113
|
+
/** The ScaleBunEngage native module is linked (native FCM/APNs token bridge). */
|
|
114
|
+
hasNativeEngageBridge: boolean;
|
|
115
|
+
}
|
|
116
|
+
/** Why a given adapter was (not) selected — actionable, surfaced to developers. */
|
|
117
|
+
export interface AdapterSelection {
|
|
118
|
+
adapter: PushAdapter;
|
|
119
|
+
/** Human-readable, actionable explanation. */
|
|
120
|
+
reason: string;
|
|
121
|
+
/** True when the selected adapter can actually deliver a token. */
|
|
122
|
+
usable: boolean;
|
|
123
|
+
}
|
|
124
|
+
export interface EnablePushOptions {
|
|
125
|
+
/** Force a specific compatibility path; defaults to 'auto'. */
|
|
126
|
+
provider?: 'auto' | 'rnfirebase' | 'native' | 'manual';
|
|
127
|
+
/** Android channel config; a sensible default is used when omitted. */
|
|
128
|
+
android?: AndroidChannelConfig;
|
|
129
|
+
/** For provider:'manual' — a token the host app already obtained. */
|
|
130
|
+
manualToken?: string;
|
|
131
|
+
/** Skip the OS permission prompt (host app handles it). */
|
|
132
|
+
skipPermissionRequest?: boolean;
|
|
133
|
+
onForegroundNotification?: (message: PushNotification) => void;
|
|
134
|
+
onNotificationOpened?: (message: PushNotification) => void;
|
|
135
|
+
}
|
|
136
|
+
export interface EnablePushResult {
|
|
137
|
+
ok: boolean;
|
|
138
|
+
adapter: AdapterId;
|
|
139
|
+
reason: string;
|
|
140
|
+
permission?: NotificationPermissionStatus;
|
|
141
|
+
tokenRegistered?: boolean;
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { TurboModule } from 'react-native';
|
|
2
|
+
/**
|
|
3
|
+
* React Native Codegen spec for the native session-replay module (`ReplaySdk`).
|
|
4
|
+
*
|
|
5
|
+
* Architecture-compatibility only — this does NOT change any replay business
|
|
6
|
+
* logic. It declares the New Architecture (TurboModule) method surface so the
|
|
7
|
+
* native module registers as a real TurboModule on Android; on iOS the module
|
|
8
|
+
* subclasses `RCTEventEmitter` and is served via the interop layer.
|
|
9
|
+
*
|
|
10
|
+
* Replay events (`ReplaySdk_SessionStateChanged`, `_FrameCaptured`,
|
|
11
|
+
* `_SessionLimitReached`, `_ScreenChanged`, …) are delivered via the device
|
|
12
|
+
* event emitter and consumed with `NativeEventEmitter`, independent of this
|
|
13
|
+
* spec and identical on both architectures. `addListener` / `removeListeners`
|
|
14
|
+
* satisfy `NativeEventEmitter`.
|
|
15
|
+
*
|
|
16
|
+
* Codegen has a limited type system, so config/result maps are generic
|
|
17
|
+
* `Object`. The richer types (NativeFrameResult, NativeSessionInfo, …) are kept
|
|
18
|
+
* in `bridge/nativeModule.ts`, which casts this module to that interface — so no
|
|
19
|
+
* caller loses typing.
|
|
20
|
+
*/
|
|
21
|
+
export interface Spec extends TurboModule {
|
|
22
|
+
initialize(config: Object): Promise<boolean>;
|
|
23
|
+
startSession(): Promise<string>;
|
|
24
|
+
stopSession(): Promise<boolean>;
|
|
25
|
+
pauseSession(): Promise<boolean>;
|
|
26
|
+
resumeSession(): Promise<boolean>;
|
|
27
|
+
captureFrame(reason: string): Promise<Object>;
|
|
28
|
+
captureManualFrame(): Promise<Object>;
|
|
29
|
+
captureScreenshot(reason: string): Promise<Object>;
|
|
30
|
+
initOutbox(config: Object): Promise<boolean>;
|
|
31
|
+
captureScreenshotToFile(input: Object): Promise<Object>;
|
|
32
|
+
commitOutboxFrame(meta: Object): Promise<string>;
|
|
33
|
+
discardOutboxFrame(sessionId: string, frameId: string): Promise<boolean>;
|
|
34
|
+
enqueueOutboxRecords(lane: string, sessionId: string, records: Object[]): Promise<boolean>;
|
|
35
|
+
flushNativeOutbox(): Promise<boolean>;
|
|
36
|
+
recoverNativeOutbox(): Promise<boolean>;
|
|
37
|
+
getOutboxStats(): Promise<Object>;
|
|
38
|
+
setOutboxLaneQuota(lane: string, blocked: boolean): Promise<number>;
|
|
39
|
+
startVoiceRecording(): Promise<void>;
|
|
40
|
+
stopVoiceRecording(): Promise<Object>;
|
|
41
|
+
cancelVoiceRecording(): Promise<void>;
|
|
42
|
+
setEnabled(enabled: boolean): Promise<void>;
|
|
43
|
+
setCapturingMode(mode: string): Promise<void>;
|
|
44
|
+
setScreenshotQuality(quality: string): Promise<void>;
|
|
45
|
+
setScreenshotCaptureInterval(intervalMs: number): Promise<void>;
|
|
46
|
+
setUserStepsEnabled(enabled: boolean): Promise<void>;
|
|
47
|
+
setNetworkLogsEnabled(enabled: boolean): Promise<void>;
|
|
48
|
+
setSdkLogsEnabled(enabled: boolean): Promise<void>;
|
|
49
|
+
setPrivacyOptions(options: Object): Promise<void>;
|
|
50
|
+
maskElement(elementId: string): Promise<void>;
|
|
51
|
+
unmaskElement(elementId: string): Promise<void>;
|
|
52
|
+
setUser(user: Object): Promise<void>;
|
|
53
|
+
clearUser(): Promise<void>;
|
|
54
|
+
addBreadcrumb(breadcrumb: Object): Promise<void>;
|
|
55
|
+
addNetworkBreadcrumb(request: Object): Promise<void>;
|
|
56
|
+
setCurrentScreen(screenName: string): Promise<void>;
|
|
57
|
+
reportInteraction(interaction: Object): Promise<void>;
|
|
58
|
+
getSessionInfo(): Promise<Object>;
|
|
59
|
+
getDeviceInfo(): Promise<Object>;
|
|
60
|
+
getSessionReplayLink(): Promise<Object>;
|
|
61
|
+
flushUpload(): Promise<boolean>;
|
|
62
|
+
cancelUpload(): Promise<void>;
|
|
63
|
+
destroy(): Promise<void>;
|
|
64
|
+
addListener(eventName: string): void;
|
|
65
|
+
removeListeners(count: number): void;
|
|
66
|
+
}
|
|
67
|
+
declare const _default: Spec | null;
|
|
68
|
+
export default _default;
|
|
69
|
+
//# sourceMappingURL=NativeReplaySdk.d.ts.map
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { TurboModule } from 'react-native';
|
|
2
|
+
/**
|
|
3
|
+
* React Native Codegen spec for the native crash module (`ScaleBunCrash`).
|
|
4
|
+
*
|
|
5
|
+
* This declares the New Architecture (TurboModule) interface. Codegen turns it
|
|
6
|
+
* into the native `NativeScaleBunCrashSpec` base classes (Kotlin `com.scalebun.spec`
|
|
7
|
+
* / generated ObjC protocol) that the Phase 2 `newarch` wrappers implement. On
|
|
8
|
+
* Old Architecture the identical JS surface is served by the legacy
|
|
9
|
+
* NativeModule. Method names/shapes mirror the existing native module exactly:
|
|
10
|
+
* `install` / `crashNow` / `drainPendingCrash`.
|
|
11
|
+
*
|
|
12
|
+
* Type note: codegen has a limited type system, so `drainPendingCrash` is typed
|
|
13
|
+
* as a generic `Object`. At runtime it resolves either a crash record
|
|
14
|
+
* (name, exceptionType, message, threadName, timestamp, platform, stackTrace[],
|
|
15
|
+
* cause{}) or `null` when there is no pending crash — callers must null-check.
|
|
16
|
+
*/
|
|
17
|
+
export interface Spec extends TurboModule {
|
|
18
|
+
/** Install the native uncaught-exception / signal handler. Idempotent. */
|
|
19
|
+
install(): Promise<boolean>;
|
|
20
|
+
/** DEV/TEST only: crash the process so the next launch can drain it. */
|
|
21
|
+
crashNow(): Promise<boolean>;
|
|
22
|
+
/**
|
|
23
|
+
* Record which session is live so a crash can name it.
|
|
24
|
+
*
|
|
25
|
+
* Called once per session. Native writes it to crash-safe storage BEFORE any crash can happen —
|
|
26
|
+
* a fatal handler cannot call back into JS to ask.
|
|
27
|
+
*/
|
|
28
|
+
setActiveSessionId(sessionId: string): Promise<boolean>;
|
|
29
|
+
/** Return the previous run's crash record (or null), then clear it. */
|
|
30
|
+
drainPendingCrash(): Promise<Object>;
|
|
31
|
+
/**
|
|
32
|
+
* Delete a delivered crash by its stable id.
|
|
33
|
+
*
|
|
34
|
+
* Called ONLY after the backend has accepted it. The read is non-destructive precisely so this
|
|
35
|
+
* can be the moment of deletion — a failed upload must leave the durable copy in place.
|
|
36
|
+
*/
|
|
37
|
+
clearPendingCrash(crashId: string): Promise<boolean>;
|
|
38
|
+
/**
|
|
39
|
+
* Persist a FATAL JS crash to the same on-disk store native crashes use, so
|
|
40
|
+
* the next launch drains it. SYNCHRONOUS by design (returns a boolean, not a
|
|
41
|
+
* Promise): a fatal JS error tears the process down, and an async POST — or
|
|
42
|
+
* even an async native call — races that teardown and loses the crash. A
|
|
43
|
+
* blocking write completes on disk before the JS handler returns.
|
|
44
|
+
*
|
|
45
|
+
* recordJson is a JSON crash record: at least { crashId, type, message },
|
|
46
|
+
* plus stack / screenName / platform / sessionId / timestamp when known.
|
|
47
|
+
*/
|
|
48
|
+
persistJsCrash(recordJson: string): boolean;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Resolved via `get` (not `getEnforcing`) so the SDK degrades gracefully when
|
|
52
|
+
* the native module is unavailable (web/SSR, Expo Go) — it returns `null`
|
|
53
|
+
* instead of throwing. On Old Architecture the bridge falls back to the legacy
|
|
54
|
+
* `NativeModules.ScaleBunCrash`.
|
|
55
|
+
*/
|
|
56
|
+
declare const _default: Spec | null;
|
|
57
|
+
export default _default;
|
|
58
|
+
//# sourceMappingURL=NativeScaleBunCrash.d.ts.map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { TurboModule } from 'react-native';
|
|
2
|
+
/**
|
|
3
|
+
* React Native Codegen spec for the Android Play Install Referrer bridge
|
|
4
|
+
* (`ScaleBunInstallReferrer`).
|
|
5
|
+
*
|
|
6
|
+
* Android-only. Wraps Google Play's Install Referrer API to read the `referrer`
|
|
7
|
+
* string the Play Store recorded at install time (e.g. `scalebun_click_id=...`,
|
|
8
|
+
* `utm_source=...`, `gclid=...`). That string ties the install to the exact click,
|
|
9
|
+
* enabling deterministic attribution — the strongest match method on Android.
|
|
10
|
+
*
|
|
11
|
+
* iOS has no equivalent (attribution there is SKAdNetwork), so there is no iOS
|
|
12
|
+
* native impl; the JS bridge is a no-op off Android.
|
|
13
|
+
*
|
|
14
|
+
* Resolved via `get` (not `getEnforcing`) so the SDK degrades gracefully when the
|
|
15
|
+
* module is unavailable (iOS, Expo Go, Jest, a not-yet-rebuilt app) → returns null.
|
|
16
|
+
*/
|
|
17
|
+
export interface Spec extends TurboModule {
|
|
18
|
+
/**
|
|
19
|
+
* Resolve the Play Install Referrer string. Resolves to the raw (URL-encoded)
|
|
20
|
+
* referrer — possibly `""` for an organic install with no referrer. Rejects when
|
|
21
|
+
* the Play Install Referrer service is unavailable (no Play Store, transient
|
|
22
|
+
* error), so the JS layer can retry on a later launch.
|
|
23
|
+
*/
|
|
24
|
+
getInstallReferrer(): Promise<string>;
|
|
25
|
+
}
|
|
26
|
+
declare const _default: Spec | null;
|
|
27
|
+
export default _default;
|
|
28
|
+
//# sourceMappingURL=NativeScaleBunInstallReferrer.d.ts.map
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import type { TurboModule } from 'react-native';
|
|
2
|
+
/**
|
|
3
|
+
* React Native Codegen spec for OTA bundle management.
|
|
4
|
+
*
|
|
5
|
+
* Manages on-disk bundle slots (current/next/previous), boot-guard markers,
|
|
6
|
+
* and atomic bundle application. All heavy lifting (download, verify, apply)
|
|
7
|
+
* is driven from JS via the OtaOrchestrator; the native module owns the
|
|
8
|
+
* filesystem layout and the boot-guard marker that operates below JS.
|
|
9
|
+
*
|
|
10
|
+
* Sprint 1: scaffold with no-op methods that return safe defaults.
|
|
11
|
+
* Sprint 2-3: real implementations (Android Kotlin + iOS Swift).
|
|
12
|
+
*
|
|
13
|
+
* Slot layout (see docs/ota-native-design.md):
|
|
14
|
+
* {appFilesDir}/scalebun_ota/current/ — active bundle
|
|
15
|
+
* {appFilesDir}/scalebun_ota/next/ — staged downloaded bundle
|
|
16
|
+
* {appFilesDir}/scalebun_ota/previous/ — rollback target
|
|
17
|
+
*/
|
|
18
|
+
export interface Spec extends TurboModule {
|
|
19
|
+
/**
|
|
20
|
+
* Returns the absolute path to the active JS bundle, or null if using the
|
|
21
|
+
* default Metro/RN bundle. Called by the native app entry point to resolve
|
|
22
|
+
* the bundle URL at launch.
|
|
23
|
+
*/
|
|
24
|
+
getActiveBundle(): string | null;
|
|
25
|
+
/**
|
|
26
|
+
* JSON array (string) of the trusted key IDs embedded in the app package, e.g.
|
|
27
|
+
* `["production-2026-01"]`. Reported on OTA check-in for SDK trust coverage
|
|
28
|
+
* (CICDPAGE §12) so the dashboard can measure key-rotation adoption. This is
|
|
29
|
+
* telemetry ONLY — the server never trusts a key because a device claims it.
|
|
30
|
+
* Empty array when no keys are embedded.
|
|
31
|
+
*/
|
|
32
|
+
getTrustedKeyIds(): string;
|
|
33
|
+
/** JSON array of root/jailbreak indicator strings; [] when none found. */
|
|
34
|
+
getDeviceIntegrity(): string;
|
|
35
|
+
/**
|
|
36
|
+
* Returns JSON with current slot state:
|
|
37
|
+
* { current: { bundleId, version, sha256, installedAt } | null,
|
|
38
|
+
* next: ... | null, previous: ... | null,
|
|
39
|
+
* bootMarkerPresent: boolean }
|
|
40
|
+
*/
|
|
41
|
+
getSlotState(): string;
|
|
42
|
+
/**
|
|
43
|
+
* Write a downloaded bundle from `sourcePath` to the 'next' slot.
|
|
44
|
+
* Verifies the sha256 before finalizing. Returns success boolean.
|
|
45
|
+
*/
|
|
46
|
+
stageBundle(sourcePath: string, sha256: string): Promise<boolean>;
|
|
47
|
+
/**
|
|
48
|
+
* Sprint 7 (S7-NAT-1): Apply a binary patch to the current bundle,
|
|
49
|
+
* producing a new bundle in the 'next' slot.
|
|
50
|
+
*
|
|
51
|
+
* @param patchUrl - URL to download the patch file
|
|
52
|
+
* @param patchSha256 - SHA-256 of the patch file itself
|
|
53
|
+
* @param expectedSha256 - SHA-256 of the resulting full bundle after patching
|
|
54
|
+
* @returns true if patch was applied and the result matches expectedSha256
|
|
55
|
+
*
|
|
56
|
+
* If this returns false, the caller should fall back to full-bundle download.
|
|
57
|
+
* The native implementation uses bspatch (or equivalent) to apply the diff
|
|
58
|
+
* to the current bundle, then verifies the output hash.
|
|
59
|
+
*/
|
|
60
|
+
stagePatch(patchUrl: string, patchSha256: string, expectedSha256: string): Promise<boolean>;
|
|
61
|
+
/**
|
|
62
|
+
* Atomically promote 'next' -> 'current' (and current -> previous).
|
|
63
|
+
* Sets the boot-guard marker. Returns success boolean.
|
|
64
|
+
*/
|
|
65
|
+
applyUpdate(): Promise<boolean>;
|
|
66
|
+
/**
|
|
67
|
+
* Mark the current bundle as healthy (clears the boot-guard marker).
|
|
68
|
+
* Called by the OtaOrchestrator after the app has run successfully for
|
|
69
|
+
* a configurable duration post-update.
|
|
70
|
+
*/
|
|
71
|
+
markHealthy(): void;
|
|
72
|
+
/**
|
|
73
|
+
* Revert to 'previous' slot (boot-guard triggered rollback).
|
|
74
|
+
* Called by native code when the boot-guard marker is still present
|
|
75
|
+
* at cold start, BEFORE JS loads.
|
|
76
|
+
*/
|
|
77
|
+
revertToPrevious(): Promise<boolean>;
|
|
78
|
+
/**
|
|
79
|
+
* Restart the React Native runtime so the applied bundle loads NOW.
|
|
80
|
+
*
|
|
81
|
+
* Exists because `DevSettings.reload()` is a silent no-op in RELEASE builds
|
|
82
|
+
* (verified live: "Triggering app restart…" logged, nothing happened, same
|
|
83
|
+
* process, old bundle still running). That made IMMEDIATE / ON_NEXT_RESUME /
|
|
84
|
+
* `autoRestart` / the CodePush shim's restart all fiction in production.
|
|
85
|
+
* Android: `ReactHost.reload()` (bridgeless) or
|
|
86
|
+
* `recreateReactContextInBackground()` (bridge). iOS: RCTReloadCommand.
|
|
87
|
+
*/
|
|
88
|
+
restartApp(): void;
|
|
89
|
+
/**
|
|
90
|
+
* Verify a SB-OTA-RSA-SHA256-V1 release envelope in NATIVE code, with no side
|
|
91
|
+
* effects. `envelopeJson` is the JSON `{ protocol, keyId, signedPayload,
|
|
92
|
+
* signature, downloadUrl? }` from the check response. Verification uses the
|
|
93
|
+
* trusted RSA public keys EMBEDDED in the app package (never a key from JS or
|
|
94
|
+
* the server) and platform `SHA256withRSA` (present on every supported API
|
|
95
|
+
* level — no API-33 floor).
|
|
96
|
+
*
|
|
97
|
+
* Resolves a verdict JSON string: `{ ok: boolean, code?: string, message?,
|
|
98
|
+
* keyId?, releaseId?, bundleId?, releaseSequence?, artifactSha256?,
|
|
99
|
+
* artifactSize?, resultArtifactSha256?, fingerprint? }`. A failed check is
|
|
100
|
+
* `ok:false` with a stable `code`; a rejected promise is machinery failure and
|
|
101
|
+
* the caller must treat it as a failure, never as valid.
|
|
102
|
+
*/
|
|
103
|
+
verifyRelease(envelopeJson: string): Promise<string>;
|
|
104
|
+
/**
|
|
105
|
+
* Native-ENFORCED install: verify the RSA signature (as `verifyRelease`), then
|
|
106
|
+
* download the artifact, enforce the SIGNED size + SHA-256, and stage it into
|
|
107
|
+
* the `next` slot — all natively. JavaScript cannot stage bytes that were not
|
|
108
|
+
* proven authentic (once trusted keys are embedded, the legacy `stageBundle`
|
|
109
|
+
* path refuses). Does not activate; call `applyUpdate` to promote per the
|
|
110
|
+
* install mode. Resolves the same verdict JSON as `verifyRelease` (`ok:true`
|
|
111
|
+
* once staged).
|
|
112
|
+
*/
|
|
113
|
+
verifyAndStageRelease(envelopeJson: string): Promise<string>;
|
|
114
|
+
/**
|
|
115
|
+
* Native-ENFORCED install from a PATCH (signed releases).
|
|
116
|
+
*
|
|
117
|
+
* Verifies the envelope exactly as `verifyAndStageRelease`; takes the expected
|
|
118
|
+
* size, hash and sequence ONLY from that verified payload; reads the current
|
|
119
|
+
* bundle under the slot lock and requires it to have come through the signed
|
|
120
|
+
* path with its recorded hash intact; downloads the patch (`patchJson`:
|
|
121
|
+
* `{url,size,sha256,baseBundleId,baseSha256?}`), rebuilds with size limits,
|
|
122
|
+
* and stages only if the result matches the SIGNED size and SHA-256. The patch
|
|
123
|
+
* bytes themselves are unsigned — the signed result hash is what anchors them.
|
|
124
|
+
*
|
|
125
|
+
* Resolves the same verdict JSON as `verifyAndStageRelease`, plus
|
|
126
|
+
* `patchUsed: true` on success. Any failure resolves `ok:false`; the caller
|
|
127
|
+
* falls back to `verifyAndStageRelease`. Absent from native builds that predate
|
|
128
|
+
* it — callers feature-detect (`typeof … === 'function'`).
|
|
129
|
+
*/
|
|
130
|
+
verifyAndStagePatch(envelopeJson: string, patchJson: string): Promise<string>;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Resolved via `get` (not `getEnforcing`) so the SDK degrades gracefully when
|
|
134
|
+
* the native module is unavailable (web/SSR, Jest, an app that hasn't rebuilt
|
|
135
|
+
* native yet) — it returns `null` and OtaOrchestrator disables itself with a
|
|
136
|
+
* single warning. On the Old Architecture the registry transparently bridges
|
|
137
|
+
* to the legacy `NativeModules.ScaleBunOta`.
|
|
138
|
+
*/
|
|
139
|
+
declare const _default: Spec | null;
|
|
140
|
+
export default _default;
|
|
141
|
+
//# sourceMappingURL=NativeScaleBunOta.d.ts.map
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { TurboModule } from 'react-native';
|
|
2
|
+
/**
|
|
3
|
+
* React Native Codegen spec for the native performance module (`ScaleBunPerformance`).
|
|
4
|
+
*
|
|
5
|
+
* Declares the New Architecture (TurboModule) **method** surface. The native
|
|
6
|
+
* performance events (`ScaleBunPerformance_FrameMetrics`, `ScaleBunPerformance_UiHang`)
|
|
7
|
+
* are delivered via the device event emitter and consumed with
|
|
8
|
+
* `NativeEventEmitter`, independent of the TurboModule and identical on both
|
|
9
|
+
* architectures. `addListener` / `removeListeners` satisfy `NativeEventEmitter`.
|
|
10
|
+
*
|
|
11
|
+
* Method names/shapes mirror the existing native module exactly. `getAppStartInfo`
|
|
12
|
+
* resolves a generic `Object` (or `null` when not yet available).
|
|
13
|
+
*
|
|
14
|
+
* iOS note: this module subclasses `RCTEventEmitter` and is served via the
|
|
15
|
+
* interop layer on iOS (the JS resolver falls back to `NativeModules`); only
|
|
16
|
+
* Android registers it as a pure TurboModule today.
|
|
17
|
+
*/
|
|
18
|
+
export interface Spec extends TurboModule {
|
|
19
|
+
initialize(): Promise<boolean>;
|
|
20
|
+
getAppStartInfo(): Promise<Object>;
|
|
21
|
+
startFrameMetrics(intervalMs: number): Promise<boolean>;
|
|
22
|
+
stopFrameMetrics(): Promise<boolean>;
|
|
23
|
+
startHangDetection(thresholdMs: number): Promise<boolean>;
|
|
24
|
+
stopHangDetection(): Promise<boolean>;
|
|
25
|
+
destroy(): Promise<boolean>;
|
|
26
|
+
addListener(eventName: string): void;
|
|
27
|
+
removeListeners(count: number): void;
|
|
28
|
+
}
|
|
29
|
+
declare const _default: Spec | null;
|
|
30
|
+
export default _default;
|
|
31
|
+
//# sourceMappingURL=NativeScaleBunPerformance.d.ts.map
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { TurboModule } from 'react-native';
|
|
2
|
+
/**
|
|
3
|
+
* React Native Codegen spec for the native profiler module (`ScaleBunProfiler`).
|
|
4
|
+
*
|
|
5
|
+
* Declares the New Architecture (TurboModule) **method** surface. Native
|
|
6
|
+
* profiling events (`ScaleBunProfiler_SampleBatch`, `_Incident`, `_ThreadSnapshot`,
|
|
7
|
+
* `_StateChanged`, `_Capabilities`) continue to be delivered via the device
|
|
8
|
+
* event emitter and consumed with `NativeEventEmitter` — independent of the
|
|
9
|
+
* TurboModule, and identical on both architectures. `addListener` /
|
|
10
|
+
* `removeListeners` are required by `NativeEventEmitter`.
|
|
11
|
+
*
|
|
12
|
+
* Method names/shapes mirror the existing native module exactly. Codegen has a
|
|
13
|
+
* limited type system, so config/result maps are generic `Object`.
|
|
14
|
+
*
|
|
15
|
+
* iOS note: on iOS this module subclasses `RCTEventEmitter` and is served via
|
|
16
|
+
* the interop layer (the JS bridge falls back to `NativeModules`); only Android
|
|
17
|
+
* registers it as a pure TurboModule today.
|
|
18
|
+
*/
|
|
19
|
+
export interface Spec extends TurboModule {
|
|
20
|
+
startProfiler(config: Object): Promise<boolean>;
|
|
21
|
+
stopProfiler(): Promise<boolean>;
|
|
22
|
+
pauseProfilerStream(): Promise<boolean>;
|
|
23
|
+
resumeProfilerStream(): Promise<boolean>;
|
|
24
|
+
captureProfilerSnapshot(): Promise<Object>;
|
|
25
|
+
setProfilerConfig(config: Object): Promise<boolean>;
|
|
26
|
+
markProfilerSpan(spanName: string, spanId: string, metadata?: Object): Promise<boolean>;
|
|
27
|
+
endProfilerSpan(spanId: string): Promise<boolean>;
|
|
28
|
+
markProfilerInteraction(interactionId: string, interactionName: string): Promise<boolean>;
|
|
29
|
+
flushProfilerExport(): Promise<Object>;
|
|
30
|
+
getProfilerCapabilities(): Promise<Object>;
|
|
31
|
+
setCurrentScreen(screenName: string): Promise<boolean>;
|
|
32
|
+
setSessionId(sessionId: string): Promise<boolean>;
|
|
33
|
+
addListener(eventName: string): void;
|
|
34
|
+
removeListeners(count: number): void;
|
|
35
|
+
}
|
|
36
|
+
declare const _default: Spec | null;
|
|
37
|
+
export default _default;
|
|
38
|
+
//# sourceMappingURL=NativeScaleBunProfiler.d.ts.map
|