sootsim 0.1.44 → 0.1.45
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-NVU7E7EV.js → agent-NSVMKP3P.js} +2 -2
- package/dist-cli/chunks/{agent-wrapper-CLEYNPJK.js → agent-wrapper-HREUS3JR.js} +2 -2
- package/dist-cli/chunks/{assert-F7B6TVEQ.js → assert-N7KX2APG.js} +2 -2
- package/dist-cli/chunks/auto-bootstrap-YCOWYMVV.js +2 -0
- package/dist-cli/chunks/beta-UF2ITPYH.js +2 -0
- package/dist-cli/chunks/{chunk-YWBUHBLD.js → chunk-25K4SXL3.js} +2 -2
- package/dist-cli/chunks/{chunk-54V7OVL6.js → chunk-2V4ALWOZ.js} +2 -2
- package/dist-cli/chunks/{chunk-4ZA3J2BV.js → chunk-2WW7WJHA.js} +1 -1
- package/dist-cli/chunks/{chunk-K4BRBIGO.js → chunk-3K4GAAOE.js} +2 -2
- package/dist-cli/chunks/{chunk-L7V75VQK.js → chunk-4RG3RPXB.js} +1 -1
- package/dist-cli/chunks/{chunk-POPZHYTD.js → chunk-5IJS7CFG.js} +1 -1
- package/dist-cli/chunks/{chunk-WLH4MLBC.js → chunk-65Q34YMN.js} +2 -2
- package/dist-cli/chunks/chunk-72GGPCB2.js +2 -0
- package/dist-cli/chunks/chunk-7VSW2XVU.js +1 -0
- package/dist-cli/chunks/chunk-A5EZYWAO.js +1 -0
- package/dist-cli/chunks/{chunk-ECIHLBNE.js → chunk-AFBOAQAV.js} +1 -1
- package/dist-cli/chunks/{chunk-2Q5YKX76.js → chunk-BARR77SV.js} +1 -1
- package/dist-cli/chunks/{chunk-T5UKNA5K.js → chunk-BVLKRIBN.js} +1 -1
- package/dist-cli/chunks/{chunk-IIFZNK4R.js → chunk-CBMFBTB3.js} +2 -2
- package/dist-cli/chunks/{chunk-BU7OXA7Y.js → chunk-CFY2ELQ4.js} +3 -3
- package/dist-cli/chunks/{chunk-ZZOYYBLO.js → chunk-CPCM75G3.js} +2 -2
- package/dist-cli/chunks/{chunk-ZNMOLPG5.js → chunk-CVMSXDFO.js} +1 -1
- package/dist-cli/chunks/{chunk-EAMMI2FH.js → chunk-ECI22OZU.js} +2 -2
- package/dist-cli/chunks/{chunk-F76MMAMV.js → chunk-EHJMKPJP.js} +2 -2
- package/dist-cli/chunks/{chunk-YROS5I43.js → chunk-FBKOSZKD.js} +2 -2
- package/dist-cli/chunks/{chunk-GLLMLIXC.js → chunk-FGLQTXGF.js} +2 -2
- package/dist-cli/chunks/{chunk-JK3BWGI5.js → chunk-FNXGAYHN.js} +1 -1
- package/dist-cli/chunks/{chunk-FBCGPPDA.js → chunk-HNOQEJK3.js} +2 -2
- package/dist-cli/chunks/{chunk-KWU3WMFD.js → chunk-HZ5W4PIP.js} +2 -2
- package/dist-cli/chunks/{chunk-RN5LEOFJ.js → chunk-JKG66FDZ.js} +1 -1
- package/dist-cli/chunks/{chunk-B4B6RECG.js → chunk-KJLLZQJO.js} +2 -2
- package/dist-cli/chunks/chunk-LRE73CBG.js +1 -0
- package/dist-cli/chunks/{chunk-TXCWW2IX.js → chunk-MDT2KSFY.js} +2 -2
- package/dist-cli/chunks/{chunk-HIQJTM66.js → chunk-N4KSVDAU.js} +2 -2
- package/dist-cli/chunks/{chunk-MS5QBIOB.js → chunk-OSFZQ7NV.js} +3 -3
- package/dist-cli/chunks/chunk-PLTKWJ7M.js +1 -0
- package/dist-cli/chunks/{chunk-7PUVSCSF.js → chunk-PNEIZ2DY.js} +1 -1
- package/dist-cli/chunks/{chunk-LCDWXJ6X.js → chunk-PPY2OTIR.js} +1 -1
- package/dist-cli/chunks/{chunk-QB4INK6X.js → chunk-QAL3T64I.js} +2 -2
- package/dist-cli/chunks/{chunk-IMTTDIJJ.js → chunk-QJMUNN2V.js} +1 -1
- package/dist-cli/chunks/{chunk-LCUVF6MI.js → chunk-R2VBXQYS.js} +2 -2
- package/dist-cli/chunks/{chunk-VFUO52ZQ.js → chunk-T3PYVAO7.js} +1 -1
- package/dist-cli/chunks/{chunk-E3DHOL7O.js → chunk-TIE6ENCX.js} +3 -3
- package/dist-cli/chunks/{chunk-6QY5P2H6.js → chunk-VLWCOUVW.js} +2 -2
- package/dist-cli/chunks/{chunk-VP52RZT7.js → chunk-WI72PADL.js} +2 -2
- package/dist-cli/chunks/{chunk-6TO2XBUK.js → chunk-WUZSBXWF.js} +2 -2
- package/dist-cli/chunks/{chunk-NMFN4EIE.js → chunk-YU2F5Y7A.js} +2 -2
- package/dist-cli/chunks/{chunk-OBIALIWI.js → chunk-ZR2EL6AG.js} +1 -1
- package/dist-cli/chunks/{chunk-VQKQSSUD.js → chunk-ZSDPMO6R.js} +1 -1
- package/dist-cli/chunks/{compat-5XJPHPPL.js → compat-WZHG6K4B.js} +3 -3
- package/dist-cli/chunks/{config-SHZ662ER.js → config-E4ENAYVL.js} +2 -2
- package/dist-cli/chunks/control-USODFZCF.js +2 -0
- package/dist-cli/chunks/cpu-profile-5VX6YXR5.js +2 -0
- package/dist-cli/chunks/{daemon-QRHS6CAR.js → daemon-L4IR5GKS.js} +2 -2
- package/dist-cli/chunks/{debug-CRQNVODN.js → debug-RPLWF66R.js} +3 -3
- package/dist-cli/chunks/demo-app-registry-3SDEOEC4.js +2 -0
- package/dist-cli/chunks/{detox-PEPICVRX.js → detox-F4I7XDUZ.js} +2 -2
- package/dist-cli/chunks/{device-4GRKBTIY.js → device-DAHI737I.js} +2 -2
- package/dist-cli/chunks/{diagnose-FRGJNGVH.js → diagnose-YR7GNYPN.js} +2 -2
- package/dist-cli/chunks/drivers-FYOQW4OZ.js +2 -0
- package/dist-cli/chunks/{electron-KAAQYVLY.js → electron-GC7AQHGS.js} +3 -3
- package/dist-cli/chunks/flow-65752NAO.js +2 -0
- package/dist-cli/chunks/{hints-JDTUIEQI.js → hints-FPPTZ5A4.js} +2 -2
- package/dist-cli/chunks/{home-paths-MCK43U6W.js → home-paths-6KKZMFRE.js} +2 -2
- package/dist-cli/chunks/{inspect-2ORQQN7T.js → inspect-RDGBV7FC.js} +3 -3
- package/dist-cli/chunks/install-PA5K5XJ6.js +2 -0
- package/dist-cli/chunks/{install-desktop-YEGVQFNS.js → install-desktop-NVXLOF4C.js} +3 -3
- package/dist-cli/chunks/{keys-2QRSFPVS.js → keys-WUPEDL27.js} +2 -2
- package/dist-cli/chunks/{launch-L25GI237.js → launch-KIVZVX45.js} +3 -3
- package/dist-cli/chunks/{login-FHC2PLFD.js → login-6VWSRHCZ.js} +4 -4
- package/dist-cli/chunks/{logout-FJQU7HI2.js → logout-JASQH22U.js} +2 -2
- package/dist-cli/chunks/{maestro-Z6YMB7VM.js → maestro-UINOO5ZB.js} +2 -2
- package/dist-cli/chunks/{preview-7ZCBU2IE.js → preview-7QA7XGF4.js} +2 -2
- package/dist-cli/chunks/{profile-JTJF6PY6.js → profile-L43GQNI7.js} +2 -2
- package/dist-cli/chunks/{react-XP2AJQ4T.js → react-4WDCAK7S.js} +2 -2
- package/dist-cli/chunks/record-VJGGKQBY.js +17 -0
- package/dist-cli/chunks/runtime-JM4WL6FX.js +2 -0
- package/dist-cli/chunks/{runtime-delivery-O655KIUB.js → runtime-delivery-XQBDABU4.js} +2 -2
- package/dist-cli/chunks/{screenshot-CPCNSTFP.js → screenshot-N67LQOUY.js} +2 -2
- package/dist-cli/chunks/{screenshot-mode-MGWQGOM7.js → screenshot-mode-EWTPX4XH.js} +2 -2
- package/dist-cli/chunks/{screenshots-ZD7HJ4GA.js → screenshots-WY27EWBW.js} +2 -2
- package/dist-cli/chunks/{server-V55GYTFF.js → server-57MUO65L.js} +2 -2
- package/dist-cli/chunks/setup-repo-6PKR67R6.js +2 -0
- package/dist-cli/chunks/{skills-PGTMJCNI.js → skills-TDFRPGQ2.js} +2 -2
- package/dist-cli/chunks/{start-OB5MRSE4.js → start-TNY3DBAJ.js} +4 -4
- package/dist-cli/chunks/store-LMNSJWN7.js +2 -0
- package/dist-cli/chunks/telemetry-7TOFRDK5.js +2 -0
- package/dist-cli/chunks/{test-OXVUTEEX.js → test-N4RCDGFL.js} +3 -3
- package/dist-cli/chunks/{three-mode-P6JQUJEA.js → three-mode-YWFPU7KR.js} +2 -2
- package/dist-cli/chunks/{timeline-TVXCZIHI.js → timeline-OAZXNDFK.js} +2 -2
- package/dist-cli/chunks/{upgrade-PDM3N57Q.js → upgrade-QUS553XV.js} +2 -2
- package/dist-cli/chunks/upload-OT5RQ4QV.js +2 -0
- package/dist-cli/chunks/{web-F5K7GAGR.js → web-UR3EWC7V.js} +2 -2
- package/dist-cli/chunks/{what-happened-QE3IR6K4.js → what-happened-6UNRX4BP.js} +2 -2
- package/dist-cli/chunks/{whoami-NPO62CNB.js → whoami-I5VW66LS.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/bridge-constants.cjs +1 -1
- package/dist-lib/cli-constants.cjs +1 -1
- package/dist-lib/config.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 +1 -1
- package/dist-lib/host/fetch-proxy-handler.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/vite-base.cjs +1 -1
- package/dist-lib/vite.cjs +1 -1
- package/package.json +1 -1
- package/dist-cli/chunks/auto-bootstrap-BIH3TKGB.js +0 -2
- package/dist-cli/chunks/beta-DD7XOVXJ.js +0 -2
- package/dist-cli/chunks/chunk-2TU7QJGH.js +0 -1
- package/dist-cli/chunks/chunk-5A7UO4OE.js +0 -1
- package/dist-cli/chunks/chunk-KVJEI5YO.js +0 -1
- package/dist-cli/chunks/chunk-ZLOUP7JS.js +0 -1
- package/dist-cli/chunks/chunk-ZP4PF72U.js +0 -2
- package/dist-cli/chunks/control-ONCNZDD5.js +0 -2
- package/dist-cli/chunks/cpu-profile-KFM3R5MY.js +0 -2
- package/dist-cli/chunks/demo-app-registry-GCDJ3DX7.js +0 -2
- package/dist-cli/chunks/drivers-LRMIFMFF.js +0 -2
- package/dist-cli/chunks/flow-P6N565XT.js +0 -2
- package/dist-cli/chunks/install-KVZFRP22.js +0 -2
- package/dist-cli/chunks/record-56JAGJUN.js +0 -17
- package/dist-cli/chunks/runtime-T2X2XY72.js +0 -2
- package/dist-cli/chunks/setup-repo-SGAHUDYC.js +0 -2
- package/dist-cli/chunks/store-SUEZBGQY.js +0 -2
- package/dist-cli/chunks/telemetry-COZXGX5D.js +0 -2
- package/dist-cli/chunks/upload-U55QDSSX.js +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
2
|
-
import{E as F,r as S,s as k,t as g}from"./chunk-
|
|
1
|
+
/*! sootsim v0.1.45 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
+
import{E as F,r as S,s as k,t as g}from"./chunk-FNXGAYHN.js";import{c as b,e as y}from"./chunk-N4KSVDAU.js";import{b as w}from"./chunk-ZR2EL6AG.js";import"./chunk-LRE73CBG.js";import"./chunk-PNEIZ2DY.js";import"./chunk-2WW7WJHA.js";function M(t){let e=[];for(let n=0;n<t.length;n++)if(t[n]==="--since"&&n+1<t.length){e.push(n,n+1);let s=t[n+1].trim(),a=/^(\d+(?:\.\d+)?)(ms|s|m)?$/.exec(s);if(a){let l=Number(a[1]),u=a[2]??"ms",r=u==="s"?l*1e3:u==="m"?l*6e4:l;return{since:Date.now()-r,consumed:e}}let o=Number(s);if(Number.isFinite(o)&&o>1e12)return{since:o,consumed:e}}return{consumed:e}}function E(t){let e=[];for(let n=0;n<t.length;n++)if(t[n]==="--kinds"&&n+1<t.length)return e.push(n,n+1),{kinds:t[n+1].split(",").map(s=>s.trim()).filter(Boolean),consumed:e};return{consumed:e}}function C(t){let e=[];for(let n=0;n<t.length;n++)if(t[n]==="--limit"&&n+1<t.length){e.push(n,n+1);let s=Number(t[n+1]);if(Number.isFinite(s)&&s>0)return{limit:s,consumed:e}}return{consumed:e}}function _(t,e){if(e===null)return new Date(t).toLocaleTimeString();let n=(t-e)/1e3;return`${n>=0?"+":""}${n.toFixed(2)}s`}function j(t,e){switch(t){case"app-launch":return e.phase==="launch"?`launch ${e.appName??e.toAppId??""}`:`dismiss ${e.appName??e.fromAppId??""} \u2192 ${e.toAppId??""}`;case"toast":return`"${e.text??""}"${e.durationMs?` (${e.durationMs}ms)`:""}`;case"keyboard":return`${e.phase??"?"}${e.heightPx?` h=${e.heightPx}`:""}${e.mode?` ${e.mode}`:""}`;case"screen":return`${e.phase??"?"} ${e.name??e.activeName??""}`;case"route":return`${e.phase??"?"} ${e.path??e.pathname??""}`;case"alert":case"actionsheet":case"picker":return`${e.phase??"?"} ${e.title??e.message??""}`;case"notification":return`${e.title??""}${e.body?` \u2014 ${e.body}`:""}`;case"fetch":return`${e.method??"GET"} ${e.url??""}${e.status?` -> ${e.status}`:""}`;case"console":return`${e.level??"log"}: ${(e.message??"").toString().slice(0,120)}`;case"shell":return`${e.event??e.type??e.phase??""}`;case"scroll":return`${e.phase??"?"} ${e.target??""}`;case"gesture":return`${e.phase??"?"} ${e.type??""}`;case"text-input":return`${e.phase??"?"}${e.value!==void 0?` "${String(e.value).slice(0,40)}"`:""}`;case"react-commit":{let n=e.slowest;return`${e.fiberCount??"?"} fibers ${e.durationMs??"?"}ms${n?.displayName?` \xB7 ${n.displayName} ${n.durationMs??"?"}ms`:""}`}case"reanimated":case"animation":return`${e.kind??""} ${e.target??""}${e.durationMs?` ${e.durationMs}ms`:""}`}}function N(t,e){let n=_(t.t,e).padStart(8),s=t.context.padEnd(6),a=`[${t.kind}]`.padEnd(15),o="",l=t.data;return l&&typeof l=="object"&&(o=j(t.kind,l)),` ${n} ${s} ${a} ${o}`}function T(t){let e=[],n={label:"initial state",events:[],startedAt:t[0]?.t??null};e.push(n);for(let s of t)if(n.events.push(s),s.kind==="screen"||s.kind==="route"){let a=s.data,o=a?.phase;if(!o||o==="enter"||o==="appear"||o==="active"){let l=a?.name||a?.activeName||a?.path||a?.pathname||s.kind;e.length===1&&n.events.length===1?n.label=`${s.kind}: ${l}`:(n={label:`${s.kind}: ${l}`,events:[],startedAt:s.t},e.push(n))}}return e}async function O(t,e){let n=b(t,{port:e.port,stripBooleanFlags:["--summary","--all","--json","--no-advance","--help","-h","--flow"],stripValueFlags:["--since","--kinds","--limit"]});(t.includes("--help")||t.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.45 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
+
import{d as i}from"./chunk-CBMFBTB3.js";import{d as n}from"./chunk-R2VBXQYS.js";import"./chunk-PNEIZ2DY.js";import"./chunk-2WW7WJHA.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.45 | (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.45 | (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.45 | (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.45 | (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.45 | (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.45 | (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.45 | (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.45 | (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.45 | (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.45 | (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.45 | (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.45 | (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.45 | (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/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.45 | (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.45 | (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.45 | (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.45 | (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/vite-base.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.45 | (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/vite.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.45 | (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
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.44 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a,b,c,d}from"./chunk-E3DHOL7O.js";import"./chunk-HIQJTM66.js";import"./chunk-OBIALIWI.js";import"./chunk-5A7UO4OE.js";import"./chunk-7PUVSCSF.js";import"./chunk-4ZA3J2BV.js";export{c as ensureDaemonRunning,a as ensureRuntimeInstalled,d as ensureSootsimReady,b as resolveBootstrapPort};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.44 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.44 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.44 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.44 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.44 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{d as a,e as b,f as c,g as d,h as e,i as f,j as g,k as h,l as i,m as j,n as k,o as l,p as m}from"./chunk-TXCWW2IX.js";import"./chunk-L7V75VQK.js";import"./chunk-ZNMOLPG5.js";import"./chunk-KWU3WMFD.js";import"./chunk-2Q5YKX76.js";import"./chunk-NMFN4EIE.js";import"./chunk-2TU7QJGH.js";import"./chunk-ECIHLBNE.js";import"./chunk-ZP4PF72U.js";import"./chunk-HIQJTM66.js";import"./chunk-OBIALIWI.js";import"./chunk-5A7UO4OE.js";import"./chunk-7PUVSCSF.js";import"./chunk-4ZA3J2BV.js";export{d as buildOpenUrl,c as buildShellUrl,f as printConnectedSims,a as resolveBundleTarget,b as resolveDefaultShellBaseUrl,l as runClaimCommand,m as runCloseCommand,k as runFocusCommand,h as runListCommand,i as runOpenCommand,j as runUseCommand,e as summarizeSimUrl,g as waitForSimMatch};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.44 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{c as I,e as N,i as S}from"./chunk-HIQJTM66.js";import"./chunk-OBIALIWI.js";import"./chunk-5A7UO4OE.js";import"./chunk-7PUVSCSF.js";import"./chunk-4ZA3J2BV.js";import{createWriteStream as k,mkdirSync as v,writeFileSync as C}from"fs";import{dirname as T,resolve as w}from"path";import{Readable as F}from"stream";import{pipeline as y}from"stream/promises";import{createGzip as x}from"zlib";async function U(o,m){let t=Number(b(o,"--duration")??"5");if(!Number.isFinite(t)||t<=0)return console.error(" --duration must be a positive number (seconds)"),1;let a=Number(b(o,"--sample-interval")??"10");if(!Number.isFinite(a)||a<=0)return console.error(" --sample-interval must be a positive number (milliseconds)"),1;let s=Number(b(o,"--max-buffer")??"100000");if(!Number.isFinite(s)||s<=0)return console.error(" --max-buffer must be a positive number"),1;let p=b(o,"--output")??b(o,"-o"),u=w(process.cwd(),p??"/tmp/sootsim.cpuprofile"),g=u.endsWith(".gz"),h=I(o,{port:m.port,stripValueFlags:["--duration","--output","-o","--sample-interval","--max-buffer"]}),c=N({...h,commandTimeoutMs:Math.max(3e4,(t+20)*1e3)});try{let l=await S(c,"SootSim.bridges.workerCpuProfileStart",{sampleInterval:a,maxBufferSize:s});if(!l?.started)return console.error(" could not start tenant-worker profiler."),console.error(" is sootsim running? (try `bun sootsim list`)"),1;m.verbose&&console.error(` started: sampleInterval=${l.sampleInterval}ms buffer=${l.maxBufferSize}`),console.log(` recording for ${t}s\u2026`),await new Promise(r=>setTimeout(r,t*1e3));let n=await S(c,"SootSim.bridges.workerCpuProfileStop");if(!n||n.error||!n.trace)return n?.error?.includes("cpu-profile-unsupported")?(console.error(" cpu-profile is currently unsupported."),console.error(" the JS Self-Profiler API cannot profile a dedicated worker, and"),console.error(" sootsim runs the guest app in the tenant worker. a CDP-based"),console.error(" profiler is required \u2014 tracked as the F28 follow-up.")):console.error(` profile capture failed: ${n?.error??"no trace returned"}`),1;let P=B(n.trace),e=JSON.stringify(P);v(T(u),{recursive:!0}),g?await y(F.from([e]),x(),k(u)):C(u,e);let i=(Buffer.byteLength(e)/1024/1024).toFixed(2);return console.log(` samples: ${P.samples.length} (${i} MB uncompressed)`),console.log(` saved: ${u}`),console.log(" open in chrome devtools \u2192 Performance \u2192 Load profile to inspect."),0}catch(l){let n=l?.message??String(l);return console.error(` profile failed: ${n}`),/could not connect|ECONNREFUSED/i.test(n)&&console.error(" is sootsim running? (try `bun sootsim list`)"),1}finally{c.close()}}function B(o){let m=o.frames??[],t=o.resources??[],a=o.stacks??[],s=o.samples??[],p=1,u=[{id:p,callFrame:{functionName:"(root)",scriptId:"0",url:"",lineNumber:-1,columnNumber:-1},hitCount:0,children:[]}];for(let e=0;e<a.length;e++){let i=a[e],r=m[i.frameId]??{name:"(unknown)"},f=r.resource!==void 0?t[r.resource]??"":"";u.push({id:e+2,callFrame:{functionName:r.name||"(anonymous)",scriptId:r.resource!==void 0?String(r.resource):"0",url:f,lineNumber:typeof r.line=="number"?r.line-1:-1,columnNumber:typeof r.column=="number"?r.column-1:-1},hitCount:0,children:[]})}for(let e=0;e<a.length;e++){let i=a[e],r=e+2,f=i.parentId!==void 0?i.parentId+2:p,d=u[f-1];d&&!d.children.includes(r)&&d.children.push(r)}let g=[],h=[],c=s.length>0?s[0].timestamp:0,l=c;for(let e=0;e<s.length;e++){let i=s[e],r=i.stackId!==void 0?i.stackId+2:p;g.push(r);let f=u[r-1];f&&f.hitCount++;let d=e===0?0:i.timestamp-l;h.push(Math.max(0,Math.round(d*1e3))),l=i.timestamp}let n=Math.round(c*1e3),P=s.length>0?Math.round(s[s.length-1].timestamp*1e3):n;return{nodes:u,startTime:n,endTime:P,samples:g,timeDeltas:h}}function b(o,m){let t=o.indexOf(m);if(!(t<0||t===o.length-1))return o[t+1]}export{U as runCpuProfile};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.44 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import"./chunk-ZLOUP7JS.js";import{a,b,c,d,e,f,g,h,i}from"./chunk-KWU3WMFD.js";import"./chunk-2Q5YKX76.js";import"./chunk-NMFN4EIE.js";import"./chunk-2TU7QJGH.js";import"./chunk-ECIHLBNE.js";import"./chunk-7PUVSCSF.js";import"./chunk-4ZA3J2BV.js";export{e as ALL_DRIVERS,i as buildDriverListRows,a as chromiumDriver,b as electronDriver,f as getAllDrivers,g as getDriver,c as playwrightDriver,h as resolveDriver,d as systemDriver};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.44 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a,b,c,d}from"./chunk-MS5QBIOB.js";import"./chunk-EAMMI2FH.js";import"./chunk-54V7OVL6.js";import"./chunk-KVJEI5YO.js";import"./chunk-YROS5I43.js";import"./chunk-GLLMLIXC.js";import"./chunk-TXCWW2IX.js";import"./chunk-L7V75VQK.js";import"./chunk-ZNMOLPG5.js";import"./chunk-KWU3WMFD.js";import"./chunk-2Q5YKX76.js";import"./chunk-NMFN4EIE.js";import"./chunk-K4BRBIGO.js";import"./chunk-VP52RZT7.js";import"./chunk-IIFZNK4R.js";import"./chunk-2TU7QJGH.js";import"./chunk-ECIHLBNE.js";import"./chunk-QB4INK6X.js";import"./chunk-ZP4PF72U.js";import"./chunk-6TO2XBUK.js";import"./chunk-RN5LEOFJ.js";import"./chunk-HIQJTM66.js";import"./chunk-OBIALIWI.js";import"./chunk-ZZOYYBLO.js";import"./chunk-LCUVF6MI.js";import"./chunk-5A7UO4OE.js";import"./chunk-7PUVSCSF.js";import"./chunk-4ZA3J2BV.js";export{b as discoverSootsimUrl,a as parseFlowFile,d as runFlow,c as runFlowPlayback};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.44 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a as o}from"./chunk-YWBUHBLD.js";import"./chunk-LCDWXJ6X.js";import"./chunk-E3DHOL7O.js";import"./chunk-HIQJTM66.js";import"./chunk-OBIALIWI.js";import"./chunk-ZZOYYBLO.js";import"./chunk-LCUVF6MI.js";import"./chunk-5A7UO4OE.js";import"./chunk-7PUVSCSF.js";import"./chunk-4ZA3J2BV.js";async function t(n){console.error(" note: `sootsim install` is now `sootsim setup-repo`. forwarding\u2026\n"),await o(n)}export{t as runInstall};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.44 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a as C}from"./chunk-YROS5I43.js";import"./chunk-VP52RZT7.js";import{d as V}from"./chunk-IIFZNK4R.js";import"./chunk-2TU7QJGH.js";import{d as L}from"./chunk-ECIHLBNE.js";import{c as b,e as y}from"./chunk-HIQJTM66.js";import{b as j}from"./chunk-OBIALIWI.js";import"./chunk-ZZOYYBLO.js";import"./chunk-LCUVF6MI.js";import"./chunk-5A7UO4OE.js";import"./chunk-7PUVSCSF.js";import"./chunk-4ZA3J2BV.js";import{existsSync as de,mkdirSync as x,readdirSync as ce,readFileSync as le,rmSync as W,writeFileSync as M}from"fs";import{homedir as ue,tmpdir as me}from"os";import{dirname as P,extname as G,join as I,resolve as fe}from"path";var q=6e4,pe=new Set(["--sim","--port","-p","--mode","--duration","--fps","--format","--output","-o","--frames","--max-width","--origin"]),ge=new Set(["start","stop","cancel","status"]);function we(e){for(let r=0;r<e.length;r++){let o=e[r];if(o.startsWith("-")){pe.has(o)&&r++;continue}return ge.has(o)?{name:o,index:r}:null}return null}async function Ee(e,r){let o=we(e);if(o){let a=[...e.slice(0,o.index),...e.slice(o.index+1)];if(o.name==="start"){await $e(a,r);return}if(o.name==="stop"){await _e(a,r);return}if(o.name==="cancel"){await xe(a,r);return}await Re(a,r);return}let n=b(e,{port:r.port,stripBooleanFlags:["--no-shell","--shell-only","--open"],stripValueFlags:["--mode","--duration","--fps","--format","--output","--frames","--max-width","--origin"]}),t=X(l(e,"--mode")),i=e.includes("--shell-only")?"shell":e.includes("--no-shell")?"tenant":void 0,d=l(e,"--format");d&&!["webm","mp4","gif","png"].includes(d)&&(console.error(` invalid --format "${d}" \u2014 expected webm | mp4 | gif | png`),process.exit(1));let c=l(e,"--output"),s=Number(l(e,"--duration")??"10");(!Number.isFinite(s)||s<=0)&&(console.error(` invalid --duration "${l(e,"--duration")}" \u2014 expected a positive number of seconds`),process.exit(1));let u=Number(l(e,"--fps")??"30"),f=l(e,"--frames");if(f!==void 0){let a=Number(f);(!Number.isInteger(a)||a<=0)&&(console.error(` invalid --frames "${f}" \u2014 expected a positive integer count`),process.exit(1))}let _=e.includes("--open"),J=l(e,"--max-width")?Number(l(e,"--max-width")):void 0,h=Math.max(100,Math.round(s*1e3)),ie=l(e,"--origin");if(t==="live"||t==="combined"){c&&console.log(` note: --output is ignored for --mode ${t} \u2014 the recording uploads to /preview/<id>`),await C("record",{originOverride:ie});let a=y({...n,commandTimeoutMs:6e4});try{await Z(a),await ee(a),await oe(a,t)||(console.error(` start failed: recording store refused to start (${t})`),process.exit(1)),console.log(` recording ${t} for ${s}s`),await new Promise(S=>setTimeout(S,h)),await re(a);let k=await te(a);ne(k,_,t)}finally{a.close()}return}let F=f?Number(f):null,$=ve(d,c,F),g=y({...n,commandTimeoutMs:6e4});try{if(await H(g),$==="png"){let v=F??10,p=B(c,`sootsim-frames-${O()}`);c&&G(c)&&console.log(` note: --frames writes multiple pngs, so --output "${c}" is a directory \u2014 frame-NNN.png files land inside it`),x(p,{recursive:!0});for(let m of ce(p))/^frame-\d+\.png$/.test(m)&&W(I(p,m),{force:!0});console.log(` sampling ${v} frames over ${s}s \u2192 ${p}`);let w=await g.send({type:"evaluate",code:`window.__sootsimRecorder.startFrameCapture({ count: ${v}, durationMs: ${h}${i?`, layers: ${JSON.stringify(i)}`:""} })`});(!w.ok||!w.requestId)&&(console.error(` frame capture start failed: ${w.error??"unknown error"}`),process.exit(1)),await new Promise(m=>setTimeout(m,h));let se=Date.now()+Math.max(5e3,h),E=null;for(;;){let m=await g.send({type:"evaluate",code:`window.__sootsimRecorder.getFrameCaptureResult(${w.requestId})`});if(m||(console.error(" frame capture result missing"),process.exit(1)),m.done){m.ok||(console.error(` frame capture failed: ${m.error??"unknown error"}`),process.exit(1)),E=m.frames??[];break}Date.now()>=se&&(console.error(" frame capture timed out"),process.exit(1)),await new Promise(N=>setTimeout(N,100))}E.forEach((m,N)=>{let ae=`${p}/frame-${String(N+1).padStart(3,"0")}.png`;M(ae,Buffer.from(m.data,"base64"))}),console.log(` saved ${E.length} frames`);return}if($==="gif"){let v=F??Math.max(10,Math.round(s*u/3)),p=B(c,`sootsim-${O()}.gif`);x(P(p),{recursive:!0}),console.log(` encoding gif: ${v} frames over ${s}s \u2192 ${p}`);let w=await g.send({type:"evaluate",code:`window.__sootsimRecorder.captureGif({ frames: ${v}, durationMs: ${h}${J?`, maxWidth: ${J}`:""}${i?`, layers: ${JSON.stringify(i)}`:""} })`});w||(console.error(" gif capture returned no frames"),process.exit(1)),M(p,Buffer.from(w.data,"base64")),console.log(` saved: ${p} (${T(w.size)})`);return}let a=B(c,`sootsim-${O()}.${$}`);x(P(a),{recursive:!0});let A={format:$,fps:u};i&&(A.layers=i);let k=await g.send({type:"evaluate",code:`window.__sootsimRecorder.start(${JSON.stringify(A)})`});k.ok||(console.error(` start failed: ${k.error??"unknown error"}`),process.exit(1)),console.log(` recording ${$} for ${s}s \u2192 ${a}`),await new Promise(v=>setTimeout(v,h));let S=await g.send({type:"evaluate",code:"window.__sootsimRecorder.stop()"});S.ok||(console.error(` stop failed: ${S.error??"unknown error"}`),process.exit(1)),S.size||(console.error(" recorder returned an empty blob \u2014 nothing written"),process.exit(1)),await Q(g,a),console.log(` saved: ${a} (${T(S.size)})`)}finally{g.close()}}var be=6e3;async function K(e,r){try{return await e.send({type:"evaluate",code:r},{timeoutMs:be})}catch(o){let n=o instanceof Error?o.message:String(o);throw/^command timed out after \d+s$/.test(n)&&(console.error(" sim did not respond \u2014 it is connected to the bridge but has not\n loaded an app (or its page is unresponsive). run `sootsim list`\n and target a sim with a loaded app via --sim <id>."),process.exit(1)),o}}async function H(e){await K(e,'typeof window.__sootsimRecorder !== "undefined"')||(console.error(" window.__sootsimRecorder missing \u2014 is sootsim engine running in this sim?"),process.exit(1))}async function Q(e,r){let o=[],n=0;for(;;){let t=await e.send({type:"evaluate",code:`window.__sootsimRecorder.getBlobBase64({ offset: ${n}, chunk: 2097152 })`});if(!t)throw new Error("no blob available on recorder");if(o.push(Buffer.from(t.data,"base64")),n=t.offset,t.done)break}M(r,Buffer.concat(o))}function l(e,r){let o=e.indexOf(r);if(!(o<0||o===e.length-1))return e[o+1]}function ye(e){if(!e)return;let r=G(e).toLowerCase().replace(/^\./,"");if(r==="webm"||r==="mp4"||r==="gif")return r;if(r==="png")return"png"}function ve(e,r,o){return e||(o!=null?"png":ye(r)??"webm")}function O(){return new Date().toISOString().replace(/[:T]/g,"-").replace(/\..+/,"")}function he(){let e=I(ue(),".sootsim","recordings");return x(e,{recursive:!0}),e}function B(e,r){return e?fe(process.cwd(),e):I(he(),r)}function T(e){return e<1024?`${e}B`:e<1024*1024?`${(e/1024).toFixed(1)}KB`:`${(e/(1024*1024)).toFixed(2)}MB`}function X(e){if(!e)return"video";if(e==="video"||e==="live"||e==="combined")return e;console.error(` invalid --mode "${e}" \u2014 expected video | live | combined`),process.exit(1)}function D(){return I(me(),`sootsim-recording-${j()}.json`)}function U(){let e=D();if(!de(e))return null;try{return{mode:"video",...JSON.parse(le(e,"utf8"))}}catch{return W(e,{force:!0}),null}}function Se(e){M(D(),JSON.stringify(e,null,2))}function R(){W(D(),{force:!0})}function z(e,r){e&&r.simId&&e!==r.simId&&console.log(` note: the tracked recording session is on sim ${r.simId}, not the
|
|
3
|
-
requested sim ${e}. record state is global (not per-sim);
|
|
4
|
-
this command acts on that session regardless of --sim.`)}async function $e(e,r){let o=U();o&&(console.error(` recording already in progress (started ${o.startedAt}, sim ${o.simId??"?"}). run \`sootsim record stop\` first, or \`sootsim record cancel\` to discard.`),process.exit(1));let n=b(e,{port:r.port,stripBooleanFlags:["--no-shell","--shell-only"],stripValueFlags:["--mode","--fps","--format","--max-width","--origin"]}),t=X(l(e,"--mode")),i=e.includes("--shell-only")?"shell":e.includes("--no-shell")?"tenant":void 0,d=l(e,"--format"),c=d==="mp4"?"mp4":"webm";d&&c!==d&&(console.error(` record start only supports webm or mp4 (got: ${d}). for gif/png use atomic mode: sootsim record --format ${d} --duration <s>`),process.exit(1));let s=Number(l(e,"--fps")??"30"),u=y({...n,commandTimeoutMs:15e3});try{if(t==="live"||t==="combined")await C("record",{originOverride:l(e,"--origin")}),await Z(u),await ee(u),await oe(u,t)||(console.error(` start failed: recording store refused to start (${t})`),process.exit(1));else{await H(u);let f={format:c,fps:s};i&&(f.layers=i);let _=await u.send({type:"evaluate",code:`window.__sootsimRecorder.start(${JSON.stringify(f)})`});_.ok||(console.error(` start failed: ${_.error??"unknown error"}`),process.exit(1))}Se({simId:n.simId??null,mode:t,format:c,fps:s,layers:i,startedAt:new Date().toISOString()}),console.log(t==="video"?` recording ${c} @ ${s}fps${i?` (${i})`:""} \u2014 run \`sootsim record stop --output <path>\` when done`:` recording ${t} \u2014 run \`sootsim record stop\` when done (add --open to launch the preview URL)`)}finally{u.close()}}async function Y(e){try{let r=await e.send({type:"evaluate",code:`(() => {
|
|
5
|
-
const store = window.SootSim?.bridges?.getRecordingState?.();
|
|
6
|
-
const headless = window.__sootsimRecorder?.state?.();
|
|
7
|
-
return { store: store ? store.state : undefined, headless };
|
|
8
|
-
})()`});return r?r.store==="recording"||r.headless==="recording"?"recording":r.store==="processing"?"processing":r.store==="idle"||r.headless==="idle"?"idle":null:null}catch{return null}}async function Re(e,r){let o=U();if(o){z(b(e,{port:r.port}).simId,o),o.mode==="video"?console.log(` recording ${o.mode} (${o.format} @ ${o.fps}fps) on sim ${o.simId??"?"} since ${o.startedAt}`):console.log(` recording ${o.mode} on sim ${o.simId??"?"} since ${o.startedAt}`);return}let n=b(e,{port:r.port}),t=y({...n,commandTimeoutMs:8e3});try{let i=await Y(t);console.log(i==="recording"||i==="processing"?` a recording is in progress (engine state: ${i}), but not via
|
|
9
|
-
\`record start\` \u2014 likely an atomic \`record --duration\` run or the
|
|
10
|
-
in-browser record button. it will finish and upload on its own.
|
|
11
|
-
\`record stop\` / \`record cancel\` only manage \`record start\` sessions.`:" no recording in progress")}finally{t.close()}}async function xe(e,r){let o=U();if(!o){let d=b(e,{port:r.port}),c=y({...d,commandTimeoutMs:8e3});try{let s=await Y(c);console.log(s==="recording"||s==="processing"?" a recording is in progress, but not via `record start` \u2014 it was\n started by an atomic `record --duration` run or the in-browser\n record button, which own their own lifecycle. it cannot be\n cancelled from here; it will finish on its own.":" no recording in progress")}finally{c.close()}return}let n=b(e,{port:r.port});z(n.simId,o);let t=o.simId??n.simId??void 0,i=y({...n,simId:t,commandTimeoutMs:15e3});try{o.mode==="live"||o.mode==="combined"?await i.send({type:"evaluate",code:"void window.SootSim?.bridges?.cancelRecording?.()"}):await i.send({type:"evaluate",code:"window.__sootsimRecorder.stop()"})}catch{}finally{R(),i.close()}console.log(" recording cancelled")}async function _e(e,r){let o=U();o||(console.error(" no recording in progress. start one with `sootsim record start`."),process.exit(1));let n=b(e,{port:r.port,stripBooleanFlags:["--open"],stripValueFlags:["--output"]});z(n.simId,o);let t=o.simId??n.simId??void 0,i=e.includes("--open"),d=y({...n,simId:t,commandTimeoutMs:6e4});try{if(o.mode==="live"||o.mode==="combined"){await re(d);let f=await te(d);R(),ne(f,i,o.mode);return}let c=l(e,"--output"),s=B(c,`sootsim-${O()}.${o.format}`);x(P(s),{recursive:!0});let u=await d.send({type:"evaluate",code:"window.__sootsimRecorder.stop()"});u.ok||(console.error(` stop failed: ${u.error??"unknown error"}`),R(),process.exit(1)),u.size||(console.error(" recorder returned an empty blob \u2014 nothing written"),R(),process.exit(1)),await Q(d,s),R(),console.log(` saved: ${s} (${T(u.size)})`)}finally{d.close()}}async function Z(e){await K(e,'typeof window.SootSim?.bridges?.startRecording === "function" && typeof window.SootSim?.bridges?.stopRecording === "function"')||(console.error(" SootSim.bridges.startRecording missing \u2014 is sootsim engine running in this sim?"),process.exit(1))}async function ee(e){let r=V();if(!r)return;let o=r.kind==="api-key"?r.secret:r.token;await e.send({type:"evaluate",code:`(() => {
|
|
12
|
-
const set = window.SootSim && window.SootSim.bridges && window.SootSim.bridges.setSession
|
|
13
|
-
if (typeof set !== 'function') return false
|
|
14
|
-
set({ token: ${JSON.stringify(o)}, user: null })
|
|
15
|
-
return true
|
|
16
|
-
})()`})||(console.error(" SootSim.bridges.setSession missing \u2014 this sim is running an engine\n build without CLI-injected preview auth. reload the sim or open a\n fresh one (`sootsim open --new`); if it persists, update sootsim."),process.exit(1))}async function oe(e,r){return await e.send({type:"evaluate",code:`window.SootSim.bridges.startRecording(${JSON.stringify(r)})`})===!0}async function re(e){await e.send({type:"evaluate",code:"void window.SootSim.bridges.stopRecording()"})}async function te(e){let r=Date.now()+q;for(;Date.now()<r;){let o=await e.send({type:"evaluate",code:"(() => { const s = window.SootSim?.bridges?.getRecordingState?.(); return s ? { state: s.state, lastUpload: s.lastUpload, uploadError: s.uploadError } : null })()"});if(o&&o.state==="idle"){if(o.uploadError)return{uploadError:o.uploadError};if(o.lastUpload?.previewUrl)return{previewUrl:o.lastUpload.previewUrl,eventCount:o.lastUpload.eventCount}}await new Promise(n=>setTimeout(n,300))}return{uploadError:`upload did not settle within ${q/1e3}s`}}function ne(e,r,o){e.uploadError&&(console.error(` upload failed: ${e.uploadError}`),process.exit(1)),e.previewUrl||(console.error(" upload returned no preview URL"),process.exit(1)),console.log(` preview: ${e.previewUrl}`),o==="live"&&e.eventCount===0&&console.log(` note: this live recording captured no events \u2014 the preview has nothing
|
|
17
|
-
to replay and will boot a fresh interactive session instead.`),r&&L(e.previewUrl)}export{ye as extToFormat,ve as resolveFormat,Ee as runRecord,l as valueOf};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.44 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a}from"./chunk-BU7OXA7Y.js";import"./chunk-HIQJTM66.js";import"./chunk-OBIALIWI.js";import"./chunk-FBCGPPDA.js";import"./chunk-5A7UO4OE.js";import"./chunk-7PUVSCSF.js";import"./chunk-4ZA3J2BV.js";export{a as runRuntime};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.44 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a}from"./chunk-YWBUHBLD.js";import"./chunk-LCDWXJ6X.js";import"./chunk-E3DHOL7O.js";import"./chunk-HIQJTM66.js";import"./chunk-OBIALIWI.js";import"./chunk-ZZOYYBLO.js";import"./chunk-LCUVF6MI.js";import"./chunk-5A7UO4OE.js";import"./chunk-7PUVSCSF.js";import"./chunk-4ZA3J2BV.js";export{a as runSetupRepo};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.44 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a,b,c}from"./chunk-VP52RZT7.js";import"./chunk-IIFZNK4R.js";import"./chunk-2TU7QJGH.js";import"./chunk-ECIHLBNE.js";import"./chunk-HIQJTM66.js";import"./chunk-OBIALIWI.js";import"./chunk-ZZOYYBLO.js";import"./chunk-LCUVF6MI.js";import"./chunk-5A7UO4OE.js";import"./chunk-7PUVSCSF.js";import"./chunk-4ZA3J2BV.js";export{a as resolveDefaultUploadOrigin,b as resolvePublicPreviewOrigin,c as runUpload};
|