sootsim 0.1.118 → 0.1.119
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-NJPQWWOB.js → agent-HMYFFW3K.js} +2 -2
- package/dist-cli/chunks/{agent-wrapper-XY2KLHD5.js → agent-wrapper-L5TRN5OW.js} +2 -2
- package/dist-cli/chunks/{app-fonts-VVWZHR3V.js → app-fonts-G5L5BPHX.js} +2 -2
- package/dist-cli/chunks/{assert-WCZYRGGS.js → assert-MN4TCTKK.js} +2 -2
- package/dist-cli/chunks/auto-bootstrap-QJ5PP7KT.js +2 -0
- package/dist-cli/chunks/beta-LAPRQ3TP.js +2 -0
- package/dist-cli/chunks/{chunk-SCAOPMDY.js → chunk-3MWC6EE2.js} +2 -2
- package/dist-cli/chunks/{chunk-WYQOR72S.js → chunk-475TNRB7.js} +2 -2
- package/dist-cli/chunks/{chunk-FXARAPTS.js → chunk-47SB3JEW.js} +3 -3
- package/dist-cli/chunks/{chunk-4YCHWQKG.js → chunk-4EQ5V4CA.js} +1 -1
- package/dist-cli/chunks/{chunk-BJGF7NGV.js → chunk-4KU7AIP7.js} +1 -1
- package/dist-cli/chunks/chunk-5AL4WWUG.js +1 -0
- package/dist-cli/chunks/{chunk-EGAVQVNQ.js → chunk-5OZHLK4L.js} +2 -2
- package/dist-cli/chunks/{chunk-XEWSIOAB.js → chunk-APWX6YCC.js} +2 -2
- package/dist-cli/chunks/{chunk-UPSFFGWI.js → chunk-AUKEEPZT.js} +1 -1
- package/dist-cli/chunks/{chunk-FPUW7ZDL.js → chunk-AV6YDPVF.js} +2 -2
- package/dist-cli/chunks/{chunk-QDBFZQ2P.js → chunk-BBLE5DMP.js} +1 -1
- package/dist-cli/chunks/{chunk-3OU23VHJ.js → chunk-BZH7FKZZ.js} +73 -12
- package/dist-cli/chunks/{chunk-5YSLVAQO.js → chunk-C3VO2MSV.js} +2 -2
- package/dist-cli/chunks/{chunk-2KH3XP25.js → chunk-CHHBZJBH.js} +1 -1
- package/dist-cli/chunks/{chunk-W3XLQMHS.js → chunk-DE6JMHEW.js} +2 -2
- package/dist-cli/chunks/{chunk-VCYQZSOW.js → chunk-EIAYJLBW.js} +2 -2
- package/dist-cli/chunks/{chunk-MAFA2R2B.js → chunk-FCRJNHIA.js} +1 -1
- package/dist-cli/chunks/{chunk-WGFN4X7U.js → chunk-FUUXRMXG.js} +2 -2
- package/dist-cli/chunks/{chunk-QK5KDLOL.js → chunk-GEPWAAGG.js} +2 -2
- package/dist-cli/chunks/{chunk-A3RAHXFP.js → chunk-H4F45EGT.js} +2 -2
- package/dist-cli/chunks/{chunk-RRGMPOCZ.js → chunk-HPTOFA3Y.js} +3 -3
- package/dist-cli/chunks/chunk-IKVDJYRI.js +2 -0
- package/dist-cli/chunks/{chunk-YW6R4AZS.js → chunk-J6UPVQ37.js} +2 -2
- package/dist-cli/chunks/{chunk-5PU4UF46.js → chunk-JFHETXYV.js} +1 -1
- package/dist-cli/chunks/{chunk-WETDSNVK.js → chunk-JP3PNWTD.js} +1 -1
- package/dist-cli/chunks/{chunk-QBRJUGX4.js → chunk-LB7BYFMF.js} +2 -2
- package/dist-cli/chunks/{chunk-UFM5KZV5.js → chunk-MJQXUHDS.js} +2 -2
- package/dist-cli/chunks/{chunk-2R6ISGHK.js → chunk-MNILEOSP.js} +1 -1
- package/dist-cli/chunks/{chunk-L2353XE5.js → chunk-O552XDE7.js} +2 -2
- package/dist-cli/chunks/{chunk-U6CXSNU5.js → chunk-O7SJH4E7.js} +2 -2
- package/dist-cli/chunks/{chunk-UNGEGYXQ.js → chunk-OS62SSOF.js} +2 -2
- package/dist-cli/chunks/{chunk-LP46VFFE.js → chunk-QMU4MAG3.js} +1 -1
- package/dist-cli/chunks/{chunk-GJB3233O.js → chunk-RAWQNHKI.js} +1 -1
- package/dist-cli/chunks/{chunk-6YPNZR54.js → chunk-RF2STDGD.js} +2 -2
- package/dist-cli/chunks/chunk-RIMNMM3O.js +1 -0
- package/dist-cli/chunks/{chunk-JSIQX4RC.js → chunk-SSQWBV2F.js} +2 -2
- package/dist-cli/chunks/{chunk-IIPXHHCA.js → chunk-TGLPBQ4D.js} +2 -2
- package/dist-cli/chunks/{chunk-JH3UHLET.js → chunk-TUJWNKG4.js} +1 -1
- package/dist-cli/chunks/{chunk-GF3PTYUG.js → chunk-WNK5XRWG.js} +2 -2
- package/dist-cli/chunks/{chunk-PC6MD7KR.js → chunk-XYT2OO4N.js} +2 -2
- package/dist-cli/chunks/{chunk-D2HFLNQK.js → chunk-YBRJSW5C.js} +3 -3
- package/dist-cli/chunks/chunk-YPLXVVG4.js +1 -0
- package/dist-cli/chunks/{chunk-N6A3DLGD.js → chunk-YZ6MQTDJ.js} +2 -2
- package/dist-cli/chunks/{chunk-SLBI37WD.js → chunk-ZX4FJNIW.js} +1 -1
- package/dist-cli/chunks/cli-version-JKOW3OL3.js +2 -0
- package/dist-cli/chunks/{compat-3RY7MNRD.js → compat-3C3O2TKY.js} +3 -3
- package/dist-cli/chunks/{config-3B4KNHNB.js → config-TEO7DXWJ.js} +2 -2
- package/dist-cli/chunks/control-UUSQA7VO.js +2 -0
- package/dist-cli/chunks/{cpu-profile-ZH2TY3EB.js → cpu-profile-QSFGY7HA.js} +2 -2
- package/dist-cli/chunks/{daemon-IUAIVTIM.js → daemon-R2TQX4HR.js} +2 -2
- package/dist-cli/chunks/{debug-BEFVOWIO.js → debug-UMLASBX2.js} +3 -3
- package/dist-cli/chunks/{detox-HPNYBEKZ.js → detox-Y6TFEKQU.js} +2 -2
- package/dist-cli/chunks/{device-ZBDEEYN6.js → device-4NBQC4LP.js} +2 -2
- package/dist-cli/chunks/{diagnose-D5CLXJP7.js → diagnose-DKXPE4P6.js} +2 -2
- package/dist-cli/chunks/drivers-TFUZRRDZ.js +2 -0
- package/dist-cli/chunks/{electron-HDDFR27N.js → electron-3AZTVV3N.js} +3 -3
- package/dist-cli/chunks/flow-744L27RP.js +2 -0
- package/dist-cli/chunks/help-JUP3UEFR.js +2 -0
- package/dist-cli/chunks/{hints-NOGPSCHT.js → hints-K323Q4NQ.js} +2 -2
- package/dist-cli/chunks/{home-paths-IQNPKC6L.js → home-paths-H7GUBJAB.js} +2 -2
- package/dist-cli/chunks/{inspect-EGBGTKVK.js → inspect-UJFYMPE5.js} +52 -51
- package/dist-cli/chunks/install-D5J5LA2V.js +2 -0
- package/dist-cli/chunks/{install-desktop-SVGXW4NS.js → install-desktop-NT5QJIPD.js} +3 -3
- package/dist-cli/chunks/{keys-6ZOTMI56.js → keys-OJVAQQK5.js} +2 -2
- package/dist-cli/chunks/{launch-IQGYTPQM.js → launch-VMMQENF6.js} +3 -3
- package/dist-cli/chunks/{login-J4U23Q3R.js → login-CRJE2OZK.js} +4 -4
- package/dist-cli/chunks/{logout-H6K35NLA.js → logout-3DXVRPLM.js} +2 -2
- package/dist-cli/chunks/{maestro-QO2LITVQ.js → maestro-FPDCZ3NO.js} +2 -2
- package/dist-cli/chunks/{preview-Q4W6QO7P.js → preview-7WLF767D.js} +2 -2
- package/dist-cli/chunks/{profile-2QJPFSDY.js → profile-DE5LJZ5Y.js} +2 -2
- package/dist-cli/chunks/{react-DXK7ST5T.js → react-HLRPZFFH.js} +2 -2
- package/dist-cli/chunks/{record-UG6W5IME.js → record-VQAG2YYZ.js} +2 -2
- package/dist-cli/chunks/runtime-LBAJOT4M.js +2 -0
- package/dist-cli/chunks/{runtime-delivery-RAZ445Y5.js → runtime-delivery-O2WD2RT6.js} +2 -2
- package/dist-cli/chunks/{screenshot-Q44UHEGZ.js → screenshot-HYSJVWYN.js} +2 -2
- package/dist-cli/chunks/{screenshot-mode-I2TYYAON.js → screenshot-mode-ME7WKY7S.js} +2 -2
- package/dist-cli/chunks/{screenshots-GGLAOVD7.js → screenshots-5MY3SHOW.js} +2 -2
- package/dist-cli/chunks/{server-3IPGETBZ.js → server-LRSX4VKM.js} +2 -2
- package/dist-cli/chunks/setup-repo-5FHT7B6J.js +2 -0
- package/dist-cli/chunks/{skills-BCFKQBDG.js → skills-SHJHDYYU.js} +2 -2
- package/dist-cli/chunks/{start-WVYUD6CH.js → start-FBIHKRWV.js} +4 -4
- package/dist-cli/chunks/store-ZSAUNVP6.js +2 -0
- package/dist-cli/chunks/telemetry-E2ZAX2C6.js +2 -0
- package/dist-cli/chunks/{test-ZATFIL25.js → test-W5VLOO6C.js} +3 -3
- package/dist-cli/chunks/{three-mode-B7MYORNU.js → three-mode-OILRSRAU.js} +2 -2
- package/dist-cli/chunks/{timeline-SDEOHHGZ.js → timeline-H4SFNSBA.js} +2 -2
- package/dist-cli/chunks/{upgrade-MMU63PN3.js → upgrade-4SYAHMAP.js} +2 -2
- package/dist-cli/chunks/upload-NPGWC7E5.js +2 -0
- package/dist-cli/chunks/{web-BXAEFDAJ.js → web-UXTXQNYW.js} +2 -2
- package/dist-cli/chunks/{what-happened-7PASTCPU.js → what-happened-SNC6DEIJ.js} +2 -2
- package/dist-cli/chunks/{whoami-26VWXEUX.js → whoami-QDFN5LHP.js} +2 -2
- package/dist-lib/agent-daemon-client.cjs +1 -1
- package/dist-lib/agent-events.cjs +1 -1
- package/dist-lib/agent-sessions.cjs +1 -1
- package/dist-lib/attached-projects.cjs +1 -1
- package/dist-lib/auth/shared-session.cjs +1 -1
- package/dist-lib/backend-origin.cjs +1 -1
- package/dist-lib/beta.cjs +1 -1
- package/dist-lib/beta.mjs +1 -1
- package/dist-lib/bridge-constants.cjs +1 -1
- package/dist-lib/cli-constants.cjs +1 -1
- package/dist-lib/config.cjs +1 -1
- package/dist-lib/detox/index.cjs +1 -1
- package/dist-lib/dev-bundle-resolution.cjs +1 -1
- package/dist-lib/home-paths.cjs +1 -1
- package/dist-lib/host/bridge-host.cjs +1 -1
- package/dist-lib/host/fetch-proxy-handler.cjs +1 -1
- package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
- package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
- package/dist-lib/host/websocket-proxy.cjs +1 -1
- package/dist-lib/index.cjs +1 -1
- package/dist-lib/metro.cjs +1 -1
- package/dist-lib/profiles.cjs +1 -1
- package/dist-lib/render-mode.cjs +1 -1
- package/dist-lib/scripts/demo-app-registry.cjs +1 -1
- package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
- package/dist-lib/sdk.cjs +92 -1
- package/dist-lib/sdk.mjs +89 -1
- package/dist-lib/skills.cjs +1 -1
- package/dist-lib/vite.cjs +1 -1
- package/package.json +1 -1
- package/dist-cli/chunks/auto-bootstrap-4T7P2AEZ.js +0 -2
- package/dist-cli/chunks/beta-XPL4OA73.js +0 -2
- package/dist-cli/chunks/chunk-2TJIYYD6.js +0 -1
- package/dist-cli/chunks/chunk-JAR6ZK7S.js +0 -2
- package/dist-cli/chunks/chunk-JWC43Q7G.js +0 -1
- package/dist-cli/chunks/chunk-RHTOXVIQ.js +0 -1
- package/dist-cli/chunks/cli-version-5RR6YSLC.js +0 -2
- package/dist-cli/chunks/control-NE52GBD2.js +0 -2
- package/dist-cli/chunks/drivers-GTB2MH7E.js +0 -2
- package/dist-cli/chunks/flow-QYL7HHKN.js +0 -2
- package/dist-cli/chunks/help-LMXH2UHV.js +0 -2
- package/dist-cli/chunks/install-Q2JJJBNC.js +0 -2
- package/dist-cli/chunks/runtime-72QZY6P4.js +0 -2
- package/dist-cli/chunks/setup-repo-UR2N2LUC.js +0 -2
- package/dist-cli/chunks/store-7NUGDP6M.js +0 -2
- package/dist-cli/chunks/telemetry-PXZEDDM5.js +0 -2
- package/dist-cli/chunks/upload-SLNXXIBH.js +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
2
|
-
import{A as
|
|
1
|
+
/*! sootsim v0.1.119 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
+
import{A as F,B as T,C as y,N as x}from"./chunk-BZH7FKZZ.js";import{c as S,e as N}from"./chunk-WNK5XRWG.js";import{b as k}from"./chunk-RAWQNHKI.js";import"./chunk-QMU4MAG3.js";import"./chunk-ZX4FJNIW.js";import"./chunk-AUKEEPZT.js";function _(n){let e=[];for(let t=0;t<n.length;t++)if(n[t]==="--since"&&t+1<n.length){e.push(t,t+1);let s=n[t+1].trim(),l=/^(\d+(?:\.\d+)?)(ms|s|m)?$/.exec(s);if(l){let a=Number(l[1]),m=l[2]??"ms",$=m==="s"?a*1e3:m==="m"?a*6e4:a;return{since:Date.now()-$,consumed:e}}let o=Number(s);if(Number.isFinite(o)&&o>1e12)return{since:o,consumed:e}}return{consumed:e}}function K(n){let e=[];for(let t=0;t<n.length;t++)if(n[t]==="--kinds"&&t+1<n.length)return e.push(t,t+1),{kinds:n[t+1].split(",").map(s=>s.trim()).filter(Boolean),consumed:e};return{consumed:e}}function O(n){let e=[];for(let t=0;t<n.length;t++)if(n[t]==="--limit"&&t+1<n.length){e.push(t,t+1);let s=Number(n[t+1]);if(Number.isFinite(s)&&s>0)return{limit:s,consumed:e}}return{consumed:e}}function j(n,e){if(e===null)return new Date(n).toLocaleTimeString();let t=(n-e)/1e3;return`${t>=0?"+":""}${t.toFixed(2)}s`}function B(n,e){switch(n){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"layout":return`${e.kind??"?"} ${e.testID??e.type??""}${e.skipped?` skipped:${e.reason??"unknown"}`:""}`;case"react-commit":{let t=e.slowest;return`${e.fiberCount??"?"} fibers ${e.durationMs??"?"}ms${t?.displayName?` \xB7 ${t.displayName} ${t.durationMs??"?"}ms`:""}`}case"reanimated":case"animation":return`${e.kind??""} ${e.target??""}${e.durationMs?` ${e.durationMs}ms`:""}`}}function A(n,e){let t=j(n.t,e).padStart(8),s=n.context.padEnd(6),l=`[${n.kind}]`.padEnd(15),o="",a=n.data;return a&&typeof a=="object"&&(o=B(n.kind,a)),` ${t} ${s} ${l} ${o}`}function M(n){let e=[],t={label:"initial state",events:[],startedAt:n[0]?.t??null};e.push(t);for(let s of n)if(t.events.push(s),s.kind==="screen"||s.kind==="route"){let l=s.data,o=l?.phase;if(!o||o==="enter"||o==="appear"||o==="active"){let a=l?.name||l?.activeName||l?.path||l?.pathname||s.kind;e.length===1&&t.events.length===1?t.label=`${s.kind}: ${a}`:(t={label:`${s.kind}: ${a}`,events:[],startedAt:s.t},e.push(t))}}return e}async function J(n,e){let t=S(n,{port:e.port,stripBooleanFlags:["--summary","--all","--json","--no-advance","--help","-h","--flow","--noisy"],stripValueFlags:["--since","--kinds","--limit"]});(n.includes("--help")||n.includes("-h"))&&(console.log(`
|
|
3
3
|
sootsim what-happened \u2014 show recent events from the semantic timeline
|
|
4
4
|
|
|
5
5
|
usage:
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
2
|
-
import{d as i}from"./chunk-
|
|
1
|
+
/*! sootsim v0.1.119 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
+
import{d as i}from"./chunk-APWX6YCC.js";import{d as n}from"./chunk-AV6YDPVF.js";import"./chunk-ZX4FJNIW.js";import"./chunk-AUKEEPZT.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.119 | (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.119 | (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.119 | (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.119 | (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.119 | (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.119 | (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.119 | (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.119 | (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.119 | (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.119 | (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.119 | (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.119 | (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.119 | (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.119 | (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.119 | (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.119 | (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.119 | (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.119 | (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.119 | (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.119 | (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.119 | (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.119 | (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.119 | (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.119 | (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.119 | (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;
|
|
@@ -23,6 +23,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
23
23
|
var sdk_exports = {};
|
|
24
24
|
__export(sdk_exports, {
|
|
25
25
|
DEBUG_CHANNELS: () => DEBUG_CHANNELS,
|
|
26
|
+
LAYOUT_GET_NATIVE_EVAL: () => LAYOUT_GET_NATIVE_EVAL,
|
|
26
27
|
READY_CONTENT_NODE_FLOOR: () => READY_CONTENT_NODE_FLOOR,
|
|
27
28
|
READY_NODE_STABLE_MS: () => READY_NODE_STABLE_MS,
|
|
28
29
|
WAIT_READY_PROBE: () => WAIT_READY_PROBE,
|
|
@@ -31,6 +32,7 @@ __export(sdk_exports, {
|
|
|
31
32
|
clearLogs: () => clearLogs,
|
|
32
33
|
clearRequests: () => clearRequests,
|
|
33
34
|
filterLogEntries: () => filterLogEntries,
|
|
35
|
+
formatLayoutElements: () => formatLayoutElements,
|
|
34
36
|
formatTimelineSummary: () => formatTimelineSummary,
|
|
35
37
|
getShellState: () => getShellState,
|
|
36
38
|
inspectAccessibilityTree: () => inspectAccessibilityTree,
|
|
@@ -41,6 +43,7 @@ __export(sdk_exports, {
|
|
|
41
43
|
inspectDescribe: () => inspectDescribe,
|
|
42
44
|
inspectErrors: () => inspectErrors,
|
|
43
45
|
inspectFind: () => inspectFind,
|
|
46
|
+
inspectGetLayout: () => inspectGetLayout,
|
|
44
47
|
inspectKeyboard: () => inspectKeyboard,
|
|
45
48
|
inspectLogs: () => inspectLogs,
|
|
46
49
|
inspectMemory: () => inspectMemory,
|
|
@@ -155,6 +158,91 @@ async function inspectDescribe(bridge, dumpOpts) {
|
|
|
155
158
|
const result = await bridge.send({ type: "evaluate", code });
|
|
156
159
|
return result ?? {};
|
|
157
160
|
}
|
|
161
|
+
var LAYOUT_GET_NATIVE_EVAL = `(async () => {
|
|
162
|
+
const t = window.__sootsimTest
|
|
163
|
+
if (!t || typeof t.listInspectable !== 'function') return []
|
|
164
|
+
const list = await t.listInspectable({})
|
|
165
|
+
if (!Array.isArray(list)) return []
|
|
166
|
+
|
|
167
|
+
const num = (v) => (typeof v === 'number' && Number.isFinite(v) ? v : 0)
|
|
168
|
+
const round = (v) => Math.round(num(v))
|
|
169
|
+
|
|
170
|
+
// borderRadius can be authored as a string ("12px") or split per-corner;
|
|
171
|
+
// prefer the uniform borderRadius, else the largest corner radius present.
|
|
172
|
+
const radiusOf = (style) => {
|
|
173
|
+
if (!style) return 0
|
|
174
|
+
const keys = ['borderRadius','borderTopLeftRadius','borderTopRightRadius','borderBottomLeftRadius','borderBottomRightRadius']
|
|
175
|
+
let max = 0
|
|
176
|
+
for (const k of keys) {
|
|
177
|
+
const raw = style[k]
|
|
178
|
+
const n = typeof raw === 'number' ? raw : (typeof raw === 'string' ? parseFloat(raw) : NaN)
|
|
179
|
+
if (Number.isFinite(n)) max = Math.max(max, n)
|
|
180
|
+
}
|
|
181
|
+
return Math.round(max)
|
|
182
|
+
}
|
|
183
|
+
const fontSizeOf = (style) => {
|
|
184
|
+
if (!style) return 0
|
|
185
|
+
const raw = style.fontSize
|
|
186
|
+
const n = typeof raw === 'number' ? raw : (typeof raw === 'string' ? parseFloat(raw) : NaN)
|
|
187
|
+
return Number.isFinite(n) ? Math.round(n) : 0
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
const isVisible = (n) => {
|
|
191
|
+
const layout = n && n.layout
|
|
192
|
+
if (!layout || layout.width <= 0 || layout.height <= 0) return false
|
|
193
|
+
const abs = (n && (n.absolute || n.absolutePosition)) || null
|
|
194
|
+
if (!abs) return true
|
|
195
|
+
const device = (n && n.device) || {}
|
|
196
|
+
const screenW = Number(device.width) || window.innerWidth || 0
|
|
197
|
+
const screenH = Number(device.height) || window.innerHeight || 0
|
|
198
|
+
if (!screenW || !screenH) return true
|
|
199
|
+
return abs.x + layout.width > 0 && abs.y + layout.height > 0 && abs.x < screenW && abs.y < screenH
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
return list.filter(isVisible).map((n) => {
|
|
203
|
+
const layout = n.layout || { x: 0, y: 0, width: 0, height: 0 }
|
|
204
|
+
const abs = n.absolute || n.absolutePosition || { x: layout.x, y: layout.y }
|
|
205
|
+
// computedStyle has the resolved values; style is the curated subset \u2014
|
|
206
|
+
// fall back across both so radius/fontSize survive either shape.
|
|
207
|
+
const style = Object.assign({}, n.style || {}, n.computedStyle || {})
|
|
208
|
+
const pad = (n.boxModel && n.boxModel.padding) || {}
|
|
209
|
+
const text = typeof n.text === 'string' && n.text.trim() ? n.text.trim() : undefined
|
|
210
|
+
return {
|
|
211
|
+
testID: n.testID || n.testId || undefined,
|
|
212
|
+
role: n.accessibilityRole || n.role || undefined,
|
|
213
|
+
type: typeof n.type === 'string' ? n.type : 'node',
|
|
214
|
+
text,
|
|
215
|
+
box: { x: round(abs.x), y: round(abs.y), w: round(layout.width), h: round(layout.height) },
|
|
216
|
+
borderRadius: radiusOf(style),
|
|
217
|
+
padding: { t: round(pad.top), r: round(pad.right), b: round(pad.bottom), l: round(pad.left) },
|
|
218
|
+
fontSize: fontSizeOf(style),
|
|
219
|
+
}
|
|
220
|
+
})
|
|
221
|
+
})()`;
|
|
222
|
+
async function inspectGetLayout(bridge) {
|
|
223
|
+
const raw = await bridge.send({ type: "evaluate", code: LAYOUT_GET_NATIVE_EVAL });
|
|
224
|
+
return Array.isArray(raw) ? raw : [];
|
|
225
|
+
}
|
|
226
|
+
function formatLayoutElements(elements) {
|
|
227
|
+
if (elements.length === 0) return " no visible elements found";
|
|
228
|
+
const lines = elements.map((el) => {
|
|
229
|
+
const ident = el.testID ? `#${el.testID}` : el.selector ? el.selector : el.role ? `[${el.role}]` : `<${el.type}>`;
|
|
230
|
+
const parts = [ident, `@(${el.box.x},${el.box.y})`, `${el.box.w}x${el.box.h}`];
|
|
231
|
+
if (el.borderRadius > 0) parts.push(`radius:${el.borderRadius}`);
|
|
232
|
+
const p = el.padding;
|
|
233
|
+
if (p.t || p.r || p.b || p.l) {
|
|
234
|
+
const uniform = p.t === p.r && p.r === p.b && p.b === p.l;
|
|
235
|
+
parts.push(uniform ? `pad:${p.t}` : `pad:${p.t},${p.r},${p.b},${p.l}`);
|
|
236
|
+
}
|
|
237
|
+
if (el.fontSize > 0) parts.push(`font:${el.fontSize}`);
|
|
238
|
+
if (el.text) {
|
|
239
|
+
const text = el.text.length > 40 ? `${el.text.slice(0, 39)}\u2026` : el.text;
|
|
240
|
+
parts.push(`"${text}"`);
|
|
241
|
+
}
|
|
242
|
+
return ` ${parts.join(" ")}`;
|
|
243
|
+
});
|
|
244
|
+
return lines.join("\n");
|
|
245
|
+
}
|
|
158
246
|
var INSPECT_A11Y_CODE = `(async () => {
|
|
159
247
|
const t = window.__sootsimTest
|
|
160
248
|
if (!t) return []
|
|
@@ -1401,6 +1489,7 @@ async function tapBest(bridge, query, opts = {}) {
|
|
|
1401
1489
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1402
1490
|
0 && (module.exports = {
|
|
1403
1491
|
DEBUG_CHANNELS,
|
|
1492
|
+
LAYOUT_GET_NATIVE_EVAL,
|
|
1404
1493
|
READY_CONTENT_NODE_FLOOR,
|
|
1405
1494
|
READY_NODE_STABLE_MS,
|
|
1406
1495
|
WAIT_READY_PROBE,
|
|
@@ -1409,6 +1498,7 @@ async function tapBest(bridge, query, opts = {}) {
|
|
|
1409
1498
|
clearLogs,
|
|
1410
1499
|
clearRequests,
|
|
1411
1500
|
filterLogEntries,
|
|
1501
|
+
formatLayoutElements,
|
|
1412
1502
|
formatTimelineSummary,
|
|
1413
1503
|
getShellState,
|
|
1414
1504
|
inspectAccessibilityTree,
|
|
@@ -1419,6 +1509,7 @@ async function tapBest(bridge, query, opts = {}) {
|
|
|
1419
1509
|
inspectDescribe,
|
|
1420
1510
|
inspectErrors,
|
|
1421
1511
|
inspectFind,
|
|
1512
|
+
inspectGetLayout,
|
|
1422
1513
|
inspectKeyboard,
|
|
1423
1514
|
inspectLogs,
|
|
1424
1515
|
inspectMemory,
|
package/dist-lib/sdk.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.119 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
|
|
3
3
|
// cli/commands/inspect/core.ts
|
|
4
4
|
function resolveMaxMsFlag(args, fallbackMs) {
|
|
@@ -76,6 +76,91 @@ async function inspectDescribe(bridge, dumpOpts) {
|
|
|
76
76
|
const result = await bridge.send({ type: "evaluate", code });
|
|
77
77
|
return result ?? {};
|
|
78
78
|
}
|
|
79
|
+
var LAYOUT_GET_NATIVE_EVAL = `(async () => {
|
|
80
|
+
const t = window.__sootsimTest
|
|
81
|
+
if (!t || typeof t.listInspectable !== 'function') return []
|
|
82
|
+
const list = await t.listInspectable({})
|
|
83
|
+
if (!Array.isArray(list)) return []
|
|
84
|
+
|
|
85
|
+
const num = (v) => (typeof v === 'number' && Number.isFinite(v) ? v : 0)
|
|
86
|
+
const round = (v) => Math.round(num(v))
|
|
87
|
+
|
|
88
|
+
// borderRadius can be authored as a string ("12px") or split per-corner;
|
|
89
|
+
// prefer the uniform borderRadius, else the largest corner radius present.
|
|
90
|
+
const radiusOf = (style) => {
|
|
91
|
+
if (!style) return 0
|
|
92
|
+
const keys = ['borderRadius','borderTopLeftRadius','borderTopRightRadius','borderBottomLeftRadius','borderBottomRightRadius']
|
|
93
|
+
let max = 0
|
|
94
|
+
for (const k of keys) {
|
|
95
|
+
const raw = style[k]
|
|
96
|
+
const n = typeof raw === 'number' ? raw : (typeof raw === 'string' ? parseFloat(raw) : NaN)
|
|
97
|
+
if (Number.isFinite(n)) max = Math.max(max, n)
|
|
98
|
+
}
|
|
99
|
+
return Math.round(max)
|
|
100
|
+
}
|
|
101
|
+
const fontSizeOf = (style) => {
|
|
102
|
+
if (!style) return 0
|
|
103
|
+
const raw = style.fontSize
|
|
104
|
+
const n = typeof raw === 'number' ? raw : (typeof raw === 'string' ? parseFloat(raw) : NaN)
|
|
105
|
+
return Number.isFinite(n) ? Math.round(n) : 0
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
const isVisible = (n) => {
|
|
109
|
+
const layout = n && n.layout
|
|
110
|
+
if (!layout || layout.width <= 0 || layout.height <= 0) return false
|
|
111
|
+
const abs = (n && (n.absolute || n.absolutePosition)) || null
|
|
112
|
+
if (!abs) return true
|
|
113
|
+
const device = (n && n.device) || {}
|
|
114
|
+
const screenW = Number(device.width) || window.innerWidth || 0
|
|
115
|
+
const screenH = Number(device.height) || window.innerHeight || 0
|
|
116
|
+
if (!screenW || !screenH) return true
|
|
117
|
+
return abs.x + layout.width > 0 && abs.y + layout.height > 0 && abs.x < screenW && abs.y < screenH
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
return list.filter(isVisible).map((n) => {
|
|
121
|
+
const layout = n.layout || { x: 0, y: 0, width: 0, height: 0 }
|
|
122
|
+
const abs = n.absolute || n.absolutePosition || { x: layout.x, y: layout.y }
|
|
123
|
+
// computedStyle has the resolved values; style is the curated subset \u2014
|
|
124
|
+
// fall back across both so radius/fontSize survive either shape.
|
|
125
|
+
const style = Object.assign({}, n.style || {}, n.computedStyle || {})
|
|
126
|
+
const pad = (n.boxModel && n.boxModel.padding) || {}
|
|
127
|
+
const text = typeof n.text === 'string' && n.text.trim() ? n.text.trim() : undefined
|
|
128
|
+
return {
|
|
129
|
+
testID: n.testID || n.testId || undefined,
|
|
130
|
+
role: n.accessibilityRole || n.role || undefined,
|
|
131
|
+
type: typeof n.type === 'string' ? n.type : 'node',
|
|
132
|
+
text,
|
|
133
|
+
box: { x: round(abs.x), y: round(abs.y), w: round(layout.width), h: round(layout.height) },
|
|
134
|
+
borderRadius: radiusOf(style),
|
|
135
|
+
padding: { t: round(pad.top), r: round(pad.right), b: round(pad.bottom), l: round(pad.left) },
|
|
136
|
+
fontSize: fontSizeOf(style),
|
|
137
|
+
}
|
|
138
|
+
})
|
|
139
|
+
})()`;
|
|
140
|
+
async function inspectGetLayout(bridge) {
|
|
141
|
+
const raw = await bridge.send({ type: "evaluate", code: LAYOUT_GET_NATIVE_EVAL });
|
|
142
|
+
return Array.isArray(raw) ? raw : [];
|
|
143
|
+
}
|
|
144
|
+
function formatLayoutElements(elements) {
|
|
145
|
+
if (elements.length === 0) return " no visible elements found";
|
|
146
|
+
const lines = elements.map((el) => {
|
|
147
|
+
const ident = el.testID ? `#${el.testID}` : el.selector ? el.selector : el.role ? `[${el.role}]` : `<${el.type}>`;
|
|
148
|
+
const parts = [ident, `@(${el.box.x},${el.box.y})`, `${el.box.w}x${el.box.h}`];
|
|
149
|
+
if (el.borderRadius > 0) parts.push(`radius:${el.borderRadius}`);
|
|
150
|
+
const p = el.padding;
|
|
151
|
+
if (p.t || p.r || p.b || p.l) {
|
|
152
|
+
const uniform = p.t === p.r && p.r === p.b && p.b === p.l;
|
|
153
|
+
parts.push(uniform ? `pad:${p.t}` : `pad:${p.t},${p.r},${p.b},${p.l}`);
|
|
154
|
+
}
|
|
155
|
+
if (el.fontSize > 0) parts.push(`font:${el.fontSize}`);
|
|
156
|
+
if (el.text) {
|
|
157
|
+
const text = el.text.length > 40 ? `${el.text.slice(0, 39)}\u2026` : el.text;
|
|
158
|
+
parts.push(`"${text}"`);
|
|
159
|
+
}
|
|
160
|
+
return ` ${parts.join(" ")}`;
|
|
161
|
+
});
|
|
162
|
+
return lines.join("\n");
|
|
163
|
+
}
|
|
79
164
|
var INSPECT_A11Y_CODE = `(async () => {
|
|
80
165
|
const t = window.__sootsimTest
|
|
81
166
|
if (!t) return []
|
|
@@ -1321,6 +1406,7 @@ async function tapBest(bridge, query, opts = {}) {
|
|
|
1321
1406
|
}
|
|
1322
1407
|
export {
|
|
1323
1408
|
DEBUG_CHANNELS,
|
|
1409
|
+
LAYOUT_GET_NATIVE_EVAL,
|
|
1324
1410
|
READY_CONTENT_NODE_FLOOR,
|
|
1325
1411
|
READY_NODE_STABLE_MS,
|
|
1326
1412
|
WAIT_READY_PROBE,
|
|
@@ -1329,6 +1415,7 @@ export {
|
|
|
1329
1415
|
clearLogs,
|
|
1330
1416
|
clearRequests,
|
|
1331
1417
|
filterLogEntries,
|
|
1418
|
+
formatLayoutElements,
|
|
1332
1419
|
formatTimelineSummary,
|
|
1333
1420
|
getShellState,
|
|
1334
1421
|
inspectAccessibilityTree,
|
|
@@ -1339,6 +1426,7 @@ export {
|
|
|
1339
1426
|
inspectDescribe,
|
|
1340
1427
|
inspectErrors,
|
|
1341
1428
|
inspectFind,
|
|
1429
|
+
inspectGetLayout,
|
|
1342
1430
|
inspectKeyboard,
|
|
1343
1431
|
inspectLogs,
|
|
1344
1432
|
inspectMemory,
|
package/dist-lib/skills.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.119 | (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.119 | (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.118 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a,b,c,d}from"./chunk-RRGMPOCZ.js";import"./chunk-GF3PTYUG.js";import"./chunk-GJB3233O.js";import"./chunk-LP46VFFE.js";import"./chunk-SLBI37WD.js";import"./chunk-UPSFFGWI.js";export{c as ensureDaemonRunning,a as ensureRuntimeInstalled,d as ensureSootsimReady,b as resolveBootstrapPort};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.118 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.118 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.118 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.118 | (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,q as n,r as o,s as p,t as q,u as r,v as s}from"./chunk-YW6R4AZS.js";import"./chunk-EGAVQVNQ.js";import"./chunk-UNGEGYXQ.js";import"./chunk-3OU23VHJ.js";import"./chunk-A3RAHXFP.js";import"./chunk-GF3PTYUG.js";import"./chunk-5YSLVAQO.js";import"./chunk-WETDSNVK.js";import"./chunk-JWC43Q7G.js";import"./chunk-IIPXHHCA.js";import"./chunk-2KH3XP25.js";import"./chunk-GJB3233O.js";import"./chunk-JAR6ZK7S.js";import"./chunk-LP46VFFE.js";import"./chunk-SLBI37WD.js";import"./chunk-UPSFFGWI.js";export{e as buildOpenUrl,d as buildShellUrl,q as closeSimsBulk,r as planBulkCloseTargets,i as playwrightHostPidForSim,g as printConnectedSims,b as resolveBundleTarget,c as resolveDefaultShellBaseUrl,a as resolveDriverConnectWaitOptions,p as runClaimCommand,s as runCloseCommand,o as runFocusCommand,l as runListCommand,m as runOpenCommand,n as runUseCommand,j as signalDriverLaunchConnected,f as summarizeSimUrl,k as terminatePlaywrightHostsForSims,h as waitForSimMatch};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.118 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import"./chunk-2TJIYYD6.js";import{a,b,c,d,e,f,g,h,i}from"./chunk-5YSLVAQO.js";import"./chunk-WETDSNVK.js";import"./chunk-JWC43Q7G.js";import"./chunk-IIPXHHCA.js";import"./chunk-2KH3XP25.js";import"./chunk-GJB3233O.js";import"./chunk-SLBI37WD.js";import"./chunk-UPSFFGWI.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.118 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a as c,b as d,c as e,d as f}from"./chunk-FXARAPTS.js";import"./chunk-JSIQX4RC.js";import"./chunk-RHTOXVIQ.js";import"./chunk-WYQOR72S.js";import"./chunk-6YPNZR54.js";import"./chunk-XEWSIOAB.js";import{d as a,e as b}from"./chunk-SCAOPMDY.js";import"./chunk-YW6R4AZS.js";import"./chunk-EGAVQVNQ.js";import"./chunk-UNGEGYXQ.js";import"./chunk-3OU23VHJ.js";import"./chunk-A3RAHXFP.js";import"./chunk-GF3PTYUG.js";import"./chunk-5YSLVAQO.js";import"./chunk-WETDSNVK.js";import"./chunk-JWC43Q7G.js";import"./chunk-IIPXHHCA.js";import"./chunk-2KH3XP25.js";import"./chunk-GJB3233O.js";import"./chunk-W3XLQMHS.js";import"./chunk-FPUW7ZDL.js";import"./chunk-N6A3DLGD.js";import"./chunk-JAR6ZK7S.js";import"./chunk-LP46VFFE.js";import"./chunk-U6CXSNU5.js";import"./chunk-MAFA2R2B.js";import"./chunk-SLBI37WD.js";import"./chunk-UPSFFGWI.js";export{c as discoverSootsimUrl,e as hoistLeadingSimFlag,a as parseFlowFile,f as runFlow,d as runFlowPlayback,b as validateFlowFile};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.118 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a,b,c}from"./chunk-QK5KDLOL.js";import"./chunk-N6A3DLGD.js";import"./chunk-PC6MD7KR.js";import"./chunk-JAR6ZK7S.js";import"./chunk-LP46VFFE.js";import"./chunk-JH3UHLET.js";import"./chunk-4YCHWQKG.js";import"./chunk-MAFA2R2B.js";import"./chunk-SLBI37WD.js";import"./chunk-UPSFFGWI.js";export{c as printCommandHelp,b as printGroupHelp,a as printHelp};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.118 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a as o}from"./chunk-VCYQZSOW.js";import"./chunk-QDBFZQ2P.js";import"./chunk-RRGMPOCZ.js";import"./chunk-GF3PTYUG.js";import"./chunk-GJB3233O.js";import"./chunk-W3XLQMHS.js";import"./chunk-FPUW7ZDL.js";import"./chunk-LP46VFFE.js";import"./chunk-SLBI37WD.js";import"./chunk-UPSFFGWI.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,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.118 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a}from"./chunk-D2HFLNQK.js";import"./chunk-GF3PTYUG.js";import"./chunk-GJB3233O.js";import"./chunk-LP46VFFE.js";import"./chunk-WGFN4X7U.js";import"./chunk-SLBI37WD.js";import"./chunk-UPSFFGWI.js";export{a as runRuntime};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.118 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a}from"./chunk-VCYQZSOW.js";import"./chunk-QDBFZQ2P.js";import"./chunk-RRGMPOCZ.js";import"./chunk-GF3PTYUG.js";import"./chunk-GJB3233O.js";import"./chunk-W3XLQMHS.js";import"./chunk-FPUW7ZDL.js";import"./chunk-LP46VFFE.js";import"./chunk-SLBI37WD.js";import"./chunk-UPSFFGWI.js";export{a as runSetupRepo};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.118 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a,b,c}from"./chunk-6YPNZR54.js";import"./chunk-XEWSIOAB.js";import"./chunk-A3RAHXFP.js";import"./chunk-GF3PTYUG.js";import"./chunk-JWC43Q7G.js";import"./chunk-2KH3XP25.js";import"./chunk-GJB3233O.js";import"./chunk-W3XLQMHS.js";import"./chunk-FPUW7ZDL.js";import"./chunk-LP46VFFE.js";import"./chunk-SLBI37WD.js";import"./chunk-UPSFFGWI.js";export{a as resolveDefaultUploadOrigin,b as resolvePublicPreviewOrigin,c as runUpload};
|