sootsim 0.1.167 → 0.1.168
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 +3 -3
- package/dist-cli/chunks/{agent-FGNA3LC6.js → agent-V5N6TSVL.js} +2 -2
- package/dist-cli/chunks/{agent-wrapper-5CRKG7K7.js → agent-wrapper-M32Q4WRZ.js} +2 -2
- package/dist-cli/chunks/{app-fonts-CM3ML6NV.js → app-fonts-QJCMHTWY.js} +2 -2
- package/dist-cli/chunks/{assert-DCO6XYDU.js → assert-FUPVKOCV.js} +2 -2
- package/dist-cli/chunks/auto-bootstrap-BMAKK4FR.js +2 -0
- package/dist-cli/chunks/beta-ERD6Z2EE.js +2 -0
- package/dist-cli/chunks/{camera-HWLYOMJV.js → camera-6Z3YMMEG.js} +2 -2
- package/dist-cli/chunks/{chunk-WXFUXFY7.js → chunk-27Q45J2N.js} +2 -2
- package/dist-cli/chunks/{chunk-T4UHUISG.js → chunk-2DDHS4Z3.js} +1 -1
- package/dist-cli/chunks/chunk-2UDB2A2Z.js +119 -0
- package/dist-cli/chunks/chunk-4PXQB4KC.js +2 -0
- package/dist-cli/chunks/{chunk-JDFPPPPS.js → chunk-4TJ2FLZX.js} +1 -1
- package/dist-cli/chunks/{chunk-3RHECMKV.js → chunk-5GGI6NGS.js} +3 -3
- package/dist-cli/chunks/chunk-5PEYA6XI.js +1 -0
- package/dist-cli/chunks/chunk-6MBEHPFK.js +1 -0
- package/dist-cli/chunks/{chunk-MI7BLMGH.js → chunk-7YQ7CJFO.js} +2 -2
- package/dist-cli/chunks/{chunk-3MQAPPOW.js → chunk-AFPKG2L6.js} +1 -1
- package/dist-cli/chunks/{chunk-UF2T46AA.js → chunk-BKYCQJKE.js} +2 -2
- package/dist-cli/chunks/{chunk-JL7K7EPF.js → chunk-BLRVSHCX.js} +3 -3
- package/dist-cli/chunks/{chunk-DWYDDN7J.js → chunk-BSKD5K5N.js} +2 -2
- package/dist-cli/chunks/{chunk-ACNSMZSP.js → chunk-BUCBIG2A.js} +1 -1
- package/dist-cli/chunks/chunk-EMWWY2MH.js +2 -0
- package/dist-cli/chunks/{chunk-47JNNTYQ.js → chunk-ENK2SG5R.js} +1 -1
- package/dist-cli/chunks/chunk-FAEIKMNH.js +1 -0
- package/dist-cli/chunks/{chunk-U7LLQDO4.js → chunk-FZ656TJA.js} +1 -1
- package/dist-cli/chunks/chunk-HIAR3KTT.js +5 -0
- package/dist-cli/chunks/{chunk-DAMNOIAJ.js → chunk-IHVCKNFX.js} +2 -2
- package/dist-cli/chunks/{chunk-EIMDQRZS.js → chunk-JJIJVKAV.js} +2 -2
- package/dist-cli/chunks/{chunk-2UGS25BK.js → chunk-L62FIJ3P.js} +1 -1
- package/dist-cli/chunks/{chunk-ZLZ3R452.js → chunk-L7F7QBGM.js} +2 -2
- package/dist-cli/chunks/{chunk-AB6TZFIE.js → chunk-LCHPOJOO.js} +1 -1
- package/dist-cli/chunks/{chunk-RTBG543W.js → chunk-MGB5W5VY.js} +2 -2
- package/dist-cli/chunks/{chunk-HCNW2QTI.js → chunk-MHEP6UMF.js} +3 -3
- package/dist-cli/chunks/{chunk-PDPBZD5O.js → chunk-MO3L5VGD.js} +1 -1
- package/dist-cli/chunks/{chunk-TFF3KXNC.js → chunk-MQWZBKOF.js} +1 -1
- package/dist-cli/chunks/{chunk-27CWE62K.js → chunk-MRPFNK2L.js} +2 -2
- package/dist-cli/chunks/{chunk-F5REXFAW.js → chunk-N6CHIBHJ.js} +2 -2
- package/dist-cli/chunks/{chunk-UC7LRLPE.js → chunk-OC4Y3UIV.js} +1 -1
- package/dist-cli/chunks/chunk-PPIRXSWS.js +13 -0
- package/dist-cli/chunks/{chunk-D6QVHHDU.js → chunk-QBYYAPTB.js} +1 -1
- package/dist-cli/chunks/{chunk-QIXDVNSM.js → chunk-QGL6XWHB.js} +2 -2
- package/dist-cli/chunks/{chunk-GNHGTWDX.js → chunk-QMQBMB4S.js} +2 -2
- package/dist-cli/chunks/{chunk-SIRMLK54.js → chunk-QWNLVJ4P.js} +1 -1
- package/dist-cli/chunks/{chunk-DM2EOTY5.js → chunk-SHCQRQJA.js} +2 -2
- package/dist-cli/chunks/{chunk-2QPTZHGU.js → chunk-SMBSZIDN.js} +2 -2
- package/dist-cli/chunks/{chunk-VCKKDUWG.js → chunk-TXZKEW6C.js} +2 -2
- package/dist-cli/chunks/{chunk-OKBGHUCY.js → chunk-VHVFXSXT.js} +1 -1
- package/dist-cli/chunks/{chunk-IV5NEIXZ.js → chunk-WUKEI6SL.js} +2 -2
- package/dist-cli/chunks/{chunk-MGX3HHAR.js → chunk-XUABY4IN.js} +1 -1
- package/dist-cli/chunks/{chunk-KCETAALD.js → chunk-XWG6NJJE.js} +2 -2
- package/dist-cli/chunks/{chunk-JI72D4RY.js → chunk-YNTWHWFY.js} +1 -1
- package/dist-cli/chunks/{chunk-OGH3OCGP.js → chunk-YR7WIUVL.js} +2 -2
- package/dist-cli/chunks/{chunk-ELHNXEJI.js → chunk-ZIEXUO4S.js} +2 -2
- package/dist-cli/chunks/cli-version-P4CDXF4L.js +2 -0
- package/dist-cli/chunks/{compat-WZAQMU3Y.js → compat-CH6BYJ4T.js} +3 -3
- package/dist-cli/chunks/{config-EMVWQLSZ.js → config-ST33XAYN.js} +2 -2
- package/dist-cli/chunks/control-FW6XTHQE.js +2 -0
- package/dist-cli/chunks/{cpu-profile-FIXB3BPM.js → cpu-profile-VMHZN3WB.js} +2 -2
- package/dist-cli/chunks/{daemon-VPUPR3CK.js → daemon-5DEUBHYC.js} +2 -2
- package/dist-cli/chunks/{debug-QW2VVENB.js → debug-WQP3TJ62.js} +3 -3
- package/dist-cli/chunks/{detox-RLEEW5BN.js → detox-IAWL5YVJ.js} +2 -2
- package/dist-cli/chunks/{device-MCFZ5J5W.js → device-GYJ6BHY7.js} +2 -2
- package/dist-cli/chunks/{diagnose-VSSY5XMS.js → diagnose-GFDUQYHG.js} +2 -2
- package/dist-cli/chunks/drivers-VTVBB4KQ.js +2 -0
- package/dist-cli/chunks/{electron-OD7H7UBA.js → electron-CF7HUVQL.js} +3 -3
- package/dist-cli/chunks/flow-GZZ7OVM3.js +2 -0
- package/dist-cli/chunks/help-EUSCLRLF.js +2 -0
- package/dist-cli/chunks/{hints-TU5HBDRY.js → hints-HF2LDTK7.js} +2 -2
- package/dist-cli/chunks/{home-paths-6WZQKHRA.js → home-paths-ZBDTVPMF.js} +2 -2
- package/dist-cli/chunks/{inspect-UNZ7Z5PF.js → inspect-P2MPMFR3.js} +136 -133
- package/dist-cli/chunks/install-N4QT365P.js +2 -0
- package/dist-cli/chunks/{install-desktop-6LB2C5H5.js → install-desktop-QYLXYZQJ.js} +3 -3
- package/dist-cli/chunks/{keys-5XMDDDUV.js → keys-LJ37JUG2.js} +2 -2
- package/dist-cli/chunks/{launch-RVQHYE5V.js → launch-3TUC2YGM.js} +3 -3
- package/dist-cli/chunks/{login-BGMYYUK2.js → login-RUZ7MAPC.js} +4 -4
- package/dist-cli/chunks/{logout-PXZVOWLU.js → logout-4RE2BP3H.js} +2 -2
- package/dist-cli/chunks/{maestro-RIGROEAZ.js → maestro-V62C4AQM.js} +2 -2
- package/dist-cli/chunks/optional-demo-registry-ZEPUCMEO.js +2 -0
- package/dist-cli/chunks/{preview-3XCXJMNU.js → preview-3HWBUCVM.js} +2 -2
- package/dist-cli/chunks/{profile-7MQEP55V.js → profile-D2CAEFO5.js} +2 -2
- package/dist-cli/chunks/{react-BBOQIY6V.js → react-PXYQBCAK.js} +2 -2
- package/dist-cli/chunks/{record-4U2X6JDH.js → record-R7IDN3T6.js} +2 -2
- package/dist-cli/chunks/runtime-RQOM2I2S.js +2 -0
- package/dist-cli/chunks/{runtime-delivery-VK2HCMQW.js → runtime-delivery-K4LFILF7.js} +2 -2
- package/dist-cli/chunks/{screenshot-MCFHIP2H.js → screenshot-YGGPEX7B.js} +2 -2
- package/dist-cli/chunks/{screenshot-mode-VJEAECKO.js → screenshot-mode-QDUWRQUF.js} +2 -2
- package/dist-cli/chunks/{screenshots-3NSCRA3U.js → screenshots-6PNFJNLF.js} +2 -2
- package/dist-cli/chunks/{server-HIPHVNKP.js → server-7Q3NW5MV.js} +3 -3
- package/dist-cli/chunks/setup-repo-UZMY3JFZ.js +2 -0
- package/dist-cli/chunks/{skills-JILZXX7E.js → skills-GDYPRMR5.js} +2 -2
- package/dist-cli/chunks/{slides-IWZX6TCC.js → slides-HJXHSWEF.js} +2 -2
- package/dist-cli/chunks/{start-4RYQMQMM.js → start-HDWGM5WJ.js} +4 -4
- package/dist-cli/chunks/store-5DYIIFYH.js +2 -0
- package/dist-cli/chunks/telemetry-TMT3DYZU.js +2 -0
- package/dist-cli/chunks/{test-VQ6HIPKR.js → test-4TUHEODP.js} +3 -3
- package/dist-cli/chunks/{three-mode-UWH72A46.js → three-mode-IL5442GI.js} +2 -2
- package/dist-cli/chunks/{timeline-T6LM4W3H.js → timeline-JILPOKRF.js} +2 -2
- package/dist-cli/chunks/{upgrade-KEJ2H2WE.js → upgrade-SL5WMHSF.js} +2 -2
- package/dist-cli/chunks/upload-35XW4DMZ.js +2 -0
- package/dist-cli/chunks/{version-PIJ2OP5O.js → version-ZEBIO5HC.js} +2 -2
- package/dist-cli/chunks/{web-DCGXY52J.js → web-JICQ5RN4.js} +2 -2
- package/dist-cli/chunks/{what-happened-CUA3N455.js → what-happened-KKAJOJWO.js} +2 -2
- package/dist-cli/chunks/{whoami-Z5XNGCGJ.js → whoami-QDJPYI2O.js} +2 -2
- package/dist-lib/agent-daemon-client.cjs +1 -1
- package/dist-lib/agent-events.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 +10 -2
- package/dist-lib/home-paths.cjs +1 -1
- package/dist-lib/host/bridge-host.cjs +4 -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/websocket-proxy.cjs +1 -1
- package/dist-lib/index.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 +4 -1
- package/dist-lib/sdk.cjs +1 -1
- package/dist-lib/sdk.mjs +1 -1
- package/dist-lib/skills.cjs +4 -1
- package/dist-lib/vite.cjs +1 -1
- package/package.json +1 -1
- package/src/dev-bundle-resolution.ts +6 -1
- package/src/native-dev-bundle-url.ts +12 -0
- package/dist-cli/chunks/auto-bootstrap-QJUHQLQH.js +0 -2
- package/dist-cli/chunks/beta-W5Y32GJR.js +0 -2
- package/dist-cli/chunks/chunk-7P6CUODK.js +0 -1
- package/dist-cli/chunks/chunk-BIG5BGMC.js +0 -5
- package/dist-cli/chunks/chunk-E5E7XQIN.js +0 -2
- package/dist-cli/chunks/chunk-F2UUNDRU.js +0 -119
- package/dist-cli/chunks/chunk-F5PLWUIU.js +0 -1
- package/dist-cli/chunks/chunk-HHOQMAVJ.js +0 -1
- package/dist-cli/chunks/chunk-MPUONWKJ.js +0 -13
- package/dist-cli/chunks/chunk-QX25ZRIQ.js +0 -2
- package/dist-cli/chunks/cli-version-RHOJPOQJ.js +0 -2
- package/dist-cli/chunks/control-P3M34LCO.js +0 -2
- package/dist-cli/chunks/drivers-GPZ62RP5.js +0 -2
- package/dist-cli/chunks/flow-JFSZHDB2.js +0 -2
- package/dist-cli/chunks/help-DFQRIC3T.js +0 -2
- package/dist-cli/chunks/install-7JTNTNNX.js +0 -2
- package/dist-cli/chunks/optional-demo-registry-GQL6Z6OH.js +0 -2
- package/dist-cli/chunks/runtime-HPZWCYML.js +0 -2
- package/dist-cli/chunks/setup-repo-LFSW66HX.js +0 -2
- package/dist-cli/chunks/store-RGD3TDGI.js +0 -2
- package/dist-cli/chunks/telemetry-7TRVV4JE.js +0 -2
- package/dist-cli/chunks/upload-BWSIC24N.js +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
2
|
-
import{C as T,D as A,E as y,P as _,Q as b,R as S}from"./chunk-
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
+
import{C as T,D as A,E as y,P as _,Q as b,R as S}from"./chunk-LCHPOJOO.js";import{c as N,e as F}from"./chunk-L7F7QBGM.js";import"./chunk-FZ656TJA.js";import{b as k}from"./chunk-QBYYAPTB.js";import"./chunk-MQWZBKOF.js";import"./chunk-BUCBIG2A.js";function O(n){let t=[];for(let e=0;e<n.length;e++)if(n[e]==="--since"&&e+1<n.length){t.push(e,e+1);let s=n[e+1].trim(),l=/^(\d+(?:\.\d+)?)(ms|s|m)?$/.exec(s);if(l){let r=Number(l[1]),u=l[2]??"ms",v=u==="s"?r*1e3:u==="m"?r*6e4:r;return{since:Date.now()-v,consumed:t}}let i=Number(s);if(Number.isFinite(i)&&i>1e12)return{since:i,consumed:t}}return{consumed:t}}function B(n){let t=[];for(let e=0;e<n.length;e++)if(n[e]==="--kinds"&&e+1<n.length)return t.push(e,e+1),{kinds:n[e+1].split(",").map(s=>s.trim()).filter(Boolean),consumed:t};return{consumed:t}}function D(n){let t=[];for(let e=0;e<n.length;e++)if(n[e]==="--limit"&&e+1<n.length){t.push(e,e+1);let s=Number(n[e+1]);if(Number.isFinite(s)&&s>0)return{limit:s,consumed:t}}return{consumed:t}}function x(n){let t=[],e={label:"initial state",events:[],startedAt:n[0]?.t??null};t.push(e);for(let s of n)if(e.events.push(s),s.kind==="screen"||s.kind==="route"){let l=s.data,i=l?.phase;if(!i||i==="enter"||i==="appear"||i==="active"){let r=l?.name||l?.activeName||l?.path||l?.pathname||s.kind;t.length===1&&e.events.length===1?e.label=`${s.kind}: ${r}`:(e={label:`${s.kind}: ${r}`,events:[],startedAt:s.t},t.push(e))}}return t}async function J(n,t){let e=N(n,{port:t.port,stripBooleanFlags:["--summary","--all","--json","--no-advance","--help","-h","--flow","--noisy"],stripValueFlags:["--since","--kinds","--limit"]});(n.includes("--help")||n.includes("-h"))&&(console.log(`
|
|
3
3
|
sootsim what-happened \u2014 show recent events from the semantic timeline
|
|
4
4
|
|
|
5
5
|
usage:
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
2
|
-
import{d as i}from"./chunk-
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
+
import{d as i}from"./chunk-27Q45J2N.js";import{d as n}from"./chunk-SHCQRQJA.js";import"./chunk-MQWZBKOF.js";import"./chunk-BUCBIG2A.js";async function u(){let o=i();if(o||(console.log(" not signed in"),console.log(" set SOOTSIM_API_KEY=sk_sootsim_\u2026 or run `sootsim login`"),process.exit(1)),o.kind==="api-key"){let r=`${o.secret.slice(0,14)}\u2026`,t=o.source==="env"?"SOOTSIM_API_KEY env var":"saved key (~/.config/sootsim/credentials.json)";console.log(` api key ${r}`),console.log(` source: ${t}`);return}if(o.kind==="github"){console.log(` github token (${o.source})`),console.log(` repo: ${o.repoId}`);return}let e=await n(),s=e?.user;console.log(` ${s?.email||s?.name||s?.id||"signed in"}`),console.log(` origin: ${e?.origin??o.origin}`),e?.updatedAt&&console.log(` updated: ${e.updatedAt}`)}export{u as runWhoami};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/beta.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/beta.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/config.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/detox/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -59,6 +59,9 @@ function normalizeNativeDevBundleUrl(bundleUrl) {
|
|
|
59
59
|
parsed.pathname = parsed.pathname.replace(/\.\.bundle$/, ".bundle");
|
|
60
60
|
if (!isNativeDevBundlePath(parsed.pathname)) return bundleUrl;
|
|
61
61
|
parsed.searchParams.delete("transform.bytecode");
|
|
62
|
+
if (parsed.searchParams.get("lazy") === "true") {
|
|
63
|
+
parsed.searchParams.set("lazy", "false");
|
|
64
|
+
}
|
|
62
65
|
applyPreviewProdBundle(parsed);
|
|
63
66
|
if (isAbsolute) return parsed.toString();
|
|
64
67
|
return `${parsed.pathname}${parsed.search}${parsed.hash}`;
|
|
@@ -121,7 +124,12 @@ async function resolvePortViaServerScan(port) {
|
|
|
121
124
|
);
|
|
122
125
|
if (!match) return null;
|
|
123
126
|
return {
|
|
124
|
-
|
|
127
|
+
// normalize exactly like the manifest-probe branch below — the scan
|
|
128
|
+
// returns metro's raw launchAsset url (lazy=true for code-split one/vxrn
|
|
129
|
+
// apps), but sootsim loads ONE self-contained bundle into the tenant
|
|
130
|
+
// worker, so a deferred React.lazy chunk throws "Requiring unknown module
|
|
131
|
+
// <id>". normalizeNativeDevBundleUrl forces lazy=false + strips bytecode.
|
|
132
|
+
bundleUrl: normalizeNativeDevBundleUrl(match.bundleUrl),
|
|
125
133
|
port,
|
|
126
134
|
framework: typeof match.framework === "string" ? match.framework : "unknown",
|
|
127
135
|
projectName: typeof match.projectName === "string" ? match.projectName : void 0
|
package/dist-lib/home-paths.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -121,6 +121,9 @@ function normalizeNativeDevBundleUrl(bundleUrl) {
|
|
|
121
121
|
parsed.pathname = parsed.pathname.replace(/\.\.bundle$/, ".bundle");
|
|
122
122
|
if (!isNativeDevBundlePath(parsed.pathname)) return bundleUrl;
|
|
123
123
|
parsed.searchParams.delete("transform.bytecode");
|
|
124
|
+
if (parsed.searchParams.get("lazy") === "true") {
|
|
125
|
+
parsed.searchParams.set("lazy", "false");
|
|
126
|
+
}
|
|
124
127
|
applyPreviewProdBundle(parsed);
|
|
125
128
|
if (isAbsolute) return parsed.toString();
|
|
126
129
|
return `${parsed.pathname}${parsed.search}${parsed.hash}`;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
|
|
3
3
|
// src/host/fetch-proxy-overrides.ts
|
|
4
4
|
var FETCH_PROXY_BROWSER_USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
package/dist-lib/menu.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/menu.mjs
CHANGED
package/dist-lib/metro.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
package/dist-lib/profiles.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
package/dist-lib/render-mode.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -86,6 +86,9 @@ function normalizeNativeDevBundleUrl(bundleUrl) {
|
|
|
86
86
|
parsed.pathname = parsed.pathname.replace(/\.\.bundle$/, ".bundle");
|
|
87
87
|
if (!isNativeDevBundlePath(parsed.pathname)) return bundleUrl;
|
|
88
88
|
parsed.searchParams.delete("transform.bytecode");
|
|
89
|
+
if (parsed.searchParams.get("lazy") === "true") {
|
|
90
|
+
parsed.searchParams.set("lazy", "false");
|
|
91
|
+
}
|
|
89
92
|
applyPreviewProdBundle(parsed);
|
|
90
93
|
if (isAbsolute) return parsed.toString();
|
|
91
94
|
return `${parsed.pathname}${parsed.search}${parsed.hash}`;
|
package/dist-lib/sdk.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/sdk.mjs
CHANGED
package/dist-lib/skills.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -10035,6 +10035,9 @@ function normalizeNativeDevBundleUrl(bundleUrl) {
|
|
|
10035
10035
|
parsed.pathname = parsed.pathname.replace(/\.\.bundle$/, ".bundle");
|
|
10036
10036
|
if (!isNativeDevBundlePath(parsed.pathname)) return bundleUrl;
|
|
10037
10037
|
parsed.searchParams.delete("transform.bytecode");
|
|
10038
|
+
if (parsed.searchParams.get("lazy") === "true") {
|
|
10039
|
+
parsed.searchParams.set("lazy", "false");
|
|
10040
|
+
}
|
|
10038
10041
|
applyPreviewProdBundle(parsed);
|
|
10039
10042
|
if (isAbsolute2) return parsed.toString();
|
|
10040
10043
|
return `${parsed.pathname}${parsed.search}${parsed.hash}`;
|
package/dist-lib/vite.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.168 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
package/package.json
CHANGED
|
@@ -108,7 +108,12 @@ async function resolvePortViaServerScan(port: number): Promise<ResolvedDevBundle
|
|
|
108
108
|
)
|
|
109
109
|
if (!match) return null
|
|
110
110
|
return {
|
|
111
|
-
|
|
111
|
+
// normalize exactly like the manifest-probe branch below — the scan
|
|
112
|
+
// returns metro's raw launchAsset url (lazy=true for code-split one/vxrn
|
|
113
|
+
// apps), but sootsim loads ONE self-contained bundle into the tenant
|
|
114
|
+
// worker, so a deferred React.lazy chunk throws "Requiring unknown module
|
|
115
|
+
// <id>". normalizeNativeDevBundleUrl forces lazy=false + strips bytecode.
|
|
116
|
+
bundleUrl: normalizeNativeDevBundleUrl(match.bundleUrl),
|
|
112
117
|
port,
|
|
113
118
|
framework: typeof match.framework === 'string' ? match.framework : 'unknown',
|
|
114
119
|
projectName: typeof match.projectName === 'string' ? match.projectName : undefined,
|
|
@@ -53,6 +53,18 @@ export function normalizeNativeDevBundleUrl(bundleUrl: string): string {
|
|
|
53
53
|
// strip transform.bytecode — metro would return hermes bytecode and our
|
|
54
54
|
// bundle-loader can only execute plain JS.
|
|
55
55
|
parsed.searchParams.delete('transform.bytecode')
|
|
56
|
+
// force lazy=false. sootsim loads ONE self-contained bundle into the tenant
|
|
57
|
+
// worker. metro's lazy=true defers code-split modules to async chunks; vxrn/
|
|
58
|
+
// one's emitted entry can synchronously `require` a deferred module before
|
|
59
|
+
// its chunk has loaded, throwing "Requiring unknown module <id>" and crashing
|
|
60
|
+
// the route (observed with one's React.lazy GameScene3D split). lazy=false
|
|
61
|
+
// ships every module in the served bundle — import()/React.lazy RUNTIME
|
|
62
|
+
// semantics are unchanged (the chunk is just inlined), so this is faithful,
|
|
63
|
+
// not a behavior change. the engine's __loadBundleAsync still handles any
|
|
64
|
+
// genuinely-async chunks an app fetches at runtime.
|
|
65
|
+
if (parsed.searchParams.get('lazy') === 'true') {
|
|
66
|
+
parsed.searchParams.set('lazy', 'false')
|
|
67
|
+
}
|
|
56
68
|
applyPreviewProdBundle(parsed)
|
|
57
69
|
if (isAbsolute) return parsed.toString()
|
|
58
70
|
return `${parsed.pathname}${parsed.search}${parsed.hash}`
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.167 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a,b,c,d}from"./chunk-JL7K7EPF.js";import"./chunk-ZLZ3R452.js";import"./chunk-U7LLQDO4.js";import"./chunk-D6QVHHDU.js";import"./chunk-TFF3KXNC.js";import"./chunk-ACNSMZSP.js";export{c as ensureDaemonRunning,a as ensureRuntimeInstalled,d as ensureSootsimReady,b as resolveBootstrapPort};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.167 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.167 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a as C,b as x}from"./chunk-3MQAPPOW.js";var k="sootsimConfig";function m(e){return!!e&&Object.keys(e).length>0}function E(e){return e?m(e.modules)||m(e.turboModules)||m(e.nativeModules)||m(e.env)||m(e.network?.remap)||m(e.settings)||m(e.initialState):!1}function M(e,r){let o=new URL(e);return E(r)?o.searchParams.set(k,JSON.stringify(r)):o.searchParams.delete(k),o.toString()}var te="/index.bundle?platform=ios&dev=true&hot=true&minify=false";function _(e){return/^https?:\/\//i.test(e)}function D(e){return e.endsWith(".bundle")}function A(e){process.env.SOOTSIM_PREVIEW_PROD_BUNDLE&&(e.searchParams.set("dev","false"),e.searchParams.set("minify","true"),e.searchParams.has("hot")&&e.searchParams.set("hot","false"))}function U(e){try{let r=_(e),o=new URL(e,"http://soot.local");return o.pathname=o.pathname.replace(/\.\.bundle$/,".bundle"),D(o.pathname)?(o.searchParams.delete("transform.bytecode"),A(o),r?o.toString():`${o.pathname}${o.search}${o.hash}`):e}catch{return e}}function oe(e,r){try{let o=_(e),t=new URL(e,"http://soot.local");return D(t.pathname)?(t.searchParams.set("hot",r?"true":"false"),o?t.toString():`${t.pathname}${t.search}${t.hash}`):e}catch{return e}}import{exec as N}from"child_process";import L from"http";import $ from"net";import{promisify as O}from"util";var v=O(N);C();var I=250,B=1500,H=120;function j(e,r=H){return new Promise(o=>{let t=new $.Socket,s=!1,i=a=>{s||(s=!0,t.destroy(),o(a))};t.setTimeout(r),t.once("connect",()=>i(!0)),t.once("timeout",()=>i(!1)),t.once("error",()=>i(!1)),t.connect(e,"localhost")})}function h(e,r,o="GET",t=I,s={}){return new Promise(i=>{let a=L.request({hostname:"localhost",port:e,path:r,method:o,timeout:t,headers:s},n=>{let u="";n.on("data",l=>u+=l.toString());let c=(()=>{let l=n.headers["content-type"];if(typeof l=="string")return l;if(Array.isArray(l))return l[0]})();n.on("end",()=>i({statusCode:n.statusCode||0,body:u,contentType:c}))});a.on("error",()=>i(null)),a.setTimeout(t,()=>{a.destroy(),i(null)}),a.end()})}var W=[8081,8082,8083,8084,8085,8086,3e3,3001,19e3].map(e=>({port:e,pid:0}));function P(e,r){return!(e<=0||e>=2e4||r.has(e)||e>=5170&&e<=5200)}async function F(e=[]){let r=new Set(e);try{let{stdout:o}=await v("lsof -iTCP -sTCP:LISTEN -P -n 2>/dev/null | grep -E '^(node|bun)'",{encoding:"utf8",timeout:2e3});if(o.trim()){let t=new Map;for(let s of o.trim().split(`
|
|
3
|
-
`)){let i=s.trim().split(/\s+/);if(i.length<9)continue;let a=Number(i[1]),u=i[8].match(/:(\d+)$/);if(!u)continue;let c=Number(u[1]);P(c,r)&&(t.has(c)||t.set(c,a))}if(t.size>0)return[...t.entries()].map(([s,i])=>({port:s,pid:i}))}}catch{}try{let{stdout:o}=await v(`ss -tlnp 2>/dev/null | grep -E '"(node|bun)"'`,{encoding:"utf8",timeout:2e3});if(o.trim()){let t=new Map;for(let s of o.trim().split(`
|
|
4
|
-
`)){let i=s.match(/:(\d+)\s/),a=s.match(/pid=(\d+)/);if(!i)continue;let n=Number(i[1]),u=a?Number(a[1]):0;P(n,r)&&(t.has(n)||t.set(n,u))}if(t.size>0)return[...t.entries()].map(([s,i])=>({port:s,pid:i}))}}catch{}return W.filter(o=>P(o.port,r))}var y=new Map;async function G(e){if(e<=0)return null;let r=y.get(e);if(r)return r;try{let{stdout:o}=await v(`lsof -p ${e} -a -d cwd -Fn 2>/dev/null`,{encoding:"utf8",timeout:1500});for(let t of o.split(`
|
|
5
|
-
`))if(t.startsWith("n")&&t.length>1){let s=t.slice(1).trim();if(s)return y.set(e,s),s}}catch{}return null}function z(e,r){return{port:e,framework:r,bundleUrl:g(e,`http://localhost:${e}/index.bundle?platform=ios&dev=true&hot=true&minify=false`),hmrUrl:`ws://localhost:${e}/hot`,lastSeen:Date.now()}}function g(e,r){let o=x().find(s=>s.preferredPort===e),t=o?.runtimeConfig?M(r,o.runtimeConfig):r;return U(t)}function J(e){return e.includes("/node_modules/one/metro-entry.bundle")}function K(e){try{let r=JSON.parse(e);return r&&typeof r=="object"?r:null}catch{return null}}function w(e,r,o){if(!r)return e;try{let t=JSON.parse(r.body),s=t?.extra?.expoClient||t?.extra||{};s.name&&(e.projectName=s.name),s.ios?.bundleIdentifier&&(e.bundleId=s.ios.bundleIdentifier),e.framework==="metro"&&s.sdkVersion&&(e.framework="expo");let i=t?.launchAsset?.url;i&&!e.patched&&!J(e.bundleUrl)&&(e.bundleUrl=g(e.port,i));let a=s.iconUrl||s.ios?.iconUrl||s.icon||s.ios?.icon;if(a)if(e.iconPath=a,o)if(a.startsWith("http"))e.iconUrl=o(a);else{let n=a.replace(/^\.\//,"");e.iconUrl=o(`http://localhost:${e.port}/assets/${n}`)}else e.iconUrl=a.startsWith("http")?a:`http://localhost:${e.port}/assets/${a.replace(/^\.\//,"")}`}catch{}return e}var d=new Set,p=new Set,S=new Set;async function V(e,r){if(!await j(e))return null;let o="/node_modules/one/metro-entry.bundle?platform=ios&dev=true",[t,s,i,a]=await Promise.all([d.has(e)?Promise.resolve(null):h(e,"/__soot/"),h(e,"/status"),S.has(e)?Promise.resolve(null):h(e,"/","GET",B,{"expo-platform":"ios"}),p.has(e)?Promise.resolve(null):h(e,"/_expo/status")]);a&&a.statusCode===200?p.delete(e):p.has(e)||p.add(e);let n=i?K(i.body):null,u=typeof n?.launchAsset?.url=="string"?n.launchAsset.url:null,c=n?.extra?.expoClient||n?.extra||{};if(n&&(u||typeof c.name=="string")){d.add(e);let R=u||`http://localhost:${e}/index.bundle?platform=ios&dev=true&hot=true&minify=false`,T=R.includes("/one/metro-entry.bundle")?"one":"expo";return w({port:e,framework:T,bundleUrl:g(e,R),hmrUrl:`ws://localhost:${e}/hot`,lastSeen:Date.now()},i,r)}if(s&&s.body.includes("packager-status:running"))return d.add(e),w(z(e,a&&a.statusCode===200?"expo":"metro"),i,r);if(t&&t.statusCode===200&&t.body.includes("sootsim-patched"))return d.delete(e),w({port:e,framework:"one",bundleUrl:g(e,`http://localhost:${e}/__soot/bundle.js`),hmrUrl:`ws://localhost:${e}/hot`,lastSeen:Date.now(),patched:!0},i,r);if(s&&s.statusCode===200||a&&a.statusCode===200||i&&i.statusCode===200&&n!=null)return null;let f=await h(e,o,"HEAD");return f&&f.statusCode>0&&f.statusCode<400&&/application\/javascript/i.test(f.contentType||"")?(d.add(e),S.add(e),w({port:e,framework:"one",bundleUrl:g(e,`http://localhost:${e}${o}&minify=false`),hmrUrl:`ws://localhost:${e}/hot`,lastSeen:Date.now()},i,r)):(d.add(e),null)}function q(e){let r=e.projectName?.trim().toLowerCase();return!!(r==="soot"||r==="sootsim"||e.bundleId?.trim().toLowerCase()?.startsWith("dev.soot"))}var b=new Map,Q=3e4,Y=1500;function X(e){return!e||e.framework==="metro"||e.framework==="unknown"}function Z(e){return e?g(e.port,e.bundleUrl)===e.bundleUrl:!0}function ee(e,r,o=Date.now()){if(r===0||e.pid!==r||!Z(e.result))return!1;let t=o-e.cachedAt;return!(e.result===null&&t>=Q||X(e.result)&&t>=Y)}async function fe(e={}){let r=await F(e.excludePorts),o=new Set(r.map(n=>n.port));for(let n of[...b.keys()])o.has(n)||b.delete(n);for(let n of[...d])o.has(n)||d.delete(n);for(let n of[...p])o.has(n)||p.delete(n);for(let n of[...S])o.has(n)||S.delete(n);let t=[],s=[];for(let{port:n,pid:u}of r){let c=b.get(n);if(c&&ee(c,u)){c.result&&t.push(c.result);continue}c&&c.pid!==u&&(d.delete(n),p.delete(n),S.delete(n)),s.push({port:n,pid:u})}s.length>0&&(await Promise.all(s.map(u=>V(u.port,e.buildIconProxyUrl)))).forEach((u,c)=>{let{port:l,pid:f}=s[c];f!==0&&b.set(l,{pid:f,result:u,cachedAt:Date.now()}),u&&t.push(u)});let i=new Map;for(let{port:n,pid:u}of r)u>0&&i.set(n,u);await Promise.all(t.map(async n=>{let u=i.get(n.port);if(!u)return;n.pid=u;let c=await G(u);c&&(n.cwd=c)}));let a=new Set(i.values());for(let n of[...y.keys()])a.has(n)||y.delete(n);return t.filter(n=>!q(n))}export{M as a,te as b,U as c,oe as d,V as e,fe as f};
|