sootsim 0.1.302 → 0.1.304
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/dist-cli/bin.js +5 -5
- package/dist-cli/chunks/{agent-QM5DJK6B.js → agent-EK355OQM.js} +2 -2
- package/dist-cli/chunks/{agent-wrapper-HDOQKZ2C.js → agent-wrapper-LCJJWHZE.js} +2 -2
- package/dist-cli/chunks/app-fonts-LIPU2DLT.js +4 -0
- package/dist-cli/chunks/{assert-URPY7JOQ.js → assert-OASKCPBX.js} +2 -2
- package/dist-cli/chunks/{auth-LDIGTG4T.js → auth-XYYKD33F.js} +2 -2
- package/dist-cli/chunks/{beta-7X7SMIUJ.js → beta-TOL55XPM.js} +2 -2
- package/dist-cli/chunks/{camera-44FBN2AD.js → camera-PHKVEQHR.js} +2 -2
- package/dist-cli/chunks/{chunk-47FKMZKZ.js → chunk-2MEUZOSD.js} +1 -1
- package/dist-cli/chunks/{chunk-N53HDXGW.js → chunk-2RLFUM3C.js} +8 -8
- package/dist-cli/chunks/{chunk-YY54A626.js → chunk-3UUHIHA6.js} +2 -2
- package/dist-cli/chunks/{chunk-QNA5RNYZ.js → chunk-5NJTX5OP.js} +2 -2
- package/dist-cli/chunks/{chunk-YY27LKQF.js → chunk-76OLOD2G.js} +2 -2
- package/dist-cli/chunks/{chunk-UEFW7TPW.js → chunk-7RFXZXKH.js} +1 -1
- package/dist-cli/chunks/{chunk-2BQCOQBK.js → chunk-A4UYZTV7.js} +2 -2
- package/dist-cli/chunks/{chunk-T3UJXMFJ.js → chunk-ABHNOM2C.js} +1 -1
- package/dist-cli/chunks/{chunk-PDB5OX3V.js → chunk-AJYA6R3N.js} +2 -2
- package/dist-cli/chunks/{chunk-TWOBAP7S.js → chunk-BJOT2LL6.js} +2 -2
- package/dist-cli/chunks/{chunk-UNDGU5PA.js → chunk-BPRMA4IC.js} +2 -2
- package/dist-cli/chunks/{chunk-QN5DSQNG.js → chunk-CMYVGJBQ.js} +1 -1
- package/dist-cli/chunks/{chunk-ZORZTTQL.js → chunk-ENXLKDQ6.js} +3 -3
- package/dist-cli/chunks/{chunk-WQWYWERD.js → chunk-EXW6TH3O.js} +2 -2
- package/dist-cli/chunks/{chunk-QOS3GSOM.js → chunk-FNI75AD7.js} +1 -1
- package/dist-cli/chunks/{chunk-KNBZZC7R.js → chunk-G4R7CPCY.js} +2 -2
- package/dist-cli/chunks/{chunk-XLAZCK5H.js → chunk-GF3LDVWF.js} +2 -2
- package/dist-cli/chunks/{chunk-ZADSXYX7.js → chunk-GMILMS7P.js} +2 -2
- package/dist-cli/chunks/{chunk-IJKBAKAA.js → chunk-HFA5ZACE.js} +21 -10
- package/dist-cli/chunks/{chunk-XRRW4YFF.js → chunk-HFKQUS4I.js} +3 -3
- package/dist-cli/chunks/{chunk-SMBMOSXY.js → chunk-INBBOCU4.js} +2 -2
- package/dist-cli/chunks/chunk-ITDTSNN2.js +4 -0
- package/dist-cli/chunks/{chunk-ZQLQVJUB.js → chunk-IWRRIQDJ.js} +2 -2
- package/dist-cli/chunks/{chunk-7F57RUPB.js → chunk-JDKWIB6V.js} +1 -1
- package/dist-cli/chunks/{chunk-XKUUILJ2.js → chunk-LRXSLMX4.js} +1 -1
- package/dist-cli/chunks/{chunk-H7J7U34H.js → chunk-M3ETYVNL.js} +1 -1
- package/dist-cli/chunks/{chunk-2AD7UVSQ.js → chunk-MSYPDBFG.js} +2 -2
- package/dist-cli/chunks/{chunk-LLCCT4VC.js → chunk-NXYKNKNL.js} +2 -2
- package/dist-cli/chunks/{chunk-NFC3BJMX.js → chunk-OSH6526H.js} +1 -1
- package/dist-cli/chunks/{chunk-HFHHYL3K.js → chunk-QWQHSUZC.js} +2 -2
- package/dist-cli/chunks/chunk-RJWQ3VAD.js +14 -0
- package/dist-cli/chunks/{chunk-VEOPRCNX.js → chunk-RQJDIDJ3.js} +1 -1
- package/dist-cli/chunks/{chunk-FNJ2IEDC.js → chunk-RT7TUHH7.js} +2 -2
- package/dist-cli/chunks/{chunk-W6XC5TUY.js → chunk-RYQUO6LT.js} +1 -1
- package/dist-cli/chunks/{chunk-N7ATA44P.js → chunk-SN6ARNCL.js} +2 -2
- package/dist-cli/chunks/{chunk-BJDIJYWM.js → chunk-SVFN66PF.js} +2 -2
- package/dist-cli/chunks/{chunk-5CWTAN4D.js → chunk-UB3OWUVK.js} +1 -1
- package/dist-cli/chunks/{chunk-D4BPRTTD.js → chunk-V6JDDX4B.js} +2 -2
- package/dist-cli/chunks/{chunk-RZLCDDE2.js → chunk-VUR5QXVX.js} +2 -2
- package/dist-cli/chunks/{chunk-BVUQ2PVZ.js → chunk-W3CSYOSQ.js} +1 -1
- package/dist-cli/chunks/{chunk-7UIDSSWQ.js → chunk-WNDYTKLC.js} +1 -1
- package/dist-cli/chunks/{chunk-2ELPPBLQ.js → chunk-XCVSB47R.js} +2 -2
- package/dist-cli/chunks/{chunk-C36FJ7OB.js → chunk-XHYSASAX.js} +1 -1
- package/dist-cli/chunks/{chunk-HNYGEEPF.js → chunk-XXS4TCOO.js} +3 -3
- package/dist-cli/chunks/{chunk-OOP74SPV.js → chunk-Y5YM7XHU.js} +1 -1
- package/dist-cli/chunks/{chunk-UJ7P2CWC.js → chunk-YAV6BH3A.js} +2 -2
- package/dist-cli/chunks/{chunk-AHPEOPNQ.js → chunk-YXHO2OUL.js} +1 -1
- package/dist-cli/chunks/chunk-ZDRI2LUG.js +125 -0
- package/dist-cli/chunks/{chunk-REJQMXOG.js → chunk-ZONISYZ5.js} +1 -1
- package/dist-cli/chunks/{cleanup-QTLASIO7.js → cleanup-GCTEGJMP.js} +2 -2
- package/dist-cli/chunks/{cli-version-EUG2MGT7.js → cli-version-G72HUH4E.js} +2 -2
- package/dist-cli/chunks/{compat-DA2Z6HOU.js → compat-IC4JHGBH.js} +2 -2
- package/dist-cli/chunks/{config-U65JAS2W.js → config-C65MZFU3.js} +2 -2
- package/dist-cli/chunks/{control-ZCFRXISU.js → control-RWLYBKQR.js} +2 -2
- package/dist-cli/chunks/daemon-D77E5G6Z.js +4 -0
- package/dist-cli/chunks/{debug-OXP67EDF.js → debug-LEL32PDN.js} +3 -3
- package/dist-cli/chunks/{desktop-ZEQXNFI2.js → desktop-RDSISJH2.js} +3 -3
- package/dist-cli/chunks/{detox-M4JBLH5P.js → detox-SCCWUIKK.js} +2 -2
- package/dist-cli/chunks/{device-ISL5YP5C.js → device-MTDEKDUK.js} +2 -2
- package/dist-cli/chunks/{diagnose-H2TRXSVS.js → diagnose-UZJCKLPZ.js} +2 -2
- package/dist-cli/chunks/disk-cleanup-HLWRVTVW.js +4 -0
- package/dist-cli/chunks/drivers-Q7GMKTBM.js +4 -0
- package/dist-cli/chunks/{film-LKYPZOJD.js → film-YBE544PG.js} +3 -3
- package/dist-cli/chunks/flow-5VOVAVZN.js +4 -0
- package/dist-cli/chunks/help-2PESJ7V2.js +4 -0
- package/dist-cli/chunks/{hidden-runtime-alias-JMWSVMJD.js → hidden-runtime-alias-KJYCJLSR.js} +2 -2
- package/dist-cli/chunks/{home-paths-S66AEW3L.js → home-paths-NSHWNEGK.js} +2 -2
- package/dist-cli/chunks/inspect-OIA3Q5MD.js +4 -0
- package/dist-cli/chunks/install-desktop-7KLACQUW.js +4 -0
- package/dist-cli/chunks/{login-EJEEYZGB.js → login-AEVUU72R.js} +4 -4
- package/dist-cli/chunks/{logout-QCEW2MME.js → logout-72XHF6J2.js} +2 -2
- package/dist-cli/chunks/{maestro-4IKBKIUF.js → maestro-OXSKQJ6B.js} +3 -3
- package/dist-cli/chunks/{maestro-generate-WSYSKMND.js → maestro-generate-AKZFORVJ.js} +3 -3
- package/dist-cli/chunks/{mode-KQ5VDMPP.js → mode-U6KRG2PE.js} +2 -2
- package/dist-cli/chunks/{optional-demo-registry-MMHEMCBJ.js → optional-demo-registry-L3VIWBI2.js} +2 -2
- package/dist-cli/chunks/{perf-LGZDBRUM.js → perf-KF2BJZIN.js} +2 -2
- package/dist-cli/chunks/{permissions-DA4JXY2N.js → permissions-TRJG4QAI.js} +2 -2
- package/dist-cli/chunks/{record-TPU2TOEU.js → record-TICJYZOA.js} +3 -3
- package/dist-cli/chunks/{report-issue-PPUNSEEQ.js → report-issue-OQPLBQMJ.js} +2 -2
- package/dist-cli/chunks/runtime-HDMLWNXW.js +4 -0
- package/dist-cli/chunks/screenshot-command-XLERKHVW.js +159 -0
- package/dist-cli/chunks/{screenshots-capture-AG2TIYLG.js → screenshots-capture-B6OORSD4.js} +2 -2
- package/dist-cli/chunks/{serve-C3WLV2OX.js → serve-5M7MIPWF.js} +2 -2
- package/dist-cli/chunks/{setup-4KZKLDZV.js → setup-HJZDC4PK.js} +2 -2
- package/dist-cli/chunks/{skills-65XCNSNM.js → skills-RXHLMGGL.js} +2 -2
- package/dist-cli/chunks/{storage-ADWG4UT7.js → storage-MMPD2XBS.js} +2 -2
- package/dist-cli/chunks/store-APKY72ZY.js +4 -0
- package/dist-cli/chunks/telemetry-W3YRHE67.js +4 -0
- package/dist-cli/chunks/{timeline-BRHYLQTW.js → timeline-6PF5BZ37.js} +2 -2
- package/dist-cli/chunks/{upgrade-AEJNAP6O.js → upgrade-QSMIK3RC.js} +2 -2
- package/dist-cli/chunks/upload-HQEOYILQ.js +4 -0
- package/dist-cli/chunks/{version-HZWBK4KJ.js → version-WLTFXEDC.js} +2 -2
- package/dist-cli/chunks/{web-LCSSJCZ4.js → web-DI73LQ7N.js} +2 -2
- package/dist-cli/chunks/{what-happened-GWA24LHG.js → what-happened-4SAMGZWR.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/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 +17 -8
- 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/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.cjs +1 -1
- package/dist-lib/profiles.cjs +1 -1
- package/dist-lib/render-mode.cjs +1 -1
- package/dist-lib/scripts/dev-server-scanner.cjs +58 -3
- package/dist-lib/sdk.cjs +18 -6
- package/dist-lib/sdk.mjs +18 -6
- package/dist-lib/skills.cjs +26 -12
- package/dist-lib/vite.cjs +1 -1
- package/package.json +2 -2
- package/scripts/dev-server-scanner.ts +95 -9
- package/skills/sootsim-debug/SKILL.md +6 -0
- package/skills/sootsim-setup/SKILL.md +38 -0
- package/src/attached-projects.ts +2 -2
- package/src/host/bridge-host.ts +2 -2
- package/src/runtime-assets.ts +1 -1
- package/src/runtime-delivery.ts +1 -1
- package/src/vite-plugin.ts +1 -1
- package/dist-cli/chunks/app-fonts-VPJDIM5M.js +0 -4
- package/dist-cli/chunks/chunk-5TWYZNIF.js +0 -125
- package/dist-cli/chunks/chunk-GRMK3BZY.js +0 -4
- package/dist-cli/chunks/chunk-I4NP3TJR.js +0 -12
- package/dist-cli/chunks/daemon-S25HJFIG.js +0 -4
- package/dist-cli/chunks/disk-cleanup-DY6JAHH3.js +0 -4
- package/dist-cli/chunks/drivers-EE4LTPSZ.js +0 -4
- package/dist-cli/chunks/flow-WGICJ5KS.js +0 -4
- package/dist-cli/chunks/help-YQ63GAW6.js +0 -4
- package/dist-cli/chunks/inspect-VKVWW64M.js +0 -4
- package/dist-cli/chunks/install-desktop-CH27FTQI.js +0 -4
- package/dist-cli/chunks/runtime-7MZZR6SC.js +0 -4
- package/dist-cli/chunks/screenshot-command-2YSWGL4X.js +0 -156
- package/dist-cli/chunks/store-FEQIGIYH.js +0 -4
- package/dist-cli/chunks/telemetry-KBOJKIRS.js +0 -4
- package/dist-cli/chunks/upload-QKJRNNL3.js +0 -4
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.304 | (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 ws}from"./chunk-
|
|
4
|
+
import{a as ws}from"./chunk-RQJDIDJ3.js";import{a as ks}from"./chunk-A4UYZTV7.js";import{a as vt,b as Fr,d as Br}from"./chunk-XHYSASAX.js";var Is=Fr((Xr,Ss)=>{(()=>{var H={"./node_modules/.pnpm/mlly@1.8.2/node_modules/mlly/dist lazy recursive"(B){function Z(ot){return Promise.resolve().then(function(){var Et=new Error("Cannot find module '"+ot+"'");throw Et.code="MODULE_NOT_FOUND",Et})}Z.keys=()=>[],Z.resolve=Z,Z.id="./node_modules/.pnpm/mlly@1.8.2/node_modules/mlly/dist lazy recursive",B.exports=Z},fs(B){"use strict";B.exports=vt("fs")},"node:fs"(B){"use strict";B.exports=vt("node:fs")},"node:module"(B){"use strict";B.exports=vt("node:module")},"node:path"(B){"use strict";B.exports=vt("node:path")},os(B){"use strict";B.exports=vt("os")},path(B){"use strict";B.exports=vt("path")},"./node_modules/.pnpm/get-tsconfig@4.14.0/node_modules/get-tsconfig/dist/index.cjs"(B,Z,ot){"use strict";var Et=Object.defineProperty,k=(a,p)=>Et(a,"name",{value:p,configurable:!0}),L=ot("node:path"),oe=ot("node:fs"),ce=ot("node:module"),Ee=ot("./node_modules/.pnpm/resolve-pkg-maps@1.0.0/node_modules/resolve-pkg-maps/dist/index.cjs"),zt=ot("fs"),Ut=ot("os"),dt=ot("path");function J(a){return a.startsWith("\\\\?\\")?a:a.replace(/\\/g,"/")}k(J,"slash");let j=k(a=>{let p=oe[a];return(g,...l)=>{let y=`${a}:${l.join(":")}`,v=g?.get(y);return v===void 0&&(v=Reflect.apply(p,oe,l),g?.set(y,v)),v}},"cacheFs"),tt=j("existsSync"),yt=j("readFileSync"),P=j("statSync"),O=k((a,p,g)=>{for(;;){let l=L.posix.join(a,p);if(tt(g,l))return l;let y=L.dirname(a);if(y===a)return;a=y}},"findUp"),A=/^\.{1,2}(\/.*)?$/,n=k(a=>{let p=J(a);return A.test(p)?p:`./${p}`},"normalizeRelativePath");function z(a,p=!1){let g=a.length,l=0,y="",v=0,d=16,C=0,S=0,R=0,W=0,$=0;function et(E,ut){let xt=0,F=0;for(;xt<E;){let I=a.charCodeAt(l);if(I>=48&&I<=57)F=16*F+I-48;else if(I>=65&&I<=70)F=16*F+I-65+10;else{if(!(I>=97&&I<=102))break;F=16*F+I-97+10}l++,xt++}return xt<E&&(F=-1),F}function Y(E){l=E,y="",v=0,d=16,$=0}function Q(){let E=l;if(a.charCodeAt(l)===48)l++;else for(l++;l<a.length&&mt(a.charCodeAt(l));)l++;if(l<a.length&&a.charCodeAt(l)===46){if(l++,!(l<a.length&&mt(a.charCodeAt(l))))return $=3,a.substring(E,l);for(l++;l<a.length&&mt(a.charCodeAt(l));)l++}let ut=l;if(l<a.length&&(a.charCodeAt(l)===69||a.charCodeAt(l)===101))if(l++,(l<a.length&&a.charCodeAt(l)===43||a.charCodeAt(l)===45)&&l++,l<a.length&&mt(a.charCodeAt(l))){for(l++;l<a.length&&mt(a.charCodeAt(l));)l++;ut=l}else $=3;return a.substring(E,ut)}function X(){let E="",ut=l;for(;;){if(l>=g){E+=a.substring(ut,l),$=2;break}let xt=a.charCodeAt(l);if(xt===34){E+=a.substring(ut,l),l++;break}if(xt!==92){if(xt>=0&&xt<=31){if(ct(xt)){E+=a.substring(ut,l),$=2;break}$=6}l++}else{if(E+=a.substring(ut,l),l++,l>=g){$=2;break}switch(a.charCodeAt(l++)){case 34:E+='"';break;case 92:E+="\\";break;case 47:E+="/";break;case 98:E+="\b";break;case 102:E+="\f";break;case 110:E+=`
|
|
5
5
|
`;break;case 114:E+="\r";break;case 116:E+=" ";break;case 117:let F=et(4);F>=0?E+=String.fromCharCode(F):$=4;break;default:$=5}ut=l}}return E}function nt(){if(y="",$=0,v=l,S=C,W=R,l>=g)return v=g,d=17;let E=a.charCodeAt(l);if(st(E)){do l++,y+=String.fromCharCode(E),E=a.charCodeAt(l);while(st(E));return d=15}if(ct(E))return l++,y+=String.fromCharCode(E),E===13&&a.charCodeAt(l)===10&&(l++,y+=`
|
|
6
6
|
`),C++,R=l,d=14;switch(E){case 123:return l++,d=1;case 125:return l++,d=2;case 91:return l++,d=3;case 93:return l++,d=4;case 58:return l++,d=6;case 44:return l++,d=5;case 34:return l++,y=X(),d=10;case 47:let ut=l-1;if(a.charCodeAt(l+1)===47){for(l+=2;l<g&&!ct(a.charCodeAt(l));)l++;return y=a.substring(ut,l),d=12}if(a.charCodeAt(l+1)===42){l+=2;let xt=g-1,F=!1;for(;l<xt;){let I=a.charCodeAt(l);if(I===42&&a.charCodeAt(l+1)===47){l+=2,F=!0;break}l++,ct(I)&&(I===13&&a.charCodeAt(l)===10&&l++,C++,R=l)}return F||(l++,$=1),y=a.substring(ut,l),d=13}return y+=String.fromCharCode(E),l++,d=16;case 45:if(y+=String.fromCharCode(E),l++,l===g||!mt(a.charCodeAt(l)))return d=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return y+=Q(),d=11;default:for(;l<g&&It(E);)l++,E=a.charCodeAt(l);if(v!==l){switch(y=a.substring(v,l),y){case"true":return d=8;case"false":return d=9;case"null":return d=7}return d=16}return y+=String.fromCharCode(E),l++,d=16}}function It(E){if(st(E)||ct(E))return!1;switch(E){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function Ot(){let E;do E=nt();while(E>=12&&E<=15);return E}return k(et,"scanHexDigits"),k(Y,"setPosition"),k(Q,"scanNumber"),k(X,"scanString"),k(nt,"scanNext"),k(It,"isUnknownContentCharacter"),k(Ot,"scanNextNonTrivia"),{setPosition:Y,getPosition:k(()=>l,"getPosition"),scan:p?Ot:nt,getToken:k(()=>d,"getToken"),getTokenValue:k(()=>y,"getTokenValue"),getTokenOffset:k(()=>v,"getTokenOffset"),getTokenLength:k(()=>l-v,"getTokenLength"),getTokenStartLine:k(()=>S,"getTokenStartLine"),getTokenStartCharacter:k(()=>v-W,"getTokenStartCharacter"),getTokenError:k(()=>$,"getTokenError")}}function st(a){return a===32||a===9}function ct(a){return a===10||a===13}function mt(a){return a>=48&&a<=57}var Rt,u;k(z,"createScanner"),k(st,"isWhiteSpace"),k(ct,"isLineBreak"),k(mt,"isDigit"),(u=Rt||(Rt={}))[u.lineFeed=10]="lineFeed",u[u.carriageReturn=13]="carriageReturn",u[u.space=32]="space",u[u._0=48]="_0",u[u._1=49]="_1",u[u._2=50]="_2",u[u._3=51]="_3",u[u._4=52]="_4",u[u._5=53]="_5",u[u._6=54]="_6",u[u._7=55]="_7",u[u._8=56]="_8",u[u._9=57]="_9",u[u.a=97]="a",u[u.b=98]="b",u[u.c=99]="c",u[u.d=100]="d",u[u.e=101]="e",u[u.f=102]="f",u[u.g=103]="g",u[u.h=104]="h",u[u.i=105]="i",u[u.j=106]="j",u[u.k=107]="k",u[u.l=108]="l",u[u.m=109]="m",u[u.n=110]="n",u[u.o=111]="o",u[u.p=112]="p",u[u.q=113]="q",u[u.r=114]="r",u[u.s=115]="s",u[u.t=116]="t",u[u.u=117]="u",u[u.v=118]="v",u[u.w=119]="w",u[u.x=120]="x",u[u.y=121]="y",u[u.z=122]="z",u[u.A=65]="A",u[u.B=66]="B",u[u.C=67]="C",u[u.D=68]="D",u[u.E=69]="E",u[u.F=70]="F",u[u.G=71]="G",u[u.H=72]="H",u[u.I=73]="I",u[u.J=74]="J",u[u.K=75]="K",u[u.L=76]="L",u[u.M=77]="M",u[u.N=78]="N",u[u.O=79]="O",u[u.P=80]="P",u[u.Q=81]="Q",u[u.R=82]="R",u[u.S=83]="S",u[u.T=84]="T",u[u.U=85]="U",u[u.V=86]="V",u[u.W=87]="W",u[u.X=88]="X",u[u.Y=89]="Y",u[u.Z=90]="Z",u[u.asterisk=42]="asterisk",u[u.backslash=92]="backslash",u[u.closeBrace=125]="closeBrace",u[u.closeBracket=93]="closeBracket",u[u.colon=58]="colon",u[u.comma=44]="comma",u[u.dot=46]="dot",u[u.doubleQuote=34]="doubleQuote",u[u.minus=45]="minus",u[u.openBrace=123]="openBrace",u[u.openBracket=91]="openBracket",u[u.plus=43]="plus",u[u.slash=47]="slash",u[u.formFeed=12]="formFeed",u[u.tab=9]="tab",new Array(20).fill(0).map((a,p)=>" ".repeat(p));let jt=200;var he,De,Mt;function be(a,p=[],g=he.DEFAULT){let l=null,y=[],v=[];function d(C){Array.isArray(y)?y.push(C):l!==null&&(y[l]=C)}return k(d,"onValue"),Ce(a,{onObjectBegin:k(()=>{let C={};d(C),v.push(y),y=C,l=null},"onObjectBegin"),onObjectProperty:k(C=>{l=C},"onObjectProperty"),onObjectEnd:k(()=>{y=v.pop()},"onObjectEnd"),onArrayBegin:k(()=>{let C=[];d(C),v.push(y),y=C,l=null},"onArrayBegin"),onArrayEnd:k(()=>{y=v.pop()},"onArrayEnd"),onLiteralValue:d,onError:k((C,S,R)=>{p.push({error:C,offset:S,length:R})},"onError")},g),y[0]}function Ce(a,p,g=he.DEFAULT){let l=z(a,!1),y=[],v=0;function d(q){return q?()=>v===0&&q(l.getTokenOffset(),l.getTokenLength(),l.getTokenStartLine(),l.getTokenStartCharacter()):()=>!0}function C(q){return q?at=>v===0&&q(at,l.getTokenOffset(),l.getTokenLength(),l.getTokenStartLine(),l.getTokenStartCharacter()):()=>!0}function S(q){return q?at=>v===0&&q(at,l.getTokenOffset(),l.getTokenLength(),l.getTokenStartLine(),l.getTokenStartCharacter(),()=>y.slice()):()=>!0}function R(q){return q?()=>{v>0?v++:q(l.getTokenOffset(),l.getTokenLength(),l.getTokenStartLine(),l.getTokenStartCharacter(),()=>y.slice())===!1&&(v=1)}:()=>!0}function W(q){return q?()=>{v>0&&v--,v===0&&q(l.getTokenOffset(),l.getTokenLength(),l.getTokenStartLine(),l.getTokenStartCharacter())}:()=>!0}k(d,"toNoArgVisit"),k(C,"toOneArgVisit"),k(S,"toOneArgVisitWithPath"),k(R,"toBeginVisit"),k(W,"toEndVisit");let $=R(p.onObjectBegin),et=S(p.onObjectProperty),Y=W(p.onObjectEnd),Q=R(p.onArrayBegin),X=W(p.onArrayEnd),nt=S(p.onLiteralValue),It=C(p.onSeparator),Ot=d(p.onComment),E=C(p.onError),ut=g&&g.disallowComments,xt=g&&g.allowTrailingComma;function F(){for(;;){let q=l.scan();switch(l.getTokenError()){case 4:I(14);break;case 5:I(15);break;case 3:I(13);break;case 1:ut||I(11);break;case 2:I(12);break;case 6:I(16)}switch(q){case 12:case 13:ut?I(10):Ot();break;case 16:I(1);break;case 15:case 14:break;default:return q}}}function I(q,at=[],Ze=[]){if(E(q),at.length+Ze.length>0){let de=l.getToken();for(;de!==17;){if(at.indexOf(de)!==-1){F();break}if(Ze.indexOf(de)!==-1)break;de=F()}}}function Re(q){let at=l.getTokenValue();return q?nt(at):(et(at),y.push(at)),F(),!0}function ze(){switch(l.getToken()){case 11:let q=l.getTokenValue(),at=Number(q);isNaN(at)&&(I(2),at=0),nt(at);break;case 7:nt(null);break;case 8:nt(!0);break;case 9:nt(!1);break;default:return!1}return F(),!0}function Ye(){return l.getToken()!==10?(I(3,[],[2,5]),!1):(Re(!1),l.getToken()===6?(It(":"),F(),Zt()||I(4,[],[2,5])):I(5,[],[2,5]),y.pop(),!0)}function Qe(){$(),F();let q=!1;for(;l.getToken()!==2&&l.getToken()!==17;){if(l.getToken()===5){if(q||I(4,[],[]),It(","),F(),l.getToken()===2&&xt)break}else q&&I(6,[],[]);Ye()||I(4,[],[2,5]),q=!0}return Y(),l.getToken()!==2?I(7,[2],[]):F(),!0}function Xe(){Q(),F();let q=!0,at=!1;for(;l.getToken()!==4&&l.getToken()!==17;){if(l.getToken()===5){if(at||I(4,[],[]),It(","),F(),l.getToken()===4&&xt)break}else at&&I(6,[],[]);q?(y.push(0),q=!1):y[y.length-1]++,Zt()||I(4,[],[4,5]),at=!0}return X(),q||y.pop(),l.getToken()!==4?I(8,[4],[]):F(),!0}function Zt(){switch(l.getToken()){case 3:return Xe();case 1:return Qe();case 10:return Re(!0);default:return ze()}}return k(F,"scanNext"),k(I,"handleError"),k(Re,"parseString"),k(ze,"parseLiteral"),k(Ye,"parseProperty"),k(Qe,"parseObject"),k(Xe,"parseArray"),k(Zt,"parseValue"),F(),l.getToken()===17?!!g.allowEmptyContent||(I(4,[],[]),!1):Zt()?(l.getToken()!==17&&I(9,[],[]),!0):(I(4,[],[]),!1)}new Array(jt).fill(0).map((a,p)=>`
|
|
7
7
|
`+" ".repeat(p)),new Array(jt).fill(0).map((a,p)=>"\r"+" ".repeat(p)),new Array(jt).fill(0).map((a,p)=>`\r
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.304 | (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 m,b as T}from"./chunk-
|
|
4
|
+
import{a as m,b as T}from"./chunk-JDKWIB6V.js";import{a as w,b as A,c as C}from"./chunk-W3CSYOSQ.js";import{a as I}from"./chunk-FNI75AD7.js";import{a as _,d as E}from"./chunk-YXHO2OUL.js";import{G as O,o as x,q as f}from"./chunk-7RFXZXKH.js";import h from"fs";import v from"path";var c="default",j="profiles.json",a=1;function s(e){let r=e.trim();if(!r)throw new Error("profile id is required");if(!/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(r))throw new Error("profile ids must start with a letter or number and contain only letters, numbers, dot, dash, or underscore");if(r==="."||r==="..")throw new Error(`invalid profile id: ${r}`);return r}function g(){return v.join(f(),j)}function H(e){return`sootsim-profile-${s(e)}`}function z(e){return v.join(x(),"Partitions",H(e))}function y(e){return v.join(f(),"playwright",s(e))}function b(){try{let e=JSON.parse(h.readFileSync(g(),"utf8"));if(!e||e.version!==a)return{version:a,profiles:[]};let r=Array.isArray(e.profiles)?e.profiles.filter(t=>!!t&&typeof t.id=="string"&&typeof t.createdAt=="string"&&typeof t.updatedAt=="string").map(t=>({id:s(t.id),createdAt:t.createdAt,updatedAt:t.updatedAt})):[];return{version:a,profiles:r}}catch{return{version:a,profiles:[]}}}function M(e){return[...e].sort((r,t)=>r.id===c?-1:t.id===c?1:r.id.localeCompare(t.id))}function P(e){if(e.profiles.some(t=>t.id===c))return{...e,profiles:M(e.profiles)};let r=new Date().toISOString();return{version:a,profiles:M([{id:c,createdAt:r,updatedAt:r},...e.profiles])}}function S(e){O();let r=P(e),t=`${g()}.tmp`;return h.writeFileSync(t,`${JSON.stringify(r,null,2)}
|
|
5
5
|
`,"utf8"),h.renameSync(t,g()),r}function K(){return S(b()).profiles}function Y(e){let r=s(e);return K().find(t=>t.id===r)??null}function L(e=c){let r=s(e),t=Y(r);return t||V(r)}function V(e){let r=s(e),t=P(b());if(t.profiles.some(i=>i.id===r))throw new Error(`profile already exists: ${r}`);let o=new Date().toISOString(),n={id:r,createdAt:o,updatedAt:o};return S({version:a,profiles:[...t.profiles,n]}),n}function ge(e){let r=s(e);if(r===c)throw new Error("the default profile cannot be deleted; clear it instead");let t=P(b()),o=t.profiles.find(n=>n.id===r);if(!o)throw new Error(`profile not found: ${r}`);return S({version:a,profiles:t.profiles.filter(n=>n.id!==r)}),J(r),o}function J(e){let r=s(e);for(let t of[z(r),y(r)])try{h.rmSync(t,{recursive:!0,force:!0})}catch{}}function X(){let e=w();return e?{available:!0,reason:null,detail:e}:{available:!1,reason:"no chromium-family browser found (chrome, chromium, edge, brave, arc)"}}async function Z(e){if(e.headless)return{launched:!1,message:"the chromium driver launches a visible browser window and cannot run headless \u2014 a headless `chrome --headless=new` process exits immediately and the sim never connects. for headless automation use `--driver playwright`."};let r=w();if(!r)return{launched:!1,message:"chromium not found \u2014 install chrome or run `sootsim list --drivers`"};if(!e.url)return{launched:!1,message:"chromium driver requires a target url"};if(e.profileId||e.ephemeralProfile)return{launched:!1,message:"profiles require electron or playwright; browser tabs use your current Chrome profile"};try{let t=await C(e.url,{detached:e.detached??!0});return{launched:!0,message:`chromium launched \u2192 ${e.url}`,pid:t.pid,target:t.target??r,attachUrl:e.url}}catch(t){return{launched:!1,message:`chromium spawn failed: ${t instanceof Error?t.message:String(t)}`}}}var R={id:"chromium",name:"chromium",description:"system chrome / chromium / edge \u2014 visible window (headless: use playwright)",kind:"browser",availability:X,launch:Z};function Q(){let e=m();return e?{available:!0,reason:null,detail:`${e.kind} @ ${e.path}`}:{available:!1,reason:"sootsim desktop app not installed (run `sootsim desktop install`)"}}async function ee(e){let r=m();if(!r)return{launched:!1,message:"sootsim desktop app not installed"};try{let t=await T(e.url,r,{device:e.device,profileId:e.profileId,ephemeralProfile:e.ephemeralProfile,ownerPid:e.ownerPid});return t.launched?{launched:!0,message:e.url?`electron launched via ${t.via} \u2192 ${e.url}`:`electron launched via ${t.via}`,target:t.target,attachUrl:e.url}:{launched:!1,message:"desktop companion failed to start"}}catch(t){return{launched:!1,message:`electron launch failed: ${t instanceof Error?t.message:String(t)}`}}}var W={id:"electron",name:"electron",description:"sootsim desktop companion app (native window, menu bar)",kind:"native",availability:Q,launch:ee};import{spawn as re}from"child_process";import{closeSync as te,mkdtempSync as oe,openSync as ie,readFileSync as ne}from"fs";import{createRequire as se}from"module";import{tmpdir as N}from"os";import{join as $}from"path";var ae=`
|
|
6
6
|
const modulePath = process.env.SOOTSIM_PW_MODULE;
|
|
7
7
|
const url = process.env.SOOTSIM_PW_URL;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.304 | (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 b,execSync as A}from"node:child_process";var p=new WeakMap,u=new Set,y=!1;function d(){return{platform:process.platform,env:process.env}}function g(e=d()){return e.platform==="linux"&&e.env.GITHUB_ACTIONS==="true"&&e.env.RUNNER_OS==="Linux"}function I(e){let r=String(e);return/^--disable-gpu(?:=.*)?$/i.test(r)||/^--enable-unsafe-swiftshader(?:=.*)?$/i.test(r)||/^--use-angle=(?:swiftshader|swiftshader-webgl)$/i.test(r)||/^--use-gl=swiftshader$/i.test(r)}function E(e){return e.match(/(?:^|\s)(--disable-gpu(?:=[^\s]+)?|--enable-unsafe-swiftshader(?:=[^\s]+)?|--use-angle=(?:swiftshader|swiftshader-webgl)|--use-gl=swiftshader)(?=\s|$)/i)?.[1]??null}function v(e){return e==="darwin"?"metal":e==="linux"?"vulkan":"default"}function P(e,r=d()){if(g(r))return;let n=E(e);if(n)throw new Error(`[reap-browser] refused software-rendering Chrome process argument ${n}`);let o=v(r.platform),s=e.split(/\s+/);if(!s.includes(`--use-angle=${o}`)||!s.includes("--enable-gpu"))throw new Error(`[reap-browser] Chrome process did not retain the required ${o} GPU arguments`);if(r.platform==="darwin"&&e.includes("/Applications/Google Chrome.app/"))throw new Error("[reap-browser] refused the user's installed Google Chrome; use Playwright channel chromium")}function G(e){if(!e||typeof e!="object")return[];let n=e.gpu;if(!n||typeof n!="object")return[];let o=n,s=[],a=o.auxAttributes;if(a&&typeof a=="object")for(let t of Object.values(a))typeof t=="string"&&s.push(t);let i=o.devices;if(Array.isArray(i)){for(let t of i)if(!(!t||typeof t!="object"))for(let c of Object.values(t))typeof c=="string"&&s.push(c)}return s}function C(e){if(!e||typeof e!="object")return null;let r=e;if(!Array.isArray(r.processInfo))return null;for(let n of r.processInfo){if(!n||typeof n!="object")continue;let o=n;if(o.type==="browser"&&typeof o.id=="number"&&Number.isInteger(o.id)&&o.id>0)return o.id}return null}function L(e,r=d()){if(g(r))return;let o=G(e).join(" | ");if(!o||/swiftshader|llvmpipe|software rasterizer/i.test(o))throw new Error(`[reap-browser] Chrome reported a software renderer${o?`: ${o}`:""}`);if(r.platform==="darwin"&&!/metal/i.test(o))throw new Error(`[reap-browser] Chrome did not report an ANGLE Metal renderer: ${o}`)}function w(e){if(e&&typeof e=="object"){let n=p.get(e);if(n!==void 0)return n}let r=e;if(r&&typeof r.process=="function")try{let n=r.process();if(n&&typeof n.pid=="number"&&n.pid>0)return n.pid}catch{}if(r&&typeof r.browser=="function")try{let n=r.browser();if(n)return w(n)}catch{}return null}function h(e){let r=[];try{r=A(`pgrep -P ${e} || true`).toString().split(`
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.304 | (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{b as A,e as T,g as E}from"./chunk-
|
|
4
|
+
import{b as A,e as T,g as E}from"./chunk-YXHO2OUL.js";import{K as S,L as I,M as B,N as P,g as F}from"./chunk-7RFXZXKH.js";var b="http://localhost:5173/";import{WebSocket as $}from"ws";var W=null;function M(){let i=F();if(W?.homeDir===i)return W.world;let r=_();return W={homeDir:i,world:r},r}function _(){let i=I();if(i&&P(i))return{source:"dev-bridge",bridgePort:i.bridgePort,shellBaseUrl:i.shellPort?`http://localhost:${i.shellPort}/`:b};let r=S();return r&&B(r)?{source:"daemon",bridgePort:r.bridgePort,shellBaseUrl:r.runtimePort>0?`http://localhost:${r.runtimePort}/`:b}:{source:"default",bridgePort:7668,shellBaseUrl:b}}function U(i){let r=I();if(r&&P(r)&&r.bridgePort===i)return{source:"dev-bridge",shellBaseUrl:r.shellPort?`http://localhost:${r.shellPort}/`:b};let e=S();return e&&B(e)&&e.bridgePort===i?{source:"daemon",shellBaseUrl:e.runtimePort>0?`http://localhost:${e.runtimePort}/`:b}:null}function Q(i){let r;try{let l=new URL(i);r=l.port?Number(l.port):l.protocol==="https:"?443:80}catch{return null}if(!Number.isFinite(r)||r<=0)return null;let e=I();if(e&&P(e)&&(e.shellPort===r||e.runtimePort===r||e.bridgePort===r))return e.bridgePort;let d=S();return d&&B(d)&&(d.runtimePort===r||d.bridgePort===r)?d.bridgePort:null}function D(){return M().bridgePort}function z(i,r){let e=U(i),d=e?.source==="dev-bridge"?"dev bridge":e?.source==="daemon"?"daemon bridge":"bridge",l=e?`${e.source}.json`:"no lockfile",t=r??e?.shellBaseUrl;process.stderr.write(` \u2192 ${d} :${i} (${t?`shell ${t}, `:""}${l})
|
|
5
5
|
`)}var C=class extends Error{lock;constructor(r,e){super(r),this.name="BridgeSimLockedError",this.lock=e}};function N(i){return i==="flag"?"via --sim":i==="saved"?"saved via `sootsim use`":"primary fallback \u2014 no sim pinned"}function X(i,r={}){let e=new Set,d=r.port??D(),l=r.commandTimeoutMs??15e3,t,u="none",v=new Set(r.stripBooleanFlags??[]),y=new Set(r.stripValueFlags??[]);for(let n=0;n<i.length;n++){let a=i[n];if(a==="--port"||a==="-p"){e.add(n),n+1<i.length&&(e.add(n+1),d=Number(i[n+1])),n++;continue}if(a.startsWith("--port=")){e.add(n),d=Number(a.slice(7));continue}if(a==="--timeout"){e.add(n),n+1<i.length&&(e.add(n+1),l=Number(i[n+1])),n++;continue}if(a==="--sim"||a==="--session"||a==="--tab"){e.add(n),n+1<i.length&&(e.add(n+1),t=i[n+1]?.trim()||void 0,u="flag"),n++;continue}let s=a.startsWith("--sim=")?a.slice(6):a.startsWith("--session=")?a.slice(10):a.startsWith("--tab=")?a.slice(6):void 0;if(s!==void 0){e.add(n),t=s.trim()||void 0,u="flag";continue}if(v.has(a)){e.add(n);continue}y.has(a)&&(e.add(n),n+1<i.length&&e.add(n+1),n++)}if(!t){let n=T();n&&(t=n.trim()||void 0,u="saved")}return{positional:i.filter((n,a)=>!e.has(a)),wsPort:d,simId:t,simIdSource:u,commandTimeoutMs:l}}function R(i,r={}){let e=1,d=r.commandTimeoutMs??15e3,l=new Map,t=new $(`ws://localhost:${i}`),u=A(),v=new Promise((s,o)=>{t.on("open",()=>{try{t.send(JSON.stringify({type:"bridge:hello",id:0,cliIdentityKey:u.key,cliIdentitySource:u.source,cliLabel:r.cliLabel}))}catch{}s()}),t.on("error",c=>{let m=c.message?`: ${c.message}`:"";o(new Error(`could not connect to ws://localhost:${i}${m}`))})}),y=!1,n=!1;function a(s,o){if(n||process.env.SOOTSIM_QUIET_TARGET_NOTICE==="1"||s.startsWith("bridge:")||s==="focus"||s==="close")return;n=!0;let c=o??"primary",m=N(o?r.simIdSource:"none");process.stderr.write(` \u2192 ${c} (${m})
|
|
6
6
|
`)}return t.on("message",s=>{let o;try{o=JSON.parse(s.toString())}catch{return}if(o.id===0)return;let c=l.get(o.id);c&&(l.delete(o.id),o._otherCliCount>0&&!y&&(y=!0,process.stderr.write(`
|
|
7
7
|
\u26A0 ${o._otherCliCount} other CLI identity/identities are driving this sim
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.304 | (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{c as f}from"./chunk-
|
|
4
|
+
import{c as f}from"./chunk-YXHO2OUL.js";import{existsSync as w,mkdirSync as g,readFileSync as h,writeFileSync as S,rmSync as q}from"fs";import{tmpdir as y}from"os";import{dirname as b,join as p}from"path";var m=new Map;function o(e,t){m.set(e,t)}var s=1;function a(){return p(y(),`sootsim-cli-hints-${f()}.json`)}function d(){return p(y(),"sootsim-cli-hints-global.json")}function u(e){if(!w(e))return{version:s,shown:{}};try{let t=JSON.parse(h(e,"utf8"));return t?.version!==s||!t?.shown?{version:s,shown:{}}:t}catch{return{version:s,shown:{}}}}function l(e,t){try{g(b(e),{recursive:!0}),S(e,JSON.stringify(t)+`
|
|
5
5
|
`)}catch{}}function v(){let e=(process.env.SOOTSIM_HINTS||"").toLowerCase();return e==="off"||e==="0"||e==="false"?"off":e==="always"||e==="verbose"?"always":"normal"}function H(e,t){let i=v();if(i==="off")return!1;if(i==="always"||t==="always")return!0;let r=Date.now();if(t==="once-per-identity"){let n=u(a());return n.shown[e]?!1:(n.shown[e]=r,l(a(),n),!0)}if(t==="once-ever"){let n=u(d());return n.shown[e]?!1:(n.shown[e]=r,l(d(),n),!0)}if(typeof t=="object"&&"cooldownMs"in t){let n=u(a()),c=n.shown[e]??0;return r-c<t.cooldownMs?!1:(n.shown[e]=r,l(a(),n),!0)}return!0}function A(e,...t){let i=m.get(e);if(!i)return process.env.SOOTSIM_HINTS_DEBUG&&console.error(` [hints] no hint registered for id "${e}"`),!1;if(!H(e,i.frequency))return!1;let r=i.render(...t);if(r==null)return!1;let n=Array.isArray(r)?r:[r];for(let c of n)console.error(` hint: ${c}`);return!0}o("app-still-loading",{frequency:{cooldownMs:6e4},render:e=>`app may still be loading (${e} nodes). run \`sootsim wait ready\` first.`});o("wait-selector-for-missing-testid",{frequency:"once-per-identity",render:e=>`sootsim wait selector ${e}`});o("prefer-cli-over-eval",{frequency:"once-per-identity",render:e=>e.length?["try the CLI shortcut instead:",...e.map(t=>` ${t}`)]:null});o("describe-use-filters",{frequency:"once-per-identity",render:()=>["describe output is long. narrow it with:"," sootsim describe --only '*Bottom Sheet*'"," sootsim describe --testid-like 'swap-*'"," sootsim describe --subtree <testID>"]});o("describe-filter-context",{frequency:"once-per-identity",render:()=>["filtered describe is search output, not current-route proof.","run `sootsim describe` without filters after navigation; clipped nodes are marked `(clipped:...)`."]});o("subtree-root-not-found",{frequency:"always",render:e=>`no node with testID/id "${e}" \u2014 try \`sootsim find --testid ${e}\` to discover available ids.`});o("clean-uninstall",{frequency:"once-ever",render:()=>["to remove the background daemon and all ~/.sootsim data, run `sootsim daemon uninstall`.","the optional desktop app and its macOS preference plist are separate from the daemon."]});export{A as a};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.304 | (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 d,spawn as g}from"child_process";import{existsSync as m}from"fs";import{homedir as h}from"os";import{join as C}from"path";var f=["/Applications/Google Chrome.app/Contents/MacOS/Google Chrome","~/Applications/Google Chrome.app/Contents/MacOS/Google Chrome","/Applications/Chromium.app/Contents/MacOS/Chromium","~/Applications/Chromium.app/Contents/MacOS/Chromium","/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge","~/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge","/Applications/Brave Browser.app/Contents/MacOS/Brave Browser","~/Applications/Brave Browser.app/Contents/MacOS/Brave Browser","/Applications/Arc.app/Contents/MacOS/Arc","~/Applications/Arc.app/Contents/MacOS/Arc"],O=["/usr/bin/google-chrome","/usr/bin/chromium","/usr/bin/chromium-browser","/usr/bin/microsoft-edge","/usr/bin/brave-browser","/snap/bin/chromium"],w=["C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe","C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe","C:\\Program Files\\Microsoft\\Edge\\Application\\msedge.exe","C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe","C:\\Program Files\\BraveSoftware\\Brave-Browser\\Application\\brave.exe","C:\\Program Files (x86)\\BraveSoftware\\Brave-Browser\\Application\\brave.exe"],U=["google-chrome","chromium","chromium-browser","microsoft-edge","brave-browser"],M=["chrome","msedge","brave"];function A(r){return r.startsWith("~/")?C(h(),r.slice(2)):r}function a(r){for(let n of r){let o=A(n);if(m(o))return o}return null}function x(r,n){try{let e=d(n==="win32"?"where":"which",[r],{encoding:"utf8",timeout:1500,stdio:["ignore","pipe","ignore"]}).trim();return e?e.split(/\r?\n/)[0]:null}catch{return null}}function c(r=process.platform){let n=process.env.CHROME_PATH||process.env.CHROMIUM_PATH;if(n&&m(n))return n;let o=a(r==="darwin"?f:r==="win32"?w:O);if(o)return o;let e=r==="win32"?M:U;for(let t of e){let i=x(t,r);if(i)return i}return null}function p(r,n={}){if(!r)throw new Error("openUrl requires a url");let o=n.platform??process.platform;return n.newWindow?s(r,{...n,platform:o,newWindow:!0}):o==="darwin"?{command:"open",args:n.background===!1?[r]:["-g",r],via:"system"}:o==="win32"?{command:"cmd",args:["/c","start","",r],via:"system"}:{command:"xdg-open",args:[r],via:"system"}}function s(r,n={}){if(!r)throw new Error("openUrl requires a url");let o=n.platform??process.platform,e="chromiumBinary"in n?n.chromiumBinary:c(o);if(!e)throw new Error("browser launch requires Chrome, Chromium, Edge, Brave, or Arc");let t=[];return n.newWindow!==!1&&t.push("--new-window"),t.push(r),{command:e,args:t,via:"chromium",target:e}}async function l(r,n,o){return new Promise((e,t)=>{let i=g(r,n,{detached:o,stdio:"ignore"});i.once("error",t),i.once("spawn",()=>{o&&i.unref(),e(i.pid)})})}async function u(r,n={}){let o=p(r,n),e=await l(o.command,o.args,n.detached??!0);return{...o,pid:e,attachUrl:r}}async function b(r,n={}){let o=s(r,n),e=await l(o.command,o.args,n.detached??!0);return{...o,pid:e,attachUrl:r}}async function v(r,n={}){await u(r,n)}export{c as a,u as b,b as c,v as d};
|