sootsim 0.1.145 → 0.1.146
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-YX5V2KV7.js → agent-PNNXV6F3.js} +2 -2
- package/dist-cli/chunks/{agent-wrapper-3X53DI4P.js → agent-wrapper-JTYAONCG.js} +2 -2
- package/dist-cli/chunks/{app-fonts-5I6J7HMM.js → app-fonts-YGTRUUJT.js} +2 -2
- package/dist-cli/chunks/{assert-BDSCYJ3N.js → assert-HDFDQLHK.js} +2 -2
- package/dist-cli/chunks/auto-bootstrap-S7SSJMD3.js +2 -0
- package/dist-cli/chunks/beta-E3MSUPWU.js +2 -0
- package/dist-cli/chunks/{camera-HXVXO2XW.js → camera-4B7OAHRD.js} +2 -2
- package/dist-cli/chunks/{chunk-26P6DJRO.js → chunk-2FYSNCRJ.js} +2 -2
- package/dist-cli/chunks/{chunk-DNM2AOHD.js → chunk-2PYDOYIS.js} +1 -1
- package/dist-cli/chunks/{chunk-NRBPTQVR.js → chunk-35QJJ4MM.js} +3 -3
- package/dist-cli/chunks/chunk-3RPHEE3K.js +2 -0
- package/dist-cli/chunks/{chunk-YWUBSH2K.js → chunk-4KNMAGC4.js} +1 -1
- package/dist-cli/chunks/{chunk-MNMNX4O7.js → chunk-A7JX3OQC.js} +1 -1
- package/dist-cli/chunks/{chunk-CUPKQONE.js → chunk-AOPFT3S4.js} +1 -1
- package/dist-cli/chunks/{chunk-AUMBVWWD.js → chunk-ATJRNMNA.js} +2 -2
- package/dist-cli/chunks/{chunk-Q3UIMXJY.js → chunk-BBIN2U26.js} +2 -2
- package/dist-cli/chunks/{chunk-2GAVMQGW.js → chunk-BE2ZDRIJ.js} +2 -2
- package/dist-cli/chunks/{chunk-7GBAY2BX.js → chunk-C44OZFHJ.js} +2 -2
- package/dist-cli/chunks/{chunk-AXNDFONG.js → chunk-DP5FSZHW.js} +1 -1
- package/dist-cli/chunks/chunk-DRCRPS2N.js +1 -0
- package/dist-cli/chunks/{chunk-2R6ALEI7.js → chunk-ERAE4LJT.js} +3 -3
- package/dist-cli/chunks/{chunk-36RF3WRB.js → chunk-FK2YXBKR.js} +1 -1
- package/dist-cli/chunks/{chunk-QZAJOB4N.js → chunk-G7JMTSF6.js} +1 -1
- package/dist-cli/chunks/{chunk-7ODTKW6U.js → chunk-GD473DHN.js} +2 -2
- package/dist-cli/chunks/{chunk-6MAW2X3J.js → chunk-H2EIYIRP.js} +1 -1
- package/dist-cli/chunks/{chunk-3AALQI5D.js → chunk-H6LFGGJW.js} +2 -2
- package/dist-cli/chunks/{chunk-F6UIBH3K.js → chunk-HWB7DPXH.js} +1 -1
- package/dist-cli/chunks/{chunk-3Q7M3ATN.js → chunk-HZHZY7N5.js} +2 -2
- package/dist-cli/chunks/{chunk-ANTCWWXN.js → chunk-IADMCPLZ.js} +1 -1
- package/dist-cli/chunks/{chunk-C6XQHJFR.js → chunk-IAO27BWC.js} +2 -2
- package/dist-cli/chunks/{chunk-KDNOWAFU.js → chunk-JFQXWAWN.js} +2 -2
- package/dist-cli/chunks/{chunk-RHHCV6M4.js → chunk-JZW2R5D7.js} +2 -2
- package/dist-cli/chunks/{chunk-5MF7XOPR.js → chunk-K6X7LUFG.js} +1 -1
- package/dist-cli/chunks/{chunk-YENFSYAG.js → chunk-MIIAYBFL.js} +1 -1
- package/dist-cli/chunks/{chunk-NX6V5VAV.js → chunk-MSQUL5BU.js} +3 -3
- package/dist-cli/chunks/{chunk-5HCF2FQK.js → chunk-MVLNHZMU.js} +2 -2
- package/dist-cli/chunks/chunk-OU42HTKN.js +1 -0
- package/dist-cli/chunks/{chunk-F6YOWJAA.js → chunk-PCW4TKI2.js} +2 -2
- package/dist-cli/chunks/{chunk-RV3WN4FQ.js → chunk-Q6BHESL2.js} +2 -2
- package/dist-cli/chunks/{chunk-R76YX6KD.js → chunk-R7CMXY5T.js} +2 -2
- package/dist-cli/chunks/{chunk-TRA4IJCY.js → chunk-RTD4RNZV.js} +2 -2
- package/dist-cli/chunks/{chunk-7FL2TKGB.js → chunk-SZNVNYEP.js} +2 -2
- package/dist-cli/chunks/{chunk-A27TUQQZ.js → chunk-TLFNO2L4.js} +1 -1
- package/dist-cli/chunks/{chunk-KSNQFEBZ.js → chunk-TZXKFPBJ.js} +2 -2
- package/dist-cli/chunks/{chunk-4QJCDB6B.js → chunk-UD4SYXDQ.js} +2 -2
- package/dist-cli/chunks/{chunk-HVRSV4QO.js → chunk-VKKWYLIZ.js} +1 -1
- package/dist-cli/chunks/{chunk-I5FEWPWO.js → chunk-VZSXOG4N.js} +1 -1
- package/dist-cli/chunks/{chunk-RGJAUL7P.js → chunk-WFXLVOUA.js} +2 -2
- package/dist-cli/chunks/chunk-XO4VQYFP.js +2 -0
- package/dist-cli/chunks/{chunk-QS37KABB.js → chunk-XRQDMB2J.js} +2 -2
- package/dist-cli/chunks/chunk-Y76W7GZV.js +1 -0
- package/dist-cli/chunks/{chunk-T35Q6ZGG.js → chunk-YBSNSFBX.js} +1 -1
- package/dist-cli/chunks/cli-version-AJWPSNS4.js +2 -0
- package/dist-cli/chunks/{compat-OH3WCY73.js → compat-F4WAO62Y.js} +3 -3
- package/dist-cli/chunks/{config-75MZT5JS.js → config-WAIORJNJ.js} +2 -2
- package/dist-cli/chunks/{control-KSGYRJQK.js → control-M54456XG.js} +2 -2
- package/dist-cli/chunks/{cpu-profile-2EHAVP5P.js → cpu-profile-NNMDXCWI.js} +2 -2
- package/dist-cli/chunks/{daemon-KRESTNSO.js → daemon-UXSN6QDY.js} +2 -2
- package/dist-cli/chunks/{debug-XJ2XIBGI.js → debug-JAQVYKQG.js} +3 -3
- package/dist-cli/chunks/{detox-D3P2BFHN.js → detox-QOL7PD62.js} +2 -2
- package/dist-cli/chunks/{device-TMFWZCML.js → device-WPAQY2ZH.js} +2 -2
- package/dist-cli/chunks/{diagnose-67SOCM6I.js → diagnose-FKN4ALSH.js} +2 -2
- package/dist-cli/chunks/drivers-FTOUKVJ5.js +2 -0
- package/dist-cli/chunks/{electron-FLPDCIDO.js → electron-YQKH55P6.js} +3 -3
- package/dist-cli/chunks/flow-EJXOH72E.js +2 -0
- package/dist-cli/chunks/help-ID6MSA6T.js +2 -0
- package/dist-cli/chunks/{hints-ODFXO5MG.js → hints-GIJN25JB.js} +2 -2
- package/dist-cli/chunks/{home-paths-NIEX6VIW.js → home-paths-KIR4SAL4.js} +2 -2
- package/dist-cli/chunks/{inspect-C5R2IXQP.js → inspect-YRP3UFG4.js} +3 -3
- package/dist-cli/chunks/install-S4YF4O3O.js +2 -0
- package/dist-cli/chunks/{install-desktop-TGI4DCY3.js → install-desktop-INHP4VUQ.js} +3 -3
- package/dist-cli/chunks/{keys-2QJCGBZU.js → keys-CBKA6IB7.js} +2 -2
- package/dist-cli/chunks/{launch-A2NXENLP.js → launch-JZ463USO.js} +3 -3
- package/dist-cli/chunks/{login-TQLNNRFL.js → login-VHP4DNC2.js} +4 -4
- package/dist-cli/chunks/{logout-N6R66AFU.js → logout-NRG4U6Z7.js} +2 -2
- package/dist-cli/chunks/{maestro-DMNUWMEX.js → maestro-KPNXHCFR.js} +2 -2
- package/dist-cli/chunks/optional-demo-registry-VXBG2NEH.js +2 -0
- package/dist-cli/chunks/{preview-O45WIZT7.js → preview-O44G7W2U.js} +2 -2
- package/dist-cli/chunks/{profile-HSL4JQ2B.js → profile-RMYP6I2J.js} +2 -2
- package/dist-cli/chunks/{react-STTXJK2P.js → react-CFUB2U76.js} +2 -2
- package/dist-cli/chunks/{record-6X7TU345.js → record-YSLIYV2X.js} +2 -2
- package/dist-cli/chunks/runtime-YVV2FMMD.js +2 -0
- package/dist-cli/chunks/{runtime-delivery-D76JBTRS.js → runtime-delivery-DDUSKKTU.js} +2 -2
- package/dist-cli/chunks/{screenshot-WLKERV6O.js → screenshot-MH7JQVO7.js} +2 -2
- package/dist-cli/chunks/{screenshot-mode-QGT6WGQ6.js → screenshot-mode-JRRQPP37.js} +2 -2
- package/dist-cli/chunks/screenshots-32GEAUAF.js +74 -0
- package/dist-cli/chunks/{server-NNJNTLTV.js → server-ROXPXSIK.js} +3 -3
- package/dist-cli/chunks/setup-repo-E2IJJBCE.js +2 -0
- package/dist-cli/chunks/{skills-FTYSXEVA.js → skills-T74U4JC7.js} +2 -2
- package/dist-cli/chunks/{slides-FTSJM4AC.js → slides-OM25OBW3.js} +2 -2
- package/dist-cli/chunks/{start-Q37DNJPY.js → start-NLHWSRC7.js} +4 -4
- package/dist-cli/chunks/store-EISWHA6H.js +2 -0
- package/dist-cli/chunks/telemetry-7AXVZMQT.js +2 -0
- package/dist-cli/chunks/{test-7WGTTJFK.js → test-RYMENNXC.js} +3 -3
- package/dist-cli/chunks/{three-mode-T6V3MWE7.js → three-mode-MK242N4J.js} +2 -2
- package/dist-cli/chunks/{timeline-T36NNMIW.js → timeline-ANKR37NA.js} +2 -2
- package/dist-cli/chunks/{upgrade-D5LA6F7T.js → upgrade-ZANSK5HX.js} +2 -2
- package/dist-cli/chunks/upload-DWWZQMVH.js +2 -0
- package/dist-cli/chunks/{version-NEMFK44K.js → version-DYXEOGY7.js} +2 -2
- package/dist-cli/chunks/{web-EBBS27LE.js → web-LUMZCTLY.js} +2 -2
- package/dist-cli/chunks/{what-happened-LWSM2L7E.js → what-happened-SIQGZLHO.js} +2 -2
- package/dist-cli/chunks/{whoami-AXLQJ7NW.js → whoami-YI5RAQBT.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/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 +1 -1
- package/dist-lib/vite.cjs +1 -1
- package/package.json +1 -1
- package/src/screenshots/orchestrate.ts +7 -0
- package/src/screenshots/org-deck.ts +91 -0
- package/dist-cli/chunks/auto-bootstrap-JVI75WWN.js +0 -2
- package/dist-cli/chunks/beta-IXSKJTBA.js +0 -2
- package/dist-cli/chunks/chunk-HONMR5LW.js +0 -1
- package/dist-cli/chunks/chunk-OW2ZBOB3.js +0 -2
- package/dist-cli/chunks/chunk-QNJYE5OY.js +0 -2
- package/dist-cli/chunks/chunk-SMMTE4QY.js +0 -1
- package/dist-cli/chunks/chunk-WJA4MM4L.js +0 -1
- package/dist-cli/chunks/cli-version-C56OR6JV.js +0 -2
- package/dist-cli/chunks/drivers-OYNUTXKG.js +0 -2
- package/dist-cli/chunks/flow-Q2Z4UAPG.js +0 -2
- package/dist-cli/chunks/help-EVEPPKOR.js +0 -2
- package/dist-cli/chunks/install-H4QD5NHJ.js +0 -2
- package/dist-cli/chunks/optional-demo-registry-Q2WTD5VQ.js +0 -2
- package/dist-cli/chunks/runtime-K3KCLSIW.js +0 -2
- package/dist-cli/chunks/screenshots-H4CT4M6U.js +0 -70
- package/dist-cli/chunks/setup-repo-I4NU3XER.js +0 -2
- package/dist-cli/chunks/store-YJZETFWA.js +0 -2
- package/dist-cli/chunks/telemetry-73CWUPJ6.js +0 -2
- package/dist-cli/chunks/upload-DR6AU55F.js +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/*! sootsim v0.1.
|
|
2
|
-
import{C as T,D as A,E as y,P as _,Q as b,R as S}from"./chunk-
|
|
1
|
+
/*! sootsim v0.1.146 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
+
import{C as T,D as A,E as y,P as _,Q as b,R as S}from"./chunk-DP5FSZHW.js";import{c as N,e as F}from"./chunk-BBIN2U26.js";import{b as k}from"./chunk-YBSNSFBX.js";import"./chunk-FK2YXBKR.js";import"./chunk-IADMCPLZ.js";import"./chunk-TLFNO2L4.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.146 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
+
import{d as i}from"./chunk-HZHZY7N5.js";import{d as n}from"./chunk-R7CMXY5T.js";import"./chunk-IADMCPLZ.js";import"./chunk-TLFNO2L4.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.146 | (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.146 | (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.146 | (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.146 | (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.146 | (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.146 | (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.146 | (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.146 | (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.146 | (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.146 | (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.146 | (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.146 | (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.146 | (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.146 | (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.146 | (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.146 | (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.146 | (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.146 | (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.146 | (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.146 | (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.146 | (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.146 | (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.146 | (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.146 | (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.146 | (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.146 | (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
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
type ComposeSlideSource,
|
|
10
10
|
} from './compose'
|
|
11
11
|
import { createFramedScreenshotComposer } from './frame-compose'
|
|
12
|
+
import { applyOrgDeckToPlan, type OrgDeckFrame } from './org-deck'
|
|
12
13
|
import { loadScreenshotsPlan, type NormalizedScreenshotsPlan } from './schema'
|
|
13
14
|
|
|
14
15
|
export interface RunScreenshotsOverrides {
|
|
@@ -17,6 +18,9 @@ export interface RunScreenshotsOverrides {
|
|
|
17
18
|
simId?: string | null
|
|
18
19
|
captureOnly?: boolean
|
|
19
20
|
composeOnly?: boolean
|
|
21
|
+
// copy/colors pulled from the team's org deck to overlay onto the plan's
|
|
22
|
+
// compose slides (sootsim screenshots --org … --repo …).
|
|
23
|
+
orgDeckFrames?: OrgDeckFrame[] | null
|
|
20
24
|
}
|
|
21
25
|
|
|
22
26
|
export interface CaptureResult {
|
|
@@ -186,6 +190,9 @@ export async function runScreenshotsPlan(
|
|
|
186
190
|
overrides: RunScreenshotsOverrides = {},
|
|
187
191
|
): Promise<ScreenshotsRunResult> {
|
|
188
192
|
const plan = loadScreenshotsPlan(planPath)
|
|
193
|
+
if (overrides.orgDeckFrames && overrides.orgDeckFrames.length > 0) {
|
|
194
|
+
applyOrgDeckToPlan(plan, overrides.orgDeckFrames)
|
|
195
|
+
}
|
|
189
196
|
const effectiveDeviceModel = overrides.deviceModel ?? plan.deviceModel
|
|
190
197
|
if (!overrides.composeOnly) {
|
|
191
198
|
await runCaptureStage(plan, overrides)
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
// fetch the team's screenshot deck (the copy / colors founders set up in the
|
|
2
|
+
// org dashboard) and overlay it onto a screenshots plan, so the programmatic
|
|
3
|
+
// `sootsim screenshots --plan … --org … --repo …` flow renders the org's
|
|
4
|
+
// words + brand gradient instead of the local yaml's. the plan still owns
|
|
5
|
+
// which screen each slide captures and the device frame; the deck owns copy +
|
|
6
|
+
// colors. 3d scenes don't translate to the cli's 2d composer, so only copy and
|
|
7
|
+
// colors carry over (the 3d hero look stays the in-browser screenshot mode).
|
|
8
|
+
|
|
9
|
+
import { resolveBgColorValue } from 'sootsim-engine/screenshots/tokens'
|
|
10
|
+
import type { BackgroundSpec } from './registry'
|
|
11
|
+
import type { NormalizedScreenshotsPlan } from './schema'
|
|
12
|
+
|
|
13
|
+
export interface OrgDeckFetchOptions {
|
|
14
|
+
org: string
|
|
15
|
+
repo: string
|
|
16
|
+
origin: string
|
|
17
|
+
authHeader: string
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface OrgDeckFrame {
|
|
21
|
+
title?: string
|
|
22
|
+
subtitle?: string
|
|
23
|
+
bgTop?: string
|
|
24
|
+
bgBottom?: string
|
|
25
|
+
titleColor?: string
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function readString(value: unknown): string | undefined {
|
|
29
|
+
return typeof value === 'string' && value.length > 0 ? value : undefined
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// GET the team deck and return its first deck's frames, or null when the team
|
|
33
|
+
// has no deck yet. throws on auth / network failure so the caller can surface a
|
|
34
|
+
// clear message rather than silently falling back to the local copy.
|
|
35
|
+
export async function fetchOrgDeckFrames(
|
|
36
|
+
opts: OrgDeckFetchOptions,
|
|
37
|
+
): Promise<OrgDeckFrame[] | null> {
|
|
38
|
+
const base = opts.origin.replace(/\/$/, '')
|
|
39
|
+
const url = `${base}/api/sootsim/screenshot-decks?org=${encodeURIComponent(
|
|
40
|
+
opts.org,
|
|
41
|
+
)}&repo=${encodeURIComponent(opts.repo)}`
|
|
42
|
+
const res = await fetch(url, { headers: { Authorization: opts.authHeader } })
|
|
43
|
+
if (!res.ok) {
|
|
44
|
+
const detail = await res.text().catch(() => '')
|
|
45
|
+
throw new Error(
|
|
46
|
+
`org deck fetch failed (${res.status} ${res.statusText}) for ${opts.org}/${opts.repo}${
|
|
47
|
+
detail ? ` — ${detail.slice(0, 200)}` : ''
|
|
48
|
+
}`,
|
|
49
|
+
)
|
|
50
|
+
}
|
|
51
|
+
const body = (await res.json()) as { decks?: Array<{ config?: unknown }> }
|
|
52
|
+
const deck = body.decks?.[0]
|
|
53
|
+
if (!deck || !deck.config || typeof deck.config !== 'object') return null
|
|
54
|
+
const frames = (deck.config as { frames?: unknown }).frames
|
|
55
|
+
if (!Array.isArray(frames)) return null
|
|
56
|
+
return frames.map((entry) => {
|
|
57
|
+
const frame = (entry ?? {}) as Record<string, unknown>
|
|
58
|
+
return {
|
|
59
|
+
title: readString(frame.title),
|
|
60
|
+
subtitle: readString(frame.subtitle),
|
|
61
|
+
bgTop: readString(frame.bgTop),
|
|
62
|
+
bgBottom: readString(frame.bgBottom),
|
|
63
|
+
titleColor: readString(frame.titleColor),
|
|
64
|
+
}
|
|
65
|
+
})
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// overlay deck frames onto the plan's compose slides, matched by order. a deck
|
|
69
|
+
// with fewer frames than the plan leaves the trailing slides on their yaml copy.
|
|
70
|
+
export function applyOrgDeckToPlan(
|
|
71
|
+
plan: NormalizedScreenshotsPlan,
|
|
72
|
+
frames: OrgDeckFrame[],
|
|
73
|
+
): void {
|
|
74
|
+
plan.compose.slides.forEach((slide, index) => {
|
|
75
|
+
const frame = frames[index]
|
|
76
|
+
if (!frame) return
|
|
77
|
+
if (frame.title != null) slide.headline = frame.title
|
|
78
|
+
if (frame.subtitle != null) slide.subheadline = frame.subtitle
|
|
79
|
+
if (frame.bgTop && frame.bgBottom) {
|
|
80
|
+
const background: BackgroundSpec = {
|
|
81
|
+
type: 'gradient',
|
|
82
|
+
direction: 180,
|
|
83
|
+
stops: [
|
|
84
|
+
{ offset: 0, color: resolveBgColorValue(frame.bgTop) },
|
|
85
|
+
{ offset: 1, color: resolveBgColorValue(frame.bgBottom) },
|
|
86
|
+
],
|
|
87
|
+
}
|
|
88
|
+
slide.background = background
|
|
89
|
+
}
|
|
90
|
+
})
|
|
91
|
+
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.145 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a,b,c,d}from"./chunk-NX6V5VAV.js";import"./chunk-Q3UIMXJY.js";import"./chunk-T35Q6ZGG.js";import"./chunk-36RF3WRB.js";import"./chunk-ANTCWWXN.js";import"./chunk-A27TUQQZ.js";export{c as ensureDaemonRunning,a as ensureRuntimeInstalled,d as ensureSootsimReady,b as resolveBootstrapPort};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.145 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.145 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{g as w,i as u,j as m,k as l}from"./chunk-TRA4IJCY.js";var p="sootsim:settings",v=["errorReporting","colorScheme","a11yMode","a11yDepth","screenshotCanvas","screenshotBackground","screenshotText","screenshotPose","screenshotDynamicSize","agentProvider","onboardingComplete","betaConsentVersion","detailedTelemetry"];function S(){if(typeof window>"u")return null;let e=window.sootsimElectron;return e&&typeof e=="object"?e:null}function g(e){let t={};for(let n of v){if(!(n in e))continue;let r=e[n],o=u[n];o.validate&&!o.validate(r)||o.options&&!o.options.includes(r)||(t[n]=r)}return t}function h(e){let t={};for(let n of v)t[n]=e[n];return t}function _(){if(typeof localStorage>"u")return{};try{let e=localStorage.getItem(p);return e?g(JSON.parse(e)):{}}catch{return{}}}function V(e){if(!(typeof localStorage>"u"))try{localStorage.setItem(p,JSON.stringify(h(e)))}catch{}}function E(){let t=S()?.sharedConfig?.settings;return!t||typeof t!="object"?{}:g(t)}function K(e){let t=S();if(t?.writeSharedConfig)try{t.writeSharedConfig({settings:h(e)})}catch{}}function k(){if(typeof window>"u")return null;let e=window.__sootsimSharedConfig;return e&&typeof e=="object"?e:null}function j(){let e=k()?.settings;return!e||typeof e!="object"?{}:g(e)}function D(e){if(!k())return;let t={settings:h(e)};try{if(globalThis.__sootsimBridgeRequest?.writeSharedConfig?.(t))return}catch{}if(!(typeof fetch>"u"))try{fetch("/__sootsim/shared-config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t),keepalive:!0}).catch(()=>{})}catch{}}function b(){let e=_(),t=j(),n=E();return{...e,...t,...n}}function R(e){V(e),K(e),D(e)}function C(e){if(typeof window>"u")return()=>{};let t=i=>{if(!(i.key!==p||i.newValue==null))try{e(g(JSON.parse(i.newValue)))}catch{}};window.addEventListener("storage",t);let n=S(),r;n?.onSharedConfigChanged&&(r=n.onSharedConfigChanged(i=>{let d=i?.settings;!d||typeof d!="object"||e(g(d))}));let c=globalThis.__sootsimBridgeRequest?.subscribeSharedConfig?.(i=>{let d=i?.settings;!d||typeof d!="object"||e(g(d))});return()=>{window.removeEventListener("storage",t),r?.(),c?.()}}var M=l(),P=b();for(let e of Object.keys(m()))delete P[e];var s={...M,...P},f=[],a=null;function y(){for(let e of f)e();R(s)}C(e=>{let t={...s},n=!1;for(let[r,o]of Object.entries(e)){let c=r;t[c]!==o&&(t[c]=o,n=!0)}if(n){s=t,a=null;for(let r of f)r()}});var L={get(e){return s[e]},set(e,t){let n=u[e];n.validate&&!n.validate(t)||n.options&&!n.options.includes(t)||s[e]!==t&&(s={...s,[e]:t},e==="deviceModel"&&(a=null),y())},getAll(){return s},apply(e){let t=!1,n={...s};for(let[r,o]of Object.entries(e)){if(o===void 0)continue;let c=r,i=u[c];i&&(i.validate&&!i.validate(o)||i.options&&!i.options.includes(o)||n[c]!==o&&(n[c]=o,t=!0))}t&&(s=n,a=null,y())},reset(){s=l(),a=null,y()},subscribe(e){return f.push(e),()=>{f=f.filter(t=>t!==e)}},getDeviceSpec(){return a||(a=w(s.deviceModel)),a},getA11yMode(){return s.a11yMode},setA11yMode(e){this.set("a11yMode",e)},getInspectMode(){return s.inspectMode},setInspectMode(e){this.set("inspectMode",e)}};export{L as a};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.145 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.145 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.145 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import"./chunk-HONMR5LW.js";import{a,b,c,d,e,f,g,h,i}from"./chunk-7GBAY2BX.js";import"./chunk-6MAW2X3J.js";import"./chunk-4QJCDB6B.js";import"./chunk-SMMTE4QY.js";import"./chunk-MNMNX4O7.js";import"./chunk-T35Q6ZGG.js";import"./chunk-ANTCWWXN.js";import"./chunk-A27TUQQZ.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.145 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a as c,b as d,c as e,d as f}from"./chunk-2R6ALEI7.js";import"./chunk-2GAVMQGW.js";import"./chunk-WJA4MM4L.js";import"./chunk-F6YOWJAA.js";import"./chunk-RHHCV6M4.js";import"./chunk-3Q7M3ATN.js";import{c as a,d as b}from"./chunk-3AALQI5D.js";import"./chunk-C6XQHJFR.js";import"./chunk-QS37KABB.js";import"./chunk-5HCF2FQK.js";import"./chunk-AXNDFONG.js";import"./chunk-YENFSYAG.js";import"./chunk-Q3UIMXJY.js";import"./chunk-QZAJOB4N.js";import"./chunk-7GBAY2BX.js";import"./chunk-6MAW2X3J.js";import"./chunk-4QJCDB6B.js";import"./chunk-SMMTE4QY.js";import"./chunk-MNMNX4O7.js";import"./chunk-T35Q6ZGG.js";import"./chunk-RV3WN4FQ.js";import"./chunk-R76YX6KD.js";import"./chunk-RGJAUL7P.js";import"./chunk-OW2ZBOB3.js";import"./chunk-36RF3WRB.js";import"./chunk-QNJYE5OY.js";import"./chunk-TRA4IJCY.js";import"./chunk-ANTCWWXN.js";import"./chunk-A27TUQQZ.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.145 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a,b,c}from"./chunk-KSNQFEBZ.js";import"./chunk-RGJAUL7P.js";import"./chunk-CUPKQONE.js";import"./chunk-OW2ZBOB3.js";import"./chunk-36RF3WRB.js";import"./chunk-YWUBSH2K.js";import"./chunk-F6UIBH3K.js";import"./chunk-TRA4IJCY.js";import"./chunk-ANTCWWXN.js";import"./chunk-A27TUQQZ.js";export{c as printCommandHelp,b as printGroupHelp,a as printHelp};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.145 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a as o}from"./chunk-AUMBVWWD.js";import"./chunk-DNM2AOHD.js";import"./chunk-NX6V5VAV.js";import"./chunk-Q3UIMXJY.js";import"./chunk-T35Q6ZGG.js";import"./chunk-RV3WN4FQ.js";import"./chunk-R76YX6KD.js";import"./chunk-36RF3WRB.js";import"./chunk-ANTCWWXN.js";import"./chunk-A27TUQQZ.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.145 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a,b}from"./chunk-NRBPTQVR.js";import"./chunk-Q3UIMXJY.js";import"./chunk-T35Q6ZGG.js";import"./chunk-36RF3WRB.js";import"./chunk-7ODTKW6U.js";import"./chunk-ANTCWWXN.js";import"./chunk-A27TUQQZ.js";export{b as formatReleaseEntry,a as runRuntime};
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.145 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{b as Y}from"./chunk-2R6ALEI7.js";import{b as j}from"./chunk-2GAVMQGW.js";import"./chunk-WJA4MM4L.js";import"./chunk-F6YOWJAA.js";import"./chunk-RHHCV6M4.js";import"./chunk-3Q7M3ATN.js";import{b as O}from"./chunk-3AALQI5D.js";import"./chunk-C6XQHJFR.js";import"./chunk-QS37KABB.js";import"./chunk-5HCF2FQK.js";import"./chunk-AXNDFONG.js";import"./chunk-YENFSYAG.js";import"./chunk-Q3UIMXJY.js";import"./chunk-QZAJOB4N.js";import"./chunk-7GBAY2BX.js";import"./chunk-6MAW2X3J.js";import"./chunk-4QJCDB6B.js";import"./chunk-SMMTE4QY.js";import"./chunk-MNMNX4O7.js";import"./chunk-T35Q6ZGG.js";import"./chunk-RV3WN4FQ.js";import"./chunk-R76YX6KD.js";import"./chunk-RGJAUL7P.js";import"./chunk-OW2ZBOB3.js";import"./chunk-36RF3WRB.js";import"./chunk-QNJYE5OY.js";import{a as w,b as D,c as k,d as z,e as x,f as T}from"./chunk-TRA4IJCY.js";import"./chunk-ANTCWWXN.js";import"./chunk-A27TUQQZ.js";import{mkdirSync as B,readFileSync as pe,writeFileSync as G}from"fs";import{tmpdir as je}from"os";import C from"path";import{mkdirSync as I,readFileSync as Q,writeFileSync as H}from"fs";import F from"path";function _(e){return e.replace(/\\/g,"/").replace(/\.png$/i,"").trim().split("/").filter(Boolean).join("--").replace(/[^A-Za-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")||"slide"}function v(e){return e.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""")}function ee(e){let t=e.trim();return/^#[0-9a-f]{3}$/i.test(t)?`#${t[1]}${t[1]}${t[2]}${t[2]}${t[3]}${t[3]}`:t}function M(e,t){let o=ee(e),i=Math.max(0,Math.min(1,t)),n=o.match(/^#([0-9a-f]{6})$/i);if(n){let s=n[1],r=Number.parseInt(s.slice(0,2),16),a=Number.parseInt(s.slice(2,4),16),u=Number.parseInt(s.slice(4,6),16);return`rgba(${r}, ${a}, ${u}, ${i})`}return o.startsWith("rgb(")?o.replace(/^rgb\((.+)\)$/i,`rgba($1, ${i})`):o}function te(e){if(e.type==="solid")return e.color||"#000000";let t=e.direction??180,o=e.stops?.map(i=>`${i.color} ${i.offset}%`).join(", ")||"#000000 0%, #111111 100%";return`linear-gradient(${t}deg, ${o})`}function re(e){let t=e.glow;return t?`radial-gradient(circle at 50% 24%, ${M(t,.46)} 0%, ${M(t,.2)} 24%, rgba(0,0,0,0) 62%)`:"none"}function A(e){switch(e){case"tilted-left":return"perspective(2400px) rotateY(10deg) rotateZ(-2deg)";case"tilted-right":return"perspective(2400px) rotateY(-10deg) rotateZ(2deg)";case"cut-bottom":return"translateY(10%) scale(1.08)";case"cut-top":return"translateY(-16%) scale(1.08)";case"straight":default:return"none"}}function L(...e){let t=e.map(o=>o.trim()).filter(o=>o.length>0&&o!=="none");return t.length>0?t.join(" "):"none"}function E(e){let t=M(e.color,e.opacity),o=M(e.color,e.opacity*.52);return`drop-shadow(0 34px ${e.spread}px ${o}) drop-shadow(0 0 ${e.blur}px ${t})`}function R(e,t){return!t.glow||e.color&&e.color!==w.color?e:{...e,color:t.glow}}function oe(e,t){if(e==="editorial-left"){let n=Math.round(t.height*.056),s=Math.round(t.height*.022);return{copyStyle:["position:absolute",`top:${Math.round(t.height*.12)}px`,`left:${Math.round(t.width*.085)}px`,`width:${Math.round(t.width*.42)}px`,"text-align:left","z-index:3"].join(";"),titleStyle:`font-size:${n}px;line-height:0.92;`,subStyle:`font-size:${s}px;line-height:1.36;max-width:${Math.round(t.width*.36)}px;`,eyebrowStyle:"align-items:flex-start;",deviceStyle:(r,a,u)=>{let p=Math.round(t.width*.68*(a.scale??r.scale)),l=Math.round(t.height*(.03+r.offsetY+(a.offsetY??0))),c=a.pose||r.pose||"tilted-right",m=R(r.shadow,u);return["position:absolute",`top:${Math.round(t.height*.18)+l}px`,`left:${Math.round(t.width*.56)}px`,`width:${p}px`,"transform-origin:center center",`transform:${A(c)}`,`filter:${E(m)}`,"z-index:2"].join(";")}}}if(e==="minimal-bottom"){let n=Math.round(t.height*.041),s=Math.round(t.height*.019);return{copyStyle:["position:absolute",`left:${Math.round(t.width*.12)}px`,`right:${Math.round(t.width*.12)}px`,`bottom:${Math.round(t.height*.085)}px`,"text-align:center","z-index:3"].join(";"),titleStyle:`font-size:${n}px;line-height:0.96;`,subStyle:`font-size:${s}px;line-height:1.34;max-width:${Math.round(t.width*.56)}px;margin:0 auto;`,eyebrowStyle:"align-items:center;",deviceStyle:(r,a,u)=>{let p=Math.round(t.width*.84*(a.scale??r.scale)),l=Math.round(t.height*(r.offsetY+(a.offsetY??0))),c=a.pose||r.pose,m=R(r.shadow,u);return["position:absolute",`top:${Math.round(t.height*.075)+l}px`,"left:50%",`width:${p}px`,"transform-origin:center center",`transform:${L("translateX(-50%)",A(c))}`,`filter:${E(m)}`,"z-index:2"].join(";")}}}let o=Math.round(t.height*.04),i=Math.round(t.height*.019);return{copyStyle:["position:absolute",`top:${Math.round(t.height*.084)}px`,"left:50%",`width:${Math.round(t.width*.88)}px`,"transform:translateX(-50%)","text-align:center","z-index:3"].join(";"),titleStyle:`font-size:${o}px;line-height:0.92;`,subStyle:`font-size:${i}px;line-height:1.34;max-width:${Math.round(t.width*.6)}px;margin:0 auto;`,eyebrowStyle:"align-items:center;",deviceStyle:(n,s,r)=>{let a=t.name==="ipad-13"?.54:.64,u=Math.round(t.width*a*(s.scale??n.scale)),p=Math.round(t.height*(n.offsetY+(s.offsetY??0))),l=s.pose||n.pose,c=R(n.shadow,r);return["position:absolute",`top:${Math.round(t.height*(t.name==="ipad-13"?.25:.28))+p}px`,"left:50%",`width:${u}px`,"transform-origin:center top",`transform:${L("translateX(-50%)",A(l))}`,`filter:${E(c)}`,"z-index:2"].join(";")}}}function ne({canvas:e,compose:t,slide:o,imageDataUrl:i}){let n=o.background??t.background,s=oe(t.text.preset,e),r=t.text.preset!=="none"&&!!(o.eyebrow||o.headline||o.subheadline),a=s.deviceStyle(t.frame,o,n),u=o.headline?`<div style="font-weight:780;white-space:pre-line;text-wrap:balance;${s.titleStyle}">${v(o.headline)}</div>`:"",p=o.subheadline?`<div style="margin-top:${Math.round(e.height*.018)}px;color:${t.text.subColor};white-space:pre-line;text-wrap:balance;${s.subStyle}">${v(o.subheadline)}</div>`:"",l=o.eyebrow?`<div style="display:flex;${s.eyebrowStyle}margin-bottom:${Math.round(e.height*.016)}px;"><div style="font-size:${Math.round(e.height*.014)}px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:${t.text.eyebrowColor};">${v(o.eyebrow)}</div></div>`:"";return`<!doctype html>
|
|
3
|
-
<html>
|
|
4
|
-
<head>
|
|
5
|
-
<meta charset="utf-8" />
|
|
6
|
-
<style>
|
|
7
|
-
html, body {
|
|
8
|
-
margin: 0;
|
|
9
|
-
width: ${e.width}px;
|
|
10
|
-
height: ${e.height}px;
|
|
11
|
-
overflow: hidden;
|
|
12
|
-
background: transparent;
|
|
13
|
-
}
|
|
14
|
-
body {
|
|
15
|
-
font-family: "SF Pro Display", "Helvetica Neue", system-ui, sans-serif;
|
|
16
|
-
}
|
|
17
|
-
#canvas {
|
|
18
|
-
position: relative;
|
|
19
|
-
width: ${e.width}px;
|
|
20
|
-
height: ${e.height}px;
|
|
21
|
-
overflow: hidden;
|
|
22
|
-
background: ${te(n)};
|
|
23
|
-
color: ${t.text.color};
|
|
24
|
-
isolation: isolate;
|
|
25
|
-
}
|
|
26
|
-
#glow {
|
|
27
|
-
position: absolute;
|
|
28
|
-
inset: 0;
|
|
29
|
-
background: ${re(n)};
|
|
30
|
-
pointer-events: none;
|
|
31
|
-
}
|
|
32
|
-
#copy {
|
|
33
|
-
${s.copyStyle};
|
|
34
|
-
}
|
|
35
|
-
#device {
|
|
36
|
-
${a};
|
|
37
|
-
}
|
|
38
|
-
#device img {
|
|
39
|
-
display: block;
|
|
40
|
-
width: 100%;
|
|
41
|
-
height: auto;
|
|
42
|
-
}
|
|
43
|
-
</style>
|
|
44
|
-
</head>
|
|
45
|
-
<body>
|
|
46
|
-
<div id="canvas">
|
|
47
|
-
<div id="glow"></div>
|
|
48
|
-
${r?`<div id="copy">${l}${u}${p}</div>`:""}
|
|
49
|
-
<div id="device"><img src="${i}" alt="" /></div>
|
|
50
|
-
</div>
|
|
51
|
-
</body>
|
|
52
|
-
</html>`}async function U(e,t,o){let i=[],n=o??await(async()=>{let{chromium:r}=await import("playwright");return r.launch({headless:!0})})();try{let r=await n.newContext({viewport:{width:1280,height:720}});try{for(let a of t){let p=`data:image/png;base64,${Q(a.imagePath).toString("base64")}`;for(let l of e.canvases){let c=await r.newPage();try{await c.setViewportSize({width:l.width,height:l.height}),await c.setContent(ne({canvas:l,compose:e,slide:a.slide,imageDataUrl:p}),{waitUntil:"load"}),await c.waitForTimeout(20);let m=F.join(e.outDir,l.name,e.locale);I(m,{recursive:!0});let f=F.join(m,`${a.slide.assetKey}.png`),P=await c.screenshot({type:"png",clip:{x:0,y:0,width:l.width,height:l.height}});H(f,P),i.push({slideId:a.slide.id,canvas:l.name,locale:e.locale,outputPath:f,sourcePath:a.imagePath})}finally{await c.close()}}}}finally{await r.close()}}finally{!o&&typeof n.close=="function"&&await n.close()}I(e.outDir,{recursive:!0});let s=F.join(e.outDir,"manifest.json");return H(s,JSON.stringify({generatedAt:new Date().toISOString(),locale:e.locale,outputs:i},null,2)),{manifestPath:s,outputs:i.map(r=>r.outputPath),entries:i}}import{readFileSync as se}from"fs";import y from"path";function d(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function $(e,t){if(!d(e))throw new Error(`${t} must be an object`);return e}function h(e,t=""){return typeof e=="string"?e:t}function g(e){return typeof e=="string"&&e.trim().length>0?e.trim():null}function K(e,t){return typeof e=="boolean"?e:t}function S(e,t){return typeof e=="number"&&Number.isFinite(e)?e:t}function q(e,t){return typeof e!="string"||e.trim().length===0?t:Object.prototype.hasOwnProperty.call(T,e)?e:null}function W(e,t){if(typeof e=="string"){let n=x(e);if(!n)throw new Error(`unknown background preset: ${e}`);return n}if(!d(e))return z(t);let o=e.type==="solid"||e.type==="gradient"?e.type:t.type;if(o==="solid")return{type:o,color:h(e.color,t.color??"#000000"),glow:g(e.glow)??t.glow};let i=Array.isArray(e.stops)?e.stops.map(n=>{if(!d(n))return null;let s=S(n.offset,Number.NaN),r=g(n.color);return!Number.isFinite(s)||!r?null:{offset:s,color:r}}).filter(n=>!!n):t.stops?.map(n=>({...n}))??[];return{type:o,direction:S(e.direction,t.direction??180),glow:g(e.glow)??t.glow,stops:i.length>0?i:t.stops?.map(n=>({...n}))??[]}}function ie(e){let o=(Array.isArray(e)?e:["iphone-6-9"]).map(i=>{if(typeof i!="string")throw new Error("compose.canvases entries must be strings");let n=k(i);if(!n)throw new Error(`unknown canvas preset: ${i}`);return n});if(o.length===0)throw new Error("compose.canvases must include at least one preset");return o}function ae(e){switch(e){case"editorial-left":case"minimal-bottom":case"none":case"bold-top":return e;default:return"bold-top"}}function ce(e){switch(e){case"plan":case"flow":case"auto":return e;default:return"auto"}}function X(e){switch(e){case"straight":case"tilted-left":case"tilted-right":case"cut-bottom":case"cut-top":return e;default:return}}function b(e,t){return y.isAbsolute(t)?t:y.resolve(e,t)}function le(e,t){if(!Array.isArray(e)||e.length===0)throw new Error("compose.slides must be a non-empty array");return e.map((o,i)=>{let n=$(o,`compose.slides[${i}]`),s=g(n.screenshot);if(!s)throw new Error(`compose.slides[${i}].screenshot is required`);let r=g(n.id),a=_(r||s);return{id:r||a,assetKey:a,screenshot:s,headline:h(n.headline),subheadline:h(n.subheadline),eyebrow:h(n.eyebrow),pose:X(n.pose),scale:typeof n.scale=="number"&&Number.isFinite(n.scale)?n.scale:void 0,offsetY:typeof n.offsetY=="number"&&Number.isFinite(n.offsetY)?n.offsetY:void 0,background:n.theme||n.background?W(n.theme??n.background,t):void 0}})}function V(e){let t=y.resolve(e),o=y.dirname(t),i=O.parse(se(t,"utf8")),n=$(i,"screenshots plan"),s=$(n.capture??{},"capture"),r=$(n.compose??{},"compose"),a=typeof n.app=="number"?String(n.app):g(n.app),u=q(n.device,null),p=b(o,h(s.out,y.join(".sootsim","screenshots","capture"))),l=g(s.from),c=g(s.flow);if(!l&&!c)throw new Error("capture.flow or capture.from is required");let m=s.mode==="raw"||s.mode==="framed"||s.mode==="raw+framed"?s.mode:"raw+framed",f=ce(s.pathMode),P=W(r.background??"cyan",x("cyan")),J={show:K(r.frame&&d(r.frame)?r.frame.show:void 0,!0),style:q(r.frame&&d(r.frame)?r.frame.style:null,null)||u||D,pose:X(r.frame&&d(r.frame)?r.frame.pose:void 0)||"straight",scale:S(r.frame&&d(r.frame)?r.frame.scale:void 0,1),offsetY:S(r.frame&&d(r.frame)?r.frame.offsetY:void 0,0),shadow:{color:h(r.frame&&d(r.frame)&&d(r.frame.shadow)?r.frame.shadow.color:void 0,w.color),blur:S(r.frame&&d(r.frame)&&d(r.frame.shadow)?r.frame.shadow.blur:void 0,w.blur),spread:S(r.frame&&d(r.frame)&&d(r.frame.shadow)?r.frame.shadow.spread:void 0,w.spread),opacity:S(r.frame&&d(r.frame)&&d(r.frame.shadow)?r.frame.shadow.opacity:void 0,w.opacity)}};return{planPath:t,planDir:o,appTarget:a,deviceModel:u,capture:{flowPath:c?b(o,c):null,fromDir:l?b(o,l):null,outDir:p,rawDir:l?b(o,l):y.join(p,"raw"),framedDir:y.join(p,"framed"),mode:m,pathMode:f,simId:g(s.sim),openInNewSim:K(s.new,!1)},compose:{outDir:b(o,h(r.out,y.join(".sootsim","screenshots","exports"))),locale:h(r.locale,"en"),canvases:ie(r.canvases),frame:J,background:P,text:{preset:ae(r.text&&d(r.text)?r.text.preset:void 0),color:h(r.text&&d(r.text)?r.text.color:void 0,"#ffffff"),subColor:h(r.text&&d(r.text)?r.text.subColor:void 0,"rgba(232,240,247,0.86)"),eyebrowColor:h(r.text&&d(r.text)?r.text.eyebrowColor:void 0,"rgba(229,242,255,0.72)")},slides:le(r.slides,P)}}}function ue(e){return e.capture.pathMode==="plan"||e.capture.pathMode==="flow"?e.capture.pathMode:e.capture.fromDir?"flow":"plan"}function de(e,t){if(!e.capture.flowPath)throw new Error("capture flow path is required to build flow args");let o=[e.capture.flowPath],i=ue(e);o.push("--screenshots",e.capture.rawDir),i==="flow"&&o.push("--screenshot-paths","flow");let n=t.appTarget??e.appTarget,s=t.deviceModel??e.deviceModel,r=t.simId??e.capture.simId;return n&&o.push("--url",n),s&&o.push("--device",s),r&&o.push("--sim",r),e.capture.openInNewSim&&o.push("--new"),o}function N(e,t){return C.isAbsolute(t)?t:C.join(e.capture.rawDir,t)}function me(e){return C.join(e.capture.outDir,"manifest.json")}async function he(e,t){if(!e.capture.flowPath)return;B(e.capture.rawDir,{recursive:!0});let o=de(e,t),i=await Y(o);if(i!==0)throw new Error(`flow capture failed with exit code ${i}`)}async function fe(e,t){let o=new Map;B(e.capture.framedDir,{recursive:!0});let i=t??await(async()=>{let{chromium:n}=await import("playwright");return n.launch({headless:!0})})();try{let n=await j(i);try{for(let s of e.compose.slides){let r=N(e,s.screenshot),a=pe(r),u=await n.compose(a,e.compose.frame.style),p=C.join(e.capture.framedDir,`${s.assetKey}.png`);G(p,u),o.set(s.id,p)}}finally{await n.close()}}finally{!t&&typeof i.close=="function"&&await i.close()}return o}function ge(e,t,o){let i=[],n=[];B(e.capture.outDir,{recursive:!0});let s=me(e),r=e.compose.slides.map(a=>{let u=N(e,a.screenshot),p=t.get(a.id)??null;return i.push(u),p&&n.push(p),{id:a.id,screenshot:a.screenshot,rawPath:u,framedPath:p}});return G(s,JSON.stringify({generatedAt:new Date().toISOString(),deviceModel:o,mode:e.capture.mode,rawDir:e.capture.rawDir,framedDir:e.capture.framedDir,slides:r},null,2)),{manifestPath:s,rawDir:e.capture.rawDir,framedDir:e.capture.framedDir,rawFiles:i,framedFiles:n}}function we(e,t){return e.compose.slides.map(o=>({slide:o,imagePath:e.compose.frame.show===!0?t.get(o.id)??N(e,o.screenshot):N(e,o.screenshot)}))}async function Z(e,t={}){let o=V(e),i=t.deviceModel??o.deviceModel;t.composeOnly||await he(o,t);let n=o.capture.mode!=="raw"||!t.captureOnly&&o.compose.frame.show===!0,r=n||!t.captureOnly?await(async()=>{let{chromium:a}=await import("playwright");return a.launch({headless:!0})})():null;try{let a=n?await fe(o,r??void 0):new Map,u=ge(o,a,i);if(t.captureOnly)return{plan:o,capture:u,compose:null};let p=we(o,a),l=await U(o.compose,p,r??void 0);return{plan:o,capture:u,compose:l}}finally{r&&typeof r.close=="function"&&await r.close()}}async function qe(e,t={}){if(e.includes("--help")||e.includes("-h"))return console.log(`
|
|
53
|
-
sootsim screenshots \u2014 capture and compose app-store screenshot sets
|
|
54
|
-
|
|
55
|
-
usage:
|
|
56
|
-
sootsim screenshots --plan <plan.yaml> [options]
|
|
57
|
-
|
|
58
|
-
options:
|
|
59
|
-
--plan <path> screenshot plan yaml
|
|
60
|
-
--sim <id> reuse a live sim for capture
|
|
61
|
-
--app <target> override plan app target (port, url, or shell url)
|
|
62
|
-
--device <model> override plan capture device for this run
|
|
63
|
-
--capture-only stop after raw/framed intermediates
|
|
64
|
-
--compose-only skip flow capture, reuse existing raw screenshots
|
|
65
|
-
|
|
66
|
-
examples:
|
|
67
|
-
sootsim screenshots --plan app-store.yaml
|
|
68
|
-
sootsim screenshots --plan app-store.yaml --sim a9
|
|
69
|
-
sootsim screenshots --plan app-store.yaml --device iphone-14
|
|
70
|
-
`),0;let o=c=>e.find((m,f)=>e[f-1]===c),i=new Set(["--plan","--sim","--app","--device"]),n=e.filter((c,m)=>{if(c.startsWith("-"))return!1;let f=e[m-1];return!f||!i.has(f)}),s=o("--plan")||n[0];if(!s)return console.error(" error: screenshots plan path is required (`--plan <path>`)."),1;let r=o("--sim")?.trim()||null,a=o("--app")?.trim()||null,u=o("--device")?.trim()||null,p=e.includes("--capture-only"),l=e.includes("--compose-only");try{let c=await Z(s,{simId:r,appTarget:a,deviceModel:u,captureOnly:p,composeOnly:l});return console.log(` capture manifest: ${c.capture.manifestPath}`),c.compose?(console.log(` compose manifest: ${c.compose.manifestPath}`),console.log(` exports: ${c.compose.outputs.length}`)):console.log(" compose skipped"),0}catch(c){return console.error(` screenshots failed: ${c.message}`),1}}export{qe as runScreenshots};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.145 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a}from"./chunk-AUMBVWWD.js";import"./chunk-DNM2AOHD.js";import"./chunk-NX6V5VAV.js";import"./chunk-Q3UIMXJY.js";import"./chunk-T35Q6ZGG.js";import"./chunk-RV3WN4FQ.js";import"./chunk-R76YX6KD.js";import"./chunk-36RF3WRB.js";import"./chunk-ANTCWWXN.js";import"./chunk-A27TUQQZ.js";export{a as runSetupRepo};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! sootsim v0.1.145 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
|
-
import{a,b,c}from"./chunk-RHHCV6M4.js";import"./chunk-3Q7M3ATN.js";import"./chunk-YENFSYAG.js";import"./chunk-Q3UIMXJY.js";import"./chunk-SMMTE4QY.js";import"./chunk-MNMNX4O7.js";import"./chunk-T35Q6ZGG.js";import"./chunk-RV3WN4FQ.js";import"./chunk-R76YX6KD.js";import"./chunk-36RF3WRB.js";import"./chunk-ANTCWWXN.js";import"./chunk-A27TUQQZ.js";export{a as resolveDefaultUploadOrigin,b as resolvePublicPreviewOrigin,c as runUpload};
|