rnxsim 0.1.355 → 0.1.357
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/bridge-flow-runner.ts +73 -24
- package/cli/commands/maestro.ts +9 -4
- package/dist-cli/bin.js +5 -5
- package/dist-cli/chunks/{agent-2MW7ZKUX.js → agent-25KBHAYX.js} +2 -2
- package/dist-cli/chunks/{agent-wrapper-XYQBKV24.js → agent-wrapper-X37YZWQJ.js} +2 -2
- package/dist-cli/chunks/{app-fonts-SXIZFMPY.js → app-fonts-WTMGAP6A.js} +2 -2
- package/dist-cli/chunks/{assert-R324GCRG.js → assert-ERBO4GF4.js} +2 -2
- package/dist-cli/chunks/{auth-INKYLYRZ.js → auth-SGBXZ5FH.js} +2 -2
- package/dist-cli/chunks/{beta-BQHBSKA5.js → beta-R7AGWYWM.js} +2 -2
- package/dist-cli/chunks/{camera-UPRFBRPF.js → camera-SQOGGHFO.js} +2 -2
- package/dist-cli/chunks/{chunk-MKHCGQSF.js → chunk-2Q7NEG5N.js} +1 -1
- package/dist-cli/chunks/{chunk-Y3D3DCQV.js → chunk-3L354AJB.js} +2 -2
- package/dist-cli/chunks/chunk-457HKQC5.js +4 -0
- package/dist-cli/chunks/{chunk-JYQNEVHV.js → chunk-45C2CATW.js} +2 -2
- package/dist-cli/chunks/{chunk-247ZSWTI.js → chunk-5ABAY2EO.js} +2 -2
- package/dist-cli/chunks/{chunk-VEMZUXVR.js → chunk-5O3YY3ND.js} +1 -1
- package/dist-cli/chunks/{chunk-2Z2S3C6A.js → chunk-6B6AUNDN.js} +2 -2
- package/dist-cli/chunks/{chunk-JP2YS7LC.js → chunk-6HKVEKUJ.js} +1 -1
- package/dist-cli/chunks/{chunk-42LIUAHU.js → chunk-7EF3WPYK.js} +2 -2
- package/dist-cli/chunks/{chunk-FDI226G4.js → chunk-7IX7MUYY.js} +2 -2
- package/dist-cli/chunks/{chunk-KLVSEUJP.js → chunk-AP4BKCUM.js} +2 -2
- package/dist-cli/chunks/{chunk-BUOAYILA.js → chunk-AQ7WM5OT.js} +4 -4
- package/dist-cli/chunks/{chunk-X36BQCH5.js → chunk-BH52OY5L.js} +2 -2
- package/dist-cli/chunks/{chunk-NCF3QNJG.js → chunk-BMDJOFQ6.js} +2 -2
- package/dist-cli/chunks/{chunk-VWPXXB6U.js → chunk-CDKGEP4S.js} +1 -1
- package/dist-cli/chunks/{chunk-F6S4Z7N7.js → chunk-CTCFJXNY.js} +1 -1
- package/dist-cli/chunks/{chunk-PYSIEEKP.js → chunk-EJHPODIL.js} +1 -1
- package/dist-cli/chunks/{chunk-XFPGXEKW.js → chunk-ETRUMVNS.js} +1 -1
- package/dist-cli/chunks/{chunk-TADYO7TY.js → chunk-EUQ4DZYZ.js} +2 -2
- package/dist-cli/chunks/{chunk-ZNWLFYZK.js → chunk-FFVJI44X.js} +2 -2
- package/dist-cli/chunks/{chunk-JE6NXNGL.js → chunk-FR7SP7K5.js} +3 -3
- package/dist-cli/chunks/{chunk-FFNFGVGH.js → chunk-GTG7DFS4.js} +2 -2
- package/dist-cli/chunks/{chunk-CK3M7MAL.js → chunk-GWCHA7JF.js} +2 -2
- package/dist-cli/chunks/{chunk-ZOFRHAGX.js → chunk-H4Z4BNMN.js} +1 -1
- package/dist-cli/chunks/{chunk-EQEEPP5A.js → chunk-H527SGF4.js} +2 -2
- package/dist-cli/chunks/{chunk-ZQF3PK76.js → chunk-HB7NJOU6.js} +2 -2
- package/dist-cli/chunks/{chunk-FF2CEKZF.js → chunk-HDOSUTQZ.js} +2 -2
- package/dist-cli/chunks/{chunk-QYIT7H6Q.js → chunk-HSI44CRA.js} +2 -2
- package/dist-cli/chunks/{chunk-SJEAA2FW.js → chunk-HVKQHXHS.js} +2 -2
- package/dist-cli/chunks/{chunk-LJCBPR7S.js → chunk-HXXKL7NU.js} +2 -2
- package/dist-cli/chunks/{chunk-XZJNPATS.js → chunk-IFR5DTTH.js} +2 -2
- package/dist-cli/chunks/{chunk-S4K3TDYB.js → chunk-IQVELPAH.js} +2 -2
- package/dist-cli/chunks/{chunk-GE7GYFE4.js → chunk-JGZBATDJ.js} +2 -2
- package/dist-cli/chunks/{chunk-N532KCKW.js → chunk-JX54MDZ3.js} +2 -2
- package/dist-cli/chunks/{chunk-6EC3D5IG.js → chunk-LFHZHHVR.js} +1 -1
- package/dist-cli/chunks/{chunk-IJGL6T4M.js → chunk-N3V5KXWQ.js} +2 -2
- package/dist-cli/chunks/{chunk-IAVHAWDL.js → chunk-NKJ3KBIE.js} +1 -1
- package/dist-cli/chunks/{chunk-23TG7DLH.js → chunk-Q6PIUOKR.js} +1 -1
- package/dist-cli/chunks/{chunk-FPWDC2DE.js → chunk-QEZSA6YG.js} +1 -1
- package/dist-cli/chunks/chunk-QF32P3FB.js +535 -0
- package/dist-cli/chunks/{chunk-Y5BP72QO.js → chunk-RGSHPACG.js} +1 -1
- package/dist-cli/chunks/{chunk-W3QLC24Z.js → chunk-RHNPXHEQ.js} +2 -2
- package/dist-cli/chunks/{chunk-GWL4KMTK.js → chunk-SNHVPXFJ.js} +2 -2
- package/dist-cli/chunks/{chunk-S27I7H2K.js → chunk-SZYAIXGI.js} +1 -1
- package/dist-cli/chunks/{chunk-SEWNI4GS.js → chunk-TUA2TD6R.js} +1 -1
- package/dist-cli/chunks/{chunk-GFDFVKVW.js → chunk-VGVIM2ES.js} +1 -1
- package/dist-cli/chunks/{chunk-MCAQZI3R.js → chunk-VJWXHO4E.js} +1 -1
- package/dist-cli/chunks/{chunk-QWJD2CAJ.js → chunk-VSDVVJ7I.js} +1 -1
- package/dist-cli/chunks/{chunk-LQEC53JM.js → chunk-W3OQUICE.js} +2 -2
- package/dist-cli/chunks/{chunk-AY4OA5UI.js → chunk-WCVSGYRT.js} +2 -2
- package/dist-cli/chunks/{chunk-7URIRES5.js → chunk-XX4CRR6G.js} +2 -2
- package/dist-cli/chunks/{chunk-WUYI4PVY.js → chunk-YFTFLUVJ.js} +1 -1
- package/dist-cli/chunks/{chunk-CRE3V3EG.js → chunk-YKHS3Y3T.js} +1 -1
- package/dist-cli/chunks/{chunk-6WCDWBG6.js → chunk-YRCWQST2.js} +2 -2
- package/dist-cli/chunks/{chunk-EZXNGHZT.js → chunk-ZMUPTNFI.js} +2 -2
- package/dist-cli/chunks/{chunk-CUXVUSZS.js → chunk-ZPOC7RZV.js} +2 -2
- package/dist-cli/chunks/{cleanup-5FGGUP6U.js → cleanup-GXRSMHAO.js} +2 -2
- package/dist-cli/chunks/cli-version-XAFFRJCZ.js +4 -0
- package/dist-cli/chunks/{compat-J4OEALGF.js → compat-XAJSKUFI.js} +2 -2
- package/dist-cli/chunks/{config-MCH2R7WG.js → config-VOJFXKDM.js} +2 -2
- package/dist-cli/chunks/{control-NPWFRKZS.js → control-24QDU2II.js} +2 -2
- package/dist-cli/chunks/daemon-DDPZIQWD.js +4 -0
- package/dist-cli/chunks/{debug-7NHPYUX6.js → debug-EZIUTBJM.js} +3 -3
- package/dist-cli/chunks/{desktop-EIBJC5EU.js → desktop-LWALKHND.js} +3 -3
- package/dist-cli/chunks/{detox-ZFEQKHDT.js → detox-SEOITHO2.js} +2 -2
- package/dist-cli/chunks/{device-JM7QMQFQ.js → device-CSFCTE77.js} +2 -2
- package/dist-cli/chunks/{diagnose-DCMU2GAD.js → diagnose-LTD2GRQ4.js} +2 -2
- package/dist-cli/chunks/{disk-cleanup-RPW5MYGM.js → disk-cleanup-T5B5HVFI.js} +2 -2
- package/dist-cli/chunks/drivers-QKUIB32J.js +4 -0
- package/dist-cli/chunks/{film-NRGBZSC7.js → film-TTSCLCET.js} +3 -3
- package/dist-cli/chunks/flow-IQYYMCWP.js +4 -0
- package/dist-cli/chunks/help-3ZWJFCV5.js +4 -0
- package/dist-cli/chunks/{hidden-runtime-alias-GSZG7QFD.js → hidden-runtime-alias-S24KDRUW.js} +2 -2
- package/dist-cli/chunks/{home-paths-OGXLRRTG.js → home-paths-GG5N4VTM.js} +2 -2
- package/dist-cli/chunks/inspect-QQ7FWRVH.js +4 -0
- package/dist-cli/chunks/install-desktop-BY43USLI.js +4 -0
- package/dist-cli/chunks/{login-A7JSAMON.js → login-U3PVPLJM.js} +2 -2
- package/dist-cli/chunks/{logout-EBUWNT63.js → logout-4AUOJIP2.js} +2 -2
- package/dist-cli/chunks/{maestro-OEXXVYMW.js → maestro-XUXCXSYO.js} +18 -13
- package/dist-cli/chunks/{maestro-generate-DKH6IUTC.js → maestro-generate-2EATF4J6.js} +3 -3
- package/dist-cli/chunks/{mode-YKX2UTBX.js → mode-4RCORGOE.js} +2 -2
- package/dist-cli/chunks/{optional-demo-registry-W4Z54NYF.js → optional-demo-registry-RZMRX2DF.js} +2 -2
- package/dist-cli/chunks/{perf-EJDB2NWH.js → perf-6UOFEML4.js} +2 -2
- package/dist-cli/chunks/{permissions-MXUT3YR6.js → permissions-J2NG7LPA.js} +2 -2
- package/dist-cli/chunks/privacy-P65QWNCJ.js +4 -0
- package/dist-cli/chunks/{record-STFUL6CS.js → record-F4OBLQ6Y.js} +3 -3
- package/dist-cli/chunks/{report-issue-TE2QTEMZ.js → report-issue-JC3HV6H5.js} +2 -2
- package/dist-cli/chunks/reset-ZFNQEN3I.js +4 -0
- package/dist-cli/chunks/runtime-OXOW3KFB.js +4 -0
- package/dist-cli/chunks/{screenshot-command-SRW3HXF7.js → screenshot-command-5FL4G6Z7.js} +3 -3
- package/dist-cli/chunks/{screenshot-layers-IULR35XJ.js → screenshot-layers-KSIY2HUV.js} +2 -2
- package/dist-cli/chunks/{screenshots-capture-54GFQLXS.js → screenshots-capture-ZLPRX5V4.js} +2 -2
- package/dist-cli/chunks/{serve-WJAOT43K.js → serve-4W5ORCCK.js} +2 -2
- package/dist-cli/chunks/setup-5UJXMNUD.js +4 -0
- package/dist-cli/chunks/{skills-DW5GLHAT.js → skills-NBNB72QZ.js} +2 -2
- package/dist-cli/chunks/{state-IW4THIPU.js → state-OW2M6SCN.js} +2 -2
- package/dist-cli/chunks/{storage-F4RQZFTZ.js → storage-IXBS7SBI.js} +2 -2
- package/dist-cli/chunks/store-OPYM5ERB.js +4 -0
- package/dist-cli/chunks/telemetry-TIJJ5NZS.js +4 -0
- package/dist-cli/chunks/{timeline-IX3HVS22.js → timeline-67CF7CNZ.js} +2 -2
- package/dist-cli/chunks/{upgrade-T4LWQ2JA.js → upgrade-BVBMIMZU.js} +2 -2
- package/dist-cli/chunks/upload-PK3CH66T.js +4 -0
- package/dist-cli/chunks/{version-MNRMHJ64.js → version-IP45ACMK.js} +2 -2
- package/dist-cli/chunks/{web-ARKJI3PY.js → web-O3ELBKWC.js} +2 -2
- package/dist-cli/chunks/welcome-YVGPT6KK.js +5 -0
- package/dist-cli/chunks/{what-happened-EBK5NZFI.js → what-happened-TVWU267R.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.cjs +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 +1 -1
- package/dist-lib/react-native-host-modules.mjs +1 -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 +82 -54
- package/dist-lib/vite.cjs +1 -1
- package/package.json +1 -1
- package/skills/rnx-test/SKILL.md +6 -2
- package/src/bridge-contract.ts +8 -2
- package/dist-cli/chunks/chunk-2GLEESND.js +0 -535
- package/dist-cli/chunks/chunk-UIBR3GXC.js +0 -4
- package/dist-cli/chunks/cli-version-JP47UGY6.js +0 -4
- package/dist-cli/chunks/daemon-M26NJFNC.js +0 -4
- package/dist-cli/chunks/drivers-DW3CQUTK.js +0 -4
- package/dist-cli/chunks/flow-76SLGQCI.js +0 -4
- package/dist-cli/chunks/help-GUYB5XWH.js +0 -4
- package/dist-cli/chunks/inspect-URTBYLXV.js +0 -4
- package/dist-cli/chunks/install-desktop-BINBAGSN.js +0 -4
- package/dist-cli/chunks/privacy-JIJOFIGM.js +0 -4
- package/dist-cli/chunks/reset-LAIGONON.js +0 -4
- package/dist-cli/chunks/runtime-ZS3FBQLG.js +0 -4
- package/dist-cli/chunks/setup-36ACJ5FT.js +0 -4
- package/dist-cli/chunks/store-MTN4TPL6.js +0 -4
- package/dist-cli/chunks/telemetry-CJSVYHLI.js +0 -4
- package/dist-cli/chunks/upload-LHWECFWH.js +0 -4
- package/dist-cli/chunks/welcome-XH657K2V.js +0 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.357 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
import { createRequire as __sootsimCreateRequire } from 'node:module'
|
|
3
3
|
var require = __sootsimCreateRequire(import.meta.url)
|
|
4
4
|
var a=["Cache","Code Cache","DawnCache","DawnGraphiteCache","DawnWebGPUCache","GPUCache","GrShaderCache","ShaderCache"],r=new Set(a);function s(e){return r.has(e)}export{a,s as b};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.357 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
import { createRequire as __sootsimCreateRequire } from 'node:module'
|
|
3
3
|
var require = __sootsimCreateRequire(import.meta.url)
|
|
4
|
-
import{r as W}from"./chunk-
|
|
4
|
+
import{r as W}from"./chunk-AP4BKCUM.js";import{b as Y,c as b}from"./chunk-JX54MDZ3.js";import{a as _}from"./chunk-HB7NJOU6.js";import{a as G}from"./chunk-YKHS3Y3T.js";import{f as l}from"./chunk-N3V5KXWQ.js";import{c as J}from"./chunk-ZMUPTNFI.js";import{a as C}from"./chunk-6HKVEKUJ.js";import{a as g,b as B,c as v,d as R,f as q,g as d,h as S,i as h,j as V}from"./chunk-VJWXHO4E.js";import{D as A,E,F as T,G as I,M,l as N}from"./chunk-CTCFJXNY.js";import{a as F}from"./chunk-SNHVPXFJ.js";import{a}from"./chunk-LFHZHHVR.js";import Z from"node:os";import X from"node:path";import{spawn as oe}from"node:child_process";import p from"node:fs";import s from"node:path";function z(e){let n=s.resolve(e),r=null;for(;;){if(!r&&p.existsSync(s.join(n,"package.json"))&&(r=n),p.existsSync(s.join(n,".git")))return r;let o=s.dirname(n);if(o===n)return null;n=o}}function ie(e){let n=s.resolve(e);for(;;){if(p.existsSync(s.join(n,"bun.lock"))||p.existsSync(s.join(n,"bun.lockb")))return"bun";if(p.existsSync(s.join(n,"pnpm-lock.yaml")))return"pnpm";if(p.existsSync(s.join(n,"package-lock.json")))return"npm";let r=s.dirname(n);if(r===n)return"npm";n=r}}function H(e){let n=s.resolve(e.appDir),r=se(s.join(n,"package.json")),o=`${a.commandName} open`,t=r.scripts?.[a.commandName];if(t&&t!==o)throw new Error(`package.json already defines scripts.${a.commandName} as ${JSON.stringify(t)}; resolve that conflict before setup`);let i=ie(n),c=[];return r.devDependencies?.[a.packageName]!==e.cliVersion&&c.push(ae(i,e.cliVersion)),t!==o&&c.push(ue(i)),{appDir:n,packageManager:i,operations:c}}async function K(e,n){for(let r of e.operations)n.dryRun||await pe(r,e.appDir,n.json)}function k(e){return e.operations.map(n=>`${n.command} ${n.args.map(ce).join(" ")}`)}function se(e){let n;try{n=JSON.parse(p.readFileSync(e,"utf8"))}catch(t){let i=t instanceof Error?t.message:String(t);throw new Error(`could not read ${e}: ${i}`)}if(!n||typeof n!="object"||Array.isArray(n))throw new Error(`${e} must contain a JSON object`);let r=L(Reflect.get(n,"scripts")),o=L(Reflect.get(n,"devDependencies"));return{...r?{scripts:r}:{},...o?{devDependencies:o}:{}}}function L(e){if(!e||typeof e!="object"||Array.isArray(e))return null;let n=Object.entries(e).filter(r=>typeof r[1]=="string");return Object.fromEntries(n)}function ae(e,n){let r=`${a.packageName}@${n}`;switch(e){case"bun":return{command:"bun",args:["add","--dev","--exact",r],description:`install ${r} as an exact dev dependency`};case"pnpm":return{command:"pnpm",args:["add","--save-dev","--save-exact",r],description:`install ${r} as an exact dev dependency`};case"npm":return{command:"npm",args:["install","--save-dev","--save-exact",r],description:`install ${r} as an exact dev dependency`}}}function ce(e){return/^[a-zA-Z0-9_./@=-]+$/.test(e)?e:JSON.stringify(e)}function pe(e,n,r){return new Promise((o,t)=>{let i=oe(e.command,e.args,{cwd:n,stdio:r?["ignore",2,"inherit"]:"inherit"});i.once("error",t),i.once("exit",c=>{c===0?o():t(new Error(`${e.command} exited with code ${c??"unknown"}`))})})}function ue(e){return{command:e,args:e==="bun"?["pm","pkg","set",`scripts.${a.commandName}=${a.commandName} open`]:["pkg","set",`scripts.${a.commandName}=${a.commandName} open`],description:`add the \`${a.commandName}\` package script`}}async function Ge(e,n={}){if(e.includes("--help")||e.includes("-h")){Re();return}let r=de(e),o=n.launchConnectRN??(!r.ci&&!r.yes&&!r.json&&!r.dryRun&&process.stdin.isTTY);try{ve(r);let t=z(r.appDir),i=Y(),c=T(),x=await me(r,i);!x&&!i.installed&&!r.json&&console.log(` ${v("Enable it later with")} ${g("rnx daemon install")}`);let f=await ye(r),ne=r.json?await l.fetchManifest():await S("Checking the rnx runtime",()=>l.fetchManifest()),m=l.resolveVersion(ne,{channel:"stable"}).version,D=F();if(D==="0.0.0")throw new Error("could not resolve the installed rnx CLI version");let P=!1;if(!r.dryRun){let y=M(),j=()=>l.install({version:m,channel:"stable",setActive:!0,protectVersions:y?[y]:[]});P=(r.json?await j():await S(`Preparing runtime ${m}`,j)).installed}let O=i.installed;x&&!i.installed&&!r.dryRun&&(r.json?await b({port:7668,force:!1}):(console.log(`
|
|
5
5
|
${g("\u25C6")} ${B("Enabling the background service")}`),await b({port:7668,force:!1})),O=!0),f==="electron"&&!r.dryRun&&!G()&&await _(["--yes"]),o&&(console.log(`
|
|
6
6
|
${g("\u25C6")} Opening ConnectRN`),await W(["ConnectRN","--driver",f,"--no-describe","--quiet"]));let re=await ge(r,c),te=!1,u=t?H({appDir:t,cliVersion:D}):null,w=await he(r,u);if(w&&u){if(!r.json)for(let y of k(u))console.log(` ${v(r.dryRun?"Would run":"Running")} ${y}`);await K(u,{dryRun:r.dryRun,json:r.json})}r.dryRun||(I({productAnalytics:re,crashReports:te}),E(f));let $={runtimeVersion:m,serviceInstalled:O,repositoryPrepared:w,simulatorDriver:f};return r.json?console.log(JSON.stringify({...$,runtimeInstalled:P,dryRun:r.dryRun,cache:we(m),repositoryOperations:w&&u?k(u):[]},null,2)):console.log(`
|
|
7
7
|
${R("\u2713")} ${o?"ConnectRN is open. ":""}rnx is ready.`),$}catch(t){throw J(t),t}}function de(e){let n=e.indexOf("--app"),r=n>=0?e[n+1]:void 0;if(n>=0&&(!r||r.startsWith("-")))throw new Error("--app requires a directory");return{appDir:X.resolve(r??process.cwd()),ci:e.includes("--ci")||C(),dryRun:e.includes("--dry-run"),json:e.includes("--json"),yes:e.includes("--yes")||e.includes("-y"),service:Q(e,"--service","--no-service"),repository:Q(e,"--repo","--no-repo"),productAnalytics:fe(e,"--analytics"),simulatorDriver:le(e)}}function le(e){let n=e.includes("--desktop"),r=e.includes("--browser");if(n&&r)throw new Error("--desktop and --browser cannot be used together");if(n)return"electron";if(r)return"playwright"}function Q(e,n,r){if(e.includes(n)&&e.includes(r))throw new Error(`${n} and ${r} cannot be used together`);if(e.includes(n))return!0;if(e.includes(r))return!1}function fe(e,n){let r=e.find(i=>i.startsWith(`${n}=`)),o=e.indexOf(n),t=r?.slice(n.length+1)??(o>=0?e[o+1]:void 0);if(t!==void 0){if(t==="on"||t==="yes"||t==="true")return!0;if(t==="off"||t==="no"||t==="false")return!1;throw new Error(`${n} must be on or off`)}}async function me(e,n){if(e.ci){if(e.service===!0)throw new Error("--ci cannot install a machine service");return!1}return n.supported?n.installed&&e.service===void 0?(e.json||console.log(` ${R("\u2713")} Background service is ready`),!0):e.service!==void 0?e.service:e.yes?!0:(ee(e,"--service or --no-service"),d("Background service",["Keeps the local bridge and runtime ready between commands.","Agent inspection, interaction, and test commands start much faster."]),h("Enable the background service?",!0)):(e.json||d("Background service",["The persistent service is currently available on macOS and Linux.","rnx will start the bridge when needed on this platform."]),!1)}async function ye(e){if(e.simulatorDriver)return e.simulatorDriver;let n=A();if(n)return n;if(e.ci||e.yes)return"playwright";ee(e,"--desktop or --browser");let r=process.platform==="darwin"?"Desktop downloads a DMG and installs rnx.app.":process.platform==="win32"?"Desktop downloads and runs the rnx installer.":"Desktop downloads the matching rnx AppImage.",o=process.platform==="darwin"?"Desktop app Installs rnx.app from a DMG":process.platform==="win32"?"Desktop app Runs the rnx installer":"Desktop app Installs the matching AppImage";return d("Simulator window",["Browser opens immediately in an isolated Chrome window.",r,"The Desktop app opens in a dedicated native window."]),await V("Where should rnx open?",["Browser (recommended) No additional download",o])===0?"playwright":"electron"}async function ge(e,n){return e.productAnalytics!==void 0?e.productAnalytics:n.configured?n.productAnalytics:e.yes||e.ci||!process.stdin.isTTY?!1:(d("Private by default",["Diagnostics stay off unless you opt in.","Reports can contain package compatibility or an error class.","They never contain your code or app data."]),h("Share bounded diagnostics to improve rnx?",!1))}async function he(e,n){if(!n){if(e.repository===!0)throw new Error("--repo requires a package.json inside a Git repository");return!1}return n.operations.length===0?!0:e.repository!==void 0?e.repository:e.yes||e.ci||!process.stdin.isTTY?!1:(d("Share rnx with your team",["rnx already works here with no project setup.","This only adds an exact rnxsim dev dependency and an rnx script for teammates."]),h(`Add rnx to ${X.basename(n.appDir)}?`,!1))}function ee(e,n){if(!(process.stdin.isTTY&&!e.ci))throw new Error(`non-interactive setup requires ${n}, or --yes to accept defaults`)}function we(e){let n=Z.platform(),r=Z.arch();return{path:N(e),key:`sootsim-runtime-${n}-${r}-${e}`,inputs:{platform:n,arch:r,runtimeVersion:e}}}function ve(e){e.json||q("Run any React Native app in a local simulator. No project setup required.")}function Re(){console.log(`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.357 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
import { createRequire as __sootsimCreateRequire } from 'node:module'
|
|
3
3
|
var require = __sootsimCreateRequire(import.meta.url)
|
|
4
|
-
import{a as t}from"./chunk-
|
|
4
|
+
import{a as t}from"./chunk-LFHZHHVR.js";import{readFileSync as a}from"node:fs";import{fileURLToPath as n}from"node:url";var r=null;function f(){if(r!=null)return r;let o=[()=>n(import.meta.resolve(`${t.packageName}/package.json`)),()=>n(new URL("../package.json",import.meta.url))];for(let i of o)try{let e=JSON.parse(a(i(),"utf8")).version;if(typeof e=="string"&&e)return r=e,r}catch{}return r="0.0.0",r}export{f as a};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.357 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
import { createRequire as __sootsimCreateRequire } from 'node:module'
|
|
3
3
|
var require = __sootsimCreateRequire(import.meta.url)
|
|
4
4
|
var g=Object.create;var e=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var m=(a=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(a,{get:(b,c)=>(typeof require<"u"?require:b)[c]}):a)(function(a){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+a+'" is not supported')});var n=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports),o=(a,b)=>{for(var c in b)e(a,c,{get:b[c],enumerable:!0})},l=(a,b,c,f)=>{if(b&&typeof b=="object"||typeof b=="function")for(let d of i(b))!k.call(a,d)&&d!==c&&e(a,d,{get:()=>b[d],enumerable:!(f=h(b,d))||f.enumerable});return a};var p=(a,b,c)=>(c=a!=null?g(j(a)):{},l(b||!a||!a.__esModule?e(c,"default",{value:a,enumerable:!0}):c,a));export{m as a,n as b,o as c,p as d};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.357 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
import { createRequire as __sootsimCreateRequire } from 'node:module'
|
|
3
3
|
var require = __sootsimCreateRequire(import.meta.url)
|
|
4
4
|
function t(_){return`(async () => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.357 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
import { createRequire as __sootsimCreateRequire } from 'node:module'
|
|
3
3
|
var require = __sootsimCreateRequire(import.meta.url)
|
|
4
4
|
var m={"--help":{type:"boolean",short:"-h"},"--version":{type:"boolean",short:"-V"},"--verbose":{type:"boolean",short:"-v"},"--port":{type:"number",short:"-p"},"--device":{type:"string",short:"-d"},"--theme":{type:"string",short:"-t"},"--headless":{type:"boolean"},"--driver":{type:"string"},"--sim":{type:"string"},"--session":{type:"string"},"--tab":{type:"string"}},p=new Set(["list","describe","find","get","do","wait","network","logs","shell"]),b=new Set(["do","get","wait","shell","debug"]),d=new Set(["detox","maestro","record","film","storage","permissions","perf","screenshot","state","reset","camera","mode","debug","timeline","what-happened","shell","assert","device","open","list","use","claim","close","compat","report-issue","desktop","login","logout","auth","setup","serve","daemon","runtime","upgrade","version","skill","config","cleanup","app-fonts","agent-wrapper","agent",...p]);function u(c){let n=c.slice(2),e={command:null,commandArgs:[],globalFlags:{},help:!1,version:!1,verbose:!1},s=0;for(;s<n.length;){let o=n[s];if(o==="--"){e.commandArgs.push(...n.slice(s+1));break}let i=Object.entries(m).find(([a,r])=>a===o||r.short===o);if(i){let[a,r]=i,l=a.replace(/^--/,"");if(r.type==="boolean")e.globalFlags[l]=!0,s++;else{let t=n[s+1];if(t===void 0||t.startsWith("-")){console.error(` warning: ${o} requires a value`),s++;continue}if(r.type==="number"){let g=Number(t);if(Number.isNaN(g)){console.error(` warning: ${o} requires a number, got "${t}"`),s+=2;continue}e.globalFlags[l]=g}else e.globalFlags[l]=t;s+=2}continue}if(!e.command&&!o.startsWith("-")){let a=o.indexOf("-");if(a>0){let r=o.slice(0,a),l=o.slice(a+1);if(b.has(r)&&l.length>0){e.command=r;let t=n.slice(s+1);e.commandArgs=[l,...t[0]==="--"?t.slice(1):t];break}}if(d.has(o)){e.command=o;let r=n.slice(s+1);e.commandArgs=r[0]==="--"?r.slice(1):r;break}e.commandArgs=n.slice(s);break}e.commandArgs.push(o),s++}return e.help=!!e.globalFlags.help,e.version=!!e.globalFlags.version,e.verbose=!!e.globalFlags.verbose,e}export{p as a,u as b};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.357 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
import { createRequire as __sootsimCreateRequire } from 'node:module'
|
|
3
3
|
var require = __sootsimCreateRequire(import.meta.url)
|
|
4
4
|
var f="\x1B[0m",p="\x1B[1m",a="\x1B[2m",m="\x1B[38;2;42;95;255m",x="\x1B[38;5;84m",d="\x1B[38;5;203m";function c(n,t){return!process.stdout.isTTY||process.env.NO_COLOR!==void 0?t:`${n}${t}${f}`}function s(n){return c(m,n)}function u(n){return c(p,n)}function i(n){return c(a,n)}function w(n){return c(x,n)}function h(n){return c(d,n)}function v(n){console.log(),console.log(` ${s("\u25E4\u25E2")} ${u("rnx")}`),n&&console.log(` ${i(n)}`)}function y(n,t){console.log(`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.357 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
import { createRequire as __sootsimCreateRequire } from 'node:module'
|
|
3
3
|
var require = __sootsimCreateRequire(import.meta.url)
|
|
4
4
|
import{execFileSync as P}from"child_process";import{readFileSync as a}from"fs";import{createRequire as d}from"module";var s=null,p=null;function k(r){s||(s=w());try{return s(r)}catch{return null}}function x(r){p||(p=_());try{return p(r)}catch{return null}}function _(){if(process.platform==="linux")return r=>{try{return a(`/proc/${r}/comm`,"utf8").trim()||null}catch{return null}};if(process.platform==="darwin"){let r=B();return r||(t=>b().get(t)?.comm||null)}return()=>null}function w(){let r=Number(process.env.PPID);if(Number.isFinite(r)&&r>1&&r!==process.ppid)return()=>r;if(process.platform==="linux")return C();if(process.platform==="darwin"){let t=h();return t||(n=>{let o=b().get(n)?.ppid;return o!==void 0&&o>0?o:null})}return()=>null}var L=2e3,i={readAt:0,rows:new Map};function b(){let r=Date.now();if(i.readAt&&r-i.readAt<L)return i.rows;let t=new Map;try{let n=P("ps",["-eo","pid=,ppid=,comm="],{encoding:"utf8",timeout:5e3,maxBuffer:8388608,stdio:["ignore","pipe","ignore"]});for(let o of n.split(`
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.357 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
import { createRequire as __sootsimCreateRequire } from 'node:module'
|
|
3
3
|
var require = __sootsimCreateRequire(import.meta.url)
|
|
4
|
-
import{a as d}from"./chunk-
|
|
4
|
+
import{a as d}from"./chunk-GWCHA7JF.js";import{a as s}from"./chunk-BH52OY5L.js";import{a as e}from"./chunk-FFVJI44X.js";import{a as n}from"./chunk-7EF3WPYK.js";import{d as m,e as p,f as u}from"./chunk-QEZSA6YG.js";import{a}from"./chunk-SNHVPXFJ.js";import{a as i}from"./chunk-LFHZHHVR.js";import{a as f,c}from"./chunk-NKJ3KBIE.js";function g(){return`${i.commandName} CLI v${a()} \xB7 ${d().primary}`}function E(){let r=p({bridgePort:7668,defaultShellUrl:n},e()),o=`
|
|
5
5
|
${c}
|
|
6
6
|
`;console.log(`${g()}
|
|
7
7
|
${o}${r}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.357 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
import { createRequire as __sootsimCreateRequire } from 'node:module'
|
|
3
3
|
var require = __sootsimCreateRequire(import.meta.url)
|
|
4
|
-
import{a as y,c as P}from"./chunk-
|
|
4
|
+
import{a as y,c as P}from"./chunk-EUQ4DZYZ.js";import{b}from"./chunk-VSDVVJ7I.js";import{a as f,b as S}from"./chunk-YKHS3Y3T.js";import{a as v}from"./chunk-RGSHPACG.js";function M(){let e=f();return e?{available:!0,reason:null,detail:`${e.kind} @ ${e.path}`}:{available:!1,reason:"rnx desktop app not installed (run `rnx desktop install`)"}}async function A(e){let o=f();if(!o)return{launched:!1,message:"rnx desktop app not installed"};try{let r=await S(e.url,o,{device:e.device,profileId:e.profileId,ephemeralProfile:e.ephemeralProfile,ownerPid:e.ownerPid});return r.launched?{launched:!0,message:e.url?`electron launched via ${r.via} \u2192 ${e.url}`:`electron launched via ${r.via}`,target:r.target,attachUrl:e.url}:{launched:!1,message:"desktop companion failed to start"}}catch(r){return{launched:!1,message:`electron launch failed: ${r instanceof Error?r.message:String(r)}`}}}var k={id:"electron",name:"electron",description:"rnx desktop companion app (native window, menu bar)",kind:"native",availability:M,launch:A};import{spawn as B}from"child_process";import{closeSync as F,mkdtempSync as G,openSync as U,readFileSync as q}from"fs";import{tmpdir as T}from"os";import{join as I}from"path";import{spawnSync as O}from"node:child_process";import{existsSync as _,readFileSync as R}from"node:fs";import{createRequire as L}from"node:module";import{dirname as W,join as N}from"node:path";var $=`
|
|
5
5
|
const { existsSync } = require('node:fs');
|
|
6
6
|
const modulePath = process.env.SOOTSIM_PW_MODULE;
|
|
7
7
|
try {
|