@fingerprint79/react-native 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +145 -0
  2. package/android/build.gradle +59 -0
  3. package/android/src/main/AndroidManifest.xml +8 -0
  4. package/android/src/main/java/com/fingerprint79/rn/FpRnModule.kt +121 -0
  5. package/android/src/main/java/com/fingerprint79/rn/FpRnPackage.kt +19 -0
  6. package/dist/.tsbuildinfo-build +1 -0
  7. package/dist/client.d.ts +13 -0
  8. package/dist/client.d.ts.map +1 -0
  9. package/dist/context.d.ts +17 -0
  10. package/dist/context.d.ts.map +1 -0
  11. package/dist/hooks.d.ts +27 -0
  12. package/dist/hooks.d.ts.map +1 -0
  13. package/dist/index.cjs +3717 -0
  14. package/dist/index.cjs.map +1 -0
  15. package/dist/index.d.ts +20 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.mjs +3717 -0
  18. package/dist/index.mjs.map +1 -0
  19. package/dist/native.d.ts +9 -0
  20. package/dist/native.d.ts.map +1 -0
  21. package/dist/signals/hardware.d.ts +11 -0
  22. package/dist/signals/hardware.d.ts.map +1 -0
  23. package/dist/signals/index.d.ts +3 -0
  24. package/dist/signals/index.d.ts.map +1 -0
  25. package/dist/signals/intl.d.ts +5 -0
  26. package/dist/signals/intl.d.ts.map +1 -0
  27. package/dist/signals/mobile.d.ts +24 -0
  28. package/dist/signals/mobile.d.ts.map +1 -0
  29. package/dist/signals/network.d.ts +5 -0
  30. package/dist/signals/network.d.ts.map +1 -0
  31. package/dist/signals/persistence.d.ts +17 -0
  32. package/dist/signals/persistence.d.ts.map +1 -0
  33. package/dist/types.d.ts +50 -0
  34. package/dist/types.d.ts.map +1 -0
  35. package/fingerprint79-react-native.podspec +26 -0
  36. package/ios/FpRnModule.m +16 -0
  37. package/ios/FpRnModule.swift +134 -0
  38. package/package.json +91 -0
  39. package/react-native.config.js +18 -0
  40. package/src/client.ts +89 -0
  41. package/src/context.tsx +82 -0
  42. package/src/hooks.ts +116 -0
  43. package/src/index.ts +20 -0
  44. package/src/native.ts +39 -0
  45. package/src/signals/hardware.ts +36 -0
  46. package/src/signals/index.ts +44 -0
  47. package/src/signals/intl.ts +63 -0
  48. package/src/signals/mobile.ts +23 -0
  49. package/src/signals/network.ts +51 -0
  50. package/src/signals/persistence.ts +77 -0
  51. package/src/signals/signals.test.ts +111 -0
  52. package/src/types.ts +54 -0
