sootsim 0.1.200 → 0.1.202
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-cli/bin.js +5 -4
- package/dist-cli/chunks/{agent-RJBLYNGF.js → agent-SP6EE5XV.js} +2 -2
- package/dist-cli/chunks/{agent-wrapper-E6WLI6L3.js → agent-wrapper-PWZVJ3OK.js} +2 -2
- package/dist-cli/chunks/{app-fonts-O3VYBYQW.js → app-fonts-EMJB6QLM.js} +2 -2
- package/dist-cli/chunks/{assert-VFBTT2JB.js → assert-H2B6TDXT.js} +2 -2
- package/dist-cli/chunks/{auth-DQ6AJU2X.js → auth-SOHXBYLQ.js} +2 -2
- package/dist-cli/chunks/beta-CCNQQ73A.js +2 -0
- package/dist-cli/chunks/{camera-C2OFA3JA.js → camera-ULLCBM5H.js} +2 -2
- package/dist-cli/chunks/{chunk-UGJFYNMX.js → chunk-2CID4LNK.js} +3 -3
- package/dist-cli/chunks/chunk-2V43M57C.js +2 -0
- package/dist-cli/chunks/{chunk-GKXPIE6X.js → chunk-3ZENZOIX.js} +2 -2
- package/dist-cli/chunks/{chunk-6RHOWIGL.js → chunk-4KT2BGQE.js} +1 -1
- package/dist-cli/chunks/{chunk-P4PCUR4Y.js → chunk-4KVSVFRF.js} +1 -1
- package/dist-cli/chunks/{chunk-VACKEJ3E.js → chunk-4NM6JBYH.js} +1 -1
- package/dist-cli/chunks/chunk-5J63S2NM.js +1 -0
- package/dist-cli/chunks/{chunk-7BS4AKZT.js → chunk-5SKKMM7E.js} +1 -1
- package/dist-cli/chunks/chunk-6FZ6SNVP.js +4 -0
- package/dist-cli/chunks/{chunk-3BEGOL5T.js → chunk-6QFVYLX6.js} +2 -2
- package/dist-cli/chunks/{chunk-IJ6DRL7N.js → chunk-AAQVPSIV.js} +2 -2
- package/dist-cli/chunks/{chunk-XF3JBBPU.js → chunk-B6JB4THC.js} +2 -2
- package/dist-cli/chunks/{chunk-JJOS6L5H.js → chunk-BZ7AW7ZB.js} +2 -2
- package/dist-cli/chunks/{chunk-OCA5CK4S.js → chunk-CB7LDZKJ.js} +3 -3
- package/dist-cli/chunks/{chunk-6JKBWHIO.js → chunk-CGJ2U6ST.js} +1 -1
- package/dist-cli/chunks/chunk-DKBKU55D.js +2 -0
- package/dist-cli/chunks/{chunk-QSWT3OVG.js → chunk-DRJ4YWUG.js} +1 -1
- package/dist-cli/chunks/{chunk-XAIDHR55.js → chunk-EMOZJ773.js} +2 -2
- package/dist-cli/chunks/{chunk-KFGBNAV3.js → chunk-ENXHZGSL.js} +1 -1
- package/dist-cli/chunks/{chunk-I6DJFJQ6.js → chunk-F2LLN4U7.js} +2 -2
- package/dist-cli/chunks/{chunk-3PAUJH34.js → chunk-GUYKLSTX.js} +1 -1
- package/dist-cli/chunks/chunk-GZKT53SA.js +7 -0
- package/dist-cli/chunks/{chunk-DWFS6IIT.js → chunk-HZYHSLNH.js} +2 -2
- package/dist-cli/chunks/chunk-I6O7NBPZ.js +1 -0
- package/dist-cli/chunks/{chunk-U5O3F3NB.js → chunk-JP7J325R.js} +2 -2
- package/dist-cli/chunks/{chunk-5SB3N45C.js → chunk-K3UBHPVP.js} +1 -1
- package/dist-cli/chunks/{chunk-VFSOKG53.js → chunk-KRGHRSKY.js} +2 -2
- package/dist-cli/chunks/{chunk-VP4Y767U.js → chunk-KYGUR727.js} +2 -2
- package/dist-cli/chunks/{chunk-2E4DUZEV.js → chunk-LNDRRZP3.js} +2 -2
- package/dist-cli/chunks/{chunk-NEQRFWA3.js → chunk-OG6TFGYF.js} +2 -2
- package/dist-cli/chunks/{chunk-PJAKGC4A.js → chunk-PL4GXELT.js} +1 -1
- package/dist-cli/chunks/{chunk-MZLG4WVE.js → chunk-RJVIUQK4.js} +1 -1
- package/dist-cli/chunks/{chunk-4RUK2YSF.js → chunk-ROYBEBG2.js} +1 -1
- package/dist-cli/chunks/{chunk-42G5ZRQR.js → chunk-RS7QLHEH.js} +2 -2
- package/dist-cli/chunks/{chunk-LSDJTPOY.js → chunk-RWXCSRNE.js} +2 -2
- package/dist-cli/chunks/{chunk-NX4VSQD5.js → chunk-RZQO4Q7E.js} +1 -1
- package/dist-cli/chunks/{chunk-SFUQJU5Q.js → chunk-SQBX2HS7.js} +6 -6
- package/dist-cli/chunks/{chunk-NK4FF37S.js → chunk-TANTCV45.js} +2 -2
- package/dist-cli/chunks/chunk-W4Y3JJX6.js +29 -0
- package/dist-cli/chunks/chunk-WILIVPUU.js +567 -0
- package/dist-cli/chunks/{chunk-GMBG6JLV.js → chunk-WVDWIXPH.js} +2 -2
- package/dist-cli/chunks/{chunk-HGBMGQGP.js → chunk-Z5VMWFCY.js} +1 -1
- package/dist-cli/chunks/cli-version-Z4NGLJLH.js +2 -0
- package/dist-cli/chunks/{compat-L2E3OQW3.js → compat-YW3OJ7RX.js} +3 -3
- package/dist-cli/chunks/{config-K4IMJRHG.js → config-ZGOXFEX4.js} +2 -2
- package/dist-cli/chunks/{control-OXJ7S7UG.js → control-75JRFOYV.js} +2 -2
- package/dist-cli/chunks/daemon-SHFBQRHD.js +2 -0
- package/dist-cli/chunks/{debug-ZPKRTLGX.js → debug-4APEP64L.js} +3 -3
- package/dist-cli/chunks/{desktop-YA2UL7Q4.js → desktop-CS7S4CXK.js} +3 -3
- package/dist-cli/chunks/detox-7R7DOKQM.js +50 -0
- package/dist-cli/chunks/{device-M6YG7TKY.js → device-EIDKLBEK.js} +2 -2
- package/dist-cli/chunks/{diagnose-3OUFTELV.js → diagnose-J2F7MJAJ.js} +2 -2
- package/dist-cli/chunks/drivers-55L7BHDF.js +2 -0
- package/dist-cli/chunks/flow-AHWVTHJP.js +2 -0
- package/dist-cli/chunks/help-C4BTMPEE.js +2 -0
- package/dist-cli/chunks/home-paths-WVCREWI7.js +2 -0
- package/dist-cli/chunks/inspect-M4Z4SSSB.js +2 -0
- package/dist-cli/chunks/install-desktop-PVRUAEMA.js +2 -0
- package/dist-cli/chunks/{login-RNYBOMNF.js → login-EOBJ7CZ4.js} +4 -4
- package/dist-cli/chunks/{logout-XBW3BXL4.js → logout-RL7D66VQ.js} +2 -2
- package/dist-cli/chunks/maestro-F66ZIJKA.js +96 -0
- package/dist-cli/chunks/{mode-E353E6HN.js → mode-R2VIW66U.js} +2 -2
- package/dist-cli/chunks/optional-demo-registry-ILX5YV34.js +2 -0
- package/dist-cli/chunks/{perf-CIOBGFHU.js → perf-PGYO5BBR.js} +2 -2
- package/dist-cli/chunks/{record-I626AYJ5.js → record-IGDVHC67.js} +3 -3
- package/dist-cli/chunks/runtime-43RJGUGS.js +2 -0
- package/dist-cli/chunks/{screenshot-command-TTB5OOL2.js → screenshot-command-HX4GVUJM.js} +2 -2
- package/dist-cli/chunks/{serve-AEBEXTTW.js → serve-3TFVHYLY.js} +18 -18
- package/dist-cli/chunks/{setup-7QCI53ZK.js → setup-JSPPRVET.js} +3 -3
- package/dist-cli/chunks/{skills-7LHL5KHW.js → skills-LK3B76W7.js} +2 -2
- package/dist-cli/chunks/{storage-BVWLYY23.js → storage-NC5RNBUA.js} +2 -2
- package/dist-cli/chunks/store-3XMEKA6H.js +2 -0
- package/dist-cli/chunks/telemetry-CVJ5YZNS.js +2 -0
- package/dist-cli/chunks/test-2CXPLH5N.js +69 -0
- package/dist-cli/chunks/{timeline-BVR4E6PY.js → timeline-WDTEVELN.js} +2 -2
- package/dist-cli/chunks/upgrade-TT2IJSNJ.js +4 -0
- package/dist-cli/chunks/upload-4HMNB4HA.js +2 -0
- package/dist-cli/chunks/version-JUNH4FOR.js +4 -0
- package/dist-cli/chunks/{web-HYLNFAXS.js → web-BWCW26ZA.js} +2 -2
- package/dist-cli/chunks/{what-happened-YGRE2NFG.js → what-happened-L6EEB6MB.js} +2 -2
- package/dist-lib/agent-daemon-client.cjs +1 -1
- package/dist-lib/agent-events.cjs +1 -1
- package/dist-lib/agent-identity.cjs +1 -1
- package/dist-lib/agent-sessions.cjs +1 -1
- package/dist-lib/attached-projects.cjs +1 -1
- package/dist-lib/auth/shared-session.cjs +1 -1
- package/dist-lib/backend-origin.cjs +1 -1
- package/dist-lib/beta.cjs +1 -1
- package/dist-lib/beta.mjs +1 -1
- package/dist-lib/bridge-constants.cjs +1 -1
- package/dist-lib/cli-constants.cjs +1 -1
- package/dist-lib/config.cjs +1 -1
- package/dist-lib/detox/index.cjs +1 -1
- package/dist-lib/dev-bundle-resolution.cjs +1 -1
- package/dist-lib/home-paths.cjs +32 -1
- package/dist-lib/host/bridge-host.cjs +51 -2
- package/dist-lib/host/fetch-proxy-handler.cjs +1 -1
- package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
- package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
- package/dist-lib/host/websocket-proxy.cjs +1 -1
- package/dist-lib/index.cjs +1 -1
- package/dist-lib/jump-to-source-babel.cjs +1 -1
- package/dist-lib/menu.cjs +1 -1
- package/dist-lib/menu.mjs +1 -1
- package/dist-lib/metro.cjs +1 -1
- package/dist-lib/profiles.cjs +1 -1
- package/dist-lib/render-mode.cjs +1 -1
- package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
- package/dist-lib/sdk.cjs +1 -1
- package/dist-lib/sdk.mjs +1 -1
- package/dist-lib/skills.cjs +115 -36
- package/dist-lib/vite.cjs +1 -1
- package/package.json +1 -1
- package/src/home-paths.ts +48 -1
- package/src/host/bridge-host.ts +12 -0
- package/src/runtime-delivery.ts +59 -9
- package/src/screenshots/frame-compose.ts +21 -13
- package/dist-cli/chunks/beta-ZXPAAXGE.js +0 -2
- package/dist-cli/chunks/chunk-CB3I3VQT.js +0 -6
- package/dist-cli/chunks/chunk-EY2OMKPT.js +0 -1
- package/dist-cli/chunks/chunk-M3AUV33V.js +0 -4
- package/dist-cli/chunks/chunk-RJ6WD7XJ.js +0 -567
- package/dist-cli/chunks/chunk-TMXLUWD2.js +0 -27
- package/dist-cli/chunks/chunk-USDJA22M.js +0 -1
- package/dist-cli/chunks/chunk-VXBWUAYL.js +0 -2
- package/dist-cli/chunks/cli-version-E3OGD447.js +0 -2
- package/dist-cli/chunks/daemon-G5GBYBJ4.js +0 -2
- package/dist-cli/chunks/detox-LKEZBGH5.js +0 -49
- package/dist-cli/chunks/drivers-CTSUKCFK.js +0 -2
- package/dist-cli/chunks/flow-R5GJJLLW.js +0 -2
- package/dist-cli/chunks/help-CSSCFOBR.js +0 -2
- package/dist-cli/chunks/home-paths-4V6CGISP.js +0 -2
- package/dist-cli/chunks/inspect-NIBEAJND.js +0 -2
- package/dist-cli/chunks/install-desktop-7TYE6TTP.js +0 -2
- package/dist-cli/chunks/maestro-3EBOG357.js +0 -96
- package/dist-cli/chunks/optional-demo-registry-BEUP6OEZ.js +0 -2
- package/dist-cli/chunks/runtime-254BNZHB.js +0 -2
- package/dist-cli/chunks/store-6KAKNNCL.js +0 -2
- package/dist-cli/chunks/telemetry-EZ42CD35.js +0 -2
- package/dist-cli/chunks/test-BK4GZZR2.js +0 -69
- package/dist-cli/chunks/upgrade-AY5XC5QI.js +0 -4
- package/dist-cli/chunks/upload-HOF4XBAG.js +0 -2
- package/dist-cli/chunks/version-WQM34S4E.js +0 -4
|
@@ -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.202 | (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-ROYBEBG2.js";import{g as A,i as _}from"./chunk-KRGHRSKY.js";import"./chunk-PL4GXELT.js";import{b as k}from"./chunk-RZQO4Q7E.js";import"./chunk-GZKT53SA.js";import"./chunk-4KT2BGQE.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,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.202 | (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.202 | (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.202 | (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.202 | (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.202 | (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.202 | (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.202 | (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.202 | (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.202 | (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.202 | (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.202 | (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.202 | (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.202 | (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.202 | (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;
|
|
@@ -44,6 +44,7 @@ __export(home_paths_exports, {
|
|
|
44
44
|
claimDaemonLockfile: () => claimDaemonLockfile,
|
|
45
45
|
compareSemver: () => compareSemver,
|
|
46
46
|
configFilePath: () => configFilePath,
|
|
47
|
+
consumeRuntimeUpgradeNotice: () => consumeRuntimeUpgradeNotice,
|
|
47
48
|
daemonAppBundlePath: () => daemonAppBundlePath,
|
|
48
49
|
daemonAppDir: () => daemonAppDir,
|
|
49
50
|
daemonAppLauncherPath: () => daemonAppLauncherPath,
|
|
@@ -68,12 +69,14 @@ __export(home_paths_exports, {
|
|
|
68
69
|
removeDaemonLockfile: () => removeDaemonLockfile,
|
|
69
70
|
removeDevBridgeLockfile: () => removeDevBridgeLockfile,
|
|
70
71
|
runtimeDir: () => runtimeDir,
|
|
72
|
+
runtimeUpgradeNoticePath: () => runtimeUpgradeNoticePath,
|
|
71
73
|
runtimesDir: () => runtimesDir,
|
|
72
74
|
shouldSkipPersistentDaemon: () => shouldSkipPersistentDaemon,
|
|
73
75
|
sootsimHomeDir: () => sootsimHomeDir,
|
|
74
76
|
writeActiveRuntime: () => writeActiveRuntime,
|
|
75
77
|
writeDaemonLockfile: () => writeDaemonLockfile,
|
|
76
78
|
writeDevBridgeLockfile: () => writeDevBridgeLockfile,
|
|
79
|
+
writeRuntimeUpgradeNotice: () => writeRuntimeUpgradeNotice,
|
|
77
80
|
writeSharedConfig: () => writeSharedConfig,
|
|
78
81
|
writeTelemetryEnabled: () => writeTelemetryEnabled
|
|
79
82
|
});
|
|
@@ -194,6 +197,31 @@ function readOrCreateAnonymousId() {
|
|
|
194
197
|
function writeTelemetryEnabled(enabled) {
|
|
195
198
|
writeSharedConfig({ telemetry: enabled });
|
|
196
199
|
}
|
|
200
|
+
function runtimeUpgradeNoticePath() {
|
|
201
|
+
return import_node_path.default.join(sootsimHomeDir(), "runtime-upgraded.json");
|
|
202
|
+
}
|
|
203
|
+
function writeRuntimeUpgradeNotice(notice) {
|
|
204
|
+
ensureSootsimHome();
|
|
205
|
+
const tmp = `${runtimeUpgradeNoticePath()}.tmp`;
|
|
206
|
+
import_node_fs.default.writeFileSync(tmp, `${JSON.stringify(notice)}
|
|
207
|
+
`, "utf8");
|
|
208
|
+
import_node_fs.default.renameSync(tmp, runtimeUpgradeNoticePath());
|
|
209
|
+
}
|
|
210
|
+
function consumeRuntimeUpgradeNotice() {
|
|
211
|
+
try {
|
|
212
|
+
const raw = import_node_fs.default.readFileSync(runtimeUpgradeNoticePath(), "utf8");
|
|
213
|
+
import_node_fs.default.unlinkSync(runtimeUpgradeNoticePath());
|
|
214
|
+
const parsed = JSON.parse(raw);
|
|
215
|
+
if (typeof parsed?.to !== "string" || !parsed.to) return null;
|
|
216
|
+
return {
|
|
217
|
+
from: typeof parsed.from === "string" ? parsed.from : null,
|
|
218
|
+
to: parsed.to,
|
|
219
|
+
at: typeof parsed.at === "number" ? parsed.at : 0
|
|
220
|
+
};
|
|
221
|
+
} catch {
|
|
222
|
+
return null;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
197
225
|
function ensureSootsimHome() {
|
|
198
226
|
import_node_fs.default.mkdirSync(sootsimHomeDir(), { recursive: true });
|
|
199
227
|
import_node_fs.default.mkdirSync(runtimesDir(), { recursive: true });
|
|
@@ -360,6 +388,7 @@ function removeDevBridgeLockfile() {
|
|
|
360
388
|
claimDaemonLockfile,
|
|
361
389
|
compareSemver,
|
|
362
390
|
configFilePath,
|
|
391
|
+
consumeRuntimeUpgradeNotice,
|
|
363
392
|
daemonAppBundlePath,
|
|
364
393
|
daemonAppDir,
|
|
365
394
|
daemonAppLauncherPath,
|
|
@@ -384,12 +413,14 @@ function removeDevBridgeLockfile() {
|
|
|
384
413
|
removeDaemonLockfile,
|
|
385
414
|
removeDevBridgeLockfile,
|
|
386
415
|
runtimeDir,
|
|
416
|
+
runtimeUpgradeNoticePath,
|
|
387
417
|
runtimesDir,
|
|
388
418
|
shouldSkipPersistentDaemon,
|
|
389
419
|
sootsimHomeDir,
|
|
390
420
|
writeActiveRuntime,
|
|
391
421
|
writeDaemonLockfile,
|
|
392
422
|
writeDevBridgeLockfile,
|
|
423
|
+
writeRuntimeUpgradeNotice,
|
|
393
424
|
writeSharedConfig,
|
|
394
425
|
writeTelemetryEnabled
|
|
395
426
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.202 | (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;
|
|
@@ -662,6 +662,16 @@ function writeSharedConfig(patch) {
|
|
|
662
662
|
import_node_fs2.default.renameSync(tmp, configFilePath());
|
|
663
663
|
return next;
|
|
664
664
|
}
|
|
665
|
+
function runtimeUpgradeNoticePath() {
|
|
666
|
+
return import_node_path.default.join(sootsimHomeDir(), "runtime-upgraded.json");
|
|
667
|
+
}
|
|
668
|
+
function writeRuntimeUpgradeNotice(notice) {
|
|
669
|
+
ensureSootsimHome();
|
|
670
|
+
const tmp = `${runtimeUpgradeNoticePath()}.tmp`;
|
|
671
|
+
import_node_fs2.default.writeFileSync(tmp, `${JSON.stringify(notice)}
|
|
672
|
+
`, "utf8");
|
|
673
|
+
import_node_fs2.default.renameSync(tmp, runtimeUpgradeNoticePath());
|
|
674
|
+
}
|
|
665
675
|
function ensureSootsimHome() {
|
|
666
676
|
import_node_fs2.default.mkdirSync(sootsimHomeDir(), { recursive: true });
|
|
667
677
|
import_node_fs2.default.mkdirSync(runtimesDir(), { recursive: true });
|
|
@@ -825,6 +835,7 @@ var import_promises = require("stream/promises");
|
|
|
825
835
|
var DEFAULT_RUNTIME_CDN_ORIGIN = "https://sootbean.com";
|
|
826
836
|
var RUNTIME_CDN_ORIGIN_ENV = "SOOTSIM_CDN_ORIGIN";
|
|
827
837
|
var RUNTIME_CHANNEL_ENV = "SOOTSIM_RUNTIME_CHANNEL";
|
|
838
|
+
var RUNTIME_PIN_ENV = "SOOTSIM_RUNTIME_VERSION";
|
|
828
839
|
function readConfig() {
|
|
829
840
|
try {
|
|
830
841
|
const parsed = JSON.parse(import_fs2.default.readFileSync(configFilePath(), "utf8"));
|
|
@@ -842,6 +853,12 @@ function resolveRuntimeChannel(input) {
|
|
|
842
853
|
const config = readConfig();
|
|
843
854
|
return input || process.env[RUNTIME_CHANNEL_ENV] || config.runtimeChannel || "stable";
|
|
844
855
|
}
|
|
856
|
+
function resolveRuntimePin() {
|
|
857
|
+
const env = process.env[RUNTIME_PIN_ENV];
|
|
858
|
+
if (env && env.trim()) return env.trim();
|
|
859
|
+
const config = readConfig();
|
|
860
|
+
return typeof config.runtimeVersion === "string" && config.runtimeVersion.trim() ? config.runtimeVersion.trim() : null;
|
|
861
|
+
}
|
|
845
862
|
function runtimeManifestUrl(cdnOrigin) {
|
|
846
863
|
const url = new URL(`${resolveRuntimeCdnOrigin(cdnOrigin)}/runtimes/manifest.json`);
|
|
847
864
|
url.searchParams.set("t", String(Date.now()));
|
|
@@ -860,7 +877,7 @@ async function fetchRuntimeManifest(cdnOrigin) {
|
|
|
860
877
|
}
|
|
861
878
|
function resolveRuntimeVersion(manifest, opts = {}) {
|
|
862
879
|
const channel = resolveRuntimeChannel(opts.channel);
|
|
863
|
-
const version = opts.version || manifest.channels[channel]?.latest;
|
|
880
|
+
const version = opts.version || resolveRuntimePin() || manifest.channels[channel]?.latest;
|
|
864
881
|
if (!version) {
|
|
865
882
|
throw new Error(
|
|
866
883
|
`no version specified and channel '${channel}' has no latest entry in the manifest`
|
|
@@ -936,6 +953,29 @@ async function updateRuntimeToLatest(opts = {}) {
|
|
|
936
953
|
ensureSootsimHome();
|
|
937
954
|
const cdnOrigin = resolveRuntimeCdnOrigin(opts.cdnOrigin);
|
|
938
955
|
const channel = resolveRuntimeChannel(opts.channel);
|
|
956
|
+
const pin = resolveRuntimePin();
|
|
957
|
+
if (pin) {
|
|
958
|
+
const activeVersion2 = readActiveRuntime();
|
|
959
|
+
const pinInstalled = import_fs2.default.existsSync(import_path2.default.join(runtimeDir(pin), "index.html"));
|
|
960
|
+
if (activeVersion2 === pin && pinInstalled) {
|
|
961
|
+
return {
|
|
962
|
+
checked: true,
|
|
963
|
+
updated: false,
|
|
964
|
+
reason: `runtime is pinned to ${pin}`,
|
|
965
|
+
activeVersion: activeVersion2,
|
|
966
|
+
latestVersion: pin
|
|
967
|
+
};
|
|
968
|
+
}
|
|
969
|
+
const install2 = await installRuntime({ version: pin, channel, cdnOrigin, setActive: false });
|
|
970
|
+
return {
|
|
971
|
+
checked: true,
|
|
972
|
+
updated: true,
|
|
973
|
+
reason: `runtime is pinned to ${pin}`,
|
|
974
|
+
activeVersion: pin,
|
|
975
|
+
latestVersion: pin,
|
|
976
|
+
install: install2
|
|
977
|
+
};
|
|
978
|
+
}
|
|
939
979
|
const manifest = await fetchRuntimeManifest(cdnOrigin);
|
|
940
980
|
const latestVersion = manifest.channels[channel]?.latest;
|
|
941
981
|
if (!latestVersion) {
|
|
@@ -3745,9 +3785,18 @@ var SootSimBridgeHost = class _SootSimBridgeHost {
|
|
|
3745
3785
|
}
|
|
3746
3786
|
return;
|
|
3747
3787
|
}
|
|
3788
|
+
const previousVersion = this.activeRuntimeVersion;
|
|
3748
3789
|
const active = this.setActiveRuntime(result.latestVersion);
|
|
3749
3790
|
process.stderr.write(`sootsim runtime updated to ${active.version} (${reason})
|
|
3750
3791
|
`);
|
|
3792
|
+
try {
|
|
3793
|
+
writeRuntimeUpgradeNotice({
|
|
3794
|
+
from: previousVersion,
|
|
3795
|
+
to: active.version,
|
|
3796
|
+
at: Date.now()
|
|
3797
|
+
});
|
|
3798
|
+
} catch {
|
|
3799
|
+
}
|
|
3751
3800
|
} catch (err) {
|
|
3752
3801
|
process.stderr.write(
|
|
3753
3802
|
`sootsim runtime update failed (${reason}): ${err instanceof Error ? err.message : String(err)}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.202 | (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.202 | (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.202 | (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.202 | (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.202 | (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.202 | (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.202 | (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.202 | (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.202 | (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.202 | (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.202 | (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/sdk.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.202 | (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