rnxsim 0.1.355 → 0.1.356

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 (175) hide show
  1. package/cli/bridge-flow-runner.ts +73 -24
  2. package/cli/commands/maestro.ts +9 -4
  3. package/dist-cli/bin.js +5 -5
  4. package/dist-cli/chunks/{agent-2MW7ZKUX.js → agent-RHSVLLYV.js} +2 -2
  5. package/dist-cli/chunks/{agent-wrapper-XYQBKV24.js → agent-wrapper-76J2FUFC.js} +2 -2
  6. package/dist-cli/chunks/{app-fonts-SXIZFMPY.js → app-fonts-NXSVJTJO.js} +2 -2
  7. package/dist-cli/chunks/{assert-R324GCRG.js → assert-2EYNC3CJ.js} +2 -2
  8. package/dist-cli/chunks/{auth-INKYLYRZ.js → auth-BPTC5SFR.js} +2 -2
  9. package/dist-cli/chunks/{beta-BQHBSKA5.js → beta-SSB7KYRA.js} +2 -2
  10. package/dist-cli/chunks/{camera-UPRFBRPF.js → camera-VVTXBQXD.js} +2 -2
  11. package/dist-cli/chunks/{chunk-CUXVUSZS.js → chunk-2UIMQVMQ.js} +2 -2
  12. package/dist-cli/chunks/{chunk-KLVSEUJP.js → chunk-3OCUYKVX.js} +2 -2
  13. package/dist-cli/chunks/{chunk-EQEEPP5A.js → chunk-3QQFGK3A.js} +2 -2
  14. package/dist-cli/chunks/{chunk-XZJNPATS.js → chunk-3SYKCLCM.js} +2 -2
  15. package/dist-cli/chunks/{chunk-NCF3QNJG.js → chunk-4HQXS5PW.js} +2 -2
  16. package/dist-cli/chunks/{chunk-TADYO7TY.js → chunk-4V6JMAXO.js} +2 -2
  17. package/dist-cli/chunks/{chunk-QYIT7H6Q.js → chunk-5AF3BFLN.js} +2 -2
  18. package/dist-cli/chunks/{chunk-6EC3D5IG.js → chunk-5AKKSWL5.js} +1 -1
  19. package/dist-cli/chunks/{chunk-PYSIEEKP.js → chunk-5DAVGCVR.js} +1 -1
  20. package/dist-cli/chunks/{chunk-IAVHAWDL.js → chunk-6CGOQKVQ.js} +1 -1
  21. package/dist-cli/chunks/{chunk-JYQNEVHV.js → chunk-6TGSJGCM.js} +2 -2
  22. package/dist-cli/chunks/{chunk-FFNFGVGH.js → chunk-6TWYMJCB.js} +2 -2
  23. package/dist-cli/chunks/{chunk-WUYI4PVY.js → chunk-7E22W7XX.js} +1 -1
  24. package/dist-cli/chunks/{chunk-LQEC53JM.js → chunk-7EAA32OO.js} +2 -2
  25. package/dist-cli/chunks/{chunk-ZQF3PK76.js → chunk-A2F5B2AB.js} +2 -2
  26. package/dist-cli/chunks/{chunk-ZNWLFYZK.js → chunk-AA7PHU2M.js} +2 -2
  27. package/dist-cli/chunks/{chunk-VWPXXB6U.js → chunk-BMMSSIRU.js} +1 -1
  28. package/dist-cli/chunks/{chunk-247ZSWTI.js → chunk-BNZHWG6Z.js} +2 -2
  29. package/dist-cli/chunks/{chunk-VEMZUXVR.js → chunk-BXT37FPN.js} +1 -1
  30. package/dist-cli/chunks/{chunk-S27I7H2K.js → chunk-BZTXJUGV.js} +1 -1
  31. package/dist-cli/chunks/{chunk-SJEAA2FW.js → chunk-CK4C6GPT.js} +2 -2
  32. package/dist-cli/chunks/{chunk-MKHCGQSF.js → chunk-DRHNOXRS.js} +1 -1
  33. package/dist-cli/chunks/{chunk-23TG7DLH.js → chunk-E5ALNGXA.js} +1 -1
  34. package/dist-cli/chunks/{chunk-JE6NXNGL.js → chunk-E7DVCUK4.js} +3 -3
  35. package/dist-cli/chunks/{chunk-2Z2S3C6A.js → chunk-EVQNKPUK.js} +2 -2
  36. package/dist-cli/chunks/{chunk-EZXNGHZT.js → chunk-FAUFZBRY.js} +2 -2
  37. package/dist-cli/chunks/chunk-FVKAF4VB.js +535 -0
  38. package/dist-cli/chunks/{chunk-GWL4KMTK.js → chunk-FWBQKEAA.js} +2 -2
  39. package/dist-cli/chunks/{chunk-7URIRES5.js → chunk-G2SHGCDI.js} +2 -2
  40. package/dist-cli/chunks/{chunk-GE7GYFE4.js → chunk-GM6YYN6P.js} +2 -2
  41. package/dist-cli/chunks/{chunk-FPWDC2DE.js → chunk-I3G6YW6L.js} +1 -1
  42. package/dist-cli/chunks/{chunk-FDI226G4.js → chunk-IUQL37TT.js} +2 -2
  43. package/dist-cli/chunks/{chunk-Y5BP72QO.js → chunk-JU3ISZ7X.js} +1 -1
  44. package/dist-cli/chunks/{chunk-IJGL6T4M.js → chunk-NPH2KUL6.js} +2 -2
  45. package/dist-cli/chunks/{chunk-XFPGXEKW.js → chunk-NSEPQLZF.js} +1 -1
  46. package/dist-cli/chunks/{chunk-JP2YS7LC.js → chunk-OUMGSDHQ.js} +1 -1
  47. package/dist-cli/chunks/{chunk-W3QLC24Z.js → chunk-P5F5PM6C.js} +2 -2
  48. package/dist-cli/chunks/{chunk-N532KCKW.js → chunk-RBQUFMLX.js} +2 -2
  49. package/dist-cli/chunks/{chunk-CRE3V3EG.js → chunk-RFSFQUUJ.js} +1 -1
  50. package/dist-cli/chunks/{chunk-QWJD2CAJ.js → chunk-RQZCBNCD.js} +1 -1
  51. package/dist-cli/chunks/{chunk-X36BQCH5.js → chunk-SZD4NAQR.js} +2 -2
  52. package/dist-cli/chunks/{chunk-GFDFVKVW.js → chunk-T33T5MW2.js} +1 -1
  53. package/dist-cli/chunks/{chunk-LJCBPR7S.js → chunk-TLA6GLYI.js} +2 -2
  54. package/dist-cli/chunks/{chunk-AY4OA5UI.js → chunk-TV5LN34R.js} +2 -2
  55. package/dist-cli/chunks/{chunk-S4K3TDYB.js → chunk-UC6Y77PK.js} +2 -2
  56. package/dist-cli/chunks/{chunk-ZOFRHAGX.js → chunk-UUD5NLLB.js} +1 -1
  57. package/dist-cli/chunks/{chunk-Y3D3DCQV.js → chunk-VIEN2LIY.js} +2 -2
  58. package/dist-cli/chunks/{chunk-FF2CEKZF.js → chunk-VSADIZVW.js} +2 -2
  59. package/dist-cli/chunks/{chunk-6WCDWBG6.js → chunk-VZKPDDYL.js} +2 -2
  60. package/dist-cli/chunks/{chunk-SEWNI4GS.js → chunk-X2YH3SPS.js} +1 -1
  61. package/dist-cli/chunks/{chunk-F6S4Z7N7.js → chunk-XJ2LMLUP.js} +1 -1
  62. package/dist-cli/chunks/{chunk-MCAQZI3R.js → chunk-XMNBS5CX.js} +1 -1
  63. package/dist-cli/chunks/{chunk-42LIUAHU.js → chunk-XT6FA7AH.js} +2 -2
  64. package/dist-cli/chunks/chunk-Z6CATT5W.js +4 -0
  65. package/dist-cli/chunks/{chunk-CK3M7MAL.js → chunk-ZK67ALEG.js} +2 -2
  66. package/dist-cli/chunks/{chunk-BUOAYILA.js → chunk-ZME75NBJ.js} +4 -4
  67. package/dist-cli/chunks/{cleanup-5FGGUP6U.js → cleanup-E7TDW64X.js} +2 -2
  68. package/dist-cli/chunks/cli-version-HUIGZMTX.js +4 -0
  69. package/dist-cli/chunks/{compat-J4OEALGF.js → compat-ST5BY7FP.js} +2 -2
  70. package/dist-cli/chunks/{config-MCH2R7WG.js → config-Z5NEHXI7.js} +2 -2
  71. package/dist-cli/chunks/{control-NPWFRKZS.js → control-JMDFMAHT.js} +2 -2
  72. package/dist-cli/chunks/daemon-VIL2M7RE.js +4 -0
  73. package/dist-cli/chunks/{debug-7NHPYUX6.js → debug-DO2G2BA7.js} +3 -3
  74. package/dist-cli/chunks/{desktop-EIBJC5EU.js → desktop-M3UETMNI.js} +3 -3
  75. package/dist-cli/chunks/{detox-ZFEQKHDT.js → detox-7JI56JTD.js} +2 -2
  76. package/dist-cli/chunks/{device-JM7QMQFQ.js → device-YTRCB26J.js} +2 -2
  77. package/dist-cli/chunks/{diagnose-DCMU2GAD.js → diagnose-BJT3RXDI.js} +2 -2
  78. package/dist-cli/chunks/{disk-cleanup-RPW5MYGM.js → disk-cleanup-HWA4ATEL.js} +2 -2
  79. package/dist-cli/chunks/drivers-HIKMT3EH.js +4 -0
  80. package/dist-cli/chunks/{film-NRGBZSC7.js → film-GLGYFHGZ.js} +3 -3
  81. package/dist-cli/chunks/flow-AJT2OYLT.js +4 -0
  82. package/dist-cli/chunks/help-DSDQRHN3.js +4 -0
  83. package/dist-cli/chunks/{hidden-runtime-alias-GSZG7QFD.js → hidden-runtime-alias-A4TMRHFA.js} +2 -2
  84. package/dist-cli/chunks/{home-paths-OGXLRRTG.js → home-paths-A2ANFZHA.js} +2 -2
  85. package/dist-cli/chunks/inspect-NXE6LUT6.js +4 -0
  86. package/dist-cli/chunks/install-desktop-DMTXQF3R.js +4 -0
  87. package/dist-cli/chunks/{login-A7JSAMON.js → login-OWD44PHN.js} +2 -2
  88. package/dist-cli/chunks/{logout-EBUWNT63.js → logout-WV5QPIUW.js} +2 -2
  89. package/dist-cli/chunks/{maestro-OEXXVYMW.js → maestro-AQ342FXT.js} +18 -13
  90. package/dist-cli/chunks/{maestro-generate-DKH6IUTC.js → maestro-generate-AUTBK5QS.js} +3 -3
  91. package/dist-cli/chunks/{mode-YKX2UTBX.js → mode-XICLRQZH.js} +2 -2
  92. package/dist-cli/chunks/{optional-demo-registry-W4Z54NYF.js → optional-demo-registry-FOXLAYLM.js} +2 -2
  93. package/dist-cli/chunks/{perf-EJDB2NWH.js → perf-PUT7IITA.js} +2 -2
  94. package/dist-cli/chunks/{permissions-MXUT3YR6.js → permissions-AHJWQPCL.js} +2 -2
  95. package/dist-cli/chunks/privacy-AYLEWFZX.js +4 -0
  96. package/dist-cli/chunks/{record-STFUL6CS.js → record-V4MZ33XI.js} +3 -3
  97. package/dist-cli/chunks/{report-issue-TE2QTEMZ.js → report-issue-QBB54OJ5.js} +2 -2
  98. package/dist-cli/chunks/reset-BMGMOHRM.js +4 -0
  99. package/dist-cli/chunks/runtime-SYUM3ASK.js +4 -0
  100. package/dist-cli/chunks/{screenshot-command-SRW3HXF7.js → screenshot-command-PK54GDUY.js} +3 -3
  101. package/dist-cli/chunks/{screenshot-layers-IULR35XJ.js → screenshot-layers-AQZK3GRM.js} +2 -2
  102. package/dist-cli/chunks/{screenshots-capture-54GFQLXS.js → screenshots-capture-KXQDIF2S.js} +2 -2
  103. package/dist-cli/chunks/{serve-WJAOT43K.js → serve-YPNVL33J.js} +2 -2
  104. package/dist-cli/chunks/setup-FM3JVRMY.js +4 -0
  105. package/dist-cli/chunks/{skills-DW5GLHAT.js → skills-4CBIW5IP.js} +2 -2
  106. package/dist-cli/chunks/{state-IW4THIPU.js → state-AWM3LRRR.js} +2 -2
  107. package/dist-cli/chunks/{storage-F4RQZFTZ.js → storage-S2LC3T7Q.js} +2 -2
  108. package/dist-cli/chunks/store-SZX3GXCL.js +4 -0
  109. package/dist-cli/chunks/telemetry-ANUHW6KD.js +4 -0
  110. package/dist-cli/chunks/{timeline-IX3HVS22.js → timeline-4AWI6M2T.js} +2 -2
  111. package/dist-cli/chunks/{upgrade-T4LWQ2JA.js → upgrade-WSYVILOP.js} +2 -2
  112. package/dist-cli/chunks/upload-U2KPYBGD.js +4 -0
  113. package/dist-cli/chunks/{version-MNRMHJ64.js → version-XE4ZTCON.js} +2 -2
  114. package/dist-cli/chunks/{web-ARKJI3PY.js → web-ZS6L2NLF.js} +2 -2
  115. package/dist-cli/chunks/welcome-UE273JKY.js +5 -0
  116. package/dist-cli/chunks/{what-happened-EBK5NZFI.js → what-happened-6AHCKADV.js} +2 -2
  117. package/dist-lib/agent-daemon-client.cjs +1 -1
  118. package/dist-lib/agent-events.cjs +1 -1
  119. package/dist-lib/agent-identity.cjs +1 -1
  120. package/dist-lib/agent-sessions.cjs +1 -1
  121. package/dist-lib/attached-projects.cjs +1 -1
  122. package/dist-lib/auth/shared-session.cjs +1 -1
  123. package/dist-lib/backend-origin.cjs +1 -1
  124. package/dist-lib/beta.cjs +1 -1
  125. package/dist-lib/beta.mjs +1 -1
  126. package/dist-lib/bridge-constants.cjs +1 -1
  127. package/dist-lib/bridge-contract.cjs +1 -1
  128. package/dist-lib/cli-constants.cjs +1 -1
  129. package/dist-lib/config.cjs +1 -1
  130. package/dist-lib/detox/index.cjs +1 -1
  131. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  132. package/dist-lib/home-paths.cjs +1 -1
  133. package/dist-lib/host/bridge-host.cjs +1 -1
  134. package/dist-lib/host/fetch-proxy-handler.cjs +1 -1
  135. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  136. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  137. package/dist-lib/host/replacement-module-handler.cjs +1 -1
  138. package/dist-lib/host/websocket-proxy.cjs +1 -1
  139. package/dist-lib/index.cjs +1 -1
  140. package/dist-lib/jump-to-source-babel.cjs +1 -1
  141. package/dist-lib/menu.cjs +1 -1
  142. package/dist-lib/menu.mjs +1 -1
  143. package/dist-lib/metro-production-bundle.cjs +1 -1
  144. package/dist-lib/metro-production-bundle.mjs +1 -1
  145. package/dist-lib/metro.cjs +1 -1
  146. package/dist-lib/profiles.cjs +1 -1
  147. package/dist-lib/public-brand.cjs +1 -1
  148. package/dist-lib/react-native-host-modules.cjs +1 -1
  149. package/dist-lib/react-native-host-modules.mjs +1 -1
  150. package/dist-lib/render-mode.cjs +1 -1
  151. package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
  152. package/dist-lib/sdk.cjs +1 -1
  153. package/dist-lib/sdk.mjs +1 -1
  154. package/dist-lib/skills.cjs +82 -54
  155. package/dist-lib/vite.cjs +1 -1
  156. package/package.json +1 -1
  157. package/skills/rnx-test/SKILL.md +6 -2
  158. package/src/bridge-contract.ts +8 -2
  159. package/dist-cli/chunks/chunk-2GLEESND.js +0 -535
  160. package/dist-cli/chunks/chunk-UIBR3GXC.js +0 -4
  161. package/dist-cli/chunks/cli-version-JP47UGY6.js +0 -4
  162. package/dist-cli/chunks/daemon-M26NJFNC.js +0 -4
  163. package/dist-cli/chunks/drivers-DW3CQUTK.js +0 -4
  164. package/dist-cli/chunks/flow-76SLGQCI.js +0 -4
  165. package/dist-cli/chunks/help-GUYB5XWH.js +0 -4
  166. package/dist-cli/chunks/inspect-URTBYLXV.js +0 -4
  167. package/dist-cli/chunks/install-desktop-BINBAGSN.js +0 -4
  168. package/dist-cli/chunks/privacy-JIJOFIGM.js +0 -4
  169. package/dist-cli/chunks/reset-LAIGONON.js +0 -4
  170. package/dist-cli/chunks/runtime-ZS3FBQLG.js +0 -4
  171. package/dist-cli/chunks/setup-36ACJ5FT.js +0 -4
  172. package/dist-cli/chunks/store-MTN4TPL6.js +0 -4
  173. package/dist-cli/chunks/telemetry-CJSVYHLI.js +0 -4
  174. package/dist-cli/chunks/upload-LHWECFWH.js +0 -4
  175. package/dist-cli/chunks/welcome-XH657K2V.js +0 -5
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.355 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.356 | (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 __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.355 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.356 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.355 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.356 | (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 __defProp = Object.defineProperty;
package/dist-lib/menu.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.355 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.356 | (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 __defProp = Object.defineProperty;
package/dist-lib/menu.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.355 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.356 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/public-brand.ts
4
4
  var name = "rnx";
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.355 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.356 | (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 __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.355 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.356 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/metro-production-bundle.ts
4
4
  var RNXSIM_METRO_PRODUCTION_BUNDLE_OPTION = "rnxsim";
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.355 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.356 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.355 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.356 | (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;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.355 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.356 | (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 __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.355 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.356 | (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 __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.355 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.356 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/react-native-host-modules.ts
4
4
  var REACT_NATIVE_PASSTHROUGH_SPECIFIERS = [
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.355 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.356 | (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 __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.355 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.356 | (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;
package/dist-lib/sdk.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.355 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.356 | (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 __defProp = Object.defineProperty;
package/dist-lib/sdk.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.355 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.356 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  var __defProp = Object.defineProperty;
3
3
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
4
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.355 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.356 | (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;
@@ -475,36 +475,36 @@ var init_capability_inventory_coverage = __esm({
475
475
  raw: {
476
476
  covered: 0,
477
477
  ratio: 0,
478
- total: 1873
478
+ total: 1576
479
479
  },
480
480
  weighted: {
481
481
  covered: 0,
482
482
  ratio: 0,
483
- total: 13317
483
+ total: 11841
484
484
  }
485
485
  },
486
486
  semantic: {
487
487
  raw: {
488
488
  covered: 0,
489
489
  ratio: 0,
490
- total: 1414
490
+ total: 1123
491
491
  },
492
492
  weighted: {
493
493
  covered: 0,
494
494
  ratio: 0,
495
- total: 9296
495
+ total: 7842
496
496
  }
497
497
  },
498
498
  visual: {
499
499
  raw: {
500
500
  covered: 0,
501
501
  ratio: 0,
502
- total: 459
502
+ total: 453
503
503
  },
504
504
  weighted: {
505
505
  covered: 0,
506
506
  ratio: 0,
507
- total: 4021
507
+ total: 3999
508
508
  }
509
509
  },
510
510
  byPlatform: {
@@ -513,36 +513,36 @@ var init_capability_inventory_coverage = __esm({
513
513
  raw: {
514
514
  covered: 0,
515
515
  ratio: 0,
516
- total: 1663
516
+ total: 1374
517
517
  },
518
518
  weighted: {
519
519
  covered: 0,
520
520
  ratio: 0,
521
- total: 12183
521
+ total: 10747
522
522
  }
523
523
  },
524
524
  semantic: {
525
525
  raw: {
526
526
  covered: 0,
527
527
  ratio: 0,
528
- total: 1252
528
+ total: 969
529
529
  },
530
530
  weighted: {
531
531
  covered: 0,
532
532
  ratio: 0,
533
- total: 8412
533
+ total: 6998
534
534
  }
535
535
  },
536
536
  visual: {
537
537
  raw: {
538
538
  covered: 0,
539
539
  ratio: 0,
540
- total: 411
540
+ total: 405
541
541
  },
542
542
  weighted: {
543
543
  covered: 0,
544
544
  ratio: 0,
545
- total: 3771
545
+ total: 3749
546
546
  }
547
547
  }
548
548
  },
@@ -551,36 +551,36 @@ var init_capability_inventory_coverage = __esm({
551
551
  raw: {
552
552
  covered: 0,
553
553
  ratio: 0,
554
- total: 1666
554
+ total: 1391
555
555
  },
556
556
  weighted: {
557
557
  covered: 0,
558
558
  ratio: 0,
559
- total: 12153
559
+ total: 10787
560
560
  }
561
561
  },
562
562
  semantic: {
563
563
  raw: {
564
564
  covered: 0,
565
565
  ratio: 0,
566
- total: 1265
566
+ total: 996
567
567
  },
568
568
  weighted: {
569
569
  covered: 0,
570
570
  ratio: 0,
571
- total: 8421
571
+ total: 7077
572
572
  }
573
573
  },
574
574
  visual: {
575
575
  raw: {
576
576
  covered: 0,
577
577
  ratio: 0,
578
- total: 401
578
+ total: 395
579
579
  },
580
580
  weighted: {
581
581
  covered: 0,
582
582
  ratio: 0,
583
- total: 3732
583
+ total: 3710
584
584
  }
585
585
  }
586
586
  }
@@ -26078,21 +26078,6 @@ var init_frame_compose = __esm({
26078
26078
  }
26079
26079
  });
26080
26080
 
26081
- // cli/app-state-reset.ts
26082
- function resetGuestAppStateEval(resetStorage) {
26083
- return `(async () => {
26084
- const bridge = globalThis.SootSim && globalThis.SootSim.bridges && globalThis.SootSim.bridges.hotRemount
26085
- if (!bridge || typeof bridge.reloadExternalApp !== 'function') return false
26086
- await bridge.reloadExternalApp({ resetStorage: ${resetStorage ? "true" : "false"} })
26087
- return true
26088
- })()`;
26089
- }
26090
- var init_app_state_reset = __esm({
26091
- "cli/app-state-reset.ts"() {
26092
- "use strict";
26093
- }
26094
- });
26095
-
26096
26081
  // cli/commands/inspect/settling.ts
26097
26082
  async function waitForSootsimIdle({
26098
26083
  bridge,
@@ -26878,7 +26863,6 @@ var init_bridge_flow_runner = __esm({
26878
26863
  import_yaml = __toESM(require("yaml"), 1);
26879
26864
  import_proof_frame = __toESM(require_proof_frame(), 1);
26880
26865
  init_frame_compose();
26881
- init_app_state_reset();
26882
26866
  init_core();
26883
26867
  init_settling();
26884
26868
  init_shared();
@@ -26906,6 +26890,8 @@ var init_bridge_flow_runner = __esm({
26906
26890
  onLog: (msg) => console.log(`[flow] js: ${msg}`)
26907
26891
  });
26908
26892
  firstLaunchDone = false;
26893
+ appStopped = false;
26894
+ launchArgumentsActive = false;
26909
26895
  profilingEnabled = false;
26910
26896
  recordingEnabled = false;
26911
26897
  recordingAccessChecked = false;
@@ -28031,12 +28017,12 @@ var init_bridge_flow_runner = __esm({
28031
28017
  await sleep3(500);
28032
28018
  await this.refreshSimId();
28033
28019
  }
28034
- async resetGuestAppData() {
28020
+ async resetGuestAppData(launchOptions) {
28035
28021
  const reset = await this.bridge.send(
28036
28022
  {
28037
28023
  type: "reset",
28038
28024
  simId: this.opts.simId,
28039
- resetOptions: { strategy: "data" }
28025
+ resetOptions: { strategy: "data", ...launchOptions }
28040
28026
  },
28041
28027
  { timeoutMs: 12e4 }
28042
28028
  );
@@ -28050,14 +28036,16 @@ var init_bridge_flow_runner = __esm({
28050
28036
  throw new Error("guest app data reset did not replace the tenant worker");
28051
28037
  }
28052
28038
  }
28053
- async softReloadGuestApp(resetStorage) {
28054
- const reloaded = await this.evaluate(
28055
- resetGuestAppStateEval(resetStorage),
28056
- 12e4
28039
+ async reloadGuestAppRuntime(options) {
28040
+ await this.bridge.send(
28041
+ {
28042
+ type: "call",
28043
+ simId: this.opts.simId,
28044
+ path: "SootSim.bridges.hotRemount.reloadExternalApp",
28045
+ args: [options]
28046
+ },
28047
+ { timeoutMs: 12e4 }
28057
28048
  );
28058
- if (!reloaded) {
28059
- throw new Error("guest app soft reload bridge unavailable");
28060
- }
28061
28049
  }
28062
28050
  async rearmCaptureAfterRuntimeReload() {
28063
28051
  if (!this.recordingEnabled && !this.profilingEnabled) return;
@@ -28080,17 +28068,38 @@ var init_bridge_flow_runner = __esm({
28080
28068
  }
28081
28069
  async launchApp(opts) {
28082
28070
  await this.refreshSimId();
28083
- if (opts && typeof opts === "object" && opts.arguments) {
28084
- console.log("[flow] launchApp.arguments ignored (rnx has no native process)");
28071
+ let hasLaunchArguments = false;
28072
+ let launchArguments;
28073
+ if (isObjectRecord2(opts) && Object.prototype.hasOwnProperty.call(opts, "arguments")) {
28074
+ if (!isObjectRecord2(opts.arguments)) {
28075
+ throw new Error("launchApp.arguments must be a JSON object");
28076
+ }
28077
+ hasLaunchArguments = true;
28078
+ launchArguments = opts.arguments;
28085
28079
  }
28086
28080
  const wantsClear = !!(opts && typeof opts === "object" && opts.clearState);
28087
28081
  const wantsResetRuntime = readBooleanKey(opts, "resetRuntime");
28088
28082
  if (!this.firstLaunchDone && !wantsClear) {
28089
28083
  this.firstLaunchDone = true;
28090
- if (wantsResetRuntime) {
28084
+ if (hasLaunchArguments) {
28085
+ const launched = await this.launchShellAppFromHomeIfNeeded(opts);
28086
+ if (launched) await this.waitForTree(12e4);
28087
+ await this.reloadGuestAppRuntime({
28088
+ launchArguments,
28089
+ initialUrl: null
28090
+ });
28091
+ await this.waitForTree(12e4);
28092
+ } else if (wantsResetRuntime) {
28091
28093
  const launched = await this.launchShellAppFromHomeIfNeeded(opts);
28092
28094
  if (launched) await this.waitForTree(12e4);
28093
- await this.softReloadGuestApp(false);
28095
+ await this.reloadGuestAppRuntime({});
28096
+ await this.waitForTree(12e4);
28097
+ } else if (this.appStopped) {
28098
+ await this.launchShellAppFromHomeIfNeeded(opts);
28099
+ await this.reloadGuestAppRuntime({
28100
+ launchArguments: null,
28101
+ initialUrl: null
28102
+ });
28094
28103
  await this.waitForTree(12e4);
28095
28104
  } else {
28096
28105
  await this.launchShellAppFromHomeIfNeeded(opts);
@@ -28099,7 +28108,15 @@ var init_bridge_flow_runner = __esm({
28099
28108
  } else {
28100
28109
  this.firstLaunchDone = true;
28101
28110
  if (wantsClear) {
28102
- await this.resetGuestAppData();
28111
+ await this.resetGuestAppData({
28112
+ launchArguments: hasLaunchArguments ? launchArguments : null,
28113
+ initialUrl: null
28114
+ });
28115
+ } else if (hasLaunchArguments || this.launchArgumentsActive || this.appStopped) {
28116
+ await this.reloadGuestAppRuntime({
28117
+ launchArguments: hasLaunchArguments ? launchArguments : null,
28118
+ initialUrl: null
28119
+ });
28103
28120
  } else {
28104
28121
  await this.reloadGuestApp();
28105
28122
  }
@@ -28114,6 +28131,8 @@ var init_bridge_flow_runner = __esm({
28114
28131
  }
28115
28132
  }
28116
28133
  }
28134
+ this.appStopped = false;
28135
+ this.launchArgumentsActive = hasLaunchArguments;
28117
28136
  if (this.profilingEnabled) {
28118
28137
  await this.startProfile();
28119
28138
  }
@@ -28201,12 +28220,10 @@ var init_bridge_flow_runner = __esm({
28201
28220
  return result;
28202
28221
  }
28203
28222
  // maestro stopApp: tear down the current app runtime without clearing app
28204
- // data. sootsim has no separate native process, so a hard page reload is the
28205
- // nearest equivalent to killing and later re-launching the tenant runtime.
28206
- // State clearing belongs to clearState / launchApp({ clearState: true }).
28223
+ // data. the next launchApp or openLink creates its replacement worker.
28207
28224
  async stopApp() {
28208
- await this.reloadGuestApp();
28209
- await this.rearmCaptureAfterRuntimeReload();
28225
+ await this.reloadGuestAppRuntime({ relaunch: false });
28226
+ this.appStopped = true;
28210
28227
  }
28211
28228
  // maestro clearState: wipe app-owned storage and relaunch fresh.
28212
28229
  async clearState() {
@@ -28267,6 +28284,17 @@ var init_bridge_flow_runner = __esm({
28267
28284
  async openLink(target) {
28268
28285
  const link = typeof target === "string" ? target : target.link;
28269
28286
  if (!link) throw new Error("openLink: missing link");
28287
+ if (this.appStopped) {
28288
+ await this.reloadGuestAppRuntime({
28289
+ initialUrl: link,
28290
+ launchArguments: null
28291
+ });
28292
+ await this.waitForTree(12e4);
28293
+ this.appStopped = false;
28294
+ this.launchArgumentsActive = false;
28295
+ this.firstLaunchDone = true;
28296
+ return;
28297
+ }
28270
28298
  const result = await this.callTest(
28271
28299
  "openDeepLink",
28272
28300
  link
package/dist-lib/vite.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.355 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.356 | (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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rnxsim",
3
- "version": "0.1.355",
3
+ "version": "0.1.356",
4
4
  "description": "rnx CLI, Vite and Metro plugins, and agent skills for driving React Native apps in the browser.",
5
5
  "author": "Tamagui LLC",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -157,7 +157,7 @@ rnx maestro --env USERNAME=alice test .maestro/login.yaml
157
157
 
158
158
  ### supported verbs
159
159
 
160
- `launchApp`, `stopApp`, `clearState`, `tapOn`, `tapAtCoords`, `longPressOn`, `inputText`,
160
+ `launchApp` (including JSON `arguments`), `stopApp`, `clearState`, `tapOn`, `tapAtCoords`, `longPressOn`, `inputText`,
161
161
  `pressKey`, `dispatchKey`, `hideKeyboard`, `eraseText`, `assertVisible`,
162
162
  `assertNotVisible`, `assertTreeContains`, `waitFor`, `extendedWaitUntil`,
163
163
  `waitForAnimationToEnd`, `scroll`, `scrollUntilVisible`, `scrollTo`,
@@ -173,7 +173,11 @@ interpolation.
173
173
  if a test depends on keychain state being reset, add an explicit
174
174
  in-app "sign out" step instead.
175
175
  - `when.platform` — rnx emulates iOS; android branches are skipped.
176
- - `openLink` navigates `window.location`; no OS-level app routing.
176
+ - `openLink`: app routing works; there is no OS-level browser fallback.
177
+
178
+ `stopApp` keeps the guest runtime stopped. The next `launchApp` starts a fresh
179
+ guest with its replacement arguments, while `openLink` starts it with the URL
180
+ available to React Native Linking during app entry.
177
181
 
178
182
  ### not yet implemented
179
183
 
@@ -8,7 +8,10 @@
8
8
  // (see its `rnxsim` dependency and its `rnxsim/bridge-constants` import), so
9
9
  // this is the direction that ships.
10
10
 
11
- import type { SootSimAgentActionDetail } from '@sootsim/globals'
11
+ import type {
12
+ SootSimAgentActionDetail,
13
+ SootSimExternalAppLifecycleOptions,
14
+ } from '@sootsim/globals'
12
15
 
13
16
  export type BridgeCommandType =
14
17
  | 'evaluate'
@@ -196,7 +199,10 @@ export interface SimStateResult {
196
199
  // claiming the fast path.
197
200
  export type ResetStrategy = 'data' | 'full'
198
201
 
199
- export interface ResetOptions {
202
+ export interface ResetOptions extends Pick<
203
+ SootSimExternalAppLifecycleOptions,
204
+ 'initialUrl' | 'launchArguments'
205
+ > {
200
206
  strategy?: ResetStrategy
201
207
  // relaunch the app after wiping. default true.
202
208
  relaunch?: boolean