package/README.md ADDED
@@ -0,0 +1,145 @@
1
+ # @fingerprint79/react-native
2
+
3
+ React Native binding for the **Fingerprint Platform** — a JS hooks API on top of native iOS (Swift) and Android (Kotlin) modules. Collects mobile signals (IDFV, Keychain UUID, ANDROID_ID, hardware facts), seals the payload with the same X25519 + AES-GCM crypto as the browser SDK, and POSTs to your self-hosted collector.
4
+
5
+ Sister packages:
6
+
7
+ - [`fingerprint-platform-sdk`](https://www.npmjs.com/package/fingerprint-platform-sdk) — browser SDK
8
+ - [`fingerprint-platform-react`](https://www.npmjs.com/package/fingerprint-platform-react) — web React Provider + hooks (same API surface as this package)
9
+ - [`fingerprint-platform-mcp`](https://www.npmjs.com/package/fingerprint-platform-mcp) — Model Context Protocol server that installs all of the above into your project from Claude / Cursor
10
+
11
+ ## Install
12
+
13
+ ```bash
14
+ npm install @fingerprint79/react-native \
15
+ @react-native-async-storage/async-storage \
16
+ react-native-localize \
17
+ @react-native-community/netinfo
18
+ ```
19
+
20
+ Then on **iOS**:
21
+
22
+ ```bash
23
+ cd ios && pod install
24
+ ```
25
+
26
+ **Android** picks up the module automatically through Gradle autolinking on the next `npx react-native run-android`.
27
+
28
+ ### Requirements
29
+
30
+ - React Native **0.72+** (bare workflow — Expo not supported yet)
31
+ - iOS **12.0+** (Swift 5.7+)
32
+ - Android **API 21+** (Android 5.0)
33
+
34
+ ## Usage
35
+
36
+ ```tsx
37
+ // App.tsx
38
+ import { FpProvider, useAutoIdentify } from '@fingerprint79/react-native';
39
+
40
+ export default function App() {
41
+ return (
42
+ <FpProvider
43
+ config={{
44
+ collectorUrl: 'https://yoursite.com/fpjs', // Cloudflare Worker route
45
+ projectKey: 'pk_live_xxx', // from the dashboard's API Keys page
46
+ }}
47
+ >
48
+ <Root />
49
+ </FpProvider>
50
+ );
51
+ }
52
+
53
+ function Root() {
54
+ const { data, loading, error } = useAutoIdentify({ event: 'pageview' });
55
+ if (loading) return <Text>Identifying…</Text>;
56
+ if (error) return <Text>Error: {error.message}</Text>;
57
+ return <Text>Visitor: {data?.visitorId ?? 'pending'}</Text>;
58
+ }
59
+ ```
60
+
61
+ For per-action events (login, signup, checkout) use the imperative hook:
62
+
63
+ ```tsx
64
+ import { useIdentify } from '@fingerprint79/react-native';
65
+
66
+ function SignInButton() {
67
+ const { identify, loading } = useIdentify({ event: 'login', sync: true });
68
+ return (
69
+ <Button
70
+ title="Sign in"
71
+ disabled={loading}
72
+ onPress={async () => {
73
+ const r = await identify({ userId: 'u_123' });
74
+ // r.visitorId, r.suspectScore — ready synchronously when sync: true.
75
+ }}
76
+ />
77
+ );
78
+ }
79
+ ```
80
+
81
+ ## Signals collected
82
+
83
+ Sent on every `identify()`, all fields **optional** at the wire level — missing data never breaks the request.
84
+
85
+ ### JS-side (RN APIs)
86
+
87
+ | Field | Source |
88
+ |---|---|
89
+ | `hardware.userAgent` | `Platform.OS` + `Platform.Version` |
90
+ | `hardware.platform` | `Platform.OS` |
91
+ | `hardware.screen` | `Dimensions.get('screen')` × `PixelRatio` |
92
+ | `intl.timezone` | `react-native-localize` (or `Intl.DateTimeFormat`) |
93
+ | `intl.language` / `languages` | `react-native-localize` |
94
+ | `network.effectiveType` | `@react-native-community/netinfo` |
95
+
96
+ ### Native bridge
97
+
98
+ | Field | iOS source | Android source |
99
+ |---|---|---|
100
+ | `mobile.os` / `osVersion` | `UIDevice.systemVersion` | `Build.VERSION.RELEASE` |
101
+ | `mobile.model` | `sysctlbyname("hw.machine")` (`iPhone15,2`) | `Build.MODEL` |
102
+ | `mobile.manufacturer` | `"Apple"` | `Build.MANUFACTURER` |
103
+ | `mobile.idfv` | `UIDevice.identifierForVendor` | — |
104
+ | `mobile.androidId` | — | `Settings.Secure.ANDROID_ID` |
105
+ | `mobile.installId` | Keychain UUID, `AfterFirstUnlock` | `EncryptedSharedPreferences` UUID |
106
+ | `mobile.totalMemoryMb` | `ProcessInfo.physicalMemory` | `ActivityManager.MemoryInfo` |
107
+ | `mobile.isTablet` | `userInterfaceIdiom == .pad` | `Configuration.SCREENLAYOUT_SIZE_LARGE` |
108
+ | `mobile.bundleId` | `Bundle.bundleIdentifier` | `Context.packageName` |
109
+ | `mobile.appVersion` | `CFBundleShortVersionString` | `PackageInfo.versionName` |
110
+
111
+ ### What we do **not** collect
112
+
113
+ - IDFA / AppTrackingTransparency (would force an ATT prompt + Info.plist string)
114
+ - IMEI / phone number / Google Advertising ID (requires runtime permissions; Play Store policy review)
115
+ - Microphone, camera, contacts, location
116
+
117
+ The Keychain / EncryptedSharedPreferences `installId` plus IDFV / ANDROID_ID give us strong cross-launch visitor continuity without any of the above.
118
+
119
+ ## API
120
+
121
+ ```ts
122
+ // Provider
123
+ <FpProvider config={{ collectorUrl, projectKey, serverPublicKeyB64?, sdkVersion? }}>
124
+
125
+ // Status
126
+ const { ready, error } = useFpStatus();
127
+
128
+ // Imperative
129
+ const { identify, data, loading, error } = useIdentify(defaults?);
130
+
131
+ // Automatic on mount
132
+ const { data, loading, error } = useAutoIdentify(opts?);
133
+ ```
134
+
135
+ `IdentifyOptions`:
136
+
137
+ | Field | Default | Effect |
138
+ |---|---|---|
139
+ | `event` | `'pageview'` | One of `pageview` / `login` / `signup` / `action` / `heartbeat`. |
140
+ | `userId` | — | Surfaces as «Linked ID» in the dashboard. |
141
+ | `sync` | `true` | Wait for scoring (~50–150ms) so the response includes the real `visitorId` and `suspectScore`. |
142
+
143
+ ## License
144
+
145
+ MIT
@@ -0,0 +1,59 @@
1
+ // Gradle module for @fingerprint79/react-native. Autolinked by RN >=0.60
2
+ // — the consumer's settings.gradle never needs editing.
3
+
4
+ buildscript {
5
+ ext {
6
+ kotlin_version = '1.9.10'
7
+ agp_version = '8.1.0'
8
+ compile_sdk = 34
9
+ min_sdk = 21 // matches FP Pro (Android 5.0).
10
+ target_sdk = 34
11
+ }
12
+ repositories {
13
+ google()
14
+ mavenCentral()
15
+ }
16
+ dependencies {
17
+ classpath "com.android.tools.build:gradle:${agp_version}"
18
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlin_version}"
19
+ }
20
+ }
21
+
22
+ apply plugin: 'com.android.library'
23
+ apply plugin: 'org.jetbrains.kotlin.android'
24
+
25
+ android {
26
+ namespace 'com.fingerprint79.rn'
27
+ compileSdk rootProject.hasProperty('compileSdkVersion') ? rootProject.compileSdkVersion : compile_sdk
28
+
29
+ defaultConfig {
30
+ minSdkVersion rootProject.hasProperty('minSdkVersion') ? rootProject.minSdkVersion : min_sdk
31
+ targetSdkVersion rootProject.hasProperty('targetSdkVersion') ? rootProject.targetSdkVersion : target_sdk
32
+ }
33
+
34
+ compileOptions {
35
+ sourceCompatibility JavaVersion.VERSION_17
36
+ targetCompatibility JavaVersion.VERSION_17
37
+ }
38
+
39
+ kotlinOptions {
40
+ jvmTarget = '17'
41
+ }
42
+ }
43
+
44
+ repositories {
45
+ google()
46
+ mavenCentral()
47
+ }
48
+
49
+ dependencies {
50
+ // RN core — version resolved via the consumer's `react-native` install.
51
+ // Falls back to facebook react-native via mavenCentral.
52
+ implementation 'com.facebook.react:react-native:+'
53
+
54
+ // AndroidX Security for EncryptedSharedPreferences (Keystore-backed
55
+ // install-id persistence). Mature library, no native deps.
56
+ implementation 'androidx.security:security-crypto:1.1.0-alpha06'
57
+
58
+ implementation "org.jetbrains.kotlin:kotlin-stdlib:${kotlin_version}"
59
+ }
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!--
3
+ Minimal manifest. Library modules don't declare an <application>; we
4
+ only need the package id so Gradle has somewhere to anchor R-class
5
+ generation. No permissions requested: ANDROID_ID is readable without
6
+ any, and EncryptedSharedPreferences uses internal storage.
7
+ -->
8
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android" />
@@ -0,0 +1,121 @@
1
+ package com.fingerprint79.rn
2
+
3
+ import android.os.Build
4
+ import android.provider.Settings
5
+ import androidx.security.crypto.EncryptedSharedPreferences
6
+ import androidx.security.crypto.MasterKey
7
+ import com.facebook.react.bridge.Arguments
8
+ import com.facebook.react.bridge.Promise
9
+ import com.facebook.react.bridge.ReactApplicationContext
10
+ import com.facebook.react.bridge.ReactContextBaseJavaModule
11
+ import com.facebook.react.bridge.ReactMethod
12
+ import com.facebook.react.bridge.WritableMap
13
+ import java.util.UUID
14
+
15
+ /**
16
+ * Android side of `@fingerprint79/react-native`. Mirrors the iOS module's
17
+ * single `collect()` method — returns a dictionary that the JS layer
18
+ * drops into `IngestPayload.signals.mobile`.
19
+ *
20
+ * Identifier strategy:
21
+ * 1. `androidId` — `Settings.Secure.ANDROID_ID`. 64-bit value. Survives
22
+ * app reinstall but resets on factory wipe AND can be vendor-rotated
23
+ * per signing key on Android 8+. It's still the most stable per-
24
+ * device id we get without requesting `READ_PRIVILEGED_PHONE_STATE`.
25
+ * 2. `installId` — UUID we persist in [EncryptedSharedPreferences],
26
+ * Keystore-backed. Survives clear-data only when the keystore
27
+ * survives (it does in stock Android). Reset on app uninstall.
28
+ * Strongest cross-launch identifier we own outright.
29
+ *
30
+ * We never touch IMEI / GAID / hardware-IDs that require runtime perms —
31
+ * those would force the host app into a permission prompt and a Play
32
+ * Store policy review.
33
+ */
34
+ class FpRnModule(private val ctx: ReactApplicationContext) : ReactContextBaseJavaModule(ctx) {
35
+
36
+ override fun getName(): String = "FpRnModule"
37
+
38
+ @ReactMethod
39
+ fun collect(promise: Promise) {
40
+ try {
41
+ val out: WritableMap = Arguments.createMap()
42
+ out.putString("os", "android")
43
+ out.putString("osVersion", Build.VERSION.RELEASE)
44
+ out.putString("model", Build.MODEL)
45
+ out.putString("manufacturer", Build.MANUFACTURER)
46
+ out.putString("androidId", readAndroidId())
47
+ out.putString("installId", readOrCreateInstallId())
48
+ out.putInt("totalMemoryMb", totalMemoryMb())
49
+ out.putBoolean("isTablet", isTablet())
50
+ out.putString("bundleId", ctx.packageName)
51
+ out.putString("appVersion", appVersion())
52
+ promise.resolve(out)
53
+ } catch (t: Throwable) {
54
+ // Never throw across the bridge — JS will treat collect() as
55
+ // partial-data and continue. Surface the message for debug.
56
+ promise.reject("E_FP_COLLECT", t.message ?: "collect failed", t)
57
+ }
58
+ }
59
+
60
+ // ---- identifier helpers ------------------------------------------------
61
+
62
+ private fun readAndroidId(): String? = try {
63
+ Settings.Secure.getString(ctx.contentResolver, Settings.Secure.ANDROID_ID)
64
+ } catch (_: SecurityException) {
65
+ null
66
+ }
67
+
68
+ /** EncryptedSharedPreferences-backed UUID. Created on first call. */
69
+ private fun readOrCreateInstallId(): String {
70
+ val masterKey = MasterKey.Builder(ctx)
71
+ .setKeyScheme(MasterKey.KeyScheme.AES256_GCM)
72
+ .build()
73
+ val prefs = EncryptedSharedPreferences.create(
74
+ ctx,
75
+ PREFS_NAME,
76
+ masterKey,
77
+ EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
78
+ EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
79
+ )
80
+ val existing = prefs.getString(KEY_INSTALL_ID, null)
81
+ if (existing != null) return existing
82
+ val fresh = UUID.randomUUID().toString()
83
+ prefs.edit().putString(KEY_INSTALL_ID, fresh).apply()
84
+ return fresh
85
+ }
86
+
87
+ // ---- hardware fields ---------------------------------------------------
88
+
89
+ private fun totalMemoryMb(): Int {
90
+ val rt = Runtime.getRuntime()
91
+ // Conservative — `Runtime.totalMemory()` is JVM-heap, not device RAM.
92
+ // For physical RAM use ActivityManager.MemoryInfo, but that requires
93
+ // a Context interaction we can do safely here.
94
+ return try {
95
+ val am = ctx.getSystemService(android.content.Context.ACTIVITY_SERVICE)
96
+ as android.app.ActivityManager
97
+ val info = android.app.ActivityManager.MemoryInfo()
98
+ am.getMemoryInfo(info)
99
+ (info.totalMem / (1024L * 1024L)).toInt()
100
+ } catch (_: Throwable) {
101
+ (rt.maxMemory() / (1024L * 1024L)).toInt()
102
+ }
103
+ }
104
+
105
+ private fun isTablet(): Boolean {
106
+ val config = ctx.resources.configuration
107
+ val sizeMask = config.screenLayout and android.content.res.Configuration.SCREENLAYOUT_SIZE_MASK
108
+ return sizeMask >= android.content.res.Configuration.SCREENLAYOUT_SIZE_LARGE
109
+ }
110
+
111
+ private fun appVersion(): String? = try {
112
+ ctx.packageManager.getPackageInfo(ctx.packageName, 0).versionName
113
+ } catch (_: Throwable) {
114
+ null
115
+ }
116
+
117
+ companion object {
118
+ private const val PREFS_NAME = "fp79_prefs"
119
+ private const val KEY_INSTALL_ID = "fp79_install_id"
120
+ }
121
+ }
@@ -0,0 +1,19 @@
1
+ package com.fingerprint79.rn
2
+
3
+ import com.facebook.react.ReactPackage
4
+ import com.facebook.react.bridge.NativeModule
5
+ import com.facebook.react.bridge.ReactApplicationContext
6
+ import com.facebook.react.uimanager.ViewManager
7
+
8
+ /**
9
+ * RN package registration. Autolinking instantiates this via the
10
+ * `packageInstance` directive in `react-native.config.js` — the
11
+ * consumer's MainApplication never imports us directly.
12
+ */
13
+ class FpRnPackage : ReactPackage {
14
+ override fun createNativeModules(ctx: ReactApplicationContext): List<NativeModule> =
15
+ listOf(FpRnModule(ctx))
16
+
17
+ override fun createViewManagers(ctx: ReactApplicationContext): List<ViewManager<*, *>> =
18
+ emptyList()
19
+ }
@@ -0,0 +1 @@
1
+ {"fileNames":["../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/@types+react@18.3.28/node_modules/@types/react/global.d.ts","../../../node_modules/.pnpm/csstype@3.2.3/node_modules/csstype/index.d.ts","../../../node_modules/.pnpm/@types+prop-types@15.7.15/node_modules/@types/prop-types/index.d.ts","../../../node_modules/.pnpm/@types+react@18.3.28/node_modules/@types/react/index.d.ts","../../../node_modules/.pnpm/@types+react@18.3.28/node_modules/@types/react/jsx-runtime.d.ts","../../../node_modules/.pnpm/cbor-x@1.6.4/node_modules/cbor-x/index.d.ts","../../../packages/sdk-core/dist/types.d.ts","../../../packages/sdk-core/dist/pk-fetcher.d.ts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/typealiases.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/index.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/zoderror.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseutil.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/enumutil.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorutil.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/partialutil.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/standard-schema.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/external.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/index.d.cts","../../../packages/shared-types/dist/ingest.d.ts","../../../packages/shared-types/dist/cookies.d.ts","../../../packages/shared-types/dist/api.d.ts","../../../packages/shared-types/dist/index.d.ts","../../../packages/sdk-core/dist/transport.d.ts","../../../packages/sdk-core/dist/batch-sender.d.ts","../../../packages/sdk-core/dist/scheduler.d.ts","../../../packages/sdk-core/dist/session-id.d.ts","../../../packages/sdk-core/dist/offline-buffer.d.ts","../../../packages/sdk-core/dist/verify-result.d.ts","../../../packages/sdk-core/dist/index.d.ts","../../../packages/crypto/dist/constants.d.ts","../../../packages/crypto/dist/x25519.d.ts","../../../packages/crypto/dist/ed25519.d.ts","../../../packages/crypto/dist/hkdf.d.ts","../../../packages/crypto/dist/aes-gcm.d.ts","../../../packages/crypto/dist/wire.d.ts","../../../packages/crypto/dist/index.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/types/modules/batchedbridge.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/types/modules/codegen.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/types/modules/devtools.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/types/modules/globals.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/types/modules/launchscreen.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/types/private/utilities.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/types/public/insets.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/types/public/reactnativetypes.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/types/coreeventtypes.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/types/public/reactnativerenderer.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/components/touchable/touchable.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/components/view/viewaccessibility.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/components/view/viewproptypes.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/components/refreshcontrol/refreshcontrol.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/components/scrollview/scrollview.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/components/view/view.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/image/imageresizemode.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/image/imagesource.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/image/image.d.ts","../../../node_modules/.pnpm/@react-native+virtualized-lists@0.74.89_@types+react@18.3.28_react-native@0.74.7_@babel+core@_wo34yohntlrgemchhs4p6dxyhe/node_modules/@react-native/virtualized-lists/lists/virtualizedlist.d.ts","../../../node_modules/.pnpm/@react-native+virtualized-lists@0.74.89_@types+react@18.3.28_react-native@0.74.7_@babel+core@_wo34yohntlrgemchhs4p6dxyhe/node_modules/@react-native/virtualized-lists/index.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/lists/flatlist.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/reactnative/rendererproxy.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/lists/sectionlist.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/text/text.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/animated/animated.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/stylesheet/stylesheettypes.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/stylesheet/stylesheet.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/stylesheet/processcolor.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/actionsheetios/actionsheetios.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/alert/alert.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/animated/easing.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/animated/useanimatedvalue.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/vendor/emitter/eventemitter.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/eventemitter/rctdeviceeventemitter.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/eventemitter/rctnativeappeventemitter.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/appstate/appstate.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/batchedbridge/nativemodules.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/components/accessibilityinfo/accessibilityinfo.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/components/activityindicator/activityindicator.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/components/clipboard/clipboard.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/components/drawerandroid/drawerlayoutandroid.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/eventemitter/nativeeventemitter.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/components/keyboard/keyboard.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/types/private/timermixin.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/components/keyboard/keyboardavoidingview.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/components/pressable/pressable.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/components/progressbarandroid/progressbarandroid.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/components/safeareaview/safeareaview.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/components/statusbar/statusbar.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/components/switch/switch.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/components/textinput/inputaccessoryview.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/components/textinput/textinput.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/components/toastandroid/toastandroid.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/components/touchable/touchablewithoutfeedback.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/components/touchable/touchablehighlight.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/components/touchable/touchableopacity.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/components/touchable/touchablenativefeedback.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/components/button.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/core/registercallablemodule.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/devtoolssettings/devtoolssettingsmanager.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/interaction/interactionmanager.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/interaction/panresponder.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/layoutanimation/layoutanimation.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/linking/linking.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/logbox/logbox.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/modal/modal.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/performance/systrace.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/permissionsandroid/permissionsandroid.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/pushnotificationios/pushnotificationios.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/utilities/iperformancelogger.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/reactnative/appregistry.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/reactnative/i18nmanager.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/reactnative/roottag.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/reactnative/uimanager.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/reactnative/requirenativecomponent.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/settings/settings.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/share/share.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/stylesheet/platformcolorvaluetypesios.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/stylesheet/platformcolorvaluetypes.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/turbomodule/rctexport.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/turbomodule/turbomoduleregistry.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/utilities/appearance.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/utilities/backhandler.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/utilities/devsettings.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/utilities/dimensions.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/utilities/pixelratio.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/utilities/platform.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/vibration/vibration.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/yellowbox/yellowboxdeprecated.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/libraries/vendor/core/errorutils.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/types/public/deprecatedpropertiesalias.d.ts","../../../node_modules/.pnpm/react-native@0.74.7_@babel+core@7.29.0_@babel+preset-env@7.29.5_@babel+core@7.29.0__@types+react@18.3.28_react@18.3.1/node_modules/react-native/types/index.d.ts","../src/signals/hardware.ts","../src/signals/intl.ts","../src/signals/network.ts","../src/signals/mobile.ts","../src/native.ts","../src/signals/index.ts","../src/signals/persistence.ts","../src/types.ts","../src/client.ts","../src/context.tsx","../src/hooks.ts","../src/index.ts"],"fileIdsList":[[62,63,83,90,97,196,197,198],[61,62,195,198,199],[61,62,83,198,200],[62,198,199,200,201],[62,190,194],[62,83,190],[62,83,191,192,193,194,195],[62],[62,83],[62,97],[117],[61,190],[58,59,60],[61],[125,126],[61,106,112,113,116,119,121,122,125],[123],[133],[61,105,131],[61,103,105,106,110,124,125],[61,125,154,155],[61,103,105,106,110,125],[131,140],[61,103,110,124,125,142],[61,104,106,109,110,113,124,125],[61,103,105,110,125],[61,103,105,110],[61,103,104,106,108,110,111,124,125],[61,125],[61,124,125],[61,103,105,106,109,110,124,125,131,142],[61,104,106],[61,103,105,108,124,125,142,152],[61,103,108,125,152,154],[61,103,105,108,110,142,152],[61,103,104,106,108,109,124,125,142],[106],[61,104,106,107,108,109,124,125],[131],[132],[61,103,104,105,106,109,114,115,124,125],[106,107],[61,112,113,118,124,125],[61,112,118,120,124,125],[61,106,110],[61,168],[105],[61,105],[125],[124],[114,123,125],[61,103,105,106,109,124,125],[178],[140],[98,99,100,101,102,104,105,106,107,108,109,110,111,112,113,114,115,116,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189],[190],[100],[78],[69,70],[66,67,69,71,72,77],[67,69],[77],[69],[66,67,69,72,73,74,75,76],[66,67,68],[91,92,93,94,95,96],[84],[64,65,84,85,86,87,88,89],[64],[83],[79],[80,81,82]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb5b19b86227ace1d29ea4cf81387279d04bb34051e944bc53df69f58914b788","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"87d9d29dbc745f182683f63187bf3d53fd8673e5fca38ad5eaab69798ed29fbc","impliedFormat":1},{"version":"035312d4945d13efa134ae482f6dc56a1a9346f7ac3be7ccbad5741058ce87f3","affectsGlobalScope":true,"impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"77347a74c80936b1ef09de887412946e314299771acc17f059de6e669aad58a7","impliedFormat":99},{"version":"d2b5ab1130e65c167337d19947ee4807891a2d758bca54fc06ac6888b66716ee","impliedFormat":99},{"version":"6882eb1b665f5822e198250a01db286a236fbf51dd710e6e288bf6e6591766c9","impliedFormat":99},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","impliedFormat":1},{"version":"08b2fae7b0f553ad9f79faec864b179fc58bc172e295a70943e8585dd85f600c","impliedFormat":1},{"version":"f12edf1672a94c578eca32216839604f1e1c16b40a1896198deabf99c882b340","impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"4fdb529707247a1a917a4626bfb6a293d52cd8ee57ccf03830ec91d39d606d6d","impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","impliedFormat":1},{"version":"5780b706cece027f0d4444fbb4e1af62dc51e19da7c3d3719f67b22b033859b9","impliedFormat":1},{"version":"9e8c9c076a8925f447919d1d7c9f5e0bd78b301b8a308bacb6971242577bf709","impliedFormat":99},{"version":"defdfcc283aae0f622c5c46e36d3d0a9032dde6c6f0c7437366183a0d8e247c9","impliedFormat":99},{"version":"796735b32c1bef85d4230afe10c7cc9a32105e220acd5d47807d85ff421fdaf1","impliedFormat":99},{"version":"665c21c379a3babfd770ef2ea533a5a33680827acc1513e5b66223972a5d8475","impliedFormat":99},{"version":"9d36677594b44347ec026d54445dbf9470226513b8031700d1c75b980ed7e9f0","impliedFormat":99},{"version":"e63e61f96e008aa4d3ea18bac9b6cd183b332aec14af18352d5a80f53a48e245","impliedFormat":99},{"version":"6e9b05218712e969ae20750817d9afcc251f2ae813376ecc421be5c88ae767c2","impliedFormat":99},{"version":"d7a617dadd4e3377a531b8fa27e2a0e21e4485cb4a328a165108000af0abb885","impliedFormat":99},{"version":"61f9eaa446c65bd9b389668caa9b969f7ad6e5a61fabeb1a676173cb3a6b5901","impliedFormat":99},{"version":"ab7fe1ad499fecbcc332c9fafcf6f10fafaee0811b301d0354daf9a26f653f68","impliedFormat":99},{"version":"05de25f96c7f361780903eafb89f7b3c8ecddc8d1401ec66409bf8a71f810d59","impliedFormat":99},{"version":"b98ea2c0a475e29eba21ae7202937626f2554c16fa1365daca4d287584ec79b6","impliedFormat":99},{"version":"54a23d8892ca4d14ab05fdc900641b342b7631c11a1b5e0a2c9ea8d5e5d7bca8","impliedFormat":99},{"version":"dab2cecf1f340a892afe6f1501cc375bd34c442f5ae7e1b8bb0f4f9c6df17d37","impliedFormat":99},{"version":"0790f6c5cad49645931ed63ed3ff951ce2b407c8b59d9ac75c4b938b67195c8a","impliedFormat":99},{"version":"75e9586a30dc612a5fa9bac22e32bff2fd8d985f50dbdead9f26aa537bad25d7","impliedFormat":99},{"version":"e4ec75b2d645331fe4d872945c6644152eb347aa30c98b293d5f8da32961124a","impliedFormat":99},{"version":"e9a28a460f3b3ea3f69f60c66c398f851529efc3ed1dcc687fc880de1d9d7eb8","impliedFormat":99},{"version":"3a909e8789a4f8b5377ef3fb8dc10d0c0a090c03f2e40aab599534727457475a","affectsGlobalScope":true,"impliedFormat":1},{"version":"2b47c8df863142d9383f948c987e1ebd25ade3867aeb4ae60e9d6009035dfe46","impliedFormat":1},{"version":"b8dd45aa6e099a5f564edcabfe8114096b096eb1ffaa343dd6f3fe73f1a6e85e","impliedFormat":1},{"version":"1c7e0072ec63ceee8f4f1a0248ff6b9ec7196eabd5dc61189da9807862cc09bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc4db28f3510994e45bbabba1ee33e9a0d27dab33d4c8a5844cee8c85438a058","impliedFormat":1},{"version":"232f660363b3b189f7be7822ed71e907195d1a85bc8d55d2b7ce3f09b2136938","impliedFormat":1},{"version":"e745388cfad9efb4e5a9a15a2c6b66d54094dd82f8d0c2551064e216f7b51526","impliedFormat":1},{"version":"53390c21d095fb54e6c0b8351cbf7f4008f096ade9717bc5ee75e340bc3dfa30","impliedFormat":1},{"version":"71493b2c538dffa1e3e968b55b70984b542cc6e488012850865f72768ff32630","impliedFormat":1},{"version":"8ebf448e9837fda1a368acbb575b0e28843d5b2a3fda04bce76248b64326ea49","impliedFormat":1},{"version":"91b9f6241fca7843985aa31157cfa08cc724c77d91145a4d834d27cdde099c05","impliedFormat":1},{"version":"1ded20b804e07204fc4c3b47b1ee67bcbbf483c2c1c537d3b06ea86ddf0ed5a6","impliedFormat":1},{"version":"e0342a1ffdbed1c647127b61f57a07bc908546f7f3b0d21e6fd49f7315377950","impliedFormat":1},{"version":"3dfa3a6f2a62259b56fa7bcebfbacf886848dfa037298be5bed07c7a0381ee4f","impliedFormat":1},{"version":"a1e3cda52746919d2a95784ce0b1b9ffa22052209aab5f54e079e7b920f5339e","impliedFormat":1},{"version":"1882680f8c88c5648d603408dd1943857ca831a815e33d3126be8368f7a69252","impliedFormat":1},{"version":"f387a979388291b2688ba0f604e3ae78874f5f777616b448d34109762a4f05a9","impliedFormat":1},{"version":"cae0fb826d8a88749189b8a924dfcb5d3ad629e3bc5ec934195fbd83fa48b068","impliedFormat":1},{"version":"65439c17810a801359b14cb051ad50688329bbc1b9c278c3f63487a31a98e349","impliedFormat":1},{"version":"488242948cc48ee6413a159c60bcaf70de15db01364741737a962662f1a127a5","impliedFormat":1},{"version":"42bacb33cddecbcfe3e043ee1117ba848801749e44f947626765b3e0aec74b1c","impliedFormat":1},{"version":"b326790c20287ad266b5fcd0c388e2a83320a24747856727dcb70c7bbd489dfc","impliedFormat":1},{"version":"cd2156bc8e4d54d52a2817d1b6f4629a5dd3173b1d8bb0fc893ee678d6a78ecd","impliedFormat":1},{"version":"60526d9010e8ccb2a76a59821061463464c3acd5bc7a50320df6d2e4e0d6e4f7","impliedFormat":1},{"version":"562cce1c8e14e8d5a55d1931cb1848b1df49cc7b1024356d56f3550ed57ad67f","impliedFormat":1},{"version":"623fa4efc706bb9956d0ae94b13321c6617655bf8ebdb270c9792bb398f82e44","impliedFormat":1},{"version":"23a49a36fbebb7e4a9135adaa182dc8cef52dce6f9137f6cf82b5db3cf0c9dd5","impliedFormat":1},{"version":"52ee75cf0be6032ebaf0b3e2f2d5b98febe01fb4d783a903c03a4dbc8c81b205","impliedFormat":1},{"version":"9054417b5760061bc5fe31f9eee5dc9bf018339b0617d3c65dd1673c8e3c0f25","impliedFormat":1},{"version":"442856ad0787bc213f659e134c204ad0d502179aa216bf700faefb5572208358","impliedFormat":1},{"version":"443702ca8101ef0adc827c2cc530ca93cf98d41e36ce4399efb9bc833ad9cb62","impliedFormat":1},{"version":"c94f70562ae60797cce564c3bebbaaf1752c327d5063d6ac152aa5ca1616c267","impliedFormat":1},{"version":"2aeb5fcdfc884b16015617d263fd8d1a8513f7efe23880be4e5f0bdb3794b37c","impliedFormat":1},{"version":"fd412dd6372493eb8e3e95cae8687d35e4d34dde905a33e0ee47b74224cdd6ab","impliedFormat":1},{"version":"b561170fbe8d4292425e1dfa52406c8d97575681f7a5e420d11d9f72f7c29e38","impliedFormat":1},{"version":"5fe94f3f6411a0f6293f16fdc8e02ee61138941847ce91d6f6800c97fac22fcd","impliedFormat":1},{"version":"7f7c0ecc3eeeef905a3678e540947f4fbbc1a9c76075419dcc5fbfc3df59cb0b","impliedFormat":1},{"version":"df3303018d45c92be73fb4a282d5a242579f96235f5e0f8981983102caf5feca","impliedFormat":1},{"version":"35db266b474b3b9dfd0bc7d25dff3926cc227de45394262f3783b8b174182a16","impliedFormat":1},{"version":"8205e62a7310ac0513747f6d84175400680cff372559bc5fbe2df707194a295d","impliedFormat":1},{"version":"084d0df6805570b6dc6c8b49c3a71d5bdfe59606901e0026c63945b68d4b080a","impliedFormat":1},{"version":"8387fa3287992c71702756fe6ecea68e2f8f2c5aa434493e3afe4817dd4a4787","impliedFormat":1},{"version":"0f066f9654e700a9cf79c75553c934eb14296aa80583bd2b5d07e2d582a3f4ee","impliedFormat":1},{"version":"269c5d54104033b70331343bd931c9933852a882391ed6bd98c3d8b7d6465d22","impliedFormat":1},{"version":"a56b8577aaf471d9e60582065a8193269310e8cae48c1ce4111ed03216f5f715","impliedFormat":1},{"version":"486ae83cd51b813095f6716f06cc9b2cf480ad1d6c7f8ec59674d6c858cd2407","impliedFormat":1},{"version":"fff527e2567a24dd634a30268f1aa8a220315fed9c513d70ee872e54f67f27f3","impliedFormat":1},{"version":"5dd0ff735b3f2e642c3f16bcfb3dc4ecebb679a70e43cfb19ab5fd84d8faaeed","impliedFormat":1},{"version":"d1d78d1ef0f21ac77cdc436d2a4d56592453a8a2e51af2040ec9a69a5d35e4de","impliedFormat":1},{"version":"bc55b91274e43f88030c9cfe2c4217fae57894c3c302173ab6e9743c29484e3d","impliedFormat":1},{"version":"8bb22f70bfd7bf186631fa565c9202ee6a1009ffb961197b7d092b5a1e1d56b1","impliedFormat":1},{"version":"77282216c61bcef9a700db98e142301d5a7d988d3076286029da63e415e98a42","impliedFormat":1},{"version":"9d7b415f4856108011453a98e28c79d36baeb0dfc6c1c176826454909e1ff47f","impliedFormat":1},{"version":"64ce8e260a1362d4cadd6c753581a912a9869d4a53ec6e733dc61018f9250f5d","impliedFormat":1},{"version":"29db89aee3b9f95c0ceb8c6e5d129c746dbbf60d588f78cc549b14002ea4b9ec","impliedFormat":1},{"version":"33eedfef5ad506cfa5f650a66001e7df48bc9676ab5177826d599adb9600a723","impliedFormat":1},{"version":"4c4cb14e734799f98f97d5a0670cb7943bd2b4bd61413e33641f448e35e9f242","impliedFormat":1},{"version":"bdb2b70c74908c92ec41d8dd8375a195cb3bb07523e4de642b2b2dfbde249ca6","impliedFormat":1},{"version":"7b329f4137a552073f504022acbf8cd90d49cc5e5529791bef508f76ff774854","impliedFormat":1},{"version":"f63bbbffcfc897d22f34cf19ae13405cd267b1783cd21ec47d8a2d02947c98c1","impliedFormat":1},{"version":"7889f4932dfa7b1126cdc17914d85d80b5860cc3d62ba329494007e8aab45430","impliedFormat":1},{"version":"d9725ef7f60a791668f7fb808eb90b1789feaaef989a686fefc0f7546a51dcdc","impliedFormat":1},{"version":"df55b9be6ba19a6f77487e09dc7a94d7c9bf66094d35ea168dbd4bac42c46b8f","impliedFormat":1},{"version":"595125f3e088b883d104622ef10e6b7d5875ff6976bbe4d7dca090a3e2dca513","impliedFormat":1},{"version":"8ebb6f0603bf481e893311c49e4d2e2061413c51b9ba5898cd9b0a01f5ef19c8","impliedFormat":1},{"version":"e0d7eed4ba363df3faadb8e617f95f9fc8adfbb00b87db7ade4a1098d6cf1e90","impliedFormat":1},{"version":"38faab59a79924ce5eb4f2f3e7e7db91e74d425b4183f908cc014be213f0d971","impliedFormat":1},{"version":"de115595321ce012c456f512a799679bfc874f0ac0a4928a8429557bb25086aa","impliedFormat":1},{"version":"cdca67bd898deff48e3acb05fb44500b5ebce16c26a8ec99dee1522cf9879795","impliedFormat":1},{"version":"0524cab11ba9048d151d93cc666d3908fda329eec6b1642e9a936093e6d79f28","impliedFormat":1},{"version":"869073d7523e75f45bd65b2072865c60002d5e0cbd3d17831e999cf011312778","impliedFormat":1},{"version":"c43f78e8fa0df471335a1ddf8ccc32aecaa7a9813049b355dff8a66ab35f4ae9","impliedFormat":1},{"version":"56503e377bc1344f155e4e3115a772cb4e59350c0b8131e3e1fb2750ac491608","impliedFormat":1},{"version":"6b579287217ee1320ee1c6cfec5f6730f3a1f91daab000f7131558ee531b2bf8","impliedFormat":1},{"version":"d9c805da711bc8dd43d837576a4adf6893472b822d0458f525a5571cdbf81fce","impliedFormat":1},{"version":"a793636667598e739a52684033037a67dc2d9db37fab727623626ef19aa5abb9","impliedFormat":1},{"version":"b15d6238a86bc0fc2368da429249b96c260debc0cec3eb7b5f838ad32587c129","impliedFormat":1},{"version":"9be37564440fc3e305e1edc77e6406f7d09579195ad1d302b60ee3de31ec1d16","impliedFormat":1},{"version":"4b10e2fe52cb61035e58df3f1fdd926dd0fe9cf1a2302f92916da324332fb4e0","impliedFormat":1},{"version":"d1092ae8d6017f359f4758115f588e089848cc8fb359f7ba045b1a1cf3668a49","impliedFormat":1},{"version":"ddae9195b0da7b25a585ef43365f4dc5204a746b155fbee71e6ee1a9193fb69f","impliedFormat":1},{"version":"32dbced998ce74c5e76ce87044d0b4071857576dde36b0c6ed1d5957ce9cf5b5","impliedFormat":1},{"version":"5bc29a9918feba88816b71e32960cf11243b77b76630e9e87cad961e5e1d31d0","impliedFormat":1},{"version":"341ffa358628577f490f128f3880c01d50ef31412d1be012bb1cd959b0a383ea","impliedFormat":1},{"version":"ecc1b8878c8033bde0204b85e26fe1af6847805427759e5723882c848a11e134","impliedFormat":1},{"version":"cfc9c32553ad3b5be38342bc8731397438a93531118e1a226a8c79ad255b4f0c","impliedFormat":1},{"version":"16e5b5b023c2a1119c1878a51714861c56255778de0a7fe378391876a15f7433","impliedFormat":1},{"version":"328a366c195c74ecd5cd576bb11ced578e35be7288fc4d72783f860409a48b3d","impliedFormat":1},{"version":"a090a8a3b0ef2cceeb089acf4df95df72e7d934215896afe264ff6f734d66d15","impliedFormat":1},{"version":"a0259c6054e3ed2c5fb705b6638e384446cbcdf7fd2072c659b43bd56e214b9a","impliedFormat":1},{"version":"005319c82222e57934c7b211013eb6931829e46b2a61c5d9a1c3c25f8dc3ea90","impliedFormat":1},{"version":"151f422f08c8ca67b77c5c39d49278b4df452ef409237c8219be109ae3cdae9d","impliedFormat":1},{"version":"6466cbb0aa561e1c1a87850a1f066692f1692a0a9513c508a3886cd66a62dae8","affectsGlobalScope":true,"impliedFormat":1},{"version":"68c171e6ad4b9b8bd85882a598bcd145ee26d84628dca8ed13e8cb7efc369522","signature":"4573244e6dcb5c01c318960c5a84cea714cdd194e5a5d095b8e0ca4acd4db48a","impliedFormat":99},{"version":"289b2ff5d0b36ffcb8ef1de88348d50ffa29c0f3361aa494e7a39518052bd1e9","signature":"c171e000f44cb832e30cff542fd5a9ba267ee8970bf89ddcd69e7dbf2981d3cd","impliedFormat":99},{"version":"bf22f999d3046292d5126d36bd6cbc65222fff730076ee0143fc19a79d89565c","signature":"d64faf1419a240bb0a7b22f6dc9130e21a257092db714d974719fe0ab8074b14","impliedFormat":99},{"version":"c3691aab835046401e04f4fd7e39b7045d848611bfc10fdb03e142ae60d663bf","signature":"134e117f174f7026ddd6c041955d121495c431125ceeddb31e6901aa51ef5e55","impliedFormat":99},{"version":"79e033a70da087b896290d1aff30ffe50d92cfaa68296acf4d62f3fea740a1c7","signature":"f8bb7456a4cd9e54e4f0bbe75f02467d465be6cc6a54bca35d4d56466fbad3c7","impliedFormat":99},{"version":"9d9c855a62c46d1f15ee5379dd17173a4e627637cac8d3830953c8a917a8487e","signature":"132493d6ec8165be90ebaebdd8f84b81326e0b49fa33a6ba727e37c123d00aba","impliedFormat":99},{"version":"b2d4293a88096284aa1e55543c06059bca2055e323a97922c6384eb4817b026c","signature":"d191d463735a4b309fb46c980fe3e48c08a59cd9683ec28a9758c3449ce448e4","impliedFormat":99},{"version":"b02b7ea6ee83198a2a7e3428f8518d365c3b63f7378c972a7c974bac1c62335c","signature":"9f07f8db34564de47e549115ae2bec83d8c8f619ffaf4f052c7dbef28552d39f","impliedFormat":99},{"version":"1ec4ff72da36ab6eea2e68225d6d2c47c3c5ac38eec4677237f4de1e14cb1d37","signature":"383e9eaae4c4d72bdbecc2281ffea7838e2ea71479b1e37423ad1c74db25ede3","impliedFormat":99},{"version":"89c9986e112e8e3af54e8b500167dd1a9e68ebc6fafd7dc6f56349dd73d1fa57","signature":"2523a449c25b83d5da35452420faeec691ab756aede08313774ea0476a79463c","impliedFormat":99},{"version":"f2d38991895fe36827c10d93c80d1373bb9859a5b8933206440e2f6995c62269","signature":"b39cbce80a1333db35c1d43d3a4e68f0eb7066be9f41471b56fa810be60b2d4a","impliedFormat":99},{"version":"71afdbdc48c152041b53fb865922500463b7cf243c16b6caed7da5100119f3b8","signature":"37da62089210621c37d1a10c929924eb6e8d00a2e16ab96a780bed804564bc04","impliedFormat":99}],"root":[[191,202]],"options":{"allowSyntheticDefaultImports":true,"alwaysStrict":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"exactOptionalPropertyTypes":true,"jsx":4,"module":199,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitReturns":true,"noImplicitThis":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","removeComments":false,"rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"strictBindCallApply":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo-build"},"referencedMap":[[199,1],[200,2],[201,3],[202,4],[195,5],[191,6],[196,7],[192,6],[194,8],[193,9],[197,10],[198,8],[118,11],[117,12],[61,13],[62,14],[127,15],[123,16],[130,17],[134,18],[136,19],[137,20],[156,21],[139,22],[141,23],[143,24],[144,25],[145,26],[111,26],[146,27],[112,28],[147,29],[148,20],[149,30],[150,31],[108,32],[153,33],[155,34],[154,35],[152,36],[113,27],[109,37],[110,38],[140,39],[132,39],[133,40],[116,41],[159,39],[160,42],[162,23],[119,43],[121,44],[164,45],[169,46],[120,14],[173,47],[171,14],[172,48],[175,49],[177,49],[176,49],[126,49],[125,50],[124,51],[122,52],[179,53],[106,48],[180,18],[181,18],[182,54],[183,39],[187,14],[190,55],[99,56],[100,57],[189,56],[107,37],[105,14],[79,58],[71,59],[78,60],[72,61],[75,62],[68,58],[70,63],[77,64],[69,65],[97,66],[85,67],[90,68],[65,69],[84,70],[82,71],[81,71],[83,72],[80,71]],"latestChangedDtsFile":"./index.d.ts","version":"5.9.3"}
@@ -0,0 +1,13 @@
1
+ import type { IngestResponse } from '@fp/shared-types';
2
+ import type { FpConfig, IdentifyOptions } from './types.js';
3
+ export declare class FpRnClient {
4
+ private readonly pkCache;
5
+ private readonly config;
6
+ constructor(config: FpConfig);
7
+ /** Warm-up the public-key cache. FpProvider awaits this in useEffect
8
+ * so the very first identify() call doesn't pay the /v1/pk hop and
9
+ * so auth misconfig surfaces as ready=false up-front. */
10
+ warmUp(): Promise<void>;
11
+ identify(opts?: IdentifyOptions): Promise<IngestResponse | null>;
12
+ }
13
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAO5D,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;gBAEtB,MAAM,EAAE,QAAQ;IAS5B;;8DAE0D;IACpD,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,QAAQ,CAAC,IAAI,GAAE,eAAoB,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;CAsC3E"}
@@ -0,0 +1,17 @@
1
+ import { type ReactNode } from 'react';
2
+ import { FpRnClient } from './client.js';
3
+ import type { FpConfig } from './types.js';
4
+ interface FpProviderProps {
5
+ readonly config: FpConfig;
6
+ readonly children: ReactNode;
7
+ }
8
+ interface FpContextValue {
9
+ instance: FpRnClient | null;
10
+ ready: boolean;
11
+ error: Error | null;
12
+ }
13
+ export declare function FpProvider({ config, children }: FpProviderProps): import("react/jsx-runtime").JSX.Element;
14
+ /** Internal — every hook routes through this. */
15
+ export declare function useFpContext(): FpContextValue;
16
+ export {};
17
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.tsx"],"names":[],"mappings":"AAKA,OAAO,EAA2D,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEhG,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,UAAU,eAAe;IACvB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;CAC9B;AAED,UAAU,cAAc;IACtB,QAAQ,EAAE,UAAU,GAAG,IAAI,CAAC;IAC5B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAQD,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,eAAe,2CA0C/D;AAED,iDAAiD;AACjD,wBAAgB,YAAY,IAAI,cAAc,CAE7C"}
@@ -0,0 +1,27 @@
1
+ import type { IngestResponse } from '@fp/shared-types';
2
+ import type { IdentifyOptions } from './types.js';
3
+ /** Provider readiness. `ready=true` means /v1/pk handshake succeeded. */
4
+ export declare function useFpStatus(): {
5
+ ready: boolean;
6
+ error: Error | null;
7
+ };
8
+ /**
9
+ * Imperative identify — same ergonomics as the web `useIdentify`:
10
+ *
11
+ * const { identify, loading } = useIdentify({ event: 'login', sync: true });
12
+ * <Button onPress={() => identify({ userId })}>Sign in</Button>
13
+ */
14
+ export declare function useIdentify(defaults?: IdentifyOptions): {
15
+ identify: (opts?: IdentifyOptions) => Promise<IngestResponse | null>;
16
+ data: IngestResponse | null;
17
+ loading: boolean;
18
+ error: Error | null;
19
+ };
20
+ /** Auto-identify on mount / userId-event change. Skips until provider is
21
+ * ready, then fires once the SDK lands. */
22
+ export declare function useAutoIdentify(opts?: IdentifyOptions): {
23
+ data: IngestResponse | null;
24
+ loading: boolean;
25
+ error: Error | null;
26
+ };
27
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,yEAAyE;AACzE,wBAAgB,WAAW,IAAI;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CAAE,CAGrE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,QAAQ,GAAE,eAAoB,GAAG;IAC3D,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACrE,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB,CAyCA;AAED;4CAC4C;AAC5C,wBAAgB,eAAe,CAAC,IAAI,GAAE,eAAoB,GAAG;IAC3D,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB,CAsCA"}