@hearsay-tools/squawk 0.17.0-dev.5723 → 0.17.0-dev.5734

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 (108) hide show
  1. package/README.md +19 -19
  2. package/dist/application-update/discovery.js +19 -11
  3. package/dist/application-update/discovery.js.map +1 -1
  4. package/dist/application-update/service.js +2 -2
  5. package/dist/application-update/service.js.map +1 -1
  6. package/dist/delegation/entry-exists.d.ts +2 -0
  7. package/dist/delegation/entry-exists.js +10 -0
  8. package/dist/delegation/entry-exists.js.map +1 -0
  9. package/dist/delegation/identity-file-store.d.ts +22 -0
  10. package/dist/delegation/identity-file-store.js +16 -0
  11. package/dist/delegation/identity-file-store.js.map +1 -0
  12. package/dist/delegation/posix-workspace-identity.d.ts +3 -0
  13. package/dist/delegation/posix-workspace-identity.js +68 -0
  14. package/dist/delegation/posix-workspace-identity.js.map +1 -0
  15. package/dist/delegation/routes.d.ts +75 -75
  16. package/dist/delegation/transport.d.ts +13 -13
  17. package/dist/delegation/windows-identity-store.d.ts +5 -0
  18. package/dist/delegation/windows-identity-store.js +15 -0
  19. package/dist/delegation/windows-identity-store.js.map +1 -0
  20. package/dist/delegation/workspace.js +9 -75
  21. package/dist/delegation/workspace.js.map +1 -1
  22. package/dist/home/command.js +2 -2
  23. package/dist/home/command.js.map +1 -1
  24. package/dist/home/identity.d.ts +38 -14
  25. package/dist/home/identity.js +18 -8
  26. package/dist/home/identity.js.map +1 -1
  27. package/dist/index.js +3 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/install-as-command.d.ts +1 -1
  30. package/dist/release/manifests.d.ts +10 -15
  31. package/dist/release/manifests.js +17 -10
  32. package/dist/release/manifests.js.map +1 -1
  33. package/dist/release/snapshot.d.ts +3 -3
  34. package/dist/release/snapshot.js +3 -4
  35. package/dist/release/snapshot.js.map +1 -1
  36. package/dist/self-update/launcher.js +2 -2
  37. package/dist/self-update/launcher.js.map +1 -1
  38. package/dist/self-update/layout.d.ts +1 -1
  39. package/dist/serve-command.js +7 -1
  40. package/dist/serve-command.js.map +1 -1
  41. package/dist/server/activity-routes.d.ts +23 -23
  42. package/dist/server/live-routes.d.ts +6 -6
  43. package/dist/server/server.d.ts +1571 -1571
  44. package/dist/server-install/npx-cache.d.ts +5 -1
  45. package/dist/server-install/npx-cache.js +15 -4
  46. package/dist/server-install/npx-cache.js.map +1 -1
  47. package/dist/server-install/platforms/macosx-launchd-files.js +4 -2
  48. package/dist/server-install/platforms/macosx-launchd-files.js.map +1 -1
  49. package/dist/server-install/platforms/macosx-ngrok.js +6 -6
  50. package/dist/server-install/platforms/macosx-ngrok.js.map +1 -1
  51. package/dist/server-install/platforms/ubuntu-vps.d.ts +5 -4
  52. package/dist/server-install/platforms/ubuntu-vps.js +11 -11
  53. package/dist/server-install/platforms/ubuntu-vps.js.map +1 -1
  54. package/package.json +4 -4
  55. package/scripts/benchmark-family-reconcile.ts +4 -0
  56. package/scripts/benchmark-run-store.ts +4 -0
  57. package/scripts/benchmark-stuck-destroys.ts +4 -0
  58. package/scripts/benchmark-workspace-events.ts +4 -0
  59. package/web/dist/assets/{activity-motion-SGth5vR4.js → activity-motion-hhx0e841.js} +1 -1
  60. package/web/dist/assets/{activity-route-D8otXwOA.js → activity-route-De0BnSrc.js} +1 -1
  61. package/web/dist/assets/{agent-accounts-6EuZhy-N.js → agent-accounts-BCg-578Q.js} +1 -1
  62. package/web/dist/assets/{alert-dialog-vFjLgfK4.js → alert-dialog-Dj464rjk.js} +1 -1
  63. package/web/dist/assets/{button-BEK7XKhS.js → button-CHUAMTHK.js} +1 -1
  64. package/web/dist/assets/{centered-state-CPgI8cCO.js → centered-state-DGyy0SuA.js} +1 -1
  65. package/web/dist/assets/{commit-diff-panel-DzyWgn1Z.js → commit-diff-panel-DYtYc_dH.js} +1 -1
  66. package/web/dist/assets/{control-locations-CexZsd3M.js → control-locations-CA9TMupq.js} +1 -1
  67. package/web/dist/assets/{diff-controls-DXyB0aDl.js → diff-controls-BR2uqhwG.js} +1 -1
  68. package/web/dist/assets/{diff-DBDiZl58.js → diff-tVGVhYyc.js} +2 -2
  69. package/web/dist/assets/{diff-view-DiKAwVMH.js → diff-view-CNM3u77o.js} +1 -1
  70. package/web/dist/assets/{dropdown-menu-DYflHa4m.js → dropdown-menu-DhrBcVgr.js} +1 -1
  71. package/web/dist/assets/{es2015-BO600Xfi.js → es2015-D345RR4o.js} +1 -1
  72. package/web/dist/assets/{file-preview-DTSRkmMo.js → file-preview-C1eTdJLJ.js} +1 -1
  73. package/web/dist/assets/{git-toolbar-U4s46kUd.js → git-toolbar-Dwz8p8GW.js} +1 -1
  74. package/web/dist/assets/{github-UaBp2yRF.js → github-BSezqH6f.js} +1 -1
  75. package/web/dist/assets/{github-sidebar-model-czjLsgVJ.js → github-sidebar-model-Ct0DltOv.js} +1 -1
  76. package/web/dist/assets/{global-activity-route-B2N2Nz0H.js → global-activity-route-BZiYz-B0.js} +1 -1
  77. package/web/dist/assets/{image-preview-XPCPclpG.js → image-preview-Cq1vDiEo.js} +1 -1
  78. package/web/dist/assets/{index-xj-3O89_.js → index-D489J7QW.js} +5 -5
  79. package/web/dist/assets/{live-refetch-C-Ony2Yr.js → live-refetch-C0kQc3-z.js} +1 -1
  80. package/web/dist/assets/{markdown-UdZ_toya.js → markdown-D7DUNWcJ.js} +1 -1
  81. package/web/dist/assets/{nav-row-styles-BE99gD3_.js → nav-row-styles-BZUUavOF.js} +1 -1
  82. package/web/dist/assets/{popover-CpULuQSm.js → popover-DRcRI46x.js} +1 -1
  83. package/web/dist/assets/{preview-pane-connected-CgRK7GzB.js → preview-pane-connected-DGkEs_L3.js} +1 -1
  84. package/web/dist/assets/{project-router-CimAoN1H.js → project-router-1m_VlC22.js} +1 -1
  85. package/web/dist/assets/{project-scope-context-DMpvJqIm.js → project-scope-context-CaUqlAd7.js} +1 -1
  86. package/web/dist/assets/{queries-BIOp8jLx.js → queries-DYfIpJ-d.js} +1 -1
  87. package/web/dist/assets/{repo-git-XkyTfP9G.js → repo-git-CU1S5P-y.js} +1 -1
  88. package/web/dist/assets/{report-reader-CZjYS5Aw.js → report-reader-DlZol2Ux.js} +1 -1
  89. package/web/dist/assets/{reports-D_2sFE1y.js → reports-DIGGjk7C.js} +1 -1
  90. package/web/dist/assets/{run-header-BwPDVPpg.js → run-header-DPjiPKRe.js} +1 -1
  91. package/web/dist/assets/{skills-BkXe4p4q.js → skills-BMwanop_.js} +1 -1
  92. package/web/dist/assets/{tab-link-BIweqlIZ.js → tab-link-DCUifQ46.js} +1 -1
  93. package/web/dist/assets/{task-changes-USNHNm_T.js → task-changes-BZXWvQN3.js} +1 -1
  94. package/web/dist/assets/{task-commits-kHqlOJe_.js → task-commits-ByI9MSfc.js} +1 -1
  95. package/web/dist/assets/{task-files-wTWwLR39.js → task-files-LJbenpiH.js} +1 -1
  96. package/web/dist/assets/{task-github-item-GzaQjkF1.js → task-github-item-B0CU9lGR.js} +1 -1
  97. package/web/dist/assets/{task-thread-BZX863UN.js → task-thread-CXCN__1a.js} +1 -1
  98. package/web/dist/assets/{textarea-FAUkHz1K.js → textarea-DlVUfdWG.js} +1 -1
  99. package/web/dist/assets/{thread-state-CBzx2hmX.js → thread-state-BLaCzqeX.js} +1 -1
  100. package/web/dist/assets/{toaster-pthKGWiE.js → toaster-B1MyeHiE.js} +1 -1
  101. package/web/dist/assets/{use-hand-to-agent-state-Bav9eT3b.js → use-hand-to-agent-state-BkmKad8x.js} +1 -1
  102. package/web/dist/assets/{useInfiniteQuery-CQI4BO4C.js → useInfiniteQuery-qEY8OhKb.js} +1 -1
  103. package/web/dist/assets/useQuery-DOJQOEBO.js +1 -0
  104. package/web/dist/assets/{workflows-D871Gx--.js → workflows-Dbxb-d-6.js} +1 -1
  105. package/web/dist/assets/{ws-DspW9wBH.js → ws-DvGmrP4z.js} +1 -1
  106. package/web/dist/assets/{zoomable-image-DNc6ORaF.js → zoomable-image-5pOUaPEg.js} +1 -1
  107. package/web/dist/index.html +21 -21
  108. package/web/dist/assets/useQuery-Bkq-x4Id.js +0 -1
