@loicngr/kobo 1.7.3 → 1.7.4

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 (39) hide show
  1. package/dist/server/routes/workspaces.js +1 -1
  2. package/dist/server/services/settings-service.js +3 -1
  3. package/dist/server/utils/git-ops.js +48 -9
  4. package/package.json +1 -1
  5. package/src/client/dist/spa/assets/{ActivityFeed-CKSqMR2v.js → ActivityFeed-ClJLeAXJ.js} +2 -2
  6. package/src/client/dist/spa/assets/{ActivityFeed-CroojlsI.css → ActivityFeed-DVBfmJWJ.css} +1 -1
  7. package/src/client/dist/spa/assets/{CreatePage-7cP4h19f.js → CreatePage-BOkt0Psl.js} +1 -1
  8. package/src/client/dist/spa/assets/{DiffViewer-CdamEwIg.js → DiffViewer-Dls1jFCN.js} +3 -3
  9. package/src/client/dist/spa/assets/{HealthPage-m4z-x5bo.js → HealthPage-CMxH3SBS.js} +1 -1
  10. package/src/client/dist/spa/assets/{MainLayout-CQBqYFNx.js → MainLayout-DHNIerYJ.js} +2 -2
  11. package/src/client/dist/spa/assets/{SearchPage-DCRSQycR.js → SearchPage-BEnZ-CLq.js} +1 -1
  12. package/src/client/dist/spa/assets/{SettingsPage-DStBGwIj.js → SettingsPage-DeCbWvPb.js} +1 -1
  13. package/src/client/dist/spa/assets/{WorkspacePage-BstBxgN8.js → WorkspacePage-DFAFT5OW.js} +3 -3
  14. package/src/client/dist/spa/assets/{cssMode-o7NS-Oil.js → cssMode-AlflsawW.js} +1 -1
  15. package/src/client/dist/spa/assets/{editor.api-CNo9KwlJ.js → editor.api-DtvjQlUm.js} +1 -1
  16. package/src/client/dist/spa/assets/{editor.main-UyvgnhP6.js → editor.main-Ccy_gjVD.js} +3 -3
  17. package/src/client/dist/spa/assets/{expand-template-DqZgks9E.js → expand-template-AQsvbQ8_.js} +1 -1
  18. package/src/client/dist/spa/assets/{freemarker2-BKWtNRQ9.js → freemarker2-DdQktlXK.js} +1 -1
  19. package/src/client/dist/spa/assets/{handlebars-BUhKrn3k.js → handlebars-CE3ee2NH.js} +1 -1
  20. package/src/client/dist/spa/assets/{html-CrcvRgdj.js → html-CCKX8Xv9.js} +1 -1
  21. package/src/client/dist/spa/assets/{htmlMode-Djjp-0pZ.js → htmlMode-Dh8jDJum.js} +1 -1
  22. package/src/client/dist/spa/assets/i18n-BOsrrRj4.js +1 -0
  23. package/src/client/dist/spa/assets/{index-DR1y9t94.js → index-_ZaIBxd6.js} +2 -2
  24. package/src/client/dist/spa/assets/{javascript-DN_zCJwt.js → javascript-DhmZNdUp.js} +1 -1
  25. package/src/client/dist/spa/assets/{jsonMode-B7uIpwZ9.js → jsonMode-B0xAtnNK.js} +1 -1
  26. package/src/client/dist/spa/assets/{liquid-f3BGSOBM.js → liquid-ByL0HpZ0.js} +1 -1
  27. package/src/client/dist/spa/assets/{mdx-jpEqsFXp.js → mdx-DX4pehAZ.js} +1 -1
  28. package/src/client/dist/spa/assets/{models-Bj-hfPO2.js → models-ClWoqWeC.js} +1 -1
  29. package/src/client/dist/spa/assets/{monaco.contribution-D-UK6jlz.js → monaco.contribution-Fegh8Y1Y.js} +2 -2
  30. package/src/client/dist/spa/assets/{purify.es-DyEEb_DH.js → purify.es-BWZjBa9F.js} +1 -1
  31. package/src/client/dist/spa/assets/{python-CoiTKs0q.js → python-COS2MM8n.js} +1 -1
  32. package/src/client/dist/spa/assets/{razor-BubwMw_m.js → razor-Cc3xCJU7.js} +1 -1
  33. package/src/client/dist/spa/assets/{render-chat-markdown-DwKtHD8J.js → render-chat-markdown-DcGIpMoe.js} +1 -1
  34. package/src/client/dist/spa/assets/{tsMode-k_tAkDr_.js → tsMode-eQIJjERk.js} +1 -1
  35. package/src/client/dist/spa/assets/{typescript-DQQR6Y6R.js → typescript-DwIlacVU.js} +1 -1
  36. package/src/client/dist/spa/assets/{xml-CaSyI8p6.js → xml-DP-09Aih.js} +1 -1
  37. package/src/client/dist/spa/assets/{yaml-BYsGcXIZ.js → yaml-BhrtimeA.js} +1 -1
  38. package/src/client/dist/spa/index.html +1 -1
  39. package/src/client/dist/spa/assets/i18n-DD341qPX.js +0 -1
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DiffViewer-CdamEwIg.js","assets/index-DR1y9t94.js","assets/vue-i18n-BcfTCFFS.js","assets/runtime-core.esm-bundler-C3IgBgY5.js","assets/QIcon-BJuyqdsT.js","assets/use-id-CuaR1RiE.js","assets/QBtn-a6jxWjmW.js","assets/QCheckbox-D5jfsxLV.js","assets/use-checkbox-D7zmRxGI.js","assets/QInput-Cm5-AGQ4.js","assets/QRadio-B3aKjCVu.js","assets/QToggle-1-N9qWq4.js","assets/notifications-OnPq4FrH.js","assets/index-eX_lKHSg.css","assets/_plugin-vue_export-helper-Cj6tcsj6.js","assets/QBadge-DWH42dbo.js","assets/build-path-tree-B1Lvvqto.js","assets/QTooltip-fDNzBEfN.js","assets/QItemSection-5YpFpPDm.js","assets/QList-D0FtnQJI.js","assets/QMenu-B4xMxMGd.js","assets/render-chat-markdown-DwKtHD8J.js","assets/purify.es-DyEEb_DH.js","assets/TouchPan-DoE24Io3.js","assets/touch-HRdTUO2o.js","assets/QSpace-CLtL3aPy.js","assets/QSpinnerDots-CszPQQ9J.js","assets/use-quasar-Sdcq6zzV.js","assets/ClosePopup-D_UAdwkA.js","assets/DiffViewer-wFfQ9tcY.css"])))=>i.map(i=>d[i]);
2
- import{E as e,F as t,H as n,I as r,L as i,M as a,N as o,Q as s,R as c,S as l,U as u,W as d,Z as f,_ as p,_t as m,bt as h,d as g,f as _,g as v,h as y,k as b,l as x,p as S,r as C,rt as w,u as T,v as E,w as D,y as O,yt as k}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{H as A,M as j,P as M,U as N,V as ee,_ as te,a as P,g as ne,i as re,l as F,m as ie,n as ae,r as oe,s as se,t as I}from"./QIcon-BJuyqdsT.js";import{p as ce,r as L,t as le}from"./use-id-CuaR1RiE.js";import{A as ue,M as de,P as fe,h as R,j as pe,k as me,s as he}from"./notifications-OnPq4FrH.js";import{n as ge}from"./QRadio-B3aKjCVu.js";import{n as _e,r as ve,t as z}from"./QBtn-a6jxWjmW.js";import{n as ye}from"./vue-i18n-BcfTCFFS.js";import{t as be}from"./QInput-Cm5-AGQ4.js";import{t as xe}from"./QCheckbox-D5jfsxLV.js";import{t as Se}from"./QToggle-1-N9qWq4.js";import{_ as Ce,a as we,b as Te,c as Ee,d as B,f as De,g as Oe,i as ke,l as Ae,n as je,r as Me,s as Ne,t as Pe,v as Fe,y as Ie}from"./index-DR1y9t94.js";import{n as Le,t as V}from"./QItemSection-5YpFpPDm.js";import{d as Re,t as H}from"./QTooltip-fDNzBEfN.js";import{n as ze,t as Be}from"./TouchPan-DoE24Io3.js";import{n as Ve,r as He,t as Ue}from"./purify.es-DyEEb_DH.js";import{t as We}from"./documents-kx0vLfSG.js";import{t as Ge}from"./_plugin-vue_export-helper-Cj6tcsj6.js";import{t as Ke}from"./QBadge-DWH42dbo.js";import{t as qe}from"./QSpace-CLtL3aPy.js";import{i as Je,r as Ye,t as Xe}from"./build-path-tree-B1Lvvqto.js";import{t as Ze}from"./QList-D0FtnQJI.js";import{t as Qe}from"./QMenu-B4xMxMGd.js";import{t as $e}from"./ClosePopup-D_UAdwkA.js";import{t as et}from"./use-quasar-Sdcq6zzV.js";import{i as tt,n as nt,r as rt,t as it}from"./QTabPanels-D2ks0UIA.js";import{t as at}from"./QChip-ByxK0Tuf.js";import{n as ot,r as st}from"./kobo-commands-w8VepGvD.js";import{t as ct}from"./formatters-BD0_hovB.js";var lt=150,ut=M({name:`QDrawer`,inheritAttrs:!1,props:{...de,...oe,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:[...pe,`onLayout`,`miniState`],setup(t,{slots:r,emit:i,attrs:o}){let c=O(),{proxy:{$q:u}}=c,f=ae(t,u),{preventBodyScroll:p}=Ce(),{registerTimeout:m,removeTimeout:h}=fe(),g=D(ne,ie);if(g===ie)return console.error(`QDrawer needs to be child of QLayout`),ie;let _,v=null,y,S=s(t.behavior===`mobile`||t.behavior!==`desktop`&&g.totalWidth.value<=t.breakpoint),C=x(()=>t.mini===!0&&S.value!==!0),w=x(()=>C.value===!0?t.miniWidth:t.width),T=s(t.showIfAbove===!0&&S.value===!1?!0:t.modelValue===!0),E=x(()=>t.persistent!==!0&&(S.value===!0||me.value===!0));function k(e,t){if(N(),e!==!1&&g.animate(),B(0),S.value===!0){let e=g.instances[le.value];e?.belowBreakpoint===!0&&e.hide(!1),De(1),g.isContainer.value!==!0&&p(!0)}else De(0),e!==!1&&Oe(!1);m(()=>{e!==!1&&Oe(!0),t!==!0&&i(`show`,e)},lt)}function A(e,t){ee(),e!==!1&&g.animate(),De(0),B(F.value*w.value),Me(),t===!0?h():m(()=>{i(`hide`,e)},lt)}let{show:j,hide:M}=ue({showing:T,hideOnRouteChange:E,handleShow:k,handleHide:A}),{addToHistory:N,removeFromHistory:ee}=Fe(T,M,E),te={belowBreakpoint:S,hide:M},P=x(()=>t.side===`right`),F=x(()=>(u.lang.rtl===!0?-1:1)*(P.value===!0?1:-1)),oe=s(0),I=s(!1),ce=s(!1),L=s(w.value*F.value),le=x(()=>P.value===!0?`left`:`right`),de=x(()=>T.value===!0&&S.value===!1&&t.overlay===!1?t.miniToOverlay===!0?t.miniWidth:w.value:0),R=x(()=>t.overlay===!0||t.miniToOverlay===!0||g.view.value.indexOf(P.value?`R`:`L`)!==-1||u.platform.is.ios===!0&&g.isContainer.value===!0),pe=x(()=>t.overlay===!1&&T.value===!0&&S.value===!1),me=x(()=>t.overlay===!0&&T.value===!0&&S.value===!1),he=x(()=>`fullscreen q-drawer__backdrop`+(T.value===!1&&I.value===!1?` hidden`:``)),ge=x(()=>({backgroundColor:`rgba(0,0,0,${oe.value*.4})`})),_e=x(()=>P.value===!0?g.rows.value.top[2]===`r`:g.rows.value.top[0]===`l`),ve=x(()=>P.value===!0?g.rows.value.bottom[2]===`r`:g.rows.value.bottom[0]===`l`),z=x(()=>{let e={};return g.header.space===!0&&_e.value===!1&&(R.value===!0?e.top=`${g.header.offset}px`:g.header.space===!0&&(e.top=`${g.header.size}px`)),g.footer.space===!0&&ve.value===!1&&(R.value===!0?e.bottom=`${g.footer.offset}px`:g.footer.space===!0&&(e.bottom=`${g.footer.size}px`)),e}),ye=x(()=>{let e={width:`${w.value}px`,transform:`translateX(${L.value}px)`};return S.value===!0?e:Object.assign(e,z.value)}),be=x(()=>`q-drawer__content fit `+(g.isContainer.value===!0?`overflow-auto`:`scroll`)),xe=x(()=>`q-drawer q-drawer--${t.side}`+(ce.value===!0?` q-drawer--mini-animate`:``)+(t.bordered===!0?` q-drawer--bordered`:``)+(f.value===!0?` q-drawer--dark q-dark`:``)+(I.value===!0?` no-transition`:T.value===!0?``:` q-layout--prevent-focus`)+(S.value===!0?` fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding`:` q-drawer--${C.value===!0?`mini`:`standard`}`+(R.value===!0||pe.value!==!0?` fixed`:``)+(t.overlay===!0||t.miniToOverlay===!0?` q-drawer--on-top`:``)+(_e.value===!0?` q-drawer--top-padding`:``))),Se=x(()=>[[Be,Ae,void 0,{[u.lang.rtl===!0?t.side:le.value]:!0,mouse:!0}]]),we=x(()=>[[Be,je,void 0,{[u.lang.rtl===!0?le.value:t.side]:!0,mouse:!0}]]),Te=x(()=>[[Be,je,void 0,{[u.lang.rtl===!0?le.value:t.side]:!0,mouse:!0,mouseAllDir:!0}]]);function Ee(){Pe(S,t.behavior===`mobile`||t.behavior!==`desktop`&&g.totalWidth.value<=t.breakpoint)}n(S,e=>{e===!0?(_=T.value,T.value===!0&&M(!1)):t.overlay===!1&&t.behavior!==`mobile`&&_!==!1&&(T.value===!0?(B(0),De(0),Me()):j(!1))}),n(()=>t.side,(e,t)=>{g.instances[t]===te&&(g.instances[t]=void 0,g[t].space=!1,g[t].offset=0),g.instances[e]=te,g[e].size=w.value,g[e].space=pe.value,g[e].offset=de.value}),n(g.totalWidth,()=>{(g.isContainer.value===!0||document.qScrollPrevented!==!0)&&Ee()}),n(()=>t.behavior+t.breakpoint,Ee),n(g.isContainer,e=>{T.value===!0&&p(e!==!0),e===!0&&Ee()}),n(g.scrollbarWidth,()=>{B(T.value===!0?0:void 0)}),n(de,e=>{Ne(`offset`,e)}),n(pe,e=>{i(`onLayout`,e),Ne(`space`,e)}),n(P,()=>{B()}),n(w,e=>{B(),Ie(t.miniToOverlay,e)}),n(()=>t.miniToOverlay,e=>{Ie(e,w.value)}),n(()=>u.lang.rtl,()=>{B()}),n(()=>t.mini,()=>{t.noMiniAnimation||t.modelValue===!0&&(ke(),g.animate())}),n(C,e=>{i(`miniState`,e)});function B(t){t===void 0?e(()=>{t=T.value===!0?0:w.value,B(F.value*t)}):(g.isContainer.value===!0&&P.value===!0&&(S.value===!0||Math.abs(t)===w.value)&&(t+=F.value*g.scrollbarWidth.value),L.value=t)}function De(e){oe.value=e}function Oe(e){let t=e===!0?`remove`:g.isContainer.value===!0?``:`add`;t!==``&&document.body.classList[t](`q-body--drawer-toggle`)}function ke(){v!==null&&clearTimeout(v),c.proxy&&c.proxy.$el&&c.proxy.$el.classList.add(`q-drawer--mini-animate`),ce.value=!0,v=setTimeout(()=>{v=null,ce.value=!1,c?.proxy?.$el?.classList.remove(`q-drawer--mini-animate`)},150)}function Ae(e){if(T.value!==!1)return;let t=w.value,n=Re(e.distance.x,0,t);if(e.isFinal===!0){n>=Math.min(75,t)?j():(g.animate(),De(0),B(F.value*t)),I.value=!1;return}B((u.lang.rtl===!0?P.value!==!0:P.value)?Math.max(t-n,0):Math.min(0,n-t)),De(Re(n/t,0,1)),e.isFirst===!0&&(I.value=!0)}function je(e){if(T.value!==!0)return;let n=w.value,r=e.direction===t.side,i=(u.lang.rtl===!0?r!==!0:r)?Re(e.distance.x,0,n):0;if(e.isFinal===!0){Math.abs(i)<Math.min(75,n)?(g.animate(),De(1),B(0)):M(),I.value=!1;return}B(F.value*i),De(Re(1-i/n,0,1)),e.isFirst===!0&&(I.value=!0)}function Me(){p(!1),Oe(!0)}function Ne(e,n){g.update(t.side,e,n)}function Pe(e,t){e.value!==t&&(e.value=t)}function Ie(e,n){Ne(`size`,e===!0?t.miniWidth:n)}return g.instances[t.side]=te,Ie(t.miniToOverlay,w.value),Ne(`space`,pe.value),Ne(`offset`,de.value),t.showIfAbove===!0&&t.modelValue!==!0&&T.value===!0&&t[`onUpdate:modelValue`]!==void 0&&i(`update:modelValue`,!0),a(()=>{i(`onLayout`,pe.value),i(`miniState`,C.value),_=t.showIfAbove===!0;let r=()=>{(T.value===!0?k:A)(!1,!0)};if(g.totalWidth.value!==0){e(r);return}y=n(g.totalWidth,()=>{y(),y=void 0,T.value===!1&&t.showIfAbove===!0&&S.value===!1?j(!1):r()})}),b(()=>{y?.(),v!==null&&(clearTimeout(v),v=null),T.value===!0&&Me(),g.instances[t.side]===te&&(g.instances[t.side]=void 0,Ne(`size`,0),Ne(`offset`,0),Ne(`space`,!1))}),()=>{let e=[];S.value===!0&&(t.noSwipeOpen===!1&&e.push(d(l(`div`,{key:`open`,class:`q-drawer__opener fixed-${t.side}`,"aria-hidden":`true`}),Se.value)),e.push(re(`div`,{ref:`backdrop`,class:he.value,style:ge.value,"aria-hidden":`true`,onClick:M},void 0,`backdrop`,t.noSwipeBackdrop!==!0&&T.value===!0,()=>Te.value)));let n=C.value===!0&&r.mini!==void 0,i=[l(`div`,{...o,key:String(n),class:[be.value,o.class]},n===!0?r.mini():se(r.default))];return t.elevated===!0&&T.value===!0&&i.push(l(`div`,{class:`q-layout__shadow absolute-full overflow-hidden no-pointer-events`})),e.push(re(`aside`,{ref:`content`,class:xe.value,style:ye.value},i,`contentclose`,t.noSwipeClose!==!0&&S.value===!0,()=>we.value)),l(`div`,{class:`q-drawer-container`},e)}}}),dt=M({name:`QPageContainer`,setup(e,{slots:t}){let{proxy:{$q:n}}=O(),i=D(ne,ie);if(i===ie)return console.error(`QPageContainer needs to be child of QLayout`),ie;r(te,!0);let a=x(()=>{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()=>l(`div`,{class:`q-page-container`,style:a.value},se(t.default))}}),ft=M({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(e,{slots:t,emit:i}){let{proxy:{$q:a}}=O(),c=s(null),u=s(a.screen.height),d=s(e.container===!0?0:a.screen.width),p=s({position:0,direction:`down`,inflectionPoint:0}),m=s(0),h=s(ce.value===!0?0:R()),g=x(()=>`q-layout q-layout--`+(e.container===!0?`containerized`:`standard`)),_=x(()=>e.container===!1?{minHeight:a.screen.height+`px`}:null),v=x(()=>h.value===0?null:{[a.lang.rtl===!0?`left`:`right`]:`${h.value}px`}),y=x(()=>h.value===0?null:{[a.lang.rtl===!0?`right`:`left`]:0,[a.lang.rtl===!0?`left`:`right`]:`-${h.value}px`,width:`calc(100% + ${h.value}px)`});function b(t){if(e.container===!0||document.qScrollPrevented!==!0){let n={position:t.position.top,direction:t.direction,directionChanged:t.directionChanged,inflectionPoint:t.inflectionPoint.top,delta:t.delta.top};p.value=n,e.onScroll!==void 0&&i(`scroll`,n)}}function S(t){let{height:n,width:r}=t,a=!1;u.value!==n&&(a=!0,u.value=n,e.onScrollHeight!==void 0&&i(`scrollHeight`,n),w()),d.value!==r&&(a=!0,d.value=r),a===!0&&e.onResize!==void 0&&i(`resize`,t)}function C({height:e}){m.value!==e&&(m.value=e,w())}function w(){if(e.container===!0){let e=u.value>m.value?R():0;h.value!==e&&(h.value=e)}}let T=null,E={instances:{},view:x(()=>e.view),isContainer:x(()=>e.container),rootRef:c,height:u,containerHeight:m,scrollbarWidth:h,totalWidth:x(()=>d.value+h.value),rows:x(()=>{let t=e.view.toLowerCase().split(` `);return{top:t[0].split(``),middle:t[1].split(``),bottom:t[2].split(``)}}),header:f({size:0,offset:0,space:!1}),right:f({size:300,offset:0,space:!1}),footer:f({size:0,offset:0,space:!1}),left:f({size:300,offset:0,space:!1}),scroll:p,animate(){T===null?document.body.classList.add(`q-body--layout-animate`):clearTimeout(T),T=setTimeout(()=>{T=null,document.body.classList.remove(`q-body--layout-animate`)},155)},update(e,t,n){E[e][t]=n}};if(r(ne,E),R()>0){let t=null,r=document.body;function i(){t=null,r.classList.remove(`hide-scrollbar`)}function s(){if(t===null){if(r.scrollHeight>a.screen.height)return;r.classList.add(`hide-scrollbar`)}else clearTimeout(t);t=setTimeout(i,300)}function c(e){t!==null&&e===`remove`&&(clearTimeout(t),i()),window[`${e}EventListener`](`resize`,s)}n(()=>e.container===!0?`remove`:`add`,c),e.container!==!0&&c(`add`),o(()=>{c(`remove`)})}return()=>{let n=P(t.default,[l(He,{onScroll:b}),l(ze,{onResize:S})]),r=l(`div`,{class:g.value,style:_.value,ref:e.container===!0?void 0:c,tabindex:-1},n);return e.container===!0?l(`div`,{class:`q-layout-container overflow-hidden`,ref:c},[l(ze,{onResize:C}),l(`div`,{class:`absolute-full`,style:v.value},[l(`div`,{class:`scroll`,style:y.value},[r])])]):r}}}),pt={class:`acceptance-panel q-pa-md`},mt={class:`row items-center q-mb-sm`},ht={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`},_t={key:1,class:`acceptance-list`},vt=[`onDblclick`],yt={key:2,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},bt=Ge(E({__name:`AcceptancePanel`,props:{tasks:{}},setup(n){let{t:r}=ye(),a=Ae(),o=Ne();function c(){let e=a.selectedWorkspaceId;e&&ot(e,o,a)}let l=s(!1),d=s(``),f=s(null),p=s(``),b=s({});function x(e,t){if(t){let n=t.$el??t;b.value[e]=n}else delete b.value[e]}function E(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function D(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}async function O(e){let t=e.status===`done`?`pending`:`done`;try{let n=await fetch(`/api/workspaces/${e.workspaceId}/tasks/${e.id}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({status:t})});if(!n.ok)throw Error(`HTTP ${n.status}`);a.selectedWorkspaceId&&a.fetchWorkspaceDetails(a.selectedWorkspaceId)}catch(e){console.error(`Failed to update task:`,e)}}function j(){l.value=!0,d.value=``}async function M(){let e=d.value.trim(),t=a.selectedWorkspace?.id;if(!(!e||!t))try{await a.createTask(t,e,!0),d.value=``,l.value=!1}catch{}}function ee(){d.value=``,l.value=!1}function te(t){f.value=t.id,p.value=t.title,e(()=>{let e=b.value[t.id]?.querySelector(`input, textarea`);e?.focus(),e?.select()})}async function P(e){if(f.value!==e.id)return;let t=p.value.trim(),n=e.id;if(f.value=null,!t||t===e.title)return;let r=a.selectedWorkspace?.id;if(r)try{await a.updateTaskTitle(r,n,t)}catch{}}function ne(){f.value=null,p.value=``}async function re(e){let t=a.selectedWorkspace?.id;if(t)try{await a.deleteTask(t,e.id)}catch{}}return(e,r)=>(t(),S(`div`,pt,[T(`div`,mt,[T(`div`,ht,h(e.$t(`acceptance.title`)),1),v(qe),w(a).selectedWorkspace?(t(),g(z,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`fact_check`,color:`grey-5`,onClick:c},{default:u(()=>[v(H,null,{default:u(()=>[y(h(e.$t(`tasks.askProgress`)),1)]),_:1})]),_:1})):_(``,!0),w(a).selectedWorkspace?(t(),g(z,{key:1,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,onClick:j},{default:u(()=>[v(H,null,{default:u(()=>[y(h(e.$t(`tooltip.addCriterion`)),1)]),_:1})]),_:1})):_(``,!0)]),l.value?(t(),S(`div`,gt,[v(be,{modelValue:d.value,"onUpdate:modelValue":r[0]||=e=>d.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:e.$t(`acceptance.newCriterion`),class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[A(N(M,[`prevent`]),[`enter`]),A(N(ee,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):_(``,!0),n.tasks.length>0?(t(),S(`div`,_t,[(t(!0),S(C,null,i(n.tasks,n=>(t(),S(`div`,{key:n.id,class:`acceptance-item row items-center q-mb-xxs`},[v(I,{name:E(n.status),size:`16px`,style:k({color:D(n.status)}),class:`q-mr-xs cursor-pointer`,onClick:e=>O(n)},null,8,[`name`,`style`,`onClick`]),f.value===n.id?(t(),g(be,{key:0,ref_for:!0,ref:e=>x(n.id,e),modelValue:p.value,"onUpdate:modelValue":r[1]||=e=>p.value=e,dark:``,dense:``,borderless:``,class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[A(N(e=>P(n),[`prevent`]),[`enter`]),A(N(ne,[`prevent`]),[`esc`])],onBlur:e=>P(n)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(t(),S(C,{key:1},[T(`span`,{class:m([`col acceptance-title text-caption`,{"text-strike":n.status===`done`}]),style:k({color:n.status===`done`?`#4ade80`:`#ccc`}),onDblclick:e=>te(n)},h(n.title),47,vt),v(z,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`criterion-delete-btn`,onClick:e=>re(n)},{default:u(()=>[v(H,null,{default:u(()=>[y(h(e.$t(`tooltip.removeCriterion`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):l.value?_(``,!0):(t(),S(`div`,yt,h(e.$t(`acceptance.empty`)),1))]))}}),[[`__scopeId`,`data-v-20a94a3d`]]),xt={class:`agent-todos-panel q-pa-md`},St={class:`row items-center q-mb-sm`},Ct={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},wt={key:0,class:`todos-list`},Tt={key:1,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},Et=Ge(E({__name:`AgentTodosPanel`,setup(e){let{t:n}=ye(),r=Ae();function a(e){switch(e){case`completed`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function o(e){switch(e){case`completed`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(e,n)=>(t(),S(`div`,xt,[T(`div`,St,[T(`div`,Ct,h(e.$t(`agentTodos.title`)),1)]),w(r).currentAgentTodos.length>0?(t(),S(`div`,wt,[(t(!0),S(C,null,i(w(r).currentAgentTodos,(e,n)=>(t(),S(`div`,{key:n,class:`todo-item row items-start q-py-xxs`},[v(I,{name:a(e.status),size:`14px`,style:k({color:o(e.status)}),class:`q-mr-xs q-mt-xxs`},null,8,[`name`,`style`]),T(`span`,{class:m([`col todo-title text-caption`,{"text-strike":e.status===`completed`}]),style:k({color:e.status===`completed`?`#4ade80`:`#ccc`})},h(e.content),7)]))),128))])):(t(),S(`div`,Tt,h(e.$t(`agentTodos.empty`)),1))]))}}),[[`__scopeId`,`data-v-6a3613f7`]]),Dt={class:`documents-panel q-pa-md`},Ot={class:`row items-center justify-between q-mb-sm`},kt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},At={key:0,class:`text-caption text-grey-8`},jt={key:1,class:`text-center q-py-lg`},Mt={key:2,class:`text-caption text-grey-8 text-center q-py-lg`},Nt={key:0,class:`text-center q-py-lg`},Pt=[`innerHTML`],Ft=Ge(E({__name:`DocumentsPanel`,props:{workspace:{}},setup(e){let r=e,{t:i}=ye(),a=et(),o=We(),s=x(()=>r.workspace?o.documentsFor(r.workspace.id):[]),c=x(()=>Xe(s.value)),l=x(()=>o.selected?.path??null),d=x(()=>{if(!o.selected)return``;let e=Ve.parse(o.selected.content,{async:!1,breaks:!0,gfm:!0});return Ue.sanitize(e)});async function f(){r.workspace&&await o.fetchDocuments(r.workspace.id)}async function p(e){if(!(!r.workspace||!e.file))try{await o.openDocument(r.workspace.id,e.file)}catch{a.notify({type:`negative`,message:i(`documents.loadFailed`),position:`top`})}}function _(){o.closeDocument()}return n(()=>r.workspace?.id,e=>{o.closeDocument(),e&&o.fetchDocuments(e)},{immediate:!0}),(n,r)=>(t(),S(`div`,Dt,[T(`div`,Ot,[T(`div`,kt,h(n.$t(`documents.title`)),1),w(o).selected?(t(),g(z,{key:1,flat:``,dense:``,"no-caps":``,size:`sm`,icon:`arrow_back`,label:n.$t(`documents.back`),color:`grey-5`,onClick:_},null,8,[`label`])):(t(),g(z,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,loading:w(o).loadingList,onClick:f},{default:u(()=>[v(H,null,{default:u(()=>[y(h(n.$t(`documents.refresh`)),1)]),_:1})]),_:1},8,[`loading`]))]),w(o).selected?(t(),S(C,{key:1},[w(o).loadingContent?(t(),S(`div`,Nt,[v(F,{size:`24px`,color:`grey-6`})])):(t(),S(`div`,{key:1,class:`document-content`,innerHTML:d.value},null,8,Pt))],64)):(t(),S(C,{key:0},[e.workspace?w(o).loadingList?(t(),S(`div`,jt,[v(F,{size:`24px`,color:`grey-6`})])):s.value.length===0?(t(),S(`div`,Mt,h(n.$t(`documents.empty`)),1)):(t(),g(Ye,{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":r[0]||=e=>{if(typeof e!=`string`||!e.startsWith(`file:`))return;let t=s.value.find(t=>`file:${t.path}`===e);t&&p({file:t})}},{"default-header":u(({node:e})=>[v(I,{name:e.isFolder?`folder`:`description`,color:e.isFolder?`indigo-4`:`grey-5`,size:`14px`,class:`q-mr-xs`},null,8,[`name`,`color`]),T(`span`,{class:m(e.isFolder?`text-grey-4`:`text-grey-3`),style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},h(e.label),3)]),_:1},8,[`nodes`,`selected`])):(t(),S(`div`,At,h(n.$t(`common.selectWorkspace`)),1))],64))]))}}),[[`__scopeId`,`data-v-89e5de13`]]),It=Object.keys(ve);function Lt(e){return It.reduce((t,n)=>{let r=e[n];return r!==void 0&&(t[n]=r),t},{})}var Rt=M({name:`QBtnDropdown`,props:{...ve,...me,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:r}){let{proxy:i}=O(),o=s(e.modelValue),c=s(null),u=le(),d=x(()=>{let t={"aria-expanded":o.value===!0?`true`:`false`,"aria-haspopup":`true`,"aria-controls":u.value,"aria-label":e.toggleAriaLabel||i.$q.lang.label[o.value===!0?`collapse`:`expand`](e.label)};return(e.disable===!0||e.split===!1&&e.disableMainBtn===!0||e.disableDropdown===!0)&&(t[`aria-disabled`]=`true`),t}),f=x(()=>`q-btn-dropdown__arrow`+(o.value===!0&&e.noIconAnimation===!1?` rotate-180`:``)+(e.split===!1?` q-btn-dropdown__arrow-container`:``)),p=x(()=>_e(e)),m=x(()=>Lt(e));n(()=>e.modelValue,e=>{c.value?.[e?`show`:`hide`]()}),n(()=>e.split,w);function h(e){o.value=!0,r(`beforeShow`,e)}function g(e){r(`show`,e),r(`update:modelValue`,!0)}function _(e){o.value=!1,r(`beforeHide`,e)}function v(e){r(`hide`,e),r(`update:modelValue`,!1)}function y(e){r(`click`,e)}function b(e){j(e),w(),r(`click`,e)}function S(e){c.value?.toggle(e)}function C(e){c.value?.show(e)}function w(e){c.value?.hide(e)}return Object.assign(i,{show:C,hide:w,toggle:S}),a(()=>{e.modelValue===!0&&C()}),()=>{let n=[l(I,{class:f.value,name:e.dropdownIcon||i.$q.iconSet.arrow.dropdown})];return e.disableDropdown!==!0&&n.push(l(Qe,{ref:c,id:u.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:h,onShow:g,onBeforeHide:_,onHide:v},t.default)),e.split===!1?l(z,{class:`q-btn-dropdown q-btn-dropdown--simple`,...m.value,...d.value,disable:e.disable===!0||e.disableMainBtn===!0,noWrap:!0,round:!1,onClick:y},{default:()=>se(t.label,[]).concat(n),loading:t.loading}):l(Je,{class:`q-btn-dropdown q-btn-dropdown--split no-wrap q-btn-item`,rounded:e.rounded,square:e.square,...p.value,glossy:e.glossy,stretch:e.stretch},()=>[l(z,{class:`q-btn-dropdown--current`,...m.value,disable:e.disable===!0||e.disableMainBtn===!0,noWrap:!0,round:!1,onClick:b},{default:t.label,loading:t.loading}),l(z,{class:`q-btn-dropdown__arrow-container q-anchor--skip`,...d.value,...p.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)])}}}),zt={class:`text-h6`},Bt={class:`text-body2 text-grey-5 q-mt-xs`},Vt={key:0,class:`text-caption text-grey-6 row items-center`},Ht={key:1,class:`row items-center q-gutter-sm`},Ut={class:`text-caption text-negative`},Wt={key:2,class:`text-caption text-grey-6`},Gt={key:3},Kt=[`onClick`],qt={class:`commit-sha text-grey-5`},Jt={class:`commit-subject text-grey-4 ellipsis q-ml-sm`},Yt={class:`text-caption`},Xt={class:`text-grey-5 q-mt-xs`},Zt={key:0,class:`text-caption text-grey-6 row items-center`},Qt={key:1,class:`row items-center q-gutter-sm`},$t={class:`text-caption text-negative`},en={key:2,class:`text-caption text-grey-6`},tn={key:3},nn=[`onClick`],rn={class:`commit-sha text-grey-5`},an={class:`commit-subject text-grey-4 ellipsis q-ml-sm`},on={class:`text-caption`},sn={class:`text-grey-5 q-mt-xs`},cn=Ge(E({__name:`BranchDivergenceDialog`,props:{modelValue:{type:Boolean},workspaceId:{},initialTab:{},aheadCount:{},behindCount:{},sourceBranch:{},workingBranch:{}},emits:[`update:modelValue`,`append-sha`],setup(e,{emit:r}){let a=e,o=r,{t:c}=ye(),l=Ae(),d=s(a.initialTab),f=s([]),p=s([]),m=s(!1),_=s(null),x=null;async function w(){x?.abort();let e=new AbortController;x=e,m.value=!0,_.value=null;try{let t=await l.fetchBranchDivergence(a.workspaceId,{signal:e.signal});if(e.signal.aborted)return;f.value=t.ahead,p.value=t.behind}catch(e){if(e?.name===`AbortError`)return;_.value=c(`git.divergence.failed`)}finally{x===e&&(x=null),m.value=!1}}function E(){w()}n(()=>a.modelValue,e=>{e?(d.value=a.initialTab,w()):(x?.abort(),f.value=[],p.value=[],_.value=null)});function D(e){o(`append-sha`,e)}function O(){o(`update:modelValue`,!1)}function k(e){try{return new Date(e).toLocaleDateString()}catch{return e}}return b(()=>{x?.abort()}),(n,r)=>(t(),g(Oe,{"model-value":e.modelValue,"onUpdate:modelValue":r[2]||=e=>o(`update:modelValue`,e)},{default:u(()=>[v(Ie,{style:{"min-width":`600px`,"max-width":`90vw`},dark:``},{default:u(()=>[v(Te,{class:`q-pb-none`},{default:u(()=>[T(`div`,zt,h(n.$t(`git.divergence.title`)),1),T(`div`,Bt,h(n.$t(`git.divergence.subtitle`,{source:e.sourceBranch})),1)]),_:1}),v(rt,{modelValue:d.value,"onUpdate:modelValue":r[0]||=e=>d.value=e,dense:``,align:`left`,"inline-label":``,class:`q-mt-sm`,"indicator-color":`indigo-4`},{default:u(()=>[v(tt,{name:`ahead`,label:n.$t(`git.divergence.ahead`,{count:e.aheadCount})},null,8,[`label`]),v(tt,{name:`behind`,label:n.$t(`git.divergence.behind`,{count:e.behindCount})},null,8,[`label`])]),_:1},8,[`modelValue`]),v(L,{dark:``}),v(it,{modelValue:d.value,"onUpdate:modelValue":r[1]||=e=>d.value=e,animated:``,style:{"max-height":`60vh`}},{default:u(()=>[v(nt,{name:`ahead`,class:`q-pa-md`},{default:u(()=>[m.value?(t(),S(`div`,Vt,[v(F,{size:`xs`,class:`q-mr-xs`}),y(h(n.$t(`git.divergence.loading`)),1)])):_.value?(t(),S(`div`,Ht,[T(`span`,Ut,h(_.value),1),v(z,{flat:``,dense:``,"no-caps":``,label:n.$t(`git.divergence.retry`),color:`indigo-4`,onClick:E},null,8,[`label`])])):f.value.length===0?(t(),S(`div`,Wt,h(n.$t(`git.divergence.empty.ahead`)),1)):(t(),S(`div`,Gt,[(t(!0),S(C,null,i(f.value,e=>(t(),S(`div`,{key:e.sha,class:`commit-item row no-wrap items-center cursor-pointer q-py-xs`,onClick:t=>D(e.sha)},[v(I,{name:e.isPushed?`cloud_done`:`cloud_upload`,size:`12px`,color:e.isPushed?`grey-6`:`orange-5`,class:`q-mr-xs`},null,8,[`name`,`color`]),T(`span`,qt,h(e.shortSha),1),T(`span`,Jt,h(e.subject),1),v(H,{anchor:`top middle`,self:`bottom middle`},{default:u(()=>[T(`div`,Yt,[T(`div`,null,[T(`code`,null,h(e.sha),1)]),T(`div`,Xt,h(e.author)+` · `+h(k(e.date)),1)])]),_:2},1024)],8,Kt))),128))]))]),_:1}),v(nt,{name:`behind`,class:`q-pa-md`},{default:u(()=>[m.value?(t(),S(`div`,Zt,[v(F,{size:`xs`,class:`q-mr-xs`}),y(h(n.$t(`git.divergence.loading`)),1)])):_.value?(t(),S(`div`,Qt,[T(`span`,$t,h(_.value),1),v(z,{flat:``,dense:``,"no-caps":``,label:n.$t(`git.divergence.retry`),color:`indigo-4`,onClick:E},null,8,[`label`])])):p.value.length===0?(t(),S(`div`,en,h(n.$t(`git.divergence.empty.behind`)),1)):(t(),S(`div`,tn,[(t(!0),S(C,null,i(p.value,e=>(t(),S(`div`,{key:e.sha,class:`commit-item row no-wrap items-center cursor-pointer q-py-xs`,onClick:t=>D(e.sha)},[T(`span`,rn,h(e.shortSha),1),T(`span`,an,h(e.subject),1),v(H,{anchor:`top middle`,self:`bottom middle`},{default:u(()=>[T(`div`,on,[T(`div`,null,[T(`code`,null,h(e.sha),1)]),T(`div`,sn,h(e.author)+` · `+h(k(e.date)),1)])]),_:2},1024)],8,nn))),128))]))]),_:1})]),_:1},8,[`modelValue`]),v(je,{align:`right`,class:`q-pa-md`},{default:u(()=>[v(z,{flat:``,"no-caps":``,label:n.$t(`git.divergence.close`),color:`grey-5`,onClick:O},null,8,[`label`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),[[`__scopeId`,`data-v-fd1cc184`]]),ln={class:`git-panel q-px-sm q-py-md`},un={class:`row items-center justify-between q-mb-sm`},dn={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},fn={class:`row items-center q-mb-sm`},pn={class:`text-caption text-grey-3`},mn={class:`row items-center q-mb-sm`},hn={class:`text-caption text-grey-4`,style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},gn={class:`text-caption q-mb-sm text-grey-8`,style:{"font-size":`11px`}},_n={key:0,class:`q-ml-xs`},vn={key:1},yn={key:2,style:{color:`#4ade80`}},bn={key:3,style:{color:`#f59e0b`}},xn={class:`text-caption text-grey-4`,style:{"font-size":`11px`}},Sn={key:1,class:`row items-center q-mb-xs`},Cn={class:`text-caption text-grey-4`,style:{"font-size":`11px`}},wn={key:2,class:`commit-list q-mb-sm`},Tn={key:0,class:`text-caption text-grey-6 q-pa-xs`},En={key:1,class:`text-caption text-grey-7 q-pa-xs`},Dn=[`onClick`],On={class:`commit-sha text-grey-5`},kn={class:`commit-subject text-grey-4 ellipsis q-ml-sm`},An={class:`text-caption`},jn={class:`text-grey-5 q-mt-xs`},Mn={class:`text-grey-6 q-mt-xs`,style:{"font-style":`italic`}},Nn={key:3,class:`row items-center q-mb-md`},Pn={class:`text-caption text-grey-4`,style:{"font-size":`11px`}},Fn={key:0,class:`text-caption q-ml-xs`,style:{"font-size":`11px`,color:`#4ade80`}},In={key:1,class:`text-caption q-ml-xs`,style:{"font-size":`11px`,color:`#f87171`}},Ln={key:4,class:`q-mb-xs`},Rn={key:5,class:`row items-center q-gutter-xs q-mb-md`,style:{"font-size":`11px`}},zn={key:0,class:`text-caption`,style:{color:`#4ade80`}},Bn={key:1,class:`text-caption`,style:{color:`#f59e0b`}},Vn={key:2,class:`text-caption text-grey-6`},Hn={key:6,class:`q-mb-md`},Un={class:`row items-center q-gutter-xs`},Wn={key:1,class:`text-caption text-grey-8`},Gn={class:`text-subtitle1`},Kn={class:`text-body2 text-grey-5 q-mt-sm`},qn={class:`git-branch-code`},Jn={class:`text-caption text-grey-6 q-mt-xs`,style:{"padding-left":`46px`}},Yn={class:`text-subtitle1 text-warning`},Xn={class:`text-caption text-grey-6 q-mt-xs`},Zn={class:`text-caption text-mono`},Qn=Ge(E({__name:`GitPanel`,props:{workspace:{}},setup(e){let r=p(()=>Me(()=>import(`./DiffViewer-CdamEwIg.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]))),o=e,{t:c}=ye(),l=et(),f=Ae(),m=s(!1),E=s(!1),D=s(!1),O=s(!1),k=s(!1),A=s(!1),j=s(!1),M=s(!1);function ee(e){M.value=e,j.value=!0}let te=s(!1),P=s(!1),ne=s(!1),re=s([]);async function ie(){if(o.workspace){ne.value=!0;try{let e=await fetch(`/api/workspaces/${o.workspace.id}/commits?limit=50`,{cache:`no-store`});if(!e.ok)throw Error(`HTTP ${e.status}`);re.value=(await e.json()).commits}catch(e){console.error(`[GitPanel] fetchCommits failed:`,e),re.value=[]}finally{ne.value=!1}}}async function ae(){P.value=!P.value,P.value&&(ne.value=!0,await ie())}function oe(e){f.chatDraft=e}function se(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`})}let ce=s(!1),L=s(null),le=s([]),ue=s(!1),de=s(!1);function fe(e){f.chatDraft=e,j.value=!1}let R=s(null),pe=s(!1),me=x(()=>{if(!o.workspace?.projectPath)return`-`;let e=o.workspace.projectPath.replace(/\\/g,`/`).split(`/`);return e[e.length-1]||e[e.length-2]||`-`}),he=x(()=>!(!R.value||R.value.unpushedCount===-1)),ge=x(()=>R.value&&R.value.unpushedCount===-1?c(`git.createPrNoRemote`):``),_e=s(!1),ve=s(`ahead`);function be(e){ve.value=e,_e.value=!0}let xe=null,Ce=null;async function we(e={}){if(!o.workspace){R.value=null;return}xe?.abort();let t=new AbortController;xe=t;let n=o.workspace.id;pe.value=!0;try{let r=await f.fetchGitStats(n,{freshFetch:e.freshFetch,signal:t.signal});if(t.signal.aborted||o.workspace?.id!==n)return;R.value=r}catch(e){if(e?.name===`AbortError`)return;R.value=null}finally{xe===t&&(xe=null),pe.value=!1}}let B=null;n(()=>o.workspace?.id,()=>{xe?.abort(),B&&=(clearTimeout(B),null),we({freshFetch:!0})},{immediate:!0}),n(()=>f.gitRefreshTrigger,()=>{B&&clearTimeout(B),B=setTimeout(()=>we(),3e3)}),a(()=>{Ce=setInterval(()=>we(),6e4)}),b(()=>{Ce&&=(clearInterval(Ce),null),B&&=(clearTimeout(B),null),xe?.abort()});function De(){let e=o.workspace;e&&l.dialog({title:c(`git.renameBranch`),message:c(`git.renameBranchPrompt`,{branch:e.workingBranch}),prompt:{model:e.workingBranch,type:`text`},dark:!0,cancel:{flat:!0,label:c(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:c(`git.renameBranch`),color:`indigo-4`}}).onOk(async t=>{let n=(t??``).trim();if(!(!n||n===e.workingBranch)){te.value=!0;try{await f.renameWorkspaceBranch(e.id,n),l.notify({type:`positive`,message:c(`git.renameBranchSuccess`,{branch:n}),position:`top`}),we()}catch(e){let t=e instanceof Ee&&e.code===`branch_exists`?c(`git.renameBranchExists`,{branch:n}):e instanceof Error?e.message:c(`git.renameBranchFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{te.value=!1}}})}function ke(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`)}function Ne(){o.workspace&&l.dialog({title:c(`git.rebaseConfirmTitle`),message:c(`git.rebaseConfirmMessage`,{branch:`<code class="git-branch-code">${ke(o.workspace.sourceBranch)}</code>`}),html:!0,dark:!0,cancel:{flat:!0,label:c(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:c(`git.rebase`),color:`orange-4`}}).onOk(async()=>{D.value=!0;try{let e=await fetch(`/api/workspaces/${o.workspace.id}/rebase`,{method:`POST`});if(e.status===409){let t=await e.json();Fe(`rebase`,Array.isArray(t.files)?t.files:[]);return}if(!e.ok){let t=await e.json();throw Error(t.error??`Rebase failed`)}l.notify({type:`positive`,message:c(`git.rebaseSuccess`),position:`top`}),we()}catch(e){let t=e instanceof Error?e.message:c(`git.rebaseFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{D.value=!1}})}function Pe(){o.workspace&&l.dialog({title:c(`git.mergeConfirmTitle`),message:c(`git.mergeConfirmMessage`,{branch:`<code class="git-branch-code">${ke(o.workspace.sourceBranch)}</code>`}),html:!0,dark:!0,cancel:{flat:!0,label:c(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:c(`git.merge`),color:`purple-4`}}).onOk(async()=>{O.value=!0;try{let e=await fetch(`/api/workspaces/${o.workspace.id}/merge`,{method:`POST`});if(e.status===409){let t=await e.json();Fe(`merge`,Array.isArray(t.files)?t.files:[]);return}if(!e.ok){let t=await e.json();throw Error(t.error??`Merge failed`)}l.notify({type:`positive`,message:c(`git.mergeSuccess`),position:`top`}),we()}catch(e){let t=e instanceof Error?e.message:c(`git.mergeFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{O.value=!1}})}function Fe(e,t){L.value=e,le.value=t,ce.value=!0}async function Re(){if(o.workspace){ue.value=!0;try{let e=await fetch(`/api/workspaces/${o.workspace.id}/git/abort`,{method:`POST`});if(!e.ok){let t=await e.json();throw Error(t.error??`Abort failed`)}l.notify({type:`positive`,message:c(`git.conflictAborted`),position:`top`}),ce.value=!1,we()}catch(e){let t=e instanceof Error?e.message:`Abort failed`;l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{ue.value=!1}}}async function ze(){if(!(!o.workspace||!L.value)){de.value=!0;try{let e=await fetch(`/api/workspaces/${o.workspace.id}/git/resolve-with-agent`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({operation:L.value,files:le.value})});if(!e.ok){let t=await e.json();throw Error(t.error??`Handoff failed`)}l.notify({type:`positive`,message:c(`git.conflictHandoffSuccess`),position:`top`}),ce.value=!1}catch(e){let t=e instanceof Error?e.message:`Handoff failed`;l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{de.value=!1}}}let Be=s(!1),Ve=s(!1);function He(){o.workspace&&(Ve.value=!1,Be.value=!0)}async function Ue(){if(!o.workspace)return;let e=Ve.value;Be.value=!1,m.value=!0;try{await f.pushBranch(o.workspace.id,{force:e}),l.notify({type:`positive`,message:c(e?`git.branchForcePushed`:`git.branchPushed`),position:`top`}),we()}catch(e){let t=e instanceof Error?e.message:`Push failed`;l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{m.value=!1}}function We(){o.workspace&&l.dialog({title:c(`git.pullConfirmTitle`),message:c(`git.pullConfirmMessage`,{branch:`<code class="git-branch-code">${ke(o.workspace.workingBranch)}</code>`}),html:!0,dark:!0,cancel:{flat:!0,label:c(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:c(`git.pull`),color:`grey-5`}}).onOk(async()=>{E.value=!0;try{await f.pullBranch(o.workspace.id),l.notify({type:`positive`,message:c(`git.branchPulled`),position:`top`}),we()}catch(e){console.error(`[GitPanel] pullBranch failed:`,e);let t=e instanceof Error?e.message:c(`git.pullFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{E.value=!1}})}function Ge(){R.value?.prUrl&&window.open(R.value.prUrl,`_blank`)}function Ke(){o.workspace&&l.dialog({title:c(`git.changePrBaseTitle`),message:c(`git.changePrBaseMessage`),prompt:{model:o.workspace.sourceBranch,type:`text`},dark:!0,cancel:{flat:!0,label:c(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:c(`common.save`),color:`primary`}}).onOk(async e=>{if(!(!e.trim()||!o.workspace)){A.value=!0;try{let t=await fetch(`/api/workspaces/${o.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`)}l.notify({type:`positive`,message:c(`git.changePrBaseSuccess`),position:`top`}),we()}catch(e){let t=e instanceof Error?e.message:c(`git.changePrBaseFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{A.value=!1}}})}async function qe(){if(o.workspace){k.value=!0;try{let e=await f.openPullRequest(o.workspace.id);l.notify({type:`positive`,message:c(`git.prCreated`,{n:e.prNumber}),caption:e.prUrl,position:`top`,timeout:5e3}),we()}catch(e){if(e instanceof Ee&&e.code===`branch_not_pushed`){l.notify({type:`warning`,message:c(`git.pushFirst`),position:`top`,timeout:6e3});return}if(e instanceof Ee&&e.code===`unpushed_commits`){l.notify({type:`warning`,message:c(`git.unpushedCommits`),position:`top`,timeout:6e3});return}let t=e instanceof Error?e.message:`Open PR failed`;l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{k.value=!1}}}return(n,a)=>(t(),S(`div`,ln,[T(`div`,un,[T(`div`,dn,h(n.$t(`git.title`)),1),e.workspace?(t(),g(z,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,loading:pe.value,onClick:a[0]||=e=>we({freshFetch:!0})},{default:u(()=>[v(H,null,{default:u(()=>[y(h(n.$t(`tooltip.refreshGitStats`)),1)]),_:1})]),_:1},8,[`loading`])):_(``,!0)]),e.workspace?(t(),S(C,{key:0},[T(`div`,fn,[v(I,{name:`folder`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),T(`span`,pn,h(me.value),1)]),T(`div`,mn,[a[12]||=T(`span`,{style:{width:`8px`,height:`8px`,"border-radius":`50%`,"background-color":`#4ade80`,display:`inline-block`},class:`q-mr-xs`},null,-1),T(`span`,hn,h(e.workspace.workingBranch),1),e.workspace?.worktreeOwned===!1?_(``,!0):(t(),g(z,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`edit`,color:`grey-6`,class:`q-ml-xs`,loading:te.value,onClick:De},{default:u(()=>[v(H,null,{default:u(()=>[y(h(n.$t(`git.renameBranch`)),1)]),_:1})]),_:1},8,[`loading`])),e.workspace?.worktreeOwned===!1?(t(),g(I,{key:1,name:`info`,size:`14px`,color:`grey-6`,class:`q-ml-xs`},{default:u(()=>[v(H,null,{default:u(()=>[y(h(n.$t(`git.renameDisabledForExternal`)),1)]),_:1})]),_:1})):_(``,!0)]),T(`div`,gn,[y(h(n.$t(`git.from`))+` `+h(e.workspace.sourceBranch)+` `,1),R.value?(t(),S(C,{key:0},[R.value.commitCount>0||R.value.behindCount>0?(t(),S(`span`,_n,[R.value.commitCount>0?(t(),S(`span`,{key:0,class:`cursor-pointer arrow-clickable`,style:{color:`#4ade80`},onClick:a[1]||=N(e=>be(`ahead`),[`stop`])},` ↑`+h(R.value.commitCount),1)):_(``,!0),R.value.behindCount>0?(t(),S(`span`,{key:1,class:`cursor-pointer arrow-clickable q-ml-xs`,style:{color:`#f87171`},onClick:a[2]||=N(e=>be(`behind`),[`stop`])},` ↓`+h(R.value.behindCount),1)):_(``,!0),v(H,null,{default:u(()=>[y(h(n.$t(`git.aheadBehindTooltip`,{ahead:R.value.commitCount,behind:R.value.behindCount,source:e.workspace.sourceBranch})),1)]),_:1})])):_(``,!0),a[13]||=y(` · `,-1),R.value.unpushedCount===-1?(t(),S(`span`,vn,h(n.$t(`git.localOnly`)),1)):R.value.unpushedCount===0?(t(),S(`span`,yn,h(n.$t(`git.pushed`)),1)):(t(),S(`span`,bn,h(n.$t(`git.unpushed`,{count:R.value.unpushedCount})),1))],64)):_(``,!0)]),R.value?(t(),S(C,{key:0},[R.value.commitCount>0?(t(),S(`div`,{key:0,class:`row items-center q-mb-xs commit-toggle cursor-pointer`,onClick:ae},[v(I,{name:`commit`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),T(`span`,xn,h(n.$t(`git.commits`,{count:R.value.commitCount},R.value.commitCount)),1),ne.value?(t(),g(F,{key:0,size:`12px`,color:`indigo-4`,class:`q-ml-xs`})):(t(),g(I,{key:1,name:P.value?`expand_less`:`expand_more`,size:`14px`,color:`grey-6`,class:`q-ml-xs`},null,8,[`name`]))])):(t(),S(`div`,Sn,[v(I,{name:`commit`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),T(`span`,Cn,h(n.$t(`git.commits`,{count:0},0)),1)])),P.value?(t(),S(`div`,wn,[ne.value?(t(),S(`div`,Tn,[v(F,{size:`xs`,class:`q-mr-xs`}),y(h(n.$t(`git.commits.loading`)),1)])):re.value.length===0?(t(),S(`div`,En,h(n.$t(`git.commits.empty`)),1)):(t(!0),S(C,{key:2},i(re.value,e=>(t(),S(`div`,{key:e.sha,class:`commit-item row no-wrap items-center cursor-pointer`,onClick:t=>oe(e.sha)},[v(I,{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`]),T(`span`,On,h(e.shortSha),1),T(`span`,kn,h(e.subject),1),v(H,{anchor:`top middle`,self:`bottom middle`,class:`commit-tooltip`},{default:u(()=>[T(`div`,An,[T(`div`,null,[T(`code`,null,h(e.sha),1)]),T(`div`,jn,h(e.author)+` · `+h(se(e.date)),1),T(`div`,Mn,h(e.isPushed?n.$t(`git.commits.pushed`):n.$t(`git.commits.unpushed`))+` · `+h(n.$t(`git.commits.clickToAppend`)),1)])]),_:2},1024)],8,Dn))),128))])):_(``,!0),R.value.filesChanged>0?(t(),S(`div`,Nn,[v(I,{name:`insert_drive_file`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),T(`span`,Pn,h(n.$t(`git.files`,{count:R.value.filesChanged},R.value.filesChanged)),1),R.value.insertions>0?(t(),S(`span`,Fn,` +`+h(R.value.insertions),1)):_(``,!0),R.value.deletions>0?(t(),S(`span`,In,` -`+h(R.value.deletions),1)):_(``,!0)])):(t(),S(`div`,Ln)),R.value.workingTree&&(R.value.workingTree.staged>0||R.value.workingTree.modified>0||R.value.workingTree.untracked>0)?(t(),S(`div`,Rn,[v(I,{name:`edit_note`,size:`14px`,color:`grey-6`}),R.value.workingTree.staged>0?(t(),S(`span`,zn,h(n.$t(`git.staged`,{count:R.value.workingTree.staged})),1)):_(``,!0),R.value.workingTree.modified>0?(t(),S(`span`,Bn,h(n.$t(`git.modified`,{count:R.value.workingTree.modified})),1)):_(``,!0),R.value.workingTree.untracked>0?(t(),S(`span`,Vn,h(n.$t(`git.untracked`,{count:R.value.workingTree.untracked})),1)):_(``,!0)])):(t(),S(`div`,Hn))],64)):_(``,!0),T(`div`,Un,[R.value?(t(),g(Rt,{key:0,split:``,dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,icon:`sync`,label:n.$t(`git.sync`),class:`git-btn git-sync-btn`,loading:E.value||D.value||O.value,disable:!e.workspace||m.value,onClick:a[3]||=e=>R.value.unpushedCount===-1?Ne():We()},{default:u(()=>[v(Ze,{dark:``,dense:``,style:{"min-width":`140px`}},{default:u(()=>[d((t(),g(Le,{clickable:``,disable:E.value||D.value||O.value||R.value.unpushedCount===-1,onClick:We},{default:u(()=>[v(V,{avatar:``,style:{"min-width":`28px`}},{default:u(()=>[v(I,{name:`download`,size:`16px`,color:`grey-5`})]),_:1}),v(V,null,{default:u(()=>[y(h(n.$t(`git.pull`)),1)]),_:1}),R.value.unpushedCount===-1?(t(),g(H,{key:0},{default:u(()=>[y(h(n.$t(`git.pullNoUpstream`)),1)]),_:1})):_(``,!0)]),_:1},8,[`disable`])),[[$e]]),d((t(),g(Le,{clickable:``,disable:E.value||D.value||O.value,onClick:Ne},{default:u(()=>[v(V,{avatar:``,style:{"min-width":`28px`}},{default:u(()=>[v(I,{name:`replay`,size:`16px`,color:`orange-4`})]),_:1}),v(V,null,{default:u(()=>[y(h(n.$t(`git.rebase`)),1)]),_:1})]),_:1},8,[`disable`])),[[$e]]),d((t(),g(Le,{clickable:``,disable:E.value||D.value||O.value,onClick:Pe},{default:u(()=>[v(V,{avatar:``,style:{"min-width":`28px`}},{default:u(()=>[v(I,{name:`merge`,size:`16px`,color:`purple-4`})]),_:1}),v(V,null,{default:u(()=>[y(h(n.$t(`git.merge`)),1)]),_:1})]),_:1},8,[`disable`])),[[$e]])]),_:1})]),_:1},8,[`label`,`loading`,`disable`])):_(``,!0),!R.value||R.value.unpushedCount!==0?(t(),g(z,{key:1,dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,icon:`upload`,label:n.$t(`git.push`),class:`git-btn`,loading:m.value,disable:!e.workspace||k.value||E.value||D.value,onClick:He},null,8,[`label`,`loading`,`disable`])):_(``,!0),v(z,{dense:``,"no-caps":``,size:`sm`,outline:``,color:`indigo-4`,icon:`rate_review`,label:n.$t(`git.diffReview`),class:`git-btn`,disable:!e.workspace,onClick:a[4]||=e=>ee(!0)},{default:u(()=>[v(H,{anchor:`bottom middle`,self:`top middle`,delay:400},{default:u(()=>[y(h(n.$t(`git.diffReviewTooltip`)),1)]),_:1})]),_:1},8,[`label`,`disable`]),R.value?.prUrl&&R.value.prState===`OPEN`?(t(),g(z,{key:2,dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,icon:`swap_horiz`,loading:A.value,class:`git-btn`,onClick:Ke},{default:u(()=>[v(H,null,{default:u(()=>[y(h(n.$t(`git.changePrBase`)),1)]),_:1})]),_:1},8,[`loading`])):_(``,!0),R.value?.prUrl?(t(),g(z,{key:3,dense:``,"no-caps":``,size:`sm`,outline:``,color:`green-4`,icon:`open_in_new`,label:n.$t(`git.viewPr`),class:`git-btn`,onClick:Ge},null,8,[`label`])):_(``,!0),!R.value?.prUrl||R.value.prState===`CLOSED`||R.value.prState===`MERGED`?(t(),g(z,{key:4,dense:``,"no-caps":``,size:`sm`,outline:``,color:`indigo-4`,icon:`open_in_new`,label:n.$t(`git.createPr`),class:`git-btn`,loading:k.value,disable:!e.workspace||m.value||!he.value,onClick:qe},{default:u(()=>[!he.value&&ge.value?(t(),g(H,{key:0},{default:u(()=>[y(h(ge.value),1)]),_:1})):_(``,!0)]),_:1},8,[`label`,`loading`,`disable`])):_(``,!0)])],64)):(t(),S(`div`,Wn,h(n.$t(`common.selectWorkspace`)),1)),v(Oe,{modelValue:Be.value,"onUpdate:modelValue":a[6]||=e=>Be.value=e},{default:u(()=>[v(Ie,{dark:``,style:{"min-width":`360px`,"max-width":`480px`}},{default:u(()=>[v(Te,null,{default:u(()=>[T(`div`,Gn,h(n.$t(`git.pushConfirmTitle`)),1),T(`div`,Kn,[y(h(n.$t(`git.pushConfirmMessagePrefix`))+` `,1),T(`code`,qn,h(e.workspace?.workingBranch??``),1),y(` `+h(n.$t(`git.pushConfirmMessageSuffix`)),1)])]),_:1}),v(Te,{class:`q-pt-none`},{default:u(()=>[v(Se,{modelValue:Ve.value,"onUpdate:modelValue":a[5]||=e=>Ve.value=e,label:n.$t(`git.forcePushToggle`),color:`orange-6`,dense:``},null,8,[`modelValue`,`label`]),T(`div`,Jn,h(n.$t(`git.forcePushHint`)),1)]),_:1}),v(je,{align:`right`},{default:u(()=>[d(v(z,{flat:``,label:n.$t(`common.cancel`),color:`grey-5`},null,8,[`label`]),[[$e]]),v(z,{flat:``,label:Ve.value?n.$t(`git.forcePush`):n.$t(`git.push`),color:Ve.value?`orange-4`:`grey-5`,onClick:Ue},null,8,[`label`,`color`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),v(Oe,{modelValue:ce.value,"onUpdate:modelValue":a[8]||=e=>ce.value=e,persistent:``},{default:u(()=>[v(Ie,{dark:``,style:{"min-width":`420px`,"max-width":`600px`}},{default:u(()=>[v(Te,null,{default:u(()=>[T(`div`,Yn,[v(I,{name:`warning`,class:`q-mr-xs`}),y(` `+h(L.value===`merge`?n.$t(`git.conflictTitleMerge`):n.$t(`git.conflictTitleRebase`)),1)]),T(`div`,Xn,h(n.$t(`git.conflictSubtitle`,{count:le.value.length})),1)]),_:1}),le.value.length>0?(t(),g(Te,{key:0,class:`q-pt-none`},{default:u(()=>[v(Ze,{dense:``,dark:``},{default:u(()=>[(t(!0),S(C,null,i(le.value,e=>(t(),g(Le,{key:e},{default:u(()=>[v(V,{side:``},{default:u(()=>[v(I,{name:`insert_drive_file`,size:`xs`})]),_:1}),v(V,null,{default:u(()=>[T(`div`,Zn,h(e),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})):_(``,!0),v(je,{align:`right`},{default:u(()=>[v(z,{flat:``,"no-caps":``,label:n.$t(`common.cancel`),color:`grey-5`,disable:ue.value||de.value,onClick:a[7]||=e=>ce.value=!1},null,8,[`label`,`disable`]),v(z,{flat:``,"no-caps":``,color:`red-4`,icon:`undo`,label:n.$t(`git.conflictAbort`),loading:ue.value,disable:de.value,onClick:Re},null,8,[`label`,`loading`,`disable`]),v(z,{unelevated:``,"no-caps":``,color:`primary`,icon:`smart_toy`,label:n.$t(`git.conflictResolveWithAgent`),loading:de.value,disable:ue.value,onClick:ze},null,8,[`label`,`loading`,`disable`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),v(Oe,{modelValue:j.value,"onUpdate:modelValue":a[10]||=e=>j.value=e,maximized:``},{default:u(()=>[e.workspace?(t(),g(w(r),{key:0,"workspace-id":e.workspace.id,"initial-review-mode":M.value,onClose:a[9]||=e=>j.value=!1,onSendToChat:fe},null,8,[`workspace-id`,`initial-review-mode`])):_(``,!0)]),_:1},8,[`modelValue`]),e.workspace&&R.value?(t(),g(cn,{key:2,modelValue:_e.value,"onUpdate:modelValue":a[11]||=e=>_e.value=e,"workspace-id":e.workspace.id,"initial-tab":ve.value,"ahead-count":R.value.commitCount,"behind-count":R.value.behindCount,"source-branch":e.workspace.sourceBranch,"working-branch":e.workspace.workingBranch,onAppendSha:oe},null,8,[`modelValue`,`workspace-id`,`initial-tab`,`ahead-count`,`behind-count`,`source-branch`,`working-branch`])):_(``,!0)]))}}),[[`__scopeId`,`data-v-ff606b69`]]),$n={class:`subagents-panel q-pa-md`},er={class:`text-caption text-uppercase text-weight-bold text-grey-6 q-mb-sm`,style:{"letter-spacing":`0.05em`}},tr={key:0,class:`text-caption text-grey-8`},nr={class:`row items-center q-mb-xs`},rr={class:`text-caption text-weight-medium text-grey-3 ellipsis`,style:{"max-width":`220px`}},ir={key:0,class:`text-caption text-grey-6`,style:{"font-size":`10px`}},ar={class:`text-grey-4`},or={class:`row items-center q-gutter-xs q-mt-xs text-caption text-grey-7`,style:{"font-size":`10px`}},sr={key:0},cr={key:1},lr={key:2},ur=Ge(E({__name:`SubagentsPanel`,setup(e){let{t:n}=ye(),r=Ae(),a=x(()=>[...r.currentSubagents].reverse());function o(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 s(e){return e?e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e):``}return(e,n)=>(t(),S(`div`,$n,[T(`div`,er,h(e.$t(`subagents.title`)),1),a.value.length===0?(t(),S(`div`,tr,h(e.$t(`subagents.empty`)),1)):_(``,!0),(t(!0),S(C,null,i(a.value,n=>(t(),S(`div`,{key:n.toolUseId,class:`subagent-item q-mb-sm rounded-borders q-pa-sm`},[T(`div`,nr,[v(I,{name:n.status===`running`?`play_circle`:`check_circle`,size:`14px`,color:n.status===`running`?`green-4`:`grey-6`,class:`q-mr-xs`},null,8,[`name`,`color`]),T(`span`,rr,h(n.description||n.toolUseId),1)]),n.lastToolName?(t(),S(`div`,ir,[y(h(e.$t(`subagents.running`)),1),T(`span`,ar,h(n.lastToolName),1)])):_(``,!0),T(`div`,or,[n.toolUses===void 0?_(``,!0):(t(),S(`span`,sr,h(e.$t(`subagents.tools`,{count:n.toolUses})),1)),n.totalTokens?(t(),S(`span`,cr,`· `+h(s(n.totalTokens))+` tok`,1)):_(``,!0),n.durationMs?(t(),S(`span`,lr,`· `+h(o(n.durationMs)),1)):_(``,!0)])]))),128))]))}}),[[`__scopeId`,`data-v-dd805632`]]),dr={class:`notion-panel q-pa-md`},fr={class:`row items-center q-mb-sm`},pr={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},mr={key:0,class:`q-mb-sm`},hr={class:`text-caption text-grey-7`,style:{"font-size":`11px`}},gr={key:1,class:`text-caption text-grey-8 q-mb-sm`,style:{"font-size":`11px`}},_r={key:2,class:`task-add-row row items-center q-mb-xs`},vr={key:3,class:`tasks-list`},yr=[`onDblclick`],br={key:1,class:`text-caption text-grey-8`},xr=Ge(E({__name:`TasksPanel`,props:{workspace:{},tasks:{}},setup(n){let r=n,{t:a}=ye(),o=Ae(),c=Ne();function l(){r.workspace?.id&&ot(r.workspace.id,c,o)}let d=x(()=>r.tasks.filter(e=>!e.isAcceptanceCriterion)),f=x(()=>d.value.filter(e=>e.status===`done`).length),p=x(()=>d.value.length),b=x(()=>p.value>0?f.value/p.value:0),w=s(!1),E=s(``),D=s(null),O=s(``),j=s({});function M(e,t){if(t){let n=t.$el??t;j.value[e]=n}else delete j.value[e]}function ee(){w.value=!0,E.value=``}async function te(){let e=E.value.trim();if(!(!e||!r.workspace?.id))try{await o.createTask(r.workspace.id,e,!1),E.value=``,w.value=!1}catch{}}function P(){E.value=``,w.value=!1}function ne(t){D.value=t.id,O.value=t.title,e(()=>{let e=j.value[t.id]?.querySelector(`input, textarea`);e?.focus(),e?.select()})}async function re(e){if(D.value!==e.id)return;let t=O.value.trim(),n=e.id;if(D.value=null,!(!t||t===e.title)&&r.workspace?.id)try{await o.updateTaskTitle(r.workspace.id,n,t)}catch{}}function F(){D.value=null,O.value=``}async function ie(e){if(r.workspace?.id)try{await o.deleteTask(r.workspace.id,e.id)}catch{}}async function ae(e){if(!r.workspace?.id)return;let t=e.status===`done`?`pending`:`done`;try{let n=await fetch(`/api/workspaces/${e.workspaceId}/tasks/${e.id}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({status:t})});if(!n.ok)throw Error(`HTTP ${n.status}`);o.fetchWorkspaceDetails(r.workspace.id)}catch(e){console.error(`Failed to toggle task:`,e)}}function oe(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function se(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(e,r)=>(t(),S(`div`,dr,[T(`div`,fr,[T(`div`,pr,h(e.$t(`tasks.title`)),1),v(qe),n.workspace?(t(),g(z,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`fact_check`,color:`grey-5`,onClick:l},{default:u(()=>[v(H,null,{default:u(()=>[y(h(e.$t(`tasks.askProgress`)),1)]),_:1})]),_:1})):_(``,!0),n.workspace?(t(),g(z,{key:1,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,onClick:ee},{default:u(()=>[v(H,null,{default:u(()=>[y(h(e.$t(`tooltip.addTask`)),1)]),_:1})]),_:1})):_(``,!0)]),n.workspace?(t(),S(C,{key:0},[p.value>0?(t(),S(`div`,mr,[v(ge,{value:b.value,color:`primary`,"track-color":`grey-9`,class:`q-mb-xs`,style:{height:`4px`,"border-radius":`2px`}},null,8,[`value`]),T(`div`,hr,h(e.$t(`notion.subtasks`,{done:f.value,total:p.value})),1)])):w.value?_(``,!0):(t(),S(`div`,gr,h(e.$t(`notion.noTasks`)),1)),w.value?(t(),S(`div`,_r,[v(be,{modelValue:E.value,"onUpdate:modelValue":r[0]||=e=>E.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:e.$t(`notion.newTask`),class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[A(N(te,[`prevent`]),[`enter`]),A(N(P,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):_(``,!0),d.value.length>0?(t(),S(`div`,vr,[(t(!0),S(C,null,i(d.value,n=>(t(),S(`div`,{key:n.id,class:`task-item row items-center q-py-xxs`},[v(I,{name:oe(n.status),size:`14px`,style:k({color:se(n.status)}),class:`q-mr-xs cursor-pointer`,onClick:e=>ae(n)},null,8,[`name`,`style`,`onClick`]),D.value===n.id?(t(),g(be,{key:0,ref_for:!0,ref:e=>M(n.id,e),modelValue:O.value,"onUpdate:modelValue":r[1]||=e=>O.value=e,dark:``,dense:``,borderless:``,class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[A(N(e=>re(n),[`prevent`]),[`enter`]),A(N(F,[`prevent`]),[`esc`])],onBlur:e=>re(n)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(t(),S(C,{key:1},[T(`span`,{class:m([`col task-title text-caption`,{"text-strike":n.status===`done`}]),style:k({color:n.status===`done`?`#4ade80`:`#ccc`}),onDblclick:e=>ne(n)},h(n.title),47,yr),v(z,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`task-delete-btn`,onClick:e=>ie(n)},{default:u(()=>[v(H,null,{default:u(()=>[y(h(e.$t(`tooltip.removeTask`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):_(``,!0)],64)):(t(),S(`div`,br,h(e.$t(`common.selectWorkspace`)),1))]))}}),[[`__scopeId`,`data-v-4bc9713a`]]),Sr=2,Cr=1,wr=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(Sr,Math.floor(u/e.css.cell.width)),rows:Math.max(Cr,Math.floor(l/e.css.cell.height))}}},Tr=Object.defineProperty,Er=Object.getOwnPropertyDescriptor,Dr=(e,t)=>{for(var n in t)Tr(e,n,{get:t[n],enumerable:!0})},Or=(e,t,n,r)=>{for(var i=r>1?void 0:r?Er(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&&Tr(t,n,i),i},U=(e,t)=>(n,r)=>t(n,r,e),kr=`Terminal input`,Ar={get:()=>kr,set:e=>kr=e},jr=`Too much output to announce, navigate to rows manually to read`,Mr={get:()=>jr,set:e=>jr=e};function Nr(e){return e.replace(/\r?\n/g,`\r`)}function Pr(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function Fr(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function Ir(e,t,n,r){e.stopPropagation(),e.clipboardData&&Lr(e.clipboardData.getData(`text/plain`),t,n,r)}function Lr(e,t,n,r){e=Nr(e),e=Pr(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function Rr(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 zr(e,t,n,r,i){Rr(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function Br(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function Vr(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 Hr=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}},Ur=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}},Wr=``,Gr=` `,Kr=class e{constructor(){this.fg=0,this.bg=0,this.extended=new qr}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}},qr=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}},Jr=class e extends Kr{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new qr,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?Br(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()]}},Yr=`di$target`,Xr=`di$dependencies`,Zr=new Map;function Qr(e){return e[Xr]||[]}function $r(e){if(Zr.has(e))return Zr.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);ei(t,e,r)};return t._id=e,Zr.set(e,t),t}function ei(e,t,n){t[Yr]===t?t[Xr].push({id:e,index:n}):(t[Xr]=[{id:e,index:n}],t[Yr]=t)}var ti=$r(`BufferService`),ni=$r(`CoreMouseService`),ri=$r(`CoreService`),ii=$r(`CharsetService`),ai=$r(`InstantiationService`),oi=$r(`LogService`),si=$r(`OptionsService`),ci=$r(`OscLinkService`),li=$r(`UnicodeService`),ui=$r(`DecorationService`),di=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 Jr,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):fi(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)}};di=Or([U(0,ti),U(1,si),U(2,ci)],di);function fi(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-Dls1jFCN.js","assets/index-_ZaIBxd6.js","assets/vue-i18n-BcfTCFFS.js","assets/runtime-core.esm-bundler-C3IgBgY5.js","assets/QIcon-BJuyqdsT.js","assets/use-id-CuaR1RiE.js","assets/QBtn-a6jxWjmW.js","assets/QCheckbox-D5jfsxLV.js","assets/use-checkbox-D7zmRxGI.js","assets/QInput-Cm5-AGQ4.js","assets/QRadio-B3aKjCVu.js","assets/QToggle-1-N9qWq4.js","assets/notifications-OnPq4FrH.js","assets/index-eX_lKHSg.css","assets/_plugin-vue_export-helper-Cj6tcsj6.js","assets/QBadge-DWH42dbo.js","assets/build-path-tree-B1Lvvqto.js","assets/QTooltip-fDNzBEfN.js","assets/QItemSection-5YpFpPDm.js","assets/QList-D0FtnQJI.js","assets/QMenu-B4xMxMGd.js","assets/render-chat-markdown-DcGIpMoe.js","assets/purify.es-BWZjBa9F.js","assets/TouchPan-DoE24Io3.js","assets/touch-HRdTUO2o.js","assets/QSpace-CLtL3aPy.js","assets/QSpinnerDots-CszPQQ9J.js","assets/use-quasar-Sdcq6zzV.js","assets/ClosePopup-D_UAdwkA.js","assets/DiffViewer-wFfQ9tcY.css"])))=>i.map(i=>d[i]);
2
+ import{E as e,F as t,H as n,I as r,L as i,M as a,N as o,Q as s,R as c,S as l,U as u,W as d,Z as f,_ as p,_t as m,bt as h,d as g,f as _,g as v,h as y,k as b,l as x,p as S,r as C,rt as w,u as T,v as E,w as D,y as O,yt as k}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{H as A,M as j,P as M,U as N,V as ee,_ as te,a as P,g as ne,i as re,l as F,m as ie,n as ae,r as oe,s as se,t as I}from"./QIcon-BJuyqdsT.js";import{p as ce,r as L,t as le}from"./use-id-CuaR1RiE.js";import{A as ue,M as de,P as fe,h as R,j as pe,k as me,s as he}from"./notifications-OnPq4FrH.js";import{n as ge}from"./QRadio-B3aKjCVu.js";import{n as _e,r as ve,t as z}from"./QBtn-a6jxWjmW.js";import{n as ye}from"./vue-i18n-BcfTCFFS.js";import{t as be}from"./QInput-Cm5-AGQ4.js";import{t as xe}from"./QCheckbox-D5jfsxLV.js";import{t as Se}from"./QToggle-1-N9qWq4.js";import{_ as Ce,a as we,b as Te,c as Ee,d as B,f as De,g as Oe,i as ke,l as Ae,n as je,r as Me,s as Ne,t as Pe,v as Fe,y as Ie}from"./index-_ZaIBxd6.js";import{n as Le,t as V}from"./QItemSection-5YpFpPDm.js";import{d as Re,t as H}from"./QTooltip-fDNzBEfN.js";import{n as ze,t as Be}from"./TouchPan-DoE24Io3.js";import{n as Ve,r as He,t as Ue}from"./purify.es-BWZjBa9F.js";import{t as We}from"./documents-kx0vLfSG.js";import{t as Ge}from"./_plugin-vue_export-helper-Cj6tcsj6.js";import{t as Ke}from"./QBadge-DWH42dbo.js";import{t as qe}from"./QSpace-CLtL3aPy.js";import{i as Je,r as Ye,t as Xe}from"./build-path-tree-B1Lvvqto.js";import{t as Ze}from"./QList-D0FtnQJI.js";import{t as Qe}from"./QMenu-B4xMxMGd.js";import{t as $e}from"./ClosePopup-D_UAdwkA.js";import{t as et}from"./use-quasar-Sdcq6zzV.js";import{i as tt,n as nt,r as rt,t as it}from"./QTabPanels-D2ks0UIA.js";import{t as at}from"./QChip-ByxK0Tuf.js";import{n as ot,r as st}from"./kobo-commands-w8VepGvD.js";import{t as ct}from"./formatters-BD0_hovB.js";var lt=150,ut=M({name:`QDrawer`,inheritAttrs:!1,props:{...de,...oe,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:[...pe,`onLayout`,`miniState`],setup(t,{slots:r,emit:i,attrs:o}){let c=O(),{proxy:{$q:u}}=c,f=ae(t,u),{preventBodyScroll:p}=Ce(),{registerTimeout:m,removeTimeout:h}=fe(),g=D(ne,ie);if(g===ie)return console.error(`QDrawer needs to be child of QLayout`),ie;let _,v=null,y,S=s(t.behavior===`mobile`||t.behavior!==`desktop`&&g.totalWidth.value<=t.breakpoint),C=x(()=>t.mini===!0&&S.value!==!0),w=x(()=>C.value===!0?t.miniWidth:t.width),T=s(t.showIfAbove===!0&&S.value===!1?!0:t.modelValue===!0),E=x(()=>t.persistent!==!0&&(S.value===!0||me.value===!0));function k(e,t){if(N(),e!==!1&&g.animate(),B(0),S.value===!0){let e=g.instances[le.value];e?.belowBreakpoint===!0&&e.hide(!1),De(1),g.isContainer.value!==!0&&p(!0)}else De(0),e!==!1&&Oe(!1);m(()=>{e!==!1&&Oe(!0),t!==!0&&i(`show`,e)},lt)}function A(e,t){ee(),e!==!1&&g.animate(),De(0),B(F.value*w.value),Me(),t===!0?h():m(()=>{i(`hide`,e)},lt)}let{show:j,hide:M}=ue({showing:T,hideOnRouteChange:E,handleShow:k,handleHide:A}),{addToHistory:N,removeFromHistory:ee}=Fe(T,M,E),te={belowBreakpoint:S,hide:M},P=x(()=>t.side===`right`),F=x(()=>(u.lang.rtl===!0?-1:1)*(P.value===!0?1:-1)),oe=s(0),I=s(!1),ce=s(!1),L=s(w.value*F.value),le=x(()=>P.value===!0?`left`:`right`),de=x(()=>T.value===!0&&S.value===!1&&t.overlay===!1?t.miniToOverlay===!0?t.miniWidth:w.value:0),R=x(()=>t.overlay===!0||t.miniToOverlay===!0||g.view.value.indexOf(P.value?`R`:`L`)!==-1||u.platform.is.ios===!0&&g.isContainer.value===!0),pe=x(()=>t.overlay===!1&&T.value===!0&&S.value===!1),me=x(()=>t.overlay===!0&&T.value===!0&&S.value===!1),he=x(()=>`fullscreen q-drawer__backdrop`+(T.value===!1&&I.value===!1?` hidden`:``)),ge=x(()=>({backgroundColor:`rgba(0,0,0,${oe.value*.4})`})),_e=x(()=>P.value===!0?g.rows.value.top[2]===`r`:g.rows.value.top[0]===`l`),ve=x(()=>P.value===!0?g.rows.value.bottom[2]===`r`:g.rows.value.bottom[0]===`l`),z=x(()=>{let e={};return g.header.space===!0&&_e.value===!1&&(R.value===!0?e.top=`${g.header.offset}px`:g.header.space===!0&&(e.top=`${g.header.size}px`)),g.footer.space===!0&&ve.value===!1&&(R.value===!0?e.bottom=`${g.footer.offset}px`:g.footer.space===!0&&(e.bottom=`${g.footer.size}px`)),e}),ye=x(()=>{let e={width:`${w.value}px`,transform:`translateX(${L.value}px)`};return S.value===!0?e:Object.assign(e,z.value)}),be=x(()=>`q-drawer__content fit `+(g.isContainer.value===!0?`overflow-auto`:`scroll`)),xe=x(()=>`q-drawer q-drawer--${t.side}`+(ce.value===!0?` q-drawer--mini-animate`:``)+(t.bordered===!0?` q-drawer--bordered`:``)+(f.value===!0?` q-drawer--dark q-dark`:``)+(I.value===!0?` no-transition`:T.value===!0?``:` q-layout--prevent-focus`)+(S.value===!0?` fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding`:` q-drawer--${C.value===!0?`mini`:`standard`}`+(R.value===!0||pe.value!==!0?` fixed`:``)+(t.overlay===!0||t.miniToOverlay===!0?` q-drawer--on-top`:``)+(_e.value===!0?` q-drawer--top-padding`:``))),Se=x(()=>[[Be,Ae,void 0,{[u.lang.rtl===!0?t.side:le.value]:!0,mouse:!0}]]),we=x(()=>[[Be,je,void 0,{[u.lang.rtl===!0?le.value:t.side]:!0,mouse:!0}]]),Te=x(()=>[[Be,je,void 0,{[u.lang.rtl===!0?le.value:t.side]:!0,mouse:!0,mouseAllDir:!0}]]);function Ee(){Pe(S,t.behavior===`mobile`||t.behavior!==`desktop`&&g.totalWidth.value<=t.breakpoint)}n(S,e=>{e===!0?(_=T.value,T.value===!0&&M(!1)):t.overlay===!1&&t.behavior!==`mobile`&&_!==!1&&(T.value===!0?(B(0),De(0),Me()):j(!1))}),n(()=>t.side,(e,t)=>{g.instances[t]===te&&(g.instances[t]=void 0,g[t].space=!1,g[t].offset=0),g.instances[e]=te,g[e].size=w.value,g[e].space=pe.value,g[e].offset=de.value}),n(g.totalWidth,()=>{(g.isContainer.value===!0||document.qScrollPrevented!==!0)&&Ee()}),n(()=>t.behavior+t.breakpoint,Ee),n(g.isContainer,e=>{T.value===!0&&p(e!==!0),e===!0&&Ee()}),n(g.scrollbarWidth,()=>{B(T.value===!0?0:void 0)}),n(de,e=>{Ne(`offset`,e)}),n(pe,e=>{i(`onLayout`,e),Ne(`space`,e)}),n(P,()=>{B()}),n(w,e=>{B(),Ie(t.miniToOverlay,e)}),n(()=>t.miniToOverlay,e=>{Ie(e,w.value)}),n(()=>u.lang.rtl,()=>{B()}),n(()=>t.mini,()=>{t.noMiniAnimation||t.modelValue===!0&&(ke(),g.animate())}),n(C,e=>{i(`miniState`,e)});function B(t){t===void 0?e(()=>{t=T.value===!0?0:w.value,B(F.value*t)}):(g.isContainer.value===!0&&P.value===!0&&(S.value===!0||Math.abs(t)===w.value)&&(t+=F.value*g.scrollbarWidth.value),L.value=t)}function De(e){oe.value=e}function Oe(e){let t=e===!0?`remove`:g.isContainer.value===!0?``:`add`;t!==``&&document.body.classList[t](`q-body--drawer-toggle`)}function ke(){v!==null&&clearTimeout(v),c.proxy&&c.proxy.$el&&c.proxy.$el.classList.add(`q-drawer--mini-animate`),ce.value=!0,v=setTimeout(()=>{v=null,ce.value=!1,c?.proxy?.$el?.classList.remove(`q-drawer--mini-animate`)},150)}function Ae(e){if(T.value!==!1)return;let t=w.value,n=Re(e.distance.x,0,t);if(e.isFinal===!0){n>=Math.min(75,t)?j():(g.animate(),De(0),B(F.value*t)),I.value=!1;return}B((u.lang.rtl===!0?P.value!==!0:P.value)?Math.max(t-n,0):Math.min(0,n-t)),De(Re(n/t,0,1)),e.isFirst===!0&&(I.value=!0)}function je(e){if(T.value!==!0)return;let n=w.value,r=e.direction===t.side,i=(u.lang.rtl===!0?r!==!0:r)?Re(e.distance.x,0,n):0;if(e.isFinal===!0){Math.abs(i)<Math.min(75,n)?(g.animate(),De(1),B(0)):M(),I.value=!1;return}B(F.value*i),De(Re(1-i/n,0,1)),e.isFirst===!0&&(I.value=!0)}function Me(){p(!1),Oe(!0)}function Ne(e,n){g.update(t.side,e,n)}function Pe(e,t){e.value!==t&&(e.value=t)}function Ie(e,n){Ne(`size`,e===!0?t.miniWidth:n)}return g.instances[t.side]=te,Ie(t.miniToOverlay,w.value),Ne(`space`,pe.value),Ne(`offset`,de.value),t.showIfAbove===!0&&t.modelValue!==!0&&T.value===!0&&t[`onUpdate:modelValue`]!==void 0&&i(`update:modelValue`,!0),a(()=>{i(`onLayout`,pe.value),i(`miniState`,C.value),_=t.showIfAbove===!0;let r=()=>{(T.value===!0?k:A)(!1,!0)};if(g.totalWidth.value!==0){e(r);return}y=n(g.totalWidth,()=>{y(),y=void 0,T.value===!1&&t.showIfAbove===!0&&S.value===!1?j(!1):r()})}),b(()=>{y?.(),v!==null&&(clearTimeout(v),v=null),T.value===!0&&Me(),g.instances[t.side]===te&&(g.instances[t.side]=void 0,Ne(`size`,0),Ne(`offset`,0),Ne(`space`,!1))}),()=>{let e=[];S.value===!0&&(t.noSwipeOpen===!1&&e.push(d(l(`div`,{key:`open`,class:`q-drawer__opener fixed-${t.side}`,"aria-hidden":`true`}),Se.value)),e.push(re(`div`,{ref:`backdrop`,class:he.value,style:ge.value,"aria-hidden":`true`,onClick:M},void 0,`backdrop`,t.noSwipeBackdrop!==!0&&T.value===!0,()=>Te.value)));let n=C.value===!0&&r.mini!==void 0,i=[l(`div`,{...o,key:String(n),class:[be.value,o.class]},n===!0?r.mini():se(r.default))];return t.elevated===!0&&T.value===!0&&i.push(l(`div`,{class:`q-layout__shadow absolute-full overflow-hidden no-pointer-events`})),e.push(re(`aside`,{ref:`content`,class:xe.value,style:ye.value},i,`contentclose`,t.noSwipeClose!==!0&&S.value===!0,()=>we.value)),l(`div`,{class:`q-drawer-container`},e)}}}),dt=M({name:`QPageContainer`,setup(e,{slots:t}){let{proxy:{$q:n}}=O(),i=D(ne,ie);if(i===ie)return console.error(`QPageContainer needs to be child of QLayout`),ie;r(te,!0);let a=x(()=>{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()=>l(`div`,{class:`q-page-container`,style:a.value},se(t.default))}}),ft=M({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(e,{slots:t,emit:i}){let{proxy:{$q:a}}=O(),c=s(null),u=s(a.screen.height),d=s(e.container===!0?0:a.screen.width),p=s({position:0,direction:`down`,inflectionPoint:0}),m=s(0),h=s(ce.value===!0?0:R()),g=x(()=>`q-layout q-layout--`+(e.container===!0?`containerized`:`standard`)),_=x(()=>e.container===!1?{minHeight:a.screen.height+`px`}:null),v=x(()=>h.value===0?null:{[a.lang.rtl===!0?`left`:`right`]:`${h.value}px`}),y=x(()=>h.value===0?null:{[a.lang.rtl===!0?`right`:`left`]:0,[a.lang.rtl===!0?`left`:`right`]:`-${h.value}px`,width:`calc(100% + ${h.value}px)`});function b(t){if(e.container===!0||document.qScrollPrevented!==!0){let n={position:t.position.top,direction:t.direction,directionChanged:t.directionChanged,inflectionPoint:t.inflectionPoint.top,delta:t.delta.top};p.value=n,e.onScroll!==void 0&&i(`scroll`,n)}}function S(t){let{height:n,width:r}=t,a=!1;u.value!==n&&(a=!0,u.value=n,e.onScrollHeight!==void 0&&i(`scrollHeight`,n),w()),d.value!==r&&(a=!0,d.value=r),a===!0&&e.onResize!==void 0&&i(`resize`,t)}function C({height:e}){m.value!==e&&(m.value=e,w())}function w(){if(e.container===!0){let e=u.value>m.value?R():0;h.value!==e&&(h.value=e)}}let T=null,E={instances:{},view:x(()=>e.view),isContainer:x(()=>e.container),rootRef:c,height:u,containerHeight:m,scrollbarWidth:h,totalWidth:x(()=>d.value+h.value),rows:x(()=>{let t=e.view.toLowerCase().split(` `);return{top:t[0].split(``),middle:t[1].split(``),bottom:t[2].split(``)}}),header:f({size:0,offset:0,space:!1}),right:f({size:300,offset:0,space:!1}),footer:f({size:0,offset:0,space:!1}),left:f({size:300,offset:0,space:!1}),scroll:p,animate(){T===null?document.body.classList.add(`q-body--layout-animate`):clearTimeout(T),T=setTimeout(()=>{T=null,document.body.classList.remove(`q-body--layout-animate`)},155)},update(e,t,n){E[e][t]=n}};if(r(ne,E),R()>0){let t=null,r=document.body;function i(){t=null,r.classList.remove(`hide-scrollbar`)}function s(){if(t===null){if(r.scrollHeight>a.screen.height)return;r.classList.add(`hide-scrollbar`)}else clearTimeout(t);t=setTimeout(i,300)}function c(e){t!==null&&e===`remove`&&(clearTimeout(t),i()),window[`${e}EventListener`](`resize`,s)}n(()=>e.container===!0?`remove`:`add`,c),e.container!==!0&&c(`add`),o(()=>{c(`remove`)})}return()=>{let n=P(t.default,[l(He,{onScroll:b}),l(ze,{onResize:S})]),r=l(`div`,{class:g.value,style:_.value,ref:e.container===!0?void 0:c,tabindex:-1},n);return e.container===!0?l(`div`,{class:`q-layout-container overflow-hidden`,ref:c},[l(ze,{onResize:C}),l(`div`,{class:`absolute-full`,style:v.value},[l(`div`,{class:`scroll`,style:y.value},[r])])]):r}}}),pt={class:`acceptance-panel q-pa-md`},mt={class:`row items-center q-mb-sm`},ht={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`},_t={key:1,class:`acceptance-list`},vt=[`onDblclick`],yt={key:2,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},bt=Ge(E({__name:`AcceptancePanel`,props:{tasks:{}},setup(n){let{t:r}=ye(),a=Ae(),o=Ne();function c(){let e=a.selectedWorkspaceId;e&&ot(e,o,a)}let l=s(!1),d=s(``),f=s(null),p=s(``),b=s({});function x(e,t){if(t){let n=t.$el??t;b.value[e]=n}else delete b.value[e]}function E(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function D(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}async function O(e){let t=e.status===`done`?`pending`:`done`;try{let n=await fetch(`/api/workspaces/${e.workspaceId}/tasks/${e.id}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({status:t})});if(!n.ok)throw Error(`HTTP ${n.status}`);a.selectedWorkspaceId&&a.fetchWorkspaceDetails(a.selectedWorkspaceId)}catch(e){console.error(`Failed to update task:`,e)}}function j(){l.value=!0,d.value=``}async function M(){let e=d.value.trim(),t=a.selectedWorkspace?.id;if(!(!e||!t))try{await a.createTask(t,e,!0),d.value=``,l.value=!1}catch{}}function ee(){d.value=``,l.value=!1}function te(t){f.value=t.id,p.value=t.title,e(()=>{let e=b.value[t.id]?.querySelector(`input, textarea`);e?.focus(),e?.select()})}async function P(e){if(f.value!==e.id)return;let t=p.value.trim(),n=e.id;if(f.value=null,!t||t===e.title)return;let r=a.selectedWorkspace?.id;if(r)try{await a.updateTaskTitle(r,n,t)}catch{}}function ne(){f.value=null,p.value=``}async function re(e){let t=a.selectedWorkspace?.id;if(t)try{await a.deleteTask(t,e.id)}catch{}}return(e,r)=>(t(),S(`div`,pt,[T(`div`,mt,[T(`div`,ht,h(e.$t(`acceptance.title`)),1),v(qe),w(a).selectedWorkspace?(t(),g(z,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`fact_check`,color:`grey-5`,onClick:c},{default:u(()=>[v(H,null,{default:u(()=>[y(h(e.$t(`tasks.askProgress`)),1)]),_:1})]),_:1})):_(``,!0),w(a).selectedWorkspace?(t(),g(z,{key:1,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,onClick:j},{default:u(()=>[v(H,null,{default:u(()=>[y(h(e.$t(`tooltip.addCriterion`)),1)]),_:1})]),_:1})):_(``,!0)]),l.value?(t(),S(`div`,gt,[v(be,{modelValue:d.value,"onUpdate:modelValue":r[0]||=e=>d.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:e.$t(`acceptance.newCriterion`),class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[A(N(M,[`prevent`]),[`enter`]),A(N(ee,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):_(``,!0),n.tasks.length>0?(t(),S(`div`,_t,[(t(!0),S(C,null,i(n.tasks,n=>(t(),S(`div`,{key:n.id,class:`acceptance-item row items-center q-mb-xxs`},[v(I,{name:E(n.status),size:`16px`,style:k({color:D(n.status)}),class:`q-mr-xs cursor-pointer`,onClick:e=>O(n)},null,8,[`name`,`style`,`onClick`]),f.value===n.id?(t(),g(be,{key:0,ref_for:!0,ref:e=>x(n.id,e),modelValue:p.value,"onUpdate:modelValue":r[1]||=e=>p.value=e,dark:``,dense:``,borderless:``,class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[A(N(e=>P(n),[`prevent`]),[`enter`]),A(N(ne,[`prevent`]),[`esc`])],onBlur:e=>P(n)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(t(),S(C,{key:1},[T(`span`,{class:m([`col acceptance-title text-caption`,{"text-strike":n.status===`done`}]),style:k({color:n.status===`done`?`#4ade80`:`#ccc`}),onDblclick:e=>te(n)},h(n.title),47,vt),v(z,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`criterion-delete-btn`,onClick:e=>re(n)},{default:u(()=>[v(H,null,{default:u(()=>[y(h(e.$t(`tooltip.removeCriterion`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):l.value?_(``,!0):(t(),S(`div`,yt,h(e.$t(`acceptance.empty`)),1))]))}}),[[`__scopeId`,`data-v-20a94a3d`]]),xt={class:`agent-todos-panel q-pa-md`},St={class:`row items-center q-mb-sm`},Ct={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},wt={key:0,class:`todos-list`},Tt={key:1,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},Et=Ge(E({__name:`AgentTodosPanel`,setup(e){let{t:n}=ye(),r=Ae();function a(e){switch(e){case`completed`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function o(e){switch(e){case`completed`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(e,n)=>(t(),S(`div`,xt,[T(`div`,St,[T(`div`,Ct,h(e.$t(`agentTodos.title`)),1)]),w(r).currentAgentTodos.length>0?(t(),S(`div`,wt,[(t(!0),S(C,null,i(w(r).currentAgentTodos,(e,n)=>(t(),S(`div`,{key:n,class:`todo-item row items-start q-py-xxs`},[v(I,{name:a(e.status),size:`14px`,style:k({color:o(e.status)}),class:`q-mr-xs q-mt-xxs`},null,8,[`name`,`style`]),T(`span`,{class:m([`col todo-title text-caption`,{"text-strike":e.status===`completed`}]),style:k({color:e.status===`completed`?`#4ade80`:`#ccc`})},h(e.content),7)]))),128))])):(t(),S(`div`,Tt,h(e.$t(`agentTodos.empty`)),1))]))}}),[[`__scopeId`,`data-v-6a3613f7`]]),Dt={class:`documents-panel q-pa-md`},Ot={class:`row items-center justify-between q-mb-sm`},kt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},At={key:0,class:`text-caption text-grey-8`},jt={key:1,class:`text-center q-py-lg`},Mt={key:2,class:`text-caption text-grey-8 text-center q-py-lg`},Nt={key:0,class:`text-center q-py-lg`},Pt=[`innerHTML`],Ft=Ge(E({__name:`DocumentsPanel`,props:{workspace:{}},setup(e){let r=e,{t:i}=ye(),a=et(),o=We(),s=x(()=>r.workspace?o.documentsFor(r.workspace.id):[]),c=x(()=>Xe(s.value)),l=x(()=>o.selected?.path??null),d=x(()=>{if(!o.selected)return``;let e=Ve.parse(o.selected.content,{async:!1,breaks:!0,gfm:!0});return Ue.sanitize(e)});async function f(){r.workspace&&await o.fetchDocuments(r.workspace.id)}async function p(e){if(!(!r.workspace||!e.file))try{await o.openDocument(r.workspace.id,e.file)}catch{a.notify({type:`negative`,message:i(`documents.loadFailed`),position:`top`})}}function _(){o.closeDocument()}return n(()=>r.workspace?.id,e=>{o.closeDocument(),e&&o.fetchDocuments(e)},{immediate:!0}),(n,r)=>(t(),S(`div`,Dt,[T(`div`,Ot,[T(`div`,kt,h(n.$t(`documents.title`)),1),w(o).selected?(t(),g(z,{key:1,flat:``,dense:``,"no-caps":``,size:`sm`,icon:`arrow_back`,label:n.$t(`documents.back`),color:`grey-5`,onClick:_},null,8,[`label`])):(t(),g(z,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,loading:w(o).loadingList,onClick:f},{default:u(()=>[v(H,null,{default:u(()=>[y(h(n.$t(`documents.refresh`)),1)]),_:1})]),_:1},8,[`loading`]))]),w(o).selected?(t(),S(C,{key:1},[w(o).loadingContent?(t(),S(`div`,Nt,[v(F,{size:`24px`,color:`grey-6`})])):(t(),S(`div`,{key:1,class:`document-content`,innerHTML:d.value},null,8,Pt))],64)):(t(),S(C,{key:0},[e.workspace?w(o).loadingList?(t(),S(`div`,jt,[v(F,{size:`24px`,color:`grey-6`})])):s.value.length===0?(t(),S(`div`,Mt,h(n.$t(`documents.empty`)),1)):(t(),g(Ye,{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":r[0]||=e=>{if(typeof e!=`string`||!e.startsWith(`file:`))return;let t=s.value.find(t=>`file:${t.path}`===e);t&&p({file:t})}},{"default-header":u(({node:e})=>[v(I,{name:e.isFolder?`folder`:`description`,color:e.isFolder?`indigo-4`:`grey-5`,size:`14px`,class:`q-mr-xs`},null,8,[`name`,`color`]),T(`span`,{class:m(e.isFolder?`text-grey-4`:`text-grey-3`),style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},h(e.label),3)]),_:1},8,[`nodes`,`selected`])):(t(),S(`div`,At,h(n.$t(`common.selectWorkspace`)),1))],64))]))}}),[[`__scopeId`,`data-v-89e5de13`]]),It=Object.keys(ve);function Lt(e){return It.reduce((t,n)=>{let r=e[n];return r!==void 0&&(t[n]=r),t},{})}var Rt=M({name:`QBtnDropdown`,props:{...ve,...me,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:r}){let{proxy:i}=O(),o=s(e.modelValue),c=s(null),u=le(),d=x(()=>{let t={"aria-expanded":o.value===!0?`true`:`false`,"aria-haspopup":`true`,"aria-controls":u.value,"aria-label":e.toggleAriaLabel||i.$q.lang.label[o.value===!0?`collapse`:`expand`](e.label)};return(e.disable===!0||e.split===!1&&e.disableMainBtn===!0||e.disableDropdown===!0)&&(t[`aria-disabled`]=`true`),t}),f=x(()=>`q-btn-dropdown__arrow`+(o.value===!0&&e.noIconAnimation===!1?` rotate-180`:``)+(e.split===!1?` q-btn-dropdown__arrow-container`:``)),p=x(()=>_e(e)),m=x(()=>Lt(e));n(()=>e.modelValue,e=>{c.value?.[e?`show`:`hide`]()}),n(()=>e.split,w);function h(e){o.value=!0,r(`beforeShow`,e)}function g(e){r(`show`,e),r(`update:modelValue`,!0)}function _(e){o.value=!1,r(`beforeHide`,e)}function v(e){r(`hide`,e),r(`update:modelValue`,!1)}function y(e){r(`click`,e)}function b(e){j(e),w(),r(`click`,e)}function S(e){c.value?.toggle(e)}function C(e){c.value?.show(e)}function w(e){c.value?.hide(e)}return Object.assign(i,{show:C,hide:w,toggle:S}),a(()=>{e.modelValue===!0&&C()}),()=>{let n=[l(I,{class:f.value,name:e.dropdownIcon||i.$q.iconSet.arrow.dropdown})];return e.disableDropdown!==!0&&n.push(l(Qe,{ref:c,id:u.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:h,onShow:g,onBeforeHide:_,onHide:v},t.default)),e.split===!1?l(z,{class:`q-btn-dropdown q-btn-dropdown--simple`,...m.value,...d.value,disable:e.disable===!0||e.disableMainBtn===!0,noWrap:!0,round:!1,onClick:y},{default:()=>se(t.label,[]).concat(n),loading:t.loading}):l(Je,{class:`q-btn-dropdown q-btn-dropdown--split no-wrap q-btn-item`,rounded:e.rounded,square:e.square,...p.value,glossy:e.glossy,stretch:e.stretch},()=>[l(z,{class:`q-btn-dropdown--current`,...m.value,disable:e.disable===!0||e.disableMainBtn===!0,noWrap:!0,round:!1,onClick:b},{default:t.label,loading:t.loading}),l(z,{class:`q-btn-dropdown__arrow-container q-anchor--skip`,...d.value,...p.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)])}}}),zt={class:`text-h6`},Bt={class:`text-body2 text-grey-5 q-mt-xs`},Vt={key:0,class:`text-caption text-grey-6 row items-center`},Ht={key:1,class:`row items-center q-gutter-sm`},Ut={class:`text-caption text-negative`},Wt={key:2,class:`text-caption text-grey-6`},Gt={key:3},Kt=[`onClick`],qt={class:`commit-sha text-grey-5`},Jt={class:`commit-subject text-grey-4 ellipsis q-ml-sm`},Yt={class:`text-caption`},Xt={class:`text-grey-5 q-mt-xs`},Zt={key:0,class:`text-caption text-grey-6 row items-center`},Qt={key:1,class:`row items-center q-gutter-sm`},$t={class:`text-caption text-negative`},en={key:2,class:`text-caption text-grey-6`},tn={key:3},nn=[`onClick`],rn={class:`commit-sha text-grey-5`},an={class:`commit-subject text-grey-4 ellipsis q-ml-sm`},on={class:`text-caption`},sn={class:`text-grey-5 q-mt-xs`},cn=Ge(E({__name:`BranchDivergenceDialog`,props:{modelValue:{type:Boolean},workspaceId:{},initialTab:{},aheadCount:{},behindCount:{},sourceBranch:{},workingBranch:{}},emits:[`update:modelValue`,`append-sha`],setup(e,{emit:r}){let a=e,o=r,{t:c}=ye(),l=Ae(),d=s(a.initialTab),f=s([]),p=s([]),m=s(!1),_=s(null),x=null;async function w(){x?.abort();let e=new AbortController;x=e,m.value=!0,_.value=null;try{let t=await l.fetchBranchDivergence(a.workspaceId,{signal:e.signal});if(e.signal.aborted)return;f.value=t.ahead,p.value=t.behind}catch(e){if(e?.name===`AbortError`)return;_.value=c(`git.divergence.failed`)}finally{x===e&&(x=null),m.value=!1}}function E(){w()}n(()=>a.modelValue,e=>{e?(d.value=a.initialTab,w()):(x?.abort(),f.value=[],p.value=[],_.value=null)});function D(e){o(`append-sha`,e)}function O(){o(`update:modelValue`,!1)}function k(e){try{return new Date(e).toLocaleDateString()}catch{return e}}return b(()=>{x?.abort()}),(n,r)=>(t(),g(Oe,{"model-value":e.modelValue,"onUpdate:modelValue":r[2]||=e=>o(`update:modelValue`,e)},{default:u(()=>[v(Ie,{style:{"min-width":`600px`,"max-width":`90vw`},dark:``},{default:u(()=>[v(Te,{class:`q-pb-none`},{default:u(()=>[T(`div`,zt,h(n.$t(`git.divergence.title`)),1),T(`div`,Bt,h(n.$t(`git.divergence.subtitle`,{source:e.sourceBranch})),1)]),_:1}),v(rt,{modelValue:d.value,"onUpdate:modelValue":r[0]||=e=>d.value=e,dense:``,align:`left`,"inline-label":``,class:`q-mt-sm`,"indicator-color":`indigo-4`},{default:u(()=>[v(tt,{name:`ahead`,label:n.$t(`git.divergence.ahead`,{count:e.aheadCount})},null,8,[`label`]),v(tt,{name:`behind`,label:n.$t(`git.divergence.behind`,{count:e.behindCount})},null,8,[`label`])]),_:1},8,[`modelValue`]),v(L,{dark:``}),v(it,{modelValue:d.value,"onUpdate:modelValue":r[1]||=e=>d.value=e,animated:``,style:{"max-height":`60vh`}},{default:u(()=>[v(nt,{name:`ahead`,class:`q-pa-md`},{default:u(()=>[m.value?(t(),S(`div`,Vt,[v(F,{size:`xs`,class:`q-mr-xs`}),y(h(n.$t(`git.divergence.loading`)),1)])):_.value?(t(),S(`div`,Ht,[T(`span`,Ut,h(_.value),1),v(z,{flat:``,dense:``,"no-caps":``,label:n.$t(`git.divergence.retry`),color:`indigo-4`,onClick:E},null,8,[`label`])])):f.value.length===0?(t(),S(`div`,Wt,h(n.$t(`git.divergence.empty.ahead`)),1)):(t(),S(`div`,Gt,[(t(!0),S(C,null,i(f.value,e=>(t(),S(`div`,{key:e.sha,class:`commit-item row no-wrap items-center cursor-pointer q-py-xs`,onClick:t=>D(e.sha)},[v(I,{name:e.isPushed?`cloud_done`:`cloud_upload`,size:`12px`,color:e.isPushed?`grey-6`:`orange-5`,class:`q-mr-xs`},null,8,[`name`,`color`]),T(`span`,qt,h(e.shortSha),1),T(`span`,Jt,h(e.subject),1),v(H,{anchor:`top middle`,self:`bottom middle`},{default:u(()=>[T(`div`,Yt,[T(`div`,null,[T(`code`,null,h(e.sha),1)]),T(`div`,Xt,h(e.author)+` · `+h(k(e.date)),1)])]),_:2},1024)],8,Kt))),128))]))]),_:1}),v(nt,{name:`behind`,class:`q-pa-md`},{default:u(()=>[m.value?(t(),S(`div`,Zt,[v(F,{size:`xs`,class:`q-mr-xs`}),y(h(n.$t(`git.divergence.loading`)),1)])):_.value?(t(),S(`div`,Qt,[T(`span`,$t,h(_.value),1),v(z,{flat:``,dense:``,"no-caps":``,label:n.$t(`git.divergence.retry`),color:`indigo-4`,onClick:E},null,8,[`label`])])):p.value.length===0?(t(),S(`div`,en,h(n.$t(`git.divergence.empty.behind`)),1)):(t(),S(`div`,tn,[(t(!0),S(C,null,i(p.value,e=>(t(),S(`div`,{key:e.sha,class:`commit-item row no-wrap items-center cursor-pointer q-py-xs`,onClick:t=>D(e.sha)},[T(`span`,rn,h(e.shortSha),1),T(`span`,an,h(e.subject),1),v(H,{anchor:`top middle`,self:`bottom middle`},{default:u(()=>[T(`div`,on,[T(`div`,null,[T(`code`,null,h(e.sha),1)]),T(`div`,sn,h(e.author)+` · `+h(k(e.date)),1)])]),_:2},1024)],8,nn))),128))]))]),_:1})]),_:1},8,[`modelValue`]),v(je,{align:`right`,class:`q-pa-md`},{default:u(()=>[v(z,{flat:``,"no-caps":``,label:n.$t(`git.divergence.close`),color:`grey-5`,onClick:O},null,8,[`label`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),[[`__scopeId`,`data-v-fd1cc184`]]),ln={class:`git-panel q-px-sm q-py-md`},un={class:`row items-center justify-between q-mb-sm`},dn={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},fn={class:`row items-center q-mb-sm`},pn={class:`text-caption text-grey-3`},mn={class:`row items-center q-mb-sm`},hn={class:`text-caption text-grey-4`,style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},gn={class:`text-caption q-mb-sm text-grey-8`,style:{"font-size":`11px`}},_n={key:0,class:`q-ml-xs`},vn={key:1},yn={key:2,style:{color:`#4ade80`}},bn={key:3,style:{color:`#f59e0b`}},xn={class:`text-caption text-grey-4`,style:{"font-size":`11px`}},Sn={key:1,class:`row items-center q-mb-xs`},Cn={class:`text-caption text-grey-4`,style:{"font-size":`11px`}},wn={key:2,class:`commit-list q-mb-sm`},Tn={key:0,class:`text-caption text-grey-6 q-pa-xs`},En={key:1,class:`text-caption text-grey-7 q-pa-xs`},Dn=[`onClick`],On={class:`commit-sha text-grey-5`},kn={class:`commit-subject text-grey-4 ellipsis q-ml-sm`},An={class:`text-caption`},jn={class:`text-grey-5 q-mt-xs`},Mn={class:`text-grey-6 q-mt-xs`,style:{"font-style":`italic`}},Nn={key:3,class:`row items-center q-mb-md`},Pn={class:`text-caption text-grey-4`,style:{"font-size":`11px`}},Fn={key:0,class:`text-caption q-ml-xs`,style:{"font-size":`11px`,color:`#4ade80`}},In={key:1,class:`text-caption q-ml-xs`,style:{"font-size":`11px`,color:`#f87171`}},Ln={key:4,class:`q-mb-xs`},Rn={key:5,class:`row items-center q-gutter-xs q-mb-md`,style:{"font-size":`11px`}},zn={key:0,class:`text-caption`,style:{color:`#4ade80`}},Bn={key:1,class:`text-caption`,style:{color:`#f59e0b`}},Vn={key:2,class:`text-caption text-grey-6`},Hn={key:6,class:`q-mb-md`},Un={class:`row items-center q-gutter-xs`},Wn={key:1,class:`text-caption text-grey-8`},Gn={class:`text-subtitle1`},Kn={class:`text-body2 text-grey-5 q-mt-sm`},qn={class:`git-branch-code`},Jn={class:`text-caption text-grey-6 q-mt-xs`,style:{"padding-left":`46px`}},Yn={class:`text-subtitle1 text-warning`},Xn={class:`text-caption text-grey-6 q-mt-xs`},Zn={class:`text-caption text-mono`},Qn=Ge(E({__name:`GitPanel`,props:{workspace:{}},setup(e){let r=p(()=>Me(()=>import(`./DiffViewer-Dls1jFCN.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]))),o=e,{t:c}=ye(),l=et(),f=Ae(),m=s(!1),E=s(!1),D=s(!1),O=s(!1),k=s(!1),A=s(!1),j=s(!1),M=s(!1);function ee(e){M.value=e,j.value=!0}let te=s(!1),P=s(!1),ne=s(!1),re=s([]);async function ie(){if(o.workspace){ne.value=!0;try{let e=await fetch(`/api/workspaces/${o.workspace.id}/commits?limit=50`,{cache:`no-store`});if(!e.ok)throw Error(`HTTP ${e.status}`);re.value=(await e.json()).commits}catch(e){console.error(`[GitPanel] fetchCommits failed:`,e),re.value=[]}finally{ne.value=!1}}}async function ae(){P.value=!P.value,P.value&&(ne.value=!0,await ie())}function oe(e){f.chatDraft=e}function se(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`})}let ce=s(!1),L=s(null),le=s([]),ue=s(!1),de=s(!1);function fe(e){f.chatDraft=e,j.value=!1}let R=s(null),pe=s(!1),me=x(()=>{if(!o.workspace?.projectPath)return`-`;let e=o.workspace.projectPath.replace(/\\/g,`/`).split(`/`);return e[e.length-1]||e[e.length-2]||`-`}),he=x(()=>!(!R.value||R.value.unpushedCount===-1)),ge=x(()=>R.value&&R.value.unpushedCount===-1?c(`git.createPrNoRemote`):``),_e=s(!1),ve=s(`ahead`);function be(e){ve.value=e,_e.value=!0}let xe=null,Ce=null;async function we(e={}){if(!o.workspace){R.value=null;return}xe?.abort();let t=new AbortController;xe=t;let n=o.workspace.id;pe.value=!0;try{let r=await f.fetchGitStats(n,{freshFetch:e.freshFetch,signal:t.signal});if(t.signal.aborted||o.workspace?.id!==n)return;R.value=r}catch(e){if(e?.name===`AbortError`)return;R.value=null}finally{xe===t&&(xe=null),pe.value=!1}}let B=null;n(()=>o.workspace?.id,()=>{xe?.abort(),B&&=(clearTimeout(B),null),we({freshFetch:!0})},{immediate:!0}),n(()=>f.gitRefreshTrigger,()=>{B&&clearTimeout(B),B=setTimeout(()=>we(),3e3)}),a(()=>{Ce=setInterval(()=>we(),6e4)}),b(()=>{Ce&&=(clearInterval(Ce),null),B&&=(clearTimeout(B),null),xe?.abort()});function De(){let e=o.workspace;e&&l.dialog({title:c(`git.renameBranch`),message:c(`git.renameBranchPrompt`,{branch:e.workingBranch}),prompt:{model:e.workingBranch,type:`text`},dark:!0,cancel:{flat:!0,label:c(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:c(`git.renameBranch`),color:`indigo-4`}}).onOk(async t=>{let n=(t??``).trim();if(!(!n||n===e.workingBranch)){te.value=!0;try{await f.renameWorkspaceBranch(e.id,n),l.notify({type:`positive`,message:c(`git.renameBranchSuccess`,{branch:n}),position:`top`}),we()}catch(e){let t=e instanceof Ee&&e.code===`branch_exists`?c(`git.renameBranchExists`,{branch:n}):e instanceof Error?e.message:c(`git.renameBranchFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{te.value=!1}}})}function ke(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`)}function Ne(){o.workspace&&l.dialog({title:c(`git.rebaseConfirmTitle`),message:c(`git.rebaseConfirmMessage`,{branch:`<code class="git-branch-code">${ke(o.workspace.sourceBranch)}</code>`}),html:!0,dark:!0,cancel:{flat:!0,label:c(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:c(`git.rebase`),color:`orange-4`}}).onOk(async()=>{D.value=!0;try{let e=await fetch(`/api/workspaces/${o.workspace.id}/rebase`,{method:`POST`});if(e.status===409){let t=await e.json();Fe(`rebase`,Array.isArray(t.files)?t.files:[]);return}if(!e.ok){let t=await e.json();throw Error(t.error??`Rebase failed`)}l.notify({type:`positive`,message:c(`git.rebaseSuccess`),position:`top`}),we()}catch(e){let t=e instanceof Error?e.message:c(`git.rebaseFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{D.value=!1}})}function Pe(){o.workspace&&l.dialog({title:c(`git.mergeConfirmTitle`),message:c(`git.mergeConfirmMessage`,{branch:`<code class="git-branch-code">${ke(o.workspace.sourceBranch)}</code>`}),html:!0,dark:!0,cancel:{flat:!0,label:c(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:c(`git.merge`),color:`purple-4`}}).onOk(async()=>{O.value=!0;try{let e=await fetch(`/api/workspaces/${o.workspace.id}/merge`,{method:`POST`});if(e.status===409){let t=await e.json();Fe(`merge`,Array.isArray(t.files)?t.files:[]);return}if(!e.ok){let t=await e.json();throw Error(t.error??`Merge failed`)}l.notify({type:`positive`,message:c(`git.mergeSuccess`),position:`top`}),we()}catch(e){let t=e instanceof Error?e.message:c(`git.mergeFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{O.value=!1}})}function Fe(e,t){L.value=e,le.value=t,ce.value=!0}async function Re(){if(o.workspace){ue.value=!0;try{let e=await fetch(`/api/workspaces/${o.workspace.id}/git/abort`,{method:`POST`});if(!e.ok){let t=await e.json();throw Error(t.error??`Abort failed`)}l.notify({type:`positive`,message:c(`git.conflictAborted`),position:`top`}),ce.value=!1,we()}catch(e){let t=e instanceof Error?e.message:`Abort failed`;l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{ue.value=!1}}}async function ze(){if(!(!o.workspace||!L.value)){de.value=!0;try{let e=await fetch(`/api/workspaces/${o.workspace.id}/git/resolve-with-agent`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({operation:L.value,files:le.value})});if(!e.ok){let t=await e.json();throw Error(t.error??`Handoff failed`)}l.notify({type:`positive`,message:c(`git.conflictHandoffSuccess`),position:`top`}),ce.value=!1}catch(e){let t=e instanceof Error?e.message:`Handoff failed`;l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{de.value=!1}}}let Be=s(!1),Ve=s(!1);function He(){o.workspace&&(Ve.value=!1,Be.value=!0)}async function Ue(){if(!o.workspace)return;let e=Ve.value;Be.value=!1,m.value=!0;try{await f.pushBranch(o.workspace.id,{force:e}),l.notify({type:`positive`,message:c(e?`git.branchForcePushed`:`git.branchPushed`),position:`top`}),we()}catch(e){let t=e instanceof Error?e.message:`Push failed`;l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{m.value=!1}}function We(){o.workspace&&l.dialog({title:c(`git.pullConfirmTitle`),message:c(`git.pullConfirmMessage`,{branch:`<code class="git-branch-code">${ke(o.workspace.workingBranch)}</code>`}),html:!0,dark:!0,cancel:{flat:!0,label:c(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:c(`git.pull`),color:`grey-5`}}).onOk(async()=>{E.value=!0;try{await f.pullBranch(o.workspace.id),l.notify({type:`positive`,message:c(`git.branchPulled`),position:`top`}),we()}catch(e){console.error(`[GitPanel] pullBranch failed:`,e);let t=e instanceof Error?e.message:c(`git.pullFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{E.value=!1}})}function Ge(){R.value?.prUrl&&window.open(R.value.prUrl,`_blank`)}function Ke(){o.workspace&&l.dialog({title:c(`git.changePrBaseTitle`),message:c(`git.changePrBaseMessage`),prompt:{model:o.workspace.sourceBranch,type:`text`},dark:!0,cancel:{flat:!0,label:c(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:c(`common.save`),color:`primary`}}).onOk(async e=>{if(!(!e.trim()||!o.workspace)){A.value=!0;try{let t=await fetch(`/api/workspaces/${o.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`)}l.notify({type:`positive`,message:c(`git.changePrBaseSuccess`),position:`top`}),we()}catch(e){let t=e instanceof Error?e.message:c(`git.changePrBaseFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{A.value=!1}}})}async function qe(){if(o.workspace){k.value=!0;try{let e=await f.openPullRequest(o.workspace.id);l.notify({type:`positive`,message:c(`git.prCreated`,{n:e.prNumber}),caption:e.prUrl,position:`top`,timeout:5e3}),we()}catch(e){if(e instanceof Ee&&e.code===`branch_not_pushed`){l.notify({type:`warning`,message:c(`git.pushFirst`),position:`top`,timeout:6e3});return}if(e instanceof Ee&&e.code===`unpushed_commits`){l.notify({type:`warning`,message:c(`git.unpushedCommits`),position:`top`,timeout:6e3});return}let t=e instanceof Error?e.message:`Open PR failed`;l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{k.value=!1}}}return(n,a)=>(t(),S(`div`,ln,[T(`div`,un,[T(`div`,dn,h(n.$t(`git.title`)),1),e.workspace?(t(),g(z,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,loading:pe.value,onClick:a[0]||=e=>we({freshFetch:!0})},{default:u(()=>[v(H,null,{default:u(()=>[y(h(n.$t(`tooltip.refreshGitStats`)),1)]),_:1})]),_:1},8,[`loading`])):_(``,!0)]),e.workspace?(t(),S(C,{key:0},[T(`div`,fn,[v(I,{name:`folder`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),T(`span`,pn,h(me.value),1)]),T(`div`,mn,[a[12]||=T(`span`,{style:{width:`8px`,height:`8px`,"border-radius":`50%`,"background-color":`#4ade80`,display:`inline-block`},class:`q-mr-xs`},null,-1),T(`span`,hn,h(e.workspace.workingBranch),1),e.workspace?.worktreeOwned===!1?_(``,!0):(t(),g(z,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`edit`,color:`grey-6`,class:`q-ml-xs`,loading:te.value,onClick:De},{default:u(()=>[v(H,null,{default:u(()=>[y(h(n.$t(`git.renameBranch`)),1)]),_:1})]),_:1},8,[`loading`])),e.workspace?.worktreeOwned===!1?(t(),g(I,{key:1,name:`info`,size:`14px`,color:`grey-6`,class:`q-ml-xs`},{default:u(()=>[v(H,null,{default:u(()=>[y(h(n.$t(`git.renameDisabledForExternal`)),1)]),_:1})]),_:1})):_(``,!0)]),T(`div`,gn,[y(h(n.$t(`git.from`))+` `+h(e.workspace.sourceBranch)+` `,1),R.value?(t(),S(C,{key:0},[R.value.commitCount>0||R.value.behindCount>0?(t(),S(`span`,_n,[R.value.commitCount>0?(t(),S(`span`,{key:0,class:`cursor-pointer arrow-clickable`,style:{color:`#4ade80`},onClick:a[1]||=N(e=>be(`ahead`),[`stop`])},` ↑`+h(R.value.commitCount),1)):_(``,!0),R.value.behindCount>0?(t(),S(`span`,{key:1,class:`cursor-pointer arrow-clickable q-ml-xs`,style:{color:`#f87171`},onClick:a[2]||=N(e=>be(`behind`),[`stop`])},` ↓`+h(R.value.behindCount),1)):_(``,!0),v(H,null,{default:u(()=>[y(h(n.$t(`git.aheadBehindTooltip`,{ahead:R.value.commitCount,behind:R.value.behindCount,source:e.workspace.sourceBranch})),1)]),_:1})])):_(``,!0),a[13]||=y(` · `,-1),R.value.unpushedCount===-1?(t(),S(`span`,vn,h(n.$t(`git.localOnly`)),1)):R.value.unpushedCount===0?(t(),S(`span`,yn,h(n.$t(`git.pushed`)),1)):(t(),S(`span`,bn,h(n.$t(`git.unpushed`,{count:R.value.unpushedCount})),1))],64)):_(``,!0)]),R.value?(t(),S(C,{key:0},[R.value.commitCount>0?(t(),S(`div`,{key:0,class:`row items-center q-mb-xs commit-toggle cursor-pointer`,onClick:ae},[v(I,{name:`commit`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),T(`span`,xn,h(n.$t(`git.commits`,{count:R.value.commitCount},R.value.commitCount)),1),ne.value?(t(),g(F,{key:0,size:`12px`,color:`indigo-4`,class:`q-ml-xs`})):(t(),g(I,{key:1,name:P.value?`expand_less`:`expand_more`,size:`14px`,color:`grey-6`,class:`q-ml-xs`},null,8,[`name`]))])):(t(),S(`div`,Sn,[v(I,{name:`commit`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),T(`span`,Cn,h(n.$t(`git.commits`,{count:0},0)),1)])),P.value?(t(),S(`div`,wn,[ne.value?(t(),S(`div`,Tn,[v(F,{size:`xs`,class:`q-mr-xs`}),y(h(n.$t(`git.commits.loading`)),1)])):re.value.length===0?(t(),S(`div`,En,h(n.$t(`git.commits.empty`)),1)):(t(!0),S(C,{key:2},i(re.value,e=>(t(),S(`div`,{key:e.sha,class:`commit-item row no-wrap items-center cursor-pointer`,onClick:t=>oe(e.sha)},[v(I,{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`]),T(`span`,On,h(e.shortSha),1),T(`span`,kn,h(e.subject),1),v(H,{anchor:`top middle`,self:`bottom middle`,class:`commit-tooltip`},{default:u(()=>[T(`div`,An,[T(`div`,null,[T(`code`,null,h(e.sha),1)]),T(`div`,jn,h(e.author)+` · `+h(se(e.date)),1),T(`div`,Mn,h(e.isPushed?n.$t(`git.commits.pushed`):n.$t(`git.commits.unpushed`))+` · `+h(n.$t(`git.commits.clickToAppend`)),1)])]),_:2},1024)],8,Dn))),128))])):_(``,!0),R.value.filesChanged>0?(t(),S(`div`,Nn,[v(I,{name:`insert_drive_file`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),T(`span`,Pn,h(n.$t(`git.files`,{count:R.value.filesChanged},R.value.filesChanged)),1),R.value.insertions>0?(t(),S(`span`,Fn,` +`+h(R.value.insertions),1)):_(``,!0),R.value.deletions>0?(t(),S(`span`,In,` -`+h(R.value.deletions),1)):_(``,!0)])):(t(),S(`div`,Ln)),R.value.workingTree&&(R.value.workingTree.staged>0||R.value.workingTree.modified>0||R.value.workingTree.untracked>0)?(t(),S(`div`,Rn,[v(I,{name:`edit_note`,size:`14px`,color:`grey-6`}),R.value.workingTree.staged>0?(t(),S(`span`,zn,h(n.$t(`git.staged`,{count:R.value.workingTree.staged})),1)):_(``,!0),R.value.workingTree.modified>0?(t(),S(`span`,Bn,h(n.$t(`git.modified`,{count:R.value.workingTree.modified})),1)):_(``,!0),R.value.workingTree.untracked>0?(t(),S(`span`,Vn,h(n.$t(`git.untracked`,{count:R.value.workingTree.untracked})),1)):_(``,!0)])):(t(),S(`div`,Hn))],64)):_(``,!0),T(`div`,Un,[R.value?(t(),g(Rt,{key:0,split:``,dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,icon:`sync`,label:n.$t(`git.sync`),class:`git-btn git-sync-btn`,loading:E.value||D.value||O.value,disable:!e.workspace||m.value,onClick:a[3]||=e=>R.value.unpushedCount===-1?Ne():We()},{default:u(()=>[v(Ze,{dark:``,dense:``,style:{"min-width":`140px`}},{default:u(()=>[d((t(),g(Le,{clickable:``,disable:E.value||D.value||O.value||R.value.unpushedCount===-1,onClick:We},{default:u(()=>[v(V,{avatar:``,style:{"min-width":`28px`}},{default:u(()=>[v(I,{name:`download`,size:`16px`,color:`grey-5`})]),_:1}),v(V,null,{default:u(()=>[y(h(n.$t(`git.pull`)),1)]),_:1}),R.value.unpushedCount===-1?(t(),g(H,{key:0},{default:u(()=>[y(h(n.$t(`git.pullNoUpstream`)),1)]),_:1})):_(``,!0)]),_:1},8,[`disable`])),[[$e]]),d((t(),g(Le,{clickable:``,disable:E.value||D.value||O.value,onClick:Ne},{default:u(()=>[v(V,{avatar:``,style:{"min-width":`28px`}},{default:u(()=>[v(I,{name:`replay`,size:`16px`,color:`orange-4`})]),_:1}),v(V,null,{default:u(()=>[y(h(n.$t(`git.rebase`)),1)]),_:1})]),_:1},8,[`disable`])),[[$e]]),d((t(),g(Le,{clickable:``,disable:E.value||D.value||O.value,onClick:Pe},{default:u(()=>[v(V,{avatar:``,style:{"min-width":`28px`}},{default:u(()=>[v(I,{name:`merge`,size:`16px`,color:`purple-4`})]),_:1}),v(V,null,{default:u(()=>[y(h(n.$t(`git.merge`)),1)]),_:1})]),_:1},8,[`disable`])),[[$e]])]),_:1})]),_:1},8,[`label`,`loading`,`disable`])):_(``,!0),!R.value||R.value.unpushedCount!==0?(t(),g(z,{key:1,dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,icon:`upload`,label:n.$t(`git.push`),class:`git-btn`,loading:m.value,disable:!e.workspace||k.value||E.value||D.value,onClick:He},null,8,[`label`,`loading`,`disable`])):_(``,!0),v(z,{dense:``,"no-caps":``,size:`sm`,outline:``,color:`indigo-4`,icon:`rate_review`,label:n.$t(`git.diffReview`),class:`git-btn`,disable:!e.workspace,onClick:a[4]||=e=>ee(!0)},{default:u(()=>[v(H,{anchor:`bottom middle`,self:`top middle`,delay:400},{default:u(()=>[y(h(n.$t(`git.diffReviewTooltip`)),1)]),_:1})]),_:1},8,[`label`,`disable`]),R.value?.prUrl&&R.value.prState===`OPEN`?(t(),g(z,{key:2,dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,icon:`swap_horiz`,loading:A.value,class:`git-btn`,onClick:Ke},{default:u(()=>[v(H,null,{default:u(()=>[y(h(n.$t(`git.changePrBase`)),1)]),_:1})]),_:1},8,[`loading`])):_(``,!0),R.value?.prUrl?(t(),g(z,{key:3,dense:``,"no-caps":``,size:`sm`,outline:``,color:`green-4`,icon:`open_in_new`,label:n.$t(`git.viewPr`),class:`git-btn`,onClick:Ge},null,8,[`label`])):_(``,!0),!R.value?.prUrl||R.value.prState===`CLOSED`||R.value.prState===`MERGED`?(t(),g(z,{key:4,dense:``,"no-caps":``,size:`sm`,outline:``,color:`indigo-4`,icon:`open_in_new`,label:n.$t(`git.createPr`),class:`git-btn`,loading:k.value,disable:!e.workspace||m.value||!he.value,onClick:qe},{default:u(()=>[!he.value&&ge.value?(t(),g(H,{key:0},{default:u(()=>[y(h(ge.value),1)]),_:1})):_(``,!0)]),_:1},8,[`label`,`loading`,`disable`])):_(``,!0)])],64)):(t(),S(`div`,Wn,h(n.$t(`common.selectWorkspace`)),1)),v(Oe,{modelValue:Be.value,"onUpdate:modelValue":a[6]||=e=>Be.value=e},{default:u(()=>[v(Ie,{dark:``,style:{"min-width":`360px`,"max-width":`480px`}},{default:u(()=>[v(Te,null,{default:u(()=>[T(`div`,Gn,h(n.$t(`git.pushConfirmTitle`)),1),T(`div`,Kn,[y(h(n.$t(`git.pushConfirmMessagePrefix`))+` `,1),T(`code`,qn,h(e.workspace?.workingBranch??``),1),y(` `+h(n.$t(`git.pushConfirmMessageSuffix`)),1)])]),_:1}),v(Te,{class:`q-pt-none`},{default:u(()=>[v(Se,{modelValue:Ve.value,"onUpdate:modelValue":a[5]||=e=>Ve.value=e,label:n.$t(`git.forcePushToggle`),color:`orange-6`,dense:``},null,8,[`modelValue`,`label`]),T(`div`,Jn,h(n.$t(`git.forcePushHint`)),1)]),_:1}),v(je,{align:`right`},{default:u(()=>[d(v(z,{flat:``,label:n.$t(`common.cancel`),color:`grey-5`},null,8,[`label`]),[[$e]]),v(z,{flat:``,label:Ve.value?n.$t(`git.forcePush`):n.$t(`git.push`),color:Ve.value?`orange-4`:`grey-5`,onClick:Ue},null,8,[`label`,`color`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),v(Oe,{modelValue:ce.value,"onUpdate:modelValue":a[8]||=e=>ce.value=e,persistent:``},{default:u(()=>[v(Ie,{dark:``,style:{"min-width":`420px`,"max-width":`600px`}},{default:u(()=>[v(Te,null,{default:u(()=>[T(`div`,Yn,[v(I,{name:`warning`,class:`q-mr-xs`}),y(` `+h(L.value===`merge`?n.$t(`git.conflictTitleMerge`):n.$t(`git.conflictTitleRebase`)),1)]),T(`div`,Xn,h(n.$t(`git.conflictSubtitle`,{count:le.value.length})),1)]),_:1}),le.value.length>0?(t(),g(Te,{key:0,class:`q-pt-none`},{default:u(()=>[v(Ze,{dense:``,dark:``},{default:u(()=>[(t(!0),S(C,null,i(le.value,e=>(t(),g(Le,{key:e},{default:u(()=>[v(V,{side:``},{default:u(()=>[v(I,{name:`insert_drive_file`,size:`xs`})]),_:1}),v(V,null,{default:u(()=>[T(`div`,Zn,h(e),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})):_(``,!0),v(je,{align:`right`},{default:u(()=>[v(z,{flat:``,"no-caps":``,label:n.$t(`common.cancel`),color:`grey-5`,disable:ue.value||de.value,onClick:a[7]||=e=>ce.value=!1},null,8,[`label`,`disable`]),v(z,{flat:``,"no-caps":``,color:`red-4`,icon:`undo`,label:n.$t(`git.conflictAbort`),loading:ue.value,disable:de.value,onClick:Re},null,8,[`label`,`loading`,`disable`]),v(z,{unelevated:``,"no-caps":``,color:`primary`,icon:`smart_toy`,label:n.$t(`git.conflictResolveWithAgent`),loading:de.value,disable:ue.value,onClick:ze},null,8,[`label`,`loading`,`disable`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),v(Oe,{modelValue:j.value,"onUpdate:modelValue":a[10]||=e=>j.value=e,maximized:``},{default:u(()=>[e.workspace?(t(),g(w(r),{key:0,"workspace-id":e.workspace.id,"initial-review-mode":M.value,onClose:a[9]||=e=>j.value=!1,onSendToChat:fe},null,8,[`workspace-id`,`initial-review-mode`])):_(``,!0)]),_:1},8,[`modelValue`]),e.workspace&&R.value?(t(),g(cn,{key:2,modelValue:_e.value,"onUpdate:modelValue":a[11]||=e=>_e.value=e,"workspace-id":e.workspace.id,"initial-tab":ve.value,"ahead-count":R.value.commitCount,"behind-count":R.value.behindCount,"source-branch":e.workspace.sourceBranch,"working-branch":e.workspace.workingBranch,onAppendSha:oe},null,8,[`modelValue`,`workspace-id`,`initial-tab`,`ahead-count`,`behind-count`,`source-branch`,`working-branch`])):_(``,!0)]))}}),[[`__scopeId`,`data-v-ff606b69`]]),$n={class:`subagents-panel q-pa-md`},er={class:`text-caption text-uppercase text-weight-bold text-grey-6 q-mb-sm`,style:{"letter-spacing":`0.05em`}},tr={key:0,class:`text-caption text-grey-8`},nr={class:`row items-center q-mb-xs`},rr={class:`text-caption text-weight-medium text-grey-3 ellipsis`,style:{"max-width":`220px`}},ir={key:0,class:`text-caption text-grey-6`,style:{"font-size":`10px`}},ar={class:`text-grey-4`},or={class:`row items-center q-gutter-xs q-mt-xs text-caption text-grey-7`,style:{"font-size":`10px`}},sr={key:0},cr={key:1},lr={key:2},ur=Ge(E({__name:`SubagentsPanel`,setup(e){let{t:n}=ye(),r=Ae(),a=x(()=>[...r.currentSubagents].reverse());function o(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 s(e){return e?e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e):``}return(e,n)=>(t(),S(`div`,$n,[T(`div`,er,h(e.$t(`subagents.title`)),1),a.value.length===0?(t(),S(`div`,tr,h(e.$t(`subagents.empty`)),1)):_(``,!0),(t(!0),S(C,null,i(a.value,n=>(t(),S(`div`,{key:n.toolUseId,class:`subagent-item q-mb-sm rounded-borders q-pa-sm`},[T(`div`,nr,[v(I,{name:n.status===`running`?`play_circle`:`check_circle`,size:`14px`,color:n.status===`running`?`green-4`:`grey-6`,class:`q-mr-xs`},null,8,[`name`,`color`]),T(`span`,rr,h(n.description||n.toolUseId),1)]),n.lastToolName?(t(),S(`div`,ir,[y(h(e.$t(`subagents.running`)),1),T(`span`,ar,h(n.lastToolName),1)])):_(``,!0),T(`div`,or,[n.toolUses===void 0?_(``,!0):(t(),S(`span`,sr,h(e.$t(`subagents.tools`,{count:n.toolUses})),1)),n.totalTokens?(t(),S(`span`,cr,`· `+h(s(n.totalTokens))+` tok`,1)):_(``,!0),n.durationMs?(t(),S(`span`,lr,`· `+h(o(n.durationMs)),1)):_(``,!0)])]))),128))]))}}),[[`__scopeId`,`data-v-dd805632`]]),dr={class:`notion-panel q-pa-md`},fr={class:`row items-center q-mb-sm`},pr={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},mr={key:0,class:`q-mb-sm`},hr={class:`text-caption text-grey-7`,style:{"font-size":`11px`}},gr={key:1,class:`text-caption text-grey-8 q-mb-sm`,style:{"font-size":`11px`}},_r={key:2,class:`task-add-row row items-center q-mb-xs`},vr={key:3,class:`tasks-list`},yr=[`onDblclick`],br={key:1,class:`text-caption text-grey-8`},xr=Ge(E({__name:`TasksPanel`,props:{workspace:{},tasks:{}},setup(n){let r=n,{t:a}=ye(),o=Ae(),c=Ne();function l(){r.workspace?.id&&ot(r.workspace.id,c,o)}let d=x(()=>r.tasks.filter(e=>!e.isAcceptanceCriterion)),f=x(()=>d.value.filter(e=>e.status===`done`).length),p=x(()=>d.value.length),b=x(()=>p.value>0?f.value/p.value:0),w=s(!1),E=s(``),D=s(null),O=s(``),j=s({});function M(e,t){if(t){let n=t.$el??t;j.value[e]=n}else delete j.value[e]}function ee(){w.value=!0,E.value=``}async function te(){let e=E.value.trim();if(!(!e||!r.workspace?.id))try{await o.createTask(r.workspace.id,e,!1),E.value=``,w.value=!1}catch{}}function P(){E.value=``,w.value=!1}function ne(t){D.value=t.id,O.value=t.title,e(()=>{let e=j.value[t.id]?.querySelector(`input, textarea`);e?.focus(),e?.select()})}async function re(e){if(D.value!==e.id)return;let t=O.value.trim(),n=e.id;if(D.value=null,!(!t||t===e.title)&&r.workspace?.id)try{await o.updateTaskTitle(r.workspace.id,n,t)}catch{}}function F(){D.value=null,O.value=``}async function ie(e){if(r.workspace?.id)try{await o.deleteTask(r.workspace.id,e.id)}catch{}}async function ae(e){if(!r.workspace?.id)return;let t=e.status===`done`?`pending`:`done`;try{let n=await fetch(`/api/workspaces/${e.workspaceId}/tasks/${e.id}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({status:t})});if(!n.ok)throw Error(`HTTP ${n.status}`);o.fetchWorkspaceDetails(r.workspace.id)}catch(e){console.error(`Failed to toggle task:`,e)}}function oe(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function se(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(e,r)=>(t(),S(`div`,dr,[T(`div`,fr,[T(`div`,pr,h(e.$t(`tasks.title`)),1),v(qe),n.workspace?(t(),g(z,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`fact_check`,color:`grey-5`,onClick:l},{default:u(()=>[v(H,null,{default:u(()=>[y(h(e.$t(`tasks.askProgress`)),1)]),_:1})]),_:1})):_(``,!0),n.workspace?(t(),g(z,{key:1,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,onClick:ee},{default:u(()=>[v(H,null,{default:u(()=>[y(h(e.$t(`tooltip.addTask`)),1)]),_:1})]),_:1})):_(``,!0)]),n.workspace?(t(),S(C,{key:0},[p.value>0?(t(),S(`div`,mr,[v(ge,{value:b.value,color:`primary`,"track-color":`grey-9`,class:`q-mb-xs`,style:{height:`4px`,"border-radius":`2px`}},null,8,[`value`]),T(`div`,hr,h(e.$t(`notion.subtasks`,{done:f.value,total:p.value})),1)])):w.value?_(``,!0):(t(),S(`div`,gr,h(e.$t(`notion.noTasks`)),1)),w.value?(t(),S(`div`,_r,[v(be,{modelValue:E.value,"onUpdate:modelValue":r[0]||=e=>E.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:e.$t(`notion.newTask`),class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[A(N(te,[`prevent`]),[`enter`]),A(N(P,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):_(``,!0),d.value.length>0?(t(),S(`div`,vr,[(t(!0),S(C,null,i(d.value,n=>(t(),S(`div`,{key:n.id,class:`task-item row items-center q-py-xxs`},[v(I,{name:oe(n.status),size:`14px`,style:k({color:se(n.status)}),class:`q-mr-xs cursor-pointer`,onClick:e=>ae(n)},null,8,[`name`,`style`,`onClick`]),D.value===n.id?(t(),g(be,{key:0,ref_for:!0,ref:e=>M(n.id,e),modelValue:O.value,"onUpdate:modelValue":r[1]||=e=>O.value=e,dark:``,dense:``,borderless:``,class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[A(N(e=>re(n),[`prevent`]),[`enter`]),A(N(F,[`prevent`]),[`esc`])],onBlur:e=>re(n)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(t(),S(C,{key:1},[T(`span`,{class:m([`col task-title text-caption`,{"text-strike":n.status===`done`}]),style:k({color:n.status===`done`?`#4ade80`:`#ccc`}),onDblclick:e=>ne(n)},h(n.title),47,yr),v(z,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`task-delete-btn`,onClick:e=>ie(n)},{default:u(()=>[v(H,null,{default:u(()=>[y(h(e.$t(`tooltip.removeTask`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):_(``,!0)],64)):(t(),S(`div`,br,h(e.$t(`common.selectWorkspace`)),1))]))}}),[[`__scopeId`,`data-v-4bc9713a`]]),Sr=2,Cr=1,wr=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(Sr,Math.floor(u/e.css.cell.width)),rows:Math.max(Cr,Math.floor(l/e.css.cell.height))}}},Tr=Object.defineProperty,Er=Object.getOwnPropertyDescriptor,Dr=(e,t)=>{for(var n in t)Tr(e,n,{get:t[n],enumerable:!0})},Or=(e,t,n,r)=>{for(var i=r>1?void 0:r?Er(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&&Tr(t,n,i),i},U=(e,t)=>(n,r)=>t(n,r,e),kr=`Terminal input`,Ar={get:()=>kr,set:e=>kr=e},jr=`Too much output to announce, navigate to rows manually to read`,Mr={get:()=>jr,set:e=>jr=e};function Nr(e){return e.replace(/\r?\n/g,`\r`)}function Pr(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function Fr(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function Ir(e,t,n,r){e.stopPropagation(),e.clipboardData&&Lr(e.clipboardData.getData(`text/plain`),t,n,r)}function Lr(e,t,n,r){e=Nr(e),e=Pr(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function Rr(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 zr(e,t,n,r,i){Rr(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function Br(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function Vr(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 Hr=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}},Ur=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}},Wr=``,Gr=` `,Kr=class e{constructor(){this.fg=0,this.bg=0,this.extended=new qr}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}},qr=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}},Jr=class e extends Kr{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new qr,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?Br(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()]}},Yr=`di$target`,Xr=`di$dependencies`,Zr=new Map;function Qr(e){return e[Xr]||[]}function $r(e){if(Zr.has(e))return Zr.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);ei(t,e,r)};return t._id=e,Zr.set(e,t),t}function ei(e,t,n){t[Yr]===t?t[Xr].push({id:e,index:n}):(t[Xr]=[{id:e,index:n}],t[Yr]=t)}var ti=$r(`BufferService`),ni=$r(`CoreMouseService`),ri=$r(`CoreService`),ii=$r(`CharsetService`),ai=$r(`InstantiationService`),oi=$r(`LogService`),si=$r(`OptionsService`),ci=$r(`OscLinkService`),li=$r(`UnicodeService`),ui=$r(`DecorationService`),di=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 Jr,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):fi(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)}};di=Or([U(0,ti),U(1,si),U(2,ci)],di);function fi(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 pi=$r(`CharSizeService`),mi=$r(`CoreBrowserService`),hi=$r(`MouseService`),gi=$r(`RenderService`),_i=$r(`SelectionService`),vi=$r(`CharacterJoinerService`),yi=$r(`ThemeService`),bi=$r(`LinkProviderService`),xi=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?Di.isErrorNoTelemetry(e)?new Di(e.message+`
5
5
 
@@ -1 +1 @@
1
- import{F as e,H as t,L as n,Q as r,U as i,bt as a,d as o,f as s,g as c,p as l,r as u,rt as d,u as f,v as p}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{t as m}from"./QIcon-BJuyqdsT.js";import{a as h,r as g}from"./use-id-CuaR1RiE.js";import{n as _}from"./vue-i18n-BcfTCFFS.js";import{t as v}from"./QInput-Cm5-AGQ4.js";import{t as y}from"./QToggle-1-N9qWq4.js";import{a as b}from"./index-DR1y9t94.js";import{t as x}from"./_plugin-vue_export-helper-Cj6tcsj6.js";import{t as S}from"./QBadge-DWH42dbo.js";import{t as C}from"./QSpace-CLtL3aPy.js";import{t as w}from"./formatters-BD0_hovB.js";import{t as T}from"./QPage-ChUKoaKe.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=r(null),U=null;function W(){U&&clearTimeout(U),U=setTimeout(()=>{h.search()},250)}t(()=>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(t,r)=>(e(),o(T,{class:`q-pa-md search-page`},{default:i(()=>[f(`div`,D,[f(`h2`,O,a(t.$t(`search.title`)),1),c(v,{ref_key:`inputEl`,ref:H,modelValue:d(h).query,"onUpdate:modelValue":[r[0]||=e=>d(h).query=e,W],dense:``,dark:``,outlined:``,clearable:``,autofocus:``,placeholder:t.$t(`search.placeholder`),onClear:r[1]||=e=>d(h).clear()},{prepend:i(()=>[c(m,{name:`search`})]),_:1},8,[`modelValue`,`placeholder`]),f(`div`,k,[c(y,{modelValue:d(h).includeArchived,"onUpdate:modelValue":r[2]||=e=>d(h).includeArchived=e,label:t.$t(`search.includeArchived`),dense:``,dark:``,color:`indigo-4`,size:`sm`},null,8,[`modelValue`,`label`]),c(C),d(h).results.length>0?(e(),l(`span`,A,a(t.$t(`search.resultCount`,{n:d(h).results.length})),1)):s(``,!0)])]),c(g,{dark:``,class:`q-my-md`}),d(h).loading?(e(),l(`div`,j,a(t.$t(`search.loading`)),1)):d(h).error?(e(),l(`div`,M,a(t.$t(`search.error`,{message:d(h).error})),1)):d(h).query.trim().length>0&&d(h).results.length===0?(e(),l(`div`,N,a(t.$t(`search.noResults`)),1)):d(h).results.length>0?(e(),l(`div`,P,[(e(!0),l(u,null,n(d(h).results,(n,r)=>(e(),l(`div`,{key:`${n.workspaceId}-${n.timestamp}-${r}`,class:`search-result q-pa-sm q-mb-sm cursor-pointer`,onClick:e=>G(n.workspaceId)},[f(`div`,I,[f(`span`,L,a(n.workspaceName),1),n.archived?(e(),o(S,{key:0,color:`grey-7`,class:`q-ml-xs`,label:t.$t(`common.archive`)},null,8,[`label`])):s(``,!0),c(C),c(S,{color:n.type===`user:message`?`blue-grey-7`:`indigo-7`,class:`q-mr-sm`,label:K(n.type)},null,8,[`color`,`label`]),f(`span`,R,a(d(V)(n.timestamp)),1)]),f(`div`,z,a(n.snippet),1)],8,F))),128))])):s(``,!0)]),_:1}))}}),[[`__scopeId`,`data-v-6f728e16`]]);export{B as default};
1
+ import{F as e,H as t,L as n,Q as r,U as i,bt as a,d as o,f as s,g as c,p as l,r as u,rt as d,u as f,v as p}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{t as m}from"./QIcon-BJuyqdsT.js";import{a as h,r as g}from"./use-id-CuaR1RiE.js";import{n as _}from"./vue-i18n-BcfTCFFS.js";import{t as v}from"./QInput-Cm5-AGQ4.js";import{t as y}from"./QToggle-1-N9qWq4.js";import{a as b}from"./index-_ZaIBxd6.js";import{t as x}from"./_plugin-vue_export-helper-Cj6tcsj6.js";import{t as S}from"./QBadge-DWH42dbo.js";import{t as C}from"./QSpace-CLtL3aPy.js";import{t as w}from"./formatters-BD0_hovB.js";import{t as T}from"./QPage-ChUKoaKe.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=r(null),U=null;function W(){U&&clearTimeout(U),U=setTimeout(()=>{h.search()},250)}t(()=>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(t,r)=>(e(),o(T,{class:`q-pa-md search-page`},{default:i(()=>[f(`div`,D,[f(`h2`,O,a(t.$t(`search.title`)),1),c(v,{ref_key:`inputEl`,ref:H,modelValue:d(h).query,"onUpdate:modelValue":[r[0]||=e=>d(h).query=e,W],dense:``,dark:``,outlined:``,clearable:``,autofocus:``,placeholder:t.$t(`search.placeholder`),onClear:r[1]||=e=>d(h).clear()},{prepend:i(()=>[c(m,{name:`search`})]),_:1},8,[`modelValue`,`placeholder`]),f(`div`,k,[c(y,{modelValue:d(h).includeArchived,"onUpdate:modelValue":r[2]||=e=>d(h).includeArchived=e,label:t.$t(`search.includeArchived`),dense:``,dark:``,color:`indigo-4`,size:`sm`},null,8,[`modelValue`,`label`]),c(C),d(h).results.length>0?(e(),l(`span`,A,a(t.$t(`search.resultCount`,{n:d(h).results.length})),1)):s(``,!0)])]),c(g,{dark:``,class:`q-my-md`}),d(h).loading?(e(),l(`div`,j,a(t.$t(`search.loading`)),1)):d(h).error?(e(),l(`div`,M,a(t.$t(`search.error`,{message:d(h).error})),1)):d(h).query.trim().length>0&&d(h).results.length===0?(e(),l(`div`,N,a(t.$t(`search.noResults`)),1)):d(h).results.length>0?(e(),l(`div`,P,[(e(!0),l(u,null,n(d(h).results,(n,r)=>(e(),l(`div`,{key:`${n.workspaceId}-${n.timestamp}-${r}`,class:`search-result q-pa-sm q-mb-sm cursor-pointer`,onClick:e=>G(n.workspaceId)},[f(`div`,I,[f(`span`,L,a(n.workspaceName),1),n.archived?(e(),o(S,{key:0,color:`grey-7`,class:`q-ml-xs`,label:t.$t(`common.archive`)},null,8,[`label`])):s(``,!0),c(C),c(S,{color:n.type===`user:message`?`blue-grey-7`:`indigo-7`,class:`q-mr-sm`,label:K(n.type)},null,8,[`color`,`label`]),f(`span`,R,a(d(V)(n.timestamp)),1)]),f(`div`,z,a(n.snippet),1)],8,F))),128))])):s(``,!0)]),_:1}))}}),[[`__scopeId`,`data-v-6f728e16`]]);export{B as default};