sootsim 0.1.164 → 0.1.165

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 (157) hide show
  1. package/dist-cli/bin.js +3 -3
  2. package/dist-cli/chunks/{agent-5PVW4KHZ.js → agent-2EPUTBUL.js} +2 -2
  3. package/dist-cli/chunks/{agent-wrapper-REXQODXV.js → agent-wrapper-VMZZJY7Y.js} +2 -2
  4. package/dist-cli/chunks/{app-fonts-XAXAUEB5.js → app-fonts-6L4RKPLM.js} +2 -2
  5. package/dist-cli/chunks/{assert-QDOO5I6J.js → assert-7XQLVOIT.js} +2 -2
  6. package/dist-cli/chunks/auto-bootstrap-GOOU4KQE.js +2 -0
  7. package/dist-cli/chunks/beta-CRII6BIU.js +2 -0
  8. package/dist-cli/chunks/{camera-VUJYI6SX.js → camera-F7ADKILD.js} +2 -2
  9. package/dist-cli/chunks/{chunk-TDPLTM27.js → chunk-2N5FR2CU.js} +1 -1
  10. package/dist-cli/chunks/{chunk-2QMMSZ4Z.js → chunk-32YLDVP3.js} +2 -2
  11. package/dist-cli/chunks/{chunk-ZE2PAAZW.js → chunk-43R7N2HR.js} +1 -1
  12. package/dist-cli/chunks/{chunk-TFB7NU6N.js → chunk-53AQC5XE.js} +1 -1
  13. package/dist-cli/chunks/{chunk-LN5AJIPO.js → chunk-5IIMWTMI.js} +3 -3
  14. package/dist-cli/chunks/{chunk-LJUGD5H3.js → chunk-5IXQLSHV.js} +2 -2
  15. package/dist-cli/chunks/{chunk-HAP45V4J.js → chunk-5QWSPJHN.js} +2 -2
  16. package/dist-cli/chunks/{chunk-AXSNLS34.js → chunk-6WWYHNYI.js} +1 -1
  17. package/dist-cli/chunks/{chunk-ZUYTGVNA.js → chunk-6YEVWYSG.js} +1 -1
  18. package/dist-cli/chunks/{chunk-NKAWHNJR.js → chunk-AA5UBYX7.js} +1 -1
  19. package/dist-cli/chunks/chunk-AJD3G3DQ.js +4 -0
  20. package/dist-cli/chunks/{chunk-EOQBPXIN.js → chunk-ALSMTP6C.js} +2 -2
  21. package/dist-cli/chunks/{chunk-7UZSNS5H.js → chunk-BVMLSYUA.js} +2 -2
  22. package/dist-cli/chunks/{chunk-YBO4Z43H.js → chunk-BZS6I346.js} +1 -1
  23. package/dist-cli/chunks/{chunk-SG5ONZJA.js → chunk-DZPNBMAP.js} +1 -1
  24. package/dist-cli/chunks/{chunk-4V6DKD5E.js → chunk-EGBFMW45.js} +1 -1
  25. package/dist-cli/chunks/{chunk-3VE6THTL.js → chunk-ESGMJNNM.js} +1 -1
  26. package/dist-cli/chunks/{chunk-PGN2263R.js → chunk-EV5NG4AO.js} +2 -2
  27. package/dist-cli/chunks/{chunk-J6TNRMST.js → chunk-FNUHS7EZ.js} +2 -2
  28. package/dist-cli/chunks/{chunk-XFJGEFTK.js → chunk-FXQRRTHD.js} +3 -3
  29. package/dist-cli/chunks/{chunk-6RAT7QRJ.js → chunk-HA5LR3RI.js} +1 -1
  30. package/dist-cli/chunks/{chunk-YJ3CJUUU.js → chunk-HAJPACUR.js} +2 -2
  31. package/dist-cli/chunks/chunk-HFPCHOKV.js +2 -0
  32. package/dist-cli/chunks/{chunk-36HXTKWO.js → chunk-HKCO4GFF.js} +2 -2
  33. package/dist-cli/chunks/{chunk-2U5VK6PG.js → chunk-HQZMG2HF.js} +2 -2
  34. package/dist-cli/chunks/{chunk-T6VPZ5ES.js → chunk-IIY2O6LJ.js} +2 -2
  35. package/dist-cli/chunks/{chunk-PQMXEPA5.js → chunk-J7YRSCPF.js} +1 -1
  36. package/dist-cli/chunks/{chunk-53DOSJFQ.js → chunk-KMXETT3S.js} +1 -1
  37. package/dist-cli/chunks/{chunk-JNC5ZO7K.js → chunk-L3ZBX3DX.js} +1 -1
  38. package/dist-cli/chunks/chunk-M72THY5Y.js +1 -0
  39. package/dist-cli/chunks/{chunk-YDZJR4M3.js → chunk-MF7QK7PS.js} +1 -1
  40. package/dist-cli/chunks/{chunk-SSTIFD3Y.js → chunk-O4J2RSBF.js} +1 -1
  41. package/dist-cli/chunks/{chunk-4PJLRB36.js → chunk-OXGEETXY.js} +2 -2
  42. package/dist-cli/chunks/chunk-QQXWV7VE.js +29 -0
  43. package/dist-cli/chunks/chunk-RAS5AWIY.js +1 -0
  44. package/dist-cli/chunks/{chunk-R4K3EZQP.js → chunk-T3SJIJNN.js} +1 -1
  45. package/dist-cli/chunks/{chunk-AZMD3HP3.js → chunk-TGNYK2JI.js} +2 -2
  46. package/dist-cli/chunks/{chunk-E5KU4NBO.js → chunk-UYFIE5X3.js} +2 -2
  47. package/dist-cli/chunks/{chunk-FUD4ZCJ2.js → chunk-WJHZQUAF.js} +1 -1
  48. package/dist-cli/chunks/{chunk-422J3RDX.js → chunk-X3Q65CKA.js} +2 -2
  49. package/dist-cli/chunks/{chunk-ZCPGEUMM.js → chunk-X3TVSME2.js} +2 -2
  50. package/dist-cli/chunks/{chunk-46J7FLJB.js → chunk-XJQRNGCW.js} +2 -2
  51. package/dist-cli/chunks/{chunk-XHNXDUYR.js → chunk-XLVOIA4F.js} +2 -2
  52. package/dist-cli/chunks/chunk-YIZQFYDE.js +1 -0
  53. package/dist-cli/chunks/{chunk-3C3MA5ZZ.js → chunk-YXQNPOHC.js} +2 -2
  54. package/dist-cli/chunks/{chunk-RHWMAYGO.js → chunk-ZUY4EZUO.js} +2 -2
  55. package/dist-cli/chunks/cli-version-EJUVAAK3.js +2 -0
  56. package/dist-cli/chunks/{compat-UKAJB7JZ.js → compat-VN34CJ6G.js} +3 -3
  57. package/dist-cli/chunks/{config-MTGWPMUR.js → config-XDZODP5I.js} +2 -2
  58. package/dist-cli/chunks/{control-5FU4OLTE.js → control-QUGPN5RE.js} +2 -2
  59. package/dist-cli/chunks/{cpu-profile-4GAXCXJO.js → cpu-profile-JFAHFE6I.js} +2 -2
  60. package/dist-cli/chunks/{daemon-VYP6PWR2.js → daemon-TUYHAVYA.js} +2 -2
  61. package/dist-cli/chunks/{debug-MKV3W32U.js → debug-ABBVZGOK.js} +3 -3
  62. package/dist-cli/chunks/{detox-PHFTGHRM.js → detox-SIZWOR5E.js} +2 -2
  63. package/dist-cli/chunks/{device-ACKEFGW6.js → device-RLXPXXPO.js} +2 -2
  64. package/dist-cli/chunks/{diagnose-TSP4DCH2.js → diagnose-V73S6VLC.js} +2 -2
  65. package/dist-cli/chunks/drivers-HBCRUONZ.js +2 -0
  66. package/dist-cli/chunks/{electron-N7KR775O.js → electron-YQR52UGK.js} +3 -3
  67. package/dist-cli/chunks/flow-VY5435YB.js +2 -0
  68. package/dist-cli/chunks/help-GCFMWV2P.js +2 -0
  69. package/dist-cli/chunks/{hints-6IYSDQA3.js → hints-ZL56EHFZ.js} +2 -2
  70. package/dist-cli/chunks/{home-paths-5P4PDEPL.js → home-paths-U4FRKF6W.js} +2 -2
  71. package/dist-cli/chunks/{inspect-F6KLATMN.js → inspect-LPQT5DTA.js} +3 -3
  72. package/dist-cli/chunks/install-HLUFKIYY.js +2 -0
  73. package/dist-cli/chunks/{install-desktop-65COOWJC.js → install-desktop-KEOL5MR2.js} +3 -3
  74. package/dist-cli/chunks/{keys-2RI5OCTX.js → keys-7S22SCJL.js} +2 -2
  75. package/dist-cli/chunks/{launch-JKAX6AOP.js → launch-MP6Y7PAS.js} +3 -3
  76. package/dist-cli/chunks/{login-CD2MYGGF.js → login-7IAUA2K7.js} +4 -4
  77. package/dist-cli/chunks/{logout-2SPZSYJD.js → logout-L2KZIVSL.js} +2 -2
  78. package/dist-cli/chunks/{maestro-B4XYYVZV.js → maestro-UPW6VRQA.js} +2 -2
  79. package/dist-cli/chunks/optional-demo-registry-WSPMNQX5.js +2 -0
  80. package/dist-cli/chunks/{preview-YWXGWAZR.js → preview-D4GRDZRM.js} +2 -2
  81. package/dist-cli/chunks/{profile-YPKBHJOK.js → profile-NU5AQZYQ.js} +2 -2
  82. package/dist-cli/chunks/{react-NNFPIW6R.js → react-FMBASJYN.js} +2 -2
  83. package/dist-cli/chunks/{record-JGTPXRTW.js → record-UGXBLMIS.js} +2 -2
  84. package/dist-cli/chunks/runtime-QAQWW2CP.js +2 -0
  85. package/dist-cli/chunks/runtime-delivery-23LSZG33.js +2 -0
  86. package/dist-cli/chunks/{screenshot-RF55R7LF.js → screenshot-RFDYG3WW.js} +2 -2
  87. package/dist-cli/chunks/{screenshot-mode-X76SGXYB.js → screenshot-mode-Y26AAZTJ.js} +2 -2
  88. package/dist-cli/chunks/{screenshots-FVO7MYFJ.js → screenshots-OWPSRJ5A.js} +2 -2
  89. package/dist-cli/chunks/{server-BGZ2S4NF.js → server-3ZCQ257D.js} +3 -3
  90. package/dist-cli/chunks/setup-repo-IT6HNGID.js +2 -0
  91. package/dist-cli/chunks/{skills-DH5NOT3N.js → skills-BF5OYDL4.js} +2 -2
  92. package/dist-cli/chunks/{slides-CXQMYD3P.js → slides-NI6F3FRT.js} +2 -2
  93. package/dist-cli/chunks/{start-6AZUCGBI.js → start-PN6254AD.js} +4 -4
  94. package/dist-cli/chunks/store-NU4G6MAF.js +2 -0
  95. package/dist-cli/chunks/telemetry-WZFPP7XR.js +2 -0
  96. package/dist-cli/chunks/{test-WEATIZNI.js → test-GYLIVGBO.js} +3 -3
  97. package/dist-cli/chunks/{three-mode-ZPRCTDNM.js → three-mode-BXCPBK7G.js} +2 -2
  98. package/dist-cli/chunks/{timeline-AA7E4QQF.js → timeline-RR75CYQP.js} +2 -2
  99. package/dist-cli/chunks/{upgrade-O3HVW3U3.js → upgrade-POFEYCZJ.js} +2 -2
  100. package/dist-cli/chunks/upload-NHL3ZR6J.js +2 -0
  101. package/dist-cli/chunks/version-ZIW3AABE.js +4 -0
  102. package/dist-cli/chunks/{web-VODHXXG7.js → web-AMUML35L.js} +2 -2
  103. package/dist-cli/chunks/{what-happened-6KGU7OQL.js → what-happened-YRVA42P7.js} +2 -2
  104. package/dist-cli/chunks/{whoami-4FBBNV5W.js → whoami-TIO2K57H.js} +2 -2
  105. package/dist-lib/agent-daemon-client.cjs +1 -1
  106. package/dist-lib/agent-events.cjs +1 -1
  107. package/dist-lib/agent-sessions.cjs +1 -1
  108. package/dist-lib/attached-projects.cjs +1 -1
  109. package/dist-lib/auth/shared-session.cjs +1 -1
  110. package/dist-lib/backend-origin.cjs +1 -1
  111. package/dist-lib/beta.cjs +1 -1
  112. package/dist-lib/beta.mjs +1 -1
  113. package/dist-lib/bridge-constants.cjs +1 -1
  114. package/dist-lib/cli-constants.cjs +1 -1
  115. package/dist-lib/config.cjs +1 -1
  116. package/dist-lib/detox/index.cjs +1 -1
  117. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  118. package/dist-lib/home-paths.cjs +1 -1
  119. package/dist-lib/host/bridge-host.cjs +1 -1
  120. package/dist-lib/host/fetch-proxy-handler.cjs +1 -1
  121. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  122. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  123. package/dist-lib/host/websocket-proxy.cjs +1 -1
  124. package/dist-lib/index.cjs +1 -1
  125. package/dist-lib/menu.cjs +1 -1
  126. package/dist-lib/menu.mjs +1 -1
  127. package/dist-lib/metro.cjs +1 -1
  128. package/dist-lib/profiles.cjs +1 -1
  129. package/dist-lib/render-mode.cjs +1 -1
  130. package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
  131. package/dist-lib/sdk.cjs +1 -1
  132. package/dist-lib/sdk.mjs +1 -1
  133. package/dist-lib/skills.cjs +1 -1
  134. package/dist-lib/vite.cjs +1 -1
  135. package/package.json +1 -1
  136. package/src/runtime-delivery.ts +6 -99
  137. package/dist-cli/chunks/auto-bootstrap-PAA3FSVB.js +0 -2
  138. package/dist-cli/chunks/beta-5ICQFWFG.js +0 -2
  139. package/dist-cli/chunks/chunk-CBKH2EZL.js +0 -4
  140. package/dist-cli/chunks/chunk-JTWMHYRS.js +0 -1
  141. package/dist-cli/chunks/chunk-PYX7POQN.js +0 -33
  142. package/dist-cli/chunks/chunk-Q2IYU4KK.js +0 -2
  143. package/dist-cli/chunks/chunk-U2Z32HGJ.js +0 -1
  144. package/dist-cli/chunks/chunk-VEQNMRGS.js +0 -1
  145. package/dist-cli/chunks/cli-version-4TLMMPH2.js +0 -2
  146. package/dist-cli/chunks/drivers-SDO5XDCT.js +0 -2
  147. package/dist-cli/chunks/flow-3NGH6OZO.js +0 -2
  148. package/dist-cli/chunks/help-ZKCJG65K.js +0 -2
  149. package/dist-cli/chunks/install-6EKDNJOM.js +0 -2
  150. package/dist-cli/chunks/optional-demo-registry-OBP5WLPI.js +0 -2
  151. package/dist-cli/chunks/runtime-D4T7CD4H.js +0 -2
  152. package/dist-cli/chunks/runtime-delivery-DN7LYYY6.js +0 -2
  153. package/dist-cli/chunks/setup-repo-FNIP3MNA.js +0 -2
  154. package/dist-cli/chunks/store-VWLWKCQT.js +0 -2
  155. package/dist-cli/chunks/telemetry-7C5WB6PU.js +0 -2
  156. package/dist-cli/chunks/upload-DQBOMRID.js +0 -2
  157. package/dist-cli/chunks/version-M2DLT2IX.js +0 -4
