sootsim 0.1.147 → 0.1.148

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.
Files changed (151) hide show
  1. package/dist-cli/bin.js +3 -3
  2. package/dist-cli/chunks/{agent-COSQ2VSX.js → agent-A5AQOHSI.js} +2 -2
  3. package/dist-cli/chunks/{agent-wrapper-J6LA36AT.js → agent-wrapper-S6AUOIXU.js} +2 -2
  4. package/dist-cli/chunks/{app-fonts-H4CXDIF6.js → app-fonts-MQDZ55OI.js} +2 -2
  5. package/dist-cli/chunks/{assert-THSUXYWU.js → assert-USJNKN7R.js} +2 -2
  6. package/dist-cli/chunks/auto-bootstrap-CKH5ZZSJ.js +2 -0
  7. package/dist-cli/chunks/beta-Q6IKT5HT.js +2 -0
  8. package/dist-cli/chunks/{camera-4NINTJSC.js → camera-C4SKSA76.js} +2 -2
  9. package/dist-cli/chunks/{chunk-PZL2H5SD.js → chunk-23QZQBTT.js} +1 -1
  10. package/dist-cli/chunks/{chunk-EJIK4ANI.js → chunk-2B26APLC.js} +2 -2
  11. package/dist-cli/chunks/{chunk-UPDZS7GX.js → chunk-2GROEF3J.js} +3 -3
  12. package/dist-cli/chunks/{chunk-TNCYQFCC.js → chunk-2OJ53PGA.js} +1 -1
  13. package/dist-cli/chunks/{chunk-LWC2FLTG.js → chunk-2SDVI2JB.js} +2 -2
  14. package/dist-cli/chunks/{chunk-HYVQAUD4.js → chunk-474QHKFY.js} +2 -2
  15. package/dist-cli/chunks/{chunk-SK3UIUQL.js → chunk-4JVDEEJJ.js} +1 -1
  16. package/dist-cli/chunks/{chunk-HENMFGLU.js → chunk-4T5Q2CUU.js} +1 -1
  17. package/dist-cli/chunks/{chunk-T7ERR3Y2.js → chunk-7EBPIOTW.js} +1 -1
  18. package/dist-cli/chunks/{chunk-TM6NU7CC.js → chunk-A57WJDB2.js} +2 -2
  19. package/dist-cli/chunks/{chunk-QCPYYZGR.js → chunk-AXLTLDHE.js} +2 -2
  20. package/dist-cli/chunks/{chunk-FY4TSSMQ.js → chunk-BCRYE4YH.js} +1 -1
  21. package/dist-cli/chunks/{chunk-OL7HTJVC.js → chunk-BCWW5RSQ.js} +1 -1
  22. package/dist-cli/chunks/{chunk-KAAYKAUG.js → chunk-BDKC2GLL.js} +2 -2
  23. package/dist-cli/chunks/{chunk-QGQRB6D2.js → chunk-BWE6H36P.js} +2 -2
  24. package/dist-cli/chunks/{chunk-B46RT5KY.js → chunk-CKOXSYJ6.js} +1 -1
  25. package/dist-cli/chunks/{chunk-SIGAKBUY.js → chunk-CN3ACF52.js} +2 -2
  26. package/dist-cli/chunks/{chunk-MCQIOGWG.js → chunk-F3MFOV7R.js} +1 -1
  27. package/dist-cli/chunks/{chunk-BDLFGAKU.js → chunk-G5BKDQGP.js} +1 -1
  28. package/dist-cli/chunks/{chunk-ZU5S3Z7A.js → chunk-GXHVONDU.js} +2 -2
  29. package/dist-cli/chunks/{chunk-UQGDJNV2.js → chunk-IQVOFR7U.js} +2 -2
  30. package/dist-cli/chunks/{chunk-5PKIU2SG.js → chunk-IYRFX6KX.js} +1 -1
  31. package/dist-cli/chunks/chunk-JQFOV34Q.js +1 -0
  32. package/dist-cli/chunks/{chunk-5MX2B2EO.js → chunk-K4QZ6WX6.js} +2 -2
  33. package/dist-cli/chunks/{chunk-DXL23RFP.js → chunk-KZ6AQHHA.js} +2 -2
  34. package/dist-cli/chunks/{chunk-FOLNNKZG.js → chunk-NK6RKGX2.js} +1 -1
  35. package/dist-cli/chunks/{chunk-HN2Q2ZWT.js → chunk-NMN4JPG2.js} +1 -1
  36. package/dist-cli/chunks/{chunk-L7SG7TDU.js → chunk-NOBEILT5.js} +1 -1
  37. package/dist-cli/chunks/{chunk-VC7MRZW7.js → chunk-PMM6MNCR.js} +2 -2
  38. package/dist-cli/chunks/chunk-ROADBGFV.js +2 -0
  39. package/dist-cli/chunks/{chunk-UODOGO3P.js → chunk-S3WEUJM3.js} +2 -2
  40. package/dist-cli/chunks/chunk-SY5JYGZE.js +1 -0
  41. package/dist-cli/chunks/{chunk-VZ7VB7HX.js → chunk-T4FJHKU4.js} +2 -2
  42. package/dist-cli/chunks/{chunk-BOU5OTEA.js → chunk-TWOGFNQ7.js} +1 -1
  43. package/dist-cli/chunks/{chunk-QEC2WZAU.js → chunk-TYHRA7FX.js} +2 -2
  44. package/dist-cli/chunks/{chunk-4CLJIXM3.js → chunk-U2U22DTV.js} +1 -1
  45. package/dist-cli/chunks/{chunk-SQBPTIVB.js → chunk-UK7GX57G.js} +2 -2
  46. package/dist-cli/chunks/chunk-V4EYA5L5.js +1 -0
  47. package/dist-cli/chunks/{chunk-V5TDYT4H.js → chunk-XWUUFV45.js} +2 -2
  48. package/dist-cli/chunks/{chunk-ZO7E7WE5.js → chunk-XYFPDYAI.js} +1 -1
  49. package/dist-cli/chunks/{chunk-PWGYVHEW.js → chunk-Y5E53BEN.js} +2 -2
  50. package/dist-cli/chunks/{chunk-5CTOWZY4.js → chunk-YONGHIDE.js} +2 -2
  51. package/dist-cli/chunks/{chunk-DO2Z5CNM.js → chunk-YXZD545S.js} +3 -3
  52. package/dist-cli/chunks/{chunk-54R6LIOF.js → chunk-ZMG6VGYA.js} +2 -2
  53. package/dist-cli/chunks/{chunk-SAV6NL5J.js → chunk-ZNYPWEMX.js} +3 -3
  54. package/dist-cli/chunks/cli-version-5KMLKVRO.js +2 -0
  55. package/dist-cli/chunks/{compat-E5CN4JWN.js → compat-7NMHHJXV.js} +3 -3
  56. package/dist-cli/chunks/{config-H75A6KBX.js → config-XKL7G2P3.js} +2 -2
  57. package/dist-cli/chunks/{control-CYDNB7NS.js → control-ZGD3NJES.js} +2 -2
  58. package/dist-cli/chunks/{cpu-profile-QUFYSFW2.js → cpu-profile-ITFDFMIJ.js} +2 -2
  59. package/dist-cli/chunks/{daemon-7GPY5B63.js → daemon-LHFCZTK6.js} +2 -2
  60. package/dist-cli/chunks/{debug-5WWA5QA3.js → debug-C3X2PP3H.js} +3 -3
  61. package/dist-cli/chunks/{detox-O55BWRH7.js → detox-ITXRK6EB.js} +2 -2
  62. package/dist-cli/chunks/{device-AQRY7VKI.js → device-PBA26VX4.js} +2 -2
  63. package/dist-cli/chunks/{diagnose-FDKSEQJ5.js → diagnose-IWYHJJ7K.js} +2 -2
  64. package/dist-cli/chunks/drivers-5B4IZBF3.js +2 -0
  65. package/dist-cli/chunks/{electron-ZQBTU3QE.js → electron-6NRCOUQ3.js} +3 -3
  66. package/dist-cli/chunks/flow-ITIKFOJJ.js +2 -0
  67. package/dist-cli/chunks/help-A26MVCNK.js +2 -0
  68. package/dist-cli/chunks/{hints-7UYBREXC.js → hints-RBTS7PGP.js} +2 -2
  69. package/dist-cli/chunks/{home-paths-2FGC73RX.js → home-paths-XKUYGHWD.js} +2 -2
  70. package/dist-cli/chunks/{inspect-DIBHPUVR.js → inspect-7V5RQUJM.js} +3 -3
  71. package/dist-cli/chunks/install-AJ3BWZ2Z.js +2 -0
  72. package/dist-cli/chunks/{install-desktop-JGMQYTE4.js → install-desktop-MD77SEFP.js} +3 -3
  73. package/dist-cli/chunks/{keys-76ZYEU3L.js → keys-LJMI7F3J.js} +2 -2
  74. package/dist-cli/chunks/{launch-73NGQKXM.js → launch-RKUIUORR.js} +3 -3
  75. package/dist-cli/chunks/{login-6EFONAEU.js → login-M7EXKPAT.js} +4 -4
  76. package/dist-cli/chunks/{logout-C3W5XSSV.js → logout-OVAZMIW5.js} +2 -2
  77. package/dist-cli/chunks/{maestro-HVAORFSN.js → maestro-S4RQPFHB.js} +2 -2
  78. package/dist-cli/chunks/optional-demo-registry-DA3SDA2G.js +2 -0
  79. package/dist-cli/chunks/{preview-EC3BTC6H.js → preview-QSIZ6KNZ.js} +2 -2
  80. package/dist-cli/chunks/{profile-UAZ2OUJ4.js → profile-6QQ3G5X7.js} +2 -2
  81. package/dist-cli/chunks/{react-XQCVY4U2.js → react-HR7OT4NK.js} +2 -2
  82. package/dist-cli/chunks/{record-IGGTUUYU.js → record-ZRSPOPCY.js} +2 -2
  83. package/dist-cli/chunks/runtime-X5RH4ZUA.js +2 -0
  84. package/dist-cli/chunks/{runtime-delivery-NXMBF4CK.js → runtime-delivery-MFVXZGIF.js} +2 -2
  85. package/dist-cli/chunks/{screenshot-JTZJZCCX.js → screenshot-QNQ4TJ3I.js} +2 -2
  86. package/dist-cli/chunks/{screenshot-mode-WZ6ZO5CD.js → screenshot-mode-27K7PUTV.js} +2 -2
  87. package/dist-cli/chunks/{screenshots-P5VB65PJ.js → screenshots-LH7R6LV3.js} +2 -2
  88. package/dist-cli/chunks/{server-2BYQFJUM.js → server-QQRPB6AJ.js} +8 -8
  89. package/dist-cli/chunks/setup-repo-CTPFDKV3.js +2 -0
  90. package/dist-cli/chunks/{skills-A2I5K4UQ.js → skills-KNFHQD77.js} +2 -2
  91. package/dist-cli/chunks/{slides-O25XV2IB.js → slides-GWMFQQAF.js} +2 -2
  92. package/dist-cli/chunks/{start-HY4ZGAE2.js → start-4INDW3QD.js} +4 -4
  93. package/dist-cli/chunks/store-SIN5AXHS.js +2 -0
  94. package/dist-cli/chunks/telemetry-QHL6TKNR.js +2 -0
  95. package/dist-cli/chunks/{test-IVVOPKT5.js → test-Q3CEHSD5.js} +3 -3
  96. package/dist-cli/chunks/three-mode-GTKSFFV7.js +58 -0
  97. package/dist-cli/chunks/{timeline-R6M6EJQA.js → timeline-NBDNN5SP.js} +2 -2
  98. package/dist-cli/chunks/{upgrade-CZQ6GK7Y.js → upgrade-UE7B726I.js} +2 -2
  99. package/dist-cli/chunks/upload-UXXFJA3K.js +2 -0
  100. package/dist-cli/chunks/{version-XVAS3GOH.js → version-SS32LC2F.js} +2 -2
  101. package/dist-cli/chunks/{web-35EQF7J6.js → web-A3EW2IWT.js} +2 -2
  102. package/dist-cli/chunks/{what-happened-MYXKT7EW.js → what-happened-NVKZVCHT.js} +2 -2
  103. package/dist-cli/chunks/{whoami-J7EHW2UD.js → whoami-FWRWWX2E.js} +2 -2
  104. package/dist-lib/agent-daemon-client.cjs +1 -1
  105. package/dist-lib/agent-events.cjs +1 -1
  106. package/dist-lib/agent-sessions.cjs +1 -1
  107. package/dist-lib/attached-projects.cjs +1 -1
  108. package/dist-lib/auth/shared-session.cjs +1 -1
  109. package/dist-lib/backend-origin.cjs +1 -1
  110. package/dist-lib/beta.cjs +1 -1
  111. package/dist-lib/beta.mjs +1 -1
  112. package/dist-lib/bridge-constants.cjs +1 -1
  113. package/dist-lib/cli-constants.cjs +1 -1
  114. package/dist-lib/config.cjs +1 -1
  115. package/dist-lib/detox/index.cjs +1 -1
  116. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  117. package/dist-lib/home-paths.cjs +1 -1
  118. package/dist-lib/host/bridge-host.cjs +16 -1
  119. package/dist-lib/host/fetch-proxy-handler.cjs +1 -1
  120. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  121. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  122. package/dist-lib/host/websocket-proxy.cjs +1 -1
  123. package/dist-lib/index.cjs +1 -1
  124. package/dist-lib/metro.cjs +1 -1
  125. package/dist-lib/profiles.cjs +1 -1
  126. package/dist-lib/render-mode.cjs +1 -1
  127. package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
  128. package/dist-lib/sdk.cjs +1 -1
  129. package/dist-lib/sdk.mjs +1 -1
  130. package/dist-lib/skills.cjs +16 -1
  131. package/dist-lib/vite.cjs +1 -1
  132. package/package.json +1 -1
  133. package/src/host/bridge-host.ts +22 -0
  134. package/dist-cli/chunks/auto-bootstrap-SPALBOGS.js +0 -2
  135. package/dist-cli/chunks/beta-U3V7RSRI.js +0 -2
  136. package/dist-cli/chunks/chunk-EWAA5DKR.js +0 -1
  137. package/dist-cli/chunks/chunk-KTCY7WJ2.js +0 -2
  138. package/dist-cli/chunks/chunk-QGWWRXSG.js +0 -1
  139. package/dist-cli/chunks/chunk-ZPDQ3S7P.js +0 -1
  140. package/dist-cli/chunks/cli-version-TJZ4JXUC.js +0 -2
  141. package/dist-cli/chunks/drivers-QDHVKRYQ.js +0 -2
  142. package/dist-cli/chunks/flow-H6MLEX2L.js +0 -2
  143. package/dist-cli/chunks/help-THQ2V5SE.js +0 -2
  144. package/dist-cli/chunks/install-R63X4FZO.js +0 -2
  145. package/dist-cli/chunks/optional-demo-registry-AJQV4MPG.js +0 -2
  146. package/dist-cli/chunks/runtime-ATNAKUCZ.js +0 -2
  147. package/dist-cli/chunks/setup-repo-7BUMPQZM.js +0 -2
  148. package/dist-cli/chunks/store-VXGE7SLD.js +0 -2
  149. package/dist-cli/chunks/telemetry-HGRYUILN.js +0 -2
  150. package/dist-cli/chunks/three-mode-TYAB3FVD.js +0 -54
  151. package/dist-cli/chunks/upload-NR4J3LM2.js +0 -2
