sootsim 0.1.178 → 0.1.180
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-FPRPN42P.js → agent-TWCD6VWU.js} +2 -2
- package/dist-cli/chunks/{agent-wrapper-KABXHSDP.js → agent-wrapper-Z47AOSU4.js} +2 -2
- package/dist-cli/chunks/{app-fonts-GEL63MTY.js → app-fonts-NJDS2WKC.js} +2 -2
- package/dist-cli/chunks/{assert-T55K3RFP.js → assert-E4M3BGYV.js} +2 -2
- package/dist-cli/chunks/beta-6DYJAYMR.js +2 -0
- package/dist-cli/chunks/{camera-RPYSAI2K.js → camera-AGZ365WS.js} +2 -2
- package/dist-cli/chunks/chunk-3R532UY6.js +2 -0
- package/dist-cli/chunks/{chunk-LJ2DIDX3.js → chunk-5S5TI2OL.js} +3 -3
- package/dist-cli/chunks/{chunk-V3N55LMK.js → chunk-5UNOKZOH.js} +1 -1
- package/dist-cli/chunks/{chunk-YXBC4N6Z.js → chunk-5Z3IK75L.js} +2 -2
- package/dist-cli/chunks/chunk-655RAZI6.js +1 -0
- package/dist-cli/chunks/{chunk-EUIPNUT4.js → chunk-6FPNI2NJ.js} +2 -2
- package/dist-cli/chunks/{chunk-CVBCNRKC.js → chunk-6LLHL4Z4.js} +2 -2
- package/dist-cli/chunks/{chunk-RVVFK6CF.js → chunk-6W55QHRB.js} +1 -1
- package/dist-cli/chunks/chunk-6YPP7ICO.js +5 -0
- package/dist-cli/chunks/{chunk-B77YOZBY.js → chunk-7EYSKUGC.js} +2 -2
- package/dist-cli/chunks/{chunk-PQLLJLSM.js → chunk-7FVSMP3H.js} +1 -1
- package/dist-cli/chunks/{chunk-64VAJYXX.js → chunk-7HOX5AAM.js} +2 -2
- package/dist-cli/chunks/{chunk-JFQFJLTV.js → chunk-A3DQXEQJ.js} +2 -2
- package/dist-cli/chunks/{chunk-O5SQ2RZE.js → chunk-AKVADO4S.js} +1 -1
- package/dist-cli/chunks/chunk-BTV37XIX.js +1 -0
- package/dist-cli/chunks/{chunk-K66BWMVS.js → chunk-C3H3HNZU.js} +1 -1
- package/dist-cli/chunks/{chunk-EY3XEEE4.js → chunk-DFOQT3FH.js} +1 -1
- package/dist-cli/chunks/{chunk-XGU672KO.js → chunk-DPYI7WHO.js} +1 -1
- package/dist-cli/chunks/{chunk-YD3CNK36.js → chunk-DPZ5NOVM.js} +1 -1
- package/dist-cli/chunks/{chunk-YLQE2RO4.js → chunk-EC6TIZVO.js} +3 -3
- package/dist-cli/chunks/{chunk-Q4PUVMFU.js → chunk-EJP4NI3Q.js} +1 -1
- package/dist-cli/chunks/{chunk-UYKA44Y4.js → chunk-FGRK5LV4.js} +2 -2
- package/dist-cli/chunks/{chunk-7BHPGH6Q.js → chunk-FQ6FCKBQ.js} +1 -1
- package/dist-cli/chunks/{chunk-2SM7WWDI.js → chunk-GKC4WAAU.js} +1 -1
- package/dist-cli/chunks/{chunk-PG42I7UQ.js → chunk-J7ECVBNV.js} +2 -2
- package/dist-cli/chunks/chunk-KOVONBG5.js +2 -0
- package/dist-cli/chunks/{chunk-PTBJZ3IO.js → chunk-LTLDMMVO.js} +2 -2
- package/dist-cli/chunks/{chunk-42SYOZVV.js → chunk-NNEKSG7J.js} +2 -2
- package/dist-cli/chunks/{chunk-2IYQJHNS.js → chunk-O3P4GCIC.js} +2 -2
- package/dist-cli/chunks/{chunk-WY3B2Y5J.js → chunk-PJ46BMD3.js} +2 -2
- package/dist-cli/chunks/{chunk-7KFBB76L.js → chunk-QXRIMG3C.js} +2 -2
- package/dist-cli/chunks/{chunk-CJV7PX2Y.js → chunk-RVH34DLB.js} +2 -2
- package/dist-cli/chunks/{chunk-M7MO47BR.js → chunk-SC3LMYOI.js} +1 -1
- package/dist-cli/chunks/{chunk-ITOXSEMN.js → chunk-SSTY3FZ7.js} +1 -1
- package/dist-cli/chunks/{chunk-PHLMZYE4.js → chunk-T56KIOK2.js} +2 -2
- package/dist-cli/chunks/{chunk-3DSTCWVF.js → chunk-TPTEYOPH.js} +2 -2
- package/dist-cli/chunks/{chunk-OK22FXGF.js → chunk-W2JS7ZCS.js} +2 -2
- package/dist-cli/chunks/{chunk-H26BCZLV.js → chunk-WJMSITGC.js} +1 -1
- package/dist-cli/chunks/{chunk-B2Z36B4N.js → chunk-WNBED3UT.js} +2 -2
- package/dist-cli/chunks/{chunk-B5KTNMPL.js → chunk-X2S7O732.js} +2 -2
- package/dist-cli/chunks/{chunk-ZKGEGXVG.js → chunk-Y7PV4536.js} +2 -2
- package/dist-cli/chunks/{chunk-ZVZMM2RT.js → chunk-YTE645KB.js} +1 -1
- package/dist-cli/chunks/{chunk-YKV52CQX.js → chunk-ZBS233ZK.js} +2 -2
- package/dist-cli/chunks/{chunk-IFJU3COY.js → chunk-ZFKPEBUY.js} +1 -1
- package/dist-cli/chunks/{chunk-EHKLQO7I.js → chunk-ZU3YA54Y.js} +1 -1
- package/dist-cli/chunks/cli-version-3PTODKAG.js +2 -0
- package/dist-cli/chunks/{compat-VDOLM4JY.js → compat-I4K6EHFH.js} +3 -3
- package/dist-cli/chunks/{control-N6IWKWQ7.js → control-FSW56XA7.js} +2 -2
- package/dist-cli/chunks/{cpu-profile-CR4EKOPN.js → cpu-profile-TS44ELSM.js} +2 -2
- package/dist-cli/chunks/daemon-XD4ETUFL.js +2 -0
- package/dist-cli/chunks/{debug-4FCBFVDX.js → debug-WJBAZTDZ.js} +3 -3
- package/dist-cli/chunks/{detox-TP77ADA2.js → detox-NTJCZT7Y.js} +2 -2
- package/dist-cli/chunks/{device-YRU6RDD2.js → device-VZMWYTH6.js} +2 -2
- package/dist-cli/chunks/{diagnose-ZU4XLIKW.js → diagnose-VJFAE25R.js} +2 -2
- package/dist-cli/chunks/drivers-AXQDZXVN.js +2 -0
- package/dist-cli/chunks/{electron-UWTORKRO.js → electron-BUS5EZZB.js} +3 -3
- package/dist-cli/chunks/flow-O3SCW6BQ.js +2 -0
- package/dist-cli/chunks/help-X32RDYQI.js +2 -0
- package/dist-cli/chunks/{hints-X5YLALUQ.js → hints-WVYOKMAB.js} +2 -2
- package/dist-cli/chunks/{home-paths-LMEDDTAQ.js → home-paths-5G3GDTLX.js} +2 -2
- package/dist-cli/chunks/{inspect-IFCVFMIW.js → inspect-YZPQT6PV.js} +3 -3
- package/dist-cli/chunks/{install-desktop-VVQIBZRU.js → install-desktop-KPIFQ5BJ.js} +3 -3
- package/dist-cli/chunks/{keys-GDX235ZQ.js → keys-XMLWEKT7.js} +2 -2
- package/dist-cli/chunks/{login-MUIJHNM7.js → login-4KYXIZE3.js} +4 -4
- package/dist-cli/chunks/{logout-GV3H23TK.js → logout-GWXYQJKY.js} +2 -2
- package/dist-cli/chunks/{maestro-IFTHFVUR.js → maestro-73XTB4TQ.js} +2 -2
- package/dist-cli/chunks/optional-demo-registry-VJQAN5S5.js +2 -0
- package/dist-cli/chunks/{preview-COYJHGIY.js → preview-UO77YODM.js} +2 -2
- package/dist-cli/chunks/{profile-726ZBBXY.js → profile-ZGTZRSKI.js} +2 -2
- package/dist-cli/chunks/{react-LLN5L6NM.js → react-77P2ZPKP.js} +2 -2
- package/dist-cli/chunks/{record-TMJG2SMU.js → record-TYTQTISM.js} +2 -2
- package/dist-cli/chunks/runtime-YG4DSIZR.js +2 -0
- package/dist-cli/chunks/{screenshot-UFKR5MDO.js → screenshot-YQAQIKID.js} +2 -2
- package/dist-cli/chunks/{screenshot-mode-3ZGQR45L.js → screenshot-mode-2YK7P2A5.js} +2 -2
- package/dist-cli/chunks/{screenshots-JXS7HP2B.js → screenshots-RFAXUO6J.js} +2 -2
- package/dist-cli/chunks/{screenshots-capture-ZBUHYPJJ.js → screenshots-capture-5V4VLZ46.js} +2 -2
- package/dist-cli/chunks/{serve-ZG3KCDUO.js → serve-YKQNVYB3.js} +2 -2
- package/dist-cli/chunks/{setup-2XT4LRR5.js → setup-4VBJPQEG.js} +2 -2
- package/dist-cli/chunks/{skills-3I7UWGIB.js → skills-35JKCOHO.js} +2 -2
- package/dist-cli/chunks/{slides-SCGGLDQQ.js → slides-TE5ZRF32.js} +2 -2
- package/dist-cli/chunks/store-HKZGF2VP.js +2 -0
- package/dist-cli/chunks/telemetry-MZO7LCBJ.js +2 -0
- package/dist-cli/chunks/{test-ZRWZBUMK.js → test-ZQCKRCMQ.js} +3 -3
- package/dist-cli/chunks/{three-mode-LJHDX4PK.js → three-mode-MXI6TY4F.js} +2 -2
- package/dist-cli/chunks/{timeline-5OFJISEU.js → timeline-J4XMTY73.js} +2 -2
- package/dist-cli/chunks/{upgrade-M7HFPN57.js → upgrade-4YYUPYWA.js} +2 -2
- package/dist-cli/chunks/upload-BULXFLG3.js +2 -0
- package/dist-cli/chunks/{version-DHZQAZ66.js → version-SNWXESVB.js} +2 -2
- package/dist-cli/chunks/{web-43QEU5SE.js → web-V5EIIUBC.js} +2 -2
- package/dist-cli/chunks/{what-happened-RNVAVGKL.js → what-happened-DTF62KF5.js} +2 -2
- package/dist-cli/chunks/{whoami-F5EYWJCY.js → whoami-LXD6FRWT.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 +81 -25
- 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 -37
- package/dist-lib/jump-to-source-babel.cjs +1 -1
- package/dist-lib/menu.cjs +10 -3
- package/dist-lib/menu.mjs +10 -3
- 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 +83 -25
- package/dist-lib/sdk.cjs +1 -1
- package/dist-lib/sdk.mjs +1 -1
- package/dist-lib/skills.cjs +82 -26
- package/dist-lib/vite.cjs +1 -37
- package/package.json +1 -1
- package/scripts/dev-server-scanner.ts +120 -24
- package/src/menu.ts +10 -2
- package/src/vite-plugin-one.ts +0 -47
- package/dist-cli/chunks/beta-74JMB2XJ.js +0 -2
- package/dist-cli/chunks/chunk-DVBRRNWE.js +0 -2
- package/dist-cli/chunks/chunk-NE55HRAU.js +0 -5
- package/dist-cli/chunks/chunk-PNFYOQ4N.js +0 -1
- package/dist-cli/chunks/chunk-TBWJVJXW.js +0 -2
- package/dist-cli/chunks/chunk-YFLYSJL6.js +0 -1
- package/dist-cli/chunks/cli-version-PVBTBN2X.js +0 -2
- package/dist-cli/chunks/daemon-HORAEEZR.js +0 -2
- package/dist-cli/chunks/drivers-BSP2USRT.js +0 -2
- package/dist-cli/chunks/flow-ZXUEU6WL.js +0 -2
- package/dist-cli/chunks/help-6OSM7CI4.js +0 -2
- package/dist-cli/chunks/optional-demo-registry-26DVI7SE.js +0 -2
- package/dist-cli/chunks/runtime-3NQVPRES.js +0 -2
- package/dist-cli/chunks/store-7LKGHVAR.js +0 -2
- package/dist-cli/chunks/telemetry-SQRPQEGO.js +0 -2
- package/dist-cli/chunks/upload-OOTFDONE.js +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
2
|
-
import{C as N,D as F,F as y,Q as T,R as b,S}from"./chunk-
|
|
1
|
+
/*! sootsim v0.1.180 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
+
import{C as N,D as F,F as y,Q as T,R as b,S}from"./chunk-GKC4WAAU.js";import{c as A,e as _}from"./chunk-WNBED3UT.js";import"./chunk-SSTY3FZ7.js";import{b as k}from"./chunk-5UNOKZOH.js";import"./chunk-FQ6FCKBQ.js";import"./chunk-SC3LMYOI.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=A(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.180 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
+
import{d as i}from"./chunk-PJ46BMD3.js";import{d as n}from"./chunk-NNEKSG7J.js";import"./chunk-FQ6FCKBQ.js";import"./chunk-SC3LMYOI.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.180 | (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.180 | (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.180 | (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.180 | (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.180 | (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.180 | (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.180 | (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.180 | (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.180 | (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.180 | (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.180 | (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.180 | (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.180 | (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.180 | (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;
|
|
@@ -333,6 +333,49 @@ function applyManifest(result, manifestRes, buildIconProxyUrl) {
|
|
|
333
333
|
}
|
|
334
334
|
return result;
|
|
335
335
|
}
|
|
336
|
+
var ENRICH_TIMEOUT_MS = 2e4;
|
|
337
|
+
var enrichmentCache = /* @__PURE__ */ new Map();
|
|
338
|
+
var enrichmentInFlight = /* @__PURE__ */ new Set();
|
|
339
|
+
function enrichWithManifest(result, buildIconProxyUrl) {
|
|
340
|
+
if (result.projectName) return result;
|
|
341
|
+
const cached3 = enrichmentCache.get(result.port);
|
|
342
|
+
if (cached3) {
|
|
343
|
+
if (cached3.projectName) result.projectName = cached3.projectName;
|
|
344
|
+
if (cached3.iconUrl && !result.iconUrl) {
|
|
345
|
+
result.iconUrl = cached3.iconUrl;
|
|
346
|
+
result.iconPath = cached3.iconPath;
|
|
347
|
+
}
|
|
348
|
+
if (cached3.bundleId && !result.bundleId) result.bundleId = cached3.bundleId;
|
|
349
|
+
return result;
|
|
350
|
+
}
|
|
351
|
+
if (!enrichmentInFlight.has(result.port)) {
|
|
352
|
+
enrichmentInFlight.add(result.port);
|
|
353
|
+
const port = result.port;
|
|
354
|
+
void fetchManifestEnrichment(port, buildIconProxyUrl).finally(
|
|
355
|
+
() => enrichmentInFlight.delete(port)
|
|
356
|
+
);
|
|
357
|
+
}
|
|
358
|
+
return result;
|
|
359
|
+
}
|
|
360
|
+
async function fetchManifestEnrichment(port, buildIconProxyUrl) {
|
|
361
|
+
const manifestRes = await httpGet(port, "/", "GET", ENRICH_TIMEOUT_MS, {
|
|
362
|
+
"expo-platform": "ios"
|
|
363
|
+
});
|
|
364
|
+
if (!manifestRes || manifestRes.statusCode !== 200) return;
|
|
365
|
+
const parsed = applyManifest(
|
|
366
|
+
{ port, framework: "one", bundleUrl: "", lastSeen: 0 },
|
|
367
|
+
manifestRes,
|
|
368
|
+
buildIconProxyUrl
|
|
369
|
+
);
|
|
370
|
+
if (!parsed.projectName && !parsed.iconUrl) return;
|
|
371
|
+
enrichmentCache.set(port, {
|
|
372
|
+
projectName: parsed.projectName,
|
|
373
|
+
iconUrl: parsed.iconUrl,
|
|
374
|
+
iconPath: parsed.iconPath,
|
|
375
|
+
bundleId: parsed.bundleId
|
|
376
|
+
});
|
|
377
|
+
portCache.delete(port);
|
|
378
|
+
}
|
|
336
379
|
var knownNonPatched = /* @__PURE__ */ new Set();
|
|
337
380
|
var knownNonExpo = /* @__PURE__ */ new Set();
|
|
338
381
|
var knownOne = /* @__PURE__ */ new Set();
|
|
@@ -373,24 +416,30 @@ async function probePort(port, buildIconProxyUrl) {
|
|
|
373
416
|
}
|
|
374
417
|
if (statusRes && statusRes.body.includes("packager-status:running")) {
|
|
375
418
|
knownNonPatched.add(port);
|
|
376
|
-
return
|
|
377
|
-
|
|
378
|
-
|
|
419
|
+
return enrichWithManifest(
|
|
420
|
+
applyManifest(
|
|
421
|
+
makeResult(port, expoRes && expoRes.statusCode === 200 ? "expo" : "metro"),
|
|
422
|
+
manifestRes,
|
|
423
|
+
buildIconProxyUrl
|
|
424
|
+
),
|
|
379
425
|
buildIconProxyUrl
|
|
380
426
|
);
|
|
381
427
|
}
|
|
382
428
|
if (sootsimRes && sootsimRes.statusCode === 200 && sootsimRes.body.includes("sootsim-patched")) {
|
|
383
429
|
knownNonPatched.delete(port);
|
|
384
|
-
return
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
430
|
+
return enrichWithManifest(
|
|
431
|
+
applyManifest(
|
|
432
|
+
{
|
|
433
|
+
port,
|
|
434
|
+
framework: "one",
|
|
435
|
+
bundleUrl: withRuntimeConfig(port, `http://localhost:${port}/__soot/bundle.js`),
|
|
436
|
+
hmrUrl: `ws://localhost:${port}/hot`,
|
|
437
|
+
lastSeen: Date.now(),
|
|
438
|
+
patched: true
|
|
439
|
+
},
|
|
440
|
+
manifestRes,
|
|
441
|
+
buildIconProxyUrl
|
|
442
|
+
),
|
|
394
443
|
buildIconProxyUrl
|
|
395
444
|
);
|
|
396
445
|
}
|
|
@@ -402,18 +451,21 @@ async function probePort(port, buildIconProxyUrl) {
|
|
|
402
451
|
if (oneRes && oneRes.statusCode > 0 && oneRes.statusCode < 400 && /application\/javascript/i.test(oneRes.contentType || "")) {
|
|
403
452
|
knownNonPatched.add(port);
|
|
404
453
|
knownOne.add(port);
|
|
405
|
-
return
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
framework: "one",
|
|
409
|
-
bundleUrl: withRuntimeConfig(
|
|
454
|
+
return enrichWithManifest(
|
|
455
|
+
applyManifest(
|
|
456
|
+
{
|
|
410
457
|
port,
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
458
|
+
framework: "one",
|
|
459
|
+
bundleUrl: withRuntimeConfig(
|
|
460
|
+
port,
|
|
461
|
+
`http://localhost:${port}${onePath}&minify=false`
|
|
462
|
+
),
|
|
463
|
+
hmrUrl: `ws://localhost:${port}/hot`,
|
|
464
|
+
lastSeen: Date.now()
|
|
465
|
+
},
|
|
466
|
+
manifestRes,
|
|
467
|
+
buildIconProxyUrl
|
|
468
|
+
),
|
|
417
469
|
buildIconProxyUrl
|
|
418
470
|
);
|
|
419
471
|
}
|
|
@@ -461,6 +513,9 @@ async function scanDevServers(opts = {}) {
|
|
|
461
513
|
for (const p of [...knownOne]) {
|
|
462
514
|
if (!currentPorts.has(p)) knownOne.delete(p);
|
|
463
515
|
}
|
|
516
|
+
for (const p of [...enrichmentCache.keys()]) {
|
|
517
|
+
if (!currentPorts.has(p)) enrichmentCache.delete(p);
|
|
518
|
+
}
|
|
464
519
|
const results = [];
|
|
465
520
|
const toProbe = [];
|
|
466
521
|
for (const { port, pid } of processes) {
|
|
@@ -473,6 +528,7 @@ async function scanDevServers(opts = {}) {
|
|
|
473
528
|
knownNonPatched.delete(port);
|
|
474
529
|
knownNonExpo.delete(port);
|
|
475
530
|
knownOne.delete(port);
|
|
531
|
+
enrichmentCache.delete(port);
|
|
476
532
|
}
|
|
477
533
|
toProbe.push({ port, pid });
|
|
478
534
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.180 | (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.180 | (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.180 | (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.180 | (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.180 | (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;
|
|
@@ -179,7 +179,6 @@ function serveRuntimeFile(res, fullPath) {
|
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
// src/vite-plugin-one.ts
|
|
182
|
-
var sootsimRoot = import_path2.default.resolve(import_path2.default.dirname(new URL(__sootsim_import_meta_url).pathname), "..");
|
|
183
182
|
function sootsimPlugin(options = {}) {
|
|
184
183
|
if (options.enabled === false) return [];
|
|
185
184
|
const prefix2 = options.prefix || "/__soot";
|
|
@@ -273,45 +272,10 @@ function sootsimPlugin(options = {}) {
|
|
|
273
272
|
const port = server.config.server.port || 8081;
|
|
274
273
|
const sootsimUrl = `http://localhost:${port}${prefix2}/`;
|
|
275
274
|
console.log(`[sootsim] serving at ${sootsimUrl}`);
|
|
276
|
-
if (options.open !== false) {
|
|
277
|
-
openElectronApp(sootsimUrl);
|
|
278
|
-
}
|
|
279
275
|
}
|
|
280
276
|
}
|
|
281
277
|
];
|
|
282
278
|
}
|
|
283
|
-
async function openElectronApp(sootsimUrl) {
|
|
284
|
-
if (process.platform !== "darwin") return;
|
|
285
|
-
const { execSync, exec } = await import("child_process");
|
|
286
|
-
const schemeUrl = `sootsim://dev?url=${encodeURIComponent(sootsimUrl)}`;
|
|
287
|
-
try {
|
|
288
|
-
exec(`open "${schemeUrl}"`);
|
|
289
|
-
return;
|
|
290
|
-
} catch {
|
|
291
|
-
}
|
|
292
|
-
const candidates = [
|
|
293
|
-
"/Applications/sootsim.app",
|
|
294
|
-
import_path2.default.join(process.env.HOME || "", "Applications/sootsim.app"),
|
|
295
|
-
import_path2.default.join(sootsimRoot, "release/mac-arm64/sootsim.app")
|
|
296
|
-
];
|
|
297
|
-
let appPath = candidates.find((p) => import_fs2.default.existsSync(p));
|
|
298
|
-
if (!appPath) {
|
|
299
|
-
try {
|
|
300
|
-
const found = execSync(
|
|
301
|
-
'mdfind "kMDItemCFBundleIdentifier == dev.sootsim.simulator"',
|
|
302
|
-
{ encoding: "utf8", timeout: 3e3 }
|
|
303
|
-
).trim();
|
|
304
|
-
if (found) appPath = found.split("\n")[0];
|
|
305
|
-
} catch {
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
if (appPath) {
|
|
309
|
-
try {
|
|
310
|
-
exec(`open -a "${appPath}" "${sootsimUrl}"`);
|
|
311
|
-
} catch {
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
279
|
|
|
316
280
|
// src/metro-plugin.ts
|
|
317
281
|
var import_fs3 = __toESM(require("fs"), 1);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.180 | (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.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.180 | (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;
|
|
@@ -42,7 +42,7 @@ function buildSootSimMenuDefs(state, deviceChoices) {
|
|
|
42
42
|
fileMenu(state, deviceChoices),
|
|
43
43
|
editMenu(),
|
|
44
44
|
deviceMenu(state, deviceChoices),
|
|
45
|
-
debugMenu(),
|
|
45
|
+
debugMenu(state),
|
|
46
46
|
windowMenu(state),
|
|
47
47
|
helpMenu()
|
|
48
48
|
];
|
|
@@ -175,7 +175,7 @@ function deviceMenu(state, deviceChoices) {
|
|
|
175
175
|
]
|
|
176
176
|
};
|
|
177
177
|
}
|
|
178
|
-
function debugMenu() {
|
|
178
|
+
function debugMenu(state) {
|
|
179
179
|
return {
|
|
180
180
|
label: "Debug",
|
|
181
181
|
items: [
|
|
@@ -202,6 +202,13 @@ function debugMenu() {
|
|
|
202
202
|
showInShortcutDocs: true
|
|
203
203
|
},
|
|
204
204
|
{ type: "separator" },
|
|
205
|
+
{
|
|
206
|
+
label: "Always Show Live WebViews",
|
|
207
|
+
type: "checkbox",
|
|
208
|
+
checked: state.alwaysShowLiveWebViews,
|
|
209
|
+
action: "toggle-live-webviews"
|
|
210
|
+
},
|
|
211
|
+
{ type: "separator" },
|
|
205
212
|
{
|
|
206
213
|
label: "Clear Cache and Reload",
|
|
207
214
|
accelerator: "CmdOrCtrl+Shift+R",
|
package/dist-lib/menu.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.180 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
|
|
3
3
|
// src/menu.ts
|
|
4
4
|
var SOOTSIM_ENGINE_EVENT_NAME = "sootsim:engine-event";
|
|
@@ -9,7 +9,7 @@ function buildSootSimMenuDefs(state, deviceChoices) {
|
|
|
9
9
|
fileMenu(state, deviceChoices),
|
|
10
10
|
editMenu(),
|
|
11
11
|
deviceMenu(state, deviceChoices),
|
|
12
|
-
debugMenu(),
|
|
12
|
+
debugMenu(state),
|
|
13
13
|
windowMenu(state),
|
|
14
14
|
helpMenu()
|
|
15
15
|
];
|
|
@@ -142,7 +142,7 @@ function deviceMenu(state, deviceChoices) {
|
|
|
142
142
|
]
|
|
143
143
|
};
|
|
144
144
|
}
|
|
145
|
-
function debugMenu() {
|
|
145
|
+
function debugMenu(state) {
|
|
146
146
|
return {
|
|
147
147
|
label: "Debug",
|
|
148
148
|
items: [
|
|
@@ -169,6 +169,13 @@ function debugMenu() {
|
|
|
169
169
|
showInShortcutDocs: true
|
|
170
170
|
},
|
|
171
171
|
{ type: "separator" },
|
|
172
|
+
{
|
|
173
|
+
label: "Always Show Live WebViews",
|
|
174
|
+
type: "checkbox",
|
|
175
|
+
checked: state.alwaysShowLiveWebViews,
|
|
176
|
+
action: "toggle-live-webviews"
|
|
177
|
+
},
|
|
178
|
+
{ type: "separator" },
|
|
172
179
|
{
|
|
173
180
|
label: "Clear Cache and Reload",
|
|
174
181
|
accelerator: "CmdOrCtrl+Shift+R",
|
package/dist-lib/metro.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.180 | (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.180 | (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.180 | (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.180 | (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;
|
|
@@ -325,6 +325,49 @@ function applyManifest(result, manifestRes, buildIconProxyUrl) {
|
|
|
325
325
|
function __applyManifestForTests(result, manifestBody) {
|
|
326
326
|
return applyManifest(result, { statusCode: 200, body: manifestBody });
|
|
327
327
|
}
|
|
328
|
+
var ENRICH_TIMEOUT_MS = 2e4;
|
|
329
|
+
var enrichmentCache = /* @__PURE__ */ new Map();
|
|
330
|
+
var enrichmentInFlight = /* @__PURE__ */ new Set();
|
|
331
|
+
function enrichWithManifest(result, buildIconProxyUrl) {
|
|
332
|
+
if (result.projectName) return result;
|
|
333
|
+
const cached2 = enrichmentCache.get(result.port);
|
|
334
|
+
if (cached2) {
|
|
335
|
+
if (cached2.projectName) result.projectName = cached2.projectName;
|
|
336
|
+
if (cached2.iconUrl && !result.iconUrl) {
|
|
337
|
+
result.iconUrl = cached2.iconUrl;
|
|
338
|
+
result.iconPath = cached2.iconPath;
|
|
339
|
+
}
|
|
340
|
+
if (cached2.bundleId && !result.bundleId) result.bundleId = cached2.bundleId;
|
|
341
|
+
return result;
|
|
342
|
+
}
|
|
343
|
+
if (!enrichmentInFlight.has(result.port)) {
|
|
344
|
+
enrichmentInFlight.add(result.port);
|
|
345
|
+
const port = result.port;
|
|
346
|
+
void fetchManifestEnrichment(port, buildIconProxyUrl).finally(
|
|
347
|
+
() => enrichmentInFlight.delete(port)
|
|
348
|
+
);
|
|
349
|
+
}
|
|
350
|
+
return result;
|
|
351
|
+
}
|
|
352
|
+
async function fetchManifestEnrichment(port, buildIconProxyUrl) {
|
|
353
|
+
const manifestRes = await httpGet(port, "/", "GET", ENRICH_TIMEOUT_MS, {
|
|
354
|
+
"expo-platform": "ios"
|
|
355
|
+
});
|
|
356
|
+
if (!manifestRes || manifestRes.statusCode !== 200) return;
|
|
357
|
+
const parsed = applyManifest(
|
|
358
|
+
{ port, framework: "one", bundleUrl: "", lastSeen: 0 },
|
|
359
|
+
manifestRes,
|
|
360
|
+
buildIconProxyUrl
|
|
361
|
+
);
|
|
362
|
+
if (!parsed.projectName && !parsed.iconUrl) return;
|
|
363
|
+
enrichmentCache.set(port, {
|
|
364
|
+
projectName: parsed.projectName,
|
|
365
|
+
iconUrl: parsed.iconUrl,
|
|
366
|
+
iconPath: parsed.iconPath,
|
|
367
|
+
bundleId: parsed.bundleId
|
|
368
|
+
});
|
|
369
|
+
portCache.delete(port);
|
|
370
|
+
}
|
|
328
371
|
var knownNonPatched = /* @__PURE__ */ new Set();
|
|
329
372
|
var knownNonExpo = /* @__PURE__ */ new Set();
|
|
330
373
|
var knownOne = /* @__PURE__ */ new Set();
|
|
@@ -365,24 +408,30 @@ async function probePort(port, buildIconProxyUrl) {
|
|
|
365
408
|
}
|
|
366
409
|
if (statusRes && statusRes.body.includes("packager-status:running")) {
|
|
367
410
|
knownNonPatched.add(port);
|
|
368
|
-
return
|
|
369
|
-
|
|
370
|
-
|
|
411
|
+
return enrichWithManifest(
|
|
412
|
+
applyManifest(
|
|
413
|
+
makeResult(port, expoRes && expoRes.statusCode === 200 ? "expo" : "metro"),
|
|
414
|
+
manifestRes,
|
|
415
|
+
buildIconProxyUrl
|
|
416
|
+
),
|
|
371
417
|
buildIconProxyUrl
|
|
372
418
|
);
|
|
373
419
|
}
|
|
374
420
|
if (sootsimRes && sootsimRes.statusCode === 200 && sootsimRes.body.includes("sootsim-patched")) {
|
|
375
421
|
knownNonPatched.delete(port);
|
|
376
|
-
return
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
422
|
+
return enrichWithManifest(
|
|
423
|
+
applyManifest(
|
|
424
|
+
{
|
|
425
|
+
port,
|
|
426
|
+
framework: "one",
|
|
427
|
+
bundleUrl: withRuntimeConfig(port, `http://localhost:${port}/__soot/bundle.js`),
|
|
428
|
+
hmrUrl: `ws://localhost:${port}/hot`,
|
|
429
|
+
lastSeen: Date.now(),
|
|
430
|
+
patched: true
|
|
431
|
+
},
|
|
432
|
+
manifestRes,
|
|
433
|
+
buildIconProxyUrl
|
|
434
|
+
),
|
|
386
435
|
buildIconProxyUrl
|
|
387
436
|
);
|
|
388
437
|
}
|
|
@@ -394,18 +443,21 @@ async function probePort(port, buildIconProxyUrl) {
|
|
|
394
443
|
if (oneRes && oneRes.statusCode > 0 && oneRes.statusCode < 400 && /application\/javascript/i.test(oneRes.contentType || "")) {
|
|
395
444
|
knownNonPatched.add(port);
|
|
396
445
|
knownOne.add(port);
|
|
397
|
-
return
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
framework: "one",
|
|
401
|
-
bundleUrl: withRuntimeConfig(
|
|
446
|
+
return enrichWithManifest(
|
|
447
|
+
applyManifest(
|
|
448
|
+
{
|
|
402
449
|
port,
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
450
|
+
framework: "one",
|
|
451
|
+
bundleUrl: withRuntimeConfig(
|
|
452
|
+
port,
|
|
453
|
+
`http://localhost:${port}${onePath}&minify=false`
|
|
454
|
+
),
|
|
455
|
+
hmrUrl: `ws://localhost:${port}/hot`,
|
|
456
|
+
lastSeen: Date.now()
|
|
457
|
+
},
|
|
458
|
+
manifestRes,
|
|
459
|
+
buildIconProxyUrl
|
|
460
|
+
),
|
|
409
461
|
buildIconProxyUrl
|
|
410
462
|
);
|
|
411
463
|
}
|
|
@@ -444,6 +496,8 @@ function __resetScannerCache() {
|
|
|
444
496
|
knownNonPatched.clear();
|
|
445
497
|
knownNonExpo.clear();
|
|
446
498
|
knownOne.clear();
|
|
499
|
+
enrichmentCache.clear();
|
|
500
|
+
enrichmentInFlight.clear();
|
|
447
501
|
}
|
|
448
502
|
async function scanDevServers(opts = {}) {
|
|
449
503
|
const processes = await discoverListeningProcesses(opts.excludePorts);
|
|
@@ -460,6 +514,9 @@ async function scanDevServers(opts = {}) {
|
|
|
460
514
|
for (const p of [...knownOne]) {
|
|
461
515
|
if (!currentPorts.has(p)) knownOne.delete(p);
|
|
462
516
|
}
|
|
517
|
+
for (const p of [...enrichmentCache.keys()]) {
|
|
518
|
+
if (!currentPorts.has(p)) enrichmentCache.delete(p);
|
|
519
|
+
}
|
|
463
520
|
const results = [];
|
|
464
521
|
const toProbe = [];
|
|
465
522
|
for (const { port, pid } of processes) {
|
|
@@ -472,6 +529,7 @@ async function scanDevServers(opts = {}) {
|
|
|
472
529
|
knownNonPatched.delete(port);
|
|
473
530
|
knownNonExpo.delete(port);
|
|
474
531
|
knownOne.delete(port);
|
|
532
|
+
enrichmentCache.delete(port);
|
|
475
533
|
}
|
|
476
534
|
toProbe.push({ port, pid });
|
|
477
535
|
}
|
package/dist-lib/sdk.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.180 | (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