sootsim 0.1.224 → 0.1.225

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 (141) hide show
  1. package/dist-cli/bin.js +4 -4
  2. package/dist-cli/chunks/{agent-IXTIVO4B.js → agent-2QJNGCGQ.js} +2 -2
  3. package/dist-cli/chunks/{agent-wrapper-37QGL7LZ.js → agent-wrapper-JFTDMNBA.js} +2 -2
  4. package/dist-cli/chunks/{app-fonts-CMNA7ZLB.js → app-fonts-ZF73VQCZ.js} +2 -2
  5. package/dist-cli/chunks/{assert-VE7DZN64.js → assert-VOWVK5UT.js} +2 -2
  6. package/dist-cli/chunks/{auth-BEI6S5AK.js → auth-RAUKHPE3.js} +2 -2
  7. package/dist-cli/chunks/beta-7TBS7VDG.js +2 -0
  8. package/dist-cli/chunks/{camera-WGDO6BS4.js → camera-ZMQZISLH.js} +2 -2
  9. package/dist-cli/chunks/{chunk-FR2ZFWG2.js → chunk-347KANFK.js} +1 -1
  10. package/dist-cli/chunks/{chunk-CCW5EYIU.js → chunk-3LZ4N33H.js} +1 -1
  11. package/dist-cli/chunks/{chunk-NLTKRAPS.js → chunk-3QKH7HQL.js} +3 -3
  12. package/dist-cli/chunks/{chunk-SQ2QXZ4N.js → chunk-3W4H7IIQ.js} +2 -2
  13. package/dist-cli/chunks/{chunk-6UJEQVPW.js → chunk-6P4XXLDV.js} +2 -2
  14. package/dist-cli/chunks/{chunk-WZAF6VH6.js → chunk-AHQQF4W6.js} +2 -2
  15. package/dist-cli/chunks/{chunk-RQHZYDRX.js → chunk-AWY3D6YY.js} +2 -2
  16. package/dist-cli/chunks/{chunk-QS4PGGDS.js → chunk-B7IV5YY2.js} +1 -1
  17. package/dist-cli/chunks/{chunk-OYPMYSMY.js → chunk-BI4VCL6Q.js} +2 -2
  18. package/dist-cli/chunks/{chunk-HCA46V4W.js → chunk-CRSULHXN.js} +2 -2
  19. package/dist-cli/chunks/{chunk-X4623KU6.js → chunk-D74MZDQ5.js} +2 -2
  20. package/dist-cli/chunks/{chunk-CE7KFLTO.js → chunk-DOGQUNTS.js} +1 -1
  21. package/dist-cli/chunks/{chunk-2VBAA7XJ.js → chunk-DVK6PIUQ.js} +2 -2
  22. package/dist-cli/chunks/{chunk-FB4YNNHB.js → chunk-EH5ATUDN.js} +2 -2
  23. package/dist-cli/chunks/{chunk-MF4YHHL4.js → chunk-EWQMANOX.js} +1 -1
  24. package/dist-cli/chunks/{chunk-ZTYPCXG2.js → chunk-FCWI4FXZ.js} +2 -2
  25. package/dist-cli/chunks/{chunk-GVK4Q3BA.js → chunk-FHHD7KFS.js} +1 -1
  26. package/dist-cli/chunks/{chunk-2QIGZP7G.js → chunk-HS2NYELS.js} +1 -1
  27. package/dist-cli/chunks/{chunk-24QLCYJG.js → chunk-IP4QVK56.js} +2 -2
  28. package/dist-cli/chunks/chunk-JHAL2K27.js +1 -0
  29. package/dist-cli/chunks/{chunk-4CO7SKSJ.js → chunk-JI2BFZCM.js} +2 -2
  30. package/dist-cli/chunks/{chunk-NWLTJUCZ.js → chunk-KW72IOGD.js} +1 -1
  31. package/dist-cli/chunks/{chunk-K7FLRWXM.js → chunk-LHI6SSKZ.js} +1 -1
  32. package/dist-cli/chunks/{chunk-CEBMTKID.js → chunk-MOFL2C72.js} +2 -2
  33. package/dist-cli/chunks/{chunk-VR5W6I6B.js → chunk-NCJ6UORF.js} +2 -2
  34. package/dist-cli/chunks/{chunk-HYSKRSBW.js → chunk-NCJQISNJ.js} +1 -1
  35. package/dist-cli/chunks/{chunk-FVZQMYUJ.js → chunk-NT7DIPF6.js} +1 -1
  36. package/dist-cli/chunks/{chunk-ZVNBKS5H.js → chunk-OHEMKK3X.js} +2 -2
  37. package/dist-cli/chunks/{chunk-ZTCF4L5T.js → chunk-P73P4LEJ.js} +3 -3
  38. package/dist-cli/chunks/{chunk-S6LVSOND.js → chunk-PUXJ6MG3.js} +1 -1
  39. package/dist-cli/chunks/chunk-Q6HBPMI4.js +1 -0
  40. package/dist-cli/chunks/{chunk-KRZ5WWPA.js → chunk-QH5AHGSL.js} +2 -2
  41. package/dist-cli/chunks/{chunk-OPI6PLWA.js → chunk-TFNMU5WV.js} +1 -1
  42. package/dist-cli/chunks/{chunk-5FPSA6T3.js → chunk-TGRJ7ZJD.js} +2 -2
  43. package/dist-cli/chunks/{chunk-NWN2GQ36.js → chunk-UQKFXZT7.js} +1 -1
  44. package/dist-cli/chunks/{chunk-PFYMU6QF.js → chunk-UZM7EU4D.js} +3 -3
  45. package/dist-cli/chunks/{chunk-7KD7SO3A.js → chunk-UZWRZ3ND.js} +1 -1
  46. package/dist-cli/chunks/{chunk-HFTFALJY.js → chunk-V4M52O5I.js} +2 -2
  47. package/dist-cli/chunks/{chunk-KIZV52CA.js → chunk-VIHFW4WT.js} +3 -3
  48. package/dist-cli/chunks/{chunk-4WQ36IZO.js → chunk-W67AEQ3C.js} +3 -3
  49. package/dist-cli/chunks/{chunk-OOJ5OXYG.js → chunk-WDDOFF3W.js} +2 -2
  50. package/dist-cli/chunks/{chunk-AHA4PLGQ.js → chunk-XXDT7Q4C.js} +20 -31
  51. package/dist-cli/chunks/chunk-YWDWZW74.js +3 -0
  52. package/dist-cli/chunks/{chunk-QJ2UUEBC.js → chunk-ZPXGQH3V.js} +2 -2
  53. package/dist-cli/chunks/cli-version-I6MGYDFK.js +2 -0
  54. package/dist-cli/chunks/{compat-6R6UR3NV.js → compat-WQGSKB6D.js} +3 -3
  55. package/dist-cli/chunks/{config-IWITGWOX.js → config-24NABZH5.js} +2 -2
  56. package/dist-cli/chunks/{control-NN6KYHZ7.js → control-QN3OMNZB.js} +2 -2
  57. package/dist-cli/chunks/daemon-SCUUHMKS.js +2 -0
  58. package/dist-cli/chunks/{debug-AVD27HN2.js → debug-3AWVNHV2.js} +3 -3
  59. package/dist-cli/chunks/{desktop-ARRS4W7G.js → desktop-2Y7TM6YZ.js} +3 -3
  60. package/dist-cli/chunks/{detox-7ZVE4SEU.js → detox-I5LLQ7PW.js} +2 -2
  61. package/dist-cli/chunks/{device-KCAXPE2J.js → device-4OJVHSRG.js} +2 -2
  62. package/dist-cli/chunks/{diagnose-NN2P4YHG.js → diagnose-HUXZBMVI.js} +2 -2
  63. package/dist-cli/chunks/drivers-SQFPFW7V.js +2 -0
  64. package/dist-cli/chunks/{film-YYDHQCIK.js → film-MXZ444WR.js} +3 -3
  65. package/dist-cli/chunks/flow-P3IJ4VHB.js +2 -0
  66. package/dist-cli/chunks/help-GQY5VDRA.js +2 -0
  67. package/dist-cli/chunks/{home-paths-P5BF26CV.js → home-paths-RTMWY5WD.js} +2 -2
  68. package/dist-cli/chunks/inspect-DETXTJUP.js +2 -0
  69. package/dist-cli/chunks/install-desktop-CHYTPRFO.js +2 -0
  70. package/dist-cli/chunks/{login-3C6WS5WJ.js → login-YBPCBEPD.js} +4 -4
  71. package/dist-cli/chunks/{logout-N7NHSAJ6.js → logout-JR5ZSYLS.js} +2 -2
  72. package/dist-cli/chunks/{maestro-72YHMDN3.js → maestro-HHF4ISZI.js} +3 -3
  73. package/dist-cli/chunks/{maestro-generate-N6WRP4JB.js → maestro-generate-HFAYZHUF.js} +3 -3
  74. package/dist-cli/chunks/{mode-HTGZVPBB.js → mode-KI5E5FWJ.js} +2 -2
  75. package/dist-cli/chunks/optional-demo-registry-6VYITRX4.js +2 -0
  76. package/dist-cli/chunks/{perf-G3LOBGFB.js → perf-XJXFKHQ3.js} +2 -2
  77. package/dist-cli/chunks/{record-UCC52HPB.js → record-T7IKWLEV.js} +3 -3
  78. package/dist-cli/chunks/runtime-LXVX24LC.js +2 -0
  79. package/dist-cli/chunks/{screenshot-command-UERRRDTX.js → screenshot-command-VN42XKYN.js} +10 -10
  80. package/dist-cli/chunks/screenshots-capture-IJM5ZESL.js +40 -0
  81. package/dist-cli/chunks/{serve-YYYACL4G.js → serve-C4QC2HID.js} +2 -2
  82. package/dist-cli/chunks/{setup-DOQ3CNWU.js → setup-7GKAB4SB.js} +3 -3
  83. package/dist-cli/chunks/{skills-TY7JP5HL.js → skills-FHH2POMV.js} +2 -2
  84. package/dist-cli/chunks/{storage-5G6MYKIR.js → storage-ZJMSMGT4.js} +2 -2
  85. package/dist-cli/chunks/store-DU76KFTF.js +2 -0
  86. package/dist-cli/chunks/telemetry-PZGM7U27.js +2 -0
  87. package/dist-cli/chunks/{timeline-TEZJY6OI.js → timeline-NAMSRGWR.js} +2 -2
  88. package/dist-cli/chunks/{upgrade-2VHEHNNM.js → upgrade-E7WMFJYM.js} +2 -2
  89. package/dist-cli/chunks/upload-L2ZKQQMJ.js +2 -0
  90. package/dist-cli/chunks/{version-LPLQL5Y2.js → version-H54YADEJ.js} +2 -2
  91. package/dist-cli/chunks/{web-3O74TBQP.js → web-U5F5O7TY.js} +2 -2
  92. package/dist-cli/chunks/{what-happened-SHAO2WXX.js → what-happened-A42ORDPY.js} +2 -2
  93. package/dist-lib/agent-daemon-client.cjs +1 -1
  94. package/dist-lib/agent-events.cjs +1 -1
  95. package/dist-lib/agent-identity.cjs +1 -1
  96. package/dist-lib/agent-sessions.cjs +1 -1
  97. package/dist-lib/attached-projects.cjs +1 -1
  98. package/dist-lib/auth/shared-session.cjs +1 -1
  99. package/dist-lib/backend-origin.cjs +1 -1
  100. package/dist-lib/beta.cjs +1 -1
  101. package/dist-lib/beta.mjs +1 -1
  102. package/dist-lib/bridge-constants.cjs +1 -1
  103. package/dist-lib/cli-constants.cjs +1 -1
  104. package/dist-lib/config.cjs +1 -1
  105. package/dist-lib/detox/index.cjs +8 -4
  106. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  107. package/dist-lib/home-paths.cjs +1 -1
  108. package/dist-lib/host/bridge-host.cjs +1 -1
  109. package/dist-lib/host/fetch-proxy-handler.cjs +1 -1
  110. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  111. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  112. package/dist-lib/host/websocket-proxy.cjs +1 -1
  113. package/dist-lib/index.cjs +1 -1
  114. package/dist-lib/jump-to-source-babel.cjs +1 -1
  115. package/dist-lib/menu.cjs +1 -1
  116. package/dist-lib/menu.mjs +1 -1
  117. package/dist-lib/metro.cjs +1 -1
  118. package/dist-lib/profiles.cjs +1 -1
  119. package/dist-lib/render-mode.cjs +1 -1
  120. package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
  121. package/dist-lib/sdk.cjs +1 -1
  122. package/dist-lib/sdk.mjs +1 -1
  123. package/dist-lib/skills.cjs +11 -7
  124. package/dist-lib/vite.cjs +1 -1
  125. package/package.json +1 -1
  126. package/dist-cli/chunks/beta-ZAFAH443.js +0 -2
  127. package/dist-cli/chunks/chunk-EVRV7ZEQ.js +0 -1
  128. package/dist-cli/chunks/chunk-FKMYICRL.js +0 -1
  129. package/dist-cli/chunks/cli-version-EEQU4RHG.js +0 -2
  130. package/dist-cli/chunks/daemon-OOS5GYH3.js +0 -2
  131. package/dist-cli/chunks/drivers-WKXM4KAQ.js +0 -2
  132. package/dist-cli/chunks/flow-RLO6T7NN.js +0 -2
  133. package/dist-cli/chunks/help-QGPISENF.js +0 -2
  134. package/dist-cli/chunks/inspect-CCH3ID2P.js +0 -2
  135. package/dist-cli/chunks/install-desktop-SD2XL3QE.js +0 -2
  136. package/dist-cli/chunks/optional-demo-registry-CUXZZ2PW.js +0 -2
  137. package/dist-cli/chunks/runtime-RCOICIJ4.js +0 -2
  138. package/dist-cli/chunks/screenshots-capture-RBBJE7EF.js +0 -41
  139. package/dist-cli/chunks/store-SVH7YFQP.js +0 -2
  140. package/dist-cli/chunks/telemetry-Z6SP2WSB.js +0 -2
  141. package/dist-cli/chunks/upload-WXQKH3QR.js +0 -2
