tarsk 0.5.83 → 0.6.85

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 (133) hide show
  1. package/README.md +1 -1
  2. package/dist/index.js +109000 -86111
  3. package/dist/jelly.webp +0 -0
  4. package/dist/public/assets/account-view-0Y8-BC99.js +1 -0
  5. package/dist/public/assets/{alert-dialog-Dq9tEk9t.js → alert-dialog-Cf2bArEP.js} +1 -1
  6. package/dist/public/assets/api-DS1qgAo_.js +2 -0
  7. package/dist/public/assets/async-error-boundary-DjDqZUsh.js +1 -0
  8. package/dist/public/assets/browser-tab-BMlFSd3G.js +12 -0
  9. package/dist/public/assets/{button-zYjzm__g.js → button-BvwSd5oT.js} +1 -1
  10. package/dist/public/assets/{card-CpchkvHM.js → card-BQvbp3oN.js} +1 -1
  11. package/dist/public/assets/chat-dock-context-DuJCw4sJ.js +1 -0
  12. package/dist/public/assets/{commit-dialog-D6hchKSJ.js → commit-dialog-C7HjZNiu.js} +1 -1
  13. package/dist/public/assets/{commit-error-dialog-f7e8Qzpk.js → commit-error-dialog-4ZKRthpk.js} +1 -1
  14. package/dist/public/assets/{commit-method-fields-6Ag-XY8a.js → commit-method-fields-CT7UxiA5.js} +1 -1
  15. package/dist/public/assets/conversation-history-view-BMfQxAZo.js +1 -0
  16. package/dist/public/assets/{create-project-dialog-DkxC6wM-.js → create-project-dialog-DALmTfiX.js} +2 -2
  17. package/dist/public/assets/create-project-workspace-BsVL5md0.js +2 -0
  18. package/dist/public/assets/{create-repo-dialog-Y8dcOitj.js → create-repo-dialog-epoRQwy-.js} +1 -1
  19. package/dist/public/assets/{delete-confirm-dialog-DvJ5VuAy.js → delete-confirm-dialog-DYplAaw1.js} +1 -1
  20. package/dist/public/assets/diff-view-zH5WmZmx.js +4 -0
  21. package/dist/public/assets/{dist-B-I0i8QZ.js → dist-CK_gsqZm.js} +1 -1
  22. package/dist/public/assets/{dist-lnsB93_y.js → dist-COaJwOux.js} +1 -1
  23. package/dist/public/assets/{dist-CPtOAqwP.js → dist-CcZPa1gi.js} +1 -1
  24. package/dist/public/assets/{dist-CX9ud_WC.js → dist-CjfjtFqY.js} +1 -1
  25. package/dist/public/assets/{dist-BJaGHz0F.js → dist-D4L066Cn.js} +1 -1
  26. package/dist/public/assets/{dist-B6u0s1jB.js → dist-DxHDUXDv.js} +1 -1
  27. package/dist/public/assets/dist-PhNKneni.js +2 -0
  28. package/dist/public/assets/{dist-BhdiICUV.js → dist-T3Rfl3KQ.js} +1 -1
  29. package/dist/public/assets/{es2015-D67vh4rt.js → es2015-C5AR6Xgu.js} +1 -1
  30. package/dist/public/assets/{explorer-monaco-editor-C9uTsYgh.js → explorer-monaco-editor-bFm3QJ-c.js} +1 -1
  31. package/dist/public/assets/explorer-tab-view-DuwN2R4l.js +2 -0
  32. package/dist/public/assets/explorer-tree-BOmePXZu.js +1 -0
  33. package/dist/public/assets/explorer-view-7TKT07h_.js +76 -0
  34. package/dist/public/assets/{git-history-dialog-CgH_0Ho0.js → git-history-dialog-DWYho36A.js} +1 -1
  35. package/dist/public/assets/index-B1RuOyec.css +1 -0
  36. package/dist/public/assets/index-SP0wF0IN.js +113 -0
  37. package/dist/public/assets/{lucide-react-CMzSV2MP.js → lucide-react-BFzs_X2U.js} +1 -1
  38. package/dist/public/assets/{model-list-controls-ueD5Yk6B.js → model-list-controls-fxMZD0mL.js} +1 -1
  39. package/dist/public/assets/onboarding-dialog-C1LKCH1z.js +1 -0
  40. package/dist/public/assets/{pill-tabs-CVcpOO4f.js → pill-tabs-CwuYHztp.js} +1 -1
  41. package/dist/public/assets/{progress-indicator-_fEKurQg.js → progress-indicator-Bub-larq.js} +1 -1
  42. package/dist/public/assets/project-coding-view-B3RYNFx_.js +1 -0
  43. package/dist/public/assets/{project-danger-zone-view-CtOeSKHP.js → project-danger-zone-view-CDLOltuo.js} +1 -1
  44. package/dist/public/assets/{project-env-vars-view-D8zFtC0r.js → project-env-vars-view-C1mVjLa-.js} +1 -1
  45. package/dist/public/assets/project-model-aliases-view-Brgx0_x-.js +1 -0
  46. package/dist/public/assets/project-settings-view-BeGFajVJ.js +1 -0
  47. package/dist/public/assets/{project-tools-view-DrwiTff5.js → project-tools-view-B2BWonsn.js} +1 -1
  48. package/dist/public/assets/providers-list-view-CtgtT08O.js +1 -0
  49. package/dist/public/assets/pull-request-dialog-CiNuslCp.js +1 -0
  50. package/dist/public/assets/{pull-with-changes-dialog-Mrdm4wbB.js → pull-with-changes-dialog-C34UMAcq.js} +1 -1
  51. package/dist/public/assets/{push-before-pr-dialog-Ce8MMKT-.js → push-before-pr-dialog-FoUo055j.js} +1 -1
  52. package/dist/public/assets/query-keys-BX4RxqwI.js +1 -0
  53. package/dist/public/assets/{scroll-area-BTpvIsIG.js → scroll-area-qgDSyMlD.js} +1 -1
  54. package/dist/public/assets/settings-general-tabs-view-YvyL4wXy.js +2 -0
  55. package/dist/public/assets/settings-general-view-MkCRhx2w.js +1 -0
  56. package/dist/public/assets/{settings-list-DajPoFxt.js → settings-list-ur331vXO.js} +1 -1
  57. package/dist/public/assets/settings-logs-view-B-T372j8.js +5 -0
  58. package/dist/public/assets/settings-mcp-servers-view-CCtQniUl.js +5 -0
  59. package/dist/public/assets/settings-models-view-HtJlfsQ0.js +1 -0
  60. package/dist/public/assets/settings-plugins-view-C0t1Lsqr.js +2 -0
  61. package/dist/public/assets/settings-providers-view-DKV-MltK.js +2 -0
  62. package/dist/public/assets/settings-remote-machines-view-hrC3HhoE.js +1 -0
  63. package/dist/public/assets/settings-setup-view-iBGLRzYS.js +2 -0
  64. package/dist/public/assets/settings-skills-view-DDHClBVo.js +2 -0
  65. package/dist/public/assets/{settings-slack-view-DH7r2apv.js → settings-slack-view-NHh-36q_.js} +1 -1
  66. package/dist/public/assets/settings-slash-commands-view-BxBHz5ya.js +1 -0
  67. package/dist/public/assets/settings-statistics-view-DrwjDQrK.js +1 -0
  68. package/dist/public/assets/settings-storage-view-ImCMtn2t.js +1 -0
  69. package/dist/public/assets/{settings-subagents-view-C1r3Jtpe.js → settings-subagents-view-DHHymb-n.js} +2 -2
  70. package/dist/public/assets/{settings-system-prompt-view-DcbUbDfa.js → settings-system-prompt-view-tzbE0lD7.js} +1 -1
  71. package/dist/public/assets/{settings-tab-bar-T8v2_Dfk.js → settings-tab-bar-gGaC6MfY.js} +1 -1
  72. package/dist/public/assets/settings-view-Dpza57LM.js +2 -0
  73. package/dist/public/assets/{slug-utils-DhQjuU2J.js → slug-utils-D7Y0Xtis.js} +1 -1
  74. package/dist/public/assets/store-DdiKV6YO.js +8 -0
  75. package/dist/public/assets/{table-DuD2DtkR.js → table-GKMBZepT.js} +1 -1
  76. package/dist/public/assets/tasks-view-CPIBCDSQ.js +1 -0
  77. package/dist/public/assets/{terminal-panel-BmphDRj0.js → terminal-panel-hERoQQC7.js} +2 -2
  78. package/dist/public/assets/{toggle-group-D0gDKZ9x.js → toggle-group-DpK_U8jx.js} +1 -1
  79. package/dist/public/assets/{tooltip-6qlOE6WT.js → tooltip-CqktA8Zq.js} +1 -1
  80. package/dist/public/assets/use-account-settings-query-R4H9qmd3.js +1 -0
  81. package/dist/public/assets/{use-active-dock-panel-instance-CDcYJhbD.js → use-active-dock-panel-instance-hpa6hhuw.js} +1 -1
  82. package/dist/public/assets/use-git-check-D6llSExJ.js +1 -0
  83. package/dist/public/assets/use-installed-ai-files-B4-NTX_g.js +1 -0
  84. package/dist/public/assets/{useBaseQuery-DqLwB2Sq.js → useBaseQuery-C4OJ4Bcm.js} +1 -1
  85. package/dist/public/assets/useQuery-CxnaBfkX.js +1 -0
  86. package/dist/public/assets/utils-BHAZna1O.js +1 -0
  87. package/dist/public/assets/{web-Us0pibUb.js → web-BRXrtee5.js} +1 -1
  88. package/dist/public/assets/{web-D8PJDFGq.js → web-DNlXzk7q.js} +1 -1
  89. package/dist/public/assets/{web-B5i03FJP.js → web-DiVO7QnD.js} +1 -1
  90. package/dist/public/assets/{web-CutQ8Xsm.js → web-Do-1UIKE.js} +1 -1
  91. package/dist/public/index.html +26 -23
  92. package/dist/recommended-models.txt +2 -2
  93. package/dist/vosk-worker.js.gz +0 -0
  94. package/package.json +14 -9
  95. package/dist/public/assets/account-view-CJyN7iRT.js +0 -1
  96. package/dist/public/assets/api-CX0sFbpL.js +0 -2
  97. package/dist/public/assets/async-error-boundary-BS6v_PGo.js +0 -1
  98. package/dist/public/assets/browser-tab-Cj4ztL1i.js +0 -12
  99. package/dist/public/assets/chat-dock-context-DQmDS2i8.js +0 -1
  100. package/dist/public/assets/conversation-history-view-Dd6vfz4F.js +0 -1
  101. package/dist/public/assets/diff-view-L1jxq-Ig.js +0 -4
  102. package/dist/public/assets/dist-FJzwWcMv.js +0 -2
  103. package/dist/public/assets/explorer-tab-view-BD924tmt.js +0 -2
  104. package/dist/public/assets/explorer-tree-Cn6lp8jD.js +0 -1
  105. package/dist/public/assets/explorer-view-5wUektaN.js +0 -76
  106. package/dist/public/assets/index-DCWejG57.css +0 -1
  107. package/dist/public/assets/index-DpDgcOE9.js +0 -114
  108. package/dist/public/assets/onboarding-dialog-pDK_d92N.js +0 -1
  109. package/dist/public/assets/project-coding-view-CCT83rVv.js +0 -1
  110. package/dist/public/assets/project-model-aliases-view-t1nijA2C.js +0 -1
  111. package/dist/public/assets/project-settings-view-C4kg3nDX.js +0 -1
  112. package/dist/public/assets/providers-list-view-DXRbYpKr.js +0 -1
  113. package/dist/public/assets/pull-request-dialog-D4JEkCWC.js +0 -1
  114. package/dist/public/assets/query-keys-C2vEjHA1.js +0 -1
  115. package/dist/public/assets/settings-general-tabs-view-Cg4sWryU.js +0 -2
  116. package/dist/public/assets/settings-general-view-Cl1qPgIX.js +0 -1
  117. package/dist/public/assets/settings-logs-view-C2SUOaIF.js +0 -5
  118. package/dist/public/assets/settings-mcp-servers-view-BuGFdY9u.js +0 -5
  119. package/dist/public/assets/settings-models-view-Dh8eZR6v.js +0 -1
  120. package/dist/public/assets/settings-plugins-view-CJvYXOb6.js +0 -2
  121. package/dist/public/assets/settings-providers-view-CxZnVxuu.js +0 -2
  122. package/dist/public/assets/settings-setup-view-0NvbMts_.js +0 -2
  123. package/dist/public/assets/settings-skills-view-DT6Ldvfn.js +0 -2
  124. package/dist/public/assets/settings-slash-commands-view-DxlXk7eT.js +0 -1
  125. package/dist/public/assets/settings-statistics-view-mlcoR26Q.js +0 -1
  126. package/dist/public/assets/settings-storage-view-DuN42zRw.js +0 -1
  127. package/dist/public/assets/settings-view-Bv5QDh0H.js +0 -2
  128. package/dist/public/assets/store-DCnnNgwq.js +0 -9
  129. package/dist/public/assets/tasks-view-D_TwmLgM.js +0 -1
  130. package/dist/public/assets/use-git-check-CZxYYnQ8.js +0 -1
  131. package/dist/public/assets/use-installed-ai-files-uH9h6W5v.js +0 -1
  132. package/dist/public/assets/utils-uGptTPGm.js +0 -1
  133. package/dist/public/assets/vosk-speech-Fi-g2v8n.js +0 -2
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{r as i,t as a}from"./query-keys-BX4RxqwI.js";import{I as o,_t as s,bt as c,gt as l,ln as u,ot as d,vt as f,yt as p}from"./dist-PhNKneni.js";import{$ as m,n as h,r as g}from"./store-DdiKV6YO.js";import{d as _,t as v}from"./utils-BHAZna1O.js";import{A as y,H as b,I as x,N as S,Qt as C,V as w,W as T,at as E,b as D,d as O,dn as k,en as A,gt as j,m as ee,mt as te,n as ne,ot as M,pt as N,q as re,r as ie,xn as ae}from"./lucide-react-BFzs_X2U.js";import{t as P}from"./button-BvwSd5oT.js";import{i as F,n as I,r as oe,t as L}from"./tooltip-CqktA8Zq.js";import{Mt as R,Ui as se,ea as ce,en as le,f as ue,ji as de,ua as fe}from"./api-DS1qgAo_.js";import{n as pe,r as me}from"./scroll-area-qgDSyMlD.js";import{t as he}from"./progress-indicator-Bub-larq.js";import{a as ge,c as _e,i as z,n as ve,o as ye,r as be,s as xe,t as Se}from"./alert-dialog-Cf2bArEP.js";import{t as Ce}from"./use-toast-xpb5jNtN.js";import{a as we,n as Te,t as Ee}from"./suspense-resource-DzlMlIgR.js";import{$n as De,An as Oe,Bn as ke,Br as Ae,Cn as je,Dn as Me,En as Ne,Er as Pe,Fn as Fe,Fr as Ie,Gn as Le,Gt as B,H as Re,Hn as ze,Hr as Be,In as Ve,Ir as V,J as He,Jt as H,Ln as Ue,Lr as U,Mn as We,N as Ge,Nn as Ke,On as W,Or as G,Pn as qe,Qn as Je,Rn as Ye,Rr as Xe,Sn as Ze,Tn as Qe,Un as $e,Ur as K,Ut as q,Vn as et,Vr as tt,W as nt,Wn as rt,Wt as J,X as it,Xn as at,Y as ot,Zt as st,_n as ct,an as lt,bn as ut,c as dt,er as ft,fn as pt,gn as mt,hn as ht,in as gt,jn as _t,jr as vt,kn as yt,kr as Y,m as bt,mn as xt,mt as St,nr as Ct,pn as wt,q as Tt,qt as Et,rn as Dt,rr as Ot,tr as kt,vn as At,wn as jt,xn as Mt,yn as Nt,zn as Pt,zr as Ft}from"./index-SP0wF0IN.js";import{t as It}from"./async-error-boundary-DjDqZUsh.js";var X=e(n(),1),Z=t(),Q=r();function Lt(e){let t=(0,Z.c)(10),{tag:n,className:r}=e,i;t[0]===r?i=t[1]:(i=v(u.compact,`inline-flex items-center gap-1 rounded-full border border-border/50 bg-background px-2 py-0.5`,r),t[0]=r,t[1]=i);let a;t[2]===n.color?a=t[3]:(a=(0,Q.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full`,style:{backgroundColor:n.color}}),t[2]=n.color,t[3]=a);let o;t[4]===n.name?o=t[5]:(o=(0,Q.jsx)(`span`,{className:`truncate`,children:n.name}),t[4]=n.name,t[5]=o);let s;return t[6]!==i||t[7]!==a||t[8]!==o?(s=(0,Q.jsxs)(`span`,{className:i,children:[a,o]}),t[6]=i,t[7]=a,t[8]=o,t[9]=s):s=t[9],s}function Rt(e){let t=(0,Z.c)(6),{className:n}=e,r;t[0]===n?r=t[1]:(r=v(u.compact,`inline-flex items-center gap-1 rounded-full bg-red-500/15 px-2 py-0.5 text-red-600 dark:text-red-400`,n),t[0]=n,t[1]=r);let i,a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Q.jsx)(re,{className:`h-3 w-3 shrink-0`,"aria-hidden":`true`}),a=(0,Q.jsx)(`span`,{className:`truncate`,children:`paused`}),t[2]=i,t[3]=a):(i=t[2],a=t[3]);let o;return t[4]===r?o=t[5]:(o=(0,Q.jsxs)(`span`,{className:r,children:[i,a]}),t[4]=r,t[5]=o),o}var zt={Plan:`#EAB308`,Build:`#3B82F6`,Test:`#8B5CF6`,Review:`#F97316`,Done:`#22C55E`};function Bt(e){let t=(0,Z.c)(10),{status:n,className:r}=e,i;t[0]===r?i=t[1]:(i=v(u.compact,`inline-flex items-center gap-1 rounded-full border border-border/50 bg-background px-2 py-0.5`,r),t[0]=r,t[1]=i);let a=zt[n],o;t[2]===a?o=t[3]:(o=(0,Q.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full`,style:{backgroundColor:a}}),t[2]=a,t[3]=o);let s;t[4]===n?s=t[5]:(s=(0,Q.jsx)(`span`,{className:`truncate`,children:n}),t[4]=n,t[5]=s);let c;return t[6]!==i||t[7]!==o||t[8]!==s?(c=(0,Q.jsxs)(`span`,{className:i,children:[o,s]}),t[6]=i,t[7]=o,t[8]=s,t[9]=c):c=t[9],c}var Vt=d(`app.run-history-dialog`),Ht={schedule:{label:`Schedule`,icon:k},event:{label:`Event`,icon:ne},manual:{label:`Manual`,icon:b}};function Ut(e){return new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,year:`numeric`,hour:`numeric`,minute:`2-digit`})}function Wt(e){let t=(0,Z.c)(6),{trigger:n}=e,r=Ht[n],i=r.icon,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=v(u.compact,`inline-flex shrink-0 items-center gap-1 rounded-full border border-border px-1.5 py-0.5 text-muted-foreground`),t[0]=a):a=t[0];let o;t[1]===i?o=t[2]:(o=(0,Q.jsx)(i,{className:`h-3 w-3`}),t[1]=i,t[2]=o);let s;return t[3]!==r.label||t[4]!==o?(s=(0,Q.jsxs)(`span`,{className:a,children:[o,r.label]}),t[3]=r.label,t[4]=o,t[5]=s):s=t[5],s}function Gt(e){let t=(0,Z.c)(23),{run:n,canOpen:r,onOpenRun:i}=e,a=r?`hover:bg-accent/40`:`cursor-default`,o;t[0]===a?o=t[1]:(o=v(`flex w-full items-center gap-2 rounded-md px-2 py-2 text-left transition-colors`,a),t[0]=a,t[1]=o);let s;t[2]!==i||t[3]!==n?(s=()=>i(n),t[2]=i,t[3]=n,t[4]=s):s=t[4];let c=!r,l,d;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Q.jsx)(E,{className:`h-4 w-4 shrink-0 text-muted-foreground`}),d=v(u.body,`min-w-0 flex-1 truncate`),t[5]=l,t[6]=d):(l=t[5],d=t[6]);let f=n.threadTitle??`Conversation deleted`,p;t[7]===f?p=t[8]:(p=(0,Q.jsx)(`span`,{className:d,children:f}),t[7]=f,t[8]=p);let m;t[9]===n.trigger?m=t[10]:(m=(0,Q.jsx)(Wt,{trigger:n.trigger}),t[9]=n.trigger,t[10]=m);let h;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(h=v(u.caption,`shrink-0 tabular-nums text-muted-foreground`),t[11]=h):h=t[11];let g;t[12]===n.createdAt?g=t[13]:(g=Ut(n.createdAt),t[12]=n.createdAt,t[13]=g);let _;t[14]===g?_=t[15]:(_=(0,Q.jsx)(`span`,{className:h,children:g}),t[14]=g,t[15]=_);let y;return t[16]!==_||t[17]!==o||t[18]!==s||t[19]!==c||t[20]!==p||t[21]!==m?(y=(0,Q.jsxs)(`button`,{type:`button`,className:o,onClick:s,disabled:c,children:[l,p,m,_]}),t[16]=_,t[17]=o,t[18]=s,t[19]=c,t[20]=p,t[21]=m,t[22]=y):y=t[22],y}function Kt(e){let t=(0,Z.c)(19),{open:n,onOpenChange:r,projectId:i,taskId:a,onOpenRun:o}=e,[s,c]=(0,X.useState)(null),[l,d]=(0,X.useState)(!1),[f,p]=(0,X.useState)(null),m,h;t[0]!==n||t[1]!==i||t[2]!==a?(m=()=>{if(!n)return;let e=!1;return d(!0),p(null),Ve(i,a).then(t=>{e||c(t)}).catch(t=>{Vt.error(`Failed to load task run history:`,t),e||p(t instanceof Error?t.message:String(t))}).finally(()=>{e||d(!1)}),()=>{e=!0}},h=[n,i,a],t[0]=n,t[1]=i,t[2]=a,t[3]=m,t[4]=h):(m=t[3],h=t[4]),(0,X.useEffect)(m,h);let g=!!o,_;t[5]!==r||t[6]!==o?(_=function(e){o&&(r(!1),o(e.threadId))},t[5]=r,t[6]=o,t[7]=_):_=t[7];let y=_,b;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,Q.jsxs)(Be,{children:[(0,Q.jsx)(K,{children:`Run History`}),(0,Q.jsx)(Ae,{children:`Conversations created when this task ran, newest first.`})]}),t[8]=b):b=t[8];let x;t[9]!==g||t[10]!==f||t[11]!==y||t[12]!==l||t[13]!==s?(x=(0,Q.jsxs)(Ft,{className:`flex max-h-[min(36rem,85vh)] flex-col sm:max-w-lg`,children:[b,l?(0,Q.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-8 text-muted-foreground`,children:[(0,Q.jsx)(N,{className:`h-4 w-4 animate-spin`}),(0,Q.jsx)(`span`,{className:u.bodyMuted,children:`Loading runs…`})]}):f?(0,Q.jsxs)(`p`,{className:v(u.bodyMuted,`py-8 text-center text-destructive`),children:[`Failed to load run history: `,f]}):s&&s.length>0?(0,Q.jsx)(me,{className:`min-h-0 flex-1`,children:(0,Q.jsx)(`div`,{className:`space-y-1 py-2`,children:s.map(e=>(0,Q.jsx)(Gt,{run:e,canOpen:g&&!!e.threadTitle,onOpenRun:y},e.id))})}):(0,Q.jsx)(`p`,{className:v(u.bodyMuted,`py-8 text-center`),children:`No runs yet. Runs appear here after the task is triggered by its schedule, an event, or Run Now.`})]}),t[9]=g,t[10]=f,t[11]=y,t[12]=l,t[13]=s,t[14]=x):x=t[14];let S;return t[15]!==r||t[16]!==n||t[17]!==x?(S=(0,Q.jsx)(Xe,{open:n,onOpenChange:r,children:x}),t[15]=r,t[16]=n,t[17]=x,t[18]=S):S=t[18],S}function qt(e){let t=(0,Z.c)(6);if(!e.show)return null;let n;return t[0]!==e.onOpenChange||t[1]!==e.onOpenRun||t[2]!==e.open||t[3]!==e.task.id||t[4]!==e.task.projectId?(n=(0,Q.jsx)(Kt,{open:e.open,onOpenChange:e.onOpenChange,projectId:e.task.projectId,taskId:e.task.id,onOpenRun:e.onOpenRun}),t[0]=e.onOpenChange,t[1]=e.onOpenRun,t[2]=e.open,t[3]=e.task.id,t[4]=e.task.projectId,t[5]=n):n=t[5],n}function Jt(e){let t=(0,Z.c)(3),{show:n,onSelect:r}=e;if(!n)return null;let i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Q.jsx)(vt,{}),t[0]=i):i=t[0];let a;return t[1]===r?a=t[2]:(a=(0,Q.jsxs)(Q.Fragment,{children:[i,(0,Q.jsx)(Y,{onClick:r,children:`Run History`})]}),t[1]=r,t[2]=a),a}function Yt({task:e,disabled:t=!1,showRunHistory:n=!1,triggerClassName:r,onStartInNewWorkspace:i,onMarkDone:a,onRunNow:o,onActingChange:s,onOpenRun:c}){let[l,u]=(0,X.useState)(!1),[d,f]=(0,X.useState)(!1),p=ze(e)&&!e.triggerType,m=e.status!==`Done`&&!e.triggerType,h=$e(e),g=t||l;async function _(e){u(!0),s?.(!0);try{await e()}finally{u(!1),s?.(!1)}}return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{className:`flex items-center gap-1.5`,children:(0,Q.jsxs)(Pe,{children:[(0,Q.jsx)(Ie,{asChild:!0,children:(0,Q.jsxs)(P,{variant:`ghost`,size:`icon`,className:v(`h-8 w-8 shrink-0`,`sm:data-[state=open]:opacity-100 sm:data-[state=open]:pointer-events-auto`,e.working&&`text-primary`,r),disabled:g,children:[(0,Q.jsx)(A,{className:`h-4 w-4`}),(0,Q.jsx)(`span`,{className:`sr-only`,children:`Task actions`})]})}),(0,Q.jsxs)(G,{align:`end`,children:[h&&(0,Q.jsx)(Y,{onClick:()=>void _(()=>o(e)),children:`Run Now`}),p&&(0,Q.jsx)(Y,{onClick:()=>void _(()=>i(e)),children:`Start in a new workspace`}),m&&(0,Q.jsx)(Y,{onClick:()=>void _(()=>a(e)),children:`Mark as Done`}),(0,Q.jsx)(Jt,{show:n,onSelect:()=>f(!0)})]})]})}),(0,Q.jsx)(qt,{show:n,open:d,onOpenChange:f,task:e,onOpenRun:c})]})}function Xt(e){return!!(e.tags&&e.tags.length>0)}var Zt=`transition-opacity sm:opacity-0 sm:pointer-events-none sm:can-hover:group-hover/task-row:opacity-100 sm:can-hover:group-hover/task-row:pointer-events-auto focus-visible:opacity-100 focus-visible:pointer-events-auto`;function Qt(e){return e.status!==`Ready`||e.modified||Xt(e)||Le(e)}function $t(e){let t=(0,Z.c)(14),{task:n,className:r}=e,i;t[0]===n.status?i=t[1]:(i=n.status!==`Ready`&&(0,Q.jsx)(Bt,{status:n.status}),t[0]=n.status,t[1]=i);let a;t[2]===n.modified?a=t[3]:(a=n.modified&&(0,Q.jsx)(`span`,{className:`inline-flex items-center rounded-full bg-brand/15 px-2 py-0.5 text-[11px] font-medium leading-none text-brand`,children:`modified`}),t[2]=n.modified,t[3]=a);let o;t[4]===n?o=t[5]:(o=Le(n)&&(0,Q.jsx)(Rt,{}),t[4]=n,t[5]=o);let s;t[6]===n.tags?s=t[7]:(s=n.tags?.map(function(e){return(0,Q.jsx)(Lt,{tag:e},e.id)}),t[6]=n.tags,t[7]=s);let c;return t[8]!==r||t[9]!==i||t[10]!==a||t[11]!==o||t[12]!==s?(c=(0,Q.jsxs)(`div`,{className:r,children:[i,a,o,s]}),t[8]=r,t[9]=i,t[10]=a,t[11]=o,t[12]=s,t[13]=c):c=t[13],c}function en(e){let t=(0,Z.c)(16),{icon:n,label:r,onClick:i,className:a}=e,o;t[0]===a?o=t[1]:(o=v(`h-8 w-8 shrink-0`,a),t[0]=a,t[1]=o);let s;t[2]===n?s=t[3]:(s=(0,Q.jsx)(n,{className:`h-4 w-4`}),t[2]=n,t[3]=s);let c;t[4]===r?c=t[5]:(c=(0,Q.jsx)(`span`,{className:`sr-only`,children:r}),t[4]=r,t[5]=c);let l;t[6]!==i||t[7]!==o||t[8]!==s||t[9]!==c?(l=(0,Q.jsx)(F,{asChild:!0,children:(0,Q.jsxs)(P,{variant:`ghost`,size:`icon`,className:o,onClick:i,children:[s,c]})}),t[6]=i,t[7]=o,t[8]=s,t[9]=c,t[10]=l):l=t[10];let u;t[11]===r?u=t[12]:(u=(0,Q.jsx)(I,{children:r}),t[11]=r,t[12]=u);let d;return t[13]!==l||t[14]!==u?(d=(0,Q.jsxs)(L,{children:[l,u]}),t[13]=l,t[14]=u,t[15]=d):d=t[15],d}function tn(e){let t=(0,Z.c)(6),{task:n,className:r,onThreadSelect:i}=e,a=n.threadId;if(!a||!i)return null;let o;t[0]!==i||t[1]!==a?(o=()=>i(a),t[0]=i,t[1]=a,t[2]=o):o=t[2];let s;return t[3]!==r||t[4]!==o?(s=(0,Q.jsx)(en,{icon:C,label:`Open chat`,className:r,onClick:o}),t[3]=r,t[4]=o,t[5]=s):s=t[5],s}function nn(e){let t=(0,Z.c)(6),{task:n,onOpenEdit:r,onThreadSelect:i}=e,a=n.threadId;if(a&&i){let e;return t[0]!==i||t[1]!==a?(e=(0,Q.jsx)(en,{icon:M,label:`Open chat`,onClick:()=>i(a)}),t[0]=i,t[1]=a,t[2]=e):e=t[2],e}let o;return t[3]!==r||t[4]!==n?(o=(0,Q.jsx)(en,{icon:D,label:`Edit task`,onClick:()=>r(n)}),t[3]=r,t[4]=n,t[5]=o):o=t[5],o}function rn(e){let t=(0,Z.c)(19),{task:n,className:r,showRunHistory:i,showOpenChat:a,onThreadSelect:o,onStartInNewWorkspace:s,onMarkDone:c,onRunNow:l,onOpenRun:u}=e,[d,f]=(0,X.useState)(!1),p;t[0]!==d||t[1]!==n?(p=(d||n.working)&&(0,Q.jsx)(he,{size:`sm`}),t[0]=d,t[1]=n,t[2]=p):p=t[2];let m;t[3]!==o||t[4]!==a||t[5]!==n?(m=a&&(0,Q.jsx)(tn,{task:n,className:Zt,onThreadSelect:o}),t[3]=o,t[4]=a,t[5]=n,t[6]=m):m=t[6];let h;t[7]!==c||t[8]!==u||t[9]!==l||t[10]!==s||t[11]!==i||t[12]!==n?(h=(0,Q.jsx)(Yt,{task:n,showRunHistory:i,onStartInNewWorkspace:s,onMarkDone:c,onRunNow:l,onActingChange:f,onOpenRun:u,triggerClassName:Zt}),t[7]=c,t[8]=u,t[9]=l,t[10]=s,t[11]=i,t[12]=n,t[13]=h):h=t[13];let g;return t[14]!==r||t[15]!==p||t[16]!==m||t[17]!==h?(g=(0,Q.jsxs)(`div`,{className:r,children:[p,m,h]}),t[14]=r,t[15]=p,t[16]=m,t[17]=h,t[18]=g):g=t[18],g}function an(e){let t=(0,Z.c)(6),n,r;t[0]===e?(n=t[1],r=t[2]):({viewMode:r,...n}=e,t[0]=e,t[1]=n,t[2]=r);let i;return t[3]!==n||t[4]!==r?(i=r===`list`?(0,Q.jsx)(sn,{...n}):(0,Q.jsx)(on,{...n}),t[3]=n,t[4]=r,t[5]=i):i=t[5],i}function on(e){let t=(0,Z.c)(46),{task:n,now:r,onOpenEdit:i,showRunHistory:a,onThreadSelect:o,onStartInNewWorkspace:s,onMarkDone:c,onRunNow:l,onOpenRun:d}=e,f;t[0]!==r||t[1]!==n?(f=rt(n,r),t[0]=r,t[1]=n,t[2]=f):f=t[2];let p=f,m;t[3]!==i||t[4]!==n?(m=()=>i(n),t[3]=i,t[4]=n,t[5]=m):m=t[5];let h;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(h=v(u.label,`truncate leading-normal`),t[6]=h):h=t[6];let g;t[7]===n.title?g=t[8]:(g=(0,Q.jsx)(`p`,{className:h,children:n.title}),t[7]=n.title,t[8]=g);let _;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(_=v(u.caption,`mt-1 line-clamp-2 break-all text-muted-foreground max-sm:hidden`),t[9]=_):_=t[9];let y;t[10]===n.description?y=t[11]:(y=(0,Q.jsx)(`p`,{className:_,children:n.description}),t[10]=n.description,t[11]=y);let b;t[12]===p?b=t[13]:(b=p&&(0,Q.jsx)(`p`,{className:v(u.caption,`mt-1 text-muted-foreground`),children:p}),t[12]=p,t[13]=b);let x;t[14]===n?x=t[15]:(x=Qt(n)&&(0,Q.jsx)($t,{task:n,className:`mt-2 flex flex-wrap gap-1`}),t[14]=n,t[15]=x);let S;t[16]!==m||t[17]!==g||t[18]!==y||t[19]!==b||t[20]!==x?(S=(0,Q.jsxs)(`button`,{type:`button`,className:`col-start-1 row-start-1 block min-w-0 overflow-hidden text-left sm:flex-1`,onClick:m,children:[g,y,b,x]}),t[16]=m,t[17]=g,t[18]=y,t[19]=b,t[20]=x,t[21]=S):S=t[21];let C;t[22]!==i||t[23]!==n?(C=()=>i(n),t[22]=i,t[23]=n,t[24]=C):C=t[24];let w;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(w=v(u.caption,`line-clamp-4 break-all text-muted-foreground`),t[25]=w):w=t[25];let T;t[26]===n.description?T=t[27]:(T=(0,Q.jsx)(`p`,{className:w,children:n.description}),t[26]=n.description,t[27]=T);let E;t[28]!==C||t[29]!==T?(E=(0,Q.jsx)(`button`,{type:`button`,className:`col-span-2 row-start-2 block min-w-0 overflow-hidden text-left sm:hidden`,onClick:C,children:T}),t[28]=C,t[29]=T,t[30]=E):E=t[30];let D;t[31]===n?D=t[32]:(D=Qt(n)&&(0,Q.jsx)($t,{task:n,className:`col-span-2 row-start-3 flex min-w-0 flex-wrap gap-1 sm:hidden`}),t[31]=n,t[32]=D);let O;t[33]!==c||t[34]!==d||t[35]!==l||t[36]!==s||t[37]!==o||t[38]!==a||t[39]!==n?(O=(0,Q.jsx)(rn,{task:n,className:`col-start-2 row-start-1 flex shrink-0 items-center gap-1.5 self-start sm:absolute sm:right-4 sm:top-3 sm:z-10`,showRunHistory:a,showOpenChat:!0,onThreadSelect:o,onStartInNewWorkspace:s,onMarkDone:c,onRunNow:l,onOpenRun:d}),t[33]=c,t[34]=d,t[35]=l,t[36]=s,t[37]=o,t[38]=a,t[39]=n,t[40]=O):O=t[40];let k;return t[41]!==E||t[42]!==D||t[43]!==O||t[44]!==S?(k=(0,Q.jsxs)(`div`,{className:`group/task-row relative grid min-w-0 grid-cols-[minmax(0,1fr)_auto] grid-rows-[auto_auto] gap-x-2 gap-y-1 px-4 py-3 hover:bg-accent/40 sm:flex sm:items-start sm:gap-4`,children:[S,E,D,O]}),t[41]=E,t[42]=D,t[43]=O,t[44]=S,t[45]=k):k=t[45],k}function sn(e){let t=(0,Z.c)(28),{task:n,onOpenEdit:r,showRunHistory:i,onThreadSelect:a,onStartInNewWorkspace:o,onMarkDone:s,onRunNow:c,onOpenRun:l}=e,d;t[0]!==r||t[1]!==a||t[2]!==n?(d=(0,Q.jsx)(nn,{task:n,onOpenEdit:r,onThreadSelect:a}),t[0]=r,t[1]=a,t[2]=n,t[3]=d):d=t[3];let f;t[4]!==r||t[5]!==n?(f=()=>r(n),t[4]=r,t[5]=n,t[6]=f):f=t[6];let p;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(p=v(u.captionForeground,`truncate leading-normal`),t[7]=p):p=t[7];let m;t[8]===n.title?m=t[9]:(m=(0,Q.jsx)(`p`,{className:p,children:n.title}),t[8]=n.title,t[9]=m);let h;t[10]!==f||t[11]!==m?(h=(0,Q.jsx)(`button`,{type:`button`,className:`block min-w-0 flex-1 overflow-hidden text-left`,onClick:f,children:m}),t[10]=f,t[11]=m,t[12]=h):h=t[12];let g;t[13]===n?g=t[14]:(g=(Le(n)||Xt(n))&&(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[Le(n)&&(0,Q.jsx)(Rt,{}),n.tags?.map(function(e){return(0,Q.jsx)(Lt,{tag:e},e.id)})]}),t[13]=n,t[14]=g);let _;t[15]!==s||t[16]!==l||t[17]!==c||t[18]!==o||t[19]!==a||t[20]!==i||t[21]!==n?(_=(0,Q.jsx)(rn,{task:n,className:`flex shrink-0 items-center gap-1.5`,showRunHistory:i,showOpenChat:!1,onThreadSelect:a,onStartInNewWorkspace:o,onMarkDone:s,onRunNow:c,onOpenRun:l}),t[15]=s,t[16]=l,t[17]=c,t[18]=o,t[19]=a,t[20]=i,t[21]=n,t[22]=_):_=t[22];let y;return t[23]!==d||t[24]!==h||t[25]!==g||t[26]!==_?(y=(0,Q.jsxs)(`div`,{className:`group/task-row relative flex min-w-0 items-center gap-3 px-4 py-2 hover:bg-accent/40`,children:[d,h,g,_]}),t[23]=d,t[24]=h,t[25]=g,t[26]=_,t[27]=y):y=t[27],y}function cn(e){let t=(0,Z.c)(32),{automationsOnly:n,onSearchTermChange:r}=e,[i,a]=(0,X.useState)(!1),[o,s]=(0,X.useState)(``),c;t[0]===r?c=t[1]:(c=function(e){s(e),r(e)},t[0]=r,t[1]=c);let l=c,u;t[2]===r?u=t[3]:(u=function(){s(``),r(``),a(!1)},t[2]=r,t[3]=u);let d=u,f;t[4]!==d||t[5]!==i?(f=()=>{i?d():a(!0)},t[4]=d,t[5]=i,t[6]=f):f=t[6];let p;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Q.jsx)(y,{className:`h-4 w-4`}),t[7]=p):p=t[7];let m=n?`Search automations`:`Search tasks`,h;t[8]===m?h=t[9]:(h=(0,Q.jsx)(`span`,{className:`sr-only`,children:m}),t[8]=m,t[9]=h);let g;t[10]!==i||t[11]!==f||t[12]!==h?(g=(0,Q.jsx)(F,{asChild:!0,children:(0,Q.jsxs)(P,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,onClick:f,"aria-expanded":i,children:[p,h]})}),t[10]=i,t[11]=f,t[12]=h,t[13]=g):g=t[13];let _=n?`Search Automations`:`Search tasks`,b;t[14]===_?b=t[15]:(b=(0,Q.jsx)(I,{children:_}),t[14]=_,t[15]=b);let x;t[16]!==g||t[17]!==b?(x=(0,Q.jsxs)(L,{children:[g,b]}),t[16]=g,t[17]=b,t[18]=x):x=t[18];let S=i?`ml-1 w-44 opacity-100`:`w-0 opacity-0`,C;t[19]===S?C=t[20]:(C=v(`overflow-hidden transition-[width,opacity] duration-200`,S),t[19]=S,t[20]=C);let w;t[21]!==d||t[22]!==l||t[23]!==i||t[24]!==o?(w=i&&(0,Q.jsx)(U,{type:`search`,value:o,onChange:e=>l(e.target.value),onKeyDown:e=>{e.key===`Escape`&&d()},placeholder:`Search`,"aria-label":`Search tasks`,autoFocus:!0,className:`h-8 min-w-44 px-2`}),t[21]=d,t[22]=l,t[23]=i,t[24]=o,t[25]=w):w=t[25];let T;t[26]!==C||t[27]!==w?(T=(0,Q.jsx)(`div`,{className:C,children:w}),t[26]=C,t[27]=w,t[28]=T):T=t[28];let E;return t[29]!==x||t[30]!==T?(E=(0,Q.jsxs)(`div`,{className:`flex items-center`,children:[x,T]}),t[29]=x,t[30]=T,t[31]=E):E=t[31],E}function ln(e){let t=(0,Z.c)(16),{viewMode:n,onViewModeChange:r}=e,i=n===`list`,a;t[0]!==i||t[1]!==r?(a=()=>r(i?`summary`:`list`),t[0]=i,t[1]=r,t[2]=a):a=t[2];let o;t[3]===i?o=t[4]:(o=i?(0,Q.jsx)(S,{className:`h-4 w-4`}):(0,Q.jsx)(te,{className:`h-4 w-4`}),t[3]=i,t[4]=o);let s=i?`Switch to summary view`:`Switch to list view`,c;t[5]===s?c=t[6]:(c=(0,Q.jsx)(`span`,{className:`sr-only`,children:s}),t[5]=s,t[6]=c);let l;t[7]!==a||t[8]!==o||t[9]!==c?(l=(0,Q.jsx)(F,{asChild:!0,children:(0,Q.jsxs)(P,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,onClick:a,children:[o,c]})}),t[7]=a,t[8]=o,t[9]=c,t[10]=l):l=t[10];let u=i?`Summary view`:`List view`,d;t[11]===u?d=t[12]:(d=(0,Q.jsx)(I,{children:u}),t[11]=u,t[12]=d);let f;return t[13]!==l||t[14]!==d?(f=(0,Q.jsxs)(L,{children:[l,d]}),t[13]=l,t[14]=d,t[15]=f):f=t[15],f}function un(e){let t=(0,Z.c)(18),{automationsOnly:n,viewMode:r,projectTags:i,selectedTagIds:a,onToggleSelectedTag:o,onClearSelectedTags:s,onSearchTermChange:c,onViewModeChange:l,isRefreshing:u,onRefresh:d,onManageTags:f}=e,{setActions:p}=Ge(),m=a.size>0,h,g;t[0]!==n||t[1]!==m||t[2]!==u||t[3]!==s||t[4]!==f||t[5]!==d||t[6]!==c||t[7]!==o||t[8]!==l||t[9]!==i||t[10]!==a||t[11]!==p||t[12]!==r?(h=()=>{p((0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(cn,{automationsOnly:n,onSearchTermChange:c}),(0,Q.jsx)(ln,{viewMode:r,onViewModeChange:l}),(0,Q.jsxs)(L,{children:[(0,Q.jsx)(F,{asChild:!0,children:(0,Q.jsxs)(P,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,onClick:()=>d(),disabled:u,children:[(0,Q.jsx)(x,{className:v(`h-4 w-4`,u&&`animate-spin`)}),(0,Q.jsx)(`span`,{className:`sr-only`,children:`Refresh tasks`})]})}),(0,Q.jsx)(I,{children:`Refresh`})]}),(0,Q.jsxs)(Pe,{children:[(0,Q.jsxs)(L,{children:[(0,Q.jsx)(F,{asChild:!0,children:(0,Q.jsx)(Ie,{asChild:!0,children:(0,Q.jsxs)(P,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,children:[(0,Q.jsxs)(`span`,{className:`relative`,children:[(0,Q.jsx)(ee,{className:`h-4 w-4`}),m&&(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:`absolute -right-1 -top-1 h-1.5 w-1.5 rounded-full bg-primary`})]}),(0,Q.jsx)(`span`,{className:`sr-only`,children:`Filter and manage tags`})]})})}),(0,Q.jsx)(I,{children:`Tags`})]}),(0,Q.jsxs)(G,{align:`end`,className:`max-h-[var(--radix-dropdown-menu-content-available-height)] w-56 overflow-y-auto`,children:[i.length===0?(0,Q.jsx)(Y,{disabled:!0,className:`text-muted-foreground`,children:`No tags yet`}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(Y,{disabled:!m,className:v(!m&&`text-muted-foreground`),onSelect:function(e){e.preventDefault(),s()},children:[(0,Q.jsx)(j,{className:`h-4 w-4`}),`Clear tags`]}),(0,Q.jsx)(vt,{}),i.map(function(e){let t=a.has(e.id);return(0,Q.jsxs)(Y,{className:`[&_svg]:size-6`,onSelect:function(t){t.preventDefault(),o(e.id)},children:[(0,Q.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full`,style:{backgroundColor:e.color}}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.name}),(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:v(`flex h-7 w-7 shrink-0 items-center justify-center rounded-full border shadow-sm`,t?`border-transparent bg-foreground text-background`:`border-border bg-muted`),children:t&&(0,Q.jsx)(ae,{className:`h-6 w-6`})})]},e.id)})]}),(0,Q.jsx)(vt,{}),(0,Q.jsxs)(Y,{onClick:f,children:[(0,Q.jsx)(T,{className:`h-4 w-4`}),`Edit Tags`]})]})]})]}))},g=[p,n,r,i,a,m,o,s,u,d,f,c,l],t[0]=n,t[1]=m,t[2]=u,t[3]=s,t[4]=f,t[5]=d,t[6]=c,t[7]=o,t[8]=l,t[9]=i,t[10]=a,t[11]=p,t[12]=r,t[13]=h,t[14]=g):(h=t[13],g=t[14]),(0,X.useEffect)(h,g);let _,y;return t[15]===p?(_=t[16],y=t[17]):(_=()=>function(){p(null)},y=[p],t[15]=p,t[16]=_,t[17]=y),(0,X.useEffect)(_,y),null}function dn(e,t,n){if(e===`edit`&&t){let e=je(t);return{description:t.description,tags:t.tags??[],triggerForm:e,triggerCollapsed:!Mt(e)}}return{description:``,tags:[],triggerForm:n?At():ct(),triggerCollapsed:!n}}function fn(e){if(e.mode===`edit`)return e.task?ht({task:e.task,description:e.form.description,tagNames:e.form.tags.map(function(e){return e.name}),triggerForm:e.form.triggerForm,thread:e.thread}).kind!==`unchanged`:!1;let t=jt(e.form.triggerForm,At());return!!(e.form.description.trim()||e.form.tags.length||!e.form.triggerCollapsed&&!t)}function pn(e,t){return e===`edit`?t?`Edit Automation`:`Edit Task`:t?`Add Automation`:`New Task`}var mn=[{value:`0`,label:`Sunday`},{value:`1`,label:`Monday`},{value:`2`,label:`Tuesday`},{value:`3`,label:`Wednesday`},{value:`4`,label:`Thursday`},{value:`5`,label:`Friday`},{value:`6`,label:`Saturday`}],hn=Array.from({length:60},function(e,t){return{value:String(t),label:String(t).padStart(2,`0`)}}),gn=`Add automation`;function $(e,t){return{...e,...t}}function _n(e){let t=(0,Z.c)(7),{value:n,onChange:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Q.jsx)(V,{htmlFor:`schedule-once-at`,children:`Run at`}),t[0]=i):i=t[0];let a;t[1]!==r||t[2]!==n?(a=e=>r($(n,{scheduledAtLocal:e.target.value})),t[1]=r,t[2]=n,t[3]=a):a=t[3];let o;return t[4]!==a||t[5]!==n.scheduledAtLocal?(o=(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[i,(0,Q.jsx)(U,{id:`schedule-once-at`,type:`datetime-local`,value:n.scheduledAtLocal,onChange:a})]}),t[4]=a,t[5]=n.scheduledAtLocal,t[6]=o):o=t[6],o}function vn(e){let t=e.trim();if(t===``)return NaN;let n=Number(t);return Number.isNaN(n)?NaN:n}function yn(e){return Math.min(o,Math.max(1,e))}function bn(e){let t=(0,Z.c)(9),{value:n,onChange:r}=e,i;t[0]!==r||t[1]!==n?(i=n.preset===`weekly`&&(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(V,{children:`Day`}),(0,Q.jsxs)(q,{value:String(n.dayOfWeek),onValueChange:e=>r($(n,{dayOfWeek:Number(e)})),children:[(0,Q.jsx)(Et,{children:(0,Q.jsx)(H,{})}),(0,Q.jsx)(J,{children:mn.map(function(e){return(0,Q.jsx)(B,{value:e.value,children:e.label},e.value)})})]})]}),t[0]=r,t[1]=n,t[2]=i):i=t[2];let a;t[3]!==r||t[4]!==n?(a=n.preset===`interval`?(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(V,{htmlFor:`schedule-interval-minutes`,children:`Minutes`}),(0,Q.jsx)(U,{id:`schedule-interval-minutes`,type:`number`,min:1,max:o,step:1,placeholder:`5`,value:Number.isNaN(n.presetIntervalMinutes)?``:String(n.presetIntervalMinutes),onChange:e=>r($(n,{presetIntervalMinutes:vn(e.target.value)})),onBlur:()=>{let e=n.presetIntervalMinutes;!Number.isNaN(e)&&e!==yn(e)&&r($(n,{presetIntervalMinutes:yn(e)}))}})]}):n.preset===`hourly`?(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(V,{children:`Minute`}),(0,Q.jsxs)(q,{value:String(n.presetMinute),onValueChange:e=>r($(n,{presetMinute:Number(e)})),children:[(0,Q.jsx)(Et,{children:(0,Q.jsx)(H,{})}),(0,Q.jsx)(J,{children:hn.map(function(e){return(0,Q.jsx)(B,{value:e.value,children:e.label},e.value)})})]})]}):(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(V,{htmlFor:`schedule-time`,children:`Time`}),(0,Q.jsx)(U,{id:`schedule-time`,type:`time`,value:n.presetTime,onChange:e=>r($(n,{presetTime:e.target.value}))})]}),t[3]=r,t[4]=n,t[5]=a):a=t[5];let s;return t[6]!==i||t[7]!==a?(s=(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[i,a]}),t[6]=i,t[7]=a,t[8]=s):s=t[8],s}var xn=`once`,Sn=`event`;function Cn(e){let t=(0,Z.c)(16),{value:n,onChange:r,error:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(V,{children:`Trigger`}),t[0]=a):a=t[0];let o=n.kind===`event`?Sn:n.scheduleMode===`once`?xn:n.preset,s;t[1]!==r||t[2]!==n?(s=e=>{r(e===Sn?$(n,{kind:`event`}):e===xn?$(n,{kind:`schedule`,scheduleMode:`once`}):$(n,{kind:`schedule`,scheduleMode:`repeating`,preset:e}))},t[1]=r,t[2]=n,t[3]=s):s=t[3];let c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Q.jsx)(Et,{children:(0,Q.jsx)(H,{})}),t[4]=c):c=t[4];let l;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Q.jsxs)(J,{children:[(0,Q.jsx)(B,{value:xn,children:`Once`}),(0,Q.jsx)(B,{value:`interval`,children:`Interval`}),(0,Q.jsx)(B,{value:`hourly`,children:`Hourly`}),(0,Q.jsx)(B,{value:`daily`,children:`Daily`}),(0,Q.jsx)(B,{value:`weekdays`,children:`Weekdays`}),(0,Q.jsx)(B,{value:`weekly`,children:`Weekly`}),(0,Q.jsx)(B,{value:Sn,children:`Event`})]}),t[5]=l):l=t[5];let u;t[6]!==o||t[7]!==s?(u=(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[a,(0,Q.jsxs)(q,{value:o,onValueChange:s,children:[c,l]})]}),t[6]=o,t[7]=s,t[8]=u):u=t[8];let d;t[9]!==i||t[10]!==r||t[11]!==n?(d=n.kind===`event`?(0,Q.jsx)(Tn,{value:n,onChange:r,error:i}):n.scheduleMode===`once`?(0,Q.jsx)(_n,{value:n,onChange:r}):(0,Q.jsx)(bn,{value:n,onChange:r}),t[9]=i,t[10]=r,t[11]=n,t[12]=d):d=t[12];let f;return t[13]!==u||t[14]!==d?(f=(0,Q.jsx)(`div`,{className:`space-y-3`,children:(0,Q.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[u,d]})}),t[13]=u,t[14]=d,t[15]=f):f=t[15],f}function wn(e){return!!(e&&Ze(e))}function Tn(e){let t=(0,Z.c)(16),{value:n,onChange:r,error:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(V,{htmlFor:`event-key`,children:`Event Key`}),t[0]=a):a=t[0];let o=n.eventKey,s;t[1]===i?s=t[2]:(s=wn(i),t[1]=i,t[2]=s);let c;t[3]!==r||t[4]!==n?(c=e=>r($(n,{eventKey:e.target.value})),t[3]=r,t[4]=n,t[5]=c):c=t[5];let l;t[6]!==s||t[7]!==c||t[8]!==n.eventKey?(l=(0,Q.jsx)(U,{id:`event-key`,value:o,placeholder:`door.opened`,"aria-invalid":s,onChange:c}),t[6]=s,t[7]=c,t[8]=n.eventKey,t[9]=l):l=t[9];let d;t[10]!==i||t[11]!==n.eventKey?(d=wn(i)?(0,Q.jsx)(`p`,{className:v(u.caption,`text-destructive`),children:i}):(0,Q.jsxs)(`p`,{className:v(u.caption,`text-muted-foreground`),children:[`Test in chat with `,(0,Q.jsxs)(`code`,{children:[`/send-event `,n.eventKey.trim()||`event.key`]})]}),t[10]=i,t[11]=n.eventKey,t[12]=d):d=t[12];let f;return t[13]!==l||t[14]!==d?(f=(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[a,l,d]}),t[13]=l,t[14]=d,t[15]=f):f=t[15],f}function En(e){let t=(0,Z.c)(3),{error:n,kind:r}=e;if(!n||r===`event`)return null;let i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=v(u.caption,`text-destructive`),t[0]=i):i=t[0];let a;return t[1]===n?a=t[2]:(a=(0,Q.jsx)(`p`,{className:i,children:n}),t[1]=n,t[2]=a),a}function Dn(e){let t=(0,Z.c)(14),{value:n,onChange:r,error:i}=e,a=i===void 0?null:i,o;t[0]!==a||t[1]!==r||t[2]!==n?(o=(0,Q.jsx)(Cn,{value:n,onChange:r,error:a}),t[0]=a,t[1]=r,t[2]=n,t[3]=o):o=t[3];let s;t[4]!==a||t[5]!==n.kind?(s=(0,Q.jsx)(En,{error:a,kind:n.kind}),t[4]=a,t[5]=n.kind,t[6]=s):s=t[6];let c;t[7]!==r||t[8]!==n?(c=n.kind!==`manual`&&(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[n.kind!==`event`&&(0,Q.jsxs)(`p`,{className:v(u.caption,`text-muted-foreground`),children:[`Timezone: `,n.timezone]}),(0,Q.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,Q.jsx)(bt,{id:`trigger-paused`,checked:!n.enabled,onCheckedChange:e=>{r($(n,{enabled:e!==!0}))}}),(0,Q.jsx)(V,{htmlFor:`trigger-paused`,className:u.caption,children:`Paused`})]})]}),t[7]=r,t[8]=n,t[9]=c):c=t[9];let l;return t[10]!==o||t[11]!==s||t[12]!==c?(l=(0,Q.jsxs)(`div`,{className:`mt-4 space-y-4 rounded-lg border border-border p-4`,children:[o,s,c]}),t[10]=o,t[11]=s,t[12]=c,t[13]=l):l=t[13],l}function On(e){let t=(0,Z.c)(3),n;return t[0]!==e.controller.addTrigger||t[1]!==e.controller.isSaving?(n=(0,Q.jsx)(P,{type:`button`,variant:`outline`,disabled:e.controller.isSaving,onClick:e.controller.addTrigger,children:gn}),t[0]=e.controller.addTrigger,t[1]=e.controller.isSaving,t[2]=n):n=t[2],n}function kn(e){let t=(0,Z.c)(5),n;t[0]===e.controller?n=t[1]:(n=function(){e.controller.deleteTask()},t[0]=e.controller,t[1]=n);let r=n,i;return t[2]!==r||t[3]!==e.controller.isSaving?(i=(0,Q.jsx)(P,{variant:`destructive`,onClick:r,disabled:e.controller.isSaving,children:`Delete`}),t[2]=r,t[3]=e.controller.isSaving,t[4]=i):i=t[4],i}function An(e){let t=(0,Z.c)(11),n=e.mode===`edit`,r;t[0]===e.controller?r=t[1]:(r=function(){e.controller.save()},t[0]=e.controller,t[1]=r);let i=r,a;t[2]!==e.controller.form||t[3]!==e.controller.isSaving?(a=e.controller.isSaving||!e.controller.form.description.trim(),t[2]=e.controller.form,t[3]=e.controller.isSaving,t[4]=a):a=t[4];let o=n?`w-auto`:void 0,s=n?`Save`:`Add`,c;return t[5]!==i||t[6]!==e.controller.isSaving||t[7]!==a||t[8]!==o||t[9]!==s?(c=(0,Q.jsx)(P,{onClick:i,disabled:a,"aria-busy":e.controller.isSaving,className:o,children:s}),t[5]=i,t[6]=e.controller.isSaving,t[7]=a,t[8]=o,t[9]=s,t[10]=c):c=t[10],c}function jn(e){let t=(0,Z.c)(17),n=e.mode===`edit`,r=e.automationsOnly&&e.controller.form.triggerCollapsed,i=n?`flex-row shrink-0 justify-between gap-2 sm:justify-between sm:gap-0`:`shrink-0`,a=n?`flex items-center gap-2`:void 0,o;t[0]!==n||t[1]!==e.controller?(o=n?(0,Q.jsx)(kn,{controller:e.controller}):null,t[0]=n,t[1]=e.controller,t[2]=o):o=t[2];let s;t[3]!==r||t[4]!==e.controller?(s=r?(0,Q.jsx)(On,{controller:e.controller}):null,t[3]=r,t[4]=e.controller,t[5]=s):s=t[5];let c;t[6]!==e.controller||t[7]!==e.mode?(c=(0,Q.jsx)(An,{mode:e.mode,controller:e.controller}),t[6]=e.controller,t[7]=e.mode,t[8]=c):c=t[8];let l;t[9]!==a||t[10]!==s||t[11]!==c?(l=(0,Q.jsxs)(`div`,{className:a,children:[s,c]}),t[9]=a,t[10]=s,t[11]=c,t[12]=l):l=t[12];let u;return t[13]!==i||t[14]!==o||t[15]!==l?(u=(0,Q.jsxs)(tt,{className:i,children:[o,l]}),t[13]=i,t[14]=o,t[15]=l,t[16]=u):u=t[16],u}function Mn({selectedTags:e,existingTags:t,onChange:n,placeholder:r=`Add tags...`,allowCreate:i=!0,className:a}){let[o,d]=(0,X.useState)(``),[m,h]=(0,X.useState)(!1),[g,_]=(0,X.useState)(0),y=(0,X.useRef)(null),b=(0,X.useMemo)(()=>new Set(e.map(e=>f(e.name))),[e]),x=e.length>=10,S=(0,X.useMemo)(()=>{let e=o.trim(),n=e.toLowerCase(),r=new Map;for(let e of t){let t=f(e.name);b.has(t)||r.set(t,{name:e.name,color:e.color})}for(let e of l){let t=f(e);!b.has(t)&&!r.has(t)&&r.set(t,{name:e,color:s(t)})}let a=(n?[...r.values()].filter(e=>e.name.toLowerCase().includes(n)):[...r.values()]).map(e=>({name:e.name,color:e.color,isCreate:!1}));if(e&&i&&!x){let t=p(e),n=f(t),i=b.has(n)||r.has(n),o=!c(t);!i&&o&&a.push({name:t,color:s(n),isCreate:!0})}return a},[o,t,b,x]);(0,X.useEffect)(()=>{_(0)},[o]),(0,X.useEffect)(function(){if(!m||x)return;let e=requestAnimationFrame(function(){y.current?.focus()});return function(){cancelAnimationFrame(e)}},[m,x]);function C(r){if(x)return;let i=p(r),a=f(i);if(b.has(a))return;let o=t.find(e=>f(e.name)===a)??{id:`new:${a}`,name:i,color:s(a)};n([...e,o]),ce(o.name),d(``)}function T(){let e=de();if(!e)return null;let n=f(e);if(b.has(n))return null;let r=t.find(e=>f(e.name)===n);return r?r.name:l.find(e=>f(e)===n)||(i&&!c(p(e))?p(e):null)}function E(t){n(e.filter(e=>e.id!==t.id))}function D(e){let t=e.currentTarget;t.scrollHeight>t.clientHeight&&e.stopPropagation()}function O(t){if(t.key===`ArrowDown`)t.preventDefault(),m||h(!0),_(e=>(e+1)%Math.max(S.length,1));else if(t.key===`ArrowUp`)t.preventDefault(),_(e=>(e-1+S.length)%Math.max(S.length,1));else if(t.key===`Enter`){t.preventDefault();let e=S[g];e&&C(e.name)}else t.key===`Backspace`&&!o&&e.length>0?E(e[e.length-1]):t.key===`Escape`&&(h(!1),y.current?.blur())}return(0,Q.jsxs)(Dt,{open:m,onOpenChange:function(e){h(e),d(e?T()??``:``)},children:[(0,Q.jsxs)(`div`,{className:v(`flex flex-wrap items-center gap-1.5`,a),children:[e.map(function(e){return(0,Q.jsxs)(Pe,{children:[(0,Q.jsx)(Ie,{asChild:!0,children:(0,Q.jsx)(`button`,{type:`button`,className:`rounded-full outline-none focus-visible:ring-2 focus-visible:ring-ring`,children:(0,Q.jsx)(Lt,{tag:e,className:`cursor-pointer transition-colors hover:border-border hover:bg-muted/40`})})}),(0,Q.jsx)(G,{align:`start`,sideOffset:6,children:(0,Q.jsx)(Y,{onSelect:()=>E(e),children:`Delete`})})]},e.id)}),(0,Q.jsx)(oe,{children:(0,Q.jsxs)(L,{children:[(0,Q.jsx)(F,{asChild:!0,children:(0,Q.jsx)(lt,{asChild:!0,children:(0,Q.jsx)(P,{type:`button`,variant:`outline`,size:`icon-xs`,disabled:x,"aria-label":x?`Max 10 tags`:`Add tag`,className:v(`h-6 w-6 rounded-full border-dashed text-muted-foreground`,x&&`opacity-50`),children:(0,Q.jsx)(w,{className:`h-3 w-3`})})})}),(0,Q.jsx)(I,{children:`Add Tag`})]})})]}),(0,Q.jsxs)(gt,{align:`start`,className:`w-72 p-0`,onOpenAutoFocus:e=>e.preventDefault(),children:[(0,Q.jsx)(`div`,{className:`border-b border-border p-2`,children:(0,Q.jsx)(`input`,{ref:y,type:`text`,value:o,onChange:function(e){d(e.target.value)},onKeyDown:O,placeholder:x?`Max 10 tags`:r,disabled:x,className:v(u.body,`w-full rounded-md border border-input bg-background px-3 py-2 outline-none placeholder:text-muted-foreground focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50`)})}),(0,Q.jsx)(`div`,{className:`overflow-y-auto overscroll-contain`,style:{maxHeight:220},onWheel:D,onTouchMove:D,children:S.length===0?(0,Q.jsx)(`p`,{className:v(u.bodyMuted,`px-3 py-4 text-center`),children:x?`Tag limit reached`:`No tags found`}):S.map(function(e,t){return(0,Q.jsxs)(`button`,{type:`button`,className:v(u.body,`flex w-full items-center gap-2 px-3 py-2 text-left hover:bg-accent`,g===t&&`bg-accent`),onClick:function(){C(e.name),h(!1)},children:[(0,Q.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full`,style:{backgroundColor:e.color}}),e.isCreate?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{className:`text-muted-foreground`,children:`Create`}),(0,Q.jsx)(`span`,{className:`truncate font-medium`,children:e.name})]}):(0,Q.jsx)(`span`,{className:`truncate`,children:e.name})]},e.isCreate?`create:${e.name}`:e.name)})})]})]})}function Nn(e){let t=(0,Z.c)(33),{controller:n}=e,r;t[0]===n?r=t[1]:(r=function(e){n.setDescription(e.target.value)},t[0]=n,t[1]=r);let i=r,a;t[2]===n?a=t[3]:(a=function(e){e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&n.save()},t[2]=n,t[3]=a);let o=a,s;t[4]===n.isSaving?s=t[5]:(s=function(e){return(0,Q.jsx)(P,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":e.label,onClick:e.onClick,disabled:e.disabled||n.isSaving,children:e.icon})},t[4]=n.isSaving,t[5]=s);let c=s,l;t[6]!==n.form.description||t[7]!==i||t[8]!==o?(l=(0,Q.jsx)(nt,{placeholder:`Describe what needs to be done...`,value:n.form.description,onChange:i,rows:12,className:`max-h-[min(16rem,40svh)] resize-none pe-12 pb-10 text-base sm:max-h-none`,autoFocus:!0,onKeyDown:o}),t[6]=n.form.description,t[7]=i,t[8]=o,t[9]=l):l=t[9];let u;t[10]!==n.form.tags||t[11]!==n.setTags||t[12]!==e.projectTags?(u=(0,Q.jsx)(Mn,{selectedTags:n.form.tags,existingTags:e.projectTags,onChange:n.setTags,allowCreate:!1,className:`absolute bottom-3 start-3 max-w-[calc(100%-4rem)]`}),t[10]=n.form.tags,t[11]=n.setTags,t[12]=e.projectTags,t[13]=u):u=t[13];let d=e.thread.selectedThreadId??void 0,f=e.thread.selectedThreadModel?.provider,p=e.thread.selectedThreadModel?.id,m;t[14]!==n.handleSpeechTranscript||t[15]!==n.handleVoiceSessionStart||t[16]!==c||t[17]!==d||t[18]!==f||t[19]!==p?(m=(0,Q.jsx)(`div`,{className:`absolute bottom-3 end-3`,children:(0,Q.jsx)(St,{onTranscript:n.handleSpeechTranscript,onVoiceSessionStart:n.handleVoiceSessionStart,threadId:d,provider:f,model:p,children:c})}),t[14]=n.handleSpeechTranscript,t[15]=n.handleVoiceSessionStart,t[16]=c,t[17]=d,t[18]=f,t[19]=p,t[20]=m):m=t[20];let h;t[21]!==l||t[22]!==u||t[23]!==m?(h=(0,Q.jsxs)(`div`,{className:`relative`,children:[l,u,m]}),t[21]=l,t[22]=u,t[23]=m,t[24]=h):h=t[24];let g;t[25]!==n.form.triggerCollapsed||t[26]!==n.form.triggerForm||t[27]!==n.handleTriggerChange||t[28]!==n.triggerError?(g=!n.form.triggerCollapsed&&(0,Q.jsx)(Dn,{value:n.form.triggerForm,onChange:n.handleTriggerChange,error:n.triggerError}),t[25]=n.form.triggerCollapsed,t[26]=n.form.triggerForm,t[27]=n.handleTriggerChange,t[28]=n.triggerError,t[29]=g):g=t[29];let _;return t[30]!==g||t[31]!==h?(_=(0,Q.jsx)(me,{type:`auto`,className:`min-h-0 flex-1`,children:(0,Q.jsxs)(`div`,{className:`py-2 pl-1`,children:[h,g]})}),t[30]=g,t[31]=h,t[32]=_):_=t[32],_}function Pn(e){let t=(0,Z.c)(7);if(e.mode===`edit`){let n;return t[0]===e.title?n=t[1]:(n=(0,Q.jsx)(K,{children:e.title}),t[0]=e.title,t[1]=n),n}let n;t[2]===e.title?n=t[3]:(n=(0,Q.jsx)(F,{asChild:!0,children:(0,Q.jsx)(K,{className:`w-fit cursor-help`,children:e.title})}),t[2]=e.title,t[3]=n);let r;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Q.jsx)(I,{side:`top`,className:`max-w-xs`,children:`A title will be generated automatically from your description.`}),t[4]=r):r=t[4];let i;return t[5]===n?i=t[6]:(i=(0,Q.jsxs)(L,{children:[n,r]}),t[5]=n,t[6]=i),i}function Fn(e){let t=(0,Z.c)(20),n=e.automationsOnly?`automation`:`task`,r=e.mode===`edit`?`Save your changes?`:`Save your ${n}?`,i;t[0]===r?i=t[1]:(i=(0,Q.jsx)(_e,{children:r}),t[0]=r,t[1]=i);let a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(ge,{children:`You have unsaved changes. Would you like to save them before closing?`}),t[2]=a):a=t[2];let o;t[3]===i?o=t[4]:(o=(0,Q.jsxs)(xe,{children:[i,a]}),t[3]=i,t[4]=o);let s;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,Q.jsx)(be,{children:`Keep editing`}),t[5]=s):s=t[5];let c;t[6]===e.controller.discardChanges?c=t[7]:(c=(0,Q.jsx)(ve,{onClick:e.controller.discardChanges,children:`Discard`}),t[6]=e.controller.discardChanges,t[7]=c);let l;t[8]===e.controller.saveBeforeClose?l=t[9]:(l=(0,Q.jsx)(ve,{onClick:e.controller.saveBeforeClose,children:`Save`}),t[8]=e.controller.saveBeforeClose,t[9]=l);let u;t[10]!==c||t[11]!==l?(u=(0,Q.jsxs)(ye,{children:[s,c,l]}),t[10]=c,t[11]=l,t[12]=u):u=t[12];let d;t[13]!==o||t[14]!==u?(d=(0,Q.jsxs)(z,{children:[o,u]}),t[13]=o,t[14]=u,t[15]=d):d=t[15];let f;return t[16]!==e.controller.confirmClose||t[17]!==e.controller.setConfirmClose||t[18]!==d?(f=(0,Q.jsx)(Se,{open:e.controller.confirmClose,onOpenChange:e.controller.setConfirmClose,children:d}),t[16]=e.controller.confirmClose,t[17]=e.controller.setConfirmClose,t[18]=d,t[19]=f):f=t[19],f}var In=d(`app.task-list.dialog`);function Ln(e){return e.map(function(e){return e.name})}async function Rn(e,t){let n=mt({selectedThreadId:e.thread.selectedThreadId,selectedThreadModel:e.thread.selectedThreadModel,selectedThread:e.thread.selectedThread});if(e.mode===`edit`){if(!e.task)return{kind:`unchanged`};let r=ht({task:e.task,description:t.description,tagNames:Ln(t.tags),triggerForm:t.triggerForm,thread:n});if(r.kind===`unchanged`)return r;let i=await ke(e.projectId,e.task.id,r.payload);return{kind:`updated`,task:i,tagsChanged:r.tagsChanged,completedChanged:e.task.status===`Done`!=(i.status===`Done`)}}let r=xt({description:t.description,tagNames:Ln(t.tags),triggerCollapsed:t.triggerCollapsed,triggerForm:t.triggerForm,thread:n});return{kind:`created`,task:await _t(e.projectId,r.description,r.context),generationContext:r.context}}function zn(e,t){if(t.kind===`updated`){e.onTaskSaved?.(t.task,{tagsChanged:t.tagsChanged,completedChanged:t.completedChanged});return}t.kind===`created`&&(e.onTaskCreated?.(t.task),qe(e.projectId,t.task.id,{...t.generationContext,expectedTitle:t.task.title}).then(function(t){e.onTaskUpdated?.(t)}).catch(function(e){In.error(`Failed to generate task title:`,e)}))}function Bn(e){let t=e.task??null,[n,r]=(0,X.useState)(``),[i,a]=(0,X.useState)([]),[o,s]=(0,X.useState)(ct),[c,l]=(0,X.useState)(!0),[u,d]=(0,X.useState)(null),[f,p]=(0,X.useState)(!1),[m,h]=(0,X.useState)(!1),g=(0,X.useRef)(``),_=(0,X.useRef)(ot()),v={description:n,tags:i,triggerForm:o,triggerCollapsed:c};(0,X.useEffect)(function(){g.current=n},[n]),(0,X.useEffect)(function(){if(!e.open)return;let n=dn(e.mode,t,e.automationsOnly);r(n.description),a(n.tags),s(n.triggerForm),l(n.triggerCollapsed),d(null),p(!1),_.current=ot()},[e.automationsOnly,e.mode,e.open,t]);function y(){return mt({selectedThreadId:e.thread.selectedThreadId,selectedThreadModel:e.thread.selectedThreadModel,selectedThread:e.thread.selectedThread})}let b=(0,X.useCallback)(function(){_.current=ot()},[]),x=(0,X.useCallback)(function(e,t){if(t?.replace){let t=_.current;r(n=>He(n,t,e));return}let n=it(_.current,g.current,e);r(t=>Tt(t,e,n))},[]);function S(e){s(e),d(null)}function C(){l(!1),s(At())}function w(n){if(n){e.onOpenChange(!0);return}if(fn({mode:e.mode,task:t,form:v,thread:y()})){p(!0);return}d(null),e.onOpenChange(!1)}function T(){p(!1),e.onOpenChange(!1)}function E(){if(!n.trim())return!1;let t=e.getTriggerValidationError(c,o);return d(t),t===null}async function D(){if(!E())return!1;h(!0);try{return zn(e,await Rn(e,v)),e.onOpenChange(!1),!0}catch(t){let n=e.mode===`edit`?`Failed to save task`:`Failed to add task`;return d(Nt(t,n)),In.error(`${n}:`,t),!1}finally{h(!1)}}async function O(e){e.preventDefault(),await D()&&p(!1)}async function k(){if(!(!t||e.mode!==`edit`)){h(!0);try{await Ke(e.projectId,t.id),e.onTaskDeleted?.(t.id),e.onOpenChange(!1)}catch(e){In.error(`Failed to delete task:`,e)}finally{h(!1)}}}return{form:v,triggerError:u,confirmClose:f,isSaving:m,setDescription:r,setTags:a,setTriggerForm:s,setConfirmClose:p,handleVoiceSessionStart:b,handleSpeechTranscript:x,handleTriggerChange:S,addTrigger:C,handleOpenChange:w,discardChanges:T,saveBeforeClose:O,save:D,deleteTask:k}}function Vn(e){let t=(0,Z.c)(27),n=Bn(e),r=e.task??null,i=e.mode===`edit`,a;t[0]!==e.automationsOnly||t[1]!==e.mode?(a=pn(e.mode,e.automationsOnly),t[0]=e.automationsOnly,t[1]=e.mode,t[2]=a):a=t[2];let o=a,s=e.open&&(!i||r!==null),c;t[3]!==e.mode||t[4]!==o?(c=(0,Q.jsx)(Be,{className:`shrink-0`,children:(0,Q.jsx)(Pn,{mode:e.mode,title:o})}),t[3]=e.mode,t[4]=o,t[5]=c):c=t[5];let l;t[6]!==n||t[7]!==e.projectTags||t[8]!==e.thread?(l=(0,Q.jsx)(Nn,{controller:n,projectTags:e.projectTags,thread:e.thread}),t[6]=n,t[7]=e.projectTags,t[8]=e.thread,t[9]=l):l=t[9];let u;t[10]!==n||t[11]!==e.automationsOnly||t[12]!==e.mode?(u=(0,Q.jsx)(jn,{mode:e.mode,automationsOnly:e.automationsOnly,controller:n}),t[10]=n,t[11]=e.automationsOnly,t[12]=e.mode,t[13]=u):u=t[13];let d;t[14]!==c||t[15]!==l||t[16]!==u?(d=(0,Q.jsxs)(Ft,{className:`max-w-2xl flex flex-col overflow-hidden max-md:top-[max(1rem,env(safe-area-inset-top,0px))] max-md:max-h-[calc(100dvh-2rem)] max-md:translate-y-0 md:max-h-[calc(100svh-2rem)]`,children:[c,l,u]}),t[14]=c,t[15]=l,t[16]=u,t[17]=d):d=t[17];let f;t[18]!==n||t[19]!==e.automationsOnly||t[20]!==e.mode?(f=(0,Q.jsx)(Fn,{mode:e.mode,automationsOnly:e.automationsOnly,controller:n}),t[18]=n,t[19]=e.automationsOnly,t[20]=e.mode,t[21]=f):f=t[21];let p;return t[22]!==n.handleOpenChange||t[23]!==s||t[24]!==d||t[25]!==f?(p=(0,Q.jsxs)(Xe,{open:s,onOpenChange:n.handleOpenChange,children:[d,f]}),t[22]=n.handleOpenChange,t[23]=s,t[24]=d,t[25]=f,t[26]=p):p=t[26],p}function Hn({open:e,onOpenChange:t,projectId:n,tags:r,onTagsChanged:i}){let[a,o]=(0,X.useState)(null),[s,c]=(0,X.useState)(``),[l,d]=(0,X.useState)(``),[f,p]=(0,X.useState)(!1),[m,h]=(0,X.useState)(!1),[g,_]=(0,X.useState)(null),[y,b]=(0,X.useState)(null);function x(e){o(e.id),c(e.name),_(null)}function S(){o(null),c(``),_(null)}async function C(){let e=l.trim();if(e){h(!0),_(null);try{let t=await Oe(n,e);i([...r,t]),d(``)}catch(e){_(e instanceof Error?e.message:`Failed to create tag`)}finally{h(!1)}}}async function w(e){let t=s.trim();if(t){p(!0),_(null);try{let a=await Ye(n,e,t);i(r.map(e=>e.id===a.id?{...e,name:a.name,color:a.color}:e)),S()}catch(e){_(e instanceof Error?e.message:`Failed to rename tag`)}finally{p(!1)}}}async function T(e){p(!0),_(null);try{await We(n,e),i(r.filter(t=>t.id!==e)),b(null),a===e&&S()}catch(e){_(e instanceof Error?e.message:`Failed to delete tag`)}finally{p(!1)}}return(0,Q.jsx)(Xe,{open:e,onOpenChange:t,children:(0,Q.jsxs)(Ft,{className:`flex h-[min(36rem,85vh)] flex-col sm:max-w-md`,children:[(0,Q.jsx)(Be,{children:(0,Q.jsx)(K,{children:`Manage Tags`})}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 py-2`,children:[(0,Q.jsx)(U,{value:l,onChange:e=>d(e.target.value),onKeyDown:e=>{e.key===`Enter`&&C(),e.key===`Escape`&&d(``)},placeholder:`New tag name...`,className:`h-8 flex-1`,disabled:m}),(0,Q.jsx)(P,{size:`sm`,className:`h-8 shrink-0 bg-foreground text-background hover:bg-foreground/90`,onClick:()=>void C(),disabled:m||!l.trim(),children:m?(0,Q.jsx)(N,{className:`h-3.5 w-3.5 animate-spin`}):`Add`})]}),r.length===0?(0,Q.jsx)(`p`,{className:v(u.bodyMuted,`py-4 text-center`),children:`No tags yet. Create one above to get started.`}):(0,Q.jsx)(me,{className:`min-h-0 flex-1`,children:(0,Q.jsx)(`div`,{className:`space-y-1 py-2 pr-3`,children:r.map(e=>{let t=a===e.id,n=y===e.id;return(0,Q.jsx)(`div`,{className:v(`group flex items-center gap-2 rounded-md px-2 py-1.5 hover:bg-accent/40`,!t&&!n&&!f&&`cursor-pointer`),onClick:()=>{!f&&!t&&!n&&x(e)},children:t?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(U,{value:s,onChange:e=>c(e.target.value),onKeyDown:t=>{t.key===`Enter`&&w(e.id),t.key===`Escape`&&S()},className:`h-8 flex-1 text-sm`,autoFocus:!0,disabled:f}),(0,Q.jsx)(P,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:()=>void w(e.id),disabled:f||!s.trim(),children:f?(0,Q.jsx)(N,{className:`h-4 w-4 animate-spin`}):(0,Q.jsx)(ae,{className:`h-4 w-4`})}),(0,Q.jsx)(P,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:S,disabled:f,children:(0,Q.jsx)(ie,{className:`h-4 w-4`})})]}):n?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`span`,{className:v(u.body,`flex-1 truncate`),children:[`Delete `,e.name,`? Removes from `,e.taskCount,` `,e.taskCount===1?`task`:`tasks`,`.`]}),(0,Q.jsx)(P,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0 text-destructive hover:text-destructive`,onClick:()=>void T(e.id),disabled:f,children:f?(0,Q.jsx)(N,{className:`h-4 w-4 animate-spin`}):(0,Q.jsx)(ae,{className:`h-4 w-4`})}),(0,Q.jsx)(P,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:()=>b(null),disabled:f,children:(0,Q.jsx)(ie,{className:`h-4 w-4`})})]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{className:`h-2.5 w-2.5 shrink-0 rounded-full`,style:{backgroundColor:e.color}}),(0,Q.jsx)(`span`,{className:v(u.body,`min-w-0 flex-1 truncate`),children:e.name}),(0,Q.jsxs)(`span`,{className:v(u.caption,`shrink-0 text-muted-foreground`),children:[e.taskCount,` `,e.taskCount===1?`task`:`tasks`]}),(0,Q.jsx)(P,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0 text-destructive opacity-0 pointer-events-none transition-opacity can-hover:group-hover:opacity-100 can-hover:group-hover:pointer-events-auto focus-visible:opacity-100 focus-visible:pointer-events-auto can-hover:hover:text-destructive`,onClick:t=>{t.stopPropagation(),b(e.id)},disabled:f,"aria-label":`Delete ${e.name}`,children:(0,Q.jsx)(O,{className:`h-3.5 w-3.5`})})]})},e.id)})})}),g&&(0,Q.jsx)(`p`,{className:v(u.caption,`text-destructive`),children:g})]})})}var Un=d(`app.task-list.sync`);function Wn(e,t){return e===void 0?{next:t,shouldRefetch:!1}:t===0?{next:0,shouldRefetch:!1}:e===t?null:{next:t,shouldRefetch:t>e}}function Gn(e,t){let n=dt(function(n){n===e&&t()}),r=Re(function(e){e===`tasks`&&t()});return function(){n(),r()}}function Kn(){return(0,X.useSyncExternalStore)(Ct,kt,qn)}function qn(){return!1}function Jn(e,t){let n=(0,Z.c)(4),r=(0,X.useRef)(e??0),i,a;n[0]!==t||n[1]!==e?(i=()=>{e==null||e===r.current||(r.current=e,t())},a=[e,t],n[0]=t,n[1]=e,n[2]=i,n[3]=a):(i=n[2],a=n[3]),(0,X.useEffect)(i,a)}function Yn(e,t,n,r){let i=(0,Z.c)(9),a;i[0]!==e||i[1]!==t?(a={[e]:t},i[0]=e,i[1]=t,i[2]=a):a=i[2];let o=(0,X.useRef)(a),s,c;i[3]!==e||i[4]!==n||i[5]!==r||i[6]!==t?(s=()=>{let i=Wn(o.current[e],t);i&&(o.current[e]=i.next,i.shouldRefetch&&!r&&n())},c=[t,e,n,r],i[3]=e,i[4]=n,i[5]=r,i[6]=t,i[7]=s,i[8]=c):(s=i[7],c=i[8]),(0,X.useEffect)(s,c)}function Xn(e,t){let n=(0,Z.c)(8),r=Kn(),i=Ot(),a,o;n[0]!==i||n[1]!==e||n[2]!==t?(a=function(){if(i)return Gn(e,function(){t()})},o=[i,e,t],n[0]=i,n[1]=e,n[2]=t,n[3]=a,n[4]=o):(a=n[3],o=n[4]),(0,X.useEffect)(a,o);let s;return n[5]!==r||n[6]!==i?(s={preferControlChannel:i,controlChannelConnected:r},n[5]=r,n[6]=i,n[7]=s):s=n[7],s}function Zn(e,t){let n=setInterval(async()=>{try{t(await Ue(e))}catch(e){Un.error(`Failed to poll project tasks:`,e)}},2e3);return function(){clearInterval(n)}}function Qn(e,t,n,r,i){let a=(0,Z.c)(7),o,s;a[0]!==r||a[1]!==t||a[2]!==n||a[3]!==e||a[4]!==i?(o=()=>{if(t&&!(n&&r))return Zn(e,i)},s=[r,t,n,e,i],a[0]=r,a[1]=t,a[2]=n,a[3]=e,a[4]=i,a[5]=o,a[6]=s):(o=a[5],s=a[6]),(0,X.useEffect)(o,s)}function $n({projectId:e,initialTasks:t,refreshTrigger:n,project:r,onRefreshTags:i}){let a=h(),[o,s]=(0,X.useState)(t),[c,l]=(0,X.useState)(!1),u=r?.tasksModifiedCount??0,d=(0,X.useCallback)(async function(){try{s(await Ue(e)),i()}catch(e){Un.error(`Failed to refresh project tasks:`,e)}},[e,i]),f=(0,X.useCallback)(async function(){l(!0);try{await ue(e),await d(),le();let t=await R();a({type:m.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath})}catch(e){Un.error(`Failed to refresh project tasks:`,e)}finally{l(!1)}},[e,a,d]);(0,X.useEffect)(()=>{we(W(e,0),o)},[e,o]),Jn(n,d);let{preferControlChannel:p,controlChannelConnected:g}=Xn(e,d);return Yn(e,u,d,p&&g),Qn(e,o.some(e=>e.working),p,g,s),(0,X.useEffect)(()=>{s(t)},[t]),{tasks:o,setTasks:s,isRefreshing:c,handleRefreshTasks:f}}var er=d(`app.task-list.ui`);function tr(e,t){let n=(0,Z.c)(25),r=t===void 0?`tasks`:t,i;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=[],n[0]=i):i=n[0];let[a,o]=(0,X.useState)(i),s;n[1]===Symbol.for(`react.memo_cache_sentinel`)?(s=new Set,n[1]=s):s=n[1];let[c,l]=(0,X.useState)(s),[u,d]=(0,X.useState)(``),[f,p]=(0,X.useState)(!1),m;n[2]===r?m=n[3]:(m=function(){return se(r)},n[2]=r,n[3]=m);let[h,g]=(0,X.useState)(m),_,v;n[4]===r?(_=n[5],v=n[6]):(_=function(){g(se(r))},v=[r],n[4]=r,n[5]=_,n[6]=v),(0,X.useEffect)(_,v);let y,b;n[7]===e?(y=n[8],b=n[9]):(y=()=>{Fe(e).then(o).catch(rr)},b=[e],n[7]=e,n[8]=y,n[9]=b),(0,X.useEffect)(y,b);let x;n[10]===e?x=n[11]:(x=function(){Fe(e).then(o).catch(nr)},n[10]=e,n[11]=x);let S=x,C;n[12]===Symbol.for(`react.memo_cache_sentinel`)?(C=function(e){l(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},n[12]=C):C=n[12];let w=C,T;n[13]===Symbol.for(`react.memo_cache_sentinel`)?(T=function(){l(function(e){return e.size===0?e:new Set})},n[13]=T):T=n[13];let E=T,D;n[14]===Symbol.for(`react.memo_cache_sentinel`)?(D=function(){p(!0)},n[14]=D):D=n[14];let O=D,k;n[15]===r?k=n[16]:(k=function(e){fe(r,e),g(e)},n[15]=r,n[16]=k);let A=k,j;return n[17]!==f||n[18]!==a||n[19]!==S||n[20]!==u||n[21]!==c||n[22]!==A||n[23]!==h?(j={projectTags:a,setProjectTags:o,selectedTagIds:c,setSelectedTagIds:l,searchTerm:u,setSearchTerm:d,viewMode:h,setViewMode:A,manageTagsOpen:f,setManageTagsOpen:p,refreshProjectTags:S,toggleSelectedTag:w,clearSelectedTags:E,openManageTags:O},n[17]=f,n[18]=a,n[19]=S,n[20]=u,n[21]=c,n[22]=A,n[23]=h,n[24]=j):j=n[24],j}function nr(e){return er.error(`Failed to refresh project tags:`,e)}function rr(e){return er.error(`Failed to fetch project tags:`,e)}function ir(e){let t=(0,Z.c)(15),n=g(ur),r=g(lr),i=g(cr),a=g(sr),o=g(or),s=g(ar),c,l;if(t[0]!==e||t[1]!==n||t[2]!==r){let i;t[5]===e?i=t[6]:(i=t=>t.projectId===e,t[5]=e,t[6]=i),c=n.find(i),l=c?.threads.find(e=>e.threadId===r),t[0]=e,t[1]=n,t[2]=r,t[3]=c,t[4]=l}else c=t[3],l=t[4];let u=l,d=r?s[r]:void 0,f;return t[7]!==a||t[8]!==i||t[9]!==c||t[10]!==o||t[11]!==u||t[12]!==r||t[13]!==d?(f={project:c,selectedThreadId:r,selectedThread:u,selectedThreadModel:d,processingThreadIds:i,pendingChatMessage:a,queuedChatMessages:o},t[7]=a,t[8]=i,t[9]=c,t[10]=o,t[11]=u,t[12]=r,t[13]=d,t[14]=f):f=t[14],f}function ar(e){return e.projectModelSelections}function or(e){return e.queuedChatMessages}function sr(e){return e.pendingChatMessage}function cr(e){return e.processingThreadIds}function lr(e){return e.selectedThreadId}function ur(e){return e.projects}function dr(){let e=(0,Z.c)(3),{modelAliases:t,isLoading:n}=st(),r;return e[0]!==t||e[1]!==n?(r=function(e,r){if(e)return null;let i=Ne(r);if(i)return ut(i);if(n)return null;let a=Qe(r,t);return a?ut(a):null},e[0]=t,e[1]=n,e[2]=r):r=e[2],r}function fr(){let e=(0,Z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Q.jsxs)(`div`,{className:`text-center`,children:[(0,Q.jsx)(he,{className:`mx-auto`}),(0,Q.jsx)(`p`,{className:v(u.bodyMuted,`mt-2`),children:`Loading tasks`})]})}),e[0]=t):t=e[0],t}function pr(e){let t=(0,Z.c)(5),{projectId:n,resourceKey:r,children:i}=e,a;t[0]===n?a=t[1]:(a=function(){return Me(n)},t[0]=n,t[1]=a);let o=Je(r,a),s;return t[2]!==i||t[3]!==o?(s=i(o),t[2]=i,t[3]=o,t[4]=s):s=t[4],s}function mr({projectId:e,children:t}){let[n,r]=(0,X.useState)(0),i=W(e,n),a=(0,X.useRef)(null);a.current!==i&&(a.current=i,Ee(i)===`rejected`&&Te(i));function o(){Te(i),r(function(e){return e+1})}return(0,Q.jsx)(It,{fallbackTitle:`Failed to load tasks`,onRetry:o,children:(0,Q.jsx)(X.Suspense,{fallback:(0,Q.jsx)(fr,{}),children:(0,Q.jsx)(pr,{projectId:e,resourceKey:i,children:t},i)})},e)}var hr=d(`app.task-list.ui`);function gr(e){let t=(0,Z.c)(146),{projectId:n,onThreadSelect:r,initialTasks:o,refreshTrigger:s,automationsOnly:c}=e,l=c===void 0?!1:c,d=h(),{project:f,selectedThreadId:p,selectedThread:g,selectedThreadModel:y}=ir(n),[b,x]=(0,X.useState)(!1),[S,C]=(0,X.useState)(null),{projectTags:T,setProjectTags:E,selectedTagIds:D,setSelectedTagIds:O,searchTerm:k,setSearchTerm:A,viewMode:j,setViewMode:ee,manageTagsOpen:te,setManageTagsOpen:ne,refreshProjectTags:M,toggleSelectedTag:N,clearSelectedTags:re,openManageTags:ie}=tr(n,l?`automations`:`tasks`),ae;t[0]!==o||t[1]!==f||t[2]!==n||t[3]!==M||t[4]!==s?(ae={projectId:n,initialTasks:o,refreshTrigger:s,project:f,onRefreshTags:M},t[0]=o,t[1]=f,t[2]=n,t[3]=M,t[4]=s,t[5]=ae):ae=t[5];let{tasks:oe,setTasks:R,isRefreshing:se,handleRefreshTasks:ce}=$n(ae),le=ft(De,l),ue;t[6]!==le||t[7]!==l?(ue=l?new Date(le):void 0,t[6]=le,t[7]=l,t[8]=ue):ue=t[8];let de=ue,fe=dr(),me=i(),he;t[9]===me?he=t[10]:(he=function(){me.invalidateQueries({queryKey:a.conversations.unreadAll()})},t[9]=me,t[10]=he);let ge=he,_e;t[11]!==M||t[12]!==R||t[13]!==oe?(_e=function(e){let t=oe.find(t=>t.id===e.id);R(t=>t.map(t=>t.id===e.id?e:t)),t&&t.status===`Done`!=(e.status===`Done`)&&M()},t[11]=M,t[12]=R,t[13]=oe,t[14]=_e):_e=t[14];let z=_e,ve;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(ve=function(e){C({task:e})},t[15]=ve):ve=t[15];let ye=ve,be;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(be=function(){C(null)},t[16]=be):be=t[16];let xe=be,Se;t[17]!==n||t[18]!==M||t[19]!==R?(Se=function(e){R(t=>[...t,e]),yt(n),M()},t[17]=n,t[18]=M,t[19]=R,t[20]=Se):Se=t[20];let we=Se,Te;t[21]!==n||t[22]!==R?(Te=function(e){R(t=>t.map(t=>t.id===e.id?e:t)),yt(n)},t[21]=n,t[22]=R,t[23]=Te):Te=t[23];let Ee=Te,Oe;t[24]!==n||t[25]!==M||t[26]!==R?(Oe=function(e,t){R(t=>t.map(t=>t.id===e.id?e:t)),yt(n),(t.tagsChanged||t.completedChanged)&&M()},t[24]=n,t[25]=M,t[26]=R,t[27]=Oe):Oe=t[27];let Ae=Oe,je;t[28]!==n||t[29]!==M||t[30]!==R?(je=function(e){R(t=>t.filter(t=>t.id!==e)),yt(n),M()},t[28]=n,t[29]=M,t[30]=R,t[31]=je):je=t[31];let Me=je,Ne;t[32]!==n||t[33]!==E||t[34]!==O||t[35]!==R?(Ne=function(e){let t=et(e),r=new Set(t.map(function(e){return e.id}));E(t),O(function(e){return new Set([...e].filter(e=>r.has(e)))}),Ue(n).then(R).catch(_r)},t[32]=n,t[33]=E,t[34]=O,t[35]=R,t[36]=Ne):Ne=t[36];let Pe=Ne,Fe;t[37]!==d||t[38]!==z||t[39]!==n||t[40]!==ge?(Fe=async function(e){try{await pt({projectId:n,dispatch:d,onUpdate:z},e),ge()}catch(e){let t=e;Ce({title:`Could not start the task`,description:t instanceof Error?t.message:String(t),variant:`destructive`})}},t[37]=d,t[38]=z,t[39]=n,t[40]=ge,t[41]=Fe):Fe=t[41];let Ie=Fe,Le;t[42]!==z||t[43]!==n||t[44]!==ge?(Le=async function(e){z(await Pt(n,e.id)),yt(n),ge()},t[42]=z,t[43]=n,t[44]=ge,t[45]=Le):Le=t[45];let B=Le,Re;t[46]!==d||t[47]!==r||t[48]!==n?(Re=async function(e){r?await r(e):d({type:m.SelectThread,threadId:e,projectId:n})},t[46]=d,t[47]=r,t[48]=n,t[49]=Re):Re=t[49];let ze=Re,Be;t[50]!==z||t[51]!==n?(Be=async function(e){z(await ke(n,e.id,{status:`Done`,working:!1})),yt(n)},t[50]=z,t[51]=n,t[52]=Be):Be=t[52];let Ve=Be,V;t[53]!==g||t[54]!==p||t[55]!==y?(V={selectedThreadId:p,selectedThreadModel:y,selectedThread:g},t[53]=g,t[54]=p,t[55]=y,t[56]=V):V=t[56];let He=V,H,U,We,Ge,Ke,W;if(t[57]!==de||t[58]!==l||t[59]!==re||t[60]!==Ve||t[61]!==ze||t[62]!==ce||t[63]!==B||t[64]!==Ie||t[65]!==se||t[66]!==r||t[67]!==ie||t[68]!==f||t[69]!==T||t[70]!==k||t[71]!==D||t[72]!==A||t[73]!==ee||t[74]!==oe||t[75]!==N||t[76]!==j){let{viewTasks:e,visibleTasks:n,emptyListMessage:i,noMatchMessage:a}=wt(oe,{automationsOnly:l,selectedTagIds:D,searchTerm:k,projectName:f?_(f):void 0});Ke=`relative flex h-full min-h-0 min-w-0 flex-col overflow-hidden`,t[83]!==l||t[84]!==re||t[85]!==ce||t[86]!==se||t[87]!==ie||t[88]!==T||t[89]!==D||t[90]!==A||t[91]!==ee||t[92]!==N||t[93]!==j?(W=(0,Q.jsx)(un,{automationsOnly:l,viewMode:j,projectTags:T,selectedTagIds:D,onToggleSelectedTag:N,onClearSelectedTags:re,onSearchTermChange:A,onViewModeChange:ee,isRefreshing:se,onRefresh:ce,onManageTags:ie}),t[83]=l,t[84]=re,t[85]=ce,t[86]=se,t[87]=ie,t[88]=T,t[89]=D,t[90]=A,t[91]=ee,t[92]=N,t[93]=j,t[94]=W):W=t[94],H=pe,Ge=`min-h-0 min-w-0 flex-1 overflow-hidden`;let o=e.length===0&&`h-full`;t[95]===o?U=t[96]:(U=v(`pb-14`,o),t[95]=o,t[96]=U),We=e.length===0?(0,Q.jsx)(`p`,{className:v(u.bodyMuted,`flex h-full items-center justify-center px-4 py-8 text-center`),children:i}):n.length===0?(0,Q.jsx)(`p`,{className:v(u.bodyMuted,`px-4 py-8 text-center`),children:a}):(0,Q.jsx)(`div`,{className:`min-w-0 w-full divide-y divide-border`,children:n.map(function(e){return(0,Q.jsx)(an,{task:e,viewMode:j,now:de,onOpenEdit:ye,showRunHistory:l,onThreadSelect:r,onStartInNewWorkspace:Ie,onMarkDone:Ve,onRunNow:B,onOpenRun:ze},e.id)})}),t[57]=de,t[58]=l,t[59]=re,t[60]=Ve,t[61]=ze,t[62]=ce,t[63]=B,t[64]=Ie,t[65]=se,t[66]=r,t[67]=ie,t[68]=f,t[69]=T,t[70]=k,t[71]=D,t[72]=A,t[73]=ee,t[74]=oe,t[75]=N,t[76]=j,t[77]=H,t[78]=U,t[79]=We,t[80]=Ge,t[81]=Ke,t[82]=W}else H=t[77],U=t[78],We=t[79],Ge=t[80],Ke=t[81],W=t[82];let G;t[97]!==U||t[98]!==We?(G=(0,Q.jsx)(`div`,{className:U,children:We}),t[97]=U,t[98]=We,t[99]=G):G=t[99];let qe;t[100]!==H||t[101]!==Ge||t[102]!==G?(qe=(0,Q.jsx)(H,{className:Ge,children:G}),t[100]=H,t[101]=Ge,t[102]=G,t[103]=qe):qe=t[103];let Je,Ye;t[104]===Symbol.for(`react.memo_cache_sentinel`)?(Je=()=>x(!0),Ye=(0,Q.jsx)(w,{className:`h-5 w-5`}),t[104]=Je,t[105]=Ye):(Je=t[104],Ye=t[105]);let Xe=l?`Add Automation`:`New task`,Ze;t[106]===Xe?Ze=t[107]:(Ze=(0,Q.jsx)(F,{asChild:!0,children:(0,Q.jsxs)(P,{size:`icon`,className:`absolute bottom-6 right-6 z-10 h-10 w-10 rounded-full shadow-lg`,onClick:Je,children:[Ye,(0,Q.jsx)(`span`,{className:`sr-only`,children:Xe})]})}),t[106]=Xe,t[107]=Ze);let Qe=l?`Add Automation`:`New task`,$e;t[108]===Qe?$e=t[109]:($e=(0,Q.jsx)(I,{children:Qe}),t[108]=Qe,t[109]=$e);let K;t[110]!==Ze||t[111]!==$e?(K=(0,Q.jsxs)(L,{children:[Ze,$e]}),t[110]=Ze,t[111]=$e,t[112]=K):K=t[112];let q;t[113]!==b||t[114]!==l||t[115]!==fe||t[116]!==we||t[117]!==Ee||t[118]!==n||t[119]!==T||t[120]!==He?(q=(0,Q.jsx)(Vn,{mode:`add`,open:b,automationsOnly:l,projectId:n,projectTags:T,thread:He,getTriggerValidationError:fe,onOpenChange:x,onTaskCreated:we,onTaskUpdated:Ee}),t[113]=b,t[114]=l,t[115]=fe,t[116]=we,t[117]=Ee,t[118]=n,t[119]=T,t[120]=He,t[121]=q):q=t[121];let tt=S?.task??null,nt=S!==null,rt;t[122]!==l||t[123]!==fe||t[124]!==Me||t[125]!==Ae||t[126]!==n||t[127]!==T||t[128]!==tt||t[129]!==nt||t[130]!==He?(rt=(0,Q.jsx)(Vn,{mode:`edit`,task:tt,open:nt,automationsOnly:l,projectId:n,projectTags:T,thread:He,getTriggerValidationError:fe,onOpenChange:xe,onTaskSaved:Ae,onTaskDeleted:Me}),t[122]=l,t[123]=fe,t[124]=Me,t[125]=Ae,t[126]=n,t[127]=T,t[128]=tt,t[129]=nt,t[130]=He,t[131]=rt):rt=t[131];let J;t[132]!==Pe||t[133]!==te||t[134]!==n||t[135]!==T||t[136]!==ne?(J=(0,Q.jsx)(Hn,{open:te,onOpenChange:ne,projectId:n,tags:T,onTagsChanged:Pe}),t[132]=Pe,t[133]=te,t[134]=n,t[135]=T,t[136]=ne,t[137]=J):J=t[137];let it;return t[138]!==Ke||t[139]!==W||t[140]!==qe||t[141]!==K||t[142]!==q||t[143]!==rt||t[144]!==J?(it=(0,Q.jsxs)(`div`,{className:Ke,children:[W,qe,K,q,rt,J]}),t[138]=Ke,t[139]=W,t[140]=qe,t[141]=K,t[142]=q,t[143]=rt,t[144]=J,t[145]=it):it=t[145],it}function _r(e){return hr.error(`Failed to refresh tasks after tag change:`,e)}function vr(e){let t=(0,Z.c)(5),n;t[0]===e?n=t[1]:(n=function(t){return(0,Q.jsx)(gr,{...e,initialTasks:t})},t[0]=e,t[1]=n);let r=n,i;return t[2]!==e.projectId||t[3]!==r?(i=(0,Q.jsx)(mr,{projectId:e.projectId,children:r}),t[2]=e.projectId,t[3]=r,t[4]=i):i=t[4],i}var yr=d(`app.tasks-view.ui`);async function br(){return le(),R()}function xr(e){let t=(0,Z.c)(12),{projectId:n,refreshTrigger:r,view:i}=e,a=i===void 0?`tasks`:i,o=h(),{openConversation:s}=at(),c,l;t[0]===o?(c=t[1],l=t[2]):(c=()=>{let e=!1;return(async()=>{try{let t=await br();e||o({type:m.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath})}catch(e){let t=e;yr.error(`Failed to refresh projects on tasks view mount:`,t)}})(),()=>{e=!0}},l=[o],t[0]=o,t[1]=c,t[2]=l),(0,X.useEffect)(c,l);let u;t[3]!==o||t[4]!==s||t[5]!==n?(u=async function(e){try{let e=await br();o({type:m.SetProjects,projects:e.projects,cloneRootPath:e.cloneRootPath})}catch(e){let t=e;yr.error(`Failed to refresh projects for thread selection:`,t)}await s({projectId:n,threadId:e})},t[3]=o,t[4]=s,t[5]=n,t[6]=u):u=t[6];let d=u,f=a===`automations`,p;return t[7]!==d||t[8]!==n||t[9]!==r||t[10]!==f?(p=(0,Q.jsx)(`div`,{className:`relative flex h-full min-w-0 flex-col overflow-hidden`,children:(0,Q.jsx)(`div`,{className:`min-w-0 flex-1 overflow-hidden`,children:(0,Q.jsx)(vr,{projectId:n,refreshTrigger:r,onThreadSelect:d,automationsOnly:f})})}),t[7]=d,t[8]=n,t[9]=r,t[10]=f,t[11]=p):p=t[11],p}export{xr as TasksView};
@@ -1,4 +1,4 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{Wt as i}from"./dist-FJzwWcMv.js";import{a,r as o,tt as s}from"./store-DCnnNgwq.js";import{t as c}from"./utils-uGptTPGm.js";import{t as l}from"./button-zYjzm__g.js";import{$t as u,Jr as d}from"./api-CX0sFbpL.js";import{n as f}from"./chat-dock-context-DQmDS2i8.js";import{n as p}from"./main-tab-context-CNgxXqnH.js";import{t as m}from"./use-active-dock-panel-instance-CDcYJhbD.js";var h=e(n(),1),g=t(),_=2,v=1,ee=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let t=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,n=window.getComputedStyle(this._terminal.element.parentElement),r=parseInt(n.getPropertyValue(`height`)),i=Math.max(0,parseInt(n.getPropertyValue(`width`))),a=window.getComputedStyle(this._terminal.element),o={top:parseInt(a.getPropertyValue(`padding-top`)),bottom:parseInt(a.getPropertyValue(`padding-bottom`)),right:parseInt(a.getPropertyValue(`padding-right`)),left:parseInt(a.getPropertyValue(`padding-left`))},s=o.top+o.bottom,c=o.right+o.left,l=r-s,u=i-c-t;return{cols:Math.max(_,Math.floor(u/e.css.cell.width)),rows:Math.max(v,Math.floor(l/e.css.cell.height))}}},te=class{constructor(e,t,n,r={}){this._terminal=e,this._regex=t,this._handler=n,this._options=r}provideLinks(e,t){let n=re.computeLink(e,this._regex,this._terminal,this._handler);t(this._addCallbacks(n))}_addCallbacks(e){return e.map(e=>(e.leave=this._options.leave,e.hover=(t,n)=>{if(this._options.hover){let{range:r}=e;this._options.hover(t,n,r)}},e))}};function ne(e){try{let t=new URL(e),n=t.password&&t.username?`${t.protocol}//${t.username}:${t.password}@${t.host}`:t.username?`${t.protocol}//${t.username}@${t.host}`:`${t.protocol}//${t.host}`;return e.toLocaleLowerCase().startsWith(n.toLocaleLowerCase())}catch{return!1}}var re=class e{static computeLink(t,n,r,i){let a=new RegExp(n.source,(n.flags||``)+`g`),[o,s]=e._getWindowedLineStrings(t-1,r),c=o.join(``),l,u=[];for(;l=a.exec(c);){let t=l[0];if(!ne(t))continue;let[n,a]=e._mapStrIdx(r,s,0,l.index),[o,c]=e._mapStrIdx(r,n,a,t.length);if(n===-1||a===-1||o===-1||c===-1)continue;let d={start:{x:a+1,y:n+1},end:{x:c,y:o+1}};u.push({range:d,text:t,activate:i})}return u}static _getWindowedLineStrings(e,t){let n,r=e,i=e,a=0,o=``,s=[];if(n=t.buffer.active.getLine(e)){let e=n.translateToString(!0);if(n.isWrapped&&e[0]!==` `){for(a=0;(n=t.buffer.active.getLine(--r))&&a<2048&&(o=n.translateToString(!0),a+=o.length,s.push(o),!(!n.isWrapped||o.indexOf(` `)!==-1)););s.reverse()}for(s.push(e),a=0;(n=t.buffer.active.getLine(++i))&&n.isWrapped&&a<2048&&(o=n.translateToString(!0),a+=o.length,s.push(o),o.indexOf(` `)===-1););}return[s,r]}static _mapStrIdx(e,t,n,r){let i=e.buffer.active,a=i.getNullCell(),o=n;for(;r;){let e=i.getLine(t);if(!e)return[-1,-1];for(let n=o;n<e.length;++n){e.getCell(n,a);let o=a.getChars();if(a.getWidth()&&(r-=o.length||1,n===e.length-1&&o===``)){let e=i.getLine(t+1);e&&e.isWrapped&&(e.getCell(0,a),a.getWidth()===2&&(r+=1))}if(r<0)return[t,n]}t++,o=0}return[t,o]}},ie=/(https?|HTTPS?):[/]{2}[^\s"'!*(){}|\\\^<>`]*[^\s"':,.!?{}|\\\^~\[\]`()<>]/;function ae(e,t){let n=window.open();if(n){try{n.opener=null}catch{}n.location.href=t}else console.warn(`Opening link blocked as opener could not be cleared`)}var oe=class{constructor(e=ae,t={}){this._handler=e,this._options=t}activate(e){this._terminal=e;let t=this._options,n=t.urlRegex||ie;this._linkProvider=this._terminal.registerLinkProvider(new te(this._terminal,n,this._handler,t))}dispose(){this._linkProvider?.dispose()}},se=Object.defineProperty,y=Object.getOwnPropertyDescriptor,ce=(e,t)=>{for(var n in t)se(e,n,{get:t[n],enumerable:!0})},b=(e,t,n,r)=>{for(var i=r>1?void 0:r?y(t,n):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&se(t,n,i),i},x=(e,t)=>(n,r)=>t(n,r,e),le=`Terminal input`,ue={get:()=>le,set:e=>le=e},S=`Too much output to announce, navigate to rows manually to read`,de={get:()=>S,set:e=>S=e};function fe(e){return e.replace(/\r?\n/g,`\r`)}function pe(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function me(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function he(e,t,n,r){e.stopPropagation(),e.clipboardData&&C(e.clipboardData.getData(`text/plain`),t,n,r)}function C(e,t,n,r){e=fe(e),e=pe(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function ge(e,t,n){let r=n.getBoundingClientRect(),i=e.clientX-r.left-10,a=e.clientY-r.top-10;t.style.width=`20px`,t.style.height=`20px`,t.style.left=`${i}px`,t.style.top=`${a}px`,t.style.zIndex=`1000`,t.focus()}function w(e,t,n,r,i){ge(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function T(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function _e(e,t=0,n=e.length){let r=``;for(let i=t;i<n;++i){let t=e[i];t>65535?(t-=65536,r+=String.fromCharCode((t>>10)+55296)+String.fromCharCode(t%1024+56320)):r+=String.fromCharCode(t)}return r}var ve=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i=0;if(this._interim){let n=e.charCodeAt(i++);56320<=n&&n<=57343?t[r++]=(this._interim-55296)*1024+n-56320+65536:(t[r++]=this._interim,t[r++]=n),this._interim=0}for(let a=i;a<n;++a){let i=e.charCodeAt(a);if(55296<=i&&i<=56319){if(++a>=n)return this._interim=i,r;let o=e.charCodeAt(a);56320<=o&&o<=57343?t[r++]=(i-55296)*1024+o-56320+65536:(t[r++]=i,t[r++]=o);continue}i!==65279&&(t[r++]=i)}return r}},ye=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i,a,o,s,c=0,l=0;if(this.interim[0]){let i=!1,a=this.interim[0];a&=(a&224)==192?31:(a&240)==224?15:7;let o=0,s;for(;(s=this.interim[++o]&63)&&o<4;)a<<=6,a|=s;let c=(this.interim[0]&224)==192?2:(this.interim[0]&240)==224?3:4,u=c-o;for(;l<u;){if(l>=n)return 0;if(s=e[l++],(s&192)!=128){l--,i=!0;break}else this.interim[o++]=s,a<<=6,a|=s&63}i||(c===2?a<128?l--:t[r++]=a:c===3?a<2048||a>=55296&&a<=57343||a===65279||(t[r++]=a):a<65536||a>1114111||(t[r++]=a)),this.interim.fill(0)}let u=n-4,d=l;for(;d<n;){for(;d<u&&!((i=e[d])&128)&&!((a=e[d+1])&128)&&!((o=e[d+2])&128)&&!((s=e[d+3])&128);)t[r++]=i,t[r++]=a,t[r++]=o,t[r++]=s,d+=4;if(i=e[d++],i<128)t[r++]=i;else if((i&224)==192){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(c=(i&31)<<6|a&63,c<128){d--;continue}t[r++]=c}else if((i&240)==224){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(c=(i&15)<<12|(a&63)<<6|o&63,c<2048||c>=55296&&c<=57343||c===65279)continue;t[r++]=c}else if((i&248)==240){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,this.interim[2]=o,r;if(s=e[d++],(s&192)!=128){d--;continue}if(c=(i&7)<<18|(a&63)<<12|(o&63)<<6|s&63,c<65536||c>1114111)continue;t[r++]=c}}return r}},be=``,xe=` `,Se=class e{constructor(){this.fg=0,this.bg=0,this.extended=new Ce}static toColorRGB(e){return[e>>>16&255,e>>>8&255,e&255]}static fromColorRGB(e){return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255}clone(){let t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)==50331648}isBgRGB(){return(this.bg&50331648)==50331648}isFgPalette(){return(this.fg&50331648)==16777216||(this.fg&50331648)==33554432}isBgPalette(){return(this.bg&50331648)==16777216||(this.bg&50331648)==33554432}isFgDefault(){return(this.fg&50331648)==0}isBgDefault(){return(this.bg&50331648)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==16777216||(this.extended.underlineColor&50331648)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},Ce=class e{constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(e){this._ext&=-67108864,this._ext|=e&67108863}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){let e=(this._ext&3758096384)>>29;return e<0?e^4294967288:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}clone(){return new e(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},we=class e extends Se{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new Ce,this.combinedData=``}static fromCharData(t){let n=new e;return n.setFromCharData(t),n}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?T(this.content&2097151):``}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(e){this.fg=e[0],this.bg=0;let t=!1;if(e[1].length>2)t=!0;else if(e[1].length===2){let n=e[1].charCodeAt(0);if(55296<=n&&n<=56319){let r=e[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(n-55296)*1024+r-56320+65536|e[2]<<22:t=!0}else t=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;t&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},Te=`di$target`,Ee=`di$dependencies`,De=new Map;function Oe(e){return e[Ee]||[]}function E(e){if(De.has(e))return De.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);ke(t,e,r)};return t._id=e,De.set(e,t),t}function ke(e,t,n){t[Te]===t?t[Ee].push({id:e,index:n}):(t[Ee]=[{id:e,index:n}],t[Te]=t)}var D=E(`BufferService`),Ae=E(`CoreMouseService`),je=E(`CoreService`),Me=E(`CharsetService`),Ne=E(`InstantiationService`),Pe=E(`LogService`),O=E(`OptionsService`),Fe=E(`OscLinkService`),Ie=E(`UnicodeService`),Le=E(`DecorationService`),Re=class{constructor(e,t,n){this._bufferService=e,this._optionsService=t,this._oscLinkService=n}provideLinks(e,t){let n=this._bufferService.buffer.lines.get(e-1);if(!n){t(void 0);return}let r=[],i=this._optionsService.rawOptions.linkHandler,a=new we,o=n.getTrimmedLength(),s=-1,c=-1,l=!1;for(let t=0;t<o;t++)if(!(c===-1&&!n.hasContent(t))){if(n.loadCell(t,a),a.hasExtendedAttrs()&&a.extended.urlId)if(c===-1){c=t,s=a.extended.urlId;continue}else l=a.extended.urlId!==s;else c!==-1&&(l=!0);if(l||c!==-1&&t===o-1){let n=this._oscLinkService.getLinkData(s)?.uri;if(n){let a={start:{x:c+1,y:e},end:{x:t+ +(!l&&t===o-1),y:e}},s=!1;if(!i?.allowNonHttpProtocols)try{let e=new URL(n);[`http:`,`https:`].includes(e.protocol)||(s=!0)}catch{s=!0}s||r.push({text:n,range:a,activate:(e,t)=>i?i.activate(e,t,a):ze(e,t),hover:(e,t)=>i?.hover?.(e,t,a),leave:(e,t)=>i?.leave?.(e,t,a)})}l=!1,a.hasExtendedAttrs()&&a.extended.urlId?(c=t,s=a.extended.urlId):(c=-1,s=-1)}}t(r)}};Re=b([x(0,D),x(1,O),x(2,Fe)],Re);function ze(e,t){if(confirm(`Do you want to navigate to ${t}?
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{ln as i}from"./dist-PhNKneni.js";import{$ as a,a as o,r as s}from"./store-DdiKV6YO.js";import{t as c}from"./utils-BHAZna1O.js";import{t as l}from"./button-BvwSd5oT.js";import{an as u,ni as d}from"./api-DS1qgAo_.js";import{n as f}from"./chat-dock-context-DuJCw4sJ.js";import{n as p}from"./main-tab-context-CNgxXqnH.js";import{t as m}from"./use-active-dock-panel-instance-hpa6hhuw.js";var h=e(n(),1),g=t(),_=2,v=1,ee=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let t=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,n=window.getComputedStyle(this._terminal.element.parentElement),r=parseInt(n.getPropertyValue(`height`)),i=Math.max(0,parseInt(n.getPropertyValue(`width`))),a=window.getComputedStyle(this._terminal.element),o={top:parseInt(a.getPropertyValue(`padding-top`)),bottom:parseInt(a.getPropertyValue(`padding-bottom`)),right:parseInt(a.getPropertyValue(`padding-right`)),left:parseInt(a.getPropertyValue(`padding-left`))},s=o.top+o.bottom,c=o.right+o.left,l=r-s,u=i-c-t;return{cols:Math.max(_,Math.floor(u/e.css.cell.width)),rows:Math.max(v,Math.floor(l/e.css.cell.height))}}},te=class{constructor(e,t,n,r={}){this._terminal=e,this._regex=t,this._handler=n,this._options=r}provideLinks(e,t){let n=re.computeLink(e,this._regex,this._terminal,this._handler);t(this._addCallbacks(n))}_addCallbacks(e){return e.map(e=>(e.leave=this._options.leave,e.hover=(t,n)=>{if(this._options.hover){let{range:r}=e;this._options.hover(t,n,r)}},e))}};function ne(e){try{let t=new URL(e),n=t.password&&t.username?`${t.protocol}//${t.username}:${t.password}@${t.host}`:t.username?`${t.protocol}//${t.username}@${t.host}`:`${t.protocol}//${t.host}`;return e.toLocaleLowerCase().startsWith(n.toLocaleLowerCase())}catch{return!1}}var re=class e{static computeLink(t,n,r,i){let a=new RegExp(n.source,(n.flags||``)+`g`),[o,s]=e._getWindowedLineStrings(t-1,r),c=o.join(``),l,u=[];for(;l=a.exec(c);){let t=l[0];if(!ne(t))continue;let[n,a]=e._mapStrIdx(r,s,0,l.index),[o,c]=e._mapStrIdx(r,n,a,t.length);if(n===-1||a===-1||o===-1||c===-1)continue;let d={start:{x:a+1,y:n+1},end:{x:c,y:o+1}};u.push({range:d,text:t,activate:i})}return u}static _getWindowedLineStrings(e,t){let n,r=e,i=e,a=0,o=``,s=[];if(n=t.buffer.active.getLine(e)){let e=n.translateToString(!0);if(n.isWrapped&&e[0]!==` `){for(a=0;(n=t.buffer.active.getLine(--r))&&a<2048&&(o=n.translateToString(!0),a+=o.length,s.push(o),!(!n.isWrapped||o.indexOf(` `)!==-1)););s.reverse()}for(s.push(e),a=0;(n=t.buffer.active.getLine(++i))&&n.isWrapped&&a<2048&&(o=n.translateToString(!0),a+=o.length,s.push(o),o.indexOf(` `)===-1););}return[s,r]}static _mapStrIdx(e,t,n,r){let i=e.buffer.active,a=i.getNullCell(),o=n;for(;r;){let e=i.getLine(t);if(!e)return[-1,-1];for(let n=o;n<e.length;++n){e.getCell(n,a);let o=a.getChars();if(a.getWidth()&&(r-=o.length||1,n===e.length-1&&o===``)){let e=i.getLine(t+1);e&&e.isWrapped&&(e.getCell(0,a),a.getWidth()===2&&(r+=1))}if(r<0)return[t,n]}t++,o=0}return[t,o]}},ie=/(https?|HTTPS?):[/]{2}[^\s"'!*(){}|\\\^<>`]*[^\s"':,.!?{}|\\\^~\[\]`()<>]/;function ae(e,t){let n=window.open();if(n){try{n.opener=null}catch{}n.location.href=t}else console.warn(`Opening link blocked as opener could not be cleared`)}var oe=class{constructor(e=ae,t={}){this._handler=e,this._options=t}activate(e){this._terminal=e;let t=this._options,n=t.urlRegex||ie;this._linkProvider=this._terminal.registerLinkProvider(new te(this._terminal,n,this._handler,t))}dispose(){this._linkProvider?.dispose()}},se=Object.defineProperty,y=Object.getOwnPropertyDescriptor,ce=(e,t)=>{for(var n in t)se(e,n,{get:t[n],enumerable:!0})},b=(e,t,n,r)=>{for(var i=r>1?void 0:r?y(t,n):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&se(t,n,i),i},x=(e,t)=>(n,r)=>t(n,r,e),le=`Terminal input`,ue={get:()=>le,set:e=>le=e},S=`Too much output to announce, navigate to rows manually to read`,de={get:()=>S,set:e=>S=e};function fe(e){return e.replace(/\r?\n/g,`\r`)}function pe(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function me(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function he(e,t,n,r){e.stopPropagation(),e.clipboardData&&C(e.clipboardData.getData(`text/plain`),t,n,r)}function C(e,t,n,r){e=fe(e),e=pe(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function ge(e,t,n){let r=n.getBoundingClientRect(),i=e.clientX-r.left-10,a=e.clientY-r.top-10;t.style.width=`20px`,t.style.height=`20px`,t.style.left=`${i}px`,t.style.top=`${a}px`,t.style.zIndex=`1000`,t.focus()}function w(e,t,n,r,i){ge(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function T(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function _e(e,t=0,n=e.length){let r=``;for(let i=t;i<n;++i){let t=e[i];t>65535?(t-=65536,r+=String.fromCharCode((t>>10)+55296)+String.fromCharCode(t%1024+56320)):r+=String.fromCharCode(t)}return r}var ve=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i=0;if(this._interim){let n=e.charCodeAt(i++);56320<=n&&n<=57343?t[r++]=(this._interim-55296)*1024+n-56320+65536:(t[r++]=this._interim,t[r++]=n),this._interim=0}for(let a=i;a<n;++a){let i=e.charCodeAt(a);if(55296<=i&&i<=56319){if(++a>=n)return this._interim=i,r;let o=e.charCodeAt(a);56320<=o&&o<=57343?t[r++]=(i-55296)*1024+o-56320+65536:(t[r++]=i,t[r++]=o);continue}i!==65279&&(t[r++]=i)}return r}},ye=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i,a,o,s,c=0,l=0;if(this.interim[0]){let i=!1,a=this.interim[0];a&=(a&224)==192?31:(a&240)==224?15:7;let o=0,s;for(;(s=this.interim[++o]&63)&&o<4;)a<<=6,a|=s;let c=(this.interim[0]&224)==192?2:(this.interim[0]&240)==224?3:4,u=c-o;for(;l<u;){if(l>=n)return 0;if(s=e[l++],(s&192)!=128){l--,i=!0;break}else this.interim[o++]=s,a<<=6,a|=s&63}i||(c===2?a<128?l--:t[r++]=a:c===3?a<2048||a>=55296&&a<=57343||a===65279||(t[r++]=a):a<65536||a>1114111||(t[r++]=a)),this.interim.fill(0)}let u=n-4,d=l;for(;d<n;){for(;d<u&&!((i=e[d])&128)&&!((a=e[d+1])&128)&&!((o=e[d+2])&128)&&!((s=e[d+3])&128);)t[r++]=i,t[r++]=a,t[r++]=o,t[r++]=s,d+=4;if(i=e[d++],i<128)t[r++]=i;else if((i&224)==192){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(c=(i&31)<<6|a&63,c<128){d--;continue}t[r++]=c}else if((i&240)==224){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(c=(i&15)<<12|(a&63)<<6|o&63,c<2048||c>=55296&&c<=57343||c===65279)continue;t[r++]=c}else if((i&248)==240){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,this.interim[2]=o,r;if(s=e[d++],(s&192)!=128){d--;continue}if(c=(i&7)<<18|(a&63)<<12|(o&63)<<6|s&63,c<65536||c>1114111)continue;t[r++]=c}}return r}},be=``,xe=` `,Se=class e{constructor(){this.fg=0,this.bg=0,this.extended=new Ce}static toColorRGB(e){return[e>>>16&255,e>>>8&255,e&255]}static fromColorRGB(e){return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255}clone(){let t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)==50331648}isBgRGB(){return(this.bg&50331648)==50331648}isFgPalette(){return(this.fg&50331648)==16777216||(this.fg&50331648)==33554432}isBgPalette(){return(this.bg&50331648)==16777216||(this.bg&50331648)==33554432}isFgDefault(){return(this.fg&50331648)==0}isBgDefault(){return(this.bg&50331648)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==16777216||(this.extended.underlineColor&50331648)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},Ce=class e{constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(e){this._ext&=-67108864,this._ext|=e&67108863}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){let e=(this._ext&3758096384)>>29;return e<0?e^4294967288:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}clone(){return new e(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},we=class e extends Se{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new Ce,this.combinedData=``}static fromCharData(t){let n=new e;return n.setFromCharData(t),n}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?T(this.content&2097151):``}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(e){this.fg=e[0],this.bg=0;let t=!1;if(e[1].length>2)t=!0;else if(e[1].length===2){let n=e[1].charCodeAt(0);if(55296<=n&&n<=56319){let r=e[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(n-55296)*1024+r-56320+65536|e[2]<<22:t=!0}else t=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;t&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},Te=`di$target`,Ee=`di$dependencies`,De=new Map;function Oe(e){return e[Ee]||[]}function E(e){if(De.has(e))return De.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);ke(t,e,r)};return t._id=e,De.set(e,t),t}function ke(e,t,n){t[Te]===t?t[Ee].push({id:e,index:n}):(t[Ee]=[{id:e,index:n}],t[Te]=t)}var D=E(`BufferService`),Ae=E(`CoreMouseService`),je=E(`CoreService`),Me=E(`CharsetService`),Ne=E(`InstantiationService`),Pe=E(`LogService`),O=E(`OptionsService`),Fe=E(`OscLinkService`),Ie=E(`UnicodeService`),Le=E(`DecorationService`),Re=class{constructor(e,t,n){this._bufferService=e,this._optionsService=t,this._oscLinkService=n}provideLinks(e,t){let n=this._bufferService.buffer.lines.get(e-1);if(!n){t(void 0);return}let r=[],i=this._optionsService.rawOptions.linkHandler,a=new we,o=n.getTrimmedLength(),s=-1,c=-1,l=!1;for(let t=0;t<o;t++)if(!(c===-1&&!n.hasContent(t))){if(n.loadCell(t,a),a.hasExtendedAttrs()&&a.extended.urlId)if(c===-1){c=t,s=a.extended.urlId;continue}else l=a.extended.urlId!==s;else c!==-1&&(l=!0);if(l||c!==-1&&t===o-1){let n=this._oscLinkService.getLinkData(s)?.uri;if(n){let a={start:{x:c+1,y:e},end:{x:t+ +(!l&&t===o-1),y:e}},s=!1;if(!i?.allowNonHttpProtocols)try{let e=new URL(n);[`http:`,`https:`].includes(e.protocol)||(s=!0)}catch{s=!0}s||r.push({text:n,range:a,activate:(e,t)=>i?i.activate(e,t,a):ze(e,t),hover:(e,t)=>i?.hover?.(e,t,a),leave:(e,t)=>i?.leave?.(e,t,a)})}l=!1,a.hasExtendedAttrs()&&a.extended.urlId?(c=t,s=a.extended.urlId):(c=-1,s=-1)}}t(r)}};Re=b([x(0,D),x(1,O),x(2,Fe)],Re);function ze(e,t){if(confirm(`Do you want to navigate to ${t}?
2
2
 
3
3
  WARNING: This link could potentially be dangerous`)){let e=window.open();if(e){try{e.opener=null}catch{}e.location.href=t}else console.warn(`Opening link blocked as opener could not be cleared`)}}var Be=E(`CharSizeService`),Ve=E(`CoreBrowserService`),He=E(`MouseService`),Ue=E(`RenderService`),We=E(`SelectionService`),Ge=E(`CharacterJoinerService`),Ke=E(`ThemeService`),qe=E(`LinkProviderService`),Je=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?et.isErrorNoTelemetry(e)?new et(e.message+`
4
4
 
@@ -35,4 +35,4 @@ ${s.join(`
35
35
  `&&(this._liveRegionLineCount++,this._liveRegionLineCount===zs+1&&(this._liveRegion.textContent+=de.get())))}_clearLiveRegion(){this._liveRegion.textContent=``,this._liveRegionLineCount=0}_handleKey(e){this._clearLiveRegion(),/\p{Control}/u.test(e)||this._charsToConsume.push(e)}_refreshRows(e,t){this._liveRegionDebouncer.refresh(e,t,this._terminal.rows)}_renderRows(e,t){let n=this._terminal.buffer,r=n.lines.length.toString();for(let i=e;i<=t;i++){let e=n.lines.get(n.ydisp+i),t=[],a=e?.translateToString(!0,void 0,void 0,t)||``,o=(n.ydisp+i+1).toString(),s=this._rowElements[i];s&&(a.length===0?(s.textContent=`\xA0`,this._rowColumns.set(s,[0,1])):(s.textContent=a,this._rowColumns.set(s,t)),s.setAttribute(`aria-posinset`,o),s.setAttribute(`aria-setsize`,r),this._alignRowWidth(s))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce=``)}_handleBoundaryFocus(e,t){let n=e.target,r=this._rowElements[t===0?1:this._rowElements.length-2];if(n.getAttribute(`aria-posinset`)===(t===0?`1`:`${this._terminal.buffer.lines.length}`)||e.relatedTarget!==r)return;let i,a;if(t===0?(i=n,a=this._rowElements.pop(),this._rowContainer.removeChild(a)):(i=this._rowElements.shift(),a=n,this._rowContainer.removeChild(i)),i.removeEventListener(`focus`,this._topBoundaryFocusListener),a.removeEventListener(`focus`,this._bottomBoundaryFocusListener),t===0){let e=this._createAccessibilityTreeNode();this._rowElements.unshift(e),this._rowContainer.insertAdjacentElement(`afterbegin`,e)}else{let e=this._createAccessibilityTreeNode();this._rowElements.push(e),this._rowContainer.appendChild(e)}this._rowElements[0].addEventListener(`focus`,this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._terminal.scrollLines(t===0?-1:1),this._rowElements[t===0?1:this._rowElements.length-2].focus(),e.preventDefault(),e.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;let e=this._coreBrowserService.mainDocument.getSelection();if(!e)return;if(e.isCollapsed){this._rowContainer.contains(e.anchorNode)&&this._terminal.clearSelection();return}if(!e.anchorNode||!e.focusNode){console.error(`anchorNode and/or focusNode are null`);return}let t={node:e.anchorNode,offset:e.anchorOffset},n={node:e.focusNode,offset:e.focusOffset};if((t.node.compareDocumentPosition(n.node)&Node.DOCUMENT_POSITION_PRECEDING||t.node===n.node&&t.offset>n.offset)&&([t,n]=[n,t]),t.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(t={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(t.node))return;let r=this._rowElements.slice(-1)[0];if(n.node.compareDocumentPosition(r)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(n={node:r,offset:r.textContent?.length??0}),!this._rowContainer.contains(n.node))return;let i=({node:e,offset:t})=>{let n=e instanceof Text?e.parentNode:e,r=parseInt(n?.getAttribute(`aria-posinset`),10)-1;if(isNaN(r))return console.warn(`row is invalid. Race condition?`),null;let i=this._rowColumns.get(n);if(!i)return console.warn(`columns is null. Race condition?`),null;let a=t<i.length?i[t]:i.slice(-1)[0]+1;return a>=this._terminal.cols&&(++r,a=0),{row:r,column:a}},a=i(t),o=i(n);if(!(!a||!o)){if(a.row>o.row||a.row===o.row&&a.column>=o.column)throw Error(`invalid range`);this._terminal.select(a.column,a.row,(o.row-a.row)*this._terminal.cols-a.column+o.column)}}_handleResize(e){this._rowElements[this._rowElements.length-1].removeEventListener(`focus`,this._bottomBoundaryFocusListener);for(let e=this._rowContainer.children.length;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);for(;this._rowElements.length>e;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let e=this._coreBrowserService.mainDocument.createElement(`div`);return e.setAttribute(`role`,`listitem`),e.tabIndex=-1,this._refreshRowDimensions(e),e}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let e=0;e<this._terminal.rows;e++)this._refreshRowDimensions(this._rowElements[e]),this._alignRowWidth(this._rowElements[e])}}_refreshRowDimensions(e){e.style.height=`${this._renderService.dimensions.css.cell.height}px`}_alignRowWidth(e){e.style.transform=``;let t=e.getBoundingClientRect().width,n=this._rowColumns.get(e)?.slice(-1)?.[0];if(!n)return;let r=n*this._renderService.dimensions.css.cell.width;e.style.transform=`scaleX(${r/t})`}};Vs=b([x(1,Ne),x(2,Ve),x(3,Ue)],Vs);var Hs=class extends A{constructor(e,t,n,r,i){super(),this._element=e,this._mouseService=t,this._renderService=n,this._bufferService=r,this._linkProviderService=i,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this._register(new N),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this._register(new N),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this._register(k(()=>{St(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()})),this._register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this._register(P(this._element,`mouseleave`,()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(P(this._element,`mousemove`,this._handleMouseMove.bind(this))),this._register(P(this._element,`mousedown`,this._handleMouseDown.bind(this))),this._register(P(this._element,`mouseup`,this._handleMouseUp.bind(this)))}get currentLink(){return this._currentLink}_handleMouseMove(e){this._lastMouseEvent=e;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(!t)return;this._isMouseOut=!1;let n=e.composedPath();for(let e=0;e<n.length;e++){let t=n[e];if(t.classList.contains(`xterm`))break;if(t.classList.contains(`xterm-hover`))return}(!this._lastBufferCell||t.x!==this._lastBufferCell.x||t.y!==this._lastBufferCell.y)&&(this._handleHover(t),this._lastBufferCell=t)}_handleHover(e){if(this._activeLine!==e.y||this._wasResized){this._clearCurrentLink(),this._askForLink(e,!1),this._wasResized=!1;return}this._currentLink&&this._linkAtPosition(this._currentLink.link,e)||(this._clearCurrentLink(),this._askForLink(e,!0))}_askForLink(e,t){(!this._activeProviderReplies||!t)&&(this._activeProviderReplies?.forEach(e=>{e?.forEach(e=>{e.link.dispose&&e.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=e.y);let n=!1;for(let[r,i]of this._linkProviderService.linkProviders.entries())t?this._activeProviderReplies?.get(r)&&(n=this._checkLinkProviderResult(r,e,n)):i.provideLinks(e.y,t=>{if(this._isMouseOut)return;let i=t?.map(e=>({link:e}));this._activeProviderReplies?.set(r,i),n=this._checkLinkProviderResult(r,e,n),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(e.y,this._activeProviderReplies)})}_removeIntersectingLinks(e,t){let n=new Set;for(let r=0;r<t.size;r++){let i=t.get(r);if(i)for(let t=0;t<i.length;t++){let r=i[t],a=r.link.range.start.y<e?0:r.link.range.start.x,o=r.link.range.end.y>e?this._bufferService.cols:r.link.range.end.x;for(let e=a;e<=o;e++){if(n.has(e)){i.splice(t--,1);break}n.add(e)}}}}_checkLinkProviderResult(e,t,n){if(!this._activeProviderReplies)return n;let r=this._activeProviderReplies.get(e),i=!1;for(let t=0;t<e;t++)(!this._activeProviderReplies.has(t)||this._activeProviderReplies.get(t))&&(i=!0);if(!i&&r){let e=r.find(e=>this._linkAtPosition(e.link,t));e&&(n=!0,this._handleNewLink(e))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!n)for(let e=0;e<this._activeProviderReplies.size;e++){let r=this._activeProviderReplies.get(e)?.find(e=>this._linkAtPosition(e.link,t));if(r){n=!0,this._handleNewLink(r);break}}return n}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(e){if(!this._currentLink)return;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);t&&this._mouseDownLink&&Us(this._mouseDownLink.link,this._currentLink.link)&&this._linkAtPosition(this._currentLink.link,t)&&this._currentLink.link.activate(e,this._currentLink.link.text)}_clearCurrentLink(e,t){!this._currentLink||!this._lastMouseEvent||(!e||!t||this._currentLink.link.range.start.y>=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,St(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(e){if(!this._lastMouseEvent)return;let t=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);t&&this._linkAtPosition(e.link,t)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:e.link.decorations===void 0?!0:e.link.decorations.underline,pointerCursor:e.link.decorations===void 0?!0:e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:e=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==e&&(this._currentLink.state.decorations.pointerCursor=e,this._currentLink.state.isHovered&&this._element.classList.toggle(`xterm-cursor-pointer`,e))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:t=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==t&&(this._currentLink.state.decorations.underline=t,this._currentLink.state.isHovered&&this._fireUnderlineEvent(e.link,t))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(e=>{if(!this._currentLink)return;let t=e.start===0?0:e.start+1+this._bufferService.buffer.ydisp,n=this._bufferService.buffer.ydisp+1+e.end;if(this._currentLink.link.range.start.y>=t&&this._currentLink.link.range.end.y<=n&&(this._clearCurrentLink(t,n),this._lastMouseEvent)){let e=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);e&&this._askForLink(e,!1)}})))}_linkHover(e,t,n){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add(`xterm-cursor-pointer`)),t.hover&&t.hover(n,t.text)}_fireUnderlineEvent(e,t){let n=e.range,r=this._bufferService.buffer.ydisp,i=this._createLinkUnderlineEvent(n.start.x-1,n.start.y-r-1,n.end.x,n.end.y-r-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(i)}_linkLeave(e,t,n){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove(`xterm-cursor-pointer`)),t.leave&&t.leave(n,t.text)}_linkAtPosition(e,t){let n=e.range.start.y*this._bufferService.cols+e.range.start.x,r=e.range.end.y*this._bufferService.cols+e.range.end.x,i=t.y*this._bufferService.cols+t.x;return n<=i&&i<=r}_positionFromMouseEvent(e,t,n){let r=n.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(r)return{x:r[0],y:r[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(e,t,n,r,i){return{x1:e,y1:t,x2:n,y2:r,cols:this._bufferService.cols,fg:i}}};Hs=b([x(1,He),x(2,Ue),x(3,D),x(4,qe)],Hs);function Us(e,t){return e.text===t.text&&e.range.start.x===t.range.start.x&&e.range.start.y===t.range.start.y&&e.range.end.x===t.range.end.x&&e.range.end.y===t.range.end.y}var Ws=class extends ks{constructor(e={}){super(e),this._linkifier=this._register(new Et),this.browser=ca,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new Et),this._onCursorMove=this._register(new N),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new N),this.onKey=this._onKey.event,this._onRender=this._register(new N),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new N),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new N),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new N),this.onBell=this._onBell.event,this._onFocus=this._register(new N),this._onBlur=this._register(new N),this._onA11yCharEmitter=this._register(new N),this._onA11yTabEmitter=this._register(new N),this._onWillOpen=this._register(new N),this._setup(),this._decorationService=this._instantiationService.createInstance(Fs),this._instantiationService.setService(Le,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(ra),this._instantiationService.setService(qe,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(Re)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows(e=>this.refresh(e?.start??0,e?.end??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport(e=>this._reportWindowsOptions(e))),this._register(this._inputHandler.onColor(e=>this._handleColorEvent(e))),this._register(M.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(M.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(M.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(M.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize(e=>this._afterResize(e.cols,e.rows))),this._register(k(()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)}))}get linkifier(){return this._linkifier.value}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}_handleColorEvent(e){if(this._themeService)for(let t of e){let e,n=``;switch(t.index){case 256:e=`foreground`,n=`10`;break;case 257:e=`background`,n=`11`;break;case 258:e=`cursor`,n=`12`;break;default:e=`ansi`,n=`4;`+t.index}switch(t.type){case 0:let r=U.toColorRGB(e===`ansi`?this._themeService.colors.ansi[t.index]:this._themeService.colors[e]);this.coreService.triggerDataEvent(`${L.ESC}]${n};${ps(r)}${Ti.ST}`);break;case 1:if(e===`ansi`)this._themeService.modifyColors(e=>e.ansi[t.index]=H.toColor(...t.color));else{let n=e;this._themeService.modifyColors(e=>e[n]=H.toColor(...t.color))}break;case 2:this._themeService.restoreColor(t.index);break}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(e){e?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(Vs,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(L.ESC+`[I`),this.element.classList.add(`focus`),this._showCursor(),this._onFocus.fire()}blur(){return this.textarea?.blur()}_handleTextAreaBlur(){this.textarea.value=``,this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(L.ESC+`[O`),this.element.classList.remove(`focus`),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let e=this.buffer.ybase+this.buffer.y,t=this.buffer.lines.get(e);if(!t)return;let n=Math.min(this.buffer.x,this.cols-1),r=this._renderService.dimensions.css.cell.height,i=t.getWidth(n),a=this._renderService.dimensions.css.cell.width*i,o=this.buffer.y*this._renderService.dimensions.css.cell.height,s=n*this._renderService.dimensions.css.cell.width;this.textarea.style.left=s+`px`,this.textarea.style.top=o+`px`,this.textarea.style.width=a+`px`,this.textarea.style.height=r+`px`,this.textarea.style.lineHeight=r+`px`,this.textarea.style.zIndex=`-5`}_initGlobal(){this._bindKeys(),this._register(P(this.element,`copy`,e=>{this.hasSelection()&&me(e,this._selectionService)}));let e=e=>he(e,this.textarea,this.coreService,this.optionsService);this._register(P(this.textarea,`paste`,e)),this._register(P(this.element,`paste`,e)),fa?this._register(P(this.element,`mousedown`,e=>{e.button===2&&w(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(P(this.element,`contextmenu`,e=>{w(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),ba&&this._register(P(this.element,`auxclick`,e=>{e.button===1&&ge(e,this.textarea,this.screenElement)}))}_bindKeys(){this._register(P(this.textarea,`keyup`,e=>this._keyUp(e),!0)),this._register(P(this.textarea,`keydown`,e=>this._keyDown(e),!0)),this._register(P(this.textarea,`keypress`,e=>this._keyPress(e),!0)),this._register(P(this.textarea,`compositionstart`,()=>this._compositionHelper.compositionstart())),this._register(P(this.textarea,`compositionupdate`,e=>this._compositionHelper.compositionupdate(e))),this._register(P(this.textarea,`compositionend`,()=>this._compositionHelper.compositionend())),this._register(P(this.textarea,`input`,e=>this._inputEvent(e),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(e){if(!e)throw Error(`Terminal requires a parent element.`);if(e.isConnected||this._logService.debug(`Terminal.open was called on an element that was not attached to the DOM`),this.element?.ownerDocument.defaultView&&this._coreBrowserService){this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView);return}this._document=e.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement(`div`),this.element.dir=`ltr`,this.element.classList.add(`terminal`),this.element.classList.add(`xterm`),e.appendChild(this.element);let t=this._document.createDocumentFragment();this._viewportElement=this._document.createElement(`div`),this._viewportElement.classList.add(`xterm-viewport`),t.appendChild(this._viewportElement),this.screenElement=this._document.createElement(`div`),this.screenElement.classList.add(`xterm-screen`),this._register(P(this.screenElement,`mousemove`,e=>this.updateCursorStyle(e))),this._helperContainer=this._document.createElement(`div`),this._helperContainer.classList.add(`xterm-helpers`),this.screenElement.appendChild(this._helperContainer),t.appendChild(this.screenElement);let n=this.textarea=this._document.createElement(`textarea`);this.textarea.classList.add(`xterm-helper-textarea`),this.textarea.setAttribute(`aria-label`,ue.get()),xa||this.textarea.setAttribute(`aria-multiline`,`false`),this.textarea.setAttribute(`autocorrect`,`off`),this.textarea.setAttribute(`autocapitalize`,`off`),this.textarea.setAttribute(`spellcheck`,`false`),this.textarea.tabIndex=0,this._register(this.optionsService.onSpecificOptionChange(`disableStdin`,()=>n.readOnly=this.optionsService.rawOptions.disableStdin)),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(ta,this.textarea,e.ownerDocument.defaultView??window,this._document??typeof window<`u`?window.document:null)),this._instantiationService.setService(Ve,this._coreBrowserService),this._register(P(this.textarea,`focus`,e=>this._handleTextAreaFocus(e))),this._register(P(this.textarea,`blur`,()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(Zi,this._document,this._helperContainer),this._instantiationService.setService(Be,this._charSizeService),this._themeService=this._instantiationService.createInstance(io),this._instantiationService.setService(Ke,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(Mi),this._instantiationService.setService(Ge,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(Da,this.rows,this.screenElement)),this._instantiationService.setService(Ue,this._renderService),this._register(this._renderService.onRenderedViewportChange(e=>this._onRender.fire(e))),this.onResize(e=>this._renderService.resize(e.cols,e.rows)),this._compositionView=this._document.createElement(`div`),this._compositionView.classList.add(`composition-view`),this._compositionHelper=this._instantiationService.createInstance(Ei,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(oa),this._instantiationService.setService(He,this._mouseService);let r=this._linkifier.value=this._register(this._instantiationService.createInstance(Hs,this.screenElement));this.element.appendChild(t);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._register(this.onCursorMove(()=>{this._renderService.handleCursorMove(),this._syncTextArea()})),this._register(this.onResize(()=>this._renderService.handleResize(this.cols,this.rows))),this._register(this.onBlur(()=>this._renderService.handleBlur())),this._register(this.onFocus(()=>this._renderService.handleFocus())),this._viewport=this._register(this._instantiationService.createInstance(_i,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines(e=>{super.scrollLines(e,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(Ya,this.element,this.screenElement,r)),this._instantiationService.setService(We,this._selectionService),this._register(this._selectionService.onRequestScrollLines(e=>this.scrollLines(e.amount,e.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw(e=>this._renderService.handleSelectionChanged(e.start,e.end,e.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection(e=>{this.textarea.value=e,this.textarea.focus(),this.textarea.select()})),this._register(M.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{this._selectionService.refresh(),this._viewport?.queueSync()})),this._register(this._instantiationService.createInstance(vi,this.screenElement)),this._register(P(this.element,`mousedown`,e=>this._selectionService.handleMouseDown(e))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add(`enable-mouse-events`)):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(Vs,this)),this._register(this.optionsService.onSpecificOptionChange(`screenReaderMode`,e=>this._handleScreenReaderModeOptionChange(e))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(Ci,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange(`overviewRuler`,e=>{!this._overviewRulerRenderer&&e&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(Ci,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(Xi,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let e=this,t=this.element;function n(t){let n=e._mouseService.getMouseReportCoords(t,e.screenElement);if(!n)return!1;let r,i;switch(t.overrideType||t.type){case`mousemove`:i=32,t.buttons===void 0?(r=3,t.button!==void 0&&(r=t.button<3?t.button:3)):r=t.buttons&1?0:t.buttons&4?1:t.buttons&2?2:3;break;case`mouseup`:i=0,r=t.button<3?t.button:3;break;case`mousedown`:i=1,r=t.button<3?t.button:3;break;case`wheel`:if(e._customWheelEventHandler&&e._customWheelEventHandler(t)===!1)return!1;let n=t.deltaY;if(n===0||e.coreMouseService.consumeWheelEvent(t,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr)===0)return!1;i=n<0?0:1,r=4;break;default:return!1}return i===void 0||r===void 0||r>4?!1:e.coreMouseService.triggerMouseEvent({col:n.col,row:n.row,x:n.x,y:n.y,button:r,action:i,ctrl:t.ctrlKey,alt:t.altKey,shift:t.shiftKey})}let r={mouseup:null,wheel:null,mousedrag:null,mousemove:null},i={mouseup:e=>(n(e),e.buttons||(this._document.removeEventListener(`mouseup`,r.mouseup),r.mousedrag&&this._document.removeEventListener(`mousemove`,r.mousedrag)),this.cancel(e)),wheel:e=>(n(e),this.cancel(e,!0)),mousedrag:e=>{e.buttons&&n(e)},mousemove:e=>{e.buttons||n(e)}};this._register(this.coreMouseService.onProtocolChange(e=>{e?(this.optionsService.rawOptions.logLevel===`debug`&&this._logService.debug(`Binding to mouse events:`,this.coreMouseService.explainEvents(e)),this.element.classList.add(`enable-mouse-events`),this._selectionService.disable()):(this._logService.debug(`Unbinding from mouse events.`),this.element.classList.remove(`enable-mouse-events`),this._selectionService.enable()),e&8?r.mousemove||=(t.addEventListener(`mousemove`,i.mousemove),i.mousemove):(t.removeEventListener(`mousemove`,r.mousemove),r.mousemove=null),e&16?r.wheel||=(t.addEventListener(`wheel`,i.wheel,{passive:!1}),i.wheel):(t.removeEventListener(`wheel`,r.wheel),r.wheel=null),e&2?r.mouseup||=i.mouseup:(this._document.removeEventListener(`mouseup`,r.mouseup),r.mouseup=null),e&4?r.mousedrag||=i.mousedrag:(this._document.removeEventListener(`mousemove`,r.mousedrag),r.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(P(t,`mousedown`,e=>{if(e.preventDefault(),this.focus(),!(!this.coreMouseService.areMouseEventsActive||this._selectionService.shouldForceSelection(e)))return n(e),r.mouseup&&this._document.addEventListener(`mouseup`,r.mouseup),r.mousedrag&&this._document.addEventListener(`mousemove`,r.mousedrag),this.cancel(e)})),this._register(P(t,`wheel`,t=>{if(!r.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(t)===!1)return!1;if(!this.buffer.hasScrollback){if(t.deltaY===0)return!1;if(e.coreMouseService.consumeWheelEvent(t,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr)===0)return this.cancel(t,!0);let n=L.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?`O`:`[`)+(t.deltaY<0?`A`:`B`);return this.coreService.triggerDataEvent(n,!0),this.cancel(t,!0)}}},{passive:!1}))}refresh(e,t){this._renderService?.refreshRows(e,t)}updateCursorStyle(e){this._selectionService?.shouldColumnSelect(e)?this.element.classList.add(`column-select`):this.element.classList.remove(`column-select`)}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(e,t){this._viewport?this._viewport.scrollLines(e):super.scrollLines(e,t),this.refresh(0,this.rows-1)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){e&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let t=e-this._bufferService.buffer.ydisp;t!==0&&this.scrollLines(t)}paste(e){C(e,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(e){this._customKeyEventHandler=e}attachCustomWheelEventHandler(e){this._customWheelEventHandler=e}registerLinkProvider(e){return this._linkProviderService.registerLinkProvider(e)}registerCharacterJoiner(e){if(!this._characterJoinerService)throw Error(`Terminal must be opened first`);let t=this._characterJoinerService.register(e);return this.refresh(0,this.rows-1),t}deregisterCharacterJoiner(e){if(!this._characterJoinerService)throw Error(`Terminal must be opened first`);this._characterJoinerService.deregister(e)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(e){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+e)}registerDecoration(e){return this._decorationService.registerDecoration(e)}hasSelection(){return this._selectionService?this._selectionService.hasSelection:!1}select(e,t,n){this._selectionService.setSelection(e,t,n)}getSelection(){return this._selectionService?this._selectionService.selectionText:``}getSelectionPosition(){if(!(!this._selectionService||!this._selectionService.hasSelection))return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){this._selectionService?.clearSelection()}selectAll(){this._selectionService?.selectAll()}selectLines(e,t){this._selectionService?.selectLines(e,t)}_keyDown(e){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;let t=this.browser.isMac&&this.options.macOptionIsMeta&&e.altKey;if(!t&&!this._compositionHelper.keydown(e))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;!t&&(e.key===`Dead`||e.key===`AltGraph`)&&(this._unprocessedDeadKey=!0);let n=js(e,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(e),n.type===3||n.type===2){let t=this.rows-1;return this.scrollLines(n.type===2?-t:t),this.cancel(e,!0)}if(n.type===1&&this.selectAll(),this._isThirdLevelShift(this.browser,e)||(n.cancel&&this.cancel(e,!0),!n.key)||e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.key.length===1&&e.key.charCodeAt(0)>=65&&e.key.charCodeAt(0)<=90)return!0;if(this._unprocessedDeadKey)return this._unprocessedDeadKey=!1,!0;if((n.key===L.ETX||n.key===L.CR)&&(this.textarea.value=``),this._onKey.fire({key:n.key,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(n.key,!0),!this.optionsService.rawOptions.screenReaderMode||e.altKey||e.ctrlKey)return this.cancel(e,!0);this._keyDownHandled=!0}_isThirdLevelShift(e,t){let n=e.isMac&&!this.options.macOptionIsMeta&&t.altKey&&!t.ctrlKey&&!t.metaKey||e.isWindows&&t.altKey&&t.ctrlKey&&!t.metaKey||e.isWindows&&t.getModifierState(`AltGraph`);return t.type===`keypress`?n:n&&(!t.keyCode||t.keyCode>47)}_keyUp(e){this._keyDownSeen=!1,!(this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)&&(Gs(e)||this.focus(),this.updateCursorStyle(e),this._keyPressHandled=!1)}_keyPress(e){let t;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(e.which===null||e.which===void 0)t=e.keyCode;else if(e.which!==0&&e.charCode!==0)t=e.which;else return!1;return!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)?!1:(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(t,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,!0)}_inputEvent(e){if(e.data&&e.inputType===`insertText`&&(!e.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let t=e.data;return this.coreService.triggerDataEvent(t,!0),this.cancel(e),!0}return!1}resize(e,t){if(e===this.cols&&t===this.rows){this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure();return}super.resize(e,t)}_afterResize(e,t){this._charSizeService?.measure()}clear(){if(!(this.buffer.ybase===0&&this.buffer.y===0)){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let e=1;e<this.rows;e++)this.buffer.lines.push(this.buffer.getBlankLine(Y));this._onScroll.fire({position:this.buffer.ydisp}),this.refresh(0,this.rows-1)}}reset(){this.options.rows=this.rows,this.options.cols=this.cols;let e=this._customKeyEventHandler;this._setup(),super.reset(),this._selectionService?.reset(),this._decorationService.reset(),this._customKeyEventHandler=e,this.refresh(0,this.rows-1)}clearTextureAtlas(){this._renderService?.clearTextureAtlas()}_reportFocus(){this.element?.classList.contains(`focus`)?this.coreService.triggerDataEvent(L.ESC+`[I`):this.coreService.triggerDataEvent(L.ESC+`[O`)}_reportWindowsOptions(e){if(this._renderService)switch(e){case 0:let e=this._renderService.dimensions.css.canvas.width.toFixed(0),t=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${L.ESC}[4;${t};${e}t`);break;case 1:let n=this._renderService.dimensions.css.cell.width.toFixed(0),r=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${L.ESC}[6;${r};${n}t`);break}}cancel(e,t){if(!(!this.options.cancelEvents&&!t))return e.preventDefault(),e.stopPropagation(),!1}};function Gs(e){return e.keyCode===16||e.keyCode===17||e.keyCode===18}var Ks=class{constructor(){this._addons=[]}dispose(){for(let e=this._addons.length-1;e>=0;e--)this._addons[e].instance.dispose()}loadAddon(e,t){let n={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(n),t.dispose=()=>this._wrappedAddonDispose(n),t.activate(e)}_wrappedAddonDispose(e){if(e.isDisposed)return;let t=-1;for(let n=0;n<this._addons.length;n++)if(this._addons[n]===e){t=n;break}if(t===-1)throw Error(`Could not dispose an addon that has not been loaded`);e.isDisposed=!0,e.dispose.apply(e.instance),this._addons.splice(t,1)}},qs=class{constructor(e){this._line=e}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(e,t){if(!(e<0||e>=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new we)}translateToString(e,t,n){return this._line.translateToString(e,t,n)}},Js=class{constructor(e,t){this._buffer=e,this.type=t}init(e){return this._buffer=e,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(e){let t=this._buffer.lines.get(e);if(t)return new qs(t)}getNullCell(){return new we}},Ys=class extends A{constructor(e){super(),this._core=e,this._onBufferChange=this._register(new N),this.onBufferChange=this._onBufferChange.event,this._normal=new Js(this._core.buffers.normal,`normal`),this._alternate=new Js(this._core.buffers.alt,`alternate`),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw Error(`Active buffer is neither normal nor alternate`)}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}},Xs=class{constructor(e){this._core=e}registerCsiHandler(e,t){return this._core.registerCsiHandler(e,e=>t(e.toArray()))}addCsiHandler(e,t){return this.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._core.registerDcsHandler(e,(e,n)=>t(e,n.toArray()))}addDcsHandler(e,t){return this.registerDcsHandler(e,t)}registerEscHandler(e,t){return this._core.registerEscHandler(e,t)}addEscHandler(e,t){return this.registerEscHandler(e,t)}registerOscHandler(e,t){return this._core.registerOscHandler(e,t)}addOscHandler(e,t){return this.registerOscHandler(e,t)}},Zs=class{constructor(e){this._core=e}register(e){this._core.unicodeService.register(e)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(e){this._core.unicodeService.activeVersion=e}},Qs=[`cols`,`rows`],$s=0,ec=class extends A{constructor(e){super(),this._core=this._register(new Ws(e)),this._addonManager=this._register(new Ks),this._publicOptions={...this._core.options};let t=e=>this._core.options[e],n=(e,t)=>{this._checkReadonlyOptions(e),this._core.options[e]=t};for(let e in this._core.options){let r={get:t.bind(this,e),set:n.bind(this,e)};Object.defineProperty(this._publicOptions,e,r)}}_checkReadonlyOptions(e){if(Qs.includes(e))throw Error(`Option "${e}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw Error(`You must set the allowProposedApi option to true to use proposed API`)}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||=new Xs(this._core),this._parser}get unicode(){return this._checkProposedApi(),new Zs(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||=this._register(new Ys(this._core)),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let e=this._core.coreService.decPrivateModes,t=`none`;switch(this._core.coreMouseService.activeProtocol){case`X10`:t=`x10`;break;case`VT200`:t=`vt200`;break;case`DRAG`:t=`drag`;break;case`ANY`:t=`any`;break}return{applicationCursorKeysMode:e.applicationCursorKeys,applicationKeypadMode:e.applicationKeypad,bracketedPasteMode:e.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:t,originMode:e.origin,reverseWraparoundMode:e.reverseWraparound,sendFocusMode:e.sendFocus,synchronizedOutputMode:e.synchronizedOutput,wraparoundMode:e.wraparound}}get options(){return this._publicOptions}set options(e){for(let t in e)this._publicOptions[t]=e[t]}blur(){this._core.blur()}focus(){this._core.focus()}input(e,t=!0){this._core.input(e,t)}resize(e,t){this._verifyIntegers(e,t),this._core.resize(e,t)}open(e){this._core.open(e)}attachCustomKeyEventHandler(e){this._core.attachCustomKeyEventHandler(e)}attachCustomWheelEventHandler(e){this._core.attachCustomWheelEventHandler(e)}registerLinkProvider(e){return this._core.registerLinkProvider(e)}registerCharacterJoiner(e){return this._checkProposedApi(),this._core.registerCharacterJoiner(e)}deregisterCharacterJoiner(e){this._checkProposedApi(),this._core.deregisterCharacterJoiner(e)}registerMarker(e=0){return this._verifyIntegers(e),this._core.registerMarker(e)}registerDecoration(e){return this._checkProposedApi(),this._verifyPositiveIntegers(e.x??0,e.width??0,e.height??0),this._core.registerDecoration(e)}hasSelection(){return this._core.hasSelection()}select(e,t,n){this._verifyIntegers(e,t,n),this._core.select(e,t,n)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(e,t){this._verifyIntegers(e,t),this._core.selectLines(e,t)}dispose(){super.dispose()}scrollLines(e){this._verifyIntegers(e),this._core.scrollLines(e)}scrollPages(e){this._verifyIntegers(e),this._core.scrollPages(e)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(e){this._verifyIntegers(e),this._core.scrollToLine(e)}clear(){this._core.clear()}write(e,t){this._core.write(e,t)}writeln(e,t){this._core.write(e),this._core.write(`\r
36
36
  `,t)}paste(e){this._core.paste(e)}refresh(e,t){this._verifyIntegers(e,t),this._core.refresh(e,t)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(e){this._addonManager.loadAddon(this,e)}static get strings(){return{get promptLabel(){return ue.get()},set promptLabel(e){ue.set(e)},get tooMuchOutput(){return de.get()},set tooMuchOutput(e){de.set(e)}}}_verifyIntegers(...e){for($s of e)if($s===1/0||isNaN($s)||$s%1!=0)throw Error(`This API only accepts integers`)}_verifyPositiveIntegers(...e){for($s of e)if($s&&($s===1/0||isNaN($s)||$s%1!=0||$s<0))throw Error(`This API only accepts positive integers`)}},tc=r();function nc(e){let t=(0,g.c)(12),{instanceId:n,panelLabel:r}=e,{selectWindow:a,revealWindow:o}=f(),s;t[0]!==n||t[1]!==o||t[2]!==a?(s=function(){a(n),o(n)},t[0]=n,t[1]=o,t[2]=a,t[3]=s):s=t[3];let u=s,d;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(d=c(i.compact,`text-muted-foreground`),t[4]=d):d=t[4];let p;t[5]===r?p=t[6]:(p=(0,tc.jsxs)(`p`,{className:d,children:[`This `,r,` is active in another window.`]}),t[5]=r,t[6]=p);let m;t[7]===u?m=t[8]:(m=(0,tc.jsx)(l,{type:`button`,variant:`secondary`,size:`sm`,onClick:u,children:`Use here`}),t[7]=u,t[8]=m);let h;return t[9]!==p||t[10]!==m?(h=(0,tc.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3 p-6 text-center`,children:[p,m]}),t[9]=p,t[10]=m,t[11]=h):h=t[11],h}function rc(e){return encodeURIComponent(e)}function ic(e,t,n,r){let i=d().replace(/^http/i,`ws`),a=new URLSearchParams({cols:String(n),rows:String(r)});return`${i}/api/projects/${rc(e)}/threads/${rc(t)}/terminal?${a.toString()}`}function ac(e){try{let t=JSON.parse(e);if(!t||typeof t!=`object`)return null;let n=t;return n.type===`ready`&&typeof n.cwd==`string`?{type:`ready`,cwd:n.cwd}:n.type===`error`&&typeof n.message==`string`?{type:`error`,message:n.message}:null}catch{return null}}function oc(e){return JSON.stringify(e)}async function sc(e){return e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(await e.arrayBuffer())}function cc(e,t){u(t)}var lc={background:`#0a0a0a`,foreground:`#e5e5e5`,cursor:`#e5e5e5`,selectionBackground:`#ffffff33`,black:`#0a0a0a`,red:`#f87171`,green:`#4ade80`,yellow:`#facc15`,blue:`#60a5fa`,magenta:`#c084fc`,cyan:`#22d3ee`,white:`#e5e5e5`,brightBlack:`#737373`,brightRed:`#fca5a5`,brightGreen:`#86efac`,brightYellow:`#fde047`,brightBlue:`#93c5fd`,brightMagenta:`#d8b4fe`,brightCyan:`#67e8f9`,brightWhite:`#fafafa`};function uc(e,t){let n=``,r=t;for(let t of e)t===`
37
37
  `?(r||(n+=`\r`),n+=`
38
- `):n+=t,r=t===`\r`;return n}function dc(e){return e.type===`system`?`\r\n\x1b[34m${e.content}\x1b[0m\r\n`:e.type===`error`?`\r\n\x1b[31m${e.content}\x1b[0m\r\n`:e.type===`input`?`\r\n\x1b[1m> ${e.content}\x1b[0m\r\n`:e.content}function fc(e){let t=(0,g.c)(26),{instanceId:n}=e,r=o(mc),i=o(pc),{terminalState:c,dispatch:l}=a(i),{queuedCommand:u,queuedRelativeFolder:d,outputLines:_}=c,{notifyTerminalActivity:v}=p(),te=m(n,`terminal`),{registerPanelFocus:ne}=f(),re=(0,h.useRef)(null),ie=(0,h.useRef)(null),ae=(0,h.useRef)(null),se=(0,h.useRef)(null),y=(0,h.useRef)(0),ce=(0,h.useRef)(!1),b=(0,h.useRef)(!1),[x,le]=(0,h.useState)(!1),ue,S;t[0]!==n||t[1]!==ne?(ue=()=>ne(n,()=>ie.current?.focus()),S=[n,ne],t[0]=n,t[1]=ne,t[2]=ue,t[3]=S):(ue=t[2],S=t[3]),(0,h.useEffect)(ue,S);let de,fe;t[4]!==te||t[5]!==v||t[6]!==r||t[7]!==i?(de=()=>{if(!te||!r||!i||!re.current)return;let e=re.current,t=new ec({cursorBlink:!0,fontFamily:`Liberation Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, monospace`,fontSize:14,lineHeight:1.4,theme:lc,scrollback:5e3}),n=new ee,a=new oe(cc),o=!1,s=null,c=null,l=function(){if(!(o||!e.isConnected||e.clientWidth===0||e.clientHeight===0)){try{n.fit()}catch{return}c?.readyState===WebSocket.OPEN&&c.send(oc({type:`resize`,cols:t.cols,rows:t.rows}))}},u=function(){o||s!==null||(s=requestAnimationFrame(()=>{s=null,l()}))};t.loadAddon(n),t.loadAddon(a),t.open(e),u(),ie.current=t,ae.current=n,b.current=!1,le(!1),y.current=0,ce.current=!1;let{cols:d,rows:f}=t,p=new WebSocket(ic(r,i,d,f));c=p,se.current=p,p.onmessage=e=>{(async()=>{if(!o){if(typeof e.data==`string`){let n=ac(e.data);if(n?.type===`ready`){b.current=!0,le(!0),t.focus();return}if(n?.type===`error`){v(),t.writeln(`\x1b[31m${n.message??`Terminal connection failed`}\x1b[0m`);return}v(),t.write(e.data)}else if(e.data instanceof Blob||e.data instanceof ArrayBuffer){let n=await sc(e.data);if(o)return;v(),t.write(n)}}})()},p.onopen=()=>{o||t.focus()},p.onerror=()=>{o||t.writeln(`\x1B[31mTerminal connection error\x1B[0m`)},p.onclose=()=>{b.current=!1,le(!1)},t.onData(e=>{p.readyState===WebSocket.OPEN&&p.send(oc({type:`input`,data:e}))});let m=new ResizeObserver(()=>{u()});return m.observe(e),()=>{o=!0,m.disconnect(),s!==null&&(cancelAnimationFrame(s),s=null),c?.close(),c=null,se.current=null,t.dispose(),ie.current=null,ae.current=null,b.current=!1,le(!1)}},fe=[te,r,i,v],t[4]=te,t[5]=v,t[6]=r,t[7]=i,t[8]=de,t[9]=fe):(de=t[8],fe=t[9]),(0,h.useEffect)(de,fe);let pe,me;t[10]===te?(pe=t[11],me=t[12]):(pe=()=>{if(te){let e=ie.current;if(!e)return;e.focus()}},me=[te],t[10]=te,t[11]=pe,t[12]=me),(0,h.useEffect)(pe,me);let he,C;t[13]===_?(he=t[14],C=t[15]):(he=()=>{if(_.length===0){y.current=0;return}if(_.length<=y.current){y.current=_.length;return}let e=ie.current;if(!e){y.current=_.length;return}let t=_.slice(y.current);for(let n of t){let t=uc(n.content,ce.current);e.write(dc({...n,content:t})),n.content.length>0&&(ce.current=n.content.endsWith(`\r`))}y.current=_.length},C=[_],t[13]=_,t[14]=he,t[15]=C),(0,h.useEffect)(he,C);let ge,w;if(t[16]!==l||t[17]!==v||t[18]!==u||t[19]!==d||t[20]!==x?(w=()=>{if(!u||!x)return;let e=se.current;!e||e.readyState!==WebSocket.OPEN||(e.send(oc({type:`run`,command:u,cwd:d??void 0})),v(),l({type:s.ClearQueuedTerminalCommand}))},ge=[u,d,x,v,l],t[16]=l,t[17]=v,t[18]=u,t[19]=d,t[20]=x,t[21]=ge,t[22]=w):(ge=t[21],w=t[22]),(0,h.useEffect)(w,ge),!te){let e;return t[23]===n?e=t[24]:(e=(0,tc.jsx)(nc,{instanceId:n,panelLabel:`terminal`}),t[23]=n,t[24]=e),e}let T;return t[25]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,tc.jsx)(`div`,{className:`flex h-full flex-col overflow-hidden bg-neutral-950`,children:(0,tc.jsx)(`div`,{ref:re,className:`h-full w-full p-1 terminal-scrollbar`})}),t[25]=T):T=t[25],T}function pc(e){return e.selectedThreadId}function mc(e){return e.selectedProjectId}export{fc as TerminalPanel};
38
+ `):n+=t,r=t===`\r`;return n}function dc(e){return e.type===`system`?`\r\n\x1b[34m${e.content}\x1b[0m\r\n`:e.type===`error`?`\r\n\x1b[31m${e.content}\x1b[0m\r\n`:e.type===`input`?`\r\n\x1b[1m> ${e.content}\x1b[0m\r\n`:e.content}function fc(e){let t=(0,g.c)(26),{instanceId:n}=e,r=s(mc),i=s(pc),{terminalState:c,dispatch:l}=o(i),{queuedCommand:u,queuedRelativeFolder:d,outputLines:_}=c,{notifyTerminalActivity:v}=p(),te=m(n,`terminal`),{registerPanelFocus:ne}=f(),re=(0,h.useRef)(null),ie=(0,h.useRef)(null),ae=(0,h.useRef)(null),se=(0,h.useRef)(null),y=(0,h.useRef)(0),ce=(0,h.useRef)(!1),b=(0,h.useRef)(!1),[x,le]=(0,h.useState)(!1),ue,S;t[0]!==n||t[1]!==ne?(ue=()=>ne(n,()=>ie.current?.focus()),S=[n,ne],t[0]=n,t[1]=ne,t[2]=ue,t[3]=S):(ue=t[2],S=t[3]),(0,h.useEffect)(ue,S);let de,fe;t[4]!==te||t[5]!==v||t[6]!==r||t[7]!==i?(de=()=>{if(!te||!r||!i||!re.current)return;let e=re.current,t=new ec({cursorBlink:!0,fontFamily:`Liberation Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, monospace`,fontSize:14,lineHeight:1.4,theme:lc,scrollback:5e3}),n=new ee,a=new oe(cc),o=!1,s=null,c=null,l=function(){if(!(o||!e.isConnected||e.clientWidth===0||e.clientHeight===0)){try{n.fit()}catch{return}c?.readyState===WebSocket.OPEN&&c.send(oc({type:`resize`,cols:t.cols,rows:t.rows}))}},u=function(){o||s!==null||(s=requestAnimationFrame(()=>{s=null,l()}))};t.loadAddon(n),t.loadAddon(a),t.open(e),u(),ie.current=t,ae.current=n,b.current=!1,le(!1),y.current=0,ce.current=!1;let{cols:d,rows:f}=t,p=new WebSocket(ic(r,i,d,f));c=p,se.current=p,p.onmessage=e=>{(async()=>{if(!o){if(typeof e.data==`string`){let n=ac(e.data);if(n?.type===`ready`){b.current=!0,le(!0),t.focus();return}if(n?.type===`error`){v(),t.writeln(`\x1b[31m${n.message??`Terminal connection failed`}\x1b[0m`);return}v(),t.write(e.data)}else if(e.data instanceof Blob||e.data instanceof ArrayBuffer){let n=await sc(e.data);if(o)return;v(),t.write(n)}}})()},p.onopen=()=>{o||t.focus()},p.onerror=()=>{o||t.writeln(`\x1B[31mTerminal connection error\x1B[0m`)},p.onclose=()=>{b.current=!1,le(!1)},t.onData(e=>{p.readyState===WebSocket.OPEN&&p.send(oc({type:`input`,data:e}))});let m=new ResizeObserver(()=>{u()});return m.observe(e),()=>{o=!0,m.disconnect(),s!==null&&(cancelAnimationFrame(s),s=null),c?.close(),c=null,se.current=null,t.dispose(),ie.current=null,ae.current=null,b.current=!1,le(!1)}},fe=[te,r,i,v],t[4]=te,t[5]=v,t[6]=r,t[7]=i,t[8]=de,t[9]=fe):(de=t[8],fe=t[9]),(0,h.useEffect)(de,fe);let pe,me;t[10]===te?(pe=t[11],me=t[12]):(pe=()=>{if(te){let e=ie.current;if(!e)return;e.focus()}},me=[te],t[10]=te,t[11]=pe,t[12]=me),(0,h.useEffect)(pe,me);let he,C;t[13]===_?(he=t[14],C=t[15]):(he=()=>{if(_.length===0){y.current=0;return}if(_.length<=y.current){y.current=_.length;return}let e=ie.current;if(!e){y.current=_.length;return}let t=_.slice(y.current);for(let n of t){let t=uc(n.content,ce.current);e.write(dc({...n,content:t})),n.content.length>0&&(ce.current=n.content.endsWith(`\r`))}y.current=_.length},C=[_],t[13]=_,t[14]=he,t[15]=C),(0,h.useEffect)(he,C);let ge,w;if(t[16]!==l||t[17]!==v||t[18]!==u||t[19]!==d||t[20]!==x?(w=()=>{if(!u||!x)return;let e=se.current;!e||e.readyState!==WebSocket.OPEN||(e.send(oc({type:`run`,command:u,cwd:d??void 0})),v(),l({type:a.ClearQueuedTerminalCommand}))},ge=[u,d,x,v,l],t[16]=l,t[17]=v,t[18]=u,t[19]=d,t[20]=x,t[21]=ge,t[22]=w):(ge=t[21],w=t[22]),(0,h.useEffect)(w,ge),!te){let e;return t[23]===n?e=t[24]:(e=(0,tc.jsx)(nc,{instanceId:n,panelLabel:`terminal`}),t[23]=n,t[24]=e),e}let T;return t[25]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,tc.jsx)(`div`,{className:`flex h-full flex-col overflow-hidden bg-neutral-950`,children:(0,tc.jsx)(`div`,{ref:re,className:`h-full w-full p-1 terminal-scrollbar`})}),t[25]=T):T=t[25],T}function pc(e){return e.selectedThreadId}function mc(e){return e.selectedProjectId}export{fc as TerminalPanel};
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{Wt as i}from"./dist-FJzwWcMv.js";import{t as a}from"./utils-uGptTPGm.js";import{r as o}from"./button-zYjzm__g.js";import{g as s,h as c,t as l,u}from"./dist-BhdiICUV.js";import{t as d}from"./dist-OixawqbU.js";import{n as f,r as p,t as m}from"./dist-B6u0s1jB.js";var h=t(),g=e(n(),1),_=r(),v=`Toggle`,y=g.forwardRef((e,t)=>{let{pressed:n,defaultPressed:r,onPressedChange:i,...a}=e,[o,c]=l({prop:n,onChange:i,defaultProp:r??!1,caller:v});return(0,_.jsx)(u.button,{type:`button`,"aria-pressed":o,"data-state":o?`on`:`off`,"data-disabled":e.disabled?``:void 0,...a,ref:t,onClick:s(e.onClick,()=>{e.disabled||c(!o)})})});y.displayName=v;var b=y,x=`ToggleGroup`,[S,C]=c(x,[p]),w=p(),T=g.forwardRef((e,t)=>{let{type:n,...r}=e;if(n===`single`)return(0,_.jsx)(O,{...r,ref:t});if(n===`multiple`)return(0,_.jsx)(k,{...r,ref:t});throw Error(`Missing prop \`type\` expected on \`${x}\``)});T.displayName=x;var[E,D]=S(x),O=g.forwardRef((e,t)=>{let{value:n,defaultValue:r,onValueChange:i=()=>{},...a}=e,[o,s]=l({prop:n,defaultProp:r??``,onChange:i,caller:x});return(0,_.jsx)(E,{scope:e.__scopeToggleGroup,type:`single`,value:g.useMemo(()=>o?[o]:[],[o]),onItemActivate:s,onItemDeactivate:g.useCallback(()=>s(``),[s]),children:(0,_.jsx)(M,{...a,ref:t})})}),k=g.forwardRef((e,t)=>{let{value:n,defaultValue:r,onValueChange:i=()=>{},...a}=e,[o,s]=l({prop:n,defaultProp:r??[],onChange:i,caller:x}),c=g.useCallback(e=>s((t=[])=>[...t,e]),[s]),u=g.useCallback(e=>s((t=[])=>t.filter(t=>t!==e)),[s]);return(0,_.jsx)(E,{scope:e.__scopeToggleGroup,type:`multiple`,value:o,onItemActivate:c,onItemDeactivate:u,children:(0,_.jsx)(M,{...a,ref:t})})});T.displayName=x;var[A,j]=S(x),M=g.forwardRef((e,t)=>{let{__scopeToggleGroup:n,disabled:r=!1,rovingFocus:i=!0,orientation:a,dir:o,loop:s=!0,...c}=e,l=w(n),p=d(o),m={role:`group`,dir:p,...c};return(0,_.jsx)(A,{scope:n,rovingFocus:i,disabled:r,children:i?(0,_.jsx)(f,{asChild:!0,...l,orientation:a,dir:p,loop:s,children:(0,_.jsx)(u.div,{...m,ref:t})}):(0,_.jsx)(u.div,{...m,ref:t})})}),N=`ToggleGroupItem`,P=g.forwardRef((e,t)=>{let n=D(N,e.__scopeToggleGroup),r=j(N,e.__scopeToggleGroup),i=w(e.__scopeToggleGroup),a=n.value.includes(e.value),o=r.disabled||e.disabled,s={...e,pressed:a,disabled:o},c=g.useRef(null);return r.rovingFocus?(0,_.jsx)(m,{asChild:!0,...i,focusable:!o,active:a,ref:c,children:(0,_.jsx)(F,{...s,ref:t})}):(0,_.jsx)(F,{...s,ref:t})});P.displayName=N;var F=g.forwardRef((e,t)=>{let{__scopeToggleGroup:n,value:r,...i}=e,a=D(N,n),o={role:`radio`,"aria-checked":e.pressed,"aria-pressed":void 0};return(0,_.jsx)(y,{...a.type===`single`?o:void 0,...i,ref:t,onPressedChange:e=>{e?a.onItemActivate(r):a.onItemDeactivate(r)}})}),I=T,L=P,R=o(`inline-flex items-center justify-center rounded-md ${i.body} font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 gap-2`,{variants:{variant:{default:`bg-transparent`,outline:`border border-input bg-transparent hover:bg-accent hover:text-accent-foreground`},size:{default:`h-10 px-3 min-w-10`,sm:`h-9 px-2.5 min-w-9`,lg:`h-11 px-5 min-w-11`}},defaultVariants:{variant:`default`,size:`default`}}),z=g.forwardRef((e,t)=>{let n=(0,h.c)(13),r,i,o,s;n[0]===e?(r=n[1],i=n[2],o=n[3],s=n[4]):({className:r,variant:s,size:o,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=o,n[4]=s);let c;n[5]!==r||n[6]!==o||n[7]!==s?(c=a(R({variant:s,size:o,className:r})),n[5]=r,n[6]=o,n[7]=s,n[8]=c):c=n[8];let l;return n[9]!==i||n[10]!==t||n[11]!==c?(l=(0,_.jsx)(b,{ref:t,className:c,...i}),n[9]=i,n[10]=t,n[11]=c,n[12]=l):l=n[12],l});z.displayName=b.displayName;var B=g.createContext({size:`default`,variant:`default`}),V=g.forwardRef((e,t)=>{let n=(0,h.c)(19),r,i,o,s,c;n[0]===e?(r=n[1],i=n[2],o=n[3],s=n[4],c=n[5]):({className:i,variant:c,size:s,children:r,...o}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=o,n[4]=s,n[5]=c);let l;n[6]===i?l=n[7]:(l=a(`flex items-center justify-center gap-1`,i),n[6]=i,n[7]=l);let u;n[8]!==s||n[9]!==c?(u={variant:c,size:s},n[8]=s,n[9]=c,n[10]=u):u=n[10];let d;n[11]!==r||n[12]!==u?(d=(0,_.jsx)(B.Provider,{value:u,children:r}),n[11]=r,n[12]=u,n[13]=d):d=n[13];let f;return n[14]!==o||n[15]!==t||n[16]!==l||n[17]!==d?(f=(0,_.jsx)(I,{ref:t,className:l,...o,children:d}),n[14]=o,n[15]=t,n[16]=l,n[17]=d,n[18]=f):f=n[18],f});V.displayName=I.displayName;var H=g.forwardRef((e,t)=>{let n=(0,h.c)(17),r,i,o,s,c;n[0]===e?(r=n[1],i=n[2],o=n[3],s=n[4],c=n[5]):({className:i,children:r,variant:c,size:s,...o}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=o,n[4]=s,n[5]=c);let l=g.useContext(B),u;n[6]!==i||n[7]!==l.size||n[8]!==l.variant||n[9]!==s||n[10]!==c?(u=a(R({variant:l.variant||c,size:l.size||s}),i),n[6]=i,n[7]=l.size,n[8]=l.variant,n[9]=s,n[10]=c,n[11]=u):u=n[11];let d;return n[12]!==r||n[13]!==o||n[14]!==t||n[15]!==u?(d=(0,_.jsx)(L,{ref:t,className:u,...o,children:r}),n[12]=r,n[13]=o,n[14]=t,n[15]=u,n[16]=d):d=n[16],d});H.displayName=L.displayName;export{H as n,V as t};
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{ln as i}from"./dist-PhNKneni.js";import{t as a}from"./utils-BHAZna1O.js";import{r as o}from"./button-BvwSd5oT.js";import{g as s,h as c,t as l,u}from"./dist-T3Rfl3KQ.js";import{t as d}from"./dist-OixawqbU.js";import{n as f,r as p,t as m}from"./dist-DxHDUXDv.js";var h=t(),g=e(n(),1),_=r(),v=`Toggle`,y=g.forwardRef((e,t)=>{let{pressed:n,defaultPressed:r,onPressedChange:i,...a}=e,[o,c]=l({prop:n,onChange:i,defaultProp:r??!1,caller:v});return(0,_.jsx)(u.button,{type:`button`,"aria-pressed":o,"data-state":o?`on`:`off`,"data-disabled":e.disabled?``:void 0,...a,ref:t,onClick:s(e.onClick,()=>{e.disabled||c(!o)})})});y.displayName=v;var b=y,x=`ToggleGroup`,[S,C]=c(x,[p]),w=p(),T=g.forwardRef((e,t)=>{let{type:n,...r}=e;if(n===`single`)return(0,_.jsx)(O,{...r,ref:t});if(n===`multiple`)return(0,_.jsx)(k,{...r,ref:t});throw Error(`Missing prop \`type\` expected on \`${x}\``)});T.displayName=x;var[E,D]=S(x),O=g.forwardRef((e,t)=>{let{value:n,defaultValue:r,onValueChange:i=()=>{},...a}=e,[o,s]=l({prop:n,defaultProp:r??``,onChange:i,caller:x});return(0,_.jsx)(E,{scope:e.__scopeToggleGroup,type:`single`,value:g.useMemo(()=>o?[o]:[],[o]),onItemActivate:s,onItemDeactivate:g.useCallback(()=>s(``),[s]),children:(0,_.jsx)(M,{...a,ref:t})})}),k=g.forwardRef((e,t)=>{let{value:n,defaultValue:r,onValueChange:i=()=>{},...a}=e,[o,s]=l({prop:n,defaultProp:r??[],onChange:i,caller:x}),c=g.useCallback(e=>s((t=[])=>[...t,e]),[s]),u=g.useCallback(e=>s((t=[])=>t.filter(t=>t!==e)),[s]);return(0,_.jsx)(E,{scope:e.__scopeToggleGroup,type:`multiple`,value:o,onItemActivate:c,onItemDeactivate:u,children:(0,_.jsx)(M,{...a,ref:t})})});T.displayName=x;var[A,j]=S(x),M=g.forwardRef((e,t)=>{let{__scopeToggleGroup:n,disabled:r=!1,rovingFocus:i=!0,orientation:a,dir:o,loop:s=!0,...c}=e,l=w(n),p=d(o),m={role:`group`,dir:p,...c};return(0,_.jsx)(A,{scope:n,rovingFocus:i,disabled:r,children:i?(0,_.jsx)(f,{asChild:!0,...l,orientation:a,dir:p,loop:s,children:(0,_.jsx)(u.div,{...m,ref:t})}):(0,_.jsx)(u.div,{...m,ref:t})})}),N=`ToggleGroupItem`,P=g.forwardRef((e,t)=>{let n=D(N,e.__scopeToggleGroup),r=j(N,e.__scopeToggleGroup),i=w(e.__scopeToggleGroup),a=n.value.includes(e.value),o=r.disabled||e.disabled,s={...e,pressed:a,disabled:o},c=g.useRef(null);return r.rovingFocus?(0,_.jsx)(m,{asChild:!0,...i,focusable:!o,active:a,ref:c,children:(0,_.jsx)(F,{...s,ref:t})}):(0,_.jsx)(F,{...s,ref:t})});P.displayName=N;var F=g.forwardRef((e,t)=>{let{__scopeToggleGroup:n,value:r,...i}=e,a=D(N,n),o={role:`radio`,"aria-checked":e.pressed,"aria-pressed":void 0};return(0,_.jsx)(y,{...a.type===`single`?o:void 0,...i,ref:t,onPressedChange:e=>{e?a.onItemActivate(r):a.onItemDeactivate(r)}})}),I=T,L=P,R=o(`inline-flex items-center justify-center rounded-md ${i.body} font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 gap-2`,{variants:{variant:{default:`bg-transparent`,outline:`border border-input bg-transparent hover:bg-accent hover:text-accent-foreground`},size:{default:`h-10 px-3 min-w-10`,sm:`h-9 px-2.5 min-w-9`,lg:`h-11 px-5 min-w-11`}},defaultVariants:{variant:`default`,size:`default`}}),z=g.forwardRef((e,t)=>{let n=(0,h.c)(13),r,i,o,s;n[0]===e?(r=n[1],i=n[2],o=n[3],s=n[4]):({className:r,variant:s,size:o,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=o,n[4]=s);let c;n[5]!==r||n[6]!==o||n[7]!==s?(c=a(R({variant:s,size:o,className:r})),n[5]=r,n[6]=o,n[7]=s,n[8]=c):c=n[8];let l;return n[9]!==i||n[10]!==t||n[11]!==c?(l=(0,_.jsx)(b,{ref:t,className:c,...i}),n[9]=i,n[10]=t,n[11]=c,n[12]=l):l=n[12],l});z.displayName=b.displayName;var B=g.createContext({size:`default`,variant:`default`}),V=g.forwardRef((e,t)=>{let n=(0,h.c)(19),r,i,o,s,c;n[0]===e?(r=n[1],i=n[2],o=n[3],s=n[4],c=n[5]):({className:i,variant:c,size:s,children:r,...o}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=o,n[4]=s,n[5]=c);let l;n[6]===i?l=n[7]:(l=a(`flex items-center justify-center gap-1`,i),n[6]=i,n[7]=l);let u;n[8]!==s||n[9]!==c?(u={variant:c,size:s},n[8]=s,n[9]=c,n[10]=u):u=n[10];let d;n[11]!==r||n[12]!==u?(d=(0,_.jsx)(B.Provider,{value:u,children:r}),n[11]=r,n[12]=u,n[13]=d):d=n[13];let f;return n[14]!==o||n[15]!==t||n[16]!==l||n[17]!==d?(f=(0,_.jsx)(I,{ref:t,className:l,...o,children:d}),n[14]=o,n[15]=t,n[16]=l,n[17]=d,n[18]=f):f=n[18],f});V.displayName=I.displayName;var H=g.forwardRef((e,t)=>{let n=(0,h.c)(17),r,i,o,s,c;n[0]===e?(r=n[1],i=n[2],o=n[3],s=n[4],c=n[5]):({className:i,children:r,variant:c,size:s,...o}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=o,n[4]=s,n[5]=c);let l=g.useContext(B),u;n[6]!==i||n[7]!==l.size||n[8]!==l.variant||n[9]!==s||n[10]!==c?(u=a(R({variant:l.variant||c,size:l.size||s}),i),n[6]=i,n[7]=l.size,n[8]=l.variant,n[9]=s,n[10]=c,n[11]=u):u=n[11];let d;return n[12]!==r||n[13]!==o||n[14]!==t||n[15]!==u?(d=(0,_.jsx)(L,{ref:t,className:u,...o,children:r}),n[12]=r,n[13]=o,n[14]=t,n[15]=u,n[16]=d):d=n[16],d});H.displayName=L.displayName;export{H as n,V as t};
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{s as i,t as a}from"./utils-uGptTPGm.js";import{g as o,h as s,i as c,n as l,p as u,r as d,s as f,t as p,u as m}from"./dist-BhdiICUV.js";import{a as h,i as g,n as _,r as v,t as y}from"./dist-lnsB93_y.js";var b=t(),x=e(n(),1),S=r(),C=Object.freeze({position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`}),w=`VisuallyHidden`,T=x.forwardRef((e,t)=>(0,S.jsx)(m.span,{...e,ref:t,style:{...C,...e.style}}));T.displayName=w;var E=T,[D,ee]=s(`Tooltip`,[h]),O=h(),k=`TooltipProvider`,A=700,j=`tooltip.open`,[M,N]=D(k),P=e=>{let{__scopeTooltip:t,delayDuration:n=A,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=x.useRef(!0),s=x.useRef(!1),c=x.useRef(0);return x.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,S.jsx)(M,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:x.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:x.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r)},[r]),isPointerInTransitRef:s,onPointerInTransitChange:x.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};P.displayName=k;var F=`Tooltip`,[te,I]=D(F),L=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,l=N(F,e.__scopeTooltip),u=O(t),[d,f]=x.useState(null),m=c(),h=x.useRef(0),_=o??l.disableHoverableContent,v=s??l.delayDuration,y=x.useRef(!1),[b,C]=p({prop:r,defaultProp:i??!1,onChange:e=>{e?(l.onOpen(),document.dispatchEvent(new CustomEvent(j))):l.onClose(),a?.(e)},caller:F}),w=x.useMemo(()=>b?y.current?`delayed-open`:`instant-open`:`closed`,[b]),T=x.useCallback(()=>{window.clearTimeout(h.current),h.current=0,y.current=!1,C(!0)},[C]),E=x.useCallback(()=>{window.clearTimeout(h.current),h.current=0,C(!1)},[C]),D=x.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>{y.current=!0,C(!0),h.current=0},v)},[v,C]);return x.useEffect(()=>()=>{h.current&&=(window.clearTimeout(h.current),0)},[]),(0,S.jsx)(g,{...u,children:(0,S.jsx)(te,{scope:t,contentId:m,open:b,stateAttribute:w,trigger:d,onTriggerChange:f,onTriggerEnter:x.useCallback(()=>{l.isOpenDelayedRef.current?D():T()},[l.isOpenDelayedRef,D,T]),onTriggerLeave:x.useCallback(()=>{_?E():(window.clearTimeout(h.current),h.current=0)},[E,_]),onOpen:T,onClose:E,disableHoverableContent:_,children:n})})};L.displayName=F;var R=`TooltipTrigger`,z=x.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,a=I(R,n),s=N(R,n),c=O(n),l=i(t,x.useRef(null),a.onTriggerChange),u=x.useRef(!1),d=x.useRef(!1),f=x.useCallback(()=>u.current=!1,[]);return x.useEffect(()=>()=>document.removeEventListener(`pointerup`,f),[f]),(0,S.jsx)(y,{asChild:!0,...c,children:(0,S.jsx)(m.button,{"aria-describedby":a.open?a.contentId:void 0,"data-state":a.stateAttribute,...r,ref:l,onPointerMove:o(e.onPointerMove,e=>{e.pointerType!==`touch`&&!d.current&&!s.isPointerInTransitRef.current&&(a.onTriggerEnter(),d.current=!0)}),onPointerLeave:o(e.onPointerLeave,()=>{a.onTriggerLeave(),d.current=!1}),onPointerDown:o(e.onPointerDown,()=>{a.open&&a.onClose(),u.current=!0,document.addEventListener(`pointerup`,f,{once:!0})}),onFocus:o(e.onFocus,()=>{u.current||a.onOpen()}),onBlur:o(e.onBlur,a.onClose),onClick:o(e.onClick,a.onClose)})})});z.displayName=R;var B=`TooltipPortal`,[V,ne]=D(B,{forceMount:void 0}),H=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=I(B,t);return(0,S.jsx)(V,{scope:t,forceMount:n,children:(0,S.jsx)(l,{present:n||a.open,children:(0,S.jsx)(d,{asChild:!0,container:i,children:r})})})};H.displayName=B;var U=`TooltipContent`,W=x.forwardRef((e,t)=>{let n=ne(U,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=I(U,e.__scopeTooltip);return(0,S.jsx)(l,{present:r||o.open,children:o.disableHoverableContent?(0,S.jsx)(Y,{side:i,...a,ref:t}):(0,S.jsx)(G,{side:i,...a,ref:t})})}),G=x.forwardRef((e,t)=>{let n=I(U,e.__scopeTooltip),r=N(U,e.__scopeTooltip),a=x.useRef(null),o=i(t,a),[s,c]=x.useState(null),{trigger:l,onClose:u}=n,d=a.current,{onPointerInTransitChange:f}=r,p=x.useCallback(()=>{c(null),f(!1)},[f]),m=x.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=ie(r,re(r,n.getBoundingClientRect())),a=ae(t.getBoundingClientRect());c(se([...i,...a])),f(!0)},[f]);return x.useEffect(()=>()=>p(),[p]),x.useEffect(()=>{if(l&&d){let e=e=>m(e,d),t=e=>m(e,l);return l.addEventListener(`pointerleave`,e),d.addEventListener(`pointerleave`,t),()=>{l.removeEventListener(`pointerleave`,e),d.removeEventListener(`pointerleave`,t)}}},[l,d,m,p]),x.useEffect(()=>{if(s){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=l?.contains(t)||d?.contains(t),i=!oe(n,s);r?p():i&&(p(),u())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[l,d,s,u,p]),(0,S.jsx)(Y,{...e,ref:o})}),[K,q]=D(F,{isInside:!1}),J=u(`TooltipContent`),Y=x.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...s}=e,c=I(U,n),l=O(n),{onClose:u}=c;return x.useEffect(()=>(document.addEventListener(j,u),()=>document.removeEventListener(j,u)),[u]),x.useEffect(()=>{if(c.trigger){let e=e=>{e.target?.contains(c.trigger)&&u()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[c.trigger,u]),(0,S.jsx)(f,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:u,children:(0,S.jsxs)(v,{"data-state":c.stateAttribute,...l,...s,ref:t,style:{...s.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,S.jsx)(J,{children:r}),(0,S.jsx)(K,{scope:n,isInside:!0,children:(0,S.jsx)(E,{id:c.contentId,role:`tooltip`,children:i||r})})]})})});W.displayName=U;var X=`TooltipArrow`,Z=x.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=O(n);return q(X,n).isInside?null:(0,S.jsx)(_,{...i,...r,ref:t})});Z.displayName=X;function re(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function ie(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function ae(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function oe(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function se(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),ce(t)}function ce(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var le=P,ue=L,de=z,fe=H,Q=W,pe=le,me=ue,he=de,$=x.forwardRef((e,t)=>{let n=(0,b.c)(11),r,i,o;n[0]===e?(r=n[1],i=n[2],o=n[3]):({className:r,sideOffset:o,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=o);let s=o===void 0?4:o,c;n[4]===r?c=n[5]:(c=a(`z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-base text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,r),n[4]=r,n[5]=c);let l;return n[6]!==i||n[7]!==t||n[8]!==s||n[9]!==c?(l=(0,S.jsx)(fe,{children:(0,S.jsx)(Q,{ref:t,sideOffset:s,className:c,...i})}),n[6]=i,n[7]=t,n[8]=s,n[9]=c,n[10]=l):l=n[10],l});$.displayName=Q.displayName;export{C as a,he as i,$ as n,T as o,pe as r,me as t};
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{s as i,t as a}from"./utils-BHAZna1O.js";import{g as o,h as s,i as c,n as l,p as u,r as d,s as f,t as p,u as m}from"./dist-T3Rfl3KQ.js";import{a as h,i as g,n as _,r as v,t as y}from"./dist-COaJwOux.js";var b=t(),x=e(n(),1),S=r(),C=Object.freeze({position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`}),w=`VisuallyHidden`,T=x.forwardRef((e,t)=>(0,S.jsx)(m.span,{...e,ref:t,style:{...C,...e.style}}));T.displayName=w;var E=T,[D,ee]=s(`Tooltip`,[h]),O=h(),k=`TooltipProvider`,A=700,j=`tooltip.open`,[M,N]=D(k),P=e=>{let{__scopeTooltip:t,delayDuration:n=A,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=x.useRef(!0),s=x.useRef(!1),c=x.useRef(0);return x.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,S.jsx)(M,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:x.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:x.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r)},[r]),isPointerInTransitRef:s,onPointerInTransitChange:x.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};P.displayName=k;var F=`Tooltip`,[te,I]=D(F),L=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,l=N(F,e.__scopeTooltip),u=O(t),[d,f]=x.useState(null),m=c(),h=x.useRef(0),_=o??l.disableHoverableContent,v=s??l.delayDuration,y=x.useRef(!1),[b,C]=p({prop:r,defaultProp:i??!1,onChange:e=>{e?(l.onOpen(),document.dispatchEvent(new CustomEvent(j))):l.onClose(),a?.(e)},caller:F}),w=x.useMemo(()=>b?y.current?`delayed-open`:`instant-open`:`closed`,[b]),T=x.useCallback(()=>{window.clearTimeout(h.current),h.current=0,y.current=!1,C(!0)},[C]),E=x.useCallback(()=>{window.clearTimeout(h.current),h.current=0,C(!1)},[C]),D=x.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>{y.current=!0,C(!0),h.current=0},v)},[v,C]);return x.useEffect(()=>()=>{h.current&&=(window.clearTimeout(h.current),0)},[]),(0,S.jsx)(g,{...u,children:(0,S.jsx)(te,{scope:t,contentId:m,open:b,stateAttribute:w,trigger:d,onTriggerChange:f,onTriggerEnter:x.useCallback(()=>{l.isOpenDelayedRef.current?D():T()},[l.isOpenDelayedRef,D,T]),onTriggerLeave:x.useCallback(()=>{_?E():(window.clearTimeout(h.current),h.current=0)},[E,_]),onOpen:T,onClose:E,disableHoverableContent:_,children:n})})};L.displayName=F;var R=`TooltipTrigger`,z=x.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,a=I(R,n),s=N(R,n),c=O(n),l=i(t,x.useRef(null),a.onTriggerChange),u=x.useRef(!1),d=x.useRef(!1),f=x.useCallback(()=>u.current=!1,[]);return x.useEffect(()=>()=>document.removeEventListener(`pointerup`,f),[f]),(0,S.jsx)(y,{asChild:!0,...c,children:(0,S.jsx)(m.button,{"aria-describedby":a.open?a.contentId:void 0,"data-state":a.stateAttribute,...r,ref:l,onPointerMove:o(e.onPointerMove,e=>{e.pointerType!==`touch`&&!d.current&&!s.isPointerInTransitRef.current&&(a.onTriggerEnter(),d.current=!0)}),onPointerLeave:o(e.onPointerLeave,()=>{a.onTriggerLeave(),d.current=!1}),onPointerDown:o(e.onPointerDown,()=>{a.open&&a.onClose(),u.current=!0,document.addEventListener(`pointerup`,f,{once:!0})}),onFocus:o(e.onFocus,()=>{u.current||a.onOpen()}),onBlur:o(e.onBlur,a.onClose),onClick:o(e.onClick,a.onClose)})})});z.displayName=R;var B=`TooltipPortal`,[V,ne]=D(B,{forceMount:void 0}),H=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=I(B,t);return(0,S.jsx)(V,{scope:t,forceMount:n,children:(0,S.jsx)(l,{present:n||a.open,children:(0,S.jsx)(d,{asChild:!0,container:i,children:r})})})};H.displayName=B;var U=`TooltipContent`,W=x.forwardRef((e,t)=>{let n=ne(U,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=I(U,e.__scopeTooltip);return(0,S.jsx)(l,{present:r||o.open,children:o.disableHoverableContent?(0,S.jsx)(Y,{side:i,...a,ref:t}):(0,S.jsx)(G,{side:i,...a,ref:t})})}),G=x.forwardRef((e,t)=>{let n=I(U,e.__scopeTooltip),r=N(U,e.__scopeTooltip),a=x.useRef(null),o=i(t,a),[s,c]=x.useState(null),{trigger:l,onClose:u}=n,d=a.current,{onPointerInTransitChange:f}=r,p=x.useCallback(()=>{c(null),f(!1)},[f]),m=x.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=ie(r,re(r,n.getBoundingClientRect())),a=ae(t.getBoundingClientRect());c(se([...i,...a])),f(!0)},[f]);return x.useEffect(()=>()=>p(),[p]),x.useEffect(()=>{if(l&&d){let e=e=>m(e,d),t=e=>m(e,l);return l.addEventListener(`pointerleave`,e),d.addEventListener(`pointerleave`,t),()=>{l.removeEventListener(`pointerleave`,e),d.removeEventListener(`pointerleave`,t)}}},[l,d,m,p]),x.useEffect(()=>{if(s){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=l?.contains(t)||d?.contains(t),i=!oe(n,s);r?p():i&&(p(),u())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[l,d,s,u,p]),(0,S.jsx)(Y,{...e,ref:o})}),[K,q]=D(F,{isInside:!1}),J=u(`TooltipContent`),Y=x.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...s}=e,c=I(U,n),l=O(n),{onClose:u}=c;return x.useEffect(()=>(document.addEventListener(j,u),()=>document.removeEventListener(j,u)),[u]),x.useEffect(()=>{if(c.trigger){let e=e=>{e.target?.contains(c.trigger)&&u()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[c.trigger,u]),(0,S.jsx)(f,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:u,children:(0,S.jsxs)(v,{"data-state":c.stateAttribute,...l,...s,ref:t,style:{...s.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,S.jsx)(J,{children:r}),(0,S.jsx)(K,{scope:n,isInside:!0,children:(0,S.jsx)(E,{id:c.contentId,role:`tooltip`,children:i||r})})]})})});W.displayName=U;var X=`TooltipArrow`,Z=x.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=O(n);return q(X,n).isInside?null:(0,S.jsx)(_,{...i,...r,ref:t})});Z.displayName=X;function re(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function ie(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function ae(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function oe(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function se(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),ce(t)}function ce(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var le=P,ue=L,de=z,fe=H,Q=W,pe=le,me=ue,he=de,$=x.forwardRef((e,t)=>{let n=(0,b.c)(11),r,i,o;n[0]===e?(r=n[1],i=n[2],o=n[3]):({className:r,sideOffset:o,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=o);let s=o===void 0?4:o,c;n[4]===r?c=n[5]:(c=a(`z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-base text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,r),n[4]=r,n[5]=c);let l;return n[6]!==i||n[7]!==t||n[8]!==s||n[9]!==c?(l=(0,S.jsx)(fe,{children:(0,S.jsx)(Q,{ref:t,sideOffset:s,className:c,...i})}),n[6]=i,n[7]=t,n[8]=s,n[9]=c,n[10]=l):l=n[10],l});$.displayName=Q.displayName;export{C as a,he as i,$ as n,T as o,pe as r,me as t};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n}from"./react-vendor-Ee0-5T4I.js";import{C as r,b as i,d as a,g as o,l as s,o as c,s as l,y as u}from"./useBaseQuery-C4OJ4Bcm.js";import{r as d,t as f}from"./query-keys-BX4RxqwI.js";import{t as p}from"./useQuery-CxnaBfkX.js";import{S as m,ot as h}from"./dist-PhNKneni.js";import{ai as g,nt as _,sr as v,ti as y}from"./api-DS1qgAo_.js";var b=class extends c{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||x(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=l({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});let r=this.state.status===`pending`,i=!this.#r.canStart();try{if(r)t();else{this.#i({type:`pending`,variables:e,isPaused:i}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:i})}let a=await this.#r.start();return await this.#n.config.onSuccess?.(a,e,this.state.context,this,n),await this.options.onSuccess?.(a,e,this.state.context,n),await this.#n.config.onSettled?.(a,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(a,null,e,this.state.context,n),this.#i({type:`success`,data:a}),a}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#n.runNext(this)}}#i(e){let t=t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:`error`}}};this.state=t(this.state),s.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function x(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var S=class extends r{#e;#t=void 0;#n;#r;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#i()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),u(this.options,t)||this.#e.getMutationCache().notify({type:`observerOptionsUpdated`,mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&a(t.mutationKey)!==a(this.options.mutationKey)?this.reset():this.#n?.state.status===`pending`&&this.#n.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(e){this.#i(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#i(),this.#a()}mutate(e,t){return this.#r=t,this.#n?.removeObserver(this),this.#n=this.#e.getMutationCache().build(this.#e,this.options),this.#n.addObserver(this),this.#n.execute(e)}#i(){let e=this.#n?.state??x();this.#t={...e,isPending:e.status===`pending`,isSuccess:e.status===`success`,isError:e.status===`error`,isIdle:e.status===`idle`,mutate:this.mutate,reset:this.reset}}#a(e){s.batch(()=>{if(this.#r&&this.hasListeners()){let t=this.#t.variables,n=this.#t.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type===`success`){try{this.#r.onSuccess?.(e.data,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(e.data,null,t,n,r)}catch(e){Promise.reject(e)}}else if(e?.type===`error`){try{this.#r.onError?.(e.error,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(void 0,e.error,t,n,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#t)})})}},C=e(n(),1);function w(e,t){let n=d(t),[r]=C.useState(()=>new S(n,e));C.useEffect(()=>{r.setOptions(e)},[r,e]);let a=C.useSyncExternalStore(C.useCallback(e=>r.subscribe(s.batchCalls(e)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),c=C.useCallback((e,t)=>{r.mutate(e,t).catch(o)},[r]);if(a.error&&i(r.options.throwOnError,[a.error]))throw a.error;return{...a,mutate:c,mutateAsync:a.mutate}}var T=t(),E=h(`auth`);async function D(e){await g(`api/auth/request-code`,{email:e})}async function O(e,t){return g(`api/auth/verify`,{email:e,code:t})}async function k(e){try{await g(`api/auth/revoke`,{token:e})}catch(e){E.error(`Failed to revoke auth token:`,e)}}async function A(){try{return(await y(`api/auth/session`)).session??null}catch(e){return e instanceof Error&&e.message===`Sign in with the account that owns this Tarsk.`||E.error(`Failed to load auth session:`,e),null}}async function j(e){await g(`api/auth/session`,e)}async function M(){await g(`api/auth/logout`,{})}var N={session:null,isLoading:!0},P=new Set;function F(){for(let e of P)e()}function I(){return N}function L(e){return P.add(e),function(){P.delete(e)}}function R(){return typeof window<`u`&&m(window.location.hostname)}var z=null;function B(){return z||=A().then(e=>{N={session:e,isLoading:!1}}).catch(()=>{N={session:null,isLoading:!1}}).finally(()=>{F()}),z}function V(){let e=(0,T.c)(10),{session:t,isLoading:n}=(0,C.useSyncExternalStore)(L,I),r=d(),i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=[],e[0]=i):i=e[0],(0,C.useEffect)(H,i);let a;e[1]===r?a=e[2]:(a=async function(e){R()||await j(e),r.clear(),N={session:e,isLoading:!1},F()},e[1]=r,e[2]=a);let o=a,s;e[3]===r?s=e[4]:(s=async()=>{let e=N.session?.token;e&&await k(e),await M(),r.clear(),N={session:null,isLoading:!1},F()},e[3]=r,e[4]=s);let c=s,l;return e[5]!==n||e[6]!==o||e[7]!==c||e[8]!==t?(l={session:t,isLoading:n,login:o,logout:c},e[5]=n,e[6]=o,e[7]=c,e[8]=t,e[9]=l):l=e[9],l}function H(){B()}function U(){return f.account.settings()}function W(e){return e.invalidateQueries({queryKey:U()})}function G(e){return e.fetchQuery({queryKey:U(),queryFn:_,staleTime:0})}function K(){let e=(0,T.c)(1),{session:t,isLoading:n}=V(),r;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=m(window.location.hostname),e[0]=r):r=e[0],!n&&(t!==null||!r)}function q(){let e=(0,T.c)(3),t=K(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=U(),e[0]=n):n=e[0];let r;return e[1]===t?r=e[2]:(r={queryKey:n,queryFn:_,enabled:t},e[1]=t,e[2]=r),p(r)}function J(){let e=(0,T.c)(2),t=d(),n;return e[0]===t?n=e[1]:(n={mutationFn:Y,onSuccess:e=>{t.setQueryData(U(),e)}},e[0]=t,e[1]=n),w(n)}function Y(e){return v(e)}export{J as a,O as c,q as i,w as l,G as n,V as o,W as r,D as s,U as t,b as u};
@@ -1 +1 @@
1
- import{n as e}from"./react-vendor-Ee0-5T4I.js";import{n as t}from"./chat-dock-context-DQmDS2i8.js";var n=e();function r(e){let{instanceId:t,panelId:n,windows:r,expandedWindowId:i,selectedWindowId:a,isLayoutExpanded:o}=e;if(o&&i!==t)return!1;let s=r.filter(e=>e.panelId===n).map(e=>e.id);return s.includes(t)?s.length===1?!0:s.includes(a)?a===t:i&&s.includes(i)?i===t:s[0]===t:!1}function i(e,i){let a=(0,n.c)(7),{windows:o,expandedWindowId:s,selectedWindowId:c,isLayoutExpanded:l}=t(),u;return a[0]!==s||a[1]!==e||a[2]!==l||a[3]!==i||a[4]!==c||a[5]!==o?(u=r({instanceId:e,panelId:i,windows:o,expandedWindowId:s,selectedWindowId:c,isLayoutExpanded:l}),a[0]=s,a[1]=e,a[2]=l,a[3]=i,a[4]=c,a[5]=o,a[6]=u):u=a[6],u}export{i as t};
1
+ import{n as e}from"./react-vendor-Ee0-5T4I.js";import{n as t}from"./chat-dock-context-DuJCw4sJ.js";var n=e();function r(e){let{instanceId:t,panelId:n,windows:r,expandedWindowId:i,selectedWindowId:a,isLayoutExpanded:o}=e;if(o&&i!==t)return!1;let s=r.filter(e=>e.panelId===n).map(e=>e.id);return s.includes(t)?s.length===1?!0:s.includes(a)?a===t:i&&s.includes(i)?i===t:s[0]===t:!1}function i(e,i){let a=(0,n.c)(7),{windows:o,expandedWindowId:s,selectedWindowId:c,isLayoutExpanded:l}=t(),u;return a[0]!==s||a[1]!==e||a[2]!==l||a[3]!==i||a[4]!==c||a[5]!==o?(u=r({instanceId:e,panelId:i,windows:o,expandedWindowId:s,selectedWindowId:c,isLayoutExpanded:l}),a[0]=s,a[1]=e,a[2]=l,a[3]=i,a[4]=c,a[5]=o,a[6]=u):u=a[6],u}export{i as t};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{Lt as i,ln as a,ot as o}from"./dist-PhNKneni.js";import{t as s}from"./utils-BHAZna1O.js";import{Qt as c,bt as l,gn as u,on as d,pt as f,xn as p}from"./lucide-react-BFzs_X2U.js";import{t as m}from"./button-BvwSd5oT.js";import{an as h,s as g}from"./api-DS1qgAo_.js";import{At as _}from"./index-SP0wF0IN.js";var v=t(),y=e(n(),1),b=r(),x=o(`app.git-setup-guide`);function S(e){let t=(0,v.c)(4),{version:n}=e,r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,b.jsx)(p,{className:`h-5 w-5 text-green-600 flex-shrink-0 mt-0.5`}),i=(0,b.jsx)(`p`,{className:s(a.label,`text-green-900`),children:`Git is installed`}),t[0]=r,t[1]=i):(r=t[0],i=t[1]);let o=n?`Detected Git ${n}. `:``,c;return t[2]===o?c=t[3]:(c=(0,b.jsxs)(_,{variant:`success`,className:`mb-0 flex items-start gap-3`,children:[r,(0,b.jsxs)(`div`,{children:[i,(0,b.jsxs)(`p`,{className:a.bodyMuted,children:[o,`You're all set to use Git features in Tarsk.`]})]})]}),t[2]=o,t[3]=c),c}function C(e){let t=(0,v.c)(27),{platform:n,plan:r,checking:o,onCheckAgain:c,className:l}=e,d;t[0]===l?d=t[1]:(d=s(`mb-0 flex items-start gap-3`,l),t[0]=l,t[1]=d);let p;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,b.jsx)(u,{className:`h-5 w-5 text-yellow-600 flex-shrink-0 mt-0.5`}),t[2]=p):p=t[2];let h,g;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,b.jsx)(`p`,{className:a.label,children:`Git is not installed`}),g=s(a.bodyMuted,`mt-1`),t[3]=h,t[4]=g):(h=t[3],g=t[4]);let y=i[n],x;t[5]===y?x=t[6]:(x=(0,b.jsxs)(`p`,{className:g,children:[`Git is required for some features in Tarsk. Run the command below for`,` `,y,`, then check again.`]}),t[5]=y,t[6]=x);let S;t[7]===r?S=t[8]:(S=(0,b.jsx)(w,{plan:r}),t[7]=r,t[8]=S);let C;t[9]===o?C=t[10]:(C=o?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f,{className:`h-4 w-4 animate-spin`}),`Checking...`]}):`Check again`,t[9]=o,t[10]=C);let T;t[11]!==o||t[12]!==c||t[13]!==C?(T=(0,b.jsx)(m,{variant:`outline`,size:`sm`,onClick:c,disabled:o,className:`gap-2`,children:C}),t[11]=o,t[12]=c,t[13]=C,t[14]=T):T=t[14];let E=r?.url??null,O;t[15]===E?O=t[16]:(O=(0,b.jsx)(D,{url:E}),t[15]=E,t[16]=O);let k;t[17]!==O||t[18]!==T?(k=(0,b.jsxs)(`div`,{className:`mt-3 flex items-center gap-3`,children:[T,O]}),t[17]=O,t[18]=T,t[19]=k):k=t[19];let A;t[20]!==k||t[21]!==x||t[22]!==S?(A=(0,b.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[h,x,S,k]}),t[20]=k,t[21]=x,t[22]=S,t[23]=A):A=t[23];let j;return t[24]!==d||t[25]!==A?(j=(0,b.jsxs)(_,{variant:`hint`,className:d,children:[p,A]}),t[24]=d,t[25]=A,t[26]=j):j=t[26],j}function w(e){let t=(0,v.c)(11),{plan:n}=e;if(!n)return null;let r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=s(a.labelMuted,`mb-2`),t[0]=r):r=t[0];let i;t[1]===n.label?i=t[2]:(i=(0,b.jsxs)(`p`,{className:r,children:[`Install with `,n.label]}),t[1]=n.label,t[2]=i);let o;t[3]===n.command?o=t[4]:(o=n.command?(0,b.jsx)(E,{command:n.command}):(0,b.jsx)(`p`,{className:a.bodyMuted,children:`No install command was detected for your system — use the download link below.`}),t[3]=n.command,t[4]=o);let c;t[5]===n.notes?c=t[6]:(c=n.notes.map(T),t[5]=n.notes,t[6]=c);let l;return t[7]!==i||t[8]!==o||t[9]!==c?(l=(0,b.jsxs)(`div`,{className:`mt-3 rounded-lg border border-border bg-background p-3`,children:[i,o,c]}),t[7]=i,t[8]=o,t[9]=c,t[10]=l):l=t[10],l}function T(e){return(0,b.jsxs)(`p`,{className:s(a.caption,`mt-2 flex items-start gap-1.5`),children:[(0,b.jsx)(l,{className:`h-3 w-3 mt-0.5 flex-shrink-0`}),e]},e)}function E(e){let t=(0,v.c)(15),{command:n}=e,[r,i]=(0,y.useState)(!1),a;t[0]===n?a=t[1]:(a=async function(){try{await navigator.clipboard.writeText(n),i(!0),window.setTimeout(()=>i(!1),2e3)}catch(e){let t=e;x.error(`Failed to copy git install command:`,t)}},t[0]=n,t[1]=a);let o=a,s;t[2]===n?s=t[3]:(s=(0,b.jsx)(`code`,{className:`flex-1 min-w-0 break-all rounded-md bg-muted px-3 py-2 font-mono`,children:n}),t[2]=n,t[3]=s);let c;t[4]===o?c=t[5]:(c=()=>void o(),t[4]=o,t[5]=c);let l=r?`Copied`:`Copy command`,u;t[6]===r?u=t[7]:(u=r?(0,b.jsx)(p,{className:`h-4 w-4 text-green-600`}):(0,b.jsx)(d,{className:`h-4 w-4`}),t[6]=r,t[7]=u);let f;t[8]!==c||t[9]!==l||t[10]!==u?(f=(0,b.jsx)(m,{variant:`ghost`,size:`icon-sm`,onClick:c,"aria-label":l,children:u}),t[8]=c,t[9]=l,t[10]=u,t[11]=f):f=t[11];let h;return t[12]!==s||t[13]!==f?(h=(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[s,f]}),t[12]=s,t[13]=f,t[14]=h):h=t[14],h}function D(e){let t=(0,v.c)(7),{url:n}=e;if(!n)return null;let r;t[0]===n?r=t[1]:(r=function(e){e.preventDefault(),h(n??``)},t[0]=n,t[1]=r);let i=r,o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=s(a.caption,`text-brand hover:underline inline-flex items-center gap-1`),t[2]=o):o=t[2];let l;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,b.jsx)(c,{className:`h-3 w-3`}),t[3]=l):l=t[3];let u;return t[4]!==i||t[5]!==n?(u=(0,b.jsxs)(`a`,{href:n,onClick:i,className:o,children:[`Download installer `,l]}),t[4]=i,t[5]=n,t[6]=u):u=t[6],u}var O=o(`app.use-git-check`),k=4e3;function A(e={}){let{enabled:t=!0,pollWhileMissing:n=!0}=e,[r,i]=(0,y.useState)(null),[a,o]=(0,y.useState)(!1),[s,c]=(0,y.useState)(!1),l=(0,y.useRef)(!1),u=(0,y.useCallback)(async(e={})=>{if(!l.current){l.current=!0,e.silent||o(!0);try{i(await g())}catch(e){O.error(`Failed to check git installation:`,e),i(e=>e??{gitInstalled:!1,version:null,platform:`unknown`,install:null})}finally{l.current=!1,e.silent||o(!1),c(!0)}}},[]),d=(0,y.useRef)(u);return(0,y.useEffect)(()=>{d.current=u},[u]),(0,y.useEffect)(()=>{t&&d.current()},[t]),(0,y.useEffect)(()=>{if(!t||!n||r?.gitInstalled!==!1)return;let e=window.setInterval(()=>{d.current({silent:!0})},k);return()=>{window.clearInterval(e)}},[t,n,r]),{gitInstalled:r?.gitInstalled??null,version:r?.version??null,platform:r?.platform??`unknown`,plan:r?.install??null,loading:a,hasChecked:s,check:u}}export{S as n,C as r,A as t};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{o as t}from"./react-vendor-Ee0-5T4I.js";import{$ as n,n as r,r as i}from"./store-DdiKV6YO.js";import{Dt as a,L as o,M as s,qt as c}from"./api-DS1qgAo_.js";import{n as l}from"./explorer-tab-context-BxUVwWQQ.js";import{t as u}from"./use-toast-xpb5jNtN.js";import{Zn as d,lr as f}from"./index-SP0wF0IN.js";var p=e(t(),1),m=new Map;function h(e){let t=m.get(e);return t===void 0?null:t}function g(e,t){m.set(e,t)}function _(e){return m.has(e)}function v(e,t){return`installed-ai-files:${e}:${t??``}`}function y(e){return e===null?null:h(e)}function b(e,t,n){if(e===null)return[];let r=t(e.projectNodes),i=new Set(r.map(e=>e.path));for(let n of t(e.threadNodes))i.has(n.path)||r.push(n);return n&&(r=[...r].sort((e,t)=>e.name.localeCompare(t.name))),r}function x(e){let t=e.children??[];return[e.type,e.path,e.name,e.virtual?`v`:``,e.description??``,e.disableModelInvocation?`dmi`:``,t.map(x)].flat(2).join(`~`)}function S(e,t){return new Set(e.map(e=>`${e.path}${t}`))}async function C(e){try{return await c(e)}catch{return[]}}async function w(e,t){return{projectNodes:await a(e),threadNodes:t===null?[]:await C(t)}}function T(e){return`${e.projectNodes.map(x).join(`|`)}#${e.threadNodes.map(x).join(`|`)}`}function E(e,t){if(e.current!==null)return;let n=y(t);e.current=n===null?null:T(n)}function D({findItems:e,installedPathSuffix:t=``,explorerPathSuffix:a=``,sortByName:c=!1,removedToastTitle:m}){let h=r(),x=i(e=>e.projects),C=i(e=>e.selectedProjectId),D=i(e=>e.selectedThreadId),{handleSelectThread:O}=d(),{openChatDockPanel:k}=f(),{setPendingExplorerPath:A,triggerExplorerRefresh:j,setExplorerClearPath:M}=l(),N=C===null?null:v(C,D??null),[P,F]=(0,p.useState)(N),[I,L]=(0,p.useState)(()=>b(y(N),e,c)),[R,z]=(0,p.useState)(()=>N!==null&&!_(N)),[B,V]=(0,p.useState)(null),[H,U]=(0,p.useState)(!1),[W,G]=(0,p.useState)(()=>S(I,t)),K=(0,p.useRef)(null),q=(0,p.useRef)(0),J=(0,p.useCallback)(function(n){let r=b(n,e,c);L(r),G(S(r,t))},[e,t,c]),Y=(0,p.useCallback)(function(e,t){let n=T(t);n!==K.current&&(K.current=n,g(e,t),J(t))},[J]),X=(0,p.useCallback)(async()=>{if(!C){z(!1);return}let e=q.current+=1,t=v(C,D??null);E(K,t);try{let n=await w(C,D??null);e===q.current&&Y(t,n)}catch{e===q.current&&K.current===null&&J(null)}finally{e===q.current&&z(!1)}},[C,D,Y,J]);return(0,p.useLayoutEffect)(()=>{if(P===N)return;F(N),q.current+=1;let e=y(N);K.current=e===null?null:T(e),J(e),z(N!==null&&e===null)},[P,N,J]),(0,p.useEffect)(()=>{X()},[X]),{selectedProjectId:C,selectedThreadId:D,items:I,loading:R,deleteConfirm:B,setDeleteConfirm:V,deleting:H,installedFilePaths:W,setInstalledFilePaths:G,loadItems:X,handleDelete:(0,p.useCallback)(async e=>{if(!C)return;let n=e.name,r=e.path;U(!0);try{try{await s(C,r)}catch{if(D)await o(D,r);else throw Error(`No thread selected to delete from`)}M(r),j(),G(e=>{let n=new Set(e);return n.delete(`${r}${t}`),n}),u({title:m,description:n}),V(null),await X()}catch(e){u({title:`Error`,description:e instanceof Error?e.message:`Failed to remove item`,variant:`destructive`})}finally{U(!1)}},[C,D,X,j,M,t,m]),handleOpenInExplorer:(0,p.useCallback)(e=>{if(!C)return;let t=x.find(e=>e.projectId===C);if(t){if(h({type:n.OpenProjectPanel,projectId:C}),!t.threads.some(e=>e.threadId===D)){let e=t.threads.find(e=>e.isSelected)??t.threads[0]??null;e&&O(C,e.threadId)}A(`${e}${a}`),k(`explorer`)}},[C,D,x,h,O,A,k,a]),triggerExplorerRefresh:j}}export{g as i,_ as n,h as r,D as t};