@loicngr/kobo 1.7.22 → 1.7.24

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 (64) hide show
  1. package/AGENTS.md +11 -1
  2. package/CHANGELOG.md +14 -0
  3. package/README.md +31 -0
  4. package/dist/server/db/migrations.js +16 -0
  5. package/dist/server/db/schema.js +2 -0
  6. package/dist/server/routes/workspaces.js +40 -3
  7. package/dist/server/services/pr-watcher-service.js +40 -1
  8. package/dist/server/services/settings-service.js +11 -0
  9. package/dist/server/services/templates-service.js +32 -0
  10. package/dist/server/services/workspace-service.js +22 -0
  11. package/dist/server/services/worktree-purge-service.js +116 -0
  12. package/package.json +1 -1
  13. package/src/client/dist/spa/assets/{ActivityFeed-B73SoxPh.js → ActivityFeed-Dhj2Y5CQ.js} +1 -1
  14. package/src/client/dist/spa/assets/{ChangelogPage-DUU0PIjz.js → ChangelogPage-BqCf7Tdk.js} +1 -1
  15. package/src/client/dist/spa/assets/{ClosePopup-BG4U_b73.js → ClosePopup-0MWohgml.js} +1 -1
  16. package/src/client/dist/spa/assets/{CreatePage-CEDQHhlt.js → CreatePage-DhhwW2iK.js} +1 -1
  17. package/src/client/dist/spa/assets/{DiffViewer-DzUan5hw.js → DiffViewer-mgpaPemQ.js} +3 -3
  18. package/src/client/dist/spa/assets/{HealthPage-CywUBkCD.js → HealthPage-Dl-UGLDD.js} +1 -1
  19. package/src/client/dist/spa/assets/{MainLayout-BNlzhFX_.js → MainLayout-BiDZ_U51.js} +3 -3
  20. package/src/client/dist/spa/assets/{MainLayout-BxbC5qfx.css → MainLayout-D2fdfOct.css} +1 -1
  21. package/src/client/dist/spa/assets/{QExpansionItem-C3koMJhv.js → QExpansionItem-CiBP4NiY.js} +1 -1
  22. package/src/client/dist/spa/assets/{QMenu-tPOTRRE_.js → QMenu-Yx1QEIHC.js} +1 -1
  23. package/src/client/dist/spa/assets/{QScrollArea-HmkWoNcD.js → QScrollArea-CZVgBUBp.js} +1 -1
  24. package/src/client/dist/spa/assets/{QScrollObserver-mISyeTiK.js → QScrollObserver-CAlbLisQ.js} +1 -1
  25. package/src/client/dist/spa/assets/{QTooltip-CxkTFl9W.js → QTooltip-CwBZU_bs.js} +1 -1
  26. package/src/client/dist/spa/assets/{SearchPage-DaLCy-Tl.js → SearchPage-DFyeKlPZ.js} +1 -1
  27. package/src/client/dist/spa/assets/SettingsPage-C64_E1oJ.css +1 -0
  28. package/src/client/dist/spa/assets/SettingsPage-CWzjJmRK.js +9 -0
  29. package/src/client/dist/spa/assets/{TouchPan-DWCVQZB9.js → TouchPan-DXGxNMLq.js} +1 -1
  30. package/src/client/dist/spa/assets/{WorkspacePage-iHGFGSo5.css → WorkspacePage-36QGRRCt.css} +1 -1
  31. package/src/client/dist/spa/assets/{WorkspacePage-DV1_gaE1.js → WorkspacePage-Do8yOxLh.js} +3 -3
  32. package/src/client/dist/spa/assets/{build-path-tree-CWS7OK1y.js → build-path-tree-BKx2q92A.js} +1 -1
  33. package/src/client/dist/spa/assets/{cssMode-gWXl0t1v.js → cssMode-C_8uTD04.js} +1 -1
  34. package/src/client/dist/spa/assets/{editor.api-DpdJ2VyL.js → editor.api-BLN2wAE3.js} +1 -1
  35. package/src/client/dist/spa/assets/{editor.main-BbBPm6hz.js → editor.main-DJVMM2i4.js} +3 -3
  36. package/src/client/dist/spa/assets/{engineFeatures-CrrLAzmw.js → engineFeatures-DcjAE8bG.js} +1 -1
  37. package/src/client/dist/spa/assets/{expand-template-C-j25C1U.js → expand-template-DijLIEI5.js} +1 -1
  38. package/src/client/dist/spa/assets/{freemarker2-c2I2xP4t.js → freemarker2-g6EYTs3n.js} +1 -1
  39. package/src/client/dist/spa/assets/{handlebars-DdGipD5f.js → handlebars-Cv6y1teP.js} +1 -1
  40. package/src/client/dist/spa/assets/{html-C44mULGc.js → html-Bc4U-abP.js} +1 -1
  41. package/src/client/dist/spa/assets/{htmlMode-DCg3M8QF.js → htmlMode-BwFjeo24.js} +1 -1
  42. package/src/client/dist/spa/assets/i18n-PViX03Cu.js +1 -0
  43. package/src/client/dist/spa/assets/index-DnKXe7D-.js +82 -0
  44. package/src/client/dist/spa/assets/{javascript-CE0OdK4f.js → javascript-Eczqe8bD.js} +1 -1
  45. package/src/client/dist/spa/assets/{jsonMode-D4h7-bRc.js → jsonMode-BnyadzU0.js} +1 -1
  46. package/src/client/dist/spa/assets/{kobo-commands-CvhobBu_.js → kobo-commands-DRDkhOO8.js} +1 -1
  47. package/src/client/dist/spa/assets/{liquid-PjQMywNm.js → liquid-DwRAzAaj.js} +1 -1
  48. package/src/client/dist/spa/assets/{mdx-DFGLZOLU.js → mdx-CFl7wmEL.js} +1 -1
  49. package/src/client/dist/spa/assets/{monaco.contribution-D-j1tvz2.js → monaco.contribution--Qz8ObQD.js} +2 -2
  50. package/src/client/dist/spa/assets/{notifications-Dq_CVZlr.js → notifications-l1Pxijve.js} +1 -1
  51. package/src/client/dist/spa/assets/{permissionModes-Bt3HMECq.js → permissionModes-BT5h2RfC.js} +1 -1
  52. package/src/client/dist/spa/assets/{python-DYXZ9PBg.js → python-Ddo5HdBd.js} +1 -1
  53. package/src/client/dist/spa/assets/{razor-CuwVAV-Y.js → razor-CvJeuccY.js} +1 -1
  54. package/src/client/dist/spa/assets/{render-chat-markdown-D5id7lkF.js → render-chat-markdown-CODpqdnw.js} +1 -1
  55. package/src/client/dist/spa/assets/{tsMode-CUhQNBlR.js → tsMode-fdyRUXnV.js} +1 -1
  56. package/src/client/dist/spa/assets/{typescript-IVMaFcQM.js → typescript-BAEZzsZ6.js} +1 -1
  57. package/src/client/dist/spa/assets/{use-onboarding-dapbWk0g.js → use-onboarding-CiVkuuHv.js} +2 -2
  58. package/src/client/dist/spa/assets/{xml-BQ1-pFw9.js → xml-DCrp93GN.js} +1 -1
  59. package/src/client/dist/spa/assets/{yaml-CylVyFXK.js → yaml-tdhnQ3xr.js} +1 -1
  60. package/src/client/dist/spa/index.html +2 -2
  61. package/src/client/dist/spa/assets/SettingsPage-D6AWEFEO.css +0 -1
  62. package/src/client/dist/spa/assets/SettingsPage-DlNl0TLR.js +0 -9
  63. package/src/client/dist/spa/assets/i18n-C1Tdl-zt.js +0 -1
  64. package/src/client/dist/spa/assets/index-djIkvHo7.js +0 -52
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DiffViewer-DzUan5hw.js","assets/index-djIkvHo7.js","assets/vue-i18n-Cq-KgjJC.js","assets/runtime-core.esm-bundler-D_RRiKBh.js","assets/QIcon-BmEX2rXO.js","assets/use-id-BCnfiBjU.js","assets/notifications-Dq_CVZlr.js","assets/QBtn-CoU-UC_j.js","assets/QRadio-M9mC5jZy.js","assets/use-checkbox-DnSuDqo2.js","assets/QInput-D0t39uK_.js","assets/QCheckbox-Cq2STfHp.js","assets/QToggle-DBzTAIbK.js","assets/index-ClabzOPc.css","assets/_plugin-vue_export-helper-r4mAJOHR.js","assets/render-chat-markdown-D5id7lkF.js","assets/QBadge-DNQSqPg-.js","assets/build-path-tree-CWS7OK1y.js","assets/QTooltip-CxkTFl9W.js","assets/QItemSection-DRg-QuAD.js","assets/QList-CRYZxnPD.js","assets/QMenu-tPOTRRE_.js","assets/QScrollArea-HmkWoNcD.js","assets/QScrollObserver-mISyeTiK.js","assets/TouchPan-DWCVQZB9.js","assets/touch-2Qa-HSDZ.js","assets/QSpace-Crcx82On.js","assets/QSpinnerDots-DspFKwCZ.js","assets/use-quasar-q6dh7QVJ.js","assets/ClosePopup-BG4U_b73.js","assets/DiffViewer-C4L5y8Ho.css"])))=>i.map(i=>d[i]);
2
- import{$ as e,A as t,B as n,C as r,D as i,G as a,I as o,K as s,L as c,M as l,N as u,O as d,P as f,R as p,St as m,T as h,W as g,X as _,_ as v,at as y,b,d as x,et as S,f as C,g as w,l as T,p as E,r as D,u as O,v as k,xt as A,y as j,yt as M,z as N}from"./runtime-core.esm-bundler-D_RRiKBh.js";import{H as ee,M as te,N as P,P as F,S as I,U as L,V as ne,_ as re,a as ie,b as ae,g as oe,i as se,l as R,m as z,n as ce,r as le,s as ue,t as B,y as de}from"./QIcon-BmEX2rXO.js";import{n as fe,p as pe,r as me,t as he}from"./use-id-BCnfiBjU.js";import{A as ge,F as _e,I as V,M as ve,N as ye,P as be,g as xe,j as H,s as Se}from"./notifications-Dq_CVZlr.js";import{n as Ce,r as we}from"./QRadio-M9mC5jZy.js";import{c as Te,n as Ee,r as De,t as U}from"./QBtn-CoU-UC_j.js";import{n as Oe}from"./vue-i18n-Cq-KgjJC.js";import{t as ke}from"./QInput-D0t39uK_.js";import{t as Ae}from"./QCheckbox-Cq2STfHp.js";import{t as je}from"./QToggle-DBzTAIbK.js";import{_ as Me,b as Ne,c as Pe,d as Fe,f as Ie,i as Le,n as Re,o as ze,p as Be,r as Ve,s as He,t as Ue,u as We,v as Ge,x as Ke,y as qe}from"./index-djIkvHo7.js";import{n as W,t as G}from"./QItemSection-DRg-QuAD.js";import{d as Je,t as K}from"./QTooltip-CxkTFl9W.js";import{n as Ye,t as Xe}from"./QScrollObserver-mISyeTiK.js";import{t as Ze}from"./TouchPan-DWCVQZB9.js";import{i as Qe,r as $e,t as et}from"./render-chat-markdown-D5id7lkF.js";import{t as tt}from"./documents-CX2-4fhr.js";import{t as nt}from"./_plugin-vue_export-helper-r4mAJOHR.js";import{t as rt}from"./QBadge-DNQSqPg-.js";import{t as it}from"./QSpace-Crcx82On.js";import{i as at,r as ot,t as st}from"./build-path-tree-CWS7OK1y.js";import{t as ct}from"./QList-CRYZxnPD.js";import{t as lt}from"./QMenu-tPOTRRE_.js";import{t as ut}from"./ClosePopup-BG4U_b73.js";import{t as dt}from"./use-quasar-q6dh7QVJ.js";import{s as ft}from"./skill-suite-prompts-8f_JW79j.js";import{a as pt,i as mt,n as ht,o as gt,r as _t,s as vt}from"./engineFeatures-CrrLAzmw.js";import{n as yt,r as bt}from"./kobo-commands-CvhobBu_.js";import{t as xt}from"./QChip-D2TVel5I.js";import{t as St}from"./formatters-BKR66G3t.js";import{a as Ct,i as wt,o as Tt,r as Et,t as Dt}from"./use-onboarding-dapbWk0g.js";var Ot=150,kt=F({name:`QDrawer`,inheritAttrs:!1,props:{...ye,...le,side:{type:String,default:`left`,validator:e=>[`left`,`right`].includes(e)},width:{type:Number,default:300},mini:Boolean,miniToOverlay:Boolean,miniWidth:{type:Number,default:57},noMiniAnimation:Boolean,breakpoint:{type:Number,default:1023},showIfAbove:Boolean,behavior:{type:String,validator:e=>[`default`,`desktop`,`mobile`].includes(e),default:`default`},bordered:Boolean,elevated:Boolean,overlay:Boolean,persistent:Boolean,noSwipeOpen:Boolean,noSwipeClose:Boolean,noSwipeBackdrop:Boolean},emits:[...ve,`onLayout`,`miniState`],setup(e,{slots:n,emit:a,attrs:o}){let c=b(),{proxy:{$q:l}}=c,d=ce(e,l),{preventBodyScroll:f}=Ge(),{registerTimeout:p,removeTimeout:m}=_e(),_=h(oe,z);if(_===z)return console.error(`QDrawer needs to be child of QLayout`),z;let v,y=null,x,C=S(e.behavior===`mobile`||e.behavior!==`desktop`&&_.totalWidth.value<=e.breakpoint),w=T(()=>e.mini===!0&&C.value!==!0),E=T(()=>w.value===!0?e.miniWidth:e.width),D=S(e.showIfAbove===!0&&C.value===!1?!0:e.modelValue===!0),O=T(()=>e.persistent!==!0&&(C.value===!0||B.value===!0));function k(e,t){if(N(),e!==!1&&_.animate(),Ce(0),C.value===!0){let e=_.instances[ie.value];e?.belowBreakpoint===!0&&e.hide(!1),we(1),_.isContainer.value!==!0&&f(!0)}else we(0),e!==!1&&Te(!1);p(()=>{e!==!1&&Te(!0),t!==!0&&a(`show`,e)},Ot)}function A(e,t){ee(),e!==!1&&_.animate(),we(0),Ce(F.value*E.value),Oe(),t===!0?m():p(()=>{a(`hide`,e)},Ot)}let{show:j,hide:M}=H({showing:D,hideOnRouteChange:O,handleShow:k,handleHide:A}),{addToHistory:N,removeFromHistory:ee}=qe(D,M,O),te={belowBreakpoint:C,hide:M},P=T(()=>e.side===`right`),F=T(()=>(l.lang.rtl===!0?-1:1)*(P.value===!0?1:-1)),I=S(0),L=S(!1),ne=S(!1),re=S(E.value*F.value),ie=T(()=>P.value===!0?`left`:`right`),ae=T(()=>D.value===!0&&C.value===!1&&e.overlay===!1?e.miniToOverlay===!0?e.miniWidth:E.value:0),R=T(()=>e.overlay===!0||e.miniToOverlay===!0||_.view.value.indexOf(P.value?`R`:`L`)!==-1||l.platform.is.ios===!0&&_.isContainer.value===!0),le=T(()=>e.overlay===!1&&D.value===!0&&C.value===!1),B=T(()=>e.overlay===!0&&D.value===!0&&C.value===!1),de=T(()=>`fullscreen q-drawer__backdrop`+(D.value===!1&&L.value===!1?` hidden`:``)),fe=T(()=>({backgroundColor:`rgba(0,0,0,${I.value*.4})`})),pe=T(()=>P.value===!0?_.rows.value.top[2]===`r`:_.rows.value.top[0]===`l`),me=T(()=>P.value===!0?_.rows.value.bottom[2]===`r`:_.rows.value.bottom[0]===`l`),he=T(()=>{let e={};return _.header.space===!0&&pe.value===!1&&(R.value===!0?e.top=`${_.header.offset}px`:_.header.space===!0&&(e.top=`${_.header.size}px`)),_.footer.space===!0&&me.value===!1&&(R.value===!0?e.bottom=`${_.footer.offset}px`:_.footer.space===!0&&(e.bottom=`${_.footer.size}px`)),e}),ge=T(()=>{let e={width:`${E.value}px`,transform:`translateX(${re.value}px)`};return C.value===!0?e:Object.assign(e,he.value)}),V=T(()=>`q-drawer__content fit `+(_.isContainer.value===!0?`overflow-auto`:`scroll`)),ve=T(()=>`q-drawer q-drawer--${e.side}`+(ne.value===!0?` q-drawer--mini-animate`:``)+(e.bordered===!0?` q-drawer--bordered`:``)+(d.value===!0?` q-drawer--dark q-dark`:``)+(L.value===!0?` no-transition`:D.value===!0?``:` q-layout--prevent-focus`)+(C.value===!0?` fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding`:` q-drawer--${w.value===!0?`mini`:`standard`}`+(R.value===!0||le.value!==!0?` fixed`:``)+(e.overlay===!0||e.miniToOverlay===!0?` q-drawer--on-top`:``)+(pe.value===!0?` q-drawer--top-padding`:``))),ye=T(()=>[[Ze,De,void 0,{[l.lang.rtl===!0?e.side:ie.value]:!0,mouse:!0}]]),be=T(()=>[[Ze,U,void 0,{[l.lang.rtl===!0?ie.value:e.side]:!0,mouse:!0}]]),xe=T(()=>[[Ze,U,void 0,{[l.lang.rtl===!0?ie.value:e.side]:!0,mouse:!0,mouseAllDir:!0}]]);function Se(){Ae(C,e.behavior===`mobile`||e.behavior!==`desktop`&&_.totalWidth.value<=e.breakpoint)}g(C,t=>{t===!0?(v=D.value,D.value===!0&&M(!1)):e.overlay===!1&&e.behavior!==`mobile`&&v!==!1&&(D.value===!0?(Ce(0),we(0),Oe()):j(!1))}),g(()=>e.side,(e,t)=>{_.instances[t]===te&&(_.instances[t]=void 0,_[t].space=!1,_[t].offset=0),_.instances[e]=te,_[e].size=E.value,_[e].space=le.value,_[e].offset=ae.value}),g(_.totalWidth,()=>{(_.isContainer.value===!0||document.qScrollPrevented!==!0)&&Se()}),g(()=>e.behavior+e.breakpoint,Se),g(_.isContainer,e=>{D.value===!0&&f(e!==!0),e===!0&&Se()}),g(_.scrollbarWidth,()=>{Ce(D.value===!0?0:void 0)}),g(ae,e=>{ke(`offset`,e)}),g(le,e=>{a(`onLayout`,e),ke(`space`,e)}),g(P,()=>{Ce()}),g(E,t=>{Ce(),je(e.miniToOverlay,t)}),g(()=>e.miniToOverlay,e=>{je(e,E.value)}),g(()=>l.lang.rtl,()=>{Ce()}),g(()=>e.mini,()=>{e.noMiniAnimation||e.modelValue===!0&&(Ee(),_.animate())}),g(w,e=>{a(`miniState`,e)});function Ce(e){e===void 0?i(()=>{e=D.value===!0?0:E.value,Ce(F.value*e)}):(_.isContainer.value===!0&&P.value===!0&&(C.value===!0||Math.abs(e)===E.value)&&(e+=F.value*_.scrollbarWidth.value),re.value=e)}function we(e){I.value=e}function Te(e){let t=e===!0?`remove`:_.isContainer.value===!0?``:`add`;t!==``&&document.body.classList[t](`q-body--drawer-toggle`)}function Ee(){y!==null&&clearTimeout(y),c.proxy&&c.proxy.$el&&c.proxy.$el.classList.add(`q-drawer--mini-animate`),ne.value=!0,y=setTimeout(()=>{y=null,ne.value=!1,c?.proxy?.$el?.classList.remove(`q-drawer--mini-animate`)},150)}function De(e){if(D.value!==!1)return;let t=E.value,n=Je(e.distance.x,0,t);if(e.isFinal===!0){n>=Math.min(75,t)?j():(_.animate(),we(0),Ce(F.value*t)),L.value=!1;return}Ce((l.lang.rtl===!0?P.value!==!0:P.value)?Math.max(t-n,0):Math.min(0,n-t)),we(Je(n/t,0,1)),e.isFirst===!0&&(L.value=!0)}function U(t){if(D.value!==!0)return;let n=E.value,r=t.direction===e.side,i=(l.lang.rtl===!0?r!==!0:r)?Je(t.distance.x,0,n):0;if(t.isFinal===!0){Math.abs(i)<Math.min(75,n)?(_.animate(),we(1),Ce(0)):M(),L.value=!1;return}Ce(F.value*i),we(Je(1-i/n,0,1)),t.isFirst===!0&&(L.value=!0)}function Oe(){f(!1),Te(!0)}function ke(t,n){_.update(e.side,t,n)}function Ae(e,t){e.value!==t&&(e.value=t)}function je(t,n){ke(`size`,t===!0?e.miniWidth:n)}return _.instances[e.side]=te,je(e.miniToOverlay,E.value),ke(`space`,le.value),ke(`offset`,ae.value),e.showIfAbove===!0&&e.modelValue!==!0&&D.value===!0&&e[`onUpdate:modelValue`]!==void 0&&a(`update:modelValue`,!0),u(()=>{a(`onLayout`,le.value),a(`miniState`,w.value),v=e.showIfAbove===!0;let t=()=>{(D.value===!0?k:A)(!1,!0)};if(_.totalWidth.value!==0){i(t);return}x=g(_.totalWidth,()=>{x(),x=void 0,D.value===!1&&e.showIfAbove===!0&&C.value===!1?j(!1):t()})}),t(()=>{x?.(),y!==null&&(clearTimeout(y),y=null),D.value===!0&&Oe(),_.instances[e.side]===te&&(_.instances[e.side]=void 0,ke(`size`,0),ke(`offset`,0),ke(`space`,!1))}),()=>{let t=[];C.value===!0&&(e.noSwipeOpen===!1&&t.push(s(r(`div`,{key:`open`,class:`q-drawer__opener fixed-${e.side}`,"aria-hidden":`true`}),ye.value)),t.push(se(`div`,{ref:`backdrop`,class:de.value,style:fe.value,"aria-hidden":`true`,onClick:M},void 0,`backdrop`,e.noSwipeBackdrop!==!0&&D.value===!0,()=>xe.value)));let i=w.value===!0&&n.mini!==void 0,a=[r(`div`,{...o,key:String(i),class:[V.value,o.class]},i===!0?n.mini():ue(n.default))];return e.elevated===!0&&D.value===!0&&a.push(r(`div`,{class:`q-layout__shadow absolute-full overflow-hidden no-pointer-events`})),t.push(se(`aside`,{ref:`content`,class:ve.value,style:ge.value},a,`contentclose`,e.noSwipeClose!==!0&&C.value===!0,()=>be.value)),r(`div`,{class:`q-drawer-container`},t)}}}),At=0,jt=[`click`,`keydown`],Mt={icon:String,label:[Number,String],alert:[Boolean,String],alertIcon:String,name:{type:[Number,String],default:()=>`t_${At++}`},noCaps:Boolean,tabindex:[String,Number],disable:Boolean,contentClass:String,ripple:{type:[Boolean,Object],default:!0}};function Nt(e,n,i,a){let o=h(de,z);if(o===z)return console.error(`QTab/QRouteTab component needs to be child of QTabs`),z;let{proxy:c}=b(),l=S(null),d=S(null),f=S(null),p=T(()=>e.disable===!0||e.ripple===!1?!1:Object.assign({keyCodes:[13,32],early:!0},e.ripple===!0?{}:e.ripple)),m=T(()=>o.currentModel.value===e.name),g=T(()=>`q-tab relative-position self-stretch flex flex-center text-center`+(m.value===!0?` q-tab--active`+(o.tabProps.value.activeClass?` `+o.tabProps.value.activeClass:``)+(o.tabProps.value.activeColor?` text-${o.tabProps.value.activeColor}`:``)+(o.tabProps.value.activeBgColor?` bg-${o.tabProps.value.activeBgColor}`:``):` q-tab--inactive`)+(e.icon&&e.label&&o.tabProps.value.inlineLabel===!1?` q-tab--full`:``)+(e.noCaps===!0||o.tabProps.value.noCaps===!0?` q-tab--no-caps`:``)+(e.disable===!0?` disabled`:` q-focusable q-hoverable cursor-pointer`)+(a===void 0?``:a.linkClass.value)),_=T(()=>`q-tab__content self-stretch flex-center relative-position q-anchor--skip non-selectable `+(o.tabProps.value.inlineLabel===!0?`row no-wrap q-tab__content--inline`:`column`)+(e.contentClass===void 0?``:` ${e.contentClass}`)),v=T(()=>e.disable===!0||o.hasFocus.value===!0||m.value===!1&&o.hasActiveTab.value===!0?-1:e.tabindex||0);function y(t,n){if(n!==!0&&t?.qAvoidFocus!==!0&&l.value?.focus(),e.disable===!0){a?.hasRouterLink.value===!0&&P(t);return}if(a===void 0){o.updateModel({name:e.name}),i(`click`,t);return}if(a.hasRouterLink.value===!0){let n=(n={})=>{let r,i=n.to===void 0||V(n.to,e.to)===!0?o.avoidRouteWatcher=fe():null;return a.navigateToRouterLink(t,{...n,returnRouterError:!0}).catch(e=>{r=e}).then(t=>{if(i===o.avoidRouteWatcher&&(o.avoidRouteWatcher=!1,r===void 0&&(t===void 0||t.message?.startsWith(`Avoided redundant navigation`)===!0)&&o.updateModel({name:e.name})),n.returnRouterError===!0)return r===void 0?t:Promise.reject(r)})};i(`click`,t,n),t.defaultPrevented!==!0&&n();return}i(`click`,t)}function x(e){ae(e,[13,32])?y(e,!0):I(e)!==!0&&e.keyCode>=35&&e.keyCode<=40&&e.altKey!==!0&&e.metaKey!==!0&&o.onKbdNavigate(e.keyCode,c.$el)===!0&&P(e),i(`keydown`,e)}function C(){let t=o.tabProps.value.narrowIndicator,i=[],a=r(`div`,{ref:f,class:[`q-tab__indicator`,o.tabProps.value.indicatorClass]});e.icon!==void 0&&i.push(r(B,{class:`q-tab__icon`,name:e.icon})),e.label!==void 0&&i.push(r(`div`,{class:`q-tab__label`},e.label)),e.alert!==!1&&i.push(e.alertIcon===void 0?r(`div`,{class:`q-tab__alert`+(e.alert===!0?``:` text-${e.alert}`)}):r(B,{class:`q-tab__alert-icon`,color:e.alert===!0?void 0:e.alert,name:e.alertIcon})),t===!0&&i.push(a);let s=[r(`div`,{class:`q-focus-helper`,tabindex:-1,ref:l}),r(`div`,{class:_.value},ie(n.default,i))];return t===!1&&s.push(a),s}let w={name:T(()=>e.name),rootRef:d,tabIndicatorRef:f,routeData:a};t(()=>{o.unregisterTab(w)}),u(()=>{o.registerTab(w)});function E(t,n){return s(r(t,{ref:d,class:g.value,tabindex:v.value,role:`tab`,"aria-selected":m.value===!0?`true`:`false`,"aria-disabled":e.disable===!0?`true`:void 0,onClick:y,onKeydown:x,...n},C()),[[Te,p.value]])}return{renderTab:E,$tabs:o}}var Pt=F({name:`QTab`,props:Mt,emits:jt,setup(e,{slots:t,emit:n}){let{renderTab:r}=Nt(e,t,n);return()=>r(`div`)}});function Ft(e,t,n){let r=n===!0?[`left`,`right`]:[`top`,`bottom`];return`absolute-${t===!0?r[0]:r[1]}${e?` text-${e}`:``}`}var It=[`left`,`center`,`right`,`justify`],Lt=F({name:`QTabs`,props:{modelValue:[Number,String],align:{type:String,default:`center`,validator:e=>It.includes(e)},breakpoint:{type:[String,Number],default:600},vertical:Boolean,shrink:Boolean,stretch:Boolean,activeClass:String,activeColor:String,activeBgColor:String,indicatorColor:String,leftIcon:String,rightIcon:String,outsideArrows:Boolean,mobileArrows:Boolean,switchIndicator:Boolean,narrowIndicator:Boolean,inlineLabel:Boolean,noCaps:Boolean,dense:Boolean,contentClass:String,"onUpdate:modelValue":[Function,Array]},setup(e,{slots:n,emit:i}){let{proxy:a}=b(),{$q:o}=a,{registerTick:s}=be(),{registerTick:u}=be(),{registerTick:f}=be(),{registerTimeout:p,removeTimeout:m}=_e(),{registerTimeout:h,removeTimeout:_}=_e(),v=S(null),y=S(null),x=S(e.modelValue),C=S(!1),w=S(!0),E=S(!1),D=S(!1),O=[],k=S(0),A=S(!1),j=null,M=null,N,ee=T(()=>({activeClass:e.activeClass,activeColor:e.activeColor,activeBgColor:e.activeBgColor,indicatorClass:Ft(e.indicatorColor,e.switchIndicator,e.vertical),narrowIndicator:e.narrowIndicator,inlineLabel:e.inlineLabel,noCaps:e.noCaps})),te=T(()=>{let e=k.value,t=x.value;for(let n=0;n<e;n++)if(O[n].name.value===t)return!0;return!1}),P=T(()=>`q-tabs__content--align-${C.value===!0?`left`:D.value===!0?`justify`:e.align}`),F=T(()=>`q-tabs row no-wrap items-center q-tabs--${C.value===!0?``:`not-`}scrollable q-tabs--${e.vertical===!0?`vertical`:`horizontal`} q-tabs__arrows--${e.outsideArrows===!0?`outside`:`inside`} q-tabs--mobile-with${e.mobileArrows===!0?``:`out`}-arrows`+(e.dense===!0?` q-tabs--dense`:``)+(e.shrink===!0?` col-shrink`:``)+(e.stretch===!0?` self-stretch`:``)),I=T(()=>`q-tabs__content scroll--mobile row no-wrap items-center self-stretch hide-scrollbar relative-position `+P.value+(e.contentClass===void 0?``:` ${e.contentClass}`)),L=T(()=>e.vertical===!0?{container:`height`,content:`offsetHeight`,scroll:`scrollHeight`}:{container:`width`,content:`offsetWidth`,scroll:`scrollWidth`}),ne=T(()=>e.vertical!==!0&&o.lang.rtl===!0),re=T(()=>ft===!1&&ne.value===!0);g(ne,z),g(()=>e.modelValue,e=>{ie({name:e,setCurrent:!0,skipEmit:!0})}),g(()=>e.outsideArrows,ae);function ie({name:t,setCurrent:n,skipEmit:r}){x.value!==t&&(r!==!0&&e[`onUpdate:modelValue`]!==void 0&&i(`update:modelValue`,t),(n===!0||e[`onUpdate:modelValue`]===void 0)&&(se(x.value,t),x.value=t))}function ae(){s(()=>{v.value&&oe({width:v.value.offsetWidth,height:v.value.offsetHeight})})}function oe(t){if(L.value===void 0||y.value===null)return;let n=t[L.value.container],r=Math.min(y.value[L.value.scroll],Array.prototype.reduce.call(y.value.children,(e,t)=>e+(t[L.value.content]||0),0)),i=n>0&&r>n;C.value=i,i===!0&&u(z),D.value=n<parseInt(e.breakpoint,10)}function se(t,n){let r=t!=null&&t!==``?O.find(e=>e.name.value===t):null,i=n!=null&&n!==``?O.find(e=>e.name.value===n):null;if(U===!0)U=!1;else if(r&&i){let t=r.tabIndicatorRef.value,n=i.tabIndicatorRef.value;j!==null&&(clearTimeout(j),j=null),t.style.transition=`none`,t.style.transform=`none`,n.style.transition=`none`,n.style.transform=`none`;let a=t.getBoundingClientRect(),o=n.getBoundingClientRect();n.style.transform=e.vertical===!0?`translate3d(0,${a.top-o.top}px,0) scale3d(1,${o.height?a.height/o.height:1},1)`:`translate3d(${a.left-o.left}px,0,0) scale3d(${o.width?a.width/o.width:1},1,1)`,f(()=>{j=setTimeout(()=>{j=null,n.style.transition=`transform .25s cubic-bezier(.4, 0, .2, 1)`,n.style.transform=`none`},70)})}i&&C.value===!0&&R(i.rootRef.value)}function R(t){let{left:n,width:r,top:i,height:a}=y.value.getBoundingClientRect(),o=t.getBoundingClientRect(),s=e.vertical===!0?o.top-i:o.left-n;if(s<0){y.value[e.vertical===!0?`scrollTop`:`scrollLeft`]+=Math.floor(s),z();return}s+=e.vertical===!0?o.height-a:o.width-r,s>0&&(y.value[e.vertical===!0?`scrollTop`:`scrollLeft`]+=Math.ceil(s),z())}function z(){let t=y.value;if(t===null)return;let n=t.getBoundingClientRect(),r=e.vertical===!0?t.scrollTop:Math.abs(t.scrollLeft);ne.value===!0?(w.value=Math.ceil(r+n.width)<t.scrollWidth-1,E.value=r>0):(w.value=r>0,E.value=e.vertical===!0?Math.ceil(r+n.height)<t.scrollHeight:Math.ceil(r+n.width)<t.scrollWidth)}function ce(e){M!==null&&clearInterval(M),M=setInterval(()=>{ge(e)===!0&&pe()},5)}function le(){ce(re.value===!0?2**53-1:0)}function fe(){ce(re.value===!0?0:2**53-1)}function pe(){M!==null&&(clearInterval(M),M=null)}function me(t,n){let r=Array.prototype.filter.call(y.value.children,e=>e===n||e.matches&&e.matches(`.q-tab.q-focusable`)===!0),i=r.length;if(i===0)return;if(t===36)return R(r[0]),r[0].focus(),!0;if(t===35)return R(r[i-1]),r[i-1].focus(),!0;let a=t===(e.vertical===!0?38:37),o=t===(e.vertical===!0?40:39),s=a===!0?-1:o===!0?1:void 0;if(s!==void 0){let e=ne.value===!0?-1:1,t=r.indexOf(n)+s*e;return t>=0&&t<i&&(R(r[t]),r[t].focus({preventScroll:!0})),!0}}let he=T(()=>re.value===!0?{get:e=>Math.abs(e.scrollLeft),set:(e,t)=>{e.scrollLeft=-t}}:e.vertical===!0?{get:e=>e.scrollTop,set:(e,t)=>{e.scrollTop=t}}:{get:e=>e.scrollLeft,set:(e,t)=>{e.scrollLeft=t}});function ge(e){let t=y.value,{get:n,set:r}=he.value,i=!1,a=n(t),o=e<a?-1:1;return a+=o*5,a<0?(i=!0,a=0):(o===-1&&a<=e||o===1&&a>=e)&&(i=!0,a=e),r(t,a),z(),i}function V(e,t){for(let n in e)if(e[n]!==t[n])return!1;return!0}function ve(){let e=null,t={matchedLen:0,queryDiff:9999,hrefLen:0},n=O.filter(e=>e.routeData?.hasRouterLink.value===!0),{hash:r,query:i}=a.$route,o=Object.keys(i).length;for(let a of n){let n=a.routeData.exact.value===!0;if(a.routeData[n===!0?`linkIsExactActive`:`linkIsActive`].value!==!0)continue;let{hash:s,query:c,matched:l,href:u}=a.routeData.resolvedLink.value,d=Object.keys(c).length;if(n===!0){if(s!==r||d!==o||V(i,c)===!1)continue;e=a.name.value;break}if(s!==``&&s!==r||d!==0&&V(c,i)===!1)continue;let f={matchedLen:l.length,queryDiff:o-d,hrefLen:u.length-s.length};if(f.matchedLen>t.matchedLen){e=a.name.value,t=f;continue}else if(f.matchedLen!==t.matchedLen)continue;if(f.queryDiff<t.queryDiff)e=a.name.value,t=f;else if(f.queryDiff!==t.queryDiff)continue;f.hrefLen>t.hrefLen&&(e=a.name.value,t=f)}if(e===null&&O.some(e=>e.routeData===void 0&&e.name.value===x.value)===!0){U=!1;return}ie({name:e,setCurrent:!0})}function ye(e){if(m(),A.value!==!0&&v.value!==null&&e.target&&typeof e.target.closest==`function`){let t=e.target.closest(`.q-tab`);t&&v.value.contains(t)===!0&&(A.value=!0,C.value===!0&&R(t))}}function xe(){p(()=>{A.value=!1},30)}function H(){Te.avoidRouteWatcher===!1?h(ve):_()}function Se(){if(N===void 0){let e=g(()=>a.$route.fullPath,H);N=()=>{e(),N=void 0}}}function Ce(e){O.push(e),k.value++,ae(),e.routeData===void 0||a.$route===void 0?h(()=>{if(C.value===!0){let e=x.value,t=e!=null&&e!==``?O.find(t=>t.name.value===e):null;t&&R(t.rootRef.value)}}):(Se(),e.routeData.hasRouterLink.value===!0&&H())}function we(e){O.splice(O.indexOf(e),1),k.value--,ae(),N!==void 0&&e.routeData!==void 0&&(O.every(e=>e.routeData===void 0)===!0&&N(),H())}let Te={currentModel:x,tabProps:ee,hasFocus:A,hasActiveTab:te,registerTab:Ce,unregisterTab:we,verifyRouteModel:H,updateModel:ie,onKbdNavigate:me,avoidRouteWatcher:!1};c(de,Te);function Ee(){j!==null&&clearTimeout(j),pe(),N?.()}let De,U;return t(Ee),l(()=>{De=N!==void 0,Ee()}),d(()=>{De===!0&&(Se(),U=!0,H()),ae()}),()=>r(`div`,{ref:v,class:F.value,role:`tablist`,onFocusin:ye,onFocusout:xe},[r(Ye,{onResize:oe}),r(`div`,{ref:y,class:I.value,onScroll:z},ue(n.default)),r(B,{class:`q-tabs__arrow q-tabs__arrow--left absolute q-tab__icon`+(w.value===!0?``:` q-tabs__arrow--faded`),name:e.leftIcon||o.iconSet.tabs[e.vertical===!0?`up`:`left`],onMousedownPassive:le,onTouchstartPassive:le,onMouseupPassive:pe,onMouseleavePassive:pe,onTouchendPassive:pe}),r(B,{class:`q-tabs__arrow q-tabs__arrow--right absolute q-tab__icon`+(E.value===!0?``:` q-tabs__arrow--faded`),name:e.rightIcon||o.iconSet.tabs[e.vertical===!0?`down`:`right`],onMousedownPassive:fe,onTouchstartPassive:fe,onMouseupPassive:pe,onMouseleavePassive:pe,onTouchendPassive:pe})])}}),Rt=F({name:`QTabPanel`,props:pt,setup(e,{slots:t}){return()=>r(`div`,{class:`q-tab-panel`,role:`tabpanel`},ue(t.default))}}),zt=F({name:`QTabPanels`,props:{...vt,...le},emits:gt,setup(e,{slots:t}){let n=ce(e,b().proxy.$q),{updatePanelsList:r,getPanelContent:i,panelDirectives:a}=mt(),o=T(()=>`q-tab-panels q-panel-parent`+(n.value===!0?` q-tab-panels--dark q-dark`:``));return()=>(r(t),se(`div`,{class:o.value},i(),`pan`,e.swipeable,()=>a.value))}}),Bt=F({name:`QPageContainer`,setup(e,{slots:t}){let{proxy:{$q:n}}=b(),i=h(oe,z);if(i===z)return console.error(`QPageContainer needs to be child of QLayout`),z;c(re,!0);let a=T(()=>{let e={};return i.header.space===!0&&(e.paddingTop=`${i.header.size}px`),i.right.space===!0&&(e[`padding${n.lang.rtl===!0?`Left`:`Right`}`]=`${i.right.size}px`),i.footer.space===!0&&(e.paddingBottom=`${i.footer.size}px`),i.left.space===!0&&(e[`padding${n.lang.rtl===!0?`Right`:`Left`}`]=`${i.left.size}px`),e});return()=>r(`div`,{class:`q-page-container`,style:a.value},ue(t.default))}}),Vt=F({name:`QLayout`,props:{container:Boolean,view:{type:String,default:`hhh lpr fff`,validator:e=>/^(h|l)h(h|r) lpr (f|l)f(f|r)$/.test(e.toLowerCase())},onScroll:Function,onScrollHeight:Function,onResize:Function},setup(t,{slots:n,emit:i}){let{proxy:{$q:a}}=b(),o=S(null),s=S(a.screen.height),l=S(t.container===!0?0:a.screen.width),u=S({position:0,direction:`down`,inflectionPoint:0}),d=S(0),p=S(pe.value===!0?0:xe()),m=T(()=>`q-layout q-layout--`+(t.container===!0?`containerized`:`standard`)),h=T(()=>t.container===!1?{minHeight:a.screen.height+`px`}:null),_=T(()=>p.value===0?null:{[a.lang.rtl===!0?`left`:`right`]:`${p.value}px`}),v=T(()=>p.value===0?null:{[a.lang.rtl===!0?`right`:`left`]:0,[a.lang.rtl===!0?`left`:`right`]:`-${p.value}px`,width:`calc(100% + ${p.value}px)`});function y(e){if(t.container===!0||document.qScrollPrevented!==!0){let n={position:e.position.top,direction:e.direction,directionChanged:e.directionChanged,inflectionPoint:e.inflectionPoint.top,delta:e.delta.top};u.value=n,t.onScroll!==void 0&&i(`scroll`,n)}}function x(e){let{height:n,width:r}=e,a=!1;s.value!==n&&(a=!0,s.value=n,t.onScrollHeight!==void 0&&i(`scrollHeight`,n),w()),l.value!==r&&(a=!0,l.value=r),a===!0&&t.onResize!==void 0&&i(`resize`,e)}function C({height:e}){d.value!==e&&(d.value=e,w())}function w(){if(t.container===!0){let e=s.value>d.value?xe():0;p.value!==e&&(p.value=e)}}let E=null,D={instances:{},view:T(()=>t.view),isContainer:T(()=>t.container),rootRef:o,height:s,containerHeight:d,scrollbarWidth:p,totalWidth:T(()=>l.value+p.value),rows:T(()=>{let e=t.view.toLowerCase().split(` `);return{top:e[0].split(``),middle:e[1].split(``),bottom:e[2].split(``)}}),header:e({size:0,offset:0,space:!1}),right:e({size:300,offset:0,space:!1}),footer:e({size:0,offset:0,space:!1}),left:e({size:300,offset:0,space:!1}),scroll:u,animate(){E===null?document.body.classList.add(`q-body--layout-animate`):clearTimeout(E),E=setTimeout(()=>{E=null,document.body.classList.remove(`q-body--layout-animate`)},155)},update(e,t,n){D[e][t]=n}};if(c(oe,D),xe()>0){let e=null,n=document.body;function r(){e=null,n.classList.remove(`hide-scrollbar`)}function i(){if(e===null){if(n.scrollHeight>a.screen.height)return;n.classList.add(`hide-scrollbar`)}else clearTimeout(e);e=setTimeout(r,300)}function o(t){e!==null&&t===`remove`&&(clearTimeout(e),r()),window[`${t}EventListener`](`resize`,i)}g(()=>t.container===!0?`remove`:`add`,o),t.container!==!0&&o(`add`),f(()=>{o(`remove`)})}return()=>{let e=ie(n.default,[r(Xe,{onScroll:y}),r(Ye,{onResize:x})]),i=r(`div`,{class:m.value,style:h.value,ref:t.container===!0?void 0:o,tabindex:-1},e);return t.container===!0?r(`div`,{class:`q-layout-container overflow-hidden`,ref:o},[r(Ye,{onResize:C}),r(`div`,{class:`absolute-full`,style:_.value},[r(`div`,{class:`scroll`,style:v.value},[i])])]):i}}}),Ht={class:`acceptance-panel q-pa-md`},Ut={class:`row items-center q-mb-sm`},Wt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},Gt={key:0,class:`criterion-add-row row items-center q-mb-xs`},Kt={key:1,class:`acceptance-list`},qt=[`onDblclick`],Jt={key:2,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},Yt=nt(j({__name:`AcceptancePanel`,props:{tasks:{}},setup(e){let{t}=Oe(),n=Pe(),r=ze();function s(){let e=n.selectedWorkspaceId;e&&yt(e,r,n)}let c=S(!1),l=S(``),u=S(null),d=S(``),f=S({});function h(e,t){if(t){let n=t.$el??t;f.value[e]=n}else delete f.value[e]}function g(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function _(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}async function b(e){let t=e.status===`done`?`pending`:`done`;try{let r=await fetch(`/api/workspaces/${e.workspaceId}/tasks/${e.id}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({status:t})});if(!r.ok)throw Error(`HTTP ${r.status}`);n.selectedWorkspaceId&&n.fetchWorkspaceDetails(n.selectedWorkspaceId)}catch(e){console.error(`Failed to update task:`,e)}}function T(){c.value=!0,l.value=``}async function k(){let e=l.value.trim(),t=n.selectedWorkspace?.id;if(!(!e||!t))try{await n.createTask(t,e,!0),l.value=``,c.value=!1}catch{}}function j(){l.value=``,c.value=!1}function N(e){u.value=e.id,d.value=e.title,i(()=>{let t=f.value[e.id]?.querySelector(`input, textarea`);t?.focus(),t?.select()})}async function te(e){if(u.value!==e.id)return;let t=d.value.trim(),r=e.id;if(u.value=null,!t||t===e.title)return;let i=n.selectedWorkspace?.id;if(i)try{await n.updateTaskTitle(i,r,t)}catch{}}function P(){u.value=null,d.value=``}async function F(e){let t=n.selectedWorkspace?.id;if(t)try{await n.deleteTask(t,e.id)}catch{}}return(t,r)=>(o(),E(`div`,Ht,[O(`div`,Ut,[O(`div`,Wt,m(t.$t(`acceptance.title`)),1),v(it),y(n).selectedWorkspace?(o(),x(U,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`fact_check`,color:`grey-5`,onClick:s},{default:a(()=>[v(K,null,{default:a(()=>[w(m(t.$t(`tasks.askProgress`)),1)]),_:1})]),_:1})):C(``,!0),y(n).selectedWorkspace?(o(),x(U,{key:1,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,onClick:T},{default:a(()=>[v(K,null,{default:a(()=>[w(m(t.$t(`tooltip.addCriterion`)),1)]),_:1})]),_:1})):C(``,!0)]),c.value?(o(),E(`div`,Gt,[v(ke,{modelValue:l.value,"onUpdate:modelValue":r[0]||=e=>l.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:t.$t(`acceptance.newCriterion`),class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[ee(L(k,[`prevent`]),[`enter`]),ee(L(j,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):C(``,!0),e.tasks.length>0?(o(),E(`div`,Kt,[(o(!0),E(D,null,p(e.tasks,e=>(o(),E(`div`,{key:e.id,class:`acceptance-item row items-center q-mb-xxs`},[v(B,{name:g(e.status),size:`16px`,style:A({color:_(e.status)}),class:`q-mr-xs cursor-pointer`,onClick:t=>b(e)},null,8,[`name`,`style`,`onClick`]),u.value===e.id?(o(),x(ke,{key:0,ref_for:!0,ref:t=>h(e.id,t),modelValue:d.value,"onUpdate:modelValue":r[1]||=e=>d.value=e,dark:``,dense:``,borderless:``,class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[ee(L(t=>te(e),[`prevent`]),[`enter`]),ee(L(P,[`prevent`]),[`esc`])],onBlur:t=>te(e)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(o(),E(D,{key:1},[O(`span`,{class:M([`col acceptance-title text-caption`,{"text-strike":e.status===`done`}]),style:A({color:e.status===`done`?`#4ade80`:`#ccc`}),onDblclick:t=>N(e)},m(e.title),47,qt),v(U,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`criterion-delete-btn`,onClick:t=>F(e)},{default:a(()=>[v(K,null,{default:a(()=>[w(m(t.$t(`tooltip.removeCriterion`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):c.value?C(``,!0):(o(),E(`div`,Jt,m(t.$t(`acceptance.empty`)),1))]))}}),[[`__scopeId`,`data-v-20a94a3d`]]),Xt={class:`agent-todos-panel q-pa-md`},Zt={class:`row items-center q-mb-sm`},Qt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},$t={key:0,class:`todos-list`},en={key:1,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},tn=nt(j({__name:`AgentTodosPanel`,setup(e){let{t}=Oe(),n=Pe();function r(e){switch(e){case`completed`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function i(e){switch(e){case`completed`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(e,t)=>(o(),E(`div`,Xt,[O(`div`,Zt,[O(`div`,Qt,m(e.$t(`agentTodos.title`)),1)]),y(n).currentAgentTodos.length>0?(o(),E(`div`,$t,[(o(!0),E(D,null,p(y(n).currentAgentTodos,(e,t)=>(o(),E(`div`,{key:t,class:`todo-item row items-start q-py-xxs`},[v(B,{name:r(e.status),size:`14px`,style:A({color:i(e.status)}),class:`q-mr-xs q-mt-xxs`},null,8,[`name`,`style`]),O(`span`,{class:M([`col todo-title text-caption`,{"text-strike":e.status===`completed`}]),style:A({color:e.status===`completed`?`#4ade80`:`#ccc`})},m(e.content),7)]))),128))])):(o(),E(`div`,en,m(e.$t(`agentTodos.empty`)),1))]))}}),[[`__scopeId`,`data-v-6a3613f7`]]),nn={class:`documents-panel q-pa-md`},rn={class:`row items-center justify-between q-mb-sm`},an={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},on={key:0,class:`text-caption text-grey-8`},sn={key:1,class:`text-center q-py-lg`},cn={key:2,class:`text-caption text-grey-8 text-center q-py-lg`},ln={key:0,class:`text-center q-py-lg`},un=[`innerHTML`],dn=nt(j({__name:`DocumentsPanel`,props:{workspace:{}},setup(e){let t=e,{t:n}=Oe(),r=dt(),i=tt(),s=T(()=>t.workspace?i.documentsFor(t.workspace.id):[]),c=T(()=>st(s.value)),l=T(()=>i.selected?.path??null),u=T(()=>{if(!i.selected)return``;let e=Qe.parse(i.selected.content,{async:!1,breaks:!0,gfm:!0});return $e.sanitize(e)});async function d(){t.workspace&&await i.fetchDocuments(t.workspace.id)}async function f(e){if(!(!t.workspace||!e.file))try{await i.openDocument(t.workspace.id,e.file)}catch{r.notify({type:`negative`,message:n(`documents.loadFailed`),position:`top`})}}function p(){i.closeDocument()}return g(()=>t.workspace?.id,e=>{i.closeDocument(),e&&i.fetchDocuments(e)},{immediate:!0}),(t,n)=>(o(),E(`div`,nn,[O(`div`,rn,[O(`div`,an,m(t.$t(`documents.title`)),1),y(i).selected?(o(),x(U,{key:1,flat:``,dense:``,"no-caps":``,size:`sm`,icon:`arrow_back`,label:t.$t(`documents.back`),color:`grey-5`,onClick:p},null,8,[`label`])):(o(),x(U,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,loading:y(i).loadingList,onClick:d},{default:a(()=>[v(K,null,{default:a(()=>[w(m(t.$t(`documents.refresh`)),1)]),_:1})]),_:1},8,[`loading`]))]),y(i).selected?(o(),E(D,{key:1},[y(i).loadingContent?(o(),E(`div`,ln,[v(R,{size:`24px`,color:`grey-6`})])):(o(),E(`div`,{key:1,class:`document-content`,innerHTML:u.value},null,8,un))],64)):(o(),E(D,{key:0},[e.workspace?y(i).loadingList?(o(),E(`div`,sn,[v(R,{size:`24px`,color:`grey-6`})])):s.value.length===0?(o(),E(`div`,cn,m(t.$t(`documents.empty`)),1)):(o(),x(ot,{key:3,nodes:c.value,"node-key":`nodeKey`,"label-key":`label`,"children-key":`children`,dark:``,dense:``,"default-expand-all":``,"no-selection-unset":``,selected:l.value?`file:${l.value}`:``,class:`documents-tree`,"onUpdate:selected":n[0]||=e=>{if(typeof e!=`string`||!e.startsWith(`file:`))return;let t=s.value.find(t=>`file:${t.path}`===e);t&&f({file:t})}},{"default-header":a(({node:e})=>[v(B,{name:e.isFolder?`folder`:`description`,color:e.isFolder?`indigo-4`:`grey-5`,size:`14px`,class:`q-mr-xs`},null,8,[`name`,`color`]),O(`span`,{class:M(e.isFolder?`text-grey-4`:`text-grey-3`),style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},m(e.label),3)]),_:1},8,[`nodes`,`selected`])):(o(),E(`div`,on,m(t.$t(`common.selectWorkspace`)),1))],64))]))}}),[[`__scopeId`,`data-v-89e5de13`]]),fn=Object.keys(De);function pn(e){return fn.reduce((t,n)=>{let r=e[n];return r!==void 0&&(t[n]=r),t},{})}var mn=F({name:`QBtnDropdown`,props:{...De,...ge,modelValue:Boolean,split:Boolean,dropdownIcon:String,contentClass:[Array,String,Object],contentStyle:[Array,String,Object],cover:Boolean,persistent:Boolean,noEscDismiss:Boolean,noRouteDismiss:Boolean,autoClose:Boolean,noRefocus:Boolean,noFocus:Boolean,menuAnchor:{type:String,default:`bottom end`},menuSelf:{type:String,default:`top end`},menuOffset:Array,disableMainBtn:Boolean,disableDropdown:Boolean,noIconAnimation:Boolean,toggleAriaLabel:String},emits:[`update:modelValue`,`click`,`beforeShow`,`show`,`beforeHide`,`hide`],setup(e,{slots:t,emit:n}){let{proxy:i}=b(),a=S(e.modelValue),o=S(null),s=he(),c=T(()=>{let t={"aria-expanded":a.value===!0?`true`:`false`,"aria-haspopup":`true`,"aria-controls":s.value,"aria-label":e.toggleAriaLabel||i.$q.lang.label[a.value===!0?`collapse`:`expand`](e.label)};return(e.disable===!0||e.split===!1&&e.disableMainBtn===!0||e.disableDropdown===!0)&&(t[`aria-disabled`]=`true`),t}),l=T(()=>`q-btn-dropdown__arrow`+(a.value===!0&&e.noIconAnimation===!1?` rotate-180`:``)+(e.split===!1?` q-btn-dropdown__arrow-container`:``)),d=T(()=>Ee(e)),f=T(()=>pn(e));g(()=>e.modelValue,e=>{o.value?.[e?`show`:`hide`]()}),g(()=>e.split,w);function p(e){a.value=!0,n(`beforeShow`,e)}function m(e){n(`show`,e),n(`update:modelValue`,!0)}function h(e){a.value=!1,n(`beforeHide`,e)}function _(e){n(`hide`,e),n(`update:modelValue`,!1)}function v(e){n(`click`,e)}function y(e){te(e),w(),n(`click`,e)}function x(e){o.value?.toggle(e)}function C(e){o.value?.show(e)}function w(e){o.value?.hide(e)}return Object.assign(i,{show:C,hide:w,toggle:x}),u(()=>{e.modelValue===!0&&C()}),()=>{let n=[r(B,{class:l.value,name:e.dropdownIcon||i.$q.iconSet.arrow.dropdown})];return e.disableDropdown!==!0&&n.push(r(lt,{ref:o,id:s.value,class:e.contentClass,style:e.contentStyle,cover:e.cover,fit:!0,persistent:e.persistent,noEscDismiss:e.noEscDismiss,noRouteDismiss:e.noRouteDismiss,autoClose:e.autoClose,noFocus:e.noFocus,noRefocus:e.noRefocus,anchor:e.menuAnchor,self:e.menuSelf,offset:e.menuOffset,separateClosePopup:!0,transitionShow:e.transitionShow,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,onBeforeShow:p,onShow:m,onBeforeHide:h,onHide:_},t.default)),e.split===!1?r(U,{class:`q-btn-dropdown q-btn-dropdown--simple`,...f.value,...c.value,disable:e.disable===!0||e.disableMainBtn===!0,noWrap:!0,round:!1,onClick:v},{default:()=>ue(t.label,[]).concat(n),loading:t.loading}):r(at,{class:`q-btn-dropdown q-btn-dropdown--split no-wrap q-btn-item`,rounded:e.rounded,square:e.square,...d.value,glossy:e.glossy,stretch:e.stretch},()=>[r(U,{class:`q-btn-dropdown--current`,...f.value,disable:e.disable===!0||e.disableMainBtn===!0,noWrap:!0,round:!1,onClick:y},{default:t.label,loading:t.loading}),r(U,{class:`q-btn-dropdown__arrow-container q-anchor--skip`,...c.value,...d.value,disable:e.disable===!0||e.disableDropdown===!0,rounded:e.rounded,color:e.color,textColor:e.textColor,dense:e.dense,size:e.size,padding:e.padding,ripple:e.ripple},()=>n)])}}}),hn={class:`text-h6`},gn={class:`text-body2 text-grey-5 q-mt-xs`},_n={key:0,class:`text-caption text-grey-6 row items-center`},vn={key:1,class:`row items-center q-gutter-sm`},yn={class:`text-caption text-negative`},bn={key:2,class:`text-caption text-grey-6`},xn={key:3},Sn=[`onClick`],Cn={class:`commit-sha text-grey-5`},wn={class:`commit-subject text-grey-4 ellipsis q-ml-sm`},Tn={class:`text-caption`},En={class:`text-grey-5 q-mt-xs`},Dn={key:0,class:`text-caption text-grey-6 row items-center`},On={key:1,class:`row items-center q-gutter-sm`},kn={class:`text-caption text-negative`},An={key:2,class:`text-caption text-grey-6`},jn={key:3},Mn=[`onClick`],Nn={class:`commit-sha text-grey-5`},Pn={class:`commit-subject text-grey-4 ellipsis q-ml-sm`},Fn={class:`text-caption`},In={class:`text-grey-5 q-mt-xs`},Ln=nt(j({__name:`BranchDivergenceDialog`,props:{modelValue:{type:Boolean},workspaceId:{},initialTab:{},aheadCount:{},behindCount:{},sourceBranch:{},workingBranch:{}},emits:[`update:modelValue`,`append-sha`],setup(e,{emit:n}){let r=e,i=n,{t:s}=Oe(),c=Pe(),l=S(r.initialTab),u=S([]),d=S([]),f=S(!1),h=S(null),_=null;async function y(){_?.abort();let e=new AbortController;_=e,f.value=!0,h.value=null;try{let t=await c.fetchBranchDivergence(r.workspaceId,{signal:e.signal});if(e.signal.aborted)return;u.value=t.ahead,d.value=t.behind}catch(e){if(e?.name===`AbortError`)return;h.value=s(`git.divergence.failed`)}finally{_===e&&(_=null),f.value=!1}}function b(){y()}g(()=>r.modelValue,e=>{e?(l.value=r.initialTab,y()):(_?.abort(),u.value=[],d.value=[],h.value=null)});function C(e){i(`append-sha`,e)}function T(){i(`update:modelValue`,!1)}function k(e){try{return new Date(e).toLocaleDateString()}catch{return e}}return t(()=>{_?.abort()}),(t,n)=>(o(),x(Me,{"model-value":e.modelValue,"onUpdate:modelValue":n[2]||=e=>i(`update:modelValue`,e)},{default:a(()=>[v(Ne,{style:{"min-width":`600px`,"max-width":`90vw`},dark:``},{default:a(()=>[v(Ke,{class:`q-pb-none`},{default:a(()=>[O(`div`,hn,m(t.$t(`git.divergence.title`)),1),O(`div`,gn,m(t.$t(`git.divergence.subtitle`,{source:e.sourceBranch})),1)]),_:1}),v(Lt,{modelValue:l.value,"onUpdate:modelValue":n[0]||=e=>l.value=e,dense:``,align:`left`,"inline-label":``,class:`q-mt-sm`,"indicator-color":`indigo-4`},{default:a(()=>[v(Pt,{name:`ahead`,label:t.$t(`git.divergence.ahead`,{count:e.aheadCount})},null,8,[`label`]),v(Pt,{name:`behind`,label:t.$t(`git.divergence.behind`,{count:e.behindCount})},null,8,[`label`])]),_:1},8,[`modelValue`]),v(me,{dark:``}),v(zt,{modelValue:l.value,"onUpdate:modelValue":n[1]||=e=>l.value=e,animated:``,style:{"max-height":`60vh`}},{default:a(()=>[v(Rt,{name:`ahead`,class:`q-pa-md`},{default:a(()=>[f.value?(o(),E(`div`,_n,[v(R,{size:`xs`,class:`q-mr-xs`}),w(m(t.$t(`git.divergence.loading`)),1)])):h.value?(o(),E(`div`,vn,[O(`span`,yn,m(h.value),1),v(U,{flat:``,dense:``,"no-caps":``,label:t.$t(`git.divergence.retry`),color:`indigo-4`,onClick:b},null,8,[`label`])])):u.value.length===0?(o(),E(`div`,bn,m(t.$t(`git.divergence.empty.ahead`)),1)):(o(),E(`div`,xn,[(o(!0),E(D,null,p(u.value,e=>(o(),E(`div`,{key:e.sha,class:`commit-item row no-wrap items-center cursor-pointer q-py-xs`,onClick:t=>C(e.sha)},[v(B,{name:e.isPushed?`cloud_done`:`cloud_upload`,size:`12px`,color:e.isPushed?`grey-6`:`orange-5`,class:`q-mr-xs`},null,8,[`name`,`color`]),O(`span`,Cn,m(e.shortSha),1),O(`span`,wn,m(e.subject),1),v(K,{anchor:`top middle`,self:`bottom middle`},{default:a(()=>[O(`div`,Tn,[O(`div`,null,[O(`code`,null,m(e.sha),1)]),O(`div`,En,m(e.author)+` · `+m(k(e.date)),1)])]),_:2},1024)],8,Sn))),128))]))]),_:1}),v(Rt,{name:`behind`,class:`q-pa-md`},{default:a(()=>[f.value?(o(),E(`div`,Dn,[v(R,{size:`xs`,class:`q-mr-xs`}),w(m(t.$t(`git.divergence.loading`)),1)])):h.value?(o(),E(`div`,On,[O(`span`,kn,m(h.value),1),v(U,{flat:``,dense:``,"no-caps":``,label:t.$t(`git.divergence.retry`),color:`indigo-4`,onClick:b},null,8,[`label`])])):d.value.length===0?(o(),E(`div`,An,m(t.$t(`git.divergence.empty.behind`)),1)):(o(),E(`div`,jn,[(o(!0),E(D,null,p(d.value,e=>(o(),E(`div`,{key:e.sha,class:`commit-item row no-wrap items-center cursor-pointer q-py-xs`,onClick:t=>C(e.sha)},[O(`span`,Nn,m(e.shortSha),1),O(`span`,Pn,m(e.subject),1),v(K,{anchor:`top middle`,self:`bottom middle`},{default:a(()=>[O(`div`,Fn,[O(`div`,null,[O(`code`,null,m(e.sha),1)]),O(`div`,In,m(e.author)+` · `+m(k(e.date)),1)])]),_:2},1024)],8,Mn))),128))]))]),_:1})]),_:1},8,[`modelValue`]),v(Ce,{align:`right`,class:`q-pa-md`},{default:a(()=>[v(U,{flat:``,"no-caps":``,label:t.$t(`git.divergence.close`),color:`grey-5`,onClick:T},null,8,[`label`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),[[`__scopeId`,`data-v-fd1cc184`]]);function Rn(e){let t=e.replace(/^#/,``);if(!/^[0-9a-fA-F]{6}$/.test(t))return`#ffffff`;let n=Number.parseInt(t.slice(0,2),16)/255,r=Number.parseInt(t.slice(2,4),16)/255,i=Number.parseInt(t.slice(4,6),16)/255,a=e=>e<=.03928?e/12.92:((e+.055)/1.055)**2.4;return .2126*a(n)+.7152*a(r)+.0722*a(i)<.5?`#ffffff`:`#1a1a1a`}var zn={class:`pr-panel`},Bn={class:`pr-panel__header row items-center q-gutter-xs`},Vn=[`href`],Hn={class:`pr-panel__title col ellipsis`},Un={class:`pr-panel__grid`},Wn={class:`pr-panel__label`},Gn={class:`pr-panel__value`},Kn={class:`pr-panel__label`},qn={class:`pr-panel__value pr-panel__reviewers`},Jn={class:`pr-panel__label`},Yn={class:`pr-panel__value`},Xn={class:`pr-panel__label`},Zn={class:`pr-panel__value`},Qn={key:0,class:`pr-panel__ci`},$n={class:`row items-center q-gutter-sm pr-panel__ci-summary`},er={class:`pr-panel__ci-label`},tr={class:`row items-center q-gutter-sm pr-panel__ci-counts`},nr={key:0,class:`pr-panel__ci-count pr-panel__ci-count--failed`},rr={key:1,class:`pr-panel__ci-count pr-panel__ci-count--pending`},ir={key:2,class:`pr-panel__ci-count pr-panel__ci-count--passed`},ar={key:3,class:`pr-panel__ci-count pr-panel__ci-count--skipped`},or={key:0,class:`pr-panel__ci-list q-mt-sm`},sr={class:`ellipsis`},cr={key:1,class:`pr-panel__ci-list q-mt-xs`},lr={class:`ellipsis`},ur={key:2,class:`q-mt-xs`},dr={key:0,class:`pr-panel__ci-list q-mt-xs`},fr={class:`ellipsis`},pr={class:`ellipsis`},mr=nt(j({__name:`PrPanel`,props:{snapshot:{}},setup(e){let t=e,{t:r}=Oe(),i=S(!1);function s(e){switch(e){case`APPROVED`:return`#4ade80`;case`CHANGES_REQUESTED`:return`#ef4444`;case`COMMENTED`:return`#f59e0b`;default:return`#6b7280`}}let c=T(()=>{let e=[],n=[],r=[],i=[];for(let a of t.snapshot.ci.checks){if(a.status!==`COMPLETED`){n.push(a);continue}a.conclusion===`FAILURE`||a.conclusion===`CANCELLED`||a.conclusion===`TIMED_OUT`?e.push(a):a.conclusion===`SUCCESS`?r.push(a):i.push(a)}let a=(e,t)=>e.name.localeCompare(t.name);return e.sort(a),n.sort(a),r.sort(a),i.sort(a),{failed:e,pending:n,passed:r,skipped:i}}),l=T(()=>{switch(t.snapshot.ci.rollup){case`SUCCESS`:return`check_circle`;case`FAILURE`:return`cancel`;case`PENDING`:return`hourglass_top`;default:return`help`}}),u=T(()=>{switch(t.snapshot.ci.rollup){case`SUCCESS`:return`green-4`;case`FAILURE`:return`red-4`;case`PENDING`:return`amber-4`;default:return`grey-5`}}),d=T(()=>{switch(t.snapshot.ci.rollup){case`SUCCESS`:return r(`git.pr.ci.passed`);case`FAILURE`:return r(`git.pr.ci.failed`);case`PENDING`:return r(`git.pr.ci.pending`);default:return``}});return(t,r)=>(o(),E(`div`,zn,[O(`div`,Bn,[v(xt,{dense:``,square:``,color:e.snapshot.state===`OPEN`?`green-9`:`grey-9`,"text-color":e.snapshot.state===`OPEN`?`green-3`:`grey-3`,label:e.snapshot.state,class:`pr-panel__state`},null,8,[`color`,`text-color`,`label`]),O(`a`,{href:e.snapshot.url,target:`_blank`,rel:`noopener`,class:`pr-panel__number`},`#`+m(e.snapshot.number),9,Vn),O(`span`,Hn,m(e.snapshot.title),1),e.snapshot.title.length>60?(o(),x(K,{key:0,anchor:`bottom middle`,self:`top middle`},{default:a(()=>[w(m(e.snapshot.title),1)]),_:1})):C(``,!0),y(Fe)(e.snapshot)?(o(),x(xt,{key:1,dense:``,square:``,color:`red-9`,"text-color":`red-3`,icon:`rate_review`,label:t.$t(`git.pr.changesRequestedBadge`),class:`pr-panel__badge`},null,8,[`label`])):e.snapshot.reviewDecision===`APPROVED`?(o(),x(xt,{key:2,dense:``,square:``,color:`green-9`,"text-color":`green-3`,icon:`check`,label:t.$t(`git.pr.approvedBadge`),class:`pr-panel__badge`},null,8,[`label`])):C(``,!0)]),O(`div`,Un,[O(`span`,Wn,m(t.$t(`git.pr.author`)),1),O(`span`,Gn,`@`+m(e.snapshot.author.login),1),e.snapshot.reviewers.length>0?(o(),E(D,{key:0},[O(`span`,Kn,m(t.$t(`git.pr.reviewers`)),1),O(`span`,qn,[(o(!0),E(D,null,p(e.snapshot.reviewers,e=>(o(),E(`span`,{key:e.login,class:`pr-panel__reviewer`},[O(`span`,{class:`pr-panel__dot`,style:A({backgroundColor:s(e.state)})},null,4),O(`span`,null,`@`+m(e.login),1),v(K,null,{default:a(()=>[w(m(e.login)+` — `+m(e.state.toLowerCase()),1)]),_:2},1024)]))),128))])],64)):C(``,!0),e.snapshot.assignees.length>0?(o(),E(D,{key:1},[O(`span`,Jn,m(t.$t(`git.pr.assignees`)),1),O(`span`,Yn,m(e.snapshot.assignees.map(e=>`@`+e.login).join(`, `)),1)],64)):C(``,!0),e.snapshot.labels.length>0?(o(),E(D,{key:2},[O(`span`,Xn,m(t.$t(`git.pr.labels`)),1),O(`span`,Zn,[(o(!0),E(D,null,p(e.snapshot.labels,e=>(o(),x(xt,{key:e.name,dense:``,square:``,style:A({backgroundColor:`#`+e.color,color:y(Rn)(e.color)}),class:`pr-panel__label-chip`,label:e.name},null,8,[`style`,`label`]))),128))])],64)):C(``,!0)]),e.snapshot.ci.rollup===null?C(``,!0):(o(),E(`div`,Qn,[O(`div`,$n,[v(B,{name:l.value,color:u.value,size:`16px`},null,8,[`name`,`color`]),O(`span`,er,m(d.value),1),O(`div`,tr,[c.value.failed.length>0?(o(),E(`span`,nr,[v(B,{name:`cancel`,size:`12px`}),O(`span`,null,m(t.$t(`git.pr.ci.failedCount`,{n:c.value.failed.length})),1)])):C(``,!0),c.value.pending.length>0?(o(),E(`span`,rr,[v(B,{name:`hourglass_top`,size:`12px`}),O(`span`,null,m(t.$t(`git.pr.ci.pendingCount`,{n:c.value.pending.length})),1)])):C(``,!0),c.value.passed.length>0?(o(),E(`span`,ir,[v(B,{name:`check_circle`,size:`12px`}),O(`span`,null,m(t.$t(`git.pr.ci.passedCount`,{n:c.value.passed.length})),1)])):C(``,!0),c.value.skipped.length>0?(o(),E(`span`,ar,[v(B,{name:`remove_circle_outline`,size:`12px`}),O(`span`,null,m(t.$t(`git.pr.ci.skippedCount`,{n:c.value.skipped.length})),1)])):C(``,!0)])]),c.value.failed.length>0?(o(),E(`div`,or,[(o(!0),E(D,null,p(c.value.failed,e=>(o(),x(n(e.detailsUrl?`a`:`div`),{key:`f-${e.name}-${e.detailsUrl??``}`,href:e.detailsUrl??void 0,target:`_blank`,rel:`noopener`,class:`pr-panel__ci-item pr-panel__ci-item--failed`},{default:a(()=>[v(B,{name:`cancel`,size:`14px`}),O(`span`,sr,m(e.name),1)]),_:2},1032,[`href`]))),128))])):C(``,!0),c.value.pending.length>0?(o(),E(`div`,cr,[(o(!0),E(D,null,p(c.value.pending,e=>(o(),x(n(e.detailsUrl?`a`:`div`),{key:`p-${e.name}-${e.detailsUrl??``}`,href:e.detailsUrl??void 0,target:`_blank`,rel:`noopener`,class:`pr-panel__ci-item pr-panel__ci-item--pending`},{default:a(()=>[v(B,{name:`hourglass_top`,size:`14px`}),O(`span`,lr,m(e.name),1)]),_:2},1032,[`href`]))),128))])):C(``,!0),c.value.passed.length+c.value.skipped.length>0?(o(),E(`div`,ur,[v(U,{dense:``,flat:``,"no-caps":``,size:`sm`,icon:i.value?`expand_less`:`expand_more`,label:i.value?t.$t(`git.pr.ci.hidePassed`):t.$t(`git.pr.ci.showPassed`,{n:c.value.passed.length+c.value.skipped.length}),class:`pr-panel__ci-toggle`,onClick:r[0]||=e=>i.value=!i.value},null,8,[`icon`,`label`]),i.value?(o(),E(`div`,dr,[(o(!0),E(D,null,p(c.value.passed,e=>(o(),x(n(e.detailsUrl?`a`:`div`),{key:`s-${e.name}-${e.detailsUrl??``}`,href:e.detailsUrl??void 0,target:`_blank`,rel:`noopener`,class:`pr-panel__ci-item pr-panel__ci-item--passed`},{default:a(()=>[v(B,{name:`check_circle`,size:`14px`}),O(`span`,fr,m(e.name),1)]),_:2},1032,[`href`]))),128)),(o(!0),E(D,null,p(c.value.skipped,e=>(o(),x(n(e.detailsUrl?`a`:`div`),{key:`k-${e.name}-${e.detailsUrl??``}`,href:e.detailsUrl??void 0,target:`_blank`,rel:`noopener`,class:`pr-panel__ci-item pr-panel__ci-item--skipped`},{default:a(()=>[v(B,{name:`remove_circle_outline`,size:`14px`}),O(`span`,pr,m(e.name),1)]),_:2},1032,[`href`]))),128))])):C(``,!0)])):C(``,!0)]))]))}}),[[`__scopeId`,`data-v-b8060f4f`]]),hr={class:`git-panel q-px-sm q-py-md`},gr={class:`row items-center justify-between q-mb-sm`},_r={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},vr={key:0,class:`row items-center justify-center q-py-xl`},yr={class:`git-subcard`},br={class:`git-subcard-title`},xr={class:`row items-center q-mb-xs`},Sr={class:`text-caption text-grey-3`},Cr={class:`row items-center q-mb-xs`},wr={class:`text-caption text-grey-4`,style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},Tr={class:`text-caption text-grey-8`,style:{"font-size":`11px`}},Er={key:3},Dr={key:4,style:{color:`#4ade80`}},Or={key:5,style:{color:`#f59e0b`}},kr={key:0,class:`git-subcard`},Ar={class:`git-subcard-title`},jr={class:`row items-center`,style:{"font-size":`11px`,gap:`14px`,"flex-wrap":`wrap`}},Mr={class:`text-grey-4`},Nr={key:1,class:`row items-center`},Pr={class:`text-grey-4`},Fr={key:2,class:`row items-center`},Ir={class:`text-grey-4`},Lr={key:0,class:`q-ml-xs`,style:{color:`#4ade80`}},Rr={key:1,class:`q-ml-xs`,style:{color:`#f87171`}},zr={key:3,class:`row items-center`},Br={key:0,style:{color:`#4ade80`}},Vr={key:1,class:`q-ml-xs`,style:{color:`#f59e0b`}},Hr={key:2,class:`q-ml-xs text-grey-6`},Ur={key:0,class:`commit-list q-mt-sm`},Wr={key:0,class:`text-caption text-grey-6 q-pa-xs`},Gr={key:1,class:`text-caption text-grey-7 q-pa-xs`},Kr=[`onClick`],qr={class:`commit-sha text-grey-5`},Jr={class:`commit-subject text-grey-4 ellipsis q-ml-sm`},Yr={class:`text-caption`},Xr={class:`text-grey-5 q-mt-xs`},Zr={class:`text-grey-6 q-mt-xs`,style:{"font-style":`italic`}},Qr={key:1,class:`git-subcard`},$r={class:`git-subcard-title`},ei={class:`row no-wrap items-stretch q-gutter-xs`},ti={key:0,class:`col`},ni={key:1,class:`col`},ri={class:`col`},ii={key:2,class:`col-auto`},ai={key:2,class:`git-subcard`},oi={class:`git-subcard-title`},si={key:1,class:`text-caption text-grey-8`},ci={class:`text-subtitle1`},li={class:`text-body2 text-grey-5 q-mt-sm`},ui={class:`git-branch-code`},di={class:`text-caption text-grey-6 q-mt-xs`,style:{"padding-left":`46px`}},fi={class:`text-subtitle1 text-warning`},pi={class:`text-caption text-grey-6 q-mt-xs`},mi={class:`text-caption text-mono`},hi={class:`text-subtitle1 text-negative`},gi={class:`text-caption text-grey-6 q-mt-xs`},_i={class:`text-body2 text-grey-3`,style:{"white-space":`pre-wrap`,"word-break":`break-word`}},vi=nt(j({__name:`GitPanel`,props:{workspace:{}},setup(e){let n=k(()=>Re(()=>import(`./DiffViewer-DzUan5hw.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]))),r=e,{t:i}=Oe(),c=dt(),l=Pe(),u=Se(),d=T(()=>!!r.workspace?.archivedAt),f=T(()=>r.workspace?((u.getProjectByPath(r.workspace.projectPath)?.changeSourceBranchScript??``).trim()||(u.global.changeSourceBranchScript??``).trim()).length>0:!1),h=S(!1),_=S(!1),b=S(!1),A=S(!1),j=S(!1),M=S(!1),N=S(!1),ee=S(!1);function te(e){ee.value=e,N.value=!0}let P=S(!1),F=S(!1),I=S(!1),ne=S([]);async function re(){if(r.workspace){I.value=!0;try{let e=await fetch(`/api/workspaces/${r.workspace.id}/commits?limit=50`,{cache:`no-store`});if(!e.ok)throw Error(`HTTP ${e.status}`);ne.value=(await e.json()).commits}catch(e){console.error(`[GitPanel] fetchCommits failed:`,e),ne.value=[]}finally{I.value=!1}}}async function ie(){F.value=!F.value,F.value&&(I.value=!0,await re())}function ae(e){l.chatDraft=e}function oe(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`})}let se=S(!1),z=S(null),ce=S([]),le=S(!1),ue=S(!1),de=S(!1),fe=S(``),pe=S(null),me=S(!1);function he(e,t){fe.value=e,pe.value=t,de.value=!0}async function ge(){if(r.workspace){me.value=!0;try{let e=await fetch(`/api/workspaces/${r.workspace.id}/git/abort`,{method:`POST`});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error??`Abort failed`)}c.notify({type:`positive`,message:i(`git.conflictAborted`),position:`top`}),de.value=!1,ze()}catch(e){let t=e instanceof Error?e.message:`Abort failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{me.value=!1}}}function _e(e){l.chatDraft=e,N.value=!1}let V=S(null),ve=S(!1),ye=T(()=>{if(!r.workspace?.projectPath)return`-`;let e=r.workspace.projectPath.replace(/\\/g,`/`).split(`/`);return e[e.length-1]||e[e.length-2]||`-`}),be=T(()=>{let e=r.workspace?.id;if(e)return l.prSnapshots[e]}),xe={id:`none`,capabilities:{canCreatePr:!1,canChangePrBase:!1,requestTermShort:`PR`},availability:{available:!1}},H=T(()=>V.value?.forge??xe),we=T(()=>H.value.id===`gitlab`?`glab`:`gh`),Te=T(()=>!(!V.value||H.value.id===`none`||!H.value.availability.available||V.value.unpushedCount===-1)),Ee=T(()=>{if(!V.value)return``;if(V.value.unpushedCount===-1)return i(`git.createPrNoRemote`);if(!H.value.availability.available){let e=H.value.availability.reason;return e===`cli_missing`?i(`git.forgeCliMissing`,{cli:we.value,request:H.value.capabilities.requestTermShort}):e===`not_authenticated`?i(`git.forgeNotAuthenticated`,{cli:we.value}):i(`git.forgeCliMissing`,{cli:we.value,request:H.value.capabilities.requestTermShort})}return``}),De=T(()=>r.workspace?.worktreeOwned!==!1),ke=T(()=>{if(!r.workspace)return!1;let e=!!(V.value?.prUrl&&V.value.prState===`OPEN`);return De.value||e||f.value}),Ae=S(!1),Fe=S(`ahead`);function Ie(e){Fe.value=e,Ae.value=!0}let Le=null;async function ze(e={}){if(!r.workspace){V.value=null;return}Le?.abort();let t=new AbortController;Le=t;let n=r.workspace.id;ve.value=!0;try{let i=await l.fetchGitStats(n,{freshFetch:e.freshFetch,signal:t.signal});if(t.signal.aborted||r.workspace?.id!==n)return;V.value=i}catch(e){if(e?.name===`AbortError`)return;V.value=null}finally{Le===t&&(Le=null),ve.value=!1}}async function Be(){let e=r.workspace?.id;e&&await Promise.allSettled([ze({freshFetch:!0}),l.refreshPrSnapshot(e)])}let Ve=null;g(()=>r.workspace?.id,(e,t)=>{Le?.abort(),Ve&&=(clearTimeout(Ve),null),e!==t&&(V.value=null,ne.value=[],F.value=!1),e&&ze({freshFetch:!0})},{immediate:!0}),g(()=>l.gitRefreshTrigger,()=>{Ve&&clearTimeout(Ve),Ve=setTimeout(()=>ze(),3e3)}),g(()=>{let e=r.workspace?.id;return e?l.gitStatsCache[e]:null},e=>{e&&(ve.value||(V.value=e))}),t(()=>{Ve&&=(clearTimeout(Ve),null),Le?.abort()});function Ue(){let e=r.workspace;e&&c.dialog({title:i(`git.renameBranch`),message:i(`git.renameBranchPrompt`,{branch:e.workingBranch}),prompt:{model:e.workingBranch,type:`text`},dark:!0,cancel:{flat:!0,label:i(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:i(`git.renameBranch`),color:`indigo-4`}}).onOk(async t=>{let n=(t??``).trim();if(!(!n||n===e.workingBranch)){P.value=!0;try{await l.renameWorkspaceBranch(e.id,n),c.notify({type:`positive`,message:i(`git.renameBranchSuccess`,{branch:n}),position:`top`}),ze()}catch(e){let t=e instanceof He&&e.code===`branch_exists`?i(`git.renameBranchExists`,{branch:n}):e instanceof Error?e.message:i(`git.renameBranchFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{P.value=!1}}})}function We(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`)}function Ge(){r.workspace&&c.dialog({title:i(`git.rebaseConfirmTitle`),message:i(`git.rebaseConfirmMessage`,{branch:`<code class="git-branch-code">${We(r.workspace.sourceBranch)}</code>`}),html:!0,dark:!0,cancel:{flat:!0,label:i(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:i(`git.rebase`),color:`orange-4`}}).onOk(async()=>{b.value=!0;try{let e=await fetch(`/api/workspaces/${r.workspace.id}/rebase`,{method:`POST`});if(e.status===409){let t=await e.json();Je(`rebase`,Array.isArray(t.files)?t.files:[]);return}if(!e.ok){let t=await e.json();throw Error(t.error??`Rebase failed`)}c.notify({type:`positive`,message:i(`git.rebaseSuccess`),position:`top`}),ze()}catch(e){let t=e instanceof Error?e.message:i(`git.rebaseFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{b.value=!1}})}function qe(){r.workspace&&c.dialog({title:i(`git.mergeConfirmTitle`),message:i(`git.mergeConfirmMessage`,{branch:`<code class="git-branch-code">${We(r.workspace.sourceBranch)}</code>`}),html:!0,dark:!0,cancel:{flat:!0,label:i(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:i(`git.merge`),color:`purple-4`}}).onOk(async()=>{A.value=!0;try{let e=await fetch(`/api/workspaces/${r.workspace.id}/merge`,{method:`POST`});if(e.status===409){let t=await e.json();Je(`merge`,Array.isArray(t.files)?t.files:[]);return}if(!e.ok){let t=await e.json();throw Error(t.error??`Merge failed`)}c.notify({type:`positive`,message:i(`git.mergeSuccess`),position:`top`}),ze()}catch(e){let t=e instanceof Error?e.message:i(`git.mergeFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{A.value=!1}})}function Je(e,t){z.value=e,ce.value=t,se.value=!0}async function Ye(){if(r.workspace){le.value=!0;try{let e=await fetch(`/api/workspaces/${r.workspace.id}/git/abort`,{method:`POST`});if(!e.ok){let t=await e.json();throw Error(t.error??`Abort failed`)}c.notify({type:`positive`,message:i(`git.conflictAborted`),position:`top`}),se.value=!1,ze()}catch(e){let t=e instanceof Error?e.message:`Abort failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{le.value=!1}}}async function Xe(){if(!(!r.workspace||!z.value)){ue.value=!0;try{let e=await fetch(`/api/workspaces/${r.workspace.id}/git/resolve-with-agent`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({operation:z.value,files:ce.value})});if(!e.ok){let t=await e.json();throw Error(t.error??`Handoff failed`)}c.notify({type:`positive`,message:i(`git.conflictHandoffSuccess`),position:`top`}),se.value=!1}catch(e){let t=e instanceof Error?e.message:`Handoff failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{ue.value=!1}}}let Ze=S(!1),Qe=S(!1);function $e(){r.workspace&&(Qe.value=!1,Ze.value=!0)}async function et(){if(!r.workspace)return;let e=Qe.value;Ze.value=!1,h.value=!0;try{await l.pushBranch(r.workspace.id,{force:e}),c.notify({type:`positive`,message:i(e?`git.branchForcePushed`:`git.branchPushed`),position:`top`}),ze()}catch(e){let t=e instanceof Error?e.message:`Push failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{h.value=!1}}function tt(){r.workspace&&c.dialog({title:i(`git.pullConfirmTitle`),message:i(`git.pullConfirmMessage`,{branch:`<code class="git-branch-code">${We(r.workspace.workingBranch)}</code>`}),html:!0,dark:!0,cancel:{flat:!0,label:i(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:i(`git.pull`),color:`grey-5`}}).onOk(async()=>{_.value=!0;try{await l.pullBranch(r.workspace.id),c.notify({type:`positive`,message:i(`git.branchPulled`),position:`top`}),ze()}catch(e){console.error(`[GitPanel] pullBranch failed:`,e);let t=e instanceof Error?e.message:i(`git.pullFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{_.value=!1}})}function nt(){V.value?.prUrl&&window.open(V.value.prUrl,`_blank`)}function rt(){r.workspace&&c.dialog({title:i(`git.changePrBaseTitle`),message:i(`git.changePrBaseMessage`,{request:H.value.capabilities.requestTermShort}),prompt:{model:r.workspace.sourceBranch,type:`text`},dark:!0,cancel:{flat:!0,label:i(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:i(`common.save`),color:`primary`}}).onOk(async e=>{if(!(!e.trim()||!r.workspace)){M.value=!0;try{let t=await fetch(`/api/workspaces/${r.workspace.id}/change-pr-base`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({base:e.trim()})});if(!t.ok){let e=await t.json();throw Error(e.error??`Failed`)}c.notify({type:`positive`,message:i(`git.changePrBaseSuccess`,{request:H.value.capabilities.requestTermShort}),position:`top`}),ze()}catch(e){let t=e instanceof Error?e.message:i(`git.changePrBaseFailed`,{request:H.value.capabilities.requestTermShort});c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{M.value=!1}}})}let it=S(!1);function at(){r.workspace&&c.dialog({title:i(`git.changeSourceForcePushTitle`),message:i(`git.changeSourceForcePushMessage`),dark:!0,cancel:{flat:!0,label:i(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:i(`git.forcePush`),color:`primary`}}).onOk(async()=>{if(r.workspace)try{let e=await fetch(`/api/workspaces/${r.workspace.id}/force-push`,{method:`POST`});if(!e.ok){let t=await e.json();throw Error(t.error??`Failed`)}c.notify({type:`positive`,message:i(`git.changeSourceForcePushDone`),position:`top`}),ze()}catch(e){let t=e instanceof Error?e.message:`Failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}})}async function ot(){r.workspace&&c.dialog({title:i(`git.changeSourceBranchTitle`),message:i(`git.changeSourceBranchMessage`),prompt:{model:``,type:`text`},dark:!0,cancel:{flat:!0,label:i(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:i(`common.save`),color:`primary`}}).onOk(async e=>{if(!e.trim()||!r.workspace)return;it.value=!0;let t=c.notify({group:!1,spinner:!0,message:i(`git.changeSourceBranchLoading`),position:`top`,timeout:0});try{let t=await fetch(`/api/workspaces/${r.workspace.id}/change-source-branch`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({newBase:e.trim()})}),n=await t.json();if(!t.ok){let e=n.code===`too_many_commits`?i(`git.changeSourceBranchTooMany`,{n:n.commitCount??0}):n.code===`dirty_worktree`?i(`git.changeSourceBranchDirty`):n.code===`agent_running`?i(`git.changeSourceBranchAgentRunning`):n.error??`Failed`;n.ongoingOperation===`cherry-pick`||n.ongoingOperation===`merge`||n.ongoingOperation===`rebase`?he(e,n.ongoingOperation):c.notify({type:`negative`,message:e,position:`top`,timeout:6e3});return}if(r.workspace&&l.updateWorkspaceFromEvent(r.workspace.id,{sourceBranch:e.trim()}),n.status===`conflict`)Je(`cherry-pick`,[]);else{let t=n.status===`aligned`?`git.changeSourceBranchAligned`:`git.changeSourceBranchDone`;c.notify({type:`positive`,message:i(t,{branch:e.trim()}),position:`top`}),n.forcePushNeeded&&at()}}catch(e){let t=e instanceof Error?e.message:`Failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{t(),it.value=!1,ze()}})}async function st(){if(r.workspace){j.value=!0;try{let e=await l.openPullRequest(r.workspace.id);c.notify({type:`positive`,message:i(`git.prCreated`,{n:e.prNumber,request:H.value.capabilities.requestTermShort}),caption:e.prUrl,position:`top`,timeout:5e3}),ze()}catch(e){if(e instanceof He&&e.code===`branch_not_pushed`){c.notify({type:`warning`,message:i(`git.pushFirst`),position:`top`,timeout:6e3});return}if(e instanceof He&&e.code===`unpushed_commits`){c.notify({type:`warning`,message:i(`git.unpushedCommits`),position:`top`,timeout:6e3});return}let t=e instanceof Error?e.message:`Open PR failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{j.value=!1}}}return(t,r)=>(o(),E(`div`,hr,[O(`div`,gr,[O(`div`,_r,m(t.$t(`git.title`)),1),e.workspace?(o(),x(U,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,loading:ve.value,onClick:Be},{default:a(()=>[v(K,null,{default:a(()=>[w(m(t.$t(`tooltip.refreshGitStats`)),1)]),_:1})]),_:1},8,[`loading`])):C(``,!0)]),e.workspace?(o(),E(D,{key:0},[ve.value&&!V.value?(o(),E(`div`,vr,[v(R,{size:`32px`,color:`indigo-4`})])):(o(),E(D,{key:1},[O(`div`,yr,[O(`div`,br,m(t.$t(`git.section.repository`)),1),O(`div`,xr,[v(B,{name:`folder`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),O(`span`,Sr,m(ye.value),1)]),O(`div`,Cr,[r[13]||=O(`span`,{style:{width:`8px`,height:`8px`,"border-radius":`50%`,"background-color":`#4ade80`,display:`inline-block`},class:`q-mr-xs`},null,-1),O(`span`,wr,m(e.workspace.workingBranch),1)]),O(`div`,Tr,[w(m(e.workspace.sourceBranch)+` `,1),V.value?(o(),E(D,{key:0},[V.value.commitCount>0?(o(),E(`span`,{key:0,class:`cursor-pointer arrow-clickable`,style:{color:`#4ade80`},onClick:r[0]||=L(e=>Ie(`ahead`),[`stop`])},` · ↑`+m(V.value.commitCount),1)):C(``,!0),V.value.behindCount>0?(o(),E(`span`,{key:1,class:`cursor-pointer arrow-clickable`,style:{color:`#f87171`},onClick:r[1]||=L(e=>Ie(`behind`),[`stop`])},` · ↓`+m(V.value.behindCount),1)):C(``,!0),V.value.commitCount>0||V.value.behindCount>0?(o(),x(K,{key:2},{default:a(()=>[w(m(t.$t(`git.aheadBehindTooltip`,{ahead:V.value.commitCount,behind:V.value.behindCount,source:e.workspace.sourceBranch})),1)]),_:1})):C(``,!0),r[14]||=w(` · `,-1),V.value.unpushedCount===-1?(o(),E(`span`,Er,m(t.$t(`git.localOnly`)),1)):V.value.unpushedCount===0?(o(),E(`span`,Dr,m(t.$t(`git.pushed`)),1)):(o(),E(`span`,Or,m(t.$t(`git.unpushed`,{count:V.value.unpushedCount})),1))],64)):C(``,!0)])]),V.value?(o(),E(`div`,kr,[O(`div`,Ar,m(t.$t(`git.section.changes`)),1),O(`div`,jr,[V.value.commitCount>0?(o(),E(`div`,{key:0,class:`row items-center commit-toggle cursor-pointer`,onClick:ie},[v(B,{name:`commit`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),O(`span`,Mr,m(t.$t(`git.commits`,{count:V.value.commitCount},V.value.commitCount)),1),I.value?(o(),x(R,{key:0,size:`12px`,color:`indigo-4`,class:`q-ml-xs`})):(o(),x(B,{key:1,name:F.value?`expand_less`:`expand_more`,size:`14px`,color:`grey-6`,class:`q-ml-xs`},null,8,[`name`]))])):(o(),E(`div`,Nr,[v(B,{name:`commit`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),O(`span`,Pr,m(t.$t(`git.commits`,{count:0},0)),1)])),V.value.filesChanged>0?(o(),E(`div`,Fr,[v(B,{name:`insert_drive_file`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),O(`span`,Ir,m(V.value.filesChanged),1),V.value.insertions>0?(o(),E(`span`,Lr,`+`+m(V.value.insertions),1)):C(``,!0),V.value.deletions>0?(o(),E(`span`,Rr,`-`+m(V.value.deletions),1)):C(``,!0)])):C(``,!0),V.value.workingTree&&(V.value.workingTree.staged>0||V.value.workingTree.modified>0||V.value.workingTree.untracked>0)?(o(),E(`div`,zr,[v(B,{name:`edit_note`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),V.value.workingTree.staged>0?(o(),E(`span`,Br,m(V.value.workingTree.staged)+`s`,1)):C(``,!0),V.value.workingTree.modified>0?(o(),E(`span`,Vr,m(V.value.workingTree.modified)+`m`,1)):C(``,!0),V.value.workingTree.untracked>0?(o(),E(`span`,Hr,m(V.value.workingTree.untracked)+`u`,1)):C(``,!0),v(K,null,{default:a(()=>[w(m(t.$t(`git.staged`,{count:V.value.workingTree.staged}))+` · `+m(t.$t(`git.modified`,{count:V.value.workingTree.modified}))+` · `+m(t.$t(`git.untracked`,{count:V.value.workingTree.untracked})),1)]),_:1})])):C(``,!0)]),F.value?(o(),E(`div`,Ur,[I.value?(o(),E(`div`,Wr,[v(R,{size:`xs`,class:`q-mr-xs`}),w(m(t.$t(`git.commits.loading`)),1)])):ne.value.length===0?(o(),E(`div`,Gr,m(t.$t(`git.commits.empty`)),1)):(o(!0),E(D,{key:2},p(ne.value,e=>(o(),E(`div`,{key:e.sha,class:`commit-item row no-wrap items-center cursor-pointer`,onClick:t=>ae(e.sha)},[v(B,{name:e.isPushed?`cloud_done`:`cloud_upload`,size:`12px`,color:e.isPushed?`grey-6`:`orange-5`,class:`q-mr-xs commit-item-icon`},null,8,[`name`,`color`]),O(`span`,qr,m(e.shortSha),1),O(`span`,Jr,m(e.subject),1),v(K,{anchor:`top middle`,self:`bottom middle`,class:`commit-tooltip`},{default:a(()=>[O(`div`,Yr,[O(`div`,null,[O(`code`,null,m(e.sha),1)]),O(`div`,Xr,m(e.author)+` · `+m(oe(e.date)),1),O(`div`,Zr,m(e.isPushed?t.$t(`git.commits.pushed`):t.$t(`git.commits.unpushed`))+` · `+m(t.$t(`git.commits.clickToAppend`)),1)])]),_:2},1024)],8,Kr))),128))])):C(``,!0)])):C(``,!0),e.workspace&&V.value?(o(),E(`div`,Qr,[O(`div`,$r,m(t.$t(`git.section.actions`)),1),H.value.id===`none`?C(``,!0):(o(),E(D,{key:0},[V.value?.prUrl&&V.value.prState===`OPEN`?(o(),x(U,{key:0,"no-caps":``,unelevated:``,dense:``,size:`sm`,color:`green-7`,icon:`open_in_new`,label:t.$t(`git.viewRequest`,{request:H.value.capabilities.requestTermShort}),class:`full-width q-mb-xs`,onClick:nt},null,8,[`label`])):(o(),x(U,{key:1,"no-caps":``,unelevated:``,dense:``,size:`sm`,color:`indigo-5`,icon:`open_in_new`,label:t.$t(`git.createRequest`,{request:H.value.capabilities.requestTermShort}),class:`full-width q-mb-xs`,loading:j.value,disable:!e.workspace||h.value||!Te.value||d.value,onClick:st},{default:a(()=>[!Te.value&&Ee.value?(o(),x(K,{key:0},{default:a(()=>[w(m(Ee.value),1)]),_:1})):C(``,!0)]),_:1},8,[`label`,`loading`,`disable`]))],64)),O(`div`,ei,[V.value?(o(),E(`div`,ti,[v(mn,{split:``,dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,icon:`sync`,label:t.$t(`git.sync`),class:`full-width git-btn`,loading:_.value||b.value||A.value,disable:!e.workspace||h.value||d.value,onClick:r[2]||=e=>V.value.unpushedCount===-1?Ge():tt()},{default:a(()=>[v(ct,{dark:``,dense:``,style:{"min-width":`140px`}},{default:a(()=>[s((o(),x(W,{clickable:``,disable:_.value||b.value||A.value||V.value.unpushedCount===-1||d.value,onClick:tt},{default:a(()=>[v(G,{avatar:``,style:{"min-width":`28px`}},{default:a(()=>[v(B,{name:`download`,size:`16px`,color:`grey-5`})]),_:1}),v(G,null,{default:a(()=>[w(m(t.$t(`git.pull`)),1)]),_:1}),V.value.unpushedCount===-1?(o(),x(K,{key:0},{default:a(()=>[w(m(t.$t(`git.pullNoUpstream`)),1)]),_:1})):C(``,!0)]),_:1},8,[`disable`])),[[ut]]),s((o(),x(W,{clickable:``,disable:_.value||b.value||A.value||d.value,onClick:Ge},{default:a(()=>[v(G,{avatar:``,style:{"min-width":`28px`}},{default:a(()=>[v(B,{name:`replay`,size:`16px`,color:`orange-4`})]),_:1}),v(G,null,{default:a(()=>[w(m(t.$t(`git.rebase`)),1)]),_:1})]),_:1},8,[`disable`])),[[ut]]),s((o(),x(W,{clickable:``,disable:_.value||b.value||A.value||d.value,onClick:qe},{default:a(()=>[v(G,{avatar:``,style:{"min-width":`28px`}},{default:a(()=>[v(B,{name:`merge`,size:`16px`,color:`purple-4`})]),_:1}),v(G,null,{default:a(()=>[w(m(t.$t(`git.merge`)),1)]),_:1})]),_:1},8,[`disable`])),[[ut]])]),_:1})]),_:1},8,[`label`,`loading`,`disable`])])):C(``,!0),V.value?.unpushedCount===0?C(``,!0):(o(),E(`div`,ni,[v(U,{dense:``,"no-caps":``,size:`sm`,outline:``,color:`orange-5`,icon:`upload`,label:t.$t(`git.push`),class:`full-width git-btn`,loading:h.value,disable:!e.workspace||j.value||_.value||b.value||d.value,onClick:$e},{default:a(()=>[v(K,{anchor:`bottom middle`,self:`top middle`,delay:400},{default:a(()=>[w(m(t.$t(`git.push`)),1)]),_:1})]),_:1},8,[`label`,`loading`,`disable`])])),O(`div`,ri,[v(U,{dense:``,"no-caps":``,size:`sm`,outline:``,color:`indigo-4`,icon:`rate_review`,label:t.$t(`git.diffReview`),class:`full-width git-btn`,disable:!e.workspace,onClick:r[3]||=e=>te(!0)},{default:a(()=>[v(K,{anchor:`bottom middle`,self:`top middle`,delay:400},{default:a(()=>[w(m(t.$t(`git.diffReviewTooltip`)),1)]),_:1})]),_:1},8,[`label`,`disable`])]),ke.value?(o(),E(`div`,ii,[v(U,{dense:``,flat:``,size:`sm`,color:`grey-5`,icon:`more_horiz`,class:`git-btn`},{default:a(()=>[v(lt,null,{default:a(()=>[v(ct,{dark:``,dense:``,style:{"min-width":`160px`}},{default:a(()=>[De.value?s((o(),x(W,{key:0,clickable:``,disable:P.value||d.value,onClick:Ue},{default:a(()=>[v(G,{avatar:``,style:{"min-width":`28px`}},{default:a(()=>[v(B,{name:`edit`,size:`16px`,color:`grey-5`})]),_:1}),v(G,null,{default:a(()=>[w(m(t.$t(`git.renameBranch`)),1)]),_:1})]),_:1},8,[`disable`])),[[ut]]):C(``,!0),V.value?.prUrl&&V.value.prState===`OPEN`?s((o(),x(W,{key:1,clickable:``,disable:M.value||d.value,onClick:rt},{default:a(()=>[v(G,{avatar:``,style:{"min-width":`28px`}},{default:a(()=>[v(B,{name:`swap_horiz`,size:`16px`,color:`grey-5`})]),_:1}),v(G,null,{default:a(()=>[w(m(t.$t(`git.changeRequestBase`,{request:H.value.capabilities.requestTermShort})),1)]),_:1})]),_:1},8,[`disable`])),[[ut]]):C(``,!0),f.value?s((o(),x(W,{key:2,clickable:``,disable:it.value||d.value,onClick:ot},{default:a(()=>[v(G,{avatar:``,style:{"min-width":`28px`}},{default:a(()=>[v(B,{name:`alt_route`,size:`16px`,color:`grey-5`})]),_:1}),v(G,null,{default:a(()=>[w(m(t.$t(`git.changeSourceBranch`)),1)]),_:1})]),_:1},8,[`disable`])),[[ut]]):C(``,!0)]),_:1})]),_:1}),v(K,null,{default:a(()=>[w(m(t.$t(`git.actions.more`)),1)]),_:1})]),_:1})])):C(``,!0)])])):C(``,!0),be.value&&be.value.state===`OPEN`?(o(),E(`div`,ai,[O(`div`,oi,m(t.$t(`git.section.pullRequest`)),1),v(mr,{snapshot:be.value},null,8,[`snapshot`])])):C(``,!0)],64))],64)):(o(),E(`div`,si,m(t.$t(`common.selectWorkspace`)),1)),v(Me,{modelValue:Ze.value,"onUpdate:modelValue":r[5]||=e=>Ze.value=e},{default:a(()=>[v(Ne,{dark:``,style:{"min-width":`360px`,"max-width":`480px`}},{default:a(()=>[v(Ke,null,{default:a(()=>[O(`div`,ci,m(t.$t(`git.pushConfirmTitle`)),1),O(`div`,li,[w(m(t.$t(`git.pushConfirmMessagePrefix`))+` `,1),O(`code`,ui,m(e.workspace?.workingBranch??``),1),w(` `+m(t.$t(`git.pushConfirmMessageSuffix`)),1)])]),_:1}),v(Ke,{class:`q-pt-none`},{default:a(()=>[v(je,{modelValue:Qe.value,"onUpdate:modelValue":r[4]||=e=>Qe.value=e,label:t.$t(`git.forcePushToggle`),color:`orange-6`,dense:``},null,8,[`modelValue`,`label`]),O(`div`,di,m(t.$t(`git.forcePushHint`)),1)]),_:1}),v(Ce,{align:`right`},{default:a(()=>[s(v(U,{flat:``,label:t.$t(`common.cancel`),color:`grey-5`},null,8,[`label`]),[[ut]]),v(U,{flat:``,label:Qe.value?t.$t(`git.forcePush`):t.$t(`git.push`),color:Qe.value?`orange-4`:`grey-5`,onClick:et},null,8,[`label`,`color`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),v(Me,{modelValue:se.value,"onUpdate:modelValue":r[7]||=e=>se.value=e,persistent:``},{default:a(()=>[v(Ne,{dark:``,style:{"min-width":`420px`,"max-width":`600px`}},{default:a(()=>[v(Ke,null,{default:a(()=>[O(`div`,fi,[v(B,{name:`warning`,class:`q-mr-xs`}),w(` `+m(z.value===`merge`?t.$t(`git.conflictTitleMerge`):t.$t(`git.conflictTitleRebase`)),1)]),O(`div`,pi,m(t.$t(`git.conflictSubtitle`,{count:ce.value.length})),1)]),_:1}),ce.value.length>0?(o(),x(Ke,{key:0,class:`q-pt-none`},{default:a(()=>[v(ct,{dense:``,dark:``},{default:a(()=>[(o(!0),E(D,null,p(ce.value,e=>(o(),x(W,{key:e},{default:a(()=>[v(G,{side:``},{default:a(()=>[v(B,{name:`insert_drive_file`,size:`xs`})]),_:1}),v(G,null,{default:a(()=>[O(`div`,mi,m(e),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})):C(``,!0),v(Ce,{align:`right`},{default:a(()=>[v(U,{flat:``,"no-caps":``,label:t.$t(`common.cancel`),color:`grey-5`,disable:le.value||ue.value,onClick:r[6]||=e=>se.value=!1},null,8,[`label`,`disable`]),v(U,{flat:``,"no-caps":``,color:`red-4`,icon:`undo`,label:t.$t(`git.conflictAbort`),loading:le.value,disable:ue.value,onClick:Ye},null,8,[`label`,`loading`,`disable`]),v(U,{unelevated:``,"no-caps":``,color:`primary`,icon:`smart_toy`,label:t.$t(`git.conflictResolveWithAgent`),loading:ue.value,disable:le.value,onClick:Xe},null,8,[`label`,`loading`,`disable`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),v(Me,{modelValue:de.value,"onUpdate:modelValue":r[9]||=e=>de.value=e,persistent:``},{default:a(()=>[v(Ne,{dark:``,style:{"min-width":`420px`,"max-width":`600px`}},{default:a(()=>[v(Ke,null,{default:a(()=>[O(`div`,hi,[v(B,{name:`error`,class:`q-mr-xs`}),w(` `+m(t.$t(`git.changeSourceBranchErrorTitle`)),1)]),O(`div`,gi,m(t.$t(`git.changeSourceBranchErrorOngoing`,{op:pe.value})),1)]),_:1}),v(Ke,{class:`q-pt-none`},{default:a(()=>[O(`div`,_i,m(fe.value),1)]),_:1}),v(Ce,{align:`right`},{default:a(()=>[v(U,{flat:``,"no-caps":``,label:t.$t(`common.close`),color:`grey-5`,disable:me.value,onClick:r[8]||=e=>de.value=!1},null,8,[`label`,`disable`]),v(U,{unelevated:``,"no-caps":``,color:`red-5`,icon:`undo`,label:t.$t(`git.changeSourceBranchErrorAbort`),loading:me.value,onClick:ge},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),v(Me,{modelValue:N.value,"onUpdate:modelValue":r[11]||=e=>N.value=e,maximized:``},{default:a(()=>[e.workspace?(o(),x(y(n),{key:0,"workspace-id":e.workspace.id,"initial-review-mode":ee.value,onClose:r[10]||=e=>N.value=!1,onSendToChat:_e},null,8,[`workspace-id`,`initial-review-mode`])):C(``,!0)]),_:1},8,[`modelValue`]),e.workspace&&V.value?(o(),x(Ln,{key:2,modelValue:Ae.value,"onUpdate:modelValue":r[12]||=e=>Ae.value=e,"workspace-id":e.workspace.id,"initial-tab":Fe.value,"ahead-count":V.value.commitCount,"behind-count":V.value.behindCount,"source-branch":e.workspace.sourceBranch,"working-branch":e.workspace.workingBranch,onAppendSha:ae},null,8,[`modelValue`,`workspace-id`,`initial-tab`,`ahead-count`,`behind-count`,`source-branch`,`working-branch`])):C(``,!0)]))}}),[[`__scopeId`,`data-v-c99da00e`]]),yi={class:`schedule-panel column q-pa-md q-gutter-md`},bi={class:`text-subtitle2 q-mb-sm`},xi={key:0,class:`text-caption text-grey-7`},Si={class:`row items-center no-wrap`},Ci={class:`text-body2`},wi={key:0,class:`text-caption text-grey-6 q-mt-xs prompt-preview`},Ti={class:`text-subtitle2 q-mb-sm`},Ei={key:0,class:`text-caption text-grey-7`},Di={class:`row items-center no-wrap`},Oi={class:`text-body2 ellipsis`},ki={class:`text-caption text-grey-6 q-mt-xs`},Ai={key:0},ji={class:`prompt-preview text-caption text-grey-6 q-mt-xs`},Mi=nt(j({__name:`SchedulePanel`,props:{workspaceId:{}},setup(e){let t=e,{t:n}=Oe(),r=dt(),i=Pe(),s=T(()=>i.pendingWakeups[t.workspaceId]??null),c=T(()=>i.crons[t.workspaceId]??[]);g(()=>t.workspaceId,e=>{e&&i.fetchCrons(e)},{immediate:!0});function l(e){return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`})}function u(e){let t=Date.now()-new Date(e).getTime();if(Number.isNaN(t)||t<0)return`—`;let n=Math.floor(t/1e3);if(n<60)return`${n}s`;let r=Math.floor(n/60);if(r<60)return`${r}m`;let i=Math.floor(r/60);return i<24?`${i}h`:`${Math.floor(i/24)}d`}async function d(){try{let e=await fetch(`/api/workspaces/${t.workspaceId}/pending-wakeup`,{method:`DELETE`});if(!e.ok)throw Error(`HTTP ${e.status}`)}catch(e){r.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}async function f(e){try{await i.cancelCron(t.workspaceId,e)}catch(e){r.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}return(e,t)=>(o(),E(`div`,yi,[O(`div`,null,[O(`div`,bi,m(e.$t(`schedule.wakeupTitle`)),1),s.value?(o(),x(Ne,{key:1,dark:``,flat:``,bordered:``},{default:a(()=>[v(Ke,{class:`q-py-sm`},{default:a(()=>[O(`div`,Si,[v(B,{name:`schedule`,size:`16px`,color:`amber-4`,class:`q-mr-sm`}),O(`div`,Ci,m(l(s.value.targetAt)),1),v(it),v(U,{flat:``,dense:``,round:``,icon:`close`,size:`sm`,title:e.$t(`common.cancel`),onClick:d},null,8,[`title`])]),s.value.reason?(o(),E(`pre`,wi,m(s.value.reason),1)):C(``,!0)]),_:1})]),_:1})):(o(),E(`div`,xi,m(e.$t(`schedule.noWakeup`)),1))]),O(`div`,null,[O(`div`,Ti,m(e.$t(`schedule.cronsTitle`)),1),c.value.length===0?(o(),E(`div`,Ei,m(e.$t(`schedule.noCrons`)),1)):(o(),x(ct,{key:1,dense:``,dark:``,separator:``},{default:a(()=>[(o(!0),E(D,null,p(c.value,t=>(o(),x(W,{key:t.id},{default:a(()=>[v(G,null,{default:a(()=>[O(`div`,Di,[v(B,{name:`event_repeat`,size:`16px`,color:`cyan-4`,class:`q-mr-sm`}),O(`div`,Oi,m(t.label||t.expression),1)]),O(`div`,ki,[w(m(e.$t(`schedule.nextFireAt`,{time:l(t.nextFireAt)}))+` `,1),t.lastFiredAt?(o(),E(`span`,Ai,` · `+m(e.$t(`schedule.lastFiredAt`,{time:u(t.lastFiredAt)})),1)):C(``,!0)]),O(`pre`,ji,m(t.prompt),1)]),_:2},1024),v(G,{side:``,top:``},{default:a(()=>[v(U,{flat:``,dense:``,round:``,icon:`close`,size:`sm`,title:e.$t(`common.cancel`),onClick:e=>f(t.id)},null,8,[`title`,`onClick`])]),_:2},1024)]),_:2},1024))),128))]),_:1}))])]))}}),[[`__scopeId`,`data-v-891bf3cf`]]),Ni={class:`subagents-panel q-pa-md`},Pi={class:`text-caption text-uppercase text-weight-bold text-grey-6 q-mb-sm`,style:{"letter-spacing":`0.05em`}},Fi={key:0,class:`text-caption text-grey-8`},Ii={class:`row items-center q-mb-xs`},Li={class:`text-caption text-weight-medium text-grey-3 ellipsis`,style:{"max-width":`220px`}},Ri={key:0,class:`text-caption text-grey-6`,style:{"font-size":`10px`}},zi={class:`text-grey-4`},Bi={class:`row items-center q-gutter-xs q-mt-xs text-caption text-grey-7`,style:{"font-size":`10px`}},Vi={key:0},Hi={key:1},Ui={key:2},Wi=nt(j({__name:`SubagentsPanel`,setup(e){let{t}=Oe(),n=Pe(),r=T(()=>[...n.currentSubagents].reverse());function i(e){return e?e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.floor(e/6e4)}m ${Math.floor(e%6e4/1e3)}s`:``}function a(e){return e?e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e):``}return(e,t)=>(o(),E(`div`,Ni,[O(`div`,Pi,m(e.$t(`subagents.title`)),1),r.value.length===0?(o(),E(`div`,Fi,m(e.$t(`subagents.empty`)),1)):C(``,!0),(o(!0),E(D,null,p(r.value,t=>(o(),E(`div`,{key:t.toolUseId,class:`subagent-item q-mb-sm rounded-borders q-pa-sm`},[O(`div`,Ii,[v(B,{name:t.status===`running`?`play_circle`:`check_circle`,size:`14px`,color:t.status===`running`?`green-4`:`grey-6`,class:`q-mr-xs`},null,8,[`name`,`color`]),O(`span`,Li,m(t.description||t.toolUseId),1)]),t.lastToolName?(o(),E(`div`,Ri,[w(m(e.$t(`subagents.running`)),1),O(`span`,zi,m(t.lastToolName),1)])):C(``,!0),O(`div`,Bi,[t.toolUses===void 0?C(``,!0):(o(),E(`span`,Vi,m(e.$t(`subagents.tools`,{count:t.toolUses})),1)),t.totalTokens?(o(),E(`span`,Hi,`· `+m(a(t.totalTokens))+` tok`,1)):C(``,!0),t.durationMs?(o(),E(`span`,Ui,`· `+m(i(t.durationMs)),1)):C(``,!0)])]))),128))]))}}),[[`__scopeId`,`data-v-dd805632`]]),Gi={class:`notion-panel q-pa-md`},Ki={class:`row items-center q-mb-sm`},qi={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},Ji={key:0,class:`q-mb-sm`},Yi={class:`text-caption text-grey-7`,style:{"font-size":`11px`}},Xi={key:1,class:`text-caption text-grey-8 q-mb-sm`,style:{"font-size":`11px`}},Zi={key:2,class:`task-add-row row items-center q-mb-xs`},Qi={key:3,class:`tasks-list`},$i=[`onDblclick`],ea={key:1,class:`text-caption text-grey-8`},ta=nt(j({__name:`TasksPanel`,props:{workspace:{},tasks:{}},setup(e){let t=e,{t:n}=Oe(),r=Pe(),s=ze();function c(){t.workspace?.id&&yt(t.workspace.id,s,r)}let l=T(()=>t.tasks.filter(e=>!e.isAcceptanceCriterion)),u=T(()=>l.value.filter(e=>e.status===`done`).length),d=T(()=>l.value.length),f=T(()=>d.value>0?u.value/d.value:0),h=S(!1),g=S(``),_=S(null),y=S(``),b=S({});function k(e,t){if(t){let n=t.$el??t;b.value[e]=n}else delete b.value[e]}function j(){h.value=!0,g.value=``}async function N(){let e=g.value.trim();if(!(!e||!t.workspace?.id))try{await r.createTask(t.workspace.id,e,!1),g.value=``,h.value=!1}catch{}}function te(){g.value=``,h.value=!1}function P(e){_.value=e.id,y.value=e.title,i(()=>{let t=b.value[e.id]?.querySelector(`input, textarea`);t?.focus(),t?.select()})}async function F(e){if(_.value!==e.id)return;let n=y.value.trim(),i=e.id;if(_.value=null,!(!n||n===e.title)&&t.workspace?.id)try{await r.updateTaskTitle(t.workspace.id,i,n)}catch{}}function I(){_.value=null,y.value=``}async function ne(e){if(t.workspace?.id)try{await r.deleteTask(t.workspace.id,e.id)}catch{}}async function re(e){if(!t.workspace?.id)return;let n=e.status===`done`?`pending`:`done`;try{let i=await fetch(`/api/workspaces/${e.workspaceId}/tasks/${e.id}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({status:n})});if(!i.ok)throw Error(`HTTP ${i.status}`);r.fetchWorkspaceDetails(t.workspace.id)}catch(e){console.error(`Failed to toggle task:`,e)}}function ie(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function ae(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(t,n)=>(o(),E(`div`,Gi,[O(`div`,Ki,[O(`div`,qi,m(t.$t(`tasks.title`)),1),v(it),e.workspace?(o(),x(U,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`fact_check`,color:`grey-5`,onClick:c},{default:a(()=>[v(K,null,{default:a(()=>[w(m(t.$t(`tasks.askProgress`)),1)]),_:1})]),_:1})):C(``,!0),e.workspace?(o(),x(U,{key:1,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,onClick:j},{default:a(()=>[v(K,null,{default:a(()=>[w(m(t.$t(`tooltip.addTask`)),1)]),_:1})]),_:1})):C(``,!0)]),e.workspace?(o(),E(D,{key:0},[d.value>0?(o(),E(`div`,Ji,[v(we,{value:f.value,color:`primary`,"track-color":`grey-9`,class:`q-mb-xs`,style:{height:`4px`,"border-radius":`2px`}},null,8,[`value`]),O(`div`,Yi,m(t.$t(`notion.subtasks`,{done:u.value,total:d.value})),1)])):h.value?C(``,!0):(o(),E(`div`,Xi,m(t.$t(`notion.noTasks`)),1)),h.value?(o(),E(`div`,Zi,[v(ke,{modelValue:g.value,"onUpdate:modelValue":n[0]||=e=>g.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:t.$t(`notion.newTask`),class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[ee(L(N,[`prevent`]),[`enter`]),ee(L(te,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):C(``,!0),l.value.length>0?(o(),E(`div`,Qi,[(o(!0),E(D,null,p(l.value,e=>(o(),E(`div`,{key:e.id,class:`task-item row items-center q-py-xxs`},[v(B,{name:ie(e.status),size:`14px`,style:A({color:ae(e.status)}),class:`q-mr-xs cursor-pointer`,onClick:t=>re(e)},null,8,[`name`,`style`,`onClick`]),_.value===e.id?(o(),x(ke,{key:0,ref_for:!0,ref:t=>k(e.id,t),modelValue:y.value,"onUpdate:modelValue":n[1]||=e=>y.value=e,dark:``,dense:``,borderless:``,class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[ee(L(t=>F(e),[`prevent`]),[`enter`]),ee(L(I,[`prevent`]),[`esc`])],onBlur:t=>F(e)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(o(),E(D,{key:1},[O(`span`,{class:M([`col task-title text-caption`,{"text-strike":e.status===`done`}]),style:A({color:e.status===`done`?`#4ade80`:`#ccc`}),onDblclick:t=>P(e)},m(e.title),47,$i),v(U,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`task-delete-btn`,onClick:t=>ne(e)},{default:a(()=>[v(K,null,{default:a(()=>[w(m(t.$t(`tooltip.removeTask`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):C(``,!0)],64)):(o(),E(`div`,ea,m(t.$t(`common.selectWorkspace`)),1))]))}}),[[`__scopeId`,`data-v-4bc9713a`]]),na=2,ra=1,ia=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(na,Math.floor(u/e.css.cell.width)),rows:Math.max(ra,Math.floor(l/e.css.cell.height))}}},aa=Object.defineProperty,oa=Object.getOwnPropertyDescriptor,sa=(e,t)=>{for(var n in t)aa(e,n,{get:t[n],enumerable:!0})},ca=(e,t,n,r)=>{for(var i=r>1?void 0:r?oa(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&&aa(t,n,i),i},q=(e,t)=>(n,r)=>t(n,r,e),la=`Terminal input`,ua={get:()=>la,set:e=>la=e},da=`Too much output to announce, navigate to rows manually to read`,fa={get:()=>da,set:e=>da=e};function pa(e){return e.replace(/\r?\n/g,`\r`)}function ma(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function ha(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function ga(e,t,n,r){e.stopPropagation(),e.clipboardData&&_a(e.clipboardData.getData(`text/plain`),t,n,r)}function _a(e,t,n,r){e=pa(e),e=ma(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function va(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 ya(e,t,n,r,i){va(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function ba(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function xa(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 Sa=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}},Ca=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}},wa=``,Ta=` `,Ea=class e{constructor(){this.fg=0,this.bg=0,this.extended=new Da}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}},Da=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}},Oa=class e extends Ea{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new Da,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?ba(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()]}},ka=`di$target`,Aa=`di$dependencies`,ja=new Map;function Ma(e){return e[Aa]||[]}function Na(e){if(ja.has(e))return ja.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);Pa(t,e,r)};return t._id=e,ja.set(e,t),t}function Pa(e,t,n){t[ka]===t?t[Aa].push({id:e,index:n}):(t[Aa]=[{id:e,index:n}],t[ka]=t)}var Fa=Na(`BufferService`),Ia=Na(`CoreMouseService`),La=Na(`CoreService`),Ra=Na(`CharsetService`),za=Na(`InstantiationService`),Ba=Na(`LogService`),Va=Na(`OptionsService`),Ha=Na(`OscLinkService`),Ua=Na(`UnicodeService`),Wa=Na(`DecorationService`),Ga=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 Oa,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?1:0),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):Ka(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)}};Ga=ca([q(0,Fa),q(1,Va),q(2,Ha)],Ga);function Ka(e,t){if(confirm(`Do you want to navigate to ${t}?
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DiffViewer-mgpaPemQ.js","assets/index-DnKXe7D-.js","assets/vue-i18n-Cq-KgjJC.js","assets/runtime-core.esm-bundler-D_RRiKBh.js","assets/QIcon-BmEX2rXO.js","assets/use-id-BCnfiBjU.js","assets/notifications-l1Pxijve.js","assets/QBtn-CoU-UC_j.js","assets/QRadio-M9mC5jZy.js","assets/use-checkbox-DnSuDqo2.js","assets/QInput-D0t39uK_.js","assets/QCheckbox-Cq2STfHp.js","assets/QToggle-DBzTAIbK.js","assets/index-ClabzOPc.css","assets/_plugin-vue_export-helper-r4mAJOHR.js","assets/render-chat-markdown-CODpqdnw.js","assets/QBadge-DNQSqPg-.js","assets/build-path-tree-BKx2q92A.js","assets/QTooltip-CwBZU_bs.js","assets/QItemSection-DRg-QuAD.js","assets/QList-CRYZxnPD.js","assets/QMenu-Yx1QEIHC.js","assets/QScrollArea-CZVgBUBp.js","assets/QScrollObserver-CAlbLisQ.js","assets/TouchPan-DXGxNMLq.js","assets/touch-2Qa-HSDZ.js","assets/QSpace-Crcx82On.js","assets/QSpinnerDots-DspFKwCZ.js","assets/use-quasar-q6dh7QVJ.js","assets/ClosePopup-0MWohgml.js","assets/DiffViewer-C4L5y8Ho.css"])))=>i.map(i=>d[i]);
2
+ import{$ as e,A as t,B as n,C as r,D as i,G as a,I as o,K as s,L as c,M as l,N as u,O as d,P as f,R as p,St as m,T as h,W as g,X as _,_ as v,at as y,b,d as x,et as S,f as C,g as w,l as T,p as E,r as D,u as O,v as k,xt as A,y as j,yt as M,z as N}from"./runtime-core.esm-bundler-D_RRiKBh.js";import{H as ee,M as te,N as P,P as F,S as I,U as L,V as ne,_ as re,a as ie,b as ae,g as oe,i as se,l as R,m as z,n as ce,r as le,s as ue,t as B,y as de}from"./QIcon-BmEX2rXO.js";import{n as fe,p as pe,r as me,t as he}from"./use-id-BCnfiBjU.js";import{A as ge,F as _e,I as V,M as ve,N as ye,P as be,g as xe,j as Se,s as Ce}from"./notifications-l1Pxijve.js";import{n as we,r as Te}from"./QRadio-M9mC5jZy.js";import{c as Ee,n as De,r as Oe,t as H}from"./QBtn-CoU-UC_j.js";import{n as ke}from"./vue-i18n-Cq-KgjJC.js";import{t as Ae}from"./QInput-D0t39uK_.js";import{t as je}from"./QCheckbox-Cq2STfHp.js";import{t as Me}from"./QToggle-DBzTAIbK.js";import{_ as Ne,b as Pe,c as Fe,d as Ie,f as Le,i as Re,n as ze,o as Be,p as Ve,r as He,s as Ue,t as We,u as Ge,v as Ke,x as qe,y as Je}from"./index-DnKXe7D-.js";import{n as U,t as W}from"./QItemSection-DRg-QuAD.js";import{d as Ye,t as G}from"./QTooltip-CwBZU_bs.js";import{n as Xe,t as Ze}from"./QScrollObserver-CAlbLisQ.js";import{t as Qe}from"./TouchPan-DXGxNMLq.js";import{i as $e,r as et,t as tt}from"./render-chat-markdown-CODpqdnw.js";import{t as nt}from"./documents-CX2-4fhr.js";import{t as rt}from"./_plugin-vue_export-helper-r4mAJOHR.js";import{t as it}from"./QBadge-DNQSqPg-.js";import{t as at}from"./QSpace-Crcx82On.js";import{i as ot,r as st,t as ct}from"./build-path-tree-BKx2q92A.js";import{t as lt}from"./QList-CRYZxnPD.js";import{t as ut}from"./QMenu-Yx1QEIHC.js";import{t as K}from"./ClosePopup-0MWohgml.js";import{t as dt}from"./use-quasar-q6dh7QVJ.js";import{s as ft}from"./skill-suite-prompts-8f_JW79j.js";import{a as pt,i as mt,n as ht,o as gt,r as _t,s as vt}from"./engineFeatures-DcjAE8bG.js";import{n as yt,r as bt}from"./kobo-commands-DRDkhOO8.js";import{t as xt}from"./QChip-D2TVel5I.js";import{t as St}from"./formatters-BKR66G3t.js";import{a as Ct,i as wt,o as Tt,r as Et,t as Dt}from"./use-onboarding-CiVkuuHv.js";var Ot=150,kt=F({name:`QDrawer`,inheritAttrs:!1,props:{...ye,...le,side:{type:String,default:`left`,validator:e=>[`left`,`right`].includes(e)},width:{type:Number,default:300},mini:Boolean,miniToOverlay:Boolean,miniWidth:{type:Number,default:57},noMiniAnimation:Boolean,breakpoint:{type:Number,default:1023},showIfAbove:Boolean,behavior:{type:String,validator:e=>[`default`,`desktop`,`mobile`].includes(e),default:`default`},bordered:Boolean,elevated:Boolean,overlay:Boolean,persistent:Boolean,noSwipeOpen:Boolean,noSwipeClose:Boolean,noSwipeBackdrop:Boolean},emits:[...ve,`onLayout`,`miniState`],setup(e,{slots:n,emit:a,attrs:o}){let c=b(),{proxy:{$q:l}}=c,d=ce(e,l),{preventBodyScroll:f}=Ke(),{registerTimeout:p,removeTimeout:m}=_e(),_=h(oe,z);if(_===z)return console.error(`QDrawer needs to be child of QLayout`),z;let v,y=null,x,C=S(e.behavior===`mobile`||e.behavior!==`desktop`&&_.totalWidth.value<=e.breakpoint),w=T(()=>e.mini===!0&&C.value!==!0),E=T(()=>w.value===!0?e.miniWidth:e.width),D=S(e.showIfAbove===!0&&C.value===!1?!0:e.modelValue===!0),O=T(()=>e.persistent!==!0&&(C.value===!0||B.value===!0));function k(e,t){if(N(),e!==!1&&_.animate(),we(0),C.value===!0){let e=_.instances[ie.value];e?.belowBreakpoint===!0&&e.hide(!1),Te(1),_.isContainer.value!==!0&&f(!0)}else Te(0),e!==!1&&Ee(!1);p(()=>{e!==!1&&Ee(!0),t!==!0&&a(`show`,e)},Ot)}function A(e,t){ee(),e!==!1&&_.animate(),Te(0),we(F.value*E.value),ke(),t===!0?m():p(()=>{a(`hide`,e)},Ot)}let{show:j,hide:M}=Se({showing:D,hideOnRouteChange:O,handleShow:k,handleHide:A}),{addToHistory:N,removeFromHistory:ee}=Je(D,M,O),te={belowBreakpoint:C,hide:M},P=T(()=>e.side===`right`),F=T(()=>(l.lang.rtl===!0?-1:1)*(P.value===!0?1:-1)),I=S(0),L=S(!1),ne=S(!1),re=S(E.value*F.value),ie=T(()=>P.value===!0?`left`:`right`),ae=T(()=>D.value===!0&&C.value===!1&&e.overlay===!1?e.miniToOverlay===!0?e.miniWidth:E.value:0),R=T(()=>e.overlay===!0||e.miniToOverlay===!0||_.view.value.indexOf(P.value?`R`:`L`)!==-1||l.platform.is.ios===!0&&_.isContainer.value===!0),le=T(()=>e.overlay===!1&&D.value===!0&&C.value===!1),B=T(()=>e.overlay===!0&&D.value===!0&&C.value===!1),de=T(()=>`fullscreen q-drawer__backdrop`+(D.value===!1&&L.value===!1?` hidden`:``)),fe=T(()=>({backgroundColor:`rgba(0,0,0,${I.value*.4})`})),pe=T(()=>P.value===!0?_.rows.value.top[2]===`r`:_.rows.value.top[0]===`l`),me=T(()=>P.value===!0?_.rows.value.bottom[2]===`r`:_.rows.value.bottom[0]===`l`),he=T(()=>{let e={};return _.header.space===!0&&pe.value===!1&&(R.value===!0?e.top=`${_.header.offset}px`:_.header.space===!0&&(e.top=`${_.header.size}px`)),_.footer.space===!0&&me.value===!1&&(R.value===!0?e.bottom=`${_.footer.offset}px`:_.footer.space===!0&&(e.bottom=`${_.footer.size}px`)),e}),ge=T(()=>{let e={width:`${E.value}px`,transform:`translateX(${re.value}px)`};return C.value===!0?e:Object.assign(e,he.value)}),V=T(()=>`q-drawer__content fit `+(_.isContainer.value===!0?`overflow-auto`:`scroll`)),ve=T(()=>`q-drawer q-drawer--${e.side}`+(ne.value===!0?` q-drawer--mini-animate`:``)+(e.bordered===!0?` q-drawer--bordered`:``)+(d.value===!0?` q-drawer--dark q-dark`:``)+(L.value===!0?` no-transition`:D.value===!0?``:` q-layout--prevent-focus`)+(C.value===!0?` fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding`:` q-drawer--${w.value===!0?`mini`:`standard`}`+(R.value===!0||le.value!==!0?` fixed`:``)+(e.overlay===!0||e.miniToOverlay===!0?` q-drawer--on-top`:``)+(pe.value===!0?` q-drawer--top-padding`:``))),ye=T(()=>[[Qe,Oe,void 0,{[l.lang.rtl===!0?e.side:ie.value]:!0,mouse:!0}]]),be=T(()=>[[Qe,H,void 0,{[l.lang.rtl===!0?ie.value:e.side]:!0,mouse:!0}]]),xe=T(()=>[[Qe,H,void 0,{[l.lang.rtl===!0?ie.value:e.side]:!0,mouse:!0,mouseAllDir:!0}]]);function Ce(){je(C,e.behavior===`mobile`||e.behavior!==`desktop`&&_.totalWidth.value<=e.breakpoint)}g(C,t=>{t===!0?(v=D.value,D.value===!0&&M(!1)):e.overlay===!1&&e.behavior!==`mobile`&&v!==!1&&(D.value===!0?(we(0),Te(0),ke()):j(!1))}),g(()=>e.side,(e,t)=>{_.instances[t]===te&&(_.instances[t]=void 0,_[t].space=!1,_[t].offset=0),_.instances[e]=te,_[e].size=E.value,_[e].space=le.value,_[e].offset=ae.value}),g(_.totalWidth,()=>{(_.isContainer.value===!0||document.qScrollPrevented!==!0)&&Ce()}),g(()=>e.behavior+e.breakpoint,Ce),g(_.isContainer,e=>{D.value===!0&&f(e!==!0),e===!0&&Ce()}),g(_.scrollbarWidth,()=>{we(D.value===!0?0:void 0)}),g(ae,e=>{Ae(`offset`,e)}),g(le,e=>{a(`onLayout`,e),Ae(`space`,e)}),g(P,()=>{we()}),g(E,t=>{we(),Me(e.miniToOverlay,t)}),g(()=>e.miniToOverlay,e=>{Me(e,E.value)}),g(()=>l.lang.rtl,()=>{we()}),g(()=>e.mini,()=>{e.noMiniAnimation||e.modelValue===!0&&(De(),_.animate())}),g(w,e=>{a(`miniState`,e)});function we(e){e===void 0?i(()=>{e=D.value===!0?0:E.value,we(F.value*e)}):(_.isContainer.value===!0&&P.value===!0&&(C.value===!0||Math.abs(e)===E.value)&&(e+=F.value*_.scrollbarWidth.value),re.value=e)}function Te(e){I.value=e}function Ee(e){let t=e===!0?`remove`:_.isContainer.value===!0?``:`add`;t!==``&&document.body.classList[t](`q-body--drawer-toggle`)}function De(){y!==null&&clearTimeout(y),c.proxy&&c.proxy.$el&&c.proxy.$el.classList.add(`q-drawer--mini-animate`),ne.value=!0,y=setTimeout(()=>{y=null,ne.value=!1,c?.proxy?.$el?.classList.remove(`q-drawer--mini-animate`)},150)}function Oe(e){if(D.value!==!1)return;let t=E.value,n=Ye(e.distance.x,0,t);if(e.isFinal===!0){n>=Math.min(75,t)?j():(_.animate(),Te(0),we(F.value*t)),L.value=!1;return}we((l.lang.rtl===!0?P.value!==!0:P.value)?Math.max(t-n,0):Math.min(0,n-t)),Te(Ye(n/t,0,1)),e.isFirst===!0&&(L.value=!0)}function H(t){if(D.value!==!0)return;let n=E.value,r=t.direction===e.side,i=(l.lang.rtl===!0?r!==!0:r)?Ye(t.distance.x,0,n):0;if(t.isFinal===!0){Math.abs(i)<Math.min(75,n)?(_.animate(),Te(1),we(0)):M(),L.value=!1;return}we(F.value*i),Te(Ye(1-i/n,0,1)),t.isFirst===!0&&(L.value=!0)}function ke(){f(!1),Ee(!0)}function Ae(t,n){_.update(e.side,t,n)}function je(e,t){e.value!==t&&(e.value=t)}function Me(t,n){Ae(`size`,t===!0?e.miniWidth:n)}return _.instances[e.side]=te,Me(e.miniToOverlay,E.value),Ae(`space`,le.value),Ae(`offset`,ae.value),e.showIfAbove===!0&&e.modelValue!==!0&&D.value===!0&&e[`onUpdate:modelValue`]!==void 0&&a(`update:modelValue`,!0),u(()=>{a(`onLayout`,le.value),a(`miniState`,w.value),v=e.showIfAbove===!0;let t=()=>{(D.value===!0?k:A)(!1,!0)};if(_.totalWidth.value!==0){i(t);return}x=g(_.totalWidth,()=>{x(),x=void 0,D.value===!1&&e.showIfAbove===!0&&C.value===!1?j(!1):t()})}),t(()=>{x?.(),y!==null&&(clearTimeout(y),y=null),D.value===!0&&ke(),_.instances[e.side]===te&&(_.instances[e.side]=void 0,Ae(`size`,0),Ae(`offset`,0),Ae(`space`,!1))}),()=>{let t=[];C.value===!0&&(e.noSwipeOpen===!1&&t.push(s(r(`div`,{key:`open`,class:`q-drawer__opener fixed-${e.side}`,"aria-hidden":`true`}),ye.value)),t.push(se(`div`,{ref:`backdrop`,class:de.value,style:fe.value,"aria-hidden":`true`,onClick:M},void 0,`backdrop`,e.noSwipeBackdrop!==!0&&D.value===!0,()=>xe.value)));let i=w.value===!0&&n.mini!==void 0,a=[r(`div`,{...o,key:String(i),class:[V.value,o.class]},i===!0?n.mini():ue(n.default))];return e.elevated===!0&&D.value===!0&&a.push(r(`div`,{class:`q-layout__shadow absolute-full overflow-hidden no-pointer-events`})),t.push(se(`aside`,{ref:`content`,class:ve.value,style:ge.value},a,`contentclose`,e.noSwipeClose!==!0&&C.value===!0,()=>be.value)),r(`div`,{class:`q-drawer-container`},t)}}}),At=0,jt=[`click`,`keydown`],Mt={icon:String,label:[Number,String],alert:[Boolean,String],alertIcon:String,name:{type:[Number,String],default:()=>`t_${At++}`},noCaps:Boolean,tabindex:[String,Number],disable:Boolean,contentClass:String,ripple:{type:[Boolean,Object],default:!0}};function Nt(e,n,i,a){let o=h(de,z);if(o===z)return console.error(`QTab/QRouteTab component needs to be child of QTabs`),z;let{proxy:c}=b(),l=S(null),d=S(null),f=S(null),p=T(()=>e.disable===!0||e.ripple===!1?!1:Object.assign({keyCodes:[13,32],early:!0},e.ripple===!0?{}:e.ripple)),m=T(()=>o.currentModel.value===e.name),g=T(()=>`q-tab relative-position self-stretch flex flex-center text-center`+(m.value===!0?` q-tab--active`+(o.tabProps.value.activeClass?` `+o.tabProps.value.activeClass:``)+(o.tabProps.value.activeColor?` text-${o.tabProps.value.activeColor}`:``)+(o.tabProps.value.activeBgColor?` bg-${o.tabProps.value.activeBgColor}`:``):` q-tab--inactive`)+(e.icon&&e.label&&o.tabProps.value.inlineLabel===!1?` q-tab--full`:``)+(e.noCaps===!0||o.tabProps.value.noCaps===!0?` q-tab--no-caps`:``)+(e.disable===!0?` disabled`:` q-focusable q-hoverable cursor-pointer`)+(a===void 0?``:a.linkClass.value)),_=T(()=>`q-tab__content self-stretch flex-center relative-position q-anchor--skip non-selectable `+(o.tabProps.value.inlineLabel===!0?`row no-wrap q-tab__content--inline`:`column`)+(e.contentClass===void 0?``:` ${e.contentClass}`)),v=T(()=>e.disable===!0||o.hasFocus.value===!0||m.value===!1&&o.hasActiveTab.value===!0?-1:e.tabindex||0);function y(t,n){if(n!==!0&&t?.qAvoidFocus!==!0&&l.value?.focus(),e.disable===!0){a?.hasRouterLink.value===!0&&P(t);return}if(a===void 0){o.updateModel({name:e.name}),i(`click`,t);return}if(a.hasRouterLink.value===!0){let n=(n={})=>{let r,i=n.to===void 0||V(n.to,e.to)===!0?o.avoidRouteWatcher=fe():null;return a.navigateToRouterLink(t,{...n,returnRouterError:!0}).catch(e=>{r=e}).then(t=>{if(i===o.avoidRouteWatcher&&(o.avoidRouteWatcher=!1,r===void 0&&(t===void 0||t.message?.startsWith(`Avoided redundant navigation`)===!0)&&o.updateModel({name:e.name})),n.returnRouterError===!0)return r===void 0?t:Promise.reject(r)})};i(`click`,t,n),t.defaultPrevented!==!0&&n();return}i(`click`,t)}function x(e){ae(e,[13,32])?y(e,!0):I(e)!==!0&&e.keyCode>=35&&e.keyCode<=40&&e.altKey!==!0&&e.metaKey!==!0&&o.onKbdNavigate(e.keyCode,c.$el)===!0&&P(e),i(`keydown`,e)}function C(){let t=o.tabProps.value.narrowIndicator,i=[],a=r(`div`,{ref:f,class:[`q-tab__indicator`,o.tabProps.value.indicatorClass]});e.icon!==void 0&&i.push(r(B,{class:`q-tab__icon`,name:e.icon})),e.label!==void 0&&i.push(r(`div`,{class:`q-tab__label`},e.label)),e.alert!==!1&&i.push(e.alertIcon===void 0?r(`div`,{class:`q-tab__alert`+(e.alert===!0?``:` text-${e.alert}`)}):r(B,{class:`q-tab__alert-icon`,color:e.alert===!0?void 0:e.alert,name:e.alertIcon})),t===!0&&i.push(a);let s=[r(`div`,{class:`q-focus-helper`,tabindex:-1,ref:l}),r(`div`,{class:_.value},ie(n.default,i))];return t===!1&&s.push(a),s}let w={name:T(()=>e.name),rootRef:d,tabIndicatorRef:f,routeData:a};t(()=>{o.unregisterTab(w)}),u(()=>{o.registerTab(w)});function E(t,n){return s(r(t,{ref:d,class:g.value,tabindex:v.value,role:`tab`,"aria-selected":m.value===!0?`true`:`false`,"aria-disabled":e.disable===!0?`true`:void 0,onClick:y,onKeydown:x,...n},C()),[[Ee,p.value]])}return{renderTab:E,$tabs:o}}var Pt=F({name:`QTab`,props:Mt,emits:jt,setup(e,{slots:t,emit:n}){let{renderTab:r}=Nt(e,t,n);return()=>r(`div`)}});function Ft(e,t,n){let r=n===!0?[`left`,`right`]:[`top`,`bottom`];return`absolute-${t===!0?r[0]:r[1]}${e?` text-${e}`:``}`}var It=[`left`,`center`,`right`,`justify`],Lt=F({name:`QTabs`,props:{modelValue:[Number,String],align:{type:String,default:`center`,validator:e=>It.includes(e)},breakpoint:{type:[String,Number],default:600},vertical:Boolean,shrink:Boolean,stretch:Boolean,activeClass:String,activeColor:String,activeBgColor:String,indicatorColor:String,leftIcon:String,rightIcon:String,outsideArrows:Boolean,mobileArrows:Boolean,switchIndicator:Boolean,narrowIndicator:Boolean,inlineLabel:Boolean,noCaps:Boolean,dense:Boolean,contentClass:String,"onUpdate:modelValue":[Function,Array]},setup(e,{slots:n,emit:i}){let{proxy:a}=b(),{$q:o}=a,{registerTick:s}=be(),{registerTick:u}=be(),{registerTick:f}=be(),{registerTimeout:p,removeTimeout:m}=_e(),{registerTimeout:h,removeTimeout:_}=_e(),v=S(null),y=S(null),x=S(e.modelValue),C=S(!1),w=S(!0),E=S(!1),D=S(!1),O=[],k=S(0),A=S(!1),j=null,M=null,N,ee=T(()=>({activeClass:e.activeClass,activeColor:e.activeColor,activeBgColor:e.activeBgColor,indicatorClass:Ft(e.indicatorColor,e.switchIndicator,e.vertical),narrowIndicator:e.narrowIndicator,inlineLabel:e.inlineLabel,noCaps:e.noCaps})),te=T(()=>{let e=k.value,t=x.value;for(let n=0;n<e;n++)if(O[n].name.value===t)return!0;return!1}),P=T(()=>`q-tabs__content--align-${C.value===!0?`left`:D.value===!0?`justify`:e.align}`),F=T(()=>`q-tabs row no-wrap items-center q-tabs--${C.value===!0?``:`not-`}scrollable q-tabs--${e.vertical===!0?`vertical`:`horizontal`} q-tabs__arrows--${e.outsideArrows===!0?`outside`:`inside`} q-tabs--mobile-with${e.mobileArrows===!0?``:`out`}-arrows`+(e.dense===!0?` q-tabs--dense`:``)+(e.shrink===!0?` col-shrink`:``)+(e.stretch===!0?` self-stretch`:``)),I=T(()=>`q-tabs__content scroll--mobile row no-wrap items-center self-stretch hide-scrollbar relative-position `+P.value+(e.contentClass===void 0?``:` ${e.contentClass}`)),L=T(()=>e.vertical===!0?{container:`height`,content:`offsetHeight`,scroll:`scrollHeight`}:{container:`width`,content:`offsetWidth`,scroll:`scrollWidth`}),ne=T(()=>e.vertical!==!0&&o.lang.rtl===!0),re=T(()=>ft===!1&&ne.value===!0);g(ne,z),g(()=>e.modelValue,e=>{ie({name:e,setCurrent:!0,skipEmit:!0})}),g(()=>e.outsideArrows,ae);function ie({name:t,setCurrent:n,skipEmit:r}){x.value!==t&&(r!==!0&&e[`onUpdate:modelValue`]!==void 0&&i(`update:modelValue`,t),(n===!0||e[`onUpdate:modelValue`]===void 0)&&(se(x.value,t),x.value=t))}function ae(){s(()=>{v.value&&oe({width:v.value.offsetWidth,height:v.value.offsetHeight})})}function oe(t){if(L.value===void 0||y.value===null)return;let n=t[L.value.container],r=Math.min(y.value[L.value.scroll],Array.prototype.reduce.call(y.value.children,(e,t)=>e+(t[L.value.content]||0),0)),i=n>0&&r>n;C.value=i,i===!0&&u(z),D.value=n<parseInt(e.breakpoint,10)}function se(t,n){let r=t!=null&&t!==``?O.find(e=>e.name.value===t):null,i=n!=null&&n!==``?O.find(e=>e.name.value===n):null;if(H===!0)H=!1;else if(r&&i){let t=r.tabIndicatorRef.value,n=i.tabIndicatorRef.value;j!==null&&(clearTimeout(j),j=null),t.style.transition=`none`,t.style.transform=`none`,n.style.transition=`none`,n.style.transform=`none`;let a=t.getBoundingClientRect(),o=n.getBoundingClientRect();n.style.transform=e.vertical===!0?`translate3d(0,${a.top-o.top}px,0) scale3d(1,${o.height?a.height/o.height:1},1)`:`translate3d(${a.left-o.left}px,0,0) scale3d(${o.width?a.width/o.width:1},1,1)`,f(()=>{j=setTimeout(()=>{j=null,n.style.transition=`transform .25s cubic-bezier(.4, 0, .2, 1)`,n.style.transform=`none`},70)})}i&&C.value===!0&&R(i.rootRef.value)}function R(t){let{left:n,width:r,top:i,height:a}=y.value.getBoundingClientRect(),o=t.getBoundingClientRect(),s=e.vertical===!0?o.top-i:o.left-n;if(s<0){y.value[e.vertical===!0?`scrollTop`:`scrollLeft`]+=Math.floor(s),z();return}s+=e.vertical===!0?o.height-a:o.width-r,s>0&&(y.value[e.vertical===!0?`scrollTop`:`scrollLeft`]+=Math.ceil(s),z())}function z(){let t=y.value;if(t===null)return;let n=t.getBoundingClientRect(),r=e.vertical===!0?t.scrollTop:Math.abs(t.scrollLeft);ne.value===!0?(w.value=Math.ceil(r+n.width)<t.scrollWidth-1,E.value=r>0):(w.value=r>0,E.value=e.vertical===!0?Math.ceil(r+n.height)<t.scrollHeight:Math.ceil(r+n.width)<t.scrollWidth)}function ce(e){M!==null&&clearInterval(M),M=setInterval(()=>{ge(e)===!0&&pe()},5)}function le(){ce(re.value===!0?2**53-1:0)}function fe(){ce(re.value===!0?0:2**53-1)}function pe(){M!==null&&(clearInterval(M),M=null)}function me(t,n){let r=Array.prototype.filter.call(y.value.children,e=>e===n||e.matches&&e.matches(`.q-tab.q-focusable`)===!0),i=r.length;if(i===0)return;if(t===36)return R(r[0]),r[0].focus(),!0;if(t===35)return R(r[i-1]),r[i-1].focus(),!0;let a=t===(e.vertical===!0?38:37),o=t===(e.vertical===!0?40:39),s=a===!0?-1:o===!0?1:void 0;if(s!==void 0){let e=ne.value===!0?-1:1,t=r.indexOf(n)+s*e;return t>=0&&t<i&&(R(r[t]),r[t].focus({preventScroll:!0})),!0}}let he=T(()=>re.value===!0?{get:e=>Math.abs(e.scrollLeft),set:(e,t)=>{e.scrollLeft=-t}}:e.vertical===!0?{get:e=>e.scrollTop,set:(e,t)=>{e.scrollTop=t}}:{get:e=>e.scrollLeft,set:(e,t)=>{e.scrollLeft=t}});function ge(e){let t=y.value,{get:n,set:r}=he.value,i=!1,a=n(t),o=e<a?-1:1;return a+=o*5,a<0?(i=!0,a=0):(o===-1&&a<=e||o===1&&a>=e)&&(i=!0,a=e),r(t,a),z(),i}function V(e,t){for(let n in e)if(e[n]!==t[n])return!1;return!0}function ve(){let e=null,t={matchedLen:0,queryDiff:9999,hrefLen:0},n=O.filter(e=>e.routeData?.hasRouterLink.value===!0),{hash:r,query:i}=a.$route,o=Object.keys(i).length;for(let a of n){let n=a.routeData.exact.value===!0;if(a.routeData[n===!0?`linkIsExactActive`:`linkIsActive`].value!==!0)continue;let{hash:s,query:c,matched:l,href:u}=a.routeData.resolvedLink.value,d=Object.keys(c).length;if(n===!0){if(s!==r||d!==o||V(i,c)===!1)continue;e=a.name.value;break}if(s!==``&&s!==r||d!==0&&V(c,i)===!1)continue;let f={matchedLen:l.length,queryDiff:o-d,hrefLen:u.length-s.length};if(f.matchedLen>t.matchedLen){e=a.name.value,t=f;continue}else if(f.matchedLen!==t.matchedLen)continue;if(f.queryDiff<t.queryDiff)e=a.name.value,t=f;else if(f.queryDiff!==t.queryDiff)continue;f.hrefLen>t.hrefLen&&(e=a.name.value,t=f)}if(e===null&&O.some(e=>e.routeData===void 0&&e.name.value===x.value)===!0){H=!1;return}ie({name:e,setCurrent:!0})}function ye(e){if(m(),A.value!==!0&&v.value!==null&&e.target&&typeof e.target.closest==`function`){let t=e.target.closest(`.q-tab`);t&&v.value.contains(t)===!0&&(A.value=!0,C.value===!0&&R(t))}}function xe(){p(()=>{A.value=!1},30)}function Se(){Ee.avoidRouteWatcher===!1?h(ve):_()}function Ce(){if(N===void 0){let e=g(()=>a.$route.fullPath,Se);N=()=>{e(),N=void 0}}}function we(e){O.push(e),k.value++,ae(),e.routeData===void 0||a.$route===void 0?h(()=>{if(C.value===!0){let e=x.value,t=e!=null&&e!==``?O.find(t=>t.name.value===e):null;t&&R(t.rootRef.value)}}):(Ce(),e.routeData.hasRouterLink.value===!0&&Se())}function Te(e){O.splice(O.indexOf(e),1),k.value--,ae(),N!==void 0&&e.routeData!==void 0&&(O.every(e=>e.routeData===void 0)===!0&&N(),Se())}let Ee={currentModel:x,tabProps:ee,hasFocus:A,hasActiveTab:te,registerTab:we,unregisterTab:Te,verifyRouteModel:Se,updateModel:ie,onKbdNavigate:me,avoidRouteWatcher:!1};c(de,Ee);function De(){j!==null&&clearTimeout(j),pe(),N?.()}let Oe,H;return t(De),l(()=>{Oe=N!==void 0,De()}),d(()=>{Oe===!0&&(Ce(),H=!0,Se()),ae()}),()=>r(`div`,{ref:v,class:F.value,role:`tablist`,onFocusin:ye,onFocusout:xe},[r(Xe,{onResize:oe}),r(`div`,{ref:y,class:I.value,onScroll:z},ue(n.default)),r(B,{class:`q-tabs__arrow q-tabs__arrow--left absolute q-tab__icon`+(w.value===!0?``:` q-tabs__arrow--faded`),name:e.leftIcon||o.iconSet.tabs[e.vertical===!0?`up`:`left`],onMousedownPassive:le,onTouchstartPassive:le,onMouseupPassive:pe,onMouseleavePassive:pe,onTouchendPassive:pe}),r(B,{class:`q-tabs__arrow q-tabs__arrow--right absolute q-tab__icon`+(E.value===!0?``:` q-tabs__arrow--faded`),name:e.rightIcon||o.iconSet.tabs[e.vertical===!0?`down`:`right`],onMousedownPassive:fe,onTouchstartPassive:fe,onMouseupPassive:pe,onMouseleavePassive:pe,onTouchendPassive:pe})])}}),Rt=F({name:`QTabPanel`,props:pt,setup(e,{slots:t}){return()=>r(`div`,{class:`q-tab-panel`,role:`tabpanel`},ue(t.default))}}),zt=F({name:`QTabPanels`,props:{...vt,...le},emits:gt,setup(e,{slots:t}){let n=ce(e,b().proxy.$q),{updatePanelsList:r,getPanelContent:i,panelDirectives:a}=mt(),o=T(()=>`q-tab-panels q-panel-parent`+(n.value===!0?` q-tab-panels--dark q-dark`:``));return()=>(r(t),se(`div`,{class:o.value},i(),`pan`,e.swipeable,()=>a.value))}}),Bt=F({name:`QPageContainer`,setup(e,{slots:t}){let{proxy:{$q:n}}=b(),i=h(oe,z);if(i===z)return console.error(`QPageContainer needs to be child of QLayout`),z;c(re,!0);let a=T(()=>{let e={};return i.header.space===!0&&(e.paddingTop=`${i.header.size}px`),i.right.space===!0&&(e[`padding${n.lang.rtl===!0?`Left`:`Right`}`]=`${i.right.size}px`),i.footer.space===!0&&(e.paddingBottom=`${i.footer.size}px`),i.left.space===!0&&(e[`padding${n.lang.rtl===!0?`Right`:`Left`}`]=`${i.left.size}px`),e});return()=>r(`div`,{class:`q-page-container`,style:a.value},ue(t.default))}}),Vt=F({name:`QLayout`,props:{container:Boolean,view:{type:String,default:`hhh lpr fff`,validator:e=>/^(h|l)h(h|r) lpr (f|l)f(f|r)$/.test(e.toLowerCase())},onScroll:Function,onScrollHeight:Function,onResize:Function},setup(t,{slots:n,emit:i}){let{proxy:{$q:a}}=b(),o=S(null),s=S(a.screen.height),l=S(t.container===!0?0:a.screen.width),u=S({position:0,direction:`down`,inflectionPoint:0}),d=S(0),p=S(pe.value===!0?0:xe()),m=T(()=>`q-layout q-layout--`+(t.container===!0?`containerized`:`standard`)),h=T(()=>t.container===!1?{minHeight:a.screen.height+`px`}:null),_=T(()=>p.value===0?null:{[a.lang.rtl===!0?`left`:`right`]:`${p.value}px`}),v=T(()=>p.value===0?null:{[a.lang.rtl===!0?`right`:`left`]:0,[a.lang.rtl===!0?`left`:`right`]:`-${p.value}px`,width:`calc(100% + ${p.value}px)`});function y(e){if(t.container===!0||document.qScrollPrevented!==!0){let n={position:e.position.top,direction:e.direction,directionChanged:e.directionChanged,inflectionPoint:e.inflectionPoint.top,delta:e.delta.top};u.value=n,t.onScroll!==void 0&&i(`scroll`,n)}}function x(e){let{height:n,width:r}=e,a=!1;s.value!==n&&(a=!0,s.value=n,t.onScrollHeight!==void 0&&i(`scrollHeight`,n),w()),l.value!==r&&(a=!0,l.value=r),a===!0&&t.onResize!==void 0&&i(`resize`,e)}function C({height:e}){d.value!==e&&(d.value=e,w())}function w(){if(t.container===!0){let e=s.value>d.value?xe():0;p.value!==e&&(p.value=e)}}let E=null,D={instances:{},view:T(()=>t.view),isContainer:T(()=>t.container),rootRef:o,height:s,containerHeight:d,scrollbarWidth:p,totalWidth:T(()=>l.value+p.value),rows:T(()=>{let e=t.view.toLowerCase().split(` `);return{top:e[0].split(``),middle:e[1].split(``),bottom:e[2].split(``)}}),header:e({size:0,offset:0,space:!1}),right:e({size:300,offset:0,space:!1}),footer:e({size:0,offset:0,space:!1}),left:e({size:300,offset:0,space:!1}),scroll:u,animate(){E===null?document.body.classList.add(`q-body--layout-animate`):clearTimeout(E),E=setTimeout(()=>{E=null,document.body.classList.remove(`q-body--layout-animate`)},155)},update(e,t,n){D[e][t]=n}};if(c(oe,D),xe()>0){let e=null,n=document.body;function r(){e=null,n.classList.remove(`hide-scrollbar`)}function i(){if(e===null){if(n.scrollHeight>a.screen.height)return;n.classList.add(`hide-scrollbar`)}else clearTimeout(e);e=setTimeout(r,300)}function o(t){e!==null&&t===`remove`&&(clearTimeout(e),r()),window[`${t}EventListener`](`resize`,i)}g(()=>t.container===!0?`remove`:`add`,o),t.container!==!0&&o(`add`),f(()=>{o(`remove`)})}return()=>{let e=ie(n.default,[r(Ze,{onScroll:y}),r(Xe,{onResize:x})]),i=r(`div`,{class:m.value,style:h.value,ref:t.container===!0?void 0:o,tabindex:-1},e);return t.container===!0?r(`div`,{class:`q-layout-container overflow-hidden`,ref:o},[r(Xe,{onResize:C}),r(`div`,{class:`absolute-full`,style:_.value},[r(`div`,{class:`scroll`,style:v.value},[i])])]):i}}}),Ht={class:`acceptance-panel q-pa-md`},Ut={class:`row items-center q-mb-sm`},Wt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},Gt={key:0,class:`criterion-add-row row items-center q-mb-xs`},Kt={key:1,class:`acceptance-list`},qt=[`onDblclick`],Jt={key:2,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},Yt=rt(j({__name:`AcceptancePanel`,props:{tasks:{}},setup(e){let{t}=ke(),n=Fe(),r=Be();function s(){let e=n.selectedWorkspaceId;e&&yt(e,r,n)}let c=S(!1),l=S(``),u=S(null),d=S(``),f=S({});function h(e,t){if(t){let n=t.$el??t;f.value[e]=n}else delete f.value[e]}function g(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function _(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}async function b(e){let t=e.status===`done`?`pending`:`done`;try{let r=await fetch(`/api/workspaces/${e.workspaceId}/tasks/${e.id}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({status:t})});if(!r.ok)throw Error(`HTTP ${r.status}`);n.selectedWorkspaceId&&n.fetchWorkspaceDetails(n.selectedWorkspaceId)}catch(e){console.error(`Failed to update task:`,e)}}function T(){c.value=!0,l.value=``}async function k(){let e=l.value.trim(),t=n.selectedWorkspace?.id;if(!(!e||!t))try{await n.createTask(t,e,!0),l.value=``,c.value=!1}catch{}}function j(){l.value=``,c.value=!1}function N(e){u.value=e.id,d.value=e.title,i(()=>{let t=f.value[e.id]?.querySelector(`input, textarea`);t?.focus(),t?.select()})}async function te(e){if(u.value!==e.id)return;let t=d.value.trim(),r=e.id;if(u.value=null,!t||t===e.title)return;let i=n.selectedWorkspace?.id;if(i)try{await n.updateTaskTitle(i,r,t)}catch{}}function P(){u.value=null,d.value=``}async function F(e){let t=n.selectedWorkspace?.id;if(t)try{await n.deleteTask(t,e.id)}catch{}}return(t,r)=>(o(),E(`div`,Ht,[O(`div`,Ut,[O(`div`,Wt,m(t.$t(`acceptance.title`)),1),v(at),y(n).selectedWorkspace?(o(),x(H,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`fact_check`,color:`grey-5`,onClick:s},{default:a(()=>[v(G,null,{default:a(()=>[w(m(t.$t(`tasks.askProgress`)),1)]),_:1})]),_:1})):C(``,!0),y(n).selectedWorkspace?(o(),x(H,{key:1,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,onClick:T},{default:a(()=>[v(G,null,{default:a(()=>[w(m(t.$t(`tooltip.addCriterion`)),1)]),_:1})]),_:1})):C(``,!0)]),c.value?(o(),E(`div`,Gt,[v(Ae,{modelValue:l.value,"onUpdate:modelValue":r[0]||=e=>l.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:t.$t(`acceptance.newCriterion`),class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[ee(L(k,[`prevent`]),[`enter`]),ee(L(j,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):C(``,!0),e.tasks.length>0?(o(),E(`div`,Kt,[(o(!0),E(D,null,p(e.tasks,e=>(o(),E(`div`,{key:e.id,class:`acceptance-item row items-center q-mb-xxs`},[v(B,{name:g(e.status),size:`16px`,style:A({color:_(e.status)}),class:`q-mr-xs cursor-pointer`,onClick:t=>b(e)},null,8,[`name`,`style`,`onClick`]),u.value===e.id?(o(),x(Ae,{key:0,ref_for:!0,ref:t=>h(e.id,t),modelValue:d.value,"onUpdate:modelValue":r[1]||=e=>d.value=e,dark:``,dense:``,borderless:``,class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[ee(L(t=>te(e),[`prevent`]),[`enter`]),ee(L(P,[`prevent`]),[`esc`])],onBlur:t=>te(e)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(o(),E(D,{key:1},[O(`span`,{class:M([`col acceptance-title text-caption`,{"text-strike":e.status===`done`}]),style:A({color:e.status===`done`?`#4ade80`:`#ccc`}),onDblclick:t=>N(e)},m(e.title),47,qt),v(H,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`criterion-delete-btn`,onClick:t=>F(e)},{default:a(()=>[v(G,null,{default:a(()=>[w(m(t.$t(`tooltip.removeCriterion`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):c.value?C(``,!0):(o(),E(`div`,Jt,m(t.$t(`acceptance.empty`)),1))]))}}),[[`__scopeId`,`data-v-20a94a3d`]]),Xt={class:`agent-todos-panel q-pa-md`},Zt={class:`row items-center q-mb-sm`},Qt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},$t={key:0,class:`todos-list`},en={key:1,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},tn=rt(j({__name:`AgentTodosPanel`,setup(e){let{t}=ke(),n=Fe();function r(e){switch(e){case`completed`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function i(e){switch(e){case`completed`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(e,t)=>(o(),E(`div`,Xt,[O(`div`,Zt,[O(`div`,Qt,m(e.$t(`agentTodos.title`)),1)]),y(n).currentAgentTodos.length>0?(o(),E(`div`,$t,[(o(!0),E(D,null,p(y(n).currentAgentTodos,(e,t)=>(o(),E(`div`,{key:t,class:`todo-item row items-start q-py-xxs`},[v(B,{name:r(e.status),size:`14px`,style:A({color:i(e.status)}),class:`q-mr-xs q-mt-xxs`},null,8,[`name`,`style`]),O(`span`,{class:M([`col todo-title text-caption`,{"text-strike":e.status===`completed`}]),style:A({color:e.status===`completed`?`#4ade80`:`#ccc`})},m(e.content),7)]))),128))])):(o(),E(`div`,en,m(e.$t(`agentTodos.empty`)),1))]))}}),[[`__scopeId`,`data-v-6a3613f7`]]),nn={class:`documents-panel q-pa-md`},rn={class:`row items-center justify-between q-mb-sm`},an={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},on={key:0,class:`text-caption text-grey-8`},sn={key:1,class:`text-center q-py-lg`},cn={key:2,class:`text-caption text-grey-8 text-center q-py-lg`},ln={key:0,class:`text-center q-py-lg`},un=[`innerHTML`],dn=rt(j({__name:`DocumentsPanel`,props:{workspace:{}},setup(e){let t=e,{t:n}=ke(),r=dt(),i=nt(),s=T(()=>t.workspace?i.documentsFor(t.workspace.id):[]),c=T(()=>ct(s.value)),l=T(()=>i.selected?.path??null),u=T(()=>{if(!i.selected)return``;let e=$e.parse(i.selected.content,{async:!1,breaks:!0,gfm:!0});return et.sanitize(e)});async function d(){t.workspace&&await i.fetchDocuments(t.workspace.id)}async function f(e){if(!(!t.workspace||!e.file))try{await i.openDocument(t.workspace.id,e.file)}catch{r.notify({type:`negative`,message:n(`documents.loadFailed`),position:`top`})}}function p(){i.closeDocument()}return g(()=>t.workspace?.id,e=>{i.closeDocument(),e&&i.fetchDocuments(e)},{immediate:!0}),(t,n)=>(o(),E(`div`,nn,[O(`div`,rn,[O(`div`,an,m(t.$t(`documents.title`)),1),y(i).selected?(o(),x(H,{key:1,flat:``,dense:``,"no-caps":``,size:`sm`,icon:`arrow_back`,label:t.$t(`documents.back`),color:`grey-5`,onClick:p},null,8,[`label`])):(o(),x(H,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,loading:y(i).loadingList,onClick:d},{default:a(()=>[v(G,null,{default:a(()=>[w(m(t.$t(`documents.refresh`)),1)]),_:1})]),_:1},8,[`loading`]))]),y(i).selected?(o(),E(D,{key:1},[y(i).loadingContent?(o(),E(`div`,ln,[v(R,{size:`24px`,color:`grey-6`})])):(o(),E(`div`,{key:1,class:`document-content`,innerHTML:u.value},null,8,un))],64)):(o(),E(D,{key:0},[e.workspace?y(i).loadingList?(o(),E(`div`,sn,[v(R,{size:`24px`,color:`grey-6`})])):s.value.length===0?(o(),E(`div`,cn,m(t.$t(`documents.empty`)),1)):(o(),x(st,{key:3,nodes:c.value,"node-key":`nodeKey`,"label-key":`label`,"children-key":`children`,dark:``,dense:``,"default-expand-all":``,"no-selection-unset":``,selected:l.value?`file:${l.value}`:``,class:`documents-tree`,"onUpdate:selected":n[0]||=e=>{if(typeof e!=`string`||!e.startsWith(`file:`))return;let t=s.value.find(t=>`file:${t.path}`===e);t&&f({file:t})}},{"default-header":a(({node:e})=>[v(B,{name:e.isFolder?`folder`:`description`,color:e.isFolder?`indigo-4`:`grey-5`,size:`14px`,class:`q-mr-xs`},null,8,[`name`,`color`]),O(`span`,{class:M(e.isFolder?`text-grey-4`:`text-grey-3`),style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},m(e.label),3)]),_:1},8,[`nodes`,`selected`])):(o(),E(`div`,on,m(t.$t(`common.selectWorkspace`)),1))],64))]))}}),[[`__scopeId`,`data-v-89e5de13`]]),fn=Object.keys(Oe);function pn(e){return fn.reduce((t,n)=>{let r=e[n];return r!==void 0&&(t[n]=r),t},{})}var mn=F({name:`QBtnDropdown`,props:{...Oe,...ge,modelValue:Boolean,split:Boolean,dropdownIcon:String,contentClass:[Array,String,Object],contentStyle:[Array,String,Object],cover:Boolean,persistent:Boolean,noEscDismiss:Boolean,noRouteDismiss:Boolean,autoClose:Boolean,noRefocus:Boolean,noFocus:Boolean,menuAnchor:{type:String,default:`bottom end`},menuSelf:{type:String,default:`top end`},menuOffset:Array,disableMainBtn:Boolean,disableDropdown:Boolean,noIconAnimation:Boolean,toggleAriaLabel:String},emits:[`update:modelValue`,`click`,`beforeShow`,`show`,`beforeHide`,`hide`],setup(e,{slots:t,emit:n}){let{proxy:i}=b(),a=S(e.modelValue),o=S(null),s=he(),c=T(()=>{let t={"aria-expanded":a.value===!0?`true`:`false`,"aria-haspopup":`true`,"aria-controls":s.value,"aria-label":e.toggleAriaLabel||i.$q.lang.label[a.value===!0?`collapse`:`expand`](e.label)};return(e.disable===!0||e.split===!1&&e.disableMainBtn===!0||e.disableDropdown===!0)&&(t[`aria-disabled`]=`true`),t}),l=T(()=>`q-btn-dropdown__arrow`+(a.value===!0&&e.noIconAnimation===!1?` rotate-180`:``)+(e.split===!1?` q-btn-dropdown__arrow-container`:``)),d=T(()=>De(e)),f=T(()=>pn(e));g(()=>e.modelValue,e=>{o.value?.[e?`show`:`hide`]()}),g(()=>e.split,w);function p(e){a.value=!0,n(`beforeShow`,e)}function m(e){n(`show`,e),n(`update:modelValue`,!0)}function h(e){a.value=!1,n(`beforeHide`,e)}function _(e){n(`hide`,e),n(`update:modelValue`,!1)}function v(e){n(`click`,e)}function y(e){te(e),w(),n(`click`,e)}function x(e){o.value?.toggle(e)}function C(e){o.value?.show(e)}function w(e){o.value?.hide(e)}return Object.assign(i,{show:C,hide:w,toggle:x}),u(()=>{e.modelValue===!0&&C()}),()=>{let n=[r(B,{class:l.value,name:e.dropdownIcon||i.$q.iconSet.arrow.dropdown})];return e.disableDropdown!==!0&&n.push(r(ut,{ref:o,id:s.value,class:e.contentClass,style:e.contentStyle,cover:e.cover,fit:!0,persistent:e.persistent,noEscDismiss:e.noEscDismiss,noRouteDismiss:e.noRouteDismiss,autoClose:e.autoClose,noFocus:e.noFocus,noRefocus:e.noRefocus,anchor:e.menuAnchor,self:e.menuSelf,offset:e.menuOffset,separateClosePopup:!0,transitionShow:e.transitionShow,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,onBeforeShow:p,onShow:m,onBeforeHide:h,onHide:_},t.default)),e.split===!1?r(H,{class:`q-btn-dropdown q-btn-dropdown--simple`,...f.value,...c.value,disable:e.disable===!0||e.disableMainBtn===!0,noWrap:!0,round:!1,onClick:v},{default:()=>ue(t.label,[]).concat(n),loading:t.loading}):r(ot,{class:`q-btn-dropdown q-btn-dropdown--split no-wrap q-btn-item`,rounded:e.rounded,square:e.square,...d.value,glossy:e.glossy,stretch:e.stretch},()=>[r(H,{class:`q-btn-dropdown--current`,...f.value,disable:e.disable===!0||e.disableMainBtn===!0,noWrap:!0,round:!1,onClick:y},{default:t.label,loading:t.loading}),r(H,{class:`q-btn-dropdown__arrow-container q-anchor--skip`,...c.value,...d.value,disable:e.disable===!0||e.disableDropdown===!0,rounded:e.rounded,color:e.color,textColor:e.textColor,dense:e.dense,size:e.size,padding:e.padding,ripple:e.ripple},()=>n)])}}}),hn={class:`text-h6`},gn={class:`text-body2 text-grey-5 q-mt-xs`},_n={key:0,class:`text-caption text-grey-6 row items-center`},vn={key:1,class:`row items-center q-gutter-sm`},yn={class:`text-caption text-negative`},bn={key:2,class:`text-caption text-grey-6`},xn={key:3},Sn=[`onClick`],Cn={class:`commit-sha text-grey-5`},wn={class:`commit-subject text-grey-4 ellipsis q-ml-sm`},Tn={class:`text-caption`},En={class:`text-grey-5 q-mt-xs`},Dn={key:0,class:`text-caption text-grey-6 row items-center`},On={key:1,class:`row items-center q-gutter-sm`},kn={class:`text-caption text-negative`},An={key:2,class:`text-caption text-grey-6`},jn={key:3},Mn=[`onClick`],Nn={class:`commit-sha text-grey-5`},Pn={class:`commit-subject text-grey-4 ellipsis q-ml-sm`},Fn={class:`text-caption`},In={class:`text-grey-5 q-mt-xs`},Ln=rt(j({__name:`BranchDivergenceDialog`,props:{modelValue:{type:Boolean},workspaceId:{},initialTab:{},aheadCount:{},behindCount:{},sourceBranch:{},workingBranch:{}},emits:[`update:modelValue`,`append-sha`],setup(e,{emit:n}){let r=e,i=n,{t:s}=ke(),c=Fe(),l=S(r.initialTab),u=S([]),d=S([]),f=S(!1),h=S(null),_=null;async function y(){_?.abort();let e=new AbortController;_=e,f.value=!0,h.value=null;try{let t=await c.fetchBranchDivergence(r.workspaceId,{signal:e.signal});if(e.signal.aborted)return;u.value=t.ahead,d.value=t.behind}catch(e){if(e?.name===`AbortError`)return;h.value=s(`git.divergence.failed`)}finally{_===e&&(_=null),f.value=!1}}function b(){y()}g(()=>r.modelValue,e=>{e?(l.value=r.initialTab,y()):(_?.abort(),u.value=[],d.value=[],h.value=null)});function C(e){i(`append-sha`,e)}function T(){i(`update:modelValue`,!1)}function k(e){try{return new Date(e).toLocaleDateString()}catch{return e}}return t(()=>{_?.abort()}),(t,n)=>(o(),x(Ne,{"model-value":e.modelValue,"onUpdate:modelValue":n[2]||=e=>i(`update:modelValue`,e)},{default:a(()=>[v(Pe,{style:{"min-width":`600px`,"max-width":`90vw`},dark:``},{default:a(()=>[v(qe,{class:`q-pb-none`},{default:a(()=>[O(`div`,hn,m(t.$t(`git.divergence.title`)),1),O(`div`,gn,m(t.$t(`git.divergence.subtitle`,{source:e.sourceBranch})),1)]),_:1}),v(Lt,{modelValue:l.value,"onUpdate:modelValue":n[0]||=e=>l.value=e,dense:``,align:`left`,"inline-label":``,class:`q-mt-sm`,"indicator-color":`indigo-4`},{default:a(()=>[v(Pt,{name:`ahead`,label:t.$t(`git.divergence.ahead`,{count:e.aheadCount})},null,8,[`label`]),v(Pt,{name:`behind`,label:t.$t(`git.divergence.behind`,{count:e.behindCount})},null,8,[`label`])]),_:1},8,[`modelValue`]),v(me,{dark:``}),v(zt,{modelValue:l.value,"onUpdate:modelValue":n[1]||=e=>l.value=e,animated:``,style:{"max-height":`60vh`}},{default:a(()=>[v(Rt,{name:`ahead`,class:`q-pa-md`},{default:a(()=>[f.value?(o(),E(`div`,_n,[v(R,{size:`xs`,class:`q-mr-xs`}),w(m(t.$t(`git.divergence.loading`)),1)])):h.value?(o(),E(`div`,vn,[O(`span`,yn,m(h.value),1),v(H,{flat:``,dense:``,"no-caps":``,label:t.$t(`git.divergence.retry`),color:`indigo-4`,onClick:b},null,8,[`label`])])):u.value.length===0?(o(),E(`div`,bn,m(t.$t(`git.divergence.empty.ahead`)),1)):(o(),E(`div`,xn,[(o(!0),E(D,null,p(u.value,e=>(o(),E(`div`,{key:e.sha,class:`commit-item row no-wrap items-center cursor-pointer q-py-xs`,onClick:t=>C(e.sha)},[v(B,{name:e.isPushed?`cloud_done`:`cloud_upload`,size:`12px`,color:e.isPushed?`grey-6`:`orange-5`,class:`q-mr-xs`},null,8,[`name`,`color`]),O(`span`,Cn,m(e.shortSha),1),O(`span`,wn,m(e.subject),1),v(G,{anchor:`top middle`,self:`bottom middle`},{default:a(()=>[O(`div`,Tn,[O(`div`,null,[O(`code`,null,m(e.sha),1)]),O(`div`,En,m(e.author)+` · `+m(k(e.date)),1)])]),_:2},1024)],8,Sn))),128))]))]),_:1}),v(Rt,{name:`behind`,class:`q-pa-md`},{default:a(()=>[f.value?(o(),E(`div`,Dn,[v(R,{size:`xs`,class:`q-mr-xs`}),w(m(t.$t(`git.divergence.loading`)),1)])):h.value?(o(),E(`div`,On,[O(`span`,kn,m(h.value),1),v(H,{flat:``,dense:``,"no-caps":``,label:t.$t(`git.divergence.retry`),color:`indigo-4`,onClick:b},null,8,[`label`])])):d.value.length===0?(o(),E(`div`,An,m(t.$t(`git.divergence.empty.behind`)),1)):(o(),E(`div`,jn,[(o(!0),E(D,null,p(d.value,e=>(o(),E(`div`,{key:e.sha,class:`commit-item row no-wrap items-center cursor-pointer q-py-xs`,onClick:t=>C(e.sha)},[O(`span`,Nn,m(e.shortSha),1),O(`span`,Pn,m(e.subject),1),v(G,{anchor:`top middle`,self:`bottom middle`},{default:a(()=>[O(`div`,Fn,[O(`div`,null,[O(`code`,null,m(e.sha),1)]),O(`div`,In,m(e.author)+` · `+m(k(e.date)),1)])]),_:2},1024)],8,Mn))),128))]))]),_:1})]),_:1},8,[`modelValue`]),v(we,{align:`right`,class:`q-pa-md`},{default:a(()=>[v(H,{flat:``,"no-caps":``,label:t.$t(`git.divergence.close`),color:`grey-5`,onClick:T},null,8,[`label`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),[[`__scopeId`,`data-v-fd1cc184`]]);function Rn(e){let t=e.replace(/^#/,``);if(!/^[0-9a-fA-F]{6}$/.test(t))return`#ffffff`;let n=Number.parseInt(t.slice(0,2),16)/255,r=Number.parseInt(t.slice(2,4),16)/255,i=Number.parseInt(t.slice(4,6),16)/255,a=e=>e<=.03928?e/12.92:((e+.055)/1.055)**2.4;return .2126*a(n)+.7152*a(r)+.0722*a(i)<.5?`#ffffff`:`#1a1a1a`}var zn={class:`pr-panel`},Bn={class:`pr-panel__header row items-center q-gutter-xs`},Vn=[`href`],Hn={class:`pr-panel__title col ellipsis`},Un={class:`pr-panel__grid`},Wn={class:`pr-panel__label`},Gn={class:`pr-panel__value`},Kn={class:`pr-panel__label`},qn={class:`pr-panel__value pr-panel__reviewers`},Jn={class:`pr-panel__label`},Yn={class:`pr-panel__value`},Xn={class:`pr-panel__label`},Zn={class:`pr-panel__value`},Qn={key:0,class:`pr-panel__ci`},$n={class:`row items-center q-gutter-sm pr-panel__ci-summary`},er={class:`pr-panel__ci-label`},tr={class:`row items-center q-gutter-sm pr-panel__ci-counts`},nr={key:0,class:`pr-panel__ci-count pr-panel__ci-count--failed`},rr={key:1,class:`pr-panel__ci-count pr-panel__ci-count--pending`},ir={key:2,class:`pr-panel__ci-count pr-panel__ci-count--passed`},ar={key:3,class:`pr-panel__ci-count pr-panel__ci-count--skipped`},or={key:0,class:`pr-panel__ci-list q-mt-sm`},sr={class:`ellipsis`},cr={key:1,class:`pr-panel__ci-list q-mt-xs`},lr={class:`ellipsis`},ur={key:2,class:`q-mt-xs`},dr={key:0,class:`pr-panel__ci-list q-mt-xs`},fr={class:`ellipsis`},pr={class:`ellipsis`},mr=rt(j({__name:`PrPanel`,props:{snapshot:{}},setup(e){let t=e,{t:r}=ke(),i=S(!1);function s(e){switch(e){case`APPROVED`:return`#4ade80`;case`CHANGES_REQUESTED`:return`#ef4444`;case`COMMENTED`:return`#f59e0b`;default:return`#6b7280`}}let c=T(()=>{let e=[],n=[],r=[],i=[];for(let a of t.snapshot.ci.checks){if(a.status!==`COMPLETED`){n.push(a);continue}a.conclusion===`FAILURE`||a.conclusion===`CANCELLED`||a.conclusion===`TIMED_OUT`?e.push(a):a.conclusion===`SUCCESS`?r.push(a):i.push(a)}let a=(e,t)=>e.name.localeCompare(t.name);return e.sort(a),n.sort(a),r.sort(a),i.sort(a),{failed:e,pending:n,passed:r,skipped:i}}),l=T(()=>{switch(t.snapshot.ci.rollup){case`SUCCESS`:return`check_circle`;case`FAILURE`:return`cancel`;case`PENDING`:return`hourglass_top`;default:return`help`}}),u=T(()=>{switch(t.snapshot.ci.rollup){case`SUCCESS`:return`green-4`;case`FAILURE`:return`red-4`;case`PENDING`:return`amber-4`;default:return`grey-5`}}),d=T(()=>{switch(t.snapshot.ci.rollup){case`SUCCESS`:return r(`git.pr.ci.passed`);case`FAILURE`:return r(`git.pr.ci.failed`);case`PENDING`:return r(`git.pr.ci.pending`);default:return``}});return(t,r)=>(o(),E(`div`,zn,[O(`div`,Bn,[v(xt,{dense:``,square:``,color:e.snapshot.state===`OPEN`?`green-9`:`grey-9`,"text-color":e.snapshot.state===`OPEN`?`green-3`:`grey-3`,label:e.snapshot.state,class:`pr-panel__state`},null,8,[`color`,`text-color`,`label`]),O(`a`,{href:e.snapshot.url,target:`_blank`,rel:`noopener`,class:`pr-panel__number`},`#`+m(e.snapshot.number),9,Vn),O(`span`,Hn,m(e.snapshot.title),1),e.snapshot.title.length>60?(o(),x(G,{key:0,anchor:`bottom middle`,self:`top middle`},{default:a(()=>[w(m(e.snapshot.title),1)]),_:1})):C(``,!0),y(Ie)(e.snapshot)?(o(),x(xt,{key:1,dense:``,square:``,color:`red-9`,"text-color":`red-3`,icon:`rate_review`,label:t.$t(`git.pr.changesRequestedBadge`),class:`pr-panel__badge`},null,8,[`label`])):e.snapshot.reviewDecision===`APPROVED`?(o(),x(xt,{key:2,dense:``,square:``,color:`green-9`,"text-color":`green-3`,icon:`check`,label:t.$t(`git.pr.approvedBadge`),class:`pr-panel__badge`},null,8,[`label`])):C(``,!0)]),O(`div`,Un,[O(`span`,Wn,m(t.$t(`git.pr.author`)),1),O(`span`,Gn,`@`+m(e.snapshot.author.login),1),e.snapshot.reviewers.length>0?(o(),E(D,{key:0},[O(`span`,Kn,m(t.$t(`git.pr.reviewers`)),1),O(`span`,qn,[(o(!0),E(D,null,p(e.snapshot.reviewers,e=>(o(),E(`span`,{key:e.login,class:`pr-panel__reviewer`},[O(`span`,{class:`pr-panel__dot`,style:A({backgroundColor:s(e.state)})},null,4),O(`span`,null,`@`+m(e.login),1),v(G,null,{default:a(()=>[w(m(e.login)+` — `+m(e.state.toLowerCase()),1)]),_:2},1024)]))),128))])],64)):C(``,!0),e.snapshot.assignees.length>0?(o(),E(D,{key:1},[O(`span`,Jn,m(t.$t(`git.pr.assignees`)),1),O(`span`,Yn,m(e.snapshot.assignees.map(e=>`@`+e.login).join(`, `)),1)],64)):C(``,!0),e.snapshot.labels.length>0?(o(),E(D,{key:2},[O(`span`,Xn,m(t.$t(`git.pr.labels`)),1),O(`span`,Zn,[(o(!0),E(D,null,p(e.snapshot.labels,e=>(o(),x(xt,{key:e.name,dense:``,square:``,style:A({backgroundColor:`#`+e.color,color:y(Rn)(e.color)}),class:`pr-panel__label-chip`,label:e.name},null,8,[`style`,`label`]))),128))])],64)):C(``,!0)]),e.snapshot.ci.rollup===null?C(``,!0):(o(),E(`div`,Qn,[O(`div`,$n,[v(B,{name:l.value,color:u.value,size:`16px`},null,8,[`name`,`color`]),O(`span`,er,m(d.value),1),O(`div`,tr,[c.value.failed.length>0?(o(),E(`span`,nr,[v(B,{name:`cancel`,size:`12px`}),O(`span`,null,m(t.$t(`git.pr.ci.failedCount`,{n:c.value.failed.length})),1)])):C(``,!0),c.value.pending.length>0?(o(),E(`span`,rr,[v(B,{name:`hourglass_top`,size:`12px`}),O(`span`,null,m(t.$t(`git.pr.ci.pendingCount`,{n:c.value.pending.length})),1)])):C(``,!0),c.value.passed.length>0?(o(),E(`span`,ir,[v(B,{name:`check_circle`,size:`12px`}),O(`span`,null,m(t.$t(`git.pr.ci.passedCount`,{n:c.value.passed.length})),1)])):C(``,!0),c.value.skipped.length>0?(o(),E(`span`,ar,[v(B,{name:`remove_circle_outline`,size:`12px`}),O(`span`,null,m(t.$t(`git.pr.ci.skippedCount`,{n:c.value.skipped.length})),1)])):C(``,!0)])]),c.value.failed.length>0?(o(),E(`div`,or,[(o(!0),E(D,null,p(c.value.failed,e=>(o(),x(n(e.detailsUrl?`a`:`div`),{key:`f-${e.name}-${e.detailsUrl??``}`,href:e.detailsUrl??void 0,target:`_blank`,rel:`noopener`,class:`pr-panel__ci-item pr-panel__ci-item--failed`},{default:a(()=>[v(B,{name:`cancel`,size:`14px`}),O(`span`,sr,m(e.name),1)]),_:2},1032,[`href`]))),128))])):C(``,!0),c.value.pending.length>0?(o(),E(`div`,cr,[(o(!0),E(D,null,p(c.value.pending,e=>(o(),x(n(e.detailsUrl?`a`:`div`),{key:`p-${e.name}-${e.detailsUrl??``}`,href:e.detailsUrl??void 0,target:`_blank`,rel:`noopener`,class:`pr-panel__ci-item pr-panel__ci-item--pending`},{default:a(()=>[v(B,{name:`hourglass_top`,size:`14px`}),O(`span`,lr,m(e.name),1)]),_:2},1032,[`href`]))),128))])):C(``,!0),c.value.passed.length+c.value.skipped.length>0?(o(),E(`div`,ur,[v(H,{dense:``,flat:``,"no-caps":``,size:`sm`,icon:i.value?`expand_less`:`expand_more`,label:i.value?t.$t(`git.pr.ci.hidePassed`):t.$t(`git.pr.ci.showPassed`,{n:c.value.passed.length+c.value.skipped.length}),class:`pr-panel__ci-toggle`,onClick:r[0]||=e=>i.value=!i.value},null,8,[`icon`,`label`]),i.value?(o(),E(`div`,dr,[(o(!0),E(D,null,p(c.value.passed,e=>(o(),x(n(e.detailsUrl?`a`:`div`),{key:`s-${e.name}-${e.detailsUrl??``}`,href:e.detailsUrl??void 0,target:`_blank`,rel:`noopener`,class:`pr-panel__ci-item pr-panel__ci-item--passed`},{default:a(()=>[v(B,{name:`check_circle`,size:`14px`}),O(`span`,fr,m(e.name),1)]),_:2},1032,[`href`]))),128)),(o(!0),E(D,null,p(c.value.skipped,e=>(o(),x(n(e.detailsUrl?`a`:`div`),{key:`k-${e.name}-${e.detailsUrl??``}`,href:e.detailsUrl??void 0,target:`_blank`,rel:`noopener`,class:`pr-panel__ci-item pr-panel__ci-item--skipped`},{default:a(()=>[v(B,{name:`remove_circle_outline`,size:`14px`}),O(`span`,pr,m(e.name),1)]),_:2},1032,[`href`]))),128))])):C(``,!0)])):C(``,!0)]))]))}}),[[`__scopeId`,`data-v-b8060f4f`]]),hr={class:`git-panel q-px-sm q-py-md`},gr={class:`row items-center justify-between q-mb-sm`},_r={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},vr={key:0,class:`row items-center justify-center q-py-xl`},yr={class:`git-subcard`},br={class:`git-subcard-title`},xr={class:`row items-center q-mb-xs`},Sr={class:`text-caption text-grey-3`},Cr={class:`row items-center q-mb-xs`},wr={class:`text-caption text-grey-4`,style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},Tr={class:`text-caption text-grey-8`,style:{"font-size":`11px`}},Er={key:3},Dr={key:4,style:{color:`#4ade80`}},Or={key:5,style:{color:`#f59e0b`}},kr={key:0,class:`git-subcard`},Ar={class:`git-subcard-title`},jr={class:`row items-center`,style:{"font-size":`11px`,gap:`14px`,"flex-wrap":`wrap`}},Mr={class:`text-grey-4`},Nr={key:1,class:`row items-center`},Pr={class:`text-grey-4`},Fr={key:2,class:`row items-center`},Ir={class:`text-grey-4`},Lr={key:0,class:`q-ml-xs`,style:{color:`#4ade80`}},Rr={key:1,class:`q-ml-xs`,style:{color:`#f87171`}},zr={key:3,class:`row items-center`},Br={key:0,style:{color:`#4ade80`}},Vr={key:1,class:`q-ml-xs`,style:{color:`#f59e0b`}},Hr={key:2,class:`q-ml-xs text-grey-6`},Ur={key:0,class:`commit-list q-mt-sm`},Wr={key:0,class:`text-caption text-grey-6 q-pa-xs`},Gr={key:1,class:`text-caption text-grey-7 q-pa-xs`},Kr=[`onClick`],qr={class:`commit-sha text-grey-5`},Jr={class:`commit-subject text-grey-4 ellipsis q-ml-sm`},Yr={class:`text-caption`},Xr={class:`text-grey-5 q-mt-xs`},Zr={class:`text-grey-6 q-mt-xs`,style:{"font-style":`italic`}},Qr={key:1,class:`git-subcard`},$r={class:`git-subcard-title`},ei={class:`row no-wrap items-stretch q-gutter-xs`},ti={key:0,class:`col`},ni={key:1,class:`col`},ri={class:`col`},ii={key:2,class:`col-auto`},ai={key:2,class:`git-subcard`},oi={class:`git-subcard-title`},si={key:1,class:`text-caption text-grey-8`},ci={class:`text-subtitle1`},li={class:`text-body2 text-grey-5 q-mt-sm`},ui={class:`git-branch-code`},di={class:`text-caption text-grey-6 q-mt-xs`,style:{"padding-left":`46px`}},fi={class:`text-subtitle1 text-warning`},pi={class:`text-caption text-grey-6 q-mt-xs`},mi={class:`text-caption text-mono`},hi={class:`text-subtitle1 text-negative`},gi={class:`text-caption text-grey-6 q-mt-xs`},_i={class:`text-body2 text-grey-3`,style:{"white-space":`pre-wrap`,"word-break":`break-word`}},vi=rt(j({__name:`GitPanel`,props:{workspace:{}},setup(e){let n=k(()=>ze(()=>import(`./DiffViewer-mgpaPemQ.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]))),r=e,{t:i}=ke(),c=dt(),l=Fe(),u=Ce(),d=T(()=>!!r.workspace?.archivedAt),f=T(()=>r.workspace?((u.getProjectByPath(r.workspace.projectPath)?.changeSourceBranchScript??``).trim()||(u.global.changeSourceBranchScript??``).trim()).length>0:!1),h=S(!1),_=S(!1),b=S(!1),A=S(!1),j=S(!1),M=S(!1),N=S(!1),ee=S(!1);function te(e){ee.value=e,N.value=!0}let P=S(!1),F=S(!1),I=S(!1),ne=S([]);async function re(){if(r.workspace){I.value=!0;try{let e=await fetch(`/api/workspaces/${r.workspace.id}/commits?limit=50`,{cache:`no-store`});if(!e.ok)throw Error(`HTTP ${e.status}`);ne.value=(await e.json()).commits}catch(e){console.error(`[GitPanel] fetchCommits failed:`,e),ne.value=[]}finally{I.value=!1}}}async function ie(){F.value=!F.value,F.value&&(I.value=!0,await re())}function ae(e){l.chatDraft=e}function oe(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`})}let se=S(!1),z=S(null),ce=S([]),le=S(!1),ue=S(!1),de=S(!1),fe=S(``),pe=S(null),me=S(!1);function he(e,t){fe.value=e,pe.value=t,de.value=!0}async function ge(){if(r.workspace){me.value=!0;try{let e=await fetch(`/api/workspaces/${r.workspace.id}/git/abort`,{method:`POST`});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error??`Abort failed`)}c.notify({type:`positive`,message:i(`git.conflictAborted`),position:`top`}),de.value=!1,Be()}catch(e){let t=e instanceof Error?e.message:`Abort failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{me.value=!1}}}function _e(e){l.chatDraft=e,N.value=!1}let V=S(null),ve=S(!1),ye=T(()=>{if(!r.workspace?.projectPath)return`-`;let e=r.workspace.projectPath.replace(/\\/g,`/`).split(`/`);return e[e.length-1]||e[e.length-2]||`-`}),be=T(()=>{let e=r.workspace?.id;if(e)return l.prSnapshots[e]}),xe={id:`none`,capabilities:{canCreatePr:!1,canChangePrBase:!1,requestTermShort:`PR`},availability:{available:!1}},Se=T(()=>V.value?.forge??xe),Te=T(()=>Se.value.id===`gitlab`?`glab`:`gh`),Ee=T(()=>!(!V.value||Se.value.id===`none`||!Se.value.availability.available||V.value.unpushedCount===-1)),De=T(()=>{if(!V.value)return``;if(V.value.unpushedCount===-1)return i(`git.createPrNoRemote`);if(!Se.value.availability.available){let e=Se.value.availability.reason;return e===`cli_missing`?i(`git.forgeCliMissing`,{cli:Te.value,request:Se.value.capabilities.requestTermShort}):e===`not_authenticated`?i(`git.forgeNotAuthenticated`,{cli:Te.value}):i(`git.forgeCliMissing`,{cli:Te.value,request:Se.value.capabilities.requestTermShort})}return``}),Oe=T(()=>r.workspace?.worktreeOwned!==!1),Ae=T(()=>{if(!r.workspace)return!1;let e=!!(V.value?.prUrl&&V.value.prState===`OPEN`);return Oe.value||e||f.value}),je=S(!1),Ie=S(`ahead`);function Le(e){Ie.value=e,je.value=!0}let Re=null;async function Be(e={}){if(!r.workspace){V.value=null;return}Re?.abort();let t=new AbortController;Re=t;let n=r.workspace.id;ve.value=!0;try{let i=await l.fetchGitStats(n,{freshFetch:e.freshFetch,signal:t.signal});if(t.signal.aborted||r.workspace?.id!==n)return;V.value=i}catch(e){if(e?.name===`AbortError`)return;V.value=null}finally{Re===t&&(Re=null),ve.value=!1}}async function Ve(){let e=r.workspace?.id;e&&await Promise.allSettled([Be({freshFetch:!0}),l.refreshPrSnapshot(e)])}let He=null;g(()=>r.workspace?.id,(e,t)=>{Re?.abort(),He&&=(clearTimeout(He),null),e!==t&&(V.value=null,ne.value=[],F.value=!1),e&&Be({freshFetch:!0})},{immediate:!0}),g(()=>l.gitRefreshTrigger,()=>{He&&clearTimeout(He),He=setTimeout(()=>Be(),3e3)}),g(()=>{let e=r.workspace?.id;return e?l.gitStatsCache[e]:null},e=>{e&&(ve.value||(V.value=e))}),t(()=>{He&&=(clearTimeout(He),null),Re?.abort()});function We(){let e=r.workspace;e&&c.dialog({title:i(`git.renameBranch`),message:i(`git.renameBranchPrompt`,{branch:e.workingBranch}),prompt:{model:e.workingBranch,type:`text`},dark:!0,cancel:{flat:!0,label:i(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:i(`git.renameBranch`),color:`indigo-4`}}).onOk(async t=>{let n=(t??``).trim();if(!(!n||n===e.workingBranch)){P.value=!0;try{await l.renameWorkspaceBranch(e.id,n),c.notify({type:`positive`,message:i(`git.renameBranchSuccess`,{branch:n}),position:`top`}),Be()}catch(e){let t=e instanceof Ue&&e.code===`branch_exists`?i(`git.renameBranchExists`,{branch:n}):e instanceof Error?e.message:i(`git.renameBranchFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{P.value=!1}}})}function Ge(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`)}function Ke(){r.workspace&&c.dialog({title:i(`git.rebaseConfirmTitle`),message:i(`git.rebaseConfirmMessage`,{branch:`<code class="git-branch-code">${Ge(r.workspace.sourceBranch)}</code>`}),html:!0,dark:!0,cancel:{flat:!0,label:i(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:i(`git.rebase`),color:`orange-4`}}).onOk(async()=>{b.value=!0;try{let e=await fetch(`/api/workspaces/${r.workspace.id}/rebase`,{method:`POST`});if(e.status===409){let t=await e.json();Ye(`rebase`,Array.isArray(t.files)?t.files:[]);return}if(!e.ok){let t=await e.json();throw Error(t.error??`Rebase failed`)}c.notify({type:`positive`,message:i(`git.rebaseSuccess`),position:`top`}),Be()}catch(e){let t=e instanceof Error?e.message:i(`git.rebaseFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{b.value=!1}})}function Je(){r.workspace&&c.dialog({title:i(`git.mergeConfirmTitle`),message:i(`git.mergeConfirmMessage`,{branch:`<code class="git-branch-code">${Ge(r.workspace.sourceBranch)}</code>`}),html:!0,dark:!0,cancel:{flat:!0,label:i(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:i(`git.merge`),color:`purple-4`}}).onOk(async()=>{A.value=!0;try{let e=await fetch(`/api/workspaces/${r.workspace.id}/merge`,{method:`POST`});if(e.status===409){let t=await e.json();Ye(`merge`,Array.isArray(t.files)?t.files:[]);return}if(!e.ok){let t=await e.json();throw Error(t.error??`Merge failed`)}c.notify({type:`positive`,message:i(`git.mergeSuccess`),position:`top`}),Be()}catch(e){let t=e instanceof Error?e.message:i(`git.mergeFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{A.value=!1}})}function Ye(e,t){z.value=e,ce.value=t,se.value=!0}async function Xe(){if(r.workspace){le.value=!0;try{let e=await fetch(`/api/workspaces/${r.workspace.id}/git/abort`,{method:`POST`});if(!e.ok){let t=await e.json();throw Error(t.error??`Abort failed`)}c.notify({type:`positive`,message:i(`git.conflictAborted`),position:`top`}),se.value=!1,Be()}catch(e){let t=e instanceof Error?e.message:`Abort failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{le.value=!1}}}async function Ze(){if(!(!r.workspace||!z.value)){ue.value=!0;try{let e=await fetch(`/api/workspaces/${r.workspace.id}/git/resolve-with-agent`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({operation:z.value,files:ce.value})});if(!e.ok){let t=await e.json();throw Error(t.error??`Handoff failed`)}c.notify({type:`positive`,message:i(`git.conflictHandoffSuccess`),position:`top`}),se.value=!1}catch(e){let t=e instanceof Error?e.message:`Handoff failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{ue.value=!1}}}let Qe=S(!1),$e=S(!1);function et(){r.workspace&&($e.value=!1,Qe.value=!0)}async function tt(){if(!r.workspace)return;let e=$e.value;Qe.value=!1,h.value=!0;try{await l.pushBranch(r.workspace.id,{force:e}),c.notify({type:`positive`,message:i(e?`git.branchForcePushed`:`git.branchPushed`),position:`top`}),Be()}catch(e){let t=e instanceof Error?e.message:`Push failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{h.value=!1}}function nt(){r.workspace&&c.dialog({title:i(`git.pullConfirmTitle`),message:i(`git.pullConfirmMessage`,{branch:`<code class="git-branch-code">${Ge(r.workspace.workingBranch)}</code>`}),html:!0,dark:!0,cancel:{flat:!0,label:i(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:i(`git.pull`),color:`grey-5`}}).onOk(async()=>{_.value=!0;try{await l.pullBranch(r.workspace.id),c.notify({type:`positive`,message:i(`git.branchPulled`),position:`top`}),Be()}catch(e){console.error(`[GitPanel] pullBranch failed:`,e);let t=e instanceof Error?e.message:i(`git.pullFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{_.value=!1}})}function rt(){V.value?.prUrl&&window.open(V.value.prUrl,`_blank`)}function it(){r.workspace&&c.dialog({title:i(`git.changePrBaseTitle`),message:i(`git.changePrBaseMessage`,{request:Se.value.capabilities.requestTermShort}),prompt:{model:r.workspace.sourceBranch,type:`text`},dark:!0,cancel:{flat:!0,label:i(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:i(`common.save`),color:`primary`}}).onOk(async e=>{if(!(!e.trim()||!r.workspace)){M.value=!0;try{let t=await fetch(`/api/workspaces/${r.workspace.id}/change-pr-base`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({base:e.trim()})});if(!t.ok){let e=await t.json();throw Error(e.error??`Failed`)}c.notify({type:`positive`,message:i(`git.changePrBaseSuccess`,{request:Se.value.capabilities.requestTermShort}),position:`top`}),Be()}catch(e){let t=e instanceof Error?e.message:i(`git.changePrBaseFailed`,{request:Se.value.capabilities.requestTermShort});c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{M.value=!1}}})}let at=S(!1);function ot(){r.workspace&&c.dialog({title:i(`git.changeSourceForcePushTitle`),message:i(`git.changeSourceForcePushMessage`),dark:!0,cancel:{flat:!0,label:i(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:i(`git.forcePush`),color:`primary`}}).onOk(async()=>{if(r.workspace)try{let e=await fetch(`/api/workspaces/${r.workspace.id}/force-push`,{method:`POST`});if(!e.ok){let t=await e.json();throw Error(t.error??`Failed`)}c.notify({type:`positive`,message:i(`git.changeSourceForcePushDone`),position:`top`}),Be()}catch(e){let t=e instanceof Error?e.message:`Failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}})}async function st(){r.workspace&&c.dialog({title:i(`git.changeSourceBranchTitle`),message:i(`git.changeSourceBranchMessage`),prompt:{model:``,type:`text`},dark:!0,cancel:{flat:!0,label:i(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:i(`common.save`),color:`primary`}}).onOk(async e=>{if(!e.trim()||!r.workspace)return;at.value=!0;let t=c.notify({group:!1,spinner:!0,message:i(`git.changeSourceBranchLoading`),position:`top`,timeout:0});try{let t=await fetch(`/api/workspaces/${r.workspace.id}/change-source-branch`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({newBase:e.trim()})}),n=await t.json();if(!t.ok){let e=n.code===`too_many_commits`?i(`git.changeSourceBranchTooMany`,{n:n.commitCount??0}):n.code===`dirty_worktree`?i(`git.changeSourceBranchDirty`):n.code===`agent_running`?i(`git.changeSourceBranchAgentRunning`):n.error??`Failed`;n.ongoingOperation===`cherry-pick`||n.ongoingOperation===`merge`||n.ongoingOperation===`rebase`?he(e,n.ongoingOperation):c.notify({type:`negative`,message:e,position:`top`,timeout:6e3});return}if(r.workspace&&l.updateWorkspaceFromEvent(r.workspace.id,{sourceBranch:e.trim()}),n.status===`conflict`)Ye(`cherry-pick`,[]);else{let t=n.status===`aligned`?`git.changeSourceBranchAligned`:`git.changeSourceBranchDone`;c.notify({type:`positive`,message:i(t,{branch:e.trim()}),position:`top`}),n.forcePushNeeded&&ot()}}catch(e){let t=e instanceof Error?e.message:`Failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{t(),at.value=!1,Be()}})}async function ct(){if(r.workspace){j.value=!0;try{let e=await l.openPullRequest(r.workspace.id);c.notify({type:`positive`,message:i(`git.prCreated`,{n:e.prNumber,request:Se.value.capabilities.requestTermShort}),caption:e.prUrl,position:`top`,timeout:5e3}),Be()}catch(e){if(e instanceof Ue&&e.code===`branch_not_pushed`){c.notify({type:`warning`,message:i(`git.pushFirst`),position:`top`,timeout:6e3});return}if(e instanceof Ue&&e.code===`unpushed_commits`){c.notify({type:`warning`,message:i(`git.unpushedCommits`),position:`top`,timeout:6e3});return}let t=e instanceof Error?e.message:`Open PR failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{j.value=!1}}}return(t,r)=>(o(),E(`div`,hr,[O(`div`,gr,[O(`div`,_r,m(t.$t(`git.title`)),1),e.workspace?(o(),x(H,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,loading:ve.value,onClick:Ve},{default:a(()=>[v(G,null,{default:a(()=>[w(m(t.$t(`tooltip.refreshGitStats`)),1)]),_:1})]),_:1},8,[`loading`])):C(``,!0)]),e.workspace?(o(),E(D,{key:0},[ve.value&&!V.value?(o(),E(`div`,vr,[v(R,{size:`32px`,color:`indigo-4`})])):(o(),E(D,{key:1},[O(`div`,yr,[O(`div`,br,m(t.$t(`git.section.repository`)),1),O(`div`,xr,[v(B,{name:`folder`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),O(`span`,Sr,m(ye.value),1)]),O(`div`,Cr,[r[13]||=O(`span`,{style:{width:`8px`,height:`8px`,"border-radius":`50%`,"background-color":`#4ade80`,display:`inline-block`},class:`q-mr-xs`},null,-1),O(`span`,wr,m(e.workspace.workingBranch),1)]),O(`div`,Tr,[w(m(e.workspace.sourceBranch)+` `,1),V.value?(o(),E(D,{key:0},[V.value.commitCount>0?(o(),E(`span`,{key:0,class:`cursor-pointer arrow-clickable`,style:{color:`#4ade80`},onClick:r[0]||=L(e=>Le(`ahead`),[`stop`])},` · ↑`+m(V.value.commitCount),1)):C(``,!0),V.value.behindCount>0?(o(),E(`span`,{key:1,class:`cursor-pointer arrow-clickable`,style:{color:`#f87171`},onClick:r[1]||=L(e=>Le(`behind`),[`stop`])},` · ↓`+m(V.value.behindCount),1)):C(``,!0),V.value.commitCount>0||V.value.behindCount>0?(o(),x(G,{key:2},{default:a(()=>[w(m(t.$t(`git.aheadBehindTooltip`,{ahead:V.value.commitCount,behind:V.value.behindCount,source:e.workspace.sourceBranch})),1)]),_:1})):C(``,!0),r[14]||=w(` · `,-1),V.value.unpushedCount===-1?(o(),E(`span`,Er,m(t.$t(`git.localOnly`)),1)):V.value.unpushedCount===0?(o(),E(`span`,Dr,m(t.$t(`git.pushed`)),1)):(o(),E(`span`,Or,m(t.$t(`git.unpushed`,{count:V.value.unpushedCount})),1))],64)):C(``,!0)])]),V.value?(o(),E(`div`,kr,[O(`div`,Ar,m(t.$t(`git.section.changes`)),1),O(`div`,jr,[V.value.commitCount>0?(o(),E(`div`,{key:0,class:`row items-center commit-toggle cursor-pointer`,onClick:ie},[v(B,{name:`commit`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),O(`span`,Mr,m(t.$t(`git.commits`,{count:V.value.commitCount},V.value.commitCount)),1),I.value?(o(),x(R,{key:0,size:`12px`,color:`indigo-4`,class:`q-ml-xs`})):(o(),x(B,{key:1,name:F.value?`expand_less`:`expand_more`,size:`14px`,color:`grey-6`,class:`q-ml-xs`},null,8,[`name`]))])):(o(),E(`div`,Nr,[v(B,{name:`commit`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),O(`span`,Pr,m(t.$t(`git.commits`,{count:0},0)),1)])),V.value.filesChanged>0?(o(),E(`div`,Fr,[v(B,{name:`insert_drive_file`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),O(`span`,Ir,m(V.value.filesChanged),1),V.value.insertions>0?(o(),E(`span`,Lr,`+`+m(V.value.insertions),1)):C(``,!0),V.value.deletions>0?(o(),E(`span`,Rr,`-`+m(V.value.deletions),1)):C(``,!0)])):C(``,!0),V.value.workingTree&&(V.value.workingTree.staged>0||V.value.workingTree.modified>0||V.value.workingTree.untracked>0)?(o(),E(`div`,zr,[v(B,{name:`edit_note`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),V.value.workingTree.staged>0?(o(),E(`span`,Br,m(V.value.workingTree.staged)+`s`,1)):C(``,!0),V.value.workingTree.modified>0?(o(),E(`span`,Vr,m(V.value.workingTree.modified)+`m`,1)):C(``,!0),V.value.workingTree.untracked>0?(o(),E(`span`,Hr,m(V.value.workingTree.untracked)+`u`,1)):C(``,!0),v(G,null,{default:a(()=>[w(m(t.$t(`git.staged`,{count:V.value.workingTree.staged}))+` · `+m(t.$t(`git.modified`,{count:V.value.workingTree.modified}))+` · `+m(t.$t(`git.untracked`,{count:V.value.workingTree.untracked})),1)]),_:1})])):C(``,!0)]),F.value?(o(),E(`div`,Ur,[I.value?(o(),E(`div`,Wr,[v(R,{size:`xs`,class:`q-mr-xs`}),w(m(t.$t(`git.commits.loading`)),1)])):ne.value.length===0?(o(),E(`div`,Gr,m(t.$t(`git.commits.empty`)),1)):(o(!0),E(D,{key:2},p(ne.value,e=>(o(),E(`div`,{key:e.sha,class:`commit-item row no-wrap items-center cursor-pointer`,onClick:t=>ae(e.sha)},[v(B,{name:e.isPushed?`cloud_done`:`cloud_upload`,size:`12px`,color:e.isPushed?`grey-6`:`orange-5`,class:`q-mr-xs commit-item-icon`},null,8,[`name`,`color`]),O(`span`,qr,m(e.shortSha),1),O(`span`,Jr,m(e.subject),1),v(G,{anchor:`top middle`,self:`bottom middle`,class:`commit-tooltip`},{default:a(()=>[O(`div`,Yr,[O(`div`,null,[O(`code`,null,m(e.sha),1)]),O(`div`,Xr,m(e.author)+` · `+m(oe(e.date)),1),O(`div`,Zr,m(e.isPushed?t.$t(`git.commits.pushed`):t.$t(`git.commits.unpushed`))+` · `+m(t.$t(`git.commits.clickToAppend`)),1)])]),_:2},1024)],8,Kr))),128))])):C(``,!0)])):C(``,!0),e.workspace&&V.value?(o(),E(`div`,Qr,[O(`div`,$r,m(t.$t(`git.section.actions`)),1),Se.value.id===`none`?C(``,!0):(o(),E(D,{key:0},[V.value?.prUrl&&V.value.prState===`OPEN`?(o(),x(H,{key:0,"no-caps":``,unelevated:``,dense:``,size:`sm`,color:`green-7`,icon:`open_in_new`,label:t.$t(`git.viewRequest`,{request:Se.value.capabilities.requestTermShort}),class:`full-width q-mb-xs`,onClick:rt},null,8,[`label`])):(o(),x(H,{key:1,"no-caps":``,unelevated:``,dense:``,size:`sm`,color:`indigo-5`,icon:`open_in_new`,label:t.$t(`git.createRequest`,{request:Se.value.capabilities.requestTermShort}),class:`full-width q-mb-xs`,loading:j.value,disable:!e.workspace||h.value||!Ee.value||d.value,onClick:ct},{default:a(()=>[!Ee.value&&De.value?(o(),x(G,{key:0},{default:a(()=>[w(m(De.value),1)]),_:1})):C(``,!0)]),_:1},8,[`label`,`loading`,`disable`]))],64)),O(`div`,ei,[V.value?(o(),E(`div`,ti,[v(mn,{split:``,dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,icon:`sync`,label:t.$t(`git.sync`),class:`full-width git-btn`,loading:_.value||b.value||A.value,disable:!e.workspace||h.value||d.value,onClick:r[2]||=e=>V.value.unpushedCount===-1?Ke():nt()},{default:a(()=>[v(lt,{dark:``,dense:``,style:{"min-width":`140px`}},{default:a(()=>[s((o(),x(U,{clickable:``,disable:_.value||b.value||A.value||V.value.unpushedCount===-1||d.value,onClick:nt},{default:a(()=>[v(W,{avatar:``,style:{"min-width":`28px`}},{default:a(()=>[v(B,{name:`download`,size:`16px`,color:`grey-5`})]),_:1}),v(W,null,{default:a(()=>[w(m(t.$t(`git.pull`)),1)]),_:1}),V.value.unpushedCount===-1?(o(),x(G,{key:0},{default:a(()=>[w(m(t.$t(`git.pullNoUpstream`)),1)]),_:1})):C(``,!0)]),_:1},8,[`disable`])),[[K]]),s((o(),x(U,{clickable:``,disable:_.value||b.value||A.value||d.value,onClick:Ke},{default:a(()=>[v(W,{avatar:``,style:{"min-width":`28px`}},{default:a(()=>[v(B,{name:`replay`,size:`16px`,color:`orange-4`})]),_:1}),v(W,null,{default:a(()=>[w(m(t.$t(`git.rebase`)),1)]),_:1})]),_:1},8,[`disable`])),[[K]]),s((o(),x(U,{clickable:``,disable:_.value||b.value||A.value||d.value,onClick:Je},{default:a(()=>[v(W,{avatar:``,style:{"min-width":`28px`}},{default:a(()=>[v(B,{name:`merge`,size:`16px`,color:`purple-4`})]),_:1}),v(W,null,{default:a(()=>[w(m(t.$t(`git.merge`)),1)]),_:1})]),_:1},8,[`disable`])),[[K]])]),_:1})]),_:1},8,[`label`,`loading`,`disable`])])):C(``,!0),V.value?.unpushedCount===0?C(``,!0):(o(),E(`div`,ni,[v(H,{dense:``,"no-caps":``,size:`sm`,outline:``,color:`orange-5`,icon:`upload`,label:t.$t(`git.push`),class:`full-width git-btn`,loading:h.value,disable:!e.workspace||j.value||_.value||b.value||d.value,onClick:et},{default:a(()=>[v(G,{anchor:`bottom middle`,self:`top middle`,delay:400},{default:a(()=>[w(m(t.$t(`git.push`)),1)]),_:1})]),_:1},8,[`label`,`loading`,`disable`])])),O(`div`,ri,[v(H,{dense:``,"no-caps":``,size:`sm`,outline:``,color:`indigo-4`,icon:`rate_review`,label:t.$t(`git.diffReview`),class:`full-width git-btn`,disable:!e.workspace,onClick:r[3]||=e=>te(!0)},{default:a(()=>[v(G,{anchor:`bottom middle`,self:`top middle`,delay:400},{default:a(()=>[w(m(t.$t(`git.diffReviewTooltip`)),1)]),_:1})]),_:1},8,[`label`,`disable`])]),Ae.value?(o(),E(`div`,ii,[v(H,{dense:``,flat:``,size:`sm`,color:`grey-5`,icon:`more_horiz`,class:`git-btn`},{default:a(()=>[v(ut,null,{default:a(()=>[v(lt,{dark:``,dense:``,style:{"min-width":`160px`}},{default:a(()=>[Oe.value?s((o(),x(U,{key:0,clickable:``,disable:P.value||d.value,onClick:We},{default:a(()=>[v(W,{avatar:``,style:{"min-width":`28px`}},{default:a(()=>[v(B,{name:`edit`,size:`16px`,color:`grey-5`})]),_:1}),v(W,null,{default:a(()=>[w(m(t.$t(`git.renameBranch`)),1)]),_:1})]),_:1},8,[`disable`])),[[K]]):C(``,!0),V.value?.prUrl&&V.value.prState===`OPEN`?s((o(),x(U,{key:1,clickable:``,disable:M.value||d.value,onClick:it},{default:a(()=>[v(W,{avatar:``,style:{"min-width":`28px`}},{default:a(()=>[v(B,{name:`swap_horiz`,size:`16px`,color:`grey-5`})]),_:1}),v(W,null,{default:a(()=>[w(m(t.$t(`git.changeRequestBase`,{request:Se.value.capabilities.requestTermShort})),1)]),_:1})]),_:1},8,[`disable`])),[[K]]):C(``,!0),f.value?s((o(),x(U,{key:2,clickable:``,disable:at.value||d.value,onClick:st},{default:a(()=>[v(W,{avatar:``,style:{"min-width":`28px`}},{default:a(()=>[v(B,{name:`alt_route`,size:`16px`,color:`grey-5`})]),_:1}),v(W,null,{default:a(()=>[w(m(t.$t(`git.changeSourceBranch`)),1)]),_:1})]),_:1},8,[`disable`])),[[K]]):C(``,!0)]),_:1})]),_:1}),v(G,null,{default:a(()=>[w(m(t.$t(`git.actions.more`)),1)]),_:1})]),_:1})])):C(``,!0)])])):C(``,!0),be.value&&be.value.state===`OPEN`?(o(),E(`div`,ai,[O(`div`,oi,m(t.$t(`git.section.pullRequest`)),1),v(mr,{snapshot:be.value},null,8,[`snapshot`])])):C(``,!0)],64))],64)):(o(),E(`div`,si,m(t.$t(`common.selectWorkspace`)),1)),v(Ne,{modelValue:Qe.value,"onUpdate:modelValue":r[5]||=e=>Qe.value=e},{default:a(()=>[v(Pe,{dark:``,style:{"min-width":`360px`,"max-width":`480px`}},{default:a(()=>[v(qe,null,{default:a(()=>[O(`div`,ci,m(t.$t(`git.pushConfirmTitle`)),1),O(`div`,li,[w(m(t.$t(`git.pushConfirmMessagePrefix`))+` `,1),O(`code`,ui,m(e.workspace?.workingBranch??``),1),w(` `+m(t.$t(`git.pushConfirmMessageSuffix`)),1)])]),_:1}),v(qe,{class:`q-pt-none`},{default:a(()=>[v(Me,{modelValue:$e.value,"onUpdate:modelValue":r[4]||=e=>$e.value=e,label:t.$t(`git.forcePushToggle`),color:`orange-6`,dense:``},null,8,[`modelValue`,`label`]),O(`div`,di,m(t.$t(`git.forcePushHint`)),1)]),_:1}),v(we,{align:`right`},{default:a(()=>[s(v(H,{flat:``,label:t.$t(`common.cancel`),color:`grey-5`},null,8,[`label`]),[[K]]),v(H,{flat:``,label:$e.value?t.$t(`git.forcePush`):t.$t(`git.push`),color:$e.value?`orange-4`:`grey-5`,onClick:tt},null,8,[`label`,`color`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),v(Ne,{modelValue:se.value,"onUpdate:modelValue":r[7]||=e=>se.value=e,persistent:``},{default:a(()=>[v(Pe,{dark:``,style:{"min-width":`420px`,"max-width":`600px`}},{default:a(()=>[v(qe,null,{default:a(()=>[O(`div`,fi,[v(B,{name:`warning`,class:`q-mr-xs`}),w(` `+m(z.value===`merge`?t.$t(`git.conflictTitleMerge`):t.$t(`git.conflictTitleRebase`)),1)]),O(`div`,pi,m(t.$t(`git.conflictSubtitle`,{count:ce.value.length})),1)]),_:1}),ce.value.length>0?(o(),x(qe,{key:0,class:`q-pt-none`},{default:a(()=>[v(lt,{dense:``,dark:``},{default:a(()=>[(o(!0),E(D,null,p(ce.value,e=>(o(),x(U,{key:e},{default:a(()=>[v(W,{side:``},{default:a(()=>[v(B,{name:`insert_drive_file`,size:`xs`})]),_:1}),v(W,null,{default:a(()=>[O(`div`,mi,m(e),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})):C(``,!0),v(we,{align:`right`},{default:a(()=>[v(H,{flat:``,"no-caps":``,label:t.$t(`common.cancel`),color:`grey-5`,disable:le.value||ue.value,onClick:r[6]||=e=>se.value=!1},null,8,[`label`,`disable`]),v(H,{flat:``,"no-caps":``,color:`red-4`,icon:`undo`,label:t.$t(`git.conflictAbort`),loading:le.value,disable:ue.value,onClick:Xe},null,8,[`label`,`loading`,`disable`]),v(H,{unelevated:``,"no-caps":``,color:`primary`,icon:`smart_toy`,label:t.$t(`git.conflictResolveWithAgent`),loading:ue.value,disable:le.value,onClick:Ze},null,8,[`label`,`loading`,`disable`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),v(Ne,{modelValue:de.value,"onUpdate:modelValue":r[9]||=e=>de.value=e,persistent:``},{default:a(()=>[v(Pe,{dark:``,style:{"min-width":`420px`,"max-width":`600px`}},{default:a(()=>[v(qe,null,{default:a(()=>[O(`div`,hi,[v(B,{name:`error`,class:`q-mr-xs`}),w(` `+m(t.$t(`git.changeSourceBranchErrorTitle`)),1)]),O(`div`,gi,m(t.$t(`git.changeSourceBranchErrorOngoing`,{op:pe.value})),1)]),_:1}),v(qe,{class:`q-pt-none`},{default:a(()=>[O(`div`,_i,m(fe.value),1)]),_:1}),v(we,{align:`right`},{default:a(()=>[v(H,{flat:``,"no-caps":``,label:t.$t(`common.close`),color:`grey-5`,disable:me.value,onClick:r[8]||=e=>de.value=!1},null,8,[`label`,`disable`]),v(H,{unelevated:``,"no-caps":``,color:`red-5`,icon:`undo`,label:t.$t(`git.changeSourceBranchErrorAbort`),loading:me.value,onClick:ge},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),v(Ne,{modelValue:N.value,"onUpdate:modelValue":r[11]||=e=>N.value=e,maximized:``},{default:a(()=>[e.workspace?(o(),x(y(n),{key:0,"workspace-id":e.workspace.id,"initial-review-mode":ee.value,onClose:r[10]||=e=>N.value=!1,onSendToChat:_e},null,8,[`workspace-id`,`initial-review-mode`])):C(``,!0)]),_:1},8,[`modelValue`]),e.workspace&&V.value?(o(),x(Ln,{key:2,modelValue:je.value,"onUpdate:modelValue":r[12]||=e=>je.value=e,"workspace-id":e.workspace.id,"initial-tab":Ie.value,"ahead-count":V.value.commitCount,"behind-count":V.value.behindCount,"source-branch":e.workspace.sourceBranch,"working-branch":e.workspace.workingBranch,onAppendSha:ae},null,8,[`modelValue`,`workspace-id`,`initial-tab`,`ahead-count`,`behind-count`,`source-branch`,`working-branch`])):C(``,!0)]))}}),[[`__scopeId`,`data-v-c99da00e`]]),yi={class:`schedule-panel column q-pa-md q-gutter-md`},bi={class:`text-subtitle2 q-mb-sm`},xi={key:0,class:`text-caption text-grey-7`},Si={class:`row items-center no-wrap`},Ci={class:`text-body2`},wi={key:0,class:`text-caption text-grey-6 q-mt-xs prompt-preview`},Ti={class:`text-subtitle2 q-mb-sm`},Ei={key:0,class:`text-caption text-grey-7`},Di={class:`row items-center no-wrap`},Oi={class:`text-body2 ellipsis`},ki={class:`text-caption text-grey-6 q-mt-xs`},Ai={key:0},ji={class:`prompt-preview text-caption text-grey-6 q-mt-xs`},Mi=rt(j({__name:`SchedulePanel`,props:{workspaceId:{}},setup(e){let t=e,{t:n}=ke(),r=dt(),i=Fe(),s=T(()=>i.pendingWakeups[t.workspaceId]??null),c=T(()=>i.crons[t.workspaceId]??[]);g(()=>t.workspaceId,e=>{e&&i.fetchCrons(e)},{immediate:!0});function l(e){return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`})}function u(e){let t=Date.now()-new Date(e).getTime();if(Number.isNaN(t)||t<0)return`—`;let n=Math.floor(t/1e3);if(n<60)return`${n}s`;let r=Math.floor(n/60);if(r<60)return`${r}m`;let i=Math.floor(r/60);return i<24?`${i}h`:`${Math.floor(i/24)}d`}async function d(){try{let e=await fetch(`/api/workspaces/${t.workspaceId}/pending-wakeup`,{method:`DELETE`});if(!e.ok)throw Error(`HTTP ${e.status}`)}catch(e){r.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}async function f(e){try{await i.cancelCron(t.workspaceId,e)}catch(e){r.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}return(e,t)=>(o(),E(`div`,yi,[O(`div`,null,[O(`div`,bi,m(e.$t(`schedule.wakeupTitle`)),1),s.value?(o(),x(Pe,{key:1,dark:``,flat:``,bordered:``},{default:a(()=>[v(qe,{class:`q-py-sm`},{default:a(()=>[O(`div`,Si,[v(B,{name:`schedule`,size:`16px`,color:`amber-4`,class:`q-mr-sm`}),O(`div`,Ci,m(l(s.value.targetAt)),1),v(at),v(H,{flat:``,dense:``,round:``,icon:`close`,size:`sm`,title:e.$t(`common.cancel`),onClick:d},null,8,[`title`])]),s.value.reason?(o(),E(`pre`,wi,m(s.value.reason),1)):C(``,!0)]),_:1})]),_:1})):(o(),E(`div`,xi,m(e.$t(`schedule.noWakeup`)),1))]),O(`div`,null,[O(`div`,Ti,m(e.$t(`schedule.cronsTitle`)),1),c.value.length===0?(o(),E(`div`,Ei,m(e.$t(`schedule.noCrons`)),1)):(o(),x(lt,{key:1,dense:``,dark:``,separator:``},{default:a(()=>[(o(!0),E(D,null,p(c.value,t=>(o(),x(U,{key:t.id},{default:a(()=>[v(W,null,{default:a(()=>[O(`div`,Di,[v(B,{name:`event_repeat`,size:`16px`,color:`cyan-4`,class:`q-mr-sm`}),O(`div`,Oi,m(t.label||t.expression),1)]),O(`div`,ki,[w(m(e.$t(`schedule.nextFireAt`,{time:l(t.nextFireAt)}))+` `,1),t.lastFiredAt?(o(),E(`span`,Ai,` · `+m(e.$t(`schedule.lastFiredAt`,{time:u(t.lastFiredAt)})),1)):C(``,!0)]),O(`pre`,ji,m(t.prompt),1)]),_:2},1024),v(W,{side:``,top:``},{default:a(()=>[v(H,{flat:``,dense:``,round:``,icon:`close`,size:`sm`,title:e.$t(`common.cancel`),onClick:e=>f(t.id)},null,8,[`title`,`onClick`])]),_:2},1024)]),_:2},1024))),128))]),_:1}))])]))}}),[[`__scopeId`,`data-v-891bf3cf`]]),Ni={class:`subagents-panel q-pa-md`},Pi={class:`text-caption text-uppercase text-weight-bold text-grey-6 q-mb-sm`,style:{"letter-spacing":`0.05em`}},Fi={key:0,class:`text-caption text-grey-8`},Ii={class:`row items-center q-mb-xs`},Li={class:`text-caption text-weight-medium text-grey-3 ellipsis`,style:{"max-width":`220px`}},Ri={key:0,class:`text-caption text-grey-6`,style:{"font-size":`10px`}},zi={class:`text-grey-4`},Bi={class:`row items-center q-gutter-xs q-mt-xs text-caption text-grey-7`,style:{"font-size":`10px`}},Vi={key:0},Hi={key:1},Ui={key:2},Wi=rt(j({__name:`SubagentsPanel`,setup(e){let{t}=ke(),n=Fe(),r=T(()=>[...n.currentSubagents].reverse());function i(e){return e?e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.floor(e/6e4)}m ${Math.floor(e%6e4/1e3)}s`:``}function a(e){return e?e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e):``}return(e,t)=>(o(),E(`div`,Ni,[O(`div`,Pi,m(e.$t(`subagents.title`)),1),r.value.length===0?(o(),E(`div`,Fi,m(e.$t(`subagents.empty`)),1)):C(``,!0),(o(!0),E(D,null,p(r.value,t=>(o(),E(`div`,{key:t.toolUseId,class:`subagent-item q-mb-sm rounded-borders q-pa-sm`},[O(`div`,Ii,[v(B,{name:t.status===`running`?`play_circle`:`check_circle`,size:`14px`,color:t.status===`running`?`green-4`:`grey-6`,class:`q-mr-xs`},null,8,[`name`,`color`]),O(`span`,Li,m(t.description||t.toolUseId),1)]),t.lastToolName?(o(),E(`div`,Ri,[w(m(e.$t(`subagents.running`)),1),O(`span`,zi,m(t.lastToolName),1)])):C(``,!0),O(`div`,Bi,[t.toolUses===void 0?C(``,!0):(o(),E(`span`,Vi,m(e.$t(`subagents.tools`,{count:t.toolUses})),1)),t.totalTokens?(o(),E(`span`,Hi,`· `+m(a(t.totalTokens))+` tok`,1)):C(``,!0),t.durationMs?(o(),E(`span`,Ui,`· `+m(i(t.durationMs)),1)):C(``,!0)])]))),128))]))}}),[[`__scopeId`,`data-v-dd805632`]]),Gi={class:`notion-panel q-pa-md`},Ki={class:`row items-center q-mb-sm`},qi={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},Ji={key:0,class:`q-mb-sm`},Yi={class:`text-caption text-grey-7`,style:{"font-size":`11px`}},Xi={key:1,class:`text-caption text-grey-8 q-mb-sm`,style:{"font-size":`11px`}},Zi={key:2,class:`task-add-row row items-center q-mb-xs`},Qi={key:3,class:`tasks-list`},$i=[`onDblclick`],ea={key:1,class:`text-caption text-grey-8`},ta=rt(j({__name:`TasksPanel`,props:{workspace:{},tasks:{}},setup(e){let t=e,{t:n}=ke(),r=Fe(),s=Be();function c(){t.workspace?.id&&yt(t.workspace.id,s,r)}let l=T(()=>t.tasks.filter(e=>!e.isAcceptanceCriterion)),u=T(()=>l.value.filter(e=>e.status===`done`).length),d=T(()=>l.value.length),f=T(()=>d.value>0?u.value/d.value:0),h=S(!1),g=S(``),_=S(null),y=S(``),b=S({});function k(e,t){if(t){let n=t.$el??t;b.value[e]=n}else delete b.value[e]}function j(){h.value=!0,g.value=``}async function N(){let e=g.value.trim();if(!(!e||!t.workspace?.id))try{await r.createTask(t.workspace.id,e,!1),g.value=``,h.value=!1}catch{}}function te(){g.value=``,h.value=!1}function P(e){_.value=e.id,y.value=e.title,i(()=>{let t=b.value[e.id]?.querySelector(`input, textarea`);t?.focus(),t?.select()})}async function F(e){if(_.value!==e.id)return;let n=y.value.trim(),i=e.id;if(_.value=null,!(!n||n===e.title)&&t.workspace?.id)try{await r.updateTaskTitle(t.workspace.id,i,n)}catch{}}function I(){_.value=null,y.value=``}async function ne(e){if(t.workspace?.id)try{await r.deleteTask(t.workspace.id,e.id)}catch{}}async function re(e){if(!t.workspace?.id)return;let n=e.status===`done`?`pending`:`done`;try{let i=await fetch(`/api/workspaces/${e.workspaceId}/tasks/${e.id}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({status:n})});if(!i.ok)throw Error(`HTTP ${i.status}`);r.fetchWorkspaceDetails(t.workspace.id)}catch(e){console.error(`Failed to toggle task:`,e)}}function ie(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function ae(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(t,n)=>(o(),E(`div`,Gi,[O(`div`,Ki,[O(`div`,qi,m(t.$t(`tasks.title`)),1),v(at),e.workspace?(o(),x(H,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`fact_check`,color:`grey-5`,onClick:c},{default:a(()=>[v(G,null,{default:a(()=>[w(m(t.$t(`tasks.askProgress`)),1)]),_:1})]),_:1})):C(``,!0),e.workspace?(o(),x(H,{key:1,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,onClick:j},{default:a(()=>[v(G,null,{default:a(()=>[w(m(t.$t(`tooltip.addTask`)),1)]),_:1})]),_:1})):C(``,!0)]),e.workspace?(o(),E(D,{key:0},[d.value>0?(o(),E(`div`,Ji,[v(Te,{value:f.value,color:`primary`,"track-color":`grey-9`,class:`q-mb-xs`,style:{height:`4px`,"border-radius":`2px`}},null,8,[`value`]),O(`div`,Yi,m(t.$t(`notion.subtasks`,{done:u.value,total:d.value})),1)])):h.value?C(``,!0):(o(),E(`div`,Xi,m(t.$t(`notion.noTasks`)),1)),h.value?(o(),E(`div`,Zi,[v(Ae,{modelValue:g.value,"onUpdate:modelValue":n[0]||=e=>g.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:t.$t(`notion.newTask`),class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[ee(L(N,[`prevent`]),[`enter`]),ee(L(te,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):C(``,!0),l.value.length>0?(o(),E(`div`,Qi,[(o(!0),E(D,null,p(l.value,e=>(o(),E(`div`,{key:e.id,class:`task-item row items-center q-py-xxs`},[v(B,{name:ie(e.status),size:`14px`,style:A({color:ae(e.status)}),class:`q-mr-xs cursor-pointer`,onClick:t=>re(e)},null,8,[`name`,`style`,`onClick`]),_.value===e.id?(o(),x(Ae,{key:0,ref_for:!0,ref:t=>k(e.id,t),modelValue:y.value,"onUpdate:modelValue":n[1]||=e=>y.value=e,dark:``,dense:``,borderless:``,class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[ee(L(t=>F(e),[`prevent`]),[`enter`]),ee(L(I,[`prevent`]),[`esc`])],onBlur:t=>F(e)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(o(),E(D,{key:1},[O(`span`,{class:M([`col task-title text-caption`,{"text-strike":e.status===`done`}]),style:A({color:e.status===`done`?`#4ade80`:`#ccc`}),onDblclick:t=>P(e)},m(e.title),47,$i),v(H,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`task-delete-btn`,onClick:t=>ne(e)},{default:a(()=>[v(G,null,{default:a(()=>[w(m(t.$t(`tooltip.removeTask`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):C(``,!0)],64)):(o(),E(`div`,ea,m(t.$t(`common.selectWorkspace`)),1))]))}}),[[`__scopeId`,`data-v-4bc9713a`]]),na=2,ra=1,ia=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(na,Math.floor(u/e.css.cell.width)),rows:Math.max(ra,Math.floor(l/e.css.cell.height))}}},aa=Object.defineProperty,oa=Object.getOwnPropertyDescriptor,sa=(e,t)=>{for(var n in t)aa(e,n,{get:t[n],enumerable:!0})},ca=(e,t,n,r)=>{for(var i=r>1?void 0:r?oa(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&&aa(t,n,i),i},q=(e,t)=>(n,r)=>t(n,r,e),la=`Terminal input`,ua={get:()=>la,set:e=>la=e},da=`Too much output to announce, navigate to rows manually to read`,fa={get:()=>da,set:e=>da=e};function pa(e){return e.replace(/\r?\n/g,`\r`)}function ma(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function ha(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function ga(e,t,n,r){e.stopPropagation(),e.clipboardData&&_a(e.clipboardData.getData(`text/plain`),t,n,r)}function _a(e,t,n,r){e=pa(e),e=ma(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function va(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 ya(e,t,n,r,i){va(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function ba(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function xa(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 Sa=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}},Ca=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}},wa=``,Ta=` `,Ea=class e{constructor(){this.fg=0,this.bg=0,this.extended=new Da}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}},Da=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}},Oa=class e extends Ea{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new Da,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?ba(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()]}},ka=`di$target`,Aa=`di$dependencies`,ja=new Map;function Ma(e){return e[Aa]||[]}function Na(e){if(ja.has(e))return ja.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);Pa(t,e,r)};return t._id=e,ja.set(e,t),t}function Pa(e,t,n){t[ka]===t?t[Aa].push({id:e,index:n}):(t[Aa]=[{id:e,index:n}],t[ka]=t)}var Fa=Na(`BufferService`),Ia=Na(`CoreMouseService`),La=Na(`CoreService`),Ra=Na(`CharsetService`),za=Na(`InstantiationService`),Ba=Na(`LogService`),Va=Na(`OptionsService`),Ha=Na(`OscLinkService`),Ua=Na(`UnicodeService`),Wa=Na(`DecorationService`),Ga=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 Oa,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?1:0),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):Ka(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)}};Ga=ca([q(0,Fa),q(1,Va),q(2,Ha)],Ga);function Ka(e,t){if(confirm(`Do you want to navigate to ${t}?
3
3
 
4
4
  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 qa=Na(`CharSizeService`),Ja=Na(`CoreBrowserService`),Ya=Na(`MouseService`),Xa=Na(`RenderService`),Za=Na(`SelectionService`),Qa=Na(`CharacterJoinerService`),$a=Na(`ThemeService`),eo=Na(`LinkProviderService`),to=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?so.isErrorNoTelemetry(e)?new so(e.message+`
5
5
 
@@ -34,4 +34,4 @@ ${s.join(`
34
34
  `)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(e){this._refreshAnimationFrame||=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh()),Bu&&e&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(e){let t=this._getMouseBufferCoords(e),n=this._model.finalSelectionStart,r=this._model.finalSelectionEnd;return!n||!r||!t?!1:this._areCoordsInSelection(t,n,r)}isCellInSelection(e,t){let n=this._model.finalSelectionStart,r=this._model.finalSelectionEnd;return!n||!r?!1:this._areCoordsInSelection([e,t],n,r)}_areCoordsInSelection(e,t,n){return e[1]>t[1]&&e[1]<n[1]||t[1]===n[1]&&e[1]===t[1]&&e[0]>=t[0]&&e[0]<n[0]||t[1]<n[1]&&e[1]===n[1]&&e[0]<n[0]||t[1]<n[1]&&e[1]===t[1]&&e[0]>=t[0]}_selectWordAtCursor(e,t){let n=this._linkifier.currentLink?.link?.range;if(n)return this._model.selectionStart=[n.start.x-1,n.start.y-1],this._model.selectionStartLength=ld(n,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let r=this._getMouseBufferCoords(e);return r?(this._selectWordAt(r,t),this._model.selectionEnd=void 0,!0):!1}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()}_handleTrim(e){this._model.handleTrim(e)&&this.refresh()}_getMouseBufferCoords(e){let t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t}_getMouseEventScrollAmount(e){let t=wu(this._coreBrowserService.window,e,this._screenElement)[1],n=this._renderService.dimensions.css.canvas.height;return t>=0&&t<=n?0:(t>n&&(t-=n),t=Math.min(Math.max(t,-ud),ud),t/=ud,t/Math.abs(t)+Math.round(t*(dd-1)))}shouldForceSelection(e){return Iu?e.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:e.shiftKey}handleMouseDown(e){if(this._mouseDownTimeStamp=e.timeStamp,!(e.button===2&&this.hasSelection)&&e.button===0){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._handleIncrementalClick(e):e.detail===1?this._handleSingleClick(e):e.detail===2?this._handleDoubleClick(e):e.detail===3&&this._handleTripleClick(e),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener(`mousemove`,this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener(`mouseup`,this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),fd)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener(`mousemove`,this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener(`mouseup`,this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))}_handleSingleClick(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&t.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(e){this._selectWordAtCursor(e,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(e){let t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=2,this._selectLineAt(t[1]))}shouldColumnSelect(e){return e.altKey&&!(Iu&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(e){if(e.stopImmediatePropagation(),!this._model.selectionStart)return;let t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),!this._model.selectionEnd){this.refresh(!0);return}this._activeSelectionMode===2?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:this._activeSelectionMode===1&&this._selectToWordAt(this._model.selectionEnd),this._dragScrollAmount=this._getMouseEventScrollAmount(e),this._activeSelectionMode!==3&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));let n=this._bufferService.buffer;if(this._model.selectionEnd[1]<n.lines.length){let e=n.lines.get(this._model.selectionEnd[1]);e&&e.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}(!t||t[0]!==this._model.selectionEnd[0]||t[1]!==this._model.selectionEnd[1])&&this.refresh(!0)}_dragScroll(){if(!(!this._model.selectionEnd||!this._model.selectionStart)&&this._dragScrollAmount){this._onRequestScrollLines.fire({amount:this._dragScrollAmount,suppressScrollEvent:!1});let e=this._bufferService.buffer;this._dragScrollAmount>0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}}_handleMouseUp(e){let t=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&t<pd&&e.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){let t=this._mouseService.getCoords(e,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(t&&t[0]!==void 0&&t[1]!==void 0){let e=Yu(t[0]-1,t[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(e,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd,n=!!e&&!!t&&(e[0]!==t[0]||e[1]!==t[1]);if(!n){this._oldHasSelection&&this._fireOnSelectionChange(e,t,n);return}!e||!t||(!this._oldSelectionStart||!this._oldSelectionEnd||e[0]!==this._oldSelectionStart[0]||e[1]!==this._oldSelectionStart[1]||t[0]!==this._oldSelectionEnd[0]||t[1]!==this._oldSelectionEnd[1])&&this._fireOnSelectionChange(e,t,n)}_fireOnSelectionChange(e,t,n){this._oldSelectionStart=e,this._oldSelectionEnd=t,this._oldHasSelection=n,this._onSelectionChange.fire()}_handleBufferActivate(e){this.clearSelection(),this._trimListener.dispose(),this._trimListener=e.activeBuffer.lines.onTrim(e=>this._handleTrim(e))}_convertViewportColToCharacterIndex(e,t){let n=t;for(let r=0;t>=r;r++){let i=e.loadCell(r,this._workCell).getChars().length;this._workCell.getWidth()===0?n--:i>1&&t!==r&&(n+=i-1)}return n}setSelection(e,t,n){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,t],this._model.selectionStartLength=n,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(e){this._isClickInSelection(e)||(this._selectWordAtCursor(e,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(e,t,n=!0,r=!0){if(e[0]>=this._bufferService.cols)return;let i=this._bufferService.buffer,a=i.lines.get(e[1]);if(!a)return;let o=i.translateBufferLineToString(e[1],!1),s=this._convertViewportColToCharacterIndex(a,e[0]),c=s,l=e[0]-s,u=0,d=0,f=0,p=0;if(o.charAt(s)===` `){for(;s>0&&o.charAt(s-1)===` `;)s--;for(;c<o.length&&o.charAt(c+1)===` `;)c++}else{let t=e[0],n=e[0];a.getWidth(t)===0&&(u++,t--),a.getWidth(n)===2&&(d++,n++);let r=a.getString(n).length;for(r>1&&(p+=r-1,c+=r-1);t>0&&s>0&&!this._isCharWordSeparator(a.loadCell(t-1,this._workCell));){a.loadCell(t-1,this._workCell);let e=this._workCell.getChars().length;this._workCell.getWidth()===0?(u++,t--):e>1&&(f+=e-1,s-=e-1),s--,t--}for(;n<a.length&&c+1<o.length&&!this._isCharWordSeparator(a.loadCell(n+1,this._workCell));){a.loadCell(n+1,this._workCell);let e=this._workCell.getChars().length;this._workCell.getWidth()===2?(d++,n++):e>1&&(p+=e-1,c+=e-1),c++,n++}}c++;let m=s+l-u+f,h=Math.min(this._bufferService.cols,c-s+u+d-f-p);if(!(!t&&o.slice(s,c).trim()===``)){if(n&&m===0&&a.getCodePoint(0)!==32){let t=i.lines.get(e[1]-1);if(t&&a.isWrapped&&t.getCodePoint(this._bufferService.cols-1)!==32){let t=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(t){let e=this._bufferService.cols-t.start;m-=e,h+=e}}}if(r&&m+h===this._bufferService.cols&&a.getCodePoint(this._bufferService.cols-1)!==32){let t=i.lines.get(e[1]+1);if(t?.isWrapped&&t.getCodePoint(0)!==32){let t=this._getWordAt([0,e[1]+1],!1,!1,!0);t&&(h+=t.length)}}return{start:m,length:h}}}_selectWordAt(e,t){let n=this._getWordAt(e,t);if(n){for(;n.start<0;)n.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[n.start,e[1]],this._model.selectionStartLength=n.length}}_selectToWordAt(e){let t=this._getWordAt(e,!0);if(t){let n=e[1];for(;t.start<0;)t.start+=this._bufferService.cols,n--;if(!this._model.areSelectionValuesReversed())for(;t.start+t.length>this._bufferService.cols;)t.length-=this._bufferService.cols,n++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?t.start:t.start+t.length,n]}}_isCharWordSeparator(e){return e.getWidth()===0?!1:this._optionsService.rawOptions.wordSeparator.indexOf(e.getChars())>=0}_selectLineAt(e){let t=this._bufferService.buffer.getWrappedRangeForLine(e),n={start:{x:0,y:t.first},end:{x:this._bufferService.cols-1,y:t.last}};this._model.selectionStart=[0,t.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=ld(n,this._bufferService.cols)}};hd=ca([q(3,Fa),q(4,La),q(5,Ya),q(6,Va),q(7,Xa),q(8,Ja)],hd);var gd=class{constructor(){this._data={}}set(e,t,n){this._data[e]||(this._data[e]={}),this._data[e][t]=n}get(e,t){return this._data[e]?this._data[e][t]:void 0}clear(){this._data={}}},_d=class{constructor(){this._color=new gd,this._css=new gd}setCss(e,t,n){this._css.set(e,t,n)}getCss(e,t){return this._css.get(e,t)}setColor(e,t,n){this._color.set(e,t,n)}getColor(e,t){return this._color.get(e,t)}clear(){this._color.clear(),this._css.clear()}},vd=Object.freeze((()=>{let e=[Kl.toColor(`#2e3436`),Kl.toColor(`#cc0000`),Kl.toColor(`#4e9a06`),Kl.toColor(`#c4a000`),Kl.toColor(`#3465a4`),Kl.toColor(`#75507b`),Kl.toColor(`#06989a`),Kl.toColor(`#d3d7cf`),Kl.toColor(`#555753`),Kl.toColor(`#ef2929`),Kl.toColor(`#8ae234`),Kl.toColor(`#fce94f`),Kl.toColor(`#729fcf`),Kl.toColor(`#ad7fa8`),Kl.toColor(`#34e2e2`),Kl.toColor(`#eeeeec`)],t=[0,95,135,175,215,255];for(let n=0;n<216;n++){let r=t[n/36%6|0],i=t[n/6%6|0],a=t[n%6];e.push({css:Wl.toCss(r,i,a),rgba:Wl.toRgba(r,i,a)})}for(let t=0;t<24;t++){let n=8+t*10;e.push({css:Wl.toCss(n,n,n),rgba:Wl.toRgba(n,n,n)})}return e})()),yd=Kl.toColor(`#ffffff`),bd=Kl.toColor(`#000000`),xd=Kl.toColor(`#ffffff`),Sd=bd,Cd={css:`rgba(255, 255, 255, 0.3)`,rgba:4294967117},wd=yd,Td=class extends J{constructor(e){super(),this._optionsService=e,this._contrastCache=new _d,this._halfContrastCache=new _d,this._onChangeColors=this._register(new Y),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:yd,background:bd,cursor:xd,cursorAccent:Sd,selectionForeground:void 0,selectionBackgroundTransparent:Cd,selectionBackgroundOpaque:Gl.blend(bd,Cd),selectionInactiveBackgroundTransparent:Cd,selectionInactiveBackgroundOpaque:Gl.blend(bd,Cd),scrollbarSliderBackground:Gl.opacity(yd,.2),scrollbarSliderHoverBackground:Gl.opacity(yd,.4),scrollbarSliderActiveBackground:Gl.opacity(yd,.5),overviewRulerBorder:yd,ansi:vd.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this._register(this._optionsService.onSpecificOptionChange(`minimumContrastRatio`,()=>this._contrastCache.clear())),this._register(this._optionsService.onSpecificOptionChange(`theme`,()=>this._setTheme(this._optionsService.rawOptions.theme)))}get colors(){return this._colors}_setTheme(e={}){let t=this._colors;if(t.foreground=Q(e.foreground,yd),t.background=Q(e.background,bd),t.cursor=Gl.blend(t.background,Q(e.cursor,xd)),t.cursorAccent=Gl.blend(t.background,Q(e.cursorAccent,Sd)),t.selectionBackgroundTransparent=Q(e.selectionBackground,Cd),t.selectionBackgroundOpaque=Gl.blend(t.background,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundTransparent=Q(e.selectionInactiveBackground,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundOpaque=Gl.blend(t.background,t.selectionInactiveBackgroundTransparent),t.selectionForeground=e.selectionForeground?Q(e.selectionForeground,Ul):void 0,t.selectionForeground===Ul&&(t.selectionForeground=void 0),Gl.isOpaque(t.selectionBackgroundTransparent)&&(t.selectionBackgroundTransparent=Gl.opacity(t.selectionBackgroundTransparent,.3)),Gl.isOpaque(t.selectionInactiveBackgroundTransparent)&&(t.selectionInactiveBackgroundTransparent=Gl.opacity(t.selectionInactiveBackgroundTransparent,.3)),t.scrollbarSliderBackground=Q(e.scrollbarSliderBackground,Gl.opacity(t.foreground,.2)),t.scrollbarSliderHoverBackground=Q(e.scrollbarSliderHoverBackground,Gl.opacity(t.foreground,.4)),t.scrollbarSliderActiveBackground=Q(e.scrollbarSliderActiveBackground,Gl.opacity(t.foreground,.5)),t.overviewRulerBorder=Q(e.overviewRulerBorder,wd),t.ansi=vd.slice(),t.ansi[0]=Q(e.black,vd[0]),t.ansi[1]=Q(e.red,vd[1]),t.ansi[2]=Q(e.green,vd[2]),t.ansi[3]=Q(e.yellow,vd[3]),t.ansi[4]=Q(e.blue,vd[4]),t.ansi[5]=Q(e.magenta,vd[5]),t.ansi[6]=Q(e.cyan,vd[6]),t.ansi[7]=Q(e.white,vd[7]),t.ansi[8]=Q(e.brightBlack,vd[8]),t.ansi[9]=Q(e.brightRed,vd[9]),t.ansi[10]=Q(e.brightGreen,vd[10]),t.ansi[11]=Q(e.brightYellow,vd[11]),t.ansi[12]=Q(e.brightBlue,vd[12]),t.ansi[13]=Q(e.brightMagenta,vd[13]),t.ansi[14]=Q(e.brightCyan,vd[14]),t.ansi[15]=Q(e.brightWhite,vd[15]),e.extendedAnsi){let n=Math.min(t.ansi.length-16,e.extendedAnsi.length);for(let r=0;r<n;r++)t.ansi[r+16]=Q(e.extendedAnsi[r],vd[r+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(e){this._restoreColor(e),this._onChangeColors.fire(this.colors)}_restoreColor(e){if(e===void 0){for(let e=0;e<this._restoreColors.ansi.length;++e)this._colors.ansi[e]=this._restoreColors.ansi[e];return}switch(e){case 256:this._colors.foreground=this._restoreColors.foreground;break;case 257:this._colors.background=this._restoreColors.background;break;case 258:this._colors.cursor=this._restoreColors.cursor;break;default:this._colors.ansi[e]=this._restoreColors.ansi[e]}}modifyColors(e){e(this._colors),this._onChangeColors.fire(this.colors)}_updateRestoreColors(){this._restoreColors={foreground:this._colors.foreground,background:this._colors.background,cursor:this._colors.cursor,ansi:this._colors.ansi.slice()}}};Td=ca([q(0,Va)],Td);function Q(e,t){if(e!==void 0)try{return Kl.toColor(e)}catch{}return t}var Ed=class{constructor(...e){this._entries=new Map;for(let[t,n]of e)this.set(t,n)}set(e,t){let n=this._entries.get(e);return this._entries.set(e,t),n}forEach(e){for(let[t,n]of this._entries.entries())e(t,n)}has(e){return this._entries.has(e)}get(e){return this._entries.get(e)}},Dd=class{constructor(){this._services=new Ed,this._services.set(za,this)}setService(e,t){this._services.set(e,t)}getService(e){return this._services.get(e)}createInstance(e,...t){let n=Ma(e).sort((e,t)=>e.index-t.index),r=[];for(let t of n){let n=this._services.get(t.id);if(!n)throw Error(`[createInstance] ${e.name} depends on UNKNOWN service ${t.id._id}.`);r.push(n)}let i=n.length>0?n[0].index:t.length;if(t.length!==i)throw Error(`[createInstance] First service dependency of ${e.name} at position ${i+1} conflicts with ${t.length} static arguments`);return new e(...t,...r)}},Od={trace:0,debug:1,info:2,warn:3,error:4,off:5},kd=`xterm.js: `,Ad=class extends J{constructor(e){super(),this._optionsService=e,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange(`logLevel`,()=>this._updateLogLevel())),jd=this}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=Od[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let t=0;t<e.length;t++)typeof e[t]==`function`&&(e[t]=e[t]())}_log(e,t,n){this._evalLazyOptionalParams(n),e.call(console,(this._optionsService.options.logger?``:kd)+t,...n)}trace(e,...t){this._logLevel<=0&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,e,t)}debug(e,...t){this._logLevel<=1&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,e,t)}info(e,...t){this._logLevel<=2&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,e,t)}warn(e,...t){this._logLevel<=3&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,e,t)}error(e,...t){this._logLevel<=4&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,e,t)}};Ad=ca([q(0,Va)],Ad);var jd,Md=class extends J{constructor(e){super(),this._maxLength=e,this.onDeleteEmitter=this._register(new Y),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this._register(new Y),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this._register(new Y),this.onTrim=this.onTrimEmitter.event,this._array=Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(e){if(this._maxLength===e)return;let t=Array(e);for(let n=0;n<Math.min(e,this.length);n++)t[n]=this._array[this._getCyclicIndex(n)];this._array=t,this._maxLength=e,this._startIndex=0}get length(){return this._length}set length(e){if(e>this._length)for(let t=this._length;t<e;t++)this._array[t]=void 0;this._length=e}get(e){return this._array[this._getCyclicIndex(e)]}set(e,t){this._array[this._getCyclicIndex(e)]=t}push(e){this._array[this._getCyclicIndex(this._length)]=e,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw Error(`Can only recycle when the buffer is full`);return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]}get isFull(){return this._length===this._maxLength}pop(){return this._array[this._getCyclicIndex(this._length---1)]}splice(e,t,...n){if(t){for(let n=e;n<this._length-t;n++)this._array[this._getCyclicIndex(n)]=this._array[this._getCyclicIndex(n+t)];this._length-=t,this.onDeleteEmitter.fire({index:e,amount:t})}for(let t=this._length-1;t>=e;t--)this._array[this._getCyclicIndex(t+n.length)]=this._array[this._getCyclicIndex(t)];for(let t=0;t<n.length;t++)this._array[this._getCyclicIndex(e+t)]=n[t];if(n.length&&this.onInsertEmitter.fire({index:e,amount:n.length}),this._length+n.length>this._maxLength){let e=this._length+n.length-this._maxLength;this._startIndex+=e,this._length=this._maxLength,this.onTrimEmitter.fire(e)}else this._length+=n.length}trimStart(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)}shiftElements(e,t,n){if(!(t<=0)){if(e<0||e>=this._length)throw Error(`start argument out of range`);if(e+n<0)throw Error(`Cannot shift elements in list beyond index 0`);if(n>0){for(let r=t-1;r>=0;r--)this.set(e+r+n,this.get(e+r));let r=e+t+n-this._length;if(r>0)for(this._length+=r;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let r=0;r<t;r++)this.set(e+r+n,this.get(e+r))}}_getCyclicIndex(e){return(this._startIndex+e)%this._maxLength}},$=3,Nd=Object.freeze(new Ea),Pd=0,Fd=2,Id=class e{constructor(e,t,n=!1){this.isWrapped=n,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(e*$);let r=t||Oa.fromCharData([0,wa,1,0]);for(let t=0;t<e;++t)this.setCell(t,r);this.length=e}get(e){let t=this._data[e*$+0],n=t&2097151;return[this._data[e*$+1],t&2097152?this._combined[e]:n?ba(n):``,t>>22,t&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):n]}set(e,t){this._data[e*$+1]=t[0],t[1].length>1?(this._combined[e]=t[1],this._data[e*$+0]=e|2097152|t[2]<<22):this._data[e*$+0]=t[1].charCodeAt(0)|t[2]<<22}getWidth(e){return this._data[e*$+0]>>22}hasWidth(e){return this._data[e*$+0]&12582912}getFg(e){return this._data[e*$+1]}getBg(e){return this._data[e*$+2]}hasContent(e){return this._data[e*$+0]&4194303}getCodePoint(e){let t=this._data[e*$+0];return t&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):t&2097151}isCombined(e){return this._data[e*$+0]&2097152}getString(e){let t=this._data[e*$+0];return t&2097152?this._combined[e]:t&2097151?ba(t&2097151):``}isProtected(e){return this._data[e*$+2]&536870912}loadCell(e,t){return Pd=e*$,t.content=this._data[Pd+0],t.fg=this._data[Pd+1],t.bg=this._data[Pd+2],t.content&2097152&&(t.combinedData=this._combined[e]),t.bg&268435456&&(t.extended=this._extendedAttrs[e]),t}setCell(e,t){t.content&2097152&&(this._combined[e]=t.combinedData),t.bg&268435456&&(this._extendedAttrs[e]=t.extended),this._data[e*$+0]=t.content,this._data[e*$+1]=t.fg,this._data[e*$+2]=t.bg}setCellFromCodepoint(e,t,n,r){r.bg&268435456&&(this._extendedAttrs[e]=r.extended),this._data[e*$+0]=t|n<<22,this._data[e*$+1]=r.fg,this._data[e*$+2]=r.bg}addCodepointToCell(e,t,n){let r=this._data[e*$+0];r&2097152?this._combined[e]+=ba(t):r&2097151?(this._combined[e]=ba(r&2097151)+ba(t),r&=-2097152,r|=2097152):r=t|1<<22,n&&(r&=-12582913,r|=n<<22),this._data[e*$+0]=r}insertCells(e,t,n){if(e%=this.length,e&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e-1,0,1,n),t<this.length-e){let r=new Oa;for(let n=this.length-e-t-1;n>=0;--n)this.setCell(e+t+n,this.loadCell(e+n,r));for(let r=0;r<t;++r)this.setCell(e+r,n)}else for(let t=e;t<this.length;++t)this.setCell(t,n);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,n)}deleteCells(e,t,n){if(e%=this.length,t<this.length-e){let r=new Oa;for(let n=0;n<this.length-e-t;++n)this.setCell(e+n,this.loadCell(e+t+n,r));for(let e=this.length-t;e<this.length;++e)this.setCell(e,n)}else for(let t=e;t<this.length;++t)this.setCell(t,n);e&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e-1,0,1,n),this.getWidth(e)===0&&!this.hasContent(e)&&this.setCellFromCodepoint(e,0,1,n)}replaceCells(e,t,n,r=!1){if(r){for(e&&this.getWidth(e-1)===2&&!this.isProtected(e-1)&&this.setCellFromCodepoint(e-1,0,1,n),t<this.length&&this.getWidth(t-1)===2&&!this.isProtected(t)&&this.setCellFromCodepoint(t,0,1,n);e<t&&e<this.length;)this.isProtected(e)||this.setCell(e,n),e++;return}for(e&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e-1,0,1,n),t<this.length&&this.getWidth(t-1)===2&&this.setCellFromCodepoint(t,0,1,n);e<t&&e<this.length;)this.setCell(e++,n)}resize(e,t){if(e===this.length)return this._data.length*4*Fd<this._data.buffer.byteLength;let n=e*$;if(e>this.length){if(this._data.buffer.byteLength>=n*4)this._data=new Uint32Array(this._data.buffer,0,n);else{let e=new Uint32Array(n);e.set(this._data),this._data=e}for(let n=this.length;n<e;++n)this.setCell(n,t)}else{this._data=this._data.subarray(0,n);let t=Object.keys(this._combined);for(let n=0;n<t.length;n++){let r=parseInt(t[n],10);r>=e&&delete this._combined[r]}let r=Object.keys(this._extendedAttrs);for(let t=0;t<r.length;t++){let n=parseInt(r[t],10);n>=e&&delete this._extendedAttrs[n]}}return this.length=e,n*4*Fd<this._data.buffer.byteLength}cleanupMemory(){if(this._data.length*4*Fd<this._data.buffer.byteLength){let e=new Uint32Array(this._data.length);return e.set(this._data),this._data=e,1}return 0}fill(e,t=!1){if(t){for(let t=0;t<this.length;++t)this.isProtected(t)||this.setCell(t,e);return}this._combined={},this._extendedAttrs={};for(let t=0;t<this.length;++t)this.setCell(t,e)}copyFrom(e){this.length===e.length?this._data.set(e._data):this._data=new Uint32Array(e._data),this.length=e.length,this._combined={};for(let t in e._combined)this._combined[t]=e._combined[t];this._extendedAttrs={};for(let t in e._extendedAttrs)this._extendedAttrs[t]=e._extendedAttrs[t];this.isWrapped=e.isWrapped}clone(){let t=new e(0);t._data=new Uint32Array(this._data),t.length=this.length;for(let e in this._combined)t._combined[e]=this._combined[e];for(let e in this._extendedAttrs)t._extendedAttrs[e]=this._extendedAttrs[e];return t.isWrapped=this.isWrapped,t}getTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(this._data[e*$+0]&4194303)return e+(this._data[e*$+0]>>22);return 0}getNoBgTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(this._data[e*$+0]&4194303||this._data[e*$+2]&50331648)return e+(this._data[e*$+0]>>22);return 0}copyCellsFrom(e,t,n,r,i){let a=e._data;if(i)for(let i=r-1;i>=0;i--){for(let e=0;e<$;e++)this._data[(n+i)*$+e]=a[(t+i)*$+e];a[(t+i)*$+2]&268435456&&(this._extendedAttrs[n+i]=e._extendedAttrs[t+i])}else for(let i=0;i<r;i++){for(let e=0;e<$;e++)this._data[(n+i)*$+e]=a[(t+i)*$+e];a[(t+i)*$+2]&268435456&&(this._extendedAttrs[n+i]=e._extendedAttrs[t+i])}let o=Object.keys(e._combined);for(let r=0;r<o.length;r++){let i=parseInt(o[r],10);i>=t&&(this._combined[i-t+n]=e._combined[i])}}translateToString(e,t,n,r){t??=0,n??=this.length,e&&(n=Math.min(n,this.getTrimmedLength())),r&&(r.length=0);let i=``;for(;t<n;){let e=this._data[t*$+0],n=e&2097151,a=e&2097152?this._combined[t]:n?ba(n):Ta;if(i+=a,r)for(let e=0;e<a.length;++e)r.push(t);t+=e>>22||1}return r&&r.push(t),i}};function Ld(e,t,n,r,i,a){let o=[];for(let s=0;s<e.length-1;s++){let c=s,l=e.get(++c);if(!l.isWrapped)continue;let u=[e.get(s)];for(;c<e.length&&l.isWrapped;)u.push(l),l=e.get(++c);if(!a&&r>=s&&r<c){s+=u.length-1;continue}let d=0,f=Vd(u,d,t),p=1,m=0;for(;p<u.length;){let e=Vd(u,p,t),r=e-m,a=n-f,o=Math.min(r,a);u[d].copyCellsFrom(u[p],m,f,o,!1),f+=o,f===n&&(d++,f=0),m+=o,m===e&&(p++,m=0),f===0&&d!==0&&u[d-1].getWidth(n-1)===2&&(u[d].copyCellsFrom(u[d-1],n-1,f++,1,!1),u[d-1].setCell(n-1,i))}u[d].replaceCells(f,n,i);let h=0;for(let e=u.length-1;e>0&&(e>d||u[e].getTrimmedLength()===0);e--)h++;h>0&&(o.push(s+u.length-h),o.push(h)),s+=u.length-1}return o}function Rd(e,t){let n=[],r=0,i=t[r],a=0;for(let o=0;o<e.length;o++)if(i===o){let n=t[++r];e.onDeleteEmitter.fire({index:o-a,amount:n}),o+=n-1,a+=n,i=t[++r]}else n.push(o);return{layout:n,countRemoved:a}}function zd(e,t){let n=[];for(let r=0;r<t.length;r++)n.push(e.get(t[r]));for(let t=0;t<n.length;t++)e.set(t,n[t]);e.length=t.length}function Bd(e,t,n){let r=[],i=e.map((n,r)=>Vd(e,r,t)).reduce((e,t)=>e+t),a=0,o=0,s=0;for(;s<i;){if(i-s<n){r.push(i-s);break}a+=n;let c=Vd(e,o,t);a>c&&(a-=c,o++);let l=e[o].getWidth(a-1)===2;l&&a--;let u=l?n-1:n;r.push(u),s+=u}return r}function Vd(e,t,n){if(t===e.length-1)return e[t].getTrimmedLength();let r=!e[t].hasContent(n-1)&&e[t].getWidth(n-1)===1,i=e[t+1].getWidth(0)===2;return r&&i?n-1:n}var Hd=class e{constructor(t){this.line=t,this.isDisposed=!1,this._disposables=[],this._id=e._nextId++,this._onDispose=this.register(new Y),this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),Ao(this._disposables),this._disposables.length=0)}register(e){return this._disposables.push(e),e}};Hd._nextId=1;var Ud=Hd,Wd={},Gd=Wd.B;Wd[0]={"`":`◆`,a:`▒`,b:`␉`,c:`␌`,d:`␍`,e:`␊`,f:`°`,g:`±`,h:`␤`,i:`␋`,j:`┘`,k:`┐`,l:`┌`,m:`└`,n:`┼`,o:`⎺`,p:`⎻`,q:`─`,r:`⎼`,s:`⎽`,t:`├`,u:`┤`,v:`┴`,w:`┬`,x:`│`,y:`≤`,z:`≥`,"{":`π`,"|":`≠`,"}":`£`,"~":`·`},Wd.A={"#":`£`},Wd.B=void 0,Wd[4]={"#":`£`,"@":`¾`,"[":`ij`,"\\":`½`,"]":`|`,"{":`¨`,"|":`f`,"}":`¼`,"~":`´`},Wd.C=Wd[5]={"[":`Ä`,"\\":`Ö`,"]":`Å`,"^":`Ü`,"`":`é`,"{":`ä`,"|":`ö`,"}":`å`,"~":`ü`},Wd.R={"#":`£`,"@":`à`,"[":`°`,"\\":`ç`,"]":`§`,"{":`é`,"|":`ù`,"}":`è`,"~":`¨`},Wd.Q={"@":`à`,"[":`â`,"\\":`ç`,"]":`ê`,"^":`î`,"`":`ô`,"{":`é`,"|":`ù`,"}":`è`,"~":`û`},Wd.K={"@":`§`,"[":`Ä`,"\\":`Ö`,"]":`Ü`,"{":`ä`,"|":`ö`,"}":`ü`,"~":`ß`},Wd.Y={"#":`£`,"@":`§`,"[":`°`,"\\":`ç`,"]":`é`,"`":`ù`,"{":`à`,"|":`ò`,"}":`è`,"~":`ì`},Wd.E=Wd[6]={"@":`Ä`,"[":`Æ`,"\\":`Ø`,"]":`Å`,"^":`Ü`,"`":`ä`,"{":`æ`,"|":`ø`,"}":`å`,"~":`ü`},Wd.Z={"#":`£`,"@":`§`,"[":`¡`,"\\":`Ñ`,"]":`¿`,"{":`°`,"|":`ñ`,"}":`ç`},Wd.H=Wd[7]={"@":`É`,"[":`Ä`,"\\":`Ö`,"]":`Å`,"^":`Ü`,"`":`é`,"{":`ä`,"|":`ö`,"}":`å`,"~":`ü`},Wd[`=`]={"#":`ù`,"@":`à`,"[":`é`,"\\":`ç`,"]":`ê`,"^":`î`,_:`è`,"`":`ô`,"{":`ä`,"|":`ö`,"}":`ü`,"~":`û`};var Kd=4294967295,qd=class{constructor(e,t,n){this._hasScrollback=e,this._optionsService=t,this._bufferService=n,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=Nd.clone(),this.savedCharset=Gd,this.markers=[],this._nullCell=Oa.fromCharData([0,wa,1,0]),this._whitespaceCell=Oa.fromCharData([0,Ta,1,32]),this._isClearing=!1,this._memoryCleanupQueue=new Gu,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new Md(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new Da),this._nullCell}getWhitespaceCell(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new Da),this._whitespaceCell}getBlankLine(e,t){return new Id(this._bufferService.cols,this.getNullCell(e),t)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let e=this.ybase+this.y-this.ydisp;return e>=0&&e<this._rows}_getCorrectBufferLength(e){if(!this._hasScrollback)return e;let t=e+this._optionsService.rawOptions.scrollback;return t>Kd?Kd:t}fillViewportRows(e){if(this.lines.length===0){e===void 0&&(e=Nd);let t=this._rows;for(;t--;)this.lines.push(this.getBlankLine(e))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new Md(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e,t){let n=this.getNullCell(Nd),r=0,i=this._getCorrectBufferLength(t);if(i>this.lines.maxLength&&(this.lines.maxLength=i),this.lines.length>0){if(this._cols<e)for(let t=0;t<this.lines.length;t++)r+=+this.lines.get(t).resize(e,n);let a=0;if(this._rows<t)for(let r=this._rows;r<t;r++)this.lines.length<t+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new Id(e,n)):this.ybase>0&&this.lines.length<=this.ybase+this.y+a+1?(this.ybase--,a++,this.ydisp>0&&this.ydisp--):this.lines.push(new Id(e,n)));else for(let e=this._rows;e>t;e--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(i<this.lines.maxLength){let e=this.lines.length-i;e>0&&(this.lines.trimStart(e),this.ybase=Math.max(this.ybase-e,0),this.ydisp=Math.max(this.ydisp-e,0),this.savedY=Math.max(this.savedY-e,0)),this.lines.maxLength=i}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),a&&(this.y+=a),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(let t=0;t<this.lines.length;t++)r+=+this.lines.get(t).resize(e,n);this._cols=e,this._rows=t,this._memoryCleanupQueue.clear(),r>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let e=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,e=!1);let t=0;for(;this._memoryCleanupPosition<this.lines.length;)if(t+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),t>100)return!0;return e}get _isReflowEnabled(){let e=this._optionsService.rawOptions.windowsPty;return e&&e.buildNumber?this._hasScrollback&&e.backend===`conpty`&&e.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(e,t){this._cols!==e&&(e>this._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))}_reflowLarger(e,t){let n=this._optionsService.rawOptions.reflowCursorLine,r=Ld(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(Nd),n);if(r.length>0){let n=Rd(this.lines,r);zd(this.lines,n.layout),this._reflowLargerAdjustViewport(e,t,n.countRemoved)}}_reflowLargerAdjustViewport(e,t,n){let r=this.getNullCell(Nd),i=n;for(;i-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<t&&this.lines.push(new Id(e,r))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-n,0)}_reflowSmaller(e,t){let n=this._optionsService.rawOptions.reflowCursorLine,r=this.getNullCell(Nd),i=[],a=0;for(let o=this.lines.length-1;o>=0;o--){let s=this.lines.get(o);if(!s||!s.isWrapped&&s.getTrimmedLength()<=e)continue;let c=[s];for(;s.isWrapped&&o>0;)s=this.lines.get(--o),c.unshift(s);if(!n){let e=this.ybase+this.y;if(e>=o&&e<o+c.length)continue}let l=c[c.length-1].getTrimmedLength(),u=Bd(c,this._cols,e),d=u.length-c.length,f;f=this.ybase===0&&this.y!==this.lines.length-1?Math.max(0,this.y-this.lines.maxLength+d):Math.max(0,this.lines.length-this.lines.maxLength+d);let p=[];for(let e=0;e<d;e++){let e=this.getBlankLine(Nd,!0);p.push(e)}p.length>0&&(i.push({start:o+c.length+a,newLines:p}),a+=p.length),c.push(...p);let m=u.length-1,h=u[m];h===0&&(m--,h=u[m]);let g=c.length-d-1,_=l;for(;g>=0;){let e=Math.min(_,h);if(c[m]===void 0)break;c[m].copyCellsFrom(c[g],_-e,h-e,e,!0),h-=e,h===0&&(m--,h=u[m]),_-=e,_===0&&(g--,_=Vd(c,Math.max(g,0),this._cols))}for(let t=0;t<c.length;t++)u[t]<e&&c[t].setCell(u[t],r);let v=d-f;for(;v-- >0;)this.ybase===0?this.y<t-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+a)-t&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+d,this.ybase+t-1)}if(i.length>0){let e=[],t=[];for(let e=0;e<this.lines.length;e++)t.push(this.lines.get(e));let n=this.lines.length,r=n-1,o=0,s=i[o];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+a);let c=0;for(let l=Math.min(this.lines.maxLength-1,n+a-1);l>=0;l--)if(s&&s.start>r+c){for(let e=s.newLines.length-1;e>=0;e--)this.lines.set(l--,s.newLines[e]);l++,e.push({index:r+1,amount:s.newLines.length}),c+=s.newLines.length,s=i[++o]}else this.lines.set(l,t[r--]);let l=0;for(let t=e.length-1;t>=0;t--)e[t].index+=l,this.lines.onInsertEmitter.fire(e[t]),l+=e[t].amount;let u=Math.max(0,n+a-this.lines.maxLength);u>0&&this.lines.onTrimEmitter.fire(u)}}translateBufferLineToString(e,t,n=0,r){let i=this.lines.get(e);return i?i.translateToString(t,n,r):``}getWrappedRangeForLine(e){let t=e,n=e;for(;t>0&&this.lines.get(t).isWrapped;)t--;for(;n+1<this.lines.length&&this.lines.get(n+1).isWrapped;)n++;return{first:t,last:n}}setupTabStops(e){for(e==null?(this.tabs={},e=0):this.tabs[e]||(e=this.prevStop(e));e<this._cols;e+=this._optionsService.rawOptions.tabStopWidth)this.tabs[e]=!0}prevStop(e){for(e??=this.x;!this.tabs[--e]&&e>0;);return e>=this._cols?this._cols-1:e<0?0:e}nextStop(e){for(e??=this.x;!this.tabs[++e]&&e<this._cols;);return e>=this._cols?this._cols-1:e<0?0:e}clearMarkers(e){this._isClearing=!0;for(let t=0;t<this.markers.length;t++)this.markers[t].line===e&&(this.markers[t].dispose(),this.markers.splice(t--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let e=0;e<this.markers.length;e++)this.markers[e].dispose();this.markers.length=0,this._isClearing=!1}addMarker(e){let t=new Ud(e);return this.markers.push(t),t.register(this.lines.onTrim(e=>{t.line-=e,t.line<0&&t.dispose()})),t.register(this.lines.onInsert(e=>{t.line>=e.index&&(t.line+=e.amount)})),t.register(this.lines.onDelete(e=>{t.line>=e.index&&t.line<e.index+e.amount&&t.dispose(),t.line>e.index&&(t.line-=e.amount)})),t.register(t.onDispose(()=>this._removeMarker(t))),t}_removeMarker(e){this._isClearing||this.markers.splice(this.markers.indexOf(e),1)}},Jd=class extends J{constructor(e,t){super(),this._optionsService=e,this._bufferService=t,this._onBufferActivate=this._register(new Y),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this._register(this._optionsService.onSpecificOptionChange(`scrollback`,()=>this.resize(this._bufferService.cols,this._bufferService.rows))),this._register(this._optionsService.onSpecificOptionChange(`tabStopWidth`,()=>this.setupTabStops()))}reset(){this._normal=new qd(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new qd(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(e,t){this._normal.resize(e,t),this._alt.resize(e,t),this.setupTabStops(e)}setupTabStops(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)}},Yd=2,Xd=1,Zd=class extends J{constructor(e){super(),this.isUserScrolling=!1,this._onResize=this._register(new Y),this.onResize=this._onResize.event,this._onScroll=this._register(new Y),this.onScroll=this._onScroll.event,this.cols=Math.max(e.rawOptions.cols||0,Yd),this.rows=Math.max(e.rawOptions.rows||0,Xd),this.buffers=this._register(new Jd(e,this)),this._register(this.buffers.onBufferActivate(e=>{this._onScroll.fire(e.activeBuffer.ydisp)}))}get buffer(){return this.buffers.active}resize(e,t){let n=this.cols!==e,r=this.rows!==t;this.cols=e,this.rows=t,this.buffers.resize(e,t),this._onResize.fire({cols:e,rows:t,colsChanged:n,rowsChanged:r})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(e,t=!1){let n=this.buffer,r;r=this._cachedBlankLine,(!r||r.length!==this.cols||r.getFg(0)!==e.fg||r.getBg(0)!==e.bg)&&(r=n.getBlankLine(e,t),this._cachedBlankLine=r),r.isWrapped=t;let i=n.ybase+n.scrollTop,a=n.ybase+n.scrollBottom;if(n.scrollTop===0){let e=n.lines.isFull;a===n.lines.length-1?e?n.lines.recycle().copyFrom(r):n.lines.push(r.clone()):n.lines.splice(a+1,0,r.clone()),e?this.isUserScrolling&&(n.ydisp=Math.max(n.ydisp-1,0)):(n.ybase++,this.isUserScrolling||n.ydisp++)}else{let e=a-i+1;n.lines.shiftElements(i+1,e-1,-1),n.lines.set(a,r.clone())}this.isUserScrolling||(n.ydisp=n.ybase),this._onScroll.fire(n.ydisp)}scrollLines(e,t){let n=this.buffer;if(e<0){if(n.ydisp===0)return;this.isUserScrolling=!0}else e+n.ydisp>=n.ybase&&(this.isUserScrolling=!1);let r=n.ydisp;n.ydisp=Math.max(Math.min(n.ydisp+e,n.ybase),0),r!==n.ydisp&&(t||this._onScroll.fire(n.ydisp))}};Zd=ca([q(0,Va)],Zd);var Qd={cols:80,rows:24,cursorBlink:!1,cursorStyle:`block`,cursorWidth:1,cursorInactiveStyle:`outline`,customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:`alt`,fastScrollSensitivity:5,fontFamily:`monospace`,fontSize:15,fontWeight:`normal`,fontWeightBold:`bold`,ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:`info`,logger:null,scrollback:1e3,scrollOnEraseInDisplay:!1,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},reflowCursorLine:!1,rescaleOverlappingGlyphs:!1,rightClickSelectsWord:Iu,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:` ()[]{}',"\``,altClickMovesCursor:!0,convertEol:!1,termName:`xterm`,cancelEvents:!1,overviewRuler:{}},$d=[`normal`,`bold`,`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`],ef=class extends J{constructor(e){super(),this._onOptionChange=this._register(new Y),this.onOptionChange=this._onOptionChange.event;let t={...Qd};for(let n in e)if(n in t)try{let r=e[n];t[n]=this._sanitizeAndValidateOption(n,r)}catch(e){console.error(e)}this.rawOptions=t,this.options={...t},this._setupOptions(),this._register(Mo(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(e,t){return this.onOptionChange(n=>{n===e&&t(this.rawOptions[e])})}onMultipleOptionChange(e,t){return this.onOptionChange(n=>{e.indexOf(n)!==-1&&t()})}_setupOptions(){let e=e=>{if(!(e in Qd))throw Error(`No option with key "${e}"`);return this.rawOptions[e]},t=(e,t)=>{if(!(e in Qd))throw Error(`No option with key "${e}"`);t=this._sanitizeAndValidateOption(e,t),this.rawOptions[e]!==t&&(this.rawOptions[e]=t,this._onOptionChange.fire(e))};for(let n in this.rawOptions){let r={get:e.bind(this,n),set:t.bind(this,n)};Object.defineProperty(this.options,n,r)}}_sanitizeAndValidateOption(e,t){switch(e){case`cursorStyle`:if(t||=Qd[e],!tf(t))throw Error(`"${t}" is not a valid value for ${e}`);break;case`wordSeparator`:t||=Qd[e];break;case`fontWeight`:case`fontWeightBold`:if(typeof t==`number`&&1<=t&&t<=1e3)break;t=$d.includes(t)?t:Qd[e];break;case`cursorWidth`:t=Math.floor(t);case`lineHeight`:case`tabStopWidth`:if(t<1)throw Error(`${e} cannot be less than 1, value: ${t}`);break;case`minimumContrastRatio`:t=Math.max(1,Math.min(21,Math.round(t*10)/10));break;case`scrollback`:if(t=Math.min(t,4294967295),t<0)throw Error(`${e} cannot be less than 0, value: ${t}`);break;case`fastScrollSensitivity`:case`scrollSensitivity`:if(t<=0)throw Error(`${e} cannot be less than or equal to 0, value: ${t}`);break;case`rows`:case`cols`:if(!t&&t!==0)throw Error(`${e} must be numeric, value: ${t}`);break;case`windowsPty`:t??={};break}return t}};function tf(e){return e===`block`||e===`underline`||e===`bar`}function nf(e,t=5){if(typeof e!=`object`)return e;let n=Array.isArray(e)?[]:{};for(let r in e)n[r]=t<=1?e[r]:e[r]&&nf(e[r],t-1);return n}var rf=Object.freeze({insertMode:!1}),af=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),of=class extends J{constructor(e,t,n){super(),this._bufferService=e,this._logService=t,this._optionsService=n,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this._register(new Y),this.onData=this._onData.event,this._onUserInput=this._register(new Y),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new Y),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new Y),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=nf(rf),this.decPrivateModes=nf(af)}reset(){this.modes=nf(rf),this.decPrivateModes=nf(af)}triggerDataEvent(e,t=!1){if(this._optionsService.rawOptions.disableStdin)return;let n=this._bufferService.buffer;t&&this._optionsService.rawOptions.scrollOnUserInput&&n.ybase!==n.ydisp&&this._onRequestScrollToBottom.fire(),t&&this._onUserInput.fire(),this._logService.debug(`sending data "${e}"`),this._logService.trace(`sending data (codes)`,()=>e.split(``).map(e=>e.charCodeAt(0))),this._onData.fire(e)}triggerBinaryEvent(e){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${e}"`),this._logService.trace(`sending binary (codes)`,()=>e.split(``).map(e=>e.charCodeAt(0))),this._onBinary.fire(e))}};of=ca([q(0,Fa),q(1,Ba),q(2,Va)],of);var sf={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:e=>e.button===4||e.action!==1?!1:(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)},VT200:{events:19,restrict:e=>e.action!==32},DRAG:{events:23,restrict:e=>!(e.action===32&&e.button===3)},ANY:{events:31,restrict:e=>!0}};function cf(e,t){let n=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return e.button===4?(n|=64,n|=e.action):(n|=e.button&3,e.button&4&&(n|=64),e.button&8&&(n|=128),e.action===32?n|=32:e.action===0&&!t&&(n|=3)),n}var lf=String.fromCharCode,uf={DEFAULT:e=>{let t=[cf(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?``:`\x1B[M${lf(t[0])}${lf(t[1])}${lf(t[2])}`},SGR:e=>{let t=e.action===0&&e.button!==4?`m`:`M`;return`\x1B[<${cf(e,!0)};${e.col};${e.row}${t}`},SGR_PIXELS:e=>{let t=e.action===0&&e.button!==4?`m`:`M`;return`\x1B[<${cf(e,!0)};${e.x};${e.y}${t}`}},df=class extends J{constructor(e,t,n){super(),this._bufferService=e,this._coreService=t,this._optionsService=n,this._protocols={},this._encodings={},this._activeProtocol=``,this._activeEncoding=``,this._lastEvent=null,this._wheelPartialScroll=0,this._onProtocolChange=this._register(new Y),this.onProtocolChange=this._onProtocolChange.event;for(let e of Object.keys(sf))this.addProtocol(e,sf[e]);for(let e of Object.keys(uf))this.addEncoding(e,uf[e]);this.reset()}addProtocol(e,t){this._protocols[e]=t}addEncoding(e,t){this._encodings[e]=t}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(e){if(!this._protocols[e])throw Error(`unknown protocol "${e}"`);this._activeProtocol=e,this._onProtocolChange.fire(this._protocols[e].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(e){if(!this._encodings[e])throw Error(`unknown encoding "${e}"`);this._activeEncoding=e}reset(){this.activeProtocol=`NONE`,this.activeEncoding=`DEFAULT`,this._lastEvent=null,this._wheelPartialScroll=0}consumeWheelEvent(e,t,n){if(e.deltaY===0||e.shiftKey||t===void 0||n===void 0)return 0;let r=t/n,i=this._applyScrollModifier(e.deltaY,e);return e.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(i/=r+0,Math.abs(e.deltaY)<50&&(i*=.3),this._wheelPartialScroll+=i,i=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(i*=this._bufferService.rows),i}_applyScrollModifier(e,t){return t.altKey||t.ctrlKey||t.shiftKey?e*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:e*this._optionsService.rawOptions.scrollSensitivity}triggerMouseEvent(e){if(e.col<0||e.col>=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows||e.button===4&&e.action===32||e.button===3&&e.action!==32||e.button!==4&&(e.action===2||e.action===3)||(e.col++,e.row++,e.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,e,this._activeEncoding===`SGR_PIXELS`))||!this._protocols[this._activeProtocol].restrict(e))return!1;let t=this._encodings[this._activeEncoding](e);return t&&(this._activeEncoding===`DEFAULT`?this._coreService.triggerBinaryEvent(t):this._coreService.triggerDataEvent(t,!0)),this._lastEvent=e,!0}explainEvents(e){return{down:!!(e&1),up:!!(e&2),drag:!!(e&4),move:!!(e&8),wheel:!!(e&16)}}_equalEvents(e,t,n){if(n){if(e.x!==t.x||e.y!==t.y)return!1}else if(e.col!==t.col||e.row!==t.row)return!1;return!(e.button!==t.button||e.action!==t.action||e.ctrl!==t.ctrl||e.alt!==t.alt||e.shift!==t.shift)}};df=ca([q(0,Fa),q(1,La),q(2,Va)],df);var ff=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],pf=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],mf;function hf(e,t){let n=0,r=t.length-1,i;if(e<t[0][0]||e>t[r][1])return!1;for(;r>=n;)if(i=n+r>>1,e>t[i][1])n=i+1;else if(e<t[i][0])r=i-1;else return!0;return!1}var gf=class{constructor(){if(this.version=`6`,!mf){mf=new Uint8Array(65536),mf.fill(1),mf[0]=0,mf.fill(0,1,32),mf.fill(0,127,160),mf.fill(2,4352,4448),mf[9001]=2,mf[9002]=2,mf.fill(2,11904,42192),mf[12351]=1,mf.fill(2,44032,55204),mf.fill(2,63744,64256),mf.fill(2,65040,65050),mf.fill(2,65072,65136),mf.fill(2,65280,65377),mf.fill(2,65504,65511);for(let e=0;e<ff.length;++e)mf.fill(0,ff[e][0],ff[e][1]+1)}}wcwidth(e){return e<32?0:e<127?1:e<65536?mf[e]:hf(e,pf)?0:e>=131072&&e<=196605||e>=196608&&e<=262141?2:1}charProperties(e,t){let n=this.wcwidth(e),r=n===0&&t!==0;if(r){let e=_f.extractWidth(t);e===0?r=!1:e>n&&(n=e)}return _f.createPropertyValue(0,n,r)}},_f=class e{constructor(){this._providers=Object.create(null),this._active=``,this._onChange=new Y,this.onChange=this._onChange.event;let e=new gf;this.register(e),this._active=e.version,this._activeProvider=e}static extractShouldJoin(e){return(e&1)!=0}static extractWidth(e){return e>>1&3}static extractCharKind(e){return e>>3}static createPropertyValue(e,t,n=!1){return(e&16777215)<<3|(t&3)<<1|(n?1:0)}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(e){if(!this._providers[e])throw Error(`unknown Unicode version "${e}"`);this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)}register(e){this._providers[e.version]=e}wcwidth(e){return this._activeProvider.wcwidth(e)}getStringCellWidth(t){let n=0,r=0,i=t.length;for(let a=0;a<i;++a){let o=t.charCodeAt(a);if(55296<=o&&o<=56319){if(++a>=i)return n+this.wcwidth(o);let e=t.charCodeAt(a);56320<=e&&e<=57343?o=(o-55296)*1024+e-56320+65536:n+=this.wcwidth(e)}let s=this.charProperties(o,r),c=e.extractWidth(s);e.extractShouldJoin(s)&&(c-=e.extractWidth(r)),n+=c,r=s}return n}charProperties(e,t){return this._activeProvider.charProperties(e,t)}},vf=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(e){this.glevel=e,this.charset=this._charsets[e]}setgCharset(e,t){this._charsets[e]=t,this.glevel===e&&(this.charset=t)}};function yf(e){let t=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1)?.get(e.cols-1),n=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);n&&t&&(n.isWrapped=t[3]!==0&&t[3]!==32)}var bf=2147483647,xf=256,Sf=class e{constructor(e=32,t=32){if(this.maxLength=e,this.maxSubParamsLength=t,t>xf)throw Error(`maxSubParamsLength must not be greater than 256`);this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(t),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}static fromArray(t){let n=new e;if(!t.length)return n;for(let e=Array.isArray(t[0])?1:0;e<t.length;++e){let r=t[e];if(Array.isArray(r))for(let e=0;e<r.length;++e)n.addSubParam(r[e]);else n.addParam(r)}return n}clone(){let t=new e(this.maxLength,this.maxSubParamsLength);return t.params.set(this.params),t.length=this.length,t._subParams.set(this._subParams),t._subParamsLength=this._subParamsLength,t._subParamsIdx.set(this._subParamsIdx),t._rejectDigits=this._rejectDigits,t._rejectSubDigits=this._rejectSubDigits,t._digitIsSub=this._digitIsSub,t}toArray(){let e=[];for(let t=0;t<this.length;++t){e.push(this.params[t]);let n=this._subParamsIdx[t]>>8,r=this._subParamsIdx[t]&255;r-n>0&&e.push(Array.prototype.slice.call(this._subParams,n,r))}return e}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(e){if(this._digitIsSub=!1,this.length>=this.maxLength){this._rejectDigits=!0;return}if(e<-1)throw Error(`values lesser than -1 are not allowed`);this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e>bf?bf:e}addSubParam(e){if(this._digitIsSub=!0,this.length){if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength){this._rejectSubDigits=!0;return}if(e<-1)throw Error(`values lesser than -1 are not allowed`);this._subParams[this._subParamsLength++]=e>bf?bf:e,this._subParamsIdx[this.length-1]++}}hasSubParams(e){return(this._subParamsIdx[e]&255)-(this._subParamsIdx[e]>>8)>0}getSubParams(e){let t=this._subParamsIdx[e]>>8,n=this._subParamsIdx[e]&255;return n-t>0?this._subParams.subarray(t,n):null}getSubParamsAll(){let e={};for(let t=0;t<this.length;++t){let n=this._subParamsIdx[t]>>8,r=this._subParamsIdx[t]&255;r-n>0&&(e[t]=this._subParams.slice(n,r))}return e}addDigit(e){let t;if(this._rejectDigits||!(t=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let n=this._digitIsSub?this._subParams:this.params,r=n[t-1];n[t-1]=~r?Math.min(r*10+e,bf):e}},Cf=[],wf=class{constructor(){this._state=0,this._active=Cf,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(e,t){this._handlers[e]===void 0&&(this._handlers[e]=[]);let n=this._handlers[e];return n.push(t),{dispose:()=>{let e=n.indexOf(t);e!==-1&&n.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=Cf}reset(){if(this._state===2)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].end(!1);this._stack.paused=!1,this._active=Cf,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||Cf,!this._active.length)this._handlerFb(this._id,`START`);else for(let e=this._active.length-1;e>=0;e--)this._active[e].start()}_put(e,t,n){if(!this._active.length)this._handlerFb(this._id,`PUT`,xa(e,t,n));else for(let r=this._active.length-1;r>=0;r--)this._active[r].put(e,t,n)}start(){this.reset(),this._state=1}put(e,t,n){if(this._state!==3){if(this._state===1)for(;t<n;){let n=e[t++];if(n===59){this._state=2,this._start();break}if(n<48||57<n){this._state=3;return}this._id===-1&&(this._id=0),this._id=this._id*10+n-48}this._state===2&&n-t>0&&this._put(e,t,n)}}end(e,t=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),!this._active.length)this._handlerFb(this._id,`END`,e);else{let n=!1,r=this._active.length-1,i=!1;if(this._stack.paused&&(r=this._stack.loopPosition-1,n=t,i=this._stack.fallThrough,this._stack.paused=!1),!i&&n===!1){for(;r>=0&&(n=this._active[r].end(e),n!==!0);r--)if(n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!1,n;r--}for(;r>=0;r--)if(n=this._active[r].end(!1),n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!0,n}this._active=Cf,this._id=-1,this._state=0}}},Tf=class{constructor(e){this._handler=e,this._data=``,this._hitLimit=!1}start(){this._data=``,this._hitLimit=!1}put(e,t,n){this._hitLimit||(this._data+=xa(e,t,n),this._data.length>1e7&&(this._data=``,this._hitLimit=!0))}end(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data),t instanceof Promise))return t.then(e=>(this._data=``,this._hitLimit=!1,e));return this._data=``,this._hitLimit=!1,t}},Ef=[],Df=class{constructor(){this._handlers=Object.create(null),this._active=Ef,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=Ef}registerHandler(e,t){this._handlers[e]===void 0&&(this._handlers[e]=[]);let n=this._handlers[e];return n.push(t),{dispose:()=>{let e=n.indexOf(t);e!==-1&&n.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}reset(){if(this._active.length)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].unhook(!1);this._stack.paused=!1,this._active=Ef,this._ident=0}hook(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||Ef,!this._active.length)this._handlerFb(this._ident,`HOOK`,t);else for(let e=this._active.length-1;e>=0;e--)this._active[e].hook(t)}put(e,t,n){if(!this._active.length)this._handlerFb(this._ident,`PUT`,xa(e,t,n));else for(let r=this._active.length-1;r>=0;r--)this._active[r].put(e,t,n)}unhook(e,t=!0){if(!this._active.length)this._handlerFb(this._ident,`UNHOOK`,e);else{let n=!1,r=this._active.length-1,i=!1;if(this._stack.paused&&(r=this._stack.loopPosition-1,n=t,i=this._stack.fallThrough,this._stack.paused=!1),!i&&n===!1){for(;r>=0&&(n=this._active[r].unhook(e),n!==!0);r--)if(n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!1,n;r--}for(;r>=0;r--)if(n=this._active[r].unhook(!1),n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!0,n}this._active=Ef,this._ident=0}},Of=new Sf;Of.addParam(0);var kf=class{constructor(e){this._handler=e,this._data=``,this._params=Of,this._hitLimit=!1}hook(e){this._params=e.length>1||e.params[0]?e.clone():Of,this._data=``,this._hitLimit=!1}put(e,t,n){this._hitLimit||(this._data+=xa(e,t,n),this._data.length>1e7&&(this._data=``,this._hitLimit=!0))}unhook(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data,this._params),t instanceof Promise))return t.then(e=>(this._params=Of,this._data=``,this._hitLimit=!1,e));return this._params=Of,this._data=``,this._hitLimit=!1,t}},Af=class{constructor(e){this.table=new Uint8Array(e)}setDefault(e,t){this.table.fill(e<<4|t)}add(e,t,n,r){this.table[t<<8|e]=n<<4|r}addMany(e,t,n,r){for(let i=0;i<e.length;i++)this.table[t<<8|e[i]]=n<<4|r}},jf=160,Mf=function(){let e=new Af(4095),t=Array.apply(null,Array(256)).map((e,t)=>t),n=(e,n)=>t.slice(e,n),r=n(32,127),i=n(0,24);i.push(25),i.push.apply(i,n(28,32));let a=n(0,14),o;for(o in e.setDefault(1,0),e.addMany(r,0,2,0),a)e.addMany([24,26,153,154],o,3,0),e.addMany(n(128,144),o,3,0),e.addMany(n(144,152),o,3,0),e.add(156,o,0,0),e.add(27,o,11,1),e.add(157,o,4,8),e.addMany([152,158,159],o,0,7),e.add(155,o,11,3),e.add(144,o,11,9);return e.addMany(i,0,3,0),e.addMany(i,1,3,1),e.add(127,1,0,1),e.addMany(i,8,0,8),e.addMany(i,3,3,3),e.add(127,3,0,3),e.addMany(i,4,3,4),e.add(127,4,0,4),e.addMany(i,6,3,6),e.addMany(i,5,3,5),e.add(127,5,0,5),e.addMany(i,2,3,2),e.add(127,2,0,2),e.add(93,1,4,8),e.addMany(r,8,5,8),e.add(127,8,5,8),e.addMany([156,27,24,26,7],8,6,0),e.addMany(n(28,32),8,0,8),e.addMany([88,94,95],1,0,7),e.addMany(r,7,0,7),e.addMany(i,7,0,7),e.add(156,7,0,0),e.add(127,7,0,7),e.add(91,1,11,3),e.addMany(n(64,127),3,7,0),e.addMany(n(48,60),3,8,4),e.addMany([60,61,62,63],3,9,4),e.addMany(n(48,60),4,8,4),e.addMany(n(64,127),4,7,0),e.addMany([60,61,62,63],4,0,6),e.addMany(n(32,64),6,0,6),e.add(127,6,0,6),e.addMany(n(64,127),6,0,0),e.addMany(n(32,48),3,9,5),e.addMany(n(32,48),5,9,5),e.addMany(n(48,64),5,0,6),e.addMany(n(64,127),5,7,0),e.addMany(n(32,48),4,9,5),e.addMany(n(32,48),1,9,2),e.addMany(n(32,48),2,9,2),e.addMany(n(48,127),2,10,0),e.addMany(n(48,80),1,10,0),e.addMany(n(81,88),1,10,0),e.addMany([89,90,92],1,10,0),e.addMany(n(96,127),1,10,0),e.add(80,1,11,9),e.addMany(i,9,0,9),e.add(127,9,0,9),e.addMany(n(28,32),9,0,9),e.addMany(n(32,48),9,9,12),e.addMany(n(48,60),9,8,10),e.addMany([60,61,62,63],9,9,10),e.addMany(i,11,0,11),e.addMany(n(32,128),11,0,11),e.addMany(n(28,32),11,0,11),e.addMany(i,10,0,10),e.add(127,10,0,10),e.addMany(n(28,32),10,0,10),e.addMany(n(48,60),10,8,10),e.addMany([60,61,62,63],10,0,11),e.addMany(n(32,48),10,9,12),e.addMany(i,12,0,12),e.add(127,12,0,12),e.addMany(n(28,32),12,0,12),e.addMany(n(32,48),12,9,12),e.addMany(n(48,64),12,0,11),e.addMany(n(64,127),12,12,13),e.addMany(n(64,127),10,12,13),e.addMany(n(64,127),9,12,13),e.addMany(i,13,13,13),e.addMany(r,13,13,13),e.add(127,13,0,13),e.addMany([27,156,24,26],13,14,0),e.add(jf,0,2,0),e.add(jf,8,5,8),e.add(jf,6,0,6),e.add(jf,11,0,11),e.add(jf,13,13,13),e}(),Nf=class extends J{constructor(e=Mf){super(),this._transitions=e,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new Sf,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(e,t,n)=>{},this._executeHandlerFb=e=>{},this._csiHandlerFb=(e,t)=>{},this._escHandlerFb=e=>{},this._errorHandlerFb=e=>e,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._register(Mo(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new wf),this._dcsParser=this._register(new Df),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:`\\`},()=>!0)}_identifier(e,t=[64,126]){let n=0;if(e.prefix){if(e.prefix.length>1)throw Error(`only one byte as prefix supported`);if(n=e.prefix.charCodeAt(0),n&&60>n||n>63)throw Error(`prefix must be in range 0x3c .. 0x3f`)}if(e.intermediates){if(e.intermediates.length>2)throw Error(`only two bytes as intermediates are supported`);for(let t=0;t<e.intermediates.length;++t){let r=e.intermediates.charCodeAt(t);if(32>r||r>47)throw Error(`intermediate must be in range 0x20 .. 0x2f`);n<<=8,n|=r}}if(e.final.length!==1)throw Error(`final must be a single byte`);let r=e.final.charCodeAt(0);if(t[0]>r||r>t[1])throw Error(`final must be in range ${t[0]} .. ${t[1]}`);return n<<=8,n|=r,n}identToString(e){let t=[];for(;e;)t.push(String.fromCharCode(e&255)),e>>=8;return t.reverse().join(``)}setPrintHandler(e){this._printHandler=e}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(e,t){let n=this._identifier(e,[48,126]);this._escHandlers[n]===void 0&&(this._escHandlers[n]=[]);let r=this._escHandlers[n];return r.push(t),{dispose:()=>{let e=r.indexOf(t);e!==-1&&r.splice(e,1)}}}clearEscHandler(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]}setEscHandlerFallback(e){this._escHandlerFb=e}setExecuteHandler(e,t){this._executeHandlers[e.charCodeAt(0)]=t}clearExecuteHandler(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]}setExecuteHandlerFallback(e){this._executeHandlerFb=e}registerCsiHandler(e,t){let n=this._identifier(e);this._csiHandlers[n]===void 0&&(this._csiHandlers[n]=[]);let r=this._csiHandlers[n];return r.push(t),{dispose:()=>{let e=r.indexOf(t);e!==-1&&r.splice(e,1)}}}clearCsiHandler(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]}setCsiHandlerFallback(e){this._csiHandlerFb=e}registerDcsHandler(e,t){return this._dcsParser.registerHandler(this._identifier(e),t)}clearDcsHandler(e){this._dcsParser.clearHandler(this._identifier(e))}setDcsHandlerFallback(e){this._dcsParser.setHandlerFallback(e)}registerOscHandler(e,t){return this._oscParser.registerHandler(e,t)}clearOscHandler(e){this._oscParser.clearHandler(e)}setOscHandlerFallback(e){this._oscParser.setHandlerFallback(e)}setErrorHandler(e){this._errorHandler=e}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._parseStack.state!==0&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(e,t,n,r,i){this._parseStack.state=e,this._parseStack.handlers=t,this._parseStack.handlerPos=n,this._parseStack.transition=r,this._parseStack.chunkPos=i}parse(e,t,n){let r=0,i=0,a=0,o;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,a=this._parseStack.chunkPos+1;else{if(n===void 0||this._parseStack.state===1)throw this._parseStack.state=1,Error(`improper continuation due to previous async handler, giving up parsing`);let t=this._parseStack.handlers,i=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(n===!1&&i>-1){for(;i>=0&&(o=t[i](this._params),o!==!0);i--)if(o instanceof Promise)return this._parseStack.handlerPos=i,o}this._parseStack.handlers=[];break;case 4:if(n===!1&&i>-1){for(;i>=0&&(o=t[i](),o!==!0);i--)if(o instanceof Promise)return this._parseStack.handlerPos=i,o}this._parseStack.handlers=[];break;case 6:if(r=e[this._parseStack.chunkPos],o=this._dcsParser.unhook(r!==24&&r!==26,n),o)return o;r===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(r=e[this._parseStack.chunkPos],o=this._oscParser.end(r!==24&&r!==26,n),o)return o;r===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break}this._parseStack.state=0,a=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=this._parseStack.transition&15}for(let n=a;n<t;++n){switch(r=e[n],i=this._transitions.table[this.currentState<<8|(r<160?r:jf)],i>>4){case 2:for(let i=n+1;;++i){if(i>=t||(r=e[i])<32||r>126&&r<jf){this._printHandler(e,n,i),n=i-1;break}if(++i>=t||(r=e[i])<32||r>126&&r<jf){this._printHandler(e,n,i),n=i-1;break}if(++i>=t||(r=e[i])<32||r>126&&r<jf){this._printHandler(e,n,i),n=i-1;break}if(++i>=t||(r=e[i])<32||r>126&&r<jf){this._printHandler(e,n,i),n=i-1;break}}break;case 3:this._executeHandlers[r]?this._executeHandlers[r]():this._executeHandlerFb(r),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:n,code:r,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:let a=this._csiHandlers[this._collect<<8|r],s=a?a.length-1:-1;for(;s>=0&&(o=a[s](this._params),o!==!0);s--)if(o instanceof Promise)return this._preserveStack(3,a,s,i,n),o;s<0&&this._csiHandlerFb(this._collect<<8|r,this._params),this.precedingJoinState=0;break;case 8:do switch(r){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(r-48)}while(++n<t&&(r=e[n])>47&&r<60);n--;break;case 9:this._collect<<=8,this._collect|=r;break;case 10:let c=this._escHandlers[this._collect<<8|r],l=c?c.length-1:-1;for(;l>=0&&(o=c[l](),o!==!0);l--)if(o instanceof Promise)return this._preserveStack(4,c,l,i,n),o;l<0&&this._escHandlerFb(this._collect<<8|r),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|r,this._params);break;case 13:for(let i=n+1;;++i)if(i>=t||(r=e[i])===24||r===26||r===27||r>127&&r<jf){this._dcsParser.put(e,n,i),n=i-1;break}break;case 14:if(o=this._dcsParser.unhook(r!==24&&r!==26),o)return this._preserveStack(6,[],0,i,n),o;r===27&&(i|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break;case 4:this._oscParser.start();break;case 5:for(let i=n+1;;i++)if(i>=t||(r=e[i])<32||r>127&&r<jf){this._oscParser.put(e,n,i),n=i-1;break}break;case 6:if(o=this._oscParser.end(r!==24&&r!==26),o)return this._preserveStack(5,[],0,i,n),o;r===27&&(i|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break}this.currentState=i&15}}},Pf=/^([\da-f])\/([\da-f])\/([\da-f])$|^([\da-f]{2})\/([\da-f]{2})\/([\da-f]{2})$|^([\da-f]{3})\/([\da-f]{3})\/([\da-f]{3})$|^([\da-f]{4})\/([\da-f]{4})\/([\da-f]{4})$/,Ff=/^[\da-f]+$/;function If(e){if(!e)return;let t=e.toLowerCase();if(t.indexOf(`rgb:`)===0){t=t.slice(4);let e=Pf.exec(t);if(e){let t=e[1]?15:e[4]?255:e[7]?4095:65535;return[Math.round(parseInt(e[1]||e[4]||e[7]||e[10],16)/t*255),Math.round(parseInt(e[2]||e[5]||e[8]||e[11],16)/t*255),Math.round(parseInt(e[3]||e[6]||e[9]||e[12],16)/t*255)]}}else if(t.indexOf(`#`)===0&&(t=t.slice(1),Ff.exec(t)&&[3,6,9,12].includes(t.length))){let e=t.length/3,n=[0,0,0];for(let r=0;r<3;++r){let i=parseInt(t.slice(e*r,e*r+e),16);n[r]=e===1?i<<4:e===2?i:e===3?i>>4:i>>8}return n}}function Lf(e,t){let n=e.toString(16),r=n.length<2?`0`+n:n;switch(t){case 4:return n[0];case 8:return r;case 12:return(r+r).slice(0,3);default:return r+r}}function Rf(e,t=16){let[n,r,i]=e;return`rgb:${Lf(n,t)}/${Lf(r,t)}/${Lf(i,t)}`}var zf={"(":0,")":1,"*":2,"+":3,"-":1,".":2},Bf=131072,Vf=10;function Hf(e,t){if(e>24)return t.setWinLines||!1;switch(e){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}var Uf=5e3,Wf=0,Gf=class extends J{constructor(e,t,n,r,i,a,o,s,c=new Nf){super(),this._bufferService=e,this._charsetService=t,this._coreService=n,this._logService=r,this._optionsService=i,this._oscLinkService=a,this._coreMouseService=o,this._unicodeService=s,this._parser=c,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new Sa,this._utf8Decoder=new Ca,this._windowTitle=``,this._iconName=``,this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=Nd.clone(),this._eraseAttrDataInternal=Nd.clone(),this._onRequestBell=this._register(new Y),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new Y),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new Y),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new Y),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new Y),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new Y),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new Y),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new Y),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new Y),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new Y),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new Y),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new Y),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new Y),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this._register(this._parser),this._dirtyRowTracker=new Kf(this._bufferService),this._activeBuffer=this._bufferService.buffer,this._register(this._bufferService.buffers.onBufferActivate(e=>this._activeBuffer=e.activeBuffer)),this._parser.setCsiHandlerFallback((e,t)=>{this._logService.debug(`Unknown CSI code: `,{identifier:this._parser.identToString(e),params:t.toArray()})}),this._parser.setEscHandlerFallback(e=>{this._logService.debug(`Unknown ESC code: `,{identifier:this._parser.identToString(e)})}),this._parser.setExecuteHandlerFallback(e=>{this._logService.debug(`Unknown EXECUTE code: `,{code:e})}),this._parser.setOscHandlerFallback((e,t,n)=>{this._logService.debug(`Unknown OSC code: `,{identifier:e,action:t,data:n})}),this._parser.setDcsHandlerFallback((e,t,n)=>{t===`HOOK`&&(n=n.toArray()),this._logService.debug(`Unknown DCS code: `,{identifier:this._parser.identToString(e),action:t,payload:n})}),this._parser.setPrintHandler((e,t,n)=>this.print(e,t,n)),this._parser.registerCsiHandler({final:`@`},e=>this.insertChars(e)),this._parser.registerCsiHandler({intermediates:` `,final:`@`},e=>this.scrollLeft(e)),this._parser.registerCsiHandler({final:`A`},e=>this.cursorUp(e)),this._parser.registerCsiHandler({intermediates:` `,final:`A`},e=>this.scrollRight(e)),this._parser.registerCsiHandler({final:`B`},e=>this.cursorDown(e)),this._parser.registerCsiHandler({final:`C`},e=>this.cursorForward(e)),this._parser.registerCsiHandler({final:`D`},e=>this.cursorBackward(e)),this._parser.registerCsiHandler({final:`E`},e=>this.cursorNextLine(e)),this._parser.registerCsiHandler({final:`F`},e=>this.cursorPrecedingLine(e)),this._parser.registerCsiHandler({final:`G`},e=>this.cursorCharAbsolute(e)),this._parser.registerCsiHandler({final:`H`},e=>this.cursorPosition(e)),this._parser.registerCsiHandler({final:`I`},e=>this.cursorForwardTab(e)),this._parser.registerCsiHandler({final:`J`},e=>this.eraseInDisplay(e,!1)),this._parser.registerCsiHandler({prefix:`?`,final:`J`},e=>this.eraseInDisplay(e,!0)),this._parser.registerCsiHandler({final:`K`},e=>this.eraseInLine(e,!1)),this._parser.registerCsiHandler({prefix:`?`,final:`K`},e=>this.eraseInLine(e,!0)),this._parser.registerCsiHandler({final:`L`},e=>this.insertLines(e)),this._parser.registerCsiHandler({final:`M`},e=>this.deleteLines(e)),this._parser.registerCsiHandler({final:`P`},e=>this.deleteChars(e)),this._parser.registerCsiHandler({final:`S`},e=>this.scrollUp(e)),this._parser.registerCsiHandler({final:`T`},e=>this.scrollDown(e)),this._parser.registerCsiHandler({final:`X`},e=>this.eraseChars(e)),this._parser.registerCsiHandler({final:`Z`},e=>this.cursorBackwardTab(e)),this._parser.registerCsiHandler({final:"`"},e=>this.charPosAbsolute(e)),this._parser.registerCsiHandler({final:`a`},e=>this.hPositionRelative(e)),this._parser.registerCsiHandler({final:`b`},e=>this.repeatPrecedingCharacter(e)),this._parser.registerCsiHandler({final:`c`},e=>this.sendDeviceAttributesPrimary(e)),this._parser.registerCsiHandler({prefix:`>`,final:`c`},e=>this.sendDeviceAttributesSecondary(e)),this._parser.registerCsiHandler({final:`d`},e=>this.linePosAbsolute(e)),this._parser.registerCsiHandler({final:`e`},e=>this.vPositionRelative(e)),this._parser.registerCsiHandler({final:`f`},e=>this.hVPosition(e)),this._parser.registerCsiHandler({final:`g`},e=>this.tabClear(e)),this._parser.registerCsiHandler({final:`h`},e=>this.setMode(e)),this._parser.registerCsiHandler({prefix:`?`,final:`h`},e=>this.setModePrivate(e)),this._parser.registerCsiHandler({final:`l`},e=>this.resetMode(e)),this._parser.registerCsiHandler({prefix:`?`,final:`l`},e=>this.resetModePrivate(e)),this._parser.registerCsiHandler({final:`m`},e=>this.charAttributes(e)),this._parser.registerCsiHandler({final:`n`},e=>this.deviceStatus(e)),this._parser.registerCsiHandler({prefix:`?`,final:`n`},e=>this.deviceStatusPrivate(e)),this._parser.registerCsiHandler({intermediates:`!`,final:`p`},e=>this.softReset(e)),this._parser.registerCsiHandler({intermediates:` `,final:`q`},e=>this.setCursorStyle(e)),this._parser.registerCsiHandler({final:`r`},e=>this.setScrollRegion(e)),this._parser.registerCsiHandler({final:`s`},e=>this.saveCursor(e)),this._parser.registerCsiHandler({final:`t`},e=>this.windowOptions(e)),this._parser.registerCsiHandler({final:`u`},e=>this.restoreCursor(e)),this._parser.registerCsiHandler({intermediates:`'`,final:`}`},e=>this.insertColumns(e)),this._parser.registerCsiHandler({intermediates:`'`,final:`~`},e=>this.deleteColumns(e)),this._parser.registerCsiHandler({intermediates:`"`,final:`q`},e=>this.selectProtected(e)),this._parser.registerCsiHandler({intermediates:`$`,final:`p`},e=>this.requestMode(e,!0)),this._parser.registerCsiHandler({prefix:`?`,intermediates:`$`,final:`p`},e=>this.requestMode(e,!1)),this._parser.setExecuteHandler(Z.BEL,()=>this.bell()),this._parser.setExecuteHandler(Z.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(Z.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(Z.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(Z.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(Z.BS,()=>this.backspace()),this._parser.setExecuteHandler(Z.HT,()=>this.tab()),this._parser.setExecuteHandler(Z.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(Z.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(Il.IND,()=>this.index()),this._parser.setExecuteHandler(Il.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(Il.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new Tf(e=>(this.setTitle(e),this.setIconName(e),!0))),this._parser.registerOscHandler(1,new Tf(e=>this.setIconName(e))),this._parser.registerOscHandler(2,new Tf(e=>this.setTitle(e))),this._parser.registerOscHandler(4,new Tf(e=>this.setOrReportIndexedColor(e))),this._parser.registerOscHandler(8,new Tf(e=>this.setHyperlink(e))),this._parser.registerOscHandler(10,new Tf(e=>this.setOrReportFgColor(e))),this._parser.registerOscHandler(11,new Tf(e=>this.setOrReportBgColor(e))),this._parser.registerOscHandler(12,new Tf(e=>this.setOrReportCursorColor(e))),this._parser.registerOscHandler(104,new Tf(e=>this.restoreIndexedColor(e))),this._parser.registerOscHandler(110,new Tf(e=>this.restoreFgColor(e))),this._parser.registerOscHandler(111,new Tf(e=>this.restoreBgColor(e))),this._parser.registerOscHandler(112,new Tf(e=>this.restoreCursorColor(e))),this._parser.registerEscHandler({final:`7`},()=>this.saveCursor()),this._parser.registerEscHandler({final:`8`},()=>this.restoreCursor()),this._parser.registerEscHandler({final:`D`},()=>this.index()),this._parser.registerEscHandler({final:`E`},()=>this.nextLine()),this._parser.registerEscHandler({final:`H`},()=>this.tabSet()),this._parser.registerEscHandler({final:`M`},()=>this.reverseIndex()),this._parser.registerEscHandler({final:`=`},()=>this.keypadApplicationMode()),this._parser.registerEscHandler({final:`>`},()=>this.keypadNumericMode()),this._parser.registerEscHandler({final:`c`},()=>this.fullReset()),this._parser.registerEscHandler({final:`n`},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:`o`},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:`|`},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:`}`},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:`~`},()=>this.setgLevel(1)),this._parser.registerEscHandler({intermediates:`%`,final:`@`},()=>this.selectDefaultCharset()),this._parser.registerEscHandler({intermediates:`%`,final:`G`},()=>this.selectDefaultCharset());for(let e in Wd)this._parser.registerEscHandler({intermediates:`(`,final:e},()=>this.selectCharset(`(`+e)),this._parser.registerEscHandler({intermediates:`)`,final:e},()=>this.selectCharset(`)`+e)),this._parser.registerEscHandler({intermediates:`*`,final:e},()=>this.selectCharset(`*`+e)),this._parser.registerEscHandler({intermediates:`+`,final:e},()=>this.selectCharset(`+`+e)),this._parser.registerEscHandler({intermediates:`-`,final:e},()=>this.selectCharset(`-`+e)),this._parser.registerEscHandler({intermediates:`.`,final:e},()=>this.selectCharset(`.`+e)),this._parser.registerEscHandler({intermediates:`/`,final:e},()=>this.selectCharset(`/`+e));this._parser.registerEscHandler({intermediates:`#`,final:`8`},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(e=>(this._logService.error(`Parsing error: `,e),e)),this._parser.registerDcsHandler({intermediates:`$`,final:`q`},new kf((e,t)=>this.requestStatusString(e,t)))}getAttrData(){return this._curAttrData}_preserveStack(e,t,n,r){this._parseStack.paused=!0,this._parseStack.cursorStartX=e,this._parseStack.cursorStartY=t,this._parseStack.decodedLength=n,this._parseStack.position=r}_logSlowResolvingAsync(e){this._logService.logLevel<=3&&Promise.race([e,new Promise((e,t)=>setTimeout(()=>t(`#SLOW_TIMEOUT`),Uf))]).catch(e=>{if(e!==`#SLOW_TIMEOUT`)throw e;console.warn(`async parser handler taking longer than ${Uf} ms`)})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(e,t){let n,r=this._activeBuffer.x,i=this._activeBuffer.y,a=0,o=this._parseStack.paused;if(o){if(n=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,t))return this._logSlowResolvingAsync(n),n;r=this._parseStack.cursorStartX,i=this._parseStack.cursorStartY,this._parseStack.paused=!1,e.length>Bf&&(a=this._parseStack.position+Bf)}if(this._logService.logLevel<=1&&this._logService.debug(`parsing data ${typeof e==`string`?` "${e}"`:` "${Array.prototype.map.call(e,e=>String.fromCharCode(e)).join(``)}"`}`),this._logService.logLevel===0&&this._logService.trace(`parsing data (codes)`,typeof e==`string`?e.split(``).map(e=>e.charCodeAt(0)):e),this._parseBuffer.length<e.length&&this._parseBuffer.length<Bf&&(this._parseBuffer=new Uint32Array(Math.min(e.length,Bf))),o||this._dirtyRowTracker.clearRange(),e.length>Bf)for(let t=a;t<e.length;t+=Bf){let a=t+Bf<e.length?t+Bf:e.length,o=typeof e==`string`?this._stringDecoder.decode(e.substring(t,a),this._parseBuffer):this._utf8Decoder.decode(e.subarray(t,a),this._parseBuffer);if(n=this._parser.parse(this._parseBuffer,o))return this._preserveStack(r,i,o,t),this._logSlowResolvingAsync(n),n}else if(!o){let t=typeof e==`string`?this._stringDecoder.decode(e,this._parseBuffer):this._utf8Decoder.decode(e,this._parseBuffer);if(n=this._parser.parse(this._parseBuffer,t))return this._preserveStack(r,i,t,0),this._logSlowResolvingAsync(n),n}(this._activeBuffer.x!==r||this._activeBuffer.y!==i)&&this._onCursorMove.fire();let s=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),c=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);c<this._bufferService.rows&&this._onRequestRefreshRows.fire({start:Math.min(c,this._bufferService.rows-1),end:Math.min(s,this._bufferService.rows-1)})}print(e,t,n){let r,i,a=this._charsetService.charset,o=this._optionsService.rawOptions.screenReaderMode,s=this._bufferService.cols,c=this._coreService.decPrivateModes.wraparound,l=this._coreService.modes.insertMode,u=this._curAttrData,d=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&n-t>0&&d.getWidth(this._activeBuffer.x-1)===2&&d.setCellFromCodepoint(this._activeBuffer.x-1,0,1,u);let f=this._parser.precedingJoinState;for(let p=t;p<n;++p){if(r=e[p],r<127&&a){let e=a[String.fromCharCode(r)];e&&(r=e.charCodeAt(0))}let t=this._unicodeService.charProperties(r,f);i=_f.extractWidth(t);let n=_f.extractShouldJoin(t),m=n?_f.extractWidth(f):0;if(f=t,o&&this._onA11yChar.fire(ba(r)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+i-m>s){if(c){let e=d,t=this._activeBuffer.x-m;for(this._activeBuffer.x=m,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),d=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),m>0&&d instanceof Id&&d.copyCellsFrom(e,t,0,m,!1);t<s;)e.setCellFromCodepoint(t++,0,1,u)}else if(this._activeBuffer.x=s-1,i===2)continue}if(n&&this._activeBuffer.x){let e=d.getWidth(this._activeBuffer.x-1)?1:2;d.addCodepointToCell(this._activeBuffer.x-e,r,i);for(let e=i-m;--e>=0;)d.setCellFromCodepoint(this._activeBuffer.x++,0,0,u);continue}if(l&&(d.insertCells(this._activeBuffer.x,i-m,this._activeBuffer.getNullCell(u)),d.getWidth(s-1)===2&&d.setCellFromCodepoint(s-1,0,1,u)),d.setCellFromCodepoint(this._activeBuffer.x++,r,i,u),i>0)for(;--i;)d.setCellFromCodepoint(this._activeBuffer.x++,0,0,u)}this._parser.precedingJoinState=f,this._activeBuffer.x<s&&n-t>0&&d.getWidth(this._activeBuffer.x)===0&&!d.hasContent(this._activeBuffer.x)&&d.setCellFromCodepoint(this._activeBuffer.x,0,1,u),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(e,t){return e.final===`t`&&!e.prefix&&!e.intermediates?this._parser.registerCsiHandler(e,e=>Hf(e.params[0],this._optionsService.rawOptions.windowOptions)?t(e):!0):this._parser.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._parser.registerDcsHandler(e,new kf(t))}registerEscHandler(e,t){return this._parser.registerEscHandler(e,t)}registerOscHandler(e,t){return this._parser.registerOscHandler(e,new Tf(t))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(this._activeBuffer.x===0&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y)?.isWrapped){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;let e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);e.hasWidth(this._activeBuffer.x)&&!e.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let e=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-e),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(e=this._bufferService.cols-1){this._activeBuffer.x=Math.min(e,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(e,t){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=e,this._activeBuffer.y=this._activeBuffer.scrollTop+t):(this._activeBuffer.x=e,this._activeBuffer.y=t),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(e,t){this._restrictCursor(),this._setCursor(this._activeBuffer.x+e,this._activeBuffer.y+t)}cursorUp(e){let t=this._activeBuffer.y-this._activeBuffer.scrollTop;return t>=0?this._moveCursor(0,-Math.min(t,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1)),!0}cursorDown(e){let t=this._activeBuffer.scrollBottom-this._activeBuffer.y;return t>=0?this._moveCursor(0,Math.min(t,e.params[0]||1)):this._moveCursor(0,e.params[0]||1),!0}cursorForward(e){return this._moveCursor(e.params[0]||1,0),!0}cursorBackward(e){return this._moveCursor(-(e.params[0]||1),0),!0}cursorNextLine(e){return this.cursorDown(e),this._activeBuffer.x=0,!0}cursorPrecedingLine(e){return this.cursorUp(e),this._activeBuffer.x=0,!0}cursorCharAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(e){return this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1),!0}charPosAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(e){return this._moveCursor(e.params[0]||1,0),!0}linePosAbsolute(e){return this._setCursor(this._activeBuffer.x,(e.params[0]||1)-1),!0}vPositionRelative(e){return this._moveCursor(0,e.params[0]||1),!0}hVPosition(e){return this.cursorPosition(e),!0}tabClear(e){let t=e.params[0];return t===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:t===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(e){let t=e.params[0];return t===1&&(this._curAttrData.bg|=536870912),(t===2||t===0)&&(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(e,t,n,r=!1,i=!1){let a=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);a.replaceCells(t,n,this._activeBuffer.getNullCell(this._eraseAttrData()),i),r&&(a.isWrapped=!1)}_resetBufferLine(e,t=!1){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n&&(n.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),t),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+e),n.isWrapped=!1)}eraseInDisplay(e,t=!1){this._restrictCursor(this._bufferService.cols);let n;switch(e.params[0]){case 0:for(n=this._activeBuffer.y,this._dirtyRowTracker.markDirty(n),this._eraseInBufferLine(n++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,t);n<this._bufferService.rows;n++)this._resetBufferLine(n,t);this._dirtyRowTracker.markDirty(n);break;case 1:for(n=this._activeBuffer.y,this._dirtyRowTracker.markDirty(n),this._eraseInBufferLine(n,0,this._activeBuffer.x+1,!0,t),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(n+1).isWrapped=!1);n--;)this._resetBufferLine(n,t);this._dirtyRowTracker.markDirty(0);break;case 2:if(this._optionsService.rawOptions.scrollOnEraseInDisplay){for(n=this._bufferService.rows,this._dirtyRowTracker.markRangeDirty(0,n-1);n--&&!this._activeBuffer.lines.get(this._activeBuffer.ybase+n)?.getTrimmedLength(););for(;n>=0;n--)this._bufferService.scroll(this._eraseAttrData())}else{for(n=this._bufferService.rows,this._dirtyRowTracker.markDirty(n-1);n--;)this._resetBufferLine(n,t);this._dirtyRowTracker.markDirty(0)}break;case 3:let e=this._activeBuffer.lines.length-this._bufferService.rows;e>0&&(this._activeBuffer.lines.trimStart(e),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-e,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-e,0),this._onScroll.fire(0));break}return!0}eraseInLine(e,t=!1){switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,t);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,t);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,t);break}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let n=this._activeBuffer.ybase+this._activeBuffer.y,r=this._bufferService.rows-1-this._activeBuffer.scrollBottom,i=this._bufferService.rows-1+this._activeBuffer.ybase-r+1;for(;t--;)this._activeBuffer.lines.splice(i-1,1),this._activeBuffer.lines.splice(n,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let n=this._activeBuffer.ybase+this._activeBuffer.y,r;for(r=this._bufferService.rows-1-this._activeBuffer.scrollBottom,r=this._bufferService.rows-1+this._activeBuffer.ybase-r;t--;)this._activeBuffer.lines.splice(n,1),this._activeBuffer.lines.splice(r,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(e){this._restrictCursor();let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.insertCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(e){this._restrictCursor();let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.deleteCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(e){let t=e.params[0]||1;for(;t--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollDown(e){let t=e.params[0]||1;for(;t--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,0,this._activeBuffer.getBlankLine(Nd));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.deleteCells(0,t,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.insertCells(0,t,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.insertCells(this._activeBuffer.x,t,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.deleteCells(this._activeBuffer.x,t,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(e){this._restrictCursor();let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(e.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(e){let t=this._parser.precedingJoinState;if(!t)return!0;let n=e.params[0]||1,r=_f.extractWidth(t),i=this._activeBuffer.x-r,a=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(i),o=new Uint32Array(a.length*n),s=0;for(let e=0;e<a.length;){let t=a.codePointAt(e)||0;o[s++]=t,e+=t>65535?2:1}let c=s;for(let e=1;e<n;++e)o.copyWithin(c,0,s),c+=s;return this.print(o,0,c),!0}sendDeviceAttributesPrimary(e){return e.params[0]>0||(this._is(`xterm`)||this._is(`rxvt-unicode`)||this._is(`screen`)?this._coreService.triggerDataEvent(Z.ESC+`[?1;2c`):this._is(`linux`)&&this._coreService.triggerDataEvent(Z.ESC+`[?6c`)),!0}sendDeviceAttributesSecondary(e){return e.params[0]>0||(this._is(`xterm`)?this._coreService.triggerDataEvent(Z.ESC+`[>0;276;0c`):this._is(`rxvt-unicode`)?this._coreService.triggerDataEvent(Z.ESC+`[>85;95;0c`):this._is(`linux`)?this._coreService.triggerDataEvent(e.params[0]+`c`):this._is(`screen`)&&this._coreService.triggerDataEvent(Z.ESC+`[>83;40003;0c`)),!0}_is(e){return(this._optionsService.rawOptions.termName+``).indexOf(e)===0}setMode(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0;break}return!0}setModePrivate(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,Gd),this._charsetService.setgCharset(1,Gd),this._charsetService.setgCharset(2,Gd),this._charsetService.setgCharset(3,Gd);break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(132,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!0,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!0;break;case 12:this._optionsService.options.cursorBlink=!0;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!0;break;case 66:this._logService.debug(`Serial port requested application keypad.`),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire();break;case 9:this._coreMouseService.activeProtocol=`X10`;break;case 1e3:this._coreMouseService.activeProtocol=`VT200`;break;case 1002:this._coreMouseService.activeProtocol=`DRAG`;break;case 1003:this._coreMouseService.activeProtocol=`ANY`;break;case 1004:this._coreService.decPrivateModes.sendFocus=!0,this._onRequestSendFocus.fire();break;case 1005:this._logService.debug(`DECSET 1005 not supported (see #2507)`);break;case 1006:this._coreMouseService.activeEncoding=`SGR`;break;case 1015:this._logService.debug(`DECSET 1015 not supported (see #2507)`);break;case 1016:this._coreMouseService.activeEncoding=`SGR_PIXELS`;break;case 25:this._coreService.isCursorHidden=!1;break;case 1048:this.saveCursor();break;case 1049:this.saveCursor();case 47:case 1047:this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!0;break}return!0}resetMode(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1;break}return!0}resetModePrivate(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!1;break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(80,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!1,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!1;break;case 12:this._optionsService.options.cursorBlink=!1;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!1;break;case 66:this._logService.debug(`Switching back to normal keypad.`),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire();break;case 9:case 1e3:case 1002:case 1003:this._coreMouseService.activeProtocol=`NONE`;break;case 1004:this._coreService.decPrivateModes.sendFocus=!1;break;case 1005:this._logService.debug(`DECRST 1005 not supported (see #2507)`);break;case 1006:this._coreMouseService.activeEncoding=`DEFAULT`;break;case 1015:this._logService.debug(`DECRST 1015 not supported (see #2507)`);break;case 1016:this._coreMouseService.activeEncoding=`DEFAULT`;break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),e.params[t]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!1,this._onRequestRefreshRows.fire(void 0);break}return!0}requestMode(e,t){let n;(e=>(e[e.NOT_RECOGNIZED=0]=`NOT_RECOGNIZED`,e[e.SET=1]=`SET`,e[e.RESET=2]=`RESET`,e[e.PERMANENTLY_SET=3]=`PERMANENTLY_SET`,e[e.PERMANENTLY_RESET=4]=`PERMANENTLY_RESET`))(n||={});let r=this._coreService.decPrivateModes,{activeProtocol:i,activeEncoding:a}=this._coreMouseService,o=this._coreService,{buffers:s,cols:c}=this._bufferService,{active:l,alt:u}=s,d=this._optionsService.rawOptions,f=(e,n)=>(o.triggerDataEvent(`${Z.ESC}[${t?``:`?`}${e};${n}$y`),!0),p=e=>e?1:2,m=e.params[0];return t?m===2?f(m,4):m===4?f(m,p(o.modes.insertMode)):m===12?f(m,3):m===20?f(m,p(d.convertEol)):f(m,0):m===1?f(m,p(r.applicationCursorKeys)):m===3?f(m,d.windowOptions.setWinLines?c===80?2:c===132?1:0:0):m===6?f(m,p(r.origin)):m===7?f(m,p(r.wraparound)):m===8?f(m,3):m===9?f(m,p(i===`X10`)):m===12?f(m,p(d.cursorBlink)):m===25?f(m,p(!o.isCursorHidden)):m===45?f(m,p(r.reverseWraparound)):m===66?f(m,p(r.applicationKeypad)):m===67?f(m,4):m===1e3?f(m,p(i===`VT200`)):m===1002?f(m,p(i===`DRAG`)):m===1003?f(m,p(i===`ANY`)):m===1004?f(m,p(r.sendFocus)):m===1005?f(m,4):m===1006?f(m,p(a===`SGR`)):m===1015?f(m,4):m===1016?f(m,p(a===`SGR_PIXELS`)):m===1048?f(m,1):m===47||m===1047||m===1049?f(m,p(l===u)):m===2004?f(m,p(r.bracketedPasteMode)):m===2026?f(m,p(r.synchronizedOutput)):f(m,0)}_updateAttrColor(e,t,n,r,i){return t===2?(e|=50331648,e&=-16777216,e|=Ea.fromColorRGB([n,r,i])):t===5&&(e&=-50331904,e|=33554432|n&255),e}_extractColor(e,t,n){let r=[0,0,-1,0,0,0],i=0,a=0;do{if(r[a+i]=e.params[t+a],e.hasSubParams(t+a)){let n=e.getSubParams(t+a),o=0;do r[1]===5&&(i=1),r[a+o+1+i]=n[o];while(++o<n.length&&o+a+1+i<r.length);break}if(r[1]===5&&a+i>=2||r[1]===2&&a+i>=5)break;r[1]&&(i=1)}while(++a+t<e.length&&a+i<r.length);for(let e=2;e<r.length;++e)r[e]===-1&&(r[e]=0);switch(r[0]){case 38:n.fg=this._updateAttrColor(n.fg,r[1],r[3],r[4],r[5]);break;case 48:n.bg=this._updateAttrColor(n.bg,r[1],r[3],r[4],r[5]);break;case 58:n.extended=n.extended.clone(),n.extended.underlineColor=this._updateAttrColor(n.extended.underlineColor,r[1],r[3],r[4],r[5])}return a}_processUnderline(e,t){t.extended=t.extended.clone(),(!~e||e>5)&&(e=1),t.extended.underlineStyle=e,t.fg|=268435456,e===0&&(t.fg&=-268435457),t.updateExtended()}_processSGR0(e){e.fg=Nd.fg,e.bg=Nd.bg,e.extended=e.extended.clone(),e.extended.underlineStyle=0,e.extended.underlineColor&=-67108864,e.updateExtended()}charAttributes(e){if(e.length===1&&e.params[0]===0)return this._processSGR0(this._curAttrData),!0;let t=e.length,n,r=this._curAttrData;for(let i=0;i<t;i++)n=e.params[i],n>=30&&n<=37?(r.fg&=-50331904,r.fg|=16777216|n-30):n>=40&&n<=47?(r.bg&=-50331904,r.bg|=16777216|n-40):n>=90&&n<=97?(r.fg&=-50331904,r.fg|=n-90|16777224):n>=100&&n<=107?(r.bg&=-50331904,r.bg|=n-100|16777224):n===0?this._processSGR0(r):n===1?r.fg|=134217728:n===3?r.bg|=67108864:n===4?(r.fg|=268435456,this._processUnderline(e.hasSubParams(i)?e.getSubParams(i)[0]:1,r)):n===5?r.fg|=536870912:n===7?r.fg|=67108864:n===8?r.fg|=1073741824:n===9?r.fg|=2147483648:n===2?r.bg|=134217728:n===21?this._processUnderline(2,r):n===22?(r.fg&=-134217729,r.bg&=-134217729):n===23?r.bg&=-67108865:n===24?(r.fg&=-268435457,this._processUnderline(0,r)):n===25?r.fg&=-536870913:n===27?r.fg&=-67108865:n===28?r.fg&=-1073741825:n===29?r.fg&=2147483647:n===39?(r.fg&=-67108864,r.fg|=Nd.fg&16777215):n===49?(r.bg&=-67108864,r.bg|=Nd.bg&16777215):n===38||n===48||n===58?i+=this._extractColor(e,i,r):n===53?r.bg|=1073741824:n===55?r.bg&=-1073741825:n===59?(r.extended=r.extended.clone(),r.extended.underlineColor=-1,r.updateExtended()):n===100?(r.fg&=-67108864,r.fg|=Nd.fg&16777215,r.bg&=-67108864,r.bg|=Nd.bg&16777215):this._logService.debug(`Unknown SGR attribute: %d.`,n);return!0}deviceStatus(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(`${Z.ESC}[0n`);break;case 6:let e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${Z.ESC}[${e};${t}R`);break}return!0}deviceStatusPrivate(e){switch(e.params[0]){case 6:let e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${Z.ESC}[?${e};${t}R`);break;case 15:break;case 25:break;case 26:break;case 53:break}return!0}softReset(e){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=Nd.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(e){let t=e.length===0?1:e.params[0];if(t===0)this._coreService.decPrivateModes.cursorStyle=void 0,this._coreService.decPrivateModes.cursorBlink=void 0;else{switch(t){case 1:case 2:this._coreService.decPrivateModes.cursorStyle=`block`;break;case 3:case 4:this._coreService.decPrivateModes.cursorStyle=`underline`;break;case 5:case 6:this._coreService.decPrivateModes.cursorStyle=`bar`;break}let e=t%2==1;this._coreService.decPrivateModes.cursorBlink=e}return!0}setScrollRegion(e){let t=e.params[0]||1,n;return(e.length<2||(n=e.params[1])>this._bufferService.rows||n===0)&&(n=this._bufferService.rows),n>t&&(this._activeBuffer.scrollTop=t-1,this._activeBuffer.scrollBottom=n-1,this._setCursor(0,0)),!0}windowOptions(e){if(!Hf(e.params[0],this._optionsService.rawOptions.windowOptions))return!0;let t=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:t!==2&&this._onRequestWindowsOptionsReport.fire(0);break;case 16:this._onRequestWindowsOptionsReport.fire(1);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${Z.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(t===0||t===2)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>Vf&&this._windowTitleStack.shift()),(t===0||t===1)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>Vf&&this._iconNameStack.shift());break;case 23:(t===0||t===2)&&this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),(t===0||t===1)&&this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop());break}return!0}saveCursor(e){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(e){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(e){return this._windowTitle=e,this._onTitleChange.fire(e),!0}setIconName(e){return this._iconName=e,!0}setOrReportIndexedColor(e){let t=[],n=e.split(`;`);for(;n.length>1;){let e=n.shift(),r=n.shift();if(/^\d+$/.exec(e)){let n=parseInt(e);if(qf(n))if(r===`?`)t.push({type:0,index:n});else{let e=If(r);e&&t.push({type:1,index:n,color:e})}}}return t.length&&this._onColor.fire(t),!0}setHyperlink(e){let t=e.indexOf(`;`);if(t===-1)return!0;let n=e.slice(0,t).trim(),r=e.slice(t+1);return r?this._createHyperlink(n,r):n.trim()?!1:this._finishHyperlink()}_createHyperlink(e,t){this._getCurrentLinkId()&&this._finishHyperlink();let n=e.split(`:`),r,i=n.findIndex(e=>e.startsWith(`id=`));return i!==-1&&(r=n[i].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:r,uri:t}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(e,t){let n=e.split(`;`);for(let e=0;e<n.length&&!(t>=this._specialColors.length);++e,++t)if(n[e]===`?`)this._onColor.fire([{type:0,index:this._specialColors[t]}]);else{let r=If(n[e]);r&&this._onColor.fire([{type:1,index:this._specialColors[t],color:r}])}return!0}setOrReportFgColor(e){return this._setOrReportSpecialColor(e,0)}setOrReportBgColor(e){return this._setOrReportSpecialColor(e,1)}setOrReportCursorColor(e){return this._setOrReportSpecialColor(e,2)}restoreIndexedColor(e){if(!e)return this._onColor.fire([{type:2}]),!0;let t=[],n=e.split(`;`);for(let e=0;e<n.length;++e)if(/^\d+$/.exec(n[e])){let r=parseInt(n[e]);qf(r)&&t.push({type:2,index:r})}return t.length&&this._onColor.fire(t),!0}restoreFgColor(e){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(e){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(e){return this._onColor.fire([{type:2,index:258}]),!0}nextLine(){return this._activeBuffer.x=0,this.index(),!0}keypadApplicationMode(){return this._logService.debug(`Serial port requested application keypad.`),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0}keypadNumericMode(){return this._logService.debug(`Switching back to normal keypad.`),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0}selectDefaultCharset(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,Gd),!0}selectCharset(e){return e.length===2?(e[0]===`/`||this._charsetService.setgCharset(zf[e[0]],Wd[e[1]]||Gd),!0):(this.selectDefaultCharset(),!0)}index(){return this._restrictCursor(),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){let e=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,e,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=Nd.clone(),this._eraseAttrDataInternal=Nd.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=this._curAttrData.bg&67108863,this._eraseAttrDataInternal}setgLevel(e){return this._charsetService.setgLevel(e),!0}screenAlignmentPattern(){let e=new Oa;e.content=4194373,e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg,this._setCursor(0,0);for(let t=0;t<this._bufferService.rows;++t){let n=this._activeBuffer.ybase+this._activeBuffer.y+t,r=this._activeBuffer.lines.get(n);r&&(r.fill(e),r.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(e,t){let n=e=>(this._coreService.triggerDataEvent(`${Z.ESC}${e}${Z.ESC}\\`),!0),r=this._bufferService.buffer,i=this._optionsService.rawOptions;return n(e===`"q`?`P1$r${this._curAttrData.isProtected()?1:0}"q`:e===`"p`?`P1$r61;1"p`:e===`r`?`P1$r${r.scrollTop+1};${r.scrollBottom+1}r`:e===`m`?`P1$r0m`:e===` q`?`P1$r${{block:2,underline:4,bar:6}[i.cursorStyle]-(i.cursorBlink?1:0)} q`:`P0$r`)}markRangeDirty(e,t){this._dirtyRowTracker.markRangeDirty(e,t)}},Kf=class{constructor(e){this._bufferService=e,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(e){e<this.start?this.start=e:e>this.end&&(this.end=e)}markRangeDirty(e,t){e>t&&(Wf=e,e=t,t=Wf),e<this.start&&(this.start=e),t>this.end&&(this.end=t)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};Kf=ca([q(0,Fa)],Kf);function qf(e){return 0<=e&&e<256}var Jf=5e7,Yf=12,Xf=50,Zf=class extends J{constructor(e){super(),this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this._register(new Y),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(e,t){if(t!==void 0&&this._syncCalls>t){this._syncCalls=0;return}if(this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;this._isSyncWriting=!0;let n;for(;n=this._writeBuffer.shift();){this._action(n);let e=this._callbacks.shift();e&&e()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(e,t){if(this._pendingData>Jf)throw Error(`write data discarded, use flow control to avoid losing data`);if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput){this._didUserInput=!1,this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t),this._innerWrite();return}setTimeout(()=>this._innerWrite())}this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t)}_innerWrite(e=0,t=!0){let n=e||performance.now();for(;this._writeBuffer.length>this._bufferOffset;){let e=this._writeBuffer[this._bufferOffset],r=this._action(e,t);if(r){r.catch(e=>(queueMicrotask(()=>{throw e}),Promise.resolve(!1))).then(e=>performance.now()-n>=Yf?setTimeout(()=>this._innerWrite(0,e)):this._innerWrite(n,e));return}let i=this._callbacks[this._bufferOffset];if(i&&i(),this._bufferOffset++,this._pendingData-=e.length,performance.now()-n>=Yf)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>Xf&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout(()=>this._innerWrite())):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}},Qf=class{constructor(e){this._bufferService=e,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(e){let t=this._bufferService.buffer;if(e.id===void 0){let n=t.addMarker(t.ybase+t.y),r={data:e,id:this._nextId++,lines:[n]};return n.onDispose(()=>this._removeMarkerFromLink(r,n)),this._dataByLinkId.set(r.id,r),r.id}let n=e,r=this._getEntryIdKey(n),i=this._entriesWithId.get(r);if(i)return this.addLineToLink(i.id,t.ybase+t.y),i.id;let a=t.addMarker(t.ybase+t.y),o={id:this._nextId++,key:this._getEntryIdKey(n),data:n,lines:[a]};return a.onDispose(()=>this._removeMarkerFromLink(o,a)),this._entriesWithId.set(o.key,o),this._dataByLinkId.set(o.id,o),o.id}addLineToLink(e,t){let n=this._dataByLinkId.get(e);if(n&&n.lines.every(e=>e.line!==t)){let e=this._bufferService.buffer.addMarker(t);n.lines.push(e),e.onDispose(()=>this._removeMarkerFromLink(n,e))}}getLinkData(e){return this._dataByLinkId.get(e)?.data}_getEntryIdKey(e){return`${e.id};;${e.uri}`}_removeMarkerFromLink(e,t){let n=e.lines.indexOf(t);n!==-1&&(e.lines.splice(n,1),e.lines.length===0&&(e.data.id!==void 0&&this._entriesWithId.delete(e.key),this._dataByLinkId.delete(e.id)))}};Qf=ca([q(0,Fa)],Qf);var $f=!1,ep=class extends J{constructor(e){super(),this._windowsWrappingHeuristics=this._register(new Fo),this._onBinary=this._register(new Y),this.onBinary=this._onBinary.event,this._onData=this._register(new Y),this.onData=this._onData.event,this._onLineFeed=this._register(new Y),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new Y),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new Y),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new Y),this._instantiationService=new Dd,this.optionsService=this._register(new ef(e)),this._instantiationService.setService(Va,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(Zd)),this._instantiationService.setService(Fa,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(Ad)),this._instantiationService.setService(Ba,this._logService),this.coreService=this._register(this._instantiationService.createInstance(of)),this._instantiationService.setService(La,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(df)),this._instantiationService.setService(Ia,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(_f)),this._instantiationService.setService(Ua,this.unicodeService),this._charsetService=this._instantiationService.createInstance(vf),this._instantiationService.setService(Ra,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(Qf),this._instantiationService.setService(Ha,this._oscLinkService),this._inputHandler=this._register(new Gf(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register(Go.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register(Go.forward(this._bufferService.onResize,this._onResize)),this._register(Go.forward(this.coreService.onData,this._onData)),this._register(Go.forward(this.coreService.onBinary,this._onBinary)),this._register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom(!0))),this._register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this._register(this.optionsService.onMultipleOptionChange([`windowsMode`,`windowsPty`],()=>this._handleWindowsPtyOptionChange())),this._register(this._bufferService.onScroll(()=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this._register(new Zf((e,t)=>this._inputHandler.parse(e,t))),this._register(Go.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new Y),this._onScroll.event(e=>{this._onScrollApi?.fire(e.position)})),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(e){for(let t in e)this.optionsService.options[t]=e[t]}write(e,t){this._writeBuffer.write(e,t)}writeSync(e,t){this._logService.logLevel<=3&&!$f&&(this._logService.warn(`writeSync is unreliable and will be removed soon.`),$f=!0),this._writeBuffer.writeSync(e,t)}input(e,t=!0){this.coreService.triggerDataEvent(e,t)}resize(e,t){isNaN(e)||isNaN(t)||(e=Math.max(e,Yd),t=Math.max(t,Xd),this._bufferService.resize(e,t))}scroll(e,t=!1){this._bufferService.scroll(e,t)}scrollLines(e,t){this._bufferService.scrollLines(e,t)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let t=e-this._bufferService.buffer.ydisp;t!==0&&this.scrollLines(t)}registerEscHandler(e,t){return this._inputHandler.registerEscHandler(e,t)}registerDcsHandler(e,t){return this._inputHandler.registerDcsHandler(e,t)}registerCsiHandler(e,t){return this._inputHandler.registerCsiHandler(e,t)}registerOscHandler(e,t){return this._inputHandler.registerOscHandler(e,t)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let e=!1,t=this.optionsService.rawOptions.windowsPty;t&&t.buildNumber!==void 0&&t.buildNumber!==void 0?e=t.backend===`conpty`&&t.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(e=!0),e?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let e=[];e.push(this.onLineFeed(yf.bind(null,this._bufferService))),e.push(this.registerCsiHandler({final:`H`},()=>(yf(this._bufferService),!1))),this._windowsWrappingHeuristics.value=Mo(()=>{for(let t of e)t.dispose()})}}},tp={48:[`0`,`)`],49:[`1`,`!`],50:[`2`,`@`],51:[`3`,`#`],52:[`4`,`$`],53:[`5`,`%`],54:[`6`,`^`],55:[`7`,`&`],56:[`8`,`*`],57:[`9`,`(`],186:[`;`,`:`],187:[`=`,`+`],188:[`,`,`<`],189:[`-`,`_`],190:[`.`,`>`],191:[`/`,`?`],192:["`",`~`],219:[`[`,`{`],220:[`\\`,`|`],221:[`]`,`}`],222:[`'`,`"`]};function np(e,t,n,r){let i={type:0,cancel:!1,key:void 0},a=(e.shiftKey?1:0)|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:e.key===`UIKeyInputUpArrow`?t?i.key=Z.ESC+`OA`:i.key=Z.ESC+`[A`:e.key===`UIKeyInputLeftArrow`?t?i.key=Z.ESC+`OD`:i.key=Z.ESC+`[D`:e.key===`UIKeyInputRightArrow`?t?i.key=Z.ESC+`OC`:i.key=Z.ESC+`[C`:e.key===`UIKeyInputDownArrow`&&(t?i.key=Z.ESC+`OB`:i.key=Z.ESC+`[B`);break;case 8:i.key=e.ctrlKey?`\b`:Z.DEL,e.altKey&&(i.key=Z.ESC+i.key);break;case 9:if(e.shiftKey){i.key=Z.ESC+`[Z`;break}i.key=Z.HT,i.cancel=!0;break;case 13:i.key=e.altKey?Z.ESC+Z.CR:Z.CR,i.cancel=!0;break;case 27:i.key=Z.ESC,e.altKey&&(i.key=Z.ESC+Z.ESC),i.cancel=!0;break;case 37:if(e.metaKey)break;a?i.key=Z.ESC+`[1;`+(a+1)+`D`:t?i.key=Z.ESC+`OD`:i.key=Z.ESC+`[D`;break;case 39:if(e.metaKey)break;a?i.key=Z.ESC+`[1;`+(a+1)+`C`:t?i.key=Z.ESC+`OC`:i.key=Z.ESC+`[C`;break;case 38:if(e.metaKey)break;a?i.key=Z.ESC+`[1;`+(a+1)+`A`:t?i.key=Z.ESC+`OA`:i.key=Z.ESC+`[A`;break;case 40:if(e.metaKey)break;a?i.key=Z.ESC+`[1;`+(a+1)+`B`:t?i.key=Z.ESC+`OB`:i.key=Z.ESC+`[B`;break;case 45:!e.shiftKey&&!e.ctrlKey&&(i.key=Z.ESC+`[2~`);break;case 46:a?i.key=Z.ESC+`[3;`+(a+1)+`~`:i.key=Z.ESC+`[3~`;break;case 36:a?i.key=Z.ESC+`[1;`+(a+1)+`H`:t?i.key=Z.ESC+`OH`:i.key=Z.ESC+`[H`;break;case 35:a?i.key=Z.ESC+`[1;`+(a+1)+`F`:t?i.key=Z.ESC+`OF`:i.key=Z.ESC+`[F`;break;case 33:e.shiftKey?i.type=2:e.ctrlKey?i.key=Z.ESC+`[5;`+(a+1)+`~`:i.key=Z.ESC+`[5~`;break;case 34:e.shiftKey?i.type=3:e.ctrlKey?i.key=Z.ESC+`[6;`+(a+1)+`~`:i.key=Z.ESC+`[6~`;break;case 112:a?i.key=Z.ESC+`[1;`+(a+1)+`P`:i.key=Z.ESC+`OP`;break;case 113:a?i.key=Z.ESC+`[1;`+(a+1)+`Q`:i.key=Z.ESC+`OQ`;break;case 114:a?i.key=Z.ESC+`[1;`+(a+1)+`R`:i.key=Z.ESC+`OR`;break;case 115:a?i.key=Z.ESC+`[1;`+(a+1)+`S`:i.key=Z.ESC+`OS`;break;case 116:a?i.key=Z.ESC+`[15;`+(a+1)+`~`:i.key=Z.ESC+`[15~`;break;case 117:a?i.key=Z.ESC+`[17;`+(a+1)+`~`:i.key=Z.ESC+`[17~`;break;case 118:a?i.key=Z.ESC+`[18;`+(a+1)+`~`:i.key=Z.ESC+`[18~`;break;case 119:a?i.key=Z.ESC+`[19;`+(a+1)+`~`:i.key=Z.ESC+`[19~`;break;case 120:a?i.key=Z.ESC+`[20;`+(a+1)+`~`:i.key=Z.ESC+`[20~`;break;case 121:a?i.key=Z.ESC+`[21;`+(a+1)+`~`:i.key=Z.ESC+`[21~`;break;case 122:a?i.key=Z.ESC+`[23;`+(a+1)+`~`:i.key=Z.ESC+`[23~`;break;case 123:a?i.key=Z.ESC+`[24;`+(a+1)+`~`:i.key=Z.ESC+`[24~`;break;default:if(e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.metaKey)e.keyCode>=65&&e.keyCode<=90?i.key=String.fromCharCode(e.keyCode-64):e.keyCode===32?i.key=Z.NUL:e.keyCode>=51&&e.keyCode<=55?i.key=String.fromCharCode(e.keyCode-51+27):e.keyCode===56?i.key=Z.DEL:e.keyCode===219?i.key=Z.ESC:e.keyCode===220?i.key=Z.FS:e.keyCode===221&&(i.key=Z.GS);else if((!n||r)&&e.altKey&&!e.metaKey){let t=tp[e.keyCode]?.[e.shiftKey?1:0];if(t)i.key=Z.ESC+t;else if(e.keyCode>=65&&e.keyCode<=90){let t=e.ctrlKey?e.keyCode-64:e.keyCode+32,n=String.fromCharCode(t);e.shiftKey&&(n=n.toUpperCase()),i.key=Z.ESC+n}else if(e.keyCode===32)i.key=Z.ESC+(e.ctrlKey?Z.NUL:` `);else if(e.key===`Dead`&&e.code.startsWith(`Key`)){let t=e.code.slice(3,4);e.shiftKey||(t=t.toLowerCase()),i.key=Z.ESC+t,i.cancel=!0}}else n&&!e.altKey&&!e.ctrlKey&&!e.shiftKey&&e.metaKey?e.keyCode===65&&(i.type=1):e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&e.key.length===1?i.key=e.key:e.key&&e.ctrlKey&&(e.key===`_`&&(i.key=Z.US),e.key===`@`&&(i.key=Z.NUL));break}return i}var rp=0,ip=class{constructor(e){this._getKey=e,this._array=[],this._insertedValues=[],this._flushInsertedTask=new Gu,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new Gu,this._isFlushingDeleted=!1}clear(){this._array.length=0,this._insertedValues.length=0,this._flushInsertedTask.clear(),this._isFlushingInserted=!1,this._deletedIndices.length=0,this._flushDeletedTask.clear(),this._isFlushingDeleted=!1}insert(e){this._flushCleanupDeleted(),this._insertedValues.length===0&&this._flushInsertedTask.enqueue(()=>this._flushInserted()),this._insertedValues.push(e)}_flushInserted(){let e=this._insertedValues.sort((e,t)=>this._getKey(e)-this._getKey(t)),t=0,n=0,r=Array(this._array.length+this._insertedValues.length);for(let i=0;i<r.length;i++)n>=this._array.length||this._getKey(e[t])<=this._getKey(this._array[n])?(r[i]=e[t],t++):r[i]=this._array[n++];this._array=r,this._insertedValues.length=0}_flushCleanupInserted(){!this._isFlushingInserted&&this._insertedValues.length>0&&this._flushInsertedTask.flush()}delete(e){if(this._flushCleanupInserted(),this._array.length===0)return!1;let t=this._getKey(e);if(t===void 0||(rp=this._search(t),rp===-1)||this._getKey(this._array[rp])!==t)return!1;do if(this._array[rp]===e)return this._deletedIndices.length===0&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(rp),!0;while(++rp<this._array.length&&this._getKey(this._array[rp])===t);return!1}_flushDeleted(){this._isFlushingDeleted=!0;let e=this._deletedIndices.sort((e,t)=>e-t),t=0,n=Array(this._array.length-e.length),r=0;for(let i=0;i<this._array.length;i++)e[t]===i?t++:n[r++]=this._array[i];this._array=n,this._deletedIndices.length=0,this._isFlushingDeleted=!1}_flushCleanupDeleted(){!this._isFlushingDeleted&&this._deletedIndices.length>0&&this._flushDeletedTask.flush()}*getKeyIterator(e){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(rp=this._search(e),!(rp<0||rp>=this._array.length)&&this._getKey(this._array[rp])===e))do yield this._array[rp];while(++rp<this._array.length&&this._getKey(this._array[rp])===e)}forEachByKey(e,t){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(rp=this._search(e),!(rp<0||rp>=this._array.length)&&this._getKey(this._array[rp])===e))do t(this._array[rp]);while(++rp<this._array.length&&this._getKey(this._array[rp])===e)}values(){return this._flushCleanupInserted(),this._flushCleanupDeleted(),[...this._array].values()}_search(e){let t=0,n=this._array.length-1;for(;n>=t;){let r=t+n>>1,i=this._getKey(this._array[r]);if(i>e)n=r-1;else if(i<e)t=r+1;else{for(;r>0&&this._getKey(this._array[r-1])===e;)r--;return r}}return t}},ap=0,op=0,sp=class extends J{constructor(){super(),this._decorations=new ip(e=>e?.marker.line),this._onDecorationRegistered=this._register(new Y),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new Y),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register(Mo(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(e){if(e.marker.isDisposed)return;let t=new cp(e);if(t){let e=t.marker.onDispose(()=>t.dispose()),n=t.onDispose(()=>{n.dispose(),t&&(this._decorations.delete(t)&&this._onDecorationRemoved.fire(t),e.dispose())});this._decorations.insert(t),this._onDecorationRegistered.fire(t)}return t}reset(){for(let e of this._decorations.values())e.dispose();this._decorations.clear()}*getDecorationsAtCell(e,t,n){let r=0,i=0;for(let a of this._decorations.getKeyIterator(t))r=a.options.x??0,i=r+(a.options.width??1),e>=r&&e<i&&(!n||(a.options.layer??`bottom`)===n)&&(yield a)}forEachDecorationAtCell(e,t,n,r){this._decorations.forEachByKey(t,t=>{ap=t.options.x??0,op=ap+(t.options.width??1),e>=ap&&e<op&&(!n||(t.options.layer??`bottom`)===n)&&r(t)})}},cp=class extends Po{constructor(e){super(),this.options=e,this.onRenderEmitter=this.add(new Y),this.onRender=this.onRenderEmitter.event,this._onDispose=this.add(new Y),this.onDispose=this._onDispose.event,this._cachedBg=null,this._cachedFg=null,this.marker=e.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position=`full`)}get backgroundColorRGB(){return this._cachedBg===null&&(this.options.backgroundColor?this._cachedBg=Kl.toColor(this.options.backgroundColor):this._cachedBg=void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this.options.foregroundColor?this._cachedFg=Kl.toColor(this.options.foregroundColor):this._cachedFg=void 0),this._cachedFg}dispose(){this._onDispose.fire(),super.dispose()}},lp=1e3,up=class{constructor(e,t=lp){this._renderCallback=e,this._debounceThresholdMS=t,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(e,t,n){this._rowCount=n,e=e===void 0?0:e,t=t===void 0?this._rowCount-1:t,this._rowStart=this._rowStart===void 0?e:Math.min(this._rowStart,e),this._rowEnd=this._rowEnd===void 0?t:Math.max(this._rowEnd,t);let r=performance.now();if(r-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=r,this._innerRefresh();else if(!this._additionalRefreshRequested){let e=r-this._lastRefreshMs,t=this._debounceThresholdMS-e;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=performance.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},t)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;let e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t)}},dp=20,fp=!1,pp=class extends J{constructor(e,t,n,r){super(),this._terminal=e,this._coreBrowserService=n,this._renderService=r,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce=``;let i=this._coreBrowserService.mainDocument;this._accessibilityContainer=i.createElement(`div`),this._accessibilityContainer.classList.add(`xterm-accessibility`),this._rowContainer=i.createElement(`div`),this._rowContainer.setAttribute(`role`,`list`),this._rowContainer.classList.add(`xterm-accessibility-tree`),this._rowElements=[];for(let e=0;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);if(this._topBoundaryFocusListener=e=>this._handleBoundaryFocus(e,0),this._bottomBoundaryFocusListener=e=>this._handleBoundaryFocus(e,1),this._rowElements[0].addEventListener(`focus`,this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=i.createElement(`div`),this._liveRegion.classList.add(`live-region`),this._liveRegion.setAttribute(`aria-live`,`assertive`),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new up(this._renderRows.bind(this))),!this._terminal.element)throw Error(`Cannot enable accessibility before Terminal.open`);fp?(this._accessibilityContainer.classList.add(`debug`),this._rowContainer.classList.add(`debug`),this._debugRootContainer=i.createElement(`div`),this._debugRootContainer.classList.add(`xterm`),this._debugRootContainer.appendChild(i.createTextNode(`------start a11y------`)),this._debugRootContainer.appendChild(this._accessibilityContainer),this._debugRootContainer.appendChild(i.createTextNode(`------end a11y------`)),this._terminal.element.insertAdjacentElement(`afterend`,this._debugRootContainer)):this._terminal.element.insertAdjacentElement(`afterbegin`,this._accessibilityContainer),this._register(this._terminal.onResize(e=>this._handleResize(e.rows))),this._register(this._terminal.onRender(e=>this._refreshRows(e.start,e.end))),this._register(this._terminal.onScroll(()=>this._refreshRows())),this._register(this._terminal.onA11yChar(e=>this._handleChar(e))),this._register(this._terminal.onLineFeed(()=>this._handleChar(`
35
35
  `))),this._register(this._terminal.onA11yTab(e=>this._handleTab(e))),this._register(this._terminal.onKey(e=>this._handleKey(e.key))),this._register(this._terminal.onBlur(()=>this._clearLiveRegion())),this._register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._register(X(i,`selectionchange`,()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(Mo(()=>{fp?this._debugRootContainer.remove():this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(e){for(let t=0;t<e;t++)this._handleChar(` `)}_handleChar(e){this._liveRegionLineCount<dp+1&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,e===`
36
36
  `&&(this._liveRegionLineCount++,this._liveRegionLineCount===dp+1&&(this._liveRegion.textContent+=fa.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})`}};pp=ca([q(1,za),q(2,Ja),q(3,Xa)],pp);var mp=class extends J{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 Y),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this._register(new Y),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this._register(Mo(()=>{Ao(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(X(this._element,`mouseleave`,()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(X(this._element,`mousemove`,this._handleMouseMove.bind(this))),this._register(X(this._element,`mousedown`,this._handleMouseDown.bind(this))),this._register(X(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&&hp(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,Ao(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}}};mp=ca([q(1,Ya),q(2,Xa),q(3,Fa),q(4,eo)],mp);function hp(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 gp=class extends ep{constructor(e={}){super(e),this._linkifier=this._register(new Fo),this.browser=Ou,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new Fo),this._onCursorMove=this._register(new Y),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new Y),this.onKey=this._onKey.event,this._onRender=this._register(new Y),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new Y),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new Y),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new Y),this.onBell=this._onBell.event,this._onFocus=this._register(new Y),this._onBlur=this._register(new Y),this._onA11yCharEmitter=this._register(new Y),this._onA11yTabEmitter=this._register(new Y),this._onWillOpen=this._register(new Y),this._setup(),this._decorationService=this._instantiationService.createInstance(sp),this._instantiationService.setService(Wa,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(Cu),this._instantiationService.setService(eo,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(Ga)),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(Go.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(Go.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(Go.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(Go.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize(e=>this._afterResize(e.cols,e.rows))),this._register(Mo(()=>{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=Gl.toColorRGB(e===`ansi`?this._themeService.colors.ansi[t.index]:this._themeService.colors[e]);this.coreService.triggerDataEvent(`${Z.ESC}]${n};${Rf(r)}${Ll.ST}`);break;case 1:if(e===`ansi`)this._themeService.modifyColors(e=>e.ansi[t.index]=Wl.toColor(...t.color));else{let n=e;this._themeService.modifyColors(e=>e[n]=Wl.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(pp,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(Z.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(Z.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(X(this.element,`copy`,e=>{this.hasSelection()&&ha(e,this._selectionService)}));let e=e=>ga(e,this.textarea,this.coreService,this.optionsService);this._register(X(this.textarea,`paste`,e)),this._register(X(this.element,`paste`,e)),Mu?this._register(X(this.element,`mousedown`,e=>{e.button===2&&ya(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(X(this.element,`contextmenu`,e=>{ya(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),Bu&&this._register(X(this.element,`auxclick`,e=>{e.button===1&&va(e,this.textarea,this.screenElement)}))}_bindKeys(){this._register(X(this.textarea,`keyup`,e=>this._keyUp(e),!0)),this._register(X(this.textarea,`keydown`,e=>this._keyDown(e),!0)),this._register(X(this.textarea,`keypress`,e=>this._keyPress(e),!0)),this._register(X(this.textarea,`compositionstart`,()=>this._compositionHelper.compositionstart())),this._register(X(this.textarea,`compositionupdate`,e=>this._compositionHelper.compositionupdate(e))),this._register(X(this.textarea,`compositionend`,()=>this._compositionHelper.compositionend())),this._register(X(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(X(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`,ua.get()),Vu||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(xu,this.textarea,e.ownerDocument.defaultView??window,this._document??typeof window<`u`?window.document:null)),this._instantiationService.setService(Ja,this._coreBrowserService),this._register(X(this.textarea,`focus`,e=>this._handleTextAreaFocus(e))),this._register(X(this.textarea,`blur`,()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(_u,this._document,this._helperContainer),this._instantiationService.setService(qa,this._charSizeService),this._themeService=this._instantiationService.createInstance(Td),this._instantiationService.setService($a,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(Ql),this._instantiationService.setService(Qa,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(qu,this.rows,this.screenElement)),this._instantiationService.setService(Xa,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(Rl,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(Eu),this._instantiationService.setService(Ya,this._mouseService);let r=this._linkifier.value=this._register(this._instantiationService.createInstance(mp,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(kl,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(hd,this.element,this.screenElement,r)),this._instantiationService.setService(Za,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(Go.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{this._selectionService.refresh(),this._viewport?.queueSync()})),this._register(this._instantiationService.createInstance(Al,this.screenElement)),this._register(X(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(pp,this)),this._register(this.optionsService.onSpecificOptionChange(`screenReaderMode`,e=>this._handleScreenReaderModeOptionChange(e))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(Fl,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange(`overviewRuler`,e=>{!this._overviewRulerRenderer&&e&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(Fl,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(gu,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(X(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(X(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=Z.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){_a(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=np(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===Z.ETX||n.key===Z.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)&&(_p(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(Nd));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(Z.ESC+`[I`):this.coreService.triggerDataEvent(Z.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(`${Z.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(`${Z.ESC}[6;${r};${n}t`);break}}cancel(e,t){if(!(!this.options.cancelEvents&&!t))return e.preventDefault(),e.stopPropagation(),!1}};function _p(e){return e.keyCode===16||e.keyCode===17||e.keyCode===18}var vp=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)}},yp=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 Oa)}translateToString(e,t,n){return this._line.translateToString(e,t,n)}},bp=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 yp(t)}getNullCell(){return new Oa}},xp=class extends J{constructor(e){super(),this._core=e,this._onBufferChange=this._register(new Y),this.onBufferChange=this._onBufferChange.event,this._normal=new bp(this._core.buffers.normal,`normal`),this._alternate=new bp(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)}},Sp=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)}},Cp=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}},wp=[`cols`,`rows`],Tp=0,Ep=class extends J{constructor(e){super(),this._core=this._register(new gp(e)),this._addonManager=this._register(new vp),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(wp.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 Sp(this._core),this._parser}get unicode(){return this._checkProposedApi(),new Cp(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 xp(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
37
- `,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 ua.get()},set promptLabel(e){ua.set(e)},get tooMuchOutput(){return fa.get()},set tooMuchOutput(e){fa.set(e)}}}_verifyIntegers(...e){for(Tp of e)if(Tp===1/0||isNaN(Tp)||Tp%1!=0)throw Error(`This API only accepts integers`)}_verifyPositiveIntegers(...e){for(Tp of e)if(Tp&&(Tp===1/0||isNaN(Tp)||Tp%1!=0||Tp<0))throw Error(`This API only accepts positive integers`)}},Dp={class:`column`,style:{height:`100%`}},Op={class:`row items-center q-pa-xs q-px-sm text-caption text-grey-5`},kp={key:0,class:`col column items-center justify-center text-grey-7 text-caption`},Ap={key:1,class:`col column items-center justify-center text-red-4 text-caption`},jp={key:2,class:`col column items-center justify-center text-amber-6 text-caption`},Mp={key:3,class:`col column items-center justify-center`},Np=j({__name:`TerminalPanel`,setup(e){let{t:n}=Oe(),r=Pe(),c=new Map,l=S(null),d=null,f=null,p=S(0),h=T(()=>r.selectedWorkspace),_=T(()=>r.selectedWorkspaceId),b=T(()=>{let e=h.value;return e?e.status!==`created`:!1}),D=T(()=>!!h.value?.archivedAt),k=T(()=>(p.value,_.value?c.get(_.value)??null:null)),A=T(()=>!!k.value&&!k.value.exited),j=T(()=>!!k.value?.exited),M=T(()=>k.value?.error??null);function N(){p.value++}function ee(e,t){let r=window.location.protocol===`https:`?`wss:`:`ws:`,i=new WebSocket(`${r}//${window.location.host}/ws/terminal/${e}`);i.binaryType=`arraybuffer`,t.ws=i,i.onopen=()=>{i.send(JSON.stringify({type:`create`}))},i.onmessage=e=>{if(e.data instanceof ArrayBuffer)t.terminal.write(new Uint8Array(e.data));else{let n;try{n=JSON.parse(e.data)}catch{return}if(n.type===`ready`){t.error=null,N();try{t.fitAddon.fit()}catch{}let e=t.fitAddon.proposeDimensions();e&&i.readyState===WebSocket.OPEN&&i.send(JSON.stringify({type:`resize`,cols:e.cols,rows:e.rows}))}else n.type===`error`?(t.error=n.message??`Unknown error`,N()):n.type===`exited`&&(t.exited=!0,t.exitCode=n.code??null,N())}},i.onclose=()=>{t.ws=null},i.onerror=()=>{t.error=n(`terminal.error`),N()},t.terminal.onData(e=>{t.ws&&t.ws.readyState===WebSocket.OPEN&&t.ws.send(new TextEncoder().encode(e))})}function te(){let e=_.value;if(!e||!b.value||D.value||c.has(e))return;let t=new Ep({cursorBlink:!0,fontSize:12,fontFamily:`'Roboto Mono', monospace`,theme:{background:`#16162a`,foreground:`#cccccc`,cursor:`#6c63ff`},scrollback:1e3}),n=new ia;t.loadAddon(n);let r=document.createElement(`div`);r.style.width=`100%`,r.style.height=`100%`;let i={terminal:t,fitAddon:n,ws:null,exited:!1,exitCode:null,error:null,container:r,opened:!1};c.set(e,i),N(),I(e,i),ee(e,i)}function P(){let e=_.value;if(!e)return;let t=c.get(e);t&&(d===e&&L(),t.ws&&t.ws.readyState===WebSocket.OPEN&&t.ws.close(),t.terminal.dispose(),c.delete(e),N())}function F(){let e=_.value;if(!e)return;let t=c.get(e);t&&(t.ws&&t.ws.readyState===WebSocket.OPEN&&t.ws.close(),t.terminal.dispose(),c.delete(e)),d=null,N(),i(()=>te())}function I(e,t){l.value&&d!==e&&(L(),d=e,t.opened||=(t.terminal.open(t.container),!0),l.value.appendChild(t.container),i(()=>i(()=>t.fitAddon.fit())))}function L(){if(!d)return;let e=c.get(d);e?.container.parentElement&&e.container.parentElement.removeChild(e.container),d=null}return g(_,(e,t)=>{if(t&&L(),e){let t=c.get(e);t&&i(()=>{I(e,t),(!t.ws||t.ws.readyState!==WebSocket.OPEN)&&(t.exited||ee(e,t))})}N()}),u(()=>{if(f=new ResizeObserver(()=>{if(!_.value)return;let e=c.get(_.value);if(e&&d===_.value){e.fitAddon.fit();let t=e.fitAddon.proposeDimensions();t&&e.ws?.readyState===WebSocket.OPEN&&e.ws.send(JSON.stringify({type:`resize`,cols:t.cols,rows:t.rows}))}}),l.value&&f.observe(l.value),_.value){let e=c.get(_.value);e&&i(()=>I(_.value,e))}}),t(()=>{f?.disconnect(),L()}),(e,t)=>(o(),E(`div`,Dp,[O(`div`,Op,[v(B,{name:`terminal`,size:`14px`,class:`q-mr-xs`}),O(`span`,null,m(y(n)(`terminal.title`)),1),v(it),A.value?(o(),x(U,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,onClick:P},{default:a(()=>[v(K,null,{default:a(()=>[w(m(y(n)(`terminal.close`)),1)]),_:1})]),_:1})):C(``,!0)]),v(me,{dark:``}),_.value?M.value?(o(),E(`div`,Ap,[v(B,{name:`error`,size:`24px`,class:`q-mb-sm`}),w(` `+m(y(n)(`terminal.error`))+`: `+m(M.value)+` `,1),v(U,{flat:``,dense:``,"no-caps":``,color:`indigo-4`,class:`q-mt-sm`,onClick:F},{default:a(()=>[w(m(y(n)(`terminal.open`)),1)]),_:1})])):j.value?(o(),E(`div`,jp,[v(B,{name:`info`,size:`24px`,class:`q-mb-sm`}),w(` `+m(y(n)(`terminal.exited`))+` `,1),v(U,{flat:``,dense:``,"no-caps":``,color:`indigo-4`,class:`q-mt-sm`,onClick:F},{default:a(()=>[w(m(y(n)(`terminal.open`)),1)]),_:1})])):k.value?C(``,!0):(o(),E(`div`,Mp,[v(U,{flat:``,dense:``,"no-caps":``,color:`indigo-4`,icon:`terminal`,label:y(n)(`terminal.open`),disable:!b.value||D.value,onClick:te},{default:a(()=>[b.value?C(``,!0):(o(),x(K,{key:0},{default:a(()=>[w(m(y(n)(`terminal.noWorktree`)),1)]),_:1}))]),_:1},8,[`label`,`disable`])])):(o(),E(`div`,kp,m(y(n)(`terminal.noWorkspace`)),1)),s(O(`div`,{ref_key:`containerRef`,ref:l,class:`col`,style:{overflow:`hidden`}},null,512),[[ne,A.value]])]))}}),Pp={class:`column q-gutter-sm q-pa-sm`},Fp=j({__name:`AutoLoopPanel`,setup(e){let{t}=Oe(),n=dt(),r=Pe(),i=ze(),s=T(()=>r.selectedWorkspace),c=T(()=>s.value?r.autoLoopStates[s.value.id]??null:null),l=T(()=>r.tasks.length>0),u=T(()=>!!c.value?.auto_loop_ready),d=T(()=>!!c.value?.auto_loop),f=T(()=>u.value&&l.value),p=T(()=>We(s.value?.status)),h=T(()=>!!s.value?.archivedAt),g=T(()=>!f.value||h.value),_=T(()=>u.value?l.value?``:t(`autoLoop.noTasks`):t(`autoLoop.notReady`));async function v(){if(s.value)try{await r.enableAutoLoop(s.value.id)}catch(e){n.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}async function b(){if(s.value)try{await r.disableAutoLoop(s.value.id)}catch(e){n.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}function S(){s.value&&bt(s.value.id,i,r)}function D(){s.value&&n.dialog({title:t(`autoLoop.forceReady`),message:t(`autoLoop.forceReadyConfirm`),cancel:!0,persistent:!0}).onOk(async()=>{if(s.value)try{await r.forceAutoLoopReady(s.value.id)}catch(e){n.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}})}return(e,n)=>(o(),E(`div`,Pp,[d.value?(o(),x(U,{key:0,dense:``,"no-caps":``,color:`negative`,icon:`stop`,label:y(t)(`autoLoop.stop`),disable:h.value,onClick:b},null,8,[`label`,`disable`])):(o(),x(U,{key:1,dense:``,"no-caps":``,color:`indigo-4`,icon:`play_arrow`,label:y(t)(`autoLoop.start`),disable:g.value,onClick:v},{default:a(()=>[g.value&&_.value?(o(),x(K,{key:0},{default:a(()=>[w(m(_.value),1)]),_:1})):C(``,!0)]),_:1},8,[`label`,`disable`])),d.value?C(``,!0):(o(),x(U,{key:2,dense:``,"no-caps":``,outline:``,color:`indigo-4`,icon:`build`,label:u.value?y(t)(`autoLoop.reprepare`):y(t)(`autoLoop.prepare`),disable:p.value||h.value,onClick:S},{default:a(()=>[p.value?(o(),x(K,{key:0},{default:a(()=>[w(m(y(t)(`autoLoop.prepareBusy`)),1)]),_:1})):u.value?(o(),x(K,{key:1},{default:a(()=>[w(m(y(t)(`autoLoop.reprepareTooltip`)),1)]),_:1})):C(``,!0)]),_:1},8,[`label`,`disable`])),u.value?C(``,!0):(o(),x(U,{key:3,dense:``,"no-caps":``,flat:``,size:`sm`,color:`grey-5`,label:y(t)(`autoLoop.forceReady`),disable:p.value||h.value,onClick:D},{default:a(()=>[p.value?(o(),x(K,{key:0},{default:a(()=>[w(m(y(t)(`autoLoop.prepareBusy`)),1)]),_:1})):C(``,!0)]),_:1},8,[`label`,`disable`]))]))}}),Ip={class:`log-text rounded-borders q-pa-md`},Lp=nt(j({__name:`DevServerLogDialog`,props:{modelValue:{type:Boolean},workspaceId:{}},emits:[`update:modelValue`],setup(e){let t=e,n=Be(),r=S(``),s=S(!1),c=S(null),l=null;async function u(){if(t.workspaceId){s.value=!0;try{r.value=await n.fetchLogs(t.workspaceId),await i(),d()}finally{s.value=!1}}}function d(){c.value&&(c.value.scrollTop=c.value.scrollHeight)}function p(){h(),l=setInterval(()=>{u()},5e3)}function h(){l&&=(clearInterval(l),null)}return g(()=>t.modelValue,e=>{e?(u(),p()):h()}),f(()=>{h()}),(t,n)=>(o(),x(Me,{"model-value":e.modelValue,"onUpdate:modelValue":n[1]||=e=>t.$emit(`update:modelValue`,e)},{default:a(()=>[v(Ne,{class:`text-grey-3`,style:{"min-width":`700px`,"max-width":`900px`,"max-height":`80vh`,background:`#1e1e3a`}},{default:a(()=>[v(Ke,{class:`row items-center`},{default:a(()=>[n[2]||=O(`div`,{class:`text-h6`},`Logs Dev Server`,-1),v(it),v(U,{flat:``,round:``,dense:``,icon:`refresh`,color:`grey-5`,onClick:u,loading:s.value},{default:a(()=>[v(K,null,{default:a(()=>[w(m(t.$t(`tooltip.refreshLogs`)),1)]),_:1})]),_:1},8,[`loading`]),v(U,{flat:``,round:``,dense:``,icon:`close`,color:`grey-5`,onClick:n[0]||=e=>t.$emit(`update:modelValue`,!1)},{default:a(()=>[v(K,null,{default:a(()=>[w(m(t.$t(`tooltip.closeDialog`)),1)]),_:1})]),_:1})]),_:1}),v(me,{dark:``}),v(Ke,{class:`log-content`,ref_key:`logContainer`,ref:c},{default:a(()=>[O(`pre`,Ip,m(r.value||`No logs available`),1)]),_:1},512)]),_:1})]),_:1},8,[`model-value`]))}}),[[`__scopeId`,`data-v-d988f9ab`]]),Rp={class:`dd-panel q-px-md q-py-sm`},zp={class:`text-caption text-uppercase text-weight-bold text-grey-5 q-mb-xs`},Bp={key:0,class:`text-caption text-grey-8`},Vp={key:1,class:`text-caption text-grey-8`},Hp={class:`row items-center q-mb-xs`},Up={key:0,class:`text-caption q-mb-xs`},Wp=[`href`],Gp={key:1,class:`text-caption text-grey-7`,style:{"font-size":`10px`}},Kp={key:2,class:`text-caption text-red-5`},qp=nt(j({__name:`DevServerPanel`,props:{workspace:{}},setup(e){let t=e,{t:n}=Oe(),r=Be(),i=Se(),s=S(!1),c=S(!1),l=S(!1),d=null,p=T(()=>t.workspace?.id??``),h=T(()=>t.workspace?!!i.getProjectByPath(t.workspace.projectPath)?.devServer?.startCommand:!1),_=T(()=>p.value?r.getStatus(p.value):null),y=T(()=>{switch(_.value?.status){case`running`:return`green-9`;case`starting`:case`stopping`:return`orange-9`;case`error`:return`red-9`;default:return`grey-8`}}),b=T(()=>{switch(_.value?.status){case`running`:return n(`devServer.running`);case`starting`:return n(`devServer.starting`);case`stopping`:return n(`devServer.stopping`);case`error`:return n(`devServer.error`);case`stopped`:return n(`devServer.stopped`);default:return n(`devServer.unknown`)}}),k=T(()=>!!t.workspace?.archivedAt),A=T(()=>{if(k.value)return!1;let e=_.value?.status;return!e||e===`stopped`||e===`unknown`||e===`error`}),j=T(()=>{if(k.value)return!1;let e=_.value?.status;return e===`running`||e===`starting`});async function M(){if(p.value){c.value=!0;try{await r.startDevServer(p.value)}finally{c.value=!1}}}async function ee(){if(p.value){l.value=!0;try{await r.stopDevServer(p.value)}finally{l.value=!1}}}function te(){p.value&&h.value&&r.fetchStatus(p.value)}function P(){F(),d=setInterval(()=>{te()},3e4)}function F(){d&&=(clearInterval(d),null)}return g(p,()=>{te(),P()}),u(()=>{te(),P()}),f(()=>{F()}),(t,n)=>{let r=N(`router-link`);return o(),E(`div`,Rp,[O(`div`,zp,m(t.$t(`devServer.title`)),1),e.workspace?h.value?_.value?(o(),E(D,{key:2},[O(`div`,Hp,[v(rt,{color:y.value,label:b.value,style:{"font-size":`10px`}},null,8,[`color`,`label`]),v(it),A.value?(o(),x(U,{key:0,flat:``,round:``,dense:``,icon:`play_arrow`,size:`xs`,color:`green-5`,onClick:M,loading:c.value},{default:a(()=>[v(K,null,{default:a(()=>[w(m(t.$t(`tooltip.startDevServer`)),1)]),_:1})]),_:1},8,[`loading`])):C(``,!0),j.value?(o(),x(U,{key:1,flat:``,round:``,dense:``,icon:`stop`,size:`xs`,color:`red-5`,onClick:ee,loading:l.value},{default:a(()=>[v(K,null,{default:a(()=>[w(m(t.$t(`tooltip.stopDevServer`)),1)]),_:1})]),_:1},8,[`loading`])):C(``,!0),v(U,{flat:``,round:``,dense:``,icon:`article`,size:`xs`,color:`grey-5`,onClick:n[0]||=e=>s.value=!0},{default:a(()=>[v(K,null,{default:a(()=>[w(m(t.$t(`devServer.logs`)),1)]),_:1})]),_:1})]),_.value.status===`running`&&_.value.url?(o(),E(`div`,Up,[O(`a`,{href:_.value.url,target:`_blank`,style:{color:`#6c63ff`}},m(_.value.url),9,Wp)])):C(``,!0),_.value.containers.length>0?(o(),E(`div`,Gp,m(t.$t(`devServer.containers`,{count:_.value.containers.length},_.value.containers.length)),1)):C(``,!0),_.value.error?(o(),E(`div`,Kp,m(_.value.error),1)):C(``,!0)],64)):C(``,!0):(o(),E(`div`,Vp,[w(m(t.$t(`devServer.notConfigured`))+` `,1),v(r,{to:`/settings`,style:{color:`#6c63ff`}},{default:a(()=>[w(m(t.$t(`devServer.goToSettings`)),1)]),_:1})])):(o(),E(`div`,Bp,m(t.$t(`devServer.noWorkspace`)),1)),p.value?(o(),x(Lp,{key:3,modelValue:s.value,"onUpdate:modelValue":n[1]||=e=>s.value=e,"workspace-id":p.value},null,8,[`modelValue`,`workspace-id`])):C(``,!0)])}}}),[[`__scopeId`,`data-v-8d4cdfb4`]]),Jp={class:`text-h6`},Yp={class:`text-body2 text-grey-5 q-mt-xs`},Xp={class:`text-caption text-grey-6 q-mt-xs`},Zp=j({__name:`StartReviewDialog`,props:{modelValue:{type:Boolean},loading:{type:Boolean}},emits:[`update:modelValue`,`submit`],setup(e,{emit:t}){let n=e,r=t,i=S(``),s=S(!1);g(()=>n.modelValue,e=>{e&&(i.value=``,s.value=!1)});function c(){r(`update:modelValue`,!1)}function l(){r(`submit`,{additionalInstructions:i.value,newSession:s.value})}return(t,n)=>(o(),x(Me,{"model-value":e.modelValue,"onUpdate:modelValue":n[2]||=e=>r(`update:modelValue`,e)},{default:a(()=>[v(Ne,{class:`text-grey-3`,style:{"min-width":`480px`,background:`#1e1e3a`}},{default:a(()=>[v(Ke,null,{default:a(()=>[O(`div`,Jp,m(t.$t(`review.title`)),1),O(`div`,Yp,m(t.$t(`review.subtitle`)),1)]),_:1}),v(me,{dark:``}),v(Ke,{class:`q-pt-md`},{default:a(()=>[v(ke,{modelValue:i.value,"onUpdate:modelValue":n[0]||=e=>i.value=e,type:`textarea`,label:t.$t(`review.additionalInstructions`),placeholder:t.$t(`review.additionalInstructionsPlaceholder`),rows:4,outlined:``,dark:``,color:`indigo-4`},null,8,[`modelValue`,`label`,`placeholder`])]),_:1}),v(Ke,{class:`q-pt-none`},{default:a(()=>[v(je,{modelValue:s.value,"onUpdate:modelValue":n[1]||=e=>s.value=e,label:t.$t(`review.newSession`),color:`indigo-4`,dark:``},null,8,[`modelValue`,`label`]),O(`div`,Xp,m(t.$t(`review.newSessionHint`)),1)]),_:1}),v(Ce,{align:`right`,class:`q-pa-md`},{default:a(()=>[v(U,{flat:``,"no-caps":``,label:t.$t(`review.cancel`),color:`grey-5`,onClick:c},null,8,[`label`]),v(U,{"no-caps":``,color:`primary`,label:t.$t(`review.start`),loading:e.loading,onClick:l},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),Qp={class:`tools-panel`},$p={class:`q-px-md q-py-sm`},em={class:`text-caption text-uppercase text-weight-bold text-grey-5 q-mb-xs`},tm={key:0,class:`text-caption text-grey-8`},nm={key:5,class:`text-caption text-grey-8`},rm=nt(j({__name:`ToolsPanel`,props:{workspace:{}},setup(e){let t=e,{t:n}=Oe(),r=dt(),i=Se(),s=Pe(),c=S(!1),l=S(!1),u=S(!1),d=S(!1),f=S(!1),p=S(!1),h=T(()=>{if(!t.workspace)return!1;let e=s.prSnapshots[t.workspace.id];return e?Ie(e):!1}),g=T(()=>t.workspace?.id??``),_=T(()=>t.workspace?!!i.getProjectByPath(t.workspace.projectPath)?.setupScript:!1),y=T(()=>!!i.global.editorCommand),b=T(()=>!!i.global.fileManagerCommand),k=T(()=>We(t.workspace?.status)),A=T(()=>!!t.workspace?.archivedAt);function j(){g.value&&r.dialog({title:n(`tools.runSetupScript`),message:n(`tools.runSetupScriptConfirm`),cancel:!0,persistent:!0,dark:!0}).onOk(async()=>{c.value=!0;try{let e=await fetch(`/api/workspaces/${g.value}/run-setup-script`,{method:`POST`}),t=await e.json();e.ok?r.notify({type:`positive`,message:n(`tools.setupScriptSuccess`),position:`top`,timeout:3e3}):r.notify({type:`negative`,message:t.error??n(`tools.setupScriptFailed`),position:`top`,timeout:6e3})}catch(e){let t=e instanceof Error?e.message:n(`tools.setupScriptFailed`);r.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{c.value=!1}})}async function M(){if(g.value){l.value=!0;try{let e=await fetch(`/api/workspaces/${g.value}/open-editor`,{method:`POST`});if(!e.ok){let t=await e.json();r.notify({type:`negative`,message:t.error??n(`git.openEditorFailed`),position:`top`,timeout:6e3})}}catch(e){let t=e instanceof Error?e.message:n(`git.openEditorFailed`);r.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{l.value=!1}}}async function ee(){if(g.value){u.value=!0;try{let e=await fetch(`/api/workspaces/${g.value}/open-file-manager`,{method:`POST`});if(!e.ok){let t=await e.json();r.notify({type:`negative`,message:t.error??n(`tools.openFileManagerFailed`),position:`top`,timeout:6e3})}}catch(e){let t=e instanceof Error?e.message:n(`tools.openFileManagerFailed`);r.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{u.value=!1}}}function te(e){window.open(e,`_blank`,`noopener,noreferrer`)}async function P(){if(!(!g.value||p.value)){p.value=!0;try{let e=await fetch(`/api/workspaces/${g.value}/start-ci-fix`,{method:`POST`}),t=await e.json();if(!e.ok){r.notify({type:`negative`,message:t.error??n(`tools.fixCiFailed`),position:`top`,timeout:6e3});return}r.notify({type:`positive`,message:n(`tools.fixCiLaunched`),position:`top`,timeout:3e3})}catch(e){let t=e instanceof Error?e.message:n(`tools.fixCiFailed`);r.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{p.value=!1}}}async function F(e){if(g.value){f.value=!0;try{let t=await fetch(`/api/workspaces/${g.value}/start-review`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)}),i=await t.json();if(!t.ok){r.notify({type:`negative`,message:i.error??n(`review.failed`),position:`top`,timeout:6e3});return}r.notify({type:`positive`,message:n(`review.launched`),position:`top`,timeout:3e3}),d.value=!1}catch(e){let t=e instanceof Error?e.message:n(`review.failed`);r.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{f.value=!1}}}return(t,n)=>{let r=N(`router-link`);return o(),E(`div`,Qp,[v(qp,{workspace:e.workspace},null,8,[`workspace`]),v(me,{dark:``}),O(`div`,$p,[O(`div`,em,m(t.$t(`tools.title`)),1),e.workspace?(o(),E(D,{key:1},[v(Fp,{class:`q-mb-md`}),v(U,{"no-caps":``,dense:``,outline:``,color:`indigo-4`,icon:`replay`,label:t.$t(`tools.runSetupScript`),loading:c.value,disable:!_.value||c.value||k.value||A.value,class:`full-width q-mb-xs`,onClick:j},{default:a(()=>[v(K,null,{default:a(()=>[w(m(k.value?t.$t(`tools.runSetupScriptBusy`):t.$t(`tools.runSetupScriptTooltip`)),1)]),_:1})]),_:1},8,[`label`,`loading`,`disable`]),y.value?(o(),x(U,{key:0,"no-caps":``,dense:``,outline:``,color:`indigo-4`,icon:`open_in_new`,label:t.$t(`git.openEditor`),loading:l.value,class:`full-width q-mb-xs`,onClick:M},null,8,[`label`,`loading`])):C(``,!0),b.value?(o(),x(U,{key:1,"no-caps":``,dense:``,outline:``,color:`indigo-4`,icon:`folder_open`,label:t.$t(`tools.openFileManager`),loading:u.value,class:`full-width q-mb-xs`,onClick:ee},{default:a(()=>[v(K,null,{default:a(()=>[w(m(t.$t(`tools.openFileManagerTooltip`)),1)]),_:1})]),_:1},8,[`label`,`loading`])):C(``,!0),v(U,{"no-caps":``,dense:``,outline:``,color:`indigo-4`,icon:`rate_review`,label:t.$t(`tools.review`),loading:f.value,disable:!e.workspace||k.value||A.value,class:`full-width q-mb-xs`,onClick:n[0]||=e=>d.value=!0},{default:a(()=>[v(K,null,{default:a(()=>[w(m(k.value?t.$t(`tools.reviewBusy`):t.$t(`tools.reviewTooltip`)),1)]),_:1})]),_:1},8,[`label`,`loading`,`disable`]),h.value?(o(),x(U,{key:2,"no-caps":``,dense:``,unelevated:``,color:`red-7`,icon:`build_circle`,label:t.$t(`tools.fixCi`),loading:p.value,disable:!e.workspace||A.value||p.value,class:`full-width q-mb-xs`,onClick:P},{default:a(()=>[v(K,null,{default:a(()=>[w(m(t.$t(`tools.fixCiTooltip`)),1)]),_:1})]),_:1},8,[`label`,`loading`,`disable`])):C(``,!0),e.workspace?.notionUrl?(o(),x(U,{key:3,"no-caps":``,dense:``,outline:``,color:`indigo-4`,icon:`open_in_new`,label:t.$t(`tools.openNotion`),class:`full-width q-mb-xs`,onClick:n[1]||=t=>te(e.workspace.notionUrl)},null,8,[`label`])):C(``,!0),e.workspace?.sentryUrl?(o(),x(U,{key:4,"no-caps":``,dense:``,outline:``,color:`indigo-4`,icon:`open_in_new`,label:t.$t(`tools.openSentry`),class:`full-width q-mb-xs`,onClick:n[2]||=t=>te(e.workspace.sentryUrl)},null,8,[`label`])):C(``,!0),_.value?C(``,!0):(o(),E(`div`,nm,[w(m(t.$t(`tools.noSetupScript`))+` `,1),v(r,{to:`/settings`,style:{color:`#6c63ff`}},{default:a(()=>[w(m(t.$t(`devServer.goToSettings`)),1)]),_:1})]))],64)):(o(),E(`div`,tm,m(t.$t(`devServer.noWorkspace`)),1))]),v(Zp,{modelValue:d.value,"onUpdate:modelValue":n[3]||=e=>d.value=e,loading:f.value,onSubmit:F},null,8,[`modelValue`,`loading`])])}}}),[[`__scopeId`,`data-v-246c1768`]]),im={class:`text-h6`},am={class:`text-subtitle2 text-indigo-3 q-mb-xs`},om=[`innerHTML`],sm=nt(j({__name:`WhatsNewDialog`,props:{modelValue:{type:Boolean},versions:{}},emits:[`update:modelValue`],setup(e){function t(e){return et(e)}return(n,r)=>(o(),x(Me,{"model-value":e.modelValue,"onUpdate:modelValue":r[0]||=e=>n.$emit(`update:modelValue`,e)},{default:a(()=>[v(Ne,{class:`text-grey-3`,style:{"min-width":`480px`,"max-width":`90vw`,background:`#1e1e3a`}},{default:a(()=>[v(Ke,{class:`row items-center q-pb-none`},{default:a(()=>[v(B,{name:`auto_awesome`,size:`sm`,color:`indigo-4`,class:`q-mr-sm`}),O(`div`,im,m(n.$t(`whatsNew.title`)),1),v(it),s(v(U,{flat:``,dense:``,round:``,icon:`close`,color:`grey-5`},null,512),[[ut]])]),_:1}),v(Ke,{style:{"max-height":`60vh`,"overflow-y":`auto`}},{default:a(()=>[(o(!0),E(D,null,p(e.versions,e=>(o(),E(`div`,{key:e.version,class:`q-mb-md`},[O(`div`,am,m(e.version),1),O(`div`,{class:`whats-new-notes`,innerHTML:t(e.notes)},null,8,om)]))),128))]),_:1}),v(Ce,{align:`right`},{default:a(()=>[s(v(U,{flat:``,label:n.$t(`common.close`),color:`primary`},null,8,[`label`]),[[ut]])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),[[`__scopeId`,`data-v-434e72f8`]]),cm={class:`text-subtitle1`},lm={class:`text-caption text-grey-6 q-mt-xs`},um={key:1,class:`text-caption text-orange-5 q-mt-sm`},dm={key:2,class:`text-grey-6 text-caption`},fm=j({__name:`ManageTagsDialog`,props:{modelValue:{type:Boolean},workspace:{}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,{t:i}=Oe(),s=Se(),c=Pe(),l=dt(),u=S([]),d=S(!1);g(()=>n.modelValue,e=>{e&&(u.value=[...n.workspace.tags])},{immediate:!0});let f=T(()=>{let e=s.global.tags??[],t=n.workspace.tags??[];return Array.from(new Set([...e,...t]))}),p=T(()=>{let e=new Set(s.global.tags??[]);return(n.workspace.tags??[]).filter(t=>!e.has(t))});async function h(){d.value=!0;try{await c.setWorkspaceTags(n.workspace.id,u.value),r(`update:modelValue`,!1)}catch(e){l.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}finally{d.value=!1}}function _(){r(`update:modelValue`,!1)}return(t,n)=>(o(),x(Me,{"model-value":e.modelValue,"onUpdate:modelValue":n[1]||=e=>r(`update:modelValue`,e)},{default:a(()=>[v(Ne,{dark:``,style:{"min-width":`360px`}},{default:a(()=>[v(Ke,null,{default:a(()=>[O(`div`,cm,m(t.$t(`tags.manageTitle`)),1),O(`div`,lm,m(e.workspace.name),1)]),_:1}),v(Ke,null,{default:a(()=>[f.value.length>0?(o(),x(Ue,{key:0,modelValue:u.value,"onUpdate:modelValue":n[0]||=e=>u.value=e,options:f.value.map(e=>({label:p.value.includes(e)?`${e}`:e,value:e})),type:`checkbox`,dense:``,dark:``},null,8,[`modelValue`,`options`])):C(``,!0),p.value.length>0?(o(),E(`div`,um,m(t.$t(`tags.orphanedHint`,{count:p.value.length})),1)):C(``,!0),f.value.length===0?(o(),E(`div`,dm,m(t.$t(`tags.noTagsDefined`)),1)):C(``,!0)]),_:1}),v(Ce,{align:`right`},{default:a(()=>[v(U,{flat:``,label:t.$t(`common.cancel`),onClick:_},null,8,[`label`]),v(U,{color:`primary`,label:t.$t(`common.save`),loading:d.value,onClick:h},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),pm={"awaiting-user":{kind:`awaiting-user`,icon:`help`,color:`amber-5`},error:{kind:`error`,icon:`warning`,color:`red-5`},quota:{kind:`quota`,icon:`warning`,color:`red-5`}};function mm(e,t){let n=[],r=pm[e.status];return r&&n.push(r),t&&Ie(t)&&!hm(e.prCiFailureDismissedAt,t)&&n.push({kind:`ci-failed`,icon:`cancel`,color:`red-5`}),t&&Fe(t)&&!hm(e.prChangesDismissedAt,t)&&n.push({kind:`changes-requested`,icon:`rate_review`,color:`red-5`}),n}function hm(e,t){return e?t.updatedAt<=e:!1}var gm={key:0,class:`text-caption q-mt-xs`},_m={key:1,class:`q-ml-xs text-grey-8`},vm=j({__name:`WorkspaceAttentionLabels`,props:{workspace:{}},setup(e){let t=e,n=Pe(),r=dt(),{t:i}=Oe(),{timeAgo:s}=St(),c=T(()=>mm(t.workspace,n.prSnapshots[t.workspace.id])),l=S(!1);async function u(){if(!l.value){l.value=!0;try{let e=await fetch(`/api/workspaces/${t.workspace.id}/start-ci-fix`,{method:`POST`}),n=await e.json().catch(()=>({}));if(!e.ok){r.notify({type:`negative`,message:n.error??i(`tools.fixCiFailed`),position:`top`,timeout:6e3});return}r.notify({type:`positive`,message:i(`tools.fixCiLaunched`),position:`top`,timeout:3e3})}catch(e){let t=e instanceof Error?e.message:i(`tools.fixCiFailed`);r.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{l.value=!1}}}function d(e){switch(e){case`awaiting-user`:return i(`workspaceStatus.awaitingUser`);case`ci-failed`:return i(`workspaceList.attentionCiFailed`);case`changes-requested`:return i(`workspaceList.attentionChangesRequested`);default:return e}}return(t,n)=>c.value.length>0?(o(),E(`div`,gm,[(o(!0),E(D,null,p(c.value,(t,n)=>(o(),E(`div`,{key:t.kind,class:`row items-center no-wrap`},[v(B,{name:t.icon,size:`xs`,color:t.color,class:`q-mr-xs`},null,8,[`name`,`color`]),O(`span`,{class:M(`text-${t.color}`)},m(d(t.kind)),3),t.kind===`ci-failed`&&!e.workspace.archivedAt?(o(),x(U,{key:0,flat:``,dense:``,round:``,size:`xs`,color:`red-4`,icon:`build_circle`,class:`q-ml-xs`,loading:l.value,disable:l.value,onClick:L(u,[`stop`])},{default:a(()=>[v(K,null,{default:a(()=>[w(m(y(i)(`tools.fixCiTooltip`)),1)]),_:1})]),_:1},8,[`loading`,`disable`])):C(``,!0),n===c.value.length-1?(o(),E(`span`,_m,` · `+m(y(s)(e.workspace.updatedAt)),1)):C(``,!0)]))),128))])):C(``,!0)}}),ym=j({__name:`WorkspaceContextMenu`,props:{workspace:{},archived:{type:Boolean,default:!1}},emits:[`rename`,`editDescription`,`copyPath`,`openEditor`,`openFileManager`,`runSetup`,`toggleFavorite`,`manageTags`,`archive`,`unarchive`,`delete`],setup(e,{emit:t}){let n=e,r=t;function i(e){window.open(e,`_blank`,`noopener,noreferrer`)}let c=dt(),{t:l}=Oe();async function u(){let e=c.notify({spinner:!0,message:l(`contextMenu.exportingEvents`),timeout:0,group:!1});try{let e=await fetch(`/api/workspaces/${n.workspace.id}/events.csv`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.blob(),r=URL.createObjectURL(t),i=n.workspace.name.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``),a=document.createElement(`a`);a.href=r,a.download=`${i||`workspace`}-events.csv`,document.body.appendChild(a),a.click(),a.remove(),URL.revokeObjectURL(r)}catch(e){console.error(`[WorkspaceContextMenu] export events failed:`,e),c.notify({type:`negative`,message:l(`contextMenu.exportEventsError`),position:`top`})}finally{e()}}let d=Se(),f=Pe(),p=T(()=>f.gitStatsCache[n.workspace.id]?.prUrl??null),h=T(()=>f.prSnapshots[n.workspace.id]),g=T(()=>{let e=h.value;if(!e||!Fe(e))return!1;let t=n.workspace.prChangesDismissedAt;return!t||e.updatedAt>t}),_=T(()=>{let e=h.value;if(!e||!Ie(e))return!1;let t=n.workspace.prCiFailureDismissedAt;return!t||e.updatedAt>t});function b(e){f.dismissPrAttention(n.workspace.id,e)}return(t,n)=>(o(),x(lt,{dark:``,"context-menu":``},{default:a(()=>[v(ct,{dense:``,style:{"min-width":`180px`}},{default:a(()=>[s((o(),x(W,{clickable:``,onClick:n[0]||=t=>r(`rename`,e.workspace)},{default:a(()=>[v(G,{side:``},{default:a(()=>[v(B,{name:`edit`,size:`xs`})]),_:1}),v(G,null,{default:a(()=>[w(m(t.$t(`contextMenu.rename`)),1)]),_:1})]),_:1})),[[ut]]),s((o(),x(W,{clickable:``,onClick:n[1]||=t=>r(`editDescription`,e.workspace)},{default:a(()=>[v(G,{side:``},{default:a(()=>[v(B,{name:`description`,size:`xs`})]),_:1}),v(G,null,{default:a(()=>[w(m(t.$t(`contextMenu.editDescription`)),1)]),_:1})]),_:1})),[[ut]]),s((o(),x(W,{clickable:``,onClick:n[2]||=t=>r(`copyPath`,e.workspace)},{default:a(()=>[v(G,{side:``},{default:a(()=>[v(B,{name:`content_copy`,size:`xs`})]),_:1}),v(G,null,{default:a(()=>[w(m(t.$t(`contextMenu.copyPath`)),1)]),_:1})]),_:1})),[[ut]]),y(d).global.editorCommand?s((o(),x(W,{key:0,clickable:``,onClick:n[3]||=t=>r(`openEditor`,e.workspace)},{default:a(()=>[v(G,{side:``},{default:a(()=>[v(B,{name:`open_in_new`,size:`xs`})]),_:1}),v(G,null,{default:a(()=>[w(m(t.$t(`contextMenu.openEditor`)),1)]),_:1})]),_:1})),[[ut]]):C(``,!0),y(d).global.fileManagerCommand?s((o(),x(W,{key:1,clickable:``,onClick:n[4]||=t=>r(`openFileManager`,e.workspace)},{default:a(()=>[v(G,{side:``},{default:a(()=>[v(B,{name:`folder_open`,size:`xs`})]),_:1}),v(G,null,{default:a(()=>[w(m(t.$t(`contextMenu.openFileManager`)),1)]),_:1})]),_:1})),[[ut]]):C(``,!0),s((o(),x(W,{clickable:``,onClick:n[5]||=t=>r(`runSetup`,e.workspace)},{default:a(()=>[v(G,{side:``},{default:a(()=>[v(B,{name:`replay`,size:`xs`})]),_:1}),v(G,null,{default:a(()=>[w(m(t.$t(`contextMenu.runSetup`)),1)]),_:1})]),_:1})),[[ut]]),s((o(),x(W,{clickable:``,onClick:n[6]||=t=>r(`toggleFavorite`,e.workspace)},{default:a(()=>[v(G,{side:``},{default:a(()=>[v(B,{name:e.workspace.favoritedAt?`star`:`star_outline`,size:`xs`},null,8,[`name`])]),_:1}),v(G,null,{default:a(()=>[w(m(e.workspace.favoritedAt?t.$t(`workspace.unfavorite`):t.$t(`workspace.favorite`)),1)]),_:1})]),_:1})),[[ut]]),s((o(),x(W,{clickable:``,onClick:n[7]||=t=>r(`manageTags`,e.workspace)},{default:a(()=>[v(G,{side:``},{default:a(()=>[v(B,{name:`label`,size:`xs`})]),_:1}),v(G,null,{default:a(()=>[w(m(t.$t(`tags.manage`)),1)]),_:1})]),_:1})),[[ut]]),e.workspace.notionUrl?s((o(),x(W,{key:2,clickable:``,onClick:n[8]||=t=>i(e.workspace.notionUrl)},{default:a(()=>[v(G,{side:``},{default:a(()=>[v(B,{name:`open_in_new`,size:`xs`})]),_:1}),v(G,null,{default:a(()=>[w(m(t.$t(`contextMenu.openNotion`)),1)]),_:1})]),_:1})),[[ut]]):C(``,!0),e.workspace.sentryUrl?s((o(),x(W,{key:3,clickable:``,onClick:n[9]||=t=>i(e.workspace.sentryUrl)},{default:a(()=>[v(G,{side:``},{default:a(()=>[v(B,{name:`open_in_new`,size:`xs`})]),_:1}),v(G,null,{default:a(()=>[w(m(t.$t(`contextMenu.openSentry`)),1)]),_:1})]),_:1})),[[ut]]):C(``,!0),p.value?s((o(),x(W,{key:4,clickable:``,onClick:n[10]||=e=>i(p.value)},{default:a(()=>[v(G,{side:``},{default:a(()=>[v(B,{name:`merge_type`,size:`xs`})]),_:1}),v(G,null,{default:a(()=>[w(m(t.$t(`contextMenu.openPr`)),1)]),_:1})]),_:1})),[[ut]]):C(``,!0),s((o(),x(W,{clickable:``,onClick:u},{default:a(()=>[v(G,{side:``},{default:a(()=>[v(B,{name:`download`,size:`xs`})]),_:1}),v(G,null,{default:a(()=>[w(m(t.$t(`contextMenu.exportEvents`)),1)]),_:1})]),_:1})),[[ut]]),g.value?s((o(),x(W,{key:5,clickable:``,onClick:n[11]||=e=>b(`changes-requested`)},{default:a(()=>[v(G,{side:``},{default:a(()=>[v(B,{name:`visibility_off`,size:`xs`,color:`amber-5`})]),_:1}),v(G,null,{default:a(()=>[w(m(t.$t(`contextMenu.dismissChangesRequested`)),1)]),_:1})]),_:1})),[[ut]]):C(``,!0),_.value?s((o(),x(W,{key:6,clickable:``,onClick:n[12]||=e=>b(`ci-failed`)},{default:a(()=>[v(G,{side:``},{default:a(()=>[v(B,{name:`visibility_off`,size:`xs`,color:`amber-5`})]),_:1}),v(G,null,{default:a(()=>[w(m(t.$t(`contextMenu.dismissCiFailure`)),1)]),_:1})]),_:1})),[[ut]]):C(``,!0),v(me,{dark:``}),e.archived?s((o(),x(W,{key:7,clickable:``,onClick:n[13]||=t=>r(`unarchive`,e.workspace,t)},{default:a(()=>[v(G,{side:``},{default:a(()=>[v(B,{name:`unarchive`,size:`xs`})]),_:1}),v(G,null,{default:a(()=>[w(m(t.$t(`common.unarchive`)),1)]),_:1})]),_:1})),[[ut]]):s((o(),x(W,{key:8,clickable:``,onClick:n[14]||=t=>r(`archive`,e.workspace,t)},{default:a(()=>[v(G,{side:``},{default:a(()=>[v(B,{name:`archive`,size:`xs`})]),_:1}),v(G,null,{default:a(()=>[w(m(t.$t(`common.archive`)),1)]),_:1})]),_:1})),[[ut]]),s((o(),x(W,{clickable:``,class:`text-red-5`,onClick:n[15]||=t=>r(`delete`,e.workspace,t)},{default:a(()=>[v(G,{side:``},{default:a(()=>[v(B,{name:`delete_outline`,size:`xs`,color:`red-5`})]),_:1}),v(G,null,{default:a(()=>[w(m(t.$t(`common.delete`)),1)]),_:1})]),_:1})),[[ut]])]),_:1})]),_:1}))}}),bm={key:0,class:`dd-dot dd-dot--running`},xm=nt(j({__name:`WorkspaceDrawerIndicators`,props:{workspace:{}},setup(e){let t=e,n=Be(),r=Pe(),{t:i}=Oe(),s=T(()=>r.autoLoopStates[t.workspace.id]?.crons_count??0),c=T(()=>r.prSnapshots[t.workspace.id]),l=T(()=>{let e=c.value;return e?Ie(e)?i(`workspaceList.attentionCiFailed`):Fe(e)?i(`workspaceList.prChangesRequested`,{n:e.number}):i(`workspaceList.prOpen`,{n:e.number}):``});function u(){let e=c.value?.url;e&&window.open(e,`_blank`,`noopener,noreferrer`)}return(t,d)=>(o(),E(D,null,[y(n).getStatus(e.workspace.id)?.status===`running`?(o(),E(`div`,bm)):C(``,!0),y(r).pendingWakeups[e.workspace.id]?(o(),x(B,{key:1,name:`schedule`,size:`14px`,color:`amber-4`},{default:a(()=>[v(K,null,{default:a(()=>[w(m(y(i)(`wakeup.pendingIndicator`)),1)]),_:1})]),_:1})):C(``,!0),s.value>0?(o(),x(B,{key:2,name:`event_repeat`,size:`14px`,color:`cyan-4`},{default:a(()=>[v(K,null,{default:a(()=>[w(m(y(i)(`cron.pendingIndicator`,{n:s.value})),1)]),_:1})]),_:1})):C(``,!0),c.value?.state===`OPEN`?(o(),x(B,{key:3,name:`merge_type`,size:`14px`,color:`green-5`,class:`cursor-pointer`,onClick:L(u,[`stop`])},{default:a(()=>[v(K,null,{default:a(()=>[w(m(l.value),1)]),_:1})]),_:1})):C(``,!0),y(r).autoLoopStates[e.workspace.id]?.auto_loop?(o(),x(B,{key:4,name:`autorenew`,size:`14px`,color:y(r).autoLoopStates[e.workspace.id]?.auto_loop_ready?`amber-4`:`indigo-4`,class:`auto-loop-spin`},{default:a(()=>[v(K,null,{default:a(()=>[w(m(y(r).autoLoopStates[e.workspace.id]?.auto_loop_ready?y(i)(`autoLoop.running`):y(i)(`autoLoop.preparing`)),1)]),_:1})]),_:1},8,[`color`])):C(``,!0)],64))}}),[[`__scopeId`,`data-v-29b434eb`]]),Sm={class:`workspace-list row column full-height`,"data-tour":`workspace-list`},Cm={class:`row items-center no-wrap q-pl-md q-pr-xs q-py-sm`},wm={class:`text-caption text-uppercase text-weight-bold text-grey-6 col ellipsis`},Tm={class:`col items-center justify-end row`},Em={class:`q-px-md q-pb-sm row items-center no-wrap q-gutter-xs`},Dm={class:`col overflow-auto`},Om={key:0,class:`wl-group q-mt-xs`},km={class:`text-caption text-weight-bold q-ml-xs text-red-5`},Am={class:`wl-project-label q-px-md q-pt-xs`},jm=[`onClick`],Mm={class:`col`,style:{"min-width":`0`}},Nm={class:`row items-center no-wrap q-gutter-xs`},Pm=[`title`],Fm={key:1,class:`row q-gutter-xs q-mt-xs`},Im=[`onClick`],Lm={class:`col`,style:{"min-width":`0`}},Rm={class:`row items-center no-wrap q-gutter-xs`},zm=[`title`],Bm={key:1,class:`row q-gutter-xs q-mt-xs`},Vm={key:1,class:`wl-group q-mt-xs`},Hm={class:`text-caption text-weight-bold q-ml-xs text-green-4`},Um={class:`wl-project-label q-px-md q-pt-xs`},Wm=[`onClick`],Gm={class:`col`,style:{"min-width":`0`}},Km={class:`row items-center no-wrap q-gutter-xs`},qm=[`title`],Jm={class:`text-caption q-mt-xs`},Ym={class:`text-green-4`},Xm={class:`q-ml-xs text-grey-8`},Zm={key:1,class:`row q-gutter-xs q-mt-xs`},Qm=[`onClick`],$m={class:`col`,style:{"min-width":`0`}},eh={class:`row items-center no-wrap q-gutter-xs`},th=[`title`],nh={class:`text-caption q-mt-xs`},rh={class:`text-green-4`},ih={class:`q-ml-xs text-grey-8`},ah={key:1,class:`row q-gutter-xs q-mt-xs`},oh={key:2,class:`wl-group q-mt-xs`},sh={class:`text-caption text-weight-bold q-ml-xs text-grey-6`},ch={class:`wl-project-label q-px-md q-pt-xs`},lh=[`onClick`],uh={class:`col`,style:{"min-width":`0`}},dh={class:`row items-center no-wrap q-gutter-xs`},fh=[`title`],ph={class:`wl-item-meta text-caption text-grey-8`},mh={key:1,class:`row q-gutter-xs q-mt-xs`},hh=[`onClick`],gh={class:`col`,style:{"min-width":`0`}},_h={class:`row items-center no-wrap q-gutter-xs`},vh=[`title`],yh={class:`wl-item-meta text-caption text-grey-8`},bh={key:1,class:`row q-gutter-xs q-mt-xs`},xh={key:3,class:`wl-group q-mt-xs`},Sh={class:`text-caption text-weight-bold q-ml-xs text-grey-7`},Ch=[`onClick`],wh={class:`col`,style:{"min-width":`0`}},Th={class:`wl-item-name text-body2 text-grey-5 ellipsis`,style:{"max-width":`400px`}},Eh=[`title`],Dh={class:`wl-item-meta text-caption text-grey-8`},Oh={key:1,class:`row q-gutter-xs q-mt-xs`},kh={key:4,class:`q-pa-lg text-center text-grey-6 text-caption`},Ah={class:`q-px-md q-py-xs text-caption text-grey-8`},jh={class:`text-h6`},Mh={class:`text-body2 q-mb-sm text-grey-6`},Nh={class:`text-caption q-mb-md text-grey-7`,style:{"font-family":`monospace`}},Ph={class:`column q-gutter-xs`},Fh={key:0,class:`text-caption q-mt-sm text-red-5`},Ih={class:`text-h6`},Lh={class:`text-body2 q-mb-md text-grey-6`},Rh={class:`column q-gutter-xs`},zh={key:0,class:`text-caption q-mt-sm text-red-5`},Bh=nt(j({__name:`WorkspaceList`,setup(e){let{t:n}=Oe(),r=dt(),{timeAgo:i}=St(),c=Pe(),l=ze(),d=Be(),f=Se(),h=Le();function _(e){return mm(e,c.prSnapshots[e.id]).some(e=>e.color===`red-5`)?`#ef4444`:`#f59e0b`}let b=null,k=S(``),j=S(localStorage.getItem(`kobo:favorites-filter`)===`1`);g(j,e=>localStorage.setItem(`kobo:favorites-filter`,e?`1`:`0`));let N=S(localStorage.getItem(`kobo:search-archived`)===`1`);g(N,e=>localStorage.setItem(`kobo:search-archived`,e?`1`:`0`));let ee=S(!1),te=S(null);function P(e){te.value=e,ee.value=!0}function F(e){let t=new Map;for(let n of e){let e=n.projectPath;t.has(e)||t.set(e,[]),t.get(e).push(n)}return[...t.entries()].map(([e,t])=>({projectPath:e,projectName:Ct(e),projectColor:f.getProjectByPath(e)?.color??null,workspaces:t}))}let I=T(()=>c.needsAttention.filter(e=>e.name.toLowerCase().includes(k.value.toLowerCase())).filter(e=>!j.value||e.favoritedAt!==null)),re=T(()=>c.running.filter(e=>e.name.toLowerCase().includes(k.value.toLowerCase())).filter(e=>!j.value||e.favoritedAt!==null)),ie=T(()=>c.idle.filter(e=>e.name.toLowerCase().includes(k.value.toLowerCase())).filter(e=>!j.value||e.favoritedAt!==null)),ae=T(()=>F(I.value)),oe=T(()=>F(re.value)),se=T(()=>F(ie.value)),R=T(()=>f.global.flattenWorkspaceList??!1),z=T(()=>I.value),ce=T(()=>re.value),le=T(()=>ie.value),ue=T(()=>{let e=k.value.toLowerCase();return c.archived.filter(t=>!N.value||e.length===0||t.name.toLowerCase().includes(e)).filter(e=>!j.value||e.favoritedAt!==null)}),de=T(()=>N.value&&k.value.length>0&&ue.value.length>0),fe=T(()=>c.workspaces.length),pe=T(()=>c.running.length),he=S(!0),ge=S(!0),_e=S(!0),V=S(!1);async function ve(){V.value=!V.value,V.value&&!c.archivedLoaded&&await c.fetchArchivedWorkspaces()}let ye=S(!1),be=S(null),xe=S(!1),H=S(!1),we=S(!1),Te=S(!1),Ee=S(!1),De=S(!1),je=S(!1);function Fe(e,t){t.stopPropagation(),be.value=e,xe.value=!0,H.value=!1,ye.value=!0}async function Ie(){if(!be.value)return;let e=be.value.id;we.value=!0;try{let{warnings:t}=await c.deleteWorkspace(e,{deleteLocalBranch:xe.value,deleteRemoteBranch:H.value});l.unsubscribe(e),ye.value=!1,c.selectedWorkspaceId===null&&h.push({name:`workspace`});for(let e of t)r.notify({type:`warning`,message:e,position:`top`,timeout:0,multiLine:!0,classes:`workspace-delete-warning`,actions:[{icon:`content_copy`,color:`white`,round:!0,handler:()=>{navigator.clipboard.writeText(e)}},{label:`OK`,color:`white`,handler:()=>void 0}]})}catch(e){console.error(`Delete failed:`,e)}finally{we.value=!1}}function Re(){Ee.value=!1,De.value=!1,Te.value=!0}async function Ve(){je.value=!0;try{let{warnings:e,ids:t}=await c.deleteAllArchived({deleteLocalBranch:Ee.value,deleteRemoteBranch:De.value});for(let e of t)l.unsubscribe(e);Te.value=!1,c.selectedWorkspaceId===null&&h.push({name:`workspace`});for(let t of e)r.notify({type:`warning`,message:t,position:`top`,timeout:0,multiLine:!0,classes:`workspace-delete-warning`,actions:[{icon:`content_copy`,color:`white`,round:!0,handler:()=>{navigator.clipboard.writeText(t)}},{label:`OK`,color:`white`,handler:()=>void 0}]})}catch(e){console.error(`Bulk delete archived failed:`,e)}finally{je.value=!1}}async function He(e,t){t.stopPropagation();try{await c.archiveWorkspace(e.id),c.selectedWorkspaceId===null&&h.push({name:`workspace`})}catch(e){console.error(`Archive failed:`,e)}}async function Ue(e,t){t.stopPropagation();try{await c.unarchiveWorkspace(e.id),f.getProjectByPath(e.projectPath)?.devServer?.startCommand&&d.fetchStatus(e.id)}catch(e){console.error(`Unarchive failed:`,e)}}function Ge(e){c.selectWorkspace(e),h.push({name:`workspace`,params:{id:e}})}function qe(e){navigator.clipboard.writeText(e.worktreePath).catch(()=>{})}function W(e){r.dialog({title:n(`contextMenu.rename`),dark:!0,prompt:{model:e.name,isValid:e=>e.trim().length>0,type:`text`},cancel:{flat:!0,label:n(`common.cancel`),color:`grey-5`},ok:{unelevated:!0,label:n(`common.save`),color:`indigo-6`}}).onOk(async t=>{let n=t.trim();if(!(!n||n===e.name))try{await c.renameWorkspace(e.id,n)}catch(e){let t=e instanceof Error?e.message:String(e);r.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}})}function G(e){r.dialog({title:n(`contextMenu.editDescription`),message:n(`workspace.descriptionDialogHint`),dark:!0,prompt:{model:e.description??``,isValid:e=>e.length<=200,type:`textarea`},cancel:{flat:!0,label:n(`common.cancel`),color:`grey-5`},ok:{unelevated:!0,label:n(`common.save`),color:`indigo-6`}}).onOk(async t=>{let n=t.trim(),i=n.length>0?n:null;if(i!==(e.description??null))try{await c.updateWorkspaceDescription(e.id,i)}catch(e){let t=e instanceof Error?e.message:String(e);r.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}})}async function Je(e){try{let t=await fetch(`/api/workspaces/${e.id}/open-editor`,{method:`POST`});if(!t.ok){let e=await t.json();console.error(`[workspace-list] open-editor failed:`,e.error)}}catch(e){console.error(`[workspace-list] open-editor failed:`,e)}}async function Ye(e){try{let t=await fetch(`/api/workspaces/${e.id}/open-file-manager`,{method:`POST`});if(!t.ok){let e=await t.json().catch(()=>({}));r.notify({type:`negative`,message:e.error??n(`tools.openFileManagerFailed`),position:`top`,timeout:6e3})}}catch(e){let t=e instanceof Error?e.message:n(`tools.openFileManagerFailed`);r.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}}function Xe(e){c.toggleFavorite(e.id).catch(e=>{r.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})})}function Ze(e){if(We(e.status)){r.notify({type:`warning`,message:n(`tools.runSetupScriptBusy`),position:`top`,timeout:4e3});return}r.dialog({title:n(`tools.runSetupScript`),message:n(`tools.runSetupScriptConfirm`),cancel:!0,persistent:!0,dark:!0}).onOk(async()=>{try{await fetch(`/api/workspaces/${e.id}/run-setup-script`,{method:`POST`})}catch(e){console.error(`[workspace-list] run-setup-script failed:`,e)}})}function Qe(){h.push({name:`create`})}function $e(){h.push({name:`settings`})}function et(){h.push({name:`search`})}function tt(){h.push({name:`health`})}function nt(){h.push({name:`changelog`})}return u(async()=>{await c.fetchWorkspaces(),await c.fetchArchivedWorkspaces(),c.fetchPrSnapshots(),c.fetchAutoLoopStates(),await f.fetchSettings();for(let e of c.workspaces)l.subscribe(e.id),f.getProjectByPath(e.projectPath)?.devServer?.startCommand&&d.fetchStatus(e.id);b=setInterval(()=>{c.fetchWorkspacesInfo()},3e4)}),t(()=>{b&&=(clearInterval(b),null)}),(e,t)=>(o(),E(D,null,[O(`div`,Sm,[O(`div`,Cm,[O(`span`,wm,m(e.$t(`workspaceList.title`)),1),O(`div`,Tm,[y(l).connected?(o(),x(rt,{key:0,rounded:``,color:`positive`,class:`q-ml-xs`})):(o(),x(rt,{key:1,rounded:``,color:`negative`,class:`q-ml-xs`})),v(U,{flat:``,round:``,dense:``,icon:`search`,class:`q-ml-xs`,size:`sm`,color:`grey-5`,onClick:et},{default:a(()=>[v(K,null,{default:a(()=>[w(m(e.$t(`search.tooltip`)),1)]),_:1})]),_:1}),v(U,{flat:``,round:``,dense:``,icon:`monitor_heart`,class:`q-ml-xs`,size:`sm`,color:`grey-5`,"data-tour":`health`,onClick:tt},{default:a(()=>[v(K,null,{default:a(()=>[w(m(e.$t(`health.tooltip`)),1)]),_:1})]),_:1}),v(U,{flat:``,round:``,dense:``,icon:`history_edu`,class:`q-ml-xs`,size:`sm`,color:`grey-5`,"data-tour":`changelog`,onClick:nt},{default:a(()=>[v(K,null,{default:a(()=>[w(m(e.$t(`changelog.tooltip`)),1)]),_:1})]),_:1}),v(U,{flat:``,round:``,dense:``,icon:`settings`,class:`q-ml-xs`,size:`sm`,color:`grey-5`,"data-tour":`settings`,onClick:$e}),v(U,{flat:``,round:``,dense:``,icon:`add`,size:`sm`,color:`grey-5`,"data-tour":`create-workspace`,onClick:Qe})])]),O(`div`,Em,[v(ke,{modelValue:k.value,"onUpdate:modelValue":t[0]||=e=>k.value=e,dense:``,dark:``,placeholder:e.$t(`common.search`),class:`wl-search rounded-borders col`,borderless:``,"data-tour":`search`},{prepend:a(()=>[v(B,{name:`search`,size:`xs`,color:`grey-6`})]),_:1},8,[`modelValue`,`placeholder`]),v(U,{icon:j.value?`star`:`star_outline`,color:j.value?`amber-7`:`grey-7`,flat:``,dense:``,round:``,size:`sm`,onClick:t[1]||=e=>j.value=!j.value},{default:a(()=>[v(K,null,{default:a(()=>[w(m(e.$t(`workspace.showFavoritesOnly`)),1)]),_:1})]),_:1},8,[`icon`,`color`]),v(U,{icon:`inventory_2`,color:N.value?`indigo-4`:`grey-7`,flat:``,dense:``,round:``,size:`sm`,onClick:t[2]||=e=>N.value=!N.value},{default:a(()=>[v(K,null,{default:a(()=>[w(m(e.$t(`workspace.searchArchivedToggle`)),1)]),_:1})]),_:1},8,[`color`])]),v(me,{dark:``}),O(`div`,Dm,[I.value.length>0?(o(),E(`div`,Om,[O(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:t[3]||=e=>he.value=!he.value},[v(B,{name:he.value?`expand_more`:`chevron_right`,size:`xs`,color:`red-5`},null,8,[`name`]),O(`span`,km,m(e.$t(`workspaceList.needsAttention`)),1),v(rt,{label:I.value.length,color:`red-9`,"text-color":`white`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])]),s(O(`div`,null,[R.value?(o(!0),E(D,{key:1},p(z.value,e=>(o(),E(`div`,{key:e.id,class:M([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":e.id===y(c).selectedWorkspaceId}]),style:A([{borderLeft:`3px solid ${_(e)}`},e.favoritedAt?{borderBottom:`2px solid #f59e0b`}:{}]),onClick:t=>Ge(e.id),onContextmenu:t[5]||=L(()=>{},[`prevent`])},[v(ym,{workspace:e,onRename:W,onEditDescription:G,onCopyPath:qe,onOpenEditor:Je,onOpenFileManager:Ye,onRunSetup:Ze,onToggleFavorite:Xe,onManageTags:P,onArchive:He,onDelete:Fe},null,8,[`workspace`]),O(`div`,Lm,[O(`div`,Rm,[v(xm,{workspace:e},null,8,[`workspace`]),O(`div`,{class:`wl-item-name text-body2 text-grey-3 ellipsis`,style:A({fontWeight:e.hasUnread?700:400,opacity:e.hasUnread?1:.75,maxWidth:`400px`})},[w(m(e.name)+` `,1),v(K,null,{default:a(()=>[w(m(e.name),1)]),_:2},1024)],4)]),e.agentDescription||e.description?(o(),E(`div`,{key:0,class:`text-caption text-grey-7 ellipsis q-mt-xs`,title:e.agentDescription||e.description,style:{"max-width":`100%`,"font-size":`11px`}},m(e.agentDescription||e.description),9,zm)):C(``,!0),v(_t,{workspace:e,class:`q-mt-xs`},null,8,[`workspace`]),v(vm,{workspace:e},null,8,[`workspace`]),R.value||e.tags.length>0?(o(),E(`div`,Bm,[R.value?(o(),x(xt,{key:0,dense:``,size:`sm`,color:y(Et)(e)??`grey-8`,"text-color":y(Tt)(e),label:y(wt)(e)},null,8,[`color`,`text-color`,`label`])):C(``,!0),(o(!0),E(D,null,p(e.tags,e=>(o(),x(xt,{key:e,dense:``,size:`sm`,color:`grey-8`,"text-color":`grey-3`,label:e},null,8,[`label`]))),128))])):C(``,!0)])],46,Im))),128)):(o(!0),E(D,{key:0},p(ae.value,e=>(o(),E(`div`,{key:e.projectPath,class:`wl-project-group`},[O(`div`,Am,[v(B,{name:`folder`,size:`12px`,color:e.projectColor??`grey-7`,class:`q-mr-xs`},null,8,[`color`]),O(`span`,{class:M([`text-caption`,e.projectColor?`text-${e.projectColor}`:`text-grey-7`])},m(e.projectName),3)]),(o(!0),E(D,null,p(e.workspaces,e=>(o(),E(`div`,{key:e.id,class:M([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":e.id===y(c).selectedWorkspaceId}]),style:A([{borderLeft:`3px solid ${_(e)}`},e.favoritedAt?{borderBottom:`2px solid #f59e0b`}:{}]),onClick:t=>Ge(e.id),onContextmenu:t[4]||=L(()=>{},[`prevent`])},[v(ym,{workspace:e,onRename:W,onEditDescription:G,onCopyPath:qe,onOpenEditor:Je,onOpenFileManager:Ye,onRunSetup:Ze,onToggleFavorite:Xe,onManageTags:P,onArchive:He,onDelete:Fe},null,8,[`workspace`]),O(`div`,Mm,[O(`div`,Nm,[v(xm,{workspace:e},null,8,[`workspace`]),O(`div`,{class:`wl-item-name text-body2 text-grey-3 ellipsis`,style:A({fontWeight:e.hasUnread?700:400,opacity:e.hasUnread?1:.75,maxWidth:`400px`})},[w(m(e.name)+` `,1),v(K,null,{default:a(()=>[w(m(e.name),1)]),_:2},1024)],4)]),e.agentDescription||e.description?(o(),E(`div`,{key:0,class:`text-caption text-grey-7 ellipsis q-mt-xs`,title:e.agentDescription||e.description,style:{"max-width":`100%`,"font-size":`11px`}},m(e.agentDescription||e.description),9,Pm)):C(``,!0),v(_t,{workspace:e,class:`q-mt-xs`},null,8,[`workspace`]),v(vm,{workspace:e},null,8,[`workspace`]),e.tags.length>0?(o(),E(`div`,Fm,[(o(!0),E(D,null,p(e.tags,e=>(o(),x(xt,{key:e,dense:``,size:`sm`,color:`grey-8`,"text-color":`grey-3`,label:e},null,8,[`label`]))),128))])):C(``,!0)])],46,jm))),128))]))),128))],512),[[ne,he.value]])])):C(``,!0),re.value.length>0?(o(),E(`div`,Vm,[O(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:t[6]||=e=>ge.value=!ge.value},[v(B,{name:ge.value?`expand_more`:`chevron_right`,size:`xs`,color:`green-5`},null,8,[`name`]),O(`span`,Hm,m(e.$t(`workspaceList.running`)),1),v(rt,{label:re.value.length,color:`green-9`,"text-color":`white`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])]),s(O(`div`,null,[R.value?(o(!0),E(D,{key:1},p(ce.value,e=>(o(),E(`div`,{key:e.id,class:M([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":e.id===y(c).selectedWorkspaceId}]),style:A([{borderLeft:`3px solid #4ade80`},e.favoritedAt?{borderBottom:`2px solid #f59e0b`}:{}]),onClick:t=>Ge(e.id),onContextmenu:t[8]||=L(()=>{},[`prevent`])},[v(ym,{workspace:e,onRename:W,onEditDescription:G,onCopyPath:qe,onOpenEditor:Je,onOpenFileManager:Ye,onRunSetup:Ze,onToggleFavorite:Xe,onManageTags:P,onArchive:He,onDelete:Fe},null,8,[`workspace`]),O(`div`,$m,[O(`div`,eh,[v(xm,{workspace:e},null,8,[`workspace`]),O(`div`,{class:`wl-item-name text-body2 text-grey-3 ellipsis`,style:A({fontWeight:e.hasUnread?700:400,opacity:e.hasUnread?1:.75,maxWidth:`400px`})},[w(m(e.name)+` `,1),v(K,null,{default:a(()=>[w(m(e.name),1)]),_:2},1024)],4)]),e.agentDescription||e.description?(o(),E(`div`,{key:0,class:`text-caption text-grey-7 ellipsis q-mt-xs`,title:e.agentDescription||e.description,style:{"max-width":`100%`,"font-size":`11px`}},m(e.agentDescription||e.description),9,th)):C(``,!0),v(_t,{workspace:e,class:`q-mt-xs`},null,8,[`workspace`]),O(`div`,nh,[O(`span`,rh,m(e.status),1),O(`span`,ih,`· `+m(y(i)(e.updatedAt)),1)]),R.value||e.tags.length>0?(o(),E(`div`,ah,[R.value?(o(),x(xt,{key:0,dense:``,size:`sm`,color:y(Et)(e)??`grey-8`,"text-color":y(Tt)(e),label:y(wt)(e)},null,8,[`color`,`text-color`,`label`])):C(``,!0),(o(!0),E(D,null,p(e.tags,e=>(o(),x(xt,{key:e,dense:``,size:`sm`,color:`grey-8`,"text-color":`grey-3`,label:e},null,8,[`label`]))),128))])):C(``,!0)])],46,Qm))),128)):(o(!0),E(D,{key:0},p(oe.value,e=>(o(),E(`div`,{key:e.projectPath,class:`wl-project-group`},[O(`div`,Um,[v(B,{name:`folder`,size:`12px`,color:e.projectColor??`grey-7`,class:`q-mr-xs`},null,8,[`color`]),O(`span`,{class:M([`text-caption`,e.projectColor?`text-${e.projectColor}`:`text-grey-7`])},m(e.projectName),3)]),(o(!0),E(D,null,p(e.workspaces,e=>(o(),E(`div`,{key:e.id,class:M([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":e.id===y(c).selectedWorkspaceId}]),style:A([{borderLeft:`3px solid #4ade80`},e.favoritedAt?{borderBottom:`2px solid #f59e0b`}:{}]),onClick:t=>Ge(e.id),onContextmenu:t[7]||=L(()=>{},[`prevent`])},[v(ym,{workspace:e,onRename:W,onEditDescription:G,onCopyPath:qe,onOpenEditor:Je,onOpenFileManager:Ye,onRunSetup:Ze,onToggleFavorite:Xe,onManageTags:P,onArchive:He,onDelete:Fe},null,8,[`workspace`]),O(`div`,Gm,[O(`div`,Km,[v(xm,{workspace:e},null,8,[`workspace`]),O(`div`,{class:`wl-item-name text-body2 text-grey-3 ellipsis`,style:A({fontWeight:e.hasUnread?700:400,opacity:e.hasUnread?1:.75,maxWidth:`400px`})},[w(m(e.name)+` `,1),v(K,null,{default:a(()=>[w(m(e.name),1)]),_:2},1024)],4)]),e.agentDescription||e.description?(o(),E(`div`,{key:0,class:`text-caption text-grey-7 ellipsis q-mt-xs`,title:e.agentDescription||e.description,style:{"max-width":`100%`,"font-size":`11px`}},m(e.agentDescription||e.description),9,qm)):C(``,!0),v(_t,{workspace:e,class:`q-mt-xs`},null,8,[`workspace`]),O(`div`,Jm,[O(`span`,Ym,m(e.status),1),O(`span`,Xm,`· `+m(y(i)(e.updatedAt)),1)]),e.tags.length>0?(o(),E(`div`,Zm,[(o(!0),E(D,null,p(e.tags,e=>(o(),x(xt,{key:e,dense:``,size:`sm`,color:`grey-8`,"text-color":`grey-3`,label:e},null,8,[`label`]))),128))])):C(``,!0)])],46,Wm))),128))]))),128))],512),[[ne,ge.value]])])):C(``,!0),ie.value.length>0?(o(),E(`div`,oh,[O(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:t[9]||=e=>_e.value=!_e.value},[v(B,{name:_e.value?`expand_more`:`chevron_right`,size:`xs`,color:`grey-6`},null,8,[`name`]),O(`span`,sh,m(e.$t(`workspaceList.idle`)),1),v(rt,{label:ie.value.length,color:`grey-8`,"text-color":`grey-4`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])]),s(O(`div`,null,[R.value?(o(!0),E(D,{key:1},p(le.value,e=>(o(),E(`div`,{key:e.id,class:M([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":e.id===y(c).selectedWorkspaceId}]),style:A([{borderLeft:`3px solid #666`},e.favoritedAt?{borderBottom:`2px solid #f59e0b`}:{}]),onClick:t=>Ge(e.id),onContextmenu:t[11]||=L(()=>{},[`prevent`])},[v(ym,{workspace:e,onRename:W,onEditDescription:G,onCopyPath:qe,onOpenEditor:Je,onOpenFileManager:Ye,onRunSetup:Ze,onToggleFavorite:Xe,onManageTags:P,onArchive:He,onDelete:Fe},null,8,[`workspace`]),O(`div`,gh,[O(`div`,_h,[v(xm,{workspace:e},null,8,[`workspace`]),O(`div`,{class:`wl-item-name text-body2 text-grey-3 ellipsis`,style:A({fontWeight:e.hasUnread?700:400,opacity:e.hasUnread?1:.75,maxWidth:`400px`})},[w(m(e.name)+` `,1),v(K,null,{default:a(()=>[w(m(e.name),1)]),_:2},1024)],4)]),e.agentDescription||e.description?(o(),E(`div`,{key:0,class:`text-caption text-grey-7 ellipsis q-mt-xs`,title:e.agentDescription||e.description,style:{"max-width":`100%`,"font-size":`11px`}},m(e.agentDescription||e.description),9,vh)):C(``,!0),v(_t,{workspace:e,class:`q-mt-xs`},null,8,[`workspace`]),O(`div`,yh,m(y(i)(e.updatedAt)),1),R.value||e.tags.length>0?(o(),E(`div`,bh,[R.value?(o(),x(xt,{key:0,dense:``,size:`sm`,color:y(Et)(e)??`grey-8`,"text-color":y(Tt)(e),label:y(wt)(e)},null,8,[`color`,`text-color`,`label`])):C(``,!0),(o(!0),E(D,null,p(e.tags,e=>(o(),x(xt,{key:e,dense:``,size:`sm`,color:`grey-8`,"text-color":`grey-3`,label:e},null,8,[`label`]))),128))])):C(``,!0)])],46,hh))),128)):(o(!0),E(D,{key:0},p(se.value,e=>(o(),E(`div`,{key:e.projectPath,class:`wl-project-group`},[O(`div`,ch,[v(B,{name:`folder`,size:`12px`,color:e.projectColor??`grey-7`,class:`q-mr-xs`},null,8,[`color`]),O(`span`,{class:M([`text-caption`,e.projectColor?`text-${e.projectColor}`:`text-grey-7`])},m(e.projectName),3)]),(o(!0),E(D,null,p(e.workspaces,e=>(o(),E(`div`,{key:e.id,class:M([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":e.id===y(c).selectedWorkspaceId}]),style:A([{borderLeft:`3px solid #666`},e.favoritedAt?{borderBottom:`2px solid #f59e0b`}:{}]),onClick:t=>Ge(e.id),onContextmenu:t[10]||=L(()=>{},[`prevent`])},[v(ym,{workspace:e,onRename:W,onEditDescription:G,onCopyPath:qe,onOpenEditor:Je,onOpenFileManager:Ye,onRunSetup:Ze,onToggleFavorite:Xe,onManageTags:P,onArchive:He,onDelete:Fe},null,8,[`workspace`]),O(`div`,uh,[O(`div`,dh,[v(xm,{workspace:e},null,8,[`workspace`]),O(`div`,{class:`wl-item-name text-body2 text-grey-3 ellipsis`,style:A({fontWeight:e.hasUnread?700:400,opacity:e.hasUnread?1:.75,maxWidth:`400px`})},[w(m(e.name)+` `,1),v(K,null,{default:a(()=>[w(m(e.name),1)]),_:2},1024)],4)]),e.agentDescription||e.description?(o(),E(`div`,{key:0,class:`text-caption text-grey-7 ellipsis q-mt-xs`,title:e.agentDescription||e.description,style:{"max-width":`100%`,"font-size":`11px`}},m(e.agentDescription||e.description),9,fh)):C(``,!0),v(_t,{workspace:e,class:`q-mt-xs`},null,8,[`workspace`]),O(`div`,ph,m(y(i)(e.updatedAt)),1),e.tags.length>0?(o(),E(`div`,mh,[(o(!0),E(D,null,p(e.tags,e=>(o(),x(xt,{key:e,dense:``,size:`sm`,color:`grey-8`,"text-color":`grey-3`,label:e},null,8,[`label`]))),128))])):C(``,!0)])],46,lh))),128))]))),128))],512),[[ne,_e.value]])])):C(``,!0),ue.value.length>0||V.value?(o(),E(`div`,xh,[O(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:ve},[v(B,{name:V.value||de.value?`expand_more`:`chevron_right`,size:`xs`,color:`grey-7`},null,8,[`name`]),v(B,{name:`inventory_2`,size:`xs`,color:`grey-7`,class:`q-ml-xs`}),O(`span`,Sh,m(e.$t(`workspaceList.archived`)),1),ue.value.length>0?(o(),x(rt,{key:0,label:ue.value.length,color:`grey-9`,"text-color":`grey-5`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])):C(``,!0),ue.value.length>0?(o(),x(U,{key:1,flat:``,dense:``,round:``,size:`xs`,icon:`delete_sweep`,color:`grey-7`,class:`q-ml-xs`,onClick:L(Re,[`stop`])},{default:a(()=>[v(K,null,{default:a(()=>[w(m(e.$t(`workspaceList.deleteArchivedDialog.tooltip`)),1)]),_:1})]),_:1})):C(``,!0)]),s(O(`div`,null,[(o(!0),E(D,null,p(ue.value,n=>(o(),E(`div`,{key:n.id,class:M([`wl-item wl-item--archived cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":n.id===y(c).selectedWorkspaceId}]),style:A([{borderLeft:`3px solid #555`},n.favoritedAt?{borderBottom:`2px solid #f59e0b`}:{}]),onClick:e=>Ge(n.id),onContextmenu:t[12]||=L(()=>{},[`prevent`])},[v(ym,{workspace:n,archived:``,onRename:W,onEditDescription:G,onCopyPath:qe,onOpenEditor:Je,onOpenFileManager:Ye,onRunSetup:Ze,onToggleFavorite:Xe,onManageTags:P,onArchive:He,onUnarchive:Ue,onDelete:Fe},null,8,[`workspace`]),O(`div`,wh,[O(`div`,Th,[w(m(n.name)+` `,1),v(K,null,{default:a(()=>[w(m(n.name),1)]),_:2},1024)]),n.agentDescription||n.description?(o(),E(`div`,{key:0,class:`text-caption text-grey-7 ellipsis q-mt-xs`,title:n.agentDescription||n.description,style:{"max-width":`100%`,"font-size":`11px`}},m(n.agentDescription||n.description),9,Eh)):C(``,!0),v(_t,{workspace:n,class:`q-mt-xs`},null,8,[`workspace`]),O(`div`,Dh,m(e.$t(`workspaceList.archived`))+` `+m(y(i)(n.archivedAt)),1),R.value||n.tags.length>0?(o(),E(`div`,Oh,[R.value?(o(),x(xt,{key:0,dense:``,size:`sm`,color:y(Et)(n)??`grey-8`,"text-color":y(Tt)(n),label:y(wt)(n)},null,8,[`color`,`text-color`,`label`])):C(``,!0),(o(!0),E(D,null,p(n.tags,e=>(o(),x(xt,{key:e,dense:``,size:`sm`,color:`grey-8`,"text-color":`grey-3`,label:e},null,8,[`label`]))),128))])):C(``,!0)])],46,Ch))),128))],512),[[ne,V.value||de.value]])])):C(``,!0),I.value.length===0&&re.value.length===0&&ie.value.length===0&&ue.value.length===0?(o(),E(`div`,kh,[y(c).loading?(o(),E(D,{key:0},[w(m(e.$t(`common.loading`)),1)],64)):k.value?(o(),E(D,{key:1},[w(m(e.$t(`common.noResults`,{query:k.value})),1)],64)):(o(),E(D,{key:2},[w(m(e.$t(`workspaceList.noWorkspaces`)),1)],64))])):C(``,!0)]),v(me,{dark:``}),O(`div`,Ah,m(e.$t(`workspaceList.footer`,{count:fe.value},fe.value))+` · `+m(e.$t(`workspaceList.footerRunning`,{count:pe.value})),1)]),v(Me,{modelValue:ye.value,"onUpdate:modelValue":t[16]||=e=>ye.value=e,persistent:``},{default:a(()=>[v(Ne,{class:`text-grey-3`,style:{"min-width":`360px`,background:`#1e1e3a`}},{default:a(()=>[v(Ke,null,{default:a(()=>[O(`div`,jh,m(e.$t(`workspaceList.deleteDialog.title`)),1)]),_:1}),v(Ke,{class:`q-pt-none`},{default:a(()=>[O(`div`,Mh,m(be.value?.name),1),O(`div`,Nh,m(be.value?.workingBranch),1),O(`div`,Ph,[v(Ae,{modelValue:xe.value,"onUpdate:modelValue":t[13]||=e=>xe.value=e,label:e.$t(`workspaceList.deleteDialog.deleteLocal`),dark:``,dense:``,color:`red-5`},null,8,[`modelValue`,`label`]),v(Ae,{modelValue:H.value,"onUpdate:modelValue":t[14]||=e=>H.value=e,disable:!xe.value,label:e.$t(`workspaceList.deleteDialog.deleteRemote`),dark:``,dense:``,color:`red-5`},null,8,[`modelValue`,`disable`,`label`])]),H.value?(o(),E(`div`,Fh,m(e.$t(`workspaceList.deleteDialog.warning`)),1)):C(``,!0)]),_:1}),v(Ce,{align:`right`},{default:a(()=>[v(U,{flat:``,label:e.$t(`common.cancel`),color:`grey-5`,onClick:t[15]||=e=>ye.value=!1,disable:we.value},null,8,[`label`,`disable`]),v(U,{flat:``,label:e.$t(`common.delete`),color:`red-5`,loading:we.value,onClick:Ie},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),v(Me,{modelValue:Te.value,"onUpdate:modelValue":t[20]||=e=>Te.value=e,persistent:``},{default:a(()=>[v(Ne,{class:`text-grey-3`,style:{"min-width":`360px`,background:`#1e1e3a`}},{default:a(()=>[v(Ke,null,{default:a(()=>[O(`div`,Ih,m(e.$t(`workspaceList.deleteArchivedDialog.title`)),1)]),_:1}),v(Ke,{class:`q-pt-none`},{default:a(()=>[O(`div`,Lh,m(e.$t(`workspaceList.deleteArchivedDialog.message`,{count:y(c).archived.length})),1),O(`div`,Rh,[v(Ae,{modelValue:Ee.value,"onUpdate:modelValue":t[17]||=e=>Ee.value=e,label:e.$t(`workspaceList.deleteDialog.deleteLocal`),dark:``,dense:``,color:`red-5`},null,8,[`modelValue`,`label`]),v(Ae,{modelValue:De.value,"onUpdate:modelValue":t[18]||=e=>De.value=e,disable:!Ee.value,label:e.$t(`workspaceList.deleteDialog.deleteRemote`),dark:``,dense:``,color:`red-5`},null,8,[`modelValue`,`disable`,`label`])]),De.value?(o(),E(`div`,zh,m(e.$t(`workspaceList.deleteDialog.warning`)),1)):C(``,!0)]),_:1}),v(Ce,{align:`right`},{default:a(()=>[v(U,{flat:``,label:e.$t(`common.cancel`),color:`grey-5`,disable:je.value,onClick:t[19]||=e=>Te.value=!1},null,8,[`label`,`disable`]),v(U,{flat:``,label:e.$t(`common.delete`),color:`red-5`,loading:je.value,onClick:Ve},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),te.value?(o(),x(fm,{key:0,modelValue:ee.value,"onUpdate:modelValue":t[21]||=e=>ee.value=e,workspace:te.value},null,8,[`modelValue`,`workspace`])):C(``,!0)],64))}}),[[`__scopeId`,`data-v-70007e9c`]]);function Vh(e,t){let n=e=>e.split(`.`).map(e=>Number.parseInt(e,10)||0),r=n(e),i=n(t),a=Math.max(r.length,i.length);for(let e=0;e<a;e++){let t=(r[e]??0)-(i[e]??0);if(t!==0)return t}return 0}var Hh=`kobo:last-seen-version`;function Uh(){let e=S(!1),t=S([]);async function n(){try{let n=await fetch(`/api/changelog`);if(!n.ok)return;let r=await n.json(),i=r.currentVersion;if(!i)return;let a=localStorage.getItem(Hh);if(!a){localStorage.setItem(Hh,i);return}if(a===i)return;let o=(r.versions??[]).filter(e=>Vh(e.version,a)>0&&Vh(e.version,i)<=0).sort((e,t)=>Vh(t.version,e.version));localStorage.setItem(Hh,i),o.length>0&&(t.value=o,e.value=!0)}catch{}}return{showDialog:e,newVersions:t,checkForUpdate:n}}var Wh={class:`column no-wrap`,style:{position:`absolute`,inset:`0`,overflow:`hidden`}},Gh={class:`col`,style:{overflow:`auto`}},Kh=`kobo:rightTab`,qh=`at-left-drawer-width`,Jh=`kobo:rightDrawerWidth`,Yh=240,Xh=800,Zh=`kobo:rightDrawerSplit`,Qh=nt(j({__name:`MainLayout`,setup(e){let{maybeStartOnFirstVisit:t}=Dt(),{showDialog:n,newVersions:r,checkForUpdate:i}=Uh();u(()=>{t(),i()});let s=[`git`,`tasks`,`subagents`,`documents`,`schedule`],l=localStorage.getItem(Kh),d=S(l&&s.includes(l)?l:`git`);function f(e){d.value=e,localStorage.setItem(Kh,e)}let p=tt();g(()=>p.requestOpen,()=>f(`documents`));let h=S(!0),b=S(!0),E=parseInt(localStorage.getItem(qh)??`260`,10),D=S(Math.min(500,Math.max(140,E))),k=S(!1),j=parseInt(localStorage.getItem(Jh)??`300`,10),M=S(Math.min(Xh,Math.max(Yh,j))),ee=S(!1);function te(e){e.preventDefault(),k.value=!0;let t=e=>{D.value=Math.min(500,Math.max(140,e.clientX))},n=()=>{k.value=!1,localStorage.setItem(qh,String(D.value)),document.removeEventListener(`mousemove`,t),document.removeEventListener(`mouseup`,n),document.body.style.cursor=``,document.body.style.userSelect=``};document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`,document.addEventListener(`mousemove`,t),document.addEventListener(`mouseup`,n)}function P(e){e.preventDefault(),ee.value=!0;let t=e=>{M.value=Math.min(Xh,Math.max(Yh,window.innerWidth-e.clientX))},n=()=>{ee.value=!1,localStorage.setItem(Jh,String(M.value)),document.removeEventListener(`mousemove`,t),document.removeEventListener(`mouseup`,n),document.body.style.cursor=``,document.body.style.userSelect=``};document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`,document.addEventListener(`mousemove`,t),document.addEventListener(`mouseup`,n)}let F=Ve(),I=Pe(),L=T(()=>ht(I.selectedWorkspace?.engine));g(L,e=>{!e&&d.value===`subagents`&&f(`tasks`)}),g(()=>I.selectedWorkspaceId,e=>{e&&p.fetchDocuments(e)},{immediate:!0}),g(()=>F.name,e=>{e!==`workspace`&&I.selectedWorkspaceId&&(I.selectedWorkspaceId=null,I.selectedSessionId=null)},{immediate:!0});let ne=T(()=>F.name===`workspace`);c(`openDrawerTab`,e=>{b.value=!0,f(e)});let re=parseInt(localStorage.getItem(Zh)??`60`,10),ie=S(Math.min(80,Math.max(20,re))),ae=S(!1),oe=S(`tools`);function se(e){e.preventDefault(),ae.value=!0;let t=e.target.closest(`.q-drawer`);if(!t)return;let n=e=>{let n=t.getBoundingClientRect(),r=e.clientY-n.top,i=Math.round(r/n.height*100);ie.value=Math.min(80,Math.max(20,i))},r=()=>{ae.value=!1,localStorage.setItem(Zh,String(ie.value)),document.removeEventListener(`mousemove`,n),document.removeEventListener(`mouseup`,r),document.body.style.cursor=``,document.body.style.userSelect=``};document.body.style.cursor=`row-resize`,document.body.style.userSelect=`none`,document.addEventListener(`mousemove`,n),document.addEventListener(`mouseup`,r)}return(e,t)=>{let i=N(`router-view`);return o(),x(Vt,{view:`lHh LpR lFf`},{default:a(()=>[v(kt,{modelValue:h.value,"onUpdate:modelValue":t[0]||=e=>h.value=e,width:D.value,breakpoint:0,persistent:``,bordered:``,class:`bg-dark`},{default:a(()=>[v(Bh),O(`div`,{class:`resize-handle`,onMousedown:te},null,32)]),_:1},8,[`modelValue`,`width`]),v(kt,{"model-value":ne.value,side:`right`,width:M.value,breakpoint:0,persistent:``,bordered:``,class:`bg-dark`},{default:a(()=>[O(`div`,{class:`resize-handle resize-handle--right`,onMousedown:P},null,32),O(`div`,Wh,[O(`div`,{style:A([{flex:`${ie.value} 1 0%`},{overflow:`hidden`}]),class:`column no-wrap`},[v(Lt,{"model-value":d.value,dense:``,dark:``,"active-color":`indigo-4`,"indicator-color":`indigo-4`,"narrow-indicator":``,"onUpdate:modelValue":f},{default:a(()=>[v(Pt,{name:`git`,icon:`commit`}),v(Pt,{name:`tasks`,icon:`checklist`}),L.value?(o(),x(Pt,{key:0,name:`subagents`,icon:`smart_toy`})):C(``,!0),v(Pt,{name:`documents`,icon:`description`}),v(Pt,{name:`schedule`,icon:`event`},{default:a(()=>[v(K,null,{default:a(()=>[w(m(e.$t(`schedule.tabLabel`)),1)]),_:1})]),_:1})]),_:1},8,[`model-value`]),v(me,{dark:``}),O(`div`,Gh,[v(zt,{modelValue:d.value,"onUpdate:modelValue":t[1]||=e=>d.value=e,animated:``,"keep-alive":``},{default:a(()=>[v(Rt,{name:`git`,class:`q-pa-none`},{default:a(()=>[v(vi,{workspace:y(I).selectedWorkspace},null,8,[`workspace`])]),_:1}),v(Rt,{name:`tasks`,class:`q-pa-none`},{default:a(()=>[v(ta,{workspace:y(I).selectedWorkspace,tasks:y(I).tasks},null,8,[`workspace`,`tasks`]),v(me,{dark:``}),v(Yt,{tasks:y(I).acceptanceCriteria},null,8,[`tasks`]),v(me,{dark:``}),v(tn)]),_:1}),L.value?(o(),x(Rt,{key:0,name:`subagents`,class:`q-pa-none`},{default:a(()=>[v(Wi)]),_:1})):C(``,!0),v(Rt,{name:`documents`,class:`q-pa-none`},{default:a(()=>[v(dn,{workspace:y(I).selectedWorkspace},null,8,[`workspace`])]),_:1}),v(Rt,{name:`schedule`,class:`q-pa-none`},{default:a(()=>[y(I).selectedWorkspaceId?(o(),x(Mi,{key:0,"workspace-id":y(I).selectedWorkspaceId},null,8,[`workspace-id`])):C(``,!0)]),_:1})]),_:1},8,[`modelValue`])])],4),O(`div`,{class:`vertical-resize-handle`,onMousedown:se},null,32),O(`div`,{style:A([{flex:`${100-ie.value} 1 0%`},{overflow:`hidden`}]),class:`column no-wrap`},[v(Lt,{modelValue:oe.value,"onUpdate:modelValue":t[2]||=e=>oe.value=e,dense:``,dark:``,"active-color":`indigo-4`,"indicator-color":`indigo-4`,"narrow-indicator":``},{default:a(()=>[v(Pt,{name:`tools`,icon:`build`}),v(Pt,{name:`terminal`,icon:`terminal`})]),_:1},8,[`modelValue`]),v(me,{dark:``}),v(zt,{modelValue:oe.value,"onUpdate:modelValue":t[3]||=e=>oe.value=e,animated:``,"keep-alive":``,class:`col`,style:{overflow:`hidden`}},{default:a(()=>[v(Rt,{name:`tools`,class:`q-pa-none`,style:{overflow:`auto`}},{default:a(()=>[v(rm,{workspace:y(I).selectedWorkspace},null,8,[`workspace`])]),_:1}),v(Rt,{name:`terminal`,class:`q-pa-none`,style:{height:`100%`}},{default:a(()=>[v(Np)]),_:1})]),_:1},8,[`modelValue`])],4)])]),_:1},8,[`model-value`,`width`]),v(Bt,{class:`bg-dark`},{default:a(()=>[v(i)]),_:1}),v(sm,{modelValue:y(n),"onUpdate:modelValue":t[4]||=e=>_(n)?n.value=e:null,versions:y(r)},null,8,[`modelValue`,`versions`])]),_:1})}}}),[[`__scopeId`,`data-v-75f58b49`]]);export{Qh as default};
37
+ `,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 ua.get()},set promptLabel(e){ua.set(e)},get tooMuchOutput(){return fa.get()},set tooMuchOutput(e){fa.set(e)}}}_verifyIntegers(...e){for(Tp of e)if(Tp===1/0||isNaN(Tp)||Tp%1!=0)throw Error(`This API only accepts integers`)}_verifyPositiveIntegers(...e){for(Tp of e)if(Tp&&(Tp===1/0||isNaN(Tp)||Tp%1!=0||Tp<0))throw Error(`This API only accepts positive integers`)}},Dp={class:`column`,style:{height:`100%`}},Op={class:`row items-center q-pa-xs q-px-sm text-caption text-grey-5`},kp={key:0,class:`col column items-center justify-center text-grey-7 text-caption`},Ap={key:1,class:`col column items-center justify-center text-red-4 text-caption`},jp={key:2,class:`col column items-center justify-center text-amber-6 text-caption`},Mp={key:3,class:`col column items-center justify-center`},Np=j({__name:`TerminalPanel`,setup(e){let{t:n}=ke(),r=Fe(),c=new Map,l=S(null),d=null,f=null,p=S(0),h=T(()=>r.selectedWorkspace),_=T(()=>r.selectedWorkspaceId),b=T(()=>{let e=h.value;return e?e.status!==`created`:!1}),D=T(()=>!!h.value?.archivedAt),k=T(()=>(p.value,_.value?c.get(_.value)??null:null)),A=T(()=>!!k.value&&!k.value.exited),j=T(()=>!!k.value?.exited),M=T(()=>k.value?.error??null);function N(){p.value++}function ee(e,t){let r=window.location.protocol===`https:`?`wss:`:`ws:`,i=new WebSocket(`${r}//${window.location.host}/ws/terminal/${e}`);i.binaryType=`arraybuffer`,t.ws=i,i.onopen=()=>{i.send(JSON.stringify({type:`create`}))},i.onmessage=e=>{if(e.data instanceof ArrayBuffer)t.terminal.write(new Uint8Array(e.data));else{let n;try{n=JSON.parse(e.data)}catch{return}if(n.type===`ready`){t.error=null,N();try{t.fitAddon.fit()}catch{}let e=t.fitAddon.proposeDimensions();e&&i.readyState===WebSocket.OPEN&&i.send(JSON.stringify({type:`resize`,cols:e.cols,rows:e.rows}))}else n.type===`error`?(t.error=n.message??`Unknown error`,N()):n.type===`exited`&&(t.exited=!0,t.exitCode=n.code??null,N())}},i.onclose=()=>{t.ws=null},i.onerror=()=>{t.error=n(`terminal.error`),N()},t.terminal.onData(e=>{t.ws&&t.ws.readyState===WebSocket.OPEN&&t.ws.send(new TextEncoder().encode(e))})}function te(){let e=_.value;if(!e||!b.value||D.value||c.has(e))return;let t=new Ep({cursorBlink:!0,fontSize:12,fontFamily:`'Roboto Mono', monospace`,theme:{background:`#16162a`,foreground:`#cccccc`,cursor:`#6c63ff`},scrollback:1e3}),n=new ia;t.loadAddon(n);let r=document.createElement(`div`);r.style.width=`100%`,r.style.height=`100%`;let i={terminal:t,fitAddon:n,ws:null,exited:!1,exitCode:null,error:null,container:r,opened:!1};c.set(e,i),N(),I(e,i),ee(e,i)}function P(){let e=_.value;if(!e)return;let t=c.get(e);t&&(d===e&&L(),t.ws&&t.ws.readyState===WebSocket.OPEN&&t.ws.close(),t.terminal.dispose(),c.delete(e),N())}function F(){let e=_.value;if(!e)return;let t=c.get(e);t&&(t.ws&&t.ws.readyState===WebSocket.OPEN&&t.ws.close(),t.terminal.dispose(),c.delete(e)),d=null,N(),i(()=>te())}function I(e,t){l.value&&d!==e&&(L(),d=e,t.opened||=(t.terminal.open(t.container),!0),l.value.appendChild(t.container),i(()=>i(()=>t.fitAddon.fit())))}function L(){if(!d)return;let e=c.get(d);e?.container.parentElement&&e.container.parentElement.removeChild(e.container),d=null}return g(_,(e,t)=>{if(t&&L(),e){let t=c.get(e);t&&i(()=>{I(e,t),(!t.ws||t.ws.readyState!==WebSocket.OPEN)&&(t.exited||ee(e,t))})}N()}),u(()=>{if(f=new ResizeObserver(()=>{if(!_.value)return;let e=c.get(_.value);if(e&&d===_.value){e.fitAddon.fit();let t=e.fitAddon.proposeDimensions();t&&e.ws?.readyState===WebSocket.OPEN&&e.ws.send(JSON.stringify({type:`resize`,cols:t.cols,rows:t.rows}))}}),l.value&&f.observe(l.value),_.value){let e=c.get(_.value);e&&i(()=>I(_.value,e))}}),t(()=>{f?.disconnect(),L()}),(e,t)=>(o(),E(`div`,Dp,[O(`div`,Op,[v(B,{name:`terminal`,size:`14px`,class:`q-mr-xs`}),O(`span`,null,m(y(n)(`terminal.title`)),1),v(at),A.value?(o(),x(H,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,onClick:P},{default:a(()=>[v(G,null,{default:a(()=>[w(m(y(n)(`terminal.close`)),1)]),_:1})]),_:1})):C(``,!0)]),v(me,{dark:``}),_.value?M.value?(o(),E(`div`,Ap,[v(B,{name:`error`,size:`24px`,class:`q-mb-sm`}),w(` `+m(y(n)(`terminal.error`))+`: `+m(M.value)+` `,1),v(H,{flat:``,dense:``,"no-caps":``,color:`indigo-4`,class:`q-mt-sm`,onClick:F},{default:a(()=>[w(m(y(n)(`terminal.open`)),1)]),_:1})])):j.value?(o(),E(`div`,jp,[v(B,{name:`info`,size:`24px`,class:`q-mb-sm`}),w(` `+m(y(n)(`terminal.exited`))+` `,1),v(H,{flat:``,dense:``,"no-caps":``,color:`indigo-4`,class:`q-mt-sm`,onClick:F},{default:a(()=>[w(m(y(n)(`terminal.open`)),1)]),_:1})])):k.value?C(``,!0):(o(),E(`div`,Mp,[v(H,{flat:``,dense:``,"no-caps":``,color:`indigo-4`,icon:`terminal`,label:y(n)(`terminal.open`),disable:!b.value||D.value,onClick:te},{default:a(()=>[b.value?C(``,!0):(o(),x(G,{key:0},{default:a(()=>[w(m(y(n)(`terminal.noWorktree`)),1)]),_:1}))]),_:1},8,[`label`,`disable`])])):(o(),E(`div`,kp,m(y(n)(`terminal.noWorkspace`)),1)),s(O(`div`,{ref_key:`containerRef`,ref:l,class:`col`,style:{overflow:`hidden`}},null,512),[[ne,A.value]])]))}}),Pp={class:`column q-gutter-sm q-pa-sm`},Fp=j({__name:`AutoLoopPanel`,setup(e){let{t}=ke(),n=dt(),r=Fe(),i=Be(),s=T(()=>r.selectedWorkspace),c=T(()=>s.value?r.autoLoopStates[s.value.id]??null:null),l=T(()=>r.tasks.length>0),u=T(()=>!!c.value?.auto_loop_ready),d=T(()=>!!c.value?.auto_loop),f=T(()=>u.value&&l.value),p=T(()=>Ge(s.value?.status)),h=T(()=>!!s.value?.archivedAt),g=T(()=>!f.value||h.value),_=T(()=>u.value?l.value?``:t(`autoLoop.noTasks`):t(`autoLoop.notReady`));async function v(){if(s.value)try{await r.enableAutoLoop(s.value.id)}catch(e){n.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}async function b(){if(s.value)try{await r.disableAutoLoop(s.value.id)}catch(e){n.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}function S(){s.value&&bt(s.value.id,i,r)}function D(){s.value&&n.dialog({title:t(`autoLoop.forceReady`),message:t(`autoLoop.forceReadyConfirm`),cancel:!0,persistent:!0}).onOk(async()=>{if(s.value)try{await r.forceAutoLoopReady(s.value.id)}catch(e){n.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}})}return(e,n)=>(o(),E(`div`,Pp,[d.value?(o(),x(H,{key:0,dense:``,"no-caps":``,color:`negative`,icon:`stop`,label:y(t)(`autoLoop.stop`),disable:h.value,onClick:b},null,8,[`label`,`disable`])):(o(),x(H,{key:1,dense:``,"no-caps":``,color:`indigo-4`,icon:`play_arrow`,label:y(t)(`autoLoop.start`),disable:g.value,onClick:v},{default:a(()=>[g.value&&_.value?(o(),x(G,{key:0},{default:a(()=>[w(m(_.value),1)]),_:1})):C(``,!0)]),_:1},8,[`label`,`disable`])),d.value?C(``,!0):(o(),x(H,{key:2,dense:``,"no-caps":``,outline:``,color:`indigo-4`,icon:`build`,label:u.value?y(t)(`autoLoop.reprepare`):y(t)(`autoLoop.prepare`),disable:p.value||h.value,onClick:S},{default:a(()=>[p.value?(o(),x(G,{key:0},{default:a(()=>[w(m(y(t)(`autoLoop.prepareBusy`)),1)]),_:1})):u.value?(o(),x(G,{key:1},{default:a(()=>[w(m(y(t)(`autoLoop.reprepareTooltip`)),1)]),_:1})):C(``,!0)]),_:1},8,[`label`,`disable`])),u.value?C(``,!0):(o(),x(H,{key:3,dense:``,"no-caps":``,flat:``,size:`sm`,color:`grey-5`,label:y(t)(`autoLoop.forceReady`),disable:p.value||h.value,onClick:D},{default:a(()=>[p.value?(o(),x(G,{key:0},{default:a(()=>[w(m(y(t)(`autoLoop.prepareBusy`)),1)]),_:1})):C(``,!0)]),_:1},8,[`label`,`disable`]))]))}}),Ip={class:`log-text rounded-borders q-pa-md`},Lp=rt(j({__name:`DevServerLogDialog`,props:{modelValue:{type:Boolean},workspaceId:{}},emits:[`update:modelValue`],setup(e){let t=e,n=Ve(),r=S(``),s=S(!1),c=S(null),l=null;async function u(){if(t.workspaceId){s.value=!0;try{r.value=await n.fetchLogs(t.workspaceId),await i(),d()}finally{s.value=!1}}}function d(){c.value&&(c.value.scrollTop=c.value.scrollHeight)}function p(){h(),l=setInterval(()=>{u()},5e3)}function h(){l&&=(clearInterval(l),null)}return g(()=>t.modelValue,e=>{e?(u(),p()):h()}),f(()=>{h()}),(t,n)=>(o(),x(Ne,{"model-value":e.modelValue,"onUpdate:modelValue":n[1]||=e=>t.$emit(`update:modelValue`,e)},{default:a(()=>[v(Pe,{class:`text-grey-3`,style:{"min-width":`700px`,"max-width":`900px`,"max-height":`80vh`,background:`#1e1e3a`}},{default:a(()=>[v(qe,{class:`row items-center`},{default:a(()=>[n[2]||=O(`div`,{class:`text-h6`},`Logs Dev Server`,-1),v(at),v(H,{flat:``,round:``,dense:``,icon:`refresh`,color:`grey-5`,onClick:u,loading:s.value},{default:a(()=>[v(G,null,{default:a(()=>[w(m(t.$t(`tooltip.refreshLogs`)),1)]),_:1})]),_:1},8,[`loading`]),v(H,{flat:``,round:``,dense:``,icon:`close`,color:`grey-5`,onClick:n[0]||=e=>t.$emit(`update:modelValue`,!1)},{default:a(()=>[v(G,null,{default:a(()=>[w(m(t.$t(`tooltip.closeDialog`)),1)]),_:1})]),_:1})]),_:1}),v(me,{dark:``}),v(qe,{class:`log-content`,ref_key:`logContainer`,ref:c},{default:a(()=>[O(`pre`,Ip,m(r.value||`No logs available`),1)]),_:1},512)]),_:1})]),_:1},8,[`model-value`]))}}),[[`__scopeId`,`data-v-d988f9ab`]]),Rp={class:`dd-panel q-px-md q-py-sm`},zp={class:`text-caption text-uppercase text-weight-bold text-grey-5 q-mb-xs`},Bp={key:0,class:`text-caption text-grey-8`},Vp={key:1,class:`text-caption text-grey-8`},Hp={class:`row items-center q-mb-xs`},Up={key:0,class:`text-caption q-mb-xs`},Wp=[`href`],Gp={key:1,class:`text-caption text-grey-7`,style:{"font-size":`10px`}},Kp={key:2,class:`text-caption text-red-5`},qp=rt(j({__name:`DevServerPanel`,props:{workspace:{}},setup(e){let t=e,{t:n}=ke(),r=Ve(),i=Ce(),s=S(!1),c=S(!1),l=S(!1),d=null,p=T(()=>t.workspace?.id??``),h=T(()=>t.workspace?!!i.getProjectByPath(t.workspace.projectPath)?.devServer?.startCommand:!1),_=T(()=>p.value?r.getStatus(p.value):null),y=T(()=>{switch(_.value?.status){case`running`:return`green-9`;case`starting`:case`stopping`:return`orange-9`;case`error`:return`red-9`;default:return`grey-8`}}),b=T(()=>{switch(_.value?.status){case`running`:return n(`devServer.running`);case`starting`:return n(`devServer.starting`);case`stopping`:return n(`devServer.stopping`);case`error`:return n(`devServer.error`);case`stopped`:return n(`devServer.stopped`);default:return n(`devServer.unknown`)}}),k=T(()=>!!t.workspace?.archivedAt),A=T(()=>{if(k.value)return!1;let e=_.value?.status;return!e||e===`stopped`||e===`unknown`||e===`error`}),j=T(()=>{if(k.value)return!1;let e=_.value?.status;return e===`running`||e===`starting`});async function M(){if(p.value){c.value=!0;try{await r.startDevServer(p.value)}finally{c.value=!1}}}async function ee(){if(p.value){l.value=!0;try{await r.stopDevServer(p.value)}finally{l.value=!1}}}function te(){p.value&&h.value&&r.fetchStatus(p.value)}function P(){F(),d=setInterval(()=>{te()},3e4)}function F(){d&&=(clearInterval(d),null)}return g(p,()=>{te(),P()}),u(()=>{te(),P()}),f(()=>{F()}),(t,n)=>{let r=N(`router-link`);return o(),E(`div`,Rp,[O(`div`,zp,m(t.$t(`devServer.title`)),1),e.workspace?h.value?_.value?(o(),E(D,{key:2},[O(`div`,Hp,[v(it,{color:y.value,label:b.value,style:{"font-size":`10px`}},null,8,[`color`,`label`]),v(at),A.value?(o(),x(H,{key:0,flat:``,round:``,dense:``,icon:`play_arrow`,size:`xs`,color:`green-5`,onClick:M,loading:c.value},{default:a(()=>[v(G,null,{default:a(()=>[w(m(t.$t(`tooltip.startDevServer`)),1)]),_:1})]),_:1},8,[`loading`])):C(``,!0),j.value?(o(),x(H,{key:1,flat:``,round:``,dense:``,icon:`stop`,size:`xs`,color:`red-5`,onClick:ee,loading:l.value},{default:a(()=>[v(G,null,{default:a(()=>[w(m(t.$t(`tooltip.stopDevServer`)),1)]),_:1})]),_:1},8,[`loading`])):C(``,!0),v(H,{flat:``,round:``,dense:``,icon:`article`,size:`xs`,color:`grey-5`,onClick:n[0]||=e=>s.value=!0},{default:a(()=>[v(G,null,{default:a(()=>[w(m(t.$t(`devServer.logs`)),1)]),_:1})]),_:1})]),_.value.status===`running`&&_.value.url?(o(),E(`div`,Up,[O(`a`,{href:_.value.url,target:`_blank`,style:{color:`#6c63ff`}},m(_.value.url),9,Wp)])):C(``,!0),_.value.containers.length>0?(o(),E(`div`,Gp,m(t.$t(`devServer.containers`,{count:_.value.containers.length},_.value.containers.length)),1)):C(``,!0),_.value.error?(o(),E(`div`,Kp,m(_.value.error),1)):C(``,!0)],64)):C(``,!0):(o(),E(`div`,Vp,[w(m(t.$t(`devServer.notConfigured`))+` `,1),v(r,{to:`/settings`,style:{color:`#6c63ff`}},{default:a(()=>[w(m(t.$t(`devServer.goToSettings`)),1)]),_:1})])):(o(),E(`div`,Bp,m(t.$t(`devServer.noWorkspace`)),1)),p.value?(o(),x(Lp,{key:3,modelValue:s.value,"onUpdate:modelValue":n[1]||=e=>s.value=e,"workspace-id":p.value},null,8,[`modelValue`,`workspace-id`])):C(``,!0)])}}}),[[`__scopeId`,`data-v-8d4cdfb4`]]),Jp={class:`text-h6`},Yp={class:`text-body2 text-grey-5 q-mt-xs`},Xp={class:`text-caption text-grey-6 q-mt-xs`},Zp=j({__name:`StartReviewDialog`,props:{modelValue:{type:Boolean},loading:{type:Boolean}},emits:[`update:modelValue`,`submit`],setup(e,{emit:t}){let n=e,r=t,i=S(``),s=S(!1);g(()=>n.modelValue,e=>{e&&(i.value=``,s.value=!1)});function c(){r(`update:modelValue`,!1)}function l(){r(`submit`,{additionalInstructions:i.value,newSession:s.value})}return(t,n)=>(o(),x(Ne,{"model-value":e.modelValue,"onUpdate:modelValue":n[2]||=e=>r(`update:modelValue`,e)},{default:a(()=>[v(Pe,{class:`text-grey-3`,style:{"min-width":`480px`,background:`#1e1e3a`}},{default:a(()=>[v(qe,null,{default:a(()=>[O(`div`,Jp,m(t.$t(`review.title`)),1),O(`div`,Yp,m(t.$t(`review.subtitle`)),1)]),_:1}),v(me,{dark:``}),v(qe,{class:`q-pt-md`},{default:a(()=>[v(Ae,{modelValue:i.value,"onUpdate:modelValue":n[0]||=e=>i.value=e,type:`textarea`,label:t.$t(`review.additionalInstructions`),placeholder:t.$t(`review.additionalInstructionsPlaceholder`),rows:4,outlined:``,dark:``,color:`indigo-4`},null,8,[`modelValue`,`label`,`placeholder`])]),_:1}),v(qe,{class:`q-pt-none`},{default:a(()=>[v(Me,{modelValue:s.value,"onUpdate:modelValue":n[1]||=e=>s.value=e,label:t.$t(`review.newSession`),color:`indigo-4`,dark:``},null,8,[`modelValue`,`label`]),O(`div`,Xp,m(t.$t(`review.newSessionHint`)),1)]),_:1}),v(we,{align:`right`,class:`q-pa-md`},{default:a(()=>[v(H,{flat:``,"no-caps":``,label:t.$t(`review.cancel`),color:`grey-5`,onClick:c},null,8,[`label`]),v(H,{"no-caps":``,color:`primary`,label:t.$t(`review.start`),loading:e.loading,onClick:l},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),Qp={class:`tools-panel`},$p={class:`q-px-md q-py-sm`},em={class:`text-caption text-uppercase text-weight-bold text-grey-5 q-mb-xs`},tm={key:0,class:`text-caption text-grey-8`},nm={key:5,class:`text-caption text-grey-8`},rm=rt(j({__name:`ToolsPanel`,props:{workspace:{}},setup(e){let t=e,{t:n}=ke(),r=dt(),i=Ce(),s=Fe(),c=S(!1),l=S(!1),u=S(!1),d=S(!1),f=S(!1),p=S(!1),h=T(()=>{if(!t.workspace)return!1;let e=s.prSnapshots[t.workspace.id];return e?Le(e):!1}),g=T(()=>t.workspace?.id??``),_=T(()=>t.workspace?!!i.getProjectByPath(t.workspace.projectPath)?.setupScript:!1),y=T(()=>!!i.global.editorCommand),b=T(()=>!!i.global.fileManagerCommand),k=T(()=>Ge(t.workspace?.status)),A=T(()=>!!t.workspace?.archivedAt);function j(){g.value&&r.dialog({title:n(`tools.runSetupScript`),message:n(`tools.runSetupScriptConfirm`),cancel:!0,persistent:!0,dark:!0}).onOk(async()=>{c.value=!0;try{let e=await fetch(`/api/workspaces/${g.value}/run-setup-script`,{method:`POST`}),t=await e.json();e.ok?r.notify({type:`positive`,message:n(`tools.setupScriptSuccess`),position:`top`,timeout:3e3}):r.notify({type:`negative`,message:t.error??n(`tools.setupScriptFailed`),position:`top`,timeout:6e3})}catch(e){let t=e instanceof Error?e.message:n(`tools.setupScriptFailed`);r.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{c.value=!1}})}async function M(){if(g.value){l.value=!0;try{let e=await fetch(`/api/workspaces/${g.value}/open-editor`,{method:`POST`});if(!e.ok){let t=await e.json();r.notify({type:`negative`,message:t.error??n(`git.openEditorFailed`),position:`top`,timeout:6e3})}}catch(e){let t=e instanceof Error?e.message:n(`git.openEditorFailed`);r.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{l.value=!1}}}async function ee(){if(g.value){u.value=!0;try{let e=await fetch(`/api/workspaces/${g.value}/open-file-manager`,{method:`POST`});if(!e.ok){let t=await e.json();r.notify({type:`negative`,message:t.error??n(`tools.openFileManagerFailed`),position:`top`,timeout:6e3})}}catch(e){let t=e instanceof Error?e.message:n(`tools.openFileManagerFailed`);r.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{u.value=!1}}}function te(e){window.open(e,`_blank`,`noopener,noreferrer`)}async function P(){if(!(!g.value||p.value)){p.value=!0;try{let e=await fetch(`/api/workspaces/${g.value}/start-ci-fix`,{method:`POST`}),t=await e.json();if(!e.ok){r.notify({type:`negative`,message:t.error??n(`tools.fixCiFailed`),position:`top`,timeout:6e3});return}r.notify({type:`positive`,message:n(`tools.fixCiLaunched`),position:`top`,timeout:3e3})}catch(e){let t=e instanceof Error?e.message:n(`tools.fixCiFailed`);r.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{p.value=!1}}}async function F(e){if(g.value){f.value=!0;try{let t=await fetch(`/api/workspaces/${g.value}/start-review`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)}),i=await t.json();if(!t.ok){r.notify({type:`negative`,message:i.error??n(`review.failed`),position:`top`,timeout:6e3});return}r.notify({type:`positive`,message:n(`review.launched`),position:`top`,timeout:3e3}),d.value=!1}catch(e){let t=e instanceof Error?e.message:n(`review.failed`);r.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{f.value=!1}}}return(t,n)=>{let r=N(`router-link`);return o(),E(`div`,Qp,[v(qp,{workspace:e.workspace},null,8,[`workspace`]),v(me,{dark:``}),O(`div`,$p,[O(`div`,em,m(t.$t(`tools.title`)),1),e.workspace?(o(),E(D,{key:1},[v(Fp,{class:`q-mb-md`}),v(H,{"no-caps":``,dense:``,outline:``,color:`indigo-4`,icon:`replay`,label:t.$t(`tools.runSetupScript`),loading:c.value,disable:!_.value||c.value||k.value||A.value,class:`full-width q-mb-xs`,onClick:j},{default:a(()=>[v(G,null,{default:a(()=>[w(m(k.value?t.$t(`tools.runSetupScriptBusy`):t.$t(`tools.runSetupScriptTooltip`)),1)]),_:1})]),_:1},8,[`label`,`loading`,`disable`]),y.value?(o(),x(H,{key:0,"no-caps":``,dense:``,outline:``,color:`indigo-4`,icon:`open_in_new`,label:t.$t(`git.openEditor`),loading:l.value,class:`full-width q-mb-xs`,onClick:M},null,8,[`label`,`loading`])):C(``,!0),b.value?(o(),x(H,{key:1,"no-caps":``,dense:``,outline:``,color:`indigo-4`,icon:`folder_open`,label:t.$t(`tools.openFileManager`),loading:u.value,class:`full-width q-mb-xs`,onClick:ee},{default:a(()=>[v(G,null,{default:a(()=>[w(m(t.$t(`tools.openFileManagerTooltip`)),1)]),_:1})]),_:1},8,[`label`,`loading`])):C(``,!0),v(H,{"no-caps":``,dense:``,outline:``,color:`indigo-4`,icon:`rate_review`,label:t.$t(`tools.review`),loading:f.value,disable:!e.workspace||k.value||A.value,class:`full-width q-mb-xs`,onClick:n[0]||=e=>d.value=!0},{default:a(()=>[v(G,null,{default:a(()=>[w(m(k.value?t.$t(`tools.reviewBusy`):t.$t(`tools.reviewTooltip`)),1)]),_:1})]),_:1},8,[`label`,`loading`,`disable`]),h.value?(o(),x(H,{key:2,"no-caps":``,dense:``,unelevated:``,color:`red-7`,icon:`build_circle`,label:t.$t(`tools.fixCi`),loading:p.value,disable:!e.workspace||A.value||p.value,class:`full-width q-mb-xs`,onClick:P},{default:a(()=>[v(G,null,{default:a(()=>[w(m(t.$t(`tools.fixCiTooltip`)),1)]),_:1})]),_:1},8,[`label`,`loading`,`disable`])):C(``,!0),e.workspace?.notionUrl?(o(),x(H,{key:3,"no-caps":``,dense:``,outline:``,color:`indigo-4`,icon:`open_in_new`,label:t.$t(`tools.openNotion`),class:`full-width q-mb-xs`,onClick:n[1]||=t=>te(e.workspace.notionUrl)},null,8,[`label`])):C(``,!0),e.workspace?.sentryUrl?(o(),x(H,{key:4,"no-caps":``,dense:``,outline:``,color:`indigo-4`,icon:`open_in_new`,label:t.$t(`tools.openSentry`),class:`full-width q-mb-xs`,onClick:n[2]||=t=>te(e.workspace.sentryUrl)},null,8,[`label`])):C(``,!0),_.value?C(``,!0):(o(),E(`div`,nm,[w(m(t.$t(`tools.noSetupScript`))+` `,1),v(r,{to:`/settings`,style:{color:`#6c63ff`}},{default:a(()=>[w(m(t.$t(`devServer.goToSettings`)),1)]),_:1})]))],64)):(o(),E(`div`,tm,m(t.$t(`devServer.noWorkspace`)),1))]),v(Zp,{modelValue:d.value,"onUpdate:modelValue":n[3]||=e=>d.value=e,loading:f.value,onSubmit:F},null,8,[`modelValue`,`loading`])])}}}),[[`__scopeId`,`data-v-246c1768`]]),im={class:`text-h6`},am={class:`text-subtitle2 text-indigo-3 q-mb-xs`},om=[`innerHTML`],sm=rt(j({__name:`WhatsNewDialog`,props:{modelValue:{type:Boolean},versions:{}},emits:[`update:modelValue`],setup(e){function t(e){return tt(e)}return(n,r)=>(o(),x(Ne,{"model-value":e.modelValue,"onUpdate:modelValue":r[0]||=e=>n.$emit(`update:modelValue`,e)},{default:a(()=>[v(Pe,{class:`text-grey-3`,style:{"min-width":`480px`,"max-width":`90vw`,background:`#1e1e3a`}},{default:a(()=>[v(qe,{class:`row items-center q-pb-none`},{default:a(()=>[v(B,{name:`auto_awesome`,size:`sm`,color:`indigo-4`,class:`q-mr-sm`}),O(`div`,im,m(n.$t(`whatsNew.title`)),1),v(at),s(v(H,{flat:``,dense:``,round:``,icon:`close`,color:`grey-5`},null,512),[[K]])]),_:1}),v(qe,{style:{"max-height":`60vh`,"overflow-y":`auto`}},{default:a(()=>[(o(!0),E(D,null,p(e.versions,e=>(o(),E(`div`,{key:e.version,class:`q-mb-md`},[O(`div`,am,m(e.version),1),O(`div`,{class:`whats-new-notes`,innerHTML:t(e.notes)},null,8,om)]))),128))]),_:1}),v(we,{align:`right`},{default:a(()=>[s(v(H,{flat:``,label:n.$t(`common.close`),color:`primary`},null,8,[`label`]),[[K]])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),[[`__scopeId`,`data-v-434e72f8`]]),cm={class:`text-subtitle1`},lm={class:`text-caption text-grey-6 q-mt-xs`},um={key:1,class:`text-caption text-orange-5 q-mt-sm`},dm={key:2,class:`text-grey-6 text-caption`},fm=j({__name:`ManageTagsDialog`,props:{modelValue:{type:Boolean},workspace:{}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,{t:i}=ke(),s=Ce(),c=Fe(),l=dt(),u=S([]),d=S(!1);g(()=>n.modelValue,e=>{e&&(u.value=[...n.workspace.tags])},{immediate:!0});let f=T(()=>{let e=s.global.tags??[],t=n.workspace.tags??[];return Array.from(new Set([...e,...t]))}),p=T(()=>{let e=new Set(s.global.tags??[]);return(n.workspace.tags??[]).filter(t=>!e.has(t))});async function h(){d.value=!0;try{await c.setWorkspaceTags(n.workspace.id,u.value),r(`update:modelValue`,!1)}catch(e){l.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}finally{d.value=!1}}function _(){r(`update:modelValue`,!1)}return(t,n)=>(o(),x(Ne,{"model-value":e.modelValue,"onUpdate:modelValue":n[1]||=e=>r(`update:modelValue`,e)},{default:a(()=>[v(Pe,{dark:``,style:{"min-width":`360px`}},{default:a(()=>[v(qe,null,{default:a(()=>[O(`div`,cm,m(t.$t(`tags.manageTitle`)),1),O(`div`,lm,m(e.workspace.name),1)]),_:1}),v(qe,null,{default:a(()=>[f.value.length>0?(o(),x(We,{key:0,modelValue:u.value,"onUpdate:modelValue":n[0]||=e=>u.value=e,options:f.value.map(e=>({label:p.value.includes(e)?`${e}`:e,value:e})),type:`checkbox`,dense:``,dark:``},null,8,[`modelValue`,`options`])):C(``,!0),p.value.length>0?(o(),E(`div`,um,m(t.$t(`tags.orphanedHint`,{count:p.value.length})),1)):C(``,!0),f.value.length===0?(o(),E(`div`,dm,m(t.$t(`tags.noTagsDefined`)),1)):C(``,!0)]),_:1}),v(we,{align:`right`},{default:a(()=>[v(H,{flat:``,label:t.$t(`common.cancel`),onClick:_},null,8,[`label`]),v(H,{color:`primary`,label:t.$t(`common.save`),loading:d.value,onClick:h},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),pm={"awaiting-user":{kind:`awaiting-user`,icon:`help`,color:`amber-5`},error:{kind:`error`,icon:`warning`,color:`red-5`},quota:{kind:`quota`,icon:`warning`,color:`red-5`}};function mm(e,t){let n=[],r=pm[e.status];return r&&n.push(r),t&&Le(t)&&!hm(e.prCiFailureDismissedAt,t)&&n.push({kind:`ci-failed`,icon:`cancel`,color:`red-5`}),t&&Ie(t)&&!hm(e.prChangesDismissedAt,t)&&n.push({kind:`changes-requested`,icon:`rate_review`,color:`red-5`}),n}function hm(e,t){return e?t.updatedAt<=e:!1}var gm={key:0,class:`text-caption q-mt-xs`},_m={key:1,class:`q-ml-xs text-grey-8`},vm=j({__name:`WorkspaceAttentionLabels`,props:{workspace:{}},setup(e){let t=e,n=Fe(),r=dt(),{t:i}=ke(),{timeAgo:s}=St(),c=T(()=>mm(t.workspace,n.prSnapshots[t.workspace.id])),l=S(!1);async function u(){if(!l.value){l.value=!0;try{let e=await fetch(`/api/workspaces/${t.workspace.id}/start-ci-fix`,{method:`POST`}),n=await e.json().catch(()=>({}));if(!e.ok){r.notify({type:`negative`,message:n.error??i(`tools.fixCiFailed`),position:`top`,timeout:6e3});return}r.notify({type:`positive`,message:i(`tools.fixCiLaunched`),position:`top`,timeout:3e3})}catch(e){let t=e instanceof Error?e.message:i(`tools.fixCiFailed`);r.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{l.value=!1}}}function d(e){switch(e){case`awaiting-user`:return i(`workspaceStatus.awaitingUser`);case`ci-failed`:return i(`workspaceList.attentionCiFailed`);case`changes-requested`:return i(`workspaceList.attentionChangesRequested`);default:return e}}return(t,n)=>c.value.length>0?(o(),E(`div`,gm,[(o(!0),E(D,null,p(c.value,(t,n)=>(o(),E(`div`,{key:t.kind,class:`row items-center no-wrap`},[v(B,{name:t.icon,size:`xs`,color:t.color,class:`q-mr-xs`},null,8,[`name`,`color`]),O(`span`,{class:M(`text-${t.color}`)},m(d(t.kind)),3),t.kind===`ci-failed`&&!e.workspace.archivedAt?(o(),x(H,{key:0,flat:``,dense:``,round:``,size:`xs`,color:`red-4`,icon:`build_circle`,class:`q-ml-xs`,loading:l.value,disable:l.value,onClick:L(u,[`stop`])},{default:a(()=>[v(G,null,{default:a(()=>[w(m(y(i)(`tools.fixCiTooltip`)),1)]),_:1})]),_:1},8,[`loading`,`disable`])):C(``,!0),n===c.value.length-1?(o(),E(`span`,_m,` · `+m(y(s)(e.workspace.updatedAt)),1)):C(``,!0)]))),128))])):C(``,!0)}}),ym=j({__name:`WorkspaceContextMenu`,props:{workspace:{},archived:{type:Boolean,default:!1}},emits:[`rename`,`editDescription`,`copyPath`,`openEditor`,`openFileManager`,`runSetup`,`toggleFavorite`,`manageTags`,`archive`,`unarchive`,`purgeWorktree`,`delete`],setup(e,{emit:t}){let n=e,r=t;function i(e){window.open(e,`_blank`,`noopener,noreferrer`)}let c=dt(),{t:l}=ke();async function u(){let e=c.notify({spinner:!0,message:l(`contextMenu.exportingEvents`),timeout:0,group:!1});try{let e=await fetch(`/api/workspaces/${n.workspace.id}/events.csv`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.blob(),r=URL.createObjectURL(t),i=n.workspace.name.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``),a=document.createElement(`a`);a.href=r,a.download=`${i||`workspace`}-events.csv`,document.body.appendChild(a),a.click(),a.remove(),URL.revokeObjectURL(r)}catch(e){console.error(`[WorkspaceContextMenu] export events failed:`,e),c.notify({type:`negative`,message:l(`contextMenu.exportEventsError`),position:`top`})}finally{e()}}let d=Ce(),f=Fe(),p=T(()=>f.gitStatsCache[n.workspace.id]?.prUrl??null),h=T(()=>f.prSnapshots[n.workspace.id]),g=T(()=>{let e=h.value;if(!e||!Ie(e))return!1;let t=n.workspace.prChangesDismissedAt;return!t||e.updatedAt>t}),_=T(()=>{let e=h.value;if(!e||!Le(e))return!1;let t=n.workspace.prCiFailureDismissedAt;return!t||e.updatedAt>t});function b(e){f.dismissPrAttention(n.workspace.id,e)}return(t,n)=>(o(),x(ut,{dark:``,"context-menu":``},{default:a(()=>[v(lt,{dense:``,style:{"min-width":`180px`}},{default:a(()=>[s((o(),x(U,{clickable:``,onClick:n[0]||=t=>r(`rename`,e.workspace)},{default:a(()=>[v(W,{side:``},{default:a(()=>[v(B,{name:`edit`,size:`xs`})]),_:1}),v(W,null,{default:a(()=>[w(m(t.$t(`contextMenu.rename`)),1)]),_:1})]),_:1})),[[K]]),s((o(),x(U,{clickable:``,onClick:n[1]||=t=>r(`editDescription`,e.workspace)},{default:a(()=>[v(W,{side:``},{default:a(()=>[v(B,{name:`description`,size:`xs`})]),_:1}),v(W,null,{default:a(()=>[w(m(t.$t(`contextMenu.editDescription`)),1)]),_:1})]),_:1})),[[K]]),s((o(),x(U,{clickable:``,onClick:n[2]||=t=>r(`copyPath`,e.workspace)},{default:a(()=>[v(W,{side:``},{default:a(()=>[v(B,{name:`content_copy`,size:`xs`})]),_:1}),v(W,null,{default:a(()=>[w(m(t.$t(`contextMenu.copyPath`)),1)]),_:1})]),_:1})),[[K]]),y(d).global.editorCommand?s((o(),x(U,{key:0,clickable:``,onClick:n[3]||=t=>r(`openEditor`,e.workspace)},{default:a(()=>[v(W,{side:``},{default:a(()=>[v(B,{name:`open_in_new`,size:`xs`})]),_:1}),v(W,null,{default:a(()=>[w(m(t.$t(`contextMenu.openEditor`)),1)]),_:1})]),_:1})),[[K]]):C(``,!0),y(d).global.fileManagerCommand?s((o(),x(U,{key:1,clickable:``,onClick:n[4]||=t=>r(`openFileManager`,e.workspace)},{default:a(()=>[v(W,{side:``},{default:a(()=>[v(B,{name:`folder_open`,size:`xs`})]),_:1}),v(W,null,{default:a(()=>[w(m(t.$t(`contextMenu.openFileManager`)),1)]),_:1})]),_:1})),[[K]]):C(``,!0),s((o(),x(U,{clickable:``,onClick:n[5]||=t=>r(`runSetup`,e.workspace)},{default:a(()=>[v(W,{side:``},{default:a(()=>[v(B,{name:`replay`,size:`xs`})]),_:1}),v(W,null,{default:a(()=>[w(m(t.$t(`contextMenu.runSetup`)),1)]),_:1})]),_:1})),[[K]]),s((o(),x(U,{clickable:``,onClick:n[6]||=t=>r(`toggleFavorite`,e.workspace)},{default:a(()=>[v(W,{side:``},{default:a(()=>[v(B,{name:e.workspace.favoritedAt?`star`:`star_outline`,size:`xs`},null,8,[`name`])]),_:1}),v(W,null,{default:a(()=>[w(m(e.workspace.favoritedAt?t.$t(`workspace.unfavorite`):t.$t(`workspace.favorite`)),1)]),_:1})]),_:1})),[[K]]),s((o(),x(U,{clickable:``,onClick:n[7]||=t=>r(`manageTags`,e.workspace)},{default:a(()=>[v(W,{side:``},{default:a(()=>[v(B,{name:`label`,size:`xs`})]),_:1}),v(W,null,{default:a(()=>[w(m(t.$t(`tags.manage`)),1)]),_:1})]),_:1})),[[K]]),e.workspace.notionUrl?s((o(),x(U,{key:2,clickable:``,onClick:n[8]||=t=>i(e.workspace.notionUrl)},{default:a(()=>[v(W,{side:``},{default:a(()=>[v(B,{name:`open_in_new`,size:`xs`})]),_:1}),v(W,null,{default:a(()=>[w(m(t.$t(`contextMenu.openNotion`)),1)]),_:1})]),_:1})),[[K]]):C(``,!0),e.workspace.sentryUrl?s((o(),x(U,{key:3,clickable:``,onClick:n[9]||=t=>i(e.workspace.sentryUrl)},{default:a(()=>[v(W,{side:``},{default:a(()=>[v(B,{name:`open_in_new`,size:`xs`})]),_:1}),v(W,null,{default:a(()=>[w(m(t.$t(`contextMenu.openSentry`)),1)]),_:1})]),_:1})),[[K]]):C(``,!0),p.value?s((o(),x(U,{key:4,clickable:``,onClick:n[10]||=e=>i(p.value)},{default:a(()=>[v(W,{side:``},{default:a(()=>[v(B,{name:`merge_type`,size:`xs`})]),_:1}),v(W,null,{default:a(()=>[w(m(t.$t(`contextMenu.openPr`)),1)]),_:1})]),_:1})),[[K]]):C(``,!0),s((o(),x(U,{clickable:``,onClick:u},{default:a(()=>[v(W,{side:``},{default:a(()=>[v(B,{name:`download`,size:`xs`})]),_:1}),v(W,null,{default:a(()=>[w(m(t.$t(`contextMenu.exportEvents`)),1)]),_:1})]),_:1})),[[K]]),g.value?s((o(),x(U,{key:5,clickable:``,onClick:n[11]||=e=>b(`changes-requested`)},{default:a(()=>[v(W,{side:``},{default:a(()=>[v(B,{name:`visibility_off`,size:`xs`,color:`amber-5`})]),_:1}),v(W,null,{default:a(()=>[w(m(t.$t(`contextMenu.dismissChangesRequested`)),1)]),_:1})]),_:1})),[[K]]):C(``,!0),_.value?s((o(),x(U,{key:6,clickable:``,onClick:n[12]||=e=>b(`ci-failed`)},{default:a(()=>[v(W,{side:``},{default:a(()=>[v(B,{name:`visibility_off`,size:`xs`,color:`amber-5`})]),_:1}),v(W,null,{default:a(()=>[w(m(t.$t(`contextMenu.dismissCiFailure`)),1)]),_:1})]),_:1})),[[K]]):C(``,!0),v(me,{dark:``}),e.archived?s((o(),x(U,{key:7,clickable:!e.workspace.worktreePurgedAt,disable:!!e.workspace.worktreePurgedAt,onClick:n[13]||=t=>!e.workspace.worktreePurgedAt&&r(`unarchive`,e.workspace,t)},{default:a(()=>[v(W,{side:``},{default:a(()=>[v(B,{name:`unarchive`,size:`xs`})]),_:1}),v(W,null,{default:a(()=>[w(m(t.$t(`common.unarchive`)),1)]),_:1}),e.workspace.worktreePurgedAt?(o(),x(G,{key:0,anchor:`center left`,self:`center right`,"max-width":`280px`},{default:a(()=>[w(m(t.$t(`contextMenu.unarchiveDisabledPurged`)),1)]),_:1})):C(``,!0)]),_:1},8,[`clickable`,`disable`])),[[K,!e.workspace.worktreePurgedAt]]):s((o(),x(U,{key:8,clickable:``,onClick:n[14]||=t=>r(`archive`,e.workspace,t)},{default:a(()=>[v(W,{side:``},{default:a(()=>[v(B,{name:`archive`,size:`xs`})]),_:1}),v(W,null,{default:a(()=>[w(m(t.$t(`common.archive`)),1)]),_:1})]),_:1})),[[K]]),!e.workspace.worktreePurgedAt&&e.workspace.worktreeOwned!==!1?s((o(),x(U,{key:9,clickable:``,class:`text-orange-5`,onClick:n[15]||=t=>r(`purgeWorktree`,e.workspace,t)},{default:a(()=>[v(W,{side:``},{default:a(()=>[v(B,{name:`cleaning_services`,size:`xs`,color:`orange-5`})]),_:1}),v(W,null,{default:a(()=>[w(m(t.$t(`contextMenu.purgeWorktree`)),1)]),_:1}),v(G,null,{default:a(()=>[w(m(t.$t(`contextMenu.purgeWorktreeTooltip`)),1)]),_:1})]),_:1})),[[K]]):C(``,!0),s((o(),x(U,{clickable:``,class:`text-red-5`,onClick:n[16]||=t=>r(`delete`,e.workspace,t)},{default:a(()=>[v(W,{side:``},{default:a(()=>[v(B,{name:`delete_outline`,size:`xs`,color:`red-5`})]),_:1}),v(W,null,{default:a(()=>[w(m(t.$t(`common.delete`)),1)]),_:1})]),_:1})),[[K]])]),_:1})]),_:1}))}}),bm={key:0,class:`dd-dot dd-dot--running`},xm=rt(j({__name:`WorkspaceDrawerIndicators`,props:{workspace:{}},setup(e){let t=e,n=Ve(),r=Fe(),{t:i}=ke(),s=T(()=>r.autoLoopStates[t.workspace.id]?.crons_count??0),c=T(()=>r.prSnapshots[t.workspace.id]),l=T(()=>{let e=c.value;return e?Le(e)?i(`workspaceList.attentionCiFailed`):Ie(e)?i(`workspaceList.prChangesRequested`,{n:e.number}):i(`workspaceList.prOpen`,{n:e.number}):``});function u(){let e=c.value?.url;e&&window.open(e,`_blank`,`noopener,noreferrer`)}return(t,d)=>(o(),E(D,null,[y(n).getStatus(e.workspace.id)?.status===`running`?(o(),E(`div`,bm)):C(``,!0),y(r).pendingWakeups[e.workspace.id]?(o(),x(B,{key:1,name:`schedule`,size:`14px`,color:`amber-4`},{default:a(()=>[v(G,null,{default:a(()=>[w(m(y(i)(`wakeup.pendingIndicator`)),1)]),_:1})]),_:1})):C(``,!0),s.value>0?(o(),x(B,{key:2,name:`event_repeat`,size:`14px`,color:`cyan-4`},{default:a(()=>[v(G,null,{default:a(()=>[w(m(y(i)(`cron.pendingIndicator`,{n:s.value})),1)]),_:1})]),_:1})):C(``,!0),c.value?.state===`OPEN`?(o(),x(B,{key:3,name:`merge_type`,size:`14px`,color:`green-5`,class:`cursor-pointer`,onClick:L(u,[`stop`])},{default:a(()=>[v(G,null,{default:a(()=>[w(m(l.value),1)]),_:1})]),_:1})):C(``,!0),y(r).autoLoopStates[e.workspace.id]?.auto_loop?(o(),x(B,{key:4,name:`autorenew`,size:`14px`,color:y(r).autoLoopStates[e.workspace.id]?.auto_loop_ready?`amber-4`:`indigo-4`,class:`auto-loop-spin`},{default:a(()=>[v(G,null,{default:a(()=>[w(m(y(r).autoLoopStates[e.workspace.id]?.auto_loop_ready?y(i)(`autoLoop.running`):y(i)(`autoLoop.preparing`)),1)]),_:1})]),_:1},8,[`color`])):C(``,!0)],64))}}),[[`__scopeId`,`data-v-29b434eb`]]),Sm={class:`workspace-list row column full-height`,"data-tour":`workspace-list`},Cm={class:`row items-center no-wrap q-pl-md q-pr-xs q-py-sm`},wm={class:`text-caption text-uppercase text-weight-bold text-grey-6 col ellipsis`},Tm={class:`col items-center justify-end row`},Em={class:`q-px-md q-pb-sm row items-center no-wrap q-gutter-xs`},Dm={class:`col overflow-auto`},Om={key:0,class:`wl-group q-mt-xs`},km={class:`text-caption text-weight-bold q-ml-xs text-red-5`},Am={class:`wl-project-label q-px-md q-pt-xs`},jm=[`onClick`],Mm={class:`col`,style:{"min-width":`0`}},Nm={class:`row items-center no-wrap q-gutter-xs`},Pm=[`title`],Fm={key:1,class:`row q-gutter-xs q-mt-xs`},Im=[`onClick`],Lm={class:`col`,style:{"min-width":`0`}},Rm={class:`row items-center no-wrap q-gutter-xs`},zm=[`title`],Bm={key:1,class:`row q-gutter-xs q-mt-xs`},Vm={key:1,class:`wl-group q-mt-xs`},Hm={class:`text-caption text-weight-bold q-ml-xs text-green-4`},Um={class:`wl-project-label q-px-md q-pt-xs`},Wm=[`onClick`],Gm={class:`col`,style:{"min-width":`0`}},Km={class:`row items-center no-wrap q-gutter-xs`},qm=[`title`],Jm={class:`text-caption q-mt-xs`},Ym={class:`text-green-4`},Xm={class:`q-ml-xs text-grey-8`},Zm={key:1,class:`row q-gutter-xs q-mt-xs`},Qm=[`onClick`],$m={class:`col`,style:{"min-width":`0`}},eh={class:`row items-center no-wrap q-gutter-xs`},th=[`title`],nh={class:`text-caption q-mt-xs`},rh={class:`text-green-4`},ih={class:`q-ml-xs text-grey-8`},ah={key:1,class:`row q-gutter-xs q-mt-xs`},oh={key:2,class:`wl-group q-mt-xs`},sh={class:`text-caption text-weight-bold q-ml-xs text-grey-6`},ch={class:`wl-project-label q-px-md q-pt-xs`},lh=[`onClick`],uh={class:`col`,style:{"min-width":`0`}},dh={class:`row items-center no-wrap q-gutter-xs`},fh=[`title`],ph={class:`wl-item-meta text-caption text-grey-8`},mh={key:1,class:`row q-gutter-xs q-mt-xs`},hh=[`onClick`],gh={class:`col`,style:{"min-width":`0`}},_h={class:`row items-center no-wrap q-gutter-xs`},vh=[`title`],yh={class:`wl-item-meta text-caption text-grey-8`},bh={key:1,class:`row q-gutter-xs q-mt-xs`},xh={key:3,class:`wl-group q-mt-xs`},Sh={class:`text-caption text-weight-bold q-ml-xs text-grey-7`},Ch=[`onClick`],wh={class:`col`,style:{"min-width":`0`}},Th={class:`wl-item-name text-body2 text-grey-5 ellipsis`,style:{"max-width":`400px`}},Eh=[`title`],Dh={class:`wl-item-meta text-caption text-grey-8`},Oh={key:1,class:`row q-gutter-xs q-mt-xs`},kh={key:4,class:`q-pa-lg text-center text-grey-6 text-caption`},Ah={class:`q-px-md q-py-xs text-caption text-grey-8`},jh={class:`text-h6`},Mh={class:`text-body2 q-mb-sm text-grey-6`},Nh={class:`text-caption q-mb-md text-grey-7`,style:{"font-family":`monospace`}},Ph={class:`column q-gutter-xs`},Fh={key:0,class:`text-caption q-mt-sm text-red-5`},Ih={class:`text-h6`},Lh={class:`text-body2 q-mb-md text-grey-6`},Rh={class:`column q-gutter-xs`},zh={key:0,class:`text-caption q-mt-sm text-red-5`},Bh=rt(j({__name:`WorkspaceList`,setup(e){let{t:n}=ke(),r=dt(),{timeAgo:i}=St(),c=Fe(),l=Be(),d=Ve(),f=Ce(),h=Re();function _(e){return mm(e,c.prSnapshots[e.id]).some(e=>e.color===`red-5`)?`#ef4444`:`#f59e0b`}let b=null,k=S(``),j=S(localStorage.getItem(`kobo:favorites-filter`)===`1`);g(j,e=>localStorage.setItem(`kobo:favorites-filter`,e?`1`:`0`));let N=S(localStorage.getItem(`kobo:search-archived`)===`1`);g(N,e=>localStorage.setItem(`kobo:search-archived`,e?`1`:`0`));let ee=S(!1),te=S(null);function P(e){te.value=e,ee.value=!0}function F(e){let t=new Map;for(let n of e){let e=n.projectPath;t.has(e)||t.set(e,[]),t.get(e).push(n)}return[...t.entries()].map(([e,t])=>({projectPath:e,projectName:Ct(e),projectColor:f.getProjectByPath(e)?.color??null,workspaces:t}))}let I=T(()=>c.needsAttention.filter(e=>e.name.toLowerCase().includes(k.value.toLowerCase())).filter(e=>!j.value||e.favoritedAt!==null)),re=T(()=>c.running.filter(e=>e.name.toLowerCase().includes(k.value.toLowerCase())).filter(e=>!j.value||e.favoritedAt!==null)),ie=T(()=>c.idle.filter(e=>e.name.toLowerCase().includes(k.value.toLowerCase())).filter(e=>!j.value||e.favoritedAt!==null)),ae=T(()=>F(I.value)),oe=T(()=>F(re.value)),se=T(()=>F(ie.value)),R=T(()=>f.global.flattenWorkspaceList??!1),z=T(()=>I.value),ce=T(()=>re.value),le=T(()=>ie.value),ue=T(()=>{let e=k.value.toLowerCase();return c.archived.filter(t=>!N.value||e.length===0||t.name.toLowerCase().includes(e)).filter(e=>!j.value||e.favoritedAt!==null)}),de=T(()=>N.value&&k.value.length>0&&ue.value.length>0),fe=T(()=>c.workspaces.length),pe=T(()=>c.running.length),he=S(!0),ge=S(!0),_e=S(!0),V=S(!1);async function ve(){V.value=!V.value,V.value&&!c.archivedLoaded&&await c.fetchArchivedWorkspaces()}let ye=S(!1),be=S(null),xe=S(!1),Se=S(!1),Te=S(!1),Ee=S(!1),De=S(!1),Oe=S(!1),Me=S(!1);function Ie(e,t){t.stopPropagation(),be.value=e,xe.value=!0,Se.value=!1,ye.value=!0}async function Le(){if(!be.value)return;let e=be.value.id;Te.value=!0;try{let{warnings:t}=await c.deleteWorkspace(e,{deleteLocalBranch:xe.value,deleteRemoteBranch:Se.value});l.unsubscribe(e),ye.value=!1,c.selectedWorkspaceId===null&&h.push({name:`workspace`});for(let e of t)r.notify({type:`warning`,message:e,position:`top`,timeout:0,multiLine:!0,classes:`workspace-delete-warning`,actions:[{icon:`content_copy`,color:`white`,round:!0,handler:()=>{navigator.clipboard.writeText(e)}},{label:`OK`,color:`white`,handler:()=>void 0}]})}catch(e){console.error(`Delete failed:`,e)}finally{Te.value=!1}}function ze(){De.value=!1,Oe.value=!1,Ee.value=!0}async function He(){Me.value=!0;try{let{warnings:e,ids:t}=await c.deleteAllArchived({deleteLocalBranch:De.value,deleteRemoteBranch:Oe.value});for(let e of t)l.unsubscribe(e);Ee.value=!1,c.selectedWorkspaceId===null&&h.push({name:`workspace`});for(let t of e)r.notify({type:`warning`,message:t,position:`top`,timeout:0,multiLine:!0,classes:`workspace-delete-warning`,actions:[{icon:`content_copy`,color:`white`,round:!0,handler:()=>{navigator.clipboard.writeText(t)}},{label:`OK`,color:`white`,handler:()=>void 0}]})}catch(e){console.error(`Bulk delete archived failed:`,e)}finally{Me.value=!1}}async function Ue(e,t){t.stopPropagation();try{await c.archiveWorkspace(e.id),c.selectedWorkspaceId===null&&h.push({name:`workspace`})}catch(e){console.error(`Archive failed:`,e)}}function We(e,t){t.stopPropagation(),r.dialog({title:n(`contextMenu.purgeWorktreeDialogTitle`),message:n(`contextMenu.purgeWorktreeDialogMessage`,{name:e.name}),cancel:{flat:!0,label:n(`common.cancel`),color:`grey-5`},ok:{unelevated:!0,label:n(`contextMenu.purgeWorktreeDialogConfirm`),color:`orange-7`},persistent:!0,dark:!0}).onOk(async()=>{let t=await c.purgeWorktree(e.id);if(!t.ok){r.notify({type:`negative`,message:t.error,position:`top`,timeout:6e3});return}if(t.warnings.length===0)r.notify({type:`positive`,message:n(`contextMenu.purgeWorktreeSuccess`),position:`top`});else for(let e of t.warnings)r.notify({type:`warning`,message:e,position:`top`,timeout:0,multiLine:!0,classes:`workspace-delete-warning`,actions:[{icon:`content_copy`,color:`white`,round:!0,handler:()=>{navigator.clipboard.writeText(e)}},{label:`OK`,color:`white`,handler:()=>void 0}]});c.selectedWorkspaceId===null&&h.push({name:`workspace`})})}async function Ke(e,t){t.stopPropagation();try{await c.unarchiveWorkspace(e.id),f.getProjectByPath(e.projectPath)?.devServer?.startCommand&&d.fetchStatus(e.id)}catch(e){console.error(`Unarchive failed:`,e),e?.code===`worktree-purged`&&r.notify({type:`warning`,message:n(`workspaceList.unarchiveBlockedPurged`),position:`top`,timeout:6e3,multiLine:!0})}}function Je(e){c.selectWorkspace(e),h.push({name:`workspace`,params:{id:e}})}function U(e){navigator.clipboard.writeText(e.worktreePath).catch(()=>{})}function W(e){r.dialog({title:n(`contextMenu.rename`),dark:!0,prompt:{model:e.name,isValid:e=>e.trim().length>0,type:`text`},cancel:{flat:!0,label:n(`common.cancel`),color:`grey-5`},ok:{unelevated:!0,label:n(`common.save`),color:`indigo-6`}}).onOk(async t=>{let n=t.trim();if(!(!n||n===e.name))try{await c.renameWorkspace(e.id,n)}catch(e){let t=e instanceof Error?e.message:String(e);r.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}})}function Ye(e){r.dialog({title:n(`contextMenu.editDescription`),message:n(`workspace.descriptionDialogHint`),dark:!0,prompt:{model:e.description??``,isValid:e=>e.length<=200,type:`textarea`},cancel:{flat:!0,label:n(`common.cancel`),color:`grey-5`},ok:{unelevated:!0,label:n(`common.save`),color:`indigo-6`}}).onOk(async t=>{let n=t.trim(),i=n.length>0?n:null;if(i!==(e.description??null))try{await c.updateWorkspaceDescription(e.id,i)}catch(e){let t=e instanceof Error?e.message:String(e);r.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}})}async function Xe(e){try{let t=await fetch(`/api/workspaces/${e.id}/open-editor`,{method:`POST`});if(!t.ok){let e=await t.json();console.error(`[workspace-list] open-editor failed:`,e.error)}}catch(e){console.error(`[workspace-list] open-editor failed:`,e)}}async function Ze(e){try{let t=await fetch(`/api/workspaces/${e.id}/open-file-manager`,{method:`POST`});if(!t.ok){let e=await t.json().catch(()=>({}));r.notify({type:`negative`,message:e.error??n(`tools.openFileManagerFailed`),position:`top`,timeout:6e3})}}catch(e){let t=e instanceof Error?e.message:n(`tools.openFileManagerFailed`);r.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}}function Qe(e){c.toggleFavorite(e.id).catch(e=>{r.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})})}function $e(e){if(Ge(e.status)){r.notify({type:`warning`,message:n(`tools.runSetupScriptBusy`),position:`top`,timeout:4e3});return}r.dialog({title:n(`tools.runSetupScript`),message:n(`tools.runSetupScriptConfirm`),cancel:!0,persistent:!0,dark:!0}).onOk(async()=>{try{await fetch(`/api/workspaces/${e.id}/run-setup-script`,{method:`POST`})}catch(e){console.error(`[workspace-list] run-setup-script failed:`,e)}})}function et(){h.push({name:`create`})}function tt(){h.push({name:`settings`})}function nt(){h.push({name:`search`})}function rt(){h.push({name:`health`})}function at(){h.push({name:`changelog`})}return u(async()=>{await c.fetchWorkspaces(),await c.fetchArchivedWorkspaces(),c.fetchPrSnapshots(),c.fetchAutoLoopStates(),await f.fetchSettings();for(let e of c.workspaces)l.subscribe(e.id),f.getProjectByPath(e.projectPath)?.devServer?.startCommand&&d.fetchStatus(e.id);b=setInterval(()=>{c.fetchWorkspacesInfo()},3e4)}),t(()=>{b&&=(clearInterval(b),null)}),(e,t)=>(o(),E(D,null,[O(`div`,Sm,[O(`div`,Cm,[O(`span`,wm,m(e.$t(`workspaceList.title`)),1),O(`div`,Tm,[y(l).connected?(o(),x(it,{key:0,rounded:``,color:`positive`,class:`q-ml-xs`})):(o(),x(it,{key:1,rounded:``,color:`negative`,class:`q-ml-xs`})),v(H,{flat:``,round:``,dense:``,icon:`search`,class:`q-ml-xs`,size:`sm`,color:`grey-5`,onClick:nt},{default:a(()=>[v(G,null,{default:a(()=>[w(m(e.$t(`search.tooltip`)),1)]),_:1})]),_:1}),v(H,{flat:``,round:``,dense:``,icon:`monitor_heart`,class:`q-ml-xs`,size:`sm`,color:`grey-5`,"data-tour":`health`,onClick:rt},{default:a(()=>[v(G,null,{default:a(()=>[w(m(e.$t(`health.tooltip`)),1)]),_:1})]),_:1}),v(H,{flat:``,round:``,dense:``,icon:`history_edu`,class:`q-ml-xs`,size:`sm`,color:`grey-5`,"data-tour":`changelog`,onClick:at},{default:a(()=>[v(G,null,{default:a(()=>[w(m(e.$t(`changelog.tooltip`)),1)]),_:1})]),_:1}),v(H,{flat:``,round:``,dense:``,icon:`settings`,class:`q-ml-xs`,size:`sm`,color:`grey-5`,"data-tour":`settings`,onClick:tt}),v(H,{flat:``,round:``,dense:``,icon:`add`,size:`sm`,color:`grey-5`,"data-tour":`create-workspace`,onClick:et})])]),O(`div`,Em,[v(Ae,{modelValue:k.value,"onUpdate:modelValue":t[0]||=e=>k.value=e,dense:``,dark:``,placeholder:e.$t(`common.search`),class:`wl-search rounded-borders col`,borderless:``,"data-tour":`search`},{prepend:a(()=>[v(B,{name:`search`,size:`xs`,color:`grey-6`})]),_:1},8,[`modelValue`,`placeholder`]),v(H,{icon:j.value?`star`:`star_outline`,color:j.value?`amber-7`:`grey-7`,flat:``,dense:``,round:``,size:`sm`,onClick:t[1]||=e=>j.value=!j.value},{default:a(()=>[v(G,null,{default:a(()=>[w(m(e.$t(`workspace.showFavoritesOnly`)),1)]),_:1})]),_:1},8,[`icon`,`color`]),v(H,{icon:`inventory_2`,color:N.value?`indigo-4`:`grey-7`,flat:``,dense:``,round:``,size:`sm`,onClick:t[2]||=e=>N.value=!N.value},{default:a(()=>[v(G,null,{default:a(()=>[w(m(e.$t(`workspace.searchArchivedToggle`)),1)]),_:1})]),_:1},8,[`color`])]),v(me,{dark:``}),O(`div`,Dm,[I.value.length>0?(o(),E(`div`,Om,[O(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:t[3]||=e=>he.value=!he.value},[v(B,{name:he.value?`expand_more`:`chevron_right`,size:`xs`,color:`red-5`},null,8,[`name`]),O(`span`,km,m(e.$t(`workspaceList.needsAttention`)),1),v(it,{label:I.value.length,color:`red-9`,"text-color":`white`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])]),s(O(`div`,null,[R.value?(o(!0),E(D,{key:1},p(z.value,e=>(o(),E(`div`,{key:e.id,class:M([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":e.id===y(c).selectedWorkspaceId}]),style:A([{borderLeft:`3px solid ${_(e)}`},e.favoritedAt?{borderBottom:`2px solid #f59e0b`}:{}]),onClick:t=>Je(e.id),onContextmenu:t[5]||=L(()=>{},[`prevent`])},[v(ym,{workspace:e,onRename:W,onEditDescription:Ye,onCopyPath:U,onOpenEditor:Xe,onOpenFileManager:Ze,onRunSetup:$e,onToggleFavorite:Qe,onManageTags:P,onArchive:Ue,onPurgeWorktree:We,onDelete:Ie},null,8,[`workspace`]),O(`div`,Lm,[O(`div`,Rm,[v(xm,{workspace:e},null,8,[`workspace`]),O(`div`,{class:`wl-item-name text-body2 text-grey-3 ellipsis`,style:A({fontWeight:e.hasUnread?700:400,opacity:e.hasUnread?1:.75,maxWidth:`400px`})},[w(m(e.name)+` `,1),v(G,null,{default:a(()=>[w(m(e.name),1)]),_:2},1024)],4)]),e.agentDescription||e.description?(o(),E(`div`,{key:0,class:`text-caption text-grey-7 ellipsis q-mt-xs`,title:e.agentDescription||e.description,style:{"max-width":`100%`,"font-size":`11px`}},m(e.agentDescription||e.description),9,zm)):C(``,!0),v(_t,{workspace:e,class:`q-mt-xs`},null,8,[`workspace`]),v(vm,{workspace:e},null,8,[`workspace`]),R.value||e.tags.length>0?(o(),E(`div`,Bm,[R.value?(o(),x(xt,{key:0,dense:``,size:`sm`,color:y(Et)(e)??`grey-8`,"text-color":y(Tt)(e),label:y(wt)(e)},null,8,[`color`,`text-color`,`label`])):C(``,!0),(o(!0),E(D,null,p(e.tags,e=>(o(),x(xt,{key:e,dense:``,size:`sm`,color:`grey-8`,"text-color":`grey-3`,label:e},null,8,[`label`]))),128))])):C(``,!0)])],46,Im))),128)):(o(!0),E(D,{key:0},p(ae.value,e=>(o(),E(`div`,{key:e.projectPath,class:`wl-project-group`},[O(`div`,Am,[v(B,{name:`folder`,size:`12px`,color:e.projectColor??`grey-7`,class:`q-mr-xs`},null,8,[`color`]),O(`span`,{class:M([`text-caption`,e.projectColor?`text-${e.projectColor}`:`text-grey-7`])},m(e.projectName),3)]),(o(!0),E(D,null,p(e.workspaces,e=>(o(),E(`div`,{key:e.id,class:M([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":e.id===y(c).selectedWorkspaceId}]),style:A([{borderLeft:`3px solid ${_(e)}`},e.favoritedAt?{borderBottom:`2px solid #f59e0b`}:{}]),onClick:t=>Je(e.id),onContextmenu:t[4]||=L(()=>{},[`prevent`])},[v(ym,{workspace:e,onRename:W,onEditDescription:Ye,onCopyPath:U,onOpenEditor:Xe,onOpenFileManager:Ze,onRunSetup:$e,onToggleFavorite:Qe,onManageTags:P,onArchive:Ue,onPurgeWorktree:We,onDelete:Ie},null,8,[`workspace`]),O(`div`,Mm,[O(`div`,Nm,[v(xm,{workspace:e},null,8,[`workspace`]),O(`div`,{class:`wl-item-name text-body2 text-grey-3 ellipsis`,style:A({fontWeight:e.hasUnread?700:400,opacity:e.hasUnread?1:.75,maxWidth:`400px`})},[w(m(e.name)+` `,1),v(G,null,{default:a(()=>[w(m(e.name),1)]),_:2},1024)],4)]),e.agentDescription||e.description?(o(),E(`div`,{key:0,class:`text-caption text-grey-7 ellipsis q-mt-xs`,title:e.agentDescription||e.description,style:{"max-width":`100%`,"font-size":`11px`}},m(e.agentDescription||e.description),9,Pm)):C(``,!0),v(_t,{workspace:e,class:`q-mt-xs`},null,8,[`workspace`]),v(vm,{workspace:e},null,8,[`workspace`]),e.tags.length>0?(o(),E(`div`,Fm,[(o(!0),E(D,null,p(e.tags,e=>(o(),x(xt,{key:e,dense:``,size:`sm`,color:`grey-8`,"text-color":`grey-3`,label:e},null,8,[`label`]))),128))])):C(``,!0)])],46,jm))),128))]))),128))],512),[[ne,he.value]])])):C(``,!0),re.value.length>0?(o(),E(`div`,Vm,[O(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:t[6]||=e=>ge.value=!ge.value},[v(B,{name:ge.value?`expand_more`:`chevron_right`,size:`xs`,color:`green-5`},null,8,[`name`]),O(`span`,Hm,m(e.$t(`workspaceList.running`)),1),v(it,{label:re.value.length,color:`green-9`,"text-color":`white`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])]),s(O(`div`,null,[R.value?(o(!0),E(D,{key:1},p(ce.value,e=>(o(),E(`div`,{key:e.id,class:M([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":e.id===y(c).selectedWorkspaceId}]),style:A([{borderLeft:`3px solid #4ade80`},e.favoritedAt?{borderBottom:`2px solid #f59e0b`}:{}]),onClick:t=>Je(e.id),onContextmenu:t[8]||=L(()=>{},[`prevent`])},[v(ym,{workspace:e,onRename:W,onEditDescription:Ye,onCopyPath:U,onOpenEditor:Xe,onOpenFileManager:Ze,onRunSetup:$e,onToggleFavorite:Qe,onManageTags:P,onArchive:Ue,onPurgeWorktree:We,onDelete:Ie},null,8,[`workspace`]),O(`div`,$m,[O(`div`,eh,[v(xm,{workspace:e},null,8,[`workspace`]),O(`div`,{class:`wl-item-name text-body2 text-grey-3 ellipsis`,style:A({fontWeight:e.hasUnread?700:400,opacity:e.hasUnread?1:.75,maxWidth:`400px`})},[w(m(e.name)+` `,1),v(G,null,{default:a(()=>[w(m(e.name),1)]),_:2},1024)],4)]),e.agentDescription||e.description?(o(),E(`div`,{key:0,class:`text-caption text-grey-7 ellipsis q-mt-xs`,title:e.agentDescription||e.description,style:{"max-width":`100%`,"font-size":`11px`}},m(e.agentDescription||e.description),9,th)):C(``,!0),v(_t,{workspace:e,class:`q-mt-xs`},null,8,[`workspace`]),O(`div`,nh,[O(`span`,rh,m(e.status),1),O(`span`,ih,`· `+m(y(i)(e.updatedAt)),1)]),R.value||e.tags.length>0?(o(),E(`div`,ah,[R.value?(o(),x(xt,{key:0,dense:``,size:`sm`,color:y(Et)(e)??`grey-8`,"text-color":y(Tt)(e),label:y(wt)(e)},null,8,[`color`,`text-color`,`label`])):C(``,!0),(o(!0),E(D,null,p(e.tags,e=>(o(),x(xt,{key:e,dense:``,size:`sm`,color:`grey-8`,"text-color":`grey-3`,label:e},null,8,[`label`]))),128))])):C(``,!0)])],46,Qm))),128)):(o(!0),E(D,{key:0},p(oe.value,e=>(o(),E(`div`,{key:e.projectPath,class:`wl-project-group`},[O(`div`,Um,[v(B,{name:`folder`,size:`12px`,color:e.projectColor??`grey-7`,class:`q-mr-xs`},null,8,[`color`]),O(`span`,{class:M([`text-caption`,e.projectColor?`text-${e.projectColor}`:`text-grey-7`])},m(e.projectName),3)]),(o(!0),E(D,null,p(e.workspaces,e=>(o(),E(`div`,{key:e.id,class:M([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":e.id===y(c).selectedWorkspaceId}]),style:A([{borderLeft:`3px solid #4ade80`},e.favoritedAt?{borderBottom:`2px solid #f59e0b`}:{}]),onClick:t=>Je(e.id),onContextmenu:t[7]||=L(()=>{},[`prevent`])},[v(ym,{workspace:e,onRename:W,onEditDescription:Ye,onCopyPath:U,onOpenEditor:Xe,onOpenFileManager:Ze,onRunSetup:$e,onToggleFavorite:Qe,onManageTags:P,onArchive:Ue,onPurgeWorktree:We,onDelete:Ie},null,8,[`workspace`]),O(`div`,Gm,[O(`div`,Km,[v(xm,{workspace:e},null,8,[`workspace`]),O(`div`,{class:`wl-item-name text-body2 text-grey-3 ellipsis`,style:A({fontWeight:e.hasUnread?700:400,opacity:e.hasUnread?1:.75,maxWidth:`400px`})},[w(m(e.name)+` `,1),v(G,null,{default:a(()=>[w(m(e.name),1)]),_:2},1024)],4)]),e.agentDescription||e.description?(o(),E(`div`,{key:0,class:`text-caption text-grey-7 ellipsis q-mt-xs`,title:e.agentDescription||e.description,style:{"max-width":`100%`,"font-size":`11px`}},m(e.agentDescription||e.description),9,qm)):C(``,!0),v(_t,{workspace:e,class:`q-mt-xs`},null,8,[`workspace`]),O(`div`,Jm,[O(`span`,Ym,m(e.status),1),O(`span`,Xm,`· `+m(y(i)(e.updatedAt)),1)]),e.tags.length>0?(o(),E(`div`,Zm,[(o(!0),E(D,null,p(e.tags,e=>(o(),x(xt,{key:e,dense:``,size:`sm`,color:`grey-8`,"text-color":`grey-3`,label:e},null,8,[`label`]))),128))])):C(``,!0)])],46,Wm))),128))]))),128))],512),[[ne,ge.value]])])):C(``,!0),ie.value.length>0?(o(),E(`div`,oh,[O(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:t[9]||=e=>_e.value=!_e.value},[v(B,{name:_e.value?`expand_more`:`chevron_right`,size:`xs`,color:`grey-6`},null,8,[`name`]),O(`span`,sh,m(e.$t(`workspaceList.idle`)),1),v(it,{label:ie.value.length,color:`grey-8`,"text-color":`grey-4`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])]),s(O(`div`,null,[R.value?(o(!0),E(D,{key:1},p(le.value,e=>(o(),E(`div`,{key:e.id,class:M([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":e.id===y(c).selectedWorkspaceId}]),style:A([{borderLeft:`3px solid #666`},e.favoritedAt?{borderBottom:`2px solid #f59e0b`}:{}]),onClick:t=>Je(e.id),onContextmenu:t[11]||=L(()=>{},[`prevent`])},[v(ym,{workspace:e,onRename:W,onEditDescription:Ye,onCopyPath:U,onOpenEditor:Xe,onOpenFileManager:Ze,onRunSetup:$e,onToggleFavorite:Qe,onManageTags:P,onArchive:Ue,onPurgeWorktree:We,onDelete:Ie},null,8,[`workspace`]),O(`div`,gh,[O(`div`,_h,[v(xm,{workspace:e},null,8,[`workspace`]),O(`div`,{class:`wl-item-name text-body2 text-grey-3 ellipsis`,style:A({fontWeight:e.hasUnread?700:400,opacity:e.hasUnread?1:.75,maxWidth:`400px`})},[w(m(e.name)+` `,1),v(G,null,{default:a(()=>[w(m(e.name),1)]),_:2},1024)],4)]),e.agentDescription||e.description?(o(),E(`div`,{key:0,class:`text-caption text-grey-7 ellipsis q-mt-xs`,title:e.agentDescription||e.description,style:{"max-width":`100%`,"font-size":`11px`}},m(e.agentDescription||e.description),9,vh)):C(``,!0),v(_t,{workspace:e,class:`q-mt-xs`},null,8,[`workspace`]),O(`div`,yh,m(y(i)(e.updatedAt)),1),R.value||e.tags.length>0?(o(),E(`div`,bh,[R.value?(o(),x(xt,{key:0,dense:``,size:`sm`,color:y(Et)(e)??`grey-8`,"text-color":y(Tt)(e),label:y(wt)(e)},null,8,[`color`,`text-color`,`label`])):C(``,!0),(o(!0),E(D,null,p(e.tags,e=>(o(),x(xt,{key:e,dense:``,size:`sm`,color:`grey-8`,"text-color":`grey-3`,label:e},null,8,[`label`]))),128))])):C(``,!0)])],46,hh))),128)):(o(!0),E(D,{key:0},p(se.value,e=>(o(),E(`div`,{key:e.projectPath,class:`wl-project-group`},[O(`div`,ch,[v(B,{name:`folder`,size:`12px`,color:e.projectColor??`grey-7`,class:`q-mr-xs`},null,8,[`color`]),O(`span`,{class:M([`text-caption`,e.projectColor?`text-${e.projectColor}`:`text-grey-7`])},m(e.projectName),3)]),(o(!0),E(D,null,p(e.workspaces,e=>(o(),E(`div`,{key:e.id,class:M([`wl-item cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":e.id===y(c).selectedWorkspaceId}]),style:A([{borderLeft:`3px solid #666`},e.favoritedAt?{borderBottom:`2px solid #f59e0b`}:{}]),onClick:t=>Je(e.id),onContextmenu:t[10]||=L(()=>{},[`prevent`])},[v(ym,{workspace:e,onRename:W,onEditDescription:Ye,onCopyPath:U,onOpenEditor:Xe,onOpenFileManager:Ze,onRunSetup:$e,onToggleFavorite:Qe,onManageTags:P,onArchive:Ue,onPurgeWorktree:We,onDelete:Ie},null,8,[`workspace`]),O(`div`,uh,[O(`div`,dh,[v(xm,{workspace:e},null,8,[`workspace`]),O(`div`,{class:`wl-item-name text-body2 text-grey-3 ellipsis`,style:A({fontWeight:e.hasUnread?700:400,opacity:e.hasUnread?1:.75,maxWidth:`400px`})},[w(m(e.name)+` `,1),v(G,null,{default:a(()=>[w(m(e.name),1)]),_:2},1024)],4)]),e.agentDescription||e.description?(o(),E(`div`,{key:0,class:`text-caption text-grey-7 ellipsis q-mt-xs`,title:e.agentDescription||e.description,style:{"max-width":`100%`,"font-size":`11px`}},m(e.agentDescription||e.description),9,fh)):C(``,!0),v(_t,{workspace:e,class:`q-mt-xs`},null,8,[`workspace`]),O(`div`,ph,m(y(i)(e.updatedAt)),1),e.tags.length>0?(o(),E(`div`,mh,[(o(!0),E(D,null,p(e.tags,e=>(o(),x(xt,{key:e,dense:``,size:`sm`,color:`grey-8`,"text-color":`grey-3`,label:e},null,8,[`label`]))),128))])):C(``,!0)])],46,lh))),128))]))),128))],512),[[ne,_e.value]])])):C(``,!0),ue.value.length>0||V.value?(o(),E(`div`,xh,[O(`div`,{class:`wl-group-header row items-center q-px-md q-py-xs cursor-pointer non-selectable`,onClick:ve},[v(B,{name:V.value||de.value?`expand_more`:`chevron_right`,size:`xs`,color:`grey-7`},null,8,[`name`]),v(B,{name:`inventory_2`,size:`xs`,color:`grey-7`,class:`q-ml-xs`}),O(`span`,Sh,m(e.$t(`workspaceList.archived`)),1),ue.value.length>0?(o(),x(it,{key:0,label:ue.value.length,color:`grey-9`,"text-color":`grey-5`,class:`q-ml-auto`,style:{"font-size":`10px`}},null,8,[`label`])):C(``,!0),ue.value.length>0?(o(),x(H,{key:1,flat:``,dense:``,round:``,size:`xs`,icon:`delete_sweep`,color:`grey-7`,class:`q-ml-xs`,onClick:L(ze,[`stop`])},{default:a(()=>[v(G,null,{default:a(()=>[w(m(e.$t(`workspaceList.deleteArchivedDialog.tooltip`)),1)]),_:1})]),_:1})):C(``,!0)]),s(O(`div`,null,[(o(!0),E(D,null,p(ue.value,n=>(o(),E(`div`,{key:n.id,class:M([`wl-item wl-item--archived cursor-pointer q-pa-sm q-mx-xs rounded-borders`,{"wl-item--selected":n.id===y(c).selectedWorkspaceId}]),style:A([{borderLeft:`3px solid #555`},n.favoritedAt?{borderBottom:`2px solid #f59e0b`}:{}]),onClick:e=>Je(n.id),onContextmenu:t[12]||=L(()=>{},[`prevent`])},[v(ym,{workspace:n,archived:``,onRename:W,onEditDescription:Ye,onCopyPath:U,onOpenEditor:Xe,onOpenFileManager:Ze,onRunSetup:$e,onToggleFavorite:Qe,onManageTags:P,onArchive:Ue,onPurgeWorktree:We,onUnarchive:Ke,onDelete:Ie},null,8,[`workspace`]),O(`div`,wh,[O(`div`,Th,[w(m(n.name)+` `,1),v(G,null,{default:a(()=>[w(m(n.name),1)]),_:2},1024)]),n.agentDescription||n.description?(o(),E(`div`,{key:0,class:`text-caption text-grey-7 ellipsis q-mt-xs`,title:n.agentDescription||n.description,style:{"max-width":`100%`,"font-size":`11px`}},m(n.agentDescription||n.description),9,Eh)):C(``,!0),v(_t,{workspace:n,class:`q-mt-xs`},null,8,[`workspace`]),O(`div`,Dh,m(e.$t(`workspaceList.archived`))+` `+m(y(i)(n.archivedAt)),1),R.value||n.tags.length>0?(o(),E(`div`,Oh,[R.value?(o(),x(xt,{key:0,dense:``,size:`sm`,color:y(Et)(n)??`grey-8`,"text-color":y(Tt)(n),label:y(wt)(n)},null,8,[`color`,`text-color`,`label`])):C(``,!0),(o(!0),E(D,null,p(n.tags,e=>(o(),x(xt,{key:e,dense:``,size:`sm`,color:`grey-8`,"text-color":`grey-3`,label:e},null,8,[`label`]))),128))])):C(``,!0)])],46,Ch))),128))],512),[[ne,V.value||de.value]])])):C(``,!0),I.value.length===0&&re.value.length===0&&ie.value.length===0&&ue.value.length===0?(o(),E(`div`,kh,[y(c).loading?(o(),E(D,{key:0},[w(m(e.$t(`common.loading`)),1)],64)):k.value?(o(),E(D,{key:1},[w(m(e.$t(`common.noResults`,{query:k.value})),1)],64)):(o(),E(D,{key:2},[w(m(e.$t(`workspaceList.noWorkspaces`)),1)],64))])):C(``,!0)]),v(me,{dark:``}),O(`div`,Ah,m(e.$t(`workspaceList.footer`,{count:fe.value},fe.value))+` · `+m(e.$t(`workspaceList.footerRunning`,{count:pe.value})),1)]),v(Ne,{modelValue:ye.value,"onUpdate:modelValue":t[16]||=e=>ye.value=e,persistent:``},{default:a(()=>[v(Pe,{class:`text-grey-3`,style:{"min-width":`360px`,background:`#1e1e3a`}},{default:a(()=>[v(qe,null,{default:a(()=>[O(`div`,jh,m(e.$t(`workspaceList.deleteDialog.title`)),1)]),_:1}),v(qe,{class:`q-pt-none`},{default:a(()=>[O(`div`,Mh,m(be.value?.name),1),O(`div`,Nh,m(be.value?.workingBranch),1),O(`div`,Ph,[v(je,{modelValue:xe.value,"onUpdate:modelValue":t[13]||=e=>xe.value=e,label:e.$t(`workspaceList.deleteDialog.deleteLocal`),dark:``,dense:``,color:`red-5`},null,8,[`modelValue`,`label`]),v(je,{modelValue:Se.value,"onUpdate:modelValue":t[14]||=e=>Se.value=e,disable:!xe.value,label:e.$t(`workspaceList.deleteDialog.deleteRemote`),dark:``,dense:``,color:`red-5`},null,8,[`modelValue`,`disable`,`label`])]),Se.value?(o(),E(`div`,Fh,m(e.$t(`workspaceList.deleteDialog.warning`)),1)):C(``,!0)]),_:1}),v(we,{align:`right`},{default:a(()=>[v(H,{flat:``,label:e.$t(`common.cancel`),color:`grey-5`,onClick:t[15]||=e=>ye.value=!1,disable:Te.value},null,8,[`label`,`disable`]),v(H,{flat:``,label:e.$t(`common.delete`),color:`red-5`,loading:Te.value,onClick:Le},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),v(Ne,{modelValue:Ee.value,"onUpdate:modelValue":t[20]||=e=>Ee.value=e,persistent:``},{default:a(()=>[v(Pe,{class:`text-grey-3`,style:{"min-width":`360px`,background:`#1e1e3a`}},{default:a(()=>[v(qe,null,{default:a(()=>[O(`div`,Ih,m(e.$t(`workspaceList.deleteArchivedDialog.title`)),1)]),_:1}),v(qe,{class:`q-pt-none`},{default:a(()=>[O(`div`,Lh,m(e.$t(`workspaceList.deleteArchivedDialog.message`,{count:y(c).archived.length})),1),O(`div`,Rh,[v(je,{modelValue:De.value,"onUpdate:modelValue":t[17]||=e=>De.value=e,label:e.$t(`workspaceList.deleteDialog.deleteLocal`),dark:``,dense:``,color:`red-5`},null,8,[`modelValue`,`label`]),v(je,{modelValue:Oe.value,"onUpdate:modelValue":t[18]||=e=>Oe.value=e,disable:!De.value,label:e.$t(`workspaceList.deleteDialog.deleteRemote`),dark:``,dense:``,color:`red-5`},null,8,[`modelValue`,`disable`,`label`])]),Oe.value?(o(),E(`div`,zh,m(e.$t(`workspaceList.deleteDialog.warning`)),1)):C(``,!0)]),_:1}),v(we,{align:`right`},{default:a(()=>[v(H,{flat:``,label:e.$t(`common.cancel`),color:`grey-5`,disable:Me.value,onClick:t[19]||=e=>Ee.value=!1},null,8,[`label`,`disable`]),v(H,{flat:``,label:e.$t(`common.delete`),color:`red-5`,loading:Me.value,onClick:He},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),te.value?(o(),x(fm,{key:0,modelValue:ee.value,"onUpdate:modelValue":t[21]||=e=>ee.value=e,workspace:te.value},null,8,[`modelValue`,`workspace`])):C(``,!0)],64))}}),[[`__scopeId`,`data-v-767a0899`]]);function Vh(e,t){let n=e=>e.split(`.`).map(e=>Number.parseInt(e,10)||0),r=n(e),i=n(t),a=Math.max(r.length,i.length);for(let e=0;e<a;e++){let t=(r[e]??0)-(i[e]??0);if(t!==0)return t}return 0}var Hh=`kobo:last-seen-version`;function Uh(){let e=S(!1),t=S([]);async function n(){try{let n=await fetch(`/api/changelog`);if(!n.ok)return;let r=await n.json(),i=r.currentVersion;if(!i)return;let a=localStorage.getItem(Hh);if(!a){localStorage.setItem(Hh,i);return}if(a===i)return;let o=(r.versions??[]).filter(e=>Vh(e.version,a)>0&&Vh(e.version,i)<=0).sort((e,t)=>Vh(t.version,e.version));localStorage.setItem(Hh,i),o.length>0&&(t.value=o,e.value=!0)}catch{}}return{showDialog:e,newVersions:t,checkForUpdate:n}}var Wh={class:`column no-wrap`,style:{position:`absolute`,inset:`0`,overflow:`hidden`}},Gh={class:`col`,style:{overflow:`auto`}},Kh=`kobo:rightTab`,qh=`at-left-drawer-width`,Jh=`kobo:rightDrawerWidth`,Yh=240,Xh=800,Zh=`kobo:rightDrawerSplit`,Qh=rt(j({__name:`MainLayout`,setup(e){let{maybeStartOnFirstVisit:t}=Dt(),{showDialog:n,newVersions:r,checkForUpdate:i}=Uh();u(()=>{t(),i()});let s=[`git`,`tasks`,`subagents`,`documents`,`schedule`],l=localStorage.getItem(Kh),d=S(l&&s.includes(l)?l:`git`);function f(e){d.value=e,localStorage.setItem(Kh,e)}let p=nt();g(()=>p.requestOpen,()=>f(`documents`));let h=S(!0),b=S(!0),E=parseInt(localStorage.getItem(qh)??`260`,10),D=S(Math.min(500,Math.max(140,E))),k=S(!1),j=parseInt(localStorage.getItem(Jh)??`300`,10),M=S(Math.min(Xh,Math.max(Yh,j))),ee=S(!1);function te(e){e.preventDefault(),k.value=!0;let t=e=>{D.value=Math.min(500,Math.max(140,e.clientX))},n=()=>{k.value=!1,localStorage.setItem(qh,String(D.value)),document.removeEventListener(`mousemove`,t),document.removeEventListener(`mouseup`,n),document.body.style.cursor=``,document.body.style.userSelect=``};document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`,document.addEventListener(`mousemove`,t),document.addEventListener(`mouseup`,n)}function P(e){e.preventDefault(),ee.value=!0;let t=e=>{M.value=Math.min(Xh,Math.max(Yh,window.innerWidth-e.clientX))},n=()=>{ee.value=!1,localStorage.setItem(Jh,String(M.value)),document.removeEventListener(`mousemove`,t),document.removeEventListener(`mouseup`,n),document.body.style.cursor=``,document.body.style.userSelect=``};document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`,document.addEventListener(`mousemove`,t),document.addEventListener(`mouseup`,n)}let F=He(),I=Fe(),L=T(()=>ht(I.selectedWorkspace?.engine));g(L,e=>{!e&&d.value===`subagents`&&f(`tasks`)}),g(()=>I.selectedWorkspaceId,e=>{e&&p.fetchDocuments(e)},{immediate:!0}),g(()=>F.name,e=>{e!==`workspace`&&I.selectedWorkspaceId&&(I.selectedWorkspaceId=null,I.selectedSessionId=null)},{immediate:!0});let ne=T(()=>F.name===`workspace`);c(`openDrawerTab`,e=>{b.value=!0,f(e)});let re=parseInt(localStorage.getItem(Zh)??`60`,10),ie=S(Math.min(80,Math.max(20,re))),ae=S(!1),oe=S(`tools`);function se(e){e.preventDefault(),ae.value=!0;let t=e.target.closest(`.q-drawer`);if(!t)return;let n=e=>{let n=t.getBoundingClientRect(),r=e.clientY-n.top,i=Math.round(r/n.height*100);ie.value=Math.min(80,Math.max(20,i))},r=()=>{ae.value=!1,localStorage.setItem(Zh,String(ie.value)),document.removeEventListener(`mousemove`,n),document.removeEventListener(`mouseup`,r),document.body.style.cursor=``,document.body.style.userSelect=``};document.body.style.cursor=`row-resize`,document.body.style.userSelect=`none`,document.addEventListener(`mousemove`,n),document.addEventListener(`mouseup`,r)}return(e,t)=>{let i=N(`router-view`);return o(),x(Vt,{view:`lHh LpR lFf`},{default:a(()=>[v(kt,{modelValue:h.value,"onUpdate:modelValue":t[0]||=e=>h.value=e,width:D.value,breakpoint:0,persistent:``,bordered:``,class:`bg-dark`},{default:a(()=>[v(Bh),O(`div`,{class:`resize-handle`,onMousedown:te},null,32)]),_:1},8,[`modelValue`,`width`]),v(kt,{"model-value":ne.value,side:`right`,width:M.value,breakpoint:0,persistent:``,bordered:``,class:`bg-dark`},{default:a(()=>[O(`div`,{class:`resize-handle resize-handle--right`,onMousedown:P},null,32),O(`div`,Wh,[O(`div`,{style:A([{flex:`${ie.value} 1 0%`},{overflow:`hidden`}]),class:`column no-wrap`},[v(Lt,{"model-value":d.value,dense:``,dark:``,"active-color":`indigo-4`,"indicator-color":`indigo-4`,"narrow-indicator":``,"onUpdate:modelValue":f},{default:a(()=>[v(Pt,{name:`git`,icon:`commit`}),v(Pt,{name:`tasks`,icon:`checklist`}),L.value?(o(),x(Pt,{key:0,name:`subagents`,icon:`smart_toy`})):C(``,!0),v(Pt,{name:`documents`,icon:`description`}),v(Pt,{name:`schedule`,icon:`event`},{default:a(()=>[v(G,null,{default:a(()=>[w(m(e.$t(`schedule.tabLabel`)),1)]),_:1})]),_:1})]),_:1},8,[`model-value`]),v(me,{dark:``}),O(`div`,Gh,[v(zt,{modelValue:d.value,"onUpdate:modelValue":t[1]||=e=>d.value=e,animated:``,"keep-alive":``},{default:a(()=>[v(Rt,{name:`git`,class:`q-pa-none`},{default:a(()=>[v(vi,{workspace:y(I).selectedWorkspace},null,8,[`workspace`])]),_:1}),v(Rt,{name:`tasks`,class:`q-pa-none`},{default:a(()=>[v(ta,{workspace:y(I).selectedWorkspace,tasks:y(I).tasks},null,8,[`workspace`,`tasks`]),v(me,{dark:``}),v(Yt,{tasks:y(I).acceptanceCriteria},null,8,[`tasks`]),v(me,{dark:``}),v(tn)]),_:1}),L.value?(o(),x(Rt,{key:0,name:`subagents`,class:`q-pa-none`},{default:a(()=>[v(Wi)]),_:1})):C(``,!0),v(Rt,{name:`documents`,class:`q-pa-none`},{default:a(()=>[v(dn,{workspace:y(I).selectedWorkspace},null,8,[`workspace`])]),_:1}),v(Rt,{name:`schedule`,class:`q-pa-none`},{default:a(()=>[y(I).selectedWorkspaceId?(o(),x(Mi,{key:0,"workspace-id":y(I).selectedWorkspaceId},null,8,[`workspace-id`])):C(``,!0)]),_:1})]),_:1},8,[`modelValue`])])],4),O(`div`,{class:`vertical-resize-handle`,onMousedown:se},null,32),O(`div`,{style:A([{flex:`${100-ie.value} 1 0%`},{overflow:`hidden`}]),class:`column no-wrap`},[v(Lt,{modelValue:oe.value,"onUpdate:modelValue":t[2]||=e=>oe.value=e,dense:``,dark:``,"active-color":`indigo-4`,"indicator-color":`indigo-4`,"narrow-indicator":``},{default:a(()=>[v(Pt,{name:`tools`,icon:`build`}),v(Pt,{name:`terminal`,icon:`terminal`})]),_:1},8,[`modelValue`]),v(me,{dark:``}),v(zt,{modelValue:oe.value,"onUpdate:modelValue":t[3]||=e=>oe.value=e,animated:``,"keep-alive":``,class:`col`,style:{overflow:`hidden`}},{default:a(()=>[v(Rt,{name:`tools`,class:`q-pa-none`,style:{overflow:`auto`}},{default:a(()=>[v(rm,{workspace:y(I).selectedWorkspace},null,8,[`workspace`])]),_:1}),v(Rt,{name:`terminal`,class:`q-pa-none`,style:{height:`100%`}},{default:a(()=>[v(Np)]),_:1})]),_:1},8,[`modelValue`])],4)])]),_:1},8,[`model-value`,`width`]),v(Bt,{class:`bg-dark`},{default:a(()=>[v(i)]),_:1}),v(sm,{modelValue:y(n),"onUpdate:modelValue":t[4]||=e=>_(n)?n.value=e:null,versions:y(r)},null,8,[`modelValue`,`versions`])]),_:1})}}}),[[`__scopeId`,`data-v-75f58b49`]]);export{Qh as default};