@loicngr/kobo 1.11.3 → 1.11.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 (67) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +3 -3
  3. package/dist/server/db/migrations.js +20 -0
  4. package/dist/server/db/schema.js +1 -0
  5. package/dist/server/routes/workspaces.js +71 -0
  6. package/dist/server/services/agent/engines/codex/capabilities.js +2 -1
  7. package/dist/server/services/agent/engines/codex/options-builder.js +4 -2
  8. package/dist/server/services/agent/orchestrator.js +10 -7
  9. package/dist/server/services/engine-handoff-service.js +41 -0
  10. package/dist/server/services/workspace-service.js +50 -2
  11. package/package.json +1 -1
  12. package/src/client/dist/pwa/assets/{ActivityFeed-DB_EucGW.js → ActivityFeed-CoE7FTe_.js} +1 -1
  13. package/src/client/dist/pwa/assets/{ChangelogPage-CNn9l8Ht.js → ChangelogPage-Cr_15zCy.js} +1 -1
  14. package/src/client/dist/pwa/assets/{ClosePopup-BycCSMYN.js → ClosePopup-DQgUw5Fk.js} +1 -1
  15. package/src/client/dist/pwa/assets/{CreatePage-BnEu_-oB.js → CreatePage-BgDusUKR.js} +1 -1
  16. package/src/client/dist/pwa/assets/{DiffViewer-DiV6QEdI.js → DiffViewer-CfOhZMXv.js} +3 -3
  17. package/src/client/dist/pwa/assets/{HealthPage-ByBfOzgZ.js → HealthPage-3GHu-I59.js} +1 -1
  18. package/src/client/dist/pwa/assets/{MainLayout-DOuqjNgy.js → MainLayout-DPLjufY9.js} +2 -2
  19. package/src/client/dist/pwa/assets/{QBtnToggle-BClaEu9N.js → QBtnToggle-CC3TCOK8.js} +1 -1
  20. package/src/client/dist/pwa/assets/{QChip-4nbXNOAl.js → QChip-CLKcMuqJ.js} +1 -1
  21. package/src/client/dist/pwa/assets/{QSelect-BCz_9zhf.js → QSelect-DUCHcz_p.js} +1 -1
  22. package/src/client/dist/pwa/assets/{QTooltip-DSxTMMkV.js → QTooltip-CUM1JiWx.js} +1 -1
  23. package/src/client/dist/pwa/assets/{SearchPage-BRv1M8JZ.js → SearchPage-f9Bjw2s3.js} +1 -1
  24. package/src/client/dist/pwa/assets/{SettingsPage-BqsWfOOK.js → SettingsPage-BmTlGyff.js} +1 -1
  25. package/src/client/dist/pwa/assets/{ThinkingItem-Bx_u0wMq.js → ThinkingItem-D9OZZN0H.js} +1 -1
  26. package/src/client/dist/pwa/assets/{TouchPan-a3VbuxQ6.js → TouchPan-DvWjWFLZ.js} +1 -1
  27. package/src/client/dist/pwa/assets/{WorkspacePage-D-1HoeQg.css → WorkspacePage-BbJM8PyI.css} +1 -1
  28. package/src/client/dist/pwa/assets/WorkspacePage-CtiULAL9.js +4 -0
  29. package/src/client/dist/pwa/assets/{build-path-tree-BKKu-ryI.js → build-path-tree-nLp-H-pQ.js} +1 -1
  30. package/src/client/dist/pwa/assets/{cssMode-BKAdI7ff.js → cssMode-7vYc6lG_.js} +1 -1
  31. package/src/client/dist/pwa/assets/{documents-Cc-OXiwm.js → documents-CSi0kXxo.js} +1 -1
  32. package/src/client/dist/pwa/assets/{editor.api2-BaCyAVGk.js → editor.api2-BzgKTMyb.js} +1 -1
  33. package/src/client/dist/pwa/assets/{editor.main-BbVQG_bB.js → editor.main-DOAM9U2f.js} +2 -2
  34. package/src/client/dist/pwa/assets/{expand-template-CZOjiOqB.js → expand-template-CT5wSSEr.js} +1 -1
  35. package/src/client/dist/pwa/assets/{formatters-CCEkVVIc.js → formatters-66ZLwD6M.js} +1 -1
  36. package/src/client/dist/pwa/assets/{freemarker2-Bh-TbpI2.js → freemarker2-CgDldzFl.js} +1 -1
  37. package/src/client/dist/pwa/assets/{handlebars-B8nDlL6P.js → handlebars-Dt0cB0x6.js} +1 -1
  38. package/src/client/dist/pwa/assets/{html-7xHGi5EV.js → html-Blz0fA0T.js} +1 -1
  39. package/src/client/dist/pwa/assets/{htmlMode-Bj3pQot4.js → htmlMode-CgzmQ96i.js} +1 -1
  40. package/src/client/dist/pwa/assets/i18n-BjRW3rME.js +1 -0
  41. package/src/client/dist/pwa/assets/{index-CH7ykfX_.js → index-C0ylRsyw.js} +7 -7
  42. package/src/client/dist/pwa/assets/{javascript-BtBc5IVR.js → javascript-DVKtVeCf.js} +1 -1
  43. package/src/client/dist/pwa/assets/{jsonMode-0IOmldeM.js → jsonMode-Cfa435aJ.js} +1 -1
  44. package/src/client/dist/pwa/assets/{kobo-commands-2L1djzbe.js → kobo-commands-C-rMOa-X.js} +1 -1
  45. package/src/client/dist/pwa/assets/{layout-DgfOrzwf.js → layout-BUYxQPjS.js} +1 -1
  46. package/src/client/dist/pwa/assets/{liquid-DF94cTT4.js → liquid-DU4LoIen.js} +1 -1
  47. package/src/client/dist/pwa/assets/{lspLanguageFeatures-iHqiZBzm.js → lspLanguageFeatures-DDmy9kyx.js} +1 -1
  48. package/src/client/dist/pwa/assets/{mdx-C-x1eJF5.js → mdx-CVPu9G6b.js} +1 -1
  49. package/src/client/dist/pwa/assets/{monaco.contribution-DSfodOAp.js → monaco.contribution-BCKXe1LM.js} +2 -2
  50. package/src/client/dist/pwa/assets/{network-auth-DA6dNTa5.js → network-auth-BP0-h4VQ.js} +1 -1
  51. package/src/client/dist/pwa/assets/{pending-diff-open-bDBsLjPx.js → pending-diff-open-BAyLIcQ6.js} +1 -1
  52. package/src/client/dist/pwa/assets/{permissionModes-DQd7fbSy.js → permissionModes-CNIg8DwA.js} +1 -1
  53. package/src/client/dist/pwa/assets/{project-color-CQtsHSqi.js → project-color-B38mkxVB.js} +1 -1
  54. package/src/client/dist/pwa/assets/{python-fAiLpu-5.js → python-WDhDBOmq.js} +1 -1
  55. package/src/client/dist/pwa/assets/{razor-Clyexxhi.js → razor-Dv_KM7xr.js} +1 -1
  56. package/src/client/dist/pwa/assets/{render-chat-markdown-MzPqUxrD.js → render-chat-markdown-DahMoI2g.js} +1 -1
  57. package/src/client/dist/pwa/assets/{tsMode-aOX259X0.js → tsMode-B3UNfmkB.js} +1 -1
  58. package/src/client/dist/pwa/assets/{typescript-BiPmygzZ.js → typescript-CNkrDBQS.js} +1 -1
  59. package/src/client/dist/pwa/assets/{use-onboarding-NfnxjTzg.js → use-onboarding-Bb-Hawzx.js} +1 -1
  60. package/src/client/dist/pwa/assets/{use-quasar-CyeldpIw.js → use-quasar-DCRxdLu-.js} +1 -1
  61. package/src/client/dist/pwa/assets/{workers-BcOflh4r.js → workers-UUdizQoG.js} +1 -1
  62. package/src/client/dist/pwa/assets/{xml-6qooibMC.js → xml-zRWWyHRk.js} +1 -1
  63. package/src/client/dist/pwa/assets/{yaml-DzDdyl50.js → yaml-Uma2sS3z.js} +1 -1
  64. package/src/client/dist/pwa/index.html +1 -1
  65. package/src/client/dist/pwa/sw.js +1 -1
  66. package/src/client/dist/pwa/assets/WorkspacePage-Dsj0f4XV.js +0 -4
  67. package/src/client/dist/pwa/assets/i18n-DXWy90AZ.js +0 -1
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DiffViewer-DiV6QEdI.js","assets/index-CH7ykfX_.js","assets/vue.runtime.esm-bundler-JZnIeD9D.js","assets/chunk-QTnfLwEv.js","assets/QSeparator-DWTCQxsa.js","assets/QIcon-C6E-oEjI.js","assets/use-checkbox-E9SV7iH5.js","assets/QInput-BF8x4RTv.js","assets/index-CwYR3iHt.css","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/render-chat-markdown-MzPqUxrD.js","assets/QBadge-DV5kn4mL.js","assets/QBtnToggle-BClaEu9N.js","assets/QBtnGroup-C442-yBb.js","assets/QChip-4nbXNOAl.js","assets/QSelect-BCz_9zhf.js","assets/use-quasar-CyeldpIw.js","assets/QTooltip-DSxTMMkV.js","assets/QList-D5EKdFPn.js","assets/pending-diff-open-bDBsLjPx.js","assets/documents-Cc-OXiwm.js","assets/TouchPan-a3VbuxQ6.js","assets/ClosePopup-BycCSMYN.js","assets/QSpace-ezNrZkuj.js","assets/QSpinnerDots-DIV68-cV.js","assets/build-path-tree-BKKu-ryI.js","assets/DiffViewer-CRrDdYBa.css"])))=>i.map(i=>d[i]);
2
- import{$ as e,A as t,B as n,C as r,D as i,F as a,G as o,H as s,I as c,M as l,P as u,Q as d,R as f,S as p,T as m,U as h,V as g,W as _,Y as v,_ as y,a as b,at as x,b as S,c as C,ct as w,g as T,h as E,it as D,k as O,m as k,o as A,p as j,s as M,st as N,x as ee,y as P,z as te}from"./vue.runtime.esm-bundler-JZnIeD9D.js";import{M as ne,N as F,S as I,_ as L,a as re,b as ie,g as ae,i as R,j as oe,l as z,m as se,n as ce,r as le,s as ue,t as B,y as de}from"./QIcon-C6E-oEjI.js";import{n as fe,p as pe,r as me,t as he}from"./QSeparator-DWTCQxsa.js";import{t as ge}from"./QInput-BF8x4RTv.js";import{B as _e,Ct as ve,F as ye,G as be,K as xe,P as Se,R as Ce,St as V,V as we,W as Te,Z as Ee,_t as De,a as Oe,bt as ke,d as Ae,et as je,ft as Me,g as Ne,gt as Pe,h as Fe,ht as Ie,l as Le,m as Re,mt as ze,n as Be,o as Ve,p as He,pt as Ue,r as We,s as Ge,t as Ke,u as qe,v as Je,xt as Ye,yt as Xe,z as H}from"./index-CH7ykfX_.js";import{n as U,r as W,t as Ze}from"./use-quasar-CyeldpIw.js";import{c as Qe,l as $e,t as et}from"./QSelect-BCz_9zhf.js";import{d as G,f as tt,t as K}from"./QTooltip-DSxTMMkV.js";import{n as nt,r as rt,t as it}from"./documents-Cc-OXiwm.js";import{t as q}from"./ClosePopup-BycCSMYN.js";import{t as at}from"./TouchPan-a3VbuxQ6.js";import{i as ot,r as st,t as ct}from"./render-chat-markdown-MzPqUxrD.js";import{t as lt}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as ut}from"./QBadge-DV5kn4mL.js";import{t as dt}from"./QSpace-ezNrZkuj.js";import{t as ft}from"./QChip-4nbXNOAl.js";import{t as pt}from"./QBtnGroup-C442-yBb.js";import{t as mt}from"./QList-D5EKdFPn.js";import{r as ht,t as gt}from"./build-path-tree-BKKu-ryI.js";import{a as _t,c as vt,i as yt,l as bt,o as xt,s as St,t as Ct}from"./layout-DgfOrzwf.js";import{n as wt,r as Tt}from"./kobo-commands-2L1djzbe.js";import{t as Et}from"./formatters-CCEkVVIc.js";import{a as Dt,i as Ot,n as kt,r as At}from"./project-color-CQtsHSqi.js";import{t as jt}from"./use-onboarding-NfnxjTzg.js";var Mt=150;function Nt(e,t){e.value!==t&&(e.value=t)}var Pt=F({name:`QDrawer`,inheritAttrs:!1,props:{...Ie,...le,side:{type:String,default:`left`,validator:e=>[`left`,`right`].includes(e)},width:{type:Number,default:300},mini:Boolean,miniToOverlay:Boolean,miniWidth:{type:Number,default:57},noMiniAnimation:Boolean,breakpoint:{type:Number,default:1023},showIfAbove:Boolean,behavior:{type:String,validator:e=>[`default`,`desktop`,`mobile`].includes(e),default:`default`},bordered:Boolean,elevated:Boolean,overlay:Boolean,persistent:Boolean,noSwipeOpen:Boolean,noSwipeClose:Boolean,noSwipeBackdrop:Boolean},emits:[...ze,`onLayout`,`miniState`],setup(t,{slots:n,emit:s,attrs:c}){let u=r(),{proxy:{$q:d}}=u,f=ce(t,d),{preventBodyScroll:p}=Ee(),{registerTimeout:g,removeTimeout:_}=De(),v=i(ae,se);if(v===se)return console.error(`QDrawer needs to be child of QLayout`),se;let y,b=null,x,S=e(t.behavior===`mobile`||t.behavior!==`desktop`&&v.totalWidth.value<=t.breakpoint),C=j(()=>t.mini&&!S.value),w=j(()=>C.value?t.miniWidth:t.width),T=j(()=>t.overlay||t.miniToOverlay||v.view.value.includes(I.value?`R`:`L`)||d.platform.is.ios&&v.isContainer.value),E=e(t.showIfAbove&&!S.value||t.modelValue===!0),D=j(()=>!t.overlay&&E.value&&!S.value),k=j(()=>t.overlay&&E.value&&!S.value),A=j(()=>!t.persistent&&(S.value||k.value));function M(e,t){if(te(),e!==!1&&v.animate(),Ce(0),S.value){let e=v.instances[le.value];e?.belowBreakpoint===!0&&e.hide(!1),V(1),v.isContainer.value||p(!0)}else V(0),e!==!1&&we(!1);g(()=>{e!==!1&&we(!0),t||s(`show`,e)},Mt)}function N(e,t){ne(),e!==!1&&v.animate(),V(0),Ce(L.value*w.value),Ae(),t?_():g(()=>{s(`hide`,e)},Mt)}let{show:ee,hide:P}=Ue({showing:E,hideOnRouteChange:A,handleShow:M,handleHide:N}),{addToHistory:te,removeFromHistory:ne}=Xe(E,P,A),F={belowBreakpoint:S,hide:P},I=j(()=>t.side===`right`),L=j(()=>(d.lang.rtl?-1:1)*(I.value?1:-1)),re=e(0),ie=e(!1),oe=e(!1),z=e(w.value*L.value),le=j(()=>I.value?`left`:`right`),B=j(()=>E.value&&!S.value&&!t.overlay?t.miniToOverlay?t.miniWidth:w.value:0),de=j(()=>`fullscreen q-drawer__backdrop`+(!E.value&&!ie.value?` hidden`:``)),fe=j(()=>({backgroundColor:`rgba(0,0,0,${re.value*.4})`})),pe=j(()=>I.value?v.rows.value.top[2]===`r`:v.rows.value.top[0]===`l`),me=j(()=>I.value?v.rows.value.bottom[2]===`r`:v.rows.value.bottom[0]===`l`),he=j(()=>{let e={};return v.header.space&&!pe.value&&(T.value?e.top=`${v.header.offset}px`:v.header.space&&(e.top=`${v.header.size}px`)),v.footer.space&&!me.value&&(T.value?e.bottom=`${v.footer.offset}px`:v.footer.space&&(e.bottom=`${v.footer.size}px`)),e}),ge=j(()=>{let e={width:`${w.value}px`,transform:`translateX(${z.value}px)`};return S.value?e:Object.assign(e,he.value)}),_e=j(()=>`q-drawer__content fit `+(v.isContainer.value?`overflow-auto`:`scroll`)),ve=j(()=>`q-drawer q-drawer--${t.side}`+(oe.value?` q-drawer--mini-animate`:``)+(t.bordered?` q-drawer--bordered`:``)+(f.value?` q-drawer--dark q-dark`:``)+(ie.value?` no-transition`:E.value?``:` q-layout--prevent-focus`)+(S.value?` fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding`:` q-drawer--${C.value?`mini`:`standard`}`+(T.value||!D.value?` fixed`:``)+(t.overlay||t.miniToOverlay?` q-drawer--on-top`:``)+(pe.value?` q-drawer--top-padding`:``))),ye=j(()=>[[at,Oe,void 0,{[d.lang.rtl?t.side:le.value]:!0,mouse:!0}]]),be=j(()=>[[at,ke,void 0,{[d.lang.rtl?le.value:t.side]:!0,mouse:!0}]]),xe=j(()=>[[at,ke,void 0,{[d.lang.rtl?le.value:t.side]:!0,mouse:!0,mouseAllDir:!0}]]);function Se(){Nt(S,t.behavior===`mobile`||t.behavior!==`desktop`&&v.totalWidth.value<=t.breakpoint)}h(S,e=>{e?(y=E.value,E.value&&P(!1)):!t.overlay&&t.behavior!==`mobile`&&y!==!1&&(E.value?(Ce(0),V(0),Ae()):ee(!1))}),h(()=>t.side,(e,t)=>{v.instances[t]===F&&(v.instances[t]=void 0,v[t].space=!1,v[t].offset=0),v.instances[e]=F,v[e].size=w.value,v[e].space=D.value,v[e].offset=B.value}),h(v.totalWidth,()=>{(v.isContainer.value||!document.qScrollPrevented)&&Se()}),h(()=>t.behavior+t.breakpoint,Se),h(v.isContainer,e=>{E.value&&p(!e),e&&Se()}),h(v.scrollbarWidth,()=>{Ce(E.value?0:void 0)}),h(B,e=>{je(`offset`,e)}),h(D,e=>{s(`onLayout`,e),je(`space`,e)}),h(I,()=>{Ce()}),h(w,e=>{Ce(),Me(t.miniToOverlay,e)}),h(()=>t.miniToOverlay,e=>{Me(e,w.value)}),h(()=>d.lang.rtl,()=>{Ce()}),h(()=>t.mini,()=>{t.noMiniAnimation||t.modelValue&&(Te(),v.animate())}),h(C,e=>{s(`miniState`,e)});function Ce(e){e===void 0?O(()=>{e=E.value?0:w.value,Ce(L.value*e)}):(v.isContainer.value&&I.value&&(S.value||Math.abs(e)===w.value)&&(e+=L.value*v.scrollbarWidth.value),z.value=e)}function V(e){re.value=e}function we(e){let t=e?`remove`:v.isContainer.value?``:`add`;t!==``&&document.body.classList[t](`q-body--drawer-toggle`)}function Te(){b!==null&&clearTimeout(b),u.proxy&&u.proxy.$el&&u.proxy.$el.classList.add(`q-drawer--mini-animate`),oe.value=!0,b=setTimeout(()=>{b=null,oe.value=!1,u?.proxy?.$el?.classList.remove(`q-drawer--mini-animate`)},150)}function Oe(e){if(E.value)return;let t=w.value,n=tt(e.distance.x,0,t);if(e.isFinal){n>=Math.min(75,t)?ee():(v.animate(),V(0),Ce(L.value*t)),ie.value=!1;return}Ce((d.lang.rtl?!I.value:I.value)?Math.max(t-n,0):Math.min(0,n-t)),V(tt(n/t,0,1)),e.isFirst&&(ie.value=!0)}function ke(e){if(!E.value)return;let n=w.value,r=e.direction===t.side,i=(d.lang.rtl?!r:r)?tt(e.distance.x,0,n):0;if(e.isFinal){Math.abs(i)<Math.min(75,n)?(v.animate(),V(1),Ce(0)):P(),ie.value=!1;return}Ce(L.value*i),V(tt(1-i/n,0,1)),e.isFirst&&(ie.value=!0)}function Ae(){p(!1),we(!0)}function je(e,n){v.update(t.side,e,n)}function Me(e,n){je(`size`,e?t.miniWidth:n)}return v.instances[t.side]=F,Me(t.miniToOverlay,w.value),je(`space`,D.value),je(`offset`,B.value),t.showIfAbove&&!t.modelValue&&E.value&&t[`onUpdate:modelValue`]!==void 0&&s(`update:modelValue`,!0),a(()=>{s(`onLayout`,D.value),s(`miniState`,C.value),y=t.showIfAbove;let e=()=>{(E.value?M:N)(!1,!0)};if(v.totalWidth.value!==0){O(e);return}x=h(v.totalWidth,()=>{x(),x=void 0,!E.value&&t.showIfAbove&&!S.value?ee(!1):e()})}),l(()=>{x?.(),b!==null&&(clearTimeout(b),b=null),E.value&&Ae(),v.instances[t.side]===F&&(v.instances[t.side]=void 0,je(`size`,0),je(`offset`,0),je(`space`,!1))}),()=>{let e=[];S.value&&(t.noSwipeOpen||e.push(o(m(`div`,{key:`open`,class:`q-drawer__opener fixed-${t.side}`,"aria-hidden":`true`}),ye.value)),e.push(R(`div`,{ref:`backdrop`,class:de.value,style:fe.value,"aria-hidden":`true`,onClick:P},void 0,`backdrop`,!t.noSwipeBackdrop&&E.value,()=>xe.value)));let r=C.value&&n.mini!==void 0,i=[m(`div`,{...c,key:String(r),class:[_e.value,c.class]},r?n.mini():ue(n.default))];return t.elevated&&E.value&&i.push(m(`div`,{class:`q-layout__shadow absolute-full overflow-hidden no-pointer-events`})),e.push(R(`aside`,{ref:`content`,class:ve.value,style:ge.value},i,`contentclose`,!t.noSwipeClose&&S.value,()=>be.value)),m(`div`,{class:`q-drawer-container`},e)}}}),Ft=0,It=[`click`,`keydown`],Lt={icon:String,label:[Number,String],alert:[Boolean,String],alertIcon:String,name:{type:[Number,String],default:()=>`t_${Ft++}`},noCaps:Boolean,tabindex:[String,Number],disable:Boolean,contentClass:String,ripple:{type:[Boolean,Object],default:!0}};function Rt(t,n,s,c){let u=i(de,se);if(u===se)return console.error(`QTab/QRouteTab component needs to be child of QTabs`),se;let{proxy:d}=r(),f=e(null),p=e(null),h=e(null),g=j(()=>t.disable||t.ripple===!1?!1:{keyCodes:[13,32],early:!0,...t.ripple===!0?{}:t.ripple}),_=j(()=>u.currentModel.value===t.name),v=j(()=>`q-tab relative-position self-stretch flex flex-center text-center`+(_.value?` q-tab--active`+(u.tabProps.value.activeClass?` `+u.tabProps.value.activeClass:``)+(u.tabProps.value.activeColor?` text-${u.tabProps.value.activeColor}`:``)+(u.tabProps.value.activeBgColor?` bg-${u.tabProps.value.activeBgColor}`:``):` q-tab--inactive`)+(t.icon&&t.label&&!u.tabProps.value.inlineLabel?` q-tab--full`:``)+(t.noCaps||u.tabProps.value.noCaps?` q-tab--no-caps`:``)+(t.disable?` disabled`:` q-focusable q-hoverable cursor-pointer`)+(c===void 0?``:c.linkClass.value)),y=j(()=>`q-tab__content self-stretch flex-center relative-position q-anchor--skip non-selectable `+(u.tabProps.value.inlineLabel?`row no-wrap q-tab__content--inline`:`column`)+(t.contentClass===void 0?``:` ${t.contentClass}`)),b=j(()=>t.disable||u.hasFocus.value||!_.value&&u.hasActiveTab.value?-1:t.tabindex||0);function x(e,n){if(!n&&!e?.qAvoidFocus&&f.value?.focus(),t.disable){c?.hasRouterLink.value===!0&&ne(e);return}if(c===void 0){u.updateModel({name:t.name}),s(`click`,e);return}if(c.hasRouterLink.value){let n=(n={})=>{let r,i=n.to===void 0||ve(n.to,t.to)?u.avoidRouteWatcher=me():null;return c.navigateToRouterLink(e,{...n,returnRouterError:!0}).catch(e=>{r=e}).then(e=>{if(i===u.avoidRouteWatcher&&(u.avoidRouteWatcher=!1,r===void 0&&(e===void 0||e.message?.startsWith(`Avoided redundant navigation`)===!0)&&u.updateModel({name:t.name})),n.returnRouterError)return r===void 0?e:Promise.reject(r)})};s(`click`,e,n),e.defaultPrevented||n();return}s(`click`,e)}function S(e){ie(e,[13,32])?x(e,!0):!I(e)&&e.keyCode>=35&&e.keyCode<=40&&!e.altKey&&!e.metaKey&&u.onKbdNavigate(e.keyCode,d.$el)&&ne(e),s(`keydown`,e)}function C(){let e=u.tabProps.value.narrowIndicator,r=[],i=m(`div`,{ref:h,class:[`q-tab__indicator`,u.tabProps.value.indicatorClass]});t.icon!==void 0&&r.push(m(B,{class:`q-tab__icon`,name:t.icon})),t.label!==void 0&&r.push(m(`div`,{class:`q-tab__label`},t.label)),t.alert&&r.push(t.alertIcon===void 0?m(`div`,{class:`q-tab__alert`+(t.alert===!0?``:` text-${t.alert}`)}):m(B,{class:`q-tab__alert-icon`,color:t.alert===!0?void 0:t.alert,name:t.alertIcon})),e&&r.push(i);let a=[m(`div`,{class:`q-focus-helper`,tabindex:-1,ref:f}),m(`div`,{class:y.value},re(n.default,r))];return e||a.push(i),a}let w={name:j(()=>t.name),rootRef:p,tabIndicatorRef:h,routeData:c};l(()=>{u.unregisterTab(w)}),a(()=>{u.registerTab(w)});function T(e,n){return o(m(e,{ref:p,class:v.value,tabindex:b.value,role:`tab`,"aria-selected":_.value?`true`:`false`,"aria-disabled":t.disable?`true`:void 0,onClick:x,onKeydown:S,...n},C()),[[Te,g.value]])}return{renderTab:T,$tabs:u}}var zt=F({name:`QTab`,props:Lt,emits:It,setup(e,{slots:t,emit:n}){let{renderTab:r}=Rt(e,t,n);return()=>r(`div`)}});function Bt(e,t,n){let r=n?[`left`,`right`]:[`top`,`bottom`];return`absolute-${t?r[0]:r[1]}${e?` text-${e}`:``}`}function Vt(e,t){for(let n in e)if(e[n]!==t[n])return!1;return!0}var Ht=[`left`,`center`,`right`,`justify`],Ut=F({name:`QTabs`,props:{modelValue:[Number,String],align:{type:String,default:`center`,validator:e=>Ht.includes(e)},breakpoint:{type:[String,Number],default:600},vertical:Boolean,shrink:Boolean,stretch:Boolean,activeClass:String,activeColor:String,activeBgColor:String,indicatorColor:String,leftIcon:String,rightIcon:String,outsideArrows:Boolean,mobileArrows:Boolean,switchIndicator:Boolean,narrowIndicator:Boolean,inlineLabel:Boolean,noCaps:Boolean,dense:Boolean,contentClass:String,"onUpdate:modelValue":[Function,Array]},setup(n,{slots:i,emit:a}){let{proxy:o}=r(),{$q:s}=o,{registerTick:c}=Pe(),{registerTick:d}=Pe(),{registerTick:f}=Pe(),{registerTimeout:p,removeTimeout:g}=De(),{registerTimeout:_,removeTimeout:v}=De(),y=e(null),b=e(null),x=e(n.modelValue),S=e(!1),C=e(!0),w=e(!1),T=e(!1),E=[],D=e(0),O=e(!1),k=null,A=null,M,N=j(()=>({activeClass:n.activeClass,activeColor:n.activeColor,activeBgColor:n.activeBgColor,indicatorClass:Bt(n.indicatorColor,n.switchIndicator,n.vertical),narrowIndicator:n.narrowIndicator,inlineLabel:n.inlineLabel,noCaps:n.noCaps})),ee=j(()=>{let e=D.value,t=x.value;for(let n=0;n<e;n++)if(E[n].name.value===t)return!0;return!1}),P=j(()=>`q-tabs__content--align-${S.value?`left`:T.value?`justify`:n.align}`),ne=j(()=>`q-tabs row no-wrap items-center q-tabs--${S.value?``:`not-`}scrollable q-tabs--${n.vertical?`vertical`:`horizontal`} q-tabs__arrows--${n.outsideArrows?`outside`:`inside`} q-tabs--mobile-with${n.mobileArrows?``:`out`}-arrows`+(n.dense?` q-tabs--dense`:``)+(n.shrink?` col-shrink`:``)+(n.stretch?` self-stretch`:``)),F=j(()=>`q-tabs__content scroll--mobile row no-wrap items-center self-stretch hide-scrollbar relative-position `+P.value+(n.contentClass===void 0?``:` ${n.contentClass}`)),I=j(()=>n.vertical?{container:`height`,content:`offsetHeight`,scroll:`scrollHeight`}:{container:`width`,content:`offsetWidth`,scroll:`scrollWidth`}),L=j(()=>!n.vertical&&s.lang.rtl===!0),re=j(()=>!G&&L.value);h(L,se),h(()=>n.modelValue,e=>{ie({name:e,setCurrent:!0,skipEmit:!0})}),h(()=>n.outsideArrows,ae);function ie({name:e,setCurrent:t,skipEmit:r}){x.value!==e&&(!r&&n[`onUpdate:modelValue`]!==void 0&&a(`update:modelValue`,e),(t||n[`onUpdate:modelValue`]===void 0)&&(oe(x.value,e),x.value=e))}function ae(){c(()=>{y.value&&R({width:y.value.offsetWidth,height:y.value.offsetHeight})})}function R(e){if(I.value===void 0||b.value===null)return;let t=e[I.value.container],r=Math.min(b.value[I.value.scroll],Array.prototype.reduce.call(b.value.children,(e,t)=>e+(t[I.value.content]||0),0)),i=t>0&&r>t;S.value=i,i&&d(se),T.value=t<Number.parseInt(n.breakpoint,10)}function oe(e,t){let r=e!=null&&e!==``?E.find(t=>t.name.value===e):null,i=t!=null&&t!==``?E.find(e=>e.name.value===t):null;if(Ee)Ee=!1;else if(r&&i){let e=r.tabIndicatorRef.value,t=i.tabIndicatorRef.value;k!==null&&(clearTimeout(k),k=null),e.style.transition=`none`,e.style.transform=`none`,t.style.transition=`none`,t.style.transform=`none`;let a=e.getBoundingClientRect(),o=t.getBoundingClientRect();t.style.transform=n.vertical?`translate3d(0,${a.top-o.top}px,0) scale3d(1,${o.height?a.height/o.height:1},1)`:`translate3d(${a.left-o.left}px,0,0) scale3d(${o.width?a.width/o.width:1},1,1)`,f(()=>{k=setTimeout(()=>{k=null,t.style.transition=`transform .25s cubic-bezier(.4, 0, .2, 1)`,t.style.transform=`none`},70)})}i&&S.value&&z(i.rootRef.value)}function z(e){let{left:t,width:r,top:i,height:a}=b.value.getBoundingClientRect(),o=e.getBoundingClientRect(),s=n.vertical?o.top-i:o.left-t;if(s<0){b.value[n.vertical?`scrollTop`:`scrollLeft`]+=Math.floor(s),se();return}s+=n.vertical?o.height-a:o.width-r,s>0&&(b.value[n.vertical?`scrollTop`:`scrollLeft`]+=Math.ceil(s),se())}function se(){let e=b.value;if(e===null)return;let t=e.getBoundingClientRect(),r=n.vertical?e.scrollTop:Math.abs(e.scrollLeft);L.value?(C.value=Math.ceil(r+t.width)<e.scrollWidth-1,w.value=r>0):(C.value=r>0,w.value=n.vertical?Math.ceil(r+t.height)<e.scrollHeight:Math.ceil(r+t.width)<e.scrollWidth)}function ce(e){A!==null&&clearInterval(A),A=setInterval(()=>{ge(e)&&pe()},5)}function le(){ce(re.value?2**53-1:0)}function fe(){ce(re.value?0:2**53-1)}function pe(){A!==null&&(clearInterval(A),A=null)}function me(e,t){let r=Array.prototype.filter.call(b.value.children,e=>e===t||e.matches?.(`.q-tab.q-focusable`)),i=r.length;if(i===0)return;if(e===36)return z(r[0]),r[0].focus(),!0;if(e===35)return z(r[i-1]),r[i-1].focus(),!0;let a=e===(n.vertical?38:37),o=e===(n.vertical?40:39),s=a?-1:o?1:void 0;if(s!==void 0){let e=n.vertical!==!0&&L.value?-1:1,a=(r.indexOf(t)+s*e+i)%i;return z(r[a]),r[a].focus({preventScroll:!0}),!0}}let he=j(()=>re.value?{get:e=>Math.abs(e.scrollLeft),set:(e,t)=>{e.scrollLeft=-t}}:n.vertical?{get:e=>e.scrollTop,set:(e,t)=>{e.scrollTop=t}}:{get:e=>e.scrollLeft,set:(e,t)=>{e.scrollLeft=t}});function ge(e){let t=b.value,{get:n,set:r}=he.value,i=!1,a=n(t),o=e<a?-1:1;return a+=o*5,a<0?(i=!0,a=0):(o===-1&&a<=e||o===1&&a>=e)&&(i=!0,a=e),r(t,a),se(),i}function _e(){let e=null,t={matchedLen:0,queryDiff:9999,hrefLen:0},n=E.filter(e=>e.routeData?.hasRouterLink.value===!0),{hash:r,query:i}=o.$route,a=Object.keys(i).length;for(let o of n){let n=o.routeData.exact.value===!0;if(!o.routeData[n?`linkIsExactActive`:`linkIsActive`].value)continue;let{hash:s,query:c,matched:l,href:u}=o.routeData.resolvedLink.value,d=Object.keys(c).length;if(n){if(s!==r||d!==a||!Vt(i,c))continue;e=o.name.value;break}if(s!==``&&s!==r||d!==0&&!Vt(c,i))continue;let f={matchedLen:l.length,queryDiff:a-d,hrefLen:u.length-s.length};if(f.matchedLen>t.matchedLen){e=o.name.value,t=f;continue}else if(f.matchedLen!==t.matchedLen)continue;if(f.queryDiff<t.queryDiff)e=o.name.value,t=f;else if(f.queryDiff!==t.queryDiff)continue;f.hrefLen>t.hrefLen&&(e=o.name.value,t=f)}if(e===null&&E.some(e=>e.routeData===void 0&&e.name.value===x.value)){Ee=!1;return}ie({name:e,setCurrent:!0})}function ve(e){if(g(),!O.value&&y.value!==null&&e.target&&typeof e.target.closest==`function`){let t=e.target.closest(`.q-tab`);t&&y.value.contains(t)&&(O.value=!0,S.value&&z(t))}}function ye(){p(()=>{O.value=!1},30)}function be(){V.avoidRouteWatcher===!1?_(_e):v()}function xe(){if(M===void 0){let e=h(()=>o.$route.fullPath,be);M=()=>{e(),M=void 0}}}function Se(e){E.push(e),D.value++,ae(),e.routeData===void 0||o.$route===void 0?_(()=>{if(S.value){let e=x.value,t=e!=null&&e!==``?E.find(t=>t.name.value===e):null;t&&z(t.rootRef.value)}}):(xe(),e.routeData.hasRouterLink.value&&be())}function Ce(e){E.splice(E.indexOf(e),1),D.value--,ae(),M!==void 0&&e.routeData!==void 0&&(E.every(e=>e.routeData===void 0)&&M(),be())}let V={currentModel:x,tabProps:N,hasFocus:O,hasActiveTab:ee,registerTab:Se,unregisterTab:Ce,verifyRouteModel:be,updateModel:ie,onKbdNavigate:me,avoidRouteWatcher:!1};te(de,V);function we(){k!==null&&clearTimeout(k),pe(),M?.()}let Te=!1,Ee=!1;return l(we),u(()=>{Te=M!==void 0,we()}),t(()=>{Te&&(xe(),Ee=!0,be()),ae()}),()=>m(`div`,{ref:y,class:ne.value,role:`tablist`,"aria-orientation":n.vertical?`vertical`:`horizontal`,onFocusin:ve,onFocusout:ye},[m(rt,{onResize:R}),m(`div`,{ref:b,class:F.value,onScroll:se},ue(i.default)),m(B,{class:`q-tabs__arrow q-tabs__arrow--left absolute q-tab__icon`+(C.value?``:` q-tabs__arrow--faded`),name:n.leftIcon||s.iconSet.tabs[n.vertical?`up`:`left`],onMousedownPassive:le,onTouchstartPassive:le,onMouseupPassive:pe,onMouseleavePassive:pe,onTouchendPassive:pe}),m(B,{class:`q-tabs__arrow q-tabs__arrow--right absolute q-tab__icon`+(w.value?``:` q-tabs__arrow--faded`),name:n.rightIcon||s.iconSet.tabs[n.vertical?`down`:`right`],onMousedownPassive:fe,onTouchstartPassive:fe,onMouseupPassive:pe,onMouseleavePassive:pe,onTouchendPassive:pe})])}}),Wt=F({name:`QTabPanel`,props:St,setup(e,{slots:t}){return()=>m(`div`,{class:`q-tab-panel`,role:`tabpanel`},ue(t.default))}}),Gt=F({name:`QTabPanels`,props:{...bt,...le},emits:vt,setup(e,{slots:t}){let n=ce(e,r().proxy.$q),{updatePanelsList:i,getPanelContent:a,panelDirectives:o}=xt(),s=j(()=>`q-tab-panels q-panel-parent`+(n.value?` q-tab-panels--dark q-dark`:``));return()=>(i(t),R(`div`,{class:s.value},a(),`pan`,e.swipeable,()=>o.value))}}),Kt=F({name:`QPageContainer`,setup(e,{slots:t}){let{proxy:{$q:n}}=r(),a=i(ae,se);if(a===se)return console.error(`QPageContainer needs to be child of QLayout`),se;te(L,!0);let o=j(()=>{let e={};return a.header.space&&(e.paddingTop=`${a.header.size}px`),a.right.space&&(e[`padding${n.lang.rtl?`Left`:`Right`}`]=`${a.right.size}px`),a.footer.space&&(e.paddingBottom=`${a.footer.size}px`),a.left.space&&(e[`padding${n.lang.rtl?`Right`:`Left`}`]=`${a.left.size}px`),e});return()=>m(`div`,{class:`q-page-container`,style:o.value},ue(t.default))}}),qt=/^(h|l)h(h|r) lpr (f|l)f(f|r)$/,Jt=F({name:`QLayout`,props:{container:Boolean,view:{type:String,default:`hhh lpr fff`,validator:e=>qt.test(e.toLowerCase())},onScroll:Function,onScrollHeight:Function,onResize:Function},setup(t,{slots:n,emit:i}){let{proxy:{$q:a}}=r(),o=e(null),s=e(a.screen.height),l=e(t.container?0:a.screen.width),u=e({position:0,direction:`down`,inflectionPoint:0}),f=e(0),p=e(pe.value?0:je()),g=j(()=>`q-layout q-layout--`+(t.container?`containerized`:`standard`)),_=j(()=>t.container?null:{minHeight:a.screen.height+`px`}),v=j(()=>p.value===0?null:{[a.lang.rtl?`left`:`right`]:`${p.value}px`}),y=j(()=>p.value===0?null:{[a.lang.rtl?`right`:`left`]:0,[a.lang.rtl?`left`:`right`]:`-${p.value}px`,width:`calc(100% + ${p.value}px)`});function b(e){if(t.container||!document.qScrollPrevented){let n={position:e.position.top,direction:e.direction,directionChanged:e.directionChanged,inflectionPoint:e.inflectionPoint.top,delta:e.delta.top};u.value=n,t.onScroll!==void 0&&i(`scroll`,n)}}function x(e){let{height:n,width:r}=e,a=!1;s.value!==n&&(a=!0,s.value=n,t.onScrollHeight!==void 0&&i(`scrollHeight`,n),C()),l.value!==r&&(a=!0,l.value=r),a&&t.onResize!==void 0&&i(`resize`,e)}function S({height:e}){f.value!==e&&(f.value=e,C())}function C(){if(t.container){let e=s.value>f.value?je():0;p.value!==e&&(p.value=e)}}let w=null,T={instances:{},view:j(()=>t.view),isContainer:j(()=>t.container),rootRef:o,height:s,containerHeight:f,scrollbarWidth:p,totalWidth:j(()=>l.value+p.value),rows:j(()=>{let e=t.view.toLowerCase().split(` `);return{top:[...e[0]],middle:[...e[1]],bottom:[...e[2]]}}),header:d({size:0,offset:0,space:!1}),right:d({size:300,offset:0,space:!1}),footer:d({size:0,offset:0,space:!1}),left:d({size:300,offset:0,space:!1}),scroll:u,animate(){w===null?document.body.classList.add(`q-body--layout-animate`):clearTimeout(w),w=setTimeout(()=>{w=null,document.body.classList.remove(`q-body--layout-animate`)},155)},update(e,t,n){T[e][t]=n}};if(te(ae,T),je()>0){let e=null,n=document.body,r=()=>{e=null,n.classList.remove(`hide-scrollbar`)},i=()=>{if(e===null){if(n.scrollHeight>a.screen.height)return;n.classList.add(`hide-scrollbar`)}else clearTimeout(e);e=setTimeout(r,300)},o=t=>{e!==null&&t===`remove`&&(clearTimeout(e),r()),window[`${t}EventListener`](`resize`,i)};h(()=>t.container?`remove`:`add`,o),t.container||o(`add`),c(()=>{o(`remove`)})}return()=>{let e=re(n.default,[m(nt,{onScroll:b}),m(rt,{onResize:x})]),r=m(`div`,{class:g.value,style:_.value,ref:t.container?void 0:o,tabindex:-1},e);return t.container?m(`div`,{class:`q-layout-container overflow-hidden`,ref:o},[m(rt,{onResize:S}),m(`div`,{class:`absolute-full`,style:v.value},[m(`div`,{class:`scroll`,style:y.value},[r])])]):r}}}),Yt={class:`acceptance-panel q-pa-md`},Xt={class:`row items-center q-mb-sm`},Zt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},Qt={key:0,class:`criterion-add-row row items-center q-mb-xs`},$t={key:1,class:`acceptance-list`},en=[`onDblclick`],tn={key:2,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},nn=lt(p({__name:`AcceptancePanel`,props:{tasks:{}},setup(t){let{t:r}=be(),i=Ae(),a=Le();function o(){let e=i.selectedWorkspaceId;e&&wt(e,a,i)}let s=e(!1),c=e(``),l=e(null),u=e(``),d=e({});function p(e,t){if(t){let n=t.$el??t;d.value[e]=n}else delete d.value[e]}function m(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function h(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}async function g(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}`);i.selectedWorkspaceId&&i.fetchWorkspaceDetails(i.selectedWorkspaceId)}catch(e){console.error(`Failed to update task:`,e)}}function v(){s.value=!0,c.value=``}async function b(){let e=c.value.trim(),t=i.selectedWorkspace?.id;if(!(!e||!t))try{await i.createTask(t,e,!0),c.value=``,s.value=!1}catch{}}function j(){c.value=``,s.value=!1}function ee(e){l.value=e.id,u.value=e.title,O(()=>{let t=d.value[e.id]?.querySelector(`input, textarea`);t?.focus(),t?.select()})}async function te(e){if(l.value!==e.id)return;let t=u.value.trim(),n=e.id;if(l.value=null,!t||t===e.title)return;let r=i.selectedWorkspace?.id;if(r)try{await i.updateTaskTitle(r,n,t)}catch{}}function ne(){l.value=null,u.value=``}async function F(e){let t=i.selectedWorkspace?.id;if(t)try{await i.deleteTask(t,e.id)}catch{}}return(e,r)=>(f(),y(`div`,Yt,[k(`div`,Xt,[k(`div`,Zt,w(e.$t(`acceptance.title`)),1),S(dt),D(i).selectedWorkspace?(f(),E(H,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`fact_check`,color:`grey-5`,onClick:o},{default:_(()=>[S(K,null,{default:_(()=>[P(w(e.$t(`tasks.askProgress`)),1)]),_:1})]),_:1})):T(``,!0),D(i).selectedWorkspace?(f(),E(H,{key:1,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,onClick:v},{default:_(()=>[S(K,null,{default:_(()=>[P(w(e.$t(`tooltip.addCriterion`)),1)]),_:1})]),_:1})):T(``,!0)]),s.value?(f(),y(`div`,Qt,[S(ge,{modelValue:c.value,"onUpdate:modelValue":r[0]||=e=>c.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:e.$t(`acceptance.newCriterion`),class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[A(M(b,[`prevent`]),[`enter`]),A(M(j,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):T(``,!0),t.tasks.length>0?(f(),y(`div`,$t,[(f(!0),y(C,null,n(t.tasks,t=>(f(),y(`div`,{key:t.id,class:`acceptance-item row items-center q-mb-xxs`},[S(B,{name:m(t.status),size:`16px`,style:N({color:h(t.status)}),class:`q-mr-xs cursor-pointer`,onClick:e=>g(t)},null,8,[`name`,`style`,`onClick`]),l.value===t.id?(f(),E(ge,{key:0,ref_for:!0,ref:e=>p(t.id,e),modelValue:u.value,"onUpdate:modelValue":r[1]||=e=>u.value=e,dark:``,dense:``,borderless:``,class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[A(M(e=>te(t),[`prevent`]),[`enter`]),A(M(ne,[`prevent`]),[`esc`])],onBlur:e=>te(t)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(f(),y(C,{key:1},[k(`span`,{class:x([`col acceptance-title text-caption`,{"text-strike":t.status===`done`}]),style:N({color:t.status===`done`?`#4ade80`:`#ccc`}),onDblclick:e=>ee(t)},w(t.title),47,en),S(H,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`criterion-delete-btn`,onClick:e=>F(t)},{default:_(()=>[S(K,null,{default:_(()=>[P(w(e.$t(`tooltip.removeCriterion`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):s.value?T(``,!0):(f(),y(`div`,tn,w(e.$t(`acceptance.empty`)),1))]))}}),[[`__scopeId`,`data-v-20a94a3d`]]),rn={class:`agent-todos-panel q-pa-md`},an={class:`row items-center q-mb-sm`},on={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},sn={key:0,class:`todos-list`},cn={key:1,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},ln=lt(p({__name:`AgentTodosPanel`,setup(e){let{t}=be(),r=Ae();function i(e){switch(e){case`completed`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function a(e){switch(e){case`completed`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(e,t)=>(f(),y(`div`,rn,[k(`div`,an,[k(`div`,on,w(e.$t(`agentTodos.title`)),1)]),D(r).currentAgentTodos.length>0?(f(),y(`div`,sn,[(f(!0),y(C,null,n(D(r).currentAgentTodos,(e,t)=>(f(),y(`div`,{key:t,class:`todo-item row items-start q-py-xxs`},[S(B,{name:i(e.status),size:`14px`,style:N({color:a(e.status)}),class:`q-mr-xs q-mt-xxs`},null,8,[`name`,`style`]),k(`span`,{class:x([`col todo-title text-caption`,{"text-strike":e.status===`completed`}]),style:N({color:e.status===`completed`?`#4ade80`:`#ccc`})},w(e.content),7)]))),128))])):(f(),y(`div`,cn,w(e.$t(`agentTodos.empty`)),1))]))}}),[[`__scopeId`,`data-v-6a3613f7`]]),un={class:`documents-panel q-pa-md`},dn={class:`row items-center justify-between q-mb-sm`},fn={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},pn={key:0,class:`text-caption text-grey-8`},mn={key:1,class:`text-center q-py-lg`},hn={key:2,class:`text-caption text-grey-8 text-center q-py-lg`},gn={key:0,class:`text-center q-py-lg`},_n=[`innerHTML`],vn=lt(p({__name:`DocumentsPanel`,props:{workspace:{}},setup(e){let t=e,{t:n}=be(),r=Ze(),i=it(),a=j(()=>t.workspace?i.documentsFor(t.workspace.id):[]),o=j(()=>gt(a.value)),s=j(()=>i.selected?.path??null),c=j(()=>{if(!i.selected)return``;let e=ot.parse(i.selected.content,{async:!1,breaks:!0,gfm:!0});return st.sanitize(e)});async function l(){t.workspace&&await i.fetchDocuments(t.workspace.id)}async function u(e){if(!(!t.workspace||!e.file))try{await i.openDocument(t.workspace.id,e.file)}catch{r.notify({type:`negative`,message:n(`documents.loadFailed`),position:`top`})}}function d(){i.closeDocument()}return h(()=>t.workspace?.id,e=>{i.closeDocument(),e&&i.fetchDocuments(e)},{immediate:!0}),(t,n)=>(f(),y(`div`,un,[k(`div`,dn,[k(`div`,fn,w(t.$t(`documents.title`)),1),D(i).selected?(f(),E(H,{key:1,flat:``,dense:``,"no-caps":``,size:`sm`,icon:`arrow_back`,label:t.$t(`documents.back`),color:`grey-5`,onClick:d},null,8,[`label`])):(f(),E(H,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,loading:D(i).loadingList,onClick:l},{default:_(()=>[S(K,null,{default:_(()=>[P(w(t.$t(`documents.refresh`)),1)]),_:1})]),_:1},8,[`loading`]))]),D(i).selected?(f(),y(C,{key:1},[D(i).loadingContent?(f(),y(`div`,gn,[S(z,{size:`24px`,color:`grey-6`})])):(f(),y(`div`,{key:1,class:`document-content`,innerHTML:c.value},null,8,_n))],64)):(f(),y(C,{key:0},[e.workspace?D(i).loadingList?(f(),y(`div`,mn,[S(z,{size:`24px`,color:`grey-6`})])):a.value.length===0?(f(),y(`div`,hn,w(t.$t(`documents.empty`)),1)):(f(),E(ht,{key:3,nodes:o.value,"node-key":`nodeKey`,"label-key":`label`,"children-key":`children`,dark:``,dense:``,"default-expand-all":``,"no-selection-unset":``,selected:s.value?`file:${s.value}`:``,class:`documents-tree`,"onUpdate:selected":n[0]||=e=>{if(typeof e!=`string`||!e.startsWith(`file:`))return;let t=a.value.find(t=>`file:${t.path}`===e);t&&u({file:t})}},{"default-header":_(({node:e})=>[S(B,{name:e.isFolder?`folder`:`description`,color:e.isFolder?`indigo-4`:`grey-5`,size:`14px`,class:`q-mr-xs`},null,8,[`name`,`color`]),k(`span`,{class:x(e.isFolder?`text-grey-4`:`text-grey-3`),style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},w(e.label),3)]),_:1},8,[`nodes`,`selected`])):(f(),y(`div`,pn,w(t.$t(`common.selectWorkspace`)),1))],64))]))}}),[[`__scopeId`,`data-v-89e5de13`]]),yn=Object.keys(we);function bn(e){return yn.reduce((t,n)=>{let r=e[n];return r!==void 0&&(t[n]=r),t},{})}var xn=F({name:`QBtnDropdown`,props:{...we,...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(t,{slots:n,emit:i}){let{proxy:o}=r(),s=e(t.modelValue),c=e(null),l=fe(),u=j(()=>{let e={"aria-expanded":s.value?`true`:`false`,"aria-haspopup":`true`,"aria-controls":l.value,"aria-label":t.toggleAriaLabel||o.$q.lang.label[s.value?`collapse`:`expand`](t.label)};return(t.disable||!t.split&&t.disableMainBtn||t.disableDropdown)&&(e[`aria-disabled`]=`true`),e}),d=j(()=>`q-btn-dropdown__arrow`+(s.value&&!t.noIconAnimation?` rotate-180`:``)+(t.split?``:` q-btn-dropdown__arrow-container`)),f=j(()=>_e(t)),p=j(()=>bn(t));h(()=>t.modelValue,e=>{c.value?.[e?`show`:`hide`]()}),h(()=>t.split,w);function g(e){s.value=!0,i(`beforeShow`,e)}function _(e){i(`show`,e),i(`update:modelValue`,!0)}function v(e){s.value=!1,i(`beforeHide`,e)}function y(e){i(`hide`,e),i(`update:modelValue`,!1)}function b(e){i(`click`,e)}function x(e){oe(e),w(),i(`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(o,{show:C,hide:w,toggle:S}),a(()=>{t.modelValue&&C()}),()=>{let e=[m(B,{class:d.value,name:t.dropdownIcon||o.$q.iconSet.arrow.dropdown})];return t.disableDropdown||e.push(m(Qe,{ref:c,id:l.value,class:t.contentClass,style:t.contentStyle,cover:t.cover,fit:!0,persistent:t.persistent,noEscDismiss:t.noEscDismiss,noRouteDismiss:t.noRouteDismiss,autoClose:t.autoClose,noFocus:t.noFocus,noRefocus:t.noRefocus,anchor:t.menuAnchor,self:t.menuSelf,offset:t.menuOffset,separateClosePopup:!0,transitionShow:t.transitionShow,transitionHide:t.transitionHide,transitionDuration:t.transitionDuration,onBeforeShow:g,onShow:_,onBeforeHide:v,onHide:y},n.default)),t.split?m(pt,{class:`q-btn-dropdown q-btn-dropdown--split no-wrap q-btn-item`,rounded:t.rounded,square:t.square,...f.value,glossy:t.glossy,stretch:t.stretch},()=>[m(H,{class:`q-btn-dropdown--current`,...p.value,disable:t.disable||t.disableMainBtn,noWrap:!0,round:!1,onClick:x},{default:n.label,loading:n.loading}),m(H,{class:`q-btn-dropdown__arrow-container q-anchor--skip`,...u.value,...f.value,disable:t.disable||t.disableDropdown,rounded:t.rounded,color:t.color,textColor:t.textColor,dense:t.dense,size:t.size,padding:t.padding,ripple:t.ripple},()=>e)]):m(H,{class:`q-btn-dropdown q-btn-dropdown--simple`,...p.value,...u.value,disable:t.disable||t.disableMainBtn,noWrap:!0,round:!1,onClick:b},{default:()=>ue(n.label,[]).concat(e),loading:n.loading})}}}),Sn={class:`text-h6`},Cn={class:`text-body2 text-grey-5 q-mt-xs`},wn={key:0,class:`text-caption text-grey-6 row items-center`},Tn={key:1,class:`row items-center q-gutter-sm`},En={class:`text-caption text-negative`},Dn={key:2,class:`text-caption text-grey-6`},On={key:3},kn=[`onClick`],An={class:`commit-sha text-grey-5`},jn={class:`commit-subject text-grey-4 ellipsis q-ml-sm`},Mn={class:`text-caption`},Nn={class:`text-grey-5 q-mt-xs`},Pn={key:0,class:`text-caption text-grey-6 row items-center`},Fn={key:1,class:`row items-center q-gutter-sm`},In={class:`text-caption text-negative`},Ln={key:2,class:`text-caption text-grey-6`},Rn={key:3},zn=[`onClick`],Bn={class:`commit-sha text-grey-5`},Vn={class:`commit-subject text-grey-4 ellipsis q-ml-sm`},Hn={class:`text-caption`},Un={class:`text-grey-5 q-mt-xs`},Wn=lt(p({__name:`BranchDivergenceDialog`,props:{modelValue:{type:Boolean},workspaceId:{},initialTab:{},aheadCount:{},behindCount:{},sourceBranch:{},workingBranch:{}},emits:[`update:modelValue`,`append-sha`],setup(t,{emit:r}){let i=t,a=r,{t:o}=be(),s=Ae(),c=e(i.initialTab),u=e([]),d=e([]),p=e(!1),m=e(null),g=null;async function v(){g?.abort();let e=new AbortController;g=e,p.value=!0,m.value=null;try{let t=await s.fetchBranchDivergence(i.workspaceId,{signal:e.signal});if(e.signal.aborted)return;u.value=t.ahead,d.value=t.behind}catch(e){if(e?.name===`AbortError`)return;m.value=o(`git.divergence.failed`)}finally{g===e&&(g=null),p.value=!1}}function b(){v()}h(()=>i.modelValue,e=>{e?(c.value=i.initialTab,v()):(g?.abort(),u.value=[],d.value=[],m.value=null)});function x(e){a(`append-sha`,e)}function T(){a(`update:modelValue`,!1)}function D(e){try{return new Date(e).toLocaleDateString()}catch{return e}}return l(()=>{g?.abort()}),(e,r)=>(f(),E(xe,{"model-value":t.modelValue,"onUpdate:modelValue":r[2]||=e=>a(`update:modelValue`,e)},{default:_(()=>[S(ke,{style:{"min-width":`600px`,"max-width":`90vw`},dark:``},{default:_(()=>[S(V,{class:`q-pb-none`},{default:_(()=>[k(`div`,Sn,w(e.$t(`git.divergence.title`)),1),k(`div`,Cn,w(e.$t(`git.divergence.subtitle`,{source:t.sourceBranch})),1)]),_:1}),S(Ut,{modelValue:c.value,"onUpdate:modelValue":r[0]||=e=>c.value=e,dense:``,align:`left`,"inline-label":``,class:`q-mt-sm`,"indicator-color":`indigo-4`},{default:_(()=>[S(zt,{name:`ahead`,label:e.$t(`git.divergence.ahead`,{count:t.aheadCount})},null,8,[`label`]),S(zt,{name:`behind`,label:e.$t(`git.divergence.behind`,{count:t.behindCount})},null,8,[`label`])]),_:1},8,[`modelValue`]),S(he,{dark:``}),S(Gt,{modelValue:c.value,"onUpdate:modelValue":r[1]||=e=>c.value=e,animated:``,style:{"max-height":`60vh`}},{default:_(()=>[S(Wt,{name:`ahead`,class:`q-pa-md`},{default:_(()=>[p.value?(f(),y(`div`,wn,[S(z,{size:`xs`,class:`q-mr-xs`}),P(w(e.$t(`git.divergence.loading`)),1)])):m.value?(f(),y(`div`,Tn,[k(`span`,En,w(m.value),1),S(H,{flat:``,dense:``,"no-caps":``,label:e.$t(`git.divergence.retry`),color:`indigo-4`,onClick:b},null,8,[`label`])])):u.value.length===0?(f(),y(`div`,Dn,w(e.$t(`git.divergence.empty.ahead`)),1)):(f(),y(`div`,On,[(f(!0),y(C,null,n(u.value,e=>(f(),y(`div`,{key:e.sha,class:`commit-item row no-wrap items-center cursor-pointer q-py-xs`,onClick:t=>x(e.sha)},[S(B,{name:e.isPushed?`cloud_done`:`cloud_upload`,size:`12px`,color:e.isPushed?`grey-6`:`orange-5`,class:`q-mr-xs`},null,8,[`name`,`color`]),k(`span`,An,w(e.shortSha),1),k(`span`,jn,w(e.subject),1),S(K,{anchor:`top middle`,self:`bottom middle`},{default:_(()=>[k(`div`,Mn,[k(`div`,null,[k(`code`,null,w(e.sha),1)]),k(`div`,Nn,w(e.author)+` · `+w(D(e.date)),1)])]),_:2},1024)],8,kn))),128))]))]),_:1}),S(Wt,{name:`behind`,class:`q-pa-md`},{default:_(()=>[p.value?(f(),y(`div`,Pn,[S(z,{size:`xs`,class:`q-mr-xs`}),P(w(e.$t(`git.divergence.loading`)),1)])):m.value?(f(),y(`div`,Fn,[k(`span`,In,w(m.value),1),S(H,{flat:``,dense:``,"no-caps":``,label:e.$t(`git.divergence.retry`),color:`indigo-4`,onClick:b},null,8,[`label`])])):d.value.length===0?(f(),y(`div`,Ln,w(e.$t(`git.divergence.empty.behind`)),1)):(f(),y(`div`,Rn,[(f(!0),y(C,null,n(d.value,e=>(f(),y(`div`,{key:e.sha,class:`commit-item row no-wrap items-center cursor-pointer q-py-xs`,onClick:t=>x(e.sha)},[k(`span`,Bn,w(e.shortSha),1),k(`span`,Vn,w(e.subject),1),S(K,{anchor:`top middle`,self:`bottom middle`},{default:_(()=>[k(`div`,Hn,[k(`div`,null,[k(`code`,null,w(e.sha),1)]),k(`div`,Un,w(e.author)+` · `+w(D(e.date)),1)])]),_:2},1024)],8,zn))),128))]))]),_:1})]),_:1},8,[`modelValue`]),S(Ce,{align:`right`,class:`q-pa-md`},{default:_(()=>[S(H,{flat:``,"no-caps":``,label:e.$t(`git.divergence.close`),color:`grey-5`,onClick:T},null,8,[`label`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),[[`__scopeId`,`data-v-fd1cc184`]]);function Gn(e){let t=[],n=[],r=[],i=[];for(let a of e){if(a.status!==`COMPLETED`){n.push(a);continue}a.conclusion===`FAILURE`||a.conclusion===`CANCELLED`||a.conclusion===`TIMED_OUT`?t.push(a):a.conclusion===`SUCCESS`?r.push(a):i.push(a)}let a=(e,t)=>e.name.localeCompare(t.name);return t.sort(a),n.sort(a),r.sort(a),i.sort(a),{failed:t,pending:n,passed:r,skipped:i}}function Kn(e){let t=e.replace(/^#/,``);if(!/^[0-9a-fA-F]{6}$/.test(t))return`#ffffff`;let n=Number.parseInt(t.slice(0,2),16)/255,r=Number.parseInt(t.slice(2,4),16)/255,i=Number.parseInt(t.slice(4,6),16)/255,a=e=>e<=.03928?e/12.92:((e+.055)/1.055)**2.4;return .2126*a(n)+.7152*a(r)+.0722*a(i)<.5?`#ffffff`:`#1a1a1a`}var qn={class:`pr-panel`},Jn={class:`pr-panel__header row items-center q-gutter-xs`},Yn=[`href`],Xn={class:`pr-panel__title col ellipsis`},Zn={class:`pr-panel__grid`},Qn={class:`pr-panel__label`},$n={class:`pr-panel__value`},er={class:`pr-panel__label`},tr={class:`pr-panel__value pr-panel__reviewers`},nr={class:`pr-panel__label`},rr={class:`pr-panel__value`},ir={class:`pr-panel__label`},ar={class:`pr-panel__value`},or={key:0,class:`pr-panel__ci`},sr={class:`row items-center q-gutter-sm pr-panel__ci-summary`},cr={class:`pr-panel__ci-label`},lr={class:`row items-center q-gutter-sm pr-panel__ci-counts`},ur={key:0,class:`pr-panel__ci-count pr-panel__ci-count--failed`},dr={key:1,class:`pr-panel__ci-count pr-panel__ci-count--pending`},fr={key:2,class:`pr-panel__ci-count pr-panel__ci-count--passed`},pr={key:3,class:`pr-panel__ci-count pr-panel__ci-count--skipped`},mr={key:0,class:`pr-panel__ci-list q-mt-sm`},hr={class:`ellipsis`},gr={key:1,class:`pr-panel__ci-list q-mt-xs`},_r={class:`ellipsis`},vr={key:2,class:`q-mt-xs`},yr={key:0,class:`pr-panel__ci-list q-mt-xs`},br={class:`ellipsis`},xr={class:`ellipsis`},Sr=lt(p({__name:`PrPanel`,props:{snapshot:{}},setup(t){let r=t,{t:i}=be(),a=e(!1);function o(e){switch(e){case`APPROVED`:return`#4ade80`;case`CHANGES_REQUESTED`:return`#ef4444`;case`COMMENTED`:return`#f59e0b`;default:return`#6b7280`}}let c=j(()=>Gn(r.snapshot.ci.checks)),l=j(()=>{switch(r.snapshot.ci.rollup){case`SUCCESS`:return`check_circle`;case`FAILURE`:return`cancel`;case`PENDING`:return`hourglass_top`;default:return`help`}}),u=j(()=>{switch(r.snapshot.ci.rollup){case`SUCCESS`:return`green-4`;case`FAILURE`:return`red-4`;case`PENDING`:return`amber-4`;default:return`grey-5`}}),d=j(()=>{switch(r.snapshot.ci.rollup){case`SUCCESS`:return i(`git.pr.ci.passed`);case`FAILURE`:return i(`git.pr.ci.failed`);case`PENDING`:return i(`git.pr.ci.pending`);default:return``}});return(e,r)=>(f(),y(`div`,qn,[k(`div`,Jn,[S(ft,{dense:``,square:``,color:t.snapshot.state===`OPEN`?`green-9`:`grey-9`,"text-color":t.snapshot.state===`OPEN`?`green-3`:`grey-3`,label:t.snapshot.state,class:`pr-panel__state`},null,8,[`color`,`text-color`,`label`]),k(`a`,{href:t.snapshot.url,target:`_blank`,rel:`noopener`,class:`pr-panel__number`},`#`+w(t.snapshot.number),9,Yn),k(`span`,Xn,w(t.snapshot.title),1),t.snapshot.title.length>60?(f(),E(K,{key:0,anchor:`bottom middle`,self:`top middle`},{default:_(()=>[P(w(t.snapshot.title),1)]),_:1})):T(``,!0),D(Re)(t.snapshot)?(f(),E(ft,{key:1,dense:``,square:``,color:`red-9`,"text-color":`red-3`,icon:`rate_review`,label:e.$t(`git.pr.changesRequestedBadge`),class:`pr-panel__badge`},null,8,[`label`])):t.snapshot.reviewDecision===`APPROVED`?(f(),E(ft,{key:2,dense:``,square:``,color:`green-9`,"text-color":`green-3`,icon:`check`,label:e.$t(`git.pr.approvedBadge`),class:`pr-panel__badge`},null,8,[`label`])):T(``,!0)]),k(`div`,Zn,[k(`span`,Qn,w(e.$t(`git.pr.author`)),1),k(`span`,$n,`@`+w(t.snapshot.author.login),1),t.snapshot.reviewers.length>0?(f(),y(C,{key:0},[k(`span`,er,w(e.$t(`git.pr.reviewers`)),1),k(`span`,tr,[(f(!0),y(C,null,n(t.snapshot.reviewers,e=>(f(),y(`span`,{key:e.login,class:`pr-panel__reviewer`},[k(`span`,{class:`pr-panel__dot`,style:N({backgroundColor:o(e.state)})},null,4),k(`span`,null,`@`+w(e.login),1),S(K,null,{default:_(()=>[P(w(e.login)+` — `+w(e.state.toLowerCase()),1)]),_:2},1024)]))),128))])],64)):T(``,!0),t.snapshot.assignees.length>0?(f(),y(C,{key:1},[k(`span`,nr,w(e.$t(`git.pr.assignees`)),1),k(`span`,rr,w(t.snapshot.assignees.map(e=>`@`+e.login).join(`, `)),1)],64)):T(``,!0),t.snapshot.labels.length>0?(f(),y(C,{key:2},[k(`span`,ir,w(e.$t(`git.pr.labels`)),1),k(`span`,ar,[(f(!0),y(C,null,n(t.snapshot.labels,e=>(f(),E(ft,{key:e.name,dense:``,square:``,style:N({backgroundColor:`#`+e.color,color:D(Kn)(e.color)}),class:`pr-panel__label-chip`,label:e.name},null,8,[`style`,`label`]))),128))])],64)):T(``,!0)]),t.snapshot.ci.rollup===null?T(``,!0):(f(),y(`div`,or,[k(`div`,sr,[S(B,{name:l.value,color:u.value,size:`16px`},null,8,[`name`,`color`]),k(`span`,cr,w(d.value),1),k(`div`,lr,[c.value.failed.length>0?(f(),y(`span`,ur,[S(B,{name:`cancel`,size:`12px`}),k(`span`,null,w(e.$t(`git.pr.ci.failedCount`,{n:c.value.failed.length})),1)])):T(``,!0),c.value.pending.length>0?(f(),y(`span`,dr,[S(B,{name:`hourglass_top`,size:`12px`}),k(`span`,null,w(e.$t(`git.pr.ci.pendingCount`,{n:c.value.pending.length})),1)])):T(``,!0),c.value.passed.length>0?(f(),y(`span`,fr,[S(B,{name:`check_circle`,size:`12px`}),k(`span`,null,w(e.$t(`git.pr.ci.passedCount`,{n:c.value.passed.length})),1)])):T(``,!0),c.value.skipped.length>0?(f(),y(`span`,pr,[S(B,{name:`remove_circle_outline`,size:`12px`}),k(`span`,null,w(e.$t(`git.pr.ci.skippedCount`,{n:c.value.skipped.length})),1)])):T(``,!0)])]),c.value.failed.length>0?(f(),y(`div`,mr,[(f(!0),y(C,null,n(c.value.failed,e=>(f(),E(s(e.detailsUrl?`a`:`div`),{key:`f-${e.name}-${e.detailsUrl??``}`,href:e.detailsUrl??void 0,target:`_blank`,rel:`noopener`,class:`pr-panel__ci-item pr-panel__ci-item--failed`},{default:_(()=>[S(B,{name:`cancel`,size:`14px`}),k(`span`,hr,w(e.name),1)]),_:2},1032,[`href`]))),128))])):T(``,!0),c.value.pending.length>0?(f(),y(`div`,gr,[(f(!0),y(C,null,n(c.value.pending,e=>(f(),E(s(e.detailsUrl?`a`:`div`),{key:`p-${e.name}-${e.detailsUrl??``}`,href:e.detailsUrl??void 0,target:`_blank`,rel:`noopener`,class:`pr-panel__ci-item pr-panel__ci-item--pending`},{default:_(()=>[S(B,{name:`hourglass_top`,size:`14px`}),k(`span`,_r,w(e.name),1)]),_:2},1032,[`href`]))),128))])):T(``,!0),c.value.passed.length+c.value.skipped.length>0?(f(),y(`div`,vr,[S(H,{dense:``,flat:``,"no-caps":``,size:`sm`,icon:a.value?`expand_less`:`expand_more`,label:a.value?e.$t(`git.pr.ci.hidePassed`):e.$t(`git.pr.ci.showPassed`,{n:c.value.passed.length+c.value.skipped.length}),class:`pr-panel__ci-toggle`,onClick:r[0]||=e=>a.value=!a.value},null,8,[`icon`,`label`]),a.value?(f(),y(`div`,yr,[(f(!0),y(C,null,n(c.value.passed,e=>(f(),E(s(e.detailsUrl?`a`:`div`),{key:`s-${e.name}-${e.detailsUrl??``}`,href:e.detailsUrl??void 0,target:`_blank`,rel:`noopener`,class:`pr-panel__ci-item pr-panel__ci-item--passed`},{default:_(()=>[S(B,{name:`check_circle`,size:`14px`}),k(`span`,br,w(e.name),1)]),_:2},1032,[`href`]))),128)),(f(!0),y(C,null,n(c.value.skipped,e=>(f(),E(s(e.detailsUrl?`a`:`div`),{key:`k-${e.name}-${e.detailsUrl??``}`,href:e.detailsUrl??void 0,target:`_blank`,rel:`noopener`,class:`pr-panel__ci-item pr-panel__ci-item--skipped`},{default:_(()=>[S(B,{name:`remove_circle_outline`,size:`14px`}),k(`span`,xr,w(e.name),1)]),_:2},1032,[`href`]))),128))])):T(``,!0)])):T(``,!0)]))]))}}),[[`__scopeId`,`data-v-1ccf3b5b`]]),Cr={class:`text-subtitle1 text-grey-3`},wr=p({__name:`CompareCommitsDialog`,props:{modelValue:{type:Boolean},commits:{},sourceBranch:{}},emits:[`update:modelValue`,`compare`,`close`],setup(t,{emit:n}){let r=t,i=n,{t:a}=be(),o=j({get:()=>r.modelValue,set:e=>i(`update:modelValue`,e)}),s=j(()=>r.commits.map(e=>({label:`${e.shortSha} ${e.subject}`,value:e.sha}))),c=j(()=>({label:a(`diff.compareSourceBase`,{branch:r.sourceBranch}),value:`origin/${r.sourceBranch}`})),l=j(()=>[...s.value,c.value]),u=j(()=>s.value),d=e(``),p=e(``);h(()=>r.modelValue,e=>{e&&(d.value=c.value.value,p.value=r.commits[0]?.sha??``)});function m(){!d.value||!p.value||d.value===p.value||(i(`compare`,{from:d.value,to:p.value}),o.value=!1)}return(e,t)=>(f(),E(xe,{modelValue:o.value,"onUpdate:modelValue":t[3]||=e=>o.value=e,onHide:t[4]||=t=>e.$emit(`close`)},{default:_(()=>[S(ke,{dark:``,style:{"min-width":`460px`,"max-width":`640px`}},{default:_(()=>[S(V,null,{default:_(()=>[k(`div`,Cr,w(e.$t(`diff.compareTitle`)),1)]),_:1}),S(V,{class:`q-gutter-md`},{default:_(()=>[S(et,{modelValue:d.value,"onUpdate:modelValue":t[0]||=e=>d.value=e,dark:``,dense:``,"options-dense":``,"emit-value":``,"map-options":``,options:l.value,label:e.$t(`diff.compareFrom`)},null,8,[`modelValue`,`options`,`label`]),S(et,{modelValue:p.value,"onUpdate:modelValue":t[1]||=e=>p.value=e,dark:``,dense:``,"options-dense":``,"emit-value":``,"map-options":``,options:u.value,label:e.$t(`diff.compareTo`)},null,8,[`modelValue`,`options`,`label`])]),_:1}),S(Ce,{align:`right`},{default:_(()=>[S(H,{flat:``,"no-caps":``,label:e.$t(`common.cancel`),color:`grey-5`,onClick:t[2]||=e=>o.value=!1},null,8,[`label`]),S(H,{unelevated:``,"no-caps":``,color:`primary`,label:e.$t(`diff.compareSubmit`),disable:!d.value||!p.value||d.value===p.value,onClick:m},null,8,[`label`,`disable`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]))}}),Tr={class:`git-panel q-px-sm q-py-md`},Er={class:`row items-center justify-between q-mb-sm`},Dr={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},Or={key:0,class:`row items-center justify-center q-py-xl`},kr={class:`git-subcard`},Ar={class:`git-subcard-title`},jr={class:`row items-center q-mb-xs`},Mr={class:`text-caption text-grey-3`},Nr={class:`row items-center q-mb-xs`},Pr={class:`text-caption text-grey-4`,style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},Fr={class:`text-caption text-grey-8`,style:{"font-size":`11px`}},Ir={key:3},Lr={key:4,style:{color:`#4ade80`}},Rr={key:5,style:{color:`#f59e0b`}},zr={key:0,class:`git-subcard`},Br={class:`git-subcard-title`},Vr={class:`row items-center`,style:{"font-size":`11px`,gap:`14px`,"flex-wrap":`wrap`}},Hr={class:`text-grey-4`},Ur={key:1,class:`row items-center`},Wr={class:`text-grey-4`},Gr={key:2,class:`row items-center`},Kr={class:`text-grey-4`},qr={key:0,class:`q-ml-xs`,style:{color:`#4ade80`}},Jr={key:1,class:`q-ml-xs`,style:{color:`#f87171`}},Yr={key:0,style:{color:`#4ade80`}},Xr={key:1,class:`q-ml-xs`,style:{color:`#f59e0b`}},Zr={key:2,class:`q-ml-xs text-grey-6`},Qr={key:0,class:`commit-list q-mt-sm`},$r={key:0,class:`row justify-end q-mb-xs`},ei={key:1,class:`text-caption text-grey-6 q-pa-xs`},ti={key:2,class:`text-caption text-grey-7 q-pa-xs`},ni=[`onClick`],ri={class:`commit-sha text-grey-5`},ii={class:`commit-subject text-grey-4 ellipsis q-ml-sm`},ai={class:`text-caption`},oi={class:`text-grey-5 q-mt-xs`},si={class:`text-grey-6 q-mt-xs`,style:{"font-style":`italic`}},ci={key:1,class:`commit-list q-mt-sm`},li={key:0,class:`text-caption text-grey-6 q-pa-xs`},ui={key:1,class:`text-caption text-grey-7 q-pa-xs`},di={key:0,style:{color:`#4ade80`},class:`q-mr-xs`},fi={key:1,style:{color:`#f59e0b`},class:`q-mr-xs`},pi={key:2,class:`text-grey-6 q-mr-xs`},mi={class:`commit-subject text-grey-4 ellipsis`,style:{"font-family":`'Roboto Mono', monospace`}},hi={key:1,class:`git-subcard`},gi={class:`git-subcard-title`},_i={class:`row no-wrap items-stretch q-gutter-xs`},vi={key:0,class:`col`},yi={key:1,class:`col`},bi={class:`col`},xi={key:2,class:`col-auto`},Si={key:2,class:`git-subcard`},Ci={class:`git-subcard-title`},wi={key:1,class:`text-caption text-grey-8`},Ti={class:`text-subtitle1`},Ei={class:`text-body2 text-grey-5 q-mt-sm`},Di={class:`git-branch-code`},Oi={class:`text-caption text-grey-6 q-mt-xs`,style:{"padding-left":`46px`}},ki={class:`text-subtitle1`},Ai={class:`text-caption text-grey-6 q-mt-xs`},ji={class:`text-subtitle1 text-warning`},Mi={class:`text-caption text-grey-6 q-mt-xs`},Ni={class:`text-caption text-mono`},Pi={class:`text-subtitle1 text-warning`},Fi={class:`text-caption text-grey-6 q-mt-xs`},Ii={class:`text-subtitle1 text-negative`},Li={class:`text-caption text-grey-6 q-mt-xs`},Ri={class:`text-body2 text-grey-3`,style:{"white-space":`pre-wrap`,"word-break":`break-word`}},zi=lt(p({__name:`GitPanel`,props:{workspace:{}},setup(t){let r=ee(()=>Oe(()=>import(`./DiffViewer-DiV6QEdI.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]))),i=t,{t:s}=be(),c=Ze(),u=Ae(),d=Je(),p=j(()=>!!i.workspace?.archivedAt),m=j(()=>i.workspace?((d.getProjectByPath(i.workspace.projectPath)?.changeSourceBranchScript??``).trim()||(d.global.changeSourceBranchScript??``).trim()).length>0:!1),g=e(!1),v=e(!1),b=e(!1),x=e(!1),O=e(!1),N=e(!1),te=e(!1),ne=e(!1),F=e(!1),I=e(!1),L=e(``),re=e(!1),ie=e(!1),ae=e(!1),R=e(!1),oe=e(void 0),se=e(void 0);function ce(e){oe.value=void 0,se.value=void 0,ae.value=e,F.value=!0}function le(e){let t=e.detail;t?.workspaceId!==i.workspace?.id||!t.path||(oe.value=void 0,se.value=void 0,ae.value=!1,F.value=!0)}function ue(e,t){oe.value=e,se.value=t,ae.value=!1,F.value=!0}function de(e){ue(e.from,e.to)}let fe=e(!1),pe=e(!1),me=e(!1),he=e([]);async function _e(){if(i.workspace){me.value=!0;try{let e=await fetch(`/api/workspaces/${i.workspace.id}/commits?limit=50`,{cache:`no-store`});if(!e.ok)throw Error(`HTTP ${e.status}`);he.value=(await e.json()).commits}catch(e){console.error(`[GitPanel] fetchCommits failed:`,e),he.value=[]}finally{me.value=!1}}}async function ve(){pe.value=!pe.value,pe.value&&(me.value=!0,await _e())}let ye=e(!1),Se=e(!1),we=e([]);async function Te(){if(i.workspace){Se.value=!0;try{let e=await fetch(`/api/workspaces/${i.workspace.id}/working-tree-files`,{cache:`no-store`});if(!e.ok)throw Error(`HTTP ${e.status}`);we.value=(await e.json()).files}catch(e){console.error(`[GitPanel] fetchWorkingTreeFiles failed:`,e),we.value=[]}finally{Se.value=!1}}}function Ee(){ye.value=!ye.value,ye.value&&Te()}function De(e){u.chatDraft=e}function je(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`})}let Me=e(!1),Ne=e(null),Pe=e([]),Fe=e(!1),Ie=e(!1),Le=e(!1),Re=e(null),ze=e(null),Ve=e(!1),He=e(!1),Ue=e(``),We=e(!1),Ge=e(``),Ke=e(null),Ye=e(!1);function Xe(e,t){Ge.value=e,Ke.value=t,We.value=!0}async function $e(){if(i.workspace){Ye.value=!0;try{let e=await fetch(`/api/workspaces/${i.workspace.id}/git/abort`,{method:`POST`});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error??`Abort failed`)}c.notify({type:`positive`,message:s(`git.conflictAborted`),position:`top`}),We.value=!1,vt()}catch(e){let t=e instanceof Error?e.message:`Abort failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{Ye.value=!1}}}function et(e){u.chatDraft=e,F.value=!1}let G=e(null),tt=e(!1),nt=j(()=>{if(!i.workspace?.projectPath)return`-`;let e=i.workspace.projectPath.replace(/\\/g,`/`).split(`/`);return e[e.length-1]||e[e.length-2]||`-`}),rt=j(()=>{let e=i.workspace?.id;if(e)return u.prSnapshots[e]}),it={id:`none`,capabilities:{canCreatePr:!1,canChangePrBase:!1,canMergeRequest:!1,canDeleteRemoteBranch:!1,requestTermShort:`PR`},availability:{available:!1}},at=j(()=>G.value?.forge??it),ot=j(()=>at.value.id===`gitlab`?`glab`:at.value.id===`bitbucket-community`?`bkt`:`gh`),st=j(()=>!(!G.value||at.value.id===`none`||!at.value.availability.available||G.value.unpushedCount===-1)),ct=j(()=>!!(G.value?.prUrl&&G.value.prState===`OPEN`&&rt.value?.readyToMerge&&at.value.capabilities.canMergeRequest&&at.value.availability.available)),lt=j(()=>{let e=G.value?.workingTree;return e?e.staged+e.modified+e.untracked>0:!1}),ut=j(()=>{if(!G.value)return``;if(G.value.unpushedCount===-1)return s(`git.createPrNoRemote`);if(!at.value.availability.available){let e=at.value.availability.reason;return e===`cli_missing`?s(`git.forgeCliMissing`,{cli:ot.value,request:at.value.capabilities.requestTermShort}):e===`not_authenticated`?s(`git.forgeNotAuthenticated`,{cli:ot.value}):s(`git.forgeCliMissing`,{cli:ot.value,request:at.value.capabilities.requestTermShort})}return``}),dt=j(()=>i.workspace?.worktreeOwned!==!1),ft=j(()=>{if(!i.workspace)return!1;let e=!!(G.value?.prUrl&&G.value.prState===`OPEN`);return dt.value||e||m.value}),pt=e(!1),ht=e(`ahead`);function gt(e){ht.value=e,pt.value=!0}let _t=null;async function vt(e={}){if(!i.workspace){G.value=null;return}_t?.abort();let t=new AbortController;_t=t;let n=i.workspace.id;tt.value=!0;try{let r=await u.fetchGitStats(n,{freshFetch:e.freshFetch,signal:t.signal});if(t.signal.aborted||i.workspace?.id!==n)return;G.value=r}catch(e){if(e?.name===`AbortError`)return;G.value=null}finally{_t===t&&(_t=null),tt.value=!1}}async function yt(){let e=i.workspace?.id;e&&await Promise.allSettled([vt({freshFetch:!0}),u.refreshPrSnapshot(e)])}let bt=null;h(()=>i.workspace?.id,(e,t)=>{_t?.abort(),bt&&=(clearTimeout(bt),null),e!==t&&(G.value=null,he.value=[],pe.value=!1,ye.value=!1,we.value=[],Se.value=!1),e&&vt({freshFetch:!0})},{immediate:!0}),h(()=>u.gitRefreshTrigger,()=>{bt&&clearTimeout(bt),bt=setTimeout(()=>vt(),3e3)}),h(()=>{let e=i.workspace?.id;return e?u.gitStatsCache[e]:null},e=>{e&&(tt.value||(G.value=e))}),l(()=>{window.removeEventListener(`kobo:select-diff`,le),bt&&=(clearTimeout(bt),null),_t?.abort()}),a(()=>{window.addEventListener(`kobo:select-diff`,le)});function xt(){let e=i.workspace;e&&c.dialog({title:s(`git.renameBranch`),message:s(`git.renameBranchPrompt`,{branch:e.workingBranch}),prompt:{model:e.workingBranch,type:`text`},dark:!0,cancel:{flat:!0,label:s(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:s(`git.renameBranch`),color:`indigo-4`}}).onOk(async t=>{let n=(t??``).trim();if(!(!n||n===e.workingBranch)){fe.value=!0;try{await u.renameWorkspaceBranch(e.id,n),c.notify({type:`positive`,message:s(`git.renameBranchSuccess`,{branch:n}),position:`top`}),vt()}catch(e){let t=e instanceof qe&&e.code===`branch_exists`?s(`git.renameBranchExists`,{branch:n}):e instanceof Error?e.message:s(`git.renameBranchFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{fe.value=!1}}})}function St(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`)}async function Ct(e){if(i.workspace){b.value=!0;try{let t=e?.autostash?`?autostash=1`:``,n=await fetch(`/api/workspaces/${i.workspace.id}/rebase${t}`,{method:`POST`});if(n.status===409){let e=await n.json();if(e.code===`dirty_worktree`){Ot(`rebase`,e.status);return}Dt(`rebase`,Array.isArray(e.files)?e.files:[]);return}if(!n.ok){let e=await n.json();throw Error(e.error??`Rebase failed`)}c.notify({type:`positive`,message:s(`git.rebaseSuccess`),position:`top`}),vt()}catch(e){let t=e instanceof Error?e.message:s(`git.rebaseFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{b.value=!1}}}function wt(){i.workspace&&c.dialog({title:s(`git.rebaseConfirmTitle`),message:s(`git.rebaseConfirmMessage`,{branch:`<code class="git-branch-code">${St(i.workspace.sourceBranch)}</code>`}),html:!0,dark:!0,cancel:{flat:!0,label:s(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:s(`git.rebase`),color:`orange-4`}}).onOk(()=>{Ct()})}async function Tt(e){if(i.workspace){x.value=!0;try{let t=e?.autostash?`?autostash=1`:``,n=await fetch(`/api/workspaces/${i.workspace.id}/merge${t}`,{method:`POST`});if(n.status===409){let e=await n.json();if(e.code===`dirty_worktree`){Ot(`merge`,e.status);return}Dt(`merge`,Array.isArray(e.files)?e.files:[]);return}if(!n.ok){let e=await n.json();throw Error(e.error??`Merge failed`)}c.notify({type:`positive`,message:s(`git.mergeSuccess`),position:`top`}),vt()}catch(e){let t=e instanceof Error?e.message:s(`git.mergeFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{x.value=!1}}}function Et(){i.workspace&&c.dialog({title:s(`git.mergeConfirmTitle`),message:s(`git.mergeConfirmMessage`,{branch:`<code class="git-branch-code">${St(i.workspace.sourceBranch)}</code>`}),html:!0,dark:!0,cancel:{flat:!0,label:s(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:s(`git.merge`),color:`purple-4`}}).onOk(()=>{Tt()})}function Dt(e,t){Ne.value=e,Pe.value=t,Me.value=!0}function Ot(e,t){Re.value=e,ze.value=t,He.value=!1,Ue.value=``,Ve.value=!1,Le.value=!0}async function kt(){if(!(!i.workspace||!L.value.trim())){re.value=!0;try{let e=await fetch(`/api/workspaces/${i.workspace.id}/git/commit-all`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({message:L.value.trim()})});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error??s(`git.commitFailed`))}I.value=!1,L.value=``,await vt({freshFetch:!0})}catch(e){c.notify({type:`negative`,message:e instanceof Error?e.message:s(`git.commitFailed`),position:`top`,timeout:6e3})}finally{re.value=!1}}}async function At(){if(i.workspace){ie.value=!0;try{let e=await fetch(`/api/workspaces/${i.workspace.id}/git/commit-with-agent`,{method:`POST`});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error??s(`git.commitFailed`))}I.value=!1,c.notify({type:`positive`,message:s(`git.commitAgentSuccess`),position:`top`})}catch(e){c.notify({type:`negative`,message:e instanceof Error?e.message:s(`git.commitFailed`),position:`top`,timeout:6e3})}finally{ie.value=!1}}}function jt(e){let t=Re.value;Le.value=!1,t===`rebase`?Ct(e):t===`merge`?Tt(e):t===`pull`&&Vt(e)}function Mt(){jt({autostash:!0})}async function Nt(){if(!(!i.workspace||!Ue.value.trim())){Ve.value=!0;try{let e=await fetch(`/api/workspaces/${i.workspace.id}/git/commit-all`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({message:Ue.value.trim()})});if(!e.ok){let t=await e.json();throw Error(t.error??s(`git.commitFailed`))}jt()}catch(e){let t=e instanceof Error?e.message:s(`git.commitFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{Ve.value=!1}}}function Pt(){i.workspace&&c.dialog({title:s(`git.dirtyDiscardConfirmTitle`),message:s(`git.dirtyDiscardConfirmMessage`),dark:!0,cancel:{flat:!0,label:s(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:s(`git.dirtyDiscard`),color:`red-4`}}).onOk(async()=>{Ve.value=!0;try{let e=await fetch(`/api/workspaces/${i.workspace.id}/git/discard`,{method:`POST`});if(!e.ok){let t=await e.json();throw Error(t.error??s(`git.discardFailed`))}jt()}catch(e){let t=e instanceof Error?e.message:s(`git.discardFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{Ve.value=!1}})}async function Ft(){if(i.workspace){Fe.value=!0;try{let e=await fetch(`/api/workspaces/${i.workspace.id}/git/abort`,{method:`POST`});if(!e.ok){let t=await e.json();throw Error(t.error??`Abort failed`)}c.notify({type:`positive`,message:s(`git.conflictAborted`),position:`top`}),Me.value=!1,vt()}catch(e){let t=e instanceof Error?e.message:`Abort failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{Fe.value=!1}}}async function It(){if(!(!i.workspace||!Ne.value)){Ie.value=!0;try{let e=await fetch(`/api/workspaces/${i.workspace.id}/git/resolve-with-agent`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({operation:Ne.value,files:Pe.value})});if(!e.ok){let t=await e.json();throw Error(t.error??`Handoff failed`)}c.notify({type:`positive`,message:s(`git.conflictHandoffSuccess`),position:`top`}),Me.value=!1}catch(e){let t=e instanceof Error?e.message:`Handoff failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{Ie.value=!1}}}let Lt=e(!1),Rt=e(!1);function zt(){i.workspace&&(Rt.value=!1,Lt.value=!0)}async function Bt(){if(!i.workspace)return;let e=Rt.value;Lt.value=!1,g.value=!0;try{await u.pushBranch(i.workspace.id,{force:e}),c.notify({type:`positive`,message:s(e?`git.branchForcePushed`:`git.branchPushed`),position:`top`}),vt()}catch(e){let t=e instanceof Error?e.message:`Push failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{g.value=!1}}async function Vt(e){if(i.workspace){v.value=!0;try{let t=e?.autostash?`?autostash=1`:``,n=await fetch(`/api/workspaces/${i.workspace.id}/pull${t}`,{method:`POST`});if(n.status===409){let e=await n.json();if(e.code===`dirty_worktree`){Ot(`pull`,e.status);return}}if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error??s(`git.pullFailed`))}c.notify({type:`positive`,message:s(`git.branchPulled`),position:`top`}),vt()}catch(e){console.error(`[GitPanel] pull failed:`,e);let t=e instanceof Error?e.message:s(`git.pullFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{v.value=!1}}}function Ht(){i.workspace&&c.dialog({title:s(`git.pullConfirmTitle`),message:s(`git.pullConfirmMessage`,{branch:`<code class="git-branch-code">${St(i.workspace.workingBranch)}</code>`}),html:!0,dark:!0,cancel:{flat:!0,label:s(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:s(`git.pull`),color:`grey-5`}}).onOk(()=>{Vt()})}async function Ut(){if(i.workspace){O.value=!0;try{let e=await fetch(`/api/workspaces/${i.workspace.id}/fetch`,{method:`POST`});if(!e.ok){let t=await e.json();throw Error(t.error??`Failed`)}c.notify({type:`positive`,message:s(`git.fetchSuccess`),position:`top`}),vt()}catch(e){let t=e instanceof Error?e.message:String(e);c.notify({type:`negative`,message:s(`git.fetchFailed`,{error:t}),position:`top`})}finally{O.value=!1}}}function Wt(){G.value?.prUrl&&window.open(G.value.prUrl,`_blank`)}function Gt(){i.workspace&&c.dialog({title:s(`git.changePrBaseTitle`),message:s(`git.changePrBaseMessage`,{request:at.value.capabilities.requestTermShort}),prompt:{model:i.workspace.sourceBranch,type:`text`},dark:!0,cancel:{flat:!0,label:s(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:s(`common.save`),color:`primary`}}).onOk(async e=>{if(!(!e.trim()||!i.workspace)){te.value=!0;try{let t=await fetch(`/api/workspaces/${i.workspace.id}/change-pr-base`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({base:e.trim()})});if(!t.ok){let e=await t.json();throw Error(e.error??`Failed`)}c.notify({type:`positive`,message:s(`git.changePrBaseSuccess`,{request:at.value.capabilities.requestTermShort}),position:`top`}),vt()}catch(e){let t=e instanceof Error?e.message:s(`git.changePrBaseFailed`,{request:at.value.capabilities.requestTermShort});c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{te.value=!1}}})}function Kt(){if(!i.workspace||!ct.value)return;let e=at.value.capabilities.requestTermShort;c.dialog({title:s(`git.mergeRequestConfirmTitle`,{request:e}),message:s(`git.mergeRequestConfirmMessage`,{request:e}),dark:!0,cancel:{flat:!0,label:s(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:s(`git.mergeRequest`,{request:e}),color:`deep-orange-5`}}).onOk(async()=>{if(i.workspace){ne.value=!0;try{let t=await fetch(`/api/workspaces/${i.workspace.id}/merge-pr`,{method:`POST`});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error??`Failed`)}let n=await t.json();c.notify({type:`positive`,message:s(`git.mergeRequestSuccess`,{request:e}),position:`top`}),await Promise.allSettled([vt({freshFetch:!0}),u.refreshPrSnapshot(i.workspace.id)]),n.merged&&at.value.capabilities.canDeleteRemoteBranch&&c.dialog({title:s(`git.deleteRemoteBranchTitle`),message:s(`git.deleteRemoteBranchMessage`,{branch:n.branch}),dark:!0,cancel:{flat:!0,label:s(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:s(`git.deleteRemoteBranch`),color:`negative`}}).onOk(()=>void qt(n.branch))}catch(t){let n=t instanceof Error?t.message:s(`git.mergeRequestFailed`,{request:e});c.notify({type:`negative`,message:n,position:`top`,timeout:6e3})}finally{ne.value=!1}}})}async function qt(e){if(i.workspace)try{let t=await fetch(`/api/workspaces/${i.workspace.id}/delete-remote-branch`,{method:`POST`});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error??`Failed`)}c.notify({type:`positive`,message:s(`git.deleteRemoteBranchSuccess`,{branch:e}),position:`top`})}catch(e){c.notify({type:`negative`,message:e instanceof Error?e.message:s(`git.deleteRemoteBranchFailed`),position:`top`})}}let Jt=e(!1);function Yt(){i.workspace&&c.dialog({title:s(`git.changeSourceForcePushTitle`),message:s(`git.changeSourceForcePushMessage`),dark:!0,cancel:{flat:!0,label:s(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:s(`git.forcePush`),color:`primary`}}).onOk(async()=>{if(i.workspace)try{let e=await fetch(`/api/workspaces/${i.workspace.id}/force-push`,{method:`POST`});if(!e.ok){let t=await e.json();throw Error(t.error??`Failed`)}c.notify({type:`positive`,message:s(`git.changeSourceForcePushDone`),position:`top`}),vt()}catch(e){let t=e instanceof Error?e.message:`Failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}})}async function Xt(){i.workspace&&c.dialog({title:s(`git.changeSourceBranchTitle`),message:s(`git.changeSourceBranchMessage`),prompt:{model:``,type:`text`},dark:!0,cancel:{flat:!0,label:s(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:s(`common.save`),color:`primary`}}).onOk(async e=>{if(!e.trim()||!i.workspace)return;Jt.value=!0;let t=c.notify({group:!1,spinner:!0,message:s(`git.changeSourceBranchLoading`),position:`top`,timeout:0});try{let t=await fetch(`/api/workspaces/${i.workspace.id}/change-source-branch`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({newBase:e.trim()})}),n=await t.json();if(!t.ok){let e=n.code===`too_many_commits`?s(`git.changeSourceBranchTooMany`,{n:n.commitCount??0}):n.code===`dirty_worktree`?s(`git.changeSourceBranchDirty`):n.code===`agent_running`?s(`git.changeSourceBranchAgentRunning`):n.error??`Failed`;n.ongoingOperation===`cherry-pick`||n.ongoingOperation===`merge`||n.ongoingOperation===`rebase`?Xe(e,n.ongoingOperation):c.notify({type:`negative`,message:e,position:`top`,timeout:6e3});return}if(i.workspace&&u.updateWorkspaceFromEvent(i.workspace.id,{sourceBranch:e.trim()}),n.status===`conflict`)Dt(`cherry-pick`,[]);else{let t=n.status===`aligned`?`git.changeSourceBranchAligned`:`git.changeSourceBranchDone`;c.notify({type:`positive`,message:s(t,{branch:e.trim()}),position:`top`}),n.forcePushNeeded&&Yt()}}catch(e){let t=e instanceof Error?e.message:`Failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{t(),Jt.value=!1,vt()}})}async function Zt(){if(i.workspace){N.value=!0;try{let e=await u.openPullRequest(i.workspace.id);c.notify({type:`positive`,message:s(`git.prCreated`,{n:e.prNumber,request:at.value.capabilities.requestTermShort}),caption:e.prUrl,position:`top`,timeout:5e3}),vt()}catch(e){if(e instanceof qe&&e.code===`branch_not_pushed`){c.notify({type:`warning`,message:s(`git.pushFirst`),position:`top`,timeout:6e3});return}if(e instanceof qe&&e.code===`unpushed_commits`){c.notify({type:`warning`,message:s(`git.unpushedCommits`),position:`top`,timeout:6e3});return}let t=e instanceof Error?e.message:`Open PR failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{N.value=!1}}}return(e,i)=>(f(),y(`div`,Tr,[k(`div`,Er,[k(`div`,Dr,w(e.$t(`git.title`)),1),t.workspace?(f(),E(H,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,loading:tt.value,onClick:yt},{default:_(()=>[S(K,null,{default:_(()=>[P(w(e.$t(`tooltip.refreshGitStats`)),1)]),_:1})]),_:1},8,[`loading`])):T(``,!0)]),t.workspace?(f(),y(C,{key:0},[tt.value&&!G.value?(f(),y(`div`,Or,[S(z,{size:`32px`,color:`indigo-4`})])):(f(),y(C,{key:1},[k(`div`,kr,[k(`div`,Ar,w(e.$t(`git.section.repository`)),1),k(`div`,jr,[S(B,{name:`folder`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),k(`span`,Mr,w(nt.value),1)]),k(`div`,Nr,[i[23]||=k(`span`,{style:{width:`8px`,height:`8px`,"border-radius":`50%`,"background-color":`#4ade80`,display:`inline-block`},class:`q-mr-xs`},null,-1),k(`span`,Pr,w(t.workspace.workingBranch),1)]),k(`div`,Fr,[P(w(t.workspace.sourceBranch)+` `,1),G.value?(f(),y(C,{key:0},[G.value.commitCount>0?(f(),y(`span`,{key:0,class:`cursor-pointer arrow-clickable`,style:{color:`#4ade80`},onClick:i[0]||=M(e=>gt(`ahead`),[`stop`])},` · ↑`+w(G.value.commitCount),1)):T(``,!0),G.value.behindCount>0?(f(),y(`span`,{key:1,class:`cursor-pointer arrow-clickable`,style:{color:`#f87171`},onClick:i[1]||=M(e=>gt(`behind`),[`stop`])},` · ↓`+w(G.value.behindCount),1)):T(``,!0),G.value.commitCount>0||G.value.behindCount>0?(f(),E(K,{key:2},{default:_(()=>[P(w(e.$t(`git.aheadBehindTooltip`,{ahead:G.value.commitCount,behind:G.value.behindCount,source:t.workspace.sourceBranch})),1)]),_:1})):T(``,!0),i[24]||=P(` · `,-1),G.value.unpushedCount===-1?(f(),y(`span`,Ir,w(e.$t(`git.localOnly`)),1)):G.value.unpushedCount===0?(f(),y(`span`,Lr,w(e.$t(`git.pushed`)),1)):(f(),y(`span`,Rr,w(e.$t(`git.unpushed`,{count:G.value.unpushedCount})),1))],64)):T(``,!0)])]),G.value?(f(),y(`div`,zr,[k(`div`,Br,w(e.$t(`git.section.changes`)),1),k(`div`,Vr,[G.value.commitCount>0?(f(),y(`div`,{key:0,class:`row items-center commit-toggle cursor-pointer`,onClick:ve},[S(B,{name:`commit`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),k(`span`,Hr,w(e.$t(`git.commits`,{count:G.value.commitCount},G.value.commitCount)),1),me.value?(f(),E(z,{key:0,size:`12px`,color:`indigo-4`,class:`q-ml-xs`})):(f(),E(B,{key:1,name:pe.value?`expand_less`:`expand_more`,size:`14px`,color:`grey-6`,class:`q-ml-xs`},null,8,[`name`]))])):(f(),y(`div`,Ur,[S(B,{name:`commit`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),k(`span`,Wr,w(e.$t(`git.commits`,{count:0},0)),1)])),G.value.filesChanged>0?(f(),y(`div`,Gr,[S(B,{name:`insert_drive_file`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),k(`span`,Kr,w(G.value.filesChanged),1),G.value.insertions>0?(f(),y(`span`,qr,`+`+w(G.value.insertions),1)):T(``,!0),G.value.deletions>0?(f(),y(`span`,Jr,`-`+w(G.value.deletions),1)):T(``,!0)])):T(``,!0),G.value.workingTree&&(G.value.workingTree.staged>0||G.value.workingTree.modified>0||G.value.workingTree.untracked>0)?(f(),y(`div`,{key:3,class:`row items-center cursor-pointer`,onClick:Ee},[S(B,{name:`edit_note`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),G.value.workingTree.staged>0?(f(),y(`span`,Yr,w(G.value.workingTree.staged)+`s`,1)):T(``,!0),G.value.workingTree.modified>0?(f(),y(`span`,Xr,w(G.value.workingTree.modified)+`m`,1)):T(``,!0),G.value.workingTree.untracked>0?(f(),y(`span`,Zr,w(G.value.workingTree.untracked)+`u`,1)):T(``,!0),Se.value?(f(),E(z,{key:3,size:`12px`,color:`indigo-4`,class:`q-ml-xs`})):(f(),E(B,{key:4,name:ye.value?`expand_less`:`expand_more`,size:`14px`,color:`grey-6`,class:`q-ml-xs`},null,8,[`name`])),S(K,null,{default:_(()=>[P(w(e.$t(`git.staged`,{count:G.value.workingTree.staged}))+` · `+w(e.$t(`git.modified`,{count:G.value.workingTree.modified}))+` · `+w(e.$t(`git.untracked`,{count:G.value.workingTree.untracked})),1)]),_:1})])):T(``,!0)]),pe.value?(f(),y(`div`,Qr,[he.value.length>0?(f(),y(`div`,$r,[S(H,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`difference`,color:`grey-5`,label:e.$t(`git.compareCommits`),onClick:i[2]||=e=>R.value=!0},null,8,[`label`])])):T(``,!0),me.value?(f(),y(`div`,ei,[S(z,{size:`xs`,class:`q-mr-xs`}),P(w(e.$t(`git.commits.loading`)),1)])):he.value.length===0?(f(),y(`div`,ti,w(e.$t(`git.commits.empty`)),1)):(f(!0),y(C,{key:3},n(he.value,t=>(f(),y(`div`,{key:t.sha,class:`commit-item row no-wrap items-center cursor-pointer`,onClick:e=>De(t.sha)},[S(B,{name:t.isPushed?`cloud_done`:`cloud_upload`,size:`12px`,color:t.isPushed?`grey-6`:`orange-5`,class:`q-mr-xs commit-item-icon`},null,8,[`name`,`color`]),k(`span`,ri,w(t.shortSha),1),k(`span`,ii,w(t.subject),1),S(H,{flat:``,dense:``,round:``,size:`xs`,icon:`difference`,color:`grey-6`,class:`commit-diff-btn q-ml-xs`,onClick:M(e=>ue(`${t.sha}^`,t.sha),[`stop`])},{default:_(()=>[S(K,{anchor:`top middle`,self:`bottom middle`},{default:_(()=>[P(w(e.$t(`git.commits.diffThisCommit`)),1)]),_:1})]),_:1},8,[`onClick`]),S(K,{anchor:`top middle`,self:`bottom middle`,class:`commit-tooltip`},{default:_(()=>[k(`div`,ai,[k(`div`,null,[k(`code`,null,w(t.sha),1)]),k(`div`,oi,w(t.author)+` · `+w(je(t.date)),1),k(`div`,si,w(t.isPushed?e.$t(`git.commits.pushed`):e.$t(`git.commits.unpushed`))+` · `+w(e.$t(`git.commits.clickToAppend`)),1)])]),_:2},1024)],8,ni))),128))])):T(``,!0),ye.value?(f(),y(`div`,ci,[Se.value?(f(),y(`div`,li,[S(z,{size:`xs`,class:`q-mr-xs`}),P(w(e.$t(`git.commits.loading`)),1)])):we.value.length===0?(f(),y(`div`,ui,w(e.$t(`git.workingTreeEmpty`)),1)):(f(!0),y(C,{key:2},n(we.value,t=>(f(),y(`div`,{key:t.path,class:`commit-item row no-wrap items-center`},[t.staged?(f(),y(`span`,di,[i[25]||=P(`s`,-1),S(K,null,{default:_(()=>[P(w(e.$t(`git.fileStaged`)),1)]),_:1})])):T(``,!0),t.modified?(f(),y(`span`,fi,[i[26]||=P(`m`,-1),S(K,null,{default:_(()=>[P(w(e.$t(`git.fileModified`)),1)]),_:1})])):T(``,!0),t.untracked?(f(),y(`span`,pi,[i[27]||=P(`u`,-1),S(K,null,{default:_(()=>[P(w(e.$t(`git.fileUntracked`)),1)]),_:1})])):T(``,!0),k(`span`,mi,w(t.path),1)]))),128))])):T(``,!0)])):T(``,!0),t.workspace&&G.value?(f(),y(`div`,hi,[k(`div`,gi,w(e.$t(`git.section.actions`)),1),at.value.id===`none`?T(``,!0):(f(),y(C,{key:0},[G.value?.prUrl&&G.value.prState===`OPEN`?(f(),E(H,{key:0,"no-caps":``,unelevated:``,dense:``,size:`sm`,color:`green-7`,icon:`open_in_new`,label:e.$t(`git.viewRequest`,{request:at.value.capabilities.requestTermShort}),class:`full-width q-mb-xs`,onClick:Wt},null,8,[`label`])):(f(),E(H,{key:1,"no-caps":``,unelevated:``,dense:``,size:`sm`,color:`indigo-5`,icon:`open_in_new`,label:e.$t(`git.createRequest`,{request:at.value.capabilities.requestTermShort}),class:`full-width q-mb-xs`,loading:N.value,disable:!t.workspace||g.value||!st.value||p.value,onClick:Zt},{default:_(()=>[!st.value&&ut.value?(f(),E(K,{key:0},{default:_(()=>[P(w(ut.value),1)]),_:1})):T(``,!0)]),_:1},8,[`label`,`loading`,`disable`]))],64)),ct.value?(f(),E(H,{key:1,"no-caps":``,unelevated:``,dense:``,size:`sm`,color:`deep-orange-7`,icon:`merge`,label:e.$t(`git.mergeRequest`,{request:at.value.capabilities.requestTermShort}),class:`full-width q-mb-xs`,loading:ne.value,disable:p.value,onClick:Kt},null,8,[`label`,`loading`,`disable`])):T(``,!0),lt.value?(f(),E(H,{key:2,"no-caps":``,unelevated:``,dense:``,size:`sm`,color:`green-7`,icon:`commit`,label:e.$t(`git.commitChanges`),class:`full-width q-mb-xs`,disable:p.value,onClick:i[3]||=e=>I.value=!0},null,8,[`label`,`disable`])):T(``,!0),k(`div`,_i,[G.value?(f(),y(`div`,vi,[S(xn,{split:``,dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,icon:`sync`,label:e.$t(`git.sync`),class:`full-width git-btn`,loading:v.value||b.value||x.value||O.value,disable:!t.workspace||g.value||p.value,onClick:i[4]||=e=>G.value.unpushedCount===-1?wt():Ht()},{default:_(()=>[S(mt,{dark:``,dense:``,style:{"min-width":`140px`}},{default:_(()=>[o((f(),E(W,{clickable:``,disable:v.value||b.value||x.value||G.value.unpushedCount===-1||p.value,onClick:Ht},{default:_(()=>[S(U,{avatar:``,style:{"min-width":`28px`}},{default:_(()=>[S(B,{name:`download`,size:`16px`,color:`grey-5`})]),_:1}),S(U,null,{default:_(()=>[P(w(e.$t(`git.pull`)),1)]),_:1}),G.value.unpushedCount===-1?(f(),E(K,{key:0},{default:_(()=>[P(w(e.$t(`git.pullNoUpstream`)),1)]),_:1})):T(``,!0)]),_:1},8,[`disable`])),[[q]]),o((f(),E(W,{clickable:``,disable:v.value||b.value||x.value||p.value,onClick:wt},{default:_(()=>[S(U,{avatar:``,style:{"min-width":`28px`}},{default:_(()=>[S(B,{name:`replay`,size:`16px`,color:`orange-4`})]),_:1}),S(U,null,{default:_(()=>[P(w(e.$t(`git.rebase`)),1)]),_:1})]),_:1},8,[`disable`])),[[q]]),o((f(),E(W,{clickable:``,disable:v.value||b.value||x.value||p.value,onClick:Et},{default:_(()=>[S(U,{avatar:``,style:{"min-width":`28px`}},{default:_(()=>[S(B,{name:`merge`,size:`16px`,color:`purple-4`})]),_:1}),S(U,null,{default:_(()=>[P(w(e.$t(`git.merge`)),1)]),_:1})]),_:1},8,[`disable`])),[[q]]),o((f(),E(W,{clickable:``,disable:v.value||b.value||x.value||O.value||p.value,onClick:Ut},{default:_(()=>[S(U,{avatar:``,style:{"min-width":`28px`}},{default:_(()=>[S(B,{name:`cloud_download`,size:`16px`,color:`grey-5`})]),_:1}),S(U,null,{default:_(()=>[P(w(e.$t(`git.fetch`)),1)]),_:1})]),_:1},8,[`disable`])),[[q]])]),_:1})]),_:1},8,[`label`,`loading`,`disable`])])):T(``,!0),G.value?.unpushedCount===0?T(``,!0):(f(),y(`div`,yi,[S(H,{dense:``,"no-caps":``,size:`sm`,outline:``,color:`orange-5`,icon:`upload`,label:e.$t(`git.push`),class:`full-width git-btn`,loading:g.value,disable:!t.workspace||N.value||v.value||b.value||p.value,onClick:zt},{default:_(()=>[S(K,{anchor:`bottom middle`,self:`top middle`,delay:400},{default:_(()=>[P(w(e.$t(`git.push`)),1)]),_:1})]),_:1},8,[`label`,`loading`,`disable`])])),k(`div`,bi,[S(H,{dense:``,"no-caps":``,size:`sm`,outline:``,color:`indigo-4`,icon:`rate_review`,label:e.$t(`git.diffReview`),class:`full-width git-btn`,disable:!t.workspace,onClick:i[5]||=e=>ce(!0)},{default:_(()=>[S(K,{anchor:`bottom middle`,self:`top middle`,delay:400},{default:_(()=>[P(w(e.$t(`git.diffReviewTooltip`)),1)]),_:1})]),_:1},8,[`label`,`disable`])]),ft.value?(f(),y(`div`,xi,[S(H,{dense:``,flat:``,size:`sm`,color:`grey-5`,icon:`more_horiz`,class:`git-btn`},{default:_(()=>[S(Qe,null,{default:_(()=>[S(mt,{dark:``,dense:``,style:{"min-width":`160px`}},{default:_(()=>[dt.value?o((f(),E(W,{key:0,clickable:``,disable:fe.value||p.value,onClick:xt},{default:_(()=>[S(U,{avatar:``,style:{"min-width":`28px`}},{default:_(()=>[S(B,{name:`edit`,size:`16px`,color:`grey-5`})]),_:1}),S(U,null,{default:_(()=>[P(w(e.$t(`git.renameBranch`)),1)]),_:1})]),_:1},8,[`disable`])),[[q]]):T(``,!0),G.value?.prUrl&&G.value.prState===`OPEN`?o((f(),E(W,{key:1,clickable:``,disable:te.value||p.value,onClick:Gt},{default:_(()=>[S(U,{avatar:``,style:{"min-width":`28px`}},{default:_(()=>[S(B,{name:`swap_horiz`,size:`16px`,color:`grey-5`})]),_:1}),S(U,null,{default:_(()=>[P(w(e.$t(`git.changeRequestBase`,{request:at.value.capabilities.requestTermShort})),1)]),_:1})]),_:1},8,[`disable`])),[[q]]):T(``,!0),m.value?o((f(),E(W,{key:2,clickable:``,disable:Jt.value||p.value,onClick:Xt},{default:_(()=>[S(U,{avatar:``,style:{"min-width":`28px`}},{default:_(()=>[S(B,{name:`alt_route`,size:`16px`,color:`grey-5`})]),_:1}),S(U,null,{default:_(()=>[P(w(e.$t(`git.changeSourceBranch`)),1)]),_:1})]),_:1},8,[`disable`])),[[q]]):T(``,!0)]),_:1})]),_:1}),S(K,null,{default:_(()=>[P(w(e.$t(`git.actions.more`)),1)]),_:1})]),_:1})])):T(``,!0)])])):T(``,!0),rt.value&&rt.value.state===`OPEN`?(f(),y(`div`,Si,[k(`div`,Ci,w(e.$t(`git.section.pullRequest`)),1),S(Sr,{snapshot:rt.value},null,8,[`snapshot`])])):T(``,!0)],64))],64)):(f(),y(`div`,wi,w(e.$t(`common.selectWorkspace`)),1)),S(xe,{modelValue:Lt.value,"onUpdate:modelValue":i[7]||=e=>Lt.value=e},{default:_(()=>[S(ke,{dark:``,style:{"min-width":`360px`,"max-width":`480px`}},{default:_(()=>[S(V,null,{default:_(()=>[k(`div`,Ti,w(e.$t(`git.pushConfirmTitle`)),1),k(`div`,Ei,[P(w(e.$t(`git.pushConfirmMessagePrefix`))+` `,1),k(`code`,Di,w(t.workspace?.workingBranch??``),1),P(` `+w(e.$t(`git.pushConfirmMessageSuffix`)),1)])]),_:1}),S(V,{class:`q-pt-none`},{default:_(()=>[S(Be,{modelValue:Rt.value,"onUpdate:modelValue":i[6]||=e=>Rt.value=e,label:e.$t(`git.forcePushToggle`),color:`orange-6`,dense:``},null,8,[`modelValue`,`label`]),k(`div`,Oi,w(e.$t(`git.forcePushHint`)),1)]),_:1}),S(Ce,{align:`right`},{default:_(()=>[o(S(H,{flat:``,label:e.$t(`common.cancel`),color:`grey-5`},null,8,[`label`]),[[q]]),S(H,{flat:``,label:Rt.value?e.$t(`git.forcePush`):e.$t(`git.push`),color:Rt.value?`orange-4`:`grey-5`,onClick:Bt},null,8,[`label`,`color`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),S(xe,{modelValue:I.value,"onUpdate:modelValue":i[10]||=e=>I.value=e,persistent:``},{default:_(()=>[S(ke,{dark:``,style:{"min-width":`420px`,"max-width":`600px`}},{default:_(()=>[S(V,null,{default:_(()=>[k(`div`,ki,[S(B,{name:`commit`,color:`green-5`,class:`q-mr-xs`}),P(` `+w(e.$t(`git.commitDialogTitle`)),1)]),k(`div`,Ai,w(e.$t(`git.commitDialogDescription`)),1)]),_:1}),S(V,{class:`q-pt-none`},{default:_(()=>[S(ge,{modelValue:L.value,"onUpdate:modelValue":i[8]||=e=>L.value=e,dark:``,dense:``,autofocus:``,label:e.$t(`git.commitMessage`),disable:re.value||ie.value,onKeyup:A(kt,[`enter`])},null,8,[`modelValue`,`label`,`disable`])]),_:1}),S(Ce,{align:`right`},{default:_(()=>[S(H,{flat:``,"no-caps":``,label:e.$t(`common.cancel`),color:`grey-5`,disable:re.value||ie.value,onClick:i[9]||=e=>I.value=!1},null,8,[`label`,`disable`]),S(H,{flat:``,"no-caps":``,icon:`smart_toy`,color:`indigo-4`,label:e.$t(`git.commitWithAgent`),loading:ie.value,disable:re.value,onClick:At},null,8,[`label`,`loading`,`disable`]),S(H,{unelevated:``,"no-caps":``,icon:`commit`,color:`green-7`,label:e.$t(`git.commitManual`),loading:re.value,disable:!L.value.trim()||ie.value,onClick:kt},null,8,[`label`,`loading`,`disable`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),S(xe,{modelValue:Me.value,"onUpdate:modelValue":i[12]||=e=>Me.value=e,persistent:``},{default:_(()=>[S(ke,{dark:``,style:{"min-width":`420px`,"max-width":`600px`}},{default:_(()=>[S(V,null,{default:_(()=>[k(`div`,ji,[S(B,{name:`warning`,class:`q-mr-xs`}),P(` `+w(Ne.value===`merge`?e.$t(`git.conflictTitleMerge`):e.$t(`git.conflictTitleRebase`)),1)]),k(`div`,Mi,w(e.$t(`git.conflictSubtitle`,{count:Pe.value.length})),1)]),_:1}),Pe.value.length>0?(f(),E(V,{key:0,class:`q-pt-none`},{default:_(()=>[S(mt,{dense:``,dark:``},{default:_(()=>[(f(!0),y(C,null,n(Pe.value,e=>(f(),E(W,{key:e},{default:_(()=>[S(U,{side:``},{default:_(()=>[S(B,{name:`insert_drive_file`,size:`xs`})]),_:1}),S(U,null,{default:_(()=>[k(`div`,Ni,w(e),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})):T(``,!0),S(Ce,{align:`right`},{default:_(()=>[S(H,{flat:``,"no-caps":``,label:e.$t(`common.cancel`),color:`grey-5`,disable:Fe.value||Ie.value,onClick:i[11]||=e=>Me.value=!1},null,8,[`label`,`disable`]),S(H,{flat:``,"no-caps":``,color:`red-4`,icon:`undo`,label:e.$t(`git.conflictAbort`),loading:Fe.value,disable:Ie.value,onClick:Ft},null,8,[`label`,`loading`,`disable`]),S(H,{unelevated:``,"no-caps":``,color:`primary`,icon:`smart_toy`,label:e.$t(`git.conflictResolveWithAgent`),loading:Ie.value,disable:Fe.value,onClick:It},null,8,[`label`,`loading`,`disable`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),S(xe,{modelValue:Le.value,"onUpdate:modelValue":i[16]||=e=>Le.value=e,persistent:``},{default:_(()=>[S(ke,{dark:``,style:{"min-width":`420px`,"max-width":`600px`}},{default:_(()=>[S(V,null,{default:_(()=>[k(`div`,Pi,[S(B,{name:`warning`,class:`q-mr-xs`}),P(` `+w(Re.value===`merge`?e.$t(`git.dirtyTitleMerge`):Re.value===`pull`?e.$t(`git.dirtyTitlePull`):e.$t(`git.dirtyTitleRebase`)),1)]),k(`div`,Fi,w(e.$t(`git.dirtySubtitle`,{modified:ze.value?.modified??0,staged:ze.value?.staged??0,untracked:ze.value?.untracked??0})),1)]),_:1}),He.value?(f(),E(V,{key:0,class:`q-pt-none`},{default:_(()=>[S(ge,{modelValue:Ue.value,"onUpdate:modelValue":i[13]||=e=>Ue.value=e,dark:``,dense:``,autofocus:``,placeholder:e.$t(`git.dirtyCommitPlaceholder`),disable:Ve.value,onKeyup:A(Nt,[`enter`])},null,8,[`modelValue`,`placeholder`,`disable`])]),_:1})):T(``,!0),S(Ce,{align:`right`},{default:_(()=>[S(H,{flat:``,"no-caps":``,label:e.$t(`common.cancel`),color:`grey-5`,disable:Ve.value,onClick:i[14]||=e=>Le.value=!1},null,8,[`label`,`disable`]),S(H,{flat:``,"no-caps":``,color:`red-4`,icon:`delete_forever`,label:e.$t(`git.dirtyDiscard`),loading:Ve.value,disable:Ve.value,onClick:Pt},null,8,[`label`,`loading`,`disable`]),He.value?(f(),E(H,{key:0,unelevated:``,"no-caps":``,color:`grey-7`,icon:`check`,label:e.$t(`git.dirtyCommitConfirm`),loading:Ve.value,disable:!Ue.value.trim(),onClick:Nt},null,8,[`label`,`loading`,`disable`])):(f(),y(C,{key:1},[S(H,{flat:``,"no-caps":``,color:`grey-5`,icon:`edit`,label:e.$t(`git.dirtyCommit`),disable:Ve.value,onClick:i[15]||=e=>He.value=!0},null,8,[`label`,`disable`]),S(H,{unelevated:``,"no-caps":``,color:`primary`,icon:`inventory_2`,label:e.$t(`git.dirtyStash`),disable:Ve.value,onClick:Mt},null,8,[`label`,`disable`])],64))]),_:1})]),_:1})]),_:1},8,[`modelValue`]),S(xe,{modelValue:We.value,"onUpdate:modelValue":i[18]||=e=>We.value=e,persistent:``},{default:_(()=>[S(ke,{dark:``,style:{"min-width":`420px`,"max-width":`600px`}},{default:_(()=>[S(V,null,{default:_(()=>[k(`div`,Ii,[S(B,{name:`error`,class:`q-mr-xs`}),P(` `+w(e.$t(`git.changeSourceBranchErrorTitle`)),1)]),k(`div`,Li,w(e.$t(`git.changeSourceBranchErrorOngoing`,{op:Ke.value})),1)]),_:1}),S(V,{class:`q-pt-none`},{default:_(()=>[k(`div`,Ri,w(Ge.value),1)]),_:1}),S(Ce,{align:`right`},{default:_(()=>[S(H,{flat:``,"no-caps":``,label:e.$t(`common.close`),color:`grey-5`,disable:Ye.value,onClick:i[17]||=e=>We.value=!1},null,8,[`label`,`disable`]),S(H,{unelevated:``,"no-caps":``,color:`red-5`,icon:`undo`,label:e.$t(`git.changeSourceBranchErrorAbort`),loading:Ye.value,onClick:$e},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),S(xe,{modelValue:F.value,"onUpdate:modelValue":i[20]||=e=>F.value=e,maximized:``},{default:_(()=>[t.workspace?(f(),E(D(r),{key:0,"workspace-id":t.workspace.id,"initial-review-mode":ae.value,"compare-from":oe.value,"compare-to":se.value,onClose:i[19]||=e=>F.value=!1,onSendToChat:et},null,8,[`workspace-id`,`initial-review-mode`,`compare-from`,`compare-to`])):T(``,!0)]),_:1},8,[`modelValue`]),t.workspace?(f(),E(wr,{key:2,modelValue:R.value,"onUpdate:modelValue":i[21]||=e=>R.value=e,commits:he.value,"source-branch":t.workspace.sourceBranch,onCompare:de},null,8,[`modelValue`,`commits`,`source-branch`])):T(``,!0),t.workspace&&G.value?(f(),E(Wn,{key:3,modelValue:pt.value,"onUpdate:modelValue":i[22]||=e=>pt.value=e,"workspace-id":t.workspace.id,"initial-tab":ht.value,"ahead-count":G.value.commitCount,"behind-count":G.value.behindCount,"source-branch":t.workspace.sourceBranch,"working-branch":t.workspace.workingBranch,onAppendSha:De},null,8,[`modelValue`,`workspace-id`,`initial-tab`,`ahead-count`,`behind-count`,`source-branch`,`working-branch`])):T(``,!0)]))}}),[[`__scopeId`,`data-v-9c653d31`]]),Bi={class:`text-caption col`},Vi=lt(p({__name:`PwaStatusBanner`,setup(t){let n=e(null),r=e(!navigator.onLine),i=e(!1),o=Le(),s=j(()=>!r.value&&o.reconnecting),l=e(null),u;function d(){document.documentElement.style.setProperty(`--kobo-pwa-banner-height`,`${l.value?.offsetHeight??0}px`)}h([r,s,n,i],()=>{O(d)});let p,m=!1;function g(e){e.preventDefault(),n.value=e}function _(){r.value=!navigator.onLine}async function v(){let e=n.value;e&&(await e.prompt(),await e.userChoice,n.value=null)}function b(){p?.waiting&&(m=!0,p.waiting.postMessage({type:`SKIP_WAITING`}))}return a(async()=>{window.addEventListener(`beforeinstallprompt`,g),window.addEventListener(`online`,_),window.addEventListener(`offline`,_),u=new ResizeObserver(d),l.value&&u.observe(l.value),d(),`serviceWorker`in navigator&&(p=await navigator.serviceWorker.getRegistration(),p&&(navigator.serviceWorker.addEventListener(`controllerchange`,()=>{m&&window.location.reload()}),i.value=!!p.waiting,p.addEventListener(`updatefound`,()=>{let e=p?.installing;e&&e.addEventListener(`statechange`,()=>{e.state===`installed`&&navigator.serviceWorker.controller&&(i.value=!0)})})))}),c(()=>{window.removeEventListener(`beforeinstallprompt`,g),window.removeEventListener(`online`,_),window.removeEventListener(`offline`,_),u?.disconnect(),document.documentElement.style.removeProperty(`--kobo-pwa-banner-height`)}),(e,t)=>r.value||s.value||n.value||i.value?(f(),y(`div`,{key:0,ref_key:`bannerRef`,ref:l,class:`pwa-status-banner row items-center q-gutter-sm q-px-md q-py-sm`},[S(B,{name:r.value?`cloud_off`:s.value?`sync`:i.value?`system_update`:`install_mobile`,size:`18px`,color:`indigo-3`},null,8,[`name`]),k(`span`,Bi,w(r.value?e.$t(`pwa.offline`):s.value?e.$t(`pwa.reconnecting`):i.value?e.$t(`pwa.updateReady`):e.$t(`pwa.installReady`)),1),n.value?(f(),E(H,{key:0,dense:``,flat:``,"no-caps":``,color:`indigo-3`,label:e.$t(`pwa.install`),onClick:v},null,8,[`label`])):T(``,!0),i.value?(f(),E(H,{key:1,dense:``,flat:``,"no-caps":``,color:`indigo-3`,label:e.$t(`pwa.reload`),onClick:b},null,8,[`label`])):T(``,!0)],512)):T(``,!0)}}),[[`__scopeId`,`data-v-9f0aae26`]]);function Hi(e,t){let n=Math.max(1,Math.floor(t));switch(e){case`minutes`:return`*/${n} * * * *`;case`hours`:return`0 */${n} * * *`;case`days`:return`0 0 */${n} * *`}}var Ui={class:`schedule-panel column q-pa-md q-gutter-md`},Wi={class:`text-subtitle2 q-mb-sm`},Gi={key:0,class:`text-caption text-grey-7`},Ki={class:`row items-center no-wrap`},qi={class:`text-body2`},Ji={key:0,class:`text-caption text-grey-6 q-mt-xs prompt-preview`},Yi={class:`text-subtitle2 q-mb-sm`},Xi={key:0,class:`text-caption text-grey-7`},Zi={class:`row items-center no-wrap`},Qi={class:`text-body2 ellipsis`},$i={class:`text-caption text-grey-6 q-mt-xs`},ea={key:0},ta={class:`prompt-preview text-caption text-grey-6 q-mt-xs`},na={class:`text-subtitle2 q-mb-sm`},ra={class:`row items-center q-gutter-sm q-mb-sm`},ia={class:`text-caption text-grey-6`},aa={class:`row items-center q-gutter-md q-mb-sm`},oa={class:`text-subtitle2 q-mb-sm`},sa=lt(p({__name:`SchedulePanel`,props:{workspaceId:{}},setup(t){let r=t,{t:i}=be(),a=Ze(),o=Ae(),s=j(()=>o.pendingWakeups[r.workspaceId]??null),c=j(()=>o.crons[r.workspaceId]??[]);h(()=>r.workspaceId,e=>{e&&o.fetchCrons(e)},{immediate:!0});function l(e){return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`})}function u(e){let t=Date.now()-new Date(e).getTime();if(Number.isNaN(t)||t<0)return`—`;let n=Math.floor(t/1e3);if(n<60)return`${n}s`;let r=Math.floor(n/60);if(r<60)return`${r}m`;let i=Math.floor(r/60);return i<24?`${i}h`:`${Math.floor(i/24)}d`}async function d(){try{let e=await fetch(`/api/workspaces/${r.workspaceId}/pending-wakeup`,{method:`DELETE`});if(!e.ok)throw Error(`HTTP ${e.status}`)}catch(e){a.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}async function p(e){try{await o.cancelCron(r.workspaceId,e)}catch(e){a.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}let m=e(15),g=e(`minutes`),v=e(``),b=e(``),x=e(``),D=e(!0),O=e(!1),A=e(!1),M=j(()=>[{label:i(`schedule.unitMinutes`),value:`minutes`},{label:i(`schedule.unitHours`),value:`hours`},{label:i(`schedule.unitDays`),value:`days`}]);async function N(){if(!(!b.value.trim()||A.value)){A.value=!0;try{let e=v.value.trim()||Hi(g.value,m.value);await o.createCron(r.workspaceId,{expression:e,prompt:b.value,label:x.value.trim()||void 0,mode:D.value?`fresh`:`resume`,oneShot:O.value}),b.value=``,x.value=``,v.value=``,a.notify({type:`positive`,message:i(`schedule.cronCreated`),position:`top`,timeout:2500})}catch(e){a.notify({type:`negative`,message:String(e instanceof Error?e.message:e),position:`top`,timeout:5e3})}finally{A.value=!1}}}let ee=e(15),te=e(``),ne=e(!0),F=e(!1);async function I(){if(!(!te.value.trim()||!(ee.value>0)||F.value)){F.value=!0;try{await o.scheduleManualWakeup(r.workspaceId,{delaySeconds:Math.round(ee.value*60),prompt:te.value,mode:ne.value?`fresh`:`resume`}),te.value=``,a.notify({type:`positive`,message:i(`schedule.wakeupCreated`),position:`top`,timeout:2500})}catch(e){a.notify({type:`negative`,message:String(e instanceof Error?e.message:e),position:`top`,timeout:5e3})}finally{F.value=!1}}}return(e,t)=>(f(),y(`div`,Ui,[k(`div`,null,[k(`div`,Wi,w(e.$t(`schedule.wakeupTitle`)),1),s.value?(f(),E(ke,{key:1,dark:``,flat:``,bordered:``},{default:_(()=>[S(V,{class:`q-py-sm`},{default:_(()=>[k(`div`,Ki,[S(B,{name:`schedule`,size:`16px`,color:`amber-4`,class:`q-mr-sm`}),k(`div`,qi,w(l(s.value.targetAt)),1),S(dt),S(H,{flat:``,dense:``,round:``,icon:`close`,size:`sm`,title:e.$t(`common.cancel`),onClick:d},null,8,[`title`])]),s.value.reason?(f(),y(`pre`,Ji,w(s.value.reason),1)):T(``,!0)]),_:1})]),_:1})):(f(),y(`div`,Gi,w(e.$t(`schedule.noWakeup`)),1))]),k(`div`,null,[k(`div`,Yi,w(e.$t(`schedule.cronsTitle`)),1),c.value.length===0?(f(),y(`div`,Xi,w(e.$t(`schedule.noCrons`)),1)):(f(),E(mt,{key:1,dense:``,dark:``,separator:``},{default:_(()=>[(f(!0),y(C,null,n(c.value,t=>(f(),E(W,{key:t.id},{default:_(()=>[S(U,null,{default:_(()=>[k(`div`,Zi,[S(B,{name:`event_repeat`,size:`16px`,color:`cyan-4`,class:`q-mr-sm`}),k(`div`,Qi,w(t.label||t.expression),1)]),k(`div`,$i,[P(w(e.$t(`schedule.nextFireAt`,{time:l(t.nextFireAt)}))+` `,1),t.lastFiredAt?(f(),y(`span`,ea,` · `+w(e.$t(`schedule.lastFiredAt`,{time:u(t.lastFiredAt)})),1)):T(``,!0)]),k(`pre`,ta,w(t.prompt),1)]),_:2},1024),S(U,{side:``,top:``},{default:_(()=>[S(H,{flat:``,dense:``,round:``,icon:`close`,size:`sm`,title:e.$t(`common.cancel`),onClick:e=>p(t.id)},null,8,[`title`,`onClick`])]),_:2},1024)]),_:2},1024))),128))]),_:1}))]),S(he,{dark:``}),k(`div`,null,[k(`div`,na,w(e.$t(`schedule.addCronTitle`)),1),k(`div`,ra,[k(`span`,ia,w(e.$t(`schedule.every`)),1),S(ge,{modelValue:m.value,"onUpdate:modelValue":t[0]||=e=>m.value=e,modelModifiers:{number:!0},type:`number`,dense:``,dark:``,outlined:``,min:`1`,style:{width:`72px`}},null,8,[`modelValue`]),S(et,{modelValue:g.value,"onUpdate:modelValue":t[1]||=e=>g.value=e,options:M.value,dense:``,dark:``,outlined:``,"options-dense":``,"emit-value":``,"map-options":``,style:{"min-width":`110px`}},null,8,[`modelValue`,`options`])]),S(ge,{modelValue:v.value,"onUpdate:modelValue":t[2]||=e=>v.value=e,dense:``,dark:``,outlined:``,label:e.$t(`schedule.advancedExpression`),hint:e.$t(`schedule.advancedHint`),class:`q-mb-sm`},null,8,[`modelValue`,`label`,`hint`]),S(ge,{modelValue:b.value,"onUpdate:modelValue":t[3]||=e=>b.value=e,type:`textarea`,autogrow:``,dense:``,dark:``,outlined:``,label:e.$t(`schedule.promptLabel`),class:`q-mb-sm`},null,8,[`modelValue`,`label`]),S(ge,{modelValue:x.value,"onUpdate:modelValue":t[4]||=e=>x.value=e,dense:``,dark:``,outlined:``,label:e.$t(`schedule.labelOptional`),class:`q-mb-sm`},null,8,[`modelValue`,`label`]),k(`div`,aa,[S(Be,{modelValue:D.value,"onUpdate:modelValue":t[5]||=e=>D.value=e,dense:``,label:e.$t(`schedule.modeFresh`)},null,8,[`modelValue`,`label`]),S(Be,{modelValue:O.value,"onUpdate:modelValue":t[6]||=e=>O.value=e,dense:``,label:e.$t(`schedule.oneShot`)},null,8,[`modelValue`,`label`])]),S(H,{dense:``,"no-caps":``,color:`indigo-4`,loading:A.value,disable:!b.value.trim(),label:e.$t(`schedule.addCronBtn`),onClick:N},null,8,[`loading`,`disable`,`label`])]),S(he,{dark:``}),k(`div`,null,[k(`div`,oa,w(e.$t(`schedule.addWakeupTitle`)),1),S(ge,{modelValue:ee.value,"onUpdate:modelValue":t[7]||=e=>ee.value=e,modelModifiers:{number:!0},type:`number`,dense:``,dark:``,outlined:``,min:`1`,label:e.$t(`schedule.delayMinutes`),style:{"max-width":`160px`},class:`q-mb-sm`},null,8,[`modelValue`,`label`]),S(ge,{modelValue:te.value,"onUpdate:modelValue":t[8]||=e=>te.value=e,type:`textarea`,autogrow:``,dense:``,dark:``,outlined:``,label:e.$t(`schedule.promptLabel`),class:`q-mb-sm`},null,8,[`modelValue`,`label`]),S(Be,{modelValue:ne.value,"onUpdate:modelValue":t[9]||=e=>ne.value=e,dense:``,label:e.$t(`schedule.modeFresh`),class:`q-mb-sm`},null,8,[`modelValue`,`label`]),k(`div`,null,[S(H,{dense:``,"no-caps":``,color:`indigo-4`,loading:F.value,disable:!te.value.trim()||!(ee.value>0),label:e.$t(`schedule.addWakeupBtn`),onClick:I},null,8,[`loading`,`disable`,`label`])])])]))}}),[[`__scopeId`,`data-v-5e678773`]]),ca={class:`q-pa-sm`},la={class:`row items-center q-mb-sm`},ua={class:`text-subtitle2`},da={key:0,class:`row items-center q-gutter-sm q-mt-xs text-caption text-grey-6`},fa={key:0,class:`text-negative`},pa=p({__name:`SessionTimelinePanel`,props:{workspaceId:{}},setup(t){let r=t,i=Ae(),a=j(()=>i.sessions),o=e([]),s=j(()=>new Map(o.value.map(e=>[e.sessionId,e]))),l=null,u=0;function d(){l&&clearTimeout(l),l=setTimeout(()=>void p(),350)}async function p(){l=null;let e=++u;try{let t=await fetch(`/api/workspaces/${r.workspaceId}/session-metrics`);if(!t.ok||e!==u)return;let n=await t.json();e===u&&(o.value=n.metrics??[])}catch{e===u&&(o.value=[])}}h(()=>[r.workspaceId,i.sessions.length,i.activityFeeds[r.workspaceId]?.length??0],d,{immediate:!0}),c(()=>{l&&clearTimeout(l)});function m(e){i.selectSession(e)}function g(e){let t=e.endedAt?new Date(e.endedAt).getTime():Date.now(),n=Math.max(0,t-new Date(e.startedAt).getTime());return`${Math.floor(n/6e4)}m ${Math.floor(n%6e4/1e3)}s`}function v(e){if(!e)return`0`;let t=e.inputTokens+e.outputTokens;return t>=1e3?`${(t/1e3).toFixed(t>=1e4?0:1)}k`:String(t)}async function b(){let e=await fetch(`/api/workspaces/${r.workspaceId}/diagnostic.json`);if(!e.ok)return;let t=URL.createObjectURL(await e.blob()),n=document.createElement(`a`);n.href=t,n.download=`kobo-diagnostic.json`,n.click(),URL.revokeObjectURL(t)}return(e,t)=>(f(),y(`div`,ca,[k(`div`,la,[k(`span`,ua,w(e.$t(`timeline.title`)),1),S(dt),S(H,{flat:``,dense:``,round:``,icon:`download`,"aria-label":e.$t(`timeline.export`),onClick:b},null,8,[`aria-label`])]),S(mt,{dark:``,dense:``},{default:_(()=>[(f(!0),y(C,null,n(a.value,t=>(f(),E(W,{key:t.id,clickable:``,onClick:e=>m(t.id)},{default:_(()=>[S(U,null,{default:_(()=>[S($e,null,{default:_(()=>[P(w(t.name||t.model||e.$t(`timeline.unnamed`)),1)]),_:2},1024),S($e,{caption:``},{default:_(()=>[P(w(t.status)+` · `+w(g(t)),1)]),_:2},1024),s.value.get(t.id)?(f(),y(`div`,da,[k(`span`,null,[S(B,{name:`build`,size:`13px`,class:`q-mr-xs`}),P(w(e.$t(`timeline.tools`,{count:s.value.get(t.id)?.toolCalls??0})),1)]),k(`span`,null,[S(B,{name:`token`,size:`13px`,class:`q-mr-xs`}),P(w(v(s.value.get(t.id))),1)]),(s.value.get(t.id)?.errors??0)>0?(f(),y(`span`,fa,[S(B,{name:`error_outline`,size:`13px`,class:`q-mr-xs`}),P(w(e.$t(`timeline.errors`,{count:s.value.get(t.id)?.errors??0})),1)])):T(``,!0)])):T(``,!0)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1})]))}}),ma={class:`subagents-panel q-pa-md`},ha={class:`text-caption text-uppercase text-weight-bold text-grey-6 q-mb-sm`,style:{"letter-spacing":`0.05em`}},ga={key:0,class:`text-caption text-grey-8`},_a={class:`row items-center q-mb-xs`},va={class:`text-caption text-weight-medium text-grey-3 ellipsis`,style:{"max-width":`220px`}},ya={key:0,class:`text-caption text-grey-6`,style:{"font-size":`10px`}},ba={class:`text-grey-4`},xa={class:`row items-center q-gutter-xs q-mt-xs text-caption text-grey-7`,style:{"font-size":`10px`}},Sa={key:0},Ca={key:1},wa={key:2},Ta=lt(p({__name:`SubagentsPanel`,setup(e){let{t}=be(),r=Ae(),i=j(()=>[...r.currentSubagents].reverse());function a(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 o(e){return e?e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e):``}return(e,t)=>(f(),y(`div`,ma,[k(`div`,ha,w(e.$t(`subagents.title`)),1),i.value.length===0?(f(),y(`div`,ga,w(e.$t(`subagents.empty`)),1)):T(``,!0),(f(!0),y(C,null,n(i.value,t=>(f(),y(`div`,{key:t.toolUseId,class:`subagent-item q-mb-sm rounded-borders q-pa-sm`},[k(`div`,_a,[S(B,{name:t.status===`running`?`play_circle`:`check_circle`,size:`14px`,color:t.status===`running`?`green-4`:`grey-6`,class:`q-mr-xs`},null,8,[`name`,`color`]),k(`span`,va,w(t.description||t.toolUseId),1)]),t.lastToolName?(f(),y(`div`,ya,[P(w(e.$t(`subagents.running`)),1),k(`span`,ba,w(t.lastToolName),1)])):T(``,!0),k(`div`,xa,[t.toolUses===void 0?T(``,!0):(f(),y(`span`,Sa,w(e.$t(`subagents.tools`,{count:t.toolUses})),1)),t.totalTokens?(f(),y(`span`,Ca,`· `+w(o(t.totalTokens))+` tok`,1)):T(``,!0),t.durationMs?(f(),y(`span`,wa,`· `+w(a(t.durationMs)),1)):T(``,!0)])]))),128))]))}}),[[`__scopeId`,`data-v-dd805632`]]),Ea={class:`notion-panel q-pa-md`},Da={class:`row items-center q-mb-sm`},Oa={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},ka={key:0,class:`q-mb-sm`},Aa={class:`text-caption text-grey-7`,style:{"font-size":`11px`}},ja={key:1,class:`text-caption text-grey-8 q-mb-sm`,style:{"font-size":`11px`}},Ma={key:2,class:`task-add-row row items-center q-mb-xs`},Na={key:3,class:`tasks-list`},Pa=[`onDblclick`],Fa={key:1,class:`text-caption text-grey-8`},Ia=lt(p({__name:`TasksPanel`,props:{workspace:{},tasks:{}},setup(t){let r=t,{t:i}=be(),a=Ae(),o=Le();function s(){r.workspace?.id&&wt(r.workspace.id,o,a)}let c=j(()=>r.tasks.filter(e=>!e.isAcceptanceCriterion)),l=j(()=>c.value.filter(e=>e.status===`done`).length),u=j(()=>c.value.length),d=j(()=>u.value>0?l.value/u.value:0),p=e(!1),m=e(``),h=e(null),g=e(``),v=e({});function b(e,t){if(t){let n=t.$el??t;v.value[e]=n}else delete v.value[e]}function D(){p.value=!0,m.value=``}async function ee(){let e=m.value.trim();if(!(!e||!r.workspace?.id))try{await a.createTask(r.workspace.id,e,!1),m.value=``,p.value=!1}catch{}}function te(){m.value=``,p.value=!1}function ne(e){h.value=e.id,g.value=e.title,O(()=>{let t=v.value[e.id]?.querySelector(`input, textarea`);t?.focus(),t?.select()})}async function F(e){if(h.value!==e.id)return;let t=g.value.trim(),n=e.id;if(h.value=null,!(!t||t===e.title)&&r.workspace?.id)try{await a.updateTaskTitle(r.workspace.id,n,t)}catch{}}function I(){h.value=null,g.value=``}async function L(e){if(r.workspace?.id)try{await a.deleteTask(r.workspace.id,e.id)}catch{}}async function re(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}`);a.fetchWorkspaceDetails(r.workspace.id)}catch(e){console.error(`Failed to toggle task:`,e)}}function ie(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function ae(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(e,r)=>(f(),y(`div`,Ea,[k(`div`,Da,[k(`div`,Oa,w(e.$t(`tasks.title`)),1),S(dt),t.workspace?(f(),E(H,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`fact_check`,color:`grey-5`,onClick:s},{default:_(()=>[S(K,null,{default:_(()=>[P(w(e.$t(`tasks.askProgress`)),1)]),_:1})]),_:1})):T(``,!0),t.workspace?(f(),E(H,{key:1,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,onClick:D},{default:_(()=>[S(K,null,{default:_(()=>[P(w(e.$t(`tooltip.addTask`)),1)]),_:1})]),_:1})):T(``,!0)]),t.workspace?(f(),y(C,{key:0},[u.value>0?(f(),y(`div`,ka,[S(Ye,{value:d.value,color:`primary`,"track-color":`grey-9`,class:`q-mb-xs`,style:{height:`4px`,"border-radius":`2px`}},null,8,[`value`]),k(`div`,Aa,w(e.$t(`notion.subtasks`,{done:l.value,total:u.value})),1)])):p.value?T(``,!0):(f(),y(`div`,ja,w(e.$t(`notion.noTasks`)),1)),p.value?(f(),y(`div`,Ma,[S(ge,{modelValue:m.value,"onUpdate:modelValue":r[0]||=e=>m.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:e.$t(`notion.newTask`),class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[A(M(ee,[`prevent`]),[`enter`]),A(M(te,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):T(``,!0),c.value.length>0?(f(),y(`div`,Na,[(f(!0),y(C,null,n(c.value,t=>(f(),y(`div`,{key:t.id,class:`task-item row items-center q-py-xxs`},[S(B,{name:ie(t.status),size:`14px`,style:N({color:ae(t.status)}),class:`q-mr-xs cursor-pointer`,onClick:e=>re(t)},null,8,[`name`,`style`,`onClick`]),h.value===t.id?(f(),E(ge,{key:0,ref_for:!0,ref:e=>b(t.id,e),modelValue:g.value,"onUpdate:modelValue":r[1]||=e=>g.value=e,dark:``,dense:``,borderless:``,class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[A(M(e=>F(t),[`prevent`]),[`enter`]),A(M(I,[`prevent`]),[`esc`])],onBlur:e=>F(t)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(f(),y(C,{key:1},[k(`span`,{class:x([`col task-title text-caption`,{"text-strike":t.status===`done`}]),style:N({color:t.status===`done`?`#4ade80`:`#ccc`}),onDblclick:e=>ne(t)},w(t.title),47,Pa),S(H,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`task-delete-btn`,onClick:e=>L(t)},{default:_(()=>[S(K,null,{default:_(()=>[P(w(e.$t(`tooltip.removeTask`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):T(``,!0)],64)):(f(),y(`div`,Fa,w(e.$t(`common.selectWorkspace`)),1))]))}}),[[`__scopeId`,`data-v-4bc9713a`]]),La=2,Ra=1,za=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(La,Math.floor(u/e.css.cell.width)),rows:Math.max(Ra,Math.floor(l/e.css.cell.height))}}},Ba=Object.defineProperty,Va=Object.getOwnPropertyDescriptor,Ha=(e,t)=>{for(var n in t)Ba(e,n,{get:t[n],enumerable:!0})},Ua=(e,t,n,r)=>{for(var i=r>1?void 0:r?Va(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&&Ba(t,n,i),i},J=(e,t)=>(n,r)=>t(n,r,e),Wa=`Terminal input`,Ga={get:()=>Wa,set:e=>Wa=e},Ka=`Too much output to announce, navigate to rows manually to read`,qa={get:()=>Ka,set:e=>Ka=e};function Ja(e){return e.replace(/\r?\n/g,`\r`)}function Ya(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function Xa(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function Za(e,t,n,r){e.stopPropagation(),e.clipboardData&&Qa(e.clipboardData.getData(`text/plain`),t,n,r)}function Qa(e,t,n,r){e=Ja(e),e=Ya(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function $a(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 eo(e,t,n,r,i){$a(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function to(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function no(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 ro=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}},io=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}},ao=``,oo=` `,so=class e{constructor(){this.fg=0,this.bg=0,this.extended=new co}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}},co=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}},lo=class e extends so{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new co,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?to(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()]}},uo=`di$target`,fo=`di$dependencies`,po=new Map;function mo(e){return e[fo]||[]}function ho(e){if(po.has(e))return po.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);go(t,e,r)};return t._id=e,po.set(e,t),t}function go(e,t,n){t[uo]===t?t[fo].push({id:e,index:n}):(t[fo]=[{id:e,index:n}],t[uo]=t)}var _o=ho(`BufferService`),vo=ho(`CoreMouseService`),yo=ho(`CoreService`),bo=ho(`CharsetService`),xo=ho(`InstantiationService`),So=ho(`LogService`),Co=ho(`OptionsService`),wo=ho(`OscLinkService`),To=ho(`UnicodeService`),Eo=ho(`DecorationService`),Do=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 lo,o=n.getTrimmedLength(),s=-1,c=-1,l=!1;for(let t=0;t<o;t++)if(!(c===-1&&!n.hasContent(t))){if(n.loadCell(t,a),a.hasExtendedAttrs()&&a.extended.urlId)if(c===-1){c=t,s=a.extended.urlId;continue}else l=a.extended.urlId!==s;else c!==-1&&(l=!0);if(l||c!==-1&&t===o-1){let n=this._oscLinkService.getLinkData(s)?.uri;if(n){let a={start:{x:c+1,y:e},end:{x:t+ +(!l&&t===o-1),y:e}},s=!1;if(!i?.allowNonHttpProtocols)try{let e=new URL(n);[`http:`,`https:`].includes(e.protocol)||(s=!0)}catch{s=!0}s||r.push({text:n,range:a,activate:(e,t)=>i?i.activate(e,t,a):Oo(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)}};Do=Ua([J(0,_o),J(1,Co),J(2,wo)],Do);function Oo(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-CfOhZMXv.js","assets/index-C0ylRsyw.js","assets/vue.runtime.esm-bundler-JZnIeD9D.js","assets/chunk-QTnfLwEv.js","assets/QSeparator-DWTCQxsa.js","assets/QIcon-C6E-oEjI.js","assets/use-checkbox-E9SV7iH5.js","assets/QInput-BF8x4RTv.js","assets/index-CwYR3iHt.css","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/render-chat-markdown-DahMoI2g.js","assets/QBadge-DV5kn4mL.js","assets/QBtnToggle-CC3TCOK8.js","assets/QBtnGroup-C442-yBb.js","assets/QChip-CLKcMuqJ.js","assets/QSelect-DUCHcz_p.js","assets/use-quasar-DCRxdLu-.js","assets/QTooltip-CUM1JiWx.js","assets/QList-D5EKdFPn.js","assets/pending-diff-open-BAyLIcQ6.js","assets/documents-CSi0kXxo.js","assets/TouchPan-DvWjWFLZ.js","assets/ClosePopup-DQgUw5Fk.js","assets/QSpace-ezNrZkuj.js","assets/QSpinnerDots-DIV68-cV.js","assets/build-path-tree-nLp-H-pQ.js","assets/DiffViewer-CRrDdYBa.css"])))=>i.map(i=>d[i]);
2
+ import{$ as e,A as t,B as n,C as r,D as i,F as a,G as o,H as s,I as c,M as l,P as u,Q as d,R as f,S as p,T as m,U as h,V as g,W as _,Y as v,_ as y,a as b,at as x,b as S,c as C,ct as w,g as T,h as E,it as D,k as O,m as k,o as A,p as j,s as M,st as N,x as ee,y as P,z as te}from"./vue.runtime.esm-bundler-JZnIeD9D.js";import{M as ne,N as F,S as I,_ as L,a as re,b as ie,g as ae,i as R,j as oe,l as z,m as se,n as ce,r as le,s as ue,t as B,y as de}from"./QIcon-C6E-oEjI.js";import{n as fe,p as pe,r as me,t as he}from"./QSeparator-DWTCQxsa.js";import{t as ge}from"./QInput-BF8x4RTv.js";import{B as _e,Ct as ve,F as ye,G as be,K as xe,P as Se,R as Ce,St as V,V as we,W as Te,Z as Ee,_t as De,a as Oe,bt as ke,d as Ae,et as je,ft as Me,g as Ne,gt as Pe,h as Fe,ht as Ie,l as Le,m as Re,mt as ze,n as Be,o as Ve,p as He,pt as Ue,r as We,s as Ge,t as Ke,u as qe,v as Je,xt as Ye,yt as Xe,z as H}from"./index-C0ylRsyw.js";import{n as U,r as W,t as Ze}from"./use-quasar-DCRxdLu-.js";import{c as Qe,l as $e,t as et}from"./QSelect-DUCHcz_p.js";import{d as G,f as tt,t as K}from"./QTooltip-CUM1JiWx.js";import{n as nt,r as rt,t as it}from"./documents-CSi0kXxo.js";import{t as q}from"./ClosePopup-DQgUw5Fk.js";import{t as at}from"./TouchPan-DvWjWFLZ.js";import{i as ot,r as st,t as ct}from"./render-chat-markdown-DahMoI2g.js";import{t as lt}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as ut}from"./QBadge-DV5kn4mL.js";import{t as dt}from"./QSpace-ezNrZkuj.js";import{t as ft}from"./QChip-CLKcMuqJ.js";import{t as pt}from"./QBtnGroup-C442-yBb.js";import{t as mt}from"./QList-D5EKdFPn.js";import{r as ht,t as gt}from"./build-path-tree-nLp-H-pQ.js";import{a as _t,c as vt,i as yt,l as bt,o as xt,s as St,t as Ct}from"./layout-BUYxQPjS.js";import{n as wt,r as Tt}from"./kobo-commands-C-rMOa-X.js";import{t as Et}from"./formatters-66ZLwD6M.js";import{a as Dt,i as Ot,n as kt,r as At}from"./project-color-B38mkxVB.js";import{t as jt}from"./use-onboarding-Bb-Hawzx.js";var Mt=150;function Nt(e,t){e.value!==t&&(e.value=t)}var Pt=F({name:`QDrawer`,inheritAttrs:!1,props:{...Ie,...le,side:{type:String,default:`left`,validator:e=>[`left`,`right`].includes(e)},width:{type:Number,default:300},mini:Boolean,miniToOverlay:Boolean,miniWidth:{type:Number,default:57},noMiniAnimation:Boolean,breakpoint:{type:Number,default:1023},showIfAbove:Boolean,behavior:{type:String,validator:e=>[`default`,`desktop`,`mobile`].includes(e),default:`default`},bordered:Boolean,elevated:Boolean,overlay:Boolean,persistent:Boolean,noSwipeOpen:Boolean,noSwipeClose:Boolean,noSwipeBackdrop:Boolean},emits:[...ze,`onLayout`,`miniState`],setup(t,{slots:n,emit:s,attrs:c}){let u=r(),{proxy:{$q:d}}=u,f=ce(t,d),{preventBodyScroll:p}=Ee(),{registerTimeout:g,removeTimeout:_}=De(),v=i(ae,se);if(v===se)return console.error(`QDrawer needs to be child of QLayout`),se;let y,b=null,x,S=e(t.behavior===`mobile`||t.behavior!==`desktop`&&v.totalWidth.value<=t.breakpoint),C=j(()=>t.mini&&!S.value),w=j(()=>C.value?t.miniWidth:t.width),T=j(()=>t.overlay||t.miniToOverlay||v.view.value.includes(I.value?`R`:`L`)||d.platform.is.ios&&v.isContainer.value),E=e(t.showIfAbove&&!S.value||t.modelValue===!0),D=j(()=>!t.overlay&&E.value&&!S.value),k=j(()=>t.overlay&&E.value&&!S.value),A=j(()=>!t.persistent&&(S.value||k.value));function M(e,t){if(te(),e!==!1&&v.animate(),Ce(0),S.value){let e=v.instances[le.value];e?.belowBreakpoint===!0&&e.hide(!1),V(1),v.isContainer.value||p(!0)}else V(0),e!==!1&&we(!1);g(()=>{e!==!1&&we(!0),t||s(`show`,e)},Mt)}function N(e,t){ne(),e!==!1&&v.animate(),V(0),Ce(L.value*w.value),Ae(),t?_():g(()=>{s(`hide`,e)},Mt)}let{show:ee,hide:P}=Ue({showing:E,hideOnRouteChange:A,handleShow:M,handleHide:N}),{addToHistory:te,removeFromHistory:ne}=Xe(E,P,A),F={belowBreakpoint:S,hide:P},I=j(()=>t.side===`right`),L=j(()=>(d.lang.rtl?-1:1)*(I.value?1:-1)),re=e(0),ie=e(!1),oe=e(!1),z=e(w.value*L.value),le=j(()=>I.value?`left`:`right`),B=j(()=>E.value&&!S.value&&!t.overlay?t.miniToOverlay?t.miniWidth:w.value:0),de=j(()=>`fullscreen q-drawer__backdrop`+(!E.value&&!ie.value?` hidden`:``)),fe=j(()=>({backgroundColor:`rgba(0,0,0,${re.value*.4})`})),pe=j(()=>I.value?v.rows.value.top[2]===`r`:v.rows.value.top[0]===`l`),me=j(()=>I.value?v.rows.value.bottom[2]===`r`:v.rows.value.bottom[0]===`l`),he=j(()=>{let e={};return v.header.space&&!pe.value&&(T.value?e.top=`${v.header.offset}px`:v.header.space&&(e.top=`${v.header.size}px`)),v.footer.space&&!me.value&&(T.value?e.bottom=`${v.footer.offset}px`:v.footer.space&&(e.bottom=`${v.footer.size}px`)),e}),ge=j(()=>{let e={width:`${w.value}px`,transform:`translateX(${z.value}px)`};return S.value?e:Object.assign(e,he.value)}),_e=j(()=>`q-drawer__content fit `+(v.isContainer.value?`overflow-auto`:`scroll`)),ve=j(()=>`q-drawer q-drawer--${t.side}`+(oe.value?` q-drawer--mini-animate`:``)+(t.bordered?` q-drawer--bordered`:``)+(f.value?` q-drawer--dark q-dark`:``)+(ie.value?` no-transition`:E.value?``:` q-layout--prevent-focus`)+(S.value?` fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding`:` q-drawer--${C.value?`mini`:`standard`}`+(T.value||!D.value?` fixed`:``)+(t.overlay||t.miniToOverlay?` q-drawer--on-top`:``)+(pe.value?` q-drawer--top-padding`:``))),ye=j(()=>[[at,Oe,void 0,{[d.lang.rtl?t.side:le.value]:!0,mouse:!0}]]),be=j(()=>[[at,ke,void 0,{[d.lang.rtl?le.value:t.side]:!0,mouse:!0}]]),xe=j(()=>[[at,ke,void 0,{[d.lang.rtl?le.value:t.side]:!0,mouse:!0,mouseAllDir:!0}]]);function Se(){Nt(S,t.behavior===`mobile`||t.behavior!==`desktop`&&v.totalWidth.value<=t.breakpoint)}h(S,e=>{e?(y=E.value,E.value&&P(!1)):!t.overlay&&t.behavior!==`mobile`&&y!==!1&&(E.value?(Ce(0),V(0),Ae()):ee(!1))}),h(()=>t.side,(e,t)=>{v.instances[t]===F&&(v.instances[t]=void 0,v[t].space=!1,v[t].offset=0),v.instances[e]=F,v[e].size=w.value,v[e].space=D.value,v[e].offset=B.value}),h(v.totalWidth,()=>{(v.isContainer.value||!document.qScrollPrevented)&&Se()}),h(()=>t.behavior+t.breakpoint,Se),h(v.isContainer,e=>{E.value&&p(!e),e&&Se()}),h(v.scrollbarWidth,()=>{Ce(E.value?0:void 0)}),h(B,e=>{je(`offset`,e)}),h(D,e=>{s(`onLayout`,e),je(`space`,e)}),h(I,()=>{Ce()}),h(w,e=>{Ce(),Me(t.miniToOverlay,e)}),h(()=>t.miniToOverlay,e=>{Me(e,w.value)}),h(()=>d.lang.rtl,()=>{Ce()}),h(()=>t.mini,()=>{t.noMiniAnimation||t.modelValue&&(Te(),v.animate())}),h(C,e=>{s(`miniState`,e)});function Ce(e){e===void 0?O(()=>{e=E.value?0:w.value,Ce(L.value*e)}):(v.isContainer.value&&I.value&&(S.value||Math.abs(e)===w.value)&&(e+=L.value*v.scrollbarWidth.value),z.value=e)}function V(e){re.value=e}function we(e){let t=e?`remove`:v.isContainer.value?``:`add`;t!==``&&document.body.classList[t](`q-body--drawer-toggle`)}function Te(){b!==null&&clearTimeout(b),u.proxy&&u.proxy.$el&&u.proxy.$el.classList.add(`q-drawer--mini-animate`),oe.value=!0,b=setTimeout(()=>{b=null,oe.value=!1,u?.proxy?.$el?.classList.remove(`q-drawer--mini-animate`)},150)}function Oe(e){if(E.value)return;let t=w.value,n=tt(e.distance.x,0,t);if(e.isFinal){n>=Math.min(75,t)?ee():(v.animate(),V(0),Ce(L.value*t)),ie.value=!1;return}Ce((d.lang.rtl?!I.value:I.value)?Math.max(t-n,0):Math.min(0,n-t)),V(tt(n/t,0,1)),e.isFirst&&(ie.value=!0)}function ke(e){if(!E.value)return;let n=w.value,r=e.direction===t.side,i=(d.lang.rtl?!r:r)?tt(e.distance.x,0,n):0;if(e.isFinal){Math.abs(i)<Math.min(75,n)?(v.animate(),V(1),Ce(0)):P(),ie.value=!1;return}Ce(L.value*i),V(tt(1-i/n,0,1)),e.isFirst&&(ie.value=!0)}function Ae(){p(!1),we(!0)}function je(e,n){v.update(t.side,e,n)}function Me(e,n){je(`size`,e?t.miniWidth:n)}return v.instances[t.side]=F,Me(t.miniToOverlay,w.value),je(`space`,D.value),je(`offset`,B.value),t.showIfAbove&&!t.modelValue&&E.value&&t[`onUpdate:modelValue`]!==void 0&&s(`update:modelValue`,!0),a(()=>{s(`onLayout`,D.value),s(`miniState`,C.value),y=t.showIfAbove;let e=()=>{(E.value?M:N)(!1,!0)};if(v.totalWidth.value!==0){O(e);return}x=h(v.totalWidth,()=>{x(),x=void 0,!E.value&&t.showIfAbove&&!S.value?ee(!1):e()})}),l(()=>{x?.(),b!==null&&(clearTimeout(b),b=null),E.value&&Ae(),v.instances[t.side]===F&&(v.instances[t.side]=void 0,je(`size`,0),je(`offset`,0),je(`space`,!1))}),()=>{let e=[];S.value&&(t.noSwipeOpen||e.push(o(m(`div`,{key:`open`,class:`q-drawer__opener fixed-${t.side}`,"aria-hidden":`true`}),ye.value)),e.push(R(`div`,{ref:`backdrop`,class:de.value,style:fe.value,"aria-hidden":`true`,onClick:P},void 0,`backdrop`,!t.noSwipeBackdrop&&E.value,()=>xe.value)));let r=C.value&&n.mini!==void 0,i=[m(`div`,{...c,key:String(r),class:[_e.value,c.class]},r?n.mini():ue(n.default))];return t.elevated&&E.value&&i.push(m(`div`,{class:`q-layout__shadow absolute-full overflow-hidden no-pointer-events`})),e.push(R(`aside`,{ref:`content`,class:ve.value,style:ge.value},i,`contentclose`,!t.noSwipeClose&&S.value,()=>be.value)),m(`div`,{class:`q-drawer-container`},e)}}}),Ft=0,It=[`click`,`keydown`],Lt={icon:String,label:[Number,String],alert:[Boolean,String],alertIcon:String,name:{type:[Number,String],default:()=>`t_${Ft++}`},noCaps:Boolean,tabindex:[String,Number],disable:Boolean,contentClass:String,ripple:{type:[Boolean,Object],default:!0}};function Rt(t,n,s,c){let u=i(de,se);if(u===se)return console.error(`QTab/QRouteTab component needs to be child of QTabs`),se;let{proxy:d}=r(),f=e(null),p=e(null),h=e(null),g=j(()=>t.disable||t.ripple===!1?!1:{keyCodes:[13,32],early:!0,...t.ripple===!0?{}:t.ripple}),_=j(()=>u.currentModel.value===t.name),v=j(()=>`q-tab relative-position self-stretch flex flex-center text-center`+(_.value?` q-tab--active`+(u.tabProps.value.activeClass?` `+u.tabProps.value.activeClass:``)+(u.tabProps.value.activeColor?` text-${u.tabProps.value.activeColor}`:``)+(u.tabProps.value.activeBgColor?` bg-${u.tabProps.value.activeBgColor}`:``):` q-tab--inactive`)+(t.icon&&t.label&&!u.tabProps.value.inlineLabel?` q-tab--full`:``)+(t.noCaps||u.tabProps.value.noCaps?` q-tab--no-caps`:``)+(t.disable?` disabled`:` q-focusable q-hoverable cursor-pointer`)+(c===void 0?``:c.linkClass.value)),y=j(()=>`q-tab__content self-stretch flex-center relative-position q-anchor--skip non-selectable `+(u.tabProps.value.inlineLabel?`row no-wrap q-tab__content--inline`:`column`)+(t.contentClass===void 0?``:` ${t.contentClass}`)),b=j(()=>t.disable||u.hasFocus.value||!_.value&&u.hasActiveTab.value?-1:t.tabindex||0);function x(e,n){if(!n&&!e?.qAvoidFocus&&f.value?.focus(),t.disable){c?.hasRouterLink.value===!0&&ne(e);return}if(c===void 0){u.updateModel({name:t.name}),s(`click`,e);return}if(c.hasRouterLink.value){let n=(n={})=>{let r,i=n.to===void 0||ve(n.to,t.to)?u.avoidRouteWatcher=me():null;return c.navigateToRouterLink(e,{...n,returnRouterError:!0}).catch(e=>{r=e}).then(e=>{if(i===u.avoidRouteWatcher&&(u.avoidRouteWatcher=!1,r===void 0&&(e===void 0||e.message?.startsWith(`Avoided redundant navigation`)===!0)&&u.updateModel({name:t.name})),n.returnRouterError)return r===void 0?e:Promise.reject(r)})};s(`click`,e,n),e.defaultPrevented||n();return}s(`click`,e)}function S(e){ie(e,[13,32])?x(e,!0):!I(e)&&e.keyCode>=35&&e.keyCode<=40&&!e.altKey&&!e.metaKey&&u.onKbdNavigate(e.keyCode,d.$el)&&ne(e),s(`keydown`,e)}function C(){let e=u.tabProps.value.narrowIndicator,r=[],i=m(`div`,{ref:h,class:[`q-tab__indicator`,u.tabProps.value.indicatorClass]});t.icon!==void 0&&r.push(m(B,{class:`q-tab__icon`,name:t.icon})),t.label!==void 0&&r.push(m(`div`,{class:`q-tab__label`},t.label)),t.alert&&r.push(t.alertIcon===void 0?m(`div`,{class:`q-tab__alert`+(t.alert===!0?``:` text-${t.alert}`)}):m(B,{class:`q-tab__alert-icon`,color:t.alert===!0?void 0:t.alert,name:t.alertIcon})),e&&r.push(i);let a=[m(`div`,{class:`q-focus-helper`,tabindex:-1,ref:f}),m(`div`,{class:y.value},re(n.default,r))];return e||a.push(i),a}let w={name:j(()=>t.name),rootRef:p,tabIndicatorRef:h,routeData:c};l(()=>{u.unregisterTab(w)}),a(()=>{u.registerTab(w)});function T(e,n){return o(m(e,{ref:p,class:v.value,tabindex:b.value,role:`tab`,"aria-selected":_.value?`true`:`false`,"aria-disabled":t.disable?`true`:void 0,onClick:x,onKeydown:S,...n},C()),[[Te,g.value]])}return{renderTab:T,$tabs:u}}var zt=F({name:`QTab`,props:Lt,emits:It,setup(e,{slots:t,emit:n}){let{renderTab:r}=Rt(e,t,n);return()=>r(`div`)}});function Bt(e,t,n){let r=n?[`left`,`right`]:[`top`,`bottom`];return`absolute-${t?r[0]:r[1]}${e?` text-${e}`:``}`}function Vt(e,t){for(let n in e)if(e[n]!==t[n])return!1;return!0}var Ht=[`left`,`center`,`right`,`justify`],Ut=F({name:`QTabs`,props:{modelValue:[Number,String],align:{type:String,default:`center`,validator:e=>Ht.includes(e)},breakpoint:{type:[String,Number],default:600},vertical:Boolean,shrink:Boolean,stretch:Boolean,activeClass:String,activeColor:String,activeBgColor:String,indicatorColor:String,leftIcon:String,rightIcon:String,outsideArrows:Boolean,mobileArrows:Boolean,switchIndicator:Boolean,narrowIndicator:Boolean,inlineLabel:Boolean,noCaps:Boolean,dense:Boolean,contentClass:String,"onUpdate:modelValue":[Function,Array]},setup(n,{slots:i,emit:a}){let{proxy:o}=r(),{$q:s}=o,{registerTick:c}=Pe(),{registerTick:d}=Pe(),{registerTick:f}=Pe(),{registerTimeout:p,removeTimeout:g}=De(),{registerTimeout:_,removeTimeout:v}=De(),y=e(null),b=e(null),x=e(n.modelValue),S=e(!1),C=e(!0),w=e(!1),T=e(!1),E=[],D=e(0),O=e(!1),k=null,A=null,M,N=j(()=>({activeClass:n.activeClass,activeColor:n.activeColor,activeBgColor:n.activeBgColor,indicatorClass:Bt(n.indicatorColor,n.switchIndicator,n.vertical),narrowIndicator:n.narrowIndicator,inlineLabel:n.inlineLabel,noCaps:n.noCaps})),ee=j(()=>{let e=D.value,t=x.value;for(let n=0;n<e;n++)if(E[n].name.value===t)return!0;return!1}),P=j(()=>`q-tabs__content--align-${S.value?`left`:T.value?`justify`:n.align}`),ne=j(()=>`q-tabs row no-wrap items-center q-tabs--${S.value?``:`not-`}scrollable q-tabs--${n.vertical?`vertical`:`horizontal`} q-tabs__arrows--${n.outsideArrows?`outside`:`inside`} q-tabs--mobile-with${n.mobileArrows?``:`out`}-arrows`+(n.dense?` q-tabs--dense`:``)+(n.shrink?` col-shrink`:``)+(n.stretch?` self-stretch`:``)),F=j(()=>`q-tabs__content scroll--mobile row no-wrap items-center self-stretch hide-scrollbar relative-position `+P.value+(n.contentClass===void 0?``:` ${n.contentClass}`)),I=j(()=>n.vertical?{container:`height`,content:`offsetHeight`,scroll:`scrollHeight`}:{container:`width`,content:`offsetWidth`,scroll:`scrollWidth`}),L=j(()=>!n.vertical&&s.lang.rtl===!0),re=j(()=>!G&&L.value);h(L,se),h(()=>n.modelValue,e=>{ie({name:e,setCurrent:!0,skipEmit:!0})}),h(()=>n.outsideArrows,ae);function ie({name:e,setCurrent:t,skipEmit:r}){x.value!==e&&(!r&&n[`onUpdate:modelValue`]!==void 0&&a(`update:modelValue`,e),(t||n[`onUpdate:modelValue`]===void 0)&&(oe(x.value,e),x.value=e))}function ae(){c(()=>{y.value&&R({width:y.value.offsetWidth,height:y.value.offsetHeight})})}function R(e){if(I.value===void 0||b.value===null)return;let t=e[I.value.container],r=Math.min(b.value[I.value.scroll],Array.prototype.reduce.call(b.value.children,(e,t)=>e+(t[I.value.content]||0),0)),i=t>0&&r>t;S.value=i,i&&d(se),T.value=t<Number.parseInt(n.breakpoint,10)}function oe(e,t){let r=e!=null&&e!==``?E.find(t=>t.name.value===e):null,i=t!=null&&t!==``?E.find(e=>e.name.value===t):null;if(Ee)Ee=!1;else if(r&&i){let e=r.tabIndicatorRef.value,t=i.tabIndicatorRef.value;k!==null&&(clearTimeout(k),k=null),e.style.transition=`none`,e.style.transform=`none`,t.style.transition=`none`,t.style.transform=`none`;let a=e.getBoundingClientRect(),o=t.getBoundingClientRect();t.style.transform=n.vertical?`translate3d(0,${a.top-o.top}px,0) scale3d(1,${o.height?a.height/o.height:1},1)`:`translate3d(${a.left-o.left}px,0,0) scale3d(${o.width?a.width/o.width:1},1,1)`,f(()=>{k=setTimeout(()=>{k=null,t.style.transition=`transform .25s cubic-bezier(.4, 0, .2, 1)`,t.style.transform=`none`},70)})}i&&S.value&&z(i.rootRef.value)}function z(e){let{left:t,width:r,top:i,height:a}=b.value.getBoundingClientRect(),o=e.getBoundingClientRect(),s=n.vertical?o.top-i:o.left-t;if(s<0){b.value[n.vertical?`scrollTop`:`scrollLeft`]+=Math.floor(s),se();return}s+=n.vertical?o.height-a:o.width-r,s>0&&(b.value[n.vertical?`scrollTop`:`scrollLeft`]+=Math.ceil(s),se())}function se(){let e=b.value;if(e===null)return;let t=e.getBoundingClientRect(),r=n.vertical?e.scrollTop:Math.abs(e.scrollLeft);L.value?(C.value=Math.ceil(r+t.width)<e.scrollWidth-1,w.value=r>0):(C.value=r>0,w.value=n.vertical?Math.ceil(r+t.height)<e.scrollHeight:Math.ceil(r+t.width)<e.scrollWidth)}function ce(e){A!==null&&clearInterval(A),A=setInterval(()=>{ge(e)&&pe()},5)}function le(){ce(re.value?2**53-1:0)}function fe(){ce(re.value?0:2**53-1)}function pe(){A!==null&&(clearInterval(A),A=null)}function me(e,t){let r=Array.prototype.filter.call(b.value.children,e=>e===t||e.matches?.(`.q-tab.q-focusable`)),i=r.length;if(i===0)return;if(e===36)return z(r[0]),r[0].focus(),!0;if(e===35)return z(r[i-1]),r[i-1].focus(),!0;let a=e===(n.vertical?38:37),o=e===(n.vertical?40:39),s=a?-1:o?1:void 0;if(s!==void 0){let e=n.vertical!==!0&&L.value?-1:1,a=(r.indexOf(t)+s*e+i)%i;return z(r[a]),r[a].focus({preventScroll:!0}),!0}}let he=j(()=>re.value?{get:e=>Math.abs(e.scrollLeft),set:(e,t)=>{e.scrollLeft=-t}}:n.vertical?{get:e=>e.scrollTop,set:(e,t)=>{e.scrollTop=t}}:{get:e=>e.scrollLeft,set:(e,t)=>{e.scrollLeft=t}});function ge(e){let t=b.value,{get:n,set:r}=he.value,i=!1,a=n(t),o=e<a?-1:1;return a+=o*5,a<0?(i=!0,a=0):(o===-1&&a<=e||o===1&&a>=e)&&(i=!0,a=e),r(t,a),se(),i}function _e(){let e=null,t={matchedLen:0,queryDiff:9999,hrefLen:0},n=E.filter(e=>e.routeData?.hasRouterLink.value===!0),{hash:r,query:i}=o.$route,a=Object.keys(i).length;for(let o of n){let n=o.routeData.exact.value===!0;if(!o.routeData[n?`linkIsExactActive`:`linkIsActive`].value)continue;let{hash:s,query:c,matched:l,href:u}=o.routeData.resolvedLink.value,d=Object.keys(c).length;if(n){if(s!==r||d!==a||!Vt(i,c))continue;e=o.name.value;break}if(s!==``&&s!==r||d!==0&&!Vt(c,i))continue;let f={matchedLen:l.length,queryDiff:a-d,hrefLen:u.length-s.length};if(f.matchedLen>t.matchedLen){e=o.name.value,t=f;continue}else if(f.matchedLen!==t.matchedLen)continue;if(f.queryDiff<t.queryDiff)e=o.name.value,t=f;else if(f.queryDiff!==t.queryDiff)continue;f.hrefLen>t.hrefLen&&(e=o.name.value,t=f)}if(e===null&&E.some(e=>e.routeData===void 0&&e.name.value===x.value)){Ee=!1;return}ie({name:e,setCurrent:!0})}function ve(e){if(g(),!O.value&&y.value!==null&&e.target&&typeof e.target.closest==`function`){let t=e.target.closest(`.q-tab`);t&&y.value.contains(t)&&(O.value=!0,S.value&&z(t))}}function ye(){p(()=>{O.value=!1},30)}function be(){V.avoidRouteWatcher===!1?_(_e):v()}function xe(){if(M===void 0){let e=h(()=>o.$route.fullPath,be);M=()=>{e(),M=void 0}}}function Se(e){E.push(e),D.value++,ae(),e.routeData===void 0||o.$route===void 0?_(()=>{if(S.value){let e=x.value,t=e!=null&&e!==``?E.find(t=>t.name.value===e):null;t&&z(t.rootRef.value)}}):(xe(),e.routeData.hasRouterLink.value&&be())}function Ce(e){E.splice(E.indexOf(e),1),D.value--,ae(),M!==void 0&&e.routeData!==void 0&&(E.every(e=>e.routeData===void 0)&&M(),be())}let V={currentModel:x,tabProps:N,hasFocus:O,hasActiveTab:ee,registerTab:Se,unregisterTab:Ce,verifyRouteModel:be,updateModel:ie,onKbdNavigate:me,avoidRouteWatcher:!1};te(de,V);function we(){k!==null&&clearTimeout(k),pe(),M?.()}let Te=!1,Ee=!1;return l(we),u(()=>{Te=M!==void 0,we()}),t(()=>{Te&&(xe(),Ee=!0,be()),ae()}),()=>m(`div`,{ref:y,class:ne.value,role:`tablist`,"aria-orientation":n.vertical?`vertical`:`horizontal`,onFocusin:ve,onFocusout:ye},[m(rt,{onResize:R}),m(`div`,{ref:b,class:F.value,onScroll:se},ue(i.default)),m(B,{class:`q-tabs__arrow q-tabs__arrow--left absolute q-tab__icon`+(C.value?``:` q-tabs__arrow--faded`),name:n.leftIcon||s.iconSet.tabs[n.vertical?`up`:`left`],onMousedownPassive:le,onTouchstartPassive:le,onMouseupPassive:pe,onMouseleavePassive:pe,onTouchendPassive:pe}),m(B,{class:`q-tabs__arrow q-tabs__arrow--right absolute q-tab__icon`+(w.value?``:` q-tabs__arrow--faded`),name:n.rightIcon||s.iconSet.tabs[n.vertical?`down`:`right`],onMousedownPassive:fe,onTouchstartPassive:fe,onMouseupPassive:pe,onMouseleavePassive:pe,onTouchendPassive:pe})])}}),Wt=F({name:`QTabPanel`,props:St,setup(e,{slots:t}){return()=>m(`div`,{class:`q-tab-panel`,role:`tabpanel`},ue(t.default))}}),Gt=F({name:`QTabPanels`,props:{...bt,...le},emits:vt,setup(e,{slots:t}){let n=ce(e,r().proxy.$q),{updatePanelsList:i,getPanelContent:a,panelDirectives:o}=xt(),s=j(()=>`q-tab-panels q-panel-parent`+(n.value?` q-tab-panels--dark q-dark`:``));return()=>(i(t),R(`div`,{class:s.value},a(),`pan`,e.swipeable,()=>o.value))}}),Kt=F({name:`QPageContainer`,setup(e,{slots:t}){let{proxy:{$q:n}}=r(),a=i(ae,se);if(a===se)return console.error(`QPageContainer needs to be child of QLayout`),se;te(L,!0);let o=j(()=>{let e={};return a.header.space&&(e.paddingTop=`${a.header.size}px`),a.right.space&&(e[`padding${n.lang.rtl?`Left`:`Right`}`]=`${a.right.size}px`),a.footer.space&&(e.paddingBottom=`${a.footer.size}px`),a.left.space&&(e[`padding${n.lang.rtl?`Right`:`Left`}`]=`${a.left.size}px`),e});return()=>m(`div`,{class:`q-page-container`,style:o.value},ue(t.default))}}),qt=/^(h|l)h(h|r) lpr (f|l)f(f|r)$/,Jt=F({name:`QLayout`,props:{container:Boolean,view:{type:String,default:`hhh lpr fff`,validator:e=>qt.test(e.toLowerCase())},onScroll:Function,onScrollHeight:Function,onResize:Function},setup(t,{slots:n,emit:i}){let{proxy:{$q:a}}=r(),o=e(null),s=e(a.screen.height),l=e(t.container?0:a.screen.width),u=e({position:0,direction:`down`,inflectionPoint:0}),f=e(0),p=e(pe.value?0:je()),g=j(()=>`q-layout q-layout--`+(t.container?`containerized`:`standard`)),_=j(()=>t.container?null:{minHeight:a.screen.height+`px`}),v=j(()=>p.value===0?null:{[a.lang.rtl?`left`:`right`]:`${p.value}px`}),y=j(()=>p.value===0?null:{[a.lang.rtl?`right`:`left`]:0,[a.lang.rtl?`left`:`right`]:`-${p.value}px`,width:`calc(100% + ${p.value}px)`});function b(e){if(t.container||!document.qScrollPrevented){let n={position:e.position.top,direction:e.direction,directionChanged:e.directionChanged,inflectionPoint:e.inflectionPoint.top,delta:e.delta.top};u.value=n,t.onScroll!==void 0&&i(`scroll`,n)}}function x(e){let{height:n,width:r}=e,a=!1;s.value!==n&&(a=!0,s.value=n,t.onScrollHeight!==void 0&&i(`scrollHeight`,n),C()),l.value!==r&&(a=!0,l.value=r),a&&t.onResize!==void 0&&i(`resize`,e)}function S({height:e}){f.value!==e&&(f.value=e,C())}function C(){if(t.container){let e=s.value>f.value?je():0;p.value!==e&&(p.value=e)}}let w=null,T={instances:{},view:j(()=>t.view),isContainer:j(()=>t.container),rootRef:o,height:s,containerHeight:f,scrollbarWidth:p,totalWidth:j(()=>l.value+p.value),rows:j(()=>{let e=t.view.toLowerCase().split(` `);return{top:[...e[0]],middle:[...e[1]],bottom:[...e[2]]}}),header:d({size:0,offset:0,space:!1}),right:d({size:300,offset:0,space:!1}),footer:d({size:0,offset:0,space:!1}),left:d({size:300,offset:0,space:!1}),scroll:u,animate(){w===null?document.body.classList.add(`q-body--layout-animate`):clearTimeout(w),w=setTimeout(()=>{w=null,document.body.classList.remove(`q-body--layout-animate`)},155)},update(e,t,n){T[e][t]=n}};if(te(ae,T),je()>0){let e=null,n=document.body,r=()=>{e=null,n.classList.remove(`hide-scrollbar`)},i=()=>{if(e===null){if(n.scrollHeight>a.screen.height)return;n.classList.add(`hide-scrollbar`)}else clearTimeout(e);e=setTimeout(r,300)},o=t=>{e!==null&&t===`remove`&&(clearTimeout(e),r()),window[`${t}EventListener`](`resize`,i)};h(()=>t.container?`remove`:`add`,o),t.container||o(`add`),c(()=>{o(`remove`)})}return()=>{let e=re(n.default,[m(nt,{onScroll:b}),m(rt,{onResize:x})]),r=m(`div`,{class:g.value,style:_.value,ref:t.container?void 0:o,tabindex:-1},e);return t.container?m(`div`,{class:`q-layout-container overflow-hidden`,ref:o},[m(rt,{onResize:S}),m(`div`,{class:`absolute-full`,style:v.value},[m(`div`,{class:`scroll`,style:y.value},[r])])]):r}}}),Yt={class:`acceptance-panel q-pa-md`},Xt={class:`row items-center q-mb-sm`},Zt={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},Qt={key:0,class:`criterion-add-row row items-center q-mb-xs`},$t={key:1,class:`acceptance-list`},en=[`onDblclick`],tn={key:2,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},nn=lt(p({__name:`AcceptancePanel`,props:{tasks:{}},setup(t){let{t:r}=be(),i=Ae(),a=Le();function o(){let e=i.selectedWorkspaceId;e&&wt(e,a,i)}let s=e(!1),c=e(``),l=e(null),u=e(``),d=e({});function p(e,t){if(t){let n=t.$el??t;d.value[e]=n}else delete d.value[e]}function m(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function h(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}async function g(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}`);i.selectedWorkspaceId&&i.fetchWorkspaceDetails(i.selectedWorkspaceId)}catch(e){console.error(`Failed to update task:`,e)}}function v(){s.value=!0,c.value=``}async function b(){let e=c.value.trim(),t=i.selectedWorkspace?.id;if(!(!e||!t))try{await i.createTask(t,e,!0),c.value=``,s.value=!1}catch{}}function j(){c.value=``,s.value=!1}function ee(e){l.value=e.id,u.value=e.title,O(()=>{let t=d.value[e.id]?.querySelector(`input, textarea`);t?.focus(),t?.select()})}async function te(e){if(l.value!==e.id)return;let t=u.value.trim(),n=e.id;if(l.value=null,!t||t===e.title)return;let r=i.selectedWorkspace?.id;if(r)try{await i.updateTaskTitle(r,n,t)}catch{}}function ne(){l.value=null,u.value=``}async function F(e){let t=i.selectedWorkspace?.id;if(t)try{await i.deleteTask(t,e.id)}catch{}}return(e,r)=>(f(),y(`div`,Yt,[k(`div`,Xt,[k(`div`,Zt,w(e.$t(`acceptance.title`)),1),S(dt),D(i).selectedWorkspace?(f(),E(H,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`fact_check`,color:`grey-5`,onClick:o},{default:_(()=>[S(K,null,{default:_(()=>[P(w(e.$t(`tasks.askProgress`)),1)]),_:1})]),_:1})):T(``,!0),D(i).selectedWorkspace?(f(),E(H,{key:1,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,onClick:v},{default:_(()=>[S(K,null,{default:_(()=>[P(w(e.$t(`tooltip.addCriterion`)),1)]),_:1})]),_:1})):T(``,!0)]),s.value?(f(),y(`div`,Qt,[S(ge,{modelValue:c.value,"onUpdate:modelValue":r[0]||=e=>c.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:e.$t(`acceptance.newCriterion`),class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[A(M(b,[`prevent`]),[`enter`]),A(M(j,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):T(``,!0),t.tasks.length>0?(f(),y(`div`,$t,[(f(!0),y(C,null,n(t.tasks,t=>(f(),y(`div`,{key:t.id,class:`acceptance-item row items-center q-mb-xxs`},[S(B,{name:m(t.status),size:`16px`,style:N({color:h(t.status)}),class:`q-mr-xs cursor-pointer`,onClick:e=>g(t)},null,8,[`name`,`style`,`onClick`]),l.value===t.id?(f(),E(ge,{key:0,ref_for:!0,ref:e=>p(t.id,e),modelValue:u.value,"onUpdate:modelValue":r[1]||=e=>u.value=e,dark:``,dense:``,borderless:``,class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[A(M(e=>te(t),[`prevent`]),[`enter`]),A(M(ne,[`prevent`]),[`esc`])],onBlur:e=>te(t)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(f(),y(C,{key:1},[k(`span`,{class:x([`col acceptance-title text-caption`,{"text-strike":t.status===`done`}]),style:N({color:t.status===`done`?`#4ade80`:`#ccc`}),onDblclick:e=>ee(t)},w(t.title),47,en),S(H,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`criterion-delete-btn`,onClick:e=>F(t)},{default:_(()=>[S(K,null,{default:_(()=>[P(w(e.$t(`tooltip.removeCriterion`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):s.value?T(``,!0):(f(),y(`div`,tn,w(e.$t(`acceptance.empty`)),1))]))}}),[[`__scopeId`,`data-v-20a94a3d`]]),rn={class:`agent-todos-panel q-pa-md`},an={class:`row items-center q-mb-sm`},on={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},sn={key:0,class:`todos-list`},cn={key:1,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},ln=lt(p({__name:`AgentTodosPanel`,setup(e){let{t}=be(),r=Ae();function i(e){switch(e){case`completed`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function a(e){switch(e){case`completed`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(e,t)=>(f(),y(`div`,rn,[k(`div`,an,[k(`div`,on,w(e.$t(`agentTodos.title`)),1)]),D(r).currentAgentTodos.length>0?(f(),y(`div`,sn,[(f(!0),y(C,null,n(D(r).currentAgentTodos,(e,t)=>(f(),y(`div`,{key:t,class:`todo-item row items-start q-py-xxs`},[S(B,{name:i(e.status),size:`14px`,style:N({color:a(e.status)}),class:`q-mr-xs q-mt-xxs`},null,8,[`name`,`style`]),k(`span`,{class:x([`col todo-title text-caption`,{"text-strike":e.status===`completed`}]),style:N({color:e.status===`completed`?`#4ade80`:`#ccc`})},w(e.content),7)]))),128))])):(f(),y(`div`,cn,w(e.$t(`agentTodos.empty`)),1))]))}}),[[`__scopeId`,`data-v-6a3613f7`]]),un={class:`documents-panel q-pa-md`},dn={class:`row items-center justify-between q-mb-sm`},fn={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},pn={key:0,class:`text-caption text-grey-8`},mn={key:1,class:`text-center q-py-lg`},hn={key:2,class:`text-caption text-grey-8 text-center q-py-lg`},gn={key:0,class:`text-center q-py-lg`},_n=[`innerHTML`],vn=lt(p({__name:`DocumentsPanel`,props:{workspace:{}},setup(e){let t=e,{t:n}=be(),r=Ze(),i=it(),a=j(()=>t.workspace?i.documentsFor(t.workspace.id):[]),o=j(()=>gt(a.value)),s=j(()=>i.selected?.path??null),c=j(()=>{if(!i.selected)return``;let e=ot.parse(i.selected.content,{async:!1,breaks:!0,gfm:!0});return st.sanitize(e)});async function l(){t.workspace&&await i.fetchDocuments(t.workspace.id)}async function u(e){if(!(!t.workspace||!e.file))try{await i.openDocument(t.workspace.id,e.file)}catch{r.notify({type:`negative`,message:n(`documents.loadFailed`),position:`top`})}}function d(){i.closeDocument()}return h(()=>t.workspace?.id,e=>{i.closeDocument(),e&&i.fetchDocuments(e)},{immediate:!0}),(t,n)=>(f(),y(`div`,un,[k(`div`,dn,[k(`div`,fn,w(t.$t(`documents.title`)),1),D(i).selected?(f(),E(H,{key:1,flat:``,dense:``,"no-caps":``,size:`sm`,icon:`arrow_back`,label:t.$t(`documents.back`),color:`grey-5`,onClick:d},null,8,[`label`])):(f(),E(H,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,loading:D(i).loadingList,onClick:l},{default:_(()=>[S(K,null,{default:_(()=>[P(w(t.$t(`documents.refresh`)),1)]),_:1})]),_:1},8,[`loading`]))]),D(i).selected?(f(),y(C,{key:1},[D(i).loadingContent?(f(),y(`div`,gn,[S(z,{size:`24px`,color:`grey-6`})])):(f(),y(`div`,{key:1,class:`document-content`,innerHTML:c.value},null,8,_n))],64)):(f(),y(C,{key:0},[e.workspace?D(i).loadingList?(f(),y(`div`,mn,[S(z,{size:`24px`,color:`grey-6`})])):a.value.length===0?(f(),y(`div`,hn,w(t.$t(`documents.empty`)),1)):(f(),E(ht,{key:3,nodes:o.value,"node-key":`nodeKey`,"label-key":`label`,"children-key":`children`,dark:``,dense:``,"default-expand-all":``,"no-selection-unset":``,selected:s.value?`file:${s.value}`:``,class:`documents-tree`,"onUpdate:selected":n[0]||=e=>{if(typeof e!=`string`||!e.startsWith(`file:`))return;let t=a.value.find(t=>`file:${t.path}`===e);t&&u({file:t})}},{"default-header":_(({node:e})=>[S(B,{name:e.isFolder?`folder`:`description`,color:e.isFolder?`indigo-4`:`grey-5`,size:`14px`,class:`q-mr-xs`},null,8,[`name`,`color`]),k(`span`,{class:x(e.isFolder?`text-grey-4`:`text-grey-3`),style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},w(e.label),3)]),_:1},8,[`nodes`,`selected`])):(f(),y(`div`,pn,w(t.$t(`common.selectWorkspace`)),1))],64))]))}}),[[`__scopeId`,`data-v-89e5de13`]]),yn=Object.keys(we);function bn(e){return yn.reduce((t,n)=>{let r=e[n];return r!==void 0&&(t[n]=r),t},{})}var xn=F({name:`QBtnDropdown`,props:{...we,...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(t,{slots:n,emit:i}){let{proxy:o}=r(),s=e(t.modelValue),c=e(null),l=fe(),u=j(()=>{let e={"aria-expanded":s.value?`true`:`false`,"aria-haspopup":`true`,"aria-controls":l.value,"aria-label":t.toggleAriaLabel||o.$q.lang.label[s.value?`collapse`:`expand`](t.label)};return(t.disable||!t.split&&t.disableMainBtn||t.disableDropdown)&&(e[`aria-disabled`]=`true`),e}),d=j(()=>`q-btn-dropdown__arrow`+(s.value&&!t.noIconAnimation?` rotate-180`:``)+(t.split?``:` q-btn-dropdown__arrow-container`)),f=j(()=>_e(t)),p=j(()=>bn(t));h(()=>t.modelValue,e=>{c.value?.[e?`show`:`hide`]()}),h(()=>t.split,w);function g(e){s.value=!0,i(`beforeShow`,e)}function _(e){i(`show`,e),i(`update:modelValue`,!0)}function v(e){s.value=!1,i(`beforeHide`,e)}function y(e){i(`hide`,e),i(`update:modelValue`,!1)}function b(e){i(`click`,e)}function x(e){oe(e),w(),i(`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(o,{show:C,hide:w,toggle:S}),a(()=>{t.modelValue&&C()}),()=>{let e=[m(B,{class:d.value,name:t.dropdownIcon||o.$q.iconSet.arrow.dropdown})];return t.disableDropdown||e.push(m(Qe,{ref:c,id:l.value,class:t.contentClass,style:t.contentStyle,cover:t.cover,fit:!0,persistent:t.persistent,noEscDismiss:t.noEscDismiss,noRouteDismiss:t.noRouteDismiss,autoClose:t.autoClose,noFocus:t.noFocus,noRefocus:t.noRefocus,anchor:t.menuAnchor,self:t.menuSelf,offset:t.menuOffset,separateClosePopup:!0,transitionShow:t.transitionShow,transitionHide:t.transitionHide,transitionDuration:t.transitionDuration,onBeforeShow:g,onShow:_,onBeforeHide:v,onHide:y},n.default)),t.split?m(pt,{class:`q-btn-dropdown q-btn-dropdown--split no-wrap q-btn-item`,rounded:t.rounded,square:t.square,...f.value,glossy:t.glossy,stretch:t.stretch},()=>[m(H,{class:`q-btn-dropdown--current`,...p.value,disable:t.disable||t.disableMainBtn,noWrap:!0,round:!1,onClick:x},{default:n.label,loading:n.loading}),m(H,{class:`q-btn-dropdown__arrow-container q-anchor--skip`,...u.value,...f.value,disable:t.disable||t.disableDropdown,rounded:t.rounded,color:t.color,textColor:t.textColor,dense:t.dense,size:t.size,padding:t.padding,ripple:t.ripple},()=>e)]):m(H,{class:`q-btn-dropdown q-btn-dropdown--simple`,...p.value,...u.value,disable:t.disable||t.disableMainBtn,noWrap:!0,round:!1,onClick:b},{default:()=>ue(n.label,[]).concat(e),loading:n.loading})}}}),Sn={class:`text-h6`},Cn={class:`text-body2 text-grey-5 q-mt-xs`},wn={key:0,class:`text-caption text-grey-6 row items-center`},Tn={key:1,class:`row items-center q-gutter-sm`},En={class:`text-caption text-negative`},Dn={key:2,class:`text-caption text-grey-6`},On={key:3},kn=[`onClick`],An={class:`commit-sha text-grey-5`},jn={class:`commit-subject text-grey-4 ellipsis q-ml-sm`},Mn={class:`text-caption`},Nn={class:`text-grey-5 q-mt-xs`},Pn={key:0,class:`text-caption text-grey-6 row items-center`},Fn={key:1,class:`row items-center q-gutter-sm`},In={class:`text-caption text-negative`},Ln={key:2,class:`text-caption text-grey-6`},Rn={key:3},zn=[`onClick`],Bn={class:`commit-sha text-grey-5`},Vn={class:`commit-subject text-grey-4 ellipsis q-ml-sm`},Hn={class:`text-caption`},Un={class:`text-grey-5 q-mt-xs`},Wn=lt(p({__name:`BranchDivergenceDialog`,props:{modelValue:{type:Boolean},workspaceId:{},initialTab:{},aheadCount:{},behindCount:{},sourceBranch:{},workingBranch:{}},emits:[`update:modelValue`,`append-sha`],setup(t,{emit:r}){let i=t,a=r,{t:o}=be(),s=Ae(),c=e(i.initialTab),u=e([]),d=e([]),p=e(!1),m=e(null),g=null;async function v(){g?.abort();let e=new AbortController;g=e,p.value=!0,m.value=null;try{let t=await s.fetchBranchDivergence(i.workspaceId,{signal:e.signal});if(e.signal.aborted)return;u.value=t.ahead,d.value=t.behind}catch(e){if(e?.name===`AbortError`)return;m.value=o(`git.divergence.failed`)}finally{g===e&&(g=null),p.value=!1}}function b(){v()}h(()=>i.modelValue,e=>{e?(c.value=i.initialTab,v()):(g?.abort(),u.value=[],d.value=[],m.value=null)});function x(e){a(`append-sha`,e)}function T(){a(`update:modelValue`,!1)}function D(e){try{return new Date(e).toLocaleDateString()}catch{return e}}return l(()=>{g?.abort()}),(e,r)=>(f(),E(xe,{"model-value":t.modelValue,"onUpdate:modelValue":r[2]||=e=>a(`update:modelValue`,e)},{default:_(()=>[S(ke,{style:{"min-width":`600px`,"max-width":`90vw`},dark:``},{default:_(()=>[S(V,{class:`q-pb-none`},{default:_(()=>[k(`div`,Sn,w(e.$t(`git.divergence.title`)),1),k(`div`,Cn,w(e.$t(`git.divergence.subtitle`,{source:t.sourceBranch})),1)]),_:1}),S(Ut,{modelValue:c.value,"onUpdate:modelValue":r[0]||=e=>c.value=e,dense:``,align:`left`,"inline-label":``,class:`q-mt-sm`,"indicator-color":`indigo-4`},{default:_(()=>[S(zt,{name:`ahead`,label:e.$t(`git.divergence.ahead`,{count:t.aheadCount})},null,8,[`label`]),S(zt,{name:`behind`,label:e.$t(`git.divergence.behind`,{count:t.behindCount})},null,8,[`label`])]),_:1},8,[`modelValue`]),S(he,{dark:``}),S(Gt,{modelValue:c.value,"onUpdate:modelValue":r[1]||=e=>c.value=e,animated:``,style:{"max-height":`60vh`}},{default:_(()=>[S(Wt,{name:`ahead`,class:`q-pa-md`},{default:_(()=>[p.value?(f(),y(`div`,wn,[S(z,{size:`xs`,class:`q-mr-xs`}),P(w(e.$t(`git.divergence.loading`)),1)])):m.value?(f(),y(`div`,Tn,[k(`span`,En,w(m.value),1),S(H,{flat:``,dense:``,"no-caps":``,label:e.$t(`git.divergence.retry`),color:`indigo-4`,onClick:b},null,8,[`label`])])):u.value.length===0?(f(),y(`div`,Dn,w(e.$t(`git.divergence.empty.ahead`)),1)):(f(),y(`div`,On,[(f(!0),y(C,null,n(u.value,e=>(f(),y(`div`,{key:e.sha,class:`commit-item row no-wrap items-center cursor-pointer q-py-xs`,onClick:t=>x(e.sha)},[S(B,{name:e.isPushed?`cloud_done`:`cloud_upload`,size:`12px`,color:e.isPushed?`grey-6`:`orange-5`,class:`q-mr-xs`},null,8,[`name`,`color`]),k(`span`,An,w(e.shortSha),1),k(`span`,jn,w(e.subject),1),S(K,{anchor:`top middle`,self:`bottom middle`},{default:_(()=>[k(`div`,Mn,[k(`div`,null,[k(`code`,null,w(e.sha),1)]),k(`div`,Nn,w(e.author)+` · `+w(D(e.date)),1)])]),_:2},1024)],8,kn))),128))]))]),_:1}),S(Wt,{name:`behind`,class:`q-pa-md`},{default:_(()=>[p.value?(f(),y(`div`,Pn,[S(z,{size:`xs`,class:`q-mr-xs`}),P(w(e.$t(`git.divergence.loading`)),1)])):m.value?(f(),y(`div`,Fn,[k(`span`,In,w(m.value),1),S(H,{flat:``,dense:``,"no-caps":``,label:e.$t(`git.divergence.retry`),color:`indigo-4`,onClick:b},null,8,[`label`])])):d.value.length===0?(f(),y(`div`,Ln,w(e.$t(`git.divergence.empty.behind`)),1)):(f(),y(`div`,Rn,[(f(!0),y(C,null,n(d.value,e=>(f(),y(`div`,{key:e.sha,class:`commit-item row no-wrap items-center cursor-pointer q-py-xs`,onClick:t=>x(e.sha)},[k(`span`,Bn,w(e.shortSha),1),k(`span`,Vn,w(e.subject),1),S(K,{anchor:`top middle`,self:`bottom middle`},{default:_(()=>[k(`div`,Hn,[k(`div`,null,[k(`code`,null,w(e.sha),1)]),k(`div`,Un,w(e.author)+` · `+w(D(e.date)),1)])]),_:2},1024)],8,zn))),128))]))]),_:1})]),_:1},8,[`modelValue`]),S(Ce,{align:`right`,class:`q-pa-md`},{default:_(()=>[S(H,{flat:``,"no-caps":``,label:e.$t(`git.divergence.close`),color:`grey-5`,onClick:T},null,8,[`label`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),[[`__scopeId`,`data-v-fd1cc184`]]);function Gn(e){let t=[],n=[],r=[],i=[];for(let a of e){if(a.status!==`COMPLETED`){n.push(a);continue}a.conclusion===`FAILURE`||a.conclusion===`CANCELLED`||a.conclusion===`TIMED_OUT`?t.push(a):a.conclusion===`SUCCESS`?r.push(a):i.push(a)}let a=(e,t)=>e.name.localeCompare(t.name);return t.sort(a),n.sort(a),r.sort(a),i.sort(a),{failed:t,pending:n,passed:r,skipped:i}}function Kn(e){let t=e.replace(/^#/,``);if(!/^[0-9a-fA-F]{6}$/.test(t))return`#ffffff`;let n=Number.parseInt(t.slice(0,2),16)/255,r=Number.parseInt(t.slice(2,4),16)/255,i=Number.parseInt(t.slice(4,6),16)/255,a=e=>e<=.03928?e/12.92:((e+.055)/1.055)**2.4;return .2126*a(n)+.7152*a(r)+.0722*a(i)<.5?`#ffffff`:`#1a1a1a`}var qn={class:`pr-panel`},Jn={class:`pr-panel__header row items-center q-gutter-xs`},Yn=[`href`],Xn={class:`pr-panel__title col ellipsis`},Zn={class:`pr-panel__grid`},Qn={class:`pr-panel__label`},$n={class:`pr-panel__value`},er={class:`pr-panel__label`},tr={class:`pr-panel__value pr-panel__reviewers`},nr={class:`pr-panel__label`},rr={class:`pr-panel__value`},ir={class:`pr-panel__label`},ar={class:`pr-panel__value`},or={key:0,class:`pr-panel__ci`},sr={class:`row items-center q-gutter-sm pr-panel__ci-summary`},cr={class:`pr-panel__ci-label`},lr={class:`row items-center q-gutter-sm pr-panel__ci-counts`},ur={key:0,class:`pr-panel__ci-count pr-panel__ci-count--failed`},dr={key:1,class:`pr-panel__ci-count pr-panel__ci-count--pending`},fr={key:2,class:`pr-panel__ci-count pr-panel__ci-count--passed`},pr={key:3,class:`pr-panel__ci-count pr-panel__ci-count--skipped`},mr={key:0,class:`pr-panel__ci-list q-mt-sm`},hr={class:`ellipsis`},gr={key:1,class:`pr-panel__ci-list q-mt-xs`},_r={class:`ellipsis`},vr={key:2,class:`q-mt-xs`},yr={key:0,class:`pr-panel__ci-list q-mt-xs`},br={class:`ellipsis`},xr={class:`ellipsis`},Sr=lt(p({__name:`PrPanel`,props:{snapshot:{}},setup(t){let r=t,{t:i}=be(),a=e(!1);function o(e){switch(e){case`APPROVED`:return`#4ade80`;case`CHANGES_REQUESTED`:return`#ef4444`;case`COMMENTED`:return`#f59e0b`;default:return`#6b7280`}}let c=j(()=>Gn(r.snapshot.ci.checks)),l=j(()=>{switch(r.snapshot.ci.rollup){case`SUCCESS`:return`check_circle`;case`FAILURE`:return`cancel`;case`PENDING`:return`hourglass_top`;default:return`help`}}),u=j(()=>{switch(r.snapshot.ci.rollup){case`SUCCESS`:return`green-4`;case`FAILURE`:return`red-4`;case`PENDING`:return`amber-4`;default:return`grey-5`}}),d=j(()=>{switch(r.snapshot.ci.rollup){case`SUCCESS`:return i(`git.pr.ci.passed`);case`FAILURE`:return i(`git.pr.ci.failed`);case`PENDING`:return i(`git.pr.ci.pending`);default:return``}});return(e,r)=>(f(),y(`div`,qn,[k(`div`,Jn,[S(ft,{dense:``,square:``,color:t.snapshot.state===`OPEN`?`green-9`:`grey-9`,"text-color":t.snapshot.state===`OPEN`?`green-3`:`grey-3`,label:t.snapshot.state,class:`pr-panel__state`},null,8,[`color`,`text-color`,`label`]),k(`a`,{href:t.snapshot.url,target:`_blank`,rel:`noopener`,class:`pr-panel__number`},`#`+w(t.snapshot.number),9,Yn),k(`span`,Xn,w(t.snapshot.title),1),t.snapshot.title.length>60?(f(),E(K,{key:0,anchor:`bottom middle`,self:`top middle`},{default:_(()=>[P(w(t.snapshot.title),1)]),_:1})):T(``,!0),D(Re)(t.snapshot)?(f(),E(ft,{key:1,dense:``,square:``,color:`red-9`,"text-color":`red-3`,icon:`rate_review`,label:e.$t(`git.pr.changesRequestedBadge`),class:`pr-panel__badge`},null,8,[`label`])):t.snapshot.reviewDecision===`APPROVED`?(f(),E(ft,{key:2,dense:``,square:``,color:`green-9`,"text-color":`green-3`,icon:`check`,label:e.$t(`git.pr.approvedBadge`),class:`pr-panel__badge`},null,8,[`label`])):T(``,!0)]),k(`div`,Zn,[k(`span`,Qn,w(e.$t(`git.pr.author`)),1),k(`span`,$n,`@`+w(t.snapshot.author.login),1),t.snapshot.reviewers.length>0?(f(),y(C,{key:0},[k(`span`,er,w(e.$t(`git.pr.reviewers`)),1),k(`span`,tr,[(f(!0),y(C,null,n(t.snapshot.reviewers,e=>(f(),y(`span`,{key:e.login,class:`pr-panel__reviewer`},[k(`span`,{class:`pr-panel__dot`,style:N({backgroundColor:o(e.state)})},null,4),k(`span`,null,`@`+w(e.login),1),S(K,null,{default:_(()=>[P(w(e.login)+` — `+w(e.state.toLowerCase()),1)]),_:2},1024)]))),128))])],64)):T(``,!0),t.snapshot.assignees.length>0?(f(),y(C,{key:1},[k(`span`,nr,w(e.$t(`git.pr.assignees`)),1),k(`span`,rr,w(t.snapshot.assignees.map(e=>`@`+e.login).join(`, `)),1)],64)):T(``,!0),t.snapshot.labels.length>0?(f(),y(C,{key:2},[k(`span`,ir,w(e.$t(`git.pr.labels`)),1),k(`span`,ar,[(f(!0),y(C,null,n(t.snapshot.labels,e=>(f(),E(ft,{key:e.name,dense:``,square:``,style:N({backgroundColor:`#`+e.color,color:D(Kn)(e.color)}),class:`pr-panel__label-chip`,label:e.name},null,8,[`style`,`label`]))),128))])],64)):T(``,!0)]),t.snapshot.ci.rollup===null?T(``,!0):(f(),y(`div`,or,[k(`div`,sr,[S(B,{name:l.value,color:u.value,size:`16px`},null,8,[`name`,`color`]),k(`span`,cr,w(d.value),1),k(`div`,lr,[c.value.failed.length>0?(f(),y(`span`,ur,[S(B,{name:`cancel`,size:`12px`}),k(`span`,null,w(e.$t(`git.pr.ci.failedCount`,{n:c.value.failed.length})),1)])):T(``,!0),c.value.pending.length>0?(f(),y(`span`,dr,[S(B,{name:`hourglass_top`,size:`12px`}),k(`span`,null,w(e.$t(`git.pr.ci.pendingCount`,{n:c.value.pending.length})),1)])):T(``,!0),c.value.passed.length>0?(f(),y(`span`,fr,[S(B,{name:`check_circle`,size:`12px`}),k(`span`,null,w(e.$t(`git.pr.ci.passedCount`,{n:c.value.passed.length})),1)])):T(``,!0),c.value.skipped.length>0?(f(),y(`span`,pr,[S(B,{name:`remove_circle_outline`,size:`12px`}),k(`span`,null,w(e.$t(`git.pr.ci.skippedCount`,{n:c.value.skipped.length})),1)])):T(``,!0)])]),c.value.failed.length>0?(f(),y(`div`,mr,[(f(!0),y(C,null,n(c.value.failed,e=>(f(),E(s(e.detailsUrl?`a`:`div`),{key:`f-${e.name}-${e.detailsUrl??``}`,href:e.detailsUrl??void 0,target:`_blank`,rel:`noopener`,class:`pr-panel__ci-item pr-panel__ci-item--failed`},{default:_(()=>[S(B,{name:`cancel`,size:`14px`}),k(`span`,hr,w(e.name),1)]),_:2},1032,[`href`]))),128))])):T(``,!0),c.value.pending.length>0?(f(),y(`div`,gr,[(f(!0),y(C,null,n(c.value.pending,e=>(f(),E(s(e.detailsUrl?`a`:`div`),{key:`p-${e.name}-${e.detailsUrl??``}`,href:e.detailsUrl??void 0,target:`_blank`,rel:`noopener`,class:`pr-panel__ci-item pr-panel__ci-item--pending`},{default:_(()=>[S(B,{name:`hourglass_top`,size:`14px`}),k(`span`,_r,w(e.name),1)]),_:2},1032,[`href`]))),128))])):T(``,!0),c.value.passed.length+c.value.skipped.length>0?(f(),y(`div`,vr,[S(H,{dense:``,flat:``,"no-caps":``,size:`sm`,icon:a.value?`expand_less`:`expand_more`,label:a.value?e.$t(`git.pr.ci.hidePassed`):e.$t(`git.pr.ci.showPassed`,{n:c.value.passed.length+c.value.skipped.length}),class:`pr-panel__ci-toggle`,onClick:r[0]||=e=>a.value=!a.value},null,8,[`icon`,`label`]),a.value?(f(),y(`div`,yr,[(f(!0),y(C,null,n(c.value.passed,e=>(f(),E(s(e.detailsUrl?`a`:`div`),{key:`s-${e.name}-${e.detailsUrl??``}`,href:e.detailsUrl??void 0,target:`_blank`,rel:`noopener`,class:`pr-panel__ci-item pr-panel__ci-item--passed`},{default:_(()=>[S(B,{name:`check_circle`,size:`14px`}),k(`span`,br,w(e.name),1)]),_:2},1032,[`href`]))),128)),(f(!0),y(C,null,n(c.value.skipped,e=>(f(),E(s(e.detailsUrl?`a`:`div`),{key:`k-${e.name}-${e.detailsUrl??``}`,href:e.detailsUrl??void 0,target:`_blank`,rel:`noopener`,class:`pr-panel__ci-item pr-panel__ci-item--skipped`},{default:_(()=>[S(B,{name:`remove_circle_outline`,size:`14px`}),k(`span`,xr,w(e.name),1)]),_:2},1032,[`href`]))),128))])):T(``,!0)])):T(``,!0)]))]))}}),[[`__scopeId`,`data-v-1ccf3b5b`]]),Cr={class:`text-subtitle1 text-grey-3`},wr=p({__name:`CompareCommitsDialog`,props:{modelValue:{type:Boolean},commits:{},sourceBranch:{}},emits:[`update:modelValue`,`compare`,`close`],setup(t,{emit:n}){let r=t,i=n,{t:a}=be(),o=j({get:()=>r.modelValue,set:e=>i(`update:modelValue`,e)}),s=j(()=>r.commits.map(e=>({label:`${e.shortSha} ${e.subject}`,value:e.sha}))),c=j(()=>({label:a(`diff.compareSourceBase`,{branch:r.sourceBranch}),value:`origin/${r.sourceBranch}`})),l=j(()=>[...s.value,c.value]),u=j(()=>s.value),d=e(``),p=e(``);h(()=>r.modelValue,e=>{e&&(d.value=c.value.value,p.value=r.commits[0]?.sha??``)});function m(){!d.value||!p.value||d.value===p.value||(i(`compare`,{from:d.value,to:p.value}),o.value=!1)}return(e,t)=>(f(),E(xe,{modelValue:o.value,"onUpdate:modelValue":t[3]||=e=>o.value=e,onHide:t[4]||=t=>e.$emit(`close`)},{default:_(()=>[S(ke,{dark:``,style:{"min-width":`460px`,"max-width":`640px`}},{default:_(()=>[S(V,null,{default:_(()=>[k(`div`,Cr,w(e.$t(`diff.compareTitle`)),1)]),_:1}),S(V,{class:`q-gutter-md`},{default:_(()=>[S(et,{modelValue:d.value,"onUpdate:modelValue":t[0]||=e=>d.value=e,dark:``,dense:``,"options-dense":``,"emit-value":``,"map-options":``,options:l.value,label:e.$t(`diff.compareFrom`)},null,8,[`modelValue`,`options`,`label`]),S(et,{modelValue:p.value,"onUpdate:modelValue":t[1]||=e=>p.value=e,dark:``,dense:``,"options-dense":``,"emit-value":``,"map-options":``,options:u.value,label:e.$t(`diff.compareTo`)},null,8,[`modelValue`,`options`,`label`])]),_:1}),S(Ce,{align:`right`},{default:_(()=>[S(H,{flat:``,"no-caps":``,label:e.$t(`common.cancel`),color:`grey-5`,onClick:t[2]||=e=>o.value=!1},null,8,[`label`]),S(H,{unelevated:``,"no-caps":``,color:`primary`,label:e.$t(`diff.compareSubmit`),disable:!d.value||!p.value||d.value===p.value,onClick:m},null,8,[`label`,`disable`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]))}}),Tr={class:`git-panel q-px-sm q-py-md`},Er={class:`row items-center justify-between q-mb-sm`},Dr={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},Or={key:0,class:`row items-center justify-center q-py-xl`},kr={class:`git-subcard`},Ar={class:`git-subcard-title`},jr={class:`row items-center q-mb-xs`},Mr={class:`text-caption text-grey-3`},Nr={class:`row items-center q-mb-xs`},Pr={class:`text-caption text-grey-4`,style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},Fr={class:`text-caption text-grey-8`,style:{"font-size":`11px`}},Ir={key:3},Lr={key:4,style:{color:`#4ade80`}},Rr={key:5,style:{color:`#f59e0b`}},zr={key:0,class:`git-subcard`},Br={class:`git-subcard-title`},Vr={class:`row items-center`,style:{"font-size":`11px`,gap:`14px`,"flex-wrap":`wrap`}},Hr={class:`text-grey-4`},Ur={key:1,class:`row items-center`},Wr={class:`text-grey-4`},Gr={key:2,class:`row items-center`},Kr={class:`text-grey-4`},qr={key:0,class:`q-ml-xs`,style:{color:`#4ade80`}},Jr={key:1,class:`q-ml-xs`,style:{color:`#f87171`}},Yr={key:0,style:{color:`#4ade80`}},Xr={key:1,class:`q-ml-xs`,style:{color:`#f59e0b`}},Zr={key:2,class:`q-ml-xs text-grey-6`},Qr={key:0,class:`commit-list q-mt-sm`},$r={key:0,class:`row justify-end q-mb-xs`},ei={key:1,class:`text-caption text-grey-6 q-pa-xs`},ti={key:2,class:`text-caption text-grey-7 q-pa-xs`},ni=[`onClick`],ri={class:`commit-sha text-grey-5`},ii={class:`commit-subject text-grey-4 ellipsis q-ml-sm`},ai={class:`text-caption`},oi={class:`text-grey-5 q-mt-xs`},si={class:`text-grey-6 q-mt-xs`,style:{"font-style":`italic`}},ci={key:1,class:`commit-list q-mt-sm`},li={key:0,class:`text-caption text-grey-6 q-pa-xs`},ui={key:1,class:`text-caption text-grey-7 q-pa-xs`},di={key:0,style:{color:`#4ade80`},class:`q-mr-xs`},fi={key:1,style:{color:`#f59e0b`},class:`q-mr-xs`},pi={key:2,class:`text-grey-6 q-mr-xs`},mi={class:`commit-subject text-grey-4 ellipsis`,style:{"font-family":`'Roboto Mono', monospace`}},hi={key:1,class:`git-subcard`},gi={class:`git-subcard-title`},_i={class:`row no-wrap items-stretch q-gutter-xs`},vi={key:0,class:`col`},yi={key:1,class:`col`},bi={class:`col`},xi={key:2,class:`col-auto`},Si={key:2,class:`git-subcard`},Ci={class:`git-subcard-title`},wi={key:1,class:`text-caption text-grey-8`},Ti={class:`text-subtitle1`},Ei={class:`text-body2 text-grey-5 q-mt-sm`},Di={class:`git-branch-code`},Oi={class:`text-caption text-grey-6 q-mt-xs`,style:{"padding-left":`46px`}},ki={class:`text-subtitle1`},Ai={class:`text-caption text-grey-6 q-mt-xs`},ji={class:`text-subtitle1 text-warning`},Mi={class:`text-caption text-grey-6 q-mt-xs`},Ni={class:`text-caption text-mono`},Pi={class:`text-subtitle1 text-warning`},Fi={class:`text-caption text-grey-6 q-mt-xs`},Ii={class:`text-subtitle1 text-negative`},Li={class:`text-caption text-grey-6 q-mt-xs`},Ri={class:`text-body2 text-grey-3`,style:{"white-space":`pre-wrap`,"word-break":`break-word`}},zi=lt(p({__name:`GitPanel`,props:{workspace:{}},setup(t){let r=ee(()=>Oe(()=>import(`./DiffViewer-CfOhZMXv.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]))),i=t,{t:s}=be(),c=Ze(),u=Ae(),d=Je(),p=j(()=>!!i.workspace?.archivedAt),m=j(()=>i.workspace?((d.getProjectByPath(i.workspace.projectPath)?.changeSourceBranchScript??``).trim()||(d.global.changeSourceBranchScript??``).trim()).length>0:!1),g=e(!1),v=e(!1),b=e(!1),x=e(!1),O=e(!1),N=e(!1),te=e(!1),ne=e(!1),F=e(!1),I=e(!1),L=e(``),re=e(!1),ie=e(!1),ae=e(!1),R=e(!1),oe=e(void 0),se=e(void 0);function ce(e){oe.value=void 0,se.value=void 0,ae.value=e,F.value=!0}function le(e){let t=e.detail;t?.workspaceId!==i.workspace?.id||!t.path||(oe.value=void 0,se.value=void 0,ae.value=!1,F.value=!0)}function ue(e,t){oe.value=e,se.value=t,ae.value=!1,F.value=!0}function de(e){ue(e.from,e.to)}let fe=e(!1),pe=e(!1),me=e(!1),he=e([]);async function _e(){if(i.workspace){me.value=!0;try{let e=await fetch(`/api/workspaces/${i.workspace.id}/commits?limit=50`,{cache:`no-store`});if(!e.ok)throw Error(`HTTP ${e.status}`);he.value=(await e.json()).commits}catch(e){console.error(`[GitPanel] fetchCommits failed:`,e),he.value=[]}finally{me.value=!1}}}async function ve(){pe.value=!pe.value,pe.value&&(me.value=!0,await _e())}let ye=e(!1),Se=e(!1),we=e([]);async function Te(){if(i.workspace){Se.value=!0;try{let e=await fetch(`/api/workspaces/${i.workspace.id}/working-tree-files`,{cache:`no-store`});if(!e.ok)throw Error(`HTTP ${e.status}`);we.value=(await e.json()).files}catch(e){console.error(`[GitPanel] fetchWorkingTreeFiles failed:`,e),we.value=[]}finally{Se.value=!1}}}function Ee(){ye.value=!ye.value,ye.value&&Te()}function De(e){u.chatDraft=e}function je(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`})}let Me=e(!1),Ne=e(null),Pe=e([]),Fe=e(!1),Ie=e(!1),Le=e(!1),Re=e(null),ze=e(null),Ve=e(!1),He=e(!1),Ue=e(``),We=e(!1),Ge=e(``),Ke=e(null),Ye=e(!1);function Xe(e,t){Ge.value=e,Ke.value=t,We.value=!0}async function $e(){if(i.workspace){Ye.value=!0;try{let e=await fetch(`/api/workspaces/${i.workspace.id}/git/abort`,{method:`POST`});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error??`Abort failed`)}c.notify({type:`positive`,message:s(`git.conflictAborted`),position:`top`}),We.value=!1,vt()}catch(e){let t=e instanceof Error?e.message:`Abort failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{Ye.value=!1}}}function et(e){u.chatDraft=e,F.value=!1}let G=e(null),tt=e(!1),nt=j(()=>{if(!i.workspace?.projectPath)return`-`;let e=i.workspace.projectPath.replace(/\\/g,`/`).split(`/`);return e[e.length-1]||e[e.length-2]||`-`}),rt=j(()=>{let e=i.workspace?.id;if(e)return u.prSnapshots[e]}),it={id:`none`,capabilities:{canCreatePr:!1,canChangePrBase:!1,canMergeRequest:!1,canDeleteRemoteBranch:!1,requestTermShort:`PR`},availability:{available:!1}},at=j(()=>G.value?.forge??it),ot=j(()=>at.value.id===`gitlab`?`glab`:at.value.id===`bitbucket-community`?`bkt`:`gh`),st=j(()=>!(!G.value||at.value.id===`none`||!at.value.availability.available||G.value.unpushedCount===-1)),ct=j(()=>!!(G.value?.prUrl&&G.value.prState===`OPEN`&&rt.value?.readyToMerge&&at.value.capabilities.canMergeRequest&&at.value.availability.available)),lt=j(()=>{let e=G.value?.workingTree;return e?e.staged+e.modified+e.untracked>0:!1}),ut=j(()=>{if(!G.value)return``;if(G.value.unpushedCount===-1)return s(`git.createPrNoRemote`);if(!at.value.availability.available){let e=at.value.availability.reason;return e===`cli_missing`?s(`git.forgeCliMissing`,{cli:ot.value,request:at.value.capabilities.requestTermShort}):e===`not_authenticated`?s(`git.forgeNotAuthenticated`,{cli:ot.value}):s(`git.forgeCliMissing`,{cli:ot.value,request:at.value.capabilities.requestTermShort})}return``}),dt=j(()=>i.workspace?.worktreeOwned!==!1),ft=j(()=>{if(!i.workspace)return!1;let e=!!(G.value?.prUrl&&G.value.prState===`OPEN`);return dt.value||e||m.value}),pt=e(!1),ht=e(`ahead`);function gt(e){ht.value=e,pt.value=!0}let _t=null;async function vt(e={}){if(!i.workspace){G.value=null;return}_t?.abort();let t=new AbortController;_t=t;let n=i.workspace.id;tt.value=!0;try{let r=await u.fetchGitStats(n,{freshFetch:e.freshFetch,signal:t.signal});if(t.signal.aborted||i.workspace?.id!==n)return;G.value=r}catch(e){if(e?.name===`AbortError`)return;G.value=null}finally{_t===t&&(_t=null),tt.value=!1}}async function yt(){let e=i.workspace?.id;e&&await Promise.allSettled([vt({freshFetch:!0}),u.refreshPrSnapshot(e)])}let bt=null;h(()=>i.workspace?.id,(e,t)=>{_t?.abort(),bt&&=(clearTimeout(bt),null),e!==t&&(G.value=null,he.value=[],pe.value=!1,ye.value=!1,we.value=[],Se.value=!1),e&&vt({freshFetch:!0})},{immediate:!0}),h(()=>u.gitRefreshTrigger,()=>{bt&&clearTimeout(bt),bt=setTimeout(()=>vt(),3e3)}),h(()=>{let e=i.workspace?.id;return e?u.gitStatsCache[e]:null},e=>{e&&(tt.value||(G.value=e))}),l(()=>{window.removeEventListener(`kobo:select-diff`,le),bt&&=(clearTimeout(bt),null),_t?.abort()}),a(()=>{window.addEventListener(`kobo:select-diff`,le)});function xt(){let e=i.workspace;e&&c.dialog({title:s(`git.renameBranch`),message:s(`git.renameBranchPrompt`,{branch:e.workingBranch}),prompt:{model:e.workingBranch,type:`text`},dark:!0,cancel:{flat:!0,label:s(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:s(`git.renameBranch`),color:`indigo-4`}}).onOk(async t=>{let n=(t??``).trim();if(!(!n||n===e.workingBranch)){fe.value=!0;try{await u.renameWorkspaceBranch(e.id,n),c.notify({type:`positive`,message:s(`git.renameBranchSuccess`,{branch:n}),position:`top`}),vt()}catch(e){let t=e instanceof qe&&e.code===`branch_exists`?s(`git.renameBranchExists`,{branch:n}):e instanceof Error?e.message:s(`git.renameBranchFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{fe.value=!1}}})}function St(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`)}async function Ct(e){if(i.workspace){b.value=!0;try{let t=e?.autostash?`?autostash=1`:``,n=await fetch(`/api/workspaces/${i.workspace.id}/rebase${t}`,{method:`POST`});if(n.status===409){let e=await n.json();if(e.code===`dirty_worktree`){Ot(`rebase`,e.status);return}Dt(`rebase`,Array.isArray(e.files)?e.files:[]);return}if(!n.ok){let e=await n.json();throw Error(e.error??`Rebase failed`)}c.notify({type:`positive`,message:s(`git.rebaseSuccess`),position:`top`}),vt()}catch(e){let t=e instanceof Error?e.message:s(`git.rebaseFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{b.value=!1}}}function wt(){i.workspace&&c.dialog({title:s(`git.rebaseConfirmTitle`),message:s(`git.rebaseConfirmMessage`,{branch:`<code class="git-branch-code">${St(i.workspace.sourceBranch)}</code>`}),html:!0,dark:!0,cancel:{flat:!0,label:s(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:s(`git.rebase`),color:`orange-4`}}).onOk(()=>{Ct()})}async function Tt(e){if(i.workspace){x.value=!0;try{let t=e?.autostash?`?autostash=1`:``,n=await fetch(`/api/workspaces/${i.workspace.id}/merge${t}`,{method:`POST`});if(n.status===409){let e=await n.json();if(e.code===`dirty_worktree`){Ot(`merge`,e.status);return}Dt(`merge`,Array.isArray(e.files)?e.files:[]);return}if(!n.ok){let e=await n.json();throw Error(e.error??`Merge failed`)}c.notify({type:`positive`,message:s(`git.mergeSuccess`),position:`top`}),vt()}catch(e){let t=e instanceof Error?e.message:s(`git.mergeFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{x.value=!1}}}function Et(){i.workspace&&c.dialog({title:s(`git.mergeConfirmTitle`),message:s(`git.mergeConfirmMessage`,{branch:`<code class="git-branch-code">${St(i.workspace.sourceBranch)}</code>`}),html:!0,dark:!0,cancel:{flat:!0,label:s(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:s(`git.merge`),color:`purple-4`}}).onOk(()=>{Tt()})}function Dt(e,t){Ne.value=e,Pe.value=t,Me.value=!0}function Ot(e,t){Re.value=e,ze.value=t,He.value=!1,Ue.value=``,Ve.value=!1,Le.value=!0}async function kt(){if(!(!i.workspace||!L.value.trim())){re.value=!0;try{let e=await fetch(`/api/workspaces/${i.workspace.id}/git/commit-all`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({message:L.value.trim()})});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error??s(`git.commitFailed`))}I.value=!1,L.value=``,await vt({freshFetch:!0})}catch(e){c.notify({type:`negative`,message:e instanceof Error?e.message:s(`git.commitFailed`),position:`top`,timeout:6e3})}finally{re.value=!1}}}async function At(){if(i.workspace){ie.value=!0;try{let e=await fetch(`/api/workspaces/${i.workspace.id}/git/commit-with-agent`,{method:`POST`});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error??s(`git.commitFailed`))}I.value=!1,c.notify({type:`positive`,message:s(`git.commitAgentSuccess`),position:`top`})}catch(e){c.notify({type:`negative`,message:e instanceof Error?e.message:s(`git.commitFailed`),position:`top`,timeout:6e3})}finally{ie.value=!1}}}function jt(e){let t=Re.value;Le.value=!1,t===`rebase`?Ct(e):t===`merge`?Tt(e):t===`pull`&&Vt(e)}function Mt(){jt({autostash:!0})}async function Nt(){if(!(!i.workspace||!Ue.value.trim())){Ve.value=!0;try{let e=await fetch(`/api/workspaces/${i.workspace.id}/git/commit-all`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({message:Ue.value.trim()})});if(!e.ok){let t=await e.json();throw Error(t.error??s(`git.commitFailed`))}jt()}catch(e){let t=e instanceof Error?e.message:s(`git.commitFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{Ve.value=!1}}}function Pt(){i.workspace&&c.dialog({title:s(`git.dirtyDiscardConfirmTitle`),message:s(`git.dirtyDiscardConfirmMessage`),dark:!0,cancel:{flat:!0,label:s(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:s(`git.dirtyDiscard`),color:`red-4`}}).onOk(async()=>{Ve.value=!0;try{let e=await fetch(`/api/workspaces/${i.workspace.id}/git/discard`,{method:`POST`});if(!e.ok){let t=await e.json();throw Error(t.error??s(`git.discardFailed`))}jt()}catch(e){let t=e instanceof Error?e.message:s(`git.discardFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{Ve.value=!1}})}async function Ft(){if(i.workspace){Fe.value=!0;try{let e=await fetch(`/api/workspaces/${i.workspace.id}/git/abort`,{method:`POST`});if(!e.ok){let t=await e.json();throw Error(t.error??`Abort failed`)}c.notify({type:`positive`,message:s(`git.conflictAborted`),position:`top`}),Me.value=!1,vt()}catch(e){let t=e instanceof Error?e.message:`Abort failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{Fe.value=!1}}}async function It(){if(!(!i.workspace||!Ne.value)){Ie.value=!0;try{let e=await fetch(`/api/workspaces/${i.workspace.id}/git/resolve-with-agent`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({operation:Ne.value,files:Pe.value})});if(!e.ok){let t=await e.json();throw Error(t.error??`Handoff failed`)}c.notify({type:`positive`,message:s(`git.conflictHandoffSuccess`),position:`top`}),Me.value=!1}catch(e){let t=e instanceof Error?e.message:`Handoff failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{Ie.value=!1}}}let Lt=e(!1),Rt=e(!1);function zt(){i.workspace&&(Rt.value=!1,Lt.value=!0)}async function Bt(){if(!i.workspace)return;let e=Rt.value;Lt.value=!1,g.value=!0;try{await u.pushBranch(i.workspace.id,{force:e}),c.notify({type:`positive`,message:s(e?`git.branchForcePushed`:`git.branchPushed`),position:`top`}),vt()}catch(e){let t=e instanceof Error?e.message:`Push failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{g.value=!1}}async function Vt(e){if(i.workspace){v.value=!0;try{let t=e?.autostash?`?autostash=1`:``,n=await fetch(`/api/workspaces/${i.workspace.id}/pull${t}`,{method:`POST`});if(n.status===409){let e=await n.json();if(e.code===`dirty_worktree`){Ot(`pull`,e.status);return}}if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error??s(`git.pullFailed`))}c.notify({type:`positive`,message:s(`git.branchPulled`),position:`top`}),vt()}catch(e){console.error(`[GitPanel] pull failed:`,e);let t=e instanceof Error?e.message:s(`git.pullFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{v.value=!1}}}function Ht(){i.workspace&&c.dialog({title:s(`git.pullConfirmTitle`),message:s(`git.pullConfirmMessage`,{branch:`<code class="git-branch-code">${St(i.workspace.workingBranch)}</code>`}),html:!0,dark:!0,cancel:{flat:!0,label:s(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:s(`git.pull`),color:`grey-5`}}).onOk(()=>{Vt()})}async function Ut(){if(i.workspace){O.value=!0;try{let e=await fetch(`/api/workspaces/${i.workspace.id}/fetch`,{method:`POST`});if(!e.ok){let t=await e.json();throw Error(t.error??`Failed`)}c.notify({type:`positive`,message:s(`git.fetchSuccess`),position:`top`}),vt()}catch(e){let t=e instanceof Error?e.message:String(e);c.notify({type:`negative`,message:s(`git.fetchFailed`,{error:t}),position:`top`})}finally{O.value=!1}}}function Wt(){G.value?.prUrl&&window.open(G.value.prUrl,`_blank`)}function Gt(){i.workspace&&c.dialog({title:s(`git.changePrBaseTitle`),message:s(`git.changePrBaseMessage`,{request:at.value.capabilities.requestTermShort}),prompt:{model:i.workspace.sourceBranch,type:`text`},dark:!0,cancel:{flat:!0,label:s(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:s(`common.save`),color:`primary`}}).onOk(async e=>{if(!(!e.trim()||!i.workspace)){te.value=!0;try{let t=await fetch(`/api/workspaces/${i.workspace.id}/change-pr-base`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({base:e.trim()})});if(!t.ok){let e=await t.json();throw Error(e.error??`Failed`)}c.notify({type:`positive`,message:s(`git.changePrBaseSuccess`,{request:at.value.capabilities.requestTermShort}),position:`top`}),vt()}catch(e){let t=e instanceof Error?e.message:s(`git.changePrBaseFailed`,{request:at.value.capabilities.requestTermShort});c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{te.value=!1}}})}function Kt(){if(!i.workspace||!ct.value)return;let e=at.value.capabilities.requestTermShort;c.dialog({title:s(`git.mergeRequestConfirmTitle`,{request:e}),message:s(`git.mergeRequestConfirmMessage`,{request:e}),dark:!0,cancel:{flat:!0,label:s(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:s(`git.mergeRequest`,{request:e}),color:`deep-orange-5`}}).onOk(async()=>{if(i.workspace){ne.value=!0;try{let t=await fetch(`/api/workspaces/${i.workspace.id}/merge-pr`,{method:`POST`});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error??`Failed`)}let n=await t.json();c.notify({type:`positive`,message:s(`git.mergeRequestSuccess`,{request:e}),position:`top`}),await Promise.allSettled([vt({freshFetch:!0}),u.refreshPrSnapshot(i.workspace.id)]),n.merged&&at.value.capabilities.canDeleteRemoteBranch&&c.dialog({title:s(`git.deleteRemoteBranchTitle`),message:s(`git.deleteRemoteBranchMessage`,{branch:n.branch}),dark:!0,cancel:{flat:!0,label:s(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:s(`git.deleteRemoteBranch`),color:`negative`}}).onOk(()=>void qt(n.branch))}catch(t){let n=t instanceof Error?t.message:s(`git.mergeRequestFailed`,{request:e});c.notify({type:`negative`,message:n,position:`top`,timeout:6e3})}finally{ne.value=!1}}})}async function qt(e){if(i.workspace)try{let t=await fetch(`/api/workspaces/${i.workspace.id}/delete-remote-branch`,{method:`POST`});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error??`Failed`)}c.notify({type:`positive`,message:s(`git.deleteRemoteBranchSuccess`,{branch:e}),position:`top`})}catch(e){c.notify({type:`negative`,message:e instanceof Error?e.message:s(`git.deleteRemoteBranchFailed`),position:`top`})}}let Jt=e(!1);function Yt(){i.workspace&&c.dialog({title:s(`git.changeSourceForcePushTitle`),message:s(`git.changeSourceForcePushMessage`),dark:!0,cancel:{flat:!0,label:s(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:s(`git.forcePush`),color:`primary`}}).onOk(async()=>{if(i.workspace)try{let e=await fetch(`/api/workspaces/${i.workspace.id}/force-push`,{method:`POST`});if(!e.ok){let t=await e.json();throw Error(t.error??`Failed`)}c.notify({type:`positive`,message:s(`git.changeSourceForcePushDone`),position:`top`}),vt()}catch(e){let t=e instanceof Error?e.message:`Failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}})}async function Xt(){i.workspace&&c.dialog({title:s(`git.changeSourceBranchTitle`),message:s(`git.changeSourceBranchMessage`),prompt:{model:``,type:`text`},dark:!0,cancel:{flat:!0,label:s(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:s(`common.save`),color:`primary`}}).onOk(async e=>{if(!e.trim()||!i.workspace)return;Jt.value=!0;let t=c.notify({group:!1,spinner:!0,message:s(`git.changeSourceBranchLoading`),position:`top`,timeout:0});try{let t=await fetch(`/api/workspaces/${i.workspace.id}/change-source-branch`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({newBase:e.trim()})}),n=await t.json();if(!t.ok){let e=n.code===`too_many_commits`?s(`git.changeSourceBranchTooMany`,{n:n.commitCount??0}):n.code===`dirty_worktree`?s(`git.changeSourceBranchDirty`):n.code===`agent_running`?s(`git.changeSourceBranchAgentRunning`):n.error??`Failed`;n.ongoingOperation===`cherry-pick`||n.ongoingOperation===`merge`||n.ongoingOperation===`rebase`?Xe(e,n.ongoingOperation):c.notify({type:`negative`,message:e,position:`top`,timeout:6e3});return}if(i.workspace&&u.updateWorkspaceFromEvent(i.workspace.id,{sourceBranch:e.trim()}),n.status===`conflict`)Dt(`cherry-pick`,[]);else{let t=n.status===`aligned`?`git.changeSourceBranchAligned`:`git.changeSourceBranchDone`;c.notify({type:`positive`,message:s(t,{branch:e.trim()}),position:`top`}),n.forcePushNeeded&&Yt()}}catch(e){let t=e instanceof Error?e.message:`Failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{t(),Jt.value=!1,vt()}})}async function Zt(){if(i.workspace){N.value=!0;try{let e=await u.openPullRequest(i.workspace.id);c.notify({type:`positive`,message:s(`git.prCreated`,{n:e.prNumber,request:at.value.capabilities.requestTermShort}),caption:e.prUrl,position:`top`,timeout:5e3}),vt()}catch(e){if(e instanceof qe&&e.code===`branch_not_pushed`){c.notify({type:`warning`,message:s(`git.pushFirst`),position:`top`,timeout:6e3});return}if(e instanceof qe&&e.code===`unpushed_commits`){c.notify({type:`warning`,message:s(`git.unpushedCommits`),position:`top`,timeout:6e3});return}let t=e instanceof Error?e.message:`Open PR failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{N.value=!1}}}return(e,i)=>(f(),y(`div`,Tr,[k(`div`,Er,[k(`div`,Dr,w(e.$t(`git.title`)),1),t.workspace?(f(),E(H,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,loading:tt.value,onClick:yt},{default:_(()=>[S(K,null,{default:_(()=>[P(w(e.$t(`tooltip.refreshGitStats`)),1)]),_:1})]),_:1},8,[`loading`])):T(``,!0)]),t.workspace?(f(),y(C,{key:0},[tt.value&&!G.value?(f(),y(`div`,Or,[S(z,{size:`32px`,color:`indigo-4`})])):(f(),y(C,{key:1},[k(`div`,kr,[k(`div`,Ar,w(e.$t(`git.section.repository`)),1),k(`div`,jr,[S(B,{name:`folder`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),k(`span`,Mr,w(nt.value),1)]),k(`div`,Nr,[i[23]||=k(`span`,{style:{width:`8px`,height:`8px`,"border-radius":`50%`,"background-color":`#4ade80`,display:`inline-block`},class:`q-mr-xs`},null,-1),k(`span`,Pr,w(t.workspace.workingBranch),1)]),k(`div`,Fr,[P(w(t.workspace.sourceBranch)+` `,1),G.value?(f(),y(C,{key:0},[G.value.commitCount>0?(f(),y(`span`,{key:0,class:`cursor-pointer arrow-clickable`,style:{color:`#4ade80`},onClick:i[0]||=M(e=>gt(`ahead`),[`stop`])},` · ↑`+w(G.value.commitCount),1)):T(``,!0),G.value.behindCount>0?(f(),y(`span`,{key:1,class:`cursor-pointer arrow-clickable`,style:{color:`#f87171`},onClick:i[1]||=M(e=>gt(`behind`),[`stop`])},` · ↓`+w(G.value.behindCount),1)):T(``,!0),G.value.commitCount>0||G.value.behindCount>0?(f(),E(K,{key:2},{default:_(()=>[P(w(e.$t(`git.aheadBehindTooltip`,{ahead:G.value.commitCount,behind:G.value.behindCount,source:t.workspace.sourceBranch})),1)]),_:1})):T(``,!0),i[24]||=P(` · `,-1),G.value.unpushedCount===-1?(f(),y(`span`,Ir,w(e.$t(`git.localOnly`)),1)):G.value.unpushedCount===0?(f(),y(`span`,Lr,w(e.$t(`git.pushed`)),1)):(f(),y(`span`,Rr,w(e.$t(`git.unpushed`,{count:G.value.unpushedCount})),1))],64)):T(``,!0)])]),G.value?(f(),y(`div`,zr,[k(`div`,Br,w(e.$t(`git.section.changes`)),1),k(`div`,Vr,[G.value.commitCount>0?(f(),y(`div`,{key:0,class:`row items-center commit-toggle cursor-pointer`,onClick:ve},[S(B,{name:`commit`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),k(`span`,Hr,w(e.$t(`git.commits`,{count:G.value.commitCount},G.value.commitCount)),1),me.value?(f(),E(z,{key:0,size:`12px`,color:`indigo-4`,class:`q-ml-xs`})):(f(),E(B,{key:1,name:pe.value?`expand_less`:`expand_more`,size:`14px`,color:`grey-6`,class:`q-ml-xs`},null,8,[`name`]))])):(f(),y(`div`,Ur,[S(B,{name:`commit`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),k(`span`,Wr,w(e.$t(`git.commits`,{count:0},0)),1)])),G.value.filesChanged>0?(f(),y(`div`,Gr,[S(B,{name:`insert_drive_file`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),k(`span`,Kr,w(G.value.filesChanged),1),G.value.insertions>0?(f(),y(`span`,qr,`+`+w(G.value.insertions),1)):T(``,!0),G.value.deletions>0?(f(),y(`span`,Jr,`-`+w(G.value.deletions),1)):T(``,!0)])):T(``,!0),G.value.workingTree&&(G.value.workingTree.staged>0||G.value.workingTree.modified>0||G.value.workingTree.untracked>0)?(f(),y(`div`,{key:3,class:`row items-center cursor-pointer`,onClick:Ee},[S(B,{name:`edit_note`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),G.value.workingTree.staged>0?(f(),y(`span`,Yr,w(G.value.workingTree.staged)+`s`,1)):T(``,!0),G.value.workingTree.modified>0?(f(),y(`span`,Xr,w(G.value.workingTree.modified)+`m`,1)):T(``,!0),G.value.workingTree.untracked>0?(f(),y(`span`,Zr,w(G.value.workingTree.untracked)+`u`,1)):T(``,!0),Se.value?(f(),E(z,{key:3,size:`12px`,color:`indigo-4`,class:`q-ml-xs`})):(f(),E(B,{key:4,name:ye.value?`expand_less`:`expand_more`,size:`14px`,color:`grey-6`,class:`q-ml-xs`},null,8,[`name`])),S(K,null,{default:_(()=>[P(w(e.$t(`git.staged`,{count:G.value.workingTree.staged}))+` · `+w(e.$t(`git.modified`,{count:G.value.workingTree.modified}))+` · `+w(e.$t(`git.untracked`,{count:G.value.workingTree.untracked})),1)]),_:1})])):T(``,!0)]),pe.value?(f(),y(`div`,Qr,[he.value.length>0?(f(),y(`div`,$r,[S(H,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`difference`,color:`grey-5`,label:e.$t(`git.compareCommits`),onClick:i[2]||=e=>R.value=!0},null,8,[`label`])])):T(``,!0),me.value?(f(),y(`div`,ei,[S(z,{size:`xs`,class:`q-mr-xs`}),P(w(e.$t(`git.commits.loading`)),1)])):he.value.length===0?(f(),y(`div`,ti,w(e.$t(`git.commits.empty`)),1)):(f(!0),y(C,{key:3},n(he.value,t=>(f(),y(`div`,{key:t.sha,class:`commit-item row no-wrap items-center cursor-pointer`,onClick:e=>De(t.sha)},[S(B,{name:t.isPushed?`cloud_done`:`cloud_upload`,size:`12px`,color:t.isPushed?`grey-6`:`orange-5`,class:`q-mr-xs commit-item-icon`},null,8,[`name`,`color`]),k(`span`,ri,w(t.shortSha),1),k(`span`,ii,w(t.subject),1),S(H,{flat:``,dense:``,round:``,size:`xs`,icon:`difference`,color:`grey-6`,class:`commit-diff-btn q-ml-xs`,onClick:M(e=>ue(`${t.sha}^`,t.sha),[`stop`])},{default:_(()=>[S(K,{anchor:`top middle`,self:`bottom middle`},{default:_(()=>[P(w(e.$t(`git.commits.diffThisCommit`)),1)]),_:1})]),_:1},8,[`onClick`]),S(K,{anchor:`top middle`,self:`bottom middle`,class:`commit-tooltip`},{default:_(()=>[k(`div`,ai,[k(`div`,null,[k(`code`,null,w(t.sha),1)]),k(`div`,oi,w(t.author)+` · `+w(je(t.date)),1),k(`div`,si,w(t.isPushed?e.$t(`git.commits.pushed`):e.$t(`git.commits.unpushed`))+` · `+w(e.$t(`git.commits.clickToAppend`)),1)])]),_:2},1024)],8,ni))),128))])):T(``,!0),ye.value?(f(),y(`div`,ci,[Se.value?(f(),y(`div`,li,[S(z,{size:`xs`,class:`q-mr-xs`}),P(w(e.$t(`git.commits.loading`)),1)])):we.value.length===0?(f(),y(`div`,ui,w(e.$t(`git.workingTreeEmpty`)),1)):(f(!0),y(C,{key:2},n(we.value,t=>(f(),y(`div`,{key:t.path,class:`commit-item row no-wrap items-center`},[t.staged?(f(),y(`span`,di,[i[25]||=P(`s`,-1),S(K,null,{default:_(()=>[P(w(e.$t(`git.fileStaged`)),1)]),_:1})])):T(``,!0),t.modified?(f(),y(`span`,fi,[i[26]||=P(`m`,-1),S(K,null,{default:_(()=>[P(w(e.$t(`git.fileModified`)),1)]),_:1})])):T(``,!0),t.untracked?(f(),y(`span`,pi,[i[27]||=P(`u`,-1),S(K,null,{default:_(()=>[P(w(e.$t(`git.fileUntracked`)),1)]),_:1})])):T(``,!0),k(`span`,mi,w(t.path),1)]))),128))])):T(``,!0)])):T(``,!0),t.workspace&&G.value?(f(),y(`div`,hi,[k(`div`,gi,w(e.$t(`git.section.actions`)),1),at.value.id===`none`?T(``,!0):(f(),y(C,{key:0},[G.value?.prUrl&&G.value.prState===`OPEN`?(f(),E(H,{key:0,"no-caps":``,unelevated:``,dense:``,size:`sm`,color:`green-7`,icon:`open_in_new`,label:e.$t(`git.viewRequest`,{request:at.value.capabilities.requestTermShort}),class:`full-width q-mb-xs`,onClick:Wt},null,8,[`label`])):(f(),E(H,{key:1,"no-caps":``,unelevated:``,dense:``,size:`sm`,color:`indigo-5`,icon:`open_in_new`,label:e.$t(`git.createRequest`,{request:at.value.capabilities.requestTermShort}),class:`full-width q-mb-xs`,loading:N.value,disable:!t.workspace||g.value||!st.value||p.value,onClick:Zt},{default:_(()=>[!st.value&&ut.value?(f(),E(K,{key:0},{default:_(()=>[P(w(ut.value),1)]),_:1})):T(``,!0)]),_:1},8,[`label`,`loading`,`disable`]))],64)),ct.value?(f(),E(H,{key:1,"no-caps":``,unelevated:``,dense:``,size:`sm`,color:`deep-orange-7`,icon:`merge`,label:e.$t(`git.mergeRequest`,{request:at.value.capabilities.requestTermShort}),class:`full-width q-mb-xs`,loading:ne.value,disable:p.value,onClick:Kt},null,8,[`label`,`loading`,`disable`])):T(``,!0),lt.value?(f(),E(H,{key:2,"no-caps":``,unelevated:``,dense:``,size:`sm`,color:`green-7`,icon:`commit`,label:e.$t(`git.commitChanges`),class:`full-width q-mb-xs`,disable:p.value,onClick:i[3]||=e=>I.value=!0},null,8,[`label`,`disable`])):T(``,!0),k(`div`,_i,[G.value?(f(),y(`div`,vi,[S(xn,{split:``,dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,icon:`sync`,label:e.$t(`git.sync`),class:`full-width git-btn`,loading:v.value||b.value||x.value||O.value,disable:!t.workspace||g.value||p.value,onClick:i[4]||=e=>G.value.unpushedCount===-1?wt():Ht()},{default:_(()=>[S(mt,{dark:``,dense:``,style:{"min-width":`140px`}},{default:_(()=>[o((f(),E(W,{clickable:``,disable:v.value||b.value||x.value||G.value.unpushedCount===-1||p.value,onClick:Ht},{default:_(()=>[S(U,{avatar:``,style:{"min-width":`28px`}},{default:_(()=>[S(B,{name:`download`,size:`16px`,color:`grey-5`})]),_:1}),S(U,null,{default:_(()=>[P(w(e.$t(`git.pull`)),1)]),_:1}),G.value.unpushedCount===-1?(f(),E(K,{key:0},{default:_(()=>[P(w(e.$t(`git.pullNoUpstream`)),1)]),_:1})):T(``,!0)]),_:1},8,[`disable`])),[[q]]),o((f(),E(W,{clickable:``,disable:v.value||b.value||x.value||p.value,onClick:wt},{default:_(()=>[S(U,{avatar:``,style:{"min-width":`28px`}},{default:_(()=>[S(B,{name:`replay`,size:`16px`,color:`orange-4`})]),_:1}),S(U,null,{default:_(()=>[P(w(e.$t(`git.rebase`)),1)]),_:1})]),_:1},8,[`disable`])),[[q]]),o((f(),E(W,{clickable:``,disable:v.value||b.value||x.value||p.value,onClick:Et},{default:_(()=>[S(U,{avatar:``,style:{"min-width":`28px`}},{default:_(()=>[S(B,{name:`merge`,size:`16px`,color:`purple-4`})]),_:1}),S(U,null,{default:_(()=>[P(w(e.$t(`git.merge`)),1)]),_:1})]),_:1},8,[`disable`])),[[q]]),o((f(),E(W,{clickable:``,disable:v.value||b.value||x.value||O.value||p.value,onClick:Ut},{default:_(()=>[S(U,{avatar:``,style:{"min-width":`28px`}},{default:_(()=>[S(B,{name:`cloud_download`,size:`16px`,color:`grey-5`})]),_:1}),S(U,null,{default:_(()=>[P(w(e.$t(`git.fetch`)),1)]),_:1})]),_:1},8,[`disable`])),[[q]])]),_:1})]),_:1},8,[`label`,`loading`,`disable`])])):T(``,!0),G.value?.unpushedCount===0?T(``,!0):(f(),y(`div`,yi,[S(H,{dense:``,"no-caps":``,size:`sm`,outline:``,color:`orange-5`,icon:`upload`,label:e.$t(`git.push`),class:`full-width git-btn`,loading:g.value,disable:!t.workspace||N.value||v.value||b.value||p.value,onClick:zt},{default:_(()=>[S(K,{anchor:`bottom middle`,self:`top middle`,delay:400},{default:_(()=>[P(w(e.$t(`git.push`)),1)]),_:1})]),_:1},8,[`label`,`loading`,`disable`])])),k(`div`,bi,[S(H,{dense:``,"no-caps":``,size:`sm`,outline:``,color:`indigo-4`,icon:`rate_review`,label:e.$t(`git.diffReview`),class:`full-width git-btn`,disable:!t.workspace,onClick:i[5]||=e=>ce(!0)},{default:_(()=>[S(K,{anchor:`bottom middle`,self:`top middle`,delay:400},{default:_(()=>[P(w(e.$t(`git.diffReviewTooltip`)),1)]),_:1})]),_:1},8,[`label`,`disable`])]),ft.value?(f(),y(`div`,xi,[S(H,{dense:``,flat:``,size:`sm`,color:`grey-5`,icon:`more_horiz`,class:`git-btn`},{default:_(()=>[S(Qe,null,{default:_(()=>[S(mt,{dark:``,dense:``,style:{"min-width":`160px`}},{default:_(()=>[dt.value?o((f(),E(W,{key:0,clickable:``,disable:fe.value||p.value,onClick:xt},{default:_(()=>[S(U,{avatar:``,style:{"min-width":`28px`}},{default:_(()=>[S(B,{name:`edit`,size:`16px`,color:`grey-5`})]),_:1}),S(U,null,{default:_(()=>[P(w(e.$t(`git.renameBranch`)),1)]),_:1})]),_:1},8,[`disable`])),[[q]]):T(``,!0),G.value?.prUrl&&G.value.prState===`OPEN`?o((f(),E(W,{key:1,clickable:``,disable:te.value||p.value,onClick:Gt},{default:_(()=>[S(U,{avatar:``,style:{"min-width":`28px`}},{default:_(()=>[S(B,{name:`swap_horiz`,size:`16px`,color:`grey-5`})]),_:1}),S(U,null,{default:_(()=>[P(w(e.$t(`git.changeRequestBase`,{request:at.value.capabilities.requestTermShort})),1)]),_:1})]),_:1},8,[`disable`])),[[q]]):T(``,!0),m.value?o((f(),E(W,{key:2,clickable:``,disable:Jt.value||p.value,onClick:Xt},{default:_(()=>[S(U,{avatar:``,style:{"min-width":`28px`}},{default:_(()=>[S(B,{name:`alt_route`,size:`16px`,color:`grey-5`})]),_:1}),S(U,null,{default:_(()=>[P(w(e.$t(`git.changeSourceBranch`)),1)]),_:1})]),_:1},8,[`disable`])),[[q]]):T(``,!0)]),_:1})]),_:1}),S(K,null,{default:_(()=>[P(w(e.$t(`git.actions.more`)),1)]),_:1})]),_:1})])):T(``,!0)])])):T(``,!0),rt.value&&rt.value.state===`OPEN`?(f(),y(`div`,Si,[k(`div`,Ci,w(e.$t(`git.section.pullRequest`)),1),S(Sr,{snapshot:rt.value},null,8,[`snapshot`])])):T(``,!0)],64))],64)):(f(),y(`div`,wi,w(e.$t(`common.selectWorkspace`)),1)),S(xe,{modelValue:Lt.value,"onUpdate:modelValue":i[7]||=e=>Lt.value=e},{default:_(()=>[S(ke,{dark:``,style:{"min-width":`360px`,"max-width":`480px`}},{default:_(()=>[S(V,null,{default:_(()=>[k(`div`,Ti,w(e.$t(`git.pushConfirmTitle`)),1),k(`div`,Ei,[P(w(e.$t(`git.pushConfirmMessagePrefix`))+` `,1),k(`code`,Di,w(t.workspace?.workingBranch??``),1),P(` `+w(e.$t(`git.pushConfirmMessageSuffix`)),1)])]),_:1}),S(V,{class:`q-pt-none`},{default:_(()=>[S(Be,{modelValue:Rt.value,"onUpdate:modelValue":i[6]||=e=>Rt.value=e,label:e.$t(`git.forcePushToggle`),color:`orange-6`,dense:``},null,8,[`modelValue`,`label`]),k(`div`,Oi,w(e.$t(`git.forcePushHint`)),1)]),_:1}),S(Ce,{align:`right`},{default:_(()=>[o(S(H,{flat:``,label:e.$t(`common.cancel`),color:`grey-5`},null,8,[`label`]),[[q]]),S(H,{flat:``,label:Rt.value?e.$t(`git.forcePush`):e.$t(`git.push`),color:Rt.value?`orange-4`:`grey-5`,onClick:Bt},null,8,[`label`,`color`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),S(xe,{modelValue:I.value,"onUpdate:modelValue":i[10]||=e=>I.value=e,persistent:``},{default:_(()=>[S(ke,{dark:``,style:{"min-width":`420px`,"max-width":`600px`}},{default:_(()=>[S(V,null,{default:_(()=>[k(`div`,ki,[S(B,{name:`commit`,color:`green-5`,class:`q-mr-xs`}),P(` `+w(e.$t(`git.commitDialogTitle`)),1)]),k(`div`,Ai,w(e.$t(`git.commitDialogDescription`)),1)]),_:1}),S(V,{class:`q-pt-none`},{default:_(()=>[S(ge,{modelValue:L.value,"onUpdate:modelValue":i[8]||=e=>L.value=e,dark:``,dense:``,autofocus:``,label:e.$t(`git.commitMessage`),disable:re.value||ie.value,onKeyup:A(kt,[`enter`])},null,8,[`modelValue`,`label`,`disable`])]),_:1}),S(Ce,{align:`right`},{default:_(()=>[S(H,{flat:``,"no-caps":``,label:e.$t(`common.cancel`),color:`grey-5`,disable:re.value||ie.value,onClick:i[9]||=e=>I.value=!1},null,8,[`label`,`disable`]),S(H,{flat:``,"no-caps":``,icon:`smart_toy`,color:`indigo-4`,label:e.$t(`git.commitWithAgent`),loading:ie.value,disable:re.value,onClick:At},null,8,[`label`,`loading`,`disable`]),S(H,{unelevated:``,"no-caps":``,icon:`commit`,color:`green-7`,label:e.$t(`git.commitManual`),loading:re.value,disable:!L.value.trim()||ie.value,onClick:kt},null,8,[`label`,`loading`,`disable`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),S(xe,{modelValue:Me.value,"onUpdate:modelValue":i[12]||=e=>Me.value=e,persistent:``},{default:_(()=>[S(ke,{dark:``,style:{"min-width":`420px`,"max-width":`600px`}},{default:_(()=>[S(V,null,{default:_(()=>[k(`div`,ji,[S(B,{name:`warning`,class:`q-mr-xs`}),P(` `+w(Ne.value===`merge`?e.$t(`git.conflictTitleMerge`):e.$t(`git.conflictTitleRebase`)),1)]),k(`div`,Mi,w(e.$t(`git.conflictSubtitle`,{count:Pe.value.length})),1)]),_:1}),Pe.value.length>0?(f(),E(V,{key:0,class:`q-pt-none`},{default:_(()=>[S(mt,{dense:``,dark:``},{default:_(()=>[(f(!0),y(C,null,n(Pe.value,e=>(f(),E(W,{key:e},{default:_(()=>[S(U,{side:``},{default:_(()=>[S(B,{name:`insert_drive_file`,size:`xs`})]),_:1}),S(U,null,{default:_(()=>[k(`div`,Ni,w(e),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})):T(``,!0),S(Ce,{align:`right`},{default:_(()=>[S(H,{flat:``,"no-caps":``,label:e.$t(`common.cancel`),color:`grey-5`,disable:Fe.value||Ie.value,onClick:i[11]||=e=>Me.value=!1},null,8,[`label`,`disable`]),S(H,{flat:``,"no-caps":``,color:`red-4`,icon:`undo`,label:e.$t(`git.conflictAbort`),loading:Fe.value,disable:Ie.value,onClick:Ft},null,8,[`label`,`loading`,`disable`]),S(H,{unelevated:``,"no-caps":``,color:`primary`,icon:`smart_toy`,label:e.$t(`git.conflictResolveWithAgent`),loading:Ie.value,disable:Fe.value,onClick:It},null,8,[`label`,`loading`,`disable`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),S(xe,{modelValue:Le.value,"onUpdate:modelValue":i[16]||=e=>Le.value=e,persistent:``},{default:_(()=>[S(ke,{dark:``,style:{"min-width":`420px`,"max-width":`600px`}},{default:_(()=>[S(V,null,{default:_(()=>[k(`div`,Pi,[S(B,{name:`warning`,class:`q-mr-xs`}),P(` `+w(Re.value===`merge`?e.$t(`git.dirtyTitleMerge`):Re.value===`pull`?e.$t(`git.dirtyTitlePull`):e.$t(`git.dirtyTitleRebase`)),1)]),k(`div`,Fi,w(e.$t(`git.dirtySubtitle`,{modified:ze.value?.modified??0,staged:ze.value?.staged??0,untracked:ze.value?.untracked??0})),1)]),_:1}),He.value?(f(),E(V,{key:0,class:`q-pt-none`},{default:_(()=>[S(ge,{modelValue:Ue.value,"onUpdate:modelValue":i[13]||=e=>Ue.value=e,dark:``,dense:``,autofocus:``,placeholder:e.$t(`git.dirtyCommitPlaceholder`),disable:Ve.value,onKeyup:A(Nt,[`enter`])},null,8,[`modelValue`,`placeholder`,`disable`])]),_:1})):T(``,!0),S(Ce,{align:`right`},{default:_(()=>[S(H,{flat:``,"no-caps":``,label:e.$t(`common.cancel`),color:`grey-5`,disable:Ve.value,onClick:i[14]||=e=>Le.value=!1},null,8,[`label`,`disable`]),S(H,{flat:``,"no-caps":``,color:`red-4`,icon:`delete_forever`,label:e.$t(`git.dirtyDiscard`),loading:Ve.value,disable:Ve.value,onClick:Pt},null,8,[`label`,`loading`,`disable`]),He.value?(f(),E(H,{key:0,unelevated:``,"no-caps":``,color:`grey-7`,icon:`check`,label:e.$t(`git.dirtyCommitConfirm`),loading:Ve.value,disable:!Ue.value.trim(),onClick:Nt},null,8,[`label`,`loading`,`disable`])):(f(),y(C,{key:1},[S(H,{flat:``,"no-caps":``,color:`grey-5`,icon:`edit`,label:e.$t(`git.dirtyCommit`),disable:Ve.value,onClick:i[15]||=e=>He.value=!0},null,8,[`label`,`disable`]),S(H,{unelevated:``,"no-caps":``,color:`primary`,icon:`inventory_2`,label:e.$t(`git.dirtyStash`),disable:Ve.value,onClick:Mt},null,8,[`label`,`disable`])],64))]),_:1})]),_:1})]),_:1},8,[`modelValue`]),S(xe,{modelValue:We.value,"onUpdate:modelValue":i[18]||=e=>We.value=e,persistent:``},{default:_(()=>[S(ke,{dark:``,style:{"min-width":`420px`,"max-width":`600px`}},{default:_(()=>[S(V,null,{default:_(()=>[k(`div`,Ii,[S(B,{name:`error`,class:`q-mr-xs`}),P(` `+w(e.$t(`git.changeSourceBranchErrorTitle`)),1)]),k(`div`,Li,w(e.$t(`git.changeSourceBranchErrorOngoing`,{op:Ke.value})),1)]),_:1}),S(V,{class:`q-pt-none`},{default:_(()=>[k(`div`,Ri,w(Ge.value),1)]),_:1}),S(Ce,{align:`right`},{default:_(()=>[S(H,{flat:``,"no-caps":``,label:e.$t(`common.close`),color:`grey-5`,disable:Ye.value,onClick:i[17]||=e=>We.value=!1},null,8,[`label`,`disable`]),S(H,{unelevated:``,"no-caps":``,color:`red-5`,icon:`undo`,label:e.$t(`git.changeSourceBranchErrorAbort`),loading:Ye.value,onClick:$e},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),S(xe,{modelValue:F.value,"onUpdate:modelValue":i[20]||=e=>F.value=e,maximized:``},{default:_(()=>[t.workspace?(f(),E(D(r),{key:0,"workspace-id":t.workspace.id,"initial-review-mode":ae.value,"compare-from":oe.value,"compare-to":se.value,onClose:i[19]||=e=>F.value=!1,onSendToChat:et},null,8,[`workspace-id`,`initial-review-mode`,`compare-from`,`compare-to`])):T(``,!0)]),_:1},8,[`modelValue`]),t.workspace?(f(),E(wr,{key:2,modelValue:R.value,"onUpdate:modelValue":i[21]||=e=>R.value=e,commits:he.value,"source-branch":t.workspace.sourceBranch,onCompare:de},null,8,[`modelValue`,`commits`,`source-branch`])):T(``,!0),t.workspace&&G.value?(f(),E(Wn,{key:3,modelValue:pt.value,"onUpdate:modelValue":i[22]||=e=>pt.value=e,"workspace-id":t.workspace.id,"initial-tab":ht.value,"ahead-count":G.value.commitCount,"behind-count":G.value.behindCount,"source-branch":t.workspace.sourceBranch,"working-branch":t.workspace.workingBranch,onAppendSha:De},null,8,[`modelValue`,`workspace-id`,`initial-tab`,`ahead-count`,`behind-count`,`source-branch`,`working-branch`])):T(``,!0)]))}}),[[`__scopeId`,`data-v-9c653d31`]]),Bi={class:`text-caption col`},Vi=lt(p({__name:`PwaStatusBanner`,setup(t){let n=e(null),r=e(!navigator.onLine),i=e(!1),o=Le(),s=j(()=>!r.value&&o.reconnecting),l=e(null),u;function d(){document.documentElement.style.setProperty(`--kobo-pwa-banner-height`,`${l.value?.offsetHeight??0}px`)}h([r,s,n,i],()=>{O(d)});let p,m=!1;function g(e){e.preventDefault(),n.value=e}function _(){r.value=!navigator.onLine}async function v(){let e=n.value;e&&(await e.prompt(),await e.userChoice,n.value=null)}function b(){p?.waiting&&(m=!0,p.waiting.postMessage({type:`SKIP_WAITING`}))}return a(async()=>{window.addEventListener(`beforeinstallprompt`,g),window.addEventListener(`online`,_),window.addEventListener(`offline`,_),u=new ResizeObserver(d),l.value&&u.observe(l.value),d(),`serviceWorker`in navigator&&(p=await navigator.serviceWorker.getRegistration(),p&&(navigator.serviceWorker.addEventListener(`controllerchange`,()=>{m&&window.location.reload()}),i.value=!!p.waiting,p.addEventListener(`updatefound`,()=>{let e=p?.installing;e&&e.addEventListener(`statechange`,()=>{e.state===`installed`&&navigator.serviceWorker.controller&&(i.value=!0)})})))}),c(()=>{window.removeEventListener(`beforeinstallprompt`,g),window.removeEventListener(`online`,_),window.removeEventListener(`offline`,_),u?.disconnect(),document.documentElement.style.removeProperty(`--kobo-pwa-banner-height`)}),(e,t)=>r.value||s.value||n.value||i.value?(f(),y(`div`,{key:0,ref_key:`bannerRef`,ref:l,class:`pwa-status-banner row items-center q-gutter-sm q-px-md q-py-sm`},[S(B,{name:r.value?`cloud_off`:s.value?`sync`:i.value?`system_update`:`install_mobile`,size:`18px`,color:`indigo-3`},null,8,[`name`]),k(`span`,Bi,w(r.value?e.$t(`pwa.offline`):s.value?e.$t(`pwa.reconnecting`):i.value?e.$t(`pwa.updateReady`):e.$t(`pwa.installReady`)),1),n.value?(f(),E(H,{key:0,dense:``,flat:``,"no-caps":``,color:`indigo-3`,label:e.$t(`pwa.install`),onClick:v},null,8,[`label`])):T(``,!0),i.value?(f(),E(H,{key:1,dense:``,flat:``,"no-caps":``,color:`indigo-3`,label:e.$t(`pwa.reload`),onClick:b},null,8,[`label`])):T(``,!0)],512)):T(``,!0)}}),[[`__scopeId`,`data-v-9f0aae26`]]);function Hi(e,t){let n=Math.max(1,Math.floor(t));switch(e){case`minutes`:return`*/${n} * * * *`;case`hours`:return`0 */${n} * * *`;case`days`:return`0 0 */${n} * *`}}var Ui={class:`schedule-panel column q-pa-md q-gutter-md`},Wi={class:`text-subtitle2 q-mb-sm`},Gi={key:0,class:`text-caption text-grey-7`},Ki={class:`row items-center no-wrap`},qi={class:`text-body2`},Ji={key:0,class:`text-caption text-grey-6 q-mt-xs prompt-preview`},Yi={class:`text-subtitle2 q-mb-sm`},Xi={key:0,class:`text-caption text-grey-7`},Zi={class:`row items-center no-wrap`},Qi={class:`text-body2 ellipsis`},$i={class:`text-caption text-grey-6 q-mt-xs`},ea={key:0},ta={class:`prompt-preview text-caption text-grey-6 q-mt-xs`},na={class:`text-subtitle2 q-mb-sm`},ra={class:`row items-center q-gutter-sm q-mb-sm`},ia={class:`text-caption text-grey-6`},aa={class:`row items-center q-gutter-md q-mb-sm`},oa={class:`text-subtitle2 q-mb-sm`},sa=lt(p({__name:`SchedulePanel`,props:{workspaceId:{}},setup(t){let r=t,{t:i}=be(),a=Ze(),o=Ae(),s=j(()=>o.pendingWakeups[r.workspaceId]??null),c=j(()=>o.crons[r.workspaceId]??[]);h(()=>r.workspaceId,e=>{e&&o.fetchCrons(e)},{immediate:!0});function l(e){return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`})}function u(e){let t=Date.now()-new Date(e).getTime();if(Number.isNaN(t)||t<0)return`—`;let n=Math.floor(t/1e3);if(n<60)return`${n}s`;let r=Math.floor(n/60);if(r<60)return`${r}m`;let i=Math.floor(r/60);return i<24?`${i}h`:`${Math.floor(i/24)}d`}async function d(){try{let e=await fetch(`/api/workspaces/${r.workspaceId}/pending-wakeup`,{method:`DELETE`});if(!e.ok)throw Error(`HTTP ${e.status}`)}catch(e){a.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}async function p(e){try{await o.cancelCron(r.workspaceId,e)}catch(e){a.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}let m=e(15),g=e(`minutes`),v=e(``),b=e(``),x=e(``),D=e(!0),O=e(!1),A=e(!1),M=j(()=>[{label:i(`schedule.unitMinutes`),value:`minutes`},{label:i(`schedule.unitHours`),value:`hours`},{label:i(`schedule.unitDays`),value:`days`}]);async function N(){if(!(!b.value.trim()||A.value)){A.value=!0;try{let e=v.value.trim()||Hi(g.value,m.value);await o.createCron(r.workspaceId,{expression:e,prompt:b.value,label:x.value.trim()||void 0,mode:D.value?`fresh`:`resume`,oneShot:O.value}),b.value=``,x.value=``,v.value=``,a.notify({type:`positive`,message:i(`schedule.cronCreated`),position:`top`,timeout:2500})}catch(e){a.notify({type:`negative`,message:String(e instanceof Error?e.message:e),position:`top`,timeout:5e3})}finally{A.value=!1}}}let ee=e(15),te=e(``),ne=e(!0),F=e(!1);async function I(){if(!(!te.value.trim()||!(ee.value>0)||F.value)){F.value=!0;try{await o.scheduleManualWakeup(r.workspaceId,{delaySeconds:Math.round(ee.value*60),prompt:te.value,mode:ne.value?`fresh`:`resume`}),te.value=``,a.notify({type:`positive`,message:i(`schedule.wakeupCreated`),position:`top`,timeout:2500})}catch(e){a.notify({type:`negative`,message:String(e instanceof Error?e.message:e),position:`top`,timeout:5e3})}finally{F.value=!1}}}return(e,t)=>(f(),y(`div`,Ui,[k(`div`,null,[k(`div`,Wi,w(e.$t(`schedule.wakeupTitle`)),1),s.value?(f(),E(ke,{key:1,dark:``,flat:``,bordered:``},{default:_(()=>[S(V,{class:`q-py-sm`},{default:_(()=>[k(`div`,Ki,[S(B,{name:`schedule`,size:`16px`,color:`amber-4`,class:`q-mr-sm`}),k(`div`,qi,w(l(s.value.targetAt)),1),S(dt),S(H,{flat:``,dense:``,round:``,icon:`close`,size:`sm`,title:e.$t(`common.cancel`),onClick:d},null,8,[`title`])]),s.value.reason?(f(),y(`pre`,Ji,w(s.value.reason),1)):T(``,!0)]),_:1})]),_:1})):(f(),y(`div`,Gi,w(e.$t(`schedule.noWakeup`)),1))]),k(`div`,null,[k(`div`,Yi,w(e.$t(`schedule.cronsTitle`)),1),c.value.length===0?(f(),y(`div`,Xi,w(e.$t(`schedule.noCrons`)),1)):(f(),E(mt,{key:1,dense:``,dark:``,separator:``},{default:_(()=>[(f(!0),y(C,null,n(c.value,t=>(f(),E(W,{key:t.id},{default:_(()=>[S(U,null,{default:_(()=>[k(`div`,Zi,[S(B,{name:`event_repeat`,size:`16px`,color:`cyan-4`,class:`q-mr-sm`}),k(`div`,Qi,w(t.label||t.expression),1)]),k(`div`,$i,[P(w(e.$t(`schedule.nextFireAt`,{time:l(t.nextFireAt)}))+` `,1),t.lastFiredAt?(f(),y(`span`,ea,` · `+w(e.$t(`schedule.lastFiredAt`,{time:u(t.lastFiredAt)})),1)):T(``,!0)]),k(`pre`,ta,w(t.prompt),1)]),_:2},1024),S(U,{side:``,top:``},{default:_(()=>[S(H,{flat:``,dense:``,round:``,icon:`close`,size:`sm`,title:e.$t(`common.cancel`),onClick:e=>p(t.id)},null,8,[`title`,`onClick`])]),_:2},1024)]),_:2},1024))),128))]),_:1}))]),S(he,{dark:``}),k(`div`,null,[k(`div`,na,w(e.$t(`schedule.addCronTitle`)),1),k(`div`,ra,[k(`span`,ia,w(e.$t(`schedule.every`)),1),S(ge,{modelValue:m.value,"onUpdate:modelValue":t[0]||=e=>m.value=e,modelModifiers:{number:!0},type:`number`,dense:``,dark:``,outlined:``,min:`1`,style:{width:`72px`}},null,8,[`modelValue`]),S(et,{modelValue:g.value,"onUpdate:modelValue":t[1]||=e=>g.value=e,options:M.value,dense:``,dark:``,outlined:``,"options-dense":``,"emit-value":``,"map-options":``,style:{"min-width":`110px`}},null,8,[`modelValue`,`options`])]),S(ge,{modelValue:v.value,"onUpdate:modelValue":t[2]||=e=>v.value=e,dense:``,dark:``,outlined:``,label:e.$t(`schedule.advancedExpression`),hint:e.$t(`schedule.advancedHint`),class:`q-mb-sm`},null,8,[`modelValue`,`label`,`hint`]),S(ge,{modelValue:b.value,"onUpdate:modelValue":t[3]||=e=>b.value=e,type:`textarea`,autogrow:``,dense:``,dark:``,outlined:``,label:e.$t(`schedule.promptLabel`),class:`q-mb-sm`},null,8,[`modelValue`,`label`]),S(ge,{modelValue:x.value,"onUpdate:modelValue":t[4]||=e=>x.value=e,dense:``,dark:``,outlined:``,label:e.$t(`schedule.labelOptional`),class:`q-mb-sm`},null,8,[`modelValue`,`label`]),k(`div`,aa,[S(Be,{modelValue:D.value,"onUpdate:modelValue":t[5]||=e=>D.value=e,dense:``,label:e.$t(`schedule.modeFresh`)},null,8,[`modelValue`,`label`]),S(Be,{modelValue:O.value,"onUpdate:modelValue":t[6]||=e=>O.value=e,dense:``,label:e.$t(`schedule.oneShot`)},null,8,[`modelValue`,`label`])]),S(H,{dense:``,"no-caps":``,color:`indigo-4`,loading:A.value,disable:!b.value.trim(),label:e.$t(`schedule.addCronBtn`),onClick:N},null,8,[`loading`,`disable`,`label`])]),S(he,{dark:``}),k(`div`,null,[k(`div`,oa,w(e.$t(`schedule.addWakeupTitle`)),1),S(ge,{modelValue:ee.value,"onUpdate:modelValue":t[7]||=e=>ee.value=e,modelModifiers:{number:!0},type:`number`,dense:``,dark:``,outlined:``,min:`1`,label:e.$t(`schedule.delayMinutes`),style:{"max-width":`160px`},class:`q-mb-sm`},null,8,[`modelValue`,`label`]),S(ge,{modelValue:te.value,"onUpdate:modelValue":t[8]||=e=>te.value=e,type:`textarea`,autogrow:``,dense:``,dark:``,outlined:``,label:e.$t(`schedule.promptLabel`),class:`q-mb-sm`},null,8,[`modelValue`,`label`]),S(Be,{modelValue:ne.value,"onUpdate:modelValue":t[9]||=e=>ne.value=e,dense:``,label:e.$t(`schedule.modeFresh`),class:`q-mb-sm`},null,8,[`modelValue`,`label`]),k(`div`,null,[S(H,{dense:``,"no-caps":``,color:`indigo-4`,loading:F.value,disable:!te.value.trim()||!(ee.value>0),label:e.$t(`schedule.addWakeupBtn`),onClick:I},null,8,[`loading`,`disable`,`label`])])])]))}}),[[`__scopeId`,`data-v-5e678773`]]),ca={class:`q-pa-sm`},la={class:`row items-center q-mb-sm`},ua={class:`text-subtitle2`},da={key:0,class:`row items-center q-gutter-sm q-mt-xs text-caption text-grey-6`},fa={key:0,class:`text-negative`},pa=p({__name:`SessionTimelinePanel`,props:{workspaceId:{}},setup(t){let r=t,i=Ae(),a=j(()=>i.sessions),o=e([]),s=j(()=>new Map(o.value.map(e=>[e.sessionId,e]))),l=null,u=0;function d(){l&&clearTimeout(l),l=setTimeout(()=>void p(),350)}async function p(){l=null;let e=++u;try{let t=await fetch(`/api/workspaces/${r.workspaceId}/session-metrics`);if(!t.ok||e!==u)return;let n=await t.json();e===u&&(o.value=n.metrics??[])}catch{e===u&&(o.value=[])}}h(()=>[r.workspaceId,i.sessions.length,i.activityFeeds[r.workspaceId]?.length??0],d,{immediate:!0}),c(()=>{l&&clearTimeout(l)});function m(e){i.selectSession(e)}function g(e){let t=e.endedAt?new Date(e.endedAt).getTime():Date.now(),n=Math.max(0,t-new Date(e.startedAt).getTime());return`${Math.floor(n/6e4)}m ${Math.floor(n%6e4/1e3)}s`}function v(e){if(!e)return`0`;let t=e.inputTokens+e.outputTokens;return t>=1e3?`${(t/1e3).toFixed(t>=1e4?0:1)}k`:String(t)}async function b(){let e=await fetch(`/api/workspaces/${r.workspaceId}/diagnostic.json`);if(!e.ok)return;let t=URL.createObjectURL(await e.blob()),n=document.createElement(`a`);n.href=t,n.download=`kobo-diagnostic.json`,n.click(),URL.revokeObjectURL(t)}return(e,t)=>(f(),y(`div`,ca,[k(`div`,la,[k(`span`,ua,w(e.$t(`timeline.title`)),1),S(dt),S(H,{flat:``,dense:``,round:``,icon:`download`,"aria-label":e.$t(`timeline.export`),onClick:b},null,8,[`aria-label`])]),S(mt,{dark:``,dense:``},{default:_(()=>[(f(!0),y(C,null,n(a.value,t=>(f(),E(W,{key:t.id,clickable:``,onClick:e=>m(t.id)},{default:_(()=>[S(U,null,{default:_(()=>[S($e,null,{default:_(()=>[P(w(t.name||t.model||e.$t(`timeline.unnamed`)),1)]),_:2},1024),S($e,{caption:``},{default:_(()=>[P(w(t.status)+` · `+w(g(t)),1)]),_:2},1024),s.value.get(t.id)?(f(),y(`div`,da,[k(`span`,null,[S(B,{name:`build`,size:`13px`,class:`q-mr-xs`}),P(w(e.$t(`timeline.tools`,{count:s.value.get(t.id)?.toolCalls??0})),1)]),k(`span`,null,[S(B,{name:`token`,size:`13px`,class:`q-mr-xs`}),P(w(v(s.value.get(t.id))),1)]),(s.value.get(t.id)?.errors??0)>0?(f(),y(`span`,fa,[S(B,{name:`error_outline`,size:`13px`,class:`q-mr-xs`}),P(w(e.$t(`timeline.errors`,{count:s.value.get(t.id)?.errors??0})),1)])):T(``,!0)])):T(``,!0)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1})]))}}),ma={class:`subagents-panel q-pa-md`},ha={class:`text-caption text-uppercase text-weight-bold text-grey-6 q-mb-sm`,style:{"letter-spacing":`0.05em`}},ga={key:0,class:`text-caption text-grey-8`},_a={class:`row items-center q-mb-xs`},va={class:`text-caption text-weight-medium text-grey-3 ellipsis`,style:{"max-width":`220px`}},ya={key:0,class:`text-caption text-grey-6`,style:{"font-size":`10px`}},ba={class:`text-grey-4`},xa={class:`row items-center q-gutter-xs q-mt-xs text-caption text-grey-7`,style:{"font-size":`10px`}},Sa={key:0},Ca={key:1},wa={key:2},Ta=lt(p({__name:`SubagentsPanel`,setup(e){let{t}=be(),r=Ae(),i=j(()=>[...r.currentSubagents].reverse());function a(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 o(e){return e?e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e):``}return(e,t)=>(f(),y(`div`,ma,[k(`div`,ha,w(e.$t(`subagents.title`)),1),i.value.length===0?(f(),y(`div`,ga,w(e.$t(`subagents.empty`)),1)):T(``,!0),(f(!0),y(C,null,n(i.value,t=>(f(),y(`div`,{key:t.toolUseId,class:`subagent-item q-mb-sm rounded-borders q-pa-sm`},[k(`div`,_a,[S(B,{name:t.status===`running`?`play_circle`:`check_circle`,size:`14px`,color:t.status===`running`?`green-4`:`grey-6`,class:`q-mr-xs`},null,8,[`name`,`color`]),k(`span`,va,w(t.description||t.toolUseId),1)]),t.lastToolName?(f(),y(`div`,ya,[P(w(e.$t(`subagents.running`)),1),k(`span`,ba,w(t.lastToolName),1)])):T(``,!0),k(`div`,xa,[t.toolUses===void 0?T(``,!0):(f(),y(`span`,Sa,w(e.$t(`subagents.tools`,{count:t.toolUses})),1)),t.totalTokens?(f(),y(`span`,Ca,`· `+w(o(t.totalTokens))+` tok`,1)):T(``,!0),t.durationMs?(f(),y(`span`,wa,`· `+w(a(t.durationMs)),1)):T(``,!0)])]))),128))]))}}),[[`__scopeId`,`data-v-dd805632`]]),Ea={class:`notion-panel q-pa-md`},Da={class:`row items-center q-mb-sm`},Oa={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},ka={key:0,class:`q-mb-sm`},Aa={class:`text-caption text-grey-7`,style:{"font-size":`11px`}},ja={key:1,class:`text-caption text-grey-8 q-mb-sm`,style:{"font-size":`11px`}},Ma={key:2,class:`task-add-row row items-center q-mb-xs`},Na={key:3,class:`tasks-list`},Pa=[`onDblclick`],Fa={key:1,class:`text-caption text-grey-8`},Ia=lt(p({__name:`TasksPanel`,props:{workspace:{},tasks:{}},setup(t){let r=t,{t:i}=be(),a=Ae(),o=Le();function s(){r.workspace?.id&&wt(r.workspace.id,o,a)}let c=j(()=>r.tasks.filter(e=>!e.isAcceptanceCriterion)),l=j(()=>c.value.filter(e=>e.status===`done`).length),u=j(()=>c.value.length),d=j(()=>u.value>0?l.value/u.value:0),p=e(!1),m=e(``),h=e(null),g=e(``),v=e({});function b(e,t){if(t){let n=t.$el??t;v.value[e]=n}else delete v.value[e]}function D(){p.value=!0,m.value=``}async function ee(){let e=m.value.trim();if(!(!e||!r.workspace?.id))try{await a.createTask(r.workspace.id,e,!1),m.value=``,p.value=!1}catch{}}function te(){m.value=``,p.value=!1}function ne(e){h.value=e.id,g.value=e.title,O(()=>{let t=v.value[e.id]?.querySelector(`input, textarea`);t?.focus(),t?.select()})}async function F(e){if(h.value!==e.id)return;let t=g.value.trim(),n=e.id;if(h.value=null,!(!t||t===e.title)&&r.workspace?.id)try{await a.updateTaskTitle(r.workspace.id,n,t)}catch{}}function I(){h.value=null,g.value=``}async function L(e){if(r.workspace?.id)try{await a.deleteTask(r.workspace.id,e.id)}catch{}}async function re(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}`);a.fetchWorkspaceDetails(r.workspace.id)}catch(e){console.error(`Failed to toggle task:`,e)}}function ie(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function ae(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(e,r)=>(f(),y(`div`,Ea,[k(`div`,Da,[k(`div`,Oa,w(e.$t(`tasks.title`)),1),S(dt),t.workspace?(f(),E(H,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`fact_check`,color:`grey-5`,onClick:s},{default:_(()=>[S(K,null,{default:_(()=>[P(w(e.$t(`tasks.askProgress`)),1)]),_:1})]),_:1})):T(``,!0),t.workspace?(f(),E(H,{key:1,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,onClick:D},{default:_(()=>[S(K,null,{default:_(()=>[P(w(e.$t(`tooltip.addTask`)),1)]),_:1})]),_:1})):T(``,!0)]),t.workspace?(f(),y(C,{key:0},[u.value>0?(f(),y(`div`,ka,[S(Ye,{value:d.value,color:`primary`,"track-color":`grey-9`,class:`q-mb-xs`,style:{height:`4px`,"border-radius":`2px`}},null,8,[`value`]),k(`div`,Aa,w(e.$t(`notion.subtasks`,{done:l.value,total:u.value})),1)])):p.value?T(``,!0):(f(),y(`div`,ja,w(e.$t(`notion.noTasks`)),1)),p.value?(f(),y(`div`,Ma,[S(ge,{modelValue:m.value,"onUpdate:modelValue":r[0]||=e=>m.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:e.$t(`notion.newTask`),class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[A(M(ee,[`prevent`]),[`enter`]),A(M(te,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):T(``,!0),c.value.length>0?(f(),y(`div`,Na,[(f(!0),y(C,null,n(c.value,t=>(f(),y(`div`,{key:t.id,class:`task-item row items-center q-py-xxs`},[S(B,{name:ie(t.status),size:`14px`,style:N({color:ae(t.status)}),class:`q-mr-xs cursor-pointer`,onClick:e=>re(t)},null,8,[`name`,`style`,`onClick`]),h.value===t.id?(f(),E(ge,{key:0,ref_for:!0,ref:e=>b(t.id,e),modelValue:g.value,"onUpdate:modelValue":r[1]||=e=>g.value=e,dark:``,dense:``,borderless:``,class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[A(M(e=>F(t),[`prevent`]),[`enter`]),A(M(I,[`prevent`]),[`esc`])],onBlur:e=>F(t)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(f(),y(C,{key:1},[k(`span`,{class:x([`col task-title text-caption`,{"text-strike":t.status===`done`}]),style:N({color:t.status===`done`?`#4ade80`:`#ccc`}),onDblclick:e=>ne(t)},w(t.title),47,Pa),S(H,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`task-delete-btn`,onClick:e=>L(t)},{default:_(()=>[S(K,null,{default:_(()=>[P(w(e.$t(`tooltip.removeTask`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):T(``,!0)],64)):(f(),y(`div`,Fa,w(e.$t(`common.selectWorkspace`)),1))]))}}),[[`__scopeId`,`data-v-4bc9713a`]]),La=2,Ra=1,za=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(La,Math.floor(u/e.css.cell.width)),rows:Math.max(Ra,Math.floor(l/e.css.cell.height))}}},Ba=Object.defineProperty,Va=Object.getOwnPropertyDescriptor,Ha=(e,t)=>{for(var n in t)Ba(e,n,{get:t[n],enumerable:!0})},Ua=(e,t,n,r)=>{for(var i=r>1?void 0:r?Va(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&&Ba(t,n,i),i},J=(e,t)=>(n,r)=>t(n,r,e),Wa=`Terminal input`,Ga={get:()=>Wa,set:e=>Wa=e},Ka=`Too much output to announce, navigate to rows manually to read`,qa={get:()=>Ka,set:e=>Ka=e};function Ja(e){return e.replace(/\r?\n/g,`\r`)}function Ya(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function Xa(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function Za(e,t,n,r){e.stopPropagation(),e.clipboardData&&Qa(e.clipboardData.getData(`text/plain`),t,n,r)}function Qa(e,t,n,r){e=Ja(e),e=Ya(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function $a(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 eo(e,t,n,r,i){$a(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function to(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function no(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 ro=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}},io=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}},ao=``,oo=` `,so=class e{constructor(){this.fg=0,this.bg=0,this.extended=new co}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}},co=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}},lo=class e extends so{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new co,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?to(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()]}},uo=`di$target`,fo=`di$dependencies`,po=new Map;function mo(e){return e[fo]||[]}function ho(e){if(po.has(e))return po.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);go(t,e,r)};return t._id=e,po.set(e,t),t}function go(e,t,n){t[uo]===t?t[fo].push({id:e,index:n}):(t[fo]=[{id:e,index:n}],t[uo]=t)}var _o=ho(`BufferService`),vo=ho(`CoreMouseService`),yo=ho(`CoreService`),bo=ho(`CharsetService`),xo=ho(`InstantiationService`),So=ho(`LogService`),Co=ho(`OptionsService`),wo=ho(`OscLinkService`),To=ho(`UnicodeService`),Eo=ho(`DecorationService`),Do=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 lo,o=n.getTrimmedLength(),s=-1,c=-1,l=!1;for(let t=0;t<o;t++)if(!(c===-1&&!n.hasContent(t))){if(n.loadCell(t,a),a.hasExtendedAttrs()&&a.extended.urlId)if(c===-1){c=t,s=a.extended.urlId;continue}else l=a.extended.urlId!==s;else c!==-1&&(l=!0);if(l||c!==-1&&t===o-1){let n=this._oscLinkService.getLinkData(s)?.uri;if(n){let a={start:{x:c+1,y:e},end:{x:t+ +(!l&&t===o-1),y:e}},s=!1;if(!i?.allowNonHttpProtocols)try{let e=new URL(n);[`http:`,`https:`].includes(e.protocol)||(s=!0)}catch{s=!0}s||r.push({text:n,range:a,activate:(e,t)=>i?i.activate(e,t,a):Oo(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)}};Do=Ua([J(0,_o),J(1,Co),J(2,wo)],Do);function Oo(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 ko=ho(`CharSizeService`),Ao=ho(`CoreBrowserService`),jo=ho(`MouseService`),Mo=ho(`RenderService`),No=ho(`SelectionService`),Po=ho(`CharacterJoinerService`),Fo=ho(`ThemeService`),Io=ho(`LinkProviderService`),Lo=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?Uo.isErrorNoTelemetry(e)?new Uo(e.message+`
5
5