sootsim 0.1.174 → 0.1.176

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 (148) hide show
  1. package/dist-cli/bin.js +3 -3
  2. package/dist-cli/chunks/{agent-EHUPKIHD.js → agent-XZERN2SO.js} +2 -2
  3. package/dist-cli/chunks/{agent-wrapper-L5F5DCXN.js → agent-wrapper-SAIMSLSO.js} +2 -2
  4. package/dist-cli/chunks/{app-fonts-K4FD7ITP.js → app-fonts-SQVNXLI5.js} +2 -2
  5. package/dist-cli/chunks/{assert-IAGOGXRA.js → assert-EWL6BYVH.js} +2 -2
  6. package/dist-cli/chunks/beta-2CPZK3F2.js +2 -0
  7. package/dist-cli/chunks/{camera-YRT5HULX.js → camera-FFYSKETF.js} +2 -2
  8. package/dist-cli/chunks/{chunk-SCM3ERN4.js → chunk-2SUR2RR2.js} +1 -1
  9. package/dist-cli/chunks/chunk-3LI5PWSP.js +2 -0
  10. package/dist-cli/chunks/{chunk-SWKBOGBZ.js → chunk-4WLI2STY.js} +2 -2
  11. package/dist-cli/chunks/{chunk-DY55G3EZ.js → chunk-55LUU75I.js} +2 -2
  12. package/dist-cli/chunks/{chunk-X7OTWLOA.js → chunk-63VEHUYI.js} +2 -2
  13. package/dist-cli/chunks/{chunk-GERUGIKH.js → chunk-6BU5E655.js} +12 -12
  14. package/dist-cli/chunks/{chunk-7E24LDJL.js → chunk-6S2MBFBN.js} +1 -1
  15. package/dist-cli/chunks/chunk-6WURQDZI.js +1 -0
  16. package/dist-cli/chunks/{chunk-7QNSKZ5Y.js → chunk-BGP3OZID.js} +1 -1
  17. package/dist-cli/chunks/{chunk-7A4YXD3W.js → chunk-CEMRS6UL.js} +1 -1
  18. package/dist-cli/chunks/{chunk-MMIENHCP.js → chunk-CF3NJNBJ.js} +2 -2
  19. package/dist-cli/chunks/{chunk-6BM25DJX.js → chunk-CFPELTGN.js} +2 -2
  20. package/dist-cli/chunks/{chunk-HOQZJLG7.js → chunk-D6GUXY2L.js} +2 -2
  21. package/dist-cli/chunks/{chunk-M25NFKL5.js → chunk-EU54PRND.js} +2 -2
  22. package/dist-cli/chunks/{chunk-YA46Q5HY.js → chunk-GBZNVWFP.js} +2 -2
  23. package/dist-cli/chunks/{chunk-O2PWKVDV.js → chunk-HAW6OMNW.js} +2 -2
  24. package/dist-cli/chunks/{chunk-CBNM2JQX.js → chunk-HZSJ6FL3.js} +2 -2
  25. package/dist-cli/chunks/{chunk-RPRFPJKT.js → chunk-J2BOYJ2U.js} +2 -2
  26. package/dist-cli/chunks/{chunk-TH3AEL45.js → chunk-JXZYXTBM.js} +2 -2
  27. package/dist-cli/chunks/{chunk-J2O2AEFO.js → chunk-L2CTRBGR.js} +1 -1
  28. package/dist-cli/chunks/{chunk-STSULGMI.js → chunk-MWTWVX32.js} +2 -2
  29. package/dist-cli/chunks/{chunk-NEIN26HI.js → chunk-N53VJ3FY.js} +2 -2
  30. package/dist-cli/chunks/{chunk-MZP77ZME.js → chunk-NA2KJSP6.js} +1 -1
  31. package/dist-cli/chunks/{chunk-KLPYSMAV.js → chunk-NMP6YTXS.js} +1 -1
  32. package/dist-cli/chunks/chunk-NPPSB4KE.js +1 -0
  33. package/dist-cli/chunks/{chunk-SFHH65G2.js → chunk-OAOQVBIR.js} +2 -2
  34. package/dist-cli/chunks/{chunk-6OROZMOR.js → chunk-OORRMRMI.js} +1 -1
  35. package/dist-cli/chunks/{chunk-4UEZKS2B.js → chunk-OQ3N5IOK.js} +3 -3
  36. package/dist-cli/chunks/{chunk-IX2RHMWB.js → chunk-PA5EARX2.js} +2 -2
  37. package/dist-cli/chunks/{chunk-JE2Q25A4.js → chunk-PPUEG6C4.js} +1 -1
  38. package/dist-cli/chunks/{chunk-7MVFXNE7.js → chunk-PVIMLBMX.js} +3 -3
  39. package/dist-cli/chunks/{chunk-IIEAMA66.js → chunk-Q4YNZFJF.js} +2 -2
  40. package/dist-cli/chunks/{chunk-N5CGRRGJ.js → chunk-SR7DWNZ3.js} +1 -1
  41. package/dist-cli/chunks/chunk-STWES7DO.js +2 -0
  42. package/dist-cli/chunks/{chunk-H4FFM26I.js → chunk-T3576IDX.js} +1 -1
  43. package/dist-cli/chunks/{chunk-KERGT5NG.js → chunk-VBUURELX.js} +2 -2
  44. package/dist-cli/chunks/{chunk-YA4XRTIG.js → chunk-W2AZ7ASM.js} +1 -1
  45. package/dist-cli/chunks/{chunk-OXREO6LV.js → chunk-W5QHYSDJ.js} +2 -2
  46. package/dist-cli/chunks/{chunk-3SU6H3TH.js → chunk-XC3EDXUI.js} +1 -1
  47. package/dist-cli/chunks/{chunk-FFKK3UYP.js → chunk-XKNXS6EC.js} +1 -1
  48. package/dist-cli/chunks/{chunk-W3SYJD3H.js → chunk-XKVI3H2G.js} +2 -2
  49. package/dist-cli/chunks/{chunk-7NRQVOIK.js → chunk-Y2ZSLUGO.js} +2 -2
  50. package/dist-cli/chunks/{chunk-TPE7XEGU.js → chunk-Y3NDHGEY.js} +2 -2
  51. package/dist-cli/chunks/{chunk-UARZTJ6K.js → chunk-ZAAITWNI.js} +1 -1
  52. package/dist-cli/chunks/{chunk-U7BX2XYL.js → chunk-ZHFUIBAE.js} +1 -1
  53. package/dist-cli/chunks/cli-version-ZQBDNAUR.js +2 -0
  54. package/dist-cli/chunks/{compat-SJW4SLDF.js → compat-ZFBUC4BH.js} +3 -3
  55. package/dist-cli/chunks/{control-HS3KMAUF.js → control-3JJLR4W5.js} +2 -2
  56. package/dist-cli/chunks/{cpu-profile-E46RYKZY.js → cpu-profile-FCEFZTYY.js} +2 -2
  57. package/dist-cli/chunks/daemon-3GBPTTR7.js +2 -0
  58. package/dist-cli/chunks/{debug-TO5VRPFP.js → debug-CUBIZBSH.js} +3 -3
  59. package/dist-cli/chunks/{detox-IWT2ZC6E.js → detox-4225EYR3.js} +2 -2
  60. package/dist-cli/chunks/{device-MM2473ZQ.js → device-S6BWDHPM.js} +2 -2
  61. package/dist-cli/chunks/{diagnose-5COWPUYY.js → diagnose-6CIKXRQI.js} +2 -2
  62. package/dist-cli/chunks/drivers-LI6YV5M7.js +2 -0
  63. package/dist-cli/chunks/{electron-HQGMUN3T.js → electron-37AEV4TD.js} +3 -3
  64. package/dist-cli/chunks/flow-VBH4BQSB.js +2 -0
  65. package/dist-cli/chunks/help-23IS4JFP.js +2 -0
  66. package/dist-cli/chunks/{hints-G6LSQHOA.js → hints-NNX3XRHL.js} +2 -2
  67. package/dist-cli/chunks/{home-paths-WVKPC676.js → home-paths-GOXDTTLM.js} +2 -2
  68. package/dist-cli/chunks/inspect-YSYKYPAO.js +987 -0
  69. package/dist-cli/chunks/{install-desktop-CWTQXAHN.js → install-desktop-OHGSHF3I.js} +3 -3
  70. package/dist-cli/chunks/{keys-DCWFESUB.js → keys-U7AANCE7.js} +2 -2
  71. package/dist-cli/chunks/{login-WTZRKO4L.js → login-HQ7IGHOQ.js} +4 -4
  72. package/dist-cli/chunks/{logout-3XCA6HOX.js → logout-CDVV56NI.js} +2 -2
  73. package/dist-cli/chunks/{maestro-5VKHW67Y.js → maestro-ZSO5MEL7.js} +2 -2
  74. package/dist-cli/chunks/optional-demo-registry-RG5TBVMN.js +2 -0
  75. package/dist-cli/chunks/{preview-ZBD2J4MR.js → preview-QHRLVFZ3.js} +2 -2
  76. package/dist-cli/chunks/{profile-3ENYOSN4.js → profile-JQ2VTWDK.js} +2 -2
  77. package/dist-cli/chunks/{react-DASWRMSI.js → react-FZAOHKVR.js} +2 -2
  78. package/dist-cli/chunks/{record-EICRO6TY.js → record-6SKJBVDV.js} +4 -4
  79. package/dist-cli/chunks/runtime-KFHRVRZQ.js +2 -0
  80. package/dist-cli/chunks/{screenshot-HE6MAIMM.js → screenshot-ZWWD7RKD.js} +2 -2
  81. package/dist-cli/chunks/{screenshot-mode-OQDAMXSB.js → screenshot-mode-AVGIIPOT.js} +2 -2
  82. package/dist-cli/chunks/{screenshots-5WZVXZ5W.js → screenshots-HNAQHHEZ.js} +2 -2
  83. package/dist-cli/chunks/{screenshots-capture-UZP6TEXX.js → screenshots-capture-GR3JCQEV.js} +2 -2
  84. package/dist-cli/chunks/{serve-BAXU4D42.js → serve-E5JSN7LL.js} +10 -10
  85. package/dist-cli/chunks/{setup-DRMJTUMK.js → setup-2M6ZQHFS.js} +2 -2
  86. package/dist-cli/chunks/{skills-R6NXAFPT.js → skills-EK6EIZKG.js} +2 -2
  87. package/dist-cli/chunks/{slides-SGIOOUVU.js → slides-7LMX75H7.js} +2 -2
  88. package/dist-cli/chunks/store-VOGIKQFW.js +2 -0
  89. package/dist-cli/chunks/telemetry-7TUUNCCB.js +2 -0
  90. package/dist-cli/chunks/{test-7HAXG4AU.js → test-GTYC4F55.js} +3 -3
  91. package/dist-cli/chunks/{three-mode-GBC3JNV6.js → three-mode-2PYZFZSU.js} +2 -2
  92. package/dist-cli/chunks/{timeline-C3HHCWU7.js → timeline-MIFLVHUE.js} +2 -2
  93. package/dist-cli/chunks/{upgrade-AJ7FIJO2.js → upgrade-ZVV5XJUB.js} +2 -2
  94. package/dist-cli/chunks/upload-AW66MDC5.js +2 -0
  95. package/dist-cli/chunks/{version-RYF5DY5P.js → version-IDZEL6JB.js} +2 -2
  96. package/dist-cli/chunks/{web-VPQD3D5K.js → web-IGOSYQWE.js} +2 -2
  97. package/dist-cli/chunks/{what-happened-QRPH35TD.js → what-happened-2YDLA4TU.js} +2 -2
  98. package/dist-cli/chunks/{whoami-BPGQUMYX.js → whoami-MHMILIEP.js} +2 -2
  99. package/dist-lib/agent-daemon-client.cjs +1 -1
  100. package/dist-lib/agent-events.cjs +1 -1
  101. package/dist-lib/agent-sessions.cjs +1 -1
  102. package/dist-lib/attached-projects.cjs +1 -1
  103. package/dist-lib/auth/shared-session.cjs +1 -1
  104. package/dist-lib/backend-origin.cjs +1 -1
  105. package/dist-lib/beta.cjs +1 -1
  106. package/dist-lib/beta.mjs +1 -1
  107. package/dist-lib/bridge-constants.cjs +7 -1
  108. package/dist-lib/cli-constants.cjs +1 -1
  109. package/dist-lib/config.cjs +1 -1
  110. package/dist-lib/detox/index.cjs +1 -1
  111. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  112. package/dist-lib/home-paths.cjs +1 -1
  113. package/dist-lib/host/bridge-host.cjs +3 -2
  114. package/dist-lib/host/fetch-proxy-handler.cjs +1 -1
  115. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  116. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  117. package/dist-lib/host/websocket-proxy.cjs +1 -1
  118. package/dist-lib/index.cjs +1 -1
  119. package/dist-lib/jump-to-source-babel.cjs +1 -1
  120. package/dist-lib/menu.cjs +1 -1
  121. package/dist-lib/menu.mjs +1 -1
  122. package/dist-lib/metro.cjs +1 -1
  123. package/dist-lib/profiles.cjs +1 -1
  124. package/dist-lib/render-mode.cjs +1 -1
  125. package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
  126. package/dist-lib/sdk.cjs +28 -1
  127. package/dist-lib/sdk.mjs +27 -1
  128. package/dist-lib/skills.cjs +10 -3
  129. package/dist-lib/vite.cjs +1 -1
  130. package/package.json +1 -1
  131. package/src/bridge-constants.ts +9 -0
  132. package/src/host/bridge-host.ts +7 -4
  133. package/dist-cli/chunks/beta-U7KMLBHU.js +0 -2
  134. package/dist-cli/chunks/chunk-3FGEZ5ZM.js +0 -1
  135. package/dist-cli/chunks/chunk-C77TGXJ6.js +0 -1
  136. package/dist-cli/chunks/chunk-GPC5MNUW.js +0 -2
  137. package/dist-cli/chunks/chunk-QWKK2QEY.js +0 -2
  138. package/dist-cli/chunks/cli-version-YJOJPTJN.js +0 -2
  139. package/dist-cli/chunks/daemon-ZTEQIFR3.js +0 -2
  140. package/dist-cli/chunks/drivers-VFOM6SJP.js +0 -2
  141. package/dist-cli/chunks/flow-Z5DTMEGY.js +0 -2
  142. package/dist-cli/chunks/help-GYJH5S4Y.js +0 -2
  143. package/dist-cli/chunks/inspect-LTFGONJD.js +0 -978
  144. package/dist-cli/chunks/optional-demo-registry-VKTF3JLY.js +0 -2
  145. package/dist-cli/chunks/runtime-FLNHVIWT.js +0 -2
  146. package/dist-cli/chunks/store-ZQ4F3GEO.js +0 -2
  147. package/dist-cli/chunks/telemetry-YTN2XUOV.js +0 -2
  148. package/dist-cli/chunks/upload-JXH5MBZO.js +0 -2