@@ -1 +1 @@
1
- import{Hn as e,Ln as t}from"./project-scope-context-DMpvJqIm.js";function n(e,t){return e??t}function r(e,t){let r=n(e,t);return r===`1`||r===`true`}function i(e,t,r){return e?.trim()||n(t,r)||``}function a(){return r(void 0,void 0)}function o(n){return t[e(n).bucket]<=t.waiting}function s(e){return!a()&&e}export{i,o as n,a as r,s as t};
1
+ import{Hn as e,Ln as t}from"./project-scope-context-CaUqlAd7.js";function n(e,t){return e??t}function r(e,t){let r=n(e,t);return r===`1`||r===`true`}function i(e,t,r){return e?.trim()||n(t,r)||``}function a(){return r(void 0,void 0)}function o(n){return t[e(n).bucket]<=t.waiting}function s(e){return!a()&&e}export{i,o as n,a as r,s as t};
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/html-BY76lXLH.js","assets/css-BsVw1vtW.js","assets/javascript-BgS3c2Ky.js","assets/core-BCsw8oQw.js","assets/lib-BxQXEXDF.js","assets/rolldown-runtime-QTnfLwEv.js"])))=>i.map(i=>d[i]);
2
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{C as t,L as n,S as r,l as i,w as a}from"./button-BEK7XKhS.js";import{i as o,t as s}from"./react-runtime-CCIEwYL0.js";import{i as c}from"./bundle-mjs-BT31bpU6.js";import{a as l,c as u,i as ee,n as te,o as ne,r as re,s as ie,t as d}from"./alert-dialog-vFjLgfK4.js";import{i as ae,n as f}from"./chunk-BO2N2NFS-DE6qKn3r.js";var p=e(o(),1),m={name:`cezar-syn`,type:`dark`,fg:`var(--syn-var)`,bg:`transparent`,settings:[{scope:[`keyword`,`storage`,`constant.language`,`variable.language`,`entity.other.attribute-name`,`support.type.property-name`],settings:{foreground:`var(--syn-key)`}},{scope:[`string`,`punctuation.definition.string`],settings:{foreground:`var(--syn-str)`}},{scope:[`entity.name.function`,`support.function`,`entity.name.tag`,`entity.name.type`,`entity.name.class`,`support.class`,`support.type`],settings:{foreground:`var(--syn-fn)`}},{scope:[`comment`,`punctuation.definition.comment`],settings:{foreground:`var(--syn-com)`}},{scope:[`constant.numeric`,`constant.character`,`constant.other`,`support.constant`,`keyword.other.unit`],settings:{foreground:`var(--syn-num)`}},{scope:[`punctuation`,`keyword.operator`,`meta.brace`,`punctuation.separator`,`punctuation.terminator`],settings:{foreground:`var(--syn-punc)`}},{scope:[`variable`,`entity.name.variable`],settings:{foreground:`var(--syn-var)`}}]},h={typescript:()=>c(()=>import(`./typescript-bsJCZSQ-.js`),[]),tsx:()=>c(()=>import(`./tsx-udAQXfEw.js`),[]),javascript:()=>c(()=>import(`./javascript-BgS3c2Ky.js`),[]),jsx:()=>c(()=>import(`./jsx-Bz0zcwM4.js`),[]),json:()=>c(()=>import(`./json-qhed-kSA.js`),[]),jsonc:()=>c(()=>import(`./jsonc-CYpm1nAK.js`),[]),shellscript:()=>c(()=>import(`./shellscript-CLZ0U2zV.js`),[]),python:()=>c(()=>import(`./python-gzcpVVnB.js`),[]),markdown:()=>c(()=>import(`./markdown-BYOwaDjH.js`),[]),css:()=>c(()=>import(`./css-BsVw1vtW.js`),[]),html:()=>c(()=>import(`./html-BY76lXLH.js`),__vite__mapDeps([0,1,2])),diff:()=>c(()=>import(`./diff-woXpYk--.js`),[]),yaml:()=>c(()=>import(`./yaml-rwi0_p6S.js`),[]),toml:()=>c(()=>import(`./toml-CcmNWLt0.js`),[]),go:()=>c(()=>import(`./go-rLFTqkRN.js`),[]),rust:()=>c(()=>import(`./rust-Cfkwpbl8.js`),[]),sql:()=>c(()=>import(`./sql-BsFa4tDR.js`),[])},g={ts:`typescript`,js:`javascript`,mjs:`javascript`,cjs:`javascript`,bash:`shellscript`,sh:`shellscript`,shell:`shellscript`,zsh:`shellscript`,console:`shellscript`,py:`python`,md:`markdown`,yml:`yaml`,golang:`go`,rs:`rust`,vue:`html`,xml:`html`},_=new Set([``,`plaintext`,`text`,`txt`,`plain`]);function v(e){let t=e.trim().toLowerCase();return t in h?t:g[t]??null}function oe(e){return _.has(e.trim().toLowerCase())}function y(){return[...Object.keys(h),...Object.keys(g),..._].filter(e=>e!==``)}function se(e){let t=e.slice(e.lastIndexOf(`/`)+1),n=t.lastIndexOf(`.`);if(n<=0)return null;let r=t.slice(n+1).toLowerCase();return v({mts:`typescript`,cts:`typescript`,htm:`html`}[r]??r)}var b=null,x=null,S=new Set,C=new Map;function w(){return x??=Promise.all([c(()=>import(`./core-BCsw8oQw.js`),__vite__mapDeps([3,4,5])),c(()=>import(`./engine-javascript-FQvzRocB.js`),[])]).then(async([{createHighlighterCore:e},{createJavaScriptRegexEngine:t}])=>(b=await e({themes:[m],langs:[],engine:t({forgiving:!0})}),b)),x}function T(e){let t=v(e);if(t===null||S.has(t))return Promise.resolve();let n=C.get(t);return n||(n=w().then(async e=>{await e.loadLanguage(await h[t]()),S.add(t)}).catch(()=>{C.delete(t)}),C.set(t,n)),n}function E(e){return{tokens:e.split(`
2
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{C as t,L as n,S as r,l as i,w as a}from"./button-CHUAMTHK.js";import{i as o,t as s}from"./react-runtime-CCIEwYL0.js";import{i as c}from"./bundle-mjs-BT31bpU6.js";import{a as l,c as u,i as ee,n as te,o as ne,r as re,s as ie,t as d}from"./alert-dialog-Dj464rjk.js";import{i as ae,n as f}from"./chunk-BO2N2NFS-DE6qKn3r.js";var p=e(o(),1),m={name:`cezar-syn`,type:`dark`,fg:`var(--syn-var)`,bg:`transparent`,settings:[{scope:[`keyword`,`storage`,`constant.language`,`variable.language`,`entity.other.attribute-name`,`support.type.property-name`],settings:{foreground:`var(--syn-key)`}},{scope:[`string`,`punctuation.definition.string`],settings:{foreground:`var(--syn-str)`}},{scope:[`entity.name.function`,`support.function`,`entity.name.tag`,`entity.name.type`,`entity.name.class`,`support.class`,`support.type`],settings:{foreground:`var(--syn-fn)`}},{scope:[`comment`,`punctuation.definition.comment`],settings:{foreground:`var(--syn-com)`}},{scope:[`constant.numeric`,`constant.character`,`constant.other`,`support.constant`,`keyword.other.unit`],settings:{foreground:`var(--syn-num)`}},{scope:[`punctuation`,`keyword.operator`,`meta.brace`,`punctuation.separator`,`punctuation.terminator`],settings:{foreground:`var(--syn-punc)`}},{scope:[`variable`,`entity.name.variable`],settings:{foreground:`var(--syn-var)`}}]},h={typescript:()=>c(()=>import(`./typescript-bsJCZSQ-.js`),[]),tsx:()=>c(()=>import(`./tsx-udAQXfEw.js`),[]),javascript:()=>c(()=>import(`./javascript-BgS3c2Ky.js`),[]),jsx:()=>c(()=>import(`./jsx-Bz0zcwM4.js`),[]),json:()=>c(()=>import(`./json-qhed-kSA.js`),[]),jsonc:()=>c(()=>import(`./jsonc-CYpm1nAK.js`),[]),shellscript:()=>c(()=>import(`./shellscript-CLZ0U2zV.js`),[]),python:()=>c(()=>import(`./python-gzcpVVnB.js`),[]),markdown:()=>c(()=>import(`./markdown-BYOwaDjH.js`),[]),css:()=>c(()=>import(`./css-BsVw1vtW.js`),[]),html:()=>c(()=>import(`./html-BY76lXLH.js`),__vite__mapDeps([0,1,2])),diff:()=>c(()=>import(`./diff-woXpYk--.js`),[]),yaml:()=>c(()=>import(`./yaml-rwi0_p6S.js`),[]),toml:()=>c(()=>import(`./toml-CcmNWLt0.js`),[]),go:()=>c(()=>import(`./go-rLFTqkRN.js`),[]),rust:()=>c(()=>import(`./rust-Cfkwpbl8.js`),[]),sql:()=>c(()=>import(`./sql-BsFa4tDR.js`),[])},g={ts:`typescript`,js:`javascript`,mjs:`javascript`,cjs:`javascript`,bash:`shellscript`,sh:`shellscript`,shell:`shellscript`,zsh:`shellscript`,console:`shellscript`,py:`python`,md:`markdown`,yml:`yaml`,golang:`go`,rs:`rust`,vue:`html`,xml:`html`},_=new Set([``,`plaintext`,`text`,`txt`,`plain`]);function v(e){let t=e.trim().toLowerCase();return t in h?t:g[t]??null}function oe(e){return _.has(e.trim().toLowerCase())}function y(){return[...Object.keys(h),...Object.keys(g),..._].filter(e=>e!==``)}function se(e){let t=e.slice(e.lastIndexOf(`/`)+1),n=t.lastIndexOf(`.`);if(n<=0)return null;let r=t.slice(n+1).toLowerCase();return v({mts:`typescript`,cts:`typescript`,htm:`html`}[r]??r)}var b=null,x=null,S=new Set,C=new Map;function w(){return x??=Promise.all([c(()=>import(`./core-BCsw8oQw.js`),__vite__mapDeps([3,4,5])),c(()=>import(`./engine-javascript-FQvzRocB.js`),[])]).then(async([{createHighlighterCore:e},{createJavaScriptRegexEngine:t}])=>(b=await e({themes:[m],langs:[],engine:t({forgiving:!0})}),b)),x}function T(e){let t=v(e);if(t===null||S.has(t))return Promise.resolve();let n=C.get(t);return n||(n=w().then(async e=>{await e.loadLanguage(await h[t]()),S.add(t)}).catch(()=>{C.delete(t)}),C.set(t,n)),n}function E(e){return{tokens:e.split(`
3
3
  `).map(e=>[{content:e}]),fg:`var(--syn-var)`,bg:`transparent`}}function D(e,t,n={}){if(oe(t))return E(e);let r=v(t);if(r===null)return E(e);if(!b||!S.has(r))return null;try{let t=b.codeToTokens(e,{lang:r,theme:m.name,...i({tokenizeTimeLimit:n.tokenizeTimeLimit})});return{tokens:t.tokens.map(e=>e.map(({content:e,color:t})=>({content:e,...i({color:t})}))),fg:t.fg??`var(--syn-var)`,bg:`transparent`}}catch{return E(e)}}async function O(e,t,n={}){return D(e,t,n)||(await T(t),D(e,t,n)??E(e))}var k=s();function A({isOpen:e,onClose:t,onConfirm:r,url:i}){return(0,k.jsx)(d,{open:e,onOpenChange:e=>{e||t()},children:(0,k.jsxs)(ee,{"data-slot":`link-safety-dialog`,children:[(0,k.jsxs)(ie,{children:[(0,k.jsx)(u,{children:`Open this link?`}),(0,k.jsxs)(l,{children:[`It leaves `,n(`cezar`),` in a new tab. The words of a link in a transcript are the agent's — the address below is where it actually goes.`,(0,k.jsx)(`span`,{"data-slot":`link-safety-url`,className:`mt-3 block wrap-anywhere rounded-md border border-border bg-muted px-3 py-2 font-mono text-xs text-foreground`,children:i})]})]}),(0,k.jsxs)(ne,{children:[(0,k.jsx)(re,{children:`Cancel`}),(0,k.jsx)(te,{onClick:r,children:`Open link`})]})]})})}var j=String.raw`https?:\/\/(?:cdn\.jsdelivr\.net\/npm|unpkg\.com)\/`,ce=[{id:`tailwind-v3`,script:/^https?:\/\/cdn\.tailwindcss\.com(?:\/[\d.]+)?\/?(?:[?#]|$)/i},{id:`tailwind`,script:new RegExp(String.raw`^${j}@tailwindcss\/browser@4(?:\.[.\d]*)?(?:\/dist\/index\.global(?:\.min)?\.js)?\/?(?:[?#]|$)`,`i`)},{id:`mermaid`,script:new RegExp(String.raw`^${j}mermaid@11(?:\.[.\d]*)?\/dist\/mermaid(?:\.esm)?(?:\.min)?\.m?js(?:[?#]|$)`,`i`)}],M=new RegExp(String.raw`(['"])(${j}mermaid@11(?:\.[.\d]*)?(?:\/dist\/mermaid(?:\.esm)?(?:\.min)?\.mjs|\/\+esm)?)\1`,`gi`);function N(e){let t=e.trim();return ce.find(e=>e.script.test(t))?.id??null}function le(e){let t=new DOMParser().parseFromString(e,`text/html`),n=new Set;for(let e of t.querySelectorAll(`script`)){let t=e.getAttribute(`src`),r=t===null?null:N(t);r&&n.add(r===`tailwind-v3`?`tailwind`:r).add(r),t===null&&e.getAttribute(`type`)===`module`&&(e.textContent??``).search(M)>=0&&n.add(`mermaid`),M.lastIndex=0}return[...n].sort()}var ue={tailwind:async()=>(await c(()=>import(`./index.global-D3Ga_D3Y.js`),[])).default,"tailwind-v3":()=>Promise.resolve(me),mermaid:async()=>(await c(()=>import(`./mermaid.min-3O9YjB2l.js`),[])).default};async function de(e){let t=await Promise.all(e.map(e=>ue[e]().then(t=>[e,t],()=>null)));return Object.fromEntries(t.filter(e=>e!==null))}function fe(){let e={colors:`color`,fontFamily:`font`,fontSize:`text`,fontWeight:`font-weight`,spacing:`spacing`,borderRadius:`radius`,boxShadow:`shadow`,dropShadow:`drop-shadow`,blur:`blur`,screens:`breakpoint`,letterSpacing:`tracking`,lineHeight:`leading`,maxWidth:`container`,animation:`animate`,aspectRatio:`aspect`},t=e=>typeof e==`object`&&!!e&&!Array.isArray(e),n=(e,r,i,a)=>{if(t(a)){for(let[t,o]of Object.entries(a))n(e,r,t===`DEFAULT`?i:i?`${i}-${t}`:t,o);return}let o=i?`--${r}-${i}`:`--${r}`;if(r===`text`&&Array.isArray(a)){e.push(`${o}: ${String(a[0])};`);let n=t(a[1])?a[1].lineHeight:a[1];typeof n==`string`&&e.push(`${o}--line-height: ${n};`);return}typeof a==`string`||typeof a==`number`?e.push(`${o}: ${a};`):Array.isArray(a)&&e.push(`${o}: ${a.join(`, `)};`)},r=e=>{let[t,n]=Array.isArray(e)?e:[e];if(t!==`class`&&t!==`selector`)return``;let r=typeof n==`string`?n:`.dark`;return`@custom-variant dark (&:where(${r}, ${r} *));\n`},i=i=>{let a=t(i)?i:{},o=t(a.theme)?a.theme:{},s=[];for(let[t,r]of Object.entries(o))e[t]&&(s.push(`--${e[t]}-*: initial;`),n(s,e[t],``,r));for(let[r,i]of Object.entries(t(o.extend)?o.extend:{}))e[r]&&n(s,e[r],``,i);return`${r(a.darkMode)}@theme {\n${s.join(`
4
4
  `)}\n}`},a=document.createElement(`style`);a.setAttribute(`type`,`text/tailwindcss`),document.currentScript?.before(a);let o={};Object.defineProperty(globalThis,"tailwind",{configurable:!0,value:{get config(){return o},set config(e){o=e,a.textContent=i(e)}}})}var pe=`(${fe.toString()})()`,me=[`@import "tailwindcss/theme.css";@import "tailwindcss/preflight.css";@import "tailwindcss/utilities.css";`,`@theme{`,`--color-slate-50:#f8fafc;--color-slate-100:#f1f5f9;--color-slate-200:#e2e8f0;--color-slate-300:#cbd5e1;--color-slate-400:#94a3b8;--color-slate-500:#64748b;--color-slate-600:#475569;--color-slate-700:#334155;--color-slate-800:#1e293b;--color-slate-900:#0f172a;--color-slate-950:#020617;`,`--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--color-gray-950:#030712;`,`--color-zinc-50:#fafafa;--color-zinc-100:#f4f4f5;--color-zinc-200:#e4e4e7;--color-zinc-300:#d4d4d8;--color-zinc-400:#a1a1aa;--color-zinc-500:#71717a;--color-zinc-600:#52525b;--color-zinc-700:#3f3f46;--color-zinc-800:#27272a;--color-zinc-900:#18181b;--color-zinc-950:#09090b;`,`--color-neutral-50:#fafafa;--color-neutral-100:#f5f5f5;--color-neutral-200:#e5e5e5;--color-neutral-300:#d4d4d4;--color-neutral-400:#a3a3a3;--color-neutral-500:#737373;--color-neutral-600:#525252;--color-neutral-700:#404040;--color-neutral-800:#262626;--color-neutral-900:#171717;--color-neutral-950:#0a0a0a;`,`--color-stone-50:#fafaf9;--color-stone-100:#f5f5f4;--color-stone-200:#e7e5e4;--color-stone-300:#d6d3d1;--color-stone-400:#a8a29e;--color-stone-500:#78716c;--color-stone-600:#57534e;--color-stone-700:#44403c;--color-stone-800:#292524;--color-stone-900:#1c1917;--color-stone-950:#0c0a09;`,`--color-red-50:#fef2f2;--color-red-100:#fee2e2;--color-red-200:#fecaca;--color-red-300:#fca5a5;--color-red-400:#f87171;--color-red-500:#ef4444;--color-red-600:#dc2626;--color-red-700:#b91c1c;--color-red-800:#991b1b;--color-red-900:#7f1d1d;--color-red-950:#450a0a;`,`--color-orange-50:#fff7ed;--color-orange-100:#ffedd5;--color-orange-200:#fed7aa;--color-orange-300:#fdba74;--color-orange-400:#fb923c;--color-orange-500:#f97316;--color-orange-600:#ea580c;--color-orange-700:#c2410c;--color-orange-800:#9a3412;--color-orange-900:#7c2d12;--color-orange-950:#431407;`,`--color-amber-50:#fffbeb;--color-amber-100:#fef3c7;--color-amber-200:#fde68a;--color-amber-300:#fcd34d;--color-amber-400:#fbbf24;--color-amber-500:#f59e0b;--color-amber-600:#d97706;--color-amber-700:#b45309;--color-amber-800:#92400e;--color-amber-900:#78350f;--color-amber-950:#451a03;`,`--color-yellow-50:#fefce8;--color-yellow-100:#fef9c3;--color-yellow-200:#fef08a;--color-yellow-300:#fde047;--color-yellow-400:#facc15;--color-yellow-500:#eab308;--color-yellow-600:#ca8a04;--color-yellow-700:#a16207;--color-yellow-800:#854d0e;--color-yellow-900:#713f12;--color-yellow-950:#422006;`,`--color-lime-50:#f7fee7;--color-lime-100:#ecfccb;--color-lime-200:#d9f99d;--color-lime-300:#bef264;--color-lime-400:#a3e635;--color-lime-500:#84cc16;--color-lime-600:#65a30d;--color-lime-700:#4d7c0f;--color-lime-800:#3f6212;--color-lime-900:#365314;--color-lime-950:#1a2e05;`,`--color-green-50:#f0fdf4;--color-green-100:#dcfce7;--color-green-200:#bbf7d0;--color-green-300:#86efac;--color-green-400:#4ade80;--color-green-500:#22c55e;--color-green-600:#16a34a;--color-green-700:#15803d;--color-green-800:#166534;--color-green-900:#14532d;--color-green-950:#052e16;`,`--color-emerald-50:#ecfdf5;--color-emerald-100:#d1fae5;--color-emerald-200:#a7f3d0;--color-emerald-300:#6ee7b7;--color-emerald-400:#34d399;--color-emerald-500:#10b981;--color-emerald-600:#059669;--color-emerald-700:#047857;--color-emerald-800:#065f46;--color-emerald-900:#064e3b;--color-emerald-950:#022c22;`,`--color-teal-50:#f0fdfa;--color-teal-100:#ccfbf1;--color-teal-200:#99f6e4;--color-teal-300:#5eead4;--color-teal-400:#2dd4bf;--color-teal-500:#14b8a6;--color-teal-600:#0d9488;--color-teal-700:#0f766e;--color-teal-800:#115e59;--color-teal-900:#134e4a;--color-teal-950:#042f2e;`,`--color-cyan-50:#ecfeff;--color-cyan-100:#cffafe;--color-cyan-200:#a5f3fc;--color-cyan-300:#67e8f9;--color-cyan-400:#22d3ee;--color-cyan-500:#06b6d4;--color-cyan-600:#0891b2;--color-cyan-700:#0e7490;--color-cyan-800:#155e75;--color-cyan-900:#164e63;--color-cyan-950:#083344;`,`--color-sky-50:#f0f9ff;--color-sky-100:#e0f2fe;--color-sky-200:#bae6fd;--color-sky-300:#7dd3fc;--color-sky-400:#38bdf8;--color-sky-500:#0ea5e9;--color-sky-600:#0284c7;--color-sky-700:#0369a1;--color-sky-800:#075985;--color-sky-900:#0c4a6e;--color-sky-950:#082f49;`,`--color-blue-50:#eff6ff;--color-blue-100:#dbeafe;--color-blue-200:#bfdbfe;--color-blue-300:#93c5fd;--color-blue-400:#60a5fa;--color-blue-500:#3b82f6;--color-blue-600:#2563eb;--color-blue-700:#1d4ed8;--color-blue-800:#1e40af;--color-blue-900:#1e3a8a;--color-blue-950:#172554;`,`--color-indigo-50:#eef2ff;--color-indigo-100:#e0e7ff;--color-indigo-200:#c7d2fe;--color-indigo-300:#a5b4fc;--color-indigo-400:#818cf8;--color-indigo-500:#6366f1;--color-indigo-600:#4f46e5;--color-indigo-700:#4338ca;--color-indigo-800:#3730a3;--color-indigo-900:#312e81;--color-indigo-950:#1e1b4b;`,`--color-violet-50:#f5f3ff;--color-violet-100:#ede9fe;--color-violet-200:#ddd6fe;--color-violet-300:#c4b5fd;--color-violet-400:#a78bfa;--color-violet-500:#8b5cf6;--color-violet-600:#7c3aed;--color-violet-700:#6d28d9;--color-violet-800:#5b21b6;--color-violet-900:#4c1d95;--color-violet-950:#2e1065;`,`--color-purple-50:#faf5ff;--color-purple-100:#f3e8ff;--color-purple-200:#e9d5ff;--color-purple-300:#d8b4fe;--color-purple-400:#c084fc;--color-purple-500:#a855f7;--color-purple-600:#9333ea;--color-purple-700:#7e22ce;--color-purple-800:#6b21a8;--color-purple-900:#581c87;--color-purple-950:#3b0764;`,`--color-fuchsia-50:#fdf4ff;--color-fuchsia-100:#fae8ff;--color-fuchsia-200:#f5d0fe;--color-fuchsia-300:#f0abfc;--color-fuchsia-400:#e879f9;--color-fuchsia-500:#d946ef;--color-fuchsia-600:#c026d3;--color-fuchsia-700:#a21caf;--color-fuchsia-800:#86198f;--color-fuchsia-900:#701a75;--color-fuchsia-950:#4a044e;`,`--color-pink-50:#fdf2f8;--color-pink-100:#fce7f3;--color-pink-200:#fbcfe8;--color-pink-300:#f9a8d4;--color-pink-400:#f472b6;--color-pink-500:#ec4899;--color-pink-600:#db2777;--color-pink-700:#be185d;--color-pink-800:#9d174d;--color-pink-900:#831843;--color-pink-950:#500724;`,`--color-rose-50:#fff1f2;--color-rose-100:#ffe4e6;--color-rose-200:#fecdd3;--color-rose-300:#fda4af;--color-rose-400:#fb7185;--color-rose-500:#f43f5e;--color-rose-600:#e11d48;--color-rose-700:#be123c;--color-rose-800:#9f1239;--color-rose-900:#881337;--color-rose-950:#4c0519;`,`--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";`,`--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;`,`--text-xs--line-height:1rem;--text-sm--line-height:1.25rem;--text-base--line-height:1.5rem;--text-lg--line-height:1.75rem;`,`--text-xl--line-height:1.75rem;--text-2xl--line-height:2rem;--text-3xl--line-height:2.25rem;--text-4xl--line-height:2.5rem;`,`--shadow-sm:0 1px 2px 0 rgb(0 0 0 / 0.05);--radius-sm:0.125rem;--blur-sm:4px;`,`}`,`body{line-height:inherit}`,`*,::after,::before,::backdrop,::file-selector-button{border-color:var(--color-gray-200,currentColor)}`,`input::placeholder,textarea::placeholder{color:var(--color-gray-400)}`,`button:not(:disabled),[role="button"]:not(:disabled){cursor:pointer}`].join(`
5
5
  `),P=`default-src 'none'; script-src 'unsafe-inline' data:; img-src data:; media-src data:; font-src data:; style-src 'unsafe-inline' data:; form-action 'none'; base-uri 'none'`,F=`${P}; frame-src 'none'`,I=`allow-scripts allow-popups allow-popups-to-escape-sandbox`,L=`clipboard-write`,R=`data:text/javascript,export%20default%20globalThis.mermaid`;function z(e){return/\.html?$/i.test(e)}var he=/^(?:https?:|mailto:)/i,B=/^data:/i,V=`http://www.w3.org/1999/xlink`,H=/^(?:[a-z][a-z\d+.-]*:|\/\/)/i,ge=/url\(\s*(['"]?)([^'")]*)\1\s*\)|@import\s+(['"])([^'"]+)\3/gi,_e=[`src`,`href`,`xlink:href`,`poster`,`background`],ve=/(?:^|,)\s*(data:\S+|[^,\s]+)/gi,ye=/\b(?:preconnect|dns-prefetch|prefetch|preload|modulepreload|prerender)\b/i;function U(e,t){let n=e.trim();!n||n.startsWith(`#`)||B.test(n)||(H.test(n)?t.remote++:t.relative++)}function W(e,t){for(let n of e.matchAll(ge))U(n[2]??n[4]??``,t)}function G(e,t){let n=e.createElement(`script`);return n.textContent=t.replace(/<\/script/gi,`<\\/script`),n}function K(e,t){let n=e.createElement(`style`);return n.setAttribute(`type`,`text/tailwindcss`),n.textContent=t,n}var be=`http://www.w3.org/2000/svg`;function xe(e){return e.namespaceURI===be?e.getAttribute(`href`)??e.getAttributeNS(V,`href`):e.getAttribute(`src`)}function Se(e,t,n,r){let i=r===void 0?[]:[K(e,r),G(e,pe)],a=G(e,n),o=t.hasAttribute(`defer`)||t.hasAttribute(`async`)||t.getAttribute(`type`)===`module`;o&&e.body.append(a),t.replaceWith(...i,...o?[]:[a])}function Ce(e,t,n){let r=new Set,i=new Set;for(let a of[...e.querySelectorAll(`script`)]){let o=xe(a);if(o!==null&&B.test(o.trim()))continue;if(o===null){if(a.getAttribute(`type`)===`module`)for(let e of(a.textContent??``).matchAll(M))i.add(e[2]);continue}let s=N(o),c=s===`tailwind-v3`?`tailwind`:s,l=c?n[c]:void 0;if(!c||l===void 0||s===`tailwind-v3`&&n[`tailwind-v3`]===void 0){t.scripts++,a.remove();continue}if(r.has(c)){a.remove();continue}r.add(c),Se(e,a,l,s===`tailwind-v3`?n[`tailwind-v3`]:void 0)}if(!i.size)return;if(n.mermaid===void 0){t.scripts+=i.size;return}let a=e.createElement(`script`);a.setAttribute(`type`,`importmap`),a.textContent=JSON.stringify({imports:Object.fromEntries([...i].map(e=>[e,R]))}),e.head.prepend(a,...r.has(`mermaid`)?[]:[G(e,n.mermaid)])}function we(e,t,n){let r=t=>{let n=[...e.querySelectorAll(t)];return n.forEach(e=>e.remove()),n.length};Ce(e,t,n),t.embeds=r(`iframe, frame, frameset, object, embed, portal`),r(`base, meta[http-equiv]`);for(let t of e.querySelectorAll(`link`))ye.test(t.getAttribute(`rel`)??``)&&t.remove();for(let t of e.querySelectorAll(`[ping]`))t.removeAttribute(`ping`);for(let n of e.querySelectorAll(`form`))t.forms++,n.removeAttribute(`action`);for(let t of e.querySelectorAll(`[formaction]`))t.removeAttribute(`formaction`)}function Te(e,t){for(let n of e.querySelectorAll(`a, area`)){let e=n.getAttribute(`href`)??n.getAttributeNS(V,`href`);if(e===null)continue;let r=e.trim();if(r.startsWith(`#`)){n.setAttribute(`href`,`about:srcdoc${r}`),n.removeAttributeNS(V,`href`),n.removeAttribute(`target`);continue}if(he.test(r)){n.setAttribute(`target`,`_blank`),n.setAttribute(`rel`,`noopener noreferrer`);continue}H.test(r)||t.relative++,n.removeAttribute(`href`),n.removeAttributeNS(V,`href`),n.removeAttribute(`target`)}}function Ee(e,t){for(let n of e.querySelectorAll(`[style]`))W(n.getAttribute(`style`),t);for(let n of e.querySelectorAll(`style`))/^(?:text\/css)?$/i.test(n.getAttribute(`type`)?.trim()??``)&&W(n.textContent??``,t);for(let n of e.querySelectorAll(`link[href]`))U(n.getAttribute(`href`),t);for(let n of e.querySelectorAll(`img, source, video, audio, track, input, image, use, body, table, td`)){for(let e of _e){let r=n.getAttribute(e);r!==null&&U(r,t)}for(let e of(n.getAttribute(`srcset`)??``).matchAll(ve))U(e[1],t)}}function De(e,t={}){let n=new DOMParser().parseFromString(e,`text/html`),r={scripts:0,remote:0,relative:0,forms:0,embeds:0};we(n,r,t),Te(n,r),Ee(n,r);let i=n.createElement(`meta`);i.setAttribute(`http-equiv`,`Content-Security-Policy`),i.setAttribute(`content`,P);let a=n.createElement(`meta`);return a.setAttribute(`name`,`referrer`),a.setAttribute(`content`,`no-referrer`),n.head.prepend(i,a),{srcdoc:`<!DOCTYPE html>${n.documentElement.outerHTML}`,blocked:r}}var q=e=>e.replace(/&/g,`&amp;`).replace(/"/g,`&quot;`);function Oe(e,t){return`<!DOCTYPE html><html><head><meta http-equiv="Content-Security-Policy" content="${F}"><meta name="referrer" content="no-referrer"><style>html,body{margin:0;height:100%;overflow:hidden}iframe{display:block;border:0;width:100%;height:100%}</style></head><body><iframe title="${q(t)}" sandbox="${I}" allow="${L}" referrerpolicy="no-referrer" srcdoc="${q(e)}"></iframe></body></html>`}var J=(0,p.createContext)(null),ke=/^[0-9a-f-]{36}$/i,Ae=/^(\/p\/[^/?#]+\/tasks\/[^/?#]+)\/files\?(artifact=[^&#]*)$/;function Y(e){let t=new URLSearchParams(e);return[...t.keys()].length===1&&ke.test(t.get(`artifact`)??``)}function je(e,t,n){if(e.startsWith(`${t}?artifact=`))return Y(e.slice(t.length+1))?n+e.slice(t.length):null;let r=Ae.exec(e);return r&&Y(r[2])?`${r[1]}/report?${r[2]}`:void 0}var Me=/^\/(?:api|p|tasks|new|settings|skills|workflows|git|github|inbox|automations)(?:\/|[?#]|$)/;function Ne(e,t){let n=/^[a-z]:[\\/]/i.test(e),r=/^file:/i.test(e);if(!n&&/^[a-z][a-z\d+.-]*:/i.test(e)&&!r)return null;let i=r?e:decodeURIComponent(e);if(/[\u0000-\u001f]/.test(i))return null;if(!t||i.startsWith(`/`)||n||r)return i;let a=t.replaceAll(`\\`,`/`);return a.slice(0,a.lastIndexOf(`/`)+1)+i}function X(e,t){if(!e||/[\u0000-\u001f]/.test(e)||e.startsWith(`#`)||e.startsWith(`//`))return null;let n=e.indexOf(`#`),r=n<0?e:e.slice(0,n),i=n<0?``:e.slice(n),a=t.projectId?`/p/${encodeURIComponent(t.projectId)}`:``,o=`/tasks/${encodeURIComponent(t.runId)}/files`,s=`/tasks/${encodeURIComponent(t.runId)}/report`,c=je(r,o,a+s);if(c!==void 0)return c===null?null:c+i;if(Me.test(r))return null;let l=Ne(r,t.basePath);return l===null?null:`${a}${z(l)?s:o}?path=${encodeURIComponent(l)}${i}`}var Z=`text-accent-text underline underline-offset-2`;function Pe({href:e,children:t,internal:n,...i}){let[a,o]=(0,p.useState)(!1),s=r();return e?n?s?(0,k.jsx)(Fe,{...i,href:e,children:t}):(0,k.jsx)(`a`,{...i,href:e,"data-streamdown":`link`,className:Z,children:t}):(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(`a`,{...i,href:e,"data-streamdown":`link`,className:`cursor-pointer ${Z}`,onClick:e=>{e.preventDefault(),o(!0)},children:t}),(0,k.jsx)(A,{isOpen:a,url:e,onClose:()=>o(!1),onConfirm:()=>{window.open(e,`_blank`,`noreferrer`),o(!1)}})]}):(0,k.jsx)(`span`,{children:t})}function Fe({href:e,children:n,...r}){let i=a(),o=t();return(0,k.jsx)(`a`,{...r,href:e,"data-streamdown":`link`,className:Z,onClick:t=>Q(t,i,e,o),children:n})}function Q(e,t,n,r){e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||(e.preventDefault(),t(n,{state:{readerFrom:r.pathname+r.search,filesRestoreKey:r.key}}))}var Ie={name:`shiki`,type:`code-highlighter`,getThemes:()=>[m,m],getSupportedLanguages:()=>y(),supportsLanguage:e=>y().includes(String(e).toLowerCase()),highlight:({code:e,language:t},n)=>D(e,String(t))||(O(e,String(t)).then(e=>n?.(e)),null)};function Le(){let e=t=>{if(!t.children)return;let n=[];for(let r of t.children)if(r.type===`text`&&r.value?.includes(`
@@ -1 +1 @@
1
- import"./button-BEK7XKhS.js";import{t as e}from"./createLucideIcon-BHp8sXmF.js";var t=e(`circle-dashed`,[[`path`,{d:`M10.1 2.182a10 10 0 0 1 3.8 0`,key:`5ilxe3`}],[`path`,{d:`M13.9 21.818a10 10 0 0 1-3.8 0`,key:`11zvb9`}],[`path`,{d:`M17.609 3.721a10 10 0 0 1 2.69 2.7`,key:`1iw5b2`}],[`path`,{d:`M2.182 13.9a10 10 0 0 1 0-3.8`,key:`c0bmvh`}],[`path`,{d:`M20.279 17.609a10 10 0 0 1-2.7 2.69`,key:`1ruxm7`}],[`path`,{d:`M21.818 10.1a10 10 0 0 1 0 3.8`,key:`qkgqxc`}],[`path`,{d:`M3.721 6.391a10 10 0 0 1 2.7-2.69`,key:`1mcia2`}],[`path`,{d:`M6.391 20.279a10 10 0 0 1-2.69-2.7`,key:`1fvljs`}]]),n=`bg-sidebar-row-selected text-foreground font-medium hover:bg-sidebar-row-selected`,r=`bg-sidebar-row-selected text-foreground hover:bg-sidebar-row-selected`,i=`flex flex-col gap-[12px]`,a=`flex flex-col gap-px`,o=`flex flex-col gap-px`,s=`truncate px-[10px] pt-[2px] pb-[4px] text-[11px] font-medium text-soft-foreground`,c=`group flex h-[32px] items-center gap-[10px] rounded-[6px] px-[10px] text-[13px] text-muted-foreground focus-visible:outline-2 focus-visible:outline-ring`,l=`hover:bg-sidebar-row-hover hover:text-foreground`,u=`size-[15px] shrink-0 text-soft-foreground group-aria-[current=page]:text-foreground`,d=`ml-auto text-[11.5px] tabular-nums text-soft-foreground`,f=`flex min-h-full flex-col px-[14px] pt-[14px] pb-[calc(90px+env(safe-area-inset-bottom))]`,p=`px-[10px] text-[22px] leading-tight font-bold`,m=`mb-[16px] flex flex-col`,h=`px-[10px] pt-[2px] pb-[4px] text-[12px] font-medium text-soft-foreground`,g=`group flex h-[48px] items-center gap-[12px] rounded-[8px] px-[10px] text-[14px] text-foreground focus-visible:outline-2 focus-visible:outline-ring`,_=`size-[18px] shrink-0 text-soft-foreground group-aria-[current=page]:text-foreground`,v=`ml-auto text-[13px] tabular-nums text-soft-foreground`,y=`size-[15px] shrink-0 text-soft-foreground`;export{o as _,m as a,g as c,d,a as f,l as g,c as h,v as i,p as l,u as m,f as n,h as o,s as p,y as r,_ as s,r as t,i as u,n as v,t as y};
1
+ import"./button-CHUAMTHK.js";import{t as e}from"./createLucideIcon-BHp8sXmF.js";var t=e(`circle-dashed`,[[`path`,{d:`M10.1 2.182a10 10 0 0 1 3.8 0`,key:`5ilxe3`}],[`path`,{d:`M13.9 21.818a10 10 0 0 1-3.8 0`,key:`11zvb9`}],[`path`,{d:`M17.609 3.721a10 10 0 0 1 2.69 2.7`,key:`1iw5b2`}],[`path`,{d:`M2.182 13.9a10 10 0 0 1 0-3.8`,key:`c0bmvh`}],[`path`,{d:`M20.279 17.609a10 10 0 0 1-2.7 2.69`,key:`1ruxm7`}],[`path`,{d:`M21.818 10.1a10 10 0 0 1 0 3.8`,key:`qkgqxc`}],[`path`,{d:`M3.721 6.391a10 10 0 0 1 2.7-2.69`,key:`1mcia2`}],[`path`,{d:`M6.391 20.279a10 10 0 0 1-2.69-2.7`,key:`1fvljs`}]]),n=`bg-sidebar-row-selected text-foreground font-medium hover:bg-sidebar-row-selected`,r=`bg-sidebar-row-selected text-foreground hover:bg-sidebar-row-selected`,i=`flex flex-col gap-[12px]`,a=`flex flex-col gap-px`,o=`flex flex-col gap-px`,s=`truncate px-[10px] pt-[2px] pb-[4px] text-[11px] font-medium text-soft-foreground`,c=`group flex h-[32px] items-center gap-[10px] rounded-[6px] px-[10px] text-[13px] text-muted-foreground focus-visible:outline-2 focus-visible:outline-ring`,l=`hover:bg-sidebar-row-hover hover:text-foreground`,u=`size-[15px] shrink-0 text-soft-foreground group-aria-[current=page]:text-foreground`,d=`ml-auto text-[11.5px] tabular-nums text-soft-foreground`,f=`flex min-h-full flex-col px-[14px] pt-[14px] pb-[calc(90px+env(safe-area-inset-bottom))]`,p=`px-[10px] text-[22px] leading-tight font-bold`,m=`mb-[16px] flex flex-col`,h=`px-[10px] pt-[2px] pb-[4px] text-[12px] font-medium text-soft-foreground`,g=`group flex h-[48px] items-center gap-[12px] rounded-[8px] px-[10px] text-[14px] text-foreground focus-visible:outline-2 focus-visible:outline-ring`,_=`size-[18px] shrink-0 text-soft-foreground group-aria-[current=page]:text-foreground`,v=`ml-auto text-[13px] tabular-nums text-soft-foreground`,y=`size-[15px] shrink-0 text-soft-foreground`;export{o as _,m as a,g as c,d,a as f,l as g,c as h,v as i,p as l,u as m,f as n,h as o,s as p,y as r,_ as s,r as t,i as u,n as v,t as y};
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,s as n,u as r}from"./button-BEK7XKhS.js";import{i,t as a}from"./react-runtime-CCIEwYL0.js";import{a as o,d as s,h as c,i as l,l as u,m as d,n as f,o as p,p as m,r as h,t as g,u as _}from"./es2015-BO600Xfi.js";import{_ as v,b as y,v as ee,x as b,y as te}from"./dropdown-menu-DYflHa4m.js";import{t as ne}from"./createLucideIcon-BHp8sXmF.js";var x=e(i(),1),S=a(),C=`Popover`,[w,re]=d(C,[b]),T=b(),[E,D]=w(C),O=e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,c=T(t),l=x.useRef(null),[d,f]=x.useState(!1),[p,m]=s({prop:r,defaultProp:i??!1,onChange:a,caller:C});return(0,S.jsx)(y,{...c,children:(0,S.jsx)(E,{scope:t,contentId:u(),triggerRef:l,open:p,onOpenChange:m,onOpenToggle:x.useCallback(()=>m(e=>!e),[m]),hasCustomAnchor:d,onCustomAnchorAdd:x.useCallback(()=>f(!0),[]),onCustomAnchorRemove:x.useCallback(()=>f(!1),[]),modal:o,children:n})})};O.displayName=C;var k=`PopoverAnchor`,A=x.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=D(k,n),a=T(n),{onCustomAnchorAdd:o,onCustomAnchorRemove:s}=i;return x.useEffect(()=>(o(),()=>s()),[o,s]),(0,S.jsx)(v,{...a,...r,ref:t})});A.displayName=k;var j=`PopoverTrigger`,M=x.forwardRef((e,t)=>{let{__scopePopover:r,...i}=e,a=D(j,r),o=T(r),s=n(t,a.triggerRef),l=(0,S.jsx)(c.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":K(a.open),...i,ref:s,onClick:m(e.onClick,a.onOpenToggle)});return a.hasCustomAnchor?l:(0,S.jsx)(v,{asChild:!0,...o,children:l})});M.displayName=j;var N=`PopoverPortal`,[P,ie]=w(N,{forceMount:void 0}),F=e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=D(N,t);return(0,S.jsx)(P,{scope:t,forceMount:n,children:(0,S.jsx)(_,{present:n||a.open,children:(0,S.jsx)(l,{asChild:!0,container:i,children:r})})})};F.displayName=N;var I=`PopoverContent`,L=x.forwardRef((e,t)=>{let n=ie(I,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=D(I,e.__scopePopover);return(0,S.jsx)(_,{present:r||a.open,children:a.modal?(0,S.jsx)(z,{...i,ref:t}):(0,S.jsx)(B,{...i,ref:t})})});L.displayName=I;var R=t(`PopoverContent.RemoveScroll`),z=x.forwardRef((e,t)=>{let r=D(I,e.__scopePopover),i=x.useRef(null),a=n(t,i),o=x.useRef(!1);return x.useEffect(()=>{let e=i.current;if(e)return g(e)},[]),(0,S.jsx)(f,{as:R,allowPinchZoom:!0,children:(0,S.jsx)(V,{...e,ref:a,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:m(e.onCloseAutoFocus,e=>{e.preventDefault(),o.current||r.triggerRef.current?.focus()}),onPointerDownOutside:m(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;o.current=r},{checkForDefaultPrevented:!1}),onFocusOutside:m(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),B=x.forwardRef((e,t)=>{let n=D(I,e.__scopePopover),r=x.useRef(!1),i=x.useRef(!1);return(0,S.jsx)(V,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),V=x.forwardRef((e,t)=>{let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:s,onEscapeKeyDown:c,onPointerDownOutside:l,onFocusOutside:u,onInteractOutside:d,...f}=e,m=D(I,n),g=T(n);return h(),(0,S.jsx)(o,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,S.jsx)(p,{asChild:!0,disableOutsidePointerEvents:s,onInteractOutside:d,onEscapeKeyDown:c,onPointerDownOutside:l,onFocusOutside:u,onDismiss:()=>m.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,S.jsx)(te,{"data-state":K(m.open),role:`dialog`,id:m.contentId,...g,...f,ref:t,style:{...f.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})}),H=`PopoverClose`,U=x.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=D(H,n);return(0,S.jsx)(c.button,{type:`button`,...r,ref:t,onClick:m(e.onClick,()=>i.onOpenChange(!1))})});U.displayName=H;var W=`PopoverArrow`,G=x.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=T(n);return(0,S.jsx)(ee,{...i,...r,ref:t})});G.displayName=W;function K(e){return e?`open`:`closed`}var q=O,J=A,Y=M,ae=F,oe=L,se=ne(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]);function X(e){let t=e.visualViewport;return t?Math.max(0,Math.round(e.innerHeight-t.height-t.offsetTop)):0}function ce(e,t,n,r=250){let i=e.visualViewport;if(!i)return t(0),()=>{};let a,o=()=>{let i=X(e);t(i),n&&(clearTimeout(a),a=setTimeout(()=>n(i),r))};return t(X(e)),i.addEventListener(`resize`,o),i.addEventListener(`scroll`,o),()=>{clearTimeout(a),i.removeEventListener(`resize`,o),i.removeEventListener(`scroll`,o),t(0)}}function le(e){let t=e.visualViewport;return t?{top:Math.max(0,Math.round(t.offsetTop)),bottom:X(e)}:{top:0,bottom:0}}function ue(e,t=0){let n=typeof t==`number`?{top:t,right:t,bottom:t,left:t}:t;return{top:(n.top??0)+e.top,right:n.right??0,bottom:(n.bottom??0)+e.bottom,left:n.left??0}}function de(e,t){let n=e.visualViewport;if(!n)return t({top:0,bottom:0}),()=>{};let r=()=>t(le(e));return r(),n.addEventListener(`resize`,r),n.addEventListener(`scroll`,r),()=>{n.removeEventListener(`resize`,r),n.removeEventListener(`scroll`,r)}}function fe(){let[e,t]=(0,x.useState)({top:0,bottom:0});return(0,x.useEffect)(()=>de(window,e=>t(t=>t.top===e.top&&t.bottom===e.bottom?t:e)),[]),e}function pe(e){let t=(0,x.useRef)(e);t.current=e,(0,x.useEffect)(()=>{let e=document.documentElement;return ce(window,t=>e.style.setProperty(`--kb`,`${t}px`),e=>t.current?.(e))},[])}var Z=new Set([``,`text`,`search`,`email`,`url`,`tel`,`password`,`number`]);function me(e){if(!e||typeof e!=`object`)return!1;let t=e,n=t.tagName?.toUpperCase();return n===`TEXTAREA`?!0:n===`INPUT`?Z.has((t.type??``).toLowerCase()):t.isContentEditable===!0}var Q=new WeakMap;function he(e){let t=Q.get(e),n=t&&t.width===e.innerWidth?Math.max(t.height,e.innerHeight):e.innerHeight;return Q.set(e,{width:e.innerWidth,height:n}),n-e.innerHeight}function ge(e){let t=he(e),n=e.visualViewport?.scale??1;return Math.abs(n-1)<.05&&X(e)>80||t>80&&me(e.document?.activeElement)}function _e(){let[e,t]=(0,x.useState)(!1);return(0,x.useEffect)(()=>{let e=window,n=()=>t(ge(e));n();let r=e.visualViewport;return r?.addEventListener(`resize`,n),r?.addEventListener(`scroll`,n),window.addEventListener(`resize`,n),document.addEventListener(`focusin`,n),document.addEventListener(`focusout`,n),()=>{r?.removeEventListener(`resize`,n),r?.removeEventListener(`scroll`,n),window.removeEventListener(`resize`,n),document.removeEventListener(`focusin`,n),document.removeEventListener(`focusout`,n)}},[]),e}var $=x.createContext(null);function ve({...e}){let t=x.useRef(!1);return(0,S.jsx)($,{value:t,children:(0,S.jsx)(q,{"data-slot":`popover`,...e})})}function ye({onPointerDownCapture:e,onKeyDownCapture:t,...n}){let r=x.useContext($);return(0,S.jsx)(Y,{"data-slot":`popover-trigger`,...n,onPointerDownCapture:t=>{r&&(r.current=t.pointerType===`touch`),e?.(t)},onKeyDownCapture:e=>{r&&(r.current=!1),t?.(e)}})}function be({className:e,align:t=`center`,sideOffset:n=4,collisionPadding:i,onOpenAutoFocus:a,...o}){let s=fe(),c=x.useContext($);return(0,S.jsx)(ae,{children:(0,S.jsx)(oe,{"data-slot":`popover-content`,align:t,sideOffset:n,onOpenAutoFocus:e=>{let t=c?.current;if(c&&(c.current=!1),a?.(e),e.defaultPrevented||!t)return;let n=e.target;n instanceof HTMLElement&&n.querySelector(`[cmdk-input]`)&&(e.preventDefault(),n.focus({preventScroll:!0}))},collisionPadding:ue(s,i),className:r(`z-50 w-72 max-w-(--radix-popover-content-available-width) [overflow-wrap:anywhere] origin-(--radix-popover-content-transform-origin) rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden motion-safe:data-[side=bottom]:slide-in-from-top-2 motion-safe:data-[side=left]:slide-in-from-right-2 motion-safe:data-[side=right]:slide-in-from-left-2 motion-safe:data-[side=top]:slide-in-from-bottom-2 motion-safe:data-[state=closed]:animate-out data-[state=closed]:fade-out-0 motion-safe:data-[state=closed]:zoom-out-95 motion-safe:data-[state=open]:animate-in data-[state=open]:fade-in-0 motion-safe:data-[state=open]:zoom-in-95`,e),...o})})}function xe({...e}){return(0,S.jsx)(J,{"data-slot":`popover-anchor`,...e})}export{pe as a,ye as i,xe as n,_e as o,be as r,se as s,ve as t};
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,s as n,u as r}from"./button-CHUAMTHK.js";import{i,t as a}from"./react-runtime-CCIEwYL0.js";import{a as o,d as s,h as c,i as l,l as u,m as d,n as f,o as p,p as m,r as h,t as g,u as _}from"./es2015-D345RR4o.js";import{_ as v,b as y,v as ee,x as b,y as te}from"./dropdown-menu-DhrBcVgr.js";import{t as ne}from"./createLucideIcon-BHp8sXmF.js";var x=e(i(),1),S=a(),C=`Popover`,[w,re]=d(C,[b]),T=b(),[E,D]=w(C),O=e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,c=T(t),l=x.useRef(null),[d,f]=x.useState(!1),[p,m]=s({prop:r,defaultProp:i??!1,onChange:a,caller:C});return(0,S.jsx)(y,{...c,children:(0,S.jsx)(E,{scope:t,contentId:u(),triggerRef:l,open:p,onOpenChange:m,onOpenToggle:x.useCallback(()=>m(e=>!e),[m]),hasCustomAnchor:d,onCustomAnchorAdd:x.useCallback(()=>f(!0),[]),onCustomAnchorRemove:x.useCallback(()=>f(!1),[]),modal:o,children:n})})};O.displayName=C;var k=`PopoverAnchor`,A=x.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=D(k,n),a=T(n),{onCustomAnchorAdd:o,onCustomAnchorRemove:s}=i;return x.useEffect(()=>(o(),()=>s()),[o,s]),(0,S.jsx)(v,{...a,...r,ref:t})});A.displayName=k;var j=`PopoverTrigger`,M=x.forwardRef((e,t)=>{let{__scopePopover:r,...i}=e,a=D(j,r),o=T(r),s=n(t,a.triggerRef),l=(0,S.jsx)(c.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":K(a.open),...i,ref:s,onClick:m(e.onClick,a.onOpenToggle)});return a.hasCustomAnchor?l:(0,S.jsx)(v,{asChild:!0,...o,children:l})});M.displayName=j;var N=`PopoverPortal`,[P,ie]=w(N,{forceMount:void 0}),F=e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=D(N,t);return(0,S.jsx)(P,{scope:t,forceMount:n,children:(0,S.jsx)(_,{present:n||a.open,children:(0,S.jsx)(l,{asChild:!0,container:i,children:r})})})};F.displayName=N;var I=`PopoverContent`,L=x.forwardRef((e,t)=>{let n=ie(I,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=D(I,e.__scopePopover);return(0,S.jsx)(_,{present:r||a.open,children:a.modal?(0,S.jsx)(z,{...i,ref:t}):(0,S.jsx)(B,{...i,ref:t})})});L.displayName=I;var R=t(`PopoverContent.RemoveScroll`),z=x.forwardRef((e,t)=>{let r=D(I,e.__scopePopover),i=x.useRef(null),a=n(t,i),o=x.useRef(!1);return x.useEffect(()=>{let e=i.current;if(e)return g(e)},[]),(0,S.jsx)(f,{as:R,allowPinchZoom:!0,children:(0,S.jsx)(V,{...e,ref:a,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:m(e.onCloseAutoFocus,e=>{e.preventDefault(),o.current||r.triggerRef.current?.focus()}),onPointerDownOutside:m(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;o.current=r},{checkForDefaultPrevented:!1}),onFocusOutside:m(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),B=x.forwardRef((e,t)=>{let n=D(I,e.__scopePopover),r=x.useRef(!1),i=x.useRef(!1);return(0,S.jsx)(V,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),V=x.forwardRef((e,t)=>{let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:s,onEscapeKeyDown:c,onPointerDownOutside:l,onFocusOutside:u,onInteractOutside:d,...f}=e,m=D(I,n),g=T(n);return h(),(0,S.jsx)(o,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,S.jsx)(p,{asChild:!0,disableOutsidePointerEvents:s,onInteractOutside:d,onEscapeKeyDown:c,onPointerDownOutside:l,onFocusOutside:u,onDismiss:()=>m.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,S.jsx)(te,{"data-state":K(m.open),role:`dialog`,id:m.contentId,...g,...f,ref:t,style:{...f.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})}),H=`PopoverClose`,U=x.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=D(H,n);return(0,S.jsx)(c.button,{type:`button`,...r,ref:t,onClick:m(e.onClick,()=>i.onOpenChange(!1))})});U.displayName=H;var W=`PopoverArrow`,G=x.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=T(n);return(0,S.jsx)(ee,{...i,...r,ref:t})});G.displayName=W;function K(e){return e?`open`:`closed`}var q=O,J=A,Y=M,ae=F,oe=L,se=ne(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]);function X(e){let t=e.visualViewport;return t?Math.max(0,Math.round(e.innerHeight-t.height-t.offsetTop)):0}function ce(e,t,n,r=250){let i=e.visualViewport;if(!i)return t(0),()=>{};let a,o=()=>{let i=X(e);t(i),n&&(clearTimeout(a),a=setTimeout(()=>n(i),r))};return t(X(e)),i.addEventListener(`resize`,o),i.addEventListener(`scroll`,o),()=>{clearTimeout(a),i.removeEventListener(`resize`,o),i.removeEventListener(`scroll`,o),t(0)}}function le(e){let t=e.visualViewport;return t?{top:Math.max(0,Math.round(t.offsetTop)),bottom:X(e)}:{top:0,bottom:0}}function ue(e,t=0){let n=typeof t==`number`?{top:t,right:t,bottom:t,left:t}:t;return{top:(n.top??0)+e.top,right:n.right??0,bottom:(n.bottom??0)+e.bottom,left:n.left??0}}function de(e,t){let n=e.visualViewport;if(!n)return t({top:0,bottom:0}),()=>{};let r=()=>t(le(e));return r(),n.addEventListener(`resize`,r),n.addEventListener(`scroll`,r),()=>{n.removeEventListener(`resize`,r),n.removeEventListener(`scroll`,r)}}function fe(){let[e,t]=(0,x.useState)({top:0,bottom:0});return(0,x.useEffect)(()=>de(window,e=>t(t=>t.top===e.top&&t.bottom===e.bottom?t:e)),[]),e}function pe(e){let t=(0,x.useRef)(e);t.current=e,(0,x.useEffect)(()=>{let e=document.documentElement;return ce(window,t=>e.style.setProperty(`--kb`,`${t}px`),e=>t.current?.(e))},[])}var Z=new Set([``,`text`,`search`,`email`,`url`,`tel`,`password`,`number`]);function me(e){if(!e||typeof e!=`object`)return!1;let t=e,n=t.tagName?.toUpperCase();return n===`TEXTAREA`?!0:n===`INPUT`?Z.has((t.type??``).toLowerCase()):t.isContentEditable===!0}var Q=new WeakMap;function he(e){let t=Q.get(e),n=t&&t.width===e.innerWidth?Math.max(t.height,e.innerHeight):e.innerHeight;return Q.set(e,{width:e.innerWidth,height:n}),n-e.innerHeight}function ge(e){let t=he(e),n=e.visualViewport?.scale??1;return Math.abs(n-1)<.05&&X(e)>80||t>80&&me(e.document?.activeElement)}function _e(){let[e,t]=(0,x.useState)(!1);return(0,x.useEffect)(()=>{let e=window,n=()=>t(ge(e));n();let r=e.visualViewport;return r?.addEventListener(`resize`,n),r?.addEventListener(`scroll`,n),window.addEventListener(`resize`,n),document.addEventListener(`focusin`,n),document.addEventListener(`focusout`,n),()=>{r?.removeEventListener(`resize`,n),r?.removeEventListener(`scroll`,n),window.removeEventListener(`resize`,n),document.removeEventListener(`focusin`,n),document.removeEventListener(`focusout`,n)}},[]),e}var $=x.createContext(null);function ve({...e}){let t=x.useRef(!1);return(0,S.jsx)($,{value:t,children:(0,S.jsx)(q,{"data-slot":`popover`,...e})})}function ye({onPointerDownCapture:e,onKeyDownCapture:t,...n}){let r=x.useContext($);return(0,S.jsx)(Y,{"data-slot":`popover-trigger`,...n,onPointerDownCapture:t=>{r&&(r.current=t.pointerType===`touch`),e?.(t)},onKeyDownCapture:e=>{r&&(r.current=!1),t?.(e)}})}function be({className:e,align:t=`center`,sideOffset:n=4,collisionPadding:i,onOpenAutoFocus:a,...o}){let s=fe(),c=x.useContext($);return(0,S.jsx)(ae,{children:(0,S.jsx)(oe,{"data-slot":`popover-content`,align:t,sideOffset:n,onOpenAutoFocus:e=>{let t=c?.current;if(c&&(c.current=!1),a?.(e),e.defaultPrevented||!t)return;let n=e.target;n instanceof HTMLElement&&n.querySelector(`[cmdk-input]`)&&(e.preventDefault(),n.focus({preventScroll:!0}))},collisionPadding:ue(s,i),className:r(`z-50 w-72 max-w-(--radix-popover-content-available-width) [overflow-wrap:anywhere] origin-(--radix-popover-content-transform-origin) rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden motion-safe:data-[side=bottom]:slide-in-from-top-2 motion-safe:data-[side=left]:slide-in-from-right-2 motion-safe:data-[side=right]:slide-in-from-left-2 motion-safe:data-[side=top]:slide-in-from-bottom-2 motion-safe:data-[state=closed]:animate-out data-[state=closed]:fade-out-0 motion-safe:data-[state=closed]:zoom-out-95 motion-safe:data-[state=open]:animate-in data-[state=open]:fade-in-0 motion-safe:data-[state=open]:zoom-in-95`,e),...o})})}function xe({...e}){return(0,S.jsx)(J,{"data-slot":`popover-anchor`,...e})}export{pe as a,ye as i,xe as n,_e as o,be as r,se as s,ve as t};
@@ -1,3 +1,3 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{L as t,t as n,u as r}from"./button-BEK7XKhS.js";import{i,t as a}from"./react-runtime-CCIEwYL0.js";import{Fr as o,Ir as s,Pr as c,gr as l}from"./project-scope-context-DMpvJqIm.js";import{n as u}from"./toaster-pthKGWiE.js";import{a as d,c as f,i as p,l as m,p as h,r as g,s as _,t as v}from"./dropdown-menu-DYflHa4m.js";import{t as y}from"./loader-circle-CZkGEdoI.js";import{t as b}from"./createLucideIcon-BHp8sXmF.js";import{t as ee}from"./arrow-right-Dh_Lx3um.js";import{n as x,r as S,t as C}from"./hourglass-B0lPAJvT.js";import{t as w}from"./info-DA1x_4bz.js";import{c as T,n as E,o as te,s as ne}from"./thread-state-CBzx2hmX.js";import{s as re}from"./project-router-CimAoN1H.js";import{$t as D,A as O,Bt as k,D as ie,Gt as ae,Ht as oe,It as se,Jt as ce,Lt as le,O as ue,Qt as de,Rt as fe,Ut as pe,Wt as me,Yt as A,Zt as j,_t as he,ct as ge,dt as M,ft as _e,gt as ve,ht as ye,k as N,lt as be,ot as P,st as F,ut as xe}from"./index-xj-3O89_.js";var Se=b(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]),I=b(`circle-stop`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`rect`,{x:`9`,y:`9`,width:`6`,height:`6`,rx:`1`,key:`1ssd4o`}]]),L=b(`circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),R=b(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),z=b(`flask-conical`,[[`path`,{d:`M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2`,key:`18mbvz`}],[`path`,{d:`M6.453 15h11.094`,key:`3shlmq`}],[`path`,{d:`M8.5 2h7`,key:`csnxdl`}]]),B=b(`folder-x`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}],[`path`,{d:`m9.5 10.5 5 5`,key:`ra9qjz`}],[`path`,{d:`m14.5 10.5-5 5`,key:`l2rkpq`}]]),Ce=b(`gauge`,[[`path`,{d:`m12 14 4-4`,key:`9kzdfg`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`,key:`19p75a`}]]),we=b(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),V=b(`lock`,[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`,key:`1w4ew1`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`,key:`fwvmzm`}]]),H=b(`maximize`,[[`path`,{d:`M8 3H5a2 2 0 0 0-2 2v3`,key:`1dcmit`}],[`path`,{d:`M21 8V5a2 2 0 0 0-2-2h-3`,key:`1e4gt3`}],[`path`,{d:`M3 16v3a2 2 0 0 0 2 2h3`,key:`wsl5sc`}],[`path`,{d:`M16 21h3a2 2 0 0 0 2-2v-3`,key:`18trek`}]]),U=b(`monitor-smartphone`,[[`path`,{d:`M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8`,key:`10dyio`}],[`path`,{d:`M10 19v-3.96 3.15`,key:`1irgej`}],[`path`,{d:`M7 19h5`,key:`qswx4l`}],[`rect`,{width:`6`,height:`10`,x:`16`,y:`12`,rx:`2`,key:`1egngj`}]]),W=b(`plug`,[[`path`,{d:`M12 22v-5`,key:`1ega77`}],[`path`,{d:`M15 8V2`,key:`18g5xt`}],[`path`,{d:`M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z`,key:`1xoxul`}],[`path`,{d:`M9 8V2`,key:`14iosj`}]]),G=b(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),K=b(`rotate-cw`,[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`,key:`1p45f6`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}]]),Te=b(`shield-alert`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`M12 8v4`,key:`1got3b`}],[`path`,{d:`M12 16h.01`,key:`1drbdi`}]]),Ee=b(`tablet`,[[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`,ry:`2`,key:`76otgf`}],[`line`,{x1:`12`,x2:`12.01`,y1:`18`,y2:`18`,key:`1dp563`}]]),De=b(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Oe=b(`unplug`,[[`path`,{d:`m19 5 3-3`,key:`yk6iyv`}],[`path`,{d:`m2 22 3-3`,key:`19mgm9`}],[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`,key:`goz73y`}],[`path`,{d:`M7.5 13.5 10 11`,key:`7xgeeb`}],[`path`,{d:`M10.5 16.5 13 14`,key:`10btkg`}],[`path`,{d:`m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z`,key:`1snsnr`}]]),ke=b(`wifi-off`,[[`path`,{d:`M12 20h.01`,key:`zekei9`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`,key:`1bycff`}],[`path`,{d:`M5 12.859a10 10 0 0 1 5.17-2.69`,key:`1dl1wf`}],[`path`,{d:`M19 12.859a10 10 0 0 0-2.007-1.523`,key:`4k23kn`}],[`path`,{d:`M2 8.82a15 15 0 0 1 4.177-2.643`,key:`1grhjp`}],[`path`,{d:`M22 8.82a15 15 0 0 0-11.288-3.764`,key:`z3jwby`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),q=e(i(),1),Ae=1e3,je=[500,1e3,2e3,4e3,8e3],Me=1;function Ne(e,t){let n=`/api/v1/p/${encodeURIComponent(e.projectId)}/runs/${encodeURIComponent(e.runId)}/preview/ws`,r=()=>`${location.protocol===`https:`?`wss:`:`ws:`}//${location.host}${n}`,i=null,a,s=!1,u=!1,d=0,f=0,p=()=>typeof document>`u`||c(),m=()=>{if(s||!p())return;let e=globalThis.WebSocket;if(typeof e!=`function`)return;let n=new e(r());n.binaryType=`blob`,i=n,n.addEventListener(`open`,()=>{n===i&&(u=!0,t.onTransport(`open`))}),n.addEventListener(`message`,e=>{if(n!==i)return;let r=e.data;if(typeof r==`string`){let e;try{e=JSON.parse(r)}catch{return}let n=l.safeParse(e);n.success&&t.onMessage(n.data);return}r instanceof Blob&&(f=0,t.onFrame(r))}),n.addEventListener(`error`,()=>void 0),n.addEventListener(`close`,()=>{if(n!==i||s)return;if(i=null,!u){if(d+=1,d>=2){s=!0,t.onTransport(`blocked`);return}t.onTransport(`reconnecting`,d),a=setTimeout(m,Ae);return}if(f>=5){s=!0,t.onTransport(`closed`);return}let e=je[Math.min(f,je.length-1)];f+=1,t.onTransport(`reconnecting`,f),a=setTimeout(m,e)})},h=o(e=>{if(!s)if(e)i||m();else{clearTimeout(a),a=void 0;let e=i;i=null,e?.close()}});return t.onTransport(`connecting`),m(),{send(e){i?.readyState===Me&&i.send(JSON.stringify(e))},close(){s=!0,h(),clearTimeout(a),a=void 0;let e=i;i=null,e?.close()}}}var J=a();function Pe({iconOnly:e=!1,responsive:t=!1,className:n}){return t?(0,J.jsx)(N,{children:(0,J.jsxs)(ie,{children:[(0,J.jsx)(O,{asChild:!0,children:(0,J.jsxs)(`span`,{role:`img`,"aria-label":`Experimental`,tabIndex:0,"data-slot":`preview-experimental`,className:r(`inline-flex h-7 min-w-7 shrink-0 items-center justify-center gap-0 rounded-full bg-muted px-0 text-xs font-semibold text-muted-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none @min-[640px]:gap-1.5 @min-[640px]:px-2.5`,n),children:[(0,J.jsx)(z,{className:`size-3.5`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{className:`hidden @min-[640px]:inline`,children:`Experimental`})]})}),(0,J.jsx)(ue,{children:`Experimental`})]})}):e?(0,J.jsx)(N,{children:(0,J.jsxs)(ie,{children:[(0,J.jsx)(O,{asChild:!0,children:(0,J.jsx)(`span`,{role:`img`,"aria-label":`Experimental`,tabIndex:0,"data-slot":`preview-experimental`,className:r(`inline-flex size-7 shrink-0 items-center justify-center rounded-full bg-muted text-muted-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none`,n),children:(0,J.jsx)(z,{className:`size-3.5`,"aria-hidden":`true`})})}),(0,J.jsx)(ue,{children:`Experimental`})]})}):(0,J.jsxs)(`span`,{"data-slot":`preview-experimental`,className:r(`inline-flex h-7 shrink-0 items-center gap-1.5 rounded-full bg-muted px-2.5 text-xs font-semibold text-muted-foreground`,n),children:[(0,J.jsx)(z,{className:`size-3.5`,"aria-hidden":`true`}),`Experimental`]})}function Y({text:e,source:t,onCopy:n,className:i}){let a=e.replace(/\s+$/,``).split(`
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{L as t,t as n,u as r}from"./button-CHUAMTHK.js";import{i,t as a}from"./react-runtime-CCIEwYL0.js";import{Fr as o,Ir as s,Pr as c,gr as l}from"./project-scope-context-CaUqlAd7.js";import{n as u}from"./toaster-B1MyeHiE.js";import{a as d,c as f,i as p,l as m,p as h,r as g,s as _,t as v}from"./dropdown-menu-DhrBcVgr.js";import{t as y}from"./loader-circle-CZkGEdoI.js";import{t as b}from"./createLucideIcon-BHp8sXmF.js";import{t as ee}from"./arrow-right-Dh_Lx3um.js";import{n as x,r as S,t as C}from"./hourglass-B0lPAJvT.js";import{t as w}from"./info-DA1x_4bz.js";import{c as T,n as E,o as te,s as ne}from"./thread-state-BLaCzqeX.js";import{s as re}from"./project-router-1m_VlC22.js";import{$t as D,A as O,Bt as k,D as ie,Gt as ae,Ht as oe,It as se,Jt as ce,Lt as le,O as ue,Qt as de,Rt as fe,Ut as pe,Wt as me,Yt as A,Zt as j,_t as he,ct as ge,dt as M,ft as _e,gt as ve,ht as ye,k as N,lt as be,ot as P,st as F,ut as xe}from"./index-D489J7QW.js";var Se=b(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]),I=b(`circle-stop`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`rect`,{x:`9`,y:`9`,width:`6`,height:`6`,rx:`1`,key:`1ssd4o`}]]),L=b(`circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),R=b(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),z=b(`flask-conical`,[[`path`,{d:`M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2`,key:`18mbvz`}],[`path`,{d:`M6.453 15h11.094`,key:`3shlmq`}],[`path`,{d:`M8.5 2h7`,key:`csnxdl`}]]),B=b(`folder-x`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}],[`path`,{d:`m9.5 10.5 5 5`,key:`ra9qjz`}],[`path`,{d:`m14.5 10.5-5 5`,key:`l2rkpq`}]]),Ce=b(`gauge`,[[`path`,{d:`m12 14 4-4`,key:`9kzdfg`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`,key:`19p75a`}]]),we=b(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),V=b(`lock`,[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`,key:`1w4ew1`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`,key:`fwvmzm`}]]),H=b(`maximize`,[[`path`,{d:`M8 3H5a2 2 0 0 0-2 2v3`,key:`1dcmit`}],[`path`,{d:`M21 8V5a2 2 0 0 0-2-2h-3`,key:`1e4gt3`}],[`path`,{d:`M3 16v3a2 2 0 0 0 2 2h3`,key:`wsl5sc`}],[`path`,{d:`M16 21h3a2 2 0 0 0 2-2v-3`,key:`18trek`}]]),U=b(`monitor-smartphone`,[[`path`,{d:`M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8`,key:`10dyio`}],[`path`,{d:`M10 19v-3.96 3.15`,key:`1irgej`}],[`path`,{d:`M7 19h5`,key:`qswx4l`}],[`rect`,{width:`6`,height:`10`,x:`16`,y:`12`,rx:`2`,key:`1egngj`}]]),W=b(`plug`,[[`path`,{d:`M12 22v-5`,key:`1ega77`}],[`path`,{d:`M15 8V2`,key:`18g5xt`}],[`path`,{d:`M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z`,key:`1xoxul`}],[`path`,{d:`M9 8V2`,key:`14iosj`}]]),G=b(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),K=b(`rotate-cw`,[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`,key:`1p45f6`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}]]),Te=b(`shield-alert`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`M12 8v4`,key:`1got3b`}],[`path`,{d:`M12 16h.01`,key:`1drbdi`}]]),Ee=b(`tablet`,[[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`,ry:`2`,key:`76otgf`}],[`line`,{x1:`12`,x2:`12.01`,y1:`18`,y2:`18`,key:`1dp563`}]]),De=b(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Oe=b(`unplug`,[[`path`,{d:`m19 5 3-3`,key:`yk6iyv`}],[`path`,{d:`m2 22 3-3`,key:`19mgm9`}],[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`,key:`goz73y`}],[`path`,{d:`M7.5 13.5 10 11`,key:`7xgeeb`}],[`path`,{d:`M10.5 16.5 13 14`,key:`10btkg`}],[`path`,{d:`m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z`,key:`1snsnr`}]]),ke=b(`wifi-off`,[[`path`,{d:`M12 20h.01`,key:`zekei9`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`,key:`1bycff`}],[`path`,{d:`M5 12.859a10 10 0 0 1 5.17-2.69`,key:`1dl1wf`}],[`path`,{d:`M19 12.859a10 10 0 0 0-2.007-1.523`,key:`4k23kn`}],[`path`,{d:`M2 8.82a15 15 0 0 1 4.177-2.643`,key:`1grhjp`}],[`path`,{d:`M22 8.82a15 15 0 0 0-11.288-3.764`,key:`z3jwby`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),q=e(i(),1),Ae=1e3,je=[500,1e3,2e3,4e3,8e3],Me=1;function Ne(e,t){let n=`/api/v1/p/${encodeURIComponent(e.projectId)}/runs/${encodeURIComponent(e.runId)}/preview/ws`,r=()=>`${location.protocol===`https:`?`wss:`:`ws:`}//${location.host}${n}`,i=null,a,s=!1,u=!1,d=0,f=0,p=()=>typeof document>`u`||c(),m=()=>{if(s||!p())return;let e=globalThis.WebSocket;if(typeof e!=`function`)return;let n=new e(r());n.binaryType=`blob`,i=n,n.addEventListener(`open`,()=>{n===i&&(u=!0,t.onTransport(`open`))}),n.addEventListener(`message`,e=>{if(n!==i)return;let r=e.data;if(typeof r==`string`){let e;try{e=JSON.parse(r)}catch{return}let n=l.safeParse(e);n.success&&t.onMessage(n.data);return}r instanceof Blob&&(f=0,t.onFrame(r))}),n.addEventListener(`error`,()=>void 0),n.addEventListener(`close`,()=>{if(n!==i||s)return;if(i=null,!u){if(d+=1,d>=2){s=!0,t.onTransport(`blocked`);return}t.onTransport(`reconnecting`,d),a=setTimeout(m,Ae);return}if(f>=5){s=!0,t.onTransport(`closed`);return}let e=je[Math.min(f,je.length-1)];f+=1,t.onTransport(`reconnecting`,f),a=setTimeout(m,e)})},h=o(e=>{if(!s)if(e)i||m();else{clearTimeout(a),a=void 0;let e=i;i=null,e?.close()}});return t.onTransport(`connecting`),m(),{send(e){i?.readyState===Me&&i.send(JSON.stringify(e))},close(){s=!0,h(),clearTimeout(a),a=void 0;let e=i;i=null,e?.close()}}}var J=a();function Pe({iconOnly:e=!1,responsive:t=!1,className:n}){return t?(0,J.jsx)(N,{children:(0,J.jsxs)(ie,{children:[(0,J.jsx)(O,{asChild:!0,children:(0,J.jsxs)(`span`,{role:`img`,"aria-label":`Experimental`,tabIndex:0,"data-slot":`preview-experimental`,className:r(`inline-flex h-7 min-w-7 shrink-0 items-center justify-center gap-0 rounded-full bg-muted px-0 text-xs font-semibold text-muted-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none @min-[640px]:gap-1.5 @min-[640px]:px-2.5`,n),children:[(0,J.jsx)(z,{className:`size-3.5`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{className:`hidden @min-[640px]:inline`,children:`Experimental`})]})}),(0,J.jsx)(ue,{children:`Experimental`})]})}):e?(0,J.jsx)(N,{children:(0,J.jsxs)(ie,{children:[(0,J.jsx)(O,{asChild:!0,children:(0,J.jsx)(`span`,{role:`img`,"aria-label":`Experimental`,tabIndex:0,"data-slot":`preview-experimental`,className:r(`inline-flex size-7 shrink-0 items-center justify-center rounded-full bg-muted text-muted-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none`,n),children:(0,J.jsx)(z,{className:`size-3.5`,"aria-hidden":`true`})})}),(0,J.jsx)(ue,{children:`Experimental`})]})}):(0,J.jsxs)(`span`,{"data-slot":`preview-experimental`,className:r(`inline-flex h-7 shrink-0 items-center gap-1.5 rounded-full bg-muted px-2.5 text-xs font-semibold text-muted-foreground`,n),children:[(0,J.jsx)(z,{className:`size-3.5`,"aria-hidden":`true`}),`Experimental`]})}function Y({text:e,source:t,onCopy:n,className:i}){let a=e.replace(/\s+$/,``).split(`
2
2
  `);return(0,J.jsxs)(`div`,{"data-slot":`preview-log-tail`,className:r(`min-w-0 rounded-lg bg-muted px-3.5 py-3 font-mono text-xs`,i),children:[(0,J.jsxs)(`div`,{className:`mb-2 flex items-center justify-between gap-3 font-sans text-xs text-soft-foreground`,children:[(0,J.jsxs)(`span`,{className:`min-w-0 truncate`,children:[(0,J.jsx)(`span`,{className:`font-semibold tracking-wide uppercase`,children:`Log tail`}),` last ${a.length} ${a.length===1?`line`:`lines`} · ${t}`]}),(0,J.jsxs)(`button`,{type:`button`,className:`-m-2 inline-flex min-h-11 items-center gap-1.5 rounded-sm p-2 text-muted-foreground hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none md:m-0 md:min-h-0 md:p-0`,onClick:()=>n(e),children:[(0,J.jsx)(A,{className:`size-3.5`,"aria-hidden":`true`}),`Copy`]})]}),(0,J.jsx)(`pre`,{className:`max-h-48 overflow-auto break-words whitespace-pre-wrap text-foreground`,children:e.replace(/\s+$/,``)})]})}var Fe=/^([a-z][a-z0-9+.-]*):/i;function Ie(e,t){let n=e.trim();if(n===``)return{kind:`error`,message:`Type a URL or a port.`};if(/^\d{1,5}$/.test(n)){let e=Number(n);return e<1||e>65535?{kind:`error`,message:`A port is a number from 1 to 65535.`}:t.some(t=>t.port===e)?{kind:`server`,port:e}:{kind:`url`,url:`http://localhost:${e}`}}let r=Fe.exec(n)?.[1]?.toLowerCase();return r&&!/^[a-z0-9.-]+:\d/i.test(n)?r!==`http`&&r!==`https`?{kind:`error`,message:`Only http and https addresses open here.`}:Le(n):Le(`http://${n}`)}function Le(e){let t={kind:`error`,message:`That is not a valid address.`};if(/\s/.test(e))return t;try{new URL(e)}catch{return t}return{kind:`url`,url:e}}function Re(e){return e.replace(/^https?:\/\//i,``)}var ze=`https://github.com/hearsay-tools/cezarion#environment-variables`;function Be({state:e,actions:t,url:n,worktree:r}){switch(e.stage){case`chromium-missing`:return(0,J.jsx)(We,{state:e,actions:t});case`downloading`:return(0,J.jsx)(Ke,{state:e,actions:t});case`download-failed`:return(0,J.jsx)(qe,{state:e,actions:t});case`sandbox-failed`:return(0,J.jsx)(Je,{state:e,actions:t});case`browser-exited`:return(0,J.jsx)(Ye,{state:e,actions:t});case`needs-approval`:return(0,J.jsx)(Qe,{state:e,actions:t});case`port-held`:return(0,J.jsx)($e,{state:e,actions:t});case`server-starting`:return(0,J.jsx)(et,{state:e,actions:t});case`server-stalled`:return(0,J.jsx)(tt,{state:e,actions:t});case`server-exited`:return(0,J.jsx)(nt,{state:e,actions:t});case`server-stopped`:return(0,J.jsx)(rt,{state:e,actions:t});case`loading`:return(0,J.jsx)(at,{step:e.step,url:n});case`worktree-removed`:return(0,J.jsx)(ot,{state:e,actions:t,worktree:r});case`proxy-blocked`:return(0,J.jsx)(st,{actions:t});case`taken-over`:return(0,J.jsx)(lt,{state:e,actions:t})}}function X({icon:e,title:t,children:n,state:r}){return(0,J.jsxs)(`div`,{"data-slot":`preview-state`,"data-state":r,className:`mx-auto flex h-full w-full max-w-[560px] flex-col justify-center gap-4 px-6 py-8`,children:[(0,J.jsx)(`div`,{"aria-hidden":`true`,className:`flex size-9 items-center justify-center rounded-lg bg-muted text-foreground [&_svg]:size-[18px]`,children:e}),(0,J.jsx)(`h2`,{className:`text-xl leading-tight font-semibold text-foreground`,children:t}),n]})}var Z=({children:e})=>(0,J.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e}),Q=({children:e})=>(0,J.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:e});function Ve({server:e}){return(0,J.jsxs)(`p`,{className:`flex items-start gap-2 text-xs text-muted-foreground`,children:[(0,J.jsx)(le,{className:`mt-px size-3.5 shrink-0`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:`Runs ${M(e.command)} in this task's worktree, on the host.`})]})}function He({copy:e,command:t,label:n}){return(0,J.jsxs)(`div`,{"data-slot":`preview-install-command`,className:`min-w-0 rounded-lg bg-muted px-3.5 py-3`,children:[(0,J.jsxs)(`div`,{className:`mb-1.5 flex items-center justify-between gap-3 text-xs font-semibold tracking-wide text-soft-foreground uppercase`,children:[(0,J.jsx)(`span`,{children:n}),(0,J.jsx)(`button`,{type:`button`,"aria-label":`Copy command`,className:`-m-2 inline-flex size-11 items-center justify-center rounded-sm text-muted-foreground hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none md:m-0 md:size-6`,onClick:()=>e(t),children:(0,J.jsx)(A,{className:`size-4`,"aria-hidden":`true`})})]}),(0,J.jsx)(`code`,{className:`block font-mono text-sm break-words whitespace-pre-wrap text-foreground`,children:t})]})}function Ue({server:e,status:t}){return(0,J.jsxs)(`div`,{className:`min-w-0 rounded-lg border border-border bg-card px-3.5 py-3 text-sm`,children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2.5 gap-y-1`,children:[(0,J.jsx)(P,{tone:`neutral`,shape:`ring`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{className:`font-semibold text-foreground`,children:e.label}),(0,J.jsxs)(`span`,{className:`font-mono text-muted-foreground`,children:[`:`,e.port]}),(0,J.jsx)(`span`,{className:`text-muted-foreground`,children:t})]}),(0,J.jsxs)(`div`,{className:`mt-2.5 min-w-0 rounded-md bg-muted px-3 py-2 font-mono text-xs`,children:[(0,J.jsx)(`p`,{className:`break-words whitespace-pre-wrap text-foreground`,children:e.command}),e.cwd?(0,J.jsxs)(`p`,{className:`mt-1 flex gap-3 text-soft-foreground`,children:[(0,J.jsx)(`span`,{children:`cwd`}),(0,J.jsx)(`span`,{className:`break-all`,children:e.cwd})]}):null]}),(0,J.jsx)(`div`,{className:`mt-2.5`,children:(0,J.jsx)(Ve,{server:e})})]})}function We({state:e,actions:r}){return(0,J.jsxs)(X,{state:e.stage,icon:(0,J.jsx)(R,{}),title:`This host has no browser yet`,children:[(0,J.jsx)(Z,{children:e.canDownload?`Preview runs Chromium on the machine ${t(`cezar`)} runs on. ${t(`cezar`)} can download it into ~/.cache/cez/ (about 150 MB). Nothing else on the host changes.`:`Preview runs Chromium on the machine ${t(`cezar`)} runs on. ${t(`cezar`)} has no download for this platform, so install it with the system package manager.`}),e.canDownload?(0,J.jsx)(Q,{children:(0,J.jsxs)(n,{variant:`contrast`,onClick:r.download,children:[(0,J.jsx)(R,{"aria-hidden":`true`}),`Download Chromium`]})}):null,(0,J.jsx)(He,{command:e.installCommand,copy:r.copy,label:e.canDownload?`Or install it yourself`:`Install it yourself`})]})}function Ge(e){return Math.round(e/1e6)}function Ke({state:e,actions:t}){let r=(0,q.useRef)(null);r.current??={at:Date.now(),received:e.received};let i=e.total>0?Math.min(100,Math.floor(e.received/e.total*100)):0,a=(Date.now()-r.current.at)/1e3,o=a>=1?(e.received-r.current.received)/a:0,s=o>0?Math.ceil((e.total-e.received)/o):void 0;return(0,J.jsxs)(X,{state:e.stage,icon:(0,J.jsx)(R,{}),title:`Downloading Chromium`,children:[(0,J.jsx)(Z,{children:`Into ~/.cache/cez/, no root needed. Nothing else on the host changes.`}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,J.jsx)(`div`,{role:`progressbar`,"aria-label":`Chromium download`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":i,className:`h-1.5 overflow-hidden rounded-full bg-muted`,children:(0,J.jsx)(`div`,{className:`h-full rounded-full bg-success`,style:{width:`${i}%`}})}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-3 text-xs text-muted-foreground`,children:[(0,J.jsx)(`span`,{className:`font-mono`,children:`${Ge(e.received)} of ${Ge(e.total)} MB · ${i}%`}),s===void 0?null:(0,J.jsx)(`span`,{children:`about ${s} s left`})]})]}),(0,J.jsx)(Q,{children:(0,J.jsx)(n,{variant:`outline`,onClick:t.cancelDownload,children:`Cancel`})})]})}function qe({state:e,actions:t}){return(0,J.jsxs)(X,{state:e.stage,icon:(0,J.jsx)(De,{className:`text-danger`}),title:`Couldn't download Chromium`,children:[(0,J.jsx)(Z,{children:`${e.error.replace(/\.$/,``)}. Install Chromium with the system package manager, then retry.`}),(0,J.jsx)(He,{command:e.installCommand,copy:t.copy,label:`Install it yourself`}),(0,J.jsxs)(Q,{children:[(0,J.jsxs)(n,{variant:`contrast`,onClick:t.download,children:[(0,J.jsx)(T,{"aria-hidden":`true`}),`Retry download`]}),(0,J.jsxs)(n,{variant:`outline`,onClick:()=>t.copy(`Chromium download failed\n${e.error}\nInstall: ${e.installCommand}`),children:[(0,J.jsx)(A,{"aria-hidden":`true`}),`Copy diagnostics`]})]})]})}function Je({state:e,actions:r}){return(0,J.jsxs)(X,{state:e.stage,icon:(0,J.jsx)(Te,{className:`text-danger`}),title:`Chromium couldn't start its sandbox`,children:[(0,J.jsxs)(Z,{children:[`The host blocks the sandbox Chromium needs. This usually means `,t(`cezar`),` runs as root, or inside a container without user namespaces.`]}),(0,J.jsx)(Y,{text:e.stderrTail,source:`chromium`,onCopy:r.copy}),(0,J.jsxs)(Q,{children:[(0,J.jsxs)(n,{variant:`contrast`,onClick:r.retryBrowser,children:[(0,J.jsx)(T,{"aria-hidden":`true`}),`Retry`]}),(0,J.jsxs)(n,{variant:`outline`,onClick:()=>r.copy(`Chromium failed to start its sandbox\n${e.stderrTail}`),children:[(0,J.jsx)(A,{"aria-hidden":`true`}),`Copy diagnostics`]})]}),(0,J.jsx)(`a`,{className:`text-sm font-medium text-accent-text underline-offset-2 hover:underline`,href:ze,target:`_blank`,rel:`noopener noreferrer`,children:`Docs: running without the sandbox (CEZ_PREVIEW_NO_SANDBOX=1)`})]})}function Ye({state:e,actions:t}){let r=e.reason===`timeout`,i=e.signal?` (${e.signal})`:e.exitCode===void 0?``:` (code ${e.exitCode})`,a=e.serverUp?`The dev server is still up; only the browser needs a restart.`:`The browser needs a restart.`,o=r?`Chromium did not start in time`:`Chromium exited${i}`;return(0,J.jsxs)(X,{state:e.stage,icon:(0,J.jsx)(x,{className:`text-danger`}),title:r?`The browser did not start`:`The browser stopped`,children:[(0,J.jsx)(Z,{children:r?`Chromium did not open its DevTools port in time. ${a}`:`Chromium exited unexpectedly${i}. ${a}`}),(0,J.jsx)(Y,{text:e.stderrTail,source:`chromium`,onCopy:t.copy}),(0,J.jsxs)(Q,{children:[(0,J.jsxs)(n,{variant:`contrast`,onClick:t.retryBrowser,children:[(0,J.jsx)(T,{"aria-hidden":`true`}),`Retry`]}),(0,J.jsxs)(n,{variant:`outline`,onClick:()=>t.copy(`${o}\n${e.stderrTail}`),children:[(0,J.jsx)(A,{"aria-hidden":`true`}),`Copy diagnostics`]})]})]})}var Xe=2;function Ze(e){let[t,n]=(0,q.useState)(()=>Date.now());return(0,q.useEffect)(()=>{let t=setInterval(()=>n(Date.now()),e);return()=>clearInterval(t)},[e]),t}function Qe({state:e,actions:r}){let{server:i,wasRunning:a}=e;return(0,J.jsxs)(X,{state:e.stage,icon:a?(0,J.jsx)(Oe,{className:`text-pending-strong`}):(0,J.jsx)(k,{}),title:a?`Nothing answers on :${i.port} anymore`:`${i.label} isn't running yet`,children:[(0,J.jsx)(Z,{children:a?`${i.label} was running when the agent registered it, likely inside the agent's own session, which has ended. ${t(`cezar`)} can start it with the registered command.`:`The agent registered this server. Nothing runs until you approve it here.`}),(0,J.jsx)(Ue,{server:i,status:a?`was running when registered · silent now`:`registered · not started`}),(0,J.jsx)(Q,{children:(0,J.jsxs)(n,{variant:`contrast`,onClick:()=>r.run(i.port),children:[(0,J.jsx)(k,{"aria-hidden":`true`}),`Run and open`]})})]})}function $e({state:e,actions:t}){let{server:r,ownerTitle:i}=e;return(0,J.jsxs)(X,{state:e.stage,icon:(0,J.jsx)(De,{className:`text-pending-strong`}),title:`${r.label} :${r.port} is in use by another task`,children:[(0,J.jsx)(Z,{children:`Task "${i}" is running its own server on :${r.port}. Register a different port for this task, or stop that task's server.`}),(0,J.jsx)(Q,{children:(0,J.jsx)(n,{variant:`contrast`,onClick:t.close,children:`Close preview`})})]})}function et({state:e,actions:r}){let{server:i}=e,a=Ze(1e3),o=Math.max(0,Math.floor((a-Date.parse(e.startedAt))/1e3)),[s,c]=(0,q.useState)(()=>Date.now());(0,q.useEffect)(()=>c(Date.now()),[e.attempt]);let l=Math.max(0,Math.ceil(Xe-(a-s)/1e3));return(0,J.jsxs)(X,{state:e.stage,icon:(0,J.jsx)(k,{}),title:`Starting ${i.label}`,children:[(0,J.jsx)(Z,{children:`${t(`cezar`)} ran ${M(i.command)} in the worktree. The page opens as soon as :${i.port} answers.`}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-3 rounded-lg border border-border px-3.5 py-3 text-sm`,children:[(0,J.jsxs)(`span`,{className:`flex items-center gap-2.5 font-semibold text-foreground`,children:[(0,J.jsx)(y,{className:`size-4 animate-spin text-success motion-reduce:animate-none`,"aria-hidden":`true`}),l>0?`Attempt ${e.attempt} · next try in ${l} s`:`Attempt ${e.attempt}`]}),(0,J.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`started ${o} s ago`})]}),e.logTail.length>0?(0,J.jsx)(Y,{text:e.logTail.join(`
3
3
  `),source:M(i.command),onCopy:r.copy}):null,(0,J.jsx)(Q,{children:(0,J.jsx)(n,{variant:`outline`,onClick:()=>r.stop(i.port),children:`Stop server`})})]})}function tt({state:e,actions:t}){let{server:r}=e;return(0,J.jsxs)(X,{state:e.stage,icon:(0,J.jsx)(C,{className:`text-pending-strong`}),title:`${r.label} is running, but :${r.port} is silent`,children:[(0,J.jsx)(Z,{children:`The process has run for 2 min without opening the port. It may be waiting on another service, or listening somewhere else.`}),(0,J.jsx)(Y,{text:e.logTail,source:M(r.command),onCopy:t.copy}),(0,J.jsxs)(Q,{children:[(0,J.jsx)(n,{variant:`contrast`,onClick:()=>t.keepWaiting(r.port),children:`Keep waiting`}),(0,J.jsx)(n,{variant:`outline`,onClick:()=>t.stop(r.port),children:`Stop server`})]})]})}function nt({state:e,actions:t}){let{server:r}=e;return(0,J.jsxs)(X,{state:e.stage,icon:(0,J.jsx)(x,{className:`text-danger`}),title:e.exitCode===null?`${r.label} was stopped by a signal`:`${r.label} exited with code ${e.exitCode}`,children:[(0,J.jsx)(Z,{children:`${M(r.command)} stopped.`}),(0,J.jsx)(Y,{text:e.logTail,source:M(r.command),onCopy:t.copy}),(0,J.jsx)(Q,{children:(0,J.jsxs)(n,{variant:`contrast`,onClick:()=>t.run(r.port),children:[(0,J.jsx)(T,{"aria-hidden":`true`}),`Start again`]})}),(0,J.jsx)(Ve,{server:r})]})}function rt({state:e,actions:r}){let{server:i}=e,a=e.reason===`idle`;return(0,J.jsxs)(X,{state:e.stage,icon:(0,J.jsx)(oe,{}),title:a?`Stopped after 15 min idle`:`${i.label} stopped`,children:[(0,J.jsx)(Z,{children:a?`Nobody had this pane open for 15 min, so ${t(`cezar`)} stopped ${i.label} :${i.port} and the browser to free memory. Start again reopens ${Re(e.lastUrl)}.`:`You stopped ${i.label} :${i.port}. Start again reopens ${Re(e.lastUrl)}.`}),(0,J.jsx)(Q,{children:(0,J.jsxs)(n,{variant:`contrast`,onClick:()=>r.run(i.port),children:[(0,J.jsx)(T,{"aria-hidden":`true`}),`Start again`]})}),(0,J.jsx)(Ve,{server:i})]})}var it=[`browser`,`page`,`frame`];function at({step:e,url:t}){let n=it.indexOf(e),i=t?Re(t):`the page`;return(0,J.jsx)(`div`,{"data-slot":`preview-state`,"data-state":`loading`,className:`mx-auto flex h-full w-full max-w-[560px] flex-col justify-center px-6 py-8`,children:(0,J.jsx)(`ol`,{"aria-label":`Opening the page`,className:`mx-auto flex flex-col gap-4 text-sm`,children:[{done:`Browser started`,active:`Starting the browser`},{done:`Opened ${i}`,active:`Opening ${i}`},{done:`First frame`,active:`First frame`}].map((e,t)=>{let i=t<n,a=t===n;return(0,J.jsxs)(`li`,{"aria-current":a?`step`:void 0,className:r(`flex items-center gap-3`,a?`font-semibold text-foreground`:i?`text-foreground`:`text-soft-foreground`),children:[i?(0,J.jsx)(S,{className:`size-5 text-success`,"aria-hidden":`true`}):a?(0,J.jsx)(y,{className:`size-5 animate-spin text-success motion-reduce:animate-none`,"aria-hidden":`true`}):(0,J.jsx)(L,{className:`size-5 text-border`,"aria-hidden":`true`}),i?e.done:a?e.active:e.done]},t)})})})}function ot({state:e,actions:t,worktree:r}){let i=r?/\.ai\/(?:cezar|squawk)\/worktrees\/[^/]+/.exec(r)?.[0]:void 0,a=e.server?.label;return(0,J.jsxs)(X,{state:e.stage,icon:(0,J.jsx)(B,{}),title:`This task's worktree is gone`,children:[(0,J.jsx)(Z,{children:`${a??`The server`} ran in ${i??`this task's worktree`}, which has been removed. There is nothing left to start.`}),e.server?(0,J.jsx)(te,{entry:{kind:`preview-server`,id:`preview-server:${e.server.port}`,server:e.server,state:`unavailable`},inPreview:!1}):null,(0,J.jsx)(Q,{children:(0,J.jsx)(n,{variant:`outline`,onClick:t.close,children:`Close preview`})})]})}function st({actions:e}){return(0,J.jsxs)(`div`,{"data-slot":`preview-state`,"data-state":`proxy-blocked`,className:`mx-auto flex h-full w-full max-w-[560px] flex-col justify-center gap-4 px-6 py-8`,children:[(0,J.jsx)(`div`,{children:(0,J.jsx)(Pe,{})}),(0,J.jsx)(`div`,{"aria-hidden":`true`,className:`flex size-9 items-center justify-center rounded-lg bg-muted text-foreground [&_svg]:size-[18px]`,children:(0,J.jsx)(W,{})}),(0,J.jsx)(`h2`,{className:`text-xl leading-tight font-semibold text-foreground`,children:`Preview doesn't work behind this proxy yet`}),(0,J.jsxs)(Z,{children:[`The proxy in front of `,t(`cezar`),` didn't let the preview's WebSocket through. This is a known gap behind Basic Auth. Everything else in `,t(`cezar`),` keeps working.`]}),(0,J.jsxs)(Q,{children:[(0,J.jsx)(n,{variant:`outline`,onClick:e.close,children:`Close preview`}),(0,J.jsx)(`a`,{className:`inline-flex min-h-11 items-center text-sm font-medium text-accent-text underline-offset-2 hover:underline`,href:ze,target:`_blank`,rel:`noopener noreferrer`,children:`Which setups work`})]})]})}function ct(e){let t=/iPhone/.test(e)?`iPhone`:/iPad/.test(e)?`iPad`:/Android/.test(e)?`Android`:/Windows/.test(e)?`Windows`:/Mac OS X|Macintosh/.test(e)?`Mac`:/Linux|X11/.test(e)?`Linux`:``,n=/Edg\//.test(e)?`Edge`:/Firefox\/|FxiOS/.test(e)?`Firefox`:/Chrome\/|CriOS/.test(e)?`Chrome`:/Safari\//.test(e)?`Safari`:``;return n&&t?`${n} on ${t}`:n||t}function lt({state:e,actions:t}){let r=ct(e.by);return(0,J.jsxs)(X,{state:e.stage,icon:(0,J.jsx)(U,{}),title:`Preview is open somewhere else`,children:[(0,J.jsx)(Z,{children:`Another tab took this browser${r?` (${r})`:``}. Only one tab can view and drive it at a time.`}),(0,J.jsxs)(Q,{children:[(0,J.jsxs)(n,{variant:`contrast`,onClick:t.useHere,children:[(0,J.jsx)(R,{"aria-hidden":`true`}),`Use it here`]}),(0,J.jsx)(n,{variant:`outline`,onClick:t.close,children:`Close preview`})]})]})}function ut({attempt:e,exhausted:t,onReconnect:r}){return(0,J.jsxs)(`div`,{"data-slot":`preview-connection-banner`,role:`status`,className:`absolute inset-x-3 top-3 z-10 flex flex-wrap items-center justify-between gap-x-3 gap-y-2 rounded-lg border border-border bg-card px-3.5 py-2.5 text-sm shadow-sm`,children:[(0,J.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2.5`,children:[(0,J.jsx)(ke,{className:`size-4 shrink-0 text-danger`,"aria-hidden":`true`}),(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`strong`,{className:`font-semibold text-foreground`,children:`Lost the connection to the host`}),t?null:(0,J.jsx)(`span`,{className:`text-muted-foreground`,children:` · reconnecting (attempt ${e} of 5)`})]})]}),(0,J.jsx)(n,{variant:`outline`,onClick:r,children:t?`Reconnect`:`Reconnect now`})]})}function dt({servers:e,states:t,onOpen:r,agentLive:i=!1,agentIdle:a=!1,onOpenAgent:o}){return(0,J.jsxs)(`div`,{"data-slot":`preview-state`,"data-state":a?`agent-idle`:`empty`,className:`mx-auto flex h-full w-full max-w-[560px] flex-col justify-center gap-4 px-6 py-8`,children:[(0,J.jsx)(`h2`,{className:`text-xl leading-tight font-semibold text-foreground`,children:`Open a page in this task's browser`}),(0,J.jsx)(Z,{children:`The browser runs on the host, next to the worktree. Type a URL, a bare port such as 3000, or open a server the agent registered.`}),a?(0,J.jsxs)(`p`,{role:`status`,className:`flex items-start gap-2 text-sm text-foreground`,children:[(0,J.jsx)(Oe,{className:`mt-0.5 size-4 shrink-0 text-muted-foreground`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:`The agent is not driving the browser now.`})]}):null,i&&o!==void 0?(0,J.jsxs)(`section`,{"aria-labelledby":`preview-agent`,className:`overflow-hidden rounded-lg border border-border bg-card`,children:[(0,J.jsx)(`h3`,{id:`preview-agent`,className:`border-b border-border px-3.5 py-2.5 text-xs font-semibold tracking-wide text-soft-foreground uppercase`,children:`Driven by the agent`}),(0,J.jsxs)(`div`,{"data-slot":`preview-agent-entry`,className:`flex items-center justify-between gap-3 px-3.5 py-2 text-sm`,children:[(0,J.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-center gap-x-2.5 gap-y-0.5`,children:[(0,J.jsx)(P,{tone:`success`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{className:`font-semibold text-foreground`,children:`Agent's page`}),(0,J.jsx)(`span`,{className:`text-muted-foreground`,children:`The agent drives this page through agent-browser.`})]}),(0,J.jsx)(n,{variant:`outline`,size:`sm`,className:`max-md:h-11`,"aria-label":`Open the agent's page`,onClick:o,children:`Open`})]})]}):null,e.length>0?(0,J.jsxs)(`section`,{"aria-labelledby":`preview-registered`,className:`overflow-hidden rounded-lg border border-border bg-card`,children:[(0,J.jsx)(`h3`,{id:`preview-registered`,className:`border-b border-border px-3.5 py-2.5 text-xs font-semibold tracking-wide text-soft-foreground uppercase`,children:`Registered in this task`}),(0,J.jsx)(`ul`,{children:e.map(e=>{let i=be(e,t),a=_e(i);return(0,J.jsxs)(`li`,{className:`flex items-center justify-between gap-3 border-b border-border px-3.5 py-2 text-sm last:border-b-0`,children:[(0,J.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-center gap-x-2.5 gap-y-0.5`,children:[(0,J.jsx)(P,{tone:a.tone,shape:a.ring?`ring`:`filled`,pulse:a.pulse,"aria-hidden":`true`}),(0,J.jsx)(`span`,{className:`font-semibold text-foreground`,children:e.label}),(0,J.jsxs)(`span`,{className:`font-mono text-muted-foreground`,children:[`:`,e.port]}),(0,J.jsx)(`span`,{className:`text-muted-foreground`,children:a.text})]}),(0,J.jsx)(n,{variant:`outline`,size:`sm`,className:`max-md:h-11`,onClick:()=>r(e.port),children:xe(i)?`Open`:`Review`})]},e.port)})})]}):null,(0,J.jsxs)(`p`,{className:`flex items-start gap-2 text-xs text-muted-foreground`,children:[(0,J.jsx)(w,{className:`mt-px size-3.5 shrink-0`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:`Review opens a server's approval in this pane: its command, cwd and Run and open. Nothing runs from this list. Paste works; copying text out, file pickers and downloads don't yet.`})]})]})}function ft({dialog:e,onResult:t}){let[r,i]=(0,q.useState)(e.defaultPrompt??``),a=e.type===`beforeunload`,o=(0,q.useRef)(null),s=(0,q.useRef)(null);(0,q.useEffect)(()=>{(e.type===`prompt`?s.current:o.current)?.focus()},[e.type]);let c=(0,q.useRef)(t);c.current=t,(0,q.useEffect)(()=>{let e=e=>{if(e.key!==`Escape`||e.defaultPrevented)return;let t=e.target instanceof Element?e.target:null;t&&t!==document.body&&!t.closest(`[data-slot="preview-pane-body"], [data-slot="preview-page-dialog"]`)||(e.stopPropagation(),c.current({accept:!1}))};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[]);let l=()=>t(e.type===`prompt`?{accept:!0,text:r}:{accept:!0});return(0,J.jsx)(`div`,{"data-slot":`preview-page-dialog`,className:`absolute inset-0 z-20 flex items-center justify-center bg-foreground/30 p-4`,children:(0,J.jsxs)(`div`,{role:`alertdialog`,"aria-modal":`true`,"aria-label":`${e.origin} says`,className:`w-full max-w-[380px] rounded-xl border border-border bg-card p-4 shadow-lg`,children:[(0,J.jsx)(`p`,{className:`mb-3 truncate font-mono text-xs text-muted-foreground`,children:`${e.origin} says`}),(0,J.jsx)(`p`,{className:`mb-4 text-sm break-words whitespace-pre-wrap text-foreground`,children:e.message||(a?`Changes you made may not be saved.`:``)}),e.type===`prompt`?(0,J.jsx)(`input`,{ref:s,value:r,onChange:e=>i(e.target.value),onKeyDown:e=>{e.key===`Enter`&&l()},className:`mb-4 h-11 w-full rounded-md border border-border bg-background px-3 text-sm outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50`}):null,(0,J.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[e.type===`alert`?null:(0,J.jsx)(n,{variant:`outline`,onClick:()=>t({accept:!1}),children:a?`Stay`:`Cancel`}),(0,J.jsx)(n,{ref:o,variant:`contrast`,onClick:l,children:a?`Leave`:`OK`})]})]})})}var pt=10,mt=500,ht=500,gt=4,_t=16,vt=e=>!!e.altKey|(e.ctrlKey?2:0)|(e.metaKey?4:0)|(e.shiftKey?8:0);function yt(e,t,n,r){return{x:Math.round((e-n.left)/r),y:Math.round((t-n.top)/r)}}function bt(e,t){return{rect:e,scale:t,touches:new Map,multiTouch:!1,click:{at:-1/0,x:0,y:0,button:-1,count:1}}}var xt=[`left`,`middle`,`right`];function $(e,t,n,r){let i=yt(n.clientX,n.clientY,t.rect,t.scale);return{t:`mouse`,type:e,x:i.x,y:i.y,button:xt[n.button]??`none`,buttons:n.buttons,clickCount:1,modifiers:vt(n),...r}}var St=e=>e===0?0:-e;function Ct(e,t,n,r,i){let a=yt(t,n,e.rect,e.scale);return{t:`mouse`,type:`mouseWheel`,x:a.x,y:a.y,button:`none`,buttons:0,deltaX:St(r/e.scale),deltaY:St(i/e.scale),modifiers:0}}function wt(e,t){let{touches:n}=t,r=n.get(e.pointerId),i=()=>{n.delete(e.pointerId),n.size===0&&(t.multiTouch=!1)};switch(e.type){case`pointerdown`:return n.set(e.pointerId,{startX:e.clientX,startY:e.clientY,startAt:e.timeStamp,lastX:e.clientX,lastY:e.clientY,scrolling:!1}),n.size>1&&(t.multiTouch=!0),[];case`pointermove`:{if(!r)return[];if(t.multiTouch)return r.lastX=e.clientX,r.lastY=e.clientY,[];if(!r.scrolling){if(Math.hypot(e.clientX-r.startX,e.clientY-r.startY)<=pt)return[];r.scrolling=!0}let n=e.clientX-r.lastX,i=e.clientY-r.lastY;return r.lastX=e.clientX,r.lastY=e.clientY,n===0&&i===0?[]:[Ct(t,e.clientX,e.clientY,n,i)]}case`pointerup`:{let n=r!==void 0&&!t.multiTouch&&!r.scrolling&&e.timeStamp-r.startAt<=mt;if(i(),!n||!r)return[];let a={...e,clientX:r.startX,clientY:r.startY};return[$(`mouseMoved`,t,a,{button:`none`,buttons:0}),$(`mousePressed`,t,a,{button:`left`,buttons:1}),$(`mouseReleased`,t,a,{button:`left`,buttons:0})]}case`pointercancel`:return i(),[]}}function Tt(e,t){if(e.pointerType===`touch`)return wt(e,t);switch(e.type){case`pointerdown`:{let n=t.click,r=n.button===e.button&&e.timeStamp-n.at<=ht&&Math.hypot(e.clientX-n.x,e.clientY-n.y)<=gt;return t.click={at:e.timeStamp,x:e.clientX,y:e.clientY,button:e.button,count:r?n.count+1:1},[$(`mousePressed`,t,e,{clickCount:t.click.count})]}case`pointermove`:return[$(`mouseMoved`,t,e,{button:e.buttons&1?`left`:`none`})];case`pointerup`:return[$(`mouseReleased`,t,e,{clickCount:t.click.count})];case`pointercancel`:return[]}}function Et(e,t,n){let r=yt(e.clientX,e.clientY,t,n),i=e.deltaMode===1?_t:1;return{t:`mouse`,type:`mouseWheel`,x:r.x,y:r.y,button:`none`,buttons:e.buttons??0,deltaX:e.deltaX*i/n,deltaY:e.deltaY*i/n,modifiers:vt(e)}}var Dt={a:`selectAll`,c:`copy`,x:`cut`,z:`undo`,y:`redo`};function Ot(e){let t=e.key.toLowerCase(),n=(e.ctrlKey||e.metaKey)&&!e.getModifierState?.(`AltGraph`);if(n&&(t===`v`||t===`k`))return;let r={t:`key`,key:e.key,code:e.code,modifiers:vt(e),vk:e.keyCode};if(e.type===`keyup`)return{...r,type:`keyUp`};let i=n?``:e.key.length===1?e.key:e.key===`Enter`?`\r`:e.key===`Tab`?` `:``,a=n?t===`z`&&e.shiftKey?`redo`:Dt[t]:void 0,o={t:`key`,type:i?`keyDown`:`rawKeyDown`,key:e.key,code:e.code,text:i,modifiers:vt(e),vk:e.keyCode};return a?{...o,commands:[a]}:o}function kt(e){return e?{t:`insertText`,text:e}:void 0}var At=e=>e,jt=e=>e.key===`Escape`&&e.shiftKey&&!e.ctrlKey&&!e.metaKey&&!e.altKey;function Mt({scale:e,send:t,onLeave:n}){let r=(0,q.useRef)(null),i=(0,q.useRef)(bt({left:0,top:0},e)),a=(0,q.useRef)(e);a.current=e;let o=(0,q.useRef)(t);o.current=t;let s=(0,q.useRef)(void 0),c=()=>{let e=r.current;e&&(i.current.rect=e.getBoundingClientRect()),i.current.scale=a.current},l=e=>{c();for(let t of Tt(At(e),i.current))o.current(t)},u=()=>{let e=s.current;e&&(s.current=void 0,cancelAnimationFrame(e.frame),l(e.event))};(0,q.useEffect)(()=>()=>{s.current&&cancelAnimationFrame(s.current.frame)},[]),(0,q.useEffect)(()=>{document.activeElement===document.body&&r.current?.focus({preventScroll:!0})},[]),(0,q.useEffect)(()=>{let e=r.current;if(!e)return;let t=e=>{e.preventDefault(),c(),o.current(Et(e,i.current.rect,i.current.scale))};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},[]),(0,q.useEffect)(()=>{let e=e=>{if(document.activeElement!==r.current)return;let t=kt(e.clipboardData?.getData(`text`)??``);t&&(e.preventDefault(),o.current(t))};return document.addEventListener(`paste`,e),()=>document.removeEventListener(`paste`,e)},[]);let d=e=>{u(),r.current?.focus({preventScroll:!0});try{r.current?.setPointerCapture(e.pointerId)}catch{}l(e.nativeEvent)},f=e=>{let t=e.nativeEvent;if(t.pointerType===`touch`)return l(t);let n=s.current;if(n){n.event=t;return}s.current={event:t,frame:requestAnimationFrame(()=>{let e=s.current;s.current=void 0,e&&l(e.event)})}},p=e=>{u(),l(e.nativeEvent)},m=e=>{if(jt(e)){e.preventDefault(),e.stopPropagation(),e.type===`keydown`&&(n?n():r.current?.blur());return}let i=Ot(e.nativeEvent);i&&(e.preventDefault(),e.stopPropagation(),t(i))};return(0,J.jsx)(`div`,{ref:r,"data-slot":`preview-input`,role:`application`,"aria-label":`Page preview, interactive`,"aria-description":`Keys go to the page, Tab included. Press Shift+Escape to return to the cockpit.`,tabIndex:0,onPointerDown:d,onPointerMove:f,onPointerUp:p,onPointerCancel:p,onContextMenu:e=>e.preventDefault(),onKeyDown:m,onKeyUp:m,className:`absolute inset-0 touch-none select-none outline-none focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-inset`})}async function Nt(e){if(typeof createImageBitmap==`function`){let t=await createImageBitmap(e);return{source:t,width:t.width,height:t.height,release:()=>t.close()}}let t=URL.createObjectURL(e),n=new Image;return n.src=t,await n.decode(),{source:n,width:n.naturalWidth,height:n.naturalHeight,release:()=>URL.revokeObjectURL(t)}}function Pt({ref:e,viewport:t,dimmed:n=!1,cursor:i,onSize:a,renderInput:o,children:s}){let l=(0,q.useRef)(0),u=(0,q.useRef)(null),d=(0,q.useRef)(null),[f,p]=(0,q.useState)(null),m=(0,q.useRef)(a);m.current=a,(0,q.useImperativeHandle)(e,()=>({async draw(e){let t=++l.current,n=d.current,r=n?.getContext(`2d`);if(!(!n||!r||!c()))try{let i=await Nt(e);try{if(t!==l.current||!c()||d.current!==n)return;n.width!==i.width&&(n.width=i.width),n.height!==i.height&&(n.height=i.height),r.drawImage(i.source,0,0)}finally{i.release()}}catch{}}}),[]),(0,q.useEffect)(()=>{let e=u.current;if(!e)return;let t=()=>{let t=Math.round(e.clientWidth),n=Math.round(e.clientHeight);t===0||n===0||(p(e=>e&&e.w===t&&e.h===n?e:{w:t,h:n}),m.current?.({w:t,h:n}))};if(t(),typeof ResizeObserver>`u`)return;let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[]);let h=t===`fit`?f:t,g=t===`fit`||!f?1:Math.min(1,(f.w-24)/t.w,(f.h-24)/t.h),_=h?{width:Math.floor(h.w*g),height:Math.floor(h.h*g)}:void 0;return(0,J.jsxs)(`div`,{ref:u,"data-slot":`preview-stage`,"data-viewport":t===`fit`?`fit`:`${t.w}x${t.h}`,className:r(`relative min-h-0 flex-1 overflow-hidden bg-muted`,t!==`fit`&&`flex items-start justify-center overflow-auto p-3`),children:[h?(0,J.jsxs)(`div`,{"data-slot":`preview-surface`,"data-scale":g,style:{..._,cursor:i},className:r(`relative shrink-0 bg-card`,t!==`fit`&&`shadow-md`,n&&`opacity-60 saturate-50`),children:[(0,J.jsx)(`canvas`,{ref:d,"aria-label":`Page preview`,role:`img`,style:_,className:`block touch-none select-none`}),o?.({canvas:d.current,scale:g,viewport:h})]}):null,s]})}var Ft=`cez-preview-quality`,It=[{value:`normal`,label:`Normal`,detail:`The default. Lighter on CPU and network.`},{value:`high`,label:`High`,detail:`Sharper text and fine detail. Uses more CPU and network.`},{value:`ultra`,label:`Ultra`,detail:`High at your screen's pixel density, up to 2×. Uses the most CPU and network.`}];function Lt(e){return It.find(t=>t.value===e)?.value??`normal`}var Rt=e=>It.find(t=>t.value===e)?.label??`Normal`;function zt(){try{return Lt(localStorage.getItem(Ft))}catch{return`normal`}}function Bt(e){try{localStorage.setItem(Ft,e)}catch{}}var Vt=[{w:390,h:844,icon:fe},{w:820,h:1180,icon:Ee},{w:1440,h:900,icon:pe}],Ht=`size-8 shrink-0 max-md:size-11`,Ut=e=>e===`fit`?`Fit`:`${e.w} × ${e.h}`;function Wt(e){let[t,n]=(0,q.useState)(()=>Date.now());return(0,q.useEffect)(()=>{let t=setInterval(()=>n(Date.now()),e);return()=>clearInterval(t)},[e]),t}var Gt=e=>`${e.fps} fps · ${e.kbps} KB/s${e.rttMs===void 0?``:` · ${e.rttMs} ms`}`;function Kt({stats:e,shrunk:t}){let n=Wt(250),r=e.lastFrameAt===void 0||n-e.lastFrameAt>=1e3;return t?(0,J.jsx)(P,{"data-slot":`preview-stats`,tone:r?`neutral`:`success`,"aria-label":`Preview is live`,role:`img`}):(0,J.jsxs)(`span`,{"data-slot":`preview-stats`,role:`img`,"aria-label":r?`idle`:Gt(e),className:`flex shrink-0 items-center gap-1.5 font-mono text-xs whitespace-nowrap text-muted-foreground`,children:[(0,J.jsx)(P,{tone:r?`neutral`:`success`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{className:`hidden @min-[640px]:inline-block w-[28ch] overflow-hidden text-ellipsis`,children:r?`idle`:Gt(e)})]})}function qt({current:e,agentShown:t,...r}){let i=e?e.label:t?`Agent's page`:`Server`;return(0,J.jsxs)(n,{variant:`outline`,size:`sm`,className:`max-w-[11rem] min-w-0 gap-1.5 max-md:h-11`,"aria-label":e?`Server: ${e.label} :${e.port}`:t?`Server: ${i}`:`Server`,...r,children:[e||t?(0,J.jsx)(P,{tone:`neutral`,shape:`ring`,"aria-hidden":`true`}):(0,J.jsx)(ne,{"aria-hidden":`true`}),(0,J.jsx)(`span`,{className:`truncate`,children:i}),e?(0,J.jsxs)(`span`,{className:`font-mono font-normal text-muted-foreground`,children:[`:`,e.port]}):null,(0,J.jsx)(j,{className:`size-3.5 text-muted-foreground`,"aria-hidden":`true`})]})}function Jt({shown:e,live:t,onSelect:n}){return(0,J.jsxs)(p,{className:`min-h-11 gap-2.5 md:min-h-0`,onSelect:n,children:[(0,J.jsx)(P,{tone:t?`success`:`neutral`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{className:`font-semibold`,children:`Agent's page`}),(0,J.jsx)(`span`,{className:`ml-auto text-xs text-muted-foreground`,children:`agent-browser`}),e?(0,J.jsx)(D,{className:`size-4`,"aria-hidden":`true`}):null]})}function Yt(e,t){return e?`${e.label} :${e.port}`:t?`Agent's page`:`Preview`}function Xt(e){let t=e.onPickAgent!==void 0,n=e.agentLive===!0&&t,r=e.agentShown===!0;return{agentLive:n,agentShown:r,agentListed:n||r&&t}}function Zt(e){let{compact:t=!1,navEnabled:r,loading:i=!1}=e,a=(0,q.useRef)(null),o=e.urlInputRef??a,s=(0,q.useRef)(!1),[c,l]=(0,q.useState)(null),[u,d]=(0,q.useState)(!1),f=(0,J.jsx)(n,{variant:`ghost`,size:`icon-sm`,className:Ht,"aria-label":`Back`,disabled:!r,onClick:e.onBack,children:(0,J.jsx)(Se,{"aria-hidden":`true`})}),p=(0,J.jsx)(n,{variant:`ghost`,size:`icon-sm`,className:Ht,"aria-label":`Forward`,disabled:!r,onClick:e.onForward,children:(0,J.jsx)(ee,{"aria-hidden":`true`})}),m=(0,J.jsx)(n,{variant:`ghost`,size:`icon-sm`,className:Ht,"aria-label":`Reload`,"aria-busy":i||void 0,disabled:!r||i,onClick:()=>e.onReload(!1),children:(0,J.jsx)(K,{"aria-hidden":`true`})}),h=e.onSession?(0,J.jsxs)(n,{variant:`outline`,size:`sm`,className:`shrink-0 gap-1 max-md:h-11`,onClick:e.onSession,children:[(0,J.jsx)(de,{"aria-hidden":`true`}),`Session`]}):null,g=i?(0,J.jsx)(`div`,{role:`progressbar`,"aria-label":`Loading the page`,className:`absolute inset-x-0 bottom-0 h-0.5 overflow-hidden bg-transparent`,children:(0,J.jsx)(`div`,{className:`preview-progress h-full w-2/5 bg-success`})}):null,_=(0,J.jsx)($t,{props:e,input:o,draft:c,setDraft:l,focused:u,setFocused:d}),{agentListed:v}=Xt(e),y=e.servers.length+ +!!v>=2,b=y||e.adopted,x={back:f,forward:p,reload:m,address:_,more:(0,J.jsx)(an,{props:e,compact:t,crowded:b}),session:h,progress:g};return t?(0,J.jsx)(on,{props:e,elements:x}):(0,J.jsx)(sn,{props:e,elements:x,switcher:y,crowded:b,input:o,focusUrlAfterMenu:s})}function Qt({props:e,input:t,focusUrlAfterMenu:n}){let{servers:r,current:i}=e,{agentLive:a,agentShown:o,agentListed:s}=Xt(e);return(0,J.jsxs)(v,{children:[(0,J.jsx)(h,{asChild:!0,children:(0,J.jsx)(qt,{current:i,agentShown:o})}),(0,J.jsxs)(g,{align:`start`,className:`min-w-64`,onCloseAutoFocus:e=>{n.current&&(n.current=!1,e.preventDefault(),t.current?.focus())},children:[s?(0,J.jsx)(Jt,{shown:o,live:a,onSelect:()=>e.onPickAgent?.()}):null,r.map(t=>{let n=_e(be(t,e.serverStates));return(0,J.jsxs)(p,{className:`min-h-11 gap-2.5 md:min-h-0`,onSelect:()=>e.onPickServer(t.port),children:[(0,J.jsx)(P,{tone:n.tone,shape:n.ring?`ring`:`filled`,pulse:n.pulse,"aria-hidden":`true`}),(0,J.jsx)(`span`,{className:`font-semibold`,children:t.label}),(0,J.jsxs)(`span`,{className:`font-mono text-muted-foreground`,children:[`:`,t.port]}),(0,J.jsx)(`span`,{className:`ml-auto text-xs text-muted-foreground`,children:n.text}),i?.port===t.port?(0,J.jsx)(D,{className:`size-4`,"aria-hidden":`true`}):null]},t.port)}),(0,J.jsx)(m,{}),(0,J.jsxs)(p,{className:`min-h-11 gap-2.5 md:min-h-0`,onSelect:()=>{n.current=!0},children:[(0,J.jsx)(ae,{"aria-hidden":`true`}),`Type a URL instead`]})]})]})}function $t({props:e,input:n,draft:i,setDraft:a,focused:o,setFocused:s}){let{url:c,adopted:l}=e;return(0,J.jsxs)(`div`,{className:`relative flex min-w-[9rem] flex-1 items-center`,children:[(0,J.jsx)(ae,{className:`pointer-events-none absolute left-2.5 size-4 text-muted-foreground`,"aria-hidden":`true`}),(0,J.jsx)(`input`,{ref:n,type:`text`,"aria-label":`Page address`,placeholder:`Type a URL or a port`,spellCheck:!1,autoCapitalize:`off`,autoCorrect:`off`,value:i??(o?c:Re(c)),title:c||void 0,className:r(`h-8 w-full min-w-0 truncate rounded-md border border-transparent bg-muted pl-8 font-mono text-[13px] text-foreground outline-none placeholder:text-soft-foreground focus-visible:border-ring focus-visible:bg-background focus-visible:ring-[3px] focus-visible:ring-ring/30 max-md:h-11`,l?`pr-40`:`pr-2.5`),onFocus:e=>{let t=e.currentTarget;s(!0),requestAnimationFrame(()=>{document.activeElement===t&&t.select()})},onBlur:()=>{s(!1),a(null)},onChange:e=>a(e.target.value),onKeyDown:t=>{t.key===`Enter`?(e.onNavigate(i??c),t.currentTarget.blur()):t.key===`Escape`&&t.currentTarget.blur()}}),l&&!o?(0,J.jsxs)(`span`,{className:`pointer-events-none absolute right-2 inline-flex h-6 items-center gap-1 rounded-full border border-border bg-card px-2 text-xs font-semibold text-muted-foreground`,children:[(0,J.jsx)(we,{className:`size-3`,"aria-hidden":`true`}),`Not started by `,t(`cezar`)]}):null]})}function en({props:e}){let{viewport:t}=e;return(0,J.jsxs)(v,{children:[(0,J.jsx)(h,{asChild:!0,children:(0,J.jsxs)(n,{variant:`outline`,size:`sm`,className:`shrink-0 gap-1.5`,"aria-label":`Viewport size: ${Ut(t)}`,children:[t===`fit`?(0,J.jsx)(H,{"aria-hidden":`true`}):(0,J.jsx)(pe,{"aria-hidden":`true`}),(0,J.jsx)(`span`,{className:r(`hidden @min-[500px]:inline`,t!==`fit`&&`font-mono font-normal`),children:Ut(t)}),(0,J.jsx)(j,{className:`size-3.5 text-muted-foreground`,"aria-hidden":`true`})]})}),(0,J.jsxs)(g,{align:`start`,className:`min-w-56`,children:[(0,J.jsxs)(p,{className:`gap-2.5`,onSelect:()=>e.onViewport(`fit`),children:[(0,J.jsx)(H,{"aria-hidden":`true`}),`Fit`,(0,J.jsx)(`span`,{className:`ml-auto text-xs text-muted-foreground`,children:`pane size`}),t===`fit`?(0,J.jsx)(D,{className:`size-4`,"aria-hidden":`true`}):null]}),Vt.map(({w:n,h:r,icon:i})=>(0,J.jsxs)(p,{className:`gap-2.5 font-mono`,onSelect:()=>e.onViewport({w:n,h:r}),children:[(0,J.jsx)(i,{"aria-hidden":`true`}),n,` × `,r,t!==`fit`&&t.w===n&&t.h===r?(0,J.jsx)(D,{className:`ml-auto size-4`,"aria-hidden":`true`}):null]},`${n}x${r}`))]})]})}function tn({quality:e,onQuality:t,compact:n}){return(0,J.jsx)(_,{value:e,onValueChange:e=>t(Lt(e)),children:It.map(e=>(0,J.jsx)(f,{value:e.value,"data-quality":e.value,className:r(`items-start`,n&&`min-h-11`),children:(0,J.jsxs)(`span`,{className:`flex flex-col gap-0.5`,children:[(0,J.jsx)(`span`,{children:e.label}),(0,J.jsx)(`span`,{className:`text-xs whitespace-normal text-muted-foreground`,children:e.detail})]})},e.value))})}function nn({props:e}){let{quality:t}=e;return(0,J.jsxs)(v,{children:[(0,J.jsx)(h,{asChild:!0,children:(0,J.jsxs)(n,{variant:`outline`,size:`sm`,className:`shrink-0 gap-1.5`,"aria-label":`Stream quality: ${Rt(t)}`,children:[(0,J.jsx)(Ce,{"aria-hidden":`true`}),(0,J.jsx)(`span`,{className:`hidden @min-[560px]:inline`,children:Rt(t)}),(0,J.jsx)(j,{className:`size-3.5 text-muted-foreground`,"aria-hidden":`true`})]})}),(0,J.jsxs)(g,{align:`start`,className:`w-64`,children:[(0,J.jsx)(d,{className:`text-xs font-normal text-muted-foreground`,children:`Stream quality`}),(0,J.jsx)(tn,{quality:t,onQuality:e.onQuality,compact:!1})]})]})}function rn({stats:e,status:t,crowded:n}){return e?(0,J.jsx)(Kt,{stats:e,shrunk:n}):t?(0,J.jsxs)(`span`,{"data-slot":`preview-status`,className:`flex shrink-0 items-center gap-1.5 font-mono text-xs whitespace-nowrap text-muted-foreground`,children:[(0,J.jsx)(P,{tone:t.tone,"aria-hidden":`true`}),t.label]}):null}function an({props:e,compact:r,crowded:i}){let{stats:a,navEnabled:o,url:s,current:c,adopted:l}=e;return(0,J.jsxs)(v,{children:[(0,J.jsx)(h,{asChild:!0,children:(0,J.jsx)(n,{variant:`ghost`,size:`icon-sm`,className:Ht,"aria-label":`More`,children:(0,J.jsx)(ce,{"aria-hidden":`true`})})}),(0,J.jsxs)(g,{align:`end`,className:`min-w-64`,children:[i&&a&&!r?(0,J.jsx)(d,{className:`font-mono text-xs font-normal text-muted-foreground`,children:Gt(a)}):null,(0,J.jsxs)(p,{className:`min-h-11 gap-2.5 md:min-h-0`,disabled:!o,onSelect:()=>e.onReload(!0),children:[(0,J.jsx)(G,{"aria-hidden":`true`}),`Reload without cache`]}),(0,J.jsxs)(p,{className:`min-h-11 gap-2.5 md:min-h-0`,disabled:s===``,onSelect:e.onCopyUrl,children:[(0,J.jsx)(me,{"aria-hidden":`true`}),`Copy page URL`]}),c?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(m,{}),l?(0,J.jsxs)(p,{disabled:!0,className:`items-start gap-2.5 opacity-100 data-[disabled]:opacity-100`,children:[(0,J.jsx)(V,{className:`mt-0.5 text-muted-foreground`,"aria-hidden":`true`}),(0,J.jsxs)(`span`,{className:`flex flex-col gap-0.5`,children:[(0,J.jsx)(`span`,{className:`text-muted-foreground`,children:`Stop server · ${c.label} :${c.port}`}),(0,J.jsxs)(`span`,{className:`text-xs whitespace-normal text-muted-foreground`,children:[t(`cezar`),` didn't start this server, so it won't stop it. Stop it where it was started.`]})]})]}):(0,J.jsxs)(p,{variant:`destructive`,className:`min-h-11 gap-2.5 md:min-h-0`,onSelect:()=>e.onStop(c.port),children:[(0,J.jsx)(I,{"aria-hidden":`true`}),`Stop server · ${c.label} :${c.port}`]})]}):null,r?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(m,{}),(0,J.jsx)(d,{className:`text-xs font-normal text-muted-foreground`,children:`Stream quality`}),(0,J.jsx)(tn,{quality:e.quality,onQuality:e.onQuality,compact:!0}),(0,J.jsx)(m,{}),(0,J.jsxs)(p,{className:`min-h-11 gap-2.5`,onSelect:e.onClose,children:[(0,J.jsx)(se,{"aria-hidden":`true`}),`Close preview`]})]}):null]})]})}function on({props:e,elements:t}){let{stats:n,current:r,badge:i=!0}=e,{agentShown:a}=Xt(e),{back:o,forward:s,reload:c,address:l,more:u,session:d,progress:f}=t;return(0,J.jsxs)(`div`,{"data-slot":`preview-toolbar`,"data-compact":``,className:`relative flex shrink-0 flex-col border-b border-border bg-background`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2 px-2 pt-[max(0.25rem,env(safe-area-inset-top))]`,children:[d,(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col items-center leading-tight`,children:[(0,J.jsxs)(`span`,{className:`flex max-w-full items-center gap-1.5 text-sm font-semibold text-foreground`,children:[n?(0,J.jsx)(P,{tone:`success`,"aria-hidden":`true`}):null,(0,J.jsx)(`span`,{className:`truncate`,children:Yt(r,a)})]}),i?(0,J.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Experimental`}):null]}),u]}),(0,J.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1`,children:[o,s,c,l]}),f]})}function sn({props:e,elements:t,switcher:r,crowded:i,input:a,focusUrlAfterMenu:o}){let{badge:s=!0,stats:c,status:l}=e,{back:u,forward:d,reload:f,address:p,more:m,session:h,progress:g}=t;return(0,J.jsxs)(`div`,{"data-slot":`preview-toolbar`,className:`@container relative flex shrink-0 items-center gap-1.5 border-b border-border bg-background px-2.5 py-2`,children:[h,u,d,f,r?(0,J.jsx)(Qt,{props:e,input:a,focusUrlAfterMenu:o}):null,p,(0,J.jsx)(en,{props:e}),(0,J.jsx)(nn,{props:e}),(0,J.jsx)(rn,{stats:c,status:l,crowded:i}),s?(0,J.jsx)(Pe,{iconOnly:i,responsive:!i}):null,(0,J.jsx)(`span`,{"aria-hidden":`true`,className:`mx-0.5 h-5 w-px shrink-0 bg-border`}),m,(0,J.jsx)(n,{variant:`ghost`,size:`icon-sm`,className:Ht,"aria-label":`Close preview`,onClick:e.onClose,children:(0,J.jsx)(se,{"aria-hidden":`true`})}),g]})}function cn({transport:e,takenOver:t,empty:n,stage:r,hasFrame:i,lost:a,url:o,worktree:s}){let c=a||e!==`blocked`&&t!==void 0;return e===`blocked`?{content:{kind:`state`,state:{stage:`proxy-blocked`}},dim:c}:t===void 0?n||r?.stage===`agent-idle`?{content:{kind:`empty`,agentIdle:!n&&r?.stage===`agent-idle`},dim:c}:r?.stage===`streaming`||r?.stage===`loading`&&i?{content:{kind:`none`},dim:c}:r?{content:{kind:`state`,state:r,url:o,worktree:s},dim:c}:a?{content:{kind:`none`},dim:c}:{content:{kind:`state`,state:{t:`state`,stage:`loading`,step:`browser`},url:o},dim:c}:{content:{kind:`state`,state:{stage:`taken-over`,by:t}},dim:c}}function ln(e,{servers:t,serverStates:n,agentLive:r,openServer:i,openAgent:a,actions:o}){switch(e.kind){case`none`:return null;case`state`:{let{kind:t,...n}=e;return(0,J.jsx)(Be,{...n,actions:o})}case`empty`:return(0,J.jsx)(dt,{servers:t,states:n,onOpen:e=>i(e),agentLive:r===!0,agentIdle:e.agentIdle,onOpenAgent:a})}}function un(){let e=typeof window>`u`?void 0:window.devicePixelRatio;return typeof e==`number`&&e>0?e:1}function dn(){let[e,t]=(0,q.useState)(un);return(0,q.useEffect)(()=>{let n=window.matchMedia?.(`(resolution: ${e}dppx)`);if(!n)return;let r=()=>t(un());return n.addEventListener(`change`,r),()=>n.removeEventListener(`change`,r)},[e]),e}var fn=2e3,pn=500,mn=1e3;function hn(e,t){switch(e.stage){case`needs-approval`:case`port-held`:case`server-starting`:case`server-stalled`:case`server-exited`:case`server-stopped`:return e.server.port===t;case`loading`:case`streaming`:return!0;default:return!1}}function gn(e){navigator.clipboard?.writeText(e).then(()=>u(`Copied`),()=>u(`Couldn't copy to the clipboard`,{tone:`danger`}))}var _n=e=>`http://localhost:${e.port}${e.path&&e.path!==`/`?e.path:``}`;function vn(e,t){return e?.port===void 0?e?.agent===!0||e?.url!==void 0:e.restored!==!0||t.some(t=>t.port===e.port)}function yn(e){return`port`in e?{port:e.port}:`agent`in e?{agent:!0}:{url:e.url}}function bn({run:e,servers:t,request:n,onTarget:r,onLive:i,onClose:a}){let o=dn(),l=(0,q.useRef)(o);l.current=o;let u=s(),d=(0,q.useRef)(crypto.randomUUID()),f=(0,q.useRef)(!1),p=re(),m=ve(ye,!1),[h,g]=(0,q.useState)(0),[_,v]=(0,q.useState)({state:`connecting`,attempt:0}),[y,b]=(0,q.useState)(!1),[ee,x]=(0,q.useState)(void 0),[S,C]=(0,q.useState)(void 0),[w,T]=(0,q.useState)(``),[E,te]=(0,q.useState)(void 0),[ne,D]=(0,q.useState)(!1),[O,k]=(0,q.useState)(void 0),[ie,ae]=(0,q.useState)(!1),[oe,se]=(0,q.useState)(!1),[ce,le]=(0,q.useState)(void 0),[ue,de]=(0,q.useState)(void 0),[fe,pe]=(0,q.useState)(void 0),[me,A]=(0,q.useState)(`fit`),[j,he]=(0,q.useState)(zt),[ge,M]=(0,q.useState)(null),[_e,N]=(0,q.useState)(void 0),[be,P]=(0,q.useState)(0),F=(0,q.useRef)(void 0),xe=(0,q.useRef)(null),Se=(0,q.useRef)(null),I=(0,q.useRef)(void 0),L=(0,q.useRef)(void 0),R=(0,q.useRef)(j);R.current=j;let z=(0,q.useRef)({port:E,stage:S,agent:ne});z.current={port:E,stage:S,agent:ne};let B=(0,q.useRef)([]),Ce=(0,q.useRef)(void 0),we=(0,q.useRef)(!1),V=(0,q.useRef)(!1),H=(0,q.useCallback)(e=>{V.current&&F.current?.send(e)},[]);(0,q.useEffect)(()=>{let t;return t=Ne({projectId:p??`default`,runId:e.id},{onFrame(e){if(!c())return;let n=Date.now();B.current.push({at:n,bytes:e.size}),we.current||(we.current=!0,se(!0)),(xe.current?.draw(e)??Promise.resolve()).finally(()=>t?.send({t:`ack`}))},onMessage(e){switch(e.t){case`state`:if(C(e),(e.stage===`streaming`||e.stage===`loading`)&&P(e=>e+1),L.current!==void 0&&hn(e,L.current)){let n=L.current;L.current=void 0,(e.stage===`needs-approval`||e.stage===`server-exited`||e.stage===`server-stopped`)&&t?.send({t:`run`,port:n})}return;case`url`:return T(e.url);case`cursor`:return le(e.cursor);case`dialog`:return de(e);case`pong`:Ce.current=Math.max(0,Date.now()-e.ts);return;case`downloadProgress`:C(t=>t?.stage===`downloading`?{...t,received:e.received,total:e.total}:t);return;case`replaced`:x(e.by),V.current=!1,t?.close();return}},onTransport(e,n){V.current=e===`open`,v({state:e,attempt:n??0}),e===`open`&&(b(!0),I.current&&(t?.send({t:`open`,target:I.current,viewerId:d.current,resume:f.current,quality:R.current,dpr:l.current}),f.current=!0))}}),F.current=t,()=>{V.current=!1,t?.close(),F.current===t&&(F.current=void 0)}},[p,e.id,h]);let U=u&&_.state===`open`&&ee===void 0,W=m||me===`fit`?ge:me;(0,q.useEffect)(()=>{W&&U&&(S?.stage===`streaming`||S?.stage===`loading`)&&H({t:`resize`,w:W.w,h:W.h,...o===1?{}:{dpr:o}})},[W?.w,W?.h,o,U,S?.stage,be,H]),(0,q.useEffect)(()=>{if(!U)return;let e=setInterval(()=>H({t:`ping`,ts:Date.now()}),fn);return()=>clearInterval(e)},[U,H]);let G=U&&S?.stage===`streaming`;(0,q.useEffect)(()=>{if(!G){pe(void 0);return}let e=setInterval(()=>{let e=Date.now();B.current=B.current.filter(t=>e-t.at<=mn);let t={fps:B.current.length,kbps:Math.round(B.current.reduce((e,t)=>e+t.bytes,0)/1024),...Ce.current===void 0?{}:{rttMs:Ce.current},...B.current.length>0?{lastFrameAt:B.current.at(-1).at}:{}};pe(e=>{let n=t.lastFrameAt??e?.lastFrameAt,r={...t,...n===void 0?{}:{lastFrameAt:n}};return e&&e.fps===r.fps&&e.kbps===r.kbps&&e.rttMs===r.rttMs&&e.lastFrameAt===r.lastFrameAt?e:r})},pn);return()=>clearInterval(e)},[G]),(0,q.useEffect)(()=>(i?.(G),()=>i?.(!1)),[G,i]),(0,q.useEffect)(()=>{O&&r?.(O)},[O,r]);let K=(0,q.useCallback)((e,t,n=!1)=>{I.current=e,L.current=n&&`port`in e?e.port:void 0,ae(!0),C(void 0),x(void 0),N(void 0),T(t),te(`port`in e?e.port:void 0),D(`agent`in e),k(yn(e)),H({t:`open`,target:e,viewerId:d.current,quality:R.current,dpr:l.current}),f.current=V.current},[H]),Te=(0,q.useCallback)((e,n=!1)=>{let r=t.find(t=>t.port===e);K({port:e},r?_n(r):`http://localhost:${e}`,n)},[t,K]),Ee=(0,q.useCallback)(()=>K({agent:!0},``),[K]);(0,q.useEffect)(()=>{if(n?.agent){if(z.current.agent&&z.current.stage?.stage===`streaming`)return;Ee();return}if(n?.url!==void 0){let e=Ie(n.url,t);e.kind===`server`?Te(e.port):e.kind===`url`&&K({url:e.url},e.url);return}n?.port!==void 0&&(n.restored&&!t.some(e=>e.port===n.port)||z.current.port===n.port&&z.current.stage?.stage===`streaming`&&n.run!==!0||Te(n.port,n.run===!0))},[n]);let De=!ie&&!ee&&_.state!==`blocked`,Oe=vn(n,t);(0,q.useEffect)(()=>{De&&!Oe&&Se.current?.focus()},[De,Oe]);let ke=e=>{let n=Ie(e,t);if(n.kind===`error`)return N(n.message);if(n.kind===`server`)return Te(n.port);if(z.current.stage?.stage===`streaming`&&!z.current.agent)return I.current={url:n.url},L.current=void 0,te(void 0),k({url:n.url}),N(void 0),T(n.url),H({t:`nav`,url:n.url});K({url:n.url},n.url)},Ae=(0,q.useCallback)(e=>{R.current=e,he(e),Bt(e),H({t:`quality`,quality:e})},[H]),je=()=>{f.current=!1,x(void 0),v({state:`connecting`,attempt:0}),we.current=!1,g(e=>e+1)};return{compact:m,transport:_,everOpened:y,takenOver:ee,stage:S,url:w,port:E,agent:ne,hasFrame:oe,cursor:ce,dialog:ue,setDialog:de,stats:fe,viewport:me,setViewport:A,quality:j,chooseQuality:Ae,setStageSize:M,addressError:_e,stageHandle:xe,urlInput:Se,send:H,connected:U,streaming:G,openServer:Te,openAgent:Ee,empty:De,navigate:ke,reconnect:je,actions:(0,q.useMemo)(()=>({download:()=>H({t:`download`}),cancelDownload:()=>H({t:`cancelDownload`}),retryBrowser:()=>H({t:`retryBrowser`}),run:e=>H({t:`run`,port:e}),stop:e=>H({t:`stop`,port:e}),keepWaiting:e=>H({t:`keepWaiting`,port:e}),close:a,useHere:je,copy:gn}),[H,a])}}function xn(e){return(0,J.jsx)(he,{onClose:e.onClose,children:(0,J.jsx)(wn,{...e})})}function Sn(e,t,n,r){return e.state===`blocked`?{tone:`neutral`,label:`not supported`}:n?{tone:`neutral`,label:`paused`}:t&&(e.state===`reconnecting`||e.state===`closed`)?{tone:`danger`,label:`offline`}:e.state===`open`?r?Cn(r):void 0:{tone:`neutral`,label:`connecting…`}}function Cn(e){switch(e.stage){case`downloading`:return{tone:`pending`,label:`downloading`};case`download-failed`:return{tone:`danger`,label:`download failed`};case`sandbox-failed`:return{tone:`danger`,label:`browser failed`};case`browser-exited`:return{tone:`danger`,label:e.reason===`timeout`?`browser timed out`:`browser exited`};case`needs-approval`:return{tone:`neutral`,label:`not started`};case`port-held`:return{tone:`danger`,label:`port in use`};case`server-starting`:return{tone:`pending`,label:`waiting for :${e.server.port}`};case`server-stalled`:return{tone:`pending`,label:`waiting · 2 min`};case`server-exited`:return{tone:`danger`,label:`server exited`};case`server-stopped`:return{tone:`neutral`,label:`stopped`};case`agent-idle`:return{tone:`neutral`,label:`agent idle`};case`loading`:return{tone:`neutral`,label:`connecting…`};default:return}}function wn(e){let{run:t,servers:n,serverStates:r,agentLive:i,onSession:a,onClose:o}=e,s=bn(e),{compact:c,transport:l,everOpened:u,takenOver:d,stage:f,url:p,port:m,agent:h,hasFrame:g,stats:_,viewport:v,setViewport:y,quality:b,chooseQuality:ee,addressError:x,urlInput:S,send:C,streaming:w,openServer:T,openAgent:E,empty:te,navigate:ne,actions:re}=s,D=n.find(e=>e.port===m),O=f?.stage===`streaming`&&f.adopted,k=u&&(l.state===`reconnecting`||l.state===`closed`),{content:ie,dim:ae}=cn({transport:l.state,takenOver:d,empty:te,stage:f,hasFrame:g,lost:k,url:p,worktree:t.worktreePath}),oe=ln(ie,{servers:n,serverStates:r,agentLive:i,openServer:T,openAgent:E,actions:re});return(0,J.jsxs)(`section`,{"data-slot":`preview-pane-body`,"aria-label":`Live preview`,className:`flex h-full min-h-0 flex-col bg-background text-foreground`,children:[(0,J.jsx)(Zt,{url:p,servers:n,serverStates:r,badge:l.state!==`blocked`,current:D,agentLive:i===!0,agentShown:h,adopted:O,viewport:c?`fit`:v,quality:b,compact:c,navEnabled:w,loading:f?.stage===`loading`,stats:w?_??{fps:0,kbps:0}:void 0,status:w?void 0:Sn(l,u,d!==void 0,f),urlInputRef:S,onSession:a,onNavigate:ne,onBack:()=>C({t:`back`}),onForward:()=>C({t:`forward`}),onReload:e=>C({t:`reload`,...e?{ignoreCache:!0}:{}}),onPickServer:e=>T(e),onPickAgent:E,onViewport:y,onQuality:ee,onCopyUrl:()=>gn(p),onStop:e=>C({t:`stop`,port:e}),onClose:o}),x?(0,J.jsx)(`p`,{role:`alert`,className:`border-b border-border bg-card px-3 py-1.5 text-xs text-danger`,children:x}):null,(0,J.jsx)(Tn,{transportState:s,overlay:oe,dim:ae,lost:k})]})}function Tn({transportState:e,overlay:t,dim:n,lost:r}){let{connected:i,dialog:a,hasFrame:o,stage:s,stageHandle:c,compact:l,viewport:u,cursor:d,setStageSize:f,send:p,urlInput:m,transport:h,reconnect:g,setDialog:_}=e,v=s?.stage,y=i&&t===null&&!a;return(0,J.jsxs)(Pt,{ref:c,viewport:l?`fit`:u,dimmed:n&&o&&(v===`streaming`||v===`loading`||n),cursor:d,onSize:f,renderInput:e=>y?(0,J.jsx)(Mt,{scale:e.scale,send:p,onLeave:()=>m.current?.focus()}):null,children:[r?(0,J.jsx)(ut,{attempt:h.attempt,exhausted:h.state===`closed`,onReconnect:g}):null,t?(0,J.jsx)(`div`,{"data-slot":`preview-overlay`,className:n&&o?`absolute inset-0 overflow-auto bg-background/85`:`absolute inset-0 overflow-auto bg-background`,children:t}):null,a?(0,J.jsx)(ft,{dialog:a,onResult:e=>{_(void 0),p({t:`dialogResult`,...e})}}):null]})}function En(e){let{visibleEvents:t}=ge(e);return(0,q.useMemo)(()=>{let e=new Map;for(let n of E(t,{activeTurn:!1}).turns)for(let t of n.items)t.kind===`preview-server`&&e.set(t.server.port,t);return e},[t])}function Dn(e){let t=En(e.run.id),n=F(e.run.id);return(0,J.jsx)(xn,{...e,serverStates:t,agentLive:n})}export{Dn as ConnectedPreviewPane};
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{C as t,b as n,h as r,m as i,p as a,w as o}from"./button-BEK7XKhS.js";import{i as s,t as c}from"./react-runtime-CCIEwYL0.js";import{r as l}from"./project-scope-context-DMpvJqIm.js";var u=e(s(),1),d=c(),f=/^\/p\/([^/]+)(?=\/|$)/;function p(e){let t=f.exec(e)?.[1];return t===void 0?null:decodeURIComponent(t)}function m(e){let t=f.exec(e);if(!t)return e;let n=e.slice(t[0].length);return n===``?`/`:n}function h(e,t){return!t.startsWith(`/`)||t===`/p`||t.startsWith(`/p/`)?t:`/p/${encodeURIComponent(e)}${t}`}function g(e,t){return e===null?t:typeof t==`string`?h(e,t):t.pathname===void 0?t:{...t,pathname:h(e,t.pathname)}}function _(){let{projectId:e}=l(),{pathname:n}=t();return e??p(n)}function v(){let e=_();return(0,u.useCallback)(t=>g(e,t),[e])}function y(){let{pathname:e}=t();return(0,u.useMemo)(()=>m(e),[e])}function b(e){let{pathname:r}=t();return(0,u.useMemo)(()=>n(e,m(r)),[e,r])}function x({to:e,...t}){let n=v();return(0,d.jsx)(a,{...t,to:n(e)})}function S({to:e,...t}){let n=v();return(0,d.jsx)(i,{...t,to:n(e)})}function C({to:e,...t}){let n=v();return(0,d.jsx)(r,{...t,to:n(e)})}function w(){let e=o(),t=v();return(0,u.useMemo)(()=>((n,r)=>typeof n==`number`?e(n):e(t(n),r)),[e,t])}export{g as a,w as c,p as i,b as l,S as n,m as o,C as r,_ as s,x as t,y as u};
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{C as t,b as n,h as r,m as i,p as a,w as o}from"./button-CHUAMTHK.js";import{i as s,t as c}from"./react-runtime-CCIEwYL0.js";import{r as l}from"./project-scope-context-CaUqlAd7.js";var u=e(s(),1),d=c(),f=/^\/p\/([^/]+)(?=\/|$)/;function p(e){let t=f.exec(e)?.[1];return t===void 0?null:decodeURIComponent(t)}function m(e){let t=f.exec(e);if(!t)return e;let n=e.slice(t[0].length);return n===``?`/`:n}function h(e,t){return!t.startsWith(`/`)||t===`/p`||t.startsWith(`/p/`)?t:`/p/${encodeURIComponent(e)}${t}`}function g(e,t){return e===null?t:typeof t==`string`?h(e,t):t.pathname===void 0?t:{...t,pathname:h(e,t.pathname)}}function _(){let{projectId:e}=l(),{pathname:n}=t();return e??p(n)}function v(){let e=_();return(0,u.useCallback)(t=>g(e,t),[e])}function y(){let{pathname:e}=t();return(0,u.useMemo)(()=>m(e),[e])}function b(e){let{pathname:r}=t();return(0,u.useMemo)(()=>n(e,m(r)),[e,r])}function x({to:e,...t}){let n=v();return(0,d.jsx)(a,{...t,to:n(e)})}function S({to:e,...t}){let n=v();return(0,d.jsx)(i,{...t,to:n(e)})}function C({to:e,...t}){let n=v();return(0,d.jsx)(r,{...t,to:n(e)})}function w(){let e=o(),t=v();return(0,u.useMemo)(()=>((n,r)=>typeof n==`number`?e(n):e(t(n),r)),[e,t])}export{g as a,w as c,p as i,b as l,S as n,m as o,C as r,_ as s,x as t,y as u};