sootsim 0.1.121 → 0.1.122

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 (150) hide show
  1. package/dist-cli/bin.js +4 -4
  2. package/dist-cli/chunks/{agent-NZ4A6JKO.js → agent-LICWL6DE.js} +2 -2
  3. package/dist-cli/chunks/{agent-wrapper-CYQ5L2YH.js → agent-wrapper-KK5TEI3F.js} +2 -2
  4. package/dist-cli/chunks/{app-fonts-2DF4NW5D.js → app-fonts-UZXW5FWC.js} +2 -2
  5. package/dist-cli/chunks/{assert-PASM5PLL.js → assert-UZGKOSWO.js} +2 -2
  6. package/dist-cli/chunks/auto-bootstrap-GCRCFYH5.js +2 -0
  7. package/dist-cli/chunks/beta-6BJEGCY4.js +2 -0
  8. package/dist-cli/chunks/{chunk-7CA63OS4.js → chunk-2KKPINU2.js} +1 -1
  9. package/dist-cli/chunks/{chunk-MSU27JEW.js → chunk-2XDZ42A6.js} +2 -2
  10. package/dist-cli/chunks/{chunk-SF6W3FRS.js → chunk-366ZIBQX.js} +1 -1
  11. package/dist-cli/chunks/{chunk-LT2X5ISU.js → chunk-36BDR3DE.js} +2 -2
  12. package/dist-cli/chunks/{chunk-OBYYAT4F.js → chunk-3BCXNVBN.js} +2 -2
  13. package/dist-cli/chunks/{chunk-3WDN2S2A.js → chunk-3JHF4F55.js} +2 -2
  14. package/dist-cli/chunks/{chunk-W3FBNBTX.js → chunk-3MKNANBV.js} +2 -2
  15. package/dist-cli/chunks/chunk-3P4C6X6M.js +1 -0
  16. package/dist-cli/chunks/{chunk-7RXO4KKF.js → chunk-5GQJWYO7.js} +1 -1
  17. package/dist-cli/chunks/{chunk-PMAKUYYK.js → chunk-6NW6PC3P.js} +2 -2
  18. package/dist-cli/chunks/{chunk-X4LYRBLZ.js → chunk-6PKYLQ36.js} +1 -1
  19. package/dist-cli/chunks/{chunk-OEV7EOMC.js → chunk-7AXDJ2RV.js} +2 -2
  20. package/dist-cli/chunks/chunk-7OVVG4L6.js +4 -0
  21. package/dist-cli/chunks/{chunk-CGB6KRKN.js → chunk-AK2PW7XZ.js} +5 -5
  22. package/dist-cli/chunks/{chunk-KTE2VIXH.js → chunk-BII2H2BR.js} +3 -3
  23. package/dist-cli/chunks/{chunk-Y7ZMV3PG.js → chunk-D5VB3SJP.js} +1 -1
  24. package/dist-cli/chunks/chunk-EGFZLSP4.js +1 -0
  25. package/dist-cli/chunks/{chunk-I26R4PE2.js → chunk-ESUDARF7.js} +1 -1
  26. package/dist-cli/chunks/{chunk-2U4CGOD6.js → chunk-FFMAP2HL.js} +2 -2
  27. package/dist-cli/chunks/{chunk-QNQO5VHO.js → chunk-G6Z5E4KX.js} +2 -2
  28. package/dist-cli/chunks/{chunk-DORQQNP4.js → chunk-GLVNMGFD.js} +2 -2
  29. package/dist-cli/chunks/{chunk-3DDNLPIH.js → chunk-GNWVN4MO.js} +2 -2
  30. package/dist-cli/chunks/{chunk-VSKLWCFM.js → chunk-GX2FFJV6.js} +2 -2
  31. package/dist-cli/chunks/{chunk-SRA2TVCG.js → chunk-IBEQOTJK.js} +1 -1
  32. package/dist-cli/chunks/{chunk-VSRV5LFU.js → chunk-IRSVHE5W.js} +1 -1
  33. package/dist-cli/chunks/{chunk-MUTDER75.js → chunk-ITGWJM6W.js} +2 -2
  34. package/dist-cli/chunks/{chunk-NQ4EDJV4.js → chunk-J27RHTWH.js} +6 -6
  35. package/dist-cli/chunks/chunk-KWXV47VS.js +2 -0
  36. package/dist-cli/chunks/{chunk-GU3MWKJY.js → chunk-LKSAMFVM.js} +1 -1
  37. package/dist-cli/chunks/chunk-LYZ3GSCB.js +1 -0
  38. package/dist-cli/chunks/{chunk-VX5CAWLC.js → chunk-M6ML3LBZ.js} +2 -2
  39. package/dist-cli/chunks/{chunk-3A7SRWSQ.js → chunk-NIL4WJUK.js} +2 -2
  40. package/dist-cli/chunks/{chunk-5OA35LZX.js → chunk-QD5YATLL.js} +2 -2
  41. package/dist-cli/chunks/{chunk-WHL7FMLG.js → chunk-RBWDMEWN.js} +1 -1
  42. package/dist-cli/chunks/{chunk-Z47GWZMZ.js → chunk-RH3GHGRZ.js} +3 -3
  43. package/dist-cli/chunks/{chunk-VALW4SKE.js → chunk-S2RR2IZC.js} +1 -1
  44. package/dist-cli/chunks/{chunk-B77PWTHR.js → chunk-S5KZH7JJ.js} +2 -2
  45. package/dist-cli/chunks/{chunk-4UQMPWDA.js → chunk-SUQAFFJO.js} +2 -2
  46. package/dist-cli/chunks/{chunk-4BXESMZ7.js → chunk-T2YYBRII.js} +1 -1
  47. package/dist-cli/chunks/chunk-TZLLRML5.js +33 -0
  48. package/dist-cli/chunks/{chunk-KY6NY6WN.js → chunk-UQHBJ2L2.js} +1 -1
  49. package/dist-cli/chunks/{chunk-RVWJ3TAE.js → chunk-V4OEITZA.js} +2 -2
  50. package/dist-cli/chunks/{chunk-SA5RP334.js → chunk-VHPYIZ3U.js} +2 -2
  51. package/dist-cli/chunks/{chunk-IQNZPHGD.js → chunk-X6PIQ3OM.js} +2 -2
  52. package/dist-cli/chunks/cli-version-4BVXR3IU.js +2 -0
  53. package/dist-cli/chunks/{compat-FMBQL2CX.js → compat-QFC2IVZI.js} +3 -3
  54. package/dist-cli/chunks/{config-JD23SW7N.js → config-LU3HYSGJ.js} +2 -2
  55. package/dist-cli/chunks/control-L4C43O4N.js +2 -0
  56. package/dist-cli/chunks/{cpu-profile-2Z4KGCAE.js → cpu-profile-SJV2ERLS.js} +2 -2
  57. package/dist-cli/chunks/{daemon-NDO6JPDH.js → daemon-TMW3WV27.js} +2 -2
  58. package/dist-cli/chunks/{debug-RBVMEH33.js → debug-PBM4L52R.js} +3 -3
  59. package/dist-cli/chunks/{detox-TBJAZEBB.js → detox-VANQVBBM.js} +2 -2
  60. package/dist-cli/chunks/{device-26YM4HM7.js → device-VIMOCLKX.js} +2 -2
  61. package/dist-cli/chunks/{diagnose-PW7FGUOI.js → diagnose-CRCRKGLQ.js} +2 -2
  62. package/dist-cli/chunks/drivers-OUO3WJ3H.js +2 -0
  63. package/dist-cli/chunks/{electron-TBMZ3C5I.js → electron-SWTX2DO7.js} +3 -3
  64. package/dist-cli/chunks/flow-RGF7ZOD4.js +2 -0
  65. package/dist-cli/chunks/help-OTY4AGCS.js +2 -0
  66. package/dist-cli/chunks/{hints-Q3I4PXMT.js → hints-KM6DYEYZ.js} +2 -2
  67. package/dist-cli/chunks/{home-paths-P5GMZADH.js → home-paths-VON247XB.js} +2 -2
  68. package/dist-cli/chunks/{inspect-UTHL2UK4.js → inspect-Z3KYGCZ4.js} +3 -3
  69. package/dist-cli/chunks/install-HHP7GSJ4.js +2 -0
  70. package/dist-cli/chunks/{install-desktop-XQYE3QYC.js → install-desktop-XDZLXMC2.js} +3 -3
  71. package/dist-cli/chunks/{keys-75OBQ7OF.js → keys-KEPNUBCA.js} +2 -2
  72. package/dist-cli/chunks/{launch-TFE3CZZ3.js → launch-S2H6FBFG.js} +3 -3
  73. package/dist-cli/chunks/{login-EIL5PLK4.js → login-RDMQ4LGI.js} +4 -4
  74. package/dist-cli/chunks/{logout-2DXPOPWE.js → logout-HDPMIRMV.js} +2 -2
  75. package/dist-cli/chunks/{maestro-Q27CNJGT.js → maestro-A3QGVBQW.js} +2 -2
  76. package/dist-cli/chunks/{preview-ZGVCXKQZ.js → preview-HXMXXPPF.js} +2 -2
  77. package/dist-cli/chunks/{profile-TCX6GYV5.js → profile-CXIPWQLZ.js} +2 -2
  78. package/dist-cli/chunks/{react-24D26RLU.js → react-PNVZTDPA.js} +2 -2
  79. package/dist-cli/chunks/{record-3MODR5RQ.js → record-LALIKJN2.js} +2 -2
  80. package/dist-cli/chunks/runtime-OQQOJSTS.js +2 -0
  81. package/dist-cli/chunks/runtime-delivery-IU6INVF7.js +2 -0
  82. package/dist-cli/chunks/{screenshot-4A6JTLUV.js → screenshot-RITJ6BZH.js} +2 -2
  83. package/dist-cli/chunks/{screenshot-mode-KVMXLFJ4.js → screenshot-mode-4ZMTOYNG.js} +2 -2
  84. package/dist-cli/chunks/{screenshots-XGG6PNXW.js → screenshots-LDJZ4CFO.js} +2 -2
  85. package/dist-cli/chunks/{server-MRLLYDV7.js → server-2Q6HJBRG.js} +3 -3
  86. package/dist-cli/chunks/setup-repo-3JXYJESB.js +2 -0
  87. package/dist-cli/chunks/{skills-COR2GQRN.js → skills-7HSB6DOQ.js} +2 -2
  88. package/dist-cli/chunks/{start-SD27AJ7E.js → start-MM3GHFNB.js} +4 -4
  89. package/dist-cli/chunks/store-EOS7PN7Y.js +2 -0
  90. package/dist-cli/chunks/telemetry-MJ2ZVNZG.js +2 -0
  91. package/dist-cli/chunks/{test-4N6K3C5R.js → test-JVZONK7Z.js} +3 -3
  92. package/dist-cli/chunks/{three-mode-PJQGXIP4.js → three-mode-5LHS72VD.js} +2 -2
  93. package/dist-cli/chunks/{timeline-C7JSMHCV.js → timeline-AN3WAGXK.js} +2 -2
  94. package/dist-cli/chunks/{upgrade-SFUV6KPW.js → upgrade-LES72FX4.js} +2 -2
  95. package/dist-cli/chunks/upload-JE2ORZSH.js +2 -0
  96. package/dist-cli/chunks/version-SKCJLX5C.js +4 -0
  97. package/dist-cli/chunks/{web-GK27H4NM.js → web-AWRFEEZU.js} +2 -2
  98. package/dist-cli/chunks/{what-happened-GAY54LBV.js → what-happened-JNCZGYUL.js} +2 -2
  99. package/dist-cli/chunks/{whoami-C2WULTLS.js → whoami-HYV4EQ5D.js} +2 -2
  100. package/dist-lib/agent-daemon-client.cjs +1 -1
  101. package/dist-lib/agent-events.cjs +1 -1
  102. package/dist-lib/agent-sessions.cjs +1 -1
  103. package/dist-lib/attached-projects.cjs +1 -1
  104. package/dist-lib/auth/shared-session.cjs +1 -1
  105. package/dist-lib/backend-origin.cjs +1 -1
  106. package/dist-lib/beta.cjs +1 -1
  107. package/dist-lib/beta.mjs +1 -1
  108. package/dist-lib/bridge-constants.cjs +1 -1
  109. package/dist-lib/cli-constants.cjs +1 -1
  110. package/dist-lib/config.cjs +1 -1
  111. package/dist-lib/detox/index.cjs +1 -1
  112. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  113. package/dist-lib/home-paths.cjs +1 -1
  114. package/dist-lib/host/bridge-host.cjs +1 -1
  115. package/dist-lib/host/fetch-proxy-handler.cjs +1 -1
  116. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  117. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  118. package/dist-lib/host/websocket-proxy.cjs +1 -1
  119. package/dist-lib/index.cjs +1 -1
  120. package/dist-lib/metro.cjs +1 -1
  121. package/dist-lib/profiles.cjs +1 -1
  122. package/dist-lib/render-mode.cjs +1 -1
  123. package/dist-lib/scripts/demo-app-registry.cjs +1 -1
  124. package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
  125. package/dist-lib/sdk.cjs +1 -1
  126. package/dist-lib/sdk.mjs +1 -1
  127. package/dist-lib/skills.cjs +1 -1
  128. package/dist-lib/vite.cjs +1 -1
  129. package/package.json +1 -1
  130. package/src/runtime-delivery.ts +100 -0
  131. package/dist-cli/chunks/auto-bootstrap-IPNK6GF7.js +0 -2
  132. package/dist-cli/chunks/beta-RG7JT6HD.js +0 -2
  133. package/dist-cli/chunks/chunk-2FTVPI7F.js +0 -2
  134. package/dist-cli/chunks/chunk-BTWXWUDB.js +0 -1
  135. package/dist-cli/chunks/chunk-KXLYXKMA.js +0 -1
  136. package/dist-cli/chunks/chunk-QUEATUWT.js +0 -1
  137. package/dist-cli/chunks/chunk-VJPN6DQU.js +0 -4
  138. package/dist-cli/chunks/chunk-YQIFU3PB.js +0 -25
  139. package/dist-cli/chunks/cli-version-DPV7EKFK.js +0 -2
  140. package/dist-cli/chunks/control-IAHPU5HD.js +0 -2
  141. package/dist-cli/chunks/drivers-L6UY2JC6.js +0 -2
  142. package/dist-cli/chunks/flow-QSDMMKNZ.js +0 -2
  143. package/dist-cli/chunks/help-OC7HYZ5F.js +0 -2
  144. package/dist-cli/chunks/install-3UWGXX6F.js +0 -2
  145. package/dist-cli/chunks/runtime-5MJPHLRZ.js +0 -2
  146. package/dist-cli/chunks/runtime-delivery-NWSDCFAI.js +0 -2
  147. package/dist-cli/chunks/setup-repo-OUMNEC36.js +0 -2
  148. package/dist-cli/chunks/store-JVV7G7VY.js +0 -2
  149. package/dist-cli/chunks/telemetry-BMJNBZT6.js +0 -2
  150. package/dist-cli/chunks/upload-XQLVCUKI.js +0 -2
