rnxsim 0.1.369 → 0.1.370
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli/auth.ts +2 -1
- package/cli/bin.ts +283 -273
- package/cli/commands/app-fonts.ts +3 -2
- package/cli/commands/assert.ts +8 -7
- package/cli/commands/auth.ts +2 -1
- package/cli/commands/box/checkout-plane.ts +45 -16
- package/cli/commands/config.ts +2 -1
- package/cli/commands/control.ts +37 -33
- package/cli/commands/daemon.ts +22 -21
- package/cli/commands/debug.ts +17 -15
- package/cli/commands/detox.ts +5 -4
- package/cli/commands/device.ts +6 -5
- package/cli/commands/electron.ts +6 -5
- package/cli/commands/flow.ts +12 -11
- package/cli/commands/inspect/find.ts +2 -1
- package/cli/commands/inspect/keyboard.ts +2 -1
- package/cli/commands/inspect/sleep.ts +2 -1
- package/cli/commands/inspect/wait-event.ts +4 -3
- package/cli/commands/inspect/wait-idle.ts +2 -1
- package/cli/commands/inspect/wait-ready.ts +3 -2
- package/cli/commands/inspect/wait-selector.ts +4 -3
- package/cli/commands/inspect/wait.ts +2 -1
- package/cli/commands/inspect.ts +82 -80
- package/cli/commands/install-desktop.ts +5 -4
- package/cli/commands/login.ts +3 -2
- package/cli/commands/mode.ts +2 -1
- package/cli/commands/record.ts +38 -37
- package/cli/commands/runtime.ts +9 -8
- package/cli/commands/screenshot-layers.ts +4 -3
- package/cli/commands/screenshot-mode.ts +2 -1
- package/cli/commands/screenshot.ts +8 -7
- package/cli/commands/screenshots-capture.ts +2 -1
- package/cli/commands/serve.ts +5 -4
- package/cli/commands/shell-boolean-mode.ts +2 -1
- package/cli/commands/skills.ts +11 -10
- package/cli/commands/telemetry.ts +2 -1
- package/cli/commands/three-mode.ts +2 -1
- package/cli/commands/timeline.ts +4 -3
- package/cli/commands/upload.ts +14 -13
- package/cli/commands/what-happened.ts +2 -1
- package/cli/recording-access.ts +6 -5
- package/cli/run-rnx.ts +140 -0
- package/dist-cli/bin.js +6 -6
- package/dist-cli/chunks/{agent-OUUFWDLF.js → agent-3R4424LW.js} +2 -2
- package/dist-cli/chunks/{agent-wrapper-7BE7DR4R.js → agent-wrapper-4PPWZWSY.js} +2 -2
- package/dist-cli/chunks/app-fonts-KYXB6CXQ.js +4 -0
- package/dist-cli/chunks/{assert-I3CMRNS7.js → assert-7EZOWGYQ.js} +11 -11
- package/dist-cli/chunks/auth-L7M36H6C.js +12 -0
- package/dist-cli/chunks/{beta-BHSKY4K4.js → beta-FKAF6YWJ.js} +2 -2
- package/dist-cli/chunks/{box-3CVWXVTT.js → box-5Y5VBMHV.js} +342 -342
- package/dist-cli/chunks/{camera-MNK73TYV.js → camera-XHF2RPFG.js} +2 -2
- package/dist-cli/chunks/{chunk-NPVEBXU3.js → chunk-2FOGXVOK.js} +2 -2
- package/dist-cli/chunks/{chunk-UDXQCEJU.js → chunk-3BG6UCQY.js} +2 -2
- package/dist-cli/chunks/{chunk-V7I4CTAX.js → chunk-3SOPYG7S.js} +2 -2
- package/dist-cli/chunks/{chunk-QE5MC4V3.js → chunk-3UXXYJVD.js} +1 -1
- package/dist-cli/chunks/{chunk-EKAEEWC2.js → chunk-5BR33NAZ.js} +1 -1
- package/dist-cli/chunks/{chunk-FGGESBWD.js → chunk-5RKRVS5A.js} +2 -2
- package/dist-cli/chunks/{chunk-MXWME7ET.js → chunk-64JAEJ6N.js} +1 -1
- package/dist-cli/chunks/{chunk-AKJYEX54.js → chunk-6A6L3VJR.js} +2 -2
- package/dist-cli/chunks/chunk-6GPS7U4X.js +74 -0
- package/dist-cli/chunks/{chunk-OROUEG22.js → chunk-6S5LJV2O.js} +2 -2
- package/dist-cli/chunks/{chunk-ZW6JXEVX.js → chunk-6W4HIWC7.js} +2 -2
- package/dist-cli/chunks/{chunk-6BMM6OCW.js → chunk-72S5FCBY.js} +2 -2
- package/dist-cli/chunks/{chunk-TBK5UXW2.js → chunk-7C7TJYZ3.js} +2 -2
- package/dist-cli/chunks/{chunk-D6MGELKZ.js → chunk-AALKIAUZ.js} +1 -1
- package/dist-cli/chunks/{chunk-WUR4FXWT.js → chunk-ARMXC3C3.js} +25 -25
- package/dist-cli/chunks/chunk-AVJBT5LF.js +4 -0
- package/dist-cli/chunks/chunk-BMIJZNKD.js +28 -0
- package/dist-cli/chunks/{chunk-N5KDDGV6.js → chunk-C7BA5CCM.js} +2 -2
- package/dist-cli/chunks/{chunk-F4OTMARL.js → chunk-CMVRTZ5G.js} +2 -2
- package/dist-cli/chunks/chunk-D24EOJ4C.js +24 -0
- package/dist-cli/chunks/{chunk-A56GQVNF.js → chunk-D2GZASRV.js} +1 -1
- package/dist-cli/chunks/{chunk-IYPMULI7.js → chunk-DHYTRCIP.js} +2 -2
- package/dist-cli/chunks/{chunk-X3PEDNLV.js → chunk-DMHSD6YJ.js} +2 -2
- package/dist-cli/chunks/{chunk-YPBDPVLR.js → chunk-DUXHYPBP.js} +2 -2
- package/dist-cli/chunks/{chunk-4SCVGBOX.js → chunk-DXV37CJN.js} +1 -1
- package/dist-cli/chunks/{chunk-H2GB2PLY.js → chunk-EOIBLKZO.js} +2 -2
- package/dist-cli/chunks/{chunk-UQJY6O72.js → chunk-EQ3OE2AV.js} +1 -1
- package/dist-cli/chunks/{chunk-3454VMHD.js → chunk-EWSWOWXK.js} +2 -2
- package/dist-cli/chunks/{chunk-FHRG772G.js → chunk-FA75F34Z.js} +1 -1
- package/dist-cli/chunks/{chunk-LU3AHE6T.js → chunk-FK4JSTZ3.js} +2 -2
- package/dist-cli/chunks/{chunk-AJJCYLBC.js → chunk-GJRLPJQL.js} +2 -2
- package/dist-cli/chunks/{chunk-WGE2P25F.js → chunk-GRO74J2X.js} +1 -1
- package/dist-cli/chunks/chunk-H5X5FJ63.js +99 -0
- package/dist-cli/chunks/chunk-HEKHLQ3B.js +497 -0
- package/dist-cli/chunks/chunk-HQQTS2CB.js +30 -0
- package/dist-cli/chunks/{chunk-DKSZZABN.js → chunk-I52NT6VG.js} +1 -1
- package/dist-cli/chunks/{chunk-A72MIIJI.js → chunk-IDLFVRPN.js} +1 -1
- package/dist-cli/chunks/{chunk-6F3WOWFC.js → chunk-JZLDHPB7.js} +2 -2
- package/dist-cli/chunks/{chunk-ZNNE5MAV.js → chunk-LIMWG54N.js} +1 -1
- package/dist-cli/chunks/{chunk-TTUZ5MCK.js → chunk-LUOHRBJG.js} +1 -1
- package/dist-cli/chunks/{chunk-B5NW4TT3.js → chunk-LXPHL6FO.js} +2 -2
- package/dist-cli/chunks/{chunk-TAC4CEIX.js → chunk-MDCY532E.js} +2 -2
- package/dist-cli/chunks/{chunk-45X3D6CI.js → chunk-NJMU5BN6.js} +1 -1
- package/dist-cli/chunks/{chunk-2APXX4RN.js → chunk-NR2V2ONN.js} +2 -2
- package/dist-cli/chunks/{chunk-JH5KE2OI.js → chunk-NTC46LSA.js} +2 -2
- package/dist-cli/chunks/{chunk-RV76U3EI.js → chunk-O6QLKSAM.js} +10 -10
- package/dist-cli/chunks/{chunk-ZEF57HQO.js → chunk-OJZHECGH.js} +1 -1
- package/dist-cli/chunks/chunk-OTFTMGAL.js +7 -0
- package/dist-cli/chunks/{chunk-RYGQ6LZN.js → chunk-PAUEZO6F.js} +2 -2
- package/dist-cli/chunks/{chunk-CCI3DZKE.js → chunk-PIZXOXBL.js} +2 -2
- package/dist-cli/chunks/{chunk-JLOOLA47.js → chunk-PNOENVMJ.js} +1 -1
- package/dist-cli/chunks/{chunk-YLNSLMQM.js → chunk-Q4MRJ6PO.js} +2 -2
- package/dist-cli/chunks/{chunk-5QFJFASW.js → chunk-RRX52O37.js} +1 -1
- package/dist-cli/chunks/{chunk-FBMNYSSW.js → chunk-U63T6LIQ.js} +1 -1
- package/dist-cli/chunks/{chunk-2PVVIPQS.js → chunk-UFVAAWGZ.js} +1 -1
- package/dist-cli/chunks/{chunk-CZ2HCNRK.js → chunk-VVQCZ42C.js} +1 -1
- package/dist-cli/chunks/{chunk-USHV3QFZ.js → chunk-WFQHT4QD.js} +2 -2
- package/dist-cli/chunks/{chunk-DCPDMF27.js → chunk-WPV4H5S4.js} +2 -2
- package/dist-cli/chunks/{chunk-SSBZA5VZ.js → chunk-X6WQ4YWE.js} +1 -1
- package/dist-cli/chunks/{chunk-VGJLCFSC.js → chunk-YIZGNT7A.js} +1 -1
- package/dist-cli/chunks/{chunk-JXARZBWS.js → chunk-Z2VBSNFI.js} +1 -1
- package/dist-cli/chunks/{chunk-4G4VCT2M.js → chunk-Z3DENGXW.js} +2 -2
- package/dist-cli/chunks/{cleanup-H4XFRMZV.js → cleanup-MXMMJ7JW.js} +2 -2
- package/dist-cli/chunks/cli-version-MLS55UTY.js +4 -0
- package/dist-cli/chunks/{compat-NKGYERLN.js → compat-E6KE5KDI.js} +2 -2
- package/dist-cli/chunks/config-QSLLVZDS.js +13 -0
- package/dist-cli/chunks/{connect-WWWAVVCF.js → connect-QE4VU6GB.js} +2 -2
- package/dist-cli/chunks/control-XD5F6K5T.js +4 -0
- package/dist-cli/chunks/daemon-UN5SE2JO.js +4 -0
- package/dist-cli/chunks/{debug-RO6GLDIM.js → debug-5FG3MBJS.js} +20 -20
- package/dist-cli/chunks/desktop-5EZX7NX5.js +31 -0
- package/dist-cli/chunks/detox-WJGQP5TM.js +52 -0
- package/dist-cli/chunks/device-D7LKCAMS.js +18 -0
- package/dist-cli/chunks/{diagnose-HDRTUPDO.js → diagnose-A3W6ZTGA.js} +2 -2
- package/dist-cli/chunks/{disk-cleanup-QP2NYN43.js → disk-cleanup-BDRHX5ZG.js} +2 -2
- package/dist-cli/chunks/{do-chain-6LP6SV5J.js → do-chain-RUJNRPPF.js} +2 -2
- package/dist-cli/chunks/drivers-3NJ5RL6X.js +4 -0
- package/dist-cli/chunks/{env-4XD5D2G6.js → env-U67SQVTV.js} +2 -2
- package/dist-cli/chunks/{film-I5SIXLS5.js → film-XC6UAQ3V.js} +3 -3
- package/dist-cli/chunks/flow-FHZZD3P6.js +4 -0
- package/dist-cli/chunks/help-BYYDUSXF.js +4 -0
- package/dist-cli/chunks/{hidden-runtime-alias-LJV2S4M2.js → hidden-runtime-alias-7S2TNZXG.js} +2 -2
- package/dist-cli/chunks/{home-paths-RFI2QRC3.js → home-paths-LMO5LB4F.js} +2 -2
- package/dist-cli/chunks/inspect-RQCTWDCC.js +4 -0
- package/dist-cli/chunks/install-desktop-GOWXCQUE.js +4 -0
- package/dist-cli/chunks/login-JIU42S4C.js +26 -0
- package/dist-cli/chunks/{logout-DKXZZ6HU.js → logout-JTAWQXZO.js} +2 -2
- package/dist-cli/chunks/{maestro-WKGVVWRA.js → maestro-TYBQYOGB.js} +3 -3
- package/dist-cli/chunks/{maestro-generate-KCK6RK2C.js → maestro-generate-YLAGWVKE.js} +3 -3
- package/dist-cli/chunks/mode-DV24ZRZ6.js +26 -0
- package/dist-cli/chunks/{optional-demo-registry-EUSKBIPP.js → optional-demo-registry-JZH66VIM.js} +2 -2
- package/dist-cli/chunks/{perf-IMZMA5MT.js → perf-LXXJ4EAX.js} +2 -2
- package/dist-cli/chunks/{permissions-SLWXTLH6.js → permissions-KAOVZUPW.js} +2 -2
- package/dist-cli/chunks/{platform-HQ735LAE.js → platform-KW35446W.js} +3 -3
- package/dist-cli/chunks/privacy-MIFE72CG.js +4 -0
- package/dist-cli/chunks/record-EK3ETFHZ.js +72 -0
- package/dist-cli/chunks/report-issue-NW5PCAZF.js +29 -0
- package/dist-cli/chunks/reset-RZ4O5AFJ.js +4 -0
- package/dist-cli/chunks/resolve-target-7R5BNYMM.js +4 -0
- package/dist-cli/chunks/runtime-MZHLSRS6.js +4 -0
- package/dist-cli/chunks/{screenshot-command-HAJB5FHK.js → screenshot-command-TQSPTFT2.js} +11 -11
- package/dist-cli/chunks/screenshot-layers-IZP3L3AQ.js +20 -0
- package/dist-cli/chunks/screenshots-capture-K7LJOVAE.js +42 -0
- package/dist-cli/chunks/{serve-TM46TKFW.js → serve-MMX4WXXG.js} +18 -18
- package/dist-cli/chunks/setup-YFP3KEQZ.js +4 -0
- package/dist-cli/chunks/{sim-client-LQUZSO45.js → sim-client-KLAYIFOC.js} +2 -2
- package/dist-cli/chunks/skills-N4D3POIS.js +50 -0
- package/dist-cli/chunks/{state-RUVM4Z4S.js → state-ES6TFQZF.js} +2 -2
- package/dist-cli/chunks/{storage-GQ33UTYN.js → storage-52DR5V2C.js} +2 -2
- package/dist-cli/chunks/store-HOL45WCI.js +4 -0
- package/dist-cli/chunks/telemetry-BV6OTYPF.js +4 -0
- package/dist-cli/chunks/timeline-NRVNB5JR.js +24 -0
- package/dist-cli/chunks/{upgrade-AZDZLUIT.js → upgrade-LNED5YQ2.js} +2 -2
- package/dist-cli/chunks/upload-RXKHFIBU.js +4 -0
- package/dist-cli/chunks/{version-N3ALB75G.js → version-VEF2DYGG.js} +2 -2
- package/dist-cli/chunks/{web-XPHFZATA.js → web-CGDE6S73.js} +2 -2
- package/dist-cli/chunks/welcome-FT2AMUWW.js +5 -0
- package/dist-cli/chunks/what-happened-FSIDWL32.js +25 -0
- package/dist-cli/chunks/{ws-bridge-RUXOYOU6.js → ws-bridge-QXFQLRE7.js} +2 -2
- package/dist-lib/agent-daemon-client.cjs +1 -1
- package/dist-lib/agent-events.cjs +1 -1
- package/dist-lib/agent-identity.cjs +1 -1
- package/dist-lib/agent-sessions.cjs +1 -1
- package/dist-lib/attached-projects.cjs +1 -1
- package/dist-lib/auth/shared-session.cjs +1 -1
- package/dist-lib/backend-origin.cjs +1 -1
- package/dist-lib/beta.cjs +1 -1
- package/dist-lib/beta.mjs +1 -1
- package/dist-lib/bridge-constants.cjs +1 -1
- package/dist-lib/bridge-contract-input.cjs +1 -1
- package/dist-lib/bridge-contract-input.mjs +1 -1
- package/dist-lib/bridge-contract.cjs +1 -1
- package/dist-lib/bridge-contract.mjs +1 -1
- package/dist-lib/cli-constants.cjs +1 -1
- package/dist-lib/config.cjs +1 -1
- package/dist-lib/detox/index.cjs +1 -1
- package/dist-lib/dev-bundle-resolution.cjs +1 -1
- package/dist-lib/home-paths.cjs +1 -1
- package/dist-lib/host/bridge-host.cjs +1 -1
- package/dist-lib/host/fetch-proxy-handler.cjs +1 -1
- package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
- package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
- package/dist-lib/host/replacement-module-handler.cjs +1 -1
- package/dist-lib/host/websocket-proxy.cjs +1 -1
- package/dist-lib/index.cjs +1 -1
- package/dist-lib/jump-to-source-babel.cjs +1 -1
- package/dist-lib/menu.cjs +1 -1
- package/dist-lib/menu.mjs +1 -1
- package/dist-lib/metro-production-bundle.cjs +1 -1
- package/dist-lib/metro-production-bundle.mjs +1 -1
- package/dist-lib/metro.cjs +1 -1
- package/dist-lib/profiles.cjs +1 -1
- package/dist-lib/public-brand.cjs +1 -1
- package/dist-lib/react-native-host-modules.cjs +2 -1
- package/dist-lib/react-native-host-modules.mjs +2 -1
- package/dist-lib/render-mode.cjs +1 -1
- package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
- package/dist-lib/sdk.cjs +1 -1
- package/dist-lib/sdk.mjs +1 -1
- package/dist-lib/skills.cjs +79 -47
- package/dist-lib/vite.cjs +1 -1
- package/package.json +1 -1
- package/src/react-native-host-modules.ts +1 -0
- package/dist-cli/chunks/app-fonts-66V7TL26.js +0 -4
- package/dist-cli/chunks/auth-3FMWUVJH.js +0 -12
- package/dist-cli/chunks/chunk-3NLB5LCN.js +0 -28
- package/dist-cli/chunks/chunk-5RWUFIZW.js +0 -24
- package/dist-cli/chunks/chunk-COXCR6UU.js +0 -7
- package/dist-cli/chunks/chunk-ROISJKH3.js +0 -99
- package/dist-cli/chunks/chunk-SUHAD6N2.js +0 -30
- package/dist-cli/chunks/chunk-TIB3CTRX.js +0 -497
- package/dist-cli/chunks/chunk-YFZLDFZK.js +0 -74
- package/dist-cli/chunks/cli-version-MJWLDXBW.js +0 -4
- package/dist-cli/chunks/config-WK7467KI.js +0 -13
- package/dist-cli/chunks/control-ESI7IZNN.js +0 -4
- package/dist-cli/chunks/daemon-UCLO27YP.js +0 -4
- package/dist-cli/chunks/desktop-FF34Z5X4.js +0 -31
- package/dist-cli/chunks/detox-Q3CWY5UX.js +0 -52
- package/dist-cli/chunks/device-WN4ZWLES.js +0 -18
- package/dist-cli/chunks/drivers-OR2JPAXD.js +0 -4
- package/dist-cli/chunks/flow-4GWW5DYT.js +0 -4
- package/dist-cli/chunks/help-MIIWOT3C.js +0 -4
- package/dist-cli/chunks/inspect-3ZGNJENJ.js +0 -4
- package/dist-cli/chunks/install-desktop-BYOJVTLS.js +0 -4
- package/dist-cli/chunks/login-GNIFSAFE.js +0 -26
- package/dist-cli/chunks/mode-YVMX7OJY.js +0 -26
- package/dist-cli/chunks/privacy-EDC7PF7G.js +0 -4
- package/dist-cli/chunks/record-N4KTTVDI.js +0 -72
- package/dist-cli/chunks/report-issue-PP752HAD.js +0 -29
- package/dist-cli/chunks/reset-DRMKGVP4.js +0 -4
- package/dist-cli/chunks/resolve-target-7WWI32R3.js +0 -4
- package/dist-cli/chunks/runtime-EKJV2ZVI.js +0 -4
- package/dist-cli/chunks/screenshot-layers-GOCJVM2G.js +0 -20
- package/dist-cli/chunks/screenshots-capture-YYJLYA3V.js +0 -42
- package/dist-cli/chunks/setup-FVPVIYE4.js +0 -4
- package/dist-cli/chunks/skills-V5TE57FN.js +0 -50
- package/dist-cli/chunks/store-IKNBDDKM.js +0 -4
- package/dist-cli/chunks/telemetry-2ZVU6WLK.js +0 -4
- package/dist-cli/chunks/timeline-LP7DMJYT.js +0 -24
- package/dist-cli/chunks/upload-DFQK2Q7X.js +0 -4
- package/dist-cli/chunks/welcome-2NFYLWLJ.js +0 -5
- package/dist-cli/chunks/what-happened-EJ5PHKT7.js +0 -25
package/cli/auth.ts
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
// callers wanting an auth header: `authHeaderOrExit('upload')`.
|
|
10
10
|
|
|
11
11
|
import { readSharedDesktopAuthSession } from '../src/auth/shared-session'
|
|
12
|
+
import { rnxExit } from './run-rnx'
|
|
12
13
|
|
|
13
14
|
export type CliApiKeyEnvName = 'RNX_API_KEY' | 'SOOTSIM_API_KEY'
|
|
14
15
|
|
|
@@ -151,5 +152,5 @@ export function authHeaderOrExit(commandLabel: string): {
|
|
|
151
152
|
` • run \`rnx login\` to sign in with your GH account\n` +
|
|
152
153
|
` • set RNX_API_KEY=sk_rnx_... (recommended for CI)\n\n`,
|
|
153
154
|
)
|
|
154
|
-
|
|
155
|
+
rnxExit(1)
|
|
155
156
|
}
|
package/cli/bin.ts
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
import { rnxPublicBrand } from '../src/public-brand'
|
|
10
10
|
import { parseArgs, TOP_LEVEL_RUNTIME_COMMANDS } from './parse-args'
|
|
11
|
+
import { RnxExit } from './run-rnx'
|
|
11
12
|
|
|
12
13
|
// `./help` is loaded lazily (only on help paths) — it statically pulls the full
|
|
13
14
|
// CLI registry renderers and engine settings, which would otherwise add ~400ms
|
|
@@ -317,281 +318,290 @@ if (
|
|
|
317
318
|
// is much harder to act on than this targeted message.
|
|
318
319
|
exitIfStandaloneBlocked(command)
|
|
319
320
|
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
321
|
+
// the command modules stop by throwing RnxExit rather than ending the
|
|
322
|
+
// process, because the same command has to run in a box shell and in
|
|
323
|
+
// workerd, where process.exit() cancels the whole request. this is the
|
|
324
|
+
// host boundary that turns it back into a real exit code.
|
|
325
|
+
try {
|
|
326
|
+
if (TOP_LEVEL_RUNTIME_COMMANDS.has(command)) {
|
|
327
|
+
if (command === 'do') {
|
|
328
|
+
const { hasDoChain, runDoChain } = await import('./commands/do-chain')
|
|
329
|
+
if (hasDoChain(commandArgsWithSim)) {
|
|
330
|
+
await exitWithFlush(await runDoChain(commandArgsWithSim, { port }))
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
const { runInspect } = await import('./commands/inspect')
|
|
334
|
+
await runInspect([command, ...commandArgsWithSim], { port, verbose })
|
|
335
|
+
} else {
|
|
336
|
+
switch (command) {
|
|
337
|
+
case 'assert': {
|
|
338
|
+
// stays outside the usual dispatcher — it spawns self to get the
|
|
339
|
+
// inner verb's --json payload, so it never needs the shared bridge
|
|
340
|
+
// machinery that lives inside runInspect.
|
|
341
|
+
const { runAssert } = await import('./commands/assert')
|
|
342
|
+
await runAssert(parsed.commandArgs)
|
|
343
|
+
break
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
case 'detox': {
|
|
347
|
+
const { runDetox } = await import('./commands/detox')
|
|
348
|
+
await runDetox(parsed.commandArgs, { port, verbose })
|
|
349
|
+
break
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
case 'maestro': {
|
|
353
|
+
const { runMaestro } = await import('./commands/maestro')
|
|
354
|
+
// Maestro forwards playback argv to the shared runner, so it must
|
|
355
|
+
// receive the global `--sim`. passing the bare
|
|
356
|
+
// parsed.commandArgs dropped an explicit `sootsim --sim <id> maestro
|
|
357
|
+
// …`, silently falling back to the current/saved sim (QA F21-4).
|
|
358
|
+
const code = await runMaestro(commandArgsWithSim, { port, verbose })
|
|
359
|
+
// bridge + dynamic imports leave handles open that keep node alive.
|
|
360
|
+
await exitWithFlush(typeof code === 'number' ? code : 0)
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
case 'record': {
|
|
364
|
+
const { runRecord } = await import('./commands/record')
|
|
365
|
+
await runRecord(commandArgsWithSim, { port, verbose })
|
|
366
|
+
break
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
case 'film': {
|
|
370
|
+
const { runFilm } = await import('./commands/film')
|
|
371
|
+
// film chains the flow runner, which opens ws bridges + dynamic
|
|
372
|
+
// imports that keep node alive — exit explicitly like `flow` does.
|
|
373
|
+
const code = await runFilm(commandArgsWithSim, { port, verbose })
|
|
374
|
+
await exitWithFlush(typeof code === 'number' ? code : 0)
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
case 'storage': {
|
|
378
|
+
const { runStorage } = await import('./commands/storage')
|
|
379
|
+
const code = await runStorage(commandArgsWithSim, { port, verbose })
|
|
380
|
+
await exitWithFlush(typeof code === 'number' ? code : 0)
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
case 'state': {
|
|
384
|
+
const { runState } = await import('./commands/state')
|
|
385
|
+
const code = await runState(commandArgsWithSim, { port })
|
|
386
|
+
await exitWithFlush(code)
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
case 'reset': {
|
|
390
|
+
const { runReset } = await import('./commands/reset')
|
|
391
|
+
const code = await runReset(commandArgsWithSim, { port })
|
|
392
|
+
await exitWithFlush(code)
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
case 'perf': {
|
|
396
|
+
const { runPerf } = await import('./commands/perf')
|
|
397
|
+
const code = await runPerf(commandArgsWithSim, { port, verbose })
|
|
398
|
+
await exitWithFlush(typeof code === 'number' ? code : 0)
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
case 'screenshot': {
|
|
402
|
+
const { runScreenshotCommand } = await import('./commands/screenshot-command')
|
|
403
|
+
const code = await runScreenshotCommand(commandArgsWithSim, { port, verbose })
|
|
404
|
+
await exitWithFlush(typeof code === 'number' ? code : 0)
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
case 'camera': {
|
|
408
|
+
const { runCamera } = await import('./commands/camera')
|
|
409
|
+
const code = await runCamera(commandArgsWithSim, { port })
|
|
410
|
+
await exitWithFlush(typeof code === 'number' ? code : 0)
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
case 'mode': {
|
|
414
|
+
const { runMode } = await import('./commands/mode')
|
|
415
|
+
await runMode(commandArgsWithSim, { port, verbose })
|
|
416
|
+
break
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
case 'permissions': {
|
|
420
|
+
const { runPermissions } = await import('./commands/permissions')
|
|
421
|
+
const code = await runPermissions(commandArgsWithSim, { port, verbose })
|
|
422
|
+
await exitWithFlush(code)
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
case 'debug': {
|
|
426
|
+
const { runDebug } = await import('./commands/debug')
|
|
427
|
+
await runDebug(commandArgsWithSim, { port, verbose })
|
|
428
|
+
break
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
case 'timeline': {
|
|
432
|
+
const { runTimeline } = await import('./commands/timeline')
|
|
433
|
+
await runTimeline(commandArgsWithSim, { port, verbose })
|
|
434
|
+
break
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
case 'what-happened': {
|
|
438
|
+
const { runWhatHappened } = await import('./commands/what-happened')
|
|
439
|
+
await runWhatHappened(commandArgsWithSim, { port, verbose })
|
|
440
|
+
break
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
case 'open': {
|
|
444
|
+
const { runOpenCommand } = await import('./commands/control')
|
|
445
|
+
await runOpenCommand(commandArgsWithSim, { port })
|
|
446
|
+
break
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
case 'ios':
|
|
450
|
+
case 'android': {
|
|
451
|
+
const { runPlatformCommand } = await import('./commands/platform')
|
|
452
|
+
const code = await runPlatformCommand(command, commandArgsWithSim, { port })
|
|
453
|
+
await exitWithFlush(typeof code === 'number' ? code : 0)
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
case 'box': {
|
|
457
|
+
const { runBox } = await import('./commands/box')
|
|
458
|
+
await exitWithFlush(await runBox(commandArgsWithSim, { port, verbose }))
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
case 'use': {
|
|
462
|
+
const { runUseCommand } = await import('./commands/control')
|
|
463
|
+
await runUseCommand(commandArgsWithSim, { port })
|
|
464
|
+
break
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
case 'claim': {
|
|
468
|
+
const { runClaimCommand } = await import('./commands/control')
|
|
469
|
+
await runClaimCommand(commandArgsWithSim, { port })
|
|
470
|
+
break
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
case 'close': {
|
|
474
|
+
const { runCloseCommand } = await import('./commands/control')
|
|
475
|
+
await runCloseCommand(commandArgsWithSim, { port })
|
|
476
|
+
break
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
case 'device': {
|
|
480
|
+
const { runDeviceCommand } = await import('./commands/device')
|
|
481
|
+
await runDeviceCommand(commandArgsWithSim, { port })
|
|
482
|
+
break
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
case 'compat': {
|
|
486
|
+
const { runCompat } = await import('./commands/compat')
|
|
487
|
+
await runCompat(parsed.commandArgs)
|
|
488
|
+
break
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
case 'report-issue': {
|
|
492
|
+
const { runReportIssue } = await import('./commands/report-issue')
|
|
493
|
+
const code = await runReportIssue(parsed.commandArgs)
|
|
494
|
+
await exitWithFlush(code)
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
case 'desktop': {
|
|
498
|
+
const { runDesktop } = await import('./commands/desktop')
|
|
499
|
+
await runDesktop(parsed.commandArgs, { port, device })
|
|
500
|
+
break
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
case 'login': {
|
|
504
|
+
const { runLogin } = await import('./commands/login')
|
|
505
|
+
await runLogin(parsed.commandArgs)
|
|
506
|
+
break
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
case 'logout': {
|
|
510
|
+
const { runLogout } = await import('./commands/logout')
|
|
511
|
+
await runLogout()
|
|
512
|
+
break
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
case 'auth': {
|
|
516
|
+
const { runAuth } = await import('./commands/auth')
|
|
517
|
+
await runAuth(parsed.commandArgs)
|
|
518
|
+
break
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
case 'setup': {
|
|
522
|
+
const { runSetup } = await import('./commands/setup')
|
|
523
|
+
await runSetup(parsed.commandArgs)
|
|
524
|
+
break
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
case 'serve': {
|
|
528
|
+
const { runServe } = await import('./commands/serve')
|
|
529
|
+
await runServe(parsed.commandArgs, { port })
|
|
530
|
+
break
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
case 'daemon': {
|
|
534
|
+
const { runDaemon } = await import('./commands/daemon')
|
|
535
|
+
await runDaemon(parsed.commandArgs, { port })
|
|
536
|
+
break
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
case 'runtime': {
|
|
540
|
+
const { runRuntime } = await import('./commands/runtime')
|
|
541
|
+
await runRuntime(parsed.commandArgs)
|
|
542
|
+
break
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
case 'upgrade': {
|
|
546
|
+
const { runUpgrade } = await import('./commands/upgrade')
|
|
547
|
+
await runUpgrade(parsed.commandArgs)
|
|
548
|
+
break
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
case 'version': {
|
|
552
|
+
const { runVersion } = await import('./commands/version')
|
|
553
|
+
await runVersion(parsed.commandArgs)
|
|
554
|
+
break
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
case 'agent': {
|
|
558
|
+
const { runAgentCommand } = await import('./commands/agent')
|
|
559
|
+
const code = await runAgentCommand(parsed.commandArgs)
|
|
560
|
+
await exitWithFlush(code)
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
case 'agent-wrapper': {
|
|
564
|
+
const { runAgentWrapper } = await import('./commands/agent-wrapper')
|
|
565
|
+
const code = await runAgentWrapper(parsed.commandArgs)
|
|
566
|
+
await exitWithFlush(code)
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
case 'skill': {
|
|
570
|
+
const { runSkill } = await import('./commands/skills')
|
|
571
|
+
await runSkill(parsed.commandArgs)
|
|
572
|
+
break
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
case 'app-fonts': {
|
|
576
|
+
const { runAppFonts } = await import('./commands/app-fonts')
|
|
577
|
+
await runAppFonts(parsed.commandArgs)
|
|
578
|
+
break
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
case 'config': {
|
|
582
|
+
const { runConfig } = await import('./commands/config')
|
|
583
|
+
await runConfig(parsed.commandArgs)
|
|
584
|
+
break
|
|
585
|
+
}
|
|
586
|
+
|
|
587
|
+
case 'cleanup': {
|
|
588
|
+
const { runCleanup } = await import('./commands/cleanup')
|
|
589
|
+
const code = await runCleanup(parsed.commandArgs)
|
|
590
|
+
await exitWithFlush(code)
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
default: {
|
|
594
|
+
console.error(` unknown command: ${command}`)
|
|
595
|
+
console.error(
|
|
596
|
+
` run \`${rnxPublicBrand.commandName} --help\` to see the full surface.`,
|
|
597
|
+
)
|
|
598
|
+
await exitWithFlush(1)
|
|
599
|
+
}
|
|
593
600
|
}
|
|
594
601
|
}
|
|
602
|
+
} catch (error) {
|
|
603
|
+
if (error instanceof RnxExit) await exitWithFlush(error.code)
|
|
604
|
+
throw error
|
|
595
605
|
}
|
|
596
606
|
|
|
597
607
|
await scheduleAutomaticCleanup()
|
|
@@ -15,6 +15,7 @@ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs'
|
|
|
15
15
|
import { join } from 'node:path'
|
|
16
16
|
import { gzipSync } from 'node:zlib'
|
|
17
17
|
import { fetchAppFontFiles } from '../app-fonts'
|
|
18
|
+
import { rnxExit } from '../run-rnx'
|
|
18
19
|
|
|
19
20
|
type ManifestEntry = {
|
|
20
21
|
url: string
|
|
@@ -40,7 +41,7 @@ async function stage(args: string[]): Promise<void> {
|
|
|
40
41
|
console.error(
|
|
41
42
|
' usage: rnx app-fonts stage --wire <wire> --out-dir <dir> --manifest <path>',
|
|
42
43
|
)
|
|
43
|
-
|
|
44
|
+
rnxExit(1)
|
|
44
45
|
}
|
|
45
46
|
if (!wire.trim()) {
|
|
46
47
|
console.log('no app fonts declared — nothing to stage')
|
|
@@ -94,5 +95,5 @@ export async function runAppFonts(args: string[]): Promise<void> {
|
|
|
94
95
|
}
|
|
95
96
|
console.error(` unknown app-fonts subcommand: ${sub ?? '(none)'}`)
|
|
96
97
|
console.error(' available: stage')
|
|
97
|
-
|
|
98
|
+
rnxExit(1)
|
|
98
99
|
}
|