rnxsim 0.1.335 → 0.1.337

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 (272) hide show
  1. package/README.md +104 -76
  2. package/cli/auth.ts +2 -2
  3. package/cli/bin.ts +7 -3
  4. package/cli/bridge-flow-runner.ts +2 -2
  5. package/cli/commands/agent-wrapper.ts +1 -1
  6. package/cli/commands/agent.ts +12 -12
  7. package/cli/commands/app-fonts.ts +1 -1
  8. package/cli/commands/assert.ts +7 -7
  9. package/cli/commands/auth.ts +4 -4
  10. package/cli/commands/camera.ts +13 -13
  11. package/cli/commands/cleanup.ts +6 -6
  12. package/cli/commands/compat.ts +4 -4
  13. package/cli/commands/config.ts +2 -2
  14. package/cli/commands/control.ts +37 -43
  15. package/cli/commands/cpu-profile.ts +2 -2
  16. package/cli/commands/daemon-mac-app.ts +2 -2
  17. package/cli/commands/daemon.ts +12 -12
  18. package/cli/commands/debug.ts +22 -22
  19. package/cli/commands/desktop.ts +3 -3
  20. package/cli/commands/detox.ts +17 -17
  21. package/cli/commands/device.ts +9 -9
  22. package/cli/commands/diagnose.ts +11 -11
  23. package/cli/commands/electron.ts +7 -7
  24. package/cli/commands/film.ts +6 -6
  25. package/cli/commands/inspect/core.ts +6 -7
  26. package/cli/commands/inspect/find.ts +2 -2
  27. package/cli/commands/inspect.ts +36 -36
  28. package/cli/commands/install-desktop.ts +8 -8
  29. package/cli/commands/login.ts +6 -6
  30. package/cli/commands/maestro-generate.ts +2 -2
  31. package/cli/commands/maestro.ts +23 -23
  32. package/cli/commands/mode.ts +4 -4
  33. package/cli/commands/no-bridge-hint.ts +9 -9
  34. package/cli/commands/perf.ts +11 -11
  35. package/cli/commands/permissions.ts +5 -5
  36. package/cli/commands/profile.ts +11 -11
  37. package/cli/commands/react.ts +15 -15
  38. package/cli/commands/record.ts +15 -15
  39. package/cli/commands/report-issue.ts +2 -2
  40. package/cli/commands/reset.ts +2 -2
  41. package/cli/commands/runtime.ts +18 -18
  42. package/cli/commands/screenshot-mode.ts +5 -5
  43. package/cli/commands/screenshot.ts +12 -12
  44. package/cli/commands/screenshots-capture.ts +7 -7
  45. package/cli/commands/screenshots.ts +6 -6
  46. package/cli/commands/serve.ts +6 -6
  47. package/cli/commands/setup.ts +13 -15
  48. package/cli/commands/skills.ts +14 -14
  49. package/cli/commands/slides.ts +19 -23
  50. package/cli/commands/state.ts +2 -2
  51. package/cli/commands/storage.ts +3 -3
  52. package/cli/commands/telemetry.ts +1 -1
  53. package/cli/commands/three-mode.ts +16 -16
  54. package/cli/commands/timeline.ts +4 -4
  55. package/cli/commands/upgrade.ts +1 -1
  56. package/cli/commands/upload.ts +11 -11
  57. package/cli/commands/version.ts +3 -5
  58. package/cli/commands/what-happened.ts +11 -11
  59. package/cli/drivers/electron.ts +3 -3
  60. package/cli/hints.ts +8 -8
  61. package/cli/recording-access.ts +1 -1
  62. package/cli/ws-bridge.ts +5 -5
  63. package/dist-cli/bin.js +5 -5
  64. package/dist-cli/chunks/{agent-XSJMAFVA.js → agent-QQ3RJNRY.js} +14 -14
  65. package/dist-cli/chunks/{agent-wrapper-NFLJ5K64.js → agent-wrapper-M6SQSMRY.js} +3 -3
  66. package/dist-cli/chunks/app-fonts-F6NDV3XC.js +4 -0
  67. package/dist-cli/chunks/{assert-ILAXIYB5.js → assert-5VB3KQNK.js} +12 -12
  68. package/dist-cli/chunks/auth-PFXODKFN.js +12 -0
  69. package/dist-cli/chunks/{beta-TDR6UKJU.js → beta-WUWYHT4F.js} +2 -2
  70. package/dist-cli/chunks/camera-V3MMTKP7.js +33 -0
  71. package/dist-cli/chunks/{chunk-INBPUR4T.js → chunk-2ANFH72P.js} +11 -11
  72. package/dist-cli/chunks/chunk-2GIA5T6B.js +74 -0
  73. package/dist-cli/chunks/{chunk-GP6QEBZA.js → chunk-4FRSEZ7Z.js} +1 -1
  74. package/dist-cli/chunks/{chunk-USGOQ3YJ.js → chunk-4GXBZHNA.js} +2 -2
  75. package/dist-cli/chunks/{chunk-R3CMECGC.js → chunk-4HESY5E7.js} +4 -4
  76. package/dist-cli/chunks/{chunk-WKT7YM5Q.js → chunk-4VJEXQGD.js} +1 -1
  77. package/dist-cli/chunks/{chunk-FE6ZHPKD.js → chunk-5LJNNHZH.js} +1 -1
  78. package/dist-cli/chunks/{chunk-I2HQB5NN.js → chunk-5QXGSTYI.js} +2 -2
  79. package/dist-cli/chunks/{chunk-FJSHIWAM.js → chunk-5SHAOQHJ.js} +2 -2
  80. package/dist-cli/chunks/{chunk-CGZWLSYD.js → chunk-5UPRBMIG.js} +1 -1
  81. package/dist-cli/chunks/{chunk-ZTM2MKNI.js → chunk-5ZEFRPCC.js} +1 -1
  82. package/dist-cli/chunks/{chunk-RTD3CPDQ.js → chunk-6ART4XVJ.js} +23 -23
  83. package/dist-cli/chunks/{chunk-MTD6IAEA.js → chunk-6CAUT2LH.js} +1 -1
  84. package/dist-cli/chunks/{chunk-ZYHCWCMM.js → chunk-7ATIH7OU.js} +1 -1
  85. package/dist-cli/chunks/{chunk-RVUGKXJD.js → chunk-7Q4QKHMA.js} +1 -1
  86. package/dist-cli/chunks/{chunk-MTNIDSOA.js → chunk-ABK2V2PR.js} +1 -1
  87. package/dist-cli/chunks/{chunk-TL4DNDDY.js → chunk-B53ILAHI.js} +2 -2
  88. package/dist-cli/chunks/{chunk-POC3QTA6.js → chunk-BSSVLFZR.js} +2 -2
  89. package/dist-cli/chunks/chunk-BVOBXTPN.js +30 -0
  90. package/dist-cli/chunks/{chunk-4KC35DMK.js → chunk-CPDEUWL5.js} +2 -2
  91. package/dist-cli/chunks/{chunk-HNQLZZJA.js → chunk-DINU267S.js} +2 -2
  92. package/dist-cli/chunks/{chunk-DCDKJ4NC.js → chunk-DQQ4CZVC.js} +2 -2
  93. package/dist-cli/chunks/{chunk-JWAY6DIH.js → chunk-EDWN2HOO.js} +18 -18
  94. package/dist-cli/chunks/{chunk-3CS4EUMG.js → chunk-EWVG4A3B.js} +2 -2
  95. package/dist-cli/chunks/{chunk-RTEJXUXN.js → chunk-F3NKCQHM.js} +6 -6
  96. package/dist-cli/chunks/{chunk-M7CBQ5I4.js → chunk-GEAGFYKP.js} +1 -1
  97. package/dist-cli/chunks/chunk-GGNH44PZ.js +5 -0
  98. package/dist-cli/chunks/{chunk-YSUIYK6B.js → chunk-HAHJJJUC.js} +2 -2
  99. package/dist-cli/chunks/chunk-HPJ5EKIZ.js +4 -0
  100. package/dist-cli/chunks/{chunk-IN2PZBQD.js → chunk-IBTHGFKE.js} +2 -2
  101. package/dist-cli/chunks/{chunk-ZZWO6Y7X.js → chunk-J6BYRRZQ.js} +2 -2
  102. package/dist-cli/chunks/{chunk-6Y3PVPTF.js → chunk-JK4OZ2TQ.js} +5 -5
  103. package/dist-cli/chunks/{chunk-PO3TOAED.js → chunk-KGQAO25M.js} +2 -2
  104. package/dist-cli/chunks/{chunk-J7XFINJG.js → chunk-L6UUIQE7.js} +2 -2
  105. package/dist-cli/chunks/{chunk-35XNGT5C.js → chunk-LXYLCETR.js} +1 -1
  106. package/dist-cli/chunks/{chunk-JWK5WD44.js → chunk-LZAL3DMP.js} +2 -2
  107. package/dist-cli/chunks/{chunk-3ZDOPKHE.js → chunk-M43UU7UG.js} +4 -4
  108. package/dist-cli/chunks/{chunk-ROPHZJ6P.js → chunk-M4LGUVBM.js} +2 -2
  109. package/dist-cli/chunks/{chunk-RELRA5VW.js → chunk-NCG6C5AH.js} +2 -2
  110. package/dist-cli/chunks/{chunk-42KDXJUD.js → chunk-NR5TSR2Y.js} +2 -2
  111. package/dist-cli/chunks/{chunk-R2UL5VFY.js → chunk-OCPWXT73.js} +3 -3
  112. package/dist-cli/chunks/{chunk-VV4MXLFR.js → chunk-ODKS6JUJ.js} +1 -1
  113. package/dist-cli/chunks/{chunk-F33DUJGG.js → chunk-R2WBREGQ.js} +1 -1
  114. package/dist-cli/chunks/chunk-RKY3ZNTA.js +5 -0
  115. package/dist-cli/chunks/{chunk-MGGRL2Z2.js → chunk-SW7BHOMO.js} +9 -9
  116. package/dist-cli/chunks/{chunk-GVKISFQ3.js → chunk-TJTLXG3R.js} +1 -1
  117. package/dist-cli/chunks/chunk-TNI4PW75.js +124 -0
  118. package/dist-cli/chunks/{chunk-CL3PREIE.js → chunk-UWEDNDND.js} +2 -2
  119. package/dist-cli/chunks/{chunk-IV36DY6M.js → chunk-WRID5SBV.js} +1 -1
  120. package/dist-cli/chunks/{chunk-42ALI64M.js → chunk-WUYI3XJ5.js} +2 -2
  121. package/dist-cli/chunks/{chunk-6VN5ULGQ.js → chunk-X7MHCEGG.js} +2 -2
  122. package/dist-cli/chunks/chunk-XIQFYLWD.js +15 -0
  123. package/dist-cli/chunks/{chunk-LCVUJCRJ.js → chunk-ZUK5ZQU7.js} +1 -1
  124. package/dist-cli/chunks/{cleanup-X6ZRPFDV.js → cleanup-6WBS3MUO.js} +10 -10
  125. package/dist-cli/chunks/cli-version-HUQCDGMA.js +4 -0
  126. package/dist-cli/chunks/{compat-VRXJ5J56.js → compat-2WOPKJYK.js} +9 -9
  127. package/dist-cli/chunks/{config-LHPPE4EP.js → config-FPD7WUYB.js} +5 -5
  128. package/dist-cli/chunks/{control-TVTNGSSF.js → control-B3XNER7I.js} +2 -2
  129. package/dist-cli/chunks/daemon-T4D4X2P5.js +4 -0
  130. package/dist-cli/chunks/{debug-EUHBBPGM.js → debug-LKV5CEAV.js} +17 -17
  131. package/dist-cli/chunks/desktop-EMDPOYQT.js +31 -0
  132. package/dist-cli/chunks/detox-4J4UTZE7.js +52 -0
  133. package/dist-cli/chunks/{device-PONITUZJ.js → device-PMZ7RPXQ.js} +11 -11
  134. package/dist-cli/chunks/{diagnose-2PN4K4L2.js → diagnose-MLEP727D.js} +12 -12
  135. package/dist-cli/chunks/{disk-cleanup-U2PQLOEW.js → disk-cleanup-CVEDIPEE.js} +2 -2
  136. package/dist-cli/chunks/drivers-NTUKJEL6.js +4 -0
  137. package/dist-cli/chunks/{film-XGZCFTQL.js → film-4RNECABF.js} +9 -9
  138. package/dist-cli/chunks/flow-5IOCAHVO.js +4 -0
  139. package/dist-cli/chunks/help-NUJUYEWP.js +4 -0
  140. package/dist-cli/chunks/{hidden-runtime-alias-I4MYF5CO.js → hidden-runtime-alias-YIF25W4F.js} +2 -2
  141. package/dist-cli/chunks/{home-paths-YRAPZ5LE.js → home-paths-WNJCCCCZ.js} +2 -2
  142. package/dist-cli/chunks/inspect-MFEIYUCN.js +4 -0
  143. package/dist-cli/chunks/install-desktop-NB65KI4D.js +4 -0
  144. package/dist-cli/chunks/{login-ZMAIAQ6F.js → login-VEHHGN42.js} +6 -6
  145. package/dist-cli/chunks/{logout-UQZ5JBJU.js → logout-VE7PNXL2.js} +2 -2
  146. package/dist-cli/chunks/{maestro-BQYKDUC4.js → maestro-ZXHTDEOI.js} +25 -25
  147. package/dist-cli/chunks/{maestro-generate-VQYMMQJ5.js → maestro-generate-TK33E2Z6.js} +3 -3
  148. package/dist-cli/chunks/mode-ZDKJ56NT.js +26 -0
  149. package/dist-cli/chunks/{optional-demo-registry-DUWHCLGD.js → optional-demo-registry-GBZ3WVDW.js} +2 -2
  150. package/dist-cli/chunks/{perf-7RAU7WRZ.js → perf-JXNZOUKW.js} +28 -28
  151. package/dist-cli/chunks/permissions-WQ62PW7Y.js +13 -0
  152. package/dist-cli/chunks/record-4S3ZMDIO.js +72 -0
  153. package/dist-cli/chunks/{report-issue-P376KFFU.js → report-issue-KKBADTWO.js} +4 -4
  154. package/dist-cli/chunks/reset-H5XIISJE.js +4 -0
  155. package/dist-cli/chunks/runtime-FK7EEMWA.js +4 -0
  156. package/dist-cli/chunks/{screenshot-command-NE7BKTQ2.js → screenshot-command-42U5MVQL.js} +34 -34
  157. package/dist-cli/chunks/{screenshot-layers-UE4R64PZ.js → screenshot-layers-4G42AHOX.js} +2 -2
  158. package/dist-cli/chunks/{screenshots-capture-ULXPLXMC.js → screenshots-capture-HMQ2OO3I.js} +11 -11
  159. package/dist-cli/chunks/{serve-P7BT4XHR.js → serve-S4V5EDW2.js} +16 -16
  160. package/dist-cli/chunks/setup-T43V7GA6.js +32 -0
  161. package/dist-cli/chunks/{skills-NTRYKJSF.js → skills-O426K26J.js} +16 -16
  162. package/dist-cli/chunks/{state-4D5YAM47.js → state-ZEEPDKJG.js} +5 -5
  163. package/dist-cli/chunks/storage-4GQLOFGG.js +37 -0
  164. package/dist-cli/chunks/store-RFMSNWLJ.js +4 -0
  165. package/dist-cli/chunks/telemetry-NFAAPSMN.js +4 -0
  166. package/dist-cli/chunks/{timeline-GZNFGD3Q.js → timeline-ONCYX7KW.js} +6 -6
  167. package/dist-cli/chunks/{upgrade-A46D6PEY.js → upgrade-A36T52AM.js} +2 -2
  168. package/dist-cli/chunks/upload-36O32DII.js +4 -0
  169. package/dist-cli/chunks/version-67HA253N.js +6 -0
  170. package/dist-cli/chunks/{web-H2IXO5SC.js → web-PWXQHQIE.js} +2 -2
  171. package/dist-cli/chunks/{what-happened-Z7UII5GH.js → what-happened-WNXE622R.js} +16 -16
  172. package/dist-lib/agent-daemon-client.cjs +5 -5
  173. package/dist-lib/agent-events.cjs +1 -1
  174. package/dist-lib/agent-identity.cjs +1 -1
  175. package/dist-lib/agent-sessions.cjs +4 -4
  176. package/dist-lib/attached-projects.cjs +1 -1
  177. package/dist-lib/auth/shared-session.cjs +1 -1
  178. package/dist-lib/backend-origin.cjs +1 -1
  179. package/dist-lib/beta.cjs +1 -1
  180. package/dist-lib/beta.mjs +1 -1
  181. package/dist-lib/bridge-constants.cjs +1 -1
  182. package/dist-lib/bridge-contract.cjs +1 -1
  183. package/dist-lib/cli-constants.cjs +1 -1
  184. package/dist-lib/config.cjs +1 -1
  185. package/dist-lib/detox/index.cjs +1 -1
  186. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  187. package/dist-lib/home-paths.cjs +1 -1
  188. package/dist-lib/host/bridge-host.cjs +7 -7
  189. package/dist-lib/host/fetch-proxy-handler.cjs +1 -1
  190. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  191. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  192. package/dist-lib/host/websocket-proxy.cjs +1 -1
  193. package/dist-lib/index.cjs +248 -98
  194. package/dist-lib/jump-to-source-babel.cjs +1 -1
  195. package/dist-lib/menu.cjs +2 -2
  196. package/dist-lib/menu.mjs +2 -2
  197. package/dist-lib/metro-host-modules/react-dom.js +6 -0
  198. package/dist-lib/metro-host-modules/react-native-web.js +6 -0
  199. package/dist-lib/metro-host-modules/react-native.js +6 -0
  200. package/dist-lib/metro-host-modules/react.js +6 -0
  201. package/dist-lib/metro-host-modules/react__jsx-dev-runtime.js +6 -0
  202. package/dist-lib/metro-host-modules/react__jsx-runtime.js +6 -0
  203. package/dist-lib/metro-production-bundle.cjs +72 -0
  204. package/dist-lib/metro-production-bundle.mjs +44 -0
  205. package/dist-lib/metro.cjs +152 -8
  206. package/dist-lib/profiles.cjs +1 -1
  207. package/dist-lib/public-brand.cjs +2 -2
  208. package/dist-lib/react-native-host-modules.cjs +50 -0
  209. package/dist-lib/render-mode.cjs +1 -1
  210. package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
  211. package/dist-lib/sdk.cjs +6 -7
  212. package/dist-lib/sdk.mjs +6 -7
  213. package/dist-lib/skills.cjs +71 -77
  214. package/dist-lib/vite.cjs +104 -85
  215. package/package.json +15 -2
  216. package/scripts/preuninstall.cjs +1 -1
  217. package/skills/contrast/SKILL.md +67 -75
  218. package/skills/rnx-debug/SKILL.md +84 -84
  219. package/skills/rnx-perf/SKILL.md +8 -8
  220. package/skills/rnx-setup/SKILL.md +54 -54
  221. package/skills/rnx-test/SKILL.md +35 -35
  222. package/skills/rnx-visual/SKILL.md +18 -18
  223. package/src/agent-daemon-client.ts +2 -2
  224. package/src/agent-sessions.ts +2 -2
  225. package/src/connect.ts +6 -6
  226. package/src/disk-cleanup.ts +1 -1
  227. package/src/home-paths.ts +1 -1
  228. package/src/host/bridge-host.ts +6 -6
  229. package/src/index.ts +1 -1
  230. package/src/metro-host-modules/react-dom.js +6 -0
  231. package/src/metro-host-modules/react-native-web.js +6 -0
  232. package/src/metro-host-modules/react-native.js +6 -0
  233. package/src/metro-host-modules/react.js +6 -0
  234. package/src/metro-host-modules/react__jsx-dev-runtime.js +6 -0
  235. package/src/metro-host-modules/react__jsx-runtime.js +6 -0
  236. package/src/metro-plugin.ts +249 -10
  237. package/src/metro-production-bundle.ts +51 -0
  238. package/src/public-brand.ts +1 -1
  239. package/src/react-native-host-modules.ts +25 -0
  240. package/src/runtime-assets.ts +1 -1
  241. package/src/sim-client.ts +1 -1
  242. package/src/vite-plugin-one.ts +171 -145
  243. package/dist-cli/chunks/app-fonts-L3UXFYVE.js +0 -4
  244. package/dist-cli/chunks/auth-ISX2EUQL.js +0 -12
  245. package/dist-cli/chunks/camera-4SWTNJUA.js +0 -33
  246. package/dist-cli/chunks/chunk-BRHZEZKN.js +0 -124
  247. package/dist-cli/chunks/chunk-EJPYPJWP.js +0 -5
  248. package/dist-cli/chunks/chunk-KWCD5MOK.js +0 -15
  249. package/dist-cli/chunks/chunk-MJ7QGY7Z.js +0 -4
  250. package/dist-cli/chunks/chunk-RSA4XWHN.js +0 -5
  251. package/dist-cli/chunks/chunk-S3EIOAWZ.js +0 -74
  252. package/dist-cli/chunks/chunk-TYANJQLO.js +0 -30
  253. package/dist-cli/chunks/cli-version-NZUSWKZR.js +0 -4
  254. package/dist-cli/chunks/daemon-XUEC47EC.js +0 -4
  255. package/dist-cli/chunks/desktop-LLHMP4A3.js +0 -31
  256. package/dist-cli/chunks/detox-QLNWLXA4.js +0 -52
  257. package/dist-cli/chunks/drivers-7IU37M2E.js +0 -4
  258. package/dist-cli/chunks/flow-NZZLR4BN.js +0 -4
  259. package/dist-cli/chunks/help-D7URIJRD.js +0 -4
  260. package/dist-cli/chunks/inspect-TJYWKY56.js +0 -4
  261. package/dist-cli/chunks/install-desktop-LD3W5RS7.js +0 -4
  262. package/dist-cli/chunks/mode-ZQ6H7KWM.js +0 -26
  263. package/dist-cli/chunks/permissions-DRZ3HCFL.js +0 -13
  264. package/dist-cli/chunks/record-J5JAYW4Y.js +0 -72
  265. package/dist-cli/chunks/reset-KXYRDEFU.js +0 -4
  266. package/dist-cli/chunks/runtime-66CEPOG6.js +0 -4
  267. package/dist-cli/chunks/setup-QO5KZAX3.js +0 -32
  268. package/dist-cli/chunks/storage-X2K2MDPX.js +0 -37
  269. package/dist-cli/chunks/store-TUJPIRTT.js +0 -4
  270. package/dist-cli/chunks/telemetry-CF5DVEKI.js +0 -4
  271. package/dist-cli/chunks/upload-UIQJIBEZ.js +0 -4
  272. package/dist-cli/chunks/version-CMBB3FXL.js +0 -6
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.335 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.337 | (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;
@@ -10322,7 +10322,7 @@ var init_public_brand = __esm({
10322
10322
  rnxPublicBrand = Object.freeze({
10323
10323
  name,
10324
10324
  packageName: "rnxsim",
10325
- commandName: "rnxsim",
10325
+ commandName: "rnx",
10326
10326
  domain: "rnxsim.com",
10327
10327
  origin: "https://rnxsim.com"
10328
10328
  });
@@ -11662,7 +11662,7 @@ function resolveSootsimInvocation() {
11662
11662
  }
11663
11663
  if (!argv1 || argv1.includes("/.bin/")) {
11664
11664
  throw new Error(
11665
- "rnxsim CLI not found. set SOOTSIM_BIN to the path of the rnxsim binary, or build the workspace CLI via `bun run --cwd packages/sootsim build:cli`."
11665
+ "rnx CLI not found. set SOOTSIM_BIN to the path of the rnx binary, or build the workspace CLI via `bun run --cwd packages/sootsim build:cli`."
11666
11666
  );
11667
11667
  }
11668
11668
  return { cmd: argv0, prefixArgs: [] };
@@ -11828,7 +11828,7 @@ async function startSession(opts) {
11828
11828
  if (existingLive) {
11829
11829
  throw new AgentSessionError(
11830
11830
  "ALREADY_RUNNING",
11831
- `session already running for project=${project.id} provider=${provider} (session ${existingLive.id}, pid ${existingLive.wrapperPid}). end it first with \`rnxsim agent end <sessionId>\`.`
11831
+ `session already running for project=${project.id} provider=${provider} (session ${existingLive.id}, pid ${existingLive.wrapperPid}). end it first with \`rnx agent end <sessionId>\`.`
11832
11832
  );
11833
11833
  }
11834
11834
  const claudeSessionUuid = provider === "claude" ? (0, import_node_crypto4.randomUUID)() : void 0;
@@ -13870,7 +13870,7 @@ var init_bridge_host = __esm({
13870
13870
  ws.send(
13871
13871
  JSON.stringify({
13872
13872
  id: msg.id,
13873
- error: `sim ${targetSim.id} is locked by another cli \u2014 use \`rnxsim claim ${targetSim.id} --force\` or \`rnxsim open --new\``,
13873
+ error: `sim ${targetSim.id} is locked by another cli \u2014 use \`rnx claim ${targetSim.id} --force\` or \`rnx open --new\``,
13874
13874
  _locked: outcome.lock
13875
13875
  })
13876
13876
  );
@@ -14505,7 +14505,7 @@ var init_bridge_host = __esm({
14505
14505
  if (!baseDir) {
14506
14506
  res.writeHead(503, { "Content-Type": "text/plain; charset=utf-8" });
14507
14507
  res.end(
14508
- versionedRuntimeRequest ? `rnx: runtime ${requestedRuntime ?? "(invalid version origin)"} is not installed. run \`rnxsim open\` from that app again.` : "rnx: no active runtime installed. run `rnxsim runtime install` to fetch one."
14508
+ versionedRuntimeRequest ? `rnx: runtime ${requestedRuntime ?? "(invalid version origin)"} is not installed. run \`rnx open\` from that app again.` : "rnx: no active runtime installed. run `rnx runtime install` to fetch one."
14509
14509
  );
14510
14510
  return;
14511
14511
  }
@@ -15078,7 +15078,7 @@ var init_bridge_host = __esm({
15078
15078
  const candidates = this.getDefaultSimCandidates();
15079
15079
  if (candidates.length > 1) {
15080
15080
  throw new Error(
15081
- `multiple sims are connected: ${candidates.map((sim) => sim.id).join(", ")}; run \`rnxsim use <sim>\` or pass \`--sim <sim>\``
15081
+ `multiple sims are connected: ${candidates.map((sim) => sim.id).join(", ")}; run \`rnx use <sim>\` or pass \`--sim <sim>\``
15082
15082
  );
15083
15083
  }
15084
15084
  const candidate = candidates[0];
@@ -15776,7 +15776,7 @@ function printBridgeWorldNotice(bridgePort, shellBaseUrl) {
15776
15776
  }
15777
15777
  function describeSimIdSource(source) {
15778
15778
  if (source === "flag") return "via --sim";
15779
- if (source === "saved") return "saved via `rnxsim use`";
15779
+ if (source === "saved") return "saved via `rnx use`";
15780
15780
  return "primary fallback \u2014 no sim pinned";
15781
15781
  }
15782
15782
  function parseBridgeCliArgs(args, opts = {}) {
@@ -15920,7 +15920,7 @@ function createBridge(wsPort, opts = {}) {
15920
15920
  \u26A0 ${msg._otherCliCount} other CLI identity/identities are driving this sim
15921
15921
  taps, scrolls, and keyboard input from multiple agents will collide on
15922
15922
  the same screen state (this is not a bridge throughput limit).
15923
- use \`rnxsim open --new\` for an isolated sim per agent.
15923
+ use \`rnx open --new\` for an isolated sim per agent.
15924
15924
 
15925
15925
  `
15926
15926
  );
@@ -15984,7 +15984,7 @@ function createBridge(wsPort, opts = {}) {
15984
15984
  if (opts.simIdSource !== "flag" && sentSimId && cmd.simId === void 0 && (message === missingSimMessage || message.startsWith(`${missingSimMessage};`))) {
15985
15985
  clearCurrentSimId();
15986
15986
  throw new Error(
15987
- `saved sim ${sentSimId} is gone${message.slice(missingSimMessage.length)}; run \`rnxsim list\` and \`rnxsim use <sim>\`, or open a fresh sim`
15987
+ `saved sim ${sentSimId} is gone${message.slice(missingSimMessage.length)}; run \`rnx list\` and \`rnx use <sim>\`, or open a fresh sim`
15988
15988
  );
15989
15989
  }
15990
15990
  throw error;
@@ -16067,7 +16067,7 @@ async function checkSimHealth(bridge) {
16067
16067
  \u26A0 target sim${health.simId ? ` ${health.simId}` : ""} is hidden (document.hidden = true)
16068
16068
  ` + (health.visibilityState ? ` visibility: ${health.visibilityState}
16069
16069
  ` : "") + " animations and rAF callbacks are throttled \u2014 coordinates may be wrong\n and launch/transition animations will not complete.\n" + (candidate ? ` another open sim looks usable: ${candidate}; target it with --sim.
16070
- ` : " run `rnxsim list` to find the visible sim and target it with --sim.\n") + " page-level window.focus() cannot unhide a browser tab.\n\n"
16070
+ ` : " run `rnx list` to find the visible sim and target it with --sim.\n") + " page-level window.focus() cannot unhide a browser tab.\n\n"
16071
16071
  );
16072
16072
  return { hidden: true, warned: true, simId: health.simId };
16073
16073
  }
@@ -17289,7 +17289,7 @@ var init_core = __esm({
17289
17289
  const loadingSignal = (value) => {
17290
17290
  const text = cleanText(value)
17291
17291
  if (!text) return ''
17292
- return /^(opening app\\b|looking for your app\\b|building bundle\\b|preparing rnxsim runtime\\b|loading native bundle\\b|loading rnx stubs\\b|loading bundle loader\\b|loading native stubs\\b|loading compat bridge\\b|loading react-native shim\\b|loading react bridge\\b|loading reconciler\\b|loading replacement modules\\b|injecting rnx modules\\b|warming sqlite engine\\b|capturing root component\\b|reloading app\\b|loading(?:[.!\u2026]*)?$|connecting(?:[.!\u2026]*)?$)/i.test(text)
17292
+ return /^(opening app\\b|looking for your app\\b|building bundle\\b|preparing rnx runtime\\b|loading native bundle\\b|loading rnx stubs\\b|loading bundle loader\\b|loading native stubs\\b|loading compat bridge\\b|loading react-native shim\\b|loading react bridge\\b|loading reconciler\\b|loading replacement modules\\b|injecting rnx modules\\b|warming sqlite engine\\b|capturing root component\\b|reloading app\\b|loading(?:[.!\u2026]*)?$|connecting(?:[.!\u2026]*)?$)/i.test(text)
17293
17293
  ? text
17294
17294
  : ''
17295
17295
  }
@@ -17849,7 +17849,7 @@ function probe() {
17849
17849
  if (!install) {
17850
17850
  return {
17851
17851
  available: false,
17852
- reason: "rnxsim desktop app not installed (run `rnxsim desktop install`)"
17852
+ reason: "rnx desktop app not installed (run `rnx desktop install`)"
17853
17853
  };
17854
17854
  }
17855
17855
  return {
@@ -17863,7 +17863,7 @@ async function launch(opts) {
17863
17863
  if (!install) {
17864
17864
  return {
17865
17865
  launched: false,
17866
- message: "rnxsim desktop app not installed"
17866
+ message: "rnx desktop app not installed"
17867
17867
  };
17868
17868
  }
17869
17869
  try {
@@ -17897,7 +17897,7 @@ var init_electron = __esm({
17897
17897
  electronDriver = {
17898
17898
  id: "electron",
17899
17899
  name: "electron",
17900
- description: "rnxsim desktop companion app (native window, menu bar)",
17900
+ description: "rnx desktop companion app (native window, menu bar)",
17901
17901
  kind: "native",
17902
17902
  availability: probe,
17903
17903
  launch
@@ -18794,15 +18794,15 @@ async function runRuntime(args, opts = {}) {
18794
18794
  }
18795
18795
  function printHelp() {
18796
18796
  console.log(`
18797
- rnxsim runtime \u2014 manage engine runtimes under ~/.sootsim/runtimes/
18797
+ rnx runtime \u2014 manage engine runtimes under ~/.sootsim/runtimes/
18798
18798
 
18799
18799
  usage:
18800
- rnxsim runtime install [version] install a version (default: channel latest)
18801
- rnxsim runtime list show installed + available versions
18802
- rnxsim runtime use <version> switch active runtime
18803
- rnxsim runtime remove <version> delete an installed runtime
18804
- rnxsim runtime which print active runtime version
18805
- rnxsim runtime notes print repo or default engine release notes
18800
+ rnx runtime install [version] install a version (default: channel latest)
18801
+ rnx runtime list show installed + available versions
18802
+ rnx runtime use <version> switch active runtime
18803
+ rnx runtime remove <version> delete an installed runtime
18804
+ rnx runtime which print active runtime version
18805
+ rnx runtime notes print repo or default engine release notes
18806
18806
 
18807
18807
  flags:
18808
18808
  --channel <name> channel to resolve 'latest' from (default: stable)
@@ -18813,11 +18813,11 @@ environment:
18813
18813
  SOOTSIM_CDN_ORIGIN override the CDN base URL (default: ${DEFAULT_RUNTIME_CDN_ORIGIN})
18814
18814
 
18815
18815
  examples:
18816
- rnxsim runtime install
18817
- rnxsim runtime install 1.2.3
18818
- rnxsim runtime install --channel beta
18819
- rnxsim runtime use 1.2.3
18820
- rnxsim runtime notes
18816
+ rnx runtime install
18817
+ rnx runtime install 1.2.3
18818
+ rnx runtime install --channel beta
18819
+ rnx runtime use 1.2.3
18820
+ rnx runtime notes
18821
18821
  `);
18822
18822
  }
18823
18823
  async function runtimeInstall(args, opts) {
@@ -18826,7 +18826,7 @@ async function runtimeInstall(args, opts) {
18826
18826
  const force = flags.force === true;
18827
18827
  const setActive = flags.setActive !== false;
18828
18828
  ensureSootsimHome();
18829
- console.log(`rnxsim runtime install`);
18829
+ console.log(`rnx runtime install`);
18830
18830
  console.log(` cdn: ${sootsimRuntime.resolveCdnOrigin()}`);
18831
18831
  try {
18832
18832
  const result = await sootsimRuntime.install({
@@ -18936,14 +18936,14 @@ async function runtimeList(_args) {
18936
18936
  async function runtimeUse(args) {
18937
18937
  const version = args[0];
18938
18938
  if (!version) {
18939
- console.error(` usage: rnxsim runtime use <version>`);
18939
+ console.error(` usage: rnx runtime use <version>`);
18940
18940
  process.exit(1);
18941
18941
  }
18942
18942
  const installed2 = sootsimRuntime.listInstalled();
18943
18943
  if (!installed2.includes(version)) {
18944
18944
  console.error(` version ${version} is not installed`);
18945
18945
  console.error(` installed: ${installed2.join(", ") || "(none)"}`);
18946
- console.error(` run \`rnxsim runtime install ${version}\` first`);
18946
+ console.error(` run \`rnx runtime install ${version}\` first`);
18947
18947
  process.exit(1);
18948
18948
  }
18949
18949
  await activateVersion(version);
@@ -18951,14 +18951,14 @@ async function runtimeUse(args) {
18951
18951
  async function runtimeRemove(args) {
18952
18952
  const version = args[0];
18953
18953
  if (!version) {
18954
- console.error(` usage: rnxsim runtime remove <version>`);
18954
+ console.error(` usage: rnx runtime remove <version>`);
18955
18955
  process.exit(1);
18956
18956
  }
18957
18957
  const active = readActiveRuntime();
18958
18958
  if (active === version) {
18959
18959
  console.error(` cannot remove active runtime ${version}`);
18960
18960
  console.error(
18961
- ` switch with \`rnxsim runtime use <other>\` first, or install another version`
18961
+ ` switch with \`rnx runtime use <other>\` first, or install another version`
18962
18962
  );
18963
18963
  process.exit(1);
18964
18964
  }
@@ -18984,7 +18984,7 @@ async function runtimeWhich() {
18984
18984
  }
18985
18985
  async function runtimeNotes(args) {
18986
18986
  if (args.length > 0) {
18987
- console.error(` usage: rnxsim runtime notes`);
18987
+ console.error(` usage: rnx runtime notes`);
18988
18988
  process.exit(1);
18989
18989
  }
18990
18990
  const { config } = await resolveSootSimAppConfig();
@@ -19139,7 +19139,7 @@ async function ensureBridgeForOpen(preferredPort, explicitPort = false) {
19139
19139
  }
19140
19140
  if (lock && isDaemonLockfileFresh(lock)) {
19141
19141
  throw new Error(
19142
- `rnx bridge lockfile is fresh (port ${lock.bridgePort}) but the bridge is not reachable. run \`rnxsim daemon restart\` or \`rnxsim daemon uninstall\`.`
19142
+ `rnx bridge lockfile is fresh (port ${lock.bridgePort}) but the bridge is not reachable. run \`rnx daemon restart\` or \`rnx daemon uninstall\`.`
19143
19143
  );
19144
19144
  }
19145
19145
  await ensureRuntimeForOpen();
@@ -19350,18 +19350,18 @@ function parseOpenRuntimeConfig(args) {
19350
19350
  if (args[i] === "--replace") {
19351
19351
  const raw = args[i + 1];
19352
19352
  if (!raw) {
19353
- console.error(" rnxsim open: --replace expects <module>=<file>");
19353
+ console.error(" rnx open: --replace expects <module>=<file>");
19354
19354
  process.exit(1);
19355
19355
  }
19356
19356
  const eqIndex = raw.indexOf("=");
19357
19357
  if (eqIndex <= 0 || eqIndex === raw.length - 1) {
19358
- console.error(" rnxsim open: --replace expects <module>=<file>");
19358
+ console.error(" rnx open: --replace expects <module>=<file>");
19359
19359
  process.exit(1);
19360
19360
  }
19361
19361
  const moduleName = raw.slice(0, eqIndex).trim();
19362
19362
  const filePath = normalizeReplacementPath(raw.slice(eqIndex + 1).trim());
19363
19363
  if (!import_node_fs14.default.existsSync(filePath)) {
19364
- console.error(` rnxsim open: replacement file not found: ${filePath}`);
19364
+ console.error(` rnx open: replacement file not found: ${filePath}`);
19365
19365
  process.exit(1);
19366
19366
  }
19367
19367
  modules[moduleName] = { file: filePath };
@@ -19372,7 +19372,7 @@ function parseOpenRuntimeConfig(args) {
19372
19372
  const raw = args[i + 1];
19373
19373
  const eqIndex = raw ? raw.indexOf("=") : -1;
19374
19374
  if (!raw || eqIndex <= 0 || eqIndex === raw.length - 1) {
19375
- console.error(" rnxsim open: --remap expects <host:port>=<host:port>");
19375
+ console.error(" rnx open: --remap expects <host:port>=<host:port>");
19376
19376
  process.exit(1);
19377
19377
  }
19378
19378
  remap[raw.slice(0, eqIndex).trim()] = raw.slice(eqIndex + 1).trim();
@@ -19910,7 +19910,7 @@ async function maybeDescribeAfterOpen(wsPort, simId, args) {
19910
19910
  console.log(
19911
19911
  ` app still loading: ${reason} (nodes: ${readyProbe.nodes}, targets: ${readyProbe.targets})`
19912
19912
  );
19913
- console.log(" before interacting, run: rnxsim wait ready --max-ms 120000");
19913
+ console.log(" before interacting, run: rnx wait ready --max-ms 120000");
19914
19914
  }
19915
19915
  }
19916
19916
  const dumpOpts = { describe: true, verbose: false, filter: "" };
@@ -19982,15 +19982,15 @@ async function runLinkCommand(args, opts = {}) {
19982
19982
  commandTimeoutMs: opts.timeoutMs
19983
19983
  });
19984
19984
  if (parsed.positional.length !== 1) {
19985
- console.error(" rnxsim open: expected exactly one <url-or-route>");
19986
- console.error(" examples: rnxsim open /settings | rnxsim open myapp://settings");
19985
+ console.error(" rnx open: expected exactly one <url-or-route>");
19986
+ console.error(" examples: rnx open /settings | rnx open myapp://settings");
19987
19987
  process.exit(1);
19988
19988
  }
19989
19989
  let target;
19990
19990
  try {
19991
19991
  target = normalizeDeepLinkTarget(parsed.positional[0] ?? "");
19992
19992
  } catch (err) {
19993
- console.error(` rnxsim open: ${err instanceof Error ? err.message : String(err)}`);
19993
+ console.error(` rnx open: ${err instanceof Error ? err.message : String(err)}`);
19994
19994
  process.exit(1);
19995
19995
  }
19996
19996
  const bridge = createBridgeFromParsed(parsed);
@@ -20010,9 +20010,9 @@ async function runLinkCommand(args, opts = {}) {
20010
20010
  } catch (err) {
20011
20011
  console.error(` link failed: ${err instanceof Error ? err.message : String(err)}`);
20012
20012
  await printBridgeFailureDiagnostics(bridge, {
20013
- errorsCommand: `rnxsim get errors 5${simHint}`,
20014
- warningsCommand: `rnxsim get warnings 5${simHint}`,
20015
- requestsCommand: `rnxsim get requests 5${simHint}`
20013
+ errorsCommand: `rnx get errors 5${simHint}`,
20014
+ warningsCommand: `rnx get warnings 5${simHint}`,
20015
+ requestsCommand: `rnx get requests 5${simHint}`
20016
20016
  });
20017
20017
  process.exit(1);
20018
20018
  } finally {
@@ -20048,12 +20048,12 @@ async function runOpenCommand(args, opts = {}) {
20048
20048
  const cdpPort = cdpPortArg ? Number(cdpPortArg) : void 0;
20049
20049
  if (cdpPortArg && (!Number.isFinite(cdpPort) || cdpPort <= 0)) {
20050
20050
  console.error(
20051
- ` rnxsim open: --cdp-port must be a positive port number, got "${cdpPortArg}"`
20051
+ ` rnx open: --cdp-port must be a positive port number, got "${cdpPortArg}"`
20052
20052
  );
20053
20053
  process.exit(1);
20054
20054
  }
20055
20055
  if (requestedProfileId && ephemeralProfile) {
20056
- console.error(" rnxsim open: --profile cannot be combined with --ephemeral");
20056
+ console.error(" rnx open: --profile cannot be combined with --ephemeral");
20057
20057
  process.exit(1);
20058
20058
  }
20059
20059
  const profileId = requestedProfileId ? ensureProfile(requestedProfileId).id : void 0;
@@ -20061,7 +20061,7 @@ async function runOpenCommand(args, opts = {}) {
20061
20061
  const commandConfig = parseOpenRuntimeConfig(args);
20062
20062
  if (openInNewSim && parsed.simIdSource === "flag") {
20063
20063
  console.error(
20064
- " rnxsim open: --new, --profile, and --ephemeral cannot be combined with --sim"
20064
+ " rnx open: --new, --profile, and --ephemeral cannot be combined with --sim"
20065
20065
  );
20066
20066
  process.exit(1);
20067
20067
  }
@@ -20069,7 +20069,7 @@ async function runOpenCommand(args, opts = {}) {
20069
20069
  if (shouldOpenAsDeepLink(target)) {
20070
20070
  if (openInNewSim) {
20071
20071
  console.error(
20072
- " rnxsim open: deep links target the current app; remove --new, --profile, or --ephemeral"
20072
+ " rnx open: deep links target the current app; remove --new, --profile, or --ephemeral"
20073
20073
  );
20074
20074
  process.exit(1);
20075
20075
  }
@@ -20085,7 +20085,7 @@ async function runOpenCommand(args, opts = {}) {
20085
20085
  }
20086
20086
  })();
20087
20087
  console.log(
20088
- " that\u2019s an rnxsim preview/build link \u2014 a full player page, not a driveable sim."
20088
+ " that\u2019s an rnx preview/build link \u2014 a full player page, not a driveable sim."
20089
20089
  );
20090
20090
  console.log(" opening it in your browser for viewing\u2026");
20091
20091
  try {
@@ -20098,7 +20098,7 @@ async function runOpenCommand(args, opts = {}) {
20098
20098
  process.exit(1);
20099
20099
  }
20100
20100
  console.log(
20101
- isLocal ? " to drive it under the CLI, point `rnxsim open` at the app\u2019s dev port instead (e.g. `rnxsim open 8081`)." : " the CLI can\u2019t drive a remote preview (the engine only attaches to the local bridge from localhost). to drive the app, run it locally and `rnxsim open <port>`."
20101
+ isLocal ? " to drive it under the CLI, point `rnx open` at the app\u2019s dev port instead (e.g. `rnx open 8081`)." : " the CLI can\u2019t drive a remote preview (the engine only attaches to the local bridge from localhost). to drive the app, run it locally and `rnx open <port>`."
20102
20102
  );
20103
20103
  return;
20104
20104
  }
@@ -20124,27 +20124,25 @@ async function runOpenCommand(args, opts = {}) {
20124
20124
  parsed.wsPort = await ensureBridgeForOpen(parsed.wsPort, parsed.explicitPort);
20125
20125
  const requestedDriverId = args.find((_, i) => args[i - 1] === "--driver") || "";
20126
20126
  if (requestedDriverId && !isDriverId(requestedDriverId)) {
20127
- console.error(
20128
- ` unknown driver "${requestedDriverId}" \u2014 run \`rnxsim list --drivers\``
20129
- );
20127
+ console.error(` unknown driver "${requestedDriverId}" \u2014 run \`rnx list --drivers\``);
20130
20128
  process.exit(1);
20131
20129
  }
20132
20130
  const driverId = isDriverId(requestedDriverId) ? requestedDriverId : "playwright";
20133
20131
  const driverHeadless = resolveDriverHeadless(args, driverId);
20134
20132
  if (cdpPort && driverId !== "playwright") {
20135
- console.error(" rnxsim open: --cdp-port is only honored by the playwright driver");
20133
+ console.error(" rnx open: --cdp-port is only honored by the playwright driver");
20136
20134
  process.exit(1);
20137
20135
  }
20138
20136
  const hotFlag = args.includes("--hot");
20139
20137
  const noHmrFlag = args.includes("--no-hmr");
20140
20138
  if (hotFlag && noHmrFlag) {
20141
- console.error(" rnxsim open: --hot and --no-hmr cannot be combined");
20139
+ console.error(" rnx open: --hot and --no-hmr cannot be combined");
20142
20140
  process.exit(1);
20143
20141
  }
20144
20142
  const hotMode = hotFlag ? true : noHmrFlag ? false : requestedDriverId !== "playwright";
20145
20143
  const deviceArg = args.find((_, i) => args[i - 1] === "--device");
20146
20144
  if (deviceArg && !(deviceArg in import_settings.devices)) {
20147
- console.error(` rnxsim open: unknown device "${deviceArg}"`);
20145
+ console.error(` rnx open: unknown device "${deviceArg}"`);
20148
20146
  console.error(` known devices: ${(0, import_settings.listSelectableDeviceModels)().join(", ")}`);
20149
20147
  process.exit(1);
20150
20148
  }
@@ -20152,9 +20150,7 @@ async function runOpenCommand(args, opts = {}) {
20152
20150
  const viewportArg = args.find((_, i) => args[i - 1] === "--viewport");
20153
20151
  const viewportMatch = viewportArg ? /^(\d+)x(\d+)$/.exec(viewportArg) : null;
20154
20152
  if (viewportArg && !viewportMatch) {
20155
- console.error(
20156
- ` rnxsim open: --viewport must be <width>x<height>, got "${viewportArg}"`
20157
- );
20153
+ console.error(` rnx open: --viewport must be <width>x<height>, got "${viewportArg}"`);
20158
20154
  process.exit(1);
20159
20155
  }
20160
20156
  const explicitViewport = viewportMatch ? { width: Number(viewportMatch[1]), height: Number(viewportMatch[2]) } : void 0;
@@ -20244,9 +20240,9 @@ async function runOpenCommand(args, opts = {}) {
20244
20240
  ` open failed: ${err instanceof Error ? err.message : String(err)}`
20245
20241
  );
20246
20242
  await printBridgeFailureDiagnostics(bridge, {
20247
- errorsCommand: `rnxsim get errors 5${simHint}`,
20248
- warningsCommand: `rnxsim get warnings 5${simHint}`,
20249
- requestsCommand: `rnxsim get requests 5${simHint}`
20243
+ errorsCommand: `rnx get errors 5${simHint}`,
20244
+ warningsCommand: `rnx get warnings 5${simHint}`,
20245
+ requestsCommand: `rnx get requests 5${simHint}`
20250
20246
  });
20251
20247
  process.exit(1);
20252
20248
  }
@@ -20290,7 +20286,7 @@ async function runOpenCommand(args, opts = {}) {
20290
20286
  const simMatchesToken = (sim) => sim.url?.includes(`inspectOpen=${token}`) ?? false;
20291
20287
  const driver = getDriver(driverId);
20292
20288
  if (!driver) {
20293
- console.error(` unknown driver "${driverId}" \u2014 run \`rnxsim list --drivers\``);
20289
+ console.error(` unknown driver "${driverId}" \u2014 run \`rnx list --drivers\``);
20294
20290
  process.exit(1);
20295
20291
  }
20296
20292
  const connectWait = resolveDriverConnectWaitOptions();
@@ -20364,7 +20360,7 @@ async function runUseLikeCommand(args, opts = {}) {
20364
20360
  console.error(
20365
20361
  ` refused: ${target.id} is locked by the active user (${secs}s) \u2014 that's a live human tab`
20366
20362
  );
20367
- console.error(` run \`rnxsim open --new\` for a fresh investigation sim`);
20363
+ console.error(` run \`rnx open --new\` for a fresh investigation sim`);
20368
20364
  process.exit(1);
20369
20365
  }
20370
20366
  if (!force) {
@@ -20372,7 +20368,7 @@ async function runUseLikeCommand(args, opts = {}) {
20372
20368
  ` refused: ${target.id} is leased by ${target.lockedBy} (${secs}s)`
20373
20369
  );
20374
20370
  console.error(
20375
- ` \`sootsim use ${target.id} --force\` to take it, or \`rnxsim open --new\` for a fresh sim`
20371
+ ` \`sootsim use ${target.id} --force\` to take it, or \`rnx open --new\` for a fresh sim`
20376
20372
  );
20377
20373
  process.exit(1);
20378
20374
  }
@@ -20383,9 +20379,9 @@ async function runUseLikeCommand(args, opts = {}) {
20383
20379
  } catch (err) {
20384
20380
  console.error(` use failed: ${err instanceof Error ? err.message : String(err)}`);
20385
20381
  await printBridgeFailureDiagnostics(bridge, {
20386
- errorsCommand: `rnxsim get errors 5${simHint}`,
20387
- warningsCommand: `rnxsim get warnings 5${simHint}`,
20388
- requestsCommand: `rnxsim get requests 5${simHint}`
20382
+ errorsCommand: `rnx get errors 5${simHint}`,
20383
+ warningsCommand: `rnx get warnings 5${simHint}`,
20384
+ requestsCommand: `rnx get requests 5${simHint}`
20389
20385
  });
20390
20386
  process.exit(1);
20391
20387
  }
@@ -20424,9 +20420,7 @@ async function runClaimCommand(args, opts = {}) {
20424
20420
  if (err instanceof BridgeSimLockedError) {
20425
20421
  const secs = Math.max(0, Math.round(err.lock.expiresInMs / 1e3));
20426
20422
  console.error(` claim failed: locked by ${err.lock.by} for ${secs}s more`);
20427
- console.error(
20428
- ` use --force to take it, or \`rnxsim open --new\` for a fresh sim`
20429
- );
20423
+ console.error(` use --force to take it, or \`rnx open --new\` for a fresh sim`);
20430
20424
  process.exit(1);
20431
20425
  }
20432
20426
  console.error(` claim failed: ${err instanceof Error ? err.message : String(err)}`);
@@ -20598,9 +20592,9 @@ async function runCloseCommand(args, opts = {}) {
20598
20592
  } catch (err) {
20599
20593
  console.error(` close failed: ${err instanceof Error ? err.message : String(err)}`);
20600
20594
  await printBridgeFailureDiagnostics(bridge, {
20601
- errorsCommand: `rnxsim get errors 5${simHint}`,
20602
- warningsCommand: `rnxsim get warnings 5${simHint}`,
20603
- requestsCommand: `rnxsim get requests 5${simHint}`
20595
+ errorsCommand: `rnx get errors 5${simHint}`,
20596
+ warningsCommand: `rnx get warnings 5${simHint}`,
20597
+ requestsCommand: `rnx get requests 5${simHint}`
20604
20598
  });
20605
20599
  process.exit(1);
20606
20600
  }
@@ -21623,7 +21617,7 @@ async function ensureCliRecordingEntitlement(commandLabel, opts = {}) {
21623
21617
  rnx ${commandLabel} needs auth before it can check recording access.
21624
21618
 
21625
21619
  pick one:
21626
- \u2022 run \`rnxsim login\`
21620
+ \u2022 run \`rnx login\`
21627
21621
  \u2022 set RNX_API_KEY=sk_rnx_... (recommended for CI)
21628
21622
 
21629
21623
  `
@@ -21964,7 +21958,7 @@ var init_bridge_flow_runner = __esm({
21964
21958
  consecutiveBridgeFailures++;
21965
21959
  if (consecutiveBridgeFailures >= 4) {
21966
21960
  throw new Error(
21967
- `target sim is not responding to the bridge (${lastError.message}). it is likely a stale orphan \u2014 run \`rnxsim list\`, then close it with \`rnxsim close <id>\` or start a fresh one with \`rnxsim open --new <port>\`.`
21961
+ `target sim is not responding to the bridge (${lastError.message}). it is likely a stale orphan \u2014 run \`rnx list\`, then close it with \`rnx close <id>\` or start a fresh one with \`rnx open --new <port>\`.`
21968
21962
  );
21969
21963
  }
21970
21964
  await this.refreshSimId();