@@ -1,5 +1,5 @@
1
- /*! sootsim v0.1.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{B as T,C as A,D as y,O as _,P as b,Q as S}from"./chunk-WHL7FMLG.js";import{c as N,e as F}from"./chunk-NQ4EDJV4.js";import{b as k}from"./chunk-SF6W3FRS.js";import"./chunk-KY6NY6WN.js";import"./chunk-4BXESMZ7.js";import"./chunk-SRA2TVCG.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.122 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
+ import{B as T,C as A,D as y,O as _,P as b,Q as S}from"./chunk-RBWDMEWN.js";import{c as N,e as F}from"./chunk-J27RHTWH.js";import{b as k}from"./chunk-366ZIBQX.js";import"./chunk-UQHBJ2L2.js";import"./chunk-T2YYBRII.js";import"./chunk-IBEQOTJK.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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{d as i}from"./chunk-OEV7EOMC.js";import{d as n}from"./chunk-SA5RP334.js";import"./chunk-4BXESMZ7.js";import"./chunk-SRA2TVCG.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.122 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
+ import{d as i}from"./chunk-7AXDJ2RV.js";import{d as n}from"./chunk-VHPYIZ3U.js";import"./chunk-T2YYBRII.js";import"./chunk-IBEQOTJK.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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.122 | (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.121",
3
+ "version": "0.1.122",
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,6 +34,51 @@ 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
+ }
81
+
37
82
  export interface RuntimeInstallOptions {
38
83
  version?: string | null
39
84
  channel?: string
@@ -111,6 +156,61 @@ export async function fetchRuntimeManifest(cdnOrigin?: string): Promise<RuntimeM
111
156
  return (await res.json()) as RuntimeManifest
112
157
  }
113
158
 
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
+
114
214
  export function resolveRuntimeVersion(
115
215
  manifest: RuntimeManifest,
116
216
  opts: Pick<RuntimeInstallOptions, 'version' | 'channel'> = {},
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b,c,d}from"./chunk-Z47GWZMZ.js";import"./chunk-NQ4EDJV4.js";import"./chunk-SF6W3FRS.js";import"./chunk-KY6NY6WN.js";import"./chunk-4BXESMZ7.js";import"./chunk-SRA2TVCG.js";export{c as ensureDaemonRunning,a as ensureRuntimeInstalled,d as ensureSootsimReady,b as resolveBootstrapPort};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b,c,d,e}from"./chunk-Y7ZMV3PG.js";import"./chunk-SRA2TVCG.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,2 +0,0 @@
1
- /*! sootsim v0.1.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- var t="http://localhost:5173/";export{t as a};
@@ -1 +0,0 @@
1
- /*! sootsim v0.1.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
@@ -1 +0,0 @@
1
- /*! sootsim v0.1.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
@@ -1 +0,0 @@
1
- /*! sootsim v0.1.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
@@ -1,4 +0,0 @@
1
- /*! sootsim v0.1.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{A as R,C as w,i as p,r as S,t as O,y as v,z as f}from"./chunk-4BXESMZ7.js";import{spawn as I}from"child_process";import C from"crypto";import s from"fs";import l from"path";import{Readable as k}from"stream";import{pipeline as M}from"stream/promises";var N="https://sootbean.com",D="SOOTSIM_CDN_ORIGIN",E="SOOTSIM_RUNTIME_CHANNEL";function $(){try{let e=JSON.parse(s.readFileSync(O(),"utf8"));return e&&typeof e=="object"?e:{}}catch{return{}}}function d(e){let t=$();return(e||process.env[D]||t.cdnOrigin||N).replace(/\/+$/,"")}function x(e){let t=$();return e||process.env[E]||t.runtimeChannel||"stable"}function T(e){let t=new URL(`${d(e)}/runtimes/manifest.json`);return t.searchParams.set("t",String(Date.now())),t.toString()}function P(e,t){return`${d(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=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 V(e={}){v();let t=d(e.cdnOrigin),r=await y(t),{version:n,channel:i,entry:o}=U(r,e),a=p(n),c=e.setActive!==!1;if(!e.force&&s.existsSync(l.join(a,"index.html")))return c&&R(n),{version:n,channel:i,cdnOrigin:t,runtimeDir:a,installed:!1,activated:c,manifest:r};let g=o.tarball||P(n,t),m=l.join(S(),`sootsim-runtime-${n}.tar.gz`);process.stderr.write(`sootsim: downloading runtime ${n}\u2026
3
- `),await _(g,m),process.stderr.write(`sootsim: extracting runtime ${n}\u2026
4
- `);let h=await j(m);if(h!==o.sha256)throw s.rmSync(m,{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 A(m,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(b){throw s.rmSync(u,{recursive:!0,force:!0}),b}return c&&R(n),{version:n,channel:i,cdnOrigin:t,runtimeDir:a,installed:!0,activated:c,manifest:r}}async function q(e={}){v();let t=d(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:f()};if(!n.versions[i])return{checked:!0,updated:!1,reason:`manifest is missing version ${i}`,activeVersion:f(),latestVersion:i};let a=f(),c=a?p(a):null,g=c?s.existsSync(l.join(c,"index.html")):!1;if(!(!a||!g||w(i,a)>0))return{checked:!0,updated:!1,reason:"active runtime is current",activeVersion:a,latestVersion:i};let h=await V({version:i,channel:r,cdnOrigin:t,setActive:!1});return{checked:!0,updated:!0,activeVersion:i,latestVersion:i,install:h}}async function B(e={}){let t=f();try{let r=await y(d(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 M(k.fromWeb(r.body),s.createWriteStream(n)),s.renameSync(n,t)}catch(i){try{s.unlinkSync(n)}catch{}throw i}}function j(e){return new Promise((t,r)=>{let n=C.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 A(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{N as a,D as b,E as c,d,x as e,T as f,P as g,y as h,U as i,V as j,q as k,B as l};
@@ -1,25 +0,0 @@
1
- /*! sootsim v0.1.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a as d}from"./chunk-NQ4EDJV4.js";import{a as p,d as w,h as $,j as y}from"./chunk-VJPN6DQU.js";import{A as g,B as f,i as h,y as m,z as a}from"./chunk-4BXESMZ7.js";import b from"fs";import{WebSocket as D}from"ws";async function P(n,e={}){let[o,...t]=n;if(!o||o==="--help"||o==="-h"){R();return}switch(o){case"install":return O(t,e);case"list":case"ls":return S(t);case"use":return T(t);case"remove":case"rm":return N(t);case"which":case"active":return F();default:console.error(` unknown runtime subcommand: ${o}`),R(),process.exit(1)}}function R(){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
-
12
- flags:
13
- --channel <name> channel to resolve 'latest' from (default: stable)
14
- --force reinstall even if the version is already on disk
15
- --set-active=false do not switch active runtime after install
16
-
17
- environment:
18
- SOOTSIM_CDN_ORIGIN override the CDN base URL (default: ${p})
19
-
20
- examples:
21
- sootsim runtime install
22
- sootsim runtime install 1.2.3
23
- sootsim runtime install --channel beta
24
- sootsim runtime use 1.2.3
25
- `)}async function O(n,e){let{version:o,flags:t}=_(n),s=t.channel??e.channel??"stable",l=t.force===!0,c=t.setActive!==!1;m(),console.log("sootsim runtime install"),console.log(` cdn: ${w()}`);try{let i=await y({version:o,channel:s,force:l,setActive:c});console.log(` version: ${i.version} (channel: ${i.channel})`),i.installed?console.log(` installed ${i.version}`):console.log(` already installed at ${i.runtimeDir}`),c&&await k(i.version)}catch(i){console.error(` ${I(i)}`),process.exit(1)}}async function k(n){g(n),console.log(` active: ${n}`),await A(n)||console.log(` (no daemon running \u2014 next sootsim/electron launch will pick up ${n})`)}async function A(n){let{isDaemonLockfileFresh:e,readDaemonLockfile:o}=await import("./home-paths-P5GMZADH.js"),t=o();if(!e(t))return!1;let s=d();return new Promise(l=>{let c=!1,i=!1,u=x=>{c||(c=!0,l(x))},r=new D(`ws://127.0.0.1:${s}`,{handshakeTimeout:800}),v=setTimeout(()=>{try{r.close()}catch{}u(i)},1500);r.on("open",()=>{try{r.send(JSON.stringify({type:"runtime:use",version:n,id:0})),i=!0}catch{}setTimeout(()=>{try{r.close()}catch{}},100)}),r.on("close",()=>{clearTimeout(v),u(i)}),r.on("error",()=>{clearTimeout(v),u(!1)})})}async function S(n){m();let e=f(),o=a();if(console.log("installed:"),e.length===0)console.log(" (none)");else for(let t of e)console.log(` ${t===o?"*":" "} ${t}`);try{let t=await $();console.log("available (latest per channel):");for(let[s,l]of Object.entries(t.channels))console.log(` ${s.padEnd(8)} ${l.latest}`)}catch(t){console.log(`available: (could not fetch manifest: ${I(t)})`)}}async function T(n){let e=n[0];e||(console.error(" usage: sootsim runtime use <version>"),process.exit(1));let o=f();o.includes(e)||(console.error(` version ${e} is not installed`),console.error(` installed: ${o.join(", ")||"(none)"}`),console.error(` run \`sootsim runtime install ${e}\` first`),process.exit(1)),await k(e)}async function N(n){let e=n[0];e||(console.error(" usage: sootsim runtime remove <version>"),process.exit(1)),a()===e&&(console.error(` cannot remove active runtime ${e}`),console.error(" switch with `sootsim runtime use <other>` first, or install another version"),process.exit(1));let t=h(e);if(!b.existsSync(t)){console.error(` ${e} is not installed`);return}b.rmSync(t,{recursive:!0,force:!0}),console.log(` removed ${e}`)}async function F(){let n=a();if(!n){console.log(" no active runtime");return}console.log(n)}function _(n){let e={},o=[];for(let t=0;t<n.length;t++){let s=n[t];if(s==="--channel"&&t+1<n.length){e.channel=n[t+1],t++;continue}if(s.startsWith("--channel=")){e.channel=s.slice(10);continue}if(s==="--force"){e.force=!0;continue}if(s==="--set-active=false"||s==="--no-set-active"){e.setActive=!1;continue}o.push(s)}return{version:o[0]??null,flags:e}}function I(n){return n instanceof Error?n.message:String(n)}export{P as a};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a}from"./chunk-GU3MWKJY.js";import"./chunk-SRA2TVCG.js";export{a as getCliVersion};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{d as a,e as b,f as c,g as d,h as e,i as f,j as g,k as h,l as i,m as j,n as k,o as l,p as m,q as n,r as o,s as p,t as q,u as r,v as s}from"./chunk-MSU27JEW.js";import"./chunk-RVWJ3TAE.js";import"./chunk-QNQO5VHO.js";import"./chunk-WHL7FMLG.js";import"./chunk-4UQMPWDA.js";import"./chunk-NQ4EDJV4.js";import"./chunk-LT2X5ISU.js";import"./chunk-VALW4SKE.js";import"./chunk-QUEATUWT.js";import"./chunk-3A7SRWSQ.js";import"./chunk-VSRV5LFU.js";import"./chunk-SF6W3FRS.js";import"./chunk-2FTVPI7F.js";import"./chunk-KY6NY6WN.js";import"./chunk-4BXESMZ7.js";import"./chunk-SRA2TVCG.js";export{e as buildOpenUrl,d as buildShellUrl,q as closeSimsBulk,r as planBulkCloseTargets,i as playwrightHostPidForSim,g as printConnectedSims,b as resolveBundleTarget,c as resolveDefaultShellBaseUrl,a as resolveDriverConnectWaitOptions,p as runClaimCommand,s as runCloseCommand,o as runFocusCommand,l as runListCommand,m as runOpenCommand,n as runUseCommand,j as signalDriverLaunchConnected,f as summarizeSimUrl,k as terminatePlaywrightHostsForSims,h as waitForSimMatch};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import"./chunk-BTWXWUDB.js";import{a,b,c,d,e,f,g,h,i}from"./chunk-LT2X5ISU.js";import"./chunk-VALW4SKE.js";import"./chunk-QUEATUWT.js";import"./chunk-3A7SRWSQ.js";import"./chunk-VSRV5LFU.js";import"./chunk-SF6W3FRS.js";import"./chunk-4BXESMZ7.js";import"./chunk-SRA2TVCG.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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a as c,b as d,c as e,d as f}from"./chunk-KTE2VIXH.js";import"./chunk-VX5CAWLC.js";import"./chunk-KXLYXKMA.js";import"./chunk-MUTDER75.js";import"./chunk-5OA35LZX.js";import"./chunk-OEV7EOMC.js";import{d as a,e as b}from"./chunk-CGB6KRKN.js";import"./chunk-MSU27JEW.js";import"./chunk-RVWJ3TAE.js";import"./chunk-QNQO5VHO.js";import"./chunk-WHL7FMLG.js";import"./chunk-4UQMPWDA.js";import"./chunk-NQ4EDJV4.js";import"./chunk-LT2X5ISU.js";import"./chunk-VALW4SKE.js";import"./chunk-QUEATUWT.js";import"./chunk-3A7SRWSQ.js";import"./chunk-VSRV5LFU.js";import"./chunk-SF6W3FRS.js";import"./chunk-OBYYAT4F.js";import"./chunk-SA5RP334.js";import"./chunk-W3FBNBTX.js";import"./chunk-2FTVPI7F.js";import"./chunk-KY6NY6WN.js";import"./chunk-PMAKUYYK.js";import"./chunk-X4LYRBLZ.js";import"./chunk-4BXESMZ7.js";import"./chunk-SRA2TVCG.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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b,c}from"./chunk-IQNZPHGD.js";import"./chunk-W3FBNBTX.js";import"./chunk-2U4CGOD6.js";import"./chunk-2FTVPI7F.js";import"./chunk-KY6NY6WN.js";import"./chunk-GU3MWKJY.js";import"./chunk-Y7ZMV3PG.js";import"./chunk-X4LYRBLZ.js";import"./chunk-4BXESMZ7.js";import"./chunk-SRA2TVCG.js";export{c as printCommandHelp,b as printGroupHelp,a as printHelp};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a as o}from"./chunk-DORQQNP4.js";import"./chunk-I26R4PE2.js";import"./chunk-Z47GWZMZ.js";import"./chunk-NQ4EDJV4.js";import"./chunk-SF6W3FRS.js";import"./chunk-OBYYAT4F.js";import"./chunk-SA5RP334.js";import"./chunk-KY6NY6WN.js";import"./chunk-4BXESMZ7.js";import"./chunk-SRA2TVCG.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.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a}from"./chunk-YQIFU3PB.js";import"./chunk-NQ4EDJV4.js";import"./chunk-SF6W3FRS.js";import"./chunk-KY6NY6WN.js";import"./chunk-VJPN6DQU.js";import"./chunk-4BXESMZ7.js";import"./chunk-SRA2TVCG.js";export{a as runRuntime};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b,c,d,e,f,g,h,i,j,k,l}from"./chunk-VJPN6DQU.js";import"./chunk-4BXESMZ7.js";import"./chunk-SRA2TVCG.js";export{a as DEFAULT_RUNTIME_CDN_ORIGIN,b as RUNTIME_CDN_ORIGIN_ENV,c as RUNTIME_CHANNEL_ENV,l as checkRuntimeUpToDate,h as fetchRuntimeManifest,j as installRuntime,d as resolveRuntimeCdnOrigin,e as resolveRuntimeChannel,i as resolveRuntimeVersion,f as runtimeManifestUrl,g as runtimeTarballUrl,k as updateRuntimeToLatest};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a}from"./chunk-DORQQNP4.js";import"./chunk-I26R4PE2.js";import"./chunk-Z47GWZMZ.js";import"./chunk-NQ4EDJV4.js";import"./chunk-SF6W3FRS.js";import"./chunk-OBYYAT4F.js";import"./chunk-SA5RP334.js";import"./chunk-KY6NY6WN.js";import"./chunk-4BXESMZ7.js";import"./chunk-SRA2TVCG.js";export{a as runSetupRepo};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a}from"./chunk-PMAKUYYK.js";import"./chunk-X4LYRBLZ.js";import"./chunk-SRA2TVCG.js";export{a as settingsStore};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b}from"./chunk-OBYYAT4F.js";import"./chunk-SA5RP334.js";import"./chunk-4BXESMZ7.js";import"./chunk-SRA2TVCG.js";export{b as flushCliTelemetry,a as trackCliEvent};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.121 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b,c}from"./chunk-5OA35LZX.js";import"./chunk-OEV7EOMC.js";import"./chunk-4UQMPWDA.js";import"./chunk-NQ4EDJV4.js";import"./chunk-QUEATUWT.js";import"./chunk-VSRV5LFU.js";import"./chunk-SF6W3FRS.js";import"./chunk-OBYYAT4F.js";import"./chunk-SA5RP334.js";import"./chunk-KY6NY6WN.js";import"./chunk-4BXESMZ7.js";import"./chunk-SRA2TVCG.js";export{a as resolveDefaultUploadOrigin,b as resolvePublicPreviewOrigin,c as runUpload};