@open-mercato/cezar 0.16.0 → 0.16.1

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 (109) hide show
  1. package/dist/contract/agent-profiles.d.ts +2 -2
  2. package/dist/contract/index.js +3 -0
  3. package/dist/contract/projects.d.ts +4 -0
  4. package/dist/core/backend-detect.js +10 -0
  5. package/dist/core/backend-detect.js.map +1 -1
  6. package/dist/core/codex-app-server-runner.d.ts +3 -0
  7. package/dist/core/codex-app-server-runner.js +46 -4
  8. package/dist/core/codex-app-server-runner.js.map +1 -1
  9. package/dist/core/cursor-bin.d.ts +7 -0
  10. package/dist/core/cursor-bin.js +11 -0
  11. package/dist/core/cursor-bin.js.map +1 -1
  12. package/dist/core/provider-auth.d.ts +25 -7
  13. package/dist/core/provider-auth.js +141 -17
  14. package/dist/core/provider-auth.js.map +1 -1
  15. package/dist/core/usage-limit.js +51 -6
  16. package/dist/core/usage-limit.js.map +1 -1
  17. package/dist/runs/agent-error-telemetry.d.ts +3 -2
  18. package/dist/runs/agent-error-telemetry.js +24 -3
  19. package/dist/runs/agent-error-telemetry.js.map +1 -1
  20. package/dist/self-update/checkouts.js +8 -4
  21. package/dist/self-update/checkouts.js.map +1 -1
  22. package/dist/server/provider-auth-runtime.js +6 -3
  23. package/dist/server/provider-auth-runtime.js.map +1 -1
  24. package/dist/server/server.d.ts +10 -0
  25. package/dist/server/server.js +12 -3
  26. package/dist/server/server.js.map +1 -1
  27. package/dist/server/terminal/detected-urls.js +6 -1
  28. package/dist/server/terminal/detected-urls.js.map +1 -1
  29. package/dist/workspace/projects.d.ts +2 -0
  30. package/dist/workspace/projects.js.map +1 -1
  31. package/package.json +3 -3
  32. package/web/dist/assets/{agent-task-pickers-DXaIqpJo.js → agent-task-pickers-B5I-IyLy.js} +1 -1
  33. package/web/dist/assets/{alert-dialog-BRafiUQO.js → alert-dialog-DvPnvVvK.js} +1 -1
  34. package/web/dist/assets/arrow-left-BELOeFyX.js +1 -0
  35. package/web/dist/assets/{automation-format-DeGsIrRc.js → automation-format-BL4n19a2.js} +1 -1
  36. package/web/dist/assets/{automations-route-CwLG2JNr.js → automations-route-BXxP0xWu.js} +1 -1
  37. package/web/dist/assets/{button-ZPJ84lSe.js → button-Clwd6u4_.js} +1 -1
  38. package/web/dist/assets/{centered-state-DPvWqO6I.js → centered-state-nM7v9xtl.js} +1 -1
  39. package/web/dist/assets/check-Dt8U0Zvm.js +1 -0
  40. package/web/dist/assets/chevron-left-Df5IsPem.js +1 -0
  41. package/web/dist/assets/chevron-right-VbYrJ_st.js +1 -0
  42. package/web/dist/assets/circle-check-DnEaQ9Rj.js +1 -0
  43. package/web/dist/assets/{collapsible-D5nsq_lY.js → collapsible-Bdyuw-he.js} +1 -1
  44. package/web/dist/assets/{commit-list-Cj_rtptn.js → commit-list-xMdmPYbz.js} +1 -1
  45. package/web/dist/assets/{compare-variants-DI8e5hXy.js → compare-variants-BWaSra3R.js} +1 -1
  46. package/web/dist/assets/{dashboard-Bq8Zgcct.js → dashboard-i4GP_SB1.js} +1 -1
  47. package/web/dist/assets/{diff-Dzk_1Vj_.js → diff-CJKocK17.js} +2 -2
  48. package/web/dist/assets/{diff-stat-CG6Qr4ac.js → diff-stat-CiWUpWY0.js} +1 -1
  49. package/web/dist/assets/{diff-view-CnRMn9fw.js → diff-view-DqWj0yYe.js} +1 -1
  50. package/web/dist/assets/{download-CAIBRPES.js → download-DOJ8Dqfh.js} +1 -1
  51. package/web/dist/assets/{file-BuJHbBa7.js → file-1a6_DhLG.js} +1 -1
  52. package/web/dist/assets/{file-preview-Dy3TYcU4.js → file-preview-iucr8WDo.js} +1 -1
  53. package/web/dist/assets/{file-text-DYR0Kxgo.js → file-text-DmMQx3hx.js} +1 -1
  54. package/web/dist/assets/{git-pull-request-draft-tzNd17hB.js → git-pull-request-draft-Cn24ayXz.js} +1 -1
  55. package/web/dist/assets/git-tab-loading-BfC2ir8N.js +1 -0
  56. package/web/dist/assets/{git-toolbar-Dc6kAzPv.js → git-toolbar-DU5Ca6RI.js} +1 -1
  57. package/web/dist/assets/{github-k0H4K2Xv.js → github-uQ7k7SEK.js} +1 -1
  58. package/web/dist/assets/{host-usage-BmL2kzAM.js → host-usage-DjDYDU0A.js} +1 -1
  59. package/web/dist/assets/{icon-tooltip-BEOrU9g6.js → icon-tooltip-YXzUubMO.js} +1 -1
  60. package/web/dist/assets/{index-B7LeGGi2.js → index-Cse8uyXO.js} +4 -4
  61. package/web/dist/assets/{input-NF_gJ6fV.js → input-DIWTlsx6.js} +1 -1
  62. package/web/dist/assets/{layout-cards-Cx4pRGy3.js → layout-cards-Sur4EWtx.js} +1 -1
  63. package/web/dist/assets/loader-circle-D-ter0qP.js +1 -0
  64. package/web/dist/assets/{markdown-D27e_KDW.js → markdown-BzqT8I8y.js} +1 -1
  65. package/web/dist/assets/{markdown-DUNEzJJg.js → markdown-Rbaca31B.js} +1 -1
  66. package/web/dist/assets/{message-square-DHEW7I0Y.js → message-square-EWpWB_Gr.js} +1 -1
  67. package/web/dist/assets/plus-CBVm02wz.js +1 -0
  68. package/web/dist/assets/{project-router-CIOAbq2D.js → project-router-DZsR9P9C.js} +1 -1
  69. package/web/dist/assets/{queries-B--Cyn_0.js → queries-CI0EmEcH.js} +1 -1
  70. package/web/dist/assets/{reference-chip-C0KB59wJ.js → reference-chip-DnemrSPW.js} +1 -1
  71. package/web/dist/assets/{repo-git-BlEiXMbR.js → repo-git-CxAx2JBB.js} +1 -1
  72. package/web/dist/assets/{run-diff-C_AD_Pms.js → run-diff-BPZ85gAE.js} +1 -1
  73. package/web/dist/assets/{save-Ct323V7q.js → save-B8DEQI2V.js} +1 -1
  74. package/web/dist/assets/{scroll-within-DVYNEANz.js → scroll-within-Cm6fjjNd.js} +1 -1
  75. package/web/dist/assets/{search-x-7tkSEIRx.js → search-x-CuinYQnl.js} +1 -1
  76. package/web/dist/assets/{settings-2-CmkgM6rX.js → settings-2-COky68xN.js} +1 -1
  77. package/web/dist/assets/{skills-DKqFJCnx.js → skills-B1z9gRg4.js} +1 -1
  78. package/web/dist/assets/{square-Du4NO0cr.js → square-8OFxLPoA.js} +1 -1
  79. package/web/dist/assets/{tabs-BhcbXPq1.js → tabs-BUk8rSoE.js} +1 -1
  80. package/web/dist/assets/{tag-DczwHOyX.js → tag-yruQH0i-.js} +1 -1
  81. package/web/dist/assets/{task-commits-DtSkB1UU.js → task-commits-W1ZZiEt4.js} +1 -1
  82. package/web/dist/assets/{task-graph-DalcExDj.js → task-graph-fkOtF8MX.js} +1 -1
  83. package/web/dist/assets/{task-notes-BHYduZ1z.js → task-notes-lmvd1UM7.js} +1 -1
  84. package/web/dist/assets/{task-workspace-LhAGqT6q.js → task-workspace-DA3mFwL9.js} +3 -3
  85. package/web/dist/assets/{terminal-tordSBUt.js → terminal-F3ZJ5fI8.js} +1 -1
  86. package/web/dist/assets/{terminal-drawer-Cvbqz2QG.js → terminal-drawer-DAkquqSe.js} +2 -2
  87. package/web/dist/assets/{textarea-Dy9f469S.js → textarea-ewNKsXDa.js} +1 -1
  88. package/web/dist/assets/{token-metrics-edH1Iifj.js → token-metrics-Dk2ZNHb_.js} +1 -1
  89. package/web/dist/assets/{tooltip-tycRJnh-.js → tooltip-B628Gs7C.js} +1 -1
  90. package/web/dist/assets/{tracker-BNqQ5hFE.js → tracker-wxG0l2wk.js} +1 -1
  91. package/web/dist/assets/{triangle-alert-BDB8QKSV.js → triangle-alert-BqI_9MkV.js} +1 -1
  92. package/web/dist/assets/{upload-H7_s70Ro.js → upload-J0hBTVF7.js} +1 -1
  93. package/web/dist/assets/{use-automations-7Eect_3d.js → use-automations-v77gHYDG.js} +1 -1
  94. package/web/dist/assets/{use-now-DUGH_55J.js → use-now-pBdvhv13.js} +1 -1
  95. package/web/dist/assets/{use-submit-shortcut-D4G7Y1CV.js → use-submit-shortcut-hAaAH4HY.js} +1 -1
  96. package/web/dist/assets/{workflow-graph-4GB6HfLn.js → workflow-graph-Bo72pTbt.js} +1 -1
  97. package/web/dist/assets/worktree-lifecycle-operation-DOTiqQFx.js +18 -0
  98. package/web/dist/assets/x-DMIsmLBt.js +1 -0
  99. package/web/dist/index.html +37 -37
  100. package/web/dist/assets/arrow-left-BfLRAgF_.js +0 -1
  101. package/web/dist/assets/check-Blje0ysd.js +0 -1
  102. package/web/dist/assets/chevron-left-CwNUPSrV.js +0 -1
  103. package/web/dist/assets/chevron-right-dAzuginM.js +0 -1
  104. package/web/dist/assets/circle-check-B_-oU6Lf.js +0 -1
  105. package/web/dist/assets/git-tab-loading-BL6wGQi_.js +0 -1
  106. package/web/dist/assets/loader-circle-i7B5PoZa.js +0 -1
  107. package/web/dist/assets/plus-CUeDPNAL.js +0 -1
  108. package/web/dist/assets/worktree-lifecycle-operation-C6S6Hgiq.js +0 -18
  109. package/web/dist/assets/x-PavsP4k3.js +0 -1
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/terminal-drawer-Cvbqz2QG.js","assets/rolldown-runtime-QTnfLwEv.js","assets/react-runtime-CCIEwYL0.js","assets/queries-B--Cyn_0.js","assets/button-ZPJ84lSe.js","assets/bundle-mjs-BT31bpU6.js","assets/host-usage-BmL2kzAM.js","assets/use-desktop-BNN3U2y9.js","assets/tooltip-tycRJnh-.js","assets/icon-tooltip-BEOrU9g6.js","assets/terminal-tordSBUt.js","assets/loader-circle-i7B5PoZa.js","assets/square-Du4NO0cr.js","assets/plus-CUeDPNAL.js","assets/x-PavsP4k3.js","assets/alert-dialog-BRafiUQO.js","assets/tabs-BhcbXPq1.js","assets/input-NF_gJ6fV.js","assets/drawer-state-DasOAIpO.js","assets/terminal-drawer-BrP-ENHg.css","assets/task-graph-DalcExDj.js","assets/project-router-CIOAbq2D.js","assets/git-tab-loading-BL6wGQi_.js","assets/reference-chip-C0KB59wJ.js","assets/circle-check-B_-oU6Lf.js","assets/triangle-alert-BDB8QKSV.js","assets/git-pull-request-draft-tzNd17hB.js","assets/token-metrics-edH1Iifj.js","assets/textarea-Dy9f469S.js","assets/check-Blje0ysd.js","assets/git-toolbar-Dc6kAzPv.js","assets/upload-H7_s70Ro.js","assets/diff-stat-CG6Qr4ac.js","assets/use-submit-shortcut-D4G7Y1CV.js","assets/search-x-7tkSEIRx.js","assets/collapsible-D5nsq_lY.js","assets/centered-state-DPvWqO6I.js","assets/workflow-graph-4GB6HfLn.js","assets/download-CAIBRPES.js","assets/settings-2-CmkgM6rX.js","assets/message-square-DHEW7I0Y.js","assets/save-Ct323V7q.js","assets/tag-DczwHOyX.js","assets/index-B7LeGGi2.js","assets/use-automations-7Eect_3d.js","assets/use-now-DUGH_55J.js","assets/arrow-left-BfLRAgF_.js","assets/worktree-lifecycle-operation-C6S6Hgiq.js","assets/file-BuJHbBa7.js","assets/chevron-right-dAzuginM.js","assets/markdown-DUNEzJJg.js","assets/chunk-BO2N2NFS-MDrqQfMl.js","assets/lib-BxQXEXDF.js","assets/index-BCATUrmu.css","assets/workflow-graph-DLioOiRN.css"])))=>i.map(i=>d[i]);
2
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CCIEwYL0.js";import{Br as r,Ci as i,Ct as a,F as o,Gr as s,Hr as c,In as l,Ji as u,Jr as d,K as f,Nt as p,Qt as m,Ri as h,Rn as g,Rr as _,Sa as v,Ur as y,V as b,Vr as x,Wi as S,Wr as C,Xt as w,Yn as T,_t as E,a as D,aa as O,b as k,ba as A,ft as j,h as M,ha as N,hr as P,ii as F,it as I,j as ee,jt as L,mn as R,mr as z,na as B,nr as te,oi as ne,pn as re,pt as ie,r as V,rt as H,u as U,ur as ae,va as oe,vi as se,vt as ce,wt as le,x as ue,ya as W,yi as de,z as fe,zr as pe}from"./queries-B--Cyn_0.js";import{B as me,Ct as he,F as G,i as ge,jt as _e,r as K,t as q}from"./button-ZPJ84lSe.js";import{i as ve}from"./bundle-mjs-BT31bpU6.js";import{C as ye,T as be,c as xe,f as J,m as Se,s as Ce,t as Y,w as we,x as Te}from"./project-router-CIOAbq2D.js";import{_ as Ee,f as De,g as Oe,h as ke,m as Ae,p as je,s as Me,v as Ne,y as Pe}from"./reference-chip-C0KB59wJ.js";import{a as Fe,b as Ie,i as Le,n as Re,o as ze,s as Be,v as Ve,y as He}from"./use-now-DUGH_55J.js";import{t as Ue}from"./use-desktop-BNN3U2y9.js";import{A as We,An as Ge,B as Ke,Cn as qe,Ct as Je,D as Ye,En as Xe,Et as Ze,G as Qe,Gt as $e,H as et,I as tt,J as nt,Jt as rt,K as it,Kt as at,On as ot,St as st,T as ct,Tt as lt,U as ut,Ut as dt,V as ft,W as pt,Wt as mt,X as ht,Z as gt,Zt as _t,_ as vt,_t as yt,at as bt,bn as xt,bt as St,ct as Ct,dn as wt,dt as Tt,et as Et,fn as Dt,ft as Ot,g as kt,gt as At,ht as jt,it as Mt,jn as Nt,jt as Pt,k as Ft,l as It,lt as Lt,mt as Rt,n as zt,nt as Bt,ot as Vt,pt as Ht,q as Ut,qt as Wt,r as Gt,rt as Kt,st as qt,tn as Jt,tt as Yt,u as Xt,ut as Zt,v as Qt,vt as $t,wn as en,wt as tn,xn as nn,xt as rn,yn as an,yt as on,z as sn}from"./git-tab-loading-BL6wGQi_.js";import{c as cn,i as ln,l as un,n as dn,o as fn,r as pn,s as mn,t as hn,u as gn}from"./file-preview-Dy3TYcU4.js";import{t as _n}from"./arrow-left-BfLRAgF_.js";import{C as vn,E as yn,G as bn,O as xn,U as Sn,W as Cn,i as wn,m as Tn,n as En,p as Dn,r as On,x as kn,y as An}from"./worktree-lifecycle-operation-C6S6Hgiq.js";import{t as jn}from"./file-BuJHbBa7.js";import{a as Mn,i as Nn,r as Pn,t as Fn}from"./textarea-Dy9f469S.js";import{t as In}from"./check-Blje0ysd.js";import{f as Ln,i as Rn,n as zn,r as Bn,t as Vn}from"./tooltip-tycRJnh-.js";import{t as Hn}from"./chevron-right-dAzuginM.js";import{t as Un}from"./circle-check-B_-oU6Lf.js";import{a as Wn,c as Gn,i as Kn,n as qn,r as Jn,t as Yn,u as Xn}from"./icon-tooltip-BEOrU9g6.js";import{n as Zn,t as Qn}from"./terminal-tordSBUt.js";import{a as $n,f as er,l as tr,m as nr,p as rr,r as ir}from"./git-toolbar-Dc6kAzPv.js";import{t as ar}from"./file-text-DYR0Kxgo.js";import{n as or}from"./upload-H7_s70Ro.js";import{n as sr,t as cr}from"./triangle-alert-BDB8QKSV.js";import{t as lr}from"./loader-circle-i7B5PoZa.js";import{t as ur}from"./message-square-DHEW7I0Y.js";import{r as dr,t as fr}from"./use-submit-shortcut-D4G7Y1CV.js";import{n as pr}from"./square-Du4NO0cr.js";import{t as mr}from"./plus-CUeDPNAL.js";import{t as hr}from"./search-x-7tkSEIRx.js";import{t as gr}from"./x-PavsP4k3.js";import{n as _r,r as vr,t as yr}from"./collapsible-D5nsq_lY.js";import{a as br,c as xr,i as Sr,n as Cr,o as wr,r as Tr,s as Er,t as Dr}from"./alert-dialog-BRafiUQO.js";import{i as Or,r as kr,t as Ar}from"./tabs-BhcbXPq1.js";import{t as jr}from"./input-NF_gJ6fV.js";import{i as Mr}from"./token-metrics-edH1Iifj.js";import{n as Nr,r as Pr}from"./drawer-state-DasOAIpO.js";import{n as Fr,t as Ir}from"./centered-state-DPvWqO6I.js";import{t as Lr}from"./markdown-DUNEzJJg.js";import{a as Rr,o as zr}from"./scroll-within-DVYNEANz.js";import{t as Br}from"./markdown-D27e_KDW.js";import{n as Vr,t as Hr}from"./types-BTlmexWF.js";import{t as Ur}from"./run-diff-C_AD_Pms.js";import{t as Wr}from"./diff-Dzk_1Vj_.js";import{i as Gr,r as Kr,t as qr}from"./task-commits-DtSkB1UU.js";import{n as Jr,t as Yr}from"./layout-cards-Cx4pRGy3.js";var Xr=120;function Zr(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Qr(e){let t=e.replace(/\s+/g,` `).trim();return t.length>Xr?`${t.slice(0,Xr-1)}…`:t}function X(e,...t){if(Zr(e))for(let n of t){let t=e[n];if(typeof t==`string`&&t.trim()!==``)return Qr(t)}}function $r(e){if(!Zr(e))return;let t=e.command;if(typeof t==`string`&&t.trim()!==``)return Qr(t);if(Array.isArray(t)){let e=t.filter(e=>typeof e==`string`);if(e.length>0)return Qr(e.join(` `))}}function ei(e){if(!Zr(e)||!Array.isArray(e.changes))return[];let t=[];for(let n of e.changes)Zr(n)&&typeof n.path==`string`&&n.path.trim()!==``&&t.push(n.path);return t}function ti(e){return X(e,`description`,`query`,`url`,`filePath`,`file_path`,`path`,`pattern`,`name`)}function ni(e,t){return t?`${e} ${t}`:e}function ri(e,t){let n=typeof e==`string`?e.toLowerCase():``;switch(n){case`bash`:case`commandexecution`:return{toolKind:`execute`,title:ni(`Ran`,$r(t)),subtitle:X(t,`description`)};case`edit`:case`multiedit`:return{toolKind:`edit`,title:ni(`Edit`,X(t,`file_path`,`filePath`,`path`))};case`write`:return{toolKind:`edit`,title:ni(`Write`,X(t,`file_path`,`filePath`,`path`))};case`notebookedit`:return{toolKind:`edit`,title:ni(`Edit`,X(t,`notebook_path`,`notebookPath`,`file_path`,`filePath`,`path`))};case`filechange`:{let e=ei(t);return{toolKind:`edit`,title:ni(`Edit`,e.length===1?e[0]:e.length>1?`${e.length} files`:void 0)}}case`read`:return{toolKind:`read`,title:ni(`Read`,X(t,`file_path`,`filePath`,`path`))};case`imageview`:return{toolKind:`read`,title:ni(`View image`,X(t,`path`))};case`glob`:case`grep`:return{toolKind:`search`,title:ni(`Search`,X(t,`pattern`,`query`)),subtitle:X(t,`path`)};case`webfetch`:return{toolKind:`fetch`,title:ni(`Fetch`,X(t,`url`))};case`websearch`:return{toolKind:`fetch`,title:ni(`Web search`,X(t,`query`))};case`task`:case`agent`:{let e=n===`agent`?`Agent`:`Task`,r=X(t,`subagent_type`,`subagentType`),i=X(t,`description`,`prompt`)??r;return{toolKind:`task`,title:i?`${e}: ${i}`:e,subtitle:i===r?void 0:r}}case`skill`:{let e=X(t,`skill`,`name`,`command`);return{toolKind:`skill`,title:e?`Skill: ${e}`:`Skill`,subtitle:X(t,`args`,`description`)}}case`todowrite`:case`todolist`:case`plan`:case`taskcreate`:case`taskupdate`:case`tasklist`:return{toolKind:`plan`,title:`Update plan`};case`contextcompaction`:return{toolKind:`other`,title:`Compacted context`};case`mcptoolcall`:{let e=X(t,`server`),n=X(t,`tool`);return e&&n?{toolKind:`other`,title:`${e}.${n}`}:{toolKind:`other`,title:`MCP tool`,subtitle:ti(t)}}}if(n.startsWith(`mcp__`)){let t=e.split(`__`).filter(e=>e!==``);if(t.length>=3)return{toolKind:`other`,title:`${t[1]}.${t.slice(2).join(`__`)}`}}return{toolKind:`other`,title:typeof e==`string`&&e.trim()!==``?Qr(e):`Tool`,subtitle:ti(t)}}var ii=G(`brain`,[[`path`,{d:`M12 18V5`,key:`adv99a`}],[`path`,{d:`M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4`,key:`1e3is1`}],[`path`,{d:`M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5`,key:`1gqd8o`}],[`path`,{d:`M17.997 5.125a4 4 0 0 1 2.526 5.77`,key:`iwvgf7`}],[`path`,{d:`M18 18a4 4 0 0 0 2-7.464`,key:`efp6ie`}],[`path`,{d:`M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517`,key:`1gq6am`}],[`path`,{d:`M6 18a4 4 0 0 1-2-7.464`,key:`k1g0md`}],[`path`,{d:`M6.003 5.125a4 4 0 0 0-2.526 5.77`,key:`q97ue3`}]]),ai=G(`corner-up-left`,[[`path`,{d:`M20 20v-7a4 4 0 0 0-4-4H4`,key:`1nkjon`}],[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}]]),oi=G(`folder-input`,[[`path`,{d:`M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1`,key:`fm4g5t`}],[`path`,{d:`M2 13h10`,key:`pgb2dq`}],[`path`,{d:`m9 16 3-3-3-3`,key:`6m91ic`}]]),si=G(`list-todo`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`rect`,{x:`3`,y:`4`,width:`6`,height:`6`,rx:`1`,key:`cif1o7`}]]),ci=G(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),li=G(`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`}]]),ui=G(`square-pen`,[[`path`,{d:`M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`,key:`1m0v6g`}],[`path`,{d:`M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z`,key:`ohrbg2`}]]),Z=e(t(),1);function di(e,t,n){let[r,i]=(0,Z.useState)({key:n,value:e}),a=(0,Z.useRef)(e);a.current=e;let o=(0,Z.useRef)(n);o.current=n;let s=(0,Z.useRef)(0),c=(0,Z.useRef)(void 0),l=(0,Z.useRef)(!1),u=!Object.is(r.value,e);return r.key===n?u&&c.current===void 0&&Date.now()-s.current>=t&&i({key:n,value:e}):i({key:n,value:e}),(0,Z.useEffect)(()=>{if(!l.current){l.current=!0;return}clearTimeout(c.current),c.current=void 0,s.current=Date.now()},[r]),(0,Z.useEffect)(()=>{if(Object.is(r.value,e)||c.current!==void 0)return;let n=Math.max(0,s.current+t-Date.now());c.current=setTimeout(()=>{c.current=void 0,s.current=Date.now(),i({key:o.current,value:a.current})},n)},[r,e,t]),(0,Z.useEffect)(()=>()=>clearTimeout(c.current),[]),r.value}var fi=5,pi=120,mi=200,hi=5e3,gi=15e3,_i=[];function vi(...e){let t=new Map;for(let n of e)for(let e of n)t.set(e.seq,e);return[...t.values()].sort((e,t)=>e.seq-t.seq)}function yi(e){let t=-1/0;for(let n of e){if(n.seq<=t)return!1;t=n.seq}return!0}function bi(e){for(let t=e.length-1;t>=0;--t)if(e[t].newerCursor===void 0)return e[t]}function xi(...e){if(!e.every(yi))return vi(...e);let t=e.map(()=>0),n=[];for(;;){let r=1/0;for(let n=0;n<e.length;n+=1){let i=e[n][t[n]];i!==void 0&&i.seq<r&&(r=i.seq)}if(r===1/0)return n;let i;for(let n=0;n<e.length;n+=1){let a=e[n][t[n]];a?.seq===r&&(i=a,t[n]=t[n]+1)}i!==void 0&&n.push(i)}}function Si(e,t,n=-1/0){let r=new Set(t.map(({seq:e})=>e)),i=new Map;for(let e of t){if(e.type!==`item.updated`&&e.type!==`item.completed`)continue;let t=Ve(e);t!==void 0&&i.set(t,Math.max(i.get(t)??-1/0,e.seq))}return e.filter(e=>{if(r.has(e.seq)||e.seq<=n&&e.type!==`item.delta`&&e.type!==`item.updated`)return!0;if(e.type!==`item.delta`&&e.type!==`item.updated`)return!1;let t=i.get(Ve(e)??``);return t!==void 0&&t>e.seq}).map(({seq:e})=>e)}function Ci(e,t){if(t.length===0)return e.slice();let n=e.at(-1)?.seq??-1/0,r=-1/0;for(let n of t){if(n.seq<=r)return vi(e,t);r=n.seq}return e.length===0||t[0].seq>n?[...e,...t]:xi(e,t)}function wi(e){let t=me(),n=v(),i=[`run-history`,t,e],a=[`run-history-context`,t,e],o=[`run-history-tail`,t,e],s=oe({queryKey:i,enabled:e!==void 0,initialPageParam:void 0,queryFn:({pageParam:t,signal:n})=>r(e,t,{signal:n}),getPreviousPageParam:e=>e.olderCursor,getNextPageParam:e=>e.newerCursor,maxPages:fi,retry:1}),c=A({queryKey:a,enabled:e!==void 0,queryFn:({signal:t})=>x(e,{signal:t}),retry:1}),l=s.isError&&s.data===void 0&&!s.isFetchPreviousPageError&&!s.isFetchNextPageError&&!s.isRefetchError,u=c.isError&&c.data===void 0&&!c.isRefetchError,d=s.data?.pages??[],f=(0,Z.useRef)(void 0),p=`${t}\0${e??``}`,m=(0,Z.useRef)({key:p,fallbackLatched:!1}),h=(0,Z.useRef)(Promise.resolve()),g=(0,Z.useRef)(0);m.current.key!==p&&(m.current={key:p,fallbackLatched:!1},h.current=Promise.resolve(),g.current+=1,f.current=void 0),(l||u)&&(m.current.fallbackLatched=!0);let _=m.current.fallbackLatched,y=(0,Z.useCallback)(e=>{let t=h.current,n;return h.current=new Promise(e=>{n=e}),t.then(e).finally(n)},[]),b=bi(d),S=d.length>0?n.getQueryData(o):void 0;b&&(!f.current||b.asOfSeq>=f.current.asOfSeq)?f.current=b:S&&(!f.current||S.asOfSeq>=f.current.asOfSeq)&&(f.current=S);let C=f.current??b??S??(d.length>0?d.at(-1):void 0),w=(0,Z.useRef)(void 0),T=(0,Z.useCallback)(async t=>{if(e===void 0||w.current===p)return!1;w.current=p;let a=g.current,s=new AbortController,c;try{let l=await Promise.race([r(e,void 0,{signal:s.signal}),new Promise((e,t)=>{c=setTimeout(()=>{s.abort(),t(Error(`history compaction timed out`))},gi)})]);if(m.current.key!==p||g.current!==a)return!1;let u=n.getQueryData(i),d=bi(u?.pages??[]),h=n.getQueryData(o);if(Math.max(d?.asOfSeq??-1/0,h?.asOfSeq??-1/0,f.current?.asOfSeq??-1/0)>=l.asOfSeq)return!1;let _=u?(()=>{let e=[...u.pages],t=[...u.pageParams],n=d?e.indexOf(d):-1;for(n>=0?(e[n]=l,t[n]=void 0):(e.push(l),t.push(void 0));e.length>fi;)e.shift(),t.shift();return{pages:e,pageParams:t}})():{pages:[l],pageParams:[void 0]};return n.setQueryData(i,_),n.setQueryData(o,l),f.current=l,Si(t,_.pages.flatMap(e=>e.events),l.asOfSeq)}catch{return!1}finally{clearTimeout(c),s.abort(),w.current===p&&(w.current=void 0)}},[i,p,n,e,o]),E=Ie(C&&!_?e:void 0,C?{cursor:C.liveCursor,afterSeq:C.asOfSeq,compactWhenOver:hi,compactAt:mi,onCompact:T}:{}),D=Ie(_?e:void 0),O=di(E,pi,e),k=di(D,pi,e),j=(0,Z.useRef)({runId:void 0,scope:t,events:[]});(j.current.runId!==e||j.current.scope!==t)&&(j.current={runId:e,scope:t,events:[]}),_||(j.current.events=O);let M=_?j.current.events:_i,N=(0,Z.useMemo)(()=>{let e=d.map(e=>e.events);return C!==void 0&&!d.includes(C)&&e.push(C.events),vi(...e)},[C,d]);(0,Z.useEffect)(()=>{let e=bi(d);e&&n.setQueryData(o,e)},[d,n,e,t]);let P=(0,Z.useMemo)(()=>_?xi(N,M,k):Ci(N,O),[_,k,M,O,N]),F=(0,Z.useMemo)(()=>{if(_)return P;let e=c.data?.contextEvents??[],t=c.data?.asOfSeq??0;return xi(e,P.filter(({seq:e})=>e>t),O.filter(({seq:e})=>e<=t))},[c.data,_,O,P]),I=(0,Z.useCallback)(async()=>{let e=p,t=g.current,r=bi(n.getQueryData(i)?.pages??[]);r&&n.setQueryData(o,r);try{await y(()=>s.fetchPreviousPage())}finally{if(m.current.key!==e||g.current!==t)return;let r=f.current;if(!r)return;n.setQueryData(i,e=>{if(!e)return e;let t=bi(e.pages),n=t?e.pages.indexOf(t):-1;if(n<0||e.pages[n].asOfSeq>=r.asOfSeq)return e;let i=[...e.pages];return i[n]=r,{...e,pages:i}})}},[y,s.fetchPreviousPage,i,n,o]),ee=(0,Z.useCallback)(async()=>{g.current+=1,h.current=Promise.resolve();let e=e=>f.current??bi(e)??n.getQueryData(o),t=n.getQueryData(i);if(!e(t?.pages??[])){f.current=void 0,n.removeQueries({queryKey:o,exact:!0}),n.resetQueries({queryKey:i,exact:!0});return}if(t?.pages.length===1&&t.pages[0]===e(t.pages)&&!s.isFetchingPreviousPage)return;await n.cancelQueries({queryKey:i,exact:!0});let r=e(n.getQueryData(i)?.pages??[]);r&&(n.setQueryData(i,{pages:[r],pageParams:[void 0]}),n.setQueryData(o,r),f.current=r)},[s.isFetchingPreviousPage,i,n,o]);return{visibleEvents:P,currentEvents:F,isPending:!_&&s.isPending,contextPending:!_&&c.isPending,fallback:_,hasOlder:!_&&!!s.hasPreviousPage,isFetchingOlder:s.isFetchingPreviousPage,olderError:s.isFetchPreviousPageError?s.error instanceof Error?s.error.message:`Could not load earlier items`:void 0,loadOlder:I,jumpToLatest:ee,retainedPages:d.length}}var Ti=`design-picks`,Ei=1e5,Di=(e,t)=>typeof e==`string`?e.slice(0,t):``,Oi=e=>typeof e==`number`&&Number.isFinite(e)?Math.round(e):0;function ki(e){if(typeof e!=`object`||!e)return null;let t=e,n=Di(t.selector,400),r=Di(t.tag,40);if(n===``||r===``)return null;let i=t.rect??{},a=t.viewport??{},o={};if(t.styles!==null&&typeof t.styles==`object`)for(let[e,n]of Object.entries(t.styles).slice(0,30))typeof n==`string`&&/^[a-z-]{1,40}$/.test(e)&&(o[e]=n.slice(0,160));return{url:Di(t.url,2e3),selector:n,tag:r,text:Di(t.text,200),html:Di(t.html,1600),styles:o,rect:{x:Oi(i.x),y:Oi(i.y),width:Oi(i.width),height:Oi(i.height)},viewport:{width:Oi(a.width),height:Oi(a.height)},components:Array.isArray(t.components)?t.components.filter(e=>typeof e==`string`).slice(0,6).map(e=>e.slice(0,80)):[],source:Di(t.source,300),...typeof t.mark==`string`&&/^[a-z0-9-]{1,24}$/.test(t.mark)?{mark:t.mark}:{}}}function Ai(e){let t=e.selector.split(` > `).at(-1)??e.tag;return e.components[0]?`${e.components[0]} · ${t}`:t}var ji=`Elements selected in the app preview:`;function Mi(e,t){let n=Math.max(0,...(e.match(/`+/g)??[]).map(e=>e.length)),r="`".repeat(Math.max(3,n+1));return`${r}${t}\n${e}\n${r}`}var Ni=e=>e.split(`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/terminal-drawer-DAkquqSe.js","assets/rolldown-runtime-QTnfLwEv.js","assets/react-runtime-CCIEwYL0.js","assets/queries-CI0EmEcH.js","assets/button-Clwd6u4_.js","assets/bundle-mjs-BT31bpU6.js","assets/host-usage-DjDYDU0A.js","assets/use-desktop-BNN3U2y9.js","assets/tooltip-B628Gs7C.js","assets/icon-tooltip-YXzUubMO.js","assets/terminal-F3ZJ5fI8.js","assets/loader-circle-D-ter0qP.js","assets/square-8OFxLPoA.js","assets/plus-CBVm02wz.js","assets/x-DMIsmLBt.js","assets/alert-dialog-DvPnvVvK.js","assets/tabs-BUk8rSoE.js","assets/input-DIWTlsx6.js","assets/drawer-state-DasOAIpO.js","assets/terminal-drawer-BrP-ENHg.css","assets/task-graph-fkOtF8MX.js","assets/project-router-DZsR9P9C.js","assets/git-tab-loading-BfC2ir8N.js","assets/reference-chip-DnemrSPW.js","assets/circle-check-DnEaQ9Rj.js","assets/triangle-alert-BqI_9MkV.js","assets/git-pull-request-draft-Cn24ayXz.js","assets/token-metrics-Dk2ZNHb_.js","assets/textarea-ewNKsXDa.js","assets/check-Dt8U0Zvm.js","assets/git-toolbar-DU5Ca6RI.js","assets/upload-J0hBTVF7.js","assets/diff-stat-CiWUpWY0.js","assets/use-submit-shortcut-hAaAH4HY.js","assets/search-x-CuinYQnl.js","assets/collapsible-Bdyuw-he.js","assets/centered-state-nM7v9xtl.js","assets/workflow-graph-Bo72pTbt.js","assets/download-DOJ8Dqfh.js","assets/settings-2-COky68xN.js","assets/message-square-EWpWB_Gr.js","assets/save-B8DEQI2V.js","assets/tag-yruQH0i-.js","assets/index-Cse8uyXO.js","assets/use-automations-v77gHYDG.js","assets/use-now-pBdvhv13.js","assets/arrow-left-BELOeFyX.js","assets/worktree-lifecycle-operation-DOTiqQFx.js","assets/file-1a6_DhLG.js","assets/chevron-right-VbYrJ_st.js","assets/markdown-Rbaca31B.js","assets/chunk-BO2N2NFS-MDrqQfMl.js","assets/lib-BxQXEXDF.js","assets/index-BCATUrmu.css","assets/workflow-graph-DLioOiRN.css"])))=>i.map(i=>d[i]);
2
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CCIEwYL0.js";import{Br as r,Ci as i,Ct as a,F as o,Gr as s,Hr as c,In as l,Ji as u,Jr as d,K as f,Nt as p,Qt as m,Ri as h,Rn as g,Rr as _,Sa as v,Ur as y,V as b,Vr as x,Wi as S,Wr as C,Xt as w,Yn as T,_t as E,a as D,aa as O,b as k,ba as A,ft as j,h as M,ha as N,hr as P,ii as F,it as I,j as ee,jt as L,mn as R,mr as z,na as B,nr as te,oi as ne,pn as re,pt as ie,r as V,rt as H,u as U,ur as ae,va as oe,vi as se,vt as ce,wt as le,x as ue,ya as W,yi as de,z as fe,zr as pe}from"./queries-CI0EmEcH.js";import{B as me,Ct as he,F as G,i as ge,jt as _e,r as K,t as q}from"./button-Clwd6u4_.js";import{i as ve}from"./bundle-mjs-BT31bpU6.js";import{C as ye,T as be,c as xe,f as J,m as Se,s as Ce,t as Y,w as we,x as Te}from"./project-router-DZsR9P9C.js";import{_ as Ee,f as De,g as Oe,h as ke,m as Ae,p as je,s as Me,v as Ne,y as Pe}from"./reference-chip-DnemrSPW.js";import{a as Fe,b as Ie,i as Le,n as Re,o as ze,s as Be,v as Ve,y as He}from"./use-now-pBdvhv13.js";import{t as Ue}from"./use-desktop-BNN3U2y9.js";import{A as We,An as Ge,B as Ke,Cn as qe,Ct as Je,D as Ye,En as Xe,Et as Ze,G as Qe,Gt as $e,H as et,I as tt,J as nt,Jt as rt,K as it,Kt as at,On as ot,St as st,T as ct,Tt as lt,U as ut,Ut as dt,V as ft,W as pt,Wt as mt,X as ht,Z as gt,Zt as _t,_ as vt,_t as yt,at as bt,bn as xt,bt as St,ct as Ct,dn as wt,dt as Tt,et as Et,fn as Dt,ft as Ot,g as kt,gt as At,ht as jt,it as Mt,jn as Nt,jt as Pt,k as Ft,l as It,lt as Lt,mt as Rt,n as zt,nt as Bt,ot as Vt,pt as Ht,q as Ut,qt as Wt,r as Gt,rt as Kt,st as qt,tn as Jt,tt as Yt,u as Xt,ut as Zt,v as Qt,vt as $t,wn as en,wt as tn,xn as nn,xt as rn,yn as an,yt as on,z as sn}from"./git-tab-loading-BfC2ir8N.js";import{c as cn,i as ln,l as un,n as dn,o as fn,r as pn,s as mn,t as hn,u as gn}from"./file-preview-iucr8WDo.js";import{t as _n}from"./arrow-left-BELOeFyX.js";import{C as vn,E as yn,G as bn,O as xn,U as Sn,W as Cn,i as wn,m as Tn,n as En,p as Dn,r as On,x as kn,y as An}from"./worktree-lifecycle-operation-DOTiqQFx.js";import{t as jn}from"./file-1a6_DhLG.js";import{a as Mn,i as Nn,r as Pn,t as Fn}from"./textarea-ewNKsXDa.js";import{t as In}from"./check-Dt8U0Zvm.js";import{f as Ln,i as Rn,n as zn,r as Bn,t as Vn}from"./tooltip-B628Gs7C.js";import{t as Hn}from"./chevron-right-VbYrJ_st.js";import{t as Un}from"./circle-check-DnEaQ9Rj.js";import{a as Wn,c as Gn,i as Kn,n as qn,r as Jn,t as Yn,u as Xn}from"./icon-tooltip-YXzUubMO.js";import{n as Zn,t as Qn}from"./terminal-F3ZJ5fI8.js";import{a as $n,f as er,l as tr,m as nr,p as rr,r as ir}from"./git-toolbar-DU5Ca6RI.js";import{t as ar}from"./file-text-DmMQx3hx.js";import{n as or}from"./upload-J0hBTVF7.js";import{n as sr,t as cr}from"./triangle-alert-BqI_9MkV.js";import{t as lr}from"./loader-circle-D-ter0qP.js";import{t as ur}from"./message-square-EWpWB_Gr.js";import{r as dr,t as fr}from"./use-submit-shortcut-hAaAH4HY.js";import{n as pr}from"./square-8OFxLPoA.js";import{t as mr}from"./plus-CBVm02wz.js";import{t as hr}from"./search-x-CuinYQnl.js";import{t as gr}from"./x-DMIsmLBt.js";import{n as _r,r as vr,t as yr}from"./collapsible-Bdyuw-he.js";import{a as br,c as xr,i as Sr,n as Cr,o as wr,r as Tr,s as Er,t as Dr}from"./alert-dialog-DvPnvVvK.js";import{i as Or,r as kr,t as Ar}from"./tabs-BUk8rSoE.js";import{t as jr}from"./input-DIWTlsx6.js";import{i as Mr}from"./token-metrics-Dk2ZNHb_.js";import{n as Nr,r as Pr}from"./drawer-state-DasOAIpO.js";import{n as Fr,t as Ir}from"./centered-state-nM7v9xtl.js";import{t as Lr}from"./markdown-Rbaca31B.js";import{a as Rr,o as zr}from"./scroll-within-Cm6fjjNd.js";import{t as Br}from"./markdown-BzqT8I8y.js";import{n as Vr,t as Hr}from"./types-BTlmexWF.js";import{t as Ur}from"./run-diff-BPZ85gAE.js";import{t as Wr}from"./diff-CJKocK17.js";import{i as Gr,r as Kr,t as qr}from"./task-commits-W1ZZiEt4.js";import{n as Jr,t as Yr}from"./layout-cards-Sur4EWtx.js";var Xr=120;function Zr(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Qr(e){let t=e.replace(/\s+/g,` `).trim();return t.length>Xr?`${t.slice(0,Xr-1)}…`:t}function X(e,...t){if(Zr(e))for(let n of t){let t=e[n];if(typeof t==`string`&&t.trim()!==``)return Qr(t)}}function $r(e){if(!Zr(e))return;let t=e.command;if(typeof t==`string`&&t.trim()!==``)return Qr(t);if(Array.isArray(t)){let e=t.filter(e=>typeof e==`string`);if(e.length>0)return Qr(e.join(` `))}}function ei(e){if(!Zr(e)||!Array.isArray(e.changes))return[];let t=[];for(let n of e.changes)Zr(n)&&typeof n.path==`string`&&n.path.trim()!==``&&t.push(n.path);return t}function ti(e){return X(e,`description`,`query`,`url`,`filePath`,`file_path`,`path`,`pattern`,`name`)}function ni(e,t){return t?`${e} ${t}`:e}function ri(e,t){let n=typeof e==`string`?e.toLowerCase():``;switch(n){case`bash`:case`commandexecution`:return{toolKind:`execute`,title:ni(`Ran`,$r(t)),subtitle:X(t,`description`)};case`edit`:case`multiedit`:return{toolKind:`edit`,title:ni(`Edit`,X(t,`file_path`,`filePath`,`path`))};case`write`:return{toolKind:`edit`,title:ni(`Write`,X(t,`file_path`,`filePath`,`path`))};case`notebookedit`:return{toolKind:`edit`,title:ni(`Edit`,X(t,`notebook_path`,`notebookPath`,`file_path`,`filePath`,`path`))};case`filechange`:{let e=ei(t);return{toolKind:`edit`,title:ni(`Edit`,e.length===1?e[0]:e.length>1?`${e.length} files`:void 0)}}case`read`:return{toolKind:`read`,title:ni(`Read`,X(t,`file_path`,`filePath`,`path`))};case`imageview`:return{toolKind:`read`,title:ni(`View image`,X(t,`path`))};case`glob`:case`grep`:return{toolKind:`search`,title:ni(`Search`,X(t,`pattern`,`query`)),subtitle:X(t,`path`)};case`webfetch`:return{toolKind:`fetch`,title:ni(`Fetch`,X(t,`url`))};case`websearch`:return{toolKind:`fetch`,title:ni(`Web search`,X(t,`query`))};case`task`:case`agent`:{let e=n===`agent`?`Agent`:`Task`,r=X(t,`subagent_type`,`subagentType`),i=X(t,`description`,`prompt`)??r;return{toolKind:`task`,title:i?`${e}: ${i}`:e,subtitle:i===r?void 0:r}}case`skill`:{let e=X(t,`skill`,`name`,`command`);return{toolKind:`skill`,title:e?`Skill: ${e}`:`Skill`,subtitle:X(t,`args`,`description`)}}case`todowrite`:case`todolist`:case`plan`:case`taskcreate`:case`taskupdate`:case`tasklist`:return{toolKind:`plan`,title:`Update plan`};case`contextcompaction`:return{toolKind:`other`,title:`Compacted context`};case`mcptoolcall`:{let e=X(t,`server`),n=X(t,`tool`);return e&&n?{toolKind:`other`,title:`${e}.${n}`}:{toolKind:`other`,title:`MCP tool`,subtitle:ti(t)}}}if(n.startsWith(`mcp__`)){let t=e.split(`__`).filter(e=>e!==``);if(t.length>=3)return{toolKind:`other`,title:`${t[1]}.${t.slice(2).join(`__`)}`}}return{toolKind:`other`,title:typeof e==`string`&&e.trim()!==``?Qr(e):`Tool`,subtitle:ti(t)}}var ii=G(`brain`,[[`path`,{d:`M12 18V5`,key:`adv99a`}],[`path`,{d:`M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4`,key:`1e3is1`}],[`path`,{d:`M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5`,key:`1gqd8o`}],[`path`,{d:`M17.997 5.125a4 4 0 0 1 2.526 5.77`,key:`iwvgf7`}],[`path`,{d:`M18 18a4 4 0 0 0 2-7.464`,key:`efp6ie`}],[`path`,{d:`M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517`,key:`1gq6am`}],[`path`,{d:`M6 18a4 4 0 0 1-2-7.464`,key:`k1g0md`}],[`path`,{d:`M6.003 5.125a4 4 0 0 0-2.526 5.77`,key:`q97ue3`}]]),ai=G(`corner-up-left`,[[`path`,{d:`M20 20v-7a4 4 0 0 0-4-4H4`,key:`1nkjon`}],[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}]]),oi=G(`folder-input`,[[`path`,{d:`M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1`,key:`fm4g5t`}],[`path`,{d:`M2 13h10`,key:`pgb2dq`}],[`path`,{d:`m9 16 3-3-3-3`,key:`6m91ic`}]]),si=G(`list-todo`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`rect`,{x:`3`,y:`4`,width:`6`,height:`6`,rx:`1`,key:`cif1o7`}]]),ci=G(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),li=G(`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`}]]),ui=G(`square-pen`,[[`path`,{d:`M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`,key:`1m0v6g`}],[`path`,{d:`M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z`,key:`ohrbg2`}]]),Z=e(t(),1);function di(e,t,n){let[r,i]=(0,Z.useState)({key:n,value:e}),a=(0,Z.useRef)(e);a.current=e;let o=(0,Z.useRef)(n);o.current=n;let s=(0,Z.useRef)(0),c=(0,Z.useRef)(void 0),l=(0,Z.useRef)(!1),u=!Object.is(r.value,e);return r.key===n?u&&c.current===void 0&&Date.now()-s.current>=t&&i({key:n,value:e}):i({key:n,value:e}),(0,Z.useEffect)(()=>{if(!l.current){l.current=!0;return}clearTimeout(c.current),c.current=void 0,s.current=Date.now()},[r]),(0,Z.useEffect)(()=>{if(Object.is(r.value,e)||c.current!==void 0)return;let n=Math.max(0,s.current+t-Date.now());c.current=setTimeout(()=>{c.current=void 0,s.current=Date.now(),i({key:o.current,value:a.current})},n)},[r,e,t]),(0,Z.useEffect)(()=>()=>clearTimeout(c.current),[]),r.value}var fi=5,pi=120,mi=200,hi=5e3,gi=15e3,_i=[];function vi(...e){let t=new Map;for(let n of e)for(let e of n)t.set(e.seq,e);return[...t.values()].sort((e,t)=>e.seq-t.seq)}function yi(e){let t=-1/0;for(let n of e){if(n.seq<=t)return!1;t=n.seq}return!0}function bi(e){for(let t=e.length-1;t>=0;--t)if(e[t].newerCursor===void 0)return e[t]}function xi(...e){if(!e.every(yi))return vi(...e);let t=e.map(()=>0),n=[];for(;;){let r=1/0;for(let n=0;n<e.length;n+=1){let i=e[n][t[n]];i!==void 0&&i.seq<r&&(r=i.seq)}if(r===1/0)return n;let i;for(let n=0;n<e.length;n+=1){let a=e[n][t[n]];a?.seq===r&&(i=a,t[n]=t[n]+1)}i!==void 0&&n.push(i)}}function Si(e,t,n=-1/0){let r=new Set(t.map(({seq:e})=>e)),i=new Map;for(let e of t){if(e.type!==`item.updated`&&e.type!==`item.completed`)continue;let t=Ve(e);t!==void 0&&i.set(t,Math.max(i.get(t)??-1/0,e.seq))}return e.filter(e=>{if(r.has(e.seq)||e.seq<=n&&e.type!==`item.delta`&&e.type!==`item.updated`)return!0;if(e.type!==`item.delta`&&e.type!==`item.updated`)return!1;let t=i.get(Ve(e)??``);return t!==void 0&&t>e.seq}).map(({seq:e})=>e)}function Ci(e,t){if(t.length===0)return e.slice();let n=e.at(-1)?.seq??-1/0,r=-1/0;for(let n of t){if(n.seq<=r)return vi(e,t);r=n.seq}return e.length===0||t[0].seq>n?[...e,...t]:xi(e,t)}function wi(e){let t=me(),n=v(),i=[`run-history`,t,e],a=[`run-history-context`,t,e],o=[`run-history-tail`,t,e],s=oe({queryKey:i,enabled:e!==void 0,initialPageParam:void 0,queryFn:({pageParam:t,signal:n})=>r(e,t,{signal:n}),getPreviousPageParam:e=>e.olderCursor,getNextPageParam:e=>e.newerCursor,maxPages:fi,retry:1}),c=A({queryKey:a,enabled:e!==void 0,queryFn:({signal:t})=>x(e,{signal:t}),retry:1}),l=s.isError&&s.data===void 0&&!s.isFetchPreviousPageError&&!s.isFetchNextPageError&&!s.isRefetchError,u=c.isError&&c.data===void 0&&!c.isRefetchError,d=s.data?.pages??[],f=(0,Z.useRef)(void 0),p=`${t}\0${e??``}`,m=(0,Z.useRef)({key:p,fallbackLatched:!1}),h=(0,Z.useRef)(Promise.resolve()),g=(0,Z.useRef)(0);m.current.key!==p&&(m.current={key:p,fallbackLatched:!1},h.current=Promise.resolve(),g.current+=1,f.current=void 0),(l||u)&&(m.current.fallbackLatched=!0);let _=m.current.fallbackLatched,y=(0,Z.useCallback)(e=>{let t=h.current,n;return h.current=new Promise(e=>{n=e}),t.then(e).finally(n)},[]),b=bi(d),S=d.length>0?n.getQueryData(o):void 0;b&&(!f.current||b.asOfSeq>=f.current.asOfSeq)?f.current=b:S&&(!f.current||S.asOfSeq>=f.current.asOfSeq)&&(f.current=S);let C=f.current??b??S??(d.length>0?d.at(-1):void 0),w=(0,Z.useRef)(void 0),T=(0,Z.useCallback)(async t=>{if(e===void 0||w.current===p)return!1;w.current=p;let a=g.current,s=new AbortController,c;try{let l=await Promise.race([r(e,void 0,{signal:s.signal}),new Promise((e,t)=>{c=setTimeout(()=>{s.abort(),t(Error(`history compaction timed out`))},gi)})]);if(m.current.key!==p||g.current!==a)return!1;let u=n.getQueryData(i),d=bi(u?.pages??[]),h=n.getQueryData(o);if(Math.max(d?.asOfSeq??-1/0,h?.asOfSeq??-1/0,f.current?.asOfSeq??-1/0)>=l.asOfSeq)return!1;let _=u?(()=>{let e=[...u.pages],t=[...u.pageParams],n=d?e.indexOf(d):-1;for(n>=0?(e[n]=l,t[n]=void 0):(e.push(l),t.push(void 0));e.length>fi;)e.shift(),t.shift();return{pages:e,pageParams:t}})():{pages:[l],pageParams:[void 0]};return n.setQueryData(i,_),n.setQueryData(o,l),f.current=l,Si(t,_.pages.flatMap(e=>e.events),l.asOfSeq)}catch{return!1}finally{clearTimeout(c),s.abort(),w.current===p&&(w.current=void 0)}},[i,p,n,e,o]),E=Ie(C&&!_?e:void 0,C?{cursor:C.liveCursor,afterSeq:C.asOfSeq,compactWhenOver:hi,compactAt:mi,onCompact:T}:{}),D=Ie(_?e:void 0),O=di(E,pi,e),k=di(D,pi,e),j=(0,Z.useRef)({runId:void 0,scope:t,events:[]});(j.current.runId!==e||j.current.scope!==t)&&(j.current={runId:e,scope:t,events:[]}),_||(j.current.events=O);let M=_?j.current.events:_i,N=(0,Z.useMemo)(()=>{let e=d.map(e=>e.events);return C!==void 0&&!d.includes(C)&&e.push(C.events),vi(...e)},[C,d]);(0,Z.useEffect)(()=>{let e=bi(d);e&&n.setQueryData(o,e)},[d,n,e,t]);let P=(0,Z.useMemo)(()=>_?xi(N,M,k):Ci(N,O),[_,k,M,O,N]),F=(0,Z.useMemo)(()=>{if(_)return P;let e=c.data?.contextEvents??[],t=c.data?.asOfSeq??0;return xi(e,P.filter(({seq:e})=>e>t),O.filter(({seq:e})=>e<=t))},[c.data,_,O,P]),I=(0,Z.useCallback)(async()=>{let e=p,t=g.current,r=bi(n.getQueryData(i)?.pages??[]);r&&n.setQueryData(o,r);try{await y(()=>s.fetchPreviousPage())}finally{if(m.current.key!==e||g.current!==t)return;let r=f.current;if(!r)return;n.setQueryData(i,e=>{if(!e)return e;let t=bi(e.pages),n=t?e.pages.indexOf(t):-1;if(n<0||e.pages[n].asOfSeq>=r.asOfSeq)return e;let i=[...e.pages];return i[n]=r,{...e,pages:i}})}},[y,s.fetchPreviousPage,i,n,o]),ee=(0,Z.useCallback)(async()=>{g.current+=1,h.current=Promise.resolve();let e=e=>f.current??bi(e)??n.getQueryData(o),t=n.getQueryData(i);if(!e(t?.pages??[])){f.current=void 0,n.removeQueries({queryKey:o,exact:!0}),n.resetQueries({queryKey:i,exact:!0});return}if(t?.pages.length===1&&t.pages[0]===e(t.pages)&&!s.isFetchingPreviousPage)return;await n.cancelQueries({queryKey:i,exact:!0});let r=e(n.getQueryData(i)?.pages??[]);r&&(n.setQueryData(i,{pages:[r],pageParams:[void 0]}),n.setQueryData(o,r),f.current=r)},[s.isFetchingPreviousPage,i,n,o]);return{visibleEvents:P,currentEvents:F,isPending:!_&&s.isPending,contextPending:!_&&c.isPending,fallback:_,hasOlder:!_&&!!s.hasPreviousPage,isFetchingOlder:s.isFetchingPreviousPage,olderError:s.isFetchPreviousPageError?s.error instanceof Error?s.error.message:`Could not load earlier items`:void 0,loadOlder:I,jumpToLatest:ee,retainedPages:d.length}}var Ti=`design-picks`,Ei=1e5,Di=(e,t)=>typeof e==`string`?e.slice(0,t):``,Oi=e=>typeof e==`number`&&Number.isFinite(e)?Math.round(e):0;function ki(e){if(typeof e!=`object`||!e)return null;let t=e,n=Di(t.selector,400),r=Di(t.tag,40);if(n===``||r===``)return null;let i=t.rect??{},a=t.viewport??{},o={};if(t.styles!==null&&typeof t.styles==`object`)for(let[e,n]of Object.entries(t.styles).slice(0,30))typeof n==`string`&&/^[a-z-]{1,40}$/.test(e)&&(o[e]=n.slice(0,160));return{url:Di(t.url,2e3),selector:n,tag:r,text:Di(t.text,200),html:Di(t.html,1600),styles:o,rect:{x:Oi(i.x),y:Oi(i.y),width:Oi(i.width),height:Oi(i.height)},viewport:{width:Oi(a.width),height:Oi(a.height)},components:Array.isArray(t.components)?t.components.filter(e=>typeof e==`string`).slice(0,6).map(e=>e.slice(0,80)):[],source:Di(t.source,300),...typeof t.mark==`string`&&/^[a-z0-9-]{1,24}$/.test(t.mark)?{mark:t.mark}:{}}}function Ai(e){let t=e.selector.split(` > `).at(-1)??e.tag;return e.components[0]?`${e.components[0]} · ${t}`:t}var ji=`Elements selected in the app preview:`;function Mi(e,t){let n=Math.max(0,...(e.match(/`+/g)??[]).map(e=>e.length)),r="`".repeat(Math.max(3,n+1));return`${r}${t}\n${e}\n${r}`}var Ni=e=>e.split(`
3
3
  `).map(e=>e===``?``:` ${e}`).join(`