@@ -1,5 +1,5 @@
1
- /*! sootsim v0.1.164 | (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-YDZJR4M3.js";import{c as N,e as F}from"./chunk-T6VPZ5ES.js";import{b as k}from"./chunk-3VE6THTL.js";import"./chunk-ZUYTGVNA.js";import"./chunk-4V6DKD5E.js";import"./chunk-TDPLTM27.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.165 | (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-MF7QK7PS.js";import{c as N,e as F}from"./chunk-IIY2O6LJ.js";import{b as k}from"./chunk-ESGMJNNM.js";import"./chunk-6YEVWYSG.js";import"./chunk-EGBFMW45.js";import"./chunk-2N5FR2CU.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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{d as i}from"./chunk-J6TNRMST.js";import{d as n}from"./chunk-EOQBPXIN.js";import"./chunk-4V6DKD5E.js";import"./chunk-TDPLTM27.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.165 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
+ import{d as i}from"./chunk-FNUHS7EZ.js";import{d as n}from"./chunk-ALSMTP6C.js";import"./chunk-EGBFMW45.js";import"./chunk-2N5FR2CU.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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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/menu.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! sootsim v0.1.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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/menu.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! sootsim v0.1.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/menu.ts
4
4
  var SOOTSIM_ENGINE_EVENT_NAME = "sootsim:engine-event";
@@ -1,4 +1,4 @@
1
- /*! sootsim v0.1.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.165 | (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.164",
3
+ "version": "0.1.165",
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",
@@ -34,50 +34,12 @@ export interface RuntimeManifest {
34
34
  versions: Record<string, RuntimeManifestVersion>
35
35
  }
36
36
 
37
- // --- release notes (the sootsim changelog) ----------------------------------
38
- // written by scripts/changelog/generate.ts (product: sootsim), stored at
39
- // changelog/sootsim.json in R2 and served at /api/changelog/sootsim. this is
40
- // the changelog history, kept separate from the install manifest (which pruning
41
- // trims to a single version). consumed read-only here + on the website.
42
-
43
- export interface RuntimeReleaseNoteItem {
44
- /** LLM-condensed proper-case one-liner. */
45
- summary: string
46
- scope?: string
47
- hash: string
48
- breaking?: boolean
49
- }
50
-
51
- export interface RuntimeReleaseSection {
52
- kind: 'breaking' | 'features' | 'fixes' | 'performance' | 'other'
53
- title: string
54
- items: RuntimeReleaseNoteItem[]
55
- }
56
-
57
- export interface RuntimeReleaseEntry {
58
- title: string
59
- version: string
60
- channel: string
61
- commit: string
62
- date: string
63
- cliVersion?: string
64
- sections: RuntimeReleaseSection[]
65
- commitCount: number
66
- }
67
-
68
- /** one page of the changelog, as returned by /api/changelog/sootsim. the stored
69
- * R2 file holds the full history; the endpoint paginates it (see
70
- * app/api/changelog/[product]+api.ts), so the CLI drains pages via hasMore. */
71
- export interface RuntimeReleasesPage {
72
- product: string
73
- updatedThrough: string | null
74
- page: number
75
- pageSize: number
76
- total: number
77
- totalPages: number
78
- hasMore: boolean
79
- entries: RuntimeReleaseEntry[]
80
- }
37
+ /** website URL where the sootsim changelog is rendered. the CLI used to drain
38
+ * a paginated /api/changelog/sootsim endpoint here; the changelog is now a
39
+ * static page checked into the soot repo (one MDX file per runtime release
40
+ * under src/features/site/changelog/sootsim-entries/), so `sootsim runtime
41
+ * notes` points users at the page. */
42
+ export const SOOTSIM_CHANGELOG_URL = 'https://sootsim.com/changelog'
81
43
 
