@loicngr/kobo 1.7.24 → 1.7.26

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 (45) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/server/db/schema.js +1 -1
  3. package/dist/server/services/agent/engines/claude-code/engine.js +12 -16
  4. package/dist/server/services/agent/engines/claude-code/precompact-hook.js +22 -0
  5. package/dist/server/services/workspace-service.js +1 -1
  6. package/dist/shared/models.js +6 -0
  7. package/package.json +1 -1
  8. package/src/client/dist/spa/assets/{ActivityFeed-Dhj2Y5CQ.js → ActivityFeed-kV5CrtOV.js} +1 -1
  9. package/src/client/dist/spa/assets/{ChangelogPage-BqCf7Tdk.js → ChangelogPage-xdtvQVeE.js} +1 -1
  10. package/src/client/dist/spa/assets/CreatePage-DDuStqsB.css +1 -0
  11. package/src/client/dist/spa/assets/{CreatePage-DhhwW2iK.js → CreatePage-DFtuX7-R.js} +2 -2
  12. package/src/client/dist/spa/assets/{DiffViewer-mgpaPemQ.js → DiffViewer-DQ5PexFb.js} +3 -3
  13. package/src/client/dist/spa/assets/{HealthPage-Dl-UGLDD.js → HealthPage-Dkrr4w8H.js} +1 -1
  14. package/src/client/dist/spa/assets/{MainLayout-BiDZ_U51.js → MainLayout-Bpqn8uw3.js} +2 -2
  15. package/src/client/dist/spa/assets/{SearchPage-DFyeKlPZ.js → SearchPage-BI4zhWxn.js} +1 -1
  16. package/src/client/dist/spa/assets/{SettingsPage-CWzjJmRK.js → SettingsPage-BEMFsN0N.js} +1 -1
  17. package/src/client/dist/spa/assets/{WorkspacePage-Do8yOxLh.js → WorkspacePage-CRs9kUM0.js} +3 -3
  18. package/src/client/dist/spa/assets/{cssMode-C_8uTD04.js → cssMode-Cj7dq4tA.js} +1 -1
  19. package/src/client/dist/spa/assets/{editor.api-BLN2wAE3.js → editor.api-DmE4Vf3n.js} +1 -1
  20. package/src/client/dist/spa/assets/{editor.main-DJVMM2i4.js → editor.main-BtZbr82f.js} +3 -3
  21. package/src/client/dist/spa/assets/{engineFeatures-DcjAE8bG.js → engineFeatures-3w5M3c1y.js} +1 -1
  22. package/src/client/dist/spa/assets/{expand-template-DijLIEI5.js → expand-template-Cvhhn0Oi.js} +1 -1
  23. package/src/client/dist/spa/assets/{freemarker2-g6EYTs3n.js → freemarker2-D9gcKCMr.js} +1 -1
  24. package/src/client/dist/spa/assets/{handlebars-Cv6y1teP.js → handlebars-BrcqC-zE.js} +1 -1
  25. package/src/client/dist/spa/assets/{html-Bc4U-abP.js → html-DpYYEfpW.js} +1 -1
  26. package/src/client/dist/spa/assets/{htmlMode-BwFjeo24.js → htmlMode-B8fY-cpH.js} +1 -1
  27. package/src/client/dist/spa/assets/i18n-D3e67G-j.js +1 -0
  28. package/src/client/dist/spa/assets/{index-DnKXe7D-.js → index-D4b3k9DV.js} +7 -7
  29. package/src/client/dist/spa/assets/{javascript-Eczqe8bD.js → javascript-Cty6LK6F.js} +1 -1
  30. package/src/client/dist/spa/assets/{jsonMode-BnyadzU0.js → jsonMode-Dp8DQFxa.js} +1 -1
  31. package/src/client/dist/spa/assets/{liquid-DwRAzAaj.js → liquid-BBh8fxMj.js} +1 -1
  32. package/src/client/dist/spa/assets/{mdx-CFl7wmEL.js → mdx-4Sg0uY19.js} +1 -1
  33. package/src/client/dist/spa/assets/{monaco.contribution--Qz8ObQD.js → monaco.contribution-BqWsUYYb.js} +2 -2
  34. package/src/client/dist/spa/assets/{permissionModes-BT5h2RfC.js → permissionModes-cbEFVOC0.js} +1 -1
  35. package/src/client/dist/spa/assets/{python-Ddo5HdBd.js → python-CNVrhWpS.js} +1 -1
  36. package/src/client/dist/spa/assets/{razor-CvJeuccY.js → razor-CF0pOS5A.js} +1 -1
  37. package/src/client/dist/spa/assets/{render-chat-markdown-CODpqdnw.js → render-chat-markdown-C9SvAdWB.js} +1 -1
  38. package/src/client/dist/spa/assets/{tsMode-fdyRUXnV.js → tsMode-BtgiAz6G.js} +1 -1
  39. package/src/client/dist/spa/assets/{typescript-BAEZzsZ6.js → typescript-C0__juCT.js} +1 -1
  40. package/src/client/dist/spa/assets/{use-onboarding-CiVkuuHv.js → use-onboarding-D4TTIa1e.js} +1 -1
  41. package/src/client/dist/spa/assets/{xml-DCrp93GN.js → xml-D0l5CGKt.js} +1 -1
  42. package/src/client/dist/spa/assets/{yaml-tdhnQ3xr.js → yaml-CroybGxn.js} +1 -1
  43. package/src/client/dist/spa/index.html +1 -1
  44. package/src/client/dist/spa/assets/CreatePage-__cu33iz.css +0 -1
  45. package/src/client/dist/spa/assets/i18n-PViX03Cu.js +0 -1
