sootsim 0.1.121 → 0.1.123

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/dist-cli/bin.js +4 -4
  2. package/dist-cli/chunks/{agent-NZ4A6JKO.js → agent-7UEXHC74.js} +2 -2
  3. package/dist-cli/chunks/{agent-wrapper-CYQ5L2YH.js → agent-wrapper-N3Y5JUOK.js} +2 -2
  4. package/dist-cli/chunks/{app-fonts-2DF4NW5D.js → app-fonts-YBLWJSIB.js} +2 -2
  5. package/dist-cli/chunks/{assert-PASM5PLL.js → assert-7HT2IBPA.js} +2 -2
  6. package/dist-cli/chunks/auto-bootstrap-6QPJNAFZ.js +2 -0
  7. package/dist-cli/chunks/beta-RA5NVED7.js +2 -0
  8. package/dist-cli/chunks/{chunk-GU3MWKJY.js → chunk-26R4EYTV.js} +1 -1
  9. package/dist-cli/chunks/{chunk-KTE2VIXH.js → chunk-2ESPGMYD.js} +3 -3
  10. package/dist-cli/chunks/{chunk-5OA35LZX.js → chunk-2MAZ4FWI.js} +2 -2
  11. package/dist-cli/chunks/{chunk-I26R4PE2.js → chunk-2Y24I2A3.js} +1 -1
  12. package/dist-cli/chunks/{chunk-3A7SRWSQ.js → chunk-4554FEPX.js} +2 -2
  13. package/dist-cli/chunks/{chunk-SF6W3FRS.js → chunk-46GLYZDL.js} +1 -1
  14. package/dist-cli/chunks/{chunk-7CA63OS4.js → chunk-54MYCRSA.js} +1 -1
  15. package/dist-cli/chunks/{chunk-QNQO5VHO.js → chunk-7433ONJR.js} +2 -2
  16. package/dist-cli/chunks/{chunk-NQ4EDJV4.js → chunk-7L4XI34A.js} +6 -6
  17. package/dist-cli/chunks/{chunk-MSU27JEW.js → chunk-BBEMA3ZH.js} +2 -2
  18. package/dist-cli/chunks/{chunk-KY6NY6WN.js → chunk-CGARJK4O.js} +1 -1
  19. package/dist-cli/chunks/{chunk-PMAKUYYK.js → chunk-DIH4EEFT.js} +2 -2
  20. package/dist-cli/chunks/{chunk-Y7ZMV3PG.js → chunk-DTHU37OI.js} +1 -1
  21. package/dist-cli/chunks/{chunk-OBYYAT4F.js → chunk-DVB53K4R.js} +2 -2
  22. package/dist-cli/chunks/{chunk-CGB6KRKN.js → chunk-EKXKWP2Z.js} +5 -5
  23. package/dist-cli/chunks/chunk-FEO7LRD4.js +1 -0
  24. package/dist-cli/chunks/{chunk-VALW4SKE.js → chunk-GKRYL2NS.js} +1 -1
  25. package/dist-cli/chunks/{chunk-DORQQNP4.js → chunk-H2OI6CGN.js} +2 -2
  26. package/dist-cli/chunks/{chunk-7RXO4KKF.js → chunk-HIZD6RBT.js} +1 -1
  27. package/dist-cli/chunks/{chunk-4BXESMZ7.js → chunk-HKEH5FQ2.js} +1 -1
  28. package/dist-cli/chunks/{chunk-W3FBNBTX.js → chunk-HMPB3UOI.js} +2 -2
  29. package/dist-cli/chunks/chunk-HTZ6H5WJ.js +1 -0
  30. package/dist-cli/chunks/{chunk-SRA2TVCG.js → chunk-IYAJCTDE.js} +1 -1
  31. package/dist-cli/chunks/chunk-JL26L3YO.js +33 -0
  32. package/dist-cli/chunks/{chunk-X4LYRBLZ.js → chunk-K22QL53C.js} +1 -1
  33. package/dist-cli/chunks/{chunk-B77PWTHR.js → chunk-KVM5C2VS.js} +2 -2
  34. package/dist-cli/chunks/chunk-L3BNIE26.js +4 -0
  35. package/dist-cli/chunks/{chunk-Z47GWZMZ.js → chunk-LVBTKRBM.js} +3 -3
  36. package/dist-cli/chunks/{chunk-SA5RP334.js → chunk-M5MHSOH6.js} +2 -2
  37. package/dist-cli/chunks/{chunk-MUTDER75.js → chunk-NAQF2ELK.js} +2 -2
  38. package/dist-cli/chunks/chunk-NU6ECUKP.js +2 -0
  39. package/dist-cli/chunks/{chunk-IQNZPHGD.js → chunk-OJB2YYFR.js} +2 -2
  40. package/dist-cli/chunks/{chunk-VSKLWCFM.js → chunk-PK442VOB.js} +2 -2
  41. package/dist-cli/chunks/{chunk-WHL7FMLG.js → chunk-QJPILTXK.js} +1 -1
  42. package/dist-cli/chunks/{chunk-LT2X5ISU.js → chunk-QKYPXERV.js} +2 -2
  43. package/dist-cli/chunks/{chunk-3WDN2S2A.js → chunk-QNGYCFTQ.js} +2 -2
  44. package/dist-cli/chunks/{chunk-VX5CAWLC.js → chunk-RDS7O4GJ.js} +2 -2
  45. package/dist-cli/chunks/{chunk-3DDNLPIH.js → chunk-RM7CKKXW.js} +2 -2
  46. package/dist-cli/chunks/{chunk-RVWJ3TAE.js → chunk-SORDKCQX.js} +2 -2
  47. package/dist-cli/chunks/{chunk-OEV7EOMC.js → chunk-T7JC2PB7.js} +2 -2
  48. package/dist-cli/chunks/{chunk-4UQMPWDA.js → chunk-TRWVVERC.js} +2 -2
  49. package/dist-cli/chunks/chunk-TYBEJFWV.js +1 -0
  50. package/dist-cli/chunks/{chunk-VSRV5LFU.js → chunk-UJJZU7BD.js} +1 -1
  51. package/dist-cli/chunks/{chunk-2U4CGOD6.js → chunk-ZUGEBK3G.js} +2 -2
  52. package/dist-cli/chunks/cli-version-67W35P43.js +2 -0
  53. package/dist-cli/chunks/{compat-FMBQL2CX.js → compat-P2M4T3FP.js} +3 -3
  54. package/dist-cli/chunks/{config-JD23SW7N.js → config-OVUHUSR7.js} +2 -2
  55. package/dist-cli/chunks/control-G5SOJSPE.js +2 -0
  56. package/dist-cli/chunks/{cpu-profile-2Z4KGCAE.js → cpu-profile-LRVI4TNA.js} +2 -2
  57. package/dist-cli/chunks/{daemon-NDO6JPDH.js → daemon-YJCEEAIE.js} +2 -2
  58. package/dist-cli/chunks/{debug-RBVMEH33.js → debug-PEJA5EWI.js} +3 -3
  59. package/dist-cli/chunks/{detox-TBJAZEBB.js → detox-RUIKZD2M.js} +2 -2
  60. package/dist-cli/chunks/{device-26YM4HM7.js → device-HEM3J3BN.js} +2 -2
  61. package/dist-cli/chunks/{diagnose-PW7FGUOI.js → diagnose-SEOCWTHH.js} +2 -2
  62. package/dist-cli/chunks/drivers-YYE536KG.js +2 -0
  63. package/dist-cli/chunks/{electron-TBMZ3C5I.js → electron-GIHHLI5F.js} +3 -3
  64. package/dist-cli/chunks/flow-UFIGCF5G.js +2 -0
  65. package/dist-cli/chunks/help-BU77OOJR.js +2 -0
  66. package/dist-cli/chunks/{hints-Q3I4PXMT.js → hints-GREBRHXF.js} +2 -2
  67. package/dist-cli/chunks/{home-paths-P5GMZADH.js → home-paths-Q35ZXJSG.js} +2 -2
  68. package/dist-cli/chunks/{inspect-UTHL2UK4.js → inspect-MJ6FVVUA.js} +3 -3
  69. package/dist-cli/chunks/install-U4MNYWRM.js +2 -0
  70. package/dist-cli/chunks/{install-desktop-XQYE3QYC.js → install-desktop-ECTBYDVD.js} +3 -3
  71. package/dist-cli/chunks/{keys-75OBQ7OF.js → keys-RR42UJM2.js} +2 -2
  72. package/dist-cli/chunks/{launch-TFE3CZZ3.js → launch-ZUMBPMS5.js} +3 -3
  73. package/dist-cli/chunks/{login-EIL5PLK4.js → login-P7QGXPYY.js} +4 -4
  74. package/dist-cli/chunks/{logout-2DXPOPWE.js → logout-KPWM5V3F.js} +2 -2
  75. package/dist-cli/chunks/{maestro-Q27CNJGT.js → maestro-BMKSJAVC.js} +2 -2
  76. package/dist-cli/chunks/{preview-ZGVCXKQZ.js → preview-CXTYD7C3.js} +2 -2
  77. package/dist-cli/chunks/{profile-TCX6GYV5.js → profile-OW36PZ33.js} +2 -2
  78. package/dist-cli/chunks/{react-24D26RLU.js → react-ZP2DMCII.js} +2 -2
  79. package/dist-cli/chunks/{record-3MODR5RQ.js → record-FKZDX7CK.js} +3 -3
  80. package/dist-cli/chunks/runtime-536W4YEQ.js +2 -0
  81. package/dist-cli/chunks/runtime-delivery-NKEWLU2R.js +2 -0
  82. package/dist-cli/chunks/{screenshot-4A6JTLUV.js → screenshot-EJ5YY5A4.js} +2 -2
  83. package/dist-cli/chunks/{screenshot-mode-KVMXLFJ4.js → screenshot-mode-IKPJHCKB.js} +2 -2
  84. package/dist-cli/chunks/{screenshots-XGG6PNXW.js → screenshots-5ULGP3TY.js} +2 -2
  85. package/dist-cli/chunks/{server-MRLLYDV7.js → server-PPRG6ISX.js} +3 -3
  86. package/dist-cli/chunks/setup-repo-7I4PUVTB.js +2 -0
  87. package/dist-cli/chunks/{skills-COR2GQRN.js → skills-WV3ELY6Z.js} +2 -2
  88. package/dist-cli/chunks/{start-SD27AJ7E.js → start-SGUXXNBN.js} +4 -4
  89. package/dist-cli/chunks/store-GOI4SZUQ.js +2 -0
  90. package/dist-cli/chunks/telemetry-MGYSYRR7.js +2 -0
  91. package/dist-cli/chunks/{test-4N6K3C5R.js → test-Z6JSXZED.js} +3 -3
  92. package/dist-cli/chunks/{three-mode-PJQGXIP4.js → three-mode-HLN2VHIP.js} +2 -2
  93. package/dist-cli/chunks/{timeline-C7JSMHCV.js → timeline-NT3K5ZJE.js} +2 -2
  94. package/dist-cli/chunks/{upgrade-SFUV6KPW.js → upgrade-CA2GU3BM.js} +2 -2
  95. package/dist-cli/chunks/upload-R72LSS66.js +2 -0
  96. package/dist-cli/chunks/version-LXZYQAKQ.js +4 -0
  97. package/dist-cli/chunks/{web-GK27H4NM.js → web-UUIWGXRK.js} +2 -2
  98. package/dist-cli/chunks/{what-happened-GAY54LBV.js → what-happened-RXFF4TUK.js} +2 -2
  99. package/dist-cli/chunks/{whoami-C2WULTLS.js → whoami-LBFQTOOY.js} +2 -2
  100. package/dist-lib/agent-daemon-client.cjs +1 -1
  101. package/dist-lib/agent-events.cjs +1 -1
  102. package/dist-lib/agent-sessions.cjs +1 -1
  103. package/dist-lib/attached-projects.cjs +1 -1
  104. package/dist-lib/auth/shared-session.cjs +1 -1
  105. package/dist-lib/backend-origin.cjs +1 -1
  106. package/dist-lib/beta.cjs +1 -1
  107. package/dist-lib/beta.mjs +1 -1
  108. package/dist-lib/bridge-constants.cjs +1 -1
  109. package/dist-lib/cli-constants.cjs +1 -1
  110. package/dist-lib/config.cjs +1 -1
  111. package/dist-lib/detox/index.cjs +1 -1
  112. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  113. package/dist-lib/home-paths.cjs +1 -1
  114. package/dist-lib/host/bridge-host.cjs +1 -1
  115. package/dist-lib/host/fetch-proxy-handler.cjs +1 -1
  116. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  117. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  118. package/dist-lib/host/websocket-proxy.cjs +1 -1
  119. package/dist-lib/index.cjs +1 -1
  120. package/dist-lib/metro.cjs +1 -1
  121. package/dist-lib/profiles.cjs +1 -1
  122. package/dist-lib/render-mode.cjs +1 -1
  123. package/dist-lib/scripts/demo-app-registry.cjs +1 -1
  124. package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
  125. package/dist-lib/sdk.cjs +1 -1
  126. package/dist-lib/sdk.mjs +1 -1
  127. package/dist-lib/skills.cjs +1 -1
  128. package/dist-lib/vite.cjs +1 -1
  129. package/package.json +1 -1
  130. package/src/runtime-delivery.ts +100 -0
  131. package/dist-cli/chunks/auto-bootstrap-IPNK6GF7.js +0 -2
  132. package/dist-cli/chunks/beta-RG7JT6HD.js +0 -2
  133. package/dist-cli/chunks/chunk-2FTVPI7F.js +0 -2
  134. package/dist-cli/chunks/chunk-BTWXWUDB.js +0 -1
  135. package/dist-cli/chunks/chunk-KXLYXKMA.js +0 -1
  136. package/dist-cli/chunks/chunk-QUEATUWT.js +0 -1
  137. package/dist-cli/chunks/chunk-VJPN6DQU.js +0 -4
  138. package/dist-cli/chunks/chunk-YQIFU3PB.js +0 -25
  139. package/dist-cli/chunks/cli-version-DPV7EKFK.js +0 -2
  140. package/dist-cli/chunks/control-IAHPU5HD.js +0 -2
  141. package/dist-cli/chunks/drivers-L6UY2JC6.js +0 -2
  142. package/dist-cli/chunks/flow-QSDMMKNZ.js +0 -2
  143. package/dist-cli/chunks/help-OC7HYZ5F.js +0 -2
  144. package/dist-cli/chunks/install-3UWGXX6F.js +0 -2
  145. package/dist-cli/chunks/runtime-5MJPHLRZ.js +0 -2
  146. package/dist-cli/chunks/runtime-delivery-NWSDCFAI.js +0 -2
  147. package/dist-cli/chunks/setup-repo-OUMNEC36.js +0 -2
  148. package/dist-cli/chunks/store-JVV7G7VY.js +0 -2
  149. package/dist-cli/chunks/telemetry-BMJNBZT6.js +0 -2
  150. package/dist-cli/chunks/upload-XQLVCUKI.js +0 -2