82
44
  export interface RuntimeInstallOptions {
83
45
  version?: string | null
@@ -156,61 +118,6 @@ export async function fetchRuntimeManifest(cdnOrigin?: string): Promise<RuntimeM
156
118
  return (await res.json()) as RuntimeManifest
157
119
  }
158
120
 
159
- export function runtimeReleasesUrl(page: number, cdnOrigin?: string): string {
160
- const url = new URL(`${resolveRuntimeCdnOrigin(cdnOrigin)}/api/changelog/sootsim`)
161
- url.searchParams.set('page', String(page))
162
- // bust cdn edge caching so `sootsim runtime notes` always sees the latest.
163
- url.searchParams.set('t', String(Date.now()))
164
- return url.toString()
165
- }
166
-
167
- async function fetchReleasesPage(
168
- page: number,
169
- cdnOrigin?: string,
170
- ): Promise<RuntimeReleasesPage> {
171
- const url = runtimeReleasesUrl(page, cdnOrigin)
172
- const res = await fetch(url, { headers: { Accept: 'application/json' } })
173
- // a missing file is a valid state until the first release ships — callers
174
- // render "no release notes yet" rather than an error.
175
- if (res.status === 404) {
176
- return {
177
- product: 'sootsim',
178
- updatedThrough: null,
179
- page,
180
- pageSize: 0,
181
- total: 0,
182
- totalPages: 0,
183
- hasMore: false,
184
- entries: [],
185
- }
186
- }
187
- if (!res.ok) {
188
- throw new Error(`releases fetch failed: ${res.status} ${res.statusText} (${url})`)
189
- }
190
- return (await res.json()) as RuntimeReleasesPage
191
- }
192
-
193
- /** fetch the full sootsim changelog (newest release first) by draining every
194
- * page of the paginated endpoint. the CLI wants the whole history (notes
195
- * --all, version lookups for any release), so it pages through; the website
196
- * loads one page at a time. throws on network/parse failure so callers can
197
- * surface a clear message. */
198
- export async function fetchRuntimeReleases(
199
- cdnOrigin?: string,
200
- ): Promise<RuntimeReleaseEntry[]> {
201
- const entries: RuntimeReleaseEntry[] = []
202
- let page = 1
203
- // bounded by totalPages from the first response; the guard is a backstop
204
- // against a malformed hasMore that never settles.
205
- for (let guard = 0; guard < 1000; guard++) {
206
- const result = await fetchReleasesPage(page, cdnOrigin)
207
- if (Array.isArray(result.entries)) entries.push(...result.entries)
208
- if (!result.hasMore || result.entries.length === 0) break
209
- page++
210
- }
211
- return entries
212
- }
213
-
214
121
  export function resolveRuntimeVersion(
215
122
  manifest: RuntimeManifest,
216
123
  opts: Pick<RuntimeInstallOptions, 'version' | 'channel'> = {},
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b,c,d}from"./chunk-LN5AJIPO.js";import"./chunk-T6VPZ5ES.js";import"./chunk-3VE6THTL.js";import"./chunk-ZUYTGVNA.js";import"./chunk-4V6DKD5E.js";import"./chunk-TDPLTM27.js";export{c as ensureDaemonRunning,a as ensureRuntimeInstalled,d as ensureSootsimReady,b as resolveBootstrapPort};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b,c,d,e}from"./chunk-R4K3EZQP.js";import"./chunk-TDPLTM27.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,4 +0,0 @@
1
- /*! sootsim v0.1.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{A as R,B as g,C as v,E as w,k as p,t as b,v as S}from"./chunk-4V6DKD5E.js";import{spawn as I}from"child_process";import P from"crypto";import s from"fs";import l from"path";import{Readable as k}from"stream";import{pipeline as E}from"stream/promises";var M="https://sootbean.com",C="SOOTSIM_CDN_ORIGIN",N="SOOTSIM_RUNTIME_CHANNEL";function $(){try{let e=JSON.parse(s.readFileSync(S(),"utf8"));return e&&typeof e=="object"?e:{}}catch{return{}}}function m(e){let t=$();return(e||process.env[C]||t.cdnOrigin||M).replace(/\/+$/,"")}function x(e){let t=$();return e||process.env[N]||t.runtimeChannel||"stable"}function T(e){let t=new URL(`${m(e)}/runtimes/manifest.json`);return t.searchParams.set("t",String(Date.now())),t.toString()}function D(e,t){return`${m(t)}/runtimes/sootsim-runtime-${e}.tar.gz`}async function y(e){let t=T(e),r=await fetch(t,{headers:{Accept:"application/json"}});if(!r.ok)throw new Error(`manifest fetch failed: ${r.status} ${r.statusText} (${t})`);return await r.json()}function U(e,t){let r=new URL(`${m(t)}/api/changelog/sootsim`);return r.searchParams.set("page",String(e)),r.searchParams.set("t",String(Date.now())),r.toString()}async function V(e,t){let r=U(e,t),n=await fetch(r,{headers:{Accept:"application/json"}});if(n.status===404)return{product:"sootsim",updatedThrough:null,page:e,pageSize:0,total:0,totalPages:0,hasMore:!1,entries:[]};if(!n.ok)throw new Error(`releases fetch failed: ${n.status} ${n.statusText} (${r})`);return await n.json()}async function K(e){let t=[],r=1;for(let n=0;n<1e3;n++){let i=await V(r,e);if(Array.isArray(i.entries)&&t.push(...i.entries),!i.hasMore||i.entries.length===0)break;r++}return t}function A(e,t={}){let r=x(t.channel),n=t.version||e.channels[r]?.latest;if(!n)throw new Error(`no version specified and channel '${r}' has no latest entry in the manifest`);let i=e.versions[n];if(!i)throw new Error(`version ${n} not found in manifest; available: ${Object.keys(e.versions).slice(-10).join(", ")||"(none)"}`);return{version:n,channel:r,entry:i}}async function j(e={}){R();let t=m(e.cdnOrigin),r=await y(t),{version:n,channel:i,entry:o}=A(r,e),a=p(n),c=e.setActive!==!1;if(!e.force&&s.existsSync(l.join(a,"index.html")))return c&&v(n),{version:n,channel:i,cdnOrigin:t,runtimeDir:a,installed:!1,activated:c,manifest:r};let d=o.tarball||D(n,t),f=l.join(b(),`sootsim-runtime-${n}.tar.gz`);process.stderr.write(`sootsim: downloading runtime ${n}\u2026
3
- `),await _(d,f),process.stderr.write(`sootsim: extracting runtime ${n}\u2026
4
- `);let h=await z(f);if(h!==o.sha256)throw s.rmSync(f,{force:!0}),new Error(`sha256 mismatch for runtime ${n}: expected ${o.sha256}, actual ${h}`);let u=l.join(l.dirname(a),`.installing-${n}-${process.pid}`);s.rmSync(u,{recursive:!0,force:!0}),s.mkdirSync(u,{recursive:!0});try{if(await L(f,u),!s.existsSync(l.join(u,"index.html")))throw new Error(`extracted tarball for runtime ${n} is missing index.html`);s.rmSync(a,{recursive:!0,force:!0}),s.renameSync(u,a)}catch(O){throw s.rmSync(u,{recursive:!0,force:!0}),O}return c&&v(n),{version:n,channel:i,cdnOrigin:t,runtimeDir:a,installed:!0,activated:c,manifest:r}}async function Q(e={}){R();let t=m(e.cdnOrigin),r=x(e.channel),n=await y(t),i=n.channels[r]?.latest;if(!i)return{checked:!0,updated:!1,reason:`channel '${r}' has no latest runtime`,activeVersion:g()};if(!n.versions[i])return{checked:!0,updated:!1,reason:`manifest is missing version ${i}`,activeVersion:g(),latestVersion:i};let a=g(),c=a?p(a):null,d=c?s.existsSync(l.join(c,"index.html")):!1;if(!(!a||!d||w(i,a)>0))return{checked:!0,updated:!1,reason:"active runtime is current",activeVersion:a,latestVersion:i};let h=await j({version:i,channel:r,cdnOrigin:t,setActive:!1});return{checked:!0,updated:!0,activeVersion:i,latestVersion:i,install:h}}async function X(e={}){let t=g();try{let r=await y(m(e.cdnOrigin)),n=x(e.channel),i=r.channels[n]?.latest??null,o=!!(i&&(!t||w(i,t)>0));return{active:t,latest:i,outdated:o}}catch{return{active:t,latest:null,outdated:!1}}}async function _(e,t){let r=await fetch(e);if(!r.ok||!r.body)throw new Error(`download failed: ${r.status} ${r.statusText} (${e})`);s.mkdirSync(l.dirname(t),{recursive:!0});let n=`${t}.partial`;try{await E(k.fromWeb(r.body),s.createWriteStream(n)),s.renameSync(n,t)}catch(i){try{s.unlinkSync(n)}catch{}throw i}}function z(e){return new Promise((t,r)=>{let n=P.createHash("sha256"),i=s.createReadStream(e);i.on("data",o=>n.update(o)),i.on("error",r),i.on("end",()=>t(n.digest("hex")))})}function L(e,t){return new Promise((r,n)=>{let i=I("tar",["-xzf",e,"-C",t],{stdio:["ignore","inherit","inherit"]});i.on("error",n),i.on("exit",o=>{o===0?r():n(new Error(`tar exited with code ${o}`))})})}export{M as a,C as b,N as c,m as d,x as e,T as f,D as g,y as h,U as i,K as j,A as k,j as l,Q as m,X as n};
@@ -1 +0,0 @@
1
- /*! sootsim v0.1.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
@@ -1,33 +0,0 @@
1
- /*! sootsim v0.1.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a as $}from"./chunk-T6VPZ5ES.js";import{a as w,d as y,h as R,j as b,l as k}from"./chunk-CBKH2EZL.js";import{A as h,B as u,C as p,D as g,k as d}from"./chunk-4V6DKD5E.js";import x from"fs";import{WebSocket as D}from"ws";async function G(e,t={}){let[s,...n]=e;if(!s||s==="--help"||s==="-h"){A();return}switch(s){case"install":return O(n,t);case"list":case"ls":return N(n);case"use":return S(n);case"remove":case"rm":return T(n);case"which":case"active":return F();case"notes":case"changelog":return _(n);default:console.error(` unknown runtime subcommand: ${s}`),A(),process.exit(1)}}function A(){console.log(`
3
- sootsim runtime \u2014 manage engine runtimes under ~/.sootsim/runtimes/
4
-
5
- usage:
6
- sootsim runtime install [version] install a version (default: channel latest)
7
- sootsim runtime list show installed + available versions
8
- sootsim runtime use <version> switch active runtime
9
- sootsim runtime remove <version> delete an installed runtime
10
- sootsim runtime which print active runtime version
11
- sootsim runtime notes [version] show release notes (default: active runtime)
12
-
13
- flags:
14
- --channel <name> channel to resolve 'latest' from (default: stable)
15
- --force reinstall even if the version is already on disk
16
- --set-active=false do not switch active runtime after install
17
-
18
- environment:
19
- SOOTSIM_CDN_ORIGIN override the CDN base URL (default: ${w})
20
-
21
- examples:
22
- sootsim runtime install
23
- sootsim runtime install 1.2.3
24
- sootsim runtime install --channel beta
25
- sootsim runtime use 1.2.3
26
- sootsim runtime notes
27
- sootsim runtime notes 1.2.3
28
- sootsim runtime notes --all
29
- `)}async function O(e,t){let{version:s,flags:n}=C(e),i=n.channel??t.channel??"stable",l=n.force===!0,r=n.setActive!==!1;h(),console.log("sootsim runtime install"),console.log(` cdn: ${y()}`);try{let o=await k({version:s,channel:i,force:l,setActive:r});console.log(` version: ${o.version} (channel: ${o.channel})`),o.installed?console.log(` installed ${o.version}`):console.log(` already installed at ${o.runtimeDir}`),r&&await I(o.version)}catch(o){console.error(` ${v(o)}`),process.exit(1)}}async function I(e){p(e),console.log(` active: ${e}`),await E(e)||console.log(` (no daemon running \u2014 next sootsim/electron launch will pick up ${e})`)}async function E(e){let{isDaemonLockfileFresh:t,readDaemonLockfile:s}=await import("./home-paths-5P4PDEPL.js"),n=s();if(!t(n))return!1;let i=$();return new Promise(l=>{let r=!1,o=!1,a=f=>{r||(r=!0,l(f))},c=new D(`ws://127.0.0.1:${i}`,{handshakeTimeout:800}),m=setTimeout(()=>{try{c.close()}catch{}a(o)},1500);c.on("open",()=>{try{c.send(JSON.stringify({type:"runtime:use",version:e,id:0})),o=!0}catch{}setTimeout(()=>{try{c.close()}catch{}},100)}),c.on("close",()=>{clearTimeout(m),a(o)}),c.on("error",()=>{clearTimeout(m),a(!1)})})}async function N(e){h();let t=g(),s=u();if(console.log("installed:"),t.length===0)console.log(" (none)");else for(let n of t)console.log(` ${n===s?"*":" "} ${n}`);try{let n=await R();console.log("available (latest per channel):");for(let[i,l]of Object.entries(n.channels))console.log(` ${i.padEnd(8)} ${l.latest}`)}catch(n){console.log(`available: (could not fetch manifest: ${v(n)})`)}}async function S(e){let t=e[0];t||(console.error(" usage: sootsim runtime use <version>"),process.exit(1));let s=g();s.includes(t)||(console.error(` version ${t} is not installed`),console.error(` installed: ${s.join(", ")||"(none)"}`),console.error(` run \`sootsim runtime install ${t}\` first`),process.exit(1)),await I(t)}async function T(e){let t=e[0];t||(console.error(" usage: sootsim runtime remove <version>"),process.exit(1)),u()===t&&(console.error(` cannot remove active runtime ${t}`),console.error(" switch with `sootsim runtime use <other>` first, or install another version"),process.exit(1));let n=d(t);if(!x.existsSync(n)){console.error(` ${t} is not installed`);return}x.rmSync(n,{recursive:!0,force:!0}),console.log(` removed ${t}`)}async function F(){let e=u();if(!e){console.log(" no active runtime");return}console.log(e)}async function _(e){let t=e.includes("--all"),s=e.find(o=>!o.startsWith("-"))||null,n;try{n=await b()}catch(o){console.error(` could not fetch release notes: ${v(o)}`),process.exit(1)}if(n.length===0){console.log(" no release notes published yet");return}if(t){console.log(`sootsim runtime releases:
30
- `);for(let o of n){let a=o.date.slice(0,10),c=o.sections.reduce((m,f)=>m+f.items.length,0);console.log(` v${o.version} ${a} (${o.channel}, ${c} change${c===1?"":"s"})`)}console.log(`
31
- see one release: sootsim runtime notes <version>`);return}let i=u(),l=s||i||n[0]?.version,r=n.find(o=>o.version===l);r||(console.error(` no release notes for ${l}`),console.error(` published: ${n.map(o=>o.version).slice(0,10).join(", ")}`),console.error(" list all: sootsim runtime notes --all"),process.exit(1)),console.log(j(r,{active:i}))}function j(e,t={}){let s=[],n=e.date.slice(0,10),i=t.active===e.version?" (active)":"";if(s.push(`sootsim runtime v${e.version} \xB7 ${e.channel} \xB7 ${n}${i}`),e.sections.length===0)return s.push(" no notable changes"),s.join(`
32
- `);for(let l of e.sections){s.push(""),s.push(` ${l.title}`);for(let r of l.items){let o=r.scope?`(${r.scope}) `:"",a=r.breaking?"\u26A0 ":"";s.push(` \u2022 ${a}${o}${r.summary} ${r.hash}`)}}return s.join(`
33
- `)}function C(e){let t={},s=[];for(let n=0;n<e.length;n++){let i=e[n];if(i==="--channel"&&n+1<e.length){t.channel=e[n+1],n++;continue}if(i.startsWith("--channel=")){t.channel=i.slice(10);continue}if(i==="--force"){t.force=!0;continue}if(i==="--set-active=false"||i==="--no-set-active"){t.setActive=!1;continue}s.push(i)}return{version:s[0]??null,flags:t}}function v(e){return e instanceof Error?e.message:String(e)}export{G as a,j as b};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- var t="http://localhost:5173/";export{t as a};
@@ -1 +0,0 @@
1
- /*! sootsim v0.1.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
@@ -1 +0,0 @@
1
- /*! sootsim v0.1.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a}from"./chunk-6RAT7QRJ.js";import"./chunk-TDPLTM27.js";export{a as getCliVersion};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import"./chunk-U2Z32HGJ.js";import{a,b,c,d,e,f,g,h,i}from"./chunk-46J7FLJB.js";import"./chunk-JNC5ZO7K.js";import"./chunk-YJ3CJUUU.js";import"./chunk-JTWMHYRS.js";import"./chunk-ZE2PAAZW.js";import"./chunk-3VE6THTL.js";import"./chunk-4V6DKD5E.js";import"./chunk-TDPLTM27.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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a as c,b as d,c as e,d as f}from"./chunk-XFJGEFTK.js";import"./chunk-2U5VK6PG.js";import"./chunk-VEQNMRGS.js";import"./chunk-AZMD3HP3.js";import"./chunk-LJUGD5H3.js";import"./chunk-J6TNRMST.js";import{c as a,d as b}from"./chunk-RHWMAYGO.js";import"./chunk-HAP45V4J.js";import"./chunk-36HXTKWO.js";import"./chunk-2QMMSZ4Z.js";import"./chunk-YDZJR4M3.js";import"./chunk-YBO4Z43H.js";import"./chunk-AXSNLS34.js";import"./chunk-T6VPZ5ES.js";import"./chunk-FUD4ZCJ2.js";import"./chunk-46J7FLJB.js";import"./chunk-JNC5ZO7K.js";import"./chunk-YJ3CJUUU.js";import"./chunk-JTWMHYRS.js";import"./chunk-ZE2PAAZW.js";import"./chunk-3VE6THTL.js";import"./chunk-PGN2263R.js";import"./chunk-EOQBPXIN.js";import"./chunk-4PJLRB36.js";import"./chunk-Q2IYU4KK.js";import"./chunk-ZUYTGVNA.js";import"./chunk-422J3RDX.js";import"./chunk-PQMXEPA5.js";import"./chunk-4V6DKD5E.js";import"./chunk-TDPLTM27.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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b,c}from"./chunk-E5KU4NBO.js";import"./chunk-4PJLRB36.js";import"./chunk-SSTIFD3Y.js";import"./chunk-Q2IYU4KK.js";import"./chunk-ZUYTGVNA.js";import"./chunk-6RAT7QRJ.js";import"./chunk-R4K3EZQP.js";import"./chunk-PQMXEPA5.js";import"./chunk-4V6DKD5E.js";import"./chunk-TDPLTM27.js";export{c as printCommandHelp,b as printGroupHelp,a as printHelp};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a as o}from"./chunk-XHNXDUYR.js";import"./chunk-NKAWHNJR.js";import"./chunk-LN5AJIPO.js";import"./chunk-T6VPZ5ES.js";import"./chunk-3VE6THTL.js";import"./chunk-PGN2263R.js";import"./chunk-EOQBPXIN.js";import"./chunk-ZUYTGVNA.js";import"./chunk-4V6DKD5E.js";import"./chunk-TDPLTM27.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.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b}from"./chunk-FUD4ZCJ2.js";import"./chunk-TDPLTM27.js";export{a as loadOptionalDemoApps,b as optionalDemoAppsSync};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b}from"./chunk-PYX7POQN.js";import"./chunk-T6VPZ5ES.js";import"./chunk-3VE6THTL.js";import"./chunk-ZUYTGVNA.js";import"./chunk-CBKH2EZL.js";import"./chunk-4V6DKD5E.js";import"./chunk-TDPLTM27.js";export{b as formatReleaseEntry,a as runRuntime};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b,c,d,e,f,g,h,i,j,k,l,m,n}from"./chunk-CBKH2EZL.js";import"./chunk-4V6DKD5E.js";import"./chunk-TDPLTM27.js";export{a as DEFAULT_RUNTIME_CDN_ORIGIN,b as RUNTIME_CDN_ORIGIN_ENV,c as RUNTIME_CHANNEL_ENV,n as checkRuntimeUpToDate,h as fetchRuntimeManifest,j as fetchRuntimeReleases,l as installRuntime,d as resolveRuntimeCdnOrigin,e as resolveRuntimeChannel,k as resolveRuntimeVersion,f as runtimeManifestUrl,i as runtimeReleasesUrl,g as runtimeTarballUrl,m as updateRuntimeToLatest};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a}from"./chunk-XHNXDUYR.js";import"./chunk-NKAWHNJR.js";import"./chunk-LN5AJIPO.js";import"./chunk-T6VPZ5ES.js";import"./chunk-3VE6THTL.js";import"./chunk-PGN2263R.js";import"./chunk-EOQBPXIN.js";import"./chunk-ZUYTGVNA.js";import"./chunk-4V6DKD5E.js";import"./chunk-TDPLTM27.js";export{a as runSetupRepo};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a}from"./chunk-422J3RDX.js";import"./chunk-PQMXEPA5.js";import"./chunk-TDPLTM27.js";export{a as settingsStore};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b}from"./chunk-PGN2263R.js";import"./chunk-EOQBPXIN.js";import"./chunk-4V6DKD5E.js";import"./chunk-TDPLTM27.js";export{b as flushCliTelemetry,a as trackCliEvent};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b,c}from"./chunk-LJUGD5H3.js";import"./chunk-J6TNRMST.js";import"./chunk-YBO4Z43H.js";import"./chunk-AXSNLS34.js";import"./chunk-T6VPZ5ES.js";import"./chunk-JTWMHYRS.js";import"./chunk-ZE2PAAZW.js";import"./chunk-3VE6THTL.js";import"./chunk-PGN2263R.js";import"./chunk-EOQBPXIN.js";import"./chunk-ZUYTGVNA.js";import"./chunk-4V6DKD5E.js";import"./chunk-TDPLTM27.js";export{a as resolveDefaultUploadOrigin,b as resolvePublicPreviewOrigin,c as runUpload};
@@ -1,4 +0,0 @@
1
- /*! sootsim v0.1.164 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a as u}from"./chunk-6RAT7QRJ.js";import{e as f,j as g,n as v}from"./chunk-CBKH2EZL.js";import{B as m}from"./chunk-4V6DKD5E.js";import"./chunk-TDPLTM27.js";async function d(a){let{IS_BETA:e,BETA_LABEL:t}=await import("./beta-5ICQFWFG.js"),n=e?` \xB7 ${t}`:"";console.log(`sootsim v${u()}${n}`);let i=m(),l=f();console.log(i?`runtime v${i} \xB7 ${l}`:"runtime not installed \u2014 run `sootsim runtime install`");let o=await v({channel:l});o.outdated&&o.latest&&console.log(`
3
- \u2191 runtime v${o.latest} available \u2014 run \`sootsim upgrade\``);let c=[];try{c=await g()}catch{return}let r=c.find(s=>s.version===(o.latest||i));if(r){let s=R(r);s&&console.log(`
4
- what's new in v${r.version}: ${s} \u2014 \`sootsim runtime notes\``)}}function R(a){let e=[];for(let t of a.sections){let n=t.items.length;n>0&&e.push(`${n} ${t.title.toLowerCase()}`)}return e.join(", ")}export{d as runVersion};