@@ -1,5 +1,5 @@
1
- /*! sootsim v0.1.147 | (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-T7ERR3Y2.js";import{c as N,e as F}from"./chunk-VC7MRZW7.js";import{b as k}from"./chunk-SK3UIUQL.js";import"./chunk-4CLJIXM3.js";import"./chunk-MCQIOGWG.js";import"./chunk-ZO7E7WE5.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(`
1
+ /*! sootsim v0.1.148 | (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-7EBPIOTW.js";import{c as N,e as F}from"./chunk-PMM6MNCR.js";import{b as k}from"./chunk-4JVDEEJJ.js";import"./chunk-U2U22DTV.js";import"./chunk-F3MFOV7R.js";import"./chunk-XYFPDYAI.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.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{d as i}from"./chunk-TM6NU7CC.js";import{d as n}from"./chunk-QEC2WZAU.js";import"./chunk-MCQIOGWG.js";import"./chunk-ZO7E7WE5.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
+ /*! sootsim v0.1.148 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
+ import{d as i}from"./chunk-A57WJDB2.js";import{d as n}from"./chunk-TYHRA7FX.js";import"./chunk-F3MFOV7R.js";import"./chunk-XYFPDYAI.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.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.148 | (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.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.148 | (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.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.148 | (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.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.148 | (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.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.148 | (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.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.148 | (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.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.148 | (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.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.148 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/beta.ts
4
4
  var IS_BETA = true;
@@ -1,4 +1,4 @@
1
- /*! sootsim v0.1.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.148 | (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.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.148 | (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.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.148 | (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.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.148 | (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.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.148 | (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.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.148 | (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.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.148 | (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;
@@ -3845,6 +3845,20 @@ var SootSimBridgeHost = class _SootSimBridgeHost {
3845
3845
  isAutomationSim(sim) {
3846
3846
  return sim.meta?.sootsimHostDriver === "playwright";
3847
3847
  }
3848
+ // an automation sim whose spawning playwright host process is still alive is
3849
+ // an ACTIVE run, not an abandoned tab. mirrors the cli's playwrightHostPidForSim
3850
+ // (control.ts): extract the host pid from meta, then check liveness so the
3851
+ // host-side idle GC never kills a live capture/factory sim mid-run.
3852
+ automationSimOwnerAlive(sim) {
3853
+ const pid = Number(sim.meta?.sootsimHostPid);
3854
+ if (!Number.isInteger(pid) || pid <= 1 || pid === process.pid) return false;
3855
+ try {
3856
+ process.kill(pid, 0);
3857
+ return true;
3858
+ } catch (err) {
3859
+ return err.code === "EPERM";
3860
+ }
3861
+ }
3848
3862
  reapIdleSims(now = Date.now()) {
3849
3863
  const attachedSimIds = new Set(this.cliSimBySocket.values());
3850
3864
  const automationLive = [];
@@ -3855,6 +3869,7 @@ var SootSimBridgeHost = class _SootSimBridgeHost {
3855
3869
  const lastTouched = Math.max(sim.lastActiveAt, sim.connectedAt);
3856
3870
  const idleMs = now - lastTouched;
3857
3871
  const automation = this.isAutomationSim(sim);
3872
+ if (automation && this.automationSimOwnerAlive(sim)) continue;
3858
3873
  const ttl = automation ? this.automationSimIdleReapTtlMs : this.simIdleReapTtlMs;
3859
3874
  if (idleMs >= ttl) {
3860
3875
  this.closeSimSocketFromHost(sim.ws);
@@ -1,4 +1,4 @@
1
- /*! sootsim v0.1.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.148 | (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.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.148 | (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.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.148 | (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.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.148 | (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.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.148 | (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.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.148 | (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.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.148 | (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.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.148 | (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.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.148 | (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.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.148 | (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
@@ -1,4 +1,4 @@
1
- /*! sootsim v0.1.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.148 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // cli/commands/inspect/core.ts
4
4
  function resolveMaxMsFlag(args, fallbackMs) {
@@ -1,4 +1,4 @@
1
- /*! sootsim v0.1.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.148 | (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;
@@ -13885,6 +13885,20 @@ var init_bridge_host = __esm({
13885
13885
  isAutomationSim(sim) {
13886
13886
  return sim.meta?.sootsimHostDriver === "playwright";
13887
13887
  }
13888
+ // an automation sim whose spawning playwright host process is still alive is
13889
+ // an ACTIVE run, not an abandoned tab. mirrors the cli's playwrightHostPidForSim
13890
+ // (control.ts): extract the host pid from meta, then check liveness so the
13891
+ // host-side idle GC never kills a live capture/factory sim mid-run.
13892
+ automationSimOwnerAlive(sim) {
13893
+ const pid = Number(sim.meta?.sootsimHostPid);
13894
+ if (!Number.isInteger(pid) || pid <= 1 || pid === process.pid) return false;
13895
+ try {
13896
+ process.kill(pid, 0);
13897
+ return true;
13898
+ } catch (err) {
13899
+ return err.code === "EPERM";
13900
+ }
13901
+ }
13888
13902
  reapIdleSims(now = Date.now()) {
13889
13903
  const attachedSimIds = new Set(this.cliSimBySocket.values());
13890
13904
  const automationLive = [];
@@ -13895,6 +13909,7 @@ var init_bridge_host = __esm({
13895
13909
  const lastTouched = Math.max(sim.lastActiveAt, sim.connectedAt);
13896
13910
  const idleMs = now - lastTouched;
13897
13911
  const automation = this.isAutomationSim(sim);
13912
+ if (automation && this.automationSimOwnerAlive(sim)) continue;
13898
13913
  const ttl = automation ? this.automationSimIdleReapTtlMs : this.simIdleReapTtlMs;
13899
13914
  if (idleMs >= ttl) {
13900
13915
  this.closeSimSocketFromHost(sim.ws);
package/dist-lib/vite.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! sootsim v0.1.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.148 | (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,6 +1,6 @@
1
1
  {
2
2
  "name": "sootsim",
3
- "version": "0.1.147",
3
+ "version": "0.1.148",
4
4
  "description": "sootsim CLI + vite/metro plugins + skills registry. bridge client for driving the proprietary sootsim-engine over WebSocket.",
5
5
  "author": "Tamagui LLC",
6
6
  "license": "MIT",
@@ -1666,6 +1666,21 @@ export class SootSimBridgeHost {
1666
1666
  return sim.meta?.sootsimHostDriver === 'playwright'
1667
1667
  }
1668
1668
 
1669
+ // an automation sim whose spawning playwright host process is still alive is
1670
+ // an ACTIVE run, not an abandoned tab. mirrors the cli's playwrightHostPidForSim
1671
+ // (control.ts): extract the host pid from meta, then check liveness so the
1672
+ // host-side idle GC never kills a live capture/factory sim mid-run.
1673
+ private automationSimOwnerAlive(sim: BridgeSimConnection): boolean {
1674
+ const pid = Number(sim.meta?.sootsimHostPid)
1675
+ if (!Number.isInteger(pid) || pid <= 1 || pid === process.pid) return false
1676
+ try {
1677
+ process.kill(pid, 0) // ESRCH → dead; EPERM → alive but unsignalable
1678
+ return true
1679
+ } catch (err) {
1680
+ return (err as NodeJS.ErrnoException).code === 'EPERM'
1681
+ }
1682
+ }
1683
+
1669
1684
  private reapIdleSims(now = Date.now()) {
1670
1685
  const attachedSimIds = new Set(this.cliSimBySocket.values())
1671
1686
  // automation sims that pass every "someone cares" gate but are still under
@@ -1680,6 +1695,13 @@ export class SootSimBridgeHost {
1680
1695
  const lastTouched = Math.max(sim.lastActiveAt, sim.connectedAt)
1681
1696
  const idleMs = now - lastTouched
1682
1697
  const automation = this.isAutomationSim(sim)
1698
+ // a live-owner automation sim is an ACTIVE run (its spawning playwright host
1699
+ // process is still alive) — never reap it. the host keeps Chrome alive
1700
+ // intentionally and tears it down itself when ITS owner driver dies; only
1701
+ // orphaned/host-dead autos are the leak this reaper targets. (2026-06: the
1702
+ // 10-min automation TTL was reaping live capture + factory sims mid-run —
1703
+ // too aggressive.) continue skips both the TTL reap and the cap pass below.
1704
+ if (automation && this.automationSimOwnerAlive(sim)) continue
1683
1705
  const ttl = automation ? this.automationSimIdleReapTtlMs : this.simIdleReapTtlMs
1684
1706
  if (idleMs >= ttl) {
1685
1707
  // terminal close → client closes the window, does not reconnect; the
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b,c,d}from"./chunk-DO2Z5CNM.js";import"./chunk-VC7MRZW7.js";import"./chunk-SK3UIUQL.js";import"./chunk-4CLJIXM3.js";import"./chunk-MCQIOGWG.js";import"./chunk-ZO7E7WE5.js";export{c as ensureDaemonRunning,a as ensureRuntimeInstalled,d as ensureSootsimReady,b as resolveBootstrapPort};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b,c,d,e}from"./chunk-HENMFGLU.js";import"./chunk-ZO7E7WE5.js";export{e as BETA_ASK_HEADLINE,c as BETA_LABEL,d as BETA_TAGLINE,b as BETA_VERSION_TARGET,a as IS_BETA};
@@ -1 +0,0 @@
1
- /*! sootsim v0.1.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- var t="http://localhost:5173/";export{t as a};
@@ -1 +0,0 @@
1
- /*! sootsim v0.1.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
@@ -1 +0,0 @@
1
- /*! sootsim v0.1.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a}from"./chunk-FY4TSSMQ.js";import"./chunk-ZO7E7WE5.js";export{a as getCliVersion};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import"./chunk-EWAA5DKR.js";import{a,b,c,d,e,f,g,h,i}from"./chunk-HYVQAUD4.js";import"./chunk-PZL2H5SD.js";import"./chunk-DXL23RFP.js";import"./chunk-ZPDQ3S7P.js";import"./chunk-OL7HTJVC.js";import"./chunk-SK3UIUQL.js";import"./chunk-MCQIOGWG.js";import"./chunk-ZO7E7WE5.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.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a as c,b as d,c as e,d as f}from"./chunk-UPDZS7GX.js";import"./chunk-5CTOWZY4.js";import"./chunk-QGWWRXSG.js";import"./chunk-LWC2FLTG.js";import"./chunk-VZ7VB7HX.js";import"./chunk-TM6NU7CC.js";import{c as a,d as b}from"./chunk-SQBPTIVB.js";import"./chunk-QCPYYZGR.js";import"./chunk-KAAYKAUG.js";import"./chunk-UODOGO3P.js";import"./chunk-T7ERR3Y2.js";import"./chunk-HN2Q2ZWT.js";import"./chunk-VC7MRZW7.js";import"./chunk-5PKIU2SG.js";import"./chunk-HYVQAUD4.js";import"./chunk-PZL2H5SD.js";import"./chunk-DXL23RFP.js";import"./chunk-ZPDQ3S7P.js";import"./chunk-OL7HTJVC.js";import"./chunk-SK3UIUQL.js";import"./chunk-PWGYVHEW.js";import"./chunk-QEC2WZAU.js";import"./chunk-SIGAKBUY.js";import"./chunk-KTCY7WJ2.js";import"./chunk-4CLJIXM3.js";import"./chunk-EJIK4ANI.js";import"./chunk-FOLNNKZG.js";import"./chunk-MCQIOGWG.js";import"./chunk-ZO7E7WE5.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.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b,c}from"./chunk-5MX2B2EO.js";import"./chunk-SIGAKBUY.js";import"./chunk-B46RT5KY.js";import"./chunk-KTCY7WJ2.js";import"./chunk-4CLJIXM3.js";import"./chunk-FY4TSSMQ.js";import"./chunk-HENMFGLU.js";import"./chunk-FOLNNKZG.js";import"./chunk-MCQIOGWG.js";import"./chunk-ZO7E7WE5.js";export{c as printCommandHelp,b as printGroupHelp,a as printHelp};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a as o}from"./chunk-ZU5S3Z7A.js";import"./chunk-BDLFGAKU.js";import"./chunk-DO2Z5CNM.js";import"./chunk-VC7MRZW7.js";import"./chunk-SK3UIUQL.js";import"./chunk-PWGYVHEW.js";import"./chunk-QEC2WZAU.js";import"./chunk-4CLJIXM3.js";import"./chunk-MCQIOGWG.js";import"./chunk-ZO7E7WE5.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.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b}from"./chunk-5PKIU2SG.js";import"./chunk-ZO7E7WE5.js";export{a as loadOptionalDemoApps,b as optionalDemoAppsSync};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b}from"./chunk-SAV6NL5J.js";import"./chunk-VC7MRZW7.js";import"./chunk-SK3UIUQL.js";import"./chunk-4CLJIXM3.js";import"./chunk-QGQRB6D2.js";import"./chunk-MCQIOGWG.js";import"./chunk-ZO7E7WE5.js";export{b as formatReleaseEntry,a as runRuntime};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a}from"./chunk-ZU5S3Z7A.js";import"./chunk-BDLFGAKU.js";import"./chunk-DO2Z5CNM.js";import"./chunk-VC7MRZW7.js";import"./chunk-SK3UIUQL.js";import"./chunk-PWGYVHEW.js";import"./chunk-QEC2WZAU.js";import"./chunk-4CLJIXM3.js";import"./chunk-MCQIOGWG.js";import"./chunk-ZO7E7WE5.js";export{a as runSetupRepo};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a}from"./chunk-EJIK4ANI.js";import"./chunk-FOLNNKZG.js";import"./chunk-ZO7E7WE5.js";export{a as settingsStore};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b}from"./chunk-PWGYVHEW.js";import"./chunk-QEC2WZAU.js";import"./chunk-MCQIOGWG.js";import"./chunk-ZO7E7WE5.js";export{b as flushCliTelemetry,a as trackCliEvent};
@@ -1,54 +0,0 @@
1
- /*! sootsim v0.1.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a as k}from"./chunk-54R6LIOF.js";import{c as u,e as g,i as y}from"./chunk-VC7MRZW7.js";import"./chunk-SK3UIUQL.js";import"./chunk-4CLJIXM3.js";import"./chunk-MCQIOGWG.js";import"./chunk-ZO7E7WE5.js";var m=12e3;async function C(e,o){if((e.includes("--help")||e.includes("-h"))&&(console.log(`
3
- sootsim three-mode \u2014 toggle the 3d device stage
4
-
5
- usage:
6
- sootsim three-mode [on|off|toggle]
7
- sootsim three-mode configure [options]
8
- sootsim 3d-mode [on|off|toggle]
9
-
10
- arguments:
11
- on enable 3d mode
12
- off disable 3d mode
13
- toggle flip the current state (default)
14
-
15
- configure options:
16
- --background <id> set the 3d background
17
- --colorway <id> set the phone colorway
18
- --script <id> apply a camera preset pose
19
- --progress <0..1> script progress to sample (default: 1)
20
- --animate run the script instead of sampling one frame
21
- --slow run the script slowly when --animate is set
22
- --environment on|off enable or disable environment objects
23
- --env-shape <id> orb | pill | diamond | pane
24
- --env-spread <id> tight | medium | wide
25
- --env-size <id> small | medium | large
26
- --env-color <id> peach | gold | mint | sky | violet
27
- --env-glow on|off enable or disable environment glow
28
- --env-plastic on|off enable or disable environment plastic material
29
- --room on|off enable or disable the room effect
30
- --bokeh on|off enable or disable bokeh
31
- --reset-pose return to the default hero pose before other changes
32
-
33
- examples:
34
- sootsim three-mode
35
- sootsim three-mode on
36
- sootsim three-mode configure --script hero-arc --background gradient-neon
37
- sootsim three-mode configure --environment on --env-shape pane --room on
38
- sootsim 3d-mode off
39
- `),process.exit(0)),S(e)){await T(e,o);return}(await k(e,o,{modeKey:"threeMode",displayName:"three-mode",actionId:"toggle-three-mode"})).target&&await B(e,o)}function S(e){return e[0]==="configure"||e.some(o=>["--background","--colorway","--script","--progress","--animate","--slow","--environment","--env-shape","--env-spread","--env-size","--env-color","--env-glow","--env-plastic","--room","--bokeh","--reset-pose"].includes(o))}async function T(e,o){let n=u(e,{port:o.port,stripBooleanFlags:["--animate","--slow","--reset-pose"],stripValueFlags:["--background","--colorway","--script","--progress","--environment","--env-shape","--env-spread","--env-size","--env-color","--env-glow","--env-plastic","--room","--bokeh"]}),t=R(e),i=g({...n,commandTimeoutMs:m+1e3});try{await M(i);let a=await y(i,"SootSim.bridges.threeMode.configure",t);console.log(` three-mode: configured (${$(a)})`)}finally{i.close()}}async function B(e,o){let n=u(e,{port:o.port}),t=g({...n,commandTimeoutMs:m+1e3});try{await M(t)}finally{t.close()}}async function M(e){let o=await e.send({type:"evaluate",code:`(async () => {
40
- const deadline = Date.now() + ${m}
41
- while (Date.now() < deadline) {
42
- const settings = window.SootSim?.bridges?.settings?.get?.()
43
- if (settings && settings.threeMode !== true) {
44
- return { ready: false, disabled: true }
45
- }
46
- const bridge = window.SootSim?.bridges?.threeMode
47
- const state = typeof bridge?.getState === 'function' ? bridge.getState() : null
48
- if (state?.ready === true) return state
49
- await new Promise((resolve) => setTimeout(resolve, 50))
50
- }
51
- const bridge = window.SootSim?.bridges?.threeMode
52
- const state = typeof bridge?.getState === 'function' ? bridge.getState() : null
53
- return state || { ready: false }
54
- })()`});if(o?.ready===!0)return o;throw o?.disabled?new Error("3d mode is off; run `sootsim three-mode on` before configure"):new Error("3d mode runtime did not become ready")}function R(e){let o=r=>e.find((s,c)=>e[c-1]===r),n={},t=o("--colorway");t&&(n.colorway=t);let i=o("--background");i&&(n.background=i);let a=d(o("--room"),"--room");a!==void 0&&(n.room=a);let p=d(o("--bokeh"),"--bokeh");p!==void 0&&(n.bokeh=p),e.includes("--reset-pose")&&(n.resetPose=!0);let h=d(o("--environment"),"--environment"),f={},l={};for(let[r,s]of[["--env-shape","shape"],["--env-spread","spread"],["--env-size","size"],["--env-color","color"]]){let c=o(r);c&&(f[s]=c)}let b=d(o("--env-glow"),"--env-glow");b!==void 0&&(l.glow=b);let w=d(o("--env-plastic"),"--env-plastic");w!==void 0&&(l.plastic=w),(h!==void 0||Object.keys(f).length>0||Object.keys(l).length>0)&&(n.environment=h===!1?!1:{pins:f,effects:l});let v=o("--script");if(v){let r=o("--progress"),s=r===void 0?1:Number.parseFloat(r);if(!Number.isFinite(s))throw new Error(`--progress expects a number from 0 to 1, got "${r}"`);n.script={id:v,progress:s,animate:e.includes("--animate"),slow:e.includes("--slow")}}return n}function d(e,o){if(e===void 0)return;let n=e.toLowerCase();if(["on","true","yes","1"].includes(n))return!0;if(["off","false","no","0"].includes(n))return!1;throw new Error(`${o} expects on or off, got "${e}"`)}function $(e){return[`ready=${!!e.ready}`,`background=${String(e.background??"unknown")}`,`colorway=${String(e.colorway??"unknown")}`,`environment=${e.environmentActive?"on":"off"}`,`room=${e.room?"on":"off"}`,`bokeh=${e.bokeh?"on":"off"}`].join(", ")}export{C as runThreeMode};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.147 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b,c}from"./chunk-VZ7VB7HX.js";import"./chunk-TM6NU7CC.js";import"./chunk-HN2Q2ZWT.js";import"./chunk-VC7MRZW7.js";import"./chunk-ZPDQ3S7P.js";import"./chunk-OL7HTJVC.js";import"./chunk-SK3UIUQL.js";import"./chunk-PWGYVHEW.js";import"./chunk-QEC2WZAU.js";import"./chunk-4CLJIXM3.js";import"./chunk-MCQIOGWG.js";import"./chunk-ZO7E7WE5.js";export{a as resolveDefaultUploadOrigin,b as resolvePublicPreviewOrigin,c as runUpload};