sootsim 0.1.141 → 0.1.143
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-BFN5TIRU.js → agent-25GIVRCM.js} +2 -2
- package/dist-cli/chunks/{agent-wrapper-A4UNOJOD.js → agent-wrapper-SHRSOH5F.js} +2 -2
- package/dist-cli/chunks/{app-fonts-KEAMDLYZ.js → app-fonts-JUWOZS4H.js} +2 -2
- package/dist-cli/chunks/{assert-BWBAKX5N.js → assert-IVGHPA5A.js} +2 -2
- package/dist-cli/chunks/auto-bootstrap-GYRB6UPD.js +2 -0
- package/dist-cli/chunks/beta-5KJOURFA.js +2 -0
- package/dist-cli/chunks/{camera-P5TTGC72.js → camera-W33RHKCW.js} +2 -2
- package/dist-cli/chunks/{chunk-UYQDGXHQ.js → chunk-2BFY6NP3.js} +1 -1
- package/dist-cli/chunks/{chunk-ITJLXD4X.js → chunk-2R4BMZ6Z.js} +2 -2
- package/dist-cli/chunks/{chunk-JQTHQOPS.js → chunk-34SQBAH2.js} +2 -2
- package/dist-cli/chunks/{chunk-7A7VFR2C.js → chunk-4A5DOFDF.js} +1 -1
- package/dist-cli/chunks/{chunk-MHUNWWWS.js → chunk-7SBHZLQW.js} +14 -20
- package/dist-cli/chunks/{chunk-DM5KNA7Q.js → chunk-7SXBQTHJ.js} +2 -2
- package/dist-cli/chunks/{chunk-7SO2SJ4H.js → chunk-7TN63AI6.js} +1 -1
- package/dist-cli/chunks/chunk-A2ZAQHNC.js +1 -0
- package/dist-cli/chunks/{chunk-AJGTCVQX.js → chunk-AAYFZNPR.js} +1 -1
- package/dist-cli/chunks/{chunk-ETB6DHJM.js → chunk-BAEWF5VG.js} +2 -2
- package/dist-cli/chunks/{chunk-URPQTI2I.js → chunk-BHEMY7ME.js} +2 -2
- package/dist-cli/chunks/chunk-BJNIH4HL.js +119 -0
- package/dist-cli/chunks/{chunk-PVPWCA2K.js → chunk-DFKP5F2D.js} +1 -1
- package/dist-cli/chunks/{chunk-KMQWCYU7.js → chunk-DYCX25AE.js} +2 -2
- package/dist-cli/chunks/{chunk-YOJ6BZCH.js → chunk-GRFBOOAG.js} +1 -1
- package/dist-cli/chunks/chunk-GY6MAFMV.js +2 -0
- package/dist-cli/chunks/{chunk-33EJL7CG.js → chunk-HBFZA6VQ.js} +2 -2
- package/dist-cli/chunks/{chunk-SXHBK5IJ.js → chunk-HNNOZQPP.js} +2 -2
- package/dist-cli/chunks/{chunk-XERRDQLM.js → chunk-HX23DKRO.js} +1 -1
- package/dist-cli/chunks/{chunk-HDCTWR2Q.js → chunk-I3YEKOFK.js} +2 -2
- package/dist-cli/chunks/{chunk-IITPPGBS.js → chunk-JXZNBPSD.js} +1 -1
- package/dist-cli/chunks/{chunk-53DRW635.js → chunk-K635OII3.js} +3 -3
- package/dist-cli/chunks/{chunk-A5W3HB44.js → chunk-MREBZSAV.js} +1 -1
- package/dist-cli/chunks/chunk-NGA4DA7H.js +1 -0
- package/dist-cli/chunks/{chunk-I6SWX7OI.js → chunk-NLCQST4G.js} +2 -2
- package/dist-cli/chunks/{chunk-M7S4VLEL.js → chunk-PJNUAUBJ.js} +2 -6
- package/dist-cli/chunks/{chunk-RUXWU3UH.js → chunk-QDGEMD2I.js} +1 -1
- package/dist-cli/chunks/{chunk-JJBNA2JO.js → chunk-QJPM3RET.js} +2 -2
- package/dist-cli/chunks/{chunk-RBUJZXNR.js → chunk-QU2QUSZJ.js} +2 -2
- package/dist-cli/chunks/{chunk-LHS4PEAA.js → chunk-R6XZO5GZ.js} +2 -2
- package/dist-cli/chunks/{chunk-EIZ6LJP2.js → chunk-SWKPSL5W.js} +2 -2
- package/dist-cli/chunks/{chunk-AMSIP5PD.js → chunk-TPWSHYVO.js} +3 -3
- package/dist-cli/chunks/{chunk-4ISWLDJG.js → chunk-UC432AHL.js} +1 -1
- package/dist-cli/chunks/chunk-UN3RQBVH.js +5 -0
- package/dist-cli/chunks/{chunk-XQRCVSK3.js → chunk-VNNV5YRW.js} +1 -1
- package/dist-cli/chunks/{chunk-3LN2PP4L.js → chunk-VVN2YEL6.js} +2 -2
- package/dist-cli/chunks/chunk-X3H76FTW.js +1 -0
- package/dist-cli/chunks/{chunk-IILFDOSF.js → chunk-XMMYQPSE.js} +1 -1
- package/dist-cli/chunks/{chunk-XD7XHQUO.js → chunk-XXSE44NG.js} +2 -2
- package/dist-cli/chunks/{chunk-LHIPDN4B.js → chunk-XZXF5AYC.js} +1 -1
- package/dist-cli/chunks/{chunk-AQVB4G34.js → chunk-YJDPJTJ5.js} +2 -2
- package/dist-cli/chunks/{chunk-WUQHVDJU.js → chunk-YLR5ZRKX.js} +2 -2
- package/dist-cli/chunks/{chunk-NQJD2WTM.js → chunk-YPMUEFLF.js} +1 -1
- package/dist-cli/chunks/{chunk-JM5XCDBF.js → chunk-YSJYN72Y.js} +2 -2
- package/dist-cli/chunks/{chunk-MENSR2TZ.js → chunk-YTK7ZFAM.js} +1 -1
- package/dist-cli/chunks/cli-version-G27CVTU4.js +2 -0
- package/dist-cli/chunks/{compat-3Z67EPSJ.js → compat-4RDLRPPU.js} +3 -3
- package/dist-cli/chunks/{config-SH3NTYZ2.js → config-3MVPTQK6.js} +2 -2
- package/dist-cli/chunks/{control-2XVEDKYZ.js → control-FVYUXUVP.js} +2 -2
- package/dist-cli/chunks/{cpu-profile-FANLHU4S.js → cpu-profile-7ZH2O6BN.js} +2 -2
- package/dist-cli/chunks/daemon-35SSSS4Z.js +67 -0
- package/dist-cli/chunks/{debug-EIUEPLFN.js → debug-A6KPCY4Y.js} +3 -3
- package/dist-cli/chunks/{detox-EV3KYFKR.js → detox-2UJ7GS2I.js} +2 -2
- package/dist-cli/chunks/{device-UC5DAVA6.js → device-H7UO5Y3Q.js} +2 -2
- package/dist-cli/chunks/{diagnose-Q2M2AJBD.js → diagnose-N2GVYOSJ.js} +2 -2
- package/dist-cli/chunks/drivers-LZZBBF46.js +2 -0
- package/dist-cli/chunks/{electron-PXKF52Q6.js → electron-CZLJU4MK.js} +3 -3
- package/dist-cli/chunks/flow-D64O66ME.js +2 -0
- package/dist-cli/chunks/help-H6K3SYVG.js +2 -0
- package/dist-cli/chunks/{hints-HS7X2FIO.js → hints-6EUSL5M3.js} +2 -2
- package/dist-cli/chunks/{home-paths-KPMXMJQ7.js → home-paths-O66RZCQB.js} +2 -2
- package/dist-cli/chunks/{inspect-ZUWEMCIG.js → inspect-PI7TIHTS.js} +3 -3
- package/dist-cli/chunks/install-4VWYAR7Y.js +2 -0
- package/dist-cli/chunks/{install-desktop-H6ZTTVXC.js → install-desktop-MTUTQFM2.js} +3 -3
- package/dist-cli/chunks/{keys-6OBZZLCJ.js → keys-FHLYPKGB.js} +2 -2
- package/dist-cli/chunks/{launch-7JASEDHP.js → launch-4Y77LAZZ.js} +3 -3
- package/dist-cli/chunks/{login-JWMB6JNS.js → login-CM7CTLRY.js} +5 -5
- package/dist-cli/chunks/{logout-LWVFUKF5.js → logout-U6ADFOLS.js} +2 -2
- package/dist-cli/chunks/{maestro-WX22SLCR.js → maestro-CIEC2573.js} +2 -2
- package/dist-cli/chunks/optional-demo-registry-BONZAQPP.js +2 -0
- package/dist-cli/chunks/{preview-SDMLCW3U.js → preview-TBLTTHD5.js} +2 -2
- package/dist-cli/chunks/{profile-MQVLCO7R.js → profile-KUBUPLTD.js} +2 -2
- package/dist-cli/chunks/{react-2JFP5W4W.js → react-DKVACIO3.js} +2 -2
- package/dist-cli/chunks/{record-IJJ3SPXP.js → record-VLV2V7SN.js} +2 -2
- package/dist-cli/chunks/runtime-H6MVUEU5.js +2 -0
- package/dist-cli/chunks/{runtime-delivery-5M2P7LEI.js → runtime-delivery-JXJLNWVF.js} +2 -2
- package/dist-cli/chunks/{screenshot-4QAGJCPZ.js → screenshot-7QCTJTD4.js} +2 -2
- package/dist-cli/chunks/{screenshot-mode-PSAU7TH4.js → screenshot-mode-GJAESKSM.js} +2 -2
- package/dist-cli/chunks/{screenshots-73VI4UUL.js → screenshots-43LUBWAM.js} +2 -2
- package/dist-cli/chunks/{server-BXD5WKQS.js → server-7SWPNQR7.js} +3 -3
- package/dist-cli/chunks/setup-repo-7FNZWY7U.js +2 -0
- package/dist-cli/chunks/{skills-IEJOURWM.js → skills-O2EXQOQN.js} +2 -2
- package/dist-cli/chunks/{start-CLBAJ4LJ.js → start-W74HSVN6.js} +4 -4
- package/dist-cli/chunks/store-F4YJGQBN.js +2 -0
- package/dist-cli/chunks/telemetry-OUIYC7UJ.js +2 -0
- package/dist-cli/chunks/{test-42YWJ5ZT.js → test-LTDFFPPX.js} +3 -3
- package/dist-cli/chunks/{three-mode-5DU4IBF5.js → three-mode-RXT6PH5B.js} +2 -2
- package/dist-cli/chunks/{timeline-WJYQRW5S.js → timeline-PETWH7FT.js} +2 -2
- package/dist-cli/chunks/{upgrade-F7ADMCLU.js → upgrade-OVR52N6Q.js} +2 -2
- package/dist-cli/chunks/upload-CCWGR633.js +2 -0
- package/dist-cli/chunks/{version-SLA5P34B.js → version-JKXXLSJL.js} +2 -2
- package/dist-cli/chunks/{web-OGC6GSKM.js → web-QZTGXJE5.js} +2 -2
- package/dist-cli/chunks/{what-happened-VYXK3O2C.js → what-happened-X2VG2PJO.js} +2 -2
- package/dist-cli/chunks/{whoami-QL2LTKOF.js → whoami-YF6SXJQ5.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 +1 -1
- package/dist-lib/home-paths.cjs +1 -1
- package/dist-lib/host/bridge-host.cjs +5 -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/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 +5 -1
- package/dist-lib/sdk.cjs +1 -1
- package/dist-lib/sdk.mjs +1 -1
- package/dist-lib/skills.cjs +15 -14
- package/dist-lib/vite.cjs +1 -1
- package/package.json +1 -1
- package/scripts/dev-server-scanner.ts +23 -0
- package/dist-cli/chunks/auto-bootstrap-WJH44ZIE.js +0 -2
- package/dist-cli/chunks/beta-VFKZHKER.js +0 -2
- package/dist-cli/chunks/chunk-I3JPJMJB.js +0 -5
- package/dist-cli/chunks/chunk-MYKHUFW2.js +0 -1
- package/dist-cli/chunks/chunk-NOAONZTZ.js +0 -119
- package/dist-cli/chunks/chunk-SYRS7NKN.js +0 -1
- package/dist-cli/chunks/chunk-TUZVZ5QS.js +0 -1
- package/dist-cli/chunks/chunk-ZBN3P5JE.js +0 -2
- package/dist-cli/chunks/cli-version-3G6HHMRW.js +0 -2
- package/dist-cli/chunks/daemon-QGDVR4JT.js +0 -66
- package/dist-cli/chunks/drivers-VJIWLDTC.js +0 -2
- package/dist-cli/chunks/flow-RGMXGVLL.js +0 -2
- package/dist-cli/chunks/help-TBZZP4SA.js +0 -2
- package/dist-cli/chunks/install-FPYDDDQ4.js +0 -2
- package/dist-cli/chunks/optional-demo-registry-52MHQCYV.js +0 -2
- package/dist-cli/chunks/runtime-JJMZ4AF3.js +0 -2
- package/dist-cli/chunks/setup-repo-F2P5RZ4R.js +0 -2
- package/dist-cli/chunks/store-7DIOVJNK.js +0 -2
- package/dist-cli/chunks/telemetry-3XHPQYOQ.js +0 -2
- package/dist-cli/chunks/upload-TJ2XKWDS.js +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
2
|
-
import{B as T,C as A,D as y,O as _,P as b,Q as S}from"./chunk-
|
|
1
|
+
/*! sootsim v0.1.143 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
+
import{B as T,C as A,D as y,O as _,P as b,Q as S}from"./chunk-UC432AHL.js";import{c as N,e as F}from"./chunk-34SQBAH2.js";import{b as k}from"./chunk-MREBZSAV.js";import"./chunk-DFKP5F2D.js";import"./chunk-7TN63AI6.js";import"./chunk-VNNV5YRW.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.143 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
+
import{d as i}from"./chunk-NLCQST4G.js";import{d as n}from"./chunk-7SXBQTHJ.js";import"./chunk-7TN63AI6.js";import"./chunk-VNNV5YRW.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.143 | (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.143 | (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.143 | (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.143 | (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.143 | (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.143 | (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.143 | (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.143 | (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.143 | (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.143 | (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.143 | (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.143 | (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/home-paths.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.143 | (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.143 | (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;
|
|
@@ -391,6 +391,10 @@ async function probePort(port, buildIconProxyUrl) {
|
|
|
391
391
|
buildIconProxyUrl
|
|
392
392
|
);
|
|
393
393
|
}
|
|
394
|
+
const looksLikeMetroPackager = statusRes && statusRes.statusCode === 200 || expoRes && expoRes.statusCode === 200 || manifestRes && manifestRes.statusCode === 200 && manifestParsed != null;
|
|
395
|
+
if (looksLikeMetroPackager) {
|
|
396
|
+
return null;
|
|
397
|
+
}
|
|
394
398
|
const oneRes = await httpGet(port, onePath, "HEAD");
|
|
395
399
|
if (oneRes && oneRes.statusCode > 0 && oneRes.statusCode < 400 && /application\/javascript/i.test(oneRes.contentType || "")) {
|
|
396
400
|
knownNonPatched.add(port);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.143 | (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.143 | (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.143 | (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.143 | (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.143 | (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/metro.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.143 | (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.143 | (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.143 | (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.143 | (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;
|
|
@@ -382,6 +382,10 @@ async function probePort(port, buildIconProxyUrl) {
|
|
|
382
382
|
buildIconProxyUrl
|
|
383
383
|
);
|
|
384
384
|
}
|
|
385
|
+
const looksLikeMetroPackager = statusRes && statusRes.statusCode === 200 || expoRes && expoRes.statusCode === 200 || manifestRes && manifestRes.statusCode === 200 && manifestParsed != null;
|
|
386
|
+
if (looksLikeMetroPackager) {
|
|
387
|
+
return null;
|
|
388
|
+
}
|
|
385
389
|
const oneRes = await httpGet(port, onePath, "HEAD");
|
|
386
390
|
if (oneRes && oneRes.statusCode > 0 && oneRes.statusCode < 400 && /application\/javascript/i.test(oneRes.contentType || "")) {
|
|
387
391
|
knownNonPatched.add(port);
|
package/dist-lib/sdk.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.143 | (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.143 | (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;
|
|
@@ -10306,6 +10306,10 @@ async function probePort(port, buildIconProxyUrl) {
|
|
|
10306
10306
|
buildIconProxyUrl
|
|
10307
10307
|
);
|
|
10308
10308
|
}
|
|
10309
|
+
const looksLikeMetroPackager = statusRes && statusRes.statusCode === 200 || expoRes && expoRes.statusCode === 200 || manifestRes && manifestRes.statusCode === 200 && manifestParsed != null;
|
|
10310
|
+
if (looksLikeMetroPackager) {
|
|
10311
|
+
return null;
|
|
10312
|
+
}
|
|
10309
10313
|
const oneRes = await httpGet(port, onePath, "HEAD");
|
|
10310
10314
|
if (oneRes && oneRes.statusCode > 0 && oneRes.statusCode < 400 && /application\/javascript/i.test(oneRes.contentType || "")) {
|
|
10311
10315
|
knownNonPatched.add(port);
|
|
@@ -15325,10 +15329,6 @@ var init_app_state_reset = __esm({
|
|
|
15325
15329
|
),
|
|
15326
15330
|
)
|
|
15327
15331
|
} catch {}
|
|
15328
|
-
try {
|
|
15329
|
-
const names = await caches.keys()
|
|
15330
|
-
await Promise.all(names.map((name) => caches.delete(name)))
|
|
15331
|
-
} catch {}
|
|
15332
15332
|
try {
|
|
15333
15333
|
document.cookie.split(';').forEach((cookie) => {
|
|
15334
15334
|
const name = cookie.split('=')[0]?.trim()
|
|
@@ -15470,11 +15470,18 @@ function executeSyncHttp(url, method, params) {
|
|
|
15470
15470
|
if (params?.multipartForm) {
|
|
15471
15471
|
throw new Error("http: multipartForm is not supported by sootsim yet");
|
|
15472
15472
|
}
|
|
15473
|
+
const childEnv = { ...process.env };
|
|
15474
|
+
for (const key of Object.keys(childEnv)) {
|
|
15475
|
+
if (key.startsWith("BUN_INSPECT") || key === "NODE_OPTIONS") {
|
|
15476
|
+
delete childEnv[key];
|
|
15477
|
+
}
|
|
15478
|
+
}
|
|
15473
15479
|
const child = (0, import_child_process6.spawnSync)(process.execPath, ["-e", HTTP_CHILD_SRC], {
|
|
15474
15480
|
input: JSON.stringify({ url, method, headers: params?.headers, body: params?.body }),
|
|
15475
15481
|
encoding: "utf8",
|
|
15476
15482
|
timeout: HTTP_TIMEOUT_MS,
|
|
15477
|
-
maxBuffer: 64 * 1024 * 1024
|
|
15483
|
+
maxBuffer: 64 * 1024 * 1024,
|
|
15484
|
+
env: childEnv
|
|
15478
15485
|
});
|
|
15479
15486
|
if (child.error) {
|
|
15480
15487
|
throw new Error(`http ${method} ${url} failed: ${child.error.message}`);
|
|
@@ -16917,13 +16924,7 @@ var init_bridge_flow_runner = __esm({
|
|
|
16917
16924
|
}
|
|
16918
16925
|
const wantsClear = !!(opts && typeof opts === "object" && opts.clearState);
|
|
16919
16926
|
if (wantsClear) {
|
|
16920
|
-
await this.evaluate(
|
|
16921
|
-
await (${CLEAR_APP_STATE_EVAL})
|
|
16922
|
-
try {
|
|
16923
|
-
const regs = await navigator.serviceWorker?.getRegistrations?.()
|
|
16924
|
-
await Promise.all((regs || []).map((reg) => reg.unregister()))
|
|
16925
|
-
} catch {}
|
|
16926
|
-
})()`);
|
|
16927
|
+
await this.evaluate(CLEAR_APP_STATE_EVAL, 6e4);
|
|
16927
16928
|
}
|
|
16928
16929
|
if (!this.firstLaunchDone && !wantsClear) {
|
|
16929
16930
|
this.firstLaunchDone = true;
|
|
@@ -17430,7 +17431,7 @@ var init_bridge_flow_runner = __esm({
|
|
|
17430
17431
|
const explicitWait = typeof step.wait === "number" ? step.wait : 0;
|
|
17431
17432
|
const waitForTimeout = typeof step.waitFor?.timeout === "number" ? step.waitFor.timeout : 0;
|
|
17432
17433
|
const stepCeiling = Math.max(6e4, explicitWait + 15e3, waitForTimeout + 15e3);
|
|
17433
|
-
if (step.runFlow) {
|
|
17434
|
+
if (step.runFlow || step.launchApp) {
|
|
17434
17435
|
await this.runStep(step, i);
|
|
17435
17436
|
continue;
|
|
17436
17437
|
}
|
package/dist-lib/vite.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.143 | (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
|
@@ -496,6 +496,29 @@ export async function probePort(
|
|
|
496
496
|
// it has the metro side-effect documented above. older One bare-dev-server
|
|
497
497
|
// setups that don't serve a manifest still resolve through this path; new
|
|
498
498
|
// expo/metro/one setups are caught above and never reach here.
|
|
499
|
+
//
|
|
500
|
+
// hard safety gate (the recurring "metro on 8081 crashes" regression): a
|
|
501
|
+
// plain expo/metro packager that is still BOOTING serves `/status`,
|
|
502
|
+
// `/_expo/status`, and the `/` manifest a few seconds apart, so during the
|
|
503
|
+
// boot window all three wave-1 catches above can miss (status body not yet
|
|
504
|
+
// `packager-status:running`, manifest not yet parseable). without this gate
|
|
505
|
+
// we then fire the lethal HEAD against a metro that IS a metro — and the
|
|
506
|
+
// engine, handed a bogus `one/metro-entry.bundle` URL, opens an HMR socket
|
|
507
|
+
// whose `register-entrypoints` throws UnableToResolveError inside
|
|
508
|
+
// HmrServer._registerEntryPoint → unhandledRejection → metro exits. a real
|
|
509
|
+
// legacy bare-One dev server answers NONE of these metro/expo endpoints, so
|
|
510
|
+
// skipping the HEAD here never hides a genuine One server — it just defers
|
|
511
|
+
// this port to the next scan, by which point wave 1 identifies it cleanly.
|
|
512
|
+
const looksLikeMetroPackager =
|
|
513
|
+
(statusRes && statusRes.statusCode === 200) ||
|
|
514
|
+
(expoRes && expoRes.statusCode === 200) ||
|
|
515
|
+
(manifestRes && manifestRes.statusCode === 200 && manifestParsed != null)
|
|
516
|
+
if (looksLikeMetroPackager) {
|
|
517
|
+
// do NOT cache as knownNonPatched — we want a fresh wave-1 pass next scan
|
|
518
|
+
// once the packager finishes booting and its manifest/status are ready.
|
|
519
|
+
return null
|
|
520
|
+
}
|
|
521
|
+
|
|
499
522
|
const oneRes = await httpGet(port, onePath, 'HEAD')
|
|
500
523
|
if (
|
|
501
524
|
oneRes &&
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.141 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a,b,c,d}from"./chunk-AMSIP5PD.js";import"./chunk-JQTHQOPS.js";import"./chunk-A5W3HB44.js";import"./chunk-PVPWCA2K.js";import"./chunk-7SO2SJ4H.js";import"./chunk-XQRCVSK3.js";export{c as ensureDaemonRunning,a as ensureRuntimeInstalled,d as ensureSootsimReady,b as resolveBootstrapPort};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.141 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a as R,b as C}from"./chunk-RUXWU3UH.js";var x="sootsimConfig";function f(e){return!!e&&Object.keys(e).length>0}function _(e){return e?f(e.modules)||f(e.turboModules)||f(e.nativeModules)||f(e.env)||f(e.network?.remap)||f(e.settings)||f(e.initialState):!1}function k(e,r){let t=new URL(e);return _(r)?t.searchParams.set(x,JSON.stringify(r)):t.searchParams.delete(x),t.toString()}import{exec as A}from"child_process";import N from"http";import L from"net";import{promisify as O}from"util";var ne="/index.bundle?platform=ios&dev=true&hot=true&minify=false";function D(e){return/^https?:\/\//i.test(e)}function T(e){return e.endsWith(".bundle")}function E(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 M(e){try{let r=D(e),t=new URL(e,"http://soot.local");return t.pathname=t.pathname.replace(/\.\.bundle$/,".bundle"),T(t.pathname)?(t.searchParams.delete("transform.bytecode"),E(t),r?t.toString():`${t.pathname}${t.search}${t.hash}`):e}catch{return e}}var P=O(A);R();var $=250,I=1500,B=120;function H(e,r=B){return new Promise(t=>{let o=new L.Socket,s=!1,i=a=>{s||(s=!0,o.destroy(),t(a))};o.setTimeout(r),o.once("connect",()=>i(!0)),o.once("timeout",()=>i(!1)),o.once("error",()=>i(!1)),o.connect(e,"localhost")})}function h(e,r,t="GET",o=$,s={}){return new Promise(i=>{let a=N.request({hostname:"localhost",port:e,path:r,method:t,timeout:o,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(o,()=>{a.destroy(),i(null)}),a.end()})}var j=[8081,8082,8083,8084,8085,8086,3e3,3001,19e3].map(e=>({port:e,pid:0}));function v(e,r){return!(e<=0||e>=2e4||r.has(e)||e>=5170&&e<=5200)}async function W(e=[]){let r=new Set(e);try{let{stdout:t}=await P("lsof -iTCP -sTCP:LISTEN -P -n 2>/dev/null | grep -E '^(node|bun)'",{encoding:"utf8",timeout:2e3});if(t.trim()){let o=new Map;for(let s of t.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]);v(c,r)&&(o.has(c)||o.set(c,a))}if(o.size>0)return[...o.entries()].map(([s,i])=>({port:s,pid:i}))}}catch{}try{let{stdout:t}=await P(`ss -tlnp 2>/dev/null | grep -E '"(node|bun)"'`,{encoding:"utf8",timeout:2e3});if(t.trim()){let o=new Map;for(let s of t.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;v(n,r)&&(o.has(n)||o.set(n,u))}if(o.size>0)return[...o.entries()].map(([s,i])=>({port:s,pid:i}))}}catch{}return j.filter(t=>v(t.port,r))}var y=new Map;async function F(e){if(e<=0)return null;let r=y.get(e);if(r)return r;try{let{stdout:t}=await P(`lsof -p ${e} -a -d cwd -Fn 2>/dev/null`,{encoding:"utf8",timeout:1500});for(let o of t.split(`
|
|
5
|
-
`))if(o.startsWith("n")&&o.length>1){let s=o.slice(1).trim();if(s)return y.set(e,s),s}}catch{}return null}function G(e,r){return{port:e,framework:r,bundleUrl:p(e,`http://localhost:${e}/index.bundle?platform=ios&dev=true&hot=true&minify=false`),hmrUrl:`ws://localhost:${e}/hot`,lastSeen:Date.now()}}function p(e,r){let t=C().find(s=>s.preferredPort===e),o=t?.runtimeConfig?k(r,t.runtimeConfig):r;return M(o)}function z(e){return e.includes("/node_modules/one/metro-entry.bundle")}function J(e){try{let r=JSON.parse(e);return r&&typeof r=="object"?r:null}catch{return null}}function w(e,r,t){if(!r)return e;try{let o=JSON.parse(r.body),s=o?.extra?.expoClient||o?.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=o?.launchAsset?.url;i&&!e.patched&&!z(e.bundleUrl)&&(e.bundleUrl=p(e.port,i));let a=s.iconUrl||s.ios?.iconUrl||s.icon||s.ios?.icon;if(a)if(e.iconPath=a,t)if(a.startsWith("http"))e.iconUrl=t(a);else{let n=a.replace(/^\.\//,"");e.iconUrl=t(`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,m=new Set,S=new Set;async function K(e,r){if(!await H(e))return null;let t="/node_modules/one/metro-entry.bundle?platform=ios&dev=true",[o,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",I,{"expo-platform":"ios"}),m.has(e)?Promise.resolve(null):h(e,"/_expo/status")]);a&&a.statusCode===200?m.delete(e):m.has(e)||m.add(e);let n=i?J(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 g=u||`http://localhost:${e}/index.bundle?platform=ios&dev=true&hot=true&minify=false`,U=g.includes("/one/metro-entry.bundle")?"one":"expo";return w({port:e,framework:U,bundleUrl:p(e,g),hmrUrl:`ws://localhost:${e}/hot`,lastSeen:Date.now()},i,r)}if(s&&s.body.includes("packager-status:running"))return d.add(e),w(G(e,a&&a.statusCode===200?"expo":"metro"),i,r);if(o&&o.statusCode===200&&o.body.includes("sootsim-patched"))return d.delete(e),w({port:e,framework:"one",bundleUrl:p(e,`http://localhost:${e}/__soot/bundle.js`),hmrUrl:`ws://localhost:${e}/hot`,lastSeen:Date.now(),patched:!0},i,r);let l=await h(e,t,"HEAD");return l&&l.statusCode>0&&l.statusCode<400&&/application\/javascript/i.test(l.contentType||"")?(d.add(e),S.add(e),w({port:e,framework:"one",bundleUrl:p(e,`http://localhost:${e}${t}&minify=false`),hmrUrl:`ws://localhost:${e}/hot`,lastSeen:Date.now()},i,r)):(d.add(e),null)}function V(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,Q=1500;function Y(e){return!e||e.framework==="metro"||e.framework==="unknown"}function X(e){return e?p(e.port,e.bundleUrl)===e.bundleUrl:!0}function Z(e,r,t=Date.now()){if(r===0||e.pid!==r||!X(e.result))return!1;let o=t-e.cachedAt;return!(e.result===null&&o>=q||Y(e.result)&&o>=Q)}async function le(e={}){let r=await W(e.excludePorts),t=new Set(r.map(n=>n.port));for(let n of[...b.keys()])t.has(n)||b.delete(n);for(let n of[...d])t.has(n)||d.delete(n);for(let n of[...m])t.has(n)||m.delete(n);for(let n of[...S])t.has(n)||S.delete(n);let o=[],s=[];for(let{port:n,pid:u}of r){let c=b.get(n);if(c&&Z(c,u)){c.result&&o.push(c.result);continue}c&&c.pid!==u&&(d.delete(n),m.delete(n),S.delete(n)),s.push({port:n,pid:u})}s.length>0&&(await Promise.all(s.map(u=>K(u.port,e.buildIconProxyUrl)))).forEach((u,c)=>{let{port:l,pid:g}=s[c];g!==0&&b.set(l,{pid:g,result:u,cachedAt:Date.now()}),u&&o.push(u)});let i=new Map;for(let{port:n,pid:u}of r)u>0&&i.set(n,u);await Promise.all(o.map(async n=>{let u=i.get(n.port);if(!u)return;n.pid=u;let c=await F(u);c&&(n.cwd=c)}));let a=new Set(i.values());for(let n of[...y.keys()])a.has(n)||y.delete(n);return o.filter(n=>!V(n))}export{k as a,ne as b,M as c,K as d,le as e};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.141 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|