@@ -1,5 +1,5 @@
1
- /*! sootsim v0.1.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{C as N,D as F,F as y,Q as T,R as b,S}from"./chunk-7KD7SO3A.js";import{g as A,i as _}from"./chunk-RQHZYDRX.js";import"./chunk-FR2ZFWG2.js";import{b as k}from"./chunk-ZTCF4L5T.js";import"./chunk-K7FLRWXM.js";import"./chunk-FVZQMYUJ.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=A(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.225 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
+ import{C as N,D as F,F as y,Q as T,R as b,S}from"./chunk-UZWRZ3ND.js";import{g as A,i as _}from"./chunk-AWY3D6YY.js";import"./chunk-347KANFK.js";import{b as k}from"./chunk-P73P4LEJ.js";import"./chunk-LHI6SSKZ.js";import"./chunk-NT7DIPF6.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=A(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,4 +1,4 @@
1
- /*! sootsim v0.1.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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;
@@ -134,7 +134,11 @@ function gpuChromeLaunchOptions(opts = {}) {
134
134
  const callerIgnored = Array.isArray(opts.ignoreDefaultArgs) ? opts.ignoreDefaultArgs : [];
135
135
  return {
136
136
  ...opts,
137
- channel: "chrome",
137
+ // playwright's `chromium` channel is the full Google Chrome for Testing
138
+ // app, not chromium_headless_shell. on macOS it has bundle id
139
+ // com.google.chrome.for.testing, so automation cannot become the target of
140
+ // Dock open/quit events intended for the user's com.google.Chrome browser.
141
+ channel: "chromium",
138
142
  args: [...gpuChromeArgs(), ...callerArgs],
139
143
  ignoreDefaultArgs: [...callerIgnored, "--enable-unsafe-swiftshader"]
140
144
  };
@@ -159,13 +163,13 @@ function preferGpuChrome(launch, opts) {
159
163
  if (!missing) throw err;
160
164
  if (!allowSoftwareFallback) {
161
165
  throw new Error(
162
- "[reap-browser] system Chrome is required for local GPU browser work; bundled Chromium/SwiftShader fallback is disabled. Install Chrome or run `npx playwright install chrome`.",
166
+ "[reap-browser] Playwright Chrome for Testing is required for local GPU browser work; chromium_headless_shell fallback is disabled. Run `bunx playwright install chromium`.",
163
167
  { cause: err }
164
168
  );
165
169
  }
166
170
  gpuChromeMissing = true;
167
171
  console.warn(
168
- "[reap-browser] CI system Chrome not found, falling back to bundled Chromium software rendering."
172
+ "[reap-browser] CI Chrome for Testing not found, falling back to chromium_headless_shell software rendering."
169
173
  );
170
174
  }
171
175
  }
@@ -1,4 +1,4 @@
1
- /*! sootsim v0.1.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! sootsim v0.1.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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;
@@ -15080,7 +15080,7 @@ function findTopAncestor(start, maxDepth = 20) {
15080
15080
  if (!pid || pid <= 1) return null;
15081
15081
  for (let i = 0; i < maxDepth; i++) {
15082
15082
  const comm = getProcessComm(pid);
15083
- if (comm && MULTIPLEXER_COMM_RE.test(comm)) return prev;
15083
+ if (comm && IMMORTAL_HOST_COMM_RE.test(comm)) return prev;
15084
15084
  const parent = getParentPid(pid);
15085
15085
  if (!parent || parent <= 1) return pid;
15086
15086
  prev = pid;
@@ -15136,7 +15136,7 @@ function readCurrentSimId() {
15136
15136
  function clearCurrentSimId() {
15137
15137
  (0, import_fs6.rmSync)(getCurrentSimPath(), { force: true });
15138
15138
  }
15139
- var import_fs6, import_os2, import_path5, CURRENT_SIM_VERSION, CURRENT_SIM_PATH_ENV, IDENTITY_ENV_VARS, MULTIPLEXER_COMM_RE;
15139
+ var import_fs6, import_os2, import_path5, CURRENT_SIM_VERSION, CURRENT_SIM_PATH_ENV, IDENTITY_ENV_VARS, IMMORTAL_HOST_COMM_RE;
15140
15140
  var init_current_sim = __esm({
15141
15141
  "cli/current-sim.ts"() {
15142
15142
  "use strict";
@@ -15174,7 +15174,7 @@ var init_current_sim = __esm({
15174
15174
  "VSCODE_INJECTION"
15175
15175
  // vscode integrated terminal
15176
15176
  ];
15177
- MULTIPLEXER_COMM_RE = /^(tmux|screen)/i;
15177
+ IMMORTAL_HOST_COMM_RE = /^(tmux|screen|agentbus)/i;
15178
15178
  }
15179
15179
  });
15180
15180
 
@@ -18963,7 +18963,11 @@ function gpuChromeLaunchOptions(opts = {}) {
18963
18963
  const callerIgnored = Array.isArray(opts.ignoreDefaultArgs) ? opts.ignoreDefaultArgs : [];
18964
18964
  return {
18965
18965
  ...opts,
18966
- channel: "chrome",
18966
+ // playwright's `chromium` channel is the full Google Chrome for Testing
18967
+ // app, not chromium_headless_shell. on macOS it has bundle id
18968
+ // com.google.chrome.for.testing, so automation cannot become the target of
18969
+ // Dock open/quit events intended for the user's com.google.Chrome browser.
18970
+ channel: "chromium",
18967
18971
  args: [...gpuChromeArgs(), ...callerArgs],
18968
18972
  ignoreDefaultArgs: [...callerIgnored, "--enable-unsafe-swiftshader"]
18969
18973
  };
@@ -18988,13 +18992,13 @@ function preferGpuChrome(launch, opts) {
18988
18992
  if (!missing) throw err;
18989
18993
  if (!allowSoftwareFallback) {
18990
18994
  throw new Error(
18991
- "[reap-browser] system Chrome is required for local GPU browser work; bundled Chromium/SwiftShader fallback is disabled. Install Chrome or run `npx playwright install chrome`.",
18995
+ "[reap-browser] Playwright Chrome for Testing is required for local GPU browser work; chromium_headless_shell fallback is disabled. Run `bunx playwright install chromium`.",
18992
18996
  { cause: err }
18993
18997
  );
18994
18998
  }
18995
18999
  gpuChromeMissing = true;
18996
19000
  console.warn(
18997
- "[reap-browser] CI system Chrome not found, falling back to bundled Chromium software rendering."
19001
+ "[reap-browser] CI Chrome for Testing not found, falling back to chromium_headless_shell software rendering."
18998
19002
  );
18999
19003
  }
19000
19004
  }
package/dist-lib/vite.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! sootsim v0.1.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.225 | (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.224",
3
+ "version": "0.1.225",
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",
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b,c,d}from"./chunk-S6LVSOND.js";import"./chunk-FVZQMYUJ.js";export{d as BETA_ASK_HEADLINE,b as BETA_LABEL,c as BETA_TAGLINE,a as IS_BETA};
@@ -1 +0,0 @@
1
- /*! sootsim v0.1.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
@@ -1 +0,0 @@
1
- /*! sootsim v0.1.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a}from"./chunk-2QIGZP7G.js";import"./chunk-FVZQMYUJ.js";export{a as getCliVersion};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b,c,d,e}from"./chunk-2VBAA7XJ.js";import"./chunk-VR5W6I6B.js";import"./chunk-X4623KU6.js";import"./chunk-WZAF6VH6.js";import"./chunk-6UJEQVPW.js";import"./chunk-CEBMTKID.js";import"./chunk-QJ2UUEBC.js";import"./chunk-FR2ZFWG2.js";import"./chunk-ZTCF4L5T.js";import"./chunk-K7FLRWXM.js";import"./chunk-2QIGZP7G.js";import"./chunk-S6LVSOND.js";import"./chunk-NWLTJUCZ.js";import"./chunk-FVZQMYUJ.js";export{c as daemonInstall,b as getDaemonServiceStatus,a as runDaemon,d as teardownDaemonService,e as teardownSootsimHome};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import"./chunk-EVRV7ZEQ.js";import{f as a,g as b,h as c,i as d,j as e,k as f,l as g,m as h,n as i}from"./chunk-AHA4PLGQ.js";import"./chunk-GVK4Q3BA.js";import"./chunk-NWN2GQ36.js";import"./chunk-ZTCF4L5T.js";import"./chunk-K7FLRWXM.js";import"./chunk-FVZQMYUJ.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.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{c,d,e,f,g,h}from"./chunk-4WQ36IZO.js";import{c as a,d as b}from"./chunk-KIZV52CA.js";import"./chunk-FB4YNNHB.js";import"./chunk-4CO7SKSJ.js";import"./chunk-ZTYPCXG2.js";import"./chunk-ZVNBKS5H.js";import"./chunk-OYPMYSMY.js";import"./chunk-SQ2QXZ4N.js";import"./chunk-FKMYICRL.js";import"./chunk-HYSKRSBW.js";import"./chunk-CCW5EYIU.js";import"./chunk-QS4PGGDS.js";import"./chunk-OOJ5OXYG.js";import"./chunk-7KD7SO3A.js";import"./chunk-RQHZYDRX.js";import"./chunk-AHA4PLGQ.js";import"./chunk-GVK4Q3BA.js";import"./chunk-NWN2GQ36.js";import"./chunk-CE7KFLTO.js";import"./chunk-5FPSA6T3.js";import"./chunk-VR5W6I6B.js";import"./chunk-X4623KU6.js";import"./chunk-CEBMTKID.js";import"./chunk-QJ2UUEBC.js";import"./chunk-FR2ZFWG2.js";import"./chunk-ZTCF4L5T.js";import"./chunk-K7FLRWXM.js";import"./chunk-NWLTJUCZ.js";import"./chunk-FVZQMYUJ.js";export{e as discoverSootsimUrl,c as getLastFlowPreviewUploadResult,d as getLastFlowTraceSteps,g as hoistLeadingSimFlag,a as parseFlowFile,f as runFlowPlayback,h as runMaestroAuthoring,b as validateFlowFile};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b,c}from"./chunk-WZAF6VH6.js";import"./chunk-6UJEQVPW.js";import"./chunk-CEBMTKID.js";import"./chunk-QJ2UUEBC.js";import"./chunk-FR2ZFWG2.js";import"./chunk-ZTCF4L5T.js";import"./chunk-K7FLRWXM.js";import"./chunk-2QIGZP7G.js";import"./chunk-S6LVSOND.js";import"./chunk-NWLTJUCZ.js";import"./chunk-FVZQMYUJ.js";export{c as printCommandHelp,b as printGroupHelp,a as printHelp};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{j as a,k as b}from"./chunk-KIZV52CA.js";import"./chunk-FB4YNNHB.js";import"./chunk-OYPMYSMY.js";import"./chunk-SQ2QXZ4N.js";import"./chunk-FKMYICRL.js";import"./chunk-HYSKRSBW.js";import"./chunk-CCW5EYIU.js";import"./chunk-QS4PGGDS.js";import"./chunk-OOJ5OXYG.js";import"./chunk-7KD7SO3A.js";import"./chunk-RQHZYDRX.js";import"./chunk-AHA4PLGQ.js";import"./chunk-GVK4Q3BA.js";import"./chunk-NWN2GQ36.js";import"./chunk-CE7KFLTO.js";import"./chunk-5FPSA6T3.js";import"./chunk-CEBMTKID.js";import"./chunk-QJ2UUEBC.js";import"./chunk-FR2ZFWG2.js";import"./chunk-ZTCF4L5T.js";import"./chunk-K7FLRWXM.js";import"./chunk-NWLTJUCZ.js";import"./chunk-FVZQMYUJ.js";export{a as printShellPerfReport,b as runInspect};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a}from"./chunk-NLTKRAPS.js";import"./chunk-OPI6PLWA.js";import"./chunk-GVK4Q3BA.js";import"./chunk-FVZQMYUJ.js";export{a as runInstallDesktop};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b}from"./chunk-QS4PGGDS.js";import"./chunk-FVZQMYUJ.js";export{a as loadOptionalDemoApps,b as optionalDemoAppsSync};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a}from"./chunk-PFYMU6QF.js";import"./chunk-KRZ5WWPA.js";import"./chunk-RQHZYDRX.js";import"./chunk-FR2ZFWG2.js";import"./chunk-ZTCF4L5T.js";import"./chunk-K7FLRWXM.js";import"./chunk-FVZQMYUJ.js";export{a as runRuntime};
@@ -1,41 +0,0 @@
1
- /*! sootsim v0.1.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a as T}from"./chunk-ZVNBKS5H.js";import"./chunk-X4623KU6.js";import"./chunk-K7FLRWXM.js";import"./chunk-FVZQMYUJ.js";import{execSync as B}from"node:child_process";import{mkdirSync as L,mkdtempSync as q,rmSync as W,writeFileSync as z}from"node:fs";import{tmpdir as H}from"node:os";import{dirname as J,isAbsolute as K,join as U,resolve as V}from"node:path";import{chromium as Y}from"playwright-core";import{execSync as O}from"node:child_process";function N(r){let e=r;if(e&&typeof e.process=="function")try{let o=e.process();if(o&&typeof o.pid=="number"&&o.pid>0)return o.pid}catch{}if(e&&typeof e.browser=="function")try{let o=e.browser();if(o)return N(o)}catch{}return null}function x(r){let e=[];try{e=O(`pgrep -P ${r} || true`).toString().split(`
3
- `).filter(Boolean)}catch{}for(let o of e)x(Number(o));try{process.kill(r,"SIGKILL")}catch{}}var $=new Set,A=!1;function j(){if(A)return;A=!0;let r=()=>{for(let e of $)x(e)};process.on("SIGTERM",()=>{r(),process.exit(0)}),process.on("SIGINT",()=>{r(),process.exit(0)}),process.on("exit",r)}async function M(r){let e=await r(),o=N(e),n=new Set;o!=null&&(n.add(o),$.add(o),j());let i=e;return typeof i.on=="function"&&i.on("disconnected",()=>{for(let c of n)$.delete(c)}),{browser:e,reapNow:()=>{for(let c of n)x(c),$.delete(c);n.clear()}}}var _=`
4
- sootsim screenshot appstore capture \u2014 headlessly capture + upload App Store slides
5
-
6
- usage:
7
- sootsim screenshot appstore capture --org <org> --repo <repo> [options]
8
-
9
- what it does:
10
- boots the org-mode build shell in headless GPU Chrome (authed via your
11
- \`sootsim login\` session), captures each slide through the live screenshot
12
- composer so every slide gets editable layers (captureRef + cleanRef +
13
- screenRef), and lets the shell auto-upload them to your org deck.
14
-
15
- options:
16
- --org <org> github org slug (required)
17
- --repo <repo> repo name (required)
18
- --branch <branch> build branch to boot (default: main)
19
- --platform <p> ios | android (default: ios)
20
- --slides <list> 1-based indices to capture, e.g. 1,3,5 (default: all)
21
- --dry-run capture + report refs, do NOT upload (PUTs aborted)
22
- --force allow overwriting a NON-EMPTY existing deck
23
- --out <dir> also write composed App-Store PNGs locally
24
- --shell-origin <url> origin serving /build (default: your session origin)
25
- --api-origin <url> origin for deck/capture APIs (default: session origin)
26
- --timeout <ms> per-step bridge timeout (default: 45000)
27
- --json machine-readable summary
28
-
29
- examples:
30
- sootsim screenshot appstore capture --org acme --repo my-app --dry-run
31
- sootsim screenshot appstore capture --org acme --repo my-app --branch main --force
32
- `;function Q(r){let e=a=>{let c=r.indexOf(a);return c>=0?r[c+1]:void 0},o=a=>r.includes(a),n=e("--slides"),i=n?n.split(",").map(a=>Number(a.trim())).filter(a=>Number.isInteger(a)&&a>0):null;return{org:e("--org")??"",repo:e("--repo")??"",branch:e("--branch")??"main",platform:e("--platform")??"ios",slides:i&&i.length?i:null,dryRun:o("--dry-run"),force:o("--force"),out:e("--out")??null,shellOrigin:e("--shell-origin")??null,apiOrigin:e("--api-origin")??null,timeoutMs:Number(e("--timeout")??"45000")||45e3,json:o("--json")}}function X(){let r=T();if(r&&r.kind==="session")return{token:r.token,origin:r.origin};process.stderr.write(`
33
- sootsim screenshot appstore capture needs a logged-in session.
34
- run \`sootsim login\` first (the captured slides upload to that account).
35
-
36
- `),process.exit(1)}function Z(r){let e=r.replace(/^\[|\]$/g,"").toLowerCase();return e==="localhost"||e.endsWith(".localhost")||e==="::1"||/^127(?:\.\d{1,3}){3}$/.test(e)}function ee(r){let e=new URL(r);if(Z(e.hostname)){let n=(Number(e.port)||3e3)-3e3;if(n>=0&&n<=1e3)return e.port=String(5173+n),e.origin}return e.hostname==="sootbean.com"||e.hostname.endsWith(".sootbean.com")?"https://sootsim.com":r}function re(){try{return Number(B("sysctl -n vm.loadavg").toString().trim().split(/\s+/)[1])||0}catch{return 0}}async function oe(r,e,o,n){let i=await fetch(`${r}/api/sootsim/screenshot-decks?org=${encodeURIComponent(o)}&repo=${encodeURIComponent(n)}`,{headers:{authorization:`Bearer ${e}`}});if(!i.ok)return[];let a=await i.json().catch(()=>null),c=[];for(let g of a?.decks??[])Array.isArray(g.config?.frames)&&c.push(...g.config.frames);return c}async function te(r,e,o,n){let i=await fetch(`${r}/api/sootsim/screenshot-capture?ref=${encodeURIComponent(n)}&org=${encodeURIComponent(o)}`,{headers:{authorization:`Bearer ${e}`}});return i.ok?`data:image/png;base64,${Buffer.from(await i.arrayBuffer()).toString("base64")}`:null}async function ne(r,e){let o=Date.now()+e;for(;Date.now()<o;){for(let n of r.frames())if(await n.evaluate(()=>!!globalThis.SootSim?.bridges?.screenshotControl).catch(()=>!1))return n;await r.waitForTimeout(250)}throw new Error("screenshot bridge never appeared \u2014 the build shell did not boot screenshot mode (check --branch/--platform has a ready build, and you are logged in)")}async function D(r){return r.evaluate(async()=>{let o=globalThis.SootSim?.bridges?.screenshotControl;if(!o)throw new Error("screenshotControl missing");return o.getState()})}async function se(r){await r.evaluate(async()=>{let e=globalThis.SootSim?.bridges?.settings,o=Date.now()+3e3;for(;Date.now()<o;){if(e?.get?.()?.screenshotMode)return;await new Promise(n=>setTimeout(n,50))}e&&!e.get().screenshotMode&&(e.set("screenshotMode",!0),e.get().showFrame||e.set("showFrame",!0))})}async function ie(r,e,o,n){await r.evaluate(async([i,a,c])=>{let g=globalThis.SootSim,h=g?.bridges?.screenshotControl;if(!h)throw new Error("screenshotControl missing");let w=b=>new Promise(d=>setTimeout(d,b));if(a){h.focusSlide(i);let b=Date.now()+3e4,d=g?.bridges?.threeMode;for(;Date.now()<b&&(d=g?.bridges?.threeMode,!(d?.setScreenImage&&d?.captureStage&&d?.getState?.()?.ready));)await w(150);await w(1e3);let l=a;d?.configure?.({colorway:l.colorway,background:l.background,...l.customGradient?{customGradient:l.customGradient}:{},setting:l.setting,focus:l.focus,environment:l.environmentActive?{pins:l.environmentPins??{},effects:l.environmentEffects??{}}:!1,pose:{phonePosition:l.phonePosition,phoneRotation:l.phoneRotation,cameraPosition:l.cameraPosition,target:l.target}}),await w(900),c&&d?.setScreenImage&&(d.setScreenImage(c),await w(1200))}await h.capture(i)},[e,o,n])}async function be(r){if(r.includes("--help")||r.includes("-h"))return console.log(_),0;let e=Q(r);if(!e.org||!e.repo)return process.stderr.write(` --org and --repo are required (see --help)
37
- `),1;let{token:o,origin:n}=X(),i=(e.apiOrigin??n).replace(/\/$/,""),a=(e.shellOrigin??ee(i)).replace(/\/$/,""),c=await oe(i,o,e.org,e.repo);if(!e.dryRun&&!e.force&&c.length>0)return process.stderr.write(` refusing to overwrite the existing ${e.org}/${e.repo} deck (${c.length} slide(s)). re-run with --force to replace it, or --dry-run to preview.
38
- `),1;let g=re(),h=Number(B("sysctl -n hw.ncpu").toString().trim())||8;if(g>h)return process.stderr.write(` load average ${g.toFixed(1)} exceeds ${h} cores \u2014 tear down other work first.
39
- `),1;let w=`${a}/build/${encodeURIComponent(e.org)}/${encodeURIComponent(e.repo)}/${encodeURIComponent(e.branch)}?platform=${encodeURIComponent(e.platform)}&ssMode=1`,b=q(U(H(),"sootsim-capture-")),{browser:d,reapNow:l}=await M(()=>Y.launchPersistentContext(b,{headless:!0,channel:"chrome",viewport:{width:393,height:852},deviceScaleFactor:3,args:["--enable-unsafe-webgpu","--enable-features=Vulkan,WebGPU","--hide-scrollbars"]}));await d.addInitScript(s=>{try{localStorage.setItem("sootsim.session.token",s)}catch{}},o);let y=[],m=d.pages()[0]??await d.newPage();e.dryRun?await m.route(/\/api\/sootsim\/screenshot-(decks|capture)/,s=>s.request().method()==="PUT"?s.abort():s.continue()):m.on("response",s=>{let p=s.url();s.request().method()==="PUT"&&(p.includes("/api/sootsim/screenshot-decks")?y.push({kind:"deck",status:s.status()}):p.includes("/api/sootsim/screenshot-capture")&&y.push({kind:"capture",status:s.status()}))});let R=[];m.on("pageerror",s=>R.push(s.message));let E=m.waitForResponse(s=>s.url().includes("/api/sootsim/screenshot-decks")&&s.request().method()==="GET",{timeout:e.timeoutMs}).catch(()=>null);try{await m.goto(w,{waitUntil:"domcontentloaded",timeout:e.timeoutMs});let s=await ne(m,e.timeoutMs);await se(s),await E,await m.waitForTimeout(800);let p=await D(s);if(p.slides.length===0)return process.stderr.write(` the deck has no slides to capture \u2014 add slides in the composer first.
40
- `),1;let v=e.slides?p.slides.filter(t=>e.slides.includes(t.index)):p.slides;console.log(` ${p.projectName} on ${p.deviceModel} \u2014 capturing ${v.length}/${p.slides.length} slide(s)${e.dryRun?" (dry-run, no upload)":""}`);for(let t of v)try{let u=c[t.index-1],f=u?.threeScene??null,C=f&&u?.screenRef?await te(i,o,e.org,u.screenRef):null;await ie(s,t.index,f,C),console.log(` \u2713 slide ${t.index} "${t.title.slice(0,40)}"`)}catch(u){console.log(` \u2717 slide ${t.index} "${t.title.slice(0,40)}" \u2014 ${u.message}`)}e.dryRun||await m.waitForTimeout(2500);let S=(await D(s)).slides.filter(t=>v.some(u=>u.id===t.id)),P=[];if(e.out){let t=K(e.out)?e.out:V(process.cwd(),e.out);for(let u of S){if(!u.captureRef)continue;let f=await s.evaluate(async k=>{let F=globalThis.SootSim?.bridges?.screenshotControl;if(!F)throw new Error("screenshotControl missing");return F.exportSlide(k)},u.index),C=f.dataUrl.match(/^data:[^;]+;base64,(.+)$/);if(C){let k=U(t,f.name);L(J(k),{recursive:!0}),z(k,Buffer.from(C[1],"base64")),P.push(k)}}}let I=S.filter(t=>t.captureRef&&t.cleanRef),G={org:e.org,repo:e.repo,branch:e.branch,dryRun:e.dryRun,slides:S.map(t=>({index:t.index,title:t.title,captureRef:!!t.captureRef,cleanRef:!!t.cleanRef,screenRef:!!t.screenRef,captureMode:t.captureMode})),editableCount:I.length,uploads:e.dryRun?"skipped (dry-run)":y,written:P,pageErrors:R.slice(0,5)};if(e.json)console.log(JSON.stringify(G,null,2));else{console.log(`
41
- ${I.length}/${S.length} slide(s) now have editable layers (captureRef + cleanRef)`);let t=S.filter(u=>u.captureRef&&!u.cleanRef);if(t.length&&console.log(` \u26A0 ${t.length} slide(s) baked a flat capture only (no cleanRef) \u2014 typically 3d slides whose scene didn't restore for a re-bake.`),!e.dryRun){let u=y.filter(f=>f.status>=200&&f.status<300).length;console.log(` uploads: ${u}/${y.length} PUT(s) succeeded`)}P.length&&console.log(` wrote ${P.length} local PNG(s) to ${e.out}`),R.length&&console.log(` \u26A0 ${R.length} page error(s) during capture`)}return 0}finally{await d.close().catch(()=>{}),l(),W(b,{recursive:!0,force:!0})}}export{be as runScreenshotsCapture};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a}from"./chunk-5FPSA6T3.js";import"./chunk-NWLTJUCZ.js";import"./chunk-FVZQMYUJ.js";export{a as settingsStore};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b}from"./chunk-VR5W6I6B.js";import"./chunk-X4623KU6.js";import"./chunk-K7FLRWXM.js";import"./chunk-FVZQMYUJ.js";export{b as flushCliTelemetry,a as trackCliEvent};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.224 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b,c}from"./chunk-ZTYPCXG2.js";import"./chunk-ZVNBKS5H.js";import"./chunk-HYSKRSBW.js";import"./chunk-CCW5EYIU.js";import"./chunk-RQHZYDRX.js";import"./chunk-NWN2GQ36.js";import"./chunk-VR5W6I6B.js";import"./chunk-X4623KU6.js";import"./chunk-FR2ZFWG2.js";import"./chunk-ZTCF4L5T.js";import"./chunk-K7FLRWXM.js";import"./chunk-FVZQMYUJ.js";export{a as resolveDefaultUploadOrigin,b as resolvePublicPreviewOrigin,c as runUpload};