@@ -1,5 +1,5 @@
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}?
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DiffViewer-DQ5PexFb.js","assets/index-D4b3k9DV.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-C9SvAdWB.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-D4b3k9DV.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-C9SvAdWB.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-3w5M3c1y.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-D4TTIa1e.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-DQ5PexFb.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
 
@@ -1 +1 @@
1
- import{G as e,I as t,R as n,St as r,W as i,_ as a,at as o,d as s,et as c,f as l,p as u,r as d,u as f,y as p}from"./runtime-core.esm-bundler-D_RRiKBh.js";import{t as m}from"./QIcon-BmEX2rXO.js";import{a as h,r as g}from"./use-id-BCnfiBjU.js";import{n as _}from"./vue-i18n-Cq-KgjJC.js";import{t as v}from"./QInput-D0t39uK_.js";import{t as y}from"./QToggle-DBzTAIbK.js";import{i as b}from"./index-DnKXe7D-.js";import{t as x}from"./_plugin-vue_export-helper-r4mAJOHR.js";import{t as S}from"./QBadge-DNQSqPg-.js";import{t as C}from"./QSpace-Crcx82On.js";import{t as w}from"./formatters-BKR66G3t.js";import{t as T}from"./QPage-3-ah4oor.js";var E=h(`search`,{state:()=>({query:``,includeArchived:!1,results:[],loading:!1,error:``}),actions:{async search(){let e=this.query.trim();if(!e){this.results=[],this.error=``;return}this.loading=!0,this.error=``;try{let t=new URLSearchParams({q:e});this.includeArchived&&t.set(`includeArchived`,`true`);let n=await fetch(`/api/search?${t.toString()}`);if(!n.ok){let e=`HTTP ${n.status}`;try{let t=await n.json();t?.error&&(e=t.error)}catch{}throw Error(e)}this.results=await n.json()}catch(e){this.error=e instanceof Error?e.message:String(e),this.results=[]}finally{this.loading=!1}},clear(){this.query=``,this.results=[],this.error=``}}}),D={class:`search-header`},O={class:`text-h5 q-mb-md`},k={class:`row items-center q-mt-sm q-gutter-sm`},A={key:0,class:`text-caption text-grey-6`},j={key:0,class:`text-grey-6 text-caption`},M={key:1,class:`text-negative text-caption`},N={key:2,class:`text-grey-6 text-caption`},P={key:3,class:`search-results`},F=[`onClick`],I={class:`row items-center q-mb-xs text-caption`},L={class:`text-grey-5 text-weight-medium`},R={class:`text-grey-6`},z={class:`search-snippet text-body2 text-grey-4`},B=x(p({__name:`SearchPage`,setup(p){let h=E(),x=b(),{t:B}=_(),{timeAgo:V}=w(),H=c(null),U=null;function W(){U&&clearTimeout(U),U=setTimeout(()=>{h.search()},250)}i(()=>h.includeArchived,()=>{h.query.trim().length>0&&h.search()});function G(e){x.push({name:`workspace`,params:{id:e}})}function K(e){return e===`user:message`?B(`search.eventType.userMessage`):e===`agent:output`?B(`search.eventType.agentOutput`):e}return(i,c)=>(t(),s(T,{class:`q-pa-md search-page`},{default:e(()=>[f(`div`,D,[f(`h2`,O,r(i.$t(`search.title`)),1),a(v,{ref_key:`inputEl`,ref:H,modelValue:o(h).query,"onUpdate:modelValue":[c[0]||=e=>o(h).query=e,W],dense:``,dark:``,outlined:``,clearable:``,autofocus:``,placeholder:i.$t(`search.placeholder`),onClear:c[1]||=e=>o(h).clear()},{prepend:e(()=>[a(m,{name:`search`})]),_:1},8,[`modelValue`,`placeholder`]),f(`div`,k,[a(y,{modelValue:o(h).includeArchived,"onUpdate:modelValue":c[2]||=e=>o(h).includeArchived=e,label:i.$t(`search.includeArchived`),dense:``,dark:``,color:`indigo-4`,size:`sm`},null,8,[`modelValue`,`label`]),a(C),o(h).results.length>0?(t(),u(`span`,A,r(i.$t(`search.resultCount`,{n:o(h).results.length})),1)):l(``,!0)])]),a(g,{dark:``,class:`q-my-md`}),o(h).loading?(t(),u(`div`,j,r(i.$t(`search.loading`)),1)):o(h).error?(t(),u(`div`,M,r(i.$t(`search.error`,{message:o(h).error})),1)):o(h).query.trim().length>0&&o(h).results.length===0?(t(),u(`div`,N,r(i.$t(`search.noResults`)),1)):o(h).results.length>0?(t(),u(`div`,P,[(t(!0),u(d,null,n(o(h).results,(e,n)=>(t(),u(`div`,{key:`${e.workspaceId}-${e.timestamp}-${n}`,class:`search-result q-pa-sm q-mb-sm cursor-pointer`,onClick:t=>G(e.workspaceId)},[f(`div`,I,[f(`span`,L,r(e.workspaceName),1),e.archived?(t(),s(S,{key:0,color:`grey-7`,class:`q-ml-xs`,label:i.$t(`common.archive`)},null,8,[`label`])):l(``,!0),a(C),a(S,{color:e.type===`user:message`?`blue-grey-7`:`indigo-7`,class:`q-mr-sm`,label:K(e.type)},null,8,[`color`,`label`]),f(`span`,R,r(o(V)(e.timestamp)),1)]),f(`div`,z,r(e.snippet),1)],8,F))),128))])):l(``,!0)]),_:1}))}}),[[`__scopeId`,`data-v-6f728e16`]]);export{B as default};
1
+ import{G as e,I as t,R as n,St as r,W as i,_ as a,at as o,d as s,et as c,f as l,p as u,r as d,u as f,y as p}from"./runtime-core.esm-bundler-D_RRiKBh.js";import{t as m}from"./QIcon-BmEX2rXO.js";import{a as h,r as g}from"./use-id-BCnfiBjU.js";import{n as _}from"./vue-i18n-Cq-KgjJC.js";import{t as v}from"./QInput-D0t39uK_.js";import{t as y}from"./QToggle-DBzTAIbK.js";import{i as b}from"./index-D4b3k9DV.js";import{t as x}from"./_plugin-vue_export-helper-r4mAJOHR.js";import{t as S}from"./QBadge-DNQSqPg-.js";import{t as C}from"./QSpace-Crcx82On.js";import{t as w}from"./formatters-BKR66G3t.js";import{t as T}from"./QPage-3-ah4oor.js";var E=h(`search`,{state:()=>({query:``,includeArchived:!1,results:[],loading:!1,error:``}),actions:{async search(){let e=this.query.trim();if(!e){this.results=[],this.error=``;return}this.loading=!0,this.error=``;try{let t=new URLSearchParams({q:e});this.includeArchived&&t.set(`includeArchived`,`true`);let n=await fetch(`/api/search?${t.toString()}`);if(!n.ok){let e=`HTTP ${n.status}`;try{let t=await n.json();t?.error&&(e=t.error)}catch{}throw Error(e)}this.results=await n.json()}catch(e){this.error=e instanceof Error?e.message:String(e),this.results=[]}finally{this.loading=!1}},clear(){this.query=``,this.results=[],this.error=``}}}),D={class:`search-header`},O={class:`text-h5 q-mb-md`},k={class:`row items-center q-mt-sm q-gutter-sm`},A={key:0,class:`text-caption text-grey-6`},j={key:0,class:`text-grey-6 text-caption`},M={key:1,class:`text-negative text-caption`},N={key:2,class:`text-grey-6 text-caption`},P={key:3,class:`search-results`},F=[`onClick`],I={class:`row items-center q-mb-xs text-caption`},L={class:`text-grey-5 text-weight-medium`},R={class:`text-grey-6`},z={class:`search-snippet text-body2 text-grey-4`},B=x(p({__name:`SearchPage`,setup(p){let h=E(),x=b(),{t:B}=_(),{timeAgo:V}=w(),H=c(null),U=null;function W(){U&&clearTimeout(U),U=setTimeout(()=>{h.search()},250)}i(()=>h.includeArchived,()=>{h.query.trim().length>0&&h.search()});function G(e){x.push({name:`workspace`,params:{id:e}})}function K(e){return e===`user:message`?B(`search.eventType.userMessage`):e===`agent:output`?B(`search.eventType.agentOutput`):e}return(i,c)=>(t(),s(T,{class:`q-pa-md search-page`},{default:e(()=>[f(`div`,D,[f(`h2`,O,r(i.$t(`search.title`)),1),a(v,{ref_key:`inputEl`,ref:H,modelValue:o(h).query,"onUpdate:modelValue":[c[0]||=e=>o(h).query=e,W],dense:``,dark:``,outlined:``,clearable:``,autofocus:``,placeholder:i.$t(`search.placeholder`),onClear:c[1]||=e=>o(h).clear()},{prepend:e(()=>[a(m,{name:`search`})]),_:1},8,[`modelValue`,`placeholder`]),f(`div`,k,[a(y,{modelValue:o(h).includeArchived,"onUpdate:modelValue":c[2]||=e=>o(h).includeArchived=e,label:i.$t(`search.includeArchived`),dense:``,dark:``,color:`indigo-4`,size:`sm`},null,8,[`modelValue`,`label`]),a(C),o(h).results.length>0?(t(),u(`span`,A,r(i.$t(`search.resultCount`,{n:o(h).results.length})),1)):l(``,!0)])]),a(g,{dark:``,class:`q-my-md`}),o(h).loading?(t(),u(`div`,j,r(i.$t(`search.loading`)),1)):o(h).error?(t(),u(`div`,M,r(i.$t(`search.error`,{message:o(h).error})),1)):o(h).query.trim().length>0&&o(h).results.length===0?(t(),u(`div`,N,r(i.$t(`search.noResults`)),1)):o(h).results.length>0?(t(),u(`div`,P,[(t(!0),u(d,null,n(o(h).results,(e,n)=>(t(),u(`div`,{key:`${e.workspaceId}-${e.timestamp}-${n}`,class:`search-result q-pa-sm q-mb-sm cursor-pointer`,onClick:t=>G(e.workspaceId)},[f(`div`,I,[f(`span`,L,r(e.workspaceName),1),e.archived?(t(),s(S,{key:0,color:`grey-7`,class:`q-ml-xs`,label:i.$t(`common.archive`)},null,8,[`label`])):l(``,!0),a(C),a(S,{color:e.type===`user:message`?`blue-grey-7`:`indigo-7`,class:`q-mr-sm`,label:K(e.type)},null,8,[`color`,`label`]),f(`span`,R,r(o(V)(e.timestamp)),1)]),f(`div`,z,r(e.snippet),1)],8,F))),128))])):l(``,!0)]),_:1}))}}),[[`__scopeId`,`data-v-6f728e16`]]);export{B as default};