@@ -1,5 +1,5 @@
1
- /*! sootsim v0.1.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{C as N,D as F,E as y,P as T,Q as b,R as S}from"./chunk-GERUGIKH.js";import{c as A,e as _}from"./chunk-O2PWKVDV.js";import"./chunk-QWKK2QEY.js";import{b as k}from"./chunk-3SU6H3TH.js";import"./chunk-6OROZMOR.js";import"./chunk-U7BX2XYL.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.176 | (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-6BU5E655.js";import{c as A,e as _}from"./chunk-HAW6OMNW.js";import"./chunk-STWES7DO.js";import{b as k}from"./chunk-XC3EDXUI.js";import"./chunk-OORRMRMI.js";import"./chunk-ZHFUIBAE.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,2 +1,2 @@
1
- /*! sootsim v0.1.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{d as i}from"./chunk-SWKBOGBZ.js";import{d as n}from"./chunk-SFHH65G2.js";import"./chunk-6OROZMOR.js";import"./chunk-U7BX2XYL.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.176 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
+ import{d as i}from"./chunk-4WLI2STY.js";import{d as n}from"./chunk-OAOQVBIR.js";import"./chunk-OORRMRMI.js";import"./chunk-ZHFUIBAE.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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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;
@@ -88,6 +88,12 @@ function resolveSootsimBridgePortForRuntimeLocation(input = {}) {
88
88
  const hrefUrl = parseHrefUrl(input.href);
89
89
  const httpPort = parsePort(input.httpPort) ?? parsePort(hrefUrl?.port);
90
90
  if (httpPort === null) return DEFAULT_SOOTSIM_BRIDGE_PORT;
91
+ if (hrefUrl?.pathname.startsWith("/sootsim") && (hrefUrl.searchParams.has("embed") || hrefUrl.searchParams.has("nativePreview"))) {
92
+ return resolveSootsimBridgePortForHttpPort({
93
+ httpPort,
94
+ baseHttpPort: SOOTBEAN_DEV_HTTP_BASE_PORT
95
+ });
96
+ }
91
97
  if (hrefUrl?.pathname.startsWith("/sootsim") && httpPort >= SOOTSIM_SITE_DEV_HTTP_BASE_PORT && httpPort <= SOOTSIM_SITE_DEV_HTTP_BASE_PORT + MAX_LOCAL_DEV_PORT_OFFSET) {
92
98
  return resolveSootsimBridgePortForHttpPort({
93
99
  httpPort,
@@ -1,4 +1,4 @@
1
- /*! sootsim v0.1.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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;
@@ -2707,6 +2707,7 @@ function handleWebSocketProxyUpgrade(req, socket, head) {
2707
2707
  }
2708
2708
 
2709
2709
  // src/host/bridge-host.ts
2710
+ var SOOTSIM_CROSS_ORIGIN_EMBEDDER_POLICY = "require-corp";
2710
2711
  var WRITE_COMMAND_TYPES = /* @__PURE__ */ new Set(["tap", "keyboard"]);