4
4
  `);function Pi(e){return e.length===0?``:`${ji}\n\n${e.map(e=>{let t=[`- \`${e.selector}\`${e.url?` on ${e.url}`:``}`];e.components.length>0?t.push(` component: ${[...e.components].reverse().join(` › `)}${e.source?` (${e.source})`:``}`):e.source&&t.push(` source: ${e.source}`),t.push(` box: ${e.rect.width}×${e.rect.height} at ${e.rect.x},${e.rect.y} (viewport ${e.viewport.width}×${e.viewport.height})`),e.text&&t.push(` text: ${JSON.stringify(e.text)}`);let n=Object.entries(e.styles);return n.length>0&&t.push(` styles: ${n.map(([e,t])=>`${e}: ${t}`).join(`; `)}`),`${t.join(`
5
5
  `)}\n\n${Ni(Mi(e.html,`html`))}`}).join(`
@@ -24,4 +24,4 @@ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./r
24
24
  `);for(let e=t.length-1;e>=0;--e){let n=t[e].trim();if(n!==``)return Xs(n)}}}function Xs(e){return e.length>Hs?`${e.slice(0,Hs-1).trimEnd()}…`:e}function Zs(e,t=!1){let n=rc(e,e=>e.items.some(Gs));if(n===-1)return[];let r=e=>!t&&!Us(e.status),i=[];for(let t=n-1;t>=0;--t){let n=e[t].items.filter(Gs);if(n.length!==0){if(!n.some(r))break;i.unshift(...n)}}let a=[...i,...e[n].items.filter(Gs)];if(n!==e.length-1&&!a.some(r))return[];let o=new Set(a.map(e=>e.id)),s=i.length>0?qs(e,o):n,c=new Map;for(let t=s;t<e.length;t+=1)for(let n of e[t].items){if(!Ks(n))continue;let e=n.parentItemId;if(e===void 0||!o.has(e))continue;let t=c.get(e);t?t.push(n):c.set(e,[n])}return a.map(e=>$s(e,c.get(e.id)??[],t))}function Qs(e){let t=new Map;for(let n of e)for(let e of n.items){if(e.kind!==`tool`||e.toolKind!==`skill`||e.parentItemId!==void 0||e.status===`failed`||e.status===`declined`)continue;let n=Io(e.title).detail??e.title;t.has(n)||t.set(n,{id:e.id,name:n})}return[...t.values()]}function $s(e,t,n){let r={id:e.id,title:Io(e.title).detail??e.title,status:e.status,toolCalls:t.filter(e=>e.kind===`tool`).length},i=Js(e);i!==void 0&&(r.agentType=i),n&&!Us(e.status)&&(r.stalled=!0);for(let e=t.length-1;e>=0;--e){let n=Ys(t[e]);if(n!==void 0){r.activity=n;break}}return r}function ec(e){return{done:e.filter(e=>e.status===`completed`).length,total:e.length}}function tc(e){return e.activity??(e.stalled===!0?`never finished`:`starting…`)}function nc(e){return e.find(e=>!Us(e.status))??e[0]}function rc(e,t){for(let n=e.length-1;n>=0;--n)if(t(e[n]))return n;return-1}function ic(e,t,n=!1){for(let r=e.length-1;r>=0;--r){let i=e[r].items.find(e=>e.id===t&&Gs(e));if(i!==void 0)return $s(i,ac(e,t),n)}}function ac(e,t){let n=e.findIndex(e=>e.items.some(e=>e.id===t&&Gs(e)));if(n===-1)return[];let r=[];for(let i=n;i<e.length;i+=1)for(let n of e[i].items)Ks(n)&&n.parentItemId===t&&n.id!==t&&r.push(n);return r}var oc=new Map,sc=!1;function cc({runId:e,agents:t,onSelect:n}){let[r,i]=(0,Z.useState)(()=>oc.get(e)??sc),a=t.every(e=>e.status!==`pending`&&e.status!==`running`),o=(0,Z.useRef)(a);if((0,Z.useEffect)(()=>{!o.current&&a&&i(t=>t&&(oc.set(e,!1),!1)),o.current=a},[a,e]),t.length===0)return null;let{done:s,total:c}=ec(t),l=nc(t);return(0,Q.jsxs)(`section`,{"data-slot":`agents-dock`,"data-state":r?`open`:`collapsed`,className:`min-w-0 overflow-hidden rounded-lg border border-border bg-card shadow-xs`,children:[(0,Q.jsx)(`div`,{"aria-hidden":!0,"data-slot":`grad-edge`,className:`h-[3px]`,style:{background:`var(--grad)`}}),(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>i(t=>(oc.set(e,!t),!t)),"aria-expanded":r,className:K(`flex w-full items-center gap-2 px-3.5 text-left text-[13px]`,r?`pt-2 pb-1.5`:`py-2`),children:[(0,Q.jsx)(Mn,{"aria-hidden":!0,className:`size-3.5 shrink-0 text-soft-foreground`}),(0,Q.jsx)(`span`,{className:`shrink-0 font-semibold`,children:`Agents`}),(0,Q.jsxs)(`span`,{"data-slot":`agents-count`,className:`shrink-0 text-muted-foreground tabular-nums`,children:[`· `,s,`/`,c]}),!r&&l!==void 0?(0,Q.jsxs)(`span`,{"data-slot":`agents-current`,className:`min-w-0 truncate text-muted-foreground`,children:[`— `,tc(l)]}):null,(0,Q.jsx)(Ln,{"aria-hidden":!0,className:K(`ml-auto size-3.5 shrink-0 text-soft-foreground transition-transform`,!r&&`rotate-180`)})]}),r?(0,Q.jsx)(`ul`,{"data-slot":`agents-list`,className:`flex flex-col gap-[7px] px-3.5 pb-3`,children:t.map(e=>(0,Q.jsx)(lc,{agent:e,onSelect:n},e.id))}):null]})}function lc({agent:e,onSelect:t}){let n=(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(uc,{status:e.status,stalled:e.stalled===!0}),(0,Q.jsx)(`span`,{className:`min-w-0 shrink truncate font-medium`,children:e.title}),e.agentType===void 0?null:(0,Q.jsx)(`span`,{"data-slot":`agent-type`,className:`shrink-0 rounded-full bg-muted px-2 py-0.5 text-[10.5px] font-semibold tracking-[0.05em] text-muted-foreground uppercase`,children:e.agentType}),(0,Q.jsx)(`span`,{"data-slot":`agent-activity`,className:`min-w-0 flex-1 truncate text-muted-foreground`,children:tc(e)}),(0,Q.jsxs)(`span`,{"data-slot":`agent-tools`,className:`shrink-0 text-muted-foreground tabular-nums`,children:[e.toolCalls,` `,e.toolCalls===1?`tool`:`tools`]})]});return(0,Q.jsx)(`li`,{"data-slot":`agent-item`,"data-status":e.status,className:`min-w-0 text-[13px]`,children:t?(0,Q.jsx)(`button`,{type:`button`,onClick:()=>t(e.id),"aria-haspopup":`dialog`,className:`flex min-h-5 w-full min-w-0 items-center gap-2.5 rounded-sm text-left hover:bg-muted/50`,children:n}):(0,Q.jsx)(`div`,{className:`flex min-h-5 min-w-0 items-center gap-2.5`,children:n})})}function uc({status:e,stalled:t=!1}){return t?(0,Q.jsx)(`svg`,{"aria-hidden":!0,"data-slot":`agent-glyph`,"data-stalled":`true`,className:`size-[15px] shrink-0 text-soft-foreground`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeDasharray:`3 2.5`,children:(0,Q.jsx)(`circle`,{cx:`12`,cy:`12`,r:`8.5`})}):e===`completed`?(0,Q.jsxs)(`svg`,{"aria-hidden":!0,"data-slot":`agent-glyph`,className:`size-[15px] shrink-0 text-success`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Q.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`,opacity:`.35`}),(0,Q.jsx)(`path`,{d:`m8.5 12.2 2.4 2.4 4.6-5`})]}):e===`failed`||e===`declined`?(0,Q.jsxs)(`svg`,{"aria-hidden":!0,"data-slot":`agent-glyph`,className:`size-[15px] shrink-0 text-danger`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,children:[(0,Q.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`,opacity:`.35`}),(0,Q.jsx)(`path`,{d:`m9 9 6 6M15 9l-6 6`})]}):(0,Q.jsxs)(`svg`,{"aria-hidden":!0,"data-slot":`agent-glyph`,className:`size-[15px] shrink-0 animate-pulse motion-reduce:animate-none`,viewBox:`0 0 24 24`,fill:`none`,children:[(0,Q.jsx)(`circle`,{className:`stroke-pending`,cx:`12`,cy:`12`,r:`8.5`,strokeWidth:`2`}),(0,Q.jsx)(`path`,{className:`fill-pending`,d:`M12 3.5 A8.5 8.5 0 0 1 12 20.5 Z`})]})}var dc=new Map;function fc(){return typeof window.matchMedia!=`function`||window.matchMedia(`(min-width: 768px)`).matches}function pc(e){return{done:e.filter(e=>e.status===`completed`).length,total:e.filter(e=>e.status!==`cancelled`).length}}function mc(e){return e.find(e=>e.status===`in_progress`)??e.find(e=>e.status===`pending`)}function hc({runId:e,entries:t,settled:n=!1}){let[r,i]=(0,Z.useState)(()=>dc.get(e)??fc());if(t.length===0)return null;let{done:a,total:o}=pc(t),s=n?void 0:mc(t),c=n&&a<o;return(0,Q.jsxs)(`section`,{"data-slot":`plan-dock`,"data-state":r?`open`:`collapsed`,"data-settled":n?`true`:void 0,className:`min-w-0 overflow-hidden rounded-lg border border-border bg-card shadow-xs`,children:[(0,Q.jsx)(`div`,{"aria-hidden":!0,"data-slot":`grad-edge`,className:`h-0.5 md:h-[3px]`,style:{background:`var(--grad)`}}),(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>i(t=>(dc.set(e,!t),!t)),"aria-expanded":r,className:K(`flex w-full items-center gap-2 px-3.5 text-left text-[13px]`,r?`pt-2 pb-1.5`:`py-2`),children:[(0,Q.jsx)(`span`,{className:`shrink-0 font-semibold`,children:`Plan`}),(0,Q.jsxs)(`span`,{"data-slot":`plan-count`,className:`shrink-0 text-muted-foreground tabular-nums`,children:[`· `,a,`/`,o]}),c?(0,Q.jsx)(`span`,{"data-slot":`plan-unfinished`,className:`shrink-0 text-soft-foreground`,children:`· left unfinished`}):null,!r&&s!==void 0?(0,Q.jsxs)(`span`,{"data-slot":`plan-current`,className:`min-w-0 truncate text-muted-foreground`,children:[`— `,s.activeForm??s.content]}):null,(0,Q.jsx)(Ln,{"aria-hidden":!0,className:K(`ml-auto size-3.5 shrink-0 text-soft-foreground transition-transform`,!r&&`rotate-180`)})]}),r?(0,Q.jsx)(`ul`,{"data-slot":`plan-list`,className:`flex flex-col gap-[7px] px-3.5 pb-3`,children:t.map((e,t)=>(0,Q.jsx)(gc,{entry:e,settled:n},`${t}:${e.content}`))}):null]})}function gc({entry:e,settled:t}){let n=t&&e.status===`in_progress`?`pending`:e.status;return(0,Q.jsxs)(`li`,{"data-slot":`plan-item`,"data-status":e.status,className:K(`flex min-h-5 min-w-0 items-center gap-2.5 text-[13px]`,n===`completed`&&`text-soft-foreground line-through`,n===`in_progress`&&`font-medium`,n===`pending`&&`text-muted-foreground`,n===`cancelled`&&`text-soft-foreground/70 line-through`),children:[(0,Q.jsx)(_c,{status:n}),(0,Q.jsx)(`span`,{className:`min-w-0 truncate`,children:e.content}),n===`in_progress`?(0,Q.jsx)(`span`,{"data-slot":`plan-tag`,className:`ml-auto shrink-0 rounded-full bg-muted px-2 py-0.5 text-[10.5px] font-semibold tracking-[0.05em] text-muted-foreground uppercase`,children:`in progress`}):null]})}function _c({status:e}){return e===`cancelled`?(0,Q.jsxs)(`svg`,{"aria-hidden":!0,className:`size-[15px] shrink-0 text-soft-foreground/70`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,children:[(0,Q.jsx)(`circle`,{cx:`12`,cy:`12`,r:`8.5`,opacity:`.5`}),(0,Q.jsx)(`path`,{d:`m8.5 15.5 7-7`})]}):e===`completed`?(0,Q.jsxs)(`svg`,{"aria-hidden":!0,className:`size-[15px] shrink-0 text-success`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,Q.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`,opacity:`.35`}),(0,Q.jsx)(`path`,{d:`m8.5 12.2 2.4 2.4 4.6-5`})]}):e===`in_progress`?(0,Q.jsxs)(`svg`,{"aria-hidden":!0,className:`size-[15px] shrink-0 animate-pulse motion-reduce:animate-none`,viewBox:`0 0 24 24`,fill:`none`,children:[(0,Q.jsx)(`circle`,{className:`stroke-pending`,cx:`12`,cy:`12`,r:`8.5`,strokeWidth:`2`}),(0,Q.jsx)(`path`,{className:`fill-pending`,d:`M12 3.5 A8.5 8.5 0 0 1 12 20.5 Z`})]}):(0,Q.jsx)(`svg`,{"aria-hidden":!0,className:`size-[15px] shrink-0 text-soft-foreground`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,children:(0,Q.jsx)(`circle`,{cx:`12`,cy:`12`,r:`8.5`})})}function vc({skills:e}){return e.length===0?null:(0,Q.jsxs)(`section`,{"data-slot":`skills-dock`,className:`flex min-w-0 items-center gap-2 overflow-hidden rounded-lg border border-border bg-card px-3.5 py-2 text-[13px] shadow-xs`,children:[(0,Q.jsx)(xt,{"aria-hidden":!0,className:`size-3.5 shrink-0 text-soft-foreground`}),(0,Q.jsx)(`span`,{className:`shrink-0 font-semibold`,children:e.length===1?`Skill`:`Skills`}),(0,Q.jsxs)(`span`,{"data-slot":`skills-names`,className:`min-w-0 truncate text-muted-foreground`,children:[`· `,e.map(e=>e.name).join(` · `)]})]})}function yc(e,t){if(Object.is(e,t))return!0;if(typeof e!=`object`||typeof t!=`object`||e===null||t===null)return!1;if(Array.isArray(e)||Array.isArray(t)){if(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(!yc(e[n],t[n]))return!1;return!0}if(!bc(e)||!bc(t))return!1;let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Object.hasOwn(t,r)||!yc(e[r],t[r]))return!1;return!0}function bc(e){let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function xc(){return typeof CSS>`u`||typeof CSS.supports!=`function`||CSS.supports(`overflow-anchor`,`auto`)}function Sc(e,t={}){let{surface:n=`document`,onLoadOlder:r,onJumpToLatest:i,rowKeys:a=[]}=t,o=(0,Z.useRef)(null),[s,c]=(0,Z.useState)(null),[l,u]=(0,Z.useState)(!1),d=(0,Z.useRef)(!0),f=(0,Z.useRef)(null),p=(0,Z.useRef)(null),m=(0,Z.useRef)(null),h=(0,Z.useCallback)(e=>{let t=o.current;if(!t)return;let n=m.current;n?n.scrollTo(e):t.scrollTop=e},[]),g=(0,Z.useCallback)(()=>{let e=o.current;e&&h(e.scrollHeight-e.clientHeight)},[h]),_=(0,Z.useCallback)(()=>{if(o.current){if(p.current!==e){p.current=e;let t=Xo(e);t&&!t.atBottom?(d.current=!1,f.current=t.top):(d.current=!0,f.current=null)}f.current===null?d.current&&g():h(f.current)}},[e,h,g]),v=(0,Z.useCallback)(e=>{c(e),e&&(o.current=e.closest(n===`panel`?`[data-slot="transcript-viewport"]`:`[data-slot="main"]`),_())},[n,_]),y=(0,Z.useCallback)(()=>{d.current&&g()},[g]),b=(0,Z.useRef)(!1),x=(0,Z.useRef)(!1),S=(0,Z.useRef)(void 0),C=(0,Z.useRef)(!1),w=(0,Z.useRef)(!1),T=(0,Z.useRef)(!1),E=(0,Z.useRef)(void 0),D=(0,Z.useRef)(0),O=(0,Z.useRef)(a);O.current=a;let k=(0,Z.useCallback)(e=>[...e.querySelectorAll(`[data-slot="thread-row"][data-row-key]`)].map(e=>{let t=e.getBoundingClientRect();return{key:e.dataset.rowKey,top:t.top,bottom:t.bottom}}),[]),A=(0,Z.useCallback)(()=>{let e=o.current;if(!e||!r||b.current)return;b.current=!0;let t=e.scrollHeight,n=e.scrollTop,i=e.getBoundingClientRect().top,a=Wo(i,k(e));r().finally(()=>{requestAnimationFrame(()=>{let e=o.current;if(e&&!d.current){let r=n+Math.max(0,e.scrollHeight-t),i=e.getBoundingClientRect().top,o=a===void 0?-1:O.current.indexOf(a.key),s=m.current;s&&o>=0?s.scrollToIndex(o,{align:`start`,offset:-a.offset}):h(Go(e.scrollTop,i,a,k(e),r))}b.current=!1})})},[k,r,h]);(0,Z.useEffect)(()=>()=>clearTimeout(S.current),[]);let j=(0,Z.useCallback)(()=>{o.current&&(f.current=null,d.current=!0,(i?.()??Promise.resolve()).finally(()=>{requestAnimationFrame(()=>{let e=o.current;e?.scrollTo({top:e.scrollHeight-e.clientHeight,behavior:`smooth`})})}))},[i]);return(0,Z.useLayoutEffect)(()=>{!o.current||!s||_()},[s,_]),(0,Z.useEffect)(()=>{let t=o.current,n=s;if(!t||!n)return;let r=!xc(),i=(e,t)=>{if(typeof document.elementsFromPoint==`function`){let n=document.elementsFromPoint(t.left+t.width/2,t.top+1).map(e=>e.closest(`[data-slot="thread-row"][data-row-key]`)).find(t=>t!==null&&e.contains(t));if(n){let e=n.getBoundingClientRect();return{key:n.dataset.rowKey,top:e.top,bottom:e.bottom}}return}return k(e).find(({bottom:e})=>e>t.top)},a=(e,t)=>{let n=typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(t):t.replace(/["\\]/g,`\\$&`),r=e.querySelector(`[data-slot="thread-row"][data-row-key="${n}"]`);if(!r)return;let i=r.getBoundingClientRect();return{key:t,top:i.top,bottom:i.bottom}},c=()=>{!r||d.current||f.current!==null||D.current===0&&(D.current=requestAnimationFrame(()=>{D.current=0;let e=o.current;if(!e||d.current)return;let t=e.getBoundingClientRect(),n=i(e,t);E.current=n===void 0?void 0:{key:n.key,offset:n.top-t.top}}))},l=()=>{let e=E.current;if(!r||e===void 0||m.current)return;let n=t.getBoundingClientRect().top,i=a(t,e.key),o=i===void 0?t.scrollTop:t.scrollTop+(i.top-n-e.offset);Math.abs(o-t.scrollTop)>=1&&h(o)},p=0,_=null,v=!1,y=t.scrollTop,b=()=>{f.current=null,d.current=!1,p=0},O=()=>{p=Date.now()},j=e=>{if(e.deltaY<0){b();let e=!x.current;x.current=!0,clearTimeout(S.current),S.current=setTimeout(()=>{x.current=!1},180),e&&Uo(t)&&A()}else O()},M=e=>{[`ArrowUp`,`PageUp`,`Home`].includes(e.key)?(b(),!e.repeat&&Uo(t)&&A()):[`ArrowDown`,`PageDown`,`End`].includes(e.key)&&O()},N=()=>{v=!0,T.current=!1,y=t.scrollTop,Ko(t,80)||(b(),O())},P=()=>{v=!1},F=e=>{C.current=!1,w.current=!0,_=e.touches[0]?.clientY??null},I=()=>{w.current&&(w.current=!1,d.current&&f.current===null&&g())},ee=e=>{let n=e.touches[0]?.clientY;n!==void 0&&(_!==null&&n>_+1?(b(),!C.current&&Uo(t)&&(C.current=!0,A())):_!==null&&n<_-1&&O(),_=n)},L=()=>{v&&!T.current&&t.scrollTop<y&&Uo(t)&&(T.current=!0,A()),y=t.scrollTop;let n=Ko(t,80);n&&f.current===null&&(d.current||Date.now()-p<2e3)&&(d.current=!0),u(!n),f.current===null&&Yo(e,{top:t.scrollTop,atBottom:n}),c()};t.addEventListener(`scroll`,L,{passive:!0}),t.addEventListener(`wheel`,j,{passive:!0}),t.addEventListener(`touchstart`,F,{passive:!0}),t.addEventListener(`touchmove`,ee,{passive:!0}),window.addEventListener(`touchend`,I,{passive:!0}),window.addEventListener(`touchcancel`,I,{passive:!0}),t.addEventListener(`pointerdown`,N,{passive:!0}),window.addEventListener(`pointerup`,P,{passive:!0}),t.addEventListener(`keydown`,M);let R;return typeof ResizeObserver<`u`&&(R=new ResizeObserver(()=>{let e=f.current;if(e!==null){let n=t.scrollHeight-t.clientHeight;h(Math.min(e,n)),n>=e&&(f.current=null,c())}else d.current?w.current||g():l()}),R.observe(n)),c(),()=>{cancelAnimationFrame(D.current),D.current=0,E.current=void 0,t.removeEventListener(`scroll`,L),t.removeEventListener(`wheel`,j),t.removeEventListener(`touchstart`,F),t.removeEventListener(`touchmove`,ee),window.removeEventListener(`touchend`,I),window.removeEventListener(`touchcancel`,I),t.removeEventListener(`pointerdown`,N),window.removeEventListener(`pointerup`,P),t.removeEventListener(`keydown`,M),R?.disconnect()}},[e,s,A,h,g]),{attachContent:v,scrollElRef:o,virtualizerRef:m,pillVisible:l,jumpToLatest:j,loadOlder:A,restickIfStuck:y}}function Cc({runId:e,rows:t,mode:n,controls:r}){if(n===`virtual`)return(0,Q.jsx)(wc,{runId:e,rows:t,controls:r});let i=Ho(xc());return(0,Q.jsx)(`div`,{ref:r.attachContent,"data-slot":`thread-rows`,"data-virtualized":`false`,children:t.map(e=>(0,Q.jsx)(`div`,{"data-slot":`thread-row`,"data-row-key":e.key,className:i,children:e.node},e.key))})}function wc({runId:e,rows:t,controls:n}){let r=(0,Z.useRef)(null),[i]=(0,Z.useState)(()=>$o(e,t.length)),a=(0,Z.useRef)(t.length);a.current=t.length;let o=(0,Z.useRef)(null),s=(0,Z.useCallback)(t=>{n.virtualizerRef.current=t,t?o.current=t:o.current&&=(Qo(e,{rows:a.current,cache:o.current.cache}),null)},[e,n.virtualizerRef]),[c,l]=(0,Z.useState)(0);return(0,Z.useLayoutEffect)(()=>{let e=()=>{let e=r.current,t=n.scrollElRef.current;!e||!t||l(Math.max(0,Math.round(e.getBoundingClientRect().top-t.getBoundingClientRect().top+t.scrollTop)))};return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[n.scrollElRef]),(0,Q.jsx)(`div`,{ref:e=>{r.current=e,n.attachContent(e)},"data-slot":`thread-rows`,"data-virtualized":`true`,children:(0,Q.jsx)(zr,{ref:s,scrollRef:n.scrollElRef,startMargin:c,...i===void 0?{}:{cache:i},children:t.map(e=>(0,Q.jsx)(`div`,{"data-slot":`thread-row`,"data-row-key":e.key,className:`flex w-full flex-col pb-2.5`,children:e.node},e.key))})})}function Tc({onJump:e}){return(0,Q.jsxs)(`button`,{type:`button`,"data-slot":`jump-to-latest`,onClick:e,className:`pointer-events-auto inline-flex min-h-8 items-center gap-1.5 rounded-full border border-border bg-background px-3.5 text-xs font-medium text-muted-foreground shadow-modal hover:text-foreground`,children:[(0,Q.jsx)(gn,{"aria-hidden":!0,className:`size-3.5`}),`Jump to latest`]})}function Ec(e,t){let n=[];(e.task||e.taskImages?.length)&&n.push({id:`task`,userMessageKey:`task`,userMessage:{text:e.task,images:e.taskImages??[],ts:e.createdAt},entries:[]});for(let t of e.queuedMessages??[])n.push({id:`queued:${t.id}`,userMessageKey:`queued:${t.id}`,userMessage:{text:t.text,images:t.images??[],ts:t.createdAt},inDaySequence:!1,entries:[]});for(let e of t.turns)n.push({id:e.id,userMessageKey:`${e.id}:user`,...e.userMessage===void 0?{}:{userMessage:{text:e.userMessage.text,imageCount:e.userMessage.imageCount,images:e.userMessage.images,...e.userMessage.ts===void 0?{}:{ts:e.userMessage.ts}}},...e.startedAt===void 0?{}:{startedAt:e.startedAt},...e.completed?.ts===void 0?{}:{completedAt:e.completed.ts},entries:e.items});return n}function Dc(e,t){return[{id:`agent:${e}`,entries:t}]}function Oc(e){if(e.inDaySequence!==!1)return e.userMessage?.ts??e.startedAt??e.completedAt}function kc(e,t){let n=[],r;for(let t of e){let e=Oc(t),i=ls(e);i!==void 0&&e!==void 0&&(r===void 0||i>r)&&(r!==void 0&&n.push({key:`${t.id}:day-separator`,scope:t.id,content:{kind:`day-separator`,ts:e}}),r=i),t.userMessage!==void 0&&n.push({key:t.userMessageKey??`${t.id}:user`,scope:t.id,content:{kind:`user-message`,message:t.userMessage}});for(let e of Lo([...t.entries]))n.push({key:`${t.id}:${e.id}`,scope:t.id,content:{kind:`block`,block:e}});t.completedAt!==void 0&&n.push({key:`${t.id}:turn-time`,scope:t.id,content:{kind:`turn-time`,completedAt:t.completedAt,...t.startedAt===void 0?{}:{startedAt:t.startedAt}}})}return n}function Ac({runId:e,viewId:t,sections:n,mode:r,empty:i,renderAsk:a,messageActions:o,scrollControls:s,renderMode:c,rowModels:l}){let u=(0,Z.useMemo)(()=>l??kc(n,e),[l,n,e]),d=Sc(`${e}:${t}`,{surface:r}),f=s??d,p=(0,Z.useMemo)(()=>u.map(t=>({key:t.key,node:(0,Q.jsx)(Mc,{runId:e,row:t,actions:o?.[t.key],renderAsk:a})})),[o,a,u,e]),m=c??qo(``,p.length),h=p.length===0?i??null:(0,Q.jsx)(Cc,{runId:`${e}:${t}`,rows:p,mode:m,controls:f});return(0,Q.jsx)(Vo,{runId:e,children:r===`panel`?(0,Q.jsxs)(`div`,{"data-slot":`transcript-viewport`,"aria-label":`Agent transcript`,role:`region`,tabIndex:0,className:`relative flex min-h-0 flex-1 flex-col overflow-y-auto [scrollbar-gutter:stable]`,children:[(0,Q.jsx)(`div`,{"data-slot":`subagent-stream`,className:`flex flex-col px-5 py-4`,children:h}),f.pillVisible?(0,Q.jsx)(`div`,{className:`pointer-events-none sticky inset-x-0 bottom-4 flex justify-center`,children:(0,Q.jsx)(Tc,{onJump:f.jumpToLatest})}):null]}):h})}function jc({runId:e,row:t,actions:n,renderAsk:r}){return Nc(e,t,n,r)}var Mc=(0,Z.memo)(jc,(e,t)=>e.runId===t.runId&&e.actions===t.actions&&e.renderAsk===t.renderAsk&&yc(e.row,t.row));function Nc(e,t,n,r){switch(t.content.kind){case`user-message`:return(0,Q.jsx)(Pc,{runId:e,message:t.content.message,actions:n});case`day-separator`:return(0,Q.jsx)(_s,{ts:t.content.ts});case`turn-time`:return(0,Q.jsx)(gs,{completedAt:t.content.completedAt,...t.content.startedAt===void 0?{}:{startedAt:t.content.startedAt}});case`block`:return(0,Q.jsx)(Fc,{block:t.content.block,scope:t.scope,renderAsk:r});default:return Rc(t.content)}}function Pc({runId:e,message:t,actions:n}){return(0,Q.jsx)(vs,{text:t.text,imageCount:t.imageCount,images:t.images,...t.ts===void 0?{}:{ts:t.ts},onEdit:n?.onEdit,onRemove:n?.onRemove,editLabel:n?.editLabel,removeLabel:n?.removeLabel,draftRunId:n?.draftSurface===void 0?void 0:e,draftSurface:n?.draftSurface})}var Fc=(0,Z.memo)(function e({block:t,scope:n,renderAsk:r}){switch(t.kind){case`entry`:return(0,Q.jsx)(Lc,{entry:t.entry,scope:n,renderAsk:r});case`tool-card`:return(0,Q.jsx)(Rs,{item:t.item,nested:t.children,cacheKey:`${n}:${t.id}`,renderNested:(e,t)=>(0,Q.jsx)(Ic,{entries:e,scope:t,renderAsk:r})});case`context-group`:return(0,Q.jsx)(zs,{group:t,scope:n});case`streak`:return(0,Q.jsx)(Bs,{count:t.count,children:t.blocks.map(t=>(0,Q.jsx)(e,{block:t,scope:n,renderAsk:r},t.id))});default:return Rc(t)}},zc);function Ic({entries:e,scope:t,renderAsk:n}){return Lo([...e]).map(e=>(0,Q.jsx)(Fc,{block:e,scope:t,renderAsk:n},e.id))}function Lc({entry:e,scope:t,renderAsk:n}){switch(e.kind){case`message`:return e.role===`assistant`?(0,Q.jsx)(bs,{text:e.text}):(0,Q.jsx)(vs,{text:e.text});case`reasoning`:return(0,Q.jsx)(Ds,{text:e.text});case`tool`:return(0,Q.jsx)(Rs,{item:e,cacheKey:`${t}:${e.id}`});case`note`:return(0,Q.jsx)(xs,{note:e});case`image`:return(0,Q.jsx)(Vs,{image:e});case`ask`:return n===void 0?(0,Q.jsx)(`div`,{"data-slot":`ask-card`,className:`rounded-lg border border-border bg-card px-4 py-3 text-sm`,children:`The agent asked a question. Open the main session to answer it.`}):n(e);case`provider-auth-required`:return(0,Q.jsx)(Cs,{incident:e});case`agent-update-required`:return(0,Q.jsx)(Es,{incident:e});default:return Rc(e)}}function Rc(e){throw Error(`Unhandled transcript variant: ${JSON.stringify(e)}`)}function zc(e,t){return e.scope===t.scope&&Vc(e.block,t.block)&&(!Bc(t.block)||e.renderAsk===t.renderAsk)}function Bc(e){return e.kind===`entry`?e.entry.kind===`ask`:e.kind===`tool-card`?e.children.some(e=>e.kind===`ask`):e.kind!==`context-group`&&e.blocks.some(Bc)}function Vc(e,t){if(e.kind!==t.kind||e.id!==t.id)return!1;switch(t.kind){case`entry`:return Uc(e.kind===`entry`?e.entry:void 0,t.entry);case`tool-card`:return e.kind===`tool-card`&&$c(e.item,t.item)&&Hc(e.children,t.children);case`context-group`:return e.kind===`context-group`&&e.files===t.files&&e.searches===t.searches&&e.label===t.label&&e.tools.length===t.tools.length&&e.tools.every((e,n)=>$c(e,t.tools[n]));case`streak`:return e.kind===`streak`&&e.count===t.count&&e.blocks.length===t.blocks.length&&e.blocks.every((e,n)=>Vc(e,t.blocks[n]));default:return!1}}function Hc(e,t){return e.length===t.length&&e.every((e,n)=>Uc(e,t[n]))}function Uc(e,t){if(e===void 0||e.kind!==t.kind||e.id!==t.id)return!1;switch(t.kind){case`message`:return e.kind===`message`&&Qc(e,t,Wc);case`reasoning`:return e.kind===`reasoning`&&Qc(e,t,Gc);case`tool`:return e.kind===`tool`&&$c(e,t);case`note`:return e.kind===`note`&&Qc(e,t,Kc);case`image`:return e.kind===`image`&&Qc(e,t,qc);case`ask`:return e.kind===`ask`&&Qc(e,t,Jc);case`provider-auth-required`:return e.kind===`provider-auth-required`&&Qc(e,t,Yc);case`agent-update-required`:return e.kind===`agent-update-required`&&Qc(e,t,Xc);default:return!1}}var Wc={kind:!0,id:!0,role:!0,text:!0,phase:!0,parentItemId:!0},Gc={kind:!0,id:!0,text:!0,parentItemId:!0},Kc={kind:!0,id:!0,text:!0,tone:!0},qc={kind:!0,id:!0,url:!0,name:!0},Jc={kind:!0,id:!0,questions:!0,resolved:!0,answer:!0,fromWorkflow:!0},Yc={kind:!0,id:!0,provider:!0,authFailureId:!0,profileId:!0},Xc={kind:!0,id:!0,provider:!0},Zc={kind:!0,id:!0,name:!0,toolKind:!0,title:!0,status:!0,input:!0,output:!0,error:!0,diffs:!0,locations:!0,exitCode:!0,parentItemId:!0};function Qc(e,t,n){return Object.keys(n).every(n=>e[n]===t[n])}function $c(e,t){return Qc(e,t,Zc)}function el({runId:e,renderAsk:t,agent:n,entries:r,onClose:i}){return(0,Q.jsx)(Re,{open:n!==void 0,onOpenChange:e=>{e||i()},children:(0,Q.jsx)(Le,{"data-slot":`subagent-sheet`,side:`right`,className:`flex min-h-0 w-full gap-0 p-0 sm:max-w-xl`,children:n===void 0?null:(0,Q.jsx)(tl,{runId:e,renderAsk:t,agent:n,entries:r})})})}function tl({runId:e,renderAsk:t,agent:n,entries:r}){return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(ze,{className:`gap-1.5 border-b border-border px-5 py-4`,children:[(0,Q.jsxs)(Be,{className:`flex min-w-0 items-center gap-2 text-[15px]`,children:[(0,Q.jsx)(`span`,{className:`min-w-0 truncate`,children:n.title}),n.agentType===void 0?null:(0,Q.jsx)(`span`,{"data-slot":`agent-type`,className:`shrink-0 rounded-full bg-muted px-2 py-0.5 text-[10.5px] font-semibold tracking-[0.05em] text-muted-foreground uppercase`,children:n.agentType})]}),(0,Q.jsxs)(Fe,{"data-slot":`subagent-meta`,className:`flex items-center gap-2 text-xs`,children:[(0,Q.jsx)(nl,{status:n.status}),(0,Q.jsxs)(`span`,{className:`tabular-nums`,children:[n.toolCalls,` `,n.toolCalls===1?`tool call`:`tool calls`]})]})]}),(0,Q.jsx)(Ac,{runId:e,viewId:`agent:${n.id}`,sections:Dc(n.id,r),mode:`panel`,renderAsk:t,empty:(0,Q.jsx)(`div`,{"data-slot":`subagent-empty`,className:`py-2 text-[13px] text-muted-foreground`,children:`No attributed output — see the thread card for this agent's result.`})})]})}function nl({status:e}){let t=e===`completed`?`Completed`:e===`failed`?`Failed`:e===`declined`?`Declined`:e===`pending`?`Pending`:`Running`;return(0,Q.jsx)(`span`,{"data-slot":`subagent-status`,"data-status":e,className:K(`rounded-full px-2 py-0.5 text-[10.5px] font-semibold tracking-[0.05em] uppercase`,e===`completed`&&`bg-success/15 text-success`,(e===`failed`||e===`declined`)&&`bg-danger/15 text-danger`,(e===`running`||e===`pending`)&&`bg-muted text-muted-foreground`),children:t})}function rl({run:e,diffComments:t}){return(0,Q.jsxs)(`section`,{"data-slot":`review-panel`,"aria-label":`Review the changes`,className:`flex flex-col gap-3`,children:[(0,Q.jsxs)(`div`,{"data-slot":`review-banner`,className:`flex items-center gap-2.5 rounded-md border border-violet/30 bg-violet/10 px-3.5 py-2.5`,children:[(0,Q.jsx)(nr,{className:`size-4 shrink-0 text-violet`,"aria-hidden":`true`}),(0,Q.jsxs)(`p`,{className:`min-w-0 text-[13px]`,children:[(0,Q.jsx)(`span`,{className:`font-semibold`,children:`Review the changes before anything lands.`}),` `,(0,Q.jsx)(`span`,{className:`text-muted-foreground`,children:`Read the diff, send notes back, draft a PR — or accept. Nothing merges on its own.`})]})]}),(0,Q.jsx)(Ur,{runId:e.id}),(0,Q.jsx)(il,{run:e,diffComments:t})]})}function il({run:e,diffComments:t}){let n=v(),r=(0,Z.useRef)(null),i=Xt(e.id,`review-notes`),a=i.text,o=i.setText,[s,c]=(0,Z.useState)(null),l=It(e.id),u=io(e),d=ba(e,(0,Z.useCallback)(t=>ae(e.id,{text:t,runner:u.runnerOverride}),[e.id,u.runnerOverride]),{surface:`review`}),f=()=>n.invalidateQueries({queryKey:V.runs.all}),p=W({mutationFn:async e=>{if(!u.canContinue)return null;let n=async t=>{let n=`Review feedback:\n${Xa(e,t)}`;if(n.length>1e5)throw Error(`Too long with the diff comments attached — shorten the notes or remove some comments.`);return d(n,[])};return i.submit(()=>t?t.submit(n):n([]))},onSuccess:e=>{e!==null&&f()},onError:e=>J(e.message,{tone:`danger`})}),m=Pt(e),h=W({mutationFn:()=>z(e.id),onSuccess:e=>{J(`Draft PR created — ${e.url}`),f()},onError:e=>{e instanceof T&&e.manual!==void 0&&c(e.manual),J(e.message,{tone:`danger`})}}),g=h.isPending||m.pending!==null,_=()=>m.byAgent?m.onAction(`create-draft-pr`):h.mutate(),y=t?.comments.length??0,b=()=>{let e=a.trim();if(e.length===0&&y===0){J(`Write what to change first.`),r.current?.focus();return}p.mutate(e)};return(0,Q.jsxs)(`div`,{"data-slot":`review-actions`,className:`flex flex-col gap-2`,children:[(0,Q.jsx)(Fn,{ref:r,"data-slot":`review-notes`,"aria-label":`Notes for the agent`,placeholder:`Notes for the agent — what should change?`,rows:2,value:a,onChange:e=>o(e.target.value),onKeyDown:e=>{fr({key:e.key,shiftKey:e.shiftKey,metaKey:e.metaKey,ctrlKey:e.ctrlKey,altKey:e.altKey,repeat:e.repeat,isComposing:e.nativeEvent.isComposing})&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),b())},className:`min-h-[52px] text-[13px]`}),y>0?(0,Q.jsxs)(`p`,{"data-slot":`review-diff-comments`,className:`text-xs text-muted-foreground`,children:[`+ `,y,` `,y===1?`comment`:`comments`,` on the diff — sent back with these notes.`]}):null,u.canContinue?null:(0,Q.jsxs)(`p`,{id:`review-provider-guidance`,className:`flex flex-wrap items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,Q.jsx)(`span`,{children:u.reason}),u.providerPending?null:(0,Q.jsx)(Y,{to:`/settings/agents#providers`,className:`font-medium text-foreground underline underline-offset-4`,children:`Configure providers`})]}),(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsxs)(q,{"data-slot":`review-send-back`,variant:`outline`,size:`sm`,title:u.reason??`Send the notes back into the agent's session`,"aria-describedby":u.canContinue?void 0:`review-provider-guidance`,disabled:p.isPending||!u.canContinue,onClick:b,children:[(0,Q.jsx)(ai,{"aria-hidden":`true`}),`Send back`]}),ge(e.pullRequestUrl)?(0,Q.jsx)(q,{asChild:!0,variant:`outline`,size:`sm`,children:(0,Q.jsxs)(`a`,{"data-slot":`pr-link`,href:e.pullRequestUrl,target:`_blank`,rel:`noopener noreferrer`,title:`The PR for this task is already open`,children:[(0,Q.jsx)(Zn,{"aria-hidden":`true`}),`PR ↗`]})}):(0,Q.jsxs)(q,{"data-slot":`review-draft-pr`,variant:`outline`,size:`sm`,title:m.byAgent?`Ask the agent to push the branch and open a draft PR`:`Push the branch and open a draft PR`,disabled:g,"aria-busy":g||void 0,onClick:_,children:[g?(0,Q.jsx)(lr,{"aria-hidden":`true`,className:`motion-safe:animate-spin`}):(0,Q.jsx)(sr,{"aria-hidden":`true`}),g?ir[`create-draft-pr`]:`Draft PR`]}),(0,Q.jsxs)(q,{"data-slot":`review-accept`,variant:`contrast`,size:`sm`,className:`ml-auto`,title:mt(`review`),disabled:l.isPending,onClick:()=>l.mutate(),children:[(0,Q.jsx)(In,{"aria-hidden":`true`}),`Accept`]})]}),s===null?null:(0,Q.jsx)(al,{command:s})]})}function al({command:e}){return(0,Q.jsxs)(`button`,{type:`button`,"data-slot":`review-manual`,title:`Copy the command`,onClick:()=>{navigator.clipboard.writeText(e).then(()=>J(`Command copied to clipboard.`)).catch(()=>J(`Run manually: ${e}`))},className:`flex w-full min-w-0 items-center gap-1.5 rounded-sm px-1 py-0.5 text-left font-mono text-[11px] text-soft-foreground hover:bg-muted hover:text-foreground`,children:[(0,Q.jsx)(Ge,{className:`size-3 shrink-0`,"aria-hidden":`true`}),(0,Q.jsxs)(`span`,{className:`truncate`,children:[`manual path: `,e]})]})}function ol(){return typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches}var sl=1500;function cl({status:e}){let t=(0,Z.useRef)(e),[n,r]=(0,Z.useState)(!1);return(0,Z.useEffect)(()=>{let n=t.current;if(t.current=e,n!==`review`||e!==`done`||ol())return;r(!0);let i=setTimeout(()=>r(!1),sl);return()=>clearTimeout(i)},[e]),n?(0,Q.jsxs)(`div`,{"data-slot":`accept-celebration`,"aria-hidden":`true`,className:`pointer-events-none fixed inset-0 isolate z-40`,children:[(0,Q.jsx)(Fr,{}),(0,Q.jsx)(`div`,{className:`flex justify-center pt-24`,children:(0,Q.jsx)(`span`,{className:`rounded-full border border-violet/30 bg-violet/15 px-4 py-1.5 text-[13px] font-medium text-violet shadow-modal`,children:`✓ Changes accepted`})})]}):null}var ll=new Map,ul=(e,t)=>JSON.stringify([e,t.id,t.questions.map(e=>[e.header,e.question,e.options.map(e=>e.label)])]);function dl(e,t){return ll.get(ul(e,t))??{}}function fl(e,t,n){ll.set(ul(e,t),n)}function pl(e,t){ll.delete(ul(e,t))}function ml(e,t){return`${e.header}: ${t.join(`, `)}`}function hl({ask:e,run:t}){return(0,Z.useEffect)(()=>{e.resolved&&pl(t.id,e)},[e,t.id]),e.resolved?(0,Q.jsxs)(`div`,{"data-slot":`ask-card`,"data-resolved":`true`,className:`rounded-lg border border-border bg-card px-3.5 py-2.5 text-xs text-muted-foreground`,children:[(0,Q.jsx)(`span`,{className:`text-soft-foreground`,children:`Answered`}),e.answer?(0,Q.jsx)(`span`,{className:`ml-1.5 break-words whitespace-pre-line text-foreground`,children:e.answer}):null]}):(0,Q.jsx)(gl,{ask:e,run:t})}function gl({ask:e,run:t}){let n=dt(t),r=n.blockedBy!==void 0,i=e.questions,a=i.length===1&&i[0]?.multiSelect!==!0,[o,s]=(0,Z.useState)(()=>dl(t.id,e)),c=(n,r)=>s(i=>{let a={...i,[n]:r};return fl(t.id,e,a),a}),l=e=>(o[e]?.length??0)>0,u=i.every((e,t)=>l(t)),d=i.some((e,t)=>l(t))?i.filter((e,t)=>!l(t)).map(e=>e.header):[],f=()=>void n.send(i.map((e,t)=>ml(e,o[t]??[])).join(`
25
25
  `)),p=n.mode===`resume`;return(0,Q.jsxs)(`div`,{"data-slot":`ask-card`,"data-resolved":`false`,"data-delivery":n.mode,className:`rounded-lg border border-primary/25 bg-primary/[0.04] px-4 pt-3.5 pb-3.5`,children:[(0,Q.jsx)(`div`,{className:`mb-2.5 flex items-center gap-2`,children:(0,Q.jsx)(`span`,{className:`text-xs font-medium text-primary`,children:e.fromWorkflow?`The workflow is asking`:`The agent is asking`})}),(0,Q.jsx)(`div`,{className:`flex flex-col gap-4`,children:i.map((e,t)=>(0,Q.jsx)(_l,{question:e,disabled:n.isPending||r,selected:o[t]??[],onSelect:i=>{r||(a?n.send(ml(e,i)):c(t,i))}},e.id??t))}),a?p?(0,Q.jsx)(`p`,{"data-slot":`ask-resume-hint`,className:`mt-3 text-[11.5px] text-soft-foreground`,children:`The session has ended — your answer reopens it and goes to the agent.`}):null:(0,Q.jsxs)(`div`,{className:`mt-3 flex items-center gap-2.5`,children:[(0,Q.jsx)(q,{size:`sm`,disabled:n.isPending||r||!u,onClick:f,children:p?`Send answer & reopen`:`Send answer`}),(0,Q.jsx)(`span`,{"data-slot":p?`ask-resume-hint`:`ask-hint`,className:`text-[11.5px] text-soft-foreground`,children:p?`the session has ended — sending reopens it`:`${i.length>1?`answer each question`:`pick one or more`} — or type a reply below`})]}),!a&&d.length>0?(0,Q.jsxs)(`p`,{"data-slot":`ask-unanswered`,className:`mt-2 text-[11.5px] text-soft-foreground`,children:[`unanswered: `,d.join(`, `)]}):null,n.blockedBy===`provider`?(0,Q.jsxs)(`div`,{"data-slot":`ask-provider-gate`,className:`mt-3 flex flex-wrap items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,Q.jsx)(`span`,{children:n.reason}),(0,Q.jsx)(Y,{to:`/settings/agents#providers`,className:`font-medium text-foreground underline underline-offset-4`,children:`Configure providers`})]}):null,n.blockedBy===`no-session`?(0,Q.jsx)(`p`,{"data-slot":`ask-no-session`,className:`mt-3 text-xs text-muted-foreground`,children:n.reason}):null,n.error?(0,Q.jsx)(`p`,{"data-slot":`ask-error`,role:`alert`,className:`mt-3 text-xs text-danger`,children:n.error}):null]})}function _l({question:e,disabled:t,selected:n,onSelect:r}){let i=e.multiSelect===!0,a=e=>{if(!i){r([e]);return}r(n.includes(e)?n.filter(t=>t!==e):[...n,e])};return(0,Q.jsxs)(`div`,{role:`group`,"aria-label":e.question,children:[(0,Q.jsxs)(`div`,{className:`mb-0.5 flex items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:`rounded-md bg-primary px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-primary-foreground`,children:e.header}),i?(0,Q.jsx)(`span`,{className:`ml-auto text-[10.5px] text-soft-foreground`,children:`select all that apply`}):null]}),(0,Q.jsx)(`p`,{className:`mb-2.5 break-words text-sm font-semibold text-foreground`,children:e.question}),(0,Q.jsx)(`div`,{className:`flex flex-col gap-2`,children:e.options.map(e=>{let r=n.includes(e.label);return(0,Q.jsxs)(`button`,{type:`button`,disabled:t,"aria-pressed":r,onClick:()=>a(e.label),className:K(`flex w-full flex-col gap-0.5 rounded-md border px-3.5 py-2.5 text-left transition-colors`,`hover:border-primary/50 hover:bg-primary/[0.06] disabled:pointer-events-none disabled:opacity-50`,r?`border-primary/60 bg-primary/[0.06]`:`border-border bg-card`),children:[(0,Q.jsxs)(`span`,{className:`flex min-w-0 items-start gap-2 text-[13.5px] font-semibold text-foreground`,children:[i?(0,Q.jsx)(`span`,{"aria-hidden":!0,className:K(`flex size-4 shrink-0 items-center justify-center rounded border text-[10px]`,r?`border-primary bg-primary text-primary-foreground`:`border-soft-foreground`),children:r?`✓`:``}):null,(0,Q.jsx)(`span`,{className:`min-w-0 break-words`,children:e.label})]}),e.description?(0,Q.jsx)(`span`,{className:`min-w-0 break-words text-xs text-muted-foreground`,children:e.description}):null]},e.label)})})]})}var vl=/\b\d+\.\d+(?:\.\d+)?\+? or (?:newer|later|higher|above) is required\b|\brequires? (?:version |v)?\d+\.\d+(?:\.\d+)? or (?:newer|later|higher)\b/i;function yl(e){return vl.test(e)}function bl(e){for(let t=e.turns.length-1;t>=0;--t){let n=e.turns[t].planEntries;if(n!==void 0)return n}}function xl(e){let t=[];for(let n of e.turns)for(let e of n.items)if(e.kind===`tool`){for(let n of e.locations??[])t.push(n.path);for(let n of e.diffs??[])t.push(n.path)}let n=[];for(let e=t.length-1;e>=0;--e)n.includes(t[e])||n.push(t[e]);return n}function Sl(e,t,n=!1){switch(e){case`waiting`:return{state:`waiting`};case`failed`:return n?{state:`closed`,tone:`dim`,label:`Session closed — waiting for your answer, which reopens it`}:{state:`closed`,tone:`danger`,label:t?`Session failed — ${t}`:`Session failed`};case`review`:return{state:`closed`,tone:`dim`,label:`Session closed — waiting for your review`};case`done`:case`cancelled`:return{state:`closed`,tone:`dim`,label:`Session closed`};default:return null}}function Cl(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function $(e){return typeof e==`string`?e:void 0}function wl(e){if(!(typeof e!=`string`||e===``))return Number.isFinite(new Date(e).getTime())?e:void 0}function Tl(e){return e===`claude`||e===`codex`||e===`junie`||e===`opencode`||e===`cursor`||e===`pi`||e===`copilot`?e:void 0}var El=e=>Cl(e)&&typeof e.header==`string`&&Array.isArray(e.options);function Dl(e,t){let n=e.replace(/\s*CEZ:DONE\s*$/,``).replace(/\s*CEZ:MONITORING\s*$/,``);return t&&(n=n.replace(/\s*CEZ:ASK[ \t]+\{[\s\S]*\}\s*$/,``)),n.includes(`CEZ:`)?n.split(`
26
26
  `).filter(e=>!/^CEZ:(?:PR=\d+|ISSUE=\d+|TITLE=.+)\s*$/.test(e)).join(`
27
- `):n}function Ol(e){let t=e=>Dl(e,!0).replace(/\s+/g,``),n=new Set,r=[];for(let{origin:i,entry:a}of e.entries)if(i===`v2`&&a.kind===`message`){let e=t(a.text);n.add(e),r.push(e)}if(r.length===0)return;n.add(r.join(``));let i=[],a={entries:[],texts:[]},o=()=>{if(a.entries.length>=2&&n.has(t(a.texts.join(``)))){a={entries:[],texts:[]};return}i.push(...a.entries),a={entries:[],texts:[]}};for(let t of e.entries)t.origin===`v1`&&t.entry.kind===`message`?(a.entries.push(t),a.texts.push(t.entry.text)):(o(),i.push(t));o(),e.entries=i}function kl(e){if(typeof e==`string`)return e;if(e==null)return``;try{return JSON.stringify(e)}catch{return String(e)}}var Al=e=>e.kind===`message`||e.kind===`reasoning`||e.kind===`tool`,jl=new Set([`pending`,`in_progress`,`completed`,`cancelled`]);function Ml(e){if(!Cl(e)||!Array.isArray(e.todos))return;let t=[];for(let n of e.todos){if(!Cl(n)||typeof n.content!=`string`)return;t.push({content:n.content,status:jl.has(n.status)?n.status:`pending`,...typeof n.activeForm==`string`?{activeForm:n.activeForm}:{}})}return t}function Nl(e,t={}){let n=[],r=new Map,i,a=0,o,s,c=e=>{a+=1;let t={id:e===void 0?`turn-fallback-${a}`:`turn-seq-${e}`,entries:[],v2Items:!1};return n.push(t),t},l=()=>n.at(-1)??c(),u=Tl(t.runner),d=new WeakSet,f=(e,t)=>{let n=l();u===void 0||d.has(n)||!yl(e)||(d.add(n),n.entries.push({origin:`meta`,entry:{kind:`agent-update-required`,id:`${t}:update`,provider:u}}))},p=(e,t)=>He(e.stepId,t),m=(e,t,n)=>{let i={...t};if(!e.v2Items){e.v2Items=!0;for(let t of e.entries)t.origin===`v1`&&t.entry.kind===`tool`&&r.delete(t.entry.id);e.entries=e.entries.filter(e=>!(e.origin===`v1`&&e.entry.kind===`tool`))}let a=r.get(n);if(a&&a.turn===e){a.entry.entry=i,r.set(n,a);return}let o={origin:`v2`,entry:i};e.entries.push(o),r.set(n,{turn:e,entry:o})};for(let t of e)switch(s=wl(t.ts)??s,t.type){case`user-message`:{let e=$(t.text)??``;o&&!o.resolved&&(o.resolved=!0,e!==``&&(o.answer=e),o=void 0);let n=c(t.seq),r=wl(t.ts);n.userMessage={text:e,imageCount:typeof t.imageCount==`number`?t.imageCount:0,images:Array.isArray(t.images)?t.images.filter(e=>typeof e==`string`):[],...r===void 0?{}:{ts:r}},r!==void 0&&(n.startedAt=r);break}case`turn.started`:{let e=$(t.turnId),r=n.at(-1),i=r&&r.turnId===void 0&&!r.v2Items?r:c(t.seq);i.turnId=e;let a=wl(t.ts);i.startedAt===void 0&&a!==void 0&&(i.startedAt=a);break}case`turn.completed`:{let e=$(t.turnId),r;for(let t=n.length-1;t>=0&&!r;--t)n[t].turnId===e&&(r=n[t]);let i=r??n.at(-1);if(i){let e=wl(t.ts);i.completed={stopReason:$(t.stopReason)??`end_turn`,...typeof t.costUsd==`number`?{costUsd:t.costUsd}:{},...e===void 0?{}:{ts:e}}}break}case`item.started`:case`item.updated`:case`item.completed`:{if(!Cl(t.item))break;let e=t.item.kind,n=t.item.id;if(e!==`message`&&e!==`reasoning`&&e!==`tool`||typeof n!=`string`||n===``)break;let i=t.item,a=p(t,i.id);m(r.get(a)?.turn??l(),i,a);break}case`item.delta`:{let e=$(t.itemId)??``,n=r.get(p(t,e)),i=$(t.delta)??``;if(!n||i===``||!Al(n.entry.entry))break;let a=n.entry.entry;t.field===`output`&&a.kind===`tool`?a.output=(a.output??``)+i:t.field!==`output`&&a.kind!==`tool`&&(a.text+=i);break}case`text`:{let e=l(),n=$(t.text)??``;if(n===``)break;e.entries.push({origin:`v1`,entry:{kind:`message`,id:`v1:${t.seq}`,role:`assistant`,text:n}});break}case`tool-call`:{let e=l();if(e.v2Items)break;let n=$(t.tool)??`Tool`;if(Pl.has(n))break;let i=ri(n,t.input);if(i.toolKind===`plan`){let n=Ml(t.input);n!==void 0&&(e.planEntries=n)}let a={kind:`tool`,id:$(t.id)??`v1:${t.seq}`,name:n,toolKind:i.toolKind,title:i.title,status:`running`,input:t.input},o={origin:`v1`,entry:a};e.entries.push(o),r.set(a.id,{turn:e,entry:o});break}case`tool-result`:{let e=r.get($(t.toolCallId)??``);if(!e||e.turn.v2Items||e.entry.origin!==`v1`)break;let n=e.entry.entry;if(n.kind!==`tool`)break;n.status=`completed`,n.output=kl(t.result);break}case`note`:case`lifecycle`:{let e=$(t.message)??``;if(e===``)break;let n=t.tone===`danger`?`danger`:`dim`;l().entries.push({origin:`meta`,entry:{kind:`note`,id:`v1:${t.seq}`,text:e,tone:n}});break}case`error`:{let e=$(t.message)??``;if(e===``)break;l().entries.push({origin:`meta`,entry:{kind:`note`,id:`v1:${t.seq}`,text:e,tone:`danger`}}),f(e,`v1:${t.seq}`);break}case`session.error`:{let e=$(t.message)??``;if(e===``)break;l().entries.push({origin:`meta`,entry:{kind:`note`,id:`v2:${t.seq}`,text:e,tone:`danger`}}),f(e,`v2:${t.seq}`);break}case`session.started`:u=Tl(t.backend)??u;break;case`step-end`:{if(t.status!==`failed`)break;let e=$(t.error)?` — ${$(t.error)}`:``;l().entries.push({origin:`meta`,entry:{kind:`note`,id:`v1:${t.seq}`,text:`step ${$(t.stepId)??`?`} failed${e}`,tone:`danger`}});break}case`check-output`:{let e=$(t.command)??`check`,n=typeof t.exitCode==`number`?t.exitCode:-1,r={kind:`tool`,id:`v1:${t.seq}`,name:`check`,toolKind:`execute`,title:`Ran ${e}`,status:n===0?`completed`:`failed`,output:$(t.text)??``,exitCode:n};l().entries.push({origin:`meta`,entry:r});break}case`provider-auth-required`:{let e=Tl(t.provider),n=$(t.authFailureId);if(e===void 0||n===void 0||n.length<1||n.length>128)break;let r=$(t.profileId);l().entries.push({origin:`meta`,entry:{kind:`provider-auth-required`,id:`v1:${t.seq}`,provider:e,authFailureId:n,...r!==void 0&&r.length<=128?{profileId:r}:{}}});break}case`image`:{let e=$(t.url);if(e===void 0)break;let n={kind:`image`,id:`v1:${t.seq}`,url:e},r=$(t.name);r!==void 0&&(n.name=r),l().entries.push({origin:`meta`,entry:n});break}case`plan.updated`:Array.isArray(t.entries)&&(l().planEntries=t.entries);break;case`session.ended`:i={reason:$(t.reason)??`end_turn`,...$(t.message)===void 0?{}:{message:$(t.message)}};break;case`ask.requested`:{let e=$(t.requestId);if(e===void 0||!Array.isArray(t.questions))break;let n=t.questions,r=n.every(El)?n:n.filter(El);if(r.length===0)break;let i={kind:`ask`,id:e,questions:r,resolved:!1,...t.source===`workflow`?{fromWorkflow:!0}:{}};l().entries.push({origin:`meta`,entry:i}),o=i;break}case`step-start`:case`token-usage`:case`cost`:case`turn-end`:case`done`:case`session`:break;default:break}for(let e of n){if(!e.v2Items)continue;let t=new Set;for(let{origin:n,entry:r}of e.entries)n===`v2`&&r.kind===`message`&&t.add(Dl(r.text,!0).trim());t.size!==0&&(e.entries=e.entries.filter(e=>!(e.origin===`v1`&&e.entry.kind===`message`&&t.has(Dl(e.entry.text,!0).trim()))),Ol(e))}return{turns:n.map((e,r)=>{let i=e.entries.some(({entry:e})=>e.kind===`ask`),a=t.activeTurn===!0&&r===n.length-1;return{id:e.id,...e.turnId===void 0?{}:{turnId:e.turnId},...e.userMessage===void 0?{}:{userMessage:e.userMessage},...e.startedAt===void 0?{}:{startedAt:e.startedAt},...e.planEntries===void 0?{}:{planEntries:e.planEntries},...e.completed===void 0?{}:{completed:e.completed},items:e.entries.map(({entry:e})=>e.kind===`message`&&e.role===`assistant`?{...e,text:Dl(e.text,i||a)}:e)}}),...i===void 0?{}:{sessionEnded:i},...s===void 0?{}:{lastEventAt:s}}}var Pl=new Set([`subAgentActivity`,`collabAgentToolCall`,`collabToolCall`]);function Fl({run:e,thread:t,currentThread:n=t,history:r,onMarkedUnread:i,embedded:a=!1}){let o=Sl(e.status,e.error,g(e)),s=(0,Z.useCallback)(()=>i?.(e.id),[i,e.id]),c=bl(n),u=l(e),d=c!==void 0&&c.length>0?pc(c):void 0,f=e.status===`running`||e.status===`waiting`,p=e.status===`queued`,m=ao(e),h=!f&&!p&&m.available,_=h&&m.canContinue,v=ba(e,m.continueWith,{surface:null}),y=!!e.worktreeLifecycle?.activeOperationId,x=!f&&e.status!==`queued`,S=(0,Z.useMemo)(()=>Zs(n.turns,x),[n.turns,x]),C=(0,Z.useMemo)(()=>Qs(n.turns),[n.turns]),[w,T]=(0,Z.useState)(void 0),[E,D]=(0,Z.useState)(e.id);E!==e.id&&(D(e.id),T(void 0));let O=(0,Z.useMemo)(()=>w===void 0?void 0:ic(n.turns,w,x),[n.turns,w,x]),k=(0,Z.useMemo)(()=>w===void 0?[]:ac(n.turns,w),[n.turns,w]),A=Xt(e.id,`composer`),j=to(e.id),{mutateAsync:M}=fe(e.id),{mutateAsync:N}=ue(e.id),{mutateAsync:P}=H(e.id),F=(0,Z.useMemo)(()=>p?{onEditTask:async e=>{await M({task:e})},onEditMessage:(e,t)=>N({msgId:e,message:{text:t}}).then(()=>void 0),onRemoveMessage:e=>P(e).then(()=>void 0)}:void 0,[p,M,N,P]),I=(0,Z.useMemo)(()=>Ec(e,t),[e,t]),ee=(0,Z.useMemo)(()=>kc(I,e.id),[I,e.id]),L=(0,Z.useCallback)(t=>(0,Q.jsx)(hl,{ask:t,run:e}),[e]),z=(0,Z.useMemo)(()=>{if(F===void 0)return;let t={task:{onEdit:F.onEditTask,editLabel:`Edit the prompt`,draftSurface:`task-prompt`}};for(let n of e.queuedMessages??[])t[`queued:${n.id}`]={onEdit:e=>F.onEditMessage(n.id,e),onRemove:()=>F.onRemoveMessage(n.id),draftSurface:`message:${n.id}`};return t},[F,e.queuedMessages]),B=re(e,b()),{search:te}=Te(),ne=qo(te,ee.length),ie=Sc(`${e.id}:main`,{onLoadOlder:r?.hasOlder?r.loadOlder:void 0,onJumpToLatest:r?.jumpToLatest,rowKeys:ee.map(({key:e})=>e)});return Me(ie.restickIfStuck),(0,Q.jsxs)(`div`,{"data-route":`task-thread`,"data-run-id":e.id,className:`flex min-h-full flex-col`,children:[a?null:(0,Q.jsx)(Gt,{run:e,planTally:d,onMarkedUnread:s,continuationEngine:_?m.pills:void 0}),(0,Q.jsxs)(`div`,{className:`mx-auto flex w-full max-w-[var(--measure)] flex-1 flex-col gap-2.5 px-3 py-3 md:gap-3.5 md:px-6 md:py-5`,children:[e.worktreeLifecycle?(0,Q.jsx)(En,{worktreeId:e.worktreeLifecycle.worktreeId,operationId:e.worktreeLifecycle.activeOperationId,worktreePath:e.worktreePath,taskTitle:e.title??e.task}):null,r?(0,Q.jsx)(Bl,{hasOlder:r.hasOlder,loading:r.isFetchingOlder,error:r.olderError,fallback:r.fallback,retainedPages:r.retainedPages,onLoad:ie.loadOlder}):null,(0,Q.jsx)(Ac,{runId:e.id,viewId:`main`,sections:I,mode:`document`,renderAsk:L,messageActions:z,scrollControls:ie,renderMode:ne,rowModels:ee}),t.turns.length===0?e.status===`queued`?(0,Q.jsx)(Hl,{run:e}):(0,Q.jsx)(`p`,{"data-slot":`thread-empty`,className:`py-6 text-center text-xs text-soft-foreground`,children:`No session events yet.`}):null,e.status===`running`&&!y?(0,Q.jsx)(Os,{since:Vl(e,n),lastActivityAt:n.lastEventAt}):null,(0,Q.jsx)(Oo,{run:e}),o&&o.state===`closed`?(0,Q.jsxs)(`div`,{"data-slot":`thread-footer`,"data-state":o.state,className:K(`mt-auto flex items-center gap-2 border-t border-border pt-3 text-xs`,o.tone===`danger`?`text-danger`:`text-soft-foreground`),children:[(0,Q.jsx)(Ll,{label:o.label,offerContinue:o.tone===`danger`&&!e.autoResumeAt,onContinue:h?()=>v(``,[]):void 0,blockedReason:_?void 0:m.providerPending?`Checking the agent provider…`:m.reason??`Connect an agent provider to continue.`}),ge(R(e))?(0,Q.jsx)(`a`,{"data-slot":`pr-link`,href:R(e),target:`_blank`,rel:`noopener noreferrer`,className:`font-medium text-foreground underline-offset-2 hover:underline`,children:`PR ↗`}):null,ge(B)?(0,Q.jsx)(`a`,{"data-slot":`issue-link`,href:B,target:`_blank`,rel:`noopener noreferrer`,className:`font-medium text-foreground underline-offset-2 hover:underline`,children:`Issue ↗`}):null]}):null,e.status===`review`&&!y?(0,Q.jsx)(rl,{run:e,diffComments:j}):null]}),(0,Q.jsx)(cl,{status:e.status}),(0,Q.jsx)(el,{runId:e.id,renderAsk:L,agent:O,entries:k,onClose:()=>T(void 0)}),(0,Q.jsxs)(fo,{overlay:ie.pillVisible?(0,Q.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 -top-12 flex justify-center`,children:(0,Q.jsx)(Tc,{onJump:ie.jumpToLatest})}):null,children:[(0,Q.jsx)(cc,{runId:e.id,agents:S,onSelect:T},`agents:${e.id}`),(0,Q.jsx)(vc,{skills:C}),c!==void 0&&c.length>0?(0,Q.jsx)(hc,{runId:e.id,entries:c,settled:x},e.id):null,(0,Q.jsx)(Do,{run:e}),!y&&u?(0,Q.jsxs)(`div`,{"data-slot":`budget-hint`,className:`flex items-center gap-2 px-1 text-xs text-muted-foreground`,children:[(0,Q.jsx)(Mr,{tone:`pending`,pulse:!0}),`Budget reached — spent $`,u.spent.toFixed(2),` of $`,u.ceiling.toFixed(2),`; send a message to continue.`,e.status===`waiting`?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,Q.jsx)(zl,{runId:e.id})]}):null]}):!y&&e.status===`waiting`?(0,Q.jsxs)(`div`,{"data-slot":`paused-hint`,className:`flex items-center gap-2 px-1 text-xs text-muted-foreground`,children:[(0,Q.jsx)(Mr,{tone:`pending`,pulse:!0}),`The agent is paused, waiting for your reply`,(0,Q.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,Q.jsx)(zl,{runId:e.id})]}):null,p?(0,Q.jsxs)(`div`,{"data-slot":`queued-hint`,className:`flex items-center gap-2 px-1 text-xs text-muted-foreground`,children:[(0,Q.jsx)(Mr,{tone:`pending`}),`Messages you add now are folded into the prompt before the run starts.`]}):null,y?(0,Q.jsx)(`p`,{className:`px-1 text-xs text-muted-foreground`,children:`Resolve the worktree operation above before continuing this task.`}):(0,Q.jsx)(uo,{run:e,draft:A,diffComments:j,continueAction:m,getMentionCandidates:()=>xl(t)})]})]})}var Il=/— continue to /i;function Ll({label:e,offerContinue:t=!1,onContinue:n,blockedReason:r}){let i=n?Il.exec(e):null;if(!n)return(0,Q.jsx)(`span`,{children:e});if(!i)return t?(0,Q.jsxs)(`span`,{children:[e,` `,(0,Q.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),` `,(0,Q.jsx)(Rl,{onContinue:n,blockedReason:r})]}):(0,Q.jsx)(`span`,{children:e});let a=e.slice(0,i.index),o=e.slice(i.index+i[0].length);return(0,Q.jsxs)(`span`,{children:[a,`—`,` `,(0,Q.jsx)(Rl,{onContinue:n,blockedReason:r}),` to `,o]})}function Rl({onContinue:e,blockedReason:t}){let[n,r]=(0,Z.useState)(!1);return(0,Q.jsx)(`button`,{type:`button`,"data-slot":`footer-continue`,disabled:n||t!==void 0,title:t??`Reopen the session and pick up where it stopped`,onClick:()=>{r(!0),e().catch(e=>J(e instanceof Error?e.message:String(e),{tone:`danger`})).finally(()=>r(!1))},className:`rounded-sm font-semibold underline underline-offset-2 hover:brightness-125 focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none disabled:cursor-not-allowed disabled:no-underline disabled:opacity-60`,children:`Continue`})}function zl({runId:e}){let t=It(e);return(0,Q.jsx)(`button`,{type:`button`,"data-slot":`end-session`,title:`Close the session — the task finishes (or goes to review if it changed files)`,disabled:t.isPending,onClick:()=>t.mutate(),className:`rounded-sm font-medium text-foreground underline-offset-2 hover:underline focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none disabled:opacity-60`,children:`End session`})}function Bl({hasOlder:e,loading:t,error:n,fallback:r,retainedPages:i,onLoad:a}){return r?(0,Q.jsx)(`p`,{"data-slot":`history-fallback`,className:`text-center text-xs text-soft-foreground`,role:`status`,children:`Progressive history is unavailable; showing the complete session.`}):!e&&!n?(0,Q.jsxs)(`div`,{"data-slot":`history-start`,className:`flex items-center gap-3 text-[11px] text-soft-foreground`,children:[(0,Q.jsx)(`span`,{"aria-hidden":!0,className:`h-px flex-1 bg-border`}),`Start of session`,(0,Q.jsx)(`span`,{"aria-hidden":!0,className:`h-px flex-1 bg-border`})]}):(0,Q.jsxs)(`div`,{"data-slot":`history-boundary`,"data-retained-pages":i,"aria-busy":t,className:`flex min-h-8 items-center justify-center text-xs text-muted-foreground`,children:[(0,Q.jsx)(`button`,{type:`button`,onClick:a,disabled:t,className:`rounded-md px-3 py-1.5 font-medium hover:bg-muted disabled:cursor-wait`,children:t?`Loading 100 earlier items…`:n?`Couldn’t load earlier items · Retry`:`Load 100 earlier items`}),(0,Q.jsx)(`span`,{className:`sr-only`,"aria-live":`polite`,children:t?`Loading earlier session history`:n||``})]})}function Vl(e,t){let n=t.turns.at(-1);return n===void 0?e.startedAt:n.completed===void 0?n.startedAt??e.startedAt:n.completed.ts??e.startedAt}function Hl({run:e}){let t=at(le().data??[],e.id);return(0,Q.jsxs)(`div`,{"data-slot":`queued-state`,className:`flex flex-col items-center gap-1.5 py-10 text-center`,children:[(0,Q.jsx)(Mr,{tone:`pending`,pulse:!0}),(0,Q.jsxs)(`p`,{className:`text-[13px] font-medium`,children:[`Waiting for a free agent slot`,t===void 0?``:` — #${t} in queue`]}),(0,Q.jsxs)(`p`,{className:`text-xs text-soft-foreground`,children:[e.workflow,` · starts automatically when a slot frees up`]})]})}var Ul=(0,Z.createContext)(null);function Wl(){return(0,Z.useContext)(Ul)}function Gl(e,t){let n=(0,Z.useRef)(null),[r,i]=(0,Z.useState)(null);return(0,Z.useLayoutEffect)(()=>{if(!e){i(null);return}let t=n.current?.closest(`[data-slot="panel"]`)??n.current?.closest(`[data-slot="main"]`);if(!t)return;let r=()=>{let e=t.getBoundingClientRect();i({top:e.top,left:e.left,width:e.width,height:e.height})};r();let a=new ResizeObserver(r);return a.observe(t),window.addEventListener(`resize`,r),()=>{a.disconnect(),window.removeEventListener(`resize`,r)}},[e]),(0,Z.useEffect)(()=>{if(!e)return;let n=e=>{e.key!==`Escape`||e.defaultPrevented||document.querySelector(`[role="dialog"], [role="alertdialog"], [role="menu"], [role="listbox"]`)||t()};return window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[e,t]),{ref:n,covering:e&&r!==null,style:e&&r?r:void 0}}function Kl({className:e}){let t=Wl();return t?.maximized?(0,Q.jsxs)(q,{type:`button`,variant:`outline`,size:`xs`,"data-action":`exit-full-view`,title:`Exit full view (Esc)`,onClick:t.toggle,className:K(`shrink-0 text-foreground`,e),children:[(0,Q.jsx)(ci,{"aria-hidden":`true`}),`Exit full view`]}):null}var ql=[];function Jl(e){return Array.isArray(e)?e.flatMap(e=>{let t=he.safeParse(e);return t.success?[t.data]:[]}):[]}function Yl(){let e=v(),t=w(),n=Z.useRef(0),r=Z.useRef(Promise.resolve()),a=t.data?.savedLayouts,o=Z.useMemo(()=>a?Jl(a).filter(e=>!Tt(e.name)&&e.columns.every(e=>Ot(e.view))):ql,[a]),s=Z.useCallback(t=>{let a=e.getQueryData(m.uiState);if(a===void 0)return;let o=t(Jl(a.savedLayouts)).slice(0,50);e.setQueryData(m.uiState,{...a,savedLayouts:o});let s=++n.current,c=r.current.then(async()=>{let t=await i({savedLayouts:o},{keepalive:!0});s===n.current&&e.setQueryData(m.uiState,t)});r.current=c.catch(t=>{J(t instanceof Error?t.message:String(t),{tone:`danger`}),s===n.current&&e.invalidateQueries({queryKey:m.uiState})})},[e]);return{saved:o,save:Z.useCallback(e=>s(t=>{let n={name:e.name,columns:e.columns.map(({view:e,width:t})=>({view:e,width:t}))},r=t.findIndex(t=>t.name===e.name);return r<0?[...t,n]:t.map((e,t)=>t===r?n:e)}),[s]),remove:Z.useCallback(e=>s(t=>t.filter(t=>t.name!==e)),[s])}}var Xl=400,Zl=1500,Ql=2e3,$l=3e4;function eu(e){let[t,n]=(0,Z.useState)(Vt),[r,i]=(0,Z.useState)(!1),[a,o]=(0,Z.useState)(!1),[s,l]=(0,Z.useState)(!1),[u,d]=(0,Z.useState)(0),f=(0,Z.useRef)(null),p=(0,Z.useRef)({taskId:e,state:null});p.current.taskId!==e&&(p.current={taskId:e,state:null},n(Vt()),i(!1),o(!1),l(!1),d(0)),(0,Z.useEffect)(()=>{let t=!1,r=null;f.current=null;let a=t=>{p.current={taskId:e,state:t},_.current=t,g.current={taskId:e,state:t},n(t),i(!0)},o=async n=>{let i;try{i=await c(e)}catch{if(t)return;n===0&&a(Vt()),l(!0),r=setTimeout(()=>void o(n+1),Math.min($l,Ql*2**n));return}t||(f.current=e,m.current&&clearTimeout(m.current),m.current=null,l(!1),!(n>0&&i.layouts===null)&&(a(i.layouts===null?Vt():rn(i.layouts)),n>0&&d(e=>e+1)))};return o(0),()=>{t=!0,r&&clearTimeout(r)}},[e]);let m=(0,Z.useRef)(null),h=(0,Z.useRef)(0),g=(0,Z.useRef)(null),_=(0,Z.useRef)(null),v=(0,Z.useCallback)((e,t,n=!1)=>{if(f.current!==e)return;_.current=t;let r=h.current+=1,i=t=>{r===h.current&&p.current.taskId===e&&o(t)},a=o=>{(n?de(e,t,{keepalive:n}):de(e,t)).then(()=>i(!1)).catch(e=>{if(r===h.current){if(e?.status===400)return i(!0);if(o>0){setTimeout(()=>{r===h.current&&a(o-1)},Zl);return}i(!0)}})};a(1)},[]),y=(0,Z.useCallback)((e=!1)=>{let t=g.current;!t||t.state===_.current||(m.current&&clearTimeout(m.current),m.current=null,v(t.taskId,t.state,e))},[v]);(0,Z.useEffect)(()=>{if(!(!r||p.current.taskId!==e||t===p.current.state))return g.current={taskId:e,state:t},m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{m.current=null,v(e,t)},Xl),()=>{m.current&&clearTimeout(m.current),m.current=null}},[r,v,e,t,s]),(0,Z.useEffect)(()=>{let e=()=>y(!0);return window.addEventListener(`pagehide`,e),()=>{window.removeEventListener(`pagehide`,e),y()}},[y,e]);let b=(0,Z.useCallback)(e=>{n(t=>t.active?e(t,t.active):t)},[]);return{state:t,ready:r,saveFailed:a,loadFailed:s,replaced:u,layout:Et(t),addLayout:(0,Z.useCallback)(e=>n(t=>Bt(t,e)),[]),closeLayout:(0,Z.useCallback)(e=>n(t=>bt(t,e)),[]),selectLayout:(0,Z.useCallback)(e=>n(t=>st(t,e)),[]),renameLayout:(0,Z.useCallback)((e,t)=>n(n=>on(n,e,t)),[]),applySaved:(0,Z.useCallback)(e=>n(t=>Kt(t,e)),[]),keepAs:(0,Z.useCallback)(e=>n(t=>Ht(t,e)),[]),addColumn:(0,Z.useCallback)(e=>b((t,n)=>Yt(t,n,e)),[b]),closeColumn:(0,Z.useCallback)(e=>b((t,n)=>Mt(t,n,e)),[b]),setColumnView:(0,Z.useCallback)((e,t)=>b((n,r)=>tn(n,r,e,t)),[b]),resizeColumns:(0,Z.useCallback)((e,t)=>b((n,r)=>St(n,r,e,t)),[b]),moveColumn:(0,Z.useCallback)((e,t)=>b((n,r)=>jt(n,r,e,t)),[b]),openDeepLink:(0,Z.useCallback)(e=>n(t=>yt(t,e)),[]),dropView:(0,Z.useCallback)((e,t,r)=>n(n=>Ct(n,e,t,r)),[]),setColumnBrowser:(0,Z.useCallback)((e,t)=>b((n,r)=>Je(n,r,e,t)),[b]),openInBrowser:(0,Z.useCallback)(e=>{let t=g.current?.state;return!t||$t(t,e)===null?!1:(n(t=>$t(t,e)??t),!0)},[]),openBeside:(0,Z.useCallback)(e=>{let t=g.current?.state??p.current.state;if(!t)return null;let r=At(t,e);return r?(n(t=>At(t,e)?.state??t),{name:r.name,index:r.index}):null},[])}}function tu({view:e,columns:t,onDrop:n}){let[r,i]=(0,Z.useState)(null),a=t.length>=nt;return(0,Q.jsx)(`div`,{"data-slot":`view-drop-zones`,className:`absolute inset-0 z-30 flex gap-px bg-background/40 backdrop-blur-[1px]`,children:(t.length===0?[{width:100,zones:[{key:`only`,at:0,mode:`insert`,label:`Open ${Ze(e)} here`}]}]:t.map((t,n)=>{let r={key:`replace:${n}`,at:n,mode:`replace`,label:t.view===e?Ze(e):`Replace ${Ze(t.view)}`,hint:a?`${nt} columns is the limit`:void 0},i=a?[r]:[{key:`insert:${n}`,at:n,mode:`insert`,label:`Beside`,hint:`left`},r,{key:`insert:${n+1}:${n}`,at:n+1,mode:`insert`,label:`Beside`,hint:`right`}];return{width:t.width,zones:i}})).map((e,t)=>(0,Q.jsx)(`div`,{style:{flexBasis:`${e.width}%`},className:K(`grid min-w-0 grow gap-1.5 p-2.5`,e.zones.length===3?`grid-cols-[26%_1fr_26%]`:`grid-cols-1`),children:e.zones.map(e=>(0,Q.jsxs)(`div`,{"data-drop-zone":e.mode,onDragOver:t=>{t.dataTransfer.types.includes(`text/cez-view`)&&(t.preventDefault(),t.dataTransfer.dropEffect=`move`,i(e.key))},onDragLeave:()=>i(t=>t===e.key?null:t),onDrop:t=>{let r=t.dataTransfer.getData(Jr);Ot(r)&&(t.preventDefault(),n(r,e.at,e.mode))},className:K(`flex flex-col items-center justify-center rounded-lg border-[1.5px] border-dashed border-border bg-background/80 p-2 text-center text-xs font-medium text-muted-foreground transition-colors`,r===e.key&&`border-foreground/60 bg-muted text-foreground`),children:[e.label,e.hint?(0,Q.jsx)(`span`,{className:`text-[11px] font-normal opacity-80`,children:e.hint}):null]},e.key))},t))})}var nu=1024;function ru({columns:e,actions:t,renderView:n,headerExtras:r}){let i=Ue(nu),a=(0,Z.useRef)(null),[o,s]=(0,Z.useState)(0),[c,l]=(0,Z.useState)(null),u=c===null?null:Math.min(c,e.length),d=e.length+(u===null?0:1)<nt,f=n=>{if(u===null)return;let r=u;l(null),t.addColumn(n),r<e.length&&t.moveColumn(e.length,r)},p=(n,r)=>(0,Q.jsx)(au,{index:n,column:r,count:e.length,actions:t});if(e.length===0)return(0,Q.jsx)(`div`,{"data-slot":`workspace-columns`,className:`flex min-h-0 flex-1 flex-col`,children:(0,Q.jsx)(et,{onPick:t.addColumn})});let m=e.length+(u===null?0:1),h=e=>u===null?e.width:100/m,g=(0,Q.jsxs)(`header`,{className:`flex h-8 shrink-0 items-center gap-1.5 border-b border-border/70 bg-background pl-4 pr-1.5 text-xs font-medium text-muted-foreground`,children:[(0,Q.jsx)(Nn,{"aria-hidden":`true`,className:`size-3.5 shrink-0`}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:`New window`}),(0,Q.jsx)(q,{type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":`Close new window`,title:`Close`,onClick:()=>l(null),className:`text-soft-foreground`,children:(0,Q.jsx)(gr,{"aria-hidden":`true`,className:`size-3.5`})})]}),_=u===null?null:(0,Q.jsxs)(`div`,{"data-slot":`workspace-column`,"data-pending":``,className:`relative flex min-w-0 flex-col border-l border-border/70 first:border-l-0`,style:{width:`${100/m}%`},children:[g,(0,Q.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-y-auto`,children:(0,Q.jsx)(et,{scope:`window`,onPick:f})})]},`pending`);if(!i){let i=e.map((e,t)=>t);u!==null&&i.splice(u,0,`pending`);let a=Math.min(o,i.length-1),c=i[a],m=c===`pending`?null:e[c];return(0,Q.jsxs)(`div`,{"data-slot":`workspace-columns`,"data-narrow":``,className:`flex min-h-0 flex-1 flex-col`,children:[i.length>1?(0,Q.jsx)(Ar,{value:String(a),onValueChange:e=>s(Number(e)),className:`shrink-0 gap-0`,children:(0,Q.jsx)(kr,{"aria-label":`Windows of this layout`,className:`grid w-full auto-cols-fr grid-flow-col gap-1 rounded-none border-b border-border bg-transparent px-3 py-1.5 group-data-[orientation=horizontal]/tabs:h-auto`,children:i.map((t,n)=>{let r=t===`pending`?Nn:Ke[e[t].view];return(0,Q.jsxs)(Or,{value:String(n),className:`h-auto min-w-0 rounded-md border-0 px-2 py-1 text-xs data-[state=active]:bg-muted data-[state=active]:font-medium group-data-[variant=default]/tabs-list:data-[state=active]:shadow-none`,children:[(0,Q.jsx)(r,{"aria-hidden":`true`,className:`size-3.5 shrink-0`}),(0,Q.jsx)(`span`,{className:`truncate`,children:t===`pending`?`New window`:Ze(e[t].view)})]},n)})})}):null,m===null?(0,Q.jsxs)(Q.Fragment,{children:[g,(0,Q.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-y-auto`,children:(0,Q.jsx)(et,{scope:`window`,onPick:f})})]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(iu,{index:c,column:m,count:e.length,actions:t,menu:e.length>1?p(c,m):null,onSplit:()=>{l(c+1),s(c+1)},canSplit:d,grip:!1,extras:r?.(m.view,c)}),(0,Q.jsx)(`div`,{"data-slot":`main`,className:`min-h-0 flex-1 overflow-y-auto overscroll-contain`,children:n(m.view,c,m)})]})]})}return(0,Q.jsxs)(`div`,{ref:a,"data-slot":`workspace-columns`,className:`flex min-h-0 flex-1 items-stretch`,children:[e.flatMap((i,o)=>[o===u?_:null,(0,Q.jsxs)(`div`,{"data-slot":`workspace-column`,"data-view":i.view,className:`relative flex min-w-0 flex-col border-l border-border/70 first:border-l-0`,style:{width:`${h(i)}%`},children:[o>0&&u===null?(0,Q.jsx)(ou,{index:o-1,width:e[o-1].width,pair:e[o-1].width+i.width,rowRef:a,onResize:t.resizeColumns}):null,(0,Q.jsx)(iu,{index:o,column:i,count:e.length,actions:t,menu:e.length>1?p(o,i):null,onSplit:()=>l(o+1),canSplit:d,trailing:o===e.length-1?(0,Q.jsx)(Kl,{className:`ml-1.5`}):null,extras:r?.(i.view,o)}),(0,Q.jsx)(`div`,{"data-slot":`main`,className:`min-h-0 flex-1 overflow-y-auto overscroll-contain`,children:(0,Q.jsx)(Ul.Provider,{value:null,children:n(i.view,o,i)})})]},o)]),u===e.length?_:null]})}function iu({index:e,column:t,count:n,actions:r,menu:i,trailing:a,onSplit:o,canSplit:s=!0,grip:c=!0,extras:l}){let[u,d]=(0,Z.useState)(!1),f=Ke[t.view],p=t=>{t.dataTransfer.setData(`text/cez-column`,String(e)),t.dataTransfer.effectAllowed=`move`};return(0,Q.jsxs)(`header`,{"data-slot":`workspace-column-header`,onDragOver:e=>{e.dataTransfer.types.includes(`text/cez-column`)&&(e.preventDefault(),e.dataTransfer.dropEffect=`move`,d(!0))},onDragLeave:()=>d(!1),onDrop:t=>{if(d(!1),!t.dataTransfer.types.includes(`text/cez-column`))return;let n=t.dataTransfer.getData(`text/cez-column`),i=Number(n);n===``||!Number.isInteger(i)||(t.preventDefault(),r.moveColumn(i,e))},className:K(`group/column flex h-8 shrink-0 items-center gap-0.5 border-b border-border/70 bg-background pl-4 pr-1.5`,u&&`bg-muted`),children:[n>1&&c?(0,Q.jsx)(`span`,{draggable:!0,onDragStart:p,title:`Drag to reorder`,className:`-ml-2 flex h-full shrink-0 cursor-grab items-center text-soft-foreground/70 active:cursor-grabbing`,children:(0,Q.jsx)(Cn,{"aria-hidden":`true`,className:`size-3.5`})}):null,n===1?null:(0,Q.jsxs)(qn,{children:[(0,Q.jsx)(Xn,{asChild:!0,children:(0,Q.jsxs)(q,{type:`button`,variant:`ghost`,size:`sm`,"data-action":`change-view`,"aria-label":`${Ze(t.view)} — change view`,className:`-ml-1.5 h-6 gap-1.5 px-1.5 text-xs font-medium text-muted-foreground hover:text-foreground data-[state=open]:bg-muted data-[state=open]:text-foreground`,children:[(0,Q.jsx)(f,{"aria-hidden":`true`,className:`size-3.5 shrink-0`}),(0,Q.jsx)(`span`,{className:`truncate`,children:Ze(t.view)}),(0,Q.jsx)(Ln,{"aria-hidden":`true`,className:`size-3 shrink-0 opacity-60`})]})}),(0,Q.jsxs)(Jn,{align:`start`,className:`w-48`,children:[(0,Q.jsx)(Wn,{children:`Change view`}),(0,Q.jsx)(ft,{onPick:t=>r.setColumnView(e,t),disabled:t.view})]})]}),(0,Q.jsx)(`span`,{draggable:n>1&&c,onDragStart:p,className:K(`h-full min-w-0 flex-1`,n>1&&c&&`cursor-grab active:cursor-grabbing`)}),l,o?(0,Q.jsx)(Bn,{children:(0,Q.jsxs)(Vn,{children:[(0,Q.jsx)(Rn,{asChild:!0,children:(0,Q.jsx)(`span`,{className:`inline-flex`,children:(0,Q.jsx)(q,{type:`button`,variant:`ghost`,size:`icon-xs`,"data-action":`split-view`,"aria-label":`Split view`,disabled:!s,onClick:o,className:`text-soft-foreground hover:text-foreground`,children:(0,Q.jsx)(Nt,{"aria-hidden":`true`,className:`size-3.5`})})})}),(0,Q.jsx)(zn,{side:`bottom`,children:s?`Split view (\\)`:`At most ${nt} windows`})]})}):null,i,n>1?(0,Q.jsx)(q,{type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":`Close ${Ze(t.view)}`,title:`Close view`,onClick:()=>r.closeColumn(e),className:`text-soft-foreground`,children:(0,Q.jsx)(gr,{"aria-hidden":`true`,className:`size-3.5`})}):null,a]})}function au({index:e,column:t,count:n,actions:r}){return(0,Q.jsxs)(qn,{children:[(0,Q.jsx)(Xn,{asChild:!0,children:(0,Q.jsx)(q,{variant:`ghost`,size:`icon-sm`,className:`size-6 shrink-0 text-soft-foreground hover:text-foreground`,"aria-label":`Column menu ${Ze(t.view)}`,children:(0,Q.jsx)(ot,{"aria-hidden":`true`,className:`size-3.5`})})}),(0,Q.jsxs)(Jn,{align:`end`,className:`w-52`,children:[n>1?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(Kn,{disabled:e===0,onSelect:()=>r.moveColumn(e,e-1),children:[(0,Q.jsx)(_n,{"aria-hidden":`true`}),`Move left`]}),(0,Q.jsxs)(Kn,{disabled:e===n-1,onSelect:()=>r.moveColumn(e,e+1),children:[(0,Q.jsx)(bn,{"aria-hidden":`true`}),`Move right`]})]}):null,(0,Q.jsx)(Gn,{}),(0,Q.jsxs)(Kn,{onSelect:()=>r.closeColumn(e),children:[(0,Q.jsx)(gr,{"aria-hidden":`true`}),`Close view`]})]})]})}function ou({index:e,width:t,pair:n,rowRef:r,onResize:i}){let a=(0,Z.useRef)(null),o=e=>{e.button===0&&(a.current={x:e.clientX,width:t},e.currentTarget.setPointerCapture(e.pointerId),e.preventDefault(),e.currentTarget.focus())},s=n=>{let o=a.current,s=r.current;if(!o||!s)return;let c=s.getBoundingClientRect().width;c<=0||i(e,o.width+(n.clientX-o.x)/c*100-t)},c=e=>{a.current&&(a.current=null,e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId))};return(0,Q.jsx)(`div`,{"data-slot":`column-divider`,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize column ${e+1}`,"aria-valuenow":Math.round(t),"aria-valuemin":Math.round(qt(n)),"aria-valuemax":Math.round(n-qt(n)),tabIndex:0,onPointerDown:o,onPointerMove:s,onPointerUp:c,onPointerCancel:c,onKeyDown:t=>{let n=t.shiftKey?10:2,r=t.key===`ArrowLeft`?-n:t.key===`ArrowRight`?n:null;r!==null&&(t.preventDefault(),i(e,r))},title:`Drag to resize — arrow keys adjust precisely`,className:`absolute inset-y-0 -left-[5px] z-20 w-[9px] cursor-col-resize touch-none bg-transparent transition-colors hover:bg-violet/40 focus-visible:bg-violet/60 focus-visible:outline-none`})}var su=(0,Z.lazy)(()=>ve(()=>import(`./terminal-drawer-Cvbqz2QG.js`).then(e=>({default:e.TerminalDrawer})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]))),cu=(0,Z.lazy)(()=>ve(()=>import(`./task-graph-DalcExDj.js`).then(e=>({default:e.TaskGraphView})),__vite__mapDeps([20,1,2,3,4,5,21,22,23,8,24,25,26,14,27,28,29,9,10,30,31,11,32,33,34,35,15,36,37,38,39,40,12,13,41,42,17,43,44,45,6,7,46,47,48,49,16,50,51,52,53,54])));function lu({view:e}){let{id:t}=we(),n=j(t),r=(0,Z.useRef)(void 0);(0,Z.useEffect)(()=>{r.current!==t&&(r.current=void 0)},[t]);let i=(0,Z.useCallback)(e=>{r.current=e},[]),{mutate:a}=o();if((0,Z.useEffect)(()=>{n.data&&r.current!==n.data.id&&_t(n.data)&&a(n.data.id)},[a,n.data?.id,n.data?.status,n.data?.finishedAt,n.data?.seenAt,n.data?.archived,t]),n.isPending)return(0,Q.jsx)(uu,{view:e});if(n.isError){let e=n.error instanceof T&&n.error.status===404;return(0,Q.jsx)(`div`,{"data-route":`task-workspace`,className:`flex min-h-full flex-col`,children:(0,Q.jsx)(Ir,{icon:e?(0,Q.jsx)(hr,{}):(0,Q.jsx)(qe,{}),tone:e?`neutral`:`danger`,title:e?`Task not found`:`Could not load this task`,subtitle:e?`No run has this id. It may have been deleted, or the link is from another machine.`:n.error.message,actions:(0,Q.jsx)(q,{asChild:!0,variant:`outline`,children:(0,Q.jsx)(Y,{to:`/`,children:`Back to tasks`})})})})}return(0,Q.jsx)(du,{run:n.data,deepLinkView:e,onMarkedUnread:i})}function uu({view:e}){return e===`files`?(0,Q.jsx)(zt,{tab:`files`}):e===`terminal`?(0,Q.jsx)(zt,{tab:`terminal`}):e===`browser`?(0,Q.jsx)(zt,{tab:`preview`}):e===`changes`||e===`commits`||e===`graph`?(0,Q.jsx)(zt,{tab:`changes`}):(0,Q.jsx)(On,{})}function du({run:e,deepLinkView:t,onMarkedUnread:n}){let r=eu(e.id),{openDeepLink:i,addLayout:a,closeLayout:o,selectLayout:s,setColumnBrowser:c,openInBrowser:l,applySaved:u,keepAs:d}=r,f=Yl(),{save:p,remove:m}=f,h=r.state,g=(r.layout?.columns.length??0)>0,_=(0,Z.useCallback)(e=>{let t=lt(h,e);t&&(p(t),d(t.name))},[d,h,p]),v=ee().data?.capabilities?.terminal===!0,y=(0,Z.useMemo)(()=>gt.filter(e=>e!==`terminal`||v),[v]),b=ye(),x=(0,Z.useRef)(null),S=(0,Z.useRef)(new Map),C=(0,Z.useRef)(e.id);C.current!==e.id&&(C.current=e.id,S.current=new Map,x.current=null),(0,Z.useEffect)(()=>{if(!r.ready)return;if(t){x.current?.runId!==e.id&&(x.current={runId:e.id,name:r.state.active});let n=S.current.get(t);n!==void 0&&r.state.layouts.some(e=>e.name===n)?s(n):i(t);return}let n=x.current;x.current=null,b===`POP`&&n&&n.runId===e.id&&n.name!==r.state.active&&s(n.name)},[t,r.ready,r.replaced,b,i,e.id,s]),(0,Z.useEffect)(()=>{if(!r.ready||!t||S.current.has(t))return;let e=r.layout;e&&e.columns.length===1&&e.columns[0]?.view===t&&S.current.set(t,e.name)},[t,r.layout,r.ready]);let w=(0,Z.useCallback)(()=>n(e.id),[n,e.id]),T=(0,Z.useMemo)(()=>it.filter(t=>y.includes(t)&&(t!==`graph`||!!e.workflowDef)),[y,e.workflowDef]),E=r.ready?r.layout?Zt(r.layout):`session`:null,D=(0,Z.useMemo)(()=>r.state.layouts.filter(e=>Zt(e)===null),[r.state.layouts]),O=(0,Z.useCallback)(()=>a(),[a]),{hints:k,show:A}=Qe((0,Z.useMemo)(()=>ut(T),[T])),j=xe(),[M,N]=(0,Z.useState)(null),P=(0,Z.useCallback)(e=>{setTimeout(()=>N(e),0)},[]),F=(0,Z.useCallback)(()=>N(null),[]),I=r.dropView,L=(0,Z.useRef)({runId:e.id,current:r.state.active,previous:null});L.current.runId===e.id?L.current.current!==r.state.active&&(L.current={runId:e.id,current:r.state.active,previous:L.current.current}):L.current={runId:e.id,current:r.state.active,previous:null};let R=(0,Z.useCallback)(e=>{if(E!==e)return null;let t=L.current.previous,n=t===null?void 0:r.state.layouts.find(e=>e.name===t);return n&&!(n.columns.length===1&&n.columns[0]?.view===e)?(s(n.name),n.columns.length):(i(e===`session`?`changes`:`session`),1)},[E,r.state.layouts,i,s]),z=(0,Z.useCallback)((e,t,n)=>{if(N(null),n===`insert`&&R(e)!==null){I(e,t===0?0:nt,n);return}I(e,t,n)},[R,I]),B=(0,Z.useCallback)(e=>{let t=R(e)??r.layout?.columns.length??0;I(e,t,`insert`)},[R,I,r.layout?.columns.length]),te=r.layout?.columns.length??0,ne=E===null&&te>1?r.closeColumn:void 0,[re,ie]=(0,Z.useState)(()=>Nr(e.id)),V=(0,Z.useRef)(e.id);V.current!==e.id&&(V.current=e.id,ie(Nr(e.id)));let H=(0,Z.useCallback)(t=>{ie(n=>{let r={...n,...t};return Pr(e.id,r),r})},[e.id]),U=r.layout?.columns.some(e=>e.view===`terminal`)??!1,ae=Ce(),oe=v&&re.open&&!U,[se,ce]=(0,Z.useState)(!1),le=(0,Z.useRef)(e.id);le.current!==e.id&&(le.current=e.id,ce(!1));let ue=(0,Z.useCallback)(()=>ce(!1),[]),W=(0,Z.useCallback)(()=>ce(e=>!e),[]),de=Gl(se,ue),fe=(0,Z.useMemo)(()=>({maximized:se,toggle:W}),[se,W]),pe=re.open,me=(0,Z.useCallback)(()=>{U||H({open:!pe})},[pe,U,H]),{closeColumn:he}=r,G=r.layout?.columns,ge=(0,Z.useCallback)(()=>{H({open:!0});let e=G?.findIndex(e=>e.view===`terminal`)??-1;e<0||(E!==null||G.length===1?i(`session`):he(e))},[he,E,i,G,H]),_e=(0,Z.useMemo)(()=>oe||U?[`terminal`]:[],[oe,U]),ve=(0,Z.useMemo)(()=>(0,Q.jsx)(Yr,{layouts:D,active:r.state.active,fixedViews:T,fixedActive:E,onViews:_e,onSelectFixed:i,onSelect:s,onClose:o,saved:f.saved,onApplySaved:u,onSaveCurrent:g?_:void 0,onDeleteSaved:m,notesHref:`/tasks/${e.id}/notes`,onViewDragStart:P,onViewDragEnd:F,onOpenBeside:B,onColumnDropClose:ne,keyHints:k,showKeyHints:A}),[D,r.state.active,T,E,_e,i,s,o,f.saved,u,g,_,m,e.id,P,F,B,ne,k,A]),be=(0,Z.useMemo)(()=>(0,Q.jsx)(q,{variant:`ghost`,size:`icon-sm`,"data-action":`maximize-layout`,"aria-label":`Full view`,title:`Full view — hide everything but this layout (F)`,className:`text-muted-foreground`,onClick:W,children:(0,Q.jsx)(en,{"aria-hidden":`true`})}),[W]),J=(0,Z.useMemo)(()=>[...T.map(e=>({select:()=>i(e),active:E===e})),...D.map(e=>({select:()=>s(e.name),active:E===null&&e.name===r.state.active}))],[T,D,E,r.state.active,i,s]),Se=(0,Z.useMemo)(()=>[...pt(T).map(t=>t===`notes`?()=>j(`/tasks/${e.id}/notes`):()=>i(t))],[T,i,j,e.id]),Y=(0,Z.useRef)({stripOrder:J,numbered:Se,toggleMaximized:W,terminalAllowed:v,toggleDrawer:me});Y.current={stripOrder:J,numbered:Se,toggleMaximized:W,terminalAllowed:v,toggleDrawer:me},(0,Z.useEffect)(()=>{let e=e=>{if(e.metaKey||e.ctrlKey||e.altKey||e.repeat||e.defaultPrevented||xn(e.target)||document.querySelector(`[role="dialog"], [role="alertdialog"], [role="menu"], [role="listbox"]`))return;let t=Y.current,n=document.querySelector(pu),r=t.stripOrder.findIndex(e=>e.active),i=e=>{if(t.stripOrder.length===0)return;let n=(Math.max(r,0)+e+t.stripOrder.length)%t.stripOrder.length;t.stripOrder[n].select()};if(/^[1-9]$/.test(e.key)){let n=t.numbered[Number(e.key)-1];if(!n)return;n()}else if(e.key===`[`)i(-1);else if(e.key===`]`)i(1);else if(e.key===`f`||e.key===`F`)t.toggleMaximized();else if(e.key===`\\`){let e=n?.querySelectorAll(`[data-action="split-view"]:not(:disabled)`),t=e?.[e.length-1];if(!t)return;t.click()}else if(e.key===`/`){let e=n?.querySelector(`[data-slot="composer"] textarea, [data-slot="composer-input"]`);if(!e)return;e.focus()}else if(e.key==="`"){if(!t.terminalAllowed)return;t.toggleDrawer()}else return;e.preventDefault()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]);let we=to(e.id),[Te,Ee]=(0,Z.useState)(null),De=r.layout?.columns,Oe=(0,Z.useCallback)((e,t)=>{let n=De?.[e]?.view===`changes`,i=De?.filter(e=>e.view===`changes`).length===1;if(n&&i&&we.comments.length>0){Ee({index:e,view:t});return}r.setColumnView(e,t)},[De,we.comments.length,r.setColumnView]),ke=(0,Z.useMemo)(()=>({addColumn:E===null?r.addColumn:e=>I(e,te,`insert`),closeColumn:r.closeColumn,setColumnView:Oe,resizeColumns:r.resizeColumns,moveColumn:r.moveColumn}),[E,I,te,r.addColumn,r.closeColumn,Oe,r.resizeColumns,r.moveColumn]),Ae=r.openBeside,je=(0,Z.useCallback)(t=>{let n=Ae(t.view);n&&Kr(`${e.id}:${n.name}:${n.index}:${t.view}`,t.value)},[Ae,e.id]);(0,Z.useEffect)(()=>yn(e.id),[e.id]),(0,Z.useEffect)(()=>{if(!r.ready)return;let t=kn(e.id);t&&je({view:`files`,value:t})},[r.ready,je,e.id]),(0,Z.useEffect)(()=>{let t=()=>document.querySelector(pu),n=()=>{let e=t()?.querySelectorAll(`[data-action="split-view"]:not(:disabled)`);return e?.[e.length-1]??null},a=()=>t()?.querySelector(`[data-slot="composer"] textarea, [data-slot="composer-input"]`)??null,o={runId:e.id,views:T,activeView:E,openView:i,openViewBeside:B,layouts:D.map(e=>({name:e.name,label:Rt(e.name),active:E===null&&e.name===r.state.active})),selectLayout:s,maximized:se,toggleMaximized:W,get splitView(){return n()?()=>n()?.click():null},terminal:{allowed:v,open:pe,inColumn:U,toggle:me,openInColumn:()=>{H({open:!1}),Ae(`terminal`)}},get focusComposer(){return a()?()=>a()?.focus():null},openFile:e=>je({view:`files`,value:e}),markedUnread:w};return An(o),()=>vn(o)});let Me=r.state.active,Ne=De?.some(e=>e.view===`session`)?`session`:`changes`,Pe=Aa(e),{addDraft:Fe,discard:Ie,note:Le,marks:Re}=Pe,ze=(0,Z.useCallback)(e=>{Le(e)?.phase===`draft`&&Ie(e)},[Ie,Le]),Be=hu(e.id,r.layout?Me:null,r.state.layouts),Ve=(0,Z.useCallback)(e=>e===`terminal`&&v?(0,Q.jsx)(Yn,{label:`Move to bottom — under every view`,children:(0,Q.jsx)(q,{type:`button`,variant:`ghost`,size:`icon-xs`,"data-action":`terminal-to-drawer`,"aria-label":`Move to bottom`,onClick:ge,className:`text-soft-foreground hover:text-foreground`,children:(0,Q.jsx)(nn,{"aria-hidden":`true`,className:`size-3.5`})})}):null,[ge,v]),He=(0,Z.useCallback)((t,r,i,a)=>{switch(t){case`session`:return(0,Q.jsx)(vu,{run:e,onMarkedUnread:n,onOpenReference:je});case`changes`:return(0,Q.jsx)(po,{run:e,embedded:!0,stateKey:`${e.id}:${a}:${r}:changes`},e.id);case`commits`:return(0,Q.jsx)(qr,{run:e,embedded:!0,stateKey:`${e.id}:${a}:${r}:commits`});case`files`:return(0,Q.jsx)(xo,{run:e,embedded:!0,stateKey:`${e.id}:${a}:${r}:files`});case`graph`:return(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(_u,{title:`Loading graph…`}),children:(0,Q.jsx)(cu,{run:e,embedded:!0})});case`terminal`:return v?(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(_u,{title:`Loading terminal…`}),children:(0,Q.jsx)(su,{runId:e.id,height:0,onHeightChange:fu,onOpenInBrowser:l,fill:!0})}):(0,Q.jsx)(Ir,{icon:(0,Q.jsx)(Qn,{}),tone:`neutral`,heading:`h2`,title:`Terminal disabled`,subtitle:`The terminal is off on this cockpit — it is off in hosted mode unless CEZ_TERMINAL=1.`});case`browser`:return(0,Q.jsx)(Ri,{state:i.browser??Lt(),onChange:e=>c(r,e),onPickElement:Fe,designMarks:Re,onDesignEscape:ze,renderEmpty:v?t=>(0,Q.jsx)(da,{runId:e.id,projectId:ae,onOpen:t,setup:e.worktreeLifecycle,onShowTerminal:U?void 0:()=>H({open:!0})}):void 0,renderDesignNote:({mark:t,close:n})=>{let r=Le(t);return r?(0,Q.jsx)(ha,{note:r,run:e,notes:Pe,onClose:n}):null}})}},[Fe,Re,Pe,ze,Le,n,l,je,e,c,v,ae,U,H]);return(0,Q.jsxs)(`div`,{"data-route":`task-workspace`,"data-run-id":e.id,className:`flex h-full min-h-0 flex-col`,children:[(0,Q.jsx)(Gt,{run:e,tab:Ne,onMarkedUnread:w,tabs:ve,headerActions:be,wide:!0}),r.loadFailed?(0,Q.jsx)(`div`,{"data-slot":`layouts-unloaded`,role:`status`,className:`shrink-0 border-b border-border bg-muted/40 px-4 py-1.5 text-xs text-muted-foreground sm:px-6`,children:`This task's saved layouts could not be loaded yet — retrying. Changes made meanwhile are not saved.`}):null,r.saveFailed?(0,Q.jsx)(`div`,{"data-slot":`layouts-unsaved`,role:`status`,className:`shrink-0 border-b border-border bg-muted/40 px-4 py-1.5 text-xs text-muted-foreground sm:px-6`,children:`This layout could not be saved on this host — it keeps working in this tab, but will not come back after a refresh.`}):null,(0,Q.jsx)(sn.Provider,{value:y,children:(0,Q.jsx)(Ul.Provider,{value:fe,children:(0,Q.jsxs)(`div`,{ref:de.ref,"data-slot":`workspace-stage`,"data-maximized":de.covering?``:void 0,style:de.style,className:K(`relative flex min-h-0 flex-1 flex-col`,de.covering&&`fixed z-40 overflow-hidden bg-background md:rounded-xl md:border md:border-border/70`),children:[r.ready?r.layout?Be.map(e=>(0,Q.jsx)(gu,{layout:e,active:e.name===Me,actions:ke,renderView:He,headerExtras:Ve},e.name)):(0,Q.jsx)(Ir,{icon:(0,Q.jsx)(Nn,{}),tone:`neutral`,heading:`h2`,title:`No layouts`,subtitle:`You closed every layout of this task. Create a new one, or come back later — the task will open with a Chat layout.`,actions:(0,Q.jsx)(q,{variant:`outline`,onClick:O,children:`New layout`})}):(0,Q.jsx)(uu,{view:t}),M?(0,Q.jsx)(tu,{view:M,columns:r.layout?.columns??[],onDrop:z}):null,de.covering&&E!==null?(0,Q.jsx)(Kl,{className:`absolute top-2 right-3 z-20 bg-card shadow-sm`}):null]})})}),(0,Q.jsx)(Dr,{open:Te!==null,onOpenChange:e=>!e&&Ee(null),children:(0,Q.jsxs)(Sr,{children:[(0,Q.jsxs)(Er,{children:[(0,Q.jsx)(xr,{children:`You have an unsent comment`}),(0,Q.jsxs)(br,{children:[we.comments.length===1?`One comment on the changes has not been sent yet.`:`${we.comments.length} comments on the changes have not been sent yet.`,` `,`This is the last column showing them.`]})]}),(0,Q.jsxs)(wr,{children:[(0,Q.jsx)(Tr,{children:`Go back`}),(0,Q.jsx)(Cr,{onClick:()=>{Te&&r.setColumnView(Te.index,Te.view),Ee(null)},children:`Change anyway`})]})]})}),oe?(0,Q.jsx)(Z.Suspense,{fallback:null,children:(0,Q.jsx)(su,{runId:e.id,height:re.height,onHeightChange:e=>H({height:e}),onClose:()=>H({open:!1}),onMoveToColumn:()=>{H({open:!1}),Ae(`terminal`)},onOpenInBrowser:l})}):null]})}var fu=()=>{},pu=`[data-slot="workspace-stage"] [data-slot="workspace-layout"][data-active]`;function mu(e){return e.columns.every(e=>e.view!==`terminal`&&e.view!==`browser`)}function hu(e,t,n){let[r,i]=(0,Z.useState)({runId:e,names:[]}),a=r.runId===e?r.names:[];return t!==null&&a[0]!==t&&i({runId:e,names:[t,...a.filter(e=>e!==t)].slice(0,5)}),n.filter(e=>e.name===t||a.includes(e.name)&&mu(e))}function gu({layout:e,active:t,actions:n,renderView:r,headerExtras:i}){let a=e.name,o=(0,Z.useCallback)((e,t,n)=>r(e,t,n,a),[r,a]);return(0,Q.jsx)(Z.Activity,{mode:t?`visible`:`hidden`,children:(0,Q.jsx)(`div`,{"data-slot":`workspace-layout`,"data-active":t?``:void 0,className:`flex min-h-0 flex-1 flex-col`,children:(0,Q.jsx)(ru,{columns:e.columns,actions:n,renderView:o,headerExtras:i})})})}function _u({title:e}){return(0,Q.jsx)(Ir,{icon:(0,Q.jsx)(lr,{className:`motion-safe:animate-spin`}),tone:`neutral`,heading:`h2`,title:e})}function vu({run:e,onMarkedUnread:t,onOpenReference:n}){let r=wi(e.id),i=(0,Z.useMemo)(()=>Nl(r.visibleEvents,{activeTurn:e.status===`running`,runner:e.runner}),[r.visibleEvents,e.status,e.runner]),a=(0,Z.useMemo)(()=>Nl(r.currentEvents,{activeTurn:e.status===`running`,runner:e.runner}),[r.currentEvents,e.status,e.runner]);if(Eo(e,r.visibleEvents),r.isPending)return(0,Q.jsx)(On,{});let o=t=>{let n=t.target instanceof Element?t.target.closest(`[data-streamdown="inline-code"]`):null;if(!(n instanceof HTMLElement)||n.closest(`[data-slot="user-message"]`))return null;let r=yu(n.textContent??``,e.worktreePath??void 0);return r?{node:n,reference:r}:null};return(0,Q.jsx)(`div`,{className:`contents`,onPointerOver:e=>{let t=o(e);t&&!t.node.dataset.open&&(t.node.dataset.open=t.reference.view,t.node.title=t.reference.view===`files`?`Open in Files`:`Open in Commits`)},onClick:e=>{if(!n||window.getSelection()?.toString())return;let t=o(e);t&&n(t.reference)},children:(0,Q.jsx)(Fl,{run:e,thread:i,currentThread:a,history:r,onMarkedUnread:t,embedded:!0})})}function yu(e,t){let n=e.trim();if(n.length<3||n.length>260||/\s/.test(n))return null;if(/^[0-9a-f]{7,40}$/.test(n)&&/[a-f]/.test(n)&&/[0-9]/.test(n))return{view:`commits`,value:n};let r=n.replace(/:\d+(?::\d+)?$/,``);return t&&r.startsWith(`${t}/`)&&(r=r.slice(t.length+1)),r.startsWith(`/`)||r.startsWith(`~`)||/^[a-z]+:\/\//i.test(r)||(r=r.replace(/^\.\//,``),r.startsWith(`..`))||!/^[\w@.+\-()[\]]+(?:\/[\w@.+\-()[\]]+)*\.[A-Za-z][A-Za-z0-9]{0,7}$/.test(r)||!r.includes(`/`)&&!/\.(?:tsx?|jsx?|mjs|cjs|json|md|mdx|css|scss|html|ya?ml|toml|py|rs|go|rb|java|kt|swift|sh|sql|lock|txt|env|svg|png|jpe?g)$/i.test(r)?null:{view:`files`,value:r}}export{lu as TaskWorkspaceRoute};
27
+ `):n}function Ol(e){let t=e=>Dl(e,!0).replace(/\s+/g,``),n=new Set,r=[];for(let{origin:i,entry:a}of e.entries)if(i===`v2`&&a.kind===`message`){let e=t(a.text);n.add(e),r.push(e)}if(r.length===0)return;n.add(r.join(``));let i=[],a={entries:[],texts:[]},o=()=>{if(a.entries.length>=2&&n.has(t(a.texts.join(``)))){a={entries:[],texts:[]};return}i.push(...a.entries),a={entries:[],texts:[]}};for(let t of e.entries)t.origin===`v1`&&t.entry.kind===`message`?(a.entries.push(t),a.texts.push(t.entry.text)):(o(),i.push(t));o(),e.entries=i}function kl(e){if(typeof e==`string`)return e;if(e==null)return``;try{return JSON.stringify(e)}catch{return String(e)}}var Al=e=>e.kind===`message`||e.kind===`reasoning`||e.kind===`tool`,jl=new Set([`pending`,`in_progress`,`completed`,`cancelled`]);function Ml(e){if(!Cl(e)||!Array.isArray(e.todos))return;let t=[];for(let n of e.todos){if(!Cl(n)||typeof n.content!=`string`)return;t.push({content:n.content,status:jl.has(n.status)?n.status:`pending`,...typeof n.activeForm==`string`?{activeForm:n.activeForm}:{}})}return t}function Nl(e,t={}){let n=[],r=new Map,i,a=0,o,s,c=e=>{a+=1;let t={id:e===void 0?`turn-fallback-${a}`:`turn-seq-${e}`,entries:[],v2Items:!1};return n.push(t),t},l=()=>n.at(-1)??c(),u=Tl(t.runner),d=new WeakSet,f=(e,t)=>{let n=l();u===void 0||d.has(n)||!yl(e)||(d.add(n),n.entries.push({origin:`meta`,entry:{kind:`agent-update-required`,id:`${t}:update`,provider:u}}))},p=(e,t)=>He(e.stepId,t),m=(e,t,n)=>{let i={...t};if(!e.v2Items){e.v2Items=!0;for(let t of e.entries)t.origin===`v1`&&t.entry.kind===`tool`&&r.delete(t.entry.id);e.entries=e.entries.filter(e=>!(e.origin===`v1`&&e.entry.kind===`tool`))}let a=r.get(n);if(a&&a.turn===e){a.entry.entry=i,r.set(n,a);return}let o={origin:`v2`,entry:i};e.entries.push(o),r.set(n,{turn:e,entry:o})};for(let t of e)switch(s=wl(t.ts)??s,t.type){case`user-message`:{let e=$(t.text)??``;o&&!o.resolved&&(o.resolved=!0,e!==``&&(o.answer=e),o=void 0);let n=c(t.seq),r=wl(t.ts);n.userMessage={text:e,imageCount:typeof t.imageCount==`number`?t.imageCount:0,images:Array.isArray(t.images)?t.images.filter(e=>typeof e==`string`):[],...r===void 0?{}:{ts:r}},r!==void 0&&(n.startedAt=r);break}case`turn.started`:{let e=$(t.turnId),r=n.at(-1),i=r&&r.turnId===void 0&&!r.v2Items?r:c(t.seq);i.turnId=e;let a=wl(t.ts);i.startedAt===void 0&&a!==void 0&&(i.startedAt=a);break}case`turn.completed`:{let e=$(t.turnId),r;for(let t=n.length-1;t>=0&&!r;--t)n[t].turnId===e&&(r=n[t]);let i=r??n.at(-1);if(i){let e=wl(t.ts);i.completed={stopReason:$(t.stopReason)??`end_turn`,...typeof t.costUsd==`number`?{costUsd:t.costUsd}:{},...e===void 0?{}:{ts:e}}}break}case`item.started`:case`item.updated`:case`item.completed`:{if(!Cl(t.item))break;let e=t.item.kind,n=t.item.id;if(e!==`message`&&e!==`reasoning`&&e!==`tool`||typeof n!=`string`||n===``)break;let i=t.item,a=p(t,i.id);m(r.get(a)?.turn??l(),i,a);break}case`item.delta`:{let e=$(t.itemId)??``,n=r.get(p(t,e)),i=$(t.delta)??``;if(!n||i===``||!Al(n.entry.entry))break;let a=n.entry.entry;t.field===`output`&&a.kind===`tool`?a.output=(a.output??``)+i:t.field!==`output`&&a.kind!==`tool`&&(a.text+=i);break}case`text`:{let e=l(),n=$(t.text)??``;if(n===``)break;e.entries.push({origin:`v1`,entry:{kind:`message`,id:`v1:${t.seq}`,role:`assistant`,text:n}});break}case`tool-call`:{let e=l();if(e.v2Items)break;let n=$(t.tool)??`Tool`;if(Pl.has(n))break;let i=ri(n,t.input);if(i.toolKind===`plan`){let n=Ml(t.input);n!==void 0&&(e.planEntries=n)}let a={kind:`tool`,id:$(t.id)??`v1:${t.seq}`,name:n,toolKind:i.toolKind,title:i.title,status:`running`,input:t.input},o={origin:`v1`,entry:a};e.entries.push(o),r.set(a.id,{turn:e,entry:o});break}case`tool-result`:{let e=r.get($(t.toolCallId)??``);if(!e||e.turn.v2Items||e.entry.origin!==`v1`)break;let n=e.entry.entry;if(n.kind!==`tool`)break;n.status=`completed`,n.output=kl(t.result);break}case`note`:case`lifecycle`:{let e=$(t.message)??``;if(e===``)break;let n=t.tone===`danger`?`danger`:`dim`;l().entries.push({origin:`meta`,entry:{kind:`note`,id:`v1:${t.seq}`,text:e,tone:n}});break}case`error`:{let e=$(t.message)??``;if(e===``)break;l().entries.push({origin:`meta`,entry:{kind:`note`,id:`v1:${t.seq}`,text:e,tone:`danger`}}),f(e,`v1:${t.seq}`);break}case`session.error`:{let e=$(t.message)??``;if(e===``)break;l().entries.push({origin:`meta`,entry:{kind:`note`,id:`v2:${t.seq}`,text:e,tone:`danger`}}),f(e,`v2:${t.seq}`);break}case`session.started`:u=Tl(t.backend)??u;break;case`step-end`:{if(t.status!==`failed`)break;let e=$(t.error)?` — ${$(t.error)}`:``;l().entries.push({origin:`meta`,entry:{kind:`note`,id:`v1:${t.seq}`,text:`step ${$(t.stepId)??`?`} failed${e}`,tone:`danger`}});break}case`check-output`:{let e=$(t.command)??`check`,n=typeof t.exitCode==`number`?t.exitCode:-1,r={kind:`tool`,id:`v1:${t.seq}`,name:`check`,toolKind:`execute`,title:`Ran ${e}`,status:n===0?`completed`:`failed`,output:$(t.text)??``,exitCode:n};l().entries.push({origin:`meta`,entry:r});break}case`provider-auth-required`:{let e=Tl(t.provider),n=$(t.authFailureId);if(e===void 0||n===void 0||n.length<1||n.length>128)break;let r=$(t.profileId);l().entries.push({origin:`meta`,entry:{kind:`provider-auth-required`,id:`v1:${t.seq}`,provider:e,authFailureId:n,...r!==void 0&&r.length<=128?{profileId:r}:{}}});break}case`image`:{let e=$(t.url);if(e===void 0)break;let n={kind:`image`,id:`v1:${t.seq}`,url:e},r=$(t.name);r!==void 0&&(n.name=r),l().entries.push({origin:`meta`,entry:n});break}case`plan.updated`:Array.isArray(t.entries)&&(l().planEntries=t.entries);break;case`session.ended`:i={reason:$(t.reason)??`end_turn`,...$(t.message)===void 0?{}:{message:$(t.message)}};break;case`ask.requested`:{let e=$(t.requestId);if(e===void 0||!Array.isArray(t.questions))break;let n=t.questions,r=n.every(El)?n:n.filter(El);if(r.length===0)break;let i={kind:`ask`,id:e,questions:r,resolved:!1,...t.source===`workflow`?{fromWorkflow:!0}:{}};l().entries.push({origin:`meta`,entry:i}),o=i;break}case`step-start`:case`token-usage`:case`cost`:case`turn-end`:case`done`:case`session`:break;default:break}for(let e of n){if(!e.v2Items)continue;let t=new Set;for(let{origin:n,entry:r}of e.entries)n===`v2`&&r.kind===`message`&&t.add(Dl(r.text,!0).trim());t.size!==0&&(e.entries=e.entries.filter(e=>!(e.origin===`v1`&&e.entry.kind===`message`&&t.has(Dl(e.entry.text,!0).trim()))),Ol(e))}return{turns:n.map((e,r)=>{let i=e.entries.some(({entry:e})=>e.kind===`ask`),a=t.activeTurn===!0&&r===n.length-1;return{id:e.id,...e.turnId===void 0?{}:{turnId:e.turnId},...e.userMessage===void 0?{}:{userMessage:e.userMessage},...e.startedAt===void 0?{}:{startedAt:e.startedAt},...e.planEntries===void 0?{}:{planEntries:e.planEntries},...e.completed===void 0?{}:{completed:e.completed},items:e.entries.map(({entry:e})=>e.kind===`message`&&e.role===`assistant`?{...e,text:Dl(e.text,i||a)}:e)}}),...i===void 0?{}:{sessionEnded:i},...s===void 0?{}:{lastEventAt:s}}}var Pl=new Set([`subAgentActivity`,`collabAgentToolCall`,`collabToolCall`]);function Fl({run:e,thread:t,currentThread:n=t,history:r,onMarkedUnread:i,embedded:a=!1}){let o=Sl(e.status,e.error,g(e)),s=(0,Z.useCallback)(()=>i?.(e.id),[i,e.id]),c=bl(n),u=l(e),d=c!==void 0&&c.length>0?pc(c):void 0,f=e.status===`running`||e.status===`waiting`,p=e.status===`queued`,m=ao(e),h=!f&&!p&&m.available,_=h&&m.canContinue,v=ba(e,m.continueWith,{surface:null}),y=!!e.worktreeLifecycle?.activeOperationId,x=!f&&e.status!==`queued`,S=(0,Z.useMemo)(()=>Zs(n.turns,x),[n.turns,x]),C=(0,Z.useMemo)(()=>Qs(n.turns),[n.turns]),[w,T]=(0,Z.useState)(void 0),[E,D]=(0,Z.useState)(e.id);E!==e.id&&(D(e.id),T(void 0));let O=(0,Z.useMemo)(()=>w===void 0?void 0:ic(n.turns,w,x),[n.turns,w,x]),k=(0,Z.useMemo)(()=>w===void 0?[]:ac(n.turns,w),[n.turns,w]),A=Xt(e.id,`composer`),j=to(e.id),{mutateAsync:M}=fe(e.id),{mutateAsync:N}=ue(e.id),{mutateAsync:P}=H(e.id),F=(0,Z.useMemo)(()=>p?{onEditTask:async e=>{await M({task:e})},onEditMessage:(e,t)=>N({msgId:e,message:{text:t}}).then(()=>void 0),onRemoveMessage:e=>P(e).then(()=>void 0)}:void 0,[p,M,N,P]),I=(0,Z.useMemo)(()=>Ec(e,t),[e,t]),ee=(0,Z.useMemo)(()=>kc(I,e.id),[I,e.id]),L=(0,Z.useCallback)(t=>(0,Q.jsx)(hl,{ask:t,run:e}),[e]),z=(0,Z.useMemo)(()=>{if(F===void 0)return;let t={task:{onEdit:F.onEditTask,editLabel:`Edit the prompt`,draftSurface:`task-prompt`}};for(let n of e.queuedMessages??[])t[`queued:${n.id}`]={onEdit:e=>F.onEditMessage(n.id,e),onRemove:()=>F.onRemoveMessage(n.id),draftSurface:`message:${n.id}`};return t},[F,e.queuedMessages]),B=re(e,b()),{search:te}=Te(),ne=qo(te,ee.length),ie=Sc(`${e.id}:main`,{onLoadOlder:r?.hasOlder?r.loadOlder:void 0,onJumpToLatest:r?.jumpToLatest,rowKeys:ee.map(({key:e})=>e)});return Me(ie.restickIfStuck),(0,Q.jsxs)(`div`,{"data-route":`task-thread`,"data-run-id":e.id,className:`flex min-h-full flex-col`,children:[a?null:(0,Q.jsx)(Gt,{run:e,planTally:d,onMarkedUnread:s,continuationEngine:_?m.pills:void 0}),(0,Q.jsxs)(`div`,{className:`mx-auto flex w-full max-w-[var(--measure)] flex-1 flex-col gap-2.5 px-3 py-3 md:gap-3.5 md:px-6 md:py-5`,children:[e.worktreeLifecycle?(0,Q.jsx)(En,{worktreeId:e.worktreeLifecycle.worktreeId,operationId:e.worktreeLifecycle.activeOperationId,worktreePath:e.worktreePath,taskTitle:e.title??e.task}):null,r?(0,Q.jsx)(Bl,{hasOlder:r.hasOlder,loading:r.isFetchingOlder,error:r.olderError,fallback:r.fallback,retainedPages:r.retainedPages,onLoad:ie.loadOlder}):null,(0,Q.jsx)(Ac,{runId:e.id,viewId:`main`,sections:I,mode:`document`,renderAsk:L,messageActions:z,scrollControls:ie,renderMode:ne,rowModels:ee}),t.turns.length===0?e.status===`queued`?(0,Q.jsx)(Hl,{run:e}):(0,Q.jsx)(`p`,{"data-slot":`thread-empty`,className:`py-6 text-center text-xs text-soft-foreground`,children:`No session events yet.`}):null,e.status===`running`&&!y?(0,Q.jsx)(Os,{since:Vl(e,n),lastActivityAt:n.lastEventAt}):null,(0,Q.jsx)(Oo,{run:e}),o&&o.state===`closed`?(0,Q.jsxs)(`div`,{"data-slot":`thread-footer`,"data-state":o.state,className:K(`mt-auto flex items-center gap-2 border-t border-border pt-3 text-xs`,o.tone===`danger`?`text-danger`:`text-soft-foreground`),children:[(0,Q.jsx)(Ll,{label:o.label,offerContinue:o.tone===`danger`&&!e.autoResumeAt,onContinue:h?()=>v(``,[]):void 0,blockedReason:_?void 0:m.providerPending?`Checking the agent provider…`:m.reason??`Connect an agent provider to continue.`}),ge(R(e))?(0,Q.jsx)(`a`,{"data-slot":`pr-link`,href:R(e),target:`_blank`,rel:`noopener noreferrer`,className:`font-medium text-foreground underline-offset-2 hover:underline`,children:`PR ↗`}):null,ge(B)?(0,Q.jsx)(`a`,{"data-slot":`issue-link`,href:B,target:`_blank`,rel:`noopener noreferrer`,className:`font-medium text-foreground underline-offset-2 hover:underline`,children:`Issue ↗`}):null]}):null,e.status===`review`&&!y?(0,Q.jsx)(rl,{run:e,diffComments:j}):null]}),(0,Q.jsx)(cl,{status:e.status}),(0,Q.jsx)(el,{runId:e.id,renderAsk:L,agent:O,entries:k,onClose:()=>T(void 0)}),(0,Q.jsxs)(fo,{overlay:ie.pillVisible?(0,Q.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 -top-12 flex justify-center`,children:(0,Q.jsx)(Tc,{onJump:ie.jumpToLatest})}):null,children:[(0,Q.jsx)(cc,{runId:e.id,agents:S,onSelect:T},`agents:${e.id}`),(0,Q.jsx)(vc,{skills:C}),c!==void 0&&c.length>0?(0,Q.jsx)(hc,{runId:e.id,entries:c,settled:x},e.id):null,(0,Q.jsx)(Do,{run:e}),!y&&u?(0,Q.jsxs)(`div`,{"data-slot":`budget-hint`,className:`flex items-center gap-2 px-1 text-xs text-muted-foreground`,children:[(0,Q.jsx)(Mr,{tone:`pending`,pulse:!0}),`Budget reached — spent $`,u.spent.toFixed(2),` of $`,u.ceiling.toFixed(2),`; send a message to continue.`,e.status===`waiting`?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,Q.jsx)(zl,{runId:e.id})]}):null]}):!y&&e.status===`waiting`?(0,Q.jsxs)(`div`,{"data-slot":`paused-hint`,className:`flex items-center gap-2 px-1 text-xs text-muted-foreground`,children:[(0,Q.jsx)(Mr,{tone:`pending`,pulse:!0}),`The agent is paused, waiting for your reply`,(0,Q.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,Q.jsx)(zl,{runId:e.id})]}):null,p?(0,Q.jsxs)(`div`,{"data-slot":`queued-hint`,className:`flex items-center gap-2 px-1 text-xs text-muted-foreground`,children:[(0,Q.jsx)(Mr,{tone:`pending`}),`Messages you add now are folded into the prompt before the run starts.`]}):null,y?(0,Q.jsx)(`p`,{className:`px-1 text-xs text-muted-foreground`,children:`Resolve the worktree operation above before continuing this task.`}):(0,Q.jsx)(uo,{run:e,draft:A,diffComments:j,continueAction:m,getMentionCandidates:()=>xl(t)})]})]})}var Il=/— continue to /i;function Ll({label:e,offerContinue:t=!1,onContinue:n,blockedReason:r}){let i=n?Il.exec(e):null;if(!n)return(0,Q.jsx)(`span`,{children:e});if(!i)return t?(0,Q.jsxs)(`span`,{children:[e,` `,(0,Q.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),` `,(0,Q.jsx)(Rl,{onContinue:n,blockedReason:r})]}):(0,Q.jsx)(`span`,{children:e});let a=e.slice(0,i.index),o=e.slice(i.index+i[0].length);return(0,Q.jsxs)(`span`,{children:[a,`—`,` `,(0,Q.jsx)(Rl,{onContinue:n,blockedReason:r}),` to `,o]})}function Rl({onContinue:e,blockedReason:t}){let[n,r]=(0,Z.useState)(!1);return(0,Q.jsx)(`button`,{type:`button`,"data-slot":`footer-continue`,disabled:n||t!==void 0,title:t??`Reopen the session and pick up where it stopped`,onClick:()=>{r(!0),e().catch(e=>J(e instanceof Error?e.message:String(e),{tone:`danger`})).finally(()=>r(!1))},className:`rounded-sm font-semibold underline underline-offset-2 hover:brightness-125 focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none disabled:cursor-not-allowed disabled:no-underline disabled:opacity-60`,children:`Continue`})}function zl({runId:e}){let t=It(e);return(0,Q.jsx)(`button`,{type:`button`,"data-slot":`end-session`,title:`Close the session — the task finishes (or goes to review if it changed files)`,disabled:t.isPending,onClick:()=>t.mutate(),className:`rounded-sm font-medium text-foreground underline-offset-2 hover:underline focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none disabled:opacity-60`,children:`End session`})}function Bl({hasOlder:e,loading:t,error:n,fallback:r,retainedPages:i,onLoad:a}){return r?(0,Q.jsx)(`p`,{"data-slot":`history-fallback`,className:`text-center text-xs text-soft-foreground`,role:`status`,children:`Progressive history is unavailable; showing the complete session.`}):!e&&!n?(0,Q.jsxs)(`div`,{"data-slot":`history-start`,className:`flex items-center gap-3 text-[11px] text-soft-foreground`,children:[(0,Q.jsx)(`span`,{"aria-hidden":!0,className:`h-px flex-1 bg-border`}),`Start of session`,(0,Q.jsx)(`span`,{"aria-hidden":!0,className:`h-px flex-1 bg-border`})]}):(0,Q.jsxs)(`div`,{"data-slot":`history-boundary`,"data-retained-pages":i,"aria-busy":t,className:`flex min-h-8 items-center justify-center text-xs text-muted-foreground`,children:[(0,Q.jsx)(`button`,{type:`button`,onClick:a,disabled:t,className:`rounded-md px-3 py-1.5 font-medium hover:bg-muted disabled:cursor-wait`,children:t?`Loading 100 earlier items…`:n?`Couldn’t load earlier items · Retry`:`Load 100 earlier items`}),(0,Q.jsx)(`span`,{className:`sr-only`,"aria-live":`polite`,children:t?`Loading earlier session history`:n||``})]})}function Vl(e,t){let n=t.turns.at(-1);return n===void 0?e.startedAt:n.completed===void 0?n.startedAt??e.startedAt:n.completed.ts??e.startedAt}function Hl({run:e}){let t=at(le().data??[],e.id);return(0,Q.jsxs)(`div`,{"data-slot":`queued-state`,className:`flex flex-col items-center gap-1.5 py-10 text-center`,children:[(0,Q.jsx)(Mr,{tone:`pending`,pulse:!0}),(0,Q.jsxs)(`p`,{className:`text-[13px] font-medium`,children:[`Waiting for a free agent slot`,t===void 0?``:` — #${t} in queue`]}),(0,Q.jsxs)(`p`,{className:`text-xs text-soft-foreground`,children:[e.workflow,` · starts automatically when a slot frees up`]})]})}var Ul=(0,Z.createContext)(null);function Wl(){return(0,Z.useContext)(Ul)}function Gl(e,t){let n=(0,Z.useRef)(null),[r,i]=(0,Z.useState)(null);return(0,Z.useLayoutEffect)(()=>{if(!e){i(null);return}let t=n.current?.closest(`[data-slot="panel"]`)??n.current?.closest(`[data-slot="main"]`);if(!t)return;let r=()=>{let e=t.getBoundingClientRect();i({top:e.top,left:e.left,width:e.width,height:e.height})};r();let a=new ResizeObserver(r);return a.observe(t),window.addEventListener(`resize`,r),()=>{a.disconnect(),window.removeEventListener(`resize`,r)}},[e]),(0,Z.useEffect)(()=>{if(!e)return;let n=e=>{e.key!==`Escape`||e.defaultPrevented||document.querySelector(`[role="dialog"], [role="alertdialog"], [role="menu"], [role="listbox"]`)||t()};return window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[e,t]),{ref:n,covering:e&&r!==null,style:e&&r?r:void 0}}function Kl({className:e}){let t=Wl();return t?.maximized?(0,Q.jsxs)(q,{type:`button`,variant:`outline`,size:`xs`,"data-action":`exit-full-view`,title:`Exit full view (Esc)`,onClick:t.toggle,className:K(`shrink-0 text-foreground`,e),children:[(0,Q.jsx)(ci,{"aria-hidden":`true`}),`Exit full view`]}):null}var ql=[];function Jl(e){return Array.isArray(e)?e.flatMap(e=>{let t=he.safeParse(e);return t.success?[t.data]:[]}):[]}function Yl(){let e=v(),t=w(),n=Z.useRef(0),r=Z.useRef(Promise.resolve()),a=t.data?.savedLayouts,o=Z.useMemo(()=>a?Jl(a).filter(e=>!Tt(e.name)&&e.columns.every(e=>Ot(e.view))):ql,[a]),s=Z.useCallback(t=>{let a=e.getQueryData(m.uiState);if(a===void 0)return;let o=t(Jl(a.savedLayouts)).slice(0,50);e.setQueryData(m.uiState,{...a,savedLayouts:o});let s=++n.current,c=r.current.then(async()=>{let t=await i({savedLayouts:o},{keepalive:!0});s===n.current&&e.setQueryData(m.uiState,t)});r.current=c.catch(t=>{J(t instanceof Error?t.message:String(t),{tone:`danger`}),s===n.current&&e.invalidateQueries({queryKey:m.uiState})})},[e]);return{saved:o,save:Z.useCallback(e=>s(t=>{let n={name:e.name,columns:e.columns.map(({view:e,width:t})=>({view:e,width:t}))},r=t.findIndex(t=>t.name===e.name);return r<0?[...t,n]:t.map((e,t)=>t===r?n:e)}),[s]),remove:Z.useCallback(e=>s(t=>t.filter(t=>t.name!==e)),[s])}}var Xl=400,Zl=1500,Ql=2e3,$l=3e4;function eu(e){let[t,n]=(0,Z.useState)(Vt),[r,i]=(0,Z.useState)(!1),[a,o]=(0,Z.useState)(!1),[s,l]=(0,Z.useState)(!1),[u,d]=(0,Z.useState)(0),f=(0,Z.useRef)(null),p=(0,Z.useRef)({taskId:e,state:null});p.current.taskId!==e&&(p.current={taskId:e,state:null},n(Vt()),i(!1),o(!1),l(!1),d(0)),(0,Z.useEffect)(()=>{let t=!1,r=null;f.current=null;let a=t=>{p.current={taskId:e,state:t},_.current=t,g.current={taskId:e,state:t},n(t),i(!0)},o=async n=>{let i;try{i=await c(e)}catch{if(t)return;n===0&&a(Vt()),l(!0),r=setTimeout(()=>void o(n+1),Math.min($l,Ql*2**n));return}t||(f.current=e,m.current&&clearTimeout(m.current),m.current=null,l(!1),!(n>0&&i.layouts===null)&&(a(i.layouts===null?Vt():rn(i.layouts)),n>0&&d(e=>e+1)))};return o(0),()=>{t=!0,r&&clearTimeout(r)}},[e]);let m=(0,Z.useRef)(null),h=(0,Z.useRef)(0),g=(0,Z.useRef)(null),_=(0,Z.useRef)(null),v=(0,Z.useCallback)((e,t,n=!1)=>{if(f.current!==e)return;_.current=t;let r=h.current+=1,i=t=>{r===h.current&&p.current.taskId===e&&o(t)},a=o=>{(n?de(e,t,{keepalive:n}):de(e,t)).then(()=>i(!1)).catch(e=>{if(r===h.current){if(e?.status===400)return i(!0);if(o>0){setTimeout(()=>{r===h.current&&a(o-1)},Zl);return}i(!0)}})};a(1)},[]),y=(0,Z.useCallback)((e=!1)=>{let t=g.current;!t||t.state===_.current||(m.current&&clearTimeout(m.current),m.current=null,v(t.taskId,t.state,e))},[v]);(0,Z.useEffect)(()=>{if(!(!r||p.current.taskId!==e||t===p.current.state))return g.current={taskId:e,state:t},m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{m.current=null,v(e,t)},Xl),()=>{m.current&&clearTimeout(m.current),m.current=null}},[r,v,e,t,s]),(0,Z.useEffect)(()=>{let e=()=>y(!0);return window.addEventListener(`pagehide`,e),()=>{window.removeEventListener(`pagehide`,e),y()}},[y,e]);let b=(0,Z.useCallback)(e=>{n(t=>t.active?e(t,t.active):t)},[]);return{state:t,ready:r,saveFailed:a,loadFailed:s,replaced:u,layout:Et(t),addLayout:(0,Z.useCallback)(e=>n(t=>Bt(t,e)),[]),closeLayout:(0,Z.useCallback)(e=>n(t=>bt(t,e)),[]),selectLayout:(0,Z.useCallback)(e=>n(t=>st(t,e)),[]),renameLayout:(0,Z.useCallback)((e,t)=>n(n=>on(n,e,t)),[]),applySaved:(0,Z.useCallback)(e=>n(t=>Kt(t,e)),[]),keepAs:(0,Z.useCallback)(e=>n(t=>Ht(t,e)),[]),addColumn:(0,Z.useCallback)(e=>b((t,n)=>Yt(t,n,e)),[b]),closeColumn:(0,Z.useCallback)(e=>b((t,n)=>Mt(t,n,e)),[b]),setColumnView:(0,Z.useCallback)((e,t)=>b((n,r)=>tn(n,r,e,t)),[b]),resizeColumns:(0,Z.useCallback)((e,t)=>b((n,r)=>St(n,r,e,t)),[b]),moveColumn:(0,Z.useCallback)((e,t)=>b((n,r)=>jt(n,r,e,t)),[b]),openDeepLink:(0,Z.useCallback)(e=>n(t=>yt(t,e)),[]),dropView:(0,Z.useCallback)((e,t,r)=>n(n=>Ct(n,e,t,r)),[]),setColumnBrowser:(0,Z.useCallback)((e,t)=>b((n,r)=>Je(n,r,e,t)),[b]),openInBrowser:(0,Z.useCallback)(e=>{let t=g.current?.state;return!t||$t(t,e)===null?!1:(n(t=>$t(t,e)??t),!0)},[]),openBeside:(0,Z.useCallback)(e=>{let t=g.current?.state??p.current.state;if(!t)return null;let r=At(t,e);return r?(n(t=>At(t,e)?.state??t),{name:r.name,index:r.index}):null},[])}}function tu({view:e,columns:t,onDrop:n}){let[r,i]=(0,Z.useState)(null),a=t.length>=nt;return(0,Q.jsx)(`div`,{"data-slot":`view-drop-zones`,className:`absolute inset-0 z-30 flex gap-px bg-background/40 backdrop-blur-[1px]`,children:(t.length===0?[{width:100,zones:[{key:`only`,at:0,mode:`insert`,label:`Open ${Ze(e)} here`}]}]:t.map((t,n)=>{let r={key:`replace:${n}`,at:n,mode:`replace`,label:t.view===e?Ze(e):`Replace ${Ze(t.view)}`,hint:a?`${nt} columns is the limit`:void 0},i=a?[r]:[{key:`insert:${n}`,at:n,mode:`insert`,label:`Beside`,hint:`left`},r,{key:`insert:${n+1}:${n}`,at:n+1,mode:`insert`,label:`Beside`,hint:`right`}];return{width:t.width,zones:i}})).map((e,t)=>(0,Q.jsx)(`div`,{style:{flexBasis:`${e.width}%`},className:K(`grid min-w-0 grow gap-1.5 p-2.5`,e.zones.length===3?`grid-cols-[26%_1fr_26%]`:`grid-cols-1`),children:e.zones.map(e=>(0,Q.jsxs)(`div`,{"data-drop-zone":e.mode,onDragOver:t=>{t.dataTransfer.types.includes(`text/cez-view`)&&(t.preventDefault(),t.dataTransfer.dropEffect=`move`,i(e.key))},onDragLeave:()=>i(t=>t===e.key?null:t),onDrop:t=>{let r=t.dataTransfer.getData(Jr);Ot(r)&&(t.preventDefault(),n(r,e.at,e.mode))},className:K(`flex flex-col items-center justify-center rounded-lg border-[1.5px] border-dashed border-border bg-background/80 p-2 text-center text-xs font-medium text-muted-foreground transition-colors`,r===e.key&&`border-foreground/60 bg-muted text-foreground`),children:[e.label,e.hint?(0,Q.jsx)(`span`,{className:`text-[11px] font-normal opacity-80`,children:e.hint}):null]},e.key))},t))})}var nu=1024;function ru({columns:e,actions:t,renderView:n,headerExtras:r}){let i=Ue(nu),a=(0,Z.useRef)(null),[o,s]=(0,Z.useState)(0),[c,l]=(0,Z.useState)(null),u=c===null?null:Math.min(c,e.length),d=e.length+(u===null?0:1)<nt,f=n=>{if(u===null)return;let r=u;l(null),t.addColumn(n),r<e.length&&t.moveColumn(e.length,r)},p=(n,r)=>(0,Q.jsx)(au,{index:n,column:r,count:e.length,actions:t});if(e.length===0)return(0,Q.jsx)(`div`,{"data-slot":`workspace-columns`,className:`flex min-h-0 flex-1 flex-col`,children:(0,Q.jsx)(et,{onPick:t.addColumn})});let m=e.length+(u===null?0:1),h=e=>u===null?e.width:100/m,g=(0,Q.jsxs)(`header`,{className:`flex h-8 shrink-0 items-center gap-1.5 border-b border-border/70 bg-background pl-4 pr-1.5 text-xs font-medium text-muted-foreground`,children:[(0,Q.jsx)(Nn,{"aria-hidden":`true`,className:`size-3.5 shrink-0`}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:`New window`}),(0,Q.jsx)(q,{type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":`Close new window`,title:`Close`,onClick:()=>l(null),className:`text-soft-foreground`,children:(0,Q.jsx)(gr,{"aria-hidden":`true`,className:`size-3.5`})})]}),_=u===null?null:(0,Q.jsxs)(`div`,{"data-slot":`workspace-column`,"data-pending":``,className:`relative flex min-w-0 flex-col border-l border-border/70 first:border-l-0`,style:{width:`${100/m}%`},children:[g,(0,Q.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-y-auto`,children:(0,Q.jsx)(et,{scope:`window`,onPick:f})})]},`pending`);if(!i){let i=e.map((e,t)=>t);u!==null&&i.splice(u,0,`pending`);let a=Math.min(o,i.length-1),c=i[a],m=c===`pending`?null:e[c];return(0,Q.jsxs)(`div`,{"data-slot":`workspace-columns`,"data-narrow":``,className:`flex min-h-0 flex-1 flex-col`,children:[i.length>1?(0,Q.jsx)(Ar,{value:String(a),onValueChange:e=>s(Number(e)),className:`shrink-0 gap-0`,children:(0,Q.jsx)(kr,{"aria-label":`Windows of this layout`,className:`grid w-full auto-cols-fr grid-flow-col gap-1 rounded-none border-b border-border bg-transparent px-3 py-1.5 group-data-[orientation=horizontal]/tabs:h-auto`,children:i.map((t,n)=>{let r=t===`pending`?Nn:Ke[e[t].view];return(0,Q.jsxs)(Or,{value:String(n),className:`h-auto min-w-0 rounded-md border-0 px-2 py-1 text-xs data-[state=active]:bg-muted data-[state=active]:font-medium group-data-[variant=default]/tabs-list:data-[state=active]:shadow-none`,children:[(0,Q.jsx)(r,{"aria-hidden":`true`,className:`size-3.5 shrink-0`}),(0,Q.jsx)(`span`,{className:`truncate`,children:t===`pending`?`New window`:Ze(e[t].view)})]},n)})})}):null,m===null?(0,Q.jsxs)(Q.Fragment,{children:[g,(0,Q.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-y-auto`,children:(0,Q.jsx)(et,{scope:`window`,onPick:f})})]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(iu,{index:c,column:m,count:e.length,actions:t,menu:e.length>1?p(c,m):null,onSplit:()=>{l(c+1),s(c+1)},canSplit:d,grip:!1,extras:r?.(m.view,c)}),(0,Q.jsx)(`div`,{"data-slot":`main`,className:`min-h-0 flex-1 overflow-y-auto overscroll-contain`,children:n(m.view,c,m)})]})]})}return(0,Q.jsxs)(`div`,{ref:a,"data-slot":`workspace-columns`,className:`flex min-h-0 flex-1 items-stretch`,children:[e.flatMap((i,o)=>[o===u?_:null,(0,Q.jsxs)(`div`,{"data-slot":`workspace-column`,"data-view":i.view,className:`relative flex min-w-0 flex-col border-l border-border/70 first:border-l-0`,style:{width:`${h(i)}%`},children:[o>0&&u===null?(0,Q.jsx)(ou,{index:o-1,width:e[o-1].width,pair:e[o-1].width+i.width,rowRef:a,onResize:t.resizeColumns}):null,(0,Q.jsx)(iu,{index:o,column:i,count:e.length,actions:t,menu:e.length>1?p(o,i):null,onSplit:()=>l(o+1),canSplit:d,trailing:o===e.length-1?(0,Q.jsx)(Kl,{className:`ml-1.5`}):null,extras:r?.(i.view,o)}),(0,Q.jsx)(`div`,{"data-slot":`main`,className:`min-h-0 flex-1 overflow-y-auto overscroll-contain`,children:(0,Q.jsx)(Ul.Provider,{value:null,children:n(i.view,o,i)})})]},o)]),u===e.length?_:null]})}function iu({index:e,column:t,count:n,actions:r,menu:i,trailing:a,onSplit:o,canSplit:s=!0,grip:c=!0,extras:l}){let[u,d]=(0,Z.useState)(!1),f=Ke[t.view],p=t=>{t.dataTransfer.setData(`text/cez-column`,String(e)),t.dataTransfer.effectAllowed=`move`};return(0,Q.jsxs)(`header`,{"data-slot":`workspace-column-header`,onDragOver:e=>{e.dataTransfer.types.includes(`text/cez-column`)&&(e.preventDefault(),e.dataTransfer.dropEffect=`move`,d(!0))},onDragLeave:()=>d(!1),onDrop:t=>{if(d(!1),!t.dataTransfer.types.includes(`text/cez-column`))return;let n=t.dataTransfer.getData(`text/cez-column`),i=Number(n);n===``||!Number.isInteger(i)||(t.preventDefault(),r.moveColumn(i,e))},className:K(`group/column flex h-8 shrink-0 items-center gap-0.5 border-b border-border/70 bg-background pl-4 pr-1.5`,u&&`bg-muted`),children:[n>1&&c?(0,Q.jsx)(`span`,{draggable:!0,onDragStart:p,title:`Drag to reorder`,className:`-ml-2 flex h-full shrink-0 cursor-grab items-center text-soft-foreground/70 active:cursor-grabbing`,children:(0,Q.jsx)(Cn,{"aria-hidden":`true`,className:`size-3.5`})}):null,n===1?null:(0,Q.jsxs)(qn,{children:[(0,Q.jsx)(Xn,{asChild:!0,children:(0,Q.jsxs)(q,{type:`button`,variant:`ghost`,size:`sm`,"data-action":`change-view`,"aria-label":`${Ze(t.view)} — change view`,className:`-ml-1.5 h-6 gap-1.5 px-1.5 text-xs font-medium text-muted-foreground hover:text-foreground data-[state=open]:bg-muted data-[state=open]:text-foreground`,children:[(0,Q.jsx)(f,{"aria-hidden":`true`,className:`size-3.5 shrink-0`}),(0,Q.jsx)(`span`,{className:`truncate`,children:Ze(t.view)}),(0,Q.jsx)(Ln,{"aria-hidden":`true`,className:`size-3 shrink-0 opacity-60`})]})}),(0,Q.jsxs)(Jn,{align:`start`,className:`w-48`,children:[(0,Q.jsx)(Wn,{children:`Change view`}),(0,Q.jsx)(ft,{onPick:t=>r.setColumnView(e,t),disabled:t.view})]})]}),(0,Q.jsx)(`span`,{draggable:n>1&&c,onDragStart:p,className:K(`h-full min-w-0 flex-1`,n>1&&c&&`cursor-grab active:cursor-grabbing`)}),l,o?(0,Q.jsx)(Bn,{children:(0,Q.jsxs)(Vn,{children:[(0,Q.jsx)(Rn,{asChild:!0,children:(0,Q.jsx)(`span`,{className:`inline-flex`,children:(0,Q.jsx)(q,{type:`button`,variant:`ghost`,size:`icon-xs`,"data-action":`split-view`,"aria-label":`Split view`,disabled:!s,onClick:o,className:`text-soft-foreground hover:text-foreground`,children:(0,Q.jsx)(Nt,{"aria-hidden":`true`,className:`size-3.5`})})})}),(0,Q.jsx)(zn,{side:`bottom`,children:s?`Split view (\\)`:`At most ${nt} windows`})]})}):null,i,n>1?(0,Q.jsx)(q,{type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":`Close ${Ze(t.view)}`,title:`Close view`,onClick:()=>r.closeColumn(e),className:`text-soft-foreground`,children:(0,Q.jsx)(gr,{"aria-hidden":`true`,className:`size-3.5`})}):null,a]})}function au({index:e,column:t,count:n,actions:r}){return(0,Q.jsxs)(qn,{children:[(0,Q.jsx)(Xn,{asChild:!0,children:(0,Q.jsx)(q,{variant:`ghost`,size:`icon-sm`,className:`size-6 shrink-0 text-soft-foreground hover:text-foreground`,"aria-label":`Column menu ${Ze(t.view)}`,children:(0,Q.jsx)(ot,{"aria-hidden":`true`,className:`size-3.5`})})}),(0,Q.jsxs)(Jn,{align:`end`,className:`w-52`,children:[n>1?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(Kn,{disabled:e===0,onSelect:()=>r.moveColumn(e,e-1),children:[(0,Q.jsx)(_n,{"aria-hidden":`true`}),`Move left`]}),(0,Q.jsxs)(Kn,{disabled:e===n-1,onSelect:()=>r.moveColumn(e,e+1),children:[(0,Q.jsx)(bn,{"aria-hidden":`true`}),`Move right`]})]}):null,(0,Q.jsx)(Gn,{}),(0,Q.jsxs)(Kn,{onSelect:()=>r.closeColumn(e),children:[(0,Q.jsx)(gr,{"aria-hidden":`true`}),`Close view`]})]})]})}function ou({index:e,width:t,pair:n,rowRef:r,onResize:i}){let a=(0,Z.useRef)(null),o=e=>{e.button===0&&(a.current={x:e.clientX,width:t},e.currentTarget.setPointerCapture(e.pointerId),e.preventDefault(),e.currentTarget.focus())},s=n=>{let o=a.current,s=r.current;if(!o||!s)return;let c=s.getBoundingClientRect().width;c<=0||i(e,o.width+(n.clientX-o.x)/c*100-t)},c=e=>{a.current&&(a.current=null,e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId))};return(0,Q.jsx)(`div`,{"data-slot":`column-divider`,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize column ${e+1}`,"aria-valuenow":Math.round(t),"aria-valuemin":Math.round(qt(n)),"aria-valuemax":Math.round(n-qt(n)),tabIndex:0,onPointerDown:o,onPointerMove:s,onPointerUp:c,onPointerCancel:c,onKeyDown:t=>{let n=t.shiftKey?10:2,r=t.key===`ArrowLeft`?-n:t.key===`ArrowRight`?n:null;r!==null&&(t.preventDefault(),i(e,r))},title:`Drag to resize — arrow keys adjust precisely`,className:`absolute inset-y-0 -left-[5px] z-20 w-[9px] cursor-col-resize touch-none bg-transparent transition-colors hover:bg-violet/40 focus-visible:bg-violet/60 focus-visible:outline-none`})}var su=(0,Z.lazy)(()=>ve(()=>import(`./terminal-drawer-DAkquqSe.js`).then(e=>({default:e.TerminalDrawer})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]))),cu=(0,Z.lazy)(()=>ve(()=>import(`./task-graph-fkOtF8MX.js`).then(e=>({default:e.TaskGraphView})),__vite__mapDeps([20,1,2,3,4,5,21,22,23,8,24,25,26,14,27,28,29,9,10,30,31,11,32,33,34,35,15,36,37,38,39,40,12,13,41,42,17,43,44,45,6,7,46,47,48,49,16,50,51,52,53,54])));function lu({view:e}){let{id:t}=we(),n=j(t),r=(0,Z.useRef)(void 0);(0,Z.useEffect)(()=>{r.current!==t&&(r.current=void 0)},[t]);let i=(0,Z.useCallback)(e=>{r.current=e},[]),{mutate:a}=o();if((0,Z.useEffect)(()=>{n.data&&r.current!==n.data.id&&_t(n.data)&&a(n.data.id)},[a,n.data?.id,n.data?.status,n.data?.finishedAt,n.data?.seenAt,n.data?.archived,t]),n.isPending)return(0,Q.jsx)(uu,{view:e});if(n.isError){let e=n.error instanceof T&&n.error.status===404;return(0,Q.jsx)(`div`,{"data-route":`task-workspace`,className:`flex min-h-full flex-col`,children:(0,Q.jsx)(Ir,{icon:e?(0,Q.jsx)(hr,{}):(0,Q.jsx)(qe,{}),tone:e?`neutral`:`danger`,title:e?`Task not found`:`Could not load this task`,subtitle:e?`No run has this id. It may have been deleted, or the link is from another machine.`:n.error.message,actions:(0,Q.jsx)(q,{asChild:!0,variant:`outline`,children:(0,Q.jsx)(Y,{to:`/`,children:`Back to tasks`})})})})}return(0,Q.jsx)(du,{run:n.data,deepLinkView:e,onMarkedUnread:i})}function uu({view:e}){return e===`files`?(0,Q.jsx)(zt,{tab:`files`}):e===`terminal`?(0,Q.jsx)(zt,{tab:`terminal`}):e===`browser`?(0,Q.jsx)(zt,{tab:`preview`}):e===`changes`||e===`commits`||e===`graph`?(0,Q.jsx)(zt,{tab:`changes`}):(0,Q.jsx)(On,{})}function du({run:e,deepLinkView:t,onMarkedUnread:n}){let r=eu(e.id),{openDeepLink:i,addLayout:a,closeLayout:o,selectLayout:s,setColumnBrowser:c,openInBrowser:l,applySaved:u,keepAs:d}=r,f=Yl(),{save:p,remove:m}=f,h=r.state,g=(r.layout?.columns.length??0)>0,_=(0,Z.useCallback)(e=>{let t=lt(h,e);t&&(p(t),d(t.name))},[d,h,p]),v=ee().data?.capabilities?.terminal===!0,y=(0,Z.useMemo)(()=>gt.filter(e=>e!==`terminal`||v),[v]),b=ye(),x=(0,Z.useRef)(null),S=(0,Z.useRef)(new Map),C=(0,Z.useRef)(e.id);C.current!==e.id&&(C.current=e.id,S.current=new Map,x.current=null),(0,Z.useEffect)(()=>{if(!r.ready)return;if(t){x.current?.runId!==e.id&&(x.current={runId:e.id,name:r.state.active});let n=S.current.get(t);n!==void 0&&r.state.layouts.some(e=>e.name===n)?s(n):i(t);return}let n=x.current;x.current=null,b===`POP`&&n&&n.runId===e.id&&n.name!==r.state.active&&s(n.name)},[t,r.ready,r.replaced,b,i,e.id,s]),(0,Z.useEffect)(()=>{if(!r.ready||!t||S.current.has(t))return;let e=r.layout;e&&e.columns.length===1&&e.columns[0]?.view===t&&S.current.set(t,e.name)},[t,r.layout,r.ready]);let w=(0,Z.useCallback)(()=>n(e.id),[n,e.id]),T=(0,Z.useMemo)(()=>it.filter(t=>y.includes(t)&&(t!==`graph`||!!e.workflowDef)),[y,e.workflowDef]),E=r.ready?r.layout?Zt(r.layout):`session`:null,D=(0,Z.useMemo)(()=>r.state.layouts.filter(e=>Zt(e)===null),[r.state.layouts]),O=(0,Z.useCallback)(()=>a(),[a]),{hints:k,show:A}=Qe((0,Z.useMemo)(()=>ut(T),[T])),j=xe(),[M,N]=(0,Z.useState)(null),P=(0,Z.useCallback)(e=>{setTimeout(()=>N(e),0)},[]),F=(0,Z.useCallback)(()=>N(null),[]),I=r.dropView,L=(0,Z.useRef)({runId:e.id,current:r.state.active,previous:null});L.current.runId===e.id?L.current.current!==r.state.active&&(L.current={runId:e.id,current:r.state.active,previous:L.current.current}):L.current={runId:e.id,current:r.state.active,previous:null};let R=(0,Z.useCallback)(e=>{if(E!==e)return null;let t=L.current.previous,n=t===null?void 0:r.state.layouts.find(e=>e.name===t);return n&&!(n.columns.length===1&&n.columns[0]?.view===e)?(s(n.name),n.columns.length):(i(e===`session`?`changes`:`session`),1)},[E,r.state.layouts,i,s]),z=(0,Z.useCallback)((e,t,n)=>{if(N(null),n===`insert`&&R(e)!==null){I(e,t===0?0:nt,n);return}I(e,t,n)},[R,I]),B=(0,Z.useCallback)(e=>{let t=R(e)??r.layout?.columns.length??0;I(e,t,`insert`)},[R,I,r.layout?.columns.length]),te=r.layout?.columns.length??0,ne=E===null&&te>1?r.closeColumn:void 0,[re,ie]=(0,Z.useState)(()=>Nr(e.id)),V=(0,Z.useRef)(e.id);V.current!==e.id&&(V.current=e.id,ie(Nr(e.id)));let H=(0,Z.useCallback)(t=>{ie(n=>{let r={...n,...t};return Pr(e.id,r),r})},[e.id]),U=r.layout?.columns.some(e=>e.view===`terminal`)??!1,ae=Ce(),oe=v&&re.open&&!U,[se,ce]=(0,Z.useState)(!1),le=(0,Z.useRef)(e.id);le.current!==e.id&&(le.current=e.id,ce(!1));let ue=(0,Z.useCallback)(()=>ce(!1),[]),W=(0,Z.useCallback)(()=>ce(e=>!e),[]),de=Gl(se,ue),fe=(0,Z.useMemo)(()=>({maximized:se,toggle:W}),[se,W]),pe=re.open,me=(0,Z.useCallback)(()=>{U||H({open:!pe})},[pe,U,H]),{closeColumn:he}=r,G=r.layout?.columns,ge=(0,Z.useCallback)(()=>{H({open:!0});let e=G?.findIndex(e=>e.view===`terminal`)??-1;e<0||(E!==null||G.length===1?i(`session`):he(e))},[he,E,i,G,H]),_e=(0,Z.useMemo)(()=>oe||U?[`terminal`]:[],[oe,U]),ve=(0,Z.useMemo)(()=>(0,Q.jsx)(Yr,{layouts:D,active:r.state.active,fixedViews:T,fixedActive:E,onViews:_e,onSelectFixed:i,onSelect:s,onClose:o,saved:f.saved,onApplySaved:u,onSaveCurrent:g?_:void 0,onDeleteSaved:m,notesHref:`/tasks/${e.id}/notes`,onViewDragStart:P,onViewDragEnd:F,onOpenBeside:B,onColumnDropClose:ne,keyHints:k,showKeyHints:A}),[D,r.state.active,T,E,_e,i,s,o,f.saved,u,g,_,m,e.id,P,F,B,ne,k,A]),be=(0,Z.useMemo)(()=>(0,Q.jsx)(q,{variant:`ghost`,size:`icon-sm`,"data-action":`maximize-layout`,"aria-label":`Full view`,title:`Full view — hide everything but this layout (F)`,className:`text-muted-foreground`,onClick:W,children:(0,Q.jsx)(en,{"aria-hidden":`true`})}),[W]),J=(0,Z.useMemo)(()=>[...T.map(e=>({select:()=>i(e),active:E===e})),...D.map(e=>({select:()=>s(e.name),active:E===null&&e.name===r.state.active}))],[T,D,E,r.state.active,i,s]),Se=(0,Z.useMemo)(()=>[...pt(T).map(t=>t===`notes`?()=>j(`/tasks/${e.id}/notes`):()=>i(t))],[T,i,j,e.id]),Y=(0,Z.useRef)({stripOrder:J,numbered:Se,toggleMaximized:W,terminalAllowed:v,toggleDrawer:me});Y.current={stripOrder:J,numbered:Se,toggleMaximized:W,terminalAllowed:v,toggleDrawer:me},(0,Z.useEffect)(()=>{let e=e=>{if(e.metaKey||e.ctrlKey||e.altKey||e.repeat||e.defaultPrevented||xn(e.target)||document.querySelector(`[role="dialog"], [role="alertdialog"], [role="menu"], [role="listbox"]`))return;let t=Y.current,n=document.querySelector(pu),r=t.stripOrder.findIndex(e=>e.active),i=e=>{if(t.stripOrder.length===0)return;let n=(Math.max(r,0)+e+t.stripOrder.length)%t.stripOrder.length;t.stripOrder[n].select()};if(/^[1-9]$/.test(e.key)){let n=t.numbered[Number(e.key)-1];if(!n)return;n()}else if(e.key===`[`)i(-1);else if(e.key===`]`)i(1);else if(e.key===`f`||e.key===`F`)t.toggleMaximized();else if(e.key===`\\`){let e=n?.querySelectorAll(`[data-action="split-view"]:not(:disabled)`),t=e?.[e.length-1];if(!t)return;t.click()}else if(e.key===`/`){let e=n?.querySelector(`[data-slot="composer"] textarea, [data-slot="composer-input"]`);if(!e)return;e.focus()}else if(e.key==="`"){if(!t.terminalAllowed)return;t.toggleDrawer()}else return;e.preventDefault()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]);let we=to(e.id),[Te,Ee]=(0,Z.useState)(null),De=r.layout?.columns,Oe=(0,Z.useCallback)((e,t)=>{let n=De?.[e]?.view===`changes`,i=De?.filter(e=>e.view===`changes`).length===1;if(n&&i&&we.comments.length>0){Ee({index:e,view:t});return}r.setColumnView(e,t)},[De,we.comments.length,r.setColumnView]),ke=(0,Z.useMemo)(()=>({addColumn:E===null?r.addColumn:e=>I(e,te,`insert`),closeColumn:r.closeColumn,setColumnView:Oe,resizeColumns:r.resizeColumns,moveColumn:r.moveColumn}),[E,I,te,r.addColumn,r.closeColumn,Oe,r.resizeColumns,r.moveColumn]),Ae=r.openBeside,je=(0,Z.useCallback)(t=>{let n=Ae(t.view);n&&Kr(`${e.id}:${n.name}:${n.index}:${t.view}`,t.value)},[Ae,e.id]);(0,Z.useEffect)(()=>yn(e.id),[e.id]),(0,Z.useEffect)(()=>{if(!r.ready)return;let t=kn(e.id);t&&je({view:`files`,value:t})},[r.ready,je,e.id]),(0,Z.useEffect)(()=>{let t=()=>document.querySelector(pu),n=()=>{let e=t()?.querySelectorAll(`[data-action="split-view"]:not(:disabled)`);return e?.[e.length-1]??null},a=()=>t()?.querySelector(`[data-slot="composer"] textarea, [data-slot="composer-input"]`)??null,o={runId:e.id,views:T,activeView:E,openView:i,openViewBeside:B,layouts:D.map(e=>({name:e.name,label:Rt(e.name),active:E===null&&e.name===r.state.active})),selectLayout:s,maximized:se,toggleMaximized:W,get splitView(){return n()?()=>n()?.click():null},terminal:{allowed:v,open:pe,inColumn:U,toggle:me,openInColumn:()=>{H({open:!1}),Ae(`terminal`)}},get focusComposer(){return a()?()=>a()?.focus():null},openFile:e=>je({view:`files`,value:e}),markedUnread:w};return An(o),()=>vn(o)});let Me=r.state.active,Ne=De?.some(e=>e.view===`session`)?`session`:`changes`,Pe=Aa(e),{addDraft:Fe,discard:Ie,note:Le,marks:Re}=Pe,ze=(0,Z.useCallback)(e=>{Le(e)?.phase===`draft`&&Ie(e)},[Ie,Le]),Be=hu(e.id,r.layout?Me:null,r.state.layouts),Ve=(0,Z.useCallback)(e=>e===`terminal`&&v?(0,Q.jsx)(Yn,{label:`Move to bottom — under every view`,children:(0,Q.jsx)(q,{type:`button`,variant:`ghost`,size:`icon-xs`,"data-action":`terminal-to-drawer`,"aria-label":`Move to bottom`,onClick:ge,className:`text-soft-foreground hover:text-foreground`,children:(0,Q.jsx)(nn,{"aria-hidden":`true`,className:`size-3.5`})})}):null,[ge,v]),He=(0,Z.useCallback)((t,r,i,a)=>{switch(t){case`session`:return(0,Q.jsx)(vu,{run:e,onMarkedUnread:n,onOpenReference:je});case`changes`:return(0,Q.jsx)(po,{run:e,embedded:!0,stateKey:`${e.id}:${a}:${r}:changes`},e.id);case`commits`:return(0,Q.jsx)(qr,{run:e,embedded:!0,stateKey:`${e.id}:${a}:${r}:commits`});case`files`:return(0,Q.jsx)(xo,{run:e,embedded:!0,stateKey:`${e.id}:${a}:${r}:files`});case`graph`:return(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(_u,{title:`Loading graph…`}),children:(0,Q.jsx)(cu,{run:e,embedded:!0})});case`terminal`:return v?(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(_u,{title:`Loading terminal…`}),children:(0,Q.jsx)(su,{runId:e.id,height:0,onHeightChange:fu,onOpenInBrowser:l,fill:!0})}):(0,Q.jsx)(Ir,{icon:(0,Q.jsx)(Qn,{}),tone:`neutral`,heading:`h2`,title:`Terminal disabled`,subtitle:`The terminal is off on this cockpit — it is off in hosted mode unless CEZ_TERMINAL=1.`});case`browser`:return(0,Q.jsx)(Ri,{state:i.browser??Lt(),onChange:e=>c(r,e),onPickElement:Fe,designMarks:Re,onDesignEscape:ze,renderEmpty:v?t=>(0,Q.jsx)(da,{runId:e.id,projectId:ae,onOpen:t,setup:e.worktreeLifecycle,onShowTerminal:U?void 0:()=>H({open:!0})}):void 0,renderDesignNote:({mark:t,close:n})=>{let r=Le(t);return r?(0,Q.jsx)(ha,{note:r,run:e,notes:Pe,onClose:n}):null}})}},[Fe,Re,Pe,ze,Le,n,l,je,e,c,v,ae,U,H]);return(0,Q.jsxs)(`div`,{"data-route":`task-workspace`,"data-run-id":e.id,className:`flex h-full min-h-0 flex-col`,children:[(0,Q.jsx)(Gt,{run:e,tab:Ne,onMarkedUnread:w,tabs:ve,headerActions:be,wide:!0}),r.loadFailed?(0,Q.jsx)(`div`,{"data-slot":`layouts-unloaded`,role:`status`,className:`shrink-0 border-b border-border bg-muted/40 px-4 py-1.5 text-xs text-muted-foreground sm:px-6`,children:`This task's saved layouts could not be loaded yet — retrying. Changes made meanwhile are not saved.`}):null,r.saveFailed?(0,Q.jsx)(`div`,{"data-slot":`layouts-unsaved`,role:`status`,className:`shrink-0 border-b border-border bg-muted/40 px-4 py-1.5 text-xs text-muted-foreground sm:px-6`,children:`This layout could not be saved on this host — it keeps working in this tab, but will not come back after a refresh.`}):null,(0,Q.jsx)(sn.Provider,{value:y,children:(0,Q.jsx)(Ul.Provider,{value:fe,children:(0,Q.jsxs)(`div`,{ref:de.ref,"data-slot":`workspace-stage`,"data-maximized":de.covering?``:void 0,style:de.style,className:K(`relative flex min-h-0 flex-1 flex-col`,de.covering&&`fixed z-40 overflow-hidden bg-background md:rounded-xl md:border md:border-border/70`),children:[r.ready?r.layout?Be.map(e=>(0,Q.jsx)(gu,{layout:e,active:e.name===Me,actions:ke,renderView:He,headerExtras:Ve},e.name)):(0,Q.jsx)(Ir,{icon:(0,Q.jsx)(Nn,{}),tone:`neutral`,heading:`h2`,title:`No layouts`,subtitle:`You closed every layout of this task. Create a new one, or come back later — the task will open with a Chat layout.`,actions:(0,Q.jsx)(q,{variant:`outline`,onClick:O,children:`New layout`})}):(0,Q.jsx)(uu,{view:t}),M?(0,Q.jsx)(tu,{view:M,columns:r.layout?.columns??[],onDrop:z}):null,de.covering&&E!==null?(0,Q.jsx)(Kl,{className:`absolute top-2 right-3 z-20 bg-card shadow-sm`}):null]})})}),(0,Q.jsx)(Dr,{open:Te!==null,onOpenChange:e=>!e&&Ee(null),children:(0,Q.jsxs)(Sr,{children:[(0,Q.jsxs)(Er,{children:[(0,Q.jsx)(xr,{children:`You have an unsent comment`}),(0,Q.jsxs)(br,{children:[we.comments.length===1?`One comment on the changes has not been sent yet.`:`${we.comments.length} comments on the changes have not been sent yet.`,` `,`This is the last column showing them.`]})]}),(0,Q.jsxs)(wr,{children:[(0,Q.jsx)(Tr,{children:`Go back`}),(0,Q.jsx)(Cr,{onClick:()=>{Te&&r.setColumnView(Te.index,Te.view),Ee(null)},children:`Change anyway`})]})]})}),oe?(0,Q.jsx)(Z.Suspense,{fallback:null,children:(0,Q.jsx)(su,{runId:e.id,height:re.height,onHeightChange:e=>H({height:e}),onClose:()=>H({open:!1}),onMoveToColumn:()=>{H({open:!1}),Ae(`terminal`)},onOpenInBrowser:l})}):null]})}var fu=()=>{},pu=`[data-slot="workspace-stage"] [data-slot="workspace-layout"][data-active]`;function mu(e){return e.columns.every(e=>e.view!==`terminal`&&e.view!==`browser`)}function hu(e,t,n){let[r,i]=(0,Z.useState)({runId:e,names:[]}),a=r.runId===e?r.names:[];return t!==null&&a[0]!==t&&i({runId:e,names:[t,...a.filter(e=>e!==t)].slice(0,5)}),n.filter(e=>e.name===t||a.includes(e.name)&&mu(e))}function gu({layout:e,active:t,actions:n,renderView:r,headerExtras:i}){let a=e.name,o=(0,Z.useCallback)((e,t,n)=>r(e,t,n,a),[r,a]);return(0,Q.jsx)(Z.Activity,{mode:t?`visible`:`hidden`,children:(0,Q.jsx)(`div`,{"data-slot":`workspace-layout`,"data-active":t?``:void 0,className:`flex min-h-0 flex-1 flex-col`,children:(0,Q.jsx)(ru,{columns:e.columns,actions:n,renderView:o,headerExtras:i})})})}function _u({title:e}){return(0,Q.jsx)(Ir,{icon:(0,Q.jsx)(lr,{className:`motion-safe:animate-spin`}),tone:`neutral`,heading:`h2`,title:e})}function vu({run:e,onMarkedUnread:t,onOpenReference:n}){let r=wi(e.id),i=(0,Z.useMemo)(()=>Nl(r.visibleEvents,{activeTurn:e.status===`running`,runner:e.runner}),[r.visibleEvents,e.status,e.runner]),a=(0,Z.useMemo)(()=>Nl(r.currentEvents,{activeTurn:e.status===`running`,runner:e.runner}),[r.currentEvents,e.status,e.runner]);if(Eo(e,r.visibleEvents),r.isPending)return(0,Q.jsx)(On,{});let o=t=>{let n=t.target instanceof Element?t.target.closest(`[data-streamdown="inline-code"]`):null;if(!(n instanceof HTMLElement)||n.closest(`[data-slot="user-message"]`))return null;let r=yu(n.textContent??``,e.worktreePath??void 0);return r?{node:n,reference:r}:null};return(0,Q.jsx)(`div`,{className:`contents`,onPointerOver:e=>{let t=o(e);t&&!t.node.dataset.open&&(t.node.dataset.open=t.reference.view,t.node.title=t.reference.view===`files`?`Open in Files`:`Open in Commits`)},onClick:e=>{if(!n||window.getSelection()?.toString())return;let t=o(e);t&&n(t.reference)},children:(0,Q.jsx)(Fl,{run:e,thread:i,currentThread:a,history:r,onMarkedUnread:t,embedded:!0})})}function yu(e,t){let n=e.trim();if(n.length<3||n.length>260||/\s/.test(n))return null;if(/^[0-9a-f]{7,40}$/.test(n)&&/[a-f]/.test(n)&&/[0-9]/.test(n))return{view:`commits`,value:n};let r=n.replace(/:\d+(?::\d+)?$/,``);return t&&r.startsWith(`${t}/`)&&(r=r.slice(t.length+1)),r.startsWith(`/`)||r.startsWith(`~`)||/^[a-z]+:\/\//i.test(r)||(r=r.replace(/^\.\//,``),r.startsWith(`..`))||!/^[\w@.+\-()[\]]+(?:\/[\w@.+\-()[\]]+)*\.[A-Za-z][A-Za-z0-9]{0,7}$/.test(r)||!r.includes(`/`)&&!/\.(?:tsx?|jsx?|mjs|cjs|json|md|mdx|css|scss|html|ya?ml|toml|py|rs|go|rb|java|kt|swift|sh|sql|lock|txt|env|svg|png|jpe?g)$/i.test(r)?null:{view:`files`,value:r}}export{lu as TaskWorkspaceRoute};
@@ -1 +1 @@
1
- import{F as e}from"./button-ZPJ84lSe.js";var t=e(`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`}]]),n=e(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]);export{t as n,n as t};
1
+ import{F as e}from"./button-Clwd6u4_.js";var t=e(`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`}]]),n=e(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]);export{t as n,n as t};
@@ -1,3 +1,3 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CCIEwYL0.js";import{$i as r,Fi as i,Gr as a,Ur as o,Wr as s,aa as c,en as l,hr as u,j as d,wi as f}from"./queries-B--Cyn_0.js";import{F as p,r as m,t as h}from"./button-ZPJ84lSe.js";import{i as g}from"./bundle-mjs-BT31bpU6.js";import{o as _}from"./host-usage-BmL2kzAM.js";import{f as v}from"./tooltip-tycRJnh-.js";import{a as y,c as b,g as x,i as S,n as C,r as w,t as T,u as E}from"./icon-tooltip-BEOrU9g6.js";import{n as D,t as O}from"./terminal-tordSBUt.js";import{t as k}from"./loader-circle-i7B5PoZa.js";import{n as A,t as ee}from"./square-Du4NO0cr.js";import{t as j}from"./plus-CUeDPNAL.js";import{t as M}from"./x-PavsP4k3.js";import{a as N,c as P,i as F,n as I,o as te,r as ne,s as re,t as ie}from"./alert-dialog-BRafiUQO.js";import{i as L,r as R,t as z}from"./tabs-BhcbXPq1.js";import{t as B}from"./input-NF_gJ6fV.js";import{t as V}from"./drawer-state-DasOAIpO.js";var H=p(`panel-right`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}]]),U=e(t(),1),W=n(),G=3e3;function K({runId:e,onOpen:t}){let[n,r]=(0,U.useState)([]),[i,o]=(0,U.useState)(!1);return(0,U.useEffect)(()=>{let t=!0,n=()=>{a(e).then(e=>{t&&r(e.urls)}).catch(()=>{})};n();let i=setInterval(n,G);return()=>{t=!1,clearInterval(i)}},[e]),n.length===0?null:(0,W.jsxs)(`div`,{"data-slot":`detected-urls`,className:`flex shrink-0 flex-wrap items-center gap-2 border-b border-border/70 px-3 py-1.5`,children:[(0,W.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Detected addresses`}),n.map(e=>(0,W.jsxs)(`span`,{"data-slot":`detected-url`,"data-running":e.running===!0?``:void 0,className:`flex items-center gap-1.5 rounded-sm bg-muted/60 py-0.5 pr-0.5 pl-2 text-xs`,children:[(0,W.jsx)(x,{"aria-hidden":`true`,className:m(`size-2`,e.running===!0?`fill-success text-success`:e.running===!1?`fill-muted text-muted-foreground`:`text-soft-foreground`)}),(0,W.jsx)(`span`,{className:`font-mono`,children:e.url}),(0,W.jsx)(`span`,{className:`text-soft-foreground`,children:e.running===!0?`running`:e.running===!1?`not responding`:`…`}),(0,W.jsxs)(h,{type:`button`,variant:`ghost`,size:`xs`,"aria-label":`Open ${e.url} in Browser`,onClick:()=>o(!t(e.url)),className:`h-auto px-1.5 py-0.5 text-[length:inherit] hover:bg-background`,children:[(0,W.jsx)(D,{"aria-hidden":`true`,className:`size-3`}),(0,W.jsx)(`span`,{children:`Open in Browser`})]})]},e.url)),i?(0,W.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`No room to open it here — this layout has three columns, or its Browser is out of tabs.`}):null]})}function q({runId:e,onRun:t}){let[n,r]=(0,U.useState)([]),[i,a]=(0,U.useState)(``),o=(0,U.useCallback)(()=>{s(e).then(e=>r(e.commands)).catch(()=>{})},[e]);return(0,W.jsxs)(C,{onOpenChange:e=>e&&o(),children:[(0,W.jsx)(E,{asChild:!0,children:(0,W.jsxs)(h,{variant:`ghost`,size:`sm`,className:`h-6 shrink-0 px-2 text-xs text-muted-foreground`,children:[(0,W.jsx)(A,{"aria-hidden":`true`,className:`size-3`}),`Run`,(0,W.jsx)(v,{"aria-hidden":`true`,className:`size-3`})]})}),(0,W.jsxs)(w,{align:`end`,className:`max-h-80 w-80 overflow-y-auto`,children:[(0,W.jsx)(y,{children:`Project commands`}),n.length===0?(0,W.jsx)(`p`,{className:`px-2 py-1.5 text-xs text-soft-foreground`,children:`No commands found in package.json or a Makefile. Type your own below.`}):n.map(e=>(0,W.jsxs)(S,{onSelect:()=>t(e.command),className:`flex-col items-start gap-0`,children:[(0,W.jsx)(`span`,{className:`font-mono text-xs`,children:e.command}),(0,W.jsxs)(`span`,{className:`text-[11px] text-soft-foreground`,children:[e.source,e.detail?` — ${e.detail}`:``]})]},`${e.source}:${e.command}`)),(0,W.jsx)(b,{}),(0,W.jsx)(y,{className:`font-normal text-soft-foreground`,children:`Custom command`}),(0,W.jsx)(`form`,{className:`px-2 pb-1`,onSubmit:e=>{e.preventDefault();let n=i.trim();n!==``&&(a(``),t(n))},children:(0,W.jsx)(B,{value:i,onChange:e=>a(e.target.value),onKeyDown:e=>e.stopPropagation(),placeholder:`e.g. npm run dev`,"aria-label":`Custom command`,spellCheck:!1,className:`h-8 px-2 font-mono text-xs shadow-none focus-visible:ring-0 md:text-xs`})})]})]})}var J=400,Y=`\r
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CCIEwYL0.js";import{$i as r,Fi as i,Gr as a,Ur as o,Wr as s,aa as c,en as l,hr as u,j as d,wi as f}from"./queries-CI0EmEcH.js";import{F as p,r as m,t as h}from"./button-Clwd6u4_.js";import{i as g}from"./bundle-mjs-BT31bpU6.js";import{o as _}from"./host-usage-DjDYDU0A.js";import{f as v}from"./tooltip-B628Gs7C.js";import{a as y,c as b,g as x,i as S,n as C,r as w,t as T,u as E}from"./icon-tooltip-YXzUubMO.js";import{n as D,t as O}from"./terminal-F3ZJ5fI8.js";import{t as k}from"./loader-circle-D-ter0qP.js";import{n as A,t as ee}from"./square-8OFxLPoA.js";import{t as j}from"./plus-CBVm02wz.js";import{t as M}from"./x-DMIsmLBt.js";import{a as N,c as P,i as F,n as I,o as L,r as te,s as ne,t as re}from"./alert-dialog-DvPnvVvK.js";import{i as R,r as ie,t as z}from"./tabs-BUk8rSoE.js";import{t as B}from"./input-DIWTlsx6.js";import{t as V}from"./drawer-state-DasOAIpO.js";var H=p(`panel-right`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}]]),U=e(t(),1),W=n(),G=3e3;function K({runId:e,onOpen:t}){let[n,r]=(0,U.useState)([]),[i,o]=(0,U.useState)(!1);return(0,U.useEffect)(()=>{let t=!0,n=()=>{a(e).then(e=>{t&&r(e.urls)}).catch(()=>{})};n();let i=setInterval(n,G);return()=>{t=!1,clearInterval(i)}},[e]),n.length===0?null:(0,W.jsxs)(`div`,{"data-slot":`detected-urls`,className:`flex shrink-0 flex-wrap items-center gap-2 border-b border-border/70 px-3 py-1.5`,children:[(0,W.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Detected addresses`}),n.map(e=>(0,W.jsxs)(`span`,{"data-slot":`detected-url`,"data-running":e.running===!0?``:void 0,className:`flex items-center gap-1.5 rounded-sm bg-muted/60 py-0.5 pr-0.5 pl-2 text-xs`,children:[(0,W.jsx)(x,{"aria-hidden":`true`,className:m(`size-2`,e.running===!0?`fill-success text-success`:e.running===!1?`fill-muted text-muted-foreground`:`text-soft-foreground`)}),(0,W.jsx)(`span`,{className:`font-mono`,children:e.url}),(0,W.jsx)(`span`,{className:`text-soft-foreground`,children:e.running===!0?`running`:e.running===!1?`not responding`:`…`}),(0,W.jsx)(h,{asChild:!0,variant:`ghost`,size:`xs`,className:`h-auto px-1.5 py-0.5 text-[length:inherit] hover:bg-background`,children:(0,W.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`Open ${e.url} in Browser`,children:[(0,W.jsx)(D,{"aria-hidden":`true`,className:`size-3`}),(0,W.jsx)(`span`,{children:`Open in Browser`})]})}),(0,W.jsxs)(h,{type:`button`,variant:`ghost`,size:`xs`,"aria-label":`Open ${e.url} in Preview`,onClick:()=>o(!t(e.url)),className:`h-auto px-1.5 py-0.5 text-[length:inherit] hover:bg-background`,children:[(0,W.jsx)(H,{"aria-hidden":`true`,className:`size-3`}),(0,W.jsx)(`span`,{children:`Open Preview`})]})]},e.url)),i?(0,W.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`No room to open it here — this layout has three columns, or its Preview is out of tabs.`}):null]})}function q({runId:e,onRun:t}){let[n,r]=(0,U.useState)([]),[i,a]=(0,U.useState)(``),o=(0,U.useCallback)(()=>{s(e).then(e=>r(e.commands)).catch(()=>{})},[e]);return(0,W.jsxs)(C,{onOpenChange:e=>e&&o(),children:[(0,W.jsx)(E,{asChild:!0,children:(0,W.jsxs)(h,{variant:`ghost`,size:`sm`,className:`h-6 shrink-0 px-2 text-xs text-muted-foreground`,children:[(0,W.jsx)(A,{"aria-hidden":`true`,className:`size-3`}),`Run`,(0,W.jsx)(v,{"aria-hidden":`true`,className:`size-3`})]})}),(0,W.jsxs)(w,{align:`end`,className:`max-h-80 w-80 overflow-y-auto`,children:[(0,W.jsx)(y,{children:`Project commands`}),n.length===0?(0,W.jsx)(`p`,{className:`px-2 py-1.5 text-xs text-soft-foreground`,children:`No commands found in package.json or a Makefile. Type your own below.`}):n.map(e=>(0,W.jsxs)(S,{onSelect:()=>t(e.command),className:`flex-col items-start gap-0`,children:[(0,W.jsx)(`span`,{className:`font-mono text-xs`,children:e.command}),(0,W.jsxs)(`span`,{className:`text-[11px] text-soft-foreground`,children:[e.source,e.detail?` — ${e.detail}`:``]})]},`${e.source}:${e.command}`)),(0,W.jsx)(b,{}),(0,W.jsx)(y,{className:`font-normal text-soft-foreground`,children:`Custom command`}),(0,W.jsx)(`form`,{className:`px-2 pb-1`,onSubmit:e=>{e.preventDefault();let n=i.trim();n!==``&&(a(``),t(n))},children:(0,W.jsx)(B,{value:i,onChange:e=>a(e.target.value),onKeyDown:e=>e.stopPropagation(),placeholder:`e.g. npm run dev`,"aria-label":`Custom command`,spellCheck:!1,className:`h-8 px-2 font-mono text-xs shadow-none focus-visible:ring-0 md:text-xs`})})]})]})}var J=400,Y=`\r
2
2
  [... earlier output fell out of the scrollback ...]\r
