@scalebun/react-native 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +65 -65
- package/android/build/generated/source/buildConfig/debug/com/scalebun/sdk/BuildConfig.java +12 -0
- package/android/build/generated/source/codegen/java/com/scalebun/spec/NativeReplaySdkSpec.java +208 -0
- package/android/build/generated/source/codegen/java/com/scalebun/spec/NativeScaleBunCrashSpec.java +46 -0
- package/android/build/generated/source/codegen/java/com/scalebun/spec/NativeScaleBunInstallReferrerSpec.java +38 -0
- package/android/build/generated/source/codegen/java/com/scalebun/spec/NativeScaleBunOtaSpec.java +63 -0
- package/android/build/generated/source/codegen/java/com/scalebun/spec/NativeScaleBunPerformanceSpec.java +70 -0
- package/android/build/generated/source/codegen/java/com/scalebun/spec/NativeScaleBunProfilerSpec.java +96 -0
- package/android/build/generated/source/codegen/java/com/scalebun/spec/NativeScaleBunStorageSpec.java +50 -0
- package/android/build/generated/source/codegen/jni/CMakeLists.txt +28 -0
- package/android/build/generated/source/codegen/jni/ScaleBunSpec-generated.cpp +554 -0
- package/android/build/generated/source/codegen/jni/ScaleBunSpec.h +79 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/ScaleBunSpec/ComponentDescriptors.cpp +22 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/ScaleBunSpec/ComponentDescriptors.h +24 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/ScaleBunSpec/EventEmitters.cpp +16 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/ScaleBunSpec/EventEmitters.h +17 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/ScaleBunSpec/Props.cpp +19 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/ScaleBunSpec/Props.h +18 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/ScaleBunSpec/ScaleBunSpecJSI-generated.cpp +595 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/ScaleBunSpec/ScaleBunSpecJSI.h +1070 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/ScaleBunSpec/ShadowNodes.cpp +17 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/ScaleBunSpec/ShadowNodes.h +23 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/ScaleBunSpec/States.cpp +16 -0
- package/android/build/generated/source/codegen/jni/react/renderer/components/ScaleBunSpec/States.h +20 -0
- package/android/build/generated/source/codegen/schema.json +1 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +20 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
- package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
- package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
- package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
- package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +0 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeDebugAssets/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
- package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/scalebun_react-native_debug.kotlin_module +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/scalebun/sdk/BuildConfig.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/scalebun/spec/NativeReplaySdkSpec.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/scalebun/spec/NativeScaleBunCrashSpec.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/scalebun/spec/NativeScaleBunInstallReferrerSpec.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/scalebun/spec/NativeScaleBunOtaSpec.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/scalebun/spec/NativeScaleBunPerformanceSpec.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/scalebun/spec/NativeScaleBunProfilerSpec.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/scalebun/spec/NativeScaleBunStorageSpec.class +0 -0
- package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +2 -0
- package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +24 -0
- package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +20 -0
- package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
- package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/scalebun_react-native_debug.kotlin_module +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/core/crash/CrashStorage.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/core/crash/NativeCrashHandler$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/core/crash/NativeCrashHandler.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/core/performance/ANRWatchdog$HangInfo.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/core/performance/ANRWatchdog.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/core/performance/AppStartCollector$AppStartInfo.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/core/performance/AppStartCollector$Breakdown.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/core/performance/AppStartCollector$start$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/core/performance/AppStartCollector.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/core/performance/FrameMetricsCollector$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/core/performance/FrameMetricsCollector$FrameMetricsSnapshot.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/core/performance/FrameMetricsCollector$start$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/core/performance/FrameMetricsCollector$startChoreographerFallback$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/core/performance/FrameMetricsCollector.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/core/performance/PerformanceCore$Listener.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/core/performance/PerformanceCore.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/profiler/ProfilerModule$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/profiler/ProfilerModule.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/profiler/ProfilerPackage.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/profiler/ProfilerSpec.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/profiler/collectors/CpuCollector.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/profiler/collectors/IncidentDetector.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/profiler/collectors/MemoryCollector.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/profiler/collectors/RenderCollector$frameCallback$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/profiler/collectors/RenderCollector.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/profiler/collectors/SamplerScheduler.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/profiler/collectors/SamplerSchedulerKt.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/profiler/collectors/ThreadCollector$WhenMappings.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/profiler/collectors/ThreadCollector.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/ReplaySdkModule$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/ReplaySdkModule$registerConnectivity$cb$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/ReplaySdkModule.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/ReplaySdkPackage.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/ReplaySdkSpec.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/capture/CaptureReason$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/capture/CaptureReason.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/capture/FrameCaptureManager$startFrequencyTimer$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/capture/FrameCaptureManager.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/capture/FrameCaptureScheduler$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/capture/FrameCaptureScheduler$FrameRequest.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/capture/FrameCaptureScheduler.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/capture/UiStabilityDetector$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/capture/UiStabilityDetector$SettleWatch.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/capture/UiStabilityDetector$StabilityWatch.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/capture/UiStabilityDetector.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/core/CaptureMode$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/core/CaptureMode.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/core/ReplayConfig$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/core/ReplayConfig.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/core/ReplayLogger.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/core/ScreenshotQuality$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/core/ScreenshotQuality.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/core/SessionIdGenerator.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/core/SessionState.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/models/ReplayFrame.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/models/ReplaySession.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/models/TimelineEvent.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/outbox/NativeOutbox$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/outbox/NativeOutbox$enforceLimits$lambda$37$$inlined$sortedBy$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/outbox/NativeOutbox.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/outbox/OutboxUploader$NetResult$NetworkError.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/outbox/OutboxUploader$NetResult$Response.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/outbox/OutboxUploader$NetResult.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/outbox/OutboxUploader$Outcome.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/outbox/OutboxUploader$WhenMappings.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/outbox/OutboxUploader.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/privacy/PrivacyMaskProcessor.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/session/SessionManager.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/storage/ReplayStorage$enforceStorageLimit$$inlined$sortedBy$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/storage/ReplayStorage.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/timeline/TimelineCollector.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/tracking/DialogTouchObserver$start$runnable$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/tracking/DialogTouchObserver.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/tracking/InteractionTracker.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/tracking/NativeTouchInterceptor.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/tracking/ScreenTracker.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/transport/ReplayTransport$UploadResult.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/transport/ReplayTransport$upload$2.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/transport/ReplayTransport.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/voice/VoiceRecorder$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/voice/VoiceRecorder$Result.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/voice/VoiceRecorder.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/voice/VoiceTranscriber$TranscriptResult.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/voice/VoiceTranscriber$listener$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/replaysdk/voice/VoiceTranscriber.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/rn/ScaleBunPackage$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/rn/ScaleBunPackage.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/rn/crash/ScaleBunCrashModule$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/rn/crash/ScaleBunCrashModule.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/rn/crash/ScaleBunCrashPackage.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/rn/crash/ScaleBunCrashSpec.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/rn/engage/ScaleBunEngageModule$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/rn/engage/ScaleBunEngageModule$WindowInsetEdges.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/rn/engage/ScaleBunEngageModule$shakeListener$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/rn/engage/ScaleBunEngageModule.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/rn/engage/ScaleBunEngagePackage.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/rn/engage/ScaleBunNotificationPresenter.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/rn/ota/ScaleBunOtaModule$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/rn/ota/ScaleBunOtaModule.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/rn/ota/ScaleBunOtaSpec.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/rn/ota/SlotManager$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/rn/ota/SlotManager.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/rn/performance/PerformanceModule$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/rn/performance/PerformanceModule$coreListener$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/rn/performance/PerformanceModule.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/rn/performance/PerformanceSpec.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/rn/referrer/ScaleBunInstallReferrerModule$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/rn/referrer/ScaleBunInstallReferrerModule$getInstallReferrer$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/rn/referrer/ScaleBunInstallReferrerModule.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/rn/referrer/ScaleBunInstallReferrerSpec.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/rn/storage/ScaleBunStorageModule$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/rn/storage/ScaleBunStorageModule.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/rn/storage/ScaleBunStorageSpec.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/sdk/BuildConfig.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/spec/NativeReplaySdkSpec.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/spec/NativeScaleBunCrashSpec.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/spec/NativeScaleBunInstallReferrerSpec.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/spec/NativeScaleBunOtaSpec.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/spec/NativeScaleBunPerformanceSpec.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/spec/NativeScaleBunProfilerSpec.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/spec/NativeScaleBunStorageSpec.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/storage/KvFileStore$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/scalebun/storage/KvFileStore.class +0 -0
- package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +1 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.s +1 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.s +1 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
- package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
- package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
- package/android/build/outputs/logs/manifest-merger-debug-report.txt +25 -0
- package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
- package/android/build/tmp/kotlin-classes/debug/META-INF/scalebun_react-native_debug.kotlin_module +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/core/crash/CrashStorage.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/core/crash/NativeCrashHandler$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/core/crash/NativeCrashHandler.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/core/performance/ANRWatchdog$HangInfo.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/core/performance/ANRWatchdog.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/core/performance/AppStartCollector$AppStartInfo.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/core/performance/AppStartCollector$Breakdown.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/core/performance/AppStartCollector$start$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/core/performance/AppStartCollector.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/core/performance/FrameMetricsCollector$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/core/performance/FrameMetricsCollector$FrameMetricsSnapshot.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/core/performance/FrameMetricsCollector$start$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/core/performance/FrameMetricsCollector$startChoreographerFallback$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/core/performance/FrameMetricsCollector.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/core/performance/PerformanceCore$Listener.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/core/performance/PerformanceCore.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/profiler/ProfilerModule$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/profiler/ProfilerModule.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/profiler/ProfilerPackage.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/profiler/ProfilerSpec.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/profiler/collectors/CpuCollector.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/profiler/collectors/IncidentDetector.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/profiler/collectors/MemoryCollector.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/profiler/collectors/RenderCollector$frameCallback$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/profiler/collectors/RenderCollector.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/profiler/collectors/SamplerScheduler.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/profiler/collectors/SamplerSchedulerKt.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/profiler/collectors/ThreadCollector$WhenMappings.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/profiler/collectors/ThreadCollector.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/ReplaySdkModule$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/ReplaySdkModule$registerConnectivity$cb$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/ReplaySdkModule.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/ReplaySdkPackage.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/ReplaySdkSpec.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/capture/CaptureReason$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/capture/CaptureReason.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/capture/FrameCaptureManager$startFrequencyTimer$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/capture/FrameCaptureManager.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/capture/FrameCaptureScheduler$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/capture/FrameCaptureScheduler$FrameRequest.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/capture/FrameCaptureScheduler.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/capture/UiStabilityDetector$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/capture/UiStabilityDetector$SettleWatch.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/capture/UiStabilityDetector$StabilityWatch.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/capture/UiStabilityDetector.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/core/CaptureMode$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/core/CaptureMode.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/core/ReplayConfig$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/core/ReplayConfig.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/core/ReplayLogger.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/core/ScreenshotQuality$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/core/ScreenshotQuality.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/core/SessionIdGenerator.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/core/SessionState.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/models/ReplayFrame.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/models/ReplaySession.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/models/TimelineEvent.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/outbox/NativeOutbox$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/outbox/NativeOutbox$enforceLimits$lambda$37$$inlined$sortedBy$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/outbox/NativeOutbox.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/outbox/OutboxUploader$NetResult$NetworkError.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/outbox/OutboxUploader$NetResult$Response.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/outbox/OutboxUploader$NetResult.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/outbox/OutboxUploader$Outcome.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/outbox/OutboxUploader$WhenMappings.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/outbox/OutboxUploader.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/privacy/PrivacyMaskProcessor.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/session/SessionManager.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/storage/ReplayStorage$enforceStorageLimit$$inlined$sortedBy$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/storage/ReplayStorage.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/timeline/TimelineCollector.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/tracking/DialogTouchObserver$start$runnable$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/tracking/DialogTouchObserver.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/tracking/InteractionTracker.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/tracking/NativeTouchInterceptor.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/tracking/ScreenTracker.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/transport/ReplayTransport$UploadResult.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/transport/ReplayTransport$upload$2.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/transport/ReplayTransport.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/voice/VoiceRecorder$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/voice/VoiceRecorder$Result.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/voice/VoiceRecorder.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/voice/VoiceTranscriber$TranscriptResult.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/voice/VoiceTranscriber$listener$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/replaysdk/voice/VoiceTranscriber.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/rn/ScaleBunPackage$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/rn/ScaleBunPackage.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/rn/crash/ScaleBunCrashModule$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/rn/crash/ScaleBunCrashModule.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/rn/crash/ScaleBunCrashPackage.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/rn/crash/ScaleBunCrashSpec.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/rn/engage/ScaleBunEngageModule$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/rn/engage/ScaleBunEngageModule$WindowInsetEdges.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/rn/engage/ScaleBunEngageModule$shakeListener$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/rn/engage/ScaleBunEngageModule.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/rn/engage/ScaleBunEngagePackage.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/rn/engage/ScaleBunNotificationPresenter.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/rn/ota/ScaleBunOtaModule$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/rn/ota/ScaleBunOtaModule.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/rn/ota/ScaleBunOtaSpec.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/rn/ota/SlotManager$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/rn/ota/SlotManager.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/rn/performance/PerformanceModule$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/rn/performance/PerformanceModule$coreListener$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/rn/performance/PerformanceModule.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/rn/performance/PerformanceSpec.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/rn/referrer/ScaleBunInstallReferrerModule$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/rn/referrer/ScaleBunInstallReferrerModule$getInstallReferrer$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/rn/referrer/ScaleBunInstallReferrerModule.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/rn/referrer/ScaleBunInstallReferrerSpec.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/rn/storage/ScaleBunStorageModule$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/rn/storage/ScaleBunStorageModule.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/rn/storage/ScaleBunStorageSpec.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/storage/KvFileStore$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/scalebun/storage/KvFileStore.class +0 -0
- package/android/build.gradle +86 -86
- package/android/consumer-rules.pro +28 -28
- package/android/src/main/AndroidManifest.xml +14 -14
- package/android/src/main/java/com/scalebun/core/crash/CrashStorage.kt +41 -41
- package/android/src/main/java/com/scalebun/core/crash/NativeCrashHandler.kt +79 -79
- package/android/src/main/java/com/scalebun/core/performance/ANRWatchdog.kt +100 -100
- package/android/src/main/java/com/scalebun/core/performance/AppStartCollector.kt +132 -132
- package/android/src/main/java/com/scalebun/core/performance/FrameMetricsCollector.kt +230 -230
- package/android/src/main/java/com/scalebun/core/performance/PerformanceCore.kt +165 -165
- package/android/src/main/java/com/scalebun/profiler/ProfilerModule.kt +398 -398
- package/android/src/main/java/com/scalebun/profiler/ProfilerPackage.kt +24 -24
- package/android/src/main/java/com/scalebun/profiler/collectors/CpuCollector.kt +161 -161
- package/android/src/main/java/com/scalebun/profiler/collectors/IncidentDetector.kt +223 -223
- package/android/src/main/java/com/scalebun/profiler/collectors/MemoryCollector.kt +157 -157
- package/android/src/main/java/com/scalebun/profiler/collectors/RenderCollector.kt +194 -194
- package/android/src/main/java/com/scalebun/profiler/collectors/SamplerScheduler.kt +218 -218
- package/android/src/main/java/com/scalebun/profiler/collectors/ThreadCollector.kt +142 -142
- package/android/src/main/java/com/scalebun/replaysdk/ReplaySdkModule.kt +966 -966
- package/android/src/main/java/com/scalebun/replaysdk/ReplaySdkPackage.kt +24 -24
- package/android/src/main/java/com/scalebun/replaysdk/capture/CaptureReason.kt +47 -47
- package/android/src/main/java/com/scalebun/replaysdk/capture/FrameCaptureManager.kt +508 -508
- package/android/src/main/java/com/scalebun/replaysdk/capture/FrameCaptureScheduler.kt +187 -187
- package/android/src/main/java/com/scalebun/replaysdk/capture/UiStabilityDetector.kt +214 -214
- package/android/src/main/java/com/scalebun/replaysdk/core/ReplayConfig.kt +144 -144
- package/android/src/main/java/com/scalebun/replaysdk/core/ReplayLogger.kt +31 -31
- package/android/src/main/java/com/scalebun/replaysdk/core/SessionIdGenerator.kt +15 -15
- package/android/src/main/java/com/scalebun/replaysdk/models/ReplayModels.kt +88 -88
- package/android/src/main/java/com/scalebun/replaysdk/outbox/NativeOutbox.kt +541 -541
- package/android/src/main/java/com/scalebun/replaysdk/outbox/OutboxUploader.kt +407 -407
- package/android/src/main/java/com/scalebun/replaysdk/privacy/PrivacyMaskProcessor.kt +126 -126
- package/android/src/main/java/com/scalebun/replaysdk/session/SessionManager.kt +281 -281
- package/android/src/main/java/com/scalebun/replaysdk/storage/ReplayStorage.kt +136 -136
- package/android/src/main/java/com/scalebun/replaysdk/timeline/TimelineCollector.kt +28 -28
- package/android/src/main/java/com/scalebun/replaysdk/tracking/InteractionTracker.kt +419 -419
- package/android/src/main/java/com/scalebun/replaysdk/tracking/ScreenTracker.kt +20 -20
- package/android/src/main/java/com/scalebun/replaysdk/transport/ReplayTransport.kt +99 -99
- package/android/src/main/java/com/scalebun/replaysdk/voice/VoiceRecorder.kt +121 -121
- package/android/src/main/java/com/scalebun/replaysdk/voice/VoiceTranscriber.kt +104 -104
- package/android/src/main/java/com/scalebun/rn/ScaleBunPackage.kt +113 -113
- package/android/src/main/java/com/scalebun/rn/crash/ScaleBunCrashModule.kt +100 -100
- package/android/src/main/java/com/scalebun/rn/crash/ScaleBunCrashPackage.kt +22 -22
- package/android/src/main/java/com/scalebun/rn/engage/ScaleBunEngageModule.kt +579 -579
- package/android/src/main/java/com/scalebun/rn/engage/ScaleBunEngagePackage.kt +22 -22
- package/android/src/main/java/com/scalebun/rn/engage/ScaleBunNotificationPresenter.kt +110 -110
- package/android/src/main/java/com/scalebun/rn/ota/ScaleBunOtaModule.kt +136 -136
- package/android/src/main/java/com/scalebun/rn/ota/SlotManager.kt +285 -285
- package/android/src/main/java/com/scalebun/rn/performance/PerformanceModule.kt +206 -206
- package/android/src/main/java/com/scalebun/rn/referrer/ScaleBunInstallReferrerModule.kt +77 -77
- package/android/src/main/java/com/scalebun/rn/storage/ScaleBunStorageModule.kt +68 -68
- package/android/src/main/java/com/scalebun/storage/KvFileStore.kt +174 -174
- package/android/src/newarch/java/com/scalebun/profiler/ProfilerSpec.kt +12 -12
- package/android/src/newarch/java/com/scalebun/replaysdk/ReplaySdkSpec.kt +12 -12
- package/android/src/newarch/java/com/scalebun/rn/crash/ScaleBunCrashSpec.kt +15 -15
- package/android/src/newarch/java/com/scalebun/rn/ota/ScaleBunOtaSpec.kt +16 -16
- package/android/src/newarch/java/com/scalebun/rn/performance/PerformanceSpec.kt +12 -12
- package/android/src/newarch/java/com/scalebun/rn/referrer/ScaleBunInstallReferrerSpec.kt +14 -14
- package/android/src/newarch/java/com/scalebun/rn/storage/ScaleBunStorageSpec.kt +16 -16
- package/android/src/oldarch/java/com/scalebun/profiler/ProfilerSpec.kt +34 -34
- package/android/src/oldarch/java/com/scalebun/replaysdk/ReplaySdkSpec.kt +76 -76
- package/android/src/oldarch/java/com/scalebun/rn/crash/ScaleBunCrashSpec.kt +21 -21
- package/android/src/oldarch/java/com/scalebun/rn/ota/ScaleBunOtaSpec.kt +25 -25
- package/android/src/oldarch/java/com/scalebun/rn/performance/PerformanceSpec.kt +27 -27
- package/android/src/oldarch/java/com/scalebun/rn/referrer/ScaleBunInstallReferrerSpec.kt +18 -18
- package/android/src/oldarch/java/com/scalebun/rn/storage/ScaleBunStorageSpec.kt +26 -26
- package/bin/lib/iosCodemod.js +266 -266
- package/bin/scalebun.js +640 -640
- package/ios/Capture/InteractionTracker.swift +191 -191
- package/ios/Capture/PrivacyMaskProcessor.swift +158 -158
- package/ios/Capture/ScreenshotCaptureManager.swift +315 -315
- package/ios/Capture/WindowResolver.swift +63 -63
- package/ios/Core/ReplayConfig.swift +100 -100
- package/ios/Core/ReplayLogger.swift +22 -22
- package/ios/Core/SessionIdGenerator.swift +18 -18
- package/ios/Crash/ScaleBunCrashBridge.mm +63 -63
- package/ios/Crash/ScaleBunCrashHandler.swift +67 -67
- package/ios/Crash/ScaleBunCrashModule.swift +69 -69
- package/ios/Crash/ScaleBunCrashSignalBridge.h +18 -18
- package/ios/Crash/ScaleBunCrashSignalBridge.m +131 -131
- package/ios/Crash/ScaleBunCrashStorage.swift +46 -46
- package/ios/Engage/ScaleBunEngageBridge.m +32 -32
- package/ios/Engage/ScaleBunEngageModule.swift +250 -250
- package/ios/Engage/ScaleBunPushNotificationCenter.swift +185 -185
- package/ios/Ota/OtaSlotManager.swift +264 -264
- package/ios/Ota/ScaleBunOtaBridge.mm +68 -68
- package/ios/Ota/ScaleBunOtaModule.swift +123 -123
- package/ios/Outbox/NativeOutbox.swift +598 -598
- package/ios/Outbox/OutboxUploader.swift +431 -431
- package/ios/Performance/ScaleBunPerformanceBridge.m +32 -32
- package/ios/Performance/ScaleBunPerformanceModule.swift +290 -290
- package/ios/PrivacyInfo.xcprivacy +97 -97
- package/ios/Profiler/ScaleBunProfilerBridge.m +55 -55
- package/ios/Profiler/ScaleBunProfilerModule.swift +972 -972
- package/ios/ReplaySdk-Bridging-Header.h +2 -2
- package/ios/ReplaySdk.swift +608 -608
- package/ios/ReplaySdkBridge.m +94 -94
- package/ios/Session/SessionManager.swift +203 -203
- package/ios/Skan/ScaleBunSkanBridge.m +14 -14
- package/ios/Skan/ScaleBunSkanModule.swift +61 -61
- package/ios/Storage/ReplayStorage.swift +61 -61
- package/ios/Storage/ScaleBunKvFileStore.swift +125 -125
- package/ios/Storage/ScaleBunStorageBridge.mm +72 -72
- package/ios/Storage/ScaleBunStorageModule.swift +57 -57
- package/ios/Transport/ReplayTransport.swift +70 -70
- package/ios/VoiceRecorder.swift +145 -145
- package/lib/commonjs/analytics/EventTracker.js +34 -34
- package/lib/commonjs/analytics/EventTracker.js.map +1 -1
- package/lib/commonjs/analytics/automaticEvents.js +7 -7
- package/lib/commonjs/analytics/automaticEvents.js.map +1 -1
- package/lib/commonjs/analytics/batching.js +24 -24
- package/lib/commonjs/analytics/batching.js.map +1 -1
- package/lib/commonjs/analytics/eventLane.js +13 -13
- package/lib/commonjs/analytics/eventLane.js.map +1 -1
- package/lib/commonjs/bootstrap/FeatureRegistry.js +17 -17
- package/lib/commonjs/bootstrap/FeatureRegistry.js.map +1 -1
- package/lib/commonjs/bootstrap/SDKBootstrapper.js +42 -42
- package/lib/commonjs/bootstrap/SDKBootstrapper.js.map +1 -1
- package/lib/commonjs/bucketing/fnv1a32.js +10 -10
- package/lib/commonjs/bucketing/fnv1a32.js.map +1 -1
- package/lib/commonjs/compat/codepush.js +6 -6
- package/lib/commonjs/compat/codepush.js.map +1 -1
- package/lib/commonjs/config/ConfigManager.js +20 -20
- package/lib/commonjs/config/ConfigManager.js.map +1 -1
- package/lib/commonjs/config/configTypes.js.map +1 -1
- package/lib/commonjs/core/architecture.js +23 -23
- package/lib/commonjs/core/architecture.js.map +1 -1
- package/lib/commonjs/core/clock/now.js +2 -2
- package/lib/commonjs/core/clock/now.js.map +1 -1
- package/lib/commonjs/core/config/defaults.js.map +1 -1
- package/lib/commonjs/core/config/schema.js +102 -102
- package/lib/commonjs/core/config/schema.js.map +1 -1
- package/lib/commonjs/core/constants/endpoints.js +7 -7
- package/lib/commonjs/core/constants/endpoints.js.map +1 -1
- package/lib/commonjs/core/constants/timings.js +5 -5
- package/lib/commonjs/core/constants/timings.js.map +1 -1
- package/lib/commonjs/core/constants/version.js +4 -4
- package/lib/commonjs/core/constants/version.js.map +1 -1
- package/lib/commonjs/core/context/app.js.map +1 -1
- package/lib/commonjs/core/context/device.js.map +1 -1
- package/lib/commonjs/core/context/session.js.map +1 -1
- package/lib/commonjs/core/context/user.js.map +1 -1
- package/lib/commonjs/core/contracts/IFeature.js.map +1 -1
- package/lib/commonjs/core/di/container.js.map +1 -1
- package/lib/commonjs/core/encoding/base64.js +9 -9
- package/lib/commonjs/core/encoding/base64.js.map +1 -1
- package/lib/commonjs/core/id/deviceId.js +4 -4
- package/lib/commonjs/core/id/deviceId.js.map +1 -1
- package/lib/commonjs/core/id/sessionId.js.map +1 -1
- package/lib/commonjs/core/lifecycle/appLifecycle.js.map +1 -1
- package/lib/commonjs/core/lifecycle/crashSafe.js +3 -3
- package/lib/commonjs/core/lifecycle/crashSafe.js.map +1 -1
- package/lib/commonjs/core/logger/errorClassification.js +30 -30
- package/lib/commonjs/core/logger/errorClassification.js.map +1 -1
- package/lib/commonjs/core/logger/internalLogger.js.map +1 -1
- package/lib/commonjs/core/logger/levels.js.map +1 -1
- package/lib/commonjs/crypto/hmacSha256.js +6 -6
- package/lib/commonjs/crypto/hmacSha256.js.map +1 -1
- package/lib/commonjs/debug/bootstrap.js +26 -26
- package/lib/commonjs/debug/bootstrap.js.map +1 -1
- package/lib/commonjs/debug/commands.js +10 -10
- package/lib/commonjs/debug/commands.js.map +1 -1
- package/lib/commonjs/debug/configBuilder.js +6 -6
- package/lib/commonjs/debug/configBuilder.js.map +1 -1
- package/lib/commonjs/debug/exportBridge.js +17 -17
- package/lib/commonjs/debug/exportBridge.js.map +1 -1
- package/lib/commonjs/debug/hostResolver.js +10 -10
- package/lib/commonjs/debug/hostResolver.js.map +1 -1
- package/lib/commonjs/debug/index.js.map +1 -1
- package/lib/commonjs/debug/metrics.js.map +1 -1
- package/lib/commonjs/debug/perf.js +11 -11
- package/lib/commonjs/debug/perf.js.map +1 -1
- package/lib/commonjs/debug/perfWiring.js +10 -10
- package/lib/commonjs/debug/perfWiring.js.map +1 -1
- package/lib/commonjs/debug/protocol.js.map +1 -1
- package/lib/commonjs/debug/redaction.js +26 -26
- package/lib/commonjs/debug/redaction.js.map +1 -1
- package/lib/commonjs/debug/replayWiring.js +11 -11
- package/lib/commonjs/debug/replayWiring.js.map +1 -1
- package/lib/commonjs/debug/screenTracking.js +7 -7
- package/lib/commonjs/debug/screenTracking.js.map +1 -1
- package/lib/commonjs/debug/sessionWiring.js +8 -8
- package/lib/commonjs/debug/sessionWiring.js.map +1 -1
- package/lib/commonjs/debug/stream.js +26 -26
- package/lib/commonjs/debug/stream.js.map +1 -1
- package/lib/commonjs/debug/transport.js +24 -24
- package/lib/commonjs/debug/transport.js.map +1 -1
- package/lib/commonjs/features/bugreport/index.js.map +1 -1
- package/lib/commonjs/features/crash/CrashFeature.js +9 -9
- package/lib/commonjs/features/crash/CrashFeature.js.map +1 -1
- package/lib/commonjs/features/crash/CrashReporter.js +28 -28
- package/lib/commonjs/features/crash/CrashReporter.js.map +1 -1
- package/lib/commonjs/features/crash/NativeCrashFeature.js +7 -7
- package/lib/commonjs/features/crash/NativeCrashFeature.js.map +1 -1
- package/lib/commonjs/features/crash/capture.js.map +1 -1
- package/lib/commonjs/features/crash/globalHandler.js +11 -11
- package/lib/commonjs/features/crash/globalHandler.js.map +1 -1
- package/lib/commonjs/features/crash/index.js.map +1 -1
- package/lib/commonjs/features/crash/nativeCrashBridge.js +19 -19
- package/lib/commonjs/features/crash/nativeCrashBridge.js.map +1 -1
- package/lib/commonjs/features/engage/EngageAnchor.js +3 -3
- package/lib/commonjs/features/engage/EngageAnchor.js.map +1 -1
- package/lib/commonjs/features/engage/EngageArchetypeRenderers.js +19 -19
- package/lib/commonjs/features/engage/EngageArchetypeRenderers.js.map +1 -1
- package/lib/commonjs/features/engage/EngageInAppView.js +35 -35
- package/lib/commonjs/features/engage/EngageInAppView.js.map +1 -1
- package/lib/commonjs/features/engage/EngageInlinePlacement.js +7 -7
- package/lib/commonjs/features/engage/EngageInlinePlacement.js.map +1 -1
- package/lib/commonjs/features/engage/EngagePromptProvider.js +84 -84
- package/lib/commonjs/features/engage/EngagePromptProvider.js.map +1 -1
- package/lib/commonjs/features/engage/EngagePromptView.js +18 -18
- package/lib/commonjs/features/engage/EngagePromptView.js.map +1 -1
- package/lib/commonjs/features/engage/EngageTransport.js +79 -79
- package/lib/commonjs/features/engage/EngageTransport.js.map +1 -1
- package/lib/commonjs/features/engage/EngageVariantContent.js +10 -10
- package/lib/commonjs/features/engage/EngageVariantContent.js.map +1 -1
- package/lib/commonjs/features/engage/__test-support__/reactNativeStub.js +7 -7
- package/lib/commonjs/features/engage/__test-support__/reactNativeStub.js.map +1 -1
- package/lib/commonjs/features/engage/attachmentCapture.js +12 -12
- package/lib/commonjs/features/engage/attachmentCapture.js.map +1 -1
- package/lib/commonjs/features/engage/captureVoiceAttachment.js +20 -20
- package/lib/commonjs/features/engage/captureVoiceAttachment.js.map +1 -1
- package/lib/commonjs/features/engage/engageCoachmarkTour.js +4 -4
- package/lib/commonjs/features/engage/engageCoachmarkTour.js.map +1 -1
- package/lib/commonjs/features/engage/engageGameLogic.js.map +1 -1
- package/lib/commonjs/features/engage/engageMediaSizing.js +15 -15
- package/lib/commonjs/features/engage/engageMediaSizing.js.map +1 -1
- package/lib/commonjs/features/engage/engageMultiStepSheet.js +6 -6
- package/lib/commonjs/features/engage/engageMultiStepSheet.js.map +1 -1
- package/lib/commonjs/features/engage/engageOutcome.js +6 -6
- package/lib/commonjs/features/engage/engageOutcome.js.map +1 -1
- package/lib/commonjs/features/engage/engagePushTokenBridge.js +20 -20
- package/lib/commonjs/features/engage/engagePushTokenBridge.js.map +1 -1
- package/lib/commonjs/features/engage/engageShakeBridge.js +16 -16
- package/lib/commonjs/features/engage/engageShakeBridge.js.map +1 -1
- package/lib/commonjs/features/engage/engageSignals.js.map +1 -1
- package/lib/commonjs/features/engage/engageStoreReviewBridge.js +19 -19
- package/lib/commonjs/features/engage/engageStoreReviewBridge.js.map +1 -1
- package/lib/commonjs/features/engage/engageTestSeenStore.js +29 -29
- package/lib/commonjs/features/engage/engageTestSeenStore.js.map +1 -1
- package/lib/commonjs/features/engage/engageThrottle.js +76 -76
- package/lib/commonjs/features/engage/engageThrottle.js.map +1 -1
- package/lib/commonjs/features/engage/engageTriggerEngine.js +7 -7
- package/lib/commonjs/features/engage/engageTriggerEngine.js.map +1 -1
- package/lib/commonjs/features/engage/engageTypes.js +33 -33
- package/lib/commonjs/features/engage/engageTypes.js.map +1 -1
- package/lib/commonjs/features/engage/engageVariantResolver.js +13 -13
- package/lib/commonjs/features/engage/engageVariantResolver.js.map +1 -1
- package/lib/commonjs/features/engage/engageWindowInsets.js +10 -10
- package/lib/commonjs/features/engage/engageWindowInsets.js.map +1 -1
- package/lib/commonjs/features/engage/gestureTriggerDetector.js.map +1 -1
- package/lib/commonjs/features/engage/transcription/TranscriptionProvider.js +16 -16
- package/lib/commonjs/features/engage/transcription/TranscriptionProvider.js.map +1 -1
- package/lib/commonjs/features/install-referrer/installReferrer.js +26 -26
- package/lib/commonjs/features/install-referrer/installReferrer.js.map +1 -1
- package/lib/commonjs/features/journey/ScaleBunDebugRoot.js +28 -28
- package/lib/commonjs/features/journey/ScaleBunDebugRoot.js.map +1 -1
- package/lib/commonjs/features/journey/ScaleBunFlatList.js +15 -15
- package/lib/commonjs/features/journey/ScaleBunFlatList.js.map +1 -1
- package/lib/commonjs/features/journey/ScaleBunImpression.js +22 -22
- package/lib/commonjs/features/journey/ScaleBunImpression.js.map +1 -1
- package/lib/commonjs/features/journey/ScaleBunScrollView.js +20 -20
- package/lib/commonjs/features/journey/ScaleBunScrollView.js.map +1 -1
- package/lib/commonjs/features/journey/ScaleBunSectionList.js +15 -15
- package/lib/commonjs/features/journey/ScaleBunSectionList.js.map +1 -1
- package/lib/commonjs/features/journey/calibrationContext.js +12 -12
- package/lib/commonjs/features/journey/calibrationContext.js.map +1 -1
- package/lib/commonjs/features/journey/gestureBuffer.js +9 -9
- package/lib/commonjs/features/journey/gestureBuffer.js.map +1 -1
- package/lib/commonjs/features/journey/gestureDetector.js +10 -10
- package/lib/commonjs/features/journey/gestureDetector.js.map +1 -1
- package/lib/commonjs/features/journey/impression.js +18 -18
- package/lib/commonjs/features/journey/impression.js.map +1 -1
- package/lib/commonjs/features/journey/journeyManager.js +6 -6
- package/lib/commonjs/features/journey/journeyManager.js.map +1 -1
- package/lib/commonjs/features/journey/journeyTypes.js +5 -5
- package/lib/commonjs/features/journey/journeyTypes.js.map +1 -1
- package/lib/commonjs/features/journey/navDetector.js +7 -7
- package/lib/commonjs/features/journey/navDetector.js.map +1 -1
- package/lib/commonjs/features/journey/screenshotHelper.js +7 -7
- package/lib/commonjs/features/journey/screenshotHelper.js.map +1 -1
- package/lib/commonjs/features/journey/targetRegistry.js +17 -17
- package/lib/commonjs/features/journey/targetRegistry.js.map +1 -1
- package/lib/commonjs/features/journey/touchTarget.js +29 -29
- package/lib/commonjs/features/journey/touchTarget.js.map +1 -1
- package/lib/commonjs/features/navigation/AutoScreenDetector.js +61 -61
- package/lib/commonjs/features/navigation/AutoScreenDetector.js.map +1 -1
- package/lib/commonjs/features/network/NetworkFeature.js +23 -23
- package/lib/commonjs/features/network/NetworkFeature.js.map +1 -1
- package/lib/commonjs/features/network/index.js +5 -5
- package/lib/commonjs/features/network/index.js.map +1 -1
- package/lib/commonjs/features/ota/OtaEventEmitter.js +21 -21
- package/lib/commonjs/features/ota/OtaEventEmitter.js.map +1 -1
- package/lib/commonjs/features/ota/OtaOrchestrator.js +20 -20
- package/lib/commonjs/features/ota/OtaOrchestrator.js.map +1 -1
- package/lib/commonjs/features/ota/OtaTypes.js.map +1 -1
- package/lib/commonjs/features/ota/useOtaUpdate.js +15 -15
- package/lib/commonjs/features/ota/useOtaUpdate.js.map +1 -1
- package/lib/commonjs/features/performance/PerformanceFeature.js +26 -26
- package/lib/commonjs/features/performance/PerformanceFeature.js.map +1 -1
- package/lib/commonjs/features/performance/collectors/AppLaunchCollector.js +13 -13
- package/lib/commonjs/features/performance/collectors/AppLaunchCollector.js.map +1 -1
- package/lib/commonjs/features/performance/collectors/AutoScreenLoadCollector.js +32 -32
- package/lib/commonjs/features/performance/collectors/AutoScreenLoadCollector.js.map +1 -1
- package/lib/commonjs/features/performance/collectors/CustomTraceCollector.js +13 -13
- package/lib/commonjs/features/performance/collectors/CustomTraceCollector.js.map +1 -1
- package/lib/commonjs/features/performance/collectors/FrameMetricsCollector.js +11 -11
- package/lib/commonjs/features/performance/collectors/FrameMetricsCollector.js.map +1 -1
- package/lib/commonjs/features/performance/collectors/JsStallCollector.js +12 -12
- package/lib/commonjs/features/performance/collectors/JsStallCollector.js.map +1 -1
- package/lib/commonjs/features/performance/collectors/NetworkPerfCollector.js +10 -10
- package/lib/commonjs/features/performance/collectors/NetworkPerfCollector.js.map +1 -1
- package/lib/commonjs/features/performance/collectors/ScreenLoadCollector.js +11 -11
- package/lib/commonjs/features/performance/collectors/ScreenLoadCollector.js.map +1 -1
- package/lib/commonjs/features/performance/collectors/UiHangCollector.js +5 -5
- package/lib/commonjs/features/performance/collectors/UiHangCollector.js.map +1 -1
- package/lib/commonjs/features/performance/config.js +11 -11
- package/lib/commonjs/features/performance/config.js.map +1 -1
- package/lib/commonjs/features/performance/getNativePerformanceModule.js +11 -11
- package/lib/commonjs/features/performance/getNativePerformanceModule.js.map +1 -1
- package/lib/commonjs/features/performance/index.js.map +1 -1
- package/lib/commonjs/features/performance/metrics/MetricsEngine.js +13 -13
- package/lib/commonjs/features/performance/metrics/MetricsEngine.js.map +1 -1
- package/lib/commonjs/features/performance/models.js +8 -8
- package/lib/commonjs/features/performance/models.js.map +1 -1
- package/lib/commonjs/features/performance/transport/PerformanceTransport.js +6 -6
- package/lib/commonjs/features/performance/transport/PerformanceTransport.js.map +1 -1
- package/lib/commonjs/features/profiler/ProfilerFeature.js +53 -53
- package/lib/commonjs/features/profiler/ProfilerFeature.js.map +1 -1
- package/lib/commonjs/features/profiler/config.js +15 -15
- package/lib/commonjs/features/profiler/config.js.map +1 -1
- package/lib/commonjs/features/profiler/contracts.js +22 -22
- package/lib/commonjs/features/profiler/contracts.js.map +1 -1
- package/lib/commonjs/features/profiler/index.js.map +1 -1
- package/lib/commonjs/features/profiler/models.js +44 -44
- package/lib/commonjs/features/profiler/models.js.map +1 -1
- package/lib/commonjs/features/profiler/transport/ProfilerTransport.js +9 -9
- package/lib/commonjs/features/profiler/transport/ProfilerTransport.js.map +1 -1
- package/lib/commonjs/features/replay/bridge/adapters/bridgeAdapter.js +17 -17
- package/lib/commonjs/features/replay/bridge/adapters/bridgeAdapter.js.map +1 -1
- package/lib/commonjs/features/replay/bridge/eventEmitter.js +8 -8
- package/lib/commonjs/features/replay/bridge/eventEmitter.js.map +1 -1
- package/lib/commonjs/features/replay/bridge/nativeModule.js +20 -20
- package/lib/commonjs/features/replay/bridge/nativeModule.js.map +1 -1
- package/lib/commonjs/features/replay/core/clock/clock.js +6 -6
- package/lib/commonjs/features/replay/core/clock/clock.js.map +1 -1
- package/lib/commonjs/features/replay/core/config/defaults.js +2 -2
- package/lib/commonjs/features/replay/core/config/defaults.js.map +1 -1
- package/lib/commonjs/features/replay/core/config/validator.js +5 -5
- package/lib/commonjs/features/replay/core/config/validator.js.map +1 -1
- package/lib/commonjs/features/replay/core/env/environmentDetector.js +10 -10
- package/lib/commonjs/features/replay/core/env/environmentDetector.js.map +1 -1
- package/lib/commonjs/features/replay/core/errors/safeCall.js +4 -4
- package/lib/commonjs/features/replay/core/errors/safeCall.js.map +1 -1
- package/lib/commonjs/features/replay/core/ids/sessionId.js +5 -5
- package/lib/commonjs/features/replay/core/ids/sessionId.js.map +1 -1
- package/lib/commonjs/features/replay/core/logger/logger.js +5 -5
- package/lib/commonjs/features/replay/core/logger/logger.js.map +1 -1
- package/lib/commonjs/features/replay/core/privacy/privacyTypes.js +4 -4
- package/lib/commonjs/features/replay/core/privacy/privacyTypes.js.map +1 -1
- package/lib/commonjs/features/replay/core/queue/boundedQueue.js +5 -5
- package/lib/commonjs/features/replay/core/queue/boundedQueue.js.map +1 -1
- package/lib/commonjs/features/replay/integrations/alert/alertInstrumentation.js +59 -59
- package/lib/commonjs/features/replay/integrations/alert/alertInstrumentation.js.map +1 -1
- package/lib/commonjs/features/replay/integrations/logs/consoleIntegration.js +19 -19
- package/lib/commonjs/features/replay/integrations/logs/consoleIntegration.js.map +1 -1
- package/lib/commonjs/features/replay/integrations/network/networkAdapter.js +30 -30
- package/lib/commonjs/features/replay/integrations/network/networkAdapter.js.map +1 -1
- package/lib/commonjs/features/replay/integrations/react-navigation/navigationIntegration.js +19 -19
- package/lib/commonjs/features/replay/integrations/react-navigation/navigationIntegration.js.map +1 -1
- package/lib/commonjs/features/replay/integrations/touch/ReplayRoot.js +16 -16
- package/lib/commonjs/features/replay/integrations/touch/ReplayRoot.js.map +1 -1
- package/lib/commonjs/features/replay/pipeline/batching/batchManager.js +5 -5
- package/lib/commonjs/features/replay/pipeline/batching/batchManager.js.map +1 -1
- package/lib/commonjs/features/replay/pipeline/envelope/envelopeBuilder.js +5 -5
- package/lib/commonjs/features/replay/pipeline/envelope/envelopeBuilder.js.map +1 -1
- package/lib/commonjs/features/replay/pipeline/retry/retryPolicy.js +4 -4
- package/lib/commonjs/features/replay/pipeline/retry/retryPolicy.js.map +1 -1
- package/lib/commonjs/features/replay/pipeline/transport/transportTypes.js +7 -7
- package/lib/commonjs/features/replay/pipeline/transport/transportTypes.js.map +1 -1
- package/lib/commonjs/features/replay/public/api.js +21 -21
- package/lib/commonjs/features/replay/public/api.js.map +1 -1
- package/lib/commonjs/features/replay/public/enums.js +5 -5
- package/lib/commonjs/features/replay/public/enums.js.map +1 -1
- package/lib/commonjs/features/replay/public/types.js.map +1 -1
- package/lib/commonjs/features/replay/replay/breadcrumbs/breadcrumbCollector.js +5 -5
- package/lib/commonjs/features/replay/replay/breadcrumbs/breadcrumbCollector.js.map +1 -1
- package/lib/commonjs/features/replay/replay/frames/frameModels.js +4 -4
- package/lib/commonjs/features/replay/replay/frames/frameModels.js.map +1 -1
- package/lib/commonjs/features/replay/replay/session/sessionOrchestrator.js +10 -10
- package/lib/commonjs/features/replay/replay/session/sessionOrchestrator.js.map +1 -1
- package/lib/commonjs/features/replay/replay/timeline/timelineModels.js +4 -4
- package/lib/commonjs/features/replay/replay/timeline/timelineModels.js.map +1 -1
- package/lib/commonjs/features/replay/transport/BackendReplayTransport.js +13 -13
- package/lib/commonjs/features/replay/transport/BackendReplayTransport.js.map +1 -1
- package/lib/commonjs/features/replay/transport/CompositeReplayTransport.js +8 -8
- package/lib/commonjs/features/replay/transport/CompositeReplayTransport.js.map +1 -1
- package/lib/commonjs/features/replay/transport/DesktopReplayTransport.js +14 -14
- package/lib/commonjs/features/replay/transport/DesktopReplayTransport.js.map +1 -1
- package/lib/commonjs/features/replay/transport/ReplayTransport.js.map +1 -1
- package/lib/commonjs/features/session/BackendSessionAdapter.js +127 -127
- package/lib/commonjs/features/session/BackendSessionAdapter.js.map +1 -1
- package/lib/commonjs/features/session/DesktopSessionTransport.js +14 -14
- package/lib/commonjs/features/session/DesktopSessionTransport.js.map +1 -1
- package/lib/commonjs/features/session/JourneyEventPipeline.js +19 -19
- package/lib/commonjs/features/session/JourneyEventPipeline.js.map +1 -1
- package/lib/commonjs/features/session/ReplayCaptureManager.js +123 -123
- package/lib/commonjs/features/session/ReplayCaptureManager.js.map +1 -1
- package/lib/commonjs/features/session/ScrollTracker.js +17 -17
- package/lib/commonjs/features/session/ScrollTracker.js.map +1 -1
- package/lib/commonjs/features/session/SessionManager.js +143 -143
- package/lib/commonjs/features/session/SessionManager.js.map +1 -1
- package/lib/commonjs/features/session/SyncDecisionEngine.js +23 -23
- package/lib/commonjs/features/session/SyncDecisionEngine.js.map +1 -1
- package/lib/commonjs/features/session/index.js.map +1 -1
- package/lib/commonjs/features/session/nativeCapture.js +5 -5
- package/lib/commonjs/features/session/nativeCapture.js.map +1 -1
- package/lib/commonjs/features/session/outboxFrameCapture.js +15 -15
- package/lib/commonjs/features/session/outboxFrameCapture.js.map +1 -1
- package/lib/commonjs/features/session/sessionTypes.js +44 -44
- package/lib/commonjs/features/session/sessionTypes.js.map +1 -1
- package/lib/commonjs/features/skan/skanBridge.js +11 -11
- package/lib/commonjs/features/skan/skanBridge.js.map +1 -1
- package/lib/commonjs/features/skan/skanConversionManager.js +23 -23
- package/lib/commonjs/features/skan/skanConversionManager.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/integrations/fetch/fetchInterceptor.js +21 -21
- package/lib/commonjs/integrations/fetch/fetchInterceptor.js.map +1 -1
- package/lib/commonjs/integrations/navigation/screenTracker.js.map +1 -1
- package/lib/commonjs/integrations/network/bodyCapture.js +69 -69
- package/lib/commonjs/integrations/network/bodyCapture.js.map +1 -1
- package/lib/commonjs/integrations/xhr/xhrInterceptor.js +24 -24
- package/lib/commonjs/integrations/xhr/xhrInterceptor.js.map +1 -1
- package/lib/commonjs/metro/index.js +37 -37
- package/lib/commonjs/metro/index.js.map +1 -1
- package/lib/commonjs/metro/optionalDependencyStub.js.map +1 -1
- package/lib/commonjs/metro/optionalModules.js +16 -16
- package/lib/commonjs/metro/optionalModules.js.map +1 -1
- package/lib/commonjs/pipeline/dispatcher/dispatcher.js.map +1 -1
- package/lib/commonjs/pipeline/envelope/envelope.js.map +1 -1
- package/lib/commonjs/pipeline/envelope/serializer.js.map +1 -1
- package/lib/commonjs/pipeline/processors/dedupe.js.map +1 -1
- package/lib/commonjs/pipeline/processors/enrich.js.map +1 -1
- package/lib/commonjs/pipeline/processors/sampling.js.map +1 -1
- package/lib/commonjs/pipeline/processors/sanitize.js.map +1 -1
- package/lib/commonjs/pipeline/queue/flushQueue.js +4 -4
- package/lib/commonjs/pipeline/queue/flushQueue.js.map +1 -1
- package/lib/commonjs/pipeline/queue/memoryQueue.js.map +1 -1
- package/lib/commonjs/pipeline/queue/persistentQueue.js +80 -80
- package/lib/commonjs/pipeline/queue/persistentQueue.js.map +1 -1
- package/lib/commonjs/pipeline/queue/queuePolicy.js.map +1 -1
- package/lib/commonjs/pipeline/scheduler/flushScheduler.js.map +1 -1
- package/lib/commonjs/pipeline/scheduler/retryPolicy.js +2 -2
- package/lib/commonjs/pipeline/scheduler/retryPolicy.js.map +1 -1
- package/lib/commonjs/public/ScaleBunFacade.js +274 -274
- package/lib/commonjs/public/ScaleBunFacade.js.map +1 -1
- package/lib/commonjs/public/ScaleBunProvider.js +3 -3
- package/lib/commonjs/public/ScaleBunProvider.js.map +1 -1
- package/lib/commonjs/public/typedTracker.js +36 -36
- package/lib/commonjs/public/typedTracker.js.map +1 -1
- package/lib/commonjs/public/types.js.map +1 -1
- package/lib/commonjs/push/PushManager.js +21 -21
- package/lib/commonjs/push/PushManager.js.map +1 -1
- package/lib/commonjs/push/adapters/ManualAdapter.js +14 -14
- package/lib/commonjs/push/adapters/ManualAdapter.js.map +1 -1
- package/lib/commonjs/push/adapters/NativeBridgeAdapter.js +17 -17
- package/lib/commonjs/push/adapters/NativeBridgeAdapter.js.map +1 -1
- package/lib/commonjs/push/adapters/NoopAdapter.js +5 -5
- package/lib/commonjs/push/adapters/NoopAdapter.js.map +1 -1
- package/lib/commonjs/push/adapters/RNFirebaseMessagingAdapter.js +17 -17
- package/lib/commonjs/push/adapters/RNFirebaseMessagingAdapter.js.map +1 -1
- package/lib/commonjs/push/adapters/loadMessaging.js +12 -12
- package/lib/commonjs/push/adapters/loadMessaging.js.map +1 -1
- package/lib/commonjs/push/adapters/loadNotifee.js +12 -12
- package/lib/commonjs/push/adapters/loadNotifee.js.map +1 -1
- package/lib/commonjs/push/adapters/selectAdapter.js +14 -14
- package/lib/commonjs/push/adapters/selectAdapter.js.map +1 -1
- package/lib/commonjs/push/detect/capabilities.js +19 -19
- package/lib/commonjs/push/detect/capabilities.js.map +1 -1
- package/lib/commonjs/push/index.js.map +1 -1
- package/lib/commonjs/push/native/nativeNotifications.js +32 -32
- package/lib/commonjs/push/native/nativeNotifications.js.map +1 -1
- package/lib/commonjs/push/types.js.map +1 -1
- package/lib/commonjs/specs/NativeReplaySdk.js +18 -18
- package/lib/commonjs/specs/NativeReplaySdk.js.map +1 -1
- package/lib/commonjs/specs/NativeScaleBunCrash.js +19 -19
- package/lib/commonjs/specs/NativeScaleBunCrash.js.map +1 -1
- package/lib/commonjs/specs/NativeScaleBunInstallReferrer.js +14 -14
- package/lib/commonjs/specs/NativeScaleBunInstallReferrer.js.map +1 -1
- package/lib/commonjs/specs/NativeScaleBunOta.js +21 -21
- package/lib/commonjs/specs/NativeScaleBunOta.js.map +1 -1
- package/lib/commonjs/specs/NativeScaleBunPerformance.js +15 -15
- package/lib/commonjs/specs/NativeScaleBunPerformance.js.map +1 -1
- package/lib/commonjs/specs/NativeScaleBunProfiler.js +16 -16
- package/lib/commonjs/specs/NativeScaleBunProfiler.js.map +1 -1
- package/lib/commonjs/specs/NativeScaleBunStorage.js +29 -29
- package/lib/commonjs/specs/NativeScaleBunStorage.js.map +1 -1
- package/lib/commonjs/storage/StorageBackend.js +83 -83
- package/lib/commonjs/storage/StorageBackend.js.map +1 -1
- package/lib/commonjs/storage/db/sqlite.js.map +1 -1
- package/lib/commonjs/storage/files/fileStore.js.map +1 -1
- package/lib/commonjs/transport/auth/sdkSession.js.map +1 -1
- package/lib/commonjs/transport/backoff/exponentialJitter.js +2 -2
- package/lib/commonjs/transport/backoff/exponentialJitter.js.map +1 -1
- package/lib/commonjs/transport/http/endpoints.js.map +1 -1
- package/lib/commonjs/transport/http/httpClient.js +3 -3
- package/lib/commonjs/transport/http/httpClient.js.map +1 -1
- package/lib/commonjs/transport/rateLimit/retryAfter.js.map +1 -1
- package/lib/commonjs/transport/signing/requestSigner.js.map +1 -1
- package/lib/commonjs/vendor/protocol/index.js +74 -74
- package/lib/commonjs/vendor/protocol/index.js.map +1 -1
- package/lib/commonjs/vendor/protocol/internal/validation.js +23 -23
- package/lib/commonjs/vendor/protocol/internal/validation.js.map +1 -1
- package/lib/commonjs/vendor/sdk-contracts/bridge.js.map +1 -1
- package/lib/commonjs/vendor/sdk-contracts/config.js.map +1 -1
- package/lib/commonjs/vendor/sdk-contracts/events.js.map +1 -1
- package/lib/commonjs/vendor/sdk-contracts/features.js.map +1 -1
- package/lib/commonjs/vendor/sdk-contracts/index.js.map +1 -1
- package/lib/commonjs/vendor/sdk-contracts/platform.js.map +1 -1
- package/lib/commonjs/vendor/sdk-contracts/session-boundary.js.map +1 -1
- package/lib/commonjs/vendor/sdk-contracts/session.js.map +1 -1
- package/lib/commonjs/vendor/vendor.manifest +10 -10
- package/lib/module/analytics/EventTracker.js +34 -34
- package/lib/module/analytics/EventTracker.js.map +1 -1
- package/lib/module/analytics/automaticEvents.js +7 -7
- package/lib/module/analytics/automaticEvents.js.map +1 -1
- package/lib/module/analytics/batching.js +24 -24
- package/lib/module/analytics/batching.js.map +1 -1
- package/lib/module/analytics/eventLane.js +13 -13
- package/lib/module/analytics/eventLane.js.map +1 -1
- package/lib/module/bootstrap/FeatureRegistry.js +17 -17
- package/lib/module/bootstrap/FeatureRegistry.js.map +1 -1
- package/lib/module/bootstrap/SDKBootstrapper.js +42 -42
- package/lib/module/bootstrap/SDKBootstrapper.js.map +1 -1
- package/lib/module/bucketing/fnv1a32.js +10 -10
- package/lib/module/bucketing/fnv1a32.js.map +1 -1
- package/lib/module/compat/codepush.js +6 -6
- package/lib/module/compat/codepush.js.map +1 -1
- package/lib/module/config/ConfigManager.js +20 -20
- package/lib/module/config/ConfigManager.js.map +1 -1
- package/lib/module/config/configTypes.js.map +1 -1
- package/lib/module/core/architecture.js +23 -23
- package/lib/module/core/architecture.js.map +1 -1
- package/lib/module/core/clock/now.js +2 -2
- package/lib/module/core/clock/now.js.map +1 -1
- package/lib/module/core/config/defaults.js.map +1 -1
- package/lib/module/core/config/schema.js +102 -102
- package/lib/module/core/config/schema.js.map +1 -1
- package/lib/module/core/constants/endpoints.js +7 -7
- package/lib/module/core/constants/endpoints.js.map +1 -1
- package/lib/module/core/constants/timings.js +5 -5
- package/lib/module/core/constants/timings.js.map +1 -1
- package/lib/module/core/constants/version.js +4 -4
- package/lib/module/core/constants/version.js.map +1 -1
- package/lib/module/core/context/app.js.map +1 -1
- package/lib/module/core/context/device.js.map +1 -1
- package/lib/module/core/context/session.js.map +1 -1
- package/lib/module/core/context/user.js.map +1 -1
- package/lib/module/core/contracts/IFeature.js.map +1 -1
- package/lib/module/core/di/container.js.map +1 -1
- package/lib/module/core/encoding/base64.js +9 -9
- package/lib/module/core/encoding/base64.js.map +1 -1
- package/lib/module/core/id/deviceId.js +4 -4
- package/lib/module/core/id/deviceId.js.map +1 -1
- package/lib/module/core/id/sessionId.js.map +1 -1
- package/lib/module/core/lifecycle/appLifecycle.js.map +1 -1
- package/lib/module/core/lifecycle/crashSafe.js +3 -3
- package/lib/module/core/lifecycle/crashSafe.js.map +1 -1
- package/lib/module/core/logger/errorClassification.js +30 -30
- package/lib/module/core/logger/errorClassification.js.map +1 -1
- package/lib/module/core/logger/internalLogger.js.map +1 -1
- package/lib/module/core/logger/levels.js.map +1 -1
- package/lib/module/crypto/hmacSha256.js +6 -6
- package/lib/module/crypto/hmacSha256.js.map +1 -1
- package/lib/module/debug/bootstrap.js +26 -26
- package/lib/module/debug/bootstrap.js.map +1 -1
- package/lib/module/debug/commands.js +10 -10
- package/lib/module/debug/commands.js.map +1 -1
- package/lib/module/debug/configBuilder.js +6 -6
- package/lib/module/debug/configBuilder.js.map +1 -1
- package/lib/module/debug/exportBridge.js +17 -17
- package/lib/module/debug/exportBridge.js.map +1 -1
- package/lib/module/debug/hostResolver.js +10 -10
- package/lib/module/debug/hostResolver.js.map +1 -1
- package/lib/module/debug/index.js +5 -5
- package/lib/module/debug/index.js.map +1 -1
- package/lib/module/debug/metrics.js.map +1 -1
- package/lib/module/debug/perf.js +11 -11
- package/lib/module/debug/perf.js.map +1 -1
- package/lib/module/debug/perfWiring.js +10 -10
- package/lib/module/debug/perfWiring.js.map +1 -1
- package/lib/module/debug/protocol.js +11 -11
- package/lib/module/debug/protocol.js.map +1 -1
- package/lib/module/debug/redaction.js +26 -26
- package/lib/module/debug/redaction.js.map +1 -1
- package/lib/module/debug/replayWiring.js +11 -11
- package/lib/module/debug/replayWiring.js.map +1 -1
- package/lib/module/debug/screenTracking.js +7 -7
- package/lib/module/debug/screenTracking.js.map +1 -1
- package/lib/module/debug/sessionWiring.js +8 -8
- package/lib/module/debug/sessionWiring.js.map +1 -1
- package/lib/module/debug/stream.js +26 -26
- package/lib/module/debug/stream.js.map +1 -1
- package/lib/module/debug/transport.js +24 -24
- package/lib/module/debug/transport.js.map +1 -1
- package/lib/module/features/bugreport/index.js.map +1 -1
- package/lib/module/features/crash/CrashFeature.js +9 -9
- package/lib/module/features/crash/CrashFeature.js.map +1 -1
- package/lib/module/features/crash/CrashReporter.js +28 -28
- package/lib/module/features/crash/CrashReporter.js.map +1 -1
- package/lib/module/features/crash/NativeCrashFeature.js +7 -7
- package/lib/module/features/crash/NativeCrashFeature.js.map +1 -1
- package/lib/module/features/crash/capture.js.map +1 -1
- package/lib/module/features/crash/globalHandler.js +11 -11
- package/lib/module/features/crash/globalHandler.js.map +1 -1
- package/lib/module/features/crash/index.js.map +1 -1
- package/lib/module/features/crash/nativeCrashBridge.js +19 -19
- package/lib/module/features/crash/nativeCrashBridge.js.map +1 -1
- package/lib/module/features/engage/EngageAnchor.js +3 -3
- package/lib/module/features/engage/EngageAnchor.js.map +1 -1
- package/lib/module/features/engage/EngageArchetypeRenderers.js +19 -19
- package/lib/module/features/engage/EngageArchetypeRenderers.js.map +1 -1
- package/lib/module/features/engage/EngageInAppView.js +35 -35
- package/lib/module/features/engage/EngageInAppView.js.map +1 -1
- package/lib/module/features/engage/EngageInlinePlacement.js +7 -7
- package/lib/module/features/engage/EngageInlinePlacement.js.map +1 -1
- package/lib/module/features/engage/EngagePromptProvider.js +84 -84
- package/lib/module/features/engage/EngagePromptProvider.js.map +1 -1
- package/lib/module/features/engage/EngagePromptView.js +18 -18
- package/lib/module/features/engage/EngagePromptView.js.map +1 -1
- package/lib/module/features/engage/EngageTransport.js +79 -79
- package/lib/module/features/engage/EngageTransport.js.map +1 -1
- package/lib/module/features/engage/EngageVariantContent.js +10 -10
- package/lib/module/features/engage/EngageVariantContent.js.map +1 -1
- package/lib/module/features/engage/__test-support__/reactNativeStub.js +7 -7
- package/lib/module/features/engage/__test-support__/reactNativeStub.js.map +1 -1
- package/lib/module/features/engage/attachmentCapture.js +12 -12
- package/lib/module/features/engage/attachmentCapture.js.map +1 -1
- package/lib/module/features/engage/captureVoiceAttachment.js +20 -20
- package/lib/module/features/engage/captureVoiceAttachment.js.map +1 -1
- package/lib/module/features/engage/engageCoachmarkTour.js +4 -4
- package/lib/module/features/engage/engageCoachmarkTour.js.map +1 -1
- package/lib/module/features/engage/engageGameLogic.js.map +1 -1
- package/lib/module/features/engage/engageMediaSizing.js +15 -15
- package/lib/module/features/engage/engageMediaSizing.js.map +1 -1
- package/lib/module/features/engage/engageMultiStepSheet.js +6 -6
- package/lib/module/features/engage/engageMultiStepSheet.js.map +1 -1
- package/lib/module/features/engage/engageOutcome.js +6 -6
- package/lib/module/features/engage/engageOutcome.js.map +1 -1
- package/lib/module/features/engage/engagePushTokenBridge.js +20 -20
- package/lib/module/features/engage/engagePushTokenBridge.js.map +1 -1
- package/lib/module/features/engage/engageShakeBridge.js +16 -16
- package/lib/module/features/engage/engageShakeBridge.js.map +1 -1
- package/lib/module/features/engage/engageSignals.js.map +1 -1
- package/lib/module/features/engage/engageStoreReviewBridge.js +19 -19
- package/lib/module/features/engage/engageStoreReviewBridge.js.map +1 -1
- package/lib/module/features/engage/engageTestSeenStore.js +29 -29
- package/lib/module/features/engage/engageTestSeenStore.js.map +1 -1
- package/lib/module/features/engage/engageThrottle.js +76 -76
- package/lib/module/features/engage/engageThrottle.js.map +1 -1
- package/lib/module/features/engage/engageTriggerEngine.js +7 -7
- package/lib/module/features/engage/engageTriggerEngine.js.map +1 -1
- package/lib/module/features/engage/engageTypes.js +33 -33
- package/lib/module/features/engage/engageTypes.js.map +1 -1
- package/lib/module/features/engage/engageVariantResolver.js +13 -13
- package/lib/module/features/engage/engageVariantResolver.js.map +1 -1
- package/lib/module/features/engage/engageWindowInsets.js +10 -10
- package/lib/module/features/engage/engageWindowInsets.js.map +1 -1
- package/lib/module/features/engage/gestureTriggerDetector.js.map +1 -1
- package/lib/module/features/engage/transcription/TranscriptionProvider.js +16 -16
- package/lib/module/features/engage/transcription/TranscriptionProvider.js.map +1 -1
- package/lib/module/features/install-referrer/installReferrer.js +26 -26
- package/lib/module/features/install-referrer/installReferrer.js.map +1 -1
- package/lib/module/features/journey/ScaleBunDebugRoot.js +28 -28
- package/lib/module/features/journey/ScaleBunDebugRoot.js.map +1 -1
- package/lib/module/features/journey/ScaleBunFlatList.js +15 -15
- package/lib/module/features/journey/ScaleBunFlatList.js.map +1 -1
- package/lib/module/features/journey/ScaleBunImpression.js +22 -22
- package/lib/module/features/journey/ScaleBunImpression.js.map +1 -1
- package/lib/module/features/journey/ScaleBunScrollView.js +20 -20
- package/lib/module/features/journey/ScaleBunScrollView.js.map +1 -1
- package/lib/module/features/journey/ScaleBunSectionList.js +15 -15
- package/lib/module/features/journey/ScaleBunSectionList.js.map +1 -1
- package/lib/module/features/journey/calibrationContext.js +12 -12
- package/lib/module/features/journey/calibrationContext.js.map +1 -1
- package/lib/module/features/journey/gestureBuffer.js +9 -9
- package/lib/module/features/journey/gestureBuffer.js.map +1 -1
- package/lib/module/features/journey/gestureDetector.js +10 -10
- package/lib/module/features/journey/gestureDetector.js.map +1 -1
- package/lib/module/features/journey/impression.js +18 -18
- package/lib/module/features/journey/impression.js.map +1 -1
- package/lib/module/features/journey/journeyManager.js +6 -6
- package/lib/module/features/journey/journeyManager.js.map +1 -1
- package/lib/module/features/journey/journeyTypes.js +5 -5
- package/lib/module/features/journey/journeyTypes.js.map +1 -1
- package/lib/module/features/journey/navDetector.js +7 -7
- package/lib/module/features/journey/navDetector.js.map +1 -1
- package/lib/module/features/journey/screenshotHelper.js +7 -7
- package/lib/module/features/journey/screenshotHelper.js.map +1 -1
- package/lib/module/features/journey/targetRegistry.js +17 -17
- package/lib/module/features/journey/targetRegistry.js.map +1 -1
- package/lib/module/features/journey/touchTarget.js +29 -29
- package/lib/module/features/journey/touchTarget.js.map +1 -1
- package/lib/module/features/navigation/AutoScreenDetector.js +61 -61
- package/lib/module/features/navigation/AutoScreenDetector.js.map +1 -1
- package/lib/module/features/network/NetworkFeature.js +23 -23
- package/lib/module/features/network/NetworkFeature.js.map +1 -1
- package/lib/module/features/network/index.js +5 -5
- package/lib/module/features/network/index.js.map +1 -1
- package/lib/module/features/ota/OtaEventEmitter.js +21 -21
- package/lib/module/features/ota/OtaEventEmitter.js.map +1 -1
- package/lib/module/features/ota/OtaOrchestrator.js +20 -20
- package/lib/module/features/ota/OtaOrchestrator.js.map +1 -1
- package/lib/module/features/ota/OtaTypes.js.map +1 -1
- package/lib/module/features/ota/useOtaUpdate.js +15 -15
- package/lib/module/features/ota/useOtaUpdate.js.map +1 -1
- package/lib/module/features/performance/PerformanceFeature.js +26 -26
- package/lib/module/features/performance/PerformanceFeature.js.map +1 -1
- package/lib/module/features/performance/collectors/AppLaunchCollector.js +13 -13
- package/lib/module/features/performance/collectors/AppLaunchCollector.js.map +1 -1
- package/lib/module/features/performance/collectors/AutoScreenLoadCollector.js +32 -32
- package/lib/module/features/performance/collectors/AutoScreenLoadCollector.js.map +1 -1
- package/lib/module/features/performance/collectors/CustomTraceCollector.js +13 -13
- package/lib/module/features/performance/collectors/CustomTraceCollector.js.map +1 -1
- package/lib/module/features/performance/collectors/FrameMetricsCollector.js +11 -11
- package/lib/module/features/performance/collectors/FrameMetricsCollector.js.map +1 -1
- package/lib/module/features/performance/collectors/JsStallCollector.js +12 -12
- package/lib/module/features/performance/collectors/JsStallCollector.js.map +1 -1
- package/lib/module/features/performance/collectors/NetworkPerfCollector.js +10 -10
- package/lib/module/features/performance/collectors/NetworkPerfCollector.js.map +1 -1
- package/lib/module/features/performance/collectors/ScreenLoadCollector.js +11 -11
- package/lib/module/features/performance/collectors/ScreenLoadCollector.js.map +1 -1
- package/lib/module/features/performance/collectors/UiHangCollector.js +5 -5
- package/lib/module/features/performance/collectors/UiHangCollector.js.map +1 -1
- package/lib/module/features/performance/config.js +11 -11
- package/lib/module/features/performance/config.js.map +1 -1
- package/lib/module/features/performance/getNativePerformanceModule.js +11 -11
- package/lib/module/features/performance/getNativePerformanceModule.js.map +1 -1
- package/lib/module/features/performance/index.js +2 -2
- package/lib/module/features/performance/index.js.map +1 -1
- package/lib/module/features/performance/metrics/MetricsEngine.js +13 -13
- package/lib/module/features/performance/metrics/MetricsEngine.js.map +1 -1
- package/lib/module/features/performance/models.js +8 -8
- package/lib/module/features/performance/models.js.map +1 -1
- package/lib/module/features/performance/transport/PerformanceTransport.js +6 -6
- package/lib/module/features/performance/transport/PerformanceTransport.js.map +1 -1
- package/lib/module/features/profiler/ProfilerFeature.js +53 -53
- package/lib/module/features/profiler/ProfilerFeature.js.map +1 -1
- package/lib/module/features/profiler/config.js +15 -15
- package/lib/module/features/profiler/config.js.map +1 -1
- package/lib/module/features/profiler/contracts.js +22 -22
- package/lib/module/features/profiler/contracts.js.map +1 -1
- package/lib/module/features/profiler/index.js +4 -4
- package/lib/module/features/profiler/index.js.map +1 -1
- package/lib/module/features/profiler/models.js +44 -44
- package/lib/module/features/profiler/models.js.map +1 -1
- package/lib/module/features/profiler/transport/ProfilerTransport.js +9 -9
- package/lib/module/features/profiler/transport/ProfilerTransport.js.map +1 -1
- package/lib/module/features/replay/bridge/adapters/bridgeAdapter.js +17 -17
- package/lib/module/features/replay/bridge/adapters/bridgeAdapter.js.map +1 -1
- package/lib/module/features/replay/bridge/eventEmitter.js +8 -8
- package/lib/module/features/replay/bridge/eventEmitter.js.map +1 -1
- package/lib/module/features/replay/bridge/nativeModule.js +20 -20
- package/lib/module/features/replay/bridge/nativeModule.js.map +1 -1
- package/lib/module/features/replay/core/clock/clock.js +6 -6
- package/lib/module/features/replay/core/clock/clock.js.map +1 -1
- package/lib/module/features/replay/core/config/defaults.js +2 -2
- package/lib/module/features/replay/core/config/defaults.js.map +1 -1
- package/lib/module/features/replay/core/config/validator.js +5 -5
- package/lib/module/features/replay/core/config/validator.js.map +1 -1
- package/lib/module/features/replay/core/env/environmentDetector.js +10 -10
- package/lib/module/features/replay/core/env/environmentDetector.js.map +1 -1
- package/lib/module/features/replay/core/errors/safeCall.js +4 -4
- package/lib/module/features/replay/core/errors/safeCall.js.map +1 -1
- package/lib/module/features/replay/core/ids/sessionId.js +5 -5
- package/lib/module/features/replay/core/ids/sessionId.js.map +1 -1
- package/lib/module/features/replay/core/logger/logger.js +5 -5
- package/lib/module/features/replay/core/logger/logger.js.map +1 -1
- package/lib/module/features/replay/core/privacy/privacyTypes.js +4 -4
- package/lib/module/features/replay/core/privacy/privacyTypes.js.map +1 -1
- package/lib/module/features/replay/core/queue/boundedQueue.js +5 -5
- package/lib/module/features/replay/core/queue/boundedQueue.js.map +1 -1
- package/lib/module/features/replay/integrations/alert/alertInstrumentation.js +59 -59
- package/lib/module/features/replay/integrations/alert/alertInstrumentation.js.map +1 -1
- package/lib/module/features/replay/integrations/logs/consoleIntegration.js +19 -19
- package/lib/module/features/replay/integrations/logs/consoleIntegration.js.map +1 -1
- package/lib/module/features/replay/integrations/network/networkAdapter.js +30 -30
- package/lib/module/features/replay/integrations/network/networkAdapter.js.map +1 -1
- package/lib/module/features/replay/integrations/react-navigation/navigationIntegration.js +19 -19
- package/lib/module/features/replay/integrations/react-navigation/navigationIntegration.js.map +1 -1
- package/lib/module/features/replay/integrations/touch/ReplayRoot.js +16 -16
- package/lib/module/features/replay/integrations/touch/ReplayRoot.js.map +1 -1
- package/lib/module/features/replay/pipeline/batching/batchManager.js +5 -5
- package/lib/module/features/replay/pipeline/batching/batchManager.js.map +1 -1
- package/lib/module/features/replay/pipeline/envelope/envelopeBuilder.js +5 -5
- package/lib/module/features/replay/pipeline/envelope/envelopeBuilder.js.map +1 -1
- package/lib/module/features/replay/pipeline/retry/retryPolicy.js +4 -4
- package/lib/module/features/replay/pipeline/retry/retryPolicy.js.map +1 -1
- package/lib/module/features/replay/pipeline/transport/transportTypes.js +7 -7
- package/lib/module/features/replay/pipeline/transport/transportTypes.js.map +1 -1
- package/lib/module/features/replay/public/api.js +21 -21
- package/lib/module/features/replay/public/api.js.map +1 -1
- package/lib/module/features/replay/public/enums.js +5 -5
- package/lib/module/features/replay/public/enums.js.map +1 -1
- package/lib/module/features/replay/public/types.js.map +1 -1
- package/lib/module/features/replay/replay/breadcrumbs/breadcrumbCollector.js +5 -5
- package/lib/module/features/replay/replay/breadcrumbs/breadcrumbCollector.js.map +1 -1
- package/lib/module/features/replay/replay/frames/frameModels.js +4 -4
- package/lib/module/features/replay/replay/frames/frameModels.js.map +1 -1
- package/lib/module/features/replay/replay/session/sessionOrchestrator.js +10 -10
- package/lib/module/features/replay/replay/session/sessionOrchestrator.js.map +1 -1
- package/lib/module/features/replay/replay/timeline/timelineModels.js +4 -4
- package/lib/module/features/replay/replay/timeline/timelineModels.js.map +1 -1
- package/lib/module/features/replay/transport/BackendReplayTransport.js +13 -13
- package/lib/module/features/replay/transport/BackendReplayTransport.js.map +1 -1
- package/lib/module/features/replay/transport/CompositeReplayTransport.js +8 -8
- package/lib/module/features/replay/transport/CompositeReplayTransport.js.map +1 -1
- package/lib/module/features/replay/transport/DesktopReplayTransport.js +14 -14
- package/lib/module/features/replay/transport/DesktopReplayTransport.js.map +1 -1
- package/lib/module/features/replay/transport/ReplayTransport.js.map +1 -1
- package/lib/module/features/session/BackendSessionAdapter.js +127 -127
- package/lib/module/features/session/BackendSessionAdapter.js.map +1 -1
- package/lib/module/features/session/DesktopSessionTransport.js +14 -14
- package/lib/module/features/session/DesktopSessionTransport.js.map +1 -1
- package/lib/module/features/session/JourneyEventPipeline.js +19 -19
- package/lib/module/features/session/JourneyEventPipeline.js.map +1 -1
- package/lib/module/features/session/ReplayCaptureManager.js +123 -123
- package/lib/module/features/session/ReplayCaptureManager.js.map +1 -1
- package/lib/module/features/session/ScrollTracker.js +17 -17
- package/lib/module/features/session/ScrollTracker.js.map +1 -1
- package/lib/module/features/session/SessionManager.js +143 -143
- package/lib/module/features/session/SessionManager.js.map +1 -1
- package/lib/module/features/session/SyncDecisionEngine.js +23 -23
- package/lib/module/features/session/SyncDecisionEngine.js.map +1 -1
- package/lib/module/features/session/index.js +5 -5
- package/lib/module/features/session/index.js.map +1 -1
- package/lib/module/features/session/nativeCapture.js +5 -5
- package/lib/module/features/session/nativeCapture.js.map +1 -1
- package/lib/module/features/session/outboxFrameCapture.js +15 -15
- package/lib/module/features/session/outboxFrameCapture.js.map +1 -1
- package/lib/module/features/session/sessionTypes.js +44 -44
- package/lib/module/features/session/sessionTypes.js.map +1 -1
- package/lib/module/features/skan/skanBridge.js +11 -11
- package/lib/module/features/skan/skanBridge.js.map +1 -1
- package/lib/module/features/skan/skanConversionManager.js +23 -23
- package/lib/module/features/skan/skanConversionManager.js.map +1 -1
- package/lib/module/index.js +10 -10
- package/lib/module/index.js.map +1 -1
- package/lib/module/integrations/fetch/fetchInterceptor.js +21 -21
- package/lib/module/integrations/fetch/fetchInterceptor.js.map +1 -1
- package/lib/module/integrations/navigation/screenTracker.js.map +1 -1
- package/lib/module/integrations/network/bodyCapture.js +69 -69
- package/lib/module/integrations/network/bodyCapture.js.map +1 -1
- package/lib/module/integrations/xhr/xhrInterceptor.js +24 -24
- package/lib/module/integrations/xhr/xhrInterceptor.js.map +1 -1
- package/lib/module/metro/index.js +37 -37
- package/lib/module/metro/index.js.map +1 -1
- package/lib/module/metro/optionalDependencyStub.js +11 -11
- package/lib/module/metro/optionalDependencyStub.js.map +1 -1
- package/lib/module/metro/optionalModules.js +16 -16
- package/lib/module/metro/optionalModules.js.map +1 -1
- package/lib/module/pipeline/dispatcher/dispatcher.js.map +1 -1
- package/lib/module/pipeline/envelope/envelope.js.map +1 -1
- package/lib/module/pipeline/envelope/serializer.js.map +1 -1
- package/lib/module/pipeline/processors/dedupe.js.map +1 -1
- package/lib/module/pipeline/processors/enrich.js.map +1 -1
- package/lib/module/pipeline/processors/sampling.js.map +1 -1
- package/lib/module/pipeline/processors/sanitize.js.map +1 -1
- package/lib/module/pipeline/queue/flushQueue.js +4 -4
- package/lib/module/pipeline/queue/flushQueue.js.map +1 -1
- package/lib/module/pipeline/queue/memoryQueue.js.map +1 -1
- package/lib/module/pipeline/queue/persistentQueue.js +80 -80
- package/lib/module/pipeline/queue/persistentQueue.js.map +1 -1
- package/lib/module/pipeline/queue/queuePolicy.js.map +1 -1
- package/lib/module/pipeline/scheduler/flushScheduler.js.map +1 -1
- package/lib/module/pipeline/scheduler/retryPolicy.js +2 -2
- package/lib/module/pipeline/scheduler/retryPolicy.js.map +1 -1
- package/lib/module/public/ScaleBunFacade.js +274 -274
- package/lib/module/public/ScaleBunFacade.js.map +1 -1
- package/lib/module/public/ScaleBunProvider.js +3 -3
- package/lib/module/public/ScaleBunProvider.js.map +1 -1
- package/lib/module/public/typedTracker.js +36 -36
- package/lib/module/public/typedTracker.js.map +1 -1
- package/lib/module/public/types.js.map +1 -1
- package/lib/module/push/PushManager.js +21 -21
- package/lib/module/push/PushManager.js.map +1 -1
- package/lib/module/push/adapters/ManualAdapter.js +14 -14
- package/lib/module/push/adapters/ManualAdapter.js.map +1 -1
- package/lib/module/push/adapters/NativeBridgeAdapter.js +17 -17
- package/lib/module/push/adapters/NativeBridgeAdapter.js.map +1 -1
- package/lib/module/push/adapters/NoopAdapter.js +5 -5
- package/lib/module/push/adapters/NoopAdapter.js.map +1 -1
- package/lib/module/push/adapters/RNFirebaseMessagingAdapter.js +17 -17
- package/lib/module/push/adapters/RNFirebaseMessagingAdapter.js.map +1 -1
- package/lib/module/push/adapters/loadMessaging.js +12 -12
- package/lib/module/push/adapters/loadMessaging.js.map +1 -1
- package/lib/module/push/adapters/loadNotifee.js +12 -12
- package/lib/module/push/adapters/loadNotifee.js.map +1 -1
- package/lib/module/push/adapters/selectAdapter.js +14 -14
- package/lib/module/push/adapters/selectAdapter.js.map +1 -1
- package/lib/module/push/detect/capabilities.js +19 -19
- package/lib/module/push/detect/capabilities.js.map +1 -1
- package/lib/module/push/index.js +3 -3
- package/lib/module/push/index.js.map +1 -1
- package/lib/module/push/native/nativeNotifications.js +32 -32
- package/lib/module/push/native/nativeNotifications.js.map +1 -1
- package/lib/module/push/types.js.map +1 -1
- package/lib/module/specs/NativeReplaySdk.js +18 -18
- package/lib/module/specs/NativeReplaySdk.js.map +1 -1
- package/lib/module/specs/NativeScaleBunCrash.js +19 -19
- package/lib/module/specs/NativeScaleBunCrash.js.map +1 -1
- package/lib/module/specs/NativeScaleBunInstallReferrer.js +14 -14
- package/lib/module/specs/NativeScaleBunInstallReferrer.js.map +1 -1
- package/lib/module/specs/NativeScaleBunOta.js +21 -21
- package/lib/module/specs/NativeScaleBunOta.js.map +1 -1
- package/lib/module/specs/NativeScaleBunPerformance.js +15 -15
- package/lib/module/specs/NativeScaleBunPerformance.js.map +1 -1
- package/lib/module/specs/NativeScaleBunProfiler.js +16 -16
- package/lib/module/specs/NativeScaleBunProfiler.js.map +1 -1
- package/lib/module/specs/NativeScaleBunStorage.js +29 -29
- package/lib/module/specs/NativeScaleBunStorage.js.map +1 -1
- package/lib/module/storage/StorageBackend.js +83 -83
- package/lib/module/storage/StorageBackend.js.map +1 -1
- package/lib/module/storage/db/sqlite.js.map +1 -1
- package/lib/module/storage/files/fileStore.js.map +1 -1
- package/lib/module/transport/auth/sdkSession.js.map +1 -1
- package/lib/module/transport/backoff/exponentialJitter.js +2 -2
- package/lib/module/transport/backoff/exponentialJitter.js.map +1 -1
- package/lib/module/transport/http/endpoints.js.map +1 -1
- package/lib/module/transport/http/httpClient.js +3 -3
- package/lib/module/transport/http/httpClient.js.map +1 -1
- package/lib/module/transport/rateLimit/retryAfter.js.map +1 -1
- package/lib/module/transport/signing/requestSigner.js.map +1 -1
- package/lib/module/vendor/protocol/index.js +74 -74
- package/lib/module/vendor/protocol/index.js.map +1 -1
- package/lib/module/vendor/protocol/internal/validation.js +23 -23
- package/lib/module/vendor/protocol/internal/validation.js.map +1 -1
- package/lib/module/vendor/sdk-contracts/bridge.js.map +1 -1
- package/lib/module/vendor/sdk-contracts/config.js.map +1 -1
- package/lib/module/vendor/sdk-contracts/events.js.map +1 -1
- package/lib/module/vendor/sdk-contracts/features.js.map +1 -1
- package/lib/module/vendor/sdk-contracts/index.js.map +1 -1
- package/lib/module/vendor/sdk-contracts/platform.js.map +1 -1
- package/lib/module/vendor/sdk-contracts/session-boundary.js.map +1 -1
- package/lib/module/vendor/sdk-contracts/session.js.map +1 -1
- package/lib/module/vendor/vendor.manifest +10 -10
- package/package.json +12 -10
- package/react-native.config.js +24 -24
- package/scalebun-react-native.podspec +37 -37
- package/src/analytics/EventTracker.ts +462 -462
- package/src/analytics/automaticEvents.ts +105 -105
- package/src/analytics/batching.ts +54 -54
- package/src/analytics/eventLane.ts +26 -26
- package/src/bootstrap/FeatureRegistry.ts +81 -81
- package/src/bootstrap/SDKBootstrapper.ts +585 -585
- package/src/bucketing/fnv1a32.ts +40 -40
- package/src/compat/codepush.ts +118 -118
- package/src/config/ConfigManager.ts +167 -167
- package/src/config/configTypes.ts +32 -32
- package/src/core/architecture.ts +39 -39
- package/src/core/clock/now.ts +6 -6
- package/src/core/config/schema.ts +231 -231
- package/src/core/constants/endpoints.ts +9 -9
- package/src/core/constants/timings.ts +23 -23
- package/src/core/constants/version.ts +6 -6
- package/src/core/context/user.ts +26 -26
- package/src/core/contracts/IFeature.ts +53 -53
- package/src/core/di/container.ts +26 -26
- package/src/core/encoding/base64.ts +46 -46
- package/src/core/id/deviceId.ts +51 -51
- package/src/core/lifecycle/appLifecycle.ts +33 -33
- package/src/core/lifecycle/crashSafe.ts +29 -29
- package/src/core/logger/errorClassification.ts +108 -108
- package/src/core/logger/internalLogger.ts +65 -65
- package/src/crypto/hmacSha256.ts +106 -106
- package/src/debug/bootstrap.ts +366 -366
- package/src/debug/commands.ts +597 -597
- package/src/debug/configBuilder.ts +56 -56
- package/src/debug/exportBridge.ts +153 -153
- package/src/debug/hostResolver.ts +34 -34
- package/src/debug/index.ts +25 -25
- package/src/debug/metrics.ts +29 -29
- package/src/debug/perf.ts +212 -212
- package/src/debug/perfWiring.ts +119 -119
- package/src/debug/protocol.ts +58 -58
- package/src/debug/redaction.ts +290 -290
- package/src/debug/replayWiring.ts +147 -147
- package/src/debug/screenTracking.ts +55 -55
- package/src/debug/sessionWiring.ts +59 -59
- package/src/debug/stream.ts +561 -561
- package/src/debug/transport.ts +439 -439
- package/src/features/crash/CrashFeature.ts +52 -52
- package/src/features/crash/CrashReporter.ts +140 -140
- package/src/features/crash/NativeCrashFeature.ts +42 -42
- package/src/features/crash/capture.ts +21 -21
- package/src/features/crash/globalHandler.ts +39 -39
- package/src/features/crash/index.ts +8 -8
- package/src/features/crash/nativeCrashBridge.ts +132 -132
- package/src/features/engage/EngageAnchor.tsx +159 -159
- package/src/features/engage/EngageArchetypeRenderers.tsx +3716 -3716
- package/src/features/engage/EngageInAppView.tsx +2678 -2678
- package/src/features/engage/EngageInlinePlacement.tsx +169 -169
- package/src/features/engage/EngagePromptProvider.tsx +1270 -1270
- package/src/features/engage/EngagePromptView.tsx +1364 -1364
- package/src/features/engage/EngageTransport.ts +668 -668
- package/src/features/engage/EngageVariantContent.tsx +1483 -1483
- package/src/features/engage/__test-support__/reactNativeStub.js +40 -40
- package/src/features/engage/attachmentCapture.ts +45 -45
- package/src/features/engage/captureVoiceAttachment.ts +81 -81
- package/src/features/engage/engageCoachmarkTour.ts +120 -120
- package/src/features/engage/engageGameLogic.ts +347 -347
- package/src/features/engage/engageMediaSizing.ts +76 -76
- package/src/features/engage/engageMultiStepSheet.ts +53 -53
- package/src/features/engage/engageOutcome.ts +157 -157
- package/src/features/engage/engagePushTokenBridge.ts +84 -84
- package/src/features/engage/engageShakeBridge.ts +67 -67
- package/src/features/engage/engageSignals.ts +40 -40
- package/src/features/engage/engageStoreReviewBridge.ts +48 -48
- package/src/features/engage/engageTestSeenStore.ts +95 -95
- package/src/features/engage/engageThrottle.ts +440 -440
- package/src/features/engage/engageTriggerEngine.ts +335 -335
- package/src/features/engage/engageTypes.ts +691 -691
- package/src/features/engage/engageVariantResolver.ts +364 -364
- package/src/features/engage/engageWindowInsets.ts +108 -108
- package/src/features/engage/gestureTriggerDetector.ts +83 -83
- package/src/features/engage/transcription/TranscriptionProvider.ts +68 -68
- package/src/features/install-referrer/installReferrer.ts +112 -112
- package/src/features/journey/ScaleBunDebugRoot.tsx +726 -726
- package/src/features/journey/ScaleBunFlatList.tsx +39 -39
- package/src/features/journey/ScaleBunImpression.tsx +109 -109
- package/src/features/journey/ScaleBunScrollView.tsx +72 -72
- package/src/features/journey/ScaleBunSectionList.tsx +39 -39
- package/src/features/journey/calibrationContext.ts +53 -53
- package/src/features/journey/gestureBuffer.ts +59 -59
- package/src/features/journey/gestureDetector.ts +162 -162
- package/src/features/journey/impression.ts +92 -92
- package/src/features/journey/journeyManager.ts +466 -466
- package/src/features/journey/journeyTypes.ts +215 -215
- package/src/features/journey/navDetector.ts +149 -149
- package/src/features/journey/screenshotHelper.ts +137 -137
- package/src/features/journey/targetRegistry.ts +43 -43
- package/src/features/journey/touchTarget.ts +128 -128
- package/src/features/navigation/AutoScreenDetector.ts +448 -448
- package/src/features/network/NetworkFeature.ts +144 -144
- package/src/features/network/index.ts +31 -31
- package/src/features/ota/OtaEventEmitter.ts +128 -128
- package/src/features/ota/OtaOrchestrator.ts +323 -323
- package/src/features/ota/OtaTypes.ts +62 -62
- package/src/features/ota/useOtaUpdate.ts +134 -134
- package/src/features/performance/PerformanceFeature.ts +584 -584
- package/src/features/performance/collectors/AppLaunchCollector.ts +117 -117
- package/src/features/performance/collectors/AutoScreenLoadCollector.ts +258 -258
- package/src/features/performance/collectors/CustomTraceCollector.ts +116 -116
- package/src/features/performance/collectors/FrameMetricsCollector.ts +119 -119
- package/src/features/performance/collectors/JsStallCollector.ts +165 -165
- package/src/features/performance/collectors/NetworkPerfCollector.ts +69 -69
- package/src/features/performance/collectors/ScreenLoadCollector.ts +95 -95
- package/src/features/performance/collectors/UiHangCollector.ts +98 -98
- package/src/features/performance/config.ts +136 -136
- package/src/features/performance/getNativePerformanceModule.ts +38 -38
- package/src/features/performance/index.ts +28 -28
- package/src/features/performance/metrics/MetricsEngine.ts +152 -152
- package/src/features/performance/models.ts +235 -235
- package/src/features/performance/transport/PerformanceTransport.ts +143 -143
- package/src/features/profiler/ProfilerFeature.ts +661 -661
- package/src/features/profiler/config.ts +230 -230
- package/src/features/profiler/contracts.ts +176 -176
- package/src/features/profiler/index.ts +45 -45
- package/src/features/profiler/models.ts +430 -430
- package/src/features/profiler/transport/ProfilerTransport.ts +93 -93
- package/src/features/replay/bridge/adapters/bridgeAdapter.ts +230 -230
- package/src/features/replay/bridge/eventEmitter.ts +176 -176
- package/src/features/replay/bridge/nativeModule.ts +241 -241
- package/src/features/replay/core/clock/clock.ts +38 -38
- package/src/features/replay/core/config/defaults.ts +66 -66
- package/src/features/replay/core/config/validator.ts +113 -113
- package/src/features/replay/core/env/environmentDetector.ts +21 -21
- package/src/features/replay/core/errors/safeCall.ts +34 -34
- package/src/features/replay/core/ids/sessionId.ts +44 -44
- package/src/features/replay/core/logger/logger.ts +40 -40
- package/src/features/replay/core/privacy/privacyTypes.ts +41 -41
- package/src/features/replay/core/queue/boundedQueue.ts +71 -71
- package/src/features/replay/integrations/alert/alertInstrumentation.ts +277 -277
- package/src/features/replay/integrations/logs/consoleIntegration.ts +116 -116
- package/src/features/replay/integrations/network/networkAdapter.ts +128 -128
- package/src/features/replay/integrations/react-navigation/navigationIntegration.ts +89 -89
- package/src/features/replay/integrations/touch/ReplayRoot.tsx +114 -114
- package/src/features/replay/pipeline/batching/batchManager.ts +133 -133
- package/src/features/replay/pipeline/envelope/envelopeBuilder.ts +66 -66
- package/src/features/replay/pipeline/retry/retryPolicy.ts +62 -62
- package/src/features/replay/pipeline/transport/transportTypes.ts +85 -85
- package/src/features/replay/public/api.ts +364 -364
- package/src/features/replay/public/enums.ts +78 -78
- package/src/features/replay/public/types.ts +297 -297
- package/src/features/replay/replay/breadcrumbs/breadcrumbCollector.ts +115 -115
- package/src/features/replay/replay/frames/frameModels.ts +45 -45
- package/src/features/replay/replay/session/sessionOrchestrator.ts +286 -286
- package/src/features/replay/replay/timeline/timelineModels.ts +129 -129
- package/src/features/replay/transport/BackendReplayTransport.ts +215 -215
- package/src/features/replay/transport/CompositeReplayTransport.ts +82 -82
- package/src/features/replay/transport/DesktopReplayTransport.ts +140 -140
- package/src/features/replay/transport/ReplayTransport.ts +84 -84
- package/src/features/session/BackendSessionAdapter.ts +1233 -1233
- package/src/features/session/DesktopSessionTransport.ts +128 -128
- package/src/features/session/JourneyEventPipeline.ts +273 -273
- package/src/features/session/ReplayCaptureManager.ts +946 -946
- package/src/features/session/ScrollTracker.ts +166 -166
- package/src/features/session/SessionManager.ts +1209 -1209
- package/src/features/session/SyncDecisionEngine.ts +117 -117
- package/src/features/session/index.ts +88 -88
- package/src/features/session/nativeCapture.ts +38 -38
- package/src/features/session/outboxFrameCapture.ts +74 -74
- package/src/features/session/sessionTypes.ts +491 -491
- package/src/features/skan/skanBridge.ts +61 -61
- package/src/features/skan/skanConversionManager.ts +173 -173
- package/src/index.ts +191 -191
- package/src/integrations/fetch/fetchInterceptor.ts +182 -182
- package/src/integrations/network/bodyCapture.ts +328 -328
- package/src/integrations/xhr/xhrInterceptor.ts +231 -231
- package/src/metro/index.ts +164 -164
- package/src/metro/optionalDependencyStub.ts +13 -13
- package/src/metro/optionalModules.ts +27 -27
- package/src/pipeline/dispatcher/dispatcher.ts +22 -22
- package/src/pipeline/envelope/envelope.ts +31 -31
- package/src/pipeline/envelope/serializer.ts +14 -14
- package/src/pipeline/processors/enrich.ts +11 -11
- package/src/pipeline/processors/sanitize.ts +23 -23
- package/src/pipeline/queue/flushQueue.ts +144 -144
- package/src/pipeline/queue/memoryQueue.ts +31 -31
- package/src/pipeline/queue/persistentQueue.ts +414 -414
- package/src/pipeline/scheduler/flushScheduler.ts +47 -47
- package/src/pipeline/scheduler/retryPolicy.ts +8 -8
- package/src/public/ScaleBunFacade.ts +1479 -1479
- package/src/public/ScaleBunProvider.tsx +91 -91
- package/src/public/typedTracker.ts +123 -123
- package/src/public/types.ts +312 -312
- package/src/push/PushManager.ts +318 -318
- package/src/push/adapters/ManualAdapter.ts +100 -100
- package/src/push/adapters/NativeBridgeAdapter.ts +142 -142
- package/src/push/adapters/NoopAdapter.ts +46 -46
- package/src/push/adapters/RNFirebaseMessagingAdapter.ts +271 -271
- package/src/push/adapters/loadMessaging.ts +24 -24
- package/src/push/adapters/loadNotifee.ts +29 -29
- package/src/push/adapters/selectAdapter.ts +176 -176
- package/src/push/detect/capabilities.ts +124 -124
- package/src/push/index.ts +22 -22
- package/src/push/native/nativeNotifications.ts +216 -216
- package/src/push/types.ts +159 -159
- package/src/specs/NativeReplaySdk.ts +99 -99
- package/src/specs/NativeScaleBunCrash.ts +36 -36
- package/src/specs/NativeScaleBunInstallReferrer.ts +29 -29
- package/src/specs/NativeScaleBunOta.ts +85 -85
- package/src/specs/NativeScaleBunPerformance.ts +34 -34
- package/src/specs/NativeScaleBunProfiler.ts +41 -41
- package/src/specs/NativeScaleBunStorage.ts +59 -59
- package/src/storage/StorageBackend.ts +272 -272
- package/src/transport/auth/sdkSession.ts +27 -27
- package/src/transport/backoff/exponentialJitter.ts +9 -9
- package/src/transport/http/endpoints.ts +33 -33
- package/src/transport/http/httpClient.ts +73 -73
- package/src/vendor/protocol/index.ts +391 -391
- package/src/vendor/protocol/internal/validation.ts +497 -497
- package/src/vendor/sdk-contracts/bridge.ts +162 -162
- package/src/vendor/sdk-contracts/config.ts +192 -192
- package/src/vendor/sdk-contracts/events.ts +50 -50
- package/src/vendor/sdk-contracts/features.ts +42 -42
- package/src/vendor/sdk-contracts/index.ts +98 -98
- package/src/vendor/sdk-contracts/platform.ts +42 -42
- package/src/vendor/sdk-contracts/session-boundary.ts +55 -55
- package/src/vendor/sdk-contracts/session.ts +225 -225
- package/src/vendor/vendor.manifest +10 -10
|
@@ -1,691 +1,691 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ScaleBun SDK — Engage Surface Wire Types (foundation)
|
|
3
|
-
*
|
|
4
|
-
* Typed DTOs for the 7-screen Engage surface transport lanes, mirrored from the
|
|
5
|
-
* FROZEN `engage-build/CONTRACT.md` v1 (§1.3 config-serve, §1.4 response upload,
|
|
6
|
-
* §2.2 device-token registration, §2.4 in-app config, §2.5 event upload).
|
|
7
|
-
*
|
|
8
|
-
* All shared wire structures carry an explicit integer version (`configVersion`
|
|
9
|
-
* or `schemaVersion`) per D9. v1 freeze: `configVersion = 1`. Response schema is
|
|
10
|
-
* now `schemaVersion = 2` (P0): `EngageResponse` gained the OPTIONAL, ADDITIVE
|
|
11
|
-
* fields `screen` / `platform` / `appVersion` (`sessionId` already existed and is
|
|
12
|
-
* now populated). v1 payloads still validate — every new field is optional — and
|
|
13
|
-
* consumers MUST tolerate unknown fields/higher versions by ignoring them (D9).
|
|
14
|
-
*
|
|
15
|
-
* Render/overlay is OUT OF SCOPE for this stage — the shared cross-platform JS
|
|
16
|
-
* overlay (D4) consumes `fetchEngageConfig()` in a later slice.
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
/** Schema/config version constant (D9). v2 = additive feedback-response fields (P0). */
|
|
20
|
-
export const ENGAGE_SCHEMA_VERSION = 2 as const;
|
|
21
|
-
|
|
22
|
-
// ─── §1.3 Config-serve payload (backend → SDK) ───────────────────────────────
|
|
23
|
-
|
|
24
|
-
export interface QuestionSpec {
|
|
25
|
-
key: string;
|
|
26
|
-
prompt: string;
|
|
27
|
-
/**
|
|
28
|
-
* `single` = one choice from `choices`; `multi` = many choices; `scale` =
|
|
29
|
-
* numeric selector (0..`scaleMax`); `text` = free text; `emoji` = 5-point
|
|
30
|
-
* 😡🙁😐🙂😍 reaction (value 1..5); `boolean` = Yes/No (value 'Yes'|'No');
|
|
31
|
-
* `screenshot` = native masked-screenshot attach; `voice` = native mic note
|
|
32
|
-
* (auto-transcribed). `choice` is kept as an alias for `single` (§1.3).
|
|
33
|
-
*/
|
|
34
|
-
kind:
|
|
35
|
-
| 'scale'
|
|
36
|
-
| 'text'
|
|
37
|
-
| 'choice'
|
|
38
|
-
| 'single'
|
|
39
|
-
| 'multi'
|
|
40
|
-
| 'emoji'
|
|
41
|
-
| 'boolean'
|
|
42
|
-
| 'screenshot'
|
|
43
|
-
| 'voice';
|
|
44
|
-
choices?: string[];
|
|
45
|
-
/** Upper bound for `scale` questions (inclusive). Defaults to 5 when omitted. */
|
|
46
|
-
scaleMax?: number;
|
|
47
|
-
/** Lower bound for a scale. NPS templates use 0; other scales default to 1. */
|
|
48
|
-
scaleMin?: number;
|
|
49
|
-
required?: boolean;
|
|
50
|
-
skipTo?: string;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/** One answer in a multi-question SURVEY response (mirrors §1.4 `answers[]`). */
|
|
54
|
-
export interface SurveyAnswer {
|
|
55
|
-
/** Matches `QuestionSpec.key`. */
|
|
56
|
-
key: string;
|
|
57
|
-
/** Scalar answer (scale value, single choice, or text), or many for `multi`. */
|
|
58
|
-
value: string | number | string[];
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
export interface Targeting {
|
|
62
|
-
platforms?: ('android' | 'ios')[];
|
|
63
|
-
minAppVersion?: string;
|
|
64
|
-
segments?: string[];
|
|
65
|
-
userProps?: Record<string, unknown>;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
export interface Throttle {
|
|
69
|
-
showOnce?: boolean;
|
|
70
|
-
cooldownHours?: number;
|
|
71
|
-
maxImpressions?: number;
|
|
72
|
-
samplePct?: number;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
export type EngageCampaignType =
|
|
76
|
-
| 'NPS'
|
|
77
|
-
| 'CSAT'
|
|
78
|
-
| 'CUSTOM'
|
|
79
|
-
| 'FEEDBACK'
|
|
80
|
-
| 'RATING_PROMPT'
|
|
81
|
-
// Contract §1.3 spells the app-store funnel `RATINGS_PROMPT`; kept as an
|
|
82
|
-
// accepted alias so a config payload using either string renders the stars.
|
|
83
|
-
| 'RATINGS_PROMPT';
|
|
84
|
-
|
|
85
|
-
export interface EngageCampaignConfig {
|
|
86
|
-
id: string;
|
|
87
|
-
type: EngageCampaignType;
|
|
88
|
-
name: string;
|
|
89
|
-
question: string;
|
|
90
|
-
questions?: QuestionSpec[];
|
|
91
|
-
scale?: number;
|
|
92
|
-
trigger?: string;
|
|
93
|
-
targetScreen?: string;
|
|
94
|
-
// Per-trigger config (CONTRACT §2.10.3 `needs`). Carries the extra parameter a
|
|
95
|
-
// behavioral trigger matches on: `event` (custom_event), `action` (failed_action),
|
|
96
|
-
// `seconds` (time_in_app), `sessions` (n_sessions), `slowMs` (slow_screen). Absent
|
|
97
|
-
// for parameter-less triggers (after_crash, before_logout, shake_device, …).
|
|
98
|
-
triggerConfig?: TriggerConfig;
|
|
99
|
-
targeting?: Targeting;
|
|
100
|
-
throttle?: Throttle;
|
|
101
|
-
startScreen?: string;
|
|
102
|
-
thankYouScreen?: string;
|
|
103
|
-
language?: string;
|
|
104
|
-
storeUrl?: string;
|
|
105
|
-
highRatingThreshold?: number;
|
|
106
|
-
routeLowToFeedback?: boolean;
|
|
107
|
-
enabled: boolean;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
export interface TriggerConfig {
|
|
111
|
-
screen?: string;
|
|
112
|
-
seconds?: number;
|
|
113
|
-
sessions?: number;
|
|
114
|
-
event?: string;
|
|
115
|
-
action?: string;
|
|
116
|
-
slowMs?: number;
|
|
117
|
-
/**
|
|
118
|
-
* Seconds to wait AFTER the trigger fires before showing (authoring "Delay
|
|
119
|
-
* after trigger"). The trigger engine honors the REMAINING delay on replay so
|
|
120
|
-
* an event buffered during a cold-start config race still shows at trigger+delay,
|
|
121
|
-
* not late. Absent/0 ⇒ show immediately. Additive/optional.
|
|
122
|
-
*/
|
|
123
|
-
delaySeconds?: number;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
// ─── §2.4 In-app message config (rides the SAME config lane) ──────────────────
|
|
127
|
-
|
|
128
|
-
/** URL-backed assets lifted from the normalized in-app payload for SDK rendering. */
|
|
129
|
-
export interface InAppRenderAssets {
|
|
130
|
-
icon?: string;
|
|
131
|
-
image?: string;
|
|
132
|
-
video?: string;
|
|
133
|
-
lottie?: string;
|
|
134
|
-
backgroundImage?: string;
|
|
135
|
-
avatar?: string;
|
|
136
|
-
calendar?: string;
|
|
137
|
-
document?: string;
|
|
138
|
-
qr?: string;
|
|
139
|
-
nfc?: string;
|
|
140
|
-
wallet?: string;
|
|
141
|
-
/** Structured commerce items preserved by the normalized payload mirror. */
|
|
142
|
-
products?: unknown[];
|
|
143
|
-
/** Structured geo metadata preserved by the normalized payload mirror. */
|
|
144
|
-
location?: Record<string, unknown>;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
/**
|
|
148
|
-
* Authored size of a campaign's primary hero/poster media.
|
|
149
|
-
*
|
|
150
|
-
* The value is carried additively at `spec.ext.mediaSize`. Missing, `auto`, and
|
|
151
|
-
* unknown values preserve each renderer's historical dimensions.
|
|
152
|
-
*/
|
|
153
|
-
export type InAppMediaSize =
|
|
154
|
-
| 'auto'
|
|
155
|
-
| 'compact'
|
|
156
|
-
| 'medium'
|
|
157
|
-
| 'large'
|
|
158
|
-
| 'full';
|
|
159
|
-
|
|
160
|
-
/** Semantic artwork options for the authored terminal result/confirmation card. */
|
|
161
|
-
export type InAppOutcomeIcon =
|
|
162
|
-
| 'check'
|
|
163
|
-
| 'trophy'
|
|
164
|
-
| 'gift'
|
|
165
|
-
| 'star'
|
|
166
|
-
| 'sparkles'
|
|
167
|
-
| 'rocket';
|
|
168
|
-
|
|
169
|
-
/** Normalized action authored for the terminal result/confirmation button. */
|
|
170
|
-
export type InAppOutcomeActionType =
|
|
171
|
-
| 'deep_link'
|
|
172
|
-
| 'url'
|
|
173
|
-
| 'screen'
|
|
174
|
-
| 'dismiss';
|
|
175
|
-
|
|
176
|
-
export interface InAppOutcomeAction {
|
|
177
|
-
label: string;
|
|
178
|
-
type: InAppOutcomeActionType;
|
|
179
|
-
value?: string;
|
|
180
|
-
track?: boolean;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* Presentation-only terminal card configuration.
|
|
185
|
-
*
|
|
186
|
-
* This must never carry a game result. Reward identity/value remains exclusively
|
|
187
|
-
* in `InAppGameOutcome`, returned by the host's authenticated backend.
|
|
188
|
-
*/
|
|
189
|
-
export interface InAppOutcomeConfig {
|
|
190
|
-
enabled?: boolean;
|
|
191
|
-
title?: string;
|
|
192
|
-
body?: string;
|
|
193
|
-
icon?: InAppOutcomeIcon;
|
|
194
|
-
buttonLabel?: string;
|
|
195
|
-
action?: InAppOutcomeAction;
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
/** Open variant payload with shared cross-variant conventions typed explicitly. */
|
|
199
|
-
export interface InAppRenderExt extends Record<string, unknown> {
|
|
200
|
-
mediaSize?: InAppMediaSize;
|
|
201
|
-
outcome?: InAppOutcomeConfig;
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
/** An authored in-app action. Coachmark steps reuse the same click contract. */
|
|
205
|
-
export interface InAppCta {
|
|
206
|
-
label: string;
|
|
207
|
-
deepLink?: string;
|
|
208
|
-
action: 'dismiss' | 'link' | 'custom';
|
|
209
|
-
/** Set to false for authored actions that must execute without a click event. */
|
|
210
|
-
track?: boolean;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
export type InAppCoachmarkPlacement = 'auto' | 'top' | 'bottom' | 'left' | 'right';
|
|
214
|
-
|
|
215
|
-
/** One ordered stop in a `coachmark_spotlight` tour (`spec.ext.steps`). */
|
|
216
|
-
export interface InAppCoachmarkStep {
|
|
217
|
-
anchorKey: string;
|
|
218
|
-
title?: string;
|
|
219
|
-
body: string;
|
|
220
|
-
placement?: InAppCoachmarkPlacement;
|
|
221
|
-
/** Optional final-stop product action; navigation controls are supplied by the SDK. */
|
|
222
|
-
cta?: InAppCta;
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
export interface InAppRenderSpec {
|
|
226
|
-
title?: string;
|
|
227
|
-
body?: string;
|
|
228
|
-
/** Preview-lane compatibility; published configs also carry this at message level. */
|
|
229
|
-
variantKey?: string;
|
|
230
|
-
/** Preview-lane normalized payload version. */
|
|
231
|
-
payloadVersion?: number;
|
|
232
|
-
/** Preview-lane minimum SDK version. */
|
|
233
|
-
sdkMinVersion?: string;
|
|
234
|
-
imageUrl?: string;
|
|
235
|
-
cta?: InAppCta;
|
|
236
|
-
secondaryCta?: { label: string; action: 'dismiss' };
|
|
237
|
-
/** Dark theme (matches the dashboard "Dark" preview toggle). */
|
|
238
|
-
dark?: boolean;
|
|
239
|
-
/** Right-to-left layout/text (dashboard "AR · RTL" toggle). */
|
|
240
|
-
rtl?: boolean;
|
|
241
|
-
/** Coupon code chip rendered under the body (dashboard "Reveal & copy coupon"). */
|
|
242
|
-
coupon?: string;
|
|
243
|
-
/** Legacy-only variant/mechanic hint. Canonical payloads dispatch by `variantKey`. */
|
|
244
|
-
archetype?: string;
|
|
245
|
-
/**
|
|
246
|
-
* Archetype-specific payload. Keys vary per archetype:
|
|
247
|
-
* spin_wheel: segments [{label,color?}], spinLabel?
|
|
248
|
-
* countdown_offer: expiryTime (ISO string), countdownUnits? (2|3)
|
|
249
|
-
* scratch_card: prize?, closedMessage?
|
|
250
|
-
* slot_reward: reels [{emoji}]
|
|
251
|
-
* poll_card: question, options [{label}], showResults?
|
|
252
|
-
* nps_prompt: question, scaleMax? (default 10), scaleLabels?
|
|
253
|
-
* emoji_reaction_bar: reactions [emoji strings]
|
|
254
|
-
* rating_request: ratingScale? (default 5)
|
|
255
|
-
* streak_reward: filled (days done), total (total days), glyph?
|
|
256
|
-
* checklist_progress: items [{label, done?}]
|
|
257
|
-
* coupon_wallet: code, couponLabel?
|
|
258
|
-
* coachmark_spotlight: steps [{anchorKey,title,body,placement,cta?}]
|
|
259
|
-
*/
|
|
260
|
-
ext?: InAppRenderExt;
|
|
261
|
-
/** Structured asset URLs supplied by the normalized in-app builder. */
|
|
262
|
-
assets?: InAppRenderAssets;
|
|
263
|
-
/**
|
|
264
|
-
* Normalized theme token overrides. Keys (all optional): accent, cardBg,
|
|
265
|
-
* titleColor, bodyColor, couponBg, couponFg, couponBorder, backdrop, ctaText.
|
|
266
|
-
* Unset tokens fall back to the dashboard-matching light/dark defaults — this is
|
|
267
|
-
* the SINGLE design contract; the SDK never hardcodes dashboard CSS per message.
|
|
268
|
-
*/
|
|
269
|
-
style?: Record<string, string>;
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
/**
|
|
273
|
-
* Optional A/B experiment carried on an in-app campaign config (D8/J6). When
|
|
274
|
-
* `enabled`, the SDK deterministically buckets the current user/device into
|
|
275
|
-
* variant `A` (the message's base `spec`) or variant `B` (`variantB`), where
|
|
276
|
-
* `split` is the integer percentage (0–100) of traffic routed to variant B.
|
|
277
|
-
* Absent/`enabled:false` ⇒ everyone sees the base `spec` (no experiment).
|
|
278
|
-
* Additive + optional — older configs (no `experiment`) are unaffected.
|
|
279
|
-
*/
|
|
280
|
-
export interface InAppExperiment {
|
|
281
|
-
enabled: boolean;
|
|
282
|
-
/** Percentage (0–100) of traffic routed to variant B. */
|
|
283
|
-
split: number;
|
|
284
|
-
/** Variant B content. Variant A is the message's base `spec`. */
|
|
285
|
-
variantB: InAppRenderSpec;
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
/** Resolved experiment arm for the current user/device (client-side selection). */
|
|
289
|
-
export type InAppVariantId = 'A' | 'B';
|
|
290
|
-
|
|
291
|
-
export interface InAppMessageConfig {
|
|
292
|
-
id: string;
|
|
293
|
-
layout: 'modal' | 'fullscreen' | 'bottom_sheet' | 'top_banner' | 'bottom_banner' | 'tooltip' | 'toast';
|
|
294
|
-
trigger?: string;
|
|
295
|
-
/** Business/custom event name for `event` / `custom` triggers. */
|
|
296
|
-
eventName?: string;
|
|
297
|
-
/** Canonical screen name when the backend preserves it separately. */
|
|
298
|
-
screenName?: string;
|
|
299
|
-
/** Seconds to wait after the trigger fires before showing (see TriggerConfig.delaySeconds). */
|
|
300
|
-
delaySeconds?: number;
|
|
301
|
-
targetScreen?: string;
|
|
302
|
-
targeting?: Targeting;
|
|
303
|
-
throttle?: Throttle;
|
|
304
|
-
spec: InAppRenderSpec;
|
|
305
|
-
/** Canonical registry key used to select a mechanic renderer. */
|
|
306
|
-
variantKey?: string;
|
|
307
|
-
/** Version of the normalized in-app payload schema. */
|
|
308
|
-
payloadVersion?: number;
|
|
309
|
-
/** Minimum SDK version capable of rendering this payload. */
|
|
310
|
-
sdkMinVersion?: string;
|
|
311
|
-
/**
|
|
312
|
-
* Content revision / contentHash (server-computed from the campaign's stored
|
|
313
|
-
* content). Frequency-cap state is scoped to `id + revision`: when an author
|
|
314
|
-
* changes a published campaign's design/content/type, the backend serves a NEW
|
|
315
|
-
* revision, so old impression/showOnce/cooldown state no longer suppresses the
|
|
316
|
-
* updated message (the #1 "had to reinstall to see my change" cause). Absent on
|
|
317
|
-
* legacy configs ⇒ state behaves exactly as before (keyed by id alone).
|
|
318
|
-
*/
|
|
319
|
-
revision?: string;
|
|
320
|
-
/**
|
|
321
|
-
* [T1] Unique id for ONE "Send Test" run (== previewId). Every Send Test mints a
|
|
322
|
-
* fresh testRunId, so a re-send is ALWAYS eligible and is never blocked by a prior
|
|
323
|
-
* test's dismissed/impression state. Rides lifecycle events (via `meta.testRunId`)
|
|
324
|
-
* so the dashboard can correlate a specific test send to its render/click/dismiss.
|
|
325
|
-
*/
|
|
326
|
-
testRunId?: string;
|
|
327
|
-
/**
|
|
328
|
-
* [T1] Queue time of a test preview (ISO, server → SDK). When more than one pending
|
|
329
|
-
* test is served, the SDK sorts by this and renders only the LATEST. Absent on
|
|
330
|
-
* normal campaign messages.
|
|
331
|
-
*/
|
|
332
|
-
createdAt?: string;
|
|
333
|
-
/**
|
|
334
|
-
* Optional A/B experiment (D8/J6). When present + `enabled`, the SDK picks
|
|
335
|
-
* variant A (`spec`) or B (`experiment.variantB`) deterministically for the
|
|
336
|
-
* current device. Optional/additive — absent ⇒ no experiment.
|
|
337
|
-
*/
|
|
338
|
-
experiment?: InAppExperiment;
|
|
339
|
-
/**
|
|
340
|
-
* [T1] Test-preview flags (server → SDK). A message the backend queued via
|
|
341
|
-
* "Send Test" for THIS device carries `preview:true` + a `previewId`. The SDK
|
|
342
|
-
* renders it IMMEDIATELY — bypassing trigger/throttle/schedule/sample — and the
|
|
343
|
-
* resulting impression (carrying `previewId`/`isTest`) consumes it server-side.
|
|
344
|
-
* `isTest` marks the traffic so production KPIs exclude it. Absent on normal
|
|
345
|
-
* campaign messages (additive/optional — older configs are unaffected).
|
|
346
|
-
*/
|
|
347
|
-
preview?: boolean;
|
|
348
|
-
previewId?: string;
|
|
349
|
-
isTest?: boolean;
|
|
350
|
-
}
|
|
351
|
-
|
|
352
|
-
// ─── Customer-owned gamified result contract ──────────────────────────────────────
|
|
353
|
-
|
|
354
|
-
/** Variants whose result/state must be resolved by the host app's backend. */
|
|
355
|
-
export type InAppGameVariantKey =
|
|
356
|
-
| 'spin_wheel'
|
|
357
|
-
| 'scratch_card'
|
|
358
|
-
| 'slot_reward'
|
|
359
|
-
| 'mystery_box'
|
|
360
|
-
| 'progress_unlock'
|
|
361
|
-
| 'streak_reward'
|
|
362
|
-
| 'daily_check_in'
|
|
363
|
-
| 'quiz_card';
|
|
364
|
-
|
|
365
|
-
export type InAppGameAction = 'play' | 'load' | 'check_in' | 'submit_quiz';
|
|
366
|
-
|
|
367
|
-
interface InAppGameRequestBase {
|
|
368
|
-
/** In-app campaign/message id from the served config. */
|
|
369
|
-
campaignId: string;
|
|
370
|
-
/** Stable customer-defined key authored in `spec.ext.gameKey`. */
|
|
371
|
-
gameKey: string;
|
|
372
|
-
/** Stable idempotency key. The SDK reuses it when the user retries this attempt. */
|
|
373
|
-
attemptId: string;
|
|
374
|
-
/** One-based play/check attempt number. State loads use 1. */
|
|
375
|
-
attempt: number;
|
|
376
|
-
/** Presentation-safe input only (for example quiz answer indexes and score). */
|
|
377
|
-
input?: Record<string, unknown>;
|
|
378
|
-
/** Authored outcome ids, when the presentation declares a closed set. */
|
|
379
|
-
allowedOutcomeIds?: string[];
|
|
380
|
-
}
|
|
381
|
-
|
|
382
|
-
/** Discriminated request passed to `onInAppGameRequest`. */
|
|
383
|
-
export type InAppGameRequest =
|
|
384
|
-
| (InAppGameRequestBase & {
|
|
385
|
-
variantKey: 'spin_wheel' | 'scratch_card' | 'slot_reward' | 'mystery_box';
|
|
386
|
-
action: 'play';
|
|
387
|
-
})
|
|
388
|
-
| (InAppGameRequestBase & {
|
|
389
|
-
variantKey: 'progress_unlock' | 'streak_reward';
|
|
390
|
-
action: 'load';
|
|
391
|
-
})
|
|
392
|
-
| (InAppGameRequestBase & {
|
|
393
|
-
variantKey: 'daily_check_in';
|
|
394
|
-
action: 'check_in';
|
|
395
|
-
})
|
|
396
|
-
| (InAppGameRequestBase & {
|
|
397
|
-
variantKey: 'quiz_card';
|
|
398
|
-
action: 'submit_quiz';
|
|
399
|
-
});
|
|
400
|
-
|
|
401
|
-
/** Presentation-safe result returned after the customer's backend grants/reserves it. */
|
|
402
|
-
export interface InAppGameOutcome {
|
|
403
|
-
/** Stable backend outcome id; use a real id such as `no_reward` for non-winning plays. */
|
|
404
|
-
id: string;
|
|
405
|
-
label?: string;
|
|
406
|
-
/** Wheel segment id (preferred over a display index). */
|
|
407
|
-
segmentId?: string;
|
|
408
|
-
segmentIndex?: number;
|
|
409
|
-
/** Slot symbols, in reel order. */
|
|
410
|
-
symbols?: string[];
|
|
411
|
-
/** Progress/streak/check-in state consumed by those renderers. */
|
|
412
|
-
state?: Record<string, unknown>;
|
|
413
|
-
value?: string | number | boolean;
|
|
414
|
-
/** Customer receipt/grant id for reconciliation. Never treated as a reward by the SDK. */
|
|
415
|
-
receiptId?: string;
|
|
416
|
-
}
|
|
417
|
-
|
|
418
|
-
/** A host can return `unavailable`, or throw; both produce the same retry-safe UI. */
|
|
419
|
-
export type InAppGameResult =
|
|
420
|
-
| {
|
|
421
|
-
attemptId: string;
|
|
422
|
-
status: 'resolved';
|
|
423
|
-
outcome: InAppGameOutcome;
|
|
424
|
-
}
|
|
425
|
-
| {
|
|
426
|
-
attemptId: string;
|
|
427
|
-
status: 'unavailable';
|
|
428
|
-
retryable?: boolean;
|
|
429
|
-
message?: string;
|
|
430
|
-
};
|
|
431
|
-
|
|
432
|
-
export type InAppGameRequestHandler = (
|
|
433
|
-
request: InAppGameRequest,
|
|
434
|
-
) => Promise<InAppGameResult>;
|
|
435
|
-
|
|
436
|
-
export interface EngageConfigResponse {
|
|
437
|
-
configVersion: number;
|
|
438
|
-
serverTime: string;
|
|
439
|
-
campaigns: EngageCampaignConfig[];
|
|
440
|
-
inAppMessages: InAppMessageConfig[];
|
|
441
|
-
}
|
|
442
|
-
|
|
443
|
-
export interface CoachTourStep {
|
|
444
|
-
id?: string;
|
|
445
|
-
anchorKey: string;
|
|
446
|
-
title?: string;
|
|
447
|
-
body: string;
|
|
448
|
-
placement?: InAppCoachmarkPlacement;
|
|
449
|
-
cta?: InAppCta;
|
|
450
|
-
}
|
|
451
|
-
|
|
452
|
-
export interface CoachTourConfig {
|
|
453
|
-
id: string;
|
|
454
|
-
name: string;
|
|
455
|
-
version: number;
|
|
456
|
-
preview?: boolean;
|
|
457
|
-
steps: CoachTourStep[];
|
|
458
|
-
}
|
|
459
|
-
|
|
460
|
-
export interface CoachConfigResponse {
|
|
461
|
-
tours: CoachTourConfig[];
|
|
462
|
-
}
|
|
463
|
-
|
|
464
|
-
/** Optional app/user context for server-side targeting/throttle (§1.3 query). */
|
|
465
|
-
export interface EngageConfigContext {
|
|
466
|
-
platform?: 'android' | 'ios';
|
|
467
|
-
appVersion?: string;
|
|
468
|
-
endUserId?: string;
|
|
469
|
-
deviceId?: string;
|
|
470
|
-
}
|
|
471
|
-
|
|
472
|
-
// ─── §1.4 Response payload (SDK → backend) ───────────────────────────────────
|
|
473
|
-
|
|
474
|
-
export interface EngageResponse {
|
|
475
|
-
responseId: string; // UUID, client-generated (D8 dedup key)
|
|
476
|
-
surveyId: string;
|
|
477
|
-
schemaVersion: number;
|
|
478
|
-
score?: number; // NPS 0-10; CSAT 1-5; FEEDBACK omit/null
|
|
479
|
-
text?: string;
|
|
480
|
-
tags?: string[];
|
|
481
|
-
sessionId?: string; // [v2] canonical replay session id → /sessions/:id linkage
|
|
482
|
-
/** [v2] Originating screen the prompt was shown on (additive, optional). */
|
|
483
|
-
screen?: string;
|
|
484
|
-
/** [v2] Device platform for by-platform analytics (additive, optional). */
|
|
485
|
-
platform?: 'android' | 'ios';
|
|
486
|
-
/** [v2] Host app version for by-version analytics (additive, optional). */
|
|
487
|
-
appVersion?: string;
|
|
488
|
-
deviceId?: string;
|
|
489
|
-
endUserId?: string;
|
|
490
|
-
answers?: { key: string; value: string | number | string[] }[];
|
|
491
|
-
/** [P3-e] Native attachment metadata (screenshot/voice). Bytes uploaded direct. */
|
|
492
|
-
attachments?: EngageAttachmentMeta[];
|
|
493
|
-
clientTs: string; // ISO event time
|
|
494
|
-
}
|
|
495
|
-
|
|
496
|
-
// ─── Rating-funnel event lane (ratings-rebuild CONTRACT §1.1–1.2) ────────────
|
|
497
|
-
// First-class, dimensioned, deduped tracking facts feeding the Overview funnel.
|
|
498
|
-
// NOT a campaign response (D1) — these never count as a "rating response".
|
|
499
|
-
|
|
500
|
-
/** Closed, ordered funnel enum (CONTRACT §1.1). Producers never emit outside it. */
|
|
501
|
-
export type RatingFunnelEventType =
|
|
502
|
-
| 'rating_prompt_eligible'
|
|
503
|
-
| 'rating_prompt_shown'
|
|
504
|
-
| 'rating_prompt_dismissed'
|
|
505
|
-
| 'rating_selected'
|
|
506
|
-
| 'store_redirect_clicked';
|
|
507
|
-
|
|
508
|
-
/** Per-event breakdown dimensions (CONTRACT §1.2 `dims`). All optional/honest. */
|
|
509
|
-
export interface RatingFunnelEventDims {
|
|
510
|
-
platform?: 'android' | 'ios' | 'web';
|
|
511
|
-
appVersion?: string;
|
|
512
|
-
build?: string;
|
|
513
|
-
osVersion?: string;
|
|
514
|
-
deviceModel?: string;
|
|
515
|
-
country?: string; // ISO-2
|
|
516
|
-
locale?: string;
|
|
517
|
-
acquisitionSource?: string; // "Unknown" until attribution SDK wired (honest)
|
|
518
|
-
}
|
|
519
|
-
|
|
520
|
-
/** What a caller raises (no eventId/ts — the transport stamps those, D8). */
|
|
521
|
-
export interface RatingFunnelEventInput {
|
|
522
|
-
type: RatingFunnelEventType;
|
|
523
|
-
sessionId?: string;
|
|
524
|
-
userId?: string; // null => server flags invalidReason='missing_user'
|
|
525
|
-
promptId?: string;
|
|
526
|
-
triggerId?: string;
|
|
527
|
-
variantId?: string;
|
|
528
|
-
stars?: number; // only on rating_selected
|
|
529
|
-
dims?: RatingFunnelEventDims;
|
|
530
|
-
}
|
|
531
|
-
|
|
532
|
-
/** Wire shape after the transport stamps the idempotency key + client clock. */
|
|
533
|
-
export interface RatingFunnelEventUpload extends RatingFunnelEventInput {
|
|
534
|
-
eventId: string; // client UUID (D8 dedup)
|
|
535
|
-
ts: string; // ISO client clock
|
|
536
|
-
}
|
|
537
|
-
|
|
538
|
-
// ─── §P3-e Feedback attachments (screenshot + voice) ─────────────────────────
|
|
539
|
-
|
|
540
|
-
export type EngageAttachmentKind = 'screenshot' | 'voice';
|
|
541
|
-
|
|
542
|
-
/** Raw attachment captured on-device, before upload (carries bytes + dimensions). */
|
|
543
|
-
export interface EngageAttachmentDraft {
|
|
544
|
-
kind: EngageAttachmentKind;
|
|
545
|
-
base64: string; // raw bytes, base64 (PUT direct to storage)
|
|
546
|
-
mime: string;
|
|
547
|
-
width?: number;
|
|
548
|
-
height?: number;
|
|
549
|
-
byteSize?: number;
|
|
550
|
-
durationMs?: number; // voice only; hard cap < 30000ms enforced upstream
|
|
551
|
-
masked?: boolean; // PII-masking active at capture
|
|
552
|
-
/** voice only — on-device STT text, user-edited final wording (additive). */
|
|
553
|
-
transcript?: string;
|
|
554
|
-
/** voice only — user explicitly approved the transcript before send (additive). */
|
|
555
|
-
transcriptApproved?: boolean;
|
|
556
|
-
}
|
|
557
|
-
|
|
558
|
-
/** Attachment metadata sent on the response after the bytes are PUT to storage. */
|
|
559
|
-
export interface EngageAttachmentMeta {
|
|
560
|
-
attachmentId: string;
|
|
561
|
-
kind: EngageAttachmentKind;
|
|
562
|
-
storageKey: string;
|
|
563
|
-
mime: string;
|
|
564
|
-
width?: number;
|
|
565
|
-
height?: number;
|
|
566
|
-
byteSize?: number;
|
|
567
|
-
durationMs?: number;
|
|
568
|
-
masked?: boolean;
|
|
569
|
-
/** voice only — approved final transcript text (additive). */
|
|
570
|
-
transcript?: string;
|
|
571
|
-
/** voice only — user approved before send (additive). */
|
|
572
|
-
transcriptApproved?: boolean;
|
|
573
|
-
}
|
|
574
|
-
|
|
575
|
-
/** Presign response item (backend → SDK). */
|
|
576
|
-
export interface EngageAttachmentPresignResult {
|
|
577
|
-
attachmentId: string;
|
|
578
|
-
uploadUrl: string;
|
|
579
|
-
storageKey: string;
|
|
580
|
-
bucket: string;
|
|
581
|
-
contentType: string;
|
|
582
|
-
}
|
|
583
|
-
|
|
584
|
-
/** Caller-supplied response input — `responseId`/`schemaVersion`/`clientTs` stamped by transport. */
|
|
585
|
-
export type EngageResponseInput = Omit<
|
|
586
|
-
EngageResponse,
|
|
587
|
-
'responseId' | 'schemaVersion' | 'clientTs'
|
|
588
|
-
>;
|
|
589
|
-
|
|
590
|
-
export interface SurveyImpressionInput {
|
|
591
|
-
surveyId: string;
|
|
592
|
-
stage: 'shown' | 'started';
|
|
593
|
-
sessionId?: string;
|
|
594
|
-
deviceId?: string;
|
|
595
|
-
platform?: 'android' | 'ios';
|
|
596
|
-
appVersion?: string;
|
|
597
|
-
screen?: string;
|
|
598
|
-
}
|
|
599
|
-
|
|
600
|
-
export interface SurveyImpressionUpload extends SurveyImpressionInput {
|
|
601
|
-
beaconId: string;
|
|
602
|
-
clientTs: string;
|
|
603
|
-
schemaVersion: number;
|
|
604
|
-
}
|
|
605
|
-
|
|
606
|
-
// ─── §2.5 Tracking-event upload (SDK → backend, in-app legs) ─────────────────
|
|
607
|
-
|
|
608
|
-
export interface EngageEventUpload {
|
|
609
|
-
eventId: string; // client UUID -> dedup
|
|
610
|
-
campaignId?: string;
|
|
611
|
-
channel: 'inapp';
|
|
612
|
-
/**
|
|
613
|
-
* `impression` = prompt/message shown; `completion` = prompt submitted
|
|
614
|
-
* (P3-e #2, first-class submit signal); `click` = in-app CTA tap; `dismiss`
|
|
615
|
-
* = closed without submit. `rendered` = a test preview actually mounted (the
|
|
616
|
-
* signal that CONSUMES the preview server-side); `interaction` = a bounded,
|
|
617
|
-
* display-only mechanic transition in `meta` (never a client reward grant);
|
|
618
|
-
* `render_degraded` = a host placement was unavailable and the SDK used its
|
|
619
|
-
* authored/legacy fallback; `render_failed` = the SDK could not render a message
|
|
620
|
-
* (carries `meta.reason`); `cta_open_failed` = the
|
|
621
|
-
* host's deep-link sink rejected/was missing for a link CTA. Additive to §2.5 —
|
|
622
|
-
* backend EngageEvent.type is a free string, so older readers ignore new types (D9).
|
|
623
|
-
*/
|
|
624
|
-
type:
|
|
625
|
-
| 'impression'
|
|
626
|
-
| 'completion'
|
|
627
|
-
| 'click'
|
|
628
|
-
| 'dismiss'
|
|
629
|
-
| 'interaction'
|
|
630
|
-
| 'rendered'
|
|
631
|
-
| 'render_degraded'
|
|
632
|
-
| 'render_failed'
|
|
633
|
-
| 'cta_open_failed';
|
|
634
|
-
deviceId?: string;
|
|
635
|
-
endUserId?: string;
|
|
636
|
-
timestamp: string; // ISO
|
|
637
|
-
schemaVersion: number;
|
|
638
|
-
/**
|
|
639
|
-
* [T1] Test/attribution tags (SDK → backend). `isTest` + `source:'test_preview'`
|
|
640
|
-
* + `previewId` mark a test-preview event so production KPIs exclude it and the
|
|
641
|
-
* matching preview row is consumed/advanced. `variantId` attributes an A/B arm.
|
|
642
|
-
* All optional/additive — normal campaign events omit them.
|
|
643
|
-
*/
|
|
644
|
-
isTest?: boolean;
|
|
645
|
-
source?: string;
|
|
646
|
-
previewId?: string;
|
|
647
|
-
variantId?: string;
|
|
648
|
-
meta?: Record<string, unknown>;
|
|
649
|
-
}
|
|
650
|
-
|
|
651
|
-
/** Caller-supplied event input — `eventId`/`schemaVersion`/`timestamp` stamped by transport. */
|
|
652
|
-
export type EngageEventInput = Omit<
|
|
653
|
-
EngageEventUpload,
|
|
654
|
-
'eventId' | 'schemaVersion' | 'timestamp'
|
|
655
|
-
>;
|
|
656
|
-
|
|
657
|
-
// ─── §2.2 Device-token registration (SDK → backend, push) ────────────────────
|
|
658
|
-
|
|
659
|
-
export interface DeviceTokenRegistration {
|
|
660
|
-
schemaVersion: number;
|
|
661
|
-
deviceId: string;
|
|
662
|
-
pushToken: string;
|
|
663
|
-
platform: 'android' | 'ios'; // routing source of truth (D5)
|
|
664
|
-
/** Send-transport routing key: direct APNs (iOS) → 'apns'; Firebase → 'fcm'. */
|
|
665
|
-
pushProvider?: 'fcm' | 'apns';
|
|
666
|
-
tokenStatus?: 'active';
|
|
667
|
-
installationId?: string; // stable per-install id, survives token rotation
|
|
668
|
-
sdkVersion?: string;
|
|
669
|
-
}
|
|
670
|
-
|
|
671
|
-
/** Caller-supplied token input — `schemaVersion`/`tokenStatus` stamped by transport. */
|
|
672
|
-
export interface DeviceTokenInput {
|
|
673
|
-
deviceId?: string; // defaults to the SDK device id when omitted
|
|
674
|
-
pushToken: string;
|
|
675
|
-
platform: 'android' | 'ios';
|
|
676
|
-
pushProvider?: 'fcm' | 'apns';
|
|
677
|
-
installationId?: string;
|
|
678
|
-
sdkVersion?: string;
|
|
679
|
-
}
|
|
680
|
-
|
|
681
|
-
// ─── Batched upload envelopes (mirror the existing ingestion lane shapes) ─────
|
|
682
|
-
|
|
683
|
-
export interface EngageResponsesBatch {
|
|
684
|
-
schemaVersion: number;
|
|
685
|
-
responses: EngageResponse[];
|
|
686
|
-
}
|
|
687
|
-
|
|
688
|
-
export interface EngageEventsBatch {
|
|
689
|
-
schemaVersion: number;
|
|
690
|
-
events: EngageEventUpload[];
|
|
691
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* ScaleBun SDK — Engage Surface Wire Types (foundation)
|
|
3
|
+
*
|
|
4
|
+
* Typed DTOs for the 7-screen Engage surface transport lanes, mirrored from the
|
|
5
|
+
* FROZEN `engage-build/CONTRACT.md` v1 (§1.3 config-serve, §1.4 response upload,
|
|
6
|
+
* §2.2 device-token registration, §2.4 in-app config, §2.5 event upload).
|
|
7
|
+
*
|
|
8
|
+
* All shared wire structures carry an explicit integer version (`configVersion`
|
|
9
|
+
* or `schemaVersion`) per D9. v1 freeze: `configVersion = 1`. Response schema is
|
|
10
|
+
* now `schemaVersion = 2` (P0): `EngageResponse` gained the OPTIONAL, ADDITIVE
|
|
11
|
+
* fields `screen` / `platform` / `appVersion` (`sessionId` already existed and is
|
|
12
|
+
* now populated). v1 payloads still validate — every new field is optional — and
|
|
13
|
+
* consumers MUST tolerate unknown fields/higher versions by ignoring them (D9).
|
|
14
|
+
*
|
|
15
|
+
* Render/overlay is OUT OF SCOPE for this stage — the shared cross-platform JS
|
|
16
|
+
* overlay (D4) consumes `fetchEngageConfig()` in a later slice.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/** Schema/config version constant (D9). v2 = additive feedback-response fields (P0). */
|
|
20
|
+
export const ENGAGE_SCHEMA_VERSION = 2 as const;
|
|
21
|
+
|
|
22
|
+
// ─── §1.3 Config-serve payload (backend → SDK) ───────────────────────────────
|
|
23
|
+
|
|
24
|
+
export interface QuestionSpec {
|
|
25
|
+
key: string;
|
|
26
|
+
prompt: string;
|
|
27
|
+
/**
|
|
28
|
+
* `single` = one choice from `choices`; `multi` = many choices; `scale` =
|
|
29
|
+
* numeric selector (0..`scaleMax`); `text` = free text; `emoji` = 5-point
|
|
30
|
+
* 😡🙁😐🙂😍 reaction (value 1..5); `boolean` = Yes/No (value 'Yes'|'No');
|
|
31
|
+
* `screenshot` = native masked-screenshot attach; `voice` = native mic note
|
|
32
|
+
* (auto-transcribed). `choice` is kept as an alias for `single` (§1.3).
|
|
33
|
+
*/
|
|
34
|
+
kind:
|
|
35
|
+
| 'scale'
|
|
36
|
+
| 'text'
|
|
37
|
+
| 'choice'
|
|
38
|
+
| 'single'
|
|
39
|
+
| 'multi'
|
|
40
|
+
| 'emoji'
|
|
41
|
+
| 'boolean'
|
|
42
|
+
| 'screenshot'
|
|
43
|
+
| 'voice';
|
|
44
|
+
choices?: string[];
|
|
45
|
+
/** Upper bound for `scale` questions (inclusive). Defaults to 5 when omitted. */
|
|
46
|
+
scaleMax?: number;
|
|
47
|
+
/** Lower bound for a scale. NPS templates use 0; other scales default to 1. */
|
|
48
|
+
scaleMin?: number;
|
|
49
|
+
required?: boolean;
|
|
50
|
+
skipTo?: string;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/** One answer in a multi-question SURVEY response (mirrors §1.4 `answers[]`). */
|
|
54
|
+
export interface SurveyAnswer {
|
|
55
|
+
/** Matches `QuestionSpec.key`. */
|
|
56
|
+
key: string;
|
|
57
|
+
/** Scalar answer (scale value, single choice, or text), or many for `multi`. */
|
|
58
|
+
value: string | number | string[];
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export interface Targeting {
|
|
62
|
+
platforms?: ('android' | 'ios')[];
|
|
63
|
+
minAppVersion?: string;
|
|
64
|
+
segments?: string[];
|
|
65
|
+
userProps?: Record<string, unknown>;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export interface Throttle {
|
|
69
|
+
showOnce?: boolean;
|
|
70
|
+
cooldownHours?: number;
|
|
71
|
+
maxImpressions?: number;
|
|
72
|
+
samplePct?: number;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export type EngageCampaignType =
|
|
76
|
+
| 'NPS'
|
|
77
|
+
| 'CSAT'
|
|
78
|
+
| 'CUSTOM'
|
|
79
|
+
| 'FEEDBACK'
|
|
80
|
+
| 'RATING_PROMPT'
|
|
81
|
+
// Contract §1.3 spells the app-store funnel `RATINGS_PROMPT`; kept as an
|
|
82
|
+
// accepted alias so a config payload using either string renders the stars.
|
|
83
|
+
| 'RATINGS_PROMPT';
|
|
84
|
+
|
|
85
|
+
export interface EngageCampaignConfig {
|
|
86
|
+
id: string;
|
|
87
|
+
type: EngageCampaignType;
|
|
88
|
+
name: string;
|
|
89
|
+
question: string;
|
|
90
|
+
questions?: QuestionSpec[];
|
|
91
|
+
scale?: number;
|
|
92
|
+
trigger?: string;
|
|
93
|
+
targetScreen?: string;
|
|
94
|
+
// Per-trigger config (CONTRACT §2.10.3 `needs`). Carries the extra parameter a
|
|
95
|
+
// behavioral trigger matches on: `event` (custom_event), `action` (failed_action),
|
|
96
|
+
// `seconds` (time_in_app), `sessions` (n_sessions), `slowMs` (slow_screen). Absent
|
|
97
|
+
// for parameter-less triggers (after_crash, before_logout, shake_device, …).
|
|
98
|
+
triggerConfig?: TriggerConfig;
|
|
99
|
+
targeting?: Targeting;
|
|
100
|
+
throttle?: Throttle;
|
|
101
|
+
startScreen?: string;
|
|
102
|
+
thankYouScreen?: string;
|
|
103
|
+
language?: string;
|
|
104
|
+
storeUrl?: string;
|
|
105
|
+
highRatingThreshold?: number;
|
|
106
|
+
routeLowToFeedback?: boolean;
|
|
107
|
+
enabled: boolean;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export interface TriggerConfig {
|
|
111
|
+
screen?: string;
|
|
112
|
+
seconds?: number;
|
|
113
|
+
sessions?: number;
|
|
114
|
+
event?: string;
|
|
115
|
+
action?: string;
|
|
116
|
+
slowMs?: number;
|
|
117
|
+
/**
|
|
118
|
+
* Seconds to wait AFTER the trigger fires before showing (authoring "Delay
|
|
119
|
+
* after trigger"). The trigger engine honors the REMAINING delay on replay so
|
|
120
|
+
* an event buffered during a cold-start config race still shows at trigger+delay,
|
|
121
|
+
* not late. Absent/0 ⇒ show immediately. Additive/optional.
|
|
122
|
+
*/
|
|
123
|
+
delaySeconds?: number;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// ─── §2.4 In-app message config (rides the SAME config lane) ──────────────────
|
|
127
|
+
|
|
128
|
+
/** URL-backed assets lifted from the normalized in-app payload for SDK rendering. */
|
|
129
|
+
export interface InAppRenderAssets {
|
|
130
|
+
icon?: string;
|
|
131
|
+
image?: string;
|
|
132
|
+
video?: string;
|
|
133
|
+
lottie?: string;
|
|
134
|
+
backgroundImage?: string;
|
|
135
|
+
avatar?: string;
|
|
136
|
+
calendar?: string;
|
|
137
|
+
document?: string;
|
|
138
|
+
qr?: string;
|
|
139
|
+
nfc?: string;
|
|
140
|
+
wallet?: string;
|
|
141
|
+
/** Structured commerce items preserved by the normalized payload mirror. */
|
|
142
|
+
products?: unknown[];
|
|
143
|
+
/** Structured geo metadata preserved by the normalized payload mirror. */
|
|
144
|
+
location?: Record<string, unknown>;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Authored size of a campaign's primary hero/poster media.
|
|
149
|
+
*
|
|
150
|
+
* The value is carried additively at `spec.ext.mediaSize`. Missing, `auto`, and
|
|
151
|
+
* unknown values preserve each renderer's historical dimensions.
|
|
152
|
+
*/
|
|
153
|
+
export type InAppMediaSize =
|
|
154
|
+
| 'auto'
|
|
155
|
+
| 'compact'
|
|
156
|
+
| 'medium'
|
|
157
|
+
| 'large'
|
|
158
|
+
| 'full';
|
|
159
|
+
|
|
160
|
+
/** Semantic artwork options for the authored terminal result/confirmation card. */
|
|
161
|
+
export type InAppOutcomeIcon =
|
|
162
|
+
| 'check'
|
|
163
|
+
| 'trophy'
|
|
164
|
+
| 'gift'
|
|
165
|
+
| 'star'
|
|
166
|
+
| 'sparkles'
|
|
167
|
+
| 'rocket';
|
|
168
|
+
|
|
169
|
+
/** Normalized action authored for the terminal result/confirmation button. */
|
|
170
|
+
export type InAppOutcomeActionType =
|
|
171
|
+
| 'deep_link'
|
|
172
|
+
| 'url'
|
|
173
|
+
| 'screen'
|
|
174
|
+
| 'dismiss';
|
|
175
|
+
|
|
176
|
+
export interface InAppOutcomeAction {
|
|
177
|
+
label: string;
|
|
178
|
+
type: InAppOutcomeActionType;
|
|
179
|
+
value?: string;
|
|
180
|
+
track?: boolean;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Presentation-only terminal card configuration.
|
|
185
|
+
*
|
|
186
|
+
* This must never carry a game result. Reward identity/value remains exclusively
|
|
187
|
+
* in `InAppGameOutcome`, returned by the host's authenticated backend.
|
|
188
|
+
*/
|
|
189
|
+
export interface InAppOutcomeConfig {
|
|
190
|
+
enabled?: boolean;
|
|
191
|
+
title?: string;
|
|
192
|
+
body?: string;
|
|
193
|
+
icon?: InAppOutcomeIcon;
|
|
194
|
+
buttonLabel?: string;
|
|
195
|
+
action?: InAppOutcomeAction;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
/** Open variant payload with shared cross-variant conventions typed explicitly. */
|
|
199
|
+
export interface InAppRenderExt extends Record<string, unknown> {
|
|
200
|
+
mediaSize?: InAppMediaSize;
|
|
201
|
+
outcome?: InAppOutcomeConfig;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
/** An authored in-app action. Coachmark steps reuse the same click contract. */
|
|
205
|
+
export interface InAppCta {
|
|
206
|
+
label: string;
|
|
207
|
+
deepLink?: string;
|
|
208
|
+
action: 'dismiss' | 'link' | 'custom';
|
|
209
|
+
/** Set to false for authored actions that must execute without a click event. */
|
|
210
|
+
track?: boolean;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
export type InAppCoachmarkPlacement = 'auto' | 'top' | 'bottom' | 'left' | 'right';
|
|
214
|
+
|
|
215
|
+
/** One ordered stop in a `coachmark_spotlight` tour (`spec.ext.steps`). */
|
|
216
|
+
export interface InAppCoachmarkStep {
|
|
217
|
+
anchorKey: string;
|
|
218
|
+
title?: string;
|
|
219
|
+
body: string;
|
|
220
|
+
placement?: InAppCoachmarkPlacement;
|
|
221
|
+
/** Optional final-stop product action; navigation controls are supplied by the SDK. */
|
|
222
|
+
cta?: InAppCta;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
export interface InAppRenderSpec {
|
|
226
|
+
title?: string;
|
|
227
|
+
body?: string;
|
|
228
|
+
/** Preview-lane compatibility; published configs also carry this at message level. */
|
|
229
|
+
variantKey?: string;
|
|
230
|
+
/** Preview-lane normalized payload version. */
|
|
231
|
+
payloadVersion?: number;
|
|
232
|
+
/** Preview-lane minimum SDK version. */
|
|
233
|
+
sdkMinVersion?: string;
|
|
234
|
+
imageUrl?: string;
|
|
235
|
+
cta?: InAppCta;
|
|
236
|
+
secondaryCta?: { label: string; action: 'dismiss' };
|
|
237
|
+
/** Dark theme (matches the dashboard "Dark" preview toggle). */
|
|
238
|
+
dark?: boolean;
|
|
239
|
+
/** Right-to-left layout/text (dashboard "AR · RTL" toggle). */
|
|
240
|
+
rtl?: boolean;
|
|
241
|
+
/** Coupon code chip rendered under the body (dashboard "Reveal & copy coupon"). */
|
|
242
|
+
coupon?: string;
|
|
243
|
+
/** Legacy-only variant/mechanic hint. Canonical payloads dispatch by `variantKey`. */
|
|
244
|
+
archetype?: string;
|
|
245
|
+
/**
|
|
246
|
+
* Archetype-specific payload. Keys vary per archetype:
|
|
247
|
+
* spin_wheel: segments [{label,color?}], spinLabel?
|
|
248
|
+
* countdown_offer: expiryTime (ISO string), countdownUnits? (2|3)
|
|
249
|
+
* scratch_card: prize?, closedMessage?
|
|
250
|
+
* slot_reward: reels [{emoji}]
|
|
251
|
+
* poll_card: question, options [{label}], showResults?
|
|
252
|
+
* nps_prompt: question, scaleMax? (default 10), scaleLabels?
|
|
253
|
+
* emoji_reaction_bar: reactions [emoji strings]
|
|
254
|
+
* rating_request: ratingScale? (default 5)
|
|
255
|
+
* streak_reward: filled (days done), total (total days), glyph?
|
|
256
|
+
* checklist_progress: items [{label, done?}]
|
|
257
|
+
* coupon_wallet: code, couponLabel?
|
|
258
|
+
* coachmark_spotlight: steps [{anchorKey,title,body,placement,cta?}]
|
|
259
|
+
*/
|
|
260
|
+
ext?: InAppRenderExt;
|
|
261
|
+
/** Structured asset URLs supplied by the normalized in-app builder. */
|
|
262
|
+
assets?: InAppRenderAssets;
|
|
263
|
+
/**
|
|
264
|
+
* Normalized theme token overrides. Keys (all optional): accent, cardBg,
|
|
265
|
+
* titleColor, bodyColor, couponBg, couponFg, couponBorder, backdrop, ctaText.
|
|
266
|
+
* Unset tokens fall back to the dashboard-matching light/dark defaults — this is
|
|
267
|
+
* the SINGLE design contract; the SDK never hardcodes dashboard CSS per message.
|
|
268
|
+
*/
|
|
269
|
+
style?: Record<string, string>;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
/**
|
|
273
|
+
* Optional A/B experiment carried on an in-app campaign config (D8/J6). When
|
|
274
|
+
* `enabled`, the SDK deterministically buckets the current user/device into
|
|
275
|
+
* variant `A` (the message's base `spec`) or variant `B` (`variantB`), where
|
|
276
|
+
* `split` is the integer percentage (0–100) of traffic routed to variant B.
|
|
277
|
+
* Absent/`enabled:false` ⇒ everyone sees the base `spec` (no experiment).
|
|
278
|
+
* Additive + optional — older configs (no `experiment`) are unaffected.
|
|
279
|
+
*/
|
|
280
|
+
export interface InAppExperiment {
|
|
281
|
+
enabled: boolean;
|
|
282
|
+
/** Percentage (0–100) of traffic routed to variant B. */
|
|
283
|
+
split: number;
|
|
284
|
+
/** Variant B content. Variant A is the message's base `spec`. */
|
|
285
|
+
variantB: InAppRenderSpec;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
/** Resolved experiment arm for the current user/device (client-side selection). */
|
|
289
|
+
export type InAppVariantId = 'A' | 'B';
|
|
290
|
+
|
|
291
|
+
export interface InAppMessageConfig {
|
|
292
|
+
id: string;
|
|
293
|
+
layout: 'modal' | 'fullscreen' | 'bottom_sheet' | 'top_banner' | 'bottom_banner' | 'tooltip' | 'toast';
|
|
294
|
+
trigger?: string;
|
|
295
|
+
/** Business/custom event name for `event` / `custom` triggers. */
|
|
296
|
+
eventName?: string;
|
|
297
|
+
/** Canonical screen name when the backend preserves it separately. */
|
|
298
|
+
screenName?: string;
|
|
299
|
+
/** Seconds to wait after the trigger fires before showing (see TriggerConfig.delaySeconds). */
|
|
300
|
+
delaySeconds?: number;
|
|
301
|
+
targetScreen?: string;
|
|
302
|
+
targeting?: Targeting;
|
|
303
|
+
throttle?: Throttle;
|
|
304
|
+
spec: InAppRenderSpec;
|
|
305
|
+
/** Canonical registry key used to select a mechanic renderer. */
|
|
306
|
+
variantKey?: string;
|
|
307
|
+
/** Version of the normalized in-app payload schema. */
|
|
308
|
+
payloadVersion?: number;
|
|
309
|
+
/** Minimum SDK version capable of rendering this payload. */
|
|
310
|
+
sdkMinVersion?: string;
|
|
311
|
+
/**
|
|
312
|
+
* Content revision / contentHash (server-computed from the campaign's stored
|
|
313
|
+
* content). Frequency-cap state is scoped to `id + revision`: when an author
|
|
314
|
+
* changes a published campaign's design/content/type, the backend serves a NEW
|
|
315
|
+
* revision, so old impression/showOnce/cooldown state no longer suppresses the
|
|
316
|
+
* updated message (the #1 "had to reinstall to see my change" cause). Absent on
|
|
317
|
+
* legacy configs ⇒ state behaves exactly as before (keyed by id alone).
|
|
318
|
+
*/
|
|
319
|
+
revision?: string;
|
|
320
|
+
/**
|
|
321
|
+
* [T1] Unique id for ONE "Send Test" run (== previewId). Every Send Test mints a
|
|
322
|
+
* fresh testRunId, so a re-send is ALWAYS eligible and is never blocked by a prior
|
|
323
|
+
* test's dismissed/impression state. Rides lifecycle events (via `meta.testRunId`)
|
|
324
|
+
* so the dashboard can correlate a specific test send to its render/click/dismiss.
|
|
325
|
+
*/
|
|
326
|
+
testRunId?: string;
|
|
327
|
+
/**
|
|
328
|
+
* [T1] Queue time of a test preview (ISO, server → SDK). When more than one pending
|
|
329
|
+
* test is served, the SDK sorts by this and renders only the LATEST. Absent on
|
|
330
|
+
* normal campaign messages.
|
|
331
|
+
*/
|
|
332
|
+
createdAt?: string;
|
|
333
|
+
/**
|
|
334
|
+
* Optional A/B experiment (D8/J6). When present + `enabled`, the SDK picks
|
|
335
|
+
* variant A (`spec`) or B (`experiment.variantB`) deterministically for the
|
|
336
|
+
* current device. Optional/additive — absent ⇒ no experiment.
|
|
337
|
+
*/
|
|
338
|
+
experiment?: InAppExperiment;
|
|
339
|
+
/**
|
|
340
|
+
* [T1] Test-preview flags (server → SDK). A message the backend queued via
|
|
341
|
+
* "Send Test" for THIS device carries `preview:true` + a `previewId`. The SDK
|
|
342
|
+
* renders it IMMEDIATELY — bypassing trigger/throttle/schedule/sample — and the
|
|
343
|
+
* resulting impression (carrying `previewId`/`isTest`) consumes it server-side.
|
|
344
|
+
* `isTest` marks the traffic so production KPIs exclude it. Absent on normal
|
|
345
|
+
* campaign messages (additive/optional — older configs are unaffected).
|
|
346
|
+
*/
|
|
347
|
+
preview?: boolean;
|
|
348
|
+
previewId?: string;
|
|
349
|
+
isTest?: boolean;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
// ─── Customer-owned gamified result contract ──────────────────────────────────────
|
|
353
|
+
|
|
354
|
+
/** Variants whose result/state must be resolved by the host app's backend. */
|
|
355
|
+
export type InAppGameVariantKey =
|
|
356
|
+
| 'spin_wheel'
|
|
357
|
+
| 'scratch_card'
|
|
358
|
+
| 'slot_reward'
|
|
359
|
+
| 'mystery_box'
|
|
360
|
+
| 'progress_unlock'
|
|
361
|
+
| 'streak_reward'
|
|
362
|
+
| 'daily_check_in'
|
|
363
|
+
| 'quiz_card';
|
|
364
|
+
|
|
365
|
+
export type InAppGameAction = 'play' | 'load' | 'check_in' | 'submit_quiz';
|
|
366
|
+
|
|
367
|
+
interface InAppGameRequestBase {
|
|
368
|
+
/** In-app campaign/message id from the served config. */
|
|
369
|
+
campaignId: string;
|
|
370
|
+
/** Stable customer-defined key authored in `spec.ext.gameKey`. */
|
|
371
|
+
gameKey: string;
|
|
372
|
+
/** Stable idempotency key. The SDK reuses it when the user retries this attempt. */
|
|
373
|
+
attemptId: string;
|
|
374
|
+
/** One-based play/check attempt number. State loads use 1. */
|
|
375
|
+
attempt: number;
|
|
376
|
+
/** Presentation-safe input only (for example quiz answer indexes and score). */
|
|
377
|
+
input?: Record<string, unknown>;
|
|
378
|
+
/** Authored outcome ids, when the presentation declares a closed set. */
|
|
379
|
+
allowedOutcomeIds?: string[];
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
/** Discriminated request passed to `onInAppGameRequest`. */
|
|
383
|
+
export type InAppGameRequest =
|
|
384
|
+
| (InAppGameRequestBase & {
|
|
385
|
+
variantKey: 'spin_wheel' | 'scratch_card' | 'slot_reward' | 'mystery_box';
|
|
386
|
+
action: 'play';
|
|
387
|
+
})
|
|
388
|
+
| (InAppGameRequestBase & {
|
|
389
|
+
variantKey: 'progress_unlock' | 'streak_reward';
|
|
390
|
+
action: 'load';
|
|
391
|
+
})
|
|
392
|
+
| (InAppGameRequestBase & {
|
|
393
|
+
variantKey: 'daily_check_in';
|
|
394
|
+
action: 'check_in';
|
|
395
|
+
})
|
|
396
|
+
| (InAppGameRequestBase & {
|
|
397
|
+
variantKey: 'quiz_card';
|
|
398
|
+
action: 'submit_quiz';
|
|
399
|
+
});
|
|
400
|
+
|
|
401
|
+
/** Presentation-safe result returned after the customer's backend grants/reserves it. */
|
|
402
|
+
export interface InAppGameOutcome {
|
|
403
|
+
/** Stable backend outcome id; use a real id such as `no_reward` for non-winning plays. */
|
|
404
|
+
id: string;
|
|
405
|
+
label?: string;
|
|
406
|
+
/** Wheel segment id (preferred over a display index). */
|
|
407
|
+
segmentId?: string;
|
|
408
|
+
segmentIndex?: number;
|
|
409
|
+
/** Slot symbols, in reel order. */
|
|
410
|
+
symbols?: string[];
|
|
411
|
+
/** Progress/streak/check-in state consumed by those renderers. */
|
|
412
|
+
state?: Record<string, unknown>;
|
|
413
|
+
value?: string | number | boolean;
|
|
414
|
+
/** Customer receipt/grant id for reconciliation. Never treated as a reward by the SDK. */
|
|
415
|
+
receiptId?: string;
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
/** A host can return `unavailable`, or throw; both produce the same retry-safe UI. */
|
|
419
|
+
export type InAppGameResult =
|
|
420
|
+
| {
|
|
421
|
+
attemptId: string;
|
|
422
|
+
status: 'resolved';
|
|
423
|
+
outcome: InAppGameOutcome;
|
|
424
|
+
}
|
|
425
|
+
| {
|
|
426
|
+
attemptId: string;
|
|
427
|
+
status: 'unavailable';
|
|
428
|
+
retryable?: boolean;
|
|
429
|
+
message?: string;
|
|
430
|
+
};
|
|
431
|
+
|
|
432
|
+
export type InAppGameRequestHandler = (
|
|
433
|
+
request: InAppGameRequest,
|
|
434
|
+
) => Promise<InAppGameResult>;
|
|
435
|
+
|
|
436
|
+
export interface EngageConfigResponse {
|
|
437
|
+
configVersion: number;
|
|
438
|
+
serverTime: string;
|
|
439
|
+
campaigns: EngageCampaignConfig[];
|
|
440
|
+
inAppMessages: InAppMessageConfig[];
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
export interface CoachTourStep {
|
|
444
|
+
id?: string;
|
|
445
|
+
anchorKey: string;
|
|
446
|
+
title?: string;
|
|
447
|
+
body: string;
|
|
448
|
+
placement?: InAppCoachmarkPlacement;
|
|
449
|
+
cta?: InAppCta;
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
export interface CoachTourConfig {
|
|
453
|
+
id: string;
|
|
454
|
+
name: string;
|
|
455
|
+
version: number;
|
|
456
|
+
preview?: boolean;
|
|
457
|
+
steps: CoachTourStep[];
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
export interface CoachConfigResponse {
|
|
461
|
+
tours: CoachTourConfig[];
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
/** Optional app/user context for server-side targeting/throttle (§1.3 query). */
|
|
465
|
+
export interface EngageConfigContext {
|
|
466
|
+
platform?: 'android' | 'ios';
|
|
467
|
+
appVersion?: string;
|
|
468
|
+
endUserId?: string;
|
|
469
|
+
deviceId?: string;
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
// ─── §1.4 Response payload (SDK → backend) ───────────────────────────────────
|
|
473
|
+
|
|
474
|
+
export interface EngageResponse {
|
|
475
|
+
responseId: string; // UUID, client-generated (D8 dedup key)
|
|
476
|
+
surveyId: string;
|
|
477
|
+
schemaVersion: number;
|
|
478
|
+
score?: number; // NPS 0-10; CSAT 1-5; FEEDBACK omit/null
|
|
479
|
+
text?: string;
|
|
480
|
+
tags?: string[];
|
|
481
|
+
sessionId?: string; // [v2] canonical replay session id → /sessions/:id linkage
|
|
482
|
+
/** [v2] Originating screen the prompt was shown on (additive, optional). */
|
|
483
|
+
screen?: string;
|
|
484
|
+
/** [v2] Device platform for by-platform analytics (additive, optional). */
|
|
485
|
+
platform?: 'android' | 'ios';
|
|
486
|
+
/** [v2] Host app version for by-version analytics (additive, optional). */
|
|
487
|
+
appVersion?: string;
|
|
488
|
+
deviceId?: string;
|
|
489
|
+
endUserId?: string;
|
|
490
|
+
answers?: { key: string; value: string | number | string[] }[];
|
|
491
|
+
/** [P3-e] Native attachment metadata (screenshot/voice). Bytes uploaded direct. */
|
|
492
|
+
attachments?: EngageAttachmentMeta[];
|
|
493
|
+
clientTs: string; // ISO event time
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
// ─── Rating-funnel event lane (ratings-rebuild CONTRACT §1.1–1.2) ────────────
|
|
497
|
+
// First-class, dimensioned, deduped tracking facts feeding the Overview funnel.
|
|
498
|
+
// NOT a campaign response (D1) — these never count as a "rating response".
|
|
499
|
+
|
|
500
|
+
/** Closed, ordered funnel enum (CONTRACT §1.1). Producers never emit outside it. */
|
|
501
|
+
export type RatingFunnelEventType =
|
|
502
|
+
| 'rating_prompt_eligible'
|
|
503
|
+
| 'rating_prompt_shown'
|
|
504
|
+
| 'rating_prompt_dismissed'
|
|
505
|
+
| 'rating_selected'
|
|
506
|
+
| 'store_redirect_clicked';
|
|
507
|
+
|
|
508
|
+
/** Per-event breakdown dimensions (CONTRACT §1.2 `dims`). All optional/honest. */
|
|
509
|
+
export interface RatingFunnelEventDims {
|
|
510
|
+
platform?: 'android' | 'ios' | 'web';
|
|
511
|
+
appVersion?: string;
|
|
512
|
+
build?: string;
|
|
513
|
+
osVersion?: string;
|
|
514
|
+
deviceModel?: string;
|
|
515
|
+
country?: string; // ISO-2
|
|
516
|
+
locale?: string;
|
|
517
|
+
acquisitionSource?: string; // "Unknown" until attribution SDK wired (honest)
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
/** What a caller raises (no eventId/ts — the transport stamps those, D8). */
|
|
521
|
+
export interface RatingFunnelEventInput {
|
|
522
|
+
type: RatingFunnelEventType;
|
|
523
|
+
sessionId?: string;
|
|
524
|
+
userId?: string; // null => server flags invalidReason='missing_user'
|
|
525
|
+
promptId?: string;
|
|
526
|
+
triggerId?: string;
|
|
527
|
+
variantId?: string;
|
|
528
|
+
stars?: number; // only on rating_selected
|
|
529
|
+
dims?: RatingFunnelEventDims;
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
/** Wire shape after the transport stamps the idempotency key + client clock. */
|
|
533
|
+
export interface RatingFunnelEventUpload extends RatingFunnelEventInput {
|
|
534
|
+
eventId: string; // client UUID (D8 dedup)
|
|
535
|
+
ts: string; // ISO client clock
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
// ─── §P3-e Feedback attachments (screenshot + voice) ─────────────────────────
|
|
539
|
+
|
|
540
|
+
export type EngageAttachmentKind = 'screenshot' | 'voice';
|
|
541
|
+
|
|
542
|
+
/** Raw attachment captured on-device, before upload (carries bytes + dimensions). */
|
|
543
|
+
export interface EngageAttachmentDraft {
|
|
544
|
+
kind: EngageAttachmentKind;
|
|
545
|
+
base64: string; // raw bytes, base64 (PUT direct to storage)
|
|
546
|
+
mime: string;
|
|
547
|
+
width?: number;
|
|
548
|
+
height?: number;
|
|
549
|
+
byteSize?: number;
|
|
550
|
+
durationMs?: number; // voice only; hard cap < 30000ms enforced upstream
|
|
551
|
+
masked?: boolean; // PII-masking active at capture
|
|
552
|
+
/** voice only — on-device STT text, user-edited final wording (additive). */
|
|
553
|
+
transcript?: string;
|
|
554
|
+
/** voice only — user explicitly approved the transcript before send (additive). */
|
|
555
|
+
transcriptApproved?: boolean;
|
|
556
|
+
}
|
|
557
|
+
|
|
558
|
+
/** Attachment metadata sent on the response after the bytes are PUT to storage. */
|
|
559
|
+
export interface EngageAttachmentMeta {
|
|
560
|
+
attachmentId: string;
|
|
561
|
+
kind: EngageAttachmentKind;
|
|
562
|
+
storageKey: string;
|
|
563
|
+
mime: string;
|
|
564
|
+
width?: number;
|
|
565
|
+
height?: number;
|
|
566
|
+
byteSize?: number;
|
|
567
|
+
durationMs?: number;
|
|
568
|
+
masked?: boolean;
|
|
569
|
+
/** voice only — approved final transcript text (additive). */
|
|
570
|
+
transcript?: string;
|
|
571
|
+
/** voice only — user approved before send (additive). */
|
|
572
|
+
transcriptApproved?: boolean;
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
/** Presign response item (backend → SDK). */
|
|
576
|
+
export interface EngageAttachmentPresignResult {
|
|
577
|
+
attachmentId: string;
|
|
578
|
+
uploadUrl: string;
|
|
579
|
+
storageKey: string;
|
|
580
|
+
bucket: string;
|
|
581
|
+
contentType: string;
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
/** Caller-supplied response input — `responseId`/`schemaVersion`/`clientTs` stamped by transport. */
|
|
585
|
+
export type EngageResponseInput = Omit<
|
|
586
|
+
EngageResponse,
|
|
587
|
+
'responseId' | 'schemaVersion' | 'clientTs'
|
|
588
|
+
>;
|
|
589
|
+
|
|
590
|
+
export interface SurveyImpressionInput {
|
|
591
|
+
surveyId: string;
|
|
592
|
+
stage: 'shown' | 'started';
|
|
593
|
+
sessionId?: string;
|
|
594
|
+
deviceId?: string;
|
|
595
|
+
platform?: 'android' | 'ios';
|
|
596
|
+
appVersion?: string;
|
|
597
|
+
screen?: string;
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
export interface SurveyImpressionUpload extends SurveyImpressionInput {
|
|
601
|
+
beaconId: string;
|
|
602
|
+
clientTs: string;
|
|
603
|
+
schemaVersion: number;
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
// ─── §2.5 Tracking-event upload (SDK → backend, in-app legs) ─────────────────
|
|
607
|
+
|
|
608
|
+
export interface EngageEventUpload {
|
|
609
|
+
eventId: string; // client UUID -> dedup
|
|
610
|
+
campaignId?: string;
|
|
611
|
+
channel: 'inapp';
|
|
612
|
+
/**
|
|
613
|
+
* `impression` = prompt/message shown; `completion` = prompt submitted
|
|
614
|
+
* (P3-e #2, first-class submit signal); `click` = in-app CTA tap; `dismiss`
|
|
615
|
+
* = closed without submit. `rendered` = a test preview actually mounted (the
|
|
616
|
+
* signal that CONSUMES the preview server-side); `interaction` = a bounded,
|
|
617
|
+
* display-only mechanic transition in `meta` (never a client reward grant);
|
|
618
|
+
* `render_degraded` = a host placement was unavailable and the SDK used its
|
|
619
|
+
* authored/legacy fallback; `render_failed` = the SDK could not render a message
|
|
620
|
+
* (carries `meta.reason`); `cta_open_failed` = the
|
|
621
|
+
* host's deep-link sink rejected/was missing for a link CTA. Additive to §2.5 —
|
|
622
|
+
* backend EngageEvent.type is a free string, so older readers ignore new types (D9).
|
|
623
|
+
*/
|
|
624
|
+
type:
|
|
625
|
+
| 'impression'
|
|
626
|
+
| 'completion'
|
|
627
|
+
| 'click'
|
|
628
|
+
| 'dismiss'
|
|
629
|
+
| 'interaction'
|
|
630
|
+
| 'rendered'
|
|
631
|
+
| 'render_degraded'
|
|
632
|
+
| 'render_failed'
|
|
633
|
+
| 'cta_open_failed';
|
|
634
|
+
deviceId?: string;
|
|
635
|
+
endUserId?: string;
|
|
636
|
+
timestamp: string; // ISO
|
|
637
|
+
schemaVersion: number;
|
|
638
|
+
/**
|
|
639
|
+
* [T1] Test/attribution tags (SDK → backend). `isTest` + `source:'test_preview'`
|
|
640
|
+
* + `previewId` mark a test-preview event so production KPIs exclude it and the
|
|
641
|
+
* matching preview row is consumed/advanced. `variantId` attributes an A/B arm.
|
|
642
|
+
* All optional/additive — normal campaign events omit them.
|
|
643
|
+
*/
|
|
644
|
+
isTest?: boolean;
|
|
645
|
+
source?: string;
|
|
646
|
+
previewId?: string;
|
|
647
|
+
variantId?: string;
|
|
648
|
+
meta?: Record<string, unknown>;
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
/** Caller-supplied event input — `eventId`/`schemaVersion`/`timestamp` stamped by transport. */
|
|
652
|
+
export type EngageEventInput = Omit<
|
|
653
|
+
EngageEventUpload,
|
|
654
|
+
'eventId' | 'schemaVersion' | 'timestamp'
|
|
655
|
+
>;
|
|
656
|
+
|
|
657
|
+
// ─── §2.2 Device-token registration (SDK → backend, push) ────────────────────
|
|
658
|
+
|
|
659
|
+
export interface DeviceTokenRegistration {
|
|
660
|
+
schemaVersion: number;
|
|
661
|
+
deviceId: string;
|
|
662
|
+
pushToken: string;
|
|
663
|
+
platform: 'android' | 'ios'; // routing source of truth (D5)
|
|
664
|
+
/** Send-transport routing key: direct APNs (iOS) → 'apns'; Firebase → 'fcm'. */
|
|
665
|
+
pushProvider?: 'fcm' | 'apns';
|
|
666
|
+
tokenStatus?: 'active';
|
|
667
|
+
installationId?: string; // stable per-install id, survives token rotation
|
|
668
|
+
sdkVersion?: string;
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
/** Caller-supplied token input — `schemaVersion`/`tokenStatus` stamped by transport. */
|
|
672
|
+
export interface DeviceTokenInput {
|
|
673
|
+
deviceId?: string; // defaults to the SDK device id when omitted
|
|
674
|
+
pushToken: string;
|
|
675
|
+
platform: 'android' | 'ios';
|
|
676
|
+
pushProvider?: 'fcm' | 'apns';
|
|
677
|
+
installationId?: string;
|
|
678
|
+
sdkVersion?: string;
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
// ─── Batched upload envelopes (mirror the existing ingestion lane shapes) ─────
|
|
682
|
+
|
|
683
|
+
export interface EngageResponsesBatch {
|
|
684
|
+
schemaVersion: number;
|
|
685
|
+
responses: EngageResponse[];
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
export interface EngageEventsBatch {
|
|
689
|
+
schemaVersion: number;
|
|
690
|
+
events: EngageEventUpload[];
|
|
691
|
+
}
|