@@ -1,2 +1,2 @@
1
- /*! sootsim v0.1.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{createHash as F}from"node:crypto";import y from"node:fs";import{createRequire as j}from"node:module";import l from"node:path";var w=j(import.meta.url);function A(n){try{let t=new URL(n),e=t.hostname.replace(/^\[|\]$/g,"").toLowerCase();if(e==="localhost"||e.endsWith(".localhost")||e==="0.0.0.0"||e==="::1"||/^127(?:\.\d{1,3}){3}$/.test(e))return t.origin}catch{}return null}var R=["app.config.js","app.config.ts","app.config.cjs","app.config.mjs","app.json"];function x(n){for(let t of R)try{if(y.statSync(l.join(n,t)).isFile())return!0}catch{}return!1}var k=new Set(["node_modules","artifacts","dist","build","out","coverage","tmp","public","ios","android","macos","windows","__fixtures__","__tests__","examples","example"]);function b(n,t){x(n)&&t.push(n);let e;try{e=y.readdirSync(n,{withFileTypes:!0})}catch{return}for(let o of e)o.isDirectory()&&(o.name.startsWith(".")||k.has(o.name)||b(l.join(n,o.name),t))}function S(n){try{return y.statSync(l.join(n,"package.json")).isFile()}catch{return!1}}function _(n,t,e){if(!t||typeof t!="object")return;let o=t[e];if(!o||typeof o!="object")return;let r=o.fonts;if(Array.isArray(r))for(let i of r){if(typeof i=="string"){n.push(i);continue}if(!i||typeof i!="object")continue;let f=i.fontDefinitions;if(Array.isArray(f))for(let c of f){if(!c||typeof c!="object")continue;let u=c.path;typeof u=="string"&&n.push(u)}}}function T(n){let t=A(n.bundleUrl);if(!t)return[];let e=n.repoDir||process.env.SOOT_REPO_DIR,o=e?l.resolve(e):process.cwd();if(!e&&!S(o))return[];let r=[];if(e)b(o,r),r.includes(o)||r.push(o);else{if(!x(o))return[];r.push(o)}if(r.length===0)return[];let i=(n.platform||process.env.SOOT_PLATFORM||"ios").toLowerCase(),f=null;try{let a=w.resolve("@expo/config",{paths:[...r,o]}),s=w(a);typeof s.getConfig=="function"&&(f=s.getConfig)}catch{}if(!f)return[];let c;for(let a of r)try{let s=f(a,{skipSDKVersionRequirement:!0});if(s?.exp&&typeof s.exp=="object"){let p=s.exp.plugins;if(Array.isArray(p)){c=s.exp;break}}}catch{}if(!c||typeof c!="object")return[];let u=c.plugins;if(!Array.isArray(u))return[];let g=[];for(let a of u){let s=Array.isArray(a)?a[0]:a;if(typeof s!="string"||!/(^|\/)expo-font$/.test(s))continue;let p=Array.isArray(a)?a[1]||{}:{};if(!p||typeof p!="object")continue;let m=p.fonts;Array.isArray(m)&&g.push(...m.filter(C=>typeof C=="string")),_(g,p,i)}let h=new Set,d=[];for(let a of g){let s=a.replace(/^\.\//,"").replace(/^\/+/,"");!s||h.has(s)||(h.add(s),/\.(ttf|otf|woff|woff2)$/i.test(s)&&d.push({family:l.basename(s).replace(/\.(ttf|otf|woff|woff2)$/i,""),url:`${t}/assets/${s}`}))}return d}async function U(n,t){let e=A(n);if(!e)return null;let o=new AbortController,r=setTimeout(()=>o.abort(),t?.timeoutMs??1500);try{let i=await fetch(`${e}/`,{headers:{"expo-platform":"ios",Accept:"application/json"},signal:o.signal});if(!i.ok)return null;let c=(await i.json())?.extra?.expoClient?.c?.projectRoot;return typeof c=="string"&&c.length>0?c:null}catch{return null}finally{clearTimeout(r)}}function L(n){return n.map(t=>`${encodeURIComponent(t.url)}::${encodeURIComponent(t.family)}`).join(",")}function D(n){let t=[];for(let e of n.split(",")){let o=e.trim();if(!o)continue;let r=o.indexOf("::"),i=r===-1?o:o.slice(0,r);try{t.push(decodeURIComponent(i))}catch{t.push(i)}}return t.filter(Boolean)}function P(n){let t=(n.split("?")[0].split(".").pop()||"").toLowerCase();return t==="ttf"?"font/ttf":t==="otf"?"font/otf":t==="woff"?"font/woff":t==="woff2"?"font/woff2":"application/octet-stream"}async function I(n,t){let e=[],o=new Set;for(let r of D(n)){let i=F("sha256").update(r).digest("hex");if(!o.has(i)){o.add(i);try{let f=await fetch(r);if(!f.ok){t?.onError?.(r,new Error(`${f.status} ${f.statusText}`));continue}let c=new Uint8Array(await f.arrayBuffer());e.push({url:r,urlhash:i,contentType:P(r),bytes:c}),t?.onStaged?.({url:r,byteLength:c.byteLength})}catch(f){t?.onError?.(r,f)}}}return e}export{T as a,U as b,L as c,I as d};
1
+ /*! sootsim v0.1.123 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
+ import{createHash as F}from"node:crypto";import y from"node:fs";import{createRequire as j}from"node:module";import l from"node:path";var w=j(import.meta.url);function A(n){try{let t=new URL(n),e=t.hostname.replace(/^\[|\]$/g,"").toLowerCase();if(e==="localhost"||e.endsWith(".localhost")||e==="0.0.0.0"||e==="::1"||/^127(?:\.\d{1,3}){3}$/.test(e))return t.origin}catch{}return null}var R=["app.config.js","app.config.ts","app.config.cjs","app.config.mjs","app.json"];function x(n){for(let t of R)try{if(y.statSync(l.join(n,t)).isFile())return!0}catch{}return!1}var k=new Set(["node_modules","artifacts","dist","build","out","coverage","tmp","public","ios","android","macos","windows","__fixtures__","__tests__","examples","example"]);function b(n,t){x(n)&&t.push(n);let e;try{e=y.readdirSync(n,{withFileTypes:!0})}catch{return}for(let o of e)o.isDirectory()&&(o.name.startsWith(".")||k.has(o.name)||b(l.join(n,o.name),t))}function S(n){try{return y.statSync(l.join(n,"package.json")).isFile()}catch{return!1}}function _(n,t,e){if(!t||typeof t!="object")return;let o=t[e];if(!o||typeof o!="object")return;let r=o.fonts;if(Array.isArray(r))for(let i of r){if(typeof i=="string"){n.push(i);continue}if(!i||typeof i!="object")continue;let f=i.fontDefinitions;if(Array.isArray(f))for(let c of f){if(!c||typeof c!="object")continue;let u=c.path;typeof u=="string"&&n.push(u)}}}function T(n){let t=A(n.bundleUrl);if(!t)return[];let e=n.repoDir||process.env.SOOT_REPO_DIR,o=e?l.resolve(e):process.cwd();if(!e&&!S(o))return[];let r=[];if(e)b(o,r),r.includes(o)||r.push(o);else{if(!x(o))return[];r.push(o)}if(r.length===0)return[];let i=(n.platform||process.env.SOOT_PLATFORM||"ios").toLowerCase(),f=null;try{let a=w.resolve("@expo/config",{paths:[...r,o]}),s=w(a);typeof s.getConfig=="function"&&(f=s.getConfig)}catch{}if(!f)return[];let c;for(let a of r)try{let s=f(a,{skipSDKVersionRequirement:!0});if(s?.exp&&typeof s.exp=="object"){let p=s.exp.plugins;if(Array.isArray(p)){c=s.exp;break}}}catch{}if(!c||typeof c!="object")return[];let u=c.plugins;if(!Array.isArray(u))return[];let g=[];for(let a of u){let s=Array.isArray(a)?a[0]:a;if(typeof s!="string"||!/(^|\/)expo-font$/.test(s))continue;let p=Array.isArray(a)?a[1]||{}:{};if(!p||typeof p!="object")continue;let m=p.fonts;Array.isArray(m)&&g.push(...m.filter(C=>typeof C=="string")),_(g,p,i)}let h=new Set,d=[];for(let a of g){let s=a.replace(/^\.\//,"").replace(/^\/+/,"");!s||h.has(s)||(h.add(s),/\.(ttf|otf|woff|woff2)$/i.test(s)&&d.push({family:l.basename(s).replace(/\.(ttf|otf|woff|woff2)$/i,""),url:`${t}/assets/${s}`}))}return d}async function U(n,t){let e=A(n);if(!e)return null;let o=new AbortController,r=setTimeout(()=>o.abort(),t?.timeoutMs??1500);try{let i=await fetch(`${e}/`,{headers:{"expo-platform":"ios",Accept:"application/json"},signal:o.signal});if(!i.ok)return null;let c=(await i.json())?.extra?.expoClient?._internal?.projectRoot;return typeof c=="string"&&c.length>0?c:null}catch{return null}finally{clearTimeout(r)}}function L(n){return n.map(t=>`${encodeURIComponent(t.url)}::${encodeURIComponent(t.family)}`).join(",")}function D(n){let t=[];for(let e of n.split(",")){let o=e.trim();if(!o)continue;let r=o.indexOf("::"),i=r===-1?o:o.slice(0,r);try{t.push(decodeURIComponent(i))}catch{t.push(i)}}return t.filter(Boolean)}function P(n){let t=(n.split("?")[0].split(".").pop()||"").toLowerCase();return t==="ttf"?"font/ttf":t==="otf"?"font/otf":t==="woff"?"font/woff":t==="woff2"?"font/woff2":"application/octet-stream"}async function I(n,t){let e=[],o=new Set;for(let r of D(n)){let i=F("sha256").update(r).digest("hex");if(!o.has(i)){o.add(i);try{let f=await fetch(r);if(!f.ok){t?.onError?.(r,new Error(`${f.status} ${f.statusText}`));continue}let c=new Uint8Array(await f.arrayBuffer());e.push({url:r,urlhash:i,contentType:P(r),bytes:c}),t?.onStaged?.({url:r,byteLength:c.byteLength})}catch(f){t?.onError?.(r,f)}}}return e}export{T as a,U as b,L as c,I as d};
@@ -0,0 +1 @@
1
+ /*! sootsim v0.1.123 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
@@ -1,2 +1,2 @@
1
- /*! sootsim v0.1.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.123 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  import{execFileSync as p,spawn as l}from"child_process";import{existsSync as s}from"fs";import{homedir as u}from"os";import{join as d}from"path";var g=["/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"],f=["/usr/bin/google-chrome","/usr/bin/chromium","/usr/bin/chromium-browser","/usr/bin/microsoft-edge","/usr/bin/brave-browser","/snap/bin/chromium"],h=["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"],C=["google-chrome","chromium","chromium-browser","microsoft-edge","brave-browser"],O=["chrome","msedge","brave"];function w(r){return r.startsWith("~/")?d(u(),r.slice(2)):r}function a(r){for(let n of r){let o=w(n);if(s(o))return o}return null}function U(r,n){try{let e=p(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 M(r=process.platform){let n=process.env.CHROME_PATH||process.env.CHROMIUM_PATH;if(n&&s(n))return n;let o=a(r==="darwin"?g:r==="win32"?h:f);if(o)return o;let e=r==="win32"?O:C;for(let t of e){let i=U(t,r);if(i)return i}return null}function A(r,n={}){if(!r)throw new Error("openUrl requires a url");let o=n.platform??process.platform;return n.newWindow?c(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 c(r,n={}){if(!r)throw new Error("openUrl requires a url");let o=n.platform??process.platform,e="chromiumBinary"in n?n.chromiumBinary:M(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 m(r,n,o){return new Promise((e,t)=>{let i=l(r,n,{detached:o,stdio:"ignore"});i.once("error",t),i.once("spawn",()=>{o&&i.unref(),e(i.pid)})})}async function x(r,n={}){let o=A(r,n),e=await m(o.command,o.args,n.detached??!0);return{...o,pid:e,attachUrl:r}}async function y(r,n={}){let o=c(r,n),e=await m(o.command,o.args,n.detached??!0);return{...o,pid:e,attachUrl:r}}async function E(r,n={}){await x(r,n)}export{M as a,x as b,y as c,E as d};