sootsim 0.1.50 → 0.1.52
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 +7 -7
- package/dist-cli/chunks/{agent-K264P3HZ.js → agent-RUWGJCSS.js} +2 -2
- package/dist-cli/chunks/{agent-wrapper-XS4C3CTX.js → agent-wrapper-FBCGP5N7.js} +2 -2
- package/dist-cli/chunks/{assert-BZSHUDEX.js → assert-IOU2NWE2.js} +2 -2
- package/dist-cli/chunks/auto-bootstrap-OYBDYAZM.js +2 -0
- package/dist-cli/chunks/beta-D4OEPOSE.js +2 -0
- package/dist-cli/chunks/{chunk-7X5HYDMF.js → chunk-2QNHBNWB.js} +2 -2
- package/dist-cli/chunks/{chunk-ZHM2SOR5.js → chunk-3DDSYQHM.js} +2 -2
- package/dist-cli/chunks/{chunk-RYELNIVV.js → chunk-3MIWVHCX.js} +1 -1
- package/dist-cli/chunks/{chunk-C3PQYWFU.js → chunk-4TSGUAV3.js} +2 -2
- package/dist-cli/chunks/{chunk-6N3DIHG4.js → chunk-6QDFLMJL.js} +1 -1
- package/dist-cli/chunks/{chunk-5E3D5ITF.js → chunk-7Y3FYPJH.js} +2 -2
- package/dist-cli/chunks/{chunk-3GV2KSZR.js → chunk-A3YSGT76.js} +2 -2
- package/dist-cli/chunks/{chunk-LB33X5FX.js → chunk-ABEYZDD7.js} +3 -3
- package/dist-cli/chunks/{chunk-W2MG4OA3.js → chunk-BF7F45CZ.js} +2 -2
- package/dist-cli/chunks/{chunk-7VUK4YQR.js → chunk-CTEXZ7BE.js} +1 -1
- package/dist-cli/chunks/{chunk-CDOIENTA.js → chunk-DNKB2V2W.js} +2 -2
- package/dist-cli/chunks/chunk-DSJ7PGU3.js +2 -0
- package/dist-cli/chunks/{chunk-CCXT5QH6.js → chunk-DVCE2KQL.js} +1 -1
- package/dist-cli/chunks/{chunk-5BU4OSGL.js → chunk-EJYVXNQL.js} +2 -2
- package/dist-cli/chunks/{chunk-SZLTF3BI.js → chunk-EQPRFEHH.js} +2 -2
- package/dist-cli/chunks/{chunk-VKH25FIQ.js → chunk-EXQJSXDF.js} +1 -1
- package/dist-cli/chunks/{chunk-V3KUGR6L.js → chunk-EYRQG47K.js} +1 -1
- package/dist-cli/chunks/{chunk-HZUXWRA6.js → chunk-FPIJBBYW.js} +78 -78
- package/dist-cli/chunks/{chunk-BRR2YUB4.js → chunk-FVBSPGBR.js} +2 -2
- package/dist-cli/chunks/{chunk-FOD2CTAF.js → chunk-GNQSOQXZ.js} +2 -2
- package/dist-cli/chunks/{chunk-V4WRHKMT.js → chunk-H4G7IRXG.js} +6 -3
- package/dist-cli/chunks/{chunk-ZPCMI5QG.js → chunk-HRIQRZX3.js} +1 -1
- package/dist-cli/chunks/{chunk-5IT4FCX4.js → chunk-I5WEW3ES.js} +1 -1
- package/dist-cli/chunks/{chunk-EIPLV35T.js → chunk-IQU56D6C.js} +1 -1
- package/dist-cli/chunks/{chunk-WL7OCV4P.js → chunk-IXITVIJV.js} +4 -4
- package/dist-cli/chunks/{chunk-7R2MEQJF.js → chunk-JPLTR6JM.js} +1 -1
- package/dist-cli/chunks/{chunk-7Z6VEDY6.js → chunk-JPX7OS7B.js} +2 -2
- package/dist-cli/chunks/chunk-KVQWMXDV.js +2 -0
- package/dist-cli/chunks/{chunk-MOQ456TZ.js → chunk-MBH3NFBC.js} +2 -2
- package/dist-cli/chunks/{chunk-BZCJZDQG.js → chunk-MSKCUZ5B.js} +4 -4
- package/dist-cli/chunks/{chunk-7WL5NDA7.js → chunk-MTE3DEWY.js} +1 -1
- package/dist-cli/chunks/{chunk-LE6TYGAB.js → chunk-MWGIKDXO.js} +2 -2
- package/dist-cli/chunks/{chunk-Z4QEWLPO.js → chunk-PDZ4JVAW.js} +1 -1
- package/dist-cli/chunks/{chunk-H72JYVSH.js → chunk-PZJSYDQ7.js} +3 -3
- package/dist-cli/chunks/{chunk-54FJM6VZ.js → chunk-Q2424XB2.js} +1 -1
- package/dist-cli/chunks/chunk-SEETW74F.js +1 -0
- package/dist-cli/chunks/{chunk-UWXIWNZA.js → chunk-T6RAXKVI.js} +2 -2
- package/dist-cli/chunks/{chunk-YQDXPF2Z.js → chunk-U3UHXJNE.js} +1 -1
- package/dist-cli/chunks/{chunk-L32B24J6.js → chunk-UCCSXQ2P.js} +29 -29
- package/dist-cli/chunks/chunk-ULHAQFCE.js +1 -0
- package/dist-cli/chunks/{chunk-CY3MAPVL.js → chunk-USGUHWUJ.js} +2 -2
- package/dist-cli/chunks/{chunk-VFYDSE5J.js → chunk-UXE5BFPK.js} +2 -2
- package/dist-cli/chunks/{chunk-Q223YQKG.js → chunk-YDKXZS7D.js} +1 -1
- package/dist-cli/chunks/chunk-YVGHAT6Q.js +1 -0
- package/dist-cli/chunks/cli-version-2VO66OZ6.js +2 -0
- package/dist-cli/chunks/{compat-GHXFTPVU.js → compat-ZBLH6EWV.js} +3 -3
- package/dist-cli/chunks/{config-2CZ2X42N.js → config-DH2GG63H.js} +2 -2
- package/dist-cli/chunks/control-W3BOP6AT.js +2 -0
- package/dist-cli/chunks/{cpu-profile-AXUDQSZF.js → cpu-profile-3PRCXZMV.js} +2 -2
- package/dist-cli/chunks/{daemon-OYT4MNW5.js → daemon-XSFKUDKZ.js} +2 -2
- package/dist-cli/chunks/{debug-GSPR2FNZ.js → debug-VAWCOXQ3.js} +3 -3
- package/dist-cli/chunks/demo-app-registry-7GNP7WE4.js +2 -0
- package/dist-cli/chunks/{detox-PCDMPG7C.js → detox-UABOFTDQ.js} +2 -2
- package/dist-cli/chunks/{device-HAOQGYQ5.js → device-LCB4N66D.js} +2 -2
- package/dist-cli/chunks/diagnose-MT3WMY4M.js +41 -0
- package/dist-cli/chunks/drivers-YGVUWGMB.js +2 -0
- package/dist-cli/chunks/{electron-DEZKIML3.js → electron-WVNFRA4S.js} +3 -3
- package/dist-cli/chunks/flow-OUOMEOSC.js +2 -0
- package/dist-cli/chunks/{hints-5B7UEOTA.js → hints-PFAKBGFX.js} +2 -2
- package/dist-cli/chunks/{home-paths-PGYAOSK4.js → home-paths-X6RB72PF.js} +2 -2
- package/dist-cli/chunks/{inspect-QUBG2EE3.js → inspect-UFYXDO6B.js} +74 -71
- package/dist-cli/chunks/install-NBUHIXEP.js +2 -0
- package/dist-cli/chunks/{install-desktop-F6H6MZ24.js → install-desktop-W6QJX52Y.js} +3 -3
- package/dist-cli/chunks/{keys-JDM4S4NA.js → keys-ORDSAMP7.js} +2 -2
- package/dist-cli/chunks/{launch-A6MX4EZ6.js → launch-NQZTWTPY.js} +3 -3
- package/dist-cli/chunks/{login-2ZHP4WJ5.js → login-J2NVLHK5.js} +4 -4
- package/dist-cli/chunks/{logout-ZXQX634G.js → logout-HI7A6PFH.js} +2 -2
- package/dist-cli/chunks/{maestro-35BUDZJN.js → maestro-KIOOFK5M.js} +9 -9
- package/dist-cli/chunks/{preview-KGBAJEH2.js → preview-QUJO4B4G.js} +2 -2
- package/dist-cli/chunks/{profile-BVWQI3HR.js → profile-U6RWYQV2.js} +2 -2
- package/dist-cli/chunks/{react-JROJZ3IQ.js → react-3V65RTQC.js} +2 -2
- package/dist-cli/chunks/record-476LFCQV.js +41 -0
- package/dist-cli/chunks/runtime-4TK5DY5R.js +2 -0
- package/dist-cli/chunks/{runtime-delivery-GKTXDKTG.js → runtime-delivery-BSRHUXJQ.js} +2 -2
- package/dist-cli/chunks/{screenshot-HJOUIADZ.js → screenshot-2S3BCN35.js} +2 -2
- package/dist-cli/chunks/{screenshot-mode-CZWXUAOB.js → screenshot-mode-SZCHOYZV.js} +2 -2
- package/dist-cli/chunks/{screenshots-XRDHWLVP.js → screenshots-LGP7LA3M.js} +2 -2
- package/dist-cli/chunks/server-G4BGS6GE.js +35 -0
- package/dist-cli/chunks/setup-repo-5LUDPPSI.js +2 -0
- package/dist-cli/chunks/{skills-NIJL5BJB.js → skills-2YOLQVV6.js} +2 -2
- package/dist-cli/chunks/{start-MYAVE26X.js → start-SF3I4SLN.js} +4 -4
- package/dist-cli/chunks/store-LLUQKQB7.js +2 -0
- package/dist-cli/chunks/telemetry-RDTORLS2.js +2 -0
- package/dist-cli/chunks/{test-NO4O5W4H.js → test-YYHXTVDI.js} +3 -3
- package/dist-cli/chunks/{three-mode-YGT4C3B3.js → three-mode-5U3H4QDF.js} +2 -2
- package/dist-cli/chunks/{timeline-Y7524K3O.js → timeline-IOEIFEH2.js} +2 -2
- package/dist-cli/chunks/{upgrade-ZFAPXF7U.js → upgrade-YF2U5QJY.js} +2 -2
- package/dist-cli/chunks/upload-3DFSK4NV.js +2 -0
- package/dist-cli/chunks/web-GAOXH77P.js +2 -0
- package/dist-cli/chunks/{what-happened-3GWD7CES.js → what-happened-DBI2RQVE.js} +2 -2
- package/dist-cli/chunks/{whoami-TQW5UROJ.js → whoami-YDAMLYNA.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 +71 -9
- 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 +75 -9
- package/dist-lib/vite.cjs +1 -1
- package/package.json +1 -1
- package/dist-cli/chunks/auto-bootstrap-UI3237L3.js +0 -2
- package/dist-cli/chunks/beta-RZOPHEAW.js +0 -2
- package/dist-cli/chunks/chunk-3NNIP2AU.js +0 -2
- package/dist-cli/chunks/chunk-5ZNFCGBB.js +0 -1
- package/dist-cli/chunks/chunk-HPUM7LZG.js +0 -1
- package/dist-cli/chunks/chunk-MC5ZKPVM.js +0 -2
- package/dist-cli/chunks/chunk-RIQ6GZZL.js +0 -1
- package/dist-cli/chunks/control-RTC726XA.js +0 -2
- package/dist-cli/chunks/demo-app-registry-TCS63ZRQ.js +0 -2
- package/dist-cli/chunks/diagnose-4W66H3TN.js +0 -41
- package/dist-cli/chunks/drivers-TA3LWZ5X.js +0 -2
- package/dist-cli/chunks/flow-KD74WWWV.js +0 -2
- package/dist-cli/chunks/install-5S3T2PJH.js +0 -2
- package/dist-cli/chunks/record-VIAGV72T.js +0 -18
- package/dist-cli/chunks/runtime-V3JIGNUF.js +0 -2
- package/dist-cli/chunks/server-URN2JGBT.js +0 -35
- package/dist-cli/chunks/setup-repo-LT5NHTRW.js +0 -2
- package/dist-cli/chunks/store-BNKVWXJ7.js +0 -2
- package/dist-cli/chunks/telemetry-VSTRFNEA.js +0 -2
- package/dist-cli/chunks/upload-4OOPAZEV.js +0 -2
- package/dist-cli/chunks/web-THLK2NNP.js +0 -2
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/*! sootsim v0.1.52 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
+
import{c as E,e as R,h as b}from"./chunk-MBH3NFBC.js";import{b as v}from"./chunk-CTEXZ7BE.js";import"./chunk-DSJ7PGU3.js";import"./chunk-JPLTR6JM.js";import"./chunk-6QDFLMJL.js";function F(e){return e.ts??e.t??0}function W(e){return typeof e.message=="string"&&e.message.length>0?e.message:Array.isArray(e.args)?e.args.map(s=>typeof s=="string"?s:JSON.stringify(s)).join(" "):""}var B=new Set(["timeline","network","react","console","screen"]);function P(){console.log(`
|
|
3
|
+
sootsim diagnose \u2014 compact "what just went wrong?" report
|
|
4
|
+
|
|
5
|
+
usage:
|
|
6
|
+
sootsim diagnose recent [--since <duration>] [--include <csv>] [--json]
|
|
7
|
+
|
|
8
|
+
options:
|
|
9
|
+
--since <d> absolute window for timeline + network (e.g. 90s, 2m, 500ms; default 90s)
|
|
10
|
+
--include <csv> comma-separated dimensions: timeline, network, react, console, screen
|
|
11
|
+
(default: all)
|
|
12
|
+
--slow-threshold <n> network slow-request threshold in ms (default 1000)
|
|
13
|
+
--limit <n> rows to print per react table (default 8)
|
|
14
|
+
--json emit a single structured JSON document
|
|
15
|
+
|
|
16
|
+
the diagnose report runs every dimension in parallel against the same
|
|
17
|
+
sim and returns a grouped summary. use \`sootsim what-happened\`
|
|
18
|
+
for chronological events, \`sootsim network\` for full request inspection,
|
|
19
|
+
\`sootsim react summary\` for the React tables on their own.
|
|
20
|
+
|
|
21
|
+
examples:
|
|
22
|
+
sootsim diagnose recent
|
|
23
|
+
sootsim diagnose recent --since 30s --include network,react
|
|
24
|
+
sootsim diagnose recent --json > /tmp/diagnose.json
|
|
25
|
+
`)}function A(e,s){if(!e)return s;let o=/^(\d+(?:\.\d+)?)(ms|s|m)?$/.exec(e.trim());if(!o)return s;let r=Number(o[1]),t=o[2]??"ms";return t==="s"?r*1e3:t==="m"?r*6e4:r}function D(e){if(!e)return B;let s=new Set;for(let o of e.split(",")){let r=o.trim().toLowerCase();r&&s.add(r)}return s}function k(e,s){let o=e.indexOf(s);if(o>=0&&o+1<e.length)return e[o+1];let r=`${s}=`;return e.find(t=>t.startsWith(r))?.slice(r.length)}function T(e,s,o){let r=k(e,s);if(r===void 0)return o;let t=Number(r);return Number.isFinite(t)&&t>0?Math.round(t):o}async function O(e,s){let o={limit:500,since:Date.now()-s},t=(await b(e,"SootSim.bridges.timeline.recent",o)).events??[],i={},c=[],d=[],p=[];for(let u of t){i[u.kind]=(i[u.kind]??0)+1;let l=u.data,m=l&&typeof l=="object"?l.level:void 0;u.kind==="console"&&(m==="error"||m==="warn")&&c.push(u),(u.kind==="alert"||u.kind==="actionsheet"||u.kind==="picker")&&d.push(u),(u.kind==="screen"||u.kind==="route")&&p.push(u)}return{events:t,byKind:i,total:t.length,errors:c,alerts:d,screens:p}}async function L(e,s,o){let r=await e.send({type:"evaluate",code:`(() => {
|
|
26
|
+
const obs = window.__sootsimObservability;
|
|
27
|
+
if (!obs) return { ok: false };
|
|
28
|
+
return { ok: true, entries: obs.network.getSnapshot() };
|
|
29
|
+
})()`});if(!r||!r.ok)return{error:"observability bridge not installed"};let t=r.entries??[],i=Date.now()-s,c=t.filter(l=>(l.startTs??l.startedAt??0)>=i),d=c.filter(l=>!!l.error||l.status!=null&&l.status>=400),p=c.filter(l=>l.durationMs!=null&&l.durationMs>=o).sort((l,m)=>(m.durationMs??0)-(l.durationMs??0)),u=c.filter(l=>l.durationMs==null).length;return{total:c.length,failed:d,slow:p,inFlight:u,slowThresholdMs:o}}async function C(e,s){let[o,r]=await Promise.all([b(e,"SootSim.bridges.reactProfile.slow",{limit:s}),b(e,"SootSim.bridges.reactProfile.rerenders",{limit:s})]);return{commits:o.commits??r.commits??0,slow:o.rows??[],rerenders:r.rows??[],durationWarning:o.durationWarning,error:o.error??r.error}}async function _(e,s){let o=await e.send({type:"evaluate",code:`(() => {
|
|
30
|
+
const obs = window.__sootsimObservability;
|
|
31
|
+
if (!obs) return { ok: false };
|
|
32
|
+
return { ok: true, entries: obs.logs.getSnapshot() };
|
|
33
|
+
})()`});if(!o||!o.ok)return{error:"observability bridge not installed"};let r=Date.now()-s,i=(o.entries??[]).filter(c=>F(c)>=r&&(c.level==="error"||c.level==="warn"));return{entries:i.slice(-20),total:i.length}}function N(e){let s=e.error?"err":e.status!=null?String(e.status):"...",o=(e.method??"GET").padEnd(6),r=e.durationMs!=null?`${e.durationMs.toFixed(0)}ms`:"...",t=e.displayUrl??e.url,i=t.length>96?`${t.slice(0,92)}\u2026`:t;return` ${s.padStart(3)} ${o} ${r.padStart(7)} ${i} (${e.id})`}function M(e,s){let o=((e.t-s)/1e3).toFixed(2),r=e.t>=s?"-":"+",t=e.data,i="";if(t&&typeof t=="object"){let c=(t.message??"").toString().slice(0,120),d=(t.title??t.name??t.path??t.url??"").toString();i=[(t.phase??"").toString(),d,c].filter(Boolean).join(" \xB7 ")}return` -${o.padStart(5)}s [${e.kind}] ${i}`}function j(e,s,o){if(s.length===0)return`${o}(no rows)`;let r=e.map((i,c)=>Math.max(i.length,...s.map(d=>d[c]?.length??0))),t=i=>i.map((c,d)=>c.padEnd(r[d])).join(" ").trimEnd();return[t(e),t(e.map(i=>"-".repeat(i.length))),...s.map(t)].map(i=>`${o}${i}`).join(`
|
|
34
|
+
`)}async function J(e,s){if(e.includes("--help")||e.includes("-h"))return P(),0;let o=E(e,{port:s.port,stripBooleanFlags:["--json","--help","-h"],stripValueFlags:["--since","--include","--limit","--slow-threshold"]}),r=o.positional[0]??"recent";if(r!=="recent")return console.error(` unknown subcommand: ${r}`),console.error(" did you mean: sootsim diagnose recent ?"),1;let t=A(k(e,"--since"),9e4),i=D(k(e,"--include")),c=T(e,"--limit",8),d=T(e,"--slow-threshold",1e3),p=e.includes("--json"),u=R(o);try{let l=[],m=[];(i.has("timeline")||i.has("screen")||i.has("alert"))&&(m.push("timeline"),l.push(O(u,t))),(i.has("network")||i.has("fetch"))&&(m.push("network"),l.push(L(u,t,d))),i.has("react")&&(m.push("react"),l.push(C(u,c))),i.has("console")&&(m.push("console"),l.push(_(u,t)));let $=await u.send({type:"evaluate",code:"globalThis.__sootsimEngineBuild ?? null"}).then(n=>typeof n=="string"?n:null).catch(()=>null),x=await Promise.all(l),w={};for(let n=0;n<m.length;n++)w[m[n]]=x[n];if(p)return console.log(JSON.stringify({generatedAt:Date.now(),engineBuild:$,sinceMs:t,include:Array.from(i),slices:w},null,2)),0;let S=Date.now();if(console.log(` diagnose recent (last ${(t/1e3).toFixed(0)}s, include: ${Array.from(i).sort().join(",")}):`),console.log(` engine build: ${$??"unknown (no build stamp \u2014 likely a stale or pre-F20-5 engine)"}`),w.timeline){let n=w.timeline;console.log(`
|
|
35
|
+
timeline \u2014 ${n.total} event(s) in window`);let f=Object.entries(n.byKind).sort((a,g)=>g[1]-a[1]).map(([a,g])=>`${g} ${a}`).join(" \xB7 ");if(f&&console.log(` summary: ${f}`),n.screens.length){let g=n.screens[n.screens.length-1].data,h=g?g.name??g.activeName??g.path??"?":"?";console.log(` last screen: ${String(h)}`)}if(n.alerts.length){console.log(` alerts (${n.alerts.length}):`);for(let a of n.alerts.slice(-5))console.log(M(a,S))}if(n.errors.length){console.log(` console errors/warns from timeline (${n.errors.length}):`);for(let a of n.errors.slice(-5))console.log(M(a,S))}}if(w.network){let n=w.network;if("error"in n)console.log(`
|
|
36
|
+
network \u2014 ${n.error}`);else{if(console.log(`
|
|
37
|
+
network \u2014 ${n.total} request(s), ${n.failed.length} failed, ${n.slow.length} slow (>${n.slowThresholdMs}ms), ${n.inFlight} in-flight`),n.failed.length){console.log(" failed:");for(let f of n.failed.slice(-8))console.log(N(f))}if(n.slow.length){console.log(" slowest:");for(let f of n.slow.slice(0,5))console.log(N(f))}}}if(w.react){let n=w.react;console.log(`
|
|
38
|
+
react \u2014 ${n.commits} commit(s)`),n.error&&console.log(` warning: ${n.error}`),n.durationWarning&&console.log(` warning: ${n.durationWarning}`),n.slow.length>0&&n.slow.every(a=>a.totalMs<=0&&a.slowestMs<=0)&&!n.durationWarning&&console.log(" warning: every commit reports actualDuration=0ms \u2014 bundle has React profiler timer disabled"),n.slow.length&&(console.log(" slowest:"),console.log(j(["component","total","commits","slowest"],n.slow.slice(0,c).map(a=>[a.displayName,`${a.totalMs.toFixed(2)}ms`,String(a.commitCount),`${a.slowestMs.toFixed(2)}ms`])," "))),n.rerenders.length&&(console.log(" most rerenders:"),console.log(j(["component","renders","top causes"],n.rerenders.slice(0,c).map(a=>{let g=Object.entries(a.causes??{}).filter(([,h])=>h>0).sort((h,y)=>y[1]-h[1]).slice(0,3).map(([h,y])=>`${h}:${y}`).join(", ");return[a.displayName,String(a.renders??a.count??0),g||"-"]})," ")))}if(w.console){let n=w.console;if("error"in n)console.log(`
|
|
39
|
+
console \u2014 ${n.error}`);else{console.log(`
|
|
40
|
+
console errors/warns \u2014 ${n.total} in window`);for(let f of n.entries.slice(-8)){let a=((F(f)-S)/1e3).toFixed(2),g=W(f).slice(0,160);console.log(` -${a.padStart(5)}s [${f.level}] ${g}`)}}}return v()&&console.log(`
|
|
41
|
+
next: sootsim what-happened (cursor advances) \xB7 sootsim network get <id> \xB7 sootsim react why <fiber-id>`),0}catch(l){let m=l instanceof Error?l.message:String(l);return/no sim connected/i.test(m)?console.error(" no sim connected \u2014 open one first: sootsim open <metroPort>"):console.error(` diagnose failed: ${m}`),1}finally{u.close()}}export{J as runDiagnose};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! sootsim v0.1.52 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
+
import"./chunk-SEETW74F.js";import{a,b,c,d,e,f,g,h,i}from"./chunk-H4G7IRXG.js";import"./chunk-I5WEW3ES.js";import"./chunk-YVGHAT6Q.js";import"./chunk-EQPRFEHH.js";import"./chunk-MTE3DEWY.js";import"./chunk-JPLTR6JM.js";import"./chunk-6QDFLMJL.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,5 +1,5 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
2
|
-
import{a as g}from"./chunk-
|
|
1
|
+
/*! sootsim v0.1.52 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
+
import{a as g}from"./chunk-YDKXZS7D.js";import"./chunk-SEETW74F.js";import{a as v,f as h}from"./chunk-ABEYZDD7.js";import"./chunk-3MIWVHCX.js";import"./chunk-HRIQRZX3.js";import{b as f,g as u}from"./chunk-H4G7IRXG.js";import{a as p}from"./chunk-I5WEW3ES.js";import"./chunk-YVGHAT6Q.js";import{c as m}from"./chunk-EQPRFEHH.js";import"./chunk-MTE3DEWY.js";import"./chunk-KVQWMXDV.js";import"./chunk-MBH3NFBC.js";import"./chunk-CTEXZ7BE.js";import"./chunk-DSJ7PGU3.js";import"./chunk-JPLTR6JM.js";import"./chunk-6QDFLMJL.js";function b(e){let r=e.indexOf("--port");if(r<0)return;let o=e[r+1],i=o?Number(o):Number.NaN;return(!Number.isInteger(i)||i<=0)&&(console.error(` invalid --port value: ${o||"(missing)"}`),process.exit(1)),i}async function O(e,r){let o=b(e)??r.port;return o?h(String(o)):void 0}async function $(e,r){(e.includes("--help")||e.includes("-h"))&&(console.log(`
|
|
3
3
|
sootsim electron \u2014 launch the desktop companion
|
|
4
4
|
|
|
5
5
|
usage:
|
|
@@ -15,4 +15,4 @@ examples:
|
|
|
15
15
|
sootsim electron
|
|
16
16
|
sootsim electron --port 5173
|
|
17
17
|
sootsim electron --profile qa
|
|
18
|
-
`),process.exit(0));let o=e.indexOf("--driver"),i=o>=0?e[o+1]:void 0,t=e.find((n,a)=>e[a-1]==="--profile"),d=e.includes("--ephemeral");t&&d&&(console.error(" sootsim electron: --profile cannot be combined with --ephemeral"),process.exit(1));let x=t?m(t).id:void 0,s=i||r.driver,l=f;if(s){let n=u(s);n||(console.error(` unknown driver "${s}" \u2014 run \`sootsim list --drivers\``),process.exit(1)),l=n}if(l.id==="electron"){let n=p();if(!n){if(v(),process.stdin.isTTY&&process.env.CI!=="1"&&process.env.SOOTSIM_NO_PROMPT!=="1"&&await g("run sootsim install-desktop now?",!0)){console.log();let{runInstallDesktop:I}=await import("./install-desktop-
|
|
18
|
+
`),process.exit(0));let o=e.indexOf("--driver"),i=o>=0?e[o+1]:void 0,t=e.find((n,a)=>e[a-1]==="--profile"),d=e.includes("--ephemeral");t&&d&&(console.error(" sootsim electron: --profile cannot be combined with --ephemeral"),process.exit(1));let x=t?m(t).id:void 0,s=i||r.driver,l=f;if(s){let n=u(s);n||(console.error(` unknown driver "${s}" \u2014 run \`sootsim list --drivers\``),process.exit(1)),l=n}if(l.id==="electron"){let n=p();if(!n){if(v(),process.stdin.isTTY&&process.env.CI!=="1"&&process.env.SOOTSIM_NO_PROMPT!=="1"&&await g("run sootsim install-desktop now?",!0)){console.log();let{runInstallDesktop:I}=await import("./install-desktop-W6QJX52Y.js");await I(["--yes"]),n=p()}n||process.exit(1)}console.log(` launching ${n.path}`)}let w=await O(e,r),c=await l.launch({url:w,device:r.device,profileId:x,ephemeralProfile:d});c.launched||(console.error(` ${c.message}`),process.exit(1)),console.log(` ${c.message}`)}export{O as resolveElectronLaunchUrl,$ as runElectron};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! sootsim v0.1.52 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
+
import{a as c,b as d,c as e,d as f}from"./chunk-UCCSXQ2P.js";import"./chunk-T6RAXKVI.js";import"./chunk-4TSGUAV3.js";import"./chunk-ULHAQFCE.js";import"./chunk-MWGIKDXO.js";import"./chunk-IXITVIJV.js";import"./chunk-BF7F45CZ.js";import{c as a,d as b}from"./chunk-FPIJBBYW.js";import"./chunk-ABEYZDD7.js";import"./chunk-3MIWVHCX.js";import"./chunk-HRIQRZX3.js";import"./chunk-H4G7IRXG.js";import"./chunk-I5WEW3ES.js";import"./chunk-YVGHAT6Q.js";import"./chunk-EQPRFEHH.js";import"./chunk-MTE3DEWY.js";import"./chunk-JPX7OS7B.js";import"./chunk-USGUHWUJ.js";import"./chunk-KVQWMXDV.js";import"./chunk-7Y3FYPJH.js";import"./chunk-DNKB2V2W.js";import"./chunk-GNQSOQXZ.js";import"./chunk-Q2424XB2.js";import"./chunk-MBH3NFBC.js";import"./chunk-CTEXZ7BE.js";import"./chunk-DSJ7PGU3.js";import"./chunk-JPLTR6JM.js";import"./chunk-6QDFLMJL.js";export{c as discoverSootsimUrl,e as hoistLeadingSimFlag,a as parseFlowFile,f as runFlow,d as runFlowPlayback,b as validateFlowFile};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
2
|
-
import{b as n,c as r,d as l}from"./chunk-
|
|
1
|
+
/*! sootsim v0.1.52 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
+
import{b as n,c as r,d as l}from"./chunk-3DDSYQHM.js";import"./chunk-CTEXZ7BE.js";import"./chunk-6QDFLMJL.js";function a(t){let s=t[0]??"list";if(s==="reset"){t[1]==="global"?(r(),console.log(" cleared global hint state")):(n(),console.log(" cleared hint state for this CLI identity"));return}if(s==="list"){let e=l();if(!e.length){console.log(" no hints registered");return}let i=Math.max(...e.map(o=>o.id.length));console.log(" registered hints:");for(let o of e){let c=typeof o.frequency=="string"?o.frequency:`cooldown ${o.frequency.cooldownMs}ms`;console.log(` ${o.id.padEnd(i)} ${c}`)}console.log(""),console.log(" env overrides:"),console.log(" SOOTSIM_HINTS=off suppress all hints"),console.log(" SOOTSIM_HINTS=always show every hint every time");return}console.error(` unknown subcommand: ${s}`),console.error(" usage:"),console.error(" sootsim hints list show registered hints"),console.error(" sootsim hints reset [global] clear shown-state"),process.exit(1)}export{a as runHints};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
2
|
-
import{A,B,C,D,E,F,G,H,I,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}from"./chunk-
|
|
1
|
+
/*! sootsim v0.1.52 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
+
import{A,B,C,D,E,F,G,H,I,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}from"./chunk-JPLTR6JM.js";import"./chunk-6QDFLMJL.js";export{b as ACTIVE_RUNTIME_FILE,d as CONFIG_FILE,e as DAEMON_HEARTBEAT_STALE_MS,c as DAEMON_LOCKFILE,a as SOOTSIM_HOME_ENV,D as activeRuntimeDir,j as activeRuntimeFile,r as cacheDir,H as claimDaemonLockfile,C as compareSemver,t as configFilePath,p as daemonAppBundlePath,o as daemonAppDir,q as daemonAppLauncherPath,s as daemonLockfilePath,k as electronDir,l as electronUserDataDir,m as electronVersionDir,y as ensureSootsimHome,F as isDaemonLockfileFresh,g as isSootsimDevCheckout,B as listInstalledRuntimes,n as profilesDir,z as readActiveRuntime,E as readDaemonLockfile,u as readSharedConfig,w as readTelemetryEnabled,I as removeDaemonLockfile,i as runtimeDir,h as runtimesDir,f as sootsimHomeDir,A as writeActiveRuntime,G as writeDaemonLockfile,v as writeSharedConfig,x as writeTelemetryEnabled};
|