2711
2712
  var FORCE_CLOSE_GRACE_MS = 2e3;
2712
2713
  var FORCE_CLOSE_TERMINATE_MS = 1e3;
@@ -3615,7 +3616,7 @@ var SootSimBridgeHost = class _SootSimBridgeHost {
3615
3616
  * electron's webContents can navigate freely inside the runtime. */
3616
3617
  handleHttpRequest(req, res) {
3617
3618
  res.setHeader("Cross-Origin-Opener-Policy", "same-origin");
3618
- res.setHeader("Cross-Origin-Embedder-Policy", "credentialless");
3619
+ res.setHeader("Cross-Origin-Embedder-Policy", SOOTSIM_CROSS_ORIGIN_EMBEDDER_POLICY);
3619
3620
  res.setHeader("Cross-Origin-Resource-Policy", "cross-origin");
3620
3621
  res.setHeader("Document-Policy", "js-profiling");
3621
3622
  if (isFetchProxyRequestUrl(req.url)) {
@@ -1,4 +1,4 @@
1
- /*! sootsim v0.1.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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;
@@ -33,6 +33,7 @@ __export(sdk_exports, {
33
33
  clearConsole: () => clearConsole,
34
34
  clearLogs: () => clearLogs,
35
35
  clearRequests: () => clearRequests,
36
+ detectOpenNativeUI: () => detectOpenNativeUI,
36
37
  filterLogEntries: () => filterLogEntries,
37
38
  formatLayoutElements: () => formatLayoutElements,
38
39
  formatTimelineEvent: () => formatTimelineEvent,
@@ -1059,6 +1060,31 @@ async function inspectTimelineRecent(bridge, query) {
1059
1060
  args: [query]
1060
1061
  });
1061
1062
  }
1063
+ async function detectOpenNativeUI(bridge) {
1064
+ let events;
1065
+ try {
1066
+ const res = await inspectTimelineRecent(bridge, {
1067
+ kinds: ["alert", "actionsheet"],
1068
+ limit: 80
1069
+ });
1070
+ events = res.events;
1071
+ } catch {
1072
+ return [];
1073
+ }
1074
+ const latest = /* @__PURE__ */ new Map();
1075
+ for (const ev of events) latest.set(ev.kind, ev);
1076
+ const out = [];
1077
+ const check = (kind, label) => {
1078
+ const ev = latest.get(kind);
1079
+ if (!ev || !ev.data || typeof ev.data !== "object") return;
1080
+ const d = ev.data;
1081
+ if (d.phase !== "show") return;
1082
+ out.push({ label, title: typeof d.title === "string" ? d.title : null });
1083
+ };
1084
+ check("alert", "Alert");
1085
+ check("actionsheet", "ActionSheet");
1086
+ return out;
1087
+ }
1062
1088
  async function inspectTimelineAdvanceCursor(bridge, cursorKey, watermark) {
1063
1089
  await bridge.send({
1064
1090
  type: "call",
@@ -1804,6 +1830,7 @@ async function tapBest(bridge, query, opts = {}) {
1804
1830
  clearConsole,
1805
1831
  clearLogs,
1806
1832
  clearRequests,
1833
+ detectOpenNativeUI,
1807
1834
  filterLogEntries,
1808
1835
  formatLayoutElements,
1809
1836
  formatTimelineEvent,
package/dist-lib/sdk.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! sootsim v0.1.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // cli/commands/inspect/core.ts
4
4
  function resolveMaxMsFlag(args, fallbackMs) {
@@ -970,6 +970,31 @@ async function inspectTimelineRecent(bridge, query) {
970
970
  args: [query]
971
971
  });
972
972
  }
973
+ async function detectOpenNativeUI(bridge) {
974
+ let events;
975
+ try {
976
+ const res = await inspectTimelineRecent(bridge, {
977
+ kinds: ["alert", "actionsheet"],
978
+ limit: 80
979
+ });
980
+ events = res.events;
981
+ } catch {
982
+ return [];
983
+ }
984
+ const latest = /* @__PURE__ */ new Map();
985
+ for (const ev of events) latest.set(ev.kind, ev);
986
+ const out = [];
987
+ const check = (kind, label) => {
988
+ const ev = latest.get(kind);
989
+ if (!ev || !ev.data || typeof ev.data !== "object") return;
990
+ const d = ev.data;
991
+ if (d.phase !== "show") return;
992
+ out.push({ label, title: typeof d.title === "string" ? d.title : null });
993
+ };
994
+ check("alert", "Alert");
995
+ check("actionsheet", "ActionSheet");
996
+ return out;
997
+ }
973
998
  async function inspectTimelineAdvanceCursor(bridge, cursorKey, watermark) {
974
999
  await bridge.send({
975
1000
  type: "call",
@@ -1714,6 +1739,7 @@ export {
1714
1739
  clearConsole,
1715
1740
  clearLogs,
1716
1741
  clearRequests,
1742
+ detectOpenNativeUI,
1717
1743
  filterLogEntries,
1718
1744
  formatLayoutElements,
1719
1745
  formatTimelineEvent,
@@ -1,4 +1,4 @@
1
- /*! sootsim v0.1.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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;
@@ -9962,6 +9962,12 @@ function resolveSootsimBridgePortForRuntimeLocation(input = {}) {
9962
9962
  const hrefUrl = parseHrefUrl(input.href);
9963
9963
  const httpPort = parsePort(input.httpPort) ?? parsePort(hrefUrl?.port);
9964
9964
  if (httpPort === null) return DEFAULT_SOOTSIM_BRIDGE_PORT;
9965
+ if (hrefUrl?.pathname.startsWith("/sootsim") && (hrefUrl.searchParams.has("embed") || hrefUrl.searchParams.has("nativePreview"))) {
9966
+ return resolveSootsimBridgePortForHttpPort({
9967
+ httpPort,
9968
+ baseHttpPort: SOOTBEAN_DEV_HTTP_BASE_PORT
9969
+ });
9970
+ }
9965
9971
  if (hrefUrl?.pathname.startsWith("/sootsim") && httpPort >= SOOTSIM_SITE_DEV_HTTP_BASE_PORT && httpPort <= SOOTSIM_SITE_DEV_HTTP_BASE_PORT + MAX_LOCAL_DEV_PORT_OFFSET) {
9966
9972
  return resolveSootsimBridgePortForHttpPort({
9967
9973
  httpPort,
@@ -12822,7 +12828,7 @@ function unrefTimer(timer) {
12822
12828
  timer.unref();
12823
12829
  }
12824
12830
  }
12825
- var import_child_process4, import_fs3, import_http3, import_path3, import_ws2, WRITE_COMMAND_TYPES, FORCE_CLOSE_GRACE_MS, FORCE_CLOSE_TERMINATE_MS, DAEMON_HEARTBEAT_INTERVAL_MS, DEFAULT_RUNTIME_UPDATE_INTERVAL_MS, RUNTIME_UPDATE_INTERVAL_ENV, HTTP_MIME_TYPES, SootSimBridgeHost;
12831
+ var import_child_process4, import_fs3, import_http3, import_path3, import_ws2, SOOTSIM_CROSS_ORIGIN_EMBEDDER_POLICY, WRITE_COMMAND_TYPES, FORCE_CLOSE_GRACE_MS, FORCE_CLOSE_TERMINATE_MS, DAEMON_HEARTBEAT_INTERVAL_MS, DEFAULT_RUNTIME_UPDATE_INTERVAL_MS, RUNTIME_UPDATE_INTERVAL_ENV, HTTP_MIME_TYPES, SootSimBridgeHost;
12826
12832
  var init_bridge_host = __esm({
12827
12833
  "src/host/bridge-host.ts"() {
12828
12834
  "use strict";
@@ -12840,6 +12846,7 @@ var init_bridge_host = __esm({
12840
12846
  init_fetch_proxy_handler();
12841
12847
  init_open_url();
12842
12848
  init_websocket_proxy();
12849
+ SOOTSIM_CROSS_ORIGIN_EMBEDDER_POLICY = "require-corp";
12843
12850
  WRITE_COMMAND_TYPES = /* @__PURE__ */ new Set(["tap", "keyboard"]);
12844
12851
  FORCE_CLOSE_GRACE_MS = 2e3;
12845
12852
  FORCE_CLOSE_TERMINATE_MS = 1e3;
@@ -13719,7 +13726,7 @@ var init_bridge_host = __esm({
13719
13726
  * electron's webContents can navigate freely inside the runtime. */
13720
13727
  handleHttpRequest(req, res) {
13721
13728
  res.setHeader("Cross-Origin-Opener-Policy", "same-origin");
13722
- res.setHeader("Cross-Origin-Embedder-Policy", "credentialless");
13729
+ res.setHeader("Cross-Origin-Embedder-Policy", SOOTSIM_CROSS_ORIGIN_EMBEDDER_POLICY);
13723
13730
  res.setHeader("Cross-Origin-Resource-Policy", "cross-origin");
13724
13731
  res.setHeader("Document-Policy", "js-profiling");
13725
13732
  if (isFetchProxyRequestUrl(req.url)) {
package/dist-lib/vite.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! sootsim v0.1.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.176 | (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.174",
3
+ "version": "0.1.176",
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",
@@ -82,6 +82,15 @@ export function resolveSootsimBridgePortForRuntimeLocation(
82
82
  const hrefUrl = parseHrefUrl(input.href)
83
83
  const httpPort = parsePort(input.httpPort) ?? parsePort(hrefUrl?.port)
84
84
  if (httpPort === null) return DEFAULT_SOOTSIM_BRIDGE_PORT
85
+ if (
86
+ hrefUrl?.pathname.startsWith('/sootsim') &&
87
+ (hrefUrl.searchParams.has('embed') || hrefUrl.searchParams.has('nativePreview'))
88
+ ) {
89
+ return resolveSootsimBridgePortForHttpPort({
90
+ httpPort,
91
+ baseHttpPort: SOOTBEAN_DEV_HTTP_BASE_PORT,
92
+ })
93
+ }
85
94
  if (
86
95
  hrefUrl?.pathname.startsWith('/sootsim') &&
87
96
  httpPort >= SOOTSIM_SITE_DEV_HTTP_BASE_PORT &&
@@ -41,6 +41,8 @@ import {
41
41
  import { openUrl as openUrlInBrowser, type OpenUrlOptions } from './open-url.ts'
42
42
  import { handleWebSocketProxyUpgrade } from './websocket-proxy'
43
43
 
44
+ const SOOTSIM_CROSS_ORIGIN_EMBEDDER_POLICY = 'require-corp'
45
+
44
46
  export interface BridgeSimInfo {
45
47
  id: string
46
48
  origin?: string
@@ -1341,11 +1343,12 @@ export class SootSimBridgeHost {
1341
1343
  // sootbean.com app/_middleware.ts (prod) so the cli daemon serves the
1342
1344
  // same surface those two already enforce. set via setHeader so subsequent
1343
1345
  // writeHead() calls preserve them (writeHead only overrides keys it
1344
- // explicitly passes). credentialless lets cross-origin sub-resources
1345
- // (metro bundles, font files) load without requiring CORP from every
1346
- // upstream same trade-off prod already accepts.
1346
+ // explicitly passes). Safari/iOS WebKit does not isolate documents for
1347
+ // COEP=credentialless, so use require-corp and keep bridge-served/proxied
1348
+ // resources same-origin with CORP where needed. mirrors the SootSim shell
1349
+ // dev server and the /sootsim production override.
1347
1350
  res.setHeader('Cross-Origin-Opener-Policy', 'same-origin')
1348
- res.setHeader('Cross-Origin-Embedder-Policy', 'credentialless')
1351
+ res.setHeader('Cross-Origin-Embedder-Policy', SOOTSIM_CROSS_ORIGIN_EMBEDDER_POLICY)
1349
1352
  res.setHeader('Cross-Origin-Resource-Policy', 'cross-origin')
1350
1353
  res.setHeader('Document-Policy', 'js-profiling')
1351
1354
 
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b,c,d}from"./chunk-KLPYSMAV.js";import"./chunk-U7BX2XYL.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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
@@ -1 +0,0 @@
1
- /*! sootsim v0.1.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- var t="http://localhost:5173/";export{t as a};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- var t=4001,n="sootsim close";export{t as a,n as b};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a}from"./chunk-J2O2AEFO.js";import"./chunk-U7BX2XYL.js";export{a as getCliVersion};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b,c,d,e}from"./chunk-MMIENHCP.js";import"./chunk-DY55G3EZ.js";import"./chunk-SFHH65G2.js";import"./chunk-RPRFPJKT.js";import"./chunk-YA46Q5HY.js";import"./chunk-MZP77ZME.js";import"./chunk-CBNM2JQX.js";import"./chunk-X7OTWLOA.js";import"./chunk-GPC5MNUW.js";import"./chunk-QWKK2QEY.js";import"./chunk-3SU6H3TH.js";import"./chunk-6OROZMOR.js";import"./chunk-J2O2AEFO.js";import"./chunk-KLPYSMAV.js";import"./chunk-7E24LDJL.js";import"./chunk-U7BX2XYL.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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import"./chunk-3FGEZ5ZM.js";import{a,b,c,d,e,f,g,h,i}from"./chunk-W3SYJD3H.js";import"./chunk-UARZTJ6K.js";import"./chunk-HOQZJLG7.js";import"./chunk-JE2Q25A4.js";import"./chunk-3SU6H3TH.js";import"./chunk-6OROZMOR.js";import"./chunk-U7BX2XYL.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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a as c,b as d,c as e,d as f}from"./chunk-7MVFXNE7.js";import"./chunk-7NRQVOIK.js";import"./chunk-C77TGXJ6.js";import"./chunk-OXREO6LV.js";import{c as a,d as b}from"./chunk-M25NFKL5.js";import"./chunk-IIEAMA66.js";import"./chunk-6BM25DJX.js";import"./chunk-STSULGMI.js";import"./chunk-GERUGIKH.js";import"./chunk-7QNSKZ5Y.js";import"./chunk-W3SYJD3H.js";import"./chunk-UARZTJ6K.js";import"./chunk-HOQZJLG7.js";import"./chunk-KERGT5NG.js";import"./chunk-SWKBOGBZ.js";import"./chunk-YA4XRTIG.js";import"./chunk-N5CGRRGJ.js";import"./chunk-O2PWKVDV.js";import"./chunk-JE2Q25A4.js";import"./chunk-DY55G3EZ.js";import"./chunk-SFHH65G2.js";import"./chunk-X7OTWLOA.js";import"./chunk-GPC5MNUW.js";import"./chunk-QWKK2QEY.js";import"./chunk-3SU6H3TH.js";import"./chunk-6OROZMOR.js";import"./chunk-TPE7XEGU.js";import"./chunk-7E24LDJL.js";import"./chunk-U7BX2XYL.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.174 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b,c}from"./chunk-RPRFPJKT.js";import"./chunk-YA46Q5HY.js";import"./chunk-MZP77ZME.js";import"./chunk-CBNM2JQX.js";import"./chunk-X7OTWLOA.js";import"./chunk-GPC5MNUW.js";import"./chunk-QWKK2QEY.js";import"./chunk-3SU6H3TH.js";import"./chunk-6OROZMOR.js";import"./chunk-J2O2AEFO.js";import"./chunk-KLPYSMAV.js";import"./chunk-7E24LDJL.js";import"./chunk-U7BX2XYL.js";export{c as printCommandHelp,b as printGroupHelp,a as printHelp};