rnxsim 0.1.458 → 0.1.459

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 (60) hide show
  1. package/cli/bridge-flow-runner.ts +13 -10
  2. package/cli/commands/inspect/actions.ts +20 -127
  3. package/cli/commands/inspect/core.ts +4 -19
  4. package/cli/commands/inspect/keyboard.ts +1 -0
  5. package/cli/commands/inspect/resolve-target.ts +3 -1
  6. package/cli/commands/inspect.ts +2 -0
  7. package/dist-lib/agent-daemon-client.cjs +1 -1
  8. package/dist-lib/agent-events.cjs +1 -1
  9. package/dist-lib/agent-identity.cjs +1 -1
  10. package/dist-lib/agent-sessions.cjs +1 -1
  11. package/dist-lib/attached-projects.cjs +1 -1
  12. package/dist-lib/auth/shared-session.cjs +1 -1
  13. package/dist-lib/backend-origin.cjs +1 -1
  14. package/dist-lib/beta.cjs +1 -1
  15. package/dist-lib/beta.mjs +1 -1
  16. package/dist-lib/bridge-constants.cjs +1 -1
  17. package/dist-lib/bridge-contract-input.cjs +24 -3
  18. package/dist-lib/bridge-contract-input.mjs +22 -2
  19. package/dist-lib/bridge-contract.cjs +1 -1
  20. package/dist-lib/bridge-contract.mjs +1 -1
  21. package/dist-lib/capture-contract.cjs +1 -1
  22. package/dist-lib/capture-contract.mjs +1 -1
  23. package/dist-lib/cli-constants.cjs +1 -1
  24. package/dist-lib/cloud-contract.cjs +1 -1
  25. package/dist-lib/cloud-contract.mjs +1 -1
  26. package/dist-lib/cloud.cjs +1 -1
  27. package/dist-lib/cloud.mjs +1 -1
  28. package/dist-lib/config.cjs +1 -1
  29. package/dist-lib/detox/index.cjs +1 -1
  30. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  31. package/dist-lib/home-paths.cjs +1 -1
  32. package/dist-lib/host/bridge-host.cjs +1 -1
  33. package/dist-lib/host/fetch-proxy-handler.cjs +1 -1
  34. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  35. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  36. package/dist-lib/host/replacement-module-handler.cjs +1 -1
  37. package/dist-lib/host/websocket-proxy.cjs +1 -1
  38. package/dist-lib/index.cjs +26 -72
  39. package/dist-lib/jump-to-source-babel.cjs +1 -1
  40. package/dist-lib/jump-to-source-native.cjs +1 -1
  41. package/dist-lib/menu.cjs +1 -1
  42. package/dist-lib/menu.mjs +1 -1
  43. package/dist-lib/metro-fingerprint-registry.cjs +1 -1
  44. package/dist-lib/metro-fingerprint-registry.mjs +1 -1
  45. package/dist-lib/metro-production-bundle.cjs +1 -1
  46. package/dist-lib/metro-production-bundle.mjs +1 -1
  47. package/dist-lib/metro.cjs +1 -1
  48. package/dist-lib/profiles.cjs +1 -1
  49. package/dist-lib/public-brand.cjs +1 -1
  50. package/dist-lib/react-native-host-modules.cjs +1 -1
  51. package/dist-lib/react-native-host-modules.mjs +1 -1
  52. package/dist-lib/render-mode.cjs +1 -1
  53. package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
  54. package/dist-lib/sdk.cjs +26 -72
  55. package/dist-lib/sdk.mjs +26 -72
  56. package/dist-lib/skills.cjs +755 -131
  57. package/dist-lib/vite.cjs +1 -1
  58. package/package.json +1 -1
  59. package/src/bridge-contract-input.ts +22 -2
  60. package/src/sim-client.ts +14 -2
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.458 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.459 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -3848,120 +3848,270 @@ var init_supported_native_packages = __esm({
3848
3848
  SUPPORTED_NATIVE_PACKAGE_NAMES = [
3849
3849
  "@adobe/react-native-aepcore",
3850
3850
  // coverage
3851
+ "@ankipro/react-native-file-open",
3852
+ // seam
3851
3853
  "@aptabase/react-native",
3852
- // coverage
3854
+ // seam+coverage
3855
+ "@attarchi/react-native-lottie-splash-screen",
3856
+ // seam
3857
+ "@bacons/apple-targets",
3858
+ // seam
3859
+ "@baronha/ting",
3860
+ // seam
3853
3861
  "@bitdrift/react-native",
3854
3862
  // coverage
3863
+ "@bittingz/expo-widgets",
3864
+ // seam
3865
+ "@braze/react-native-sdk",
3866
+ // seam
3867
+ "@bsky.app/expo-image-crop-tool",
3868
+ // seam
3855
3869
  "@bsky.app/react-native-mmkv",
3856
- // coverage
3870
+ // seam+coverage
3857
3871
  "@bugfender/rn-bugfender",
3858
- // coverage
3872
+ // seam+coverage
3859
3873
  "@bugsnag/react-native",
3860
3874
  // coverage
3861
3875
  "@bugsnag/react-native-performance",
3862
3876
  // coverage
3877
+ "@callstack/liquid-glass",
3878
+ // seam
3879
+ "@candlefinance/faster-image",
3880
+ // seam
3881
+ "@clerk/expo-passkeys",
3882
+ // seam
3883
+ "@computools/react-native-dynamic-app-icon",
3884
+ // seam
3863
3885
  "@d11/react-native-fast-image",
3864
3886
  // coverage
3887
+ "@dariyd/react-native-document-scanner",
3888
+ // seam
3865
3889
  "@datadog/mobile-react-native",
3866
3890
  // coverage
3891
+ "@dbkable/react-native-speech-to-text",
3892
+ // seam
3867
3893
  "@dimaportenko/react-native-shadow-view",
3868
3894
  // coverage
3895
+ "@domir/react-native-measure-text",
3896
+ // seam+coverage
3869
3897
  "@dr.pogodin/react-native-fs",
3870
3898
  // coverage
3899
+ "@expensify/react-native-background-task",
3900
+ // seam
3901
+ "@expensify/react-native-hybrid-app",
3902
+ // seam
3903
+ "@expo/app-integrity",
3904
+ // seam
3905
+ "@expo/dom-webview",
3906
+ // seam
3871
3907
  "@expo/ui",
3872
3908
  // preset+coverage
3873
3909
  "@expo/ui/community/menu",
3874
3910
  // coverage
3911
+ "@fugood/react-native-audio-pcm-stream",
3912
+ // seam
3875
3913
  "@fullstory/react-native",
3876
- // coverage
3914
+ // seam+coverage
3915
+ "@generac/react-native-local-network-permission",
3916
+ // seam
3917
+ "@hot-updater/react-native",
3918
+ // seam
3919
+ "@intercom/intercom-react-native",
3920
+ // seam
3877
3921
  "@iterable/expo-plugin",
3878
3922
  // coverage
3923
+ "@iterable/react-native-sdk",
3924
+ // seam
3925
+ "@joplin/react-native-alarm-notification",
3926
+ // seam
3927
+ "@journeyapps/react-native-quick-sqlite",
3928
+ // seam
3929
+ "@kesha-antonov/react-native-background-downloader",
3930
+ // seam
3931
+ "@lodev09/react-native-true-sheet",
3932
+ // seam
3933
+ "@logicwind/react-native-exit-app",
3934
+ // seam
3935
+ "@logicwind/react-native-matomo-tracker",
3936
+ // seam
3937
+ "@logicwind/react-native-status-bar-height",
3938
+ // seam
3939
+ "@lottiefiles/dotlottie-react-native",
3940
+ // seam
3941
+ "@mattermost/react-native-emm",
3942
+ // seam
3879
3943
  "@mattermost/react-native-paste-input",
3880
3944
  // coverage
3881
3945
  "@mattermost/react-native-turbo-log",
3882
- // coverage
3946
+ // seam+coverage
3947
+ "@mattermost/rnutils",
3948
+ // seam
3949
+ "@meedwire/react-native-image-rotate",
3950
+ // seam
3951
+ "@metamask/native-utils",
3952
+ // seam+coverage
3953
+ "@metamask/react-native-webview",
3954
+ // seam
3955
+ "@mhpdev/react-native-haptics",
3956
+ // seam
3957
+ "@mhpdev/react-native-speech",
3958
+ // seam
3883
3959
  "@nandorojo/galeria",
3884
- // preset+coverage
3960
+ // preset+seam+coverage
3885
3961
  "@notifee/react-native",
3886
- // coverage
3962
+ // seam+coverage
3963
+ "@nozbe/watermelondb",
3964
+ // seam
3887
3965
  "@op-engineering/op-sqlite",
3888
3966
  // coverage
3967
+ "@pnthach95/react-native-root-view-background",
3968
+ // seam
3889
3969
  "@posthog/react-native-plugin",
3890
- // preset+coverage
3970
+ // preset+seam+coverage
3971
+ "@preeternal/react-native-cookie-manager",
3972
+ // seam
3973
+ "@pusher/pusher-websocket-react-native",
3974
+ // seam
3975
+ "@pushpendersingh/react-native-otp-verify",
3976
+ // seam
3977
+ "@react-native-ai/apple",
3978
+ // seam
3891
3979
  "@react-native-async-storage/async-storage",
3892
3980
  // coverage
3981
+ "@react-native-camera-roll/camera-roll",
3982
+ // seam
3983
+ "@react-native-clipboard/clipboard",
3984
+ // seam
3893
3985
  "@react-native-community/checkbox",
3894
3986
  // coverage
3987
+ "@react-native-community/datetimepicker",
3988
+ // seam
3895
3989
  "@react-native-community/geolocation",
3896
- // coverage
3990
+ // seam+coverage
3897
3991
  "@react-native-community/image-editor",
3898
- // coverage
3992
+ // seam+coverage
3899
3993
  "@react-native-community/masked-view",
3900
3994
  // coverage
3901
3995
  "@react-native-community/netinfo",
3902
- // coverage
3996
+ // seam+coverage
3997
+ "@react-native-community/progress-view",
3998
+ // seam
3903
3999
  "@react-native-community/slider",
3904
4000
  // coverage
4001
+ "@react-native-cookies/cookies",
4002
+ // seam
3905
4003
  "@react-native-documents/picker",
3906
4004
  // coverage
4005
+ "@react-native-documents/viewer",
4006
+ // seam
3907
4007
  "@react-native-firebase/analytics",
3908
- // coverage
4008
+ // seam+coverage
3909
4009
  "@react-native-firebase/app",
3910
- // coverage
4010
+ // seam+coverage
4011
+ "@react-native-firebase/auth",
4012
+ // seam
3911
4013
  "@react-native-firebase/crashlytics",
3912
- // coverage
4014
+ // seam+coverage
4015
+ "@react-native-firebase/firestore",
4016
+ // seam
4017
+ "@react-native-firebase/functions",
4018
+ // seam
3913
4019
  "@react-native-firebase/perf",
3914
4020
  // coverage
4021
+ "@react-native-firebase/storage",
4022
+ // seam
3915
4023
  "@react-native-masked-view/masked-view",
3916
4024
  // preset+coverage
3917
4025
  "@react-native-menu/menu",
3918
- // coverage
4026
+ // seam+coverage
4027
+ "@react-native-ml-kit/barcode-scanning",
4028
+ // seam
4029
+ "@react-native-picker/picker",
4030
+ // seam
3919
4031
  "@rn-org/react-native-shortcuts",
3920
- // coverage
4032
+ // seam+coverage
3921
4033
  "@rocket.chat/mobile-crypto",
3922
- // coverage
4034
+ // seam+coverage
4035
+ "@roman.sytnyk/blur-app-in-recents",
4036
+ // seam
4037
+ "@rudderstack/rudder-integration-amplitude-react-native",
4038
+ // seam
3923
4039
  "@rudderstack/rudder-integration-appcenter-react-native",
3924
- // coverage
4040
+ // seam+coverage
4041
+ "@rudderstack/rudder-integration-braze-react-native",
4042
+ // seam
4043
+ "@rudderstack/rudder-integration-clevertap-react-native",
4044
+ // seam
4045
+ "@rudderstack/rudder-integration-facebook-react-native",
4046
+ // seam
4047
+ "@rudderstack/rudder-integration-singular-react-native",
4048
+ // seam
3925
4049
  "@rudderstack/rudder-sdk-react-native",
3926
4050
  // coverage
4051
+ "@sdcx/pull-to-refresh",
4052
+ // seam
3927
4053
  "@segment/analytics-react-native",
3928
4054
  // coverage
3929
4055
  "@sentry/react-native",
3930
- // coverage
4056
+ // seam+coverage
4057
+ "@shakebugs/react-native-shake",
4058
+ // seam
3931
4059
  "@shopify/flash-list",
3932
4060
  // coverage
3933
4061
  "@shopify/react-native-performance",
3934
- // coverage
4062
+ // seam+coverage
3935
4063
  "@shopify/react-native-skia",
3936
4064
  // preset+coverage
4065
+ "@simform_solutions/react-native-audio-waveform",
4066
+ // seam
4067
+ "@sparkfabrik/react-native-idfa-aaid",
4068
+ // seam
3937
4069
  "@splicer97/react-native-mytracker",
3938
- // coverage
4070
+ // seam+coverage
3939
4071
  "@stripe/stripe-react-native",
3940
4072
  // coverage
4073
+ "@thehale/react-native-keep-awake",
4074
+ // seam
4075
+ "@ua/react-native-airship",
4076
+ // seam
4077
+ "@universe/hashcash-native",
4078
+ // seam
4079
+ "@vonovak/react-native-theme-control",
4080
+ // seam
3941
4081
  "@vxrn/native",
3942
- // preset
4082
+ // preset+seam
3943
4083
  "@walletconnect/react-native-compat",
3944
4084
  // coverage
3945
4085
  "@wwdrew/expo-android-shared-preferences",
3946
- // coverage
4086
+ // seam+coverage
4087
+ "amazon-ivs-react-native-player",
4088
+ // seam
3947
4089
  "appcenter",
3948
- // coverage
4090
+ // seam+coverage
4091
+ "appcenter-analytics",
4092
+ // seam
3949
4093
  "burnt",
3950
4094
  // preset+coverage
4095
+ "customerio-reactnative",
4096
+ // seam
3951
4097
  "expo",
3952
4098
  // preset+coverage
4099
+ "expo-age-range",
4100
+ // seam
3953
4101
  "expo-android-shared-preferences",
3954
- // coverage
4102
+ // seam+coverage
4103
+ "expo-app-integrity",
4104
+ // seam
3955
4105
  "expo-apple-authentication",
3956
- // preset
4106
+ // preset+seam
3957
4107
  "expo-application",
3958
4108
  // visual-proof+coverage
3959
4109
  "expo-asset",
3960
- // preset+coverage
4110
+ // preset+seam+coverage
3961
4111
  "expo-audio",
3962
- // coverage
4112
+ // seam+coverage
3963
4113
  "expo-av",
3964
- // coverage
4114
+ // seam+coverage
3965
4115
  "expo-background-fetch",
3966
4116
  // visual-proof
3967
4117
  "expo-background-task",
@@ -3975,59 +4125,69 @@ var init_supported_native_packages = __esm({
3975
4125
  "expo-calendar",
3976
4126
  // visual-proof
3977
4127
  "expo-camera",
3978
- // coverage
4128
+ // seam+coverage
3979
4129
  "expo-cellular",
3980
4130
  // visual-proof
3981
4131
  "expo-clipboard",
3982
- // preset+coverage
4132
+ // preset+seam+coverage
3983
4133
  "expo-constants",
3984
4134
  // preset+visual-proof+coverage
3985
4135
  "expo-contacts",
3986
4136
  // visual-proof
4137
+ "expo-core-spotlight",
4138
+ // seam
3987
4139
  "expo-crypto",
3988
4140
  // preset+coverage
3989
4141
  "expo-dev-client",
3990
4142
  // coverage
3991
4143
  "expo-device",
3992
- // coverage
4144
+ // seam+coverage
3993
4145
  "expo-document-picker",
3994
- // preset+coverage
4146
+ // preset+seam+coverage
3995
4147
  "expo-file-system",
3996
- // preset+coverage
4148
+ // preset+seam+coverage
3997
4149
  "expo-font",
3998
- // preset+coverage
4150
+ // preset+seam+coverage
3999
4151
  "expo-gl",
4000
4152
  // preset+coverage
4001
4153
  "expo-glass-effect",
4002
4154
  // preset+coverage
4003
4155
  "expo-haptics",
4004
- // preset+coverage
4156
+ // preset+seam+coverage
4157
+ "expo-hardware-buttons",
4158
+ // seam
4005
4159
  "expo-ignore-battery-optimizations",
4006
4160
  // coverage
4007
4161
  "expo-image",
4008
- // preset+visual-proof+coverage
4162
+ // preset+visual-proof+seam+coverage
4009
4163
  "expo-image-manipulator",
4010
4164
  // coverage
4011
4165
  "expo-image-picker",
4012
- // preset+coverage
4166
+ // preset+seam+coverage
4013
4167
  "expo-insights",
4014
4168
  // coverage
4015
4169
  "expo-intent-launcher",
4016
4170
  // visual-proof
4017
4171
  "expo-keep-awake",
4018
4172
  // coverage
4173
+ "expo-key-event",
4174
+ // seam
4019
4175
  "expo-linear-gradient",
4020
4176
  // preset+visual-proof+coverage
4021
4177
  "expo-linking",
4022
- // preset+coverage
4178
+ // preset+seam+coverage
4023
4179
  "expo-local-authentication",
4024
- // coverage
4180
+ // seam+coverage
4025
4181
  "expo-localization",
4026
4182
  // coverage
4027
4183
  "expo-mail-composer",
4028
4184
  // visual-proof
4185
+ "expo-maps",
4186
+ // seam
4187
+ "expo-media-control",
4188
+ // seam
4029
4189
  "expo-media-library",
4030
- // coverage
4190
+ // seam+coverage
4031
4191
  "expo-mesh-gradient",
4032
4192
  // coverage
4033
4193
  "expo-modules-core",
@@ -4035,19 +4195,27 @@ var init_supported_native_packages = __esm({
4035
4195
  "expo-network",
4036
4196
  // preset+visual-proof+coverage
4037
4197
  "expo-notifications",
4038
- // preset+coverage
4198
+ // preset+seam+coverage
4199
+ "expo-passkey",
4200
+ // seam
4201
+ "expo-paste-input",
4202
+ // seam
4203
+ "expo-pip",
4204
+ // seam
4039
4205
  "expo-print",
4040
4206
  // visual-proof
4041
4207
  "expo-screen-capture",
4042
4208
  // visual-proof
4043
4209
  "expo-screen-corner-radius",
4044
- // coverage
4210
+ // seam+coverage
4045
4211
  "expo-screen-orientation",
4046
4212
  // visual-proof+coverage
4047
4213
  "expo-secure-store",
4048
4214
  // visual-proof+coverage
4049
4215
  "expo-sensors",
4050
4216
  // visual-proof
4217
+ "expo-share-extension",
4218
+ // seam
4051
4219
  "expo-sharing",
4052
4220
  // visual-proof
4053
4221
  "expo-sms",
@@ -4055,43 +4223,49 @@ var init_supported_native_packages = __esm({
4055
4223
  "expo-speech",
4056
4224
  // visual-proof
4057
4225
  "expo-speech-recognition",
4058
- // preset
4226
+ // preset+seam
4059
4227
  "expo-splash-screen",
4060
4228
  // visual-proof+coverage
4061
4229
  "expo-sqlite",
4062
4230
  // preset+coverage
4231
+ "expo-squircle-view",
4232
+ // seam
4063
4233
  "expo-store-review",
4064
4234
  // visual-proof+coverage
4065
4235
  "expo-symbols",
4066
4236
  // coverage
4067
4237
  "expo-system-ui",
4068
- // coverage
4238
+ // seam+coverage
4069
4239
  "expo-task-manager",
4070
4240
  // visual-proof+coverage
4071
4241
  "expo-testflight",
4072
- // coverage
4242
+ // seam+coverage
4073
4243
  "expo-tracking-transparency",
4074
- // visual-proof+coverage
4244
+ // visual-proof+seam+coverage
4075
4245
  "expo-updates",
4076
- // preset+coverage
4246
+ // preset+seam+coverage
4077
4247
  "expo-video",
4078
- // visual-proof
4248
+ // visual-proof+seam
4249
+ "expo-video-metadata",
4250
+ // seam
4079
4251
  "expo-video-thumbnails",
4080
4252
  // visual-proof
4081
4253
  "expo-web-browser",
4082
- // preset
4254
+ // preset+seam
4255
+ "expo-widgets",
4256
+ // seam
4083
4257
  "expo-winter-fetch",
4084
4258
  // coverage
4085
4259
  "expo-winter-formdata",
4086
4260
  // coverage
4087
4261
  "group-ib-fp",
4088
- // coverage
4262
+ // seam+coverage
4089
4263
  "gt-react-native",
4090
- // coverage
4264
+ // seam+coverage
4091
4265
  "jail-monkey",
4092
4266
  // coverage
4093
4267
  "lottie-react-native",
4094
- // coverage
4268
+ // seam+coverage
4095
4269
  "mixpanel-react-native",
4096
4270
  // coverage
4097
4271
  "newrelic-react-native-agent",
@@ -4099,205 +4273,479 @@ var init_supported_native_packages = __esm({
4099
4273
  "posthog-react-native",
4100
4274
  // preset+coverage
4101
4275
  "posthog-react-native-session-replay",
4102
- // preset+coverage
4276
+ // preset+seam+coverage
4277
+ "pushy-react-native",
4278
+ // seam
4103
4279
  "react-native",
4104
4280
  // preset+visual-proof+coverage
4281
+ "react-native-a11y-container",
4282
+ // seam
4105
4283
  "react-native-actions-shortcuts",
4106
- // coverage
4284
+ // seam+coverage
4107
4285
  "react-native-adjust",
4108
4286
  // coverage
4109
4287
  "react-native-aes-crypto",
4110
- // coverage
4288
+ // seam+coverage
4111
4289
  "react-native-aes-gcm-crypto",
4112
- // coverage
4290
+ // seam+coverage
4113
4291
  "react-native-amplitude-analytics",
4114
4292
  // coverage
4293
+ "react-native-app-auth",
4294
+ // seam
4295
+ "react-native-app-logs",
4296
+ // seam
4297
+ "react-native-app-review",
4298
+ // seam
4299
+ "react-native-appearance-control",
4300
+ // seam
4301
+ "react-native-apple-ads-attribution",
4302
+ // seam
4115
4303
  "react-native-appsflyer",
4116
4304
  // coverage
4305
+ "react-native-appstack-sdk",
4306
+ // seam
4117
4307
  "react-native-audio-api",
4118
4308
  // coverage
4309
+ "react-native-auto-skeleton",
4310
+ // seam
4311
+ "react-native-background-geolocation",
4312
+ // seam
4119
4313
  "react-native-background-timer",
4120
- // coverage
4314
+ // seam+coverage
4315
+ "react-native-background-upload",
4316
+ // seam
4317
+ "react-native-barcode-creator",
4318
+ // seam
4319
+ "react-native-blasted-image",
4320
+ // seam
4121
4321
  "react-native-blob-util",
4122
4322
  // coverage
4123
4323
  "react-native-blue-crypto",
4124
- // coverage
4324
+ // seam+coverage
4325
+ "react-native-bluetooth-status",
4326
+ // seam
4327
+ "react-native-blur-view",
4328
+ // seam
4329
+ "react-native-blurhash",
4330
+ // seam
4125
4331
  "react-native-bootsplash",
4126
- // preset+coverage
4332
+ // preset+seam+coverage
4127
4333
  "react-native-bottom-tabs",
4128
4334
  // preset+visual-proof
4129
4335
  "react-native-branch",
4130
4336
  // coverage
4337
+ "react-native-calendar-events",
4338
+ // seam
4339
+ "react-native-cashfree-pg-sdk",
4340
+ // seam
4341
+ "react-native-cloud-storage",
4342
+ // seam
4343
+ "react-native-cloud-store",
4344
+ // seam
4345
+ "react-native-compass-heading",
4346
+ // seam
4347
+ "react-native-compressor",
4348
+ // seam
4131
4349
  "react-native-config",
4132
4350
  // coverage
4351
+ "react-native-config-reader",
4352
+ // seam
4353
+ "react-native-contacts",
4354
+ // seam
4355
+ "react-native-context-menu-view",
4356
+ // seam
4357
+ "react-native-create-thumbnail",
4358
+ // seam
4359
+ "react-native-credentials-manager",
4360
+ // seam
4361
+ "react-native-dark-mode",
4362
+ // seam
4133
4363
  "react-native-date-picker",
4134
- // coverage
4364
+ // seam+coverage
4135
4365
  "react-native-default-preference",
4136
- // coverage
4366
+ // seam+coverage
4367
+ "react-native-detector",
4368
+ // seam
4369
+ "react-native-device-attest",
4370
+ // seam
4371
+ "react-native-device-country",
4372
+ // seam
4137
4373
  "react-native-device-info",
4138
- // coverage
4374
+ // seam+coverage
4375
+ "react-native-ease",
4376
+ // seam
4377
+ "react-native-edge-fade",
4378
+ // seam
4139
4379
  "react-native-edge-to-edge",
4140
- // coverage
4380
+ // seam+coverage
4381
+ "react-native-emoji-popup",
4382
+ // seam
4383
+ "react-native-enriched",
4384
+ // seam
4385
+ "react-native-enriched-markdown",
4386
+ // seam
4387
+ "react-native-events",
4388
+ // seam
4389
+ "react-native-exception-handler",
4390
+ // seam
4391
+ "react-native-exit-app",
4392
+ // seam
4393
+ "react-native-external-display",
4394
+ // seam
4141
4395
  "react-native-fast-image",
4142
4396
  // coverage
4143
4397
  "react-native-fast-secure-storage",
4144
- // coverage
4398
+ // seam+coverage
4399
+ "react-native-fast-squircle",
4400
+ // seam
4145
4401
  "react-native-fast-trie",
4146
- // coverage
4402
+ // seam+coverage
4403
+ "react-native-fbsdk-next",
4404
+ // seam
4405
+ "react-native-fcm",
4406
+ // seam
4407
+ "react-native-file-logger",
4408
+ // seam
4409
+ "react-native-file-viewer",
4410
+ // seam
4411
+ "react-native-fingerprint-scanner",
4412
+ // seam
4147
4413
  "react-native-fs",
4148
4414
  // coverage
4149
4415
  "react-native-gesture-handler",
4150
4416
  // preset+coverage
4151
4417
  "react-native-get-device-locale",
4152
- // coverage
4418
+ // seam+coverage
4153
4419
  "react-native-get-location",
4154
- // coverage
4420
+ // seam+coverage
4155
4421
  "react-native-get-random-values",
4156
4422
  // coverage
4423
+ "react-native-google-places",
4424
+ // seam
4157
4425
  "react-native-google-play-install-referrer",
4158
4426
  // coverage
4159
4427
  "react-native-gzip",
4160
- // coverage
4428
+ // seam+coverage
4161
4429
  "react-native-haptic-feedback",
4162
4430
  // coverage
4163
4431
  "react-native-headphone-detection",
4164
- // coverage
4432
+ // seam+coverage
4433
+ "react-native-home-indicator",
4434
+ // seam
4435
+ "react-native-http-bridge-refurbished",
4436
+ // seam
4165
4437
  "react-native-idle-timer",
4166
- // coverage
4438
+ // seam+coverage
4439
+ "react-native-image-colors",
4440
+ // seam
4167
4441
  "react-native-image-picker",
4168
- // coverage
4442
+ // seam+coverage
4169
4443
  "react-native-image-size",
4170
- // coverage
4444
+ // seam+coverage
4171
4445
  "react-native-in-app-review",
4172
- // coverage
4446
+ // seam+coverage
4447
+ "react-native-inappbrowser-reborn",
4448
+ // seam
4449
+ "react-native-intercom",
4450
+ // seam
4451
+ "react-native-job-queue",
4452
+ // seam
4173
4453
  "react-native-keep-awake",
4174
- // coverage
4454
+ // seam+coverage
4175
4455
  "react-native-key-command",
4176
- // coverage
4456
+ // seam+coverage
4177
4457
  "react-native-keyboard-controller",
4178
4458
  // preset+visual-proof+coverage
4179
4459
  "react-native-keychain",
4180
- // coverage
4460
+ // seam+coverage
4461
+ "react-native-keyevent",
4462
+ // seam
4181
4463
  "react-native-keys",
4182
4464
  // coverage
4183
4465
  "react-native-launch-arguments",
4184
4466
  // coverage
4185
4467
  "react-native-linear-gradient",
4186
4468
  // coverage
4469
+ "react-native-linkedin-login",
4470
+ // seam
4187
4471
  "react-native-localize",
4188
4472
  // coverage
4473
+ "react-native-location",
4474
+ // seam
4475
+ "react-native-location-enabler",
4476
+ // seam
4477
+ "react-native-mail",
4478
+ // seam
4189
4479
  "react-native-maps",
4190
4480
  // preset+coverage
4481
+ "react-native-measure-text",
4482
+ // seam
4191
4483
  "react-native-mixpanel",
4192
4484
  // coverage
4193
4485
  "react-native-mmkv",
4194
- // preset+coverage
4486
+ // preset+seam+coverage
4195
4487
  "react-native-mmkv-storage",
4196
4488
  // coverage
4489
+ "react-native-month-year-picker",
4490
+ // seam
4491
+ "react-native-multiple-modals",
4492
+ // seam
4197
4493
  "react-native-nano-icons",
4198
- // coverage
4494
+ // seam+coverage
4495
+ "react-native-navigation",
4496
+ // seam
4199
4497
  "react-native-nitro-buffer",
4200
- // coverage
4498
+ // seam+coverage
4499
+ "react-native-nitro-device-info",
4500
+ // seam
4501
+ "react-native-nitro-fetch",
4502
+ // seam
4503
+ "react-native-nitro-geocoder",
4504
+ // seam
4505
+ "react-native-nitro-geolocation",
4506
+ // seam
4507
+ "react-native-nitro-image",
4508
+ // seam
4509
+ "react-native-nitro-modules",
4510
+ // seam
4511
+ "react-native-nitro-sound",
4512
+ // seam
4513
+ "react-native-nitro-sse",
4514
+ // seam
4201
4515
  "react-native-nitro-text-decoder",
4202
- // coverage
4516
+ // seam+coverage
4203
4517
  "react-native-nitro-totp",
4204
- // coverage
4518
+ // seam+coverage
4519
+ "react-native-nitro-web-image",
4520
+ // seam
4521
+ "react-native-nitro-websockets",
4522
+ // seam
4205
4523
  "react-native-notification-badge",
4206
- // coverage
4524
+ // seam+coverage
4525
+ "react-native-notification-sounds",
4526
+ // seam
4527
+ "react-native-notifications",
4528
+ // seam
4529
+ "react-native-ometria",
4530
+ // seam
4531
+ "react-native-onesignal",
4532
+ // seam
4533
+ "react-native-orientation-director",
4534
+ // seam
4535
+ "react-native-orientation-locker",
4536
+ // seam
4537
+ "react-native-orientation-manager",
4538
+ // seam
4539
+ "react-native-orientation-turbo",
4540
+ // seam
4541
+ "react-native-os",
4542
+ // seam
4543
+ "react-native-ota-hot-update",
4544
+ // seam
4207
4545
  "react-native-pager-view",
4208
4546
  // preset+visual-proof
4547
+ "react-native-palette-full",
4548
+ // seam
4209
4549
  "react-native-pdf",
4210
4550
  // coverage
4551
+ "react-native-pdf-from-image",
4552
+ // seam
4553
+ "react-native-pdf-light",
4554
+ // seam
4555
+ "react-native-performance-limiter",
4556
+ // seam
4211
4557
  "react-native-permissions",
4212
- // coverage
4558
+ // seam+coverage
4213
4559
  "react-native-photo-manipulator",
4214
- // coverage
4560
+ // seam+coverage
4561
+ "react-native-pkce-challenge",
4562
+ // seam
4563
+ "react-native-print",
4564
+ // seam
4565
+ "react-native-pulsar",
4566
+ // seam
4215
4567
  "react-native-purchases",
4216
- // preset+coverage
4568
+ // preset+seam+coverage
4217
4569
  "react-native-pure-jwt",
4218
- // coverage
4570
+ // seam+coverage
4219
4571
  "react-native-quick-actions",
4220
- // coverage
4572
+ // seam+coverage
4221
4573
  "react-native-quick-base64",
4222
- // coverage
4574
+ // seam+coverage
4223
4575
  "react-native-quick-crypto",
4224
- // coverage
4576
+ // seam+coverage
4225
4577
  "react-native-randombytes",
4226
- // coverage
4578
+ // seam+coverage
4579
+ "react-native-rate",
4580
+ // seam
4581
+ "react-native-rate-app",
4582
+ // seam
4227
4583
  "react-native-reanimated",
4228
4584
  // preset+visual-proof+coverage
4585
+ "react-native-receive-sharing-intent",
4586
+ // seam
4587
+ "react-native-record-screen",
4588
+ // seam
4229
4589
  "react-native-restart",
4230
4590
  // coverage
4231
4591
  "react-native-restart-newarch",
4232
4592
  // coverage
4593
+ "react-native-rsa-native",
4594
+ // seam
4233
4595
  "react-native-rsa-signer",
4234
- // coverage
4596
+ // seam+coverage
4597
+ "react-native-safari-view",
4598
+ // seam
4235
4599
  "react-native-safe-area-context",
4236
4600
  // preset+visual-proof+coverage
4237
4601
  "react-native-screen-corner-radius",
4238
- // coverage
4602
+ // seam+coverage
4239
4603
  "react-native-screens",
4240
4604
  // preset+visual-proof+coverage
4605
+ "react-native-screenshot-aware",
4606
+ // seam
4241
4607
  "react-native-securerandom",
4242
- // coverage
4608
+ // seam+coverage
4243
4609
  "react-native-settings",
4244
- // coverage
4610
+ // seam+coverage
4611
+ "react-native-sfsymbols",
4612
+ // seam
4613
+ "react-native-shake",
4614
+ // seam
4245
4615
  "react-native-share",
4246
- // coverage
4616
+ // seam+coverage
4617
+ "react-native-shared-group-preferences",
4618
+ // seam
4247
4619
  "react-native-shiki-engine",
4248
- // coverage
4620
+ // seam+coverage
4621
+ "react-native-signature-capture",
4622
+ // seam
4623
+ "react-native-simple-biometrics",
4624
+ // seam
4249
4625
  "react-native-simple-toast",
4250
4626
  // coverage
4251
4627
  "react-native-smart-splash-screen",
4252
- // coverage
4628
+ // seam+coverage
4629
+ "react-native-snackbar",
4630
+ // seam
4631
+ "react-native-social-share",
4632
+ // seam
4633
+ "react-native-sound",
4634
+ // seam
4635
+ "react-native-sound-player",
4636
+ // seam
4637
+ "react-native-speech-recognition-kit",
4638
+ // seam
4253
4639
  "react-native-splash-screen",
4254
- // coverage
4640
+ // seam+coverage
4641
+ "react-native-splash-view",
4642
+ // seam
4643
+ "react-native-spotlight-search",
4644
+ // seam
4645
+ "react-native-sqlite-2",
4646
+ // seam
4647
+ "react-native-stallion",
4648
+ // seam
4649
+ "react-native-store-age-signals-native-modules",
4650
+ // seam
4651
+ "react-native-store-review",
4652
+ // seam
4255
4653
  "react-native-svg",
4256
4654
  // preset+visual-proof+coverage
4257
4655
  "react-native-system-bars",
4258
- // coverage
4656
+ // seam+coverage
4657
+ "react-native-system-setting",
4658
+ // seam
4259
4659
  "react-native-teleport",
4260
4660
  // preset+coverage
4261
4661
  "react-native-testfairy",
4262
- // coverage
4662
+ // seam+coverage
4663
+ "react-native-text-input-mask",
4664
+ // seam
4665
+ "react-native-text-size",
4666
+ // seam
4667
+ "react-native-tiktok",
4668
+ // seam
4263
4669
  "react-native-tiktok-business-sdk",
4264
4670
  // coverage
4265
4671
  "react-native-timezone",
4266
- // coverage
4672
+ // seam+coverage
4673
+ "react-native-tooltip",
4674
+ // seam
4675
+ "react-native-touch-id",
4676
+ // seam
4677
+ "react-native-track-player",
4678
+ // seam
4679
+ "react-native-tts",
4680
+ // seam
4267
4681
  "react-native-turbo-haptics",
4268
- // coverage
4682
+ // seam+coverage
4683
+ "react-native-turbo-mock-location-detector",
4684
+ // seam
4685
+ "react-native-turbo-preferences",
4686
+ // seam
4269
4687
  "react-native-uitextview",
4270
4688
  // visual-proof+coverage
4271
4689
  "react-native-ulid-jsi",
4272
- // coverage
4690
+ // seam+coverage
4273
4691
  "react-native-ux-cam",
4274
- // coverage
4692
+ // seam+coverage
4275
4693
  "react-native-vector-icons",
4276
- // coverage
4694
+ // seam+coverage
4695
+ "react-native-version-check",
4696
+ // seam
4277
4697
  "react-native-version-info",
4278
- // coverage
4698
+ // seam+coverage
4279
4699
  "react-native-version-number",
4280
- // coverage
4700
+ // seam+coverage
4281
4701
  "react-native-video",
4282
4702
  // coverage
4703
+ "react-native-video-cache",
4704
+ // seam
4705
+ "react-native-video-duration",
4706
+ // seam
4707
+ "react-native-view-pdf",
4708
+ // seam
4283
4709
  "react-native-vision-camera",
4284
4710
  // coverage
4711
+ "react-native-vlc-media-player",
4712
+ // seam
4713
+ "react-native-vosk",
4714
+ // seam
4285
4715
  "react-native-webgpu",
4286
4716
  // preset
4287
4717
  "react-native-webp-format",
4288
4718
  // coverage
4289
4719
  "react-native-webview",
4290
- // preset+visual-proof
4720
+ // preset+visual-proof+seam
4721
+ "react-native-widget-picker",
4722
+ // seam
4723
+ "react-native-wifi-p2p",
4724
+ // seam
4291
4725
  "react-native-worklets",
4292
4726
  // preset+coverage
4293
4727
  "react-native-xxhash",
4294
- // coverage
4728
+ // seam+coverage
4729
+ "react-native-youtube",
4730
+ // seam
4731
+ "react-native-zip-archive",
4732
+ // seam
4733
+ "rive-react-native",
4734
+ // seam
4735
+ "rn-apple-healthkit",
4736
+ // seam
4737
+ "rn-date-format",
4738
+ // seam
4739
+ "rn-fade-wrapper",
4740
+ // seam
4295
4741
  "rn-fetch-blob",
4296
4742
  // coverage
4297
4743
  "rollbar-react-native",
4298
- // coverage
4299
- "sift-react-native"
4300
- // coverage
4744
+ // seam+coverage
4745
+ "sift-react-native",
4746
+ // seam+coverage
4747
+ "whisper.rn"
4748
+ // seam
4301
4749
  ];
4302
4750
  }
4303
4751
  });
@@ -4653,8 +5101,8 @@ var init_registry = __esm({
4653
5101
  id: "sheets-and-modal-geometry",
4654
5102
  usage: 2,
4655
5103
  importance: 2,
4656
- estimate: 0.75,
4657
- rationale: "Initial detents, sheet geometry, corner radius, grabber, undimmed range and dismissal work. Interactive movement between form-sheet detents is absent, estimated as 25% of this sheet workflow."
5104
+ estimate: 0.95,
5105
+ rationale: "Initial detents, sheet geometry, corner radius, grabber, undimmed range and dismissal work. Numeric-detent dragging, nearest settling, content interception and larger-detent scrolling, selected geometry and dimming, collapse callbacks, and guarded dismissal close most interaction gaps. The remaining 5% covers velocity and spring fidelity, pointer cancellation, fit-to-content and non-numeric modes, numeric 1.0 native geometry, and expandsWhenScrolledToEdge."
4658
5106
  },
4659
5107
  {
4660
5108
  id: "tabs-freeze-and-overlay",
@@ -4666,8 +5114,8 @@ var init_registry = __esm({
4666
5114
  ],
4667
5115
  capabilityCoverage: CAPABILITY_INVENTORY_PACKAGE_COVERAGE["react-native-screens"],
4668
5116
  note: "screen container, stack, header config, search bar, navigation props",
4669
- working: "Screen, ScreenContainer, ScreenStack, enableFreeze/freezeEnabled with delayed React freeze, Android modal/pageSheet push fallback, Android statusBarHidden/statusBarStyle/navigationBarHidden traits, push/pop slide, replaceAnimation push/pop direction, zoom/fade/fade_from_bottom transitions, edge swipe-back, parallax behind-screen, large title collapse, header (back button, inline/large title, custom left/center/right/search bar subviews, native header bar buttons/menus/badges, crossfade), formSheet custom initial detents/corner radius/grabber/undimmed range and stacked sheets, useHeaderHeight, useTransitionProgress, FullWindowOverlay, SearchBar with stacked and iOS 26 automatic/inline/integrated/integratedCentered/integratedButton toolbar placement, Tabs.Host/Screen, lifecycle callbacks (onAppear/onDisappear/onWillAppear/onWillDisappear), onDismissed",
4670
- missing: "interactive drag between formSheet detents"
5117
+ working: "Screen, ScreenContainer, ScreenStack, enableFreeze/freezeEnabled with delayed React freeze, Android modal/pageSheet push fallback, Android statusBarHidden/statusBarStyle/navigationBarHidden traits, push/pop slide, replaceAnimation push/pop direction, zoom/fade/fade_from_bottom transitions, edge swipe-back, parallax behind-screen, large title collapse, header (back button, inline/large title, custom left/center/right/search bar subviews, native header bar buttons/menus/badges, crossfade), formSheet custom initial detents/corner radius/grabber/undimmed range, numeric-detent dragging and settling, eligible content scrolling, detent callbacks, guarded dismissal and stacked sheets, useHeaderHeight, useTransitionProgress, FullWindowOverlay, SearchBar with stacked and iOS 26 automatic/inline/integrated/integratedCentered/integratedButton toolbar placement, Tabs.Host/Screen, lifecycle callbacks (onAppear/onDisappear/onWillAppear/onWillDisappear), onDismissed",
5118
+ missing: "native velocity and spring fidelity, pointer cancellation, fit-to-content and non-numeric detents, numeric 1.0 native geometry, and expandsWhenScrolledToEdge remain incomplete or unverified"
4671
5119
  }
4672
5120
  ]
4673
5121
  },
@@ -4764,14 +5212,14 @@ var init_registry = __esm({
4764
5212
  id: "filters-and-imperative-geometry",
4765
5213
  usage: 1,
4766
5214
  importance: 2,
4767
- estimate: 0,
4768
- rationale: "Filter hosts and native export, hit-testing, path-metric, bounding-box and matrix methods refuse the operation. These dedicated behaviors receive no implementation credit."
5215
+ estimate: 0.25,
5216
+ rationale: "getTotalLength and getPointAtLength implement path metrics for paths and basic shapes, including curves, arcs, clamping and detached refs. This receives 25% of the grouped feature. Filters, native export, bounding boxes, matrices and point-in-fill/stroke remain unsupported; invalid-path points return zero where native returns NaN."
4769
5217
  }
4770
5218
  ],
4771
5219
  capabilityCoverage: CAPABILITY_INVENTORY_PACKAGE_COVERAGE["react-native-svg"],
4772
- note: "CanvasKit rendering for shapes, text, XML, gradients, references, masks, clipping, and images; native SVG filters and geometry queries are unsupported",
4773
- working: "Svg, Path, Circle, Rect, Line, Ellipse, Polygon, Polyline, G, Text, TSpan, TextPath shaped glyphs along referenced paths, Defs, Pattern fills, Marker geometry on paths/lines/polylines/polygons, LinearGradient and RadialGradient with objectBoundingBox/userSpaceOnUse coordinates, focal points and gradientTransform, Stop, Mask, ClipPath, Image, Use and Symbol references, SvgXml, SvgUri, SvgAst, SvgFromXml, SvgCss, parse, fetchText, camelCase, shape transforms, fill/stroke/opacity/dasharray, currentColor, viewBox scaling",
4774
- missing: "native SVG filter components and toDataURL, hit-testing, path-metric, bounding-box, and matrix methods refuse calls; ForeignObject does not render; marker context paints remain unverified; TextPath advanced layout, per-glyph positioning and objectBoundingBox paints are unsupported; pattern non-scaling strokes use the tile matrix; no font or emoji fallback parity claim"
5220
+ note: "CanvasKit rendering for shapes, text, XML, gradients, references, masks, clipping, and images; path metrics are implemented; native SVG filters, export and other geometry queries remain unsupported",
5221
+ working: "Svg, Path, Circle, Rect, Line, Ellipse, Polygon, Polyline, G, Text, TSpan, TextPath shaped glyphs along referenced paths, Defs, Pattern fills, Marker geometry on paths/lines/polylines/polygons, LinearGradient and RadialGradient with objectBoundingBox/userSpaceOnUse coordinates, focal points and gradientTransform, Stop, Mask, ClipPath, Image, Use and Symbol references, SvgXml, SvgUri, SvgAst, SvgFromXml, SvgCss, parse, fetchText, camelCase, getTotalLength and getPointAtLength for Path, Line, Rect including rounded corners, Circle, Ellipse, Polygon and Polyline, shape transforms, fill/stroke/opacity/dasharray, currentColor, viewBox scaling",
5222
+ missing: "native SVG filter components and toDataURL, hit-testing, bounding-box, and matrix methods refuse calls; invalid-path points differ from native NaN; ForeignObject does not render; marker context paints remain unverified; TextPath advanced layout, per-glyph positioning and objectBoundingBox paints are unsupported; pattern non-scaling strokes use the tile matrix; no font or emoji fallback parity claim"
4775
5223
  }
4776
5224
  ]
4777
5225
  },
@@ -5038,14 +5486,14 @@ var init_registry = __esm({
5038
5486
  id: "keyboard-native-views-and-toolbar",
5039
5487
  usage: 1,
5040
5488
  importance: 2,
5041
- estimate: 0,
5042
- rationale: "Over-keyboard hosting, keyboard background effects, extender layout, clipping and native toolbar grouping are absent. Ordinary View wrappers do not implement these native accessory behaviors."
5489
+ estimate: 0.55,
5490
+ rationale: "KeyboardExtender hosts persistent interactive content above the keyboard, reserves its measured height in the parent, reacts to resizing and enable changes, and takes precedence over named accessories. KeyboardToolbar.Group scopes focus navigation and focusDidSet coordinates. OverKeyboardView hosts interactive content in its show-time app or keyboard window with retained focus and real browser pointer delivery. These three workflows receive 55% of the grouped feature, retaining deductions for extender keyboard-frame metrics and exact native geometry, toolbar eligibility for hidden or zero-size inputs, and unverified native-window fidelity. Background effects and clipping remain absent."
5043
5491
  }
5044
5492
  ],
5045
5493
  capabilityCoverage: CAPABILITY_INVENTORY_PACKAGE_COVERAGE["react-native-keyboard-controller"],
5046
5494
  note: "native bindings stubbed (KeyboardControllerNative, KeyboardEvents, FocusedInputEvents, WindowDimensionsEvents, KeyboardControllerView + sibling native views); upstream pure-JS components, hooks, animated module, and KeyboardAvoidingView resolve from node_modules unchanged",
5047
5495
  working: "every upstream JS export runs through reanimated worklets; Android KeyboardGestureArea drives the existing keyboard owner through drag progress, velocity/distance settling, cancellation, focus retention, and cleanup; supported exports include KeyboardProvider, KeyboardAvoidingView, KeyboardStickyView, KeyboardAwareScrollView, KeyboardToolbar, KeyboardGestureArea, useReanimatedKeyboardAnimation, useKeyboardAnimation, useKeyboardHandler, useGenericKeyboardHandler, useKeyboardController, useKeyboardState, useKeyboardContext, useReanimatedFocusedInput, useFocusedInputHandler, useResizeMode, useWindowDimensions, KeyboardEvents, FocusedInputEvents, WindowDimensionsEvents resize events, KeyboardController (dismiss/setFocusTo/isVisible/state/preload/setInputMode/setDefaultMode), KeyboardControllerView, OverKeyboardView, KeyboardBackgroundView, KeyboardExtender, ClippingScrollView, KeyboardToolbarGroupView, and AndroidSoftInputModes",
5048
- missing: "OverKeyboardView, KeyboardBackgroundView, KeyboardExtender, ClippingScrollView, and KeyboardToolbarGroupView are passthrough views without their native platform effects"
5496
+ missing: "KeyboardBackgroundView and ClippingScrollView lack their native platform effects; OverKeyboardView native-window fidelity beyond the observed iOS browser cases remains unverified; KeyboardExtender does not include accessory height in keyboard-frame metrics and exact native geometry remains incomplete; toolbar focus eligibility excludes hidden or zero-size inputs that native iOS counts"
5049
5497
  }
5050
5498
  ]
5051
5499
  },
@@ -9181,10 +9629,11 @@ var init_registry = __esm({
9181
9629
  stubType: "native",
9182
9630
  versions: [
9183
9631
  {
9184
- range: ">=1.0.0",
9632
+ range: ">=0.4.0",
9185
9633
  coverage: 0.65,
9186
- note: "native seam for EnrichedMarkdownText/EnrichedMarkdown/EnrichedMarkdownTextInput generated host components; upstream JS wrapper and Streamdown integration run unchanged",
9187
- missing: "native MD4C fidelity, selection menus, spoilers, math, images, and editable rich-markdown commands are simplified"
9634
+ note: "native seam for the EnrichedMarkdownText/EnrichedMarkdown/EnrichedMarkdownTextInput generated host components; the upstream JS wrapper, its style normalization, and the Streamdown integration run unchanged",
9635
+ working: "markdown parsed and rendered into real text and view hosts with upstream's normalized markdownStyle applied: paragraphs, h1-h6 at their default sizes and colors, bold/italic/strikethrough/underline, inline code and code blocks, blockquotes, ordered and unordered lists, task-list markers, links with onLinkPress, thematic breaks, tables with upstream's header, cell padding, and alternating row colors, block and inline images, plus selectable text and the imperative command surface",
9636
+ missing: "MD4C parsing fidelity (markdown-to-jsx handles the grammar instead), so unusual constructs can differ; native selection menus, spoilers, and math are absent, and the editable rich-markdown commands are accepted without changing the buffer"
9188
9637
  }
9189
9638
  ]
9190
9639
  },
@@ -10277,6 +10726,175 @@ var init_registry = __esm({
10277
10726
  }
10278
10727
  ]
10279
10728
  },
10729
+ "whisper.rn": {
10730
+ category: "ML",
10731
+ stubType: "native",
10732
+ versions: [
10733
+ {
10734
+ range: ">=0.6.0",
10735
+ coverage: 0.3,
10736
+ note: "native-seam only: RNWhisper.install() mounts all fourteen JSI bindings so the package's own JS runs, but transcripts come from the host speech recognizer instead of a whisper model",
10737
+ working: "package load and JSI binding handshake, getConstants, context and VAD context init/release lifecycle, transcribeFile/transcribeData resolving TranscribeResult shapes, onProgress and onNewSegments callbacks, abortTranscribe, bench, toggleNativeLog, and RealtimeTranscriber delivering real text through the browser SpeechRecognition API",
10738
+ missing: "no whisper.cpp/ggml runtime, so the declared model file is never loaded \u2014 no CoreML or GPU acceleration, model-derived segment timings, token timestamps, tinydiarize, beam/temperature decoding options, language auto-detect, or real VAD speech probabilities"
10739
+ }
10740
+ ]
10741
+ },
10742
+ "@fugood/react-native-audio-pcm-stream": {
10743
+ category: "Media",
10744
+ stubType: "native",
10745
+ versions: [
10746
+ {
10747
+ range: ">=1.0.0",
10748
+ coverage: 0.25,
10749
+ note: "native-seam only: the RNLiveAudioStream recorder lifecycle and data events run, but the frames carry silence because the worker has no microphone capture path",
10750
+ working: "the published AudioRecord wrapper unchanged \u2014 init stores sampleRate/channels/bitsPerSample/audioSource/bufferSize, start begins a steady 'data' cadence through NativeEventEmitter and starts the host speech recognizer, stop ends both, and each frame is base64 of the configured buffer size",
10751
+ missing: "frames are silence rather than microphone PCM, so amplitude, level metering, and waveform analysis read zero; wavFile writing and audioSource routing have no effect"
10752
+ }
10753
+ ]
10754
+ },
10755
+ "react-native-edge-fade": {
10756
+ category: "UI Components",
10757
+ stubType: "native",
10758
+ versions: [
10759
+ {
10760
+ range: ">=0.1.0",
10761
+ coverage: 0.85,
10762
+ note: "native-seam only: the published JS wrapper runs unchanged over an EdgeFadeView host component that reproduces the native curve tables and all three fade modes",
10763
+ working: "fadeTop/fadeBottom/fadeLeft/fadeRight on all four edges at once, the curveTop/curveBottom/curveLeft/curveRight presets and comma-separated custom alpha stops sampled from the same tables as the native EdgeFadeCurves, mode='mask' (masked content), mode='overlay' (per-edge or shared overlayColor gradients), mode='blur' (a masked blur band with frostProgression shaping the ramp), fadeRadius corner clipping, and pass-through of every other View prop",
10764
+ missing: "frostSaturation and frostLift are accepted but ignored \u2014 there is no browser vibrancy filter behind the blur band, and the blur is a single Gaussian rather than the native progressive blur stack, so a blurred edge reads slightly flatter than on device"
10765
+ }
10766
+ ]
10767
+ },
10768
+ "@metamask/native-utils": {
10769
+ category: "Auth & Payments",
10770
+ stubType: "native",
10771
+ versions: [
10772
+ {
10773
+ range: ">=0.2.0",
10774
+ coverage: 0.95,
10775
+ note: "native-seam only: the published JS marshalling wrapper runs unchanged over a NativeUtils nitro HybridObject that computes exactly what upstream documents its C++ side to compute",
10776
+ working: "all eight hybrid methods \u2014 multiply, toPublicKey and toPublicKeyFromBytes (secp256k1, compressed and uncompressed), getPublicKeyEd25519 and getPublicKeyEd25519FromBytes, keccak256FromBytes, pubToAddress (with the @ethereumjs/util sanitize branch), and hmacSha512 \u2014 each backed by the @noble implementation upstream states it is byte-identical to, so BIP32 derivation and address computation produce the same bytes as on device",
10777
+ missing: "the native C++ speedup itself: this is the @noble path metamask patches away for performance, so heavy HD-derivation loops run at JavaScript speed"
10778
+ }
10779
+ ]
10780
+ },
10781
+ "@universe/hashcash-native": {
10782
+ category: "Networking",
10783
+ stubType: "native",
10784
+ versions: [
10785
+ {
10786
+ range: ">=0.1.0",
10787
+ coverage: 0.7,
10788
+ note: "native-seam only: the published wrapper runs unchanged over a Hashcash nitro HybridObject that searches the counter range with Web Crypto SHA-256",
10789
+ working: "findProof over the requested rangeStart/rangeSize (defaulting to the challenge maxProofLength), the leading-zero-byte difficulty test, the counter/hashBase64/attempts/timeMs result shape, undefined when the range is exhausted, and cancel stopping the search at the next batch boundary",
10790
+ missing: "the native multi-threaded solver, so a high-difficulty challenge takes far longer on the JavaScript SubtleCrypto path and cancellation only takes effect between 256-counter batches instead of immediately"
10791
+ }
10792
+ ]
10793
+ },
10794
+ "react-native-config-reader": {
10795
+ category: "Device & Platform",
10796
+ stubType: "native",
10797
+ versions: [
10798
+ {
10799
+ range: ">=1.0.0",
10800
+ coverage: 0.4,
10801
+ note: "native-seam only: the package's two-line JS runs unchanged and finds an RNConfigReader module on both platforms, including the iOS BuildConfigs sub-object it dereferences at import",
10802
+ working: "module presence on both platforms so the import never throws, the iOS BuildConfigs branch, and the DEBUG/BUILD_TYPE fields every Android BuildConfig carries \u2014 answered truthfully for a preview build",
10803
+ missing: "the app's own generated BuildConfig fields: upstream reflects whatever gradle declared, which the browser cannot know, so any app-private flag reads back undefined exactly as it would in a build that never declared it"
10804
+ }
10805
+ ]
10806
+ },
10807
+ "react-native-rsa-native": {
10808
+ category: "Auth & Payments",
10809
+ stubType: "native",
10810
+ versions: [
10811
+ {
10812
+ range: ">=2.0.0",
10813
+ coverage: 0.8,
10814
+ note: "native-seam only: the package's `const { RNRSA, RNRSAKeychain } = NativeModules` runs unchanged over real RSA \u2014 Web Crypto for keygen, OAEP, and signing, and BigInt for the PKCS#1 v1.5 encryption Web Crypto omits",
10815
+ working: "RNRSA generate/generateKeys, encrypt/decrypt and encrypt64/decrypt64, sign/verify and their 64 and withAlgorithm variants across the SHA-1/224/256/384/512 signing algorithms, PEM import and export; RNRSAKeychain generate, encrypt/decrypt, sign/verify, and deletePrivateKey against a keyTag",
10816
+ missing: "the OS keychain itself \u2014 keys live in an in-memory map, so they do not survive a reload and gain no Secure Enclave protection; EC keychain keys, generateCSR, and generateCSRWithEC throw an explicit unsupported error"
10817
+ }
10818
+ ]
10819
+ },
10820
+ "@mattermost/rnutils": {
10821
+ category: "Device & Platform",
10822
+ stubType: "native",
10823
+ versions: [
10824
+ {
10825
+ range: ">=0.1.0",
10826
+ coverage: 0.45,
10827
+ note: "native-seam only: the published wrapper runs unchanged over an RNUtils TurboModule that answers window geometry for real and reports a clean unmanaged state elsewhere",
10828
+ working: "getWindowDimensions from the live tenant window and its dimension events, getConstants, the addListener/removeListeners bookkeeping, isRunningInSplitView (false/false), the orientation lock calls, getHasRegisteredLoad/setHasRegisteredLoad, and getRealFilePath/saveFile echoing the path back",
10829
+ missing: "app-group shared directories and database paths are empty strings, so shared-container reads find nothing; deleteDatabaseDirectory, renameDatabase, deleteEntitiesFile, createZipFile, the delivered-notification queries and removals, keyboard resize modes, and setNavigationBarColor are accepted and do nothing"
10830
+ }
10831
+ ]
10832
+ },
10833
+ "@mattermost/react-native-emm": {
10834
+ category: "Device & Platform",
10835
+ stubType: "native",
10836
+ versions: [
10837
+ {
10838
+ range: ">=1.0.0",
10839
+ coverage: 0.35,
10840
+ note: "native-seam only: the published wrapper runs unchanged over an Emm TurboModule reporting the unmanaged, unsecured device state a browser preview actually has",
10841
+ working: "module load and getConstants, getManagedConfig returning an empty policy so the app takes its unmanaged branch, deviceSecureWith reporting no face/fingerprint/passcode, the listener bookkeeping, and setAppGroupId/openSecuritySettings/exitApp accepted without effect",
10842
+ missing: "no EMM policy controller, so a managed configuration is never delivered; authenticate rejects because there is no device credential prompt, and setBlurScreen/applyBlurEffect/removeBlurEffect do not obscure the app in the task switcher"
10843
+ }
10844
+ ]
10845
+ },
10846
+ "@expensify/react-native-hybrid-app": {
10847
+ category: "Device & Platform",
10848
+ stubType: "native",
10849
+ versions: [
10850
+ {
10851
+ range: ">=0.1.0",
10852
+ coverage: 0.5,
10853
+ note: "native-seam only: the published wrapper runs unchanged over a ReactNativeHybridApp TurboModule that reports a standalone (non-hybrid) build, which is what a browser preview is",
10854
+ working: "the full Spec surface loads and every method matches its upstream return type \u2014 isHybridApp() is false so the bundle stays on its standalone branch instead of the legacy-shell path, getHybridAppSettings and getInitialURL resolve null, and the sign-in, sign-out, account-switch, onboarding, and listener calls are accepted",
10855
+ missing: "there is no second native shell to hand off to, so the legacy-app transition, its session and auth-token exchange, and closeReactNativeApp have no effect"
10856
+ }
10857
+ ]
10858
+ },
10859
+ "expo-app-integrity": {
10860
+ category: "Device & Platform",
10861
+ stubType: "native",
10862
+ versions: [
10863
+ {
10864
+ range: ">=0.1.0",
10865
+ coverage: 0.7,
10866
+ note: "native-seam only \u2014 the legacy specifier for @expo/app-integrity, sharing its seam: the published wrapper runs unchanged; the reference iOS simulator reports isSupported=false, and every App Attest call rejects with the upstream ERR_APP_INTEGRITY_FEATURE_UNSUPPORTED code and message",
10867
+ working: "all nine public exports: isSupported=false; generateKeyAsync, attestKeyAsync, and generateAssertionAsync reject with the real iOS-simulator unsupported error; Android-only methods take the upstream wrapper platform-error or false branches on iOS",
10868
+ missing: "real App Attest keys, attestations, and assertions; Android Play Integrity tokens and hardware-backed key attestation"
10869
+ }
10870
+ ]
10871
+ },
10872
+ "@domir/react-native-measure-text": {
10873
+ category: "UI Components",
10874
+ stubType: "native",
10875
+ versions: [
10876
+ {
10877
+ range: ">=0.1.0",
10878
+ coverage: 0.9,
10879
+ note: "native-seam only: the published wrapper runs unchanged over a ReactNativeMeasureText expo module whose synchronous measureWidth uses the same text measurement the layout engine uses, so a measured width matches what renders",
10880
+ working: "synchronous measureWidth(text, style) honouring fontFamily, fontSize, fontWeight, and letterSpacing; the older RNMeasureText TurboModule measure(texts, fontSize, width) with upstream\u2019s invalid_width/invalid_texts/invalid_fontSize rejections",
10881
+ missing: "allowFontScaling is accepted but has no OS text-size setting to scale by, and the legacy TurboModule multi-line heights come from a character-width approximation rather than real line breaking"
10882
+ }
10883
+ ]
10884
+ },
10885
+ "@sparkfabrik/react-native-idfa-aaid": {
10886
+ category: "Analytics",
10887
+ stubType: "native",
10888
+ versions: [
10889
+ {
10890
+ range: ">=0.6.0",
10891
+ coverage: 0.5,
10892
+ note: "native-seam only: the published wrapper runs unchanged and both queries resolve the denied, no-identifier result \u2014 the same answer a device with tracking turned off gives",
10893
+ working: "getAdvertisingInfo and getAdvertisingInfoAndCheckAuthorization resolve { id: null, isAdTrackingLimited: true }, so callers take their tracking-disabled branch and keep ad properties off",
10894
+ missing: "no platform advertising identifier exists in the browser, so an IDFA or AAID is never returned and the iOS tracking-authorization prompt is never shown"
10895
+ }
10896
+ ]
10897
+ },
10280
10898
  "@react-native-community/progress-bar-android": {
10281
10899
  category: "UI Components",
10282
10900
  stubType: "native",
@@ -35356,7 +35974,9 @@ var init_bridge_flow_runner = __esm({
35356
35974
  }
35357
35975
  const matchesId = compile(${JSON.stringify(opts.id)})
35358
35976
  const matchesText = compile(${JSON.stringify(opts.text)})
35359
- const all = ((await test.queryAll({})) || []).filter(
35977
+ const all = ((await test.queryAll(${JSON.stringify(
35978
+ opts.id && !opts.childOf ? { idPattern: opts.id } : {}
35979
+ )})) || []).filter(
35360
35980
  (n) => n && n.absolutePosition && n.layout,
35361
35981
  )
35362
35982
  let candidates = all.filter((n) =>
@@ -35510,8 +36130,10 @@ var init_bridge_flow_runner = __esm({
35510
36130
  return element;
35511
36131
  }
35512
36132
  replayTargetForElement(opts, element, tapTarget) {
36133
+ const id = opts.id ?? tapTarget?.target?.id ?? element.id;
35513
36134
  return {
35514
- id: opts.id ?? tapTarget?.target?.id ?? element.id ?? null,
36135
+ nodeId: tapTarget?.target?.nodeId ?? element.nodeId,
36136
+ id: typeof id === "string" ? id : null,
35515
36137
  testID: opts.id ?? tapTarget?.target?.testID ?? element.testID ?? null,
35516
36138
  text: opts.text ?? tapTarget?.target?.text ?? tapTarget?.target?.accessibilityLabel ?? element.text ?? element.accessibilityLabel ?? null,
35517
36139
  type: tapTarget?.target?.type ?? element.type ?? null
@@ -35571,6 +36193,8 @@ var init_bridge_flow_runner = __esm({
35571
36193
  cy,
35572
36194
  this.replayTargetForElement(opts, current, tapTarget)
35573
36195
  );
36196
+ if (hit?.requestedTargetMatched === false)
36197
+ throw new Error(`tapOn refused: ${JSON.stringify(hit)}`);
35574
36198
  if (hit?.hit === true) {
35575
36199
  await sleep3(300);
35576
36200
  if (!current.isTextInput) return;