sootsim 0.1.127 → 0.1.129
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-LUN4QHOL.js → agent-2CLXZJCE.js} +2 -2
- package/dist-cli/chunks/{agent-wrapper-APEJDITM.js → agent-wrapper-DMTETGFP.js} +2 -2
- package/dist-cli/chunks/{app-fonts-AKZ7ZDOK.js → app-fonts-25BQNOJE.js} +2 -2
- package/dist-cli/chunks/{assert-MFPNYG7R.js → assert-EYRTQ6ER.js} +2 -2
- package/dist-cli/chunks/auto-bootstrap-NB4SLPAE.js +2 -0
- package/dist-cli/chunks/beta-2LKOVRW5.js +2 -0
- package/dist-cli/chunks/{chunk-GNG6W27T.js → chunk-3QJLWCBD.js} +2 -2
- package/dist-cli/chunks/{chunk-GNYI3JAB.js → chunk-4DT5LVP3.js} +1 -1
- package/dist-cli/chunks/{chunk-LF3KGYGE.js → chunk-4PN5EVFA.js} +2 -2
- package/dist-cli/chunks/{chunk-5UWZ47FH.js → chunk-56IYXKG5.js} +1 -1
- package/dist-cli/chunks/{chunk-ZP3CCVT7.js → chunk-5AR7JQNL.js} +1 -1
- package/dist-cli/chunks/{chunk-4JCC7SR2.js → chunk-5ITNDSDP.js} +2 -2
- package/dist-cli/chunks/{chunk-OKAG4ZKD.js → chunk-5T5OIH3R.js} +2 -2
- package/dist-cli/chunks/{chunk-HNEBMDYQ.js → chunk-5Y4V7DHL.js} +2 -2
- package/dist-cli/chunks/{chunk-ZGXZQPYO.js → chunk-7FDXV4PE.js} +2 -2
- package/dist-cli/chunks/{chunk-5WIVTKYW.js → chunk-7HRQGZ7J.js} +1 -1
- package/dist-cli/chunks/{chunk-7DAYDZ6K.js → chunk-AQSGGVCD.js} +3 -3
- package/dist-cli/chunks/{chunk-NDGBW36P.js → chunk-CHCJWMYW.js} +1 -1
- package/dist-cli/chunks/chunk-DLMQVCTV.js +1 -0
- package/dist-cli/chunks/{chunk-FMCKRPCU.js → chunk-EMTFJESP.js} +1 -1
- package/dist-cli/chunks/{chunk-B56YQYVI.js → chunk-EP3L4A52.js} +1 -1
- package/dist-cli/chunks/{chunk-L2CWZNGS.js → chunk-EP3YPVJY.js} +2 -2
- package/dist-cli/chunks/{chunk-24GWVHOQ.js → chunk-FSYDDBEL.js} +2 -2
- package/dist-cli/chunks/{chunk-SM2JP7BO.js → chunk-GPUIF547.js} +1 -1
- package/dist-cli/chunks/{chunk-36AO2O2R.js → chunk-HHI7444G.js} +57 -17
- package/dist-cli/chunks/{chunk-FGTMXDHE.js → chunk-IAG3ZUAE.js} +2 -2
- package/dist-cli/chunks/{chunk-DQAWYKPD.js → chunk-IFHNUWKU.js} +2 -2
- package/dist-cli/chunks/{chunk-Y4YKDIS6.js → chunk-J4RRVZLG.js} +1 -1
- package/dist-cli/chunks/{chunk-7JJF24H4.js → chunk-KG247GVZ.js} +2 -2
- package/dist-cli/chunks/{chunk-2YJLYAL3.js → chunk-LNU7WB6Z.js} +2 -2
- package/dist-cli/chunks/{chunk-BY4HZZZH.js → chunk-MMR2PBWA.js} +3 -3
- package/dist-cli/chunks/{chunk-MT6WASRO.js → chunk-NHK744OV.js} +1 -1
- package/dist-cli/chunks/{chunk-7QBGAHCM.js → chunk-NW72VNGA.js} +3 -3
- package/dist-cli/chunks/chunk-PAZWCF3C.js +1 -0
- package/dist-cli/chunks/{chunk-52XT4NSH.js → chunk-PEQUGH7X.js} +2 -2
- package/dist-cli/chunks/{chunk-VIXWXLVX.js → chunk-PSMCJQXE.js} +2 -2
- package/dist-cli/chunks/{chunk-DC6VXHIZ.js → chunk-QF6IUOSK.js} +1 -1
- package/dist-cli/chunks/{chunk-CSXM46RX.js → chunk-QJCDLCY7.js} +2 -2
- package/dist-cli/chunks/chunk-QMDFOSCP.js +1 -0
- package/dist-cli/chunks/{chunk-6D4U74IK.js → chunk-RJ6BJSSK.js} +2 -2
- package/dist-cli/chunks/{chunk-FPVP3O53.js → chunk-SY4CNQ7Q.js} +2 -2
- package/dist-cli/chunks/{chunk-IWSLRFIG.js → chunk-T73PO7QP.js} +2 -2
- package/dist-cli/chunks/{chunk-3U2ZPTHG.js → chunk-VXLPV53O.js} +2 -2
- package/dist-cli/chunks/{chunk-TGJWE3CN.js → chunk-WA4F3S3O.js} +2 -2
- package/dist-cli/chunks/{chunk-FG6YYUCT.js → chunk-WAK4QVNM.js} +1 -1
- package/dist-cli/chunks/{chunk-NKJJMS2M.js → chunk-WB3P3VGN.js} +1 -1
- package/dist-cli/chunks/{chunk-5WSDKWL7.js → chunk-X6UBD524.js} +2 -2
- package/dist-cli/chunks/chunk-XLUUJCSP.js +2 -0
- package/dist-cli/chunks/{chunk-3DHE4SHG.js → chunk-Y3YURX2A.js} +1 -1
- package/dist-cli/chunks/{chunk-YVB5QNKO.js → chunk-YKXKGZSJ.js} +1 -1
- package/dist-cli/chunks/cli-version-I3UMBT5O.js +2 -0
- package/dist-cli/chunks/{compat-JELEOJPN.js → compat-EIQNZ4JY.js} +3 -3
- package/dist-cli/chunks/{config-REAVTZCI.js → config-WBBB4KAF.js} +2 -2
- package/dist-cli/chunks/control-EX3VXQ7V.js +2 -0
- package/dist-cli/chunks/{cpu-profile-OGVBRPW7.js → cpu-profile-334GREGX.js} +2 -2
- package/dist-cli/chunks/{daemon-ZUOHTLAC.js → daemon-J65WSF5U.js} +2 -2
- package/dist-cli/chunks/{debug-G533AR4F.js → debug-DB737GNO.js} +3 -3
- package/dist-cli/chunks/{detox-TBWG4AR3.js → detox-GYZJZZB6.js} +2 -2
- package/dist-cli/chunks/{device-PQEM6FOV.js → device-CNPPTXFU.js} +2 -2
- package/dist-cli/chunks/{diagnose-4J75PLPF.js → diagnose-ERZANOHM.js} +2 -2
- package/dist-cli/chunks/drivers-7YH3VVVZ.js +2 -0
- package/dist-cli/chunks/{electron-A2SD7F3N.js → electron-4BT5EQHI.js} +3 -3
- package/dist-cli/chunks/flow-OFD6LF6V.js +2 -0
- package/dist-cli/chunks/help-FRUNM3LL.js +2 -0
- package/dist-cli/chunks/{hints-7PG63DKS.js → hints-VUH6VBJ7.js} +2 -2
- package/dist-cli/chunks/{home-paths-QIX4W62B.js → home-paths-ECU3BYCS.js} +2 -2
- package/dist-cli/chunks/{inspect-T3H6FTHE.js → inspect-KKQJ5KQV.js} +4 -4
- package/dist-cli/chunks/install-LZLX3YZP.js +2 -0
- package/dist-cli/chunks/{install-desktop-AJ7MV6OQ.js → install-desktop-Q6QSPYQS.js} +3 -3
- package/dist-cli/chunks/{keys-ODRTRJX7.js → keys-XMG7L2AL.js} +2 -2
- package/dist-cli/chunks/{launch-5BF5JBYF.js → launch-WH323264.js} +3 -3
- package/dist-cli/chunks/{login-MQ2PDQNI.js → login-3YYWFKB3.js} +4 -4
- package/dist-cli/chunks/{logout-KH374434.js → logout-U77GYAWT.js} +2 -2
- package/dist-cli/chunks/{maestro-J5GGRVH6.js → maestro-NQEF23G7.js} +2 -2
- package/dist-cli/chunks/{preview-CCPCRU6W.js → preview-AOTCHNWB.js} +2 -2
- package/dist-cli/chunks/{profile-MTL2HU6F.js → profile-57CSZI4O.js} +2 -2
- package/dist-cli/chunks/{react-UTYPZQWT.js → react-5JGWHJCG.js} +2 -2
- package/dist-cli/chunks/{record-AFRD6E2J.js → record-JQW5AQDG.js} +2 -2
- package/dist-cli/chunks/runtime-3PEHSFYI.js +2 -0
- package/dist-cli/chunks/{runtime-delivery-PJZCHZOA.js → runtime-delivery-2SY6VTTC.js} +2 -2
- package/dist-cli/chunks/{screenshot-AQHIB3G7.js → screenshot-LNYP7U72.js} +2 -2
- package/dist-cli/chunks/{screenshot-mode-NOOW6RL5.js → screenshot-mode-LMUUUFJY.js} +2 -2
- package/dist-cli/chunks/{screenshots-KVKV2KAZ.js → screenshots-R7T7DOBG.js} +2 -2
- package/dist-cli/chunks/{server-6KNS5Y7Q.js → server-7H67CYP4.js} +12 -12
- package/dist-cli/chunks/setup-repo-QJEHYA7R.js +2 -0
- package/dist-cli/chunks/{skills-62FUBTDY.js → skills-SDSSTD44.js} +2 -2
- package/dist-cli/chunks/{start-XBAW57QL.js → start-MQAJ7GA6.js} +4 -4
- package/dist-cli/chunks/store-ZYMG4VDY.js +2 -0
- package/dist-cli/chunks/telemetry-AXLZH6Y2.js +2 -0
- package/dist-cli/chunks/{test-TSJ5PCO6.js → test-3IWJYEBS.js} +3 -3
- package/dist-cli/chunks/{three-mode-VK2D4NYV.js → three-mode-4F5PHPL2.js} +2 -2
- package/dist-cli/chunks/{timeline-HY7B7HAW.js → timeline-XDSEYH2S.js} +2 -2
- package/dist-cli/chunks/{upgrade-BHZN6X5M.js → upgrade-DH362WFZ.js} +2 -2
- package/dist-cli/chunks/upload-TJUKEH3W.js +2 -0
- package/dist-cli/chunks/{version-YFEE6ZGK.js → version-FRIIGCBS.js} +2 -2
- package/dist-cli/chunks/web-D3OXRMIU.js +2 -0
- package/dist-cli/chunks/{what-happened-VDAD5V3N.js → what-happened-QWW5OLBU.js} +2 -2
- package/dist-cli/chunks/{whoami-ONERUEKE.js → whoami-HU3F2UE5.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 +20 -7
- package/dist-lib/host/fetch-proxy-handler.cjs +20 -7
- package/dist-lib/host/fetch-proxy-overrides.cjs +10 -6
- package/dist-lib/host/fetch-proxy-overrides.mjs +10 -6
- 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 +65 -11
- package/dist-lib/sdk.mjs +64 -11
- package/dist-lib/skills.cjs +27 -13
- package/dist-lib/vite.cjs +1 -1
- package/package.json +1 -1
- package/src/host/fetch-proxy-handler.ts +23 -2
- package/src/host/fetch-proxy-overrides.ts +17 -5
- package/dist-cli/chunks/auto-bootstrap-LBKZGZZF.js +0 -2
- package/dist-cli/chunks/beta-VGO5KHIW.js +0 -2
- package/dist-cli/chunks/chunk-3WXNKHSH.js +0 -1
- package/dist-cli/chunks/chunk-FW5SXCE2.js +0 -2
- package/dist-cli/chunks/chunk-QVIEWXVS.js +0 -1
- package/dist-cli/chunks/chunk-UWEGL2QF.js +0 -1
- package/dist-cli/chunks/cli-version-YVYBW43E.js +0 -2
- package/dist-cli/chunks/control-3AUN3AWZ.js +0 -2
- package/dist-cli/chunks/drivers-PNGLYCLQ.js +0 -2
- package/dist-cli/chunks/flow-THQYC2Y4.js +0 -2
- package/dist-cli/chunks/help-ASEA4FFM.js +0 -2
- package/dist-cli/chunks/install-FXTDM3ZL.js +0 -2
- package/dist-cli/chunks/runtime-SE4VB7MF.js +0 -2
- package/dist-cli/chunks/setup-repo-XXEF6YK3.js +0 -2
- package/dist-cli/chunks/store-FOWKJFEJ.js +0 -2
- package/dist-cli/chunks/telemetry-FDYR6W5E.js +0 -2
- package/dist-cli/chunks/upload-B6UNK5GQ.js +0 -2
- package/dist-cli/chunks/web-KNX5TVQW.js +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
2
|
-
import{B as T,C as A,D as y,O as _,P as b,Q as S}from"./chunk-
|
|
1
|
+
/*! sootsim v0.1.129 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
+
import{B as T,C as A,D as y,O as _,P as b,Q as S}from"./chunk-HHI7444G.js";import{c as N,e as F}from"./chunk-PEQUGH7X.js";import{b as k}from"./chunk-5AR7JQNL.js";import"./chunk-7HRQGZ7J.js";import"./chunk-J4RRVZLG.js";import"./chunk-EP3L4A52.js";function O(n){let t=[];for(let e=0;e<n.length;e++)if(n[e]==="--since"&&e+1<n.length){t.push(e,e+1);let s=n[e+1].trim(),l=/^(\d+(?:\.\d+)?)(ms|s|m)?$/.exec(s);if(l){let r=Number(l[1]),u=l[2]??"ms",v=u==="s"?r*1e3:u==="m"?r*6e4:r;return{since:Date.now()-v,consumed:t}}let i=Number(s);if(Number.isFinite(i)&&i>1e12)return{since:i,consumed:t}}return{consumed:t}}function B(n){let t=[];for(let e=0;e<n.length;e++)if(n[e]==="--kinds"&&e+1<n.length)return t.push(e,e+1),{kinds:n[e+1].split(",").map(s=>s.trim()).filter(Boolean),consumed:t};return{consumed:t}}function D(n){let t=[];for(let e=0;e<n.length;e++)if(n[e]==="--limit"&&e+1<n.length){t.push(e,e+1);let s=Number(n[e+1]);if(Number.isFinite(s)&&s>0)return{limit:s,consumed:t}}return{consumed:t}}function x(n){let t=[],e={label:"initial state",events:[],startedAt:n[0]?.t??null};t.push(e);for(let s of n)if(e.events.push(s),s.kind==="screen"||s.kind==="route"){let l=s.data,i=l?.phase;if(!i||i==="enter"||i==="appear"||i==="active"){let r=l?.name||l?.activeName||l?.path||l?.pathname||s.kind;t.length===1&&e.events.length===1?e.label=`${s.kind}: ${r}`:(e={label:`${s.kind}: ${r}`,events:[],startedAt:s.t},t.push(e))}}return t}async function J(n,t){let e=N(n,{port:t.port,stripBooleanFlags:["--summary","--all","--json","--no-advance","--help","-h","--flow","--noisy"],stripValueFlags:["--since","--kinds","--limit"]});(n.includes("--help")||n.includes("-h"))&&(console.log(`
|
|
3
3
|
sootsim what-happened \u2014 show recent events from the semantic timeline
|
|
4
4
|
|
|
5
5
|
usage:
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
2
|
-
import{d as i}from"./chunk-
|
|
1
|
+
/*! sootsim v0.1.129 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
+
import{d as i}from"./chunk-WA4F3S3O.js";import{d as n}from"./chunk-3QJLWCBD.js";import"./chunk-J4RRVZLG.js";import"./chunk-EP3L4A52.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.129 | (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.129 | (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.129 | (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.129 | (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.129 | (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.129 | (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.129 | (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.129 | (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.129 | (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.129 | (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.129 | (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.129 | (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.129 | (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.129 | (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;
|
|
@@ -2873,23 +2873,27 @@ var HOST_HEADER_OVERRIDES = [
|
|
|
2873
2873
|
headers: {
|
|
2874
2874
|
origin: "https://app.uniswap.org",
|
|
2875
2875
|
referer: "https://app.uniswap.org/"
|
|
2876
|
-
}
|
|
2876
|
+
},
|
|
2877
|
+
// uniswap's native gateway accepts the app origin, but forcing a desktop
|
|
2878
|
+
// browser ua on native api posts returns a bogus 414/tcp-stack response.
|
|
2879
|
+
suppressBrowserUserAgent: true
|
|
2877
2880
|
}
|
|
2878
2881
|
];
|
|
2879
2882
|
function headerOverridesFor(hostname) {
|
|
2880
2883
|
const host = hostname.toLowerCase();
|
|
2881
2884
|
for (const override of HOST_HEADER_OVERRIDES) {
|
|
2882
2885
|
if (host === override.hostSuffix || host.endsWith(`.${override.hostSuffix}`)) {
|
|
2883
|
-
return override
|
|
2886
|
+
return override;
|
|
2884
2887
|
}
|
|
2885
2888
|
}
|
|
2886
|
-
return
|
|
2889
|
+
return void 0;
|
|
2887
2890
|
}
|
|
2888
2891
|
function getFetchProxyTargetHeaders(targetUrl) {
|
|
2892
|
+
const hostOverrides = headerOverridesFor(targetUrl.hostname);
|
|
2889
2893
|
return {
|
|
2890
2894
|
"accept-encoding": "identity",
|
|
2891
|
-
"user-agent": FETCH_PROXY_BROWSER_USER_AGENT,
|
|
2892
|
-
...
|
|
2895
|
+
...hostOverrides?.suppressBrowserUserAgent ? {} : { "user-agent": FETCH_PROXY_BROWSER_USER_AGENT },
|
|
2896
|
+
...hostOverrides?.headers
|
|
2893
2897
|
};
|
|
2894
2898
|
}
|
|
2895
2899
|
|
|
@@ -2947,6 +2951,12 @@ function formatFetchProxyError(targetUrl, err) {
|
|
|
2947
2951
|
}
|
|
2948
2952
|
return message;
|
|
2949
2953
|
}
|
|
2954
|
+
function isTextProxyContentType(contentType) {
|
|
2955
|
+
const value = Array.isArray(contentType) ? contentType[0] : contentType;
|
|
2956
|
+
const normalized = value?.split(";", 1)[0]?.trim().toLowerCase();
|
|
2957
|
+
if (!normalized) return false;
|
|
2958
|
+
return normalized.startsWith("text/") || normalized === "application/json" || normalized.endsWith("+json") || normalized === "application/x-www-form-urlencoded" || normalized === "application/xml" || normalized.endsWith("+xml") || normalized === "application/javascript" || normalized === "application/graphql";
|
|
2959
|
+
}
|
|
2950
2960
|
function buildFetchProxyHeaders(reqHeaders, targetUrl) {
|
|
2951
2961
|
const headers = {};
|
|
2952
2962
|
for (const [key, value] of Object.entries(reqHeaders)) {
|
|
@@ -3012,7 +3022,10 @@ async function handleFetchProxyRequest(req, res) {
|
|
|
3012
3022
|
for await (const chunk of req) {
|
|
3013
3023
|
chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
|
|
3014
3024
|
}
|
|
3015
|
-
if (chunks.length > 0)
|
|
3025
|
+
if (chunks.length > 0) {
|
|
3026
|
+
const bytes = Buffer.concat(chunks);
|
|
3027
|
+
body = isTextProxyContentType(req.headers["content-type"]) ? bytes.toString("utf8") : bytes;
|
|
3028
|
+
}
|
|
3016
3029
|
}
|
|
3017
3030
|
let upstream;
|
|
3018
3031
|
try {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.129 | (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;
|
|
@@ -51,23 +51,27 @@ var HOST_HEADER_OVERRIDES = [
|
|
|
51
51
|
headers: {
|
|
52
52
|
origin: "https://app.uniswap.org",
|
|
53
53
|
referer: "https://app.uniswap.org/"
|
|
54
|
-
}
|
|
54
|
+
},
|
|
55
|
+
// uniswap's native gateway accepts the app origin, but forcing a desktop
|
|
56
|
+
// browser ua on native api posts returns a bogus 414/tcp-stack response.
|
|
57
|
+
suppressBrowserUserAgent: true
|
|
55
58
|
}
|
|
56
59
|
];
|
|
57
60
|
function headerOverridesFor(hostname) {
|
|
58
61
|
const host = hostname.toLowerCase();
|
|
59
62
|
for (const override of HOST_HEADER_OVERRIDES) {
|
|
60
63
|
if (host === override.hostSuffix || host.endsWith(`.${override.hostSuffix}`)) {
|
|
61
|
-
return override
|
|
64
|
+
return override;
|
|
62
65
|
}
|
|
63
66
|
}
|
|
64
|
-
return
|
|
67
|
+
return void 0;
|
|
65
68
|
}
|
|
66
69
|
function getFetchProxyTargetHeaders(targetUrl) {
|
|
70
|
+
const hostOverrides = headerOverridesFor(targetUrl.hostname);
|
|
67
71
|
return {
|
|
68
72
|
"accept-encoding": "identity",
|
|
69
|
-
"user-agent": FETCH_PROXY_BROWSER_USER_AGENT,
|
|
70
|
-
...
|
|
73
|
+
...hostOverrides?.suppressBrowserUserAgent ? {} : { "user-agent": FETCH_PROXY_BROWSER_USER_AGENT },
|
|
74
|
+
...hostOverrides?.headers
|
|
71
75
|
};
|
|
72
76
|
}
|
|
73
77
|
|
|
@@ -125,6 +129,12 @@ function formatFetchProxyError(targetUrl, err) {
|
|
|
125
129
|
}
|
|
126
130
|
return message;
|
|
127
131
|
}
|
|
132
|
+
function isTextProxyContentType(contentType) {
|
|
133
|
+
const value = Array.isArray(contentType) ? contentType[0] : contentType;
|
|
134
|
+
const normalized = value?.split(";", 1)[0]?.trim().toLowerCase();
|
|
135
|
+
if (!normalized) return false;
|
|
136
|
+
return normalized.startsWith("text/") || normalized === "application/json" || normalized.endsWith("+json") || normalized === "application/x-www-form-urlencoded" || normalized === "application/xml" || normalized.endsWith("+xml") || normalized === "application/javascript" || normalized === "application/graphql";
|
|
137
|
+
}
|
|
128
138
|
function buildFetchProxyHeaders(reqHeaders, targetUrl) {
|
|
129
139
|
const headers = {};
|
|
130
140
|
for (const [key, value] of Object.entries(reqHeaders)) {
|
|
@@ -190,7 +200,10 @@ async function handleFetchProxyRequest(req, res) {
|
|
|
190
200
|
for await (const chunk of req) {
|
|
191
201
|
chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
|
|
192
202
|
}
|
|
193
|
-
if (chunks.length > 0)
|
|
203
|
+
if (chunks.length > 0) {
|
|
204
|
+
const bytes = Buffer.concat(chunks);
|
|
205
|
+
body = isTextProxyContentType(req.headers["content-type"]) ? bytes.toString("utf8") : bytes;
|
|
206
|
+
}
|
|
194
207
|
}
|
|
195
208
|
let upstream;
|
|
196
209
|
try {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.129 | (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;
|
|
@@ -33,23 +33,27 @@ var HOST_HEADER_OVERRIDES = [
|
|
|
33
33
|
headers: {
|
|
34
34
|
origin: "https://app.uniswap.org",
|
|
35
35
|
referer: "https://app.uniswap.org/"
|
|
36
|
-
}
|
|
36
|
+
},
|
|
37
|
+
// uniswap's native gateway accepts the app origin, but forcing a desktop
|
|
38
|
+
// browser ua on native api posts returns a bogus 414/tcp-stack response.
|
|
39
|
+
suppressBrowserUserAgent: true
|
|
37
40
|
}
|
|
38
41
|
];
|
|
39
42
|
function headerOverridesFor(hostname) {
|
|
40
43
|
const host = hostname.toLowerCase();
|
|
41
44
|
for (const override of HOST_HEADER_OVERRIDES) {
|
|
42
45
|
if (host === override.hostSuffix || host.endsWith(`.${override.hostSuffix}`)) {
|
|
43
|
-
return override
|
|
46
|
+
return override;
|
|
44
47
|
}
|
|
45
48
|
}
|
|
46
|
-
return
|
|
49
|
+
return void 0;
|
|
47
50
|
}
|
|
48
51
|
function getFetchProxyTargetHeaders(targetUrl) {
|
|
52
|
+
const hostOverrides = headerOverridesFor(targetUrl.hostname);
|
|
49
53
|
return {
|
|
50
54
|
"accept-encoding": "identity",
|
|
51
|
-
"user-agent": FETCH_PROXY_BROWSER_USER_AGENT,
|
|
52
|
-
...
|
|
55
|
+
...hostOverrides?.suppressBrowserUserAgent ? {} : { "user-agent": FETCH_PROXY_BROWSER_USER_AGENT },
|
|
56
|
+
...hostOverrides?.headers
|
|
53
57
|
};
|
|
54
58
|
}
|
|
55
59
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.129 | (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";
|
|
@@ -8,23 +8,27 @@ var HOST_HEADER_OVERRIDES = [
|
|
|
8
8
|
headers: {
|
|
9
9
|
origin: "https://app.uniswap.org",
|
|
10
10
|
referer: "https://app.uniswap.org/"
|
|
11
|
-
}
|
|
11
|
+
},
|
|
12
|
+
// uniswap's native gateway accepts the app origin, but forcing a desktop
|
|
13
|
+
// browser ua on native api posts returns a bogus 414/tcp-stack response.
|
|
14
|
+
suppressBrowserUserAgent: true
|
|
12
15
|
}
|
|
13
16
|
];
|
|
14
17
|
function headerOverridesFor(hostname) {
|
|
15
18
|
const host = hostname.toLowerCase();
|
|
16
19
|
for (const override of HOST_HEADER_OVERRIDES) {
|
|
17
20
|
if (host === override.hostSuffix || host.endsWith(`.${override.hostSuffix}`)) {
|
|
18
|
-
return override
|
|
21
|
+
return override;
|
|
19
22
|
}
|
|
20
23
|
}
|
|
21
|
-
return
|
|
24
|
+
return void 0;
|
|
22
25
|
}
|
|
23
26
|
function getFetchProxyTargetHeaders(targetUrl) {
|
|
27
|
+
const hostOverrides = headerOverridesFor(targetUrl.hostname);
|
|
24
28
|
return {
|
|
25
29
|
"accept-encoding": "identity",
|
|
26
|
-
"user-agent": FETCH_PROXY_BROWSER_USER_AGENT,
|
|
27
|
-
...
|
|
30
|
+
...hostOverrides?.suppressBrowserUserAgent ? {} : { "user-agent": FETCH_PROXY_BROWSER_USER_AGENT },
|
|
31
|
+
...hostOverrides?.headers
|
|
28
32
|
};
|
|
29
33
|
}
|
|
30
34
|
export {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.129 | (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.129 | (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.129 | (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.129 | (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.129 | (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.129 | (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.129 | (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.129 | (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;
|
|
@@ -70,6 +70,7 @@ __export(sdk_exports, {
|
|
|
70
70
|
isTapSuccess: () => isTapSuccess,
|
|
71
71
|
rankInteractive: () => rankInteractive,
|
|
72
72
|
readyProbeHasContent: () => readyProbeHasContent,
|
|
73
|
+
readyProbeHasTargetContent: () => readyProbeHasTargetContent,
|
|
73
74
|
resolveFindMode: () => resolveFindMode,
|
|
74
75
|
resolveMaxMsFlag: () => resolveMaxMsFlag,
|
|
75
76
|
scoreInteractive: () => scoreInteractive,
|
|
@@ -253,6 +254,39 @@ var LAYOUT_GET_NATIVE_EVAL = `(async () => {
|
|
|
253
254
|
const n = typeof raw === 'number' ? raw : (typeof raw === 'string' ? parseFloat(raw) : NaN)
|
|
254
255
|
return Number.isFinite(n) ? Math.round(n) : 0
|
|
255
256
|
}
|
|
257
|
+
// styling extractors \u2014 omit boring defaults so the agent only sees notable
|
|
258
|
+
// styling (low opacity, struck text, clipping, a real border/color).
|
|
259
|
+
const colorStr = (v) => {
|
|
260
|
+
if (v == null) return undefined
|
|
261
|
+
const s = String(v).split(' ').join('')
|
|
262
|
+
return s && s !== 'transparent' && s !== 'rgba(0,0,0,0)' ? s : undefined
|
|
263
|
+
}
|
|
264
|
+
const opacityOf = (style) => {
|
|
265
|
+
const o = style && style.opacity
|
|
266
|
+
const n = typeof o === 'number' ? o : (typeof o === 'string' ? parseFloat(o) : NaN)
|
|
267
|
+
return Number.isFinite(n) && n < 1 ? Math.round(n * 100) / 100 : undefined
|
|
268
|
+
}
|
|
269
|
+
const weightOf = (style) => {
|
|
270
|
+
const w = style && style.fontWeight
|
|
271
|
+
const n = typeof w === 'number' ? w : (typeof w === 'string' ? parseInt(w, 10) : NaN)
|
|
272
|
+
return Number.isFinite(n) && n >= 600 ? n : undefined
|
|
273
|
+
}
|
|
274
|
+
const decoOf = (style) => {
|
|
275
|
+
const d = style && (style.textDecorationLine || style.textDecoration)
|
|
276
|
+
return d && d !== 'none' && d !== 'normal' ? String(d).split(' ')[0] : undefined
|
|
277
|
+
}
|
|
278
|
+
const overflowOf = (style) => (style && style.overflow === 'hidden' ? 'hidden' : undefined)
|
|
279
|
+
const borderWOf = (style) => {
|
|
280
|
+
if (!style) return undefined
|
|
281
|
+
const keys = ['borderWidth','borderTopWidth','borderBottomWidth','borderLeftWidth','borderRightWidth']
|
|
282
|
+
let max = 0
|
|
283
|
+
for (const k of keys) {
|
|
284
|
+
const r = style[k]
|
|
285
|
+
const n = typeof r === 'number' ? r : (typeof r === 'string' ? parseFloat(r) : NaN)
|
|
286
|
+
if (Number.isFinite(n)) max = Math.max(max, n)
|
|
287
|
+
}
|
|
288
|
+
return max > 0 ? Math.round(max) : undefined
|
|
289
|
+
}
|
|
256
290
|
|
|
257
291
|
const isVisible = (n) => {
|
|
258
292
|
const layout = n && n.layout
|
|
@@ -283,6 +317,13 @@ var LAYOUT_GET_NATIVE_EVAL = `(async () => {
|
|
|
283
317
|
borderRadius: radiusOf(style),
|
|
284
318
|
padding: { t: round(pad.top), r: round(pad.right), b: round(pad.bottom), l: round(pad.left) },
|
|
285
319
|
fontSize: fontSizeOf(style),
|
|
320
|
+
color: text ? colorStr(style.color) : undefined,
|
|
321
|
+
bg: colorStr(style.backgroundColor),
|
|
322
|
+
opacity: opacityOf(style),
|
|
323
|
+
fontWeight: weightOf(style),
|
|
324
|
+
textDecoration: decoOf(style),
|
|
325
|
+
overflow: overflowOf(style),
|
|
326
|
+
borderWidth: borderWOf(style),
|
|
286
327
|
}
|
|
287
328
|
})
|
|
288
329
|
})()`;
|
|
@@ -290,7 +331,7 @@ async function inspectGetLayout(bridge) {
|
|
|
290
331
|
const raw = await bridge.send({ type: "evaluate", code: LAYOUT_GET_NATIVE_EVAL });
|
|
291
332
|
return Array.isArray(raw) ? raw : [];
|
|
292
333
|
}
|
|
293
|
-
function formatLayoutElements(elements) {
|
|
334
|
+
function formatLayoutElements(elements, opts) {
|
|
294
335
|
if (elements.length === 0) return " no visible elements found";
|
|
295
336
|
const lines = elements.map((el) => {
|
|
296
337
|
const ident = el.testID ? `#${el.testID}` : el.selector ? el.selector : el.role ? `[${el.role}]` : `<${el.type}>`;
|
|
@@ -302,6 +343,15 @@ function formatLayoutElements(elements) {
|
|
|
302
343
|
parts.push(uniform ? `pad:${p.t}` : `pad:${p.t},${p.r},${p.b},${p.l}`);
|
|
303
344
|
}
|
|
304
345
|
if (el.fontSize > 0) parts.push(`font:${el.fontSize}`);
|
|
346
|
+
if (opts?.styling) {
|
|
347
|
+
if (el.fontWeight) parts.push(`weight:${el.fontWeight}`);
|
|
348
|
+
if (el.color) parts.push(`color:${el.color}`);
|
|
349
|
+
if (el.bg) parts.push(`bg:${el.bg}`);
|
|
350
|
+
if (el.opacity != null) parts.push(`opacity:${el.opacity}`);
|
|
351
|
+
if (el.textDecoration) parts.push(`deco:${el.textDecoration}`);
|
|
352
|
+
if (el.overflow) parts.push(`overflow:${el.overflow}`);
|
|
353
|
+
if (el.borderWidth) parts.push(`border:${el.borderWidth}`);
|
|
354
|
+
}
|
|
305
355
|
if (el.text) {
|
|
306
356
|
const text = el.text.length > 40 ? `${el.text.slice(0, 39)}\u2026` : el.text;
|
|
307
357
|
parts.push(`"${text}"`);
|
|
@@ -686,8 +736,11 @@ var WAIT_READY_PROGRESS_INTERVAL_MS = 2e3;
|
|
|
686
736
|
function readyProbeHasContent(probe) {
|
|
687
737
|
return probe.targets > 0 || probe.nodes >= READY_CONTENT_NODE_FLOOR;
|
|
688
738
|
}
|
|
739
|
+
function readyProbeHasTargetContent(probe) {
|
|
740
|
+
return probe.targets > 0;
|
|
741
|
+
}
|
|
689
742
|
function waitReadyReason(status) {
|
|
690
|
-
return status.externalError ? `guest app errored: ${status.externalError}` : status.loadingText ? `still showing "${status.loadingText}"` : status.externalReady === false ? "guest app is still loading" : status.flag !== true ? "guest app has not emitted sootsim:externalAppReady" : status.targets <= 0 ? "ready flag emitted but no visible app content is inspectable yet" : "node tree is still changing";
|
|
743
|
+
return status.externalError ? `guest app errored: ${status.externalError}` : status.loadingText ? `still showing "${status.loadingText}"` : status.externalReady === false ? "guest app is still loading" : status.flag !== true && status.targets > 0 ? "native content is rendered but the ready signal has not settled" : status.flag !== true ? "guest app has not emitted sootsim:externalAppReady" : status.targets <= 0 ? "ready flag emitted but no visible app content is inspectable yet" : "node tree is still changing";
|
|
691
744
|
}
|
|
692
745
|
async function inspectWaitReady(bridge, timeoutMs = 2e4, options = {}) {
|
|
693
746
|
const start = Date.now();
|
|
@@ -729,14 +782,14 @@ async function inspectWaitReady(bridge, timeoutMs = 2e4, options = {}) {
|
|
|
729
782
|
lastNodes = last.nodes;
|
|
730
783
|
nodeStableSince = now;
|
|
731
784
|
}
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
}
|
|
785
|
+
const hasReadySignal = last.flag === true && readyProbeHasContent(last);
|
|
786
|
+
const hasRenderedContentWithoutReadySignal = last.flag !== true && readyProbeHasTargetContent(last);
|
|
787
|
+
if ((hasReadySignal || hasRenderedContentWithoutReadySignal) && last.externalReady !== false && !last.externalError && !last.loadingText) {
|
|
788
|
+
if (now - nodeStableSince >= READY_NODE_STABLE_MS) {
|
|
789
|
+
return {
|
|
790
|
+
...status,
|
|
791
|
+
ready: true
|
|
792
|
+
};
|
|
740
793
|
}
|
|
741
794
|
}
|
|
742
795
|
if (options.onProgress && progressIntervalMs > 0 && now >= nextProgressAt) {
|
|
@@ -1731,6 +1784,7 @@ async function tapBest(bridge, query, opts = {}) {
|
|
|
1731
1784
|
isTapSuccess,
|
|
1732
1785
|
rankInteractive,
|
|
1733
1786
|
readyProbeHasContent,
|
|
1787
|
+
readyProbeHasTargetContent,
|
|
1734
1788
|
resolveFindMode,
|
|
1735
1789
|
resolveMaxMsFlag,
|
|
1736
1790
|
scoreInteractive,
|