sootsim 0.1.115 → 0.1.116
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-R3CYHNIF.js → agent-WV6WCHTJ.js} +2 -2
- package/dist-cli/chunks/{agent-wrapper-TRRE2GH5.js → agent-wrapper-4TU55OCB.js} +2 -2
- package/dist-cli/chunks/app-fonts-EYYFNW4Y.js +2 -0
- package/dist-cli/chunks/{assert-MRSNTOEC.js → assert-Z2HTYKKS.js} +2 -2
- package/dist-cli/chunks/auto-bootstrap-2MI3WM35.js +2 -0
- package/dist-cli/chunks/beta-JTKCTPIB.js +2 -0
- package/dist-cli/chunks/{chunk-ZPJDADTZ.js → chunk-2FPVNPQX.js} +2 -2
- package/dist-cli/chunks/{chunk-XO3XTPFR.js → chunk-2GK4QFYY.js} +1 -1
- package/dist-cli/chunks/{chunk-XMVEHJSM.js → chunk-2NXGJX4I.js} +2 -2
- package/dist-cli/chunks/{chunk-AJYQJMAY.js → chunk-2WEDEGRE.js} +2 -2
- package/dist-cli/chunks/{chunk-GUDD5CIA.js → chunk-3BA2DULW.js} +2 -2
- package/dist-cli/chunks/chunk-3BMXA7E5.js +2 -0
- package/dist-cli/chunks/{chunk-77VIOTR7.js → chunk-3NBDRPPA.js} +2 -2
- package/dist-cli/chunks/chunk-5NYNX5ZH.js +1 -0
- package/dist-cli/chunks/{chunk-NXAESORG.js → chunk-6LLX4IP2.js} +2 -2
- package/dist-cli/chunks/{chunk-3PUOG2KU.js → chunk-A5PWMAP6.js} +2 -2
- package/dist-cli/chunks/{chunk-HAFZOF63.js → chunk-CF2NLFCE.js} +3 -3
- package/dist-cli/chunks/{chunk-GG5MTRXC.js → chunk-EGSX5AZL.js} +1 -1
- package/dist-cli/chunks/chunk-EIT5CCCB.js +2 -0
- package/dist-cli/chunks/{chunk-CUHTXNJW.js → chunk-F7MTSWBT.js} +1 -1
- package/dist-cli/chunks/{chunk-F46PTRLM.js → chunk-IFIHFX7W.js} +2 -2
- package/dist-cli/chunks/{chunk-XRBI3TG2.js → chunk-ILTVVSKF.js} +2 -2
- package/dist-cli/chunks/{chunk-47VNJGW7.js → chunk-IOPC7PW6.js} +3 -3
- package/dist-cli/chunks/{chunk-SRXOV4BJ.js → chunk-IVDR4XBB.js} +2 -2
- package/dist-cli/chunks/{chunk-SPVHYFZ3.js → chunk-JABALVGX.js} +1 -1
- package/dist-cli/chunks/{chunk-W646EQFP.js → chunk-K3CSFD7E.js} +2 -2
- package/dist-cli/chunks/{chunk-UDQHDFZW.js → chunk-KLZ4MRUY.js} +2 -2
- package/dist-cli/chunks/{chunk-UNRBTUAA.js → chunk-KM62IK6A.js} +1 -1
- package/dist-cli/chunks/{chunk-5SL6CP7Y.js → chunk-L6W2YAPB.js} +1 -1
- package/dist-cli/chunks/{chunk-DACZHUK2.js → chunk-LM56R3X3.js} +1 -1
- package/dist-cli/chunks/{chunk-YTJONQGT.js → chunk-M6LM4I6R.js} +3 -3
- package/dist-cli/chunks/{chunk-IWC4SYEG.js → chunk-M7H6JMKX.js} +1 -1
- package/dist-cli/chunks/{chunk-TMR6MW5W.js → chunk-MJCOST65.js} +1 -1
- package/dist-cli/chunks/chunk-O4EREWY3.js +79 -0
- package/dist-cli/chunks/{chunk-YBAX43B5.js → chunk-OLBETRKS.js} +1 -1
- package/dist-cli/chunks/{chunk-OK2FCYQN.js → chunk-PKJ2EK32.js} +2 -2
- package/dist-cli/chunks/{chunk-ML5LV4WM.js → chunk-QL637LUO.js} +1 -1
- package/dist-cli/chunks/{chunk-E53Y4O7H.js → chunk-RHWXXR7H.js} +1 -1
- package/dist-cli/chunks/{chunk-HU2K2HVE.js → chunk-S3NCFIBU.js} +2 -2
- package/dist-cli/chunks/{chunk-X35ALXTD.js → chunk-SFKWGTIQ.js} +2 -2
- package/dist-cli/chunks/{chunk-D6PRIVLD.js → chunk-UJYDFG5V.js} +2 -2
- package/dist-cli/chunks/{chunk-GW5TVVRV.js → chunk-UM2VWBIG.js} +2 -2
- package/dist-cli/chunks/{chunk-PEP5GKW7.js → chunk-VSXRW6FG.js} +2 -2
- package/dist-cli/chunks/chunk-VWWYCVEG.js +1 -0
- package/dist-cli/chunks/{chunk-ICZSY2XS.js → chunk-WBLVLBUI.js} +2 -2
- package/dist-cli/chunks/{chunk-WNIVVJR7.js → chunk-WVH2KWLF.js} +2 -2
- package/dist-cli/chunks/chunk-Y4SCCICL.js +1 -0
- package/dist-cli/chunks/{chunk-Q3BVLSSD.js → chunk-YFUJIJ7V.js} +2 -2
- package/dist-cli/chunks/{chunk-SLSNMSD7.js → chunk-YLQMTJJ2.js} +1 -1
- package/dist-cli/chunks/{chunk-HYR63F7Z.js → chunk-ZH27TU57.js} +1 -1
- package/dist-cli/chunks/cli-version-J2YG2HII.js +2 -0
- package/dist-cli/chunks/{compat-4ZDISC6K.js → compat-K4Q7O2N2.js} +3 -3
- package/dist-cli/chunks/{config-IWM4VJ6H.js → config-6TM2PDZK.js} +2 -2
- package/dist-cli/chunks/control-UK75FCAV.js +2 -0
- package/dist-cli/chunks/{cpu-profile-RPY4UFNI.js → cpu-profile-TY4LD5YP.js} +2 -2
- package/dist-cli/chunks/{daemon-SL3D6Q4P.js → daemon-7DAOXF72.js} +2 -2
- package/dist-cli/chunks/{debug-WYNMZ7CT.js → debug-BYGBMNSM.js} +3 -3
- package/dist-cli/chunks/{detox-RMLUYFYI.js → detox-OXHAKWOY.js} +2 -2
- package/dist-cli/chunks/{device-TYY7VA57.js → device-FP7R45CT.js} +2 -2
- package/dist-cli/chunks/{diagnose-7CXKCUT4.js → diagnose-WEG5LXGV.js} +2 -2
- package/dist-cli/chunks/drivers-UMRDCOCL.js +2 -0
- package/dist-cli/chunks/{electron-IKCSDHAV.js → electron-GM2O34IG.js} +3 -3
- package/dist-cli/chunks/flow-KVC376X4.js +2 -0
- package/dist-cli/chunks/help-WUZBAP4X.js +2 -0
- package/dist-cli/chunks/{hints-YHYKK5HQ.js → hints-SL27OTZ3.js} +2 -2
- package/dist-cli/chunks/{home-paths-OLHYRKN5.js → home-paths-2YHGKVMS.js} +2 -2
- package/dist-cli/chunks/{inspect-INJGRQD3.js → inspect-FBVWPKTH.js} +3 -3
- package/dist-cli/chunks/install-F4JDY7JG.js +2 -0
- package/dist-cli/chunks/{install-desktop-FQS3WZ6W.js → install-desktop-PNDQQ4M5.js} +3 -3
- package/dist-cli/chunks/{keys-JUYFKZD7.js → keys-23MX4DTK.js} +2 -2
- package/dist-cli/chunks/{launch-XW5OSSNC.js → launch-KNSATHKL.js} +3 -3
- package/dist-cli/chunks/{login-QSZQPSEA.js → login-R64EKPZT.js} +4 -4
- package/dist-cli/chunks/{logout-2YSS6D65.js → logout-SAVYDKEN.js} +2 -2
- package/dist-cli/chunks/{maestro-UG6C6KQ6.js → maestro-S6AOB67P.js} +2 -2
- package/dist-cli/chunks/{preview-4TH2YLNR.js → preview-BW3FGVWO.js} +2 -2
- package/dist-cli/chunks/{profile-63R3YOCR.js → profile-BZKTQE54.js} +2 -2
- package/dist-cli/chunks/{react-FMPGSG3A.js → react-MJ52SMWR.js} +2 -2
- package/dist-cli/chunks/{record-F64J66JH.js → record-KMCM2HLO.js} +2 -2
- package/dist-cli/chunks/runtime-WIFNIIZN.js +2 -0
- package/dist-cli/chunks/{runtime-delivery-HJPB7EEU.js → runtime-delivery-33ZWNPPY.js} +2 -2
- package/dist-cli/chunks/{screenshot-OF6QEH6B.js → screenshot-GV76A576.js} +2 -2
- package/dist-cli/chunks/{screenshot-mode-BIZP42HF.js → screenshot-mode-5RIU5MVN.js} +2 -2
- package/dist-cli/chunks/{screenshots-DKAYDLK5.js → screenshots-Q5GFBYRH.js} +2 -2
- package/dist-cli/chunks/{server-ETFFUJ5R.js → server-7FZEUW4L.js} +2 -2
- package/dist-cli/chunks/setup-repo-23EYWWYZ.js +2 -0
- package/dist-cli/chunks/{skills-H2OPZZLC.js → skills-CJXWOYNR.js} +2 -2
- package/dist-cli/chunks/{start-OI245IG4.js → start-JUJVUWJU.js} +4 -4
- package/dist-cli/chunks/store-YFRZIITG.js +2 -0
- package/dist-cli/chunks/telemetry-PE6J23LC.js +2 -0
- package/dist-cli/chunks/{test-HE6RK2ZX.js → test-EARK6BBK.js} +3 -3
- package/dist-cli/chunks/{three-mode-K2NTAVQP.js → three-mode-MLVDVOUS.js} +2 -2
- package/dist-cli/chunks/{timeline-3DBCJWKF.js → timeline-ZDPVHTHY.js} +2 -2
- package/dist-cli/chunks/{upgrade-7YLEP6ED.js → upgrade-KTOJKXGS.js} +2 -2
- package/dist-cli/chunks/upload-KXKGRYFW.js +2 -0
- package/dist-cli/chunks/{web-BWUYH3SK.js → web-GHXT65TL.js} +2 -2
- package/dist-cli/chunks/{what-happened-VDTCMZNP.js → what-happened-RIPJFAXG.js} +2 -2
- package/dist-cli/chunks/{whoami-2ZOUZSB3.js → whoami-2MU2O3RN.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 +1 -1
- package/dist-lib/sdk.mjs +1 -1
- package/dist-lib/skills.cjs +3 -2
- package/dist-lib/vite.cjs +1 -1
- package/package.json +1 -1
- package/dist-cli/chunks/auto-bootstrap-7ABTFLLR.js +0 -2
- package/dist-cli/chunks/beta-ZJYYZEFR.js +0 -2
- package/dist-cli/chunks/chunk-BZTJFTU2.js +0 -1
- package/dist-cli/chunks/chunk-F4LJC2WB.js +0 -1
- package/dist-cli/chunks/chunk-Q4SUC2SN.js +0 -79
- package/dist-cli/chunks/chunk-TF5LTELW.js +0 -2
- package/dist-cli/chunks/chunk-V2SPOLQA.js +0 -1
- package/dist-cli/chunks/chunk-VSKAOUZ5.js +0 -2
- package/dist-cli/chunks/cli-version-RIP4ZUNM.js +0 -2
- package/dist-cli/chunks/control-FSKX3J4O.js +0 -2
- package/dist-cli/chunks/drivers-OIAGQOCX.js +0 -2
- package/dist-cli/chunks/flow-ZIV2ISC2.js +0 -2
- package/dist-cli/chunks/help-RUILKRB4.js +0 -2
- package/dist-cli/chunks/install-BRAHILXG.js +0 -2
- package/dist-cli/chunks/runtime-NE4NMW4R.js +0 -2
- package/dist-cli/chunks/setup-repo-JE25CERB.js +0 -2
- package/dist-cli/chunks/store-2H5T4NFZ.js +0 -2
- package/dist-cli/chunks/telemetry-USTW2NVP.js +0 -2
- package/dist-cli/chunks/upload-T3AYMH27.js +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
2
|
-
import{A as y,L as x,y as F,z as T}from"./chunk-
|
|
1
|
+
/*! sootsim v0.1.116 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
+
import{A as y,L as x,y as F,z as T}from"./chunk-YLQMTJJ2.js";import{c as S,e as N}from"./chunk-YFUJIJ7V.js";import{b as k}from"./chunk-JABALVGX.js";import"./chunk-QL637LUO.js";import"./chunk-KM62IK6A.js";import"./chunk-RHWXXR7H.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.116 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
+
import{d as i}from"./chunk-UJYDFG5V.js";import{d as n}from"./chunk-2FPVNPQX.js";import"./chunk-KM62IK6A.js";import"./chunk-RHWXXR7H.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.116 | (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.116 | (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.116 | (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.116 | (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.116 | (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.116 | (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.116 | (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.116 | (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.116 | (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.116 | (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.116 | (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.116 | (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.116 | (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.116 | (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.116 | (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.116 | (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.116 | (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.116 | (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.116 | (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.116 | (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.116 | (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.116 | (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.116 | (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.116 | (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.116 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __defProp = Object.defineProperty;
|
package/dist-lib/sdk.mjs
CHANGED
package/dist-lib/skills.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.116 | (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;
|
|
@@ -16058,11 +16058,12 @@ async function resolveDefaultUploadOrigin(explicitOrigin) {
|
|
|
16058
16058
|
}
|
|
16059
16059
|
return REMOTE_DEFAULT_ORIGIN;
|
|
16060
16060
|
}
|
|
16061
|
-
var import_compress, import_presigned_upload, REMOTE_DEFAULT_ORIGIN, REMOTE_DEFAULT_PUBLIC_PREVIEW_ORIGIN, LOCAL_DEFAULT_ORIGIN, LOCAL_UPLOAD_PROBE_TIMEOUT_MS;
|
|
16061
|
+
var import_compress, import_compress_node, import_presigned_upload, REMOTE_DEFAULT_ORIGIN, REMOTE_DEFAULT_PUBLIC_PREVIEW_ORIGIN, LOCAL_DEFAULT_ORIGIN, LOCAL_UPLOAD_PROBE_TIMEOUT_MS;
|
|
16062
16062
|
var init_upload = __esm({
|
|
16063
16063
|
"cli/commands/upload.ts"() {
|
|
16064
16064
|
"use strict";
|
|
16065
16065
|
import_compress = require("sootsim-engine/preview/compress");
|
|
16066
|
+
import_compress_node = require("sootsim-engine/preview/compress-node");
|
|
16066
16067
|
import_presigned_upload = require("sootsim-engine/preview/presigned-upload");
|
|
16067
16068
|
init_shared_session();
|
|
16068
16069
|
init_app_fonts();
|
package/dist-lib/vite.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
1
|
+
/*! sootsim v0.1.116 | (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.115 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a,b,c,d}from"./chunk-47VNJGW7.js";import"./chunk-Q3BVLSSD.js";import"./chunk-SPVHYFZ3.js";import"./chunk-ML5LV4WM.js";import"./chunk-UNRBTUAA.js";import"./chunk-E53Y4O7H.js";export{c as ensureDaemonRunning,a as ensureRuntimeInstalled,d as ensureSootsimReady,b as resolveBootstrapPort};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.115 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.115 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.115 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{d as de,e as pe,f as fe}from"./chunk-D6PRIVLD.js";import{c as ue}from"./chunk-TF5LTELW.js";import{c as le,e as ce,g as I}from"./chunk-Q3BVLSSD.js";import{d as ae}from"./chunk-IWC4SYEG.js";import{a as ie,b as P}from"./chunk-NXAESORG.js";import{a as se}from"./chunk-ZPJDADTZ.js";import{createHash as ye}from"crypto";import{readFileSync as K}from"fs";import{brotliCompressSync as Ae,constants as ze,gzipSync as Me}from"zlib";function ge(e){let t=(e||"").toLowerCase().split(";")[0].trim();return t?!(t.startsWith("image/")||t.startsWith("video/")||t.startsWith("audio/")||t==="font/woff2"||t==="application/font-woff2"||t==="application/zip"||t==="application/gzip"):!0}function G(e,t){let r=new AbortController,o=setTimeout(()=>r.abort(new Error(`${t} timed out after ${e/1e3}s`)),e);return{signal:r.signal,cancel:()=>clearTimeout(o)}}async function Le(e){let t=G(12e4,`PUT ${e.url}`),r;try{r=await fetch(e.url,{method:"PUT",headers:{"content-type":e.contentType},body:e.bytes,signal:t.signal})}finally{t.cancel()}if(!r.ok){let o=await r.text().catch(()=>"");throw new Error(`PUT ${e.url} failed ${r.status}: ${o.slice(0,200)}`)}}async function ke(e,t=8,r){let o=0,s=0,a=e.length;await Promise.all(Array.from({length:Math.min(t,a)},async()=>{for(;o<a;){let c=e[o++];await Le(c),s++,r?.(s,a)}}))}function Ee(e,t,r,o){let s=[];s.push({url:e.bundle.putUrl,contentType:e.bundle.contentType,bytes:t});for(let a of e.files){let c=r.get(a.urlhash);c&&s.push({url:a.putUrl,contentType:a.contentType,bytes:c})}e.events&&o?.eventsBytes&&s.push({url:e.events.putUrl,contentType:e.events.contentType,bytes:o.eventsBytes}),e.flowVideo&&o?.videoBytes&&s.push({url:e.flowVideo.putUrl,contentType:e.flowVideo.contentType,bytes:o.videoBytes}),e.storage&&o?.storageBytes&&s.push({url:e.storage.putUrl,contentType:e.storage.contentType,bytes:o.storageBytes});for(let a of e.snapshots??[]){let c=o?.snapshotBytes?.get(a.id);c&&s.push({url:a.putUrl,contentType:a.contentType,bytes:c})}return s}function Fe(e){return e.replace(/\/+$/,"")}var A=class extends Error{constructor(r,o,s,a=""){super(r);this.status=o;this.phase=s;this.responseText=a;this.name="PresignedUploadError"}};async function he(e){let t=Fe(e.originBase),r={"content-type":"application/json"};e.authHeader&&(r.authorization=e.authHeader),e.adminBypassToken&&(r["x-soot-admin-upload-bypass"]=e.adminBypassToken);let o=G(3e4,"init"),s;try{s=await fetch(`${t}/api/preview/upload/init`,{method:"POST",headers:r,body:JSON.stringify(e.initBody),signal:o.signal})}finally{o.cancel()}if(!s.ok){let f=await s.text().catch(()=>"");throw new A(`init failed: ${s.status} ${f.slice(0,200)}`,s.status,"init",f)}let a=await s.json(),c=Ee(a,e.bundleBytes,e.filesByHash,e.extras);await ke(c,e.concurrency??8,e.onPutProgress);let y=G(3e4,"finalize"),d;try{d=await fetch(`${t}/api/preview/upload/finalize`,{method:"POST",headers:r,body:JSON.stringify({token:a.token}),signal:y.signal})}finally{y.cancel()}if(!d.ok){let f=await d.text().catch(()=>"");throw new A(`finalize failed: ${d.status} ${f.slice(0,200)}`,d.status,"finalize",f)}let $=await d.json();return{init:a,finalize:$}}function He(e){if(!e)return null;try{let t=JSON.parse(e);return typeof t.message=="string"&&t.message?t.message:null}catch{return null}}var be=process.env.SOOTSIM_UPLOAD_ORIGIN||"https://sootbean.com",ve=process.env.SOOTSIM_PREVIEW_ORIGIN||"https://sootsim.com",Y="http://localhost:3000",Ce=2e3;async function Ne(e){if(e)return e;if(process.env.SOOTSIM_UPLOAD_ORIGIN)return process.env.SOOTSIM_UPLOAD_ORIGIN;try{let t=await fetch(`${Y}/api/preview/upload/init`,{method:"OPTIONS",signal:AbortSignal.timeout(Ce)});if(t.ok||t.status===204||t.status===405)return Y}catch{}return be}function S(e){return e.replace(/\/$/,"")}function We(e){try{let r=new URL(e).hostname.replace(/^\[|\]$/g,"").toLowerCase();return r==="localhost"||r.endsWith(".localhost")||r==="0.0.0.0"||r==="::1"||/^127(?:\.\d{1,3}){3}$/.test(r)}catch{return!1}}function qe(e){try{let t=new URL(e).hostname.toLowerCase();return t==="sootbean.com"||t.endsWith(".sootbean.com")}catch{return!1}}function Ve(e,t){return t?S(t):process.env.SOOTSIM_PREVIEW_ORIGIN?S(process.env.SOOTSIM_PREVIEW_ORIGIN):We(e)?S(e):qe(e)?S(ve):S(e)}function De(){console.log(`
|
|
3
|
-
sootsim upload \u2014 publish the current recorded bundle as a /preview/<id> link
|
|
4
|
-
|
|
5
|
-
usage:
|
|
6
|
-
sootsim upload [--origin <url>] [--public-origin <url>] (--events <path> | --video <path>) [--screenshot <path>] [--owner <org> --repo <repo>] [--sim <sim>] [--open] [--assets-only]
|
|
7
|
-
|
|
8
|
-
options:
|
|
9
|
-
--origin <url> upload target (default: auto)
|
|
10
|
-
prefers ${Y} when available, otherwise
|
|
11
|
-
falls back to ${be}
|
|
12
|
-
override with SOOTSIM_UPLOAD_ORIGIN env var
|
|
13
|
-
--public-origin <url>
|
|
14
|
-
public /preview link origin (default: ${ve}
|
|
15
|
-
for prod uploads, upload origin for localhost/custom origins).
|
|
16
|
-
override with SOOTSIM_PREVIEW_ORIGIN env var
|
|
17
|
-
--events <path> path to a gzipped events .jsonl.gz file to attach
|
|
18
|
-
required unless --video is present; previews must
|
|
19
|
-
have replay or recording playback data
|
|
20
|
-
--screenshot <path>
|
|
21
|
-
path to a PNG thumbnail to attach to the share
|
|
22
|
-
--video <path> path to a webm/mp4/gif flow recording. embedded inline
|
|
23
|
-
in the pr sticky comment served at
|
|
24
|
-
/api/preview/flow-video?id=<share-id>
|
|
25
|
-
--video-duration-ms <ms>
|
|
26
|
-
duration hint for attached flow video
|
|
27
|
-
--owner <org> associate a session upload with a linked org repo
|
|
28
|
-
--repo <repo> repo name for --owner; the signed-in user must belong
|
|
29
|
-
to the local/org team that owns the link
|
|
30
|
-
--sim <sim> target a specific sim (see: sootsim list)
|
|
31
|
-
--open open the resulting /preview/<id> url in the browser
|
|
32
|
-
--assets-only drop API/JSON/HTML records before upload; keep images,
|
|
33
|
-
fonts, css, js, and binary blobs. live-data demos hit
|
|
34
|
-
the real network at replay time instead of serving
|
|
35
|
-
recorded API snapshots
|
|
36
|
-
-h, --help
|
|
37
|
-
|
|
38
|
-
examples:
|
|
39
|
-
sootsim upload --events ./my-session.jsonl.gz
|
|
40
|
-
sootsim upload --origin http://localhost:3000 --events ./my-session.jsonl.gz --open
|
|
41
|
-
sootsim upload --video /tmp/soot-flow.webm --video-duration-ms 12000
|
|
42
|
-
`)}function b(e,t){let r=e.findIndex(s=>s===t);if(r<0)return;let o=e[r+1];return e.splice(r,2),o}function me(e,t){let r=e.findIndex(o=>o===t);return r<0?!1:(e.splice(r,1),!0)}function we(e){let t=(e||"").toLowerCase().split(";")[0].trim();return t?!!(t.startsWith("image/")||t.startsWith("font/")||t.startsWith("video/")||t.startsWith("audio/")||t.startsWith("model/")||t==="text/css"||t==="application/javascript"||t==="text/javascript"||t==="application/wasm"||t==="application/font-woff"||t==="application/font-woff2"||t==="application/octet-stream"):!1}async function j(e){let t=await fetch(e);if(!t.ok)throw new Error(`fetch ${e} -> ${t.status} ${t.statusText}`);return new Uint8Array(await t.arrayBuffer())}function Ge(e){return/\.bundle($|\?)/.test(e)||/\.js($|\?)/.test(e)?"application/javascript":/\.zip($|\?)/.test(e)?"application/zip":"application/javascript"}function Ke(e){try{return new URL(e).searchParams.get("appFonts")||""}catch{return""}}function je(e){let t=(e.split("?")[0].split(".").pop()||"").toLowerCase();return t==="ttf"?"font/ttf":t==="otf"?"font/otf":t==="woff"?"font/woff":t==="woff2"?"font/woff2":"application/octet-stream"}function Je(e){try{let t=new URL(e);return t.searchParams.get("lazy")==="true"?(t.searchParams.set("lazy","false"),t.toString()):e}catch{return e}}async function Ye(e,t){let o=[];for(let s=0;s<t;s+=15e5){let a=Math.min(s+15e5,t),c=await I(e,`(window.__sootsimLastTransformedBundle?.text || "").slice(${s}, ${a})`);if(typeof c!="string")return null;o.push(c)}return o.join("")}function J(e){let t=new Map;for(let r of e)t.set(r.urlhash||r.url,r);return Array.from(t.values())}async function dt(e,t){(e.includes("--help")||e.includes("-h"))&&(De(),process.exit(0));let r=[...e],o=await Ne(b(r,"--origin")),s=Ve(o,b(r,"--public-origin")),a=b(r,"--events"),c=b(r,"--screenshot"),y=b(r,"--video"),d=b(r,"--video-duration-ms"),$=b(r,"--owner"),f=b(r,"--repo"),Ue=me(r,"--open");($&&!f||!$&&f)&&(console.error(" --owner and --repo must be provided together"),process.exit(1)),!a&&!y&&(console.error(" preview uploads require playback data: pass --events or --video.\n for a normal local preview, use `sootsim record --mode combined --open`\n or `sootsim flow --preview` instead of uploading a bundle-only snapshot."),process.exit(1));let Q=me(r,"--assets-only"),Te=le(r,{stripBooleanFlags:[],stripValueFlags:[]}),v=ce(Te),l,X=[],m=[],z=null;try{if(l=await I(v,'(typeof window.__sootsimCaptureBundle === "function") ? window.__sootsimCaptureBundle() : null'),l?.bundleUrl){let n=new URL(l.bundleUrl).origin,[i,T]=await Promise.all([I(v,`(window.__sootsimPreviewRecorder?.list?.(${JSON.stringify(n)}) || [])`),I(v,`(async () => {
|
|
43
|
-
const list = window.__sootsimListWorkerFetchRecorder
|
|
44
|
-
return typeof list === 'function'
|
|
45
|
-
? await list(${JSON.stringify(n)})
|
|
46
|
-
: []
|
|
47
|
-
})()`)]);X=J([...i,...T]).filter(p=>{try{return!new URL(p.url).pathname.startsWith("/api/")}catch{return!0}});let u=await I(v,`(async () => {
|
|
48
|
-
const rec = window.__sootsimPreviewRecorder
|
|
49
|
-
const workerList = window.__sootsimListWorkerFetchRecorder
|
|
50
|
-
return {
|
|
51
|
-
main: rec?.list ? rec.list() : [],
|
|
52
|
-
worker: typeof workerList === 'function' ? await workerList() : [],
|
|
53
|
-
}
|
|
54
|
-
})()`),x=(u?J([...u.main,...u.worker]):[]).filter(p=>{try{return new URL(p.url).origin!==n}catch{return!1}}),B=x.length>0?{count:x.length,totalBytes:x.reduce((p,O)=>p+(O.size||0),0)}:null;if(B&&B.count>0){console.log(` ${B.count} recorded cross-origin responses (${(B.totalBytes/1024).toFixed(1)} KiB)`);let p=await I(v,`(async () => {
|
|
55
|
-
const rec = window.__sootsimPreviewRecorder
|
|
56
|
-
const workerDump = window.__sootsimDumpWorkerFetchRecorder
|
|
57
|
-
const bundleUrl = ${JSON.stringify(l.bundleUrl)}
|
|
58
|
-
const keep = (r) => {
|
|
59
|
-
try {
|
|
60
|
-
const u = new URL(r.url)
|
|
61
|
-
if (u.origin !== ${JSON.stringify(n)}) return true
|
|
62
|
-
// bundle-origin api responses came from the rewritten
|
|
63
|
-
// /__app-api proxy at record time (re-keyed by the
|
|
64
|
-
// recorder's unwrap step). they need bodies attached the
|
|
65
|
-
// same way as cross-origin records \u2014 direct re-fetch from
|
|
66
|
-
// the dev server lacks the bundle's session cookies.
|
|
67
|
-
if (r.url !== bundleUrl && u.pathname.startsWith('/api/')) return true
|
|
68
|
-
return false
|
|
69
|
-
} catch { return false }
|
|
70
|
-
}
|
|
71
|
-
return {
|
|
72
|
-
main: rec?.dump ? rec.dump().filter(keep) : [],
|
|
73
|
-
worker: typeof workerDump === 'function'
|
|
74
|
-
? (await workerDump()).filter(keep)
|
|
75
|
-
: [],
|
|
76
|
-
}
|
|
77
|
-
})()`);if(m=J([...p.main,...p.worker]),Q){let O=m.length;m=m.filter(D=>we(D.contentType));let V=B.totalBytes-m.reduce((D,$e)=>D+($e.size||0),0);console.log(` --assets-only: kept ${m.length}/${O} records (dropped ${(V/1024).toFixed(1)} KiB of API responses)`)}}}l?.transformedBundle&&(z=await Ye(v,l.transformedBundle.byteLength))}finally{v.close()}l||(console.error(" could not read bundle snapshot \u2014 is sootsim running and is the bundle loaded?"),process.exit(2)),l.bundleUrl||(console.error(` no ?bundle= URL on the current sootsim tab.
|
|
78
|
-
open the app you want to share first (e.g. sootsim open 8082), then run upload.`),process.exit(2));let g,M=!1;if(z!==null)g=new TextEncoder().encode(z),M=!0,console.log(` using post-transform bundle: ${(g.byteLength/1024).toFixed(1)} KiB`);else{let n=Je(l.bundleUrl);n!==l.bundleUrl&&console.log(" forcing lazy=false for self-contained bundle"),console.log(` capturing: ${n}`),g=await j(n),console.log(` main bundle: ${(g.byteLength/1024).toFixed(1)} KiB`)}let k=X.filter(n=>n.url!==l.bundleUrl);Q&&(k=k.filter(n=>we(n.contentType))),console.log(` fetching ${k.length} extra files\u2026`);let E=(await Promise.all(k.map(async n=>{try{let i=await j(n.url);return{...n,bytes:i}}catch(i){return console.error(` warning: failed to re-fetch ${n.url}: ${i instanceof Error?i.message:i}`),null}}))).filter(n=>!!n),Be=E.reduce((n,i)=>n+i.bytes.byteLength,0);console.log(` ${E.length} extra files: ${(Be/1024).toFixed(1)} KiB`);let U;a&&(U=K(a));let h;c&&(h=K(c),console.log(` attaching screenshot: ${(h.byteLength/1024).toFixed(1)} KiB`));let w,F,Z;if(y){if(w=K(y),F=y.endsWith(".mp4")?"video/mp4":y.endsWith(".gif")?"image/gif":"video/webm",d){let n=Number(d);(!Number.isFinite(n)||n<=0)&&(console.error(` invalid --video-duration-ms: ${d}`),await P(),process.exit(1)),Z=Math.round(n)}console.log(` attaching flow video: ${(w.byteLength/1024).toFixed(1)} KiB (${F})`)}let R=de(),_=fe(R),Pe=se();ie({event:"preview_upload_started",identity:{userId:R?.kind==="session"?Pe?.user?.id??null:null,repoId:_?.repoId??null,installationId:_?.installationId??null},properties:{origin:o,hasAuth:!!R,authMode:R?.kind??"none",bundleBytes:g.byteLength,isTransformed:M,extraFiles:E.length,recordedFetches:m.length,hasEvents:!!U,hasScreenshot:!!h,hasVideo:!!w}}),R||(console.error(" preview uploads need auth."),console.error(" set SOOTSIM_API_KEY=sk_sootsim_..., run `sootsim login`, or use the soot github runner."),await P(),process.exit(1));let Ie=pe(R),Re=(()=>{try{return new URL(l.bundleUrl).origin}catch{return null}})(),H=(n,i,T,u,oe,x,B,p)=>{let O=ge(x),V=O?Me(n):n;return{url:i,urlhash:T,method:u,bodyHash:oe,requestVaryHash:p,contentType:x,responseHeaders:B,bytes:V,encoding:O?"gzip":void 0}},ee=[],C=Ke(l.pageHref)||"";if(C){let n=new Set;for(let i of ue(C)){let T=ye("sha256").update(i).digest("hex");if(!n.has(T)){n.add(T);try{let u=await j(i);ee.push(H(u,i,T,"GET","-",je(i))),console.log(` staged app font: ${i} (${(u.byteLength/1024).toFixed(1)} KiB)`)}catch(u){console.error(` warning: failed to fetch app font ${i}: ${u instanceof Error?u.message:u}`)}}}}let N=[...E.map(n=>H(n.bytes,n.url,n.urlhash,"GET","-",n.contentType,n.responseHeaders,n.requestVaryHash)),...m.map(n=>H(Buffer.from(n.bodyBase64,"base64"),n.url,n.urlhash,n.method||"GET",n.bodyHash||"-",n.contentType,n.responseHeaders,n.requestVaryHash)),...ee],W=Ae(g,{params:{[ze.BROTLI_PARAM_QUALITY]:9}}),_e=ye("sha256").update(g).digest("hex");console.log(` bundle raw=${(g.byteLength/1024).toFixed(1)} KiB br=${(W.byteLength/1024).toFixed(1)} KiB`);let xe={contentHash:_e,bundleSizeBytes:g.byteLength,bundleContentType:Ge(l.bundleUrl),bundleEncoding:"br",bundleOrigin:Re,appFonts:C||void 0,entry:l.entry,isTransformed:M,deviceSpec:l.deviceSpec,installationId:_?.installationId??void 0,repoId:_?.repoId,owner:$??_?.owner,repo:f??_?.repo,files:N.map(n=>({url:n.url,urlhash:n.urlhash,method:n.method,bodyHash:n.bodyHash,contentType:n.contentType,responseHeaders:n.responseHeaders,requestVaryHash:n.requestVaryHash,encoding:n.encoding,sizeBytes:n.bytes.byteLength})),events:U?{sizeBytes:U.byteLength}:void 0,snapshots:h?[{id:"landing",label:"Landing",kind:"landing",t:0,contentType:"image/png",sizeBytes:h.byteLength}]:void 0,flowVideo:w&&F?{sizeBytes:w.byteLength,contentType:F,durationMs:Z}:void 0},te=new Map;for(let n of N)te.set(n.urlhash,n.bytes);let ne=new Map;h&&ne.set("landing",h);let Oe=Date.now(),L=W.byteLength;for(let n of N)L+=n.bytes.byteLength;U&&(L+=U.byteLength),h&&(L+=h.byteLength),w&&(L+=w.byteLength);let Se=`${S(o)}/api/preview/upload/init`;console.log(` init: ${Se}`);let q;try{let n=await he({originBase:o,initBody:xe,bundleBytes:W,filesByHash:te,extras:{eventsBytes:U,videoBytes:w,snapshotBytes:ne},authHeader:Ie,concurrency:16});q=n.finalize;let i=1+n.init.files.length+(n.init.events?1:0)+n.init.snapshots.length+(n.init.flowVideo?1:0);console.log(` PUT ${i} objects in ${Date.now()-Oe}ms (${(L/1024).toFixed(1)} KiB)`)}catch(n){let i=n;i.phase==="init"&&i.status===401&&(console.error(" preview upload requires a valid login."),console.error(" run `sootsim login` and retry."),await P(),process.exit(1)),i.status===402&&(console.error(` ${He(i.responseText)??"preview uploads require Personal, Team, or an active trial \u2014 upgrade from the billing dialog."}`),await P(),process.exit(1)),console.error(` ${i.message??`${i.phase??"upload"} failed: ${String(n)}`}`),await P(),process.exit(1)}let re=`${s}${q.url}`;console.log(`
|
|
79
|
-
stored ${q.filesStored??0} extra files`),console.log(` preview: ${re}`),Ue&&await ae(re),await P()}export{Ne as a,Ve as b,dt as c};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.115 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import y from"node:fs";import{createRequire as C}from"node:module";import l from"node:path";var A=C(import.meta.url);function b(n){try{let t=new URL(n),e=t.hostname.replace(/^\[|\]$/g,"").toLowerCase();if(e==="localhost"||e.endsWith(".localhost")||e==="0.0.0.0"||e==="::1"||/^127(?:\.\d{1,3}){3}$/.test(e))return t.origin}catch{}return null}var j=["app.config.js","app.config.ts","app.config.cjs","app.config.mjs","app.json"];function w(n){for(let t of j)try{if(y.statSync(l.join(n,t)).isFile())return!0}catch{}return!1}var k=new Set(["node_modules","artifacts","dist","build","out","coverage","tmp","public","ios","android","macos","windows","__fixtures__","__tests__","examples","example"]);function x(n,t){w(n)&&t.push(n);let e;try{e=y.readdirSync(n,{withFileTypes:!0})}catch{return}for(let o of e)o.isDirectory()&&(o.name.startsWith(".")||k.has(o.name)||x(l.join(n,o.name),t))}function D(n){try{return y.statSync(l.join(n,"package.json")).isFile()}catch{return!1}}function _(n,t,e){if(!t||typeof t!="object")return;let o=t[e];if(!o||typeof o!="object")return;let i=o.fonts;if(Array.isArray(i))for(let c of i){if(typeof c=="string"){n.push(c);continue}if(!c||typeof c!="object")continue;let p=c.fontDefinitions;if(Array.isArray(p))for(let f of p){if(!f||typeof f!="object")continue;let u=f.path;typeof u=="string"&&n.push(u)}}}function v(n){let t=b(n.bundleUrl);if(!t)return[];let e=n.repoDir||process.env.SOOT_REPO_DIR,o=e?l.resolve(e):process.cwd();if(!e&&!D(o))return[];let i=[];if(e)x(o,i),i.includes(o)||i.push(o);else{if(!w(o))return[];i.push(o)}if(i.length===0)return[];let c=(n.platform||process.env.SOOT_PLATFORM||"ios").toLowerCase(),p=null;try{let s=A.resolve("@expo/config",{paths:[...i,o]}),r=A(s);typeof r.getConfig=="function"&&(p=r.getConfig)}catch{}if(!p)return[];let f;for(let s of i)try{let r=p(s,{skipSDKVersionRequirement:!0});if(r?.exp&&typeof r.exp=="object"){let a=r.exp.plugins;if(Array.isArray(a)){f=r.exp;break}}}catch{}if(!f||typeof f!="object")return[];let u=f.plugins;if(!Array.isArray(u))return[];let g=[];for(let s of u){let r=Array.isArray(s)?s[0]:s;if(typeof r!="string"||!/(^|\/)expo-font$/.test(r))continue;let a=Array.isArray(s)?s[1]||{}:{};if(!a||typeof a!="object")continue;let h=a.fonts;Array.isArray(h)&&g.push(...h.filter(R=>typeof R=="string")),_(g,a,c)}let d=new Set,m=[];for(let s of g){let r=s.replace(/^\.\//,"").replace(/^\/+/,"");!r||d.has(r)||(d.add(r),/\.(ttf|otf|woff|woff2)$/i.test(r)&&m.push({family:l.basename(r).replace(/\.(ttf|otf|woff|woff2)$/i,""),url:`${t}/assets/${r}`}))}return m}function O(n){return n.map(t=>`${encodeURIComponent(t.url)}::${encodeURIComponent(t.family)}`).join(",")}function $(n){let t=[];for(let e of n.split(",")){let o=e.trim();if(!o)continue;let i=o.indexOf("::"),c=i===-1?o:o.slice(0,i);try{t.push(decodeURIComponent(c))}catch{t.push(c)}}return t.filter(Boolean)}export{v as a,O as b,$ as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.115 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.115 | (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-SRXOV4BJ.js";import"./chunk-X35ALXTD.js";import"./chunk-ICZSY2XS.js";import"./chunk-SLSNMSD7.js";import"./chunk-TF5LTELW.js";import"./chunk-Q3BVLSSD.js";import"./chunk-SPVHYFZ3.js";import"./chunk-OK2FCYQN.js";import"./chunk-XO3XTPFR.js";import"./chunk-F4LJC2WB.js";import"./chunk-GUDD5CIA.js";import"./chunk-IWC4SYEG.js";import"./chunk-VSKAOUZ5.js";import"./chunk-ML5LV4WM.js";import"./chunk-UNRBTUAA.js";import"./chunk-E53Y4O7H.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.115 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import"./chunk-BZTJFTU2.js";import{a,b,c,d,e,f,g,h,i}from"./chunk-OK2FCYQN.js";import"./chunk-XO3XTPFR.js";import"./chunk-F4LJC2WB.js";import"./chunk-GUDD5CIA.js";import"./chunk-IWC4SYEG.js";import"./chunk-UNRBTUAA.js";import"./chunk-E53Y4O7H.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.115 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a as c,b as d,c as e,d as f}from"./chunk-HAFZOF63.js";import"./chunk-77VIOTR7.js";import"./chunk-V2SPOLQA.js";import"./chunk-W646EQFP.js";import"./chunk-Q4SUC2SN.js";import"./chunk-D6PRIVLD.js";import{d as a,e as b}from"./chunk-3PUOG2KU.js";import"./chunk-SRXOV4BJ.js";import"./chunk-X35ALXTD.js";import"./chunk-ICZSY2XS.js";import"./chunk-SLSNMSD7.js";import"./chunk-TF5LTELW.js";import"./chunk-Q3BVLSSD.js";import"./chunk-SPVHYFZ3.js";import"./chunk-OK2FCYQN.js";import"./chunk-XO3XTPFR.js";import"./chunk-F4LJC2WB.js";import"./chunk-GUDD5CIA.js";import"./chunk-IWC4SYEG.js";import"./chunk-NXAESORG.js";import"./chunk-ZPJDADTZ.js";import"./chunk-WNIVVJR7.js";import"./chunk-VSKAOUZ5.js";import"./chunk-ML5LV4WM.js";import"./chunk-HU2K2HVE.js";import"./chunk-GG5MTRXC.js";import"./chunk-UNRBTUAA.js";import"./chunk-E53Y4O7H.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.115 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a,b,c}from"./chunk-GW5TVVRV.js";import"./chunk-WNIVVJR7.js";import"./chunk-TMR6MW5W.js";import"./chunk-VSKAOUZ5.js";import"./chunk-ML5LV4WM.js";import"./chunk-5SL6CP7Y.js";import"./chunk-HYR63F7Z.js";import"./chunk-GG5MTRXC.js";import"./chunk-UNRBTUAA.js";import"./chunk-E53Y4O7H.js";export{c as printCommandHelp,b as printGroupHelp,a as printHelp};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.115 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a as o}from"./chunk-AJYQJMAY.js";import"./chunk-DACZHUK2.js";import"./chunk-47VNJGW7.js";import"./chunk-Q3BVLSSD.js";import"./chunk-SPVHYFZ3.js";import"./chunk-NXAESORG.js";import"./chunk-ZPJDADTZ.js";import"./chunk-ML5LV4WM.js";import"./chunk-UNRBTUAA.js";import"./chunk-E53Y4O7H.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.115 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a}from"./chunk-YTJONQGT.js";import"./chunk-Q3BVLSSD.js";import"./chunk-SPVHYFZ3.js";import"./chunk-ML5LV4WM.js";import"./chunk-PEP5GKW7.js";import"./chunk-UNRBTUAA.js";import"./chunk-E53Y4O7H.js";export{a as runRuntime};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.115 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a}from"./chunk-AJYQJMAY.js";import"./chunk-DACZHUK2.js";import"./chunk-47VNJGW7.js";import"./chunk-Q3BVLSSD.js";import"./chunk-SPVHYFZ3.js";import"./chunk-NXAESORG.js";import"./chunk-ZPJDADTZ.js";import"./chunk-ML5LV4WM.js";import"./chunk-UNRBTUAA.js";import"./chunk-E53Y4O7H.js";export{a as runSetupRepo};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.115 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a,b,c}from"./chunk-Q4SUC2SN.js";import"./chunk-D6PRIVLD.js";import"./chunk-TF5LTELW.js";import"./chunk-Q3BVLSSD.js";import"./chunk-SPVHYFZ3.js";import"./chunk-F4LJC2WB.js";import"./chunk-IWC4SYEG.js";import"./chunk-NXAESORG.js";import"./chunk-ZPJDADTZ.js";import"./chunk-ML5LV4WM.js";import"./chunk-UNRBTUAA.js";import"./chunk-E53Y4O7H.js";export{a as resolveDefaultUploadOrigin,b as resolvePublicPreviewOrigin,c as runUpload};
|