@loicngr/kobo 1.11.11 → 1.11.13

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 (58) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/server/services/agent/engines/claude-code/engine.js +89 -9
  3. package/dist/server/services/agent/engines/claude-code/event-mapper.js +6 -4
  4. package/dist/server/services/agent/engines/codex/engine.js +121 -8
  5. package/dist/server/services/agent/engines/codex/event-mapper.js +3 -1
  6. package/package.json +1 -1
  7. package/src/client/dist/pwa/assets/{ActivityFeed-BNDQPIiW.js → ActivityFeed-Ds8cAMNc.js} +1 -1
  8. package/src/client/dist/pwa/assets/{ChangelogPage-DWeiMCL1.js → ChangelogPage-DO6DNO4Q.js} +1 -1
  9. package/src/client/dist/pwa/assets/{ClosePopup-Bl8KdN_j.js → ClosePopup-DuAqn8Pb.js} +1 -1
  10. package/src/client/dist/pwa/assets/CreatePage-BnMSo_79.js +2 -0
  11. package/src/client/dist/pwa/assets/CreatePage-CV_RpAuV.css +1 -0
  12. package/src/client/dist/pwa/assets/{DiffViewer-BwfYKTny.js → DiffViewer-CMnFGReI.js} +3 -3
  13. package/src/client/dist/pwa/assets/{HealthPage-zm1qy4bo.js → HealthPage-BRAxQKSP.js} +1 -1
  14. package/src/client/dist/pwa/assets/{MainLayout-BDVUkruC.js → MainLayout-BN1ug95K.js} +2 -2
  15. package/src/client/dist/pwa/assets/{QBtnToggle-BKZW3k57.js → QBtnToggle-DsCDNQzX.js} +1 -1
  16. package/src/client/dist/pwa/assets/{QChip-CMB-IbQd.js → QChip-DWGDTZnX.js} +1 -1
  17. package/src/client/dist/pwa/assets/{QSelect-DCm1FiOk.js → QSelect-8Ip46vhk.js} +1 -1
  18. package/src/client/dist/pwa/assets/{QTooltip-8fQLc_4N.js → QTooltip-Bz4g3bmr.js} +1 -1
  19. package/src/client/dist/pwa/assets/{SearchPage-B-prQgu3.js → SearchPage-BD53VJEr.js} +1 -1
  20. package/src/client/dist/pwa/assets/{SettingsPage-CbasGyLP.js → SettingsPage-3rYdJZga.js} +1 -1
  21. package/src/client/dist/pwa/assets/{TouchPan-CmmS3gg6.js → TouchPan-BKu8V4eN.js} +1 -1
  22. package/src/client/dist/pwa/assets/{WorkspacePage-B9I2mQJE.js → WorkspacePage-CbC_t5Rx.js} +3 -3
  23. package/src/client/dist/pwa/assets/{cssMode-B4oUyX4f.js → cssMode-vaMVESGy.js} +1 -1
  24. package/src/client/dist/pwa/assets/{documents-UdlveYUp.js → documents-CyKQ9lT6.js} +1 -1
  25. package/src/client/dist/pwa/assets/{editor.api-ByJzr33G.js → editor.api-CH3dhpKq.js} +1 -1
  26. package/src/client/dist/pwa/assets/{expand-template-zfuUsWH3.js → expand-template-DQQQftsk.js} +1 -1
  27. package/src/client/dist/pwa/assets/{freemarker2-DurjKE7N.js → freemarker2-deLpERsj.js} +1 -1
  28. package/src/client/dist/pwa/assets/{handlebars-gwHbbDT2.js → handlebars-DdjS05Tc.js} +1 -1
  29. package/src/client/dist/pwa/assets/{html-DDNV7Gkm.js → html-pK1ZEFvP.js} +1 -1
  30. package/src/client/dist/pwa/assets/{htmlMode-BxdPTVhK.js → htmlMode-DJFDI9Ru.js} +1 -1
  31. package/src/client/dist/pwa/assets/i18n-CK38o-IF.js +1 -0
  32. package/src/client/dist/pwa/assets/{index-M0ntkdkQ.js → index-B_OmZ65F.js} +2 -2
  33. package/src/client/dist/pwa/assets/{javascript-Dp0eAm2m.js → javascript-DbuFfxco.js} +1 -1
  34. package/src/client/dist/pwa/assets/{jsonMode-DLllFEMT.js → jsonMode-B0Fu8Dcc.js} +1 -1
  35. package/src/client/dist/pwa/assets/{kobo-commands-So0Do2g1.js → kobo-commands-rb43ZeWG.js} +1 -1
  36. package/src/client/dist/pwa/assets/{layout-CfEpJmm_.js → layout-tAFrvQ5V.js} +1 -1
  37. package/src/client/dist/pwa/assets/{liquid-BVwIeblL.js → liquid-DqDIKOCy.js} +1 -1
  38. package/src/client/dist/pwa/assets/{lspLanguageFeatures-CExl7Xgb.js → lspLanguageFeatures-CVcEibfJ.js} +1 -1
  39. package/src/client/dist/pwa/assets/{mdx-ydpr14Ec.js → mdx-Bs4CovhI.js} +1 -1
  40. package/src/client/dist/pwa/assets/{network-auth-CxxR2FZL.js → network-auth-DYrrh7Zr.js} +1 -1
  41. package/src/client/dist/pwa/assets/{pending-diff-open-BqHyeaCb.js → pending-diff-open-D1IYH8Pd.js} +1 -1
  42. package/src/client/dist/pwa/assets/{project-color-Dl2gXBlN.js → project-color-DO6uj29M.js} +1 -1
  43. package/src/client/dist/pwa/assets/{python-BParijRW.js → python-BJoP0uN-.js} +1 -1
  44. package/src/client/dist/pwa/assets/{razor-DmywR0-y.js → razor-cwD-YBcr.js} +1 -1
  45. package/src/client/dist/pwa/assets/{render-chat-markdown-BQBEE7Bn.js → render-chat-markdown-DZnIueUV.js} +1 -1
  46. package/src/client/dist/pwa/assets/{tsMode-C51hBxK8.js → tsMode-of3oS9sU.js} +1 -1
  47. package/src/client/dist/pwa/assets/{typescript-C9LzA9s6.js → typescript-BTWMoUxn.js} +1 -1
  48. package/src/client/dist/pwa/assets/{use-onboarding--VIOMbMd.js → use-onboarding-BTFkRBjE.js} +1 -1
  49. package/src/client/dist/pwa/assets/{use-quasar-B6Aitpct.js → use-quasar-C1RCDSb6.js} +1 -1
  50. package/src/client/dist/pwa/assets/{vs-BJBy3q9a.js → vs-DDeaNKsH.js} +3 -3
  51. package/src/client/dist/pwa/assets/{workers-B89GKCYK.js → workers-DQnKuGcq.js} +1 -1
  52. package/src/client/dist/pwa/assets/{xml-C2D1fXDa.js → xml-RglGWD_3.js} +1 -1
  53. package/src/client/dist/pwa/assets/{yaml-8QFrUEL6.js → yaml-CSqGQpai.js} +1 -1
  54. package/src/client/dist/pwa/index.html +1 -1
  55. package/src/client/dist/pwa/sw.js +1 -1
  56. package/src/client/dist/pwa/assets/CreatePage-QwtfYunr.css +0 -1
  57. package/src/client/dist/pwa/assets/CreatePage-qCRXIoz-.js +0 -2
  58. package/src/client/dist/pwa/assets/i18n-Z1bkxUCG.js +0 -1
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DiffViewer-BwfYKTny.js","assets/vue-i18n-C3W5i7h6.js","assets/reactivity.esm-bundler-DtSZKRQB.js","assets/runtime-dom.esm-bundler-DgevF6KV.js","assets/QIcon--SvgE-nS.js","assets/QSeparator-BdyRE-AM.js","assets/use-checkbox-SrkgiJho.js","assets/index-M0ntkdkQ.js","assets/index-CK1nk7qr.css","assets/QSpinnerDots-B4RmFJUj.js","assets/use-quasar-B6Aitpct.js","assets/QSelect-DCm1FiOk.js","assets/QTooltip-8fQLc_4N.js","assets/QChip-CMB-IbQd.js","assets/pending-diff-open-BqHyeaCb.js","assets/documents-UdlveYUp.js","assets/TouchPan-CmmS3gg6.js","assets/ClosePopup-Bl8KdN_j.js","assets/render-chat-markdown-BQBEE7Bn.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/QBadge-sMJZ_eZm.js","assets/QSpace-D9UEvM99.js","assets/QBtnToggle-BKZW3k57.js","assets/QList-Be_FbTA3.js","assets/DiffViewer-CS3P9Ngi.css"])))=>i.map(i=>d[i]);
2
- import{i as e,n as t}from"./vue-i18n-C3W5i7h6.js";import{B as n,C as r,St as i,m as a,wt as o,x as s,yt as c}from"./reactivity.esm-bundler-DtSZKRQB.js";import{$ as l,A as u,At as d,B as f,Bt as p,C as m,Et as h,H as g,It as _,Jt as v,Kt as y,Mt as b,Ot as x,Q as S,Rt as C,S as w,Tt as T,U as E,V as D,W as O,Wt as k,X as A,Z as j,_n as M,fn as N,kt as P,st as ee,ut as F,vt as te,w as I,yn as L}from"./runtime-dom.esm-bundler-DgevF6KV.js";import{I as ne,M as R,N as z,S as re,_ as B,a as ie,b as ae,g as V,i as oe,j as se,l as ce,m as le,n as ue,r as de,s as fe,t as H,y as pe}from"./QIcon--SvgE-nS.js";import{n as me,p as he,r as ge,t as _e}from"./QSeparator-BdyRE-AM.js";import{o as ve}from"./use-checkbox-SrkgiJho.js";import{At as ye,B as be,Ct as xe,Dt as Se,Et as Ce,G as U,K as we,Ot as Te,Q as Ee,St as De,V as Oe,W as ke,X as Ae,_ as je,a as Me,bt as Ne,d as Pe,f as Fe,h as Ie,it as Le,kt as Re,l as ze,m as Be,n as Ve,o as He,p as Ue,q as We,r as Ge,s as Ke,st as qe,t as Je,u as Ye,v as Xe,wt as Ze,xt as Qe,yt as $e}from"./index-M0ntkdkQ.js";import{n as W,r as G,t as et}from"./use-quasar-B6Aitpct.js";import{d as K,l as tt,t as nt,u as rt}from"./QSelect-DCm1FiOk.js";import{d as it,f as at,h as ot,t as q}from"./QTooltip-8fQLc_4N.js";import{n as st,r as ct,t as lt}from"./documents-UdlveYUp.js";import{t as ut}from"./ClosePopup-Bl8KdN_j.js";import{t as dt}from"./TouchPan-CmmS3gg6.js";import{i as ft,r as pt,t as mt}from"./render-chat-markdown-BQBEE7Bn.js";import{t as ht}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as gt}from"./QBadge-sMJZ_eZm.js";import{t as _t}from"./QSpace-D9UEvM99.js";import{t as vt}from"./QChip-CMB-IbQd.js";import{n as yt,t as bt}from"./QBtnToggle-BKZW3k57.js";import{t as xt}from"./QList-Be_FbTA3.js";import{a as St,c as Ct,i as wt,l as Tt,o as Et,s as Dt,t as Ot}from"./layout-CfEpJmm_.js";import{n as kt,r as At}from"./kobo-commands-So0Do2g1.js";import{t as jt}from"./formatters-D0dU6VcA.js";import{a as Mt,i as Nt,n as Pt,r as Ft}from"./project-color-Dl2gXBlN.js";import{t as It}from"./use-onboarding--VIOMbMd.js";var Lt=[`none`,`strict`,`leaf`,`leaf-filtered`];function Rt(e){if(e.icon!==void 0)return F(H,{class:`q-tree__icon q-mr-sm`,name:e.icon,color:e.iconColor});let t=e.img||e.avatar;if(t)return F(`img`,{class:`q-tree__${e.img?`img`:`avatar`} q-mr-sm`,src:t})}var zt=z({name:`QTree`,props:{...de,nodes:{type:Array,required:!0},nodeKey:{type:String,required:!0},labelKey:{type:String,default:`label`},childrenKey:{type:String,default:`children`},dense:Boolean,color:String,controlColor:String,textColor:String,selectedColor:String,icon:String,tickStrategy:{type:String,default:`none`,validator:e=>Lt.includes(e)},ticked:Array,expanded:Array,selected:{},noSelectionUnset:Boolean,defaultExpandAll:Boolean,accordion:Boolean,filter:String,filterMethod:Function,duration:{},noConnectors:Boolean,noTransition:Boolean,noNodesLabel:String,noResultsLabel:String},emits:[`update:expanded`,`update:ticked`,`update:selected`,`lazyLoad`,`afterShow`,`afterHide`],setup(e,{slots:t,emit:n}){let{proxy:i}=ee(),{$q:a}=i,o=ue(e,a),s=r({}),c=r(e.ticked||[]),l=r(e.expanded||[]),u=r(null),d={},p={};P(()=>{d={},p={}});let m=f(()=>`q-tree q-tree--${e.dense?`dense`:`standard`}`+(e.noConnectors?` q-tree--no-connectors`:``)+(o.value?` q-tree--dark`:``)+(e.color===void 0?``:` text-${e.color}`)),h=f(()=>e.selected!==void 0),g=f(()=>e.icon||a.iconSet.tree.icon),_=f(()=>e.controlColor||e.color),v=f(()=>e.textColor===void 0?``:` text-${e.textColor}`),y=f(()=>{let t=e.selectedColor||e.color;return t?` text-${t}`:``}),b=f(()=>e.filterMethod===void 0?(t,n)=>{let r=n.toLowerCase();return t[e.labelKey]&&t[e.labelKey].toLowerCase().includes(r)}:e.filterMethod),x=f(()=>{let t={},n=(r,i)=>{let a=r.tickStrategy||(i?i.tickStrategy:e.tickStrategy),o=r[e.nodeKey],u=r[e.childrenKey]&&Array.isArray(r[e.childrenKey])&&r[e.childrenKey].length!==0,d=!r.disabled&&h.value&&r.selectable!==!1,f=!r.disabled&&r.expandable!==!1,p=a!==`none`,m=a===`strict`,g=a===`leaf-filtered`,_=a===`leaf`||a===`leaf-filtered`,v=!r.disabled&&r.tickable!==!1;_&&v===!0&&i&&i.tickable!==!0&&(v=!1);let y=r.lazy;y===!0&&s.value[o]!==void 0&&Array.isArray(r[e.childrenKey])&&(y=s.value[o]);let x={key:o,parent:i,isParent:u,lazy:y,disabled:r.disabled,link:!r.disabled&&(d||f&&(u||y===!0)),children:[],matchesFilter:!e.filter||b.value(r,e.filter),selected:o===e.selected&&d,selectable:d,expanded:u?l.value.includes(o):!1,expandable:f,noTick:r.noTick===!0||!m&&y&&y!==`loaded`,tickable:v,tickStrategy:a,hasTicking:p,strictTicking:m,leafFilteredTicking:g,leafTicking:_,ticked:(m||!u)&&c.value.includes(o)};if(t[o]=x,u&&(x.children=r[e.childrenKey].map(e=>n(e,x)),e.filter&&(x.matchesFilter===!0?x.noTick!==!0&&x.disabled!==!0&&x.tickable===!0&&g&&x.children.every(e=>e.matchesFilter!==!0||e.noTick===!0||e.tickable!==!0)&&(x.tickable=!1):x.matchesFilter=x.children.some(e=>e.matchesFilter)),x.matchesFilter===!0&&(x.noTick!==!0&&m!==!0&&x.children.every(e=>e.noTick)&&(x.noTick=!0),_))){if(x.ticked=!1,x.indeterminate=x.children.some(e=>e.indeterminate===!0),x.tickable=x.tickable===!0&&x.children.some(e=>e.tickable),x.indeterminate!==!0){let e=x.children.reduce((e,t)=>t.ticked===!0?e+1:e,0);e===x.children.length?x.ticked=!0:e>0&&(x.indeterminate=!0)}x.indeterminate===!0&&(x.indeterminateNextState=x.children.every(e=>e.tickable!==!0||e.ticked!==!0))}return x};return e.nodes.forEach(e=>n(e,null)),t}),S=f(()=>{let t=[];function n(r){r.forEach(r=>{let i=x.value[r[e.nodeKey]];e.filter&&i.matchesFilter!==!0||(i.link===!0&&t.push(i.key),i.expanded===!0&&Array.isArray(r[e.childrenKey])&&n(r[e.childrenKey]))})}return n(e.nodes),t}),C=f(()=>{let e=S.value;if(e.includes(u.value))return u.value;let t=e.find(e=>x.value[e].selected===!0);return t===void 0?e[0]:t});N(()=>e.ticked,e=>{c.value=e}),N(()=>e.expanded,e=>{l.value=e});function E(t){let n=(r,i)=>{if(r||!i)return r;if(Array.isArray(i))return i.reduce(n,r);if(i[e.nodeKey]===t)return i;if(i[e.childrenKey])return n(null,i[e.childrenKey])};return n(null,e.nodes)}function D(){return c.value.map(e=>E(e))}function O(){return l.value.map(e=>E(e))}function k(e){return e&&x.value[e]?x.value[e].expanded:!1}function A(){e.expanded===void 0?l.value=[]:n(`update:expanded`,[])}function j(){let t=[],r=n=>{n[e.childrenKey]&&n[e.childrenKey].length!==0&&n.expandable!==!1&&n.disabled!==!0&&(t.push(n[e.nodeKey]),n[e.childrenKey].forEach(r))};e.nodes.forEach(r),e.expanded===void 0?l.value=t:n(`update:expanded`,t)}function M(t,r,i=E(t),a=x.value[t]){if(a.lazy&&a.lazy!==`loaded`){if(a.lazy===`loading`)return;s.value[t]=`loading`,Array.isArray(i[e.childrenKey])||(i[e.childrenKey]=[]),n(`lazyLoad`,{node:i,key:t,done:n=>{s.value[t]=`loaded`,i[e.childrenKey]=Array.isArray(n)?n:[],T(()=>{x.value[t]?.isParent===!0&&te(t,!0)})},fail:()=>{delete s.value[t],i[e.childrenKey].length===0&&delete i[e.childrenKey]}})}else a.isParent===!0&&a.expandable===!0&&te(t,r)}function te(t,r){let i=l.value,a=e.expanded!==void 0;if(a&&(i=[...i]),r){if(e.accordion&&x.value[t]){let n=[];x.value[t].parent?x.value[t].parent.children.forEach(e=>{e.key!==t&&e.expandable===!0&&n.push(e.key)}):e.nodes.forEach(r=>{let i=r[e.nodeKey];i!==t&&n.push(i)}),n.length!==0&&(i=i.filter(e=>!n.includes(e)))}i=[...i,t].filter((e,t,n)=>n.indexOf(e)===t)}else i=i.filter(e=>e!==t);a?n(`update:expanded`,i):l.value=i}function I(e){return e&&x.value[e]?x.value[e].ticked:!1}function z(t,r){let i=c.value,a=e.ticked!==void 0;a&&(i=[...i]),i=r?[...i,...t].filter((e,t,n)=>n.indexOf(e)===t):i.filter(e=>!t.includes(e)),a?n(`update:ticked`,i):c.value=i}function B(t,n,r){let a={tree:i,node:t,key:r,color:e.color,dark:o.value};return ne(a,`expanded`,()=>n.expanded,e=>{e!==n.expanded&&M(r,e)}),ne(a,`ticked`,()=>n.ticked,e=>{e!==n.ticked&&z([r],e)}),a}function ie(t){return(e.filter?t.filter(t=>x.value[t[e.nodeKey]].matchesFilter):t).map(e=>oe(e))}function ae(){n(`afterShow`)}function V(){n(`afterHide`)}function oe(n){let r=n[e.nodeKey],i=x.value[r],a=n.header&&t[`header-${n.header}`]||t[`default-header`],s=i.isParent===!0?ie(n[e.childrenKey]):[],c=s.length!==0||i.lazy&&i.lazy!==`loaded`,l=n.body&&t[`body-${n.body}`]||t[`default-body`],f=a!==void 0||l!==void 0?B(n,i,r):null;return l!==void 0&&(l=F(`div`,{class:`q-tree__node-body relative-position`},[F(`div`,{class:v.value},[l(f)])])),F(`div`,{key:r,class:`q-tree__node relative-position q-tree__node--${c?`parent`:`child`}`},[F(`div`,{class:`q-tree__node-header relative-position row no-wrap items-center`+(i.link===!0?` q-tree__node--link q-hoverable q-focusable`:``)+(i.selected===!0?` q-tree__node--selected`:``)+(i.disabled===!0?` q-tree__node--disabled`:``),ref:e=>{p[i.key]=e},tabindex:i.link===!0&&i.key===C.value?0:-1,"aria-expanded":c?i.expanded?`true`:`false`:null,"aria-selected":i.selectable?i.selected?`true`:`false`:null,"aria-disabled":i.disabled===!0?`true`:null,role:`treeitem`,onFocus(){i.link===!0&&(u.value=i.key)},onClick:e=>{pe(n,i,e)},onKeydown(e){re(e)!==!0&&(e.keyCode===13?pe(n,i,e,!0):e.keyCode===32?me(n,i,e,!0):fe(i,e.keyCode)&&R(e))}},[F(`div`,{class:`q-focus-helper`,tabindex:-1,ref:e=>{d[i.key]=e}}),i.lazy===`loading`?F(ce,{class:`q-tree__spinner`,color:_.value}):c?F(H,{class:`q-tree__arrow`+(i.expanded===!0?` q-tree__arrow--rotate`:``),name:g.value,onClick(e){me(n,i,e)}}):null,i.hasTicking===!0&&i.noTick!==!0?F(Ge,{class:`q-tree__tickbox`,modelValue:i.indeterminate===!0?null:i.ticked,color:_.value,dark:o.value,dense:!0,keepColor:!0,disable:i.tickable!==!0,onKeydown:R,"onUpdate:modelValue":e=>{he(i,e)}}):null,F(`div`,{class:`q-tree__node-header-content col row no-wrap items-center`+(i.selected===!0?y.value:v.value)},[a?a(f):[Rt(n),F(`div`,n[e.labelKey])]])]),c?e.noTransition?i.expanded===!0?F(`div`,{class:`q-tree__node-collapsible`+v.value,key:`${r}__q`},[l,F(`div`,{class:`q-tree__children`+(i.disabled===!0?` q-tree__node--disabled`:``),role:`group`},s)]):null:F(ot,{duration:e.duration,onShow:ae,onHide:V},()=>L(F(`div`,{class:`q-tree__node-collapsible`+v.value,key:`${r}__q`},[l,F(`div`,{class:`q-tree__children`+(i.disabled===!0?` q-tree__node--disabled`:``),role:`group`},s)]),[[w,i.expanded]])):l])}function se(e){d[e]?.focus({preventScroll:!0})}function le(e){e!==void 0&&(u.value=e,p[e]?.focus())}function de(t){for(let n of t)if(!(e.filter&&n.matchesFilter!==!0)){if(n.link===!0)return n.key;if(n.expanded===!0){let e=de(n.children);if(e!==void 0)return e}}}function fe(e,t){let n=S.value,r=n.indexOf(e.key);if(t===36)return le(n[0]),!0;if(t===35)return le(n.at(-1)),!0;if(t===38)return le(n[r-1]),!0;if(t===40)return le(n[r+1]),!0;if(t===39)return e.isParent!==!0&&!e.lazy||(e.expanded===!0?le(de(e.children)):M(e.key,!0)),!0;if(t===37){if(e.expanded===!0)M(e.key,!1);else{let t=e.parent;for(;t!==null&&t.link!==!0;)t=t.parent;le(t?.key)}return!0}return!1}function pe(t,r,i,a){r.link===!0&&(u.value=r.key),a!==!0&&r.selectable!==!1&&se(r.key),h.value&&r.selectable?e.noSelectionUnset?r.key!==e.selected&&n(`update:selected`,r.key===void 0?null:r.key):n(`update:selected`,r.key===e.selected?null:r.key):me(t,r,i,a),typeof t.handler==`function`&&t.handler(t)}function me(e,t,n,r){t.link===!0&&(u.value=t.key),n!==void 0&&R(n),r!==!0&&t.selectable!==!1&&se(t.key),M(t.key,!t.expanded,e,t)}function he(e,t){if(e.indeterminate===!0&&(t=e.indeterminateNextState),e.strictTicking)z([e.key],t);else if(e.leafTicking){let n=[],r=e=>{e.isParent?(t!==!0&&e.noTick!==!0&&e.tickable===!0&&n.push(e.key),e.leafTicking===!0&&e.children.forEach(r)):e.noTick!==!0&&e.tickable===!0&&(e.leafFilteredTicking!==!0||e.matchesFilter===!0)&&n.push(e.key)};r(e),z(n,t)}}return e.defaultExpandAll&&j(),Object.assign(i,{getNodeByKey:E,getTickedNodes:D,getExpandedNodes:O,isExpanded:k,collapseAll:A,expandAll:j,setExpanded:M,isTicked:I,setTicked:z}),()=>{let t=ie(e.nodes);return F(`div`,{class:m.value,role:`tree`},t.length===0?e.filter?e.noResultsLabel||a.lang.tree.noResults:e.noNodesLabel||a.lang.tree.noNodes:t)}}});function Bt(e){let t=[];for(let n of e){let e=n.path.split(`/`).filter(e=>e.length>0);if(e.length===0)continue;let r=t,i=``;for(let t=0;t<e.length-1;t++){let n=e[t];i=i?`${i}/${n}`:n;let a=r.find(e=>e.isFolder&&e.label===n);a||(a={label:n,nodeKey:`dir:${i}`,isFolder:!0,children:[]},r.push(a)),r=a.children}r.push({label:e[e.length-1],nodeKey:`file:${n.path}`,file:n})}function n(e){e.sort((e,t)=>{let n=e.isFolder===!0;return n===(t.isFolder===!0)?e.label.localeCompare(t.label):n?-1:1});for(let t of e)t.children&&n(t.children)}return n(t),t}function Vt(e){let t=0;for(let n of e)n.file&&t++,n.children&&(t+=Vt(n.children));return t}var Ht=150;function Ut(e,t){e.value!==t&&(e.value=t)}var Wt=z({name:`QDrawer`,inheritAttrs:!1,props:{...De,...de,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:[...Qe,`onLayout`,`miniState`],setup(e,{slots:t,emit:n,attrs:i}){let a=ee(),{proxy:{$q:o}}=a,s=ue(e,o),{preventBodyScroll:c}=Le(),{registerTimeout:l,removeTimeout:u}=Ze(),d=te(V,le);if(d===le)return console.error(`QDrawer needs to be child of QLayout`),le;let p,m=null,h,g=r(e.behavior===`mobile`||e.behavior!==`desktop`&&d.totalWidth.value<=e.breakpoint),_=f(()=>e.mini&&!g.value),v=f(()=>_.value?e.miniWidth:e.width),y=f(()=>e.overlay||e.miniToOverlay||d.view.value.includes(I.value?`R`:`L`)||o.platform.is.ios&&d.isContainer.value),S=r(e.showIfAbove&&!g.value||e.modelValue===!0),C=f(()=>!e.overlay&&S.value&&!g.value),w=f(()=>e.overlay&&S.value&&!g.value),E=f(()=>!e.persistent&&(g.value||w.value));function D(e,t){if(j(),e!==!1&&d.animate(),xe(0),g.value){let e=d.instances[ie.value];e?.belowBreakpoint===!0&&e.hide(!1),Se(1),d.isContainer.value||c(!0)}else Se(0),e!==!1&&U(!1);l(()=>{e!==!1&&U(!0),t||n(`show`,e)},Ht)}function O(e,t){M(),e!==!1&&d.animate(),Se(0),xe(ne.value*v.value),De(),t?u():l(()=>{n(`hide`,e)},Ht)}let{show:k,hide:A}=Ne({showing:S,hideOnRouteChange:E,handleShow:D,handleHide:O}),{addToHistory:j,removeFromHistory:M}=Ce(S,A,E),P={belowBreakpoint:g,hide:A},I=f(()=>e.side===`right`),ne=f(()=>(o.lang.rtl?-1:1)*(I.value?1:-1)),R=r(0),z=r(!1),re=r(!1),B=r(v.value*ne.value),ie=f(()=>I.value?`left`:`right`),ae=f(()=>S.value&&!g.value&&!e.overlay?e.miniToOverlay?e.miniWidth:v.value:0),se=f(()=>`fullscreen q-drawer__backdrop`+(!S.value&&!z.value?` hidden`:``)),ce=f(()=>({backgroundColor:`rgba(0,0,0,${R.value*.4})`})),de=f(()=>I.value?d.rows.value.top[2]===`r`:d.rows.value.top[0]===`l`),H=f(()=>I.value?d.rows.value.bottom[2]===`r`:d.rows.value.bottom[0]===`l`),pe=f(()=>{let e={};return d.header.space&&!de.value&&(y.value?e.top=`${d.header.offset}px`:d.header.space&&(e.top=`${d.header.size}px`)),d.footer.space&&!H.value&&(y.value?e.bottom=`${d.footer.offset}px`:d.footer.space&&(e.bottom=`${d.footer.size}px`)),e}),me=f(()=>{let e={width:`${v.value}px`,transform:`translateX(${B.value}px)`};return g.value?e:Object.assign(e,pe.value)}),he=f(()=>`q-drawer__content fit `+(d.isContainer.value?`overflow-auto`:`scroll`)),ge=f(()=>`q-drawer q-drawer--${e.side}`+(re.value?` q-drawer--mini-animate`:``)+(e.bordered?` q-drawer--bordered`:``)+(s.value?` q-drawer--dark q-dark`:``)+(z.value?` no-transition`:S.value?``:` q-layout--prevent-focus`)+(g.value?` fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding`:` q-drawer--${_.value?`mini`:`standard`}`+(y.value||!C.value?` fixed`:``)+(e.overlay||e.miniToOverlay?` q-drawer--on-top`:``)+(de.value?` q-drawer--top-padding`:``))),_e=f(()=>{let t=o.lang.rtl?e.side:ie.value;return[[dt,Te,void 0,{[t]:!0,mouse:!0}]]}),ve=f(()=>{let t=o.lang.rtl?ie.value:e.side;return[[dt,Ee,void 0,{[t]:!0,mouse:!0}]]}),ye=f(()=>{let t=o.lang.rtl?ie.value:e.side;return[[dt,Ee,void 0,{[t]:!0,mouse:!0,mouseAllDir:!0}]]});function be(){Ut(g,e.behavior===`mobile`||e.behavior!==`desktop`&&d.totalWidth.value<=e.breakpoint)}N(g,t=>{t?(p=S.value,S.value&&A(!1)):!e.overlay&&e.behavior!==`mobile`&&p!==!1&&(S.value?(xe(0),Se(0),De()):k(!1))}),N(()=>e.side,(e,t)=>{d.instances[t]===P&&(d.instances[t]=void 0,d[t].space=!1,d[t].offset=0),d.instances[e]=P,d[e].size=v.value,d[e].space=C.value,d[e].offset=ae.value}),N(d.totalWidth,()=>{(d.isContainer.value||!document.qScrollPrevented)&&be()}),N(()=>e.behavior+e.breakpoint,be),N(d.isContainer,e=>{S.value&&c(!e),e&&be()}),N(d.scrollbarWidth,()=>{xe(S.value?0:void 0)}),N(ae,e=>{Oe(`offset`,e)}),N(C,e=>{n(`onLayout`,e),Oe(`space`,e)}),N(I,()=>{xe()}),N(v,t=>{xe(),ke(e.miniToOverlay,t)}),N(()=>e.miniToOverlay,e=>{ke(e,v.value)}),N(()=>o.lang.rtl,()=>{xe()}),N(()=>e.mini,()=>{e.noMiniAnimation||e.modelValue&&(we(),d.animate())}),N(_,e=>{n(`miniState`,e)});function xe(e){e===void 0?T(()=>{e=S.value?0:v.value,xe(ne.value*e)}):(d.isContainer.value&&I.value&&(g.value||Math.abs(e)===v.value)&&(e+=ne.value*d.scrollbarWidth.value),B.value=e)}function Se(e){R.value=e}function U(e){let t=e?`remove`:d.isContainer.value?``:`add`;t!==``&&document.body.classList[t](`q-body--drawer-toggle`)}function we(){m!==null&&clearTimeout(m),a.proxy&&a.proxy.$el&&a.proxy.$el.classList.add(`q-drawer--mini-animate`),re.value=!0,m=setTimeout(()=>{m=null,re.value=!1,a?.proxy?.$el?.classList.remove(`q-drawer--mini-animate`)},150)}function Te(e){if(S.value)return;let t=v.value,n=at(e.distance.x,0,t);if(e.isFinal){n>=Math.min(75,t)?k():(d.animate(),Se(0),xe(ne.value*t)),z.value=!1;return}xe((o.lang.rtl?!I.value:I.value)?Math.max(t-n,0):Math.min(0,n-t)),Se(at(n/t,0,1)),e.isFirst&&(z.value=!0)}function Ee(t){if(!S.value)return;let n=v.value,r=t.direction===e.side,i=(o.lang.rtl?!r:r)?at(t.distance.x,0,n):0;if(t.isFinal){Math.abs(i)<Math.min(75,n)?(d.animate(),Se(1),xe(0)):A(),z.value=!1;return}xe(ne.value*i),Se(at(1-i/n,0,1)),t.isFirst&&(z.value=!0)}function De(){c(!1),U(!0)}function Oe(t,n){d.update(e.side,t,n)}function ke(t,n){Oe(`size`,t?e.miniWidth:n)}return d.instances[e.side]=P,ke(e.miniToOverlay,v.value),Oe(`space`,C.value),Oe(`offset`,ae.value),e.showIfAbove&&!e.modelValue&&S.value&&e[`onUpdate:modelValue`]!==void 0&&n(`update:modelValue`,!0),b(()=>{n(`onLayout`,C.value),n(`miniState`,_.value),p=e.showIfAbove;let t=()=>{(S.value?D:O)(!1,!0)};if(d.totalWidth.value!==0){T(t);return}h=N(d.totalWidth,()=>{h(),h=void 0,!S.value&&e.showIfAbove&&!g.value?k(!1):t()})}),x(()=>{h?.(),m!==null&&(clearTimeout(m),m=null),S.value&&De(),d.instances[e.side]===P&&(d.instances[e.side]=void 0,Oe(`size`,0),Oe(`offset`,0),Oe(`space`,!1))}),()=>{let n=[];g.value&&(e.noSwipeOpen||n.push(L(F(`div`,{key:`open`,class:`q-drawer__opener fixed-${e.side}`,"aria-hidden":`true`}),_e.value)),n.push(oe(`div`,{ref:`backdrop`,class:se.value,style:ce.value,"aria-hidden":`true`,onClick:A},void 0,`backdrop`,!e.noSwipeBackdrop&&S.value,()=>ye.value)));let r=_.value&&t.mini!==void 0,a=[F(`div`,{...i,key:String(r),class:[he.value,i.class]},r?t.mini():fe(t.default))];return e.elevated&&S.value&&a.push(F(`div`,{class:`q-layout__shadow absolute-full overflow-hidden no-pointer-events`})),n.push(oe(`aside`,{ref:`content`,class:ge.value,style:me.value},a,`contentclose`,!e.noSwipeClose&&g.value,()=>ve.value)),F(`div`,{class:`q-drawer-container`},n)}}}),Gt=0,Kt=[`click`,`keydown`],qt={icon:String,label:[Number,String],alert:[Boolean,String],alertIcon:String,name:{type:[Number,String],default:()=>`t_${Gt++}`},noCaps:Boolean,tabindex:[String,Number],disable:Boolean,contentClass:String,ripple:{type:[Boolean,Object],default:!0}};function Jt(e,t,n,i){let a=te(pe,le);if(a===le)return console.error(`QTab/QRouteTab component needs to be child of QTabs`),le;let{proxy:o}=ee(),s=r(null),c=r(null),l=r(null),u=f(()=>e.disable||e.ripple===!1?!1:{keyCodes:[13,32],early:!0,...e.ripple===!0?{}:e.ripple}),d=f(()=>a.currentModel.value===e.name),p=f(()=>`q-tab relative-position self-stretch flex flex-center text-center`+(d.value?` q-tab--active`+(a.tabProps.value.activeClass?` `+a.tabProps.value.activeClass:``)+(a.tabProps.value.activeColor?` text-${a.tabProps.value.activeColor}`:``)+(a.tabProps.value.activeBgColor?` bg-${a.tabProps.value.activeBgColor}`:``):` q-tab--inactive`)+(e.icon&&e.label&&!a.tabProps.value.inlineLabel?` q-tab--full`:``)+(e.noCaps||a.tabProps.value.noCaps?` q-tab--no-caps`:``)+(e.disable?` disabled`:` q-focusable q-hoverable cursor-pointer`)+(i===void 0?``:i.linkClass.value)),m=f(()=>`q-tab__content self-stretch flex-center relative-position q-anchor--skip non-selectable `+(a.tabProps.value.inlineLabel?`row no-wrap q-tab__content--inline`:`column`)+(e.contentClass===void 0?``:` ${e.contentClass}`)),h=f(()=>e.disable||a.hasFocus.value||!d.value&&a.hasActiveTab.value?-1:e.tabindex||0);function g(t,r){if(!r&&!t?.qAvoidFocus&&s.value?.focus({preventScroll:!0}),e.disable){i?.hasRouterLink.value===!0&&R(t);return}if(i===void 0){a.updateModel({name:e.name}),n(`click`,t);return}if(i.hasRouterLink.value){let r=(n={})=>{let r,o=n.to===void 0||ye(n.to,e.to)?a.avoidRouteWatcher=ge():null;return i.navigateToRouterLink(t,{...n,returnRouterError:!0}).catch(e=>{r=e}).then(t=>{if(o===a.avoidRouteWatcher&&(a.avoidRouteWatcher=!1,r===void 0&&(t===void 0||t.message?.startsWith(`Avoided redundant navigation`)===!0)&&a.updateModel({name:e.name})),n.returnRouterError)return r===void 0?t:Promise.reject(r)})};n(`click`,t,r),t.defaultPrevented||r();return}n(`click`,t)}function _(e){ae(e,[13,32])?g(e,!0):!re(e)&&e.keyCode>=35&&e.keyCode<=40&&!e.altKey&&!e.metaKey&&a.onKbdNavigate(e.keyCode,o.$el)&&R(e),n(`keydown`,e)}function v(){let n=a.tabProps.value.narrowIndicator,r=[],i=F(`div`,{ref:l,class:[`q-tab__indicator`,a.tabProps.value.indicatorClass]});e.icon!==void 0&&r.push(F(H,{class:`q-tab__icon`,name:e.icon})),e.label!==void 0&&r.push(F(`div`,{class:`q-tab__label`},e.label)),e.alert&&r.push(e.alertIcon===void 0?F(`div`,{class:`q-tab__alert`+(e.alert===!0?``:` text-${e.alert}`)}):F(H,{class:`q-tab__alert-icon`,color:e.alert===!0?void 0:e.alert,name:e.alertIcon})),n&&r.push(i);let o=[F(`div`,{class:`q-focus-helper`,tabindex:-1,ref:s}),F(`div`,{class:m.value},ie(t.default,r))];return n||o.push(i),o}let y={name:f(()=>e.name),rootRef:c,tabIndicatorRef:l,routeData:i};x(()=>{a.unregisterTab(y)}),b(()=>{a.registerTab(y)});function S(t,n){let r={ref:c,class:p.value,tabindex:h.value,role:`tab`,"aria-selected":d.value?`true`:`false`,"aria-disabled":e.disable?`true`:void 0,onClick:g,onKeydown:_,...n};return L(F(t,r,v()),[[Ae,u.value]])}return{renderTab:S,$tabs:a}}var Yt=z({name:`QTab`,props:qt,emits:Kt,setup(e,{slots:t,emit:n}){let{renderTab:r}=Jt(e,t,n);return()=>r(`div`)}});function Xt(e,t,n){let r=n?[`left`,`right`]:[`top`,`bottom`];return`absolute-${t?r[0]:r[1]}${e?` text-${e}`:``}`}function Zt(e,t){for(let n in e)if(e[n]!==t[n])return!1;return!0}var Qt=[`left`,`center`,`right`,`justify`],$t=z({name:`QTabs`,props:{modelValue:[Number,String],align:{type:String,default:`center`,validator:e=>Qt.includes(e)},breakpoint:{type:[String,Number],default:600},vertical:Boolean,shrink:Boolean,stretch:Boolean,activeClass:String,activeColor:String,activeBgColor:String,indicatorColor:String,leftIcon:String,rightIcon:String,outsideArrows:Boolean,mobileArrows:Boolean,switchIndicator:Boolean,narrowIndicator:Boolean,inlineLabel:Boolean,noCaps:Boolean,dense:Boolean,contentClass:String,"onUpdate:modelValue":[Function,Array]},setup(e,{slots:t,emit:n}){let{proxy:i}=ee(),{$q:a}=i,{registerTick:o}=xe(),{registerTick:s}=xe(),{registerTick:c}=xe(),{registerTimeout:l,removeTimeout:u}=Ze(),{registerTimeout:m,removeTimeout:g}=Ze(),_=r(null),v=r(null),y=r(e.modelValue),b=r(!1),S=r(!0),C=r(!1),w=r(!1),T=[],E=r(0),D=r(!1),O=null,k=null,A,j=f(()=>({activeClass:e.activeClass,activeColor:e.activeColor,activeBgColor:e.activeBgColor,indicatorClass:Xt(e.indicatorColor,e.switchIndicator,e.vertical),narrowIndicator:e.narrowIndicator,inlineLabel:e.inlineLabel,noCaps:e.noCaps})),M=f(()=>{let e=E.value,t=y.value;for(let n=0;n<e;n++)if(T[n].name.value===t)return!0;return!1}),P=f(()=>`q-tabs__content--align-${b.value?`left`:w.value?`justify`:e.align}`),te=f(()=>`q-tabs row no-wrap items-center q-tabs--${b.value?``:`not-`}scrollable q-tabs--${e.vertical?`vertical`:`horizontal`} q-tabs__arrows--${e.outsideArrows?`outside`:`inside`} q-tabs--mobile-with${e.mobileArrows?``:`out`}-arrows`+(e.dense?` q-tabs--dense`:``)+(e.shrink?` col-shrink`:``)+(e.stretch?` self-stretch`:``)),I=f(()=>`q-tabs__content scroll--mobile row no-wrap items-center self-stretch hide-scrollbar relative-position `+P.value+(e.contentClass===void 0?``:` ${e.contentClass}`)),L=f(()=>e.vertical?{container:`height`,content:`offsetHeight`,scroll:`scrollHeight`}:{container:`width`,content:`offsetWidth`,scroll:`scrollWidth`}),ne=f(()=>!e.vertical&&a.lang.rtl===!0),R=f(()=>!it&&ne.value);N(ne,V),N(()=>e.modelValue,e=>{z({name:e,setCurrent:!0,skipEmit:!0})}),N(()=>e.outsideArrows,re);function z({name:t,setCurrent:r,skipEmit:i}){y.value!==t&&(!i&&e[`onUpdate:modelValue`]!==void 0&&n(`update:modelValue`,t),(r||e[`onUpdate:modelValue`]===void 0)&&(ie(y.value,t),y.value=t))}function re(){o(()=>{_.value&&B({width:_.value.offsetWidth,height:_.value.offsetHeight})})}function B(t){if(L.value===void 0||v.value===null)return;let n=t[L.value.container],r=Math.min(v.value[L.value.scroll],Array.prototype.reduce.call(v.value.children,(e,t)=>e+(t[L.value.content]||0),0)),i=n>0&&r>n;b.value=i,i&&s(V),w.value=n<Number.parseInt(e.breakpoint,10)}function ie(t,n){let r=t!=null&&t!==``?T.find(e=>e.name.value===t):null,i=n!=null&&n!==``?T.find(e=>e.name.value===n):null;if(Te)Te=!1;else if(r&&i){let t=r.tabIndicatorRef.value,n=i.tabIndicatorRef.value;O!==null&&(clearTimeout(O),O=null),t.style.transition=`none`,t.style.transform=`none`,n.style.transition=`none`,n.style.transform=`none`;let a=t.getBoundingClientRect(),o=n.getBoundingClientRect();n.style.transform=e.vertical?`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)`,c(()=>{O=setTimeout(()=>{O=null,n.style.transition=`transform .25s cubic-bezier(.4, 0, .2, 1)`,n.style.transform=`none`},70)})}i&&b.value&&ae(i.rootRef.value)}function ae(t){let{left:n,width:r,top:i,height:a}=v.value.getBoundingClientRect(),o=t.getBoundingClientRect(),s=e.vertical?o.top-i:o.left-n;if(s<0){v.value[e.vertical?`scrollTop`:`scrollLeft`]+=Math.floor(s),V();return}s+=e.vertical?o.height-a:o.width-r,s>0&&(v.value[e.vertical?`scrollTop`:`scrollLeft`]+=Math.ceil(s),V())}function V(){let t=v.value;if(t===null)return;let n=t.getBoundingClientRect(),r=e.vertical?t.scrollTop:Math.abs(t.scrollLeft);ne.value?(S.value=Math.ceil(r+n.width)<t.scrollWidth-1,C.value=r>0):(S.value=r>0,C.value=e.vertical?Math.ceil(r+n.height)<t.scrollHeight:Math.ceil(r+n.width)<t.scrollWidth)}function oe(e){k!==null&&clearInterval(k),k=setInterval(()=>{me(e)&&le()},5)}function se(){oe(R.value?2**53-1:0)}function ce(){oe(R.value?0:2**53-1)}function le(){k!==null&&(clearInterval(k),k=null)}function ue(t,n){let r=Array.prototype.filter.call(v.value.children,e=>e===n||e.matches?.(`.q-tab.q-focusable`)),i=r.length;if(i===0)return;if(t===36)return ae(r[0]),r[0].focus(),!0;if(t===35)return ae(r[i-1]),r[i-1].focus(),!0;let a=t===(e.vertical?38:37),o=t===(e.vertical?40:39),s=a?-1:o?1:void 0;if(s!==void 0){let t=e.vertical!==!0&&ne.value?-1:1,a=(r.indexOf(n)+s*t+i)%i;return ae(r[a]),r[a].focus({preventScroll:!0}),!0}}let de=f(()=>R.value?{get:e=>Math.abs(e.scrollLeft),set:(e,t)=>{e.scrollLeft=-t}}:e.vertical?{get:e=>e.scrollTop,set:(e,t)=>{e.scrollTop=t}}:{get:e=>e.scrollLeft,set:(e,t)=>{e.scrollLeft=t}});function me(e){let t=v.value,{get:n,set:r}=de.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),V(),i}function he(){let e=null,t={matchedLen:0,queryDiff:9999,hrefLen:0},n=T.filter(e=>e.routeData?.hasRouterLink.value===!0),{hash:r,query:a}=i.$route,o=Object.keys(a).length;for(let i of n){let n=i.routeData.exact.value===!0;if(!i.routeData[n?`linkIsExactActive`:`linkIsActive`].value)continue;let{hash:s,query:c,matched:l,href:u}=i.routeData.resolvedLink.value,d=Object.keys(c).length;if(n){if(s!==r||d!==o||!Zt(a,c))continue;e=i.name.value;break}if(s!==``&&s!==r||d!==0&&!Zt(c,a))continue;let f={matchedLen:l.length,queryDiff:o-d,hrefLen:u.length-s.length};if(f.matchedLen>t.matchedLen){e=i.name.value,t=f;continue}if(f.matchedLen===t.matchedLen){if(f.queryDiff<t.queryDiff)e=i.name.value,t=f;else if(f.queryDiff!==t.queryDiff)continue;f.hrefLen>t.hrefLen&&(e=i.name.value,t=f)}}if(e===null&&T.some(e=>e.routeData===void 0&&e.name.value===y.value)){Te=!1;return}z({name:e,setCurrent:!0})}function ge(e){if(u(),!D.value&&_.value!==null&&e.target&&typeof e.target.closest==`function`){let t=e.target.closest(`.q-tab`);t&&_.value.contains(t)&&(D.value=!0,b.value&&ae(t))}}function _e(){l(()=>{D.value=!1},30)}function ve(){Ce.avoidRouteWatcher===!1?m(he):g()}function ye(){if(A===void 0){let e=N(()=>i.$route.fullPath,ve);A=()=>{e(),A=void 0}}}function be(e){T.push(e),E.value++,re(),e.routeData===void 0||i.$route===void 0?m(()=>{if(b.value){let e=y.value,t=e!=null&&e!==``?T.find(t=>t.name.value===e):null;t&&ae(t.rootRef.value)}}):(ye(),e.routeData.hasRouterLink.value&&ve())}function Se(e){T.splice(T.indexOf(e),1),E.value--,re(),A!==void 0&&e.routeData!==void 0&&(T.every(e=>e.routeData===void 0)&&A(),ve())}let Ce={currentModel:y,tabProps:j,hasFocus:D,hasActiveTab:M,registerTab:be,unregisterTab:Se,verifyRouteModel:ve,updateModel:z,onKbdNavigate:ue,avoidRouteWatcher:!1};p(pe,Ce);function U(){O!==null&&clearTimeout(O),le(),A?.()}let we=!1,Te=!1;return x(U),d(()=>{we=A!==void 0,U()}),h(()=>{we&&(ye(),Te=!0,ve()),re()}),()=>F(`div`,{ref:_,class:te.value,role:`tablist`,"aria-orientation":e.vertical?`vertical`:`horizontal`,onFocusin:ge,onFocusout:_e},[F(ct,{onResize:B}),F(`div`,{ref:v,class:I.value,onScroll:V},fe(t.default)),F(H,{class:`q-tabs__arrow q-tabs__arrow--left absolute q-tab__icon`+(S.value?``:` q-tabs__arrow--faded`),name:e.leftIcon||a.iconSet.tabs[e.vertical?`up`:`left`],onMousedownPassive:se,onTouchstartPassive:se,onMouseupPassive:le,onMouseleavePassive:le,onTouchendPassive:le}),F(H,{class:`q-tabs__arrow q-tabs__arrow--right absolute q-tab__icon`+(C.value?``:` q-tabs__arrow--faded`),name:e.rightIcon||a.iconSet.tabs[e.vertical?`down`:`right`],onMousedownPassive:ce,onTouchstartPassive:ce,onMouseupPassive:le,onMouseleavePassive:le,onTouchendPassive:le})])}}),en=z({name:`QTabPanel`,props:Dt,setup(e,{slots:t}){return()=>F(`div`,{class:`q-tab-panel`,role:`tabpanel`},fe(t.default))}}),tn=z({name:`QTabPanels`,props:{...Tt,...de},emits:Ct,setup(e,{slots:t}){let n=ee(),r=ue(e,n.proxy.$q),{updatePanelsList:i,getPanelContent:a,panelDirectives:o}=Et(),s=f(()=>`q-tab-panels q-panel-parent`+(r.value?` q-tab-panels--dark q-dark`:``));return()=>(i(t),oe(`div`,{class:s.value},a(),`pan`,e.swipeable,()=>o.value))}}),nn=z({name:`QPageContainer`,setup(e,{slots:t}){let{proxy:{$q:n}}=ee(),r=te(V,le);if(r===le)return console.error(`QPageContainer needs to be child of QLayout`),le;p(B,!0);let i=f(()=>{let e={};return r.header.space&&(e.paddingTop=`${r.header.size}px`),r.right.space&&(e[`padding${n.lang.rtl?`Left`:`Right`}`]=`${r.right.size}px`),r.footer.space&&(e.paddingBottom=`${r.footer.size}px`),r.left.space&&(e[`padding${n.lang.rtl?`Right`:`Left`}`]=`${r.left.size}px`),e});return()=>F(`div`,{class:`q-page-container`,style:i.value},fe(t.default))}}),rn=/^(h|l)h(h|r) lpr (f|l)f(f|r)$/,an=z({name:`QLayout`,props:{container:Boolean,view:{type:String,default:`hhh lpr fff`,validator:e=>rn.test(e.toLowerCase())},onScroll:Function,onScrollHeight:Function,onResize:Function},setup(e,{slots:t,emit:n}){let{proxy:{$q:i}}=ee(),a=r(null),o=r(i.screen.height),c=r(e.container?0:i.screen.width),l=r({position:0,direction:`down`,inflectionPoint:0}),u=r(0),d=r(he.value?0:qe()),m=f(()=>`q-layout q-layout--`+(e.container?`containerized`:`standard`)),h=f(()=>e.container?null:{minHeight:i.screen.height+`px`}),g=f(()=>d.value===0?null:{[i.lang.rtl?`left`:`right`]:`${d.value}px`}),v=f(()=>d.value===0?null:{[i.lang.rtl?`right`:`left`]:0,[i.lang.rtl?`left`:`right`]:`-${d.value}px`,width:`calc(100% + ${d.value}px)`});function y(t){if(e.container||!document.qScrollPrevented){let r={position:t.position.top,direction:t.direction,directionChanged:t.directionChanged,inflectionPoint:t.inflectionPoint.top,delta:t.delta.top};l.value=r,e.onScroll!==void 0&&n(`scroll`,r)}}function b(t){let{height:r,width:i}=t,a=!1;o.value!==r&&(a=!0,o.value=r,e.onScrollHeight!==void 0&&n(`scrollHeight`,r),S()),c.value!==i&&(a=!0,c.value=i),a&&e.onResize!==void 0&&n(`resize`,t)}function x({height:e}){u.value!==e&&(u.value=e,S())}function S(){if(e.container){let e=o.value>u.value?qe():0;d.value!==e&&(d.value=e)}}let C=null,w={instances:{},view:f(()=>e.view),isContainer:f(()=>e.container),rootRef:a,height:o,containerHeight:u,scrollbarWidth:d,totalWidth:f(()=>c.value+d.value),rows:f(()=>{let t=e.view.toLowerCase().split(` `);return{top:[...t[0]],middle:[...t[1]],bottom:[...t[2]]}}),header:s({size:0,offset:0,space:!1}),right:s({size:300,offset:0,space:!1}),footer:s({size:0,offset:0,space:!1}),left:s({size:300,offset:0,space:!1}),scroll:l,animate(){C===null?document.body.classList.add(`q-body--layout-animate`):clearTimeout(C),C=setTimeout(()=>{C=null,document.body.classList.remove(`q-body--layout-animate`)},155)},update(e,t,n){w[e][t]=n}};if(p(V,w),qe()>0){let t=null,n=document.body,r=()=>{t=null,n.classList.remove(`hide-scrollbar`)},a=()=>{if(t===null){if(n.scrollHeight>i.screen.height)return;n.classList.add(`hide-scrollbar`)}else clearTimeout(t);t=setTimeout(r,300)},o=e=>{t!==null&&e===`remove`&&(clearTimeout(t),r()),window[`${e}EventListener`](`resize`,a)};N(()=>e.container?`remove`:`add`,o),e.container||o(`add`),_(()=>{o(`remove`)})}return()=>{let n=ie(t.default,[F(st,{onScroll:y}),F(ct,{onResize:b})]),r=F(`div`,{class:m.value,style:h.value,ref:e.container?void 0:a,tabindex:-1},n);return e.container?F(`div`,{class:`q-layout-container overflow-hidden`,ref:a},[F(ct,{onResize:x}),F(`div`,{class:`absolute-full`,style:g.value},[F(`div`,{class:`scroll`,style:v.value},[r])])]):r}}}),on={class:`acceptance-panel q-pa-md`},sn={class:`row items-center q-mb-sm`},cn={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},ln={key:0,class:`criterion-add-row row items-center q-mb-xs`},un={key:1,class:`acceptance-list`},dn=[`onDblclick`],fn={key:2,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},pn=ht(l({__name:`AcceptancePanel`,props:{tasks:{}},setup(e){let{t:a}=t(),s=Pe(),l=ze();function d(){let e=s.selectedWorkspaceId;e&&kt(e,l,s)}let f=r(!1),p=r(``),h=r(null),_=r(``),v=r({});function y(e,t){if(t){let n=t.$el??t;v.value[e]=n}else delete v.value[e]}function b(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function x(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}async function S(e){let t=e.status===`done`?`pending`:`done`,n=e.workspaceId;try{let r=await fetch(`/api/workspaces/${e.workspaceId}/tasks/${e.id}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({status:t})});if(!r.ok)throw Error(`HTTP ${r.status}`);s.fetchWorkspaceDetails(n)}catch(e){console.error(`Failed to update task:`,e)}}function w(){f.value||(f.value=!0,p.value=``)}async function N(){let e=p.value.trim(),t=s.selectedWorkspace?.id;if(!(!e||!t))try{await s.createTask(t,e,!0),p.value=``,f.value=!1}catch{}}function P(){p.value=``,f.value=!1}function ee(e){h.value=e.id,_.value=e.title,T(()=>{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=_.value.trim(),n=e.id;if(h.value=null,!t||t===e.title)return;let r=s.selectedWorkspace?.id;if(r)try{await s.updateTaskTitle(r,n,t)}catch{}}function te(){h.value=null,_.value=``}async function L(e){let t=s.selectedWorkspace?.id;if(t)try{await s.deleteTask(t,e.id)}catch{}}return(t,r)=>(C(),O(`div`,on,[D(`div`,sn,[D(`div`,cn,o(t.$t(`acceptance.title`)),1),j(_t),n(s).selectedWorkspace?(C(),g(U,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`fact_check`,color:`grey-5`,onClick:d},{default:M(()=>[j(q,null,{default:M(()=>[A(o(t.$t(`tasks.askProgress`)),1)]),_:1})]),_:1})):E(``,!0),n(s).selectedWorkspace?(C(),g(U,{key:1,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,onClick:w},{default:M(()=>[j(q,null,{default:M(()=>[A(o(t.$t(`tooltip.addCriterion`)),1)]),_:1})]),_:1})):E(``,!0)]),f.value?(C(),O(`div`,ln,[j(ve,{modelValue:p.value,"onUpdate:modelValue":r[0]||=e=>p.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:t.$t(`acceptance.newCriterion`),class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[m(I(N,[`prevent`]),[`enter`]),m(I(P,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):E(``,!0),e.tasks.length>0?(C(),O(`div`,un,[(C(!0),O(u,null,k(e.tasks,e=>(C(),O(`div`,{key:e.id,class:`acceptance-item row items-center q-mb-xxs`},[j(H,{name:b(e.status),size:`16px`,style:i({color:x(e.status)}),class:`q-mr-xs cursor-pointer`,onClick:t=>S(e)},null,8,[`name`,`style`,`onClick`]),h.value===e.id?(C(),g(ve,{key:0,ref_for:!0,ref:t=>y(e.id,t),modelValue:_.value,"onUpdate:modelValue":r[1]||=e=>_.value=e,dark:``,dense:``,borderless:``,class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[m(I(t=>F(e),[`prevent`]),[`enter`]),m(I(te,[`prevent`]),[`esc`])],onBlur:t=>F(e)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(C(),O(u,{key:1},[D(`span`,{class:c([`col acceptance-title text-caption`,{"text-strike":e.status===`done`}]),style:i({color:e.status===`done`?`#4ade80`:`#ccc`}),onDblclick:t=>ee(e)},o(e.title),47,dn),j(U,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`criterion-delete-btn`,onClick:t=>L(e)},{default:M(()=>[j(q,null,{default:M(()=>[A(o(t.$t(`tooltip.removeCriterion`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):f.value?E(``,!0):(C(),O(`div`,fn,o(t.$t(`acceptance.empty`)),1))]))}}),[[`__scopeId`,`data-v-e14ddbb8`]]),mn={class:`agent-todos-panel q-pa-md`},hn={class:`row items-center q-mb-sm`},gn={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},_n={key:0,class:`todos-list`},vn={key:1,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},yn=ht(l({__name:`AgentTodosPanel`,setup(e){let{t:r}=t(),a=Pe();function s(e){switch(e){case`completed`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function l(e){switch(e){case`completed`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(e,t)=>(C(),O(`div`,mn,[D(`div`,hn,[D(`div`,gn,o(e.$t(`agentTodos.title`)),1)]),n(a).currentAgentTodos.length>0?(C(),O(`div`,_n,[(C(!0),O(u,null,k(n(a).currentAgentTodos,(e,t)=>(C(),O(`div`,{key:t,class:`todo-item row items-start q-py-xxs`},[j(H,{name:s(e.status),size:`14px`,style:i({color:l(e.status)}),class:`q-mr-xs q-mt-xxs`},null,8,[`name`,`style`]),D(`span`,{class:c([`col todo-title text-caption`,{"text-strike":e.status===`completed`}]),style:i({color:e.status===`completed`?`#4ade80`:`#ccc`})},o(e.content),7)]))),128))])):(C(),O(`div`,vn,o(e.$t(`agentTodos.empty`)),1))]))}}),[[`__scopeId`,`data-v-6a3613f7`]]),bn={class:`documents-panel q-pa-md`},xn={class:`row items-center justify-between q-mb-sm`},Sn={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},Cn={key:0,class:`text-caption text-grey-8`},wn={key:1,class:`text-center q-py-lg`},Tn={key:2,class:`text-caption text-grey-8 text-center q-py-lg`},En={key:0,class:`text-center q-py-lg`},Dn=[`innerHTML`],On=ht(l({__name:`DocumentsPanel`,props:{workspace:{}},setup(e){let r=e,{t:i}=t(),a=et(),s=lt(),l=f(()=>r.workspace?s.documentsFor(r.workspace.id):[]),d=f(()=>Bt(l.value)),p=f(()=>s.selected?.path??null),m=f(()=>{if(!s.selected)return``;let e=ft.parse(s.selected.content,{async:!1,breaks:!0,gfm:!0});return pt.sanitize(e)});async function h(){r.workspace&&await s.fetchDocuments(r.workspace.id)}async function _(e){if(!(!r.workspace||!e.file))try{await s.openDocument(r.workspace.id,e.file)}catch{a.notify({type:`negative`,message:i(`documents.loadFailed`),position:`top`})}}function v(){s.closeDocument()}return N(()=>r.workspace?.id,e=>{s.closeDocument(),e&&s.fetchDocuments(e)},{immediate:!0}),(t,r)=>(C(),O(`div`,bn,[D(`div`,xn,[D(`div`,Sn,o(t.$t(`documents.title`)),1),n(s).selected?(C(),g(U,{key:1,flat:``,dense:``,"no-caps":``,size:`sm`,icon:`arrow_back`,label:t.$t(`documents.back`),color:`grey-5`,onClick:v},null,8,[`label`])):(C(),g(U,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,loading:n(s).loadingList,onClick:h},{default:M(()=>[j(q,null,{default:M(()=>[A(o(t.$t(`documents.refresh`)),1)]),_:1})]),_:1},8,[`loading`]))]),n(s).selected?(C(),O(u,{key:1},[n(s).loadingContent?(C(),O(`div`,En,[j(ce,{size:`24px`,color:`grey-6`})])):(C(),O(`div`,{key:1,class:`document-content`,innerHTML:m.value},null,8,Dn))],64)):(C(),O(u,{key:0},[e.workspace?n(s).loadingList?(C(),O(`div`,wn,[j(ce,{size:`24px`,color:`grey-6`})])):l.value.length===0?(C(),O(`div`,Tn,o(t.$t(`documents.empty`)),1)):(C(),g(zt,{key:3,nodes:d.value,"node-key":`nodeKey`,"label-key":`label`,"children-key":`children`,dark:``,dense:``,"default-expand-all":``,"no-selection-unset":``,selected:p.value?`file:${p.value}`:``,class:`documents-tree`,"onUpdate:selected":r[0]||=e=>{if(typeof e!=`string`||!e.startsWith(`file:`))return;let t=l.value.find(t=>`file:${t.path}`===e);t&&_({file:t})}},{"default-header":M(({node:e})=>[j(H,{name:e.isFolder?`folder`:`description`,color:e.isFolder?`indigo-4`:`grey-5`,size:`14px`,class:`q-mr-xs`},null,8,[`name`,`color`]),D(`span`,{class:c(e.isFolder?`text-grey-4`:`text-grey-3`),style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},o(e.label),3)]),_:1},8,[`nodes`,`selected`])):(C(),O(`div`,Cn,o(t.$t(`common.selectWorkspace`)),1))],64))]))}}),[[`__scopeId`,`data-v-89e5de13`]]),kn=Object.keys(We);function An(e){return kn.reduce((t,n)=>{let r=e[n];return r!==void 0&&(t[n]=r),t},{})}var jn=z({name:`QBtnDropdown`,props:{...We,...$e,modelValue:Boolean,split:Boolean,dropdownIcon:String,contentClass:[Array,String,Object],contentStyle:[Array,String,Object],cover:Boolean,persistent:Boolean,noEscDismiss:Boolean,noRouteDismiss:Boolean,autoClose:Boolean,noRefocus:Boolean,noFocus:Boolean,menuAnchor:{type:String,default:`bottom end`},menuSelf:{type:String,default:`top end`},menuOffset:Array,disableMainBtn:Boolean,disableDropdown:Boolean,noIconAnimation:Boolean,toggleAriaLabel:String},emits:[`update:modelValue`,`click`,`beforeShow`,`show`,`beforeHide`,`hide`],setup(e,{slots:t,emit:n}){let{proxy:i}=ee(),a=r(e.modelValue),o=r(null),s=me(),c=f(()=>{let t={"aria-expanded":a.value?`true`:`false`,"aria-haspopup":`true`,"aria-controls":s.value,"aria-label":e.toggleAriaLabel||i.$q.lang.label[a.value?`collapse`:`expand`](e.label)};return(e.disable||!e.split&&e.disableMainBtn||e.disableDropdown)&&(t[`aria-disabled`]=`true`),t}),l=f(()=>`q-btn-dropdown__arrow`+(a.value&&!e.noIconAnimation?` rotate-180`:``)+(e.split?``:` q-btn-dropdown__arrow-container`)),u=f(()=>we(e)),d=f(()=>An(e));N(()=>e.modelValue,e=>{o.value?.[e?`show`:`hide`]()}),N(()=>e.split,S);function p(e){a.value=!0,n(`beforeShow`,e)}function m(e){n(`show`,e),n(`update:modelValue`,!0)}function h(e){a.value=!1,n(`beforeHide`,e)}function g(e){n(`hide`,e),n(`update:modelValue`,!1)}function _(e){n(`click`,e)}function v(e){se(e),S(),n(`click`,e)}function y(e){o.value?.toggle(e)}function x(e){o.value?.show(e)}function S(e){o.value?.hide(e)}return Object.assign(i,{show:x,hide:S,toggle:y}),b(()=>{e.modelValue&&x()}),()=>{let n=[F(H,{class:l.value,name:e.dropdownIcon||i.$q.iconSet.arrow.dropdown})];return e.disableDropdown||n.push(F(tt,{ref:o,id:s.value,class:e.contentClass,style:e.contentStyle,cover:e.cover,fit:!0,persistent:e.persistent,noEscDismiss:e.noEscDismiss,noRouteDismiss:e.noRouteDismiss,autoClose:e.autoClose,noFocus:e.noFocus,noRefocus:e.noRefocus,anchor:e.menuAnchor,self:e.menuSelf,offset:e.menuOffset,separateClosePopup:!0,transitionShow:e.transitionShow,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,onBeforeShow:p,onShow:m,onBeforeHide:h,onHide:g},t.default)),e.split?F(yt,{class:`q-btn-dropdown q-btn-dropdown--split no-wrap q-btn-item`,rounded:e.rounded,square:e.square,...u.value,glossy:e.glossy,stretch:e.stretch},()=>[F(U,{class:`q-btn-dropdown--current`,...d.value,disable:e.disable||e.disableMainBtn,noWrap:!0,round:!1,onClick:v},{default:t.label,loading:t.loading}),F(U,{class:`q-btn-dropdown__arrow-container q-anchor--skip`,...c.value,...u.value,disable:e.disable||e.disableDropdown,rounded:e.rounded,color:e.color,textColor:e.textColor,dense:e.dense,size:e.size,padding:e.padding,ripple:e.ripple},()=>n)]):F(U,{class:`q-btn-dropdown q-btn-dropdown--simple`,...d.value,...c.value,disable:e.disable||e.disableMainBtn,noWrap:!0,round:!1,onClick:_},{default:()=>fe(t.label,[]).concat(n),loading:t.loading})}}}),Mn={class:`text-h6`},Nn={class:`text-body2 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={key:0,class:`text-caption text-grey-6 row items-center`},Gn={key:1,class:`row items-center q-gutter-sm`},Kn={class:`text-caption text-negative`},qn={key:2,class:`text-caption text-grey-6`},Jn={key:3},Yn=[`onClick`],Xn={class:`commit-sha text-grey-5`},Zn={class:`commit-subject text-grey-4 ellipsis q-ml-sm`},Qn={class:`text-caption`},$n={class:`text-grey-5 q-mt-xs`},er=ht(l({__name:`BranchDivergenceDialog`,props:{modelValue:{type:Boolean},workspaceId:{},initialTab:{},aheadCount:{},behindCount:{},sourceBranch:{},workingBranch:{}},emits:[`update:modelValue`,`append-sha`],setup(e,{emit:n}){let i=e,a=n,{t:s}=t(),c=Pe(),l=r(i.initialTab),d=r([]),f=r([]),p=r(!1),m=r(null),h=null;async function _(){h?.abort();let e=new AbortController;h=e,p.value=!0,m.value=null;try{let t=await c.fetchBranchDivergence(i.workspaceId,{signal:e.signal});if(e.signal.aborted)return;d.value=t.ahead,f.value=t.behind}catch(e){if(e?.name===`AbortError`)return;m.value=s(`git.divergence.failed`)}finally{h===e&&(h=null,p.value=!1)}}function v(){_()}N(()=>i.modelValue,e=>{e?(l.value=i.initialTab,_()):(h?.abort(),d.value=[],f.value=[],m.value=null)});function y(e){a(`append-sha`,e)}function b(){a(`update:modelValue`,!1)}function S(e){try{return new Date(e).toLocaleDateString()}catch{return e}}return x(()=>{h?.abort()}),(t,n)=>(C(),g(Ee,{"model-value":e.modelValue,"onUpdate:modelValue":n[2]||=e=>a(`update:modelValue`,e)},{default:M(()=>[j(Se,{style:{"min-width":`600px`,"max-width":`90vw`},dark:``},{default:M(()=>[j(Re,{class:`q-pb-none`},{default:M(()=>[D(`div`,Mn,o(t.$t(`git.divergence.title`)),1),D(`div`,Nn,o(t.$t(`git.divergence.subtitle`,{source:e.sourceBranch})),1)]),_:1}),j($t,{modelValue:l.value,"onUpdate:modelValue":n[0]||=e=>l.value=e,dense:``,align:`left`,"inline-label":``,class:`q-mt-sm`,"indicator-color":`indigo-4`},{default:M(()=>[j(Yt,{name:`ahead`,label:t.$t(`git.divergence.ahead`,{count:e.aheadCount})},null,8,[`label`]),j(Yt,{name:`behind`,label:t.$t(`git.divergence.behind`,{count:e.behindCount})},null,8,[`label`])]),_:1},8,[`modelValue`]),j(_e,{dark:``}),j(tn,{modelValue:l.value,"onUpdate:modelValue":n[1]||=e=>l.value=e,animated:``,style:{"max-height":`60vh`}},{default:M(()=>[j(en,{name:`ahead`,class:`q-pa-md`},{default:M(()=>[p.value?(C(),O(`div`,Pn,[j(ce,{size:`xs`,class:`q-mr-xs`}),A(o(t.$t(`git.divergence.loading`)),1)])):m.value?(C(),O(`div`,Fn,[D(`span`,In,o(m.value),1),j(U,{flat:``,dense:``,"no-caps":``,label:t.$t(`git.divergence.retry`),color:`indigo-4`,onClick:v},null,8,[`label`])])):d.value.length===0?(C(),O(`div`,Ln,o(t.$t(`git.divergence.empty.ahead`)),1)):(C(),O(`div`,Rn,[(C(!0),O(u,null,k(d.value,e=>(C(),O(`div`,{key:e.sha,class:`commit-item row no-wrap items-center cursor-pointer q-py-xs`,onClick:t=>y(e.sha)},[j(H,{name:e.isPushed?`cloud_done`:`cloud_upload`,size:`12px`,color:e.isPushed?`grey-6`:`orange-5`,class:`q-mr-xs`},null,8,[`name`,`color`]),D(`span`,Bn,o(e.shortSha),1),D(`span`,Vn,o(e.subject),1),j(q,{anchor:`top middle`,self:`bottom middle`},{default:M(()=>[D(`div`,Hn,[D(`div`,null,[D(`code`,null,o(e.sha),1)]),D(`div`,Un,o(e.author)+` · `+o(S(e.date)),1)])]),_:2},1024)],8,zn))),128))]))]),_:1}),j(en,{name:`behind`,class:`q-pa-md`},{default:M(()=>[p.value?(C(),O(`div`,Wn,[j(ce,{size:`xs`,class:`q-mr-xs`}),A(o(t.$t(`git.divergence.loading`)),1)])):m.value?(C(),O(`div`,Gn,[D(`span`,Kn,o(m.value),1),j(U,{flat:``,dense:``,"no-caps":``,label:t.$t(`git.divergence.retry`),color:`indigo-4`,onClick:v},null,8,[`label`])])):f.value.length===0?(C(),O(`div`,qn,o(t.$t(`git.divergence.empty.behind`)),1)):(C(),O(`div`,Jn,[(C(!0),O(u,null,k(f.value,e=>(C(),O(`div`,{key:e.sha,class:`commit-item row no-wrap items-center cursor-pointer q-py-xs`,onClick:t=>y(e.sha)},[D(`span`,Xn,o(e.shortSha),1),D(`span`,Zn,o(e.subject),1),j(q,{anchor:`top middle`,self:`bottom middle`},{default:M(()=>[D(`div`,Qn,[D(`div`,null,[D(`code`,null,o(e.sha),1)]),D(`div`,$n,o(e.author)+` · `+o(S(e.date)),1)])]),_:2},1024)],8,Yn))),128))]))]),_:1})]),_:1},8,[`modelValue`]),j(ke,{align:`right`,class:`q-pa-md`},{default:M(()=>[j(U,{flat:``,"no-caps":``,label:t.$t(`git.divergence.close`),color:`grey-5`,onClick:b},null,8,[`label`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),[[`__scopeId`,`data-v-b73bff9c`]]);function tr(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 nr(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 rr={class:`pr-panel`},ir={class:`pr-panel__header row items-center q-gutter-xs`},ar=[`href`],or={class:`pr-panel__title col ellipsis`},sr={class:`pr-panel__grid`},cr={class:`pr-panel__label`},lr={class:`pr-panel__value`},ur={class:`pr-panel__label`},dr={class:`pr-panel__value pr-panel__reviewers`},fr={class:`pr-panel__label`},pr={class:`pr-panel__value`},mr={class:`pr-panel__label`},hr={class:`pr-panel__value`},gr={key:0,class:`pr-panel__ci`},_r={class:`row items-center q-gutter-sm pr-panel__ci-summary`},vr={class:`pr-panel__ci-label`},yr={class:`row items-center q-gutter-sm pr-panel__ci-counts`},br={key:0,class:`pr-panel__ci-count pr-panel__ci-count--failed`},xr={key:1,class:`pr-panel__ci-count pr-panel__ci-count--pending`},Sr={key:2,class:`pr-panel__ci-count pr-panel__ci-count--passed`},Cr={key:3,class:`pr-panel__ci-count pr-panel__ci-count--skipped`},wr={key:0,class:`pr-panel__ci-list q-mt-sm`},Tr={class:`ellipsis`},Er={key:1,class:`pr-panel__ci-list q-mt-xs`},Dr={class:`ellipsis`},Or={key:2,class:`q-mt-xs`},kr={key:0,class:`pr-panel__ci-list q-mt-xs`},Ar={class:`ellipsis`},jr={class:`ellipsis`},Mr=ht(l({__name:`PrPanel`,props:{snapshot:{}},setup(e){let a=e,{t:s}=t(),c=r(!1);function l(e){switch(e){case`APPROVED`:return`#4ade80`;case`CHANGES_REQUESTED`:return`#ef4444`;case`COMMENTED`:return`#f59e0b`;default:return`#6b7280`}}let d=f(()=>tr(a.snapshot.ci.checks)),p=f(()=>{switch(a.snapshot.ci.rollup){case`SUCCESS`:return`check_circle`;case`FAILURE`:return`cancel`;case`PENDING`:return`hourglass_top`;default:return`help`}}),m=f(()=>{switch(a.snapshot.ci.rollup){case`SUCCESS`:return`green-4`;case`FAILURE`:return`red-4`;case`PENDING`:return`amber-4`;default:return`grey-5`}}),h=f(()=>{switch(a.snapshot.ci.rollup){case`SUCCESS`:return s(`git.pr.ci.passed`);case`FAILURE`:return s(`git.pr.ci.failed`);case`PENDING`:return s(`git.pr.ci.pending`);default:return``}});return(t,r)=>(C(),O(`div`,rr,[D(`div`,ir,[j(vt,{dense:``,square:``,color:e.snapshot.state===`OPEN`?`green-9`:`grey-9`,"text-color":e.snapshot.state===`OPEN`?`green-3`:`grey-3`,label:e.snapshot.state,class:`pr-panel__state`},null,8,[`color`,`text-color`,`label`]),D(`a`,{href:e.snapshot.url,target:`_blank`,rel:`noopener`,class:`pr-panel__number`},`#`+o(e.snapshot.number),9,ar),D(`span`,or,o(e.snapshot.title),1),e.snapshot.title.length>60?(C(),g(q,{key:0,anchor:`bottom middle`,self:`top middle`},{default:M(()=>[A(o(e.snapshot.title),1)]),_:1})):E(``,!0),n(Ue)(e.snapshot)?(C(),g(vt,{key:1,dense:``,square:``,color:`red-9`,"text-color":`red-3`,icon:`rate_review`,label:t.$t(`git.pr.changesRequestedBadge`),class:`pr-panel__badge`},null,8,[`label`])):e.snapshot.reviewDecision===`APPROVED`?(C(),g(vt,{key:2,dense:``,square:``,color:`green-9`,"text-color":`green-3`,icon:`check`,label:t.$t(`git.pr.approvedBadge`),class:`pr-panel__badge`},null,8,[`label`])):E(``,!0)]),D(`div`,sr,[D(`span`,cr,o(t.$t(`git.pr.author`)),1),D(`span`,lr,`@`+o(e.snapshot.author.login),1),e.snapshot.reviewers.length>0?(C(),O(u,{key:0},[D(`span`,ur,o(t.$t(`git.pr.reviewers`)),1),D(`span`,dr,[(C(!0),O(u,null,k(e.snapshot.reviewers,e=>(C(),O(`span`,{key:e.login,class:`pr-panel__reviewer`},[D(`span`,{class:`pr-panel__dot`,style:i({backgroundColor:l(e.state)})},null,4),D(`span`,null,`@`+o(e.login),1),j(q,null,{default:M(()=>[A(o(e.login)+` — `+o(e.state.toLowerCase()),1)]),_:2},1024)]))),128))])],64)):E(``,!0),e.snapshot.assignees.length>0?(C(),O(u,{key:1},[D(`span`,fr,o(t.$t(`git.pr.assignees`)),1),D(`span`,pr,o(e.snapshot.assignees.map(e=>`@`+e.login).join(`, `)),1)],64)):E(``,!0),e.snapshot.labels.length>0?(C(),O(u,{key:2},[D(`span`,mr,o(t.$t(`git.pr.labels`)),1),D(`span`,hr,[(C(!0),O(u,null,k(e.snapshot.labels,e=>(C(),g(vt,{key:e.name,dense:``,square:``,style:i({backgroundColor:`#`+e.color,color:n(nr)(e.color)}),class:`pr-panel__label-chip`,label:e.name},null,8,[`style`,`label`]))),128))])],64)):E(``,!0)]),e.snapshot.ci.rollup===null?E(``,!0):(C(),O(`div`,gr,[D(`div`,_r,[j(H,{name:p.value,color:m.value,size:`16px`},null,8,[`name`,`color`]),D(`span`,vr,o(h.value),1),D(`div`,yr,[d.value.failed.length>0?(C(),O(`span`,br,[j(H,{name:`cancel`,size:`12px`}),D(`span`,null,o(t.$t(`git.pr.ci.failedCount`,{n:d.value.failed.length})),1)])):E(``,!0),d.value.pending.length>0?(C(),O(`span`,xr,[j(H,{name:`hourglass_top`,size:`12px`}),D(`span`,null,o(t.$t(`git.pr.ci.pendingCount`,{n:d.value.pending.length})),1)])):E(``,!0),d.value.passed.length>0?(C(),O(`span`,Sr,[j(H,{name:`check_circle`,size:`12px`}),D(`span`,null,o(t.$t(`git.pr.ci.passedCount`,{n:d.value.passed.length})),1)])):E(``,!0),d.value.skipped.length>0?(C(),O(`span`,Cr,[j(H,{name:`remove_circle_outline`,size:`12px`}),D(`span`,null,o(t.$t(`git.pr.ci.skippedCount`,{n:d.value.skipped.length})),1)])):E(``,!0)])]),d.value.failed.length>0?(C(),O(`div`,wr,[(C(!0),O(u,null,k(d.value.failed,e=>(C(),g(v(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:M(()=>[j(H,{name:`cancel`,size:`14px`}),D(`span`,Tr,o(e.name),1)]),_:2},1032,[`href`]))),128))])):E(``,!0),d.value.pending.length>0?(C(),O(`div`,Er,[(C(!0),O(u,null,k(d.value.pending,e=>(C(),g(v(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:M(()=>[j(H,{name:`hourglass_top`,size:`14px`}),D(`span`,Dr,o(e.name),1)]),_:2},1032,[`href`]))),128))])):E(``,!0),d.value.passed.length+d.value.skipped.length>0?(C(),O(`div`,Or,[j(U,{dense:``,flat:``,"no-caps":``,size:`sm`,icon:c.value?`expand_less`:`expand_more`,label:c.value?t.$t(`git.pr.ci.hidePassed`):t.$t(`git.pr.ci.showPassed`,{n:d.value.passed.length+d.value.skipped.length}),class:`pr-panel__ci-toggle`,onClick:r[0]||=e=>c.value=!c.value},null,8,[`icon`,`label`]),c.value?(C(),O(`div`,kr,[(C(!0),O(u,null,k(d.value.passed,e=>(C(),g(v(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:M(()=>[j(H,{name:`check_circle`,size:`14px`}),D(`span`,Ar,o(e.name),1)]),_:2},1032,[`href`]))),128)),(C(!0),O(u,null,k(d.value.skipped,e=>(C(),g(v(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:M(()=>[j(H,{name:`remove_circle_outline`,size:`14px`}),D(`span`,jr,o(e.name),1)]),_:2},1032,[`href`]))),128))])):E(``,!0)])):E(``,!0)]))]))}}),[[`__scopeId`,`data-v-1ccf3b5b`]]),Nr={class:`text-subtitle1 text-grey-3`},Pr=l({__name:`CompareCommitsDialog`,props:{modelValue:{type:Boolean},commits:{},sourceBranch:{}},emits:[`update:modelValue`,`compare`,`close`],setup(e,{emit:n}){let i=e,a=n,{t:s}=t(),c=f({get:()=>i.modelValue,set:e=>a(`update:modelValue`,e)}),l=f(()=>i.commits.map(e=>({label:`${e.shortSha} ${e.subject}`,value:e.sha}))),u=f(()=>({label:s(`diff.compareSourceBase`,{branch:i.sourceBranch}),value:`origin/${i.sourceBranch}`})),d=f(()=>[...l.value,u.value]),p=f(()=>l.value),m=r(``),h=r(``);N(()=>i.modelValue,e=>{e&&(m.value=u.value.value,h.value=i.commits[0]?.sha??``)});function _(){!m.value||!h.value||m.value===h.value||(a(`compare`,{from:m.value,to:h.value}),c.value=!1)}return(e,t)=>(C(),g(Ee,{modelValue:c.value,"onUpdate:modelValue":t[3]||=e=>c.value=e,onHide:t[4]||=t=>e.$emit(`close`)},{default:M(()=>[j(Se,{dark:``,style:{"min-width":`460px`,"max-width":`640px`}},{default:M(()=>[j(Re,null,{default:M(()=>[D(`div`,Nr,o(e.$t(`diff.compareTitle`)),1)]),_:1}),j(Re,{class:`q-gutter-md`},{default:M(()=>[j(nt,{modelValue:m.value,"onUpdate:modelValue":t[0]||=e=>m.value=e,dark:``,dense:``,"options-dense":``,"emit-value":``,"map-options":``,options:d.value,label:e.$t(`diff.compareFrom`)},null,8,[`modelValue`,`options`,`label`]),j(nt,{modelValue:h.value,"onUpdate:modelValue":t[1]||=e=>h.value=e,dark:``,dense:``,"options-dense":``,"emit-value":``,"map-options":``,options:p.value,label:e.$t(`diff.compareTo`)},null,8,[`modelValue`,`options`,`label`])]),_:1}),j(ke,{align:`right`},{default:M(()=>[j(U,{flat:``,"no-caps":``,label:e.$t(`common.cancel`),color:`grey-5`,onClick:t[2]||=e=>c.value=!1},null,8,[`label`]),j(U,{unelevated:``,"no-caps":``,color:`primary`,label:e.$t(`diff.compareSubmit`),disable:!m.value||!h.value||m.value===h.value,onClick:_},null,8,[`label`,`disable`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]))}}),Fr={class:`git-panel q-px-sm q-py-md`},Ir={class:`row items-center justify-between q-mb-sm`},Lr={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},Rr={key:0,class:`row items-center justify-center q-py-xl`},zr={class:`git-subcard`},Br={class:`git-subcard-title`},Vr={class:`row items-center q-mb-xs`},Hr={class:`text-caption text-grey-3`},Ur={class:`row items-center q-mb-xs`},Wr={class:`text-caption text-grey-4`,style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},Gr={class:`text-caption text-grey-8`,style:{"font-size":`11px`}},Kr={key:3},qr={key:4,style:{color:`#4ade80`}},Jr={key:5,style:{color:`#f59e0b`}},Yr={key:0,class:`git-subcard`},Xr={class:`git-subcard-title`},Zr={class:`row items-center`,style:{"font-size":`11px`,gap:`14px`,"flex-wrap":`wrap`}},Qr={class:`text-grey-4`},$r={key:1,class:`row items-center`},ei={class:`text-grey-4`},ti={key:2,class:`row items-center`},ni={class:`text-grey-4`},ri={key:0,class:`q-ml-xs`,style:{color:`#4ade80`}},ii={key:1,class:`q-ml-xs`,style:{color:`#f87171`}},ai={key:0,style:{color:`#4ade80`}},oi={key:1,class:`q-ml-xs`,style:{color:`#f59e0b`}},si={key:2,class:`q-ml-xs text-grey-6`},ci={key:0,class:`commit-list q-mt-sm`},li={key:0,class:`row justify-end q-mb-xs`},ui={key:1,class:`text-caption text-grey-6 q-pa-xs`},di={key:2,class:`text-caption text-grey-7 q-pa-xs`},fi=[`onClick`],pi={class:`commit-sha text-grey-5`},mi={class:`commit-subject text-grey-4 ellipsis q-ml-sm`},hi={class:`text-caption`},gi={class:`text-grey-5 q-mt-xs`},_i={class:`text-grey-6 q-mt-xs`,style:{"font-style":`italic`}},vi={key:1,class:`commit-list q-mt-sm`},yi={key:0,class:`text-caption text-grey-6 q-pa-xs`},bi={key:1,class:`text-caption text-grey-7 q-pa-xs`},xi={key:0,style:{color:`#4ade80`},class:`q-mr-xs`},Si={key:1,style:{color:`#f59e0b`},class:`q-mr-xs`},Ci={key:2,class:`text-grey-6 q-mr-xs`},wi={class:`commit-subject text-grey-4 ellipsis`,style:{"font-family":`'Roboto Mono', monospace`}},Ti={key:1,class:`git-subcard`},Ei={class:`git-subcard-title`},Di={class:`row no-wrap items-stretch q-gutter-xs`},Oi={key:0,class:`col`},ki={key:1,class:`col`},Ai={class:`col`},ji={key:2,class:`col-auto`},Mi={key:2,class:`git-subcard`},Ni={class:`git-subcard-title`},Pi={key:1,class:`text-caption text-grey-8`},Fi={class:`text-subtitle1`},Ii={class:`text-body2 text-grey-5 q-mt-sm`},Li={class:`git-branch-code`},Ri={class:`text-caption text-grey-6 q-mt-xs`,style:{"padding-left":`46px`}},zi={class:`text-subtitle1`},Bi={class:`text-caption text-grey-6 q-mt-xs`},Vi={class:`text-subtitle1 text-warning`},Hi={class:`text-caption text-grey-6 q-mt-xs`},Ui={class:`text-caption text-mono`},Wi={class:`text-subtitle1 text-warning`},Gi={class:`text-caption text-grey-6 q-mt-xs`},Ki={class:`text-subtitle1 text-negative`},qi={class:`text-caption text-grey-6 q-mt-xs`},Ji={class:`text-body2 text-grey-3`,style:{"white-space":`pre-wrap`,"word-break":`break-word`}},Yi=ht(l({__name:`GitPanel`,props:{workspace:{}},setup(e){let i=S(()=>Me(()=>import(`./DiffViewer-BwfYKTny.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]))),a=e,{t:s}=t(),c=et(),l=Pe(),d=Xe(),p=f(()=>!!a.workspace?.archivedAt),h=f(()=>a.workspace?((d.getProjectByPath(a.workspace.projectPath)?.changeSourceBranchScript??``).trim()||(d.global.changeSourceBranchScript??``).trim()).length>0:!1),_=r(!1),v=r(!1),y=r(!1),w=r(!1),T=r(!1),P=r(!1),ee=r(!1),F=r(!1),te=r(!1),ne=r(!1),R=r(``),z=r(!1),re=r(!1),B=r(!1),ie=r(!1),ae=r(void 0),V=r(void 0);function oe(e){ae.value=void 0,V.value=void 0,B.value=e,te.value=!0}function se(e){let t=e.detail;t?.workspaceId!==a.workspace?.id||!t.path||(ae.value=void 0,V.value=void 0,B.value=!1,te.value=!0)}function le(e,t){ae.value=e,V.value=t,B.value=!1,te.value=!0}function ue(e){le(e.from,e.to)}let de=r(!1),fe=r(!1),pe=r(!1),me=r([]);async function he(){if(a.workspace){pe.value=!0;try{let e=await fetch(`/api/workspaces/${a.workspace.id}/commits?limit=50`,{cache:`no-store`});if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();me.value=t.commits}catch(e){console.error(`[GitPanel] fetchCommits failed:`,e),me.value=[]}finally{pe.value=!1}}}async function ge(){fe.value=!fe.value,fe.value&&(pe.value=!0,await he())}let _e=r(!1),ye=r(!1),be=r([]);async function xe(){if(a.workspace){ye.value=!0;try{let e=await fetch(`/api/workspaces/${a.workspace.id}/working-tree-files`,{cache:`no-store`});if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();be.value=t.files}catch(e){console.error(`[GitPanel] fetchWorkingTreeFiles failed:`,e),be.value=[]}finally{ye.value=!1}}}function Ce(){_e.value=!_e.value,_e.value&&xe()}function we(e){l.chatDraft=e}function Te(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`})}let De=r(!1),Oe=r(null),Ae=r([]),Ne=r(!1),Fe=r(!1),Ie=r(!1),Le=r(!1),ze=r(null),Be=r(null),He=r(!1),Ue=r(!1),We=r(``),Ge=r(!1),Ke=r(``),qe=r(null),Je=r(!1);function Ze(e,t){Ke.value=e,qe.value=t,Ge.value=!0}async function Qe(){if(a.workspace){Je.value=!0;try{let e=await fetch(`/api/workspaces/${a.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`}),Ge.value=!1,yt()}catch(e){let t=e instanceof Error?e.message:`Abort failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{Je.value=!1}}}function $e(e){l.chatDraft=e,te.value=!1}let K=r(null),nt=r(!1),rt=f(()=>{if(!a.workspace?.projectPath)return`-`;let e=a.workspace.projectPath.replace(/\\/g,`/`).split(`/`);return e[e.length-1]||e[e.length-2]||`-`}),it=f(()=>{let e=a.workspace?.id;if(e)return l.prSnapshots[e]}),at={id:`none`,capabilities:{canCreatePr:!1,canChangePrBase:!1,canMergeRequest:!1,canDeleteRemoteBranch:!1,requestTermShort:`PR`},availability:{available:!1}},ot=f(()=>K.value?.forge??at),st=f(()=>ot.value.id===`gitlab`?`glab`:ot.value.id===`bitbucket-community`?`bkt`:`gh`),ct=f(()=>!(!K.value||ot.value.id===`none`||!ot.value.availability.available||K.value.unpushedCount===-1)),lt=f(()=>!!(K.value?.prUrl&&K.value.prState===`OPEN`&&it.value?.readyToMerge&&ot.value.capabilities.canMergeRequest&&ot.value.availability.available)),dt=f(()=>{let e=K.value?.workingTree;return e?e.staged+e.modified+e.untracked>0:!1}),ft=f(()=>{if(!K.value)return``;if(K.value.unpushedCount===-1)return s(`git.createPrNoRemote`);if(!ot.value.availability.available){let e=ot.value.availability.reason;return e===`cli_missing`?s(`git.forgeCliMissing`,{cli:st.value,request:ot.value.capabilities.requestTermShort}):e===`not_authenticated`?s(`git.forgeNotAuthenticated`,{cli:st.value}):s(`git.forgeCliMissing`,{cli:st.value,request:ot.value.capabilities.requestTermShort})}return``}),pt=f(()=>a.workspace?.worktreeOwned!==!1),mt=f(()=>{if(!a.workspace)return!1;let e=!!(K.value?.prUrl&&K.value.prState===`OPEN`);return pt.value||e||h.value}),ht=r(!1),gt=r(`ahead`);function _t(e){gt.value=e,ht.value=!0}let vt=null;async function yt(e={}){if(!a.workspace){K.value=null;return}vt?.abort();let t=new AbortController;vt=t;let n=a.workspace.id;nt.value=!0;try{let r=await l.fetchGitStats(n,{freshFetch:e.freshFetch,signal:t.signal});if(t.signal.aborted||a.workspace?.id!==n)return;K.value=r}catch(e){if(e?.name===`AbortError`)return;K.value=null}finally{vt===t&&(vt=null,nt.value=!1)}}async function bt(){let e=a.workspace?.id;e&&await Promise.allSettled([yt({freshFetch:!0}),l.refreshPrSnapshot(e)])}let St=null;N(()=>a.workspace?.id,(e,t)=>{vt?.abort(),St&&=(clearTimeout(St),null),e!==t&&(K.value=null,me.value=[],fe.value=!1,_e.value=!1,be.value=[],ye.value=!1),e&&yt({freshFetch:!0})},{immediate:!0}),N(()=>l.gitRefreshTrigger,()=>{St&&clearTimeout(St),St=setTimeout(()=>yt(),3e3)}),N(()=>{let e=a.workspace?.id;return e?l.gitStatsCache[e]:null},e=>{e&&(nt.value||(K.value=e))}),x(()=>{window.removeEventListener(`kobo:select-diff`,se),St&&=(clearTimeout(St),null),vt?.abort()}),b(()=>{window.addEventListener(`kobo:select-diff`,se)});function Ct(){let e=a.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)){de.value=!0;try{await l.renameWorkspaceBranch(e.id,n),c.notify({type:`positive`,message:s(`git.renameBranchSuccess`,{branch:n}),position:`top`}),yt()}catch(e){let t=e instanceof Ye&&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{de.value=!1}}})}function wt(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`)}async function Tt(e){if(a.workspace){y.value=!0;try{let t=e?.autostash?`?autostash=1`:``,n=await fetch(`/api/workspaces/${a.workspace.id}/rebase${t}`,{method:`POST`});if(n.status===409){let e=await n.json();if(e.code===`dirty_worktree`){At(`rebase`,e.status);return}kt(`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`}),yt()}catch(e){let t=e instanceof Error?e.message:s(`git.rebaseFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{y.value=!1}}}function Et(){a.workspace&&c.dialog({title:s(`git.rebaseConfirmTitle`),message:s(`git.rebaseConfirmMessage`,{branch:`<code class="git-branch-code">${wt(a.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(()=>{Tt()})}async function Dt(e){if(a.workspace){w.value=!0;try{let t=e?.autostash?`?autostash=1`:``,n=await fetch(`/api/workspaces/${a.workspace.id}/merge${t}`,{method:`POST`});if(n.status===409){let e=await n.json();if(e.code===`dirty_worktree`){At(`merge`,e.status);return}kt(`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`}),yt()}catch(e){let t=e instanceof Error?e.message:s(`git.mergeFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{w.value=!1}}}function Ot(){a.workspace&&c.dialog({title:s(`git.mergeConfirmTitle`),message:s(`git.mergeConfirmMessage`,{branch:`<code class="git-branch-code">${wt(a.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(()=>{Dt()})}function kt(e,t){Oe.value=e,Ae.value=t,De.value=!0}function At(e,t){ze.value=e,Be.value=t,Ue.value=!1,We.value=``,He.value=!1,Le.value=!0}async function jt(){if(!(!a.workspace||!R.value.trim())){z.value=!0;try{let e=await fetch(`/api/workspaces/${a.workspace.id}/git/commit-all`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({message:R.value.trim()})});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error??s(`git.commitFailed`))}ne.value=!1,R.value=``,await yt({freshFetch:!0})}catch(e){c.notify({type:`negative`,message:e instanceof Error?e.message:s(`git.commitFailed`),position:`top`,timeout:6e3})}finally{z.value=!1}}}async function Mt(){if(a.workspace){re.value=!0;try{let e=await fetch(`/api/workspaces/${a.workspace.id}/git/commit-with-agent`,{method:`POST`});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error??s(`git.commitFailed`))}ne.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{re.value=!1}}}function Nt(e){let t=ze.value;Le.value=!1,t===`rebase`?Tt(e):t===`merge`?Dt(e):t===`pull`&&Wt(e)}function Pt(){Nt({autostash:!0})}async function Ft(){if(!(!a.workspace||!We.value.trim())){He.value=!0;try{let e=await fetch(`/api/workspaces/${a.workspace.id}/git/commit-all`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({message:We.value.trim()})});if(!e.ok){let t=await e.json();throw Error(t.error??s(`git.commitFailed`))}Nt()}catch(e){let t=e instanceof Error?e.message:s(`git.commitFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{He.value=!1}}}function It(){a.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()=>{He.value=!0;try{let e=await fetch(`/api/workspaces/${a.workspace.id}/git/discard`,{method:`POST`});if(!e.ok){let t=await e.json();throw Error(t.error??s(`git.discardFailed`))}Nt()}catch(e){let t=e instanceof Error?e.message:s(`git.discardFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{He.value=!1}})}async function Lt(){if(a.workspace){Ne.value=!0;try{let e=await fetch(`/api/workspaces/${a.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`}),De.value=!1,yt()}catch(e){let t=e instanceof Error?e.message:`Abort failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{Ne.value=!1}}}async function Rt(){if(a.workspace){Ie.value=!0;try{let e=await fetch(`/api/workspaces/${a.workspace.id}/git/continue`,{method:`POST`});if(!e.ok){let t=await e.json();throw Error(t.error??`Continue failed`)}c.notify({type:`positive`,message:s(`git.conflictContinued`),position:`top`}),De.value=!1,yt()}catch(e){let t=e instanceof Error?e.message:`Continue failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{Ie.value=!1}}}async function zt(){if(!(!a.workspace||!Oe.value)){Fe.value=!0;try{let e=await fetch(`/api/workspaces/${a.workspace.id}/git/resolve-with-agent`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({operation:Oe.value,files:Ae.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`}),De.value=!1}catch(e){let t=e instanceof Error?e.message:`Handoff failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{Fe.value=!1}}}let Bt=r(!1),Vt=r(!1);function Ht(){a.workspace&&(Vt.value=!1,Bt.value=!0)}async function Ut(){if(!a.workspace)return;let e=Vt.value;Bt.value=!1,_.value=!0;try{await l.pushBranch(a.workspace.id,{force:e}),c.notify({type:`positive`,message:s(e?`git.branchForcePushed`:`git.branchPushed`),position:`top`}),yt()}catch(e){let t=e instanceof Error?e.message:`Push failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{_.value=!1}}async function Wt(e){if(a.workspace){v.value=!0;try{let t=e?.autostash?`?autostash=1`:``,n=await fetch(`/api/workspaces/${a.workspace.id}/pull${t}`,{method:`POST`});if(n.status===409){let e=await n.json();if(e.code===`dirty_worktree`){At(`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`}),yt()}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 Gt(){a.workspace&&c.dialog({title:s(`git.pullConfirmTitle`),message:s(`git.pullConfirmMessage`,{branch:`<code class="git-branch-code">${wt(a.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(()=>{Wt()})}async function Kt(){if(a.workspace){T.value=!0;try{let e=await fetch(`/api/workspaces/${a.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`}),yt()}catch(e){let t=e instanceof Error?e.message:String(e);c.notify({type:`negative`,message:s(`git.fetchFailed`,{error:t}),position:`top`})}finally{T.value=!1}}}function qt(){K.value?.prUrl&&window.open(K.value.prUrl,`_blank`)}function Jt(){a.workspace&&c.dialog({title:s(`git.changePrBaseTitle`),message:s(`git.changePrBaseMessage`,{request:ot.value.capabilities.requestTermShort}),prompt:{model:a.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()||!a.workspace)){ee.value=!0;try{let t=await fetch(`/api/workspaces/${a.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:ot.value.capabilities.requestTermShort}),position:`top`}),yt()}catch(e){let t=e instanceof Error?e.message:s(`git.changePrBaseFailed`,{request:ot.value.capabilities.requestTermShort});c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{ee.value=!1}}})}function Yt(){if(!a.workspace||!lt.value)return;let e=ot.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(a.workspace){F.value=!0;try{let t=await fetch(`/api/workspaces/${a.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([yt({freshFetch:!0}),l.refreshPrSnapshot(a.workspace.id)]),n.merged&&ot.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 Xt(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{F.value=!1}}})}async function Xt(e){if(a.workspace)try{let t=await fetch(`/api/workspaces/${a.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 Zt=r(!1);function Qt(){a.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(a.workspace)try{let e=await fetch(`/api/workspaces/${a.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`}),yt()}catch(e){let t=e instanceof Error?e.message:`Failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}})}async function $t(){a.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()||!a.workspace)return;Zt.value=!0;let t=c.notify({group:!1,spinner:!0,message:s(`git.changeSourceBranchLoading`),position:`top`,timeout:je});try{let t=await fetch(`/api/workspaces/${a.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`?Ze(e,n.ongoingOperation):c.notify({type:`negative`,message:e,position:`top`,timeout:6e3});return}if(a.workspace&&l.updateWorkspaceFromEvent(a.workspace.id,{sourceBranch:e.trim()}),n.status===`conflict`)kt(`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&&Qt()}}catch(e){let t=e instanceof Error?e.message:`Failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{t(),Zt.value=!1,yt()}})}async function en(){if(a.workspace){P.value=!0;try{let e=await l.openPullRequest(a.workspace.id);c.notify({type:`positive`,message:s(`git.prCreated`,{n:e.prNumber,request:ot.value.capabilities.requestTermShort}),caption:e.prUrl,position:`top`,timeout:5e3}),yt()}catch(e){if(e instanceof Ye&&e.code===`branch_not_pushed`){c.notify({type:`warning`,message:s(`git.pushFirst`),position:`top`,timeout:6e3});return}if(e instanceof Ye&&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{P.value=!1}}}return(t,r)=>(C(),O(`div`,Fr,[D(`div`,Ir,[D(`div`,Lr,o(t.$t(`git.title`)),1),e.workspace?(C(),g(U,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,loading:nt.value,onClick:bt},{default:M(()=>[j(q,null,{default:M(()=>[A(o(t.$t(`tooltip.refreshGitStats`)),1)]),_:1})]),_:1},8,[`loading`])):E(``,!0)]),e.workspace?(C(),O(u,{key:0},[nt.value&&!K.value?(C(),O(`div`,Rr,[j(ce,{size:`32px`,color:`indigo-4`})])):(C(),O(u,{key:1},[D(`div`,zr,[D(`div`,Br,o(t.$t(`git.section.repository`)),1),D(`div`,Vr,[j(H,{name:`folder`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),D(`span`,Hr,o(rt.value),1)]),D(`div`,Ur,[r[23]||=D(`span`,{style:{width:`8px`,height:`8px`,"border-radius":`50%`,"background-color":`#4ade80`,display:`inline-block`},class:`q-mr-xs`},null,-1),D(`span`,Wr,o(e.workspace.workingBranch),1)]),D(`div`,Gr,[A(o(e.workspace.sourceBranch)+` `,1),K.value?(C(),O(u,{key:0},[K.value.commitCount>0?(C(),O(`span`,{key:0,class:`cursor-pointer arrow-clickable`,style:{color:`#4ade80`},onClick:r[0]||=I(e=>_t(`ahead`),[`stop`])},` · ↑`+o(K.value.commitCount),1)):E(``,!0),K.value.behindCount>0?(C(),O(`span`,{key:1,class:`cursor-pointer arrow-clickable`,style:{color:`#f87171`},onClick:r[1]||=I(e=>_t(`behind`),[`stop`])},` · ↓`+o(K.value.behindCount),1)):E(``,!0),K.value.commitCount>0||K.value.behindCount>0?(C(),g(q,{key:2},{default:M(()=>[A(o(t.$t(`git.aheadBehindTooltip`,{ahead:K.value.commitCount,behind:K.value.behindCount,source:e.workspace.sourceBranch})),1)]),_:1})):E(``,!0),r[24]||=A(` · `,-1),K.value.unpushedCount===-1?(C(),O(`span`,Kr,o(t.$t(`git.localOnly`)),1)):K.value.unpushedCount===0?(C(),O(`span`,qr,o(t.$t(`git.pushed`)),1)):(C(),O(`span`,Jr,o(t.$t(`git.unpushed`,{count:K.value.unpushedCount})),1))],64)):E(``,!0)])]),K.value?(C(),O(`div`,Yr,[D(`div`,Xr,o(t.$t(`git.section.changes`)),1),D(`div`,Zr,[K.value.commitCount>0?(C(),O(`div`,{key:0,class:`row items-center commit-toggle cursor-pointer`,onClick:ge},[j(H,{name:`commit`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),D(`span`,Qr,o(t.$t(`git.commits`,{count:K.value.commitCount},K.value.commitCount)),1),pe.value?(C(),g(ce,{key:0,size:`12px`,color:`indigo-4`,class:`q-ml-xs`})):(C(),g(H,{key:1,name:fe.value?`expand_less`:`expand_more`,size:`14px`,color:`grey-6`,class:`q-ml-xs`},null,8,[`name`]))])):(C(),O(`div`,$r,[j(H,{name:`commit`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),D(`span`,ei,o(t.$t(`git.commits`,{count:0},0)),1)])),K.value.filesChanged>0?(C(),O(`div`,ti,[j(H,{name:`insert_drive_file`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),D(`span`,ni,o(K.value.filesChanged),1),K.value.insertions>0?(C(),O(`span`,ri,`+`+o(K.value.insertions),1)):E(``,!0),K.value.deletions>0?(C(),O(`span`,ii,`-`+o(K.value.deletions),1)):E(``,!0)])):E(``,!0),K.value.workingTree&&(K.value.workingTree.staged>0||K.value.workingTree.modified>0||K.value.workingTree.untracked>0)?(C(),O(`div`,{key:3,class:`row items-center cursor-pointer`,onClick:Ce},[j(H,{name:`edit_note`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),K.value.workingTree.staged>0?(C(),O(`span`,ai,o(K.value.workingTree.staged)+`s`,1)):E(``,!0),K.value.workingTree.modified>0?(C(),O(`span`,oi,o(K.value.workingTree.modified)+`m`,1)):E(``,!0),K.value.workingTree.untracked>0?(C(),O(`span`,si,o(K.value.workingTree.untracked)+`u`,1)):E(``,!0),ye.value?(C(),g(ce,{key:3,size:`12px`,color:`indigo-4`,class:`q-ml-xs`})):(C(),g(H,{key:4,name:_e.value?`expand_less`:`expand_more`,size:`14px`,color:`grey-6`,class:`q-ml-xs`},null,8,[`name`])),j(q,null,{default:M(()=>[A(o(t.$t(`git.staged`,{count:K.value.workingTree.staged}))+` · `+o(t.$t(`git.modified`,{count:K.value.workingTree.modified}))+` · `+o(t.$t(`git.untracked`,{count:K.value.workingTree.untracked})),1)]),_:1})])):E(``,!0)]),fe.value?(C(),O(`div`,ci,[me.value.length>0?(C(),O(`div`,li,[j(U,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`difference`,color:`grey-5`,label:t.$t(`git.compareCommits`),onClick:r[2]||=e=>ie.value=!0},null,8,[`label`])])):E(``,!0),pe.value?(C(),O(`div`,ui,[j(ce,{size:`xs`,class:`q-mr-xs`}),A(o(t.$t(`git.commits.loading`)),1)])):me.value.length===0?(C(),O(`div`,di,o(t.$t(`git.commits.empty`)),1)):(C(!0),O(u,{key:3},k(me.value,e=>(C(),O(`div`,{key:e.sha,class:`commit-item row no-wrap items-center cursor-pointer`,onClick:t=>we(e.sha)},[j(H,{name:e.isPushed?`cloud_done`:`cloud_upload`,size:`12px`,color:e.isPushed?`grey-6`:`orange-5`,class:`q-mr-xs commit-item-icon`},null,8,[`name`,`color`]),D(`span`,pi,o(e.shortSha),1),D(`span`,mi,o(e.subject),1),j(U,{flat:``,dense:``,round:``,size:`xs`,icon:`difference`,color:`grey-6`,class:`commit-diff-btn q-ml-xs`,onClick:I(t=>le(`${e.sha}^`,e.sha),[`stop`])},{default:M(()=>[j(q,{anchor:`top middle`,self:`bottom middle`},{default:M(()=>[A(o(t.$t(`git.commits.diffThisCommit`)),1)]),_:1})]),_:1},8,[`onClick`]),j(q,{anchor:`top middle`,self:`bottom middle`,class:`commit-tooltip`},{default:M(()=>[D(`div`,hi,[D(`div`,null,[D(`code`,null,o(e.sha),1)]),D(`div`,gi,o(e.author)+` · `+o(Te(e.date)),1),D(`div`,_i,o(e.isPushed?t.$t(`git.commits.pushed`):t.$t(`git.commits.unpushed`))+` · `+o(t.$t(`git.commits.clickToAppend`)),1)])]),_:2},1024)],8,fi))),128))])):E(``,!0),_e.value?(C(),O(`div`,vi,[ye.value?(C(),O(`div`,yi,[j(ce,{size:`xs`,class:`q-mr-xs`}),A(o(t.$t(`git.commits.loading`)),1)])):be.value.length===0?(C(),O(`div`,bi,o(t.$t(`git.workingTreeEmpty`)),1)):(C(!0),O(u,{key:2},k(be.value,e=>(C(),O(`div`,{key:e.path,class:`commit-item row no-wrap items-center`},[e.staged?(C(),O(`span`,xi,[r[25]||=A(`s`,-1),j(q,null,{default:M(()=>[A(o(t.$t(`git.fileStaged`)),1)]),_:1})])):E(``,!0),e.modified?(C(),O(`span`,Si,[r[26]||=A(`m`,-1),j(q,null,{default:M(()=>[A(o(t.$t(`git.fileModified`)),1)]),_:1})])):E(``,!0),e.untracked?(C(),O(`span`,Ci,[r[27]||=A(`u`,-1),j(q,null,{default:M(()=>[A(o(t.$t(`git.fileUntracked`)),1)]),_:1})])):E(``,!0),D(`span`,wi,o(e.path),1)]))),128))])):E(``,!0)])):E(``,!0),e.workspace&&K.value?(C(),O(`div`,Ti,[D(`div`,Ei,o(t.$t(`git.section.actions`)),1),ot.value.id===`none`?E(``,!0):(C(),O(u,{key:0},[K.value?.prUrl&&K.value.prState===`OPEN`?(C(),g(U,{key:0,"no-caps":``,unelevated:``,dense:``,size:`sm`,color:`green-7`,icon:`open_in_new`,label:t.$t(`git.viewRequest`,{request:ot.value.capabilities.requestTermShort}),class:`full-width q-mb-xs`,onClick:qt},null,8,[`label`])):(C(),g(U,{key:1,"no-caps":``,unelevated:``,dense:``,size:`sm`,color:`indigo-5`,icon:`open_in_new`,label:t.$t(`git.createRequest`,{request:ot.value.capabilities.requestTermShort}),class:`full-width q-mb-xs`,loading:P.value,disable:!e.workspace||_.value||!ct.value||p.value,onClick:en},{default:M(()=>[!ct.value&&ft.value?(C(),g(q,{key:0},{default:M(()=>[A(o(ft.value),1)]),_:1})):E(``,!0)]),_:1},8,[`label`,`loading`,`disable`]))],64)),lt.value?(C(),g(U,{key:1,"no-caps":``,unelevated:``,dense:``,size:`sm`,color:`deep-orange-7`,icon:`merge`,label:t.$t(`git.mergeRequest`,{request:ot.value.capabilities.requestTermShort}),class:`full-width q-mb-xs`,loading:F.value,disable:p.value,onClick:Yt},null,8,[`label`,`loading`,`disable`])):E(``,!0),dt.value?(C(),g(U,{key:2,"no-caps":``,unelevated:``,dense:``,size:`sm`,color:`green-7`,icon:`commit`,label:t.$t(`git.commitChanges`),class:`full-width q-mb-xs`,disable:p.value,onClick:r[3]||=e=>ne.value=!0},null,8,[`label`,`disable`])):E(``,!0),D(`div`,Di,[K.value?(C(),O(`div`,Oi,[j(jn,{split:``,dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,icon:`sync`,label:t.$t(`git.sync`),class:`full-width git-btn`,loading:v.value||y.value||w.value||T.value,disable:!e.workspace||_.value||p.value,onClick:r[4]||=e=>K.value.unpushedCount===-1?Et():Gt()},{default:M(()=>[j(xt,{dark:``,dense:``,style:{"min-width":`140px`}},{default:M(()=>[L((C(),g(G,{clickable:``,disable:v.value||y.value||w.value||K.value.unpushedCount===-1||p.value,onClick:Gt},{default:M(()=>[j(W,{avatar:``,style:{"min-width":`28px`}},{default:M(()=>[j(H,{name:`download`,size:`16px`,color:`grey-5`})]),_:1}),j(W,null,{default:M(()=>[A(o(t.$t(`git.pull`)),1)]),_:1}),K.value.unpushedCount===-1?(C(),g(q,{key:0},{default:M(()=>[A(o(t.$t(`git.pullNoUpstream`)),1)]),_:1})):E(``,!0)]),_:1},8,[`disable`])),[[ut]]),L((C(),g(G,{clickable:``,disable:v.value||y.value||w.value||p.value,onClick:Et},{default:M(()=>[j(W,{avatar:``,style:{"min-width":`28px`}},{default:M(()=>[j(H,{name:`replay`,size:`16px`,color:`orange-4`})]),_:1}),j(W,null,{default:M(()=>[A(o(t.$t(`git.rebase`)),1)]),_:1})]),_:1},8,[`disable`])),[[ut]]),L((C(),g(G,{clickable:``,disable:v.value||y.value||w.value||p.value,onClick:Ot},{default:M(()=>[j(W,{avatar:``,style:{"min-width":`28px`}},{default:M(()=>[j(H,{name:`merge`,size:`16px`,color:`purple-4`})]),_:1}),j(W,null,{default:M(()=>[A(o(t.$t(`git.merge`)),1)]),_:1})]),_:1},8,[`disable`])),[[ut]]),L((C(),g(G,{clickable:``,disable:v.value||y.value||w.value||T.value||p.value,onClick:Kt},{default:M(()=>[j(W,{avatar:``,style:{"min-width":`28px`}},{default:M(()=>[j(H,{name:`cloud_download`,size:`16px`,color:`grey-5`})]),_:1}),j(W,null,{default:M(()=>[A(o(t.$t(`git.fetch`)),1)]),_:1})]),_:1},8,[`disable`])),[[ut]])]),_:1})]),_:1},8,[`label`,`loading`,`disable`])])):E(``,!0),K.value?.unpushedCount===0?E(``,!0):(C(),O(`div`,ki,[j(U,{dense:``,"no-caps":``,size:`sm`,outline:``,color:`orange-5`,icon:`upload`,label:t.$t(`git.push`),class:`full-width git-btn`,loading:_.value,disable:!e.workspace||P.value||v.value||y.value||p.value,onClick:Ht},{default:M(()=>[j(q,{anchor:`bottom middle`,self:`top middle`,delay:400},{default:M(()=>[A(o(t.$t(`git.push`)),1)]),_:1})]),_:1},8,[`label`,`loading`,`disable`])])),D(`div`,Ai,[j(U,{dense:``,"no-caps":``,size:`sm`,outline:``,color:`indigo-4`,icon:`rate_review`,label:t.$t(`git.diffReview`),class:`full-width git-btn`,disable:!e.workspace,onClick:r[5]||=e=>oe(!0)},{default:M(()=>[j(q,{anchor:`bottom middle`,self:`top middle`,delay:400},{default:M(()=>[A(o(t.$t(`git.diffReviewTooltip`)),1)]),_:1})]),_:1},8,[`label`,`disable`])]),mt.value?(C(),O(`div`,ji,[j(U,{dense:``,flat:``,size:`sm`,color:`grey-5`,icon:`more_horiz`,class:`git-btn`},{default:M(()=>[j(tt,null,{default:M(()=>[j(xt,{dark:``,dense:``,style:{"min-width":`160px`}},{default:M(()=>[pt.value?L((C(),g(G,{key:0,clickable:``,disable:de.value||p.value,onClick:Ct},{default:M(()=>[j(W,{avatar:``,style:{"min-width":`28px`}},{default:M(()=>[j(H,{name:`edit`,size:`16px`,color:`grey-5`})]),_:1}),j(W,null,{default:M(()=>[A(o(t.$t(`git.renameBranch`)),1)]),_:1})]),_:1},8,[`disable`])),[[ut]]):E(``,!0),K.value?.prUrl&&K.value.prState===`OPEN`?L((C(),g(G,{key:1,clickable:``,disable:ee.value||p.value,onClick:Jt},{default:M(()=>[j(W,{avatar:``,style:{"min-width":`28px`}},{default:M(()=>[j(H,{name:`swap_horiz`,size:`16px`,color:`grey-5`})]),_:1}),j(W,null,{default:M(()=>[A(o(t.$t(`git.changeRequestBase`,{request:ot.value.capabilities.requestTermShort})),1)]),_:1})]),_:1},8,[`disable`])),[[ut]]):E(``,!0),h.value?L((C(),g(G,{key:2,clickable:``,disable:Zt.value||p.value,onClick:$t},{default:M(()=>[j(W,{avatar:``,style:{"min-width":`28px`}},{default:M(()=>[j(H,{name:`alt_route`,size:`16px`,color:`grey-5`})]),_:1}),j(W,null,{default:M(()=>[A(o(t.$t(`git.changeSourceBranch`)),1)]),_:1})]),_:1},8,[`disable`])),[[ut]]):E(``,!0)]),_:1})]),_:1}),j(q,null,{default:M(()=>[A(o(t.$t(`git.actions.more`)),1)]),_:1})]),_:1})])):E(``,!0)])])):E(``,!0),it.value&&it.value.state===`OPEN`?(C(),O(`div`,Mi,[D(`div`,Ni,o(t.$t(`git.section.pullRequest`)),1),j(Mr,{snapshot:it.value},null,8,[`snapshot`])])):E(``,!0)],64))],64)):(C(),O(`div`,Pi,o(t.$t(`common.selectWorkspace`)),1)),j(Ee,{modelValue:Bt.value,"onUpdate:modelValue":r[7]||=e=>Bt.value=e},{default:M(()=>[j(Se,{dark:``,style:{"min-width":`360px`,"max-width":`480px`}},{default:M(()=>[j(Re,null,{default:M(()=>[D(`div`,Fi,o(t.$t(`git.pushConfirmTitle`)),1),D(`div`,Ii,[A(o(t.$t(`git.pushConfirmMessagePrefix`))+` `,1),D(`code`,Li,o(e.workspace?.workingBranch??``),1),A(` `+o(t.$t(`git.pushConfirmMessageSuffix`)),1)])]),_:1}),j(Re,{class:`q-pt-none`},{default:M(()=>[j(Ve,{modelValue:Vt.value,"onUpdate:modelValue":r[6]||=e=>Vt.value=e,label:t.$t(`git.forcePushToggle`),color:`orange-6`,dense:``},null,8,[`modelValue`,`label`]),D(`div`,Ri,o(t.$t(`git.forcePushHint`)),1)]),_:1}),j(ke,{align:`right`},{default:M(()=>[L(j(U,{flat:``,label:t.$t(`common.cancel`),color:`grey-5`},null,8,[`label`]),[[ut]]),j(U,{flat:``,label:Vt.value?t.$t(`git.forcePush`):t.$t(`git.push`),color:Vt.value?`orange-4`:`grey-5`,onClick:Ut},null,8,[`label`,`color`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),j(Ee,{modelValue:ne.value,"onUpdate:modelValue":r[10]||=e=>ne.value=e,persistent:``},{default:M(()=>[j(Se,{dark:``,style:{"min-width":`420px`,"max-width":`600px`}},{default:M(()=>[j(Re,null,{default:M(()=>[D(`div`,zi,[j(H,{name:`commit`,color:`green-5`,class:`q-mr-xs`}),A(` `+o(t.$t(`git.commitDialogTitle`)),1)]),D(`div`,Bi,o(t.$t(`git.commitDialogDescription`)),1)]),_:1}),j(Re,{class:`q-pt-none`},{default:M(()=>[j(ve,{modelValue:R.value,"onUpdate:modelValue":r[8]||=e=>R.value=e,dark:``,dense:``,autofocus:``,label:t.$t(`git.commitMessage`),disable:z.value||re.value,onKeyup:m(jt,[`enter`])},null,8,[`modelValue`,`label`,`disable`])]),_:1}),j(ke,{align:`right`},{default:M(()=>[j(U,{flat:``,"no-caps":``,label:t.$t(`common.cancel`),color:`grey-5`,disable:z.value||re.value,onClick:r[9]||=e=>ne.value=!1},null,8,[`label`,`disable`]),j(U,{flat:``,"no-caps":``,icon:`smart_toy`,color:`indigo-4`,label:t.$t(`git.commitWithAgent`),loading:re.value,disable:z.value,onClick:Mt},null,8,[`label`,`loading`,`disable`]),j(U,{unelevated:``,"no-caps":``,icon:`commit`,color:`green-7`,label:t.$t(`git.commitManual`),loading:z.value,disable:!R.value.trim()||re.value,onClick:jt},null,8,[`label`,`loading`,`disable`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),j(Ee,{modelValue:De.value,"onUpdate:modelValue":r[12]||=e=>De.value=e,persistent:``},{default:M(()=>[j(Se,{dark:``,style:{"min-width":`420px`,"max-width":`600px`}},{default:M(()=>[j(Re,null,{default:M(()=>[D(`div`,Vi,[j(H,{name:`warning`,class:`q-mr-xs`}),A(` `+o(Ae.value.length===0?t.$t(`git.operationPausedTitle`):Oe.value===`merge`?t.$t(`git.conflictTitleMerge`):t.$t(`git.conflictTitleRebase`)),1)]),D(`div`,Hi,o(Ae.value.length===0?t.$t(`git.operationPausedSubtitle`):t.$t(`git.conflictSubtitle`,{count:Ae.value.length})),1)]),_:1}),Ae.value.length>0?(C(),g(Re,{key:0,class:`q-pt-none`},{default:M(()=>[j(xt,{dense:``,dark:``},{default:M(()=>[(C(!0),O(u,null,k(Ae.value,e=>(C(),g(G,{key:e},{default:M(()=>[j(W,{side:``},{default:M(()=>[j(H,{name:`insert_drive_file`,size:`xs`})]),_:1}),j(W,null,{default:M(()=>[D(`div`,Ui,o(e),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})):E(``,!0),j(ke,{align:`right`},{default:M(()=>[j(U,{flat:``,"no-caps":``,label:t.$t(`common.cancel`),color:`grey-5`,disable:Ne.value||Fe.value||Ie.value,onClick:r[11]||=e=>De.value=!1},null,8,[`label`,`disable`]),j(U,{flat:``,"no-caps":``,color:`red-4`,icon:`undo`,label:t.$t(`git.conflictAbort`),loading:Ne.value,disable:Fe.value||Ie.value,onClick:Lt},null,8,[`label`,`loading`,`disable`]),Ae.value.length===0?(C(),g(U,{key:0,unelevated:``,"no-caps":``,color:`primary`,icon:`play_arrow`,label:t.$t(`git.conflictContinue`),loading:Ie.value,disable:Ne.value,onClick:Rt},null,8,[`label`,`loading`,`disable`])):E(``,!0),Ae.value.length>0?(C(),g(U,{key:1,unelevated:``,"no-caps":``,color:`primary`,icon:`smart_toy`,label:t.$t(`git.conflictResolveWithAgent`),loading:Fe.value,disable:Ne.value,onClick:zt},null,8,[`label`,`loading`,`disable`])):E(``,!0)]),_:1})]),_:1})]),_:1},8,[`modelValue`]),j(Ee,{modelValue:Le.value,"onUpdate:modelValue":r[16]||=e=>Le.value=e,persistent:``},{default:M(()=>[j(Se,{dark:``,style:{"min-width":`420px`,"max-width":`600px`}},{default:M(()=>[j(Re,null,{default:M(()=>[D(`div`,Wi,[j(H,{name:`warning`,class:`q-mr-xs`}),A(` `+o(ze.value===`merge`?t.$t(`git.dirtyTitleMerge`):ze.value===`pull`?t.$t(`git.dirtyTitlePull`):t.$t(`git.dirtyTitleRebase`)),1)]),D(`div`,Gi,o(t.$t(`git.dirtySubtitle`,{modified:Be.value?.modified??0,staged:Be.value?.staged??0,untracked:Be.value?.untracked??0})),1)]),_:1}),Ue.value?(C(),g(Re,{key:0,class:`q-pt-none`},{default:M(()=>[j(ve,{modelValue:We.value,"onUpdate:modelValue":r[13]||=e=>We.value=e,dark:``,dense:``,autofocus:``,placeholder:t.$t(`git.dirtyCommitPlaceholder`),disable:He.value,onKeyup:m(Ft,[`enter`])},null,8,[`modelValue`,`placeholder`,`disable`])]),_:1})):E(``,!0),j(ke,{align:`right`},{default:M(()=>[j(U,{flat:``,"no-caps":``,label:t.$t(`common.cancel`),color:`grey-5`,disable:He.value,onClick:r[14]||=e=>Le.value=!1},null,8,[`label`,`disable`]),j(U,{flat:``,"no-caps":``,color:`red-4`,icon:`delete_forever`,label:t.$t(`git.dirtyDiscard`),loading:He.value,disable:He.value,onClick:It},null,8,[`label`,`loading`,`disable`]),Ue.value?(C(),g(U,{key:0,unelevated:``,"no-caps":``,color:`grey-7`,icon:`check`,label:t.$t(`git.dirtyCommitConfirm`),loading:He.value,disable:!We.value.trim(),onClick:Ft},null,8,[`label`,`loading`,`disable`])):(C(),O(u,{key:1},[j(U,{flat:``,"no-caps":``,color:`grey-5`,icon:`edit`,label:t.$t(`git.dirtyCommit`),disable:He.value,onClick:r[15]||=e=>Ue.value=!0},null,8,[`label`,`disable`]),j(U,{unelevated:``,"no-caps":``,color:`primary`,icon:`inventory_2`,label:t.$t(`git.dirtyStash`),disable:He.value,onClick:Pt},null,8,[`label`,`disable`])],64))]),_:1})]),_:1})]),_:1},8,[`modelValue`]),j(Ee,{modelValue:Ge.value,"onUpdate:modelValue":r[18]||=e=>Ge.value=e,persistent:``},{default:M(()=>[j(Se,{dark:``,style:{"min-width":`420px`,"max-width":`600px`}},{default:M(()=>[j(Re,null,{default:M(()=>[D(`div`,Ki,[j(H,{name:`error`,class:`q-mr-xs`}),A(` `+o(t.$t(`git.changeSourceBranchErrorTitle`)),1)]),D(`div`,qi,o(t.$t(`git.changeSourceBranchErrorOngoing`,{op:qe.value})),1)]),_:1}),j(Re,{class:`q-pt-none`},{default:M(()=>[D(`div`,Ji,o(Ke.value),1)]),_:1}),j(ke,{align:`right`},{default:M(()=>[j(U,{flat:``,"no-caps":``,label:t.$t(`common.close`),color:`grey-5`,disable:Je.value,onClick:r[17]||=e=>Ge.value=!1},null,8,[`label`,`disable`]),j(U,{unelevated:``,"no-caps":``,color:`red-5`,icon:`undo`,label:t.$t(`git.changeSourceBranchErrorAbort`),loading:Je.value,onClick:Qe},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),j(Ee,{modelValue:te.value,"onUpdate:modelValue":r[20]||=e=>te.value=e,maximized:``},{default:M(()=>[e.workspace?(C(),g(n(i),{key:e.workspace.id,"workspace-id":e.workspace.id,"initial-review-mode":B.value,"compare-from":ae.value,"compare-to":V.value,onClose:r[19]||=e=>te.value=!1,onSendToChat:$e},null,8,[`workspace-id`,`initial-review-mode`,`compare-from`,`compare-to`])):E(``,!0)]),_:1},8,[`modelValue`]),e.workspace?(C(),g(Pr,{key:2,modelValue:ie.value,"onUpdate:modelValue":r[21]||=e=>ie.value=e,commits:me.value,"source-branch":e.workspace.sourceBranch,onCompare:ue},null,8,[`modelValue`,`commits`,`source-branch`])):E(``,!0),e.workspace&&K.value?(C(),g(er,{key:3,modelValue:ht.value,"onUpdate:modelValue":r[22]||=e=>ht.value=e,"workspace-id":e.workspace.id,"initial-tab":gt.value,"ahead-count":K.value.commitCount,"behind-count":K.value.behindCount,"source-branch":e.workspace.sourceBranch,"working-branch":e.workspace.workingBranch,onAppendSha:we},null,8,[`modelValue`,`workspace-id`,`initial-tab`,`ahead-count`,`behind-count`,`source-branch`,`working-branch`])):E(``,!0)]))}}),[[`__scopeId`,`data-v-fe9ad47d`]]),Xi=`kobo:pwa-install-banner-dismissed`;function Zi(){return localStorage.getItem(Xi)===`1`}function Qi(){localStorage.setItem(Xi,`1`)}var $i={class:`text-caption col`},ea=ht(l({__name:`PwaStatusBanner`,setup(e){let t=r(null),n=r(Zi()),i=r(!navigator.onLine),a=r(!1),s=ze(),c=f(()=>!i.value&&s.reconnecting),l=r(null),u;function d(){document.documentElement.style.setProperty(`--kobo-pwa-banner-height`,`${l.value?.offsetHeight??0}px`)}N([i,c,t,n,a],()=>{T(d)});let p,m=!1;function h(e){e.preventDefault(),t.value=e}function v(){i.value=!navigator.onLine}async function y(){let e=t.value;e&&(await e.prompt(),await e.userChoice,t.value=null)}function x(){Qi(),n.value=!0,t.value=null}function S(){p?.waiting&&(m=!0,p.waiting.postMessage({type:`SKIP_WAITING`}))}return b(async()=>{window.addEventListener(`beforeinstallprompt`,h),window.addEventListener(`online`,v),window.addEventListener(`offline`,v),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()}),a.value=!!p.waiting,p.addEventListener(`updatefound`,()=>{let e=p?.installing;e&&e.addEventListener(`statechange`,()=>{e.state===`installed`&&navigator.serviceWorker.controller&&(a.value=!0)})})))}),_(()=>{window.removeEventListener(`beforeinstallprompt`,h),window.removeEventListener(`online`,v),window.removeEventListener(`offline`,v),u?.disconnect(),document.documentElement.style.removeProperty(`--kobo-pwa-banner-height`)}),(e,r)=>i.value||c.value||t.value&&!n.value||a.value?(C(),O(`div`,{key:0,ref_key:`bannerRef`,ref:l,class:`pwa-status-banner row items-center q-gutter-sm q-px-md q-py-sm`},[j(H,{name:i.value?`cloud_off`:c.value?`sync`:a.value?`system_update`:`install_mobile`,size:`18px`,color:`indigo-3`},null,8,[`name`]),D(`span`,$i,o(i.value?e.$t(`pwa.offline`):c.value?e.$t(`pwa.reconnecting`):a.value?e.$t(`pwa.updateReady`):e.$t(`pwa.installReady`)),1),t.value&&!n.value?(C(),g(U,{key:0,dense:``,flat:``,"no-caps":``,color:`indigo-3`,label:e.$t(`pwa.install`),onClick:y},null,8,[`label`])):E(``,!0),t.value&&!n.value?(C(),g(U,{key:1,dense:``,flat:``,"no-caps":``,color:`indigo-3`,label:e.$t(`pwa.ignore`),onClick:x},null,8,[`label`])):E(``,!0),a.value?(C(),g(U,{key:2,dense:``,flat:``,"no-caps":``,color:`indigo-3`,label:e.$t(`pwa.reload`),onClick:S},null,8,[`label`])):E(``,!0)],512)):E(``,!0)}}),[[`__scopeId`,`data-v-d2d83299`]]);function ta(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} * *`}}function na(e){return Math.max(1,Math.floor(e))>1}var ra={class:`column q-pa-md q-gutter-lg`},ia={class:`row items-center no-wrap q-gutter-sm`},aa={class:`schedule-header__icon`},oa={class:`text-subtitle1 text-weight-medium`},sa={class:`text-caption text-grey-6`},ca={class:`row items-center justify-between q-mb-sm`},la={class:`text-subtitle2`},ua={class:`text-body2 text-weight-medium`},da={class:`text-caption text-grey-6`},fa={key:1,class:`column q-gutter-sm`},pa={class:`row items-start no-wrap q-gutter-sm`},ma={class:`schedule-item__icon schedule-item__icon--wakeup`},ha={class:`col min-width-zero`},ga={class:`text-caption text-grey-6`},_a={class:`text-body2 text-weight-medium`},va={key:0,class:`prompt-preview schedule-item__prompt`},ya={class:`row items-start no-wrap q-gutter-sm`},ba={class:`schedule-item__icon schedule-item__icon--cron`},xa={class:`col min-width-zero`},Sa={class:`text-body2 text-weight-medium ellipsis`},Ca={class:`text-caption text-grey-6`},wa={class:`row items-center q-gutter-xs q-mt-sm`},Ta={key:0,class:`text-caption text-grey-7`},Ea={class:`prompt-preview schedule-item__prompt`},Da={class:`row items-center justify-between q-mb-sm`},Oa={class:`text-subtitle2`},ka={class:`text-caption text-grey-7`},Aa={class:`text-body2 text-weight-medium`},ja={class:`text-caption text-grey-6`},Ma={class:`column q-gutter-y-xs`},Na={class:`field-label`},Pa={class:`text-body2 text-weight-medium`},Fa={class:`text-caption text-grey-6`},Ia={class:`column q-gutter-y-xs`},La={class:`field-label`},Ra={class:`row items-center no-wrap q-gutter-sm`},za={class:`text-body2 text-grey-5`},Ba={key:0,class:`text-caption text-warning`},Va={class:`column q-gutter-y-xs`},Ha={class:`field-label`},Ua={class:`one-shot-option row items-center justify-between no-wrap q-pa-sm`},Wa={class:`text-body2`},Ga={class:`text-caption text-grey-7`},Ka=ht(l({__name:`SchedulePanel`,props:{workspaceId:{}},setup(e){let i=e,{t:a}=t(),s=et(),c=Pe(),l=f(()=>c.pendingWakeups[i.workspaceId]??null),d=f(()=>c.crons[i.workspaceId]??[]),p=f(()=>d.value.length+ +!!l.value);N(()=>i.workspaceId,e=>{e&&c.fetchCrons(e)},{immediate:!0});function m(e){return new Date(e).toLocaleString(void 0,{weekday:`short`,day:`numeric`,month:`short`,hour:`2-digit`,minute:`2-digit`})}function h(e){let t=Date.now()-new Date(e).getTime();if(Number.isNaN(t)||t<0)return`—`;let n=new Intl.RelativeTimeFormat(void 0,{numeric:`auto`}),r=Math.floor(t/1e3);if(r<60)return n.format(-r,`second`);let i=Math.floor(r/60);if(i<60)return n.format(-i,`minute`);let a=Math.floor(i/60);return a<24?n.format(-a,`hour`):n.format(-Math.floor(a/24),`day`)}async function _(){try{let e=await fetch(`/api/workspaces/${i.workspaceId}/pending-wakeup`,{method:`DELETE`});if(!e.ok)throw Error(`HTTP ${e.status}`)}catch(e){s.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}async function v(e){try{await c.cancelCron(i.workspaceId,e)}catch(e){s.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}let y=r(`wakeup`),b=r(15),x=r(`minutes`),S=r(``),w=r(``),T=r(``),P=r(`fresh`),ee=r(!1),F=r(!1),te=f(()=>[{label:a(`schedule.typeWakeup`),value:`wakeup`,icon:`alarm`},{label:a(`schedule.typeRecurring`),value:`cron`,icon:`event_repeat`}]),I=f(()=>[{label:a(`schedule.modeFresh`),value:`fresh`,icon:`add_comment`},{label:a(`schedule.modeResume`),value:`resume`,icon:`history`}]),L=f(()=>[{label:a(`schedule.unitMinutes`),value:`minutes`},{label:a(`schedule.unitHours`),value:`hours`},{label:a(`schedule.unitDays`),value:`days`}]);async function ne(){if(!(!w.value.trim()||F.value)){F.value=!0;try{let e=S.value.trim()||ta(x.value,b.value);await c.createCron(i.workspaceId,{expression:e,prompt:w.value,label:T.value.trim()||void 0,mode:P.value,oneShot:ee.value}),w.value=``,T.value=``,S.value=``,s.notify({type:`positive`,message:a(`schedule.cronCreated`),position:`top`,timeout:2500})}catch(e){s.notify({type:`negative`,message:String(e instanceof Error?e.message:e),position:`top`,timeout:5e3})}finally{F.value=!1}}}let R=r(15),z=r(``),re=r(`fresh`),B=r(!1);async function ie(){if(!(!z.value.trim()||!(R.value>0)||B.value)){B.value=!0;try{await c.scheduleManualWakeup(i.workspaceId,{delaySeconds:Math.round(R.value*60),prompt:z.value,mode:re.value}),z.value=``,s.notify({type:`positive`,message:a(`schedule.wakeupCreated`),position:`top`,timeout:2500})}catch(e){s.notify({type:`negative`,message:String(e instanceof Error?e.message:e),position:`top`,timeout:5e3})}finally{B.value=!1}}}return(e,t)=>(C(),O(`div`,ra,[D(`header`,ia,[D(`div`,aa,[j(H,{name:`calendar_month`,size:`22px`})]),D(`div`,null,[D(`div`,oa,o(e.$t(`schedule.panelTitle`)),1),D(`div`,sa,o(e.$t(`schedule.panelDescription`)),1)])]),D(`section`,null,[D(`div`,ca,[D(`div`,la,o(e.$t(`schedule.activeTitle`)),1),p.value>0?(C(),g(gt,{key:0,rounded:``,color:`indigo-5`,label:p.value},null,8,[`label`])):E(``,!0)]),p.value===0?(C(),g(Se,{key:0,dark:``,flat:``,bordered:``,class:`empty-state row items-center q-gutter-sm q-pa-md`},{default:M(()=>[j(H,{name:`event_available`,size:`24px`,color:`grey-6`}),D(`div`,null,[D(`div`,ua,o(e.$t(`schedule.emptyTitle`)),1),D(`div`,da,o(e.$t(`schedule.emptyDescription`)),1)])]),_:1})):(C(),O(`div`,fa,[l.value?(C(),g(Se,{key:0,dark:``,flat:``,bordered:``,class:`schedule-item schedule-item--wakeup`},{default:M(()=>[j(Re,null,{default:M(()=>[D(`div`,pa,[D(`div`,ma,[j(H,{name:`alarm`,size:`18px`})]),D(`div`,ha,[D(`div`,ga,o(e.$t(`schedule.wakeupTitle`)),1),D(`div`,_a,o(m(l.value.targetAt)),1)]),j(U,{flat:``,dense:``,round:``,icon:`delete_outline`,size:`sm`,color:`grey-5`,title:e.$t(`schedule.cancelWakeup`),onClick:_},null,8,[`title`])]),l.value.reason?(C(),O(`div`,va,o(l.value.reason),1)):E(``,!0)]),_:1})]),_:1})):E(``,!0),(C(!0),O(u,null,k(d.value,t=>(C(),g(Se,{key:t.id,dark:``,flat:``,bordered:``,class:`schedule-item`},{default:M(()=>[j(Re,null,{default:M(()=>[D(`div`,ya,[D(`div`,ba,[j(H,{name:`event_repeat`,size:`18px`})]),D(`div`,xa,[D(`div`,Sa,o(t.label||t.expression),1),D(`div`,Ca,o(e.$t(`schedule.nextFireAt`,{time:m(t.nextFireAt)})),1)]),j(U,{flat:``,dense:``,round:``,icon:`delete_outline`,size:`sm`,color:`grey-5`,title:e.$t(`schedule.cancelCron`),onClick:e=>v(t.id)},null,8,[`title`,`onClick`])]),D(`div`,wa,[j(vt,{dense:``,square:``,color:`blue-grey-9`,"text-color":`grey-4`,size:`sm`},{default:M(()=>[A(o(t.expression),1)]),_:2},1024),t.lastFiredAt?(C(),O(`span`,Ta,o(e.$t(`schedule.lastFiredAt`,{time:h(t.lastFiredAt)})),1)):E(``,!0)]),D(`div`,Ea,o(t.prompt),1)]),_:2},1024)]),_:2},1024))),128))]))]),D(`section`,null,[D(`div`,Da,[D(`div`,null,[D(`div`,Oa,o(e.$t(`schedule.createTitle`)),1),D(`div`,ka,o(e.$t(`schedule.createDescription`)),1)])]),j(Se,{dark:``,flat:``,bordered:``,class:`create-card`},{default:M(()=>[j(bt,{modelValue:y.value,"onUpdate:modelValue":t[0]||=e=>y.value=e,spread:``,"no-caps":``,unelevated:``,"toggle-color":`indigo-5`,color:`blue-grey-10`,"text-color":`grey-5`,options:te.value,class:`type-toggle`},null,8,[`modelValue`,`options`]),y.value===`wakeup`?(C(),g(Re,{key:0,class:`column q-gutter-y-md`},{default:M(()=>[D(`div`,null,[D(`div`,Aa,o(e.$t(`schedule.addWakeupTitle`)),1),D(`div`,ja,o(e.$t(`schedule.wakeupDescription`)),1)]),j(ve,{modelValue:R.value,"onUpdate:modelValue":t[1]||=e=>R.value=e,modelModifiers:{number:!0},type:`number`,dense:``,dark:``,outlined:``,min:`1`,label:e.$t(`schedule.delayMinutes`)},{prepend:M(()=>[j(H,{name:`timer`,size:`18px`})]),_:1},8,[`modelValue`,`label`]),j(ve,{modelValue:z.value,"onUpdate:modelValue":t[2]||=e=>z.value=e,type:`textarea`,autogrow:``,dense:``,dark:``,outlined:``,label:e.$t(`schedule.promptLabel`),hint:e.$t(`schedule.promptHint`)},null,8,[`modelValue`,`label`,`hint`]),D(`div`,Ma,[D(`div`,Na,o(e.$t(`schedule.sessionModeTitle`)),1),j(bt,{modelValue:re.value,"onUpdate:modelValue":t[3]||=e=>re.value=e,spread:``,"no-caps":``,unelevated:``,"toggle-color":`blue-grey-7`,color:`transparent`,"text-color":`grey-5`,options:I.value,class:`session-toggle`},null,8,[`modelValue`,`options`])]),j(U,{"no-caps":``,unelevated:``,color:`indigo-5`,icon:`alarm_add`,loading:B.value,disable:!z.value.trim()||!(R.value>0),label:e.$t(`schedule.addWakeupBtn`),class:`full-width action-button`,onClick:ie},null,8,[`loading`,`disable`,`label`])]),_:1})):(C(),g(Re,{key:1,class:`column q-gutter-y-md`},{default:M(()=>[D(`div`,null,[D(`div`,Pa,o(e.$t(`schedule.addCronTitle`)),1),D(`div`,Fa,o(e.$t(`schedule.cronDescription`)),1)]),j(ve,{modelValue:T.value,"onUpdate:modelValue":t[4]||=e=>T.value=e,dense:``,dark:``,outlined:``,label:e.$t(`schedule.labelOptional`)},null,8,[`modelValue`,`label`]),D(`div`,Ia,[D(`div`,La,o(e.$t(`schedule.frequencyTitle`)),1),D(`div`,Ra,[D(`span`,za,o(e.$t(`schedule.every`)),1),j(ve,{modelValue:b.value,"onUpdate:modelValue":t[5]||=e=>b.value=e,modelModifiers:{number:!0},type:`number`,dense:``,dark:``,outlined:``,min:`1`,class:`frequency-value`},null,8,[`modelValue`]),j(nt,{modelValue:x.value,"onUpdate:modelValue":t[6]||=e=>x.value=e,options:L.value,dense:``,dark:``,outlined:``,"options-dense":``,"emit-value":``,"map-options":``,class:`col min-width-zero`},null,8,[`modelValue`,`options`])]),x.value===`days`&&n(na)(b.value)?(C(),O(`div`,Ba,o(e.$t(`schedule.daysDriftWarning`)),1)):E(``,!0)]),j(ve,{modelValue:w.value,"onUpdate:modelValue":t[7]||=e=>w.value=e,type:`textarea`,autogrow:``,dense:``,dark:``,outlined:``,label:e.$t(`schedule.promptLabel`),hint:e.$t(`schedule.promptHint`)},null,8,[`modelValue`,`label`,`hint`]),j(rt,{dense:``,"dense-toggle":``,"switch-toggle-side":``,icon:`code`,label:e.$t(`schedule.advancedExpression`),caption:e.$t(`schedule.advancedDescription`),class:`advanced-section`},{default:M(()=>[j(ve,{modelValue:S.value,"onUpdate:modelValue":t[8]||=e=>S.value=e,dense:``,dark:``,outlined:``,label:e.$t(`schedule.cronExpressionLabel`),hint:e.$t(`schedule.advancedHint`),class:`q-mt-sm`},null,8,[`modelValue`,`label`,`hint`])]),_:1},8,[`label`,`caption`]),D(`div`,Va,[D(`div`,Ha,o(e.$t(`schedule.sessionModeTitle`)),1),j(bt,{modelValue:P.value,"onUpdate:modelValue":t[9]||=e=>P.value=e,spread:``,"no-caps":``,unelevated:``,"toggle-color":`blue-grey-7`,color:`transparent`,"text-color":`grey-5`,options:I.value,class:`session-toggle`},null,8,[`modelValue`,`options`])]),D(`div`,Ua,[D(`div`,null,[D(`div`,Wa,o(e.$t(`schedule.oneShot`)),1),D(`div`,Ga,o(e.$t(`schedule.oneShotHint`)),1)]),j(Ve,{modelValue:ee.value,"onUpdate:modelValue":t[10]||=e=>ee.value=e,dense:``},null,8,[`modelValue`])]),j(U,{"no-caps":``,unelevated:``,color:`indigo-5`,icon:`add_task`,loading:F.value,disable:!w.value.trim(),label:e.$t(`schedule.addCronBtn`),class:`full-width action-button`,onClick:ne},null,8,[`loading`,`disable`,`label`])]),_:1}))]),_:1})])]))}}),[[`__scopeId`,`data-v-29886145`]]),qa={class:`q-pa-sm`},Ja={class:`row items-center q-mb-sm`},Ya={class:`text-subtitle2`},Xa={key:0,class:`row items-center q-gutter-sm q-mt-xs text-caption text-grey-6`},Za={key:0,class:`text-negative`},Qa=l({__name:`SessionTimelinePanel`,props:{workspaceId:{}},setup(e){let t=e,n=Pe(),i=f(()=>n.sessions),a=r([]),s=f(()=>new Map(a.value.map(e=>[e.sessionId,e]))),c=null,l=0;function d(){c&&clearTimeout(c),c=setTimeout(()=>void p(),350)}async function p(){c=null;let e=++l;try{let n=await fetch(`/api/workspaces/${t.workspaceId}/session-metrics`);if(!n.ok||e!==l)return;let r=await n.json();e===l&&(a.value=r.metrics??[])}catch{e===l&&(a.value=[])}}N(()=>[t.workspaceId,n.sessions.length,n.activityFeeds[t.workspaceId]?.length??0],d,{immediate:!0}),_(()=>{c&&clearTimeout(c)});function m(e){n.selectSession(e)}function h(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 y(){let e=await fetch(`/api/workspaces/${t.workspaceId}/diagnostic.json`);if(!e.ok)return;let n=URL.createObjectURL(await e.blob()),r=document.createElement(`a`);r.href=n,r.download=`kobo-diagnostic.json`,r.click(),URL.revokeObjectURL(n)}return(e,t)=>(C(),O(`div`,qa,[D(`div`,Ja,[D(`span`,Ya,o(e.$t(`timeline.title`)),1),j(_t),j(U,{flat:``,dense:``,round:``,icon:`download`,"aria-label":e.$t(`timeline.export`),onClick:y},null,8,[`aria-label`])]),j(xt,{dark:``,dense:``},{default:M(()=>[(C(!0),O(u,null,k(i.value,t=>(C(),g(G,{key:t.id,clickable:``,onClick:e=>m(t.id)},{default:M(()=>[j(W,null,{default:M(()=>[j(K,null,{default:M(()=>[A(o(t.name||t.model||e.$t(`timeline.unnamed`)),1)]),_:2},1024),j(K,{caption:``},{default:M(()=>[A(o(t.status)+` · `+o(h(t)),1)]),_:2},1024),s.value.get(t.id)?(C(),O(`div`,Xa,[D(`span`,null,[j(H,{name:`build`,size:`13px`,class:`q-mr-xs`}),A(o(e.$t(`timeline.tools`,{count:s.value.get(t.id)?.toolCalls??0})),1)]),D(`span`,null,[j(H,{name:`token`,size:`13px`,class:`q-mr-xs`}),A(o(v(s.value.get(t.id))),1)]),(s.value.get(t.id)?.errors??0)>0?(C(),O(`span`,Za,[j(H,{name:`error_outline`,size:`13px`,class:`q-mr-xs`}),A(o(e.$t(`timeline.errors`,{count:s.value.get(t.id)?.errors??0})),1)])):E(``,!0)])):E(``,!0)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1})]))}}),$a={class:`subagents-panel q-pa-md`},eo={class:`text-caption text-uppercase text-weight-bold text-grey-6 q-mb-sm`,style:{"letter-spacing":`0.05em`}},to={key:0,class:`text-caption text-grey-8`},no={class:`row items-center q-mb-xs`},ro={class:`text-caption text-weight-medium text-grey-3 ellipsis`,style:{"max-width":`220px`}},io={key:0,class:`text-caption text-grey-6`,style:{"font-size":`10px`}},ao={class:`text-grey-4`},oo={class:`row items-center q-gutter-xs q-mt-xs text-caption text-grey-7`,style:{"font-size":`10px`}},so={key:0},co={key:1},lo={key:2},uo=ht(l({__name:`SubagentsPanel`,setup(e){let{t:n}=t(),r=Pe(),i=f(()=>[...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 s(e){return e?e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e):``}return(e,t)=>(C(),O(`div`,$a,[D(`div`,eo,o(e.$t(`subagents.title`)),1),i.value.length===0?(C(),O(`div`,to,o(e.$t(`subagents.empty`)),1)):E(``,!0),(C(!0),O(u,null,k(i.value,t=>(C(),O(`div`,{key:t.toolUseId,class:`subagent-item q-mb-sm rounded-borders q-pa-sm`},[D(`div`,no,[j(H,{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`]),D(`span`,ro,o(t.description||t.toolUseId),1)]),t.lastToolName?(C(),O(`div`,io,[A(o(e.$t(`subagents.running`)),1),D(`span`,ao,o(t.lastToolName),1)])):E(``,!0),D(`div`,oo,[t.toolUses===void 0?E(``,!0):(C(),O(`span`,so,o(e.$t(`subagents.tools`,{count:t.toolUses})),1)),t.totalTokens?(C(),O(`span`,co,`· `+o(s(t.totalTokens))+` tok`,1)):E(``,!0),t.durationMs?(C(),O(`span`,lo,`· `+o(a(t.durationMs)),1)):E(``,!0)])]))),128))]))}}),[[`__scopeId`,`data-v-dd805632`]]),fo={class:`notion-panel q-pa-md`},po={class:`row items-center q-mb-sm`},mo={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},ho={key:0,class:`q-mb-sm`},go={class:`text-caption text-grey-7`,style:{"font-size":`11px`}},_o={key:1,class:`text-caption text-grey-8 q-mb-sm`,style:{"font-size":`11px`}},vo={key:2,class:`task-add-row row items-center q-mb-xs`},yo={key:3,class:`tasks-list`},bo=[`onDblclick`],xo={key:1,class:`text-caption text-grey-8`},So=ht(l({__name:`TasksPanel`,props:{workspace:{},tasks:{}},setup(e){let n=e,{t:a}=t(),s=Pe(),l=ze();function d(){n.workspace?.id&&kt(n.workspace.id,l,s)}let p=f(()=>n.tasks.filter(e=>!e.isAcceptanceCriterion)),h=f(()=>p.value.filter(e=>e.status===`done`).length),_=f(()=>p.value.length),v=f(()=>_.value>0?h.value/_.value:0),y=r(!1),b=r(``),x=r(null),S=r(``),w=r({});function N(e,t){if(t){let n=t.$el??t;w.value[e]=n}else delete w.value[e]}function P(){y.value||(y.value=!0,b.value=``)}async function ee(){let e=b.value.trim();if(!(!e||!n.workspace?.id))try{await s.createTask(n.workspace.id,e,!1),b.value=``,y.value=!1}catch{}}function F(){b.value=``,y.value=!1}function te(e){x.value=e.id,S.value=e.title,T(()=>{let t=w.value[e.id]?.querySelector(`input, textarea`);t?.focus(),t?.select()})}async function L(e){if(x.value!==e.id)return;let t=S.value.trim(),r=e.id;if(x.value=null,!(!t||t===e.title)&&n.workspace?.id)try{await s.updateTaskTitle(n.workspace.id,r,t)}catch{}}function ne(){x.value=null,S.value=``}async function R(e){if(n.workspace?.id)try{await s.deleteTask(n.workspace.id,e.id)}catch{}}async function z(e){if(!n.workspace?.id)return;let t=e.status===`done`?`pending`:`done`,r=e.workspaceId;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}`);s.fetchWorkspaceDetails(r)}catch(e){console.error(`Failed to toggle task:`,e)}}function re(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function B(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(t,n)=>(C(),O(`div`,fo,[D(`div`,po,[D(`div`,mo,o(t.$t(`tasks.title`)),1),j(_t),e.workspace?(C(),g(U,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`fact_check`,color:`grey-5`,onClick:d},{default:M(()=>[j(q,null,{default:M(()=>[A(o(t.$t(`tasks.askProgress`)),1)]),_:1})]),_:1})):E(``,!0),e.workspace?(C(),g(U,{key:1,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,onClick:P},{default:M(()=>[j(q,null,{default:M(()=>[A(o(t.$t(`tooltip.addTask`)),1)]),_:1})]),_:1})):E(``,!0)]),e.workspace?(C(),O(u,{key:0},[_.value>0?(C(),O(`div`,ho,[j(Te,{value:v.value,color:`primary`,"track-color":`grey-9`,class:`q-mb-xs`,style:{height:`4px`,"border-radius":`2px`}},null,8,[`value`]),D(`div`,go,o(t.$t(`notion.subtasks`,{done:h.value,total:_.value})),1)])):y.value?E(``,!0):(C(),O(`div`,_o,o(t.$t(`notion.noTasks`)),1)),y.value?(C(),O(`div`,vo,[j(ve,{modelValue:b.value,"onUpdate:modelValue":n[0]||=e=>b.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:t.$t(`notion.newTask`),class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[m(I(ee,[`prevent`]),[`enter`]),m(I(F,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):E(``,!0),p.value.length>0?(C(),O(`div`,yo,[(C(!0),O(u,null,k(p.value,e=>(C(),O(`div`,{key:e.id,class:`task-item row items-center q-py-xxs`},[j(H,{name:re(e.status),size:`14px`,style:i({color:B(e.status)}),class:`q-mr-xs cursor-pointer`,onClick:t=>z(e)},null,8,[`name`,`style`,`onClick`]),x.value===e.id?(C(),g(ve,{key:0,ref_for:!0,ref:t=>N(e.id,t),modelValue:S.value,"onUpdate:modelValue":n[1]||=e=>S.value=e,dark:``,dense:``,borderless:``,class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[m(I(t=>L(e),[`prevent`]),[`enter`]),m(I(ne,[`prevent`]),[`esc`])],onBlur:t=>L(e)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(C(),O(u,{key:1},[D(`span`,{class:c([`col task-title text-caption`,{"text-strike":e.status===`done`}]),style:i({color:e.status===`done`?`#4ade80`:`#ccc`}),onDblclick:t=>te(e)},o(e.title),47,bo),j(U,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`task-delete-btn`,onClick:t=>R(e)},{default:M(()=>[j(q,null,{default:M(()=>[A(o(t.$t(`tooltip.removeTask`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):E(``,!0)],64)):(C(),O(`div`,xo,o(t.$t(`common.selectWorkspace`)),1))]))}}),[[`__scopeId`,`data-v-1c700ac7`]]),Co=2,wo=1,To=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(Co,Math.floor(u/e.css.cell.width)),rows:Math.max(wo,Math.floor(l/e.css.cell.height))}}},Eo=Object.defineProperty,Do=Object.getOwnPropertyDescriptor,Oo=(e,t)=>{for(var n in t)Eo(e,n,{get:t[n],enumerable:!0})},ko=(e,t,n,r)=>{for(var i=r>1?void 0:r?Do(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&&Eo(t,n,i),i},J=(e,t)=>(n,r)=>t(n,r,e),Ao=`Terminal input`,jo={get:()=>Ao,set:e=>Ao=e},Mo=`Too much output to announce, navigate to rows manually to read`,No={get:()=>Mo,set:e=>Mo=e};function Po(e){return e.replace(/\r?\n/g,`\r`)}function Fo(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function Io(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function Lo(e,t,n,r){e.stopPropagation(),e.clipboardData&&Ro(e.clipboardData.getData(`text/plain`),t,n,r)}function Ro(e,t,n,r){e=Po(e),e=Fo(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function zo(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 Bo(e,t,n,r,i){zo(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function Vo(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function Ho(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 Uo=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}},Wo=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}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}},Go=``,Ko=` `,qo=class e{constructor(){this.fg=0,this.bg=0,this.extended=new Jo}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)}isBgDefault(){return!(this.bg&50331648)}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):this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},Jo=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}},Yo=class e extends qo{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new Jo,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?Vo(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()]}},Xo=`di$target`,Zo=`di$dependencies`,Qo=new Map;function $o(e){return e[Zo]||[]}function es(e){if(Qo.has(e))return Qo.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);ts(t,e,r)};return t._id=e,Qo.set(e,t),t}function ts(e,t,n){t[Xo]===t?t[Zo].push({id:e,index:n}):(t[Zo]=[{id:e,index:n}],t[Xo]=t)}var ns=es(`BufferService`),rs=es(`CoreMouseService`),is=es(`CoreService`),as=es(`CharsetService`),os=es(`InstantiationService`),ss=es(`LogService`),cs=es(`OptionsService`),ls=es(`OscLinkService`),us=es(`UnicodeService`),ds=es(`DecorationService`),fs=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 Yo,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}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):ps(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)}};fs=ko([J(0,ns),J(1,cs),J(2,ls)],fs);function ps(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-CMnFGReI.js","assets/vue-i18n-C3W5i7h6.js","assets/reactivity.esm-bundler-DtSZKRQB.js","assets/runtime-dom.esm-bundler-DgevF6KV.js","assets/QIcon--SvgE-nS.js","assets/QSeparator-BdyRE-AM.js","assets/use-checkbox-SrkgiJho.js","assets/index-B_OmZ65F.js","assets/index-CK1nk7qr.css","assets/QSpinnerDots-B4RmFJUj.js","assets/use-quasar-C1RCDSb6.js","assets/QSelect-8Ip46vhk.js","assets/QTooltip-Bz4g3bmr.js","assets/QChip-DWGDTZnX.js","assets/pending-diff-open-D1IYH8Pd.js","assets/documents-CyKQ9lT6.js","assets/TouchPan-BKu8V4eN.js","assets/ClosePopup-DuAqn8Pb.js","assets/render-chat-markdown-DZnIueUV.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/QBadge-sMJZ_eZm.js","assets/QSpace-D9UEvM99.js","assets/QBtnToggle-DsCDNQzX.js","assets/QList-Be_FbTA3.js","assets/DiffViewer-CS3P9Ngi.css"])))=>i.map(i=>d[i]);
2
+ import{i as e,n as t}from"./vue-i18n-C3W5i7h6.js";import{B as n,C as r,St as i,m as a,wt as o,x as s,yt as c}from"./reactivity.esm-bundler-DtSZKRQB.js";import{$ as l,A as u,At as d,B as f,Bt as p,C as m,Et as h,H as g,It as _,Jt as v,Kt as y,Mt as b,Ot as x,Q as S,Rt as C,S as w,Tt as T,U as E,V as D,W as O,Wt as k,X as A,Z as j,_n as M,fn as N,kt as P,st as ee,ut as F,vt as te,w as I,yn as L}from"./runtime-dom.esm-bundler-DgevF6KV.js";import{I as ne,M as R,N as z,S as re,_ as B,a as ie,b as ae,g as V,i as oe,j as se,l as ce,m as le,n as ue,r as de,s as fe,t as H,y as pe}from"./QIcon--SvgE-nS.js";import{n as me,p as he,r as ge,t as _e}from"./QSeparator-BdyRE-AM.js";import{o as ve}from"./use-checkbox-SrkgiJho.js";import{At as ye,B as be,Ct as xe,Dt as Se,Et as Ce,G as U,K as we,Ot as Te,Q as Ee,St as De,V as Oe,W as ke,X as Ae,_ as je,a as Me,bt as Ne,d as Pe,f as Fe,h as Ie,it as Le,kt as Re,l as ze,m as Be,n as Ve,o as He,p as Ue,q as We,r as Ge,s as Ke,st as qe,t as Je,u as Ye,v as Xe,wt as Ze,xt as Qe,yt as $e}from"./index-B_OmZ65F.js";import{n as W,r as G,t as et}from"./use-quasar-C1RCDSb6.js";import{d as K,l as tt,t as nt,u as rt}from"./QSelect-8Ip46vhk.js";import{d as it,f as at,h as ot,t as q}from"./QTooltip-Bz4g3bmr.js";import{n as st,r as ct,t as lt}from"./documents-CyKQ9lT6.js";import{t as ut}from"./ClosePopup-DuAqn8Pb.js";import{t as dt}from"./TouchPan-BKu8V4eN.js";import{i as ft,r as pt,t as mt}from"./render-chat-markdown-DZnIueUV.js";import{t as ht}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as gt}from"./QBadge-sMJZ_eZm.js";import{t as _t}from"./QSpace-D9UEvM99.js";import{t as vt}from"./QChip-DWGDTZnX.js";import{n as yt,t as bt}from"./QBtnToggle-DsCDNQzX.js";import{t as xt}from"./QList-Be_FbTA3.js";import{a as St,c as Ct,i as wt,l as Tt,o as Et,s as Dt,t as Ot}from"./layout-tAFrvQ5V.js";import{n as kt,r as At}from"./kobo-commands-rb43ZeWG.js";import{t as jt}from"./formatters-D0dU6VcA.js";import{a as Mt,i as Nt,n as Pt,r as Ft}from"./project-color-DO6uj29M.js";import{t as It}from"./use-onboarding-BTFkRBjE.js";var Lt=[`none`,`strict`,`leaf`,`leaf-filtered`];function Rt(e){if(e.icon!==void 0)return F(H,{class:`q-tree__icon q-mr-sm`,name:e.icon,color:e.iconColor});let t=e.img||e.avatar;if(t)return F(`img`,{class:`q-tree__${e.img?`img`:`avatar`} q-mr-sm`,src:t})}var zt=z({name:`QTree`,props:{...de,nodes:{type:Array,required:!0},nodeKey:{type:String,required:!0},labelKey:{type:String,default:`label`},childrenKey:{type:String,default:`children`},dense:Boolean,color:String,controlColor:String,textColor:String,selectedColor:String,icon:String,tickStrategy:{type:String,default:`none`,validator:e=>Lt.includes(e)},ticked:Array,expanded:Array,selected:{},noSelectionUnset:Boolean,defaultExpandAll:Boolean,accordion:Boolean,filter:String,filterMethod:Function,duration:{},noConnectors:Boolean,noTransition:Boolean,noNodesLabel:String,noResultsLabel:String},emits:[`update:expanded`,`update:ticked`,`update:selected`,`lazyLoad`,`afterShow`,`afterHide`],setup(e,{slots:t,emit:n}){let{proxy:i}=ee(),{$q:a}=i,o=ue(e,a),s=r({}),c=r(e.ticked||[]),l=r(e.expanded||[]),u=r(null),d={},p={};P(()=>{d={},p={}});let m=f(()=>`q-tree q-tree--${e.dense?`dense`:`standard`}`+(e.noConnectors?` q-tree--no-connectors`:``)+(o.value?` q-tree--dark`:``)+(e.color===void 0?``:` text-${e.color}`)),h=f(()=>e.selected!==void 0),g=f(()=>e.icon||a.iconSet.tree.icon),_=f(()=>e.controlColor||e.color),v=f(()=>e.textColor===void 0?``:` text-${e.textColor}`),y=f(()=>{let t=e.selectedColor||e.color;return t?` text-${t}`:``}),b=f(()=>e.filterMethod===void 0?(t,n)=>{let r=n.toLowerCase();return t[e.labelKey]&&t[e.labelKey].toLowerCase().includes(r)}:e.filterMethod),x=f(()=>{let t={},n=(r,i)=>{let a=r.tickStrategy||(i?i.tickStrategy:e.tickStrategy),o=r[e.nodeKey],u=r[e.childrenKey]&&Array.isArray(r[e.childrenKey])&&r[e.childrenKey].length!==0,d=!r.disabled&&h.value&&r.selectable!==!1,f=!r.disabled&&r.expandable!==!1,p=a!==`none`,m=a===`strict`,g=a===`leaf-filtered`,_=a===`leaf`||a===`leaf-filtered`,v=!r.disabled&&r.tickable!==!1;_&&v===!0&&i&&i.tickable!==!0&&(v=!1);let y=r.lazy;y===!0&&s.value[o]!==void 0&&Array.isArray(r[e.childrenKey])&&(y=s.value[o]);let x={key:o,parent:i,isParent:u,lazy:y,disabled:r.disabled,link:!r.disabled&&(d||f&&(u||y===!0)),children:[],matchesFilter:!e.filter||b.value(r,e.filter),selected:o===e.selected&&d,selectable:d,expanded:u?l.value.includes(o):!1,expandable:f,noTick:r.noTick===!0||!m&&y&&y!==`loaded`,tickable:v,tickStrategy:a,hasTicking:p,strictTicking:m,leafFilteredTicking:g,leafTicking:_,ticked:(m||!u)&&c.value.includes(o)};if(t[o]=x,u&&(x.children=r[e.childrenKey].map(e=>n(e,x)),e.filter&&(x.matchesFilter===!0?x.noTick!==!0&&x.disabled!==!0&&x.tickable===!0&&g&&x.children.every(e=>e.matchesFilter!==!0||e.noTick===!0||e.tickable!==!0)&&(x.tickable=!1):x.matchesFilter=x.children.some(e=>e.matchesFilter)),x.matchesFilter===!0&&(x.noTick!==!0&&m!==!0&&x.children.every(e=>e.noTick)&&(x.noTick=!0),_))){if(x.ticked=!1,x.indeterminate=x.children.some(e=>e.indeterminate===!0),x.tickable=x.tickable===!0&&x.children.some(e=>e.tickable),x.indeterminate!==!0){let e=x.children.reduce((e,t)=>t.ticked===!0?e+1:e,0);e===x.children.length?x.ticked=!0:e>0&&(x.indeterminate=!0)}x.indeterminate===!0&&(x.indeterminateNextState=x.children.every(e=>e.tickable!==!0||e.ticked!==!0))}return x};return e.nodes.forEach(e=>n(e,null)),t}),S=f(()=>{let t=[];function n(r){r.forEach(r=>{let i=x.value[r[e.nodeKey]];e.filter&&i.matchesFilter!==!0||(i.link===!0&&t.push(i.key),i.expanded===!0&&Array.isArray(r[e.childrenKey])&&n(r[e.childrenKey]))})}return n(e.nodes),t}),C=f(()=>{let e=S.value;if(e.includes(u.value))return u.value;let t=e.find(e=>x.value[e].selected===!0);return t===void 0?e[0]:t});N(()=>e.ticked,e=>{c.value=e}),N(()=>e.expanded,e=>{l.value=e});function E(t){let n=(r,i)=>{if(r||!i)return r;if(Array.isArray(i))return i.reduce(n,r);if(i[e.nodeKey]===t)return i;if(i[e.childrenKey])return n(null,i[e.childrenKey])};return n(null,e.nodes)}function D(){return c.value.map(e=>E(e))}function O(){return l.value.map(e=>E(e))}function k(e){return e&&x.value[e]?x.value[e].expanded:!1}function A(){e.expanded===void 0?l.value=[]:n(`update:expanded`,[])}function j(){let t=[],r=n=>{n[e.childrenKey]&&n[e.childrenKey].length!==0&&n.expandable!==!1&&n.disabled!==!0&&(t.push(n[e.nodeKey]),n[e.childrenKey].forEach(r))};e.nodes.forEach(r),e.expanded===void 0?l.value=t:n(`update:expanded`,t)}function M(t,r,i=E(t),a=x.value[t]){if(a.lazy&&a.lazy!==`loaded`){if(a.lazy===`loading`)return;s.value[t]=`loading`,Array.isArray(i[e.childrenKey])||(i[e.childrenKey]=[]),n(`lazyLoad`,{node:i,key:t,done:n=>{s.value[t]=`loaded`,i[e.childrenKey]=Array.isArray(n)?n:[],T(()=>{x.value[t]?.isParent===!0&&te(t,!0)})},fail:()=>{delete s.value[t],i[e.childrenKey].length===0&&delete i[e.childrenKey]}})}else a.isParent===!0&&a.expandable===!0&&te(t,r)}function te(t,r){let i=l.value,a=e.expanded!==void 0;if(a&&(i=[...i]),r){if(e.accordion&&x.value[t]){let n=[];x.value[t].parent?x.value[t].parent.children.forEach(e=>{e.key!==t&&e.expandable===!0&&n.push(e.key)}):e.nodes.forEach(r=>{let i=r[e.nodeKey];i!==t&&n.push(i)}),n.length!==0&&(i=i.filter(e=>!n.includes(e)))}i=[...i,t].filter((e,t,n)=>n.indexOf(e)===t)}else i=i.filter(e=>e!==t);a?n(`update:expanded`,i):l.value=i}function I(e){return e&&x.value[e]?x.value[e].ticked:!1}function z(t,r){let i=c.value,a=e.ticked!==void 0;a&&(i=[...i]),i=r?[...i,...t].filter((e,t,n)=>n.indexOf(e)===t):i.filter(e=>!t.includes(e)),a?n(`update:ticked`,i):c.value=i}function B(t,n,r){let a={tree:i,node:t,key:r,color:e.color,dark:o.value};return ne(a,`expanded`,()=>n.expanded,e=>{e!==n.expanded&&M(r,e)}),ne(a,`ticked`,()=>n.ticked,e=>{e!==n.ticked&&z([r],e)}),a}function ie(t){return(e.filter?t.filter(t=>x.value[t[e.nodeKey]].matchesFilter):t).map(e=>oe(e))}function ae(){n(`afterShow`)}function V(){n(`afterHide`)}function oe(n){let r=n[e.nodeKey],i=x.value[r],a=n.header&&t[`header-${n.header}`]||t[`default-header`],s=i.isParent===!0?ie(n[e.childrenKey]):[],c=s.length!==0||i.lazy&&i.lazy!==`loaded`,l=n.body&&t[`body-${n.body}`]||t[`default-body`],f=a!==void 0||l!==void 0?B(n,i,r):null;return l!==void 0&&(l=F(`div`,{class:`q-tree__node-body relative-position`},[F(`div`,{class:v.value},[l(f)])])),F(`div`,{key:r,class:`q-tree__node relative-position q-tree__node--${c?`parent`:`child`}`},[F(`div`,{class:`q-tree__node-header relative-position row no-wrap items-center`+(i.link===!0?` q-tree__node--link q-hoverable q-focusable`:``)+(i.selected===!0?` q-tree__node--selected`:``)+(i.disabled===!0?` q-tree__node--disabled`:``),ref:e=>{p[i.key]=e},tabindex:i.link===!0&&i.key===C.value?0:-1,"aria-expanded":c?i.expanded?`true`:`false`:null,"aria-selected":i.selectable?i.selected?`true`:`false`:null,"aria-disabled":i.disabled===!0?`true`:null,role:`treeitem`,onFocus(){i.link===!0&&(u.value=i.key)},onClick:e=>{pe(n,i,e)},onKeydown(e){re(e)!==!0&&(e.keyCode===13?pe(n,i,e,!0):e.keyCode===32?me(n,i,e,!0):fe(i,e.keyCode)&&R(e))}},[F(`div`,{class:`q-focus-helper`,tabindex:-1,ref:e=>{d[i.key]=e}}),i.lazy===`loading`?F(ce,{class:`q-tree__spinner`,color:_.value}):c?F(H,{class:`q-tree__arrow`+(i.expanded===!0?` q-tree__arrow--rotate`:``),name:g.value,onClick(e){me(n,i,e)}}):null,i.hasTicking===!0&&i.noTick!==!0?F(Ge,{class:`q-tree__tickbox`,modelValue:i.indeterminate===!0?null:i.ticked,color:_.value,dark:o.value,dense:!0,keepColor:!0,disable:i.tickable!==!0,onKeydown:R,"onUpdate:modelValue":e=>{he(i,e)}}):null,F(`div`,{class:`q-tree__node-header-content col row no-wrap items-center`+(i.selected===!0?y.value:v.value)},[a?a(f):[Rt(n),F(`div`,n[e.labelKey])]])]),c?e.noTransition?i.expanded===!0?F(`div`,{class:`q-tree__node-collapsible`+v.value,key:`${r}__q`},[l,F(`div`,{class:`q-tree__children`+(i.disabled===!0?` q-tree__node--disabled`:``),role:`group`},s)]):null:F(ot,{duration:e.duration,onShow:ae,onHide:V},()=>L(F(`div`,{class:`q-tree__node-collapsible`+v.value,key:`${r}__q`},[l,F(`div`,{class:`q-tree__children`+(i.disabled===!0?` q-tree__node--disabled`:``),role:`group`},s)]),[[w,i.expanded]])):l])}function se(e){d[e]?.focus({preventScroll:!0})}function le(e){e!==void 0&&(u.value=e,p[e]?.focus())}function de(t){for(let n of t)if(!(e.filter&&n.matchesFilter!==!0)){if(n.link===!0)return n.key;if(n.expanded===!0){let e=de(n.children);if(e!==void 0)return e}}}function fe(e,t){let n=S.value,r=n.indexOf(e.key);if(t===36)return le(n[0]),!0;if(t===35)return le(n.at(-1)),!0;if(t===38)return le(n[r-1]),!0;if(t===40)return le(n[r+1]),!0;if(t===39)return e.isParent!==!0&&!e.lazy||(e.expanded===!0?le(de(e.children)):M(e.key,!0)),!0;if(t===37){if(e.expanded===!0)M(e.key,!1);else{let t=e.parent;for(;t!==null&&t.link!==!0;)t=t.parent;le(t?.key)}return!0}return!1}function pe(t,r,i,a){r.link===!0&&(u.value=r.key),a!==!0&&r.selectable!==!1&&se(r.key),h.value&&r.selectable?e.noSelectionUnset?r.key!==e.selected&&n(`update:selected`,r.key===void 0?null:r.key):n(`update:selected`,r.key===e.selected?null:r.key):me(t,r,i,a),typeof t.handler==`function`&&t.handler(t)}function me(e,t,n,r){t.link===!0&&(u.value=t.key),n!==void 0&&R(n),r!==!0&&t.selectable!==!1&&se(t.key),M(t.key,!t.expanded,e,t)}function he(e,t){if(e.indeterminate===!0&&(t=e.indeterminateNextState),e.strictTicking)z([e.key],t);else if(e.leafTicking){let n=[],r=e=>{e.isParent?(t!==!0&&e.noTick!==!0&&e.tickable===!0&&n.push(e.key),e.leafTicking===!0&&e.children.forEach(r)):e.noTick!==!0&&e.tickable===!0&&(e.leafFilteredTicking!==!0||e.matchesFilter===!0)&&n.push(e.key)};r(e),z(n,t)}}return e.defaultExpandAll&&j(),Object.assign(i,{getNodeByKey:E,getTickedNodes:D,getExpandedNodes:O,isExpanded:k,collapseAll:A,expandAll:j,setExpanded:M,isTicked:I,setTicked:z}),()=>{let t=ie(e.nodes);return F(`div`,{class:m.value,role:`tree`},t.length===0?e.filter?e.noResultsLabel||a.lang.tree.noResults:e.noNodesLabel||a.lang.tree.noNodes:t)}}});function Bt(e){let t=[];for(let n of e){let e=n.path.split(`/`).filter(e=>e.length>0);if(e.length===0)continue;let r=t,i=``;for(let t=0;t<e.length-1;t++){let n=e[t];i=i?`${i}/${n}`:n;let a=r.find(e=>e.isFolder&&e.label===n);a||(a={label:n,nodeKey:`dir:${i}`,isFolder:!0,children:[]},r.push(a)),r=a.children}r.push({label:e[e.length-1],nodeKey:`file:${n.path}`,file:n})}function n(e){e.sort((e,t)=>{let n=e.isFolder===!0;return n===(t.isFolder===!0)?e.label.localeCompare(t.label):n?-1:1});for(let t of e)t.children&&n(t.children)}return n(t),t}function Vt(e){let t=0;for(let n of e)n.file&&t++,n.children&&(t+=Vt(n.children));return t}var Ht=150;function Ut(e,t){e.value!==t&&(e.value=t)}var Wt=z({name:`QDrawer`,inheritAttrs:!1,props:{...De,...de,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:[...Qe,`onLayout`,`miniState`],setup(e,{slots:t,emit:n,attrs:i}){let a=ee(),{proxy:{$q:o}}=a,s=ue(e,o),{preventBodyScroll:c}=Le(),{registerTimeout:l,removeTimeout:u}=Ze(),d=te(V,le);if(d===le)return console.error(`QDrawer needs to be child of QLayout`),le;let p,m=null,h,g=r(e.behavior===`mobile`||e.behavior!==`desktop`&&d.totalWidth.value<=e.breakpoint),_=f(()=>e.mini&&!g.value),v=f(()=>_.value?e.miniWidth:e.width),y=f(()=>e.overlay||e.miniToOverlay||d.view.value.includes(I.value?`R`:`L`)||o.platform.is.ios&&d.isContainer.value),S=r(e.showIfAbove&&!g.value||e.modelValue===!0),C=f(()=>!e.overlay&&S.value&&!g.value),w=f(()=>e.overlay&&S.value&&!g.value),E=f(()=>!e.persistent&&(g.value||w.value));function D(e,t){if(j(),e!==!1&&d.animate(),xe(0),g.value){let e=d.instances[ie.value];e?.belowBreakpoint===!0&&e.hide(!1),Se(1),d.isContainer.value||c(!0)}else Se(0),e!==!1&&U(!1);l(()=>{e!==!1&&U(!0),t||n(`show`,e)},Ht)}function O(e,t){M(),e!==!1&&d.animate(),Se(0),xe(ne.value*v.value),De(),t?u():l(()=>{n(`hide`,e)},Ht)}let{show:k,hide:A}=Ne({showing:S,hideOnRouteChange:E,handleShow:D,handleHide:O}),{addToHistory:j,removeFromHistory:M}=Ce(S,A,E),P={belowBreakpoint:g,hide:A},I=f(()=>e.side===`right`),ne=f(()=>(o.lang.rtl?-1:1)*(I.value?1:-1)),R=r(0),z=r(!1),re=r(!1),B=r(v.value*ne.value),ie=f(()=>I.value?`left`:`right`),ae=f(()=>S.value&&!g.value&&!e.overlay?e.miniToOverlay?e.miniWidth:v.value:0),se=f(()=>`fullscreen q-drawer__backdrop`+(!S.value&&!z.value?` hidden`:``)),ce=f(()=>({backgroundColor:`rgba(0,0,0,${R.value*.4})`})),de=f(()=>I.value?d.rows.value.top[2]===`r`:d.rows.value.top[0]===`l`),H=f(()=>I.value?d.rows.value.bottom[2]===`r`:d.rows.value.bottom[0]===`l`),pe=f(()=>{let e={};return d.header.space&&!de.value&&(y.value?e.top=`${d.header.offset}px`:d.header.space&&(e.top=`${d.header.size}px`)),d.footer.space&&!H.value&&(y.value?e.bottom=`${d.footer.offset}px`:d.footer.space&&(e.bottom=`${d.footer.size}px`)),e}),me=f(()=>{let e={width:`${v.value}px`,transform:`translateX(${B.value}px)`};return g.value?e:Object.assign(e,pe.value)}),he=f(()=>`q-drawer__content fit `+(d.isContainer.value?`overflow-auto`:`scroll`)),ge=f(()=>`q-drawer q-drawer--${e.side}`+(re.value?` q-drawer--mini-animate`:``)+(e.bordered?` q-drawer--bordered`:``)+(s.value?` q-drawer--dark q-dark`:``)+(z.value?` no-transition`:S.value?``:` q-layout--prevent-focus`)+(g.value?` fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding`:` q-drawer--${_.value?`mini`:`standard`}`+(y.value||!C.value?` fixed`:``)+(e.overlay||e.miniToOverlay?` q-drawer--on-top`:``)+(de.value?` q-drawer--top-padding`:``))),_e=f(()=>{let t=o.lang.rtl?e.side:ie.value;return[[dt,Te,void 0,{[t]:!0,mouse:!0}]]}),ve=f(()=>{let t=o.lang.rtl?ie.value:e.side;return[[dt,Ee,void 0,{[t]:!0,mouse:!0}]]}),ye=f(()=>{let t=o.lang.rtl?ie.value:e.side;return[[dt,Ee,void 0,{[t]:!0,mouse:!0,mouseAllDir:!0}]]});function be(){Ut(g,e.behavior===`mobile`||e.behavior!==`desktop`&&d.totalWidth.value<=e.breakpoint)}N(g,t=>{t?(p=S.value,S.value&&A(!1)):!e.overlay&&e.behavior!==`mobile`&&p!==!1&&(S.value?(xe(0),Se(0),De()):k(!1))}),N(()=>e.side,(e,t)=>{d.instances[t]===P&&(d.instances[t]=void 0,d[t].space=!1,d[t].offset=0),d.instances[e]=P,d[e].size=v.value,d[e].space=C.value,d[e].offset=ae.value}),N(d.totalWidth,()=>{(d.isContainer.value||!document.qScrollPrevented)&&be()}),N(()=>e.behavior+e.breakpoint,be),N(d.isContainer,e=>{S.value&&c(!e),e&&be()}),N(d.scrollbarWidth,()=>{xe(S.value?0:void 0)}),N(ae,e=>{Oe(`offset`,e)}),N(C,e=>{n(`onLayout`,e),Oe(`space`,e)}),N(I,()=>{xe()}),N(v,t=>{xe(),ke(e.miniToOverlay,t)}),N(()=>e.miniToOverlay,e=>{ke(e,v.value)}),N(()=>o.lang.rtl,()=>{xe()}),N(()=>e.mini,()=>{e.noMiniAnimation||e.modelValue&&(we(),d.animate())}),N(_,e=>{n(`miniState`,e)});function xe(e){e===void 0?T(()=>{e=S.value?0:v.value,xe(ne.value*e)}):(d.isContainer.value&&I.value&&(g.value||Math.abs(e)===v.value)&&(e+=ne.value*d.scrollbarWidth.value),B.value=e)}function Se(e){R.value=e}function U(e){let t=e?`remove`:d.isContainer.value?``:`add`;t!==``&&document.body.classList[t](`q-body--drawer-toggle`)}function we(){m!==null&&clearTimeout(m),a.proxy&&a.proxy.$el&&a.proxy.$el.classList.add(`q-drawer--mini-animate`),re.value=!0,m=setTimeout(()=>{m=null,re.value=!1,a?.proxy?.$el?.classList.remove(`q-drawer--mini-animate`)},150)}function Te(e){if(S.value)return;let t=v.value,n=at(e.distance.x,0,t);if(e.isFinal){n>=Math.min(75,t)?k():(d.animate(),Se(0),xe(ne.value*t)),z.value=!1;return}xe((o.lang.rtl?!I.value:I.value)?Math.max(t-n,0):Math.min(0,n-t)),Se(at(n/t,0,1)),e.isFirst&&(z.value=!0)}function Ee(t){if(!S.value)return;let n=v.value,r=t.direction===e.side,i=(o.lang.rtl?!r:r)?at(t.distance.x,0,n):0;if(t.isFinal){Math.abs(i)<Math.min(75,n)?(d.animate(),Se(1),xe(0)):A(),z.value=!1;return}xe(ne.value*i),Se(at(1-i/n,0,1)),t.isFirst&&(z.value=!0)}function De(){c(!1),U(!0)}function Oe(t,n){d.update(e.side,t,n)}function ke(t,n){Oe(`size`,t?e.miniWidth:n)}return d.instances[e.side]=P,ke(e.miniToOverlay,v.value),Oe(`space`,C.value),Oe(`offset`,ae.value),e.showIfAbove&&!e.modelValue&&S.value&&e[`onUpdate:modelValue`]!==void 0&&n(`update:modelValue`,!0),b(()=>{n(`onLayout`,C.value),n(`miniState`,_.value),p=e.showIfAbove;let t=()=>{(S.value?D:O)(!1,!0)};if(d.totalWidth.value!==0){T(t);return}h=N(d.totalWidth,()=>{h(),h=void 0,!S.value&&e.showIfAbove&&!g.value?k(!1):t()})}),x(()=>{h?.(),m!==null&&(clearTimeout(m),m=null),S.value&&De(),d.instances[e.side]===P&&(d.instances[e.side]=void 0,Oe(`size`,0),Oe(`offset`,0),Oe(`space`,!1))}),()=>{let n=[];g.value&&(e.noSwipeOpen||n.push(L(F(`div`,{key:`open`,class:`q-drawer__opener fixed-${e.side}`,"aria-hidden":`true`}),_e.value)),n.push(oe(`div`,{ref:`backdrop`,class:se.value,style:ce.value,"aria-hidden":`true`,onClick:A},void 0,`backdrop`,!e.noSwipeBackdrop&&S.value,()=>ye.value)));let r=_.value&&t.mini!==void 0,a=[F(`div`,{...i,key:String(r),class:[he.value,i.class]},r?t.mini():fe(t.default))];return e.elevated&&S.value&&a.push(F(`div`,{class:`q-layout__shadow absolute-full overflow-hidden no-pointer-events`})),n.push(oe(`aside`,{ref:`content`,class:ge.value,style:me.value},a,`contentclose`,!e.noSwipeClose&&g.value,()=>ve.value)),F(`div`,{class:`q-drawer-container`},n)}}}),Gt=0,Kt=[`click`,`keydown`],qt={icon:String,label:[Number,String],alert:[Boolean,String],alertIcon:String,name:{type:[Number,String],default:()=>`t_${Gt++}`},noCaps:Boolean,tabindex:[String,Number],disable:Boolean,contentClass:String,ripple:{type:[Boolean,Object],default:!0}};function Jt(e,t,n,i){let a=te(pe,le);if(a===le)return console.error(`QTab/QRouteTab component needs to be child of QTabs`),le;let{proxy:o}=ee(),s=r(null),c=r(null),l=r(null),u=f(()=>e.disable||e.ripple===!1?!1:{keyCodes:[13,32],early:!0,...e.ripple===!0?{}:e.ripple}),d=f(()=>a.currentModel.value===e.name),p=f(()=>`q-tab relative-position self-stretch flex flex-center text-center`+(d.value?` q-tab--active`+(a.tabProps.value.activeClass?` `+a.tabProps.value.activeClass:``)+(a.tabProps.value.activeColor?` text-${a.tabProps.value.activeColor}`:``)+(a.tabProps.value.activeBgColor?` bg-${a.tabProps.value.activeBgColor}`:``):` q-tab--inactive`)+(e.icon&&e.label&&!a.tabProps.value.inlineLabel?` q-tab--full`:``)+(e.noCaps||a.tabProps.value.noCaps?` q-tab--no-caps`:``)+(e.disable?` disabled`:` q-focusable q-hoverable cursor-pointer`)+(i===void 0?``:i.linkClass.value)),m=f(()=>`q-tab__content self-stretch flex-center relative-position q-anchor--skip non-selectable `+(a.tabProps.value.inlineLabel?`row no-wrap q-tab__content--inline`:`column`)+(e.contentClass===void 0?``:` ${e.contentClass}`)),h=f(()=>e.disable||a.hasFocus.value||!d.value&&a.hasActiveTab.value?-1:e.tabindex||0);function g(t,r){if(!r&&!t?.qAvoidFocus&&s.value?.focus({preventScroll:!0}),e.disable){i?.hasRouterLink.value===!0&&R(t);return}if(i===void 0){a.updateModel({name:e.name}),n(`click`,t);return}if(i.hasRouterLink.value){let r=(n={})=>{let r,o=n.to===void 0||ye(n.to,e.to)?a.avoidRouteWatcher=ge():null;return i.navigateToRouterLink(t,{...n,returnRouterError:!0}).catch(e=>{r=e}).then(t=>{if(o===a.avoidRouteWatcher&&(a.avoidRouteWatcher=!1,r===void 0&&(t===void 0||t.message?.startsWith(`Avoided redundant navigation`)===!0)&&a.updateModel({name:e.name})),n.returnRouterError)return r===void 0?t:Promise.reject(r)})};n(`click`,t,r),t.defaultPrevented||r();return}n(`click`,t)}function _(e){ae(e,[13,32])?g(e,!0):!re(e)&&e.keyCode>=35&&e.keyCode<=40&&!e.altKey&&!e.metaKey&&a.onKbdNavigate(e.keyCode,o.$el)&&R(e),n(`keydown`,e)}function v(){let n=a.tabProps.value.narrowIndicator,r=[],i=F(`div`,{ref:l,class:[`q-tab__indicator`,a.tabProps.value.indicatorClass]});e.icon!==void 0&&r.push(F(H,{class:`q-tab__icon`,name:e.icon})),e.label!==void 0&&r.push(F(`div`,{class:`q-tab__label`},e.label)),e.alert&&r.push(e.alertIcon===void 0?F(`div`,{class:`q-tab__alert`+(e.alert===!0?``:` text-${e.alert}`)}):F(H,{class:`q-tab__alert-icon`,color:e.alert===!0?void 0:e.alert,name:e.alertIcon})),n&&r.push(i);let o=[F(`div`,{class:`q-focus-helper`,tabindex:-1,ref:s}),F(`div`,{class:m.value},ie(t.default,r))];return n||o.push(i),o}let y={name:f(()=>e.name),rootRef:c,tabIndicatorRef:l,routeData:i};x(()=>{a.unregisterTab(y)}),b(()=>{a.registerTab(y)});function S(t,n){let r={ref:c,class:p.value,tabindex:h.value,role:`tab`,"aria-selected":d.value?`true`:`false`,"aria-disabled":e.disable?`true`:void 0,onClick:g,onKeydown:_,...n};return L(F(t,r,v()),[[Ae,u.value]])}return{renderTab:S,$tabs:a}}var Yt=z({name:`QTab`,props:qt,emits:Kt,setup(e,{slots:t,emit:n}){let{renderTab:r}=Jt(e,t,n);return()=>r(`div`)}});function Xt(e,t,n){let r=n?[`left`,`right`]:[`top`,`bottom`];return`absolute-${t?r[0]:r[1]}${e?` text-${e}`:``}`}function Zt(e,t){for(let n in e)if(e[n]!==t[n])return!1;return!0}var Qt=[`left`,`center`,`right`,`justify`],$t=z({name:`QTabs`,props:{modelValue:[Number,String],align:{type:String,default:`center`,validator:e=>Qt.includes(e)},breakpoint:{type:[String,Number],default:600},vertical:Boolean,shrink:Boolean,stretch:Boolean,activeClass:String,activeColor:String,activeBgColor:String,indicatorColor:String,leftIcon:String,rightIcon:String,outsideArrows:Boolean,mobileArrows:Boolean,switchIndicator:Boolean,narrowIndicator:Boolean,inlineLabel:Boolean,noCaps:Boolean,dense:Boolean,contentClass:String,"onUpdate:modelValue":[Function,Array]},setup(e,{slots:t,emit:n}){let{proxy:i}=ee(),{$q:a}=i,{registerTick:o}=xe(),{registerTick:s}=xe(),{registerTick:c}=xe(),{registerTimeout:l,removeTimeout:u}=Ze(),{registerTimeout:m,removeTimeout:g}=Ze(),_=r(null),v=r(null),y=r(e.modelValue),b=r(!1),S=r(!0),C=r(!1),w=r(!1),T=[],E=r(0),D=r(!1),O=null,k=null,A,j=f(()=>({activeClass:e.activeClass,activeColor:e.activeColor,activeBgColor:e.activeBgColor,indicatorClass:Xt(e.indicatorColor,e.switchIndicator,e.vertical),narrowIndicator:e.narrowIndicator,inlineLabel:e.inlineLabel,noCaps:e.noCaps})),M=f(()=>{let e=E.value,t=y.value;for(let n=0;n<e;n++)if(T[n].name.value===t)return!0;return!1}),P=f(()=>`q-tabs__content--align-${b.value?`left`:w.value?`justify`:e.align}`),te=f(()=>`q-tabs row no-wrap items-center q-tabs--${b.value?``:`not-`}scrollable q-tabs--${e.vertical?`vertical`:`horizontal`} q-tabs__arrows--${e.outsideArrows?`outside`:`inside`} q-tabs--mobile-with${e.mobileArrows?``:`out`}-arrows`+(e.dense?` q-tabs--dense`:``)+(e.shrink?` col-shrink`:``)+(e.stretch?` self-stretch`:``)),I=f(()=>`q-tabs__content scroll--mobile row no-wrap items-center self-stretch hide-scrollbar relative-position `+P.value+(e.contentClass===void 0?``:` ${e.contentClass}`)),L=f(()=>e.vertical?{container:`height`,content:`offsetHeight`,scroll:`scrollHeight`}:{container:`width`,content:`offsetWidth`,scroll:`scrollWidth`}),ne=f(()=>!e.vertical&&a.lang.rtl===!0),R=f(()=>!it&&ne.value);N(ne,V),N(()=>e.modelValue,e=>{z({name:e,setCurrent:!0,skipEmit:!0})}),N(()=>e.outsideArrows,re);function z({name:t,setCurrent:r,skipEmit:i}){y.value!==t&&(!i&&e[`onUpdate:modelValue`]!==void 0&&n(`update:modelValue`,t),(r||e[`onUpdate:modelValue`]===void 0)&&(ie(y.value,t),y.value=t))}function re(){o(()=>{_.value&&B({width:_.value.offsetWidth,height:_.value.offsetHeight})})}function B(t){if(L.value===void 0||v.value===null)return;let n=t[L.value.container],r=Math.min(v.value[L.value.scroll],Array.prototype.reduce.call(v.value.children,(e,t)=>e+(t[L.value.content]||0),0)),i=n>0&&r>n;b.value=i,i&&s(V),w.value=n<Number.parseInt(e.breakpoint,10)}function ie(t,n){let r=t!=null&&t!==``?T.find(e=>e.name.value===t):null,i=n!=null&&n!==``?T.find(e=>e.name.value===n):null;if(Te)Te=!1;else if(r&&i){let t=r.tabIndicatorRef.value,n=i.tabIndicatorRef.value;O!==null&&(clearTimeout(O),O=null),t.style.transition=`none`,t.style.transform=`none`,n.style.transition=`none`,n.style.transform=`none`;let a=t.getBoundingClientRect(),o=n.getBoundingClientRect();n.style.transform=e.vertical?`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)`,c(()=>{O=setTimeout(()=>{O=null,n.style.transition=`transform .25s cubic-bezier(.4, 0, .2, 1)`,n.style.transform=`none`},70)})}i&&b.value&&ae(i.rootRef.value)}function ae(t){let{left:n,width:r,top:i,height:a}=v.value.getBoundingClientRect(),o=t.getBoundingClientRect(),s=e.vertical?o.top-i:o.left-n;if(s<0){v.value[e.vertical?`scrollTop`:`scrollLeft`]+=Math.floor(s),V();return}s+=e.vertical?o.height-a:o.width-r,s>0&&(v.value[e.vertical?`scrollTop`:`scrollLeft`]+=Math.ceil(s),V())}function V(){let t=v.value;if(t===null)return;let n=t.getBoundingClientRect(),r=e.vertical?t.scrollTop:Math.abs(t.scrollLeft);ne.value?(S.value=Math.ceil(r+n.width)<t.scrollWidth-1,C.value=r>0):(S.value=r>0,C.value=e.vertical?Math.ceil(r+n.height)<t.scrollHeight:Math.ceil(r+n.width)<t.scrollWidth)}function oe(e){k!==null&&clearInterval(k),k=setInterval(()=>{me(e)&&le()},5)}function se(){oe(R.value?2**53-1:0)}function ce(){oe(R.value?0:2**53-1)}function le(){k!==null&&(clearInterval(k),k=null)}function ue(t,n){let r=Array.prototype.filter.call(v.value.children,e=>e===n||e.matches?.(`.q-tab.q-focusable`)),i=r.length;if(i===0)return;if(t===36)return ae(r[0]),r[0].focus(),!0;if(t===35)return ae(r[i-1]),r[i-1].focus(),!0;let a=t===(e.vertical?38:37),o=t===(e.vertical?40:39),s=a?-1:o?1:void 0;if(s!==void 0){let t=e.vertical!==!0&&ne.value?-1:1,a=(r.indexOf(n)+s*t+i)%i;return ae(r[a]),r[a].focus({preventScroll:!0}),!0}}let de=f(()=>R.value?{get:e=>Math.abs(e.scrollLeft),set:(e,t)=>{e.scrollLeft=-t}}:e.vertical?{get:e=>e.scrollTop,set:(e,t)=>{e.scrollTop=t}}:{get:e=>e.scrollLeft,set:(e,t)=>{e.scrollLeft=t}});function me(e){let t=v.value,{get:n,set:r}=de.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),V(),i}function he(){let e=null,t={matchedLen:0,queryDiff:9999,hrefLen:0},n=T.filter(e=>e.routeData?.hasRouterLink.value===!0),{hash:r,query:a}=i.$route,o=Object.keys(a).length;for(let i of n){let n=i.routeData.exact.value===!0;if(!i.routeData[n?`linkIsExactActive`:`linkIsActive`].value)continue;let{hash:s,query:c,matched:l,href:u}=i.routeData.resolvedLink.value,d=Object.keys(c).length;if(n){if(s!==r||d!==o||!Zt(a,c))continue;e=i.name.value;break}if(s!==``&&s!==r||d!==0&&!Zt(c,a))continue;let f={matchedLen:l.length,queryDiff:o-d,hrefLen:u.length-s.length};if(f.matchedLen>t.matchedLen){e=i.name.value,t=f;continue}if(f.matchedLen===t.matchedLen){if(f.queryDiff<t.queryDiff)e=i.name.value,t=f;else if(f.queryDiff!==t.queryDiff)continue;f.hrefLen>t.hrefLen&&(e=i.name.value,t=f)}}if(e===null&&T.some(e=>e.routeData===void 0&&e.name.value===y.value)){Te=!1;return}z({name:e,setCurrent:!0})}function ge(e){if(u(),!D.value&&_.value!==null&&e.target&&typeof e.target.closest==`function`){let t=e.target.closest(`.q-tab`);t&&_.value.contains(t)&&(D.value=!0,b.value&&ae(t))}}function _e(){l(()=>{D.value=!1},30)}function ve(){Ce.avoidRouteWatcher===!1?m(he):g()}function ye(){if(A===void 0){let e=N(()=>i.$route.fullPath,ve);A=()=>{e(),A=void 0}}}function be(e){T.push(e),E.value++,re(),e.routeData===void 0||i.$route===void 0?m(()=>{if(b.value){let e=y.value,t=e!=null&&e!==``?T.find(t=>t.name.value===e):null;t&&ae(t.rootRef.value)}}):(ye(),e.routeData.hasRouterLink.value&&ve())}function Se(e){T.splice(T.indexOf(e),1),E.value--,re(),A!==void 0&&e.routeData!==void 0&&(T.every(e=>e.routeData===void 0)&&A(),ve())}let Ce={currentModel:y,tabProps:j,hasFocus:D,hasActiveTab:M,registerTab:be,unregisterTab:Se,verifyRouteModel:ve,updateModel:z,onKbdNavigate:ue,avoidRouteWatcher:!1};p(pe,Ce);function U(){O!==null&&clearTimeout(O),le(),A?.()}let we=!1,Te=!1;return x(U),d(()=>{we=A!==void 0,U()}),h(()=>{we&&(ye(),Te=!0,ve()),re()}),()=>F(`div`,{ref:_,class:te.value,role:`tablist`,"aria-orientation":e.vertical?`vertical`:`horizontal`,onFocusin:ge,onFocusout:_e},[F(ct,{onResize:B}),F(`div`,{ref:v,class:I.value,onScroll:V},fe(t.default)),F(H,{class:`q-tabs__arrow q-tabs__arrow--left absolute q-tab__icon`+(S.value?``:` q-tabs__arrow--faded`),name:e.leftIcon||a.iconSet.tabs[e.vertical?`up`:`left`],onMousedownPassive:se,onTouchstartPassive:se,onMouseupPassive:le,onMouseleavePassive:le,onTouchendPassive:le}),F(H,{class:`q-tabs__arrow q-tabs__arrow--right absolute q-tab__icon`+(C.value?``:` q-tabs__arrow--faded`),name:e.rightIcon||a.iconSet.tabs[e.vertical?`down`:`right`],onMousedownPassive:ce,onTouchstartPassive:ce,onMouseupPassive:le,onMouseleavePassive:le,onTouchendPassive:le})])}}),en=z({name:`QTabPanel`,props:Dt,setup(e,{slots:t}){return()=>F(`div`,{class:`q-tab-panel`,role:`tabpanel`},fe(t.default))}}),tn=z({name:`QTabPanels`,props:{...Tt,...de},emits:Ct,setup(e,{slots:t}){let n=ee(),r=ue(e,n.proxy.$q),{updatePanelsList:i,getPanelContent:a,panelDirectives:o}=Et(),s=f(()=>`q-tab-panels q-panel-parent`+(r.value?` q-tab-panels--dark q-dark`:``));return()=>(i(t),oe(`div`,{class:s.value},a(),`pan`,e.swipeable,()=>o.value))}}),nn=z({name:`QPageContainer`,setup(e,{slots:t}){let{proxy:{$q:n}}=ee(),r=te(V,le);if(r===le)return console.error(`QPageContainer needs to be child of QLayout`),le;p(B,!0);let i=f(()=>{let e={};return r.header.space&&(e.paddingTop=`${r.header.size}px`),r.right.space&&(e[`padding${n.lang.rtl?`Left`:`Right`}`]=`${r.right.size}px`),r.footer.space&&(e.paddingBottom=`${r.footer.size}px`),r.left.space&&(e[`padding${n.lang.rtl?`Right`:`Left`}`]=`${r.left.size}px`),e});return()=>F(`div`,{class:`q-page-container`,style:i.value},fe(t.default))}}),rn=/^(h|l)h(h|r) lpr (f|l)f(f|r)$/,an=z({name:`QLayout`,props:{container:Boolean,view:{type:String,default:`hhh lpr fff`,validator:e=>rn.test(e.toLowerCase())},onScroll:Function,onScrollHeight:Function,onResize:Function},setup(e,{slots:t,emit:n}){let{proxy:{$q:i}}=ee(),a=r(null),o=r(i.screen.height),c=r(e.container?0:i.screen.width),l=r({position:0,direction:`down`,inflectionPoint:0}),u=r(0),d=r(he.value?0:qe()),m=f(()=>`q-layout q-layout--`+(e.container?`containerized`:`standard`)),h=f(()=>e.container?null:{minHeight:i.screen.height+`px`}),g=f(()=>d.value===0?null:{[i.lang.rtl?`left`:`right`]:`${d.value}px`}),v=f(()=>d.value===0?null:{[i.lang.rtl?`right`:`left`]:0,[i.lang.rtl?`left`:`right`]:`-${d.value}px`,width:`calc(100% + ${d.value}px)`});function y(t){if(e.container||!document.qScrollPrevented){let r={position:t.position.top,direction:t.direction,directionChanged:t.directionChanged,inflectionPoint:t.inflectionPoint.top,delta:t.delta.top};l.value=r,e.onScroll!==void 0&&n(`scroll`,r)}}function b(t){let{height:r,width:i}=t,a=!1;o.value!==r&&(a=!0,o.value=r,e.onScrollHeight!==void 0&&n(`scrollHeight`,r),S()),c.value!==i&&(a=!0,c.value=i),a&&e.onResize!==void 0&&n(`resize`,t)}function x({height:e}){u.value!==e&&(u.value=e,S())}function S(){if(e.container){let e=o.value>u.value?qe():0;d.value!==e&&(d.value=e)}}let C=null,w={instances:{},view:f(()=>e.view),isContainer:f(()=>e.container),rootRef:a,height:o,containerHeight:u,scrollbarWidth:d,totalWidth:f(()=>c.value+d.value),rows:f(()=>{let t=e.view.toLowerCase().split(` `);return{top:[...t[0]],middle:[...t[1]],bottom:[...t[2]]}}),header:s({size:0,offset:0,space:!1}),right:s({size:300,offset:0,space:!1}),footer:s({size:0,offset:0,space:!1}),left:s({size:300,offset:0,space:!1}),scroll:l,animate(){C===null?document.body.classList.add(`q-body--layout-animate`):clearTimeout(C),C=setTimeout(()=>{C=null,document.body.classList.remove(`q-body--layout-animate`)},155)},update(e,t,n){w[e][t]=n}};if(p(V,w),qe()>0){let t=null,n=document.body,r=()=>{t=null,n.classList.remove(`hide-scrollbar`)},a=()=>{if(t===null){if(n.scrollHeight>i.screen.height)return;n.classList.add(`hide-scrollbar`)}else clearTimeout(t);t=setTimeout(r,300)},o=e=>{t!==null&&e===`remove`&&(clearTimeout(t),r()),window[`${e}EventListener`](`resize`,a)};N(()=>e.container?`remove`:`add`,o),e.container||o(`add`),_(()=>{o(`remove`)})}return()=>{let n=ie(t.default,[F(st,{onScroll:y}),F(ct,{onResize:b})]),r=F(`div`,{class:m.value,style:h.value,ref:e.container?void 0:a,tabindex:-1},n);return e.container?F(`div`,{class:`q-layout-container overflow-hidden`,ref:a},[F(ct,{onResize:x}),F(`div`,{class:`absolute-full`,style:g.value},[F(`div`,{class:`scroll`,style:v.value},[r])])]):r}}}),on={class:`acceptance-panel q-pa-md`},sn={class:`row items-center q-mb-sm`},cn={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},ln={key:0,class:`criterion-add-row row items-center q-mb-xs`},un={key:1,class:`acceptance-list`},dn=[`onDblclick`],fn={key:2,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},pn=ht(l({__name:`AcceptancePanel`,props:{tasks:{}},setup(e){let{t:a}=t(),s=Pe(),l=ze();function d(){let e=s.selectedWorkspaceId;e&&kt(e,l,s)}let f=r(!1),p=r(``),h=r(null),_=r(``),v=r({});function y(e,t){if(t){let n=t.$el??t;v.value[e]=n}else delete v.value[e]}function b(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function x(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}async function S(e){let t=e.status===`done`?`pending`:`done`,n=e.workspaceId;try{let r=await fetch(`/api/workspaces/${e.workspaceId}/tasks/${e.id}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({status:t})});if(!r.ok)throw Error(`HTTP ${r.status}`);s.fetchWorkspaceDetails(n)}catch(e){console.error(`Failed to update task:`,e)}}function w(){f.value||(f.value=!0,p.value=``)}async function N(){let e=p.value.trim(),t=s.selectedWorkspace?.id;if(!(!e||!t))try{await s.createTask(t,e,!0),p.value=``,f.value=!1}catch{}}function P(){p.value=``,f.value=!1}function ee(e){h.value=e.id,_.value=e.title,T(()=>{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=_.value.trim(),n=e.id;if(h.value=null,!t||t===e.title)return;let r=s.selectedWorkspace?.id;if(r)try{await s.updateTaskTitle(r,n,t)}catch{}}function te(){h.value=null,_.value=``}async function L(e){let t=s.selectedWorkspace?.id;if(t)try{await s.deleteTask(t,e.id)}catch{}}return(t,r)=>(C(),O(`div`,on,[D(`div`,sn,[D(`div`,cn,o(t.$t(`acceptance.title`)),1),j(_t),n(s).selectedWorkspace?(C(),g(U,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`fact_check`,color:`grey-5`,onClick:d},{default:M(()=>[j(q,null,{default:M(()=>[A(o(t.$t(`tasks.askProgress`)),1)]),_:1})]),_:1})):E(``,!0),n(s).selectedWorkspace?(C(),g(U,{key:1,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,onClick:w},{default:M(()=>[j(q,null,{default:M(()=>[A(o(t.$t(`tooltip.addCriterion`)),1)]),_:1})]),_:1})):E(``,!0)]),f.value?(C(),O(`div`,ln,[j(ve,{modelValue:p.value,"onUpdate:modelValue":r[0]||=e=>p.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:t.$t(`acceptance.newCriterion`),class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[m(I(N,[`prevent`]),[`enter`]),m(I(P,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):E(``,!0),e.tasks.length>0?(C(),O(`div`,un,[(C(!0),O(u,null,k(e.tasks,e=>(C(),O(`div`,{key:e.id,class:`acceptance-item row items-center q-mb-xxs`},[j(H,{name:b(e.status),size:`16px`,style:i({color:x(e.status)}),class:`q-mr-xs cursor-pointer`,onClick:t=>S(e)},null,8,[`name`,`style`,`onClick`]),h.value===e.id?(C(),g(ve,{key:0,ref_for:!0,ref:t=>y(e.id,t),modelValue:_.value,"onUpdate:modelValue":r[1]||=e=>_.value=e,dark:``,dense:``,borderless:``,class:`col criterion-input`,"input-class":`criterion-input-inner`,onKeydown:[m(I(t=>F(e),[`prevent`]),[`enter`]),m(I(te,[`prevent`]),[`esc`])],onBlur:t=>F(e)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(C(),O(u,{key:1},[D(`span`,{class:c([`col acceptance-title text-caption`,{"text-strike":e.status===`done`}]),style:i({color:e.status===`done`?`#4ade80`:`#ccc`}),onDblclick:t=>ee(e)},o(e.title),47,dn),j(U,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`criterion-delete-btn`,onClick:t=>L(e)},{default:M(()=>[j(q,null,{default:M(()=>[A(o(t.$t(`tooltip.removeCriterion`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):f.value?E(``,!0):(C(),O(`div`,fn,o(t.$t(`acceptance.empty`)),1))]))}}),[[`__scopeId`,`data-v-e14ddbb8`]]),mn={class:`agent-todos-panel q-pa-md`},hn={class:`row items-center q-mb-sm`},gn={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},_n={key:0,class:`todos-list`},vn={key:1,class:`text-caption text-grey-8`,style:{"font-size":`11px`}},yn=ht(l({__name:`AgentTodosPanel`,setup(e){let{t:r}=t(),a=Pe();function s(e){switch(e){case`completed`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function l(e){switch(e){case`completed`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(e,t)=>(C(),O(`div`,mn,[D(`div`,hn,[D(`div`,gn,o(e.$t(`agentTodos.title`)),1)]),n(a).currentAgentTodos.length>0?(C(),O(`div`,_n,[(C(!0),O(u,null,k(n(a).currentAgentTodos,(e,t)=>(C(),O(`div`,{key:t,class:`todo-item row items-start q-py-xxs`},[j(H,{name:s(e.status),size:`14px`,style:i({color:l(e.status)}),class:`q-mr-xs q-mt-xxs`},null,8,[`name`,`style`]),D(`span`,{class:c([`col todo-title text-caption`,{"text-strike":e.status===`completed`}]),style:i({color:e.status===`completed`?`#4ade80`:`#ccc`})},o(e.content),7)]))),128))])):(C(),O(`div`,vn,o(e.$t(`agentTodos.empty`)),1))]))}}),[[`__scopeId`,`data-v-6a3613f7`]]),bn={class:`documents-panel q-pa-md`},xn={class:`row items-center justify-between q-mb-sm`},Sn={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},Cn={key:0,class:`text-caption text-grey-8`},wn={key:1,class:`text-center q-py-lg`},Tn={key:2,class:`text-caption text-grey-8 text-center q-py-lg`},En={key:0,class:`text-center q-py-lg`},Dn=[`innerHTML`],On=ht(l({__name:`DocumentsPanel`,props:{workspace:{}},setup(e){let r=e,{t:i}=t(),a=et(),s=lt(),l=f(()=>r.workspace?s.documentsFor(r.workspace.id):[]),d=f(()=>Bt(l.value)),p=f(()=>s.selected?.path??null),m=f(()=>{if(!s.selected)return``;let e=ft.parse(s.selected.content,{async:!1,breaks:!0,gfm:!0});return pt.sanitize(e)});async function h(){r.workspace&&await s.fetchDocuments(r.workspace.id)}async function _(e){if(!(!r.workspace||!e.file))try{await s.openDocument(r.workspace.id,e.file)}catch{a.notify({type:`negative`,message:i(`documents.loadFailed`),position:`top`})}}function v(){s.closeDocument()}return N(()=>r.workspace?.id,e=>{s.closeDocument(),e&&s.fetchDocuments(e)},{immediate:!0}),(t,r)=>(C(),O(`div`,bn,[D(`div`,xn,[D(`div`,Sn,o(t.$t(`documents.title`)),1),n(s).selected?(C(),g(U,{key:1,flat:``,dense:``,"no-caps":``,size:`sm`,icon:`arrow_back`,label:t.$t(`documents.back`),color:`grey-5`,onClick:v},null,8,[`label`])):(C(),g(U,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,loading:n(s).loadingList,onClick:h},{default:M(()=>[j(q,null,{default:M(()=>[A(o(t.$t(`documents.refresh`)),1)]),_:1})]),_:1},8,[`loading`]))]),n(s).selected?(C(),O(u,{key:1},[n(s).loadingContent?(C(),O(`div`,En,[j(ce,{size:`24px`,color:`grey-6`})])):(C(),O(`div`,{key:1,class:`document-content`,innerHTML:m.value},null,8,Dn))],64)):(C(),O(u,{key:0},[e.workspace?n(s).loadingList?(C(),O(`div`,wn,[j(ce,{size:`24px`,color:`grey-6`})])):l.value.length===0?(C(),O(`div`,Tn,o(t.$t(`documents.empty`)),1)):(C(),g(zt,{key:3,nodes:d.value,"node-key":`nodeKey`,"label-key":`label`,"children-key":`children`,dark:``,dense:``,"default-expand-all":``,"no-selection-unset":``,selected:p.value?`file:${p.value}`:``,class:`documents-tree`,"onUpdate:selected":r[0]||=e=>{if(typeof e!=`string`||!e.startsWith(`file:`))return;let t=l.value.find(t=>`file:${t.path}`===e);t&&_({file:t})}},{"default-header":M(({node:e})=>[j(H,{name:e.isFolder?`folder`:`description`,color:e.isFolder?`indigo-4`:`grey-5`,size:`14px`,class:`q-mr-xs`},null,8,[`name`,`color`]),D(`span`,{class:c(e.isFolder?`text-grey-4`:`text-grey-3`),style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},o(e.label),3)]),_:1},8,[`nodes`,`selected`])):(C(),O(`div`,Cn,o(t.$t(`common.selectWorkspace`)),1))],64))]))}}),[[`__scopeId`,`data-v-89e5de13`]]),kn=Object.keys(We);function An(e){return kn.reduce((t,n)=>{let r=e[n];return r!==void 0&&(t[n]=r),t},{})}var jn=z({name:`QBtnDropdown`,props:{...We,...$e,modelValue:Boolean,split:Boolean,dropdownIcon:String,contentClass:[Array,String,Object],contentStyle:[Array,String,Object],cover:Boolean,persistent:Boolean,noEscDismiss:Boolean,noRouteDismiss:Boolean,autoClose:Boolean,noRefocus:Boolean,noFocus:Boolean,menuAnchor:{type:String,default:`bottom end`},menuSelf:{type:String,default:`top end`},menuOffset:Array,disableMainBtn:Boolean,disableDropdown:Boolean,noIconAnimation:Boolean,toggleAriaLabel:String},emits:[`update:modelValue`,`click`,`beforeShow`,`show`,`beforeHide`,`hide`],setup(e,{slots:t,emit:n}){let{proxy:i}=ee(),a=r(e.modelValue),o=r(null),s=me(),c=f(()=>{let t={"aria-expanded":a.value?`true`:`false`,"aria-haspopup":`true`,"aria-controls":s.value,"aria-label":e.toggleAriaLabel||i.$q.lang.label[a.value?`collapse`:`expand`](e.label)};return(e.disable||!e.split&&e.disableMainBtn||e.disableDropdown)&&(t[`aria-disabled`]=`true`),t}),l=f(()=>`q-btn-dropdown__arrow`+(a.value&&!e.noIconAnimation?` rotate-180`:``)+(e.split?``:` q-btn-dropdown__arrow-container`)),u=f(()=>we(e)),d=f(()=>An(e));N(()=>e.modelValue,e=>{o.value?.[e?`show`:`hide`]()}),N(()=>e.split,S);function p(e){a.value=!0,n(`beforeShow`,e)}function m(e){n(`show`,e),n(`update:modelValue`,!0)}function h(e){a.value=!1,n(`beforeHide`,e)}function g(e){n(`hide`,e),n(`update:modelValue`,!1)}function _(e){n(`click`,e)}function v(e){se(e),S(),n(`click`,e)}function y(e){o.value?.toggle(e)}function x(e){o.value?.show(e)}function S(e){o.value?.hide(e)}return Object.assign(i,{show:x,hide:S,toggle:y}),b(()=>{e.modelValue&&x()}),()=>{let n=[F(H,{class:l.value,name:e.dropdownIcon||i.$q.iconSet.arrow.dropdown})];return e.disableDropdown||n.push(F(tt,{ref:o,id:s.value,class:e.contentClass,style:e.contentStyle,cover:e.cover,fit:!0,persistent:e.persistent,noEscDismiss:e.noEscDismiss,noRouteDismiss:e.noRouteDismiss,autoClose:e.autoClose,noFocus:e.noFocus,noRefocus:e.noRefocus,anchor:e.menuAnchor,self:e.menuSelf,offset:e.menuOffset,separateClosePopup:!0,transitionShow:e.transitionShow,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,onBeforeShow:p,onShow:m,onBeforeHide:h,onHide:g},t.default)),e.split?F(yt,{class:`q-btn-dropdown q-btn-dropdown--split no-wrap q-btn-item`,rounded:e.rounded,square:e.square,...u.value,glossy:e.glossy,stretch:e.stretch},()=>[F(U,{class:`q-btn-dropdown--current`,...d.value,disable:e.disable||e.disableMainBtn,noWrap:!0,round:!1,onClick:v},{default:t.label,loading:t.loading}),F(U,{class:`q-btn-dropdown__arrow-container q-anchor--skip`,...c.value,...u.value,disable:e.disable||e.disableDropdown,rounded:e.rounded,color:e.color,textColor:e.textColor,dense:e.dense,size:e.size,padding:e.padding,ripple:e.ripple},()=>n)]):F(U,{class:`q-btn-dropdown q-btn-dropdown--simple`,...d.value,...c.value,disable:e.disable||e.disableMainBtn,noWrap:!0,round:!1,onClick:_},{default:()=>fe(t.label,[]).concat(n),loading:t.loading})}}}),Mn={class:`text-h6`},Nn={class:`text-body2 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={key:0,class:`text-caption text-grey-6 row items-center`},Gn={key:1,class:`row items-center q-gutter-sm`},Kn={class:`text-caption text-negative`},qn={key:2,class:`text-caption text-grey-6`},Jn={key:3},Yn=[`onClick`],Xn={class:`commit-sha text-grey-5`},Zn={class:`commit-subject text-grey-4 ellipsis q-ml-sm`},Qn={class:`text-caption`},$n={class:`text-grey-5 q-mt-xs`},er=ht(l({__name:`BranchDivergenceDialog`,props:{modelValue:{type:Boolean},workspaceId:{},initialTab:{},aheadCount:{},behindCount:{},sourceBranch:{},workingBranch:{}},emits:[`update:modelValue`,`append-sha`],setup(e,{emit:n}){let i=e,a=n,{t:s}=t(),c=Pe(),l=r(i.initialTab),d=r([]),f=r([]),p=r(!1),m=r(null),h=null;async function _(){h?.abort();let e=new AbortController;h=e,p.value=!0,m.value=null;try{let t=await c.fetchBranchDivergence(i.workspaceId,{signal:e.signal});if(e.signal.aborted)return;d.value=t.ahead,f.value=t.behind}catch(e){if(e?.name===`AbortError`)return;m.value=s(`git.divergence.failed`)}finally{h===e&&(h=null,p.value=!1)}}function v(){_()}N(()=>i.modelValue,e=>{e?(l.value=i.initialTab,_()):(h?.abort(),d.value=[],f.value=[],m.value=null)});function y(e){a(`append-sha`,e)}function b(){a(`update:modelValue`,!1)}function S(e){try{return new Date(e).toLocaleDateString()}catch{return e}}return x(()=>{h?.abort()}),(t,n)=>(C(),g(Ee,{"model-value":e.modelValue,"onUpdate:modelValue":n[2]||=e=>a(`update:modelValue`,e)},{default:M(()=>[j(Se,{style:{"min-width":`600px`,"max-width":`90vw`},dark:``},{default:M(()=>[j(Re,{class:`q-pb-none`},{default:M(()=>[D(`div`,Mn,o(t.$t(`git.divergence.title`)),1),D(`div`,Nn,o(t.$t(`git.divergence.subtitle`,{source:e.sourceBranch})),1)]),_:1}),j($t,{modelValue:l.value,"onUpdate:modelValue":n[0]||=e=>l.value=e,dense:``,align:`left`,"inline-label":``,class:`q-mt-sm`,"indicator-color":`indigo-4`},{default:M(()=>[j(Yt,{name:`ahead`,label:t.$t(`git.divergence.ahead`,{count:e.aheadCount})},null,8,[`label`]),j(Yt,{name:`behind`,label:t.$t(`git.divergence.behind`,{count:e.behindCount})},null,8,[`label`])]),_:1},8,[`modelValue`]),j(_e,{dark:``}),j(tn,{modelValue:l.value,"onUpdate:modelValue":n[1]||=e=>l.value=e,animated:``,style:{"max-height":`60vh`}},{default:M(()=>[j(en,{name:`ahead`,class:`q-pa-md`},{default:M(()=>[p.value?(C(),O(`div`,Pn,[j(ce,{size:`xs`,class:`q-mr-xs`}),A(o(t.$t(`git.divergence.loading`)),1)])):m.value?(C(),O(`div`,Fn,[D(`span`,In,o(m.value),1),j(U,{flat:``,dense:``,"no-caps":``,label:t.$t(`git.divergence.retry`),color:`indigo-4`,onClick:v},null,8,[`label`])])):d.value.length===0?(C(),O(`div`,Ln,o(t.$t(`git.divergence.empty.ahead`)),1)):(C(),O(`div`,Rn,[(C(!0),O(u,null,k(d.value,e=>(C(),O(`div`,{key:e.sha,class:`commit-item row no-wrap items-center cursor-pointer q-py-xs`,onClick:t=>y(e.sha)},[j(H,{name:e.isPushed?`cloud_done`:`cloud_upload`,size:`12px`,color:e.isPushed?`grey-6`:`orange-5`,class:`q-mr-xs`},null,8,[`name`,`color`]),D(`span`,Bn,o(e.shortSha),1),D(`span`,Vn,o(e.subject),1),j(q,{anchor:`top middle`,self:`bottom middle`},{default:M(()=>[D(`div`,Hn,[D(`div`,null,[D(`code`,null,o(e.sha),1)]),D(`div`,Un,o(e.author)+` · `+o(S(e.date)),1)])]),_:2},1024)],8,zn))),128))]))]),_:1}),j(en,{name:`behind`,class:`q-pa-md`},{default:M(()=>[p.value?(C(),O(`div`,Wn,[j(ce,{size:`xs`,class:`q-mr-xs`}),A(o(t.$t(`git.divergence.loading`)),1)])):m.value?(C(),O(`div`,Gn,[D(`span`,Kn,o(m.value),1),j(U,{flat:``,dense:``,"no-caps":``,label:t.$t(`git.divergence.retry`),color:`indigo-4`,onClick:v},null,8,[`label`])])):f.value.length===0?(C(),O(`div`,qn,o(t.$t(`git.divergence.empty.behind`)),1)):(C(),O(`div`,Jn,[(C(!0),O(u,null,k(f.value,e=>(C(),O(`div`,{key:e.sha,class:`commit-item row no-wrap items-center cursor-pointer q-py-xs`,onClick:t=>y(e.sha)},[D(`span`,Xn,o(e.shortSha),1),D(`span`,Zn,o(e.subject),1),j(q,{anchor:`top middle`,self:`bottom middle`},{default:M(()=>[D(`div`,Qn,[D(`div`,null,[D(`code`,null,o(e.sha),1)]),D(`div`,$n,o(e.author)+` · `+o(S(e.date)),1)])]),_:2},1024)],8,Yn))),128))]))]),_:1})]),_:1},8,[`modelValue`]),j(ke,{align:`right`,class:`q-pa-md`},{default:M(()=>[j(U,{flat:``,"no-caps":``,label:t.$t(`git.divergence.close`),color:`grey-5`,onClick:b},null,8,[`label`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),[[`__scopeId`,`data-v-b73bff9c`]]);function tr(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 nr(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 rr={class:`pr-panel`},ir={class:`pr-panel__header row items-center q-gutter-xs`},ar=[`href`],or={class:`pr-panel__title col ellipsis`},sr={class:`pr-panel__grid`},cr={class:`pr-panel__label`},lr={class:`pr-panel__value`},ur={class:`pr-panel__label`},dr={class:`pr-panel__value pr-panel__reviewers`},fr={class:`pr-panel__label`},pr={class:`pr-panel__value`},mr={class:`pr-panel__label`},hr={class:`pr-panel__value`},gr={key:0,class:`pr-panel__ci`},_r={class:`row items-center q-gutter-sm pr-panel__ci-summary`},vr={class:`pr-panel__ci-label`},yr={class:`row items-center q-gutter-sm pr-panel__ci-counts`},br={key:0,class:`pr-panel__ci-count pr-panel__ci-count--failed`},xr={key:1,class:`pr-panel__ci-count pr-panel__ci-count--pending`},Sr={key:2,class:`pr-panel__ci-count pr-panel__ci-count--passed`},Cr={key:3,class:`pr-panel__ci-count pr-panel__ci-count--skipped`},wr={key:0,class:`pr-panel__ci-list q-mt-sm`},Tr={class:`ellipsis`},Er={key:1,class:`pr-panel__ci-list q-mt-xs`},Dr={class:`ellipsis`},Or={key:2,class:`q-mt-xs`},kr={key:0,class:`pr-panel__ci-list q-mt-xs`},Ar={class:`ellipsis`},jr={class:`ellipsis`},Mr=ht(l({__name:`PrPanel`,props:{snapshot:{}},setup(e){let a=e,{t:s}=t(),c=r(!1);function l(e){switch(e){case`APPROVED`:return`#4ade80`;case`CHANGES_REQUESTED`:return`#ef4444`;case`COMMENTED`:return`#f59e0b`;default:return`#6b7280`}}let d=f(()=>tr(a.snapshot.ci.checks)),p=f(()=>{switch(a.snapshot.ci.rollup){case`SUCCESS`:return`check_circle`;case`FAILURE`:return`cancel`;case`PENDING`:return`hourglass_top`;default:return`help`}}),m=f(()=>{switch(a.snapshot.ci.rollup){case`SUCCESS`:return`green-4`;case`FAILURE`:return`red-4`;case`PENDING`:return`amber-4`;default:return`grey-5`}}),h=f(()=>{switch(a.snapshot.ci.rollup){case`SUCCESS`:return s(`git.pr.ci.passed`);case`FAILURE`:return s(`git.pr.ci.failed`);case`PENDING`:return s(`git.pr.ci.pending`);default:return``}});return(t,r)=>(C(),O(`div`,rr,[D(`div`,ir,[j(vt,{dense:``,square:``,color:e.snapshot.state===`OPEN`?`green-9`:`grey-9`,"text-color":e.snapshot.state===`OPEN`?`green-3`:`grey-3`,label:e.snapshot.state,class:`pr-panel__state`},null,8,[`color`,`text-color`,`label`]),D(`a`,{href:e.snapshot.url,target:`_blank`,rel:`noopener`,class:`pr-panel__number`},`#`+o(e.snapshot.number),9,ar),D(`span`,or,o(e.snapshot.title),1),e.snapshot.title.length>60?(C(),g(q,{key:0,anchor:`bottom middle`,self:`top middle`},{default:M(()=>[A(o(e.snapshot.title),1)]),_:1})):E(``,!0),n(Ue)(e.snapshot)?(C(),g(vt,{key:1,dense:``,square:``,color:`red-9`,"text-color":`red-3`,icon:`rate_review`,label:t.$t(`git.pr.changesRequestedBadge`),class:`pr-panel__badge`},null,8,[`label`])):e.snapshot.reviewDecision===`APPROVED`?(C(),g(vt,{key:2,dense:``,square:``,color:`green-9`,"text-color":`green-3`,icon:`check`,label:t.$t(`git.pr.approvedBadge`),class:`pr-panel__badge`},null,8,[`label`])):E(``,!0)]),D(`div`,sr,[D(`span`,cr,o(t.$t(`git.pr.author`)),1),D(`span`,lr,`@`+o(e.snapshot.author.login),1),e.snapshot.reviewers.length>0?(C(),O(u,{key:0},[D(`span`,ur,o(t.$t(`git.pr.reviewers`)),1),D(`span`,dr,[(C(!0),O(u,null,k(e.snapshot.reviewers,e=>(C(),O(`span`,{key:e.login,class:`pr-panel__reviewer`},[D(`span`,{class:`pr-panel__dot`,style:i({backgroundColor:l(e.state)})},null,4),D(`span`,null,`@`+o(e.login),1),j(q,null,{default:M(()=>[A(o(e.login)+` — `+o(e.state.toLowerCase()),1)]),_:2},1024)]))),128))])],64)):E(``,!0),e.snapshot.assignees.length>0?(C(),O(u,{key:1},[D(`span`,fr,o(t.$t(`git.pr.assignees`)),1),D(`span`,pr,o(e.snapshot.assignees.map(e=>`@`+e.login).join(`, `)),1)],64)):E(``,!0),e.snapshot.labels.length>0?(C(),O(u,{key:2},[D(`span`,mr,o(t.$t(`git.pr.labels`)),1),D(`span`,hr,[(C(!0),O(u,null,k(e.snapshot.labels,e=>(C(),g(vt,{key:e.name,dense:``,square:``,style:i({backgroundColor:`#`+e.color,color:n(nr)(e.color)}),class:`pr-panel__label-chip`,label:e.name},null,8,[`style`,`label`]))),128))])],64)):E(``,!0)]),e.snapshot.ci.rollup===null?E(``,!0):(C(),O(`div`,gr,[D(`div`,_r,[j(H,{name:p.value,color:m.value,size:`16px`},null,8,[`name`,`color`]),D(`span`,vr,o(h.value),1),D(`div`,yr,[d.value.failed.length>0?(C(),O(`span`,br,[j(H,{name:`cancel`,size:`12px`}),D(`span`,null,o(t.$t(`git.pr.ci.failedCount`,{n:d.value.failed.length})),1)])):E(``,!0),d.value.pending.length>0?(C(),O(`span`,xr,[j(H,{name:`hourglass_top`,size:`12px`}),D(`span`,null,o(t.$t(`git.pr.ci.pendingCount`,{n:d.value.pending.length})),1)])):E(``,!0),d.value.passed.length>0?(C(),O(`span`,Sr,[j(H,{name:`check_circle`,size:`12px`}),D(`span`,null,o(t.$t(`git.pr.ci.passedCount`,{n:d.value.passed.length})),1)])):E(``,!0),d.value.skipped.length>0?(C(),O(`span`,Cr,[j(H,{name:`remove_circle_outline`,size:`12px`}),D(`span`,null,o(t.$t(`git.pr.ci.skippedCount`,{n:d.value.skipped.length})),1)])):E(``,!0)])]),d.value.failed.length>0?(C(),O(`div`,wr,[(C(!0),O(u,null,k(d.value.failed,e=>(C(),g(v(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:M(()=>[j(H,{name:`cancel`,size:`14px`}),D(`span`,Tr,o(e.name),1)]),_:2},1032,[`href`]))),128))])):E(``,!0),d.value.pending.length>0?(C(),O(`div`,Er,[(C(!0),O(u,null,k(d.value.pending,e=>(C(),g(v(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:M(()=>[j(H,{name:`hourglass_top`,size:`14px`}),D(`span`,Dr,o(e.name),1)]),_:2},1032,[`href`]))),128))])):E(``,!0),d.value.passed.length+d.value.skipped.length>0?(C(),O(`div`,Or,[j(U,{dense:``,flat:``,"no-caps":``,size:`sm`,icon:c.value?`expand_less`:`expand_more`,label:c.value?t.$t(`git.pr.ci.hidePassed`):t.$t(`git.pr.ci.showPassed`,{n:d.value.passed.length+d.value.skipped.length}),class:`pr-panel__ci-toggle`,onClick:r[0]||=e=>c.value=!c.value},null,8,[`icon`,`label`]),c.value?(C(),O(`div`,kr,[(C(!0),O(u,null,k(d.value.passed,e=>(C(),g(v(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:M(()=>[j(H,{name:`check_circle`,size:`14px`}),D(`span`,Ar,o(e.name),1)]),_:2},1032,[`href`]))),128)),(C(!0),O(u,null,k(d.value.skipped,e=>(C(),g(v(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:M(()=>[j(H,{name:`remove_circle_outline`,size:`14px`}),D(`span`,jr,o(e.name),1)]),_:2},1032,[`href`]))),128))])):E(``,!0)])):E(``,!0)]))]))}}),[[`__scopeId`,`data-v-1ccf3b5b`]]),Nr={class:`text-subtitle1 text-grey-3`},Pr=l({__name:`CompareCommitsDialog`,props:{modelValue:{type:Boolean},commits:{},sourceBranch:{}},emits:[`update:modelValue`,`compare`,`close`],setup(e,{emit:n}){let i=e,a=n,{t:s}=t(),c=f({get:()=>i.modelValue,set:e=>a(`update:modelValue`,e)}),l=f(()=>i.commits.map(e=>({label:`${e.shortSha} ${e.subject}`,value:e.sha}))),u=f(()=>({label:s(`diff.compareSourceBase`,{branch:i.sourceBranch}),value:`origin/${i.sourceBranch}`})),d=f(()=>[...l.value,u.value]),p=f(()=>l.value),m=r(``),h=r(``);N(()=>i.modelValue,e=>{e&&(m.value=u.value.value,h.value=i.commits[0]?.sha??``)});function _(){!m.value||!h.value||m.value===h.value||(a(`compare`,{from:m.value,to:h.value}),c.value=!1)}return(e,t)=>(C(),g(Ee,{modelValue:c.value,"onUpdate:modelValue":t[3]||=e=>c.value=e,onHide:t[4]||=t=>e.$emit(`close`)},{default:M(()=>[j(Se,{dark:``,style:{"min-width":`460px`,"max-width":`640px`}},{default:M(()=>[j(Re,null,{default:M(()=>[D(`div`,Nr,o(e.$t(`diff.compareTitle`)),1)]),_:1}),j(Re,{class:`q-gutter-md`},{default:M(()=>[j(nt,{modelValue:m.value,"onUpdate:modelValue":t[0]||=e=>m.value=e,dark:``,dense:``,"options-dense":``,"emit-value":``,"map-options":``,options:d.value,label:e.$t(`diff.compareFrom`)},null,8,[`modelValue`,`options`,`label`]),j(nt,{modelValue:h.value,"onUpdate:modelValue":t[1]||=e=>h.value=e,dark:``,dense:``,"options-dense":``,"emit-value":``,"map-options":``,options:p.value,label:e.$t(`diff.compareTo`)},null,8,[`modelValue`,`options`,`label`])]),_:1}),j(ke,{align:`right`},{default:M(()=>[j(U,{flat:``,"no-caps":``,label:e.$t(`common.cancel`),color:`grey-5`,onClick:t[2]||=e=>c.value=!1},null,8,[`label`]),j(U,{unelevated:``,"no-caps":``,color:`primary`,label:e.$t(`diff.compareSubmit`),disable:!m.value||!h.value||m.value===h.value,onClick:_},null,8,[`label`,`disable`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]))}}),Fr={class:`git-panel q-px-sm q-py-md`},Ir={class:`row items-center justify-between q-mb-sm`},Lr={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},Rr={key:0,class:`row items-center justify-center q-py-xl`},zr={class:`git-subcard`},Br={class:`git-subcard-title`},Vr={class:`row items-center q-mb-xs`},Hr={class:`text-caption text-grey-3`},Ur={class:`row items-center q-mb-xs`},Wr={class:`text-caption text-grey-4`,style:{"font-family":`'Roboto Mono', monospace`,"font-size":`11px`}},Gr={class:`text-caption text-grey-8`,style:{"font-size":`11px`}},Kr={key:3},qr={key:4,style:{color:`#4ade80`}},Jr={key:5,style:{color:`#f59e0b`}},Yr={key:0,class:`git-subcard`},Xr={class:`git-subcard-title`},Zr={class:`row items-center`,style:{"font-size":`11px`,gap:`14px`,"flex-wrap":`wrap`}},Qr={class:`text-grey-4`},$r={key:1,class:`row items-center`},ei={class:`text-grey-4`},ti={key:2,class:`row items-center`},ni={class:`text-grey-4`},ri={key:0,class:`q-ml-xs`,style:{color:`#4ade80`}},ii={key:1,class:`q-ml-xs`,style:{color:`#f87171`}},ai={key:0,style:{color:`#4ade80`}},oi={key:1,class:`q-ml-xs`,style:{color:`#f59e0b`}},si={key:2,class:`q-ml-xs text-grey-6`},ci={key:0,class:`commit-list q-mt-sm`},li={key:0,class:`row justify-end q-mb-xs`},ui={key:1,class:`text-caption text-grey-6 q-pa-xs`},di={key:2,class:`text-caption text-grey-7 q-pa-xs`},fi=[`onClick`],pi={class:`commit-sha text-grey-5`},mi={class:`commit-subject text-grey-4 ellipsis q-ml-sm`},hi={class:`text-caption`},gi={class:`text-grey-5 q-mt-xs`},_i={class:`text-grey-6 q-mt-xs`,style:{"font-style":`italic`}},vi={key:1,class:`commit-list q-mt-sm`},yi={key:0,class:`text-caption text-grey-6 q-pa-xs`},bi={key:1,class:`text-caption text-grey-7 q-pa-xs`},xi={key:0,style:{color:`#4ade80`},class:`q-mr-xs`},Si={key:1,style:{color:`#f59e0b`},class:`q-mr-xs`},Ci={key:2,class:`text-grey-6 q-mr-xs`},wi={class:`commit-subject text-grey-4 ellipsis`,style:{"font-family":`'Roboto Mono', monospace`}},Ti={key:1,class:`git-subcard`},Ei={class:`git-subcard-title`},Di={class:`row no-wrap items-stretch q-gutter-xs`},Oi={key:0,class:`col`},ki={key:1,class:`col`},Ai={class:`col`},ji={key:2,class:`col-auto`},Mi={key:2,class:`git-subcard`},Ni={class:`git-subcard-title`},Pi={key:1,class:`text-caption text-grey-8`},Fi={class:`text-subtitle1`},Ii={class:`text-body2 text-grey-5 q-mt-sm`},Li={class:`git-branch-code`},Ri={class:`text-caption text-grey-6 q-mt-xs`,style:{"padding-left":`46px`}},zi={class:`text-subtitle1`},Bi={class:`text-caption text-grey-6 q-mt-xs`},Vi={class:`text-subtitle1 text-warning`},Hi={class:`text-caption text-grey-6 q-mt-xs`},Ui={class:`text-caption text-mono`},Wi={class:`text-subtitle1 text-warning`},Gi={class:`text-caption text-grey-6 q-mt-xs`},Ki={class:`text-subtitle1 text-negative`},qi={class:`text-caption text-grey-6 q-mt-xs`},Ji={class:`text-body2 text-grey-3`,style:{"white-space":`pre-wrap`,"word-break":`break-word`}},Yi=ht(l({__name:`GitPanel`,props:{workspace:{}},setup(e){let i=S(()=>Me(()=>import(`./DiffViewer-CMnFGReI.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]))),a=e,{t:s}=t(),c=et(),l=Pe(),d=Xe(),p=f(()=>!!a.workspace?.archivedAt),h=f(()=>a.workspace?((d.getProjectByPath(a.workspace.projectPath)?.changeSourceBranchScript??``).trim()||(d.global.changeSourceBranchScript??``).trim()).length>0:!1),_=r(!1),v=r(!1),y=r(!1),w=r(!1),T=r(!1),P=r(!1),ee=r(!1),F=r(!1),te=r(!1),ne=r(!1),R=r(``),z=r(!1),re=r(!1),B=r(!1),ie=r(!1),ae=r(void 0),V=r(void 0);function oe(e){ae.value=void 0,V.value=void 0,B.value=e,te.value=!0}function se(e){let t=e.detail;t?.workspaceId!==a.workspace?.id||!t.path||(ae.value=void 0,V.value=void 0,B.value=!1,te.value=!0)}function le(e,t){ae.value=e,V.value=t,B.value=!1,te.value=!0}function ue(e){le(e.from,e.to)}let de=r(!1),fe=r(!1),pe=r(!1),me=r([]);async function he(){if(a.workspace){pe.value=!0;try{let e=await fetch(`/api/workspaces/${a.workspace.id}/commits?limit=50`,{cache:`no-store`});if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();me.value=t.commits}catch(e){console.error(`[GitPanel] fetchCommits failed:`,e),me.value=[]}finally{pe.value=!1}}}async function ge(){fe.value=!fe.value,fe.value&&(pe.value=!0,await he())}let _e=r(!1),ye=r(!1),be=r([]);async function xe(){if(a.workspace){ye.value=!0;try{let e=await fetch(`/api/workspaces/${a.workspace.id}/working-tree-files`,{cache:`no-store`});if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();be.value=t.files}catch(e){console.error(`[GitPanel] fetchWorkingTreeFiles failed:`,e),be.value=[]}finally{ye.value=!1}}}function Ce(){_e.value=!_e.value,_e.value&&xe()}function we(e){l.chatDraft=e}function Te(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`})}let De=r(!1),Oe=r(null),Ae=r([]),Ne=r(!1),Fe=r(!1),Ie=r(!1),Le=r(!1),ze=r(null),Be=r(null),He=r(!1),Ue=r(!1),We=r(``),Ge=r(!1),Ke=r(``),qe=r(null),Je=r(!1);function Ze(e,t){Ke.value=e,qe.value=t,Ge.value=!0}async function Qe(){if(a.workspace){Je.value=!0;try{let e=await fetch(`/api/workspaces/${a.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`}),Ge.value=!1,yt()}catch(e){let t=e instanceof Error?e.message:`Abort failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{Je.value=!1}}}function $e(e){l.chatDraft=e,te.value=!1}let K=r(null),nt=r(!1),rt=f(()=>{if(!a.workspace?.projectPath)return`-`;let e=a.workspace.projectPath.replace(/\\/g,`/`).split(`/`);return e[e.length-1]||e[e.length-2]||`-`}),it=f(()=>{let e=a.workspace?.id;if(e)return l.prSnapshots[e]}),at={id:`none`,capabilities:{canCreatePr:!1,canChangePrBase:!1,canMergeRequest:!1,canDeleteRemoteBranch:!1,requestTermShort:`PR`},availability:{available:!1}},ot=f(()=>K.value?.forge??at),st=f(()=>ot.value.id===`gitlab`?`glab`:ot.value.id===`bitbucket-community`?`bkt`:`gh`),ct=f(()=>!(!K.value||ot.value.id===`none`||!ot.value.availability.available||K.value.unpushedCount===-1)),lt=f(()=>!!(K.value?.prUrl&&K.value.prState===`OPEN`&&it.value?.readyToMerge&&ot.value.capabilities.canMergeRequest&&ot.value.availability.available)),dt=f(()=>{let e=K.value?.workingTree;return e?e.staged+e.modified+e.untracked>0:!1}),ft=f(()=>{if(!K.value)return``;if(K.value.unpushedCount===-1)return s(`git.createPrNoRemote`);if(!ot.value.availability.available){let e=ot.value.availability.reason;return e===`cli_missing`?s(`git.forgeCliMissing`,{cli:st.value,request:ot.value.capabilities.requestTermShort}):e===`not_authenticated`?s(`git.forgeNotAuthenticated`,{cli:st.value}):s(`git.forgeCliMissing`,{cli:st.value,request:ot.value.capabilities.requestTermShort})}return``}),pt=f(()=>a.workspace?.worktreeOwned!==!1),mt=f(()=>{if(!a.workspace)return!1;let e=!!(K.value?.prUrl&&K.value.prState===`OPEN`);return pt.value||e||h.value}),ht=r(!1),gt=r(`ahead`);function _t(e){gt.value=e,ht.value=!0}let vt=null;async function yt(e={}){if(!a.workspace){K.value=null;return}vt?.abort();let t=new AbortController;vt=t;let n=a.workspace.id;nt.value=!0;try{let r=await l.fetchGitStats(n,{freshFetch:e.freshFetch,signal:t.signal});if(t.signal.aborted||a.workspace?.id!==n)return;K.value=r}catch(e){if(e?.name===`AbortError`)return;K.value=null}finally{vt===t&&(vt=null,nt.value=!1)}}async function bt(){let e=a.workspace?.id;e&&await Promise.allSettled([yt({freshFetch:!0}),l.refreshPrSnapshot(e)])}let St=null;N(()=>a.workspace?.id,(e,t)=>{vt?.abort(),St&&=(clearTimeout(St),null),e!==t&&(K.value=null,me.value=[],fe.value=!1,_e.value=!1,be.value=[],ye.value=!1),e&&yt({freshFetch:!0})},{immediate:!0}),N(()=>l.gitRefreshTrigger,()=>{St&&clearTimeout(St),St=setTimeout(()=>yt(),3e3)}),N(()=>{let e=a.workspace?.id;return e?l.gitStatsCache[e]:null},e=>{e&&(nt.value||(K.value=e))}),x(()=>{window.removeEventListener(`kobo:select-diff`,se),St&&=(clearTimeout(St),null),vt?.abort()}),b(()=>{window.addEventListener(`kobo:select-diff`,se)});function Ct(){let e=a.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)){de.value=!0;try{await l.renameWorkspaceBranch(e.id,n),c.notify({type:`positive`,message:s(`git.renameBranchSuccess`,{branch:n}),position:`top`}),yt()}catch(e){let t=e instanceof Ye&&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{de.value=!1}}})}function wt(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`)}async function Tt(e){if(a.workspace){y.value=!0;try{let t=e?.autostash?`?autostash=1`:``,n=await fetch(`/api/workspaces/${a.workspace.id}/rebase${t}`,{method:`POST`});if(n.status===409){let e=await n.json();if(e.code===`dirty_worktree`){At(`rebase`,e.status);return}kt(`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`}),yt()}catch(e){let t=e instanceof Error?e.message:s(`git.rebaseFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{y.value=!1}}}function Et(){a.workspace&&c.dialog({title:s(`git.rebaseConfirmTitle`),message:s(`git.rebaseConfirmMessage`,{branch:`<code class="git-branch-code">${wt(a.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(()=>{Tt()})}async function Dt(e){if(a.workspace){w.value=!0;try{let t=e?.autostash?`?autostash=1`:``,n=await fetch(`/api/workspaces/${a.workspace.id}/merge${t}`,{method:`POST`});if(n.status===409){let e=await n.json();if(e.code===`dirty_worktree`){At(`merge`,e.status);return}kt(`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`}),yt()}catch(e){let t=e instanceof Error?e.message:s(`git.mergeFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{w.value=!1}}}function Ot(){a.workspace&&c.dialog({title:s(`git.mergeConfirmTitle`),message:s(`git.mergeConfirmMessage`,{branch:`<code class="git-branch-code">${wt(a.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(()=>{Dt()})}function kt(e,t){Oe.value=e,Ae.value=t,De.value=!0}function At(e,t){ze.value=e,Be.value=t,Ue.value=!1,We.value=``,He.value=!1,Le.value=!0}async function jt(){if(!(!a.workspace||!R.value.trim())){z.value=!0;try{let e=await fetch(`/api/workspaces/${a.workspace.id}/git/commit-all`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({message:R.value.trim()})});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error??s(`git.commitFailed`))}ne.value=!1,R.value=``,await yt({freshFetch:!0})}catch(e){c.notify({type:`negative`,message:e instanceof Error?e.message:s(`git.commitFailed`),position:`top`,timeout:6e3})}finally{z.value=!1}}}async function Mt(){if(a.workspace){re.value=!0;try{let e=await fetch(`/api/workspaces/${a.workspace.id}/git/commit-with-agent`,{method:`POST`});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error??s(`git.commitFailed`))}ne.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{re.value=!1}}}function Nt(e){let t=ze.value;Le.value=!1,t===`rebase`?Tt(e):t===`merge`?Dt(e):t===`pull`&&Wt(e)}function Pt(){Nt({autostash:!0})}async function Ft(){if(!(!a.workspace||!We.value.trim())){He.value=!0;try{let e=await fetch(`/api/workspaces/${a.workspace.id}/git/commit-all`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({message:We.value.trim()})});if(!e.ok){let t=await e.json();throw Error(t.error??s(`git.commitFailed`))}Nt()}catch(e){let t=e instanceof Error?e.message:s(`git.commitFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{He.value=!1}}}function It(){a.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()=>{He.value=!0;try{let e=await fetch(`/api/workspaces/${a.workspace.id}/git/discard`,{method:`POST`});if(!e.ok){let t=await e.json();throw Error(t.error??s(`git.discardFailed`))}Nt()}catch(e){let t=e instanceof Error?e.message:s(`git.discardFailed`);c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{He.value=!1}})}async function Lt(){if(a.workspace){Ne.value=!0;try{let e=await fetch(`/api/workspaces/${a.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`}),De.value=!1,yt()}catch(e){let t=e instanceof Error?e.message:`Abort failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{Ne.value=!1}}}async function Rt(){if(a.workspace){Ie.value=!0;try{let e=await fetch(`/api/workspaces/${a.workspace.id}/git/continue`,{method:`POST`});if(!e.ok){let t=await e.json();throw Error(t.error??`Continue failed`)}c.notify({type:`positive`,message:s(`git.conflictContinued`),position:`top`}),De.value=!1,yt()}catch(e){let t=e instanceof Error?e.message:`Continue failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{Ie.value=!1}}}async function zt(){if(!(!a.workspace||!Oe.value)){Fe.value=!0;try{let e=await fetch(`/api/workspaces/${a.workspace.id}/git/resolve-with-agent`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({operation:Oe.value,files:Ae.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`}),De.value=!1}catch(e){let t=e instanceof Error?e.message:`Handoff failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{Fe.value=!1}}}let Bt=r(!1),Vt=r(!1);function Ht(){a.workspace&&(Vt.value=!1,Bt.value=!0)}async function Ut(){if(!a.workspace)return;let e=Vt.value;Bt.value=!1,_.value=!0;try{await l.pushBranch(a.workspace.id,{force:e}),c.notify({type:`positive`,message:s(e?`git.branchForcePushed`:`git.branchPushed`),position:`top`}),yt()}catch(e){let t=e instanceof Error?e.message:`Push failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{_.value=!1}}async function Wt(e){if(a.workspace){v.value=!0;try{let t=e?.autostash?`?autostash=1`:``,n=await fetch(`/api/workspaces/${a.workspace.id}/pull${t}`,{method:`POST`});if(n.status===409){let e=await n.json();if(e.code===`dirty_worktree`){At(`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`}),yt()}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 Gt(){a.workspace&&c.dialog({title:s(`git.pullConfirmTitle`),message:s(`git.pullConfirmMessage`,{branch:`<code class="git-branch-code">${wt(a.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(()=>{Wt()})}async function Kt(){if(a.workspace){T.value=!0;try{let e=await fetch(`/api/workspaces/${a.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`}),yt()}catch(e){let t=e instanceof Error?e.message:String(e);c.notify({type:`negative`,message:s(`git.fetchFailed`,{error:t}),position:`top`})}finally{T.value=!1}}}function qt(){K.value?.prUrl&&window.open(K.value.prUrl,`_blank`)}function Jt(){a.workspace&&c.dialog({title:s(`git.changePrBaseTitle`),message:s(`git.changePrBaseMessage`,{request:ot.value.capabilities.requestTermShort}),prompt:{model:a.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()||!a.workspace)){ee.value=!0;try{let t=await fetch(`/api/workspaces/${a.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:ot.value.capabilities.requestTermShort}),position:`top`}),yt()}catch(e){let t=e instanceof Error?e.message:s(`git.changePrBaseFailed`,{request:ot.value.capabilities.requestTermShort});c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{ee.value=!1}}})}function Yt(){if(!a.workspace||!lt.value)return;let e=ot.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(a.workspace){F.value=!0;try{let t=await fetch(`/api/workspaces/${a.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([yt({freshFetch:!0}),l.refreshPrSnapshot(a.workspace.id)]),n.merged&&ot.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 Xt(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{F.value=!1}}})}async function Xt(e){if(a.workspace)try{let t=await fetch(`/api/workspaces/${a.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 Zt=r(!1);function Qt(){a.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(a.workspace)try{let e=await fetch(`/api/workspaces/${a.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`}),yt()}catch(e){let t=e instanceof Error?e.message:`Failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}})}async function $t(){a.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()||!a.workspace)return;Zt.value=!0;let t=c.notify({group:!1,spinner:!0,message:s(`git.changeSourceBranchLoading`),position:`top`,timeout:je});try{let t=await fetch(`/api/workspaces/${a.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`?Ze(e,n.ongoingOperation):c.notify({type:`negative`,message:e,position:`top`,timeout:6e3});return}if(a.workspace&&l.updateWorkspaceFromEvent(a.workspace.id,{sourceBranch:e.trim()}),n.status===`conflict`)kt(`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&&Qt()}}catch(e){let t=e instanceof Error?e.message:`Failed`;c.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{t(),Zt.value=!1,yt()}})}async function en(){if(a.workspace){P.value=!0;try{let e=await l.openPullRequest(a.workspace.id);c.notify({type:`positive`,message:s(`git.prCreated`,{n:e.prNumber,request:ot.value.capabilities.requestTermShort}),caption:e.prUrl,position:`top`,timeout:5e3}),yt()}catch(e){if(e instanceof Ye&&e.code===`branch_not_pushed`){c.notify({type:`warning`,message:s(`git.pushFirst`),position:`top`,timeout:6e3});return}if(e instanceof Ye&&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{P.value=!1}}}return(t,r)=>(C(),O(`div`,Fr,[D(`div`,Ir,[D(`div`,Lr,o(t.$t(`git.title`)),1),e.workspace?(C(),g(U,{key:0,flat:``,round:``,dense:``,size:`xs`,icon:`refresh`,color:`grey-6`,loading:nt.value,onClick:bt},{default:M(()=>[j(q,null,{default:M(()=>[A(o(t.$t(`tooltip.refreshGitStats`)),1)]),_:1})]),_:1},8,[`loading`])):E(``,!0)]),e.workspace?(C(),O(u,{key:0},[nt.value&&!K.value?(C(),O(`div`,Rr,[j(ce,{size:`32px`,color:`indigo-4`})])):(C(),O(u,{key:1},[D(`div`,zr,[D(`div`,Br,o(t.$t(`git.section.repository`)),1),D(`div`,Vr,[j(H,{name:`folder`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),D(`span`,Hr,o(rt.value),1)]),D(`div`,Ur,[r[23]||=D(`span`,{style:{width:`8px`,height:`8px`,"border-radius":`50%`,"background-color":`#4ade80`,display:`inline-block`},class:`q-mr-xs`},null,-1),D(`span`,Wr,o(e.workspace.workingBranch),1)]),D(`div`,Gr,[A(o(e.workspace.sourceBranch)+` `,1),K.value?(C(),O(u,{key:0},[K.value.commitCount>0?(C(),O(`span`,{key:0,class:`cursor-pointer arrow-clickable`,style:{color:`#4ade80`},onClick:r[0]||=I(e=>_t(`ahead`),[`stop`])},` · ↑`+o(K.value.commitCount),1)):E(``,!0),K.value.behindCount>0?(C(),O(`span`,{key:1,class:`cursor-pointer arrow-clickable`,style:{color:`#f87171`},onClick:r[1]||=I(e=>_t(`behind`),[`stop`])},` · ↓`+o(K.value.behindCount),1)):E(``,!0),K.value.commitCount>0||K.value.behindCount>0?(C(),g(q,{key:2},{default:M(()=>[A(o(t.$t(`git.aheadBehindTooltip`,{ahead:K.value.commitCount,behind:K.value.behindCount,source:e.workspace.sourceBranch})),1)]),_:1})):E(``,!0),r[24]||=A(` · `,-1),K.value.unpushedCount===-1?(C(),O(`span`,Kr,o(t.$t(`git.localOnly`)),1)):K.value.unpushedCount===0?(C(),O(`span`,qr,o(t.$t(`git.pushed`)),1)):(C(),O(`span`,Jr,o(t.$t(`git.unpushed`,{count:K.value.unpushedCount})),1))],64)):E(``,!0)])]),K.value?(C(),O(`div`,Yr,[D(`div`,Xr,o(t.$t(`git.section.changes`)),1),D(`div`,Zr,[K.value.commitCount>0?(C(),O(`div`,{key:0,class:`row items-center commit-toggle cursor-pointer`,onClick:ge},[j(H,{name:`commit`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),D(`span`,Qr,o(t.$t(`git.commits`,{count:K.value.commitCount},K.value.commitCount)),1),pe.value?(C(),g(ce,{key:0,size:`12px`,color:`indigo-4`,class:`q-ml-xs`})):(C(),g(H,{key:1,name:fe.value?`expand_less`:`expand_more`,size:`14px`,color:`grey-6`,class:`q-ml-xs`},null,8,[`name`]))])):(C(),O(`div`,$r,[j(H,{name:`commit`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),D(`span`,ei,o(t.$t(`git.commits`,{count:0},0)),1)])),K.value.filesChanged>0?(C(),O(`div`,ti,[j(H,{name:`insert_drive_file`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),D(`span`,ni,o(K.value.filesChanged),1),K.value.insertions>0?(C(),O(`span`,ri,`+`+o(K.value.insertions),1)):E(``,!0),K.value.deletions>0?(C(),O(`span`,ii,`-`+o(K.value.deletions),1)):E(``,!0)])):E(``,!0),K.value.workingTree&&(K.value.workingTree.staged>0||K.value.workingTree.modified>0||K.value.workingTree.untracked>0)?(C(),O(`div`,{key:3,class:`row items-center cursor-pointer`,onClick:Ce},[j(H,{name:`edit_note`,size:`14px`,color:`grey-6`,class:`q-mr-xs`}),K.value.workingTree.staged>0?(C(),O(`span`,ai,o(K.value.workingTree.staged)+`s`,1)):E(``,!0),K.value.workingTree.modified>0?(C(),O(`span`,oi,o(K.value.workingTree.modified)+`m`,1)):E(``,!0),K.value.workingTree.untracked>0?(C(),O(`span`,si,o(K.value.workingTree.untracked)+`u`,1)):E(``,!0),ye.value?(C(),g(ce,{key:3,size:`12px`,color:`indigo-4`,class:`q-ml-xs`})):(C(),g(H,{key:4,name:_e.value?`expand_less`:`expand_more`,size:`14px`,color:`grey-6`,class:`q-ml-xs`},null,8,[`name`])),j(q,null,{default:M(()=>[A(o(t.$t(`git.staged`,{count:K.value.workingTree.staged}))+` · `+o(t.$t(`git.modified`,{count:K.value.workingTree.modified}))+` · `+o(t.$t(`git.untracked`,{count:K.value.workingTree.untracked})),1)]),_:1})])):E(``,!0)]),fe.value?(C(),O(`div`,ci,[me.value.length>0?(C(),O(`div`,li,[j(U,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`difference`,color:`grey-5`,label:t.$t(`git.compareCommits`),onClick:r[2]||=e=>ie.value=!0},null,8,[`label`])])):E(``,!0),pe.value?(C(),O(`div`,ui,[j(ce,{size:`xs`,class:`q-mr-xs`}),A(o(t.$t(`git.commits.loading`)),1)])):me.value.length===0?(C(),O(`div`,di,o(t.$t(`git.commits.empty`)),1)):(C(!0),O(u,{key:3},k(me.value,e=>(C(),O(`div`,{key:e.sha,class:`commit-item row no-wrap items-center cursor-pointer`,onClick:t=>we(e.sha)},[j(H,{name:e.isPushed?`cloud_done`:`cloud_upload`,size:`12px`,color:e.isPushed?`grey-6`:`orange-5`,class:`q-mr-xs commit-item-icon`},null,8,[`name`,`color`]),D(`span`,pi,o(e.shortSha),1),D(`span`,mi,o(e.subject),1),j(U,{flat:``,dense:``,round:``,size:`xs`,icon:`difference`,color:`grey-6`,class:`commit-diff-btn q-ml-xs`,onClick:I(t=>le(`${e.sha}^`,e.sha),[`stop`])},{default:M(()=>[j(q,{anchor:`top middle`,self:`bottom middle`},{default:M(()=>[A(o(t.$t(`git.commits.diffThisCommit`)),1)]),_:1})]),_:1},8,[`onClick`]),j(q,{anchor:`top middle`,self:`bottom middle`,class:`commit-tooltip`},{default:M(()=>[D(`div`,hi,[D(`div`,null,[D(`code`,null,o(e.sha),1)]),D(`div`,gi,o(e.author)+` · `+o(Te(e.date)),1),D(`div`,_i,o(e.isPushed?t.$t(`git.commits.pushed`):t.$t(`git.commits.unpushed`))+` · `+o(t.$t(`git.commits.clickToAppend`)),1)])]),_:2},1024)],8,fi))),128))])):E(``,!0),_e.value?(C(),O(`div`,vi,[ye.value?(C(),O(`div`,yi,[j(ce,{size:`xs`,class:`q-mr-xs`}),A(o(t.$t(`git.commits.loading`)),1)])):be.value.length===0?(C(),O(`div`,bi,o(t.$t(`git.workingTreeEmpty`)),1)):(C(!0),O(u,{key:2},k(be.value,e=>(C(),O(`div`,{key:e.path,class:`commit-item row no-wrap items-center`},[e.staged?(C(),O(`span`,xi,[r[25]||=A(`s`,-1),j(q,null,{default:M(()=>[A(o(t.$t(`git.fileStaged`)),1)]),_:1})])):E(``,!0),e.modified?(C(),O(`span`,Si,[r[26]||=A(`m`,-1),j(q,null,{default:M(()=>[A(o(t.$t(`git.fileModified`)),1)]),_:1})])):E(``,!0),e.untracked?(C(),O(`span`,Ci,[r[27]||=A(`u`,-1),j(q,null,{default:M(()=>[A(o(t.$t(`git.fileUntracked`)),1)]),_:1})])):E(``,!0),D(`span`,wi,o(e.path),1)]))),128))])):E(``,!0)])):E(``,!0),e.workspace&&K.value?(C(),O(`div`,Ti,[D(`div`,Ei,o(t.$t(`git.section.actions`)),1),ot.value.id===`none`?E(``,!0):(C(),O(u,{key:0},[K.value?.prUrl&&K.value.prState===`OPEN`?(C(),g(U,{key:0,"no-caps":``,unelevated:``,dense:``,size:`sm`,color:`green-7`,icon:`open_in_new`,label:t.$t(`git.viewRequest`,{request:ot.value.capabilities.requestTermShort}),class:`full-width q-mb-xs`,onClick:qt},null,8,[`label`])):(C(),g(U,{key:1,"no-caps":``,unelevated:``,dense:``,size:`sm`,color:`indigo-5`,icon:`open_in_new`,label:t.$t(`git.createRequest`,{request:ot.value.capabilities.requestTermShort}),class:`full-width q-mb-xs`,loading:P.value,disable:!e.workspace||_.value||!ct.value||p.value,onClick:en},{default:M(()=>[!ct.value&&ft.value?(C(),g(q,{key:0},{default:M(()=>[A(o(ft.value),1)]),_:1})):E(``,!0)]),_:1},8,[`label`,`loading`,`disable`]))],64)),lt.value?(C(),g(U,{key:1,"no-caps":``,unelevated:``,dense:``,size:`sm`,color:`deep-orange-7`,icon:`merge`,label:t.$t(`git.mergeRequest`,{request:ot.value.capabilities.requestTermShort}),class:`full-width q-mb-xs`,loading:F.value,disable:p.value,onClick:Yt},null,8,[`label`,`loading`,`disable`])):E(``,!0),dt.value?(C(),g(U,{key:2,"no-caps":``,unelevated:``,dense:``,size:`sm`,color:`green-7`,icon:`commit`,label:t.$t(`git.commitChanges`),class:`full-width q-mb-xs`,disable:p.value,onClick:r[3]||=e=>ne.value=!0},null,8,[`label`,`disable`])):E(``,!0),D(`div`,Di,[K.value?(C(),O(`div`,Oi,[j(jn,{split:``,dense:``,"no-caps":``,size:`sm`,outline:``,color:`grey-5`,icon:`sync`,label:t.$t(`git.sync`),class:`full-width git-btn`,loading:v.value||y.value||w.value||T.value,disable:!e.workspace||_.value||p.value,onClick:r[4]||=e=>K.value.unpushedCount===-1?Et():Gt()},{default:M(()=>[j(xt,{dark:``,dense:``,style:{"min-width":`140px`}},{default:M(()=>[L((C(),g(G,{clickable:``,disable:v.value||y.value||w.value||K.value.unpushedCount===-1||p.value,onClick:Gt},{default:M(()=>[j(W,{avatar:``,style:{"min-width":`28px`}},{default:M(()=>[j(H,{name:`download`,size:`16px`,color:`grey-5`})]),_:1}),j(W,null,{default:M(()=>[A(o(t.$t(`git.pull`)),1)]),_:1}),K.value.unpushedCount===-1?(C(),g(q,{key:0},{default:M(()=>[A(o(t.$t(`git.pullNoUpstream`)),1)]),_:1})):E(``,!0)]),_:1},8,[`disable`])),[[ut]]),L((C(),g(G,{clickable:``,disable:v.value||y.value||w.value||p.value,onClick:Et},{default:M(()=>[j(W,{avatar:``,style:{"min-width":`28px`}},{default:M(()=>[j(H,{name:`replay`,size:`16px`,color:`orange-4`})]),_:1}),j(W,null,{default:M(()=>[A(o(t.$t(`git.rebase`)),1)]),_:1})]),_:1},8,[`disable`])),[[ut]]),L((C(),g(G,{clickable:``,disable:v.value||y.value||w.value||p.value,onClick:Ot},{default:M(()=>[j(W,{avatar:``,style:{"min-width":`28px`}},{default:M(()=>[j(H,{name:`merge`,size:`16px`,color:`purple-4`})]),_:1}),j(W,null,{default:M(()=>[A(o(t.$t(`git.merge`)),1)]),_:1})]),_:1},8,[`disable`])),[[ut]]),L((C(),g(G,{clickable:``,disable:v.value||y.value||w.value||T.value||p.value,onClick:Kt},{default:M(()=>[j(W,{avatar:``,style:{"min-width":`28px`}},{default:M(()=>[j(H,{name:`cloud_download`,size:`16px`,color:`grey-5`})]),_:1}),j(W,null,{default:M(()=>[A(o(t.$t(`git.fetch`)),1)]),_:1})]),_:1},8,[`disable`])),[[ut]])]),_:1})]),_:1},8,[`label`,`loading`,`disable`])])):E(``,!0),K.value?.unpushedCount===0?E(``,!0):(C(),O(`div`,ki,[j(U,{dense:``,"no-caps":``,size:`sm`,outline:``,color:`orange-5`,icon:`upload`,label:t.$t(`git.push`),class:`full-width git-btn`,loading:_.value,disable:!e.workspace||P.value||v.value||y.value||p.value,onClick:Ht},{default:M(()=>[j(q,{anchor:`bottom middle`,self:`top middle`,delay:400},{default:M(()=>[A(o(t.$t(`git.push`)),1)]),_:1})]),_:1},8,[`label`,`loading`,`disable`])])),D(`div`,Ai,[j(U,{dense:``,"no-caps":``,size:`sm`,outline:``,color:`indigo-4`,icon:`rate_review`,label:t.$t(`git.diffReview`),class:`full-width git-btn`,disable:!e.workspace,onClick:r[5]||=e=>oe(!0)},{default:M(()=>[j(q,{anchor:`bottom middle`,self:`top middle`,delay:400},{default:M(()=>[A(o(t.$t(`git.diffReviewTooltip`)),1)]),_:1})]),_:1},8,[`label`,`disable`])]),mt.value?(C(),O(`div`,ji,[j(U,{dense:``,flat:``,size:`sm`,color:`grey-5`,icon:`more_horiz`,class:`git-btn`},{default:M(()=>[j(tt,null,{default:M(()=>[j(xt,{dark:``,dense:``,style:{"min-width":`160px`}},{default:M(()=>[pt.value?L((C(),g(G,{key:0,clickable:``,disable:de.value||p.value,onClick:Ct},{default:M(()=>[j(W,{avatar:``,style:{"min-width":`28px`}},{default:M(()=>[j(H,{name:`edit`,size:`16px`,color:`grey-5`})]),_:1}),j(W,null,{default:M(()=>[A(o(t.$t(`git.renameBranch`)),1)]),_:1})]),_:1},8,[`disable`])),[[ut]]):E(``,!0),K.value?.prUrl&&K.value.prState===`OPEN`?L((C(),g(G,{key:1,clickable:``,disable:ee.value||p.value,onClick:Jt},{default:M(()=>[j(W,{avatar:``,style:{"min-width":`28px`}},{default:M(()=>[j(H,{name:`swap_horiz`,size:`16px`,color:`grey-5`})]),_:1}),j(W,null,{default:M(()=>[A(o(t.$t(`git.changeRequestBase`,{request:ot.value.capabilities.requestTermShort})),1)]),_:1})]),_:1},8,[`disable`])),[[ut]]):E(``,!0),h.value?L((C(),g(G,{key:2,clickable:``,disable:Zt.value||p.value,onClick:$t},{default:M(()=>[j(W,{avatar:``,style:{"min-width":`28px`}},{default:M(()=>[j(H,{name:`alt_route`,size:`16px`,color:`grey-5`})]),_:1}),j(W,null,{default:M(()=>[A(o(t.$t(`git.changeSourceBranch`)),1)]),_:1})]),_:1},8,[`disable`])),[[ut]]):E(``,!0)]),_:1})]),_:1}),j(q,null,{default:M(()=>[A(o(t.$t(`git.actions.more`)),1)]),_:1})]),_:1})])):E(``,!0)])])):E(``,!0),it.value&&it.value.state===`OPEN`?(C(),O(`div`,Mi,[D(`div`,Ni,o(t.$t(`git.section.pullRequest`)),1),j(Mr,{snapshot:it.value},null,8,[`snapshot`])])):E(``,!0)],64))],64)):(C(),O(`div`,Pi,o(t.$t(`common.selectWorkspace`)),1)),j(Ee,{modelValue:Bt.value,"onUpdate:modelValue":r[7]||=e=>Bt.value=e},{default:M(()=>[j(Se,{dark:``,style:{"min-width":`360px`,"max-width":`480px`}},{default:M(()=>[j(Re,null,{default:M(()=>[D(`div`,Fi,o(t.$t(`git.pushConfirmTitle`)),1),D(`div`,Ii,[A(o(t.$t(`git.pushConfirmMessagePrefix`))+` `,1),D(`code`,Li,o(e.workspace?.workingBranch??``),1),A(` `+o(t.$t(`git.pushConfirmMessageSuffix`)),1)])]),_:1}),j(Re,{class:`q-pt-none`},{default:M(()=>[j(Ve,{modelValue:Vt.value,"onUpdate:modelValue":r[6]||=e=>Vt.value=e,label:t.$t(`git.forcePushToggle`),color:`orange-6`,dense:``},null,8,[`modelValue`,`label`]),D(`div`,Ri,o(t.$t(`git.forcePushHint`)),1)]),_:1}),j(ke,{align:`right`},{default:M(()=>[L(j(U,{flat:``,label:t.$t(`common.cancel`),color:`grey-5`},null,8,[`label`]),[[ut]]),j(U,{flat:``,label:Vt.value?t.$t(`git.forcePush`):t.$t(`git.push`),color:Vt.value?`orange-4`:`grey-5`,onClick:Ut},null,8,[`label`,`color`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),j(Ee,{modelValue:ne.value,"onUpdate:modelValue":r[10]||=e=>ne.value=e,persistent:``},{default:M(()=>[j(Se,{dark:``,style:{"min-width":`420px`,"max-width":`600px`}},{default:M(()=>[j(Re,null,{default:M(()=>[D(`div`,zi,[j(H,{name:`commit`,color:`green-5`,class:`q-mr-xs`}),A(` `+o(t.$t(`git.commitDialogTitle`)),1)]),D(`div`,Bi,o(t.$t(`git.commitDialogDescription`)),1)]),_:1}),j(Re,{class:`q-pt-none`},{default:M(()=>[j(ve,{modelValue:R.value,"onUpdate:modelValue":r[8]||=e=>R.value=e,dark:``,dense:``,autofocus:``,label:t.$t(`git.commitMessage`),disable:z.value||re.value,onKeyup:m(jt,[`enter`])},null,8,[`modelValue`,`label`,`disable`])]),_:1}),j(ke,{align:`right`},{default:M(()=>[j(U,{flat:``,"no-caps":``,label:t.$t(`common.cancel`),color:`grey-5`,disable:z.value||re.value,onClick:r[9]||=e=>ne.value=!1},null,8,[`label`,`disable`]),j(U,{flat:``,"no-caps":``,icon:`smart_toy`,color:`indigo-4`,label:t.$t(`git.commitWithAgent`),loading:re.value,disable:z.value,onClick:Mt},null,8,[`label`,`loading`,`disable`]),j(U,{unelevated:``,"no-caps":``,icon:`commit`,color:`green-7`,label:t.$t(`git.commitManual`),loading:z.value,disable:!R.value.trim()||re.value,onClick:jt},null,8,[`label`,`loading`,`disable`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),j(Ee,{modelValue:De.value,"onUpdate:modelValue":r[12]||=e=>De.value=e,persistent:``},{default:M(()=>[j(Se,{dark:``,style:{"min-width":`420px`,"max-width":`600px`}},{default:M(()=>[j(Re,null,{default:M(()=>[D(`div`,Vi,[j(H,{name:`warning`,class:`q-mr-xs`}),A(` `+o(Ae.value.length===0?t.$t(`git.operationPausedTitle`):Oe.value===`merge`?t.$t(`git.conflictTitleMerge`):t.$t(`git.conflictTitleRebase`)),1)]),D(`div`,Hi,o(Ae.value.length===0?t.$t(`git.operationPausedSubtitle`):t.$t(`git.conflictSubtitle`,{count:Ae.value.length})),1)]),_:1}),Ae.value.length>0?(C(),g(Re,{key:0,class:`q-pt-none`},{default:M(()=>[j(xt,{dense:``,dark:``},{default:M(()=>[(C(!0),O(u,null,k(Ae.value,e=>(C(),g(G,{key:e},{default:M(()=>[j(W,{side:``},{default:M(()=>[j(H,{name:`insert_drive_file`,size:`xs`})]),_:1}),j(W,null,{default:M(()=>[D(`div`,Ui,o(e),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})):E(``,!0),j(ke,{align:`right`},{default:M(()=>[j(U,{flat:``,"no-caps":``,label:t.$t(`common.cancel`),color:`grey-5`,disable:Ne.value||Fe.value||Ie.value,onClick:r[11]||=e=>De.value=!1},null,8,[`label`,`disable`]),j(U,{flat:``,"no-caps":``,color:`red-4`,icon:`undo`,label:t.$t(`git.conflictAbort`),loading:Ne.value,disable:Fe.value||Ie.value,onClick:Lt},null,8,[`label`,`loading`,`disable`]),Ae.value.length===0?(C(),g(U,{key:0,unelevated:``,"no-caps":``,color:`primary`,icon:`play_arrow`,label:t.$t(`git.conflictContinue`),loading:Ie.value,disable:Ne.value,onClick:Rt},null,8,[`label`,`loading`,`disable`])):E(``,!0),Ae.value.length>0?(C(),g(U,{key:1,unelevated:``,"no-caps":``,color:`primary`,icon:`smart_toy`,label:t.$t(`git.conflictResolveWithAgent`),loading:Fe.value,disable:Ne.value,onClick:zt},null,8,[`label`,`loading`,`disable`])):E(``,!0)]),_:1})]),_:1})]),_:1},8,[`modelValue`]),j(Ee,{modelValue:Le.value,"onUpdate:modelValue":r[16]||=e=>Le.value=e,persistent:``},{default:M(()=>[j(Se,{dark:``,style:{"min-width":`420px`,"max-width":`600px`}},{default:M(()=>[j(Re,null,{default:M(()=>[D(`div`,Wi,[j(H,{name:`warning`,class:`q-mr-xs`}),A(` `+o(ze.value===`merge`?t.$t(`git.dirtyTitleMerge`):ze.value===`pull`?t.$t(`git.dirtyTitlePull`):t.$t(`git.dirtyTitleRebase`)),1)]),D(`div`,Gi,o(t.$t(`git.dirtySubtitle`,{modified:Be.value?.modified??0,staged:Be.value?.staged??0,untracked:Be.value?.untracked??0})),1)]),_:1}),Ue.value?(C(),g(Re,{key:0,class:`q-pt-none`},{default:M(()=>[j(ve,{modelValue:We.value,"onUpdate:modelValue":r[13]||=e=>We.value=e,dark:``,dense:``,autofocus:``,placeholder:t.$t(`git.dirtyCommitPlaceholder`),disable:He.value,onKeyup:m(Ft,[`enter`])},null,8,[`modelValue`,`placeholder`,`disable`])]),_:1})):E(``,!0),j(ke,{align:`right`},{default:M(()=>[j(U,{flat:``,"no-caps":``,label:t.$t(`common.cancel`),color:`grey-5`,disable:He.value,onClick:r[14]||=e=>Le.value=!1},null,8,[`label`,`disable`]),j(U,{flat:``,"no-caps":``,color:`red-4`,icon:`delete_forever`,label:t.$t(`git.dirtyDiscard`),loading:He.value,disable:He.value,onClick:It},null,8,[`label`,`loading`,`disable`]),Ue.value?(C(),g(U,{key:0,unelevated:``,"no-caps":``,color:`grey-7`,icon:`check`,label:t.$t(`git.dirtyCommitConfirm`),loading:He.value,disable:!We.value.trim(),onClick:Ft},null,8,[`label`,`loading`,`disable`])):(C(),O(u,{key:1},[j(U,{flat:``,"no-caps":``,color:`grey-5`,icon:`edit`,label:t.$t(`git.dirtyCommit`),disable:He.value,onClick:r[15]||=e=>Ue.value=!0},null,8,[`label`,`disable`]),j(U,{unelevated:``,"no-caps":``,color:`primary`,icon:`inventory_2`,label:t.$t(`git.dirtyStash`),disable:He.value,onClick:Pt},null,8,[`label`,`disable`])],64))]),_:1})]),_:1})]),_:1},8,[`modelValue`]),j(Ee,{modelValue:Ge.value,"onUpdate:modelValue":r[18]||=e=>Ge.value=e,persistent:``},{default:M(()=>[j(Se,{dark:``,style:{"min-width":`420px`,"max-width":`600px`}},{default:M(()=>[j(Re,null,{default:M(()=>[D(`div`,Ki,[j(H,{name:`error`,class:`q-mr-xs`}),A(` `+o(t.$t(`git.changeSourceBranchErrorTitle`)),1)]),D(`div`,qi,o(t.$t(`git.changeSourceBranchErrorOngoing`,{op:qe.value})),1)]),_:1}),j(Re,{class:`q-pt-none`},{default:M(()=>[D(`div`,Ji,o(Ke.value),1)]),_:1}),j(ke,{align:`right`},{default:M(()=>[j(U,{flat:``,"no-caps":``,label:t.$t(`common.close`),color:`grey-5`,disable:Je.value,onClick:r[17]||=e=>Ge.value=!1},null,8,[`label`,`disable`]),j(U,{unelevated:``,"no-caps":``,color:`red-5`,icon:`undo`,label:t.$t(`git.changeSourceBranchErrorAbort`),loading:Je.value,onClick:Qe},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),j(Ee,{modelValue:te.value,"onUpdate:modelValue":r[20]||=e=>te.value=e,maximized:``},{default:M(()=>[e.workspace?(C(),g(n(i),{key:e.workspace.id,"workspace-id":e.workspace.id,"initial-review-mode":B.value,"compare-from":ae.value,"compare-to":V.value,onClose:r[19]||=e=>te.value=!1,onSendToChat:$e},null,8,[`workspace-id`,`initial-review-mode`,`compare-from`,`compare-to`])):E(``,!0)]),_:1},8,[`modelValue`]),e.workspace?(C(),g(Pr,{key:2,modelValue:ie.value,"onUpdate:modelValue":r[21]||=e=>ie.value=e,commits:me.value,"source-branch":e.workspace.sourceBranch,onCompare:ue},null,8,[`modelValue`,`commits`,`source-branch`])):E(``,!0),e.workspace&&K.value?(C(),g(er,{key:3,modelValue:ht.value,"onUpdate:modelValue":r[22]||=e=>ht.value=e,"workspace-id":e.workspace.id,"initial-tab":gt.value,"ahead-count":K.value.commitCount,"behind-count":K.value.behindCount,"source-branch":e.workspace.sourceBranch,"working-branch":e.workspace.workingBranch,onAppendSha:we},null,8,[`modelValue`,`workspace-id`,`initial-tab`,`ahead-count`,`behind-count`,`source-branch`,`working-branch`])):E(``,!0)]))}}),[[`__scopeId`,`data-v-fe9ad47d`]]),Xi=`kobo:pwa-install-banner-dismissed`;function Zi(){return localStorage.getItem(Xi)===`1`}function Qi(){localStorage.setItem(Xi,`1`)}var $i={class:`text-caption col`},ea=ht(l({__name:`PwaStatusBanner`,setup(e){let t=r(null),n=r(Zi()),i=r(!navigator.onLine),a=r(!1),s=ze(),c=f(()=>!i.value&&s.reconnecting),l=r(null),u;function d(){document.documentElement.style.setProperty(`--kobo-pwa-banner-height`,`${l.value?.offsetHeight??0}px`)}N([i,c,t,n,a],()=>{T(d)});let p,m=!1;function h(e){e.preventDefault(),t.value=e}function v(){i.value=!navigator.onLine}async function y(){let e=t.value;e&&(await e.prompt(),await e.userChoice,t.value=null)}function x(){Qi(),n.value=!0,t.value=null}function S(){p?.waiting&&(m=!0,p.waiting.postMessage({type:`SKIP_WAITING`}))}return b(async()=>{window.addEventListener(`beforeinstallprompt`,h),window.addEventListener(`online`,v),window.addEventListener(`offline`,v),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()}),a.value=!!p.waiting,p.addEventListener(`updatefound`,()=>{let e=p?.installing;e&&e.addEventListener(`statechange`,()=>{e.state===`installed`&&navigator.serviceWorker.controller&&(a.value=!0)})})))}),_(()=>{window.removeEventListener(`beforeinstallprompt`,h),window.removeEventListener(`online`,v),window.removeEventListener(`offline`,v),u?.disconnect(),document.documentElement.style.removeProperty(`--kobo-pwa-banner-height`)}),(e,r)=>i.value||c.value||t.value&&!n.value||a.value?(C(),O(`div`,{key:0,ref_key:`bannerRef`,ref:l,class:`pwa-status-banner row items-center q-gutter-sm q-px-md q-py-sm`},[j(H,{name:i.value?`cloud_off`:c.value?`sync`:a.value?`system_update`:`install_mobile`,size:`18px`,color:`indigo-3`},null,8,[`name`]),D(`span`,$i,o(i.value?e.$t(`pwa.offline`):c.value?e.$t(`pwa.reconnecting`):a.value?e.$t(`pwa.updateReady`):e.$t(`pwa.installReady`)),1),t.value&&!n.value?(C(),g(U,{key:0,dense:``,flat:``,"no-caps":``,color:`indigo-3`,label:e.$t(`pwa.install`),onClick:y},null,8,[`label`])):E(``,!0),t.value&&!n.value?(C(),g(U,{key:1,dense:``,flat:``,"no-caps":``,color:`indigo-3`,label:e.$t(`pwa.ignore`),onClick:x},null,8,[`label`])):E(``,!0),a.value?(C(),g(U,{key:2,dense:``,flat:``,"no-caps":``,color:`indigo-3`,label:e.$t(`pwa.reload`),onClick:S},null,8,[`label`])):E(``,!0)],512)):E(``,!0)}}),[[`__scopeId`,`data-v-d2d83299`]]);function ta(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} * *`}}function na(e){return Math.max(1,Math.floor(e))>1}var ra={class:`column q-pa-md q-gutter-lg`},ia={class:`row items-center no-wrap q-gutter-sm`},aa={class:`schedule-header__icon`},oa={class:`text-subtitle1 text-weight-medium`},sa={class:`text-caption text-grey-6`},ca={class:`row items-center justify-between q-mb-sm`},la={class:`text-subtitle2`},ua={class:`text-body2 text-weight-medium`},da={class:`text-caption text-grey-6`},fa={key:1,class:`column q-gutter-sm`},pa={class:`row items-start no-wrap q-gutter-sm`},ma={class:`schedule-item__icon schedule-item__icon--wakeup`},ha={class:`col min-width-zero`},ga={class:`text-caption text-grey-6`},_a={class:`text-body2 text-weight-medium`},va={key:0,class:`prompt-preview schedule-item__prompt`},ya={class:`row items-start no-wrap q-gutter-sm`},ba={class:`schedule-item__icon schedule-item__icon--cron`},xa={class:`col min-width-zero`},Sa={class:`text-body2 text-weight-medium ellipsis`},Ca={class:`text-caption text-grey-6`},wa={class:`row items-center q-gutter-xs q-mt-sm`},Ta={key:0,class:`text-caption text-grey-7`},Ea={class:`prompt-preview schedule-item__prompt`},Da={class:`row items-center justify-between q-mb-sm`},Oa={class:`text-subtitle2`},ka={class:`text-caption text-grey-7`},Aa={class:`text-body2 text-weight-medium`},ja={class:`text-caption text-grey-6`},Ma={class:`column q-gutter-y-xs`},Na={class:`field-label`},Pa={class:`text-body2 text-weight-medium`},Fa={class:`text-caption text-grey-6`},Ia={class:`column q-gutter-y-xs`},La={class:`field-label`},Ra={class:`row items-center no-wrap q-gutter-sm`},za={class:`text-body2 text-grey-5`},Ba={key:0,class:`text-caption text-warning`},Va={class:`column q-gutter-y-xs`},Ha={class:`field-label`},Ua={class:`one-shot-option row items-center justify-between no-wrap q-pa-sm`},Wa={class:`text-body2`},Ga={class:`text-caption text-grey-7`},Ka=ht(l({__name:`SchedulePanel`,props:{workspaceId:{}},setup(e){let i=e,{t:a}=t(),s=et(),c=Pe(),l=f(()=>c.pendingWakeups[i.workspaceId]??null),d=f(()=>c.crons[i.workspaceId]??[]),p=f(()=>d.value.length+ +!!l.value);N(()=>i.workspaceId,e=>{e&&c.fetchCrons(e)},{immediate:!0});function m(e){return new Date(e).toLocaleString(void 0,{weekday:`short`,day:`numeric`,month:`short`,hour:`2-digit`,minute:`2-digit`})}function h(e){let t=Date.now()-new Date(e).getTime();if(Number.isNaN(t)||t<0)return`—`;let n=new Intl.RelativeTimeFormat(void 0,{numeric:`auto`}),r=Math.floor(t/1e3);if(r<60)return n.format(-r,`second`);let i=Math.floor(r/60);if(i<60)return n.format(-i,`minute`);let a=Math.floor(i/60);return a<24?n.format(-a,`hour`):n.format(-Math.floor(a/24),`day`)}async function _(){try{let e=await fetch(`/api/workspaces/${i.workspaceId}/pending-wakeup`,{method:`DELETE`});if(!e.ok)throw Error(`HTTP ${e.status}`)}catch(e){s.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}async function v(e){try{await c.cancelCron(i.workspaceId,e)}catch(e){s.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}let y=r(`wakeup`),b=r(15),x=r(`minutes`),S=r(``),w=r(``),T=r(``),P=r(`fresh`),ee=r(!1),F=r(!1),te=f(()=>[{label:a(`schedule.typeWakeup`),value:`wakeup`,icon:`alarm`},{label:a(`schedule.typeRecurring`),value:`cron`,icon:`event_repeat`}]),I=f(()=>[{label:a(`schedule.modeFresh`),value:`fresh`,icon:`add_comment`},{label:a(`schedule.modeResume`),value:`resume`,icon:`history`}]),L=f(()=>[{label:a(`schedule.unitMinutes`),value:`minutes`},{label:a(`schedule.unitHours`),value:`hours`},{label:a(`schedule.unitDays`),value:`days`}]);async function ne(){if(!(!w.value.trim()||F.value)){F.value=!0;try{let e=S.value.trim()||ta(x.value,b.value);await c.createCron(i.workspaceId,{expression:e,prompt:w.value,label:T.value.trim()||void 0,mode:P.value,oneShot:ee.value}),w.value=``,T.value=``,S.value=``,s.notify({type:`positive`,message:a(`schedule.cronCreated`),position:`top`,timeout:2500})}catch(e){s.notify({type:`negative`,message:String(e instanceof Error?e.message:e),position:`top`,timeout:5e3})}finally{F.value=!1}}}let R=r(15),z=r(``),re=r(`fresh`),B=r(!1);async function ie(){if(!(!z.value.trim()||!(R.value>0)||B.value)){B.value=!0;try{await c.scheduleManualWakeup(i.workspaceId,{delaySeconds:Math.round(R.value*60),prompt:z.value,mode:re.value}),z.value=``,s.notify({type:`positive`,message:a(`schedule.wakeupCreated`),position:`top`,timeout:2500})}catch(e){s.notify({type:`negative`,message:String(e instanceof Error?e.message:e),position:`top`,timeout:5e3})}finally{B.value=!1}}}return(e,t)=>(C(),O(`div`,ra,[D(`header`,ia,[D(`div`,aa,[j(H,{name:`calendar_month`,size:`22px`})]),D(`div`,null,[D(`div`,oa,o(e.$t(`schedule.panelTitle`)),1),D(`div`,sa,o(e.$t(`schedule.panelDescription`)),1)])]),D(`section`,null,[D(`div`,ca,[D(`div`,la,o(e.$t(`schedule.activeTitle`)),1),p.value>0?(C(),g(gt,{key:0,rounded:``,color:`indigo-5`,label:p.value},null,8,[`label`])):E(``,!0)]),p.value===0?(C(),g(Se,{key:0,dark:``,flat:``,bordered:``,class:`empty-state row items-center q-gutter-sm q-pa-md`},{default:M(()=>[j(H,{name:`event_available`,size:`24px`,color:`grey-6`}),D(`div`,null,[D(`div`,ua,o(e.$t(`schedule.emptyTitle`)),1),D(`div`,da,o(e.$t(`schedule.emptyDescription`)),1)])]),_:1})):(C(),O(`div`,fa,[l.value?(C(),g(Se,{key:0,dark:``,flat:``,bordered:``,class:`schedule-item schedule-item--wakeup`},{default:M(()=>[j(Re,null,{default:M(()=>[D(`div`,pa,[D(`div`,ma,[j(H,{name:`alarm`,size:`18px`})]),D(`div`,ha,[D(`div`,ga,o(e.$t(`schedule.wakeupTitle`)),1),D(`div`,_a,o(m(l.value.targetAt)),1)]),j(U,{flat:``,dense:``,round:``,icon:`delete_outline`,size:`sm`,color:`grey-5`,title:e.$t(`schedule.cancelWakeup`),onClick:_},null,8,[`title`])]),l.value.reason?(C(),O(`div`,va,o(l.value.reason),1)):E(``,!0)]),_:1})]),_:1})):E(``,!0),(C(!0),O(u,null,k(d.value,t=>(C(),g(Se,{key:t.id,dark:``,flat:``,bordered:``,class:`schedule-item`},{default:M(()=>[j(Re,null,{default:M(()=>[D(`div`,ya,[D(`div`,ba,[j(H,{name:`event_repeat`,size:`18px`})]),D(`div`,xa,[D(`div`,Sa,o(t.label||t.expression),1),D(`div`,Ca,o(e.$t(`schedule.nextFireAt`,{time:m(t.nextFireAt)})),1)]),j(U,{flat:``,dense:``,round:``,icon:`delete_outline`,size:`sm`,color:`grey-5`,title:e.$t(`schedule.cancelCron`),onClick:e=>v(t.id)},null,8,[`title`,`onClick`])]),D(`div`,wa,[j(vt,{dense:``,square:``,color:`blue-grey-9`,"text-color":`grey-4`,size:`sm`},{default:M(()=>[A(o(t.expression),1)]),_:2},1024),t.lastFiredAt?(C(),O(`span`,Ta,o(e.$t(`schedule.lastFiredAt`,{time:h(t.lastFiredAt)})),1)):E(``,!0)]),D(`div`,Ea,o(t.prompt),1)]),_:2},1024)]),_:2},1024))),128))]))]),D(`section`,null,[D(`div`,Da,[D(`div`,null,[D(`div`,Oa,o(e.$t(`schedule.createTitle`)),1),D(`div`,ka,o(e.$t(`schedule.createDescription`)),1)])]),j(Se,{dark:``,flat:``,bordered:``,class:`create-card`},{default:M(()=>[j(bt,{modelValue:y.value,"onUpdate:modelValue":t[0]||=e=>y.value=e,spread:``,"no-caps":``,unelevated:``,"toggle-color":`indigo-5`,color:`blue-grey-10`,"text-color":`grey-5`,options:te.value,class:`type-toggle`},null,8,[`modelValue`,`options`]),y.value===`wakeup`?(C(),g(Re,{key:0,class:`column q-gutter-y-md`},{default:M(()=>[D(`div`,null,[D(`div`,Aa,o(e.$t(`schedule.addWakeupTitle`)),1),D(`div`,ja,o(e.$t(`schedule.wakeupDescription`)),1)]),j(ve,{modelValue:R.value,"onUpdate:modelValue":t[1]||=e=>R.value=e,modelModifiers:{number:!0},type:`number`,dense:``,dark:``,outlined:``,min:`1`,label:e.$t(`schedule.delayMinutes`)},{prepend:M(()=>[j(H,{name:`timer`,size:`18px`})]),_:1},8,[`modelValue`,`label`]),j(ve,{modelValue:z.value,"onUpdate:modelValue":t[2]||=e=>z.value=e,type:`textarea`,autogrow:``,dense:``,dark:``,outlined:``,label:e.$t(`schedule.promptLabel`),hint:e.$t(`schedule.promptHint`)},null,8,[`modelValue`,`label`,`hint`]),D(`div`,Ma,[D(`div`,Na,o(e.$t(`schedule.sessionModeTitle`)),1),j(bt,{modelValue:re.value,"onUpdate:modelValue":t[3]||=e=>re.value=e,spread:``,"no-caps":``,unelevated:``,"toggle-color":`blue-grey-7`,color:`transparent`,"text-color":`grey-5`,options:I.value,class:`session-toggle`},null,8,[`modelValue`,`options`])]),j(U,{"no-caps":``,unelevated:``,color:`indigo-5`,icon:`alarm_add`,loading:B.value,disable:!z.value.trim()||!(R.value>0),label:e.$t(`schedule.addWakeupBtn`),class:`full-width action-button`,onClick:ie},null,8,[`loading`,`disable`,`label`])]),_:1})):(C(),g(Re,{key:1,class:`column q-gutter-y-md`},{default:M(()=>[D(`div`,null,[D(`div`,Pa,o(e.$t(`schedule.addCronTitle`)),1),D(`div`,Fa,o(e.$t(`schedule.cronDescription`)),1)]),j(ve,{modelValue:T.value,"onUpdate:modelValue":t[4]||=e=>T.value=e,dense:``,dark:``,outlined:``,label:e.$t(`schedule.labelOptional`)},null,8,[`modelValue`,`label`]),D(`div`,Ia,[D(`div`,La,o(e.$t(`schedule.frequencyTitle`)),1),D(`div`,Ra,[D(`span`,za,o(e.$t(`schedule.every`)),1),j(ve,{modelValue:b.value,"onUpdate:modelValue":t[5]||=e=>b.value=e,modelModifiers:{number:!0},type:`number`,dense:``,dark:``,outlined:``,min:`1`,class:`frequency-value`},null,8,[`modelValue`]),j(nt,{modelValue:x.value,"onUpdate:modelValue":t[6]||=e=>x.value=e,options:L.value,dense:``,dark:``,outlined:``,"options-dense":``,"emit-value":``,"map-options":``,class:`col min-width-zero`},null,8,[`modelValue`,`options`])]),x.value===`days`&&n(na)(b.value)?(C(),O(`div`,Ba,o(e.$t(`schedule.daysDriftWarning`)),1)):E(``,!0)]),j(ve,{modelValue:w.value,"onUpdate:modelValue":t[7]||=e=>w.value=e,type:`textarea`,autogrow:``,dense:``,dark:``,outlined:``,label:e.$t(`schedule.promptLabel`),hint:e.$t(`schedule.promptHint`)},null,8,[`modelValue`,`label`,`hint`]),j(rt,{dense:``,"dense-toggle":``,"switch-toggle-side":``,icon:`code`,label:e.$t(`schedule.advancedExpression`),caption:e.$t(`schedule.advancedDescription`),class:`advanced-section`},{default:M(()=>[j(ve,{modelValue:S.value,"onUpdate:modelValue":t[8]||=e=>S.value=e,dense:``,dark:``,outlined:``,label:e.$t(`schedule.cronExpressionLabel`),hint:e.$t(`schedule.advancedHint`),class:`q-mt-sm`},null,8,[`modelValue`,`label`,`hint`])]),_:1},8,[`label`,`caption`]),D(`div`,Va,[D(`div`,Ha,o(e.$t(`schedule.sessionModeTitle`)),1),j(bt,{modelValue:P.value,"onUpdate:modelValue":t[9]||=e=>P.value=e,spread:``,"no-caps":``,unelevated:``,"toggle-color":`blue-grey-7`,color:`transparent`,"text-color":`grey-5`,options:I.value,class:`session-toggle`},null,8,[`modelValue`,`options`])]),D(`div`,Ua,[D(`div`,null,[D(`div`,Wa,o(e.$t(`schedule.oneShot`)),1),D(`div`,Ga,o(e.$t(`schedule.oneShotHint`)),1)]),j(Ve,{modelValue:ee.value,"onUpdate:modelValue":t[10]||=e=>ee.value=e,dense:``},null,8,[`modelValue`])]),j(U,{"no-caps":``,unelevated:``,color:`indigo-5`,icon:`add_task`,loading:F.value,disable:!w.value.trim(),label:e.$t(`schedule.addCronBtn`),class:`full-width action-button`,onClick:ne},null,8,[`loading`,`disable`,`label`])]),_:1}))]),_:1})])]))}}),[[`__scopeId`,`data-v-29886145`]]),qa={class:`q-pa-sm`},Ja={class:`row items-center q-mb-sm`},Ya={class:`text-subtitle2`},Xa={key:0,class:`row items-center q-gutter-sm q-mt-xs text-caption text-grey-6`},Za={key:0,class:`text-negative`},Qa=l({__name:`SessionTimelinePanel`,props:{workspaceId:{}},setup(e){let t=e,n=Pe(),i=f(()=>n.sessions),a=r([]),s=f(()=>new Map(a.value.map(e=>[e.sessionId,e]))),c=null,l=0;function d(){c&&clearTimeout(c),c=setTimeout(()=>void p(),350)}async function p(){c=null;let e=++l;try{let n=await fetch(`/api/workspaces/${t.workspaceId}/session-metrics`);if(!n.ok||e!==l)return;let r=await n.json();e===l&&(a.value=r.metrics??[])}catch{e===l&&(a.value=[])}}N(()=>[t.workspaceId,n.sessions.length,n.activityFeeds[t.workspaceId]?.length??0],d,{immediate:!0}),_(()=>{c&&clearTimeout(c)});function m(e){n.selectSession(e)}function h(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 y(){let e=await fetch(`/api/workspaces/${t.workspaceId}/diagnostic.json`);if(!e.ok)return;let n=URL.createObjectURL(await e.blob()),r=document.createElement(`a`);r.href=n,r.download=`kobo-diagnostic.json`,r.click(),URL.revokeObjectURL(n)}return(e,t)=>(C(),O(`div`,qa,[D(`div`,Ja,[D(`span`,Ya,o(e.$t(`timeline.title`)),1),j(_t),j(U,{flat:``,dense:``,round:``,icon:`download`,"aria-label":e.$t(`timeline.export`),onClick:y},null,8,[`aria-label`])]),j(xt,{dark:``,dense:``},{default:M(()=>[(C(!0),O(u,null,k(i.value,t=>(C(),g(G,{key:t.id,clickable:``,onClick:e=>m(t.id)},{default:M(()=>[j(W,null,{default:M(()=>[j(K,null,{default:M(()=>[A(o(t.name||t.model||e.$t(`timeline.unnamed`)),1)]),_:2},1024),j(K,{caption:``},{default:M(()=>[A(o(t.status)+` · `+o(h(t)),1)]),_:2},1024),s.value.get(t.id)?(C(),O(`div`,Xa,[D(`span`,null,[j(H,{name:`build`,size:`13px`,class:`q-mr-xs`}),A(o(e.$t(`timeline.tools`,{count:s.value.get(t.id)?.toolCalls??0})),1)]),D(`span`,null,[j(H,{name:`token`,size:`13px`,class:`q-mr-xs`}),A(o(v(s.value.get(t.id))),1)]),(s.value.get(t.id)?.errors??0)>0?(C(),O(`span`,Za,[j(H,{name:`error_outline`,size:`13px`,class:`q-mr-xs`}),A(o(e.$t(`timeline.errors`,{count:s.value.get(t.id)?.errors??0})),1)])):E(``,!0)])):E(``,!0)]),_:2},1024)]),_:2},1032,[`onClick`]))),128))]),_:1})]))}}),$a={class:`subagents-panel q-pa-md`},eo={class:`text-caption text-uppercase text-weight-bold text-grey-6 q-mb-sm`,style:{"letter-spacing":`0.05em`}},to={key:0,class:`text-caption text-grey-8`},no={class:`row items-center q-mb-xs`},ro={class:`text-caption text-weight-medium text-grey-3 ellipsis`,style:{"max-width":`220px`}},io={key:0,class:`text-caption text-grey-6`,style:{"font-size":`10px`}},ao={class:`text-grey-4`},oo={class:`row items-center q-gutter-xs q-mt-xs text-caption text-grey-7`,style:{"font-size":`10px`}},so={key:0},co={key:1},lo={key:2},uo=ht(l({__name:`SubagentsPanel`,setup(e){let{t:n}=t(),r=Pe(),i=f(()=>[...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 s(e){return e?e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e):``}return(e,t)=>(C(),O(`div`,$a,[D(`div`,eo,o(e.$t(`subagents.title`)),1),i.value.length===0?(C(),O(`div`,to,o(e.$t(`subagents.empty`)),1)):E(``,!0),(C(!0),O(u,null,k(i.value,t=>(C(),O(`div`,{key:t.toolUseId,class:`subagent-item q-mb-sm rounded-borders q-pa-sm`},[D(`div`,no,[j(H,{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`]),D(`span`,ro,o(t.description||t.toolUseId),1)]),t.lastToolName?(C(),O(`div`,io,[A(o(e.$t(`subagents.running`)),1),D(`span`,ao,o(t.lastToolName),1)])):E(``,!0),D(`div`,oo,[t.toolUses===void 0?E(``,!0):(C(),O(`span`,so,o(e.$t(`subagents.tools`,{count:t.toolUses})),1)),t.totalTokens?(C(),O(`span`,co,`· `+o(s(t.totalTokens))+` tok`,1)):E(``,!0),t.durationMs?(C(),O(`span`,lo,`· `+o(a(t.durationMs)),1)):E(``,!0)])]))),128))]))}}),[[`__scopeId`,`data-v-dd805632`]]),fo={class:`notion-panel q-pa-md`},po={class:`row items-center q-mb-sm`},mo={class:`text-caption text-uppercase text-weight-bold text-grey-6`,style:{"letter-spacing":`0.05em`}},ho={key:0,class:`q-mb-sm`},go={class:`text-caption text-grey-7`,style:{"font-size":`11px`}},_o={key:1,class:`text-caption text-grey-8 q-mb-sm`,style:{"font-size":`11px`}},vo={key:2,class:`task-add-row row items-center q-mb-xs`},yo={key:3,class:`tasks-list`},bo=[`onDblclick`],xo={key:1,class:`text-caption text-grey-8`},So=ht(l({__name:`TasksPanel`,props:{workspace:{},tasks:{}},setup(e){let n=e,{t:a}=t(),s=Pe(),l=ze();function d(){n.workspace?.id&&kt(n.workspace.id,l,s)}let p=f(()=>n.tasks.filter(e=>!e.isAcceptanceCriterion)),h=f(()=>p.value.filter(e=>e.status===`done`).length),_=f(()=>p.value.length),v=f(()=>_.value>0?h.value/_.value:0),y=r(!1),b=r(``),x=r(null),S=r(``),w=r({});function N(e,t){if(t){let n=t.$el??t;w.value[e]=n}else delete w.value[e]}function P(){y.value||(y.value=!0,b.value=``)}async function ee(){let e=b.value.trim();if(!(!e||!n.workspace?.id))try{await s.createTask(n.workspace.id,e,!1),b.value=``,y.value=!1}catch{}}function F(){b.value=``,y.value=!1}function te(e){x.value=e.id,S.value=e.title,T(()=>{let t=w.value[e.id]?.querySelector(`input, textarea`);t?.focus(),t?.select()})}async function L(e){if(x.value!==e.id)return;let t=S.value.trim(),r=e.id;if(x.value=null,!(!t||t===e.title)&&n.workspace?.id)try{await s.updateTaskTitle(n.workspace.id,r,t)}catch{}}function ne(){x.value=null,S.value=``}async function R(e){if(n.workspace?.id)try{await s.deleteTask(n.workspace.id,e.id)}catch{}}async function z(e){if(!n.workspace?.id)return;let t=e.status===`done`?`pending`:`done`,r=e.workspaceId;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}`);s.fetchWorkspaceDetails(r)}catch(e){console.error(`Failed to toggle task:`,e)}}function re(e){switch(e){case`done`:return`check_circle`;case`in_progress`:return`timelapse`;default:return`radio_button_unchecked`}}function B(e){switch(e){case`done`:return`#4ade80`;case`in_progress`:return`#f59e0b`;default:return`#888`}}return(t,n)=>(C(),O(`div`,fo,[D(`div`,po,[D(`div`,mo,o(t.$t(`tasks.title`)),1),j(_t),e.workspace?(C(),g(U,{key:0,flat:``,dense:``,round:``,size:`xs`,icon:`fact_check`,color:`grey-5`,onClick:d},{default:M(()=>[j(q,null,{default:M(()=>[A(o(t.$t(`tasks.askProgress`)),1)]),_:1})]),_:1})):E(``,!0),e.workspace?(C(),g(U,{key:1,flat:``,dense:``,round:``,size:`xs`,icon:`add`,color:`indigo-4`,onClick:P},{default:M(()=>[j(q,null,{default:M(()=>[A(o(t.$t(`tooltip.addTask`)),1)]),_:1})]),_:1})):E(``,!0)]),e.workspace?(C(),O(u,{key:0},[_.value>0?(C(),O(`div`,ho,[j(Te,{value:v.value,color:`primary`,"track-color":`grey-9`,class:`q-mb-xs`,style:{height:`4px`,"border-radius":`2px`}},null,8,[`value`]),D(`div`,go,o(t.$t(`notion.subtasks`,{done:h.value,total:_.value})),1)])):y.value?E(``,!0):(C(),O(`div`,_o,o(t.$t(`notion.noTasks`)),1)),y.value?(C(),O(`div`,vo,[j(ve,{modelValue:b.value,"onUpdate:modelValue":n[0]||=e=>b.value=e,dark:``,dense:``,borderless:``,autofocus:``,placeholder:t.$t(`notion.newTask`),class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[m(I(ee,[`prevent`]),[`enter`]),m(I(F,[`prevent`]),[`esc`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])):E(``,!0),p.value.length>0?(C(),O(`div`,yo,[(C(!0),O(u,null,k(p.value,e=>(C(),O(`div`,{key:e.id,class:`task-item row items-center q-py-xxs`},[j(H,{name:re(e.status),size:`14px`,style:i({color:B(e.status)}),class:`q-mr-xs cursor-pointer`,onClick:t=>z(e)},null,8,[`name`,`style`,`onClick`]),x.value===e.id?(C(),g(ve,{key:0,ref_for:!0,ref:t=>N(e.id,t),modelValue:S.value,"onUpdate:modelValue":n[1]||=e=>S.value=e,dark:``,dense:``,borderless:``,class:`col task-input`,"input-class":`task-input-inner`,onKeydown:[m(I(t=>L(e),[`prevent`]),[`enter`]),m(I(ne,[`prevent`]),[`esc`])],onBlur:t=>L(e)},null,8,[`modelValue`,`onKeydown`,`onBlur`])):(C(),O(u,{key:1},[D(`span`,{class:c([`col task-title text-caption`,{"text-strike":e.status===`done`}]),style:i({color:e.status===`done`?`#4ade80`:`#ccc`}),onDblclick:t=>te(e)},o(e.title),47,bo),j(U,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-6`,class:`task-delete-btn`,onClick:t=>R(e)},{default:M(()=>[j(q,null,{default:M(()=>[A(o(t.$t(`tooltip.removeTask`)),1)]),_:1})]),_:1},8,[`onClick`])],64))]))),128))])):E(``,!0)],64)):(C(),O(`div`,xo,o(t.$t(`common.selectWorkspace`)),1))]))}}),[[`__scopeId`,`data-v-1c700ac7`]]),Co=2,wo=1,To=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(Co,Math.floor(u/e.css.cell.width)),rows:Math.max(wo,Math.floor(l/e.css.cell.height))}}},Eo=Object.defineProperty,Do=Object.getOwnPropertyDescriptor,Oo=(e,t)=>{for(var n in t)Eo(e,n,{get:t[n],enumerable:!0})},ko=(e,t,n,r)=>{for(var i=r>1?void 0:r?Do(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&&Eo(t,n,i),i},J=(e,t)=>(n,r)=>t(n,r,e),Ao=`Terminal input`,jo={get:()=>Ao,set:e=>Ao=e},Mo=`Too much output to announce, navigate to rows manually to read`,No={get:()=>Mo,set:e=>Mo=e};function Po(e){return e.replace(/\r?\n/g,`\r`)}function Fo(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function Io(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function Lo(e,t,n,r){e.stopPropagation(),e.clipboardData&&Ro(e.clipboardData.getData(`text/plain`),t,n,r)}function Ro(e,t,n,r){e=Po(e),e=Fo(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function zo(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 Bo(e,t,n,r,i){zo(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function Vo(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function Ho(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 Uo=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}},Wo=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}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}},Go=``,Ko=` `,qo=class e{constructor(){this.fg=0,this.bg=0,this.extended=new Jo}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)}isBgDefault(){return!(this.bg&50331648)}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):this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},Jo=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}},Yo=class e extends qo{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new Jo,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?Vo(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()]}},Xo=`di$target`,Zo=`di$dependencies`,Qo=new Map;function $o(e){return e[Zo]||[]}function es(e){if(Qo.has(e))return Qo.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);ts(t,e,r)};return t._id=e,Qo.set(e,t),t}function ts(e,t,n){t[Xo]===t?t[Zo].push({id:e,index:n}):(t[Zo]=[{id:e,index:n}],t[Xo]=t)}var ns=es(`BufferService`),rs=es(`CoreMouseService`),is=es(`CoreService`),as=es(`CharsetService`),os=es(`InstantiationService`),ss=es(`LogService`),cs=es(`OptionsService`),ls=es(`OscLinkService`),us=es(`UnicodeService`),ds=es(`DecorationService`),fs=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 Yo,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}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):ps(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)}};fs=ko([J(0,ns),J(1,cs),J(2,ls)],fs);function ps(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 ms=es(`CharSizeService`),hs=es(`CoreBrowserService`),gs=es(`MouseService`),_s=es(`RenderService`),vs=es(`SelectionService`),ys=es(`CharacterJoinerService`),bs=es(`ThemeService`),xs=es(`LinkProviderService`),Ss=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?Os.isErrorNoTelemetry(e)?new Os(e.message+`
5
5