3
- `;function X(){let e=getComputedStyle(document.documentElement),t=t=>e.getPropertyValue(t).trim(),n=[`black`,`red`,`green`,`yellow`,`blue`,`magenta`,`cyan`,`white`],r={};for(let e of n)r[e]=t(`--term-${e}`),r[`bright${e[0].toUpperCase()}${e.slice(1)}`]=t(`--term-bright-${e}`);return{background:t(`--card-2`),foreground:t(`--foreground`),cursor:t(`--primary-strong`),cursorAccent:t(`--card-2`),selectionBackground:t(`--term-selection`),...r}}function Z({runId:e,session:t,active:n,io:r}){let a=_(),o=(0,U.useRef)(null);o.current=r??{read:n=>f(e,t.id,n),write:n=>c(e,t.id,n),resize:(n,r)=>i(e,t.id,n,r)};let s=(0,U.useRef)(null),u=(0,U.useRef)(null),d=(0,U.useRef)(null),p=(0,U.useRef)(null),h=(0,U.useRef)(null),v=(0,U.useRef)(0),[y,b]=(0,U.useState)(!1),[x,S]=(0,U.useState)(!1);(0,U.useEffect)(()=>{let e=s.current;if(!e)return;let t=!1,n;return(async()=>{let[{Terminal:r},{FitAddon:i}]=await Promise.all([g(()=>import(`./xterm-U4TA8lIC.js`),[]),g(()=>import(`./addon-fit-DIOBYJe3.js`),[])]);if(t)return;let a=new r({cursorBlink:!0,cursorStyle:`bar`,cursorWidth:2,fontSize:12.5,lineHeight:1.35,letterSpacing:0,fontFamily:`'JetBrains Mono Variable', 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace`,theme:X(),scrollback:5e3}),s=new MutationObserver(()=>{a.options.theme=X()});s.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`,`data-accent`]}),d.current=s;let c=new i;a.loadAddon(c),a.open(e),u.current=a,p.current=()=>{e.clientHeight>0&&e.clientWidth>0&&c.fit()},h.current=()=>a.focus(),a.attachCustomKeyEventHandler(e=>{if(e.type!==`keydown`||!e.metaKey&&!e.ctrlKey)return!0;let t=e.key.toLowerCase();return e.metaKey||e.shiftKey?t===`c`&&a.hasSelection()?(navigator.clipboard?.writeText(a.getSelection()).catch(()=>{}),!1):t!==`v`:!0});let l=({cols:e,rows:t})=>{o.current.resize(e,t).catch(()=>{})};a.onResize(l),a.onData(e=>{o.current.write(e).catch(()=>{})}),p.current(),l({cols:a.cols,rows:a.rows}),b(!0);let f=typeof ResizeObserver>`u`?null:new ResizeObserver(()=>p.current?.());f?.observe(e),n=()=>{f?.disconnect(),a.dispose()}})(),()=>{t=!0,d.current?.disconnect(),d.current=null,u.current=null,p.current=null,h.current=null,b(!1),n?.()}},[e,t.id]),(0,U.useEffect)(()=>{!n||!y||(p.current?.(),h.current?.())},[n,y]);let C=(0,U.useRef)(!1),w=(0,U.useRef)(!1),T=(0,U.useCallback)(async()=>{if(C.current){w.current=!0;return}C.current=!0;try{do{w.current=!1;let e=await o.current.read(v.current);v.current=e.cursor,e.truncated&&u.current?.write(Y),e.data&&u.current?.write(e.data)}while(w.current)}finally{C.current=!1}},[e,t.id]);return(0,U.useEffect)(()=>{if(!y||!n||a===void 0)return;let e=!0,r=()=>{e&&T().catch(()=>{})};r();let i=t.topic;if(i===null)return()=>{e=!1};if(a===`local`&&!x){let t=l(i,r,()=>S(!0));return()=>{e=!1,t()}}let o=setInterval(r,J);return()=>{e=!1,clearInterval(o)}},[n,T,y,t.topic,x,a]),(0,W.jsx)(`div`,{"data-slot":`terminal-screen`,"data-session":t.id,className:m(`absolute inset-0 overflow-hidden p-3`,n?`visible`:`invisible pointer-events-none`,t.exitCode!==null&&`opacity-60`),children:(0,W.jsx)(`div`,{ref:s,className:`size-full`})})}var ae=2e3;function Q({runId:e,height:t,onHeightChange:n,onClose:i,onMoveToColumn:a,onOpenInBrowser:s,fill:l=!1}){let[f,p]=(0,U.useState)([]),[g,_]=(0,U.useState)(null),[v,b]=(0,U.useState)(null),[x,D]=(0,U.useState)(!0),[A,L]=(0,U.useState)(null),B=d(),V=typeof window>`u`?`this host`:window.location.host,G=(B.data?.repo?.root??B.data?.repoRoot??``).split(/[\\/]/).filter(Boolean).pop()??`project`;(0,U.useEffect)(()=>{let t=!1;return D(!0),b(null),p([]),_(null),(async()=>{try{let n=await o(e);if(t)return;if(!n.available){b(n.reason??`The terminal is not available in this cockpit.`);return}Y(n.shells??[]);let r=n.sessions.filter(e=>e.exitCode===null),i=r.length>0?r:[await u(e,{})];if(t)return;p(i),_(i[0]?.id??null)}catch(e){t||b(e instanceof Error?e.message:String(e))}finally{t||D(!1)}})(),()=>{t=!0}},[e]),(0,U.useEffect)(()=>{if(v||x)return;let t=!0,n=setInterval(()=>{o(e).then(e=>{!t||!e.available||(p(e.sessions),_(t=>t&&e.sessions.some(e=>e.id===t)?t:e.sessions[0]?.id??null))}).catch(()=>{})},ae);return()=>{t=!1,clearInterval(n)}},[e,x,v]);let[J,Y]=(0,U.useState)([]),X=(0,U.useCallback)(t=>{u(e,t?{shell:t}:{}).then(e=>{p(t=>[...t,e]),_(e.id)}).catch(e=>{b(e instanceof Error?e.message:String(e))})},[e]);(0,U.useEffect)(()=>{if(v)return;let e=e=>{!e.shiftKey||!(e.ctrlKey||e.metaKey)||e.code===`Backquote`&&(e.preventDefault(),X())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[X,v]);let Q=(0,U.useCallback)(t=>{L(null),r(e,t.id).catch(()=>{}),p(e=>{let n=e.findIndex(e=>e.id===t.id),r=e.filter(e=>e.id!==t.id);return r.length===0?i?.():n>=0&&_(e=>e===t.id?r[Math.min(n,r.length-1)]?.id??null:e),r})},[i,e]),ce=(0,U.useCallback)(t=>{u(e,{}).then(async n=>{p(e=>[...e,n]),_(n.id),await c(e,n.id,`${t}\r`)}).catch(()=>{})},[e]),$=f.find(e=>e.id===g)??null;return(0,W.jsxs)(`section`,{"data-slot":`terminal-drawer`,"aria-label":`Terminal`,"data-fill":l?``:void 0,className:m(`relative flex flex-col bg-background`,l?`h-full min-h-0`:`shrink-0 border-t border-border shadow-[0_-12px_24px_-20px_rgb(var(--shadow-color)/0.35)]`),style:l?void 0:{height:`${t}px`},children:[l?null:(0,W.jsx)(se,{height:t,onHeightChange:n}),v?null:(0,W.jsx)(K,{runId:e,onOpen:s}),(0,W.jsxs)(`header`,{className:`flex h-10 shrink-0 items-center gap-1.5 pl-3 pr-2`,children:[(0,W.jsx)(O,{"aria-hidden":`true`,className:`size-4 shrink-0 text-muted-foreground`}),(0,W.jsx)(z,{value:g??``,onValueChange:_,className:`min-w-0 flex-1 gap-0`,children:(0,W.jsxs)(R,{"aria-label":`Terminal tabs`,className:`flex w-full min-w-0 justify-start gap-0.5 overflow-x-auto rounded-none bg-transparent p-0 group-data-[orientation=horizontal]/tabs:h-auto`,children:[f.map(e=>(0,W.jsx)(oe,{session:e,active:e.id===g,onSelect:()=>_(e.id),onClose:()=>e.busy===!1?Q(e):L(e)},e.id)),v?null:J.length>1?(0,W.jsxs)(C,{children:[(0,W.jsx)(E,{asChild:!0,children:(0,W.jsx)(h,{type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":`New terminal tab`,title:`New terminal tab — pick a shell`,className:`rounded`,children:(0,W.jsx)(j,{"aria-hidden":`true`,className:`size-3.5`})})}),(0,W.jsxs)(w,{align:`start`,className:`w-56`,children:[(0,W.jsx)(y,{children:`New tab`}),J.map((e,t)=>(0,W.jsxs)(S,{"data-shell":e,onSelect:()=>X(e),children:[(0,W.jsx)(`span`,{className:`truncate font-mono text-xs`,children:e}),t===0?(0,W.jsx)(`span`,{className:`ml-auto shrink-0 text-xs text-soft-foreground`,children:`default`}):null]},e))]})]}):(0,W.jsx)(h,{type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":`New terminal tab`,title:`New terminal tab`,onClick:()=>X(),className:`rounded`,children:(0,W.jsx)(j,{"aria-hidden":`true`,className:`size-3.5`})})]})}),$?(0,W.jsx)(`span`,{className:`hidden max-w-[34%] shrink lg:block`,title:`${V} · ${G} · ${$.cwd}`,children:(0,W.jsxs)(`span`,{className:`block truncate text-[11px] text-soft-foreground`,children:[(0,W.jsx)(`span`,{className:`text-muted-foreground`,children:V}),` · `,G,` · `,$.cwd]})}):null,v?null:(0,W.jsx)(q,{runId:e,onRun:ce}),$?.busy===!0?(0,W.jsxs)(h,{variant:`ghost`,size:`sm`,className:`h-6 shrink-0 px-2 text-xs`,title:`Interrupt the command (Ctrl-C)`,onClick:()=>void c(e,$.id,``).catch(()=>{}),children:[(0,W.jsx)(ee,{"aria-hidden":`true`,className:`size-3`}),`Stop`]}):null,a?(0,W.jsx)(T,{label:`Move to column — beside the current view`,children:(0,W.jsx)(h,{type:`button`,variant:`ghost`,size:`icon-xs`,"data-action":`terminal-to-column`,"aria-label":`Move to column`,onClick:a,className:`rounded text-soft-foreground hover:text-foreground`,children:(0,W.jsx)(H,{"aria-hidden":`true`,className:`size-3.5`})})}):null,i?(0,W.jsx)(h,{type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":`Hide terminal`,title:`Hide terminal — processes keep running`,onClick:i,className:`rounded`,children:(0,W.jsx)(M,{"aria-hidden":`true`,className:`size-3.5`})}):null]}),v?(0,W.jsx)(`p`,{"data-slot":`terminal-unavailable`,className:`px-3 py-4 text-xs text-soft-foreground`,children:v}):x?(0,W.jsxs)(`p`,{className:`flex items-center gap-2 px-3 py-4 text-xs text-soft-foreground`,children:[(0,W.jsx)(k,{"aria-hidden":`true`,className:`size-3.5 animate-spin`}),`Starting the shell…`]}):(0,W.jsx)(`div`,{"data-slot":`terminal-surface`,className:`relative mx-2 mb-2 min-h-0 flex-1 overflow-hidden rounded-lg border border-border/70 bg-card-2`,children:f.map(t=>(0,W.jsx)(Z,{runId:e,session:t,active:t.id===g},t.id))}),(0,W.jsx)(ie,{open:A!==null,onOpenChange:e=>!e&&L(null),children:(0,W.jsxs)(F,{children:[(0,W.jsxs)(re,{children:[(0,W.jsx)(P,{children:A?.busy===!0?`Something is running in this tab`:`Close this tab?`}),(0,W.jsx)(N,{children:A?.busy===!0?`“${A.label}” is still running. Closing the tab stops that process and everything it started.`:`This host cannot tell whether something is still running in this shell. Closing the tab stops the shell and everything it started.`})]}),(0,W.jsxs)(te,{children:[(0,W.jsx)(ne,{children:`Cancel`}),(0,W.jsx)(I,{onClick:()=>A&&Q(A),children:`Close anyway`})]})]})})]})}function oe({session:e,active:t,onSelect:n,onClose:r}){return(0,W.jsxs)(`div`,{"data-slot":`terminal-tab`,"data-active":t?``:void 0,className:m(`group flex h-7 shrink-0 items-center rounded-md border border-transparent pl-2.5 pr-1 text-xs font-medium transition-colors`,t?`border-border/70 bg-card-2 text-foreground shadow-2xs`:`text-muted-foreground hover:bg-muted/60 hover:text-foreground`),children:[(0,W.jsx)(L,{value:e.id,onClick:n,title:e.exitCode===null?e.label:`${e.label} — exited (${e.exitCode})`,className:`inline-block h-auto max-w-40 flex-none truncate rounded-none border-0 p-0 text-xs font-medium text-inherit hover:text-inherit focus-visible:underline focus-visible:ring-0 focus-visible:outline-0 data-[state=active]:bg-transparent data-[state=active]:font-medium data-[state=active]:text-inherit group-data-[variant=default]/tabs-list:data-[state=active]:shadow-none`,children:e.label}),(0,W.jsx)(h,{type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":`Close ${e.label}`,onClick:r,className:m(`ml-1 size-4 rounded text-inherit opacity-0 transition-opacity hover:bg-background hover:text-inherit focus-visible:opacity-100 group-hover:opacity-100`,t&&`opacity-60`),children:(0,W.jsx)(M,{"aria-hidden":`true`,className:`size-3`})})]})}function se({height:e,onHeightChange:t}){let n=(0,U.useRef)(null),r=t=>{t.button===0&&(n.current={y:t.clientY,height:e},t.currentTarget.setPointerCapture(t.pointerId),t.preventDefault(),t.currentTarget.focus())},i=e=>{let r=n.current;r&&t(V(r.height-(e.clientY-r.y)))},a=e=>{n.current&&(n.current=null,e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId))};return(0,W.jsx)(`div`,{"data-slot":`drawer-resize-handle`,role:`separator`,"aria-orientation":`horizontal`,"aria-label":`Resize terminal`,"aria-valuenow":e,"aria-valuemin":120,"aria-valuemax":640,tabIndex:0,onPointerDown:r,onPointerMove:i,onPointerUp:a,onPointerCancel:a,onKeyDown:n=>{let r=n.shiftKey?64:16,i=n.key===`ArrowUp`?e+r:n.key===`ArrowDown`?e-r:n.key===`Home`?640:n.key===`End`?120:null;i!==null&&(n.preventDefault(),t(V(i)))},title:`Drag to resize — arrow keys adjust precisely`,className:`absolute inset-x-0 -top-[3px] z-20 h-[5px] cursor-row-resize touch-none bg-transparent transition-colors hover:bg-violet/40 focus-visible:bg-violet/60 focus-visible:outline-none`})}export{Q as TerminalDrawer};
3
+ `;function X(){let e=getComputedStyle(document.documentElement),t=t=>e.getPropertyValue(t).trim(),n=[`black`,`red`,`green`,`yellow`,`blue`,`magenta`,`cyan`,`white`],r={};for(let e of n)r[e]=t(`--term-${e}`),r[`bright${e[0].toUpperCase()}${e.slice(1)}`]=t(`--term-bright-${e}`);return{background:t(`--card-2`),foreground:t(`--foreground`),cursor:t(`--primary-strong`),cursorAccent:t(`--card-2`),selectionBackground:t(`--term-selection`),...r}}function Z({runId:e,session:t,active:n,io:r}){let a=_(),o=(0,U.useRef)(null);o.current=r??{read:n=>f(e,t.id,n),write:n=>c(e,t.id,n),resize:(n,r)=>i(e,t.id,n,r)};let s=(0,U.useRef)(null),u=(0,U.useRef)(null),d=(0,U.useRef)(null),p=(0,U.useRef)(null),h=(0,U.useRef)(null),v=(0,U.useRef)(0),[y,b]=(0,U.useState)(!1),[x,S]=(0,U.useState)(!1);(0,U.useEffect)(()=>{let e=s.current;if(!e)return;let t=!1,n;return(async()=>{let[{Terminal:r},{FitAddon:i}]=await Promise.all([g(()=>import(`./xterm-U4TA8lIC.js`),[]),g(()=>import(`./addon-fit-DIOBYJe3.js`),[])]);if(t)return;let a=new r({cursorBlink:!0,cursorStyle:`bar`,cursorWidth:2,fontSize:12.5,lineHeight:1.35,letterSpacing:0,fontFamily:`'JetBrains Mono Variable', 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace`,theme:X(),scrollback:5e3}),s=new MutationObserver(()=>{a.options.theme=X()});s.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`,`data-accent`]}),d.current=s;let c=new i;a.loadAddon(c),a.open(e),u.current=a,p.current=()=>{e.clientHeight>0&&e.clientWidth>0&&c.fit()},h.current=()=>a.focus(),a.attachCustomKeyEventHandler(e=>{if(e.type!==`keydown`||!e.metaKey&&!e.ctrlKey)return!0;let t=e.key.toLowerCase();return e.metaKey||e.shiftKey?t===`c`&&a.hasSelection()?(navigator.clipboard?.writeText(a.getSelection()).catch(()=>{}),!1):t!==`v`:!0});let l=({cols:e,rows:t})=>{o.current.resize(e,t).catch(()=>{})};a.onResize(l),a.onData(e=>{o.current.write(e).catch(()=>{})}),p.current(),l({cols:a.cols,rows:a.rows}),b(!0);let f=typeof ResizeObserver>`u`?null:new ResizeObserver(()=>p.current?.());f?.observe(e),n=()=>{f?.disconnect(),a.dispose()}})(),()=>{t=!0,d.current?.disconnect(),d.current=null,u.current=null,p.current=null,h.current=null,b(!1),n?.()}},[e,t.id]),(0,U.useEffect)(()=>{!n||!y||(p.current?.(),h.current?.())},[n,y]);let C=(0,U.useRef)(!1),w=(0,U.useRef)(!1),T=(0,U.useCallback)(async()=>{if(C.current){w.current=!0;return}C.current=!0;try{do{w.current=!1;let e=await o.current.read(v.current);v.current=e.cursor,e.truncated&&u.current?.write(Y),e.data&&u.current?.write(e.data)}while(w.current)}finally{C.current=!1}},[e,t.id]);return(0,U.useEffect)(()=>{if(!y||!n||a===void 0)return;let e=!0,r=()=>{e&&T().catch(()=>{})};r();let i=t.topic;if(i===null)return()=>{e=!1};if(a===`local`&&!x){let t=l(i,r,()=>S(!0));return()=>{e=!1,t()}}let o=setInterval(r,J);return()=>{e=!1,clearInterval(o)}},[n,T,y,t.topic,x,a]),(0,W.jsx)(`div`,{"data-slot":`terminal-screen`,"data-session":t.id,className:m(`absolute inset-0 overflow-hidden p-3`,n?`visible`:`invisible pointer-events-none`,t.exitCode!==null&&`opacity-60`),children:(0,W.jsx)(`div`,{ref:s,className:`size-full`})})}var ae=2e3;function Q({runId:e,height:t,onHeightChange:n,onClose:i,onMoveToColumn:a,onOpenInBrowser:s,fill:l=!1}){let[f,p]=(0,U.useState)([]),[g,_]=(0,U.useState)(null),[v,b]=(0,U.useState)(null),[x,D]=(0,U.useState)(!0),[A,R]=(0,U.useState)(null),B=d(),V=typeof window>`u`?`this host`:window.location.host,G=(B.data?.repo?.root??B.data?.repoRoot??``).split(/[\\/]/).filter(Boolean).pop()??`project`;(0,U.useEffect)(()=>{let t=!1;return D(!0),b(null),p([]),_(null),(async()=>{try{let n=await o(e);if(t)return;if(!n.available){b(n.reason??`The terminal is not available in this cockpit.`);return}Y(n.shells??[]);let r=n.sessions.filter(e=>e.exitCode===null),i=r.length>0?r:[await u(e,{})];if(t)return;p(i),_(i[0]?.id??null)}catch(e){t||b(e instanceof Error?e.message:String(e))}finally{t||D(!1)}})(),()=>{t=!0}},[e]),(0,U.useEffect)(()=>{if(v||x)return;let t=!0,n=setInterval(()=>{o(e).then(e=>{!t||!e.available||(p(e.sessions),_(t=>t&&e.sessions.some(e=>e.id===t)?t:e.sessions[0]?.id??null))}).catch(()=>{})},ae);return()=>{t=!1,clearInterval(n)}},[e,x,v]);let[J,Y]=(0,U.useState)([]),X=(0,U.useCallback)(t=>{u(e,t?{shell:t}:{}).then(e=>{p(t=>[...t,e]),_(e.id)}).catch(e=>{b(e instanceof Error?e.message:String(e))})},[e]);(0,U.useEffect)(()=>{if(v)return;let e=e=>{!e.shiftKey||!(e.ctrlKey||e.metaKey)||e.code===`Backquote`&&(e.preventDefault(),X())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[X,v]);let Q=(0,U.useCallback)(t=>{R(null),r(e,t.id).catch(()=>{}),p(e=>{let n=e.findIndex(e=>e.id===t.id),r=e.filter(e=>e.id!==t.id);return r.length===0?i?.():n>=0&&_(e=>e===t.id?r[Math.min(n,r.length-1)]?.id??null:e),r})},[i,e]),ce=(0,U.useCallback)(t=>{u(e,{}).then(async n=>{p(e=>[...e,n]),_(n.id),await c(e,n.id,`${t}\r`)}).catch(()=>{})},[e]),$=f.find(e=>e.id===g)??null;return(0,W.jsxs)(`section`,{"data-slot":`terminal-drawer`,"aria-label":`Terminal`,"data-fill":l?``:void 0,className:m(`relative flex flex-col bg-background`,l?`h-full min-h-0`:`shrink-0 border-t border-border shadow-[0_-12px_24px_-20px_rgb(var(--shadow-color)/0.35)]`),style:l?void 0:{height:`${t}px`},children:[l?null:(0,W.jsx)(se,{height:t,onHeightChange:n}),v?null:(0,W.jsx)(K,{runId:e,onOpen:s}),(0,W.jsxs)(`header`,{className:`flex h-10 shrink-0 items-center gap-1.5 pl-3 pr-2`,children:[(0,W.jsx)(O,{"aria-hidden":`true`,className:`size-4 shrink-0 text-muted-foreground`}),(0,W.jsx)(z,{value:g??``,onValueChange:_,className:`min-w-0 flex-1 gap-0`,children:(0,W.jsxs)(ie,{"aria-label":`Terminal tabs`,className:`flex w-full min-w-0 justify-start gap-0.5 overflow-x-auto rounded-none bg-transparent p-0 group-data-[orientation=horizontal]/tabs:h-auto`,children:[f.map(e=>(0,W.jsx)(oe,{session:e,active:e.id===g,onSelect:()=>_(e.id),onClose:()=>e.busy===!1?Q(e):R(e)},e.id)),v?null:J.length>1?(0,W.jsxs)(C,{children:[(0,W.jsx)(E,{asChild:!0,children:(0,W.jsx)(h,{type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":`New terminal tab`,title:`New terminal tab — pick a shell`,className:`rounded`,children:(0,W.jsx)(j,{"aria-hidden":`true`,className:`size-3.5`})})}),(0,W.jsxs)(w,{align:`start`,className:`w-56`,children:[(0,W.jsx)(y,{children:`New tab`}),J.map((e,t)=>(0,W.jsxs)(S,{"data-shell":e,onSelect:()=>X(e),children:[(0,W.jsx)(`span`,{className:`truncate font-mono text-xs`,children:e}),t===0?(0,W.jsx)(`span`,{className:`ml-auto shrink-0 text-xs text-soft-foreground`,children:`default`}):null]},e))]})]}):(0,W.jsx)(h,{type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":`New terminal tab`,title:`New terminal tab`,onClick:()=>X(),className:`rounded`,children:(0,W.jsx)(j,{"aria-hidden":`true`,className:`size-3.5`})})]})}),$?(0,W.jsx)(`span`,{className:`hidden max-w-[34%] shrink lg:block`,title:`${V} · ${G} · ${$.cwd}`,children:(0,W.jsxs)(`span`,{className:`block truncate text-[11px] text-soft-foreground`,children:[(0,W.jsx)(`span`,{className:`text-muted-foreground`,children:V}),` · `,G,` · `,$.cwd]})}):null,v?null:(0,W.jsx)(q,{runId:e,onRun:ce}),$?.busy===!0?(0,W.jsxs)(h,{variant:`ghost`,size:`sm`,className:`h-6 shrink-0 px-2 text-xs`,title:`Interrupt the command (Ctrl-C)`,onClick:()=>void c(e,$.id,``).catch(()=>{}),children:[(0,W.jsx)(ee,{"aria-hidden":`true`,className:`size-3`}),`Stop`]}):null,a?(0,W.jsx)(T,{label:`Move to column — beside the current view`,children:(0,W.jsx)(h,{type:`button`,variant:`ghost`,size:`icon-xs`,"data-action":`terminal-to-column`,"aria-label":`Move to column`,onClick:a,className:`rounded text-soft-foreground hover:text-foreground`,children:(0,W.jsx)(H,{"aria-hidden":`true`,className:`size-3.5`})})}):null,i?(0,W.jsx)(h,{type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":`Hide terminal`,title:`Hide terminal — processes keep running`,onClick:i,className:`rounded`,children:(0,W.jsx)(M,{"aria-hidden":`true`,className:`size-3.5`})}):null]}),v?(0,W.jsx)(`p`,{"data-slot":`terminal-unavailable`,className:`px-3 py-4 text-xs text-soft-foreground`,children:v}):x?(0,W.jsxs)(`p`,{className:`flex items-center gap-2 px-3 py-4 text-xs text-soft-foreground`,children:[(0,W.jsx)(k,{"aria-hidden":`true`,className:`size-3.5 animate-spin`}),`Starting the shell…`]}):(0,W.jsx)(`div`,{"data-slot":`terminal-surface`,className:`relative mx-2 mb-2 min-h-0 flex-1 overflow-hidden rounded-lg border border-border/70 bg-card-2`,children:f.map(t=>(0,W.jsx)(Z,{runId:e,session:t,active:t.id===g},t.id))}),(0,W.jsx)(re,{open:A!==null,onOpenChange:e=>!e&&R(null),children:(0,W.jsxs)(F,{children:[(0,W.jsxs)(ne,{children:[(0,W.jsx)(P,{children:A?.busy===!0?`Something is running in this tab`:`Close this tab?`}),(0,W.jsx)(N,{children:A?.busy===!0?`“${A.label}” is still running. Closing the tab stops that process and everything it started.`:`This host cannot tell whether something is still running in this shell. Closing the tab stops the shell and everything it started.`})]}),(0,W.jsxs)(L,{children:[(0,W.jsx)(te,{children:`Cancel`}),(0,W.jsx)(I,{onClick:()=>A&&Q(A),children:`Close anyway`})]})]})})]})}function oe({session:e,active:t,onSelect:n,onClose:r}){return(0,W.jsxs)(`div`,{"data-slot":`terminal-tab`,"data-active":t?``:void 0,className:m(`group flex h-7 shrink-0 items-center rounded-md border border-transparent pl-2.5 pr-1 text-xs font-medium transition-colors`,t?`border-border/70 bg-card-2 text-foreground shadow-2xs`:`text-muted-foreground hover:bg-muted/60 hover:text-foreground`),children:[(0,W.jsx)(R,{value:e.id,onClick:n,title:e.exitCode===null?e.label:`${e.label} — exited (${e.exitCode})`,className:`inline-block h-auto max-w-40 flex-none truncate rounded-none border-0 p-0 text-xs font-medium text-inherit hover:text-inherit focus-visible:underline focus-visible:ring-0 focus-visible:outline-0 data-[state=active]:bg-transparent data-[state=active]:font-medium data-[state=active]:text-inherit group-data-[variant=default]/tabs-list:data-[state=active]:shadow-none`,children:e.label}),(0,W.jsx)(h,{type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":`Close ${e.label}`,onClick:r,className:m(`ml-1 size-4 rounded text-inherit opacity-0 transition-opacity hover:bg-background hover:text-inherit focus-visible:opacity-100 group-hover:opacity-100`,t&&`opacity-60`),children:(0,W.jsx)(M,{"aria-hidden":`true`,className:`size-3`})})]})}function se({height:e,onHeightChange:t}){let n=(0,U.useRef)(null),r=t=>{t.button===0&&(n.current={y:t.clientY,height:e},t.currentTarget.setPointerCapture(t.pointerId),t.preventDefault(),t.currentTarget.focus())},i=e=>{let r=n.current;r&&t(V(r.height-(e.clientY-r.y)))},a=e=>{n.current&&(n.current=null,e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId))};return(0,W.jsx)(`div`,{"data-slot":`drawer-resize-handle`,role:`separator`,"aria-orientation":`horizontal`,"aria-label":`Resize terminal`,"aria-valuenow":e,"aria-valuemin":120,"aria-valuemax":640,tabIndex:0,onPointerDown:r,onPointerMove:i,onPointerUp:a,onPointerCancel:a,onKeyDown:n=>{let r=n.shiftKey?64:16,i=n.key===`ArrowUp`?e+r:n.key===`ArrowDown`?e-r:n.key===`Home`?640:n.key===`End`?120:null;i!==null&&(n.preventDefault(),t(V(i)))},title:`Drag to resize — arrow keys adjust precisely`,className:`absolute inset-x-0 -top-[3px] z-20 h-[5px] cursor-row-resize touch-none bg-transparent transition-colors hover:bg-violet/40 focus-visible:bg-violet/60 focus-visible:outline-none`})}export{Q as TerminalDrawer};
@@ -1 +1 @@
1
- import"./rolldown-runtime-QTnfLwEv.js";import{i as e,t}from"./react-runtime-CCIEwYL0.js";import{F as n,r}from"./button-ZPJ84lSe.js";var i=n(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),a=n(`layout-grid`,[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]),o=n(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),s=n(`workflow`,[[`rect`,{width:`8`,height:`8`,x:`3`,y:`3`,rx:`2`,key:`by2w9f`}],[`path`,{d:`M7 11v4a2 2 0 0 0 2 2h4`,key:`xkn7yn`}],[`rect`,{width:`8`,height:`8`,x:`13`,y:`13`,rx:`2`,key:`1cgmvn`}]]);e();var c=t();function l({className:e,...t}){return(0,c.jsx)(`textarea`,{"data-slot":`textarea`,className:r(`flex field-sizing-content min-h-16 w-full resize-none rounded-md border border-input bg-card px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none placeholder:text-soft-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 md:text-sm`,e),...t})}export{i as a,a as i,s as n,o as r,l as t};
1
+ import"./rolldown-runtime-QTnfLwEv.js";import{i as e,t}from"./react-runtime-CCIEwYL0.js";import{F as n,r}from"./button-Clwd6u4_.js";var i=n(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),a=n(`layout-grid`,[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]),o=n(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),s=n(`workflow`,[[`rect`,{width:`8`,height:`8`,x:`3`,y:`3`,rx:`2`,key:`by2w9f`}],[`path`,{d:`M7 11v4a2 2 0 0 0 2 2h4`,key:`xkn7yn`}],[`rect`,{width:`8`,height:`8`,x:`13`,y:`13`,rx:`2`,key:`1cgmvn`}]]);e();var c=t();function l({className:e,...t}){return(0,c.jsx)(`textarea`,{"data-slot":`textarea`,className:r(`flex field-sizing-content min-h-16 w-full resize-none rounded-md border border-input bg-card px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none placeholder:text-soft-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 md:text-sm`,e),...t})}export{i as a,a as i,s as n,o as r,l as t};
@@ -1 +1 @@
1
- import"./rolldown-runtime-QTnfLwEv.js";import{i as e,t}from"./react-runtime-CCIEwYL0.js";import{P as n,r}from"./button-ZPJ84lSe.js";e();var i=t(),a=n(`inline-block size-[7px] shrink-0 rounded-full`,{variants:{tone:{success:`bg-success`,pending:`bg-pending`,danger:`bg-danger`,violet:`bg-violet`,neutral:`bg-soft-foreground`},pulse:{true:`animate-pulse`,false:``}},defaultVariants:{tone:`neutral`,pulse:!1}});function o({className:e,tone:t=`neutral`,pulse:n=!1,...o}){return(0,i.jsx)(`span`,{"data-slot":`status-dot`,"data-tone":t,className:r(a({tone:t,pulse:n,className:e})),...o})}function s(e,t=Date.now()){if(!e)return``;let n=new Date(e).getTime();if(Number.isNaN(n))return``;let r=Math.max(0,(t-n)/1e3);return r<60?`${Math.floor(r)}s`:r<3600?`${Math.floor(r/60)}m`:r<86400?`${Math.floor(r/3600)}h`:`${Math.floor(r/86400)}d`}function c(e){return!Number.isFinite(e)||e<=0?`0`:e>=1e6?`${(Math.floor(e/1e5)/10).toFixed(1)}M`:e>=1e3?`${(Math.floor(e/100)/10).toFixed(1)}k`:String(Math.floor(e))}function l(e){let t=e?.capabilities,n=t?.tokenMetrics!==!1;return{tokens:t?.tokenUsageMetrics??n,cost:t?.costMetrics??n}}export{o as i,c as n,s as r,l as t};
1
+ import"./rolldown-runtime-QTnfLwEv.js";import{i as e,t}from"./react-runtime-CCIEwYL0.js";import{P as n,r}from"./button-Clwd6u4_.js";e();var i=t(),a=n(`inline-block size-[7px] shrink-0 rounded-full`,{variants:{tone:{success:`bg-success`,pending:`bg-pending`,danger:`bg-danger`,violet:`bg-violet`,neutral:`bg-soft-foreground`},pulse:{true:`animate-pulse`,false:``}},defaultVariants:{tone:`neutral`,pulse:!1}});function o({className:e,tone:t=`neutral`,pulse:n=!1,...o}){return(0,i.jsx)(`span`,{"data-slot":`status-dot`,"data-tone":t,className:r(a({tone:t,pulse:n,className:e})),...o})}function s(e,t=Date.now()){if(!e)return``;let n=new Date(e).getTime();if(Number.isNaN(n))return``;let r=Math.max(0,(t-n)/1e3);return r<60?`${Math.floor(r)}s`:r<3600?`${Math.floor(r/60)}m`:r<86400?`${Math.floor(r/3600)}h`:`${Math.floor(r/86400)}d`}function c(e){return!Number.isFinite(e)||e<=0?`0`:e>=1e6?`${(Math.floor(e/1e5)/10).toFixed(1)}M`:e>=1e3?`${(Math.floor(e/100)/10).toFixed(1)}k`:String(Math.floor(e))}function l(e){let t=e?.capabilities,n=t?.tokenMetrics!==!1;return{tokens:t?.tokenUsageMetrics??n,cost:t?.costMetrics??n}}export{o as i,c as n,s as r,l as t};